/doc/ @ceph/doc-writers
README* @ceph/doc-writers
*.rst @ceph/doc-writers
+
+# core
+/doc/man/8/ceph-authtool.rst @ceph/core
+/doc/man/8/ceph-conf.rst @ceph/core
+/doc/man/8/ceph-create-keys.rst @ceph/core
+/doc/man/8/ceph-kvstore-tool.rst @ceph/core
+/doc/man/8/ceph-mon.rst @ceph/core
+/doc/man/8/ceph-objectstore-tool.rst @ceph/core
+/doc/man/8/ceph-osd.rst @ceph/core
+/doc/man/8/ceph.rst @ceph/core
+/doc/man/8/crushtool.rst @ceph/core
+/doc/man/8/monmaptool.rst @ceph/core
+/doc/man/8/rados.rst @ceph/core
+/doc/rados @ceph/core
+/qa/standalone @ceph/core
+/qa/suites/rados @ceph/core
+/qa/workunits/erasure-code @ceph/core
+/qa/workunits/mgr @ceph/core
+/qa/workunits/mon @ceph/core
+/qa/workunits/objectstore @ceph/core
+/qa/workunits/rados @ceph/core
+/src/ceph.in @ceph/core
+/src/ceph_osd.cc @ceph/core
+/src/ceph_mon.cc @ceph/core
+/src/blk @ceph/core
+/src/crush @ceph/core
+/src/erasure-code @ceph/core
+/src/kv @ceph/core
+/src/librados @ceph/core
+/src/mgr @ceph/core
+/src/mon @ceph/core
+/src/msg @ceph/core
+/src/os @ceph/core
+/src/osd @ceph/core
+/src/tools/rados @ceph/core
+/src/test/osd @ceph/core
+
+# rbd
+/doc/dev/rbd* @ceph/rbd
+/doc/man/8/ceph-rbdnamer.rst @ceph/rbd
+/doc/man/8/rbd* @ceph/rbd
+/doc/rbd @ceph/rbd
+/doc/start/quick-rbd.rst @ceph/rbd
+/qa/rbd @ceph/rbd
+/qa/run_xfstests* @ceph/rbd
+/qa/suites/krbd @ceph/rbd
+/qa/suites/rbd @ceph/rbd
+/qa/tasks/ceph_iscsi_client.py @ceph/rbd
+/qa/tasks/metadata.yaml @ceph/rbd
+/qa/tasks/qemu.py @ceph/rbd
+/qa/tasks/rbd* @ceph/rbd
+/qa/tasks/userdata* @ceph/rbd
+/qa/workunits/cls/test_cls_journal.sh @ceph/rbd
+/qa/workunits/cls/test_cls_lock.sh @ceph/rbd
+/qa/workunits/cls/test_cls_rbd.sh @ceph/rbd
+/qa/workunits/rbd @ceph/rbd
+/src/ceph-rbdnamer @ceph/rbd
+/src/cls/journal @ceph/rbd
+/src/cls/lock @ceph/rbd
+/src/cls/rbd @ceph/rbd
+/src/common/options/rbd* @ceph/rbd
+/src/etc-rbdmap @ceph/rbd
+/src/include/krbd.h @ceph/rbd
+/src/include/rbd* @ceph/rbd
+/src/journal @ceph/rbd
+/src/krbd.cc @ceph/rbd
+/src/librbd @ceph/rbd
+/src/ocf @ceph/rbd
+/src/pybind/mgr/rbd_support @ceph/rbd
+/src/pybind/rbd @ceph/rbd
+/src/rbd* @ceph/rbd
+/src/test/cli/rbd @ceph/rbd
+/src/test/cli-integration/rbd @ceph/rbd
+/src/test/cls_journal @ceph/rbd
+/src/test/cls_lock @ceph/rbd
+/src/test/cls_rbd @ceph/rbd
+/src/test/journal @ceph/rbd
+/src/test/librbd @ceph/rbd
+/src/test/pybind/test_rbd.py @ceph/rbd
+/src/test/rbd* @ceph/rbd
+/src/test/run-rbd* @ceph/rbd
+/src/test/test_rbd* @ceph/rbd
+/src/tools/rbd* @ceph/rbd
+/systemd/rbdmap.service.in @ceph/rbd
+/udev/50-rbd.rules @ceph/rbd
- src/pybind/mgr/ceph_module.pyi
- src/pybind/mgr/mgr_module.py
- src/pybind/mgr/mgr_util.py
+ - src/pybind/mgr/object_format.py
- src/pybind/mgr/requirements.txt
- src/pybind/mgr/tox.ini
- src/test/mgr/**
with:
sync-labels: ''
repo-token: "${{ secrets.GITHUB_TOKEN }}"
+ - name: Assign to Dashboard project
+ uses: srggrs/assign-one-project-github-action@65a8ddab497df42ef268001e67bbf976f8fd39e1
+ if: contains(github.event.pull_request.labels.*.name, 'dashboard')
+ with:
+ project: https://github.com/ceph/ceph/projects/6
- name: Assign milestone based on target brach name
uses: iyu/actions-milestone@dbf7e5348844c9ddc6b803a5721b85fa70fe3bb9
with:
configuration-path: .github/milestone.yml
repo-token: "${{ secrets.GITHUB_TOKEN }}"
- - name: Assign to Dashboard project
- uses: srggrs/assign-one-project-github-action@65a8ddab497df42ef268001e67bbf976f8fd39e1
- if: contains(github.event.pull_request.labels.*.name, 'dashboard')
- with:
- project: https://github.com/ceph/ceph/projects/6
cmake_minimum_required(VERSION 3.16)
project(ceph
- VERSION 17.2.0
+ VERSION 17.2.1
LANGUAGES CXX C ASM)
cmake_policy(SET CMP0028 NEW)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
+if(NOT CMAKE_BUILD_TYPE AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
+ set(default_build_type "Debug")
+ set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
+ STRING "Default BUILD_TYPE is Debug, other options are: RelWithDebInfo, Release, and MinSizeRel." FORCE)
+endif()
+
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
set(LINUX ON)
FIND_PACKAGE(Threads)
option(WITH_RADOSGW_SELECT_PARQUET "Support for s3 select on parquet objects" ON)
option(WITH_SYSTEM_ARROW "Use system-provided arrow" OFF)
-option(WITH_SYSTEM_UTF8PROC "Use system-provided utf8proc" ON)
+option(WITH_SYSTEM_UTF8PROC "Use system-provided utf8proc" OFF)
if(WITH_RADOSGW)
find_package(EXPAT REQUIRED)
if(NOT WIN32)
# Please specify 3.[0-7] if you want to build with a certain version of python3.
set(WITH_PYTHON3 "3" CACHE STRING "build with specified python3 version")
-if(NOT WITH_PYTHON3 STREQUAL "3")
- set(find_python3_exact "EXACT")
-endif()
-find_package(Python3 ${WITH_PYTHON3} ${find_python3_exact} REQUIRED
+find_package(Python3 ${WITH_PYTHON3} EXACT REQUIRED
COMPONENTS Interpreter Development)
-unset(find_python3_exact)
option(WITH_MGR "ceph-mgr is enabled" ON)
if(WITH_MGR)
+>=17.2.1
+
+* The "BlueStore zero block detection" feature (first introduced to Quincy in
+https://github.com/ceph/ceph/pull/43337) has been turned off by default with a
+new global configuration called `bluestore_zero_block_detection`. This feature,
+intended for large-scale synthetic testing, does not interact well with some RBD
+and CephFS features. Any side effects experienced in previous Quincy versions
+would no longer occur, provided that the configuration remains set to false.
+Relevant tracker: https://tracker.ceph.com/issues/55521
+
+* telemetry: Added new Rook metrics to the 'basic' channel to report Rook's
+ version, Kubernetes version, node metrics, etc.
+ See a sample report with `ceph telemetry preview`.
+ Opt-in with `ceph telemetry on`.
+
+ For more details, see:
+
+ https://docs.ceph.com/en/latest/mgr/telemetry/
+
>=17.0.0
* Filestore has been deprecated in Quincy, considering that BlueStore has been
sphinxcontrib-openapi
sphinxcontrib-seqdiag
mistune < 2.0.0
+natsort
%bcond_with rbd_rwl_cache
%endif
%if 0%{?fedora} || 0%{?rhel}
+%if 0%{?rhel} < 9
%bcond_with system_pmdk
+%else
+%bcond_without system_pmdk
+%endif
%bcond_without selinux
%if 0%{?rhel} >= 8
%bcond_with cephfs_java
%endif
%endif
+%if 0%{with seastar}
+# disable -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1, as gcc-toolset-{9,10}-annobin
+# do not provide gcc-annobin.so anymore, despite that they provide annobin.so. but
+# redhat-rpm-config still passes -fplugin=gcc-annobin to the compiler.
+%undefine _annotated_build
+%endif
+
#################################################################################
# main package definition
#################################################################################
Name: ceph
-Version: 17.2.0
+Version: 17.2.1
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
Group: System/Filesystems
%endif
URL: http://ceph.com/
-Source0: %{?_remote_tarball_prefix}ceph-17.2.0.tar.bz2
+Source0: %{?_remote_tarball_prefix}ceph-17.2.1.tar.bz2
%if 0%{?suse_version}
# _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x
BuildRequires: jq
BuildRequires: libuuid-devel
BuildRequires: python%{python3_pkgversion}-bcrypt
-BuildRequires: python%{python3_pkgversion}-nose
BuildRequires: python%{python3_pkgversion}-pecan
BuildRequires: python%{python3_pkgversion}-requests
BuildRequires: python%{python3_pkgversion}-dateutil
%if 0%{with zbd}
BuildRequires: libzbd-devel
%endif
+%if 0%{?suse_version}
+BuildRequires: libthrift-devel >= 0.13.0
+%else
BuildRequires: thrift-devel >= 0.13.0
+%endif
BuildRequires: re2-devel
%if 0%{with jaeger}
BuildRequires: bison
BuildRequires: mozilla-nss-devel
BuildRequires: keyutils-devel
BuildRequires: libopenssl-devel
+BuildRequires: ninja
BuildRequires: openldap2-devel
#BuildRequires: krb5
#BuildRequires: krb5-devel
BuildRequires: keyutils-libs-devel
BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel
+BuildRequires: ninja-build
BuildRequires: openldap-devel
#BuildRequires: krb5-devel
BuildRequires: openssl-devel
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: golang-github-prometheus
BuildRequires: libtool-ltdl-devel
-BuildRequires: ninja-build
BuildRequires: xmlsec1
BuildRequires: xmlsec1-devel
%ifarch x86_64
BuildRequires: libxmlsec1-1
BuildRequires: libxmlsec1-nss1
BuildRequires: libxmlsec1-openssl1
-BuildRequires: ninja
BuildRequires: python%{python3_pkgversion}-CherryPy
BuildRequires: python%{python3_pkgversion}-PyJWT
BuildRequires: python%{python3_pkgversion}-Routes
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-asyncssh
+Requires: python%{python3_pkgversion}-natsort
Requires: cephadm = %{_epoch_prefix}%{version}-%{release}
%if 0%{?suse_version}
Requires: openssh
# common
#################################################################################
%prep
-%autosetup -p1 -n ceph-17.2.0
+%autosetup -p1 -n ceph-17.2.1
%build
# Disable lto on systems that do not support symver attribute
%if 0%{with system_arrow}
-DWITH_SYSTEM_ARROW:BOOL=ON \
%endif
-%if 0%{without system_utf8proc}
- -DWITH_SYSTEM_UTF8PROC:BOOL=OFF \
+%if 0%{with system_utf8proc}
+ -DWITH_SYSTEM_UTF8PROC:BOOL=ON \
%endif
-DWITH_GRAFANA:BOOL=ON
%clean
rm -rf %{buildroot}
+# built binaries are no longer necessary at this point,
+# but are consuming ~17GB of disk in the build environment
+rm -rf %{_vpath_builddir}
#################################################################################
# files and systemd scriptlets
%{_mandir}/man8/cephadm.8*
%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm
%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh
-%attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys
+%config(noreplace) %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys
%files common
%dir %{_docdir}/ceph
%dir %{_datadir}/ceph/mgr
%{_datadir}/ceph/mgr/mgr_module.*
%{_datadir}/ceph/mgr/mgr_util.*
+%{_datadir}/ceph/mgr/object_format.*
%{_unitdir}/ceph-mgr@.service
%{_unitdir}/ceph-mgr.target
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr
%bcond_with rbd_rwl_cache
%endif
%if 0%{?fedora} || 0%{?rhel}
+%if 0%{?rhel} < 9
%bcond_with system_pmdk
+%else
+%bcond_without system_pmdk
+%endif
%bcond_without selinux
%if 0%{?rhel} >= 8
%bcond_with cephfs_java
%endif
%endif
+%if 0%{with seastar}
+# disable -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1, as gcc-toolset-{9,10}-annobin
+# do not provide gcc-annobin.so anymore, despite that they provide annobin.so. but
+# redhat-rpm-config still passes -fplugin=gcc-annobin to the compiler.
+%undefine _annotated_build
+%endif
+
#################################################################################
# main package definition
#################################################################################
BuildRequires: jq
BuildRequires: libuuid-devel
BuildRequires: python%{python3_pkgversion}-bcrypt
-BuildRequires: python%{python3_pkgversion}-nose
BuildRequires: python%{python3_pkgversion}-pecan
BuildRequires: python%{python3_pkgversion}-requests
BuildRequires: python%{python3_pkgversion}-dateutil
%if 0%{with zbd}
BuildRequires: libzbd-devel
%endif
+%if 0%{?suse_version}
+BuildRequires: libthrift-devel >= 0.13.0
+%else
BuildRequires: thrift-devel >= 0.13.0
+%endif
BuildRequires: re2-devel
%if 0%{with jaeger}
BuildRequires: bison
BuildRequires: mozilla-nss-devel
BuildRequires: keyutils-devel
BuildRequires: libopenssl-devel
+BuildRequires: ninja
BuildRequires: openldap2-devel
#BuildRequires: krb5
#BuildRequires: krb5-devel
BuildRequires: keyutils-libs-devel
BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel
+BuildRequires: ninja-build
BuildRequires: openldap-devel
#BuildRequires: krb5-devel
BuildRequires: openssl-devel
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: golang-github-prometheus
BuildRequires: libtool-ltdl-devel
-BuildRequires: ninja-build
BuildRequires: xmlsec1
BuildRequires: xmlsec1-devel
%ifarch x86_64
BuildRequires: libxmlsec1-1
BuildRequires: libxmlsec1-nss1
BuildRequires: libxmlsec1-openssl1
-BuildRequires: ninja
BuildRequires: python%{python3_pkgversion}-CherryPy
BuildRequires: python%{python3_pkgversion}-PyJWT
BuildRequires: python%{python3_pkgversion}-Routes
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-asyncssh
+Requires: python%{python3_pkgversion}-natsort
Requires: cephadm = %{_epoch_prefix}%{version}-%{release}
%if 0%{?suse_version}
Requires: openssh
%if 0%{with system_arrow}
-DWITH_SYSTEM_ARROW:BOOL=ON \
%endif
-%if 0%{without system_utf8proc}
- -DWITH_SYSTEM_UTF8PROC:BOOL=OFF \
+%if 0%{with system_utf8proc}
+ -DWITH_SYSTEM_UTF8PROC:BOOL=ON \
%endif
-DWITH_GRAFANA:BOOL=ON
%clean
rm -rf %{buildroot}
+# built binaries are no longer necessary at this point,
+# but are consuming ~17GB of disk in the build environment
+rm -rf %{_vpath_builddir}
#################################################################################
# files and systemd scriptlets
%{_mandir}/man8/cephadm.8*
%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm
%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh
-%attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys
+%config(noreplace) %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys
%files common
%dir %{_docdir}/ceph
%dir %{_datadir}/ceph/mgr
%{_datadir}/ceph/mgr/mgr_module.*
%{_datadir}/ceph/mgr/mgr_util.*
+%{_datadir}/ceph/mgr/object_format.*
%{_unitdir}/ceph-mgr@.service
%{_unitdir}/ceph-mgr.target
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr
+ceph (17.2.1-1) stable; urgency=medium
+
+ * New upstream release
+
+ -- Ceph Release Team <ceph-maintainers@ceph.com> Thu, 23 Jun 2022 14:41:32 +0000
+
ceph (17.2.0-1) stable; urgency=medium
* New upstream release
BUILD_COMMAND ""
INSTALL_COMMAND "")
add_dependencies(tests gtest-parallel_ext)
- find_package(Python3 QUIET REQUIRED)
set(GTEST_PARALLEL_COMMAND
${Python3_EXECUTABLE} ${gtest_parallel_source_dir}/gtest-parallel)
endif()
list(APPEND tox_envs py3)
endif()
string(REPLACE ";" "," tox_envs "${tox_envs}")
- find_package(Python3 QUIET REQUIRED)
add_test(
NAME setup-venv-for-${name}
COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${Python3_EXECUTABLE} ${venv_path}
include(CMakeParseArguments)
+# ensure that we are using the exact python version specified by
+# 'WITH_PYTHON3', in case some included 3rd party libraries call
+# 'find_package(Python3 ...) without specifying the exact version number. if
+# the building host happens to have a higher version of python3, that version
+# would be picked up instead by find_package(Python3). and that is not want we
+# expect.
+find_package(Python3 ${WITH_PYTHON3} EXACT
+ QUIET
+ REQUIRED
+ COMPONENTS Interpreter)
+
function(distutils_install_module name)
set(py_srcs setup.py README.rst requirements.txt test-requirements.txt bin ${name})
foreach(src ${py_srcs})
usr/bin/ceph-mgr
usr/share/ceph/mgr/mgr_module.*
usr/share/ceph/mgr/mgr_util.*
+usr/share/ceph/mgr/object_format.*
libxmlsec1-nss <pkg.ceph.check>,
libxmlsec1-openssl <pkg.ceph.check>,
libxmlsec1-dev <pkg.ceph.check>,
- ninja-build <pkg.ceph.check>,
+ ninja-build,
nlohmann-json3-dev <pkg.ceph.jaeger>,
patch,
pkg-config,
prometheus <pkg.ceph.check>,
python3-all-dev,
python3-cherrypy3,
+ python3-natsort,
python3-jwt <pkg.ceph.check>,
- python3-nose <pkg.ceph.check>,
python3-pecan <pkg.ceph.check>,
python3-bcrypt <pkg.ceph.check>,
tox <pkg.ceph.check>,
ceph-mgr-modules-core (= ${binary:Version}),
python3-bcrypt,
python3-cherrypy3,
+ python3-natsort,
python3-distutils,
python3-jwt,
python3-openssl,
${python:Depends},
openssh-client,
python3-jinja2,
- python3-cherrypy3
+ python3-cherrypy3,
+ python3-natsort
Description: cephadm orchestrator module for ceph-mgr
Ceph is a massively scalable, open-source, distributed
storage system that runs on commodity hardware and delivers object,
extraopts += -DWITH_SYSTEM_ARROW=ON
endif
+extraopts += -DWITH_SYSTEM_UTF8PROC=ON
extraopts += -DWITH_OCF=ON -DWITH_LTTNG=ON
extraopts += -DWITH_MGR_DASHBOARD_FRONTEND=OFF
extraopts += -DWITH_PYTHON3=3
latest stable release of Ceph is the default. You might be upgrading from an
earlier Ceph release at the same time that you're performing this
conversion; if you are upgrading from an earlier release, make sure to
- follow any upgrade-releated instructions for that release.
+ follow any upgrade-related instructions for that release.
Pass the image to cephadm with the following command:
apt install -y cephadm
+ In CentOS Stream:
+
+ .. prompt:: bash #
+ :substitutions:
+
+ dnf search release-ceph
+ dnf install --assumeyes centos-release-ceph-|stable-release|
+ dnf install --assumeyes cephadm
+
In Fedora:
.. prompt:: bash #
The ``--single-host-defaults`` flag sets the following configuration options::
- global/osd_crush_choose_leaf_type = 0
+ global/osd_crush_chooseleaf_type = 0
global/osd_pool_default_size = 2
mgr/mgr_standby_modules = False
-
+
For more information on these options, see :ref:`one-node-cluster` and ``mgr_standby_modules`` in :ref:`mgr-administrator-guide`.
Deployment in an isolated environment
cephadm --image *<hostname>*:5000/ceph/ceph bootstrap --mon-ip *<mon-ip>*
-.. _cluster network: ../rados/configuration/network-config-ref#cluster-network
\ No newline at end of file
+.. _cluster network: ../rados/configuration/network-config-ref#cluster-network
NAME HEALTHCHECK STATUS DESCRIPTION
kernel_security CEPHADM_CHECK_KERNEL_LSM enabled checks SELINUX/Apparmor profiles are consistent across cluster hosts
os_subscription CEPHADM_CHECK_SUBSCRIPTION enabled checks subscription states are consistent for all cluster hosts
- public_network CEPHADM_CHECK_PUBLIC_MEMBERSHIP enabled check that all hosts have a NIC on the Ceph public_netork
+ public_network CEPHADM_CHECK_PUBLIC_MEMBERSHIP enabled check that all hosts have a NIC on the Ceph public_network
osd_mtu_size CEPHADM_CHECK_MTU enabled check that OSD hosts share a common MTU setting
osd_linkspeed CEPHADM_CHECK_LINKSPEED enabled check that OSD hosts share a common linkspeed
network_missing CEPHADM_CHECK_NETWORK_MISSING enabled checks that the cluster/public networks defined exist on the Ceph hosts
.. danger:: THIS OPERATION WILL DESTROY ALL DATA STORED IN THIS CLUSTER
-In order to destroy a cluster and delete all data stored in this cluster, pause
-cephadm to avoid deploying new daemons.
+In order to destroy a cluster and delete all data stored in this cluster, disable
+cephadm to stop all orchestration operations (so we avoid deploying new daemons).
.. prompt:: bash #
- ceph orch pause
+ ceph mgr module disable cephadm
Then verify the FSID of the cluster:
.. prompt:: bash #
- ceph fsid
+ ceph fsid
Purge ceph daemons from all hosts in the cluster
.. prompt:: bash #
- orch apply prometheus --placement="host1 host2 host3"
+ ceph orch apply prometheus --placement="host1 host2 host3"
Or in YAML:
.. prompt:: bash #
- orch daemon add mon --placement="myhost:[v2:1.2.3.4:3300,v1:1.2.3.4:6789]=name"
+ ceph orch daemon add mon --placement="myhost:[v2:1.2.3.4:3300,v1:1.2.3.4:6789]=name"
where ``[v2:1.2.3.4:3300,v1:1.2.3.4:6789]`` is the network address of the monitor
and ``=name`` specifies the name of the new monitor.
.. prompt:: bash #
- orch apply prometheus --placement="label:mylabel"
+ ceph orch apply prometheus --placement="label:mylabel"
Or in YAML:
.. prompt:: bash #
- orch apply prometheus --placement='myhost[1-3]'
+ ceph orch apply prometheus --placement='myhost[1-3]'
Or in YAML:
.. prompt:: bash #
- orch apply node-exporter --placement='*'
+ ceph orch apply node-exporter --placement='*'
Or in YAML:
.. prompt:: bash #
- orch apply prometheus --placement=3
+ ceph orch apply prometheus --placement=3
To deploy *daemons* on a subset of hosts, specify the count:
.. prompt:: bash #
- orch apply prometheus --placement="2 host1 host2 host3"
+ ceph orch apply prometheus --placement="2 host1 host2 host3"
If the count is bigger than the amount of hosts, cephadm deploys one per host:
.. prompt:: bash #
- orch apply prometheus --placement="3 host1 host2"
+ ceph orch apply prometheus --placement="3 host1 host2"
The command immediately above results in two Prometheus daemons.
Run ``reconfig`` on the service to update its configuration:
+.. prompt:: bash #
+
+ ceph orch reconfig alertmanager
+
+Turn on Certificate Validation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you are using certificates for alertmanager and want to make sure
+these certs are verified, you should set the "secure" option to
+true in your alertmanager spec (this defaults to false).
+
+.. code-block:: yaml
+
+ service_type: alertmanager
+ spec:
+ secure: true
+
+If you already had alertmanager daemons running before applying the spec
+you must reconfigure them to update their configuration
+
.. prompt:: bash #
ceph orch reconfig alertmanager
ceph orch daemon add osd host1:/dev/sdb
+ Advanced OSD creation from specific devices on a specific host:
+
+ .. prompt:: bash #
+
+ ceph orch daemon add osd host1:data_devices=/dev/sda,/dev/sdb,db_devices=/dev/sdc,osds_per_device=2
+
* You can use :ref:`drivegroups` to categorize device(s) based on their
properties. This might be useful in forming a clearer picture of which
devices are available to consume. Properties include device type (SSD or
ceph orch upgrade start --image quay.io/ceph-ci/ceph:recent-git-branch-name
For more information about available container images, see :ref:`containers`.
+
+Staggered Upgrade
+=================
+
+Some users may prefer to upgrade components in phases rather than all at once.
+The upgrade command, starting in 16.2.10 and 17.2.1 allows parameters
+to limit which daemons are upgraded by a single upgrade command. The options in
+include ``daemon_types``, ``services``, ``hosts`` and ``limit``. ``daemon_types``
+takes a comma-separated list of daemon types and will only upgrade daemons of those
+types. ``services`` is mutually exclusive with ``daemon_types``, only takes services
+of one type at a time (e.g. can't provide an OSD and RGW service at the same time), and
+will only upgrade daemons belonging to those services. ``hosts`` can be combined
+with ``daemon_types`` or ``services`` or provided on its own. The ``hosts`` parameter
+follows the same format as the command line options for :ref:`orchestrator-cli-placement-spec`.
+``limit`` takes an integer > 0 and provides a numerical limit on the number of
+daemons cephadm will upgrade. ``limit`` can be combined with any of the other
+parameters. For example, if you specify to upgrade daemons of type osd on host
+Host1 with ``limit`` set to 3, cephadm will upgrade (up to) 3 osd daemons on
+Host1.
+
+Example: specifying daemon types and hosts:
+
+.. prompt:: bash #
+
+ ceph orch upgrade start --image <image-name> --daemon-types mgr,mon --hosts host1,host2
+
+Example: specifying services and using limit:
+
+.. prompt:: bash #
+
+ ceph orch upgrade start --image <image-name> --services rgw.example1,rgw.example2 --limit 2
+
+.. note::
+
+ Cephadm strictly enforces an order to the upgrade of daemons that is still present
+ in staggered upgrade scenarios. The current upgrade ordering is
+ ``mgr -> mon -> crash -> osd -> mds -> rgw -> rbd-mirror -> cephfs-mirror -> iscsi -> nfs``.
+ If you specify parameters that would upgrade daemons out of order, the upgrade
+ command will block and note which daemons will be missed if you proceed.
+
+.. note::
+
+ Upgrade commands with limiting parameters will validate the options before beginning the
+ upgrade, which may require pulling the new container image. Do not be surprised
+ if the upgrade start command takes a while to return when limiting parameters are provided.
+
+.. note::
+
+ In staggered upgrade scenarios (when a limiting parameter is provided) monitoring
+ stack daemons including Prometheus and node-exporter are refreshed after the Manager
+ daemons have been upgraded. Do not be surprised if Manager upgrades thus take longer
+ than expected. Note that the versions of monitoring stack daemons may not change between
+ Ceph releases, in which case they are only redeployed.
+
+Upgrading to a version that supports staggered upgrade from one that doesn't
+----------------------------------------------------------------------------
+
+While upgrading from a version that already supports staggered upgrades the process
+simply requires providing the necessary arguments. However, if you wish to upgrade
+to a version that supports staggered upgrade from one that does not, there is a
+workaround. It requires first manually upgrading the Manager daemons and then passing
+the limiting parameters as usual.
+
+.. warning::
+ Make sure you have multiple running mgr daemons before attempting this procedure.
+
+To start with, determine which Manager is your active one and which are standby. This
+can be done in a variety of ways such as looking at the ``ceph -s`` output. Then,
+manually upgrade each standby mgr daemon with:
+
+.. prompt:: bash #
+
+ ceph orch daemon redeploy mgr.example1.abcdef --image <new-image-name>
+
+.. note::
+
+ If you are on a very early version of cephadm (early Octopus) the ``orch daemon redeploy``
+ command may not have the ``--image`` flag. In that case, you must manually set the
+ Manager container image ``ceph config set mgr container_image <new-image-name>`` and then
+ redeploy the Manager ``ceph orch daemon redeploy mgr.example1.abcdef``
+
+At this point, a Manager fail over should allow us to have the active Manager be one
+running the new version.
+
+.. prompt:: bash #
+
+ ceph mgr fail
+
+Verify the active Manager is now one running the new version. To complete the Manager
+upgrading:
+
+.. prompt:: bash #
+
+ ceph orch upgrade start --image <new-image-name> --daemon-types mgr
+
+You should now have all your Manager daemons on the new version and be able to
+specify the limiting parameters for the rest of the upgrade.
+.. note::
+ It is highly recommended to use :doc:`/cephadm/index` or another Ceph
+ orchestrator for setting up the ceph cluster. Use this approach only if you
+ are setting up the ceph cluster manually. If one still intends to use the
+ manual way for deploying MDS daemons, :doc:`/cephadm/services/mds/` can
+ also be used.
+
============================
Deploying Metadata Servers
============================
Adding an MDS
=============
-#. Create an mds data point ``/var/lib/ceph/mds/ceph-${id}``. The daemon only uses this directory to store its keyring.
+#. Create an mds directory ``/var/lib/ceph/mds/ceph-${id}``. The daemon only uses this directory to store its keyring.
#. Create the authentication key, if you use CephX: ::
$ ceph fs subvolume getpath <vol_name> <subvol_name> [--group_name <subvol_group_name>]
-Fetch the metadata of a subvolume using::
+Fetch the information of a subvolume using::
$ ceph fs subvolume info <vol_name> <subvol_name> [--group_name <subvol_group_name>]
.. note:: subvolumes that are removed but have snapshots retained, are also listed.
+Set custom metadata on the subvolume as a key-value pair using::
+
+ $ ceph fs subvolume metadata set <vol_name> <subvol_name> <key_name> <value> [--group_name <subvol_group_name>]
+
+.. note:: If the key_name already exists then the old value will get replaced by the new value.
+
+.. note:: key_name and value should be a string of ASCII characters (as specified in python's string.printable). key_name is case-insensitive and always stored in lower case.
+
+.. note:: Custom metadata on a subvolume is not preserved when snapshotting the subvolume, and hence, is also not preserved when cloning the subvolume snapshot.
+
+Get custom metadata set on the subvolume using the metadata key::
+
+ $ ceph fs subvolume metadata get <vol_name> <subvol_name> <key_name> [--group_name <subvol_group_name>]
+
+List custom metadata (key-value pairs) set on the subvolume using::
+
+ $ ceph fs subvolume metadata ls <vol_name> <subvol_name> [--group_name <subvol_group_name>]
+
+Remove custom metadata set on the subvolume using the metadata key::
+
+ $ ceph fs subvolume metadata rm <vol_name> <subvol_name> <key_name> [--group_name <subvol_group_name>] [--force]
+
+Using the '--force' flag allows the command to succeed that would otherwise
+fail if the metadata key did not exist.
+
Create a snapshot of a subvolume using::
$ ceph fs subvolume snapshot create <vol_name> <subvol_name> <snap_name> [--group_name <subvol_group_name>]
$ ceph fs subvolume snapshot ls <vol_name> <subvol_name> [--group_name <subvol_group_name>]
-Fetch the metadata of a snapshot using::
+Fetch the information of a snapshot using::
$ ceph fs subvolume snapshot info <vol_name> <subvol_name> <snap_name> [--group_name <subvol_group_name>]
* has_pending_clones: "yes" if snapshot clone is in progress otherwise "no"
* size: snapshot size in bytes
+Set custom metadata on the snapshot as a key-value pair using::
+
+ $ ceph fs subvolume snapshot metadata set <vol_name> <subvol_name> <snap_name> <key_name> <value> [--group_name <subvol_group_name>]
+
+.. note:: If the key_name already exists then the old value will get replaced by the new value.
+
+.. note:: The key_name and value should be a string of ASCII characters (as specified in python's string.printable). The key_name is case-insensitive and always stored in lower case.
+
+.. note:: Custom metadata on a snapshots is not preserved when snapshotting the subvolume, and hence, is also not preserved when cloning the subvolume snapshot.
+
+Get custom metadata set on the snapshot using the metadata key::
+
+ $ ceph fs subvolume snapshot metadata get <vol_name> <subvol_name> <snap_name> <key_name> [--group_name <subvol_group_name>]
+
+List custom metadata (key-value pairs) set on the snapshot using::
+
+ $ ceph fs subvolume snapshot metadata ls <vol_name> <subvol_name> <snap_name> [--group_name <subvol_group_name>]
+
+Remove custom metadata set on the snapshot using the metadata key::
+
+ $ ceph fs subvolume snapshot metadata rm <vol_name> <subvol_name> <snap_name> <key_name> [--group_name <subvol_group_name>] [--force]
+
+Using the '--force' flag allows the command to succeed that would otherwise
+fail if the metadata key did not exist.
+
Cloning Snapshots
-----------------
#. `in-progress` : Clone operation is in progress
#. `complete` : Clone operation has successfully finished
#. `failed` : Clone operation has failed
+#. `canceled` : Clone operation is cancelled by user
+
+The reason for a clone failure is shown as below:
-Sample output from an `in-progress` clone operation::
+#. `errno` : error number
+#. `error_msg` : failure error string
+
+Sample output of an `in-progress` clone operation::
$ ceph fs subvolume snapshot clone cephfs subvol1 snap1 clone1
$ ceph fs clone status cephfs clone1
}
}
+.. note:: The `failure` section will be shown only if the clone is in failed or cancelled state
+
+Sample output of a `failed` clone operation::
+
+ $ ceph fs subvolume snapshot clone cephfs subvol1 snap1 clone1
+ $ ceph fs clone status cephfs clone1
+ {
+ "status": {
+ "state": "failed",
+ "source": {
+ "volume": "cephfs",
+ "subvolume": "subvol1",
+ "snapshot": "snap1"
+ "size": "104857600"
+ },
+ "failure": {
+ "errno": "122",
+ "errstr": "Disk quota exceeded"
+ }
+ }
+ }
+
(NOTE: since `subvol1` is in default group, `source` section in `clone status` does not include group name)
.. note:: Cloned subvolumes are accessible only after the clone operation has successfully completed.
.. note:: It is recommended to run box with verbose (-v).
-After getting all needed images we can run::
+After getting all needed images we can create a simple cluster without osds and hosts with::
- sudo box -v cluster start --osds 3 --hosts 3
+ sudo box -v cluster start
+
+If you want to deploy the cluster with more osds and hosts::
+ # 3 osds and 3 hosts by default
+ sudo box -v cluster start --extended
+ # explicitly change number of hosts and osds
+ sudo box -v cluster start --extended --osds 5 --hosts 5
+
+Without the extended option, explicitly adding either more hosts or osds won't change the state
+of the cluster.
.. note:: Cluster start will try to setup even if cluster setup was not called.
.. note:: Osds are created with loopback devices and hence, sudo is needed to
\--------------/
This page assumes that you are a new contributor with an idea for a bugfix or
-enhancement, but do not know how to proceed. Watch the `Getting Started with
-Ceph Development <https://www.youtube.com/watch?v=t5UIehZ1oLs>`_ video for a
-practical summary of this workflow.
+an enhancement, but you do not know how to proceed. Watch the `Getting Started
+with Ceph Development <https://www.youtube.com/watch?v=t5UIehZ1oLs>`_ video for
+a practical summary of this workflow.
Updating the tracker
--------------------
-Before you start, you should know the :ref:`issue-tracker` (Redmine) number
-of the bug you intend to fix. If there is no tracker issue, now is the time to
-create one for code changes. Straightforward documentation cleanup does
-not necessarily require a corresponding tracker issue. However, an issue
-(ticket) should be created if one is adding new documentation chapters or
-files, or for other substantial changes.
+Find the :ref:`issue-tracker` (Redmine) number of the bug you intend to fix. If
+no tracker issue exists, create one. There is only one case in which you do not
+have to create a Redmine tracker issue: the case of minor documentation changes.
-The tracker ticket serves to explain the issue (bug) to your fellow Ceph
-developers and keep them informed as you make progress toward resolution. To
-this end, please provide a descriptive title and write appropriate information
-and details into the description. When composing the ticket's title, consider "If I
-want to search for this ticket two years from now, what keywords will I search
-for?"
+Simple documentation cleanup does not require a corresponding tracker issue.
+Major documenatation changes do require a tracker issue. Major documentation
+changes include adding new documentation chapters or files, and making
+substantial changes to the structure or content of the documentation.
-If you have sufficient tracker permissions, assign the bug to yourself by
-setting the ``Assignee`` field. If your tracker permissions have not been
-elevated, simply add a comment with a short message like "I am working on this
-issue".
+A (Redmine) tracker ticket explains the issue (bug) to other Ceph developers to
+keep them informed as the bug nears resolution. Provide a useful, clear title
+and include detailed information in the description. When composing the title
+of the ticket, ask yourself "If I need to search for this ticket two years from
+now, which keywords am I likely to search for?" Then include those keywords in
+the title.
-Forking and Cloning the Ceph Repository
----------------------------------------
+If your tracker permissions are elevated, assign the bug to yourself by setting
+the ``Assignee`` field. If your tracker permissions have not been elevated,
+just add a comment with a short message that says "I am working on this issue".
-This section, and the ones that follow, correspond to nodes in the above chart.
+Ceph Workflow Overview
+----------------------
-The upstream code is found at https://github.com/ceph/ceph.git, which is known
-as the "upstream repo", or simply "upstream". As the chart shows, we will make
-a local copy of this repository, modify it, test our modifications, then submit
-the modifications for review and merging.
+Three repositories are involved in the Ceph workflow. They are:
-A local copy of the upstream code is made by
+1. The upstream repository (ceph/ceph)
+2. Your fork of the upstream repository (your_github_id/ceph)
+3. Your local working copy of the repository (on your workstation)
-1. Forking the upstream repo on GitHub, and
-2. Cloning your fork to make a local working copy
+The procedure for making changes to the Ceph repository is as follows:
+#. Configure your local environment
-Forking The Ceph Repository
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ #. :ref:`Create a fork<forking>` of the "upstream Ceph"
+ repository.
+
+ #. :ref:`Clone the fork<cloning>` to your local filesystem.
+
+#. Fix the bug
+
+ #. :ref:`Synchronize local master with upstream master<synchronizing>`.
+
+ #. :ref:`Create a bugfix branch<bugfix_branch>` in your local working copy.
+
+ #. :ref:`Make alterations to the local working copy of the repository in your
+ local filesystem<fixing_bug_locally>`.
+
+ #. :ref:`Push the changes in your local working copy to your fork<push_changes>`.
+
+#. Create a Pull Request to push the change upstream
+
+ #. Create a Pull Request that asks for your changes to be added into the
+ "upstream Ceph" repository.
+
+Preparing Your Local Working Copy of the Ceph Repository
+--------------------------------------------------------
+
+The procedures in this section, "Preparing Your Local Working Copy of the Ceph
+Repository", must be followed only when you are first setting up your local
+environment. If this is your first time working with the Ceph project, then
+these commands are necessary and are the first commands that you should run.
+
+.. _forking:
+
+Creating a Fork of the Ceph Repository
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
See the `GitHub documentation
<https://help.github.com/articles/fork-a-repo/#platform-linux>`_ for
"mygithubaccount", your fork of the upstream repo will appear at
``https://github.com/mygithubaccount/ceph``.
+.. _cloning:
+
Cloning Your Fork
^^^^^^^^^^^^^^^^^
-Once you have created your fork, clone it by running:
+After you have created your fork, clone it by running the following command:
.. prompt:: bash $
git clone https://github.com/mygithubaccount/ceph
-You must fork the Ceph repository before you clone it. Without forking, you cannot
-open a `GitHub pull request
+You must fork the Ceph repository before you clone it. If you fail to fork,
+you cannot open a `GitHub pull request
<https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request>`_.
For more information on using GitHub, refer to `GitHub Help
<https://help.github.com/>`_.
Configuring Your Local Environment
-----------------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-In the local environment created in the previous step, you now have a copy of
-the ``master`` branch in ``remotes/origin/master``. This fork
-(https://github.com/mygithubaccount/ceph.git) is frozen in time and the
-upstream repo (https://github.com/ceph/ceph.git, typically abbreviated to
-``ceph/ceph.git``) is updated frequently by other contributors. This means that
-you must sync your fork periodically. Failure to synchronize your fork may
-result in your commits and pull requests failing to merge because they refer to
-file contents that have changed since you last synchronized your fork.
+The commands in this section configure your local git environment so that it
+generates "Signed-off-by:" tags. They also set up your local environment so
+that it can stay synchronized with the upstream repository.
-Configure your local git environment with your name and email address.
+These commands are necessary only during the initial setup of your local
+working copy. Another way to say that is "These commands are necessary
+only the first time that you are working with the Ceph repository. They are,
+however, unavoidable, and if you fail to run them then you will not be able
+to work on the Ceph repository.".
-.. prompt:: bash $
+1. Configure your local git environment with your name and email address.
- git config user.name "FIRST_NAME LAST_NAME"
- git config user.email "MY_NAME@example.com"
+ .. prompt:: bash $
-Add the upstream repo as a "remote" and fetch it:
+ git config user.name "FIRST_NAME LAST_NAME"
+ git config user.email "MY_NAME@example.com"
-.. prompt:: bash $
+2. Add the upstream repo as a "remote" and fetch it:
- git remote add ceph https://github.com/ceph/ceph.git
- git fetch ceph
+ .. prompt:: bash $
+
+ git remote add ceph https://github.com/ceph/ceph.git
+ git fetch ceph
+
+ These commands fetch all the branches and commits from ``ceph/ceph.git`` to
+ the local git repo as ``remotes/ceph/$BRANCH_NAME`` and can be referenced as
+ ``ceph/$BRANCH_NAME`` in local git commands.
+
+Fixing the Bug
+--------------
+
+.. _synchronizing:
+
+Synchronizing Local Master with Upstream Master
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-These commands fetch all the branches and commits from ``ceph/ceph.git`` to the
-local git repo as ``remotes/ceph/$BRANCH_NAME`` and can be referenced as
-``ceph/$BRANCH_NAME`` in local git commands.
+In your local git environment, there is a copy of the ``master`` branch in
+``remotes/origin/master``. This is called "local master". This copy of the
+master branch (https://github.com/your_github_id/ceph.git) is "frozen in time"
+at the moment that you cloned it, but the upstream repo
+(https://github.com/ceph/ceph.git, typically abbreviated to ``ceph/ceph.git``)
+that it was forked from is not frozen in time: the upstream repo is still being
+updated by other contributors.
+Because upstream master is continually receiving updates from other
+contributors, your fork will drift farther and farther from the state of the
+upstream repo when you cloned it.
-Resetting Local Master to Upstream Master
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+You must keep your fork's master branch synchronized with upstream master in
+order to reduce drift between your fork's master branch and the upstream master
+branch.
-Your local ``master`` branch can be reset to the upstream Ceph ``master``
-branch by running the following commands:
+Here are the commands for keeping your fork synchronized with the
+upstream repository:
.. prompt:: bash $
This procedure should be followed often, in order to keep your local ``master``
in sync with upstream ``master``.
+.. _bugfix_branch:
+
Creating a Bugfix branch
-------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^
Create a branch for your bugfix:
git checkout -b fix_1
git push -u origin fix_1
-This creates a local branch called ``fix_1`` in our GitHub fork. At this point,
-the ``fix_1`` branch is identical to the ``master`` branch, but not for long!
-You are now ready to modify the code. Be careful to always run `git checkout
-master` first, otherwise you may find commits from an unrelated branch mixed
-with your new work.
+The first command (git checkout master) makes sure that the bugfix branch
+"fix_1" is created from the most recent state of the master branch of the
+upstream repository.
-Fixing the bug locally
-----------------------
+The second command (git checkout -b fix_1) creates a "bugfix branch" called
+"fix_1" in your local working copy of the repository. The changes that you make
+in order to fix the bug will be commited to this branch.
-In the `Ceph issue tracker <https://tracker.ceph.com>`_, change the status of
-the tracker issue to "In progress". This communicates to other Ceph
-contributors that you have begun working on a fix, which helps to avoid
-duplication of effort. If you don't have permission to change that field, your
-previous comment that you are working on the issue is sufficient.
+The third command (git push -u origin fix_1) pushes the bugfix branch from
+your local working repository to your fork of the upstream repository.
-Your fix may be very simple and require only minimal testing. But that's not
-likely. It is more likely that the process of fixing your bug will be iterative
-and will involve trial and error, as well as skill. An explanation of how to
-fix bugs is beyond the scope of this document. Instead, we focus on the
-mechanics of the process in the context of the Ceph project.
+.. _fixing_bug_locally:
-For a detailed discussion of the tools available for validating bugfixes,
-see the chapters on testing.
+Fixing the bug in the local working copy
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-For now, let us assume that you have finished work on the bugfix, that you have
-tested the bugfix , and that you believe that it works. Commit the changes to
-your local branch using the ``--signoff`` option (here represented as the `s`
-portion of the `-as` flag):
+#. Updating the tracker
-.. prompt:: bash $
+ In the `Ceph issue tracker <https://tracker.ceph.com>`_, change the status
+ of the tracker issue to "In progress". This communicates to other Ceph
+ contributors that you have begun working on a fix, which helps to avoid
+ duplication of effort. If you don't have permission to change that field,
+ your comment that you are working on the issue is sufficient.
- git commit -as
+#. Fixing the bug itself
-Push the changes to your fork:
+ This guide cannot tell you how to fix the bug that you have chosen to fix.
+ This guide assumes that you know what required improvement, and that you
+ know what to do to provide that improvement.
-.. prompt:: bash $
+ It might be that your fix is simple and requires only minimal testing. But
+ that's unlikely. It is more likely that the process of fixing your bug will
+ be iterative and will involve trial, error, skill, and patience.
+
+ For a detailed discussion of the tools available for validating bugfixes,
+ see the chapters on testing.
+
+Pushing the Fix to Your Fork
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You have finished work on the bugfix. You have tested the bugfix, and you
+believe that it works.
+
+#. Commit the changes to your local working copy.
+
+ Commit the changes to the `fix_1` branch of your local working copy by using
+ the ``--signoff`` option (here represented as the `s` portion of the `-as`
+ flag):
+
+ .. prompt:: bash $
+
+ git commit -as
+
+ .. _push_changes:
+
+#. Push the changes to your fork:
+
+ Push the changes from the `fix_1` branch of your local working copy to the
+ `fix_1` branch of your fork of the upstream repository:
+
+ .. prompt:: bash $
+
+ git push origin fix_1
+
+ .. note::
+
+ In the command `git push origin fix_1`, `origin` is the name of your fork
+ of the upstream Ceph repository, and can be thought of as a nickname for
+ `git@github.com:username/ceph.git`, where `username` is your GitHub
+ username.
+
+ It is possible that `origin` is not the name of your fork. Discover the
+ name of your fork by running `git remote -v`, as shown here:
+
+ .. code-block:: bash
+
+ $ git remote -v
+ ceph https://github.com/ceph/ceph.git (fetch)
+ ceph https://github.com/ceph/ceph.git (push)
+ origin git@github.com:username/ceph.git (fetch)
+ origin git@github.com:username/ceph.git (push)
+
+ The line "origin git@github.com:username/ceph.git (fetch)" and the line
+ "origin git@github.com:username/ceph.git (push)" provide the information
+ that "origin" is the name of your fork of the Ceph repository.
- git push origin fix_1
Opening a GitHub pull request
-----------------------------
-The next step is to open a GitHub pull request (PR). This makes your bugfix
-visible to the community of Ceph contributors. They will review it and may
-perform additional testing and / or request changes.
+After you have pushed the bugfix to your fork, open a GitHub pull request
+(PR). This makes your bugfix visible to the community of Ceph contributors.
+They will review it. They may perform additional testing on your bugfix, and
+they might request changes to the bugfix.
-This is the point where you "go public" with your modifications. Be prepared
-to receive suggestions and constructive criticism in the form of comments
-within the PR. Don't worry! The Ceph project is a friendly place!
+Be prepared to receive suggestions and constructive criticism in the form of
+comments within the PR.
-If you are uncertain how to create and manage pull requests, you may read
-`this GitHub pull request tutorial`_.
+If you don't know how to create and manage pull requests, read `this GitHub
+pull request tutorial`_.
.. _`this GitHub pull request tutorial`:
https://help.github.com/articles/using-pull-requests/
-For ideas on what constitutes a "good" pull request, see
+To learn what constitutes a "good" pull request, see
the `Git Commit Good Practice`_ article at the `OpenStack Project Wiki`_.
.. _`Git Commit Good Practice`: https://wiki.openstack.org/wiki/GitCommitMessages
.. _`OpenStack Project Wiki`: https://wiki.openstack.org/wiki/Main_Page
-and our own `Submitting Patches <https://github.com/ceph/ceph/blob/master/SubmittingPatches.rst>`_ document.
+See also our own `Submitting Patches
+<https://github.com/ceph/ceph/blob/master/SubmittingPatches.rst>`_ document.
-Once your pull request (PR) is opened, update the :ref:`issue-tracker` by
-adding a comment directing other contributors to your PR. The comment can be
-as simple as::
+After your pull request (PR) has been opened, update the :ref:`issue-tracker`
+by adding a comment directing other contributors to your PR. The comment can be
+as simple as this::
*PR*: https://github.com/ceph/ceph/pull/$NUMBER_OF_YOUR_PULL_REQUEST
When you create or update your PR, the Ceph project's `Continuous Integration
(CI) <https://en.wikipedia.org/wiki/Continuous_integration>`_ infrastructure
-automatically tests it. At the time of this writing (September 2020), the
-automated CI testing included five tests:
+automatically tests it. At the time of this writing (May 2022), the automated
+CI testing included many tests. These five are among them:
#. a test to check that the commits are properly signed (see :ref:`submitting-patches`):
#. a test to check that the documentation builds
#. a test to check that the API is in order
#. a :ref:`make check<make-check>` test
-Additional tests may be performed depending on which files your PR modifies.
+Additional tests may be run depending on which files your PR modifies.
-The :ref:`make check<make-check>` test builds the PR and runs it through a battery of
-tests. These tests run on servers operated by the Ceph Continuous
-Integration (CI) team. When the tests complete, the result will be shown
-on GitHub in the pull request itself.
+The :ref:`make check<make-check>` test builds the PR and runs it through a
+battery of tests. These tests run on servers that are operated by the Ceph
+Continuous Integration (CI) team. When the tests have completed their run, the
+result is shown on GitHub in the pull request itself.
-You should test your modifications before you open a PR.
-Refer to the chapters on testing for details.
+Test your modifications before you open a PR. Refer to the chapters
+on testing for details.
Notes on PR make check test
^^^^^^^^^^^^^^^^^^^^^^^^^^^
The GitHub :ref:`make check<make-check>` test is driven by a Jenkins instance.
Jenkins merges your PR branch into the latest version of the base branch before
-starting tests. This means that you don't have to rebase the PR to pick up any fixes.
+it starts any tests. This means that you don't have to rebase the PR in order
+to pick up any fixes.
You can trigger PR tests at any time by adding a comment to the PR - the
-comment should contain the string "test this please". Since a human subscribed
-to the PR might interpret that as a request for him or her to test the PR, we
-recommend that you address Jenkins directly. For example, write "jenkins retest
-this please". For efficiency a single re-test can also be requested with
-e.g. "jenkins test signed". For reference, a list of these requests is
-automatically added to the end of each new PR's description.
+comment should contain the string "test this please". Since a human who is
+subscribed to the PR might interpret that as a request for him or her to test
+the PR, you must address Jenkins directly. For example, write "jenkins retest
+this please". If you need to run only one of the tests, you can request it with
+a command like "jenkins test signed". A list of these requests is automatically
+added to the end of each new PR's description, so check there to find the
+single test you need.
If there is a build failure and you aren't sure what caused it, check the
-:ref:`make check<make-check>` log. To access it, click on the "details" (next
-to the :ref:`make check<make-check>` test in the PR) link to enter the Jenkins web
-GUI. Then click on "Console Output" (on the left).
-
-Jenkins is configured to search logs for strings known to have been associated
-with :ref:`make check<make-check>` failures in the past. However, there is no
-guarantee that these known strings are associated with any given
-:ref:`make check<make-check>` failure. You'll have to read through the log to determine the
-cause of your specific failure.
+:ref:`make check<make-check>` log. To access the make check log, click the
+"details" (next to the :ref:`make check<make-check>` test in the PR) link to
+enter the Jenkins web GUI. Then click "Console Output" (on the left).
+
+Jenkins is configured to search logs for strings that are known to have been
+associated with :ref:`make check<make-check>` failures in the past. However,
+there is no guarantee that these known strings are associated with any given
+:ref:`make check<make-check>` failure. You'll have to read through the log to
+determine the cause of your specific failure.
Integration tests AKA ceph-qa-suite
-----------------------------------
Make less verbose.
-.. option:: -f {json,json-pretty,xml,xml-pretty,plain}, --format
+.. option:: -f {json,json-pretty,xml,xml-pretty,plain,yaml}, --format
- Format of output.
+ Format of output. Note: yaml is only valid for orch commands.
.. option:: --connect-timeout CLUSTER_TIMEOUT
Usage :
- put [options] <source_path> [target_path]
+ put [options] <source_path> <target_path>
* source_path - local file/directory path to be copied to cephfs.
* if `.` copies all the file/directories in the local working directory.
Usage :
- get [options] <source_path> [target_path]
+ get [options] <source_path> <target_path>
* source_path - remote file/directory path which is to be copied to local file system.
* if `.` copies all the file/directories in the remote working directory.
$ ceph dashboard set-grafana-api-url <grafana-server-url> # default: ''
-The format of url is : `<protocol>:<IP-address>:<port>`
+The format of the URL : `<protocol>://<IP-address>:<port>`
.. note::
If you are using a self-signed certificate for Grafana,
disable certificate verification in the dashboard to avoid refused connections,
which can be a result of certificates signed by an unknown CA or that do not
-matchn the host name::
+match the host name::
$ ceph dashboard set-grafana-api-ssl-verify False
that have no pre-Luminous cients may instead wish to instead enable the
`balancer`` module for ``ceph-mgr``.
-Add/remove an IP address to/from the blocklist. When adding an address,
+Add/remove an IP address or CIDR range to/from the blocklist.
+When adding to the blocklist,
you can specify how long it should be blocklisted in seconds; otherwise,
it will default to 1 hour. A blocklisted address is prevented from
-connecting to any OSD. Blocklisting is most often used to prevent a
-lagging metadata server from making bad changes to data on the OSDs.
+connecting to any OSD. If you blocklist an IP or range containing an OSD, be aware
+that OSD will also be prevented from performing operations on its peers where it
+acts as a client. (This includes tiering and copy-from functionality.)
+
+If you want to blocklist a range (in CIDR format), you may do so by
+including the ``range`` keyword.
These commands are mostly only useful for failure testing, as
blocklists are normally maintained automatically and shouldn't need
manual intervention. ::
- ceph osd blocklist add ADDRESS[:source_port] [TIME]
- ceph osd blocklist rm ADDRESS[:source_port]
+ ceph osd blocklist ["range"] add ADDRESS[:source_port][/netmask_bits] [TIME]
+ ceph osd blocklist ["range"] rm ADDRESS[:source_port][/netmask_bits]
Creates/deletes a snapshot of a pool. ::
.. _Create a Pool: ../pools#createpool
.. _Mapping PGs to OSDs: ../../../architecture#mapping-pgs-to-osds
-.. _pgcalc: http://ceph.com/pgcalc/
+.. _pgcalc: https://old.ceph.com/pgcalc/
are sufficient for some pools, but others (especially those listed in
``placement_pools`` for the bucket index and data) will require additional
tuning. We recommend using the `Ceph Placement Group’s per Pool
-Calculator <http://ceph.com/pgcalc/>`__ to calculate a suitable number of
+Calculator <https://old.ceph.com/pgcalc/>`__ to calculate a suitable number of
placement groups for these pools. See
`Pools <http://docs.ceph.com/en/latest/rados/operations/pools/#pools>`__
for details on pool creation.
- ``rbd_persistent_cache_size`` The cache size per image. The minimum cache
size is 1 GB.
-- ``rbd_persistent_cache_log_periodic_stats`` This is a debug option. It is
- used to emit periodic perf stats to the debug log if ``debug rbd pwl`` is
- set to ``1`` or higher.
-
The above configurations can be set per-host, per-pool, per-image etc. Eg, to
set per-host, add the overrides to the appropriate `section`_ in the host's
``ceph.conf`` file. To set per-pool, per-image, etc, please refer to the
rbd status {pool-name}/{image-name}
The status of the cache is shown, including present, clean, cache size and the
-location. Currently the status is updated only at the time the cache is opened
-and closed and therefore may appear to be out of date (e.g. show that the cache
-is clean when it is actually dirty).
+location as well as some basic metrics.
For example::
$ rbd status rbd/foo
- Watchers: none
- Image cache state: {"present":"true","empty":"false","clean":"true","cache_type":"ssd","pwl_host":"sceph9","pwl_path":"/tmp/rbd-pwl.rbd.abcdef123456.pool","pwl_size":1073741824}
+ Watchers:
+ watcher=10.10.0.102:0/1061883624 client.25496 cookie=140338056493088
+ Persistent cache state:
+ host: sceph9
+ path: /mnt/nvme0/rbd-pwl.rbd.101e5824ad9a.pool
+ size: 1 GiB
+ mode: ssd
+ stats_timestamp: Sun Apr 10 13:26:32 2022
+ present: true empty: false clean: false
+ allocated: 509 MiB
+ cached: 501 MiB
+ dirty: 338 MiB
+ free: 515 MiB
+ hits_full: 1450 / 61%
+ hits_partial: 0 / 0%
+ misses: 924
+ hit_bytes: 192 MiB / 66%
+ miss_bytes: 97 MiB
+
+Flush Cache
+-----------
+
+To flush a cache file with ``rbd``, specify the ``persistent-cache flush``
+command, the pool name and the image name. ::
+
+ rbd persistent-cache flush {pool-name}/{image-name}
+
+If the application dies unexpectedly, this command can also be used to flush
+the cache back to OSDs.
+
+For example::
+
+ $ rbd persistent-cache flush rbd/foo
-Discard Cache
--------------
+Invalidate Cache
+----------------
-To discard a cache file with ``rbd``, specify the ``image-cache invalidate``
-option, the pool name and the image name. ::
+To invalidate (discard) a cache file with ``rbd``, specify the
+``persistent-cache invalidate`` command, the pool name and the image name. ::
- rbd image-cache invalidate {pool-name}/{image-name}
+ rbd persistent-cache invalidate {pool-name}/{image-name}
-The command removes the cache metadata of the corresponding image, disable
+The command removes the cache metadata of the corresponding image, disables
the cache feature and deletes the local cache file if it exists.
For example::
- $ rbd image-cache invalidate rbd/foo
+ $ rbd persistent-cache invalidate rbd/foo
.. _section: ../../rados/configuration/ceph-conf/#configuration-sections
.. _commands: ../../man/8/rbd#commands
:maxdepth: 1
:hidden:
+ Quincy (v17.2.*) <quincy>
Pacific (v16.2.*) <pacific>
Octopus (v15.2.*) <octopus>
Release timeline
----------------
-.. ceph_timeline:: releases.yml pacific octopus nautilus
+.. ceph_timeline:: releases.yml quincy pacific octopus
+
+.. _Quincy: quincy
+.. _17.2.0: quincy#v17-2-0-quincy
.. _Pacific: pacific
--- /dev/null
+======
+Quincy
+======
+
+Quincy is the 17th stable release of Ceph. It is named after Squidward
+Quincy Tentacles from Spongebob Squarepants.
+
+v17.2.0 Quincy
+==============
+
+This is the first stable release of Ceph Quincy.
+
+Major Changes from Pacific
+--------------------------
+
+General
+~~~~~~~
+
+* Filestore has been deprecated in Quincy. BlueStore is Ceph's default object
+ store.
+
+* The `ceph-mgr-modules-core` debian package no longer recommends
+ `ceph-mgr-rook`. `ceph-mgr-rook` depends on `python3-numpy`, which
+ cannot be imported in different Python sub-interpreters multiple times
+ when the version of `python3-numpy` is older than 1.19. Because
+ `apt-get` installs the `Recommends` packages by default, `ceph-mgr-rook`
+ was always installed along with the `ceph-mgr` debian package as an
+ indirect dependency. If your workflow depends on this behavior, you
+ might want to install `ceph-mgr-rook` separately.
+
+* The ``device_health_metrics`` pool has been renamed ``.mgr``. It is now
+ used as a common store for all ``ceph-mgr`` modules. After upgrading to
+ Quincy, the ``device_health_metrics`` pool will be renamed to ``.mgr``
+ on existing clusters.
+
+* The ``ceph pg dump`` command now prints three additional columns:
+ `LAST_SCRUB_DURATION` shows the duration (in seconds) of the last completed
+ scrub;
+ `SCRUB_SCHEDULING` conveys whether a PG is scheduled to be scrubbed at a
+ specified time, whether it is queued for scrubbing, or whether it is being
+ scrubbed;
+ `OBJECTS_SCRUBBED` shows the number of objects scrubbed in a PG after a
+ scrub begins.
+
+* A health warning is now reported if the ``require-osd-release`` flag
+ is not set to the appropriate release after a cluster upgrade.
+
+* LevelDB support has been removed. ``WITH_LEVELDB`` is no longer a supported
+ build option. Users *should* migrate their monitors and OSDs to RocksDB
+ before upgrading to Quincy.
+
+* Cephadm: ``osd_memory_target_autotune`` is enabled by default, which sets
+ ``mgr/cephadm/autotune_memory_target_ratio`` to ``0.7`` of total RAM. This
+ is unsuitable for hyperconverged infrastructures. For hyperconverged Ceph,
+ please refer to the documentation or set
+ ``mgr/cephadm/autotune_memory_target_ratio`` to ``0.2``.
+
+* telemetry: Improved the opt-in flow so that users can keep sharing the same
+ data, even when new data collections are available. A new 'perf' channel that
+ collects various performance metrics is now avaiable to opt into with:
+ `ceph telemetry on`
+ `ceph telemetry enable channel perf`
+ See a sample report with `ceph telemetry preview`.
+ Note that generating a telemetry report with 'perf' channel data might
+ take a few moments in big clusters.
+ For more details, see:
+ https://docs.ceph.com/en/quincy/mgr/telemetry/
+
+* MGR: The progress module disables the pg recovery event by default since the
+ event is expensive and has interrupted other services when there are OSDs
+ being marked in/out from the the cluster. However, the user can still enable
+ this event anytime. For more detail, see:
+
+ https://docs.ceph.com/en/quincy/mgr/progress/
+
+* https://tracker.ceph.com/issues/55383 is a known issue -
+ ``mon_cluster_log_to_journald`` needs to be set to false, when
+ ``mon_cluster_log_to_file`` is set to true to continue to log cluster
+ log messages to file, after log rotation.
+
+Cephadm
+-------
+
+* SNMP Support
+* Colocation of Daemons (mgr, mds, rgw)
+* osd memory autotuning
+* Integration with new NFS mgr module
+* Ability to zap osds as they are removed
+* cephadm agent for increased performance/scalability
+
+Dashboard
+~~~~~~~~~
+* Day 1: the new "Cluster Expansion Wizard" will guide users through post-install steps:
+ adding new hosts, storage devices or services.
+* NFS: the Dashboard now allows users to fully manage all NFS exports from a single place.
+* New mgr module (feedback): users can quickly report Ceph tracker issues
+ or suggestions directly from the Dashboard or the CLI.
+* New "Message of the Day": cluster admins can publish a custom message in a banner.
+* Cephadm integration improvements:
+ * Host management: maintenance, specs and labelling,
+ * Service management: edit and display logs,
+ * Daemon management (start, stop, restart, reload),
+ * New services supported: ingress (HAProxy) and SNMP-gateway.
+* Monitoring and alerting:
+ * 43 new alerts have been added (totalling 68) improving observability of events affecting:
+ cluster health, monitors, storage devices, PGs and CephFS.
+ * Alerts can now be sent externally as SNMP traps via the new SNMP gateway service
+ (the MIB is provided).
+ * Improved integrated full/nearfull event notifications.
+ * Grafana Dashboards now use grafonnet format (though they're still available
+ in JSON format).
+ * Stack update: images for monitoring containers have been updated.
+ Grafana 8.3.5, Prometheus 2.33.4, Alertmanager 0.23.0 and Node Exporter 1.3.1.
+ This reduced exposure to several Grafana vulnerabilities (CVE-2021-43798,
+ CVE-2021-39226, CVE-2021-43798, CVE-2020-29510, CVE-2020-29511).
+
+RADOS
+~~~~~
+
+* OSD: Ceph now uses `mclock_scheduler` for BlueStore OSDs as its default
+ `osd_op_queue` to provide QoS. The 'mclock_scheduler' is not supported
+ for Filestore OSDs. Therefore, the default 'osd_op_queue' is set to `wpq`
+ for Filestore OSDs and is enforced even if the user attempts to change it.
+ For more details on configuring mclock see,
+
+ https://docs.ceph.com/en/quincy/rados/configuration/mclock-config-ref/
+
+ An outstanding issue exists during runtime where the mclock config options
+ related to reservation, weight and limit cannot be modified after switching
+ to the `custom` mclock profile using the `ceph config set ...` command.
+ This is tracked by: https://tracker.ceph.com/issues/55153. Until the issue
+ is fixed, users are advised to avoid using the 'custom' profile or use the
+ workaround mentioned in the tracker.
+
+* MGR: The pg_autoscaler can now be turned `on` and `off` globally
+ with the `noautoscale` flag. By default, it is set to `on`, but this flag
+ can come in handy to prevent rebalancing triggered by autoscaling during
+ cluster upgrade and maintenance. Pools can now be created with the `--bulk`
+ flag, which allows the autoscaler to allocate more PGs to such pools. This
+ can be useful to get better out of the box performance for data-heavy pools.
+
+ For more details about autoscaling, see:
+ https://docs.ceph.com/en/quincy/rados/operations/placement-groups/
+
+* OSD: Support for on-wire compression for osd-osd communication, `off` by
+ default.
+
+ For more details about compression modes, see:
+ https://docs.ceph.com/en/quincy/rados/configuration/msgr2/#compression-modes
+
+* OSD: Concise reporting of slow operations in the cluster log. The old
+ and more verbose logging behavior can be regained by setting
+ `osd_aggregated_slow_ops_logging` to false.
+
+* the "kvs" Ceph object class is not packaged anymore. The "kvs" Ceph
+ object class offers a distributed flat b-tree key-value store that
+ is implemented on top of the librados objects omap. Because there
+ are no existing internal users of this object class, it is not
+ packaged anymore.
+
+RBD block storage
+~~~~~~~~~~~~~~~~~
+
+* rbd-nbd: `rbd device attach` and `rbd device detach` commands added,
+ these allow for safe reattach after `rbd-nbd` daemon is restarted since
+ Linux kernel 5.14.
+
+* rbd-nbd: `notrim` map option added to support thick-provisioned images,
+ similar to krbd.
+
+* Large stabilization effort for client-side persistent caching on SSD
+ devices, also available in 16.2.8. For details on usage, see:
+
+ https://docs.ceph.com/en/quincy/rbd/rbd-persistent-write-log-cache/
+
+* Several bug fixes in diff calculation when using fast-diff image
+ feature + whole object (inexact) mode. In some rare cases these
+ long-standing issues could cause an incorrect `rbd export`. Also
+ fixed in 15.2.16 and 16.2.8.
+
+* Fix for a potential performance degradation when running Windows VMs
+ on krbd. For details, see `rxbounce` map option description:
+
+ https://docs.ceph.com/en/quincy/man/8/rbd/#kernel-rbd-krbd-options
+
+RGW object storage
+~~~~~~~~~~~~~~~~~~
+
+* RGW now supports rate limiting by user and/or by bucket. With this
+ feature it is possible to limit user and/or bucket, the total operations
+ and/or bytes per minute can be delivered. This feature allows the
+ admin to limit only READ operations and/or WRITE operations. The
+ rate-limiting configuration could be applied on all users and all buckets
+ by using global configuration.
+
+* `radosgw-admin realm delete` has been renamed to `radosgw-admin realm
+ rm`. This is consistent with the help message.
+
+* S3 bucket notification events now contain an `eTag` key instead of
+ `etag`, and eventName values no longer carry the `s3:` prefix, fixing
+ deviations from the message format that is observed on AWS.
+
+* It is possible to specify ssl options and ciphers for beast frontend
+ now. The default ssl options setting is
+ "no_sslv2:no_sslv3:no_tlsv1:no_tlsv1_1". If you want to return to the old
+ behavior, add 'ssl_options=' (empty) to the ``rgw frontends`` configuration.
+
+* The behavior for Multipart Upload was modified so that only
+ CompleteMultipartUpload notification is sent at the end of the multipart
+ upload. The POST notification at the beginning of the upload and the PUT
+ notifications that were sent on each part are no longer sent.
+
+
+CephFS distributed file system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* fs: A file system can be created with a specific ID ("fscid"). This is
+ useful in certain recovery scenarios (for example, when a monitor
+ database has been lost and rebuilt, and the restored file system is
+ expected to have the same ID as before).
+
+* fs: A file system can be renamed using the `fs rename` command. Any cephx
+ credentials authorized for the old file system name will need to be
+ reauthorized to the new file system name. Since the operations of the clients
+ using these re-authorized IDs may be disrupted, this command requires the
+ "--yes-i-really-mean-it" flag. Also, mirroring is expected to be disabled
+ on the file system.
+
+* MDS upgrades no longer require all standby MDS daemons to be stoped before
+ upgrading a file systems's sole active MDS.
+
+* CephFS: Failure to replay the journal by a standby-replay daemon now
+ causes the rank to be marked "damaged".
+
+Upgrading from Octopus or Pacific
+----------------------------------
+
+Quincy does not support LevelDB. Please migrate your OSDs and monitors
+to RocksDB before upgrading to Quincy.
+
+Before starting, make sure your cluster is stable and healthy (no down or
+recovering OSDs). (This is optional, but recommended.) You can disable
+the autoscaler for all pools during the upgrade using the noautoscale flag.
+
+.. note::
+
+ You can monitor the progress of your upgrade at each stage with the
+ ``ceph versions`` command, which will tell you what ceph version(s) are
+ running for each type of daemon.
+
+Upgrading cephadm clusters
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If your cluster is deployed with cephadm (first introduced in Octopus), then
+the upgrade process is entirely automated. To initiate the upgrade,
+
+ .. prompt:: bash #
+
+ ceph orch upgrade start --ceph-version 17.2.0
+
+The same process is used to upgrade to future minor releases.
+
+Upgrade progress can be monitored with ``ceph -s`` (which provides a simple
+progress bar) or more verbosely with
+
+ .. prompt:: bash #
+
+ ceph -W cephadm
+
+The upgrade can be paused or resumed with
+
+ .. prompt:: bash #
+
+ ceph orch upgrade pause # to pause
+ ceph orch upgrade resume # to resume
+
+or canceled with
+
+ .. prompt:: bash #
+
+ ceph orch upgrade stop
+
+Note that canceling the upgrade simply stops the process; there is no ability to
+downgrade back to Octopus or Pacific.
+
+
+Upgrading non-cephadm clusters
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. note::
+ If you cluster is running Octopus (15.2.x) or later, you might choose
+ to first convert it to use cephadm so that the upgrade to Quincy
+ is automated (see above). For more information, see
+ :ref:`cephadm-adoption`.
+
+#. Set the ``noout`` flag for the duration of the upgrade. (Optional,
+ but recommended.)::
+
+ # ceph osd set noout
+
+#. Upgrade monitors by installing the new packages and restarting the
+ monitor daemons. For example, on each monitor host,::
+
+ # systemctl restart ceph-mon.target
+
+ Once all monitors are up, verify that the monitor upgrade is
+ complete by looking for the ``quincy`` string in the mon
+ map. The command::
+
+ # ceph mon dump | grep min_mon_release
+
+ should report::
+
+ min_mon_release 17 (quincy)
+
+ If it doesn't, that implies that one or more monitors hasn't been
+ upgraded and restarted and/or the quorum does not include all monitors.
+
+#. Upgrade ``ceph-mgr`` daemons by installing the new packages and
+ restarting all manager daemons. For example, on each manager host,::
+
+ # systemctl restart ceph-mgr.target
+
+ Verify the ``ceph-mgr`` daemons are running by checking ``ceph
+ -s``::
+
+ # ceph -s
+
+ ...
+ services:
+ mon: 3 daemons, quorum foo,bar,baz
+ mgr: foo(active), standbys: bar, baz
+ ...
+
+#. Upgrade all OSDs by installing the new packages and restarting the
+ ceph-osd daemons on all OSD hosts::
+
+ # systemctl restart ceph-osd.target
+
+#. Upgrade all CephFS MDS daemons. For each CephFS file system,
+
+ #. Disable standby_replay::
+
+ # ceph fs set <fs_name> allow_standby_replay false
+
+ #. Reduce the number of ranks to 1. (Make note of the original
+ number of MDS daemons first if you plan to restore it later.)::
+
+ # ceph status
+ # ceph fs set <fs_name> max_mds 1
+
+ #. Wait for the cluster to deactivate any non-zero ranks by
+ periodically checking the status::
+
+ # ceph status
+
+ #. Take all standby MDS daemons offline on the appropriate hosts with::
+
+ # systemctl stop ceph-mds@<daemon_name>
+
+ #. Confirm that only one MDS is online and is rank 0 for your FS::
+
+ # ceph status
+
+ #. Upgrade the last remaining MDS daemon by installing the new
+ packages and restarting the daemon::
+
+ # systemctl restart ceph-mds.target
+
+ #. Restart all standby MDS daemons that were taken offline::
+
+ # systemctl start ceph-mds.target
+
+ #. Restore the original value of ``max_mds`` for the volume::
+
+ # ceph fs set <fs_name> max_mds <original_max_mds>
+
+#. Upgrade all radosgw daemons by upgrading packages and restarting
+ daemons on all hosts::
+
+ # systemctl restart ceph-radosgw.target
+
+#. Complete the upgrade by disallowing pre-Quincy OSDs and enabling
+ all new Quincy-only functionality::
+
+ # ceph osd require-osd-release quincy
+
+#. If you set ``noout`` at the beginning, be sure to clear it with::
+
+ # ceph osd unset noout
+
+#. Consider transitioning your cluster to use the cephadm deployment
+ and orchestration framework to simplify cluster management and
+ future upgrades. For more information on converting an existing
+ cluster to cephadm, see :ref:`cephadm-adoption`.
+
+Post-upgrade
+~~~~~~~~~~~~
+
+#. Verify the cluster is healthy with ``ceph health``. If your cluster is
+ running Filestore, a deprecation warning is expected. This warning can
+ be temporarily muted using the following command::
+
+ ceph health mute OSD_FILESTORE
+
+#. If you are upgrading from Mimic, or did not already do so when you
+ upgraded to Nautilus, we recommend you enable the new :ref:`v2
+ network protocol <msgr2>`, issue the following command::
+
+ ceph mon enable-msgr2
+
+ This will instruct all monitors that bind to the old default port
+ 6789 for the legacy v1 protocol to also bind to the new 3300 v2
+ protocol port. To see if all monitors have been updated,::
+
+ ceph mon dump
+
+ and verify that each monitor has both a ``v2:`` and ``v1:`` address
+ listed.
+
+#. Consider enabling the :ref:`telemetry module <telemetry>` to send
+ anonymized usage statistics and crash information to the Ceph
+ upstream developers. To see what would be reported (without actually
+ sending any information to anyone),::
+
+ ceph telemetry preview-all
+
+ If you are comfortable with the data that is reported, you can opt-in to
+ automatically report the high-level cluster metadata with::
+
+ ceph telemetry on
+
+ The public dashboard that aggregates Ceph telemetry can be found at
+ `https://telemetry-public.ceph.com/ <https://telemetry-public.ceph.com/>`_.
+
+ For more information about the telemetry module, see :ref:`the
+ documentation <telemetry>`.
+
+
+Upgrading from pre-Octopus releases (like Nautilus)
+---------------------------------------------------
+
+
+You *must* first upgrade to Octopus (15.2.z) or Pacific (16.2.z) before
+upgrading to Quincy.
# If a version might represent an actual number (e.g. 0.80) quote it.
#
releases:
+ quincy:
+ target_eol: 2024-06-01
+ releases:
+ - version: 17.2.0
+ released: 2022-04-19
+
pacific:
target_eol: 2023-06-01
releases:
======
Bluestore uses its own memory to cache data rather than relying on the
-operating system page cache. In bluestore you can adjust the amount of memory
-the OSD attempts to consume with the ``osd_memory_target`` configuration
-option.
+operating system's page cache. In Bluestore you can adjust the amount of memory
+that the OSD attempts to consume by changing the :confval:`osd_memory_target`
+configuration option.
-- Setting the osd_memory_target below 2GB is typically not recommended (it may
- fail to keep the memory that low and may also cause extremely slow performance.
+- Setting the :confval:`osd_memory_target` below 2GB is typically not
+ recommended (Ceph may fail to keep the memory consumption under 2GB and
+ this may cause extremely slow performance).
- Setting the memory target between 2GB and 4GB typically works but may result
in degraded performance as metadata may be read from disk during IO unless the
active data set is relatively small.
-- 4GB is the current default osd_memory_target size and was set that way to try
- and balance memory requirements and OSD performance for typical use cases.
+- 4GB is the current default :confval:`osd_memory_target` size. This default
+ was chosen for typical use cases, and is intended to balance memory
+ requirements and OSD performance.
-- Setting the osd_memory_target higher than 4GB may improve performance when
- there are many (small) objects or large (256GB/OSD or more) data sets being
- processed.
+- Setting the :confval:`osd_memory_target` higher than 4GB can improve
+ performance when there many (small) objects or when large (256GB/OSD
+ or more) data sets are processed.
.. important:: The OSD memory autotuning is "best effort". While the OSD may
unmap memory to allow the kernel to reclaim it, there is no guarantee that
- the kernel will actually reclaim freed memory within any specific time
- frame. This is especially true in older versions of Ceph where transparent
- huge pages can prevent the kernel from reclaiming memory freed from
+ the kernel will actually reclaim freed memory within a specific time
+ frame. This applies especially in older versions of Ceph, where transparent
+ huge pages can prevent the kernel from reclaiming memory that was freed from
fragmented huge pages. Modern versions of Ceph disable transparent huge
pages at the application level to avoid this, though that still does not
guarantee that the kernel will immediately reclaim unmapped memory. The OSD
kernel. That value may be more or less than needed depending on the exact
configuration of the system.
-When using the legacy FileStore backend, the page cache is used for caching
-data, so no tuning is normally needed, and the OSD memory consumption is
-generally related to the number of PGs per daemon in the system.
+When using the legacy FileStore back end, the page cache is used for caching
+data, so no tuning is normally needed. When using the legacy FileStore backend,
+the OSD memory consumption is related to the number of PGs per daemon in the
+system.
Data Storage
``ceph-osd``) stores data, handles data replication, recovery,
rebalancing, and provides some monitoring information to Ceph
Monitors and Managers by checking other Ceph OSD Daemons for a
- heartbeat. At least 3 Ceph OSDs are normally required for redundancy
- and high availability.
+ heartbeat. At least three Ceph OSDs are normally required for
+ redundancy and high availability.
- **MDSs**: A :term:`Ceph Metadata Server` (MDS, ``ceph-mds``) stores
metadata on behalf of the :term:`Ceph File System` (i.e., Ceph Block
The charts below show how Ceph's requirements map onto various Linux
platforms. Generally speaking, there is very little dependence on
-specific distributions aside from the kernel and system initialization
+specific distributions outside of the kernel and system initialization
package (i.e., sysvinit, systemd).
-Octopus (15.2.z)
------------------
-
-+----------+----------+--------------------+--------------+---------+------------+
-| Distro | Release | Code Name | Kernel | Notes | Testing |
-+==========+==========+====================+==============+=========+============+
-| CentOS | 8 | N/A | linux-4.18 | | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| CentOS | 7 | N/A | linux-3.10.0 | 4, 5 | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| Debian | 10 | Buster | linux-4.19 | | B |
-+----------+----------+--------------------+--------------+---------+------------+
-| RHEL | 8 | Ootpa | linux-4.18 | | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| RHEL | 7 | Maipo | linux-3.10.0 | | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| Ubuntu | 18.04 | Bionic Beaver | linux-4.15 | 4 | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| openSUSE | 15.2 | Leap | linux-5.3 | 6 | |
-+----------+----------+--------------------+--------------+---------+------------+
-| openSUSE | | Tumbleweed | | | |
-+----------+----------+--------------------+--------------+---------+------------+
-
-
-Nautilus (14.2.z)
------------------
-
-+----------+----------+--------------------+--------------+---------+------------+
-| Distro | Release | Code Name | Kernel | Notes | Testing |
-+==========+==========+====================+==============+=========+============+
-| CentOS | 7 | N/A | linux-3.10.0 | 3 | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| Debian | 8.0 | Jessie | linux-3.16.0 | 1, 2 | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| Debian | 9.0 | Stretch | linux-4.9 | 1, 2 | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| RHEL | 7 | Maipo | linux-3.10.0 | | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| Ubuntu | 14.04 | Trusty Tahr | linux-3.13.0 | | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| Ubuntu | 16.04 | Xenial Xerus | linux-4.4.0 | 3 | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| Ubuntu | 18.04 | Bionic Beaver | linux-4.15 | 3 | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| openSUSE | 15.1 | Leap | linux-4.12 | 6 | |
-+----------+----------+--------------------+--------------+---------+------------+
-
-Luminous (12.2.z)
------------------
-
-+----------+----------+--------------------+--------------+---------+------------+
-| Distro | Release | Code Name | Kernel | Notes | Testing |
-+==========+==========+====================+==============+=========+============+
-| CentOS | 7 | N/A | linux-3.10.0 | 3 | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| Debian | 8.0 | Jessie | linux-3.16.0 | 1, 2 | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| Debian | 9.0 | Stretch | linux-4.9 | 1, 2 | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| Fedora | 22 | N/A | linux-3.14.0 | | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| RHEL | 7 | Maipo | linux-3.10.0 | | B, I |
-+----------+----------+--------------------+--------------+---------+------------+
-| Ubuntu | 14.04 | Trusty Tahr | linux-3.13.0 | | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-| Ubuntu | 16.04 | Xenial Xerus | linux-4.4.0 | 3 | B, I, C |
-+----------+----------+--------------------+--------------+---------+------------+
-
-Notes
------
-
-- **1**: The default kernel has an older version of ``Btrfs`` that we do not
- recommend for ``ceph-osd`` storage nodes. We recommend using ``BlueStore``
- starting with Luminous, and ``XFS`` for previous releases with ``Filestore``.
-
-- **2**: The default kernel has an old Ceph client that we do not recommend
- for kernel client (kernel RBD or the Ceph file system). Upgrade to a
- recommended kernel.
-
-- **3**: The default kernel regularly fails in QA when the ``Btrfs``
- file system is used. We recommend using ``BlueStore`` starting from
- Luminous, and ``XFS`` for previous releases with ``Filestore``.
-
-- **4**: ``btrfs`` is no longer tested on this release. We recommend
- using ``bluestore``.
-
-- **5**: Some additional features related to dashboard are not available.
-
-- **6**: Packages are built regularly, but not distributed by upstream Ceph.
-
-Testing
--------
-
-- **B**: We build release packages for this platform. For some of these
- platforms, we may also continuously build all Ceph branches and perform
- basic unit tests.
-
-- **I**: We do basic installation and functionality tests of releases on this
- platform.
-
-- **C**: We run a comprehensive functional, regression, and stress test suite
- on this platform on a continuous basis. This includes development branches,
- pre-release, and released code.
++--------------+--------+------------------------+--------------------------------+-------------------+-----------------+
+| Release Name | Tag | CentOS | Ubuntu | OpenSUSE :sup:`C` | Debian :sup:`C` |
++==============+========+========================+================================+===================+=================+
+| Quincy | 17.2.z | 8 :sup:`A` | 20.04 :sup:`A` | 15.3 | 11 |
++--------------+--------+------------------------+--------------------------------+-------------------+-----------------+
+| Pacific | 16.2.z | 8 :sup:`A` | 18.04 :sup:`C`, 20.04 :sup:`A` | 15.2 | 10, 11 |
++--------------+--------+------------------------+--------------------------------+-------------------+-----------------+
+| Octopus | 15.2.z | 7 :sup:`B` 8 :sup:`A` | 18.04 :sup:`C`, 20.04 :sup:`A` | 15.2 | 10 |
++--------------+--------+------------------------+--------------------------------+-------------------+-----------------+
+
+- **A**: Ceph provides packages and has done comprehensive tests on the software in them.
+- **B**: Ceph provides packages and has done basic tests on the software in them.
+- **C**: Ceph provides packages only. No tests have been done on these releases.
+
+.. note::
+ **For Centos 7 Users**
+
+ ``Btrfs`` is no longer tested on Centos 7 in the Octopus release. We recommend using ``bluestore`` instead.
.. _CRUSH Tunables: ../../rados/operations/crush-map#tunables
osd op queue cut off: debug_random
osd debug verify missing on start: true
osd debug verify cached snaps: true
+ bluestore zero block detection: true
mon:
mon scrub interval: 300
- cephadm.shell:
env: [sha1]
host.a:
- - while ceph orch upgrade status | jq '.in_progress' | grep true ; do ceph orch ps ; ceph versions ; sleep 30 ; done
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
- ceph orch ps
- ceph versions
- echo "wait for servicemap items w/ changing names to refresh"
+++ /dev/null
-tasks:
-- cephadm.shell:
- env: [sha1]
- mon.a:
- - radosgw-admin realm create --rgw-realm=r --default
- - radosgw-admin zonegroup create --rgw-zonegroup=default --master --default
- - radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=z --master --default
- - radosgw-admin period update --rgw-realm=r --commit
- - ceph orch apply rgw r z --placement=2 --port=8000
- - sleep 120
- - ceph config set mon mon_warn_on_insecure_global_id_reclaim false --force
- - ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false --force
- - ceph config set global log_to_journald false --force
- - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
--- /dev/null
+../.qa/
\ No newline at end of file
--- /dev/null
+tasks:
+- cephadm.shell:
+ env: [sha1]
+ mon.a:
+ - radosgw-admin realm create --rgw-realm=r --default
+ - radosgw-admin zonegroup create --rgw-zonegroup=default --master --default
+ - radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=z --master --default
+ - radosgw-admin period update --rgw-realm=r --commit
+ - ceph orch apply rgw r z --placement=2 --port=8000
+ - sleep 120
+ - ceph config set mon mon_warn_on_insecure_global_id_reclaim false --force
+ - ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false --force
+ - ceph config set global log_to_journald false --force
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
--- /dev/null
+tasks:
+- cephadm.shell:
+ env: [sha1]
+ mon.a:
+ - radosgw-admin realm create --rgw-realm=r --default
+ - radosgw-admin zonegroup create --rgw-zonegroup=default --master --default
+ - radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=z --master --default
+ - radosgw-admin period update --rgw-realm=r --commit
+ - ceph orch apply rgw r z --placement=2 --port=8000
+ - sleep 180
+ - ceph config set mon mon_warn_on_insecure_global_id_reclaim false --force
+ - ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false --force
+ - ceph config set global log_to_journald false --force
+ # get some good info on the state of things pre-upgrade. Useful for debugging
+ - ceph orch ps
+ - ceph versions
+ - ceph -s
+ - ceph orch ls
+ # doing staggered upgrade requires mgr daemons being on a version that contains the staggered upgrade code
+ # until there is a stable version that contains it, we can test by manually upgrading a mgr daemon
+ - ceph config set mgr container_image quay.ceph.io/ceph-ci/ceph:$sha1
+ - ceph orch daemon redeploy "mgr.$(ceph mgr dump -f json | jq .standbys | jq .[] | jq -r .name)"
+ - ceph orch ps --refresh
+ - sleep 180
+ # gather more possible debugging info
+ - ceph orch ps
+ - ceph versions
+ - ceph -s
+ # check that there are two different versions found for mgr daemon (which implies we upgraded one)
+ - ceph versions | jq -e '.mgr | length == 2'
+ - ceph mgr fail
+ - sleep 180
+ # now try upgrading the other mgr
+ # we should now have access to --image flag for the daemon redeploy command
+ - ceph orch daemon redeploy "mgr.$(ceph mgr dump -f json | jq .standbys | jq .[] | jq -r .name)" --image quay.ceph.io/ceph-ci/ceph:$sha1
+ - ceph orch ps --refresh
+ - sleep 180
+ # gather more possible debugging info
+ - ceph orch ps
+ - ceph versions
+ - ceph -s
+ - ceph mgr fail
+ - sleep 180
+ # gather more debugging info
+ - ceph orch ps
+ - ceph versions
+ - ceph -s
+ # now that both mgrs should have been redeployed with the new version, we should be back on only 1 version for the mgrs
+ - ceph versions | jq -e '.mgr | length == 1'
+ - ceph mgr fail
+ - sleep 180
+ # debugging info
+ - ceph orch ps
+ - ceph versions
+ # to make sure mgr daemons upgrade is fully completed, including being deployed by a mgr on new new version
+ # also serves as an early failure if manually upgrading the mgrs failed as --daemon-types won't be recognized
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types mgr
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+ # verify only one version found for mgrs and that their version hash matches what we are upgrading to
+ - ceph versions | jq -e '.mgr | length == 1'
+ - ceph versions | jq -e '.mgr | keys' | grep $sha1
+ # verify overall we still se two versions, basically to make sure --daemon-types wans't ignored and all daemons upgraded
+ - ceph versions | jq -e '.overall | length == 2'
+ # check that exactly two daemons have been upgraded to the new image (our 2 mgr daemons)
+ - ceph orch upgrade check quay.ceph.io/ceph-ci/ceph:$sha1 | jq -e '.up_to_date | length == 2'
+ # upgrade only the mons on one of the two hosts
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types mon --hosts $(ceph orch ps | grep mgr.x | awk '{print $2}')
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+ - ceph orch ps
+ # verify tow different version seen for mons
+ - ceph versions | jq -e '.mon | length == 2'
+ # upgrade mons on the other hosts
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types mon --hosts $(ceph orch ps | grep mgr.y | awk '{print $2}')
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+ - ceph orch ps
+ # verify all mons now on same version and version hash matches what we are upgrading to
+ - ceph versions | jq -e '.mon | length == 1'
+ - ceph versions | jq -e '.mon | keys' | grep $sha1
+ # verify exactly 5 daemons are now upgraded (2 mgrs, 3 mons)
+ - ceph orch upgrade check quay.ceph.io/ceph-ci/ceph:$sha1 | jq -e '.up_to_date | length == 5'
+ # upgrade exactly 2 osd daemons
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types osd --limit 2
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+ - ceph orch ps
+ # verify two different versions now seen for osds
+ - ceph versions | jq -e '.osd | length == 2'
+ # verify exactly 7 daemons have been upgraded (2 mgrs, 3 mons, 2 osds)
+ - ceph orch upgrade check quay.ceph.io/ceph-ci/ceph:$sha1 | jq -e '.up_to_date | length == 7'
+ # upgrade one more osd
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types crash,osd --limit 1
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+ - ceph orch ps
+ - ceph versions | jq -e '.osd | length == 2'
+ # verify now 8 daemons have been upgraded
+ - ceph orch upgrade check quay.ceph.io/ceph-ci/ceph:$sha1 | jq -e '.up_to_date | length == 8'
+ # upgrade the rest of the osds
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types crash,osd
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+ - ceph orch ps
+ # verify all osds are now on same version and version hash matches what we are upgrading to
+ - ceph versions | jq -e '.osd | length == 1'
+ - ceph versions | jq -e '.osd | keys' | grep $sha1
+ # upgrade the rgw daemons using --services
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --services rgw.r.z
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+ - ceph orch ps
+ # verify all rgw daemons on same version and version hash matches what we are upgrading to
+ - ceph versions | jq -e '.rgw | length == 1'
+ - ceph versions | jq -e '.rgw | keys' | grep $sha1
+ # run upgrade one more time with no filter parameters to make sure anything left gets upgraded
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
- cephadm.shell:
env: [sha1]
mon.a:
- - while ceph orch upgrade status | jq '.in_progress' | grep true ; do ceph orch ps ; ceph versions ; sleep 30 ; done
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
- ceph orch ps
- ceph versions
- echo "wait for servicemap items w/ changing names to refresh"
- cephadm.shell:
mon.a:
- ceph orch upgrade ls
- - ceph orch upgrade ls --image quay.io/ceph/ceph | grep 16.2.0
+ - ceph orch upgrade ls --image quay.io/ceph/ceph --show-all-versions | grep 16.2.0
- ceph orch upgrade ls --image quay.io/ceph/ceph --tags | grep v16.2.2
osd map cache size: 1
osd scrub min interval: 60
osd scrub max interval: 120
+ osd max backfills: 6
tasks:
- thrashosds:
timeout: 1800
osd:
osd scrub min interval: 60
osd scrub max interval: 120
+ osd max backfills: 6
tasks:
- thrashosds:
timeout: 1200
- rgw: [client.0]
- s3tests:
client.0:
- force-branch: ceph-master
+ force-branch: ceph-quincy
rgw_server: client.0
overrides:
ceph:
- rgw: [client.0]
- s3tests:
client.0:
- force-branch: ceph-master
+ force-branch: ceph-quincy
rgw_server: client.0
overrides:
ceph:
def test_pause(self):
self._orch_cmd('pause')
- self.wait_for_health('CEPHADM_PAUSED', 30)
+ self.wait_for_health('CEPHADM_PAUSED', 60)
self._orch_cmd('resume')
- self.wait_for_health_clear(30)
+ self.wait_for_health_clear(60)
def test_daemon_restart(self):
self._orch_cmd('daemon', 'stop', 'osd.0')
- self.wait_for_health('OSD_DOWN', 30)
- with safe_while(sleep=1, tries=30) as proceed:
+ self.wait_for_health('OSD_DOWN', 60)
+ with safe_while(sleep=2, tries=30) as proceed:
while proceed():
j = json.loads(self._orch_cmd('ps', '--format', 'json'))
d = {d['daemon_name']: d for d in j}
break
time.sleep(5)
self._orch_cmd('daemon', 'start', 'osd.0')
- self.wait_for_health_clear(90)
+ self.wait_for_health_clear(120)
self._orch_cmd('daemon', 'restart', 'osd.0')
def test_device_ls_wide(self):
def test_cephfs_mirror(self):
self._orch_cmd('apply', 'cephfs-mirror')
- self.wait_until_true(lambda: 'cephfs-mirror' in self._orch_cmd('ps'), 30)
- self.wait_for_health_clear(30)
+ self.wait_until_true(lambda: 'cephfs-mirror' in self._orch_cmd('ps'), 60)
+ self.wait_for_health_clear(60)
self._orch_cmd('rm', 'cephfs-mirror')
- self.wait_until_true(lambda: 'cephfs-mirror' not in self._orch_cmd('ps'), 30)
+ self.wait_until_true(lambda: 'cephfs-mirror' not in self._orch_cmd('ps'), 60)
log.debug("_json_asok output empty")
return None
- def is_addr_blocklisted(self, addr=None):
- if addr is None:
- log.warn("Couldn't get the client address, so the blocklisted "
- "status undetermined")
- return False
-
- blocklist = json.loads(self.mon_manager.run_cluster_cmd(
- args=["osd", "blocklist", "ls", "--format=json"],
- stdout=StringIO()).stdout.getvalue())
- for b in blocklist:
- if addr == b["addr"]:
- return True
+ def is_addr_blocklisted(self, addr):
+ blocklist = json.loads(self.mon_manager.raw_cluster_cmd(
+ "osd", "dump", "--format=json"))['blocklist']
+ if addr in blocklist:
+ return True
+ log.warn(f'The address {addr} is not blocklisted')
return False
self.mount_a.stat(self.dir_name)
class TestGetAndPut(TestCephFSShell):
- def test_without_target_dir(self):
- """
- Test put and get commands without target path.
- """
- tempdir = self.mount_a.client_remote.mkdtemp()
- tempdirname = path.basename(tempdir)
- files = ('dump1', 'dump2', 'dump3', tempdirname)
-
- for i, file_ in enumerate(files[ : -1]):
- size = i + 1
- ofarg = 'of=' + path.join(tempdir, file_)
- bsarg = 'bs=' + str(size) + 'M'
- self.mount_a.run_shell_payload(f"dd if=/dev/urandom {ofarg} {bsarg} count=1")
-
- self.run_cephfs_shell_cmd('put ' + tempdir)
- for file_ in files:
- if file_ == tempdirname:
- self.mount_a.stat(path.join(self.mount_a.mountpoint, file_))
- else:
- self.mount_a.stat(path.join(self.mount_a.mountpoint,
- tempdirname, file_))
-
- self.mount_a.run_shell_payload(f"rm -rf {tempdir}")
-
- self.run_cephfs_shell_cmd('get ' + tempdirname)
- pwd = self.get_cephfs_shell_cmd_output('!pwd')
- for file_ in files:
- if file_ == tempdirname:
- self.mount_a.run_shell_payload(f"stat {path.join(pwd, file_)}")
- else:
- self.mount_a.run_shell_payload(f"stat {path.join(pwd, tempdirname, file_)}")
-
def test_get_with_target_name(self):
"""
Test that get passes with target name
o = self.mount_a.stat('dump4')
log.info("mount_a output:\n{}".format(o))
- o = self.get_cephfs_shell_cmd_output("get dump4 .")
+ o = self.get_cephfs_shell_cmd_output("get dump4 ./dump4")
log.info("cephfs-shell output:\n{}".format(o))
o = self.get_cephfs_shell_cmd_output("!cat dump4")
def test_get_without_target_name(self):
"""
- Test that get passes with target name
+ Test that get should fail when there is no target name
"""
- s = 'D' * 1024
- o = self.get_cephfs_shell_cmd_output("put - dump5", stdin=s)
- log.info("cephfs-shell output:\n{}".format(o))
-
+ s = 'Somedata'
# put - dump5 should pass
- o = self.mount_a.stat('dump5')
- log.info("mount_a output:\n{}".format(o))
-
- # get dump5 should fail
- o = self.get_cephfs_shell_cmd_output("get dump5")
- o = self.get_cephfs_shell_cmd_output("!stat dump5 || echo $?")
- log.info("cephfs-shell output:\n{}".format(o))
- l = o.split('\n')
- try:
- ret = int(l[1])
- # verify that stat dump5 passes
- # if ret == 1, then that implies the stat failed
- # which implies that there was a problem with "get dump5"
- assert(ret != 1)
- except ValueError:
- # we have a valid stat output; so this is good
- # if the int() fails then that means there's a valid stat output
- pass
+ self.get_cephfs_shell_cmd_output("put - dump5", stdin=s)
+
+ self.mount_a.stat('dump5')
+
+ # get dump5 should fail as there is no local_path mentioned
+ with self.assertRaises(CommandFailedError):
+ self.get_cephfs_shell_cmd_output("get dump5")
+
+ # stat dump would return non-zero exit code as get dump failed
+ # cwd=None because we want to run it at CWD, not at cephfs mntpt.
+ r = self.mount_a.run_shell('stat dump5', cwd=None,
+ check_status=False).returncode
+ self.assertEqual(r, 1)
+
+ def test_get_doesnt_create_dir(self):
+ # if get cmd is creating subdirs on its own then dump7 will be
+ # stored as ./dump7/tmp/dump7 and not ./dump7, therefore
+ # if doing `cat ./dump7` returns non-zero exit code(i.e. 1) then
+ # it implies that no such file exists at that location
+ dir_abspath = path.join(self.mount_a.mountpoint, 'tmp')
+ self.mount_a.run_shell_payload(f"mkdir {dir_abspath}")
+ self.mount_a.client_remote.write_file(path.join(dir_abspath, 'dump7'),
+ 'somedata')
+ self.get_cephfs_shell_cmd_output("get /tmp/dump7 ./dump7")
+ # test that dump7 exists
+ self.mount_a.run_shell("cat ./dump7", cwd=None)
def test_get_to_console(self):
"""
log.info("o_hash:{}".format(o_hash))
assert(s_hash == o_hash)
+ def test_put_without_target_name(self):
+ """
+ put - should fail as the cmd expects both arguments are mandatory.
+ """
+ with self.assertRaises(CommandFailedError):
+ self.get_cephfs_shell_cmd_output("put -")
+
+ def test_put_validate_local_path(self):
+ """
+ This test is intended to make sure local_path is validated before
+ trying to put the file from local fs to cephfs and the command
+ put ./dumpXYZ dump8 would fail as dumpXYX doesn't exist.
+ """
+ with self.assertRaises(CommandFailedError):
+ o = self.get_cephfs_shell_cmd_output("put ./dumpXYZ dump8")
+ log.info("cephfs-shell output:\n{}".format(o))
+
class TestSnapshots(TestCephFSShell):
def test_snap(self):
"""
import logging
import errno
-from teuthology.contextutil import safe_while
+from teuthology.contextutil import safe_while, MaxWhileTries
from teuthology.exceptions import CommandFailedError
from tasks.cephfs.cephfs_test_case import CephFSTestCase
break
return done, metrics
+ def _setup_fs(self, fs_name):
+ fs_a = self.mds_cluster.newfs(name=fs_name)
+
+ self.mds_cluster.mds_restart()
+
+ # Wait for filesystem to go healthy
+ fs_a.wait_for_daemons()
+
+ # Reconfigure client auth caps
+ for mount in self.mounts:
+ self.mds_cluster.mon_manager.raw_cluster_cmd_result(
+ 'auth', 'caps', f"client.{mount.client_id}",
+ 'mds', 'allow',
+ 'mon', 'allow r',
+ 'osd', f'allow rw pool={fs_a.get_data_pool_name()}')
+
+ return fs_a
+
# basic check to verify if we get back metrics from each active mds rank
def test_metrics_from_rank(self):
raise
else:
raise RuntimeError("expected the 'fs perf stat' command to fail for invalid client_ip")
+
+ def test_perf_stats_stale_metrics(self):
+ """
+ That `ceph fs perf stats` doesn't output stale metrics after the rank0 MDS failover
+ """
+ # validate
+ valid, metrics = self._get_metrics(self.verify_mds_metrics(
+ active_mds_count=1, client_count=TestMDSMetrics.CLIENTS_REQUIRED), 30)
+ log.debug(f'metrics={metrics}')
+ self.assertTrue(valid)
+
+ #mount_a and mount_b are the clients mounted for TestMDSMetrics. So get their
+ #entries from the global_metrics.
+ client_a_name = f'client.{self.mount_a.get_global_id()}'
+ client_b_name = f'client.{self.mount_b.get_global_id()}'
+
+ global_metrics = metrics['global_metrics']
+ client_a_metrics = global_metrics[client_a_name]
+ client_b_metrics = global_metrics[client_b_name]
+
+ #fail rank0 mds
+ self.fs.rank_fail(rank=0)
+
+ # Wait for 10 seconds for the failover to complete and
+ # the mgr to get initial metrics from the new rank0 mds.
+ time.sleep(10)
+
+ fscid = self.fs.id
+
+ # spread directory per rank
+ self._spread_directory_on_all_ranks(fscid)
+
+ # spread some I/O
+ self._do_spread_io_all_clients(fscid)
+
+ # wait a bit for mgr to get updated metrics
+ time.sleep(5)
+
+ # validate
+ try:
+ valid, metrics_new = self._get_metrics(self.verify_mds_metrics(
+ active_mds_count=1, client_count=TestMDSMetrics.CLIENTS_REQUIRED), 30)
+ log.debug(f'metrics={metrics_new}')
+ self.assertTrue(valid)
+
+ global_metrics = metrics_new['global_metrics']
+ client_a_metrics_new = global_metrics[client_a_name]
+ client_b_metrics_new = global_metrics[client_b_name]
+
+ #the metrics should be different for the test to succeed.
+ self.assertNotEqual(client_a_metrics, client_a_metrics_new)
+ self.assertNotEqual(client_b_metrics, client_b_metrics_new)
+ except MaxWhileTries:
+ raise RuntimeError("Failed to fetch `ceph fs perf stats` metrics")
+ finally:
+ # cleanup test directories
+ self._cleanup_test_dirs()
+
+ def test_client_metrics_and_metadata(self):
+ self.mount_a.umount_wait()
+ self.mount_b.umount_wait()
+
+ self.mds_cluster.mon_manager.raw_cluster_cmd("fs", "flag", "set",
+ "enable_multiple", "true",
+ "--yes-i-really-mean-it")
+
+ #creating filesystem
+ fs_a = self._setup_fs(fs_name = "fs1")
+
+ # Mount a client on fs_a
+ self.mount_a.mount_wait(cephfs_name=fs_a.name)
+ self.mount_a.write_n_mb("pad.bin", 1)
+ self.mount_a.write_n_mb("test.bin", 2)
+ self.mount_a.path_to_ino("test.bin")
+ self.mount_a.create_files()
+
+ #creating another filesystem
+ fs_b = self._setup_fs(fs_name = "fs2")
+
+ # Mount a client on fs_b
+ self.mount_b.mount_wait(cephfs_name=fs_b.name)
+ self.mount_b.write_n_mb("test.bin", 1)
+ self.mount_b.path_to_ino("test.bin")
+ self.mount_b.create_files()
+
+ # validate
+ valid, metrics = self._get_metrics(
+ self.verify_mds_metrics(client_count=TestMDSMetrics.CLIENTS_REQUIRED), 30)
+ log.debug(f"metrics={metrics}")
+ self.assertTrue(valid)
+
+ client_metadata = metrics['client_metadata']
+
+ for i in client_metadata:
+ if not (client_metadata[i]['hostname']):
+ raise RuntimeError("hostname not found!")
+ if not (client_metadata[i]['valid_metrics']):
+ raise RuntimeError("valid_metrics not found!")
+
'fs', 'mirror', 'status', f'{fs_name}@{fs_id}')
return res['rados_inst']
- def get_blocklisted_instances(self):
- return json.loads(self.mds_cluster.mon_manager.raw_cluster_cmd(
- "osd", "dump", "--format=json-pretty"))['blocklist']
-
def mirror_daemon_command(self, cmd_label, *args):
asok_path = self.get_daemon_admin_socket()
try:
self.mount_a.run_shell(['kill', '-SIGCONT', pid])
# check if the rados addr is blocklisted
- blocklist = self.get_blocklisted_instances()
- self.assertTrue(rados_inst in blocklist)
+ self.assertTrue(self.mds_cluster.is_addr_blocklisted(rados_inst))
# wait enough so that the mirror daemon restarts blocklisted instances
time.sleep(40)
self.mount_a.run_shell(['kill', '-SIGCONT', pid])
# check if the rados addr is blocklisted
- blocklist = self.get_blocklisted_instances()
- self.assertTrue(rados_inst in blocklist)
+ self.assertTrue(self.mds_cluster.is_addr_blocklisted(rados_inst))
time.sleep(500)
self.check_peer_status(self.primary_fs_name, self.primary_fs_id,
time.sleep(40)
# make sure the rados addr is blocklisted
- blocklist = self.get_blocklisted_instances()
- self.assertTrue(rados_inst in blocklist)
+ self.assertTrue(self.mds_cluster.is_addr_blocklisted(rados_inst))
# now we are sure that there are no "active" mirror daemons -- add a directory path.
dir_path_p = "/d0/d1"
from tasks.cephfs.fuse_mount import FuseMount
from tasks.cephfs.cephfs_test_case import CephFSTestCase
from teuthology.exceptions import CommandFailedError
+from textwrap import dedent
+from threading import Thread
import errno
+import platform
import time
import json
import logging
+import os
log = logging.getLogger(__name__)
self.mount_a.umount_wait(force=True)
p.wait()
+ def test_fuse_mount_on_already_mounted_path(self):
+ if platform.system() != "Linux":
+ self.skipTest("Require Linux platform")
+
+ if not isinstance(self.mount_a, FuseMount):
+ self.skipTest("Require FUSE client")
+
+ # Try to mount already mounted path
+ # expecting EBUSY error
+ try:
+ mount_cmd = ['sudo'] + self.mount_a._mount_bin + [self.mount_a.hostfs_mntpt]
+ self.mount_a.client_remote.run(args=mount_cmd, stderr=StringIO(),
+ stdout=StringIO(), timeout=60, omit_sudo=False)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.EBUSY)
+ else:
+ self.fail("Expected EBUSY")
+
def test_getattr_caps(self):
"""
Check if MDS recognizes the 'mask' parameter of open request.
self.assertEqual(lsflags["allow_multimds_snaps"], True)
self.assertEqual(lsflags["allow_standby_replay"], True)
+ def _test_sync_stuck_for_around_5s(self, dir_path, file_sync=False):
+ self.mount_a.run_shell(["mkdir", dir_path])
+
+ sync_dir_pyscript = dedent("""
+ import os
+
+ path = "{path}"
+ dfd = os.open(path, os.O_DIRECTORY)
+ os.fsync(dfd)
+ os.close(dfd)
+ """.format(path=dir_path))
+
+ # run create/delete directories and test the sync time duration
+ for i in range(300):
+ for j in range(5):
+ self.mount_a.run_shell(["mkdir", os.path.join(dir_path, f"{i}_{j}")])
+ start = time.time()
+ if file_sync:
+ self.mount_a.run_shell(['python3', '-c', sync_dir_pyscript])
+ else:
+ self.mount_a.run_shell(["sync"])
+ duration = time.time() - start
+ log.info(f"sync mkdir i = {i}, duration = {duration}")
+ self.assertLess(duration, 4)
+
+ for j in range(5):
+ self.mount_a.run_shell(["rm", "-rf", os.path.join(dir_path, f"{i}_{j}")])
+ start = time.time()
+ if file_sync:
+ self.mount_a.run_shell(['python3', '-c', sync_dir_pyscript])
+ else:
+ self.mount_a.run_shell(["sync"])
+ duration = time.time() - start
+ log.info(f"sync rmdir i = {i}, duration = {duration}")
+ self.assertLess(duration, 4)
+
+ self.mount_a.run_shell(["rm", "-rf", dir_path])
+
+ def test_filesystem_sync_stuck_for_around_5s(self):
+ """
+ To check whether the fsync will be stuck to wait for the mdlog to be
+ flushed for at most 5 seconds.
+ """
+
+ dir_path = "filesystem_sync_do_not_wait_mdlog_testdir"
+ self._test_sync_stuck_for_around_5s(dir_path)
+
+ def test_file_sync_stuck_for_around_5s(self):
+ """
+ To check whether the filesystem sync will be stuck to wait for the
+ mdlog to be flushed for at most 5 seconds.
+ """
+
+ dir_path = "file_sync_do_not_wait_mdlog_testdir"
+ self._test_sync_stuck_for_around_5s(dir_path, True)
+
+ def test_file_filesystem_sync_crash(self):
+ """
+ To check whether the kernel crashes when doing the file/filesystem sync.
+ """
+
+ stop_thread = False
+ dir_path = "file_filesystem_sync_crash_testdir"
+ self.mount_a.run_shell(["mkdir", dir_path])
+
+ def mkdir_rmdir_thread(mount, path):
+ #global stop_thread
+
+ log.info(" mkdir_rmdir_thread starting...")
+ num = 0
+ while not stop_thread:
+ n = num
+ m = num
+ for __ in range(10):
+ mount.run_shell(["mkdir", os.path.join(path, f"{n}")])
+ n += 1
+ for __ in range(10):
+ mount.run_shell(["rm", "-rf", os.path.join(path, f"{m}")])
+ m += 1
+ num += 10
+ log.info(" mkdir_rmdir_thread stopped")
+
+ def filesystem_sync_thread(mount, path):
+ #global stop_thread
+
+ log.info(" filesystem_sync_thread starting...")
+ while not stop_thread:
+ mount.run_shell(["sync"])
+ log.info(" filesystem_sync_thread stopped")
+
+ def file_sync_thread(mount, path):
+ #global stop_thread
+
+ log.info(" file_sync_thread starting...")
+ pyscript = dedent("""
+ import os
+
+ path = "{path}"
+ dfd = os.open(path, os.O_DIRECTORY)
+ os.fsync(dfd)
+ os.close(dfd)
+ """.format(path=path))
+
+ while not stop_thread:
+ mount.run_shell(['python3', '-c', pyscript])
+ log.info(" file_sync_thread stopped")
+
+ td1 = Thread(target=mkdir_rmdir_thread, args=(self.mount_a, dir_path,))
+ td2 = Thread(target=filesystem_sync_thread, args=(self.mount_a, dir_path,))
+ td3 = Thread(target=file_sync_thread, args=(self.mount_a, dir_path,))
+
+ td1.start()
+ td2.start()
+ td3.start()
+ time.sleep(1200) # run 20 minutes
+ stop_thread = True
+ td1.join()
+ td2.join()
+ td3.join()
+ self.mount_a.run_shell(["rm", "-rf", dir_path])
+
+
class TestCacheDrop(CephFSTestCase):
CLIENTS_REQUIRED = 1
log.info("Disabling NFS")
self._sys_cmd(['sudo', 'systemctl', 'disable', 'nfs-server', '--now'])
- def _fetch_nfs_status(self):
- return self._orch_cmd('ps', f'--service_name={self.expected_name}')
+ def _fetch_nfs_daemons_details(self, enable_json=False):
+ args = ('ps', f'--service_name={self.expected_name}')
+ if enable_json:
+ args = (*args, '--format=json')
+ return self._orch_cmd(*args)
+
+ def _check_nfs_cluster_event(self, expected_event):
+ '''
+ Check whether an event occured during the lifetime of the NFS service
+ :param expected_event: event that was expected to occur
+ '''
+ event_occurred = False
+ # Wait few seconds for NFS daemons' status to be updated
+ with contextutil.safe_while(sleep=10, tries=12, _raise=False) as proceed:
+ while not event_occurred and proceed():
+ daemons_details = json.loads(
+ self._fetch_nfs_daemons_details(enable_json=True))
+ log.info('daemons details %s', daemons_details)
+ for event in daemons_details[0]['events']:
+ log.info('daemon event %s', event)
+ if expected_event in event:
+ event_occurred = True
+ break
+ return event_occurred
def _check_nfs_cluster_status(self, expected_status, fail_msg):
'''
- Tests if nfs cluster created or deleted successfully
+ Check the current status of the NFS service
:param expected_status: Status to be verified
:param fail_msg: Message to be printed if test failed
'''
- # Wait for few seconds as ganesha daemon takes few seconds to be deleted/created
+ # Wait for two minutes as ganesha daemon takes some time to be deleted/created
wait_time = 10
- while wait_time <= 60:
+ while wait_time <= 120:
time.sleep(wait_time)
- if expected_status in self._fetch_nfs_status():
+ if expected_status in self._fetch_nfs_daemons_details():
return
wait_time += 10
self.fail(fail_msg)
self._test_mnt(pseudo_path, port, ip)
except CommandFailedError as e:
# Write to cephfs export should fail for test to pass
- if e.exitstatus != errno.EPERM:
- raise
+ self.assertEqual(
+ e.exitstatus, errno.EPERM,
+ 'invalid error code on trying to write to read-only export')
+ else:
+ self.fail('expected write to a read-only export to fail')
def test_create_and_delete_cluster(self):
'''
}))
port, ip = self._get_port_ip_info()
self._test_mnt(self.pseudo_path, port, ip)
- self._check_nfs_cluster_status('running', 'NFS Ganesha cluster restart failed')
+ self._check_nfs_cluster_status(
+ 'running', 'NFS Ganesha cluster not running after new export was applied')
self._test_delete_cluster()
def test_update_export(self):
'''
- Test update of exports
+ Test update of export's pseudo path and access type from rw to ro
'''
self._create_default_export()
port, ip = self._get_port_ip_info()
self.ctx.cluster.run(args=['ceph', 'nfs', 'export', 'apply',
self.cluster_id, '-i', '-'],
stdin=json.dumps(export_block))
- self._check_nfs_cluster_status('running', 'NFS Ganesha cluster restart failed')
+ if not self._check_nfs_cluster_event('restart'):
+ self.fail("updating export's pseudo path should trigger restart of NFS service")
+ self._check_nfs_cluster_status('running', 'NFS Ganesha cluster not running after restart')
self._write_to_read_only_export(new_pseudo_path, port, ip)
self._test_delete_cluster()
+ def test_update_export_ro_to_rw(self):
+ '''
+ Test update of export's access level from ro to rw
+ '''
+ self._test_create_cluster()
+ self._create_export(
+ export_id='1', create_fs=True,
+ extra_cmd=['--pseudo-path', self.pseudo_path, '--readonly'])
+ port, ip = self._get_port_ip_info()
+ self._write_to_read_only_export(self.pseudo_path, port, ip)
+ export_block = self._get_export()
+ export_block['access_type'] = 'RW'
+ self.ctx.cluster.run(
+ args=['ceph', 'nfs', 'export', 'apply', self.cluster_id, '-i', '-'],
+ stdin=json.dumps(export_block))
+ if self._check_nfs_cluster_event('restart'):
+ self.fail("update of export's access type should not trigger NFS service restart")
+ self._test_mnt(self.pseudo_path, port, ip)
+ self._test_delete_cluster()
+
def test_update_export_with_invalid_values(self):
'''
Test update of export with invalid values
import unittest
from hashlib import md5
from textwrap import dedent
+from io import StringIO
from tasks.cephfs.cephfs_test_case import CephFSTestCase
from tasks.cephfs.fuse_mount import FuseMount
time.sleep(1)
self.assertTrue(check < timo)
+ def _get_clone_status(self, clone, clone_group=None):
+ args = ["clone", "status", self.volname, clone]
+ if clone_group:
+ args.append(clone_group)
+ args = tuple(args)
+ result = json.loads(self._fs_cmd(*args))
+ return result
+
def _wait_for_clone_to_complete(self, clone, clone_group=None, timo=120):
self.__check_clone_state("complete", clone, clone_group, timo)
def _wait_for_clone_to_fail(self, clone, clone_group=None, timo=120):
self.__check_clone_state("failed", clone, clone_group, timo)
+ def _wait_for_clone_to_be_in_progress(self, clone, clone_group=None, timo=120):
+ self.__check_clone_state("in-progress", clone, clone_group, timo)
+
def _check_clone_canceled(self, clone, clone_group=None):
self.__check_clone_state("canceled", clone, clone_group, timo=1)
# verify trash dir is clean
self._wait_for_trash_empty()
-
-class TestSubvolumeGroupSnapshots(TestVolumesHelper):
- """Tests for FS subvolume group snapshot operations."""
- @unittest.skip("skipping subvolumegroup snapshot tests")
- def test_nonexistent_subvolume_group_snapshot_rm(self):
+ def test_subvolume_retain_snapshot_rm_idempotency(self):
+ """
+ ensure subvolume deletion of a subvolume which is already deleted with retain snapshots option passes.
+ After subvolume deletion with retain snapshots, the subvolume exists until the trash directory (resides inside subvolume)
+ is cleaned up. The subvolume deletion issued while the trash directory is not empty, should pass and should
+ not error out with EAGAIN.
+ """
subvolume = self._generate_random_subvolume_name()
- group = self._generate_random_group_name()
snapshot = self._generate_random_snapshot_name()
- # create group
- self._fs_cmd("subvolumegroup", "create", self.volname, group)
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
- # create subvolume in group
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+ # do some IO
+ self._do_subvolume_io(subvolume, number_of_files=256)
- # snapshot group
- self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
- # remove snapshot
- self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot)
+ # remove with snapshot retention
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
- # remove snapshot
+ # remove snapshots (removes retained volume)
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove subvolume (check idempotency)
try:
- self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
except CommandFailedError as ce:
if ce.exitstatus != errno.ENOENT:
- raise
- else:
- raise RuntimeError("expected the 'fs subvolumegroup snapshot rm' command to fail")
-
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+ self.fail(f"expected subvolume rm to pass with error: {os.strerror(ce.exitstatus)}")
# verify trash dir is clean
self._wait_for_trash_empty()
- # remove group
- self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- @unittest.skip("skipping subvolumegroup snapshot tests")
- def test_subvolume_group_snapshot_create_and_rm(self):
- subvolume = self._generate_random_subvolume_name()
+ def test_subvolume_user_metadata_set(self):
+ subvolname = self._generate_random_subvolume_name()
group = self._generate_random_group_name()
- snapshot = self._generate_random_snapshot_name()
- # create group
+ # create group.
self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # create subvolume in group
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
-
- # snapshot group
- self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # remove snapshot
- self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot)
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ try:
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata set' command to succeed")
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # verify trash dir is clean
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- # remove group
- self._fs_cmd("subvolumegroup", "rm", self.volname, group)
-
- @unittest.skip("skipping subvolumegroup snapshot tests")
- def test_subvolume_group_snapshot_idempotence(self):
- subvolume = self._generate_random_subvolume_name()
+ def test_subvolume_user_metadata_set_idempotence(self):
+ subvolname = self._generate_random_subvolume_name()
group = self._generate_random_group_name()
- snapshot = self._generate_random_snapshot_name()
- # create group
+ # create group.
self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # create subvolume in group
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
-
- # snapshot group
- self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
-
- # try creating snapshot w/ same snapshot name -- shoule be idempotent
- self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
-
- # remove snapshot
- self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ try:
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata set' command to succeed")
- # verify trash dir is clean
- self._wait_for_trash_empty()
+ # set same metadata again for subvolume.
+ try:
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata set' command to succeed because it is idempotent operation")
- # remove group
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- @unittest.skip("skipping subvolumegroup snapshot tests")
- def test_subvolume_group_snapshot_ls(self):
- # tests the 'fs subvolumegroup snapshot ls' command
-
- snapshots = []
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
- # create group
+ def test_subvolume_user_metadata_get(self):
+ subvolname = self._generate_random_subvolume_name()
group = self._generate_random_group_name()
+
+ # create group.
self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # create subvolumegroup snapshots
- snapshots = self._generate_random_snapshot_name(3)
- for snapshot in snapshots:
- self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- subvolgrpsnapshotls = json.loads(self._fs_cmd('subvolumegroup', 'snapshot', 'ls', self.volname, group))
- if len(subvolgrpsnapshotls) == 0:
- raise RuntimeError("Expected the 'fs subvolumegroup snapshot ls' command to list the created subvolume group snapshots")
- else:
- snapshotnames = [snapshot['name'] for snapshot in subvolgrpsnapshotls]
- if collections.Counter(snapshotnames) != collections.Counter(snapshots):
- raise RuntimeError("Error creating or listing subvolume group snapshots")
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
- @unittest.skip("skipping subvolumegroup snapshot tests")
- def test_subvolume_group_snapshot_rm_force(self):
- # test removing non-existing subvolume group snapshot with --force
- group = self._generate_random_group_name()
- snapshot = self._generate_random_snapshot_name()
- # remove snapshot
+ # get value for specified key.
try:
- self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot, "--force")
+ ret = self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, key, "--group_name", group)
except CommandFailedError:
- raise RuntimeError("expected the 'fs subvolumegroup snapshot rm --force' command to succeed")
-
- def test_subvolume_group_snapshot_unsupported_status(self):
- group = self._generate_random_group_name()
- snapshot = self._generate_random_snapshot_name()
+ self.fail("expected the 'fs subvolume metadata get' command to succeed")
- # create group
- self._fs_cmd("subvolumegroup", "create", self.volname, group)
+ # remove '\n' from returned value.
+ ret = ret.strip('\n')
- # snapshot group
- try:
- self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOSYS, "invalid error code on subvolumegroup snapshot create")
- else:
- self.fail("expected subvolumegroup snapshot create command to fail")
+ # match received value with expected value.
+ self.assertEqual(value, ret)
- # remove group
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
-class TestSubvolumeSnapshots(TestVolumesHelper):
- """Tests for FS subvolume snapshot operations."""
- def test_nonexistent_subvolume_snapshot_rm(self):
- subvolume = self._generate_random_subvolume_name()
- snapshot = self._generate_random_snapshot_name()
+ def test_subvolume_user_metadata_get_for_nonexisting_key(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # remove snapshot
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
- # remove snapshot again
+ # try to get value for nonexisting key
+ # Expecting ENOENT exit status because key does not exist
try:
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
- except CommandFailedError as ce:
- if ce.exitstatus != errno.ENOENT:
- raise
+ self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, "key_nonexist", "--group_name", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
else:
- raise RuntimeError("expected the 'fs subvolume snapshot rm' command to fail")
+ self.fail("Expected ENOENT because 'key_nonexist' does not exist")
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # verify trash dir is clean
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- def test_subvolume_snapshot_create_and_rm(self):
- subvolume = self._generate_random_subvolume_name()
- snapshot = self._generate_random_snapshot_name()
+ def test_subvolume_user_metadata_get_for_nonexisting_section(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # remove snapshot
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ # try to get value for nonexisting key (as section does not exist)
+ # Expecting ENOENT exit status because key does not exist
+ try:
+ self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, "key", "--group_name", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because section does not exist")
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # verify trash dir is clean
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- def test_subvolume_snapshot_create_idempotence(self):
- subvolume = self._generate_random_subvolume_name()
- snapshot = self._generate_random_snapshot_name()
+ def test_subvolume_user_metadata_update(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # try creating w/ same subvolume snapshot name -- should be idempotent
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
- # remove snapshot
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ # update metadata against key.
+ new_value = "new_value"
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, new_value, "--group_name", group)
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ # get metadata for specified key of subvolume.
+ try:
+ ret = self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, key, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata get' command to succeed")
- # verify trash dir is clean
- self._wait_for_trash_empty()
+ # remove '\n' from returned value.
+ ret = ret.strip('\n')
- def test_subvolume_snapshot_info(self):
+ # match received value with expected value.
+ self.assertEqual(new_value, ret)
- """
- tests the 'fs subvolume snapshot info' command
- """
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- snap_md = ["created_at", "data_pool", "has_pending_clones", "size"]
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
- subvolume = self._generate_random_subvolume_name()
- snapshot, snap_missing = self._generate_random_snapshot_name(2)
+ def test_subvolume_user_metadata_list(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # do some IO
- self._do_subvolume_io(subvolume, number_of_files=1)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ # set metadata for subvolume.
+ input_metadata_dict = {f'key_{i}' : f'value_{i}' for i in range(3)}
- snap_info = json.loads(self._get_subvolume_snapshot_info(self.volname, subvolume, snapshot))
- for md in snap_md:
- self.assertIn(md, snap_info, "'{0}' key not present in metadata of snapshot".format(md))
- self.assertEqual(snap_info["has_pending_clones"], "no")
+ for k, v in input_metadata_dict.items():
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, k, v, "--group_name", group)
- # snapshot info for non-existent snapshot
+ # list metadata
try:
- self._get_subvolume_snapshot_info(self.volname, subvolume, snap_missing)
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on snapshot info of non-existent snapshot")
- else:
- self.fail("expected snapshot info of non-existent snapshot to fail")
+ ret = self._fs_cmd("subvolume", "metadata", "ls", self.volname, subvolname, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata ls' command to succeed")
- # remove snapshot
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ ret_dict = json.loads(ret)
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ # compare output with expected output
+ self.assertDictEqual(input_metadata_dict, ret_dict)
- # verify trash dir is clean
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- def test_subvolume_snapshot_in_group(self):
- subvolume = self._generate_random_subvolume_name()
+ def test_subvolume_user_metadata_list_if_no_metadata_set(self):
+ subvolname = self._generate_random_subvolume_name()
group = self._generate_random_group_name()
- snapshot = self._generate_random_snapshot_name()
- # create group
+ # create group.
self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # create subvolume in group
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # snapshot subvolume in group
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot, group)
+ # list metadata
+ try:
+ ret = self._fs_cmd("subvolume", "metadata", "ls", self.volname, subvolname, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata ls' command to succeed")
- # remove snapshot
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot, group)
+ # remove '\n' from returned value.
+ ret = ret.strip('\n')
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+ # compare output with expected output
+ # expecting empty json/dictionary
+ self.assertEqual(ret, "{}")
- # verify trash dir is clean
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- # remove group
- self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+ def test_subvolume_user_metadata_remove(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
- def test_subvolume_snapshot_ls(self):
- # tests the 'fs subvolume snapshot ls' command
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- snapshots = []
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # create subvolume
- subvolume = self._generate_random_subvolume_name()
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
- # create subvolume snapshots
- snapshots = self._generate_random_snapshot_name(3)
- for snapshot in snapshots:
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ # remove metadata against specified key.
+ try:
+ self._fs_cmd("subvolume", "metadata", "rm", self.volname, subvolname, key, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata rm' command to succeed")
- subvolsnapshotls = json.loads(self._fs_cmd('subvolume', 'snapshot', 'ls', self.volname, subvolume))
- if len(subvolsnapshotls) == 0:
- self.fail("Expected the 'fs subvolume snapshot ls' command to list the created subvolume snapshots")
+ # confirm key is removed by again fetching metadata
+ try:
+ self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, key, "--group_name", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
else:
- snapshotnames = [snapshot['name'] for snapshot in subvolsnapshotls]
- if collections.Counter(snapshotnames) != collections.Counter(snapshots):
- self.fail("Error creating or listing subvolume snapshots")
-
- # remove snapshot
- for snapshot in snapshots:
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ self.fail("Expected ENOENT because key does not exist")
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # verify trash dir is clean
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- def test_subvolume_inherited_snapshot_ls(self):
- # tests the scenario where 'fs subvolume snapshot ls' command
- # should not list inherited snapshots created as part of snapshot
- # at ancestral level
-
- snapshots = []
- subvolume = self._generate_random_subvolume_name()
+ def test_subvolume_user_metadata_remove_for_nonexisting_key(self):
+ subvolname = self._generate_random_subvolume_name()
group = self._generate_random_group_name()
- snap_count = 3
- # create group
+ # create group.
self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # create subvolume in group
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # create subvolume snapshots
- snapshots = self._generate_random_snapshot_name(snap_count)
- for snapshot in snapshots:
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot, group)
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
- # Create snapshot at ancestral level
- ancestral_snappath1 = os.path.join(".", "volumes", group, ".snap", "ancestral_snap_1")
- ancestral_snappath2 = os.path.join(".", "volumes", group, ".snap", "ancestral_snap_2")
- self.mount_a.run_shell(['mkdir', '-p', ancestral_snappath1, ancestral_snappath2], sudo=True)
+ # try to remove value for nonexisting key
+ # Expecting ENOENT exit status because key does not exist
+ try:
+ self._fs_cmd("subvolume", "metadata", "rm", self.volname, subvolname, "key_nonexist", "--group_name", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because 'key_nonexist' does not exist")
- subvolsnapshotls = json.loads(self._fs_cmd('subvolume', 'snapshot', 'ls', self.volname, subvolume, group))
- self.assertEqual(len(subvolsnapshotls), snap_count)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # remove ancestral snapshots
- self.mount_a.run_shell(['rmdir', ancestral_snappath1, ancestral_snappath2], sudo=True)
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
- # remove snapshot
- for snapshot in snapshots:
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot, group)
+ def test_subvolume_user_metadata_remove_for_nonexisting_section(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # verify trash dir is clean
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
+
+ # try to remove value for nonexisting key (as section does not exist)
+ # Expecting ENOENT exit status because key does not exist
+ try:
+ self._fs_cmd("subvolume", "metadata", "rm", self.volname, subvolname, "key", "--group_name", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because section does not exist")
+
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- # remove group
+ def test_subvolume_user_metadata_remove_force(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
+
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
+
+ # remove metadata against specified key with --force option.
+ try:
+ self._fs_cmd("subvolume", "metadata", "rm", self.volname, subvolname, key, "--group_name", group, "--force")
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata rm' command to succeed")
+
+ # confirm key is removed by again fetching metadata
+ try:
+ self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, key, "--group_name", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because key does not exist")
+
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- def test_subvolume_inherited_snapshot_info(self):
- """
- tests the scenario where 'fs subvolume snapshot info' command
- should fail for inherited snapshots created as part of snapshot
- at ancestral level
- """
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
- subvolume = self._generate_random_subvolume_name()
+ def test_subvolume_user_metadata_remove_force_for_nonexisting_key(self):
+ subvolname = self._generate_random_subvolume_name()
group = self._generate_random_group_name()
- # create group
+ # create group.
self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # create subvolume in group
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, "--group_name", group)
- # Create snapshot at ancestral level
- ancestral_snap_name = "ancestral_snap_1"
- ancestral_snappath1 = os.path.join(".", "volumes", group, ".snap", ancestral_snap_name)
- self.mount_a.run_shell(['mkdir', '-p', ancestral_snappath1], sudo=True)
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
- # Validate existence of inherited snapshot
- group_path = os.path.join(".", "volumes", group)
- inode_number_group_dir = int(self.mount_a.run_shell(['stat', '-c' '%i', group_path]).stdout.getvalue().strip())
- inherited_snap = "_{0}_{1}".format(ancestral_snap_name, inode_number_group_dir)
- inherited_snappath = os.path.join(".", "volumes", group, subvolume,".snap", inherited_snap)
- self.mount_a.run_shell(['ls', inherited_snappath])
+ # remove metadata against specified key.
+ try:
+ self._fs_cmd("subvolume", "metadata", "rm", self.volname, subvolname, key, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata rm' command to succeed")
- # snapshot info on inherited snapshot
+ # confirm key is removed by again fetching metadata
try:
- self._get_subvolume_snapshot_info(self.volname, subvolume, inherited_snap, group)
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.EINVAL, "invalid error code on snapshot info of inherited snapshot")
+ self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, key, "--group_name", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
else:
- self.fail("expected snapshot info of inherited snapshot to fail")
+ self.fail("Expected ENOENT because key does not exist")
- # remove ancestral snapshots
- self.mount_a.run_shell(['rmdir', ancestral_snappath1], sudo=True)
+ # again remove metadata against already removed key with --force option.
+ try:
+ self._fs_cmd("subvolume", "metadata", "rm", self.volname, subvolname, key, "--group_name", group, "--force")
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata rm' (with --force) command to succeed")
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--group_name", group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # verify trash dir is clean
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- # remove group
+ def test_subvolume_user_metadata_set_and_get_for_legacy_subvolume(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+
+ # emulate a old-fashioned subvolume in a custom group
+ createpath = os.path.join(".", "volumes", group, subvolname)
+ self.mount_a.run_shell(['mkdir', '-p', createpath], sudo=True)
+
+ # set metadata for subvolume.
+ key = "key"
+ value = "value"
+ try:
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, key, value, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata set' command to succeed")
+
+ # get value for specified key.
+ try:
+ ret = self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, key, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata get' command to succeed")
+
+ # remove '\n' from returned value.
+ ret = ret.strip('\n')
+
+ # match received value with expected value.
+ self.assertEqual(value, ret)
+
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- def test_subvolume_inherited_snapshot_rm(self):
- """
- tests the scenario where 'fs subvolume snapshot rm' command
- should fail for inherited snapshots created as part of snapshot
- at ancestral level
- """
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_user_metadata_list_and_remove_for_legacy_subvolume(self):
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+
+ # emulate a old-fashioned subvolume in a custom group
+ createpath = os.path.join(".", "volumes", group, subvolname)
+ self.mount_a.run_shell(['mkdir', '-p', createpath], sudo=True)
+
+ # set metadata for subvolume.
+ input_metadata_dict = {f'key_{i}' : f'value_{i}' for i in range(3)}
+
+ for k, v in input_metadata_dict.items():
+ self._fs_cmd("subvolume", "metadata", "set", self.volname, subvolname, k, v, "--group_name", group)
+
+ # list metadata
+ try:
+ ret = self._fs_cmd("subvolume", "metadata", "ls", self.volname, subvolname, "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata ls' command to succeed")
+
+ ret_dict = json.loads(ret)
+
+ # compare output with expected output
+ self.assertDictEqual(input_metadata_dict, ret_dict)
+
+ # remove metadata against specified key.
+ try:
+ self._fs_cmd("subvolume", "metadata", "rm", self.volname, subvolname, "key_1", "--group_name", group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume metadata rm' command to succeed")
+
+ # confirm key is removed by again fetching metadata
+ try:
+ self._fs_cmd("subvolume", "metadata", "get", self.volname, subvolname, "key_1", "--group_name", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because key_1 does not exist")
+
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+class TestSubvolumeGroupSnapshots(TestVolumesHelper):
+ """Tests for FS subvolume group snapshot operations."""
+ @unittest.skip("skipping subvolumegroup snapshot tests")
+ def test_nonexistent_subvolume_group_snapshot_rm(self):
subvolume = self._generate_random_subvolume_name()
group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
# create group
self._fs_cmd("subvolumegroup", "create", self.volname, group)
# create subvolume in group
self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
- # Create snapshot at ancestral level
- ancestral_snap_name = "ancestral_snap_1"
- ancestral_snappath1 = os.path.join(".", "volumes", group, ".snap", ancestral_snap_name)
- self.mount_a.run_shell(['mkdir', '-p', ancestral_snappath1], sudo=True)
+ # snapshot group
+ self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
- # Validate existence of inherited snap
- group_path = os.path.join(".", "volumes", group)
- inode_number_group_dir = int(self.mount_a.run_shell(['stat', '-c' '%i', group_path]).stdout.getvalue().strip())
- inherited_snap = "_{0}_{1}".format(ancestral_snap_name, inode_number_group_dir)
- inherited_snappath = os.path.join(".", "volumes", group, subvolume,".snap", inherited_snap)
- self.mount_a.run_shell(['ls', inherited_snappath])
+ # remove snapshot
+ self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot)
- # inherited snapshot should not be deletable
+ # remove snapshot
try:
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, inherited_snap, "--group_name", group)
+ self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot)
except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.EINVAL, msg="invalid error code when removing inherited snapshot")
+ if ce.exitstatus != errno.ENOENT:
+ raise
else:
- self.fail("expected removing inheirted snapshot to fail")
-
- # remove ancestral snapshots
- self.mount_a.run_shell(['rmdir', ancestral_snappath1], sudo=True)
+ raise RuntimeError("expected the 'fs subvolumegroup snapshot rm' command to fail")
# remove subvolume
self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
# remove group
self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- def test_subvolume_subvolumegroup_snapshot_name_conflict(self):
- """
- tests the scenario where creation of subvolume snapshot name
- with same name as it's subvolumegroup snapshot name. This should
- fail.
- """
-
+ @unittest.skip("skipping subvolumegroup snapshot tests")
+ def test_subvolume_group_snapshot_create_and_rm(self):
subvolume = self._generate_random_subvolume_name()
group = self._generate_random_group_name()
- group_snapshot = self._generate_random_snapshot_name()
+ snapshot = self._generate_random_snapshot_name()
# create group
self._fs_cmd("subvolumegroup", "create", self.volname, group)
# create subvolume in group
self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
- # Create subvolumegroup snapshot
- group_snapshot_path = os.path.join(".", "volumes", group, ".snap", group_snapshot)
- self.mount_a.run_shell(['mkdir', '-p', group_snapshot_path], sudo=True)
-
- # Validate existence of subvolumegroup snapshot
- self.mount_a.run_shell(['ls', group_snapshot_path])
-
- # Creation of subvolume snapshot with it's subvolumegroup snapshot name should fail
- try:
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, group_snapshot, "--group_name", group)
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.EINVAL, msg="invalid error code when creating subvolume snapshot with same name as subvolume group snapshot")
- else:
- self.fail("expected subvolume snapshot creation with same name as subvolumegroup snapshot to fail")
+ # snapshot group
+ self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
- # remove subvolumegroup snapshot
- self.mount_a.run_shell(['rmdir', group_snapshot_path], sudo=True)
+ # remove snapshot
+ self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot)
# remove subvolume
self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
# remove group
self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- def test_subvolume_retain_snapshot_invalid_recreate(self):
- """
- ensure retained subvolume recreate does not leave any incarnations in the subvolume and trash
- """
+ @unittest.skip("skipping subvolumegroup snapshot tests")
+ def test_subvolume_group_snapshot_idempotence(self):
subvolume = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
snapshot = self._generate_random_snapshot_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # create group
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ # create subvolume in group
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
- # remove with snapshot retention
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+ # snapshot group
+ self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
- # recreate subvolume with an invalid pool
- data_pool = "invalid_pool"
+ # try creating snapshot w/ same snapshot name -- shoule be idempotent
+ self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
+
+ # remove snapshot
+ self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ # remove group
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ @unittest.skip("skipping subvolumegroup snapshot tests")
+ def test_subvolume_group_snapshot_ls(self):
+ # tests the 'fs subvolumegroup snapshot ls' command
+
+ snapshots = []
+
+ # create group
+ group = self._generate_random_group_name()
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolumegroup snapshots
+ snapshots = self._generate_random_snapshot_name(3)
+ for snapshot in snapshots:
+ self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
+
+ subvolgrpsnapshotls = json.loads(self._fs_cmd('subvolumegroup', 'snapshot', 'ls', self.volname, group))
+ if len(subvolgrpsnapshotls) == 0:
+ raise RuntimeError("Expected the 'fs subvolumegroup snapshot ls' command to list the created subvolume group snapshots")
+ else:
+ snapshotnames = [snapshot['name'] for snapshot in subvolgrpsnapshotls]
+ if collections.Counter(snapshotnames) != collections.Counter(snapshots):
+ raise RuntimeError("Error creating or listing subvolume group snapshots")
+
+ @unittest.skip("skipping subvolumegroup snapshot tests")
+ def test_subvolume_group_snapshot_rm_force(self):
+ # test removing non-existing subvolume group snapshot with --force
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+ # remove snapshot
try:
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--pool_layout", data_pool)
+ self._fs_cmd("subvolumegroup", "snapshot", "rm", self.volname, group, snapshot, "--force")
+ except CommandFailedError:
+ raise RuntimeError("expected the 'fs subvolumegroup snapshot rm --force' command to succeed")
+
+ def test_subvolume_group_snapshot_unsupported_status(self):
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # snapshot group
+ try:
+ self._fs_cmd("subvolumegroup", "snapshot", "create", self.volname, group, snapshot)
except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.EINVAL, "invalid error code on recreate of subvolume with invalid poolname")
+ self.assertEqual(ce.exitstatus, errno.ENOSYS, "invalid error code on subvolumegroup snapshot create")
else:
- self.fail("expected recreate of subvolume with invalid poolname to fail")
+ self.fail("expected subvolumegroup snapshot create command to fail")
- # fetch info
- subvol_info = json.loads(self._fs_cmd("subvolume", "info", self.volname, subvolume))
- self.assertEqual(subvol_info["state"], "snapshot-retained",
- msg="expected state to be 'snapshot-retained', found '{0}".format(subvol_info["state"]))
+ # remove group
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # getpath
+
+class TestSubvolumeSnapshots(TestVolumesHelper):
+ """Tests for FS subvolume snapshot operations."""
+ def test_nonexistent_subvolume_snapshot_rm(self):
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove snapshot again
try:
- self._fs_cmd("subvolume", "getpath", self.volname, subvolume)
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on getpath of subvolume with retained snapshots")
+ if ce.exitstatus != errno.ENOENT:
+ raise
else:
- self.fail("expected getpath of subvolume with retained snapshots to fail")
+ raise RuntimeError("expected the 'fs subvolume snapshot rm' command to fail")
- # remove snapshot (should remove volume)
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
# verify trash dir is clean
self._wait_for_trash_empty()
- def test_subvolume_retain_snapshot_recreate_subvolume(self):
- """
- ensure a retained subvolume can be recreated and further snapshotted
- """
- snap_md = ["created_at", "data_pool", "has_pending_clones", "size"]
-
+ def test_subvolume_snapshot_create_and_rm(self):
subvolume = self._generate_random_subvolume_name()
- snapshot1, snapshot2 = self._generate_random_snapshot_name(2)
+ snapshot = self._generate_random_snapshot_name()
# create subvolume
self._fs_cmd("subvolume", "create", self.volname, subvolume)
# snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot1)
-
- # remove with snapshot retention
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
- # fetch info
- subvol_info = json.loads(self._fs_cmd("subvolume", "info", self.volname, subvolume))
- self.assertEqual(subvol_info["state"], "snapshot-retained",
- msg="expected state to be 'snapshot-retained', found '{0}".format(subvol_info["state"]))
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
- # recreate retained subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
- # fetch info
- subvol_info = json.loads(self._fs_cmd("subvolume", "info", self.volname, subvolume))
- self.assertEqual(subvol_info["state"], "complete",
- msg="expected state to be 'snapshot-retained', found '{0}".format(subvol_info["state"]))
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
- # snapshot info (older snapshot)
- snap_info = json.loads(self._get_subvolume_snapshot_info(self.volname, subvolume, snapshot1))
- for md in snap_md:
- self.assertIn(md, snap_info, "'{0}' key not present in metadata of snapshot".format(md))
- self.assertEqual(snap_info["has_pending_clones"], "no")
+ def test_subvolume_snapshot_create_idempotence(self):
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
- # snap-create (new snapshot)
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot2)
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
- # remove with retain snapshots
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
- # list snapshots
- subvolsnapshotls = json.loads(self._fs_cmd('subvolume', 'snapshot', 'ls', self.volname, subvolume))
- self.assertEqual(len(subvolsnapshotls), 2, "Expected the 'fs subvolume snapshot ls' command to list the"
- " created subvolume snapshots")
- snapshotnames = [snapshot['name'] for snapshot in subvolsnapshotls]
- for snap in [snapshot1, snapshot2]:
- self.assertIn(snap, snapshotnames, "Missing snapshot '{0}' in snapshot list".format(snap))
+ # try creating w/ same subvolume snapshot name -- should be idempotent
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
- # remove snapshots (should remove volume)
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot1)
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot2)
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
- # verify list subvolumes returns an empty list
- subvolumels = json.loads(self._fs_cmd('subvolume', 'ls', self.volname))
- self.assertEqual(len(subvolumels), 0)
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
# verify trash dir is clean
self._wait_for_trash_empty()
- def test_subvolume_retain_snapshot_with_snapshots(self):
+ def test_subvolume_snapshot_info(self):
+
"""
- ensure retain snapshots based delete of a subvolume with snapshots retains the subvolume
- also test allowed and dis-allowed operations on a retained subvolume
+ tests the 'fs subvolume snapshot info' command
"""
+
snap_md = ["created_at", "data_pool", "has_pending_clones", "size"]
subvolume = self._generate_random_subvolume_name()
- snapshot = self._generate_random_snapshot_name()
+ snapshot, snap_missing = self._generate_random_snapshot_name(2)
# create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
+
+ # do some IO
+ self._do_subvolume_io(subvolume, number_of_files=1)
# snapshot subvolume
self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
- # remove subvolume -- should fail with ENOTEMPTY since it has snapshots
- try:
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOTEMPTY, "invalid error code on rm of retained subvolume with snapshots")
- else:
- self.fail("expected rm of subvolume with retained snapshots to fail")
-
- # remove with snapshot retention
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
-
- # fetch info
- subvol_info = json.loads(self._fs_cmd("subvolume", "info", self.volname, subvolume))
- self.assertEqual(subvol_info["state"], "snapshot-retained",
- msg="expected state to be 'snapshot-retained', found '{0}".format(subvol_info["state"]))
-
- ## test allowed ops in retained state
- # ls
- subvolumes = json.loads(self._fs_cmd('subvolume', 'ls', self.volname))
- self.assertEqual(len(subvolumes), 1, "subvolume ls count mismatch, expected '1', found {0}".format(len(subvolumes)))
- self.assertEqual(subvolumes[0]['name'], subvolume,
- "subvolume name mismatch in ls output, expected '{0}', found '{1}'".format(subvolume, subvolumes[0]['name']))
-
- # snapshot info
snap_info = json.loads(self._get_subvolume_snapshot_info(self.volname, subvolume, snapshot))
for md in snap_md:
self.assertIn(md, snap_info, "'{0}' key not present in metadata of snapshot".format(md))
self.assertEqual(snap_info["has_pending_clones"], "no")
- # rm --force (allowed but should fail)
- try:
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--force")
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOTEMPTY, "invalid error code on rm of subvolume with retained snapshots")
- else:
- self.fail("expected rm of subvolume with retained snapshots to fail")
-
- # rm (allowed but should fail)
- try:
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOTEMPTY, "invalid error code on rm of subvolume with retained snapshots")
- else:
- self.fail("expected rm of subvolume with retained snapshots to fail")
-
- ## test disallowed ops
- # getpath
- try:
- self._fs_cmd("subvolume", "getpath", self.volname, subvolume)
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on getpath of subvolume with retained snapshots")
- else:
- self.fail("expected getpath of subvolume with retained snapshots to fail")
-
- # resize
- nsize = self.DEFAULT_FILE_SIZE*1024*1024
- try:
- self._fs_cmd("subvolume", "resize", self.volname, subvolume, str(nsize))
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on resize of subvolume with retained snapshots")
- else:
- self.fail("expected resize of subvolume with retained snapshots to fail")
-
- # snap-create
+ # snapshot info for non-existent snapshot
try:
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, "fail")
+ self._get_subvolume_snapshot_info(self.volname, subvolume, snap_missing)
except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on snapshot create of subvolume with retained snapshots")
+ self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on snapshot info of non-existent snapshot")
else:
- self.fail("expected snapshot create of subvolume with retained snapshots to fail")
+ self.fail("expected snapshot info of non-existent snapshot to fail")
- # remove snapshot (should remove volume)
+ # remove snapshot
self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
- # verify list subvolumes returns an empty list
- subvolumels = json.loads(self._fs_cmd('subvolume', 'ls', self.volname))
- self.assertEqual(len(subvolumels), 0)
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
# verify trash dir is clean
self._wait_for_trash_empty()
- def test_subvolume_retain_snapshot_without_snapshots(self):
+ def test_subvolume_snapshot_in_group(self):
+ subvolume = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+
+ # snapshot subvolume in group
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot, group)
+
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot, group)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ # remove group
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ def test_subvolume_snapshot_ls(self):
+ # tests the 'fs subvolume snapshot ls' command
+
+ snapshots = []
+
+ # create subvolume
+ subvolume = self._generate_random_subvolume_name()
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # create subvolume snapshots
+ snapshots = self._generate_random_snapshot_name(3)
+ for snapshot in snapshots:
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ subvolsnapshotls = json.loads(self._fs_cmd('subvolume', 'snapshot', 'ls', self.volname, subvolume))
+ if len(subvolsnapshotls) == 0:
+ self.fail("Expected the 'fs subvolume snapshot ls' command to list the created subvolume snapshots")
+ else:
+ snapshotnames = [snapshot['name'] for snapshot in subvolsnapshotls]
+ if collections.Counter(snapshotnames) != collections.Counter(snapshots):
+ self.fail("Error creating or listing subvolume snapshots")
+
+ # remove snapshot
+ for snapshot in snapshots:
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_subvolume_inherited_snapshot_ls(self):
+ # tests the scenario where 'fs subvolume snapshot ls' command
+ # should not list inherited snapshots created as part of snapshot
+ # at ancestral level
+
+ snapshots = []
+ subvolume = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snap_count = 3
+
+ # create group
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+
+ # create subvolume snapshots
+ snapshots = self._generate_random_snapshot_name(snap_count)
+ for snapshot in snapshots:
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot, group)
+
+ # Create snapshot at ancestral level
+ ancestral_snappath1 = os.path.join(".", "volumes", group, ".snap", "ancestral_snap_1")
+ ancestral_snappath2 = os.path.join(".", "volumes", group, ".snap", "ancestral_snap_2")
+ self.mount_a.run_shell(['mkdir', '-p', ancestral_snappath1, ancestral_snappath2], sudo=True)
+
+ subvolsnapshotls = json.loads(self._fs_cmd('subvolume', 'snapshot', 'ls', self.volname, subvolume, group))
+ self.assertEqual(len(subvolsnapshotls), snap_count)
+
+ # remove ancestral snapshots
+ self.mount_a.run_shell(['rmdir', ancestral_snappath1, ancestral_snappath2], sudo=True)
+
+ # remove snapshot
+ for snapshot in snapshots:
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot, group)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ # remove group
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ def test_subvolume_inherited_snapshot_info(self):
+ """
+ tests the scenario where 'fs subvolume snapshot info' command
+ should fail for inherited snapshots created as part of snapshot
+ at ancestral level
+ """
+
+ subvolume = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+
+ # create group
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+
+ # Create snapshot at ancestral level
+ ancestral_snap_name = "ancestral_snap_1"
+ ancestral_snappath1 = os.path.join(".", "volumes", group, ".snap", ancestral_snap_name)
+ self.mount_a.run_shell(['mkdir', '-p', ancestral_snappath1], sudo=True)
+
+ # Validate existence of inherited snapshot
+ group_path = os.path.join(".", "volumes", group)
+ inode_number_group_dir = int(self.mount_a.run_shell(['stat', '-c' '%i', group_path]).stdout.getvalue().strip())
+ inherited_snap = "_{0}_{1}".format(ancestral_snap_name, inode_number_group_dir)
+ inherited_snappath = os.path.join(".", "volumes", group, subvolume,".snap", inherited_snap)
+ self.mount_a.run_shell(['ls', inherited_snappath])
+
+ # snapshot info on inherited snapshot
+ try:
+ self._get_subvolume_snapshot_info(self.volname, subvolume, inherited_snap, group)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.EINVAL, "invalid error code on snapshot info of inherited snapshot")
+ else:
+ self.fail("expected snapshot info of inherited snapshot to fail")
+
+ # remove ancestral snapshots
+ self.mount_a.run_shell(['rmdir', ancestral_snappath1], sudo=True)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--group_name", group)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ # remove group
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ def test_subvolume_inherited_snapshot_rm(self):
+ """
+ tests the scenario where 'fs subvolume snapshot rm' command
+ should fail for inherited snapshots created as part of snapshot
+ at ancestral level
+ """
+
+ subvolume = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+
+ # create group
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+
+ # Create snapshot at ancestral level
+ ancestral_snap_name = "ancestral_snap_1"
+ ancestral_snappath1 = os.path.join(".", "volumes", group, ".snap", ancestral_snap_name)
+ self.mount_a.run_shell(['mkdir', '-p', ancestral_snappath1], sudo=True)
+
+ # Validate existence of inherited snap
+ group_path = os.path.join(".", "volumes", group)
+ inode_number_group_dir = int(self.mount_a.run_shell(['stat', '-c' '%i', group_path]).stdout.getvalue().strip())
+ inherited_snap = "_{0}_{1}".format(ancestral_snap_name, inode_number_group_dir)
+ inherited_snappath = os.path.join(".", "volumes", group, subvolume,".snap", inherited_snap)
+ self.mount_a.run_shell(['ls', inherited_snappath])
+
+ # inherited snapshot should not be deletable
+ try:
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, inherited_snap, "--group_name", group)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.EINVAL, msg="invalid error code when removing inherited snapshot")
+ else:
+ self.fail("expected removing inheirted snapshot to fail")
+
+ # remove ancestral snapshots
+ self.mount_a.run_shell(['rmdir', ancestral_snappath1], sudo=True)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ # remove group
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ def test_subvolume_subvolumegroup_snapshot_name_conflict(self):
+ """
+ tests the scenario where creation of subvolume snapshot name
+ with same name as it's subvolumegroup snapshot name. This should
+ fail.
+ """
+
+ subvolume = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ group_snapshot = self._generate_random_snapshot_name()
+
+ # create group
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--group_name", group)
+
+ # Create subvolumegroup snapshot
+ group_snapshot_path = os.path.join(".", "volumes", group, ".snap", group_snapshot)
+ self.mount_a.run_shell(['mkdir', '-p', group_snapshot_path], sudo=True)
+
+ # Validate existence of subvolumegroup snapshot
+ self.mount_a.run_shell(['ls', group_snapshot_path])
+
+ # Creation of subvolume snapshot with it's subvolumegroup snapshot name should fail
+ try:
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, group_snapshot, "--group_name", group)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.EINVAL, msg="invalid error code when creating subvolume snapshot with same name as subvolume group snapshot")
+ else:
+ self.fail("expected subvolume snapshot creation with same name as subvolumegroup snapshot to fail")
+
+ # remove subvolumegroup snapshot
+ self.mount_a.run_shell(['rmdir', group_snapshot_path], sudo=True)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, group)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ # remove group
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ def test_subvolume_retain_snapshot_invalid_recreate(self):
+ """
+ ensure retained subvolume recreate does not leave any incarnations in the subvolume and trash
+ """
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # remove with snapshot retention
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+
+ # recreate subvolume with an invalid pool
+ data_pool = "invalid_pool"
+ try:
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--pool_layout", data_pool)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.EINVAL, "invalid error code on recreate of subvolume with invalid poolname")
+ else:
+ self.fail("expected recreate of subvolume with invalid poolname to fail")
+
+ # fetch info
+ subvol_info = json.loads(self._fs_cmd("subvolume", "info", self.volname, subvolume))
+ self.assertEqual(subvol_info["state"], "snapshot-retained",
+ msg="expected state to be 'snapshot-retained', found '{0}".format(subvol_info["state"]))
+
+ # getpath
+ try:
+ self._fs_cmd("subvolume", "getpath", self.volname, subvolume)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on getpath of subvolume with retained snapshots")
+ else:
+ self.fail("expected getpath of subvolume with retained snapshots to fail")
+
+ # remove snapshot (should remove volume)
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_subvolume_retain_snapshot_recreate_subvolume(self):
+ """
+ ensure a retained subvolume can be recreated and further snapshotted
+ """
+ snap_md = ["created_at", "data_pool", "has_pending_clones", "size"]
+
+ subvolume = self._generate_random_subvolume_name()
+ snapshot1, snapshot2 = self._generate_random_snapshot_name(2)
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot1)
+
+ # remove with snapshot retention
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+
+ # fetch info
+ subvol_info = json.loads(self._fs_cmd("subvolume", "info", self.volname, subvolume))
+ self.assertEqual(subvol_info["state"], "snapshot-retained",
+ msg="expected state to be 'snapshot-retained', found '{0}".format(subvol_info["state"]))
+
+ # recreate retained subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # fetch info
+ subvol_info = json.loads(self._fs_cmd("subvolume", "info", self.volname, subvolume))
+ self.assertEqual(subvol_info["state"], "complete",
+ msg="expected state to be 'snapshot-retained', found '{0}".format(subvol_info["state"]))
+
+ # snapshot info (older snapshot)
+ snap_info = json.loads(self._get_subvolume_snapshot_info(self.volname, subvolume, snapshot1))
+ for md in snap_md:
+ self.assertIn(md, snap_info, "'{0}' key not present in metadata of snapshot".format(md))
+ self.assertEqual(snap_info["has_pending_clones"], "no")
+
+ # snap-create (new snapshot)
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot2)
+
+ # remove with retain snapshots
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+
+ # list snapshots
+ subvolsnapshotls = json.loads(self._fs_cmd('subvolume', 'snapshot', 'ls', self.volname, subvolume))
+ self.assertEqual(len(subvolsnapshotls), 2, "Expected the 'fs subvolume snapshot ls' command to list the"
+ " created subvolume snapshots")
+ snapshotnames = [snapshot['name'] for snapshot in subvolsnapshotls]
+ for snap in [snapshot1, snapshot2]:
+ self.assertIn(snap, snapshotnames, "Missing snapshot '{0}' in snapshot list".format(snap))
+
+ # remove snapshots (should remove volume)
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot1)
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot2)
+
+ # verify list subvolumes returns an empty list
+ subvolumels = json.loads(self._fs_cmd('subvolume', 'ls', self.volname))
+ self.assertEqual(len(subvolumels), 0)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_subvolume_retain_snapshot_with_snapshots(self):
+ """
+ ensure retain snapshots based delete of a subvolume with snapshots retains the subvolume
+ also test allowed and dis-allowed operations on a retained subvolume
+ """
+ snap_md = ["created_at", "data_pool", "has_pending_clones", "size"]
+
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # remove subvolume -- should fail with ENOTEMPTY since it has snapshots
+ try:
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.ENOTEMPTY, "invalid error code on rm of retained subvolume with snapshots")
+ else:
+ self.fail("expected rm of subvolume with retained snapshots to fail")
+
+ # remove with snapshot retention
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+
+ # fetch info
+ subvol_info = json.loads(self._fs_cmd("subvolume", "info", self.volname, subvolume))
+ self.assertEqual(subvol_info["state"], "snapshot-retained",
+ msg="expected state to be 'snapshot-retained', found '{0}".format(subvol_info["state"]))
+
+ ## test allowed ops in retained state
+ # ls
+ subvolumes = json.loads(self._fs_cmd('subvolume', 'ls', self.volname))
+ self.assertEqual(len(subvolumes), 1, "subvolume ls count mismatch, expected '1', found {0}".format(len(subvolumes)))
+ self.assertEqual(subvolumes[0]['name'], subvolume,
+ "subvolume name mismatch in ls output, expected '{0}', found '{1}'".format(subvolume, subvolumes[0]['name']))
+
+ # snapshot info
+ snap_info = json.loads(self._get_subvolume_snapshot_info(self.volname, subvolume, snapshot))
+ for md in snap_md:
+ self.assertIn(md, snap_info, "'{0}' key not present in metadata of snapshot".format(md))
+ self.assertEqual(snap_info["has_pending_clones"], "no")
+
+ # rm --force (allowed but should fail)
+ try:
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--force")
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.ENOTEMPTY, "invalid error code on rm of subvolume with retained snapshots")
+ else:
+ self.fail("expected rm of subvolume with retained snapshots to fail")
+
+ # rm (allowed but should fail)
+ try:
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.ENOTEMPTY, "invalid error code on rm of subvolume with retained snapshots")
+ else:
+ self.fail("expected rm of subvolume with retained snapshots to fail")
+
+ ## test disallowed ops
+ # getpath
+ try:
+ self._fs_cmd("subvolume", "getpath", self.volname, subvolume)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on getpath of subvolume with retained snapshots")
+ else:
+ self.fail("expected getpath of subvolume with retained snapshots to fail")
+
+ # resize
+ nsize = self.DEFAULT_FILE_SIZE*1024*1024
+ try:
+ self._fs_cmd("subvolume", "resize", self.volname, subvolume, str(nsize))
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on resize of subvolume with retained snapshots")
+ else:
+ self.fail("expected resize of subvolume with retained snapshots to fail")
+
+ # snap-create
+ try:
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, "fail")
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.ENOENT, "invalid error code on snapshot create of subvolume with retained snapshots")
+ else:
+ self.fail("expected snapshot create of subvolume with retained snapshots to fail")
+
+ # remove snapshot (should remove volume)
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # verify list subvolumes returns an empty list
+ subvolumels = json.loads(self._fs_cmd('subvolume', 'ls', self.volname))
+ self.assertEqual(len(subvolumels), 0)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_subvolume_retain_snapshot_without_snapshots(self):
+ """
+ ensure retain snapshots based delete of a subvolume with no snapshots, deletes the subbvolume
+ """
+ subvolume = self._generate_random_subvolume_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # remove with snapshot retention (should remove volume, no snapshots to retain)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+
+ # verify list subvolumes returns an empty list
+ subvolumels = json.loads(self._fs_cmd('subvolume', 'ls', self.volname))
+ self.assertEqual(len(subvolumels), 0)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_subvolume_retain_snapshot_trash_busy_recreate(self):
+ """
+ ensure retained subvolume recreate fails if its trash is not yet purged
+ """
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # remove with snapshot retention
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+
+ # fake a trash entry
+ self._update_fake_trash(subvolume)
+
+ # recreate subvolume
+ try:
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ except CommandFailedError as ce:
+ self.assertEqual(ce.exitstatus, errno.EAGAIN, "invalid error code on recreate of subvolume with purge pending")
+ else:
+ self.fail("expected recreate of subvolume with purge pending to fail")
+
+ # clear fake trash entry
+ self._update_fake_trash(subvolume, create=False)
+
+ # recreate subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_subvolume_rm_with_snapshots(self):
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # remove subvolume -- should fail with ENOTEMPTY since it has snapshots
+ try:
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ except CommandFailedError as ce:
+ if ce.exitstatus != errno.ENOTEMPTY:
+ raise RuntimeError("invalid error code returned when deleting subvolume with snapshots")
+ else:
+ raise RuntimeError("expected subvolume deletion to fail")
+
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove subvolume
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_protect_unprotect_sanity(self):
+ """
+ Snapshot protect/unprotect commands are deprecated. This test exists to ensure that
+ invoking the command does not cause errors, till they are removed from a subsequent release.
+ """
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+ clone = self._generate_random_clone_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
+
+ # do some IO
+ self._do_subvolume_io(subvolume, number_of_files=64)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # now, protect snapshot
+ self._fs_cmd("subvolume", "snapshot", "protect", self.volname, subvolume, snapshot)
+
+ # schedule a clone
+ self._fs_cmd("subvolume", "snapshot", "clone", self.volname, subvolume, snapshot, clone)
+
+ # check clone status
+ self._wait_for_clone_to_complete(clone)
+
+ # now, unprotect snapshot
+ self._fs_cmd("subvolume", "snapshot", "unprotect", self.volname, subvolume, snapshot)
+
+ # verify clone
+ self._verify_clone(subvolume, snapshot, clone)
+
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove subvolumes
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ self._fs_cmd("subvolume", "rm", self.volname, clone)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_rm_force(self):
+ # test removing non existing subvolume snapshot with --force
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # remove snapshot
+ try:
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot, "--force")
+ except CommandFailedError:
+ raise RuntimeError("expected the 'fs subvolume snapshot rm --force' command to succeed")
+
+ def test_subvolume_snapshot_metadata_set(self):
+ """
+ Set custom metadata for subvolume snapshot.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata set' command to succeed")
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_set_idempotence(self):
+ """
+ Set custom metadata for subvolume snapshot (Idempotency).
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata set' command to succeed")
+
+ # set same metadata again for subvolume.
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata set' command to succeed because it is idempotent operation")
+
+ # get value for specified key.
+ try:
+ ret = self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, key, group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata get' command to succeed")
+
+ # remove '\n' from returned value.
+ ret = ret.strip('\n')
+
+ # match received value with expected value.
+ self.assertEqual(value, ret)
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_get(self):
+ """
+ Get custom metadata for a specified key in subvolume snapshot metadata.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+
+ # get value for specified key.
+ try:
+ ret = self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, key, group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata get' command to succeed")
+
+ # remove '\n' from returned value.
+ ret = ret.strip('\n')
+
+ # match received value with expected value.
+ self.assertEqual(value, ret)
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_get_for_nonexisting_key(self):
+ """
+ Get custom metadata for subvolume snapshot if specified key not exist in metadata.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+
+ # try to get value for nonexisting key
+ # Expecting ENOENT exit status because key does not exist
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, "key_nonexist", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because 'key_nonexist' does not exist")
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_get_for_nonexisting_section(self):
+ """
+ Get custom metadata for subvolume snapshot if metadata is not added for subvolume snapshot.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # try to get value for nonexisting key (as section does not exist)
+ # Expecting ENOENT exit status because key does not exist
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, "key", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because section does not exist")
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_update(self):
+ """
+ Update custom metadata for a specified key in subvolume snapshot metadata.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+
+ # update metadata against key.
+ new_value = "new_value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, new_value, group)
+
+ # get metadata for specified key of snapshot.
+ try:
+ ret = self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, key, group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata get' command to succeed")
+
+ # remove '\n' from returned value.
+ ret = ret.strip('\n')
+
+ # match received value with expected value.
+ self.assertEqual(new_value, ret)
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_list(self):
+ """
+ List custom metadata for subvolume snapshot.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # set metadata for subvolume.
+ input_metadata_dict = {f'key_{i}' : f'value_{i}' for i in range(3)}
+
+ for k, v in input_metadata_dict.items():
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, k, v, group)
+
+ # list metadata
+ try:
+ ret_dict = json.loads(self._fs_cmd("subvolume", "snapshot", "metadata", "ls", self.volname, subvolname, snapshot, group))
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata ls' command to succeed")
+
+ # compare output with expected output
+ self.assertDictEqual(input_metadata_dict, ret_dict)
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_list_if_no_metadata_set(self):
+ """
+ List custom metadata for subvolume snapshot if metadata is not added for subvolume snapshot.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # list metadata
+ try:
+ ret_dict = json.loads(self._fs_cmd("subvolume", "snapshot", "metadata", "ls", self.volname, subvolname, snapshot, group))
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata ls' command to succeed")
+
+ # compare output with expected output
+ empty_dict = {}
+ self.assertDictEqual(ret_dict, empty_dict)
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_remove(self):
+ """
+ Remove custom metadata for a specified key in subvolume snapshot metadata.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+
+ # remove metadata against specified key.
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "rm", self.volname, subvolname, snapshot, key, group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata rm' command to succeed")
+
+ # confirm key is removed by again fetching metadata
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, key, snapshot, group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because key does not exist")
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_remove_for_nonexisting_key(self):
+ """
+ Remove custom metadata for subvolume snapshot if specified key not exist in metadata.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
+
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
+
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+
+ # try to remove value for nonexisting key
+ # Expecting ENOENT exit status because key does not exist
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "rm", self.volname, subvolname, snapshot, "key_nonexist", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because 'key_nonexist' does not exist")
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
+
+ def test_subvolume_snapshot_metadata_remove_for_nonexisting_section(self):
"""
- ensure retain snapshots based delete of a subvolume with no snapshots, deletes the subbvolume
+ Remove custom metadata for subvolume snapshot if metadata is not added for subvolume snapshot.
"""
- subvolume = self._generate_random_subvolume_name()
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
+ snapshot = self._generate_random_snapshot_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # remove with snapshot retention (should remove volume, no snapshots to retain)
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
- # verify list subvolumes returns an empty list
- subvolumels = json.loads(self._fs_cmd('subvolume', 'ls', self.volname))
- self.assertEqual(len(subvolumels), 0)
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
- # verify trash dir is clean
+ # try to remove value for nonexisting key (as section does not exist)
+ # Expecting ENOENT exit status because key does not exist
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "rm", self.volname, subvolname, snapshot, "key", group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
+ else:
+ self.fail("Expected ENOENT because section does not exist")
+
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- def test_subvolume_retain_snapshot_trash_busy_recreate(self):
+ def test_subvolume_snapshot_metadata_remove_force(self):
"""
- ensure retained subvolume recreate fails if its trash is not yet purged
+ Forcefully remove custom metadata for a specified key in subvolume snapshot metadata.
"""
- subvolume = self._generate_random_subvolume_name()
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
snapshot = self._generate_random_snapshot_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
# snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
- # remove with snapshot retention
- self._fs_cmd("subvolume", "rm", self.volname, subvolume, "--retain-snapshots")
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
- # fake a trash entry
- self._update_fake_trash(subvolume)
+ # remove metadata against specified key with --force option.
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "rm", self.volname, subvolname, snapshot, key, group, "--force")
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata rm' command to succeed")
- # recreate subvolume
+ # confirm key is removed by again fetching metadata
try:
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
- except CommandFailedError as ce:
- self.assertEqual(ce.exitstatus, errno.EAGAIN, "invalid error code on recreate of subvolume with purge pending")
+ self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, key, group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
else:
- self.fail("expected recreate of subvolume with purge pending to fail")
-
- # clear fake trash entry
- self._update_fake_trash(subvolume, create=False)
-
- # recreate subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
-
- # remove snapshot
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ self.fail("Expected ENOENT because key does not exist")
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # verify trash dir is clean
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- def test_subvolume_rm_with_snapshots(self):
- subvolume = self._generate_random_subvolume_name()
+ def test_subvolume_snapshot_metadata_remove_force_for_nonexisting_key(self):
+ """
+ Forcefully remove custom metadata for subvolume snapshot if specified key not exist in metadata.
+ """
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
snapshot = self._generate_random_snapshot_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume)
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
+
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
# snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
- # remove subvolume -- should fail with ENOTEMPTY since it has snapshots
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
+
+ # remove metadata against specified key.
try:
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
- except CommandFailedError as ce:
- if ce.exitstatus != errno.ENOTEMPTY:
- raise RuntimeError("invalid error code returned when deleting subvolume with snapshots")
+ self._fs_cmd("subvolume", "snapshot", "metadata", "rm", self.volname, subvolname, snapshot, key, group)
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata rm' command to succeed")
+
+ # confirm key is removed by again fetching metadata
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, key, group)
+ except CommandFailedError as e:
+ self.assertEqual(e.exitstatus, errno.ENOENT)
else:
- raise RuntimeError("expected subvolume deletion to fail")
+ self.fail("Expected ENOENT because key does not exist")
- # remove snapshot
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ # again remove metadata against already removed key with --force option.
+ try:
+ self._fs_cmd("subvolume", "snapshot", "metadata", "rm", self.volname, subvolname, snapshot, key, group, "--force")
+ except CommandFailedError:
+ self.fail("expected the 'fs subvolume snapshot metadata rm' (with --force) command to succeed")
- # remove subvolume
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
- # verify trash dir is clean
+ # verify trash dir is clean.
self._wait_for_trash_empty()
- def test_subvolume_snapshot_protect_unprotect_sanity(self):
+ def test_subvolume_snapshot_metadata_after_snapshot_remove(self):
"""
- Snapshot protect/unprotect commands are deprecated. This test exists to ensure that
- invoking the command does not cause errors, till they are removed from a subsequent release.
+ Verify metadata removal of subvolume snapshot after snapshot removal.
"""
- subvolume = self._generate_random_subvolume_name()
+ subvolname = self._generate_random_subvolume_name()
+ group = self._generate_random_group_name()
snapshot = self._generate_random_snapshot_name()
- clone = self._generate_random_clone_name()
- # create subvolume
- self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
+ # create group.
+ self._fs_cmd("subvolumegroup", "create", self.volname, group)
- # do some IO
- self._do_subvolume_io(subvolume, number_of_files=64)
+ # create subvolume in group.
+ self._fs_cmd("subvolume", "create", self.volname, subvolname, group)
# snapshot subvolume
- self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
-
- # now, protect snapshot
- self._fs_cmd("subvolume", "snapshot", "protect", self.volname, subvolume, snapshot)
-
- # schedule a clone
- self._fs_cmd("subvolume", "snapshot", "clone", self.volname, subvolume, snapshot, clone)
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolname, snapshot, group)
- # check clone status
- self._wait_for_clone_to_complete(clone)
+ # set metadata for snapshot.
+ key = "key"
+ value = "value"
+ self._fs_cmd("subvolume", "snapshot", "metadata", "set", self.volname, subvolname, snapshot, key, value, group)
- # now, unprotect snapshot
- self._fs_cmd("subvolume", "snapshot", "unprotect", self.volname, subvolume, snapshot)
+ # get value for specified key.
+ ret = self._fs_cmd("subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, key, group)
- # verify clone
- self._verify_clone(subvolume, snapshot, clone)
+ # remove '\n' from returned value.
+ ret = ret.strip('\n')
- # remove snapshot
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+ # match received value with expected value.
+ self.assertEqual(value, ret)
- # remove subvolumes
- self._fs_cmd("subvolume", "rm", self.volname, subvolume)
- self._fs_cmd("subvolume", "rm", self.volname, clone)
+ # remove subvolume snapshot.
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolname, snapshot, group)
- # verify trash dir is clean
- self._wait_for_trash_empty()
+ # try to get metadata after removing snapshot.
+ # Expecting error ENOENT with error message of snapshot does not exist
+ cmd_ret = self.mgr_cluster.mon_manager.run_cluster_cmd(
+ args=["fs", "subvolume", "snapshot", "metadata", "get", self.volname, subvolname, snapshot, key, group],
+ check_status=False, stdout=StringIO(), stderr=StringIO())
+ self.assertEqual(cmd_ret.returncode, errno.ENOENT, "Expecting ENOENT error")
+ self.assertIn(f"snapshot '{snapshot}' does not exist", cmd_ret.stderr.getvalue(),
+ f"Expecting message: snapshot '{snapshot}' does not exist ")
- def test_subvolume_snapshot_rm_force(self):
- # test removing non existing subvolume snapshot with --force
- subvolume = self._generate_random_subvolume_name()
- snapshot = self._generate_random_snapshot_name()
+ # confirm metadata is removed by searching section name in .meta file
+ meta_path = os.path.join(".", "volumes", group, subvolname, ".meta")
+ section_name = "SNAP_METADATA_" + snapshot
- # remove snapshot
try:
- self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot, "--force")
- except CommandFailedError:
- raise RuntimeError("expected the 'fs subvolume snapshot rm --force' command to succeed")
+ self.mount_a.run_shell(f"sudo grep {section_name} {meta_path}", omit_sudo=False)
+ except CommandFailedError as e:
+ self.assertNotEqual(e.exitstatus, 0)
+ else:
+ self.fail("Expected non-zero exist status because section should not exist")
+ self._fs_cmd("subvolume", "rm", self.volname, subvolname, group)
+ self._fs_cmd("subvolumegroup", "rm", self.volname, group)
+
+ # verify trash dir is clean.
+ self._wait_for_trash_empty()
class TestSubvolumeSnapshotClones(TestVolumesHelper):
""" Tests for FS subvolume snapshot clone operations."""
# verify trash dir is clean
self._wait_for_trash_empty()
+ def test_clone_failure_status_pending_in_progress_complete(self):
+ """
+ ensure failure status is not shown when clone is not in failed/cancelled state
+ """
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+ clone1 = self._generate_random_clone_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
+
+ # do some IO
+ self._do_subvolume_io(subvolume, number_of_files=200)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # Insert delay at the beginning of snapshot clone
+ self.config_set('mgr', 'mgr/volumes/snapshot_clone_delay', 5)
+
+ # schedule a clone1
+ self._fs_cmd("subvolume", "snapshot", "clone", self.volname, subvolume, snapshot, clone1)
+
+ # pending clone shouldn't show failure status
+ clone1_result = self._get_clone_status(clone1)
+ try:
+ clone1_result["status"]["failure"]["errno"]
+ except KeyError as e:
+ self.assertEqual(str(e), "'failure'")
+ else:
+ self.fail("clone status shouldn't show failure for pending clone")
+
+ # check clone1 to be in-progress
+ self._wait_for_clone_to_be_in_progress(clone1)
+
+ # in-progress clone1 shouldn't show failure status
+ clone1_result = self._get_clone_status(clone1)
+ try:
+ clone1_result["status"]["failure"]["errno"]
+ except KeyError as e:
+ self.assertEqual(str(e), "'failure'")
+ else:
+ self.fail("clone status shouldn't show failure for in-progress clone")
+
+ # wait for clone1 to complete
+ self._wait_for_clone_to_complete(clone1)
+
+ # complete clone1 shouldn't show failure status
+ clone1_result = self._get_clone_status(clone1)
+ try:
+ clone1_result["status"]["failure"]["errno"]
+ except KeyError as e:
+ self.assertEqual(str(e), "'failure'")
+ else:
+ self.fail("clone status shouldn't show failure for complete clone")
+
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove subvolumes
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+ self._fs_cmd("subvolume", "rm", self.volname, clone1)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_clone_failure_status_failed(self):
+ """
+ ensure failure status is shown when clone is in failed state and validate the reason
+ """
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+ clone1 = self._generate_random_clone_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
+
+ # do some IO
+ self._do_subvolume_io(subvolume, number_of_files=200)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # Insert delay at the beginning of snapshot clone
+ self.config_set('mgr', 'mgr/volumes/snapshot_clone_delay', 5)
+
+ # schedule a clone1
+ self._fs_cmd("subvolume", "snapshot", "clone", self.volname, subvolume, snapshot, clone1)
+
+ # remove snapshot from backend to force the clone failure.
+ snappath = os.path.join(".", "volumes", "_nogroup", subvolume, ".snap", snapshot)
+ self.mount_a.run_shell(['rmdir', snappath], sudo=True)
+
+ # wait for clone1 to fail.
+ self._wait_for_clone_to_fail(clone1)
+
+ # check clone1 status
+ clone1_result = self._get_clone_status(clone1)
+ self.assertEqual(clone1_result["status"]["state"], "failed")
+ self.assertEqual(clone1_result["status"]["failure"]["errno"], "2")
+ self.assertEqual(clone1_result["status"]["failure"]["error_msg"], "snapshot '{0}' does not exist".format(snapshot))
+
+ # clone removal should succeed after failure, remove clone1
+ self._fs_cmd("subvolume", "rm", self.volname, clone1, "--force")
+
+ # remove subvolumes
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_clone_failure_status_pending_cancelled(self):
+ """
+ ensure failure status is shown when clone is cancelled during pending state and validate the reason
+ """
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+ clone1 = self._generate_random_clone_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
+
+ # do some IO
+ self._do_subvolume_io(subvolume, number_of_files=200)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # Insert delay at the beginning of snapshot clone
+ self.config_set('mgr', 'mgr/volumes/snapshot_clone_delay', 5)
+
+ # schedule a clone1
+ self._fs_cmd("subvolume", "snapshot", "clone", self.volname, subvolume, snapshot, clone1)
+
+ # cancel pending clone1
+ self._fs_cmd("clone", "cancel", self.volname, clone1)
+
+ # check clone1 status
+ clone1_result = self._get_clone_status(clone1)
+ self.assertEqual(clone1_result["status"]["state"], "canceled")
+ self.assertEqual(clone1_result["status"]["failure"]["errno"], "4")
+ self.assertEqual(clone1_result["status"]["failure"]["error_msg"], "user interrupted clone operation")
+
+ # clone removal should succeed with force after cancelled, remove clone1
+ self._fs_cmd("subvolume", "rm", self.volname, clone1, "--force")
+
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove subvolumes
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
+ def test_clone_failure_status_in_progress_cancelled(self):
+ """
+ ensure failure status is shown when clone is cancelled during in-progress state and validate the reason
+ """
+ subvolume = self._generate_random_subvolume_name()
+ snapshot = self._generate_random_snapshot_name()
+ clone1 = self._generate_random_clone_name()
+
+ # create subvolume
+ self._fs_cmd("subvolume", "create", self.volname, subvolume, "--mode=777")
+
+ # do some IO
+ self._do_subvolume_io(subvolume, number_of_files=200)
+
+ # snapshot subvolume
+ self._fs_cmd("subvolume", "snapshot", "create", self.volname, subvolume, snapshot)
+
+ # Insert delay at the beginning of snapshot clone
+ self.config_set('mgr', 'mgr/volumes/snapshot_clone_delay', 5)
+
+ # schedule a clone1
+ self._fs_cmd("subvolume", "snapshot", "clone", self.volname, subvolume, snapshot, clone1)
+
+ # wait for clone1 to be in-progress
+ self._wait_for_clone_to_be_in_progress(clone1)
+
+ # cancel in-progess clone1
+ self._fs_cmd("clone", "cancel", self.volname, clone1)
+
+ # check clone1 status
+ clone1_result = self._get_clone_status(clone1)
+ self.assertEqual(clone1_result["status"]["state"], "canceled")
+ self.assertEqual(clone1_result["status"]["failure"]["errno"], "4")
+ self.assertEqual(clone1_result["status"]["failure"]["error_msg"], "user interrupted clone operation")
+
+ # clone removal should succeed with force after cancelled, remove clone1
+ self._fs_cmd("subvolume", "rm", self.volname, clone1, "--force")
+
+ # remove snapshot
+ self._fs_cmd("subvolume", "snapshot", "rm", self.volname, subvolume, snapshot)
+
+ # remove subvolumes
+ self._fs_cmd("subvolume", "rm", self.volname, subvolume)
+
+ # verify trash dir is clean
+ self._wait_for_trash_empty()
+
def test_subvolume_snapshot_clone(self):
subvolume = self._generate_random_subvolume_name()
snapshot = self._generate_random_snapshot_name()
[testenv:py3]
basepython = python3
deps =
- {env:TEUTHOLOGY_GIT:git+https://github.com/ceph/teuthology.git@master}#egg=teuthology[coverage,orchestra,test]
+ {env:TEUTHOLOGY_GIT:git+https://github.com/ceph/teuthology.git@main}#egg=teuthology[coverage,orchestra,test]
httplib2
commands =
pytest --assert=plain test_import.py
if eval "$@"; then return 1; else return 0; fi
}
+# expect_return_code $expected_code $command ...
+function expect_return_code()
+{
+ set -x
+ local expected_code="$1"
+ shift
+ local command="$@"
+
+ set +e
+ eval "$command"
+ local return_code="$?"
+ set -e
+
+ if [ ! "$return_code" -eq "$expected_code" ]; then return 1; else return 0; fi
+}
+
function is_available()
{
local name="$1"
expect_false $CEPHADM unit --fsid $FSID --name mon.a -- is-enabled
$CEPHADM unit --fsid $FSID --name mon.a -- enable
$CEPHADM unit --fsid $FSID --name mon.a -- is-enabled
+$CEPHADM unit --fsid $FSID --name mon.a -- status
+$CEPHADM unit --fsid $FSID --name mon.a -- stop
+expect_return_code 3 $CEPHADM unit --fsid $FSID --name mon.a -- status
+$CEPHADM unit --fsid $FSID --name mon.a -- start
## shell
$CEPHADM shell --fsid $FSID -- true
ceph osd blocklist ls | grep $bl
ceph osd blocklist rm $bl
ceph osd blocklist ls | expect_false grep $bl
- expect_false "ceph osd blocklist $bl/-1"
- expect_false "ceph osd blocklist $bl/foo"
+ expect_false "ceph osd blocklist add $bl/-1"
+ expect_false "ceph osd blocklist add $bl/foo"
- # test with wrong address
- expect_false "ceph osd blocklist 1234.56.78.90/100"
+ # test with invalid address
+ expect_false "ceph osd blocklist add 1234.56.78.90/100"
+
+ # test range blocklisting
+ bl=192.168.0.1:0/24
+ ceph osd blocklist range add $bl
+ ceph osd blocklist ls | grep $bl
+ ceph osd blocklist range rm $bl
+ ceph osd blocklist ls | expect_false grep $bl
+ bad_bl=192.168.0.1/33
+ expect_false ceph osd blocklist range add $bad_bl
# Test `clear`
ceph osd blocklist add $bl
--- /dev/null
+\801001_04/57/0457f727ec113e418d5b16d206b200ed068c0533554883ce811df7c932a3df68/2018_12_11/2889999/3386469/metadata.gz
\ No newline at end of file
import json
import boto3
import botocore.exceptions
+import os
"""
Rgw manual and dynamic resharding testing against a running instance
BUCKET_NAME1 = 'myfoo'
BUCKET_NAME2 = 'mybar'
VER_BUCKET_NAME = 'myver'
+INDEX_POOL = 'default.rgw.buckets.index'
def exec_cmd(cmd):
new_ver_bucket_acl = connection.BucketAcl(VER_BUCKET_NAME).load()
assert new_ver_bucket_acl == ver_bucket_acl
+ # TESTCASE 'check reshard removes olh entries with empty name'
+ log.debug(' test: reshard removes olh entries with empty name')
+ bucket1.objects.all().delete()
+
+ # get name of shard 0 object, add a bogus olh entry with empty name
+ bucket_shard0 = '.dir.%s.0' % get_bucket_stats(BUCKET_NAME1).bucket_id
+ if 'CEPH_ROOT' in os.environ:
+ k = '%s/qa/workunits/rgw/olh_noname_key' % os.environ['CEPH_ROOT']
+ v = '%s/qa/workunits/rgw/olh_noname_val' % os.environ['CEPH_ROOT']
+ else:
+ k = 'olh_noname_key'
+ v = 'olh_noname_val'
+ exec_cmd('rados -p %s setomapval %s --omap-key-file %s < %s' % (INDEX_POOL, bucket_shard0, k, v))
+
+ # check that bi list has one entry with empty name
+ cmd = exec_cmd('radosgw-admin bi list --bucket %s' % BUCKET_NAME1)
+ json_op = json.loads(cmd.decode('utf-8', 'ignore')) # ignore utf-8 can't decode 0x80
+ assert len(json_op) == 1
+ assert json_op[0]['entry']['key']['name'] == ''
+
+ # reshard to prune the bogus olh
+ cmd = exec_cmd('radosgw-admin bucket reshard --bucket %s --num-shards %s --yes-i-really-mean-it' % (BUCKET_NAME1, 1))
+
+ # get new name of shard 0 object, check that bi list has zero entries
+ bucket_shard0 = '.dir.%s.0' % get_bucket_stats(BUCKET_NAME1).bucket_id
+ cmd = exec_cmd('radosgw-admin bi list --bucket %s' % BUCKET_NAME1)
+ json_op = json.loads(cmd)
+ assert len(json_op) == 0
+
# Clean up
log.debug("Deleting bucket %s", BUCKET_NAME1)
bucket1.objects.all().delete()
if [ $WITH_ZBD ]; then
cmake_opts+=" -DWITH_ZBD=ON"
fi
- if [ $WITH_PMEM ]; then
- cmake_opts+=" -DWITH_RBD_RWL=ON -DWITH_SYSTEM_PMDK=ON"
+ if [ $WITH_RBD_RWL ]; then
+ cmake_opts+=" -DWITH_RBD_RWL=ON"
fi
+ cmake_opts+=" -DWITH_RBD_SSD_CACHE=ON"
configure "$cmake_opts" "$@"
build tests
echo "make check: successful build on $(git rev-parse HEAD)"
-43e2e60a7559d3f46c9d53f1ca875fd499a1e35e
-17.2.0
+ec95624474b1871a821a912b8c3af68f8f8e7aa1
+17.2.1
endif()
endif(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
-if(NOT CMAKE_BUILD_TYPE AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
- set(default_build_type "Debug")
- set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
- STRING "Default BUILD_TYPE is Debug, other options are: RelWithDebInfo, Release, and MinSizeRel." FORCE)
-endif()
-
if(WITH_CEPH_DEBUG_MUTEX)
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-DCEPH_DEBUG_MUTEX>)
endif()
'devices',
metavar='DEVICES',
nargs='*',
- type=arg_validators.ValidBatchDevice(),
+ type=arg_validators.ValidBatchDataDevice(),
default=[],
help='Devices to provision OSDs',
)
from ceph_volume.devices.lvm.zap import Zap
import argparse
-
def rollback_osd(args, osd_id=None):
"""
When the process of creating or preparing fails, the OSD needs to be
'--data': {
'help': 'OSD data path. A physical device or logical volume',
'required': True,
- 'type': arg_validators.ValidDevice(as_string=True),
+ 'type': arg_validators.ValidDataDevice(as_string=True),
#'default':,
#'type':,
},
"""
lv = api.get_single_lv(filters={'lv_name': device.lv_name, 'vg_name':
device.vg_name})
+ pv = api.get_single_pv(filters={'lv_uuid': lv.lv_uuid})
self.unmount_lv(lv)
wipefs(device.abspath)
mlogger.info('Only 1 LV left in VG, will proceed to destroy '
'volume group %s', device.vg_name)
api.remove_vg(device.vg_name)
+ api.remove_pv(pv.pv_name)
else:
mlogger.info('More than 1 LV left in VG, will proceed to '
'destroy LV only')
'devices',
metavar='DEVICES',
nargs='*',
- type=arg_validators.ValidDevice(gpt_ok=True),
+ type=arg_validators.ValidZapDevice(gpt_ok=True),
default=[],
help='Path to one or many lv (as vg/lv), partition (as /dev/sda1) or device (as /dev/sda)'
)
parser.add_argument(
'--data',
required=True,
- type=arg_validators.ValidDevice(as_string=True),
+ type=arg_validators.ValidRawDevice(as_string=True),
help='a raw device to use for the OSD',
)
parser.add_argument(
parser.add_argument(
'--block.db',
dest='block_db',
- help='Path to bluestore block.db block device'
+ help='Path to bluestore block.db block device',
+ type=arg_validators.ValidRawDevice(as_string=True)
)
parser.add_argument(
'--block.wal',
dest='block_wal',
- help='Path to bluestore block.wal block device'
+ help='Path to bluestore block.wal block device',
+ type=arg_validators.ValidRawDevice(as_string=True)
)
parser.add_argument(
'--dmcrypt',
def test_reject_partition(self, mocked_device):
mocked_device.return_value = MagicMock(
is_partition=True,
+ has_fs=False,
+ is_lvm_member=False,
has_gpt_headers=False,
has_partitions=False,
)
import pytest
from ceph_volume.devices import lvm
+from mock import patch
class TestCreate(object):
assert 'Use the bluestore objectstore' in stdout
assert 'A physical device or logical' in stdout
- def test_excludes_filestore_bluestore_flags(self, capsys, device_info):
+ @patch('ceph_volume.util.disk.has_bluestore_label', return_value=False)
+ def test_excludes_filestore_bluestore_flags(self, m_has_bs_label, fake_call, capsys, device_info):
device_info()
with pytest.raises(SystemExit):
lvm.create.Create(argv=['--data', '/dev/sdfoo', '--filestore', '--bluestore']).main()
expected = 'Cannot use --filestore (filestore) with --bluestore (bluestore)'
assert expected in stderr
- def test_excludes_other_filestore_bluestore_flags(self, capsys, device_info):
+ @patch('ceph_volume.util.disk.has_bluestore_label', return_value=False)
+ def test_excludes_other_filestore_bluestore_flags(self, m_has_bs_label, fake_call, capsys, device_info):
device_info()
with pytest.raises(SystemExit):
lvm.create.Create(argv=[
expected = 'Cannot use --bluestore (bluestore) with --journal (filestore)'
assert expected in stderr
- def test_excludes_block_and_journal_flags(self, capsys, device_info):
+ @patch('ceph_volume.util.disk.has_bluestore_label', return_value=False)
+ def test_excludes_block_and_journal_flags(self, m_has_bs_label, fake_call, capsys, device_info):
device_info()
with pytest.raises(SystemExit):
lvm.create.Create(argv=[
class TestList(object):
- def test_empty_full_json_zero_exit_status(self, is_root,factory,capsys):
+ def test_empty_full_json_zero_exit_status(self, fake_call, is_root, factory, capsys):
args = factory(format='json', device=None)
lvm.listing.List([]).list(args)
stdout, stderr = capsys.readouterr()
stdout, stderr = capsys.readouterr()
assert stdout == '{}\n'
- def test_empty_full_zero_exit_status(self, is_root, factory):
+ def test_empty_full_zero_exit_status(self, fake_call, is_root, factory):
args = factory(format='pretty', device=None)
with pytest.raises(SystemExit):
lvm.listing.List([]).list(args)
import pytest
from ceph_volume.devices import lvm
from ceph_volume.api import lvm as api
-from mock.mock import patch, Mock
+from mock.mock import patch, Mock, MagicMock
class TestLVM(object):
assert 'Use the bluestore objectstore' in stdout
assert 'A physical device or logical' in stdout
- def test_excludes_filestore_bluestore_flags(self, capsys, device_info):
+
+ @patch('ceph_volume.util.disk.has_bluestore_label', return_value=False)
+ def test_excludes_filestore_bluestore_flags(self, m_has_bs_label, fake_call, capsys, device_info):
device_info()
with pytest.raises(SystemExit):
lvm.prepare.Prepare(argv=['--data', '/dev/sdfoo', '--filestore', '--bluestore']).main()
expected = 'Cannot use --filestore (filestore) with --bluestore (bluestore)'
assert expected in stderr
- def test_excludes_other_filestore_bluestore_flags(self, capsys, device_info):
+
+ @patch('ceph_volume.util.disk.has_bluestore_label', return_value=False)
+ def test_excludes_other_filestore_bluestore_flags(self, m_has_bs_label, fake_call, capsys, device_info):
device_info()
with pytest.raises(SystemExit):
lvm.prepare.Prepare(argv=[
expected = 'Cannot use --bluestore (bluestore) with --journal (filestore)'
assert expected in stderr
- def test_excludes_block_and_journal_flags(self, capsys, device_info):
+ @patch('ceph_volume.util.disk.has_bluestore_label', return_value=False)
+ def test_excludes_block_and_journal_flags(self, m_has_bs_label, fake_call, capsys, device_info):
device_info()
with pytest.raises(SystemExit):
lvm.prepare.Prepare(argv=[
expected = 'Cannot use --block.db (bluestore) with --journal (filestore)'
assert expected in stderr
- def test_journal_is_required_with_filestore(self, is_root, monkeypatch, device_info):
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.disk.has_bluestore_label', return_value=False)
+ def test_journal_is_required_with_filestore(self, m_has_bs_label, m_device, is_root, monkeypatch, device_info):
+ m_device.return_value = MagicMock(exists=True,
+ has_fs=False,
+ used_by_ceph=False,
+ has_partitions=False,
+ has_gpt_headers=False)
monkeypatch.setattr("os.path.exists", lambda path: True)
- device_info()
with pytest.raises(SystemExit) as error:
lvm.prepare.Prepare(argv=['--filestore', '--data', '/dev/sdfoo']).main()
expected = '--journal is required when using --filestore'
result = zap.ensure_associated_lvs(volumes)
assert result == []
- def test_data_is_found(self):
+ def test_data_is_found(self, fake_call):
tags = 'ceph.osd_id=0,ceph.osd_fsid=asdf-lkjh,ceph.journal_uuid=x,ceph.type=data'
osd = api.Volume(
lv_name='volume1', lv_uuid='y', vg_name='', lv_path='/dev/VolGroup/data', lv_tags=tags)
result = zap.ensure_associated_lvs(volumes)
assert result == ['/dev/VolGroup/data']
- def test_block_is_found(self):
+ def test_block_is_found(self, fake_call):
tags = 'ceph.osd_id=0,ceph.osd_fsid=asdf-lkjh,ceph.journal_uuid=x,ceph.type=block'
osd = api.Volume(
lv_name='volume1', lv_uuid='y', vg_name='', lv_path='/dev/VolGroup/block', lv_tags=tags)
assert '/dev/sdb1' in result
assert '/dev/VolGroup/block' in result
- def test_journal_is_found(self):
+ def test_journal_is_found(self, fake_call):
tags = 'ceph.osd_id=0,ceph.osd_fsid=asdf-lkjh,ceph.journal_uuid=x,ceph.type=journal'
osd = api.Volume(
lv_name='volume1', lv_uuid='y', vg_name='', lv_path='/dev/VolGroup/lv', lv_tags=tags)
assert 'Path to bluestore block.wal block device' in stdout
assert 'Enable device encryption via dm-crypt' in stdout
- @patch('ceph_volume.util.arg_validators.ValidDevice.__call__')
+ @patch('ceph_volume.util.arg_validators.ValidRawDevice.__call__')
def test_prepare_dmcrypt_no_secret_passed(self, m_valid_device, capsys):
m_valid_device.return_value = '/dev/foo'
with pytest.raises(SystemExit):
@patch('ceph_volume.devices.raw.prepare.rollback_osd')
@patch('ceph_volume.devices.raw.prepare.Prepare.prepare')
- @patch('ceph_volume.util.arg_validators.ValidDevice.__call__')
+ @patch('ceph_volume.util.arg_validators.ValidRawDevice.__call__')
def test_safe_prepare_exception_raised(self, m_valid_device, m_prepare, m_rollback_osd):
m_valid_device.return_value = '/dev/foo'
m_prepare.side_effect=Exception('foo')
import pytest
from ceph_volume.devices import lvm
+from mock.mock import patch, MagicMock
class TestZap(object):
'/dev/mapper/foo',
'/dev/dm-0',
])
- def test_can_not_zap_mapper_device(self, monkeypatch, device_info, capsys, is_root, device_name):
+ @patch('ceph_volume.util.arg_validators.Device')
+ def test_can_not_zap_mapper_device(self, mocked_device, monkeypatch, device_info, capsys, is_root, device_name):
monkeypatch.setattr('os.path.exists', lambda x: True)
- device_info()
+ mocked_device.return_value = MagicMock(
+ is_mapper=True,
+ is_mpath=False,
+ used_by_ceph=True,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False
+ )
with pytest.raises(SystemExit):
lvm.zap.Zap(argv=[device_name]).main()
stdout, stderr = capsys.readouterr()
- name: tell lvm to ignore loop devices
lineinfile:
path: /etc/lvm/lvm.conf
- line: ' global_filter = [ "r|loop|", "a|.*|" ]'
- insertafter: '^devices {'
+ line: "\tfilter = [ 'r|loop.*|' ]"
+ insertafter: 'devices {'
- name: lvm allow changes depsite duplicate PVIDs
lineinfile:
path: /etc/lvm/lvm.conf
class TestInventory(object):
expected_keys = [
+ 'ceph_device',
'path',
'rejected_reasons',
'sys_api',
'errors',
]
- def test_json_inventory_keys_unexpected(self, device_report_keys):
+ def test_json_inventory_keys_unexpected(self, fake_call, device_report_keys):
for k in device_report_keys:
assert k in self.expected_keys, "unexpected key {} in report".format(k)
- def test_json_inventory_keys_missing(self, device_report_keys):
+ def test_json_inventory_keys_missing(self, fake_call, device_report_keys):
for k in self.expected_keys:
assert k in device_report_keys, "expected key {} in report".format(k)
- def test_sys_api_keys_unexpected(self, device_sys_api_keys):
+ def test_sys_api_keys_unexpected(self, fake_call, device_sys_api_keys):
for k in device_sys_api_keys:
assert k in self.expected_sys_api_keys, "unexpected key {} in sys_api field".format(k)
- def test_sys_api_keys_missing(self, device_sys_api_keys):
+ def test_sys_api_keys_missing(self, fake_call, device_sys_api_keys):
for k in self.expected_sys_api_keys:
assert k in device_sys_api_keys, "expected key {} in sys_api field".format(k)
- def test_lsm_data_type_unexpected(self, device_data):
+ def test_lsm_data_type_unexpected(self, fake_call, device_data):
assert isinstance(device_data['lsm_data'], dict), "lsm_data field must be of type dict"
- def test_lsm_data_keys_unexpected(self, device_data):
+ def test_lsm_data_keys_unexpected(self, fake_call, device_data):
for k in device_data['lsm_data'].keys():
assert k in self.expected_lsm_keys, "unexpected key {} in lsm_data field".format(k)
- def test_lsm_data_keys_missing(self, device_data):
+ def test_lsm_data_keys_missing(self, fake_call, device_data):
lsm_keys = device_data['lsm_data'].keys()
assert lsm_keys
for k in self.expected_lsm_keys:
def test_lsmdisk_led_fault(self, lsm_info):
assert lsm_info.led_fault_state == 'Off'
def test_lsmdisk_report(self, lsm_info):
- assert isinstance(lsm_info.json_report(), dict)
\ No newline at end of file
+ assert isinstance(lsm_info.json_report(), dict)
import argparse
import pytest
import os
-from ceph_volume import exceptions
+from ceph_volume import exceptions, process
from ceph_volume.util import arg_validators
-from mock.mock import patch, PropertyMock
+from mock.mock import patch, MagicMock
class TestOSDPath(object):
def setup(self):
self.validator = arg_validators.ValidDevice()
- def test_path_is_valid(self, fake_call, patch_bluestore_label):
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ def test_path_is_valid(self, m_has_bs_label, fake_call, patch_bluestore_label):
result = self.validator('/')
assert result.abspath == '/'
- def test_path_is_invalid(self, fake_call, patch_bluestore_label):
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ def test_path_is_invalid(self, m_has_bs_label, fake_call, patch_bluestore_label):
with pytest.raises(argparse.ArgumentError):
self.validator('/device/does/not/exist')
- @patch('ceph_volume.util.arg_validators.Device.has_partitions', new_callable=PropertyMock, return_value=True)
- @patch('ceph_volume.util.arg_validators.Device.exists', new_callable=PropertyMock, return_value=True)
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
@patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
- def test_dev_has_partitions(self, m_get_single_lv, m_exists, m_has_partitions, fake_call):
+ def test_dev_has_partitions(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ exists=True,
+ has_partitions=True,
+ )
+ with pytest.raises(RuntimeError):
+ self.validator('/dev/foo')
+
+class TestValidZapDevice(object):
+ def setup(self):
+ self.validator = arg_validators.ValidZapDevice()
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_has_partition(self, m_get_single_lv, m_has_bs_label, mocked_device):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=True,
+ has_gpt_headers=False,
+ has_fs=False
+ )
+ self.validator.zap = False
+ with pytest.raises(RuntimeError):
+ assert self.validator('/dev/foo')
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_has_no_partition(self, m_get_single_lv, m_has_bs_label, mocked_device):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False
+ )
+ self.validator.zap = False
+ assert self.validator('/dev/foo')
+
+class TestValidDataDevice(object):
+ def setup(self):
+ self.validator = arg_validators.ValidDataDevice()
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_used_by_ceph(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=True,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False
+ )
+ with pytest.raises(SystemExit):
+ self.validator.zap = False
+ self.validator('/dev/foo')
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_has_fs(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=True
+ )
+ with pytest.raises(RuntimeError):
+ self.validator.zap = False
+ self.validator('/dev/foo')
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=True)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_has_bs_signature(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False
+ )
+ with pytest.raises(RuntimeError):
+ self.validator.zap = False
+ self.validator('/dev/foo')
+
+class TestValidRawDevice(object):
+ def setup(self):
+ self.validator = arg_validators.ValidRawDevice()
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.util.arg_validators.disk.blkid')
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_dmcrypt_device_already_prepared(self, m_get_single_lv, m_blkid, m_has_bs_label, mocked_device, fake_call, monkeypatch):
+ def mock_call(cmd, **kw):
+ return ('', '', 1)
+ monkeypatch.setattr(process, 'call', mock_call)
+ m_blkid.return_value = {'UUID': '8fd92779-ad78-437c-a06f-275f7170fa74', 'TYPE': 'crypto_LUKS'}
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False
+ )
+ with pytest.raises(SystemExit):
+ self.validator.zap = False
+ self.validator('/dev/foo')
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_already_prepared(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False
+ )
+ with pytest.raises(SystemExit):
+ self.validator.zap = False
+ self.validator('/dev/foo')
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_not_prepared(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call, monkeypatch):
+ def mock_call(cmd, **kw):
+ return ('', '', 1)
+ monkeypatch.setattr(process, 'call', mock_call)
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False
+ )
+ self.validator.zap = False
+ assert self.validator('/dev/foo')
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_has_partition(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call, monkeypatch):
+ def mock_call(cmd, **kw):
+ return ('', '', 1)
+ monkeypatch.setattr(process, 'call', mock_call)
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=True,
+ has_gpt_headers=False,
+ has_fs=False
+ )
+ self.validator.zap = False
with pytest.raises(RuntimeError):
+ assert self.validator('/dev/foo')
+
+class TestValidBatchDevice(object):
+ def setup(self):
+ self.validator = arg_validators.ValidBatchDevice()
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_is_partition(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False,
+ is_partition=True
+ )
+ with pytest.raises(argparse.ArgumentError):
+ self.validator.zap = False
self.validator('/dev/foo')
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_is_not_partition(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False,
+ is_partition=False
+ )
+ self.validator.zap = False
+ assert self.validator('/dev/foo')
+
+class TestValidBatchDataDevice(object):
+ def setup(self):
+ self.validator = arg_validators.ValidBatchDataDevice()
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_is_partition(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False,
+ is_partition=True
+ )
+ with pytest.raises(argparse.ArgumentError):
+ self.validator.zap = False
+ assert self.validator('/dev/foo')
+
+ @patch('ceph_volume.util.arg_validators.Device')
+ @patch('ceph_volume.util.arg_validators.disk.has_bluestore_label', return_value=False)
+ @patch('ceph_volume.api.lvm.get_single_lv', return_value=None)
+ def test_device_is_not_partition(self, m_get_single_lv, m_has_bs_label, mocked_device, fake_call):
+ mocked_device.return_value = MagicMock(
+ used_by_ceph=False,
+ exists=True,
+ has_partitions=False,
+ has_gpt_headers=False,
+ has_fs=False,
+ is_partition=False
+ )
+ self.validator.zap = False
+ assert self.validator('/dev/foo')
+
class TestValidFraction(object):
disk = device.Device("/dev/sda")
assert disk.lvm_size.gb == 4
- def test_lvm_size_rounds_down(self, device_info):
+ def test_lvm_size_rounds_down(self, fake_call, device_info):
# 5.5GB in size
data = {"/dev/sda": {"size": "5905580032"}}
lsblk = {"TYPE": "disk"}
disk = device.Device("/dev/sda")
assert disk.lvm_size.gb == 4
- def test_is_lv(self, device_info):
+ def test_is_lv(self, fake_call, device_info):
data = {"lv_path": "vg/lv", "vg_name": "vg", "name": "lv"}
lsblk = {"TYPE": "lvm"}
device_info(lv=data,lsblk=lsblk)
disk = device.Device("vg/lv")
assert disk.is_lv
- def test_vgs_is_empty(self, device_info, monkeypatch):
+ def test_vgs_is_empty(self, fake_call, device_info, monkeypatch):
BarPVolume = api.PVolume(pv_name='/dev/sda', pv_uuid="0000",
pv_tags={})
pvolumes = []
disk = device.Device("/dev/nvme0n1")
assert disk.vgs == []
- def test_vgs_is_not_empty(self, device_info, monkeypatch):
+ def test_vgs_is_not_empty(self, fake_call, device_info, monkeypatch):
vg = api.VolumeGroup(vg_name='foo/bar', vg_free_count=6,
vg_extent_size=1073741824)
monkeypatch.setattr(api, 'get_device_vgs', lambda x: [vg])
disk = device.Device("/dev/nvme0n1")
assert len(disk.vgs) == 1
- def test_device_is_device(self, device_info):
+ def test_device_is_device(self, fake_call, device_info):
data = {"/dev/sda": {"foo": "bar"}}
lsblk = {"TYPE": "device"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.is_device is True
- def test_device_is_rotational(self, device_info):
+ def test_device_is_rotational(self, fake_call, device_info):
data = {"/dev/sda": {"rotational": "1"}}
lsblk = {"TYPE": "device"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.rotational
- def test_device_is_not_rotational(self, device_info):
+ def test_device_is_not_rotational(self, fake_call, device_info):
data = {"/dev/sda": {"rotational": "0"}}
lsblk = {"TYPE": "device"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda")
assert not disk.rotational
- def test_device_is_rotational_lsblk(self, device_info):
+ def test_device_is_rotational_lsblk(self, fake_call, device_info):
data = {"/dev/sda": {"foo": "bar"}}
lsblk = {"TYPE": "device", "ROTA": "1"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.rotational
- def test_device_is_not_rotational_lsblk(self, device_info):
+ def test_device_is_not_rotational_lsblk(self, fake_call, device_info):
data = {"/dev/sda": {"rotational": "0"}}
lsblk = {"TYPE": "device", "ROTA": "0"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda")
assert not disk.rotational
- def test_device_is_rotational_defaults_true(self, device_info):
+ def test_device_is_rotational_defaults_true(self, fake_call, device_info):
# rotational will default true if no info from sys_api or lsblk is found
data = {"/dev/sda": {"foo": "bar"}}
lsblk = {"TYPE": "device", "foo": "bar"}
disk = device.Device("/dev/sda")
assert disk.rotational
- def test_disk_is_device(self, device_info):
+ def test_disk_is_device(self, fake_call, device_info):
data = {"/dev/sda": {"foo": "bar"}}
lsblk = {"TYPE": "disk"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.is_device is True
- def test_is_partition(self, device_info):
+ def test_is_partition(self, fake_call, device_info):
data = {"/dev/sda1": {"foo": "bar"}}
lsblk = {"TYPE": "part", "PKNAME": "sda"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda1")
assert disk.is_partition
- def test_mpath_device_is_device(self, device_info):
+ def test_mpath_device_is_device(self, fake_call, device_info):
data = {"/dev/foo": {"foo": "bar"}}
lsblk = {"TYPE": "mpath"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/foo")
assert disk.is_device is True
- def test_is_not_lvm_member(self, device_info):
+ def test_is_not_lvm_member(self, fake_call, device_info):
data = {"/dev/sda1": {"foo": "bar"}}
lsblk = {"TYPE": "part", "PKNAME": "sda"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda1")
assert not disk.is_lvm_member
- def test_is_lvm_member(self, device_info):
+ def test_is_lvm_member(self, fake_call, device_info):
data = {"/dev/sda1": {"foo": "bar"}}
lsblk = {"TYPE": "part", "PKNAME": "sda"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/sda1")
assert not disk.is_lvm_member
- def test_is_mapper_device(self, device_info):
+ def test_is_mapper_device(self, fake_call, device_info):
lsblk = {"TYPE": "lvm"}
device_info(lsblk=lsblk)
disk = device.Device("/dev/mapper/foo")
assert disk.is_mapper
- def test_dm_is_mapper_device(self, device_info):
+ def test_dm_is_mapper_device(self, fake_call, device_info):
lsblk = {"TYPE": "lvm"}
device_info(lsblk=lsblk)
disk = device.Device("/dev/dm-4")
assert disk.is_mapper
- def test_is_not_mapper_device(self, device_info):
+ def test_is_not_mapper_device(self, fake_call, device_info):
lsblk = {"TYPE": "disk"}
device_info(lsblk=lsblk)
disk = device.Device("/dev/sda")
@pytest.mark.usefixtures("lsblk_ceph_disk_member",
"disable_kernel_queries")
- def test_is_ceph_disk_lsblk(self, monkeypatch, patch_bluestore_label):
+ def test_is_ceph_disk_lsblk(self, fake_call, monkeypatch, patch_bluestore_label):
disk = device.Device("/dev/sda")
assert disk.is_ceph_disk_member
@pytest.mark.usefixtures("blkid_ceph_disk_member",
"disable_kernel_queries")
- def test_is_ceph_disk_blkid(self, monkeypatch, patch_bluestore_label):
+ def test_is_ceph_disk_blkid(self, fake_call, monkeypatch, patch_bluestore_label):
disk = device.Device("/dev/sda")
assert disk.is_ceph_disk_member
@pytest.mark.usefixtures("lsblk_ceph_disk_member",
"disable_kernel_queries")
- def test_is_ceph_disk_member_not_available_lsblk(self, monkeypatch, patch_bluestore_label):
+ def test_is_ceph_disk_member_not_available_lsblk(self, fake_call, monkeypatch, patch_bluestore_label):
disk = device.Device("/dev/sda")
assert disk.is_ceph_disk_member
assert not disk.available
@pytest.mark.usefixtures("blkid_ceph_disk_member",
"disable_kernel_queries")
- def test_is_ceph_disk_member_not_available_blkid(self, monkeypatch, patch_bluestore_label):
+ def test_is_ceph_disk_member_not_available_blkid(self, fake_call, monkeypatch, patch_bluestore_label):
disk = device.Device("/dev/sda")
assert disk.is_ceph_disk_member
assert not disk.available
assert "Used by ceph-disk" in disk.rejected_reasons
- def test_reject_removable_device(self, device_info):
+ def test_reject_removable_device(self, fake_call, device_info):
data = {"/dev/sdb": {"removable": 1}}
lsblk = {"TYPE": "disk"}
device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sdb")
assert not disk.available
- def test_reject_device_with_gpt_headers(self, device_info):
+ def test_reject_device_with_gpt_headers(self, fake_call, device_info):
data = {"/dev/sdb": {"removable": 0, "size": 5368709120}}
lsblk = {"TYPE": "disk"}
blkid= {"PTTYPE": "gpt"}
disk = device.Device("/dev/sdb")
assert not disk.available
- def test_accept_non_removable_device(self, device_info):
+ def test_accept_non_removable_device(self, fake_call, device_info):
data = {"/dev/sdb": {"removable": 0, "size": 5368709120}}
lsblk = {"TYPE": "disk"}
device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sdb")
assert disk.available
- def test_reject_not_acceptable_device(self, device_info):
+ def test_reject_not_acceptable_device(self, fake_call, device_info):
data = {"/dev/dm-0": {"foo": "bar"}}
lsblk = {"TYPE": "mpath"}
device_info(devices=data, lsblk=lsblk)
disk = device.Device("/dev/dm-0")
assert not disk.available
- def test_reject_readonly_device(self, device_info):
+ def test_reject_readonly_device(self, fake_call, device_info):
data = {"/dev/cdrom": {"ro": 1}}
lsblk = {"TYPE": "disk"}
device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/cdrom")
assert not disk.available
- def test_reject_smaller_than_5gb(self, device_info):
+ def test_reject_smaller_than_5gb(self, fake_call, device_info):
data = {"/dev/sda": {"size": 5368709119}}
lsblk = {"TYPE": "disk"}
device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sda")
assert not disk.available, 'too small device is available'
- def test_accept_non_readonly_device(self, device_info):
+ def test_accept_non_readonly_device(self, fake_call, device_info):
data = {"/dev/sda": {"ro": 0, "size": 5368709120}}
lsblk = {"TYPE": "disk"}
device_info(devices=data,lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.available
- def test_reject_bluestore_device(self, monkeypatch, patch_bluestore_label, device_info):
+ def test_reject_bluestore_device(self, fake_call, monkeypatch, patch_bluestore_label, device_info):
patch_bluestore_label.return_value = True
lsblk = {"TYPE": "disk"}
device_info(lsblk=lsblk)
assert not disk.available
assert "Has BlueStore device label" in disk.rejected_reasons
- def test_reject_device_with_oserror(self, monkeypatch, patch_bluestore_label, device_info):
+ def test_reject_device_with_oserror(self, fake_call, monkeypatch, patch_bluestore_label, device_info):
patch_bluestore_label.side_effect = OSError('test failure')
lsblk = {"TYPE": "disk"}
device_info(lsblk=lsblk)
@pytest.mark.usefixtures("device_info_not_ceph_disk_member",
"disable_kernel_queries")
- def test_is_not_ceph_disk_member_lsblk(self, patch_bluestore_label):
+ def test_is_not_ceph_disk_member_lsblk(self, fake_call, patch_bluestore_label):
disk = device.Device("/dev/sda")
assert disk.is_ceph_disk_member is False
- def test_existing_vg_available(self, monkeypatch, device_info):
+ def test_existing_vg_available(self, fake_call, monkeypatch, device_info):
vg = api.VolumeGroup(vg_name='foo/bar', vg_free_count=1536,
vg_extent_size=4194304)
monkeypatch.setattr(api, 'get_device_vgs', lambda x: [vg])
assert not disk.available
assert not disk.available_raw
- def test_existing_vg_too_small(self, monkeypatch, device_info):
+ def test_existing_vg_too_small(self, fake_call, monkeypatch, device_info):
vg = api.VolumeGroup(vg_name='foo/bar', vg_free_count=4,
vg_extent_size=1073741824)
monkeypatch.setattr(api, 'get_device_vgs', lambda x: [vg])
assert not disk.available
assert not disk.available_raw
- def test_multiple_existing_vgs(self, monkeypatch, device_info):
+ def test_multiple_existing_vgs(self, fake_call, monkeypatch, device_info):
vg1 = api.VolumeGroup(vg_name='foo/bar', vg_free_count=1000,
vg_extent_size=4194304)
vg2 = api.VolumeGroup(vg_name='foo/bar', vg_free_count=536,
assert not disk.available_raw
@pytest.mark.parametrize("ceph_type", ["data", "block"])
- def test_used_by_ceph(self, device_info,
+ def test_used_by_ceph(self, fake_call, device_info,
monkeypatch, ceph_type):
data = {"/dev/sda": {"foo": "bar"}}
lsblk = {"TYPE": "part", "PKNAME": "sda"}
disk = device.Device("/dev/sda")
assert disk.used_by_ceph
- def test_not_used_by_ceph(self, device_info, monkeypatch):
+ def test_not_used_by_ceph(self, fake_call, device_info, monkeypatch):
FooPVolume = api.PVolume(pv_name='/dev/sda', pv_uuid="0000", lv_uuid="0000", pv_tags={}, vg_name="vg")
pvolumes = []
pvolumes.append(FooPVolume)
disk = device.Device("/dev/sda")
assert not disk.used_by_ceph
- def test_get_device_id(self, device_info):
+ def test_get_device_id(self, fake_call, device_info):
udev = {k:k for k in ['ID_VENDOR', 'ID_MODEL', 'ID_SCSI_SERIAL']}
lsblk = {"TYPE": "disk"}
device_info(udevadm=udev,lsblk=lsblk)
class TestDeviceEncryption(object):
- def test_partition_is_not_encrypted_lsblk(self, device_info):
+ def test_partition_is_not_encrypted_lsblk(self, fake_call, device_info):
lsblk = {'TYPE': 'part', 'FSTYPE': 'xfs', 'PKNAME': 'sda'}
device_info(lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.is_encrypted is False
- def test_partition_is_encrypted_lsblk(self, device_info):
+ def test_partition_is_encrypted_lsblk(self, fake_call, device_info):
lsblk = {'TYPE': 'part', 'FSTYPE': 'crypto_LUKS', 'PKNAME': 'sda'}
device_info(lsblk=lsblk)
disk = device.Device("/dev/sda")
assert disk.is_encrypted is True
- def test_partition_is_not_encrypted_blkid(self, device_info):
+ def test_partition_is_not_encrypted_blkid(self, fake_call, device_info):
lsblk = {'TYPE': 'part', 'PKNAME': 'sda'}
blkid = {'TYPE': 'ceph data'}
device_info(lsblk=lsblk, blkid=blkid)
disk = device.Device("/dev/sda")
assert disk.is_encrypted is False
- def test_partition_is_encrypted_blkid(self, device_info):
+ def test_partition_is_encrypted_blkid(self, fake_call, device_info):
lsblk = {'TYPE': 'part', 'PKNAME': 'sda'}
blkid = {'TYPE': 'crypto_LUKS'}
device_info(lsblk=lsblk, blkid=blkid)
disk = device.Device("/dev/sda")
assert disk.is_encrypted is True
- def test_mapper_is_encrypted_luks1(self, device_info, monkeypatch):
+ def test_mapper_is_encrypted_luks1(self, fake_call, device_info, monkeypatch):
status = {'type': 'LUKS1'}
monkeypatch.setattr(device, 'encryption_status', lambda x: status)
lsblk = {'FSTYPE': 'xfs', 'TYPE': 'lvm'}
disk = device.Device("/dev/mapper/uuid")
assert disk.is_encrypted is True
- def test_mapper_is_encrypted_luks2(self, device_info, monkeypatch):
+ def test_mapper_is_encrypted_luks2(self, fake_call, device_info, monkeypatch):
status = {'type': 'LUKS2'}
monkeypatch.setattr(device, 'encryption_status', lambda x: status)
lsblk = {'FSTYPE': 'xfs', 'TYPE': 'lvm'}
disk = device.Device("/dev/mapper/uuid")
assert disk.is_encrypted is True
- def test_mapper_is_encrypted_plain(self, device_info, monkeypatch):
+ def test_mapper_is_encrypted_plain(self, fake_call, device_info, monkeypatch):
status = {'type': 'PLAIN'}
monkeypatch.setattr(device, 'encryption_status', lambda x: status)
lsblk = {'FSTYPE': 'xfs', 'TYPE': 'lvm'}
disk = device.Device("/dev/mapper/uuid")
assert disk.is_encrypted is True
- def test_mapper_is_not_encrypted_plain(self, device_info, monkeypatch):
+ def test_mapper_is_not_encrypted_plain(self, fake_call, device_info, monkeypatch):
monkeypatch.setattr(device, 'encryption_status', lambda x: {})
lsblk = {'FSTYPE': 'xfs', 'TYPE': 'lvm'}
blkid = {'TYPE': 'mapper'}
disk = device.Device("/dev/mapper/uuid")
assert disk.is_encrypted is False
- def test_lv_is_encrypted_blkid(self, device_info):
+ def test_lv_is_encrypted_blkid(self, fake_call, device_info):
lsblk = {'TYPE': 'lvm'}
blkid = {'TYPE': 'crypto_LUKS'}
device_info(lsblk=lsblk, blkid=blkid)
disk.lv_api = {}
assert disk.is_encrypted is True
- def test_lv_is_not_encrypted_blkid(self, factory, device_info):
+ def test_lv_is_not_encrypted_blkid(self, fake_call, factory, device_info):
lsblk = {'TYPE': 'lvm'}
blkid = {'TYPE': 'xfs'}
device_info(lsblk=lsblk, blkid=blkid)
disk.lv_api = factory(encrypted=None)
assert disk.is_encrypted is False
- def test_lv_is_encrypted_lsblk(self, device_info):
+ def test_lv_is_encrypted_lsblk(self, fake_call, device_info):
lsblk = {'FSTYPE': 'crypto_LUKS', 'TYPE': 'lvm'}
blkid = {'TYPE': 'mapper'}
device_info(lsblk=lsblk, blkid=blkid)
disk.lv_api = {}
assert disk.is_encrypted is True
- def test_lv_is_not_encrypted_lsblk(self, factory, device_info):
+ def test_lv_is_not_encrypted_lsblk(self, fake_call, factory, device_info):
lsblk = {'FSTYPE': 'xfs', 'TYPE': 'lvm'}
blkid = {'TYPE': 'mapper'}
device_info(lsblk=lsblk, blkid=blkid)
disk.lv_api = factory(encrypted=None)
assert disk.is_encrypted is False
- def test_lv_is_encrypted_lvm_api(self, factory, device_info):
+ def test_lv_is_encrypted_lvm_api(self, fake_call, factory, device_info):
lsblk = {'FSTYPE': 'xfs', 'TYPE': 'lvm'}
blkid = {'TYPE': 'mapper'}
device_info(lsblk=lsblk, blkid=blkid)
disk.lv_api = factory(encrypted=True)
assert disk.is_encrypted is True
- def test_lv_is_not_encrypted_lvm_api(self, factory, device_info):
+ def test_lv_is_not_encrypted_lvm_api(self, fake_call, factory, device_info):
lsblk = {'FSTYPE': 'xfs', 'TYPE': 'lvm'}
blkid = {'TYPE': 'mapper'}
device_info(lsblk=lsblk, blkid=blkid)
"/dev/sdd": {"removable": 1}, # invalid
}
- def test_valid_before_invalid(self, device_info):
+ def test_valid_before_invalid(self, fake_call, device_info):
lsblk = {"TYPE": "disk"}
device_info(devices=self.data,lsblk=lsblk)
sda = device.Device("/dev/sda")
assert sda < sdb
assert sdb > sda
- def test_valid_alphabetical_ordering(self, device_info):
+ def test_valid_alphabetical_ordering(self, fake_call, device_info):
lsblk = {"TYPE": "disk"}
device_info(devices=self.data,lsblk=lsblk)
sda = device.Device("/dev/sda")
assert sda < sdc
assert sdc > sda
- def test_invalid_alphabetical_ordering(self, device_info):
+ def test_invalid_alphabetical_ordering(self, fake_call, device_info):
lsblk = {"TYPE": "disk"}
device_info(devices=self.data,lsblk=lsblk)
sdb = device.Device("/dev/sdb")
class TestCephDiskDevice(object):
- def test_partlabel_lsblk(self, device_info):
+ def test_partlabel_lsblk(self, fake_call, device_info):
lsblk = {"TYPE": "disk", "PARTLABEL": ""}
device_info(lsblk=lsblk)
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.partlabel == ''
- def test_partlabel_blkid(self, device_info):
+ def test_partlabel_blkid(self, fake_call, device_info):
blkid = {"TYPE": "disk", "PARTLABEL": "ceph data"}
device_info(blkid=blkid)
disk = device.CephDiskDevice(device.Device("/dev/sda"))
@pytest.mark.usefixtures("blkid_ceph_disk_member",
"disable_kernel_queries")
- def test_is_member_blkid(self, monkeypatch, patch_bluestore_label):
+ def test_is_member_blkid(self, fake_call, monkeypatch, patch_bluestore_label):
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.is_member is True
@pytest.mark.usefixtures("lsblk_ceph_disk_member",
"disable_kernel_queries")
- def test_is_member_lsblk(self, patch_bluestore_label, device_info):
+ def test_is_member_lsblk(self, fake_call, patch_bluestore_label, device_info):
lsblk = {"TYPE": "disk", "PARTLABEL": "ceph"}
device_info(lsblk=lsblk)
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.is_member is True
- def test_unknown_type(self, device_info):
+ def test_unknown_type(self, fake_call, device_info):
lsblk = {"TYPE": "disk", "PARTLABEL": "gluster"}
device_info(lsblk=lsblk)
disk = device.CephDiskDevice(device.Device("/dev/sda"))
@pytest.mark.usefixtures("blkid_ceph_disk_member",
"disable_kernel_queries")
- def test_type_blkid(self, monkeypatch, device_info, ceph_partlabel):
+ def test_type_blkid(self, monkeypatch, fake_call, device_info, ceph_partlabel):
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.type in self.ceph_types
@pytest.mark.usefixtures("blkid_ceph_disk_member",
"lsblk_ceph_disk_member",
"disable_kernel_queries")
- def test_type_lsblk(self, device_info, ceph_partlabel):
+ def test_type_lsblk(self, fake_call, device_info, ceph_partlabel):
disk = device.CephDiskDevice(device.Device("/dev/sda"))
assert disk.type in self.ceph_types
import argparse
import os
import math
-from ceph_volume import terminal
-from ceph_volume import decorators
-from ceph_volume.util import disk
+from ceph_volume import terminal, decorators, process
from ceph_volume.util.device import Device
+from ceph_volume.util import disk
def valid_osd_id(val):
self.gpt_ok = gpt_ok
def __call__(self, dev_path):
- device = self._is_valid_device(dev_path)
- return self._format_device(device)
+ self.get_device(dev_path)
+ self._validated_device = self._is_valid_device()
+ return self._format_device(self._validated_device)
+
+ def get_device(self, dev_path):
+ self._device = Device(dev_path)
+ self.dev_path = dev_path
def _format_device(self, device):
if self.as_string:
return device.path
return device
- def _is_valid_device(self, dev_path):
- device = Device(dev_path)
+ def _is_valid_device(self):
error = None
- if not device.exists:
- error = "Unable to proceed with non-existing device: %s" % dev_path
+ if not self._device.exists:
+ error = "Unable to proceed with non-existing device: %s" % self.dev_path
# FIXME this is not a nice API, this validator was meant to catch any
# non-existing devices upfront, not check for gpt headers. Now this
# needs to optionally skip checking gpt headers which is beyond
# verifying if the device exists. The better solution would be to
# configure this with a list of checks that can be excluded/included on
# __init__
- elif device.has_gpt_headers and not self.gpt_ok:
- error = "GPT headers found, they must be removed on: %s" % dev_path
- if device.has_partitions:
- raise RuntimeError("Device {} has partitions.".format(dev_path))
+ elif self._device.has_gpt_headers and not self.gpt_ok:
+ error = "GPT headers found, they must be removed on: %s" % self.dev_path
+ if self._device.has_partitions:
+ raise RuntimeError("Device {} has partitions.".format(self.dev_path))
if error:
raise argparse.ArgumentError(None, error)
- return device
+ return self._device
-class ValidBatchDevice(ValidDevice):
+class ValidZapDevice(ValidDevice):
+ def __call__(self, dev_path):
+ super().get_device(dev_path)
+ return self._format_device(self._is_valid_device())
+
+ def _is_valid_device(self, raise_sys_exit=True):
+ super()._is_valid_device()
+ return self._device
+
+class ValidDataDevice(ValidDevice):
def __call__(self, dev_path):
- dev = self._is_valid_device(dev_path)
- if dev.is_partition:
+ super().get_device(dev_path)
+ return self._format_device(self._is_valid_device())
+
+ def _is_valid_device(self, raise_sys_exit=True):
+ super()._is_valid_device()
+ if self._device.used_by_ceph:
+ terminal.info('Device {} is already prepared'.format(self.dev_path))
+ if raise_sys_exit:
+ raise SystemExit(0)
+ if self._device.has_fs and not self._device.used_by_ceph:
+ raise RuntimeError("Device {} has a filesystem.".format(self.dev_path))
+ if self.dev_path[0] == '/' and disk.has_bluestore_label(self.dev_path):
+ raise RuntimeError("Device {} has bluestore signature.".format(self.dev_path))
+ return self._device
+
+class ValidRawDevice(ValidDevice):
+ def __call__(self, dev_path):
+ super().get_device(dev_path)
+ return self._format_device(self._is_valid_device())
+
+ def _is_valid_device(self, raise_sys_exit=True):
+ out, err, rc = process.call([
+ 'ceph-bluestore-tool', 'show-label',
+ '--dev', self.dev_path], verbose_on_failure=False)
+ if not rc:
+ terminal.info("Raw device {} is already prepared.".format(self.dev_path))
+ raise SystemExit(0)
+ if disk.blkid(self.dev_path).get('TYPE') == 'crypto_LUKS':
+ terminal.info("Raw device {} might already be in use for a dmcrypt OSD, skipping.".format(self.dev_path))
+ raise SystemExit(0)
+ super()._is_valid_device()
+ return self._device
+
+class ValidBatchDevice(ValidDevice):
+ def __call__(self, dev_path):
+ super().get_device(dev_path)
+ return self._format_device(self._is_valid_device())
+
+ def _is_valid_device(self, raise_sys_exit=False):
+ super()._is_valid_device()
+ if self._device.is_partition:
raise argparse.ArgumentError(
None,
'{} is a partition, please pass '
- 'LVs or raw block devices'.format(dev_path))
- return self._format_device(dev)
+ 'LVs or raw block devices'.format(self.dev_path))
+ return self._device
+
+
+class ValidBatchDataDevice(ValidBatchDevice, ValidDataDevice):
+ def __call__(self, dev_path):
+ super().get_device(dev_path)
+ return self._format_device(self._is_valid_device())
+
+ def _is_valid_device(self):
+ # if device is already used by ceph,
+ # leave the validation to Batch.get_deployment_layout()
+ # This way the idempotency isn't broken (especially when using --osds-per-device)
+ for lv in self._device.lvs:
+ if lv.tags.get('ceph.type') in ['db', 'wal', 'journal']:
+ return self._device
+ if self._device.used_by_ceph:
+ return self._device
+ super()._is_valid_device(raise_sys_exit=False)
+ return self._device
class OSDPath(object):
import logging
import os
from functools import total_ordering
-from ceph_volume import sys_info
+from ceph_volume import sys_info, process
from ceph_volume.api import lvm
from ceph_volume.util import disk, system
from ceph_volume.util.lsmdisk import LSMDisk
{attr:<25} {value}"""
report_fields = [
+ 'ceph_device',
'rejected_reasons',
'available',
'path',
self._is_lvm_member = None
self._parse()
self.lsm_data = self.fetch_lsm(with_lsm)
+ self.ceph_device = None
self.available_lvm, self.rejected_reasons_lvm = self._check_lvm_reject_reasons()
self.available_raw, self.rejected_reasons_raw = self._check_raw_reject_reasons()
self.abspath = lv.lv_path
self.vg_name = lv.vg_name
self.lv_name = lv.name
+ self.ceph_device = lvm.is_ceph_device(lv)
else:
dev = disk.lsblk(self.path)
self.blkid_api = disk.blkid(self.path)
# always check is this is an lvm member
if device_type in ['part', 'disk']:
self._set_lvm_membership()
+ out, err, rc = process.call([
+ 'ceph-bluestore-tool', 'show-label',
+ '--dev', self.path], verbose_on_failure=False)
+ if rc:
+ self.ceph_device = True
self.ceph_disk = CephDiskDevice(self)
def exists(self):
return os.path.exists(self.abspath)
+ @property
+ def has_fs(self):
+ return 'TYPE' in self.blkid_api
+
@property
def has_gpt_headers(self):
return self.blkid_api.get("PTTYPE") == "gpt"
[testenv]
deps=
pytest
+ pytest-xdist
mock
install_command=./tox_install_command.sh {opts} {packages}
-commands=py.test -v {posargs:ceph_volume/tests} --ignore=ceph_volume/tests/functional
+commands=py.test --numprocesses=auto -vv {posargs:ceph_volume/tests} --ignore=ceph_volume/tests/functional
[testenv:py3-flake8]
deps=flake8
help="make less verbose")
parser.add_argument('-f', '--format', choices=['json', 'json-pretty',
- 'xml', 'xml-pretty', 'plain', 'yaml'], dest='output_format')
+ 'xml', 'xml-pretty', 'plain', 'yaml'],
+ help="Note: yaml is only valid for orch commands", dest='output_format')
parser.add_argument('--connect-timeout', dest='cluster_timeout',
type=int,
# Centos met EOL and the content of the CentOS 8 repos has been moved to vault.centos.org
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
-RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
+RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=https://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
RUN dnf -y install chrony firewalld lvm2 \
openssh-server openssh-clients python3 \
import host
import osd
-from util import (Config, Target, ensure_inside_container,
- ensure_outside_container, get_boxes_container_info,
- get_host_ips, inside_container, run_cephadm_shell_command,
- run_dc_shell_command, run_shell_command)
+from util import (
+ Config,
+ Target,
+ ensure_inside_container,
+ ensure_outside_container,
+ get_boxes_container_info,
+ run_cephadm_shell_command,
+ run_dc_shell_command,
+ run_shell_command,
+)
CEPH_IMAGE = 'quay.ceph.io/ceph-ci/ceph:master'
BOX_IMAGE = 'cephadm-box:latest'
# image yourself with `box cluster setup`
CEPH_IMAGE_TAR = 'docker/ceph/image/quay.ceph.image.tar'
+
def remove_ceph_image_tar():
if os.path.exists(CEPH_IMAGE_TAR):
os.remove(CEPH_IMAGE_TAR)
+
def cleanup_box() -> None:
osd.cleanup()
remove_ceph_image_tar()
+
def image_exists(image_name: str):
# extract_tag
assert image_name.find(':')
return True
return False
+
def get_ceph_image():
print('Getting ceph image')
run_shell_command(f'docker pull {CEPH_IMAGE}')
run_shell_command(f'docker save {CEPH_IMAGE} -o {CEPH_IMAGE_TAR}')
print('Ceph image added')
+
def get_box_image():
print('Getting box image')
run_shell_command('docker build -t cephadm-box -f Dockerfile .')
print('Box image added')
-
+
class Cluster(Target):
_help = 'Manage docker cephadm boxes'
actions = ['bootstrap', 'start', 'down', 'list', 'sh', 'setup', 'cleanup']
def set_args(self):
- self.parser.add_argument('action', choices=Cluster.actions, help='Action to perform on the box')
- self.parser.add_argument('--osds', type=int, default=1, help='Number of osds')
- self.parser.add_argument('--hosts', type=int, default=1, help='Number of hosts')
- self.parser.add_argument('--skip_deploy_osds', action='store_true', help='skip deploy osd')
- self.parser.add_argument('--skip_create_loop', action='store_true', help='skip create loopback device' )
- self.parser.add_argument('--skip_monitoring_stack', action='store_true', help='skip monitoring stack')
- self.parser.add_argument('--skip_dashboard', action='store_true', help='skip dashboard')
+ self.parser.add_argument(
+ 'action', choices=Cluster.actions, help='Action to perform on the box'
+ )
+ self.parser.add_argument('--osds', type=int, default=3, help='Number of osds')
+
+ self.parser.add_argument('--hosts', type=int, default=2, help='Number of hosts')
+ self.parser.add_argument('--skip-deploy-osds', action='store_true', help='skip deploy osd')
+ self.parser.add_argument('--skip-create-loop', action='store_true', help='skip create loopback device')
+ self.parser.add_argument('--skip-monitoring-stack', action='store_true', help='skip monitoring stack')
+ self.parser.add_argument('--skip-dashboard', action='store_true', help='skip dashboard')
+ self.parser.add_argument('--expanded', action='store_true', help='deploy 3 hosts and 3 osds')
@ensure_outside_container
def setup(self):
print('Running bootstrap on seed')
cephadm_path = os.environ.get('CEPHADM_PATH')
os.symlink('/cephadm/cephadm', cephadm_path)
- run_shell_command('systemctl restart docker') # restart to ensure docker is using daemon.json
+ run_shell_command(
+ 'systemctl restart docker'
+ ) # restart to ensure docker is using daemon.json
st = os.stat(cephadm_path)
os.chmod(cephadm_path, st.st_mode | stat.S_IEXEC)
# instead of master's tag
run_shell_command('export CEPH_SOURCE_FOLDER=/ceph')
run_shell_command('export CEPHADM_IMAGE=quay.ceph.io/ceph-ci/ceph:master')
- run_shell_command('echo "export CEPHADM_IMAGE=quay.ceph.io/ceph-ci/ceph:master" >> ~/.bashrc')
+ run_shell_command(
+ 'echo "export CEPHADM_IMAGE=quay.ceph.io/ceph-ci/ceph:master" >> ~/.bashrc'
+ )
extra_args = []
extra_args.append('2>&0')
extra_args = ' '.join(extra_args)
- skip_monitoring_stack = '--skip_monitoring_stack' if Config.get('skip_monitoring_stack') else ''
- skip_dashboard = '--skip_dashboard' if Config.get('skip_dashboard') else ''
+ skip_monitoring_stack = (
+ '--skip-monitoring-stack' if Config.get('skip-monitoring-stack') else ''
+ )
+ skip_dashboard = '--skip-dashboard' if Config.get('skip-dashboard') else ''
fsid = Config.get('fsid')
config_folder = Config.get('config_folder')
config = Config.get('config')
- mon_config = Config.get('mon_config')
keyring = Config.get('keyring')
if not os.path.exists(config_folder):
os.mkdir(config_folder)
run_shell_command(cephadm_bootstrap_command)
print('Cephadm bootstrap complete')
-
run_shell_command('sudo vgchange --refresh')
run_shell_command('cephadm ls')
run_shell_command('ln -s /ceph/src/cephadm/box/box.py /usr/bin/box')
- hostname = run_shell_command('hostname')
# NOTE: sometimes cephadm in the box takes a while to update the containers
# running in the cluster and it cannot deploy the osds. In this case
# run: box -v osd deploy --vg vg1 to deploy osds again.
- if not Config.get('skip_deploy_osds'):
- print('Deploying osds...')
- osds = Config.get('osds')
- for o in range(osds):
- osd.deploy_osd(f'vg1/lv{o}', hostname)
- print('Osds deployed')
run_cephadm_shell_command('ceph -s')
print('Bootstrap completed!')
-
-
@ensure_outside_container
def start(self):
osds = Config.get('osds')
run_shell_command('sudo iptables -P FORWARD ACCEPT')
print('Seting up host ssh servers')
- ips = get_host_ips()
- print(ips)
for h in range(hosts):
- host._setup_ssh(h+1)
+ host._setup_ssh(h + 1)
verbose = '-v' if Config.get('verbose') else ''
- skip_deploy = '--skip_deploy_osds' if Config.get('skip_deploy_osds') else ''
- skip_monitoring_stack = '--skip_monitoring_stack' if Config.get('skip_monitoring_stack') else ''
- skip_dashboard = '--skip_dashboard' if Config.get('skip_dashboard') else ''
+ skip_deploy = '--skip-deploy-osds' if Config.get('skip-deploy-osds') else ''
+ skip_monitoring_stack = (
+ '--skip-monitoring-stack' if Config.get('skip-monitoring-stack') else ''
+ )
+ skip_dashboard = '--skip-dashboard' if Config.get('skip-dashboard') else ''
box_bootstrap_command = (
f'/cephadm/box/box.py {verbose} cluster bootstrap '
- '--osds {osds} '
- '--hosts {hosts} '
+ f'--osds {osds} '
+ f'--hosts {hosts} '
f'{skip_deploy} '
f'{skip_dashboard} '
f'{skip_monitoring_stack} '
)
- run_dc_shell_command(f'/cephadm/box/box.py {verbose} cluster bootstrap --osds {osds} --hosts {hosts} {skip_deploy}', 1, 'seed')
+ run_dc_shell_command(box_bootstrap_command, 1, 'seed')
+ info = get_boxes_container_info()
+ ips = info['ips']
+ hostnames = info['hostnames']
+ print(ips)
host._copy_cluster_ssh_key(ips)
+ expanded = Config.get('expanded')
+ if expanded:
+ host._add_hosts(ips, hostnames)
+
+ if expanded and not Config.get('skip-deploy-osds'):
+ print('Deploying osds... This could take up to minutes')
+ osd.deploy_osds_in_vg('vg1')
+ print('Osds deployed')
+
print('Bootstrap finished successfully')
@ensure_outside_container
@ensure_outside_container
def list(self):
- info = get_boxes_container_info()
- for container in info:
- print('\t'.join(container))
+ info = get_boxes_container_info(with_seed=True)
+ for i in range(info['size']):
+ ip = info['ips'][i]
+ name = info['container_names'][i]
+ hostname = info['hostnames'][i]
+ print(f'{name} \t{ip} \t{hostname}')
@ensure_outside_container
def sh(self):
run_shell_command('docker-compose exec seed bash')
-
-
targets = {
'cluster': Cluster,
'osd': osd.Osd,
'host': host.Host,
}
+
def main():
parser = argparse.ArgumentParser()
- parser.add_argument('-v', action='store_true', dest='verbose', help='be more verbose')
+ parser.add_argument(
+ '-v', action='store_true', dest='verbose', help='be more verbose'
+ )
subparsers = parser.add_subparsers()
target_instances = {}
instance = target_instances[arg]
if hasattr(instance, 'main'):
instance.argv = sys.argv[count:]
- instance.set_args()
+ instance.set_args()
args = parser.parse_args()
Config.add_args(vars(args))
instance.main()
parser.print_help()
+
if __name__ == '__main__':
main()
-import argparse
import os
-from typing import List
+from typing import List, Union
-from util import (Config, Target, inside_container, run_dc_shell_command,
- run_shell_command)
+from util import (
+ Config,
+ Target,
+ get_boxes_container_info,
+ inside_container,
+ run_cephadm_shell_command,
+ run_dc_shell_command,
+ run_shell_command,
+)
def _setup_ssh(container_index):
f.flush()
run_shell_command('/usr/sbin/sshd')
else:
- print('Redirecting to _setup_ssh to container')
+ print('Redirecting to _setup_ssh to container')
verbose = '-v' if Config.get('verbose') else ''
- run_dc_shell_command(f'/cephadm/box/box.py {verbose} host setup_ssh {container_index}', container_index, 'hosts')
-
+ run_dc_shell_command(
+ f'/cephadm/box/box.py {verbose} host setup_ssh {container_index}',
+ container_index,
+ 'hosts',
+ )
-def _copy_cluster_ssh_key(ips: List[str]):
+
+def _add_hosts(ips: Union[List[str], str], hostnames: Union[List[str], str]):
+ if inside_container():
+ assert len(ips) == len(hostnames)
+ for i in range(len(ips)):
+ run_cephadm_shell_command(f'ceph orch host add {hostnames[i]} {ips[i]}')
+ else:
+ print('Redirecting to _add_hosts to container')
+ verbose = '-v' if Config.get('verbose') else ''
+ print(ips)
+ ips = ' '.join(ips)
+ ips = f'{ips}'
+ hostnames = ' '.join(hostnames)
+ hostnames = f'{hostnames}'
+ run_dc_shell_command(
+ f'/cephadm/box/box.py {verbose} host add_hosts 1 --ips {ips} --hostnames {hostnames}',
+ 1,
+ 'seed',
+ )
+
+
+def _copy_cluster_ssh_key(ips: Union[List[str], str]):
if inside_container():
local_ip = run_shell_command('hostname -i')
for ip in ips:
if ip != local_ip:
- run_shell_command(('sshpass -p "root" ssh-copy-id -f '
- f'-o StrictHostKeyChecking=no -i /etc/ceph/ceph.pub "root@{ip}"'))
+ run_shell_command(
+ (
+ 'sshpass -p "root" ssh-copy-id -f '
+ f'-o StrictHostKeyChecking=no -i /etc/ceph/ceph.pub "root@{ip}"'
+ )
+ )
else:
- print('Redirecting to _copy_cluster_ssh to container')
+ print('Redirecting to _copy_cluster_ssh to container')
verbose = '-v' if Config.get('verbose') else ''
print(ips)
ips = ' '.join(ips)
- ips = f"{ips}"
+ ips = f'{ips}'
# assume we only have one seed
- run_dc_shell_command(f'/cephadm/box/box.py {verbose} host copy_cluster_ssh_key 1 --ips {ips}',
- 1, 'seed')
+ run_dc_shell_command(
+ f'/cephadm/box/box.py {verbose} host copy_cluster_ssh_key 1 --ips {ips}',
+ 1,
+ 'seed',
+ )
+
+
class Host(Target):
_help = 'Run seed/host related commands'
- actions = ['setup_ssh', 'copy_cluster_ssh_key']
+ actions = ['setup_ssh', 'copy_cluster_ssh_key', 'add_hosts']
def set_args(self):
self.parser.add_argument('action', choices=Host.actions)
- self.parser.add_argument('host_container_index', type=str, help='box_host_{index}')
+ self.parser.add_argument(
+ 'host_container_index', type=str, help='box_host_{index}'
+ )
self.parser.add_argument('--ips', nargs='*', help='List of host ips')
+ self.parser.add_argument(
+ '--hostnames', nargs='*', help='List of hostnames ips(relative to ip list)'
+ )
def setup_ssh(self):
_setup_ssh(Config.get('host_container_index'))
+ def add_hosts(self):
+ ips = Config.get('ips')
+ if not ips:
+ ips = get_boxes_container_info()['ips']
+ hostnames = Config.get('hostnames')
+ if not hostnames:
+ hostnames = get_boxes_container_info()['hostnames']
+ _add_hosts(ips, hostnames)
def copy_cluster_ssh_key(self):
ips = Config.get('ips')
if not ips:
- ips = get_host_ips()
+ ips = get_boxes_container_info()['ips']
_copy_cluster_ssh_key(ips)
-import argparse
import json
import os
from typing import Dict
-from util import (Config, Target, ensure_inside_container,
- ensure_outside_container, run_cephadm_shell_command,
- run_shell_command)
+from util import (
+ Config,
+ Target,
+ ensure_inside_container,
+ ensure_outside_container,
+ get_orch_hosts,
+ inside_container,
+ run_cephadm_shell_command,
+ run_dc_shell_command,
+ run_shell_command,
+)
def remove_loop_img() -> None:
if os.path.exists(loop_image):
os.remove(loop_image)
+
@ensure_outside_container
def create_loopback_devices(osds: int) -> None:
assert osds
size = (5 * osds) + 1
print(f'Using {size}GB of data to store osds')
avail_loop = run_shell_command('sudo losetup -f')
- base_name = os.path.basename(avail_loop)
# create loop if we cannot find it
if not os.path.exists(avail_loop):
- num_loops = int(run_shell_command('lsmod | grep loop | awk \'{print $3}\''))
+ num_loops = int(run_shell_command("lsmod | grep loop | awk '{print $3}'"))
num_loops += 1
run_shell_command(f'mknod {avail_loop} b 7 {num_loops}')
if os.path.ismount(avail_loop):
os.umount(avail_loop)
- loop_devices = json.loads(run_shell_command(f'losetup -l -J', expect_error=True))
+ loop_devices = json.loads(run_shell_command('losetup -l -J', expect_error=True))
for dev in loop_devices['loopdevices']:
if dev['name'] == avail_loop:
run_shell_command(f'sudo losetup -d {avail_loop}')
run_shell_command('sudo vgchange --refresh')
run_shell_command(f'sudo lvcreate -l {p}%VG --name lv{i} vg1')
+
def get_lvm_osd_data(data: str) -> Dict[str, str]:
osd_lvm_info = run_cephadm_shell_command(f'ceph-volume lvm list {data}')
osd_data = {}
osd_data[key] = line[-1]
return osd_data
+
@ensure_inside_container
-def deploy_osd(data: str, hostname: str):
- run_cephadm_shell_command(f'ceph orch daemon add osd "{hostname}:{data}"')
+def deploy_osd(data: str, hostname: str) -> bool:
+ out = run_cephadm_shell_command(f'ceph orch daemon add osd "{hostname}:{data}"')
+ return 'Created osd(s)' in out
+
def cleanup() -> None:
vg = 'vg1'
remove_loop_img()
+
+def deploy_osds_in_vg(vg: str):
+ """
+ rotate host will deploy each osd in a different host
+
+ deploying osds will not succeed with starting services so this
+ makes another process to run on the background
+ """
+ if inside_container():
+ lvs = json.loads(run_shell_command('lvs --reportformat json'))
+ # distribute osds per host
+ hosts = get_orch_hosts()
+ host_index = 0
+ for lv in lvs['report'][0]['lv']:
+ if lv['vg_name'] == vg:
+ deployed = False
+ while not deployed:
+ deployed = deploy_osd(
+ f'{vg}/{lv["lv_name"]}', hosts[host_index]['hostname']
+ )
+ host_index = (host_index + 1) % len(hosts)
+ else:
+ verbose = '-v' if Config.get('verbose') else ''
+ print('Redirecting deploy osd in vg to inside container')
+ run_dc_shell_command(
+ f'/cephadm/box/box.py {verbose} osd deploy --vg {vg}', 1, 'seed'
+ )
+
+
class Osd(Target):
- _help = '''
+ _help = """
Deploy osds and create needed block devices with loopback devices:
Actions:
- deploy: Deploy an osd given a block device
- create_loop: Create needed loopback devices and block devices in logical volumes
for a number of osds.
- '''
+ """
actions = ['deploy', 'create_loop']
def set_args(self):
self.parser.add_argument('--data', type=str, help='path to a block device')
self.parser.add_argument('--hostname', type=str, help='host to deploy osd')
self.parser.add_argument('--osds', type=int, default=0, help='number of osds')
- self.parser.add_argument('--vg', type=str, help='Deploy with all lv from virtual group')
+ self.parser.add_argument(
+ '--vg', type=str, help='Deploy with all lv from virtual group'
+ )
- @ensure_inside_container
def deploy(self):
data = Config.get('data')
hostname = Config.get('hostname')
# assume this host
hostname = run_shell_command('hostname')
if vg:
- # deploy with vg
- lvs = json.loads(run_shell_command('lvs --reportformat json'))
- for lv in lvs['report'][0]['lv']:
- if lv['vg_name'] == vg:
- deploy_osd(f'{vg}/{lv["lv_name"]}', hostname)
+ deploy_osds_in_vg(vg)
else:
deploy_osd(data, hostname)
osds = Config.get('osds')
create_loopback_devices(osds)
print('Successfully added logical volumes in loopback devices')
-
-import argparse
+import json
import os
import subprocess
import sys
-from typing import Dict, List
+from typing import Any, Callable, Dict
class Config:
'keyring': '/etc/ceph/ceph.keyring',
'loop_img': 'loop-images/loop.img',
}
+
@staticmethod
def set(key, value):
Config.args[key] = value
return None
@staticmethod
- def add_args(args: Dict[str, str]) -> argparse.ArgumentParser:
+ def add_args(args: Dict[str, str]) -> None:
Config.args.update(args)
+
class Target:
def __init__(self, argv, subparsers):
self.argv = argv
- self.parser = subparsers.add_parser(self.__class__.__name__.lower(),
- help=self.__class__._help)
+ self.parser = subparsers.add_parser(
+ self.__class__.__name__.lower(), help=self.__class__._help
+ )
def set_args(self):
"""
function = getattr(self, args.action)
function()
-def ensure_outside_container(func) -> bool:
+
+def ensure_outside_container(func) -> Callable:
def wrapper(*args, **kwargs):
if not inside_container():
return func(*args, **kwargs)
else:
raise RuntimeError('This command should be ran outside a container')
+
return wrapper
-
+
+
def ensure_inside_container(func) -> bool:
def wrapper(*args, **kwargs):
if inside_container():
return func(*args, **kwargs)
else:
raise RuntimeError('This command should be ran inside a container')
+
return wrapper
def run_shell_command(command: str, expect_error=False) -> str:
if Config.get('verbose'):
print(f'Running command: {command}')
- process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ process = subprocess.Popen(
+ command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE
+ )
out = ''
# let's read when output comes so it is in real time
while True:
# TODO: improve performance of this part, I think this part is a problem
- pout = process.stdout.read(1).decode('latin1')
+ pout = process.stdout.read(1).decode('latin1')
if pout == '' and process.poll() is not None:
break
if pout:
process.wait()
# no last break line
- err = process.stderr.read().decode().rstrip() # remove trailing whitespaces and new lines
+ err = (
+ process.stderr.read().decode().rstrip()
+ ) # remove trailing whitespaces and new lines
out = out.strip()
if process.returncode != 0 and not expect_error:
sys.exit(1)
return out
+
@ensure_inside_container
def run_cephadm_shell_command(command: str, expect_error=False) -> str:
config = Config.get('config')
keyring = Config.get('keyring')
with_cephadm_image = 'CEPHADM_IMAGE=quay.ceph.io/ceph-ci/ceph:master'
- out = run_shell_command(f'{with_cephadm_image} cephadm --verbose shell --config {config} --keyring {keyring} -- {command}', expect_error)
+ out = run_shell_command(
+ f'{with_cephadm_image} cephadm --verbose shell --config {config} --keyring {keyring} -- {command}',
+ expect_error,
+ )
return out
-def run_dc_shell_command(command: str, index: int, box_type: str, expect_error=False) -> str:
- out = run_shell_command(f'docker-compose exec --index={index} {box_type} {command}', expect_error)
+
+def run_dc_shell_command(
+ command: str, index: int, box_type: str, expect_error=False
+) -> str:
+ out = run_shell_command(
+ f'docker-compose exec --index={index} {box_type} {command}', expect_error
+ )
return out
+
def inside_container() -> bool:
return os.path.exists('/.dockerenv')
-@ensure_outside_container
-def get_host_ips() -> List[List[str]]:
- containers_info = get_boxes_container_info()
- if Config.get('verbose'):
- print(containers_info)
- ips = []
- for container in containers_info:
- if container[1][:len('box_hosts')] == 'box_hosts':
- ips.append(container[0])
- return ips
-
-@ensure_outside_container
-def get_boxes_container_info() -> List[List[str]]:
- ips_query = "docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} %tab% {{.Name}} %tab% {{.Config.Hostname}}' $(docker ps -aq) | sed 's#%tab%#\t#g' | sed 's#/##g' | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n"
- out = run_shell_command(ips_query)
- info = []
- for line in out.split('\n'):
- container = line.split()
- if container[1].strip()[:4] == 'box_':
- info.append(container)
- return info
-
+@ensure_outside_container
+def get_boxes_container_info(with_seed: bool = False) -> Dict[str, Any]:
+ # NOTE: this could be cached
+ IP = 0
+ CONTAINER_NAME = 1
+ HOSTNAME = 2
+ ips_query = "docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} %tab% {{.Name}} %tab% {{.Config.Hostname}}' $(docker ps -aq) | sed 's#%tab%#\t#g' | sed 's#/##g' | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n"
+ out = run_shell_command(ips_query)
+ # FIXME: if things get more complex a class representing a container info might be useful,
+ # for now representing data this way is faster.
+ info = {'size': 0, 'ips': [], 'container_names': [], 'hostnames': []}
+ for line in out.split('\n'):
+ container = line.split()
+ # Most commands use hosts only
+ name_filter = 'box_' if with_seed else 'box_hosts'
+ if container[1].strip()[: len(name_filter)] == name_filter:
+ info['size'] += 1
+ info['ips'].append(container[IP])
+ info['container_names'].append(container[CONTAINER_NAME])
+ info['hostnames'].append(container[HOSTNAME])
+ return info
+
+
+def get_orch_hosts():
+ orch_host_ls_out = run_cephadm_shell_command('ceph orch host ls --format json')
+ hosts = json.loads(orch_host_ls_out)
+ return hosts
import struct
import ssl
from enum import Enum
-
from typing import Dict, List, Tuple, Optional, Union, Any, NoReturn, Callable, IO, Sequence, TypeVar, cast, Set, Iterable
import re
DEFAULT_IMAGE_IS_MASTER = False
DEFAULT_IMAGE_RELEASE = 'quincy'
DEFAULT_PROMETHEUS_IMAGE = 'quay.io/prometheus/prometheus:v2.33.4'
+DEFAULT_LOKI_IMAGE = 'docker.io/grafana/loki:2.4.0'
+DEFAULT_PROMTAIL_IMAGE = 'docker.io/grafana/promtail:2.4.0'
DEFAULT_NODE_EXPORTER_IMAGE = 'quay.io/prometheus/node-exporter:v1.3.1'
DEFAULT_ALERT_MANAGER_IMAGE = 'quay.io/prometheus/alertmanager:v0.23.0'
DEFAULT_GRAFANA_IMAGE = 'quay.io/ceph/ceph-grafana:8.3.5'
LOG_DIR = '/var/log/ceph'
LOCK_DIR = '/run/cephadm'
LOGROTATE_DIR = '/etc/logrotate.d'
-SYSCTL_DIR = '/usr/lib/sysctl.d'
+SYSCTL_DIR = '/etc/sysctl.d'
UNIT_DIR = '/etc/systemd/system'
+CEPH_CONF_DIR = 'config'
+CEPH_CONF = 'ceph.conf'
+CEPH_PUBKEY = 'ceph.pub'
+CEPH_KEYRING = 'ceph.client.admin.keyring'
+CEPH_DEFAULT_CONF = f'/etc/ceph/{CEPH_CONF}'
+CEPH_DEFAULT_KEYRING = f'/etc/ceph/{CEPH_KEYRING}'
+CEPH_DEFAULT_PUBKEY = f'/etc/ceph/{CEPH_PUBKEY}'
LOG_DIR_MODE = 0o770
DATA_DIR_MODE = 0o700
CONTAINER_INIT = True
CUSTOM_PS1 = r'[ceph: \u@\h \W]\$ '
DEFAULT_TIMEOUT = None # in seconds
DEFAULT_RETRY = 15
-SHELL_DEFAULT_CONF = '/etc/ceph/ceph.conf'
-SHELL_DEFAULT_KEYRING = '/etc/ceph/ceph.client.admin.keyring'
DATEFMT = '%Y-%m-%dT%H:%M:%S.%fZ'
logger: logging.Logger = None # type: ignore
##################################
+class EndPoint:
+ """EndPoint representing an ip:port format"""
+
+ def __init__(self, ip: str, port: int) -> None:
+ self.ip = ip
+ self.port = port
+
+ def __str__(self) -> str:
+ return f'{self.ip}:{self.port}'
+
+ def __repr__(self) -> str:
+ return f'{self.ip}:{self.port}'
+
+
+class ContainerInfo:
+ def __init__(self, container_id: str,
+ image_name: str,
+ image_id: str,
+ start: str,
+ version: str) -> None:
+ self.container_id = container_id
+ self.image_name = image_name
+ self.image_id = image_id
+ self.start = start
+ self.version = version
+
+ def __eq__(self, other: Any) -> bool:
+ if not isinstance(other, ContainerInfo):
+ return NotImplemented
+ return (self.container_id == other.container_id
+ and self.image_name == other.image_name
+ and self.image_id == other.image_id
+ and self.start == other.start
+ and self.version == other.version)
+
+
class BaseConfig:
def __init__(self) -> None:
CONTAINER_PREFERENCE = (Podman, Docker) # prefer podman to docker
-# Log and console output config
+# During normal cephadm operations (cephadm ls, gather-facts, etc ) we use:
+# stdout: for JSON output only
+# stderr: for error, debug, info, etc
logging_config = {
'version': 1,
'disable_existing_loggers': True,
}
+class ExcludeErrorsFilter(logging.Filter):
+ def filter(self, record: logging.LogRecord) -> bool:
+ """Only lets through log messages with log level below WARNING ."""
+ return record.levelno < logging.WARNING
+
+
+# When cephadm is used as standard binary (bootstrap, rm-cluster, etc) we use:
+# stdout: for debug and info
+# stderr: for errors and warnings
+interactive_logging_config = {
+ 'version': 1,
+ 'filters': {
+ 'exclude_errors': {
+ '()': ExcludeErrorsFilter
+ }
+ },
+ 'disable_existing_loggers': True,
+ 'formatters': {
+ 'cephadm': {
+ 'format': '%(asctime)s %(thread)x %(levelname)s %(message)s'
+ },
+ },
+ 'handlers': {
+ 'console_stdout': {
+ 'level': 'INFO',
+ 'class': 'logging.StreamHandler',
+ 'filters': ['exclude_errors'],
+ 'stream': sys.stdout
+ },
+ 'console_stderr': {
+ 'level': 'WARNING',
+ 'class': 'logging.StreamHandler',
+ 'stream': sys.stderr
+ },
+ 'log_file': {
+ 'level': 'DEBUG',
+ 'class': 'logging.handlers.WatchedFileHandler',
+ 'formatter': 'cephadm',
+ 'filename': '%s/cephadm.log' % LOG_DIR,
+ }
+ },
+ 'loggers': {
+ '': {
+ 'level': 'DEBUG',
+ 'handlers': ['console_stdout', 'console_stderr', 'log_file'],
+ }
+ }
+}
+
+
class termcolor:
yellow = '\033[93m'
red = '\033[31m'
class TimeoutExpired(Error):
pass
+
+class UnauthorizedRegistryError(Error):
+ pass
+
##################################
class Ceph(object):
- daemons = ('mon', 'mgr', 'mds', 'osd', 'rgw', 'rbd-mirror',
+ daemons = ('mon', 'mgr', 'osd', 'mds', 'rgw', 'rbd-mirror',
'crash', 'cephfs-mirror')
##################################
'node-exporter': [9100],
'grafana': [3000],
'alertmanager': [9093, 9094],
+ 'loki': [3100],
+ 'promtail': [9080]
}
components = {
'prometheus.yml',
],
},
+ 'loki': {
+ 'image': DEFAULT_LOKI_IMAGE,
+ 'cpus': '1',
+ 'memory': '1GB',
+ 'args': [
+ '--config.file=/etc/loki/loki.yml',
+ ],
+ 'config-json-files': [
+ 'loki.yml'
+ ],
+ },
+ 'promtail': {
+ 'image': DEFAULT_PROMTAIL_IMAGE,
+ 'cpus': '1',
+ 'memory': '1GB',
+ 'args': [
+ '--config.file=/etc/promtail/promtail.yml',
+ ],
+ 'config-json-files': [
+ 'promtail.yml',
+ ],
+ },
'node-exporter': {
'image': DEFAULT_NODE_EXPORTER_IMAGE,
'cpus': '1',
def get_version(ctx, container_id, daemon_type):
# type: (CephadmContext, str, str) -> str
"""
- :param: daemon_type Either "prometheus", "alertmanager" or "node-exporter"
+ :param: daemon_type Either "prometheus", "alertmanager", "loki", "promtail" or "node-exporter"
"""
- assert daemon_type in ('prometheus', 'alertmanager', 'node-exporter')
+ assert daemon_type in ('prometheus', 'alertmanager', 'node-exporter', 'loki', 'promtail')
cmd = daemon_type.replace('-', '_')
code = -1
err = ''
def get_container_envs():
# type: () -> List[str]
envs = [
- 'CEPH_CONF=%s' % ('/etc/ceph/ceph.conf')
+ 'CEPH_CONF=%s' % (CEPH_DEFAULT_CONF)
]
return envs
))
-def check_ip_port(ctx, ip, port):
- # type: (CephadmContext, str, int) -> None
+def check_ip_port(ctx, ep):
+ # type: (CephadmContext, EndPoint) -> None
if not ctx.skip_ping_check:
- logger.info('Verifying IP %s port %d ...' % (ip, port))
- if is_ipv6(ip):
+ logger.info(f'Verifying IP {ep.ip} port {ep.port} ...')
+ if is_ipv6(ep.ip):
s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
- ip = unwrap_ipv6(ip)
+ ip = unwrap_ipv6(ep.ip)
else:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- attempt_bind(ctx, s, ip, port)
+ ip = ep.ip
+ attempt_bind(ctx, s, ip, ep.port)
##################################
logger.info('Inferring fsid %s' % fsids[0])
ctx.fsid = fsids[0]
else:
- raise Error('Cannot infer an fsid, one must be specified: %s' % fsids)
+ raise Error('Cannot infer an fsid, one must be specified (using --fsid): %s' % fsids)
return func(ctx)
return cast(FuncT, _infer_fsid)
def infer_config(func: FuncT) -> FuncT:
"""
- If we find a MON daemon, use the config from that container
+ Infer the clusater configuration using the followign priority order:
+ 1- if the user has provided custom conf file (-c option) use it
+ 2- otherwise if daemon --name has been provided use daemon conf
+ 3- otherwise find the mon daemon conf file and use it (if v1)
+ 4- otherwise if {ctx.data_dir}/{fsid}/{CEPH_CONF_DIR} dir exists use it
+ 5- finally: fallback to the default file /etc/ceph/ceph.conf
"""
@wraps(func)
def _infer_config(ctx: CephadmContext) -> Any:
+
+ def config_path(daemon_type: str, daemon_name: str) -> str:
+ data_dir = get_data_dir(ctx.fsid, ctx.data_dir, daemon_type, daemon_name)
+ return os.path.join(data_dir, 'config')
+
+ def get_mon_daemon_name(fsid: str) -> Optional[str]:
+ daemon_list = list_daemons(ctx, detail=False)
+ for daemon in daemon_list:
+ if (
+ daemon.get('name', '').startswith('mon.')
+ and daemon.get('fsid', '') == fsid
+ and daemon.get('style', '') == 'cephadm:v1'
+ and os.path.exists(config_path('mon', daemon['name'].split('.', 1)[1]))
+ ):
+ return daemon['name']
+ return None
+
ctx.config = ctx.config if 'config' in ctx else None
- if ctx.config:
- logger.debug('Using specified config: %s' % ctx.config)
+ # check if user has provided conf by using -c option
+ if ctx.config and (ctx.config != CEPH_DEFAULT_CONF):
+ logger.debug(f'Using specified config: {ctx.config}')
return func(ctx)
+
if 'fsid' in ctx and ctx.fsid:
- name = ctx.name if 'name' in ctx else None
- if not name:
- daemon_list = list_daemons(ctx, detail=False)
- for daemon in daemon_list:
- if daemon.get('name', '').startswith('mon.') and daemon.get('fsid', '') == ctx.fsid:
- name = daemon['name']
- break
- if name:
- ctx.config = f'/var/lib/ceph/{ctx.fsid}/{name}/config'
+ name = ctx.name if ('name' in ctx and ctx.name) else get_mon_daemon_name(ctx.fsid)
+ if name is not None:
+ # daemon name has been specified (or inffered from mon), let's use its conf
+ ctx.config = config_path(name.split('.', 1)[0], name.split('.', 1)[1])
+ else:
+ # no daemon, in case the cluster has a config dir then use it
+ ceph_conf = f'{ctx.data_dir}/{ctx.fsid}/{CEPH_CONF_DIR}/{CEPH_CONF}'
+ if os.path.exists(ceph_conf):
+ ctx.config = ceph_conf
+
if ctx.config:
- logger.info('Inferring config %s' % ctx.config)
- elif os.path.exists(SHELL_DEFAULT_CONF):
- logger.debug('Using default config: %s' % SHELL_DEFAULT_CONF)
- ctx.config = SHELL_DEFAULT_CONF
+ logger.info(f'Inferring config {ctx.config}')
+ elif os.path.exists(CEPH_DEFAULT_CONF):
+ logger.debug(f'Using default config {CEPH_DEFAULT_CONF}')
+ ctx.config = CEPH_DEFAULT_CONF
return func(ctx)
return cast(FuncT, _infer_config)
if not ctx.image:
ctx.image = os.environ.get('CEPHADM_IMAGE')
if not ctx.image:
- ctx.image = get_last_local_ceph_image(ctx, ctx.container_engine.path)
+ ctx.image = infer_local_ceph_image(ctx, ctx.container_engine.path)
if not ctx.image:
ctx.image = _get_default_image(ctx)
return func(ctx)
return cast(FuncT, _default_image)
-def get_last_local_ceph_image(ctx: CephadmContext, container_path: str) -> Optional[str]:
+def get_container_info(ctx: CephadmContext, daemon_filter: str, by_name: bool) -> Optional[ContainerInfo]:
+ """
+ :param ctx: Cephadm context
+ :param daemon_filter: daemon name or type
+ :param by_name: must be set to True if daemon name is provided
+ :return: Container information or None
"""
+ def daemon_name_or_type(daemon: Dict[str, str]) -> str:
+ return daemon['name'] if by_name else daemon['name'].split('.', 1)[0]
+
+ if by_name and '.' not in daemon_filter:
+ logger.warning(f'Trying to get container info using invalid daemon name {daemon_filter}')
+ return None
+ daemons = list_daemons(ctx, detail=False)
+ matching_daemons = [d for d in daemons if daemon_name_or_type(d) == daemon_filter and d['fsid'] == ctx.fsid]
+ if matching_daemons:
+ d_type, d_id = matching_daemons[0]['name'].split('.', 1)
+ out, _, code = get_container_stats(ctx, ctx.container_engine.path, ctx.fsid, d_type, d_id)
+ if not code:
+ (container_id, image_name, image_id, start, version) = out.strip().split(',')
+ return ContainerInfo(container_id, image_name, image_id, start, version)
+ return None
+
+
+def infer_local_ceph_image(ctx: CephadmContext, container_path: str) -> Optional[str]:
+ """
+ Infer the local ceph image based on the following priority criteria:
+ 1- the image specified by --image arg (if provided).
+ 2- the same image as the daemon container specified by --name arg (if provided).
+ 3- image used by any ceph container running on the host. In this case we use daemon types.
+ 4- if no container is found then we use the most ceph recent image on the host.
+
+ Note: any selected container must have the same fsid inferred previously.
+
:return: The most recent local ceph image (already pulled)
"""
+ # '|' special character is used to separate the output fields into:
+ # - Repository@digest
+ # - Image Id
+ # - Image Tag
+ # - Image creation date
out, _, _ = call_throws(ctx,
[container_path, 'images',
'--filter', 'label=ceph=True',
'--filter', 'dangling=false',
- '--format', '{{.Repository}}@{{.Digest}}'])
- return _filter_last_local_ceph_image(out)
-
+ '--format', '{{.Repository}}@{{.Digest}}|{{.ID}}|{{.Tag}}|{{.CreatedAt}}'])
+
+ container_info = None
+ daemon_name = ctx.name if ('name' in ctx and ctx.name and '.' in ctx.name) else None
+ daemons_ls = [daemon_name] if daemon_name is not None else Ceph.daemons # daemon types: 'mon', 'mgr', etc
+ for daemon in daemons_ls:
+ container_info = get_container_info(ctx, daemon, daemon_name is not None)
+ if container_info is not None:
+ logger.debug(f"Using container info for daemon '{daemon}'")
+ break
-def _filter_last_local_ceph_image(out):
- # type: (str) -> Optional[str]
for image in out.splitlines():
- if image and not image.endswith('@'):
- logger.info('Using recent ceph image %s' % image)
- return image
+ if image and not image.isspace():
+ (digest, image_id, tag, created_date) = image.lstrip().split('|')
+ if container_info is not None and image_id not in container_info.image_id:
+ continue
+ if digest and not digest.endswith('@'):
+ logger.info(f"Using ceph image with id '{image_id}' and tag '{tag}' created on {created_date}\n{digest}")
+ return digest
return None
os.chown(dst_file, uid, gid)
+def recursive_chown(path: str, uid: int, gid: int) -> None:
+ for dirpath, dirnames, filenames in os.walk(path):
+ os.chown(dirpath, uid, gid)
+ for filename in filenames:
+ os.chown(os.path.join(dirpath, filename), uid, gid)
+
+
# copied from distutils
def find_executable(executable: str, path: Optional[str] = None) -> Optional[str]:
"""Tries to find 'executable' in the directories listed in 'path'.
metadata = Monitoring.components[daemon_type]
r += metadata.get('args', list())
# set ip and port to bind to for nodeexporter,alertmanager,prometheus
- if daemon_type != 'grafana':
+ if daemon_type not in ['grafana', 'loki', 'promtail']:
ip = ''
port = Monitoring.port_map[daemon_type][0]
if 'meta_json' in ctx and ctx.meta_json:
if 'ports' in meta and meta['ports']:
port = meta['ports'][0]
r += [f'--web.listen-address={ip}:{port}']
+ if daemon_type == 'prometheus':
+ scheme = 'http'
+ host = get_fqdn()
+ r += [f'--web.external-url={scheme}://{host}:{port}']
if daemon_type == 'alertmanager':
config = get_parm(ctx.config_json)
peers = config.get('peers', list()) # type: ignore
r += ['--cluster.peer={}'.format(peer)]
# some alertmanager, by default, look elsewhere for a config
r += ['--config.file=/etc/alertmanager/alertmanager.yml']
+ if daemon_type == 'loki':
+ r += ['--config.file=/etc/loki/loki.yml']
+ if daemon_type == 'promtail':
+ r += ['--config.file=/etc/promtail/promtail.yml']
+ if daemon_type == 'node-exporter':
+ r += ['--path.procfs=/host/proc',
+ '--path.sysfs=/host/sys',
+ '--path.rootfs=/rootfs']
elif daemon_type == NFSGanesha.daemon_type:
nfs_ganesha = NFSGanesha.init(ctx, fsid, daemon_id)
r += nfs_ganesha.get_daemon_args()
makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
makedirs(os.path.join(data_dir_root, config_dir, 'alerting'), uid, gid, 0o755)
makedirs(os.path.join(data_dir_root, 'data'), uid, gid, 0o755)
+ recursive_chown(os.path.join(data_dir_root, 'etc'), uid, gid)
+ recursive_chown(os.path.join(data_dir_root, 'data'), uid, gid)
elif daemon_type == 'grafana':
data_dir_root = get_data_dir(fsid, ctx.data_dir,
daemon_type, daemon_id)
config_dir = 'etc/alertmanager'
makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
makedirs(os.path.join(data_dir_root, config_dir, 'data'), uid, gid, 0o755)
+ elif daemon_type == 'promtail':
+ data_dir_root = get_data_dir(fsid, ctx.data_dir,
+ daemon_type, daemon_id)
+ config_dir = 'etc/promtail'
+ makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
+ makedirs(os.path.join(data_dir_root, 'data'), uid, gid, 0o755)
+ elif daemon_type == 'loki':
+ data_dir_root = get_data_dir(fsid, ctx.data_dir,
+ daemon_type, daemon_id)
+ config_dir = 'etc/loki'
+ makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
+ makedirs(os.path.join(data_dir_root, 'data'), uid, gid, 0o755)
# populate the config directory for the component from the config-json
if 'files' in config_json:
if daemon_type in Monitoring.components and daemon_id:
data_dir = get_data_dir(fsid, ctx.data_dir, daemon_type, daemon_id)
+ log_dir = get_log_dir(fsid, ctx.log_dir)
if daemon_type == 'prometheus':
mounts[os.path.join(data_dir, 'etc/prometheus')] = '/etc/prometheus:Z'
mounts[os.path.join(data_dir, 'data')] = '/prometheus:Z'
+ elif daemon_type == 'loki':
+ mounts[os.path.join(data_dir, 'etc/loki')] = '/etc/loki:Z'
+ mounts[os.path.join(data_dir, 'data')] = '/loki:Z'
+ elif daemon_type == 'promtail':
+ mounts[os.path.join(data_dir, 'etc/promtail')] = '/etc/promtail:Z'
+ mounts[log_dir] = '/var/log/ceph:z'
+ mounts[os.path.join(data_dir, 'data')] = '/promtail:Z'
elif daemon_type == 'node-exporter':
mounts['/proc'] = '/host/proc:ro'
mounts['/sys'] = '/host/sys:ro'
# by ubuntu 18.04 kernel!)
]
container_args.extend(monitoring_args)
+ if daemon_type == 'node-exporter':
+ # in order to support setting '--path.procfs=/host/proc','--path.sysfs=/host/sys',
+ # '--path.rootfs=/rootfs' for node-exporter we need to disable selinux separation
+ # between the node-exporter container and the host to avoid selinux denials
+ container_args.extend(['--security-opt', 'label=disable'])
elif daemon_type == 'crash':
ceph_args = ['-n', name]
elif daemon_type in Ceph.daemons:
bind_mounts=get_container_binds(ctx, fsid, daemon_type, daemon_id),
cname='ceph-%s-%s.%s-activate' % (fsid, daemon_type, daemon_id),
)
+ if 'cluster' in ctx and ctx.cluster:
+ # ctx.cluster is only set during adoption of a daemon from a cluster
+ # with a custom name (not "ceph"). The initial activate command the first
+ # time we start the new cephadm based systemd unit for this osd must account
+ # for this by mounting to the correct data dir in the container. Otherwise
+ # necessary files from the old data dir of the daemon won't be copied over
+ # to the new data dir on the host. After the first start (e.g. on any redeploys)
+ # this is no longer necessary as we will have these files in the data dir on the host
+ if data_dir in prestart.volume_mounts:
+ prestart.volume_mounts[data_dir] = f'/var/lib/ceph/osd/{ctx.cluster}-{daemon_id}'
_write_container_cmd_to_bash(ctx, f, prestart, 'LVM OSDs use ceph-volume lvm activate')
elif daemon_type == CephIscsi.daemon_type:
f.write(' '.join(CephIscsi.configfs_mount_umount(data_dir, mount=True)) + '\n')
# post-stop command(s)
with open(data_dir + '/unit.stop.new', 'w') as f:
- f.write('! ' + ' '.join(c.stop_cmd()) + '\n')
- f.write('! ' + ' '.join(c.stop_cmd(old_cname=True)) + '\n')
+ # following generated script basically checks if the container exists
+ # before stopping it. Exit code will be success either if it doesn't
+ # exist or if it exists and is stopped successfully.
+ container_exists = f'{ctx.container_engine.path} inspect %s &>/dev/null'
+ f.write(f'! {container_exists % c.old_cname} || {" ".join(c.stop_cmd(old_cname=True))} \n')
+ f.write(f'! {container_exists % c.cname} || {" ".join(c.stop_cmd())} \n')
os.fchmod(f.fileno(), 0o600)
os.rename(data_dir + '/unit.stop.new',
def update_firewalld(ctx, daemon_type):
# type: (CephadmContext, str) -> None
- firewall = Firewalld(ctx)
- firewall.enable_service_for(daemon_type)
- firewall.apply_rules()
+ if not ('skip_firewalld' in ctx and ctx.skip_firewalld):
+ firewall = Firewalld(ctx)
+ firewall.enable_service_for(daemon_type)
+ firewall.apply_rules()
def install_sysctl(ctx: CephadmContext, fsid: str, daemon_type: str) -> None:
call_throws(ctx, ['sysctl', '--system'])
+def migrate_sysctl_dir(ctx: CephadmContext, fsid: str) -> None:
+ """
+ Cephadm once used '/usr/lib/sysctl.d' for storing sysctl configuration.
+ This moves it to '/etc/sysctl.d'.
+ """
+ deprecated_location: str = '/usr/lib/sysctl.d'
+ deprecated_confs: List[str] = glob(f'{deprecated_location}/90-ceph-{fsid}-*.conf')
+ if not deprecated_confs:
+ return
+
+ file_count: int = len(deprecated_confs)
+ logger.info(f'Found sysctl {file_count} files in deprecated location {deprecated_location}. Starting Migration.')
+ for conf in deprecated_confs:
+ try:
+ shutil.move(conf, ctx.sysctl_dir)
+ file_count -= 1
+ except shutil.Error as err:
+ if str(err).endswith('already exists'):
+ logger.warning(f'Destination file already exists. Deleting {conf}.')
+ try:
+ os.unlink(conf)
+ file_count -= 1
+ except OSError as del_err:
+ logger.warning(f'Could not remove {conf}: {del_err}.')
+ else:
+ logger.warning(f'Could not move {conf} from {deprecated_location} to {ctx.sysctl_dir}: {err}')
+
+ # Log successful migration
+ if file_count == 0:
+ logger.info(f'Successfully migrated sysctl config to {ctx.sysctl_dir}.')
+ return
+
+ # Log partially successful / unsuccessful migration
+ files_processed: int = len(deprecated_confs)
+ if file_count < files_processed:
+ status: str = f'partially successful (failed {file_count}/{files_processed})'
+ elif file_count == files_processed:
+ status = 'unsuccessful'
+ logger.warning(f'Migration of sysctl configuration {status}. You may want to perform a migration manually.')
+
+
def install_base_units(ctx, fsid):
# type: (CephadmContext, str) -> None
"""
LimitNPROC=1048576
EnvironmentFile=-/etc/environment
ExecStart=/bin/bash {data_dir}/{fsid}/%i/unit.run
-ExecStop=-/bin/bash -c '{container_path} stop ceph-{fsid}-%i ; bash {data_dir}/{fsid}/%i/unit.stop'
+ExecStop=-/bin/bash -c 'bash {data_dir}/{fsid}/%i/unit.stop'
ExecStopPost=-/bin/bash {data_dir}/{fsid}/%i/unit.poststop
KillMode=none
Restart=on-failure
{extra_args}
[Install]
WantedBy=ceph-{fsid}.target
-""".format(container_path=ctx.container_engine.path,
- fsid=fsid,
+""".format(fsid=fsid,
data_dir=ctx.data_dir,
extra_args=extra_args,
# if docker, we depend on docker.service
##################################
-@infer_image
+@default_image
def command_pull(ctx):
# type: (CephadmContext) -> int
- _pull_image(ctx, ctx.image, ctx.insecure)
+ try:
+ _pull_image(ctx, ctx.image, ctx.insecure)
+ except UnauthorizedRegistryError:
+ err_str = 'Failed to pull container image. Check that host(s) are logged into the registry'
+ logger.debug(f'Pulling image for `command_pull` failed: {err_str}')
+ raise Error(err_str)
return command_inspect_image(ctx)
if not ret:
return
+ if 'unauthorized' in err:
+ raise UnauthorizedRegistryError()
+
if not any(pattern in err for pattern in ignorelist):
raise Error('Failed command: %s' % cmd_str)
subnet_list = subnets.split(',')
for subnet in subnet_list:
# ensure the format of the string is as expected address/netmask
+ subnet = subnet.strip()
if not re.search(r'\/\d+$', subnet):
rc = 1
errors.append(f'{subnet} is not in CIDR format (address/netmask)')
return False
-def prepare_mon_addresses(
- ctx: CephadmContext
-) -> Tuple[str, bool, Optional[str]]:
+def ip_in_subnets(ip_addr: str, subnets: str) -> bool:
+ """Determine if the ip_addr belongs to any of the subnets list."""
+ subnet_list = [x.strip() for x in subnets.split(',')]
+ for subnet in subnet_list:
+ ip_address = unwrap_ipv6(ip_addr) if is_ipv6(ip_addr) else ip_addr
+ if ipaddress.ip_address(ip_address) in ipaddress.ip_network(subnet):
+ return True
+ return False
+
+
+def parse_mon_addrv(addrv_arg: str) -> List[EndPoint]:
+ """Parse mon-addrv param into a list of mon end points."""
r = re.compile(r':(\d+)$')
- base_ip = ''
+ addrv_args = []
+ addr_arg = addrv_arg
+ if addr_arg[0] != '[' or addr_arg[-1] != ']':
+ raise Error(f'--mon-addrv value {addr_arg} must use square backets')
+
+ for addr in addr_arg[1: -1].split(','):
+ hasport = r.findall(addr)
+ if not hasport:
+ raise Error(f'--mon-addrv value {addr_arg} must include port number')
+ port_str = hasport[0]
+ addr = re.sub(r'^v\d+:', '', addr) # strip off v1: or v2: prefix
+ base_ip = addr[0:-(len(port_str)) - 1]
+ addrv_args.append(EndPoint(base_ip, int(port_str)))
+
+ return addrv_args
+
+
+def parse_mon_ip(mon_ip: str) -> List[EndPoint]:
+ """Parse mon-ip param into a list of mon end points."""
+ r = re.compile(r':(\d+)$')
+ addrv_args = []
+ hasport = r.findall(mon_ip)
+ if hasport:
+ port_str = hasport[0]
+ base_ip = mon_ip[0:-(len(port_str)) - 1]
+ addrv_args.append(EndPoint(base_ip, int(port_str)))
+ else:
+ # No port provided: use fixed ports for ceph monitor
+ addrv_args.append(EndPoint(mon_ip, 3300))
+ addrv_args.append(EndPoint(mon_ip, 6789))
+
+ return addrv_args
+
+
+def build_addrv_params(addrv: List[EndPoint]) -> str:
+ """Convert mon end-points (ip:port) into the format: [v[1|2]:ip:port1]"""
+ if len(addrv) > 2:
+ raise Error('Detected a local mon-addrv list with more than 2 entries.')
+ port_to_ver: Dict[int, str] = {6789: 'v1', 3300: 'v2'}
+ addr_arg_list: List[str] = []
+ for ep in addrv:
+ if ep.port in port_to_ver:
+ ver = port_to_ver[ep.port]
+ else:
+ ver = 'v2' # default mon protocol version if port is not provided
+ logger.warning(f'Using msgr2 protocol for unrecognized port {ep}')
+ addr_arg_list.append(f'{ver}:{ep.ip}:{ep.port}')
+
+ addr_arg = '[{0}]'.format(','.join(addr_arg_list))
+ return addr_arg
+
+
+def get_public_net_from_cfg(ctx: CephadmContext) -> Optional[str]:
+ """Get mon public network from configuration file."""
+ cp = read_config(ctx.config)
+ if not cp.has_option('global', 'public_network'):
+ return None
+
+ # Ensure all public CIDR networks are valid
+ public_network = cp.get('global', 'public_network')
+ rc, _, err_msg = check_subnet(public_network)
+ if rc:
+ raise Error(f'Invalid public_network {public_network} parameter: {err_msg}')
+
+ # Ensure all public CIDR networks are configured locally
+ configured_subnets = set([x.strip() for x in public_network.split(',')])
+ local_subnets = set([x[0] for x in list_networks(ctx).items()])
+ valid_public_net = False
+ for net in configured_subnets:
+ if net in local_subnets:
+ valid_public_net = True
+ else:
+ logger.warning(f'The public CIDR network {net} (from -c conf file) is not configured locally.')
+ if not valid_public_net:
+ raise Error(f'None of the public CIDR network(s) {configured_subnets} (from -c conf file) is configured locally.')
+
+ # Ensure public_network is compatible with the provided mon-ip (or mon-addrv)
+ if ctx.mon_ip:
+ if not ip_in_subnets(ctx.mon_ip, public_network):
+ raise Error(f'The provided --mon-ip {ctx.mon_ip} does not belong to any public_network(s) {public_network}')
+ elif ctx.mon_addrv:
+ addrv_args = parse_mon_addrv(ctx.mon_addrv)
+ for addrv in addrv_args:
+ if not ip_in_subnets(addrv.ip, public_network):
+ raise Error(f'The provided --mon-addrv {addrv.ip} ip does not belong to any public_network(s) {public_network}')
+
+ logger.debug(f'Using mon public network from configuration file {public_network}')
+ return public_network
+
+
+def infer_mon_network(ctx: CephadmContext, mon_eps: List[EndPoint]) -> Optional[str]:
+ """Infer mon public network from local network."""
+ # Make sure IP is configured locally, and then figure out the CIDR network
+ mon_networks = []
+ for net, ifaces in list_networks(ctx).items():
+ # build local_ips list for the specified network
+ local_ips: List[str] = []
+ for _, ls in ifaces.items():
+ local_ips.extend([ipaddress.ip_address(ip) for ip in ls])
+
+ # check if any of mon ips belong to this net
+ for mon_ep in mon_eps:
+ try:
+ if ipaddress.ip_address(unwrap_ipv6(mon_ep.ip)) in local_ips:
+ mon_networks.append(net)
+ logger.info(f'Mon IP `{mon_ep.ip}` is in CIDR network `{net}`')
+ except ValueError as e:
+ logger.warning(f'Cannot infer CIDR network for mon IP `{mon_ep.ip}` : {e}')
+
+ if not mon_networks:
+ raise Error('Cannot infer CIDR network. Pass --skip-mon-network to configure it later')
+ else:
+ logger.debug(f'Inferred mon public CIDR from local network configuration {mon_networks}')
+
+ mon_networks = list(set(mon_networks)) # remove duplicates
+ return ','.join(mon_networks)
+
+
+def prepare_mon_addresses(ctx: CephadmContext) -> Tuple[str, bool, Optional[str]]:
+ """Get mon public network configuration."""
ipv6 = False
+ addrv_args: List[EndPoint] = []
+ mon_addrv: str = '' # i.e: [v2:192.168.100.1:3300,v1:192.168.100.1:6789]
if ctx.mon_ip:
ipv6 = is_ipv6(ctx.mon_ip)
if ipv6:
ctx.mon_ip = wrap_ipv6(ctx.mon_ip)
- hasport = r.findall(ctx.mon_ip)
- if hasport:
- port_str = hasport[0]
- port = int(port_str)
- if port == 6789:
- addr_arg = '[v1:%s]' % ctx.mon_ip
- elif port == 3300:
- addr_arg = '[v2:%s]' % ctx.mon_ip
- else:
- logger.warning('Using msgr2 protocol for unrecognized port %d' %
- port)
- addr_arg = '[v2:%s]' % ctx.mon_ip
- base_ip = ctx.mon_ip[0:-(len(port_str)) - 1]
- check_ip_port(ctx, base_ip, port)
- else:
- base_ip = ctx.mon_ip
- addr_arg = '[v2:%s:3300,v1:%s:6789]' % (ctx.mon_ip, ctx.mon_ip)
- check_ip_port(ctx, ctx.mon_ip, 3300)
- check_ip_port(ctx, ctx.mon_ip, 6789)
+ addrv_args = parse_mon_ip(ctx.mon_ip)
+ mon_addrv = build_addrv_params(addrv_args)
elif ctx.mon_addrv:
- addr_arg = ctx.mon_addrv
- if addr_arg[0] != '[' or addr_arg[-1] != ']':
- raise Error('--mon-addrv value %s must use square backets' %
- addr_arg)
- ipv6 = addr_arg.count('[') > 1
- for addr in addr_arg[1: -1].split(','):
- hasport = r.findall(addr)
- if not hasport:
- raise Error('--mon-addrv value %s must include port number' %
- addr_arg)
- port_str = hasport[0]
- port = int(port_str)
- # strip off v1: or v2: prefix
- addr = re.sub(r'^v\d+:', '', addr)
- base_ip = addr[0:-(len(port_str)) - 1]
- check_ip_port(ctx, base_ip, port)
+ ipv6 = ctx.mon_addrv.count('[') > 1
+ addrv_args = parse_mon_addrv(ctx.mon_addrv)
+ mon_addrv = ctx.mon_addrv
else:
raise Error('must specify --mon-ip or --mon-addrv')
- logger.debug('Base mon IP is %s, final addrv is %s' % (base_ip, addr_arg))
+ if addrv_args:
+ for end_point in addrv_args:
+ check_ip_port(ctx, end_point)
+
+ logger.debug(f'Base mon IP(s) is {addrv_args}, mon addrv is {mon_addrv}')
mon_network = None
if not ctx.skip_mon_network:
- # make sure IP is configured locally, and then figure out the
- # CIDR network
- errmsg = f'Cannot infer CIDR network for mon IP `{base_ip}`'
- for net, ifaces in list_networks(ctx).items():
- ips: List[str] = []
- for iface, ls in ifaces.items():
- ips.extend(ls)
- try:
- if ipaddress.ip_address(unwrap_ipv6(base_ip)) in \
- [ipaddress.ip_address(ip) for ip in ips]:
- mon_network = net
- logger.info(f'Mon IP `{base_ip}` is in CIDR network `{mon_network}`')
- break
- except ValueError as e:
- logger.warning(f'{errmsg}: {e}')
- if not mon_network:
- raise Error(f'{errmsg}: pass --skip-mon-network to configure it later')
+ mon_network = get_public_net_from_cfg(ctx) or infer_mon_network(ctx, addrv_args)
- return (addr_arg, ipv6, mon_network)
+ return (mon_addrv, ipv6, mon_network)
def prepare_cluster_network(ctx: CephadmContext) -> Tuple[str, bool]:
- cluster_network = ''
- ipv6_cluster_network = False
# the cluster network may not exist on this node, so all we can do is
# validate that the address given is valid ipv4 or ipv6 subnet
- if ctx.cluster_network:
- rc, versions, err_msg = check_subnet(ctx.cluster_network)
+ ipv6_cluster_network = False
+ cp = read_config(ctx.config)
+ cluster_network = ctx.cluster_network
+ if cluster_network is None and cp.has_option('global', 'cluster_network'):
+ cluster_network = cp.get('global', 'cluster_network')
+
+ if cluster_network:
+ cluser_nets = set([x.strip() for x in cluster_network.split(',')])
+ local_subnets = set([x[0] for x in list_networks(ctx).items()])
+ for net in cluser_nets:
+ if net not in local_subnets:
+ logger.warning(f'The cluster CIDR network {net} is not configured locally.')
+
+ rc, versions, err_msg = check_subnet(cluster_network)
if rc:
raise Error(f'Invalid --cluster-network parameter: {err_msg}')
- cluster_network = ctx.cluster_network
ipv6_cluster_network = True if 6 in versions else False
else:
- logger.info('- internal network (--cluster-network) has not '
+ logger.info('Internal network (--cluster-network) has not '
'been provided, OSD replication will default to '
'the public_network')
}
cli(['cephadm', 'set-priv-key', '-i', '/tmp/cephadm-ssh-key'], extra_mounts=mounts)
cli(['cephadm', 'set-pub-key', '-i', '/tmp/cephadm-ssh-key.pub'], extra_mounts=mounts)
+ ssh_pub = cli(['cephadm', 'get-pub-key'])
else:
logger.info('Generating ssh key...')
cli(['cephadm', 'generate-key'])
ssh_pub = cli(['cephadm', 'get-pub-key'])
-
with open(ctx.output_pub_ssh_key, 'w') as f:
f.write(ssh_pub)
logger.info('Wrote public SSH key to %s' % ctx.output_pub_ssh_key)
- logger.info('Adding key to %s@localhost authorized_keys...' % ctx.ssh_user)
- try:
- s_pwd = pwd.getpwnam(ctx.ssh_user)
- except KeyError:
- raise Error('Cannot find uid/gid for ssh-user: %s' % (ctx.ssh_user))
- ssh_uid = s_pwd.pw_uid
- ssh_gid = s_pwd.pw_gid
- ssh_dir = os.path.join(s_pwd.pw_dir, '.ssh')
-
- if not os.path.exists(ssh_dir):
- makedirs(ssh_dir, ssh_uid, ssh_gid, 0o700)
-
- auth_keys_file = '%s/authorized_keys' % ssh_dir
- add_newline = False
-
- if os.path.exists(auth_keys_file):
- with open(auth_keys_file, 'r') as f:
- f.seek(0, os.SEEK_END)
- if f.tell() > 0:
- f.seek(f.tell() - 1, os.SEEK_SET) # go to last char
- if f.read() != '\n':
- add_newline = True
-
- with open(auth_keys_file, 'a') as f:
- os.fchown(f.fileno(), ssh_uid, ssh_gid) # just in case we created it
- os.fchmod(f.fileno(), 0o600) # just in case we created it
- if add_newline:
- f.write('\n')
- f.write(ssh_pub.strip() + '\n')
+ authorize_ssh_key(ssh_pub, ctx.ssh_user)
host = get_hostname()
logger.info('Adding host %s...' % host)
args = ['orch', 'host', 'add', host]
if ctx.mon_ip:
args.append(unwrap_ipv6(ctx.mon_ip))
+ elif ctx.mon_addrv:
+ addrv_args = parse_mon_addrv(ctx.mon_addrv)
+ args.append(unwrap_ipv6(addrv_args[0].ip))
cli(args)
except RuntimeError as e:
raise Error('Failed to add host <%s>: %s' % (host, e))
port = int(out)
# Open dashboard port
- fw = Firewalld(ctx)
- fw.open_ports([port])
- fw.apply_rules()
+ if not ('skip_firewalld' in ctx and ctx.skip_firewalld):
+ fw = Firewalld(ctx)
+ fw.open_ports([port])
+ fw.apply_rules()
logger.info('Ceph Dashboard is now available at:\n\n'
'\t URL: https://%s:%s/\n'
'restart',
get_unit_name(fsid, 'mon', mon_id)
])
+ elif 'image' in ctx and ctx.image:
+ # we still want to assimilate the given container image if provided
+ cli(['config', 'set', 'global', 'container_image', f'{ctx.image}'])
if mon_network:
logger.info(f'Setting mon public_network to {mon_network}')
docs = []
current_doc = [] # type: List[str]
for line in f:
- if '---' in line:
+ if re.search(r'^---\s+', line):
if current_doc:
docs.append(current_doc)
current_doc = []
def _distribute_ssh_keys(ctx: CephadmContext, host_spec: Dict[str, str], bootstrap_hostname: str) -> int:
# copy ssh key to hosts in host spec (used for apply spec)
- ssh_key = '/etc/ceph/ceph.pub'
+ ssh_key = CEPH_DEFAULT_PUBKEY
if ctx.ssh_public_key:
ssh_key = ctx.ssh_public_key.name
return 0
+def save_cluster_config(ctx: CephadmContext, uid: int, gid: int, fsid: str) -> None:
+ """Save cluster configuration to the per fsid directory """
+ def copy_file(src: str, dst: str) -> None:
+ if src:
+ shutil.copyfile(src, dst)
+
+ conf_dir = f'{ctx.data_dir}/{fsid}/{CEPH_CONF_DIR}'
+ makedirs(conf_dir, uid, gid, DATA_DIR_MODE)
+ if os.path.exists(conf_dir):
+ logger.info(f'Saving cluster configuration to {conf_dir} directory')
+ copy_file(ctx.output_config, os.path.join(conf_dir, CEPH_CONF))
+ copy_file(ctx.output_keyring, os.path.join(conf_dir, CEPH_KEYRING))
+ # ctx.output_pub_ssh_key may not exist if user has provided custom ssh keys
+ if (os.path.exists(ctx.output_pub_ssh_key)):
+ copy_file(ctx.output_pub_ssh_key, os.path.join(conf_dir, CEPH_PUBKEY))
+ else:
+ logger.warning(f'Cannot create cluster configuration directory {conf_dir}')
+
+
@default_image
def command_bootstrap(ctx):
# type: (CephadmContext) -> int
if not ctx.output_config:
- ctx.output_config = os.path.join(ctx.output_dir, 'ceph.conf')
+ ctx.output_config = os.path.join(ctx.output_dir, CEPH_CONF)
if not ctx.output_keyring:
- ctx.output_keyring = os.path.join(ctx.output_dir,
- 'ceph.client.admin.keyring')
+ ctx.output_keyring = os.path.join(ctx.output_dir, CEPH_KEYRING)
if not ctx.output_pub_ssh_key:
- ctx.output_pub_ssh_key = os.path.join(ctx.output_dir, 'ceph.pub')
+ ctx.output_pub_ssh_key = os.path.join(ctx.output_dir, CEPH_PUBKEY)
+
+ if bool(ctx.ssh_private_key) is not bool(ctx.ssh_public_key):
+ raise Error('--ssh-private-key and --ssh-public-key must be provided together or not at all.')
+
+ if ctx.fsid:
+ data_dir_base = os.path.join(ctx.data_dir, ctx.fsid)
+ if os.path.exists(data_dir_base):
+ raise Error(f"A cluster with the same fsid '{ctx.fsid}' already exists.")
+ else:
+ logger.warning('Specifying an fsid for your cluster offers no advantages and may increase the likelihood of fsid conflicts.')
# verify output files
for f in [ctx.output_config, ctx.output_keyring,
(user_conf, _) = get_config_and_keyring(ctx)
+ if ctx.ssh_user != 'root':
+ check_ssh_connectivity(ctx)
+
if not ctx.skip_prepare_host:
command_prepare_host(ctx)
else:
config = prepare_bootstrap_config(ctx, fsid, addr_arg, ctx.image)
if not ctx.skip_pull:
- _pull_image(ctx, ctx.image)
+ try:
+ _pull_image(ctx, ctx.image)
+ except UnauthorizedRegistryError:
+ err_str = 'Failed to pull container image. Check that correct registry credentials are provided in bootstrap by --registry-url, --registry-username, --registry-password, or supply --registry-json with credentials'
+ logger.debug(f'Pulling image for bootstrap on {hostname} failed: {err_str}')
+ raise Error(err_str)
image_ver = CephContainer(ctx, ctx.image, 'ceph', ['--version']).run().strip()
logger.info(f'Ceph version: {image_ver}')
if not ctx.skip_dashboard:
prepare_dashboard(ctx, uid, gid, cli, wait_for_mgr_restart)
- if ctx.output_config == '/etc/ceph/ceph.conf' and not ctx.skip_admin_label:
+ if ctx.output_config == CEPH_DEFAULT_CONF and not ctx.skip_admin_label and not ctx.no_minimize_config:
logger.info('Enabling client.admin keyring and conf on hosts with "admin" label')
try:
cli(['orch', 'client-keyring', 'set', 'client.admin', 'label:_admin'])
except Exception:
logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)
+ save_cluster_config(ctx, uid, gid, fsid)
+
# enable autotune for osd_memory_target
logger.info('Enabling autotune for osd_memory_target')
cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])
# Notify the Dashboard to show the 'Expand cluster' page on first log in.
cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
- logger.info('You can access the Ceph CLI with:\n\n'
+ logger.info('You can access the Ceph CLI as following in case of multi-cluster or non-default config:\n\n'
'\tsudo %s shell --fsid %s -c %s -k %s\n' % (
sys.argv[0],
fsid,
ctx.output_config,
ctx.output_keyring))
+
+ logger.info('Or, if you are only running a single cluster on this host:\n\n\tsudo %s shell \n' % (sys.argv[0]))
+
logger.info('Please consider enabling telemetry to help improve Ceph:\n\n'
'\tceph telemetry on\n\n'
'For more information see:\n\n'
uid, gid = 65534, 65534
elif daemon_type == 'grafana':
uid, gid = extract_uid_gid(ctx, file_path='/var/lib/grafana')
+ elif daemon_type == 'loki':
+ uid, gid = extract_uid_gid(ctx, file_path='/etc/loki')
+ elif daemon_type == 'promtail':
+ uid, gid = extract_uid_gid(ctx, file_path='/etc/promtail')
elif daemon_type == 'alertmanager':
uid, gid = extract_uid_gid(ctx, file_path=['/etc/alertmanager', '/etc/prometheus'])
else:
else:
logger.info('%s daemon %s ...' % ('Deploy', ctx.name))
+ # Migrate sysctl conf files from /usr/lib to /etc
+ migrate_sysctl_dir(ctx, ctx.fsid)
+
# Get and check ports explicitly required to be opened
daemon_ports = [] # type: List[int]
if daemon_id and not ctx.fsid:
raise Error('must pass --fsid to specify cluster')
- # use /etc/ceph files by default, if present. we do this instead of
+ # in case a dedicated keyring for the specified fsid is found we us it.
+ # Otherwise, use /etc/ceph files by default, if present. We do this instead of
# making these defaults in the arg parser because we don't want an error
# if they don't exist.
- if not ctx.keyring and os.path.exists(SHELL_DEFAULT_KEYRING):
- ctx.keyring = SHELL_DEFAULT_KEYRING
+ if not ctx.keyring:
+ keyring_file = f'{ctx.data_dir}/{ctx.fsid}/{CEPH_CONF_DIR}/{CEPH_KEYRING}'
+ if os.path.exists(keyring_file):
+ ctx.keyring = keyring_file
+ elif os.path.exists(CEPH_DEFAULT_KEYRING):
+ ctx.keyring = CEPH_DEFAULT_KEYRING
container_args: List[str] = ['-i']
mounts = get_container_mounts(ctx, ctx.fsid, daemon_type, daemon_id,
@infer_fsid
def command_unit(ctx):
- # type: (CephadmContext) -> None
+ # type: (CephadmContext) -> int
if not ctx.fsid:
raise Error('must pass --fsid to specify cluster')
unit_name = get_unit_name_by_daemon_name(ctx, ctx.fsid, ctx.name)
- call_throws(ctx, [
- 'systemctl',
- ctx.command,
- unit_name],
+ _, _, code = call(
+ ctx,
+ ['systemctl', ctx.command, unit_name],
verbosity=CallVerbosity.VERBOSE,
desc=''
)
+ return code
##################################
def _parse_ipv4_route(out: str) -> Dict[str, Dict[str, Set[str]]]:
r = {} # type: Dict[str, Dict[str, Set[str]]]
- p = re.compile(r'^(\S+) dev (\S+) (.*)scope link (.*)src (\S+)')
+ p = re.compile(r'^(\S+) (?:via \S+)? ?dev (\S+) (.*)scope link (.*)src (\S+)')
for line in out.splitlines():
m = p.findall(line)
if not m:
continue
net = m[0][0]
+ if '/' not in net: # aggregate /32 mask for single host sub-networks
+ net += '/32'
iface = m[0][1]
ip = m[0][4]
if net not in r:
if not m or m[0][0].lower() == 'default':
continue
net = m[0][0]
- if '/' not in net: # only consider networks with a mask
- continue
+ if '/' not in net: # aggregate /128 mask for single host sub-networks
+ net += '/128'
iface = m[0][1]
+ if iface == 'lo': # skip loopback devices
+ continue
if net not in r:
r[net] = {}
if iface not in r[net]:
# keep track of image digests
seen_digests = {} # type: Dict[str, List[str]]
- # keep track of memory usage we've seen
+ # keep track of memory and cpu usage we've seen
seen_memusage = {} # type: Dict[str, int]
+ seen_cpuperc = {} # type: Dict[str, str]
out, err, code = call(
ctx,
[container_path, 'stats', '--format', '{{.ID}},{{.MemUsage}}', '--no-stream'],
)
seen_memusage_cid_len, seen_memusage = _parse_mem_usage(code, out)
+ out, err, code = call(
+ ctx,
+ [container_path, 'stats', '--format', '{{.ID}},{{.CPUPerc}}', '--no-stream'],
+ verbosity=CallVerbosity.DEBUG
+ )
+ seen_cpuperc_cid_len, seen_cpuperc = _parse_cpu_perc(code, out)
+
# /var/lib/ceph
if os.path.exists(data_dir):
for i in os.listdir(data_dir):
seen_versions[image_id] = version
elif daemon_type in ['prometheus',
'alertmanager',
- 'node-exporter']:
+ 'node-exporter',
+ 'loki',
+ 'promtail']:
version = Monitoring.get_version(ctx, container_id, daemon_type)
seen_versions[image_id] = version
elif daemon_type == 'haproxy':
val['container_image_digests'] = image_digests
if container_id:
val['memory_usage'] = seen_memusage.get(container_id[0:seen_memusage_cid_len])
+ val['cpu_percentage'] = seen_cpuperc.get(container_id[0:seen_cpuperc_cid_len])
val['version'] = version
val['started'] = start_stamp
val['created'] = get_file_timestamp(
os.path.join(data_dir, fsid, j, 'unit.image'))
val['configured'] = get_file_timestamp(
os.path.join(data_dir, fsid, j, 'unit.configured'))
-
ls.append(val)
return ls
return seen_memusage_cid_len, seen_memusage
+def _parse_cpu_perc(code: int, out: str) -> Tuple[int, Dict[str, str]]:
+ seen_cpuperc = {}
+ seen_cpuperc_cid_len = 0
+ if not code:
+ for line in out.splitlines():
+ (cid, cpuperc) = line.split(',')
+ try:
+ seen_cpuperc[cid] = cpuperc
+ if not seen_cpuperc_cid_len:
+ seen_cpuperc_cid_len = len(cid)
+ except ValueError:
+ logger.info('unable to parse cpu percentage line\n>{}'.format(line))
+ pass
+ return seen_cpuperc_cid_len, seen_cpuperc
+
+
def get_daemon_description(ctx, fsid, name, detail=False, legacy_dir=None):
# type: (CephadmContext, str, str, bool, Optional[str]) -> Dict[str, str]
# type: (CephadmContext) -> None
if not ctx.skip_pull:
- _pull_image(ctx, ctx.image)
+ try:
+ _pull_image(ctx, ctx.image)
+ except UnauthorizedRegistryError:
+ err_str = 'Failed to pull container image. Host may not be logged into container registry. Try `cephadm registry-login --registry-url <url> --registry-username <username> --registry-password <password>` or supply login info via a json file with `cephadm registry-login --registry-json <file>`'
+ logger.debug(f'Pulling image for `command_adopt` failed: {err_str}')
+ raise Error(err_str)
(daemon_type, daemon_id) = ctx.name.split('.', 1)
else:
call_throws(ctx, ['rm', '-rf', data_dir])
+ if 'tcp_ports' in ctx and ctx.tcp_ports is not None:
+ ports: List[int] = [int(p) for p in ctx.tcp_ports.split()]
+ try:
+ fw = Firewalld(ctx)
+ fw.close_ports(ports)
+ fw.apply_rules()
+ except RuntimeError as e:
+ # in case we cannot close the ports we will remove
+ # the daemon but keep them open.
+ logger.warning(f' Error when trying to close ports: {e}')
+
+
##################################
##################################
+def get_ceph_cluster_count(ctx: CephadmContext) -> int:
+ return len([c for c in os.listdir(ctx.data_dir) if is_fsid(c)])
+
+
def command_rm_cluster(ctx):
# type: (CephadmContext) -> None
if not ctx.force:
lock = FileLock(ctx, ctx.fsid)
lock.acquire()
- # stop + disable individual daemon units
- for d in list_daemons(ctx, detail=False):
- if d['fsid'] != ctx.fsid:
- continue
- if d['style'] != 'cephadm:v1':
- continue
- unit_name = get_unit_name(ctx.fsid, d['name'])
+ def disable_systemd_service(unit_name: str) -> None:
call(ctx, ['systemctl', 'stop', unit_name],
verbosity=CallVerbosity.DEBUG)
call(ctx, ['systemctl', 'reset-failed', unit_name],
call(ctx, ['systemctl', 'disable', unit_name],
verbosity=CallVerbosity.DEBUG)
+ # stop + disable individual daemon units
+ for d in list_daemons(ctx, detail=False):
+ if d['fsid'] != ctx.fsid:
+ continue
+ if d['style'] != 'cephadm:v1':
+ continue
+ disable_systemd_service(get_unit_name(ctx.fsid, d['name']))
+
# cluster units
for unit_name in ['ceph-%s.target' % ctx.fsid]:
- call(ctx, ['systemctl', 'stop', unit_name],
- verbosity=CallVerbosity.DEBUG)
- call(ctx, ['systemctl', 'reset-failed', unit_name],
- verbosity=CallVerbosity.DEBUG)
- call(ctx, ['systemctl', 'disable', unit_name],
- verbosity=CallVerbosity.DEBUG)
+ disable_systemd_service(unit_name)
slice_name = 'system-ceph\\x2d{}.slice'.format(ctx.fsid.replace('-', '\\x2d'))
call(ctx, ['systemctl', 'stop', slice_name],
# rm logrotate config
call_throws(ctx, ['rm', '-f', ctx.logrotate_dir + '/ceph-%s' % ctx.fsid])
- # rm cephadm logrotate config if last cluster on host
- if not os.listdir(ctx.data_dir):
+ # if last cluster on host remove shared files
+ if get_ceph_cluster_count(ctx) == 0:
+ disable_systemd_service('ceph.target')
+
+ # rm shared ceph target files
+ call_throws(ctx, ['rm', '-f', ctx.unit_dir + '/multi-user.target.wants/ceph.target'])
+ call_throws(ctx, ['rm', '-f', ctx.unit_dir + '/ceph.target'])
+
+ # rm cephadm logrotate config
call_throws(ctx, ['rm', '-f', ctx.logrotate_dir + '/cephadm'])
+ if not ctx.keep_logs:
+ # remove all cephadm logs
+ for fname in glob(f'{ctx.log_dir}/cephadm.log*'):
+ os.remove(fname)
+
# rm sysctl settings
- sysctl_dir = Path(ctx.sysctl_dir)
- for p in sysctl_dir.glob(f'90-ceph-{ctx.fsid}-*.conf'):
- p.unlink()
+ sysctl_dirs: List[Path] = [Path(ctx.sysctl_dir), Path('/usr/lib/sysctl.d')]
- # clean up config, keyring, and pub key files
- files = ['/etc/ceph/ceph.conf', '/etc/ceph/ceph.pub', '/etc/ceph/ceph.client.admin.keyring']
+ for sysctl_dir in sysctl_dirs:
+ for p in sysctl_dir.glob(f'90-ceph-{ctx.fsid}-*.conf'):
+ p.unlink()
+ # cleanup remaining ceph directories
+ ceph_dirs = [f'/run/ceph/{ctx.fsid}', f'/tmp/var/lib/ceph/{ctx.fsid}', f'/var/run/ceph/{ctx.fsid}']
+ for dd in ceph_dirs:
+ shutil.rmtree(dd, ignore_errors=True)
+
+ # clean up config, keyring, and pub key files
+ files = [CEPH_DEFAULT_CONF, CEPH_DEFAULT_PUBKEY, CEPH_DEFAULT_KEYRING]
if os.path.exists(files[0]):
valid_fsid = False
with open(files[0]) as f:
if ctx.fsid in f.read():
valid_fsid = True
if valid_fsid:
+ # rm configuration files on /etc/ceph
for n in range(0, len(files)):
if os.path.exists(files[n]):
os.remove(files[n])
-
##################################
##################################
+def get_ssh_vars(ssh_user: str) -> Tuple[int, int, str]:
+ try:
+ s_pwd = pwd.getpwnam(ssh_user)
+ except KeyError:
+ raise Error('Cannot find uid/gid for ssh-user: %s' % (ssh_user))
+
+ ssh_uid = s_pwd.pw_uid
+ ssh_gid = s_pwd.pw_gid
+ ssh_dir = os.path.join(s_pwd.pw_dir, '.ssh')
+ return ssh_uid, ssh_gid, ssh_dir
+
+
+def authorize_ssh_key(ssh_pub_key: str, ssh_user: str) -> bool:
+ """Authorize the public key for the provided ssh user"""
+
+ def key_in_file(path: str, key: str) -> bool:
+ if not os.path.exists(path):
+ return False
+ with open(path) as f:
+ lines = f.readlines()
+ for line in lines:
+ if line.strip() == key.strip():
+ return True
+ return False
+
+ logger.info(f'Adding key to {ssh_user}@localhost authorized_keys...')
+ if ssh_pub_key is None or ssh_pub_key.isspace():
+ raise Error('Trying to authorize an empty ssh key')
+
+ ssh_pub_key = ssh_pub_key.strip()
+ ssh_uid, ssh_gid, ssh_dir = get_ssh_vars(ssh_user)
+ if not os.path.exists(ssh_dir):
+ makedirs(ssh_dir, ssh_uid, ssh_gid, 0o700)
+
+ auth_keys_file = '%s/authorized_keys' % ssh_dir
+ if key_in_file(auth_keys_file, ssh_pub_key):
+ logger.info(f'key already in {ssh_user}@localhost authorized_keys...')
+ return False
+
+ add_newline = False
+ if os.path.exists(auth_keys_file):
+ with open(auth_keys_file, 'r') as f:
+ f.seek(0, os.SEEK_END)
+ if f.tell() > 0:
+ f.seek(f.tell() - 1, os.SEEK_SET) # go to last char
+ if f.read() != '\n':
+ add_newline = True
+
+ with open(auth_keys_file, 'a') as f:
+ os.fchown(f.fileno(), ssh_uid, ssh_gid) # just in case we created it
+ os.fchmod(f.fileno(), 0o600) # just in case we created it
+ if add_newline:
+ f.write('\n')
+ f.write(ssh_pub_key + '\n')
+
+ return True
+
+
+def revoke_ssh_key(key: str, ssh_user: str) -> None:
+ """Revoke the public key authorization for the ssh user"""
+ ssh_uid, ssh_gid, ssh_dir = get_ssh_vars(ssh_user)
+ auth_keys_file = '%s/authorized_keys' % ssh_dir
+ deleted = False
+ if os.path.exists(auth_keys_file):
+ with open(auth_keys_file, 'r') as f:
+ lines = f.readlines()
+ _, filename = tempfile.mkstemp()
+ with open(filename, 'w') as f:
+ os.fchown(f.fileno(), ssh_uid, ssh_gid)
+ os.fchmod(f.fileno(), 0o600) # secure access to the keys file
+ for line in lines:
+ if line.strip() == key.strip():
+ deleted = True
+ else:
+ f.write(line)
+
+ if deleted:
+ shutil.move(filename, auth_keys_file)
+ else:
+ logger.warning('Cannot find the ssh key to be deleted')
+
+
+def check_ssh_connectivity(ctx: CephadmContext) -> None:
+
+ def cmd_is_available(cmd: str) -> bool:
+ if shutil.which(cmd) is None:
+ logger.warning(f'Command not found: {cmd}')
+ return False
+ return True
+
+ if not cmd_is_available('ssh') or not cmd_is_available('ssh-keygen'):
+ logger.warning('Cannot check ssh connectivity. Skipping...')
+ return
+
+ logger.info('Verifying ssh connectivity ...')
+ if ctx.ssh_private_key and ctx.ssh_public_key:
+ # let's use the keys provided by the user
+ ssh_priv_key_path = pathify(ctx.ssh_private_key.name)
+ ssh_pub_key_path = pathify(ctx.ssh_public_key.name)
+ else:
+ # no custom keys, let's generate some random keys just for this check
+ ssh_priv_key_path = f'/tmp/ssh_key_{uuid.uuid1()}'
+ ssh_pub_key_path = f'{ssh_priv_key_path}.pub'
+ ssh_key_gen_cmd = ['ssh-keygen', '-q', '-t', 'rsa', '-N', '', '-C', '', '-f', ssh_priv_key_path]
+ _, _, code = call(ctx, ssh_key_gen_cmd)
+ if code != 0:
+ logger.warning('Cannot generate keys to check ssh connectivity.')
+ return
+
+ with open(ssh_pub_key_path, 'r') as f:
+ key = f.read().strip()
+ new_key = authorize_ssh_key(key, ctx.ssh_user)
+ ssh_cfg_file_arg = ['-F', pathify(ctx.ssh_config.name)] if ctx.ssh_config else []
+ _, _, code = call(ctx, ['ssh', '-o StrictHostKeyChecking=no',
+ *ssh_cfg_file_arg, '-i', ssh_priv_key_path,
+ '-o PasswordAuthentication=no',
+ f'{ctx.ssh_user}@{get_hostname()}',
+ 'sudo echo'])
+
+ # we only remove the key if it's a new one. In case the user has provided
+ # some already existing key then we don't alter authorized_keys file
+ if new_key:
+ revoke_ssh_key(key, ctx.ssh_user)
+
+ pub_key_msg = '- The public key file configured by --ssh-public-key is valid\n' if ctx.ssh_public_key else ''
+ prv_key_msg = '- The private key file configured by --ssh-private-key is valid\n' if ctx.ssh_private_key else ''
+ ssh_cfg_msg = '- The ssh configuration file configured by --ssh-config is valid\n' if ctx.ssh_config else ''
+ err_msg = f"""
+** Please verify your user's ssh configuration and make sure:
+- User {ctx.ssh_user} must have passwordless sudo access
+{pub_key_msg}{prv_key_msg}{ssh_cfg_msg}
+"""
+ if code != 0:
+ raise Error(err_msg)
+
+
def command_prepare_host(ctx: CephadmContext) -> None:
logger.info('Verifying podman|docker is present...')
pkg = None
continue
for iface in os.listdir(nic_path):
+ if os.path.exists(os.path.join(nic_path, iface, 'bridge')):
+ nic_type = 'bridge'
+ elif os.path.exists(os.path.join(nic_path, iface, 'bonding')):
+ nic_type = 'bonding'
+ else:
+ nic_type = hw_lookup.get(read_file([os.path.join(nic_path, iface, 'type')]), 'Unknown')
+
+ if nic_type == 'loopback': # skip loopback devices
+ continue
+
lower_devs_list = [os.path.basename(link.replace('lower_', '')) for link in glob(os.path.join(nic_path, iface, 'lower_*'))]
upper_devs_list = [os.path.basename(link.replace('upper_', '')) for link in glob(os.path.join(nic_path, iface, 'upper_*'))]
# Either way, we show a -1 when speed isn't available
speed = -1
- if os.path.exists(os.path.join(nic_path, iface, 'bridge')):
- nic_type = 'bridge'
- elif os.path.exists(os.path.join(nic_path, iface, 'bonding')):
- nic_type = 'bonding'
- else:
- nic_type = hw_lookup.get(read_file([os.path.join(nic_path, iface, 'type')]), 'Unknown')
-
dev_link = os.path.join(nic_path, iface, 'device')
if os.path.exists(dev_link):
iftype = 'physical'
parser_version.set_defaults(func=command_version)
parser_pull = subparsers.add_parser(
- 'pull', help='pull latest image version')
+ 'pull', help='pull the default container image')
parser_pull.set_defaults(func=command_pull)
parser_pull.add_argument(
'--insecure',
parser_adopt.add_argument(
'--skip-pull',
action='store_true',
- help='do not pull the latest image before adopting')
+ help='do not pull the default image before adopting')
parser_adopt.add_argument(
'--force-start',
action='store_true',
required=True,
action=CustomValidation,
help='daemon name (type.id)')
+ parser_rm_daemon.add_argument(
+ '--tcp-ports',
+ help='List of tcp ports to close in the host firewall')
parser_rm_daemon.add_argument(
'--fsid',
required=True,
'--mon-id',
required=False,
help='mon id (default: local hostname)')
- parser_bootstrap.add_argument(
+ group = parser_bootstrap.add_mutually_exclusive_group()
+ group.add_argument(
'--mon-addrv',
help='mon IPs (e.g., [v2:localipaddr:3300,v1:localipaddr:6789])')
- parser_bootstrap.add_argument(
+ group.add_argument(
'--mon-ip',
help='mon IP')
parser_bootstrap.add_argument(
parser_bootstrap.add_argument(
'--skip-pull',
action='store_true',
- help='do not pull the latest image before bootstrapping')
+ help='do not pull the default image before bootstrapping')
parser_bootstrap.add_argument(
'--skip-firewalld',
action='store_true',
global logger
if not os.path.exists(LOG_DIR):
os.makedirs(LOG_DIR)
- dictConfig(logging_config)
+ operations = ['bootstrap', 'rm-cluster']
+ if any(op in args for op in operations):
+ dictConfig(interactive_logging_config)
+ else:
+ dictConfig(logging_config)
+
logger = logging.getLogger()
if not os.path.exists(ctx.logrotate_dir + '/cephadm'):
return os.getcwd()
+def mock_bad_firewalld():
+ def raise_bad_firewalld():
+ raise Exception('Called bad firewalld')
+ f = mock.Mock(cd.Firewalld)
+ f.enable_service_for = lambda _ : raise_bad_firewalld()
+ f.apply_rules = lambda : raise_bad_firewalld()
+ f.open_ports = lambda _ : raise_bad_firewalld()
+
def _mock_scrape_host(obj, interval):
try:
raise ValueError("wah")
mock.patch('cephadm.call_timeout', return_value=0), \
mock.patch('cephadm.find_executable', return_value='foo'), \
mock.patch('cephadm.is_available', return_value=True), \
+ mock.patch('cephadm.get_container_info', return_value=None), \
mock.patch('cephadm.json_loads_retry', return_value={'epoch' : 1}), \
mock.patch('socket.gethostname', return_value=hostname):
ctx: cd.CephadmContext = cd.cephadm_init_ctx(cmd)
import os
import pytest
import socket
-import sys
-import time
-import threading
import unittest
-
from textwrap import dedent
-from typing import List, Optional
-
from .fixtures import (
cephadm_fs,
mock_docker,
mock_podman,
with_cephadm_ctx,
+ mock_bad_firewalld,
)
with mock.patch('builtins.open', create=True):
('::', socket.AF_INET6),
):
try:
- cd.check_ip_port(ctx, address, 9100)
+ cd.check_ip_port(ctx, cd.EndPoint(address, 9100))
except:
assert False
else:
mock_socket_obj.bind.side_effect = side_effect
_socket.return_value = mock_socket_obj
try:
- cd.check_ip_port(ctx, address, 9100)
+ cd.check_ip_port(ctx, cd.EndPoint(address, 9100))
except Exception as e:
assert isinstance(e, expected_exception)
else:
for address, expected in tests:
wrap_test(address, expected)
+ @mock.patch('cephadm.Firewalld', mock_bad_firewalld)
+ @mock.patch('cephadm.logger')
+ def test_skip_firewalld(self, logger, cephadm_fs):
+ """
+ test --skip-firewalld actually skips changing firewall
+ """
+
+ ctx = cd.CephadmContext()
+ with pytest.raises(Exception):
+ cd.update_firewalld(ctx, 'mon')
+
+ ctx.skip_firewalld = True
+ cd.update_firewalld(ctx, 'mon')
+
+ ctx.skip_firewalld = False
+ with pytest.raises(Exception):
+ cd.update_firewalld(ctx, 'mon')
+
+ ctx = cd.CephadmContext()
+ ctx.ssl_dashboard_port = 8888
+ ctx.dashboard_key = None
+ ctx.dashboard_password_noupdate = True
+ ctx.initial_dashboard_password = 'password'
+ ctx.initial_dashboard_user = 'User'
+ with pytest.raises(Exception):
+ cd.prepare_dashboard(ctx, 0, 0, lambda _, extra_mounts=None, ___=None : '5', lambda : None)
+
+ ctx.skip_firewalld = True
+ cd.prepare_dashboard(ctx, 0, 0, lambda _, extra_mounts=None, ___=None : '5', lambda : None)
+
+ ctx.skip_firewalld = False
+ with pytest.raises(Exception):
+ cd.prepare_dashboard(ctx, 0, 0, lambda _, extra_mounts=None, ___=None : '5', lambda : None)
+
@mock.patch('cephadm.call_throws')
@mock.patch('cephadm.get_parm')
def test_registry_login(self, get_parm, call_throws):
-
# test normal valid login with url, username and password specified
call_throws.return_value = '', '', 0
ctx: cd.CephadmContext = cd.cephadm_init_ctx(
result = cd.dict_get_join({'a': 1}, 'a')
assert result == 1
- def test_last_local_images(self):
- out = '''
-docker.io/ceph/daemon-base@
-docker.io/ceph/ceph:v15.2.5
-docker.io/ceph/daemon-base:octopus
- '''
- image = cd._filter_last_local_ceph_image(out)
- assert image == 'docker.io/ceph/ceph:v15.2.5'
+ @mock.patch('os.listdir', return_value=[])
+ @mock.patch('cephadm.logger')
+ def test_infer_local_ceph_image(self, _logger, _listdir):
+ ctx = cd.CephadmContext()
+ ctx.fsid = '00000000-0000-0000-0000-0000deadbeez'
+ ctx.container_engine = mock_podman()
+
+ # make sure the right image is selected when container is found
+ cinfo = cd.ContainerInfo('935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972',
+ 'registry.hub.docker.com/rkachach/ceph:custom-v0.5',
+ '514e6a882f6e74806a5856468489eeff8d7106095557578da96935e4d0ba4d9d',
+ '2022-04-19 13:45:20.97146228 +0000 UTC',
+ '')
+ out = '''quay.ceph.io/ceph-ci/ceph@sha256:87f200536bb887b36b959e887d5984dd7a3f008a23aa1f283ab55d48b22c6185|dad864ee21e9|master|2022-03-23 16:29:19 +0000 UTC
+ quay.ceph.io/ceph-ci/ceph@sha256:b50b130fcda2a19f8507ddde3435bb4722266956e1858ac395c838bc1dcf1c0e|514e6a882f6e|pacific|2022-03-23 15:58:34 +0000 UTC
+ docker.io/ceph/ceph@sha256:939a46c06b334e094901560c8346de33c00309e3e3968a2db240eb4897c6a508|666bbfa87e8d|v15.2.5|2020-09-16 14:15:15 +0000 UTC'''
+ with mock.patch('cephadm.call_throws', return_value=(out, '', '')):
+ with mock.patch('cephadm.get_container_info', return_value=cinfo):
+ image = cd.infer_local_ceph_image(ctx, ctx.container_engine)
+ assert image == 'quay.ceph.io/ceph-ci/ceph@sha256:b50b130fcda2a19f8507ddde3435bb4722266956e1858ac395c838bc1dcf1c0e'
+
+ # make sure first valid image is used when no container_info is found
+ out = '''quay.ceph.io/ceph-ci/ceph@sha256:87f200536bb887b36b959e887d5984dd7a3f008a23aa1f283ab55d48b22c6185|dad864ee21e9|master|2022-03-23 16:29:19 +0000 UTC
+ quay.ceph.io/ceph-ci/ceph@sha256:b50b130fcda2a19f8507ddde3435bb4722266956e1858ac395c838bc1dcf1c0e|514e6a882f6e|pacific|2022-03-23 15:58:34 +0000 UTC
+ docker.io/ceph/ceph@sha256:939a46c06b334e094901560c8346de33c00309e3e3968a2db240eb4897c6a508|666bbfa87e8d|v15.2.5|2020-09-16 14:15:15 +0000 UTC'''
+ with mock.patch('cephadm.call_throws', return_value=(out, '', '')):
+ with mock.patch('cephadm.get_container_info', return_value=None):
+ image = cd.infer_local_ceph_image(ctx, ctx.container_engine)
+ assert image == 'quay.ceph.io/ceph-ci/ceph@sha256:87f200536bb887b36b959e887d5984dd7a3f008a23aa1f283ab55d48b22c6185'
+
+ # make sure images without digest are discarded (no container_info is found)
+ out = '''quay.ceph.io/ceph-ci/ceph@|||
+ docker.io/ceph/ceph@|||
+ docker.io/ceph/ceph@sha256:939a46c06b334e094901560c8346de33c00309e3e3968a2db240eb4897c6a508|666bbfa87e8d|v15.2.5|2020-09-16 14:15:15 +0000 UTC'''
+ with mock.patch('cephadm.call_throws', return_value=(out, '', '')):
+ with mock.patch('cephadm.get_container_info', return_value=None):
+ image = cd.infer_local_ceph_image(ctx, ctx.container_engine)
+ assert image == 'docker.io/ceph/ceph@sha256:939a46c06b334e094901560c8346de33c00309e3e3968a2db240eb4897c6a508'
+
+
+
+ @pytest.mark.parametrize('daemon_filter, by_name, daemon_list, container_stats, output',
+ [
+ # get container info by type ('mon')
+ (
+ 'mon',
+ False,
+ [
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ {'name': 'mgr.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ ],
+ ("935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972,registry.hub.docker.com/rkachach/ceph:custom-v0.5,666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4,2022-04-19 13:45:20.97146228 +0000 UTC,",
+ "",
+ 0),
+ cd.ContainerInfo('935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972',
+ 'registry.hub.docker.com/rkachach/ceph:custom-v0.5',
+ '666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4',
+ '2022-04-19 13:45:20.97146228 +0000 UTC',
+ '')
+ ),
+ # get container info by name ('mon.ceph-node-0')
+ (
+ 'mon.ceph-node-0',
+ True,
+ [
+ {'name': 'mgr.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ ],
+ ("935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972,registry.hub.docker.com/rkachach/ceph:custom-v0.5,666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4,2022-04-19 13:45:20.97146228 +0000 UTC,",
+ "",
+ 0),
+ cd.ContainerInfo('935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972',
+ 'registry.hub.docker.com/rkachach/ceph:custom-v0.5',
+ '666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4',
+ '2022-04-19 13:45:20.97146228 +0000 UTC',
+ '')
+ ),
+ # get container info by name (same daemon but two different fsids)
+ (
+ 'mon.ceph-node-0',
+ True,
+ [
+ {'name': 'mon.ceph-node-0', 'fsid': '10000000-0000-0000-0000-0000deadbeef'},
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ ],
+ ("935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972,registry.hub.docker.com/rkachach/ceph:custom-v0.5,666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4,2022-04-19 13:45:20.97146228 +0000 UTC,",
+ "",
+ 0),
+ cd.ContainerInfo('935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972',
+ 'registry.hub.docker.com/rkachach/ceph:custom-v0.5',
+ '666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4',
+ '2022-04-19 13:45:20.97146228 +0000 UTC',
+ '')
+ ),
+ # get container info by type (bad container stats: 127 code)
+ (
+ 'mon',
+ False,
+ [
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-FFFF-0000-0000-0000deadbeef'},
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ ],
+ ("",
+ "",
+ 127),
+ None
+ ),
+ # get container info by name (bad container stats: 127 code)
+ (
+ 'mon.ceph-node-0',
+ True,
+ [
+ {'name': 'mgr.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ ],
+ ("",
+ "",
+ 127),
+ None
+ ),
+ # get container info by invalid name (doens't contain '.')
+ (
+ 'mon-ceph-node-0',
+ True,
+ [
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ ],
+ ("935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972,registry.hub.docker.com/rkachach/ceph:custom-v0.5,666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4,2022-04-19 13:45:20.97146228 +0000 UTC,",
+ "",
+ 0),
+ None
+ ),
+ # get container info by invalid name (empty)
+ (
+ '',
+ True,
+ [
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ ],
+ ("935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972,registry.hub.docker.com/rkachach/ceph:custom-v0.5,666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4,2022-04-19 13:45:20.97146228 +0000 UTC,",
+ "",
+ 0),
+ None
+ ),
+ # get container info by invalid type (empty)
+ (
+ '',
+ False,
+ [
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'},
+ ],
+ ("935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972,registry.hub.docker.com/rkachach/ceph:custom-v0.5,666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4,2022-04-19 13:45:20.97146228 +0000 UTC,",
+ "",
+ 0),
+ None
+ ),
+ # get container info by name: no match (invalid fsid)
+ (
+ 'mon',
+ False,
+ [
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-1111-0000-0000-0000deadbeef'},
+ {'name': 'mon.ceph-node-0', 'fsid': '00000000-2222-0000-0000-0000deadbeef'},
+ ],
+ ("935b549714b8f007c6a4e29c758689cf9e8e69f2e0f51180506492974b90a972,registry.hub.docker.com/rkachach/ceph:custom-v0.5,666bbfa87e8df05702d6172cae11dd7bc48efb1d94f1b9e492952f19647199a4,2022-04-19 13:45:20.97146228 +0000 UTC,",
+ "",
+ 0),
+ None
+ ),
+ # get container info by name: no match
+ (
+ 'mon.ceph-node-0',
+ True,
+ [],
+ None,
+ None
+ ),
+ # get container info by type: no match
+ (
+ 'mgr',
+ False,
+ [],
+ None,
+ None
+ ),
+ ])
+ def test_get_container_info(self, daemon_filter, by_name, daemon_list, container_stats, output):
+ cd.logger = mock.Mock()
+ ctx = cd.CephadmContext()
+ ctx.fsid = '00000000-0000-0000-0000-0000deadbeef'
+ ctx.container_engine = mock_podman()
+ with mock.patch('cephadm.list_daemons', return_value=daemon_list):
+ with mock.patch('cephadm.get_container_stats', return_value=container_stats):
+ assert cd.get_container_info(ctx, daemon_filter, by_name) == output
def test_should_log_to_journald(self):
ctx = cd.CephadmContext()
infer_fsid(ctx)
assert ctx.fsid == result
+ @pytest.mark.parametrize('fsid, other_conf_files, config, name, list_daemons, result, ',
+ [
+ # per cluster conf has more precedence than default conf
+ (
+ '00000000-0000-0000-0000-0000deadbeef',
+ [cd.CEPH_DEFAULT_CONF],
+ None,
+ None,
+ [],
+ '/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/config/ceph.conf',
+ ),
+ # mon daemon conf has more precedence than cluster conf and default conf
+ (
+ '00000000-0000-0000-0000-0000deadbeef',
+ ['/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/config/ceph.conf',
+ cd.CEPH_DEFAULT_CONF],
+ None,
+ None,
+ [{'name': 'mon.a', 'fsid': '00000000-0000-0000-0000-0000deadbeef', 'style': 'cephadm:v1'}],
+ '/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/mon.a/config',
+ ),
+ # daemon conf (--name option) has more precedence than cluster, default and mon conf
+ (
+ '00000000-0000-0000-0000-0000deadbeef',
+ ['/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/config/ceph.conf',
+ '/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/mon.a/config',
+ cd.CEPH_DEFAULT_CONF],
+ None,
+ 'osd.0',
+ [{'name': 'mon.a', 'fsid': '00000000-0000-0000-0000-0000deadbeef', 'style': 'cephadm:v1'},
+ {'name': 'osd.0', 'fsid': '00000000-0000-0000-0000-0000deadbeef'}],
+ '/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/osd.0/config',
+ ),
+ # user provided conf ('/foo/ceph.conf') more precedence than any other conf
+ (
+ '00000000-0000-0000-0000-0000deadbeef',
+ ['/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/config/ceph.conf',
+ cd.CEPH_DEFAULT_CONF,
+ '/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/mon.a/config'],
+ '/foo/ceph.conf',
+ None,
+ [{'name': 'mon.a', 'fsid': '00000000-0000-0000-0000-0000deadbeef', 'style': 'cephadm:v1'}],
+ '/foo/ceph.conf',
+ ),
+ ])
+ @mock.patch('cephadm.call')
+ @mock.patch('cephadm.logger')
+ def test_infer_config_precedence(self, logger, _call, other_conf_files, fsid, config, name, list_daemons, result, cephadm_fs):
+ # build the context
+ ctx = cd.CephadmContext()
+ ctx.fsid = fsid
+ ctx.config = config
+ ctx.name = name
+
+ # mock the decorator
+ mock_fn = mock.Mock()
+ mock_fn.return_value = 0
+ infer_config = cd.infer_config(mock_fn)
+
+ # mock the config file
+ cephadm_fs.create_file(result)
+
+ # mock other potential config files
+ for f in other_conf_files:
+ cephadm_fs.create_file(f)
+
+ # test
+ with mock.patch('cephadm.list_daemons', return_value=list_daemons):
+ infer_config(ctx)
+ assert ctx.config == result
+
@pytest.mark.parametrize('fsid, config, name, list_daemons, result, ',
[
(
None,
None,
[],
- cd.SHELL_DEFAULT_CONF,
+ cd.CEPH_DEFAULT_CONF,
+ ),
+ (
+ '00000000-0000-0000-0000-0000deadbeef',
+ None,
+ None,
+ [],
+ '/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/config/ceph.conf',
),
(
'00000000-0000-0000-0000-0000deadbeef',
None,
None,
- [{'name': 'mon.a', 'fsid': '00000000-0000-0000-0000-0000deadbeef'}],
+ [{'name': 'mon.a', 'fsid': '00000000-0000-0000-0000-0000deadbeef', 'style': 'cephadm:v1'}],
'/var/lib/ceph/00000000-0000-0000-0000-0000deadbeef/mon.a/config',
),
(
'00000000-0000-0000-0000-0000deadbeef',
None,
None,
- [{'name': 'mon.a', 'fsid': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'}],
- cd.SHELL_DEFAULT_CONF,
+ [{'name': 'mon.a', 'fsid': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', 'style': 'cephadm:v1'}],
+ cd.CEPH_DEFAULT_CONF,
+ ),
+ (
+ '00000000-0000-0000-0000-0000deadbeef',
+ None,
+ None,
+ [{'name': 'mon.a', 'fsid': '00000000-0000-0000-0000-0000deadbeef', 'style': 'legacy'}],
+ cd.CEPH_DEFAULT_CONF,
),
(
'00000000-0000-0000-0000-0000deadbeef',
None,
None,
[{'name': 'osd.0'}],
- cd.SHELL_DEFAULT_CONF,
+ cd.CEPH_DEFAULT_CONF,
),
(
'00000000-0000-0000-0000-0000deadbeef',
'/foo/bar.conf',
'mon.a',
- [{'name': 'mon.a'}],
+ [{'name': 'mon.a', 'style': 'cephadm:v1'}],
'/foo/bar.conf',
),
(
None,
None,
[],
- cd.SHELL_DEFAULT_CONF,
+ cd.CEPH_DEFAULT_CONF,
),
])
@mock.patch('cephadm.call')
- def test_infer_config(self, _call, fsid, config, name, list_daemons, result, cephadm_fs):
+ @mock.patch('cephadm.logger')
+ def test_infer_config(self, logger, _call, fsid, config, name, list_daemons, result, cephadm_fs):
# build the context
ctx = cd.CephadmContext()
ctx.fsid = fsid
mock_fn.return_value = 0
infer_config = cd.infer_config(mock_fn)
- # mock the shell config
- cephadm_fs.create_file(cd.SHELL_DEFAULT_CONF)
+ # mock the config file
+ cephadm_fs.create_file(result)
# test
with mock.patch('cephadm.list_daemons', return_value=list_daemons):
with pytest.raises(cd.Error, match='OCI'):
cd.extract_uid_gid(ctx)
+ @pytest.mark.parametrize('test_input, expected', [
+ ([cd.make_fsid(), cd.make_fsid(), cd.make_fsid()], 3),
+ ([cd.make_fsid(), 'invalid-fsid', cd.make_fsid(), '0b87e50c-8e77-11ec-b890-'], 2),
+ (['f6860ec2-8e76-11ec-', '0b87e50c-8e77-11ec-b890-', ''], 0),
+ ([], 0),
+ ])
+ def test_get_ceph_cluster_count(self, test_input, expected):
+ ctx = cd.CephadmContext()
+ with mock.patch('os.listdir', return_value=test_input):
+ assert cd.get_ceph_cluster_count(ctx) == expected
+
+ def test_set_image_minimize_config(self):
+ def throw_cmd(cmd):
+ raise cd.Error(' '.join(cmd))
+ ctx = cd.CephadmContext()
+ ctx.image = 'test_image'
+ ctx.no_minimize_config = True
+ fake_cli = lambda cmd, __=None, ___=None: throw_cmd(cmd)
+ with pytest.raises(cd.Error, match='config set global container_image test_image'):
+ cd.finish_bootstrap_config(
+ ctx=ctx,
+ fsid=cd.make_fsid(),
+ config='',
+ mon_id='a', mon_dir='mon_dir',
+ mon_network=None, ipv6=False,
+ cli=fake_cli,
+ cluster_network=None,
+ ipv6_cluster_network=False
+ )
+
class TestCustomContainer(unittest.TestCase):
cc: cd.CustomContainer
@mock.patch('cephadm.call')
@mock.patch('cephadm.systemd_target_state')
def test_enter_failure_2(self, _target_state, _call, _listdir):
- _call.side_effect = [('', '', 0), ('', '', 999)]
+ _call.side_effect = [('', '', 0), ('', '', 999), ('', '', 0), ('', '', 999)]
_target_state.return_value = True
ctx: cd.CephadmContext = cd.cephadm_init_ctx(
['host-maintenance', 'enter', '--fsid', TestMaintenance.fsid])
@mock.patch('cephadm.systemd_target_state')
@mock.patch('cephadm.target_exists')
def test_exit_failure_2(self, _target_exists, _target_state, _call, _listdir):
- _call.side_effect = [('', '', 0), ('', '', 999)]
+ _call.side_effect = [('', '', 0), ('', '', 999), ('', '', 0), ('', '', 999)]
_target_state.return_value = False
_target_exists.return_value = True
ctx: cd.CephadmContext = cd.cephadm_init_ctx(
version = cd.Monitoring.get_version(ctx, 'container_id', daemon_type)
assert version == '0.16.1'
+ def test_prometheus_external_url(self):
+ ctx = cd.CephadmContext()
+ daemon_type = 'prometheus'
+ daemon_id = 'home'
+ fsid = 'aaf5a720-13fe-4a3b-82b9-2d99b7fd9704'
+ args = cd.get_daemon_args(ctx, fsid, daemon_type, daemon_id)
+ assert any([x.startswith('--web.external-url=http://') for x in args])
+
@mock.patch('cephadm.call')
def test_get_version_node_exporter(self, _call):
ctx = cd.CephadmContext()
with open(file) as f:
assert f.read() == content
+ # assert uid/gid after redeploy
+ new_uid = uid+1
+ new_gid = gid+1
+ cd.create_daemon_dirs(ctx,
+ fsid,
+ daemon_type,
+ daemon_id,
+ new_uid,
+ new_gid,
+ config=None,
+ keyring=None)
+ for file,content in expected.items():
+ file = os.path.join(prefix, file)
+ assert os.stat(file).st_uid == new_uid
+ assert os.stat(file).st_gid == new_gid
+
class TestBootstrap(object):
assert retval == 0
assert ctx.config == None
- cephadm_fs.create_file(cd.SHELL_DEFAULT_CONF)
+ cephadm_fs.create_file(cd.CEPH_DEFAULT_CONF)
with with_cephadm_ctx(cmd) as ctx:
retval = cd.command_shell(ctx)
assert retval == 0
- assert ctx.config == cd.SHELL_DEFAULT_CONF
+ assert ctx.config == cd.CEPH_DEFAULT_CONF
cmd = ['shell', '--config', 'foo']
with with_cephadm_ctx(cmd) as ctx:
assert retval == 0
assert ctx.keyring == None
- cephadm_fs.create_file(cd.SHELL_DEFAULT_KEYRING)
+ cephadm_fs.create_file(cd.CEPH_DEFAULT_KEYRING)
with with_cephadm_ctx(cmd) as ctx:
retval = cd.command_shell(ctx)
assert retval == 0
- assert ctx.keyring == cd.SHELL_DEFAULT_KEYRING
+ assert ctx.keyring == cd.CEPH_DEFAULT_KEYRING
cmd = ['shell', '--keyring', 'foo']
with with_cephadm_ctx(cmd) as ctx:
cd.command_pull(ctx)
assert err in str(e.value)
+ @mock.patch('cephadm.logger')
+ @mock.patch('cephadm.get_image_info_from_inspect', return_value={})
+ @mock.patch('cephadm.infer_local_ceph_image', return_value='last_local_ceph_image')
+ def test_image(self, infer_local_ceph_image, get_image_info_from_inspect, logger):
+ cmd = ['pull']
+ with with_cephadm_ctx(cmd) as ctx:
+ retval = cd.command_pull(ctx)
+ assert retval == 0
+ assert ctx.image == cd.DEFAULT_IMAGE
+
+ with mock.patch.dict(os.environ, {"CEPHADM_IMAGE": 'cephadm_image_environ'}):
+ cmd = ['pull']
+ with with_cephadm_ctx(cmd) as ctx:
+ retval = cd.command_pull(ctx)
+ assert retval == 0
+ assert ctx.image == 'cephadm_image_environ'
+
+ cmd = ['--image', 'cephadm_image_param', 'pull']
+ with with_cephadm_ctx(cmd) as ctx:
+ retval = cd.command_pull(ctx)
+ assert retval == 0
+ assert ctx.image == 'cephadm_image_param'
+
class TestApplySpec:
def test_parse_yaml(self, cephadm_fs):
- yaml = '''service_type: host
+ yaml = '''---
+service_type: host
hostname: vm-00
addr: 192.168.122.44
labels:
addr: 192.168.122.247
labels:
- grafana
----
+---
service_type: host
hostname: vm-02
-addr: 192.168.122.165'''
+addr: 192.168.122.165
+---
+---
+service_type: rgw
+service_id: myrgw
+spec:
+ rgw_frontend_ssl_certificate: |
+ -----BEGIN PRIVATE KEY-----
+ V2VyIGRhcyBsaWVzdCBpc3QgZG9vZi4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
+ ZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15
+ IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
+ YSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3Mg
+ ZXQgYWNjdXNhbSBldCBqdXN0byBkdW8=
+ -----END PRIVATE KEY-----
+ -----BEGIN CERTIFICATE-----
+ V2VyIGRhcyBsaWVzdCBpc3QgZG9vZi4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
+ ZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15
+ IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
+ YSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3Mg
+ ZXQgYWNjdXNhbSBldCBqdXN0byBkdW8=
+ -----END CERTIFICATE-----
+ ssl: true
+---
+'''
cephadm_fs.create_file('spec.yml', contents=yaml)
-
retdic = [{'service_type': 'host', 'hostname': 'vm-00', 'addr': '192.168.122.44', 'labels': '- example1- example2'},
{'service_type': 'host', 'hostname': 'vm-01', 'addr': '192.168.122.247', 'labels': '- grafana'},
- {'service_type': 'host', 'hostname': 'vm-02', 'addr': '192.168.122.165'}]
+ {'service_type': 'host', 'hostname': 'vm-02', 'addr': '192.168.122.165'},
+ {'service_id': 'myrgw',
+ 'service_type': 'rgw',
+ 'spec':
+ 'rgw_frontend_ssl_certificate: |-----BEGIN PRIVATE '
+ 'KEY-----V2VyIGRhcyBsaWVzdCBpc3QgZG9vZi4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldCBqdXN0byBkdW8=-----END '
+ 'PRIVATE KEY----------BEGIN '
+ 'CERTIFICATE-----V2VyIGRhcyBsaWVzdCBpc3QgZG9vZi4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldCBqdXN0byBkdW8=-----END '
+ 'CERTIFICATE-----ssl: true'}]
with open('spec.yml') as f:
dic = cd.parse_yaml_objs(f)
with pytest.raises(Exception) as e:
c = cd.get_container(ctx, fsid, 'snmp-gateway', 'daemon_id')
assert str(e.value) == 'not a valid snmp version: V1'
+
+class TestNetworkValidation:
+
+ def test_ipv4_subnet(self):
+ rc, v, msg = cd.check_subnet('192.168.1.0/24')
+ assert rc == 0 and v[0] == 4
+
+ def test_ipv4_subnet_list(self):
+ rc, v, msg = cd.check_subnet('192.168.1.0/24,10.90.90.0/24')
+ assert rc == 0 and not msg
+
+ def test_ipv4_subnet_list_with_spaces(self):
+ rc, v, msg = cd.check_subnet('192.168.1.0/24, 10.90.90.0/24 ')
+ assert rc == 0 and not msg
+
+ def test_ipv4_subnet_badlist(self):
+ rc, v, msg = cd.check_subnet('192.168.1.0/24,192.168.1.1')
+ assert rc == 1 and msg
+
+ def test_ipv4_subnet_mixed(self):
+ rc, v, msg = cd.check_subnet('192.168.100.0/24,fe80::/64')
+ assert rc == 0 and v == [4,6]
+
+ def test_ipv6_subnet(self):
+ rc, v, msg = cd.check_subnet('fe80::/64')
+ assert rc == 0 and v[0] == 6
+
+ def test_subnet_mask_missing(self):
+ rc, v, msg = cd.check_subnet('192.168.1.58')
+ assert rc == 1 and msg
+
+ def test_subnet_mask_junk(self):
+ rc, v, msg = cd.check_subnet('wah')
+ assert rc == 1 and msg
+
+ def test_ip_in_subnet(self):
+ # valid ip and only one valid subnet
+ rc = cd.ip_in_subnets('192.168.100.1', '192.168.100.0/24')
+ assert rc is True
+
+ # valid ip and valid subnets list without spaces
+ rc = cd.ip_in_subnets('192.168.100.1', '192.168.100.0/24,10.90.90.0/24')
+ assert rc is True
+
+ # valid ip and valid subnets list with spaces
+ rc = cd.ip_in_subnets('10.90.90.2', '192.168.1.0/24, 192.168.100.0/24, 10.90.90.0/24')
+ assert rc is True
+
+ # valid ip that doesn't belong to any subnet
+ rc = cd.ip_in_subnets('192.168.100.2', '192.168.50.0/24, 10.90.90.0/24')
+ assert rc is False
+
+ # valid ip that doesn't belong to the subnet (only 14 hosts)
+ rc = cd.ip_in_subnets('192.168.100.20', '192.168.100.0/28')
+ assert rc is False
+
+ # valid ip and valid IPV6 network
+ rc = cd.ip_in_subnets('fe80::5054:ff:fef4:873a', 'fe80::/64')
+ assert rc is True
+
+ # valid wrapped ip and valid IPV6 network
+ rc = cd.ip_in_subnets('[fe80::5054:ff:fef4:873a]', 'fe80::/64')
+ assert rc is True
+
+ # valid ip and that doesn't belong to IPV6 network
+ rc = cd.ip_in_subnets('fe80::5054:ff:fef4:873a', '2001:db8:85a3::/64')
+ assert rc is False
+
+ # invalid IPv4 and valid subnets list
+ with pytest.raises(Exception):
+ rc = cd.ip_in_sublets('10.90.200.', '192.168.1.0/24, 192.168.100.0/24, 10.90.90.0/24')
+
+ # invalid IPv6 and valid subnets list
+ with pytest.raises(Exception):
+ rc = cd.ip_in_sublets('fe80:2030:31:24', 'fe80::/64')
\ No newline at end of file
139.1.0.0/16 via 10.4.0.1 dev tun0 proto static metric 50
140.1.0.0/17 via 10.4.0.1 dev tun0 proto static metric 50
141.1.0.0/16 via 10.4.0.1 dev tun0 proto static metric 50
+ 172.16.100.34 via 172.16.100.34 dev eth1 proto kernel scope link src 172.16.100.34
+ 192.168.122.1 dev ens3 proto dhcp scope link src 192.168.122.236 metric 100
169.254.0.0/16 dev docker0 scope link metric 1000
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.39.0/24 dev virbr1 proto kernel scope link src 192.168.39.1 linkdown
195.135.221.12 via 192.168.178.1 dev enxd89ef3f34260 proto static metric 100
"""),
{
- '10.4.0.1': {'tun0': {'10.4.0.2'}},
+ '172.16.100.34/32': {'eth1': {'172.16.100.34'}},
+ '192.168.122.1/32': {'ens3': {'192.168.122.236'}},
+ '10.4.0.1/32': {'tun0': {'10.4.0.2'}},
'172.17.0.0/16': {'docker0': {'172.17.0.1'}},
'192.168.39.0/24': {'virbr1': {'192.168.39.1'}},
'192.168.122.0/24': {'virbr0': {'192.168.122.1'}},
{
'10.3.64.0/24': {'eno1': {'10.3.64.23', '10.3.64.27'}},
'10.88.0.0/16': {'cni-podman0': {'10.88.0.1'}},
- '172.21.3.1': {'tun0': {'172.21.3.2'}},
+ '172.21.3.1/32': {'tun0': {'172.21.3.2'}},
'192.168.122.0/24': {'virbr0': {'192.168.122.1'}}
}
),
valid_lft forever preferred_lft forever
"""),
{
- '2001:1458:301:eb::/64': {
+ '2001:1458:301:eb::100:1a/128': {
'ens20f0': {
'2001:1458:301:eb::100:1a'
},
},
+ '2001:1458:301:eb::/64': {
+ 'ens20f0': set(),
+ },
'fe80::/64': {
'ens20f0': {'fe80::2e60:cff:fef8:da41'},
},
with with_cephadm_ctx([]) as ctx:
cd.command_list_networks(ctx)
assert json.loads(capsys.readouterr().out) == {
- '10.4.0.1': {'tun0': ['10.4.0.2']}
+ '10.4.0.1/32': {'tun0': ['10.4.0.2']}
}
\ No newline at end of file
flake8-quotes
commands =
flake8 --config=tox.ini {posargs:cephadm}
- bash -c "test $(grep 'docker.io' cephadm | wc -l) == 11"
+ bash -c "test $(grep 'docker.io' cephadm | wc -l) == 13"
+# Downstream distributions may choose to alter this "docker.io" number,
+# to make sure no new references to docker.io are creeping in unnoticed.
fuse_default_permissions = cct->_conf.get_val<bool>(
"fuse_default_permissions");
+ _collect_and_send_global_metrics = cct->_conf.get_val<bool>(
+ "client_collect_and_send_global_metrics");
+
if (cct->_conf->client_acl_type == "posix_acl")
acl_type = POSIX_ACL;
objecter_finisher.start();
filer.reset(new Filer(objecter, &objecter_finisher));
- objecter->enable_blocklist_events();
objectcacher->start();
}
break;
}
session->mds_features = std::move(m->supported_features);
+ session->mds_metric_flags = std::move(m->metric_spec.metric_flags);
renew_caps(session.get());
session->state = MetaSession::STATE_OPEN;
MetaRequest *request = mds_requests[tid];
ceph_assert(request);
+ /*
+ * The type of 'num_fwd' in ceph 'MClientRequestForward'
+ * is 'int32_t', while in 'ceph_mds_request_head' the
+ * type is '__u8'. So in case the request bounces between
+ * MDSes exceeding 256 times, the client will get stuck.
+ *
+ * In this case it's ususally a bug in MDS and continue
+ * bouncing the request makes no sense.
+ *
+ * In future this could be fixed in ceph code, so avoid
+ * using the hardcode here.
+ */
+ int max_fwd = sizeof(((struct ceph_mds_request_head*)0)->num_fwd);
+ max_fwd = 1 << (max_fwd * CHAR_BIT) - 1;
+ auto num_fwd = fwd->get_num_fwd();
+ if (num_fwd <= request->num_fwd || num_fwd >= max_fwd) {
+ if (request->num_fwd >= max_fwd || num_fwd >= max_fwd) {
+ request->abort(-EMULTIHOP);
+ request->caller_cond->notify_all();
+ ldout(cct, 1) << __func__ << " tid " << tid << " seq overflow"
+ << ", abort it" << dendl;
+ } else {
+ ldout(cct, 10) << __func__ << " tid " << tid
+ << " old fwd seq " << fwd->get_num_fwd()
+ << " <= req fwd " << request->num_fwd
+ << ", ignore it" << dendl;
+ }
+ return;
+ }
+
// reset retry counter
request->retry_attempt = 0;
request->mds = -1;
request->item.remove_myself();
- request->num_fwd = fwd->get_num_fwd();
+ request->num_fwd = num_fwd;
request->resend_mds = fwd->get_dest_mds();
request->caller_cond->notify_all();
}
void Client::handle_osd_map(const MConstRef<MOSDMap>& m)
{
- std::set<entity_addr_t> new_blocklists;
-
std::scoped_lock cl(client_lock);
- objecter->consume_blocklist_events(&new_blocklists);
const auto myaddrs = messenger->get_myaddrs();
- bool new_blocklist = false;
- bool prenautilus = objecter->with_osdmap(
+ bool new_blocklist = objecter->with_osdmap(
[&](const OSDMap& o) {
- return o.require_osd_release < ceph_release_t::nautilus;
+ return o.is_blocklisted(myaddrs);
});
- if (!blocklisted) {
- for (auto a : myaddrs.v) {
- // blocklist entries are always TYPE_ANY for nautilus+
- a.set_type(entity_addr_t::TYPE_ANY);
- if (new_blocklists.count(a)) {
- new_blocklist = true;
- break;
- }
- if (prenautilus) {
- // ...except pre-nautilus, they were TYPE_LEGACY
- a.set_type(entity_addr_t::TYPE_LEGACY);
- if (new_blocklists.count(a)) {
- new_blocklist = true;
- break;
- }
- }
- }
- }
- if (new_blocklist) {
+
+ if (new_blocklist && !blocklisted) {
auto epoch = objecter->with_osdmap([](const OSDMap &o){
return o.get_epoch();
});
std::vector<ClientMetricMessage> message;
// read latency
- metric = ClientMetricMessage(ReadLatencyPayload(logger->tget(l_c_read)));
- message.push_back(metric);
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_READ_LATENCY)) {
+ metric = ClientMetricMessage(ReadLatencyPayload(logger->tget(l_c_read)));
+ message.push_back(metric);
+ }
// write latency
- metric = ClientMetricMessage(WriteLatencyPayload(logger->tget(l_c_wrlat)));
- message.push_back(metric);
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_WRITE_LATENCY)) {
+ metric = ClientMetricMessage(WriteLatencyPayload(logger->tget(l_c_wrlat)));
+ message.push_back(metric);
+ }
// metadata latency
- metric = ClientMetricMessage(MetadataLatencyPayload(logger->tget(l_c_lat)));
- message.push_back(metric);
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_METADATA_LATENCY)) {
+ metric = ClientMetricMessage(MetadataLatencyPayload(logger->tget(l_c_lat)));
+ message.push_back(metric);
+ }
// cap hit ratio -- nr_caps is unused right now
- auto [cap_hits, cap_misses] = get_cap_hit_rates();
- metric = ClientMetricMessage(CapInfoPayload(cap_hits, cap_misses, 0));
- message.push_back(metric);
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_CAP_INFO)) {
+ auto [cap_hits, cap_misses] = get_cap_hit_rates();
+ metric = ClientMetricMessage(CapInfoPayload(cap_hits, cap_misses, 0));
+ message.push_back(metric);
+ }
// dentry lease hit ratio
- auto [dlease_hits, dlease_misses, nr] = get_dlease_hit_rates();
- metric = ClientMetricMessage(DentryLeasePayload(dlease_hits, dlease_misses, nr));
- message.push_back(metric);
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_DENTRY_LEASE)) {
+ auto [dlease_hits, dlease_misses, nr] = get_dlease_hit_rates();
+ metric = ClientMetricMessage(DentryLeasePayload(dlease_hits, dlease_misses, nr));
+ message.push_back(metric);
+ }
// opened files
- {
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_OPENED_FILES)) {
auto [opened_files, total_inodes] = get_opened_files_rates();
metric = ClientMetricMessage(OpenedFilesPayload(opened_files, total_inodes));
+ message.push_back(metric);
}
- message.push_back(metric);
// pinned i_caps
- {
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_PINNED_ICAPS)) {
auto [pinned_icaps, total_inodes] = get_pinned_icaps_rates();
metric = ClientMetricMessage(PinnedIcapsPayload(pinned_icaps, total_inodes));
+ message.push_back(metric);
}
- message.push_back(metric);
// opened inodes
- {
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_OPENED_INODES)) {
auto [opened_inodes, total_inodes] = get_opened_inodes_rates();
metric = ClientMetricMessage(OpenedInodesPayload(opened_inodes, total_inodes));
+ message.push_back(metric);
}
- message.push_back(metric);
// read io sizes
- metric = ClientMetricMessage(ReadIoSizesPayload(total_read_ops,
- total_read_size));
- message.push_back(metric);
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_READ_IO_SIZES)) {
+ metric = ClientMetricMessage(ReadIoSizesPayload(total_read_ops,
+ total_read_size));
+ message.push_back(metric);
+ }
// write io sizes
- metric = ClientMetricMessage(WriteIoSizesPayload(total_write_ops,
- total_write_size));
- message.push_back(metric);
+ if (_collect_and_send_global_metrics ||
+ session->mds_metric_flags.test(CLIENT_METRIC_TYPE_WRITE_IO_SIZES)) {
+ metric = ClientMetricMessage(WriteIoSizesPayload(total_write_ops,
+ total_write_size));
+ message.push_back(metric);
+ }
session->con->send_message2(make_message<MClientMetrics>(std::move(message)));
}
if (changed.count("client_oc_max_dirty_age")) {
objectcacher->set_max_dirty_age(cct->_conf->client_oc_max_dirty_age);
}
+ if (changed.count("client_collect_and_send_global_metrics")) {
+ _collect_and_send_global_metrics = cct->_conf.get_val<bool>(
+ "client_collect_and_send_global_metrics");
+ }
}
void intrusive_ptr_add_ref(Inode *in)
std::unique_ptr<MDSMap> mdsmap;
bool fuse_default_permissions;
+ bool _collect_and_send_global_metrics;
protected:
/* Flags for check_caps() */
uint64_t cap_renew_seq = 0;
entity_addrvec_t addrs;
feature_bitset_t mds_features;
+ feature_bitset_t mds_metric_flags;
enum {
STATE_NEW, // Unused
#include <fcntl.h>
#include <unistd.h>
+#if defined(__linux__)
+#include <libgen.h>
+#include <sys/vfs.h>
+#include <sys/xattr.h>
+#include <linux/magic.h>
+#endif
+
// ceph
#include "common/errno.h"
#include "common/safe_io.h"
#define MINOR(dev) ((unsigned int) ((dev) & MINORMASK))
#define MKDEV(ma,mi) (((ma) << MINORBITS) | (mi))
+#if defined(__linux__)
+#ifndef FUSE_SUPER_MAGIC
+#define FUSE_SUPER_MAGIC 0x65735546
+#endif
+
+#define _CEPH_CLIENT_ID "ceph.client_id"
+#endif
+
using namespace std;
static const ceph::unordered_map<int,int> cephfs_errno_to_system_errno = {
struct fuse_args args;
};
+#if defined(__linux__)
+static int already_fuse_mounted(const char *path, bool &already_mounted)
+{
+ struct statx path_statx;
+ struct statx parent_statx;
+ char path_copy[PATH_MAX] = {0};
+ char *parent_path = NULL;
+ int err = 0;
+
+ already_mounted = false;
+
+ strncpy(path_copy, path, sizeof(path_copy)-1);
+ parent_path = dirname(path_copy);
+
+ // get stat information for original path
+ if (-1 == statx(AT_FDCWD, path, AT_STATX_DONT_SYNC, STATX_INO, &path_statx)) {
+ err = errno;
+ derr << "fuse_ll: already_fuse_mounted: statx(" << path << ") failed with error "
+ << cpp_strerror(err) << dendl;
+ return err;
+ }
+
+ // if path isn't directory, then it can't be a mountpoint.
+ if (!(path_statx.stx_mode & S_IFDIR)) {
+ err = EINVAL;
+ derr << "fuse_ll: already_fuse_mounted: "
+ << path << " is not a directory" << dendl;
+ return err;
+ }
+
+ // get stat information for parent path
+ if (-1 == statx(AT_FDCWD, parent_path, AT_STATX_DONT_SYNC, STATX_INO, &parent_statx)) {
+ err = errno;
+ derr << "fuse_ll: already_fuse_mounted: statx(" << parent_path << ") failed with error "
+ << cpp_strerror(err) << dendl;
+ return err;
+ }
+
+ // if original path and parent have different device ids,
+ // then the path is a mount point
+ // or, if they refer to the same path, then it's probably
+ // the root directory '/' and therefore path is a mountpoint
+ if( path_statx.stx_dev_major != parent_statx.stx_dev_major ||
+ path_statx.stx_dev_minor != parent_statx.stx_dev_minor ||
+ ( path_statx.stx_dev_major == parent_statx.stx_dev_major &&
+ path_statx.stx_dev_minor == parent_statx.stx_dev_minor &&
+ path_statx.stx_ino == parent_statx.stx_ino
+ )
+ ) {
+ struct statfs path_statfs;
+ if (-1 == statfs(path, &path_statfs)) {
+ err = errno;
+ derr << "fuse_ll: already_fuse_mounted: statfs(" << path << ") failed with error "
+ << cpp_strerror(err) << dendl;
+ return err;
+ }
+
+ if(FUSE_SUPER_MAGIC == path_statfs.f_type) {
+ // if getxattr returns positive length means value exist for ceph.client_id
+ // then ceph fuse is already mounted on path
+ char client_id[128] = {0};
+ if (getxattr(path, _CEPH_CLIENT_ID, &client_id, sizeof(client_id)) > 0) {
+ already_mounted = true;
+ derr << path << " already mounted by " << client_id << dendl;
+ }
+ }
+ }
+
+ return err;
+}
+#else // non-linux platforms
+static int already_fuse_mounted(const char *path, bool &already_mounted)
+{
+ already_mounted = false;
+ return 0;
+}
+#endif
+
static int getgroups(fuse_req_t req, gid_t **sgids)
{
#if FUSE_VERSION >= FUSE_MAKE_VERSION(2, 8)
int CephFuse::Handle::start()
{
+ bool is_mounted = false;
+#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
+ int err = already_fuse_mounted(opts.mountpoint, is_mounted);
+#else
+ int err = already_fuse_mounted(mountpoint, is_mounted);
+#endif
+ if (err) {
+ return err;
+ }
+
+ if (is_mounted) {
+ return EBUSY;
+ }
+
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
se = fuse_session_new(&args, &fuse_ll_oper, sizeof(fuse_ll_oper), this);
if (!se) {
return -EINVAL;
}
+ // remove any pending entries whose tag timeout has expired. until expiry,
+ // these pending entries will prevent us from applying suggested changes
real_time cur_time = real_clock::now();
auto iter = cur_disk.pending_map.begin();
while(iter != cur_disk.pending_map.end()) {
}
}
- CLS_LOG(20, "cur_disk.pending_map.empty()=%d op=%d cur_disk.exists=%d cur_change.pending_map.size()=%d cur_change.exists=%d",
+ CLS_LOG(20, "cur_disk.pending_map.empty()=%d op=%d cur_disk.exists=%d "
+ "cur_disk.index_ver=%d cur_change.exists=%d cur_change.index_ver=%d",
cur_disk.pending_map.empty(), (int)op, cur_disk.exists,
- (int)cur_change.pending_map.size(), cur_change.exists);
+ (int)cur_disk.index_ver, cur_change.exists,
+ (int)cur_change.index_ver);
+
+ if (cur_change.index_ver < cur_disk.index_ver) {
+ // a pending on-disk entry was completed since this suggestion was made,
+ // don't apply it yet. if the index really is inconsistent, the next
+ // listing will get the latest version and resend the suggestion
+ continue;
+ }
if (cur_disk.pending_map.empty()) {
if (cur_disk.exists) {
flags:
- runtime
with_legacy: true
+- name: bluestore_zero_block_detection
+ type: bool
+ level: dev
+ desc: punch holes instead of writing zeros
+ long_desc: Intended for large-scale synthetic testing. Currently this is implemented
+ with punch hole semantics, affecting the logical extent map of the object. This does
+ not interact well with some RBD and CephFS features.
+ default: false
+ flags:
+ - runtime
+ with_legacy: true
- name: kstore_max_ops
type: uint
level: advanced
min: 0
flags:
- runtime
+- name: client_collect_and_send_global_metrics
+ type: bool
+ level: advanced
+ desc: to enable and force collecting and sending the global metrics to MDS
+ long_desc: To be careful for this, when connecting to some old ceph clusters
+ it may crash the MDS daemons while upgrading.
+ default: false
+ tags:
+ - client
+ services:
+ - mds_client
+ flags:
+ - runtime
services:
- mds
with_legacy: true
+- name: mds_heartbeat_reset_grace
+ type: uint
+ level: advanced
+ desc: the basic unit of tolerance in how many circles in a loop, which will
+ keep running by holding the mds_lock, it must trigger to reset heartbeat
+ default: 1000
+ services:
+ - mds
- name: mds_heartbeat_grace
type: float
level: advanced
default: 1
flags:
- runtime
+- name: osd_rocksdb_iterator_bounds_enabled
+ desc: Whether omap iterator bounds are applied to rocksdb iterator ReadOptions
+ type: bool
+ level: dev
+ default: true
+ with_legacy: true
- disabled
- rwl
- ssd
-- name: rbd_persistent_cache_log_periodic_stats
- type: bool
- level: advanced
- desc: emit periodic perf stats to debug log
- default: false
- services:
- - rbd
- name: rbd_persistent_cache_size
type: uint
level: advanced
- rgw
min: 0.01
max: 100000
-- name: rgw_rados_pool_pg_num_min
- type: uint
- level: advanced
- desc: pg_num_min value for RGW metadata (omap-heavy) pools
- default: 8
- services:
- - rgw
- min: 1
- max: 1_K
- name: rgw_rados_pool_recovery_priority
type: uint
level: advanced
DEFINE_CEPH_FEATURE_RETIRED(33, 1, MON_SCRUB, JEWEL, LUMINOUS)
DEFINE_CEPH_FEATURE(33, 3, SERVER_QUINCY)
DEFINE_CEPH_FEATURE_RETIRED(34, 1, OSD_PACKED_RECOVERY, JEWEL, LUMINOUS)
-// available
+DEFINE_CEPH_FEATURE(34, 3, RANGE_BLOCKLIST)
DEFINE_CEPH_FEATURE(35, 1, OSD_CACHEPOOL) // 3.14
DEFINE_CEPH_FEATURE(36, 1, CRUSH_V2) // 3.14
DEFINE_CEPH_FEATURE(37, 1, EXPORT_PEER) // 3.14
CEPH_FEATUREMASK_SERVER_PACIFIC | \
CEPH_FEATURE_OSD_FIXED_COLLECTION_LIST | \
CEPH_FEATUREMASK_SERVER_QUINCY | \
+ CEPH_FEATURE_RANGE_BLOCKLIST | \
0ULL)
#define CEPH_FEATURES_SUPPORTED_DEFAULT CEPH_FEATURES_ALL
#include <ostream>
#include <set>
#include <map>
+#include <optional>
#include <string>
#include <boost/scoped_ptr.hpp>
#include "include/encoding.h"
public:
typedef uint32_t IteratorOpts;
static const uint32_t ITERATOR_NOCACHE = 1;
+
+ struct IteratorBounds {
+ std::optional<std::string> lower_bound;
+ std::optional<std::string> upper_bound;
+ };
+
virtual WholeSpaceIterator get_wholespace_iterator(IteratorOpts opts = 0) = 0;
- virtual Iterator get_iterator(const std::string &prefix, IteratorOpts opts = 0) {
+ virtual Iterator get_iterator(const std::string &prefix, IteratorOpts opts = 0, IteratorBounds bounds = IteratorBounds()) {
return std::make_shared<PrefixIteratorImpl>(
prefix,
get_wholespace_iterator(opts));
return cf_handles.count(prefix);
}
+std::string_view RocksDBStore::get_key_hash_view(const prefix_shards& shards, const char* key, const size_t keylen) {
+ uint32_t hash_l = std::min<uint32_t>(shards.hash_l, keylen);
+ uint32_t hash_h = std::min<uint32_t>(shards.hash_h, keylen);
+ return { key + hash_l, hash_h - hash_l };
+}
+
+rocksdb::ColumnFamilyHandle *RocksDBStore::get_key_cf(const prefix_shards& shards, const char* key, const size_t keylen) {
+ auto sv = get_key_hash_view(shards, key, keylen);
+ uint32_t hash = ceph_str_hash_rjenkins(sv.data(), sv.size());
+ return shards.handles[hash % shards.handles.size()];
+}
+
rocksdb::ColumnFamilyHandle *RocksDBStore::get_cf_handle(const std::string& prefix, const std::string& key) {
auto iter = cf_handles.find(prefix);
if (iter == cf_handles.end()) {
if (iter->second.handles.size() == 1) {
return iter->second.handles[0];
} else {
- uint32_t hash_l = std::min<uint32_t>(iter->second.hash_l, key.size());
- uint32_t hash_h = std::min<uint32_t>(iter->second.hash_h, key.size());
- uint32_t hash = ceph_str_hash_rjenkins(&key[hash_l], hash_h - hash_l);
- return iter->second.handles[hash % iter->second.handles.size()];
+ return get_key_cf(iter->second, key.data(), key.size());
}
}
}
if (iter->second.handles.size() == 1) {
return iter->second.handles[0];
} else {
- uint32_t hash_l = std::min<uint32_t>(iter->second.hash_l, keylen);
- uint32_t hash_h = std::min<uint32_t>(iter->second.hash_h, keylen);
- uint32_t hash = ceph_str_hash_rjenkins(&key[hash_l], hash_h - hash_l);
- return iter->second.handles[hash % iter->second.handles.size()];
+ return get_key_cf(iter->second, key, keylen);
}
}
}
+/**
+ * If the specified IteratorBounds arg has both an upper and a lower bound defined, and they have equal placement hash
+ * strings, we can be sure that the entire iteration range exists in a single CF. In that case, we return the relevant
+ * CF handle. In all other cases, we return a nullptr to indicate that the specified bounds cannot necessarily be mapped
+ * to a single CF.
+ */
+rocksdb::ColumnFamilyHandle *RocksDBStore::get_cf_handle(const std::string& prefix, const IteratorBounds& bounds) {
+ if (!bounds.lower_bound || !bounds.upper_bound) {
+ return nullptr;
+ }
+ auto iter = cf_handles.find(prefix);
+ ceph_assert(iter != cf_handles.end());
+ ceph_assert(iter->second.handles.size() != 1);
+ if (iter->second.hash_l != 0) {
+ return nullptr;
+ }
+ auto lower_bound_hash_str = get_key_hash_view(iter->second, bounds.lower_bound->data(), bounds.lower_bound->size());
+ auto upper_bound_hash_str = get_key_hash_view(iter->second, bounds.upper_bound->data(), bounds.upper_bound->size());
+ if (lower_bound_hash_str == upper_bound_hash_str) {
+ auto key = *bounds.lower_bound;
+ return get_key_cf(iter->second, key.data(), key.size());
+ } else {
+ return nullptr;
+ }
+}
+
/**
* Definition of sharding:
* space-separated list of: column_def [ '=' options ]
const string& key_prefix)
{
uint64_t size = 0;
- uint8_t flags =
- //rocksdb::DB::INCLUDE_MEMTABLES | // do not include memtables...
- rocksdb::DB::INCLUDE_FILES;
auto p_iter = cf_handles.find(prefix);
if (p_iter != cf_handles.end()) {
for (auto cf : p_iter->second.handles) {
string start = key_prefix + string(1, '\x00');
string limit = key_prefix + string("\xff\xff\xff\xff");
rocksdb::Range r(start, limit);
- db->GetApproximateSizes(cf, &r, 1, &s, flags);
+ db->GetApproximateSizes(cf, &r, 1, &s);
size += s;
}
} else {
string start = combine_strings(prefix , key_prefix);
string limit = combine_strings(prefix , key_prefix + "\xff\xff\xff\xff");
rocksdb::Range r(start, limit);
- db->GetApproximateSizes(default_cf, &r, 1, &size, flags);
+ db->GetApproximateSizes(default_cf, &r, 1, &size);
}
return size;
}
protected:
string prefix;
rocksdb::Iterator *dbiter;
+ const KeyValueDB::IteratorBounds bounds;
+ const rocksdb::Slice iterate_lower_bound;
+ const rocksdb::Slice iterate_upper_bound;
public:
- explicit CFIteratorImpl(const std::string& p,
- rocksdb::Iterator *iter)
- : prefix(p), dbiter(iter) { }
+ explicit CFIteratorImpl(const RocksDBStore* db,
+ const std::string& p,
+ rocksdb::ColumnFamilyHandle* cf,
+ KeyValueDB::IteratorBounds bounds_)
+ : prefix(p), bounds(std::move(bounds_)),
+ iterate_lower_bound(make_slice(bounds.lower_bound)),
+ iterate_upper_bound(make_slice(bounds.upper_bound))
+ {
+ auto options = rocksdb::ReadOptions();
+ if (db->cct->_conf->osd_rocksdb_iterator_bounds_enabled) {
+ if (bounds.lower_bound) {
+ options.iterate_lower_bound = &iterate_lower_bound;
+ }
+ if (bounds.upper_bound) {
+ options.iterate_upper_bound = &iterate_upper_bound;
+ }
+ }
+ dbiter = db->db->NewIterator(options, cf);
+ }
~CFIteratorImpl() {
delete dbiter;
}
const RocksDBStore* db;
KeyLess keyless;
string prefix;
+ const KeyValueDB::IteratorBounds bounds;
+ const rocksdb::Slice iterate_lower_bound;
+ const rocksdb::Slice iterate_upper_bound;
std::vector<rocksdb::Iterator*> iters;
public:
explicit ShardMergeIteratorImpl(const RocksDBStore* db,
const std::string& prefix,
- const std::vector<rocksdb::ColumnFamilyHandle*>& shards)
- : db(db), keyless(db->comparator), prefix(prefix)
+ const std::vector<rocksdb::ColumnFamilyHandle*>& shards,
+ KeyValueDB::IteratorBounds bounds_)
+ : db(db), keyless(db->comparator), prefix(prefix), bounds(std::move(bounds_)),
+ iterate_lower_bound(make_slice(bounds.lower_bound)),
+ iterate_upper_bound(make_slice(bounds.upper_bound))
{
iters.reserve(shards.size());
+ auto options = rocksdb::ReadOptions();
+ if (db->cct->_conf->osd_rocksdb_iterator_bounds_enabled) {
+ if (bounds.lower_bound) {
+ options.iterate_lower_bound = &iterate_lower_bound;
+ }
+ if (bounds.upper_bound) {
+ options.iterate_upper_bound = &iterate_upper_bound;
+ }
+ }
for (auto& s : shards) {
- iters.push_back(db->db->NewIterator(rocksdb::ReadOptions(), s));
+ iters.push_back(db->db->NewIterator(options, s));
}
}
~ShardMergeIteratorImpl() {
}
};
-KeyValueDB::Iterator RocksDBStore::get_iterator(const std::string& prefix, IteratorOpts opts)
+KeyValueDB::Iterator RocksDBStore::get_iterator(const std::string& prefix, IteratorOpts opts, IteratorBounds bounds)
{
auto cf_it = cf_handles.find(prefix);
if (cf_it != cf_handles.end()) {
+ rocksdb::ColumnFamilyHandle* cf = nullptr;
if (cf_it->second.handles.size() == 1) {
+ cf = cf_it->second.handles[0];
+ } else if (cct->_conf->osd_rocksdb_iterator_bounds_enabled) {
+ cf = get_cf_handle(prefix, bounds);
+ }
+ if (cf) {
return std::make_shared<CFIteratorImpl>(
- prefix,
- db->NewIterator(rocksdb::ReadOptions(), cf_it->second.handles[0]));
+ this,
+ prefix,
+ cf,
+ std::move(bounds));
} else {
return std::make_shared<ShardMergeIteratorImpl>(
this,
prefix,
- cf_it->second.handles);
+ cf_it->second.handles,
+ std::move(bounds));
}
} else {
return KeyValueDB::get_iterator(prefix, opts);
RocksDBStore::WholeSpaceIterator RocksDBStore::get_wholespace_iterator(IteratorOpts opts)
{
if (cf_handles.size() == 0) {
- rocksdb::ReadOptions opt = rocksdb::ReadOptions();
- if (opts & ITERATOR_NOCACHE)
- opt.fill_cache=false;
return std::make_shared<RocksDBWholeSpaceIteratorImpl>(
- db->NewIterator(opt, default_cf));
+ this, default_cf, opts);
} else {
return std::make_shared<WholeMergeIteratorImpl>(this);
}
RocksDBStore::WholeSpaceIterator RocksDBStore::get_default_cf_iterator()
{
- return std::make_shared<RocksDBWholeSpaceIteratorImpl>(
- db->NewIterator(rocksdb::ReadOptions(), default_cf));
+ return std::make_shared<RocksDBWholeSpaceIteratorImpl>(this, default_cf, 0);
}
int RocksDBStore::prepare_for_reshard(const std::string& new_sharding,
extern rocksdb::Logger *create_rocksdb_ceph_logger();
+inline rocksdb::Slice make_slice(const std::optional<std::string>& bound) {
+ if (bound) {
+ return {*bound};
+ } else {
+ return {};
+ }
+}
+
/**
* Uses RocksDB to implement the KeyValueDB interface
*/
uint64_t cache_size = 0;
bool set_cache_flag = false;
friend class ShardMergeIteratorImpl;
+ friend class CFIteratorImpl;
friend class WholeMergeIteratorImpl;
/*
* See RocksDB's definition of a column family(CF) and how to use it.
void add_column_family(const std::string& cf_name, uint32_t hash_l, uint32_t hash_h,
size_t shard_idx, rocksdb::ColumnFamilyHandle *handle);
bool is_column_family(const std::string& prefix);
+ std::string_view get_key_hash_view(const prefix_shards& shards, const char* key, const size_t keylen);
+ rocksdb::ColumnFamilyHandle *get_key_cf(const prefix_shards& shards, const char* key, const size_t keylen);
rocksdb::ColumnFamilyHandle *get_cf_handle(const std::string& prefix, const std::string& key);
rocksdb::ColumnFamilyHandle *get_cf_handle(const std::string& prefix, const char* key, size_t keylen);
+ rocksdb::ColumnFamilyHandle *get_cf_handle(const std::string& prefix, const IteratorBounds& bounds);
int submit_common(rocksdb::WriteOptions& woptions, KeyValueDB::Transaction t);
int install_cf_mergeop(const std::string &cf_name, rocksdb::ColumnFamilyOptions *cf_opt);
protected:
rocksdb::Iterator *dbiter;
public:
- explicit RocksDBWholeSpaceIteratorImpl(rocksdb::Iterator *iter) :
- dbiter(iter) { }
- //virtual ~RocksDBWholeSpaceIteratorImpl() { }
+ explicit RocksDBWholeSpaceIteratorImpl(const RocksDBStore* db,
+ rocksdb::ColumnFamilyHandle* cf,
+ const KeyValueDB::IteratorOpts opts)
+ {
+ rocksdb::ReadOptions options = rocksdb::ReadOptions();
+ if (opts & ITERATOR_NOCACHE)
+ options.fill_cache=false;
+ dbiter = db->db->NewIterator(options, cf);
+ }
~RocksDBWholeSpaceIteratorImpl() override;
int seek_to_first() override;
size_t value_size() override;
};
- Iterator get_iterator(const std::string& prefix, IteratorOpts opts = 0) override;
+ Iterator get_iterator(const std::string& prefix, IteratorOpts opts = 0, IteratorBounds = IteratorBounds()) override;
private:
/// this iterator spans single cf
rocksdb::Iterator* new_shard_iterator(rocksdb::ColumnFamilyHandle* cf);
#endif // !__SANITIZE_ADDRESS__
}
-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22))
DeleterFn BinnedLRUCache::GetDeleter(Handle* handle) const
{
return reinterpret_cast<const BinnedLRUHandle*>(handle)->deleter;
virtual size_t GetCharge(Handle* handle) const override;
virtual uint32_t GetHash(Handle* handle) const override;
virtual void DisownData() override;
-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22))
virtual DeleterFn GetDeleter(Handle* handle) const override;
#endif
// Retrieves number of elements in LRU, for unit test purpose only
return usage;
}
-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22))
DeleterFn ShardedCache::GetDeleter(Handle* handle) const
{
uint32_t hash = GetHash(handle);
virtual size_t GetUsage(rocksdb::Cache::Handle* handle) const override;
virtual size_t GetPinnedUsage() const override;
virtual size_t GetCharge(Handle* handle) const = 0;
-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22))
virtual DeleterFn GetDeleter(Handle* handle) const override;
#endif
virtual void DisownData() override = 0;
-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22))
virtual void ApplyToAllEntries(
const std::function<void(const rocksdb::Slice& key, void* value, size_t charge,
DeleterFn deleter)>& callback,
typedef std::list<Context *> Contexts;
-const std::string IMAGE_CACHE_STATE = ".librbd/image_cache_state";
+const std::string PERSISTENT_CACHE_STATE = ".rbd_persistent_cache_state";
} // namespace cache
} // namespace librbd
template <typename I>
void AbstractWriteLog<I>::periodic_stats() {
std::lock_guard locker(m_lock);
- ldout(m_image_ctx.cct, 1) << "STATS: m_log_entries=" << m_log_entries.size()
+ update_image_cache_state();
+ ldout(m_image_ctx.cct, 5) << "STATS: m_log_entries=" << m_log_entries.size()
<< ", m_dirty_log_entries=" << m_dirty_log_entries.size()
<< ", m_free_log_entries=" << m_free_log_entries
<< ", m_bytes_allocated=" << m_bytes_allocated
template <typename I>
void AbstractWriteLog<I>::arm_periodic_stats() {
ceph_assert(ceph_mutex_is_locked(*m_timer_lock));
- if (m_periodic_stats_enabled) {
- m_timer_ctx = new LambdaContext(
- [this](int r) {
- /* m_timer_lock is held */
- periodic_stats();
- arm_periodic_stats();
- });
- m_timer->add_event_after(LOG_STATS_INTERVAL_SECONDS, m_timer_ctx);
- }
+ m_timer_ctx = new LambdaContext([this](int r) {
+ /* m_timer_lock is held */
+ periodic_stats();
+ arm_periodic_stats();
+ });
+ m_timer->add_event_after(LOG_STATS_INTERVAL_SECONDS, m_timer_ctx);
}
template <typename I>
// Start the thread
m_thread_pool.start();
- m_periodic_stats_enabled = m_cache_state->log_periodic_stats;
/* Do these after we drop lock */
later.add(new LambdaContext([this](int r) {
- if (m_periodic_stats_enabled) {
/* Log stats for the first time */
periodic_stats();
/* Arm periodic stats logging for the first time */
std::lock_guard timer_locker(*m_timer_lock);
arm_periodic_stats();
- }
- }));
+ }));
m_image_ctx.op_work_queue->queue(on_finish, 0);
}
+template <typename I>
+void AbstractWriteLog<I>::update_image_cache_state() {
+ using klass = AbstractWriteLog<I>;
+ Context *ctx = util::create_context_callback<
+ klass, &klass::handle_update_image_cache_state>(this);
+ update_image_cache_state(ctx);
+}
+
template <typename I>
void AbstractWriteLog<I>::update_image_cache_state(Context *on_finish) {
+ ldout(m_image_ctx.cct, 10) << dendl;
+
+ ceph_assert(ceph_mutex_is_locked_by_me(m_lock));
+ m_cache_state->allocated_bytes = m_bytes_allocated;
+ m_cache_state->cached_bytes = m_bytes_cached;
+ m_cache_state->dirty_bytes = m_bytes_dirty;
+ m_cache_state->free_bytes = m_bytes_allocated_cap - m_bytes_allocated;
+ m_cache_state->hits_full = m_perfcounter->get(l_librbd_pwl_rd_hit_req);
+ m_cache_state->hits_partial = m_perfcounter->get(l_librbd_pwl_rd_part_hit_req);
+ m_cache_state->misses = m_perfcounter->get(l_librbd_pwl_rd_req) -
+ m_cache_state->hits_full - m_cache_state->hits_partial;
+ m_cache_state->hit_bytes = m_perfcounter->get(l_librbd_pwl_rd_hit_bytes);
+ m_cache_state->miss_bytes = m_perfcounter->get(l_librbd_pwl_rd_bytes) -
+ m_cache_state->hit_bytes;
m_cache_state->write_image_cache_state(on_finish);
}
+template <typename I>
+void AbstractWriteLog<I>::handle_update_image_cache_state(int r) {
+ CephContext *cct = m_image_ctx.cct;
+ ldout(cct, 10) << "r=" << r << dendl;
+
+ if (r < 0) {
+ lderr(cct) << "failed to update image cache state: " << cpp_strerror(r)
+ << dendl;
+ return;
+ }
+}
+
template <typename I>
void AbstractWriteLog<I>::init(Context *on_finish) {
CephContext *cct = m_image_ctx.cct;
Context *ctx = new LambdaContext(
[this, on_finish](int r) {
if (r >= 0) {
+ std::lock_guard locker(m_lock);
update_image_cache_state(on_finish);
} else {
on_finish->complete(r);
Context *ctx = new LambdaContext(
[this, on_finish](int r) {
+ if (m_perfcounter) {
+ perf_stop();
+ }
ldout(m_image_ctx.cct, 6) << "shutdown complete" << dendl;
m_image_ctx.op_work_queue->queue(on_finish, r);
});
[this, ctx](int r) {
ldout(m_image_ctx.cct, 6) << "image cache cleaned" << dendl;
Context *next_ctx = override_ctx(r, ctx);
- bool periodic_stats_enabled = m_periodic_stats_enabled;
- m_periodic_stats_enabled = false;
-
- if (periodic_stats_enabled) {
- /* Log stats one last time if they were enabled */
- periodic_stats();
- }
- {
- std::lock_guard locker(m_lock);
- check_image_cache_state_clean();
- m_wake_up_enabled = false;
- m_cache_state->clean = true;
- m_log_entries.clear();
-
- remove_pool_file();
+ periodic_stats();
- if (m_perfcounter) {
- perf_stop();
- }
- }
+ std::lock_guard locker(m_lock);
+ check_image_cache_state_clean();
+ m_wake_up_enabled = false;
+ m_log_entries.clear();
+ m_cache_state->clean = true;
+ m_cache_state->empty = true;
+ remove_pool_file();
update_image_cache_state(next_ctx);
});
ctx = new LambdaContext(
/* Flush all writes to OSDs (unless disabled) and wait for all
in-progress flush writes to complete */
ldout(m_image_ctx.cct, 6) << "flushing" << dendl;
- if (m_periodic_stats_enabled) {
- periodic_stats();
- }
+ periodic_stats();
}
flush_dirty_entries(next_ctx);
});
std::lock_guard locker(m_lock);
m_unpublished_reserves -= published_reserves;
m_dirty_log_entries.splice(m_dirty_log_entries.end(), dirty_entries);
+ if (m_cache_state->clean && !this->m_dirty_log_entries.empty()) {
+ m_cache_state->clean = false;
+ update_image_cache_state();
+ }
}
op->complete(result);
m_perfcounter->tinc(l_librbd_pwl_log_op_dis_to_app_t,
if (allocated_req && front_req && allocated) {
/* Push dispatch of the first allocated req to a wq */
m_work_queue.queue(new LambdaContext(
- [this, allocated_req](int r) {
+ [allocated_req](int r) {
allocated_req->dispatch();
}), 0);
allocated_req = nullptr;
ldout(cct, 20) << "Nothing new to flush" << dendl;
/* Do flush complete only when all flush ops are finished */
all_clean = !m_flush_ops_in_flight;
+ if (!m_cache_state->clean && all_clean) {
+ m_cache_state->clean = true;
+ update_image_cache_state();
+ }
break;
}
/* This sync point will acquire no more sub-ops. Activation needs
* to acquire m_lock, so defer to later*/
later.add(new LambdaContext(
- [this, old_sync_point](int r) {
+ [old_sync_point](int r) {
old_sync_point->prior_persisted_gather_activate();
}));
}
* now has its finisher. If the sub is already complete, activation will
* complete the Gather. The finisher will acquire m_lock, so we'll activate
* this when we release m_lock.*/
- later.add(new LambdaContext([this, to_append](int r) {
+ later.add(new LambdaContext([to_append](int r) {
to_append->persist_gather_activate();
}));
std::lock_guard locker(m_lock);
flushing = (0 != m_flush_ops_in_flight);
all_clean = m_dirty_log_entries.empty();
+ if (!m_cache_state->clean && all_clean && !flushing) {
+ m_cache_state->clean = true;
+ update_image_cache_state();
+ }
stop_flushing = (m_shutting_down);
}
/* Throttle writes concurrently allocating & replicating */
unsigned int m_free_lanes = pwl::MAX_CONCURRENT_WRITES;
- /* Initialized from config, then set false during shutdown */
- std::atomic<bool> m_periodic_stats_enabled = {false};
SafeTimer *m_timer = nullptr; /* Used with m_timer_lock */
mutable ceph::mutex *m_timer_lock = nullptr; /* Used with and by m_timer */
Context *m_timer_ctx = nullptr;
void pwl_init(Context *on_finish, pwl::DeferredContexts &later);
void update_image_cache_state(Context *on_finish);
+ void handle_update_image_cache_state(int r);
void check_image_cache_state_clean();
void flush_dirty_entries(Context *on_finish);
virtual uint64_t get_max_extent() {
return 0;
}
-
+ void update_image_cache_state(void);
};
} // namespace pwl
if (m_cache_state->present &&
!m_cache_state->host.compare(ceph_get_short_hostname()) &&
fs::exists(m_cache_state->path)) {
- fs::remove(m_cache_state->path);
+ std::error_code ec;
+ fs::remove(m_cache_state->path, ec);
+ if (ec) {
+ lderr(cct) << "failed to remove persistent cache file: " << ec.message()
+ << dendl;
+ // not fatal
+ }
}
remove_image_cache_state();
CephContext *cct = m_image_ctx.cct;
ldout(cct, 10) << dendl;
- if (!(m_image_ctx.features &&RBD_FEATURE_DIRTY_CACHE)) {
- finish();
- return;
- }
uint64_t new_features = m_image_ctx.features & ~RBD_FEATURE_DIRTY_CACHE;
uint64_t features_mask = RBD_FEATURE_DIRTY_CACHE;
ldout(cct, 10) << "old_features=" << m_image_ctx.features
#include "librbd/ImageCtx.h"
#include "librbd/Operations.h"
#include "common/config_proxy.h"
-#include "common/ceph_json.h"
#include "common/environment.h"
#include "common/hostname.h"
#include "librbd/plugin/Api.h"
using namespace std;
-namespace {
-bool get_json_format(const std::string& s, JSONFormattable *f) {
- JSONParser p;
- bool success = p.parse(s.c_str(), s.size());
- if (success) {
- decode_json_obj(*f, &p);
- }
- return success;
+template <typename I>
+void ImageCacheState<I>::init_from_config() {
+ ldout(m_image_ctx->cct, 20) << dendl;
+
+ present = false;
+ empty = true;
+ clean = true;
+ host = "";
+ path = "";
+ ConfigProxy &config = m_image_ctx->config;
+ mode = config.get_val<std::string>("rbd_persistent_cache_mode");
+ size = 0;
}
-} // namespace
template <typename I>
-ImageCacheState<I>::ImageCacheState(I *image_ctx, plugin::Api<I>& plugin_api) :
- m_image_ctx(image_ctx), m_plugin_api(plugin_api) {
- ldout(image_ctx->cct, 20) << "Initialize RWL cache state with config data. "
+bool ImageCacheState<I>::init_from_metadata(json_spirit::mValue& json_root) {
+ ldout(m_image_ctx->cct, 20) << dendl;
+
+ try {
+ auto& o = json_root.get_obj();
+ present = o["present"].get_bool();
+ empty = o["empty"].get_bool();
+ clean = o["clean"].get_bool();
+ host = o["host"].get_str();
+ path = o["path"].get_str();
+ mode = o["mode"].get_str();
+ size = o["size"].get_uint64();
+ } catch (std::runtime_error& e) {
+ lderr(m_image_ctx->cct) << "failed to parse cache state: " << e.what()
<< dendl;
+ return false;
+ }
- ConfigProxy &config = image_ctx->config;
- log_periodic_stats = config.get_val<bool>("rbd_persistent_cache_log_periodic_stats");
- cache_type = config.get_val<std::string>("rbd_persistent_cache_mode");
-}
-
-template <typename I>
-ImageCacheState<I>::ImageCacheState(
- I *image_ctx, JSONFormattable &f, plugin::Api<I>& plugin_api) :
- m_image_ctx(image_ctx), m_plugin_api(plugin_api) {
- ldout(image_ctx->cct, 20) << "Initialize RWL cache state with data from "
- << "server side"<< dendl;
-
- present = (bool)f["present"];
- empty = (bool)f["empty"];
- clean = (bool)f["clean"];
- cache_type = f["cache_type"];
- host = f["pwl_host"];
- path = f["pwl_path"];
- uint64_t pwl_size;
- std::istringstream iss(f["pwl_size"]);
- iss >> pwl_size;
- size = pwl_size;
-
- // Others from config
- ConfigProxy &config = image_ctx->config;
- log_periodic_stats = config.get_val<bool>("rbd_persistent_cache_log_periodic_stats");
+ return true;
}
template <typename I>
void ImageCacheState<I>::write_image_cache_state(Context *on_finish) {
+ stats_timestamp = ceph_clock_now();
std::shared_lock owner_lock{m_image_ctx->owner_lock};
- JSONFormattable f;
- ::encode_json(IMAGE_CACHE_STATE.c_str(), *this, &f);
- std::ostringstream oss;
- f.flush(oss);
- std::string image_state_json = oss.str();
+ json_spirit::mObject o;
+ o["present"] = present;
+ o["empty"] = empty;
+ o["clean"] = clean;
+ o["host"] = host;
+ o["path"] = path;
+ o["mode"] = mode;
+ o["size"] = size;
+ o["stats_timestamp"] = stats_timestamp.sec();
+ o["allocated_bytes"] = allocated_bytes;
+ o["cached_bytes"] = cached_bytes;
+ o["dirty_bytes"] = dirty_bytes;
+ o["free_bytes"] = free_bytes;
+ o["hits_full"] = hits_full;
+ o["hits_partial"] = hits_partial;
+ o["misses"] = misses;
+ o["hit_bytes"] = hit_bytes;
+ o["miss_bytes"] = miss_bytes;
+ std::string image_state_json = json_spirit::write(o);
ldout(m_image_ctx->cct, 20) << __func__ << " Store state: "
<< image_state_json << dendl;
- m_plugin_api.execute_image_metadata_set(m_image_ctx, IMAGE_CACHE_STATE,
+ m_plugin_api.execute_image_metadata_set(m_image_ctx, PERSISTENT_CACHE_STATE,
image_state_json, on_finish);
}
std::shared_lock owner_lock{m_image_ctx->owner_lock};
ldout(m_image_ctx->cct, 20) << __func__ << " Remove state: " << dendl;
m_plugin_api.execute_image_metadata_remove(
- m_image_ctx, IMAGE_CACHE_STATE, on_finish);
-}
-
-template <typename I>
-void ImageCacheState<I>::dump(ceph::Formatter *f) const {
- ::encode_json("present", present, f);
- ::encode_json("empty", empty, f);
- ::encode_json("clean", clean, f);
- ::encode_json("cache_type", cache_type, f);
- ::encode_json("pwl_host", host, f);
- ::encode_json("pwl_path", path, f);
- ::encode_json("pwl_size", size, f);
+ m_image_ctx, PERSISTENT_CACHE_STATE, on_finish);
}
template <typename I>
bool dirty_cache = plugin_api.test_image_features(image_ctx, RBD_FEATURE_DIRTY_CACHE);
if (dirty_cache) {
cls_client::metadata_get(&image_ctx->md_ctx, image_ctx->header_oid,
- IMAGE_CACHE_STATE, &cache_state_str);
+ PERSISTENT_CACHE_STATE, &cache_state_str);
}
ldout(image_ctx->cct, 20) << "image_cache_state: " << cache_state_str << dendl;
r = -EINVAL;
}else if ((!dirty_cache || cache_state_str.empty()) && cache_desired) {
cache_state = new ImageCacheState<I>(image_ctx, plugin_api);
+ cache_state->init_from_config();
} else {
ceph_assert(!cache_state_str.empty());
- JSONFormattable f;
- bool success = get_json_format(cache_state_str, &f);
- if (!success) {
- lderr(image_ctx->cct) << "Failed to parse cache state: "
- << cache_state_str << dendl;
+ json_spirit::mValue json_root;
+ if (!json_spirit::read(cache_state_str.c_str(), json_root)) {
+ lderr(image_ctx->cct) << "failed to parse cache state" << dendl;
r = -EINVAL;
return nullptr;
}
-
- bool cache_exists = (bool)f["present"];
- if (!cache_exists) {
- cache_state = new ImageCacheState<I>(image_ctx, plugin_api);
- } else {
- cache_state = new ImageCacheState<I>(image_ctx, f, plugin_api);
+ cache_state = new ImageCacheState<I>(image_ctx, plugin_api);
+ if (!cache_state->init_from_metadata(json_root)) {
+ delete cache_state;
+ r = -EINVAL;
+ return nullptr;
+ }
+ if (!cache_state->present) {
+ cache_state->init_from_config();
}
}
return cache_state;
ImageCacheState<I>* cache_state = nullptr;
string cache_state_str;
cls_client::metadata_get(&image_ctx->md_ctx, image_ctx->header_oid,
- IMAGE_CACHE_STATE, &cache_state_str);
+ PERSISTENT_CACHE_STATE, &cache_state_str);
if (!cache_state_str.empty()) {
- JSONFormattable f;
- bool success = get_json_format(cache_state_str, &f);
- if (!success) {
- cache_state = new ImageCacheState<I>(image_ctx, plugin_api);
+ // ignore errors, best effort
+ cache_state = new ImageCacheState<I>(image_ctx, plugin_api);
+ json_spirit::mValue json_root;
+ if (!json_spirit::read(cache_state_str.c_str(), json_root)) {
+ lderr(image_ctx->cct) << "failed to parse cache state" << dendl;
} else {
- cache_state = new ImageCacheState<I>(image_ctx, f, plugin_api);
+ cache_state->init_from_metadata(json_root);
}
}
return cache_state;
#ifndef CEPH_LIBRBD_CACHE_RWL_IMAGE_CACHE_STATE_H
#define CEPH_LIBRBD_CACHE_RWL_IMAGE_CACHE_STATE_H
+#include "json_spirit/json_spirit.h"
#include "librbd/ImageCtx.h"
#include "librbd/cache/Types.h"
#include <string>
-class JSONFormattable;
namespace ceph {
class Formatter;
}
bool clean = true;
std::string host;
std::string path;
- std::string cache_type;
+ std::string mode;
uint64_t size = 0;
- bool log_periodic_stats;
-
- ImageCacheState(ImageCtxT* image_ctx, plugin::Api<ImageCtxT>& plugin_api);
-
- ImageCacheState(ImageCtxT* image_ctx, JSONFormattable& f,
- plugin::Api<ImageCtxT>& plugin_api);
+ /* After reloading, the following data does not need to be read,
+ * but recalculated. */
+ utime_t stats_timestamp;
+ uint64_t allocated_bytes = 0;
+ uint64_t cached_bytes = 0;
+ uint64_t dirty_bytes = 0;
+ uint64_t free_bytes = 0;
+ uint64_t hits_full = 0;
+ uint64_t hits_partial = 0;
+ uint64_t misses = 0;
+ uint64_t hit_bytes = 0;
+ uint64_t miss_bytes = 0;
+
+ ImageCacheState(ImageCtxT* image_ctx, plugin::Api<ImageCtxT>& plugin_api)
+ : m_image_ctx(image_ctx), m_plugin_api(plugin_api) {}
~ImageCacheState() {}
- ImageCacheType get_image_cache_type() const {
- if (cache_type == "rwl") {
+ ImageCacheType get_image_cache_mode() const {
+ if (mode == "rwl") {
return IMAGE_CACHE_TYPE_RWL;
- } else if (cache_type == "ssd") {
+ } else if (mode == "ssd") {
return IMAGE_CACHE_TYPE_SSD;
}
return IMAGE_CACHE_TYPE_UNKNOWN;
}
+ void init_from_config();
+ bool init_from_metadata(json_spirit::mValue& json_root);
void write_image_cache_state(Context *on_finish);
void clear_image_cache_state(Context *on_finish);
- void dump(ceph::Formatter *f) const;
-
static ImageCacheState<ImageCtxT>* create_image_cache_state(
ImageCtxT* image_ctx, plugin::Api<ImageCtxT>& plugin_api, int &r);
return;
}
- auto cache_type = cache_state->get_image_cache_type();
- switch(cache_type) {
+ auto mode = cache_state->get_image_cache_mode();
+ switch (mode) {
#ifdef WITH_RBD_RWL
case cache::IMAGE_CACHE_TYPE_RWL:
m_image_cache =
bool GenericWriteLogEntry::can_writeback() const {
return (this->completed &&
- (ram_entry.sequenced ||
+ (ram_entry.is_sequenced() ||
(sync_point_entry &&
sync_point_entry->completed)));
}
void WriteLogEntry::init(bool has_data,
uint64_t current_sync_gen,
uint64_t last_op_sequence_num, bool persist_on_flush) {
- ram_entry.has_data = 1;
+ ram_entry.set_has_data(has_data);
ram_entry.sync_gen_number = current_sync_gen;
if (persist_on_flush) {
/* Persist on flush. Sequence #0 is never used. */
} else {
/* Persist on write */
ram_entry.write_sequence_number = last_op_sequence_num;
- ram_entry.sequenced = 1;
+ ram_entry.set_sequenced(true);
}
- ram_entry.sync_point = 0;
- ram_entry.discard = 0;
+ ram_entry.set_sync_point(false);
+ ram_entry.set_discard(false);
}
std::ostream& WriteLogEntry::format(std::ostream &os) const {
} else {
/* Persist on write */
ram_entry.write_sequence_number = last_op_sequence_num;
- ram_entry.sequenced = 1;
+ ram_entry.set_sequenced(true);
}
}
std::shared_ptr<SyncPointLogEntry> next_sync_point_entry = nullptr;
SyncPointLogEntry(uint64_t sync_gen_number) {
ram_entry.sync_gen_number = sync_gen_number;
- ram_entry.sync_point = 1;
+ ram_entry.set_sync_point(true);
};
~SyncPointLogEntry() override {};
SyncPointLogEntry(const SyncPointLogEntry&) = delete;
uint64_t image_offset_bytes, uint64_t write_bytes,
uint32_t data_length)
: WriteLogEntry(sync_point_entry, image_offset_bytes, write_bytes) {
- ram_entry.writesame = 1;
+ ram_entry.set_writesame(true);
ram_entry.ws_datalen = data_length;
is_writesame = true;
};
WriteLogEntry(uint64_t image_offset_bytes, uint64_t write_bytes,
uint32_t data_length)
: WriteLogEntry(nullptr, image_offset_bytes, write_bytes) {
- ram_entry.writesame = 1;
+ ram_entry.set_writesame(true);
ram_entry.ws_datalen = data_length;
is_writesame = true;
};
uint32_t discard_granularity_bytes)
: GenericWriteLogEntry(sync_point_entry, image_offset_bytes, write_bytes),
m_discard_granularity_bytes(discard_granularity_bytes) {
- ram_entry.discard = 1;
+ ram_entry.set_discard(true);
};
DiscardLogEntry(uint64_t image_offset_bytes, uint64_t write_bytes)
: GenericWriteLogEntry(nullptr, image_offset_bytes, write_bytes) {
- ram_entry.discard = 1;
+ ram_entry.set_discard(true);
};
DiscardLogEntry(const DiscardLogEntry&) = delete;
DiscardLogEntry &operator=(const DiscardLogEntry&) = delete;
std::lock_guard locker(m_lock);
auto write_req_sp = this;
if (sync_point->earlier_sync_point) {
- Context *schedule_append_ctx = new LambdaContext([this, write_req_sp](int r) {
+ Context *schedule_append_ctx = new LambdaContext([write_req_sp](int r) {
write_req_sp->schedule_append();
});
sync_point->earlier_sync_point->on_sync_point_appending.push_back(schedule_append_ctx);
Context *ctx = create_context_callback<klass, &klass::handle_remove_image_cache_state>(
this);
std::shared_lock owner_lock{m_image_ctx.owner_lock};
- m_plugin_api.execute_image_metadata_remove(&m_image_ctx, IMAGE_CACHE_STATE, ctx);
+ m_plugin_api.execute_image_metadata_remove(&m_image_ctx, PERSISTENT_CACHE_STATE, ctx);
}
template <typename I>
f->dump_unsigned("image_offset_bytes", image_offset_bytes);
f->dump_unsigned("write_bytes", write_bytes);
f->dump_unsigned("write_data_pos", write_data_pos);
- f->dump_unsigned("entry_valid", entry_valid);
- f->dump_unsigned("sync_point", sync_point);
- f->dump_unsigned("sequenced", sequenced);
- f->dump_unsigned("has_data", has_data);
- f->dump_unsigned("discard", discard);
- f->dump_unsigned("writesame", writesame);
+ f->dump_bool("entry_valid", is_entry_valid());
+ f->dump_bool("sync_point", is_sync_point());
+ f->dump_bool("sequenced", is_sequenced());
+ f->dump_bool("has_data", has_data());
+ f->dump_bool("discard", is_discard());
+ f->dump_bool("writesame", is_writesame());
f->dump_unsigned("ws_datalen", ws_datalen);
f->dump_unsigned("entry_index", entry_index);
}
void WriteLogCacheEntry::generate_test_instances(std::list<WriteLogCacheEntry*>& ls) {
- ls.push_back(new WriteLogCacheEntry);
+ ls.push_back(new WriteLogCacheEntry());
ls.push_back(new WriteLogCacheEntry);
ls.back()->sync_gen_number = 1;
ls.back()->write_sequence_number = 1;
ls.back()->image_offset_bytes = 1;
ls.back()->write_bytes = 1;
ls.back()->write_data_pos = 1;
- ls.back()->entry_valid = 1;
- ls.back()->sync_point = 1;
- ls.back()->sequenced = 1;
- ls.back()->has_data = 1;
- ls.back()->discard = 1;
- ls.back()->writesame = 1;
+ ls.back()->set_entry_valid(true);
+ ls.back()->set_sync_point(true);
+ ls.back()->set_sequenced(true);
+ ls.back()->set_has_data(true);
+ ls.back()->set_discard(true);
+ ls.back()->set_writesame(true);
ls.back()->ws_datalen = 1;
ls.back()->entry_index = 1;
}
f->dump_unsigned("block_size", block_size);
f->dump_unsigned("num_log_entries", num_log_entries);
f->dump_unsigned("first_free_entry", first_free_entry);
- f->dump_unsigned("first_valid_entry", first_valid_entry); }
+ f->dump_unsigned("first_valid_entry", first_valid_entry);
+}
void WriteLogPoolRoot::generate_test_instances(std::list<WriteLogPoolRoot*>& ls) {
- ls.push_back(new WriteLogPoolRoot);
+ ls.push_back(new WriteLogPoolRoot());
ls.push_back(new WriteLogPoolRoot);
ls.back()->layout_version = 2;
ls.back()->cur_sync_gen = 1;
std::ostream& operator<<(std::ostream& os,
const WriteLogCacheEntry &entry) {
- os << "entry_valid=" << (bool)entry.entry_valid
- << ", sync_point=" << (bool)entry.sync_point
- << ", sequenced=" << (bool)entry.sequenced
- << ", has_data=" << (bool)entry.has_data
- << ", discard=" << (bool)entry.discard
- << ", writesame=" << (bool)entry.writesame
+ os << "entry_valid=" << entry.is_entry_valid()
+ << ", sync_point=" << entry.is_sync_point()
+ << ", sequenced=" << entry.is_sequenced()
+ << ", has_data=" << entry.has_data()
+ << ", discard=" << entry.is_discard()
+ << ", writesame=" << entry.is_writesame()
<< ", sync_gen_number=" << entry.sync_gen_number
<< ", write_sequence_number=" << entry.write_sequence_number
<< ", image_offset_bytes=" << entry.image_offset_bytes
l_librbd_pwl_last,
};
+enum {
+ WRITE_LOG_CACHE_ENTRY_VALID = 1U << 0, /* if 0, this entry is free */
+ WRITE_LOG_CACHE_ENTRY_SYNC_POINT = 1U << 1, /* No data. No write sequence number.
+ Marks sync point for this sync gen number */
+ WRITE_LOG_CACHE_ENTRY_SEQUENCED = 1U << 2, /* write sequence number is valid */
+ WRITE_LOG_CACHE_ENTRY_HAS_DATA = 1U << 3, /* write_data field is valid (else ignore) */
+ WRITE_LOG_CACHE_ENTRY_DISCARD = 1U << 4, /* has_data will be 0 if this is a discard */
+ WRITE_LOG_CACHE_ENTRY_WRITESAME = 1U << 5, /* ws_datalen indicates length of data at write_bytes */
+};
+
namespace librbd {
namespace cache {
namespace pwl {
#ifdef WITH_RBD_SSD_CACHE
uint64_t write_data_pos = 0; /* SSD data offset */
#endif
- union {
- uint8_t flags;
- struct {
- uint8_t entry_valid :1; /* if 0, this entry is free */
- uint8_t sync_point :1; /* No data. No write sequence number. Marks sync
- point for this sync gen number */
- uint8_t sequenced :1; /* write sequence number is valid */
- uint8_t has_data :1; /* write_data field is valid (else ignore) */
- uint8_t discard :1; /* has_data will be 0 if this is a discard */
- uint8_t writesame :1; /* ws_datalen indicates length of data at write_bytes */
- };
- };
+ uint8_t flags = 0;
uint32_t ws_datalen = 0; /* Length of data buffer (writesame only) */
uint32_t entry_index = 0; /* For debug consistency check. Can be removed if
* we need the space */
WriteLogCacheEntry(uint64_t image_offset_bytes=0, uint64_t write_bytes=0)
- : image_offset_bytes(image_offset_bytes), write_bytes(write_bytes),
- entry_valid(0), sync_point(0), sequenced(0), has_data(0), discard(0), writesame(0) {
- }
+ : image_offset_bytes(image_offset_bytes), write_bytes(write_bytes) {}
BlockExtent block_extent();
uint64_t get_offset_bytes();
uint64_t get_write_bytes();
- bool is_sync_point() {
- return sync_point;
+ bool is_entry_valid() const {
+ return flags & WRITE_LOG_CACHE_ENTRY_VALID;
+ }
+ bool is_sync_point() const {
+ return flags & WRITE_LOG_CACHE_ENTRY_SYNC_POINT;
}
- bool is_discard() {
- return discard;
+ bool is_sequenced() const {
+ return flags & WRITE_LOG_CACHE_ENTRY_SEQUENCED;
}
- bool is_writesame() {
- return writesame;
+ bool has_data() const {
+ return flags & WRITE_LOG_CACHE_ENTRY_HAS_DATA;
}
- bool is_write() {
+ bool is_discard() const {
+ return flags & WRITE_LOG_CACHE_ENTRY_DISCARD;
+ }
+ bool is_writesame() const {
+ return flags & WRITE_LOG_CACHE_ENTRY_WRITESAME;
+ }
+ bool is_write() const {
/* Log entry is a basic write */
return !is_sync_point() && !is_discard() && !is_writesame();
}
- bool is_writer() {
+ bool is_writer() const {
/* Log entry is any type that writes data */
return is_write() || is_discard() || is_writesame();
}
+ void set_entry_valid(bool flag) {
+ if (flag) {
+ flags |= WRITE_LOG_CACHE_ENTRY_VALID;
+ } else {
+ flags &= ~WRITE_LOG_CACHE_ENTRY_VALID;
+ }
+ }
+ void set_sync_point(bool flag) {
+ if (flag) {
+ flags |= WRITE_LOG_CACHE_ENTRY_SYNC_POINT;
+ } else {
+ flags &= ~WRITE_LOG_CACHE_ENTRY_SYNC_POINT;
+ }
+ }
+ void set_sequenced(bool flag) {
+ if (flag) {
+ flags |= WRITE_LOG_CACHE_ENTRY_SEQUENCED;
+ } else {
+ flags &= ~WRITE_LOG_CACHE_ENTRY_SEQUENCED;
+ }
+ }
+ void set_has_data(bool flag) {
+ if (flag) {
+ flags |= WRITE_LOG_CACHE_ENTRY_HAS_DATA;
+ } else {
+ flags &= ~WRITE_LOG_CACHE_ENTRY_HAS_DATA;
+ }
+ }
+ void set_discard(bool flag) {
+ if (flag) {
+ flags |= WRITE_LOG_CACHE_ENTRY_DISCARD;
+ } else {
+ flags &= ~WRITE_LOG_CACHE_ENTRY_DISCARD;
+ }
+ }
+ void set_writesame(bool flag) {
+ if (flag) {
+ flags |= WRITE_LOG_CACHE_ENTRY_WRITESAME;
+ } else {
+ flags &= ~WRITE_LOG_CACHE_ENTRY_WRITESAME;
+ }
+ }
friend std::ostream& operator<<(std::ostream& os,
const WriteLogCacheEntry &entry);
#ifdef WITH_RBD_SSD_CACHE
log_entry->log_entry_index = entry_index;
log_entry->ram_entry.entry_index = entry_index;
log_entry->cache_entry = &pmem_log_entries[entry_index];
- log_entry->ram_entry.entry_valid = 1;
+ log_entry->ram_entry.set_entry_valid(true);
m_log_entries.push_back(log_entry);
ldout(m_image_ctx.cct, 20) << "operation=[" << *operation << "]" << dendl;
}
+ if (m_cache_state->empty && !m_log_entries.empty()) {
+ m_cache_state->empty = false;
+ this->update_image_cache_state();
+ }
}
/*
lderr(m_image_ctx.cct) << "failed to remove empty pool \"" << this->m_log_pool_name << "\": "
<< pmemobj_errormsg() << dendl;
} else {
- m_cache_state->clean = true;
- m_cache_state->empty = true;
m_cache_state->present = false;
}
} else {
} TX_FINALLY {
} TX_END;
} else {
- m_cache_state->present = true;
+ ceph_assert(m_cache_state->present);
/* Open existing pool */
if ((m_log_pool =
pmemobj_open(this->m_log_pool_name.c_str(),
ceph_assert(this->m_first_valid_entry == initial_first_valid_entry);
this->m_first_valid_entry = first_valid_entry;
this->m_free_log_entries += retiring_entries.size();
+ if (!m_cache_state->empty && m_log_entries.empty()) {
+ m_cache_state->empty = true;
+ this->update_image_cache_state();
+ }
for (auto &entry: retiring_entries) {
if (entry->write_bytes()) {
ceph_assert(this->m_bytes_cached >= entry->write_bytes());
log_entry->init(current_sync_gen, persist_on_flush, last_op_sequence_num);
if (persist_on_flush) {
this->on_write_append = new LambdaContext(
- [this, write_persist, write_append] (int r) {
+ [write_persist, write_append] (int r) {
write_append->complete(r);
write_persist->complete(r);
});
}
static void generate_test_instances(std::list<SuperBlock*>& ls) {
+ ls.push_back(new SuperBlock());
ls.push_back(new SuperBlock);
- ls.push_back(new SuperBlock);
+ ls.back()->root.layout_version = 3;
+ ls.back()->root.cur_sync_gen = 1;
+ ls.back()->root.pool_size = 10737418240;
+ ls.back()->root.flushed_sync_gen = 1;
+ ls.back()->root.block_size = 4096;
+ ls.back()->root.num_log_entries = 0;
+ ls.back()->root.first_free_entry = 30601;
ls.back()->root.first_valid_entry = 2;
}
};
return false;
}
} else {
- m_cache_state->present = true;
+ ceph_assert(m_cache_state->present);
r = create_and_open_bdev();
if (r < 0) {
on_finish->complete(r);
lderr(m_image_ctx.cct) << "failed to remove empty pool \""
<< this->m_log_pool_name << "\": " << dendl;
} else {
- m_cache_state->clean = true;
- m_cache_state->empty = true;
m_cache_state->present = false;
}
} else {
for (auto &operation : ops) {
auto &log_entry = operation->get_log_entry();
- log_entry->ram_entry.entry_valid = 1;
+ log_entry->ram_entry.set_entry_valid(true);
m_log_entries.push_back(log_entry);
ldout(m_image_ctx.cct, 20) << "operation=[" << *operation << "]" << dendl;
}
+ if (m_cache_state->empty && !m_log_entries.empty()) {
+ m_cache_state->empty = false;
+ this->update_image_cache_state();
+ }
}
template <typename I>
this->m_bytes_allocated -= allocated_bytes;
ceph_assert(this->m_bytes_cached >= cached_bytes);
this->m_bytes_cached -= cached_bytes;
+ if (!m_cache_state->empty && m_log_entries.empty()) {
+ m_cache_state->empty = true;
+ this->update_image_cache_state();
+ }
ldout(m_image_ctx.cct, 20)
<< "Finished root update: initial_first_valid_entry="
}
}
+ int count = 0;
unsigned pos = omap.size() - 1;
double rand_threshold = get_inode()->get_ephemeral_rand();
for (map<string, bufferlist>::reverse_iterator p = omap.rbegin();
snapid_t last;
dentry_key_t::decode_helper(p->first, dname, last);
+ if (!(++count % mdcache->mds->heartbeat_reset_grace(2)))
+ mdcache->mds->heartbeat_reset();
+
CDentry *dn = NULL;
try {
dn = _load_dentry(
if (wanted_items.count(mempool::mds_co::string(dname)) > 0 || !complete) {
dout(10) << " touching wanted dn " << *dn << dendl;
mdcache->touch_dentry(dn);
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace(2)))
+ mdcache->mds->heartbeat_reset();
}
}
// open & force frags
while (!undef_inodes.empty()) {
CInode *in = undef_inodes.front();
+
undef_inodes.pop_front();
in->state_clear(CInode::STATE_REJOINUNDEF);
mdcache->opened_undef_inode(in);
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace()))
+ mdcache->mds->heartbeat_reset();
}
// dirty myself to remove stale snap dentries
_rm.clear();
};
+ int count = 0;
for (auto &key : stales) {
unsigned size = key.length() + sizeof(__u32);
if (write_size + size > max_write_size)
write_size += size;
_rm.emplace(key);
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace(2)))
+ mdcache->mds->heartbeat_reset();
}
for (auto &key : to_remove) {
write_size += size;
_rm.emplace(std::move(key));
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace(2)))
+ mdcache->mds->heartbeat_reset();
}
bufferlist bl;
write_size += size;
_set[std::move(item.key)].swap(bl);
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace()))
+ mdcache->mds->heartbeat_reset();
}
commit_one(true);
// fnode.snap_purged_thru = realm->get_last_destroyed();
}
- size_t count = 0;
+ size_t items_count = 0;
if (state_test(CDir::STATE_FRAGMENTING) && is_new()) {
- count = get_num_head_items() + get_num_snap_items();
+ items_count = get_num_head_items() + get_num_snap_items();
} else {
for (elist<CDentry*>::iterator it = dirty_dentries.begin(); !it.end(); ++it)
- ++count;
+ ++items_count;
}
vector<string> to_remove;
// reverve enough memories, which maybe larger than the actually needed
- to_remove.reserve(count);
+ to_remove.reserve(items_count);
vector<dentry_commit_item> to_set;
// reverve enough memories, which maybe larger than the actually needed
- to_set.reserve(count);
+ to_set.reserve(items_count);
// for dir fragtrees
bufferlist dfts(CEPH_PAGE_SIZE);
}
};
+ int count = 0;
if (state_test(CDir::STATE_FRAGMENTING) && is_new()) {
ceph_assert(committed_version == 0);
for (auto p = items.begin(); p != items.end(); ) {
if (dn->get_linkage()->is_null())
continue;
write_one(dn);
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace()))
+ mdcache->mds->heartbeat_reset();
}
} else {
for (auto p = dirty_dentries.begin(); !p.end(); ) {
CDentry *dn = *p;
++p;
write_one(dn);
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace()))
+ mdcache->mds->heartbeat_reset();
}
}
if (committed_version == get_version())
mark_clean();
+ int count = 0;
+
// dentries clean?
for (auto p = dirty_dentries.begin(); !p.end(); ) {
CDentry *dn = *p;
dout(15) << " dir " << committed_version << " < dn " << dn->get_version() << " still dirty " << *dn << dendl;
ceph_assert(dn->is_dirty());
}
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace()))
+ mdcache->mds->heartbeat_reset();
}
// finishers?
bool were_waiters = !waiting_for_commit.empty();
-
+
auto it = waiting_for_commit.begin();
while (it != waiting_for_commit.end()) {
auto _it = it;
mdcache->mds->queue_waiters(t);
waiting_for_commit.erase(it);
it = _it;
- }
+
+ if (!(++count % mdcache->mds->heartbeat_reset_grace()))
+ mdcache->mds->heartbeat_reset();
+ }
// try drop dentries in this dirfrag if it's about to be purged
if (!inode->is_base() && get_parent_dir()->inode->is_stray() &&
q.push_back(in);
}
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
for (auto& in : q) {
remove_inode_recursive(in);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
} else {
open_ino(p.first, (int64_t)-1, fin, false);
}
- if (!(cap_imports_num_opening % 1000))
+ if (!(cap_imports_num_opening % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
rejoin_pending_snaprealms.insert(in);
}
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
}
}
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
n += mds->locker->issue_caps(in);
}
- if ((count % 1000) + n >= 1000)
+ if ((count % mds->heartbeat_reset_grace()) + n >= mds->heartbeat_reset_grace())
mds->heartbeat_reset();
count += n;
}
rejoin_check_q.push_back(in);
}
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
if (in->filelock.get_state() == LOCK_XLOCKSNAP)
mds->locker->issue_caps(in);
mds->locker->check_inode_max_size(in);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
rejoin_check_q.clear();
for (CInode *in : rejoin_recover_q) {
mds->locker->file_recover(&in->filelock);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
if (!rejoin_recover_q.empty()) {
if (in) {
in->make_path(r->path);
dout(10) << " have " << r->path << " " << *in << dendl;
+
+ /*
+ * If the the CInode was just created by using openc in current
+ * auth MDS, but the client just sends a getattr request to another
+ * replica MDS. Then here it will make a path of '#INODE-NUMBER'
+ * only because the CInode hasn't been linked yet, and the replica
+ * MDS will keep retrying until the auth MDS flushes the mdlog and
+ * the C_MDS_openc_finish and link_primary_inode are called at most
+ * 5 seconds later.
+ */
+ if (!in->get_parent_dn() && in->is_auth()) {
+ mds->mdlog->flush();
+ }
}
mds->send_message_mds(r, mds_rank_t(m->get_source().num()));
}
void MDCache::encode_replica_stray(CDentry *straydn, mds_rank_t who, bufferlist& bl)
{
ceph_assert(straydn->get_num_auth_pins());
- ENCODE_START(1, 1, bl);
+ ENCODE_START(2, 1, bl);
uint64_t features = mds->mdsmap->get_up_features();
encode_replica_inode(get_myin(), who, bl, features);
encode_replica_dir(straydn->get_dir()->inode->get_parent_dn()->get_dir(), who, bl);
encode_replica_inode(straydn->get_dir()->inode, who, bl, features);
encode_replica_dir(straydn->get_dir(), who, bl);
encode_replica_dentry(straydn, who, bl);
+ if (!straydn->get_projected_linkage()->is_null()) {
+ encode_replica_inode(straydn->get_projected_linkage()->get_inode(), who, bl, features);
+ }
ENCODE_FINISH(bl);
}
-void MDCache::decode_replica_stray(CDentry *&straydn, const bufferlist &bl, mds_rank_t from)
+void MDCache::decode_replica_stray(CDentry *&straydn, CInode **in, const bufferlist &bl, mds_rank_t from)
{
MDSContext::vec finished;
auto p = bl.cbegin();
- DECODE_START(1, p);
+ DECODE_START(2, p);
CInode *mdsin = nullptr;
decode_replica_inode(mdsin, p, NULL, finished);
CDir *mdsdir = nullptr;
decode_replica_dir(straydir, p, strayin, from, finished);
decode_replica_dentry(straydn, p, straydir, finished);
+ if (struct_v >= 2 && in) {
+ decode_replica_inode(*in, p, straydn, finished);
+ }
if (!finished.empty())
mds->queue_waiters(finished);
DECODE_FINISH(p);
{
// straydn
CDentry *straydn = nullptr;
+ CInode *strayin = nullptr;
if (m->straybl.length())
- decode_replica_stray(straydn, m->straybl, mds_rank_t(m->get_source().num()));
+ decode_replica_stray(straydn, &strayin, m->straybl, mds_rank_t(m->get_source().num()));
CDir *dir = get_dirfrag(m->get_dirfrag());
if (!dir) {
CInode *in = p.second;
if (in->is_head())
mds->locker->eval(in, CEPH_CAP_LOCKS);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
void decode_replica_inode(CInode *&in, bufferlist::const_iterator& p, CDentry *dn, MDSContext::vec& finished);
void encode_replica_stray(CDentry *straydn, mds_rank_t who, bufferlist& bl);
- void decode_replica_stray(CDentry *&straydn, const bufferlist &bl, mds_rank_t from);
+ void decode_replica_stray(CDentry *&straydn, CInode **in, const bufferlist &bl, mds_rank_t from);
// -- namespace --
void encode_remote_dentry_link(CDentry::linkage_t *dnl, bufferlist& bl);
server = new Server(this, &metrics_handler);
locker = new Locker(this, mdcache);
+ _heartbeat_reset_grace = g_conf().get_val<uint64_t>("mds_heartbeat_reset_grace");
heartbeat_grace = g_conf().get_val<double>("mds_heartbeat_grace");
op_tracker.set_complaint_and_threshold(cct->_conf->mds_op_complaint_time,
cct->_conf->mds_op_log_threshold);
}
void MDSRank::apply_blocklist(const std::set<entity_addr_t> &addrs, epoch_t epoch) {
- auto victims = server->apply_blocklist(addrs);
- dout(4) << __func__ << ": killed " << victims << " blocklisted sessions ("
+ auto victims = server->apply_blocklist();
+ dout(4) << __func__ << ": killed " << victims << ", blocklisted sessions ("
<< addrs.size() << " blocklist entries, "
<< sessionmap.get_sessions().size() << ")" << dendl;
if (victims) {
// into reconnect, so that we don't wait for them.
objecter->enable_blocklist_events();
std::set<entity_addr_t> blocklist;
+ std::set<entity_addr_t> range;
epoch_t epoch = 0;
- objecter->with_osdmap([&blocklist, &epoch](const OSDMap& o) {
- o.get_blocklist(&blocklist);
+ objecter->with_osdmap([&blocklist, &range, &epoch](const OSDMap& o) {
+ o.get_blocklist(&blocklist, &range);
epoch = o.get_epoch();
});
"exi", PerfCountersBuilder::PRIO_INTERESTING);
mds_plb.add_u64_counter(l_mds_imported_inodes, "imported_inodes", "Imported inodes",
"imi", PerfCountersBuilder::PRIO_INTERESTING);
+ mds_plb.add_u64_counter(l_mds_slow_reply, "slow_reply", "Slow replies", "slr",
+ PerfCountersBuilder::PRIO_INTERESTING);
// caps msg stats
mds_plb.add_u64_counter(l_mdss_handle_client_caps, "handle_client_caps",
"mds_recall_warning_decay_rate",
"mds_request_load_average_decay_rate",
"mds_session_cache_liveness_decay_rate",
+ "mds_heartbeat_reset_grace",
"mds_heartbeat_grace",
"mds_session_cap_acquisition_decay_rate",
"mds_max_caps_per_client",
{
// XXX with or without mds_lock!
+ if (changed.count("mds_heartbeat_reset_grace")) {
+ _heartbeat_reset_grace = conf.get_val<uint64_t>("mds_heartbeat_reset_grace");
+ }
if (changed.count("mds_heartbeat_grace")) {
heartbeat_grace = conf.get_val<double>("mds_heartbeat_grace");
}
l_mds_request,
l_mds_reply,
l_mds_reply_latency,
+ l_mds_slow_reply,
l_mds_forward,
l_mds_dir_fetch,
l_mds_dir_commit,
* of code while holding the mds_lock
*/
void heartbeat_reset();
+ int heartbeat_reset_grace(int count=1) {
+ return count * _heartbeat_reset_grace;
+ }
/**
* Report state DAMAGED to the mon, and then pass on to respawn(). Call
ceph::heartbeat_handle_d *hb = nullptr; // Heartbeat for threads using mds_lock
double heartbeat_grace;
+ int _heartbeat_reset_grace;
std::map<mds_rank_t, version_t> peer_mdsmap_epoch;
};
#endif // MDS_RANK_H_
-
ceph_assert(dir->get_inode()->dirfragtree.is_leaf(dir->get_frag()));
dir->fetch(gather.new_sub());
- if (!(++num_opening_dirfrags % 1000))
+ if (!(++num_opening_dirfrags % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
mdcache->open_ino(ino, pool, fin, false);
}
- if (!(num_opening_inodes % 1000))
+ if (!(num_opening_inodes % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
dir_max_entries = g_conf().get_val<uint64_t>("mds_dir_max_entries");
bal_fragment_size_max = g_conf().get_val<int64_t>("mds_bal_fragment_size_max");
supported_features = feature_bitset_t(CEPHFS_FEATURES_MDS_SUPPORTED);
+ supported_metric_spec = feature_bitset_t(CEPHFS_METRIC_FEATURES_ALL);
}
void Server::dispatch(const cref_t<Message> &m)
metrics_handler->add_session(session);
ceph_assert(session->get_connection());
auto reply = make_message<MClientSession>(CEPH_SESSION_OPEN);
- if (session->info.has_feature(CEPHFS_FEATURE_MIMIC))
+ if (session->info.has_feature(CEPHFS_FEATURE_MIMIC)) {
reply->supported_features = supported_features;
+ reply->metric_spec = supported_metric_spec;
+ }
mds->send_message_client(reply, session);
if (mdcache->is_readonly()) {
auto m = make_message<MClientSession>(CEPH_SESSION_FORCE_RO);
metrics_handler->add_session(session);
auto reply = make_message<MClientSession>(CEPH_SESSION_OPEN);
- if (session->info.has_feature(CEPHFS_FEATURE_MIMIC))
+ if (session->info.has_feature(CEPHFS_FEATURE_MIMIC)) {
reply->supported_features = supported_features;
+ reply->metric_spec = supported_metric_spec;
+ }
mds->send_message_client(reply, session);
if (mdcache->is_readonly())
}
}
-size_t Server::apply_blocklist(const std::set<entity_addr_t> &blocklist)
+size_t Server::apply_blocklist()
{
- bool prenautilus = mds->objecter->with_osdmap(
- [&](const OSDMap& o) {
- return o.require_osd_release < ceph_release_t::nautilus;
- });
-
std::vector<Session*> victims;
const auto& sessions = mds->sessionmap.get_sessions();
- for (const auto& p : sessions) {
- if (!p.first.is_client()) {
- // Do not apply OSDMap blocklist to MDS daemons, we find out
- // about their death via MDSMap.
- continue;
- }
-
- Session *s = p.second;
- auto inst_addr = s->info.inst.addr;
- // blocklist entries are always TYPE_ANY for nautilus+
- inst_addr.set_type(entity_addr_t::TYPE_ANY);
- if (blocklist.count(inst_addr)) {
- victims.push_back(s);
- continue;
- }
- if (prenautilus) {
- // ...except pre-nautilus, they were TYPE_LEGACY
- inst_addr.set_type(entity_addr_t::TYPE_LEGACY);
- if (blocklist.count(inst_addr)) {
- victims.push_back(s);
+ mds->objecter->with_osdmap(
+ [&](const OSDMap& o) {
+ for (const auto& p : sessions) {
+ if (!p.first.is_client()) {
+ // Do not apply OSDMap blocklist to MDS daemons, we find out
+ // about their death via MDSMap.
+ continue;
+ }
+ if (o.is_blocklisted(p.second->info.inst.addr)) {
+ victims.push_back(p.second);
+ }
}
- }
- }
+ });
for (const auto& s : victims) {
kill_session(s, nullptr);
metrics_handler->add_session(session);
// notify client of success with an OPEN
auto reply = make_message<MClientSession>(CEPH_SESSION_OPEN);
- if (session->info.has_feature(CEPHFS_FEATURE_MIMIC))
+ if (session->info.has_feature(CEPHFS_FEATURE_MIMIC)) {
reply->supported_features = supported_features;
+ reply->metric_spec = supported_metric_spec;
+ }
mds->send_message_client(reply, session);
mds->clog->debug() << "reconnect by " << session->info.inst << " after " << delay;
}
mds->logger->inc(l_mds_reply);
utime_t lat = ceph_clock_now() - req->get_recv_stamp();
mds->logger->tinc(l_mds_reply_latency, lat);
+ if (lat >= g_conf()->mds_op_complaint_time) {
+ mds->logger->inc(l_mds_slow_reply);
+ }
if (client_inst.name.is_client()) {
mds->sessionmap.hit_session(mdr->session);
}
mds->logger->inc(l_mds_reply);
utime_t lat = ceph_clock_now() - mdr->client_request->get_recv_stamp();
mds->logger->tinc(l_mds_reply_latency, lat);
+ if (lat >= g_conf()->mds_op_complaint_time) {
+ mds->logger->inc(l_mds_slow_reply);
+ }
if (session && client_inst.name.is_client()) {
mds->sessionmap.hit_session(session);
}
CDentry *straydn = NULL;
if (m->straybl.length() > 0) {
- mdcache->decode_replica_stray(straydn, m->straybl, from);
+ mdcache->decode_replica_stray(straydn, nullptr, m->straybl, from);
ceph_assert(straydn);
m->straybl.clear();
}
void find_idle_sessions();
void kill_session(Session *session, Context *on_safe);
- size_t apply_blocklist(const std::set<entity_addr_t> &blocklist);
+ size_t apply_blocklist();
void journal_close_session(Session *session, int state, Context *on_safe);
size_t get_num_pending_reclaim() const { return client_reclaim_gather.size(); }
std::set<client_t> client_reconnect_denied; // clients whose reconnect msg have been denied .
feature_bitset_t supported_features;
+ feature_bitset_t supported_metric_spec;
feature_bitset_t required_client_features;
bool forward_all_requests_to_auth = false;
in->state_clear(CInode::STATE_AUTH);
ceph_assert(g_conf()->mds_kill_journal_replay_at != 2);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
if (lump.is_importing())
dn->state_set(CDentry::STATE_AUTH);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
// Make null dentries the first things we trim
dout(10) << "EMetaBlob.replay pushing to bottom of lru " << *dn << dendl;
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
else
dir->state_set(CDir::STATE_AUTH);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
dir->state_clear(CDir::STATE_AUTH);
mds->mdcache->adjust_subtree_auth(dir, CDIR_AUTH_UNDEF);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
ceph_assert(p->first->is_dir());
mds->mdcache->adjust_subtree_after_rename(p->first, p->second, false);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
} else
mds->mdcache->remove_inode_recursive(in);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
if (client)
client->got_journaled_agree(p.second, logseg);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
ceph_assert(in);
mds->mdcache->add_recovered_truncate(in, logseg);
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
for (const auto& p : truncate_finish) {
mds->mdcache->remove_recovered_truncate(in, ls);
}
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
dout(10) << "EMetaBlob.replay destroyed " << *p << ", not in cache" << dendl;
}
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
mds->mdcache->open_file_table.note_destroyed_inos(logseg->seq, destroyed_inodes);
}
}
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
}
}
- if (!(++count % 1000))
+ if (!(++count % mds->heartbeat_reset_grace()))
mds->heartbeat_reset();
}
f->open_object_section("service");
f->dump_string("type", key.type);
f->dump_string("id", key.name);
+ f->dump_string("ceph_version", ceph_version);
if (!id.empty()) {
f->dump_string("name", id);
}
}
}
+void ActivePyModules::reregister_mds_perf_queries()
+{
+ server.reregister_mds_perf_queries();
+}
+
PyObject *ActivePyModules::get_mds_perf_counters(MetricQueryID query_id)
{
MDSPerfCollector collector(query_id);
f.close_section(); // i
}
f.close_section(); // counters
+
+ f.open_array_section("last_updated");
+ f.dump_float("last_updated_mono", collector.last_updated_mono);
+ f.close_section(); // last_updated
+
f.close_section(); // metrics
return f.get();
const MDSPerfMetricQuery &query,
const std::optional<MDSPerfMetricLimit> &limit);
void remove_mds_perf_query(MetricQueryID query_id);
+ void reregister_mds_perf_queries();
PyObject *get_mds_perf_counters(MetricQueryID query_id);
bool get_store(const std::string &module_name,
Py_RETURN_NONE;
}
+static PyObject*
+ceph_reregister_mds_perf_queries(BaseMgrModule *self, PyObject *args)
+{
+ self->py_modules->reregister_mds_perf_queries();
+ Py_RETURN_NONE;
+}
+
static PyObject*
ceph_get_mds_perf_counters(BaseMgrModule *self, PyObject *args)
{
{"_ceph_remove_mds_perf_query", (PyCFunction)ceph_remove_mds_perf_query,
METH_VARARGS, "Remove an mds perf query"},
+ {"_ceph_reregister_mds_perf_queries", (PyCFunction)ceph_reregister_mds_perf_queries,
+ METH_NOARGS, "Re-register mds perf queries"},
+
{"_ceph_get_mds_perf_counters", (PyCFunction)ceph_get_mds_perf_counters,
METH_VARARGS, "Get mds perf counters"},
return mds_perf_metric_collector.remove_query(query_id);
}
+void DaemonServer::reregister_mds_perf_queries()
+{
+ mds_perf_metric_collector.reregister_queries();
+}
+
int DaemonServer::get_mds_perf_counters(MDSPerfCollector *collector)
{
return mds_perf_metric_collector.get_counters(collector);
MetricQueryID add_mds_perf_query(const MDSPerfMetricQuery &query,
const std::optional<MDSPerfMetricLimit> &limit);
int remove_mds_perf_query(MetricQueryID query_id);
+ void reregister_mds_perf_queries();
int get_mds_perf_counters(MDSPerfCollector *collector);
virtual const char** get_tracked_conf_keys() const override;
// update delayed rank set
delayed_ranks = metric_report.rank_metrics_delayed;
dout(20) << ": delayed ranks=[" << delayed_ranks << "]" << dendl;
+
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &last_updated_mono);
}
int MDSPerfMetricCollector::get_counters(PerfCollector *collector) {
get_delayed_ranks(&c->delayed_ranks);
+ get_last_updated(&c->last_updated_mono);
return r;
}
ceph_assert(ceph_mutex_is_locked(lock));
*ranks = delayed_ranks;
}
+
+void MDSPerfMetricCollector::get_last_updated(utime_t *ts) {
+ ceph_assert(ceph_mutex_is_locked(lock));
+ *ts = utime_t(last_updated_mono);
+}
MDSPerfMetrics> {
private:
std::set<mds_rank_t> delayed_ranks;
+ struct timespec last_updated_mono;
void get_delayed_ranks(std::set<mds_rank_t> *ranks);
+ void get_last_updated(utime_t *ts);
public:
MDSPerfMetricCollector(MetricListener &listener);
struct MDSPerfCollector : PerfCollector {
std::map<MDSPerfMetricKey, PerformanceCounters> counters;
std::set<mds_rank_t> delayed_ranks;
+ utime_t last_updated_mono;
MDSPerfCollector(MetricQueryID query_id)
: PerfCollector(query_id) {
}
}
+template <typename Query, typename Limit, typename Key, typename Report>
+void MetricCollector<Query, Limit, Key, Report>::reregister_queries() {
+ dout(20) << dendl;
+ listener.handle_query_updated();
+}
+
template <typename Query, typename Limit, typename Key, typename Report>
int MetricCollector<Query, Limit, Key, Report>::get_counters_generic(
MetricQueryID query_id, std::map<Key, PerformanceCounters> *c) {
void remove_all_queries();
+ void reregister_queries();
+
std::map<Query, Limits> get_queries() const {
std::lock_guard locker(lock);
}
if (g_conf()->mon_cluster_log_to_file) {
+ if (this->log_rotated.exchange(false)) {
+ this->log_external_close_fds();
+ }
+
auto p = channel_fds.find(channel);
int fd;
if (p == channel_fds.end()) {
#ifndef CEPH_LOGMONITOR_H
#define CEPH_LOGMONITOR_H
+#include <atomic>
#include <map>
#include <set>
std::map<std::string, int> channel_fds;
fmt::memory_buffer file_log_buffer;
+ std::atomic<bool> log_rotated = false;
struct log_channel_info {
void check_subs();
void check_sub(Subscription *s);
+ void reopen_logs() {
+ this->log_rotated.store(true);
+ }
void log_external_close_fds();
void log_external(const LogEntry& le);
void log_external_backlog();
"Reads secrets from JSON file via `-i <file>` (see man page).",
"osd", "rw")
COMMAND("osd blocklist "
+ "name=range,type=CephString,goodchars=[range],req=false "
"name=blocklistop,type=CephChoices,strings=add|rm "
"name=addr,type=CephEntityAddr "
"name=expire,type=CephFloat,range=0.0,req=false",
derr << "*** Got Signal " << sig_str(signum) << " ***" << dendl;
if (signum == SIGHUP) {
sighup_handler(signum);
+ logmon()->reopen_logs();
} else {
ceph_assert(signum == SIGINT || signum == SIGTERM);
shutdown();
do_propose = true;
}
}
+ for (auto p = osdmap.range_blocklist.begin();
+ p != osdmap.range_blocklist.end();
+ ++p) {
+ if (p->second < now) {
+ dout(10) << "expiring range_blocklist item " << p->first
+ << " expired " << p->second << " < now " << now << dendl;
+ pending_inc.old_range_blocklist.push_back(p->first);
+ do_propose = true;
+ }
+ }
if (try_prune_purged_snaps()) {
do_propose = true;
f->close_section();
f->flush(rdata);
}
- ss << "listed " << osdmap.blocklist.size() << " entries";
+ if (f)
+ f->open_array_section("range_blocklist");
+
+ for (auto p = osdmap.range_blocklist.begin();
+ p != osdmap.range_blocklist.end();
+ ++p) {
+ if (f) {
+ f->open_object_section("entry");
+ f->dump_string("range", p->first.get_legacy_str());
+ f->dump_stream("until") << p->second;
+ f->close_section();
+ } else {
+ stringstream ss;
+ string s;
+ ss << p->first << " " << p->second;
+ getline(ss, s);
+ s += "\n";
+ rdata.append(s);
+ }
+ }
+ if (f) {
+ f->close_section();
+ f->flush(rdata);
+ }
+ ss << "listed " << osdmap.blocklist.size() + osdmap.range_blocklist.size() << " entries";
} else if (prefix == "osd pool ls") {
string detail;
prefix == "osd blacklist clear") {
pending_inc.new_blocklist.clear();
std::list<std::pair<entity_addr_t,utime_t > > blocklist;
- osdmap.get_blocklist(&blocklist);
+ std::list<std::pair<entity_addr_t,utime_t > > range_b;
+ osdmap.get_blocklist(&blocklist, &range_b);
for (const auto &entry : blocklist) {
pending_inc.old_blocklist.push_back(entry.first);
}
+ for (const auto &entry : range_b) {
+ pending_inc.old_range_blocklist.push_back(entry.first);
+ }
ss << " removed all blocklist entries";
getline(ss, rs);
wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
return true;
} else if (prefix == "osd blocklist" ||
prefix == "osd blacklist") {
- string addrstr;
+ string addrstr, rangestr;
+ bool range = false;
cmd_getval(cmdmap, "addr", addrstr);
+ if (cmd_getval(cmdmap, "range", rangestr)) {
+ if (rangestr == "range") {
+ range = true;
+ } else {
+ ss << "Did you mean to specify \"osd blocklist range\"?";
+ err = -EINVAL;
+ goto reply;
+ }
+ }
entity_addr_t addr;
if (!addr.parse(addrstr)) {
ss << "unable to parse address " << addrstr;
goto reply;
}
else {
- if (osdmap.require_osd_release >= ceph_release_t::nautilus) {
- // always blocklist type ANY
- addr.set_type(entity_addr_t::TYPE_ANY);
+ if (range) {
+ if (!addr.maybe_cidr()) {
+ ss << "You specified a range command, but " << addr
+ << " does not parse as a CIDR range";
+ err = -EINVAL;
+ goto reply;
+ }
+ addr.type = entity_addr_t::TYPE_CIDR;
+ err = check_cluster_features(CEPH_FEATUREMASK_RANGE_BLOCKLIST, ss);
+ if (err) {
+ goto reply;
+ }
+ if ((addr.is_ipv4() && addr.get_nonce() > 32) ||
+ (addr.is_ipv6() && addr.get_nonce() > 128)) {
+ ss << "Too many bits in range for that protocol!";
+ err = -EINVAL;
+ goto reply;
+ }
} else {
- addr.set_type(entity_addr_t::TYPE_LEGACY);
+ if (osdmap.require_osd_release >= ceph_release_t::nautilus) {
+ // always blocklist type ANY
+ addr.set_type(entity_addr_t::TYPE_ANY);
+ } else {
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ }
}
string blocklistop;
g_conf()->mon_osd_blocklist_default_expire);
expires += d;
- pending_inc.new_blocklist[addr] = expires;
+ auto add_to_pending_blocklists = [](auto& nb, auto& ob,
+ const auto& addr,
+ const auto& expires) {
+ nb[addr] = expires;
+ // cancel any pending un-blocklisting request too
+ auto it = std::find(ob.begin(),
+ ob.end(), addr);
+ if (it != ob.end()) {
+ ob.erase(it);
+ }
+ };
+ if (range) {
+ add_to_pending_blocklists(pending_inc.new_range_blocklist,
+ pending_inc.old_range_blocklist,
+ addr, expires);
- {
- // cancel any pending un-blocklisting request too
- auto it = std::find(pending_inc.old_blocklist.begin(),
- pending_inc.old_blocklist.end(), addr);
- if (it != pending_inc.old_blocklist.end()) {
- pending_inc.old_blocklist.erase(it);
- }
- }
+ } else {
+ add_to_pending_blocklists(pending_inc.new_blocklist,
+ pending_inc.old_blocklist,
+ addr, expires);
+ }
ss << "blocklisting " << addr << " until " << expires << " (" << d << " sec)";
getline(ss, rs);
get_last_committed() + 1));
return true;
} else if (blocklistop == "rm") {
- if (osdmap.is_blocklisted(addr) ||
- pending_inc.new_blocklist.count(addr)) {
- if (osdmap.is_blocklisted(addr))
- pending_inc.old_blocklist.push_back(addr);
- else
- pending_inc.new_blocklist.erase(addr);
+ auto rm_from_pending_blocklists = [](const auto& addr,
+ auto& blocklist,
+ auto& ob, auto& pb) {
+ if (blocklist.count(addr)) {
+ ob.push_back(addr);
+ return true;
+ } else if (pb.count(addr)) {
+ pb.erase(addr);
+ return true;
+ }
+ return false;
+ };
+ if ((!range && rm_from_pending_blocklists(addr, osdmap.blocklist,
+ pending_inc.old_blocklist,
+ pending_inc.new_blocklist)) ||
+ (range && rm_from_pending_blocklists(addr, osdmap.range_blocklist,
+ pending_inc.old_range_blocklist,
+ pending_inc.new_range_blocklist))) {
ss << "un-blocklisting " << addr;
getline(ss, rs);
wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
newp.peering_crush_bucket_count = new_site_count;
newp.peering_crush_mandatory_member = remaining_site;
newp.min_size = pgi.second.min_size / 2; // only support 2 zones now
- newp.last_force_op_resend = pending_inc.epoch;
+ newp.set_last_force_op_resend(pending_inc.epoch);
}
}
propose_pending();
for (auto pgi : osdmap.pools) {
if (pgi.second.peering_crush_bucket_count) {
pg_pool_t& newp = *pending_inc.get_new_pool(pgi.first, &pgi.second);
- newp.last_force_op_resend = pending_inc.epoch;
+ newp.set_last_force_op_resend(pending_inc.epoch);
}
}
propose_pending();
newp.peering_crush_bucket_count = osdmap.stretch_bucket_count;
newp.peering_crush_mandatory_member = CRUSH_ITEM_NONE;
newp.min_size = g_conf().get_val<uint64_t>("mon_stretch_pool_min_size");
- newp.last_force_op_resend = pending_inc.epoch;
+ newp.set_last_force_op_resend(pending_inc.epoch);
}
}
propose_pending();
import sys
import argparse
+import errno
+import platform
from subprocess import Popen
def ceph_options(mntops):
mount_cmd.communicate()
if (mount_cmd.returncode != 0):
- print("Mount failed with status code: {}".format(mount_cmd.returncode))
+ if (platform.system() == "Linux"):
+ if (mount_cmd.returncode != errno.EBUSY):
+ print("Mount failed with status code: {}".format(mount_cmd.returncode))
+ else:
+ print("Mount failed with status code: {}".format(mount_cmd.returncode))
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))
}
std::string addr;
- addr += eaddr.ip_only_to_str();
- addr += ":";
- addr += std::to_string(eaddr.get_port());
+ addr += eaddr.ip_n_port_to_str();
/* If this will overrun cci_mons, stop here */
if (monaddrs.length() + 1 + addr.length() + 1 > sizeof(cci->cci_mons))
break;
}
return host_ip ? host_ip : "";
}
+
+std::string entity_addr_t::ip_n_port_to_str() const
+{
+ std::string addr;
+ addr += ip_only_to_str();
+ if (is_ipv6()) {
+ addr = '[' + addr + ']';
+ }
+ addr += ':';
+ addr += std::to_string(get_port());
+ return addr;
+}
+
* an entity's network address.
* includes a random value that prevents it from being reused.
* thus identifies a particular process instance.
- * ipv4 for now.
+ *
+ * This also happens to work to support cidr ranges, in which
+ * case the nonce contains the netmask. It's great!
*/
struct entity_addr_t {
typedef enum {
TYPE_LEGACY = 1, ///< legacy msgr1 protocol (ceph jewel and older)
TYPE_MSGR2 = 2, ///< msgr2 protocol (new in ceph kraken)
TYPE_ANY = 3, ///< ambiguous
+ TYPE_CIDR = 4,
} type_t;
static const type_t TYPE_DEFAULT = TYPE_MSGR2;
static std::string_view get_type_name(int t) {
case TYPE_LEGACY: return "v1";
case TYPE_MSGR2: return "v2";
case TYPE_ANY: return "any";
+ case TYPE_CIDR: return "cidr";
default: return "???";
}
};
bool is_legacy() const { return type == TYPE_LEGACY; }
bool is_msgr2() const { return type == TYPE_MSGR2; }
bool is_any() const { return type == TYPE_ANY; }
+ // this isn't a guarantee; some client addrs will match it
+ bool maybe_cidr() const { return get_port() == 0 && nonce != 0; }
__u32 get_nonce() const { return nonce; }
void set_nonce(__u32 n) { nonce = n; }
}
std::string ip_only_to_str() const;
+ std::string ip_n_port_to_str() const;
std::string get_legacy_str() const {
std::ostringstream ss;
o->flush();
{
const string& prefix = o->get_omap_prefix();
- KeyValueDB::Iterator it = db->get_iterator(prefix);
string head, tail;
o->get_omap_header(&head);
o->get_omap_tail(&tail);
+ KeyValueDB::Iterator it = db->get_iterator(prefix, 0, KeyValueDB::IteratorBounds{head, tail});
it->lower_bound(head);
while (it->valid()) {
if (it->key() == head) {
o->flush();
{
const string& prefix = o->get_omap_prefix();
- KeyValueDB::Iterator it = db->get_iterator(prefix);
string head, tail;
o->get_omap_key(string(), &head);
o->get_omap_tail(&tail);
+ KeyValueDB::Iterator it = db->get_iterator(prefix, 0, KeyValueDB::IteratorBounds{head, tail});
it->lower_bound(head);
while (it->valid()) {
if (it->key() >= tail) {
}
o->flush();
dout(10) << __func__ << " has_omap = " << (int)o->onode.has_omap() <<dendl;
- KeyValueDB::Iterator it = db->get_iterator(o->get_omap_prefix());
+ auto bounds = KeyValueDB::IteratorBounds();
+ if (o->onode.has_omap()) {
+ std::string lower_bound, upper_bound;
+ o->get_omap_key(string(), &lower_bound);
+ o->get_omap_tail(&upper_bound);
+ bounds.lower_bound = std::move(lower_bound);
+ bounds.upper_bound = std::move(upper_bound);
+ }
+ KeyValueDB::Iterator it = db->get_iterator(o->get_omap_prefix(), 0, std::move(bounds));
return ObjectMap::ObjectMapIterator(new OmapIteratorImpl(c, o, it));
}
o->extent_map.punch_hole(c, offset, length, &wctx->old_extents);
// Zero detection -- small block
- if (!bl.is_zero()) {
+ if (!cct->_conf->bluestore_zero_block_detection || !bl.is_zero()) {
BlobRef b = c->new_blob();
_pad_zeros(&bl, &b_off0, min_alloc_size);
wctx->write(offset, b, alloc_len, b_off0, bl, b_off, length, false, true);
o->extent_map.punch_hole(c, offset, length, &wctx->old_extents);
// Zero detection -- small block
- if (!bl.is_zero()) {
+ if (!cct->_conf->bluestore_zero_block_detection || !bl.is_zero()) {
_pad_zeros(&bl, &b_off0, chunk_size);
dout(20) << __func__ << " reuse blob " << *b << std::hex
o->extent_map.punch_hole(c, offset, length, &wctx->old_extents);
// Zero detection -- small block
- if (!bl.is_zero()) {
+ if (!cct->_conf->bluestore_zero_block_detection || !bl.is_zero()) {
uint64_t chunk_size = b->get_blob().get_chunk_size(block_size);
_pad_zeros(&bl, &b_off0, chunk_size);
o->extent_map.punch_hole(c, offset, length, &wctx->old_extents);
// Zero detection -- small block
- if (!bl.is_zero()) {
+ if (!cct->_conf->bluestore_zero_block_detection || !bl.is_zero()) {
// new blob.
BlobRef b = c->new_blob();
_pad_zeros(&bl, &b_off0, block_size);
blp.copy(l, t);
// Zero detection -- big block
- if (!t.is_zero()) {
+ if (!cct->_conf->bluestore_zero_block_detection || !t.is_zero()) {
wctx->write(offset, b, l, b_off, t, b_off, l, false, new_blob);
dout(20) << __func__ << " schedule write big: 0x"
// otherwise rewrite_omap_key will corrupt data
ceph_assert(oldo->onode.flags == newo->onode.flags);
const string& prefix = newo->get_omap_prefix();
- KeyValueDB::Iterator it = db->get_iterator(prefix);
string head, tail;
oldo->get_omap_header(&head);
oldo->get_omap_tail(&tail);
+ KeyValueDB::Iterator it = db->get_iterator(prefix, 0, KeyValueDB::IteratorBounds{head, tail});
it->lower_bound(head);
while (it->valid()) {
if (it->key() >= tail) {
f->close_section();
} else if (prefix == "dump_blocklist") {
list<pair<entity_addr_t,utime_t> > bl;
+ list<pair<entity_addr_t,utime_t> > rbl;
OSDMapRef curmap = service.get_osdmap();
+ curmap->get_blocklist(&bl, &rbl);
f->open_array_section("blocklist");
- curmap->get_blocklist(&bl);
for (list<pair<entity_addr_t,utime_t> >::iterator it = bl.begin();
it != bl.end(); ++it) {
f->open_object_section("entry");
f->close_section(); //entry
}
f->close_section(); //blocklist
+ f->open_array_section("range_blocklist");
+ for (list<pair<entity_addr_t,utime_t> >::iterator it = rbl.begin();
+ it != rbl.end(); ++it) {
+ f->open_object_section("entry");
+ f->open_object_section("entity_addr_t");
+ it->first.dump(f);
+ f->close_section(); //entity_addr_t
+ it->second.localtime(f->dump_stream("expire_time"));
+ f->close_section(); //entry
+ }
+ f->close_section(); //blocklist
} else if (prefix == "dump_watchers") {
list<obj_watch_item_t> watchers;
// scan pg's
}
{
- uint8_t target_v = 9; // if bumping this, be aware of stretch_mode target_v 10!
+ uint8_t target_v = 9; // if bumping this, be aware of range_blocklist 11
if (!HAVE_FEATURE(features, SERVER_LUMINOUS)) {
target_v = 2;
} else if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) {
if (change_stretch_mode) {
target_v = std::max((uint8_t)10, target_v);
}
+ if (!new_range_blocklist.empty() ||
+ !old_range_blocklist.empty()) {
+ target_v = std::max((uint8_t)11, target_v);
+ }
ENCODE_START(target_v, 1, bl); // extended, osd-only data
if (target_v < 7) {
encode_addrvec_map_as_addr(new_hb_back_up, bl, features);
encode(new_stretch_mode_bucket, bl);
encode(stretch_mode_enabled, bl);
}
+ if (target_v >= 11) {
+ encode(new_range_blocklist, bl, features);
+ encode(old_range_blocklist, bl, features);
+ }
ENCODE_FINISH(bl); // osd-only data
}
decode(new_stretch_mode_bucket, bl);
decode(stretch_mode_enabled, bl);
}
-
+ if (struct_v >= 11) {
+ decode(new_range_blocklist, bl);
+ decode(old_range_blocklist, bl);
+ }
DECODE_FINISH(bl); // osd-only data
}
for (const auto &blist : old_blocklist)
f->dump_stream("addr") << blist;
f->close_section();
+ f->open_array_section("new_range_blocklist");
+ for (const auto &blist : new_range_blocklist) {
+ stringstream ss;
+ ss << blist.first;
+ f->dump_stream(ss.str().c_str()) << blist.second;
+ }
+ f->close_section();
+ f->open_array_section("old_range_blocklist");
+ for (const auto &blist : old_range_blocklist)
+ f->dump_stream("addr") << blist;
+ f->close_section();
f->open_array_section("new_xinfo");
for (const auto &xinfo : new_xinfo) {
pool.second.last_change = e;
}
-bool OSDMap::is_blocklisted(const entity_addr_t& orig) const
+OSDMap::range_bits::range_bits() : ipv6(false) {
+ memset(&bits, 0, sizeof(bits));
+}
+
+OSDMap::range_bits::range_bits(const entity_addr_t& addr) : ipv6(false) {
+ memset(&bits, 0, sizeof(bits));
+ parse(addr);
+}
+
+void OSDMap::range_bits::get_ipv6_bytes(unsigned const char *addr,
+ uint64_t *upper, uint64_t *lower)
+{
+ *upper = ((uint64_t)(ntohl(*(uint32_t*)(addr)))) << 32 |
+ ((uint64_t)(ntohl(*(uint32_t*)(&addr[4]))));
+ *lower = ((uint64_t)(ntohl(*(uint32_t*)(&addr[8])))) << 32 |
+ ((uint64_t)(ntohl(*(uint32_t*)(&addr[12]))));
+}
+
+void OSDMap::range_bits::parse(const entity_addr_t& addr) {
+ // parse it into meaningful data
+ if (addr.is_ipv6()) {
+ get_ipv6_bytes(addr.in6_addr().sin6_addr.s6_addr,
+ &bits.ipv6.upper_64_bits, &bits.ipv6.lower_64_bits);
+ int32_t lower_shift = std::min(128-
+ static_cast<int32_t>(addr.get_nonce()), 64);
+ int32_t upper_shift = std::max(64- //(128-b.first.get_nonce())-64
+ static_cast<int32_t>(addr.get_nonce()), 0);
+
+ auto get_mask = [](int32_t shift) -> uint64_t {
+ if (shift >= 0 && shift < 64) {
+ return UINT64_MAX << shift;
+ }
+ return 0;
+ };
+
+ bits.ipv6.lower_mask = get_mask(lower_shift);
+ bits.ipv6.upper_mask = get_mask(upper_shift);
+ ipv6 = true;
+ } else if (addr.is_ipv4()) {
+ bits.ipv4.ip_32_bits = ntohl(addr.in4_addr().sin_addr.s_addr);
+ if (addr.get_nonce() > 0) {
+ bits.ipv4.mask = UINT32_MAX << (32-addr.get_nonce());
+ } else {
+ bits.ipv4.mask = 0;
+ }
+ } else {
+ // uh...
+ }
+}
+
+bool OSDMap::range_bits::matches(const entity_addr_t& addr) const {
+ if (addr.is_ipv4() && !ipv6) {
+ return ((ntohl(addr.in4_addr().sin_addr.s_addr) & bits.ipv4.mask) ==
+ (bits.ipv4.ip_32_bits & bits.ipv4.mask));
+ } else if (addr.is_ipv6() && ipv6) {
+ uint64_t upper_64, lower_64;
+ get_ipv6_bytes(addr.in6_addr().sin6_addr.s6_addr, &upper_64, &lower_64);
+ return (((upper_64 & bits.ipv6.upper_mask) ==
+ (bits.ipv6.upper_64_bits & bits.ipv6.upper_mask)) &&
+ ((lower_64 & bits.ipv6.lower_mask) ==
+ (bits.ipv6.lower_64_bits & bits.ipv6.lower_mask)));
+ }
+ return false;
+}
+
+bool OSDMap::is_blocklisted(const entity_addr_t& orig, CephContext *cct) const
{
- if (blocklist.empty()) {
+ if (cct) ldout(cct, 25) << "is_blocklisted: " << orig << dendl;
+ if (blocklist.empty() && range_blocklist.empty()) {
+ if (cct) ldout(cct, 30) << "not blocklisted: " << orig << dendl;
return false;
}
// this specific instance?
if (blocklist.count(a)) {
+ if (cct) ldout(cct, 20) << "blocklist contains " << a << dendl;
return true;
}
a.set_port(0);
a.set_nonce(0);
if (blocklist.count(a)) {
+ if (cct) ldout(cct, 20) << "blocklist contains " << a << dendl;
return true;
}
}
+ // is it in a blocklisted range?
+ for (const auto& i : calculated_ranges) {
+ bool blocked = i.second.matches(a);
+ if (blocked) {
+ if (cct) ldout(cct, 20) << "range_blocklist contains " << a << dendl;
+ return true;
+ }
+ }
+
+ if (cct) ldout(cct, 25) << "not blocklisted: " << orig << dendl;
return false;
}
-bool OSDMap::is_blocklisted(const entity_addrvec_t& av) const
+bool OSDMap::is_blocklisted(const entity_addrvec_t& av, CephContext *cct) const
{
- if (blocklist.empty())
+ if (blocklist.empty() && range_blocklist.empty())
return false;
for (auto& a : av.v) {
- if (is_blocklisted(a)) {
+ if (is_blocklisted(a, cct)) {
return true;
}
}
return false;
}
-void OSDMap::get_blocklist(list<pair<entity_addr_t,utime_t> > *bl) const
+void OSDMap::get_blocklist(list<pair<entity_addr_t,utime_t> > *bl,
+ std::list<std::pair<entity_addr_t,utime_t> > *rl) const
{
std::copy(blocklist.begin(), blocklist.end(), std::back_inserter(*bl));
+ std::copy(range_blocklist.begin(), range_blocklist.end(),
+ std::back_inserter(*rl));
}
-void OSDMap::get_blocklist(std::set<entity_addr_t> *bl) const
+void OSDMap::get_blocklist(std::set<entity_addr_t> *bl,
+ std::set<entity_addr_t> *rl) const
{
for (const auto &i : blocklist) {
bl->insert(i.first);
}
+ for (const auto &i : range_blocklist) {
+ rl->insert(i.first);
+ }
}
void OSDMap::set_max_osd(int m)
for (const auto &addr : inc.old_blocklist)
blocklist.erase(addr);
+ for (const auto& addr_p : inc.new_range_blocklist) {
+ range_blocklist.insert(addr_p);
+ calculated_ranges.emplace(addr_p.first, addr_p.first);
+ new_blocklist_entries = true;
+ }
+ for (const auto &addr : inc.old_range_blocklist) {
+ calculated_ranges.erase(addr);
+ range_blocklist.erase(addr);
+ }
+
for (auto& i : inc.new_crush_node_flags) {
if (i.second) {
crush_node_flags[i.first] = i.second;
{
// NOTE: any new encoding dependencies must be reflected by
// SIGNIFICANT_FEATURES
- uint8_t target_v = 9; // when bumping this, be aware of stretch_mode target_v 10!
+ uint8_t target_v = 9; // when bumping this, be aware of range blocklist
if (!HAVE_FEATURE(features, SERVER_LUMINOUS)) {
target_v = 1;
} else if (!HAVE_FEATURE(features, SERVER_MIMIC)) {
if (stretch_mode_enabled) {
target_v = std::max((uint8_t)10, target_v);
}
+ if (!range_blocklist.empty()) {
+ target_v = std::max((uint8_t)11, target_v);
+ }
ENCODE_START(target_v, 1, bl); // extended, osd-only data
if (target_v < 7) {
encode_addrvec_pvec_as_addr(osd_addrs->hb_back_addrs, bl, features);
encode(recovering_stretch_mode, bl);
encode(stretch_mode_bucket, bl);
}
+ if (target_v >= 11) {
+ ::encode(range_blocklist, bl, features);
+ }
ENCODE_FINISH(bl); // osd-only data
}
recovering_stretch_mode = 0;
stretch_mode_bucket = 0;
}
+ if (struct_v >= 11) {
+ decode(range_blocklist, bl);
+ calculated_ranges.clear();
+ for (const auto& i : range_blocklist) {
+ calculated_ranges.emplace(i.first, i.first);
+ }
+ }
DECODE_FINISH(bl); // osd-only data
}
f->dump_stream(ss.str().c_str()) << addr.second;
}
f->close_section();
+ f->open_object_section("range_blocklist");
+ for (const auto &addr : range_blocklist) {
+ stringstream ss;
+ ss << addr.first;
+ f->dump_stream(ss.str().c_str()) << addr.second;
+ }
+ f->close_section();
dump_erasure_code_profiles(erasure_code_profiles, f);
for (const auto &addr : blocklist)
out << "blocklist " << addr.first << " expires " << addr.second << "\n";
+ for (const auto &addr : range_blocklist)
+ out << "range blocklist " << addr.first << " expires " << addr.second << "\n";
}
class OSDTreePlainDumper : public CrushTreeDumper::Dumper<TextTable> {
mempool::osdmap::map<entity_addr_t,utime_t> new_blocklist;
mempool::osdmap::vector<entity_addr_t> old_blocklist;
+ mempool::osdmap::map<entity_addr_t,utime_t> new_range_blocklist;
+ mempool::osdmap::vector<entity_addr_t> old_range_blocklist;
mempool::osdmap::map<int32_t, entity_addrvec_t> new_hb_back_up;
mempool::osdmap::map<int32_t, entity_addrvec_t> new_hb_front_up;
std::shared_ptr< mempool::osdmap::vector<uuid_d> > osd_uuid;
mempool::osdmap::vector<osd_xinfo_t> osd_xinfo;
+ class range_bits {
+ struct ip6 {
+ uint64_t upper_64_bits, lower_64_bits;
+ uint64_t upper_mask, lower_mask;
+ };
+ struct ip4 {
+ uint32_t ip_32_bits;
+ uint32_t mask;
+ };
+ union {
+ ip6 ipv6;
+ ip4 ipv4;
+ } bits;
+ bool ipv6;
+ static void get_ipv6_bytes(unsigned const char *addr,
+ uint64_t *upper, uint64_t *lower);
+ public:
+ range_bits();
+ range_bits(const entity_addr_t& addr);
+ void parse(const entity_addr_t& addr);
+ bool matches(const entity_addr_t& addr) const;
+ };
mempool::osdmap::unordered_map<entity_addr_t,utime_t> blocklist;
+ mempool::osdmap::map<entity_addr_t,utime_t> range_blocklist;
+ mempool::osdmap::map<entity_addr_t,range_bits> calculated_ranges;
/// queue of snaps to remove
mempool::osdmap::map<int64_t, snap_interval_set_t> removed_snaps_queue;
const utime_t& get_created() const { return created; }
const utime_t& get_modified() const { return modified; }
- bool is_blocklisted(const entity_addr_t& a) const;
- bool is_blocklisted(const entity_addrvec_t& a) const;
- void get_blocklist(std::list<std::pair<entity_addr_t,utime_t > > *bl) const;
- void get_blocklist(std::set<entity_addr_t> *bl) const;
+ bool is_blocklisted(const entity_addr_t& a, CephContext *cct=nullptr) const;
+ bool is_blocklisted(const entity_addrvec_t& a, CephContext *cct=nullptr) const;
+ void get_blocklist(std::list<std::pair<entity_addr_t,utime_t > > *bl,
+ std::list<std::pair<entity_addr_t,utime_t> > *rl) const;
+ void get_blocklist(std::set<entity_addr_t> *bl,
+ std::set<entity_addr_t> *rl) const;
std::string get_cluster_snapshot() const {
if (cluster_snapshot_epoch == epoch)
m_scrubber->set_op_parameters(m_planned_scrub);
dout(15) << __func__ << ": queueing" << dendl;
- m_scrubber->set_queued_or_active();
osd->queue_scrub_after_repair(this, Scrub::scrub_prio_t::high_priority);
}
m_scrubber->set_op_parameters(m_planned_scrub);
dout(10) << __func__ << ": queueing" << dendl;
- m_scrubber->set_queued_or_active();
osd->queue_for_scrub(this, Scrub::scrub_prio_t::low_priority);
return Scrub::schedule_result_t::scrub_initiated;
}
psdout(10) << __func__ << " approx pg log length = "
<< pg_log.get_log().approx_size() << dendl;
+ psdout(10) << __func__ << " dups pg log length = "
+ << pg_log.get_log().dups.size() << dendl;
psdout(10) << __func__ << " transaction_applied = "
<< transaction_applied << dendl;
if (!transaction_applied || async)
if (osdmap->in_removed_snaps_queue(info.pgid.pgid.pool(), *p)) {
return -EBUSY;
}
+ if (is_unreadable_object(clone_oid)) {
+ dout(10) << __func__ << ": " << clone_oid
+ << " is unreadable. Need to wait for recovery" << dendl;
+ wait_for_unreadable_object(clone_oid, op);
+ return -EAGAIN;
+ }
ObjectContextRef clone_obc = get_object_context(clone_oid, false);
if (!clone_obc) {
break;
if (pool.info.get_fingerprint_type() == pg_pool_t::TYPE_FINGERPRINT_NONE) {
dout(0) << " fingerprint algorithm is not set " << dendl;
return -EINVAL;
- }
+ }
+ if (pool.info.get_dedup_tier() <= 0) {
+ dout(10) << " dedup tier is not set " << dendl;
+ return -EINVAL;
+ }
/*
* The operations to make dedup chunks are tracked by a ManifestOp.
pg_t raw_pg;
object_locator_t oloc(soid);
oloc.pool = pool.info.get_dedup_tier();
+ // check if dedup_tier isn't set
+ ceph_assert(oloc.pool > 0);
get_osdmap()->object_locator_to_pg(fp_oid, oloc, raw_pg);
hobject_t target(fp_oid, oloc.key, snapid_t(),
raw_pg.ps(), raw_pg.pool(),
m_fsm->process_event(StartScrub{});
dout(10) << "scrubber event --<< StartScrub" << dendl;
} else {
- clear_queued_or_active();
- // and just in case snap trimming was blocked by the aborted scrub
- m_pg->snap_trimmer_scrub_complete();
+ clear_queued_or_active(); // also restarts snap trimming
}
}
m_fsm->process_event(AfterRepairScrub{});
dout(10) << "scrubber event --<< AfterRepairScrub" << dendl;
} else {
- clear_queued_or_active();
- // and just in case snap trimming was blocked by the aborted scrub
- m_pg->snap_trimmer_scrub_complete();
+ clear_queued_or_active(); // also restarts snap trimming
}
}
{
dout(10) << __func__ << " input: " << request << dendl;
+ set_queued_or_active(); // we are fully committed now.
+
// write down the epoch of starting a new scrub. Will be used
// to discard stale messages from previous aborted scrubs.
m_epoch_start = m_pg->get_osdmap_epoch();
void PgScrubber::clear_queued_or_active()
{
- m_queued_or_active = false;
+ if (m_queued_or_active) {
+ m_queued_or_active = false;
+ // and just in case snap trimming was blocked by the aborted scrub
+ m_pg->snap_trimmer_scrub_complete();
+ }
}
bool PgScrubber::is_queued_or_active() const
if (m_pg->is_active() && m_pg->is_primary()) {
m_pg->recovery_state.share_pg_info();
}
-
- // we may have blocked the snap trimmer
- m_pg->snap_trimmer_scrub_complete();
}
void PgScrubber::on_digest_updates()
}
}
+void PgScrubber::log_cluster_warning(const std::string& warning) const
+{
+ m_osds->clog->do_log(CLOG_WARN, warning);
+}
+
ostream& PgScrubber::show(ostream& out) const
{
return out << " [ " << m_pg_id << ": " << m_flags << " ] ";
[[nodiscard]] bool was_epoch_changed() const final;
void set_queued_or_active() final;
+ /// Clears `m_queued_or_active` and restarts snaptrimming
void clear_queued_or_active() final;
void mark_local_map_ready() final;
utime_t scrub_begin_stamp;
std::ostream& gen_prefix(std::ostream& out) const final;
+ void log_cluster_warning(const std::string& warning) const final;
+
protected:
bool state_test(uint64_t m) const { return m_pg->state_test(m); }
void state_set(uint64_t m) { m_pg->state_set(m); }
}
}
+sc::result WaitReplicas::react(const DigestUpdate&)
+{
+ DECLARE_LOCALS; // 'scrbr' & 'pg_id' aliases
+ std::string warn_msg = "WaitReplicas::react(const DigestUpdate&): Unexpected DigestUpdate event";
+ dout(10) << warn_msg << dendl;
+ scrbr->log_cluster_warning(warn_msg);
+ return discard_event();
+}
+
// ----------------------- WaitDigestUpdate -----------------------------------
WaitDigestUpdate::WaitDigestUpdate(my_context ctx) : my_base(ctx)
using reactions =
mpl::list<sc::custom_reaction<GotReplicas>, // all replicas are accounted for
sc::transition<MapsCompared, WaitDigestUpdate>,
- sc::deferral<DigestUpdate> // might arrive before we've reached WDU
+ sc::custom_reaction<DigestUpdate>
>;
sc::result react(const GotReplicas&);
-
+ sc::result react(const DigestUpdate&);
bool all_maps_already_called{false}; // see comment in react code
};
/// exposed to be used by the scrub_machine logger
virtual std::ostream& gen_prefix(std::ostream& out) const = 0;
+
+ /// sending cluster-log warnings
+ virtual void log_cluster_warning(const std::string& msg) const = 0;
};
/**
* Manipulate the 'scrubbing request has been queued, or - we are
* actually scrubbing' Scrubber's flag
+ *
+ * clear_queued_or_active() will also restart any blocked snaptrimming.
*/
virtual void set_queued_or_active() = 0;
virtual void clear_queued_or_active() = 0;
std::set<entity_addr_t> old_set;
std::set<entity_addr_t> new_set;
+ std::set<entity_addr_t> old_range_set;
+ std::set<entity_addr_t> new_range_set;
- old_osd_map.get_blocklist(&old_set);
- new_osd_map.get_blocklist(&new_set);
+ old_osd_map.get_blocklist(&old_set, &old_range_set);
+ new_osd_map.get_blocklist(&new_set, &new_range_set);
std::set<entity_addr_t> delta_set;
std::set_difference(
new_set.begin(), new_set.end(), old_set.begin(), old_set.end(),
std::inserter(delta_set, delta_set.begin()));
+ std::set_difference(
+ new_range_set.begin(), new_range_set.end(),
+ old_range_set.begin(), old_range_set.end(),
+ std::inserter(delta_set, delta_set.begin()));
blocklist_events.insert(delta_set.begin(), delta_set.end());
}
install(DIRECTORY ${mgr_modules}
DESTINATION ${CEPH_INSTALL_DATADIR}/mgr
${mgr_module_install_excludes})
-install(FILES mgr_module.py mgr_util.py
+install(FILES mgr_module.py mgr_util.py object_format.py
DESTINATION ${CEPH_INSTALL_DATADIR}/mgr)
"""
from mgr_module import CLIReadCommand, HandleCommandResult, MgrModule, Option
+from email.utils import formatdate, make_msgid
from threading import Event
from typing import Any, Optional, Dict, List, TYPE_CHECKING, Union
import json
message = ('From: {from_name} <{sender}>\n'
'Subject: {status}\n'
'To: {target}\n'
+ 'Message-Id: {message_id}\n'
+ 'Date: {date}\n'
'\n'
'{status}\n'.format(
sender=self.smtp_sender,
from_name=self.smtp_from_name,
status=status['status'],
- target=self.smtp_destination))
+ target=self.smtp_destination,
+ message_id=make_msgid(),
+ date=formatdate()))
if 'new' in diff:
message += ('\n--- New ---\n')
def _ceph_get_osd_perf_counters(self, query_id: int) -> Optional[Dict[str, List[PerfCounterT]]]: ...
def _ceph_add_mds_perf_query(self, query: Dict[str, Dict[str, Any]]) -> Optional[int]: ...
def _ceph_remove_mds_perf_query(self, query_id: int) -> None: ...
+ def _ceph_reregister_mds_perf_queries(self) -> None: ...
def _ceph_get_mds_perf_counters(self, query_id: int) -> Optional[Dict[str, List[PerfCounterT]]]: ...
def _ceph_unregister_client(self, addrs: str) -> None: ...
def _ceph_register_client(self, addrs: str) -> None: ...
import threading
import time
-from mgr_util import verify_tls_files
+from mgr_module import ServiceInfoT
+from mgr_util import verify_tls_files, build_url
from orchestrator import DaemonDescriptionStatus, OrchestratorError
from orchestrator._interface import daemon_type_to_service
from ceph.utils import datetime_now
from ceph.deployment.inventory import Devices
from ceph.deployment.service_spec import ServiceSpec, PlacementSpec
from cephadm.services.cephadmservice import CephadmDaemonDeploySpec
+from cephadm.services.ingress import IngressSpec
from datetime import datetime, timedelta
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from typing import Any, Dict, List, Set, Tuple, \
- TYPE_CHECKING, Optional
+ TYPE_CHECKING, Optional, cast, Collection
if TYPE_CHECKING:
from cephadm.module import CephadmOrchestrator
self.server_addr = self.mgr.get_mgr_ip()
super(CherryPyThread, self).__init__(target=self.run)
+ def configure_cherrypy(self) -> None:
+ cherrypy.config.update({
+ 'environment': 'production',
+ 'server.socket_host': self.server_addr,
+ 'server.socket_port': self.server_port,
+ 'engine.autoreload.on': False,
+ 'server.ssl_module': 'builtin',
+ 'server.ssl_certificate': self.cert_tmp.name,
+ 'server.ssl_private_key': self.key_tmp.name,
+ })
+
+ # configure routes
+ root = Root(self.mgr)
+ host_data = HostData(self.mgr)
+ d = cherrypy.dispatch.RoutesDispatcher()
+ d.connect(name='index', route='/', controller=root.index)
+ d.connect(name='sd-config', route='/prometheus/sd-config', controller=root.get_sd_config)
+ d.connect(name='rules', route='/prometheus/rules', controller=root.get_prometheus_rules)
+ d.connect(name='host-data', route='/data', controller=host_data.POST,
+ conditions=dict(method=['POST']))
+
+ conf = {'/': {'request.dispatch': d}}
+ cherrypy.tree.mount(None, "/", config=conf)
+
def run(self) -> None:
try:
try:
cert_fname = self.cert_tmp.name
verify_tls_files(cert_fname, key_fname)
+ self.configure_cherrypy()
- cherrypy.config.update({
- 'server.socket_host': self.server_addr,
- 'server.socket_port': self.server_port,
- 'engine.autoreload.on': False,
- 'server.ssl_module': 'builtin',
- 'server.ssl_certificate': cert_fname,
- 'server.ssl_private_key': key_fname,
- })
- root_conf = {'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher(),
- 'tools.response_headers.on': True}}
- cherrypy.tree.mount(Root(self.mgr), '/', root_conf)
self.mgr.log.debug('Starting cherrypy engine...')
self.start_engine()
self.mgr.log.debug('Cherrypy engine started.')
self.cherrypy_shutdown_event.set()
-class Root:
- exposed = True
+class Root(object):
+
+ # collapse everything to '/'
+ def _cp_dispatch(self, vpath: str) -> 'Root':
+ cherrypy.request.path = ''
+ return self
def __init__(self, mgr: "CephadmOrchestrator"):
self.mgr = mgr
- self.data = HostData(self.mgr)
- def GET(self) -> str:
+ @cherrypy.expose
+ def index(self) -> str:
return '''<!DOCTYPE html>
<html>
<head><title>Cephadm HTTP Endpoint</title></head>
<body>
-<p>Cephadm HTTP Endpoint is up and running</p>
+<h2>Cephadm Service Discovery Endpoints</h2>
+<p><a href='prometheus/sd-config?service=mgr-prometheus'>mgr/Prometheus http sd-config</a></p>
+<p><a href='prometheus/sd-config?service=alertmanager'>Alertmanager http sd-config</a></p>
+<p><a href='prometheus/sd-config?service=node-exporter'>Node exporter http sd-config</a></p>
+<p><a href='prometheus/sd-config?service=haproxy'>HAProxy http sd-config</a></p>
+<p><a href='prometheus/rules'>Prometheus rules</a></p>
</body>
</html>'''
+ @cherrypy.expose
+ @cherrypy.tools.json_out()
+ def get_sd_config(self, service: str) -> List[Dict[str, Collection[str]]]:
+ """Return <http_sd_config> compatible prometheus config for the specified service."""
+ if service == 'mgr-prometheus':
+ return self.prometheus_sd_config()
+ elif service == 'alertmanager':
+ return self.alertmgr_sd_config()
+ elif service == 'node-exporter':
+ return self.node_exporter_sd_config()
+ elif service == 'haproxy':
+ return self.haproxy_sd_config()
+ else:
+ return []
+
+ def prometheus_sd_config(self) -> List[Dict[str, Collection[str]]]:
+ """Return <http_sd_config> compatible prometheus config for prometheus service."""
+ servers = self.mgr.list_servers()
+ targets = []
+ for server in servers:
+ hostname = server.get('hostname', '')
+ for service in cast(List[ServiceInfoT], server.get('services', [])):
+ if service['type'] != 'mgr':
+ continue
+ port = self.mgr.get_module_option_ex('prometheus', 'server_port', 9283)
+ targets.append(f'{hostname}:{port}')
+ return [{"targets": targets, "labels": {}}]
+
+ def alertmgr_sd_config(self) -> List[Dict[str, Collection[str]]]:
+ """Return <http_sd_config> compatible prometheus config for mgr alertmanager service."""
+ srv_entries = []
+ for dd in self.mgr.cache.get_daemons_by_service('alertmanager'):
+ assert dd.hostname is not None
+ addr = dd.ip if dd.ip else self.mgr.inventory.get_addr(dd.hostname)
+ port = dd.ports[0] if dd.ports else 9093
+ srv_entries.append('{}'.format(build_url(host=addr, port=port).lstrip('/')))
+ return [{"targets": srv_entries, "labels": {}}]
+
+ def node_exporter_sd_config(self) -> List[Dict[str, Collection[str]]]:
+ """Return <http_sd_config> compatible prometheus config for node-exporter service."""
+ srv_entries = []
+ for dd in self.mgr.cache.get_daemons_by_service('node-exporter'):
+ assert dd.hostname is not None
+ addr = dd.ip if dd.ip else self.mgr.inventory.get_addr(dd.hostname)
+ port = dd.ports[0] if dd.ports else 9100
+ srv_entries.append({
+ 'targets': [build_url(host=addr, port=port).lstrip('/')],
+ 'labels': {'instance': dd.hostname}
+ })
+ return srv_entries
+
+ def haproxy_sd_config(self) -> List[Dict[str, Collection[str]]]:
+ """Return <http_sd_config> compatible prometheus config for haproxy service."""
+ srv_entries = []
+ for dd in self.mgr.cache.get_daemons_by_type('ingress'):
+ if dd.service_name() in self.mgr.spec_store:
+ spec = cast(IngressSpec, self.mgr.spec_store[dd.service_name()].spec)
+ assert dd.hostname is not None
+ if dd.daemon_type == 'haproxy':
+ addr = self.mgr.inventory.get_addr(dd.hostname)
+ srv_entries.append({
+ 'targets': [f"{build_url(host=addr, port=spec.monitor_port).lstrip('/')}"],
+ 'labels': {'instance': dd.service_name()}
+ })
+ return srv_entries
+
+ @cherrypy.expose(alias='prometheus/rules')
+ def get_prometheus_rules(self) -> str:
+ """Return currently configured prometheus rules as Yaml."""
+ cherrypy.response.headers['Content-Type'] = 'text/plain'
+ with open(self.mgr.prometheus_alerts_path, 'r', encoding='utf-8') as f:
+ return f.read()
+
class HostData:
exposed = True
import json
import errno
+import ipaddress
import logging
import re
import shlex
from .services.nfs import NFSService
from .services.osd import OSDRemovalQueue, OSDService, OSD, NotFoundError
from .services.monitoring import GrafanaService, AlertmanagerService, PrometheusService, \
- NodeExporterService, SNMPGatewayService
+ NodeExporterService, SNMPGatewayService, LokiService, PromtailService
from .schedule import HostAssignment
from .inventory import Inventory, SpecStore, HostCache, AgentCache, EventStore, \
ClientKeyringStore, ClientKeyringSpec
from .upgrade import CephadmUpgrade
from .template import TemplateMgr
-from .utils import CEPH_IMAGE_TYPES, forall_hosts, cephadmNoImage
+from .utils import CEPH_IMAGE_TYPES, RESCHEDULE_FROM_OFFLINE_HOSTS_TYPES, forall_hosts, \
+ cephadmNoImage, CEPH_UPGRADE_ORDER
from .configchecks import CephadmConfigChecks
+from .offline_watcher import OfflineHostWatcher
try:
import asyncssh
DEFAULT_IMAGE = 'quay.io/ceph/ceph'
DEFAULT_PROMETHEUS_IMAGE = 'quay.io/prometheus/prometheus:v2.33.4'
DEFAULT_NODE_EXPORTER_IMAGE = 'quay.io/prometheus/node-exporter:v1.3.1'
+DEFAULT_LOKI_IMAGE = 'docker.io/grafana/loki:2.4.0'
+DEFAULT_PROMTAIL_IMAGE = 'docker.io/grafana/promtail:2.4.0'
DEFAULT_ALERT_MANAGER_IMAGE = 'quay.io/prometheus/alertmanager:v0.23.0'
DEFAULT_GRAFANA_IMAGE = 'quay.io/ceph/ceph-grafana:8.3.5'
DEFAULT_HAPROXY_IMAGE = 'docker.io/library/haproxy:2.3'
default=DEFAULT_NODE_EXPORTER_IMAGE,
desc='Prometheus container image',
),
+ Option(
+ 'container_image_loki',
+ default=DEFAULT_LOKI_IMAGE,
+ desc='Loki container image',
+ ),
+ Option(
+ 'container_image_promtail',
+ default=DEFAULT_PROMTAIL_IMAGE,
+ desc='Promtail container image',
+ ),
Option(
'container_image_haproxy',
default=DEFAULT_HAPROXY_IMAGE,
self.container_image_grafana = ''
self.container_image_alertmanager = ''
self.container_image_node_exporter = ''
+ self.container_image_loki = ''
+ self.container_image_promtail = ''
self.container_image_haproxy = ''
self.container_image_keepalived = ''
self.container_image_snmp_gateway = ''
_service_clses: Sequence[Type[CephadmService]] = [
OSDService, NFSService, MonService, MgrService, MdsService,
RgwService, RbdMirrorService, GrafanaService, AlertmanagerService,
- PrometheusService, NodeExporterService, CrashService, IscsiService,
+ PrometheusService, NodeExporterService, LokiService, PromtailService, CrashService, IscsiService,
IngressService, CustomContainerService, CephfsMirrorService,
CephadmAgent, SNMPGatewayService
]
if self.use_agent:
self.agent_helpers._apply_agent()
+ self.offline_watcher = OfflineHostWatcher(self)
+ self.offline_watcher.start()
+
def shutdown(self) -> None:
self.log.debug('shutdown')
self._worker_pool.close()
self._worker_pool.join()
self.cherrypy_thread.shutdown()
+ self.offline_watcher.shutdown()
self.run = False
self.event.set()
suffix = daemon_type not in [
'mon', 'crash',
'prometheus', 'node-exporter', 'grafana', 'alertmanager',
- 'container', 'agent', 'snmp-gateway'
+ 'container', 'agent', 'snmp-gateway', 'loki', 'promtail'
]
if forcename:
if len([d for d in existing if d.daemon_id == forcename]):
sd.memory_usage = d.get('memory_usage')
sd.memory_request = d.get('memory_request')
sd.memory_limit = d.get('memory_limit')
+ sd.cpu_percentage = d.get('cpu_percentage')
sd._service_name = d.get('service_name')
sd.deployed_by = d.get('deployed_by')
sd.version = d.get('version')
self.cache.save_host(host)
return None
+ def update_watched_hosts(self) -> None:
+ # currently, we are watching hosts with nfs daemons
+ hosts_to_watch = [d.hostname for d in self.cache.get_daemons(
+ ) if d.daemon_type in RESCHEDULE_FROM_OFFLINE_HOSTS_TYPES]
+ self.offline_watcher.set_hosts(list(set([h for h in hosts_to_watch if h is not None])))
+
def offline_hosts_remove(self, host: str) -> None:
if host in self.offline_hosts:
self.offline_hosts.remove(host)
return 0, "value unchanged", ""
self._validate_and_set_ssh_val('ssh_user', user, current_user)
+ current_ssh_config = self._get_ssh_config()
+ new_ssh_config = re.sub(r"(\s{2}User\s)(.*)", r"\1" + user, current_ssh_config.stdout)
+ self._set_ssh_config(new_ssh_config)
msg = 'ssh user set to %s' % user
if user != 'root':
image = self.container_image_alertmanager
elif daemon_type == 'node-exporter':
image = self.container_image_node_exporter
+ elif daemon_type == 'loki':
+ image = self.container_image_loki
+ elif daemon_type == 'promtail':
+ image = self.container_image_promtail
elif daemon_type == 'haproxy':
image = self.container_image_haproxy
elif daemon_type == 'keepalived':
return image
def _check_valid_addr(self, host: str, addr: str) -> str:
- # make sure mgr is not resolving own ip
- if addr in self.get_mgr_id():
- raise OrchestratorError(
- "Can not automatically resolve ip address of host where active mgr is running. Please explicitly provide the address.")
-
# make sure hostname is resolvable before trying to make a connection
try:
ip_addr = utils.resolve_ip(addr)
> ssh -F ssh_config -i ~/cephadm_private_key {self.ssh_user}@{addr}'''
raise OrchestratorError(msg)
+ if ipaddress.ip_address(ip_addr).is_loopback and host == addr:
+ # if this is a re-add, use old address. otherwise error
+ if host not in self.inventory or self.inventory.get_addr(host) == host:
+ raise OrchestratorError(
+ (f'Cannot automatically resolve ip address of host {host}. Ip resolved to loopback address: {ip_addr}\n'
+ + f'Please explicitly provide the address (ceph orch host add {host} --addr <ip-addr>)'))
+ self.log.debug(
+ f'Received loopback address resolving ip for {host}: {ip_addr}. Falling back to previous address.')
+ ip_addr = self.inventory.get_addr(host)
out, err, code = self.wait_async(CephadmServe(self)._run_cephadm(
host, cephadmNoImage, 'check-host',
['--expect-hostname', host],
:param host: host name
"""
- spec.validate()
+ HostSpec.validate(spec)
ip_addr = self._check_valid_addr(spec.hostname, spec.addr)
if spec.addr == spec.hostname and ip_addr:
spec.addr = ip_addr
return 'Added label %s to host %s' % (label, host)
@handle_orch_error
- def remove_host_label(self, host: str, label: str) -> str:
+ def remove_host_label(self, host: str, label: str, force: bool = False) -> str:
+ # if we remove the _admin label from the only host that has it we could end up
+ # removing the only instance of the config and keyring and cause issues
+ if not force and label == '_admin':
+ p = PlacementSpec(label='_admin')
+ admin_hosts = p.filter_matching_hostspecs(self.inventory.all_specs())
+ if len(admin_hosts) == 1 and admin_hosts[0] == host:
+ raise OrchestratorValidationError(f"Host {host} is the last host with the '_admin'"
+ " label.\nRemoving the _admin label from this host could cause the removal"
+ " of the last cluster config/keyring managed by cephadm.\n"
+ "It is recommended to add the _admin label to another host"
+ " before completing this operation.\nIf you're certain this is"
+ " what you want rerun this command with --force.")
self.inventory.rm_label(host, label)
self.log.info('Removed label %s to host %s' % (label, host))
self._kick_serve_loop()
if self.spec_store[service_name].spec.service_type in ('mon', 'mgr'):
return f'Unable to remove {service_name} service.\n' \
f'Note, you might want to mark the {service_name} service as "unmanaged"'
+ else:
+ return f"Invalid service '{service_name}'. Use 'ceph orch ls' to list available services.\n"
# Report list of affected OSDs?
if not force and service_name.startswith('osd.'):
@handle_orch_error
def create_osds(self, drive_group: DriveGroupSpec) -> str:
+ hosts: List[HostSpec] = self.inventory.all_specs()
+ filtered_hosts: List[str] = drive_group.placement.filter_matching_hostspecs(hosts)
+ if not filtered_hosts:
+ return "Invalid 'host:device' spec: host not found in cluster. Please check 'ceph orch host ls' for available hosts"
return self.osd_service.create_from_spec(drive_group)
def _preview_osdspecs(self,
for dep_type in need.get(daemon_type, []):
for dd in self.cache.get_daemons_by_type(dep_type):
deps.append(dd.name())
+ if daemon_type == 'prometheus':
+ deps.append(str(self.get_module_option_ex('prometheus', 'server_port', 9283)))
return sorted(deps)
@forall_hosts
'alertmanager': PlacementSpec(count=1),
'prometheus': PlacementSpec(count=1),
'node-exporter': PlacementSpec(host_pattern='*'),
+ 'loki': PlacementSpec(count=1),
+ 'promtail': PlacementSpec(host_pattern='*'),
'crash': PlacementSpec(host_pattern='*'),
'container': PlacementSpec(count=1),
'snmp-gateway': PlacementSpec(count=1),
def apply_prometheus(self, spec: ServiceSpec) -> str:
return self._apply(spec)
+ @handle_orch_error
+ def apply_loki(self, spec: ServiceSpec) -> str:
+ return self._apply(spec)
+
+ @handle_orch_error
+ def apply_promtail(self, spec: ServiceSpec) -> str:
+ return self._apply(spec)
+
@handle_orch_error
def apply_node_exporter(self, spec: ServiceSpec) -> str:
return self._apply(spec)
return self.upgrade.upgrade_status()
@handle_orch_error
- def upgrade_ls(self, image: Optional[str], tags: bool) -> Dict[Any, Any]:
- return self.upgrade.upgrade_ls(image, tags)
+ def upgrade_ls(self, image: Optional[str], tags: bool, show_all_versions: Optional[bool]) -> Dict[Any, Any]:
+ return self.upgrade.upgrade_ls(image, tags, show_all_versions)
@handle_orch_error
- def upgrade_start(self, image: str, version: str) -> str:
+ def upgrade_start(self, image: str, version: str, daemon_types: Optional[List[str]] = None, host_placement: Optional[str] = None,
+ services: Optional[List[str]] = None, limit: Optional[int] = None) -> str:
if self.inventory.get_host_with_state("maintenance"):
raise OrchestratorError("upgrade aborted - you have host(s) in maintenance state")
- return self.upgrade.upgrade_start(image, version)
+ if daemon_types is not None and services is not None:
+ raise OrchestratorError('--daemon-types and --services are mutually exclusive')
+ if daemon_types is not None:
+ for dtype in daemon_types:
+ if dtype not in CEPH_UPGRADE_ORDER:
+ raise OrchestratorError(f'Upgrade aborted - Got unexpected daemon type "{dtype}".\n'
+ f'Viable daemon types for this command are: {utils.CEPH_TYPES + utils.GATEWAY_TYPES}')
+ if services is not None:
+ for service in services:
+ if service not in self.spec_store:
+ raise OrchestratorError(f'Upgrade aborted - Got unknown service name "{service}".\n'
+ f'Known services are: {self.spec_store.all_specs.keys()}')
+ hosts: Optional[List[str]] = None
+ if host_placement is not None:
+ all_hosts = list(self.inventory.all_specs())
+ placement = PlacementSpec.from_string(host_placement)
+ hosts = placement.filter_matching_hostspecs(all_hosts)
+ if not hosts:
+ raise OrchestratorError(
+ f'Upgrade aborted - hosts parameter "{host_placement}" provided did not match any hosts')
+
+ if limit is not None:
+ if limit < 1:
+ raise OrchestratorError(
+ f'Upgrade aborted - --limit arg must be a positive integer, not {limit}')
+
+ return self.upgrade.upgrade_start(image, version, daemon_types, hosts, services, limit)
@handle_orch_error
def upgrade_pause(self) -> str:
return self.to_remove_osds.all_osds()
@handle_orch_error
- def drain_host(self, hostname):
- # type: (str) -> str
+ def drain_host(self, hostname, force=False):
+ # type: (str, bool) -> str
"""
Drain all daemons from a host.
:param host: host name
"""
+
+ # if we drain the last admin host we could end up removing the only instance
+ # of the config and keyring and cause issues
+ if not force:
+ p = PlacementSpec(label='_admin')
+ admin_hosts = p.filter_matching_hostspecs(self.inventory.all_specs())
+ if len(admin_hosts) == 1 and admin_hosts[0] == hostname:
+ raise OrchestratorValidationError(f"Host {hostname} is the last host with the '_admin'"
+ " label.\nDraining this host could cause the removal"
+ " of the last cluster config/keyring managed by cephadm.\n"
+ "It is recommended to add the _admin label to another host"
+ " before completing this operation.\nIf you're certain this is"
+ " what you want rerun this command with --force.")
+
self.add_host_label(hostname, '_no_schedule')
daemons: List[orchestrator.DaemonDescription] = self.cache.get_daemons_by_host(hostname)
--- /dev/null
+import logging
+from typing import List, Optional, TYPE_CHECKING
+
+import multiprocessing as mp
+import threading
+
+if TYPE_CHECKING:
+ from cephadm.module import CephadmOrchestrator
+
+logger = logging.getLogger(__name__)
+
+
+class OfflineHostWatcher(threading.Thread):
+ def __init__(self, mgr: "CephadmOrchestrator") -> None:
+ self.mgr = mgr
+ self.hosts: Optional[List[str]] = None
+ self.new_hosts: Optional[List[str]] = None
+ self.stop = False
+ self.event = threading.Event()
+ super(OfflineHostWatcher, self).__init__(target=self.run)
+
+ def run(self) -> None:
+ self.thread_pool = mp.pool.ThreadPool(10)
+ while not self.stop:
+ # only need to take action if we have hosts to check
+ if self.hosts or self.new_hosts:
+ if self.new_hosts:
+ self.hosts = self.new_hosts
+ self.new_hosts = None
+ logger.debug(f'OfflineHostDetector: Checking if hosts: {self.hosts} are offline.')
+ assert self.hosts is not None
+ self.thread_pool.map(self.check_host, self.hosts)
+ self.event.wait(20)
+ self.event.clear()
+ self.thread_pool.close()
+ self.thread_pool.join()
+
+ def check_host(self, host: str) -> None:
+ if host not in self.mgr.offline_hosts:
+ try:
+ self.mgr.ssh.check_execute_command(host, ['true'])
+ except Exception:
+ logger.debug(f'OfflineHostDetector: detected {host} to be offline')
+ # kick serve loop in case corrective action must be taken for offline host
+ self.mgr._kick_serve_loop()
+
+ def set_hosts(self, hosts: List[str]) -> None:
+ hosts.sort()
+ if (not self.hosts or self.hosts != hosts) and hosts:
+ self.new_hosts = hosts
+ logger.debug(
+ f'OfflineHostDetector: Hosts to check if offline swapped to: {self.new_hosts}.')
+ self.wakeup()
+
+ def wakeup(self) -> None:
+ self.event.set()
+
+ def shutdown(self) -> None:
+ self.stop = True
+ self.wakeup()
from ceph.deployment.service_spec import ServiceSpec
from orchestrator._interface import DaemonDescription
from orchestrator import OrchestratorValidationError
+from .utils import RESCHEDULE_FROM_OFFLINE_HOSTS_TYPES
logger = logging.getLogger(__name__)
T = TypeVar('T')
# get candidate hosts based on [hosts, label, host_pattern]
candidates = self.get_candidates() # type: List[DaemonPlacement]
+ if self.primary_daemon_type in RESCHEDULE_FROM_OFFLINE_HOSTS_TYPES:
+ # remove unreachable hosts that are not in maintenance so daemons
+ # on these hosts will be rescheduled
+ candidates = self.remove_non_maintenance_unreachable_candidates(candidates)
def expand_candidates(ls: List[DaemonPlacement], num: int) -> List[DaemonPlacement]:
r = []
final = sorted(ls)
random.Random(seed).shuffle(final)
return ls
+
+ def remove_non_maintenance_unreachable_candidates(self, candidates: List[DaemonPlacement]) -> List[DaemonPlacement]:
+ in_maintenance: Dict[str, bool] = {}
+ for h in self.hosts:
+ if h.status.lower() == 'maintenance':
+ in_maintenance[h.hostname] = True
+ continue
+ in_maintenance[h.hostname] = False
+ unreachable_hosts = [h.hostname for h in self.unreachable_hosts]
+ candidates = [
+ c for c in candidates if c.hostname not in unreachable_hosts or in_maintenance[c.hostname]]
+ return candidates
import json
import logging
import uuid
+import os
from collections import defaultdict
from typing import TYPE_CHECKING, Optional, List, cast, Dict, Any, Union, Tuple, Set, \
DefaultDict
f"Failed to apply {len(self.mgr.apply_spec_fails)} service(s): {','.join(x[0] for x in self.mgr.apply_spec_fails)}",
len(self.mgr.apply_spec_fails),
warnings)
-
+ self.mgr.update_watched_hosts()
return r
def _apply_service_config(self, spec: ServiceSpec) -> None:
slot = slot.assign_name(self.mgr.get_unique_name(
slot.daemon_type,
slot.hostname,
- daemons,
+ [d for d in daemons if d not in daemons_to_remove],
prefix=spec.service_id,
forcename=slot.name,
rank=slot.rank,
# create daemons
daemon_place_fails = []
for slot in slots_to_add:
- # first remove daemon on conflicting port?
- if slot.ports:
+ # first remove daemon with conflicting port or name?
+ if slot.ports or slot.name in [d.name() for d in daemons_to_remove]:
for d in daemons_to_remove:
- if d.hostname != slot.hostname:
- continue
- if not (set(d.ports or []) & set(slot.ports)):
- continue
- if d.ip and slot.ip and d.ip != slot.ip:
+ if (
+ d.hostname != slot.hostname
+ or not (set(d.ports or []) & set(slot.ports))
+ or (d.ip and slot.ip and d.ip != slot.ip)
+ and d.name() != slot.name
+ ):
continue
- self.log.info(
- f'Removing {d.name()} before deploying to {slot} to avoid a port conflict'
- )
+ if d.name() != slot.name:
+ self.log.info(
+ f'Removing {d.name()} before deploying to {slot} to avoid a port or conflict'
+ )
# NOTE: we don't check ok-to-stop here to avoid starvation if
# there is only 1 gateway.
self._remove_daemon(d.name(), d.hostname)
self.mgr.set_health_warning('CEPHADM_DAEMON_PLACE_FAIL', f'Failed to place {len(daemon_place_fails)} daemon(s)', len(
daemon_place_fails), daemon_place_fails)
+ if service_type == 'mgr':
+ active_mgr = svc.get_active_daemon(self.mgr.cache.get_daemons_by_type('mgr'))
+ if active_mgr.daemon_id in [d.daemon_id for d in daemons_to_remove]:
+ # We can't just remove the active mgr like any other daemon.
+ # Need to fail over later so it can be removed on next pass.
+ # This can be accomplished by scheduling a restart of the active mgr.
+ self.mgr._schedule_daemon_action(active_mgr.name(), 'restart')
+
# remove any?
def _ok_to_stop(remove_daemons: List[orchestrator.DaemonDescription]) -> bool:
daemon_ids = [d.daemon_id for d in remove_daemons]
# ceph.conf
config = self.mgr.get_minimal_ceph_conf().encode('utf-8')
config_digest = ''.join('%02x' % c for c in hashlib.sha256(config).digest())
+ cluster_cfg_dir = f'/var/lib/ceph/{self.mgr._cluster_fsid}/config'
if self.mgr.manage_etc_ceph_ceph_conf:
try:
for host in {s.hostname for s in all_slots}:
if host not in client_files:
client_files[host] = {}
- client_files[host]['/etc/ceph/ceph.conf'] = (
- 0o644, 0, 0, bytes(config), str(config_digest)
- )
+ ceph_conf = (0o644, 0, 0, bytes(config), str(config_digest))
+ client_files[host]['/etc/ceph/ceph.conf'] = ceph_conf
+ client_files[host][f'{cluster_cfg_dir}/ceph.conf'] = ceph_conf
except Exception as e:
self.mgr.log.warning(
f'unable to calc conf hosts: {self.mgr.manage_etc_ceph_ceph_conf_hosts}: {e}')
for host in {s.hostname for s in all_slots}:
if host not in client_files:
client_files[host] = {}
- client_files[host]['/etc/ceph/ceph.conf'] = (
- 0o644, 0, 0, bytes(config), str(config_digest)
- )
- client_files[host][ks.path] = (
- ks.mode, ks.uid, ks.gid, keyring.encode('utf-8'), digest
- )
+ ceph_conf = (0o644, 0, 0, bytes(config), str(config_digest))
+ client_files[host]['/etc/ceph/ceph.conf'] = ceph_conf
+ client_files[host][f'{cluster_cfg_dir}/ceph.conf'] = ceph_conf
+ ceph_admin_key = (ks.mode, ks.uid, ks.gid, keyring.encode('utf-8'), digest)
+ client_files[host][ks.path] = ceph_admin_key
+ client_files[host][f'{cluster_cfg_dir}/{os.path.basename(ks.path)}'] = ceph_admin_key
except Exception as e:
self.log.warning(
f'unable to calc client keyring {ks.entity} placement {ks.placement}: {e}')
with set_exception_subject('service', daemon.service_id(), overwrite=True):
self.mgr.cephadm_services[daemon_type_to_service(daemon_type)].pre_remove(daemon)
-
# NOTE: we are passing the 'force' flag here, which means
# we can delete a mon instances data.
- args = ['--name', name, '--force']
- self.log.info('Removing daemon %s from %s' % (name, host))
+ dd = self.mgr.cache.get_daemon(daemon.daemon_name)
+ if dd.ports:
+ args = ['--name', name, '--force', '--tcp-ports', ' '.join(map(str, dd.ports))]
+ else:
+ args = ['--name', name, '--force']
+
+ self.log.info('Removing daemon %s from %s -- ports %s' % (name, host, dd.ports))
out, err, code = self.mgr.wait_async(self._run_cephadm(
host, name, 'rm-daemon', args))
if not code:
import json
import logging
import re
+import socket
+import time
from abc import ABCMeta, abstractmethod
from typing import TYPE_CHECKING, List, Callable, TypeVar, \
Optional, Dict, Any, Tuple, NewType, cast
self.mgr.log.warning(f"Unable to update caps for {entity}")
return keyring
- def _inventory_get_addr(self, hostname: str) -> str:
- """Get a host's address with its hostname."""
- return self.mgr.inventory.get_addr(hostname)
+ def _inventory_get_fqdn(self, hostname: str) -> str:
+ """Get a host's FQDN with its hostname.
+
+ If the FQDN can't be resolved, the address from the inventory will
+ be returned instead.
+ """
+ addr = self.mgr.inventory.get_addr(hostname)
+ return socket.getfqdn(addr)
def _set_service_url_on_dashboard(self,
service_name: str,
return DaemonDescription()
def fail_over(self) -> None:
- if not self.mgr_map_has_standby():
- raise OrchestratorError('Need standby mgr daemon', event_kind_subject=(
- 'daemon', 'mgr' + self.mgr.get_mgr_id()))
-
- self.mgr.events.for_daemon('mgr' + self.mgr.get_mgr_id(),
- 'INFO', 'Failing over to other MGR')
- logger.info('Failing over to other MGR')
-
- # fail over
- ret, out, err = self.mgr.check_mon_command({
- 'prefix': 'mgr fail',
- 'who': self.mgr.get_mgr_id(),
- })
+ # this has been seen to sometimes transiently fail even when there are multiple
+ # mgr daemons. As long as there are multiple known mgr daemons, we should retry.
+ class NoStandbyError(OrchestratorError):
+ pass
+ no_standby_exc = NoStandbyError('Need standby mgr daemon', event_kind_subject=(
+ 'daemon', 'mgr' + self.mgr.get_mgr_id()))
+ for sleep_secs in [2, 8, 15]:
+ try:
+ if not self.mgr_map_has_standby():
+ raise no_standby_exc
+ self.mgr.events.for_daemon('mgr' + self.mgr.get_mgr_id(),
+ 'INFO', 'Failing over to other MGR')
+ logger.info('Failing over to other MGR')
+
+ # fail over
+ ret, out, err = self.mgr.check_mon_command({
+ 'prefix': 'mgr fail',
+ 'who': self.mgr.get_mgr_id(),
+ })
+ return
+ except NoStandbyError:
+ logger.info(
+ f'Failed to find standby mgr for failover. Retrying in {sleep_secs} seconds')
+ time.sleep(sleep_secs)
+ raise no_standby_exc
def mgr_map_has_standby(self) -> bool:
"""
prom_services = [] # type: List[str]
for dd in self.mgr.cache.get_daemons_by_service('prometheus'):
assert dd.hostname is not None
- addr = dd.ip if dd.ip else self._inventory_get_addr(dd.hostname)
+ addr = dd.ip if dd.ip else self._inventory_get_fqdn(dd.hostname)
port = dd.ports[0] if dd.ports else 9095
prom_services.append(build_url(scheme='http', host=addr, port=port))
deps.append(dd.name())
+
+ daemons = self.mgr.cache.get_daemons_by_service('mgr')
+ loki_host = ''
+ assert daemons is not None
+ if daemons != []:
+ assert daemons[0].hostname is not None
+ addr = daemons[0].ip if daemons[0].ip else self._inventory_get_fqdn(daemons[0].hostname)
+ loki_host = build_url(scheme='http', host=addr, port=3100)
+
grafana_data_sources = self.mgr.template.render(
- 'services/grafana/ceph-dashboard.yml.j2', {'hosts': prom_services})
+ 'services/grafana/ceph-dashboard.yml.j2', {'hosts': prom_services, 'loki_host': loki_host})
cert = self.mgr.get_store('grafana_crt')
pkey = self.mgr.get_store('grafana_key')
# TODO: signed cert
dd = self.get_active_daemon(daemon_descrs)
assert dd.hostname is not None
- addr = dd.ip if dd.ip else self._inventory_get_addr(dd.hostname)
+ addr = dd.ip if dd.ip else self._inventory_get_fqdn(dd.hostname)
port = dd.ports[0] if dd.ports else self.DEFAULT_SERVICE_PORT
service_url = build_url(scheme='https', host=addr, port=port)
self._set_service_url_on_dashboard(
default_webhook_urls: List[str] = []
spec = cast(AlertManagerSpec, self.mgr.spec_store[daemon_spec.service_name].spec)
+ try:
+ secure = spec.secure
+ except AttributeError:
+ secure = False
user_data = spec.user_data
if 'default_webhook_urls' in user_data and isinstance(
user_data['default_webhook_urls'], list):
proto = None # http: or https:
url = mgr_map.get('services', {}).get('dashboard', None)
if url:
- dashboard_urls.append(url)
+ dashboard_urls.append(url.rstrip('/'))
p_result = urlparse(url)
proto = p_result.scheme
port = p_result.port
if dd.daemon_id == self.mgr.get_mgr_id():
continue
assert dd.hostname is not None
- addr = self.mgr.inventory.get_addr(dd.hostname)
- dashboard_urls.append(build_url(scheme=proto, host=addr, port=port))
+ addr = self._inventory_get_fqdn(dd.hostname)
+ dashboard_urls.append(build_url(scheme=proto, host=addr, port=port).rstrip('/'))
for dd in self.mgr.cache.get_daemons_by_service('snmp-gateway'):
assert dd.hostname is not None
assert dd.ports
- addr = dd.ip if dd.ip else self._inventory_get_addr(dd.hostname)
+ addr = dd.ip if dd.ip else self._inventory_get_fqdn(dd.hostname)
deps.append(dd.name())
snmp_gateway_urls.append(build_url(scheme='http', host=addr,
'dashboard_urls': dashboard_urls,
'default_webhook_urls': default_webhook_urls,
'snmp_gateway_urls': snmp_gateway_urls,
+ 'secure': secure,
}
yml = self.mgr.template.render('services/alertmanager/alertmanager.yml.j2', context)
for dd in self.mgr.cache.get_daemons_by_service('alertmanager'):
assert dd.hostname is not None
deps.append(dd.name())
- addr = self.mgr.inventory.get_addr(dd.hostname)
+ addr = self._inventory_get_fqdn(dd.hostname)
peers.append(build_url(host=addr, port=port).lstrip('/'))
return {
def config_dashboard(self, daemon_descrs: List[DaemonDescription]) -> None:
dd = self.get_active_daemon(daemon_descrs)
assert dd.hostname is not None
- addr = dd.ip if dd.ip else self._inventory_get_addr(dd.hostname)
+ addr = dd.ip if dd.ip else self._inventory_get_fqdn(dd.hostname)
port = dd.ports[0] if dd.ports else self.DEFAULT_SERVICE_PORT
service_url = build_url(scheme='http', host=addr, port=port)
self._set_service_url_on_dashboard(
class PrometheusService(CephadmService):
TYPE = 'prometheus'
DEFAULT_SERVICE_PORT = 9095
+ DEFAULT_MGR_PROMETHEUS_PORT = 9283
def config(self, spec: ServiceSpec) -> None:
# make sure module is enabled
# scrape mgrs
mgr_scrape_list = []
mgr_map = self.mgr.get('mgr_map')
- port = None
+ port = cast(int, self.mgr.get_module_option_ex(
+ 'prometheus', 'server_port', self.DEFAULT_MGR_PROMETHEUS_PORT))
+ deps.append(str(port))
t = mgr_map.get('services', {}).get('prometheus', None)
if t:
p_result = urlparse(t)
- t = t.split('/')[2]
- mgr_scrape_list.append(t)
- port = p_result.port or 9283
+ # urlparse .hostname removes '[]' from the hostname in case
+ # of ipv6 addresses so if this is the case then we just
+ # append the brackets when building the final scrape endpoint
+ if '[' in p_result.netloc and ']' in p_result.netloc:
+ mgr_scrape_list.append(f"[{p_result.hostname}]:{port}")
+ else:
+ mgr_scrape_list.append(f"{p_result.hostname}:{port}")
# scan all mgrs to generate deps and to get standbys too.
# assume that they are all on the same port as the active mgr.
for dd in self.mgr.cache.get_daemons_by_service('mgr'):
if dd.daemon_id == self.mgr.get_mgr_id():
continue
assert dd.hostname is not None
- addr = self.mgr.inventory.get_addr(dd.hostname)
+ addr = self._inventory_get_fqdn(dd.hostname)
mgr_scrape_list.append(build_url(host=addr, port=port).lstrip('/'))
# scrape node exporters
for dd in self.mgr.cache.get_daemons_by_service('node-exporter'):
assert dd.hostname is not None
deps.append(dd.name())
- addr = dd.ip if dd.ip else self.mgr.inventory.get_addr(dd.hostname)
+ addr = dd.ip if dd.ip else self._inventory_get_fqdn(dd.hostname)
port = dd.ports[0] if dd.ports else 9100
nodes.append({
'hostname': dd.hostname,
for dd in self.mgr.cache.get_daemons_by_service('alertmanager'):
assert dd.hostname is not None
deps.append(dd.name())
- addr = dd.ip if dd.ip else self.mgr.inventory.get_addr(dd.hostname)
+ addr = dd.ip if dd.ip else self._inventory_get_fqdn(dd.hostname)
port = dd.ports[0] if dd.ports else 9093
alertmgr_targets.append("'{}'".format(build_url(host=addr, port=port).lstrip('/')))
assert dd.hostname is not None
deps.append(dd.name())
if dd.daemon_type == 'haproxy':
- addr = self.mgr.inventory.get_addr(dd.hostname)
+ addr = self._inventory_get_fqdn(dd.hostname)
haproxy_targets.append({
"url": f"'{build_url(host=addr, port=spec.monitor_port).lstrip('/')}'",
"service": dd.service_name(),
def config_dashboard(self, daemon_descrs: List[DaemonDescription]) -> None:
dd = self.get_active_daemon(daemon_descrs)
assert dd.hostname is not None
- addr = dd.ip if dd.ip else self._inventory_get_addr(dd.hostname)
+ addr = dd.ip if dd.ip else self._inventory_get_fqdn(dd.hostname)
port = dd.ports[0] if dd.ports else self.DEFAULT_SERVICE_PORT
service_url = build_url(scheme='http', host=addr, port=port)
self._set_service_url_on_dashboard(
return HandleCommandResult(0, out, '')
+class LokiService(CephadmService):
+ TYPE = 'loki'
+ DEFAULT_SERVICE_PORT = 3100
+
+ def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonDeploySpec:
+ assert self.TYPE == daemon_spec.daemon_type
+ daemon_spec.final_config, daemon_spec.deps = self.generate_config(daemon_spec)
+ return daemon_spec
+
+ def generate_config(self, daemon_spec: CephadmDaemonDeploySpec) -> Tuple[Dict[str, Any], List[str]]:
+ assert self.TYPE == daemon_spec.daemon_type
+ deps: List[str] = []
+
+ yml = self.mgr.template.render('services/loki.yml.j2')
+ return {
+ "files": {
+ "loki.yml": yml
+ }
+ }, sorted(deps)
+
+
+class PromtailService(CephadmService):
+ TYPE = 'promtail'
+ DEFAULT_SERVICE_PORT = 9080
+
+ def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonDeploySpec:
+ assert self.TYPE == daemon_spec.daemon_type
+ daemon_spec.final_config, daemon_spec.deps = self.generate_config(daemon_spec)
+ return daemon_spec
+
+ def generate_config(self, daemon_spec: CephadmDaemonDeploySpec) -> Tuple[Dict[str, Any], List[str]]:
+ assert self.TYPE == daemon_spec.daemon_type
+ deps: List[str] = []
+ hostnames: List[str] = []
+ for dd in self.mgr.cache.get_daemons_by_service('mgr'):
+ assert dd.hostname is not None
+ addr = self.mgr.inventory.get_addr(dd.hostname)
+ hostnames.append(addr)
+ context = {
+ 'hostnames': hostnames,
+ 'client_hostname': hostnames[0],
+ }
+
+ yml = self.mgr.template.render('services/promtail.yml.j2', context)
+ return {
+ "files": {
+ "promtail.yml": yml
+ }
+ }, sorted(deps)
+
+
class SNMPGatewayService(CephadmService):
TYPE = 'snmp-gateway'
osd_id_claims_for_host = osd_id_claims.filtered_by_host(host)
- cmd = self.driveselection_to_ceph_volume(drive_selection,
- osd_id_claims_for_host)
- if not cmd:
+ cmds: List[str] = self.driveselection_to_ceph_volume(drive_selection,
+ osd_id_claims_for_host)
+ if not cmds:
logger.debug("No data_devices, skipping DriveGroup: {}".format(
drive_group.service_id))
return None
start_ts = datetime_now()
env_vars: List[str] = [f"CEPH_VOLUME_OSDSPEC_AFFINITY={drive_group.service_id}"]
ret_msg = await self.create_single_host(
- drive_group, host, cmd,
+ drive_group, host, cmds,
replace_osd_ids=osd_id_claims_for_host, env_vars=env_vars
)
self.mgr.cache.update_osdspec_last_applied(
async def create_single_host(self,
drive_group: DriveGroupSpec,
- host: str, cmd: str, replace_osd_ids: List[str],
+ host: str, cmds: List[str], replace_osd_ids: List[str],
env_vars: Optional[List[str]] = None) -> str:
- out, err, code = await self._run_ceph_volume_command(host, cmd, env_vars=env_vars)
-
- if code == 1 and ', it is already prepared' in '\n'.join(err):
- # HACK: when we create against an existing LV, ceph-volume
- # returns an error and the above message. To make this
- # command idempotent, tolerate this "error" and continue.
- logger.debug('the device was already prepared; continuing')
- code = 0
- if code:
- raise RuntimeError(
- 'cephadm exited with an error code: %d, stderr:%s' % (
- code, '\n'.join(err)))
+ for cmd in cmds:
+ out, err, code = await self._run_ceph_volume_command(host, cmd, env_vars=env_vars)
+ if code == 1 and ', it is already prepared' in '\n'.join(err):
+ # HACK: when we create against an existing LV, ceph-volume
+ # returns an error and the above message. To make this
+ # command idempotent, tolerate this "error" and continue.
+ logger.debug('the device was already prepared; continuing')
+ code = 0
+ if code:
+ raise RuntimeError(
+ 'cephadm exited with an error code: %d, stderr:%s' % (
+ code, '\n'.join(err)))
return await self.deploy_osd_daemons_for_existing_osds(host, drive_group.service_name(),
replace_osd_ids)
drive_selection = DriveSelection(drive_group, inventory_for_host,
existing_daemons=len(dd_for_spec_and_host))
logger.debug(f"Found drive selection {drive_selection}")
+ if drive_group.method and drive_group.method == 'raw':
+ # ceph-volume can currently only handle a 1:1 mapping
+ # of data/db/wal devices for raw mode osds. If db/wal devices
+ # are defined and the number does not match the number of data
+ # devices, we need to bail out
+ if drive_selection.data_devices() and drive_selection.db_devices():
+ if len(drive_selection.data_devices()) != len(drive_selection.db_devices()):
+ raise OrchestratorError('Raw mode only supports a 1:1 ratio of data to db devices. Found '
+ f'{len(drive_selection.data_devices())} potential data device(s) and '
+ f'{len(drive_selection.db_devices())} potential db device(s) on host {host}')
+ if drive_selection.data_devices() and drive_selection.wal_devices():
+ if len(drive_selection.data_devices()) != len(drive_selection.wal_devices()):
+ raise OrchestratorError('Raw mode only supports a 1:1 ratio of data to wal devices. Found '
+ f'{len(drive_selection.data_devices())} potential data device(s) and '
+ f'{len(drive_selection.wal_devices())} potential wal device(s) on host {host}')
host_ds_map.append((host, drive_selection))
return host_ds_map
@staticmethod
def driveselection_to_ceph_volume(drive_selection: DriveSelection,
osd_id_claims: Optional[List[str]] = None,
- preview: bool = False) -> Optional[str]:
+ preview: bool = False) -> List[str]:
logger.debug(f"Translating DriveGroup <{drive_selection.spec}> to ceph-volume command")
- cmd: Optional[str] = translate.to_ceph_volume(drive_selection,
- osd_id_claims, preview=preview).run()
- logger.debug(f"Resulting ceph-volume cmd: {cmd}")
- return cmd
+ cmds: List[str] = translate.to_ceph_volume(drive_selection,
+ osd_id_claims, preview=preview).run()
+ logger.debug(f"Resulting ceph-volume cmds: {cmds}")
+ return cmds
def get_previews(self, host: str) -> List[Dict[str, Any]]:
# Find OSDSpecs that match host.
continue
# driveselection for host
- cmd = self.driveselection_to_ceph_volume(ds,
- osd_id_claims.filtered_by_host(host),
- preview=True)
- if not cmd:
+ cmds: List[str] = self.driveselection_to_ceph_volume(ds,
+ osd_id_claims.filtered_by_host(
+ host),
+ preview=True)
+ if not cmds:
logger.debug("No data_devices, skipping DriveGroup: {}".format(
osdspec.service_name()))
continue
# get preview data from ceph-volume
- out, err, code = self.mgr.wait_async(self._run_ceph_volume_command(host, cmd))
- if out:
- try:
- concat_out: Dict[str, Any] = json.loads(' '.join(out))
- except ValueError:
- logger.exception('Cannot decode JSON: \'%s\'' % ' '.join(out))
- concat_out = {}
- notes = []
- if osdspec.data_devices is not None and osdspec.data_devices.limit and len(concat_out) < osdspec.data_devices.limit:
- found = len(concat_out)
- limit = osdspec.data_devices.limit
- notes.append(
- f'NOTE: Did not find enough disks matching filter on host {host} to reach data device limit (Found: {found} | Limit: {limit})')
- ret_all.append({'data': concat_out,
- 'osdspec': osdspec.service_id,
- 'host': host,
- 'notes': notes})
+ for cmd in cmds:
+ out, err, code = self.mgr.wait_async(self._run_ceph_volume_command(host, cmd))
+ if out:
+ try:
+ concat_out: Dict[str, Any] = json.loads(' '.join(out))
+ except ValueError:
+ logger.exception('Cannot decode JSON: \'%s\'' % ' '.join(out))
+ concat_out = {}
+ notes = []
+ if osdspec.data_devices is not None and osdspec.data_devices.limit and len(concat_out) < osdspec.data_devices.limit:
+ found = len(concat_out)
+ limit = osdspec.data_devices.limit
+ notes.append(
+ f'NOTE: Did not find enough disks matching filter on host {host} to reach data device limit (Found: {found} | Limit: {limit})')
+ ret_all.append({'data': concat_out,
+ 'osdspec': osdspec.service_id,
+ 'host': host,
+ 'notes': notes})
return ret_all
def resolve_hosts_for_osdspecs(self,
host: str,
addr: Optional[str] = None,
) -> "SSHClientConnection":
- if not self.cons.get(host):
+ if not self.cons.get(host) or host not in self.mgr.inventory:
if not addr and host in self.mgr.inventory:
addr = self.mgr.inventory.get_addr(host)
with self.redirect_log(host, addr):
try:
- conn = await asyncssh.connect(addr, username=self.mgr.ssh_user, client_keys=[self.mgr.tkey.name], known_hosts=None, config=[self.mgr.ssh_config_fname], preferred_auth=['publickey'])
+ ssh_options = asyncssh.SSHClientConnectionOptions(
+ keepalive_interval=7, keepalive_count_max=3)
+ conn = await asyncssh.connect(addr, username=self.mgr.ssh_user, client_keys=[self.mgr.tkey.name],
+ known_hosts=None, config=[self.mgr.ssh_config_fname],
+ preferred_auth=['publickey'], options=ssh_options)
except OSError:
raise
except asyncssh.Error:
def redirect_log(self, host: str, addr: str) -> Iterator[None]:
log_string = StringIO()
ch = logging.StreamHandler(log_string)
- ch.setLevel(logging.DEBUG)
+ ch.setLevel(logging.INFO)
asyncssh_logger.addHandler(ch)
try:
except OSError as e:
self.mgr.offline_hosts.add(host)
log_content = log_string.getvalue()
- msg = f"Can't communicate with remote host `{addr}`, possibly because python3 is not installed there. {str(e)}" + \
- '\n' + f'Log: {log_content}'
+ msg = f"Can't communicate with remote host `{addr}`, possibly because python3 is not installed there. {str(e)}"
logger.exception(msg)
raise OrchestratorError(msg)
except asyncssh.Error as e:
addr: Optional[str] = None,
) -> Tuple[str, str, int]:
conn = await self._remote_connection(host, addr)
- cmd = "sudo " + " ".join(quote(x) for x in cmd)
+ sudo_prefix = "sudo " if self.mgr.ssh_user != 'root' else ""
+ cmd = sudo_prefix + " ".join(quote(x) for x in cmd)
logger.debug(f'Running command: {cmd}')
try:
+ r = await conn.run('sudo true', check=True, timeout=5)
r = await conn.run(cmd, input=stdin)
# handle these Exceptions otherwise you might get a weird error like TypeError: __init__() missing 1 required positional argument: 'reason' (due to the asyncssh error interacting with raise_if_exception)
- except (asyncssh.ChannelOpenError, Exception) as e:
+ except (asyncssh.ChannelOpenError, asyncssh.ProcessError, Exception) as e:
# SSH connection closed or broken, will create new connection next call
logger.debug(f'Connection to {host} failed. {str(e)}')
await self._reset_con(host)
await self._check_execute_command(host, ['mkdir', '-p', '/tmp' + dirname], addr=addr)
tmp_path = '/tmp' + path + '.new'
await self._check_execute_command(host, ['touch', tmp_path], addr=addr)
- if uid is not None and gid is not None and mode is not None:
- # shlex quote takes str or byte object, not int
- await self._check_execute_command(host, ['chown', '-R', str(uid) + ':' + str(gid), tmp_path], addr=addr)
- await self._check_execute_command(host, ['chmod', oct(mode)[2:], tmp_path], addr=addr)
- elif self.mgr.ssh_user != 'root':
+ if self.mgr.ssh_user != 'root':
assert self.mgr.ssh_user
await self._check_execute_command(host, ['chown', '-R', self.mgr.ssh_user, tmp_path], addr=addr)
await self._check_execute_command(host, ['chmod', str(644), tmp_path], addr=addr)
f.flush()
conn = await self._remote_connection(host, addr)
await asyncssh.scp(f.name, (conn, tmp_path))
+ if uid is not None and gid is not None and mode is not None:
+ # shlex quote takes str or byte object, not int
+ await self._check_execute_command(host, ['chown', '-R', str(uid) + ':' + str(gid), tmp_path], addr=addr)
+ await self._check_execute_command(host, ['chmod', oct(mode)[2:], tmp_path], addr=addr)
await self._check_execute_command(host, ['mv', tmp_path, path], addr=addr)
except Exception as e:
msg = f"Unable to write {host}:{path}: {e}"
global:
resolve_timeout: 5m
+{% if not secure %}
+ http_config:
+ tls_config:
+ insecure_skip_verify: true
+{% endif %}
route:
receiver: 'default'
orgId: 1
{% endfor %}
+ - name: 'Loki'
+ orgId: 2
+
datasources:
{% for host in hosts %}
- name: 'Dashboard{{ loop.index }}'
isDefault: {{ 'true' if loop.first else 'false' }}
editable: false
{% endfor %}
+
+ - name: 'Loki'
+ type: 'loki'
+ access: 'proxy'
+ orgId: 2
+ url: '{{ loki_host }}'
+ basicAuth: false
+ isDefault: true
+ editable: false
cert_key = /etc/grafana/certs/cert_key
http_port = {{ http_port }}
http_addr = {{ http_addr }}
+[snapshots]
+ external_enabled = false
[security]
{% if not initial_admin_password %}
disable_initial_admin_creation = true
--- /dev/null
+# {{ cephadm_managed }}
+auth_enabled: false
+
+server:
+ http_listen_port: 3100
+ grpc_listen_port: 8080
+
+common:
+ path_prefix: /tmp/loki
+ storage:
+ filesystem:
+ chunks_directory: /tmp/loki/chunks
+ rules_directory: /tmp/loki/rules
+ replication_factor: 1
+ ring:
+ instance_addr: 127.0.0.1
+ kvstore:
+ store: inmemory
+
+schema_config:
+ configs:
+ - from: 2020-10-24
+ store: boltdb-shipper
+ object_store: filesystem
+ schema: v11
+ index:
+ prefix: index_
+ period: 24h
--- /dev/null
+# {{ cephadm_managed }}
+server:
+ http_listen_port: 9080
+ grpc_listen_port: 0
+
+positions:
+ filename: /tmp/positions.yaml
+
+clients:
+ - url: http://{{ client_hostname }}:3100/loki/api/v1/push
+
+scrape_configs:
+- job_name: system
+ static_configs:
+ - targets:
+{% for url in hostnames %}
+ - {{ url }}
+{% endfor %}
+ labels:
+ job: Cluster Logs
+ __path__: /var/log/ceph/**/*.log
return __file__
+def get_module_option_ex(_, module, key, default=None):
+ if module == 'prometheus':
+ if key == 'server_port':
+ return 9283
+ return None
+
+
def _run_cephadm(ret):
async def foo(s, host, entity, cmd, e, **kwargs):
if cmd == 'gather-facts':
"""
with mock.patch("cephadm.module.CephadmOrchestrator.get_ceph_option", get_ceph_option),\
mock.patch("cephadm.services.osd.RemoveUtil._run_mon_cmd"), \
+ mock.patch('cephadm.module.CephadmOrchestrator.get_module_option_ex', get_module_option_ex),\
mock.patch("cephadm.module.CephadmOrchestrator.get_osdmap"), \
mock.patch("cephadm.module.CephadmOrchestrator.remote"), \
mock.patch("cephadm.agent.CephadmAgentHelpers._request_agent_acks"), \
mock.patch("cephadm.agent.CephadmAgentHelpers._apply_agent", return_value=False), \
mock.patch("cephadm.agent.CephadmAgentHelpers._agent_down", return_value=False), \
- mock.patch('cephadm.agent.CherryPyThread.run'):
+ mock.patch('cephadm.agent.CherryPyThread.run'), \
+ mock.patch('cephadm.offline_watcher.OfflineHostWatcher.run'):
m = CephadmOrchestrator.__new__(CephadmOrchestrator)
if module_options is not None:
--- /dev/null
+from unittest.mock import MagicMock
+from cephadm.agent import Root
+
+
+class FakeDaemonDescription:
+ def __init__(self, ip, ports, hostname, service_name='', daemon_type=''):
+ self.ip = ip
+ self.ports = ports
+ self.hostname = hostname
+ self._service_name = service_name
+ self.daemon_type = daemon_type
+
+ def service_name(self):
+ return self._service_name
+
+
+class FakeCache:
+ def get_daemons_by_service(self, service_type):
+ return [FakeDaemonDescription('1.2.3.4', [9100], 'node0'),
+ FakeDaemonDescription('1.2.3.5', [9200], 'node1')]
+
+ def get_daemons_by_type(self, daemon_type):
+ return [FakeDaemonDescription('1.2.3.4', [9100], 'node0', 'ingress', 'haproxy'),
+ FakeDaemonDescription('1.2.3.5', [9200], 'node1', 'ingress', 'haproxy')]
+
+
+class FakeInventory:
+ def get_addr(self, name: str):
+ return '1.2.3.4'
+
+
+class FakeServiceSpec:
+ def __init__(self, port):
+ self.monitor_port = port
+
+
+class FakeSpecDescription:
+ def __init__(self, port):
+ self.spec = FakeServiceSpec(port)
+
+
+class FakeSpecStore():
+ def __init__(self, mgr):
+ self.mgr = mgr
+ self._specs = {'ingress': FakeSpecDescription(9049)}
+
+ def __contains__(self, name):
+ return name in self._specs
+
+ def __getitem__(self, name):
+ return self._specs['ingress']
+
+
+class FakeMgr:
+ def __init__(self):
+ self.config = ''
+ self.check_mon_command = MagicMock(side_effect=self._check_mon_command)
+ self.mon_command = MagicMock(side_effect=self._check_mon_command)
+ self.template = MagicMock()
+ self.log = MagicMock()
+ self.inventory = FakeInventory()
+ self.cache = FakeCache()
+ self.spec_store = FakeSpecStore(self)
+
+ def list_servers(self):
+
+ servers = [
+ {'hostname': 'node0',
+ 'ceph_version': '16.2',
+ 'services': [{'type': 'mgr'}, {'type': 'mon'}]},
+ {'hostname': 'node1',
+ 'ceph_version': '16.2',
+ 'services': [{'type': 'mgr'}, {'type': 'mon'}]}
+ ]
+
+ return servers
+
+ def _check_mon_command(self, cmd_dict, inbuf=None):
+ prefix = cmd_dict.get('prefix')
+ if prefix == 'get-cmd':
+ return 0, self.config, ''
+ if prefix == 'set-cmd':
+ self.config = cmd_dict.get('value')
+ return 0, 'value set', ''
+ return -1, '', 'error'
+
+ def get_module_option_ex(self, module, option, default_value):
+ return "9283"
+
+
+class TestCephadmService:
+
+ def test_get_sd_config_prometheus(self):
+ mgr = FakeMgr()
+ root = Root(mgr)
+ cfg = root.get_sd_config('mgr-prometheus')
+
+ # check response structure
+ assert cfg
+ for entry in cfg:
+ assert 'labels' in entry
+ assert 'targets' in entry
+
+ # check content
+ assert cfg[0]['targets'] == ['node0:9283', 'node1:9283']
+
+ def test_get_sd_config_node_exporter(self):
+ mgr = FakeMgr()
+ root = Root(mgr)
+ cfg = root.get_sd_config('node-exporter')
+
+ # check response structure
+ assert cfg
+ for entry in cfg:
+ assert 'labels' in entry
+ assert 'targets' in entry
+
+ # check content
+ assert cfg[0]['targets'] == ['1.2.3.4:9100']
+ assert cfg[0]['labels'] == {'instance': 'node0'}
+ assert cfg[1]['targets'] == ['1.2.3.5:9200']
+ assert cfg[1]['labels'] == {'instance': 'node1'}
+
+ def test_get_sd_config_alertmgr(self):
+ mgr = FakeMgr()
+ root = Root(mgr)
+ cfg = root.get_sd_config('alertmanager')
+
+ # check response structure
+ assert cfg
+ for entry in cfg:
+ assert 'labels' in entry
+ assert 'targets' in entry
+
+ # check content
+ assert cfg[0]['targets'] == ['1.2.3.4:9100', '1.2.3.5:9200']
+
+ def test_get_sd_config_haproxy(self):
+ mgr = FakeMgr()
+ root = Root(mgr)
+ cfg = root.get_sd_config('haproxy')
+
+ # check response structure
+ assert cfg
+ for entry in cfg:
+ assert 'labels' in entry
+ assert 'targets' in entry
+
+ # check content
+ assert cfg[0]['targets'] == ['1.2.3.4:9049']
+ assert cfg[0]['labels'] == {'instance': 'ingress'}
+
+ def test_get_sd_config_invalid_service(self):
+ mgr = FakeMgr()
+ root = Root(mgr)
+ cfg = root.get_sd_config('invalid-service')
+ assert cfg == []
pass
from ceph.deployment.service_spec import ServiceSpec, PlacementSpec, RGWSpec, \
- NFSServiceSpec, IscsiServiceSpec, HostPlacementSpec, CustomContainerSpec
+ NFSServiceSpec, IscsiServiceSpec, HostPlacementSpec, CustomContainerSpec, MDSSpec
from ceph.deployment.drive_selection.selector import DriveSelection
from ceph.deployment.inventory import Devices, Device
from ceph.utils import datetime_to_str, datetime_now
assert wait(cephadm_module, cephadm_module.get_hosts()) == [HostSpec('test', '1::4')]
assert wait(cephadm_module, cephadm_module.get_hosts()) == []
+ @mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('[]'))
+ @mock.patch("cephadm.utils.resolve_ip")
+ def test_re_add_host_receive_loopback(self, resolve_ip, cephadm_module):
+ resolve_ip.side_effect = ['192.168.122.1', '127.0.0.1', '127.0.0.1']
+ assert wait(cephadm_module, cephadm_module.get_hosts()) == []
+ cephadm_module._add_host(HostSpec('test', '192.168.122.1'))
+ assert wait(cephadm_module, cephadm_module.get_hosts()) == [
+ HostSpec('test', '192.168.122.1')]
+ cephadm_module._add_host(HostSpec('test'))
+ assert wait(cephadm_module, cephadm_module.get_hosts()) == [
+ HostSpec('test', '192.168.122.1')]
+ with pytest.raises(OrchestratorError):
+ cephadm_module._add_host(HostSpec('test2'))
+
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('[]'))
def test_service_ls(self, cephadm_module):
with with_host(cephadm_module, 'test'):
c = cephadm_module.list_daemons(refresh=True)
assert wait(cephadm_module, c) == []
- with with_service(cephadm_module, ServiceSpec('mds', 'name', unmanaged=True)) as _, \
- with_daemon(cephadm_module, ServiceSpec('mds', 'name'), 'test') as _:
+ with with_service(cephadm_module, MDSSpec('mds', 'name', unmanaged=True)) as _, \
+ with_daemon(cephadm_module, MDSSpec('mds', 'name'), 'test') as _:
c = cephadm_module.list_daemons()
with with_host(cephadm_module, 'host2'):
with with_service(cephadm_module, ServiceSpec('mgr', placement=PlacementSpec(count=2)),
CephadmOrchestrator.apply_mgr, '', status_running=True):
- with with_service(cephadm_module, ServiceSpec('mds', 'test-id', placement=PlacementSpec(count=2)),
+ with with_service(cephadm_module, MDSSpec('mds', 'test-id', placement=PlacementSpec(count=2)),
CephadmOrchestrator.apply_mds, '', status_running=True):
# with no service-type. Should provide info fot both services
c = cephadm_module.create_osds(dg)
out = wait(cephadm_module, c)
assert out == "Created no osd(s) on host test; already created?"
+ bad_dg = DriveGroupSpec(placement=PlacementSpec(host_pattern='invalid_hsot'),
+ data_devices=DeviceSelection(paths=['']))
+ c = cephadm_module.create_osds(bad_dg)
+ out = wait(cephadm_module, c)
+ assert "Invalid 'host:device' spec: host not found in cluster" in out
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
def test_create_noncollocated_osd(self, cephadm_module):
assert isinstance(f1[1], DriveSelection)
@pytest.mark.parametrize(
- "devices, preview, exp_command",
+ "devices, preview, exp_commands",
[
# no preview and only one disk, prepare is used due the hack that is in place.
- (['/dev/sda'], False, "lvm batch --no-auto /dev/sda --yes --no-systemd"),
+ (['/dev/sda'], False, ["lvm batch --no-auto /dev/sda --yes --no-systemd"]),
# no preview and multiple disks, uses batch
(['/dev/sda', '/dev/sdb'], False,
- "CEPH_VOLUME_OSDSPEC_AFFINITY=test.spec lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd"),
+ ["CEPH_VOLUME_OSDSPEC_AFFINITY=test.spec lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd"]),
# preview and only one disk needs to use batch again to generate the preview
- (['/dev/sda'], True, "lvm batch --no-auto /dev/sda --yes --no-systemd --report --format json"),
+ (['/dev/sda'], True, ["lvm batch --no-auto /dev/sda --yes --no-systemd --report --format json"]),
# preview and multiple disks work the same
(['/dev/sda', '/dev/sdb'], True,
- "CEPH_VOLUME_OSDSPEC_AFFINITY=test.spec lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd --report --format json"),
+ ["CEPH_VOLUME_OSDSPEC_AFFINITY=test.spec lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd --report --format json"]),
]
)
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
- def test_driveselection_to_ceph_volume(self, cephadm_module, devices, preview, exp_command):
+ def test_driveselection_to_ceph_volume(self, cephadm_module, devices, preview, exp_commands):
with with_host(cephadm_module, 'test'):
dg = DriveGroupSpec(service_id='test.spec', placement=PlacementSpec(
host_pattern='test'), data_devices=DeviceSelection(paths=devices))
ds = DriveSelection(dg, Devices([Device(path) for path in devices]))
preview = preview
out = cephadm_module.osd_service.driveselection_to_ceph_volume(ds, [], preview)
- assert out in exp_command
+ assert all(any(cmd in exp_cmd for exp_cmd in exp_commands)
+ for cmd in out), f'Expected cmds from f{out} in {exp_commands}'
+
+ @pytest.mark.parametrize(
+ "devices, preview, exp_commands",
+ [
+ # one data device, no preview
+ (['/dev/sda'], False, ["raw prepare --bluestore --data /dev/sda"]),
+ # multiple data devices, no preview
+ (['/dev/sda', '/dev/sdb'], False,
+ ["raw prepare --bluestore --data /dev/sda", "raw prepare --bluestore --data /dev/sdb"]),
+ # one data device, preview
+ (['/dev/sda'], True, ["raw prepare --bluestore --data /dev/sda --report --format json"]),
+ # multiple data devices, preview
+ (['/dev/sda', '/dev/sdb'], True,
+ ["raw prepare --bluestore --data /dev/sda --report --format json", "raw prepare --bluestore --data /dev/sdb --report --format json"]),
+ ]
+ )
+ @mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
+ def test_raw_driveselection_to_ceph_volume(self, cephadm_module, devices, preview, exp_commands):
+ with with_host(cephadm_module, 'test'):
+ dg = DriveGroupSpec(service_id='test.spec', method='raw', placement=PlacementSpec(
+ host_pattern='test'), data_devices=DeviceSelection(paths=devices))
+ ds = DriveSelection(dg, Devices([Device(path) for path in devices]))
+ preview = preview
+ out = cephadm_module.osd_service.driveselection_to_ceph_volume(ds, [], preview)
+ assert all(any(cmd in exp_cmd for exp_cmd in exp_commands)
+ for cmd in out), f'Expected cmds from f{out} in {exp_commands}'
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm(
json.dumps([
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
def test_mds_config_purge(self, cephadm_module: CephadmOrchestrator):
- spec = ServiceSpec('mds', service_id='fsname')
+ spec = MDSSpec('mds', service_id='fsname', config={'test': 'foo'})
with with_host(cephadm_module, 'test'):
with with_service(cephadm_module, spec, host='test'):
ret, out, err = cephadm_module.check_mon_command({
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
@mock.patch("cephadm.services.cephadmservice.CephadmService.ok_to_stop")
def test_daemon_ok_to_stop(self, ok_to_stop, cephadm_module: CephadmOrchestrator):
- spec = ServiceSpec(
+ spec = MDSSpec(
'mds',
service_id='fsname',
- placement=PlacementSpec(hosts=['host1', 'host2'])
+ placement=PlacementSpec(hosts=['host1', 'host2']),
+ config={'test': 'foo'}
)
with with_host(cephadm_module, 'host1'), with_host(cephadm_module, 'host2'):
c = cephadm_module.apply_mds(spec)
assert cephadm_module.manage_etc_ceph_ceph_conf is True
CephadmServe(cephadm_module)._refresh_hosts_and_daemons()
- _write_file.assert_called_with('test', '/etc/ceph/ceph.conf', b'',
- 0o644, 0, 0, None)
-
- assert '/etc/ceph/ceph.conf' in cephadm_module.cache.get_host_client_files('test')
+ # Make sure both ceph conf locations (default and per fsid) are called
+ _write_file.assert_has_calls([mock.call('test', '/etc/ceph/ceph.conf', b'',
+ 0o644, 0, 0, None),
+ mock.call('test', '/var/lib/ceph/fsid/config/ceph.conf', b'',
+ 0o644, 0, 0, None)]
+ )
+ ceph_conf_files = cephadm_module.cache.get_host_client_files('test')
+ assert len(ceph_conf_files) == 2
+ assert '/etc/ceph/ceph.conf' in ceph_conf_files
+ assert '/var/lib/ceph/fsid/config/ceph.conf' in ceph_conf_files
# set extra config and expect that we deploy another ceph.conf
cephadm_module._set_extra_ceph_conf('[mon]\nk=v')
CephadmServe(cephadm_module)._refresh_hosts_and_daemons()
- _write_file.assert_called_with('test', '/etc/ceph/ceph.conf',
- b'\n\n[mon]\nk=v\n', 0o644, 0, 0, None)
-
+ _write_file.assert_has_calls([mock.call('test',
+ '/etc/ceph/ceph.conf',
+ b'\n\n[mon]\nk=v\n', 0o644, 0, 0, None),
+ mock.call('test',
+ '/var/lib/ceph/fsid/config/ceph.conf',
+ b'\n\n[mon]\nk=v\n', 0o644, 0, 0, None)])
# reload
cephadm_module.cache.last_client_files = {}
cephadm_module.cache.load()
- assert '/etc/ceph/ceph.conf' in cephadm_module.cache.get_host_client_files('test')
+ ceph_conf_files = cephadm_module.cache.get_host_client_files('test')
+ assert len(ceph_conf_files) == 2
+ assert '/etc/ceph/ceph.conf' in ceph_conf_files
+ assert '/var/lib/ceph/fsid/config/ceph.conf' in ceph_conf_files
# Make sure, _check_daemons does a redeploy due to monmap change:
- before_digest = cephadm_module.cache.get_host_client_files('test')[
+ f1_before_digest = cephadm_module.cache.get_host_client_files('test')[
'/etc/ceph/ceph.conf'][0]
+ f2_before_digest = cephadm_module.cache.get_host_client_files(
+ 'test')['/var/lib/ceph/fsid/config/ceph.conf'][0]
cephadm_module._set_extra_ceph_conf('[mon]\nk2=v2')
CephadmServe(cephadm_module)._refresh_hosts_and_daemons()
- after_digest = cephadm_module.cache.get_host_client_files('test')[
+ f1_after_digest = cephadm_module.cache.get_host_client_files('test')[
'/etc/ceph/ceph.conf'][0]
- assert before_digest != after_digest
+ f2_after_digest = cephadm_module.cache.get_host_client_files(
+ 'test')['/var/lib/ceph/fsid/config/ceph.conf'][0]
+ assert f1_before_digest != f1_after_digest
+ assert f2_before_digest != f2_after_digest
def test_etc_ceph_init(self):
with with_cephadm_module({'manage_etc_ceph_ceph_conf': True}) as m:
).place()
assert sorted([h.hostname for h in to_add]) in expected_add
assert sorted([h.name() for h in to_remove]) in expected_remove
+
+
+class RescheduleFromOfflineTest(NamedTuple):
+ service_type: str
+ placement: PlacementSpec
+ hosts: List[str]
+ maintenance_hosts: List[str]
+ offline_hosts: List[str]
+ daemons: List[DaemonDescription]
+ expected_add: List[List[str]]
+ expected_remove: List[List[str]]
+
+
+@pytest.mark.parametrize("service_type,placement,hosts,maintenance_hosts,offline_hosts,daemons,expected_add,expected_remove",
+ [
+ RescheduleFromOfflineTest(
+ 'nfs',
+ PlacementSpec(count=2),
+ 'host1 host2 host3'.split(),
+ [],
+ ['host2'],
+ [
+ DaemonDescription('nfs', 'a', 'host1'),
+ DaemonDescription('nfs', 'b', 'host2'),
+ ],
+ [['host3']],
+ [[]],
+ ),
+ RescheduleFromOfflineTest(
+ 'nfs',
+ PlacementSpec(count=2),
+ 'host1 host2 host3'.split(),
+ ['host2'],
+ [],
+ [
+ DaemonDescription('nfs', 'a', 'host1'),
+ DaemonDescription('nfs', 'b', 'host2'),
+ ],
+ [[]],
+ [[]],
+ ),
+ RescheduleFromOfflineTest(
+ 'mon',
+ PlacementSpec(count=2),
+ 'host1 host2 host3'.split(),
+ [],
+ ['host2'],
+ [
+ DaemonDescription('mon', 'a', 'host1'),
+ DaemonDescription('mon', 'b', 'host2'),
+ ],
+ [[]],
+ [[]],
+ ),
+ ])
+def test_remove_from_offline(service_type, placement, hosts, maintenance_hosts, offline_hosts, daemons, expected_add, expected_remove):
+
+ spec = ServiceSpec(service_type=service_type,
+ service_id='test',
+ placement=placement)
+
+ host_specs = [HostSpec(h) for h in hosts]
+ for h in host_specs:
+ if h.hostname in offline_hosts:
+ h.status = 'offline'
+ if h.hostname in maintenance_hosts:
+ h.status = 'maintenance'
+
+ hosts, to_add, to_remove = HostAssignment(
+ spec=spec,
+ hosts=host_specs,
+ unreachable_hosts=[h for h in host_specs if h.status],
+ daemons=daemons,
+ ).place()
+ assert sorted([h.hostname for h in to_add]) in expected_add
+ assert sorted([h.name() for h in to_remove]) in expected_remove
from cephadm.services.nfs import NFSService
from cephadm.services.osd import OSDService
from cephadm.services.monitoring import GrafanaService, AlertmanagerService, PrometheusService, \
- NodeExporterService
+ NodeExporterService, LokiService, PromtailService
from cephadm.module import CephadmOrchestrator
from ceph.deployment.service_spec import IscsiServiceSpec, MonitoringSpec, AlertManagerSpec, \
ServiceSpec, RGWSpec, GrafanaSpec, SNMPGatewaySpec, IngressSpec, PlacementSpec
alertmanager_service = AlertmanagerService(mgr)
prometheus_service = PrometheusService(mgr)
node_exporter_service = NodeExporterService(mgr)
+ loki_service = LokiService(mgr)
+ promtail_service = PromtailService(mgr)
crash_service = CrashService(mgr)
iscsi_service = IscsiService(mgr)
cephadm_services = {
'alertmanager': alertmanager_service,
'prometheus': prometheus_service,
'node-exporter': node_exporter_service,
+ 'loki': loki_service,
+ 'promtail': promtail_service,
'crash': crash_service,
'iscsi': iscsi_service,
}
# services based on CephadmService shouldn't have get_auth_entity
with pytest.raises(AttributeError):
- for daemon_type in ['grafana', 'alertmanager', 'prometheus', 'node-exporter']:
+ for daemon_type in ['grafana', 'alertmanager', 'prometheus', 'node-exporter', 'loki', 'promtail']:
cephadm_services[daemon_type].get_auth_entity("id1", "host")
cephadm_services[daemon_type].get_auth_entity("id1", "")
cephadm_services[daemon_type].get_auth_entity("id1")
global:
resolve_timeout: 5m
+ http_config:
+ tls_config:
+ insecure_skip_verify: true
route:
receiver: 'default'
honor_labels: true
static_configs:
- targets:
- - '[::1]:8081'
+ - '[::1]:9283'
- job_name: 'node'
static_configs:
image='')
@patch("cephadm.serve.CephadmServe._run_cephadm")
- @patch("cephadm.module.CephadmOrchestrator.get_mgr_ip", lambda _: '1::4')
- @patch("cephadm.services.monitoring.verify_tls", lambda *_: None)
- def test_grafana_config(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
+ def test_loki_config(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
_run_cephadm.side_effect = async_side_effect(('{}', '', 0))
with with_host(cephadm_module, 'test'):
- cephadm_module.set_store('grafana_crt', 'c')
- cephadm_module.set_store('grafana_key', 'k')
- with with_service(cephadm_module, MonitoringSpec('prometheus')) as _, \
- with_service(cephadm_module, GrafanaSpec('grafana')) as _:
+ with with_service(cephadm_module, MonitoringSpec('loki')) as _:
+
+ y = dedent("""
+ # This file is generated by cephadm.
+ auth_enabled: false
+
+ server:
+ http_listen_port: 3100
+ grpc_listen_port: 8080
+
+ common:
+ path_prefix: /tmp/loki
+ storage:
+ filesystem:
+ chunks_directory: /tmp/loki/chunks
+ rules_directory: /tmp/loki/rules
+ replication_factor: 1
+ ring:
+ instance_addr: 127.0.0.1
+ kvstore:
+ store: inmemory
+
+ schema_config:
+ configs:
+ - from: 2020-10-24
+ store: boltdb-shipper
+ object_store: filesystem
+ schema: v11
+ index:
+ prefix: index_
+ period: 24h""").lstrip()
+
+ _run_cephadm.assert_called_with(
+ 'test',
+ 'loki.test',
+ 'deploy',
+ [
+ '--name', 'loki.test',
+ '--meta-json',
+ '{"service_name": "loki", "ports": [3100], "ip": null, "deployed_by": [], "rank": null, "rank_generation": null, "extra_container_args": null}',
+ '--config-json', '-',
+ '--tcp-ports', '3100'
+ ],
+ stdin=json.dumps({"files": {"loki.yml": y}}),
+ image='')
+
+ @patch("cephadm.serve.CephadmServe._run_cephadm")
+ def test_promtail_config(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
+ _run_cephadm.side_effect = async_side_effect(('{}', '', 0))
+
+ with with_host(cephadm_module, 'test'):
+ with with_service(cephadm_module, ServiceSpec('mgr')) as _, \
+ with_service(cephadm_module, MonitoringSpec('promtail')) as _:
+
+ y = dedent("""
+ # This file is generated by cephadm.
+ server:
+ http_listen_port: 9080
+ grpc_listen_port: 0
+
+ positions:
+ filename: /tmp/positions.yaml
+
+ clients:
+ - url: http://1::4:3100/loki/api/v1/push
+
+ scrape_configs:
+ - job_name: system
+ static_configs:
+ - targets:
+ - 1::4
+ labels:
+ job: Cluster Logs
+ __path__: /var/log/ceph/**/*.log""").lstrip()
+
+ _run_cephadm.assert_called_with(
+ 'test',
+ 'promtail.test',
+ 'deploy',
+ [
+ '--name', 'promtail.test',
+ '--meta-json',
+ '{"service_name": "promtail", "ports": [9080], "ip": null, "deployed_by": [], "rank": null, "rank_generation": null, "extra_container_args": null}',
+ '--config-json', '-',
+ '--tcp-ports', '9080'
+ ],
+ stdin=json.dumps({"files": {"promtail.yml": y}}),
+ image='')
+
+ @patch("cephadm.serve.CephadmServe._run_cephadm")
+ @patch("cephadm.module.CephadmOrchestrator.get_mgr_ip", lambda _: '1::4')
+ @patch("cephadm.services.monitoring.verify_tls", lambda *_: None)
+ def test_grafana_config(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
+ _run_cephadm.side_effect = async_side_effect(("{}", "", 0))
+
+ with with_host(cephadm_module, "test"):
+ cephadm_module.set_store("grafana_crt", "c")
+ cephadm_module.set_store("grafana_key", "k")
+ with with_service(
+ cephadm_module, MonitoringSpec("prometheus")
+ ) as _, with_service(cephadm_module, ServiceSpec("mgr")) as _, with_service(
+ cephadm_module, GrafanaSpec("grafana")
+ ) as _:
files = {
'grafana.ini': dedent("""
# This file is generated by cephadm.
cert_key = /etc/grafana/certs/cert_key
http_port = 3000
http_addr =
+ [snapshots]
+ external_enabled = false
[security]
disable_initial_admin_creation = true
cookie_secure = true
- name: 'Dashboard1'
orgId: 1
+ - name: 'Loki'
+ orgId: 2
+
datasources:
- name: 'Dashboard1'
type: 'prometheus'
basicAuth: false
isDefault: true
editable: false
- """).lstrip(),
+
+ - name: 'Loki'
+ type: 'loki'
+ access: 'proxy'
+ orgId: 2
+ url: 'http://[1::4]:3100'
+ basicAuth: false
+ isDefault: true
+ editable: false""").lstrip(),
'certs/cert_file': dedent("""
# generated by cephadm
c""").lstrip(),
@patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
def test_grafana_initial_admin_pw(self, cephadm_module: CephadmOrchestrator):
with with_host(cephadm_module, 'test'):
- with with_service(cephadm_module, GrafanaSpec(initial_admin_password='secure')):
+ with with_service(cephadm_module, ServiceSpec('mgr')) as _, \
+ with_service(cephadm_module, GrafanaSpec(initial_admin_password='secure')):
out = cephadm_module.cephadm_services['grafana'].generate_config(
CephadmDaemonDeploySpec('test', 'daemon', 'grafana'))
assert out == (
{
'files':
{
- 'certs/cert_file': ANY,
- 'certs/cert_key': ANY,
'grafana.ini':
'# This file is generated by cephadm.\n'
'[users]\n'
' cert_key = /etc/grafana/certs/cert_key\n'
' http_port = 3000\n'
' http_addr = \n'
+ '[snapshots]\n'
+ ' external_enabled = false\n'
'[security]\n'
' admin_user = admin\n'
' admin_password = secure\n'
' cookie_samesite = none\n'
' allow_embedding = true',
'provisioning/datasources/ceph-dashboard.yml':
- '# This file is generated by cephadm.\n'
- 'deleteDatasources:\n'
- '\n'
- 'datasources:\n'
- }
- },
- [],
- )
+ "# This file is generated by cephadm.\n"
+ 'deleteDatasources:\n\n'
+ " - name: 'Loki'\n"
+ ' orgId: 2\n\n'
+ 'datasources:\n\n'
+ " - name: 'Loki'\n"
+ " type: 'loki'\n"
+ " access: 'proxy'\n"
+ ' orgId: 2\n'
+ " url: 'http://[1::4]:3100'\n"
+ ' basicAuth: false\n'
+ ' isDefault: true\n'
+ ' editable: false',
+ 'certs/cert_file': ANY,
+ 'certs/cert_key': ANY}}, [])
@patch("cephadm.serve.CephadmServe._run_cephadm")
def test_monitoring_ports(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
from cephadm.upgrade import CephadmUpgrade
from orchestrator import OrchestratorError, DaemonDescription
from .fixtures import _run_cephadm, wait, with_host, with_service, \
- receive_agent_metadata
+ receive_agent_metadata, async_side_effect
+
+from typing import List, Tuple, Optional
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
get_daemons_by_service.side_effect = [[DaemonDescription(), DaemonDescription()]]
assert cephadm_module.upgrade._enough_mds_for_ok_to_stop(
DaemonDescription(daemon_type='mds', daemon_id='myfs.test.host1.gfknd', service_name='mds.myfs.test'))
+
+
+@pytest.mark.parametrize("current_version, use_tags, show_all_versions, tags, result",
+ [
+ # several candidate versions (from different major versions)
+ (
+ (16, 1, '16.1.0'),
+ False, # use_tags
+ False, # show_all_versions
+ [
+ 'v17.1.0',
+ 'v16.2.7',
+ 'v16.2.6',
+ 'v16.2.5',
+ 'v16.1.4',
+ 'v16.1.3',
+ 'v15.2.0',
+ ],
+ ['17.1.0', '16.2.7', '16.2.6', '16.2.5', '16.1.4', '16.1.3']
+ ),
+ # candidate minor versions are available
+ (
+ (16, 1, '16.1.0'),
+ False, # use_tags
+ False, # show_all_versions
+ [
+ 'v16.2.2',
+ 'v16.2.1',
+ 'v16.1.6',
+ ],
+ ['16.2.2', '16.2.1', '16.1.6']
+ ),
+ # all versions are less than the current version
+ (
+ (17, 2, '17.2.0'),
+ False, # use_tags
+ False, # show_all_versions
+ [
+ 'v17.1.0',
+ 'v16.2.7',
+ 'v16.2.6',
+ ],
+ []
+ ),
+ # show all versions (regardless of the current version)
+ (
+ (16, 1, '16.1.0'),
+ False, # use_tags
+ True, # show_all_versions
+ [
+ 'v17.1.0',
+ 'v16.2.7',
+ 'v16.2.6',
+ 'v15.1.0',
+ 'v14.2.0',
+ ],
+ ['17.1.0', '16.2.7', '16.2.6', '15.1.0', '14.2.0']
+ ),
+ # show all tags (regardless of the current version and show_all_versions flag)
+ (
+ (16, 1, '16.1.0'),
+ True, # use_tags
+ False, # show_all_versions
+ [
+ 'v17.1.0',
+ 'v16.2.7',
+ 'v16.2.6',
+ 'v16.2.5',
+ 'v16.1.4',
+ 'v16.1.3',
+ 'v15.2.0',
+ ],
+ ['v15.2.0', 'v16.1.3', 'v16.1.4', 'v16.2.5',
+ 'v16.2.6', 'v16.2.7', 'v17.1.0']
+ ),
+ ])
+@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
+def test_upgrade_ls(current_version, use_tags, show_all_versions, tags, result, cephadm_module: CephadmOrchestrator):
+ with mock.patch('cephadm.upgrade.Registry.get_tags', return_value=tags):
+ with mock.patch('cephadm.upgrade.CephadmUpgrade._get_current_version', return_value=current_version):
+ out = cephadm_module.upgrade.upgrade_ls(None, use_tags, show_all_versions)
+ if use_tags:
+ assert out['tags'] == result
+ else:
+ assert out['versions'] == result
+
+
+@pytest.mark.parametrize(
+ "upgraded, not_upgraded, daemon_types, hosts, services, should_block",
+ # [ ([(type, host, id), ... ], [...], [daemon types], [hosts], [services], True/False), ... ]
+ [
+ ( # valid, upgrade mgr daemons
+ [],
+ [('mgr', 'a', 'a.x'), ('mon', 'a', 'a')],
+ ['mgr'],
+ None,
+ None,
+ False
+ ),
+ ( # invalid, can't upgrade mons until mgr is upgraded
+ [],
+ [('mgr', 'a', 'a.x'), ('mon', 'a', 'a')],
+ ['mon'],
+ None,
+ None,
+ True
+ ),
+ ( # invalid, can't upgrade mon service until all mgr daemons are upgraded
+ [],
+ [('mgr', 'a', 'a.x'), ('mon', 'a', 'a')],
+ None,
+ None,
+ ['mon'],
+ True
+ ),
+ ( # valid, upgrade mgr service
+ [],
+ [('mgr', 'a', 'a.x'), ('mon', 'a', 'a')],
+ None,
+ None,
+ ['mgr'],
+ False
+ ),
+ ( # valid, mgr is already upgraded so can upgrade mons
+ [('mgr', 'a', 'a.x')],
+ [('mon', 'a', 'a')],
+ ['mon'],
+ None,
+ None,
+ False
+ ),
+ ( # invalid, can't upgrade all daemons on b b/c un-upgraded mgr on a
+ [],
+ [('mgr', 'b', 'b.y'), ('mon', 'a', 'a')],
+ None,
+ ['a'],
+ None,
+ True
+ ),
+ ( # valid, only daemon on b is a mgr
+ [],
+ [('mgr', 'a', 'a.x'), ('mgr', 'b', 'b.y'), ('mon', 'a', 'a')],
+ None,
+ ['b'],
+ None,
+ False
+ ),
+ ( # invalid, can't upgrade mon on a while mgr on b is un-upgraded
+ [],
+ [('mgr', 'a', 'a.x'), ('mgr', 'b', 'b.y'), ('mon', 'a', 'a')],
+ None,
+ ['a'],
+ None,
+ True
+ ),
+ ( # valid, only upgrading the mgr on a
+ [],
+ [('mgr', 'a', 'a.x'), ('mgr', 'b', 'b.y'), ('mon', 'a', 'a')],
+ ['mgr'],
+ ['a'],
+ None,
+ False
+ ),
+ ( # valid, mgr daemon not on b are upgraded
+ [('mgr', 'a', 'a.x')],
+ [('mgr', 'b', 'b.y'), ('mon', 'a', 'a')],
+ None,
+ ['b'],
+ None,
+ False
+ ),
+ ( # valid, all the necessary hosts are covered, mgr on c is already upgraded
+ [('mgr', 'c', 'c.z')],
+ [('mgr', 'a', 'a.x'), ('mgr', 'b', 'b.y'), ('mon', 'a', 'a'), ('osd', 'c', '0')],
+ None,
+ ['a', 'b'],
+ None,
+ False
+ ),
+ ( # invalid, can't upgrade mon on a while mgr on b is un-upgraded
+ [],
+ [('mgr', 'a', 'a.x'), ('mgr', 'b', 'b.y'), ('mon', 'a', 'a')],
+ ['mgr', 'mon'],
+ ['a'],
+ None,
+ True
+ ),
+ ( # valid, only mon not on "b" is upgraded already. Case hit while making teuthology test
+ [('mon', 'a', 'a')],
+ [('mon', 'b', 'x'), ('mon', 'b', 'y'), ('osd', 'a', '1'), ('osd', 'b', '2')],
+ ['mon', 'osd'],
+ ['b'],
+ None,
+ False
+ ),
+ ]
+)
+@mock.patch("cephadm.module.HostCache.get_daemons")
+@mock.patch("cephadm.serve.CephadmServe._get_container_image_info")
+@mock.patch('cephadm.module.SpecStore.__getitem__')
+def test_staggered_upgrade_validation(
+ get_spec,
+ get_image_info,
+ get_daemons,
+ upgraded: List[Tuple[str, str, str]],
+ not_upgraded: List[Tuple[str, str, str, str]],
+ daemon_types: Optional[str],
+ hosts: Optional[str],
+ services: Optional[str],
+ should_block: bool,
+ cephadm_module: CephadmOrchestrator,
+):
+ def to_dds(ts: List[Tuple[str, str]], upgraded: bool) -> List[DaemonDescription]:
+ dds = []
+ digest = 'new_image@repo_digest' if upgraded else 'old_image@repo_digest'
+ for t in ts:
+ dds.append(DaemonDescription(daemon_type=t[0],
+ hostname=t[1],
+ daemon_id=t[2],
+ container_image_digests=[digest],
+ deployed_by=[digest],))
+ return dds
+ get_daemons.return_value = to_dds(upgraded, True) + to_dds(not_upgraded, False)
+ get_image_info.side_effect = async_side_effect(
+ ('new_id', 'ceph version 99.99.99 (hash)', ['new_image@repo_digest']))
+
+ class FakeSpecDesc():
+ def __init__(self, spec):
+ self.spec = spec
+
+ def _get_spec(s):
+ return FakeSpecDesc(ServiceSpec(s))
+
+ get_spec.side_effect = _get_spec
+ if should_block:
+ with pytest.raises(OrchestratorError):
+ cephadm_module.upgrade._validate_upgrade_filters(
+ 'new_image_name', daemon_types, hosts, services)
+ else:
+ cephadm_module.upgrade._validate_upgrade_filters(
+ 'new_image_name', daemon_types, hosts, services)
from cephadm.registry import Registry
from cephadm.serve import CephadmServe
from cephadm.services.cephadmservice import CephadmDaemonDeploySpec
-from cephadm.utils import ceph_release_to_major, name_to_config_section, CEPH_UPGRADE_ORDER, MONITORING_STACK_TYPES
+from cephadm.utils import ceph_release_to_major, name_to_config_section, CEPH_UPGRADE_ORDER, \
+ MONITORING_STACK_TYPES, CEPH_TYPES, GATEWAY_TYPES
from orchestrator import OrchestratorError, DaemonDescription, DaemonDescriptionStatus, daemon_type_to_service
if TYPE_CHECKING:
error: Optional[str] = None,
paused: Optional[bool] = None,
fs_original_max_mds: Optional[Dict[str, int]] = None,
- fs_original_allow_standby_replay: Optional[Dict[str, bool]] = None
+ fs_original_allow_standby_replay: Optional[Dict[str, bool]] = None,
+ daemon_types: Optional[List[str]] = None,
+ hosts: Optional[List[str]] = None,
+ services: Optional[List[str]] = None,
+ total_count: Optional[int] = None,
+ remaining_count: Optional[int] = None,
):
self._target_name: str = target_name # Use CephadmUpgrade.target_image instead.
self.progress_id: str = progress_id
self.fs_original_max_mds: Optional[Dict[str, int]] = fs_original_max_mds
self.fs_original_allow_standby_replay: Optional[Dict[str,
bool]] = fs_original_allow_standby_replay
+ self.daemon_types = daemon_types
+ self.hosts = hosts
+ self.services = services
+ self.total_count = total_count
+ self.remaining_count = remaining_count
def to_json(self) -> dict:
return {
'fs_original_allow_standby_replay': self.fs_original_allow_standby_replay,
'error': self.error,
'paused': self.paused,
+ 'daemon_types': self.daemon_types,
+ 'hosts': self.hosts,
+ 'services': self.services,
+ 'total_count': self.total_count,
+ 'remaining_count': self.remaining_count,
}
@classmethod
def from_json(cls, data: dict) -> Optional['UpgradeState']:
+ valid_params = UpgradeState.__init__.__code__.co_varnames
if data:
- c = {k: v for k, v in data.items()}
+ c = {k: v for k, v in data.items() if k in valid_params}
if 'repo_digest' in c:
c['target_digests'] = [c.pop('repo_digest')]
return cls(**c)
r.target_image = self.target_image
r.in_progress = True
r.progress, r.services_complete = self._get_upgrade_info()
+
+ if self.upgrade_state.daemon_types is not None:
+ which_str = f'Upgrading daemons of type(s) {",".join(self.upgrade_state.daemon_types)}'
+ if self.upgrade_state.hosts is not None:
+ which_str += f' on host(s) {",".join(self.upgrade_state.hosts)}'
+ elif self.upgrade_state.services is not None:
+ which_str = f'Upgrading daemons in service(s) {",".join(self.upgrade_state.services)}'
+ if self.upgrade_state.hosts is not None:
+ which_str += f' on host(s) {",".join(self.upgrade_state.hosts)}'
+ elif self.upgrade_state.hosts is not None:
+ which_str = f'Upgrading all daemons on host(s) {",".join(self.upgrade_state.hosts)}'
+ else:
+ which_str = 'Upgrading all daemon types on all hosts'
+ if self.upgrade_state.total_count is not None and self.upgrade_state.remaining_count is not None:
+ which_str += f'. Upgrade limited to {self.upgrade_state.total_count} daemons ({self.upgrade_state.remaining_count} remaining).'
+ r.which = which_str
+
# accessing self.upgrade_info_str will throw an exception if it
# has not been set in _do_upgrade yet
try:
if not self.upgrade_state or not self.upgrade_state.target_digests:
return '', []
- daemons = [d for d in self.mgr.cache.get_daemons() if d.daemon_type in CEPH_UPGRADE_ORDER]
+ daemons = self._get_filtered_daemons()
if any(not d.container_image_digests for d in daemons if d.daemon_type == 'mgr'):
return '', []
return '%s/%s daemons upgraded' % (done, len(daemons)), completed_types
+ def _get_filtered_daemons(self) -> List[DaemonDescription]:
+ # Return the set of daemons set to be upgraded with out current
+ # filtering parameters (or all daemons in upgrade order if no filtering
+ # parameter are set).
+ assert self.upgrade_state is not None
+ if self.upgrade_state.daemon_types is not None:
+ daemons = [d for d in self.mgr.cache.get_daemons(
+ ) if d.daemon_type in self.upgrade_state.daemon_types]
+ elif self.upgrade_state.services is not None:
+ daemons = []
+ for service in self.upgrade_state.services:
+ daemons += self.mgr.cache.get_daemons_by_service(service)
+ else:
+ daemons = [d for d in self.mgr.cache.get_daemons(
+ ) if d.daemon_type in CEPH_UPGRADE_ORDER]
+ if self.upgrade_state.hosts is not None:
+ daemons = [d for d in daemons if d.hostname in self.upgrade_state.hosts]
+ return daemons
+
+ def _get_current_version(self) -> Tuple[int, int, str]:
+ current_version = self.mgr.version.split('ceph version ')[1]
+ (current_major, current_minor, _) = current_version.split('-')[0].split('.', 2)
+ return (int(current_major), int(current_minor), current_version)
+
def _check_target_version(self, version: str) -> Optional[str]:
try:
- (major, minor, _) = version.split('.', 2)
- assert int(minor) >= 0
+ v = version.split('.', 2)
+ (major, minor) = (int(v[0]), int(v[1]))
+ assert minor >= 0
# patch might be a number or {number}-g{sha1}
except ValueError:
return 'version must be in the form X.Y.Z (e.g., 15.2.3)'
- if int(major) < 15 or (int(major) == 15 and int(minor) < 2):
+ if major < 15 or (major == 15 and minor < 2):
return 'cephadm only supports octopus (15.2.0) or later'
# to far a jump?
- current_version = self.mgr.version.split('ceph version ')[1]
- (current_major, current_minor, _) = current_version.split('-')[0].split('.', 2)
- if int(current_major) < int(major) - 2:
+ (current_major, current_minor, current_version) = self._get_current_version()
+ if current_major < major - 2:
return f'ceph can only upgrade 1 or 2 major versions at a time; {current_version} -> {version} is too big a jump'
- if int(current_major) > int(major):
+ if current_major > major:
return f'ceph cannot downgrade major versions (from {current_version} to {version})'
- if int(current_major) == int(major):
- if int(current_minor) > int(minor):
- return f'ceph cannot downgrade to a {"rc" if minor == "1" else "dev"} release'
+ if current_major == major:
+ if current_minor > minor:
+ return f'ceph cannot downgrade to a {"rc" if minor == 1 else "dev"} release'
# check mon min
monmap = self.mgr.get("mon_map")
mon_min = monmap.get("min_mon_release", 0)
- if mon_min < int(major) - 2:
+ if mon_min < major - 2:
return f'min_mon_release ({mon_min}) < target {major} - 2; first complete an upgrade to an earlier release'
# check osd min
osdmap = self.mgr.get("osd_map")
osd_min_name = osdmap.get("require_osd_release", "argonaut")
osd_min = ceph_release_to_major(osd_min_name)
- if osd_min < int(major) - 2:
+ if osd_min < major - 2:
return f'require_osd_release ({osd_min_name} or {osd_min}) < target {major} - 2; first complete an upgrade to an earlier release'
return None
- def upgrade_ls(self, image: Optional[str], tags: bool) -> Dict:
+ def upgrade_ls(self, image: Optional[str], tags: bool, show_all_versions: Optional[bool]) -> Dict:
if not image:
image = self.mgr.container_image_base
reg_name, bare_image = image.split('/', 1)
reg = Registry(reg_name)
+ (current_major, current_minor, _) = self._get_current_version()
versions = []
r: Dict[Any, Any] = {
"image": image,
continue
if '-' in v[2]:
continue
- versions.append('.'.join(v))
+ v_major = int(v[0])
+ v_minor = int(v[1])
+ candidate_version = (v_major > current_major
+ or (v_major == current_major and v_minor >= current_minor))
+ if show_all_versions or candidate_version:
+ versions.append('.'.join(v))
r["versions"] = sorted(
versions,
key=lambda k: list(map(int, k.split('.'))),
r["tags"] = sorted(ls)
return r
- def upgrade_start(self, image: str, version: str) -> str:
+ def upgrade_start(self, image: str, version: str, daemon_types: Optional[List[str]] = None,
+ hosts: Optional[List[str]] = None, services: Optional[List[str]] = None, limit: Optional[int] = None) -> str:
if self.mgr.mode != 'root':
raise OrchestratorError('upgrade is not supported in %s mode' % (
self.mgr.mode))
target_name = normalize_image_digest(image, self.mgr.default_registry)
else:
raise OrchestratorError('must specify either image or version')
+
+ if daemon_types is not None or services is not None or hosts is not None:
+ self._validate_upgrade_filters(target_name, daemon_types, hosts, services)
+
if self.upgrade_state:
if self.upgrade_state._target_name != target_name:
raise OrchestratorError(
self.mgr.log.info('Upgrade: Started with target %s' % target_name)
self.upgrade_state = UpgradeState(
target_name=target_name,
- progress_id=str(uuid.uuid4())
+ progress_id=str(uuid.uuid4()),
+ daemon_types=daemon_types,
+ hosts=hosts,
+ services=services,
+ total_count=limit,
+ remaining_count=limit,
)
self._update_upgrade_progress(0.0)
self._save_upgrade_state()
self.mgr.event.set()
return 'Initiating upgrade to %s' % (target_name)
+ def _validate_upgrade_filters(self, target_name: str, daemon_types: Optional[List[str]] = None, hosts: Optional[List[str]] = None, services: Optional[List[str]] = None) -> None:
+ def _latest_type(dtypes: List[str]) -> str:
+ # [::-1] gives the list in reverse
+ for daemon_type in CEPH_UPGRADE_ORDER[::-1]:
+ if daemon_type in dtypes:
+ return daemon_type
+ return ''
+
+ def _get_earlier_daemons(dtypes: List[str], candidates: List[DaemonDescription]) -> List[DaemonDescription]:
+ # this function takes a list of daemon types and first finds the daemon
+ # type from that list that is latest in our upgrade order. Then, from
+ # that latest type, it filters the list of candidate daemons received
+ # for daemons with types earlier in the upgrade order than the latest
+ # type found earlier. That filtered list of daemons is returned. The
+ # purpose of this function is to help in finding daemons that must have
+ # already been upgraded for the given filtering parameters (--daemon-types,
+ # --services, --hosts) to be valid.
+ latest = _latest_type(dtypes)
+ if not latest:
+ return []
+ earlier_types = '|'.join(CEPH_UPGRADE_ORDER).split(latest)[0].split('|')[:-1]
+ earlier_types = [t for t in earlier_types if t not in dtypes]
+ return [d for d in candidates if d.daemon_type in earlier_types]
+
+ if self.upgrade_state:
+ raise OrchestratorError(
+ 'Cannot set values for --daemon-types, --services or --hosts when upgrade already in progress.')
+ try:
+ target_id, target_version, target_digests = self.mgr.wait_async(
+ CephadmServe(self.mgr)._get_container_image_info(target_name))
+ except OrchestratorError as e:
+ raise OrchestratorError(f'Failed to pull {target_name}: {str(e)}')
+ # what we need to do here is build a list of daemons that must already be upgraded
+ # in order for the user's selection of daemons to upgrade to be valid. for example,
+ # if they say --daemon-types 'osd,mds' but mons have not been upgraded, we block.
+ daemons = [d for d in self.mgr.cache.get_daemons(
+ ) if d.daemon_type not in MONITORING_STACK_TYPES]
+ err_msg_base = 'Cannot start upgrade. '
+ # "dtypes" will later be filled in with the types of daemons that will be upgraded with the given parameters
+ dtypes = []
+ if daemon_types is not None:
+ dtypes = daemon_types
+ if hosts is not None:
+ dtypes = [_latest_type(dtypes)]
+ other_host_daemons = [
+ d for d in daemons if d.hostname is not None and d.hostname not in hosts]
+ daemons = _get_earlier_daemons(dtypes, other_host_daemons)
+ else:
+ daemons = _get_earlier_daemons(dtypes, daemons)
+ err_msg_base += 'Daemons with types earlier in upgrade order than given types need upgrading.\n'
+ elif services is not None:
+ # for our purposes here we can effectively convert our list of services into the
+ # set of daemon types the services contain. This works because we don't allow --services
+ # and --daemon-types at the same time and we only allow services of the same type
+ sspecs = [
+ self.mgr.spec_store[s].spec for s in services if self.mgr.spec_store[s].spec is not None]
+ stypes = list(set([s.service_type for s in sspecs]))
+ if len(stypes) != 1:
+ raise OrchestratorError('Doing upgrade by service only support services of one type at '
+ f'a time. Found service types: {stypes}')
+ for stype in stypes:
+ dtypes += orchestrator.service_to_daemon_types(stype)
+ dtypes = list(set(dtypes))
+ if hosts is not None:
+ other_host_daemons = [
+ d for d in daemons if d.hostname is not None and d.hostname not in hosts]
+ daemons = _get_earlier_daemons(dtypes, other_host_daemons)
+ else:
+ daemons = _get_earlier_daemons(dtypes, daemons)
+ err_msg_base += 'Daemons with types earlier in upgrade order than daemons from given services need upgrading.\n'
+ elif hosts is not None:
+ # hosts must be handled a bit differently. For this, we really need to find all the daemon types
+ # that reside on hosts in the list of hosts we will upgrade. Then take the type from
+ # that list that is latest in the upgrade order and check if any daemons on hosts not in the
+ # provided list of hosts have a daemon with a type earlier in the upgrade order that is not upgraded.
+ dtypes = list(
+ set([d.daemon_type for d in daemons if d.daemon_type is not None and d.hostname in hosts]))
+ other_hosts_daemons = [
+ d for d in daemons if d.hostname is not None and d.hostname not in hosts]
+ daemons = _get_earlier_daemons([_latest_type(dtypes)], other_hosts_daemons)
+ err_msg_base += 'Daemons with types earlier in upgrade order than daemons on given host need upgrading.\n'
+ need_upgrade_self, n1, n2, _ = self._detect_need_upgrade(daemons, target_digests)
+ if need_upgrade_self and ('mgr' not in dtypes or (daemon_types is None and services is None)):
+ # also report active mgr as needing to be upgraded. It is not included in the resulting list
+ # by default as it is treated special and handled via the need_upgrade_self bool
+ n1.insert(0, (self.mgr.mgr_service.get_active_daemon(
+ self.mgr.cache.get_daemons_by_type('mgr')), True))
+ if n1 or n2:
+ raise OrchestratorError(f'{err_msg_base}Please first upgrade '
+ f'{", ".join(list(set([d[0].name() for d in n1] + [d[0].name() for d in n2])))}\n'
+ f'NOTE: Enforced upgrade order is: {" -> ".join(CEPH_TYPES + GATEWAY_TYPES)}')
+
def upgrade_pause(self) -> str:
if not self.upgrade_state:
raise OrchestratorError('No upgrade in progress')
return True # if mds has no fs it should pass ok-to-stop
+ def _detect_need_upgrade(self, daemons: List[DaemonDescription], target_digests: Optional[List[str]] = None) -> Tuple[bool, List[Tuple[DaemonDescription, bool]], List[Tuple[DaemonDescription, bool]], int]:
+ # this function takes a list of daemons and container digests. The purpose
+ # is to go through each daemon and check if the current container digests
+ # for that daemon match the target digests. The purpose being that we determine
+ # if a daemon is upgraded to a certain container image or not based on what
+ # container digests it has. By checking the current digests against the
+ # targets we can determine which daemons still need to be upgraded
+ need_upgrade_self = False
+ need_upgrade: List[Tuple[DaemonDescription, bool]] = []
+ need_upgrade_deployer: List[Tuple[DaemonDescription, bool]] = []
+ done = 0
+ if target_digests is None:
+ target_digests = []
+ for d in daemons:
+ assert d.daemon_type is not None
+ assert d.daemon_id is not None
+ assert d.hostname is not None
+ if self.mgr.use_agent and not self.mgr.cache.host_metadata_up_to_date(d.hostname):
+ continue
+ correct_digest = False
+ if (any(d in target_digests for d in (d.container_image_digests or []))
+ or d.daemon_type in MONITORING_STACK_TYPES):
+ logger.debug('daemon %s.%s container digest correct' % (
+ d.daemon_type, d.daemon_id))
+ correct_digest = True
+ if any(d in target_digests for d in (d.deployed_by or [])):
+ logger.debug('daemon %s.%s deployed by correct version' % (
+ d.daemon_type, d.daemon_id))
+ done += 1
+ continue
+
+ if self.mgr.daemon_is_self(d.daemon_type, d.daemon_id):
+ logger.info('Upgrade: Need to upgrade myself (mgr.%s)' %
+ self.mgr.get_mgr_id())
+ need_upgrade_self = True
+ continue
+
+ if correct_digest:
+ logger.debug('daemon %s.%s not deployed by correct version' % (
+ d.daemon_type, d.daemon_id))
+ need_upgrade_deployer.append((d, True))
+ else:
+ logger.debug('daemon %s.%s not correct (%s, %s, %s)' % (
+ d.daemon_type, d.daemon_id,
+ d.container_image_name, d.container_image_digests, d.version))
+ need_upgrade.append((d, False))
+
+ return (need_upgrade_self, need_upgrade, need_upgrade_deployer, done)
+
+ def _to_upgrade(self, need_upgrade: List[Tuple[DaemonDescription, bool]], target_image: str) -> Tuple[bool, List[Tuple[DaemonDescription, bool]]]:
+ to_upgrade: List[Tuple[DaemonDescription, bool]] = []
+ known_ok_to_stop: List[str] = []
+ for d_entry in need_upgrade:
+ d = d_entry[0]
+ assert d.daemon_type is not None
+ assert d.daemon_id is not None
+ assert d.hostname is not None
+
+ if not d.container_image_id:
+ if d.container_image_name == target_image:
+ logger.debug(
+ 'daemon %s has unknown container_image_id but has correct image name' % (d.name()))
+ continue
+
+ if known_ok_to_stop:
+ if d.name() in known_ok_to_stop:
+ logger.info(f'Upgrade: {d.name()} is also safe to restart')
+ to_upgrade.append(d_entry)
+ continue
+
+ if d.daemon_type == 'osd':
+ # NOTE: known_ok_to_stop is an output argument for
+ # _wait_for_ok_to_stop
+ if not self._wait_for_ok_to_stop(d, known_ok_to_stop):
+ return False, to_upgrade
+
+ if d.daemon_type == 'mon' and self._enough_mons_for_ok_to_stop():
+ if not self._wait_for_ok_to_stop(d, known_ok_to_stop):
+ return False, to_upgrade
+
+ if d.daemon_type == 'mds' and self._enough_mds_for_ok_to_stop(d):
+ if not self._wait_for_ok_to_stop(d, known_ok_to_stop):
+ return False, to_upgrade
+
+ to_upgrade.append(d_entry)
+
+ # if we don't have a list of others to consider, stop now
+ if d.daemon_type in ['osd', 'mds', 'mon'] and not known_ok_to_stop:
+ break
+ return True, to_upgrade
+
+ def _upgrade_daemons(self, to_upgrade: List[Tuple[DaemonDescription, bool]], target_image: str, target_digests: Optional[List[str]] = None) -> None:
+ assert self.upgrade_state is not None
+ num = 1
+ if target_digests is None:
+ target_digests = []
+ for d_entry in to_upgrade:
+ if self.upgrade_state.remaining_count is not None and self.upgrade_state.remaining_count <= 0 and not d_entry[1]:
+ self.mgr.log.info(
+ f'Hit upgrade limit of {self.upgrade_state.total_count}. Stopping upgrade')
+ return
+ d = d_entry[0]
+ assert d.daemon_type is not None
+ assert d.daemon_id is not None
+ assert d.hostname is not None
+
+ # make sure host has latest container image
+ out, errs, code = self.mgr.wait_async(CephadmServe(self.mgr)._run_cephadm(
+ d.hostname, '', 'inspect-image', [],
+ image=target_image, no_fsid=True, error_ok=True))
+ if code or not any(d in target_digests for d in json.loads(''.join(out)).get('repo_digests', [])):
+ logger.info('Upgrade: Pulling %s on %s' % (target_image,
+ d.hostname))
+ self.upgrade_info_str = 'Pulling %s image on host %s' % (
+ target_image, d.hostname)
+ out, errs, code = self.mgr.wait_async(CephadmServe(self.mgr)._run_cephadm(
+ d.hostname, '', 'pull', [],
+ image=target_image, no_fsid=True, error_ok=True))
+ if code:
+ self._fail_upgrade('UPGRADE_FAILED_PULL', {
+ 'severity': 'warning',
+ 'summary': 'Upgrade: failed to pull target image',
+ 'count': 1,
+ 'detail': [
+ 'failed to pull %s on host %s' % (target_image,
+ d.hostname)],
+ })
+ return
+ r = json.loads(''.join(out))
+ if not any(d in target_digests for d in r.get('repo_digests', [])):
+ logger.info('Upgrade: image %s pull on %s got new digests %s (not %s), restarting' % (
+ target_image, d.hostname, r['repo_digests'], target_digests))
+ self.upgrade_info_str = 'Image %s pull on %s got new digests %s (not %s), restarting' % (
+ target_image, d.hostname, r['repo_digests'], target_digests)
+ self.upgrade_state.target_digests = r['repo_digests']
+ self._save_upgrade_state()
+ return
+
+ self.upgrade_info_str = 'Currently upgrading %s daemons' % (d.daemon_type)
+
+ if len(to_upgrade) > 1:
+ logger.info('Upgrade: Updating %s.%s (%d/%d)' % (d.daemon_type, d.daemon_id, num, min(len(to_upgrade),
+ self.upgrade_state.remaining_count if self.upgrade_state.remaining_count is not None else 9999999)))
+ else:
+ logger.info('Upgrade: Updating %s.%s' %
+ (d.daemon_type, d.daemon_id))
+ action = 'Upgrading' if not d_entry[1] else 'Redeploying'
+ try:
+ daemon_spec = CephadmDaemonDeploySpec.from_daemon_description(d)
+ self.mgr._daemon_action(
+ daemon_spec,
+ 'redeploy',
+ image=target_image if not d_entry[1] else None
+ )
+ self.mgr.cache.metadata_up_to_date[d.hostname] = False
+ except Exception as e:
+ self._fail_upgrade('UPGRADE_REDEPLOY_DAEMON', {
+ 'severity': 'warning',
+ 'summary': f'{action} daemon {d.name()} on host {d.hostname} failed.',
+ 'count': 1,
+ 'detail': [
+ f'Upgrade daemon: {d.name()}: {e}'
+ ],
+ })
+ return
+ num += 1
+ if self.upgrade_state.remaining_count is not None and not d_entry[1]:
+ self.upgrade_state.remaining_count -= 1
+ self._save_upgrade_state()
+
+ def _handle_need_upgrade_self(self, need_upgrade_self: bool, upgrading_mgrs: bool) -> None:
+ if need_upgrade_self:
+ try:
+ self.mgr.mgr_service.fail_over()
+ except OrchestratorError as e:
+ self._fail_upgrade('UPGRADE_NO_STANDBY_MGR', {
+ 'severity': 'warning',
+ 'summary': f'Upgrade: {e}',
+ 'count': 1,
+ 'detail': [
+ 'The upgrade process needs to upgrade the mgr, '
+ 'but it needs at least one standby to proceed.',
+ ],
+ })
+ return
+
+ return # unreachable code, as fail_over never returns
+ elif upgrading_mgrs:
+ if 'UPGRADE_NO_STANDBY_MGR' in self.mgr.health_checks:
+ del self.mgr.health_checks['UPGRADE_NO_STANDBY_MGR']
+ self.mgr.set_health_checks(self.mgr.health_checks)
+
+ def _set_container_images(self, daemon_type: str, target_image: str, image_settings: Dict[str, str]) -> None:
+ # push down configs
+ daemon_type_section = name_to_config_section(daemon_type)
+ if image_settings.get(daemon_type_section) != target_image:
+ logger.info('Upgrade: Setting container_image for all %s' %
+ daemon_type)
+ self.mgr.set_container_image(daemon_type_section, target_image)
+ to_clean = []
+ for section in image_settings.keys():
+ if section.startswith(name_to_config_section(daemon_type) + '.'):
+ to_clean.append(section)
+ if to_clean:
+ logger.debug('Upgrade: Cleaning up container_image for %s' %
+ to_clean)
+ for section in to_clean:
+ ret, image, err = self.mgr.check_mon_command({
+ 'prefix': 'config rm',
+ 'name': 'container_image',
+ 'who': section,
+ })
+
+ def _complete_osd_upgrade(self, target_major: str, target_major_name: str) -> None:
+ osdmap = self.mgr.get("osd_map")
+ osd_min_name = osdmap.get("require_osd_release", "argonaut")
+ osd_min = ceph_release_to_major(osd_min_name)
+ if osd_min < int(target_major):
+ logger.info(
+ f'Upgrade: Setting require_osd_release to {target_major} {target_major_name}')
+ ret, _, err = self.mgr.check_mon_command({
+ 'prefix': 'osd require-osd-release',
+ 'release': target_major_name,
+ })
+
+ def _complete_mds_upgrade(self) -> None:
+ assert self.upgrade_state is not None
+ if self.upgrade_state.fs_original_max_mds:
+ for fs in self.mgr.get("fs_map")['filesystems']:
+ fscid = fs["id"]
+ fs_name = fs['mdsmap']['fs_name']
+ new_max = self.upgrade_state.fs_original_max_mds.get(fscid, 1)
+ if new_max > 1:
+ self.mgr.log.info('Upgrade: Scaling up filesystem %s max_mds to %d' % (
+ fs_name, new_max
+ ))
+ ret, _, err = self.mgr.check_mon_command({
+ 'prefix': 'fs set',
+ 'fs_name': fs_name,
+ 'var': 'max_mds',
+ 'val': str(new_max),
+ })
+
+ self.upgrade_state.fs_original_max_mds = {}
+ self._save_upgrade_state()
+ if self.upgrade_state.fs_original_allow_standby_replay:
+ for fs in self.mgr.get("fs_map")['filesystems']:
+ fscid = fs["id"]
+ fs_name = fs['mdsmap']['fs_name']
+ asr = self.upgrade_state.fs_original_allow_standby_replay.get(fscid, False)
+ if asr:
+ self.mgr.log.info('Upgrade: Enabling allow_standby_replay on filesystem %s' % (
+ fs_name
+ ))
+ ret, _, err = self.mgr.check_mon_command({
+ 'prefix': 'fs set',
+ 'fs_name': fs_name,
+ 'var': 'allow_standby_replay',
+ 'val': '1'
+ })
+
+ self.upgrade_state.fs_original_allow_standby_replay = {}
+ self._save_upgrade_state()
+
+ def _mark_upgrade_complete(self) -> None:
+ if not self.upgrade_state:
+ logger.debug('_mark_upgrade_complete upgrade already marked complete, exiting')
+ return
+ logger.info('Upgrade: Complete!')
+ if self.upgrade_state.progress_id:
+ self.mgr.remote('progress', 'complete',
+ self.upgrade_state.progress_id)
+ self.upgrade_state = None
+ self._save_upgrade_state()
+
def _do_upgrade(self):
# type: () -> None
if not self.upgrade_state:
if not target_id or not target_version or not target_digests:
# need to learn the container hash
logger.info('Upgrade: First pull of %s' % target_image)
- self.upgrade_info_str: str = 'Doing first pull of %s image' % (target_image)
+ self.upgrade_info_str = 'Doing first pull of %s image' % (target_image)
try:
target_id, target_version, target_digests = self.mgr.wait_async(CephadmServe(self.mgr)._get_container_image_info(
target_image))
'who': 'mon',
})
- daemons = [d for d in self.mgr.cache.get_daemons() if d.daemon_type in CEPH_UPGRADE_ORDER]
- done = 0
+ if self.upgrade_state.daemon_types is not None:
+ logger.debug(
+ f'Filtering daemons to upgrade by daemon types: {self.upgrade_state.daemon_types}')
+ daemons = [d for d in self.mgr.cache.get_daemons(
+ ) if d.daemon_type in self.upgrade_state.daemon_types]
+ elif self.upgrade_state.services is not None:
+ logger.debug(
+ f'Filtering daemons to upgrade by services: {self.upgrade_state.daemon_types}')
+ daemons = []
+ for service in self.upgrade_state.services:
+ daemons += self.mgr.cache.get_daemons_by_service(service)
+ else:
+ daemons = [d for d in self.mgr.cache.get_daemons(
+ ) if d.daemon_type in CEPH_UPGRADE_ORDER]
+ if self.upgrade_state.hosts is not None:
+ logger.debug(f'Filtering daemons to upgrade by hosts: {self.upgrade_state.hosts}')
+ daemons = [d for d in daemons if d.hostname in self.upgrade_state.hosts]
+ upgraded_daemon_count: int = 0
for daemon_type in CEPH_UPGRADE_ORDER:
- logger.debug('Upgrade: Checking %s daemons' % daemon_type)
-
- need_upgrade_self = False
- need_upgrade: List[Tuple[DaemonDescription, bool]] = []
- need_upgrade_deployer: List[Tuple[DaemonDescription, bool]] = []
- for d in daemons:
- if d.daemon_type != daemon_type:
- continue
- assert d.daemon_type is not None
- assert d.daemon_id is not None
- assert d.hostname is not None
- if self.mgr.use_agent and not self.mgr.cache.host_metadata_up_to_date(d.hostname):
- continue
- correct_digest = False
- if (any(d in target_digests for d in (d.container_image_digests or []))
- or d.daemon_type in MONITORING_STACK_TYPES):
- logger.debug('daemon %s.%s container digest correct' % (
- daemon_type, d.daemon_id))
- correct_digest = True
- if any(d in target_digests for d in (d.deployed_by or [])):
- logger.debug('daemon %s.%s deployed by correct version' % (
- d.daemon_type, d.daemon_id))
- done += 1
+ if self.upgrade_state.remaining_count is not None and self.upgrade_state.remaining_count <= 0:
+ # we hit our limit and should end the upgrade
+ # except for cases where we only need to redeploy, but not actually upgrade
+ # the image (which we don't count towards our limit). This case only occurs with mgr
+ # and monitoring stack daemons. Additionally, this case is only valid if
+ # the active mgr is already upgraded.
+ if any(d in target_digests for d in self.mgr.get_active_mgr_digests()):
+ if daemon_type not in MONITORING_STACK_TYPES and daemon_type != 'mgr':
continue
-
- if self.mgr.daemon_is_self(d.daemon_type, d.daemon_id):
- logger.info('Upgrade: Need to upgrade myself (mgr.%s)' %
- self.mgr.get_mgr_id())
- need_upgrade_self = True
- continue
-
- if correct_digest:
- logger.debug('daemon %s.%s not deployed by correct version' % (
- d.daemon_type, d.daemon_id))
- need_upgrade_deployer.append((d, True))
else:
- logger.debug('daemon %s.%s not correct (%s, %s, %s)' % (
- daemon_type, d.daemon_id,
- d.container_image_name, d.container_image_digests, d.version))
- need_upgrade.append((d, False))
+ self._mark_upgrade_complete()
+ return
+ logger.debug('Upgrade: Checking %s daemons' % daemon_type)
+ daemons_of_type = [d for d in daemons if d.daemon_type == daemon_type]
+
+ need_upgrade_self, need_upgrade, need_upgrade_deployer, done = self._detect_need_upgrade(
+ daemons_of_type, target_digests)
+ upgraded_daemon_count += done
+ self._update_upgrade_progress(upgraded_daemon_count / len(daemons))
+
+ # make sure mgr and monitoring stack daemons are properly redeployed in staggered upgrade scenarios
+ if daemon_type == 'mgr' or daemon_type in MONITORING_STACK_TYPES:
+ if any(d in target_digests for d in self.mgr.get_active_mgr_digests()):
+ need_upgrade_names = [d[0].name() for d in need_upgrade] + \
+ [d[0].name() for d in need_upgrade_deployer]
+ dds = [d for d in self.mgr.cache.get_daemons_by_type(
+ daemon_type) if d.name() not in need_upgrade_names]
+ need_upgrade_active, n1, n2, __ = self._detect_need_upgrade(dds, target_digests)
+ if not n1:
+ if not need_upgrade_self and need_upgrade_active:
+ need_upgrade_self = True
+ need_upgrade_deployer += n2
+ else:
+ # no point in trying to redeploy with new version if active mgr is not on the new version
+ need_upgrade_deployer = []
if not need_upgrade_self:
# only after the mgr itself is upgraded can we expect daemons to have
if need_upgrade:
self.upgrade_info_str = 'Currently upgrading %s daemons' % (daemon_type)
- to_upgrade: List[Tuple[DaemonDescription, bool]] = []
- known_ok_to_stop: List[str] = []
- for d_entry in need_upgrade:
- d = d_entry[0]
- assert d.daemon_type is not None
- assert d.daemon_id is not None
- assert d.hostname is not None
-
- if not d.container_image_id:
- if d.container_image_name == target_image:
- logger.debug(
- 'daemon %s has unknown container_image_id but has correct image name' % (d.name()))
- continue
-
- if known_ok_to_stop:
- if d.name() in known_ok_to_stop:
- logger.info(f'Upgrade: {d.name()} is also safe to restart')
- to_upgrade.append(d_entry)
- continue
-
- if d.daemon_type == 'osd':
- # NOTE: known_ok_to_stop is an output argument for
- # _wait_for_ok_to_stop
- if not self._wait_for_ok_to_stop(d, known_ok_to_stop):
- return
-
- if d.daemon_type == 'mon' and self._enough_mons_for_ok_to_stop():
- if not self._wait_for_ok_to_stop(d, known_ok_to_stop):
- return
-
- if d.daemon_type == 'mds' and self._enough_mds_for_ok_to_stop(d):
- if not self._wait_for_ok_to_stop(d, known_ok_to_stop):
- return
-
- to_upgrade.append(d_entry)
-
- # if we don't have a list of others to consider, stop now
- if d.daemon_type in ['osd', 'mds', 'mon'] and not known_ok_to_stop:
- break
-
- num = 1
- for d_entry in to_upgrade:
- d = d_entry[0]
- assert d.daemon_type is not None
- assert d.daemon_id is not None
- assert d.hostname is not None
-
- self._update_upgrade_progress(done / len(daemons))
-
- # make sure host has latest container image
- out, errs, code = self.mgr.wait_async(CephadmServe(self.mgr)._run_cephadm(
- d.hostname, '', 'inspect-image', [],
- image=target_image, no_fsid=True, error_ok=True))
- if code or not any(d in target_digests for d in json.loads(''.join(out)).get('repo_digests', [])):
- logger.info('Upgrade: Pulling %s on %s' % (target_image,
- d.hostname))
- self.upgrade_info_str = 'Pulling %s image on host %s' % (
- target_image, d.hostname)
- out, errs, code = self.mgr.wait_async(CephadmServe(self.mgr)._run_cephadm(
- d.hostname, '', 'pull', [],
- image=target_image, no_fsid=True, error_ok=True))
- if code:
- self._fail_upgrade('UPGRADE_FAILED_PULL', {
- 'severity': 'warning',
- 'summary': 'Upgrade: failed to pull target image',
- 'count': 1,
- 'detail': [
- 'failed to pull %s on host %s' % (target_image,
- d.hostname)],
- })
- return
- r = json.loads(''.join(out))
- if not any(d in target_digests for d in r.get('repo_digests', [])):
- logger.info('Upgrade: image %s pull on %s got new digests %s (not %s), restarting' % (
- target_image, d.hostname, r['repo_digests'], target_digests))
- self.upgrade_info_str = 'Image %s pull on %s got new digests %s (not %s), restarting' % (
- target_image, d.hostname, r['repo_digests'], target_digests)
- self.upgrade_state.target_digests = r['repo_digests']
- self._save_upgrade_state()
- return
-
- self.upgrade_info_str = 'Currently upgrading %s daemons' % (daemon_type)
-
- if len(to_upgrade) > 1:
- logger.info('Upgrade: Updating %s.%s (%d/%d)' %
- (d.daemon_type, d.daemon_id, num, len(to_upgrade)))
- else:
- logger.info('Upgrade: Updating %s.%s' %
- (d.daemon_type, d.daemon_id))
- action = 'Upgrading' if not d_entry[1] else 'Redeploying'
- try:
- daemon_spec = CephadmDaemonDeploySpec.from_daemon_description(d)
- self.mgr._daemon_action(
- daemon_spec,
- 'redeploy',
- image=target_image if not d_entry[1] else None
- )
- self.mgr.cache.metadata_up_to_date[d.hostname] = False
- except Exception as e:
- self._fail_upgrade('UPGRADE_REDEPLOY_DAEMON', {
- 'severity': 'warning',
- 'summary': f'{action} daemon {d.name()} on host {d.hostname} failed.',
- 'count': 1,
- 'detail': [
- f'Upgrade daemon: {d.name()}: {e}'
- ],
- })
- return
- num += 1
+ _continue, to_upgrade = self._to_upgrade(need_upgrade, target_image)
+ if not _continue:
+ return
+ self._upgrade_daemons(to_upgrade, target_image, target_digests)
if to_upgrade:
return
+ self._handle_need_upgrade_self(need_upgrade_self, daemon_type == 'mgr')
+
+ # following bits of _do_upgrade are for completing upgrade for given
+ # types. If we haven't actually finished upgrading all the daemons
+ # of this type, we should exit the loop here
+ _, n1, n2, _ = self._detect_need_upgrade(
+ self.mgr.cache.get_daemons_by_type(daemon_type), target_digests)
+ if n1 or n2:
+ continue
+
# complete mon upgrade?
if daemon_type == 'mon':
if not self.mgr.get("have_local_config_map"):
logger.info('Upgrade: Restarting mgr now that mons are running pacific')
need_upgrade_self = True
- if need_upgrade_self:
- try:
- self.mgr.mgr_service.fail_over()
- except OrchestratorError as e:
- self._fail_upgrade('UPGRADE_NO_STANDBY_MGR', {
- 'severity': 'warning',
- 'summary': f'Upgrade: {e}',
- 'count': 1,
- 'detail': [
- 'The upgrade process needs to upgrade the mgr, '
- 'but it needs at least one standby to proceed.',
- ],
- })
- return
-
- return # unreachable code, as fail_over never returns
- elif daemon_type == 'mgr':
- if 'UPGRADE_NO_STANDBY_MGR' in self.mgr.health_checks:
- del self.mgr.health_checks['UPGRADE_NO_STANDBY_MGR']
- self.mgr.set_health_checks(self.mgr.health_checks)
+ self._handle_need_upgrade_self(need_upgrade_self, daemon_type == 'mgr')
# make sure 'ceph versions' agrees
ret, out_ver, err = self.mgr.check_mon_command({
'Upgrade: %d %s daemon(s) are %s != target %s' %
(count, daemon_type, short_version, target_version))
- # push down configs
- daemon_type_section = name_to_config_section(daemon_type)
- if image_settings.get(daemon_type_section) != target_image:
- logger.info('Upgrade: Setting container_image for all %s' %
- daemon_type)
- self.mgr.set_container_image(daemon_type_section, target_image)
- to_clean = []
- for section in image_settings.keys():
- if section.startswith(name_to_config_section(daemon_type) + '.'):
- to_clean.append(section)
- if to_clean:
- logger.debug('Upgrade: Cleaning up container_image for %s' %
- to_clean)
- for section in to_clean:
- ret, image, err = self.mgr.check_mon_command({
- 'prefix': 'config rm',
- 'name': 'container_image',
- 'who': section,
- })
+ self._set_container_images(daemon_type, target_image, image_settings)
# complete osd upgrade?
if daemon_type == 'osd':
- osdmap = self.mgr.get("osd_map")
- osd_min_name = osdmap.get("require_osd_release", "argonaut")
- osd_min = ceph_release_to_major(osd_min_name)
- if osd_min < int(target_major):
- logger.info(
- f'Upgrade: Setting require_osd_release to {target_major} {target_major_name}')
- ret, _, err = self.mgr.check_mon_command({
- 'prefix': 'osd require-osd-release',
- 'release': target_major_name,
- })
+ self._complete_osd_upgrade(target_major, target_major_name)
# complete mds upgrade?
if daemon_type == 'mds':
- if self.upgrade_state.fs_original_max_mds:
- for fs in self.mgr.get("fs_map")['filesystems']:
- fscid = fs["id"]
- fs_name = fs['mdsmap']['fs_name']
- new_max = self.upgrade_state.fs_original_max_mds.get(fscid, 1)
- if new_max > 1:
- self.mgr.log.info('Upgrade: Scaling up filesystem %s max_mds to %d' % (
- fs_name, new_max
- ))
- ret, _, err = self.mgr.check_mon_command({
- 'prefix': 'fs set',
- 'fs_name': fs_name,
- 'var': 'max_mds',
- 'val': str(new_max),
- })
-
- self.upgrade_state.fs_original_max_mds = {}
- self._save_upgrade_state()
- if self.upgrade_state.fs_original_allow_standby_replay:
- for fs in self.mgr.get("fs_map")['filesystems']:
- fscid = fs["id"]
- fs_name = fs['mdsmap']['fs_name']
- asr = self.upgrade_state.fs_original_allow_standby_replay.get(fscid, False)
- if asr:
- self.mgr.log.info('Upgrade: Enabling allow_standby_replay on filesystem %s' % (
- fs_name
- ))
- ret, _, err = self.mgr.check_mon_command({
- 'prefix': 'fs set',
- 'fs_name': fs_name,
- 'var': 'allow_standby_replay',
- 'val': '1'
- })
-
- self.upgrade_state.fs_original_allow_standby_replay = {}
- self._save_upgrade_state()
+ self._complete_mds_upgrade()
# Make sure all metadata is up to date before saying we are done upgrading this daemon type
if self.mgr.use_agent and not self.mgr.cache.all_host_metadata_up_to_date():
self.mgr.agent_helpers._request_ack_all_not_up_to_date()
return
- logger.debug('Upgrade: All %s daemons are up to date.' % daemon_type)
+ logger.debug('Upgrade: Upgraded %s daemon(s).' % daemon_type)
# clean up
logger.info('Upgrade: Finalizing container_image settings')
'who': 'mon',
})
- logger.info('Upgrade: Complete!')
- if self.upgrade_state.progress_id:
- self.mgr.remote('progress', 'complete',
- self.upgrade_state.progress_id)
- self.upgrade_state = None
- self._save_upgrade_state()
+ self._mark_upgrade_complete()
return
# NOTE: order important here as these are used for upgrade order
CEPH_TYPES = ['mgr', 'mon', 'crash', 'osd', 'mds', 'rgw', 'rbd-mirror', 'cephfs-mirror']
GATEWAY_TYPES = ['iscsi', 'nfs']
-MONITORING_STACK_TYPES = ['node-exporter', 'prometheus', 'alertmanager', 'grafana']
+MONITORING_STACK_TYPES = ['node-exporter', 'prometheus',
+ 'alertmanager', 'grafana', 'loki', 'promtail']
+RESCHEDULE_FROM_OFFLINE_HOSTS_TYPES = ['nfs']
CEPH_UPGRADE_ORDER = CEPH_TYPES + GATEWAY_TYPES + MONITORING_STACK_TYPES
# -*- coding: utf-8 -*-
from .. import mgr
-from ..exceptions import DashboardException
from ..grafana import GrafanaRestClient, push_local_dashboards
from ..security import Scope
+from ..services.exception import handle_error
from ..settings import Settings
from . import APIDoc, APIRouter, BaseController, Endpoint, EndpointDoc, \
ReadPermission, UpdatePermission
@Endpoint()
@ReadPermission
+ @handle_error('grafana')
def validation(self, params):
grafana = GrafanaRestClient()
method = 'GET'
@Endpoint(method='POST')
@UpdatePermission
+ @handle_error('grafana', 500)
def dashboards(self):
response = dict()
- try:
- response['success'] = push_local_dashboards()
- except Exception as e: # pylint: disable=broad-except
- raise DashboardException(
- msg=str(e),
- component='grafana',
- http_status_code=500,
- )
+ response['success'] = push_local_dashboards()
return response
from cherrypy.lib.static import serve_file
from .. import mgr
+from ..services.custom_banner import get_login_banner_mgr
from . import BaseController, Endpoint, Proxy, Router, UIRouter
logger = logging.getLogger("controllers.home")
@Endpoint('GET')
def __call__(self):
return list(self.LANGUAGES)
+
+
+@UIRouter("/login", secure=False)
+class LoginController(BaseController):
+ @Endpoint('GET', 'custom_banner')
+ def __call__(self):
+ return get_login_banner_mgr()
*/
@PageHelper.restrictTo(pages.index.url)
editMirror(name: string, option: string) {
- // Clicks the pool in the table
+ // Select the pool in the table
this.getFirstTableCell(name).click();
// Clicks the Edit Mode button
cy.contains('.modal-dialog', 'Edit pool mirror mode').should('not.exist');
const val = option.toLowerCase(); // used since entries in table are lower case
this.getFirstTableCell(val).should('be.visible');
+
+ // unselect the pool in the table
+ this.getFirstTableCell(name).click();
}
}
it('should check at least one host is present', () => {
hosts.check_for_host();
});
-
- it('should check services link(s) work for first host', () => {
- hosts.check_services_links();
- });
});
});
this.getTableCount('total').should('not.be.eq', 0);
}
- // function that checks all services links work for first
- // host in table
- check_services_links() {
- // check that text (links) is present in services box
- let links_tested = 0;
-
- cy.get('cd-hosts a.service-link')
- .should('have.length.greaterThan', 0)
- .then(($elems) => {
- $elems.each((_i, $el) => {
- // click link, check it worked by looking for changed breadcrumb,
- // navigate back to hosts page, repeat until all links checked
- cy.contains('a', $el.innerText).should('exist').click();
- this.expectBreadcrumbText('Performance Counters');
- this.navigateTo();
- links_tested++;
- });
- // check if any links were actually tested
- expect(links_tested).gt(0);
- });
- }
-
add(hostname: string, exist?: boolean, maintenance?: boolean, labels: string[] = []) {
cy.get(`${this.pages.add.id}`).within(() => {
cy.get('#hostname').type(hostname);
@PageHelper.restrictTo(pages.index.url)
maintenance(hostname: string, exit = false, force = false) {
this.clearTableSearchInput();
+ this.getTableCell(this.columnIndex.hostname, hostname).click();
if (force) {
- this.getTableCell(this.columnIndex.hostname, hostname).click();
this.clickActionButton('enter-maintenance');
cy.get('cd-modal').within(() => {
}
if (exit) {
this.getTableCell(this.columnIndex.hostname, hostname)
- .click()
.parent()
.find(`datatable-body-cell:nth-child(${this.columnIndex.status})`)
.then(($ele) => {
expect(status).to.not.include('maintenance');
});
} else {
- this.getTableCell(this.columnIndex.hostname, hostname).click();
this.clickActionButton('enter-maintenance');
this.getTableCell(this.columnIndex.hostname, hostname)
cy.wait(20000);
this.expectTableCount('total', 0);
});
+
+ // unselect it to avoid colliding with any other selection
+ // in different steps
+ this.getTableCell(this.columnIndex.hostname, hostname).click();
}
}
};
serviceDetailColumnIndex = {
- hostname: 1,
- daemonType: 2,
- status: 8
+ daemonName: 2,
+ status: 4
};
check_for_service() {
}
checkServiceStatus(daemon: string, expectedStatus = 'running') {
- cy.get('cd-service-daemon-list').within(() => {
- this.getTableCell(this.serviceDetailColumnIndex.daemonType, daemon)
- .parent()
- .find(`datatable-body-cell:nth-child(${this.serviceDetailColumnIndex.status}) .badge`)
- .should(($ele) => {
- const status = $ele.toArray().map((v) => v.innerText);
- expect(status).to.include(expectedStatus);
- });
+ let daemonNameIndex = this.serviceDetailColumnIndex.daemonName;
+ let statusIndex = this.serviceDetailColumnIndex.status;
+
+ // since hostname row is hidden from the hosts details table,
+ // we'll need to manually override the indexes when this check is being
+ // done for the daemons in host details page. So we'll get the url and
+ // verify if the current page is not the services index page
+ cy.url().then((url) => {
+ if (!url.includes(pages.index.url)) {
+ daemonNameIndex = 1;
+ statusIndex = 3;
+ }
+
+ cy.get('cd-service-daemon-list').within(() => {
+ this.getTableCell(daemonNameIndex, daemon, true)
+ .parent()
+ .find(`datatable-body-cell:nth-child(${statusIndex}) .badge`)
+ .should(($ele) => {
+ const status = $ele.toArray().map((v) => v.innerText);
+ expect(status).to.include(expectedStatus);
+ });
+ });
});
}
cy.get('cd-service-daemon-list').within(() => {
this.getTableRow(daemon).click();
this.clickActionButton(action);
+
+ // unselect it to avoid colliding with any other selection
+ // in different steps
+ this.getTableRow(daemon).click();
});
}
}
describe('Services page', () => {
const services = new ServicesPageHelper();
+ const mdsDaemonName = 'mds.test';
beforeEach(() => {
cy.login();
Cypress.Cookies.preserveOnce('token');
it('should create an mds service', () => {
services.navigateTo('create');
services.addService('mds', false);
- services.checkExist('mds.test', true);
+ services.checkExist(mdsDaemonName, true);
- services.clickServiceTab('mds.test', 'Details');
+ services.clickServiceTab(mdsDaemonName, 'Details');
cy.get('cd-service-details').within(() => {
- services.checkServiceStatus('mds');
+ services.checkServiceStatus(mdsDaemonName);
});
});
it('should stop a daemon', () => {
- services.clickServiceTab('mds.test', 'Details');
- services.checkServiceStatus('mds');
+ services.clickServiceTab(mdsDaemonName, 'Details');
+ services.checkServiceStatus(mdsDaemonName);
services.daemonAction('mds', 'stop');
- services.checkServiceStatus('mds', 'stopped');
+ services.checkServiceStatus(mdsDaemonName, 'stopped');
});
it('should restart a daemon', () => {
- services.checkExist('mds.test', true);
- services.clickServiceTab('mds.test', 'Details');
+ services.checkExist(mdsDaemonName, true);
+ services.clickServiceTab(mdsDaemonName, 'Details');
services.daemonAction('mds', 'restart');
- services.checkServiceStatus('mds', 'running');
+ services.checkServiceStatus(mdsDaemonName, 'running');
});
it('should redeploy a daemon', () => {
- services.checkExist('mds.test', true);
- services.clickServiceTab('mds.test', 'Details');
+ services.checkExist(mdsDaemonName, true);
+ services.clickServiceTab(mdsDaemonName, 'Details');
services.daemonAction('mds', 'stop');
- services.checkServiceStatus('mds', 'stopped');
+ services.checkServiceStatus(mdsDaemonName, 'stopped');
services.daemonAction('mds', 'redeploy');
- services.checkServiceStatus('mds', 'running');
+ services.checkServiceStatus(mdsDaemonName, 'running');
});
it('should start a daemon', () => {
- services.checkExist('mds.test', true);
- services.clickServiceTab('mds.test', 'Details');
+ services.checkExist(mdsDaemonName, true);
+ services.clickServiceTab(mdsDaemonName, 'Details');
services.daemonAction('mds', 'stop');
- services.checkServiceStatus('mds', 'stopped');
+ services.checkServiceStatus(mdsDaemonName, 'stopped');
services.daemonAction('mds', 'start');
- services.checkServiceStatus('mds', 'running');
+ services.checkServiceStatus(mdsDaemonName, 'running');
});
it('should delete an mds service', () => {
- services.deleteService('mds.test');
+ services.deleteService(mdsDaemonName);
});
it('should create and delete snmp-gateway service with version V2c', () => {
}
}
- getTableCell(columnIndex: number, exactContent: string) {
+ getTableCell(columnIndex: number, exactContent: string, partialMatch = false) {
this.waitDataTableToLoad();
this.clearTableSearchInput();
this.searchTable(exactContent);
+ if (partialMatch) {
+ return cy.contains(
+ `datatable-body-row datatable-body-cell:nth-child(${columnIndex})`,
+ exactContent
+ );
+ }
return cy.contains(
`datatable-body-row datatable-body-cell:nth-child(${columnIndex})`,
new RegExp(`^${exactContent}$`)
+++ /dev/null
-"use strict";(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[281],{59281:(si,Oe,r)=>{r.r(Oe),r.d(Oe,{RgwModule:()=>e_,RoutedRgwModule:()=>ii});var f=r(12057),a=r(24751),w=r(6283),M=r(38549),Ue=r(37496),A=r(79512),N_=r(44466),O_=r(66265),U_=r(23815),u=r.n(U_),Y=r(35758),Me=r(95152),We=r(33394),Ze=r(64762),$e=r(58497),me=r(25917),he=r(19773),W_=r(96736),Z_=r(5304),ge=r(20523),$_=r(93523),e=r(74788);let O=class{constructor(o,_){this.http=o,this.rgwDaemonService=_,this.url="api/rgw/user"}list(){return this.enumerate().pipe((0,he.zg)(o=>o.length>0?(0,Y.D)(o.map(_=>this.get(_))):(0,me.of)([])))}enumerate(){return this.rgwDaemonService.request(o=>this.http.get(this.url,{params:o}))}enumerateEmail(){return this.rgwDaemonService.request(o=>this.http.get(`${this.url}/get_emails`,{params:o}))}get(o){return this.rgwDaemonService.request(_=>this.http.get(`${this.url}/${o}`,{params:_}))}getQuota(o){return this.rgwDaemonService.request(_=>this.http.get(`${this.url}/${o}/quota`,{params:_}))}create(o){return this.rgwDaemonService.request(_=>(u().keys(o).forEach(n=>{_=_.append(n,o[n])}),this.http.post(this.url,null,{params:_})))}update(o,_){return this.rgwDaemonService.request(n=>(u().keys(_).forEach(i=>{n=n.append(i,_[i])}),this.http.put(`${this.url}/${o}`,null,{params:n})))}updateQuota(o,_){return this.rgwDaemonService.request(n=>(u().keys(_).forEach(i=>{n=n.append(i,_[i])}),this.http.put(`${this.url}/${o}/quota`,null,{params:n})))}delete(o){return this.rgwDaemonService.request(_=>this.http.delete(`${this.url}/${o}`,{params:_}))}createSubuser(o,_){return this.rgwDaemonService.request(n=>(u().keys(_).forEach(i=>{n=n.append(i,_[i])}),this.http.post(`${this.url}/${o}/subuser`,null,{params:n})))}deleteSubuser(o,_){return this.rgwDaemonService.request(n=>this.http.delete(`${this.url}/${o}/subuser/${_}`,{params:n}))}addCapability(o,_,n){return this.rgwDaemonService.request(i=>(i=(i=i.append("type",_)).append("perm",n),this.http.post(`${this.url}/${o}/capability`,null,{params:i})))}deleteCapability(o,_,n){return this.rgwDaemonService.request(i=>(i=(i=i.append("type",_)).append("perm",n),this.http.delete(`${this.url}/${o}/capability`,{params:i})))}addS3Key(o,_){return this.rgwDaemonService.request(n=>(n=n.append("key_type","s3"),u().keys(_).forEach(i=>{n=n.append(i,_[i])}),this.http.post(`${this.url}/${o}/key`,null,{params:n})))}deleteS3Key(o,_){return this.rgwDaemonService.request(n=>(n=(n=n.append("key_type","s3")).append("access_key",_),this.http.delete(`${this.url}/${o}/key`,{params:n})))}exists(o){return this.get(o).pipe((0,W_.h)(!0),(0,Z_.K)(_=>(u().isFunction(_.preventDefault)&&_.preventDefault(),(0,me.of)(!1))))}emailExists(o){return o=decodeURIComponent(o),this.enumerateEmail().pipe((0,he.zg)(_=>{const n=u().indexOf(_,o);return(0,me.of)(-1!==n)}))}};O.\u0275fac=function(o){return new(o||O)(e.LFG($e.eN),e.LFG(ge.b))},O.\u0275prov=e.Yz7({token:O,factory:O.\u0275fac,providedIn:"root"}),O=(0,Ze.gn)([$_.o,(0,Ze.w6)("design:paramtypes",[$e.eN,ge.b])],O);var D=r(65862),Ae=r(18001),Ie=r(93614),m=r(77205),ve=r(97161),k=(()=>{return(t=k||(k={})).ENABLED="Enabled",t.DISABLED="Disabled",k;var t})(),B=(()=>{return(t=B||(B={})).ENABLED="Enabled",t.SUSPENDED="Suspended",B;var t})(),J=r(62862),Fe=r(63622),V=r(41582),H=r(56310),q=r(87925),X=r(94276),j=r(82945),h_=r(18372),ee=r(30839),K=r(10545);function I_(t,o){1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",35),e.SDv(2,36),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",37),e.qZA(),e.qZA())}function v_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,39),e.qZA())}function F_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,40),e.qZA())}function L_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,41),e.qZA())}function D_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,42),e.qZA())}function x_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,43),e.qZA())}function y_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,44),e.qZA())}function q_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,45),e.qZA())}function w_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,46),e.qZA())}function k_(t,o){1&t&&(e.TgZ(0,"option",47),e.SDv(1,48),e.qZA()),2&t&&e.Q6J("ngValue",null)}function B_(t,o){1&t&&(e.TgZ(0,"option",47),e.SDv(1,49),e.qZA()),2&t&&e.Q6J("ngValue",null)}function H_(t,o){if(1&t&&(e.TgZ(0,"option",50),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.Oqu(_)}}function X_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,51),e.qZA())}function K_(t,o){1&t&&(e.TgZ(0,"option",47),e.SDv(1,53),e.qZA()),2&t&&e.Q6J("ngValue",null)}function z_(t,o){1&t&&(e.TgZ(0,"option",47),e.SDv(1,54),e.qZA()),2&t&&e.Q6J("ngValue",null)}function Q_(t,o){if(1&t&&(e.TgZ(0,"option",50),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_.name),e.xp6(1),e.Oqu(_.description)}}function Y_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,55),e.qZA())}function J_(t,o){if(1&t&&(e.TgZ(0,"select",52),e.YNc(1,K_,2,1,"option",18),e.YNc(2,z_,2,1,"option",18),e.YNc(3,Q_,2,2,"option",19),e.qZA(),e.YNc(4,Y_,2,0,"span",14)),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(1),e.Q6J("ngIf",null===n.placementTargets),e.xp6(1),e.Q6J("ngIf",null!==n.placementTargets),e.xp6(1),e.Q6J("ngForOf",n.placementTargets),e.xp6(1),e.Q6J("ngIf",n.bucketForm.showError("placement-target",_,"required"))}}function V_(t,o){1&t&&(e.ynx(0),e._UZ(1,"input",56),e.BQk())}function j_(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend",25),e.SDv(2,57),e.qZA(),e.TgZ(3,"div",9),e.TgZ(4,"div",27),e.TgZ(5,"div",28),e.TgZ(6,"input",58),e.NdJ("change",function(){return e.CHM(_),e.oxw(2).setMfaDeleteValidators()}),e.qZA(),e.TgZ(7,"label",59),e.SDv(8,60),e.qZA(),e.TgZ(9,"cd-helper"),e.TgZ(10,"span"),e.SDv(11,61),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}}function et(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,70),e.qZA())}function _t(t,o){if(1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",67),e.SDv(2,68),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",69),e.YNc(5,et,2,0,"span",14),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.bucketForm.showError("mfa-token-serial",_,"required"))}}function tt(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,74),e.qZA())}function nt(t,o){if(1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",71),e.SDv(2,72),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",73),e.YNc(5,tt,2,0,"span",14),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.bucketForm.showError("mfa-token-pin",_,"required"))}}function ot(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend",25),e.SDv(2,62),e.qZA(),e.TgZ(3,"div",9),e.TgZ(4,"div",27),e.TgZ(5,"div",28),e.TgZ(6,"input",63),e.NdJ("change",function(){return e.CHM(_),e.oxw(2).setMfaDeleteValidators()}),e.qZA(),e.TgZ(7,"label",64),e.SDv(8,65),e.qZA(),e.TgZ(9,"cd-helper"),e.TgZ(10,"span"),e.SDv(11,66),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(12,_t,6,1,"div",8),e.YNc(13,nt,6,1,"div",8),e.qZA()}if(2&t){const _=e.oxw(2);e.xp6(12),e.Q6J("ngIf",_.areMfaCredentialsRequired()),e.xp6(1),e.Q6J("ngIf",_.areMfaCredentialsRequired())}}function it(t,o){1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",75),e.SDv(2,76),e.qZA(),e.TgZ(3,"div",12),e.TgZ(4,"select",77),e.TgZ(5,"option",78),e.SDv(6,79),e.qZA(),e.TgZ(7,"option",80),e.SDv(8,81),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function st(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,86),e.qZA())}function at(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,87),e.qZA())}function rt(t,o){if(1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",82),e.ynx(2),e.SDv(3,83),e.BQk(),e.TgZ(4,"cd-helper"),e.SDv(5,84),e.qZA(),e.qZA(),e.TgZ(6,"div",12),e._UZ(7,"input",85),e.YNc(8,st,2,0,"span",14),e.YNc(9,at,2,0,"span",14),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(8),e.Q6J("ngIf",n.bucketForm.showError("lock_retention_period_days",_,"pattern")),e.xp6(1),e.Q6J("ngIf",n.bucketForm.showError("lock_retention_period_days",_,"lockDays"))}}const Le=function(t){return{required:t}};function lt(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.YNc(9,I_,5,0,"div",8),e.TgZ(10,"div",9),e.TgZ(11,"label",10),e.SDv(12,11),e.qZA(),e.TgZ(13,"div",12),e._UZ(14,"input",13),e.YNc(15,v_,2,0,"span",14),e.YNc(16,F_,2,0,"span",14),e.YNc(17,L_,2,0,"span",14),e.YNc(18,D_,2,0,"span",14),e.YNc(19,x_,2,0,"span",14),e.YNc(20,y_,2,0,"span",14),e.YNc(21,q_,2,0,"span",14),e.YNc(22,w_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(23,"div",9),e.TgZ(24,"label",15),e.SDv(25,16),e.qZA(),e.TgZ(26,"div",12),e.TgZ(27,"select",17),e.YNc(28,k_,2,1,"option",18),e.YNc(29,B_,2,1,"option",18),e.YNc(30,H_,2,2,"option",19),e.qZA(),e.YNc(31,X_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(32,"div",9),e.TgZ(33,"label",20),e.SDv(34,21),e.qZA(),e.TgZ(35,"div",12),e.YNc(36,J_,5,4,"ng-template",null,22,e.W1O),e.YNc(38,V_,2,0,"ng-container",23),e.qZA(),e.qZA(),e.YNc(39,j_,12,0,"fieldset",24),e.YNc(40,ot,14,2,"fieldset",24),e.TgZ(41,"fieldset"),e.TgZ(42,"legend",25),e.SDv(43,26),e.qZA(),e.TgZ(44,"div",9),e.TgZ(45,"div",27),e.TgZ(46,"div",28),e._UZ(47,"input",29),e.TgZ(48,"label",30),e.SDv(49,31),e.qZA(),e.TgZ(50,"cd-helper"),e.TgZ(51,"span"),e.SDv(52,32),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(53,it,9,0,"div",8),e.YNc(54,rt,10,2,"div",8),e.qZA(),e.qZA(),e.TgZ(55,"div",33),e.TgZ(56,"cd-form-button-panel",34),e.NdJ("submitActionEvent",function(){return e.CHM(_),e.oxw().submit()}),e.ALo(57,"titlecase"),e.ALo(58,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.MAs(2),n=e.MAs(37),i=e.oxw();e.xp6(1),e.Q6J("formGroup",i.bucketForm),e.xp6(6),e.pQV(e.lcZ(6,29,i.action))(e.lcZ(7,31,i.resource)),e.QtT(5),e.xp6(2),e.Q6J("ngIf",i.editing),e.xp6(2),e.Q6J("ngClass",e.VKq(37,Le,!i.editing)),e.xp6(3),e.Q6J("readonly",i.editing)("autofocus",!i.editing),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"required")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"bucketNameInvalid")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"bucketNameNotAllowed")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"containsUpperCase")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"lowerCaseOrNumber")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"ipAddress")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"onlyLowerCaseAndNumbers")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"shouldBeInRange")),e.xp6(5),e.Q6J("autofocus",i.editing),e.xp6(1),e.Q6J("ngIf",null===i.owners),e.xp6(1),e.Q6J("ngIf",null!==i.owners),e.xp6(1),e.Q6J("ngForOf",i.owners),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("owner",_,"required")),e.xp6(2),e.Q6J("ngClass",e.VKq(39,Le,!i.editing)),e.xp6(5),e.Q6J("ngIf",i.editing)("ngIfElse",n),e.xp6(1),e.Q6J("ngIf",i.editing),e.xp6(1),e.Q6J("ngIf",i.editing),e.xp6(13),e.Q6J("ngIf",i.bucketForm.getValue("lock_enabled")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.getValue("lock_enabled")),e.xp6(2),e.Q6J("form",i.bucketForm)("submitText",e.lcZ(57,33,i.action)+" "+e.lcZ(58,35,i.resource))}}let De=(()=>{class t extends Ie.E{constructor(_,n,i,s,c,d,E,g){super(),this.route=_,this.router=n,this.formBuilder=i,this.rgwBucketService=s,this.rgwSiteService=c,this.rgwUserService=d,this.notificationService=E,this.actionLabels=g,this.editing=!1,this.owners=null,this.placementTargets=[],this.isVersioningAlreadyEnabled=!1,this.isMfaDeleteAlreadyEnabled=!1,this.icons=D.P,this.editing=this.router.url.startsWith(`/rgw/bucket/${A.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource="bucket",this.createForm()}get isVersioningEnabled(){return this.bucketForm.getValue("versioning")}get isMfaDeleteEnabled(){return this.bucketForm.getValue("mfa-delete")}createForm(){const _=this,n=m.h.custom("lockDays",()=>{if(!_.bucketForm||!u().get(_.bucketForm.getRawValue(),"lock_enabled"))return!1;const i=Number(_.bucketForm.getValue("lock_retention_period_days"));return!Number.isInteger(i)||0===i});this.bucketForm=this.formBuilder.group({id:[null],bid:[null,[a.kI.required],this.editing?[]:[m.h.bucketName(),m.h.bucketExistence(!1,this.rgwBucketService)]],owner:[null,[a.kI.required]],"placement-target":[null,this.editing?[]:[a.kI.required]],versioning:[null],"mfa-delete":[null],"mfa-token-serial":[""],"mfa-token-pin":[""],lock_enabled:[{value:!1,disabled:this.editing}],lock_mode:["COMPLIANCE"],lock_retention_period_days:[0,[m.h.number(!1),n]]})}ngOnInit(){const _={owners:this.rgwUserService.enumerate()};this.editing||(_.getPlacementTargets=this.rgwSiteService.get("placement-targets")),this.route.params.subscribe(n=>{if(n.hasOwnProperty("bid")){const i=decodeURIComponent(n.bid);_.getBid=this.rgwBucketService.get(i)}(0,Y.D)(_).subscribe(i=>{if(this.owners=i.owners.sort(),i.getPlacementTargets){const s=i.getPlacementTargets;this.zonegroup=s.zonegroup,u().forEach(s.placement_targets,c=>{c.description=`${c.name} (${"pool"}: ${c.data_pool})`,this.placementTargets.push(c)}),1===this.placementTargets.length&&this.bucketForm.get("placement-target").setValue(this.placementTargets[0].name)}if(i.getBid){const s=i.getBid,c=u().clone(this.bucketForm.getRawValue());let d=u().pick(s,u().keys(c));d.lock_retention_period_days=this.rgwBucketService.getLockDays(s),d["placement-target"]=s.placement_rule,d.versioning=s.versioning===B.ENABLED,d["mfa-delete"]=s.mfa_delete===k.ENABLED,d=u().merge(c,d),this.bucketForm.setValue(d),this.editing&&(this.isVersioningAlreadyEnabled=this.isVersioningEnabled,this.isMfaDeleteAlreadyEnabled=this.isMfaDeleteEnabled,this.setMfaDeleteValidators(),d.lock_enabled&&this.bucketForm.controls.versioning.disable())}this.loadingReady()})})}goToListView(){this.router.navigate(["/rgw/bucket"])}submit(){if(this.bucketForm.pristine)return void this.goToListView();const _=this.bucketForm.value;if(this.editing){const n=this.getVersioningStatus(),i=this.getMfaDeleteStatus();this.rgwBucketService.update(_.bid,_.id,_.owner,n,i,_["mfa-token-serial"],_["mfa-token-pin"],_.lock_mode,_.lock_retention_period_days).subscribe(()=>{this.notificationService.show(Ae.k.success,"Updated Object Gateway bucket '" + _.bid + "'."),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}else this.rgwBucketService.create(_.bid,_.owner,this.zonegroup,_["placement-target"],_.lock_enabled,_.lock_mode,_.lock_retention_period_days).subscribe(()=>{this.notificationService.show(Ae.k.success,"Created Object Gateway bucket '" + _.bid + "'"),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}areMfaCredentialsRequired(){return this.isMfaDeleteEnabled!==this.isMfaDeleteAlreadyEnabled||this.isMfaDeleteAlreadyEnabled&&this.isVersioningEnabled!==this.isVersioningAlreadyEnabled}setMfaDeleteValidators(){const _=this.bucketForm.get("mfa-token-serial"),n=this.bucketForm.get("mfa-token-pin");this.areMfaCredentialsRequired()?(_.setValidators(a.kI.required),n.setValidators(a.kI.required)):(_.setValidators(null),n.setValidators(null)),_.updateValueAndValidity(),n.updateValueAndValidity()}getVersioningStatus(){return this.isVersioningEnabled?B.ENABLED:B.SUSPENDED}getMfaDeleteStatus(){return this.isMfaDeleteEnabled?k.ENABLED:k.DISABLED}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(w.gz),e.Y36(w.F0),e.Y36(J.O),e.Y36(Me.o),e.Y36(We.I),e.Y36(O),e.Y36(ve.g),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-bucket-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F,T,x,y,S,_e,te,ne,oe,ie,se,ae,re,le,ce,de,ue,Re;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",n="Name...",i="Owner",s="Placement target",c="Locking",d="Enabled",E="Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.",g="Id",C="This field is required.",b="Bucket names can only contain lowercase letters, numbers, periods and hyphens.",P="The chosen name is already in use.",G="Bucket names must not contain uppercase characters or underscores.",N="Each label must start and end with a lowercase letter or a number.",p="Bucket names cannot be formatted as IP address.",U="Bucket labels cannot be empty and can only contain lowercase letters, numbers and hyphens.",W="Bucket names must be 3 to 63 characters long.",Z="Loading...",$="-- Select a user --",h="This field is required.",I="Loading...",v="-- Select a placement target --",F="This field is required.",T="Versioning",x="Enabled",y="Enables versioning for the objects in the bucket.",S="Multi-Factor Authentication",_e="Delete enabled",te="Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.",ne="Token Serial Number",oe="This field is required.",ie="Token PIN",se="This field is required.",ae="Mode",re="Compliance",le="Governance",ce="Days",de="The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.",ue="The entered value must be a positive integer.",Re="Retention Days must be a positive integer.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","bucketForm","novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],o,[1,"card-body"],["class","form-group row",4,"ngIf"],[1,"form-group","row"],["for","bid",1,"cd-col-form-label",3,"ngClass"],_,[1,"cd-col-form-input"],["id","bid","name","bid","type","text","placeholder",n,"formControlName","bid",1,"form-control",3,"readonly","autofocus"],["class","invalid-feedback",4,"ngIf"],["for","owner",1,"cd-col-form-label","required"],i,["id","owner","name","owner","formControlName","owner",1,"form-control","custom-select",3,"autofocus"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],["for","placement-target",1,"cd-col-form-label",3,"ngClass"],s,["placementTargetSelect",""],[4,"ngIf","ngIfElse"],[4,"ngIf"],[1,"cd-header"],c,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","lock_enabled","formControlName","lock_enabled","type","checkbox",1,"custom-control-input"],["for","lock_enabled",1,"custom-control-label"],d,E,[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["for","id",1,"cd-col-form-label"],g,["id","id","name","id","type","text","formControlName","id","readonly","",1,"form-control"],[1,"invalid-feedback"],C,b,P,G,N,p,U,W,[3,"ngValue"],Z,$,[3,"value"],h,["id","placement-target","name","placement-target","formControlName","placement-target",1,"form-control","custom-select"],I,v,F,["id","placement-target","name","placement-target","formControlName","placement-target","type","text","readonly","",1,"form-control"],T,["type","checkbox","id","versioning","name","versioning","formControlName","versioning",1,"custom-control-input",3,"change"],["for","versioning",1,"custom-control-label"],x,y,S,["type","checkbox","id","mfa-delete","name","mfa-delete","formControlName","mfa-delete",1,"custom-control-input",3,"change"],["for","mfa-delete",1,"custom-control-label"],_e,te,["for","mfa-token-serial",1,"cd-col-form-label"],ne,["type","text","id","mfa-token-serial","name","mfa-token-serial","formControlName","mfa-token-serial",1,"form-control"],oe,["for","mfa-token-pin",1,"cd-col-form-label"],ie,["type","text","id","mfa-token-pin","name","mfa-token-pin","formControlName","mfa-token-pin",1,"form-control"],se,["for","lock_mode",1,"cd-col-form-label"],ae,["formControlName","lock_mode","name","lock_mode","id","lock_mode",1,"form-control","custom-select"],["value","COMPLIANCE"],re,["value","GOVERNANCE"],le,["for","lock_retention_period_days",1,"cd-col-form-label"],ce,de,["type","number","id","lock_retention_period_days","formControlName","lock_retention_period_days","min","0",1,"form-control"],ue,Re]},template:function(_,n){1&_&&e.YNc(0,lt,59,41,"div",0),2&_&&e.Q6J("cdFormLoading",n.loading)},directives:[Fe.y,a._Y,a.JL,V.V,a.sg,f.O5,H.P,f.mk,q.o,a.Fj,X.b,a.JJ,a.u,j.U,a.EJ,f.sg,a.Wl,h_.S,ee.p,a.YN,a.Kr,a.wV,a.qQ],pipes:[f.rS,K.m],styles:[""]}),t})();var xe=r(18891),be=r(68136),ye=r(30982),z=r(64337),Pe=r(68774),qe=r(47557),we=r(66369),Q=r(51847),Ee=r(74937),Te=r(63285),ke=r(94928),ct=r(96102),Be=r(68962);function dt(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,24),e.qZA())}function ut(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.ALo(2,"dimless"),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,_.selection.bucket_quota.max_size)," ")}}function Rt(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,25),e.qZA())}function gt(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.hij(" ",_.selection.bucket_quota.max_objects," ")}}function Et(t,o){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"legend"),e.SDv(2,20),e.qZA(),e.TgZ(3,"table",1),e.TgZ(4,"tbody"),e.TgZ(5,"tr"),e.TgZ(6,"td",2),e.SDv(7,21),e.qZA(),e.TgZ(8,"td",4),e._uU(9),e.ALo(10,"booleanText"),e.qZA(),e.qZA(),e.TgZ(11,"tr"),e.TgZ(12,"td",5),e.SDv(13,22),e.qZA(),e.YNc(14,dt,2,0,"td",0),e.YNc(15,ut,3,3,"td",0),e.qZA(),e.TgZ(16,"tr"),e.TgZ(17,"td",5),e.SDv(18,23),e.qZA(),e.YNc(19,Rt,2,0,"td",0),e.YNc(20,gt,2,1,"td",0),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(2);e.xp6(9),e.Oqu(e.lcZ(10,5,_.selection.bucket_quota.enabled)),e.xp6(5),e.Q6J("ngIf",_.selection.bucket_quota.max_size<=-1),e.xp6(1),e.Q6J("ngIf",_.selection.bucket_quota.max_size>-1),e.xp6(4),e.Q6J("ngIf",_.selection.bucket_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",_.selection.bucket_quota.max_objects>-1)}}function Tt(t,o){if(1&t&&(e.ynx(0),e.TgZ(1,"tr"),e.TgZ(2,"td",5),e.SDv(3,26),e.qZA(),e.TgZ(4,"td"),e._uU(5),e.qZA(),e.qZA(),e.TgZ(6,"tr"),e.TgZ(7,"td",5),e.SDv(8,27),e.qZA(),e.TgZ(9,"td"),e._uU(10),e.qZA(),e.qZA(),e.BQk()),2&t){const _=e.oxw(2);e.xp6(5),e.Oqu(_.selection.lock_mode),e.xp6(5),e.Oqu(_.selection.lock_retention_period_days)}}function St(t,o){if(1&t&&(e.ynx(0),e.TgZ(1,"table",1),e.TgZ(2,"tbody"),e.TgZ(3,"tr"),e.TgZ(4,"td",2),e.SDv(5,3),e.qZA(),e.TgZ(6,"td",4),e._uU(7),e.qZA(),e.qZA(),e.TgZ(8,"tr"),e.TgZ(9,"td",5),e.SDv(10,6),e.qZA(),e.TgZ(11,"td"),e._uU(12),e.qZA(),e.qZA(),e.TgZ(13,"tr"),e.TgZ(14,"td",5),e.SDv(15,7),e.qZA(),e.TgZ(16,"td"),e._uU(17),e.qZA(),e.qZA(),e.TgZ(18,"tr"),e.TgZ(19,"td",5),e.SDv(20,8),e.qZA(),e.TgZ(21,"td"),e._uU(22),e.qZA(),e.qZA(),e.TgZ(23,"tr"),e.TgZ(24,"td",5),e.SDv(25,9),e.qZA(),e.TgZ(26,"td"),e._uU(27),e.qZA(),e.qZA(),e.TgZ(28,"tr"),e.TgZ(29,"td",5),e.SDv(30,10),e.qZA(),e.TgZ(31,"td"),e._uU(32),e.qZA(),e.qZA(),e.TgZ(33,"tr"),e.TgZ(34,"td",5),e.SDv(35,11),e.qZA(),e.TgZ(36,"td"),e._uU(37),e.qZA(),e.qZA(),e.TgZ(38,"tr"),e.TgZ(39,"td",5),e.SDv(40,12),e.qZA(),e.TgZ(41,"td"),e._uU(42),e.qZA(),e.qZA(),e.TgZ(43,"tr"),e.TgZ(44,"td",5),e.SDv(45,13),e.qZA(),e.TgZ(46,"td"),e._uU(47),e.qZA(),e.qZA(),e.TgZ(48,"tr"),e.TgZ(49,"td",5),e.SDv(50,14),e.qZA(),e.TgZ(51,"td"),e._uU(52),e.ALo(53,"cdDate"),e.qZA(),e.qZA(),e.TgZ(54,"tr"),e.TgZ(55,"td",5),e.SDv(56,15),e.qZA(),e.TgZ(57,"td"),e._uU(58),e.qZA(),e.qZA(),e.TgZ(59,"tr"),e.TgZ(60,"td",5),e.SDv(61,16),e.qZA(),e.TgZ(62,"td"),e._uU(63),e.qZA(),e.qZA(),e.TgZ(64,"tr"),e.TgZ(65,"td",5),e.SDv(66,17),e.qZA(),e.TgZ(67,"td"),e._uU(68),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(69,Et,21,7,"div",0),e.TgZ(70,"legend"),e.SDv(71,18),e.qZA(),e.TgZ(72,"table",1),e.TgZ(73,"tbody"),e.TgZ(74,"tr"),e.TgZ(75,"td",2),e.SDv(76,19),e.qZA(),e.TgZ(77,"td",4),e._uU(78),e.ALo(79,"booleanText"),e.qZA(),e.qZA(),e.YNc(80,Tt,11,2,"ng-container",0),e.qZA(),e.qZA(),e.BQk()),2&t){const _=e.oxw();e.xp6(7),e.Oqu(_.selection.bid),e.xp6(5),e.Oqu(_.selection.id),e.xp6(5),e.Oqu(_.selection.owner),e.xp6(5),e.Oqu(_.selection.index_type),e.xp6(5),e.Oqu(_.selection.placement_rule),e.xp6(5),e.Oqu(_.selection.marker),e.xp6(5),e.Oqu(_.selection.max_marker),e.xp6(5),e.Oqu(_.selection.ver),e.xp6(5),e.Oqu(_.selection.master_ver),e.xp6(5),e.Oqu(e.lcZ(53,16,_.selection.mtime)),e.xp6(6),e.Oqu(_.selection.zonegroup),e.xp6(5),e.Oqu(_.selection.versioning),e.xp6(5),e.Oqu(_.selection.mfa_delete),e.xp6(1),e.Q6J("ngIf",_.selection.bucket_quota),e.xp6(9),e.Oqu(e.lcZ(79,18,_.selection.lock_enabled)),e.xp6(2),e.Q6J("ngIf",_.selection.lock_enabled)}}let ft=(()=>{class t{constructor(_){this.rgwBucketService=_}ngOnChanges(){this.selection&&this.rgwBucketService.get(this.selection.bid).subscribe(_=>{_.lock_retention_period_days=this.rgwBucketService.getLockDays(_),this.selection=_})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(Me.o))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-bucket-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F;return o="Name",_="ID",n="Owner",i="Index type",s="Placement rule",c="Marker",d="Maximum marker",E="Version",g="Master version",C="Modification time",b="Zonegroup",P="Versioning",G="MFA Delete",N="Locking",p="Enabled",U="Bucket quota",W="Enabled",Z="Maximum size",$="Maximum objects",h="Unlimited",I="Unlimited",v="Mode",F="Days",[[4,"ngIf"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],o,[1,"w-75"],[1,"bold"],_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F]},template:function(_,n){1&_&&e.YNc(0,St,81,20,"ng-container",0),2&_&&e.Q6J("ngIf",n.selection)},directives:[f.O5],pipes:[ct.N,Be.T,we.n],styles:["table[_ngcontent-%COMP%]{table-layout:fixed}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{word-wrap:break-word}"]}),t})();var He=r(60251);const Ct=["bucketSizeTpl"],pt=["bucketObjectTpl"];function Mt(t,o){if(1&t&&e._UZ(0,"cd-usage-bar",8),2&t){const _=e.oxw().row;e.Q6J("total",_.bucket_quota.max_size)("used",_.bucket_size)}}function mt(t,o){1&t&&e.SDv(0,9)}function At(t,o){if(1&t&&(e.YNc(0,Mt,1,2,"cd-usage-bar",6),e.YNc(1,mt,1,0,"ng-template",null,7,e.W1O)),2&t){const _=o.row,n=e.MAs(2);e.Q6J("ngIf",_.bucket_quota.max_size>0&&_.bucket_quota.enabled)("ngIfElse",n)}}function bt(t,o){if(1&t&&e._UZ(0,"cd-usage-bar",12),2&t){const _=e.oxw().row;e.Q6J("total",_.bucket_quota.max_objects)("used",_.num_objects)("isBinary",!1)}}function Pt(t,o){1&t&&e.SDv(0,13)}function Gt(t,o){if(1&t&&(e.YNc(0,bt,1,3,"cd-usage-bar",10),e.YNc(1,Pt,1,0,"ng-template",null,11,e.W1O)),2&t){const _=o.row,n=e.MAs(2);e.Q6J("ngIf",_.bucket_quota.max_objects>0&&_.bucket_quota.enabled)("ngIfElse",n)}}let Ot=(()=>{class t extends be.o{constructor(_,n,i,s,c,d,E,g){super(g),this.authStorageService=_,this.dimlessBinaryPipe=n,this.dimlessPipe=i,this.rgwBucketService=s,this.modalService=c,this.urlBuilder=d,this.actionLabels=E,this.ngZone=g,this.columns=[],this.buckets=[],this.selection=new Pe.r}ngOnInit(){this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:"Name",prop:"bid",flexGrow:2},{name:"Owner",prop:"owner",flexGrow:2.5},{name:"Used Capacity",prop:"bucket_size",flexGrow:.6,pipe:this.dimlessBinaryPipe},{name:"Capacity Limit %",prop:"size_usage",cellTemplate:this.bucketSizeTpl,flexGrow:.8},{name:"Objects",prop:"num_objects",flexGrow:.6,pipe:this.dimlessPipe},{name:"Object Limit %",prop:"object_usage",cellTemplate:this.bucketObjectTpl,flexGrow:.8}];const _=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().bid)}`;this.tableActions=[{permission:"create",icon:D.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:c=>!c.hasSelection},{permission:"update",icon:D.P.edit,routerLink:()=>this.urlBuilder.getEdit(_()),name:this.actionLabels.EDIT},{permission:"delete",icon:D.P.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:c=>c.hasMultiSelection}],this.setTableRefreshTimeout()}transformBucketData(){u().forEach(this.buckets,_=>{const n=_.bucket_quota.max_size,i=_.bucket_quota.max_objects;_.bucket_size=0,_.num_objects=0,u().isEmpty(_.usage)||(_.bucket_size=_.usage["rgw.main"].size_actual,_.num_objects=_.usage["rgw.main"].num_objects),_.size_usage=n>0?_.bucket_size/n:void 0,_.object_usage=i>0?_.num_objects/i:void 0})}getBucketList(_){this.setTableRefreshTimeout(),this.rgwBucketService.list(!0).subscribe(n=>{this.buckets=n,this.transformBucketData()},()=>{_.error()})}updateSelection(_){this.selection=_}deleteAction(){this.modalService.show(ye.M,{itemDescription:this.selection.hasSingleSelection?"bucket":"buckets",itemNames:this.selection.selected.map(_=>_.bid),submitActionObservable:()=>new xe.y(_=>{(0,Y.D)(this.selection.selected.map(n=>this.rgwBucketService.delete(n.bid))).subscribe({error:n=>{_.error(n),this.table.refreshBtn()},complete:()=>{_.complete(),this.table.refreshBtn()}})})})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(Ee.j),e.Y36(qe.$),e.Y36(we.n),e.Y36(Me.o),e.Y36(Te.Z),e.Y36(Q.F),e.Y36(A.p4),e.Y36(e.R0b))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-bucket-list"]],viewQuery:function(_,n){if(1&_&&(e.Gf(z.a,7),e.Gf(Ct,7),e.Gf(pt,7)),2&_){let i;e.iGM(i=e.CRH())&&(n.table=i.first),e.iGM(i=e.CRH())&&(n.bucketSizeTpl=i.first),e.iGM(i=e.CRH())&&(n.bucketObjectTpl=i.first)}},features:[e._Bn([{provide:Q.F,useValue:new Q.F("rgw/bucket")}]),e.qOj],decls:8,vars:9,consts:function(){let o,_;return o="No Limit",_="No Limit",[["columnMode","flex","selectionType","multiClick","identifier","bid",3,"autoReload","data","columns","hasDetails","status","setExpandedRow","updateSelection","fetchData"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["bucketSizeTpl",""],["bucketObjectTpl",""],[3,"total","used",4,"ngIf","ngIfElse"],["noSizeQuota",""],[3,"total","used"],o,[3,"total","used","isBinary",4,"ngIf","ngIfElse"],["noObjectQuota",""],[3,"total","used","isBinary"],_]},template:function(_,n){1&_&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(s){return n.setExpandedRow(s)})("updateSelection",function(s){return n.updateSelection(s)})("fetchData",function(s){return n.getBucketList(s)}),e._UZ(2,"cd-table-actions",2),e._UZ(3,"cd-rgw-bucket-details",3),e.qZA(),e.YNc(4,At,3,2,"ng-template",null,4,e.W1O),e.YNc(6,Gt,3,2,"ng-template",null,5,e.W1O)),2&_&&(e.Q6J("autoReload",!1)("data",n.buckets)("columns",n.columns)("hasDetails",!0)("status",n.tableStatus),e.xp6(2),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("selection",n.expandedRow))},directives:[z.a,ke.K,ft,f.O5,He.O],styles:[""]}),t})();var Ut=r(58111),Xe=r(59376),Wt=r(61350),Zt=r(98056),Ke=r(76317);function $t(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table-key-value",11),e.NdJ("fetchData",function(){return e.CHM(_),e.oxw(2).getMetaData()}),e.qZA()}if(2&t){const _=e.oxw(2);e.Q6J("data",_.metadata)}}function ht(t,o){if(1&t&&e._UZ(0,"cd-table-performance-counter",12),2&t){const _=e.oxw(2);e.Q6J("serviceId",_.serviceMapId)}}function It(t,o){if(1&t&&e._UZ(0,"cd-grafana",15),2&t){const _=e.oxw(3);e.Q6J("grafanaPath","rgw-instance-detail?var-rgw_servers=rgw."+_.serviceId)}}function vt(t,o){1&t&&(e.TgZ(0,"li",13),e.TgZ(1,"a",4),e.SDv(2,14),e.qZA(),e.YNc(3,It,1,1,"ng-template",6),e.qZA())}function Ft(t,o){if(1&t&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,$t,1,1,"ng-template",6),e.qZA(),e.TgZ(7,"li",7),e.TgZ(8,"a",4),e.SDv(9,8),e.qZA(),e.YNc(10,ht,1,1,"ng-template",6),e.qZA(),e.YNc(11,vt,4,0,"li",9),e.qZA(),e._UZ(12,"div",10),e.BQk()),2&t){const _=e.MAs(2),n=e.oxw();e.xp6(11),e.Q6J("ngIf",n.grafanaPermission.read),e.xp6(1),e.Q6J("ngbNavOutlet",_)}}let Lt=(()=>{class t{constructor(_,n){this.rgwDaemonService=_,this.authStorageService=n,this.serviceId="",this.serviceMapId="",this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selection&&(this.serviceId=this.selection.id,this.serviceMapId=this.selection.service_map_id)}getMetaData(){u().isEmpty(this.serviceId)||this.rgwDaemonService.get(this.serviceId).subscribe(_=>{this.metadata=_.rgw_metadata})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ge.b),e.Y36(Ee.j))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-daemon-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let o,_,n;return o="Details",_="Performance Counters",n="Performance Details",[[4,"ngIf"],["ngbNav","","cdStatefulTab","rgw-daemon-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],o,["ngbNavContent",""],["ngbNavItem","performance-counters"],_,["ngbNavItem","performance-details",4,"ngIf"],[3,"ngbNavOutlet"],[3,"data","fetchData"],["serviceType","rgw",3,"serviceId"],["ngbNavItem","performance-details"],n,["uid","x5ARzZtmk","grafanaStyle","one",3,"grafanaPath"]]},template:function(_,n){1&_&&e.YNc(0,Ft,13,2,"ng-container",0),2&_&&e.Q6J("ngIf",n.selection)},directives:[f.O5,M.Pz,Xe.m,M.nv,M.Vx,M.uN,M.tO,Wt.b,Zt.p,Ke.F],styles:[""]}),t})();function Dt(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table",8),e.NdJ("setExpandedRow",function(i){return e.CHM(_),e.oxw().setExpandedRow(i)})("fetchData",function(i){return e.CHM(_),e.oxw().getDaemonList(i)}),e._UZ(1,"cd-rgw-daemon-details",9),e.qZA()}if(2&t){const _=e.oxw();e.Q6J("data",_.daemons)("columns",_.columns)("hasDetails",!0),e.xp6(1),e.Q6J("selection",_.expandedRow)}}function xt(t,o){1&t&&e._UZ(0,"cd-grafana",11),2&t&&e.Q6J("grafanaPath","rgw-overview?")}function yt(t,o){1&t&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,10),e.qZA(),e.YNc(3,xt,1,1,"ng-template",5),e.qZA())}function qt(t,o){1&t&&e._UZ(0,"cd-grafana",13),2&t&&e.Q6J("grafanaPath","radosgw-sync-overview?")}function wt(t,o){1&t&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,12),e.qZA(),e.YNc(3,qt,1,1,"ng-template",5),e.qZA())}let kt=(()=>{class t extends be.o{constructor(_,n,i,s){super(),this.rgwDaemonService=_,this.authStorageService=n,this.cephShortVersionPipe=i,this.rgwSiteService=s,this.columns=[],this.daemons=[],this.updateDaemons=c=>{this.daemons=c}}ngOnInit(){this.grafanaPermission=this.authStorageService.getPermissions().grafana,this.columns=[{name:"ID",prop:"id",flexGrow:2},{name:"Hostname",prop:"server_hostname",flexGrow:2},{name:"Zone",prop:"zone_name",flexGrow:2},{name:"Zone Group",prop:"zonegroup_name",flexGrow:2},{name:"Realm",prop:"realm_name",flexGrow:2},{name:"Version",prop:"version",flexGrow:1,pipe:this.cephShortVersionPipe}],this.rgwSiteService.get("realms").subscribe(_=>this.isMultiSite=_.length>0)}getDaemonList(_){this.rgwDaemonService.list().subscribe(this.updateDaemons,()=>{_.error()})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ge.b),e.Y36(Ee.j),e.Y36(Ut.F),e.Y36(We.I))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-daemon-list"]],features:[e.qOj],decls:9,vars:3,consts:function(){let o,_,n;return o="Daemons List",_="Overall Performance",n="Sync Performance",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],o,["ngbNavContent",""],["ngbNavItem","",4,"ngIf"],[3,"ngbNavOutlet"],["columnMode","flex",3,"data","columns","hasDetails","setExpandedRow","fetchData"],["cdTableDetail","",3,"selection"],_,["uid","WAkugZpiz","grafanaStyle","two",3,"grafanaPath"],n,["uid","rgw-sync-overview","grafanaStyle","two",3,"grafanaPath"]]},template:function(_,n){if(1&_&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,Dt,2,4,"ng-template",5),e.qZA(),e.YNc(6,yt,4,0,"li",6),e.YNc(7,wt,4,0,"li",6),e.qZA(),e._UZ(8,"div",7)),2&_){const i=e.MAs(1);e.xp6(6),e.Q6J("ngIf",n.grafanaPermission.read),e.xp6(1),e.Q6J("ngIf",n.grafanaPermission.read&&n.isMultiSite),e.xp6(1),e.Q6J("ngbNavOutlet",i)}},directives:[M.Pz,M.nv,M.Vx,M.uN,f.O5,M.tO,z.a,Lt,Ke.F],styles:[""]}),t})();var Bt=r(58071),Ge=r(28211),Se=(()=>{return(t=Se||(Se={})).USERS="users",t.BUCKETS="buckets",t.METADATA="metadata",t.USAGE="usage",t.ZONE="zone",Se;var t})();let ze=(()=>{class t{static getAll(){return Object.values(t.capabilities)}}return t.capabilities=Se,t})();var fe=r(60312);function Ht(t,o){1&t&&e._UZ(0,"input",22),2&t&&e.Q6J("readonly",!0)}function Xt(t,o){1&t&&(e.TgZ(0,"option",17),e.SDv(1,25),e.qZA()),2&t&&e.Q6J("ngValue",null)}function Kt(t,o){if(1&t&&(e.TgZ(0,"option",26),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.Oqu(_)}}function zt(t,o){if(1&t&&(e.TgZ(0,"select",23),e.YNc(1,Xt,2,1,"option",24),e.YNc(2,Kt,2,2,"option",19),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.Q6J("ngIf",null!==_.types),e.xp6(1),e.Q6J("ngForOf",_.types)}}function Qt(t,o){1&t&&(e.TgZ(0,"span",27),e.SDv(1,28),e.qZA())}function Yt(t,o){if(1&t&&(e.TgZ(0,"option",26),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Jt(t,o){1&t&&(e.TgZ(0,"span",27),e.SDv(1,29),e.qZA())}const Vt=function(t){return{required:t}},jt=function(){return["read","write","*"]};let en=(()=>{class t{constructor(_,n,i){this.formBuilder=_,this.activeModal=n,this.actionLabels=i,this.submitAction=new e.vpe,this.editing=!0,this.types=[],this.resource="capability",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({type:[null,[a.kI.required]],perm:[null,[a.kI.required]]})}setEditing(_=!0){this.editing=_,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.ADD}setValues(_,n){this.formGroup.setValue({type:_,perm:n})}setCapabilities(_){const n=[];_.forEach(i=>{n.push(i.type)}),this.types=[],ze.getAll().forEach(i=>{-1===u().indexOf(n,i)&&this.types.push(i)})}onSubmit(){this.submitAction.emit(this.formGroup.value),this.activeModal.close()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(J.O),e.Y36(M.Kz),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-capability-modal"]],outputs:{submitAction:"submitAction"},decls:29,vars:24,consts:function(){let o,_,n,i,s,c,d;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Type",n="Permission",i="-- Select a permission --",s="-- Select a type --",c="This field is required.",d="This field is required.",[[3,"modalRef"],[1,"modal-title"],o,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","type",1,"cd-col-form-label",3,"ngClass"],_,[1,"cd-col-form-input"],["id","type","class","form-control","type","text","formControlName","type",3,"readonly",4,"ngIf"],["id","type","class","form-control custom-select","formControlName","type","autofocus","",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["for","perm",1,"cd-col-form-label","required"],n,["id","perm","formControlName","perm",1,"form-control","custom-select"],[3,"ngValue"],i,[3,"value",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["id","type","type","text","formControlName","type",1,"form-control",3,"readonly"],["id","type","formControlName","type","autofocus","",1,"form-control","custom-select"],[3,"ngValue",4,"ngIf"],s,[3,"value"],[1,"invalid-feedback"],c,d]},template:function(_,n){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.YNc(13,Ht,1,1,"input",11),e.YNc(14,zt,3,2,"select",12),e.YNc(15,Qt,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(16,"div",7),e.TgZ(17,"label",14),e.SDv(18,15),e.qZA(),e.TgZ(19,"div",10),e.TgZ(20,"select",16),e.TgZ(21,"option",17),e.SDv(22,18),e.qZA(),e.YNc(23,Yt,2,2,"option",19),e.qZA(),e.YNc(24,Jt,2,0,"span",13),e.qZA(),e.qZA(),e.qZA(),e.TgZ(25,"div",20),e.TgZ(26,"cd-form-button-panel",21),e.NdJ("submitActionEvent",function(){return n.onSubmit()}),e.ALo(27,"titlecase"),e.ALo(28,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const i=e.MAs(7);e.Q6J("modalRef",n.activeModal),e.xp6(4),e.pQV(e.lcZ(3,13,n.action))(e.lcZ(4,15,n.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",n.formGroup),e.xp6(4),e.Q6J("ngClass",e.VKq(21,Vt,!n.editing)),e.xp6(3),e.Q6J("ngIf",n.editing),e.xp6(1),e.Q6J("ngIf",!n.editing),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("type",i,"required")),e.xp6(6),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(23,jt)),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("perm",i,"required")),e.xp6(2),e.Q6J("form",n.formGroup)("submitText",e.lcZ(27,17,n.action)+" "+e.lcZ(28,19,n.resource))}},directives:[fe.z,a._Y,a.JL,V.V,a.sg,H.P,f.mk,f.O5,q.o,a.EJ,X.b,a.JJ,a.u,a.YN,a.Kr,f.sg,ee.p,a.Fj,j.U],pipes:[f.rS,K.m],styles:[""]}),t})();var Ce=r(4416),pe=r(58039);function _n(t,o){1&t&&e._UZ(0,"input",17),2&t&&e.Q6J("readonly",!0)}function tn(t,o){1&t&&(e.TgZ(0,"option",21),e.SDv(1,22),e.qZA()),2&t&&e.Q6J("ngValue",null)}function nn(t,o){if(1&t&&(e.TgZ(0,"option",23),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.Oqu(_)}}function on(t,o){if(1&t&&(e.TgZ(0,"select",18),e.YNc(1,tn,2,1,"option",19),e.YNc(2,nn,2,2,"option",20),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.Q6J("ngIf",null!==_.userCandidates),e.xp6(1),e.Q6J("ngForOf",_.userCandidates)}}function sn(t,o){1&t&&(e.TgZ(0,"span",24),e.SDv(1,25),e.qZA())}function an(t,o){1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"div",26),e.TgZ(2,"div",27),e._UZ(3,"input",28),e.TgZ(4,"label",29),e.SDv(5,30),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function rn(t,o){1&t&&(e.TgZ(0,"span",24),e.SDv(1,38),e.qZA())}const Ne=function(t){return{required:t}};function ln(t,o){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",31),e.SDv(2,32),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"div",33),e._UZ(5,"input",34),e.TgZ(6,"span",35),e._UZ(7,"button",36),e._UZ(8,"cd-copy-2-clipboard-button",37),e.qZA(),e.qZA(),e.YNc(9,rn,2,0,"span",13),e.qZA(),e.qZA()),2&t){const _=e.oxw(),n=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(3,Ne,!_.viewing)),e.xp6(4),e.Q6J("readonly",_.viewing),e.xp6(4),e.Q6J("ngIf",_.formGroup.showError("access_key",n,"required"))}}function cn(t,o){1&t&&(e.TgZ(0,"span",24),e.SDv(1,44),e.qZA())}function dn(t,o){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",39),e.SDv(2,40),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"div",33),e._UZ(5,"input",41),e.TgZ(6,"span",35),e._UZ(7,"button",42),e._UZ(8,"cd-copy-2-clipboard-button",43),e.qZA(),e.qZA(),e.YNc(9,cn,2,0,"span",13),e.qZA(),e.qZA()),2&t){const _=e.oxw(),n=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(3,Ne,!_.viewing)),e.xp6(4),e.Q6J("readonly",_.viewing),e.xp6(4),e.Q6J("ngIf",_.formGroup.showError("secret_key",n,"required"))}}let Qe=(()=>{class t{constructor(_,n,i){this.formBuilder=_,this.activeModal=n,this.actionLabels=i,this.submitAction=new e.vpe,this.viewing=!0,this.userCandidates=[],this.resource="S3 Key",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({user:[null,[a.kI.required]],generate_key:[!0],access_key:[null,[m.h.requiredIf({generate_key:!1})]],secret_key:[null,[m.h.requiredIf({generate_key:!1})]]})}setViewing(_=!0){this.viewing=_,this.action=this.viewing?this.actionLabels.SHOW:this.actionLabels.CREATE}setValues(_,n,i){this.formGroup.setValue({user:_,generate_key:u().isEmpty(n),access_key:n,secret_key:i})}setUserCandidates(_){this.userCandidates=_}onSubmit(){this.submitAction.emit(this.formGroup.value),this.activeModal.close()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(J.O),e.Y36(M.Kz),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-s3-key-modal"]],outputs:{submitAction:"submitAction"},decls:23,vars:24,consts:function(){let o,_,n,i,s,c,d,E,g;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Username",n="-- Select a username --",i="This field is required.",s="Auto-generate key",c="Access key",d="This field is required.",E="Secret key",g="This field is required.",[[3,"modalRef"],[1,"modal-title"],o,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","user",1,"cd-col-form-label",3,"ngClass"],_,[1,"cd-col-form-input"],["id","user","class","form-control","type","text","formControlName","user",3,"readonly",4,"ngIf"],["id","user","class","form-control custom-select","formControlName","user","autofocus","",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","showSubmit","submitActionEvent"],["id","user","type","text","formControlName","user",1,"form-control",3,"readonly"],["id","user","formControlName","user","autofocus","",1,"form-control","custom-select"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],[3,"ngValue"],n,[3,"value"],[1,"invalid-feedback"],i,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","generate_key","type","checkbox","formControlName","generate_key",1,"custom-control-input"],["for","generate_key",1,"custom-control-label"],s,["for","access_key",1,"cd-col-form-label",3,"ngClass"],c,[1,"input-group"],["id","access_key","type","password","formControlName","access_key",1,"form-control",3,"readonly"],[1,"input-group-append"],["type","button","cdPasswordButton","access_key",1,"btn","btn-light"],["source","access_key"],d,["for","secret_key",1,"cd-col-form-label",3,"ngClass"],E,["id","secret_key","type","password","formControlName","secret_key",1,"form-control",3,"readonly"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],g]},template:function(_,n){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.YNc(13,_n,1,1,"input",11),e.YNc(14,on,3,2,"select",12),e.YNc(15,sn,2,0,"span",13),e.qZA(),e.qZA(),e.YNc(16,an,6,0,"div",14),e.YNc(17,ln,10,5,"div",14),e.YNc(18,dn,10,5,"div",14),e.qZA(),e.TgZ(19,"div",15),e.TgZ(20,"cd-form-button-panel",16),e.NdJ("submitActionEvent",function(){return n.onSubmit()}),e.ALo(21,"titlecase"),e.ALo(22,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const i=e.MAs(7);e.Q6J("modalRef",n.activeModal),e.xp6(4),e.pQV(e.lcZ(3,14,n.action))(e.lcZ(4,16,n.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",n.formGroup),e.xp6(4),e.Q6J("ngClass",e.VKq(22,Ne,!n.viewing)),e.xp6(3),e.Q6J("ngIf",n.viewing),e.xp6(1),e.Q6J("ngIf",!n.viewing),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("user",i,"required")),e.xp6(1),e.Q6J("ngIf",!n.viewing),e.xp6(1),e.Q6J("ngIf",!n.formGroup.getValue("generate_key")),e.xp6(1),e.Q6J("ngIf",!n.formGroup.getValue("generate_key")),e.xp6(2),e.Q6J("form",n.formGroup)("submitText",e.lcZ(21,18,n.action)+" "+e.lcZ(22,20,n.resource))("showSubmit",!n.viewing)}},directives:[fe.z,a._Y,a.JL,V.V,a.sg,H.P,f.mk,f.O5,ee.p,q.o,a.Fj,X.b,a.JJ,a.u,a.EJ,j.U,f.sg,a.YN,a.Kr,a.Wl,Ce.C,pe.s],pipes:[f.rS,K.m],styles:[""]}),t})();class un{}function Rn(t,o){1&t&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function gn(t,o){1&t&&(e.TgZ(0,"span",29),e.SDv(1,31),e.qZA())}function En(t,o){if(1&t&&(e.TgZ(0,"option",32),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Tn(t,o){1&t&&(e.TgZ(0,"span",29),e.SDv(1,33),e.qZA())}function Sn(t,o){1&t&&(e.TgZ(0,"span",29),e.SDv(1,48),e.qZA())}function fn(t,o){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",41),e.SDv(2,42),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"div",43),e._UZ(5,"input",44),e.TgZ(6,"span",45),e._UZ(7,"button",46),e._UZ(8,"cd-copy-2-clipboard-button",47),e.qZA(),e.qZA(),e.YNc(9,Sn,2,0,"span",15),e.qZA(),e.qZA()),2&t){const _=e.oxw(2),n=e.MAs(7);e.xp6(9),e.Q6J("ngIf",_.formGroup.showError("secret_key",n,"required"))}}function Cn(t,o){if(1&t&&(e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,34),e.qZA(),e.TgZ(3,"div",7),e.TgZ(4,"div",35),e.TgZ(5,"div",36),e._UZ(6,"input",37),e.TgZ(7,"label",38),e.SDv(8,39),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(9,fn,10,1,"div",40),e.qZA()),2&t){const _=e.oxw();e.xp6(9),e.Q6J("ngIf",!_.editing&&!_.formGroup.getValue("generate_secret"))}}const pn=function(t){return{required:t}},Mn=function(){return["read","write"]};let mn=(()=>{class t{constructor(_,n,i){this.formBuilder=_,this.bsModalRef=n,this.actionLabels=i,this.submitAction=new e.vpe,this.editing=!0,this.subusers=[],this.resource="Subuser",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({uid:[null],subuid:[null,[a.kI.required,this.subuserValidator()]],perm:[null,[a.kI.required]],generate_secret:[!0],secret_key:[null,[m.h.requiredIf({generate_secret:!1})]]})}subuserValidator(){const _=this;return n=>_.editing||(0,m.P)(n.value)?null:_.subusers.some(s=>u().isEqual(_.getSubuserName(s.id),n.value))?{subuserIdExists:!0}:null}getSubuserName(_){if(u().isEmpty(_))return _;const n=_.match(/([^:]+)(:(.+))?/);return u().isUndefined(n[3])?n[1]:n[3]}setEditing(_=!0){this.editing=_,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE}setValues(_,n="",i=""){this.formGroup.setValue({uid:_,subuid:this.getSubuserName(n),perm:i,generate_secret:!0,secret_key:null})}setSubusers(_){this.subusers=_}onSubmit(){const _=this.formGroup.value,n=new un;n.id=`${_.uid}:${_.subuid}`,n.permissions=_.perm,n.generate_secret=_.generate_secret,n.secret_key=_.secret_key,this.submitAction.emit(n),this.bsModalRef.close()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(J.O),e.Y36(M.Kz),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-subuser-modal"]],outputs:{submitAction:"submitAction"},decls:39,vars:26,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Username",n="Subuser",i="Permission",s="-- Select a permission --",c="read, write",d="full",E="This field is required.",g="The chosen subuser ID is already in use.",C="This field is required.",b="Swift key",P="Auto-generate secret",G="Secret key",N="This field is required.",[[3,"modalRef"],[1,"modal-title"],o,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","uid",1,"cd-col-form-label"],_,[1,"cd-col-form-input"],["id","uid","type","text","formControlName","uid",1,"form-control",3,"readonly"],["for","subuid",1,"cd-col-form-label",3,"ngClass"],n,["id","subuid","type","text","formControlName","subuid","autofocus","",1,"form-control",3,"readonly"],["class","invalid-feedback",4,"ngIf"],["for","perm",1,"cd-col-form-label","required"],i,["id","perm","formControlName","perm",1,"form-control","custom-select"],[3,"ngValue"],s,[3,"value",4,"ngFor","ngForOf"],["value","read-write"],c,["value","full-control"],d,[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],E,g,[3,"value"],C,b,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","generate_secret","type","checkbox","formControlName","generate_secret",1,"custom-control-input"],["for","generate_secret",1,"custom-control-label"],P,["class","form-group row",4,"ngIf"],["for","secret_key",1,"cd-col-form-label","required"],G,[1,"input-group"],["id","secret_key","type","password","formControlName","secret_key",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],N]},template:function(_,n){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.qZA(),e.qZA(),e.TgZ(14,"div",7),e.TgZ(15,"label",12),e.SDv(16,13),e.qZA(),e.TgZ(17,"div",10),e._UZ(18,"input",14),e.YNc(19,Rn,2,0,"span",15),e.YNc(20,gn,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(21,"div",7),e.TgZ(22,"label",16),e.SDv(23,17),e.qZA(),e.TgZ(24,"div",10),e.TgZ(25,"select",18),e.TgZ(26,"option",19),e.SDv(27,20),e.qZA(),e.YNc(28,En,2,2,"option",21),e.TgZ(29,"option",22),e.SDv(30,23),e.qZA(),e.TgZ(31,"option",24),e.SDv(32,25),e.qZA(),e.qZA(),e.YNc(33,Tn,2,0,"span",15),e.qZA(),e.qZA(),e.YNc(34,Cn,10,1,"fieldset",26),e.qZA(),e.TgZ(35,"div",27),e.TgZ(36,"cd-form-button-panel",28),e.NdJ("submitActionEvent",function(){return n.onSubmit()}),e.ALo(37,"titlecase"),e.ALo(38,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const i=e.MAs(7);e.Q6J("modalRef",n.bsModalRef),e.xp6(4),e.pQV(e.lcZ(3,15,n.action))(e.lcZ(4,17,n.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",n.formGroup),e.xp6(7),e.Q6J("readonly",!0),e.xp6(2),e.Q6J("ngClass",e.VKq(23,pn,!n.editing)),e.xp6(3),e.Q6J("readonly",n.editing),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("subuid",i,"required")),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("subuid",i,"subuserIdExists")),e.xp6(6),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(25,Mn)),e.xp6(5),e.Q6J("ngIf",n.formGroup.showError("perm",i,"required")),e.xp6(1),e.Q6J("ngIf",!n.editing),e.xp6(2),e.Q6J("form",n.formGroup)("submitText",e.lcZ(37,19,n.action)+" "+e.lcZ(38,21,n.resource))}},directives:[fe.z,a._Y,a.JL,V.V,a.sg,H.P,q.o,a.Fj,X.b,a.JJ,a.u,f.mk,j.U,f.O5,a.EJ,a.YN,a.Kr,f.sg,ee.p,a.Wl,Ce.C,pe.s],pipes:[f.rS,K.m],styles:[""]}),t})();var An=r(13472);let Ye=(()=>{class t{constructor(_,n){this.activeModal=_,this.actionLabels=n,this.resource="Swift Key",this.action=this.actionLabels.SHOW}setValues(_,n){this.user=_,this.secret_key=n}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(M.Kz),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-swift-key-modal"]],decls:24,vars:11,consts:function(){let o,_,n;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Username",n="Secret key",[[3,"modalRef"],[1,"modal-title"],o,[1,"modal-content"],[1,"modal-body"],["novalidate",""],[1,"form-group","row"],["for","user",1,"cd-col-form-label"],_,[1,"cd-col-form-input"],["id","user","name","user","type","text",1,"form-control",3,"readonly","ngModel","ngModelChange"],["for","secret_key",1,"cd-col-form-label"],n,[1,"input-group"],["id","secret_key","name","secret_key","type","password",1,"form-control",3,"ngModel","readonly","ngModelChange"],[1,"input-group-append"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],[1,"modal-footer"],[3,"backAction"]]},template:function(_,n){1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"div",4),e.TgZ(7,"form",5),e.TgZ(8,"div",6),e.TgZ(9,"label",7),e.SDv(10,8),e.qZA(),e.TgZ(11,"div",9),e.TgZ(12,"input",10),e.NdJ("ngModelChange",function(s){return n.user=s}),e.qZA(),e.qZA(),e.qZA(),e.TgZ(13,"div",6),e.TgZ(14,"label",11),e.SDv(15,12),e.qZA(),e.TgZ(16,"div",9),e.TgZ(17,"div",13),e.TgZ(18,"input",14),e.NdJ("ngModelChange",function(s){return n.secret_key=s}),e.qZA(),e.TgZ(19,"span",15),e._UZ(20,"button",16),e._UZ(21,"cd-copy-2-clipboard-button",17),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(22,"div",18),e.TgZ(23,"cd-back-button",19),e.NdJ("backAction",function(){return n.activeModal.close()}),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_&&(e.Q6J("modalRef",n.activeModal),e.xp6(4),e.pQV(e.lcZ(3,7,n.action))(e.lcZ(4,9,n.resource)),e.QtT(2),e.xp6(8),e.Q6J("readonly",!0)("ngModel",n.user),e.xp6(6),e.Q6J("ngModel",n.secret_key)("readonly",!0))},directives:[fe.z,a._Y,a.JL,a.F,H.P,q.o,a.Fj,X.b,a.JJ,a.On,Ce.C,pe.s,An.W],pipes:[f.rS,K.m],styles:[""]}),t})();var bn=r(17932);function Pn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,50),e.qZA())}function Gn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,51),e.qZA())}function Nn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,52),e.qZA())}function On(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,56),e.qZA())}function Un(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,57),e.qZA())}function Wn(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",53),e.SDv(2,54),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",55),e.YNc(5,On,2,0,"span",13),e.YNc(6,Un,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(4),e.Q6J("readonly",n.editing),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("tenant",_,"pattern")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("tenant",_,"notUnique"))}}function Zn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,58),e.qZA())}function $n(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,59),e.qZA())}function hn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,60),e.qZA())}function In(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,63),e.qZA())}function vn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,64),e.qZA())}function Fn(t,o){if(1&t&&(e.TgZ(0,"div",8),e._UZ(1,"label",61),e.TgZ(2,"div",11),e._UZ(3,"input",62),e.YNc(4,In,2,0,"span",13),e.YNc(5,vn,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(4),e.Q6J("ngIf",n.userForm.showError("max_buckets",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("max_buckets",_,"min"))}}function Ln(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,76),e.qZA())}function Dn(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",69),e.SDv(2,70),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"div",71),e._UZ(5,"input",72),e.TgZ(6,"span",73),e._UZ(7,"button",74),e._UZ(8,"cd-copy-2-clipboard-button",75),e.qZA(),e.qZA(),e.YNc(9,Ln,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),n=e.oxw();e.xp6(9),e.Q6J("ngIf",n.userForm.showError("access_key",_,"required"))}}function xn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,82),e.qZA())}function yn(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",77),e.SDv(2,78),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"div",71),e._UZ(5,"input",79),e.TgZ(6,"span",73),e._UZ(7,"button",80),e._UZ(8,"cd-copy-2-clipboard-button",81),e.qZA(),e.qZA(),e.YNc(9,xn,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),n=e.oxw();e.xp6(9),e.Q6J("ngIf",n.userForm.showError("secret_key",_,"required"))}}function qn(t,o){if(1&t&&(e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,65),e.qZA(),e.TgZ(3,"div",8),e.TgZ(4,"div",14),e.TgZ(5,"div",15),e._UZ(6,"input",66),e.TgZ(7,"label",67),e.SDv(8,68),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(9,Dn,10,1,"div",19),e.YNc(10,yn,10,1,"div",19),e.qZA()),2&t){const _=e.oxw(2);e.xp6(9),e.Q6J("ngIf",!_.editing&&!_.userForm.getValue("generate_key")),e.xp6(1),e.Q6J("ngIf",!_.editing&&!_.userForm.getValue("generate_key"))}}function wn(t,o){1&t&&(e.TgZ(0,"span",92),e.TgZ(1,"span",93),e.SDv(2,94),e.qZA(),e.qZA())}const L=function(t){return[t]};function kn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"span"),e.TgZ(1,"div",71),e.TgZ(2,"div",95),e.TgZ(3,"span",96),e._UZ(4,"i"),e.qZA(),e.qZA(),e._UZ(5,"input",97),e.TgZ(6,"div",98),e.TgZ(7,"span",96),e._UZ(8,"i"),e.qZA(),e.qZA(),e._UZ(9,"input",97),e.TgZ(10,"span",73),e.TgZ(11,"button",99),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).showSubuserModal(s)}),e._UZ(12,"i",89),e.qZA(),e.TgZ(13,"button",100),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).deleteSubuser(s)}),e._UZ(14,"i",89),e.qZA(),e.qZA(),e.qZA(),e._UZ(15,"span",93),e.qZA()}if(2&t){const _=o.$implicit,n=e.oxw(3);e.xp6(4),e.Tol(n.icons.user),e.xp6(1),e.s9C("value",_.id),e.xp6(3),e.Tol(n.icons.share),e.xp6(1),e.s9C("value","full-control"===_.permissions?"full":_.permissions),e.xp6(3),e.Q6J("ngClass",e.VKq(10,L,n.icons.edit)),e.xp6(2),e.Q6J("ngClass",e.VKq(12,L,n.icons.destroy))}}function Bn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,83),e.qZA(),e.TgZ(3,"div",84),e.TgZ(4,"div",14),e.YNc(5,wn,3,0,"span",85),e.YNc(6,kn,16,14,"span",86),e.TgZ(7,"div",84),e.TgZ(8,"div",87),e.TgZ(9,"button",88),e.NdJ("click",function(){return e.CHM(_),e.oxw(2).showSubuserModal()}),e._UZ(10,"i",89),e.ynx(11),e.SDv(12,90),e.ALo(13,"titlecase"),e.ALo(14,"upperFirst"),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(15,"span",91),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(2);e.xp6(5),e.Q6J("ngIf",0===_.subusers.length),e.xp6(1),e.Q6J("ngForOf",_.subusers),e.xp6(4),e.Q6J("ngClass",e.VKq(9,L,_.icons.add)),e.xp6(4),e.pQV(e.lcZ(13,5,_.actionLabels.CREATE))(e.lcZ(14,7,_.subuserLabel)),e.QtT(12)}}function Hn(t,o){1&t&&(e.TgZ(0,"span",92),e.TgZ(1,"span",93),e.SDv(2,106),e.qZA(),e.qZA())}function Xn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"span"),e.TgZ(1,"div",71),e.TgZ(2,"div",95),e.TgZ(3,"div",96),e._UZ(4,"i"),e.qZA(),e.qZA(),e._UZ(5,"input",97),e.TgZ(6,"span",73),e.TgZ(7,"button",107),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).showS3KeyModal(s)}),e._UZ(8,"i",89),e.qZA(),e.TgZ(9,"button",108),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).deleteS3Key(s)}),e._UZ(10,"i",89),e.qZA(),e.qZA(),e.qZA(),e._UZ(11,"span",93),e.qZA()}if(2&t){const _=o.$implicit,n=e.oxw(3);e.xp6(4),e.Tol(n.icons.key),e.xp6(1),e.s9C("value",_.user),e.xp6(3),e.Q6J("ngClass",e.VKq(6,L,n.icons.show)),e.xp6(2),e.Q6J("ngClass",e.VKq(8,L,n.icons.destroy))}}function Kn(t,o){1&t&&(e.TgZ(0,"span",92),e.TgZ(1,"span",93),e.SDv(2,109),e.qZA(),e.qZA())}function zn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"span"),e.TgZ(1,"div",71),e.TgZ(2,"div",95),e.TgZ(3,"span",96),e._UZ(4,"i"),e.qZA(),e.qZA(),e._UZ(5,"input",97),e.TgZ(6,"span",73),e.TgZ(7,"button",110),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).showSwiftKeyModal(s)}),e._UZ(8,"i",89),e.qZA(),e.qZA(),e.qZA(),e._UZ(9,"span",93),e.qZA()}if(2&t){const _=o.$implicit,n=e.oxw(3);e.xp6(4),e.Tol(n.icons.key),e.xp6(1),e.s9C("value",_.user),e.xp6(3),e.Q6J("ngClass",e.VKq(5,L,n.icons.show))}}function Qn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,101),e.qZA(),e.TgZ(3,"div",8),e.TgZ(4,"label",61),e.SDv(5,102),e.qZA(),e.TgZ(6,"div",11),e.YNc(7,Hn,3,0,"span",85),e.YNc(8,Xn,12,10,"span",86),e.TgZ(9,"div",84),e.TgZ(10,"div",87),e.TgZ(11,"button",103),e.NdJ("click",function(){return e.CHM(_),e.oxw(2).showS3KeyModal()}),e._UZ(12,"i",89),e.ynx(13),e.SDv(14,104),e.ALo(15,"titlecase"),e.ALo(16,"upperFirst"),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(17,"span",91),e.qZA(),e._UZ(18,"hr"),e.qZA(),e.TgZ(19,"div",8),e.TgZ(20,"label",61),e.SDv(21,105),e.qZA(),e.TgZ(22,"div",11),e.YNc(23,Kn,3,0,"span",85),e.YNc(24,zn,10,7,"span",86),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(2);e.xp6(7),e.Q6J("ngIf",0===_.s3Keys.length),e.xp6(1),e.Q6J("ngForOf",_.s3Keys),e.xp6(4),e.Q6J("ngClass",e.VKq(11,L,_.icons.add)),e.xp6(4),e.pQV(e.lcZ(15,7,_.actionLabels.CREATE))(e.lcZ(16,9,_.s3keyLabel)),e.QtT(14),e.xp6(7),e.Q6J("ngIf",0===_.swiftKeys.length),e.xp6(1),e.Q6J("ngForOf",_.swiftKeys)}}function Yn(t,o){1&t&&(e.TgZ(0,"span",92),e.TgZ(1,"span",93),e.SDv(2,114),e.qZA(),e.qZA())}function Jn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"span"),e.TgZ(1,"div",71),e.TgZ(2,"span",95),e.TgZ(3,"div",96),e._UZ(4,"i"),e.qZA(),e.qZA(),e._UZ(5,"input",97),e.TgZ(6,"span",73),e.TgZ(7,"button",115),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).showCapabilityModal(s)}),e._UZ(8,"i",89),e.qZA(),e.TgZ(9,"button",116),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).deleteCapability(s)}),e._UZ(10,"i",89),e.qZA(),e.qZA(),e.qZA(),e._UZ(11,"span",93),e.qZA()}if(2&t){const _=o.$implicit,n=e.oxw(3);e.xp6(4),e.Tol(n.icons.share),e.xp6(1),e.hYB("value","",_.type,":",_.perm,""),e.xp6(3),e.Q6J("ngClass",e.VKq(7,L,n.icons.edit)),e.xp6(2),e.Q6J("ngClass",e.VKq(9,L,n.icons.destroy))}}function Vn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,111),e.qZA(),e.TgZ(3,"div",8),e.TgZ(4,"div",14),e.YNc(5,Yn,3,0,"span",85),e.YNc(6,Jn,12,11,"span",86),e.TgZ(7,"div",84),e.TgZ(8,"div",87),e.TgZ(9,"button",112),e.NdJ("click",function(){return e.CHM(_),e.oxw(2).showCapabilityModal()}),e.ALo(10,"pipeFunction"),e.ALo(11,"pipeFunction"),e._UZ(12,"i",89),e.ynx(13),e.SDv(14,113),e.ALo(15,"titlecase"),e.ALo(16,"upperFirst"),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(17,"span",91),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(2);e.xp6(5),e.Q6J("ngIf",0===_.capabilities.length),e.xp6(1),e.Q6J("ngForOf",_.capabilities),e.xp6(3),e.Q6J("disabled",e.xi3(10,7,_.capabilities,_.hasAllCapabilities))("disableTooltip",!e.xi3(11,10,_.capabilities,_.hasAllCapabilities)),e.xp6(3),e.Q6J("ngClass",e.VKq(17,L,_.icons.add)),e.xp6(4),e.pQV(e.lcZ(15,13,_.actionLabels.ADD))(e.lcZ(16,15,_.capabilityLabel)),e.QtT(14)}}function jn(t,o){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"div",14),e.TgZ(2,"div",15),e._UZ(3,"input",117),e.TgZ(4,"label",118),e.SDv(5,119),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function eo(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,123),e.qZA())}function _o(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,124),e.qZA())}function to(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",120),e.SDv(2,121),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",122),e.YNc(5,eo,2,0,"span",13),e.YNc(6,_o,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.userForm.showError("user_quota_max_size",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("user_quota_max_size",_,"quotaMaxSize"))}}function no(t,o){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"div",14),e.TgZ(2,"div",15),e._UZ(3,"input",125),e.TgZ(4,"label",126),e.SDv(5,127),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function oo(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,131),e.qZA())}function io(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,132),e.qZA())}function so(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",128),e.SDv(2,129),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",130),e.YNc(5,oo,2,0,"span",13),e.YNc(6,io,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.userForm.showError("user_quota_max_objects",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("user_quota_max_objects",_,"min"))}}function ao(t,o){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"div",14),e.TgZ(2,"div",15),e._UZ(3,"input",133),e.TgZ(4,"label",134),e.SDv(5,135),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function ro(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,139),e.qZA())}function lo(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,140),e.qZA())}function co(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",136),e.SDv(2,137),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",138),e.YNc(5,ro,2,0,"span",13),e.YNc(6,lo,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.userForm.showError("bucket_quota_max_size",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("bucket_quota_max_size",_,"quotaMaxSize"))}}function uo(t,o){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"div",14),e.TgZ(2,"div",15),e._UZ(3,"input",141),e.TgZ(4,"label",142),e.SDv(5,143),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function Ro(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,147),e.qZA())}function go(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,148),e.qZA())}function Eo(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",144),e.SDv(2,145),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",146),e.YNc(5,Ro,2,0,"span",13),e.YNc(6,go,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.userForm.showError("bucket_quota_max_objects",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("bucket_quota_max_objects",_,"min"))}}const Je=function(t){return{required:t}};function To(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",12),e.YNc(14,Pn,2,0,"span",13),e.YNc(15,Gn,2,0,"span",13),e.YNc(16,Nn,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(17,"div",8),e.TgZ(18,"div",14),e.TgZ(19,"div",15),e.TgZ(20,"input",16),e.NdJ("click",function(){return e.CHM(_),e.oxw().updateFieldsWhenTenanted()}),e.qZA(),e.TgZ(21,"label",17),e.SDv(22,18),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(23,Wn,7,3,"div",19),e.TgZ(24,"div",8),e.TgZ(25,"label",20),e.SDv(26,21),e.qZA(),e.TgZ(27,"div",11),e._UZ(28,"input",22),e.YNc(29,Zn,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(30,"div",8),e.TgZ(31,"label",23),e.SDv(32,24),e.qZA(),e.TgZ(33,"div",11),e._UZ(34,"input",25),e.YNc(35,$n,2,0,"span",13),e.YNc(36,hn,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(37,"div",8),e.TgZ(38,"label",26),e.SDv(39,27),e.qZA(),e.TgZ(40,"div",11),e.TgZ(41,"select",28),e.NdJ("change",function(i){return e.CHM(_),e.oxw().onMaxBucketsModeChange(i.target.value)}),e.TgZ(42,"option",29),e.SDv(43,30),e.qZA(),e.TgZ(44,"option",31),e.SDv(45,32),e.qZA(),e.TgZ(46,"option",33),e.SDv(47,34),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(48,Fn,6,2,"div",19),e.TgZ(49,"div",8),e.TgZ(50,"div",14),e.TgZ(51,"div",15),e._UZ(52,"input",35),e.TgZ(53,"label",36),e.SDv(54,37),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(55,qn,11,2,"fieldset",38),e.YNc(56,Bn,16,11,"fieldset",38),e.YNc(57,Qn,25,13,"fieldset",38),e.YNc(58,Vn,18,19,"fieldset",38),e.TgZ(59,"fieldset"),e.TgZ(60,"legend"),e.SDv(61,39),e.qZA(),e.TgZ(62,"div",8),e.TgZ(63,"div",14),e.TgZ(64,"div",15),e._UZ(65,"input",40),e.TgZ(66,"label",41),e.SDv(67,42),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(68,jn,6,0,"div",19),e.YNc(69,to,7,2,"div",19),e.YNc(70,no,6,0,"div",19),e.YNc(71,so,7,2,"div",19),e.qZA(),e.TgZ(72,"fieldset"),e.TgZ(73,"legend"),e.SDv(74,43),e.qZA(),e.TgZ(75,"div",8),e.TgZ(76,"div",14),e.TgZ(77,"div",15),e._UZ(78,"input",44),e.TgZ(79,"label",45),e.SDv(80,46),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(81,ao,6,0,"div",19),e.YNc(82,co,7,2,"div",19),e.YNc(83,uo,6,0,"div",19),e.YNc(84,Eo,7,2,"div",19),e.qZA(),e.qZA(),e.TgZ(85,"div",47),e.TgZ(86,"cd-form-button-panel",48),e.NdJ("submitActionEvent",function(){return e.CHM(_),e.oxw().onSubmit()}),e.ALo(87,"titlecase"),e.ALo(88,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.MAs(2),n=e.oxw();e.xp6(1),e.Q6J("formGroup",n.userForm),e.xp6(6),e.pQV(e.lcZ(6,29,n.action))(e.lcZ(7,31,n.resource)),e.QtT(5),e.xp6(3),e.Q6J("ngClass",e.VKq(37,Je,!n.editing)),e.xp6(3),e.Q6J("readonly",n.editing),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("user_id",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("user_id",_,"pattern")),e.xp6(1),e.Q6J("ngIf",!n.userForm.getValue("show_tenant")&&n.userForm.showError("user_id",_,"notUnique")),e.xp6(4),e.Q6J("readonly",!0),e.xp6(3),e.Q6J("ngIf",n.userForm.getValue("show_tenant")),e.xp6(2),e.Q6J("ngClass",e.VKq(39,Je,!n.editing)),e.xp6(4),e.Q6J("ngIf",n.userForm.showError("display_name",_,"required")),e.xp6(6),e.Q6J("ngIf",n.userForm.showError("email",_,"email")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("email",_,"notUnique")),e.xp6(12),e.Q6J("ngIf",1==n.userForm.get("max_buckets_mode").value),e.xp6(7),e.Q6J("ngIf",!n.editing),e.xp6(1),e.Q6J("ngIf",n.editing),e.xp6(1),e.Q6J("ngIf",n.editing),e.xp6(1),e.Q6J("ngIf",n.editing),e.xp6(10),e.Q6J("ngIf",n.userForm.controls.user_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.user_quota_enabled.value&&!n.userForm.getValue("user_quota_max_size_unlimited")),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.user_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.user_quota_enabled.value&&!n.userForm.getValue("user_quota_max_objects_unlimited")),e.xp6(10),e.Q6J("ngIf",n.userForm.controls.bucket_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.bucket_quota_enabled.value&&!n.userForm.getValue("bucket_quota_max_size_unlimited")),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.bucket_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.bucket_quota_enabled.value&&!n.userForm.getValue("bucket_quota_max_objects_unlimited")),e.xp6(2),e.Q6J("form",n.userForm)("submitText",e.lcZ(87,33,n.action)+" "+e.lcZ(88,35,n.resource))}}let Ve=(()=>{class t extends Ie.E{constructor(_,n,i,s,c,d,E){super(),this.formBuilder=_,this.route=n,this.router=i,this.rgwUserService=s,this.modalService=c,this.notificationService=d,this.actionLabels=E,this.editing=!1,this.submitObservables=[],this.icons=D.P,this.subusers=[],this.s3Keys=[],this.swiftKeys=[],this.capabilities=[],this.showTenant=!1,this.previousTenant=null,this.resource="user",this.subuserLabel="subuser",this.s3keyLabel="S3 Key",this.capabilityLabel="capability",this.editing=this.router.url.startsWith(`/rgw/user/${A.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.createForm()}createForm(){this.userForm=this.formBuilder.group({user_id:[null,[a.kI.required,a.kI.pattern(/^[a-zA-Z0-9!@#%^&*()_-]+$/)],this.editing?[]:[m.h.unique(this.rgwUserService.exists,this.rgwUserService,()=>this.userForm.getValue("tenant"))]],show_tenant:[this.editing],tenant:[null,[a.kI.pattern(/^[a-zA-Z0-9!@#%^&*()_-]+$/)],this.editing?[]:[m.h.unique(this.rgwUserService.exists,this.rgwUserService,()=>this.userForm.getValue("user_id"),!0)]],display_name:[null,[a.kI.required]],email:[null,[m.h.email],[m.h.unique(this.rgwUserService.emailExists,this.rgwUserService)]],max_buckets_mode:[1],max_buckets:[1e3,[m.h.requiredIf({max_buckets_mode:"1"}),m.h.number(!1)]],suspended:[!1],generate_key:[!0],access_key:[null,[m.h.requiredIf({generate_key:!1})]],secret_key:[null,[m.h.requiredIf({generate_key:!1})]],user_quota_enabled:[!1],user_quota_max_size_unlimited:[!0],user_quota_max_size:[null,[m.h.composeIf({user_quota_enabled:!0,user_quota_max_size_unlimited:!1},[a.kI.required,this.quotaMaxSizeValidator])]],user_quota_max_objects_unlimited:[!0],user_quota_max_objects:[null,[m.h.requiredIf({user_quota_enabled:!0,user_quota_max_objects_unlimited:!1})]],bucket_quota_enabled:[!1],bucket_quota_max_size_unlimited:[!0],bucket_quota_max_size:[null,[m.h.composeIf({bucket_quota_enabled:!0,bucket_quota_max_size_unlimited:!1},[a.kI.required,this.quotaMaxSizeValidator])]],bucket_quota_max_objects_unlimited:[!0],bucket_quota_max_objects:[null,[m.h.requiredIf({bucket_quota_enabled:!0,bucket_quota_max_objects_unlimited:!1})]]})}ngOnInit(){this.route.params.subscribe(_=>{if(!_.hasOwnProperty("uid"))return void this.loadingReady();const n=decodeURIComponent(_.uid),i=[];i.push(this.rgwUserService.get(n)),i.push(this.rgwUserService.getQuota(n)),(0,Y.D)(i).subscribe(s=>{const c=u().clone(this.userForm.value);let d=u().pick(s[0],u().keys(this.userForm.value));switch(d.max_buckets){case-1:d.max_buckets_mode=-1,d.max_buckets="";break;case 0:d.max_buckets_mode=0,d.max_buckets="";break;default:d.max_buckets_mode=1}["user","bucket"].forEach(g=>{const C=s[1][g+"_quota"];d[g+"_quota_enabled"]=C.enabled,C.max_size<0?(d[g+"_quota_max_size_unlimited"]=!0,d[g+"_quota_max_size"]=null):(d[g+"_quota_max_size_unlimited"]=!1,d[g+"_quota_max_size"]=`${C.max_size} B`),C.max_objects<0?(d[g+"_quota_max_objects_unlimited"]=!0,d[g+"_quota_max_objects"]=null):(d[g+"_quota_max_objects_unlimited"]=!1,d[g+"_quota_max_objects"]=C.max_objects)}),d=u().merge(c,d),this.userForm.setValue(d),this.subusers=s[0].subusers,this.s3Keys=s[0].keys,this.swiftKeys=s[0].swift_keys;const E={"read, write":"*"};s[0].caps.forEach(g=>{g.perm in E&&(g.perm=E[g.perm])}),this.capabilities=s[0].caps,this.loadingReady()},()=>{this.loadingError()})})}goToListView(){this.router.navigate(["/rgw/user"])}onSubmit(){let _;if(this.userForm.pristine)return void this.goToListView();const n=this.getUID();if(this.editing){if(this._isGeneralDirty()){const i=this._getUpdateArgs();this.submitObservables.push(this.rgwUserService.update(n,i))}_="Updated Object Gateway user '" + n + "'"}else{const i=this._getCreateArgs();this.submitObservables.push(this.rgwUserService.create(i)),_="Created Object Gateway user '" + n + "'"}if(this._isUserQuotaDirty()){const i=this._getUserQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(n,i))}if(this._isBucketQuotaDirty()){const i=this._getBucketQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(n,i))}(0,Bt.z)(...this.submitObservables).subscribe({error:()=>{this.userForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.notificationService.show(Ae.k.success,_),this.goToListView()}})}updateFieldsWhenTenanted(){this.showTenant=this.userForm.getValue("show_tenant"),this.showTenant?(this.userForm.get("user_id").markAsTouched(),this.previousTenant=this.userForm.get("tenant").value,this.userForm.get("tenant").patchValue(null)):(this.userForm.get("user_id").markAsUntouched(),this.userForm.get("tenant").patchValue(this.previousTenant))}getUID(){var _;let n=this.userForm.getValue("user_id");const i=null===(_=this.userForm)||void 0===_?void 0:_.getValue("tenant");return i&&i.length>0&&(n=`${this.userForm.getValue("tenant")}$${n}`),n}quotaMaxSizeValidator(_){return(0,m.P)(_.value)?null:null===RegExp("^(\\d+(\\.\\d+)?)\\s*(B|K(B|iB)?|M(B|iB)?|G(B|iB)?|T(B|iB)?)?$","i").exec(_.value)||(new Ge.H).toBytes(_.value)<1024?{quotaMaxSize:!0}:null}setSubuser(_,n){const i={"full-control":"full","read-write":"readwrite"},s=this.getUID();this.submitObservables.push(this.rgwUserService.createSubuser(s,{subuser:_.id,access:_.permissions in i?i[_.permissions]:_.permissions,key_type:"swift",secret_key:_.secret_key,generate_secret:_.generate_secret?"true":"false"})),u().isNumber(n)?this.subusers[n]=_:(this.subusers.push(_),this.swiftKeys.push({user:_.id,secret_key:_.generate_secret?"Apply your changes first...":_.secret_key})),this.userForm.markAsDirty()}deleteSubuser(_){const n=this.subusers[_];this.submitObservables.push(this.rgwUserService.deleteSubuser(this.getUID(),n.id)),this.s3Keys=this.s3Keys.filter(i=>i.user!==n.id),this.swiftKeys=this.swiftKeys.filter(i=>i.user!==n.id),this.subusers.splice(_,1),this.userForm.markAsDirty()}setCapability(_,n){const i=this.getUID();if(u().isNumber(n)){const s=this.capabilities[n];this.submitObservables.push(this.rgwUserService.deleteCapability(i,s.type,s.perm)),this.submitObservables.push(this.rgwUserService.addCapability(i,_.type,_.perm)),this.capabilities[n]=_}else this.submitObservables.push(this.rgwUserService.addCapability(i,_.type,_.perm)),this.capabilities=[...this.capabilities,_];this.userForm.markAsDirty()}deleteCapability(_){const n=this.capabilities[_];this.submitObservables.push(this.rgwUserService.deleteCapability(this.getUID(),n.type,n.perm)),this.capabilities.splice(_,1),this.capabilities=[...this.capabilities],this.userForm.markAsDirty()}hasAllCapabilities(_){return!u().difference(ze.getAll(),u().map(_,"type")).length}setS3Key(_,n){if(!u().isNumber(n)){const i=_.user.match(/([^:]+)(:(.+))?/),s=i[1],c={subuser:i[2]?i[3]:"",generate_key:_.generate_key?"true":"false"};"false"===c.generate_key&&(u().isNil(_.access_key)||(c.access_key=_.access_key),u().isNil(_.secret_key)||(c.secret_key=_.secret_key)),this.submitObservables.push(this.rgwUserService.addS3Key(s,c)),this.s3Keys.push({user:_.user,access_key:_.generate_key?"Apply your changes first...":_.access_key,secret_key:_.generate_key?"Apply your changes first...":_.secret_key})}this.userForm.markAsDirty()}deleteS3Key(_){const n=this.s3Keys[_];this.submitObservables.push(this.rgwUserService.deleteS3Key(this.getUID(),n.access_key)),this.s3Keys.splice(_,1),this.userForm.markAsDirty()}showSubuserModal(_){const n=this.getUID(),i=this.modalService.show(mn);if(u().isNumber(_)){const s=this.subusers[_];i.componentInstance.setEditing(),i.componentInstance.setValues(n,s.id,s.permissions)}else i.componentInstance.setEditing(!1),i.componentInstance.setValues(n),i.componentInstance.setSubusers(this.subusers);i.componentInstance.submitAction.subscribe(s=>{this.setSubuser(s,_)})}showS3KeyModal(_){const n=this.modalService.show(Qe);if(u().isNumber(_)){const i=this.s3Keys[_];n.componentInstance.setViewing(),n.componentInstance.setValues(i.user,i.access_key,i.secret_key)}else{const i=this._getS3KeyUserCandidates();n.componentInstance.setViewing(!1),n.componentInstance.setUserCandidates(i),n.componentInstance.submitAction.subscribe(s=>{this.setS3Key(s)})}}showSwiftKeyModal(_){const n=this.modalService.show(Ye),i=this.swiftKeys[_];n.componentInstance.setValues(i.user,i.secret_key)}showCapabilityModal(_){const n=this.modalService.show(en);if(u().isNumber(_)){const i=this.capabilities[_];n.componentInstance.setEditing(),n.componentInstance.setValues(i.type,i.perm)}else n.componentInstance.setEditing(!1),n.componentInstance.setCapabilities(this.capabilities);n.componentInstance.submitAction.subscribe(i=>{this.setCapability(i,_)})}_isGeneralDirty(){return["display_name","email","max_buckets_mode","max_buckets","suspended"].some(_=>this.userForm.get(_).dirty)}_isUserQuotaDirty(){return["user_quota_enabled","user_quota_max_size_unlimited","user_quota_max_size","user_quota_max_objects_unlimited","user_quota_max_objects"].some(_=>this.userForm.get(_).dirty)}_isBucketQuotaDirty(){return["bucket_quota_enabled","bucket_quota_max_size_unlimited","bucket_quota_max_size","bucket_quota_max_objects_unlimited","bucket_quota_max_objects"].some(_=>this.userForm.get(_).dirty)}_getCreateArgs(){const _={uid:this.getUID(),display_name:this.userForm.getValue("display_name"),suspended:this.userForm.getValue("suspended"),email:"",max_buckets:this.userForm.getValue("max_buckets"),generate_key:this.userForm.getValue("generate_key"),access_key:"",secret_key:""},n=this.userForm.getValue("email");u().isString(n)&&n.length>0&&u().merge(_,{email:n}),this.userForm.getValue("generate_key")||u().merge(_,{generate_key:!1,access_key:this.userForm.getValue("access_key"),secret_key:this.userForm.getValue("secret_key")});const s=parseInt(this.userForm.getValue("max_buckets_mode"),10);return u().includes([-1,0],s)&&u().merge(_,{max_buckets:s}),_}_getUpdateArgs(){const _={},n=["display_name","email","max_buckets","suspended"];for(const s of n)_[s]=this.userForm.getValue(s);const i=parseInt(this.userForm.getValue("max_buckets_mode"),10);return u().includes([-1,0],i)&&(_.max_buckets=i),_}_getUserQuotaArgs(){const _={quota_type:"user",enabled:this.userForm.getValue("user_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("user_quota_max_size_unlimited")){const n=(new Ge.H).toBytes(this.userForm.getValue("user_quota_max_size"));_.max_size_kb=(n/1024).toFixed(0)}return this.userForm.getValue("user_quota_max_objects_unlimited")||(_.max_objects=this.userForm.getValue("user_quota_max_objects")),_}_getBucketQuotaArgs(){const _={quota_type:"bucket",enabled:this.userForm.getValue("bucket_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("bucket_quota_max_size_unlimited")){const n=(new Ge.H).toBytes(this.userForm.getValue("bucket_quota_max_size"));_.max_size_kb=(n/1024).toFixed(0)}return this.userForm.getValue("bucket_quota_max_objects_unlimited")||(_.max_objects=this.userForm.getValue("bucket_quota_max_objects")),_}_getS3KeyUserCandidates(){let _=[];const n=this.getUID();return u().isString(n)&&!u().isEmpty(n)&&_.push(n),this.subusers.forEach(i=>{_.push(i.id)}),this.s3Keys.forEach(i=>{_.push(i.user)}),_=u().uniq(_),_}onMaxBucketsModeChange(_){"1"===_&&(this.userForm.get("max_buckets").valid||this.userForm.patchValue({max_buckets:1e3}))}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(J.O),e.Y36(w.gz),e.Y36(w.F0),e.Y36(O),e.Y36(Te.Z),e.Y36(ve.g),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F,T,x,y,S,_e,te,ne,oe,ie,se,ae,re,le,ce,de,ue,Re,R,__,t_,n_,o_,i_,s_,a_,r_,l_,c_,d_,u_,R_,g_,E_,T_,S_,f_,C_,p_,M_,m_,A_,b_,P_,G_;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="User ID",n="Show Tenant",i="Full name",s="Email address",c="Max. buckets",d="Disabled",E="Unlimited",g="Custom",C="Suspended",b="User quota",P="Enabled",G="Bucket quota",N="Enabled",p="This field is required.",U="The value is not valid.",W="The chosen user ID is already in use.",Z="Tenant",$="The value is not valid.",h="The chosen user ID exists in this tenant.",I="This field is required.",v="This is not a valid email address.",F="The chosen email address is already in use.",T="This field is required.",x="The entered value must be >= 1.",y="S3 key",S="Auto-generate key",_e="Access key",te="This field is required.",ne="Secret key",oe="This field is required.",ie="Subusers",se="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",ae="There are no subusers.",re="Edit",le="Delete",ce="Keys",de="S3",ue="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",Re="Swift",R="There are no keys.",__="Show",t_="Delete",n_="There are no keys.",o_="Show",i_="Capabilities",s_="All capabilities are already added.",a_="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",r_="There are no capabilities.",l_="Edit",c_="Delete",d_="Unlimited size",u_="Max. size",R_="This field is required.",g_="The value is not valid.",E_="Unlimited objects",T_="Max. objects",S_="This field is required.",f_="The entered value must be >= 0.",C_="Unlimited size",p_="Max. size",M_="This field is required.",m_="The value is not valid.",A_="Unlimited objects",b_="Max. objects",P_="This field is required.",G_="The entered value must be >= 0.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],o,[1,"card-body"],[1,"form-group","row"],["for","user_id",1,"cd-col-form-label",3,"ngClass"],_,[1,"cd-col-form-input"],["id","user_id","type","text","formControlName","user_id",1,"form-control",3,"readonly"],["class","invalid-feedback",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","show_tenant","type","checkbox","formControlName","show_tenant",1,"custom-control-input",3,"readonly","click"],["for","show_tenant",1,"custom-control-label"],n,["class","form-group row",4,"ngIf"],["for","display_name",1,"cd-col-form-label",3,"ngClass"],i,["id","display_name","type","text","formControlName","display_name",1,"form-control"],["for","email",1,"cd-col-form-label"],s,["id","email","type","text","formControlName","email",1,"form-control"],["for","max_buckets_mode",1,"cd-col-form-label"],c,["formControlName","max_buckets_mode","name","max_buckets_mode","id","max_buckets_mode",1,"form-control","custom-select",3,"change"],["value","-1"],d,["value","0"],E,["value","1"],g,["id","suspended","type","checkbox","formControlName","suspended",1,"custom-control-input"],["for","suspended",1,"custom-control-label"],C,[4,"ngIf"],b,["id","user_quota_enabled","type","checkbox","formControlName","user_quota_enabled",1,"custom-control-input"],["for","user_quota_enabled",1,"custom-control-label"],P,G,["id","bucket_quota_enabled","type","checkbox","formControlName","bucket_quota_enabled",1,"custom-control-input"],["for","bucket_quota_enabled",1,"custom-control-label"],N,[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],p,U,W,["for","tenant",1,"cd-col-form-label"],Z,["id","tenant","type","text","formControlName","tenant","autofocus","",1,"form-control",3,"readonly"],$,h,I,v,F,[1,"cd-col-form-label"],["id","max_buckets","type","number","formControlName","max_buckets","min","1",1,"form-control"],T,x,y,["id","generate_key","type","checkbox","formControlName","generate_key",1,"custom-control-input"],["for","generate_key",1,"custom-control-label"],S,["for","access_key",1,"cd-col-form-label","required"],_e,[1,"input-group"],["id","access_key","type","password","formControlName","access_key",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","access_key",1,"btn","btn-light"],["source","access_key"],te,["for","secret_key",1,"cd-col-form-label","required"],ne,["id","secret_key","type","password","formControlName","secret_key",1,"form-control"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],oe,ie,[1,"row"],["class","no-border",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"col-12"],["type","button",1,"btn","btn-light","float-right","tc_addSubuserButton",3,"click"],[3,"ngClass"],se,[1,"help-block"],[1,"no-border"],[1,"form-text","text-muted"],ae,[1,"input-group-prepend"],[1,"input-group-text"],["type","text","readonly","",1,"cd-form-control",3,"value"],[1,"input-group-prepend","border-left-0","border-right-0"],["type","button","ngbTooltip",re,1,"btn","btn-light","tc_showSubuserButton",3,"click"],["type","button","ngbTooltip",le,1,"btn","btn-light","tc_deleteSubuserButton",3,"click"],ce,de,["type","button",1,"btn","btn-light","float-right","tc_addS3KeyButton",3,"click"],ue,Re,R,["type","button","ngbTooltip",__,1,"btn","btn-light","tc_showS3KeyButton",3,"click"],["type","button","ngbTooltip",t_,1,"btn","btn-light","tc_deleteS3KeyButton",3,"click"],n_,["type","button","ngbTooltip",o_,1,"btn","btn-light","tc_showSwiftKeyButton",3,"click"],i_,["type","button","ngbTooltip",s_,"triggers","pointerenter:pointerleave",1,"btn","btn-light","float-right","tc_addCapButton",3,"disabled","disableTooltip","click"],a_,r_,["type","button","ngbTooltip",l_,1,"btn","btn-light","tc_editCapButton",3,"click"],["type","button","ngbTooltip",c_,1,"btn","btn-light","tc_deleteCapButton",3,"click"],["id","user_quota_max_size_unlimited","type","checkbox","formControlName","user_quota_max_size_unlimited",1,"custom-control-input"],["for","user_quota_max_size_unlimited",1,"custom-control-label"],d_,["for","user_quota_max_size",1,"cd-col-form-label","required"],u_,["id","user_quota_max_size","type","text","formControlName","user_quota_max_size","cdDimlessBinary","",1,"form-control"],R_,g_,["id","user_quota_max_objects_unlimited","type","checkbox","formControlName","user_quota_max_objects_unlimited",1,"custom-control-input"],["for","user_quota_max_objects_unlimited",1,"custom-control-label"],E_,["for","user_quota_max_objects",1,"cd-col-form-label","required"],T_,["id","user_quota_max_objects","type","number","formControlName","user_quota_max_objects","min","0",1,"form-control"],S_,f_,["id","bucket_quota_max_size_unlimited","type","checkbox","formControlName","bucket_quota_max_size_unlimited",1,"custom-control-input"],["for","bucket_quota_max_size_unlimited",1,"custom-control-label"],C_,["for","bucket_quota_max_size",1,"cd-col-form-label","required"],p_,["id","bucket_quota_max_size","type","text","formControlName","bucket_quota_max_size","cdDimlessBinary","",1,"form-control"],M_,m_,["id","bucket_quota_max_objects_unlimited","type","checkbox","formControlName","bucket_quota_max_objects_unlimited",1,"custom-control-input"],["for","bucket_quota_max_objects_unlimited",1,"custom-control-label"],A_,["for","bucket_quota_max_objects",1,"cd-col-form-label","required"],b_,["id","bucket_quota_max_objects","type","number","formControlName","bucket_quota_max_objects","min","0",1,"form-control"],P_,G_]},template:function(_,n){1&_&&e.YNc(0,To,89,41,"div",0),2&_&&e.Q6J("cdFormLoading",n.loading)},directives:[Fe.y,a._Y,a.JL,V.V,a.sg,H.P,f.mk,q.o,a.Fj,X.b,a.JJ,a.u,f.O5,a.Wl,a.EJ,a.YN,a.Kr,ee.p,j.U,a.wV,a.qQ,Ce.C,pe.s,f.sg,M._L,bn.Q],pipes:[f.rS,K.m,Ue.i],styles:[""]}),t})();var je=r(99466),So=r(78877),fo=r(86969);const Co=["accessKeyTpl"],po=["secretKeyTpl"];function Mo(t,o){if(1&t&&(e.TgZ(0,"tr"),e.TgZ(1,"td",15),e.SDv(2,20),e.qZA(),e.TgZ(3,"td"),e._uU(4),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(4),e.Oqu(_.user.email)}}function mo(t,o){if(1&t&&(e.TgZ(0,"div"),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.xp6(1),e.AsE(" ",_.id," (",_.permissions,") ")}}function Ao(t,o){if(1&t&&(e.TgZ(0,"tr"),e.TgZ(1,"td",15),e.SDv(2,21),e.qZA(),e.TgZ(3,"td"),e.YNc(4,mo,2,2,"div",22),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(4),e.Q6J("ngForOf",_.user.subusers)}}function bo(t,o){if(1&t&&(e.TgZ(0,"div"),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.xp6(1),e.AsE(" ",_.type," (",_.perm,") ")}}function Po(t,o){if(1&t&&(e.TgZ(0,"tr"),e.TgZ(1,"td",15),e.SDv(2,23),e.qZA(),e.TgZ(3,"td"),e.YNc(4,bo,2,2,"div",22),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(4),e.Q6J("ngForOf",_.user.caps)}}function Go(t,o){if(1&t&&(e.TgZ(0,"tr"),e.TgZ(1,"td",15),e.SDv(2,24),e.qZA(),e.TgZ(3,"td"),e._uU(4),e.ALo(5,"join"),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(4),e.Oqu(e.lcZ(5,1,_.user.mfa_ids))}}function No(t,o){1&t&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function Oo(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,29),e.qZA())}function Uo(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&t){const _=e.oxw(5);e.xp6(1),e.hij(" ",e.lcZ(2,1,_.user.user_quota.max_size)," ")}}function Wo(t,o){1&t&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function Zo(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,30),e.qZA())}function $o(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.qZA()),2&t){const _=e.oxw(5);e.xp6(1),e.hij(" ",_.user.user_quota.max_objects," ")}}function ho(t,o){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"legend"),e.SDv(2,25),e.qZA(),e.TgZ(3,"table",9),e.TgZ(4,"tbody"),e.TgZ(5,"tr"),e.TgZ(6,"td",10),e.SDv(7,26),e.qZA(),e.TgZ(8,"td",12),e._uU(9),e.ALo(10,"booleanText"),e.qZA(),e.qZA(),e.TgZ(11,"tr"),e.TgZ(12,"td",15),e.SDv(13,27),e.qZA(),e.YNc(14,No,2,0,"td",0),e.YNc(15,Oo,2,0,"td",0),e.YNc(16,Uo,3,3,"td",0),e.qZA(),e.TgZ(17,"tr"),e.TgZ(18,"td",15),e.SDv(19,28),e.qZA(),e.YNc(20,Wo,2,0,"td",0),e.YNc(21,Zo,2,0,"td",0),e.YNc(22,$o,2,1,"td",0),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(9),e.Oqu(e.lcZ(10,7,_.user.user_quota.enabled)),e.xp6(5),e.Q6J("ngIf",!_.user.user_quota.enabled),e.xp6(1),e.Q6J("ngIf",_.user.user_quota.enabled&&_.user.user_quota.max_size<=-1),e.xp6(1),e.Q6J("ngIf",_.user.user_quota.enabled&&_.user.user_quota.max_size>-1),e.xp6(4),e.Q6J("ngIf",!_.user.user_quota.enabled),e.xp6(1),e.Q6J("ngIf",_.user.user_quota.enabled&&_.user.user_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",_.user.user_quota.enabled&&_.user.user_quota.max_objects>-1)}}function Io(t,o){1&t&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function vo(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,35),e.qZA())}function Fo(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&t){const _=e.oxw(5);e.xp6(1),e.hij(" ",e.lcZ(2,1,_.user.bucket_quota.max_size)," ")}}function Lo(t,o){1&t&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function Do(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,36),e.qZA())}function xo(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.qZA()),2&t){const _=e.oxw(5);e.xp6(1),e.hij(" ",_.user.bucket_quota.max_objects," ")}}function yo(t,o){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"legend"),e.SDv(2,31),e.qZA(),e.TgZ(3,"table",9),e.TgZ(4,"tbody"),e.TgZ(5,"tr"),e.TgZ(6,"td",10),e.SDv(7,32),e.qZA(),e.TgZ(8,"td",12),e._uU(9),e.ALo(10,"booleanText"),e.qZA(),e.qZA(),e.TgZ(11,"tr"),e.TgZ(12,"td",15),e.SDv(13,33),e.qZA(),e.YNc(14,Io,2,0,"td",0),e.YNc(15,vo,2,0,"td",0),e.YNc(16,Fo,3,3,"td",0),e.qZA(),e.TgZ(17,"tr"),e.TgZ(18,"td",15),e.SDv(19,34),e.qZA(),e.YNc(20,Lo,2,0,"td",0),e.YNc(21,Do,2,0,"td",0),e.YNc(22,xo,2,1,"td",0),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(9),e.Oqu(e.lcZ(10,7,_.user.bucket_quota.enabled)),e.xp6(5),e.Q6J("ngIf",!_.user.bucket_quota.enabled),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota.enabled&&_.user.bucket_quota.max_size<=-1),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota.enabled&&_.user.bucket_quota.max_size>-1),e.xp6(4),e.Q6J("ngIf",!_.user.bucket_quota.enabled),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota.enabled&&_.user.bucket_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota.enabled&&_.user.bucket_quota.max_objects>-1)}}function qo(t,o){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"table",9),e.TgZ(2,"tbody"),e.TgZ(3,"tr"),e.TgZ(4,"td",10),e.SDv(5,11),e.qZA(),e.TgZ(6,"td",12),e._uU(7),e.qZA(),e.qZA(),e.TgZ(8,"tr"),e.TgZ(9,"td",10),e.SDv(10,13),e.qZA(),e.TgZ(11,"td",12),e._uU(12),e.qZA(),e.qZA(),e.TgZ(13,"tr"),e.TgZ(14,"td",10),e.SDv(15,14),e.qZA(),e.TgZ(16,"td",12),e._uU(17),e.qZA(),e.qZA(),e.TgZ(18,"tr"),e.TgZ(19,"td",15),e.SDv(20,16),e.qZA(),e.TgZ(21,"td"),e._uU(22),e.qZA(),e.qZA(),e.YNc(23,Mo,5,1,"tr",0),e.TgZ(24,"tr"),e.TgZ(25,"td",15),e.SDv(26,17),e.qZA(),e.TgZ(27,"td"),e._uU(28),e.ALo(29,"booleanText"),e.qZA(),e.qZA(),e.TgZ(30,"tr"),e.TgZ(31,"td",15),e.SDv(32,18),e.qZA(),e.TgZ(33,"td"),e._uU(34),e.ALo(35,"booleanText"),e.qZA(),e.qZA(),e.TgZ(36,"tr"),e.TgZ(37,"td",15),e.SDv(38,19),e.qZA(),e.TgZ(39,"td"),e._uU(40),e.ALo(41,"map"),e.qZA(),e.qZA(),e.YNc(42,Ao,5,1,"tr",0),e.YNc(43,Po,5,1,"tr",0),e.YNc(44,Go,6,3,"tr",0),e.qZA(),e.qZA(),e.YNc(45,ho,23,9,"div",0),e.YNc(46,yo,23,9,"div",0),e.qZA()),2&t){const _=e.oxw(3);e.xp6(7),e.Oqu(_.user.tenant),e.xp6(5),e.Oqu(_.user.user_id),e.xp6(5),e.Oqu(_.user.uid),e.xp6(5),e.Oqu(_.user.display_name),e.xp6(1),e.Q6J("ngIf",null==_.user.email?null:_.user.email.length),e.xp6(5),e.Oqu(e.lcZ(29,13,_.user.suspended)),e.xp6(6),e.Oqu(e.lcZ(35,15,"true"===_.user.system)),e.xp6(6),e.Oqu(e.xi3(41,17,_.user.max_buckets,_.maxBucketsMap)),e.xp6(2),e.Q6J("ngIf",_.user.subusers&&_.user.subusers.length),e.xp6(1),e.Q6J("ngIf",_.user.caps&&_.user.caps.length),e.xp6(1),e.Q6J("ngIf",null==_.user.mfa_ids?null:_.user.mfa_ids.length),e.xp6(1),e.Q6J("ngIf",_.user.user_quota),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota)}}function wo(t,o){if(1&t&&e.YNc(0,qo,47,20,"div",0),2&t){const _=e.oxw(2);e.Q6J("ngIf",_.user)}}const ko=function(t){return[t]};function Bo(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table",39),e.NdJ("updateSelection",function(i){return e.CHM(_),e.oxw(3).updateKeysSelection(i)}),e.TgZ(1,"div",40),e.TgZ(2,"div",41),e.TgZ(3,"button",42),e.NdJ("click",function(){return e.CHM(_),e.oxw(3).showKeyModal()}),e._UZ(4,"i",43),e.ynx(5),e.SDv(6,44),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(3);e.Q6J("data",_.keys)("columns",_.keysColumns),e.xp6(3),e.Q6J("disabled",!_.keysSelection.hasSingleSelection),e.xp6(1),e.Q6J("ngClass",e.VKq(4,ko,_.icons.show))}}function Ho(t,o){1&t&&(e.TgZ(0,"li",37),e.TgZ(1,"a",4),e.SDv(2,38),e.qZA(),e.YNc(3,Bo,7,6,"ng-template",6),e.qZA())}function Xo(t,o){if(1&t&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,wo,1,1,"ng-template",6),e.qZA(),e.YNc(7,Ho,4,0,"li",7),e.qZA(),e._UZ(8,"div",8),e.BQk()),2&t){const _=e.MAs(2),n=e.oxw();e.xp6(7),e.Q6J("ngIf",n.keys.length),e.xp6(1),e.Q6J("ngbNavOutlet",_)}}let Ko=(()=>{class t{constructor(_,n){this.rgwUserService=_,this.modalService=n,this.keys=[],this.keysColumns=[],this.keysSelection=new Pe.r,this.icons=D.P}ngOnInit(){this.keysColumns=[{name:"Username",prop:"username",flexGrow:1},{name:"Type",prop:"type",flexGrow:1}],this.maxBucketsMap={"-1":"Disabled",0:"Unlimited"}}ngOnChanges(){this.selection&&(this.user=this.selection,this.user.subusers=u().sortBy(this.user.subusers,"id"),this.user.caps=u().sortBy(this.user.caps,"type"),this.rgwUserService.getQuota(this.user.uid).subscribe(_=>{u().extend(this.user,_)}),this.keys=[],this.user.keys&&this.user.keys.forEach(_=>{this.keys.push({id:this.keys.length+1,type:"S3",username:_.user,ref:_})}),this.user.swift_keys&&this.user.swift_keys.forEach(_=>{this.keys.push({id:this.keys.length+1,type:"Swift",username:_.user,ref:_})}),this.keys=u().sortBy(this.keys,"user"))}updateKeysSelection(_){this.keysSelection=_}showKeyModal(){const _=this.keysSelection.first(),n=this.modalService.show("S3"===_.type?Qe:Ye);switch(_.type){case"S3":n.componentInstance.setViewing(),n.componentInstance.setValues(_.ref.user,_.ref.access_key,_.ref.secret_key);break;case"Swift":n.componentInstance.setValues(_.ref.user,_.ref.secret_key)}}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(O),e.Y36(Te.Z))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-details"]],viewQuery:function(_,n){if(1&_&&(e.Gf(Co,5),e.Gf(po,5)),2&_){let i;e.iGM(i=e.CRH())&&(n.accessKeyTpl=i.first),e.iGM(i=e.CRH())&&(n.secretKeyTpl=i.first)}},inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F,T,x,y;return o="Details",_="Tenant",n="User ID",i="Username",s="Full name",c="Suspended",d="System",E="Maximum buckets",g="Email address",C="Subusers",b="Capabilities",P="MFAs(Id)",G="User quota",N="Enabled",p="Maximum size",U="Maximum objects",W="Unlimited",Z="Unlimited",$="Bucket quota",h="Enabled",I="Maximum size",v="Maximum objects",F="Unlimited",T="Unlimited",x="Keys",y="Show",[[4,"ngIf"],["ngbNav","","cdStatefulTab","rgw-user-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],o,["ngbNavContent",""],["ngbNavItem","keys",4,"ngIf"],[3,"ngbNavOutlet"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],_,[1,"w-75"],n,i,[1,"bold"],s,c,d,E,g,C,[4,"ngFor","ngForOf"],b,P,G,N,p,U,W,Z,$,h,I,v,F,T,["ngbNavItem","keys"],x,["columnMode","flex","selectionType","multi","forceIdentifier","true",3,"data","columns","updateSelection"],[1,"table-actions"],["dropdown","",1,"btn-group"],["type","button",1,"btn","btn-accent",3,"disabled","click"],[3,"ngClass"],y]},template:function(_,n){1&_&&e.YNc(0,Xo,9,2,"ng-container",0),2&_&&e.Q6J("ngIf",n.selection)},directives:[f.O5,M.Pz,Xe.m,M.nv,M.Vx,M.uN,M.tO,f.sg,z.a,q.o,f.mk],pipes:[Be.T,So.b,fo.A,qe.$],styles:[""]}),t})();const zo=["userSizeTpl"],Qo=["userObjectTpl"];function Yo(t,o){if(1&t&&e._UZ(0,"cd-usage-bar",8),2&t){const _=e.oxw().row;e.Q6J("total",_.user_quota.max_size)("used",_.stats.size_actual)}}function Jo(t,o){1&t&&e.SDv(0,9)}function Vo(t,o){if(1&t&&(e.YNc(0,Yo,1,2,"cd-usage-bar",6),e.YNc(1,Jo,1,0,"ng-template",null,7,e.W1O)),2&t){const _=o.row,n=e.MAs(2);e.Q6J("ngIf",_.user_quota.max_size>0&&_.user_quota.enabled)("ngIfElse",n)}}function jo(t,o){if(1&t&&e._UZ(0,"cd-usage-bar",12),2&t){const _=e.oxw().row;e.Q6J("total",_.user_quota.max_objects)("used",_.stats.num_objects)("isBinary",!1)}}function ei(t,o){1&t&&e.SDv(0,13)}function _i(t,o){if(1&t&&(e.YNc(0,jo,1,3,"cd-usage-bar",10),e.YNc(1,ei,1,0,"ng-template",null,11,e.W1O)),2&t){const _=o.row,n=e.MAs(2);e.Q6J("ngIf",_.user_quota.max_objects>0&&_.user_quota.enabled)("ngIfElse",n)}}let ni=(()=>{class t extends be.o{constructor(_,n,i,s,c,d){super(d),this.authStorageService=_,this.rgwUserService=n,this.modalService=i,this.urlBuilder=s,this.actionLabels=c,this.ngZone=d,this.columns=[],this.users=[],this.selection=new Pe.r}ngOnInit(){this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:"Username",prop:"uid",flexGrow:1},{name:"Tenant",prop:"tenant",flexGrow:1},{name:"Full name",prop:"display_name",flexGrow:1},{name:"Email address",prop:"email",flexGrow:1},{name:"Suspended",prop:"suspended",flexGrow:1,cellClass:"text-center",cellTransformation:je.e.checkIcon},{name:"Max. buckets",prop:"max_buckets",flexGrow:1,cellTransformation:je.e.map,customTemplateConfig:{"-1":"Disabled",0:"Unlimited"}},{name:"Capacity Limit %",prop:"size_usage",cellTemplate:this.userSizeTpl,flexGrow:.8},{name:"Object Limit %",prop:"object_usage",cellTemplate:this.userObjectTpl,flexGrow:.8}];const _=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().uid)}`;this.tableActions=[{permission:"create",icon:D.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:c=>!c.hasSelection},{permission:"update",icon:D.P.edit,routerLink:()=>this.urlBuilder.getEdit(_()),name:this.actionLabels.EDIT},{permission:"delete",icon:D.P.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:c=>c.hasMultiSelection}],this.setTableRefreshTimeout()}getUserList(_){this.setTableRefreshTimeout(),this.rgwUserService.list().subscribe(n=>{this.users=n},()=>{_.error()})}updateSelection(_){this.selection=_}deleteAction(){this.modalService.show(ye.M,{itemDescription:this.selection.hasSingleSelection?"user":"users",itemNames:this.selection.selected.map(_=>_.uid),submitActionObservable:()=>new xe.y(_=>{(0,Y.D)(this.selection.selected.map(n=>this.rgwUserService.delete(n.uid))).subscribe({error:n=>{_.error(n),this.table.refreshBtn()},complete:()=>{_.complete(),this.table.refreshBtn()}})})})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(Ee.j),e.Y36(O),e.Y36(Te.Z),e.Y36(Q.F),e.Y36(A.p4),e.Y36(e.R0b))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-list"]],viewQuery:function(_,n){if(1&_&&(e.Gf(z.a,7),e.Gf(zo,7),e.Gf(Qo,7)),2&_){let i;e.iGM(i=e.CRH())&&(n.table=i.first),e.iGM(i=e.CRH())&&(n.userSizeTpl=i.first),e.iGM(i=e.CRH())&&(n.userObjectTpl=i.first)}},features:[e._Bn([{provide:Q.F,useValue:new Q.F("rgw/user")}]),e.qOj],decls:8,vars:9,consts:function(){let o,_;return o="No Limit",_="No Limit",[["columnMode","flex","selectionType","multiClick","identifier","uid",3,"autoReload","data","columns","hasDetails","status","setExpandedRow","updateSelection","fetchData"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["userSizeTpl",""],["userObjectTpl",""],[3,"total","used",4,"ngIf","ngIfElse"],["noSizeQuota",""],[3,"total","used"],o,[3,"total","used","isBinary",4,"ngIf","ngIfElse"],["noObjectQuota",""],[3,"total","used","isBinary"],_]},template:function(_,n){1&_&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(s){return n.setExpandedRow(s)})("updateSelection",function(s){return n.updateSelection(s)})("fetchData",function(s){return n.getUserList(s)}),e._UZ(2,"cd-table-actions",2),e._UZ(3,"cd-rgw-user-details",3),e.qZA(),e.YNc(4,Vo,3,2,"ng-template",null,4,e.W1O),e.YNc(6,_i,3,2,"ng-template",null,5,e.W1O)),2&_&&(e.Q6J("autoReload",!1)("data",n.users)("columns",n.columns)("hasDetails",!0)("status",n.tableStatus),e.xp6(2),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("selection",n.expandedRow))},directives:[z.a,ke.K,Ko,f.O5,He.O],styles:[""]}),t})(),e_=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[[f.ez,N_.m,a.u5,a.UX,O_.B,M.Oz,w.Bz,M.HK,Ue.b]]}),t})();const oi=[{path:""},{path:"daemon",component:kt,data:{breadcrumbs:"Daemons"}},{path:"user",data:{breadcrumbs:"Users"},children:[{path:"",component:ni},{path:A.MQ.CREATE,component:Ve,data:{breadcrumbs:A.Qn.CREATE}},{path:`${A.MQ.EDIT}/:uid`,component:Ve,data:{breadcrumbs:A.Qn.EDIT}}]},{path:"bucket",data:{breadcrumbs:"Buckets"},children:[{path:"",component:Ot},{path:A.MQ.CREATE,component:De,data:{breadcrumbs:A.Qn.CREATE}},{path:`${A.MQ.EDIT}/:bid`,component:De,data:{breadcrumbs:A.Qn.EDIT}}]}];let ii=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[[e_,w.Bz.forChild(oi)]]}),t})()}}]);
\ No newline at end of file
--- /dev/null
+"use strict";(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[281],{59281:(si,Oe,r)=>{r.r(Oe),r.d(Oe,{RgwModule:()=>e_,RoutedRgwModule:()=>ii});var f=r(12057),a=r(24751),w=r(6283),M=r(38549),Ue=r(37496),A=r(79512),N_=r(44466),O_=r(66265),U_=r(23815),u=r.n(U_),Y=r(35758),Me=r(95152),We=r(33394),Ze=r(64762),$e=r(58497),me=r(25917),he=r(19773),W_=r(96736),Z_=r(5304),ge=r(20523),$_=r(93523),e=r(74788);let O=class{constructor(o,_){this.http=o,this.rgwDaemonService=_,this.url="api/rgw/user"}list(){return this.enumerate().pipe((0,he.zg)(o=>o.length>0?(0,Y.D)(o.map(_=>this.get(_))):(0,me.of)([])))}enumerate(){return this.rgwDaemonService.request(o=>this.http.get(this.url,{params:o}))}enumerateEmail(){return this.rgwDaemonService.request(o=>this.http.get(`${this.url}/get_emails`,{params:o}))}get(o){return this.rgwDaemonService.request(_=>this.http.get(`${this.url}/${o}`,{params:_}))}getQuota(o){return this.rgwDaemonService.request(_=>this.http.get(`${this.url}/${o}/quota`,{params:_}))}create(o){return this.rgwDaemonService.request(_=>(u().keys(o).forEach(n=>{_=_.append(n,o[n])}),this.http.post(this.url,null,{params:_})))}update(o,_){return this.rgwDaemonService.request(n=>(u().keys(_).forEach(i=>{n=n.append(i,_[i])}),this.http.put(`${this.url}/${o}`,null,{params:n})))}updateQuota(o,_){return this.rgwDaemonService.request(n=>(u().keys(_).forEach(i=>{n=n.append(i,_[i])}),this.http.put(`${this.url}/${o}/quota`,null,{params:n})))}delete(o){return this.rgwDaemonService.request(_=>this.http.delete(`${this.url}/${o}`,{params:_}))}createSubuser(o,_){return this.rgwDaemonService.request(n=>(u().keys(_).forEach(i=>{n=n.append(i,_[i])}),this.http.post(`${this.url}/${o}/subuser`,null,{params:n})))}deleteSubuser(o,_){return this.rgwDaemonService.request(n=>this.http.delete(`${this.url}/${o}/subuser/${_}`,{params:n}))}addCapability(o,_,n){return this.rgwDaemonService.request(i=>(i=(i=i.append("type",_)).append("perm",n),this.http.post(`${this.url}/${o}/capability`,null,{params:i})))}deleteCapability(o,_,n){return this.rgwDaemonService.request(i=>(i=(i=i.append("type",_)).append("perm",n),this.http.delete(`${this.url}/${o}/capability`,{params:i})))}addS3Key(o,_){return this.rgwDaemonService.request(n=>(n=n.append("key_type","s3"),u().keys(_).forEach(i=>{n=n.append(i,_[i])}),this.http.post(`${this.url}/${o}/key`,null,{params:n})))}deleteS3Key(o,_){return this.rgwDaemonService.request(n=>(n=(n=n.append("key_type","s3")).append("access_key",_),this.http.delete(`${this.url}/${o}/key`,{params:n})))}exists(o){return this.get(o).pipe((0,W_.h)(!0),(0,Z_.K)(_=>(u().isFunction(_.preventDefault)&&_.preventDefault(),(0,me.of)(!1))))}emailExists(o){return o=decodeURIComponent(o),this.enumerateEmail().pipe((0,he.zg)(_=>{const n=u().indexOf(_,o);return(0,me.of)(-1!==n)}))}};O.\u0275fac=function(o){return new(o||O)(e.LFG($e.eN),e.LFG(ge.b))},O.\u0275prov=e.Yz7({token:O,factory:O.\u0275fac,providedIn:"root"}),O=(0,Ze.gn)([$_.o,(0,Ze.w6)("design:paramtypes",[$e.eN,ge.b])],O);var D=r(65862),Ae=r(18001),Ie=r(93614),m=r(77205),ve=r(97161),k=(()=>{return(t=k||(k={})).ENABLED="Enabled",t.DISABLED="Disabled",k;var t})(),B=(()=>{return(t=B||(B={})).ENABLED="Enabled",t.SUSPENDED="Suspended",B;var t})(),J=r(62862),Fe=r(63622),V=r(41582),H=r(56310),q=r(87925),X=r(94276),j=r(82945),h_=r(18372),ee=r(30839),K=r(10545);function I_(t,o){1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",35),e.SDv(2,36),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",37),e.qZA(),e.qZA())}function v_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,39),e.qZA())}function F_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,40),e.qZA())}function L_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,41),e.qZA())}function D_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,42),e.qZA())}function x_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,43),e.qZA())}function y_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,44),e.qZA())}function q_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,45),e.qZA())}function w_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,46),e.qZA())}function k_(t,o){1&t&&(e.TgZ(0,"option",47),e.SDv(1,48),e.qZA()),2&t&&e.Q6J("ngValue",null)}function B_(t,o){1&t&&(e.TgZ(0,"option",47),e.SDv(1,49),e.qZA()),2&t&&e.Q6J("ngValue",null)}function H_(t,o){if(1&t&&(e.TgZ(0,"option",50),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.Oqu(_)}}function X_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,51),e.qZA())}function K_(t,o){1&t&&(e.TgZ(0,"option",47),e.SDv(1,53),e.qZA()),2&t&&e.Q6J("ngValue",null)}function z_(t,o){1&t&&(e.TgZ(0,"option",47),e.SDv(1,54),e.qZA()),2&t&&e.Q6J("ngValue",null)}function Q_(t,o){if(1&t&&(e.TgZ(0,"option",50),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_.name),e.xp6(1),e.Oqu(_.description)}}function Y_(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,55),e.qZA())}function J_(t,o){if(1&t&&(e.TgZ(0,"select",52),e.YNc(1,K_,2,1,"option",18),e.YNc(2,z_,2,1,"option",18),e.YNc(3,Q_,2,2,"option",19),e.qZA(),e.YNc(4,Y_,2,0,"span",14)),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(1),e.Q6J("ngIf",null===n.placementTargets),e.xp6(1),e.Q6J("ngIf",null!==n.placementTargets),e.xp6(1),e.Q6J("ngForOf",n.placementTargets),e.xp6(1),e.Q6J("ngIf",n.bucketForm.showError("placement-target",_,"required"))}}function V_(t,o){1&t&&(e.ynx(0),e._UZ(1,"input",56),e.BQk())}function j_(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend",25),e.SDv(2,57),e.qZA(),e.TgZ(3,"div",9),e.TgZ(4,"div",27),e.TgZ(5,"div",28),e.TgZ(6,"input",58),e.NdJ("change",function(){return e.CHM(_),e.oxw(2).setMfaDeleteValidators()}),e.qZA(),e.TgZ(7,"label",59),e.SDv(8,60),e.qZA(),e.TgZ(9,"cd-helper"),e.TgZ(10,"span"),e.SDv(11,61),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}}function et(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,70),e.qZA())}function _t(t,o){if(1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",67),e.SDv(2,68),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",69),e.YNc(5,et,2,0,"span",14),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.bucketForm.showError("mfa-token-serial",_,"required"))}}function tt(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,74),e.qZA())}function nt(t,o){if(1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",71),e.SDv(2,72),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",73),e.YNc(5,tt,2,0,"span",14),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.bucketForm.showError("mfa-token-pin",_,"required"))}}function ot(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend",25),e.SDv(2,62),e.qZA(),e.TgZ(3,"div",9),e.TgZ(4,"div",27),e.TgZ(5,"div",28),e.TgZ(6,"input",63),e.NdJ("change",function(){return e.CHM(_),e.oxw(2).setMfaDeleteValidators()}),e.qZA(),e.TgZ(7,"label",64),e.SDv(8,65),e.qZA(),e.TgZ(9,"cd-helper"),e.TgZ(10,"span"),e.SDv(11,66),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(12,_t,6,1,"div",8),e.YNc(13,nt,6,1,"div",8),e.qZA()}if(2&t){const _=e.oxw(2);e.xp6(12),e.Q6J("ngIf",_.areMfaCredentialsRequired()),e.xp6(1),e.Q6J("ngIf",_.areMfaCredentialsRequired())}}function it(t,o){1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",75),e.SDv(2,76),e.qZA(),e.TgZ(3,"div",12),e.TgZ(4,"select",77),e.TgZ(5,"option",78),e.SDv(6,79),e.qZA(),e.TgZ(7,"option",80),e.SDv(8,81),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function st(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,86),e.qZA())}function at(t,o){1&t&&(e.TgZ(0,"span",38),e.SDv(1,87),e.qZA())}function rt(t,o){if(1&t&&(e.TgZ(0,"div",9),e.TgZ(1,"label",82),e.ynx(2),e.SDv(3,83),e.BQk(),e.TgZ(4,"cd-helper"),e.SDv(5,84),e.qZA(),e.qZA(),e.TgZ(6,"div",12),e._UZ(7,"input",85),e.YNc(8,st,2,0,"span",14),e.YNc(9,at,2,0,"span",14),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(8),e.Q6J("ngIf",n.bucketForm.showError("lock_retention_period_days",_,"pattern")),e.xp6(1),e.Q6J("ngIf",n.bucketForm.showError("lock_retention_period_days",_,"lockDays"))}}const Le=function(t){return{required:t}};function lt(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.YNc(9,I_,5,0,"div",8),e.TgZ(10,"div",9),e.TgZ(11,"label",10),e.SDv(12,11),e.qZA(),e.TgZ(13,"div",12),e._UZ(14,"input",13),e.YNc(15,v_,2,0,"span",14),e.YNc(16,F_,2,0,"span",14),e.YNc(17,L_,2,0,"span",14),e.YNc(18,D_,2,0,"span",14),e.YNc(19,x_,2,0,"span",14),e.YNc(20,y_,2,0,"span",14),e.YNc(21,q_,2,0,"span",14),e.YNc(22,w_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(23,"div",9),e.TgZ(24,"label",15),e.SDv(25,16),e.qZA(),e.TgZ(26,"div",12),e.TgZ(27,"select",17),e.YNc(28,k_,2,1,"option",18),e.YNc(29,B_,2,1,"option",18),e.YNc(30,H_,2,2,"option",19),e.qZA(),e.YNc(31,X_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(32,"div",9),e.TgZ(33,"label",20),e.SDv(34,21),e.qZA(),e.TgZ(35,"div",12),e.YNc(36,J_,5,4,"ng-template",null,22,e.W1O),e.YNc(38,V_,2,0,"ng-container",23),e.qZA(),e.qZA(),e.YNc(39,j_,12,0,"fieldset",24),e.YNc(40,ot,14,2,"fieldset",24),e.TgZ(41,"fieldset"),e.TgZ(42,"legend",25),e.SDv(43,26),e.qZA(),e.TgZ(44,"div",9),e.TgZ(45,"div",27),e.TgZ(46,"div",28),e._UZ(47,"input",29),e.TgZ(48,"label",30),e.SDv(49,31),e.qZA(),e.TgZ(50,"cd-helper"),e.TgZ(51,"span"),e.SDv(52,32),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(53,it,9,0,"div",8),e.YNc(54,rt,10,2,"div",8),e.qZA(),e.qZA(),e.TgZ(55,"div",33),e.TgZ(56,"cd-form-button-panel",34),e.NdJ("submitActionEvent",function(){return e.CHM(_),e.oxw().submit()}),e.ALo(57,"titlecase"),e.ALo(58,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.MAs(2),n=e.MAs(37),i=e.oxw();e.xp6(1),e.Q6J("formGroup",i.bucketForm),e.xp6(6),e.pQV(e.lcZ(6,29,i.action))(e.lcZ(7,31,i.resource)),e.QtT(5),e.xp6(2),e.Q6J("ngIf",i.editing),e.xp6(2),e.Q6J("ngClass",e.VKq(37,Le,!i.editing)),e.xp6(3),e.Q6J("readonly",i.editing)("autofocus",!i.editing),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"required")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"bucketNameInvalid")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"bucketNameNotAllowed")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"containsUpperCase")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"lowerCaseOrNumber")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"ipAddress")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"onlyLowerCaseAndNumbers")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("bid",_,"shouldBeInRange")),e.xp6(5),e.Q6J("autofocus",i.editing),e.xp6(1),e.Q6J("ngIf",null===i.owners),e.xp6(1),e.Q6J("ngIf",null!==i.owners),e.xp6(1),e.Q6J("ngForOf",i.owners),e.xp6(1),e.Q6J("ngIf",i.bucketForm.showError("owner",_,"required")),e.xp6(2),e.Q6J("ngClass",e.VKq(39,Le,!i.editing)),e.xp6(5),e.Q6J("ngIf",i.editing)("ngIfElse",n),e.xp6(1),e.Q6J("ngIf",i.editing),e.xp6(1),e.Q6J("ngIf",i.editing),e.xp6(13),e.Q6J("ngIf",i.bucketForm.getValue("lock_enabled")),e.xp6(1),e.Q6J("ngIf",i.bucketForm.getValue("lock_enabled")),e.xp6(2),e.Q6J("form",i.bucketForm)("submitText",e.lcZ(57,33,i.action)+" "+e.lcZ(58,35,i.resource))}}let De=(()=>{class t extends Ie.E{constructor(_,n,i,s,c,d,E,g){super(),this.route=_,this.router=n,this.formBuilder=i,this.rgwBucketService=s,this.rgwSiteService=c,this.rgwUserService=d,this.notificationService=E,this.actionLabels=g,this.editing=!1,this.owners=null,this.placementTargets=[],this.isVersioningAlreadyEnabled=!1,this.isMfaDeleteAlreadyEnabled=!1,this.icons=D.P,this.editing=this.router.url.startsWith(`/rgw/bucket/${A.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource="bucket",this.createForm()}get isVersioningEnabled(){return this.bucketForm.getValue("versioning")}get isMfaDeleteEnabled(){return this.bucketForm.getValue("mfa-delete")}createForm(){const _=this,n=m.h.custom("lockDays",()=>{if(!_.bucketForm||!u().get(_.bucketForm.getRawValue(),"lock_enabled"))return!1;const i=Number(_.bucketForm.getValue("lock_retention_period_days"));return!Number.isInteger(i)||0===i});this.bucketForm=this.formBuilder.group({id:[null],bid:[null,[a.kI.required],this.editing?[]:[m.h.bucketName(),m.h.bucketExistence(!1,this.rgwBucketService)]],owner:[null,[a.kI.required]],"placement-target":[null,this.editing?[]:[a.kI.required]],versioning:[null],"mfa-delete":[null],"mfa-token-serial":[""],"mfa-token-pin":[""],lock_enabled:[{value:!1,disabled:this.editing}],lock_mode:["COMPLIANCE"],lock_retention_period_days:[0,[m.h.number(!1),n]]})}ngOnInit(){const _={owners:this.rgwUserService.enumerate()};this.editing||(_.getPlacementTargets=this.rgwSiteService.get("placement-targets")),this.route.params.subscribe(n=>{if(n.hasOwnProperty("bid")){const i=decodeURIComponent(n.bid);_.getBid=this.rgwBucketService.get(i)}(0,Y.D)(_).subscribe(i=>{if(this.owners=i.owners.sort(),i.getPlacementTargets){const s=i.getPlacementTargets;this.zonegroup=s.zonegroup,u().forEach(s.placement_targets,c=>{c.description=`${c.name} (${"pool"}: ${c.data_pool})`,this.placementTargets.push(c)}),1===this.placementTargets.length&&this.bucketForm.get("placement-target").setValue(this.placementTargets[0].name)}if(i.getBid){const s=i.getBid,c=u().clone(this.bucketForm.getRawValue());let d=u().pick(s,u().keys(c));d.lock_retention_period_days=this.rgwBucketService.getLockDays(s),d["placement-target"]=s.placement_rule,d.versioning=s.versioning===B.ENABLED,d["mfa-delete"]=s.mfa_delete===k.ENABLED,d=u().merge(c,d),this.bucketForm.setValue(d),this.editing&&(this.isVersioningAlreadyEnabled=this.isVersioningEnabled,this.isMfaDeleteAlreadyEnabled=this.isMfaDeleteEnabled,this.setMfaDeleteValidators(),d.lock_enabled&&this.bucketForm.controls.versioning.disable())}this.loadingReady()})})}goToListView(){this.router.navigate(["/rgw/bucket"])}submit(){if(this.bucketForm.pristine)return void this.goToListView();const _=this.bucketForm.value;if(this.editing){const n=this.getVersioningStatus(),i=this.getMfaDeleteStatus();this.rgwBucketService.update(_.bid,_.id,_.owner,n,i,_["mfa-token-serial"],_["mfa-token-pin"],_.lock_mode,_.lock_retention_period_days).subscribe(()=>{this.notificationService.show(Ae.k.success,"Updated Object Gateway bucket '" + _.bid + "'."),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}else this.rgwBucketService.create(_.bid,_.owner,this.zonegroup,_["placement-target"],_.lock_enabled,_.lock_mode,_.lock_retention_period_days).subscribe(()=>{this.notificationService.show(Ae.k.success,"Created Object Gateway bucket '" + _.bid + "'"),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}areMfaCredentialsRequired(){return this.isMfaDeleteEnabled!==this.isMfaDeleteAlreadyEnabled||this.isMfaDeleteAlreadyEnabled&&this.isVersioningEnabled!==this.isVersioningAlreadyEnabled}setMfaDeleteValidators(){const _=this.bucketForm.get("mfa-token-serial"),n=this.bucketForm.get("mfa-token-pin");this.areMfaCredentialsRequired()?(_.setValidators(a.kI.required),n.setValidators(a.kI.required)):(_.setValidators(null),n.setValidators(null)),_.updateValueAndValidity(),n.updateValueAndValidity()}getVersioningStatus(){return this.isVersioningEnabled?B.ENABLED:B.SUSPENDED}getMfaDeleteStatus(){return this.isMfaDeleteEnabled?k.ENABLED:k.DISABLED}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(w.gz),e.Y36(w.F0),e.Y36(J.O),e.Y36(Me.o),e.Y36(We.I),e.Y36(O),e.Y36(ve.g),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-bucket-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F,T,x,y,S,_e,te,ne,oe,ie,se,ae,re,le,ce,de,ue,Re;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",n="Name...",i="Owner",s="Placement target",c="Locking",d="Enabled",E="Enables locking for the objects in the bucket. Locking can only be enabled while creating a bucket.",g="Id",C="This field is required.",b="Bucket names can only contain lowercase letters, numbers, periods and hyphens.",P="The chosen name is already in use.",G="Bucket names must not contain uppercase characters or underscores.",N="Each label must start and end with a lowercase letter or a number.",p="Bucket names cannot be formatted as IP address.",U="Bucket labels cannot be empty and can only contain lowercase letters, numbers and hyphens.",W="Bucket names must be 3 to 63 characters long.",Z="Loading...",$="-- Select a user --",h="This field is required.",I="Loading...",v="-- Select a placement target --",F="This field is required.",T="Versioning",x="Enabled",y="Enables versioning for the objects in the bucket.",S="Multi-Factor Authentication",_e="Delete enabled",te="Enables MFA (multi-factor authentication) Delete, which requires additional authentication for changing the bucket versioning state.",ne="Token Serial Number",oe="This field is required.",ie="Token PIN",se="This field is required.",ae="Mode",re="Compliance",le="Governance",ce="Days",de="The number of days that you want to specify for the default retention period that will be applied to new objects placed in this bucket.",ue="The entered value must be a positive integer.",Re="Retention Days must be a positive integer.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","bucketForm","novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],o,[1,"card-body"],["class","form-group row",4,"ngIf"],[1,"form-group","row"],["for","bid",1,"cd-col-form-label",3,"ngClass"],_,[1,"cd-col-form-input"],["id","bid","name","bid","type","text","placeholder",n,"formControlName","bid",1,"form-control",3,"readonly","autofocus"],["class","invalid-feedback",4,"ngIf"],["for","owner",1,"cd-col-form-label","required"],i,["id","owner","name","owner","formControlName","owner",1,"form-control",3,"autofocus"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],["for","placement-target",1,"cd-col-form-label",3,"ngClass"],s,["placementTargetSelect",""],[4,"ngIf","ngIfElse"],[4,"ngIf"],[1,"cd-header"],c,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","lock_enabled","formControlName","lock_enabled","type","checkbox",1,"custom-control-input"],["for","lock_enabled",1,"custom-control-label"],d,E,[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["for","id",1,"cd-col-form-label"],g,["id","id","name","id","type","text","formControlName","id","readonly","",1,"form-control"],[1,"invalid-feedback"],C,b,P,G,N,p,U,W,[3,"ngValue"],Z,$,[3,"value"],h,["id","placement-target","name","placement-target","formControlName","placement-target",1,"form-control"],I,v,F,["id","placement-target","name","placement-target","formControlName","placement-target","type","text","readonly","",1,"form-control"],T,["type","checkbox","id","versioning","name","versioning","formControlName","versioning",1,"custom-control-input",3,"change"],["for","versioning",1,"custom-control-label"],x,y,S,["type","checkbox","id","mfa-delete","name","mfa-delete","formControlName","mfa-delete",1,"custom-control-input",3,"change"],["for","mfa-delete",1,"custom-control-label"],_e,te,["for","mfa-token-serial",1,"cd-col-form-label"],ne,["type","text","id","mfa-token-serial","name","mfa-token-serial","formControlName","mfa-token-serial",1,"form-control"],oe,["for","mfa-token-pin",1,"cd-col-form-label"],ie,["type","text","id","mfa-token-pin","name","mfa-token-pin","formControlName","mfa-token-pin",1,"form-control"],se,["for","lock_mode",1,"cd-col-form-label"],ae,["formControlName","lock_mode","name","lock_mode","id","lock_mode",1,"form-control"],["value","COMPLIANCE"],re,["value","GOVERNANCE"],le,["for","lock_retention_period_days",1,"cd-col-form-label"],ce,de,["type","number","id","lock_retention_period_days","formControlName","lock_retention_period_days","min","0",1,"form-control"],ue,Re]},template:function(_,n){1&_&&e.YNc(0,lt,59,41,"div",0),2&_&&e.Q6J("cdFormLoading",n.loading)},directives:[Fe.y,a._Y,a.JL,V.V,a.sg,f.O5,H.P,f.mk,q.o,a.Fj,X.b,a.JJ,a.u,j.U,a.EJ,f.sg,a.Wl,h_.S,ee.p,a.YN,a.Kr,a.wV,a.qQ],pipes:[f.rS,K.m],styles:[""]}),t})();var xe=r(18891),be=r(68136),ye=r(30982),z=r(64337),Pe=r(68774),qe=r(47557),we=r(66369),Q=r(51847),Ee=r(74937),Te=r(63285),ke=r(94928),ct=r(96102),Be=r(68962);function dt(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,24),e.qZA())}function ut(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.ALo(2,"dimless"),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,_.selection.bucket_quota.max_size)," ")}}function Rt(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,25),e.qZA())}function gt(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.hij(" ",_.selection.bucket_quota.max_objects," ")}}function Et(t,o){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"legend"),e.SDv(2,20),e.qZA(),e.TgZ(3,"table",1),e.TgZ(4,"tbody"),e.TgZ(5,"tr"),e.TgZ(6,"td",2),e.SDv(7,21),e.qZA(),e.TgZ(8,"td",4),e._uU(9),e.ALo(10,"booleanText"),e.qZA(),e.qZA(),e.TgZ(11,"tr"),e.TgZ(12,"td",5),e.SDv(13,22),e.qZA(),e.YNc(14,dt,2,0,"td",0),e.YNc(15,ut,3,3,"td",0),e.qZA(),e.TgZ(16,"tr"),e.TgZ(17,"td",5),e.SDv(18,23),e.qZA(),e.YNc(19,Rt,2,0,"td",0),e.YNc(20,gt,2,1,"td",0),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(2);e.xp6(9),e.Oqu(e.lcZ(10,5,_.selection.bucket_quota.enabled)),e.xp6(5),e.Q6J("ngIf",_.selection.bucket_quota.max_size<=-1),e.xp6(1),e.Q6J("ngIf",_.selection.bucket_quota.max_size>-1),e.xp6(4),e.Q6J("ngIf",_.selection.bucket_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",_.selection.bucket_quota.max_objects>-1)}}function Tt(t,o){if(1&t&&(e.ynx(0),e.TgZ(1,"tr"),e.TgZ(2,"td",5),e.SDv(3,26),e.qZA(),e.TgZ(4,"td"),e._uU(5),e.qZA(),e.qZA(),e.TgZ(6,"tr"),e.TgZ(7,"td",5),e.SDv(8,27),e.qZA(),e.TgZ(9,"td"),e._uU(10),e.qZA(),e.qZA(),e.BQk()),2&t){const _=e.oxw(2);e.xp6(5),e.Oqu(_.selection.lock_mode),e.xp6(5),e.Oqu(_.selection.lock_retention_period_days)}}function St(t,o){if(1&t&&(e.ynx(0),e.TgZ(1,"table",1),e.TgZ(2,"tbody"),e.TgZ(3,"tr"),e.TgZ(4,"td",2),e.SDv(5,3),e.qZA(),e.TgZ(6,"td",4),e._uU(7),e.qZA(),e.qZA(),e.TgZ(8,"tr"),e.TgZ(9,"td",5),e.SDv(10,6),e.qZA(),e.TgZ(11,"td"),e._uU(12),e.qZA(),e.qZA(),e.TgZ(13,"tr"),e.TgZ(14,"td",5),e.SDv(15,7),e.qZA(),e.TgZ(16,"td"),e._uU(17),e.qZA(),e.qZA(),e.TgZ(18,"tr"),e.TgZ(19,"td",5),e.SDv(20,8),e.qZA(),e.TgZ(21,"td"),e._uU(22),e.qZA(),e.qZA(),e.TgZ(23,"tr"),e.TgZ(24,"td",5),e.SDv(25,9),e.qZA(),e.TgZ(26,"td"),e._uU(27),e.qZA(),e.qZA(),e.TgZ(28,"tr"),e.TgZ(29,"td",5),e.SDv(30,10),e.qZA(),e.TgZ(31,"td"),e._uU(32),e.qZA(),e.qZA(),e.TgZ(33,"tr"),e.TgZ(34,"td",5),e.SDv(35,11),e.qZA(),e.TgZ(36,"td"),e._uU(37),e.qZA(),e.qZA(),e.TgZ(38,"tr"),e.TgZ(39,"td",5),e.SDv(40,12),e.qZA(),e.TgZ(41,"td"),e._uU(42),e.qZA(),e.qZA(),e.TgZ(43,"tr"),e.TgZ(44,"td",5),e.SDv(45,13),e.qZA(),e.TgZ(46,"td"),e._uU(47),e.qZA(),e.qZA(),e.TgZ(48,"tr"),e.TgZ(49,"td",5),e.SDv(50,14),e.qZA(),e.TgZ(51,"td"),e._uU(52),e.ALo(53,"cdDate"),e.qZA(),e.qZA(),e.TgZ(54,"tr"),e.TgZ(55,"td",5),e.SDv(56,15),e.qZA(),e.TgZ(57,"td"),e._uU(58),e.qZA(),e.qZA(),e.TgZ(59,"tr"),e.TgZ(60,"td",5),e.SDv(61,16),e.qZA(),e.TgZ(62,"td"),e._uU(63),e.qZA(),e.qZA(),e.TgZ(64,"tr"),e.TgZ(65,"td",5),e.SDv(66,17),e.qZA(),e.TgZ(67,"td"),e._uU(68),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(69,Et,21,7,"div",0),e.TgZ(70,"legend"),e.SDv(71,18),e.qZA(),e.TgZ(72,"table",1),e.TgZ(73,"tbody"),e.TgZ(74,"tr"),e.TgZ(75,"td",2),e.SDv(76,19),e.qZA(),e.TgZ(77,"td",4),e._uU(78),e.ALo(79,"booleanText"),e.qZA(),e.qZA(),e.YNc(80,Tt,11,2,"ng-container",0),e.qZA(),e.qZA(),e.BQk()),2&t){const _=e.oxw();e.xp6(7),e.Oqu(_.selection.bid),e.xp6(5),e.Oqu(_.selection.id),e.xp6(5),e.Oqu(_.selection.owner),e.xp6(5),e.Oqu(_.selection.index_type),e.xp6(5),e.Oqu(_.selection.placement_rule),e.xp6(5),e.Oqu(_.selection.marker),e.xp6(5),e.Oqu(_.selection.max_marker),e.xp6(5),e.Oqu(_.selection.ver),e.xp6(5),e.Oqu(_.selection.master_ver),e.xp6(5),e.Oqu(e.lcZ(53,16,_.selection.mtime)),e.xp6(6),e.Oqu(_.selection.zonegroup),e.xp6(5),e.Oqu(_.selection.versioning),e.xp6(5),e.Oqu(_.selection.mfa_delete),e.xp6(1),e.Q6J("ngIf",_.selection.bucket_quota),e.xp6(9),e.Oqu(e.lcZ(79,18,_.selection.lock_enabled)),e.xp6(2),e.Q6J("ngIf",_.selection.lock_enabled)}}let ft=(()=>{class t{constructor(_){this.rgwBucketService=_}ngOnChanges(){this.selection&&this.rgwBucketService.get(this.selection.bid).subscribe(_=>{_.lock_retention_period_days=this.rgwBucketService.getLockDays(_),this.selection=_})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(Me.o))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-bucket-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F;return o="Name",_="ID",n="Owner",i="Index type",s="Placement rule",c="Marker",d="Maximum marker",E="Version",g="Master version",C="Modification time",b="Zonegroup",P="Versioning",G="MFA Delete",N="Locking",p="Enabled",U="Bucket quota",W="Enabled",Z="Maximum size",$="Maximum objects",h="Unlimited",I="Unlimited",v="Mode",F="Days",[[4,"ngIf"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],o,[1,"w-75"],[1,"bold"],_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F]},template:function(_,n){1&_&&e.YNc(0,St,81,20,"ng-container",0),2&_&&e.Q6J("ngIf",n.selection)},directives:[f.O5],pipes:[ct.N,Be.T,we.n],styles:["table[_ngcontent-%COMP%]{table-layout:fixed}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{word-wrap:break-word}"]}),t})();var He=r(60251);const Ct=["bucketSizeTpl"],pt=["bucketObjectTpl"];function Mt(t,o){if(1&t&&e._UZ(0,"cd-usage-bar",8),2&t){const _=e.oxw().row;e.Q6J("total",_.bucket_quota.max_size)("used",_.bucket_size)}}function mt(t,o){1&t&&e.SDv(0,9)}function At(t,o){if(1&t&&(e.YNc(0,Mt,1,2,"cd-usage-bar",6),e.YNc(1,mt,1,0,"ng-template",null,7,e.W1O)),2&t){const _=o.row,n=e.MAs(2);e.Q6J("ngIf",_.bucket_quota.max_size>0&&_.bucket_quota.enabled)("ngIfElse",n)}}function bt(t,o){if(1&t&&e._UZ(0,"cd-usage-bar",12),2&t){const _=e.oxw().row;e.Q6J("total",_.bucket_quota.max_objects)("used",_.num_objects)("isBinary",!1)}}function Pt(t,o){1&t&&e.SDv(0,13)}function Gt(t,o){if(1&t&&(e.YNc(0,bt,1,3,"cd-usage-bar",10),e.YNc(1,Pt,1,0,"ng-template",null,11,e.W1O)),2&t){const _=o.row,n=e.MAs(2);e.Q6J("ngIf",_.bucket_quota.max_objects>0&&_.bucket_quota.enabled)("ngIfElse",n)}}let Ot=(()=>{class t extends be.o{constructor(_,n,i,s,c,d,E,g){super(g),this.authStorageService=_,this.dimlessBinaryPipe=n,this.dimlessPipe=i,this.rgwBucketService=s,this.modalService=c,this.urlBuilder=d,this.actionLabels=E,this.ngZone=g,this.columns=[],this.buckets=[],this.selection=new Pe.r}ngOnInit(){this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:"Name",prop:"bid",flexGrow:2},{name:"Owner",prop:"owner",flexGrow:2.5},{name:"Used Capacity",prop:"bucket_size",flexGrow:.6,pipe:this.dimlessBinaryPipe},{name:"Capacity Limit %",prop:"size_usage",cellTemplate:this.bucketSizeTpl,flexGrow:.8},{name:"Objects",prop:"num_objects",flexGrow:.6,pipe:this.dimlessPipe},{name:"Object Limit %",prop:"object_usage",cellTemplate:this.bucketObjectTpl,flexGrow:.8}];const _=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().bid)}`;this.tableActions=[{permission:"create",icon:D.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:c=>!c.hasSelection},{permission:"update",icon:D.P.edit,routerLink:()=>this.urlBuilder.getEdit(_()),name:this.actionLabels.EDIT},{permission:"delete",icon:D.P.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:c=>c.hasMultiSelection}],this.setTableRefreshTimeout()}transformBucketData(){u().forEach(this.buckets,_=>{const n=_.bucket_quota.max_size,i=_.bucket_quota.max_objects;_.bucket_size=0,_.num_objects=0,u().isEmpty(_.usage)||(_.bucket_size=_.usage["rgw.main"].size_actual,_.num_objects=_.usage["rgw.main"].num_objects),_.size_usage=n>0?_.bucket_size/n:void 0,_.object_usage=i>0?_.num_objects/i:void 0})}getBucketList(_){this.setTableRefreshTimeout(),this.rgwBucketService.list(!0).subscribe(n=>{this.buckets=n,this.transformBucketData()},()=>{_.error()})}updateSelection(_){this.selection=_}deleteAction(){this.modalService.show(ye.M,{itemDescription:this.selection.hasSingleSelection?"bucket":"buckets",itemNames:this.selection.selected.map(_=>_.bid),submitActionObservable:()=>new xe.y(_=>{(0,Y.D)(this.selection.selected.map(n=>this.rgwBucketService.delete(n.bid))).subscribe({error:n=>{_.error(n),this.table.refreshBtn()},complete:()=>{_.complete(),this.table.refreshBtn()}})})})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(Ee.j),e.Y36(qe.$),e.Y36(we.n),e.Y36(Me.o),e.Y36(Te.Z),e.Y36(Q.F),e.Y36(A.p4),e.Y36(e.R0b))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-bucket-list"]],viewQuery:function(_,n){if(1&_&&(e.Gf(z.a,7),e.Gf(Ct,7),e.Gf(pt,7)),2&_){let i;e.iGM(i=e.CRH())&&(n.table=i.first),e.iGM(i=e.CRH())&&(n.bucketSizeTpl=i.first),e.iGM(i=e.CRH())&&(n.bucketObjectTpl=i.first)}},features:[e._Bn([{provide:Q.F,useValue:new Q.F("rgw/bucket")}]),e.qOj],decls:8,vars:9,consts:function(){let o,_;return o="No Limit",_="No Limit",[["columnMode","flex","selectionType","multiClick","identifier","bid",3,"autoReload","data","columns","hasDetails","status","setExpandedRow","updateSelection","fetchData"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["bucketSizeTpl",""],["bucketObjectTpl",""],[3,"total","used",4,"ngIf","ngIfElse"],["noSizeQuota",""],[3,"total","used"],o,[3,"total","used","isBinary",4,"ngIf","ngIfElse"],["noObjectQuota",""],[3,"total","used","isBinary"],_]},template:function(_,n){1&_&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(s){return n.setExpandedRow(s)})("updateSelection",function(s){return n.updateSelection(s)})("fetchData",function(s){return n.getBucketList(s)}),e._UZ(2,"cd-table-actions",2),e._UZ(3,"cd-rgw-bucket-details",3),e.qZA(),e.YNc(4,At,3,2,"ng-template",null,4,e.W1O),e.YNc(6,Gt,3,2,"ng-template",null,5,e.W1O)),2&_&&(e.Q6J("autoReload",!1)("data",n.buckets)("columns",n.columns)("hasDetails",!0)("status",n.tableStatus),e.xp6(2),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("selection",n.expandedRow))},directives:[z.a,ke.K,ft,f.O5,He.O],styles:[""]}),t})();var Ut=r(58111),Xe=r(59376),Wt=r(61350),Zt=r(98056),Ke=r(76317);function $t(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table-key-value",11),e.NdJ("fetchData",function(){return e.CHM(_),e.oxw(2).getMetaData()}),e.qZA()}if(2&t){const _=e.oxw(2);e.Q6J("data",_.metadata)}}function ht(t,o){if(1&t&&e._UZ(0,"cd-table-performance-counter",12),2&t){const _=e.oxw(2);e.Q6J("serviceId",_.serviceMapId)}}function It(t,o){if(1&t&&e._UZ(0,"cd-grafana",15),2&t){const _=e.oxw(3);e.Q6J("grafanaPath","rgw-instance-detail?var-rgw_servers=rgw."+_.serviceId)}}function vt(t,o){1&t&&(e.TgZ(0,"li",13),e.TgZ(1,"a",4),e.SDv(2,14),e.qZA(),e.YNc(3,It,1,1,"ng-template",6),e.qZA())}function Ft(t,o){if(1&t&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,$t,1,1,"ng-template",6),e.qZA(),e.TgZ(7,"li",7),e.TgZ(8,"a",4),e.SDv(9,8),e.qZA(),e.YNc(10,ht,1,1,"ng-template",6),e.qZA(),e.YNc(11,vt,4,0,"li",9),e.qZA(),e._UZ(12,"div",10),e.BQk()),2&t){const _=e.MAs(2),n=e.oxw();e.xp6(11),e.Q6J("ngIf",n.grafanaPermission.read),e.xp6(1),e.Q6J("ngbNavOutlet",_)}}let Lt=(()=>{class t{constructor(_,n){this.rgwDaemonService=_,this.authStorageService=n,this.serviceId="",this.serviceMapId="",this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selection&&(this.serviceId=this.selection.id,this.serviceMapId=this.selection.service_map_id)}getMetaData(){u().isEmpty(this.serviceId)||this.rgwDaemonService.get(this.serviceId).subscribe(_=>{this.metadata=_.rgw_metadata})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ge.b),e.Y36(Ee.j))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-daemon-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let o,_,n;return o="Details",_="Performance Counters",n="Performance Details",[[4,"ngIf"],["ngbNav","","cdStatefulTab","rgw-daemon-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],o,["ngbNavContent",""],["ngbNavItem","performance-counters"],_,["ngbNavItem","performance-details",4,"ngIf"],[3,"ngbNavOutlet"],[3,"data","fetchData"],["serviceType","rgw",3,"serviceId"],["ngbNavItem","performance-details"],n,["uid","x5ARzZtmk","grafanaStyle","one",3,"grafanaPath"]]},template:function(_,n){1&_&&e.YNc(0,Ft,13,2,"ng-container",0),2&_&&e.Q6J("ngIf",n.selection)},directives:[f.O5,M.Pz,Xe.m,M.nv,M.Vx,M.uN,M.tO,Wt.b,Zt.p,Ke.F],styles:[""]}),t})();function Dt(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table",8),e.NdJ("setExpandedRow",function(i){return e.CHM(_),e.oxw().setExpandedRow(i)})("fetchData",function(i){return e.CHM(_),e.oxw().getDaemonList(i)}),e._UZ(1,"cd-rgw-daemon-details",9),e.qZA()}if(2&t){const _=e.oxw();e.Q6J("data",_.daemons)("columns",_.columns)("hasDetails",!0),e.xp6(1),e.Q6J("selection",_.expandedRow)}}function xt(t,o){1&t&&e._UZ(0,"cd-grafana",11),2&t&&e.Q6J("grafanaPath","rgw-overview?")}function yt(t,o){1&t&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,10),e.qZA(),e.YNc(3,xt,1,1,"ng-template",5),e.qZA())}function qt(t,o){1&t&&e._UZ(0,"cd-grafana",13),2&t&&e.Q6J("grafanaPath","radosgw-sync-overview?")}function wt(t,o){1&t&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,12),e.qZA(),e.YNc(3,qt,1,1,"ng-template",5),e.qZA())}let kt=(()=>{class t extends be.o{constructor(_,n,i,s){super(),this.rgwDaemonService=_,this.authStorageService=n,this.cephShortVersionPipe=i,this.rgwSiteService=s,this.columns=[],this.daemons=[],this.updateDaemons=c=>{this.daemons=c}}ngOnInit(){this.grafanaPermission=this.authStorageService.getPermissions().grafana,this.columns=[{name:"ID",prop:"id",flexGrow:2},{name:"Hostname",prop:"server_hostname",flexGrow:2},{name:"Zone",prop:"zone_name",flexGrow:2},{name:"Zone Group",prop:"zonegroup_name",flexGrow:2},{name:"Realm",prop:"realm_name",flexGrow:2},{name:"Version",prop:"version",flexGrow:1,pipe:this.cephShortVersionPipe}],this.rgwSiteService.get("realms").subscribe(_=>this.isMultiSite=_.length>0)}getDaemonList(_){this.rgwDaemonService.list().subscribe(this.updateDaemons,()=>{_.error()})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ge.b),e.Y36(Ee.j),e.Y36(Ut.F),e.Y36(We.I))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-daemon-list"]],features:[e.qOj],decls:9,vars:3,consts:function(){let o,_,n;return o="Daemons List",_="Overall Performance",n="Sync Performance",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],o,["ngbNavContent",""],["ngbNavItem","",4,"ngIf"],[3,"ngbNavOutlet"],["columnMode","flex",3,"data","columns","hasDetails","setExpandedRow","fetchData"],["cdTableDetail","",3,"selection"],_,["uid","WAkugZpiz","grafanaStyle","two",3,"grafanaPath"],n,["uid","rgw-sync-overview","grafanaStyle","two",3,"grafanaPath"]]},template:function(_,n){if(1&_&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,Dt,2,4,"ng-template",5),e.qZA(),e.YNc(6,yt,4,0,"li",6),e.YNc(7,wt,4,0,"li",6),e.qZA(),e._UZ(8,"div",7)),2&_){const i=e.MAs(1);e.xp6(6),e.Q6J("ngIf",n.grafanaPermission.read),e.xp6(1),e.Q6J("ngIf",n.grafanaPermission.read&&n.isMultiSite),e.xp6(1),e.Q6J("ngbNavOutlet",i)}},directives:[M.Pz,M.nv,M.Vx,M.uN,f.O5,M.tO,z.a,Lt,Ke.F],styles:[""]}),t})();var Bt=r(58071),Ge=r(28211),Se=(()=>{return(t=Se||(Se={})).USERS="users",t.BUCKETS="buckets",t.METADATA="metadata",t.USAGE="usage",t.ZONE="zone",Se;var t})();let ze=(()=>{class t{static getAll(){return Object.values(t.capabilities)}}return t.capabilities=Se,t})();var fe=r(60312);function Ht(t,o){1&t&&e._UZ(0,"input",22),2&t&&e.Q6J("readonly",!0)}function Xt(t,o){1&t&&(e.TgZ(0,"option",17),e.SDv(1,25),e.qZA()),2&t&&e.Q6J("ngValue",null)}function Kt(t,o){if(1&t&&(e.TgZ(0,"option",26),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.Oqu(_)}}function zt(t,o){if(1&t&&(e.TgZ(0,"select",23),e.YNc(1,Xt,2,1,"option",24),e.YNc(2,Kt,2,2,"option",19),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.Q6J("ngIf",null!==_.types),e.xp6(1),e.Q6J("ngForOf",_.types)}}function Qt(t,o){1&t&&(e.TgZ(0,"span",27),e.SDv(1,28),e.qZA())}function Yt(t,o){if(1&t&&(e.TgZ(0,"option",26),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Jt(t,o){1&t&&(e.TgZ(0,"span",27),e.SDv(1,29),e.qZA())}const Vt=function(t){return{required:t}},jt=function(){return["read","write","*"]};let en=(()=>{class t{constructor(_,n,i){this.formBuilder=_,this.activeModal=n,this.actionLabels=i,this.submitAction=new e.vpe,this.editing=!0,this.types=[],this.resource="capability",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({type:[null,[a.kI.required]],perm:[null,[a.kI.required]]})}setEditing(_=!0){this.editing=_,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.ADD}setValues(_,n){this.formGroup.setValue({type:_,perm:n})}setCapabilities(_){const n=[];_.forEach(i=>{n.push(i.type)}),this.types=[],ze.getAll().forEach(i=>{-1===u().indexOf(n,i)&&this.types.push(i)})}onSubmit(){this.submitAction.emit(this.formGroup.value),this.activeModal.close()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(J.O),e.Y36(M.Kz),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-capability-modal"]],outputs:{submitAction:"submitAction"},decls:29,vars:24,consts:function(){let o,_,n,i,s,c,d;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Type",n="Permission",i="-- Select a permission --",s="-- Select a type --",c="This field is required.",d="This field is required.",[[3,"modalRef"],[1,"modal-title"],o,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","type",1,"cd-col-form-label",3,"ngClass"],_,[1,"cd-col-form-input"],["id","type","class","form-control","type","text","formControlName","type",3,"readonly",4,"ngIf"],["id","type","class","form-control","formControlName","type","autofocus","",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["for","perm",1,"cd-col-form-label","required"],n,["id","perm","formControlName","perm",1,"form-control"],[3,"ngValue"],i,[3,"value",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["id","type","type","text","formControlName","type",1,"form-control",3,"readonly"],["id","type","formControlName","type","autofocus","",1,"form-control"],[3,"ngValue",4,"ngIf"],s,[3,"value"],[1,"invalid-feedback"],c,d]},template:function(_,n){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.YNc(13,Ht,1,1,"input",11),e.YNc(14,zt,3,2,"select",12),e.YNc(15,Qt,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(16,"div",7),e.TgZ(17,"label",14),e.SDv(18,15),e.qZA(),e.TgZ(19,"div",10),e.TgZ(20,"select",16),e.TgZ(21,"option",17),e.SDv(22,18),e.qZA(),e.YNc(23,Yt,2,2,"option",19),e.qZA(),e.YNc(24,Jt,2,0,"span",13),e.qZA(),e.qZA(),e.qZA(),e.TgZ(25,"div",20),e.TgZ(26,"cd-form-button-panel",21),e.NdJ("submitActionEvent",function(){return n.onSubmit()}),e.ALo(27,"titlecase"),e.ALo(28,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const i=e.MAs(7);e.Q6J("modalRef",n.activeModal),e.xp6(4),e.pQV(e.lcZ(3,13,n.action))(e.lcZ(4,15,n.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",n.formGroup),e.xp6(4),e.Q6J("ngClass",e.VKq(21,Vt,!n.editing)),e.xp6(3),e.Q6J("ngIf",n.editing),e.xp6(1),e.Q6J("ngIf",!n.editing),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("type",i,"required")),e.xp6(6),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(23,jt)),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("perm",i,"required")),e.xp6(2),e.Q6J("form",n.formGroup)("submitText",e.lcZ(27,17,n.action)+" "+e.lcZ(28,19,n.resource))}},directives:[fe.z,a._Y,a.JL,V.V,a.sg,H.P,f.mk,f.O5,q.o,a.EJ,X.b,a.JJ,a.u,a.YN,a.Kr,f.sg,ee.p,a.Fj,j.U],pipes:[f.rS,K.m],styles:[""]}),t})();var Ce=r(4416),pe=r(58039);function _n(t,o){1&t&&e._UZ(0,"input",17),2&t&&e.Q6J("readonly",!0)}function tn(t,o){1&t&&(e.TgZ(0,"option",21),e.SDv(1,22),e.qZA()),2&t&&e.Q6J("ngValue",null)}function nn(t,o){if(1&t&&(e.TgZ(0,"option",23),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.Oqu(_)}}function on(t,o){if(1&t&&(e.TgZ(0,"select",18),e.YNc(1,tn,2,1,"option",19),e.YNc(2,nn,2,2,"option",20),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.Q6J("ngIf",null!==_.userCandidates),e.xp6(1),e.Q6J("ngForOf",_.userCandidates)}}function sn(t,o){1&t&&(e.TgZ(0,"span",24),e.SDv(1,25),e.qZA())}function an(t,o){1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"div",26),e.TgZ(2,"div",27),e._UZ(3,"input",28),e.TgZ(4,"label",29),e.SDv(5,30),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function rn(t,o){1&t&&(e.TgZ(0,"span",24),e.SDv(1,38),e.qZA())}const Ne=function(t){return{required:t}};function ln(t,o){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",31),e.SDv(2,32),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"div",33),e._UZ(5,"input",34),e.TgZ(6,"span",35),e._UZ(7,"button",36),e._UZ(8,"cd-copy-2-clipboard-button",37),e.qZA(),e.qZA(),e.YNc(9,rn,2,0,"span",13),e.qZA(),e.qZA()),2&t){const _=e.oxw(),n=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(3,Ne,!_.viewing)),e.xp6(4),e.Q6J("readonly",_.viewing),e.xp6(4),e.Q6J("ngIf",_.formGroup.showError("access_key",n,"required"))}}function cn(t,o){1&t&&(e.TgZ(0,"span",24),e.SDv(1,44),e.qZA())}function dn(t,o){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",39),e.SDv(2,40),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"div",33),e._UZ(5,"input",41),e.TgZ(6,"span",35),e._UZ(7,"button",42),e._UZ(8,"cd-copy-2-clipboard-button",43),e.qZA(),e.qZA(),e.YNc(9,cn,2,0,"span",13),e.qZA(),e.qZA()),2&t){const _=e.oxw(),n=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(3,Ne,!_.viewing)),e.xp6(4),e.Q6J("readonly",_.viewing),e.xp6(4),e.Q6J("ngIf",_.formGroup.showError("secret_key",n,"required"))}}let Qe=(()=>{class t{constructor(_,n,i){this.formBuilder=_,this.activeModal=n,this.actionLabels=i,this.submitAction=new e.vpe,this.viewing=!0,this.userCandidates=[],this.resource="S3 Key",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({user:[null,[a.kI.required]],generate_key:[!0],access_key:[null,[m.h.requiredIf({generate_key:!1})]],secret_key:[null,[m.h.requiredIf({generate_key:!1})]]})}setViewing(_=!0){this.viewing=_,this.action=this.viewing?this.actionLabels.SHOW:this.actionLabels.CREATE}setValues(_,n,i){this.formGroup.setValue({user:_,generate_key:u().isEmpty(n),access_key:n,secret_key:i})}setUserCandidates(_){this.userCandidates=_}onSubmit(){this.submitAction.emit(this.formGroup.value),this.activeModal.close()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(J.O),e.Y36(M.Kz),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-s3-key-modal"]],outputs:{submitAction:"submitAction"},decls:23,vars:24,consts:function(){let o,_,n,i,s,c,d,E,g;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Username",n="-- Select a username --",i="This field is required.",s="Auto-generate key",c="Access key",d="This field is required.",E="Secret key",g="This field is required.",[[3,"modalRef"],[1,"modal-title"],o,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","user",1,"cd-col-form-label",3,"ngClass"],_,[1,"cd-col-form-input"],["id","user","class","form-control","type","text","formControlName","user",3,"readonly",4,"ngIf"],["id","user","class","form-control","formControlName","user","autofocus","",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","showSubmit","submitActionEvent"],["id","user","type","text","formControlName","user",1,"form-control",3,"readonly"],["id","user","formControlName","user","autofocus","",1,"form-control"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],[3,"ngValue"],n,[3,"value"],[1,"invalid-feedback"],i,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","generate_key","type","checkbox","formControlName","generate_key",1,"custom-control-input"],["for","generate_key",1,"custom-control-label"],s,["for","access_key",1,"cd-col-form-label",3,"ngClass"],c,[1,"input-group"],["id","access_key","type","password","formControlName","access_key",1,"form-control",3,"readonly"],[1,"input-group-append"],["type","button","cdPasswordButton","access_key",1,"btn","btn-light"],["source","access_key"],d,["for","secret_key",1,"cd-col-form-label",3,"ngClass"],E,["id","secret_key","type","password","formControlName","secret_key",1,"form-control",3,"readonly"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],g]},template:function(_,n){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.YNc(13,_n,1,1,"input",11),e.YNc(14,on,3,2,"select",12),e.YNc(15,sn,2,0,"span",13),e.qZA(),e.qZA(),e.YNc(16,an,6,0,"div",14),e.YNc(17,ln,10,5,"div",14),e.YNc(18,dn,10,5,"div",14),e.qZA(),e.TgZ(19,"div",15),e.TgZ(20,"cd-form-button-panel",16),e.NdJ("submitActionEvent",function(){return n.onSubmit()}),e.ALo(21,"titlecase"),e.ALo(22,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const i=e.MAs(7);e.Q6J("modalRef",n.activeModal),e.xp6(4),e.pQV(e.lcZ(3,14,n.action))(e.lcZ(4,16,n.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",n.formGroup),e.xp6(4),e.Q6J("ngClass",e.VKq(22,Ne,!n.viewing)),e.xp6(3),e.Q6J("ngIf",n.viewing),e.xp6(1),e.Q6J("ngIf",!n.viewing),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("user",i,"required")),e.xp6(1),e.Q6J("ngIf",!n.viewing),e.xp6(1),e.Q6J("ngIf",!n.formGroup.getValue("generate_key")),e.xp6(1),e.Q6J("ngIf",!n.formGroup.getValue("generate_key")),e.xp6(2),e.Q6J("form",n.formGroup)("submitText",e.lcZ(21,18,n.action)+" "+e.lcZ(22,20,n.resource))("showSubmit",!n.viewing)}},directives:[fe.z,a._Y,a.JL,V.V,a.sg,H.P,f.mk,f.O5,ee.p,q.o,a.Fj,X.b,a.JJ,a.u,a.EJ,j.U,f.sg,a.YN,a.Kr,a.Wl,Ce.C,pe.s],pipes:[f.rS,K.m],styles:[""]}),t})();class un{}function Rn(t,o){1&t&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function gn(t,o){1&t&&(e.TgZ(0,"span",29),e.SDv(1,31),e.qZA())}function En(t,o){if(1&t&&(e.TgZ(0,"option",32),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Tn(t,o){1&t&&(e.TgZ(0,"span",29),e.SDv(1,33),e.qZA())}function Sn(t,o){1&t&&(e.TgZ(0,"span",29),e.SDv(1,48),e.qZA())}function fn(t,o){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",41),e.SDv(2,42),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"div",43),e._UZ(5,"input",44),e.TgZ(6,"span",45),e._UZ(7,"button",46),e._UZ(8,"cd-copy-2-clipboard-button",47),e.qZA(),e.qZA(),e.YNc(9,Sn,2,0,"span",15),e.qZA(),e.qZA()),2&t){const _=e.oxw(2),n=e.MAs(7);e.xp6(9),e.Q6J("ngIf",_.formGroup.showError("secret_key",n,"required"))}}function Cn(t,o){if(1&t&&(e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,34),e.qZA(),e.TgZ(3,"div",7),e.TgZ(4,"div",35),e.TgZ(5,"div",36),e._UZ(6,"input",37),e.TgZ(7,"label",38),e.SDv(8,39),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(9,fn,10,1,"div",40),e.qZA()),2&t){const _=e.oxw();e.xp6(9),e.Q6J("ngIf",!_.editing&&!_.formGroup.getValue("generate_secret"))}}const pn=function(t){return{required:t}},Mn=function(){return["read","write"]};let mn=(()=>{class t{constructor(_,n,i){this.formBuilder=_,this.bsModalRef=n,this.actionLabels=i,this.submitAction=new e.vpe,this.editing=!0,this.subusers=[],this.resource="Subuser",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({uid:[null],subuid:[null,[a.kI.required,this.subuserValidator()]],perm:[null,[a.kI.required]],generate_secret:[!0],secret_key:[null,[m.h.requiredIf({generate_secret:!1})]]})}subuserValidator(){const _=this;return n=>_.editing||(0,m.P)(n.value)?null:_.subusers.some(s=>u().isEqual(_.getSubuserName(s.id),n.value))?{subuserIdExists:!0}:null}getSubuserName(_){if(u().isEmpty(_))return _;const n=_.match(/([^:]+)(:(.+))?/);return u().isUndefined(n[3])?n[1]:n[3]}setEditing(_=!0){this.editing=_,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE}setValues(_,n="",i=""){this.formGroup.setValue({uid:_,subuid:this.getSubuserName(n),perm:i,generate_secret:!0,secret_key:null})}setSubusers(_){this.subusers=_}onSubmit(){const _=this.formGroup.value,n=new un;n.id=`${_.uid}:${_.subuid}`,n.permissions=_.perm,n.generate_secret=_.generate_secret,n.secret_key=_.secret_key,this.submitAction.emit(n),this.bsModalRef.close()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(J.O),e.Y36(M.Kz),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-subuser-modal"]],outputs:{submitAction:"submitAction"},decls:39,vars:26,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Username",n="Subuser",i="Permission",s="-- Select a permission --",c="read, write",d="full",E="This field is required.",g="The chosen subuser ID is already in use.",C="This field is required.",b="Swift key",P="Auto-generate secret",G="Secret key",N="This field is required.",[[3,"modalRef"],[1,"modal-title"],o,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","uid",1,"cd-col-form-label"],_,[1,"cd-col-form-input"],["id","uid","type","text","formControlName","uid",1,"form-control",3,"readonly"],["for","subuid",1,"cd-col-form-label",3,"ngClass"],n,["id","subuid","type","text","formControlName","subuid","autofocus","",1,"form-control",3,"readonly"],["class","invalid-feedback",4,"ngIf"],["for","perm",1,"cd-col-form-label","required"],i,["id","perm","formControlName","perm",1,"form-control"],[3,"ngValue"],s,[3,"value",4,"ngFor","ngForOf"],["value","read-write"],c,["value","full-control"],d,[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],E,g,[3,"value"],C,b,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","generate_secret","type","checkbox","formControlName","generate_secret",1,"custom-control-input"],["for","generate_secret",1,"custom-control-label"],P,["class","form-group row",4,"ngIf"],["for","secret_key",1,"cd-col-form-label","required"],G,[1,"input-group"],["id","secret_key","type","password","formControlName","secret_key",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],N]},template:function(_,n){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.qZA(),e.qZA(),e.TgZ(14,"div",7),e.TgZ(15,"label",12),e.SDv(16,13),e.qZA(),e.TgZ(17,"div",10),e._UZ(18,"input",14),e.YNc(19,Rn,2,0,"span",15),e.YNc(20,gn,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(21,"div",7),e.TgZ(22,"label",16),e.SDv(23,17),e.qZA(),e.TgZ(24,"div",10),e.TgZ(25,"select",18),e.TgZ(26,"option",19),e.SDv(27,20),e.qZA(),e.YNc(28,En,2,2,"option",21),e.TgZ(29,"option",22),e.SDv(30,23),e.qZA(),e.TgZ(31,"option",24),e.SDv(32,25),e.qZA(),e.qZA(),e.YNc(33,Tn,2,0,"span",15),e.qZA(),e.qZA(),e.YNc(34,Cn,10,1,"fieldset",26),e.qZA(),e.TgZ(35,"div",27),e.TgZ(36,"cd-form-button-panel",28),e.NdJ("submitActionEvent",function(){return n.onSubmit()}),e.ALo(37,"titlecase"),e.ALo(38,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const i=e.MAs(7);e.Q6J("modalRef",n.bsModalRef),e.xp6(4),e.pQV(e.lcZ(3,15,n.action))(e.lcZ(4,17,n.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",n.formGroup),e.xp6(7),e.Q6J("readonly",!0),e.xp6(2),e.Q6J("ngClass",e.VKq(23,pn,!n.editing)),e.xp6(3),e.Q6J("readonly",n.editing),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("subuid",i,"required")),e.xp6(1),e.Q6J("ngIf",n.formGroup.showError("subuid",i,"subuserIdExists")),e.xp6(6),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(25,Mn)),e.xp6(5),e.Q6J("ngIf",n.formGroup.showError("perm",i,"required")),e.xp6(1),e.Q6J("ngIf",!n.editing),e.xp6(2),e.Q6J("form",n.formGroup)("submitText",e.lcZ(37,19,n.action)+" "+e.lcZ(38,21,n.resource))}},directives:[fe.z,a._Y,a.JL,V.V,a.sg,H.P,q.o,a.Fj,X.b,a.JJ,a.u,f.mk,j.U,f.O5,a.EJ,a.YN,a.Kr,f.sg,ee.p,a.Wl,Ce.C,pe.s],pipes:[f.rS,K.m],styles:[""]}),t})();var An=r(13472);let Ye=(()=>{class t{constructor(_,n){this.activeModal=_,this.actionLabels=n,this.resource="Swift Key",this.action=this.actionLabels.SHOW}setValues(_,n){this.user=_,this.secret_key=n}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(M.Kz),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-swift-key-modal"]],decls:24,vars:11,consts:function(){let o,_,n;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Username",n="Secret key",[[3,"modalRef"],[1,"modal-title"],o,[1,"modal-content"],[1,"modal-body"],["novalidate",""],[1,"form-group","row"],["for","user",1,"cd-col-form-label"],_,[1,"cd-col-form-input"],["id","user","name","user","type","text",1,"form-control",3,"readonly","ngModel","ngModelChange"],["for","secret_key",1,"cd-col-form-label"],n,[1,"input-group"],["id","secret_key","name","secret_key","type","password",1,"form-control",3,"ngModel","readonly","ngModelChange"],[1,"input-group-append"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],[1,"modal-footer"],[3,"backAction"]]},template:function(_,n){1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"div",4),e.TgZ(7,"form",5),e.TgZ(8,"div",6),e.TgZ(9,"label",7),e.SDv(10,8),e.qZA(),e.TgZ(11,"div",9),e.TgZ(12,"input",10),e.NdJ("ngModelChange",function(s){return n.user=s}),e.qZA(),e.qZA(),e.qZA(),e.TgZ(13,"div",6),e.TgZ(14,"label",11),e.SDv(15,12),e.qZA(),e.TgZ(16,"div",9),e.TgZ(17,"div",13),e.TgZ(18,"input",14),e.NdJ("ngModelChange",function(s){return n.secret_key=s}),e.qZA(),e.TgZ(19,"span",15),e._UZ(20,"button",16),e._UZ(21,"cd-copy-2-clipboard-button",17),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(22,"div",18),e.TgZ(23,"cd-back-button",19),e.NdJ("backAction",function(){return n.activeModal.close()}),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_&&(e.Q6J("modalRef",n.activeModal),e.xp6(4),e.pQV(e.lcZ(3,7,n.action))(e.lcZ(4,9,n.resource)),e.QtT(2),e.xp6(8),e.Q6J("readonly",!0)("ngModel",n.user),e.xp6(6),e.Q6J("ngModel",n.secret_key)("readonly",!0))},directives:[fe.z,a._Y,a.JL,a.F,H.P,q.o,a.Fj,X.b,a.JJ,a.On,Ce.C,pe.s,An.W],pipes:[f.rS,K.m],styles:[""]}),t})();var bn=r(17932);function Pn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,50),e.qZA())}function Gn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,51),e.qZA())}function Nn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,52),e.qZA())}function On(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,56),e.qZA())}function Un(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,57),e.qZA())}function Wn(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",53),e.SDv(2,54),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",55),e.YNc(5,On,2,0,"span",13),e.YNc(6,Un,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(4),e.Q6J("readonly",n.editing),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("tenant",_,"pattern")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("tenant",_,"notUnique"))}}function Zn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,58),e.qZA())}function $n(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,59),e.qZA())}function hn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,60),e.qZA())}function In(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,63),e.qZA())}function vn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,64),e.qZA())}function Fn(t,o){if(1&t&&(e.TgZ(0,"div",8),e._UZ(1,"label",61),e.TgZ(2,"div",11),e._UZ(3,"input",62),e.YNc(4,In,2,0,"span",13),e.YNc(5,vn,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(4),e.Q6J("ngIf",n.userForm.showError("max_buckets",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("max_buckets",_,"min"))}}function Ln(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,76),e.qZA())}function Dn(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",69),e.SDv(2,70),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"div",71),e._UZ(5,"input",72),e.TgZ(6,"span",73),e._UZ(7,"button",74),e._UZ(8,"cd-copy-2-clipboard-button",75),e.qZA(),e.qZA(),e.YNc(9,Ln,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),n=e.oxw();e.xp6(9),e.Q6J("ngIf",n.userForm.showError("access_key",_,"required"))}}function xn(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,82),e.qZA())}function yn(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",77),e.SDv(2,78),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"div",71),e._UZ(5,"input",79),e.TgZ(6,"span",73),e._UZ(7,"button",80),e._UZ(8,"cd-copy-2-clipboard-button",81),e.qZA(),e.qZA(),e.YNc(9,xn,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),n=e.oxw();e.xp6(9),e.Q6J("ngIf",n.userForm.showError("secret_key",_,"required"))}}function qn(t,o){if(1&t&&(e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,65),e.qZA(),e.TgZ(3,"div",8),e.TgZ(4,"div",14),e.TgZ(5,"div",15),e._UZ(6,"input",66),e.TgZ(7,"label",67),e.SDv(8,68),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(9,Dn,10,1,"div",19),e.YNc(10,yn,10,1,"div",19),e.qZA()),2&t){const _=e.oxw(2);e.xp6(9),e.Q6J("ngIf",!_.editing&&!_.userForm.getValue("generate_key")),e.xp6(1),e.Q6J("ngIf",!_.editing&&!_.userForm.getValue("generate_key"))}}function wn(t,o){1&t&&(e.TgZ(0,"span",92),e.TgZ(1,"span",93),e.SDv(2,94),e.qZA(),e.qZA())}const L=function(t){return[t]};function kn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"span"),e.TgZ(1,"div",71),e.TgZ(2,"div",95),e.TgZ(3,"span",96),e._UZ(4,"i"),e.qZA(),e.qZA(),e._UZ(5,"input",97),e.TgZ(6,"div",98),e.TgZ(7,"span",96),e._UZ(8,"i"),e.qZA(),e.qZA(),e._UZ(9,"input",97),e.TgZ(10,"span",73),e.TgZ(11,"button",99),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).showSubuserModal(s)}),e._UZ(12,"i",89),e.qZA(),e.TgZ(13,"button",100),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).deleteSubuser(s)}),e._UZ(14,"i",89),e.qZA(),e.qZA(),e.qZA(),e._UZ(15,"span",93),e.qZA()}if(2&t){const _=o.$implicit,n=e.oxw(3);e.xp6(4),e.Tol(n.icons.user),e.xp6(1),e.s9C("value",_.id),e.xp6(3),e.Tol(n.icons.share),e.xp6(1),e.s9C("value","full-control"===_.permissions?"full":_.permissions),e.xp6(3),e.Q6J("ngClass",e.VKq(10,L,n.icons.edit)),e.xp6(2),e.Q6J("ngClass",e.VKq(12,L,n.icons.destroy))}}function Bn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,83),e.qZA(),e.TgZ(3,"div",84),e.TgZ(4,"div",14),e.YNc(5,wn,3,0,"span",85),e.YNc(6,kn,16,14,"span",86),e.TgZ(7,"div",84),e.TgZ(8,"div",87),e.TgZ(9,"button",88),e.NdJ("click",function(){return e.CHM(_),e.oxw(2).showSubuserModal()}),e._UZ(10,"i",89),e.ynx(11),e.SDv(12,90),e.ALo(13,"titlecase"),e.ALo(14,"upperFirst"),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(15,"span",91),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(2);e.xp6(5),e.Q6J("ngIf",0===_.subusers.length),e.xp6(1),e.Q6J("ngForOf",_.subusers),e.xp6(4),e.Q6J("ngClass",e.VKq(9,L,_.icons.add)),e.xp6(4),e.pQV(e.lcZ(13,5,_.actionLabels.CREATE))(e.lcZ(14,7,_.subuserLabel)),e.QtT(12)}}function Hn(t,o){1&t&&(e.TgZ(0,"span",92),e.TgZ(1,"span",93),e.SDv(2,106),e.qZA(),e.qZA())}function Xn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"span"),e.TgZ(1,"div",71),e.TgZ(2,"div",95),e.TgZ(3,"div",96),e._UZ(4,"i"),e.qZA(),e.qZA(),e._UZ(5,"input",97),e.TgZ(6,"span",73),e.TgZ(7,"button",107),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).showS3KeyModal(s)}),e._UZ(8,"i",89),e.qZA(),e.TgZ(9,"button",108),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).deleteS3Key(s)}),e._UZ(10,"i",89),e.qZA(),e.qZA(),e.qZA(),e._UZ(11,"span",93),e.qZA()}if(2&t){const _=o.$implicit,n=e.oxw(3);e.xp6(4),e.Tol(n.icons.key),e.xp6(1),e.s9C("value",_.user),e.xp6(3),e.Q6J("ngClass",e.VKq(6,L,n.icons.show)),e.xp6(2),e.Q6J("ngClass",e.VKq(8,L,n.icons.destroy))}}function Kn(t,o){1&t&&(e.TgZ(0,"span",92),e.TgZ(1,"span",93),e.SDv(2,109),e.qZA(),e.qZA())}function zn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"span"),e.TgZ(1,"div",71),e.TgZ(2,"div",95),e.TgZ(3,"span",96),e._UZ(4,"i"),e.qZA(),e.qZA(),e._UZ(5,"input",97),e.TgZ(6,"span",73),e.TgZ(7,"button",110),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).showSwiftKeyModal(s)}),e._UZ(8,"i",89),e.qZA(),e.qZA(),e.qZA(),e._UZ(9,"span",93),e.qZA()}if(2&t){const _=o.$implicit,n=e.oxw(3);e.xp6(4),e.Tol(n.icons.key),e.xp6(1),e.s9C("value",_.user),e.xp6(3),e.Q6J("ngClass",e.VKq(5,L,n.icons.show))}}function Qn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,101),e.qZA(),e.TgZ(3,"div",8),e.TgZ(4,"label",61),e.SDv(5,102),e.qZA(),e.TgZ(6,"div",11),e.YNc(7,Hn,3,0,"span",85),e.YNc(8,Xn,12,10,"span",86),e.TgZ(9,"div",84),e.TgZ(10,"div",87),e.TgZ(11,"button",103),e.NdJ("click",function(){return e.CHM(_),e.oxw(2).showS3KeyModal()}),e._UZ(12,"i",89),e.ynx(13),e.SDv(14,104),e.ALo(15,"titlecase"),e.ALo(16,"upperFirst"),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(17,"span",91),e.qZA(),e._UZ(18,"hr"),e.qZA(),e.TgZ(19,"div",8),e.TgZ(20,"label",61),e.SDv(21,105),e.qZA(),e.TgZ(22,"div",11),e.YNc(23,Kn,3,0,"span",85),e.YNc(24,zn,10,7,"span",86),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(2);e.xp6(7),e.Q6J("ngIf",0===_.s3Keys.length),e.xp6(1),e.Q6J("ngForOf",_.s3Keys),e.xp6(4),e.Q6J("ngClass",e.VKq(11,L,_.icons.add)),e.xp6(4),e.pQV(e.lcZ(15,7,_.actionLabels.CREATE))(e.lcZ(16,9,_.s3keyLabel)),e.QtT(14),e.xp6(7),e.Q6J("ngIf",0===_.swiftKeys.length),e.xp6(1),e.Q6J("ngForOf",_.swiftKeys)}}function Yn(t,o){1&t&&(e.TgZ(0,"span",92),e.TgZ(1,"span",93),e.SDv(2,114),e.qZA(),e.qZA())}function Jn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"span"),e.TgZ(1,"div",71),e.TgZ(2,"span",95),e.TgZ(3,"div",96),e._UZ(4,"i"),e.qZA(),e.qZA(),e._UZ(5,"input",97),e.TgZ(6,"span",73),e.TgZ(7,"button",115),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).showCapabilityModal(s)}),e._UZ(8,"i",89),e.qZA(),e.TgZ(9,"button",116),e.NdJ("click",function(){const s=e.CHM(_).index;return e.oxw(3).deleteCapability(s)}),e._UZ(10,"i",89),e.qZA(),e.qZA(),e.qZA(),e._UZ(11,"span",93),e.qZA()}if(2&t){const _=o.$implicit,n=e.oxw(3);e.xp6(4),e.Tol(n.icons.share),e.xp6(1),e.hYB("value","",_.type,":",_.perm,""),e.xp6(3),e.Q6J("ngClass",e.VKq(7,L,n.icons.edit)),e.xp6(2),e.Q6J("ngClass",e.VKq(9,L,n.icons.destroy))}}function Vn(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"fieldset"),e.TgZ(1,"legend"),e.SDv(2,111),e.qZA(),e.TgZ(3,"div",8),e.TgZ(4,"div",14),e.YNc(5,Yn,3,0,"span",85),e.YNc(6,Jn,12,11,"span",86),e.TgZ(7,"div",84),e.TgZ(8,"div",87),e.TgZ(9,"button",112),e.NdJ("click",function(){return e.CHM(_),e.oxw(2).showCapabilityModal()}),e.ALo(10,"pipeFunction"),e.ALo(11,"pipeFunction"),e._UZ(12,"i",89),e.ynx(13),e.SDv(14,113),e.ALo(15,"titlecase"),e.ALo(16,"upperFirst"),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(17,"span",91),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(2);e.xp6(5),e.Q6J("ngIf",0===_.capabilities.length),e.xp6(1),e.Q6J("ngForOf",_.capabilities),e.xp6(3),e.Q6J("disabled",e.xi3(10,7,_.capabilities,_.hasAllCapabilities))("disableTooltip",!e.xi3(11,10,_.capabilities,_.hasAllCapabilities)),e.xp6(3),e.Q6J("ngClass",e.VKq(17,L,_.icons.add)),e.xp6(4),e.pQV(e.lcZ(15,13,_.actionLabels.ADD))(e.lcZ(16,15,_.capabilityLabel)),e.QtT(14)}}function jn(t,o){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"div",14),e.TgZ(2,"div",15),e._UZ(3,"input",117),e.TgZ(4,"label",118),e.SDv(5,119),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function eo(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,123),e.qZA())}function _o(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,124),e.qZA())}function to(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",120),e.SDv(2,121),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",122),e.YNc(5,eo,2,0,"span",13),e.YNc(6,_o,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.userForm.showError("user_quota_max_size",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("user_quota_max_size",_,"quotaMaxSize"))}}function no(t,o){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"div",14),e.TgZ(2,"div",15),e._UZ(3,"input",125),e.TgZ(4,"label",126),e.SDv(5,127),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function oo(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,131),e.qZA())}function io(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,132),e.qZA())}function so(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",128),e.SDv(2,129),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",130),e.YNc(5,oo,2,0,"span",13),e.YNc(6,io,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.userForm.showError("user_quota_max_objects",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("user_quota_max_objects",_,"min"))}}function ao(t,o){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"div",14),e.TgZ(2,"div",15),e._UZ(3,"input",133),e.TgZ(4,"label",134),e.SDv(5,135),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function ro(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,139),e.qZA())}function lo(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,140),e.qZA())}function co(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",136),e.SDv(2,137),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",138),e.YNc(5,ro,2,0,"span",13),e.YNc(6,lo,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.userForm.showError("bucket_quota_max_size",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("bucket_quota_max_size",_,"quotaMaxSize"))}}function uo(t,o){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"div",14),e.TgZ(2,"div",15),e._UZ(3,"input",141),e.TgZ(4,"label",142),e.SDv(5,143),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function Ro(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,147),e.qZA())}function go(t,o){1&t&&(e.TgZ(0,"span",49),e.SDv(1,148),e.qZA())}function Eo(t,o){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",144),e.SDv(2,145),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",146),e.YNc(5,Ro,2,0,"span",13),e.YNc(6,go,2,0,"span",13),e.qZA(),e.qZA()),2&t){e.oxw();const _=e.MAs(2),n=e.oxw();e.xp6(5),e.Q6J("ngIf",n.userForm.showError("bucket_quota_max_objects",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("bucket_quota_max_objects",_,"min"))}}const Je=function(t){return{required:t}};function To(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",12),e.YNc(14,Pn,2,0,"span",13),e.YNc(15,Gn,2,0,"span",13),e.YNc(16,Nn,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(17,"div",8),e.TgZ(18,"div",14),e.TgZ(19,"div",15),e.TgZ(20,"input",16),e.NdJ("click",function(){return e.CHM(_),e.oxw().updateFieldsWhenTenanted()}),e.qZA(),e.TgZ(21,"label",17),e.SDv(22,18),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(23,Wn,7,3,"div",19),e.TgZ(24,"div",8),e.TgZ(25,"label",20),e.SDv(26,21),e.qZA(),e.TgZ(27,"div",11),e._UZ(28,"input",22),e.YNc(29,Zn,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(30,"div",8),e.TgZ(31,"label",23),e.SDv(32,24),e.qZA(),e.TgZ(33,"div",11),e._UZ(34,"input",25),e.YNc(35,$n,2,0,"span",13),e.YNc(36,hn,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(37,"div",8),e.TgZ(38,"label",26),e.SDv(39,27),e.qZA(),e.TgZ(40,"div",11),e.TgZ(41,"select",28),e.NdJ("change",function(i){return e.CHM(_),e.oxw().onMaxBucketsModeChange(i.target.value)}),e.TgZ(42,"option",29),e.SDv(43,30),e.qZA(),e.TgZ(44,"option",31),e.SDv(45,32),e.qZA(),e.TgZ(46,"option",33),e.SDv(47,34),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(48,Fn,6,2,"div",19),e.TgZ(49,"div",8),e.TgZ(50,"div",14),e.TgZ(51,"div",15),e._UZ(52,"input",35),e.TgZ(53,"label",36),e.SDv(54,37),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(55,qn,11,2,"fieldset",38),e.YNc(56,Bn,16,11,"fieldset",38),e.YNc(57,Qn,25,13,"fieldset",38),e.YNc(58,Vn,18,19,"fieldset",38),e.TgZ(59,"fieldset"),e.TgZ(60,"legend"),e.SDv(61,39),e.qZA(),e.TgZ(62,"div",8),e.TgZ(63,"div",14),e.TgZ(64,"div",15),e._UZ(65,"input",40),e.TgZ(66,"label",41),e.SDv(67,42),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(68,jn,6,0,"div",19),e.YNc(69,to,7,2,"div",19),e.YNc(70,no,6,0,"div",19),e.YNc(71,so,7,2,"div",19),e.qZA(),e.TgZ(72,"fieldset"),e.TgZ(73,"legend"),e.SDv(74,43),e.qZA(),e.TgZ(75,"div",8),e.TgZ(76,"div",14),e.TgZ(77,"div",15),e._UZ(78,"input",44),e.TgZ(79,"label",45),e.SDv(80,46),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(81,ao,6,0,"div",19),e.YNc(82,co,7,2,"div",19),e.YNc(83,uo,6,0,"div",19),e.YNc(84,Eo,7,2,"div",19),e.qZA(),e.qZA(),e.TgZ(85,"div",47),e.TgZ(86,"cd-form-button-panel",48),e.NdJ("submitActionEvent",function(){return e.CHM(_),e.oxw().onSubmit()}),e.ALo(87,"titlecase"),e.ALo(88,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.MAs(2),n=e.oxw();e.xp6(1),e.Q6J("formGroup",n.userForm),e.xp6(6),e.pQV(e.lcZ(6,29,n.action))(e.lcZ(7,31,n.resource)),e.QtT(5),e.xp6(3),e.Q6J("ngClass",e.VKq(37,Je,!n.editing)),e.xp6(3),e.Q6J("readonly",n.editing),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("user_id",_,"required")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("user_id",_,"pattern")),e.xp6(1),e.Q6J("ngIf",!n.userForm.getValue("show_tenant")&&n.userForm.showError("user_id",_,"notUnique")),e.xp6(4),e.Q6J("readonly",!0),e.xp6(3),e.Q6J("ngIf",n.userForm.getValue("show_tenant")),e.xp6(2),e.Q6J("ngClass",e.VKq(39,Je,!n.editing)),e.xp6(4),e.Q6J("ngIf",n.userForm.showError("display_name",_,"required")),e.xp6(6),e.Q6J("ngIf",n.userForm.showError("email",_,"email")),e.xp6(1),e.Q6J("ngIf",n.userForm.showError("email",_,"notUnique")),e.xp6(12),e.Q6J("ngIf",1==n.userForm.get("max_buckets_mode").value),e.xp6(7),e.Q6J("ngIf",!n.editing),e.xp6(1),e.Q6J("ngIf",n.editing),e.xp6(1),e.Q6J("ngIf",n.editing),e.xp6(1),e.Q6J("ngIf",n.editing),e.xp6(10),e.Q6J("ngIf",n.userForm.controls.user_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.user_quota_enabled.value&&!n.userForm.getValue("user_quota_max_size_unlimited")),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.user_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.user_quota_enabled.value&&!n.userForm.getValue("user_quota_max_objects_unlimited")),e.xp6(10),e.Q6J("ngIf",n.userForm.controls.bucket_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.bucket_quota_enabled.value&&!n.userForm.getValue("bucket_quota_max_size_unlimited")),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.bucket_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",n.userForm.controls.bucket_quota_enabled.value&&!n.userForm.getValue("bucket_quota_max_objects_unlimited")),e.xp6(2),e.Q6J("form",n.userForm)("submitText",e.lcZ(87,33,n.action)+" "+e.lcZ(88,35,n.resource))}}let Ve=(()=>{class t extends Ie.E{constructor(_,n,i,s,c,d,E){super(),this.formBuilder=_,this.route=n,this.router=i,this.rgwUserService=s,this.modalService=c,this.notificationService=d,this.actionLabels=E,this.editing=!1,this.submitObservables=[],this.icons=D.P,this.subusers=[],this.s3Keys=[],this.swiftKeys=[],this.capabilities=[],this.showTenant=!1,this.previousTenant=null,this.resource="user",this.subuserLabel="subuser",this.s3keyLabel="S3 Key",this.capabilityLabel="capability",this.editing=this.router.url.startsWith(`/rgw/user/${A.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.createForm()}createForm(){this.userForm=this.formBuilder.group({user_id:[null,[a.kI.required,a.kI.pattern(/^[a-zA-Z0-9!@#%^&*()_-]+$/)],this.editing?[]:[m.h.unique(this.rgwUserService.exists,this.rgwUserService,()=>this.userForm.getValue("tenant"))]],show_tenant:[this.editing],tenant:[null,[a.kI.pattern(/^[a-zA-Z0-9!@#%^&*()_-]+$/)],this.editing?[]:[m.h.unique(this.rgwUserService.exists,this.rgwUserService,()=>this.userForm.getValue("user_id"),!0)]],display_name:[null,[a.kI.required]],email:[null,[m.h.email],[m.h.unique(this.rgwUserService.emailExists,this.rgwUserService)]],max_buckets_mode:[1],max_buckets:[1e3,[m.h.requiredIf({max_buckets_mode:"1"}),m.h.number(!1)]],suspended:[!1],generate_key:[!0],access_key:[null,[m.h.requiredIf({generate_key:!1})]],secret_key:[null,[m.h.requiredIf({generate_key:!1})]],user_quota_enabled:[!1],user_quota_max_size_unlimited:[!0],user_quota_max_size:[null,[m.h.composeIf({user_quota_enabled:!0,user_quota_max_size_unlimited:!1},[a.kI.required,this.quotaMaxSizeValidator])]],user_quota_max_objects_unlimited:[!0],user_quota_max_objects:[null,[m.h.requiredIf({user_quota_enabled:!0,user_quota_max_objects_unlimited:!1})]],bucket_quota_enabled:[!1],bucket_quota_max_size_unlimited:[!0],bucket_quota_max_size:[null,[m.h.composeIf({bucket_quota_enabled:!0,bucket_quota_max_size_unlimited:!1},[a.kI.required,this.quotaMaxSizeValidator])]],bucket_quota_max_objects_unlimited:[!0],bucket_quota_max_objects:[null,[m.h.requiredIf({bucket_quota_enabled:!0,bucket_quota_max_objects_unlimited:!1})]]})}ngOnInit(){this.route.params.subscribe(_=>{if(!_.hasOwnProperty("uid"))return void this.loadingReady();const n=decodeURIComponent(_.uid),i=[];i.push(this.rgwUserService.get(n)),i.push(this.rgwUserService.getQuota(n)),(0,Y.D)(i).subscribe(s=>{const c=u().clone(this.userForm.value);let d=u().pick(s[0],u().keys(this.userForm.value));switch(d.max_buckets){case-1:d.max_buckets_mode=-1,d.max_buckets="";break;case 0:d.max_buckets_mode=0,d.max_buckets="";break;default:d.max_buckets_mode=1}["user","bucket"].forEach(g=>{const C=s[1][g+"_quota"];d[g+"_quota_enabled"]=C.enabled,C.max_size<0?(d[g+"_quota_max_size_unlimited"]=!0,d[g+"_quota_max_size"]=null):(d[g+"_quota_max_size_unlimited"]=!1,d[g+"_quota_max_size"]=`${C.max_size} B`),C.max_objects<0?(d[g+"_quota_max_objects_unlimited"]=!0,d[g+"_quota_max_objects"]=null):(d[g+"_quota_max_objects_unlimited"]=!1,d[g+"_quota_max_objects"]=C.max_objects)}),d=u().merge(c,d),this.userForm.setValue(d),this.subusers=s[0].subusers,this.s3Keys=s[0].keys,this.swiftKeys=s[0].swift_keys;const E={"read, write":"*"};s[0].caps.forEach(g=>{g.perm in E&&(g.perm=E[g.perm])}),this.capabilities=s[0].caps,this.loadingReady()},()=>{this.loadingError()})})}goToListView(){this.router.navigate(["/rgw/user"])}onSubmit(){let _;if(this.userForm.pristine)return void this.goToListView();const n=this.getUID();if(this.editing){if(this._isGeneralDirty()){const i=this._getUpdateArgs();this.submitObservables.push(this.rgwUserService.update(n,i))}_="Updated Object Gateway user '" + n + "'"}else{const i=this._getCreateArgs();this.submitObservables.push(this.rgwUserService.create(i)),_="Created Object Gateway user '" + n + "'"}if(this._isUserQuotaDirty()){const i=this._getUserQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(n,i))}if(this._isBucketQuotaDirty()){const i=this._getBucketQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(n,i))}(0,Bt.z)(...this.submitObservables).subscribe({error:()=>{this.userForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.notificationService.show(Ae.k.success,_),this.goToListView()}})}updateFieldsWhenTenanted(){this.showTenant=this.userForm.getValue("show_tenant"),this.showTenant?(this.userForm.get("user_id").markAsTouched(),this.previousTenant=this.userForm.get("tenant").value,this.userForm.get("tenant").patchValue(null)):(this.userForm.get("user_id").markAsUntouched(),this.userForm.get("tenant").patchValue(this.previousTenant))}getUID(){var _;let n=this.userForm.getValue("user_id");const i=null===(_=this.userForm)||void 0===_?void 0:_.getValue("tenant");return i&&i.length>0&&(n=`${this.userForm.getValue("tenant")}$${n}`),n}quotaMaxSizeValidator(_){return(0,m.P)(_.value)?null:null===RegExp("^(\\d+(\\.\\d+)?)\\s*(B|K(B|iB)?|M(B|iB)?|G(B|iB)?|T(B|iB)?)?$","i").exec(_.value)||(new Ge.H).toBytes(_.value)<1024?{quotaMaxSize:!0}:null}setSubuser(_,n){const i={"full-control":"full","read-write":"readwrite"},s=this.getUID();this.submitObservables.push(this.rgwUserService.createSubuser(s,{subuser:_.id,access:_.permissions in i?i[_.permissions]:_.permissions,key_type:"swift",secret_key:_.secret_key,generate_secret:_.generate_secret?"true":"false"})),u().isNumber(n)?this.subusers[n]=_:(this.subusers.push(_),this.swiftKeys.push({user:_.id,secret_key:_.generate_secret?"Apply your changes first...":_.secret_key})),this.userForm.markAsDirty()}deleteSubuser(_){const n=this.subusers[_];this.submitObservables.push(this.rgwUserService.deleteSubuser(this.getUID(),n.id)),this.s3Keys=this.s3Keys.filter(i=>i.user!==n.id),this.swiftKeys=this.swiftKeys.filter(i=>i.user!==n.id),this.subusers.splice(_,1),this.userForm.markAsDirty()}setCapability(_,n){const i=this.getUID();if(u().isNumber(n)){const s=this.capabilities[n];this.submitObservables.push(this.rgwUserService.deleteCapability(i,s.type,s.perm)),this.submitObservables.push(this.rgwUserService.addCapability(i,_.type,_.perm)),this.capabilities[n]=_}else this.submitObservables.push(this.rgwUserService.addCapability(i,_.type,_.perm)),this.capabilities=[...this.capabilities,_];this.userForm.markAsDirty()}deleteCapability(_){const n=this.capabilities[_];this.submitObservables.push(this.rgwUserService.deleteCapability(this.getUID(),n.type,n.perm)),this.capabilities.splice(_,1),this.capabilities=[...this.capabilities],this.userForm.markAsDirty()}hasAllCapabilities(_){return!u().difference(ze.getAll(),u().map(_,"type")).length}setS3Key(_,n){if(!u().isNumber(n)){const i=_.user.match(/([^:]+)(:(.+))?/),s=i[1],c={subuser:i[2]?i[3]:"",generate_key:_.generate_key?"true":"false"};"false"===c.generate_key&&(u().isNil(_.access_key)||(c.access_key=_.access_key),u().isNil(_.secret_key)||(c.secret_key=_.secret_key)),this.submitObservables.push(this.rgwUserService.addS3Key(s,c)),this.s3Keys.push({user:_.user,access_key:_.generate_key?"Apply your changes first...":_.access_key,secret_key:_.generate_key?"Apply your changes first...":_.secret_key})}this.userForm.markAsDirty()}deleteS3Key(_){const n=this.s3Keys[_];this.submitObservables.push(this.rgwUserService.deleteS3Key(this.getUID(),n.access_key)),this.s3Keys.splice(_,1),this.userForm.markAsDirty()}showSubuserModal(_){const n=this.getUID(),i=this.modalService.show(mn);if(u().isNumber(_)){const s=this.subusers[_];i.componentInstance.setEditing(),i.componentInstance.setValues(n,s.id,s.permissions)}else i.componentInstance.setEditing(!1),i.componentInstance.setValues(n),i.componentInstance.setSubusers(this.subusers);i.componentInstance.submitAction.subscribe(s=>{this.setSubuser(s,_)})}showS3KeyModal(_){const n=this.modalService.show(Qe);if(u().isNumber(_)){const i=this.s3Keys[_];n.componentInstance.setViewing(),n.componentInstance.setValues(i.user,i.access_key,i.secret_key)}else{const i=this._getS3KeyUserCandidates();n.componentInstance.setViewing(!1),n.componentInstance.setUserCandidates(i),n.componentInstance.submitAction.subscribe(s=>{this.setS3Key(s)})}}showSwiftKeyModal(_){const n=this.modalService.show(Ye),i=this.swiftKeys[_];n.componentInstance.setValues(i.user,i.secret_key)}showCapabilityModal(_){const n=this.modalService.show(en);if(u().isNumber(_)){const i=this.capabilities[_];n.componentInstance.setEditing(),n.componentInstance.setValues(i.type,i.perm)}else n.componentInstance.setEditing(!1),n.componentInstance.setCapabilities(this.capabilities);n.componentInstance.submitAction.subscribe(i=>{this.setCapability(i,_)})}_isGeneralDirty(){return["display_name","email","max_buckets_mode","max_buckets","suspended"].some(_=>this.userForm.get(_).dirty)}_isUserQuotaDirty(){return["user_quota_enabled","user_quota_max_size_unlimited","user_quota_max_size","user_quota_max_objects_unlimited","user_quota_max_objects"].some(_=>this.userForm.get(_).dirty)}_isBucketQuotaDirty(){return["bucket_quota_enabled","bucket_quota_max_size_unlimited","bucket_quota_max_size","bucket_quota_max_objects_unlimited","bucket_quota_max_objects"].some(_=>this.userForm.get(_).dirty)}_getCreateArgs(){const _={uid:this.getUID(),display_name:this.userForm.getValue("display_name"),suspended:this.userForm.getValue("suspended"),email:"",max_buckets:this.userForm.getValue("max_buckets"),generate_key:this.userForm.getValue("generate_key"),access_key:"",secret_key:""},n=this.userForm.getValue("email");u().isString(n)&&n.length>0&&u().merge(_,{email:n}),this.userForm.getValue("generate_key")||u().merge(_,{generate_key:!1,access_key:this.userForm.getValue("access_key"),secret_key:this.userForm.getValue("secret_key")});const s=parseInt(this.userForm.getValue("max_buckets_mode"),10);return u().includes([-1,0],s)&&u().merge(_,{max_buckets:s}),_}_getUpdateArgs(){const _={},n=["display_name","email","max_buckets","suspended"];for(const s of n)_[s]=this.userForm.getValue(s);const i=parseInt(this.userForm.getValue("max_buckets_mode"),10);return u().includes([-1,0],i)&&(_.max_buckets=i),_}_getUserQuotaArgs(){const _={quota_type:"user",enabled:this.userForm.getValue("user_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("user_quota_max_size_unlimited")){const n=(new Ge.H).toBytes(this.userForm.getValue("user_quota_max_size"));_.max_size_kb=(n/1024).toFixed(0)}return this.userForm.getValue("user_quota_max_objects_unlimited")||(_.max_objects=this.userForm.getValue("user_quota_max_objects")),_}_getBucketQuotaArgs(){const _={quota_type:"bucket",enabled:this.userForm.getValue("bucket_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("bucket_quota_max_size_unlimited")){const n=(new Ge.H).toBytes(this.userForm.getValue("bucket_quota_max_size"));_.max_size_kb=(n/1024).toFixed(0)}return this.userForm.getValue("bucket_quota_max_objects_unlimited")||(_.max_objects=this.userForm.getValue("bucket_quota_max_objects")),_}_getS3KeyUserCandidates(){let _=[];const n=this.getUID();return u().isString(n)&&!u().isEmpty(n)&&_.push(n),this.subusers.forEach(i=>{_.push(i.id)}),this.s3Keys.forEach(i=>{_.push(i.user)}),_=u().uniq(_),_}onMaxBucketsModeChange(_){"1"===_&&(this.userForm.get("max_buckets").valid||this.userForm.patchValue({max_buckets:1e3}))}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(J.O),e.Y36(w.gz),e.Y36(w.F0),e.Y36(O),e.Y36(Te.Z),e.Y36(ve.g),e.Y36(A.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F,T,x,y,S,_e,te,ne,oe,ie,se,ae,re,le,ce,de,ue,Re,R,__,t_,n_,o_,i_,s_,a_,r_,l_,c_,d_,u_,R_,g_,E_,T_,S_,f_,C_,p_,M_,m_,A_,b_,P_,G_;return o="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="User ID",n="Show Tenant",i="Full name",s="Email address",c="Max. buckets",d="Disabled",E="Unlimited",g="Custom",C="Suspended",b="User quota",P="Enabled",G="Bucket quota",N="Enabled",p="This field is required.",U="The value is not valid.",W="The chosen user ID is already in use.",Z="Tenant",$="The value is not valid.",h="The chosen user ID exists in this tenant.",I="This field is required.",v="This is not a valid email address.",F="The chosen email address is already in use.",T="This field is required.",x="The entered value must be >= 1.",y="S3 key",S="Auto-generate key",_e="Access key",te="This field is required.",ne="Secret key",oe="This field is required.",ie="Subusers",se="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",ae="There are no subusers.",re="Edit",le="Delete",ce="Keys",de="S3",ue="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",Re="Swift",R="There are no keys.",__="Show",t_="Delete",n_="There are no keys.",o_="Show",i_="Capabilities",s_="All capabilities are already added.",a_="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",r_="There are no capabilities.",l_="Edit",c_="Delete",d_="Unlimited size",u_="Max. size",R_="This field is required.",g_="The value is not valid.",E_="Unlimited objects",T_="Max. objects",S_="This field is required.",f_="The entered value must be >= 0.",C_="Unlimited size",p_="Max. size",M_="This field is required.",m_="The value is not valid.",A_="Unlimited objects",b_="Max. objects",P_="This field is required.",G_="The entered value must be >= 0.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],o,[1,"card-body"],[1,"form-group","row"],["for","user_id",1,"cd-col-form-label",3,"ngClass"],_,[1,"cd-col-form-input"],["id","user_id","type","text","formControlName","user_id",1,"form-control",3,"readonly"],["class","invalid-feedback",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","show_tenant","type","checkbox","formControlName","show_tenant",1,"custom-control-input",3,"readonly","click"],["for","show_tenant",1,"custom-control-label"],n,["class","form-group row",4,"ngIf"],["for","display_name",1,"cd-col-form-label",3,"ngClass"],i,["id","display_name","type","text","formControlName","display_name",1,"form-control"],["for","email",1,"cd-col-form-label"],s,["id","email","type","text","formControlName","email",1,"form-control"],["for","max_buckets_mode",1,"cd-col-form-label"],c,["formControlName","max_buckets_mode","name","max_buckets_mode","id","max_buckets_mode",1,"form-control",3,"change"],["value","-1"],d,["value","0"],E,["value","1"],g,["id","suspended","type","checkbox","formControlName","suspended",1,"custom-control-input"],["for","suspended",1,"custom-control-label"],C,[4,"ngIf"],b,["id","user_quota_enabled","type","checkbox","formControlName","user_quota_enabled",1,"custom-control-input"],["for","user_quota_enabled",1,"custom-control-label"],P,G,["id","bucket_quota_enabled","type","checkbox","formControlName","bucket_quota_enabled",1,"custom-control-input"],["for","bucket_quota_enabled",1,"custom-control-label"],N,[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],p,U,W,["for","tenant",1,"cd-col-form-label"],Z,["id","tenant","type","text","formControlName","tenant","autofocus","",1,"form-control",3,"readonly"],$,h,I,v,F,[1,"cd-col-form-label"],["id","max_buckets","type","number","formControlName","max_buckets","min","1",1,"form-control"],T,x,y,["id","generate_key","type","checkbox","formControlName","generate_key",1,"custom-control-input"],["for","generate_key",1,"custom-control-label"],S,["for","access_key",1,"cd-col-form-label","required"],_e,[1,"input-group"],["id","access_key","type","password","formControlName","access_key",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","access_key",1,"btn","btn-light"],["source","access_key"],te,["for","secret_key",1,"cd-col-form-label","required"],ne,["id","secret_key","type","password","formControlName","secret_key",1,"form-control"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],oe,ie,[1,"row"],["class","no-border",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"col-12"],["type","button",1,"btn","btn-light","float-right","tc_addSubuserButton",3,"click"],[3,"ngClass"],se,[1,"help-block"],[1,"no-border"],[1,"form-text","text-muted"],ae,[1,"input-group-prepend"],[1,"input-group-text"],["type","text","readonly","",1,"cd-form-control",3,"value"],[1,"input-group-prepend","border-left-0","border-right-0"],["type","button","ngbTooltip",re,1,"btn","btn-light","tc_showSubuserButton",3,"click"],["type","button","ngbTooltip",le,1,"btn","btn-light","tc_deleteSubuserButton",3,"click"],ce,de,["type","button",1,"btn","btn-light","float-right","tc_addS3KeyButton",3,"click"],ue,Re,R,["type","button","ngbTooltip",__,1,"btn","btn-light","tc_showS3KeyButton",3,"click"],["type","button","ngbTooltip",t_,1,"btn","btn-light","tc_deleteS3KeyButton",3,"click"],n_,["type","button","ngbTooltip",o_,1,"btn","btn-light","tc_showSwiftKeyButton",3,"click"],i_,["type","button","ngbTooltip",s_,"triggers","pointerenter:pointerleave",1,"btn","btn-light","float-right","tc_addCapButton",3,"disabled","disableTooltip","click"],a_,r_,["type","button","ngbTooltip",l_,1,"btn","btn-light","tc_editCapButton",3,"click"],["type","button","ngbTooltip",c_,1,"btn","btn-light","tc_deleteCapButton",3,"click"],["id","user_quota_max_size_unlimited","type","checkbox","formControlName","user_quota_max_size_unlimited",1,"custom-control-input"],["for","user_quota_max_size_unlimited",1,"custom-control-label"],d_,["for","user_quota_max_size",1,"cd-col-form-label","required"],u_,["id","user_quota_max_size","type","text","formControlName","user_quota_max_size","cdDimlessBinary","",1,"form-control"],R_,g_,["id","user_quota_max_objects_unlimited","type","checkbox","formControlName","user_quota_max_objects_unlimited",1,"custom-control-input"],["for","user_quota_max_objects_unlimited",1,"custom-control-label"],E_,["for","user_quota_max_objects",1,"cd-col-form-label","required"],T_,["id","user_quota_max_objects","type","number","formControlName","user_quota_max_objects","min","0",1,"form-control"],S_,f_,["id","bucket_quota_max_size_unlimited","type","checkbox","formControlName","bucket_quota_max_size_unlimited",1,"custom-control-input"],["for","bucket_quota_max_size_unlimited",1,"custom-control-label"],C_,["for","bucket_quota_max_size",1,"cd-col-form-label","required"],p_,["id","bucket_quota_max_size","type","text","formControlName","bucket_quota_max_size","cdDimlessBinary","",1,"form-control"],M_,m_,["id","bucket_quota_max_objects_unlimited","type","checkbox","formControlName","bucket_quota_max_objects_unlimited",1,"custom-control-input"],["for","bucket_quota_max_objects_unlimited",1,"custom-control-label"],A_,["for","bucket_quota_max_objects",1,"cd-col-form-label","required"],b_,["id","bucket_quota_max_objects","type","number","formControlName","bucket_quota_max_objects","min","0",1,"form-control"],P_,G_]},template:function(_,n){1&_&&e.YNc(0,To,89,41,"div",0),2&_&&e.Q6J("cdFormLoading",n.loading)},directives:[Fe.y,a._Y,a.JL,V.V,a.sg,H.P,f.mk,q.o,a.Fj,X.b,a.JJ,a.u,f.O5,a.Wl,a.EJ,a.YN,a.Kr,ee.p,j.U,a.wV,a.qQ,Ce.C,pe.s,f.sg,M._L,bn.Q],pipes:[f.rS,K.m,Ue.i],styles:[""]}),t})();var je=r(99466),So=r(78877),fo=r(86969);const Co=["accessKeyTpl"],po=["secretKeyTpl"];function Mo(t,o){if(1&t&&(e.TgZ(0,"tr"),e.TgZ(1,"td",15),e.SDv(2,20),e.qZA(),e.TgZ(3,"td"),e._uU(4),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(4),e.Oqu(_.user.email)}}function mo(t,o){if(1&t&&(e.TgZ(0,"div"),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.xp6(1),e.AsE(" ",_.id," (",_.permissions,") ")}}function Ao(t,o){if(1&t&&(e.TgZ(0,"tr"),e.TgZ(1,"td",15),e.SDv(2,21),e.qZA(),e.TgZ(3,"td"),e.YNc(4,mo,2,2,"div",22),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(4),e.Q6J("ngForOf",_.user.subusers)}}function bo(t,o){if(1&t&&(e.TgZ(0,"div"),e._uU(1),e.qZA()),2&t){const _=o.$implicit;e.xp6(1),e.AsE(" ",_.type," (",_.perm,") ")}}function Po(t,o){if(1&t&&(e.TgZ(0,"tr"),e.TgZ(1,"td",15),e.SDv(2,23),e.qZA(),e.TgZ(3,"td"),e.YNc(4,bo,2,2,"div",22),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(4),e.Q6J("ngForOf",_.user.caps)}}function Go(t,o){if(1&t&&(e.TgZ(0,"tr"),e.TgZ(1,"td",15),e.SDv(2,24),e.qZA(),e.TgZ(3,"td"),e._uU(4),e.ALo(5,"join"),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(4),e.Oqu(e.lcZ(5,1,_.user.mfa_ids))}}function No(t,o){1&t&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function Oo(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,29),e.qZA())}function Uo(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&t){const _=e.oxw(5);e.xp6(1),e.hij(" ",e.lcZ(2,1,_.user.user_quota.max_size)," ")}}function Wo(t,o){1&t&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function Zo(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,30),e.qZA())}function $o(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.qZA()),2&t){const _=e.oxw(5);e.xp6(1),e.hij(" ",_.user.user_quota.max_objects," ")}}function ho(t,o){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"legend"),e.SDv(2,25),e.qZA(),e.TgZ(3,"table",9),e.TgZ(4,"tbody"),e.TgZ(5,"tr"),e.TgZ(6,"td",10),e.SDv(7,26),e.qZA(),e.TgZ(8,"td",12),e._uU(9),e.ALo(10,"booleanText"),e.qZA(),e.qZA(),e.TgZ(11,"tr"),e.TgZ(12,"td",15),e.SDv(13,27),e.qZA(),e.YNc(14,No,2,0,"td",0),e.YNc(15,Oo,2,0,"td",0),e.YNc(16,Uo,3,3,"td",0),e.qZA(),e.TgZ(17,"tr"),e.TgZ(18,"td",15),e.SDv(19,28),e.qZA(),e.YNc(20,Wo,2,0,"td",0),e.YNc(21,Zo,2,0,"td",0),e.YNc(22,$o,2,1,"td",0),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(9),e.Oqu(e.lcZ(10,7,_.user.user_quota.enabled)),e.xp6(5),e.Q6J("ngIf",!_.user.user_quota.enabled),e.xp6(1),e.Q6J("ngIf",_.user.user_quota.enabled&&_.user.user_quota.max_size<=-1),e.xp6(1),e.Q6J("ngIf",_.user.user_quota.enabled&&_.user.user_quota.max_size>-1),e.xp6(4),e.Q6J("ngIf",!_.user.user_quota.enabled),e.xp6(1),e.Q6J("ngIf",_.user.user_quota.enabled&&_.user.user_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",_.user.user_quota.enabled&&_.user.user_quota.max_objects>-1)}}function Io(t,o){1&t&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function vo(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,35),e.qZA())}function Fo(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&t){const _=e.oxw(5);e.xp6(1),e.hij(" ",e.lcZ(2,1,_.user.bucket_quota.max_size)," ")}}function Lo(t,o){1&t&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function Do(t,o){1&t&&(e.TgZ(0,"td"),e.SDv(1,36),e.qZA())}function xo(t,o){if(1&t&&(e.TgZ(0,"td"),e._uU(1),e.qZA()),2&t){const _=e.oxw(5);e.xp6(1),e.hij(" ",_.user.bucket_quota.max_objects," ")}}function yo(t,o){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"legend"),e.SDv(2,31),e.qZA(),e.TgZ(3,"table",9),e.TgZ(4,"tbody"),e.TgZ(5,"tr"),e.TgZ(6,"td",10),e.SDv(7,32),e.qZA(),e.TgZ(8,"td",12),e._uU(9),e.ALo(10,"booleanText"),e.qZA(),e.qZA(),e.TgZ(11,"tr"),e.TgZ(12,"td",15),e.SDv(13,33),e.qZA(),e.YNc(14,Io,2,0,"td",0),e.YNc(15,vo,2,0,"td",0),e.YNc(16,Fo,3,3,"td",0),e.qZA(),e.TgZ(17,"tr"),e.TgZ(18,"td",15),e.SDv(19,34),e.qZA(),e.YNc(20,Lo,2,0,"td",0),e.YNc(21,Do,2,0,"td",0),e.YNc(22,xo,2,1,"td",0),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(9),e.Oqu(e.lcZ(10,7,_.user.bucket_quota.enabled)),e.xp6(5),e.Q6J("ngIf",!_.user.bucket_quota.enabled),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota.enabled&&_.user.bucket_quota.max_size<=-1),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota.enabled&&_.user.bucket_quota.max_size>-1),e.xp6(4),e.Q6J("ngIf",!_.user.bucket_quota.enabled),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota.enabled&&_.user.bucket_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota.enabled&&_.user.bucket_quota.max_objects>-1)}}function qo(t,o){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"table",9),e.TgZ(2,"tbody"),e.TgZ(3,"tr"),e.TgZ(4,"td",10),e.SDv(5,11),e.qZA(),e.TgZ(6,"td",12),e._uU(7),e.qZA(),e.qZA(),e.TgZ(8,"tr"),e.TgZ(9,"td",10),e.SDv(10,13),e.qZA(),e.TgZ(11,"td",12),e._uU(12),e.qZA(),e.qZA(),e.TgZ(13,"tr"),e.TgZ(14,"td",10),e.SDv(15,14),e.qZA(),e.TgZ(16,"td",12),e._uU(17),e.qZA(),e.qZA(),e.TgZ(18,"tr"),e.TgZ(19,"td",15),e.SDv(20,16),e.qZA(),e.TgZ(21,"td"),e._uU(22),e.qZA(),e.qZA(),e.YNc(23,Mo,5,1,"tr",0),e.TgZ(24,"tr"),e.TgZ(25,"td",15),e.SDv(26,17),e.qZA(),e.TgZ(27,"td"),e._uU(28),e.ALo(29,"booleanText"),e.qZA(),e.qZA(),e.TgZ(30,"tr"),e.TgZ(31,"td",15),e.SDv(32,18),e.qZA(),e.TgZ(33,"td"),e._uU(34),e.ALo(35,"booleanText"),e.qZA(),e.qZA(),e.TgZ(36,"tr"),e.TgZ(37,"td",15),e.SDv(38,19),e.qZA(),e.TgZ(39,"td"),e._uU(40),e.ALo(41,"map"),e.qZA(),e.qZA(),e.YNc(42,Ao,5,1,"tr",0),e.YNc(43,Po,5,1,"tr",0),e.YNc(44,Go,6,3,"tr",0),e.qZA(),e.qZA(),e.YNc(45,ho,23,9,"div",0),e.YNc(46,yo,23,9,"div",0),e.qZA()),2&t){const _=e.oxw(3);e.xp6(7),e.Oqu(_.user.tenant),e.xp6(5),e.Oqu(_.user.user_id),e.xp6(5),e.Oqu(_.user.uid),e.xp6(5),e.Oqu(_.user.display_name),e.xp6(1),e.Q6J("ngIf",null==_.user.email?null:_.user.email.length),e.xp6(5),e.Oqu(e.lcZ(29,13,_.user.suspended)),e.xp6(6),e.Oqu(e.lcZ(35,15,"true"===_.user.system)),e.xp6(6),e.Oqu(e.xi3(41,17,_.user.max_buckets,_.maxBucketsMap)),e.xp6(2),e.Q6J("ngIf",_.user.subusers&&_.user.subusers.length),e.xp6(1),e.Q6J("ngIf",_.user.caps&&_.user.caps.length),e.xp6(1),e.Q6J("ngIf",null==_.user.mfa_ids?null:_.user.mfa_ids.length),e.xp6(1),e.Q6J("ngIf",_.user.user_quota),e.xp6(1),e.Q6J("ngIf",_.user.bucket_quota)}}function wo(t,o){if(1&t&&e.YNc(0,qo,47,20,"div",0),2&t){const _=e.oxw(2);e.Q6J("ngIf",_.user)}}const ko=function(t){return[t]};function Bo(t,o){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table",39),e.NdJ("updateSelection",function(i){return e.CHM(_),e.oxw(3).updateKeysSelection(i)}),e.TgZ(1,"div",40),e.TgZ(2,"div",41),e.TgZ(3,"button",42),e.NdJ("click",function(){return e.CHM(_),e.oxw(3).showKeyModal()}),e._UZ(4,"i",43),e.ynx(5),e.SDv(6,44),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(3);e.Q6J("data",_.keys)("columns",_.keysColumns),e.xp6(3),e.Q6J("disabled",!_.keysSelection.hasSingleSelection),e.xp6(1),e.Q6J("ngClass",e.VKq(4,ko,_.icons.show))}}function Ho(t,o){1&t&&(e.TgZ(0,"li",37),e.TgZ(1,"a",4),e.SDv(2,38),e.qZA(),e.YNc(3,Bo,7,6,"ng-template",6),e.qZA())}function Xo(t,o){if(1&t&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,wo,1,1,"ng-template",6),e.qZA(),e.YNc(7,Ho,4,0,"li",7),e.qZA(),e._UZ(8,"div",8),e.BQk()),2&t){const _=e.MAs(2),n=e.oxw();e.xp6(7),e.Q6J("ngIf",n.keys.length),e.xp6(1),e.Q6J("ngbNavOutlet",_)}}let Ko=(()=>{class t{constructor(_,n){this.rgwUserService=_,this.modalService=n,this.keys=[],this.keysColumns=[],this.keysSelection=new Pe.r,this.icons=D.P}ngOnInit(){this.keysColumns=[{name:"Username",prop:"username",flexGrow:1},{name:"Type",prop:"type",flexGrow:1}],this.maxBucketsMap={"-1":"Disabled",0:"Unlimited"}}ngOnChanges(){this.selection&&(this.user=this.selection,this.user.subusers=u().sortBy(this.user.subusers,"id"),this.user.caps=u().sortBy(this.user.caps,"type"),this.rgwUserService.getQuota(this.user.uid).subscribe(_=>{u().extend(this.user,_)}),this.keys=[],this.user.keys&&this.user.keys.forEach(_=>{this.keys.push({id:this.keys.length+1,type:"S3",username:_.user,ref:_})}),this.user.swift_keys&&this.user.swift_keys.forEach(_=>{this.keys.push({id:this.keys.length+1,type:"Swift",username:_.user,ref:_})}),this.keys=u().sortBy(this.keys,"user"))}updateKeysSelection(_){this.keysSelection=_}showKeyModal(){const _=this.keysSelection.first(),n=this.modalService.show("S3"===_.type?Qe:Ye);switch(_.type){case"S3":n.componentInstance.setViewing(),n.componentInstance.setValues(_.ref.user,_.ref.access_key,_.ref.secret_key);break;case"Swift":n.componentInstance.setValues(_.ref.user,_.ref.secret_key)}}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(O),e.Y36(Te.Z))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-details"]],viewQuery:function(_,n){if(1&_&&(e.Gf(Co,5),e.Gf(po,5)),2&_){let i;e.iGM(i=e.CRH())&&(n.accessKeyTpl=i.first),e.iGM(i=e.CRH())&&(n.secretKeyTpl=i.first)}},inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let o,_,n,i,s,c,d,E,g,C,b,P,G,N,p,U,W,Z,$,h,I,v,F,T,x,y;return o="Details",_="Tenant",n="User ID",i="Username",s="Full name",c="Suspended",d="System",E="Maximum buckets",g="Email address",C="Subusers",b="Capabilities",P="MFAs(Id)",G="User quota",N="Enabled",p="Maximum size",U="Maximum objects",W="Unlimited",Z="Unlimited",$="Bucket quota",h="Enabled",I="Maximum size",v="Maximum objects",F="Unlimited",T="Unlimited",x="Keys",y="Show",[[4,"ngIf"],["ngbNav","","cdStatefulTab","rgw-user-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],o,["ngbNavContent",""],["ngbNavItem","keys",4,"ngIf"],[3,"ngbNavOutlet"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],_,[1,"w-75"],n,i,[1,"bold"],s,c,d,E,g,C,[4,"ngFor","ngForOf"],b,P,G,N,p,U,W,Z,$,h,I,v,F,T,["ngbNavItem","keys"],x,["columnMode","flex","selectionType","multi","forceIdentifier","true",3,"data","columns","updateSelection"],[1,"table-actions"],["dropdown","",1,"btn-group"],["type","button",1,"btn","btn-accent",3,"disabled","click"],[3,"ngClass"],y]},template:function(_,n){1&_&&e.YNc(0,Xo,9,2,"ng-container",0),2&_&&e.Q6J("ngIf",n.selection)},directives:[f.O5,M.Pz,Xe.m,M.nv,M.Vx,M.uN,M.tO,f.sg,z.a,q.o,f.mk],pipes:[Be.T,So.b,fo.A,qe.$],styles:[""]}),t})();const zo=["userSizeTpl"],Qo=["userObjectTpl"];function Yo(t,o){if(1&t&&e._UZ(0,"cd-usage-bar",8),2&t){const _=e.oxw().row;e.Q6J("total",_.user_quota.max_size)("used",_.stats.size_actual)}}function Jo(t,o){1&t&&e.SDv(0,9)}function Vo(t,o){if(1&t&&(e.YNc(0,Yo,1,2,"cd-usage-bar",6),e.YNc(1,Jo,1,0,"ng-template",null,7,e.W1O)),2&t){const _=o.row,n=e.MAs(2);e.Q6J("ngIf",_.user_quota.max_size>0&&_.user_quota.enabled)("ngIfElse",n)}}function jo(t,o){if(1&t&&e._UZ(0,"cd-usage-bar",12),2&t){const _=e.oxw().row;e.Q6J("total",_.user_quota.max_objects)("used",_.stats.num_objects)("isBinary",!1)}}function ei(t,o){1&t&&e.SDv(0,13)}function _i(t,o){if(1&t&&(e.YNc(0,jo,1,3,"cd-usage-bar",10),e.YNc(1,ei,1,0,"ng-template",null,11,e.W1O)),2&t){const _=o.row,n=e.MAs(2);e.Q6J("ngIf",_.user_quota.max_objects>0&&_.user_quota.enabled)("ngIfElse",n)}}let ni=(()=>{class t extends be.o{constructor(_,n,i,s,c,d){super(d),this.authStorageService=_,this.rgwUserService=n,this.modalService=i,this.urlBuilder=s,this.actionLabels=c,this.ngZone=d,this.columns=[],this.users=[],this.selection=new Pe.r}ngOnInit(){this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:"Username",prop:"uid",flexGrow:1},{name:"Tenant",prop:"tenant",flexGrow:1},{name:"Full name",prop:"display_name",flexGrow:1},{name:"Email address",prop:"email",flexGrow:1},{name:"Suspended",prop:"suspended",flexGrow:1,cellClass:"text-center",cellTransformation:je.e.checkIcon},{name:"Max. buckets",prop:"max_buckets",flexGrow:1,cellTransformation:je.e.map,customTemplateConfig:{"-1":"Disabled",0:"Unlimited"}},{name:"Capacity Limit %",prop:"size_usage",cellTemplate:this.userSizeTpl,flexGrow:.8},{name:"Object Limit %",prop:"object_usage",cellTemplate:this.userObjectTpl,flexGrow:.8}];const _=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().uid)}`;this.tableActions=[{permission:"create",icon:D.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:c=>!c.hasSelection},{permission:"update",icon:D.P.edit,routerLink:()=>this.urlBuilder.getEdit(_()),name:this.actionLabels.EDIT},{permission:"delete",icon:D.P.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:c=>c.hasMultiSelection}],this.setTableRefreshTimeout()}getUserList(_){this.setTableRefreshTimeout(),this.rgwUserService.list().subscribe(n=>{this.users=n},()=>{_.error()})}updateSelection(_){this.selection=_}deleteAction(){this.modalService.show(ye.M,{itemDescription:this.selection.hasSingleSelection?"user":"users",itemNames:this.selection.selected.map(_=>_.uid),submitActionObservable:()=>new xe.y(_=>{(0,Y.D)(this.selection.selected.map(n=>this.rgwUserService.delete(n.uid))).subscribe({error:n=>{_.error(n),this.table.refreshBtn()},complete:()=>{_.complete(),this.table.refreshBtn()}})})})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(Ee.j),e.Y36(O),e.Y36(Te.Z),e.Y36(Q.F),e.Y36(A.p4),e.Y36(e.R0b))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-rgw-user-list"]],viewQuery:function(_,n){if(1&_&&(e.Gf(z.a,7),e.Gf(zo,7),e.Gf(Qo,7)),2&_){let i;e.iGM(i=e.CRH())&&(n.table=i.first),e.iGM(i=e.CRH())&&(n.userSizeTpl=i.first),e.iGM(i=e.CRH())&&(n.userObjectTpl=i.first)}},features:[e._Bn([{provide:Q.F,useValue:new Q.F("rgw/user")}]),e.qOj],decls:8,vars:9,consts:function(){let o,_;return o="No Limit",_="No Limit",[["columnMode","flex","selectionType","multiClick","identifier","uid",3,"autoReload","data","columns","hasDetails","status","setExpandedRow","updateSelection","fetchData"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["userSizeTpl",""],["userObjectTpl",""],[3,"total","used",4,"ngIf","ngIfElse"],["noSizeQuota",""],[3,"total","used"],o,[3,"total","used","isBinary",4,"ngIf","ngIfElse"],["noObjectQuota",""],[3,"total","used","isBinary"],_]},template:function(_,n){1&_&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(s){return n.setExpandedRow(s)})("updateSelection",function(s){return n.updateSelection(s)})("fetchData",function(s){return n.getUserList(s)}),e._UZ(2,"cd-table-actions",2),e._UZ(3,"cd-rgw-user-details",3),e.qZA(),e.YNc(4,Vo,3,2,"ng-template",null,4,e.W1O),e.YNc(6,_i,3,2,"ng-template",null,5,e.W1O)),2&_&&(e.Q6J("autoReload",!1)("data",n.users)("columns",n.columns)("hasDetails",!0)("status",n.tableStatus),e.xp6(2),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("selection",n.expandedRow))},directives:[z.a,ke.K,Ko,f.O5,He.O],styles:[""]}),t})(),e_=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[[f.ez,N_.m,a.u5,a.UX,O_.B,M.Oz,w.Bz,M.HK,Ue.b]]}),t})();const oi=[{path:""},{path:"daemon",component:kt,data:{breadcrumbs:"Daemons"}},{path:"user",data:{breadcrumbs:"Users"},children:[{path:"",component:ni},{path:A.MQ.CREATE,component:Ve,data:{breadcrumbs:A.Qn.CREATE}},{path:`${A.MQ.EDIT}/:uid`,component:Ve,data:{breadcrumbs:A.Qn.EDIT}}]},{path:"bucket",data:{breadcrumbs:"Buckets"},children:[{path:"",component:Ot},{path:A.MQ.CREATE,component:De,data:{breadcrumbs:A.Qn.CREATE}},{path:`${A.MQ.EDIT}/:bid`,component:De,data:{breadcrumbs:A.Qn.EDIT}}]}];let ii=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[[e_,w.Bz.forChild(oi)]]}),t})()}}]);
\ No newline at end of file
+++ /dev/null
-"use strict";(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[330],{91330:(it,Oe,p)=>{p.r(Oe),p.d(Oe,{BlockModule:()=>Mt,RoutedBlockModule:()=>$a});var l=p(12057),r=p(24751),m=p(6283),ne=p(20356),I=p(38549),Ie=p(37496),D=p(79512),j=p(4222),_e=p(44466),be=p(23815),C=p.n(be),W=p(35758),b=p(64762),ie=p(58497),Y=p(93523),e=p(74788);let k=class{constructor(_){this.http=_}listTargets(){return this.http.get("api/iscsi/target")}getTarget(_){return this.http.get(`api/iscsi/target/${_}`)}updateTarget(_,t){return this.http.put(`api/iscsi/target/${_}`,t,{observe:"response"})}status(){return this.http.get("ui-api/iscsi/status")}settings(){return this.http.get("ui-api/iscsi/settings")}version(){return this.http.get("ui-api/iscsi/version")}portals(){return this.http.get("ui-api/iscsi/portals")}createTarget(_){return this.http.post("api/iscsi/target",_,{observe:"response"})}deleteTarget(_){return this.http.delete(`api/iscsi/target/${_}`,{observe:"response"})}getDiscovery(){return this.http.get("api/iscsi/discoveryauth")}updateDiscovery(_){return this.http.put("api/iscsi/discoveryauth",_)}overview(){return this.http.get("ui-api/iscsi/overview")}};k.\u0275fac=function(_){return new(_||k)(e.LFG(ie.eN))},k.\u0275prov=e.Yz7({token:k,factory:k.\u0275fac,providedIn:"root"}),k=(0,b.gn)([Y.o,(0,b.w6)("design:paramtypes",[ie.eN])],k);var Ne=p(88002),Z=p(19358),Ae=p(34089);let x=class{constructor(_,t){this.http=_,this.rbdConfigurationService=t}isRBDPool(_){return-1!==C().indexOf(_.application_metadata,"rbd")&&!_.pool_name.includes("/")}create(_){return this.http.post("api/block/image",_,{observe:"response"})}delete(_){return this.http.delete(`api/block/image/${_.toStringEncoded()}`,{observe:"response"})}update(_,t){return this.http.put(`api/block/image/${_.toStringEncoded()}`,t,{observe:"response"})}get(_){return this.http.get(`api/block/image/${_.toStringEncoded()}`)}list(){return this.http.get("api/block/image").pipe((0,Ne.U)(_=>_.map(t=>(t.value.map(o=>(o.configuration&&o.configuration.map(i=>Object.assign(i,this.rbdConfigurationService.getOptionByName(i.name))),o)),t))))}copy(_,t){return this.http.post(`api/block/image/${_.toStringEncoded()}/copy`,t,{observe:"response"})}flatten(_){return this.http.post(`api/block/image/${_.toStringEncoded()}/flatten`,null,{observe:"response"})}defaultFeatures(){return this.http.get("api/block/image/default_features")}cloneFormatVersion(){return this.http.get("api/block/image/clone_format_version")}createSnapshot(_,t){const o={snapshot_name:t};return this.http.post(`api/block/image/${_.toStringEncoded()}/snap`,o,{observe:"response"})}renameSnapshot(_,t,o){const i={new_snap_name:o};return this.http.put(`api/block/image/${_.toStringEncoded()}/snap/${t}`,i,{observe:"response"})}protectSnapshot(_,t,o){const i={is_protected:o};return this.http.put(`api/block/image/${_.toStringEncoded()}/snap/${t}`,i,{observe:"response"})}rollbackSnapshot(_,t){return this.http.post(`api/block/image/${_.toStringEncoded()}/snap/${t}/rollback`,null,{observe:"response"})}cloneSnapshot(_,t,o){return this.http.post(`api/block/image/${_.toStringEncoded()}/snap/${t}/clone`,o,{observe:"response"})}deleteSnapshot(_,t){return this.http.delete(`api/block/image/${_.toStringEncoded()}/snap/${t}`,{observe:"response"})}listTrash(){return this.http.get("api/block/image/trash/")}createNamespace(_,t){return this.http.post(`api/block/pool/${_}/namespace`,{namespace:t},{observe:"response"})}listNamespaces(_){return this.http.get(`api/block/pool/${_}/namespace/`)}deleteNamespace(_,t){return this.http.delete(`api/block/pool/${_}/namespace/${t}`,{observe:"response"})}moveTrash(_,t){return this.http.post(`api/block/image/${_.toStringEncoded()}/move_trash`,{delay:t},{observe:"response"})}purgeTrash(_){return this.http.post(`api/block/image/trash/purge/?pool_name=${_}`,null,{observe:"response"})}restoreTrash(_,t){return this.http.post(`api/block/image/trash/${_.toStringEncoded()}/restore`,{new_image_name:t},{observe:"response"})}removeTrash(_,t=!1){return this.http.delete(`api/block/image/trash/${_.toStringEncoded()}/?force=${t}`,{observe:"response"})}};x.\u0275fac=function(_){return new(_||x)(e.LFG(ie.eN),e.LFG(Ae.n))},x.\u0275prov=e.Yz7({token:x,factory:x.\u0275fac,providedIn:"root"}),(0,b.gn)([(0,b.fM)(1,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[Z.N,String]),(0,b.w6)("design:returntype",void 0)],x.prototype,"createSnapshot",null),(0,b.gn)([(0,b.fM)(2,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[Z.N,String,String]),(0,b.w6)("design:returntype",void 0)],x.prototype,"renameSnapshot",null),(0,b.gn)([(0,b.fM)(2,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[Z.N,String,Boolean]),(0,b.w6)("design:returntype",void 0)],x.prototype,"protectSnapshot",null),(0,b.gn)([(0,b.fM)(1,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[Z.N,String]),(0,b.w6)("design:returntype",void 0)],x.prototype,"restoreTrash",null),x=(0,b.gn)([Y.o,(0,b.w6)("design:paramtypes",[ie.eN,Ae.n])],x);var ae=p(7022),V=p(14745),T=p(65862),q=p(93614),M=p(95463),B=p(77205),F=p(76111),Q=p(32337),R=p(60312),v=p(41582),g=p(56310),f=p(87925),h=p(94276),O=p(30839);function H(n,_){if(1&n&&(e.TgZ(0,"option",6),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("ngValue",t),e.xp6(1),e.Oqu(t)}}function De(n,_){if(1&n&&(e.TgZ(0,"select",5),e._UZ(1,"option",6),e.YNc(2,H,2,2,"option",7),e.qZA()),2&n){const t=e.oxw();e.s9C("id",t.setting),e.s9C("name",t.setting),e.Q6J("formControlName",t.setting),e.xp6(1),e.Q6J("ngValue",null),e.xp6(1),e.Q6J("ngForOf",t.limits.values)}}function Jt(n,_){if(1&n&&e._UZ(0,"input",10),2&n){const t=e.oxw(2);e.Q6J("formControlName",t.setting)}}function Yt(n,_){if(1&n&&e._UZ(0,"input",11),2&n){const t=e.oxw(2);e.Q6J("formControlName",t.setting)}}function Vt(n,_){if(1&n&&(e.ynx(0),e._UZ(1,"br"),e.TgZ(2,"div",12),e._UZ(3,"input",13),e.TgZ(4,"label",14),e._uU(5,"Yes"),e.qZA(),e.qZA(),e.TgZ(6,"div",12),e._UZ(7,"input",13),e.TgZ(8,"label",14),e._uU(9,"No"),e.qZA(),e.qZA(),e.BQk()),2&n){const t=e.oxw(2);e.xp6(3),e.Q6J("id",t.setting+"True")("value",!0)("formControlName",t.setting),e.xp6(1),e.Q6J("for",t.setting+"True"),e.xp6(3),e.Q6J("id",t.setting+"False")("value",!1)("formControlName",t.setting),e.xp6(1),e.Q6J("for",t.setting+"False")}}function Ut(n,_){if(1&n&&(e.TgZ(0,"span"),e.YNc(1,Jt,1,1,"input",8),e.YNc(2,Yt,1,1,"input",9),e.YNc(3,Vt,10,8,"ng-container",3),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf","int"===t.limits.type),e.xp6(1),e.Q6J("ngIf","str"===t.limits.type),e.xp6(1),e.Q6J("ngIf","bool"===t.limits.type)}}function jt(n,_){if(1&n&&(e.TgZ(0,"span",15),e.ynx(1),e.SDv(2,16),e.BQk(),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.pQV(t.limits.min),e.QtT(2)}}function Wt(n,_){if(1&n&&(e.TgZ(0,"span",15),e.ynx(1),e.SDv(2,17),e.BQk(),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.pQV(t.limits.max),e.QtT(2)}}let _t=(()=>{class n{ngOnInit(){const t=[];"min"in this.limits&&t.push(r.kI.min(this.limits.min)),"max"in this.limits&&t.push(r.kI.max(this.limits.max)),this.settingsForm.get(this.setting).setValidators(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-setting"]],inputs:{settingsForm:"settingsForm",formDir:"formDir",setting:"setting",limits:"limits"},decls:7,vars:7,consts:function(){let _,t;return _="Must be greater than or equal to " + "\ufffd0\ufffd" + ".",t="Must be less than or equal to " + "\ufffd0\ufffd" + ".",[[1,"form-group",3,"formGroup"],[1,"col-form-label",3,"for"],["class","form-control custom-select",3,"id","name","formControlName",4,"ngIf"],[4,"ngIf"],["class","invalid-feedback",4,"ngIf"],[1,"form-control","custom-select",3,"id","name","formControlName"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],["type","number","class","form-control",3,"formControlName",4,"ngIf"],["type","text","class","form-control",3,"formControlName",4,"ngIf"],["type","number",1,"form-control",3,"formControlName"],["type","text",1,"form-control",3,"formControlName"],[1,"custom-control","custom-radio","custom-control-inline"],["type","radio",1,"custom-control-input",3,"id","value","formControlName"],[1,"custom-control-label",3,"for"],[1,"invalid-feedback"],_,t]},template:function(t,o){1&t&&(e.TgZ(0,"div",0),e.TgZ(1,"label",1),e._uU(2),e.qZA(),e.YNc(3,De,3,5,"select",2),e.YNc(4,Ut,4,3,"span",3),e.YNc(5,jt,3,1,"span",4),e.YNc(6,Wt,3,1,"span",4),e.qZA()),2&t&&(e.Q6J("formGroup",o.settingsForm),e.xp6(1),e.s9C("for",o.setting),e.xp6(1),e.Oqu(o.setting),e.xp6(1),e.Q6J("ngIf","enum"===o.limits.type),e.xp6(1),e.Q6J("ngIf","enum"!==o.limits.type),e.xp6(1),e.Q6J("ngIf",o.settingsForm.showError(o.setting,o.formDir,"min")),e.xp6(1),e.Q6J("ngIf",o.settingsForm.showError(o.setting,o.formDir,"max")))},directives:[g.P,r.JL,r.sg,v.V,l.O5,f.o,r.EJ,h.b,r.JJ,r.u,r.YN,r.Kr,l.sg,r.wV,r.Fj,r._],styles:[""]}),n})();var He=p(88820);function eo(n,_){1&n&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function to(n,_){if(1&n&&(e.TgZ(0,"span"),e.TgZ(1,"legend",10),e.SDv(2,21),e.qZA(),e.TgZ(3,"div",12),e.TgZ(4,"div",13),e.TgZ(5,"label",22),e.SDv(6,23),e.qZA(),e._UZ(7,"input",24),e.YNc(8,eo,2,0,"span",25),e.qZA(),e.qZA(),e.TgZ(9,"div",12),e.TgZ(10,"div",13),e.TgZ(11,"label",26),e.SDv(12,27),e.qZA(),e._UZ(13,"input",28),e.qZA(),e.qZA(),e.qZA()),2&n){const t=e.oxw(),o=e.MAs(9);e.xp6(8),e.Q6J("ngIf",t.settingsForm.showError("lun",o,"required"))}}function oo(n,_){if(1&n&&(e.TgZ(0,"option",31),e._uU(1),e.ALo(2,"iscsiBackstore"),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(e.lcZ(2,2,t))}}function no(n,_){if(1&n&&(e.TgZ(0,"div",12),e.TgZ(1,"div",13),e._UZ(2,"cd-iscsi-setting",33),e.qZA(),e.qZA()),2&n){const t=_.$implicit,o=e.oxw(2).$implicit,i=e.oxw(),s=e.MAs(9);e.xp6(2),e.Q6J("settingsForm",i.settingsForm)("formDir",s)("setting",t.key)("limits",i.getDiskControlLimits(o,t.key))}}function io(n,_){if(1&n&&(e.ynx(0),e.YNc(1,no,3,4,"div",32),e.ALo(2,"keyvalue"),e.BQk()),2&n){const t=e.oxw().$implicit,o=e.oxw();e.xp6(1),e.Q6J("ngForOf",e.lcZ(2,1,o.disk_default_controls[t]))}}function _o(n,_){if(1&n&&(e.ynx(0),e.YNc(1,io,3,3,"ng-container",9),e.BQk()),2&n){const t=_.$implicit,o=e.oxw();e.xp6(1),e.Q6J("ngIf",o.settingsForm.value.backstore===t)}}let so=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.iscsiService=o,this.actionLabels=i}ngOnInit(){const t={backstore:new r.NI(this.imagesSettings[this.image].backstore),lun:new r.NI(this.imagesSettings[this.image].lun),wwn:new r.NI(this.imagesSettings[this.image].wwn)};C().forEach(this.backstores,o=>{const i=this.imagesSettings[this.image][o]||{};C().forIn(this.disk_default_controls[o],(s,a)=>{t[a]=new r.NI(i[a])})}),this.settingsForm=new M.d(t)}getDiskControlLimits(t,o){return this.disk_controls_limits?this.disk_controls_limits[t][o]:{type:"int"}}save(){const t=this.settingsForm.controls.backstore.value,o=this.settingsForm.controls.lun.value,i=this.settingsForm.controls.wwn.value,s={};C().forIn(this.settingsForm.controls,(a,d)=>{""!==a.value&&null!==a.value&&d in this.disk_default_controls[this.settingsForm.value.backstore]&&(s[d]=a.value,C().forEach(this.backstores,c=>{c!==t&&d in(this.imagesSettings[this.image][c]||{})&&(this.imagesSettings[this.image][c][d]=a.value)}))}),this.imagesSettings[this.image].backstore=t,this.imagesSettings[this.image].lun=o,this.imagesSettings[this.image].wwn=i,this.imagesSettings[this.image][t]=s,this.imagesSettings=Object.assign({},this.imagesSettings),this.control.updateValueAndValidity({emitEvent:!1}),this.activeModal.close()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(k),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-image-settings-modal"]],decls:25,vars:8,consts:function(){let _,t,o,i,s,a,d,c;return _="Configure",t="Changing these parameters from their default values is usually not necessary.",o="Settings",i="Backstore",s="Identifier",a="lun",d="wwn",c="This field is required.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","settingsForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"alert-warning"],t,[4,"ngIf"],[1,"cd-header"],o,[1,"form-group","row"],[1,"col-sm-12"],[1,"col-form-label"],i,["id","backstore","name","backstore","formControlName","backstore",1,"form-control","custom-select"],[3,"value",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],s,["for","lun",1,"col-form-label","required"],a,["type","number","id","lun","name","lun","formControlName","lun",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","wwn",1,"col-form-label"],d,["type","text","id","wwn","name","wwn","formControlName","wwn",1,"form-control"],[1,"invalid-feedback"],c,[3,"value"],["class","form-group row",4,"ngFor","ngForOf"],[3,"settingsForm","formDir","setting","limits"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.ynx(2),e.SDv(3,2),e.BQk(),e._uU(4,"\xa0 "),e.TgZ(5,"small"),e._uU(6),e.qZA(),e.BQk(),e.ynx(7,3),e.TgZ(8,"form",4,5),e.TgZ(10,"div",6),e.TgZ(11,"p",7),e.SDv(12,8),e.qZA(),e.YNc(13,to,14,1,"span",9),e.TgZ(14,"legend",10),e.SDv(15,11),e.qZA(),e.TgZ(16,"div",12),e.TgZ(17,"div",13),e.TgZ(18,"label",14),e.SDv(19,15),e.qZA(),e.TgZ(20,"select",16),e.YNc(21,oo,3,4,"option",17),e.qZA(),e.qZA(),e.qZA(),e.YNc(22,_o,2,1,"ng-container",18),e.qZA(),e.TgZ(23,"div",19),e.TgZ(24,"cd-form-button-panel",20),e.NdJ("submitActionEvent",function(){return o.save()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(6),e.Oqu(o.image),e.xp6(2),e.Q6J("formGroup",o.settingsForm),e.xp6(5),e.Q6J("ngIf",o.api_version>=1),e.xp6(8),e.Q6J("ngForOf",o.backstores),e.xp6(1),e.Q6J("ngForOf",o.backstores),e.xp6(2),e.Q6J("form",o.settingsForm)("submitText",o.actionLabels.UPDATE))},directives:[R.z,r._Y,r.JL,r.sg,v.V,l.O5,g.P,f.o,r.EJ,h.b,r.JJ,r.u,l.sg,O.p,r.wV,r.Fj,r.YN,r.Kr,_t],pipes:[He.V,l.Nd],styles:[""]}),n})();function ao(n,_){if(1&n&&(e.TgZ(0,"div",12),e.TgZ(1,"div",13),e._UZ(2,"cd-iscsi-setting",14),e.qZA(),e.qZA()),2&n){const t=_.$implicit,o=e.oxw(),i=e.MAs(5);e.xp6(2),e.Q6J("settingsForm",o.settingsForm)("formDir",i)("setting",t.key)("limits",o.getTargetControlLimits(t.key))}}let ro=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.iscsiService=o,this.actionLabels=i}ngOnInit(){const t={};C().forIn(this.target_default_controls,(o,i)=>{t[i]=new r.NI(this.target_controls.value[i])}),this.settingsForm=new M.d(t)}save(){const t={};C().forIn(this.settingsForm.controls,(o,i)=>{""===o.value||null===o.value||(t[i]=o.value)}),this.target_controls.setValue(t),this.activeModal.close()}getTargetControlLimits(t){return this.target_controls_limits?this.target_controls_limits[t]:["Yes","No"].includes(this.target_default_controls[t])?{type:"bool"}:{type:"int"}}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(k),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-iqn-settings-modal"]],decls:13,vars:7,consts:function(){let _,t;return _="Advanced Settings",t="Changing these parameters from their default values is usually not necessary.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","settingsForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"alert-warning"],t,["class","form-group row",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"form-group","row"],[1,"col-sm-12"],[3,"settingsForm","formDir","setting","limits"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p",7),e.SDv(8,8),e.qZA(),e.YNc(9,ao,3,4,"div",9),e.ALo(10,"keyvalue"),e.qZA(),e.TgZ(11,"div",10),e.TgZ(12,"cd-form-button-panel",11),e.NdJ("submitActionEvent",function(){return o.save()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.settingsForm),e.xp6(5),e.Q6J("ngForOf",e.lcZ(10,5,o.settingsForm.controls)),e.xp6(3),e.Q6J("form",o.settingsForm)("submitText",o.actionLabels.UPDATE))},directives:[R.z,r._Y,r.JL,r.sg,v.V,l.sg,O.p,g.P,_t],pipes:[l.Nd],styles:[""]}),n})();var re=p(63285),st=p(63622);let lo=(()=>{class n{constructor(t){this.ngControl=t}onInput(t){this.setValue(t)}setValue(t){t=C().isString(t)?t.trim():t,this.ngControl.control.setValue(t)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(r.a5))},n.\u0275dir=e.lG2({type:n,selectors:[["","cdTrim",""]],hostBindings:function(t,o){1&t&&e.NdJ("input",function(s){return o.onInput(s.target.value)})}}),n})();var co=p(39092),at=p(4416),Je=p(58039),Ye=p(10545);function po(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,42),e.qZA())}function go(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,43),e.qZA())}function uo(n,_){1&n&&(e.TgZ(0,"span",41),e.ynx(1),e.SDv(2,44),e.BQk(),e._UZ(3,"br"),e.ynx(4),e.SDv(5,45),e.BQk(),e._UZ(6,"br"),e.TgZ(7,"a",46),e.SDv(8,47),e.qZA(),e.qZA())}function mo(n,_){1&n&&(e.TgZ(0,"span",48),e.SDv(1,49),e.qZA())}const z=function(n){return[n]};function To(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.TgZ(4,"button",52),e.NdJ("click",function(){const i=e.CHM(t),s=i.index,a=i.$implicit;return e.oxw(2).removePortal(s,a)}),e._UZ(5,"i",16),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(2);e.xp6(2),e.Q6J("value",t),e.xp6(3),e.Q6J("ngClass",e.VKq(2,z,o.icons.destroy))}}function fo(n,_){if(1&n&&(e.TgZ(0,"span",41),e.SDv(1,53),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.pQV(t.minimum_gateways),e.QtT(1)}}function Co(n,_){if(1&n&&(e.TgZ(0,"div",56),e._uU(1),e.qZA()),2&n){const t=e.oxw().$implicit,o=e.oxw(2);e.xp6(1),e.hij("lun: ",o.imagesSettings[t].lun,"")}}function So(n,_){if(1&n&&(e.ynx(0),e.SDv(1,57),e.ALo(2,"iscsiBackstore"),e.BQk()),2&n){const t=e.oxw().$implicit,o=e.oxw(2);e.xp6(2),e.pQV(e.lcZ(2,1,o.imagesSettings[t].backstore)),e.QtT(1)}}function Eo(n,_){1&n&&(e.ynx(0),e.SDv(1,58),e.BQk())}function Ro(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.YNc(4,Co,2,1,"div",54),e.TgZ(5,"button",52),e.NdJ("click",function(){const s=e.CHM(t).$implicit;return e.oxw(2).imageSettingsModal(s)}),e._UZ(6,"i",16),e.qZA(),e.TgZ(7,"button",52),e.NdJ("click",function(){const i=e.CHM(t),s=i.index,a=i.$implicit;return e.oxw(2).removeImage(s,a)}),e._UZ(8,"i",16),e.qZA(),e.qZA(),e.qZA(),e.TgZ(9,"span",48),e.YNc(10,So,3,3,"ng-container",55),e.YNc(11,Eo,2,0,"ng-container",55),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(2);e.xp6(2),e.Q6J("value",t),e.xp6(2),e.Q6J("ngIf",o.api_version>=1),e.xp6(2),e.Q6J("ngClass",e.VKq(6,z,o.icons.deepCheck)),e.xp6(2),e.Q6J("ngClass",e.VKq(8,z,o.icons.destroy)),e.xp6(2),e.Q6J("ngIf",o.backstores.length>1),e.xp6(1),e.Q6J("ngIf",o.hasAdvancedSettings(o.imagesSettings[t][o.imagesSettings[t].backstore]))}}function Mo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,59),e.qZA())}function Oo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,60),e.qZA())}function Ao(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,78),e.qZA())}function ho(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,79),e.qZA())}function Po(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,80),e.qZA())}function Io(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,81),e.qZA())}function bo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,82),e.qZA())}function No(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,83),e.qZA())}function Do(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,84),e.qZA())}function vo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,85),e.qZA())}function Lo(n,_){if(1&n&&(e.TgZ(0,"div",61),e.TgZ(1,"div",8),e.TgZ(2,"label",62),e.ynx(3),e.SDv(4,63),e.BQk(),e.qZA(),e.TgZ(5,"div",11),e._UZ(6,"input",64),e.YNc(7,Ao,2,0,"span",17),e.YNc(8,ho,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(9,"div",8),e.TgZ(10,"label",65),e.ynx(11),e.SDv(12,66),e.BQk(),e.qZA(),e.TgZ(13,"div",11),e.TgZ(14,"div",12),e._UZ(15,"input",67),e.TgZ(16,"span",14),e._UZ(17,"button",68),e._UZ(18,"cd-copy-2-clipboard-button",69),e.qZA(),e.qZA(),e.YNc(19,Po,2,0,"span",17),e.YNc(20,Io,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(21,"div",8),e.TgZ(22,"label",70),e.ynx(23),e.SDv(24,71),e.BQk(),e.qZA(),e.TgZ(25,"div",11),e._UZ(26,"input",72),e.YNc(27,bo,2,0,"span",17),e.YNc(28,No,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(29,"div",8),e.TgZ(30,"label",73),e.ynx(31),e.SDv(32,74),e.BQk(),e.qZA(),e.TgZ(33,"div",11),e.TgZ(34,"div",12),e._UZ(35,"input",75),e.TgZ(36,"span",14),e._UZ(37,"button",76),e._UZ(38,"cd-copy-2-clipboard-button",77),e.qZA(),e.qZA(),e.YNc(39,Do,2,0,"span",17),e.YNc(40,vo,2,0,"span",17),e.qZA(),e.qZA(),e.qZA()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(7),e.Q6J("ngIf",o.targetForm.showError("user",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("user",t,"pattern")),e.xp6(11),e.Q6J("ngIf",o.targetForm.showError("password",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("password",t,"pattern")),e.xp6(7),e.Q6J("ngIf",o.targetForm.showError("mutual_user",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("mutual_user",t,"pattern")),e.xp6(11),e.Q6J("ngIf",o.targetForm.showError("mutual_password",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("mutual_password",t,"pattern"))}}function Fo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,115),e.qZA())}function $o(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,116),e.qZA())}function Zo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,117),e.qZA())}function Bo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,118),e.qZA())}function Go(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,119),e.qZA())}function yo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,120),e.qZA())}function xo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,121),e.qZA())}function wo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,122),e.qZA())}function qo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,123),e.qZA())}function Ho(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,124),e.qZA())}function Ko(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,125),e.qZA())}function ko(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.TgZ(4,"button",52),e.NdJ("click",function(){const i=e.CHM(t),s=i.index,a=i.$implicit,d=e.oxw(),c=d.$implicit,u=d.index;return e.oxw(3).removeInitiatorImage(c,s,u,a)}),e._UZ(5,"i",16),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(3),e.Q6J("ngClass",e.VKq(2,z,o.icons.destroy))}}function Xo(n,_){1&n&&(e.TgZ(0,"span"),e.SDv(1,126),e.qZA())}function Qo(n,_){if(1&n&&(e.TgZ(0,"div",22),e.TgZ(1,"div",23),e.TgZ(2,"cd-select",127),e._UZ(3,"i",25),e.ynx(4),e.SDv(5,128),e.BQk(),e.qZA(),e.qZA(),e.qZA()),2&n){const t=e.oxw(),o=t.$implicit,i=t.index,s=e.oxw(3);e.xp6(2),e.Q6J("data",o.getValue("luns"))("options",s.imagesInitiatorSelections[i])("messages",s.messages.initiatorImage),e.xp6(1),e.Q6J("ngClass",e.VKq(4,z,s.icons.add))}}function zo(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",92),e.TgZ(1,"div",5),e.ynx(2),e.SDv(3,93),e.BQk(),e._uU(4),e.TgZ(5,"button",94),e.NdJ("click",function(){const s=e.CHM(t).index;return e.oxw(3).removeInitiator(s)}),e._UZ(6,"i",25),e.qZA(),e.qZA(),e.TgZ(7,"div",7),e.TgZ(8,"div",8),e.TgZ(9,"label",95),e.SDv(10,96),e.qZA(),e.TgZ(11,"div",11),e.TgZ(12,"input",97),e.NdJ("blur",function(){return e.CHM(t),e.oxw(3).updatedInitiatorSelector()}),e.qZA(),e.YNc(13,Fo,2,0,"span",17),e.YNc(14,$o,2,0,"span",17),e.YNc(15,Zo,2,0,"span",17),e.qZA(),e.qZA(),e.ynx(16,61),e.TgZ(17,"div",8),e.TgZ(18,"label",98),e.SDv(19,99),e.qZA(),e.TgZ(20,"div",11),e._UZ(21,"input",100),e.YNc(22,Bo,2,0,"span",17),e.YNc(23,Go,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(24,"div",8),e.TgZ(25,"label",101),e.SDv(26,102),e.qZA(),e.TgZ(27,"div",11),e.TgZ(28,"div",12),e._UZ(29,"input",103),e.TgZ(30,"span",14),e._UZ(31,"button",104),e._UZ(32,"cd-copy-2-clipboard-button",105),e.qZA(),e.qZA(),e.YNc(33,yo,2,0,"span",17),e.YNc(34,xo,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(35,"div",8),e.TgZ(36,"label",106),e.ynx(37),e.SDv(38,107),e.BQk(),e.qZA(),e.TgZ(39,"div",11),e._UZ(40,"input",108),e.YNc(41,wo,2,0,"span",17),e.YNc(42,qo,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(43,"div",8),e.TgZ(44,"label",109),e.SDv(45,110),e.qZA(),e.TgZ(46,"div",11),e.TgZ(47,"div",12),e._UZ(48,"input",111),e.TgZ(49,"span",14),e._UZ(50,"button",104),e._UZ(51,"cd-copy-2-clipboard-button",105),e.qZA(),e.qZA(),e.YNc(52,Ho,2,0,"span",17),e.YNc(53,Ko,2,0,"span",17),e.qZA(),e.qZA(),e.BQk(),e.TgZ(54,"div",8),e.TgZ(55,"label",112),e.SDv(56,113),e.qZA(),e.TgZ(57,"div",11),e.YNc(58,ko,6,4,"ng-container",21),e.YNc(59,Xo,2,0,"span",55),e.YNc(60,Qo,6,6,"div",114),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=_.$implicit,o=_.index;e.oxw(2);const i=e.MAs(2),s=e.oxw();e.Q6J("formGroup",t),e.xp6(4),e.hij(": ",t.getValue("client_iqn")," "),e.xp6(2),e.Q6J("ngClass",e.VKq(25,z,s.icons.destroy)),e.xp6(7),e.Q6J("ngIf",t.showError("client_iqn",i,"notUnique")),e.xp6(1),e.Q6J("ngIf",t.showError("client_iqn",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("client_iqn",i,"pattern")),e.xp6(6),e.Q6J("id","user"+o),e.xp6(1),e.Q6J("ngIf",t.showError("user",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("user",i,"pattern")),e.xp6(6),e.Q6J("id","password"+o),e.xp6(2),e.Q6J("cdPasswordButton","password"+o),e.xp6(1),e.Q6J("source","password"+o),e.xp6(1),e.Q6J("ngIf",t.showError("password",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("password",i,"pattern")),e.xp6(6),e.Q6J("id","mutual_user"+o),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_user",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_user",i,"pattern")),e.xp6(6),e.Q6J("id","mutual_password"+o),e.xp6(2),e.Q6J("cdPasswordButton","mutual_password"+o),e.xp6(1),e.Q6J("source","mutual_password"+o),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_password",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_password",i,"pattern")),e.xp6(5),e.Q6J("ngForOf",t.getValue("luns")),e.xp6(1),e.Q6J("ngIf",t.getValue("cdIsInGroup")),e.xp6(1),e.Q6J("ngIf",!t.getValue("cdIsInGroup"))}}function Jo(n,_){1&n&&(e.TgZ(0,"span",48),e.SDv(1,129),e.qZA())}function Yo(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",86),e.SDv(2,87),e.qZA(),e.TgZ(3,"div",88),e.YNc(4,zo,61,27,"div",89),e.TgZ(5,"div",22),e.TgZ(6,"div",23),e.YNc(7,Jo,2,0,"span",18),e.TgZ(8,"button",90),e.NdJ("click",function(){return e.CHM(t),e.oxw(2).addInitiator(),!1}),e._UZ(9,"i",25),e.ynx(10),e.SDv(11,91),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(12,"hr"),e.qZA(),e.qZA()}if(2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",t.initiators.controls),e.xp6(3),e.Q6J("ngIf",0===t.initiators.controls.length),e.xp6(2),e.Q6J("ngClass",e.VKq(3,z,t.icons.add))}}function Vo(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.TgZ(4,"button",52),e.NdJ("click",function(){const s=e.CHM(t).index,a=e.oxw(),d=a.$implicit,c=a.index;return e.oxw(3).removeGroupInitiator(d,s,c)}),e._UZ(5,"i",16),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(3),e.Q6J("ngClass",e.VKq(2,z,o.icons.destroy))}}function Uo(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.TgZ(4,"button",52),e.NdJ("click",function(){const s=e.CHM(t).index,a=e.oxw(),d=a.$implicit,c=a.index;return e.oxw(3).removeGroupDisk(d,s,c)}),e._UZ(5,"i",16),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(3),e.Q6J("ngClass",e.VKq(2,z,o.icons.destroy))}}function jo(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",92),e.TgZ(1,"div",5),e.ynx(2),e.SDv(3,133),e.BQk(),e._uU(4),e.TgZ(5,"button",94),e.NdJ("click",function(){const s=e.CHM(t).index;return e.oxw(3).removeGroup(s)}),e._UZ(6,"i",25),e.qZA(),e.qZA(),e.TgZ(7,"div",7),e.TgZ(8,"div",8),e.TgZ(9,"label",134),e.SDv(10,135),e.qZA(),e.TgZ(11,"div",11),e._UZ(12,"input",136),e.qZA(),e.qZA(),e.TgZ(13,"div",8),e.TgZ(14,"label",137),e.ynx(15),e.SDv(16,138),e.BQk(),e.qZA(),e.TgZ(17,"div",11),e.YNc(18,Vo,6,4,"ng-container",21),e.TgZ(19,"div",22),e.TgZ(20,"div",23),e.TgZ(21,"cd-select",24),e.NdJ("selection",function(i){const a=e.CHM(t).index;return e.oxw(3).onGroupMemberSelection(i,a)}),e._UZ(22,"i",25),e.ynx(23),e.SDv(24,139),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(25,"hr"),e.qZA(),e.qZA(),e.TgZ(26,"div",8),e.TgZ(27,"label",28),e.ynx(28),e.SDv(29,140),e.BQk(),e.qZA(),e.TgZ(30,"div",11),e.YNc(31,Uo,6,4,"ng-container",21),e.TgZ(32,"div",22),e.TgZ(33,"div",23),e.TgZ(34,"cd-select",127),e._UZ(35,"i",25),e.ynx(36),e.SDv(37,141),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(38,"hr"),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=_.$implicit,o=_.index,i=e.oxw(3);e.Q6J("formGroup",t),e.xp6(4),e.hij(": ",t.getValue("group_id")," "),e.xp6(2),e.Q6J("ngClass",e.VKq(13,z,i.icons.destroy)),e.xp6(12),e.Q6J("ngForOf",t.getValue("members")),e.xp6(3),e.Q6J("data",t.getValue("members"))("options",i.groupMembersSelections[o])("messages",i.messages.groupInitiator),e.xp6(1),e.Q6J("ngClass",e.VKq(15,z,i.icons.add)),e.xp6(9),e.Q6J("ngForOf",t.getValue("disks")),e.xp6(3),e.Q6J("data",t.getValue("disks"))("options",i.groupDiskSelections[o])("messages",i.messages.initiatorImage),e.xp6(1),e.Q6J("ngClass",e.VKq(17,z,i.icons.add))}}function Wo(n,_){1&n&&(e.TgZ(0,"span",48),e.SDv(1,142),e.qZA())}function en(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",86),e.SDv(2,130),e.qZA(),e.TgZ(3,"div",131),e.YNc(4,jo,39,19,"div",89),e.TgZ(5,"div",22),e.TgZ(6,"div",23),e.YNc(7,Wo,2,0,"span",18),e.TgZ(8,"button",90),e.NdJ("click",function(){return e.CHM(t),e.oxw(2).addGroup(),!1}),e._UZ(9,"i",25),e.ynx(10),e.SDv(11,132),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",t.groups.controls),e.xp6(3),e.Q6J("ngIf",0===t.groups.controls.length),e.xp6(2),e.Q6J("ngClass",e.VKq(3,z,t.icons.add))}}function tn(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e.TgZ(13,"div",12),e._UZ(14,"input",13),e.TgZ(15,"span",14),e.TgZ(16,"button",15),e.NdJ("click",function(){return e.CHM(t),e.oxw().targetSettingsModal()}),e._UZ(17,"i",16),e.qZA(),e.qZA(),e.qZA(),e.YNc(18,po,2,0,"span",17),e.YNc(19,go,2,0,"span",17),e.YNc(20,uo,9,0,"span",17),e.YNc(21,mo,2,0,"span",18),e._UZ(22,"hr"),e.qZA(),e.qZA(),e.TgZ(23,"div",8),e.TgZ(24,"label",19),e.SDv(25,20),e.qZA(),e.TgZ(26,"div",11),e.YNc(27,To,6,4,"ng-container",21),e.TgZ(28,"div",22),e.TgZ(29,"div",23),e.TgZ(30,"cd-select",24),e.NdJ("selection",function(i){return e.CHM(t),e.oxw().onPortalSelection(i)}),e._UZ(31,"i",25),e.ynx(32),e.SDv(33,26),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(34,"input",27),e.YNc(35,fo,2,1,"span",17),e._UZ(36,"hr"),e.qZA(),e.qZA(),e.TgZ(37,"div",8),e.TgZ(38,"label",28),e.SDv(39,29),e.qZA(),e.TgZ(40,"div",11),e.YNc(41,Ro,12,10,"ng-container",21),e._UZ(42,"input",30),e.YNc(43,Mo,2,0,"span",17),e.YNc(44,Oo,2,0,"span",17),e.TgZ(45,"div",22),e.TgZ(46,"div",23),e.TgZ(47,"cd-select",24),e.NdJ("selection",function(i){return e.CHM(t),e.oxw().onImageSelection(i)}),e._UZ(48,"i",25),e.ynx(49),e.SDv(50,31),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(51,"hr"),e.qZA(),e.qZA(),e.TgZ(52,"div",8),e.TgZ(53,"div",32),e.TgZ(54,"div",33),e._UZ(55,"input",34),e.TgZ(56,"label",35),e.SDv(57,36),e.qZA(),e.qZA(),e._UZ(58,"hr"),e.qZA(),e.qZA(),e.YNc(59,Lo,41,8,"div",37),e.YNc(60,Yo,13,5,"div",38),e.YNc(61,en,12,5,"div",38),e.qZA(),e.TgZ(62,"div",39),e.TgZ(63,"cd-form-button-panel",40),e.NdJ("submitActionEvent",function(){return e.CHM(t),e.oxw().submit()}),e.ALo(64,"titlecase"),e.ALo(65,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.targetForm),e.xp6(6),e.pQV(e.lcZ(6,26,o.action))(e.lcZ(7,28,o.resource)),e.QtT(5),e.xp6(10),e.Q6J("ngClass",e.VKq(34,z,o.icons.deepCheck)),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"pattern")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"iqn")),e.xp6(1),e.Q6J("ngIf",o.hasAdvancedSettings(o.targetForm.getValue("target_controls"))),e.xp6(6),e.Q6J("ngForOf",o.portals.value),e.xp6(3),e.Q6J("data",o.portals.value)("options",o.portalsSelections)("messages",o.messages.portals),e.xp6(1),e.Q6J("ngClass",e.VKq(36,z,o.icons.add)),e.xp6(4),e.Q6J("ngIf",o.targetForm.showError("portals",t,"minGateways")),e.xp6(6),e.Q6J("ngForOf",o.targetForm.getValue("disks")),e.xp6(2),e.Q6J("ngIf",o.targetForm.showError("disks",t,"dupLunId")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("disks",t,"dupWwn")),e.xp6(3),e.Q6J("data",o.disks.value)("options",o.imagesSelections)("messages",o.messages.images),e.xp6(1),e.Q6J("ngClass",e.VKq(38,z,o.icons.add)),e.xp6(11),e.Q6J("ngIf",o.cephIscsiConfigVersion>10&&!o.targetForm.getValue("acl_enabled")),e.xp6(1),e.Q6J("ngIf",o.targetForm.getValue("acl_enabled")),e.xp6(1),e.Q6J("ngIf",o.targetForm.getValue("acl_enabled")),e.xp6(2),e.Q6J("form",o.targetForm)("submitText",e.lcZ(64,30,o.action)+" "+e.lcZ(65,32,o.resource))}}let rt=(()=>{class n extends q.E{constructor(t,o,i,s,a,d,c){super(),this.iscsiService=t,this.modalService=o,this.rbdService=i,this.router=s,this.route=a,this.taskWrapper=d,this.actionLabels=c,this.api_version=0,this.minimum_gateways=1,this.icons=T.P,this.isEdit=!1,this.portalsSelections=[],this.imagesInitiatorSelections=[],this.groupDiskSelections=[],this.groupMembersSelections=[],this.imagesSettings={},this.messages={portals:new ae.a({noOptions:"There are no portals available."}),images:new ae.a({noOptions:"There are no images available."}),initiatorImage:new ae.a({noOptions:"There are no images available. Please make sure you add an image to the target."}),groupInitiator:new ae.a({noOptions:"There are no initiators available. Please make sure you add an initiator to the target."})},this.IQN_REGEX=/^iqn\.(19|20)\d\d-(0[1-9]|1[0-2])\.\D{2,3}(\.[A-Za-z0-9-]+)+(:[A-Za-z0-9-\.]+)*$/,this.USER_REGEX=/^[\w\.:@_-]{8,64}$/,this.PASSWORD_REGEX=/^[\w@\-_\/]{12,16}$/,this.resource="target"}ngOnInit(){const t=[this.iscsiService.listTargets(),this.rbdService.list(),this.iscsiService.portals(),this.iscsiService.settings(),this.iscsiService.version()];this.router.url.startsWith("/block/iscsi/targets/edit")&&(this.isEdit=!0,this.route.params.subscribe(o=>{this.target_iqn=decodeURIComponent(o.target_iqn),t.push(this.iscsiService.getTarget(this.target_iqn))})),this.action=this.isEdit?this.actionLabels.EDIT:this.actionLabels.CREATE,(0,W.D)(t).subscribe(o=>{const i=C()(o[0]).filter(a=>a.target_iqn!==this.target_iqn).flatMap(a=>a.disks).map(a=>`${a.pool}/${a.image}`).value();"api_version"in o[3]&&(this.api_version=o[3].api_version),this.minimum_gateways=o[3].config.minimum_gateways,this.target_default_controls=o[3].target_default_controls,this.target_controls_limits=o[3].target_controls_limits,this.disk_default_controls=o[3].disk_default_controls,this.disk_controls_limits=o[3].disk_controls_limits,this.backstores=o[3].backstores,this.default_backstore=o[3].default_backstore,this.unsupported_rbd_features=o[3].unsupported_rbd_features,this.required_rbd_features=o[3].required_rbd_features,this.imagesAll=C()(o[1]).flatMap(a=>a.value).filter(a=>!a.namespace&&!(-1!==i.indexOf(`${a.pool_name}/${a.name}`)||0===this.getValidBackstores(a).length)).value(),this.imagesSelections=this.imagesAll.map(a=>new V.$(!1,`${a.pool_name}/${a.name}`,""));const s=[];o[2].forEach(a=>{a.ip_addresses.forEach(d=>{s.push(new V.$(!1,a.name+":"+d,""))})}),this.portalsSelections=[...s],this.cephIscsiConfigVersion=o[4].ceph_iscsi_config_version,this.createForm(),o[5]&&this.resolveModel(o[5]),this.loadingReady()})}createForm(){if(this.targetForm=new M.d({target_iqn:new r.NI("iqn.2001-07.com.ceph:"+Date.now(),{validators:[r.kI.required,r.kI.pattern(this.IQN_REGEX)]}),target_controls:new r.NI({}),portals:new r.NI([],{validators:[B.h.custom("minGateways",t=>C().uniq(t.map(i=>i.split(":")[0])).length<Math.max(1,this.minimum_gateways))]}),disks:new r.NI([],{validators:[B.h.custom("dupLunId",t=>{const o=this.getLunIds(t);return o.length!==C().uniq(o).length}),B.h.custom("dupWwn",t=>{const o=this.getWwns(t);return o.length!==C().uniq(o).length})]}),initiators:new r.Oe([]),groups:new r.Oe([]),acl_enabled:new r.NI(!1)}),this.cephIscsiConfigVersion>10){const t=new M.d({user:new r.NI(""),password:new r.NI(""),mutual_user:new r.NI(""),mutual_password:new r.NI("")});this.setAuthValidator(t),this.targetForm.addControl("auth",t)}}resolveModel(t){this.targetForm.patchValue({target_iqn:t.target_iqn,target_controls:t.target_controls,acl_enabled:t.acl_enabled}),this.cephIscsiConfigVersion>10&&this.targetForm.patchValue({auth:t.auth});const o=[];C().forEach(t.portals,s=>{o.push(`${s.host}:${s.ip}`)}),this.targetForm.patchValue({portals:o});const i=[];C().forEach(t.disks,s=>{const a=`${s.pool}/${s.image}`;i.push(a),this.imagesSettings[a]={backstore:s.backstore},this.imagesSettings[a][s.backstore]=s.controls,"lun"in s&&(this.imagesSettings[a].lun=s.lun),"wwn"in s&&(this.imagesSettings[a].wwn=s.wwn),this.onImageSelection({option:{name:a,selected:!0}})}),this.targetForm.patchValue({disks:i}),C().forEach(t.clients,s=>{const a=this.addInitiator();s.luns=C().map(s.luns,d=>`${d.pool}/${d.image}`),a.patchValue(s)}),t.groups.forEach((s,a)=>{const d=this.addGroup();s.disks=C().map(s.disks,c=>`${c.pool}/${c.image}`),d.patchValue(s),C().forEach(s.members,c=>{this.onGroupMemberSelection({option:new V.$(!0,c,"")},a)})})}hasAdvancedSettings(t){return Object.values(t).length>0}get portals(){return this.targetForm.get("portals")}onPortalSelection(){this.portals.setValue(this.portals.value)}removePortal(t,o){return this.portalsSelections.forEach(i=>{i.name===o&&(i.selected=!1)}),this.portals.value.splice(t,1),this.portals.setValue(this.portals.value),!1}get disks(){return this.targetForm.get("disks")}removeImage(t,o){return this.imagesSelections.forEach(i=>{i.name===o&&(i.selected=!1)}),this.disks.value.splice(t,1),this.removeImageRefs(o),this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1}),!1}removeImageRefs(t){this.initiators.controls.forEach(o=>{const i=o.value.luns.filter(s=>s!==t);o.get("luns").setValue(i)}),this.groups.controls.forEach(o=>{const i=o.value.disks.filter(s=>s!==t);o.get("disks").setValue(i)}),C().forEach(this.imagesInitiatorSelections,(o,i)=>{this.imagesInitiatorSelections[i]=o.filter(s=>s.name!==t)}),C().forEach(this.groupDiskSelections,(o,i)=>{this.groupDiskSelections[i]=o.filter(s=>s.name!==t)})}getDefaultBackstore(t){let o=this.default_backstore;const i=this.getImageById(t);return this.validFeatures(i,this.default_backstore)||this.backstores.forEach(s=>{s!==this.default_backstore&&this.validFeatures(i,s)&&(o=s)}),o}isLunIdInUse(t,o){const i=this.disks.value.filter(s=>s!==o);return this.getLunIds(i).includes(t)}getLunIds(t){return C().map(t,o=>this.imagesSettings[o].lun)}nextLunId(t){const o=this.disks.value.filter(a=>a!==t),i=this.getLunIds(o);let s=0;for(;i.includes(s);)s++;return s}getWwns(t){return C().map(t,i=>this.imagesSettings[i].wwn).filter(i=>C().isString(i)&&""!==i)}onImageSelection(t){const o=t.option;if(o.selected){if(this.imagesSettings[o.name])this.isLunIdInUse(this.imagesSettings[o.name].lun,o.name)&&(this.imagesSettings[o.name].lun=this.nextLunId(o.name));else{const i=this.getDefaultBackstore(o.name);this.imagesSettings[o.name]={backstore:i,lun:this.nextLunId(o.name)},this.imagesSettings[o.name][i]={}}C().forEach(this.imagesInitiatorSelections,(i,s)=>{i.push(new V.$(!1,o.name,"")),this.imagesInitiatorSelections[s]=[...i]}),C().forEach(this.groupDiskSelections,(i,s)=>{i.push(new V.$(!1,o.name,"")),this.groupDiskSelections[s]=[...i]})}else this.removeImageRefs(o.name);this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1})}get initiators(){return this.targetForm.get("initiators")}addInitiator(){const t=new M.d({client_iqn:new r.NI("",{validators:[r.kI.required,B.h.custom("notUnique",i=>{const s=this.initiators.controls.reduce(function(a,d){return a.concat(d.value.client_iqn)},[]);return s.indexOf(i)!==s.lastIndexOf(i)}),r.kI.pattern(this.IQN_REGEX)]}),auth:new M.d({user:new r.NI(""),password:new r.NI(""),mutual_user:new r.NI(""),mutual_password:new r.NI("")}),luns:new r.NI([]),cdIsInGroup:new r.NI(!1)});this.setAuthValidator(t),this.initiators.push(t),C().forEach(this.groupMembersSelections,(i,s)=>{i.push(new V.$(!1,"","")),this.groupMembersSelections[s]=[...i]});const o=C().map(this.targetForm.getValue("disks"),i=>new V.$(!1,i,""));return this.imagesInitiatorSelections.push(o),t}setAuthValidator(t){B.h.validateIf(t.get("user"),()=>t.getValue("password")||t.getValue("mutual_user")||t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[t.get("password"),t.get("mutual_user"),t.get("mutual_password")]),B.h.validateIf(t.get("password"),()=>t.getValue("user")||t.getValue("mutual_user")||t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[t.get("user"),t.get("mutual_user"),t.get("mutual_password")]),B.h.validateIf(t.get("mutual_user"),()=>t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[t.get("user"),t.get("password"),t.get("mutual_password")]),B.h.validateIf(t.get("mutual_password"),()=>t.getValue("mutual_user"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[t.get("user"),t.get("password"),t.get("mutual_user")])}removeInitiator(t){const o=this.initiators.value[t];this.initiators.removeAt(t),C().forEach(this.groupMembersSelections,(i,s)=>{i.splice(t,1),this.groupMembersSelections[s]=[...i]}),this.groups.controls.forEach(i=>{const s=i.value.members.filter(a=>a!==o.client_iqn);i.get("members").setValue(s)}),this.imagesInitiatorSelections.splice(t,1)}updatedInitiatorSelector(){this.initiators.controls.forEach(t=>{t.get("client_iqn").updateValueAndValidity({emitEvent:!1})}),C().forEach(this.groupMembersSelections,(t,o)=>{C().forEach(t,(i,s)=>{const a=i.name;i.name=this.initiators.controls[s].value.client_iqn,this.groups.controls.forEach(d=>{const c=d.value.members,u=c.indexOf(a);-1!==u&&(c[u]=i.name),d.get("members").setValue(c)})}),this.groupMembersSelections[o]=[...this.groupMembersSelections[o]]})}removeInitiatorImage(t,o,i,s){const a=t.getValue("luns");return a.splice(o,1),t.patchValue({luns:a}),this.imagesInitiatorSelections[i].forEach(d=>{d.name===s&&(d.selected=!1)}),!1}get groups(){return this.targetForm.get("groups")}addGroup(){const t=new M.d({group_id:new r.NI("",{validators:[r.kI.required]}),members:new r.NI([]),disks:new r.NI([])});this.groups.push(t);const o=C().map(this.targetForm.getValue("disks"),s=>new V.$(!1,s,""));this.groupDiskSelections.push(o);const i=C().map(this.initiators.value,s=>new V.$(!1,s.client_iqn,"",!s.cdIsInGroup));return this.groupMembersSelections.push(i),t}removeGroup(t){this.groups.removeAt(t),this.groupMembersSelections[t].filter(i=>i.selected).forEach(i=>{i.selected=!1,this.onGroupMemberSelection({option:i},t)}),this.groupMembersSelections.splice(t,1),this.groupDiskSelections.splice(t,1)}onGroupMemberSelection(t,o){const i=t.option;let s=[];i.selected||(s=this.groupDiskSelections[o].filter(d=>d.selected).map(d=>d.name)),this.initiators.controls.forEach((a,d)=>{a.value.client_iqn===i.name&&(a.patchValue({luns:s}),a.get("cdIsInGroup").setValue(i.selected),C().forEach(this.groupMembersSelections,c=>{c[d].enabled=!i.selected}),this.imagesInitiatorSelections[d].forEach(c=>{c.selected=s.includes(c.name)}))})}removeGroupInitiator(t,o,i){const s=t.getValue("members")[o];t.getValue("members").splice(o,1),this.onGroupMemberSelection({option:new V.$(!1,s,"")},i)}removeGroupDisk(t,o,i){const s=t.getValue("disks")[o];t.getValue("disks").splice(o,1),this.groupDiskSelections[i].forEach(a=>{a.name===s&&(a.selected=!1)}),this.groupDiskSelections[i]=[...this.groupDiskSelections[i]]}submit(){const t=C().cloneDeep(this.targetForm.value),o={target_iqn:this.targetForm.getValue("target_iqn"),target_controls:this.targetForm.getValue("target_controls"),acl_enabled:this.targetForm.getValue("acl_enabled"),portals:[],disks:[],clients:[],groups:[]};if(this.cephIscsiConfigVersion>10){const s=this.targetForm.get("auth");s.getValue("user")||s.get("user").setValue(""),s.getValue("password")||s.get("password").setValue(""),s.getValue("mutual_user")||s.get("mutual_user").setValue(""),s.getValue("mutual_password")||s.get("mutual_password").setValue("");const a=this.targetForm.getValue("acl_enabled");o.auth={user:a?"":s.getValue("user"),password:a?"":s.getValue("password"),mutual_user:a?"":s.getValue("mutual_user"),mutual_password:a?"":s.getValue("mutual_password")}}let i;t.disks.forEach(s=>{const a=s.split("/"),d=this.imagesSettings[s].backstore;o.disks.push({pool:a[0],image:a[1],backstore:d,controls:this.imagesSettings[s][d],lun:this.imagesSettings[s].lun,wwn:this.imagesSettings[s].wwn})}),t.portals.forEach(s=>{const a=s.indexOf(":");o.portals.push({host:s.substring(0,a),ip:s.substring(a+1)})}),o.acl_enabled&&(t.initiators.forEach(s=>{s.auth.user||(s.auth.user=""),s.auth.password||(s.auth.password=""),s.auth.mutual_user||(s.auth.mutual_user=""),s.auth.mutual_password||(s.auth.mutual_password=""),delete s.cdIsInGroup;const a=[];s.luns.forEach(d=>{const c=d.split("/");a.push({pool:c[0],image:c[1]})}),s.luns=a}),o.clients=t.initiators),o.acl_enabled&&(t.groups.forEach(s=>{const a=[];s.disks.forEach(d=>{const c=d.split("/");a.push({pool:c[0],image:c[1]})}),s.disks=a}),o.groups=t.groups),this.isEdit?(o.new_target_iqn=o.target_iqn,o.target_iqn=this.target_iqn,i=this.taskWrapper.wrapTaskAroundCall({task:new F.R("iscsi/target/edit",{target_iqn:o.target_iqn}),call:this.iscsiService.updateTarget(this.target_iqn,o)})):i=this.taskWrapper.wrapTaskAroundCall({task:new F.R("iscsi/target/create",{target_iqn:o.target_iqn}),call:this.iscsiService.createTarget(o)}),i.subscribe({error:()=>{this.targetForm.setErrors({cdSubmitButton:!0})},complete:()=>this.router.navigate(["/block/iscsi/targets"])})}targetSettingsModal(){const t={target_controls:this.targetForm.get("target_controls"),target_default_controls:this.target_default_controls,target_controls_limits:this.target_controls_limits};this.modalRef=this.modalService.show(ro,t)}imageSettingsModal(t){const o={imagesSettings:this.imagesSettings,image:t,api_version:this.api_version,disk_default_controls:this.disk_default_controls,disk_controls_limits:this.disk_controls_limits,backstores:this.getValidBackstores(this.getImageById(t)),control:this.targetForm.get("disks")};this.modalRef=this.modalService.show(so,o)}validFeatures(t,o){const i=t.features,s=this.required_rbd_features[o];return(i&s)===s&&0==(i&this.unsupported_rbd_features[o])}getImageById(t){return this.imagesAll.find(o=>t===`${o.pool_name}/${o.name}`)}getValidBackstores(t){return this.backstores.filter(o=>this.validFeatures(t,o))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(k),e.Y36(re.Z),e.Y36(x),e.Y36(m.F0),e.Y36(m.gz),e.Y36(Q.P),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$,G,X,J,te,A,w,de,pe,ge,ue,me,Te,fe,Ce,Se,y,Ze,Be,Ge,ye,xe,we,qe,L,Ot,At,ht,Pt,It,bt,Nt,Dt,vt,Lt,Ft,$t,Zt,Bt,Gt,yt,xt,wt,qt,Ht,Kt,kt,Xt,Qt,zt;return _="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Target IQN",o="Portals",i="Add portal",s="Images",a="Add image",d="ACL authentication",c="This field is required.",u="IQN has wrong pattern.",S="An IQN has the following notation 'iqn.$year-$month.$reversedAddress:$definedName'",N="For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309",P="More information",$="This target has modified advanced settings.",G="At least " + "\ufffd0\ufffd" + " gateways are required.",X="Backstore: " + "\ufffd0\ufffd" + ".\xA0",J="This image has modified settings.",te="Duplicated LUN numbers.",A="Duplicated WWN.",w="User",de="Password",pe="Mutual User",ge="Mutual Password",ue="This field is required.",me="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",Te="This field is required.",fe="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Ce="This field is required.",Se="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",y="This field is required.",Ze="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Be="Initiators",Ge="Add initiator",ye="Initiator",xe="Client IQN",we="User",qe="Password",L="Mutual User",Ot="Mutual Password",At="Images",ht="Initiator IQN needs to be unique.",Pt="This field is required.",It="IQN has wrong pattern.",bt="This field is required.",Nt="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",Dt="This field is required.",vt="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Lt="This field is required.",Ft="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",$t="This field is required.",Zt="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Bt="Initiator belongs to a group. Images will be configure in the group.",Gt="Add image",yt="No items added.",xt="Groups",wt="Add group",qt="Group",Ht="Name",Kt="Initiators",kt="Add initiator",Xt="Images",Qt="Add image",zt="No items added.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","targetForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],_,[1,"card-body"],[1,"form-group","row"],["for","target_iqn",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],[1,"input-group"],["type","text","id","target_iqn","name","target_iqn","formControlName","target_iqn","cdTrim","",1,"form-control"],[1,"input-group-append"],["id","ecp-info-button","type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],["class","form-text text-muted",4,"ngIf"],["for","portals",1,"cd-col-form-label","required"],o,[4,"ngFor","ngForOf"],[1,"row"],[1,"col-md-12"],["elemClass","btn btn-light float-right",3,"data","options","messages","selection"],[3,"ngClass"],i,["type","hidden","id","portals","name","portals","formControlName","portals",1,"form-control"],["for","disks",1,"cd-col-form-label"],s,["type","hidden","id","disks","name","disks","formControlName","disks",1,"form-control"],a,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","formControlName","acl_enabled","name","acl_enabled","id","acl_enabled",1,"custom-control-input"],["for","acl_enabled",1,"custom-control-label"],d,["formGroupName","auth",4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],c,u,S,N,["target","_blank","href","https://en.wikipedia.org/wiki/ISCSI#Addressing"],P,[1,"form-text","text-muted"],$,[1,"input-group","cd-mb"],["type","text","disabled","",1,"cd-form-control",3,"value"],["type","button",1,"btn","btn-light",3,"click"],G,["class","input-group-text",4,"ngIf"],[4,"ngIf"],[1,"input-group-text"],X,J,te,A,["formGroupName","auth"],["for","target_user",1,"cd-col-form-label"],w,["type","text","autocomplete","off","id","target_user","name","target_user","formControlName","user",1,"form-control"],["for","target_password",1,"cd-col-form-label"],de,["type","password","autocomplete","new-password","id","target_password","name","target_password","formControlName","password",1,"form-control"],["type","button","cdPasswordButton","target_password",1,"btn","btn-light"],["source","target_password"],["for","target_mutual_user",1,"cd-col-form-label"],pe,["type","text","autocomplete","off","id","target_mutual_user","name","target_mutual_user","formControlName","mutual_user",1,"form-control"],["for","target_mutual_password",1,"cd-col-form-label"],ge,["type","password","autocomplete","new-password","id","target_mutual_password","name","target_mutual_password","formControlName","mutual_password",1,"form-control"],["type","button","cdPasswordButton","target_mutual_password",1,"btn","btn-light"],["source","target_mutual_password"],ue,me,Te,fe,Ce,Se,y,Ze,["for","initiators",1,"cd-col-form-label"],Be,["formArrayName","initiators",1,"cd-col-form-input"],["class","card mb-2",3,"formGroup",4,"ngFor","ngForOf"],[1,"btn","btn-light","float-right",3,"click"],Ge,[1,"card","mb-2",3,"formGroup"],ye,["type","button",1,"close",3,"click"],["for","client_iqn",1,"cd-col-form-label","required"],xe,["type","text","formControlName","client_iqn","cdTrim","",1,"form-control",3,"blur"],["for","user",1,"cd-col-form-label"],we,["formControlName","user","autocomplete","off","type","text",1,"form-control",3,"id"],["for","password",1,"cd-col-form-label"],qe,["formControlName","password","autocomplete","new-password","type","password",1,"form-control",3,"id"],["type","button",1,"btn","btn-light",3,"cdPasswordButton"],[3,"source"],["for","mutual_user",1,"cd-col-form-label"],L,["formControlName","mutual_user","autocomplete","off","type","text",1,"form-control",3,"id"],["for","mutual_password",1,"cd-col-form-label"],Ot,["formControlName","mutual_password","autocomplete","new-password","type","password",1,"form-control",3,"id"],["for","luns",1,"cd-col-form-label"],At,["class","row",4,"ngIf"],ht,Pt,It,bt,Nt,Dt,vt,Lt,Ft,$t,Zt,Bt,["elemClass","btn btn-light float-right",3,"data","options","messages"],Gt,yt,xt,["formArrayName","groups",1,"cd-col-form-input"],wt,qt,["for","group_id",1,"cd-col-form-label","required"],Ht,["type","text","formControlName","group_id",1,"form-control"],["for","members",1,"cd-col-form-label"],Kt,kt,Xt,Qt,zt]},template:function(t,o){1&t&&e.YNc(0,tn,66,40,"div",0),2&t&&e.Q6J("cdFormLoading",o.loading)},directives:[st.y,r._Y,r.JL,r.sg,v.V,g.P,f.o,r.Fj,h.b,r.JJ,r.u,lo,l.mk,l.O5,l.sg,co.H,r.Wl,O.p,r.x0,at.C,Je.s,r.CE],pipes:[l.rS,Ye.m,He.V],styles:[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}"]}),n})();var lt=p(68136),he=p(30982),ee=p(64337),ve=p(99466),Ee=p(68774),ct=p(55657),se=p(38047),Ve=p(18001),Le=p(97161),oe=p(74937);function on(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,31),e.qZA())}function nn(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,32),e.qZA())}function _n(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,33),e.qZA())}function sn(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,34),e.qZA())}function an(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,35),e.qZA())}function rn(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,36),e.qZA())}function ln(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,37),e.qZA())}function cn(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,38),e.qZA())}let dn=(()=>{class n{constructor(t,o,i,s,a){this.authStorageService=t,this.activeModal=o,this.actionLabels=i,this.iscsiService=s,this.notificationService=a,this.USER_REGEX=/^[\w\.:@_-]{8,64}$/,this.PASSWORD_REGEX=/^[\w@\-_\/]{12,16}$/,this.permission=this.authStorageService.getPermissions().iscsi}ngOnInit(){this.hasPermission=this.permission.update,this.createForm(),this.iscsiService.getDiscovery().subscribe(t=>{this.discoveryForm.patchValue(t)})}createForm(){this.discoveryForm=new M.d({user:new r.NI({value:"",disabled:!this.hasPermission}),password:new r.NI({value:"",disabled:!this.hasPermission}),mutual_user:new r.NI({value:"",disabled:!this.hasPermission}),mutual_password:new r.NI({value:"",disabled:!this.hasPermission})}),B.h.validateIf(this.discoveryForm.get("user"),()=>this.discoveryForm.getValue("password")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),B.h.validateIf(this.discoveryForm.get("password"),()=>this.discoveryForm.getValue("user")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),B.h.validateIf(this.discoveryForm.get("mutual_user"),()=>this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_password")]),B.h.validateIf(this.discoveryForm.get("mutual_password"),()=>this.discoveryForm.getValue("mutual_user"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user")])}submitAction(){this.iscsiService.updateDiscovery(this.discoveryForm.value).subscribe(()=>{this.notificationService.show(Ve.k.success,"Updated discovery authentication"),this.activeModal.close()},()=>{this.discoveryForm.setErrors({cdSubmitButton:!0})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(I.Kz),e.Y36(D.p4),e.Y36(k),e.Y36(Le.g))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-discovery-modal"]],decls:46,vars:13,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$;return _="Discovery Authentication",t="User",o="Password",i="Mutual User",s="Mutual Password",a="This field is required.",d="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",c="This field is required.",u="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",S="This field is required.",N="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",P="This field is required.",$="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","discoveryForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","user",1,"cd-col-form-label"],t,[1,"cd-col-form-input"],["id","user","formControlName","user","type","text","autocomplete","off",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","password",1,"cd-col-form-label"],o,[1,"input-group"],["id","password","formControlName","password","type","password","autocomplete","new-password",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","password",1,"btn","btn-light"],["source","password"],["for","mutual_user",1,"cd-col-form-label"],i,["id","mutual_user","formControlName","mutual_user","type","text","autocomplete","off",1,"form-control"],["for","mutual_password",1,"cd-col-form-label"],s,["id","mutual_password","formControlName","mutual_password","type","password","autocomplete","new-password",1,"form-control"],["type","button","cdPasswordButton","mutual_password",1,"btn","btn-light"],["source","mutual_password"],[1,"modal-footer"],[3,"form","showSubmit","submitText","submitActionEvent"],[1,"invalid-feedback"],a,d,c,u,S,N,P,$]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"div",7),e.TgZ(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e._UZ(11,"input",11),e.YNc(12,on,2,0,"span",12),e.YNc(13,nn,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(14,"div",7),e.TgZ(15,"label",13),e.SDv(16,14),e.qZA(),e.TgZ(17,"div",10),e.TgZ(18,"div",15),e._UZ(19,"input",16),e.TgZ(20,"span",17),e._UZ(21,"button",18),e._UZ(22,"cd-copy-2-clipboard-button",19),e.qZA(),e.qZA(),e.YNc(23,_n,2,0,"span",12),e.YNc(24,sn,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(25,"div",7),e.TgZ(26,"label",20),e.ynx(27),e.SDv(28,21),e.BQk(),e.qZA(),e.TgZ(29,"div",10),e._UZ(30,"input",22),e.YNc(31,an,2,0,"span",12),e.YNc(32,rn,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(33,"div",7),e.TgZ(34,"label",23),e.SDv(35,24),e.qZA(),e.TgZ(36,"div",10),e.TgZ(37,"div",15),e._UZ(38,"input",25),e.TgZ(39,"span",17),e._UZ(40,"button",26),e._UZ(41,"cd-copy-2-clipboard-button",27),e.qZA(),e.qZA(),e.YNc(42,ln,2,0,"span",12),e.YNc(43,cn,2,0,"span",12),e.qZA(),e.qZA(),e.qZA(),e.TgZ(44,"div",28),e.TgZ(45,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return o.submitAction()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.discoveryForm),e.xp6(8),e.Q6J("ngIf",o.discoveryForm.showError("user",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("user",i,"pattern")),e.xp6(10),e.Q6J("ngIf",o.discoveryForm.showError("password",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("password",i,"pattern")),e.xp6(7),e.Q6J("ngIf",o.discoveryForm.showError("mutual_user",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("mutual_user",i,"pattern")),e.xp6(10),e.Q6J("ngIf",o.discoveryForm.showError("mutual_password",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("mutual_password",i,"pattern")),e.xp6(2),e.Q6J("form",o.discoveryForm)("showSubmit",o.hasPermission)("submitText",o.actionLabels.SUBMIT)}},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,f.o,r.Fj,h.b,r.JJ,r.u,l.O5,at.C,Je.s,O.p],styles:[""]}),n})();var pn=p(86969);let dt=(()=>{class n{constructor(t){this.router=t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(m.F0))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-tabs"]],decls:8,vars:1,consts:function(){let _,t;return _="Overview",t="Targets",[["ngbNav","",1,"nav-tabs",3,"activeId","navChange"],["nav","ngbNav"],["ngbNavItem","/block/iscsi/overview"],["ngbNavLink",""],_,["ngbNavItem","/block/iscsi/targets"],t]},template:function(t,o){1&t&&(e.TgZ(0,"ul",0,1),e.NdJ("navChange",function(s){return o.router.navigate([s.nextId])}),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"li",5),e.TgZ(6,"a",3),e.SDv(7,6),e.qZA(),e.qZA(),e.qZA()),2&t&&e.Q6J("activeId",o.router.url)},directives:[I.Pz,I.nv,I.Vx],styles:[""]}),n})();var pt=p(34501),gn=p(30490),Re=p(94928),un=p(68962);const mn=["highlightTpl"],Tn=["detailTable"],fn=["tree"],Cn=function(){return["logged_in"]},Sn=function(){return["logged_out"]},En=function(n,_){return{"badge-success":n,"badge-danger":_}};function Rn(n,_){if(1&n&&(e._UZ(0,"i"),e.TgZ(1,"span"),e._uU(2),e.qZA(),e._uU(3," \xa0 "),e.TgZ(4,"span",8),e._uU(5),e.qZA()),2&n){const t=_.$implicit;e.Tol(t.data.cdIcon),e.xp6(2),e.Oqu(t.data.name),e.xp6(2),e.Q6J("ngClass",e.WLB(7,En,e.DdM(5,Cn).includes(t.data.status),e.DdM(6,Sn).includes(t.data.status))),e.xp6(1),e.hij(" ",t.data.status," ")}}function Mn(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"legend"),e._uU(2),e.qZA(),e._UZ(3,"cd-table",10,11),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.Oqu(t.title),e.xp6(1),e.Q6J("data",t.data)("columns",t.columns)("limit",0)}}function On(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t)}}function An(n,_){if(1&n&&(e.TgZ(0,"strong"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t)}}function hn(n,_){if(1&n&&(e.YNc(0,On,2,1,"span",12),e.YNc(1,An,2,1,"strong",12)),2&n){const t=_.row;e.Q6J("ngIf",void 0===t.default||t.default===t.current),e.xp6(1),e.Q6J("ngIf",void 0!==t.default&&t.default!==t.current)}}let Pn=(()=>{class n{constructor(t,o){this.iscsiBackstorePipe=t,this.booleanTextPipe=o,this.icons=T.P,this.metadata={},this.nodes=[],this.treeOptions={useVirtualScroll:!0,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}}}set content(t){this.detailTable=t,t&&t.updateColumns()}ngOnInit(){this.columns=[{prop:"displayName",name:"Name",flexGrow:1,cellTemplate:this.highlightTpl},{prop:"current",name:"Current",flexGrow:1,cellTemplate:this.highlightTpl},{prop:"default",name:"Default",flexGrow:1,cellTemplate:this.highlightTpl}]}ngOnChanges(){this.selection&&(this.selectedItem=this.selection,this.generateTree()),this.data=void 0}generateTree(){const t=C().cloneDeep(this.selectedItem.target_controls);this.cephIscsiConfigVersion>10&&C().extend(t,C().cloneDeep(this.selectedItem.auth)),this.metadata={root:t};const o={target:{expanded:C().join(this.selectedItem.cdExecuting?[T.P.large,T.P.spinner,T.P.spin]:[T.P.large,T.P.bullseye]," ")},initiators:{expanded:C().join([T.P.large,T.P.user]," "),leaf:C().join([T.P.user]," ")},groups:{expanded:C().join([T.P.large,T.P.users]," "),leaf:C().join([T.P.users]," ")},disks:{expanded:C().join([T.P.large,T.P.disk]," "),leaf:C().join([T.P.disk]," ")},portals:{expanded:C().join([T.P.large,T.P.server]," "),leaf:C().join([T.P.server]," ")}},i=[];C().forEach(this.selectedItem.disks,c=>{const u="disk_"+c.pool+"_"+c.image;this.metadata[u]={controls:c.controls,backstore:c.backstore},["wwn","lun"].forEach(S=>{S in c&&(this.metadata[u][S]=c[S])}),i.push({name:`${c.pool}/${c.image}`,cdId:u,cdIcon:o.disks.leaf})});const s=[];C().forEach(this.selectedItem.portals,c=>{s.push({name:`${c.host}:${c.ip}`,cdIcon:o.portals.leaf})});const a=[];C().forEach(this.selectedItem.clients,c=>{const u=C().cloneDeep(c.auth);c.info&&(C().extend(u,c.info),delete u.state,C().forEach(Object.keys(c.info.state),P=>{u[P.toLowerCase()]=c.info.state[P]})),this.metadata["client_"+c.client_iqn]=u;const S=[];c.luns.forEach(P=>{S.push({name:`${P.pool}/${P.image}`,cdId:"disk_"+P.pool+"_"+P.image,cdIcon:o.disks.leaf})});let N="";c.info&&(N=Object.keys(c.info.state).includes("LOGGED_IN")?"logged_in":"logged_out"),a.push({name:c.client_iqn,status:N,cdId:"client_"+c.client_iqn,children:S,cdIcon:o.initiators.leaf})});const d=[];C().forEach(this.selectedItem.groups,c=>{const u=[];c.disks.forEach(N=>{u.push({name:`${N.pool}/${N.image}`,cdId:"disk_"+N.pool+"_"+N.image,cdIcon:o.disks.leaf})});const S=[];c.members.forEach(N=>{S.push({name:N,cdId:"client_"+N})}),d.push({name:c.group_id,cdIcon:o.groups.leaf,children:[{name:"Disks",children:u,cdIcon:o.disks.expanded},{name:"Initiators",children:S,cdIcon:o.initiators.expanded}]})}),this.nodes=[{name:this.selectedItem.target_iqn,cdId:"root",isExpanded:!0,cdIcon:o.target.expanded,children:[{name:"Disks",isExpanded:!0,children:i,cdIcon:o.disks.expanded},{name:"Portals",isExpanded:!0,children:s,cdIcon:o.portals.expanded},{name:"Initiators",isExpanded:!0,children:a,cdIcon:o.initiators.expanded},{name:"Groups",isExpanded:!0,children:d,cdIcon:o.groups.expanded}]}]}format(t){return"boolean"==typeof t?this.booleanTextPipe.transform(t):t}onNodeSelected(t,o){var i,s,a,d;if(ne.iM.ACTIVATE(t,o,!0),o.data.cdId){this.title=o.data.name;const c=this.metadata[o.data.cdId]||{};"root"===o.data.cdId?(null===(i=this.detailTable)||void 0===i||i.toggleColumn({prop:"default",isHidden:!0}),this.data=C().map(this.settings.target_default_controls,(u,S)=>({displayName:S,default:u=this.format(u),current:C().isUndefined(c[S])?u:this.format(c[S])})),this.cephIscsiConfigVersion>10&&["user","password","mutual_user","mutual_password"].forEach(u=>{this.data.push({displayName:u,default:null,current:c[u]})})):o.data.cdId.toString().startsWith("disk_")?(null===(s=this.detailTable)||void 0===s||s.toggleColumn({prop:"default",isHidden:!0}),this.data=C().map(this.settings.disk_default_controls[c.backstore],(u,S)=>({displayName:S,default:u=this.format(u),current:C().isUndefined(c.controls[S])?u:this.format(c.controls[S])})),this.data.push({displayName:"backstore",default:this.iscsiBackstorePipe.transform(this.settings.default_backstore),current:this.iscsiBackstorePipe.transform(c.backstore)}),["wwn","lun"].forEach(u=>{u in c&&this.data.push({displayName:u,default:void 0,current:c[u]})})):(null===(a=this.detailTable)||void 0===a||a.toggleColumn({prop:"default",isHidden:!1}),this.data=C().map(c,(u,S)=>({displayName:S,default:void 0,current:this.format(u)})))}else this.data=void 0;null===(d=this.detailTable)||void 0===d||d.updateColumns()}onUpdateData(){this.tree.treeModel.expandAll()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(He.V),e.Y36(un.T))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-details"]],viewQuery:function(t,o){if(1&t&&(e.Gf(mn,7),e.Gf(Tn,5),e.Gf(fn,5)),2&t){let i;e.iGM(i=e.CRH())&&(o.highlightTpl=i.first),e.iGM(i=e.CRH())&&(o.content=i.first),e.iGM(i=e.CRH())&&(o.tree=i.first)}},inputs:{selection:"selection",settings:"settings",cephIscsiConfigVersion:"cephIscsiConfigVersion"},features:[e.TTD],decls:11,vars:3,consts:function(){let _;return _="iSCSI Topology",[[1,"row"],[1,"col-6"],_,[3,"nodes","options","updateData"],["tree",""],["treeNodeTemplate",""],["class","col-6 metadata",4,"ngIf"],["highlightTpl",""],[1,"badge",3,"ngClass"],[1,"col-6","metadata"],["columnMode","flex",3,"data","columns","limit"],["detailTable",""],[4,"ngIf"]]},template:function(t,o){1&t&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"legend"),e.SDv(3,2),e.qZA(),e.TgZ(4,"tree-root",3,4),e.NdJ("updateData",function(){return o.onUpdateData()}),e.YNc(6,Rn,6,10,"ng-template",null,5,e.W1O),e.qZA(),e.qZA(),e.YNc(8,Mn,5,4,"div",6),e.qZA(),e.YNc(9,hn,2,2,"ng-template",null,7,e.W1O)),2&t&&(e.xp6(4),e.Q6J("nodes",o.nodes)("options",o.treeOptions),e.xp6(4),e.Q6J("ngIf",o.data))},directives:[ne.qr,l.O5,l.mk,ee.a],styles:[""]}),n})();function In(n,_){if(1&n&&(e.ynx(0),e._UZ(1,"br"),e.TgZ(2,"span"),e.SDv(3,6),e.qZA(),e.TgZ(4,"pre"),e._uU(5),e.qZA(),e.BQk()),2&n){const t=e.oxw(2);e.xp6(5),e.Oqu(t.status)}}function bn(n,_){if(1&n&&(e.TgZ(0,"cd-alert-panel",2),e.ynx(1),e.tHW(2,3),e._UZ(3,"cd-doc",4),e.N_p(),e.BQk(),e.YNc(4,In,6,1,"ng-container",5),e.qZA()),2&n){const t=e.oxw();e.xp6(4),e.Q6J("ngIf",t.status)}}function Nn(n,_){if(1&n&&e._UZ(0,"cd-iscsi-target-details",15),2&n){const t=e.oxw(2);e.Q6J("cephIscsiConfigVersion",t.cephIscsiConfigVersion)("selection",t.expandedRow)("settings",t.settings)}}const Dn=function(n){return[n]};function vn(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",7,8),e.NdJ("fetchData",function(){return e.CHM(t),e.oxw().getTargets()})("setExpandedRow",function(i){return e.CHM(t),e.oxw().setExpandedRow(i)})("updateSelection",function(i){return e.CHM(t),e.oxw().updateSelection(i)}),e.TgZ(2,"div",9),e._UZ(3,"cd-table-actions",10),e.TgZ(4,"button",11),e.NdJ("click",function(){return e.CHM(t),e.oxw().configureDiscoveryAuth()}),e._UZ(5,"i",12),e.ynx(6),e.SDv(7,13),e.BQk(),e.qZA(),e.qZA(),e.YNc(8,Nn,1,3,"cd-iscsi-target-details",14),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.targets)("columns",t.columns)("hasDetails",!0)("autoReload",!1)("status",t.tableStatus),e.xp6(3),e.Q6J("permission",t.permission)("selection",t.selection)("tableActions",t.tableActions),e.xp6(2),e.Q6J("ngClass",e.VKq(10,Dn,t.icons.key)),e.xp6(3),e.Q6J("ngIf",t.expandedRow)}}let Ln=(()=>{class n extends lt.o{constructor(t,o,i,s,a,d,c,u,S){super(S),this.authStorageService=t,this.iscsiService=o,this.joinPipe=i,this.taskListService=s,this.notAvailablePipe=a,this.modalService=d,this.taskWrapper=c,this.actionLabels=u,this.ngZone=S,this.available=void 0,this.selection=new Ee.r,this.targets=[],this.icons=T.P,this.builders={"iscsi/target/create":N=>({target_iqn:N.target_iqn})},this.permission=this.authStorageService.getPermissions().iscsi,this.tableActions=[{permission:"create",icon:T.P.add,routerLink:()=>"/block/iscsi/targets/create",name:this.actionLabels.CREATE},{permission:"update",icon:T.P.edit,routerLink:()=>`/block/iscsi/targets/edit/${this.selection.first().target_iqn}`,name:this.actionLabels.EDIT,disable:()=>this.getEditDisableDesc()},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteIscsiTargetModal(),name:this.actionLabels.DELETE,disable:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:"Target",prop:"target_iqn",flexGrow:2,cellTransformation:ve.e.executing},{name:"Portals",prop:"cdPortals",pipe:this.joinPipe,flexGrow:2},{name:"Images",prop:"cdImages",pipe:this.joinPipe,flexGrow:2},{name:"# Sessions",prop:"info.num_sessions",pipe:this.notAvailablePipe,flexGrow:1}],this.iscsiService.status().subscribe(t=>{this.available=t.available,t.available||(this.status=t.message)})}getTargets(){this.available&&(this.setTableRefreshTimeout(),this.iscsiService.version().subscribe(t=>{this.cephIscsiConfigVersion=t.ceph_iscsi_config_version}),this.taskListService.init(()=>this.iscsiService.listTargets(),t=>this.prepareResponse(t),t=>this.targets=t,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders),this.iscsiService.settings().subscribe(t=>{this.settings=t}))}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}getEditDisableDesc(){const t=this.selection.first();return t&&(null==t?void 0:t.cdExecuting)?t.cdExecuting:t&&C().isUndefined(null==t?void 0:t.info)?"Unavailable gateway(s)":!t}getDeleteDisableDesc(){var t;const o=this.selection.first();return(null==o?void 0:o.cdExecuting)?o.cdExecuting:o&&C().isUndefined(null==o?void 0:o.info)?"Unavailable gateway(s)":o&&(null===(t=null==o?void 0:o.info)||void 0===t?void 0:t.num_sessions)?"Target has active sessions":!o}prepareResponse(t){return t.forEach(o=>{o.cdPortals=o.portals.map(i=>`${i.host}:${i.ip}`),o.cdImages=o.disks.map(i=>`${i.pool}/${i.image}`)}),t}onFetchError(){this.table.reset()}itemFilter(t,o){return t.target_iqn===o.metadata.target_iqn}taskFilter(t){return["iscsi/target/create","iscsi/target/edit","iscsi/target/delete"].includes(t.name)}updateSelection(t){this.selection=t}deleteIscsiTargetModal(){const t=this.selection.first().target_iqn;this.modalRef=this.modalService.show(he.M,{itemDescription:"iSCSI target",itemNames:[t],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new F.R("iscsi/target/delete",{target_iqn:t}),call:this.iscsiService.deleteTarget(t)})})}configureDiscoveryAuth(){this.modalService.show(dn)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(k),e.Y36(pn.A),e.Y36(se.j),e.Y36(ct.g),e.Y36(re.Z),e.Y36(Q.P),e.Y36(D.p4),e.Y36(e.R0b))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-list"]],viewQuery:function(t,o){if(1&t&&e.Gf(ee.a,5),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first)}},features:[e._Bn([se.j]),e.qOj],decls:3,vars:2,consts:function(){let _,t,o,i;return _="iSCSI Targets not available",t="Please consult the " + "\ufffd#3\ufffd" + "" + "\ufffd/#3\ufffd" + " on how to configure and enable the iSCSI Targets management functionality.",o="Available information:",i="Discovery authentication",[["type","info","title",_,4,"ngIf"],["columnMode","flex","identifier","target_iqn","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","autoReload","status","fetchData","setExpandedRow","updateSelection",4,"ngIf"],["type","info","title",_],t,["section","iscsi"],[4,"ngIf"],o,["columnMode","flex","identifier","target_iqn","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","autoReload","status","fetchData","setExpandedRow","updateSelection"],["table",""],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"],["type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],i,["cdTableDetail","",3,"cephIscsiConfigVersion","selection","settings",4,"ngIf"],["cdTableDetail","",3,"cephIscsiConfigVersion","selection","settings"]]},template:function(t,o){1&t&&(e._UZ(0,"cd-iscsi-tabs"),e.YNc(1,bn,5,1,"cd-alert-panel",0),e.YNc(2,vn,9,12,"cd-table",1)),2&t&&(e.xp6(1),e.Q6J("ngIf",!1===o.available),e.xp6(1),e.Q6J("ngIf",!0===o.available))},directives:[dt,l.O5,pt.G,gn.K,ee.a,Re.K,f.o,l.mk,Pn],styles:[""]}),n})();var Ue=p(66369),Fn=p(76446),$n=p(90068);const Zn=["iscsiSparklineTpl"],Bn=["iscsiPerSecondTpl"],Gn=["iscsiRelativeDateTpl"];function yn(n,_){if(1&n&&(e.TgZ(0,"span"),e._UZ(1,"cd-sparkline",9),e.qZA()),2&n){const t=e.oxw(),o=t.value,i=t.row;e.xp6(1),e.Q6J("data",o)("isBinary",i.cdIsBinary)}}function xn(n,_){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function wn(n,_){if(1&n&&(e.YNc(0,yn,2,2,"span",7),e.YNc(1,xn,2,0,"span",8)),2&n){const t=_.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}function qn(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.hij(" ",t," /s ")}}function Hn(n,_){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function Kn(n,_){if(1&n&&(e.YNc(0,qn,2,1,"span",7),e.YNc(1,Hn,2,0,"span",8)),2&n){const t=_.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}function kn(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"notAvailable"),e.ALo(3,"relativeDate"),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.hij(" ",e.lcZ(2,1,e.lcZ(3,3,t))," ")}}function Xn(n,_){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function Qn(n,_){if(1&n&&(e.YNc(0,kn,4,5,"span",7),e.YNc(1,Xn,2,0,"span",8)),2&n){const t=_.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}let zn=(()=>{class n{constructor(t,o,i){this.iscsiService=t,this.dimlessPipe=o,this.iscsiBackstorePipe=i,this.gateways=[],this.images=[]}ngOnInit(){this.gatewaysColumns=[{name:"Name",prop:"name"},{name:"State",prop:"state",flexGrow:1,cellTransformation:ve.e.badge,customTemplateConfig:{map:{up:{class:"badge-success"},down:{class:"badge-danger"}}}},{name:"# Targets",prop:"num_targets"},{name:"# Sessions",prop:"num_sessions"}],this.imagesColumns=[{name:"Pool",prop:"pool"},{name:"Image",prop:"image"},{name:"Backstore",prop:"backstore",pipe:this.iscsiBackstorePipe},{name:"Read Bytes",prop:"stats_history.rd_bytes",cellTemplate:this.iscsiSparklineTpl},{name:"Write Bytes",prop:"stats_history.wr_bytes",cellTemplate:this.iscsiSparklineTpl},{name:"Read Ops",prop:"stats.rd",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:"Write Ops",prop:"stats.wr",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:"A/O Since",prop:"optimized_since",cellTemplate:this.iscsiRelativeDateTpl}]}refresh(){this.iscsiService.overview().subscribe(t=>{this.gateways=t.gateways,this.images=t.images,this.images.map(o=>(o.stats_history&&(o.stats_history.rd_bytes=o.stats_history.rd_bytes.map(i=>i[1]),o.stats_history.wr_bytes=o.stats_history.wr_bytes.map(i=>i[1])),o.cdIsBinary=!0,o))})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(k),e.Y36(Ue.n),e.Y36(He.V))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi"]],viewQuery:function(t,o){if(1&t&&(e.Gf(Zn,7),e.Gf(Bn,7),e.Gf(Gn,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.iscsiSparklineTpl=i.first),e.iGM(i=e.CRH())&&(o.iscsiPerSecondTpl=i.first),e.iGM(i=e.CRH())&&(o.iscsiRelativeDateTpl=i.first)}},decls:13,vars:4,consts:function(){let _,t;return _="Gateways",t="Images",[_,[3,"data","columns","fetchData"],t,[3,"data","columns"],["iscsiSparklineTpl",""],["iscsiPerSecondTpl",""],["iscsiRelativeDateTpl",""],[4,"ngIf"],["class","text-muted",4,"ngIf"],[3,"data","isBinary"],[1,"text-muted"]]},template:function(t,o){1&t&&(e._UZ(0,"cd-iscsi-tabs"),e.TgZ(1,"legend"),e.SDv(2,0),e.qZA(),e.TgZ(3,"cd-table",1),e.NdJ("fetchData",function(){return o.refresh()}),e.qZA(),e.TgZ(4,"legend"),e.SDv(5,2),e.qZA(),e._UZ(6,"cd-table",3),e.YNc(7,wn,2,2,"ng-template",null,4,e.W1O),e.YNc(9,Kn,2,2,"ng-template",null,5,e.W1O),e.YNc(11,Qn,2,2,"ng-template",null,6,e.W1O)),2&t&&(e.xp6(3),e.Q6J("data",o.gateways)("columns",o.gatewaysColumns),e.xp6(3),e.Q6J("data",o.images)("columns",o.imagesColumns))},directives:[dt,ee.a,l.O5,Fn.l],pipes:[ct.g,$n.h],styles:[""]}),n})(),Jn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[[l.ez,_e.m,I.Oz,m.Bz,r.u5,r.UX,I.ZQ]]}),n})();var Yn=p(75319),Vn=p(26215),Un=p(45435),gt=p(55358);let K=class{constructor(_,t){this.http=_,this.timerService=t,this.REFRESH_INTERVAL=3e4,this.summaryDataSource=new Vn.X(null),this.summaryData$=this.summaryDataSource.asObservable()}startPolling(){return this.timerService.get(()=>this.retrieveSummaryObservable(),this.REFRESH_INTERVAL).subscribe(this.retrieveSummaryObserver())}refresh(){return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver())}retrieveSummaryObservable(){return this.http.get("api/block/mirroring/summary")}retrieveSummaryObserver(){return _=>{this.summaryDataSource.next(_)}}subscribeSummary(_,t){return this.summaryData$.pipe((0,Un.h)(o=>!!o)).subscribe(_,t)}getPool(_){return this.http.get(`api/block/mirroring/pool/${_}`)}updatePool(_,t){return this.http.put(`api/block/mirroring/pool/${_}`,t,{observe:"response"})}getSiteName(){return this.http.get("api/block/mirroring/site_name")}setSiteName(_){return this.http.put("api/block/mirroring/site_name",{site_name:_},{observe:"response"})}createBootstrapToken(_){return this.http.post(`api/block/mirroring/pool/${_}/bootstrap/token`,{})}importBootstrapToken(_,t,o){return this.http.post(`api/block/mirroring/pool/${_}/bootstrap/peer`,{direction:t,token:o},{observe:"response"})}getPeer(_,t){return this.http.get(`api/block/mirroring/pool/${_}/peer/${t}`)}addPeer(_,t){return this.http.post(`api/block/mirroring/pool/${_}/peer`,t,{observe:"response"})}updatePeer(_,t,o){return this.http.put(`api/block/mirroring/pool/${_}/peer/${t}`,o,{observe:"response"})}deletePeer(_,t){return this.http.delete(`api/block/mirroring/pool/${_}/peer/${t}`,{observe:"response"})}};K.\u0275fac=function(_){return new(_||K)(e.LFG(ie.eN),e.LFG(gt.f))},K.\u0275prov=e.Yz7({token:K,factory:K.\u0275fac,providedIn:"root"}),(0,b.gn)([(0,b.fM)(0,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[String]),(0,b.w6)("design:returntype",void 0)],K.prototype,"setSiteName",null),(0,b.gn)([(0,b.fM)(1,Y.G),(0,b.fM)(2,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[String,String,String]),(0,b.w6)("design:returntype",void 0)],K.prototype,"importBootstrapToken",null),K=(0,b.gn)([Y.o,(0,b.w6)("design:paramtypes",[ie.eN,gt.f])],K);var je=p(58071),jn=p(68307),ut=p(12627),le=p(82945),Wn=p(39749),ei=p(13472);function ti(n,_){1&n&&(e.TgZ(0,"span",25),e.SDv(1,26),e.qZA())}function oi(n,_){if(1&n&&(e.TgZ(0,"div",27),e._UZ(1,"input",28),e.TgZ(2,"label",29),e._uU(3),e.qZA(),e.qZA()),2&n){const t=_.$implicit;e.xp6(1),e.s9C("id",t.name),e.s9C("name",t.name),e.s9C("formControlName",t.name),e.xp6(1),e.s9C("for",t.name),e.xp6(1),e.Oqu(t.name)}}function ni(n,_){1&n&&(e.TgZ(0,"span",25),e.SDv(1,30),e.qZA())}let ii=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.rbdMirroringService=o,this.taskWrapper=i,this.pools=[],this.createForm()}createForm(){this.createBootstrapForm=new M.d({siteName:new r.NI("",{validators:[r.kI.required]}),pools:new r.cw({},{validators:[this.validatePools()]}),token:new r.NI("",{})})}ngOnInit(){this.createBootstrapForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(t=>{this.createBootstrapForm.get("siteName").setValue(t.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.pools=t.content_data.pools.reduce((s,a)=>(s.push({name:a.name,mirror_mode:a.mirror_mode}),s),[]);const i=this.createBootstrapForm.get("pools");C().each(this.pools,s=>{const a=s.name,d="disabled"===s.mirror_mode,c=i.controls[a];c?d&&c.disabled?c.enable():!d&&c.enabled&&(c.disable(),c.setValue(!0)):i.addControl(a,new r.NI({value:!d,disabled:!d}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return t=>{let o=0;return C().each(t.controls,i=>{!0===i.value&&++o}),o>0?null:{requirePool:!0}}}generate(){this.createBootstrapForm.get("token").setValue("");let t="";const o=[],i=this.createBootstrapForm.get("pools");C().each(i.controls,(u,S)=>{!0===u.value&&(t=S,u.disabled||o.push(S))});const s={mirror_mode:"image"},a=(0,je.z)(this.rbdMirroringService.setSiteName(this.createBootstrapForm.getValue("siteName")),(0,W.D)(o.map(u=>this.rbdMirroringService.updatePool(u,s))),this.rbdMirroringService.createBootstrapToken(t).pipe((0,jn.b)(u=>this.createBootstrapForm.get("token").setValue(u.token)))).pipe((0,ut.Z)()),d=()=>{this.rbdMirroringService.refresh(),this.createBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/bootstrap/create",{}),call:a}).subscribe({error:d,complete:d})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-bootstrap-create-modal"]],decls:32,vars:6,consts:function(){let _,t,o,i,s,a,d,c,u,S,N;return _="Create Bootstrap Token",t="To create a bootstrap token which can be imported by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, and click\xA0 " + "\ufffd#10\ufffd" + "Generate" + "\ufffd/#10\ufffd" + ".",o="Site Name",i="Name...",s="Pools",a="Generate",d="Token",c="Generated token...",u="Close",S="This field is required.",N="At least one pool is required.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","createBootstrapForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","siteName",1,"col-form-label","required"],o,["type","text","placeholder",i,"id","siteName","name","siteName","formControlName","siteName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["formGroupName","pools",1,"form-group"],["for","pools",1,"col-form-label","required"],s,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"mb-4","float-right",3,"form","submitAction"],a,["for","token",1,"col-form-label"],d,["placeholder",c,"id","token","formControlName","token","readonly","",1,"form-control","resize-vertical"],["source","token",1,"float-right"],[1,"modal-footer"],["name",u,3,"backAction"],[1,"invalid-feedback"],S,[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],N]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,ti,2,0,"span",12),e.qZA(),e.TgZ(16,"div",13),e.TgZ(17,"label",14),e.SDv(18,15),e.qZA(),e.YNc(19,oi,4,5,"div",16),e.YNc(20,ni,2,0,"span",12),e.qZA(),e.TgZ(21,"cd-submit-button",17),e.NdJ("submitAction",function(){return o.generate()}),e.SDv(22,18),e.qZA(),e.TgZ(23,"div",8),e.TgZ(24,"label",19),e.TgZ(25,"span"),e.SDv(26,20),e.qZA(),e.qZA(),e.TgZ(27,"textarea",21),e._uU(28," "),e.qZA(),e.qZA(),e._UZ(29,"cd-copy-2-clipboard-button",22),e.qZA(),e.TgZ(30,"div",23),e.TgZ(31,"cd-back-button",24),e.NdJ("backAction",function(){return o.activeModal.close()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.createBootstrapForm),e.xp6(11),e.Q6J("ngIf",o.createBootstrapForm.showError("siteName",i,"required")),e.xp6(4),e.Q6J("ngForOf",o.pools),e.xp6(1),e.Q6J("ngIf",o.createBootstrapForm.showError("pools",i,"requirePool")),e.xp6(1),e.Q6J("form",o.createBootstrapForm)}},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,r.x0,l.sg,Wn.w,Je.s,ei.W,r.Wl],styles:[".form-group.ng-invalid[_ngcontent-%COMP%] .invalid-feedback[_ngcontent-%COMP%]{display:block}"]}),n})();function _i(n,_){1&n&&(e.TgZ(0,"span",26),e.SDv(1,27),e.qZA())}function si(n,_){if(1&n&&(e.TgZ(0,"option",28),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.key),e.xp6(1),e.Oqu(t.desc)}}function ai(n,_){if(1&n&&(e.TgZ(0,"div",29),e._UZ(1,"input",30),e.TgZ(2,"label",31),e._uU(3),e.qZA(),e.qZA()),2&n){const t=_.$implicit;e.xp6(1),e.s9C("id",t.name),e.s9C("name",t.name),e.s9C("formControlName",t.name),e.xp6(1),e.s9C("for",t.name),e.xp6(1),e.Oqu(t.name)}}function ri(n,_){1&n&&(e.TgZ(0,"span",26),e.SDv(1,32),e.qZA())}function li(n,_){1&n&&(e.TgZ(0,"span",26),e.SDv(1,33),e.qZA())}function ci(n,_){1&n&&(e.TgZ(0,"span",26),e.SDv(1,34),e.qZA())}let di=(()=>{class n{constructor(t,o,i,s){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=s,this.pools=[],this.directions=[{key:"rx-tx",desc:"Bidirectional"},{key:"rx",desc:"Unidirectional (receive-only)"}],this.createForm()}createForm(){this.importBootstrapForm=new M.d({siteName:new r.NI("",{validators:[r.kI.required]}),direction:new r.NI("rx-tx",{}),pools:new r.cw({},{validators:[this.validatePools()]}),token:new r.NI("",{validators:[r.kI.required,this.validateToken()]})})}ngOnInit(){this.rbdMirroringService.getSiteName().subscribe(t=>{this.importBootstrapForm.get("siteName").setValue(t.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.pools=t.content_data.pools.reduce((s,a)=>(s.push({name:a.name,mirror_mode:a.mirror_mode}),s),[]);const i=this.importBootstrapForm.get("pools");C().each(this.pools,s=>{const a=s.name,d="disabled"===s.mirror_mode,c=i.controls[a];c?d&&c.disabled?c.enable():!d&&c.enabled&&(c.disable(),c.setValue(!0)):i.addControl(a,new r.NI({value:!d,disabled:!d}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return t=>{let o=0;return C().each(t.controls,i=>{!0===i.value&&++o}),o>0?null:{requirePool:!0}}}validateToken(){return t=>{try{if(JSON.parse(atob(t.value)))return null}catch(o){}return{invalidToken:!0}}}import(){const t=[],o=[],i=this.importBootstrapForm.get("pools");C().each(i.controls,(u,S)=>{!0===u.value&&(t.push(S),u.disabled||o.push(S))});const s={mirror_mode:"image"};let a=(0,je.z)(this.rbdMirroringService.setSiteName(this.importBootstrapForm.getValue("siteName")),(0,W.D)(o.map(u=>this.rbdMirroringService.updatePool(u,s))));a=t.reduce((u,S)=>(0,je.z)(u,this.rbdMirroringService.importBootstrapToken(S,this.importBootstrapForm.getValue("direction"),this.importBootstrapForm.getValue("token"))),a).pipe((0,ut.Z)());const d=()=>{this.rbdMirroringService.refresh(),this.importBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/bootstrap/import",{}),call:a}).subscribe({error:d,complete:()=>{d(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-bootstrap-import-modal"]],decls:36,vars:10,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P;return _="Import Bootstrap Token",t="To import a bootstrap token which was created by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, provide the generated token, and click\xA0" + "\ufffd#10\ufffd" + "Import" + "\ufffd/#10\ufffd" + ".",o="Site Name",i="Name...",s="Direction",a="Pools",d="Token",c="Generated token...",u="This field is required.",S="At least one pool is required.",N="This field is required.",P="The token is invalid.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","importBootstrapForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","siteName",1,"col-form-label","required"],o,["type","text","placeholder",i,"id","siteName","name","siteName","formControlName","siteName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","direction",1,"col-form-label"],s,["id","direction","name","direction","formControlName","direction",1,"form-control","custom-select"],[3,"value",4,"ngFor","ngForOf"],["formGroupName","pools",1,"form-group"],["for","pools",1,"col-form-label","required"],a,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],["for","token",1,"col-form-label","required"],d,["placeholder",c,"id","token","formControlName","token",1,"form-control","resize-vertical"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],u,[3,"value"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],S,N,P]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,_i,2,0,"span",12),e.qZA(),e.TgZ(16,"div",8),e.TgZ(17,"label",13),e.TgZ(18,"span"),e.SDv(19,14),e.qZA(),e.qZA(),e.TgZ(20,"select",15),e.YNc(21,si,2,2,"option",16),e.qZA(),e.qZA(),e.TgZ(22,"div",17),e.TgZ(23,"label",18),e.SDv(24,19),e.qZA(),e.YNc(25,ai,4,5,"div",20),e.YNc(26,ri,2,0,"span",12),e.qZA(),e.TgZ(27,"div",8),e.TgZ(28,"label",21),e.SDv(29,22),e.qZA(),e.TgZ(30,"textarea",23),e._uU(31," "),e.qZA(),e.YNc(32,li,2,0,"span",12),e.YNc(33,ci,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(34,"div",24),e.TgZ(35,"cd-form-button-panel",25),e.NdJ("submitActionEvent",function(){return o.import()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.importBootstrapForm),e.xp6(11),e.Q6J("ngIf",o.importBootstrapForm.showError("siteName",i,"required")),e.xp6(6),e.Q6J("ngForOf",o.directions),e.xp6(4),e.Q6J("ngForOf",o.pools),e.xp6(1),e.Q6J("ngIf",o.importBootstrapForm.showError("pools",i,"requirePool")),e.xp6(6),e.Q6J("ngIf",o.importBootstrapForm.showError("token",i,"required")),e.xp6(1),e.Q6J("ngIf",o.importBootstrapForm.showError("token",i,"invalidToken")),e.xp6(2),e.Q6J("form",o.importBootstrapForm)("submitText",o.actionLabels.SUBMIT)}},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,r.EJ,l.sg,r.x0,O.p,r.YN,r.Kr,r.Wl],styles:[""]}),n})(),pi=(()=>{class n{constructor(t,o,i,s){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=s,this.createForm()}createForm(){this.editSiteNameForm=new M.d({siteName:new r.NI("",{})})}ngOnInit(){this.editSiteNameForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(t=>{this.editSiteNameForm.get("siteName").setValue(t.site_name)})}update(){this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/site_name/edit",{}),call:this.rbdMirroringService.setSiteName(this.editSiteNameForm.getValue("siteName"))}).subscribe({error:()=>this.editSiteNameForm.setErrors({cdSubmitButton:!0}),complete:()=>{this.rbdMirroringService.refresh(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-edit-site-mode-modal"]],decls:17,vars:4,consts:function(){let _,t,o,i;return _="Edit site name",t="Edit the site name and click\xA0 " + "\ufffd#10\ufffd" + "Update" + "\ufffd/#10\ufffd" + ".",o="Site Name",i="Name...",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","editSiteNameForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","siteName",1,"col-form-label","required"],o,["type","text","placeholder",i,"id","siteName","name","siteName","formControlName","siteName","autofocus","",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.qZA(),e.qZA(),e.TgZ(15,"div",12),e.TgZ(16,"cd-form-button-panel",13),e.NdJ("submitActionEvent",function(){return o.update()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.editSiteNameForm),e.xp6(12),e.Q6J("form",o.editSiteNameForm)("submitText",o.actionLabels.UPDATE))},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,O.p],styles:[""]}),n})();var U=p(69158),gi=p(58111);let We=(()=>{class n{transform(t){return"warning"===t?"badge badge-warning":"error"===t?"badge badge-danger":"success"===t?"badge badge-success":"badge badge-info"}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=e.Yjl({name:"mirrorHealthColor",type:n,pure:!0}),n})();const ui=["healthTmpl"];function mi(n,_){if(1&n&&(e.TgZ(0,"span",2),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=_.value;e.Q6J("ngClass",e.lcZ(1,2,_.row.health_color)),e.xp6(2),e.Oqu(o)}}let Ti=(()=>{class n{constructor(t,o){this.rbdMirroringService=t,this.cephShortVersionPipe=o,this.tableStatus=new U.E}ngOnInit(){this.columns=[{prop:"instance_id",name:"Instance",flexGrow:2},{prop:"id",name:"ID",flexGrow:2},{prop:"server_hostname",name:"Hostname",flexGrow:2},{prop:"version",name:"Version",pipe:this.cephShortVersionPipe,flexGrow:2},{prop:"health",name:"Health",cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.data=t.content_data.daemons,this.tableStatus=new U.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(K),e.Y36(gi.F))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-daemons"]],viewQuery:function(t,o){if(1&t&&e.Gf(ui,7),2&t){let i;e.iGM(i=e.CRH())&&(o.healthTmpl=i.first)}},decls:3,vars:4,consts:[["columnMode","flex",3,"data","columns","autoReload","status","fetchData"],["healthTmpl",""],[3,"ngClass"]],template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()}),e.qZA(),e.YNc(1,mi,3,4,"ng-template",null,1,e.W1O)),2&t&&e.Q6J("data",o.data)("columns",o.columns)("autoReload",-1)("status",o.tableStatus)},directives:[ee.a,l.mk],pipes:[We],styles:[""]}),n})();var fi=p(18891);class Ci{}function Si(n,_){if(1&n&&(e.TgZ(0,"option",16),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.id),e.xp6(1),e.Oqu(t.name)}}function Ei(n,_){1&n&&(e.TgZ(0,"span",17),e.SDv(1,18),e.qZA())}let Ri=(()=>{class n{constructor(t,o,i,s){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=s,this.bsConfig={containerClass:"theme-default"},this.peerExists=!1,this.mirrorModes=[{id:"disabled",name:"Disabled"},{id:"pool",name:"Pool"},{id:"image",name:"Image"}],this.createForm()}createForm(){this.editModeForm=new M.d({mirrorMode:new r.NI("",{validators:[r.kI.required,this.validateMode.bind(this)]})})}ngOnInit(){this.pattern=`${this.poolName}`,this.rbdMirroringService.getPool(this.poolName).subscribe(t=>{this.setResponse(t)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.peerExists=!1;const i=t.content_data.pools.find(s=>this.poolName===s.name);this.peerExists=i&&i.peer_uuids.length})}ngOnDestroy(){this.subs.unsubscribe()}validateMode(t){return"disabled"===t.value&&this.peerExists?{cannotDisable:{value:t.value}}:null}setResponse(t){this.editModeForm.get("mirrorMode").setValue(t.mirror_mode)}update(){const t=new Ci;t.mirror_mode=this.editModeForm.getValue("mirrorMode"),this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/pool/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePool(this.poolName,t)}).subscribe({error:()=>this.editModeForm.setErrors({cdSubmitButton:!0}),complete:()=>{this.rbdMirroringService.refresh(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-pool-edit-mode-modal"]],decls:21,vars:7,consts:function(){let _,t,o,i;return _="Edit pool mirror mode",t="To edit the mirror mode for pool\xA0 " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "" + "\ufffd0\ufffd" + "" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ", select a new mode from the list and click\xA0 " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Update" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ".",t=e.Zx4(t),o="Mode",i="Peer clusters must be removed prior to disabling mirror.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","editModeForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","mirrorMode",1,"col-form-label"],o,["id","mirrorMode","name","mirrorMode","formControlName","mirrorMode",1,"form-control","custom-select"],[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[3,"value"],[1,"invalid-feedback"],i]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e._UZ(11,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(12,"div",8),e.TgZ(13,"label",9),e.TgZ(14,"span"),e.SDv(15,10),e.qZA(),e.qZA(),e.TgZ(16,"select",11),e.YNc(17,Si,2,2,"option",12),e.qZA(),e.YNc(18,Ei,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(19,"div",14),e.TgZ(20,"cd-form-button-panel",15),e.NdJ("submitActionEvent",function(){return o.update()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.editModeForm),e.xp6(7),e.pQV(o.poolName),e.QtT(9),e.xp6(6),e.Q6J("ngForOf",o.mirrorModes),e.xp6(1),e.Q6J("ngIf",o.editModeForm.showError("mirrorMode",i,"cannotDisable")),e.xp6(2),e.Q6J("form",o.editModeForm)("submitText",o.actionLabels.UPDATE)}},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.EJ,h.b,r.JJ,r.u,l.sg,l.O5,O.p,r.YN,r.Kr],styles:[""]}),n})();class Mi{}function Oi(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,25),e.qZA())}function Ai(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,26),e.qZA())}function hi(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,27),e.qZA())}function Pi(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,28),e.qZA())}function Ii(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,29),e.qZA())}function bi(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,30),e.qZA())}let Ni=(()=>{class n{constructor(t,o,i,s){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=s,this.bsConfig={containerClass:"theme-default"},this.createForm()}createForm(){this.editPeerForm=new M.d({clusterName:new r.NI("",{validators:[r.kI.required,this.validateClusterName]}),clientID:new r.NI("",{validators:[r.kI.required,this.validateClientID]}),monAddr:new r.NI("",{validators:[this.validateMonAddr]}),key:new r.NI("",{validators:[this.validateKey]})})}ngOnInit(){this.pattern=`${this.poolName}/${this.peerUUID}`,"edit"===this.mode&&this.rbdMirroringService.getPeer(this.poolName,this.peerUUID).subscribe(t=>{this.setResponse(t)})}validateClusterName(t){if(!t.value.match(/^[\w\-_]*$/))return{invalidClusterName:{value:t.value}}}validateClientID(t){if(!t.value.match(/^(?!client\.)[\w\-_.]*$/))return{invalidClientID:{value:t.value}}}validateMonAddr(t){if(!t.value.match(/^[,; ]*([\w.\-_\[\]]+(:[\d]+)?[,; ]*)*$/))return{invalidMonAddr:{value:t.value}}}validateKey(t){try{if(""===t.value||atob(t.value))return null}catch(o){}return{invalidKey:{value:t.value}}}setResponse(t){this.response=t,this.editPeerForm.get("clusterName").setValue(t.cluster_name),this.editPeerForm.get("clientID").setValue(t.client_id),this.editPeerForm.get("monAddr").setValue(t.mon_host),this.editPeerForm.get("key").setValue(t.key)}update(){const t=new Mi;let o;t.cluster_name=this.editPeerForm.getValue("clusterName"),t.client_id=this.editPeerForm.getValue("clientID"),t.mon_host=this.editPeerForm.getValue("monAddr"),t.key=this.editPeerForm.getValue("key"),o=this.taskWrapper.wrapTaskAroundCall("edit"===this.mode?{task:new F.R("rbd/mirroring/peer/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePeer(this.poolName,this.peerUUID,t)}:{task:new F.R("rbd/mirroring/peer/add",{pool_name:this.poolName}),call:this.rbdMirroringService.addPeer(this.poolName,t)}),o.subscribe({error:()=>this.editPeerForm.setErrors({cdSubmitButton:!0}),complete:()=>{this.rbdMirroringService.refresh(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-pool-edit-peer-modal"]],decls:38,vars:13,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$,G,X,J,te,A;return _="{VAR_SELECT, select, edit {Edit} other {Add}}",_=e.Zx4(_,{VAR_SELECT:"\ufffd0\ufffd"}),t="" + _ + " pool mirror peer",o="{VAR_SELECT, select, edit {Edit} other {Add}}",o=e.Zx4(o,{VAR_SELECT:"\ufffd0\ufffd"}),i="" + o + " the pool mirror peer attributes for pool " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "" + "\ufffd1\ufffd" + "" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + " and click " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Submit" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ".",i=e.Zx4(i),s="Cluster Name",a="Name...",d="CephX ID",c="CephX ID...",u="Monitor Addresses",S="Comma-delimited addresses...",N="CephX Key",P="Base64-encoded key...",$="This field is required.",G="The cluster name is not valid.",X="This field is required.",J="The CephX ID is not valid.",te="The monitory address is not valid.",A="CephX key must be base64 encoded.",[[3,"modalRef"],[1,"modal-title"],t,[1,"modal-content"],["name","editPeerForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],i,[1,"form-group"],["for","clusterName",1,"col-form-label","required"],s,["type","text","placeholder",a,"id","clusterName","name","clusterName","formControlName","clusterName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","clientID",1,"col-form-label","required"],d,["type","text","placeholder",c,"id","clientID","name","clientID","formControlName","clientID",1,"form-control"],["for","monAddr",1,"col-form-label"],u,["type","text","placeholder",S,"id","monAddr","name","monAddr","formControlName","monAddr",1,"form-control"],["for","key",1,"col-form-label"],N,["type","text","placeholder",P,"id","key","name","key","formControlName","key",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],$,G,X,J,te,A]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.qZA(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.TgZ(8,"span"),e.tHW(9,7),e._UZ(10,"kbd"),e._UZ(11,"kbd"),e.N_p(),e.qZA(),e.qZA(),e.TgZ(12,"div",8),e.TgZ(13,"label",9),e.SDv(14,10),e.qZA(),e._UZ(15,"input",11),e.YNc(16,Oi,2,0,"span",12),e.YNc(17,Ai,2,0,"span",12),e.qZA(),e.TgZ(18,"div",8),e.TgZ(19,"label",13),e.SDv(20,14),e.qZA(),e._UZ(21,"input",15),e.YNc(22,hi,2,0,"span",12),e.YNc(23,Pi,2,0,"span",12),e.qZA(),e.TgZ(24,"div",8),e.TgZ(25,"label",16),e.TgZ(26,"span"),e.SDv(27,17),e.qZA(),e.qZA(),e._UZ(28,"input",18),e.YNc(29,Ii,2,0,"span",12),e.qZA(),e.TgZ(30,"div",8),e.TgZ(31,"label",19),e.TgZ(32,"span"),e.SDv(33,20),e.qZA(),e.qZA(),e._UZ(34,"input",21),e.YNc(35,bi,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(36,"div",22),e.TgZ(37,"cd-form-button-panel",23),e.NdJ("submitActionEvent",function(){return o.update()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(2),e.pQV(o.mode),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.editPeerForm),e.xp6(7),e.pQV(o.mode)(o.poolName),e.QtT(9),e.xp6(5),e.Q6J("ngIf",o.editPeerForm.showError("clusterName",i,"required")),e.xp6(1),e.Q6J("ngIf",o.editPeerForm.showError("clusterName",i,"invalidClusterName")),e.xp6(5),e.Q6J("ngIf",o.editPeerForm.showError("clientID",i,"required")),e.xp6(1),e.Q6J("ngIf",o.editPeerForm.showError("clientID",i,"invalidClientID")),e.xp6(6),e.Q6J("ngIf",o.editPeerForm.showError("monAddr",i,"invalidMonAddr")),e.xp6(6),e.Q6J("ngIf",o.editPeerForm.showError("key",i,"invalidKey")),e.xp6(2),e.Q6J("form",o.editPeerForm)("submitText",o.actionLabels.SUBMIT)}},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,O.p],styles:[""]}),n})();const Di=["healthTmpl"];function vi(n,_){if(1&n&&(e.TgZ(0,"span",3),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=_.value;e.Q6J("ngClass",e.lcZ(1,2,_.row.health_color)),e.xp6(2),e.Oqu(o)}}let Li=(()=>{class n{constructor(t,o,i,s){this.authStorageService=t,this.rbdMirroringService=o,this.modalService=i,this.taskWrapper=s,this.selection=new Ee.r,this.tableStatus=new U.E,this.data=[],this.permission=this.authStorageService.getPermissions().rbdMirroring;const a={permission:"update",icon:T.P.edit,click:()=>this.editModeModal(),name:"Edit Mode",canBePrimary:()=>!0},d={permission:"create",icon:T.P.add,name:"Add Peer",click:()=>this.editPeersModal("add"),disable:()=>!this.selection.first()||"disabled"===this.selection.first().mirror_mode,visible:()=>!this.getPeerUUID(),canBePrimary:()=>!1},c={permission:"update",icon:T.P.exchange,name:"Edit Peer",click:()=>this.editPeersModal("edit"),visible:()=>!!this.getPeerUUID()},u={permission:"delete",icon:T.P.destroy,name:"Delete Peer",click:()=>this.deletePeersModal(),visible:()=>!!this.getPeerUUID()};this.tableActions=[a,d,c,u]}ngOnInit(){this.columns=[{prop:"name",name:"Name",flexGrow:2},{prop:"mirror_mode",name:"Mode",flexGrow:2},{prop:"leader_id",name:"Leader",flexGrow:2},{prop:"image_local_count",name:"# Local",flexGrow:2},{prop:"image_remote_count",name:"# Remote",flexGrow:2},{prop:"health",name:"Health",cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.data=t.content_data.pools,this.tableStatus=new U.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}editModeModal(){const t={poolName:this.selection.first().name};this.modalRef=this.modalService.show(Ri,t)}editPeersModal(t){const o={poolName:this.selection.first().name,mode:t};"edit"===t&&(o.peerUUID=this.getPeerUUID()),this.modalRef=this.modalService.show(Ni,o)}deletePeersModal(){const t=this.selection.first().name,o=this.getPeerUUID();this.modalRef=this.modalService.show(he.M,{itemDescription:"mirror peer",itemNames:[`${t} (${o})`],submitActionObservable:()=>new fi.y(i=>{this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/peer/delete",{pool_name:t}),call:this.rbdMirroringService.deletePeer(t,o)}).subscribe({error:s=>i.error(s),complete:()=>{this.rbdMirroringService.refresh(),i.complete()}})})})}getPeerUUID(){const t=this.selection.first(),o=this.data.find(i=>t&&t.name===i.name);if(o&&o.peer_uuids)return o.peer_uuids[0]}updateSelection(t){this.selection=t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(K),e.Y36(re.Z),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-pools"]],viewQuery:function(t,o){if(1&t&&e.Gf(Di,7),2&t){let i;e.iGM(i=e.CRH())&&(o.healthTmpl=i.first)}},decls:4,vars:7,consts:[["columnMode","flex","identifier","name","forceIdentifier","true","selectionType","single",3,"data","columns","autoReload","status","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["healthTmpl",""],[3,"ngClass"]],template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()})("updateSelection",function(s){return o.updateSelection(s)}),e._UZ(1,"cd-table-actions",1),e.qZA(),e.YNc(2,vi,3,4,"ng-template",null,2,e.W1O)),2&t&&(e.Q6J("data",o.data)("columns",o.columns)("autoReload",-1)("status",o.tableStatus),e.xp6(1),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},directives:[ee.a,Re.K,l.mk],pipes:[We],styles:[""]}),n})();var mt=p(59376);const Fi=["stateTmpl"],$i=["syncTmpl"],Zi=["progressTmpl"];function Bi(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){return e.CHM(t),e.oxw().refresh()}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_error.data)("columns",t.image_error.columns)("autoReload",-1)("status",t.tableStatus)}}function Gi(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){return e.CHM(t),e.oxw().refresh()}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_syncing.data)("columns",t.image_syncing.columns)("autoReload",-1)("status",t.tableStatus)}}function yi(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){return e.CHM(t),e.oxw().refresh()}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_ready.data)("columns",t.image_ready.columns)("autoReload",-1)("status",t.tableStatus)}}function xi(n,_){if(1&n&&(e.TgZ(0,"span",15),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=_.value;e.Q6J("ngClass",e.lcZ(1,2,_.row.state_color)),e.xp6(2),e.Oqu(o)}}function wi(n,_){1&n&&(e.TgZ(0,"span",16),e.SDv(1,17),e.qZA())}function qi(n,_){1&n&&e._UZ(0,"ngb-progressbar",18),2&n&&e.Q6J("value",_.value)("showValue",!0)}let Hi=(()=>{class n{constructor(t){this.rbdMirroringService=t,this.image_error={data:[],columns:{}},this.image_syncing={data:[],columns:{}},this.image_ready={data:[],columns:{}},this.tableStatus=new U.E}ngOnInit(){this.image_error.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"description",name:"Issue",flexGrow:4},{prop:"state",name:"State",cellTemplate:this.stateTmpl,flexGrow:1}],this.image_syncing.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"progress",name:"Progress",cellTemplate:this.progressTmpl,flexGrow:2},{prop:"state",name:"State",cellTemplate:this.syncTmpl,flexGrow:1}],this.image_ready.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"description",name:"Description",flexGrow:4},{prop:"state",name:"State",cellTemplate:this.stateTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.image_error.data=t.content_data.image_error,this.image_syncing.data=t.content_data.image_syncing,this.image_ready.data=t.content_data.image_ready,this.tableStatus=new U.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(K))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-images"]],viewQuery:function(t,o){if(1&t&&(e.Gf(Fi,7),e.Gf($i,7),e.Gf(Zi,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.stateTmpl=i.first),e.iGM(i=e.CRH())&&(o.syncTmpl=i.first),e.iGM(i=e.CRH())&&(o.progressTmpl=i.first)}},decls:21,vars:1,consts:function(){let _,t,o,i;return _="Issues",t="Syncing",o="Ready",i="Syncing",[["ngbNav","","cdStatefulTab","image-list",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","issues"],["ngbNavLink",""],_,["ngbNavContent",""],["ngbNavItem","syncing"],t,["ngbNavItem","ready"],o,[3,"ngbNavOutlet"],["stateTmpl",""],["syncTmpl",""],["progressTmpl",""],["columnMode","flex",3,"data","columns","autoReload","status","fetchData"],[3,"ngClass"],[1,"badge","badge-info"],i,["type","info",3,"value","showValue"]]},template:function(t,o){if(1&t&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,Bi,1,4,"ng-template",5),e.qZA(),e.TgZ(6,"li",6),e.TgZ(7,"a",3),e.SDv(8,7),e.qZA(),e.YNc(9,Gi,1,4,"ng-template",5),e.qZA(),e.TgZ(10,"li",8),e.TgZ(11,"a",3),e.SDv(12,9),e.qZA(),e.YNc(13,yi,1,4,"ng-template",5),e.qZA(),e.qZA(),e._UZ(14,"div",10),e.YNc(15,xi,3,4,"ng-template",null,11,e.W1O),e.YNc(17,wi,2,0,"ng-template",null,12,e.W1O),e.YNc(19,qi,1,2,"ng-template",null,13,e.W1O)),2&t){const i=e.MAs(1);e.xp6(14),e.Q6J("ngbNavOutlet",i)}},directives:[I.Pz,mt.m,I.nv,I.Vx,I.uN,I.tO,ee.a,l.mk,I.Ly],pipes:[We],styles:[""]}),n})(),Ki=(()=>{class n{constructor(t,o,i){this.authStorageService=t,this.rbdMirroringService=o,this.modalService=i,this.selection=new Ee.r,this.peersExist=!0,this.subs=new Yn.w,this.permission=this.authStorageService.getPermissions().rbdMirroring;const s={permission:"update",icon:T.P.edit,click:()=>this.editSiteNameModal(),name:"Edit Site Name",canBePrimary:()=>!0,disable:()=>!1},a={permission:"update",icon:T.P.upload,click:()=>this.createBootstrapModal(),name:"Create Bootstrap Token",disable:()=>!1},d={permission:"update",icon:T.P.download,click:()=>this.importBootstrapModal(),name:"Import Bootstrap Token",disable:()=>this.peersExist};this.tableActions=[s,a,d]}ngOnInit(){this.subs.add(this.rbdMirroringService.startPolling()),this.subs.add(this.rbdMirroringService.subscribeSummary(t=>{this.status=t.content_data.status,this.siteName=t.site_name,this.peersExist=!!t.content_data.pools.find(o=>o.peer_uuids.length>0)}))}ngOnDestroy(){this.subs.unsubscribe()}editSiteNameModal(){this.modalRef=this.modalService.show(pi,{siteName:this.siteName})}createBootstrapModal(){this.modalRef=this.modalService.show(ii,{siteName:this.siteName})}importBootstrapModal(){this.modalRef=this.modalService.show(di,{siteName:this.siteName})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(K),e.Y36(re.Z))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring"]],decls:21,vars:4,consts:function(){let _,t,o,i;return _="Site Name:",t="Daemons",o="Pools",i="Images",[[1,"row"],[1,"col-md-12"],_,[1,"table-actions","float-right",3,"permission","selection","tableActions"],[1,"col-sm-6"],t,o,i]},template:function(t,o){1&t&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"span"),e.TgZ(3,"strong"),e.SDv(4,2),e.qZA(),e._uU(5),e.qZA(),e._UZ(6,"cd-table-actions",3),e.qZA(),e.qZA(),e.TgZ(7,"div",0),e.TgZ(8,"div",4),e.TgZ(9,"legend"),e.SDv(10,5),e.qZA(),e._UZ(11,"cd-mirroring-daemons"),e.qZA(),e.TgZ(12,"div",4),e.TgZ(13,"legend"),e.SDv(14,6),e.qZA(),e._UZ(15,"cd-mirroring-pools"),e.qZA(),e.qZA(),e.TgZ(16,"div",0),e.TgZ(17,"div",1),e.TgZ(18,"legend"),e.SDv(19,7),e.qZA(),e._UZ(20,"cd-mirroring-images"),e.qZA(),e.qZA()),2&t&&(e.xp6(5),e.hij(" ",o.siteName,""),e.xp6(1),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},directives:[Re.K,Ti,Li,Hi],styles:[""]}),n})();var Tt=p(80226),ki=p(28049),Xi=p(43190),Ke=p(80842),et=p(30633),Fe=p(47557),Qi=p(28211);class zi{}var Pe=(()=>{return(n=Pe||(Pe={}))[n.V1=1]="V1",n[n.V2=2]="V2",Pe;var n})();class Ji{constructor(){this.features=[]}}class Yi{constructor(){this.features=[]}}class Ui extends class{}{constructor(){super(...arguments),this.features=[]}}class ji{constructor(){this.features=[]}}var ke=(()=>{return(n=ke||(ke={})).editing="editing",n.cloning="cloning",n.copying="copying",ke;var n})(),Wi=p(17932),e_=p(54555),t_=p(18372);function o_(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"label",56),e.SDv(2,57),e.ALo(3,"titlecase"),e.qZA(),e.TgZ(4,"div",12),e._UZ(5,"input",58),e._UZ(6,"hr"),e.qZA(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(3),e.pQV(e.lcZ(3,1,t.action)),e.QtT(2)}}function n_(n,_){1&n&&(e.TgZ(0,"span",59),e.ynx(1),e.SDv(2,60),e.BQk(),e.qZA())}function i_(n,_){1&n&&(e.TgZ(0,"span",59),e.ynx(1),e.SDv(2,61),e.BQk(),e.qZA())}function __(n,_){1&n&&e._UZ(0,"input",62)}function s_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,65),e.qZA()),2&n&&e.Q6J("ngValue",null)}function a_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,66),e.qZA()),2&n&&e.Q6J("ngValue",null)}function r_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,67),e.qZA()),2&n&&e.Q6J("ngValue",null)}function l_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function c_(n,_){if(1&n&&(e.TgZ(0,"select",63),e.YNc(1,s_,2,1,"option",64),e.YNc(2,a_,2,1,"option",64),e.YNc(3,r_,2,1,"option",64),e.YNc(4,l_,2,2,"option",44),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.pools)}}function d_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,69),e.qZA())}const p_=function(n,_){return[n,_]};function g_(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"div",20),e._UZ(2,"i",70),e.qZA(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(2),e.Q6J("ngClass",e.WLB(1,p_,t.icons.spinner,t.icons.spin))}}function u_(n,_){1&n&&e._UZ(0,"input",74)}function m_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,76),e.qZA()),2&n&&e.Q6J("ngValue",null)}function T_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,77),e.qZA()),2&n&&e.Q6J("ngValue",null)}function f_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,78),e.qZA()),2&n&&e.Q6J("ngValue",null)}function C_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function S_(n,_){if(1&n&&(e.TgZ(0,"select",75),e.YNc(1,m_,2,1,"option",64),e.YNc(2,T_,2,1,"option",64),e.YNc(3,f_,2,1,"option",64),e.YNc(4,C_,2,2,"option",44),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.namespaces)}}function E_(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"label",71),e._uU(2," Namespace "),e.qZA(),e.TgZ(3,"div",12),e.YNc(4,u_,1,0,"input",72),e.YNc(5,S_,5,4,"select",73),e.qZA(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngIf","editing"===t.mode||!t.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==t.mode&&t.poolPermission.read)}}function R_(n,_){1&n&&(e.TgZ(0,"cd-helper"),e.TgZ(1,"span"),e.SDv(2,79),e.qZA(),e.qZA())}function M_(n,_){1&n&&e._UZ(0,"input",85)}function O_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,87),e.qZA()),2&n&&e.Q6J("ngValue",null)}function A_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,88),e.qZA()),2&n&&e.Q6J("ngValue",null)}function h_(n,_){1&n&&(e.TgZ(0,"option",48),e._uU(1,"-- Select a data pool -- "),e.qZA()),2&n&&e.Q6J("ngValue",null)}function P_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function I_(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"select",86),e.NdJ("change",function(i){return e.CHM(t),e.oxw(3).onDataPoolChange(i.target.value)}),e.YNc(1,O_,2,1,"option",64),e.YNc(2,A_,2,1,"option",64),e.YNc(3,h_,2,1,"option",64),e.YNc(4,P_,2,2,"option",44),e.qZA()}if(2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngIf",null===t.dataPools),e.xp6(1),e.Q6J("ngIf",null!==t.dataPools&&0===t.dataPools.length),e.xp6(1),e.Q6J("ngIf",null!==t.dataPools&&t.dataPools.length>0),e.xp6(1),e.Q6J("ngForOf",t.dataPools)}}function b_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,89),e.qZA())}const Xe=function(n){return{required:n}};function N_(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"label",80),e.TgZ(2,"span",70),e.SDv(3,81),e.qZA(),e._UZ(4,"cd-helper",82),e.qZA(),e.TgZ(5,"div",12),e.YNc(6,M_,1,0,"input",83),e.YNc(7,I_,5,4,"select",84),e.YNc(8,b_,2,0,"span",14),e.qZA(),e.qZA()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(2),e.Q6J("ngClass",e.VKq(4,Xe,"editing"!==o.mode)),e.xp6(4),e.Q6J("ngIf","editing"===o.mode||!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("dataPool",t,"required"))}}function D_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,90),e.qZA())}function v_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,91),e.qZA())}function L_(n,_){if(1&n&&e._UZ(0,"cd-helper",95),2&n){const t=e.oxw().$implicit;e.s9C("html",t.helperHtml)}}function F_(n,_){if(1&n&&(e.TgZ(0,"div",21),e._UZ(1,"input",92),e.TgZ(2,"label",93),e._uU(3),e.qZA(),e.YNc(4,L_,1,1,"cd-helper",94),e.qZA()),2&n){const t=_.$implicit;e.xp6(1),e.s9C("id",t.key),e.s9C("name",t.key),e.s9C("formControlName",t.key),e.xp6(1),e.s9C("for",t.key),e.xp6(1),e.Oqu(t.desc),e.xp6(1),e.Q6J("ngIf",t.helperHtml)}}function $_(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"a",96),e.NdJ("click",function(){return e.CHM(t),e.oxw(2).advancedEnabled=!0,!1}),e.SDv(1,97),e.qZA()}}function Z_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function B_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function G_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,98),e.qZA())}function y_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,99),e.qZA())}function x_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,100),e.qZA())}function w_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,101),e.qZA())}function q_(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.YNc(9,o_,7,3,"div",8),e.TgZ(10,"div",9),e.TgZ(11,"label",10),e.SDv(12,11),e.qZA(),e.TgZ(13,"div",12),e._UZ(14,"input",13),e.YNc(15,n_,3,0,"span",14),e.YNc(16,i_,3,0,"span",14),e.qZA(),e.qZA(),e.TgZ(17,"div",15),e.NdJ("change",function(i){return e.CHM(t),e.oxw().onPoolChange(i.target.value)}),e.TgZ(18,"label",16),e.SDv(19,17),e.qZA(),e.TgZ(20,"div",12),e.YNc(21,__,1,0,"input",18),e.YNc(22,c_,5,4,"select",19),e.YNc(23,d_,2,0,"span",14),e.qZA(),e.qZA(),e.YNc(24,g_,3,4,"div",8),e.YNc(25,E_,6,2,"div",8),e.TgZ(26,"div",9),e.TgZ(27,"div",20),e.TgZ(28,"div",21),e.TgZ(29,"input",22),e.NdJ("change",function(){return e.CHM(t),e.oxw().onUseDataPoolChange()}),e.qZA(),e.TgZ(30,"label",23),e.SDv(31,24),e.qZA(),e.YNc(32,R_,3,0,"cd-helper",25),e.qZA(),e.qZA(),e.qZA(),e.YNc(33,N_,9,6,"div",8),e.TgZ(34,"div",9),e.TgZ(35,"label",26),e.SDv(36,27),e.qZA(),e.TgZ(37,"div",12),e._UZ(38,"input",28),e.YNc(39,D_,2,0,"span",14),e.YNc(40,v_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(41,"div",29),e.TgZ(42,"label",30),e.SDv(43,31),e.qZA(),e.TgZ(44,"div",12),e.YNc(45,F_,5,6,"div",32),e.qZA(),e.qZA(),e.TgZ(46,"div",33),e.TgZ(47,"div",34),e.YNc(48,$_,2,0,"a",35),e.qZA(),e.qZA(),e.TgZ(49,"div",36),e.TgZ(50,"legend",37),e.SDv(51,38),e.qZA(),e.TgZ(52,"div",39),e.TgZ(53,"h4",37),e.SDv(54,40),e.qZA(),e.TgZ(55,"div",9),e.TgZ(56,"label",41),e.SDv(57,42),e.qZA(),e.TgZ(58,"div",12),e.TgZ(59,"select",43),e.YNc(60,Z_,2,2,"option",44),e.qZA(),e.qZA(),e.qZA(),e.TgZ(61,"div",9),e.TgZ(62,"label",45),e.SDv(63,46),e.qZA(),e.TgZ(64,"div",12),e.TgZ(65,"select",47),e.TgZ(66,"option",48),e.SDv(67,49),e.qZA(),e.YNc(68,B_,2,2,"option",44),e.qZA(),e.YNc(69,G_,2,0,"span",14),e.YNc(70,y_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(71,"div",9),e.TgZ(72,"label",50),e.SDv(73,51),e.qZA(),e.TgZ(74,"div",12),e._UZ(75,"input",52),e.YNc(76,x_,2,0,"span",14),e.YNc(77,w_,2,0,"span",14),e.qZA(),e.qZA(),e.qZA(),e.TgZ(78,"cd-rbd-configuration-form",53),e.NdJ("changes",function(i){return e.CHM(t),e.oxw().getDirtyConfigurationValues=i}),e.qZA(),e.qZA(),e.qZA(),e.TgZ(79,"div",54),e.TgZ(80,"cd-form-button-panel",55),e.NdJ("submitActionEvent",function(){return e.CHM(t),e.oxw().submit()}),e.ALo(81,"titlecase"),e.ALo(82,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.rbdForm),e.xp6(6),e.pQV(e.lcZ(6,32,o.action))(e.lcZ(7,34,o.resource)),e.QtT(5),e.xp6(2),e.Q6J("ngIf",o.rbdForm.getValue("parent")),e.xp6(6),e.Q6J("ngIf",o.rbdForm.showError("name",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("name",t,"pattern")),e.xp6(2),e.Q6J("ngClass",e.VKq(40,Xe,"editing"!==o.mode)),e.xp6(3),e.Q6J("ngIf","editing"===o.mode||!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("pool",t,"required")),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.rbdForm.getValue("pool")&&null===o.namespaces),e.xp6(1),e.Q6J("ngIf","editing"===o.mode&&o.rbdForm.getValue("namespace")||"editing"!==o.mode&&(o.namespaces&&o.namespaces.length>0||!o.poolPermission.read)),e.xp6(7),e.Q6J("ngIf",o.allDataPools.length<=1),e.xp6(1),e.Q6J("ngIf",o.rbdForm.getValue("useDataPool")),e.xp6(6),e.Q6J("ngIf",o.rbdForm.showError("size",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("size",t,"invalidSizeObject")),e.xp6(5),e.Q6J("ngForOf",o.featuresList),e.xp6(3),e.Q6J("ngIf",!o.advancedEnabled),e.xp6(1),e.Q6J("hidden",!o.advancedEnabled),e.xp6(11),e.Q6J("ngForOf",o.objectSizes),e.xp6(2),e.Q6J("ngClass",e.VKq(42,Xe,o.rbdForm.getValue("stripingCount"))),e.xp6(4),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",o.objectSizes),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingUnit",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingUnit",t,"invalidStripingUnit")),e.xp6(2),e.Q6J("ngClass",e.VKq(44,Xe,o.rbdForm.getValue("stripingUnit"))),e.xp6(4),e.Q6J("ngIf",o.rbdForm.showError("stripingCount",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingCount",t,"min")),e.xp6(1),e.Q6J("form",o.rbdForm)("initializeData",o.initializeConfigData),e.xp6(2),e.Q6J("form",t)("submitText",e.lcZ(81,36,o.action)+" "+e.lcZ(82,38,o.resource))}}let $e=(()=>{class n extends q.E{constructor(t,o,i,s,a,d,c,u,S){super(),this.authStorageService=t,this.route=o,this.poolService=i,this.rbdService=s,this.formatter=a,this.taskWrapper=d,this.dimlessBinaryPipe=c,this.actionLabels=u,this.router=S,this.namespaces=[],this.namespacesByPoolCache={},this.pools=null,this.allPools=null,this.dataPools=null,this.allDataPools=[],this.featuresList=[],this.initializeConfigData=new Tt.t(1),this.advancedEnabled=!1,this.rbdFormMode=ke,this.defaultObjectSize="4 MiB",this.objectSizes=["4 KiB","8 KiB","16 KiB","32 KiB","64 KiB","128 KiB","256 KiB","512 KiB","1 MiB","2 MiB","4 MiB","8 MiB","16 MiB","32 MiB"],this.rbdImage=new Tt.t(1),this.icons=T.P,this.routerUrl=this.router.url,this.poolPermission=this.authStorageService.getPermissions().pool,this.resource="RBD",this.features={"deep-flatten":{desc:"Deep flatten",requires:null,allowEnable:!1,allowDisable:!0},layering:{desc:"Layering",requires:null,allowEnable:!1,allowDisable:!1},"exclusive-lock":{desc:"Exclusive lock",requires:null,allowEnable:!0,allowDisable:!0},"object-map":{desc:"Object map (requires exclusive-lock)",requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},journaling:{desc:"Journaling (requires exclusive-lock)",requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},"fast-diff":{desc:"Fast diff (interlocked with object-map)",requires:"object-map",allowEnable:!0,allowDisable:!0,interlockedWith:"object-map",initDisabled:!0}},this.featuresList=this.objToArray(this.features),this.createForm()}objToArray(t){return C().map(t,(o,i)=>Object.assign(o,{key:i}))}createForm(){this.rbdForm=new M.d({parent:new r.NI(""),name:new r.NI("",{validators:[r.kI.required,r.kI.pattern(/^[^@/]+?$/)]}),pool:new r.NI(null,{validators:[r.kI.required]}),namespace:new r.NI(null),useDataPool:new r.NI(!1),dataPool:new r.NI(null),size:new r.NI(null,{updateOn:"blur"}),obj_size:new r.NI(this.defaultObjectSize),features:new M.d(this.featuresList.reduce((t,o)=>(t[o.key]=new r.NI({value:!1,disabled:!!o.initDisabled}),t),{})),stripingUnit:new r.NI(null),stripingCount:new r.NI(null,{updateOn:"blur"})},this.validateRbdForm(this.formatter))}disableForEdit(){this.rbdForm.get("parent").disable(),this.rbdForm.get("pool").disable(),this.rbdForm.get("namespace").disable(),this.rbdForm.get("useDataPool").disable(),this.rbdForm.get("dataPool").disable(),this.rbdForm.get("obj_size").disable(),this.rbdForm.get("stripingUnit").disable(),this.rbdForm.get("stripingCount").disable(),this.rbdImage.subscribe(t=>{t.image_format===Pe.V1&&(this.rbdForm.get("deep-flatten").disable(),this.rbdForm.get("layering").disable(),this.rbdForm.get("exclusive-lock").disable())})}disableForClone(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}disableForCopy(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}ngOnInit(){this.prepareFormForAction(),this.gatherNeededData().subscribe(this.handleExternalData.bind(this))}prepareFormForAction(){const t=this.routerUrl;t.startsWith("/block/rbd/edit")?(this.mode=this.rbdFormMode.editing,this.action=this.actionLabels.EDIT,this.disableForEdit()):t.startsWith("/block/rbd/clone")?(this.mode=this.rbdFormMode.cloning,this.disableForClone(),this.action=this.actionLabels.CLONE):t.startsWith("/block/rbd/copy")?(this.mode=this.rbdFormMode.copying,this.action=this.actionLabels.COPY,this.disableForCopy()):this.action=this.actionLabels.CREATE,C().each(this.features,o=>{this.rbdForm.get("features").get(o.key).valueChanges.subscribe(i=>this.featureFormUpdate(o.key,i))})}gatherNeededData(){const t={};return this.mode?this.route.params.subscribe(o=>{const i=Z.N.fromString(decodeURIComponent(o.image_spec));o.snap&&(this.snapName=decodeURIComponent(o.snap)),t.rbd=this.rbdService.get(i)}):t.defaultFeatures=this.rbdService.defaultFeatures(),this.mode!==this.rbdFormMode.editing&&this.poolPermission.read&&(t.pools=this.poolService.list(["pool_name","type","flags_names","application_metadata"])),(0,W.D)(t)}handleExternalData(t){if(this.handlePoolData(t.pools),t.defaultFeatures&&this.setFeatures(t.defaultFeatures),t.rbd){const o=t.rbd;this.setResponse(o,this.snapName),this.rbdImage.next(o)}this.loadingReady()}handlePoolData(t){if(!t)return;const o=[],i=[];for(const s of t)this.rbdService.isRBDPool(s)&&("replicated"===s.type?(o.push(s),i.push(s)):"erasure"===s.type&&-1!==s.flags_names.indexOf("ec_overwrites")&&i.push(s));if(this.pools=o,this.allPools=o,this.dataPools=i,this.allDataPools=i,1===this.pools.length){const s=this.pools[0].pool_name;this.rbdForm.get("pool").setValue(s),this.onPoolChange(s)}this.allDataPools.length<=1&&this.rbdForm.get("useDataPool").disable()}onPoolChange(t){const o=this.rbdForm.get("dataPool");o.value===t&&o.setValue(null),this.dataPools=this.allDataPools?this.allDataPools.filter(i=>i.pool_name!==t):[],this.namespaces=null,t in this.namespacesByPoolCache?this.namespaces=this.namespacesByPoolCache[t]:this.rbdService.listNamespaces(t).subscribe(i=>{i=i.map(s=>s.namespace),this.namespacesByPoolCache[t]=i,this.namespaces=i}),this.rbdForm.get("namespace").setValue(null)}onUseDataPoolChange(){this.rbdForm.getValue("useDataPool")||(this.rbdForm.get("dataPool").setValue(null),this.onDataPoolChange(null))}onDataPoolChange(t){const o=this.allPools.filter(i=>i.pool_name!==t);this.rbdForm.getValue("pool")===t&&this.rbdForm.get("pool").setValue(null),this.pools=o}validateRbdForm(t){return o=>{const i=o.get("useDataPool"),s=o.get("dataPool");let a=null;i.value&&null==s.value&&(a={required:!0}),s.setErrors(a);const d=o.get("size"),c=o.get("obj_size"),u=t.toBytes(null!=c.value?c.value:this.defaultObjectSize),S=o.get("stripingCount"),N=null!=S.value?S.value:1;let P=null;null===d.value?P={required:!0}:N*u>t.toBytes(d.value)&&(P={invalidSizeObject:!0}),d.setErrors(P);const $=o.get("stripingUnit");let G=null;null===$.value&&null!==S.value?G={required:!0}:null!==$.value&&t.toBytes($.value)>u&&(G={invalidStripingUnit:!0}),$.setErrors(G);let X=null;return null===S.value&&null!==$.value?X={required:!0}:N<1&&(X={min:!0}),S.setErrors(X),null}}deepBoxCheck(t,o){this.getDependentChildFeatures(t).forEach(s=>{const a=this.rbdForm.get(s.key);o?a.enable({emitEvent:!1}):(a.disable({emitEvent:!1}),a.setValue(!1,{emitEvent:!1}),this.deepBoxCheck(s.key,o));const d=this.rbdForm.get("features");this.mode===this.rbdFormMode.editing&&d.get(s.key).enabled&&(-1!==this.response.features_name.indexOf(s.key)&&!s.allowDisable||-1===this.response.features_name.indexOf(s.key)&&!s.allowEnable)&&d.get(s.key).disable()})}getDependentChildFeatures(t){return C().filter(this.features,o=>o.requires===t)||[]}interlockCheck(t,o){const i=this.featuresList.find(s=>s.key===t);if(this.response){const s=null!=i.interlockedWith,a=this.featuresList.find(c=>c.interlockedWith===i.key),d=!!this.response.features_name.find(c=>c===i.key);if(s){if(d!==!!this.response.features_name.find(u=>u===i.interlockedWith))return}else if(a&&!!this.response.features_name.find(u=>u===a.key)!==d)return}o?C().filter(this.features,s=>s.interlockedWith===t).forEach(s=>this.rbdForm.get(s.key).setValue(!0,{emitEvent:!1})):i.interlockedWith&&this.rbdForm.get("features").get(i.interlockedWith).setValue(!1)}featureFormUpdate(t,o){if(o){const i=this.features[t].requires;if(i&&!this.rbdForm.getValue(i))return void this.rbdForm.get(`features.${t}`).setValue(!1)}this.deepBoxCheck(t,o),this.interlockCheck(t,o)}setFeatures(t){const o=this.rbdForm.get("features");C().forIn(this.features,i=>{-1!==t.indexOf(i.key)&&o.get(i.key).setValue(!0),this.featureFormUpdate(i.key,o.get(i.key).value)})}setResponse(t,o){this.response=t;const i=new Z.N(t.pool_name,t.namespace,t.name).toString();if(this.mode===this.rbdFormMode.cloning)this.rbdForm.get("parent").setValue(`${i}@${o}`);else if(this.mode===this.rbdFormMode.copying)o?this.rbdForm.get("parent").setValue(`${i}@${o}`):this.rbdForm.get("parent").setValue(`${i}`);else if(t.parent){const s=t.parent;this.rbdForm.get("parent").setValue(`${s.pool_name}/${s.image_name}@${s.snap_name}`)}this.mode===this.rbdFormMode.editing&&this.rbdForm.get("name").setValue(t.name),this.rbdForm.get("pool").setValue(t.pool_name),this.onPoolChange(t.pool_name),this.rbdForm.get("namespace").setValue(t.namespace),t.data_pool&&(this.rbdForm.get("useDataPool").setValue(!0),this.rbdForm.get("dataPool").setValue(t.data_pool)),this.rbdForm.get("size").setValue(this.dimlessBinaryPipe.transform(t.size)),this.rbdForm.get("obj_size").setValue(this.dimlessBinaryPipe.transform(t.obj_size)),this.setFeatures(t.features_name),this.rbdForm.get("stripingUnit").setValue(this.dimlessBinaryPipe.transform(t.stripe_unit)),this.rbdForm.get("stripingCount").setValue(t.stripe_count),this.initializeConfigData.next({initialData:this.response.configuration,sourceType:et.h.image})}createRequest(){const t=new Ui;return t.pool_name=this.rbdForm.getValue("pool"),t.namespace=this.rbdForm.getValue("namespace"),t.name=this.rbdForm.getValue("name"),t.size=this.formatter.toBytes(this.rbdForm.getValue("size")),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(),t}addObjectSizeAndStripingToRequest(t){t.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),C().forIn(this.features,o=>{this.rbdForm.getValue(o.key)&&t.features.push(o.key)}),t.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),t.stripe_count=this.rbdForm.getValue("stripingCount"),t.data_pool=this.rbdForm.getValue("dataPool")}createAction(){const t=this.createRequest();return this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/create",{pool_name:t.pool_name,namespace:t.namespace,image_name:t.name}),call:this.rbdService.create(t)})}editRequest(){const t=new ji;return t.name=this.rbdForm.getValue("name"),t.size=this.formatter.toBytes(this.rbdForm.getValue("size")),C().forIn(this.features,o=>{this.rbdForm.getValue(o.key)&&t.features.push(o.key)}),t.configuration=this.getDirtyConfigurationValues(),t}cloneRequest(){const t=new Ji;return t.child_pool_name=this.rbdForm.getValue("pool"),t.child_namespace=this.rbdForm.getValue("namespace"),t.child_image_name=this.rbdForm.getValue("name"),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(!0,et.h.image),t}editAction(){const t=new Z.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/edit",{image_spec:t.toString()}),call:this.rbdService.update(t,this.editRequest())})}cloneAction(){const t=this.cloneRequest(),o=new Z.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/clone",{parent_image_spec:o.toString(),parent_snap_name:this.snapName,child_pool_name:t.child_pool_name,child_namespace:t.child_namespace,child_image_name:t.child_image_name}),call:this.rbdService.cloneSnapshot(o,this.snapName,t)})}copyRequest(){const t=new Yi;return this.snapName&&(t.snapshot_name=this.snapName),t.dest_pool_name=this.rbdForm.getValue("pool"),t.dest_namespace=this.rbdForm.getValue("namespace"),t.dest_image_name=this.rbdForm.getValue("name"),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(!0,et.h.image),t}copyAction(){const t=this.copyRequest(),o=new Z.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/copy",{src_image_spec:o.toString(),dest_pool_name:t.dest_pool_name,dest_namespace:t.dest_namespace,dest_image_name:t.dest_image_name}),call:this.rbdService.copy(o,t)})}submit(){this.mode||this.rbdImage.next("create"),this.rbdImage.pipe((0,ki.P)(),(0,Xi.w)(()=>this.mode===this.rbdFormMode.editing?this.editAction():this.mode===this.rbdFormMode.cloning?this.cloneAction():this.mode===this.rbdFormMode.copying?this.copyAction():this.createAction())).subscribe(()=>{},()=>this.rbdForm.setErrors({cdSubmitButton:!0}),()=>this.router.navigate(["/block/rbd"]))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(m.gz),e.Y36(Ke.q),e.Y36(x),e.Y36(Qi.H),e.Y36(Q.P),e.Y36(Fe.$),e.Y36(D.p4),e.Y36(m.F0))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$,G,X,J,te,A,w,de,pe,ge,ue,me,Te,fe,Ce,Se,y,Ze,Be,Ge,ye,xe,we,qe;return _="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Name",o="Pool",i="Use a dedicated data pool",s="Size",a="e.g., 10GiB",d="Features",c="Advanced",u="Striping",S="Object size",N="Stripe unit",P="-- Select stripe unit --",$="Stripe count",G="" + "\ufffd0\ufffd" + " from",X="This field is required.",J="'/' and '@' are not allowed.",te="Loading...",A="-- No rbd pools available --",w="-- Select a pool --",de="This field is required.",pe="Loading...",ge="-- No namespaces available --",ue="-- Select a namespace --",me="You need more than one pool with the rbd application label use to use a dedicated data pool.",Te="Data pool",fe="Dedicated pool that stores the object-data of the RBD.",Ce="Loading...",Se="-- No data pools available --",y="This field is required.",Ze="This field is required.",Be="You have to increase the size.",Ge="Advanced...",ye="This field is required because stripe count is defined!",xe="Stripe unit is greater than object size.",we="This field is required because stripe unit is defined!",qe="Stripe count must be greater than 0.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","rbdForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],_,[1,"card-body"],["class","form-group row",4,"ngIf"],[1,"form-group","row"],["for","name",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","placeholder","Name...","id","name","name","name","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"form-group","row",3,"change"],["for","pool",1,"cd-col-form-label",3,"ngClass"],o,["class","form-control","type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",4,"ngIf"],["id","pool","name","pool","class","form-control custom-select","formControlName","pool",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","id","useDataPool","name","useDataPool","formControlName","useDataPool",1,"custom-control-input",3,"change"],["for","useDataPool",1,"custom-control-label"],i,[4,"ngIf"],["for","size",1,"cd-col-form-label","required"],s,["id","size","name","size","type","text","formControlName","size","placeholder",a,"defaultUnit","GiB","cdDimlessBinary","",1,"form-control"],["formGroupName","features",1,"form-group","row"],["for","features",1,"cd-col-form-label"],d,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"row"],[1,"col-sm-12"],["class","float-right margin-right-md","href","",3,"click",4,"ngIf"],[3,"hidden"],[1,"cd-header"],c,[1,"col-md-12"],u,["for","size",1,"cd-col-form-label"],S,["id","obj_size","name","obj_size","formControlName","obj_size",1,"form-control","custom-select"],[3,"value",4,"ngFor","ngForOf"],["for","stripingUnit",1,"cd-col-form-label",3,"ngClass"],N,["id","stripingUnit","name","stripingUnit","formControlName","stripingUnit",1,"form-control","custom-select"],[3,"ngValue"],P,["for","stripingCount",1,"cd-col-form-label",3,"ngClass"],$,["id","stripingCount","name","stripingCount","formControlName","stripingCount","type","number",1,"form-control"],[3,"form","initializeData","changes"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["for","name",1,"cd-col-form-label"],G,["type","text","id","parent","name","parent","formControlName","parent",1,"form-control"],[1,"invalid-feedback"],X,J,["type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",1,"form-control"],["id","pool","name","pool","formControlName","pool",1,"form-control","custom-select"],[3,"ngValue",4,"ngIf"],te,A,w,[3,"value"],de,[3,"ngClass"],["for","pool",1,"cd-col-form-label"],["class","form-control","type","text","placeholder","Namespace...","id","namespace","name","namespace","formControlName","namespace",4,"ngIf"],["id","namespace","name","namespace","class","form-control custom-select","formControlName","namespace",4,"ngIf"],["type","text","placeholder","Namespace...","id","namespace","name","namespace","formControlName","namespace",1,"form-control"],["id","namespace","name","namespace","formControlName","namespace",1,"form-control","custom-select"],pe,ge,ue,me,["for","dataPool",1,"cd-col-form-label"],Te,["html",fe],["class","form-control","type","text","placeholder","Data pool name...","id","dataPool","name","dataPool","formControlName","dataPool",4,"ngIf"],["id","dataPool","name","dataPool","class","form-control custom-select","formControlName","dataPool",3,"change",4,"ngIf"],["type","text","placeholder","Data pool name...","id","dataPool","name","dataPool","formControlName","dataPool",1,"form-control"],["id","dataPool","name","dataPool","formControlName","dataPool",1,"form-control","custom-select",3,"change"],Ce,Se,y,Ze,Be,["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],[3,"html",4,"ngIf"],[3,"html"],["href","",1,"float-right","margin-right-md",3,"click"],Ge,ye,xe,we,qe]},template:function(t,o){1&t&&e.YNc(0,q_,83,46,"div",0),2&t&&e.Q6J("cdFormLoading",o.loading)},directives:[st.y,r._Y,r.JL,r.sg,v.V,l.O5,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.mk,r.Wl,Wi.Q,r.x0,l.sg,r.EJ,r.YN,r.Kr,r.wV,e_.d,O.p,t_.S],pipes:[l.rS,Ye.m],styles:[""]}),n})();var ft=p(36169),ce=p(91801),tt=p(51847),H_=p(16738),Me=p.n(H_),ot=p(62862),K_=p(52266);function k_(n,_){1&n&&(e.TgZ(0,"div",18),e.TgZ(1,"span"),e.SDv(2,19),e.qZA(),e.qZA())}function X_(n,_){1&n&&(e.TgZ(0,"span",20),e.SDv(1,21),e.qZA())}function Q_(n,_){1&n&&(e.TgZ(0,"span",20),e.SDv(1,22),e.qZA())}function z_(n,_){if(1&n&&e._UZ(0,"cd-date-time-picker",23),2&n){const t=e.oxw();e.Q6J("control",t.moveForm.get("expiresAt"))}}let J_=(()=>{class n{constructor(t,o,i,s,a){this.rbdService=t,this.activeModal=o,this.actionLabels=i,this.fb=s,this.taskWrapper=a,this.createForm()}createForm(){this.moveForm=this.fb.group({expiresAt:["",[B.h.custom("format",t=>!(""===t||Me()(t,"YYYY-MM-DD HH:mm:ss").isValid())),B.h.custom("expired",t=>Me()().isAfter(t))]]})}ngOnInit(){this.imageSpec=new Z.N(this.poolName,this.namespace,this.imageName),this.imageSpecStr=this.imageSpec.toString(),this.pattern=`${this.poolName}/${this.imageName}`}moveImage(){let t=0;const o=this.moveForm.getValue("expiresAt");o&&(t=Me()(o,"YYYY-MM-DD HH:mm:ss").diff(Me()(),"seconds",!0)),t<0&&(t=0),this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/trash/move",{image_spec:this.imageSpecStr}),call:this.rbdService.moveTrash(this.imageSpec,t)}).subscribe({complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x),e.Y36(I.Kz),e.Y36(D.p4),e.Y36(ot.O),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-move-modal"]],decls:23,vars:9,consts:function(){let _,t,o,i,s,a,d;return _="Move an image to trash",t="To move " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "" + "\ufffd0\ufffd" + "" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + " to trash, click " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Move" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ". Optionally, you can pick an expiration date.",t=e.Zx4(t),o="Protection expires at",i="NOT PROTECTED",s="This image contains snapshot(s), which will prevent it from being removed after moved to trash.",a="Wrong date format. Please use \"YYYY-MM-DD HH:mm:ss\".",d="Protection has already expired. Please pick a future date or leave it empty.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","moveForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],["class","alert alert-warning","role","alert",4,"ngIf"],t,[1,"form-group"],["for","expiresAt",1,"col-form-label"],o,["type","text","placeholder",i,"formControlName","expiresAt","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["p","ngbPopover"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["popContent",""],["role","alert",1,"alert","alert-warning"],s,[1,"invalid-feedback"],a,d,[3,"control"]]},template:function(t,o){if(1&t){const i=e.EpF();e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,k_,3,0,"div",7),e.TgZ(8,"p"),e.tHW(9,8),e._UZ(10,"kbd"),e._UZ(11,"kbd"),e.N_p(),e.qZA(),e.TgZ(12,"div",9),e.TgZ(13,"label",10),e.SDv(14,11),e.qZA(),e.TgZ(15,"input",12,13),e.NdJ("click",function(){return e.CHM(i),e.MAs(16).open()})("keypress",function(){return e.CHM(i),e.MAs(16).close()}),e.qZA(),e.YNc(17,X_,2,0,"span",14),e.YNc(18,Q_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(19,"div",15),e.TgZ(20,"cd-form-button-panel",16),e.NdJ("submitActionEvent",function(){return o.moveImage()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA(),e.YNc(21,z_,1,1,"ng-template",null,17,e.W1O)}if(2&t){const i=e.MAs(5),s=e.MAs(22);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.moveForm),e.xp6(3),e.Q6J("ngIf",o.hasSnapshots),e.xp6(4),e.pQV(o.imageSpecStr),e.QtT(9),e.xp6(4),e.Q6J("ngbPopover",s),e.xp6(2),e.Q6J("ngIf",o.moveForm.showError("expiresAt",i,"format")),e.xp6(1),e.Q6J("ngIf",o.moveForm.showError("expiresAt",i,"expired")),e.xp6(2),e.Q6J("form",o.moveForm)("submitText",o.actionLabels.MOVE)}},directives:[R.z,r._Y,r.JL,r.sg,v.V,l.O5,g.P,f.o,r.Fj,h.b,r.JJ,r.u,I.o8,O.p,K_.J],styles:[""]}),n})();function Y_(n,_){1&n&&(e.TgZ(0,"li",10),e.TgZ(1,"a",3),e.SDv(2,11),e.qZA(),e.qZA())}let Qe=(()=>{class n{constructor(t,o){this.authStorageService=t,this.router=o,this.grafanaPermission=this.authStorageService.getPermissions().grafana}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(m.F0))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-tabs"]],decls:12,vars:2,consts:function(){let _,t,o,i;return _="Images",t="Namespaces",o="Trash",i="Overall Performance",[["ngbNav","",1,"nav-tabs",3,"activeId","navChange"],["nav","ngbNav"],["ngbNavItem","/block/rbd"],["ngbNavLink",""],_,["ngbNavItem","/block/rbd/namespaces"],t,["ngbNavItem","/block/rbd/trash"],o,["ngbNavItem","/block/rbd/performance",4,"ngIf"],["ngbNavItem","/block/rbd/performance"],i]},template:function(t,o){1&t&&(e.TgZ(0,"ul",0,1),e.NdJ("navChange",function(s){return o.router.navigate([s.nextId])}),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"li",5),e.TgZ(6,"a",3),e.SDv(7,6),e.qZA(),e.qZA(),e.TgZ(8,"li",7),e.TgZ(9,"a",3),e.SDv(10,8),e.qZA(),e.qZA(),e.YNc(11,Y_,3,0,"li",9),e.qZA()),2&t&&(e.Q6J("activeId",o.router.url),e.xp6(11),e.Q6J("ngIf",o.grafanaPermission.read))},directives:[I.Pz,I.nv,I.Vx,l.O5],styles:[""]}),n})();var V_=p(25917),Ct=p(51295),nt=p(60737),U_=p(74255),St=p(71099),Et=p(79765);function j_(n,_){1&n&&(e.TgZ(0,"span",15),e.SDv(1,16),e.qZA())}let W_=(()=>{class n{constructor(t,o,i,s,a){this.activeModal=t,this.rbdService=o,this.taskManagerService=i,this.notificationService=s,this.actionLabels=a,this.editing=!1,this.onSubmit=new Et.xQ,this.action=this.actionLabels.CREATE,this.resource="RBD Snapshot",this.createForm()}createForm(){this.snapshotForm=new M.d({snapshotName:new r.NI("",{validators:[r.kI.required]})})}setSnapName(t){this.snapName=t,this.snapshotForm.get("snapshotName").setValue(t)}setEditing(t=!0){this.editing=t,this.action=this.editing?this.actionLabels.RENAME:this.actionLabels.CREATE}editAction(){const t=this.snapshotForm.getValue("snapshotName"),o=new Z.N(this.poolName,this.namespace,this.imageName),i=new F.R;i.name="rbd/snap/edit",i.metadata={image_spec:o.toString(),snapshot_name:t},this.rbdService.renameSnapshot(o,this.snapName,t).toPromise().then(()=>{this.taskManagerService.subscribe(i.name,i.metadata,s=>{this.notificationService.notifyTask(s)}),this.activeModal.close(),this.onSubmit.next(this.snapName)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}createAction(){const t=this.snapshotForm.getValue("snapshotName"),o=new Z.N(this.poolName,this.namespace,this.imageName),i=new F.R;i.name="rbd/snap/create",i.metadata={image_spec:o.toString(),snapshot_name:t},this.rbdService.createSnapshot(o,t).toPromise().then(()=>{this.taskManagerService.subscribe(i.name,i.metadata,s=>{this.notificationService.notifyTask(s)}),this.activeModal.close(),this.onSubmit.next(t)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}submit(){this.editing?this.editAction():this.createAction()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(x),e.Y36(St.k),e.Y36(Le.g),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-snapshot-form-modal"]],decls:19,vars:15,consts:function(){let _,t,o;return _="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Name",o="This field is required.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","snapshotForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","snapshotName",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","placeholder","Snapshot name...","id","snapshotName","name","snapshotName","formControlName","snapshotName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],o]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.YNc(14,j_,2,0,"span",12),e.qZA(),e.qZA(),e.qZA(),e.TgZ(15,"div",13),e.TgZ(16,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return o.submit()}),e.ALo(17,"titlecase"),e.ALo(18,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,7,o.action))(e.lcZ(4,9,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.snapshotForm),e.xp6(8),e.Q6J("ngIf",o.snapshotForm.showError("snapshotName",i,"required")),e.xp6(2),e.Q6J("form",o.snapshotForm)("submitText",e.lcZ(17,11,o.action)+" "+e.lcZ(18,13,o.resource))}},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,O.p],pipes:[l.rS,Ye.m],styles:[""]}),n})();class es{constructor(_,t,o){this.featuresName=t,this.cloneFormatVersion=1,o.cloneFormatVersion().subscribe(i=>{this.cloneFormatVersion=i}),this.create={permission:"create",icon:T.P.add,name:_.CREATE},this.rename={permission:"update",icon:T.P.edit,name:_.RENAME},this.protect={permission:"update",icon:T.P.lock,visible:i=>i.hasSingleSelection&&!i.first().is_protected,name:_.PROTECT},this.unprotect={permission:"update",icon:T.P.unlock,visible:i=>i.hasSingleSelection&&i.first().is_protected,name:_.UNPROTECT},this.clone={permission:"create",canBePrimary:i=>i.hasSingleSelection,disable:i=>this.getCloneDisableDesc(i,this.featuresName),icon:T.P.clone,name:_.CLONE},this.copy={permission:"create",canBePrimary:i=>i.hasSingleSelection,disable:i=>!i.hasSingleSelection||i.first().cdExecuting,icon:T.P.copy,name:_.COPY},this.rollback={permission:"update",icon:T.P.undo,name:_.ROLLBACK},this.deleteSnap={permission:"delete",icon:T.P.destroy,disable:i=>{const s=i.first();return!i.hasSingleSelection||s.cdExecuting||s.is_protected},name:_.DELETE},this.ordering=[this.create,this.rename,this.protect,this.unprotect,this.clone,this.copy,this.rollback,this.deleteSnap]}getCloneDisableDesc(_,t){return!(_.hasSingleSelection&&!_.first().cdExecuting)||((null==t?void 0:t.includes("layering"))?1===this.cloneFormatVersion&&!_.first().is_protected&&"Snapshot must be protected in order to clone.":"Parent image must support Layering")}}class ts{}var ze=p(96102);const os=["nameTpl"],ns=["rollbackTpl"];function is(n,_){if(1&n&&(e.ynx(0),e.SDv(1,3),e.BQk(),e.TgZ(2,"strong"),e._uU(3),e.qZA(),e._uU(4,".\n")),2&n){const t=_.$implicit;e.xp6(3),e.hij(" ",t.snapName,"")}}let _s=(()=>{class n{constructor(t,o,i,s,a,d,c,u,S,N,P){this.authStorageService=t,this.modalService=o,this.dimlessBinaryPipe=i,this.cdDatePipe=s,this.rbdService=a,this.taskManagerService=d,this.notificationService=c,this.summaryService=u,this.taskListService=S,this.actionLabels=N,this.cdr=P,this.snapshots=[],this.selection=new Ee.r,this.builders={"rbd/snap/create":$=>{const G=new ts;return G.name=$.snapshot_name,G}},this.permission=this.authStorageService.getPermissions().rbdImage}ngOnInit(){this.columns=[{name:"Name",prop:"name",cellTransformation:ve.e.executing,flexGrow:2},{name:"Size",prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"Provisioned",prop:"disk_usage",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"State",prop:"is_protected",flexGrow:1,cellTransformation:ve.e.badge,customTemplateConfig:{map:{true:{value:"PROTECTED",class:"badge-success"},false:{value:"UNPROTECTED",class:"badge-info"}}}},{name:"Created",prop:"timestamp",flexGrow:1,pipe:this.cdDatePipe}],this.imageSpec=new Z.N(this.poolName,this.namespace,this.rbdName),this.rbdTableActions=new es(this.actionLabels,this.featuresName,this.rbdService),this.rbdTableActions.create.click=()=>this.openCreateSnapshotModal(),this.rbdTableActions.rename.click=()=>this.openEditSnapshotModal(),this.rbdTableActions.protect.click=()=>this.toggleProtection(),this.rbdTableActions.unprotect.click=()=>this.toggleProtection();const t=()=>this.selection.first()&&`${this.imageSpec.toStringEncoded()}/${encodeURIComponent(this.selection.first().name)}`;this.rbdTableActions.clone.routerLink=()=>`/block/rbd/clone/${t()}`,this.rbdTableActions.copy.routerLink=()=>`/block/rbd/copy/${t()}`,this.rbdTableActions.rollback.click=()=>this.rollbackModal(),this.rbdTableActions.deleteSnap.click=()=>this.deleteSnapshotModal(),this.tableActions=this.rbdTableActions.ordering,this.taskListService.init(()=>(0,V_.of)(this.snapshots),null,s=>{Ct.T.updateChanged(this,{data:s})&&(this.cdr.detectChanges(),this.data=[...this.data])},()=>{Ct.T.updateChanged(this,{data:this.snapshots})&&(this.cdr.detectChanges(),this.data=[...this.data])},s=>["rbd/snap/create","rbd/snap/delete","rbd/snap/edit","rbd/snap/rollback"].includes(s.name)&&this.imageSpec.toString()===s.metadata.image_spec,(s,a)=>s.name===a.metadata.snapshot_name,this.builders)}ngOnChanges(){this.columns&&(this.imageSpec=new Z.N(this.poolName,this.namespace,this.rbdName),this.rbdTableActions&&(this.rbdTableActions.featuresName=this.featuresName),this.taskListService.fetch())}openSnapshotModal(t,o=null){this.modalRef=this.modalService.show(W_),this.modalRef.componentInstance.poolName=this.poolName,this.modalRef.componentInstance.imageName=this.rbdName,this.modalRef.componentInstance.namespace=this.namespace,o?this.modalRef.componentInstance.setEditing():o=`${this.rbdName}_${Me()().toISOString(!0)}`,this.modalRef.componentInstance.setSnapName(o),this.modalRef.componentInstance.onSubmit.subscribe(i=>{const s=new nt.o;s.name=t,s.metadata={image_spec:this.imageSpec.toString(),snapshot_name:i},this.summaryService.addRunningTask(s)})}openCreateSnapshotModal(){this.openSnapshotModal("rbd/snap/create")}openEditSnapshotModal(){this.openSnapshotModal("rbd/snap/edit",this.selection.first().name)}toggleProtection(){const t=this.selection.first().name,o=this.selection.first().is_protected,i=new F.R;i.name="rbd/snap/edit";const s=new Z.N(this.poolName,this.namespace,this.rbdName);i.metadata={image_spec:s.toString(),snapshot_name:t},this.rbdService.protectSnapshot(s,t,!o).toPromise().then(()=>{const a=new nt.o;a.name=i.name,a.metadata=i.metadata,this.summaryService.addRunningTask(a),this.taskManagerService.subscribe(i.name,i.metadata,d=>{this.notificationService.notifyTask(d)})})}_asyncTask(t,o,i){const s=new F.R;s.name=o,s.metadata={image_spec:new Z.N(this.poolName,this.namespace,this.rbdName).toString(),snapshot_name:i};const a=new Z.N(this.poolName,this.namespace,this.rbdName);this.rbdService[t](a,i).toPromise().then(()=>{const d=new nt.o;d.name=s.name,d.metadata=s.metadata,this.summaryService.addRunningTask(d),this.modalRef.close(),this.taskManagerService.subscribe(d.name,d.metadata,c=>{this.notificationService.notifyTask(c)})}).catch(()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}rollbackModal(){const t=this.selection.selected[0].name,o=new Z.N(this.poolName,this.namespace,this.rbdName).toString(),i={titleText:"RBD snapshot rollback",buttonText:"Rollback",bodyTpl:this.rollbackTpl,bodyData:{snapName:`${o}@${t}`},onSubmit:()=>{this._asyncTask("rollbackSnapshot","rbd/snap/rollback",t)}};this.modalRef=this.modalService.show(ft.Y,i)}deleteSnapshotModal(){const t=this.selection.selected[0].name;this.modalRef=this.modalService.show(he.M,{itemDescription:"RBD snapshot",itemNames:[t],submitAction:()=>this._asyncTask("deleteSnapshot","rbd/snap/delete",t)})}updateSelection(t){this.selection=t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(re.Z),e.Y36(Fe.$),e.Y36(ze.N),e.Y36(x),e.Y36(St.k),e.Y36(Le.g),e.Y36(U_.J),e.Y36(se.j),e.Y36(D.p4),e.Y36(e.sBO))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-snapshot-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(os,5),e.Gf(ns,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.nameTpl=i.first),e.iGM(i=e.CRH())&&(o.rollbackTpl=i.first)}},inputs:{snapshots:"snapshots",featuresName:"featuresName",poolName:"poolName",namespace:"namespace",rbdName:"rbdName"},features:[e._Bn([se.j]),e.TTD],decls:4,vars:5,consts:function(){let _;return _="You are about to rollback",[["columnMode","flex","selectionType","single",3,"data","columns","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["rollbackTpl",""],_]},template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("updateSelection",function(s){return o.updateSelection(s)}),e._UZ(1,"cd-table-actions",1),e.qZA(),e.YNc(2,is,5,1,"ng-template",null,2,e.W1O)),2&t&&(e.Q6J("data",o.data)("columns",o.columns),e.xp6(1),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},directives:[ee.a,Re.K],styles:[""],changeDetection:0}),n})();var ss=p(71752),Rt=p(76317),as=p(41039);const rs=["poolConfigurationSourceTpl"];function ls(n,_){1&n&&(e.ynx(0),e.tHW(1,3),e._UZ(2,"strong"),e.N_p(),e.BQk())}function cs(n,_){if(1&n&&(e.TgZ(0,"span"),e.TgZ(1,"span",38),e._uU(2),e.qZA(),e.qZA()),2&n){const t=_.$implicit;e.xp6(2),e.Oqu(t)}}function ds(n,_){if(1&n&&(e.TgZ(0,"span"),e.TgZ(1,"span",39),e.SDv(2,40),e.qZA(),e.qZA()),2&n){e.oxw(3);const t=e.MAs(1);e.xp6(1),e.Q6J("ngbTooltip",t)}}function ps(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,t.selection.disk_usage)," ")}}function gs(n,_){if(1&n&&(e.TgZ(0,"span"),e.TgZ(1,"span",39),e.SDv(2,41),e.qZA(),e.qZA()),2&n){e.oxw(3);const t=e.MAs(1);e.xp6(1),e.Q6J("ngbTooltip",t)}}function us(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,t.selection.total_disk_usage)," ")}}function ms(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw(4);e.xp6(1),e.hij("/",t.selection.parent.pool_namespace,"")}}function Ts(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.YNc(2,ms,2,1,"span",1),e._uU(3),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Oqu(t.selection.parent.pool_name),e.xp6(1),e.Q6J("ngIf",t.selection.parent.pool_namespace),e.xp6(1),e.AsE("/",t.selection.parent.image_name,"@",t.selection.parent.snap_name,"")}}function fs(n,_){1&n&&(e.TgZ(0,"span"),e._uU(1,"-"),e.qZA())}function Cs(n,_){if(1&n&&(e.TgZ(0,"table",17),e.TgZ(1,"tbody"),e.TgZ(2,"tr"),e.TgZ(3,"td",18),e.SDv(4,19),e.qZA(),e.TgZ(5,"td",20),e._uU(6),e.qZA(),e.qZA(),e.TgZ(7,"tr"),e.TgZ(8,"td",21),e.SDv(9,22),e.qZA(),e.TgZ(10,"td"),e._uU(11),e.qZA(),e.qZA(),e.TgZ(12,"tr"),e.TgZ(13,"td",21),e.SDv(14,23),e.qZA(),e.TgZ(15,"td"),e._uU(16),e.ALo(17,"empty"),e.qZA(),e.qZA(),e.TgZ(18,"tr"),e.TgZ(19,"td",21),e.SDv(20,24),e.qZA(),e.TgZ(21,"td"),e._uU(22),e.ALo(23,"cdDate"),e.qZA(),e.qZA(),e.TgZ(24,"tr"),e.TgZ(25,"td",21),e.SDv(26,25),e.qZA(),e.TgZ(27,"td"),e._uU(28),e.ALo(29,"dimlessBinary"),e.qZA(),e.qZA(),e.TgZ(30,"tr"),e.TgZ(31,"td",21),e.SDv(32,26),e.qZA(),e.TgZ(33,"td"),e._uU(34),e.ALo(35,"dimless"),e.qZA(),e.qZA(),e.TgZ(36,"tr"),e.TgZ(37,"td",21),e.SDv(38,27),e.qZA(),e.TgZ(39,"td"),e._uU(40),e.ALo(41,"dimlessBinary"),e.qZA(),e.qZA(),e.TgZ(42,"tr"),e.TgZ(43,"td",21),e.SDv(44,28),e.qZA(),e.TgZ(45,"td"),e.YNc(46,cs,3,1,"span",29),e.qZA(),e.qZA(),e.TgZ(47,"tr"),e.TgZ(48,"td",21),e.SDv(49,30),e.qZA(),e.TgZ(50,"td"),e.YNc(51,ds,3,1,"span",1),e.YNc(52,ps,3,3,"span",1),e.qZA(),e.qZA(),e.TgZ(53,"tr"),e.TgZ(54,"td",21),e.SDv(55,31),e.qZA(),e.TgZ(56,"td"),e.YNc(57,gs,3,1,"span",1),e.YNc(58,us,3,3,"span",1),e.qZA(),e.qZA(),e.TgZ(59,"tr"),e.TgZ(60,"td",21),e.SDv(61,32),e.qZA(),e.TgZ(62,"td"),e._uU(63),e.ALo(64,"dimlessBinary"),e.qZA(),e.qZA(),e.TgZ(65,"tr"),e.TgZ(66,"td",21),e.SDv(67,33),e.qZA(),e.TgZ(68,"td"),e._uU(69),e.qZA(),e.qZA(),e.TgZ(70,"tr"),e.TgZ(71,"td",21),e.SDv(72,34),e.qZA(),e.TgZ(73,"td"),e.YNc(74,Ts,4,4,"span",1),e.YNc(75,fs,2,0,"span",1),e.qZA(),e.qZA(),e.TgZ(76,"tr"),e.TgZ(77,"td",21),e.SDv(78,35),e.qZA(),e.TgZ(79,"td"),e._uU(80),e.qZA(),e.qZA(),e.TgZ(81,"tr"),e.TgZ(82,"td",21),e.SDv(83,36),e.qZA(),e.TgZ(84,"td"),e._uU(85),e.qZA(),e.qZA(),e.TgZ(86,"tr"),e.TgZ(87,"td",21),e.SDv(88,37),e.qZA(),e.TgZ(89,"td"),e._uU(90),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(6),e.Oqu(t.selection.name),e.xp6(5),e.Oqu(t.selection.pool_name),e.xp6(5),e.Oqu(e.lcZ(17,19,t.selection.data_pool)),e.xp6(6),e.Oqu(e.lcZ(23,21,t.selection.timestamp)),e.xp6(6),e.Oqu(e.lcZ(29,23,t.selection.size)),e.xp6(6),e.Oqu(e.lcZ(35,25,t.selection.num_objs)),e.xp6(6),e.Oqu(e.lcZ(41,27,t.selection.obj_size)),e.xp6(6),e.Q6J("ngForOf",t.selection.features_name),e.xp6(5),e.Q6J("ngIf",-1===(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(1),e.Q6J("ngIf",-1!==(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(5),e.Q6J("ngIf",-1===(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(1),e.Q6J("ngIf",-1!==(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(5),e.Oqu(e.lcZ(64,29,t.selection.stripe_unit)),e.xp6(6),e.Oqu(t.selection.stripe_count),e.xp6(5),e.Q6J("ngIf",t.selection.parent),e.xp6(1),e.Q6J("ngIf",!t.selection.parent),e.xp6(5),e.Oqu(t.selection.block_name_prefix),e.xp6(5),e.Oqu(t.selection.order),e.xp6(5),e.Oqu(t.selection.image_format)}}function Ss(n,_){if(1&n&&e._UZ(0,"cd-rbd-snapshot-list",42),2&n){const t=e.oxw(2);e.Q6J("snapshots",t.selection.snapshots)("featuresName",t.selection.features_name)("poolName",t.selection.pool_name)("namespace",t.selection.namespace)("rbdName",t.selection.name)}}function Es(n,_){if(1&n&&e._UZ(0,"cd-rbd-configuration-table",43),2&n){const t=e.oxw(2);e.Q6J("data",t.selection.configuration)}}function Rs(n,_){if(1&n&&e._UZ(0,"cd-grafana",44),2&n){const t=e.oxw(2);e.Q6J("grafanaPath",t.rbdDashboardUrl)}}function Ms(n,_){if(1&n&&(e.ynx(0),e.TgZ(1,"ul",4,5),e.TgZ(3,"li",6),e.TgZ(4,"a",7),e.SDv(5,8),e.qZA(),e.YNc(6,Cs,91,31,"ng-template",9),e.qZA(),e.TgZ(7,"li",10),e.TgZ(8,"a",7),e.SDv(9,11),e.qZA(),e.YNc(10,Ss,1,5,"ng-template",9),e.qZA(),e.TgZ(11,"li",12),e.TgZ(12,"a",7),e.SDv(13,13),e.qZA(),e.YNc(14,Es,1,1,"ng-template",9),e.qZA(),e.TgZ(15,"li",14),e.TgZ(16,"a",7),e.SDv(17,15),e.qZA(),e.YNc(18,Rs,1,1,"ng-template",9),e.qZA(),e.qZA(),e._UZ(19,"div",16),e.BQk()),2&n){const t=e.MAs(2);e.xp6(19),e.Q6J("ngbNavOutlet",t)}}function Os(n,_){1&n&&(e.ynx(0),e.TgZ(1,"cd-alert-panel",45),e.SDv(2,46),e.qZA(),e.BQk())}function As(n,_){1&n&&(e.ynx(0),e.TgZ(1,"strong",49),e.SDv(2,50),e.qZA(),e.BQk())}function hs(n,_){1&n&&(e.TgZ(0,"span",51),e.SDv(1,52),e.qZA())}function Ps(n,_){if(1&n&&(e.YNc(0,As,3,0,"ng-container",47),e.YNc(1,hs,2,0,"ng-template",null,48,e.W1O)),2&n){const t=_.value,o=e.MAs(2);e.Q6J("ngIf",+t)("ngIfElse",o)}}let Is=(()=>{class n{ngOnChanges(){this.selection&&(this.rbdDashboardUrl=`rbd-details?var-Pool=${this.selection.pool_name}&var-Image=${this.selection.name}`)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-details"]],viewQuery:function(t,o){if(1&t&&(e.Gf(rs,7),e.Gf(I.Pz,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.poolConfigurationSourceTpl=i.first),e.iGM(i=e.CRH())&&(o.nav=i.first)}},inputs:{selection:"selection",images:"images"},features:[e.TTD],decls:6,vars:2,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$,G,X,J,te,A,w,de,pe,ge,ue,me,Te,fe,Ce,Se;return _="Only available for RBD images with " + "\ufffd#2\ufffd" + "fast-diff" + "\ufffd/#2\ufffd" + " enabled",t="Details",o="Snapshots",i="Configuration",s="Performance",a="Name",d="Pool",c="Data Pool",u="Created",S="Size",N="Objects",P="Object size",$="Features",G="Provisioned",X="Total provisioned",J="Striping unit",te="Striping count",A="Parent",w="Block name prefix",de="Order",pe="Format Version",ge="N/A",ue="N/A",me="Information can not be displayed for RBD in status 'Removing'.",Te="This setting overrides the global value",fe="Image",Ce="This is the global value. No value for this option has been set for this image.",Se="Global",[["usageNotAvailableTooltipTpl",""],[4,"ngIf"],["poolConfigurationSourceTpl",""],_,["ngbNav","","cdStatefulTab","rbd-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],t,["ngbNavContent",""],["ngbNavItem","snapshots"],o,["ngbNavItem","configuration"],i,["ngbNavItem","performance"],s,[3,"ngbNavOutlet"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],a,[1,"w-75"],[1,"bold"],d,c,u,S,N,P,$,[4,"ngFor","ngForOf"],G,X,J,te,A,w,de,pe,[1,"badge","badge-dark","mr-2"],["placement","top",1,"form-text","text-muted",3,"ngbTooltip"],ge,ue,[3,"snapshots","featuresName","poolName","namespace","rbdName"],[3,"data"],["uid","YhCYGcuZz","grafanaStyle","one",3,"grafanaPath"],["type","warning"],me,[4,"ngIf","ngIfElse"],["global",""],["ngbTooltip",Te],fe,["ngbTooltip",Ce],Se]},template:function(t,o){1&t&&(e.YNc(0,ls,3,0,"ng-template",null,0,e.W1O),e.YNc(2,Ms,20,1,"ng-container",1),e.YNc(3,Os,3,0,"ng-container",1),e.YNc(4,Ps,3,2,"ng-template",null,2,e.W1O)),2&t&&(e.xp6(2),e.Q6J("ngIf",o.selection&&"REMOVING"!==o.selection.source),e.xp6(1),e.Q6J("ngIf",o.selection&&"REMOVING"===o.selection.source))},directives:[l.O5,I.Pz,mt.m,I.nv,I.Vx,I.uN,I.tO,l.sg,I._L,_s,ss.P,Rt.F,pt.G],pipes:[as.W,ze.N,Fe.$,Ue.n],styles:[""]}),n})();const bs=["usageTpl"],Ns=["parentTpl"],Ds=["nameTpl"],vs=["flattenTpl"],Ls=["deleteTpl"],Fs=["removingStatTpl"],$s=["provisionedNotAvailableTooltipTpl"],Zs=["totalProvisionedNotAvailableTooltipTpl"];function Bs(n,_){1&n&&e._UZ(0,"div",11),2&n&&e.Q6J("innerHtml","Only available for RBD images with <strong>fast-diff</strong> enabled",e.oJD)}function Gs(n,_){if(1&n&&(e.TgZ(0,"span",14),e.SDv(1,15),e.qZA()),2&n){e.oxw(2);const t=e.MAs(6);e.Q6J("ngbTooltip",t)}}function ys(n,_){if(1&n&&(e.SDv(0,16),e.ALo(1,"dimlessBinary")),2&n){const t=e.oxw().row;e.xp6(1),e.pQV(e.lcZ(1,1,t.disk_usage)),e.QtT(0)}}function xs(n,_){if(1&n&&(e.YNc(0,Gs,2,1,"span",12),e.YNc(1,ys,2,3,"ng-template",null,13,e.W1O)),2&n){const t=_.row,o=e.MAs(2);e.Q6J("ngIf",null===t.disk_usage&&!t.features_name.includes("fast-diff"))("ngIfElse",o)}}function ws(n,_){if(1&n&&(e.TgZ(0,"span",14),e.SDv(1,18),e.qZA()),2&n){e.oxw(2);const t=e.MAs(6);e.Q6J("ngbTooltip",t)}}function qs(n,_){if(1&n&&(e.SDv(0,19),e.ALo(1,"dimlessBinary")),2&n){const t=e.oxw().row;e.xp6(1),e.pQV(e.lcZ(1,1,t.total_disk_usage)),e.QtT(0)}}function Hs(n,_){if(1&n&&(e.YNc(0,ws,2,1,"span",12),e.YNc(1,qs,2,3,"ng-template",null,17,e.W1O)),2&n){const t=_.row,o=e.MAs(2);e.Q6J("ngIf",null===t.total_disk_usage&&!t.features_name.includes("fast-diff"))("ngIfElse",o)}}function Ks(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw(2).value;e.xp6(1),e.hij("/",t.pool_namespace,"")}}function ks(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.YNc(2,Ks,2,1,"span",20),e._uU(3),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t.pool_name),e.xp6(1),e.Q6J("ngIf",t.pool_namespace),e.xp6(1),e.AsE("/",t.image_name,"@",t.snap_name,"")}}function Xs(n,_){1&n&&(e.TgZ(0,"span"),e._uU(1,"-"),e.qZA())}function Qs(n,_){if(1&n&&(e.YNc(0,ks,4,4,"span",20),e.YNc(1,Xs,2,0,"span",20)),2&n){const t=_.value;e.Q6J("ngIf",t),e.xp6(1),e.Q6J("ngIf",!t)}}function zs(n,_){if(1&n&&(e._uU(0," You are about to flatten "),e.TgZ(1,"strong"),e._uU(2),e.qZA(),e._uU(3,". "),e._UZ(4,"br"),e._UZ(5,"br"),e._uU(6," All blocks will be copied from parent "),e.TgZ(7,"strong"),e._uU(8),e.qZA(),e._uU(9," to child "),e.TgZ(10,"strong"),e._uU(11),e.qZA(),e._uU(12,".\n")),2&n){const t=_.$implicit;e.xp6(2),e.Oqu(t.child),e.xp6(6),e.Oqu(t.parent),e.xp6(3),e.Oqu(t.child)}}function Js(n,_){if(1&n&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.xp6(1),e.Oqu(t)}}function Ys(n,_){if(1&n&&(e.ynx(0),e.TgZ(1,"span"),e.SDv(2,24),e.qZA(),e.TgZ(3,"ul"),e.YNc(4,Js,2,1,"li",25),e.qZA(),e.BQk()),2&n){const t=e.oxw(2).snapshots;e.xp6(4),e.Q6J("ngForOf",t)}}function Vs(n,_){if(1&n&&(e.TgZ(0,"div",22),e.TgZ(1,"span"),e.SDv(2,23),e.qZA(),e._UZ(3,"br"),e.YNc(4,Ys,5,1,"ng-container",20),e.qZA()),2&n){const t=e.oxw().snapshots;e.xp6(4),e.Q6J("ngIf",t.length>0)}}function Us(n,_){1&n&&e.YNc(0,Vs,5,1,"div",21),2&n&&e.Q6J("ngIf",_.hasSnapshots)}const js=function(n,_){return[n,_]};function Ws(n,_){if(1&n&&e._UZ(0,"i",27),2&n){const t=e.oxw(2);e.Q6J("ngClass",e.WLB(1,js,t.icons.spinner,t.icons.spin))}}function ea(n,_){if(1&n&&(e.TgZ(0,"span",27),e._uU(1),e.qZA()),2&n){const t=e.oxw(),o=t.column,i=t.row;e.Q6J("ngClass",null!=o&&null!=o.customTemplateConfig&&o.customTemplateConfig.executingClass?o.customTemplateConfig.executingClass:"text-muted italic"),e.xp6(1),e.hij(" (",i.cdExecuting,") ")}}function ta(n,_){if(1&n&&e._UZ(0,"i",29),2&n){const t=e.oxw(2);e.Gre("",t.icons.warning," warn")}}function oa(n,_){if(1&n&&(e.YNc(0,Ws,1,4,"i",26),e.TgZ(1,"span",27),e._uU(2),e.qZA(),e.YNc(3,ea,2,2,"span",26),e.YNc(4,ta,1,3,"i",28)),2&n){const t=_.column,o=_.value,i=_.row;e.Q6J("ngIf",i.cdExecuting),e.xp6(1),e.Q6J("ngClass",null==t||null==t.customTemplateConfig?null:t.customTemplateConfig.valueClass),e.xp6(1),e.hij(" ",o," "),e.xp6(1),e.Q6J("ngIf",i.cdExecuting),e.xp6(1),e.Q6J("ngIf",i.source&&"REMOVING"===i.source)}}let ia=(()=>{class n extends lt.o{constructor(t,o,i,s,a,d,c,u,S){super(),this.authStorageService=t,this.rbdService=o,this.dimlessBinaryPipe=i,this.dimlessPipe=s,this.modalService=a,this.taskWrapper=d,this.taskListService=c,this.urlBuilder=u,this.actionLabels=S,this.tableStatus=new U.E,this.selection=new Ee.r,this.icons=T.P,this.builders={"rbd/create":A=>this.createRbdFromTask(A.pool_name,A.namespace,A.image_name),"rbd/delete":A=>this.createRbdFromTaskImageSpec(A.image_spec),"rbd/clone":A=>this.createRbdFromTask(A.child_pool_name,A.child_namespace,A.child_image_name),"rbd/copy":A=>this.createRbdFromTask(A.dest_pool_name,A.dest_namespace,A.dest_image_name)},this.permission=this.authStorageService.getPermissions().rbdImage;const N=()=>this.selection.first()&&new Z.N(this.selection.first().pool_name,this.selection.first().namespace,this.selection.first().name).toStringEncoded();this.tableActions=[{permission:"create",icon:T.P.add,routerLink:()=>this.urlBuilder.getCreate(),canBePrimary:A=>!A.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:T.P.edit,routerLink:()=>this.urlBuilder.getEdit(N()),name:this.actionLabels.EDIT,disable:A=>this.getRemovingStatusDesc(A)||this.getInvalidNameDisable(A)},{permission:"create",canBePrimary:A=>A.hasSingleSelection,disable:A=>this.getRemovingStatusDesc(A)||this.getInvalidNameDisable(A)||!!A.first().cdExecuting,icon:T.P.copy,routerLink:()=>`/block/rbd/copy/${N()}`,name:this.actionLabels.COPY},{permission:"update",disable:A=>this.getRemovingStatusDesc(A)||this.getInvalidNameDisable(A)||A.first().cdExecuting||!A.first().parent,icon:T.P.flatten,click:()=>this.flattenRbdModal(),name:this.actionLabels.FLATTEN},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteRbdModal(),name:this.actionLabels.DELETE,disable:A=>this.getDeleteDisableDesc(A)},{permission:"delete",icon:T.P.trash,click:()=>this.trashRbdModal(),name:this.actionLabels.TRASH,disable:A=>this.getRemovingStatusDesc(A)||this.getInvalidNameDisable(A)||A.first().image_format===Pe.V1}]}createRbdFromTaskImageSpec(t){const o=Z.N.fromString(t);return this.createRbdFromTask(o.poolName,o.namespace,o.imageName)}createRbdFromTask(t,o,i){const s=new zi;return s.id="-1",s.unique_id="-1",s.name=i,s.namespace=o,s.pool_name=t,s.image_format=Pe.V2,s}ngOnInit(){this.columns=[{name:"Name",prop:"name",flexGrow:2,cellTemplate:this.removingStatTpl},{name:"Pool",prop:"pool_name",flexGrow:2},{name:"Namespace",prop:"namespace",flexGrow:2},{name:"Size",prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"Objects",prop:"num_objs",flexGrow:1,cellClass:"text-right",pipe:this.dimlessPipe},{name:"Object size",prop:"obj_size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"Provisioned",prop:"disk_usage",cellClass:"text-center",flexGrow:1,pipe:this.dimlessBinaryPipe,cellTemplate:this.provisionedNotAvailableTooltipTpl},{name:"Total provisioned",prop:"total_disk_usage",cellClass:"text-center",flexGrow:1,pipe:this.dimlessBinaryPipe,cellTemplate:this.totalProvisionedNotAvailableTooltipTpl},{name:"Parent",prop:"parent",flexGrow:2,cellTemplate:this.parentTpl}],this.taskListService.init(()=>this.rbdService.list(),i=>this.prepareResponse(i),i=>this.images=i,()=>this.onFetchError(),i=>["rbd/clone","rbd/copy","rbd/create","rbd/delete","rbd/edit","rbd/flatten","rbd/trash/move"].includes(i.name),(i,s)=>{let a;switch(s.name){case"rbd/copy":a=new Z.N(s.metadata.dest_pool_name,s.metadata.dest_namespace,s.metadata.dest_image_name).toString();break;case"rbd/clone":a=new Z.N(s.metadata.child_pool_name,s.metadata.child_namespace,s.metadata.child_image_name).toString();break;case"rbd/create":a=new Z.N(s.metadata.pool_name,s.metadata.namespace,s.metadata.image_name).toString();break;default:a=s.metadata.image_spec}return a===new Z.N(i.pool_name,i.namespace,i.name).toString()},this.builders)}onFetchError(){this.table.reset(),this.tableStatus=new U.E(ce.T.ValueException)}prepareResponse(t){let o=[];const i={};let s;if(t.forEach(a=>{C().isUndefined(i[a.status])&&(i[a.status]=[]),i[a.status].push(a.pool_name),o=o.concat(a.value)}),i[ce.T.ValueException]?s=ce.T.ValueException:i[ce.T.ValueStale]?s=ce.T.ValueStale:i[ce.T.ValueNone]&&(s=ce.T.ValueNone),s){const a=(i[s].length>1?"pools ":"pool ")+i[s].join();this.tableStatus=new U.E(s,a)}else this.tableStatus=new U.E;return o}updateSelection(t){this.selection=t}deleteRbdModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().name,s=new Z.N(t,o,i);this.modalRef=this.modalService.show(he.M,{itemDescription:"RBD",itemNames:[s],bodyTemplate:this.deleteTpl,bodyContext:{hasSnapshots:this.hasSnapshots(),snapshots:this.listProtectedSnapshots()},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/delete",{image_spec:s.toString()}),call:this.rbdService.delete(s)})})}trashRbdModal(){const t={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,hasSnapshots:this.hasSnapshots()};this.modalRef=this.modalService.show(J_,t)}flattenRbd(t){this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/flatten",{image_spec:t.toString()}),call:this.rbdService.flatten(t)}).subscribe({complete:()=>{this.modalRef.close()}})}flattenRbdModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().name,s=this.selection.first().parent,a=new Z.N(s.pool_name,s.pool_namespace,s.image_name),d=new Z.N(t,o,i),c={titleText:"RBD flatten",buttonText:"Flatten",bodyTpl:this.flattenTpl,bodyData:{parent:`${a}@${s.snap_name}`,child:d.toString()},onSubmit:()=>{this.flattenRbd(d)}};this.modalRef=this.modalService.show(ft.Y,c)}hasSnapshots(){return(this.selection.first().snapshots||[]).length>0}hasClonedSnapshots(t){return(t.snapshots||[]).some(i=>i.children&&i.children.length>0)}listProtectedSnapshots(){return this.selection.first().snapshots.reduce((i,s)=>(s.is_protected&&i.push(s.name),i),[])}getDeleteDisableDesc(t){const o=t.first();return o&&this.hasClonedSnapshots(o)?"This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.":this.getInvalidNameDisable(t)||this.hasClonedSnapshots(t.first())}getInvalidNameDisable(t){var o;const i=t.first();return(null===(o=null==i?void 0:i.name)||void 0===o?void 0:o.match(/[@/]/))?"This RBD image has an invalid name and can't be managed by ceph.":!t.first()||!t.hasSingleSelection}getRemovingStatusDesc(t){const o=t.first();return"REMOVING"===(null==o?void 0:o.source)&&"Action not possible for an RBD in status 'Removing'"}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(x),e.Y36(Fe.$),e.Y36(Ue.n),e.Y36(re.Z),e.Y36(Q.P),e.Y36(se.j),e.Y36(tt.F),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(ee.a,7),e.Gf(bs,5),e.Gf(Ns,7),e.Gf(Ds,5),e.Gf(vs,7),e.Gf(Ls,7),e.Gf(Fs,7),e.Gf($s,7),e.Gf(Zs,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first),e.iGM(i=e.CRH())&&(o.usageTpl=i.first),e.iGM(i=e.CRH())&&(o.parentTpl=i.first),e.iGM(i=e.CRH())&&(o.nameTpl=i.first),e.iGM(i=e.CRH())&&(o.flattenTpl=i.first),e.iGM(i=e.CRH())&&(o.deleteTpl=i.first),e.iGM(i=e.CRH())&&(o.removingStatTpl=i.first),e.iGM(i=e.CRH())&&(o.provisionedNotAvailableTooltipTpl=i.first),e.iGM(i=e.CRH())&&(o.totalProvisionedNotAvailableTooltipTpl=i.first)}},features:[e._Bn([se.j,{provide:tt.F,useValue:new tt.F("block/rbd")}]),e.qOj],decls:19,vars:10,consts:function(){let _,t,o,i,s,a,d;return _="N/A",t="" + "\ufffd0\ufffd" + "",o="N/A",i="" + "\ufffd0\ufffd" + "",s="Deleting this image will also delete all its snapshots.",a="The following snapshots are currently protected and will be removed:",d="RBD in status 'Removing'",[["columnMode","flex","identifier","unique_id","forceIdentifier","true","selectionType","single",3,"data","columns","searchableObjects","hasDetails","status","autoReload","fetchData","setExpandedRow","updateSelection"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["usageNotAvailableTooltipTpl",""],["provisionedNotAvailableTooltipTpl",""],["totalProvisionedNotAvailableTooltipTpl",""],["parentTpl",""],["flattenTpl",""],["deleteTpl",""],["removingStatTpl",""],[3,"innerHtml"],["placement","top",3,"ngbTooltip",4,"ngIf","ngIfElse"],["provisioned",""],["placement","top",3,"ngbTooltip"],_,t,["totalProvisioned",""],o,i,[4,"ngIf"],["class","alert alert-warning","role","alert",4,"ngIf"],["role","alert",1,"alert","alert-warning"],s,a,[4,"ngFor","ngForOf"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],["title",d,3,"class",4,"ngIf"],["title",d]]},template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0,1),e.NdJ("fetchData",function(){return o.taskListService.fetch()})("setExpandedRow",function(s){return o.setExpandedRow(s)})("updateSelection",function(s){return o.updateSelection(s)}),e._UZ(3,"cd-table-actions",2),e._UZ(4,"cd-rbd-details",3),e.qZA(),e.YNc(5,Bs,1,1,"ng-template",null,4,e.W1O),e.YNc(7,xs,3,2,"ng-template",null,5,e.W1O),e.YNc(9,Hs,3,2,"ng-template",null,6,e.W1O),e.YNc(11,Qs,2,2,"ng-template",null,7,e.W1O),e.YNc(13,zs,13,3,"ng-template",null,8,e.W1O),e.YNc(15,Us,1,1,"ng-template",null,9,e.W1O),e.YNc(17,oa,5,5,"ng-template",null,10,e.W1O)),2&t&&(e.xp6(1),e.Q6J("data",o.images)("columns",o.columns)("searchableObjects",!0)("hasDetails",!0)("status",o.tableStatus)("autoReload",-1),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions),e.xp6(1),e.Q6J("selection",o.expandedRow))},directives:[Qe,ee.a,Re.K,Is,l.O5,I._L,l.sg,l.mk],pipes:[Fe.$],styles:[".warn[_ngcontent-%COMP%]{color:#ffc200}"]}),n})();function _a(n,_){1&n&&e._UZ(0,"input",19)}function sa(n,_){1&n&&(e.TgZ(0,"option",23),e.SDv(1,24),e.qZA()),2&n&&e.Q6J("ngValue",null)}function aa(n,_){1&n&&(e.TgZ(0,"option",23),e.SDv(1,25),e.qZA()),2&n&&e.Q6J("ngValue",null)}function ra(n,_){1&n&&(e.TgZ(0,"option",23),e.SDv(1,26),e.qZA()),2&n&&e.Q6J("ngValue",null)}function la(n,_){if(1&n&&(e.TgZ(0,"option",27),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function ca(n,_){if(1&n&&(e.TgZ(0,"select",20),e.YNc(1,sa,2,1,"option",21),e.YNc(2,aa,2,1,"option",21),e.YNc(3,ra,2,1,"option",21),e.YNc(4,la,2,2,"option",22),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.pools)}}function da(n,_){1&n&&(e.TgZ(0,"span",28),e.SDv(1,29),e.qZA())}function pa(n,_){1&n&&(e.TgZ(0,"span",28),e.SDv(1,30),e.qZA())}function ga(n,_){1&n&&(e.TgZ(0,"span",28),e.SDv(1,31),e.qZA())}let ua=(()=>{class n{constructor(t,o,i,s,a,d){this.activeModal=t,this.actionLabels=o,this.authStorageService=i,this.notificationService=s,this.poolService=a,this.rbdService=d,this.pools=null,this.editing=!1,this.poolPermission=this.authStorageService.getPermissions().pool,this.createForm()}createForm(){this.namespaceForm=new M.d({pool:new r.NI(""),namespace:new r.NI("")},this.validator(),this.asyncValidator())}validator(){return t=>{const o=t.get("pool"),i=t.get("namespace");let s=null;o.value||(s={required:!0}),o.setErrors(s);let a=null;return i.value||(a={required:!0}),i.setErrors(a),null}}asyncValidator(){return t=>new Promise(o=>{const i=t.get("pool"),s=t.get("namespace");this.rbdService.listNamespaces(i.value).subscribe(a=>{if(a.some(d=>d.namespace===s.value)){const d={namespaceExists:!0};s.setErrors(d),o(d)}else o(null)})})}ngOnInit(){this.onSubmit=new Et.xQ,this.poolPermission.read&&this.poolService.list(["pool_name","type","application_metadata"]).then(t=>{const o=[];for(const i of t)this.rbdService.isRBDPool(i)&&"replicated"===i.type&&o.push(i);if(this.pools=o,1===this.pools.length){const i=this.pools[0].pool_name;this.namespaceForm.get("pool").setValue(i)}})}submit(){const t=this.namespaceForm.getValue("pool"),o=this.namespaceForm.getValue("namespace"),i=new F.R;i.name="rbd/namespace/create",i.metadata={pool:t,namespace:o},this.rbdService.createNamespace(t,o).toPromise().then(()=>{this.notificationService.show(Ve.k.success,"Created namespace '" + t + "/" + o + "'"),this.activeModal.close(),this.onSubmit.next()}).catch(()=>{this.namespaceForm.setErrors({cdSubmitButton:!0})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(oe.j),e.Y36(Le.g),e.Y36(Ke.q),e.Y36(x))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-namespace-form-modal"]],decls:23,vars:9,consts:function(){let _,t,o,i,s,a,d,c,u;return _="Create Namespace",t="Pool",o="Name",i="Loading...",s="-- No rbd pools available --",a="-- Select a pool --",d="This field is required.",c="This field is required.",u="Namespace already exists.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","namespaceForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","pool",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["class","form-control","type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",4,"ngIf"],["id","pool","name","pool","class","form-control custom-select","formControlName","pool",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["for","namespace",1,"cd-col-form-label","required"],o,["type","text","placeholder","Namespace name...","id","namespace","name","namespace","formControlName","namespace","autofocus","",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",1,"form-control"],["id","pool","name","pool","formControlName","pool",1,"form-control","custom-select"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],[3,"ngValue"],i,s,a,[3,"value"],[1,"invalid-feedback"],d,c,u]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"div",7),e.TgZ(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e.YNc(11,_a,1,0,"input",11),e.YNc(12,ca,5,4,"select",12),e.YNc(13,da,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(14,"div",7),e.TgZ(15,"label",14),e.SDv(16,15),e.qZA(),e.TgZ(17,"div",10),e._UZ(18,"input",16),e.YNc(19,pa,2,0,"span",13),e.YNc(20,ga,2,0,"span",13),e.qZA(),e.qZA(),e.qZA(),e.TgZ(21,"div",17),e.TgZ(22,"cd-form-button-panel",18),e.NdJ("submitActionEvent",function(){return o.submit()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.namespaceForm),e.xp6(7),e.Q6J("ngIf",!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.namespaceForm.showError("pool",i,"required")),e.xp6(6),e.Q6J("ngIf",o.namespaceForm.showError("namespace",i,"required")),e.xp6(1),e.Q6J("ngIf",o.namespaceForm.showError("namespace",i,"namespaceExists")),e.xp6(2),e.Q6J("form",o.namespaceForm)("submitText",o.actionLabels.CREATE)}},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,l.O5,f.o,r.Fj,h.b,r.JJ,r.u,le.U,O.p,r.EJ,l.sg,r.YN,r.Kr],styles:[""]}),n})(),ma=(()=>{class n{constructor(t,o,i,s,a,d){this.authStorageService=t,this.rbdService=o,this.poolService=i,this.modalService=s,this.notificationService=a,this.actionLabels=d,this.selection=new Ee.r,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"create",icon:T.P.add,click:()=>this.createModal(),name:this.actionLabels.CREATE},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE,disable:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:"Namespace",prop:"namespace",flexGrow:1},{name:"Pool",prop:"pool",flexGrow:1},{name:"Total images",prop:"num_images",flexGrow:1}],this.refresh()}refresh(){this.poolService.list(["pool_name","type","application_metadata"]).then(t=>{t=t.filter(i=>this.rbdService.isRBDPool(i)&&"replicated"===i.type);const o=[];t.forEach(i=>{o.push(this.rbdService.listNamespaces(i.pool_name))}),o.length>0?(0,W.D)(o).subscribe(i=>{const s=[];for(let a=0;a<i.length;a++){const c=t[a].pool_name;i[a].forEach(u=>{s.push({id:`${c}/${u.namespace}`,pool:c,namespace:u.namespace,num_images:u.num_images})})}this.namespaces=s}):this.namespaces=[]})}updateSelection(t){this.selection=t}createModal(){this.modalRef=this.modalService.show(ua),this.modalRef.componentInstance.onSubmit.subscribe(()=>{this.refresh()})}deleteModal(){const t=this.selection.first().pool,o=this.selection.first().namespace;this.modalRef=this.modalService.show(he.M,{itemDescription:"Namespace",itemNames:[`${t}/${o}`],submitAction:()=>this.rbdService.deleteNamespace(t,o).subscribe(()=>{this.notificationService.show(Ve.k.success,"Deleted namespace '" + t + "/" + o + "'"),this.modalRef.close(),this.refresh()},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})})}getDeleteDisableDesc(){var t;const o=this.selection.first();return(null==o?void 0:o.num_images)>0?"Namespace contains images":!(null===(t=this.selection)||void 0===t?void 0:t.first())}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(x),e.Y36(Ke.q),e.Y36(re.Z),e.Y36(Le.g),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-namespace-list"]],features:[e._Bn([se.j])],decls:4,vars:5,consts:[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","fetchData","updateSelection"],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"]],template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()})("updateSelection",function(s){return o.updateSelection(s)}),e.TgZ(2,"div",1),e._UZ(3,"cd-table-actions",2),e.qZA(),e.qZA()),2&t&&(e.xp6(1),e.Q6J("data",o.namespaces)("columns",o.columns),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},directives:[Qe,ee.a,Re.K],styles:[""]}),n})(),Ta=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-performance"]],decls:2,vars:1,consts:[["uid","41FrpeUiz","grafanaStyle","two",3,"grafanaPath"]],template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e._UZ(1,"cd-grafana",0)),2&t&&(e.xp6(1),e.Q6J("grafanaPath","rbd-overview?"))},directives:[Qe,Rt.F],styles:[""]}),n})();function fa(n,_){1&n&&e._UZ(0,"input",15)}function Ca(n,_){if(1&n&&(e.TgZ(0,"option",20),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function Sa(n,_){if(1&n&&(e.TgZ(0,"select",16),e.TgZ(1,"option",17),e.SDv(2,18),e.qZA(),e.YNc(3,Ca,2,2,"option",19),e.qZA()),2&n){const t=e.oxw();e.xp6(3),e.Q6J("ngForOf",t.pools)}}let Ea=(()=>{class n{constructor(t,o,i,s,a,d,c){this.authStorageService=t,this.rbdService=o,this.activeModal=i,this.actionLabels=s,this.fb=a,this.poolService=d,this.taskWrapper=c,this.poolPermission=this.authStorageService.getPermissions().pool}createForm(){this.purgeForm=this.fb.group({poolName:""})}ngOnInit(){this.poolPermission.read&&this.poolService.list(["pool_name","application_metadata"]).then(t=>{this.pools=t.filter(o=>o.application_metadata.includes("rbd")).map(o=>o.pool_name)}),this.createForm()}purge(){const t=this.purgeForm.getValue("poolName")||"";this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/trash/purge",{pool_name:t}),call:this.rbdService.purgeTrash(t)}).subscribe({error:()=>{this.purgeForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(x),e.Y36(I.Kz),e.Y36(D.p4),e.Y36(ot.O),e.Y36(Ke.q),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-purge-modal"]],decls:18,vars:6,consts:function(){let _,t,o,i,s;return _="Purge Trash",t="To purge, select\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "All" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + "\xA0 or one pool and click\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "Purge" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ".\xA0",t=e.Zx4(t),o="Pool:",i="Pool name...",s="All",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","purgeForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],[1,"col-form-label","mx-auto"],o,["class","form-control","type","text","placeholder",i,"formControlName","poolName",4,"ngIf"],["id","poolName","name","poolName","class","form-control custom-select","formControlName","poolName",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["type","text","placeholder",i,"formControlName","poolName",1,"form-control"],["id","poolName","name","poolName","formControlName","poolName",1,"form-control","custom-select"],["value",""],s,[3,"value",4,"ngFor","ngForOf"],[3,"value"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.tHW(8,7),e._UZ(9,"kbd"),e._UZ(10,"kbd"),e.N_p(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e.YNc(14,fa,1,0,"input",11),e.YNc(15,Sa,4,1,"select",12),e.qZA(),e.qZA(),e.TgZ(16,"div",13),e.TgZ(17,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return o.purge()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.purgeForm),e.xp6(10),e.Q6J("ngIf",!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.poolPermission.read),e.xp6(2),e.Q6J("form",o.purgeForm)("submitText",o.actionLabels.PURGE))},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,l.O5,O.p,f.o,r.Fj,h.b,r.JJ,r.u,r.EJ,r.YN,r.Kr,l.sg],styles:[""]}),n})();function Ra(n,_){1&n&&(e.TgZ(0,"span",15),e.SDv(1,16),e.qZA())}let Ma=(()=>{class n{constructor(t,o,i,s,a){this.rbdService=t,this.activeModal=o,this.actionLabels=i,this.fb=s,this.taskWrapper=a}ngOnInit(){this.imageSpec=new Z.N(this.poolName,this.namespace,this.imageName).toString(),this.restoreForm=this.fb.group({name:this.imageName})}restore(){const t=this.restoreForm.getValue("name"),o=new Z.N(this.poolName,this.namespace,this.imageId);this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/trash/restore",{image_id_spec:o.toString(),new_image_name:t}),call:this.rbdService.restoreTrash(o,t)}).subscribe({error:()=>{this.restoreForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x),e.Y36(I.Kz),e.Y36(D.p4),e.Y36(ot.O),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-restore-modal"]],decls:18,vars:7,consts:function(){let _,t,o,i;return _="Restore Image",t="To restore\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "" + "\ufffd0\ufffd" + "@" + "\ufffd1\ufffd" + "" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ",\xA0 type the image's new name and click\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "Restore" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ".",t=e.Zx4(t),o="New Name",i="This field is required.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","restoreForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","name",1,"col-form-label"],o,["type","text","name","name","id","name","autocomplete","off","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],i]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.tHW(8,7),e._UZ(9,"kbd"),e._UZ(10,"kbd"),e.N_p(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,Ra,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(16,"div",13),e.TgZ(17,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return o.restore()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.restoreForm),e.xp6(6),e.pQV(o.imageSpec)(o.imageId),e.QtT(8),e.xp6(5),e.Q6J("ngIf",o.restoreForm.showError("name",i,"required")),e.xp6(2),e.Q6J("form",o.restoreForm)("submitText",o.actionLabels.RESTORE)}},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,O.p],styles:[""]}),n})();const Oa=["expiresTpl"],Aa=["deleteTpl"],ha=function(n){return[n]};function Pa(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"button",6),e.NdJ("click",function(){return e.CHM(t),e.oxw().purgeModal()}),e._UZ(1,"i",7),e.ynx(2),e.SDv(3,8),e.BQk(),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("disabled",t.disablePurgeBtn),e.xp6(1),e.Q6J("ngClass",e.VKq(2,ha,t.icons.destroy))}}function Ia(n,_){1&n&&(e.ynx(0),e.SDv(1,10),e.BQk())}function ba(n,_){1&n&&(e.ynx(0),e.SDv(1,11),e.BQk())}function Na(n,_){if(1&n&&(e.YNc(0,Ia,2,0,"ng-container",9),e.YNc(1,ba,2,0,"ng-container",9),e._uU(2),e.ALo(3,"cdDate")),2&n){const t=_.row,o=_.value;e.Q6J("ngIf",t.cdIsExpired),e.xp6(1),e.Q6J("ngIf",!t.cdIsExpired),e.xp6(1),e.hij(" ",e.lcZ(3,3,o),"\n")}}function Da(n,_){if(1&n&&(e.TgZ(0,"p",13),e.TgZ(1,"strong"),e.ynx(2),e.SDv(3,14),e.ALo(4,"cdDate"),e.BQk(),e.qZA(),e.qZA()),2&n){const t=e.oxw().expiresAt;e.xp6(4),e.pQV(e.lcZ(4,1,t)),e.QtT(3)}}function va(n,_){1&n&&e.YNc(0,Da,5,3,"p",12),2&n&&e.Q6J("ngIf",!_.isExpired)}let La=(()=>{class n{constructor(t,o,i,s,a,d,c){this.authStorageService=t,this.rbdService=o,this.modalService=i,this.cdDatePipe=s,this.taskListService=a,this.taskWrapper=d,this.actionLabels=c,this.icons=T.P,this.executingTasks=[],this.selection=new Ee.r,this.tableStatus=new U.E,this.disablePurgeBtn=!0,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"update",icon:T.P.undo,click:()=>this.restoreModal(),name:this.actionLabels.RESTORE},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"ID",prop:"id",flexGrow:1,cellTransformation:ve.e.executing},{name:"Name",prop:"name",flexGrow:1},{name:"Pool",prop:"pool_name",flexGrow:1},{name:"Namespace",prop:"namespace",flexGrow:1},{name:"Status",prop:"deferment_end_time",flexGrow:1,cellTemplate:this.expiresTpl},{name:"Deleted At",prop:"deletion_time",flexGrow:1,pipe:this.cdDatePipe}],this.taskListService.init(()=>this.rbdService.listTrash(),i=>this.prepareResponse(i),i=>this.images=i,()=>this.onFetchError(),i=>["rbd/trash/remove","rbd/trash/restore"].includes(i.name),(i,s)=>new Z.N(i.pool_name,i.namespace,i.id).toString()===s.metadata.image_id_spec,void 0)}prepareResponse(t){let o=[];const i={};let s;if(t.forEach(a=>{C().isUndefined(i[a.status])&&(i[a.status]=[]),i[a.status].push(a.pool_name),o=o.concat(a.value),this.disablePurgeBtn=!o.length}),i[3]?s=3:i[1]?s=1:i[2]&&(s=2),s){const a=(i[s].length>1?"pools ":"pool ")+i[s].join();this.tableStatus=new U.E(s,a)}else this.tableStatus=new U.E;return o.forEach(a=>{a.cdIsExpired=Me()().isAfter(a.deferment_end_time)}),o}onFetchError(){this.table.reset(),this.tableStatus=new U.E(ce.T.ValueException)}updateSelection(t){this.selection=t}restoreModal(){const t={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,imageId:this.selection.first().id};this.modalRef=this.modalService.show(Ma,t)}deleteModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().id,s=this.selection.first().deferment_end_time,a=Me()().isAfter(s),d=new Z.N(t,o,i);this.modalRef=this.modalService.show(he.M,{itemDescription:"RBD",itemNames:[d],bodyTemplate:this.deleteTpl,bodyContext:{expiresAt:s,isExpired:a},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/trash/remove",{image_id_spec:d.toString()}),call:this.rbdService.removeTrash(d,!0)})})}purgeModal(){this.modalService.show(Ea)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(x),e.Y36(re.Z),e.Y36(ze.N),e.Y36(se.j),e.Y36(Q.P),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(ee.a,7),e.Gf(Oa,7),e.Gf(Aa,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first),e.iGM(i=e.CRH())&&(o.expiresTpl=i.first),e.iGM(i=e.CRH())&&(o.deleteTpl=i.first)}},features:[e._Bn([se.j])],decls:9,vars:8,consts:function(){let _,t,o,i;return _="Purge Trash",t="Expired at",o="Protected until",i="This image is protected until " + "\ufffd0\ufffd" + ".",[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","status","autoReload","fetchData","updateSelection"],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"],["class","btn btn-light","type","button",3,"disabled","click",4,"ngIf"],["expiresTpl",""],["deleteTpl",""],["type","button",1,"btn","btn-light",3,"disabled","click"],["aria-hidden","true",3,"ngClass"],_,[4,"ngIf"],t,o,["class","text-danger",4,"ngIf"],[1,"text-danger"],i]},template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0),e.NdJ("fetchData",function(){return o.taskListService.fetch()})("updateSelection",function(s){return o.updateSelection(s)}),e.TgZ(2,"div",1),e._UZ(3,"cd-table-actions",2),e.YNc(4,Pa,4,4,"button",3),e.qZA(),e.qZA(),e.YNc(5,Na,4,5,"ng-template",null,4,e.W1O),e.YNc(7,va,1,1,"ng-template",null,5,e.W1O)),2&t&&(e.xp6(1),e.Q6J("data",o.images)("columns",o.columns)("status",o.tableStatus)("autoReload",-1),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions),e.xp6(1),e.Q6J("ngIf",o.permission.delete))},directives:[Qe,ee.a,Re.K,l.O5,f.o,l.mk],pipes:[ze.N],styles:[""]}),n})(),Mt=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[[l.ez,Jn,r.u5,r.UX,I.Oz,I.dT,I.HK,Ie.b,_e.m,m.Bz,ne.xc]]}),n})();const Fa=[{path:"",redirectTo:"rbd",pathMatch:"full"},{path:"rbd",canActivate:[j.T],data:{breadcrumbs:"Images"},children:[{path:"",component:ia},{path:"namespaces",component:ma,data:{breadcrumbs:"Namespaces"}},{path:"trash",component:La,data:{breadcrumbs:"Trash"}},{path:"performance",component:Ta,data:{breadcrumbs:"Overall Performance"}},{path:D.MQ.CREATE,component:$e,data:{breadcrumbs:D.Qn.CREATE}},{path:`${D.MQ.EDIT}/:image_spec`,component:$e,data:{breadcrumbs:D.Qn.EDIT}},{path:`${D.MQ.CLONE}/:image_spec/:snap`,component:$e,data:{breadcrumbs:D.Qn.CLONE}},{path:`${D.MQ.COPY}/:image_spec`,component:$e,data:{breadcrumbs:D.Qn.COPY}},{path:`${D.MQ.COPY}/:image_spec/:snap`,component:$e,data:{breadcrumbs:D.Qn.COPY}}]},{path:"mirroring",component:Ki,canActivate:[j.T],data:{breadcrumbs:"Mirroring"}},{path:"iscsi",canActivate:[j.T],data:{breadcrumbs:"iSCSI"},children:[{path:"",redirectTo:"overview",pathMatch:"full"},{path:"overview",component:zn,data:{breadcrumbs:"Overview"}},{path:"targets",data:{breadcrumbs:"Targets"},children:[{path:"",component:Ln},{path:D.MQ.CREATE,component:rt,data:{breadcrumbs:D.Qn.CREATE}},{path:`${D.MQ.EDIT}/:target_iqn`,component:rt,data:{breadcrumbs:D.Qn.EDIT}}]}]}];let $a=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[[Mt,m.Bz.forChild(Fa)]]}),n})()},54555:(it,Oe,p)=>{p.d(Oe,{d:()=>Q});var l=p(74788),r=p(24751),m=p(23815),ne=p.n(m),I=p(80226),Ie=p(65862),D=p(95463),j=p(30633),_e=p(28211),be=p(34089),C=p(41582),W=p(12057),b=p(56310),ie=p(18372),Y=p(87925),e=p(94276);let k=(()=>{class R{constructor(g,f){this.control=g,this.formatter=f}setValue(g){const f=this.formatter.toMilliseconds(g);this.control.control.setValue(`${f} ms`)}ngOnInit(){this.setValue(this.control.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.control.value))}onUpdate(g){this.setValue(g)}}return R.\u0275fac=function(g){return new(g||R)(l.Y36(r.a5),l.Y36(_e.H))},R.\u0275dir=l.lG2({type:R,selectors:[["","cdMilliseconds",""]],hostBindings:function(g,f){1&g&&l.NdJ("blur",function(O){return f.onUpdate(O.target.value)})},inputs:{ngDataReady:"ngDataReady"}}),R})();var Ne=p(20044);let Z=(()=>{class R{constructor(g,f,h,O){this.elementRef=g,this.control=f,this.dimlessBinaryPerSecondPipe=h,this.formatter=O,this.ngModelChange=new l.vpe,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.el.value))}setValue(g){/^[\d.]+$/.test(g)&&(g+=this.defaultUnit||"m");const f=this.formatter.toBytes(g,0),h=this.round(f);this.el.value=this.dimlessBinaryPerSecondPipe.transform(h),null!==f?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(g){if(null!==g&&0!==g){if(!ne().isUndefined(this.minBytes)&&g<this.minBytes)return this.minBytes;if(!ne().isUndefined(this.maxBytes)&&g>this.maxBytes)return this.maxBytes;if(!ne().isUndefined(this.roundPower)){const f=Math.round(Math.log(g)/Math.log(this.roundPower));return Math.pow(this.roundPower,f)}}return g}onBlur(g){this.setValue(g)}}return R.\u0275fac=function(g){return new(g||R)(l.Y36(l.SBq),l.Y36(r.a5),l.Y36(Ne.O),l.Y36(_e.H))},R.\u0275dir=l.lG2({type:R,selectors:[["","cdDimlessBinaryPerSecond",""]],hostBindings:function(g,f){1&g&&l.NdJ("blur",function(O){return f.onBlur(O.target.value)})},inputs:{ngDataReady:"ngDataReady",minBytes:"minBytes",maxBytes:"maxBytes",roundPower:"roundPower",defaultUnit:"defaultUnit"},outputs:{ngModelChange:"ngModelChange"}}),R})(),Ae=(()=>{class R{constructor(g,f){this.formatter=g,this.ngControl=f}setValue(g){const f=this.formatter.toIops(g);this.ngControl.control.setValue(`${f} IOPS`)}ngOnInit(){this.setValue(this.ngControl.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.ngControl.value))}onUpdate(g){this.setValue(g)}}return R.\u0275fac=function(g){return new(g||R)(l.Y36(_e.H),l.Y36(r.a5))},R.\u0275dir=l.lG2({type:R,selectors:[["","cdIops",""]],hostBindings:function(g,f){1&g&&l.NdJ("blur",function(O){return f.onUpdate(O.target.value)})},inputs:{ngDataReady:"ngDataReady"}}),R})();function x(R,v){if(1&R&&(l.ynx(0),l._UZ(1,"input",18),l.BQk()),2&R){const g=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",g.name)("name",g.name)("formControlName",g.name)("ngDataReady",f.ngDataReady)}}function ae(R,v){if(1&R&&(l.ynx(0),l._UZ(1,"input",19),l.BQk()),2&R){const g=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",g.name)("name",g.name)("formControlName",g.name)("ngDataReady",f.ngDataReady)}}function V(R,v){if(1&R&&(l.ynx(0),l._UZ(1,"input",20),l.BQk()),2&R){const g=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",g.name)("name",g.name)("formControlName",g.name)("ngDataReady",f.ngDataReady)}}function T(R,v){1&R&&(l.TgZ(0,"span",21),l.SDv(1,22),l.qZA())}const q=function(R){return{active:R}},M=function(R){return[R]};function B(R,v){if(1&R){const g=l.EpF();l.TgZ(0,"div",10),l.TgZ(1,"label",11),l._uU(2),l.TgZ(3,"cd-helper"),l._uU(4),l.qZA(),l.qZA(),l.TgZ(5,"div"),l.TgZ(6,"div",12),l.ynx(7,13),l.YNc(8,x,2,4,"ng-container",14),l.YNc(9,ae,2,4,"ng-container",14),l.YNc(10,V,2,4,"ng-container",14),l.BQk(),l.TgZ(11,"span",15),l.TgZ(12,"button",16),l.NdJ("click",function(){const O=l.CHM(g).$implicit;return l.oxw(2).reset(O.name)}),l._UZ(13,"i",7),l.qZA(),l.qZA(),l.qZA(),l.YNc(14,T,2,0,"span",17),l.qZA(),l.qZA()}if(2&R){const g=v.$implicit,f=l.oxw().$implicit,h=l.oxw(),O=l.MAs(1);l.xp6(1),l.Q6J("for",g.name),l.xp6(1),l.Oqu(g.displayName),l.xp6(2),l.Oqu(g.description),l.xp6(1),l.Gre("cd-col-form-input ",f.heading,""),l.xp6(2),l.Q6J("ngSwitch",g.type),l.xp6(1),l.Q6J("ngSwitchCase",h.configurationType.milliseconds),l.xp6(1),l.Q6J("ngSwitchCase",h.configurationType.bps),l.xp6(1),l.Q6J("ngSwitchCase",h.configurationType.iops),l.xp6(2),l.Q6J("ngClass",l.VKq(13,q,h.isDisabled(g.name))),l.xp6(1),l.Q6J("ngClass",l.VKq(15,M,h.icons.erase)),l.xp6(1),l.Q6J("ngIf",h.form.showError("configuration."+g.name,O,"min"))}}function F(R,v){if(1&R){const g=l.EpF();l.TgZ(0,"div",4),l.TgZ(1,"h4",5),l.TgZ(2,"span",6),l.NdJ("click",function(){const O=l.CHM(g).$implicit;return l.oxw().toggleSectionVisibility(O.class)}),l._uU(3),l._UZ(4,"i",7),l.qZA(),l.qZA(),l.TgZ(5,"div",8),l.YNc(6,B,15,17,"div",9),l.qZA(),l.qZA()}if(2&R){const g=v.$implicit,f=l.oxw();l.xp6(3),l.hij(" ",g.heading," "),l.xp6(1),l.Q6J("ngClass",f.sectionVisibility[g.class]?f.icons.minusCircle:f.icons.addCircle),l.xp6(1),l.Tol(g.class),l.Q6J("hidden",!f.sectionVisibility[g.class]),l.xp6(1),l.Q6J("ngForOf",g.options)}}let Q=(()=>{class R{constructor(g,f){this.formatterService=g,this.rbdConfigurationService=f,this.initializeData=new I.t(1),this.changes=new l.vpe,this.icons=Ie.P,this.ngDataReady=new l.vpe,this.configurationType=j.r,this.sectionVisibility={}}ngOnInit(){const g=this.createConfigurationFormGroup();this.form.addControl("configuration",g),g.valueChanges.subscribe(()=>{this.changes.emit(this.getDirtyValues.bind(this))}),this.initializeData&&this.initializeData.subscribe(f=>{this.initialData=f.initialData;const h=f.sourceType;this.rbdConfigurationService.getWritableOptionFields().forEach(O=>{const H=f.initialData.filter(De=>De.name===O.name).pop();H&&H.source===h&&this.form.get(`configuration.${O.name}`).setValue(H.value)}),this.ngDataReady.emit()}),this.rbdConfigurationService.getWritableSections().forEach(f=>this.sectionVisibility[f.class]=!1)}getDirtyValues(g=!1,f){if(g&&!f)throw new Error("ProgrammingError: If local values shall be included, a proper localFieldType argument has to be provided, too");const h={};return this.rbdConfigurationService.getWritableOptionFields().forEach(O=>{const H=this.form.get("configuration").get(O.name);this.initialData&&this.initialData[O.name]===H.value||(H.dirty||g&&H.source===f)&&(h[O.name]=null===H.value?H.value:O.type===j.r.bps?this.formatterService.toBytes(H.value):O.type===j.r.milliseconds?this.formatterService.toMilliseconds(H.value):O.type===j.r.iops?this.formatterService.toIops(H.value):H.value)}),h}createConfigurationFormGroup(){const g=new D.d({});return this.rbdConfigurationService.getWritableOptionFields().forEach(f=>{let h;if(f.type!==j.r.milliseconds&&f.type!==j.r.iops&&f.type!==j.r.bps)throw new Error(`Type ${f.type} is unknown, you may need to add it to RbdConfiguration class`);{let O=0;ne().forEach(this.initialData,H=>{H.name===f.name&&(O=H.value)}),h=new r.NI(O,r.kI.min(0))}g.addControl(f.name,h)}),g}reset(g){const f=this.form.get("configuration").get(g);f.disabled?(f.setValue(f.previousValue||0),f.enable(),f.previousValue||f.markAsPristine()):(f.previousValue=f.value,f.setValue(null),f.markAsDirty(),f.disable())}isDisabled(g){return this.form.get("configuration").get(g).disabled}toggleSectionVisibility(g){this.sectionVisibility[g]=!this.sectionVisibility[g]}}return R.\u0275fac=function(g){return new(g||R)(l.Y36(_e.H),l.Y36(be.n))},R.\u0275cmp=l.Xpm({type:R,selectors:[["cd-rbd-configuration-form"]],inputs:{form:"form",initializeData:"initializeData"},outputs:{changes:"changes"},decls:5,vars:2,consts:function(){let v,g,f;return v="RBD Configuration",g="Remove the local configuration value. The parent configuration value will be inherited and used instead.",f="The minimum value is 0",[[3,"formGroup"],["cfgFormGroup",""],v,["class","col-12",4,"ngFor","ngForOf"],[1,"col-12"],[1,"cd-header"],[1,"collapsible",3,"click"],["aria-hidden","true",3,"ngClass"],[3,"hidden"],["class","form-group row",4,"ngFor","ngForOf"],[1,"form-group","row"],[1,"cd-col-form-label",3,"for"],[1,"input-group"],[3,"ngSwitch"],[4,"ngSwitchCase"],[1,"input-group-append"],["type","button","data-toggle","button","title",g,1,"btn","btn-light",3,"ngClass","click"],["class","invalid-feedback",4,"ngIf"],["type","text","cdMilliseconds","",1,"form-control",3,"id","name","formControlName","ngDataReady"],["type","text","defaultUnit","b","cdDimlessBinaryPerSecond","",1,"form-control",3,"id","name","formControlName","ngDataReady"],["type","text","cdIops","",1,"form-control",3,"id","name","formControlName","ngDataReady"],[1,"invalid-feedback"],f]},template:function(g,f){1&g&&(l.TgZ(0,"fieldset",0,1),l.TgZ(2,"legend"),l.SDv(3,2),l.qZA(),l.YNc(4,F,7,7,"div",3),l.qZA()),2&g&&(l.Q6J("formGroup",f.form.get("configuration")),l.xp6(4),l.Q6J("ngForOf",f.rbdConfigurationService.sections))},directives:[r.JL,r.sg,C.V,W.sg,W.mk,b.P,ie.S,W.RF,W.n9,Y.o,W.O5,r.Fj,e.b,k,r.JJ,r.u,Z,Ae],styles:[".collapsible[_ngcontent-%COMP%]{cursor:pointer;user-select:none}"]}),R})()},71752:(it,Oe,p)=>{p.d(Oe,{P:()=>V});var l=p(64337),r=p(30633),m=p(74788);let ne=(()=>{class T{transform(M){return{0:"global",1:"pool",2:"image"}[M]}}return T.\u0275fac=function(M){return new(M||T)},T.\u0275pipe=m.Yjl({name:"rbdConfigurationSource",type:T,pure:!0}),T})();var I=p(28211),Ie=p(34089),D=p(12057),j=p(20044),_e=p(48537),be=p(21766);const C=["configurationSourceTpl"],W=["configurationValueTpl"],b=["poolConfTable"];function ie(T,q){1&T&&(m.TgZ(0,"span"),m.SDv(1,6),m.qZA())}function Y(T,q){1&T&&(m.TgZ(0,"strong"),m.SDv(1,7),m.qZA())}function e(T,q){1&T&&(m.TgZ(0,"strong"),m.SDv(1,8),m.qZA())}function k(T,q){1&T&&(m.TgZ(0,"div",4),m.YNc(1,ie,2,0,"span",5),m.YNc(2,Y,2,0,"strong",5),m.YNc(3,e,2,0,"strong",5),m.qZA()),2&T&&(m.Q6J("ngSwitch",q.value),m.xp6(1),m.Q6J("ngSwitchCase","global"),m.xp6(1),m.Q6J("ngSwitchCase","image"),m.xp6(1),m.Q6J("ngSwitchCase","pool"))}function Ne(T,q){if(1&T&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"dimlessBinaryPerSecond"),m.qZA()),2&T){const M=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,M))}}function Z(T,q){if(1&T&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"milliseconds"),m.qZA()),2&T){const M=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,M))}}function Ae(T,q){if(1&T&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"iops"),m.qZA()),2&T){const M=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,M))}}function x(T,q){if(1&T&&(m.TgZ(0,"span"),m._uU(1),m.qZA()),2&T){const M=m.oxw().value;m.xp6(1),m.Oqu(M)}}function ae(T,q){if(1&T&&(m.TgZ(0,"div",4),m.YNc(1,Ne,3,3,"span",5),m.YNc(2,Z,3,3,"span",5),m.YNc(3,Ae,3,3,"span",5),m.YNc(4,x,2,1,"span",9),m.qZA()),2&T){const M=q.row,B=m.oxw();m.Q6J("ngSwitch",M.type),m.xp6(1),m.Q6J("ngSwitchCase",B.typeField.bps),m.xp6(1),m.Q6J("ngSwitchCase",B.typeField.milliseconds),m.xp6(1),m.Q6J("ngSwitchCase",B.typeField.iops)}}let V=(()=>{class T{constructor(M,B){this.formatterService=M,this.rbdConfigurationService=B,this.sourceField=r.h,this.typeField=r.r}ngOnInit(){this.poolConfigurationColumns=[{prop:"displayName",name:"Name"},{prop:"description",name:"Description"},{prop:"name",name:"Key"},{prop:"source",name:"Source",cellTemplate:this.configurationSourceTpl,pipe:new ne},{prop:"value",name:"Value",cellTemplate:this.configurationValueTpl}]}ngOnChanges(){!this.data||(this.data=this.data.filter(M=>this.rbdConfigurationService.getOptionFields().map(B=>B.name).includes(M.name)))}}return T.\u0275fac=function(M){return new(M||T)(m.Y36(I.H),m.Y36(Ie.n))},T.\u0275cmp=m.Xpm({type:T,selectors:[["cd-rbd-configuration-table"]],viewQuery:function(M,B){if(1&M&&(m.Gf(C,7),m.Gf(W,7),m.Gf(b,7)),2&M){let F;m.iGM(F=m.CRH())&&(B.configurationSourceTpl=F.first),m.iGM(F=m.CRH())&&(B.configurationValueTpl=F.first),m.iGM(F=m.CRH())&&(B.poolConfTable=F.first)}},inputs:{data:"data"},features:[m.TTD],decls:6,vars:2,consts:function(){let q,M,B;return q="Global",M="Image",B="Pool",[["identifier","name",3,"data","columns"],["poolConfTable",""],["configurationSourceTpl",""],["configurationValueTpl",""],[3,"ngSwitch"],[4,"ngSwitchCase"],q,M,B,[4,"ngSwitchDefault"]]},template:function(M,B){1&M&&(m._UZ(0,"cd-table",0,1),m.YNc(2,k,4,4,"ng-template",null,2,m.W1O),m.YNc(4,ae,5,4,"ng-template",null,3,m.W1O)),2&M&&m.Q6J("data",B.data)("columns",B.poolConfigurationColumns)},directives:[l.a,D.RF,D.n9,D.ED],pipes:[j.O,_e.J,be.A],styles:[""]}),T})()}}]);
\ No newline at end of file
--- /dev/null
+"use strict";(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[330],{91330:(it,Oe,p)=>{p.r(Oe),p.d(Oe,{BlockModule:()=>Mt,RoutedBlockModule:()=>$a});var l=p(12057),r=p(24751),m=p(6283),ne=p(19723),I=p(38549),Ie=p(37496),D=p(79512),j=p(4222),_e=p(44466),be=p(23815),C=p.n(be),W=p(35758),b=p(64762),ie=p(58497),Y=p(93523),e=p(74788);let k=class{constructor(_){this.http=_}listTargets(){return this.http.get("api/iscsi/target")}getTarget(_){return this.http.get(`api/iscsi/target/${_}`)}updateTarget(_,t){return this.http.put(`api/iscsi/target/${_}`,t,{observe:"response"})}status(){return this.http.get("ui-api/iscsi/status")}settings(){return this.http.get("ui-api/iscsi/settings")}version(){return this.http.get("ui-api/iscsi/version")}portals(){return this.http.get("ui-api/iscsi/portals")}createTarget(_){return this.http.post("api/iscsi/target",_,{observe:"response"})}deleteTarget(_){return this.http.delete(`api/iscsi/target/${_}`,{observe:"response"})}getDiscovery(){return this.http.get("api/iscsi/discoveryauth")}updateDiscovery(_){return this.http.put("api/iscsi/discoveryauth",_)}overview(){return this.http.get("ui-api/iscsi/overview")}};k.\u0275fac=function(_){return new(_||k)(e.LFG(ie.eN))},k.\u0275prov=e.Yz7({token:k,factory:k.\u0275fac,providedIn:"root"}),k=(0,b.gn)([Y.o,(0,b.w6)("design:paramtypes",[ie.eN])],k);var Ne=p(88002),Z=p(19358),Ae=p(34089);let x=class{constructor(_,t){this.http=_,this.rbdConfigurationService=t}isRBDPool(_){return-1!==C().indexOf(_.application_metadata,"rbd")&&!_.pool_name.includes("/")}create(_){return this.http.post("api/block/image",_,{observe:"response"})}delete(_){return this.http.delete(`api/block/image/${_.toStringEncoded()}`,{observe:"response"})}update(_,t){return this.http.put(`api/block/image/${_.toStringEncoded()}`,t,{observe:"response"})}get(_){return this.http.get(`api/block/image/${_.toStringEncoded()}`)}list(){return this.http.get("api/block/image").pipe((0,Ne.U)(_=>_.map(t=>(t.value.map(o=>(o.configuration&&o.configuration.map(i=>Object.assign(i,this.rbdConfigurationService.getOptionByName(i.name))),o)),t))))}copy(_,t){return this.http.post(`api/block/image/${_.toStringEncoded()}/copy`,t,{observe:"response"})}flatten(_){return this.http.post(`api/block/image/${_.toStringEncoded()}/flatten`,null,{observe:"response"})}defaultFeatures(){return this.http.get("api/block/image/default_features")}cloneFormatVersion(){return this.http.get("api/block/image/clone_format_version")}createSnapshot(_,t){const o={snapshot_name:t};return this.http.post(`api/block/image/${_.toStringEncoded()}/snap`,o,{observe:"response"})}renameSnapshot(_,t,o){const i={new_snap_name:o};return this.http.put(`api/block/image/${_.toStringEncoded()}/snap/${t}`,i,{observe:"response"})}protectSnapshot(_,t,o){const i={is_protected:o};return this.http.put(`api/block/image/${_.toStringEncoded()}/snap/${t}`,i,{observe:"response"})}rollbackSnapshot(_,t){return this.http.post(`api/block/image/${_.toStringEncoded()}/snap/${t}/rollback`,null,{observe:"response"})}cloneSnapshot(_,t,o){return this.http.post(`api/block/image/${_.toStringEncoded()}/snap/${t}/clone`,o,{observe:"response"})}deleteSnapshot(_,t){return this.http.delete(`api/block/image/${_.toStringEncoded()}/snap/${t}`,{observe:"response"})}listTrash(){return this.http.get("api/block/image/trash/")}createNamespace(_,t){return this.http.post(`api/block/pool/${_}/namespace`,{namespace:t},{observe:"response"})}listNamespaces(_){return this.http.get(`api/block/pool/${_}/namespace/`)}deleteNamespace(_,t){return this.http.delete(`api/block/pool/${_}/namespace/${t}`,{observe:"response"})}moveTrash(_,t){return this.http.post(`api/block/image/${_.toStringEncoded()}/move_trash`,{delay:t},{observe:"response"})}purgeTrash(_){return this.http.post(`api/block/image/trash/purge/?pool_name=${_}`,null,{observe:"response"})}restoreTrash(_,t){return this.http.post(`api/block/image/trash/${_.toStringEncoded()}/restore`,{new_image_name:t},{observe:"response"})}removeTrash(_,t=!1){return this.http.delete(`api/block/image/trash/${_.toStringEncoded()}/?force=${t}`,{observe:"response"})}};x.\u0275fac=function(_){return new(_||x)(e.LFG(ie.eN),e.LFG(Ae.n))},x.\u0275prov=e.Yz7({token:x,factory:x.\u0275fac,providedIn:"root"}),(0,b.gn)([(0,b.fM)(1,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[Z.N,String]),(0,b.w6)("design:returntype",void 0)],x.prototype,"createSnapshot",null),(0,b.gn)([(0,b.fM)(2,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[Z.N,String,String]),(0,b.w6)("design:returntype",void 0)],x.prototype,"renameSnapshot",null),(0,b.gn)([(0,b.fM)(2,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[Z.N,String,Boolean]),(0,b.w6)("design:returntype",void 0)],x.prototype,"protectSnapshot",null),(0,b.gn)([(0,b.fM)(1,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[Z.N,String]),(0,b.w6)("design:returntype",void 0)],x.prototype,"restoreTrash",null),x=(0,b.gn)([Y.o,(0,b.w6)("design:paramtypes",[ie.eN,Ae.n])],x);var ae=p(7022),V=p(14745),T=p(65862),q=p(93614),M=p(95463),B=p(77205),F=p(76111),Q=p(32337),R=p(60312),v=p(41582),g=p(56310),f=p(87925),h=p(94276),O=p(30839);function H(n,_){if(1&n&&(e.TgZ(0,"option",6),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("ngValue",t),e.xp6(1),e.Oqu(t)}}function De(n,_){if(1&n&&(e.TgZ(0,"select",5),e._UZ(1,"option",6),e.YNc(2,H,2,2,"option",7),e.qZA()),2&n){const t=e.oxw();e.s9C("id",t.setting),e.s9C("name",t.setting),e.Q6J("formControlName",t.setting),e.xp6(1),e.Q6J("ngValue",null),e.xp6(1),e.Q6J("ngForOf",t.limits.values)}}function Jt(n,_){if(1&n&&e._UZ(0,"input",10),2&n){const t=e.oxw(2);e.Q6J("formControlName",t.setting)}}function Yt(n,_){if(1&n&&e._UZ(0,"input",11),2&n){const t=e.oxw(2);e.Q6J("formControlName",t.setting)}}function Vt(n,_){if(1&n&&(e.ynx(0),e._UZ(1,"br"),e.TgZ(2,"div",12),e._UZ(3,"input",13),e.TgZ(4,"label",14),e._uU(5,"Yes"),e.qZA(),e.qZA(),e.TgZ(6,"div",12),e._UZ(7,"input",13),e.TgZ(8,"label",14),e._uU(9,"No"),e.qZA(),e.qZA(),e.BQk()),2&n){const t=e.oxw(2);e.xp6(3),e.Q6J("id",t.setting+"True")("value",!0)("formControlName",t.setting),e.xp6(1),e.Q6J("for",t.setting+"True"),e.xp6(3),e.Q6J("id",t.setting+"False")("value",!1)("formControlName",t.setting),e.xp6(1),e.Q6J("for",t.setting+"False")}}function Ut(n,_){if(1&n&&(e.TgZ(0,"span"),e.YNc(1,Jt,1,1,"input",8),e.YNc(2,Yt,1,1,"input",9),e.YNc(3,Vt,10,8,"ng-container",3),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf","int"===t.limits.type),e.xp6(1),e.Q6J("ngIf","str"===t.limits.type),e.xp6(1),e.Q6J("ngIf","bool"===t.limits.type)}}function jt(n,_){if(1&n&&(e.TgZ(0,"span",15),e.ynx(1),e.SDv(2,16),e.BQk(),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.pQV(t.limits.min),e.QtT(2)}}function Wt(n,_){if(1&n&&(e.TgZ(0,"span",15),e.ynx(1),e.SDv(2,17),e.BQk(),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.pQV(t.limits.max),e.QtT(2)}}let _t=(()=>{class n{ngOnInit(){const t=[];"min"in this.limits&&t.push(r.kI.min(this.limits.min)),"max"in this.limits&&t.push(r.kI.max(this.limits.max)),this.settingsForm.get(this.setting).setValidators(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-setting"]],inputs:{settingsForm:"settingsForm",formDir:"formDir",setting:"setting",limits:"limits"},decls:7,vars:7,consts:function(){let _,t;return _="Must be greater than or equal to " + "\ufffd0\ufffd" + ".",t="Must be less than or equal to " + "\ufffd0\ufffd" + ".",[[1,"form-group",3,"formGroup"],[1,"col-form-label",3,"for"],["class","form-control",3,"id","name","formControlName",4,"ngIf"],[4,"ngIf"],["class","invalid-feedback",4,"ngIf"],[1,"form-control",3,"id","name","formControlName"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],["type","number","class","form-control",3,"formControlName",4,"ngIf"],["type","text","class","form-control",3,"formControlName",4,"ngIf"],["type","number",1,"form-control",3,"formControlName"],["type","text",1,"form-control",3,"formControlName"],[1,"custom-control","custom-radio","custom-control-inline"],["type","radio",1,"custom-control-input",3,"id","value","formControlName"],[1,"custom-control-label",3,"for"],[1,"invalid-feedback"],_,t]},template:function(t,o){1&t&&(e.TgZ(0,"div",0),e.TgZ(1,"label",1),e._uU(2),e.qZA(),e.YNc(3,De,3,5,"select",2),e.YNc(4,Ut,4,3,"span",3),e.YNc(5,jt,3,1,"span",4),e.YNc(6,Wt,3,1,"span",4),e.qZA()),2&t&&(e.Q6J("formGroup",o.settingsForm),e.xp6(1),e.s9C("for",o.setting),e.xp6(1),e.Oqu(o.setting),e.xp6(1),e.Q6J("ngIf","enum"===o.limits.type),e.xp6(1),e.Q6J("ngIf","enum"!==o.limits.type),e.xp6(1),e.Q6J("ngIf",o.settingsForm.showError(o.setting,o.formDir,"min")),e.xp6(1),e.Q6J("ngIf",o.settingsForm.showError(o.setting,o.formDir,"max")))},directives:[g.P,r.JL,r.sg,v.V,l.O5,f.o,r.EJ,h.b,r.JJ,r.u,r.YN,r.Kr,l.sg,r.wV,r.Fj,r._],styles:[""]}),n})();var He=p(88820);function eo(n,_){1&n&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function to(n,_){if(1&n&&(e.TgZ(0,"span"),e.TgZ(1,"legend",10),e.SDv(2,21),e.qZA(),e.TgZ(3,"div",12),e.TgZ(4,"div",13),e.TgZ(5,"label",22),e.SDv(6,23),e.qZA(),e._UZ(7,"input",24),e.YNc(8,eo,2,0,"span",25),e.qZA(),e.qZA(),e.TgZ(9,"div",12),e.TgZ(10,"div",13),e.TgZ(11,"label",26),e.SDv(12,27),e.qZA(),e._UZ(13,"input",28),e.qZA(),e.qZA(),e.qZA()),2&n){const t=e.oxw(),o=e.MAs(9);e.xp6(8),e.Q6J("ngIf",t.settingsForm.showError("lun",o,"required"))}}function oo(n,_){if(1&n&&(e.TgZ(0,"option",31),e._uU(1),e.ALo(2,"iscsiBackstore"),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(e.lcZ(2,2,t))}}function no(n,_){if(1&n&&(e.TgZ(0,"div",12),e.TgZ(1,"div",13),e._UZ(2,"cd-iscsi-setting",33),e.qZA(),e.qZA()),2&n){const t=_.$implicit,o=e.oxw(2).$implicit,i=e.oxw(),s=e.MAs(9);e.xp6(2),e.Q6J("settingsForm",i.settingsForm)("formDir",s)("setting",t.key)("limits",i.getDiskControlLimits(o,t.key))}}function io(n,_){if(1&n&&(e.ynx(0),e.YNc(1,no,3,4,"div",32),e.ALo(2,"keyvalue"),e.BQk()),2&n){const t=e.oxw().$implicit,o=e.oxw();e.xp6(1),e.Q6J("ngForOf",e.lcZ(2,1,o.disk_default_controls[t]))}}function _o(n,_){if(1&n&&(e.ynx(0),e.YNc(1,io,3,3,"ng-container",9),e.BQk()),2&n){const t=_.$implicit,o=e.oxw();e.xp6(1),e.Q6J("ngIf",o.settingsForm.value.backstore===t)}}let so=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.iscsiService=o,this.actionLabels=i}ngOnInit(){const t={backstore:new r.NI(this.imagesSettings[this.image].backstore),lun:new r.NI(this.imagesSettings[this.image].lun),wwn:new r.NI(this.imagesSettings[this.image].wwn)};C().forEach(this.backstores,o=>{const i=this.imagesSettings[this.image][o]||{};C().forIn(this.disk_default_controls[o],(s,a)=>{t[a]=new r.NI(i[a])})}),this.settingsForm=new M.d(t)}getDiskControlLimits(t,o){return this.disk_controls_limits?this.disk_controls_limits[t][o]:{type:"int"}}save(){const t=this.settingsForm.controls.backstore.value,o=this.settingsForm.controls.lun.value,i=this.settingsForm.controls.wwn.value,s={};C().forIn(this.settingsForm.controls,(a,d)=>{""!==a.value&&null!==a.value&&d in this.disk_default_controls[this.settingsForm.value.backstore]&&(s[d]=a.value,C().forEach(this.backstores,c=>{c!==t&&d in(this.imagesSettings[this.image][c]||{})&&(this.imagesSettings[this.image][c][d]=a.value)}))}),this.imagesSettings[this.image].backstore=t,this.imagesSettings[this.image].lun=o,this.imagesSettings[this.image].wwn=i,this.imagesSettings[this.image][t]=s,this.imagesSettings=Object.assign({},this.imagesSettings),this.control.updateValueAndValidity({emitEvent:!1}),this.activeModal.close()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(k),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-image-settings-modal"]],decls:25,vars:8,consts:function(){let _,t,o,i,s,a,d,c;return _="Configure",t="Changing these parameters from their default values is usually not necessary.",o="Settings",i="Backstore",s="Identifier",a="lun",d="wwn",c="This field is required.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","settingsForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"alert-warning"],t,[4,"ngIf"],[1,"cd-header"],o,[1,"form-group","row"],[1,"col-sm-12"],[1,"col-form-label"],i,["id","backstore","name","backstore","formControlName","backstore",1,"form-control"],[3,"value",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],s,["for","lun",1,"col-form-label","required"],a,["type","number","id","lun","name","lun","formControlName","lun",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","wwn",1,"col-form-label"],d,["type","text","id","wwn","name","wwn","formControlName","wwn",1,"form-control"],[1,"invalid-feedback"],c,[3,"value"],["class","form-group row",4,"ngFor","ngForOf"],[3,"settingsForm","formDir","setting","limits"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.ynx(2),e.SDv(3,2),e.BQk(),e._uU(4,"\xa0 "),e.TgZ(5,"small"),e._uU(6),e.qZA(),e.BQk(),e.ynx(7,3),e.TgZ(8,"form",4,5),e.TgZ(10,"div",6),e.TgZ(11,"p",7),e.SDv(12,8),e.qZA(),e.YNc(13,to,14,1,"span",9),e.TgZ(14,"legend",10),e.SDv(15,11),e.qZA(),e.TgZ(16,"div",12),e.TgZ(17,"div",13),e.TgZ(18,"label",14),e.SDv(19,15),e.qZA(),e.TgZ(20,"select",16),e.YNc(21,oo,3,4,"option",17),e.qZA(),e.qZA(),e.qZA(),e.YNc(22,_o,2,1,"ng-container",18),e.qZA(),e.TgZ(23,"div",19),e.TgZ(24,"cd-form-button-panel",20),e.NdJ("submitActionEvent",function(){return o.save()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(6),e.Oqu(o.image),e.xp6(2),e.Q6J("formGroup",o.settingsForm),e.xp6(5),e.Q6J("ngIf",o.api_version>=1),e.xp6(8),e.Q6J("ngForOf",o.backstores),e.xp6(1),e.Q6J("ngForOf",o.backstores),e.xp6(2),e.Q6J("form",o.settingsForm)("submitText",o.actionLabels.UPDATE))},directives:[R.z,r._Y,r.JL,r.sg,v.V,l.O5,g.P,f.o,r.EJ,h.b,r.JJ,r.u,l.sg,O.p,r.wV,r.Fj,r.YN,r.Kr,_t],pipes:[He.V,l.Nd],styles:[""]}),n})();function ao(n,_){if(1&n&&(e.TgZ(0,"div",12),e.TgZ(1,"div",13),e._UZ(2,"cd-iscsi-setting",14),e.qZA(),e.qZA()),2&n){const t=_.$implicit,o=e.oxw(),i=e.MAs(5);e.xp6(2),e.Q6J("settingsForm",o.settingsForm)("formDir",i)("setting",t.key)("limits",o.getTargetControlLimits(t.key))}}let ro=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.iscsiService=o,this.actionLabels=i}ngOnInit(){const t={};C().forIn(this.target_default_controls,(o,i)=>{t[i]=new r.NI(this.target_controls.value[i])}),this.settingsForm=new M.d(t)}save(){const t={};C().forIn(this.settingsForm.controls,(o,i)=>{""===o.value||null===o.value||(t[i]=o.value)}),this.target_controls.setValue(t),this.activeModal.close()}getTargetControlLimits(t){return this.target_controls_limits?this.target_controls_limits[t]:["Yes","No"].includes(this.target_default_controls[t])?{type:"bool"}:{type:"int"}}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(k),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-iqn-settings-modal"]],decls:13,vars:7,consts:function(){let _,t;return _="Advanced Settings",t="Changing these parameters from their default values is usually not necessary.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","settingsForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"alert-warning"],t,["class","form-group row",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"form-group","row"],[1,"col-sm-12"],[3,"settingsForm","formDir","setting","limits"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p",7),e.SDv(8,8),e.qZA(),e.YNc(9,ao,3,4,"div",9),e.ALo(10,"keyvalue"),e.qZA(),e.TgZ(11,"div",10),e.TgZ(12,"cd-form-button-panel",11),e.NdJ("submitActionEvent",function(){return o.save()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.settingsForm),e.xp6(5),e.Q6J("ngForOf",e.lcZ(10,5,o.settingsForm.controls)),e.xp6(3),e.Q6J("form",o.settingsForm)("submitText",o.actionLabels.UPDATE))},directives:[R.z,r._Y,r.JL,r.sg,v.V,l.sg,O.p,g.P,_t],pipes:[l.Nd],styles:[""]}),n})();var re=p(63285),st=p(63622);let lo=(()=>{class n{constructor(t){this.ngControl=t}onInput(t){this.setValue(t)}setValue(t){t=C().isString(t)?t.trim():t,this.ngControl.control.setValue(t)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(r.a5))},n.\u0275dir=e.lG2({type:n,selectors:[["","cdTrim",""]],hostBindings:function(t,o){1&t&&e.NdJ("input",function(s){return o.onInput(s.target.value)})}}),n})();var co=p(39092),at=p(4416),Je=p(58039),Ye=p(10545);function po(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,42),e.qZA())}function go(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,43),e.qZA())}function uo(n,_){1&n&&(e.TgZ(0,"span",41),e.ynx(1),e.SDv(2,44),e.BQk(),e._UZ(3,"br"),e.ynx(4),e.SDv(5,45),e.BQk(),e._UZ(6,"br"),e.TgZ(7,"a",46),e.SDv(8,47),e.qZA(),e.qZA())}function mo(n,_){1&n&&(e.TgZ(0,"span",48),e.SDv(1,49),e.qZA())}const z=function(n){return[n]};function To(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.TgZ(4,"button",52),e.NdJ("click",function(){const i=e.CHM(t),s=i.index,a=i.$implicit;return e.oxw(2).removePortal(s,a)}),e._UZ(5,"i",16),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(2);e.xp6(2),e.Q6J("value",t),e.xp6(3),e.Q6J("ngClass",e.VKq(2,z,o.icons.destroy))}}function fo(n,_){if(1&n&&(e.TgZ(0,"span",41),e.SDv(1,53),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.pQV(t.minimum_gateways),e.QtT(1)}}function Co(n,_){if(1&n&&(e.TgZ(0,"div",56),e._uU(1),e.qZA()),2&n){const t=e.oxw().$implicit,o=e.oxw(2);e.xp6(1),e.hij("lun: ",o.imagesSettings[t].lun,"")}}function So(n,_){if(1&n&&(e.ynx(0),e.SDv(1,57),e.ALo(2,"iscsiBackstore"),e.BQk()),2&n){const t=e.oxw().$implicit,o=e.oxw(2);e.xp6(2),e.pQV(e.lcZ(2,1,o.imagesSettings[t].backstore)),e.QtT(1)}}function Eo(n,_){1&n&&(e.ynx(0),e.SDv(1,58),e.BQk())}function Ro(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.YNc(4,Co,2,1,"div",54),e.TgZ(5,"button",52),e.NdJ("click",function(){const s=e.CHM(t).$implicit;return e.oxw(2).imageSettingsModal(s)}),e._UZ(6,"i",16),e.qZA(),e.TgZ(7,"button",52),e.NdJ("click",function(){const i=e.CHM(t),s=i.index,a=i.$implicit;return e.oxw(2).removeImage(s,a)}),e._UZ(8,"i",16),e.qZA(),e.qZA(),e.qZA(),e.TgZ(9,"span",48),e.YNc(10,So,3,3,"ng-container",55),e.YNc(11,Eo,2,0,"ng-container",55),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(2);e.xp6(2),e.Q6J("value",t),e.xp6(2),e.Q6J("ngIf",o.api_version>=1),e.xp6(2),e.Q6J("ngClass",e.VKq(6,z,o.icons.deepCheck)),e.xp6(2),e.Q6J("ngClass",e.VKq(8,z,o.icons.destroy)),e.xp6(2),e.Q6J("ngIf",o.backstores.length>1),e.xp6(1),e.Q6J("ngIf",o.hasAdvancedSettings(o.imagesSettings[t][o.imagesSettings[t].backstore]))}}function Mo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,59),e.qZA())}function Oo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,60),e.qZA())}function Ao(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,78),e.qZA())}function ho(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,79),e.qZA())}function Po(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,80),e.qZA())}function Io(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,81),e.qZA())}function bo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,82),e.qZA())}function No(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,83),e.qZA())}function Do(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,84),e.qZA())}function vo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,85),e.qZA())}function Lo(n,_){if(1&n&&(e.TgZ(0,"div",61),e.TgZ(1,"div",8),e.TgZ(2,"label",62),e.ynx(3),e.SDv(4,63),e.BQk(),e.qZA(),e.TgZ(5,"div",11),e._UZ(6,"input",64),e.YNc(7,Ao,2,0,"span",17),e.YNc(8,ho,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(9,"div",8),e.TgZ(10,"label",65),e.ynx(11),e.SDv(12,66),e.BQk(),e.qZA(),e.TgZ(13,"div",11),e.TgZ(14,"div",12),e._UZ(15,"input",67),e.TgZ(16,"span",14),e._UZ(17,"button",68),e._UZ(18,"cd-copy-2-clipboard-button",69),e.qZA(),e.qZA(),e.YNc(19,Po,2,0,"span",17),e.YNc(20,Io,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(21,"div",8),e.TgZ(22,"label",70),e.ynx(23),e.SDv(24,71),e.BQk(),e.qZA(),e.TgZ(25,"div",11),e._UZ(26,"input",72),e.YNc(27,bo,2,0,"span",17),e.YNc(28,No,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(29,"div",8),e.TgZ(30,"label",73),e.ynx(31),e.SDv(32,74),e.BQk(),e.qZA(),e.TgZ(33,"div",11),e.TgZ(34,"div",12),e._UZ(35,"input",75),e.TgZ(36,"span",14),e._UZ(37,"button",76),e._UZ(38,"cd-copy-2-clipboard-button",77),e.qZA(),e.qZA(),e.YNc(39,Do,2,0,"span",17),e.YNc(40,vo,2,0,"span",17),e.qZA(),e.qZA(),e.qZA()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(7),e.Q6J("ngIf",o.targetForm.showError("user",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("user",t,"pattern")),e.xp6(11),e.Q6J("ngIf",o.targetForm.showError("password",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("password",t,"pattern")),e.xp6(7),e.Q6J("ngIf",o.targetForm.showError("mutual_user",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("mutual_user",t,"pattern")),e.xp6(11),e.Q6J("ngIf",o.targetForm.showError("mutual_password",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("mutual_password",t,"pattern"))}}function Fo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,115),e.qZA())}function $o(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,116),e.qZA())}function Zo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,117),e.qZA())}function Bo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,118),e.qZA())}function Go(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,119),e.qZA())}function yo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,120),e.qZA())}function xo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,121),e.qZA())}function wo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,122),e.qZA())}function qo(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,123),e.qZA())}function Ho(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,124),e.qZA())}function Ko(n,_){1&n&&(e.TgZ(0,"span",41),e.SDv(1,125),e.qZA())}function ko(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.TgZ(4,"button",52),e.NdJ("click",function(){const i=e.CHM(t),s=i.index,a=i.$implicit,d=e.oxw(),c=d.$implicit,u=d.index;return e.oxw(3).removeInitiatorImage(c,s,u,a)}),e._UZ(5,"i",16),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(3),e.Q6J("ngClass",e.VKq(2,z,o.icons.destroy))}}function Xo(n,_){1&n&&(e.TgZ(0,"span"),e.SDv(1,126),e.qZA())}function Qo(n,_){if(1&n&&(e.TgZ(0,"div",22),e.TgZ(1,"div",23),e.TgZ(2,"cd-select",127),e._UZ(3,"i",25),e.ynx(4),e.SDv(5,128),e.BQk(),e.qZA(),e.qZA(),e.qZA()),2&n){const t=e.oxw(),o=t.$implicit,i=t.index,s=e.oxw(3);e.xp6(2),e.Q6J("data",o.getValue("luns"))("options",s.imagesInitiatorSelections[i])("messages",s.messages.initiatorImage),e.xp6(1),e.Q6J("ngClass",e.VKq(4,z,s.icons.add))}}function zo(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",92),e.TgZ(1,"div",5),e.ynx(2),e.SDv(3,93),e.BQk(),e._uU(4),e.TgZ(5,"button",94),e.NdJ("click",function(){const s=e.CHM(t).index;return e.oxw(3).removeInitiator(s)}),e._UZ(6,"i",25),e.qZA(),e.qZA(),e.TgZ(7,"div",7),e.TgZ(8,"div",8),e.TgZ(9,"label",95),e.SDv(10,96),e.qZA(),e.TgZ(11,"div",11),e.TgZ(12,"input",97),e.NdJ("blur",function(){return e.CHM(t),e.oxw(3).updatedInitiatorSelector()}),e.qZA(),e.YNc(13,Fo,2,0,"span",17),e.YNc(14,$o,2,0,"span",17),e.YNc(15,Zo,2,0,"span",17),e.qZA(),e.qZA(),e.ynx(16,61),e.TgZ(17,"div",8),e.TgZ(18,"label",98),e.SDv(19,99),e.qZA(),e.TgZ(20,"div",11),e._UZ(21,"input",100),e.YNc(22,Bo,2,0,"span",17),e.YNc(23,Go,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(24,"div",8),e.TgZ(25,"label",101),e.SDv(26,102),e.qZA(),e.TgZ(27,"div",11),e.TgZ(28,"div",12),e._UZ(29,"input",103),e.TgZ(30,"span",14),e._UZ(31,"button",104),e._UZ(32,"cd-copy-2-clipboard-button",105),e.qZA(),e.qZA(),e.YNc(33,yo,2,0,"span",17),e.YNc(34,xo,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(35,"div",8),e.TgZ(36,"label",106),e.ynx(37),e.SDv(38,107),e.BQk(),e.qZA(),e.TgZ(39,"div",11),e._UZ(40,"input",108),e.YNc(41,wo,2,0,"span",17),e.YNc(42,qo,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(43,"div",8),e.TgZ(44,"label",109),e.SDv(45,110),e.qZA(),e.TgZ(46,"div",11),e.TgZ(47,"div",12),e._UZ(48,"input",111),e.TgZ(49,"span",14),e._UZ(50,"button",104),e._UZ(51,"cd-copy-2-clipboard-button",105),e.qZA(),e.qZA(),e.YNc(52,Ho,2,0,"span",17),e.YNc(53,Ko,2,0,"span",17),e.qZA(),e.qZA(),e.BQk(),e.TgZ(54,"div",8),e.TgZ(55,"label",112),e.SDv(56,113),e.qZA(),e.TgZ(57,"div",11),e.YNc(58,ko,6,4,"ng-container",21),e.YNc(59,Xo,2,0,"span",55),e.YNc(60,Qo,6,6,"div",114),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=_.$implicit,o=_.index;e.oxw(2);const i=e.MAs(2),s=e.oxw();e.Q6J("formGroup",t),e.xp6(4),e.hij(": ",t.getValue("client_iqn")," "),e.xp6(2),e.Q6J("ngClass",e.VKq(25,z,s.icons.destroy)),e.xp6(7),e.Q6J("ngIf",t.showError("client_iqn",i,"notUnique")),e.xp6(1),e.Q6J("ngIf",t.showError("client_iqn",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("client_iqn",i,"pattern")),e.xp6(6),e.Q6J("id","user"+o),e.xp6(1),e.Q6J("ngIf",t.showError("user",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("user",i,"pattern")),e.xp6(6),e.Q6J("id","password"+o),e.xp6(2),e.Q6J("cdPasswordButton","password"+o),e.xp6(1),e.Q6J("source","password"+o),e.xp6(1),e.Q6J("ngIf",t.showError("password",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("password",i,"pattern")),e.xp6(6),e.Q6J("id","mutual_user"+o),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_user",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_user",i,"pattern")),e.xp6(6),e.Q6J("id","mutual_password"+o),e.xp6(2),e.Q6J("cdPasswordButton","mutual_password"+o),e.xp6(1),e.Q6J("source","mutual_password"+o),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_password",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_password",i,"pattern")),e.xp6(5),e.Q6J("ngForOf",t.getValue("luns")),e.xp6(1),e.Q6J("ngIf",t.getValue("cdIsInGroup")),e.xp6(1),e.Q6J("ngIf",!t.getValue("cdIsInGroup"))}}function Jo(n,_){1&n&&(e.TgZ(0,"span",48),e.SDv(1,129),e.qZA())}function Yo(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",86),e.SDv(2,87),e.qZA(),e.TgZ(3,"div",88),e.YNc(4,zo,61,27,"div",89),e.TgZ(5,"div",22),e.TgZ(6,"div",23),e.YNc(7,Jo,2,0,"span",18),e.TgZ(8,"button",90),e.NdJ("click",function(){return e.CHM(t),e.oxw(2).addInitiator(),!1}),e._UZ(9,"i",25),e.ynx(10),e.SDv(11,91),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(12,"hr"),e.qZA(),e.qZA()}if(2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",t.initiators.controls),e.xp6(3),e.Q6J("ngIf",0===t.initiators.controls.length),e.xp6(2),e.Q6J("ngClass",e.VKq(3,z,t.icons.add))}}function Vo(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.TgZ(4,"button",52),e.NdJ("click",function(){const s=e.CHM(t).index,a=e.oxw(),d=a.$implicit,c=a.index;return e.oxw(3).removeGroupInitiator(d,s,c)}),e._UZ(5,"i",16),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(3),e.Q6J("ngClass",e.VKq(2,z,o.icons.destroy))}}function Uo(n,_){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",50),e._UZ(2,"input",51),e.TgZ(3,"span",14),e.TgZ(4,"button",52),e.NdJ("click",function(){const s=e.CHM(t).index,a=e.oxw(),d=a.$implicit,c=a.index;return e.oxw(3).removeGroupDisk(d,s,c)}),e._UZ(5,"i",16),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&n){const t=_.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(3),e.Q6J("ngClass",e.VKq(2,z,o.icons.destroy))}}function jo(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",92),e.TgZ(1,"div",5),e.ynx(2),e.SDv(3,133),e.BQk(),e._uU(4),e.TgZ(5,"button",94),e.NdJ("click",function(){const s=e.CHM(t).index;return e.oxw(3).removeGroup(s)}),e._UZ(6,"i",25),e.qZA(),e.qZA(),e.TgZ(7,"div",7),e.TgZ(8,"div",8),e.TgZ(9,"label",134),e.SDv(10,135),e.qZA(),e.TgZ(11,"div",11),e._UZ(12,"input",136),e.qZA(),e.qZA(),e.TgZ(13,"div",8),e.TgZ(14,"label",137),e.ynx(15),e.SDv(16,138),e.BQk(),e.qZA(),e.TgZ(17,"div",11),e.YNc(18,Vo,6,4,"ng-container",21),e.TgZ(19,"div",22),e.TgZ(20,"div",23),e.TgZ(21,"cd-select",24),e.NdJ("selection",function(i){const a=e.CHM(t).index;return e.oxw(3).onGroupMemberSelection(i,a)}),e._UZ(22,"i",25),e.ynx(23),e.SDv(24,139),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(25,"hr"),e.qZA(),e.qZA(),e.TgZ(26,"div",8),e.TgZ(27,"label",28),e.ynx(28),e.SDv(29,140),e.BQk(),e.qZA(),e.TgZ(30,"div",11),e.YNc(31,Uo,6,4,"ng-container",21),e.TgZ(32,"div",22),e.TgZ(33,"div",23),e.TgZ(34,"cd-select",127),e._UZ(35,"i",25),e.ynx(36),e.SDv(37,141),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(38,"hr"),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=_.$implicit,o=_.index,i=e.oxw(3);e.Q6J("formGroup",t),e.xp6(4),e.hij(": ",t.getValue("group_id")," "),e.xp6(2),e.Q6J("ngClass",e.VKq(13,z,i.icons.destroy)),e.xp6(12),e.Q6J("ngForOf",t.getValue("members")),e.xp6(3),e.Q6J("data",t.getValue("members"))("options",i.groupMembersSelections[o])("messages",i.messages.groupInitiator),e.xp6(1),e.Q6J("ngClass",e.VKq(15,z,i.icons.add)),e.xp6(9),e.Q6J("ngForOf",t.getValue("disks")),e.xp6(3),e.Q6J("data",t.getValue("disks"))("options",i.groupDiskSelections[o])("messages",i.messages.initiatorImage),e.xp6(1),e.Q6J("ngClass",e.VKq(17,z,i.icons.add))}}function Wo(n,_){1&n&&(e.TgZ(0,"span",48),e.SDv(1,142),e.qZA())}function en(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",86),e.SDv(2,130),e.qZA(),e.TgZ(3,"div",131),e.YNc(4,jo,39,19,"div",89),e.TgZ(5,"div",22),e.TgZ(6,"div",23),e.YNc(7,Wo,2,0,"span",18),e.TgZ(8,"button",90),e.NdJ("click",function(){return e.CHM(t),e.oxw(2).addGroup(),!1}),e._UZ(9,"i",25),e.ynx(10),e.SDv(11,132),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",t.groups.controls),e.xp6(3),e.Q6J("ngIf",0===t.groups.controls.length),e.xp6(2),e.Q6J("ngClass",e.VKq(3,z,t.icons.add))}}function tn(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e.TgZ(13,"div",12),e._UZ(14,"input",13),e.TgZ(15,"span",14),e.TgZ(16,"button",15),e.NdJ("click",function(){return e.CHM(t),e.oxw().targetSettingsModal()}),e._UZ(17,"i",16),e.qZA(),e.qZA(),e.qZA(),e.YNc(18,po,2,0,"span",17),e.YNc(19,go,2,0,"span",17),e.YNc(20,uo,9,0,"span",17),e.YNc(21,mo,2,0,"span",18),e._UZ(22,"hr"),e.qZA(),e.qZA(),e.TgZ(23,"div",8),e.TgZ(24,"label",19),e.SDv(25,20),e.qZA(),e.TgZ(26,"div",11),e.YNc(27,To,6,4,"ng-container",21),e.TgZ(28,"div",22),e.TgZ(29,"div",23),e.TgZ(30,"cd-select",24),e.NdJ("selection",function(i){return e.CHM(t),e.oxw().onPortalSelection(i)}),e._UZ(31,"i",25),e.ynx(32),e.SDv(33,26),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(34,"input",27),e.YNc(35,fo,2,1,"span",17),e._UZ(36,"hr"),e.qZA(),e.qZA(),e.TgZ(37,"div",8),e.TgZ(38,"label",28),e.SDv(39,29),e.qZA(),e.TgZ(40,"div",11),e.YNc(41,Ro,12,10,"ng-container",21),e._UZ(42,"input",30),e.YNc(43,Mo,2,0,"span",17),e.YNc(44,Oo,2,0,"span",17),e.TgZ(45,"div",22),e.TgZ(46,"div",23),e.TgZ(47,"cd-select",24),e.NdJ("selection",function(i){return e.CHM(t),e.oxw().onImageSelection(i)}),e._UZ(48,"i",25),e.ynx(49),e.SDv(50,31),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e._UZ(51,"hr"),e.qZA(),e.qZA(),e.TgZ(52,"div",8),e.TgZ(53,"div",32),e.TgZ(54,"div",33),e._UZ(55,"input",34),e.TgZ(56,"label",35),e.SDv(57,36),e.qZA(),e.qZA(),e._UZ(58,"hr"),e.qZA(),e.qZA(),e.YNc(59,Lo,41,8,"div",37),e.YNc(60,Yo,13,5,"div",38),e.YNc(61,en,12,5,"div",38),e.qZA(),e.TgZ(62,"div",39),e.TgZ(63,"cd-form-button-panel",40),e.NdJ("submitActionEvent",function(){return e.CHM(t),e.oxw().submit()}),e.ALo(64,"titlecase"),e.ALo(65,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.targetForm),e.xp6(6),e.pQV(e.lcZ(6,26,o.action))(e.lcZ(7,28,o.resource)),e.QtT(5),e.xp6(10),e.Q6J("ngClass",e.VKq(34,z,o.icons.deepCheck)),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"pattern")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"iqn")),e.xp6(1),e.Q6J("ngIf",o.hasAdvancedSettings(o.targetForm.getValue("target_controls"))),e.xp6(6),e.Q6J("ngForOf",o.portals.value),e.xp6(3),e.Q6J("data",o.portals.value)("options",o.portalsSelections)("messages",o.messages.portals),e.xp6(1),e.Q6J("ngClass",e.VKq(36,z,o.icons.add)),e.xp6(4),e.Q6J("ngIf",o.targetForm.showError("portals",t,"minGateways")),e.xp6(6),e.Q6J("ngForOf",o.targetForm.getValue("disks")),e.xp6(2),e.Q6J("ngIf",o.targetForm.showError("disks",t,"dupLunId")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("disks",t,"dupWwn")),e.xp6(3),e.Q6J("data",o.disks.value)("options",o.imagesSelections)("messages",o.messages.images),e.xp6(1),e.Q6J("ngClass",e.VKq(38,z,o.icons.add)),e.xp6(11),e.Q6J("ngIf",o.cephIscsiConfigVersion>10&&!o.targetForm.getValue("acl_enabled")),e.xp6(1),e.Q6J("ngIf",o.targetForm.getValue("acl_enabled")),e.xp6(1),e.Q6J("ngIf",o.targetForm.getValue("acl_enabled")),e.xp6(2),e.Q6J("form",o.targetForm)("submitText",e.lcZ(64,30,o.action)+" "+e.lcZ(65,32,o.resource))}}let rt=(()=>{class n extends q.E{constructor(t,o,i,s,a,d,c){super(),this.iscsiService=t,this.modalService=o,this.rbdService=i,this.router=s,this.route=a,this.taskWrapper=d,this.actionLabels=c,this.api_version=0,this.minimum_gateways=1,this.icons=T.P,this.isEdit=!1,this.portalsSelections=[],this.imagesInitiatorSelections=[],this.groupDiskSelections=[],this.groupMembersSelections=[],this.imagesSettings={},this.messages={portals:new ae.a({noOptions:"There are no portals available."}),images:new ae.a({noOptions:"There are no images available."}),initiatorImage:new ae.a({noOptions:"There are no images available. Please make sure you add an image to the target."}),groupInitiator:new ae.a({noOptions:"There are no initiators available. Please make sure you add an initiator to the target."})},this.IQN_REGEX=/^iqn\.(19|20)\d\d-(0[1-9]|1[0-2])\.\D{2,3}(\.[A-Za-z0-9-]+)+(:[A-Za-z0-9-\.]+)*$/,this.USER_REGEX=/^[\w\.:@_-]{8,64}$/,this.PASSWORD_REGEX=/^[\w@\-_\/]{12,16}$/,this.resource="target"}ngOnInit(){const t=[this.iscsiService.listTargets(),this.rbdService.list(),this.iscsiService.portals(),this.iscsiService.settings(),this.iscsiService.version()];this.router.url.startsWith("/block/iscsi/targets/edit")&&(this.isEdit=!0,this.route.params.subscribe(o=>{this.target_iqn=decodeURIComponent(o.target_iqn),t.push(this.iscsiService.getTarget(this.target_iqn))})),this.action=this.isEdit?this.actionLabels.EDIT:this.actionLabels.CREATE,(0,W.D)(t).subscribe(o=>{const i=C()(o[0]).filter(a=>a.target_iqn!==this.target_iqn).flatMap(a=>a.disks).map(a=>`${a.pool}/${a.image}`).value();"api_version"in o[3]&&(this.api_version=o[3].api_version),this.minimum_gateways=o[3].config.minimum_gateways,this.target_default_controls=o[3].target_default_controls,this.target_controls_limits=o[3].target_controls_limits,this.disk_default_controls=o[3].disk_default_controls,this.disk_controls_limits=o[3].disk_controls_limits,this.backstores=o[3].backstores,this.default_backstore=o[3].default_backstore,this.unsupported_rbd_features=o[3].unsupported_rbd_features,this.required_rbd_features=o[3].required_rbd_features,this.imagesAll=C()(o[1]).flatMap(a=>a.value).filter(a=>!a.namespace&&!(-1!==i.indexOf(`${a.pool_name}/${a.name}`)||0===this.getValidBackstores(a).length)).value(),this.imagesSelections=this.imagesAll.map(a=>new V.$(!1,`${a.pool_name}/${a.name}`,""));const s=[];o[2].forEach(a=>{a.ip_addresses.forEach(d=>{s.push(new V.$(!1,a.name+":"+d,""))})}),this.portalsSelections=[...s],this.cephIscsiConfigVersion=o[4].ceph_iscsi_config_version,this.createForm(),o[5]&&this.resolveModel(o[5]),this.loadingReady()})}createForm(){if(this.targetForm=new M.d({target_iqn:new r.NI("iqn.2001-07.com.ceph:"+Date.now(),{validators:[r.kI.required,r.kI.pattern(this.IQN_REGEX)]}),target_controls:new r.NI({}),portals:new r.NI([],{validators:[B.h.custom("minGateways",t=>C().uniq(t.map(i=>i.split(":")[0])).length<Math.max(1,this.minimum_gateways))]}),disks:new r.NI([],{validators:[B.h.custom("dupLunId",t=>{const o=this.getLunIds(t);return o.length!==C().uniq(o).length}),B.h.custom("dupWwn",t=>{const o=this.getWwns(t);return o.length!==C().uniq(o).length})]}),initiators:new r.Oe([]),groups:new r.Oe([]),acl_enabled:new r.NI(!1)}),this.cephIscsiConfigVersion>10){const t=new M.d({user:new r.NI(""),password:new r.NI(""),mutual_user:new r.NI(""),mutual_password:new r.NI("")});this.setAuthValidator(t),this.targetForm.addControl("auth",t)}}resolveModel(t){this.targetForm.patchValue({target_iqn:t.target_iqn,target_controls:t.target_controls,acl_enabled:t.acl_enabled}),this.cephIscsiConfigVersion>10&&this.targetForm.patchValue({auth:t.auth});const o=[];C().forEach(t.portals,s=>{o.push(`${s.host}:${s.ip}`)}),this.targetForm.patchValue({portals:o});const i=[];C().forEach(t.disks,s=>{const a=`${s.pool}/${s.image}`;i.push(a),this.imagesSettings[a]={backstore:s.backstore},this.imagesSettings[a][s.backstore]=s.controls,"lun"in s&&(this.imagesSettings[a].lun=s.lun),"wwn"in s&&(this.imagesSettings[a].wwn=s.wwn),this.onImageSelection({option:{name:a,selected:!0}})}),this.targetForm.patchValue({disks:i}),C().forEach(t.clients,s=>{const a=this.addInitiator();s.luns=C().map(s.luns,d=>`${d.pool}/${d.image}`),a.patchValue(s)}),t.groups.forEach((s,a)=>{const d=this.addGroup();s.disks=C().map(s.disks,c=>`${c.pool}/${c.image}`),d.patchValue(s),C().forEach(s.members,c=>{this.onGroupMemberSelection({option:new V.$(!0,c,"")},a)})})}hasAdvancedSettings(t){return Object.values(t).length>0}get portals(){return this.targetForm.get("portals")}onPortalSelection(){this.portals.setValue(this.portals.value)}removePortal(t,o){return this.portalsSelections.forEach(i=>{i.name===o&&(i.selected=!1)}),this.portals.value.splice(t,1),this.portals.setValue(this.portals.value),!1}get disks(){return this.targetForm.get("disks")}removeImage(t,o){return this.imagesSelections.forEach(i=>{i.name===o&&(i.selected=!1)}),this.disks.value.splice(t,1),this.removeImageRefs(o),this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1}),!1}removeImageRefs(t){this.initiators.controls.forEach(o=>{const i=o.value.luns.filter(s=>s!==t);o.get("luns").setValue(i)}),this.groups.controls.forEach(o=>{const i=o.value.disks.filter(s=>s!==t);o.get("disks").setValue(i)}),C().forEach(this.imagesInitiatorSelections,(o,i)=>{this.imagesInitiatorSelections[i]=o.filter(s=>s.name!==t)}),C().forEach(this.groupDiskSelections,(o,i)=>{this.groupDiskSelections[i]=o.filter(s=>s.name!==t)})}getDefaultBackstore(t){let o=this.default_backstore;const i=this.getImageById(t);return this.validFeatures(i,this.default_backstore)||this.backstores.forEach(s=>{s!==this.default_backstore&&this.validFeatures(i,s)&&(o=s)}),o}isLunIdInUse(t,o){const i=this.disks.value.filter(s=>s!==o);return this.getLunIds(i).includes(t)}getLunIds(t){return C().map(t,o=>this.imagesSettings[o].lun)}nextLunId(t){const o=this.disks.value.filter(a=>a!==t),i=this.getLunIds(o);let s=0;for(;i.includes(s);)s++;return s}getWwns(t){return C().map(t,i=>this.imagesSettings[i].wwn).filter(i=>C().isString(i)&&""!==i)}onImageSelection(t){const o=t.option;if(o.selected){if(this.imagesSettings[o.name])this.isLunIdInUse(this.imagesSettings[o.name].lun,o.name)&&(this.imagesSettings[o.name].lun=this.nextLunId(o.name));else{const i=this.getDefaultBackstore(o.name);this.imagesSettings[o.name]={backstore:i,lun:this.nextLunId(o.name)},this.imagesSettings[o.name][i]={}}C().forEach(this.imagesInitiatorSelections,(i,s)=>{i.push(new V.$(!1,o.name,"")),this.imagesInitiatorSelections[s]=[...i]}),C().forEach(this.groupDiskSelections,(i,s)=>{i.push(new V.$(!1,o.name,"")),this.groupDiskSelections[s]=[...i]})}else this.removeImageRefs(o.name);this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1})}get initiators(){return this.targetForm.get("initiators")}addInitiator(){const t=new M.d({client_iqn:new r.NI("",{validators:[r.kI.required,B.h.custom("notUnique",i=>{const s=this.initiators.controls.reduce(function(a,d){return a.concat(d.value.client_iqn)},[]);return s.indexOf(i)!==s.lastIndexOf(i)}),r.kI.pattern(this.IQN_REGEX)]}),auth:new M.d({user:new r.NI(""),password:new r.NI(""),mutual_user:new r.NI(""),mutual_password:new r.NI("")}),luns:new r.NI([]),cdIsInGroup:new r.NI(!1)});this.setAuthValidator(t),this.initiators.push(t),C().forEach(this.groupMembersSelections,(i,s)=>{i.push(new V.$(!1,"","")),this.groupMembersSelections[s]=[...i]});const o=C().map(this.targetForm.getValue("disks"),i=>new V.$(!1,i,""));return this.imagesInitiatorSelections.push(o),t}setAuthValidator(t){B.h.validateIf(t.get("user"),()=>t.getValue("password")||t.getValue("mutual_user")||t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[t.get("password"),t.get("mutual_user"),t.get("mutual_password")]),B.h.validateIf(t.get("password"),()=>t.getValue("user")||t.getValue("mutual_user")||t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[t.get("user"),t.get("mutual_user"),t.get("mutual_password")]),B.h.validateIf(t.get("mutual_user"),()=>t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[t.get("user"),t.get("password"),t.get("mutual_password")]),B.h.validateIf(t.get("mutual_password"),()=>t.getValue("mutual_user"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[t.get("user"),t.get("password"),t.get("mutual_user")])}removeInitiator(t){const o=this.initiators.value[t];this.initiators.removeAt(t),C().forEach(this.groupMembersSelections,(i,s)=>{i.splice(t,1),this.groupMembersSelections[s]=[...i]}),this.groups.controls.forEach(i=>{const s=i.value.members.filter(a=>a!==o.client_iqn);i.get("members").setValue(s)}),this.imagesInitiatorSelections.splice(t,1)}updatedInitiatorSelector(){this.initiators.controls.forEach(t=>{t.get("client_iqn").updateValueAndValidity({emitEvent:!1})}),C().forEach(this.groupMembersSelections,(t,o)=>{C().forEach(t,(i,s)=>{const a=i.name;i.name=this.initiators.controls[s].value.client_iqn,this.groups.controls.forEach(d=>{const c=d.value.members,u=c.indexOf(a);-1!==u&&(c[u]=i.name),d.get("members").setValue(c)})}),this.groupMembersSelections[o]=[...this.groupMembersSelections[o]]})}removeInitiatorImage(t,o,i,s){const a=t.getValue("luns");return a.splice(o,1),t.patchValue({luns:a}),this.imagesInitiatorSelections[i].forEach(d=>{d.name===s&&(d.selected=!1)}),!1}get groups(){return this.targetForm.get("groups")}addGroup(){const t=new M.d({group_id:new r.NI("",{validators:[r.kI.required]}),members:new r.NI([]),disks:new r.NI([])});this.groups.push(t);const o=C().map(this.targetForm.getValue("disks"),s=>new V.$(!1,s,""));this.groupDiskSelections.push(o);const i=C().map(this.initiators.value,s=>new V.$(!1,s.client_iqn,"",!s.cdIsInGroup));return this.groupMembersSelections.push(i),t}removeGroup(t){this.groups.removeAt(t),this.groupMembersSelections[t].filter(i=>i.selected).forEach(i=>{i.selected=!1,this.onGroupMemberSelection({option:i},t)}),this.groupMembersSelections.splice(t,1),this.groupDiskSelections.splice(t,1)}onGroupMemberSelection(t,o){const i=t.option;let s=[];i.selected||(s=this.groupDiskSelections[o].filter(d=>d.selected).map(d=>d.name)),this.initiators.controls.forEach((a,d)=>{a.value.client_iqn===i.name&&(a.patchValue({luns:s}),a.get("cdIsInGroup").setValue(i.selected),C().forEach(this.groupMembersSelections,c=>{c[d].enabled=!i.selected}),this.imagesInitiatorSelections[d].forEach(c=>{c.selected=s.includes(c.name)}))})}removeGroupInitiator(t,o,i){const s=t.getValue("members")[o];t.getValue("members").splice(o,1),this.onGroupMemberSelection({option:new V.$(!1,s,"")},i)}removeGroupDisk(t,o,i){const s=t.getValue("disks")[o];t.getValue("disks").splice(o,1),this.groupDiskSelections[i].forEach(a=>{a.name===s&&(a.selected=!1)}),this.groupDiskSelections[i]=[...this.groupDiskSelections[i]]}submit(){const t=C().cloneDeep(this.targetForm.value),o={target_iqn:this.targetForm.getValue("target_iqn"),target_controls:this.targetForm.getValue("target_controls"),acl_enabled:this.targetForm.getValue("acl_enabled"),portals:[],disks:[],clients:[],groups:[]};if(this.cephIscsiConfigVersion>10){const s=this.targetForm.get("auth");s.getValue("user")||s.get("user").setValue(""),s.getValue("password")||s.get("password").setValue(""),s.getValue("mutual_user")||s.get("mutual_user").setValue(""),s.getValue("mutual_password")||s.get("mutual_password").setValue("");const a=this.targetForm.getValue("acl_enabled");o.auth={user:a?"":s.getValue("user"),password:a?"":s.getValue("password"),mutual_user:a?"":s.getValue("mutual_user"),mutual_password:a?"":s.getValue("mutual_password")}}let i;t.disks.forEach(s=>{const a=s.split("/"),d=this.imagesSettings[s].backstore;o.disks.push({pool:a[0],image:a[1],backstore:d,controls:this.imagesSettings[s][d],lun:this.imagesSettings[s].lun,wwn:this.imagesSettings[s].wwn})}),t.portals.forEach(s=>{const a=s.indexOf(":");o.portals.push({host:s.substring(0,a),ip:s.substring(a+1)})}),o.acl_enabled&&(t.initiators.forEach(s=>{s.auth.user||(s.auth.user=""),s.auth.password||(s.auth.password=""),s.auth.mutual_user||(s.auth.mutual_user=""),s.auth.mutual_password||(s.auth.mutual_password=""),delete s.cdIsInGroup;const a=[];s.luns.forEach(d=>{const c=d.split("/");a.push({pool:c[0],image:c[1]})}),s.luns=a}),o.clients=t.initiators),o.acl_enabled&&(t.groups.forEach(s=>{const a=[];s.disks.forEach(d=>{const c=d.split("/");a.push({pool:c[0],image:c[1]})}),s.disks=a}),o.groups=t.groups),this.isEdit?(o.new_target_iqn=o.target_iqn,o.target_iqn=this.target_iqn,i=this.taskWrapper.wrapTaskAroundCall({task:new F.R("iscsi/target/edit",{target_iqn:o.target_iqn}),call:this.iscsiService.updateTarget(this.target_iqn,o)})):i=this.taskWrapper.wrapTaskAroundCall({task:new F.R("iscsi/target/create",{target_iqn:o.target_iqn}),call:this.iscsiService.createTarget(o)}),i.subscribe({error:()=>{this.targetForm.setErrors({cdSubmitButton:!0})},complete:()=>this.router.navigate(["/block/iscsi/targets"])})}targetSettingsModal(){const t={target_controls:this.targetForm.get("target_controls"),target_default_controls:this.target_default_controls,target_controls_limits:this.target_controls_limits};this.modalRef=this.modalService.show(ro,t)}imageSettingsModal(t){const o={imagesSettings:this.imagesSettings,image:t,api_version:this.api_version,disk_default_controls:this.disk_default_controls,disk_controls_limits:this.disk_controls_limits,backstores:this.getValidBackstores(this.getImageById(t)),control:this.targetForm.get("disks")};this.modalRef=this.modalService.show(so,o)}validFeatures(t,o){const i=t.features,s=this.required_rbd_features[o];return(i&s)===s&&0==(i&this.unsupported_rbd_features[o])}getImageById(t){return this.imagesAll.find(o=>t===`${o.pool_name}/${o.name}`)}getValidBackstores(t){return this.backstores.filter(o=>this.validFeatures(t,o))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(k),e.Y36(re.Z),e.Y36(x),e.Y36(m.F0),e.Y36(m.gz),e.Y36(Q.P),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$,G,X,J,te,A,w,de,pe,ge,ue,me,Te,fe,Ce,Se,y,Ze,Be,Ge,ye,xe,we,qe,L,Ot,At,ht,Pt,It,bt,Nt,Dt,vt,Lt,Ft,$t,Zt,Bt,Gt,yt,xt,wt,qt,Ht,Kt,kt,Xt,Qt,zt;return _="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Target IQN",o="Portals",i="Add portal",s="Images",a="Add image",d="ACL authentication",c="This field is required.",u="IQN has wrong pattern.",S="An IQN has the following notation 'iqn.$year-$month.$reversedAddress:$definedName'",N="For example: iqn.2016-06.org.dashboard:storage:disk.sn-a8675309",P="More information",$="This target has modified advanced settings.",G="At least " + "\ufffd0\ufffd" + " gateways are required.",X="Backstore: " + "\ufffd0\ufffd" + ".\xA0",J="This image has modified settings.",te="Duplicated LUN numbers.",A="Duplicated WWN.",w="User",de="Password",pe="Mutual User",ge="Mutual Password",ue="This field is required.",me="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",Te="This field is required.",fe="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Ce="This field is required.",Se="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",y="This field is required.",Ze="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Be="Initiators",Ge="Add initiator",ye="Initiator",xe="Client IQN",we="User",qe="Password",L="Mutual User",Ot="Mutual Password",At="Images",ht="Initiator IQN needs to be unique.",Pt="This field is required.",It="IQN has wrong pattern.",bt="This field is required.",Nt="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",Dt="This field is required.",vt="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Lt="This field is required.",Ft="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",$t="This field is required.",Zt="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Bt="Initiator belongs to a group. Images will be configure in the group.",Gt="Add image",yt="No items added.",xt="Groups",wt="Add group",qt="Group",Ht="Name",Kt="Initiators",kt="Add initiator",Xt="Images",Qt="Add image",zt="No items added.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","targetForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],_,[1,"card-body"],[1,"form-group","row"],["for","target_iqn",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],[1,"input-group"],["type","text","id","target_iqn","name","target_iqn","formControlName","target_iqn","cdTrim","",1,"form-control"],[1,"input-group-append"],["id","ecp-info-button","type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],["class","form-text text-muted",4,"ngIf"],["for","portals",1,"cd-col-form-label","required"],o,[4,"ngFor","ngForOf"],[1,"row"],[1,"col-md-12"],["elemClass","btn btn-light float-right",3,"data","options","messages","selection"],[3,"ngClass"],i,["type","hidden","id","portals","name","portals","formControlName","portals",1,"form-control"],["for","disks",1,"cd-col-form-label"],s,["type","hidden","id","disks","name","disks","formControlName","disks",1,"form-control"],a,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","formControlName","acl_enabled","name","acl_enabled","id","acl_enabled",1,"custom-control-input"],["for","acl_enabled",1,"custom-control-label"],d,["formGroupName","auth",4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],c,u,S,N,["target","_blank","href","https://en.wikipedia.org/wiki/ISCSI#Addressing"],P,[1,"form-text","text-muted"],$,[1,"input-group","cd-mb"],["type","text","disabled","",1,"cd-form-control",3,"value"],["type","button",1,"btn","btn-light",3,"click"],G,["class","input-group-text",4,"ngIf"],[4,"ngIf"],[1,"input-group-text"],X,J,te,A,["formGroupName","auth"],["for","target_user",1,"cd-col-form-label"],w,["type","text","autocomplete","off","id","target_user","name","target_user","formControlName","user",1,"form-control"],["for","target_password",1,"cd-col-form-label"],de,["type","password","autocomplete","new-password","id","target_password","name","target_password","formControlName","password",1,"form-control"],["type","button","cdPasswordButton","target_password",1,"btn","btn-light"],["source","target_password"],["for","target_mutual_user",1,"cd-col-form-label"],pe,["type","text","autocomplete","off","id","target_mutual_user","name","target_mutual_user","formControlName","mutual_user",1,"form-control"],["for","target_mutual_password",1,"cd-col-form-label"],ge,["type","password","autocomplete","new-password","id","target_mutual_password","name","target_mutual_password","formControlName","mutual_password",1,"form-control"],["type","button","cdPasswordButton","target_mutual_password",1,"btn","btn-light"],["source","target_mutual_password"],ue,me,Te,fe,Ce,Se,y,Ze,["for","initiators",1,"cd-col-form-label"],Be,["formArrayName","initiators",1,"cd-col-form-input"],["class","card mb-2",3,"formGroup",4,"ngFor","ngForOf"],[1,"btn","btn-light","float-right",3,"click"],Ge,[1,"card","mb-2",3,"formGroup"],ye,["type","button",1,"close",3,"click"],["for","client_iqn",1,"cd-col-form-label","required"],xe,["type","text","formControlName","client_iqn","cdTrim","",1,"form-control",3,"blur"],["for","user",1,"cd-col-form-label"],we,["formControlName","user","autocomplete","off","type","text",1,"form-control",3,"id"],["for","password",1,"cd-col-form-label"],qe,["formControlName","password","autocomplete","new-password","type","password",1,"form-control",3,"id"],["type","button",1,"btn","btn-light",3,"cdPasswordButton"],[3,"source"],["for","mutual_user",1,"cd-col-form-label"],L,["formControlName","mutual_user","autocomplete","off","type","text",1,"form-control",3,"id"],["for","mutual_password",1,"cd-col-form-label"],Ot,["formControlName","mutual_password","autocomplete","new-password","type","password",1,"form-control",3,"id"],["for","luns",1,"cd-col-form-label"],At,["class","row",4,"ngIf"],ht,Pt,It,bt,Nt,Dt,vt,Lt,Ft,$t,Zt,Bt,["elemClass","btn btn-light float-right",3,"data","options","messages"],Gt,yt,xt,["formArrayName","groups",1,"cd-col-form-input"],wt,qt,["for","group_id",1,"cd-col-form-label","required"],Ht,["type","text","formControlName","group_id",1,"form-control"],["for","members",1,"cd-col-form-label"],Kt,kt,Xt,Qt,zt]},template:function(t,o){1&t&&e.YNc(0,tn,66,40,"div",0),2&t&&e.Q6J("cdFormLoading",o.loading)},directives:[st.y,r._Y,r.JL,r.sg,v.V,g.P,f.o,r.Fj,h.b,r.JJ,r.u,lo,l.mk,l.O5,l.sg,co.H,r.Wl,O.p,r.x0,at.C,Je.s,r.CE],pipes:[l.rS,Ye.m,He.V],styles:[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}"]}),n})();var lt=p(68136),he=p(30982),ee=p(64337),ve=p(99466),Ee=p(68774),ct=p(55657),se=p(38047),Ve=p(18001),Le=p(97161),oe=p(74937);function on(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,31),e.qZA())}function nn(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,32),e.qZA())}function _n(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,33),e.qZA())}function sn(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,34),e.qZA())}function an(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,35),e.qZA())}function rn(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,36),e.qZA())}function ln(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,37),e.qZA())}function cn(n,_){1&n&&(e.TgZ(0,"span",30),e.SDv(1,38),e.qZA())}let dn=(()=>{class n{constructor(t,o,i,s,a){this.authStorageService=t,this.activeModal=o,this.actionLabels=i,this.iscsiService=s,this.notificationService=a,this.USER_REGEX=/^[\w\.:@_-]{8,64}$/,this.PASSWORD_REGEX=/^[\w@\-_\/]{12,16}$/,this.permission=this.authStorageService.getPermissions().iscsi}ngOnInit(){this.hasPermission=this.permission.update,this.createForm(),this.iscsiService.getDiscovery().subscribe(t=>{this.discoveryForm.patchValue(t)})}createForm(){this.discoveryForm=new M.d({user:new r.NI({value:"",disabled:!this.hasPermission}),password:new r.NI({value:"",disabled:!this.hasPermission}),mutual_user:new r.NI({value:"",disabled:!this.hasPermission}),mutual_password:new r.NI({value:"",disabled:!this.hasPermission})}),B.h.validateIf(this.discoveryForm.get("user"),()=>this.discoveryForm.getValue("password")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),B.h.validateIf(this.discoveryForm.get("password"),()=>this.discoveryForm.getValue("user")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),B.h.validateIf(this.discoveryForm.get("mutual_user"),()=>this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_password")]),B.h.validateIf(this.discoveryForm.get("mutual_password"),()=>this.discoveryForm.getValue("mutual_user"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user")])}submitAction(){this.iscsiService.updateDiscovery(this.discoveryForm.value).subscribe(()=>{this.notificationService.show(Ve.k.success,"Updated discovery authentication"),this.activeModal.close()},()=>{this.discoveryForm.setErrors({cdSubmitButton:!0})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(I.Kz),e.Y36(D.p4),e.Y36(k),e.Y36(Le.g))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-discovery-modal"]],decls:46,vars:13,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$;return _="Discovery Authentication",t="User",o="Password",i="Mutual User",s="Mutual Password",a="This field is required.",d="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",c="This field is required.",u="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",S="This field is required.",N="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",P="This field is required.",$="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","discoveryForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","user",1,"cd-col-form-label"],t,[1,"cd-col-form-input"],["id","user","formControlName","user","type","text","autocomplete","off",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","password",1,"cd-col-form-label"],o,[1,"input-group"],["id","password","formControlName","password","type","password","autocomplete","new-password",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","password",1,"btn","btn-light"],["source","password"],["for","mutual_user",1,"cd-col-form-label"],i,["id","mutual_user","formControlName","mutual_user","type","text","autocomplete","off",1,"form-control"],["for","mutual_password",1,"cd-col-form-label"],s,["id","mutual_password","formControlName","mutual_password","type","password","autocomplete","new-password",1,"form-control"],["type","button","cdPasswordButton","mutual_password",1,"btn","btn-light"],["source","mutual_password"],[1,"modal-footer"],[3,"form","showSubmit","submitText","submitActionEvent"],[1,"invalid-feedback"],a,d,c,u,S,N,P,$]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"div",7),e.TgZ(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e._UZ(11,"input",11),e.YNc(12,on,2,0,"span",12),e.YNc(13,nn,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(14,"div",7),e.TgZ(15,"label",13),e.SDv(16,14),e.qZA(),e.TgZ(17,"div",10),e.TgZ(18,"div",15),e._UZ(19,"input",16),e.TgZ(20,"span",17),e._UZ(21,"button",18),e._UZ(22,"cd-copy-2-clipboard-button",19),e.qZA(),e.qZA(),e.YNc(23,_n,2,0,"span",12),e.YNc(24,sn,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(25,"div",7),e.TgZ(26,"label",20),e.ynx(27),e.SDv(28,21),e.BQk(),e.qZA(),e.TgZ(29,"div",10),e._UZ(30,"input",22),e.YNc(31,an,2,0,"span",12),e.YNc(32,rn,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(33,"div",7),e.TgZ(34,"label",23),e.SDv(35,24),e.qZA(),e.TgZ(36,"div",10),e.TgZ(37,"div",15),e._UZ(38,"input",25),e.TgZ(39,"span",17),e._UZ(40,"button",26),e._UZ(41,"cd-copy-2-clipboard-button",27),e.qZA(),e.qZA(),e.YNc(42,ln,2,0,"span",12),e.YNc(43,cn,2,0,"span",12),e.qZA(),e.qZA(),e.qZA(),e.TgZ(44,"div",28),e.TgZ(45,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return o.submitAction()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.discoveryForm),e.xp6(8),e.Q6J("ngIf",o.discoveryForm.showError("user",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("user",i,"pattern")),e.xp6(10),e.Q6J("ngIf",o.discoveryForm.showError("password",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("password",i,"pattern")),e.xp6(7),e.Q6J("ngIf",o.discoveryForm.showError("mutual_user",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("mutual_user",i,"pattern")),e.xp6(10),e.Q6J("ngIf",o.discoveryForm.showError("mutual_password",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("mutual_password",i,"pattern")),e.xp6(2),e.Q6J("form",o.discoveryForm)("showSubmit",o.hasPermission)("submitText",o.actionLabels.SUBMIT)}},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,f.o,r.Fj,h.b,r.JJ,r.u,l.O5,at.C,Je.s,O.p],styles:[""]}),n})();var pn=p(86969);let dt=(()=>{class n{constructor(t){this.router=t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(m.F0))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-tabs"]],decls:8,vars:1,consts:function(){let _,t;return _="Overview",t="Targets",[["ngbNav","",1,"nav-tabs",3,"activeId","navChange"],["nav","ngbNav"],["ngbNavItem","/block/iscsi/overview"],["ngbNavLink",""],_,["ngbNavItem","/block/iscsi/targets"],t]},template:function(t,o){1&t&&(e.TgZ(0,"ul",0,1),e.NdJ("navChange",function(s){return o.router.navigate([s.nextId])}),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"li",5),e.TgZ(6,"a",3),e.SDv(7,6),e.qZA(),e.qZA(),e.qZA()),2&t&&e.Q6J("activeId",o.router.url)},directives:[I.Pz,I.nv,I.Vx],styles:[""]}),n})();var pt=p(34501),gn=p(30490),Re=p(94928),un=p(68962);const mn=["highlightTpl"],Tn=["detailTable"],fn=["tree"],Cn=function(){return["logged_in"]},Sn=function(){return["logged_out"]},En=function(n,_){return{"badge-success":n,"badge-danger":_}};function Rn(n,_){if(1&n&&(e._UZ(0,"i"),e.TgZ(1,"span"),e._uU(2),e.qZA(),e._uU(3," \xa0 "),e.TgZ(4,"span",8),e._uU(5),e.qZA()),2&n){const t=_.$implicit;e.Tol(t.data.cdIcon),e.xp6(2),e.Oqu(t.data.name),e.xp6(2),e.Q6J("ngClass",e.WLB(7,En,e.DdM(5,Cn).includes(t.data.status),e.DdM(6,Sn).includes(t.data.status))),e.xp6(1),e.hij(" ",t.data.status," ")}}function Mn(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"legend"),e._uU(2),e.qZA(),e._UZ(3,"cd-table",10,11),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.Oqu(t.title),e.xp6(1),e.Q6J("data",t.data)("columns",t.columns)("limit",0)}}function On(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t)}}function An(n,_){if(1&n&&(e.TgZ(0,"strong"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t)}}function hn(n,_){if(1&n&&(e.YNc(0,On,2,1,"span",12),e.YNc(1,An,2,1,"strong",12)),2&n){const t=_.row;e.Q6J("ngIf",void 0===t.default||t.default===t.current),e.xp6(1),e.Q6J("ngIf",void 0!==t.default&&t.default!==t.current)}}let Pn=(()=>{class n{constructor(t,o){this.iscsiBackstorePipe=t,this.booleanTextPipe=o,this.icons=T.P,this.metadata={},this.nodes=[],this.treeOptions={useVirtualScroll:!0,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}}}set content(t){this.detailTable=t,t&&t.updateColumns()}ngOnInit(){this.columns=[{prop:"displayName",name:"Name",flexGrow:1,cellTemplate:this.highlightTpl},{prop:"current",name:"Current",flexGrow:1,cellTemplate:this.highlightTpl},{prop:"default",name:"Default",flexGrow:1,cellTemplate:this.highlightTpl}]}ngOnChanges(){this.selection&&(this.selectedItem=this.selection,this.generateTree()),this.data=void 0}generateTree(){const t=C().cloneDeep(this.selectedItem.target_controls);this.cephIscsiConfigVersion>10&&C().extend(t,C().cloneDeep(this.selectedItem.auth)),this.metadata={root:t};const o={target:{expanded:C().join(this.selectedItem.cdExecuting?[T.P.large,T.P.spinner,T.P.spin]:[T.P.large,T.P.bullseye]," ")},initiators:{expanded:C().join([T.P.large,T.P.user]," "),leaf:C().join([T.P.user]," ")},groups:{expanded:C().join([T.P.large,T.P.users]," "),leaf:C().join([T.P.users]," ")},disks:{expanded:C().join([T.P.large,T.P.disk]," "),leaf:C().join([T.P.disk]," ")},portals:{expanded:C().join([T.P.large,T.P.server]," "),leaf:C().join([T.P.server]," ")}},i=[];C().forEach(this.selectedItem.disks,c=>{const u="disk_"+c.pool+"_"+c.image;this.metadata[u]={controls:c.controls,backstore:c.backstore},["wwn","lun"].forEach(S=>{S in c&&(this.metadata[u][S]=c[S])}),i.push({name:`${c.pool}/${c.image}`,cdId:u,cdIcon:o.disks.leaf})});const s=[];C().forEach(this.selectedItem.portals,c=>{s.push({name:`${c.host}:${c.ip}`,cdIcon:o.portals.leaf})});const a=[];C().forEach(this.selectedItem.clients,c=>{const u=C().cloneDeep(c.auth);c.info&&(C().extend(u,c.info),delete u.state,C().forEach(Object.keys(c.info.state),P=>{u[P.toLowerCase()]=c.info.state[P]})),this.metadata["client_"+c.client_iqn]=u;const S=[];c.luns.forEach(P=>{S.push({name:`${P.pool}/${P.image}`,cdId:"disk_"+P.pool+"_"+P.image,cdIcon:o.disks.leaf})});let N="";c.info&&(N=Object.keys(c.info.state).includes("LOGGED_IN")?"logged_in":"logged_out"),a.push({name:c.client_iqn,status:N,cdId:"client_"+c.client_iqn,children:S,cdIcon:o.initiators.leaf})});const d=[];C().forEach(this.selectedItem.groups,c=>{const u=[];c.disks.forEach(N=>{u.push({name:`${N.pool}/${N.image}`,cdId:"disk_"+N.pool+"_"+N.image,cdIcon:o.disks.leaf})});const S=[];c.members.forEach(N=>{S.push({name:N,cdId:"client_"+N})}),d.push({name:c.group_id,cdIcon:o.groups.leaf,children:[{name:"Disks",children:u,cdIcon:o.disks.expanded},{name:"Initiators",children:S,cdIcon:o.initiators.expanded}]})}),this.nodes=[{name:this.selectedItem.target_iqn,cdId:"root",isExpanded:!0,cdIcon:o.target.expanded,children:[{name:"Disks",isExpanded:!0,children:i,cdIcon:o.disks.expanded},{name:"Portals",isExpanded:!0,children:s,cdIcon:o.portals.expanded},{name:"Initiators",isExpanded:!0,children:a,cdIcon:o.initiators.expanded},{name:"Groups",isExpanded:!0,children:d,cdIcon:o.groups.expanded}]}]}format(t){return"boolean"==typeof t?this.booleanTextPipe.transform(t):t}onNodeSelected(t,o){var i,s,a,d;if(ne.iM.ACTIVATE(t,o,!0),o.data.cdId){this.title=o.data.name;const c=this.metadata[o.data.cdId]||{};"root"===o.data.cdId?(null===(i=this.detailTable)||void 0===i||i.toggleColumn({prop:"default",isHidden:!0}),this.data=C().map(this.settings.target_default_controls,(u,S)=>({displayName:S,default:u=this.format(u),current:C().isUndefined(c[S])?u:this.format(c[S])})),this.cephIscsiConfigVersion>10&&["user","password","mutual_user","mutual_password"].forEach(u=>{this.data.push({displayName:u,default:null,current:c[u]})})):o.data.cdId.toString().startsWith("disk_")?(null===(s=this.detailTable)||void 0===s||s.toggleColumn({prop:"default",isHidden:!0}),this.data=C().map(this.settings.disk_default_controls[c.backstore],(u,S)=>({displayName:S,default:u=this.format(u),current:C().isUndefined(c.controls[S])?u:this.format(c.controls[S])})),this.data.push({displayName:"backstore",default:this.iscsiBackstorePipe.transform(this.settings.default_backstore),current:this.iscsiBackstorePipe.transform(c.backstore)}),["wwn","lun"].forEach(u=>{u in c&&this.data.push({displayName:u,default:void 0,current:c[u]})})):(null===(a=this.detailTable)||void 0===a||a.toggleColumn({prop:"default",isHidden:!1}),this.data=C().map(c,(u,S)=>({displayName:S,default:void 0,current:this.format(u)})))}else this.data=void 0;null===(d=this.detailTable)||void 0===d||d.updateColumns()}onUpdateData(){this.tree.treeModel.expandAll()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(He.V),e.Y36(un.T))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-details"]],viewQuery:function(t,o){if(1&t&&(e.Gf(mn,7),e.Gf(Tn,5),e.Gf(fn,5)),2&t){let i;e.iGM(i=e.CRH())&&(o.highlightTpl=i.first),e.iGM(i=e.CRH())&&(o.content=i.first),e.iGM(i=e.CRH())&&(o.tree=i.first)}},inputs:{selection:"selection",settings:"settings",cephIscsiConfigVersion:"cephIscsiConfigVersion"},features:[e.TTD],decls:11,vars:3,consts:function(){let _;return _="iSCSI Topology",[[1,"row"],[1,"col-6"],_,[3,"nodes","options","updateData"],["tree",""],["treeNodeTemplate",""],["class","col-6 metadata",4,"ngIf"],["highlightTpl",""],[1,"badge",3,"ngClass"],[1,"col-6","metadata"],["columnMode","flex",3,"data","columns","limit"],["detailTable",""],[4,"ngIf"]]},template:function(t,o){1&t&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"legend"),e.SDv(3,2),e.qZA(),e.TgZ(4,"tree-root",3,4),e.NdJ("updateData",function(){return o.onUpdateData()}),e.YNc(6,Rn,6,10,"ng-template",null,5,e.W1O),e.qZA(),e.qZA(),e.YNc(8,Mn,5,4,"div",6),e.qZA(),e.YNc(9,hn,2,2,"ng-template",null,7,e.W1O)),2&t&&(e.xp6(4),e.Q6J("nodes",o.nodes)("options",o.treeOptions),e.xp6(4),e.Q6J("ngIf",o.data))},directives:[ne.qr,l.O5,l.mk,ee.a],styles:[""]}),n})();function In(n,_){if(1&n&&(e.ynx(0),e._UZ(1,"br"),e.TgZ(2,"span"),e.SDv(3,6),e.qZA(),e.TgZ(4,"pre"),e._uU(5),e.qZA(),e.BQk()),2&n){const t=e.oxw(2);e.xp6(5),e.Oqu(t.status)}}function bn(n,_){if(1&n&&(e.TgZ(0,"cd-alert-panel",2),e.ynx(1),e.tHW(2,3),e._UZ(3,"cd-doc",4),e.N_p(),e.BQk(),e.YNc(4,In,6,1,"ng-container",5),e.qZA()),2&n){const t=e.oxw();e.xp6(4),e.Q6J("ngIf",t.status)}}function Nn(n,_){if(1&n&&e._UZ(0,"cd-iscsi-target-details",15),2&n){const t=e.oxw(2);e.Q6J("cephIscsiConfigVersion",t.cephIscsiConfigVersion)("selection",t.expandedRow)("settings",t.settings)}}const Dn=function(n){return[n]};function vn(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",7,8),e.NdJ("fetchData",function(){return e.CHM(t),e.oxw().getTargets()})("setExpandedRow",function(i){return e.CHM(t),e.oxw().setExpandedRow(i)})("updateSelection",function(i){return e.CHM(t),e.oxw().updateSelection(i)}),e.TgZ(2,"div",9),e._UZ(3,"cd-table-actions",10),e.TgZ(4,"button",11),e.NdJ("click",function(){return e.CHM(t),e.oxw().configureDiscoveryAuth()}),e._UZ(5,"i",12),e.ynx(6),e.SDv(7,13),e.BQk(),e.qZA(),e.qZA(),e.YNc(8,Nn,1,3,"cd-iscsi-target-details",14),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.targets)("columns",t.columns)("hasDetails",!0)("autoReload",!1)("status",t.tableStatus),e.xp6(3),e.Q6J("permission",t.permission)("selection",t.selection)("tableActions",t.tableActions),e.xp6(2),e.Q6J("ngClass",e.VKq(10,Dn,t.icons.key)),e.xp6(3),e.Q6J("ngIf",t.expandedRow)}}let Ln=(()=>{class n extends lt.o{constructor(t,o,i,s,a,d,c,u,S){super(S),this.authStorageService=t,this.iscsiService=o,this.joinPipe=i,this.taskListService=s,this.notAvailablePipe=a,this.modalService=d,this.taskWrapper=c,this.actionLabels=u,this.ngZone=S,this.available=void 0,this.selection=new Ee.r,this.targets=[],this.icons=T.P,this.builders={"iscsi/target/create":N=>({target_iqn:N.target_iqn})},this.permission=this.authStorageService.getPermissions().iscsi,this.tableActions=[{permission:"create",icon:T.P.add,routerLink:()=>"/block/iscsi/targets/create",name:this.actionLabels.CREATE},{permission:"update",icon:T.P.edit,routerLink:()=>`/block/iscsi/targets/edit/${this.selection.first().target_iqn}`,name:this.actionLabels.EDIT,disable:()=>this.getEditDisableDesc()},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteIscsiTargetModal(),name:this.actionLabels.DELETE,disable:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:"Target",prop:"target_iqn",flexGrow:2,cellTransformation:ve.e.executing},{name:"Portals",prop:"cdPortals",pipe:this.joinPipe,flexGrow:2},{name:"Images",prop:"cdImages",pipe:this.joinPipe,flexGrow:2},{name:"# Sessions",prop:"info.num_sessions",pipe:this.notAvailablePipe,flexGrow:1}],this.iscsiService.status().subscribe(t=>{this.available=t.available,t.available||(this.status=t.message)})}getTargets(){this.available&&(this.setTableRefreshTimeout(),this.iscsiService.version().subscribe(t=>{this.cephIscsiConfigVersion=t.ceph_iscsi_config_version}),this.taskListService.init(()=>this.iscsiService.listTargets(),t=>this.prepareResponse(t),t=>this.targets=t,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders),this.iscsiService.settings().subscribe(t=>{this.settings=t}))}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}getEditDisableDesc(){const t=this.selection.first();return t&&(null==t?void 0:t.cdExecuting)?t.cdExecuting:t&&C().isUndefined(null==t?void 0:t.info)?"Unavailable gateway(s)":!t}getDeleteDisableDesc(){var t;const o=this.selection.first();return(null==o?void 0:o.cdExecuting)?o.cdExecuting:o&&C().isUndefined(null==o?void 0:o.info)?"Unavailable gateway(s)":o&&(null===(t=null==o?void 0:o.info)||void 0===t?void 0:t.num_sessions)?"Target has active sessions":!o}prepareResponse(t){return t.forEach(o=>{o.cdPortals=o.portals.map(i=>`${i.host}:${i.ip}`),o.cdImages=o.disks.map(i=>`${i.pool}/${i.image}`)}),t}onFetchError(){this.table.reset()}itemFilter(t,o){return t.target_iqn===o.metadata.target_iqn}taskFilter(t){return["iscsi/target/create","iscsi/target/edit","iscsi/target/delete"].includes(t.name)}updateSelection(t){this.selection=t}deleteIscsiTargetModal(){const t=this.selection.first().target_iqn;this.modalRef=this.modalService.show(he.M,{itemDescription:"iSCSI target",itemNames:[t],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new F.R("iscsi/target/delete",{target_iqn:t}),call:this.iscsiService.deleteTarget(t)})})}configureDiscoveryAuth(){this.modalService.show(dn)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(k),e.Y36(pn.A),e.Y36(se.j),e.Y36(ct.g),e.Y36(re.Z),e.Y36(Q.P),e.Y36(D.p4),e.Y36(e.R0b))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-list"]],viewQuery:function(t,o){if(1&t&&e.Gf(ee.a,5),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first)}},features:[e._Bn([se.j]),e.qOj],decls:3,vars:2,consts:function(){let _,t,o,i;return _="iSCSI Targets not available",t="Please consult the " + "\ufffd#3\ufffd" + "" + "\ufffd/#3\ufffd" + " on how to configure and enable the iSCSI Targets management functionality.",o="Available information:",i="Discovery authentication",[["type","info","title",_,4,"ngIf"],["columnMode","flex","identifier","target_iqn","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","autoReload","status","fetchData","setExpandedRow","updateSelection",4,"ngIf"],["type","info","title",_],t,["section","iscsi"],[4,"ngIf"],o,["columnMode","flex","identifier","target_iqn","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","autoReload","status","fetchData","setExpandedRow","updateSelection"],["table",""],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"],["type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],i,["cdTableDetail","",3,"cephIscsiConfigVersion","selection","settings",4,"ngIf"],["cdTableDetail","",3,"cephIscsiConfigVersion","selection","settings"]]},template:function(t,o){1&t&&(e._UZ(0,"cd-iscsi-tabs"),e.YNc(1,bn,5,1,"cd-alert-panel",0),e.YNc(2,vn,9,12,"cd-table",1)),2&t&&(e.xp6(1),e.Q6J("ngIf",!1===o.available),e.xp6(1),e.Q6J("ngIf",!0===o.available))},directives:[dt,l.O5,pt.G,gn.K,ee.a,Re.K,f.o,l.mk,Pn],styles:[""]}),n})();var Ue=p(66369),Fn=p(76446),$n=p(90068);const Zn=["iscsiSparklineTpl"],Bn=["iscsiPerSecondTpl"],Gn=["iscsiRelativeDateTpl"];function yn(n,_){if(1&n&&(e.TgZ(0,"span"),e._UZ(1,"cd-sparkline",9),e.qZA()),2&n){const t=e.oxw(),o=t.value,i=t.row;e.xp6(1),e.Q6J("data",o)("isBinary",i.cdIsBinary)}}function xn(n,_){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function wn(n,_){if(1&n&&(e.YNc(0,yn,2,2,"span",7),e.YNc(1,xn,2,0,"span",8)),2&n){const t=_.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}function qn(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.hij(" ",t," /s ")}}function Hn(n,_){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function Kn(n,_){if(1&n&&(e.YNc(0,qn,2,1,"span",7),e.YNc(1,Hn,2,0,"span",8)),2&n){const t=_.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}function kn(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"notAvailable"),e.ALo(3,"relativeDate"),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.hij(" ",e.lcZ(2,1,e.lcZ(3,3,t))," ")}}function Xn(n,_){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function Qn(n,_){if(1&n&&(e.YNc(0,kn,4,5,"span",7),e.YNc(1,Xn,2,0,"span",8)),2&n){const t=_.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}let zn=(()=>{class n{constructor(t,o,i){this.iscsiService=t,this.dimlessPipe=o,this.iscsiBackstorePipe=i,this.gateways=[],this.images=[]}ngOnInit(){this.gatewaysColumns=[{name:"Name",prop:"name"},{name:"State",prop:"state",flexGrow:1,cellTransformation:ve.e.badge,customTemplateConfig:{map:{up:{class:"badge-success"},down:{class:"badge-danger"}}}},{name:"# Targets",prop:"num_targets"},{name:"# Sessions",prop:"num_sessions"}],this.imagesColumns=[{name:"Pool",prop:"pool"},{name:"Image",prop:"image"},{name:"Backstore",prop:"backstore",pipe:this.iscsiBackstorePipe},{name:"Read Bytes",prop:"stats_history.rd_bytes",cellTemplate:this.iscsiSparklineTpl},{name:"Write Bytes",prop:"stats_history.wr_bytes",cellTemplate:this.iscsiSparklineTpl},{name:"Read Ops",prop:"stats.rd",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:"Write Ops",prop:"stats.wr",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:"A/O Since",prop:"optimized_since",cellTemplate:this.iscsiRelativeDateTpl}]}refresh(){this.iscsiService.overview().subscribe(t=>{this.gateways=t.gateways,this.images=t.images,this.images.map(o=>(o.stats_history&&(o.stats_history.rd_bytes=o.stats_history.rd_bytes.map(i=>i[1]),o.stats_history.wr_bytes=o.stats_history.wr_bytes.map(i=>i[1])),o.cdIsBinary=!0,o))})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(k),e.Y36(Ue.n),e.Y36(He.V))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi"]],viewQuery:function(t,o){if(1&t&&(e.Gf(Zn,7),e.Gf(Bn,7),e.Gf(Gn,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.iscsiSparklineTpl=i.first),e.iGM(i=e.CRH())&&(o.iscsiPerSecondTpl=i.first),e.iGM(i=e.CRH())&&(o.iscsiRelativeDateTpl=i.first)}},decls:13,vars:4,consts:function(){let _,t;return _="Gateways",t="Images",[_,[3,"data","columns","fetchData"],t,[3,"data","columns"],["iscsiSparklineTpl",""],["iscsiPerSecondTpl",""],["iscsiRelativeDateTpl",""],[4,"ngIf"],["class","text-muted",4,"ngIf"],[3,"data","isBinary"],[1,"text-muted"]]},template:function(t,o){1&t&&(e._UZ(0,"cd-iscsi-tabs"),e.TgZ(1,"legend"),e.SDv(2,0),e.qZA(),e.TgZ(3,"cd-table",1),e.NdJ("fetchData",function(){return o.refresh()}),e.qZA(),e.TgZ(4,"legend"),e.SDv(5,2),e.qZA(),e._UZ(6,"cd-table",3),e.YNc(7,wn,2,2,"ng-template",null,4,e.W1O),e.YNc(9,Kn,2,2,"ng-template",null,5,e.W1O),e.YNc(11,Qn,2,2,"ng-template",null,6,e.W1O)),2&t&&(e.xp6(3),e.Q6J("data",o.gateways)("columns",o.gatewaysColumns),e.xp6(3),e.Q6J("data",o.images)("columns",o.imagesColumns))},directives:[dt,ee.a,l.O5,Fn.l],pipes:[ct.g,$n.h],styles:[""]}),n})(),Jn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[[l.ez,_e.m,I.Oz,m.Bz,r.u5,r.UX,I.ZQ]]}),n})();var Yn=p(75319),Vn=p(26215),Un=p(45435),gt=p(55358);let K=class{constructor(_,t){this.http=_,this.timerService=t,this.REFRESH_INTERVAL=3e4,this.summaryDataSource=new Vn.X(null),this.summaryData$=this.summaryDataSource.asObservable()}startPolling(){return this.timerService.get(()=>this.retrieveSummaryObservable(),this.REFRESH_INTERVAL).subscribe(this.retrieveSummaryObserver())}refresh(){return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver())}retrieveSummaryObservable(){return this.http.get("api/block/mirroring/summary")}retrieveSummaryObserver(){return _=>{this.summaryDataSource.next(_)}}subscribeSummary(_,t){return this.summaryData$.pipe((0,Un.h)(o=>!!o)).subscribe(_,t)}getPool(_){return this.http.get(`api/block/mirroring/pool/${_}`)}updatePool(_,t){return this.http.put(`api/block/mirroring/pool/${_}`,t,{observe:"response"})}getSiteName(){return this.http.get("api/block/mirroring/site_name")}setSiteName(_){return this.http.put("api/block/mirroring/site_name",{site_name:_},{observe:"response"})}createBootstrapToken(_){return this.http.post(`api/block/mirroring/pool/${_}/bootstrap/token`,{})}importBootstrapToken(_,t,o){return this.http.post(`api/block/mirroring/pool/${_}/bootstrap/peer`,{direction:t,token:o},{observe:"response"})}getPeer(_,t){return this.http.get(`api/block/mirroring/pool/${_}/peer/${t}`)}addPeer(_,t){return this.http.post(`api/block/mirroring/pool/${_}/peer`,t,{observe:"response"})}updatePeer(_,t,o){return this.http.put(`api/block/mirroring/pool/${_}/peer/${t}`,o,{observe:"response"})}deletePeer(_,t){return this.http.delete(`api/block/mirroring/pool/${_}/peer/${t}`,{observe:"response"})}};K.\u0275fac=function(_){return new(_||K)(e.LFG(ie.eN),e.LFG(gt.f))},K.\u0275prov=e.Yz7({token:K,factory:K.\u0275fac,providedIn:"root"}),(0,b.gn)([(0,b.fM)(0,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[String]),(0,b.w6)("design:returntype",void 0)],K.prototype,"setSiteName",null),(0,b.gn)([(0,b.fM)(1,Y.G),(0,b.fM)(2,Y.G),(0,b.w6)("design:type",Function),(0,b.w6)("design:paramtypes",[String,String,String]),(0,b.w6)("design:returntype",void 0)],K.prototype,"importBootstrapToken",null),K=(0,b.gn)([Y.o,(0,b.w6)("design:paramtypes",[ie.eN,gt.f])],K);var je=p(58071),jn=p(68307),ut=p(12627),le=p(82945),Wn=p(39749),ei=p(13472);function ti(n,_){1&n&&(e.TgZ(0,"span",25),e.SDv(1,26),e.qZA())}function oi(n,_){if(1&n&&(e.TgZ(0,"div",27),e._UZ(1,"input",28),e.TgZ(2,"label",29),e._uU(3),e.qZA(),e.qZA()),2&n){const t=_.$implicit;e.xp6(1),e.s9C("id",t.name),e.s9C("name",t.name),e.s9C("formControlName",t.name),e.xp6(1),e.s9C("for",t.name),e.xp6(1),e.Oqu(t.name)}}function ni(n,_){1&n&&(e.TgZ(0,"span",25),e.SDv(1,30),e.qZA())}let ii=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.rbdMirroringService=o,this.taskWrapper=i,this.pools=[],this.createForm()}createForm(){this.createBootstrapForm=new M.d({siteName:new r.NI("",{validators:[r.kI.required]}),pools:new r.cw({},{validators:[this.validatePools()]}),token:new r.NI("",{})})}ngOnInit(){this.createBootstrapForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(t=>{this.createBootstrapForm.get("siteName").setValue(t.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.pools=t.content_data.pools.reduce((s,a)=>(s.push({name:a.name,mirror_mode:a.mirror_mode}),s),[]);const i=this.createBootstrapForm.get("pools");C().each(this.pools,s=>{const a=s.name,d="disabled"===s.mirror_mode,c=i.controls[a];c?d&&c.disabled?c.enable():!d&&c.enabled&&(c.disable(),c.setValue(!0)):i.addControl(a,new r.NI({value:!d,disabled:!d}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return t=>{let o=0;return C().each(t.controls,i=>{!0===i.value&&++o}),o>0?null:{requirePool:!0}}}generate(){this.createBootstrapForm.get("token").setValue("");let t="";const o=[],i=this.createBootstrapForm.get("pools");C().each(i.controls,(u,S)=>{!0===u.value&&(t=S,u.disabled||o.push(S))});const s={mirror_mode:"image"},a=(0,je.z)(this.rbdMirroringService.setSiteName(this.createBootstrapForm.getValue("siteName")),(0,W.D)(o.map(u=>this.rbdMirroringService.updatePool(u,s))),this.rbdMirroringService.createBootstrapToken(t).pipe((0,jn.b)(u=>this.createBootstrapForm.get("token").setValue(u.token)))).pipe((0,ut.Z)()),d=()=>{this.rbdMirroringService.refresh(),this.createBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/bootstrap/create",{}),call:a}).subscribe({error:d,complete:d})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-bootstrap-create-modal"]],decls:32,vars:6,consts:function(){let _,t,o,i,s,a,d,c,u,S,N;return _="Create Bootstrap Token",t="To create a bootstrap token which can be imported by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, and click\xA0 " + "\ufffd#10\ufffd" + "Generate" + "\ufffd/#10\ufffd" + ".",o="Site Name",i="Name...",s="Pools",a="Generate",d="Token",c="Generated token...",u="Close",S="This field is required.",N="At least one pool is required.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","createBootstrapForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","siteName",1,"col-form-label","required"],o,["type","text","placeholder",i,"id","siteName","name","siteName","formControlName","siteName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["formGroupName","pools",1,"form-group"],["for","pools",1,"col-form-label","required"],s,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"mb-4","float-right",3,"form","submitAction"],a,["for","token",1,"col-form-label"],d,["placeholder",c,"id","token","formControlName","token","readonly","",1,"form-control","resize-vertical"],["source","token",1,"float-right"],[1,"modal-footer"],["name",u,3,"backAction"],[1,"invalid-feedback"],S,[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],N]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,ti,2,0,"span",12),e.qZA(),e.TgZ(16,"div",13),e.TgZ(17,"label",14),e.SDv(18,15),e.qZA(),e.YNc(19,oi,4,5,"div",16),e.YNc(20,ni,2,0,"span",12),e.qZA(),e.TgZ(21,"cd-submit-button",17),e.NdJ("submitAction",function(){return o.generate()}),e.SDv(22,18),e.qZA(),e.TgZ(23,"div",8),e.TgZ(24,"label",19),e.TgZ(25,"span"),e.SDv(26,20),e.qZA(),e.qZA(),e.TgZ(27,"textarea",21),e._uU(28," "),e.qZA(),e.qZA(),e._UZ(29,"cd-copy-2-clipboard-button",22),e.qZA(),e.TgZ(30,"div",23),e.TgZ(31,"cd-back-button",24),e.NdJ("backAction",function(){return o.activeModal.close()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.createBootstrapForm),e.xp6(11),e.Q6J("ngIf",o.createBootstrapForm.showError("siteName",i,"required")),e.xp6(4),e.Q6J("ngForOf",o.pools),e.xp6(1),e.Q6J("ngIf",o.createBootstrapForm.showError("pools",i,"requirePool")),e.xp6(1),e.Q6J("form",o.createBootstrapForm)}},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,r.x0,l.sg,Wn.w,Je.s,ei.W,r.Wl],styles:[".form-group.ng-invalid[_ngcontent-%COMP%] .invalid-feedback[_ngcontent-%COMP%]{display:block}"]}),n})();function _i(n,_){1&n&&(e.TgZ(0,"span",26),e.SDv(1,27),e.qZA())}function si(n,_){if(1&n&&(e.TgZ(0,"option",28),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.key),e.xp6(1),e.Oqu(t.desc)}}function ai(n,_){if(1&n&&(e.TgZ(0,"div",29),e._UZ(1,"input",30),e.TgZ(2,"label",31),e._uU(3),e.qZA(),e.qZA()),2&n){const t=_.$implicit;e.xp6(1),e.s9C("id",t.name),e.s9C("name",t.name),e.s9C("formControlName",t.name),e.xp6(1),e.s9C("for",t.name),e.xp6(1),e.Oqu(t.name)}}function ri(n,_){1&n&&(e.TgZ(0,"span",26),e.SDv(1,32),e.qZA())}function li(n,_){1&n&&(e.TgZ(0,"span",26),e.SDv(1,33),e.qZA())}function ci(n,_){1&n&&(e.TgZ(0,"span",26),e.SDv(1,34),e.qZA())}let di=(()=>{class n{constructor(t,o,i,s){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=s,this.pools=[],this.directions=[{key:"rx-tx",desc:"Bidirectional"},{key:"rx",desc:"Unidirectional (receive-only)"}],this.createForm()}createForm(){this.importBootstrapForm=new M.d({siteName:new r.NI("",{validators:[r.kI.required]}),direction:new r.NI("rx-tx",{}),pools:new r.cw({},{validators:[this.validatePools()]}),token:new r.NI("",{validators:[r.kI.required,this.validateToken()]})})}ngOnInit(){this.rbdMirroringService.getSiteName().subscribe(t=>{this.importBootstrapForm.get("siteName").setValue(t.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.pools=t.content_data.pools.reduce((s,a)=>(s.push({name:a.name,mirror_mode:a.mirror_mode}),s),[]);const i=this.importBootstrapForm.get("pools");C().each(this.pools,s=>{const a=s.name,d="disabled"===s.mirror_mode,c=i.controls[a];c?d&&c.disabled?c.enable():!d&&c.enabled&&(c.disable(),c.setValue(!0)):i.addControl(a,new r.NI({value:!d,disabled:!d}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return t=>{let o=0;return C().each(t.controls,i=>{!0===i.value&&++o}),o>0?null:{requirePool:!0}}}validateToken(){return t=>{try{if(JSON.parse(atob(t.value)))return null}catch(o){}return{invalidToken:!0}}}import(){const t=[],o=[],i=this.importBootstrapForm.get("pools");C().each(i.controls,(u,S)=>{!0===u.value&&(t.push(S),u.disabled||o.push(S))});const s={mirror_mode:"image"};let a=(0,je.z)(this.rbdMirroringService.setSiteName(this.importBootstrapForm.getValue("siteName")),(0,W.D)(o.map(u=>this.rbdMirroringService.updatePool(u,s))));a=t.reduce((u,S)=>(0,je.z)(u,this.rbdMirroringService.importBootstrapToken(S,this.importBootstrapForm.getValue("direction"),this.importBootstrapForm.getValue("token"))),a).pipe((0,ut.Z)());const d=()=>{this.rbdMirroringService.refresh(),this.importBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/bootstrap/import",{}),call:a}).subscribe({error:d,complete:()=>{d(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-bootstrap-import-modal"]],decls:36,vars:10,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P;return _="Import Bootstrap Token",t="To import a bootstrap token which was created by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, provide the generated token, and click\xA0" + "\ufffd#10\ufffd" + "Import" + "\ufffd/#10\ufffd" + ".",o="Site Name",i="Name...",s="Direction",a="Pools",d="Token",c="Generated token...",u="This field is required.",S="At least one pool is required.",N="This field is required.",P="The token is invalid.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","importBootstrapForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","siteName",1,"col-form-label","required"],o,["type","text","placeholder",i,"id","siteName","name","siteName","formControlName","siteName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","direction",1,"col-form-label"],s,["id","direction","name","direction","formControlName","direction",1,"form-control"],[3,"value",4,"ngFor","ngForOf"],["formGroupName","pools",1,"form-group"],["for","pools",1,"col-form-label","required"],a,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],["for","token",1,"col-form-label","required"],d,["placeholder",c,"id","token","formControlName","token",1,"form-control","resize-vertical"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],u,[3,"value"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],S,N,P]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,_i,2,0,"span",12),e.qZA(),e.TgZ(16,"div",8),e.TgZ(17,"label",13),e.TgZ(18,"span"),e.SDv(19,14),e.qZA(),e.qZA(),e.TgZ(20,"select",15),e.YNc(21,si,2,2,"option",16),e.qZA(),e.qZA(),e.TgZ(22,"div",17),e.TgZ(23,"label",18),e.SDv(24,19),e.qZA(),e.YNc(25,ai,4,5,"div",20),e.YNc(26,ri,2,0,"span",12),e.qZA(),e.TgZ(27,"div",8),e.TgZ(28,"label",21),e.SDv(29,22),e.qZA(),e.TgZ(30,"textarea",23),e._uU(31," "),e.qZA(),e.YNc(32,li,2,0,"span",12),e.YNc(33,ci,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(34,"div",24),e.TgZ(35,"cd-form-button-panel",25),e.NdJ("submitActionEvent",function(){return o.import()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.importBootstrapForm),e.xp6(11),e.Q6J("ngIf",o.importBootstrapForm.showError("siteName",i,"required")),e.xp6(6),e.Q6J("ngForOf",o.directions),e.xp6(4),e.Q6J("ngForOf",o.pools),e.xp6(1),e.Q6J("ngIf",o.importBootstrapForm.showError("pools",i,"requirePool")),e.xp6(6),e.Q6J("ngIf",o.importBootstrapForm.showError("token",i,"required")),e.xp6(1),e.Q6J("ngIf",o.importBootstrapForm.showError("token",i,"invalidToken")),e.xp6(2),e.Q6J("form",o.importBootstrapForm)("submitText",o.actionLabels.SUBMIT)}},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,r.EJ,l.sg,r.x0,O.p,r.YN,r.Kr,r.Wl],styles:[""]}),n})(),pi=(()=>{class n{constructor(t,o,i,s){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=s,this.createForm()}createForm(){this.editSiteNameForm=new M.d({siteName:new r.NI("",{})})}ngOnInit(){this.editSiteNameForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(t=>{this.editSiteNameForm.get("siteName").setValue(t.site_name)})}update(){this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/site_name/edit",{}),call:this.rbdMirroringService.setSiteName(this.editSiteNameForm.getValue("siteName"))}).subscribe({error:()=>this.editSiteNameForm.setErrors({cdSubmitButton:!0}),complete:()=>{this.rbdMirroringService.refresh(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-edit-site-mode-modal"]],decls:17,vars:4,consts:function(){let _,t,o,i;return _="Edit site name",t="Edit the site name and click\xA0 " + "\ufffd#10\ufffd" + "Update" + "\ufffd/#10\ufffd" + ".",o="Site Name",i="Name...",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","editSiteNameForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","siteName",1,"col-form-label","required"],o,["type","text","placeholder",i,"id","siteName","name","siteName","formControlName","siteName","autofocus","",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.qZA(),e.qZA(),e.TgZ(15,"div",12),e.TgZ(16,"cd-form-button-panel",13),e.NdJ("submitActionEvent",function(){return o.update()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.editSiteNameForm),e.xp6(12),e.Q6J("form",o.editSiteNameForm)("submitText",o.actionLabels.UPDATE))},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,O.p],styles:[""]}),n})();var U=p(69158),gi=p(58111);let We=(()=>{class n{transform(t){return"warning"===t?"badge badge-warning":"error"===t?"badge badge-danger":"success"===t?"badge badge-success":"badge badge-info"}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=e.Yjl({name:"mirrorHealthColor",type:n,pure:!0}),n})();const ui=["healthTmpl"];function mi(n,_){if(1&n&&(e.TgZ(0,"span",2),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=_.value;e.Q6J("ngClass",e.lcZ(1,2,_.row.health_color)),e.xp6(2),e.Oqu(o)}}let Ti=(()=>{class n{constructor(t,o){this.rbdMirroringService=t,this.cephShortVersionPipe=o,this.tableStatus=new U.E}ngOnInit(){this.columns=[{prop:"instance_id",name:"Instance",flexGrow:2},{prop:"id",name:"ID",flexGrow:2},{prop:"server_hostname",name:"Hostname",flexGrow:2},{prop:"version",name:"Version",pipe:this.cephShortVersionPipe,flexGrow:2},{prop:"health",name:"Health",cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.data=t.content_data.daemons,this.tableStatus=new U.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(K),e.Y36(gi.F))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-daemons"]],viewQuery:function(t,o){if(1&t&&e.Gf(ui,7),2&t){let i;e.iGM(i=e.CRH())&&(o.healthTmpl=i.first)}},decls:3,vars:4,consts:[["columnMode","flex",3,"data","columns","autoReload","status","fetchData"],["healthTmpl",""],[3,"ngClass"]],template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()}),e.qZA(),e.YNc(1,mi,3,4,"ng-template",null,1,e.W1O)),2&t&&e.Q6J("data",o.data)("columns",o.columns)("autoReload",-1)("status",o.tableStatus)},directives:[ee.a,l.mk],pipes:[We],styles:[""]}),n})();var fi=p(18891);class Ci{}function Si(n,_){if(1&n&&(e.TgZ(0,"option",16),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.id),e.xp6(1),e.Oqu(t.name)}}function Ei(n,_){1&n&&(e.TgZ(0,"span",17),e.SDv(1,18),e.qZA())}let Ri=(()=>{class n{constructor(t,o,i,s){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=s,this.bsConfig={containerClass:"theme-default"},this.peerExists=!1,this.mirrorModes=[{id:"disabled",name:"Disabled"},{id:"pool",name:"Pool"},{id:"image",name:"Image"}],this.createForm()}createForm(){this.editModeForm=new M.d({mirrorMode:new r.NI("",{validators:[r.kI.required,this.validateMode.bind(this)]})})}ngOnInit(){this.pattern=`${this.poolName}`,this.rbdMirroringService.getPool(this.poolName).subscribe(t=>{this.setResponse(t)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.peerExists=!1;const i=t.content_data.pools.find(s=>this.poolName===s.name);this.peerExists=i&&i.peer_uuids.length})}ngOnDestroy(){this.subs.unsubscribe()}validateMode(t){return"disabled"===t.value&&this.peerExists?{cannotDisable:{value:t.value}}:null}setResponse(t){this.editModeForm.get("mirrorMode").setValue(t.mirror_mode)}update(){const t=new Ci;t.mirror_mode=this.editModeForm.getValue("mirrorMode"),this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/pool/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePool(this.poolName,t)}).subscribe({error:()=>this.editModeForm.setErrors({cdSubmitButton:!0}),complete:()=>{this.rbdMirroringService.refresh(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-pool-edit-mode-modal"]],decls:21,vars:7,consts:function(){let _,t,o,i;return _="Edit pool mirror mode",t="To edit the mirror mode for pool\xA0 " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "" + "\ufffd0\ufffd" + "" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ", select a new mode from the list and click\xA0 " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Update" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ".",t=e.Zx4(t),o="Mode",i="Peer clusters must be removed prior to disabling mirror.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","editModeForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","mirrorMode",1,"col-form-label"],o,["id","mirrorMode","name","mirrorMode","formControlName","mirrorMode",1,"form-control"],[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[3,"value"],[1,"invalid-feedback"],i]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e._UZ(11,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(12,"div",8),e.TgZ(13,"label",9),e.TgZ(14,"span"),e.SDv(15,10),e.qZA(),e.qZA(),e.TgZ(16,"select",11),e.YNc(17,Si,2,2,"option",12),e.qZA(),e.YNc(18,Ei,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(19,"div",14),e.TgZ(20,"cd-form-button-panel",15),e.NdJ("submitActionEvent",function(){return o.update()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.editModeForm),e.xp6(7),e.pQV(o.poolName),e.QtT(9),e.xp6(6),e.Q6J("ngForOf",o.mirrorModes),e.xp6(1),e.Q6J("ngIf",o.editModeForm.showError("mirrorMode",i,"cannotDisable")),e.xp6(2),e.Q6J("form",o.editModeForm)("submitText",o.actionLabels.UPDATE)}},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.EJ,h.b,r.JJ,r.u,l.sg,l.O5,O.p,r.YN,r.Kr],styles:[""]}),n})();class Mi{}function Oi(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,25),e.qZA())}function Ai(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,26),e.qZA())}function hi(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,27),e.qZA())}function Pi(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,28),e.qZA())}function Ii(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,29),e.qZA())}function bi(n,_){1&n&&(e.TgZ(0,"span",24),e.SDv(1,30),e.qZA())}let Ni=(()=>{class n{constructor(t,o,i,s){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=s,this.bsConfig={containerClass:"theme-default"},this.createForm()}createForm(){this.editPeerForm=new M.d({clusterName:new r.NI("",{validators:[r.kI.required,this.validateClusterName]}),clientID:new r.NI("",{validators:[r.kI.required,this.validateClientID]}),monAddr:new r.NI("",{validators:[this.validateMonAddr]}),key:new r.NI("",{validators:[this.validateKey]})})}ngOnInit(){this.pattern=`${this.poolName}/${this.peerUUID}`,"edit"===this.mode&&this.rbdMirroringService.getPeer(this.poolName,this.peerUUID).subscribe(t=>{this.setResponse(t)})}validateClusterName(t){if(!t.value.match(/^[\w\-_]*$/))return{invalidClusterName:{value:t.value}}}validateClientID(t){if(!t.value.match(/^(?!client\.)[\w\-_.]*$/))return{invalidClientID:{value:t.value}}}validateMonAddr(t){if(!t.value.match(/^[,; ]*([\w.\-_\[\]]+(:[\d]+)?[,; ]*)*$/))return{invalidMonAddr:{value:t.value}}}validateKey(t){try{if(""===t.value||atob(t.value))return null}catch(o){}return{invalidKey:{value:t.value}}}setResponse(t){this.response=t,this.editPeerForm.get("clusterName").setValue(t.cluster_name),this.editPeerForm.get("clientID").setValue(t.client_id),this.editPeerForm.get("monAddr").setValue(t.mon_host),this.editPeerForm.get("key").setValue(t.key)}update(){const t=new Mi;let o;t.cluster_name=this.editPeerForm.getValue("clusterName"),t.client_id=this.editPeerForm.getValue("clientID"),t.mon_host=this.editPeerForm.getValue("monAddr"),t.key=this.editPeerForm.getValue("key"),o=this.taskWrapper.wrapTaskAroundCall("edit"===this.mode?{task:new F.R("rbd/mirroring/peer/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePeer(this.poolName,this.peerUUID,t)}:{task:new F.R("rbd/mirroring/peer/add",{pool_name:this.poolName}),call:this.rbdMirroringService.addPeer(this.poolName,t)}),o.subscribe({error:()=>this.editPeerForm.setErrors({cdSubmitButton:!0}),complete:()=>{this.rbdMirroringService.refresh(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(K),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-pool-edit-peer-modal"]],decls:38,vars:13,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$,G,X,J,te,A;return _="{VAR_SELECT, select, edit {Edit} other {Add}}",_=e.Zx4(_,{VAR_SELECT:"\ufffd0\ufffd"}),t="" + _ + " pool mirror peer",o="{VAR_SELECT, select, edit {Edit} other {Add}}",o=e.Zx4(o,{VAR_SELECT:"\ufffd0\ufffd"}),i="" + o + " the pool mirror peer attributes for pool " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "" + "\ufffd1\ufffd" + "" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + " and click " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Submit" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ".",i=e.Zx4(i),s="Cluster Name",a="Name...",d="CephX ID",c="CephX ID...",u="Monitor Addresses",S="Comma-delimited addresses...",N="CephX Key",P="Base64-encoded key...",$="This field is required.",G="The cluster name is not valid.",X="This field is required.",J="The CephX ID is not valid.",te="The monitory address is not valid.",A="CephX key must be base64 encoded.",[[3,"modalRef"],[1,"modal-title"],t,[1,"modal-content"],["name","editPeerForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],i,[1,"form-group"],["for","clusterName",1,"col-form-label","required"],s,["type","text","placeholder",a,"id","clusterName","name","clusterName","formControlName","clusterName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","clientID",1,"col-form-label","required"],d,["type","text","placeholder",c,"id","clientID","name","clientID","formControlName","clientID",1,"form-control"],["for","monAddr",1,"col-form-label"],u,["type","text","placeholder",S,"id","monAddr","name","monAddr","formControlName","monAddr",1,"form-control"],["for","key",1,"col-form-label"],N,["type","text","placeholder",P,"id","key","name","key","formControlName","key",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],$,G,X,J,te,A]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.qZA(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.TgZ(8,"span"),e.tHW(9,7),e._UZ(10,"kbd"),e._UZ(11,"kbd"),e.N_p(),e.qZA(),e.qZA(),e.TgZ(12,"div",8),e.TgZ(13,"label",9),e.SDv(14,10),e.qZA(),e._UZ(15,"input",11),e.YNc(16,Oi,2,0,"span",12),e.YNc(17,Ai,2,0,"span",12),e.qZA(),e.TgZ(18,"div",8),e.TgZ(19,"label",13),e.SDv(20,14),e.qZA(),e._UZ(21,"input",15),e.YNc(22,hi,2,0,"span",12),e.YNc(23,Pi,2,0,"span",12),e.qZA(),e.TgZ(24,"div",8),e.TgZ(25,"label",16),e.TgZ(26,"span"),e.SDv(27,17),e.qZA(),e.qZA(),e._UZ(28,"input",18),e.YNc(29,Ii,2,0,"span",12),e.qZA(),e.TgZ(30,"div",8),e.TgZ(31,"label",19),e.TgZ(32,"span"),e.SDv(33,20),e.qZA(),e.qZA(),e._UZ(34,"input",21),e.YNc(35,bi,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(36,"div",22),e.TgZ(37,"cd-form-button-panel",23),e.NdJ("submitActionEvent",function(){return o.update()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(2),e.pQV(o.mode),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.editPeerForm),e.xp6(7),e.pQV(o.mode)(o.poolName),e.QtT(9),e.xp6(5),e.Q6J("ngIf",o.editPeerForm.showError("clusterName",i,"required")),e.xp6(1),e.Q6J("ngIf",o.editPeerForm.showError("clusterName",i,"invalidClusterName")),e.xp6(5),e.Q6J("ngIf",o.editPeerForm.showError("clientID",i,"required")),e.xp6(1),e.Q6J("ngIf",o.editPeerForm.showError("clientID",i,"invalidClientID")),e.xp6(6),e.Q6J("ngIf",o.editPeerForm.showError("monAddr",i,"invalidMonAddr")),e.xp6(6),e.Q6J("ngIf",o.editPeerForm.showError("key",i,"invalidKey")),e.xp6(2),e.Q6J("form",o.editPeerForm)("submitText",o.actionLabels.SUBMIT)}},directives:[R.z,r._Y,r.JL,v.V,r.sg,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,O.p],styles:[""]}),n})();const Di=["healthTmpl"];function vi(n,_){if(1&n&&(e.TgZ(0,"span",3),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=_.value;e.Q6J("ngClass",e.lcZ(1,2,_.row.health_color)),e.xp6(2),e.Oqu(o)}}let Li=(()=>{class n{constructor(t,o,i,s){this.authStorageService=t,this.rbdMirroringService=o,this.modalService=i,this.taskWrapper=s,this.selection=new Ee.r,this.tableStatus=new U.E,this.data=[],this.permission=this.authStorageService.getPermissions().rbdMirroring;const a={permission:"update",icon:T.P.edit,click:()=>this.editModeModal(),name:"Edit Mode",canBePrimary:()=>!0},d={permission:"create",icon:T.P.add,name:"Add Peer",click:()=>this.editPeersModal("add"),disable:()=>!this.selection.first()||"disabled"===this.selection.first().mirror_mode,visible:()=>!this.getPeerUUID(),canBePrimary:()=>!1},c={permission:"update",icon:T.P.exchange,name:"Edit Peer",click:()=>this.editPeersModal("edit"),visible:()=>!!this.getPeerUUID()},u={permission:"delete",icon:T.P.destroy,name:"Delete Peer",click:()=>this.deletePeersModal(),visible:()=>!!this.getPeerUUID()};this.tableActions=[a,d,c,u]}ngOnInit(){this.columns=[{prop:"name",name:"Name",flexGrow:2},{prop:"mirror_mode",name:"Mode",flexGrow:2},{prop:"leader_id",name:"Leader",flexGrow:2},{prop:"image_local_count",name:"# Local",flexGrow:2},{prop:"image_remote_count",name:"# Remote",flexGrow:2},{prop:"health",name:"Health",cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.data=t.content_data.pools,this.tableStatus=new U.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}editModeModal(){const t={poolName:this.selection.first().name};this.modalRef=this.modalService.show(Ri,t)}editPeersModal(t){const o={poolName:this.selection.first().name,mode:t};"edit"===t&&(o.peerUUID=this.getPeerUUID()),this.modalRef=this.modalService.show(Ni,o)}deletePeersModal(){const t=this.selection.first().name,o=this.getPeerUUID();this.modalRef=this.modalService.show(he.M,{itemDescription:"mirror peer",itemNames:[`${t} (${o})`],submitActionObservable:()=>new fi.y(i=>{this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/mirroring/peer/delete",{pool_name:t}),call:this.rbdMirroringService.deletePeer(t,o)}).subscribe({error:s=>i.error(s),complete:()=>{this.rbdMirroringService.refresh(),i.complete()}})})})}getPeerUUID(){const t=this.selection.first(),o=this.data.find(i=>t&&t.name===i.name);if(o&&o.peer_uuids)return o.peer_uuids[0]}updateSelection(t){this.selection=t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(K),e.Y36(re.Z),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-pools"]],viewQuery:function(t,o){if(1&t&&e.Gf(Di,7),2&t){let i;e.iGM(i=e.CRH())&&(o.healthTmpl=i.first)}},decls:4,vars:7,consts:[["columnMode","flex","identifier","name","forceIdentifier","true","selectionType","single",3,"data","columns","autoReload","status","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["healthTmpl",""],[3,"ngClass"]],template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()})("updateSelection",function(s){return o.updateSelection(s)}),e._UZ(1,"cd-table-actions",1),e.qZA(),e.YNc(2,vi,3,4,"ng-template",null,2,e.W1O)),2&t&&(e.Q6J("data",o.data)("columns",o.columns)("autoReload",-1)("status",o.tableStatus),e.xp6(1),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},directives:[ee.a,Re.K,l.mk],pipes:[We],styles:[""]}),n})();var mt=p(59376);const Fi=["stateTmpl"],$i=["syncTmpl"],Zi=["progressTmpl"];function Bi(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){return e.CHM(t),e.oxw().refresh()}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_error.data)("columns",t.image_error.columns)("autoReload",-1)("status",t.tableStatus)}}function Gi(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){return e.CHM(t),e.oxw().refresh()}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_syncing.data)("columns",t.image_syncing.columns)("autoReload",-1)("status",t.tableStatus)}}function yi(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){return e.CHM(t),e.oxw().refresh()}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_ready.data)("columns",t.image_ready.columns)("autoReload",-1)("status",t.tableStatus)}}function xi(n,_){if(1&n&&(e.TgZ(0,"span",15),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=_.value;e.Q6J("ngClass",e.lcZ(1,2,_.row.state_color)),e.xp6(2),e.Oqu(o)}}function wi(n,_){1&n&&(e.TgZ(0,"span",16),e.SDv(1,17),e.qZA())}function qi(n,_){1&n&&e._UZ(0,"ngb-progressbar",18),2&n&&e.Q6J("value",_.value)("showValue",!0)}let Hi=(()=>{class n{constructor(t){this.rbdMirroringService=t,this.image_error={data:[],columns:{}},this.image_syncing={data:[],columns:{}},this.image_ready={data:[],columns:{}},this.tableStatus=new U.E}ngOnInit(){this.image_error.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"description",name:"Issue",flexGrow:4},{prop:"state",name:"State",cellTemplate:this.stateTmpl,flexGrow:1}],this.image_syncing.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"progress",name:"Progress",cellTemplate:this.progressTmpl,flexGrow:2},{prop:"state",name:"State",cellTemplate:this.syncTmpl,flexGrow:1}],this.image_ready.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"description",name:"Description",flexGrow:4},{prop:"state",name:"State",cellTemplate:this.stateTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.image_error.data=t.content_data.image_error,this.image_syncing.data=t.content_data.image_syncing,this.image_ready.data=t.content_data.image_ready,this.tableStatus=new U.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(K))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-images"]],viewQuery:function(t,o){if(1&t&&(e.Gf(Fi,7),e.Gf($i,7),e.Gf(Zi,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.stateTmpl=i.first),e.iGM(i=e.CRH())&&(o.syncTmpl=i.first),e.iGM(i=e.CRH())&&(o.progressTmpl=i.first)}},decls:21,vars:1,consts:function(){let _,t,o,i;return _="Issues",t="Syncing",o="Ready",i="Syncing",[["ngbNav","","cdStatefulTab","image-list",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","issues"],["ngbNavLink",""],_,["ngbNavContent",""],["ngbNavItem","syncing"],t,["ngbNavItem","ready"],o,[3,"ngbNavOutlet"],["stateTmpl",""],["syncTmpl",""],["progressTmpl",""],["columnMode","flex",3,"data","columns","autoReload","status","fetchData"],[3,"ngClass"],[1,"badge","badge-info"],i,["type","info",3,"value","showValue"]]},template:function(t,o){if(1&t&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,Bi,1,4,"ng-template",5),e.qZA(),e.TgZ(6,"li",6),e.TgZ(7,"a",3),e.SDv(8,7),e.qZA(),e.YNc(9,Gi,1,4,"ng-template",5),e.qZA(),e.TgZ(10,"li",8),e.TgZ(11,"a",3),e.SDv(12,9),e.qZA(),e.YNc(13,yi,1,4,"ng-template",5),e.qZA(),e.qZA(),e._UZ(14,"div",10),e.YNc(15,xi,3,4,"ng-template",null,11,e.W1O),e.YNc(17,wi,2,0,"ng-template",null,12,e.W1O),e.YNc(19,qi,1,2,"ng-template",null,13,e.W1O)),2&t){const i=e.MAs(1);e.xp6(14),e.Q6J("ngbNavOutlet",i)}},directives:[I.Pz,mt.m,I.nv,I.Vx,I.uN,I.tO,ee.a,l.mk,I.Ly],pipes:[We],styles:[""]}),n})(),Ki=(()=>{class n{constructor(t,o,i){this.authStorageService=t,this.rbdMirroringService=o,this.modalService=i,this.selection=new Ee.r,this.peersExist=!0,this.subs=new Yn.w,this.permission=this.authStorageService.getPermissions().rbdMirroring;const s={permission:"update",icon:T.P.edit,click:()=>this.editSiteNameModal(),name:"Edit Site Name",canBePrimary:()=>!0,disable:()=>!1},a={permission:"update",icon:T.P.upload,click:()=>this.createBootstrapModal(),name:"Create Bootstrap Token",disable:()=>!1},d={permission:"update",icon:T.P.download,click:()=>this.importBootstrapModal(),name:"Import Bootstrap Token",disable:()=>this.peersExist};this.tableActions=[s,a,d]}ngOnInit(){this.subs.add(this.rbdMirroringService.startPolling()),this.subs.add(this.rbdMirroringService.subscribeSummary(t=>{this.status=t.content_data.status,this.siteName=t.site_name,this.peersExist=!!t.content_data.pools.find(o=>o.peer_uuids.length>0)}))}ngOnDestroy(){this.subs.unsubscribe()}editSiteNameModal(){this.modalRef=this.modalService.show(pi,{siteName:this.siteName})}createBootstrapModal(){this.modalRef=this.modalService.show(ii,{siteName:this.siteName})}importBootstrapModal(){this.modalRef=this.modalService.show(di,{siteName:this.siteName})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(K),e.Y36(re.Z))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring"]],decls:21,vars:4,consts:function(){let _,t,o,i;return _="Site Name:",t="Daemons",o="Pools",i="Images",[[1,"row"],[1,"col-md-12"],_,[1,"table-actions","float-right",3,"permission","selection","tableActions"],[1,"col-sm-6"],t,o,i]},template:function(t,o){1&t&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"span"),e.TgZ(3,"strong"),e.SDv(4,2),e.qZA(),e._uU(5),e.qZA(),e._UZ(6,"cd-table-actions",3),e.qZA(),e.qZA(),e.TgZ(7,"div",0),e.TgZ(8,"div",4),e.TgZ(9,"legend"),e.SDv(10,5),e.qZA(),e._UZ(11,"cd-mirroring-daemons"),e.qZA(),e.TgZ(12,"div",4),e.TgZ(13,"legend"),e.SDv(14,6),e.qZA(),e._UZ(15,"cd-mirroring-pools"),e.qZA(),e.qZA(),e.TgZ(16,"div",0),e.TgZ(17,"div",1),e.TgZ(18,"legend"),e.SDv(19,7),e.qZA(),e._UZ(20,"cd-mirroring-images"),e.qZA(),e.qZA()),2&t&&(e.xp6(5),e.hij(" ",o.siteName,""),e.xp6(1),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},directives:[Re.K,Ti,Li,Hi],styles:[""]}),n})();var Tt=p(80226),ki=p(28049),Xi=p(43190),Ke=p(80842),et=p(30633),Fe=p(47557),Qi=p(28211);class zi{}var Pe=(()=>{return(n=Pe||(Pe={}))[n.V1=1]="V1",n[n.V2=2]="V2",Pe;var n})();class Ji{constructor(){this.features=[]}}class Yi{constructor(){this.features=[]}}class Ui extends class{}{constructor(){super(...arguments),this.features=[]}}class ji{constructor(){this.features=[]}}var ke=(()=>{return(n=ke||(ke={})).editing="editing",n.cloning="cloning",n.copying="copying",ke;var n})(),Wi=p(17932),e_=p(54555),t_=p(18372);function o_(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"label",56),e.SDv(2,57),e.ALo(3,"titlecase"),e.qZA(),e.TgZ(4,"div",12),e._UZ(5,"input",58),e._UZ(6,"hr"),e.qZA(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(3),e.pQV(e.lcZ(3,1,t.action)),e.QtT(2)}}function n_(n,_){1&n&&(e.TgZ(0,"span",59),e.ynx(1),e.SDv(2,60),e.BQk(),e.qZA())}function i_(n,_){1&n&&(e.TgZ(0,"span",59),e.ynx(1),e.SDv(2,61),e.BQk(),e.qZA())}function __(n,_){1&n&&e._UZ(0,"input",62)}function s_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,65),e.qZA()),2&n&&e.Q6J("ngValue",null)}function a_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,66),e.qZA()),2&n&&e.Q6J("ngValue",null)}function r_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,67),e.qZA()),2&n&&e.Q6J("ngValue",null)}function l_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function c_(n,_){if(1&n&&(e.TgZ(0,"select",63),e.YNc(1,s_,2,1,"option",64),e.YNc(2,a_,2,1,"option",64),e.YNc(3,r_,2,1,"option",64),e.YNc(4,l_,2,2,"option",44),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.pools)}}function d_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,69),e.qZA())}const p_=function(n,_){return[n,_]};function g_(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"div",20),e._UZ(2,"i",70),e.qZA(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(2),e.Q6J("ngClass",e.WLB(1,p_,t.icons.spinner,t.icons.spin))}}function u_(n,_){1&n&&e._UZ(0,"input",74)}function m_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,76),e.qZA()),2&n&&e.Q6J("ngValue",null)}function T_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,77),e.qZA()),2&n&&e.Q6J("ngValue",null)}function f_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,78),e.qZA()),2&n&&e.Q6J("ngValue",null)}function C_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function S_(n,_){if(1&n&&(e.TgZ(0,"select",75),e.YNc(1,m_,2,1,"option",64),e.YNc(2,T_,2,1,"option",64),e.YNc(3,f_,2,1,"option",64),e.YNc(4,C_,2,2,"option",44),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.namespaces)}}function E_(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"label",71),e._uU(2," Namespace "),e.qZA(),e.TgZ(3,"div",12),e.YNc(4,u_,1,0,"input",72),e.YNc(5,S_,5,4,"select",73),e.qZA(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngIf","editing"===t.mode||!t.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==t.mode&&t.poolPermission.read)}}function R_(n,_){1&n&&(e.TgZ(0,"cd-helper"),e.TgZ(1,"span"),e.SDv(2,79),e.qZA(),e.qZA())}function M_(n,_){1&n&&e._UZ(0,"input",85)}function O_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,87),e.qZA()),2&n&&e.Q6J("ngValue",null)}function A_(n,_){1&n&&(e.TgZ(0,"option",48),e.SDv(1,88),e.qZA()),2&n&&e.Q6J("ngValue",null)}function h_(n,_){1&n&&(e.TgZ(0,"option",48),e._uU(1,"-- Select a data pool -- "),e.qZA()),2&n&&e.Q6J("ngValue",null)}function P_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function I_(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"select",86),e.NdJ("change",function(i){return e.CHM(t),e.oxw(3).onDataPoolChange(i.target.value)}),e.YNc(1,O_,2,1,"option",64),e.YNc(2,A_,2,1,"option",64),e.YNc(3,h_,2,1,"option",64),e.YNc(4,P_,2,2,"option",44),e.qZA()}if(2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngIf",null===t.dataPools),e.xp6(1),e.Q6J("ngIf",null!==t.dataPools&&0===t.dataPools.length),e.xp6(1),e.Q6J("ngIf",null!==t.dataPools&&t.dataPools.length>0),e.xp6(1),e.Q6J("ngForOf",t.dataPools)}}function b_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,89),e.qZA())}const Xe=function(n){return{required:n}};function N_(n,_){if(1&n&&(e.TgZ(0,"div",9),e.TgZ(1,"label",80),e.TgZ(2,"span",70),e.SDv(3,81),e.qZA(),e._UZ(4,"cd-helper",82),e.qZA(),e.TgZ(5,"div",12),e.YNc(6,M_,1,0,"input",83),e.YNc(7,I_,5,4,"select",84),e.YNc(8,b_,2,0,"span",14),e.qZA(),e.qZA()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(2),e.Q6J("ngClass",e.VKq(4,Xe,"editing"!==o.mode)),e.xp6(4),e.Q6J("ngIf","editing"===o.mode||!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("dataPool",t,"required"))}}function D_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,90),e.qZA())}function v_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,91),e.qZA())}function L_(n,_){if(1&n&&e._UZ(0,"cd-helper",95),2&n){const t=e.oxw().$implicit;e.s9C("html",t.helperHtml)}}function F_(n,_){if(1&n&&(e.TgZ(0,"div",21),e._UZ(1,"input",92),e.TgZ(2,"label",93),e._uU(3),e.qZA(),e.YNc(4,L_,1,1,"cd-helper",94),e.qZA()),2&n){const t=_.$implicit;e.xp6(1),e.s9C("id",t.key),e.s9C("name",t.key),e.s9C("formControlName",t.key),e.xp6(1),e.s9C("for",t.key),e.xp6(1),e.Oqu(t.desc),e.xp6(1),e.Q6J("ngIf",t.helperHtml)}}function $_(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"a",96),e.NdJ("click",function(){return e.CHM(t),e.oxw(2).advancedEnabled=!0,!1}),e.SDv(1,97),e.qZA()}}function Z_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function B_(n,_){if(1&n&&(e.TgZ(0,"option",68),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function G_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,98),e.qZA())}function y_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,99),e.qZA())}function x_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,100),e.qZA())}function w_(n,_){1&n&&(e.TgZ(0,"span",59),e.SDv(1,101),e.qZA())}function q_(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.YNc(9,o_,7,3,"div",8),e.TgZ(10,"div",9),e.TgZ(11,"label",10),e.SDv(12,11),e.qZA(),e.TgZ(13,"div",12),e._UZ(14,"input",13),e.YNc(15,n_,3,0,"span",14),e.YNc(16,i_,3,0,"span",14),e.qZA(),e.qZA(),e.TgZ(17,"div",15),e.NdJ("change",function(i){return e.CHM(t),e.oxw().onPoolChange(i.target.value)}),e.TgZ(18,"label",16),e.SDv(19,17),e.qZA(),e.TgZ(20,"div",12),e.YNc(21,__,1,0,"input",18),e.YNc(22,c_,5,4,"select",19),e.YNc(23,d_,2,0,"span",14),e.qZA(),e.qZA(),e.YNc(24,g_,3,4,"div",8),e.YNc(25,E_,6,2,"div",8),e.TgZ(26,"div",9),e.TgZ(27,"div",20),e.TgZ(28,"div",21),e.TgZ(29,"input",22),e.NdJ("change",function(){return e.CHM(t),e.oxw().onUseDataPoolChange()}),e.qZA(),e.TgZ(30,"label",23),e.SDv(31,24),e.qZA(),e.YNc(32,R_,3,0,"cd-helper",25),e.qZA(),e.qZA(),e.qZA(),e.YNc(33,N_,9,6,"div",8),e.TgZ(34,"div",9),e.TgZ(35,"label",26),e.SDv(36,27),e.qZA(),e.TgZ(37,"div",12),e._UZ(38,"input",28),e.YNc(39,D_,2,0,"span",14),e.YNc(40,v_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(41,"div",29),e.TgZ(42,"label",30),e.SDv(43,31),e.qZA(),e.TgZ(44,"div",12),e.YNc(45,F_,5,6,"div",32),e.qZA(),e.qZA(),e.TgZ(46,"div",33),e.TgZ(47,"div",34),e.YNc(48,$_,2,0,"a",35),e.qZA(),e.qZA(),e.TgZ(49,"div",36),e.TgZ(50,"legend",37),e.SDv(51,38),e.qZA(),e.TgZ(52,"div",39),e.TgZ(53,"h4",37),e.SDv(54,40),e.qZA(),e.TgZ(55,"div",9),e.TgZ(56,"label",41),e.SDv(57,42),e.qZA(),e.TgZ(58,"div",12),e.TgZ(59,"select",43),e.YNc(60,Z_,2,2,"option",44),e.qZA(),e.qZA(),e.qZA(),e.TgZ(61,"div",9),e.TgZ(62,"label",45),e.SDv(63,46),e.qZA(),e.TgZ(64,"div",12),e.TgZ(65,"select",47),e.TgZ(66,"option",48),e.SDv(67,49),e.qZA(),e.YNc(68,B_,2,2,"option",44),e.qZA(),e.YNc(69,G_,2,0,"span",14),e.YNc(70,y_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(71,"div",9),e.TgZ(72,"label",50),e.SDv(73,51),e.qZA(),e.TgZ(74,"div",12),e._UZ(75,"input",52),e.YNc(76,x_,2,0,"span",14),e.YNc(77,w_,2,0,"span",14),e.qZA(),e.qZA(),e.qZA(),e.TgZ(78,"cd-rbd-configuration-form",53),e.NdJ("changes",function(i){return e.CHM(t),e.oxw().getDirtyConfigurationValues=i}),e.qZA(),e.qZA(),e.qZA(),e.TgZ(79,"div",54),e.TgZ(80,"cd-form-button-panel",55),e.NdJ("submitActionEvent",function(){return e.CHM(t),e.oxw().submit()}),e.ALo(81,"titlecase"),e.ALo(82,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&n){const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.rbdForm),e.xp6(6),e.pQV(e.lcZ(6,32,o.action))(e.lcZ(7,34,o.resource)),e.QtT(5),e.xp6(2),e.Q6J("ngIf",o.rbdForm.getValue("parent")),e.xp6(6),e.Q6J("ngIf",o.rbdForm.showError("name",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("name",t,"pattern")),e.xp6(2),e.Q6J("ngClass",e.VKq(40,Xe,"editing"!==o.mode)),e.xp6(3),e.Q6J("ngIf","editing"===o.mode||!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("pool",t,"required")),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.rbdForm.getValue("pool")&&null===o.namespaces),e.xp6(1),e.Q6J("ngIf","editing"===o.mode&&o.rbdForm.getValue("namespace")||"editing"!==o.mode&&(o.namespaces&&o.namespaces.length>0||!o.poolPermission.read)),e.xp6(7),e.Q6J("ngIf",o.allDataPools.length<=1),e.xp6(1),e.Q6J("ngIf",o.rbdForm.getValue("useDataPool")),e.xp6(6),e.Q6J("ngIf",o.rbdForm.showError("size",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("size",t,"invalidSizeObject")),e.xp6(5),e.Q6J("ngForOf",o.featuresList),e.xp6(3),e.Q6J("ngIf",!o.advancedEnabled),e.xp6(1),e.Q6J("hidden",!o.advancedEnabled),e.xp6(11),e.Q6J("ngForOf",o.objectSizes),e.xp6(2),e.Q6J("ngClass",e.VKq(42,Xe,o.rbdForm.getValue("stripingCount"))),e.xp6(4),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",o.objectSizes),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingUnit",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingUnit",t,"invalidStripingUnit")),e.xp6(2),e.Q6J("ngClass",e.VKq(44,Xe,o.rbdForm.getValue("stripingUnit"))),e.xp6(4),e.Q6J("ngIf",o.rbdForm.showError("stripingCount",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingCount",t,"min")),e.xp6(1),e.Q6J("form",o.rbdForm)("initializeData",o.initializeConfigData),e.xp6(2),e.Q6J("form",t)("submitText",e.lcZ(81,36,o.action)+" "+e.lcZ(82,38,o.resource))}}let $e=(()=>{class n extends q.E{constructor(t,o,i,s,a,d,c,u,S){super(),this.authStorageService=t,this.route=o,this.poolService=i,this.rbdService=s,this.formatter=a,this.taskWrapper=d,this.dimlessBinaryPipe=c,this.actionLabels=u,this.router=S,this.namespaces=[],this.namespacesByPoolCache={},this.pools=null,this.allPools=null,this.dataPools=null,this.allDataPools=[],this.featuresList=[],this.initializeConfigData=new Tt.t(1),this.advancedEnabled=!1,this.rbdFormMode=ke,this.defaultObjectSize="4 MiB",this.objectSizes=["4 KiB","8 KiB","16 KiB","32 KiB","64 KiB","128 KiB","256 KiB","512 KiB","1 MiB","2 MiB","4 MiB","8 MiB","16 MiB","32 MiB"],this.rbdImage=new Tt.t(1),this.icons=T.P,this.routerUrl=this.router.url,this.poolPermission=this.authStorageService.getPermissions().pool,this.resource="RBD",this.features={"deep-flatten":{desc:"Deep flatten",requires:null,allowEnable:!1,allowDisable:!0},layering:{desc:"Layering",requires:null,allowEnable:!1,allowDisable:!1},"exclusive-lock":{desc:"Exclusive lock",requires:null,allowEnable:!0,allowDisable:!0},"object-map":{desc:"Object map (requires exclusive-lock)",requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},journaling:{desc:"Journaling (requires exclusive-lock)",requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},"fast-diff":{desc:"Fast diff (interlocked with object-map)",requires:"object-map",allowEnable:!0,allowDisable:!0,interlockedWith:"object-map",initDisabled:!0}},this.featuresList=this.objToArray(this.features),this.createForm()}objToArray(t){return C().map(t,(o,i)=>Object.assign(o,{key:i}))}createForm(){this.rbdForm=new M.d({parent:new r.NI(""),name:new r.NI("",{validators:[r.kI.required,r.kI.pattern(/^[^@/]+?$/)]}),pool:new r.NI(null,{validators:[r.kI.required]}),namespace:new r.NI(null),useDataPool:new r.NI(!1),dataPool:new r.NI(null),size:new r.NI(null,{updateOn:"blur"}),obj_size:new r.NI(this.defaultObjectSize),features:new M.d(this.featuresList.reduce((t,o)=>(t[o.key]=new r.NI({value:!1,disabled:!!o.initDisabled}),t),{})),stripingUnit:new r.NI(null),stripingCount:new r.NI(null,{updateOn:"blur"})},this.validateRbdForm(this.formatter))}disableForEdit(){this.rbdForm.get("parent").disable(),this.rbdForm.get("pool").disable(),this.rbdForm.get("namespace").disable(),this.rbdForm.get("useDataPool").disable(),this.rbdForm.get("dataPool").disable(),this.rbdForm.get("obj_size").disable(),this.rbdForm.get("stripingUnit").disable(),this.rbdForm.get("stripingCount").disable(),this.rbdImage.subscribe(t=>{t.image_format===Pe.V1&&(this.rbdForm.get("deep-flatten").disable(),this.rbdForm.get("layering").disable(),this.rbdForm.get("exclusive-lock").disable())})}disableForClone(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}disableForCopy(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}ngOnInit(){this.prepareFormForAction(),this.gatherNeededData().subscribe(this.handleExternalData.bind(this))}prepareFormForAction(){const t=this.routerUrl;t.startsWith("/block/rbd/edit")?(this.mode=this.rbdFormMode.editing,this.action=this.actionLabels.EDIT,this.disableForEdit()):t.startsWith("/block/rbd/clone")?(this.mode=this.rbdFormMode.cloning,this.disableForClone(),this.action=this.actionLabels.CLONE):t.startsWith("/block/rbd/copy")?(this.mode=this.rbdFormMode.copying,this.action=this.actionLabels.COPY,this.disableForCopy()):this.action=this.actionLabels.CREATE,C().each(this.features,o=>{this.rbdForm.get("features").get(o.key).valueChanges.subscribe(i=>this.featureFormUpdate(o.key,i))})}gatherNeededData(){const t={};return this.mode?this.route.params.subscribe(o=>{const i=Z.N.fromString(decodeURIComponent(o.image_spec));o.snap&&(this.snapName=decodeURIComponent(o.snap)),t.rbd=this.rbdService.get(i)}):t.defaultFeatures=this.rbdService.defaultFeatures(),this.mode!==this.rbdFormMode.editing&&this.poolPermission.read&&(t.pools=this.poolService.list(["pool_name","type","flags_names","application_metadata"])),(0,W.D)(t)}handleExternalData(t){if(this.handlePoolData(t.pools),t.defaultFeatures&&this.setFeatures(t.defaultFeatures),t.rbd){const o=t.rbd;this.setResponse(o,this.snapName),this.rbdImage.next(o)}this.loadingReady()}handlePoolData(t){if(!t)return;const o=[],i=[];for(const s of t)this.rbdService.isRBDPool(s)&&("replicated"===s.type?(o.push(s),i.push(s)):"erasure"===s.type&&-1!==s.flags_names.indexOf("ec_overwrites")&&i.push(s));if(this.pools=o,this.allPools=o,this.dataPools=i,this.allDataPools=i,1===this.pools.length){const s=this.pools[0].pool_name;this.rbdForm.get("pool").setValue(s),this.onPoolChange(s)}this.allDataPools.length<=1&&this.rbdForm.get("useDataPool").disable()}onPoolChange(t){const o=this.rbdForm.get("dataPool");o.value===t&&o.setValue(null),this.dataPools=this.allDataPools?this.allDataPools.filter(i=>i.pool_name!==t):[],this.namespaces=null,t in this.namespacesByPoolCache?this.namespaces=this.namespacesByPoolCache[t]:this.rbdService.listNamespaces(t).subscribe(i=>{i=i.map(s=>s.namespace),this.namespacesByPoolCache[t]=i,this.namespaces=i}),this.rbdForm.get("namespace").setValue(null)}onUseDataPoolChange(){this.rbdForm.getValue("useDataPool")||(this.rbdForm.get("dataPool").setValue(null),this.onDataPoolChange(null))}onDataPoolChange(t){const o=this.allPools.filter(i=>i.pool_name!==t);this.rbdForm.getValue("pool")===t&&this.rbdForm.get("pool").setValue(null),this.pools=o}validateRbdForm(t){return o=>{const i=o.get("useDataPool"),s=o.get("dataPool");let a=null;i.value&&null==s.value&&(a={required:!0}),s.setErrors(a);const d=o.get("size"),c=o.get("obj_size"),u=t.toBytes(null!=c.value?c.value:this.defaultObjectSize),S=o.get("stripingCount"),N=null!=S.value?S.value:1;let P=null;null===d.value?P={required:!0}:N*u>t.toBytes(d.value)&&(P={invalidSizeObject:!0}),d.setErrors(P);const $=o.get("stripingUnit");let G=null;null===$.value&&null!==S.value?G={required:!0}:null!==$.value&&t.toBytes($.value)>u&&(G={invalidStripingUnit:!0}),$.setErrors(G);let X=null;return null===S.value&&null!==$.value?X={required:!0}:N<1&&(X={min:!0}),S.setErrors(X),null}}deepBoxCheck(t,o){this.getDependentChildFeatures(t).forEach(s=>{const a=this.rbdForm.get(s.key);o?a.enable({emitEvent:!1}):(a.disable({emitEvent:!1}),a.setValue(!1,{emitEvent:!1}),this.deepBoxCheck(s.key,o));const d=this.rbdForm.get("features");this.mode===this.rbdFormMode.editing&&d.get(s.key).enabled&&(-1!==this.response.features_name.indexOf(s.key)&&!s.allowDisable||-1===this.response.features_name.indexOf(s.key)&&!s.allowEnable)&&d.get(s.key).disable()})}getDependentChildFeatures(t){return C().filter(this.features,o=>o.requires===t)||[]}interlockCheck(t,o){const i=this.featuresList.find(s=>s.key===t);if(this.response){const s=null!=i.interlockedWith,a=this.featuresList.find(c=>c.interlockedWith===i.key),d=!!this.response.features_name.find(c=>c===i.key);if(s){if(d!==!!this.response.features_name.find(u=>u===i.interlockedWith))return}else if(a&&!!this.response.features_name.find(u=>u===a.key)!==d)return}o?C().filter(this.features,s=>s.interlockedWith===t).forEach(s=>this.rbdForm.get(s.key).setValue(!0,{emitEvent:!1})):i.interlockedWith&&this.rbdForm.get("features").get(i.interlockedWith).setValue(!1)}featureFormUpdate(t,o){if(o){const i=this.features[t].requires;if(i&&!this.rbdForm.getValue(i))return void this.rbdForm.get(`features.${t}`).setValue(!1)}this.deepBoxCheck(t,o),this.interlockCheck(t,o)}setFeatures(t){const o=this.rbdForm.get("features");C().forIn(this.features,i=>{-1!==t.indexOf(i.key)&&o.get(i.key).setValue(!0),this.featureFormUpdate(i.key,o.get(i.key).value)})}setResponse(t,o){this.response=t;const i=new Z.N(t.pool_name,t.namespace,t.name).toString();if(this.mode===this.rbdFormMode.cloning)this.rbdForm.get("parent").setValue(`${i}@${o}`);else if(this.mode===this.rbdFormMode.copying)o?this.rbdForm.get("parent").setValue(`${i}@${o}`):this.rbdForm.get("parent").setValue(`${i}`);else if(t.parent){const s=t.parent;this.rbdForm.get("parent").setValue(`${s.pool_name}/${s.image_name}@${s.snap_name}`)}this.mode===this.rbdFormMode.editing&&this.rbdForm.get("name").setValue(t.name),this.rbdForm.get("pool").setValue(t.pool_name),this.onPoolChange(t.pool_name),this.rbdForm.get("namespace").setValue(t.namespace),t.data_pool&&(this.rbdForm.get("useDataPool").setValue(!0),this.rbdForm.get("dataPool").setValue(t.data_pool)),this.rbdForm.get("size").setValue(this.dimlessBinaryPipe.transform(t.size)),this.rbdForm.get("obj_size").setValue(this.dimlessBinaryPipe.transform(t.obj_size)),this.setFeatures(t.features_name),this.rbdForm.get("stripingUnit").setValue(this.dimlessBinaryPipe.transform(t.stripe_unit)),this.rbdForm.get("stripingCount").setValue(t.stripe_count),this.initializeConfigData.next({initialData:this.response.configuration,sourceType:et.h.image})}createRequest(){const t=new Ui;return t.pool_name=this.rbdForm.getValue("pool"),t.namespace=this.rbdForm.getValue("namespace"),t.name=this.rbdForm.getValue("name"),t.size=this.formatter.toBytes(this.rbdForm.getValue("size")),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(),t}addObjectSizeAndStripingToRequest(t){t.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),C().forIn(this.features,o=>{this.rbdForm.getValue(o.key)&&t.features.push(o.key)}),t.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),t.stripe_count=this.rbdForm.getValue("stripingCount"),t.data_pool=this.rbdForm.getValue("dataPool")}createAction(){const t=this.createRequest();return this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/create",{pool_name:t.pool_name,namespace:t.namespace,image_name:t.name}),call:this.rbdService.create(t)})}editRequest(){const t=new ji;return t.name=this.rbdForm.getValue("name"),t.size=this.formatter.toBytes(this.rbdForm.getValue("size")),C().forIn(this.features,o=>{this.rbdForm.getValue(o.key)&&t.features.push(o.key)}),t.configuration=this.getDirtyConfigurationValues(),t}cloneRequest(){const t=new Ji;return t.child_pool_name=this.rbdForm.getValue("pool"),t.child_namespace=this.rbdForm.getValue("namespace"),t.child_image_name=this.rbdForm.getValue("name"),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(!0,et.h.image),t}editAction(){const t=new Z.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/edit",{image_spec:t.toString()}),call:this.rbdService.update(t,this.editRequest())})}cloneAction(){const t=this.cloneRequest(),o=new Z.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/clone",{parent_image_spec:o.toString(),parent_snap_name:this.snapName,child_pool_name:t.child_pool_name,child_namespace:t.child_namespace,child_image_name:t.child_image_name}),call:this.rbdService.cloneSnapshot(o,this.snapName,t)})}copyRequest(){const t=new Yi;return this.snapName&&(t.snapshot_name=this.snapName),t.dest_pool_name=this.rbdForm.getValue("pool"),t.dest_namespace=this.rbdForm.getValue("namespace"),t.dest_image_name=this.rbdForm.getValue("name"),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(!0,et.h.image),t}copyAction(){const t=this.copyRequest(),o=new Z.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/copy",{src_image_spec:o.toString(),dest_pool_name:t.dest_pool_name,dest_namespace:t.dest_namespace,dest_image_name:t.dest_image_name}),call:this.rbdService.copy(o,t)})}submit(){this.mode||this.rbdImage.next("create"),this.rbdImage.pipe((0,ki.P)(),(0,Xi.w)(()=>this.mode===this.rbdFormMode.editing?this.editAction():this.mode===this.rbdFormMode.cloning?this.cloneAction():this.mode===this.rbdFormMode.copying?this.copyAction():this.createAction())).subscribe(()=>{},()=>this.rbdForm.setErrors({cdSubmitButton:!0}),()=>this.router.navigate(["/block/rbd"]))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(m.gz),e.Y36(Ke.q),e.Y36(x),e.Y36(Qi.H),e.Y36(Q.P),e.Y36(Fe.$),e.Y36(D.p4),e.Y36(m.F0))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$,G,X,J,te,A,w,de,pe,ge,ue,me,Te,fe,Ce,Se,y,Ze,Be,Ge,ye,xe,we,qe;return _="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Name",o="Pool",i="Use a dedicated data pool",s="Size",a="e.g., 10GiB",d="Features",c="Advanced",u="Striping",S="Object size",N="Stripe unit",P="-- Select stripe unit --",$="Stripe count",G="" + "\ufffd0\ufffd" + " from",X="This field is required.",J="'/' and '@' are not allowed.",te="Loading...",A="-- No rbd pools available --",w="-- Select a pool --",de="This field is required.",pe="Loading...",ge="-- No namespaces available --",ue="-- Select a namespace --",me="You need more than one pool with the rbd application label use to use a dedicated data pool.",Te="Data pool",fe="Dedicated pool that stores the object-data of the RBD.",Ce="Loading...",Se="-- No data pools available --",y="This field is required.",Ze="This field is required.",Be="You have to increase the size.",Ge="Advanced...",ye="This field is required because stripe count is defined!",xe="Stripe unit is greater than object size.",we="This field is required because stripe unit is defined!",qe="Stripe count must be greater than 0.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","rbdForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],_,[1,"card-body"],["class","form-group row",4,"ngIf"],[1,"form-group","row"],["for","name",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","placeholder","Name...","id","name","name","name","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"form-group","row",3,"change"],["for","pool",1,"cd-col-form-label",3,"ngClass"],o,["class","form-control","type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",4,"ngIf"],["id","pool","name","pool","class","form-control","formControlName","pool",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","id","useDataPool","name","useDataPool","formControlName","useDataPool",1,"custom-control-input",3,"change"],["for","useDataPool",1,"custom-control-label"],i,[4,"ngIf"],["for","size",1,"cd-col-form-label","required"],s,["id","size","name","size","type","text","formControlName","size","placeholder",a,"defaultUnit","GiB","cdDimlessBinary","",1,"form-control"],["formGroupName","features",1,"form-group","row"],["for","features",1,"cd-col-form-label"],d,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"row"],[1,"col-sm-12"],["class","float-right margin-right-md","href","",3,"click",4,"ngIf"],[3,"hidden"],[1,"cd-header"],c,[1,"col-md-12"],u,["for","size",1,"cd-col-form-label"],S,["id","obj_size","name","obj_size","formControlName","obj_size",1,"form-control"],[3,"value",4,"ngFor","ngForOf"],["for","stripingUnit",1,"cd-col-form-label",3,"ngClass"],N,["id","stripingUnit","name","stripingUnit","formControlName","stripingUnit",1,"form-control"],[3,"ngValue"],P,["for","stripingCount",1,"cd-col-form-label",3,"ngClass"],$,["id","stripingCount","name","stripingCount","formControlName","stripingCount","type","number",1,"form-control"],[3,"form","initializeData","changes"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["for","name",1,"cd-col-form-label"],G,["type","text","id","parent","name","parent","formControlName","parent",1,"form-control"],[1,"invalid-feedback"],X,J,["type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",1,"form-control"],["id","pool","name","pool","formControlName","pool",1,"form-control"],[3,"ngValue",4,"ngIf"],te,A,w,[3,"value"],de,[3,"ngClass"],["for","pool",1,"cd-col-form-label"],["class","form-control","type","text","placeholder","Namespace...","id","namespace","name","namespace","formControlName","namespace",4,"ngIf"],["id","namespace","name","namespace","class","form-control","formControlName","namespace",4,"ngIf"],["type","text","placeholder","Namespace...","id","namespace","name","namespace","formControlName","namespace",1,"form-control"],["id","namespace","name","namespace","formControlName","namespace",1,"form-control"],pe,ge,ue,me,["for","dataPool",1,"cd-col-form-label"],Te,["html",fe],["class","form-control","type","text","placeholder","Data pool name...","id","dataPool","name","dataPool","formControlName","dataPool",4,"ngIf"],["id","dataPool","name","dataPool","class","form-control","formControlName","dataPool",3,"change",4,"ngIf"],["type","text","placeholder","Data pool name...","id","dataPool","name","dataPool","formControlName","dataPool",1,"form-control"],["id","dataPool","name","dataPool","formControlName","dataPool",1,"form-control",3,"change"],Ce,Se,y,Ze,Be,["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],[3,"html",4,"ngIf"],[3,"html"],["href","",1,"float-right","margin-right-md",3,"click"],Ge,ye,xe,we,qe]},template:function(t,o){1&t&&e.YNc(0,q_,83,46,"div",0),2&t&&e.Q6J("cdFormLoading",o.loading)},directives:[st.y,r._Y,r.JL,r.sg,v.V,l.O5,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.mk,r.Wl,Wi.Q,r.x0,l.sg,r.EJ,r.YN,r.Kr,r.wV,e_.d,O.p,t_.S],pipes:[l.rS,Ye.m],styles:[""]}),n})();var ft=p(36169),ce=p(91801),tt=p(51847),H_=p(16738),Me=p.n(H_),ot=p(62862),K_=p(52266);function k_(n,_){1&n&&(e.TgZ(0,"div",18),e.TgZ(1,"span"),e.SDv(2,19),e.qZA(),e.qZA())}function X_(n,_){1&n&&(e.TgZ(0,"span",20),e.SDv(1,21),e.qZA())}function Q_(n,_){1&n&&(e.TgZ(0,"span",20),e.SDv(1,22),e.qZA())}function z_(n,_){if(1&n&&e._UZ(0,"cd-date-time-picker",23),2&n){const t=e.oxw();e.Q6J("control",t.moveForm.get("expiresAt"))}}let J_=(()=>{class n{constructor(t,o,i,s,a){this.rbdService=t,this.activeModal=o,this.actionLabels=i,this.fb=s,this.taskWrapper=a,this.createForm()}createForm(){this.moveForm=this.fb.group({expiresAt:["",[B.h.custom("format",t=>!(""===t||Me()(t,"YYYY-MM-DD HH:mm:ss").isValid())),B.h.custom("expired",t=>Me()().isAfter(t))]]})}ngOnInit(){this.imageSpec=new Z.N(this.poolName,this.namespace,this.imageName),this.imageSpecStr=this.imageSpec.toString(),this.pattern=`${this.poolName}/${this.imageName}`}moveImage(){let t=0;const o=this.moveForm.getValue("expiresAt");o&&(t=Me()(o,"YYYY-MM-DD HH:mm:ss").diff(Me()(),"seconds",!0)),t<0&&(t=0),this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/trash/move",{image_spec:this.imageSpecStr}),call:this.rbdService.moveTrash(this.imageSpec,t)}).subscribe({complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x),e.Y36(I.Kz),e.Y36(D.p4),e.Y36(ot.O),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-move-modal"]],decls:23,vars:9,consts:function(){let _,t,o,i,s,a,d;return _="Move an image to trash",t="To move " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "" + "\ufffd0\ufffd" + "" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + " to trash, click " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Move" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ". Optionally, you can pick an expiration date.",t=e.Zx4(t),o="Protection expires at",i="NOT PROTECTED",s="This image contains snapshot(s), which will prevent it from being removed after moved to trash.",a="Wrong date format. Please use \"YYYY-MM-DD HH:mm:ss\".",d="Protection has already expired. Please pick a future date or leave it empty.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","moveForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],["class","alert alert-warning","role","alert",4,"ngIf"],t,[1,"form-group"],["for","expiresAt",1,"col-form-label"],o,["type","text","placeholder",i,"formControlName","expiresAt","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["p","ngbPopover"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["popContent",""],["role","alert",1,"alert","alert-warning"],s,[1,"invalid-feedback"],a,d,[3,"control"]]},template:function(t,o){if(1&t){const i=e.EpF();e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,k_,3,0,"div",7),e.TgZ(8,"p"),e.tHW(9,8),e._UZ(10,"kbd"),e._UZ(11,"kbd"),e.N_p(),e.qZA(),e.TgZ(12,"div",9),e.TgZ(13,"label",10),e.SDv(14,11),e.qZA(),e.TgZ(15,"input",12,13),e.NdJ("click",function(){return e.CHM(i),e.MAs(16).open()})("keypress",function(){return e.CHM(i),e.MAs(16).close()}),e.qZA(),e.YNc(17,X_,2,0,"span",14),e.YNc(18,Q_,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(19,"div",15),e.TgZ(20,"cd-form-button-panel",16),e.NdJ("submitActionEvent",function(){return o.moveImage()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA(),e.YNc(21,z_,1,1,"ng-template",null,17,e.W1O)}if(2&t){const i=e.MAs(5),s=e.MAs(22);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.moveForm),e.xp6(3),e.Q6J("ngIf",o.hasSnapshots),e.xp6(4),e.pQV(o.imageSpecStr),e.QtT(9),e.xp6(4),e.Q6J("ngbPopover",s),e.xp6(2),e.Q6J("ngIf",o.moveForm.showError("expiresAt",i,"format")),e.xp6(1),e.Q6J("ngIf",o.moveForm.showError("expiresAt",i,"expired")),e.xp6(2),e.Q6J("form",o.moveForm)("submitText",o.actionLabels.MOVE)}},directives:[R.z,r._Y,r.JL,r.sg,v.V,l.O5,g.P,f.o,r.Fj,h.b,r.JJ,r.u,I.o8,O.p,K_.J],styles:[""]}),n})();function Y_(n,_){1&n&&(e.TgZ(0,"li",10),e.TgZ(1,"a",3),e.SDv(2,11),e.qZA(),e.qZA())}let Qe=(()=>{class n{constructor(t,o){this.authStorageService=t,this.router=o,this.grafanaPermission=this.authStorageService.getPermissions().grafana}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(m.F0))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-tabs"]],decls:12,vars:2,consts:function(){let _,t,o,i;return _="Images",t="Namespaces",o="Trash",i="Overall Performance",[["ngbNav","",1,"nav-tabs",3,"activeId","navChange"],["nav","ngbNav"],["ngbNavItem","/block/rbd"],["ngbNavLink",""],_,["ngbNavItem","/block/rbd/namespaces"],t,["ngbNavItem","/block/rbd/trash"],o,["ngbNavItem","/block/rbd/performance",4,"ngIf"],["ngbNavItem","/block/rbd/performance"],i]},template:function(t,o){1&t&&(e.TgZ(0,"ul",0,1),e.NdJ("navChange",function(s){return o.router.navigate([s.nextId])}),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"li",5),e.TgZ(6,"a",3),e.SDv(7,6),e.qZA(),e.qZA(),e.TgZ(8,"li",7),e.TgZ(9,"a",3),e.SDv(10,8),e.qZA(),e.qZA(),e.YNc(11,Y_,3,0,"li",9),e.qZA()),2&t&&(e.Q6J("activeId",o.router.url),e.xp6(11),e.Q6J("ngIf",o.grafanaPermission.read))},directives:[I.Pz,I.nv,I.Vx,l.O5],styles:[""]}),n})();var V_=p(25917),Ct=p(51295),nt=p(60737),U_=p(74255),St=p(71099),Et=p(79765);function j_(n,_){1&n&&(e.TgZ(0,"span",15),e.SDv(1,16),e.qZA())}let W_=(()=>{class n{constructor(t,o,i,s,a){this.activeModal=t,this.rbdService=o,this.taskManagerService=i,this.notificationService=s,this.actionLabels=a,this.editing=!1,this.onSubmit=new Et.xQ,this.action=this.actionLabels.CREATE,this.resource="RBD Snapshot",this.createForm()}createForm(){this.snapshotForm=new M.d({snapshotName:new r.NI("",{validators:[r.kI.required]})})}setSnapName(t){this.snapName=t,this.snapshotForm.get("snapshotName").setValue(t)}setEditing(t=!0){this.editing=t,this.action=this.editing?this.actionLabels.RENAME:this.actionLabels.CREATE}editAction(){const t=this.snapshotForm.getValue("snapshotName"),o=new Z.N(this.poolName,this.namespace,this.imageName),i=new F.R;i.name="rbd/snap/edit",i.metadata={image_spec:o.toString(),snapshot_name:t},this.rbdService.renameSnapshot(o,this.snapName,t).toPromise().then(()=>{this.taskManagerService.subscribe(i.name,i.metadata,s=>{this.notificationService.notifyTask(s)}),this.activeModal.close(),this.onSubmit.next(this.snapName)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}createAction(){const t=this.snapshotForm.getValue("snapshotName"),o=new Z.N(this.poolName,this.namespace,this.imageName),i=new F.R;i.name="rbd/snap/create",i.metadata={image_spec:o.toString(),snapshot_name:t},this.rbdService.createSnapshot(o,t).toPromise().then(()=>{this.taskManagerService.subscribe(i.name,i.metadata,s=>{this.notificationService.notifyTask(s)}),this.activeModal.close(),this.onSubmit.next(t)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}submit(){this.editing?this.editAction():this.createAction()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(x),e.Y36(St.k),e.Y36(Le.g),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-snapshot-form-modal"]],decls:19,vars:15,consts:function(){let _,t,o;return _="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Name",o="This field is required.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","snapshotForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","snapshotName",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","placeholder","Snapshot name...","id","snapshotName","name","snapshotName","formControlName","snapshotName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],o]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.YNc(14,j_,2,0,"span",12),e.qZA(),e.qZA(),e.qZA(),e.TgZ(15,"div",13),e.TgZ(16,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return o.submit()}),e.ALo(17,"titlecase"),e.ALo(18,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,7,o.action))(e.lcZ(4,9,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.snapshotForm),e.xp6(8),e.Q6J("ngIf",o.snapshotForm.showError("snapshotName",i,"required")),e.xp6(2),e.Q6J("form",o.snapshotForm)("submitText",e.lcZ(17,11,o.action)+" "+e.lcZ(18,13,o.resource))}},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,O.p],pipes:[l.rS,Ye.m],styles:[""]}),n})();class es{constructor(_,t,o){this.featuresName=t,this.cloneFormatVersion=1,o.cloneFormatVersion().subscribe(i=>{this.cloneFormatVersion=i}),this.create={permission:"create",icon:T.P.add,name:_.CREATE},this.rename={permission:"update",icon:T.P.edit,name:_.RENAME},this.protect={permission:"update",icon:T.P.lock,visible:i=>i.hasSingleSelection&&!i.first().is_protected,name:_.PROTECT},this.unprotect={permission:"update",icon:T.P.unlock,visible:i=>i.hasSingleSelection&&i.first().is_protected,name:_.UNPROTECT},this.clone={permission:"create",canBePrimary:i=>i.hasSingleSelection,disable:i=>this.getCloneDisableDesc(i,this.featuresName),icon:T.P.clone,name:_.CLONE},this.copy={permission:"create",canBePrimary:i=>i.hasSingleSelection,disable:i=>!i.hasSingleSelection||i.first().cdExecuting,icon:T.P.copy,name:_.COPY},this.rollback={permission:"update",icon:T.P.undo,name:_.ROLLBACK},this.deleteSnap={permission:"delete",icon:T.P.destroy,disable:i=>{const s=i.first();return!i.hasSingleSelection||s.cdExecuting||s.is_protected},name:_.DELETE},this.ordering=[this.create,this.rename,this.protect,this.unprotect,this.clone,this.copy,this.rollback,this.deleteSnap]}getCloneDisableDesc(_,t){return!(_.hasSingleSelection&&!_.first().cdExecuting)||((null==t?void 0:t.includes("layering"))?1===this.cloneFormatVersion&&!_.first().is_protected&&"Snapshot must be protected in order to clone.":"Parent image must support Layering")}}class ts{}var ze=p(96102);const os=["nameTpl"],ns=["rollbackTpl"];function is(n,_){if(1&n&&(e.ynx(0),e.SDv(1,3),e.BQk(),e.TgZ(2,"strong"),e._uU(3),e.qZA(),e._uU(4,".\n")),2&n){const t=_.$implicit;e.xp6(3),e.hij(" ",t.snapName,"")}}let _s=(()=>{class n{constructor(t,o,i,s,a,d,c,u,S,N,P){this.authStorageService=t,this.modalService=o,this.dimlessBinaryPipe=i,this.cdDatePipe=s,this.rbdService=a,this.taskManagerService=d,this.notificationService=c,this.summaryService=u,this.taskListService=S,this.actionLabels=N,this.cdr=P,this.snapshots=[],this.selection=new Ee.r,this.builders={"rbd/snap/create":$=>{const G=new ts;return G.name=$.snapshot_name,G}},this.permission=this.authStorageService.getPermissions().rbdImage}ngOnInit(){this.columns=[{name:"Name",prop:"name",cellTransformation:ve.e.executing,flexGrow:2},{name:"Size",prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"Provisioned",prop:"disk_usage",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"State",prop:"is_protected",flexGrow:1,cellTransformation:ve.e.badge,customTemplateConfig:{map:{true:{value:"PROTECTED",class:"badge-success"},false:{value:"UNPROTECTED",class:"badge-info"}}}},{name:"Created",prop:"timestamp",flexGrow:1,pipe:this.cdDatePipe}],this.imageSpec=new Z.N(this.poolName,this.namespace,this.rbdName),this.rbdTableActions=new es(this.actionLabels,this.featuresName,this.rbdService),this.rbdTableActions.create.click=()=>this.openCreateSnapshotModal(),this.rbdTableActions.rename.click=()=>this.openEditSnapshotModal(),this.rbdTableActions.protect.click=()=>this.toggleProtection(),this.rbdTableActions.unprotect.click=()=>this.toggleProtection();const t=()=>this.selection.first()&&`${this.imageSpec.toStringEncoded()}/${encodeURIComponent(this.selection.first().name)}`;this.rbdTableActions.clone.routerLink=()=>`/block/rbd/clone/${t()}`,this.rbdTableActions.copy.routerLink=()=>`/block/rbd/copy/${t()}`,this.rbdTableActions.rollback.click=()=>this.rollbackModal(),this.rbdTableActions.deleteSnap.click=()=>this.deleteSnapshotModal(),this.tableActions=this.rbdTableActions.ordering,this.taskListService.init(()=>(0,V_.of)(this.snapshots),null,s=>{Ct.T.updateChanged(this,{data:s})&&(this.cdr.detectChanges(),this.data=[...this.data])},()=>{Ct.T.updateChanged(this,{data:this.snapshots})&&(this.cdr.detectChanges(),this.data=[...this.data])},s=>["rbd/snap/create","rbd/snap/delete","rbd/snap/edit","rbd/snap/rollback"].includes(s.name)&&this.imageSpec.toString()===s.metadata.image_spec,(s,a)=>s.name===a.metadata.snapshot_name,this.builders)}ngOnChanges(){this.columns&&(this.imageSpec=new Z.N(this.poolName,this.namespace,this.rbdName),this.rbdTableActions&&(this.rbdTableActions.featuresName=this.featuresName),this.taskListService.fetch())}openSnapshotModal(t,o=null){this.modalRef=this.modalService.show(W_),this.modalRef.componentInstance.poolName=this.poolName,this.modalRef.componentInstance.imageName=this.rbdName,this.modalRef.componentInstance.namespace=this.namespace,o?this.modalRef.componentInstance.setEditing():o=`${this.rbdName}_${Me()().toISOString(!0)}`,this.modalRef.componentInstance.setSnapName(o),this.modalRef.componentInstance.onSubmit.subscribe(i=>{const s=new nt.o;s.name=t,s.metadata={image_spec:this.imageSpec.toString(),snapshot_name:i},this.summaryService.addRunningTask(s)})}openCreateSnapshotModal(){this.openSnapshotModal("rbd/snap/create")}openEditSnapshotModal(){this.openSnapshotModal("rbd/snap/edit",this.selection.first().name)}toggleProtection(){const t=this.selection.first().name,o=this.selection.first().is_protected,i=new F.R;i.name="rbd/snap/edit";const s=new Z.N(this.poolName,this.namespace,this.rbdName);i.metadata={image_spec:s.toString(),snapshot_name:t},this.rbdService.protectSnapshot(s,t,!o).toPromise().then(()=>{const a=new nt.o;a.name=i.name,a.metadata=i.metadata,this.summaryService.addRunningTask(a),this.taskManagerService.subscribe(i.name,i.metadata,d=>{this.notificationService.notifyTask(d)})})}_asyncTask(t,o,i){const s=new F.R;s.name=o,s.metadata={image_spec:new Z.N(this.poolName,this.namespace,this.rbdName).toString(),snapshot_name:i};const a=new Z.N(this.poolName,this.namespace,this.rbdName);this.rbdService[t](a,i).toPromise().then(()=>{const d=new nt.o;d.name=s.name,d.metadata=s.metadata,this.summaryService.addRunningTask(d),this.modalRef.close(),this.taskManagerService.subscribe(d.name,d.metadata,c=>{this.notificationService.notifyTask(c)})}).catch(()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}rollbackModal(){const t=this.selection.selected[0].name,o=new Z.N(this.poolName,this.namespace,this.rbdName).toString(),i={titleText:"RBD snapshot rollback",buttonText:"Rollback",bodyTpl:this.rollbackTpl,bodyData:{snapName:`${o}@${t}`},onSubmit:()=>{this._asyncTask("rollbackSnapshot","rbd/snap/rollback",t)}};this.modalRef=this.modalService.show(ft.Y,i)}deleteSnapshotModal(){const t=this.selection.selected[0].name;this.modalRef=this.modalService.show(he.M,{itemDescription:"RBD snapshot",itemNames:[t],submitAction:()=>this._asyncTask("deleteSnapshot","rbd/snap/delete",t)})}updateSelection(t){this.selection=t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(re.Z),e.Y36(Fe.$),e.Y36(ze.N),e.Y36(x),e.Y36(St.k),e.Y36(Le.g),e.Y36(U_.J),e.Y36(se.j),e.Y36(D.p4),e.Y36(e.sBO))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-snapshot-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(os,5),e.Gf(ns,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.nameTpl=i.first),e.iGM(i=e.CRH())&&(o.rollbackTpl=i.first)}},inputs:{snapshots:"snapshots",featuresName:"featuresName",poolName:"poolName",namespace:"namespace",rbdName:"rbdName"},features:[e._Bn([se.j]),e.TTD],decls:4,vars:5,consts:function(){let _;return _="You are about to rollback",[["columnMode","flex","selectionType","single",3,"data","columns","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["rollbackTpl",""],_]},template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("updateSelection",function(s){return o.updateSelection(s)}),e._UZ(1,"cd-table-actions",1),e.qZA(),e.YNc(2,is,5,1,"ng-template",null,2,e.W1O)),2&t&&(e.Q6J("data",o.data)("columns",o.columns),e.xp6(1),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},directives:[ee.a,Re.K],styles:[""],changeDetection:0}),n})();var ss=p(71752),Rt=p(76317),as=p(41039);const rs=["poolConfigurationSourceTpl"];function ls(n,_){1&n&&(e.ynx(0),e.tHW(1,3),e._UZ(2,"strong"),e.N_p(),e.BQk())}function cs(n,_){if(1&n&&(e.TgZ(0,"span"),e.TgZ(1,"span",38),e._uU(2),e.qZA(),e.qZA()),2&n){const t=_.$implicit;e.xp6(2),e.Oqu(t)}}function ds(n,_){if(1&n&&(e.TgZ(0,"span"),e.TgZ(1,"span",39),e.SDv(2,40),e.qZA(),e.qZA()),2&n){e.oxw(3);const t=e.MAs(1);e.xp6(1),e.Q6J("ngbTooltip",t)}}function ps(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,t.selection.disk_usage)," ")}}function gs(n,_){if(1&n&&(e.TgZ(0,"span"),e.TgZ(1,"span",39),e.SDv(2,41),e.qZA(),e.qZA()),2&n){e.oxw(3);const t=e.MAs(1);e.xp6(1),e.Q6J("ngbTooltip",t)}}function us(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,t.selection.total_disk_usage)," ")}}function ms(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw(4);e.xp6(1),e.hij("/",t.selection.parent.pool_namespace,"")}}function Ts(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.YNc(2,ms,2,1,"span",1),e._uU(3),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Oqu(t.selection.parent.pool_name),e.xp6(1),e.Q6J("ngIf",t.selection.parent.pool_namespace),e.xp6(1),e.AsE("/",t.selection.parent.image_name,"@",t.selection.parent.snap_name,"")}}function fs(n,_){1&n&&(e.TgZ(0,"span"),e._uU(1,"-"),e.qZA())}function Cs(n,_){if(1&n&&(e.TgZ(0,"table",17),e.TgZ(1,"tbody"),e.TgZ(2,"tr"),e.TgZ(3,"td",18),e.SDv(4,19),e.qZA(),e.TgZ(5,"td",20),e._uU(6),e.qZA(),e.qZA(),e.TgZ(7,"tr"),e.TgZ(8,"td",21),e.SDv(9,22),e.qZA(),e.TgZ(10,"td"),e._uU(11),e.qZA(),e.qZA(),e.TgZ(12,"tr"),e.TgZ(13,"td",21),e.SDv(14,23),e.qZA(),e.TgZ(15,"td"),e._uU(16),e.ALo(17,"empty"),e.qZA(),e.qZA(),e.TgZ(18,"tr"),e.TgZ(19,"td",21),e.SDv(20,24),e.qZA(),e.TgZ(21,"td"),e._uU(22),e.ALo(23,"cdDate"),e.qZA(),e.qZA(),e.TgZ(24,"tr"),e.TgZ(25,"td",21),e.SDv(26,25),e.qZA(),e.TgZ(27,"td"),e._uU(28),e.ALo(29,"dimlessBinary"),e.qZA(),e.qZA(),e.TgZ(30,"tr"),e.TgZ(31,"td",21),e.SDv(32,26),e.qZA(),e.TgZ(33,"td"),e._uU(34),e.ALo(35,"dimless"),e.qZA(),e.qZA(),e.TgZ(36,"tr"),e.TgZ(37,"td",21),e.SDv(38,27),e.qZA(),e.TgZ(39,"td"),e._uU(40),e.ALo(41,"dimlessBinary"),e.qZA(),e.qZA(),e.TgZ(42,"tr"),e.TgZ(43,"td",21),e.SDv(44,28),e.qZA(),e.TgZ(45,"td"),e.YNc(46,cs,3,1,"span",29),e.qZA(),e.qZA(),e.TgZ(47,"tr"),e.TgZ(48,"td",21),e.SDv(49,30),e.qZA(),e.TgZ(50,"td"),e.YNc(51,ds,3,1,"span",1),e.YNc(52,ps,3,3,"span",1),e.qZA(),e.qZA(),e.TgZ(53,"tr"),e.TgZ(54,"td",21),e.SDv(55,31),e.qZA(),e.TgZ(56,"td"),e.YNc(57,gs,3,1,"span",1),e.YNc(58,us,3,3,"span",1),e.qZA(),e.qZA(),e.TgZ(59,"tr"),e.TgZ(60,"td",21),e.SDv(61,32),e.qZA(),e.TgZ(62,"td"),e._uU(63),e.ALo(64,"dimlessBinary"),e.qZA(),e.qZA(),e.TgZ(65,"tr"),e.TgZ(66,"td",21),e.SDv(67,33),e.qZA(),e.TgZ(68,"td"),e._uU(69),e.qZA(),e.qZA(),e.TgZ(70,"tr"),e.TgZ(71,"td",21),e.SDv(72,34),e.qZA(),e.TgZ(73,"td"),e.YNc(74,Ts,4,4,"span",1),e.YNc(75,fs,2,0,"span",1),e.qZA(),e.qZA(),e.TgZ(76,"tr"),e.TgZ(77,"td",21),e.SDv(78,35),e.qZA(),e.TgZ(79,"td"),e._uU(80),e.qZA(),e.qZA(),e.TgZ(81,"tr"),e.TgZ(82,"td",21),e.SDv(83,36),e.qZA(),e.TgZ(84,"td"),e._uU(85),e.qZA(),e.qZA(),e.TgZ(86,"tr"),e.TgZ(87,"td",21),e.SDv(88,37),e.qZA(),e.TgZ(89,"td"),e._uU(90),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(6),e.Oqu(t.selection.name),e.xp6(5),e.Oqu(t.selection.pool_name),e.xp6(5),e.Oqu(e.lcZ(17,19,t.selection.data_pool)),e.xp6(6),e.Oqu(e.lcZ(23,21,t.selection.timestamp)),e.xp6(6),e.Oqu(e.lcZ(29,23,t.selection.size)),e.xp6(6),e.Oqu(e.lcZ(35,25,t.selection.num_objs)),e.xp6(6),e.Oqu(e.lcZ(41,27,t.selection.obj_size)),e.xp6(6),e.Q6J("ngForOf",t.selection.features_name),e.xp6(5),e.Q6J("ngIf",-1===(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(1),e.Q6J("ngIf",-1!==(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(5),e.Q6J("ngIf",-1===(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(1),e.Q6J("ngIf",-1!==(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(5),e.Oqu(e.lcZ(64,29,t.selection.stripe_unit)),e.xp6(6),e.Oqu(t.selection.stripe_count),e.xp6(5),e.Q6J("ngIf",t.selection.parent),e.xp6(1),e.Q6J("ngIf",!t.selection.parent),e.xp6(5),e.Oqu(t.selection.block_name_prefix),e.xp6(5),e.Oqu(t.selection.order),e.xp6(5),e.Oqu(t.selection.image_format)}}function Ss(n,_){if(1&n&&e._UZ(0,"cd-rbd-snapshot-list",42),2&n){const t=e.oxw(2);e.Q6J("snapshots",t.selection.snapshots)("featuresName",t.selection.features_name)("poolName",t.selection.pool_name)("namespace",t.selection.namespace)("rbdName",t.selection.name)}}function Es(n,_){if(1&n&&e._UZ(0,"cd-rbd-configuration-table",43),2&n){const t=e.oxw(2);e.Q6J("data",t.selection.configuration)}}function Rs(n,_){if(1&n&&e._UZ(0,"cd-grafana",44),2&n){const t=e.oxw(2);e.Q6J("grafanaPath",t.rbdDashboardUrl)}}function Ms(n,_){if(1&n&&(e.ynx(0),e.TgZ(1,"ul",4,5),e.TgZ(3,"li",6),e.TgZ(4,"a",7),e.SDv(5,8),e.qZA(),e.YNc(6,Cs,91,31,"ng-template",9),e.qZA(),e.TgZ(7,"li",10),e.TgZ(8,"a",7),e.SDv(9,11),e.qZA(),e.YNc(10,Ss,1,5,"ng-template",9),e.qZA(),e.TgZ(11,"li",12),e.TgZ(12,"a",7),e.SDv(13,13),e.qZA(),e.YNc(14,Es,1,1,"ng-template",9),e.qZA(),e.TgZ(15,"li",14),e.TgZ(16,"a",7),e.SDv(17,15),e.qZA(),e.YNc(18,Rs,1,1,"ng-template",9),e.qZA(),e.qZA(),e._UZ(19,"div",16),e.BQk()),2&n){const t=e.MAs(2);e.xp6(19),e.Q6J("ngbNavOutlet",t)}}function Os(n,_){1&n&&(e.ynx(0),e.TgZ(1,"cd-alert-panel",45),e.SDv(2,46),e.qZA(),e.BQk())}function As(n,_){1&n&&(e.ynx(0),e.TgZ(1,"strong",49),e.SDv(2,50),e.qZA(),e.BQk())}function hs(n,_){1&n&&(e.TgZ(0,"span",51),e.SDv(1,52),e.qZA())}function Ps(n,_){if(1&n&&(e.YNc(0,As,3,0,"ng-container",47),e.YNc(1,hs,2,0,"ng-template",null,48,e.W1O)),2&n){const t=_.value,o=e.MAs(2);e.Q6J("ngIf",+t)("ngIfElse",o)}}let Is=(()=>{class n{ngOnChanges(){this.selection&&(this.rbdDashboardUrl=`rbd-details?var-Pool=${this.selection.pool_name}&var-Image=${this.selection.name}`)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-details"]],viewQuery:function(t,o){if(1&t&&(e.Gf(rs,7),e.Gf(I.Pz,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.poolConfigurationSourceTpl=i.first),e.iGM(i=e.CRH())&&(o.nav=i.first)}},inputs:{selection:"selection",images:"images"},features:[e.TTD],decls:6,vars:2,consts:function(){let _,t,o,i,s,a,d,c,u,S,N,P,$,G,X,J,te,A,w,de,pe,ge,ue,me,Te,fe,Ce,Se;return _="Only available for RBD images with " + "\ufffd#2\ufffd" + "fast-diff" + "\ufffd/#2\ufffd" + " enabled",t="Details",o="Snapshots",i="Configuration",s="Performance",a="Name",d="Pool",c="Data Pool",u="Created",S="Size",N="Objects",P="Object size",$="Features",G="Provisioned",X="Total provisioned",J="Striping unit",te="Striping count",A="Parent",w="Block name prefix",de="Order",pe="Format Version",ge="N/A",ue="N/A",me="Information can not be displayed for RBD in status 'Removing'.",Te="This setting overrides the global value",fe="Image",Ce="This is the global value. No value for this option has been set for this image.",Se="Global",[["usageNotAvailableTooltipTpl",""],[4,"ngIf"],["poolConfigurationSourceTpl",""],_,["ngbNav","","cdStatefulTab","rbd-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],t,["ngbNavContent",""],["ngbNavItem","snapshots"],o,["ngbNavItem","configuration"],i,["ngbNavItem","performance"],s,[3,"ngbNavOutlet"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],a,[1,"w-75"],[1,"bold"],d,c,u,S,N,P,$,[4,"ngFor","ngForOf"],G,X,J,te,A,w,de,pe,[1,"badge","badge-dark","mr-2"],["placement","top",1,"form-text","text-muted",3,"ngbTooltip"],ge,ue,[3,"snapshots","featuresName","poolName","namespace","rbdName"],[3,"data"],["uid","YhCYGcuZz","grafanaStyle","one",3,"grafanaPath"],["type","warning"],me,[4,"ngIf","ngIfElse"],["global",""],["ngbTooltip",Te],fe,["ngbTooltip",Ce],Se]},template:function(t,o){1&t&&(e.YNc(0,ls,3,0,"ng-template",null,0,e.W1O),e.YNc(2,Ms,20,1,"ng-container",1),e.YNc(3,Os,3,0,"ng-container",1),e.YNc(4,Ps,3,2,"ng-template",null,2,e.W1O)),2&t&&(e.xp6(2),e.Q6J("ngIf",o.selection&&"REMOVING"!==o.selection.source),e.xp6(1),e.Q6J("ngIf",o.selection&&"REMOVING"===o.selection.source))},directives:[l.O5,I.Pz,mt.m,I.nv,I.Vx,I.uN,I.tO,l.sg,I._L,_s,ss.P,Rt.F,pt.G],pipes:[as.W,ze.N,Fe.$,Ue.n],styles:[""]}),n})();const bs=["usageTpl"],Ns=["parentTpl"],Ds=["nameTpl"],vs=["flattenTpl"],Ls=["deleteTpl"],Fs=["removingStatTpl"],$s=["provisionedNotAvailableTooltipTpl"],Zs=["totalProvisionedNotAvailableTooltipTpl"];function Bs(n,_){1&n&&e._UZ(0,"div",11),2&n&&e.Q6J("innerHtml","Only available for RBD images with <strong>fast-diff</strong> enabled",e.oJD)}function Gs(n,_){if(1&n&&(e.TgZ(0,"span",14),e.SDv(1,15),e.qZA()),2&n){e.oxw(2);const t=e.MAs(6);e.Q6J("ngbTooltip",t)}}function ys(n,_){if(1&n&&(e.SDv(0,16),e.ALo(1,"dimlessBinary")),2&n){const t=e.oxw().row;e.xp6(1),e.pQV(e.lcZ(1,1,t.disk_usage)),e.QtT(0)}}function xs(n,_){if(1&n&&(e.YNc(0,Gs,2,1,"span",12),e.YNc(1,ys,2,3,"ng-template",null,13,e.W1O)),2&n){const t=_.row,o=e.MAs(2);e.Q6J("ngIf",null===t.disk_usage&&!t.features_name.includes("fast-diff"))("ngIfElse",o)}}function ws(n,_){if(1&n&&(e.TgZ(0,"span",14),e.SDv(1,18),e.qZA()),2&n){e.oxw(2);const t=e.MAs(6);e.Q6J("ngbTooltip",t)}}function qs(n,_){if(1&n&&(e.SDv(0,19),e.ALo(1,"dimlessBinary")),2&n){const t=e.oxw().row;e.xp6(1),e.pQV(e.lcZ(1,1,t.total_disk_usage)),e.QtT(0)}}function Hs(n,_){if(1&n&&(e.YNc(0,ws,2,1,"span",12),e.YNc(1,qs,2,3,"ng-template",null,17,e.W1O)),2&n){const t=_.row,o=e.MAs(2);e.Q6J("ngIf",null===t.total_disk_usage&&!t.features_name.includes("fast-diff"))("ngIfElse",o)}}function Ks(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw(2).value;e.xp6(1),e.hij("/",t.pool_namespace,"")}}function ks(n,_){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.YNc(2,Ks,2,1,"span",20),e._uU(3),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t.pool_name),e.xp6(1),e.Q6J("ngIf",t.pool_namespace),e.xp6(1),e.AsE("/",t.image_name,"@",t.snap_name,"")}}function Xs(n,_){1&n&&(e.TgZ(0,"span"),e._uU(1,"-"),e.qZA())}function Qs(n,_){if(1&n&&(e.YNc(0,ks,4,4,"span",20),e.YNc(1,Xs,2,0,"span",20)),2&n){const t=_.value;e.Q6J("ngIf",t),e.xp6(1),e.Q6J("ngIf",!t)}}function zs(n,_){if(1&n&&(e._uU(0," You are about to flatten "),e.TgZ(1,"strong"),e._uU(2),e.qZA(),e._uU(3,". "),e._UZ(4,"br"),e._UZ(5,"br"),e._uU(6," All blocks will be copied from parent "),e.TgZ(7,"strong"),e._uU(8),e.qZA(),e._uU(9," to child "),e.TgZ(10,"strong"),e._uU(11),e.qZA(),e._uU(12,".\n")),2&n){const t=_.$implicit;e.xp6(2),e.Oqu(t.child),e.xp6(6),e.Oqu(t.parent),e.xp6(3),e.Oqu(t.child)}}function Js(n,_){if(1&n&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.xp6(1),e.Oqu(t)}}function Ys(n,_){if(1&n&&(e.ynx(0),e.TgZ(1,"span"),e.SDv(2,24),e.qZA(),e.TgZ(3,"ul"),e.YNc(4,Js,2,1,"li",25),e.qZA(),e.BQk()),2&n){const t=e.oxw(2).snapshots;e.xp6(4),e.Q6J("ngForOf",t)}}function Vs(n,_){if(1&n&&(e.TgZ(0,"div",22),e.TgZ(1,"span"),e.SDv(2,23),e.qZA(),e._UZ(3,"br"),e.YNc(4,Ys,5,1,"ng-container",20),e.qZA()),2&n){const t=e.oxw().snapshots;e.xp6(4),e.Q6J("ngIf",t.length>0)}}function Us(n,_){1&n&&e.YNc(0,Vs,5,1,"div",21),2&n&&e.Q6J("ngIf",_.hasSnapshots)}const js=function(n,_){return[n,_]};function Ws(n,_){if(1&n&&e._UZ(0,"i",27),2&n){const t=e.oxw(2);e.Q6J("ngClass",e.WLB(1,js,t.icons.spinner,t.icons.spin))}}function ea(n,_){if(1&n&&(e.TgZ(0,"span",27),e._uU(1),e.qZA()),2&n){const t=e.oxw(),o=t.column,i=t.row;e.Q6J("ngClass",null!=o&&null!=o.customTemplateConfig&&o.customTemplateConfig.executingClass?o.customTemplateConfig.executingClass:"text-muted italic"),e.xp6(1),e.hij(" (",i.cdExecuting,") ")}}function ta(n,_){if(1&n&&e._UZ(0,"i",29),2&n){const t=e.oxw(2);e.Gre("",t.icons.warning," warn")}}function oa(n,_){if(1&n&&(e.YNc(0,Ws,1,4,"i",26),e.TgZ(1,"span",27),e._uU(2),e.qZA(),e.YNc(3,ea,2,2,"span",26),e.YNc(4,ta,1,3,"i",28)),2&n){const t=_.column,o=_.value,i=_.row;e.Q6J("ngIf",i.cdExecuting),e.xp6(1),e.Q6J("ngClass",null==t||null==t.customTemplateConfig?null:t.customTemplateConfig.valueClass),e.xp6(1),e.hij(" ",o," "),e.xp6(1),e.Q6J("ngIf",i.cdExecuting),e.xp6(1),e.Q6J("ngIf",i.source&&"REMOVING"===i.source)}}let ia=(()=>{class n extends lt.o{constructor(t,o,i,s,a,d,c,u,S){super(),this.authStorageService=t,this.rbdService=o,this.dimlessBinaryPipe=i,this.dimlessPipe=s,this.modalService=a,this.taskWrapper=d,this.taskListService=c,this.urlBuilder=u,this.actionLabels=S,this.tableStatus=new U.E,this.selection=new Ee.r,this.icons=T.P,this.builders={"rbd/create":A=>this.createRbdFromTask(A.pool_name,A.namespace,A.image_name),"rbd/delete":A=>this.createRbdFromTaskImageSpec(A.image_spec),"rbd/clone":A=>this.createRbdFromTask(A.child_pool_name,A.child_namespace,A.child_image_name),"rbd/copy":A=>this.createRbdFromTask(A.dest_pool_name,A.dest_namespace,A.dest_image_name)},this.permission=this.authStorageService.getPermissions().rbdImage;const N=()=>this.selection.first()&&new Z.N(this.selection.first().pool_name,this.selection.first().namespace,this.selection.first().name).toStringEncoded();this.tableActions=[{permission:"create",icon:T.P.add,routerLink:()=>this.urlBuilder.getCreate(),canBePrimary:A=>!A.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:T.P.edit,routerLink:()=>this.urlBuilder.getEdit(N()),name:this.actionLabels.EDIT,disable:A=>this.getRemovingStatusDesc(A)||this.getInvalidNameDisable(A)},{permission:"create",canBePrimary:A=>A.hasSingleSelection,disable:A=>this.getRemovingStatusDesc(A)||this.getInvalidNameDisable(A)||!!A.first().cdExecuting,icon:T.P.copy,routerLink:()=>`/block/rbd/copy/${N()}`,name:this.actionLabels.COPY},{permission:"update",disable:A=>this.getRemovingStatusDesc(A)||this.getInvalidNameDisable(A)||A.first().cdExecuting||!A.first().parent,icon:T.P.flatten,click:()=>this.flattenRbdModal(),name:this.actionLabels.FLATTEN},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteRbdModal(),name:this.actionLabels.DELETE,disable:A=>this.getDeleteDisableDesc(A)},{permission:"delete",icon:T.P.trash,click:()=>this.trashRbdModal(),name:this.actionLabels.TRASH,disable:A=>this.getRemovingStatusDesc(A)||this.getInvalidNameDisable(A)||A.first().image_format===Pe.V1}]}createRbdFromTaskImageSpec(t){const o=Z.N.fromString(t);return this.createRbdFromTask(o.poolName,o.namespace,o.imageName)}createRbdFromTask(t,o,i){const s=new zi;return s.id="-1",s.unique_id="-1",s.name=i,s.namespace=o,s.pool_name=t,s.image_format=Pe.V2,s}ngOnInit(){this.columns=[{name:"Name",prop:"name",flexGrow:2,cellTemplate:this.removingStatTpl},{name:"Pool",prop:"pool_name",flexGrow:2},{name:"Namespace",prop:"namespace",flexGrow:2},{name:"Size",prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"Objects",prop:"num_objs",flexGrow:1,cellClass:"text-right",pipe:this.dimlessPipe},{name:"Object size",prop:"obj_size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"Provisioned",prop:"disk_usage",cellClass:"text-center",flexGrow:1,pipe:this.dimlessBinaryPipe,cellTemplate:this.provisionedNotAvailableTooltipTpl},{name:"Total provisioned",prop:"total_disk_usage",cellClass:"text-center",flexGrow:1,pipe:this.dimlessBinaryPipe,cellTemplate:this.totalProvisionedNotAvailableTooltipTpl},{name:"Parent",prop:"parent",flexGrow:2,cellTemplate:this.parentTpl}],this.taskListService.init(()=>this.rbdService.list(),i=>this.prepareResponse(i),i=>this.images=i,()=>this.onFetchError(),i=>["rbd/clone","rbd/copy","rbd/create","rbd/delete","rbd/edit","rbd/flatten","rbd/trash/move"].includes(i.name),(i,s)=>{let a;switch(s.name){case"rbd/copy":a=new Z.N(s.metadata.dest_pool_name,s.metadata.dest_namespace,s.metadata.dest_image_name).toString();break;case"rbd/clone":a=new Z.N(s.metadata.child_pool_name,s.metadata.child_namespace,s.metadata.child_image_name).toString();break;case"rbd/create":a=new Z.N(s.metadata.pool_name,s.metadata.namespace,s.metadata.image_name).toString();break;default:a=s.metadata.image_spec}return a===new Z.N(i.pool_name,i.namespace,i.name).toString()},this.builders)}onFetchError(){this.table.reset(),this.tableStatus=new U.E(ce.T.ValueException)}prepareResponse(t){let o=[];const i={};let s;if(t.forEach(a=>{C().isUndefined(i[a.status])&&(i[a.status]=[]),i[a.status].push(a.pool_name),o=o.concat(a.value)}),i[ce.T.ValueException]?s=ce.T.ValueException:i[ce.T.ValueStale]?s=ce.T.ValueStale:i[ce.T.ValueNone]&&(s=ce.T.ValueNone),s){const a=(i[s].length>1?"pools ":"pool ")+i[s].join();this.tableStatus=new U.E(s,a)}else this.tableStatus=new U.E;return o}updateSelection(t){this.selection=t}deleteRbdModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().name,s=new Z.N(t,o,i);this.modalRef=this.modalService.show(he.M,{itemDescription:"RBD",itemNames:[s],bodyTemplate:this.deleteTpl,bodyContext:{hasSnapshots:this.hasSnapshots(),snapshots:this.listProtectedSnapshots()},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/delete",{image_spec:s.toString()}),call:this.rbdService.delete(s)})})}trashRbdModal(){const t={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,hasSnapshots:this.hasSnapshots()};this.modalRef=this.modalService.show(J_,t)}flattenRbd(t){this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/flatten",{image_spec:t.toString()}),call:this.rbdService.flatten(t)}).subscribe({complete:()=>{this.modalRef.close()}})}flattenRbdModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().name,s=this.selection.first().parent,a=new Z.N(s.pool_name,s.pool_namespace,s.image_name),d=new Z.N(t,o,i),c={titleText:"RBD flatten",buttonText:"Flatten",bodyTpl:this.flattenTpl,bodyData:{parent:`${a}@${s.snap_name}`,child:d.toString()},onSubmit:()=>{this.flattenRbd(d)}};this.modalRef=this.modalService.show(ft.Y,c)}hasSnapshots(){return(this.selection.first().snapshots||[]).length>0}hasClonedSnapshots(t){return(t.snapshots||[]).some(i=>i.children&&i.children.length>0)}listProtectedSnapshots(){return this.selection.first().snapshots.reduce((i,s)=>(s.is_protected&&i.push(s.name),i),[])}getDeleteDisableDesc(t){const o=t.first();return o&&this.hasClonedSnapshots(o)?"This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.":this.getInvalidNameDisable(t)||this.hasClonedSnapshots(t.first())}getInvalidNameDisable(t){var o;const i=t.first();return(null===(o=null==i?void 0:i.name)||void 0===o?void 0:o.match(/[@/]/))?"This RBD image has an invalid name and can't be managed by ceph.":!t.first()||!t.hasSingleSelection}getRemovingStatusDesc(t){const o=t.first();return"REMOVING"===(null==o?void 0:o.source)&&"Action not possible for an RBD in status 'Removing'"}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(x),e.Y36(Fe.$),e.Y36(Ue.n),e.Y36(re.Z),e.Y36(Q.P),e.Y36(se.j),e.Y36(tt.F),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(ee.a,7),e.Gf(bs,5),e.Gf(Ns,7),e.Gf(Ds,5),e.Gf(vs,7),e.Gf(Ls,7),e.Gf(Fs,7),e.Gf($s,7),e.Gf(Zs,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first),e.iGM(i=e.CRH())&&(o.usageTpl=i.first),e.iGM(i=e.CRH())&&(o.parentTpl=i.first),e.iGM(i=e.CRH())&&(o.nameTpl=i.first),e.iGM(i=e.CRH())&&(o.flattenTpl=i.first),e.iGM(i=e.CRH())&&(o.deleteTpl=i.first),e.iGM(i=e.CRH())&&(o.removingStatTpl=i.first),e.iGM(i=e.CRH())&&(o.provisionedNotAvailableTooltipTpl=i.first),e.iGM(i=e.CRH())&&(o.totalProvisionedNotAvailableTooltipTpl=i.first)}},features:[e._Bn([se.j,{provide:tt.F,useValue:new tt.F("block/rbd")}]),e.qOj],decls:19,vars:10,consts:function(){let _,t,o,i,s,a,d;return _="N/A",t="" + "\ufffd0\ufffd" + "",o="N/A",i="" + "\ufffd0\ufffd" + "",s="Deleting this image will also delete all its snapshots.",a="The following snapshots are currently protected and will be removed:",d="RBD in status 'Removing'",[["columnMode","flex","identifier","unique_id","forceIdentifier","true","selectionType","single",3,"data","columns","searchableObjects","hasDetails","status","autoReload","fetchData","setExpandedRow","updateSelection"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["usageNotAvailableTooltipTpl",""],["provisionedNotAvailableTooltipTpl",""],["totalProvisionedNotAvailableTooltipTpl",""],["parentTpl",""],["flattenTpl",""],["deleteTpl",""],["removingStatTpl",""],[3,"innerHtml"],["placement","top",3,"ngbTooltip",4,"ngIf","ngIfElse"],["provisioned",""],["placement","top",3,"ngbTooltip"],_,t,["totalProvisioned",""],o,i,[4,"ngIf"],["class","alert alert-warning","role","alert",4,"ngIf"],["role","alert",1,"alert","alert-warning"],s,a,[4,"ngFor","ngForOf"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],["title",d,3,"class",4,"ngIf"],["title",d]]},template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0,1),e.NdJ("fetchData",function(){return o.taskListService.fetch()})("setExpandedRow",function(s){return o.setExpandedRow(s)})("updateSelection",function(s){return o.updateSelection(s)}),e._UZ(3,"cd-table-actions",2),e._UZ(4,"cd-rbd-details",3),e.qZA(),e.YNc(5,Bs,1,1,"ng-template",null,4,e.W1O),e.YNc(7,xs,3,2,"ng-template",null,5,e.W1O),e.YNc(9,Hs,3,2,"ng-template",null,6,e.W1O),e.YNc(11,Qs,2,2,"ng-template",null,7,e.W1O),e.YNc(13,zs,13,3,"ng-template",null,8,e.W1O),e.YNc(15,Us,1,1,"ng-template",null,9,e.W1O),e.YNc(17,oa,5,5,"ng-template",null,10,e.W1O)),2&t&&(e.xp6(1),e.Q6J("data",o.images)("columns",o.columns)("searchableObjects",!0)("hasDetails",!0)("status",o.tableStatus)("autoReload",-1),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions),e.xp6(1),e.Q6J("selection",o.expandedRow))},directives:[Qe,ee.a,Re.K,Is,l.O5,I._L,l.sg,l.mk],pipes:[Fe.$],styles:[".warn[_ngcontent-%COMP%]{color:#ffc200}"]}),n})();function _a(n,_){1&n&&e._UZ(0,"input",19)}function sa(n,_){1&n&&(e.TgZ(0,"option",23),e.SDv(1,24),e.qZA()),2&n&&e.Q6J("ngValue",null)}function aa(n,_){1&n&&(e.TgZ(0,"option",23),e.SDv(1,25),e.qZA()),2&n&&e.Q6J("ngValue",null)}function ra(n,_){1&n&&(e.TgZ(0,"option",23),e.SDv(1,26),e.qZA()),2&n&&e.Q6J("ngValue",null)}function la(n,_){if(1&n&&(e.TgZ(0,"option",27),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function ca(n,_){if(1&n&&(e.TgZ(0,"select",20),e.YNc(1,sa,2,1,"option",21),e.YNc(2,aa,2,1,"option",21),e.YNc(3,ra,2,1,"option",21),e.YNc(4,la,2,2,"option",22),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.pools)}}function da(n,_){1&n&&(e.TgZ(0,"span",28),e.SDv(1,29),e.qZA())}function pa(n,_){1&n&&(e.TgZ(0,"span",28),e.SDv(1,30),e.qZA())}function ga(n,_){1&n&&(e.TgZ(0,"span",28),e.SDv(1,31),e.qZA())}let ua=(()=>{class n{constructor(t,o,i,s,a,d){this.activeModal=t,this.actionLabels=o,this.authStorageService=i,this.notificationService=s,this.poolService=a,this.rbdService=d,this.pools=null,this.editing=!1,this.poolPermission=this.authStorageService.getPermissions().pool,this.createForm()}createForm(){this.namespaceForm=new M.d({pool:new r.NI(""),namespace:new r.NI("")},this.validator(),this.asyncValidator())}validator(){return t=>{const o=t.get("pool"),i=t.get("namespace");let s=null;o.value||(s={required:!0}),o.setErrors(s);let a=null;return i.value||(a={required:!0}),i.setErrors(a),null}}asyncValidator(){return t=>new Promise(o=>{const i=t.get("pool"),s=t.get("namespace");this.rbdService.listNamespaces(i.value).subscribe(a=>{if(a.some(d=>d.namespace===s.value)){const d={namespaceExists:!0};s.setErrors(d),o(d)}else o(null)})})}ngOnInit(){this.onSubmit=new Et.xQ,this.poolPermission.read&&this.poolService.list(["pool_name","type","application_metadata"]).then(t=>{const o=[];for(const i of t)this.rbdService.isRBDPool(i)&&"replicated"===i.type&&o.push(i);if(this.pools=o,1===this.pools.length){const i=this.pools[0].pool_name;this.namespaceForm.get("pool").setValue(i)}})}submit(){const t=this.namespaceForm.getValue("pool"),o=this.namespaceForm.getValue("namespace"),i=new F.R;i.name="rbd/namespace/create",i.metadata={pool:t,namespace:o},this.rbdService.createNamespace(t,o).toPromise().then(()=>{this.notificationService.show(Ve.k.success,"Created namespace '" + t + "/" + o + "'"),this.activeModal.close(),this.onSubmit.next()}).catch(()=>{this.namespaceForm.setErrors({cdSubmitButton:!0})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(I.Kz),e.Y36(D.p4),e.Y36(oe.j),e.Y36(Le.g),e.Y36(Ke.q),e.Y36(x))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-namespace-form-modal"]],decls:23,vars:9,consts:function(){let _,t,o,i,s,a,d,c,u;return _="Create Namespace",t="Pool",o="Name",i="Loading...",s="-- No rbd pools available --",a="-- Select a pool --",d="This field is required.",c="This field is required.",u="Namespace already exists.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","namespaceForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","pool",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["class","form-control","type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",4,"ngIf"],["id","pool","name","pool","class","form-control","formControlName","pool",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["for","namespace",1,"cd-col-form-label","required"],o,["type","text","placeholder","Namespace name...","id","namespace","name","namespace","formControlName","namespace","autofocus","",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",1,"form-control"],["id","pool","name","pool","formControlName","pool",1,"form-control"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],[3,"ngValue"],i,s,a,[3,"value"],[1,"invalid-feedback"],d,c,u]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"div",7),e.TgZ(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e.YNc(11,_a,1,0,"input",11),e.YNc(12,ca,5,4,"select",12),e.YNc(13,da,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(14,"div",7),e.TgZ(15,"label",14),e.SDv(16,15),e.qZA(),e.TgZ(17,"div",10),e._UZ(18,"input",16),e.YNc(19,pa,2,0,"span",13),e.YNc(20,ga,2,0,"span",13),e.qZA(),e.qZA(),e.qZA(),e.TgZ(21,"div",17),e.TgZ(22,"cd-form-button-panel",18),e.NdJ("submitActionEvent",function(){return o.submit()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.namespaceForm),e.xp6(7),e.Q6J("ngIf",!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.namespaceForm.showError("pool",i,"required")),e.xp6(6),e.Q6J("ngIf",o.namespaceForm.showError("namespace",i,"required")),e.xp6(1),e.Q6J("ngIf",o.namespaceForm.showError("namespace",i,"namespaceExists")),e.xp6(2),e.Q6J("form",o.namespaceForm)("submitText",o.actionLabels.CREATE)}},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,l.O5,f.o,r.Fj,h.b,r.JJ,r.u,le.U,O.p,r.EJ,l.sg,r.YN,r.Kr],styles:[""]}),n})(),ma=(()=>{class n{constructor(t,o,i,s,a,d){this.authStorageService=t,this.rbdService=o,this.poolService=i,this.modalService=s,this.notificationService=a,this.actionLabels=d,this.selection=new Ee.r,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"create",icon:T.P.add,click:()=>this.createModal(),name:this.actionLabels.CREATE},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE,disable:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:"Namespace",prop:"namespace",flexGrow:1},{name:"Pool",prop:"pool",flexGrow:1},{name:"Total images",prop:"num_images",flexGrow:1}],this.refresh()}refresh(){this.poolService.list(["pool_name","type","application_metadata"]).then(t=>{t=t.filter(i=>this.rbdService.isRBDPool(i)&&"replicated"===i.type);const o=[];t.forEach(i=>{o.push(this.rbdService.listNamespaces(i.pool_name))}),o.length>0?(0,W.D)(o).subscribe(i=>{const s=[];for(let a=0;a<i.length;a++){const c=t[a].pool_name;i[a].forEach(u=>{s.push({id:`${c}/${u.namespace}`,pool:c,namespace:u.namespace,num_images:u.num_images})})}this.namespaces=s}):this.namespaces=[]})}updateSelection(t){this.selection=t}createModal(){this.modalRef=this.modalService.show(ua),this.modalRef.componentInstance.onSubmit.subscribe(()=>{this.refresh()})}deleteModal(){const t=this.selection.first().pool,o=this.selection.first().namespace;this.modalRef=this.modalService.show(he.M,{itemDescription:"Namespace",itemNames:[`${t}/${o}`],submitAction:()=>this.rbdService.deleteNamespace(t,o).subscribe(()=>{this.notificationService.show(Ve.k.success,"Deleted namespace '" + t + "/" + o + "'"),this.modalRef.close(),this.refresh()},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})})}getDeleteDisableDesc(){var t;const o=this.selection.first();return(null==o?void 0:o.num_images)>0?"Namespace contains images":!(null===(t=this.selection)||void 0===t?void 0:t.first())}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(x),e.Y36(Ke.q),e.Y36(re.Z),e.Y36(Le.g),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-namespace-list"]],features:[e._Bn([se.j])],decls:4,vars:5,consts:[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","fetchData","updateSelection"],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"]],template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()})("updateSelection",function(s){return o.updateSelection(s)}),e.TgZ(2,"div",1),e._UZ(3,"cd-table-actions",2),e.qZA(),e.qZA()),2&t&&(e.xp6(1),e.Q6J("data",o.namespaces)("columns",o.columns),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},directives:[Qe,ee.a,Re.K],styles:[""]}),n})(),Ta=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-performance"]],decls:2,vars:1,consts:[["uid","41FrpeUiz","grafanaStyle","two",3,"grafanaPath"]],template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e._UZ(1,"cd-grafana",0)),2&t&&(e.xp6(1),e.Q6J("grafanaPath","rbd-overview?"))},directives:[Qe,Rt.F],styles:[""]}),n})();function fa(n,_){1&n&&e._UZ(0,"input",15)}function Ca(n,_){if(1&n&&(e.TgZ(0,"option",20),e._uU(1),e.qZA()),2&n){const t=_.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function Sa(n,_){if(1&n&&(e.TgZ(0,"select",16),e.TgZ(1,"option",17),e.SDv(2,18),e.qZA(),e.YNc(3,Ca,2,2,"option",19),e.qZA()),2&n){const t=e.oxw();e.xp6(3),e.Q6J("ngForOf",t.pools)}}let Ea=(()=>{class n{constructor(t,o,i,s,a,d,c){this.authStorageService=t,this.rbdService=o,this.activeModal=i,this.actionLabels=s,this.fb=a,this.poolService=d,this.taskWrapper=c,this.poolPermission=this.authStorageService.getPermissions().pool}createForm(){this.purgeForm=this.fb.group({poolName:""})}ngOnInit(){this.poolPermission.read&&this.poolService.list(["pool_name","application_metadata"]).then(t=>{this.pools=t.filter(o=>o.application_metadata.includes("rbd")).map(o=>o.pool_name)}),this.createForm()}purge(){const t=this.purgeForm.getValue("poolName")||"";this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/trash/purge",{pool_name:t}),call:this.rbdService.purgeTrash(t)}).subscribe({error:()=>{this.purgeForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(x),e.Y36(I.Kz),e.Y36(D.p4),e.Y36(ot.O),e.Y36(Ke.q),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-purge-modal"]],decls:18,vars:6,consts:function(){let _,t,o,i,s;return _="Purge Trash",t="To purge, select\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "All" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + "\xA0 or one pool and click\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "Purge" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ".\xA0",t=e.Zx4(t),o="Pool:",i="Pool name...",s="All",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","purgeForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],[1,"col-form-label","mx-auto"],o,["class","form-control","type","text","placeholder",i,"formControlName","poolName",4,"ngIf"],["id","poolName","name","poolName","class","form-control","formControlName","poolName",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["type","text","placeholder",i,"formControlName","poolName",1,"form-control"],["id","poolName","name","poolName","formControlName","poolName",1,"form-control"],["value",""],s,[3,"value",4,"ngFor","ngForOf"],[3,"value"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.tHW(8,7),e._UZ(9,"kbd"),e._UZ(10,"kbd"),e.N_p(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e.YNc(14,fa,1,0,"input",11),e.YNc(15,Sa,4,1,"select",12),e.qZA(),e.qZA(),e.TgZ(16,"div",13),e.TgZ(17,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return o.purge()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.purgeForm),e.xp6(10),e.Q6J("ngIf",!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.poolPermission.read),e.xp6(2),e.Q6J("form",o.purgeForm)("submitText",o.actionLabels.PURGE))},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,l.O5,O.p,f.o,r.Fj,h.b,r.JJ,r.u,r.EJ,r.YN,r.Kr,l.sg],styles:[""]}),n})();function Ra(n,_){1&n&&(e.TgZ(0,"span",15),e.SDv(1,16),e.qZA())}let Ma=(()=>{class n{constructor(t,o,i,s,a){this.rbdService=t,this.activeModal=o,this.actionLabels=i,this.fb=s,this.taskWrapper=a}ngOnInit(){this.imageSpec=new Z.N(this.poolName,this.namespace,this.imageName).toString(),this.restoreForm=this.fb.group({name:this.imageName})}restore(){const t=this.restoreForm.getValue("name"),o=new Z.N(this.poolName,this.namespace,this.imageId);this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/trash/restore",{image_id_spec:o.toString(),new_image_name:t}),call:this.rbdService.restoreTrash(o,t)}).subscribe({error:()=>{this.restoreForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x),e.Y36(I.Kz),e.Y36(D.p4),e.Y36(ot.O),e.Y36(Q.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-restore-modal"]],decls:18,vars:7,consts:function(){let _,t,o,i;return _="Restore Image",t="To restore\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "" + "\ufffd0\ufffd" + "@" + "\ufffd1\ufffd" + "" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ",\xA0 type the image's new name and click\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "Restore" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ".",t=e.Zx4(t),o="New Name",i="This field is required.",[[3,"modalRef"],[1,"modal-title"],_,[1,"modal-content"],["name","restoreForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","name",1,"col-form-label"],o,["type","text","name","name","id","name","autocomplete","off","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],i]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.tHW(8,7),e._UZ(9,"kbd"),e._UZ(10,"kbd"),e.N_p(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,Ra,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(16,"div",13),e.TgZ(17,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return o.restore()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.restoreForm),e.xp6(6),e.pQV(o.imageSpec)(o.imageId),e.QtT(8),e.xp6(5),e.Q6J("ngIf",o.restoreForm.showError("name",i,"required")),e.xp6(2),e.Q6J("form",o.restoreForm)("submitText",o.actionLabels.RESTORE)}},directives:[R.z,r._Y,r.JL,r.sg,v.V,g.P,f.o,r.Fj,h.b,r.JJ,r.u,le.U,l.O5,O.p],styles:[""]}),n})();const Oa=["expiresTpl"],Aa=["deleteTpl"],ha=function(n){return[n]};function Pa(n,_){if(1&n){const t=e.EpF();e.TgZ(0,"button",6),e.NdJ("click",function(){return e.CHM(t),e.oxw().purgeModal()}),e._UZ(1,"i",7),e.ynx(2),e.SDv(3,8),e.BQk(),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("disabled",t.disablePurgeBtn),e.xp6(1),e.Q6J("ngClass",e.VKq(2,ha,t.icons.destroy))}}function Ia(n,_){1&n&&(e.ynx(0),e.SDv(1,10),e.BQk())}function ba(n,_){1&n&&(e.ynx(0),e.SDv(1,11),e.BQk())}function Na(n,_){if(1&n&&(e.YNc(0,Ia,2,0,"ng-container",9),e.YNc(1,ba,2,0,"ng-container",9),e._uU(2),e.ALo(3,"cdDate")),2&n){const t=_.row,o=_.value;e.Q6J("ngIf",t.cdIsExpired),e.xp6(1),e.Q6J("ngIf",!t.cdIsExpired),e.xp6(1),e.hij(" ",e.lcZ(3,3,o),"\n")}}function Da(n,_){if(1&n&&(e.TgZ(0,"p",13),e.TgZ(1,"strong"),e.ynx(2),e.SDv(3,14),e.ALo(4,"cdDate"),e.BQk(),e.qZA(),e.qZA()),2&n){const t=e.oxw().expiresAt;e.xp6(4),e.pQV(e.lcZ(4,1,t)),e.QtT(3)}}function va(n,_){1&n&&e.YNc(0,Da,5,3,"p",12),2&n&&e.Q6J("ngIf",!_.isExpired)}let La=(()=>{class n{constructor(t,o,i,s,a,d,c){this.authStorageService=t,this.rbdService=o,this.modalService=i,this.cdDatePipe=s,this.taskListService=a,this.taskWrapper=d,this.actionLabels=c,this.icons=T.P,this.executingTasks=[],this.selection=new Ee.r,this.tableStatus=new U.E,this.disablePurgeBtn=!0,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"update",icon:T.P.undo,click:()=>this.restoreModal(),name:this.actionLabels.RESTORE},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"ID",prop:"id",flexGrow:1,cellTransformation:ve.e.executing},{name:"Name",prop:"name",flexGrow:1},{name:"Pool",prop:"pool_name",flexGrow:1},{name:"Namespace",prop:"namespace",flexGrow:1},{name:"Status",prop:"deferment_end_time",flexGrow:1,cellTemplate:this.expiresTpl},{name:"Deleted At",prop:"deletion_time",flexGrow:1,pipe:this.cdDatePipe}],this.taskListService.init(()=>this.rbdService.listTrash(),i=>this.prepareResponse(i),i=>this.images=i,()=>this.onFetchError(),i=>["rbd/trash/remove","rbd/trash/restore"].includes(i.name),(i,s)=>new Z.N(i.pool_name,i.namespace,i.id).toString()===s.metadata.image_id_spec,void 0)}prepareResponse(t){let o=[];const i={};let s;if(t.forEach(a=>{C().isUndefined(i[a.status])&&(i[a.status]=[]),i[a.status].push(a.pool_name),o=o.concat(a.value),this.disablePurgeBtn=!o.length}),i[3]?s=3:i[1]?s=1:i[2]&&(s=2),s){const a=(i[s].length>1?"pools ":"pool ")+i[s].join();this.tableStatus=new U.E(s,a)}else this.tableStatus=new U.E;return o.forEach(a=>{a.cdIsExpired=Me()().isAfter(a.deferment_end_time)}),o}onFetchError(){this.table.reset(),this.tableStatus=new U.E(ce.T.ValueException)}updateSelection(t){this.selection=t}restoreModal(){const t={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,imageId:this.selection.first().id};this.modalRef=this.modalService.show(Ma,t)}deleteModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().id,s=this.selection.first().deferment_end_time,a=Me()().isAfter(s),d=new Z.N(t,o,i);this.modalRef=this.modalService.show(he.M,{itemDescription:"RBD",itemNames:[d],bodyTemplate:this.deleteTpl,bodyContext:{expiresAt:s,isExpired:a},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new F.R("rbd/trash/remove",{image_id_spec:d.toString()}),call:this.rbdService.removeTrash(d,!0)})})}purgeModal(){this.modalService.show(Ea)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(oe.j),e.Y36(x),e.Y36(re.Z),e.Y36(ze.N),e.Y36(se.j),e.Y36(Q.P),e.Y36(D.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(ee.a,7),e.Gf(Oa,7),e.Gf(Aa,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first),e.iGM(i=e.CRH())&&(o.expiresTpl=i.first),e.iGM(i=e.CRH())&&(o.deleteTpl=i.first)}},features:[e._Bn([se.j])],decls:9,vars:8,consts:function(){let _,t,o,i;return _="Purge Trash",t="Expired at",o="Protected until",i="This image is protected until " + "\ufffd0\ufffd" + ".",[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","status","autoReload","fetchData","updateSelection"],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"],["class","btn btn-light","type","button",3,"disabled","click",4,"ngIf"],["expiresTpl",""],["deleteTpl",""],["type","button",1,"btn","btn-light",3,"disabled","click"],["aria-hidden","true",3,"ngClass"],_,[4,"ngIf"],t,o,["class","text-danger",4,"ngIf"],[1,"text-danger"],i]},template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0),e.NdJ("fetchData",function(){return o.taskListService.fetch()})("updateSelection",function(s){return o.updateSelection(s)}),e.TgZ(2,"div",1),e._UZ(3,"cd-table-actions",2),e.YNc(4,Pa,4,4,"button",3),e.qZA(),e.qZA(),e.YNc(5,Na,4,5,"ng-template",null,4,e.W1O),e.YNc(7,va,1,1,"ng-template",null,5,e.W1O)),2&t&&(e.xp6(1),e.Q6J("data",o.images)("columns",o.columns)("status",o.tableStatus)("autoReload",-1),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions),e.xp6(1),e.Q6J("ngIf",o.permission.delete))},directives:[Qe,ee.a,Re.K,l.O5,f.o,l.mk],pipes:[ze.N],styles:[""]}),n})(),Mt=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[[l.ez,Jn,r.u5,r.UX,I.Oz,I.dT,I.HK,Ie.b,_e.m,m.Bz,ne.xc]]}),n})();const Fa=[{path:"",redirectTo:"rbd",pathMatch:"full"},{path:"rbd",canActivate:[j.T],data:{breadcrumbs:"Images"},children:[{path:"",component:ia},{path:"namespaces",component:ma,data:{breadcrumbs:"Namespaces"}},{path:"trash",component:La,data:{breadcrumbs:"Trash"}},{path:"performance",component:Ta,data:{breadcrumbs:"Overall Performance"}},{path:D.MQ.CREATE,component:$e,data:{breadcrumbs:D.Qn.CREATE}},{path:`${D.MQ.EDIT}/:image_spec`,component:$e,data:{breadcrumbs:D.Qn.EDIT}},{path:`${D.MQ.CLONE}/:image_spec/:snap`,component:$e,data:{breadcrumbs:D.Qn.CLONE}},{path:`${D.MQ.COPY}/:image_spec`,component:$e,data:{breadcrumbs:D.Qn.COPY}},{path:`${D.MQ.COPY}/:image_spec/:snap`,component:$e,data:{breadcrumbs:D.Qn.COPY}}]},{path:"mirroring",component:Ki,canActivate:[j.T],data:{breadcrumbs:"Mirroring"}},{path:"iscsi",canActivate:[j.T],data:{breadcrumbs:"iSCSI"},children:[{path:"",redirectTo:"overview",pathMatch:"full"},{path:"overview",component:zn,data:{breadcrumbs:"Overview"}},{path:"targets",data:{breadcrumbs:"Targets"},children:[{path:"",component:Ln},{path:D.MQ.CREATE,component:rt,data:{breadcrumbs:D.Qn.CREATE}},{path:`${D.MQ.EDIT}/:target_iqn`,component:rt,data:{breadcrumbs:D.Qn.EDIT}}]}]}];let $a=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[[Mt,m.Bz.forChild(Fa)]]}),n})()},54555:(it,Oe,p)=>{p.d(Oe,{d:()=>Q});var l=p(74788),r=p(24751),m=p(23815),ne=p.n(m),I=p(80226),Ie=p(65862),D=p(95463),j=p(30633),_e=p(28211),be=p(34089),C=p(41582),W=p(12057),b=p(56310),ie=p(18372),Y=p(87925),e=p(94276);let k=(()=>{class R{constructor(g,f){this.control=g,this.formatter=f}setValue(g){const f=this.formatter.toMilliseconds(g);this.control.control.setValue(`${f} ms`)}ngOnInit(){this.setValue(this.control.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.control.value))}onUpdate(g){this.setValue(g)}}return R.\u0275fac=function(g){return new(g||R)(l.Y36(r.a5),l.Y36(_e.H))},R.\u0275dir=l.lG2({type:R,selectors:[["","cdMilliseconds",""]],hostBindings:function(g,f){1&g&&l.NdJ("blur",function(O){return f.onUpdate(O.target.value)})},inputs:{ngDataReady:"ngDataReady"}}),R})();var Ne=p(20044);let Z=(()=>{class R{constructor(g,f,h,O){this.elementRef=g,this.control=f,this.dimlessBinaryPerSecondPipe=h,this.formatter=O,this.ngModelChange=new l.vpe,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.el.value))}setValue(g){/^[\d.]+$/.test(g)&&(g+=this.defaultUnit||"m");const f=this.formatter.toBytes(g,0),h=this.round(f);this.el.value=this.dimlessBinaryPerSecondPipe.transform(h),null!==f?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(g){if(null!==g&&0!==g){if(!ne().isUndefined(this.minBytes)&&g<this.minBytes)return this.minBytes;if(!ne().isUndefined(this.maxBytes)&&g>this.maxBytes)return this.maxBytes;if(!ne().isUndefined(this.roundPower)){const f=Math.round(Math.log(g)/Math.log(this.roundPower));return Math.pow(this.roundPower,f)}}return g}onBlur(g){this.setValue(g)}}return R.\u0275fac=function(g){return new(g||R)(l.Y36(l.SBq),l.Y36(r.a5),l.Y36(Ne.O),l.Y36(_e.H))},R.\u0275dir=l.lG2({type:R,selectors:[["","cdDimlessBinaryPerSecond",""]],hostBindings:function(g,f){1&g&&l.NdJ("blur",function(O){return f.onBlur(O.target.value)})},inputs:{ngDataReady:"ngDataReady",minBytes:"minBytes",maxBytes:"maxBytes",roundPower:"roundPower",defaultUnit:"defaultUnit"},outputs:{ngModelChange:"ngModelChange"}}),R})(),Ae=(()=>{class R{constructor(g,f){this.formatter=g,this.ngControl=f}setValue(g){const f=this.formatter.toIops(g);this.ngControl.control.setValue(`${f} IOPS`)}ngOnInit(){this.setValue(this.ngControl.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.ngControl.value))}onUpdate(g){this.setValue(g)}}return R.\u0275fac=function(g){return new(g||R)(l.Y36(_e.H),l.Y36(r.a5))},R.\u0275dir=l.lG2({type:R,selectors:[["","cdIops",""]],hostBindings:function(g,f){1&g&&l.NdJ("blur",function(O){return f.onUpdate(O.target.value)})},inputs:{ngDataReady:"ngDataReady"}}),R})();function x(R,v){if(1&R&&(l.ynx(0),l._UZ(1,"input",18),l.BQk()),2&R){const g=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",g.name)("name",g.name)("formControlName",g.name)("ngDataReady",f.ngDataReady)}}function ae(R,v){if(1&R&&(l.ynx(0),l._UZ(1,"input",19),l.BQk()),2&R){const g=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",g.name)("name",g.name)("formControlName",g.name)("ngDataReady",f.ngDataReady)}}function V(R,v){if(1&R&&(l.ynx(0),l._UZ(1,"input",20),l.BQk()),2&R){const g=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",g.name)("name",g.name)("formControlName",g.name)("ngDataReady",f.ngDataReady)}}function T(R,v){1&R&&(l.TgZ(0,"span",21),l.SDv(1,22),l.qZA())}const q=function(R){return{active:R}},M=function(R){return[R]};function B(R,v){if(1&R){const g=l.EpF();l.TgZ(0,"div",10),l.TgZ(1,"label",11),l._uU(2),l.TgZ(3,"cd-helper"),l._uU(4),l.qZA(),l.qZA(),l.TgZ(5,"div"),l.TgZ(6,"div",12),l.ynx(7,13),l.YNc(8,x,2,4,"ng-container",14),l.YNc(9,ae,2,4,"ng-container",14),l.YNc(10,V,2,4,"ng-container",14),l.BQk(),l.TgZ(11,"span",15),l.TgZ(12,"button",16),l.NdJ("click",function(){const O=l.CHM(g).$implicit;return l.oxw(2).reset(O.name)}),l._UZ(13,"i",7),l.qZA(),l.qZA(),l.qZA(),l.YNc(14,T,2,0,"span",17),l.qZA(),l.qZA()}if(2&R){const g=v.$implicit,f=l.oxw().$implicit,h=l.oxw(),O=l.MAs(1);l.xp6(1),l.Q6J("for",g.name),l.xp6(1),l.Oqu(g.displayName),l.xp6(2),l.Oqu(g.description),l.xp6(1),l.Gre("cd-col-form-input ",f.heading,""),l.xp6(2),l.Q6J("ngSwitch",g.type),l.xp6(1),l.Q6J("ngSwitchCase",h.configurationType.milliseconds),l.xp6(1),l.Q6J("ngSwitchCase",h.configurationType.bps),l.xp6(1),l.Q6J("ngSwitchCase",h.configurationType.iops),l.xp6(2),l.Q6J("ngClass",l.VKq(13,q,h.isDisabled(g.name))),l.xp6(1),l.Q6J("ngClass",l.VKq(15,M,h.icons.erase)),l.xp6(1),l.Q6J("ngIf",h.form.showError("configuration."+g.name,O,"min"))}}function F(R,v){if(1&R){const g=l.EpF();l.TgZ(0,"div",4),l.TgZ(1,"h4",5),l.TgZ(2,"span",6),l.NdJ("click",function(){const O=l.CHM(g).$implicit;return l.oxw().toggleSectionVisibility(O.class)}),l._uU(3),l._UZ(4,"i",7),l.qZA(),l.qZA(),l.TgZ(5,"div",8),l.YNc(6,B,15,17,"div",9),l.qZA(),l.qZA()}if(2&R){const g=v.$implicit,f=l.oxw();l.xp6(3),l.hij(" ",g.heading," "),l.xp6(1),l.Q6J("ngClass",f.sectionVisibility[g.class]?f.icons.minusCircle:f.icons.addCircle),l.xp6(1),l.Tol(g.class),l.Q6J("hidden",!f.sectionVisibility[g.class]),l.xp6(1),l.Q6J("ngForOf",g.options)}}let Q=(()=>{class R{constructor(g,f){this.formatterService=g,this.rbdConfigurationService=f,this.initializeData=new I.t(1),this.changes=new l.vpe,this.icons=Ie.P,this.ngDataReady=new l.vpe,this.configurationType=j.r,this.sectionVisibility={}}ngOnInit(){const g=this.createConfigurationFormGroup();this.form.addControl("configuration",g),g.valueChanges.subscribe(()=>{this.changes.emit(this.getDirtyValues.bind(this))}),this.initializeData&&this.initializeData.subscribe(f=>{this.initialData=f.initialData;const h=f.sourceType;this.rbdConfigurationService.getWritableOptionFields().forEach(O=>{const H=f.initialData.filter(De=>De.name===O.name).pop();H&&H.source===h&&this.form.get(`configuration.${O.name}`).setValue(H.value)}),this.ngDataReady.emit()}),this.rbdConfigurationService.getWritableSections().forEach(f=>this.sectionVisibility[f.class]=!1)}getDirtyValues(g=!1,f){if(g&&!f)throw new Error("ProgrammingError: If local values shall be included, a proper localFieldType argument has to be provided, too");const h={};return this.rbdConfigurationService.getWritableOptionFields().forEach(O=>{const H=this.form.get("configuration").get(O.name);this.initialData&&this.initialData[O.name]===H.value||(H.dirty||g&&H.source===f)&&(h[O.name]=null===H.value?H.value:O.type===j.r.bps?this.formatterService.toBytes(H.value):O.type===j.r.milliseconds?this.formatterService.toMilliseconds(H.value):O.type===j.r.iops?this.formatterService.toIops(H.value):H.value)}),h}createConfigurationFormGroup(){const g=new D.d({});return this.rbdConfigurationService.getWritableOptionFields().forEach(f=>{let h;if(f.type!==j.r.milliseconds&&f.type!==j.r.iops&&f.type!==j.r.bps)throw new Error(`Type ${f.type} is unknown, you may need to add it to RbdConfiguration class`);{let O=0;ne().forEach(this.initialData,H=>{H.name===f.name&&(O=H.value)}),h=new r.NI(O,r.kI.min(0))}g.addControl(f.name,h)}),g}reset(g){const f=this.form.get("configuration").get(g);f.disabled?(f.setValue(f.previousValue||0),f.enable(),f.previousValue||f.markAsPristine()):(f.previousValue=f.value,f.setValue(null),f.markAsDirty(),f.disable())}isDisabled(g){return this.form.get("configuration").get(g).disabled}toggleSectionVisibility(g){this.sectionVisibility[g]=!this.sectionVisibility[g]}}return R.\u0275fac=function(g){return new(g||R)(l.Y36(_e.H),l.Y36(be.n))},R.\u0275cmp=l.Xpm({type:R,selectors:[["cd-rbd-configuration-form"]],inputs:{form:"form",initializeData:"initializeData"},outputs:{changes:"changes"},decls:5,vars:2,consts:function(){let v,g,f;return v="RBD Configuration",g="Remove the local configuration value. The parent configuration value will be inherited and used instead.",f="The minimum value is 0",[[3,"formGroup"],["cfgFormGroup",""],v,["class","col-12",4,"ngFor","ngForOf"],[1,"col-12"],[1,"cd-header"],[1,"collapsible",3,"click"],["aria-hidden","true",3,"ngClass"],[3,"hidden"],["class","form-group row",4,"ngFor","ngForOf"],[1,"form-group","row"],[1,"cd-col-form-label",3,"for"],[1,"input-group"],[3,"ngSwitch"],[4,"ngSwitchCase"],[1,"input-group-append"],["type","button","data-toggle","button","title",g,1,"btn","btn-light",3,"ngClass","click"],["class","invalid-feedback",4,"ngIf"],["type","text","cdMilliseconds","",1,"form-control",3,"id","name","formControlName","ngDataReady"],["type","text","defaultUnit","b","cdDimlessBinaryPerSecond","",1,"form-control",3,"id","name","formControlName","ngDataReady"],["type","text","cdIops","",1,"form-control",3,"id","name","formControlName","ngDataReady"],[1,"invalid-feedback"],f]},template:function(g,f){1&g&&(l.TgZ(0,"fieldset",0,1),l.TgZ(2,"legend"),l.SDv(3,2),l.qZA(),l.YNc(4,F,7,7,"div",3),l.qZA()),2&g&&(l.Q6J("formGroup",f.form.get("configuration")),l.xp6(4),l.Q6J("ngForOf",f.rbdConfigurationService.sections))},directives:[r.JL,r.sg,C.V,W.sg,W.mk,b.P,ie.S,W.RF,W.n9,Y.o,W.O5,r.Fj,e.b,k,r.JJ,r.u,Z,Ae],styles:[".collapsible[_ngcontent-%COMP%]{cursor:pointer;user-select:none}"]}),R})()},71752:(it,Oe,p)=>{p.d(Oe,{P:()=>V});var l=p(64337),r=p(30633),m=p(74788);let ne=(()=>{class T{transform(M){return{0:"global",1:"pool",2:"image"}[M]}}return T.\u0275fac=function(M){return new(M||T)},T.\u0275pipe=m.Yjl({name:"rbdConfigurationSource",type:T,pure:!0}),T})();var I=p(28211),Ie=p(34089),D=p(12057),j=p(20044),_e=p(48537),be=p(21766);const C=["configurationSourceTpl"],W=["configurationValueTpl"],b=["poolConfTable"];function ie(T,q){1&T&&(m.TgZ(0,"span"),m.SDv(1,6),m.qZA())}function Y(T,q){1&T&&(m.TgZ(0,"strong"),m.SDv(1,7),m.qZA())}function e(T,q){1&T&&(m.TgZ(0,"strong"),m.SDv(1,8),m.qZA())}function k(T,q){1&T&&(m.TgZ(0,"div",4),m.YNc(1,ie,2,0,"span",5),m.YNc(2,Y,2,0,"strong",5),m.YNc(3,e,2,0,"strong",5),m.qZA()),2&T&&(m.Q6J("ngSwitch",q.value),m.xp6(1),m.Q6J("ngSwitchCase","global"),m.xp6(1),m.Q6J("ngSwitchCase","image"),m.xp6(1),m.Q6J("ngSwitchCase","pool"))}function Ne(T,q){if(1&T&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"dimlessBinaryPerSecond"),m.qZA()),2&T){const M=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,M))}}function Z(T,q){if(1&T&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"milliseconds"),m.qZA()),2&T){const M=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,M))}}function Ae(T,q){if(1&T&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"iops"),m.qZA()),2&T){const M=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,M))}}function x(T,q){if(1&T&&(m.TgZ(0,"span"),m._uU(1),m.qZA()),2&T){const M=m.oxw().value;m.xp6(1),m.Oqu(M)}}function ae(T,q){if(1&T&&(m.TgZ(0,"div",4),m.YNc(1,Ne,3,3,"span",5),m.YNc(2,Z,3,3,"span",5),m.YNc(3,Ae,3,3,"span",5),m.YNc(4,x,2,1,"span",9),m.qZA()),2&T){const M=q.row,B=m.oxw();m.Q6J("ngSwitch",M.type),m.xp6(1),m.Q6J("ngSwitchCase",B.typeField.bps),m.xp6(1),m.Q6J("ngSwitchCase",B.typeField.milliseconds),m.xp6(1),m.Q6J("ngSwitchCase",B.typeField.iops)}}let V=(()=>{class T{constructor(M,B){this.formatterService=M,this.rbdConfigurationService=B,this.sourceField=r.h,this.typeField=r.r}ngOnInit(){this.poolConfigurationColumns=[{prop:"displayName",name:"Name"},{prop:"description",name:"Description"},{prop:"name",name:"Key"},{prop:"source",name:"Source",cellTemplate:this.configurationSourceTpl,pipe:new ne},{prop:"value",name:"Value",cellTemplate:this.configurationValueTpl}]}ngOnChanges(){!this.data||(this.data=this.data.filter(M=>this.rbdConfigurationService.getOptionFields().map(B=>B.name).includes(M.name)))}}return T.\u0275fac=function(M){return new(M||T)(m.Y36(I.H),m.Y36(Ie.n))},T.\u0275cmp=m.Xpm({type:T,selectors:[["cd-rbd-configuration-table"]],viewQuery:function(M,B){if(1&M&&(m.Gf(C,7),m.Gf(W,7),m.Gf(b,7)),2&M){let F;m.iGM(F=m.CRH())&&(B.configurationSourceTpl=F.first),m.iGM(F=m.CRH())&&(B.configurationValueTpl=F.first),m.iGM(F=m.CRH())&&(B.poolConfTable=F.first)}},inputs:{data:"data"},features:[m.TTD],decls:6,vars:2,consts:function(){let q,M,B;return q="Global",M="Image",B="Pool",[["identifier","name",3,"data","columns"],["poolConfTable",""],["configurationSourceTpl",""],["configurationValueTpl",""],[3,"ngSwitch"],[4,"ngSwitchCase"],q,M,B,[4,"ngSwitchDefault"]]},template:function(M,B){1&M&&(m._UZ(0,"cd-table",0,1),m.YNc(2,k,4,4,"ng-template",null,2,m.W1O),m.YNc(4,ae,5,4,"ng-template",null,3,m.W1O)),2&M&&m.Q6J("data",B.data)("columns",B.poolConfigurationColumns)},directives:[l.a,D.RF,D.n9,D.ED],pipes:[j.O,_e.J,be.A],styles:[""]}),T})()}}]);
\ No newline at end of file
+++ /dev/null
-"use strict";(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[585],{24585:(Fi,Fe,r)=>{r.r(Fe),r.d(Fe,{PoolModule:()=>ze,RoutedPoolModule:()=>Ai});var C=r(12057),a=r(24751),Oe=r(6283),g=r(38549),M=r(79512),d_=r(44466),u_=r(91330),f_=r(370),P_=r(23815),u=r.n(P_),E_=r(80226),g_=r(26504),ue=r(80842);class S{constructor(){this.nodes=[],this.idTree={},this.allDevices=[],this.buckets=[],this.failureDomains={},this.failureDomainKeys=[],this.devices=[],this.deviceCount=0}static searchFailureDomains(i,_){return this.getFailureDomains(this.search(i,_))}static search(i,_){const[o,n]=_.split("~"),s=i.find(c=>["name","id","type"].some(d=>c[d]===o));return s?(i=this.getSubNodes(s,this.createIdTreeFromNodes(i)),n&&(i=this.filterNodesByDeviceType(i,n)),i):[]}static createIdTreeFromNodes(i){const _={};return i.forEach(o=>{_[o.id]=o}),_}static getSubNodes(i,_){let o=[i];return i.children&&i.children.forEach(n=>{o=o.concat(this.getSubNodes(_[n],_))}),o}static filterNodesByDeviceType(i,_){let n,o=i.filter(c=>c.device_class&&c.device_class!==_).map(c=>c.id),s=o;do{n=!1,i=i.filter(d=>!o.includes(d.id));const c=[];i.forEach(d=>{d.children&&d.children.every(P=>o.includes(P))&&(c.push(d.id),n=!0)}),n&&(o=c,s=s.concat(c))}while(n);return(i=u().cloneDeep(i)).map(c=>(c.children&&(c.children=c.children.filter(d=>!s.includes(d))),c))}static getFailureDomains(i){const _={};return i.forEach(o=>{const n=o.type;_[n]||(_[n]=[]),_[n].push(o)}),_}initCrushNodeSelection(i,_,o,n){this.nodes=i,this.idTree=S.createIdTreeFromNodes(i),i.forEach(s=>{this.idTree[s.id]=s}),this.buckets=u().sortBy(i.filter(s=>s.children),"name"),this.controls={root:_,failure:o,device:n},this.preSelectRoot(),this.controls.root.valueChanges.subscribe(()=>this.onRootChange()),this.controls.failure.valueChanges.subscribe(()=>this.onFailureDomainChange()),this.controls.device.valueChanges.subscribe(()=>this.onDeviceChange())}preSelectRoot(){const i=this.nodes.find(_=>"root"===_.type);this.silentSet(this.controls.root,i),this.onRootChange()}silentSet(i,_){i.setValue(_,{emitEvent:!1})}onRootChange(){const i=S.getSubNodes(this.controls.root.value,this.idTree),_=S.getFailureDomains(i);Object.keys(_).forEach(o=>{_[o].length<=1&&delete _[o]}),this.failureDomains=_,this.failureDomainKeys=Object.keys(_).sort(),this.updateFailureDomain()}updateFailureDomain(){let i=this.getIncludedCustomValue(this.controls.failure,Object.keys(this.failureDomains));""===i&&(i=this.setMostCommonDomain(this.controls.failure)),this.updateDevices(i)}getIncludedCustomValue(i,_){return i.dirty&&_.includes(i.value)?i.value:""}setMostCommonDomain(i){let _={n:0,type:""};return Object.keys(this.failureDomains).forEach(o=>{const n=this.failureDomains[o].length;_.n<n&&(_={n,type:o})}),this.silentSet(i,_.type),_.type}onFailureDomainChange(){this.updateDevices()}updateDevices(i=this.controls.failure.value){const _=u().flatten(this.failureDomains[i].map(n=>S.getSubNodes(n,this.idTree)));this.allDevices=_.filter(n=>n.device_class).map(n=>n.device_class),this.devices=u().uniq(this.allDevices).sort();const o=1===this.devices.length?this.devices[0]:this.getIncludedCustomValue(this.controls.device,this.devices);this.silentSet(this.controls.device,o),this.onDeviceChange(o)}onDeviceChange(i=this.controls.device.value){this.deviceCount=""===i?this.allDevices.length:this.allDevices.filter(_=>_===i).length}}var Ne=r(30982),p_=r(14745),b=r(65862),m_=r(93614),be=r(95463),E=r(77205),R_=r(30633),v=r(76111),C_=r(47557),M_=r(28211),de=r(32337),e=r(74788),ve=r(62862),Ie=r(83608),$e=r(60312),fe=r(41582),Pe=r(56310),Ee=r(87925),ge=r(94276),pe=r(82945),me=r(18372),Re=r(30839),Ce=r(10545);function h_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,31),e.qZA())}function T_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,32),e.qZA())}function S_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,33),e.qZA())}function L_(t,i){1&t&&(e.TgZ(0,"option",26),e.SDv(1,34),e.qZA())}function A_(t,i){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}function F_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,36),e.qZA())}function N_(t,i){1&t&&(e.TgZ(0,"option",26),e.SDv(1,37),e.qZA())}function b_(t,i){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=i.$implicit,o=e.oxw();e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function v_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,38),e.qZA())}function I_(t,i){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}let $_=(()=>{class t extends S{constructor(_,o,n,s,c){super(),this.formBuilder=_,this.activeModal=o,this.taskWrapper=n,this.crushRuleService=s,this.actionLabels=c,this.submitAction=new e.vpe,this.tooltips=this.crushRuleService.formTooltips,this.action=this.actionLabels.CREATE,this.resource="Crush Rule",this.createForm()}createForm(){this.form=this.formBuilder.group({name:["",[a.kI.required,a.kI.pattern("[A-Za-z0-9_-]+"),E.h.custom("uniqueName",_=>this.names&&-1!==this.names.indexOf(_))]],root:null,failure_domain:"",device_class:""})}ngOnInit(){this.crushRuleService.getInfo().subscribe(({names:_,nodes:o})=>{this.initCrushNodeSelection(o,this.form.get("root"),this.form.get("failure_domain"),this.form.get("device_class")),this.names=_})}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _=u().cloneDeep(this.form.value);_.root=_.root.name,""===_.device_class&&delete _.device_class,this.taskWrapper.wrapTaskAroundCall({task:new v.R("crushRule/create",_),call:this.crushRuleService.create(_)}).subscribe({error:()=>{this.form.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close(),this.submitAction.emit(_)}})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ve.O),e.Y36(g.Kz),e.Y36(de.P),e.Y36(Ie.H),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-crush-rule-form-modal"]],outputs:{submitAction:"submitAction"},features:[e.qOj],decls:55,vars:27,consts:function(){let i,_,o,n,s,c,d,P,p,m,h,T,R;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",o="Root",n="Failure domain type",s="Device class",c="Let Ceph decide",d="This field is required!",P="The name can only consist of alphanumeric characters, dashes and underscores.",p="The chosen erasure code profile name is already in use.",m="Loading...",h="This field is required!",T="Loading...",R="This field is required!",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label"],_,[1,"required"],[1,"cd-col-form-input"],["type","text","id","name","name","name","placeholder","Name...","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","root",1,"cd-col-form-label"],o,[3,"html"],["id","root","name","root","formControlName","root",1,"form-control","custom-select"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],["for","failure_domain",1,"cd-col-form-label"],n,["id","failure_domain","name","failure_domain","formControlName","failure_domain",1,"form-control","custom-select"],["for","device_class",1,"cd-col-form-label"],s,["id","device_class","name","device_class","formControlName","device_class",1,"form-control","custom-select"],["ngValue",""],c,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],d,P,p,m,[3,"ngValue"],h,T,R]},template:function(_,o){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.ynx(11),e.SDv(12,9),e.BQk(),e._UZ(13,"span",10),e.qZA(),e.TgZ(14,"div",11),e._UZ(15,"input",12),e.YNc(16,h_,2,0,"span",13),e.YNc(17,T_,2,0,"span",13),e.YNc(18,S_,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(19,"div",7),e.TgZ(20,"label",14),e.ynx(21),e.SDv(22,15),e.BQk(),e._UZ(23,"cd-helper",16),e._UZ(24,"span",10),e.qZA(),e.TgZ(25,"div",11),e.TgZ(26,"select",17),e.YNc(27,L_,2,0,"option",18),e.YNc(28,A_,2,2,"option",19),e.qZA(),e.YNc(29,F_,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(30,"div",7),e.TgZ(31,"label",20),e.ynx(32),e.SDv(33,21),e.BQk(),e._UZ(34,"cd-helper",16),e._UZ(35,"span",10),e.qZA(),e.TgZ(36,"div",11),e.TgZ(37,"select",22),e.YNc(38,N_,2,0,"option",18),e.YNc(39,b_,2,3,"option",19),e.qZA(),e.YNc(40,v_,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(41,"div",7),e.TgZ(42,"label",23),e.ynx(43),e.SDv(44,24),e.BQk(),e._UZ(45,"cd-helper",16),e.qZA(),e.TgZ(46,"div",11),e.TgZ(47,"select",25),e.TgZ(48,"option",26),e.SDv(49,27),e.qZA(),e.YNc(50,I_,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(51,"div",28),e.TgZ(52,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(53,"titlecase"),e.ALo(54,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const n=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,19,o.action))(e.lcZ(4,21,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.form),e.xp6(10),e.Q6J("ngIf",o.form.showError("name",n,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"pattern")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"uniqueName")),e.xp6(5),e.Q6J("html",o.tooltips.root),e.xp6(4),e.Q6J("ngIf",!o.buckets),e.xp6(1),e.Q6J("ngForOf",o.buckets),e.xp6(1),e.Q6J("ngIf",o.form.showError("root",n,"required")),e.xp6(5),e.Q6J("html",o.tooltips.failure_domain),e.xp6(4),e.Q6J("ngIf",!o.failureDomains),e.xp6(1),e.Q6J("ngForOf",o.failureDomainKeys),e.xp6(1),e.Q6J("ngIf",o.form.showError("failure_domain",n,"required")),e.xp6(5),e.Q6J("html",o.tooltips.device_class),e.xp6(5),e.Q6J("ngForOf",o.devices),e.xp6(2),e.Q6J("form",o.form)("submitText",e.lcZ(53,23,o.action)+" "+e.lcZ(54,25,o.resource))}},directives:[$e.z,a._Y,a.JL,fe.V,a.sg,Pe.P,Ee.o,a.Fj,ge.b,a.JJ,a.u,pe.U,C.O5,me.S,a.EJ,C.sg,a.YN,a.Kr,Re.p],pipes:[C.rS,Ce.m],styles:[""]}),t})();class D_{}var Z_=r(58497);let Me=(()=>{class t{constructor(_){this.http=_,this.apiPath="api/erasure_code_profile",this.formTooltips={k:"Each object is split in data-chunks parts, each stored on a different OSD.",m:"Compute coding chunks for each object and store them on different OSDs.\n The number of coding chunks is also the number of OSDs that can be down without losing data.",plugins:{jerasure:{description:"The jerasure plugin is the most generic and flexible plugin,\n it is also the default for Ceph erasure coded pools.",technique:"The more flexible technique is reed_sol_van : it is enough to set k\n and m. The cauchy_good technique can be faster but you need to chose the packetsize\n carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n in the sense that they can only be configured with m=2.",packetSize:"The encoding will be done on packets of bytes size at a time.\n Choosing the right packet size is difficult.\n The jerasure documentation contains extensive information on this topic."},lrc:{description:"With the jerasure plugin, when an erasure coded object is stored on\n multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n from the eleven others to repair.\n\n The lrc erasure code plugin creates local parity chunks to be able to recover using\n less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n recovered with only four OSDs instead of eleven.",l:"Group the coding and data chunks into sets of size locality. For instance,\n for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n be recovered without reading chunks from another set.",crushLocality:"The type of the crush bucket in which each set of chunks defined\n by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n placed in a different rack. It is used to create a CRUSH rule step such as step choose\n rack. If it is not set, no such grouping is done."},isa:{description:"The isa plugin encapsulates the ISA library. It only runs on Intel processors.",technique:"The ISA plugin comes in two Reed Solomon forms.\n If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy."},shec:{description:"The shec plugin encapsulates the multiple SHEC library.\n It allows ceph to recover data more efficiently than Reed Solomon codes.",c:"The number of parity chunks each of which includes each data chunk in its\n calculation range. The number is used as a durability estimator. For instance, if c=2,\n 2 OSDs can be down without losing data."},clay:{description:"CLAY (short for coupled-layer) codes are erasure codes designed to\n bring about significant savings in terms of network bandwidth and disk IO when a failed\n node/OSD/rack is being repaired.",d:"Number of OSDs requested to send data during recovery of a single chunk.\n d needs to be chosen such that k+1 <= d <= k+m-1. The larger the d, the better\n the savings.",scalar_mds:"scalar_mds specifies the plugin that is used as a building block\n in the layered construction. It can be one of jerasure, isa, shec.",technique:"technique specifies the technique that will be picked\n within the 'scalar_mds' plugin specified. Supported techniques\n are 'reed_sol_van', 'reed_sol_r6_op', 'cauchy_orig',\n 'cauchy_good', 'liber8tion' for jerasure, 'reed_sol_van',\n 'cauchy' for isa and 'single', 'multiple' for shec."}},crushRoot:"The name of the crush bucket used for the first step of the CRUSH rule.\n For instance step take default.",crushFailureDomain:"Ensure that no two chunks are in a bucket with the same failure\n domain. For instance, if the failure domain is host no two chunks will be stored on the same\n host. It is used to create a CRUSH rule step such as step chooseleaf host.",crushDeviceClass:"Restrict placement to devices of a specific class\n (e.g., ssd or hdd), using the crush device class names in the CRUSH map.",directory:"Set the directory name from which the erasure code plugin is loaded."}}list(){return this.http.get(this.apiPath)}create(_){return this.http.post(this.apiPath,_,{observe:"response"})}delete(_){return this.http.delete(`${this.apiPath}/${_}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return t.\u0275fac=function(_){return new(_||t)(e.LFG(Z_.eN))},t.\u0275prov=e.Yz7({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function x_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,47),e.qZA())}function y_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,48),e.qZA())}function U_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,49),e.qZA())}function q_(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,50),e.qZA())}function H_(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}function G_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,52),e.qZA())}function z_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,53),e.qZA())}function X_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,54),e.qZA())}function w_(t,i){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,55),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.deviceCount),e.QtT(1)}}function Q_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,56),e.qZA())}function J_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,57),e.qZA())}function k_(t,i){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,58),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.lrcMultiK),e.QtT(1)}}function V_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,59),e.qZA())}function Y_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,60),e.qZA())}function B_(t,i){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,61),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.deviceCount),e.QtT(1)}}function j_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,65),e.qZA())}function K_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,66),e.qZA())}function W_(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",62),e.TgZ(2,"span",14),e.SDv(3,63),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",64),e.YNc(7,j_,2,0,"span",12),e.YNc(8,K_,2,0,"span",12),e.qZA(),e.qZA()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.shec.c),e.xp6(3),e.Q6J("ngIf",_.form.showError("c",o,"min")),e.xp6(1),e.Q6J("ngIf",_.form.showError("c",o,"cGreaterM"))}}function eo(t,i){1&t&&(e.TgZ(0,"span",39),e.SDv(1,75),e.qZA())}function _o(t,i){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,76),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.pQV(_.getDMin())(_.getDMax()),e.QtT(1)}}function oo(t,i){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,77),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.pQV(_.getDMax()),e.QtT(1)}}function to(t,i){if(1&t&&(e.ynx(0),e.YNc(1,_o,2,2,"span",23),e.YNc(2,oo,2,1,"span",23),e.BQk()),2&t){const _=e.oxw(2);e.xp6(1),e.Q6J("ngIf",_.getDMin()<_.getDMax()),e.xp6(1),e.Q6J("ngIf",_.getDMin()===_.getDMax())}}function io(t,i){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,78),e.qZA()),2&t){const _=e.oxw(2);e.xp6(1),e.pQV(_.getDMin()),e.QtT(1)}}function no(t,i){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,79),e.qZA()),2&t){const _=e.oxw(2);e.xp6(1),e.pQV(_.getDMax()),e.QtT(1)}}function so(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",67),e.TgZ(2,"span",14),e.SDv(3,68),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e.TgZ(6,"div",69),e._UZ(7,"input",70),e.TgZ(8,"span",71),e.TgZ(9,"button",72),e.NdJ("click",function(){return e.CHM(_),e.oxw().toggleDCalc()}),e._UZ(10,"i",73),e.qZA(),e.qZA(),e.qZA(),e.YNc(11,eo,2,0,"span",23),e.YNc(12,to,3,2,"ng-container",74),e.YNc(13,io,2,1,"span",12),e.YNc(14,no,2,1,"span",12),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.clay.d),e.xp6(6),e.Q6J("ngClass",_.dCalc?_.icons.unlock:_.icons.lock),e.xp6(1),e.Q6J("ngIf",_.dCalc),e.xp6(1),e.Q6J("ngIf",!_.dCalc),e.xp6(1),e.Q6J("ngIf",_.form.showError("d",o,"dMin")),e.xp6(1),e.Q6J("ngIf",_.form.showError("d",o,"dMax"))}}function ao(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,84),e.qZA())}function lo(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,85),e.qZA())}function ro(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,86),e.qZA())}function co(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",80),e.TgZ(2,"span",14),e.SDv(3,81),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",82),e.YNc(7,ao,2,0,"span",12),e.YNc(8,lo,2,0,"span",12),e.YNc(9,ro,2,0,"span",12),e.TgZ(10,"span",39),e.SDv(11,83),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.lrc.l),e.xp6(3),e.Q6J("ngIf",_.form.showError("l",o,"required")),e.xp6(1),e.Q6J("ngIf",_.form.showError("l",o,"min")),e.xp6(1),e.Q6J("ngIf",_.form.showError("l",o,"unequal")),e.xp6(2),e.pQV(_.lrcGroups),e.QtT(11)}}function Oo(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,87),e.qZA())}function uo(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit,o=e.oxw();e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function fo(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,91),e.qZA())}function Po(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,92),e.qZA())}function Eo(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit,o=e.oxw(2);e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function go(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",88),e.ynx(2),e.SDv(3,89),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e.TgZ(6,"select",90),e.YNc(7,fo,2,0,"option",18),e.YNc(8,Po,2,0,"option",18),e.YNc(9,Eo,2,3,"option",19),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins.lrc.crushLocality),e.xp6(3),e.Q6J("ngIf",!_.failureDomains),e.xp6(1),e.Q6J("ngIf",_.failureDomainKeys.length>0),e.xp6(1),e.Q6J("ngForOf",_.failureDomainKeys)}}function po(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}const De=function(t,i,_){return[t,i,_]};function mo(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",93),e.ynx(2),e.SDv(3,94),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e.TgZ(6,"select",95),e.YNc(7,po,2,2,"option",19),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins.clay.scalar_mds),e.xp6(3),e.Q6J("ngForOf",e.kEZ(2,De,_.PLUGIN.JERASURE,_.PLUGIN.ISA,_.PLUGIN.SHEC))}}function Ro(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}function Co(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",96),e.ynx(2),e.SDv(3,97),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e.TgZ(6,"select",98),e.YNc(7,Ro,2,2,"option",19),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins[_.plugin].technique),e.xp6(3),e.Q6J("ngForOf",_.techniques)}}function Mo(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,102),e.qZA())}function ho(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",99),e.ynx(2),e.SDv(3,100),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",101),e.YNc(7,Mo,2,0,"span",12),e.qZA(),e.qZA()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.jerasure.packetSize),e.xp6(3),e.Q6J("ngIf",_.form.showError("packetSize",o,"min"))}}function To(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,103),e.qZA())}function So(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}function Lo(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}let Ao=(()=>{class t extends S{constructor(_,o,n,s,c){super(),this.formBuilder=_,this.activeModal=o,this.taskWrapper=n,this.ecpService=s,this.actionLabels=c,this.submitAction=new e.vpe,this.tooltips=this.ecpService.formTooltips,this.PLUGIN={LRC:"lrc",SHEC:"shec",CLAY:"clay",JERASURE:"jerasure",ISA:"isa"},this.plugin=this.PLUGIN.JERASURE,this.icons=b.P,this.action=this.actionLabels.CREATE,this.resource="EC Profile",this.createForm(),this.setJerasureDefaults()}createForm(){this.form=this.formBuilder.group({name:[null,[a.kI.required,a.kI.pattern("[A-Za-z0-9_-]+"),E.h.custom("uniqueName",_=>this.names&&-1!==this.names.indexOf(_))]],plugin:[this.PLUGIN.JERASURE,[a.kI.required]],k:[4,[a.kI.required,E.h.custom("max",()=>this.baseValueValidation(!0)),E.h.custom("unequal",_=>this.lrcDataValidation(_)),E.h.custom("kLowerM",_=>this.shecDataValidation(_))]],m:[2,[a.kI.required,E.h.custom("max",()=>this.baseValueValidation())]],crushFailureDomain:"",crushRoot:null,crushDeviceClass:"",directory:"",technique:"reed_sol_van",packetSize:[2048],l:[3,[a.kI.required,E.h.custom("unequal",_=>this.lrcLocalityValidation(_))]],crushLocality:"",c:[2,[a.kI.required,E.h.custom("cGreaterM",_=>this.shecDurabilityValidation(_))]],d:[5,[a.kI.required,E.h.custom("dMin",_=>this.dMinValidation(_)),E.h.custom("dMax",_=>this.dMaxValidation(_))]],scalar_mds:[this.PLUGIN.JERASURE,[a.kI.required]]}),this.toggleDCalc(),this.form.get("k").valueChanges.subscribe(()=>this.updateValidityOnChange(["m","l","d"])),this.form.get("m").valueChanges.subscribe(()=>this.updateValidityOnChange(["k","l","c","d"])),this.form.get("l").valueChanges.subscribe(()=>this.updateValidityOnChange(["k","m"])),this.form.get("plugin").valueChanges.subscribe(_=>this.onPluginChange(_)),this.form.get("scalar_mds").valueChanges.subscribe(()=>this.setClayDefaultsForScalar())}baseValueValidation(_=!1){return this.validValidation(()=>this.getKMSum()>this.deviceCount&&this.form.getValue("k")>this.form.getValue("m")===_)}validValidation(_,o){return!((!this.form||o)&&this.plugin!==o)&&_()}getKMSum(){return this.form.getValue("k")+this.form.getValue("m")}lrcDataValidation(_){return this.validValidation(()=>{const o=this.form.getValue("m"),n=this.form.getValue("l"),s=_+o;return this.lrcMultiK=_/(s/n),_%(s/n)!=0},"lrc")}shecDataValidation(_){return this.validValidation(()=>this.form.getValue("m")>_,"shec")}lrcLocalityValidation(_){return this.validValidation(()=>{const o=this.getKMSum();return this.lrcGroups=_>0?o/_:0,_>0&&o%_!=0},"lrc")}shecDurabilityValidation(_){return this.validValidation(()=>{const o=this.form.getValue("m");return _>o},"shec")}dMinValidation(_){return this.validValidation(()=>this.getDMin()>_,"clay")}getDMin(){return this.form.getValue("k")+1}dMaxValidation(_){return this.validValidation(()=>_>this.getDMax(),"clay")}getDMax(){const _=this.form.getValue("m");return this.form.getValue("k")+_-1}toggleDCalc(){this.dCalc=!this.dCalc,this.form.get("d")[this.dCalc?"disable":"enable"](),this.calculateD()}calculateD(){this.plugin!==this.PLUGIN.CLAY||!this.dCalc||this.form.silentSet("d",this.getDMax())}updateValidityOnChange(_){_.forEach(o=>{"d"===o&&this.calculateD(),this.form.get(o).updateValueAndValidity({emitEvent:!1})})}onPluginChange(_){this.plugin=_,_===this.PLUGIN.JERASURE?this.setJerasureDefaults():_===this.PLUGIN.LRC?this.setLrcDefaults():_===this.PLUGIN.ISA?this.setIsaDefaults():_===this.PLUGIN.SHEC?this.setShecDefaults():_===this.PLUGIN.CLAY&&this.setClayDefaults(),this.updateValidityOnChange(["m"])}setJerasureDefaults(){this.techniques=["reed_sol_van","reed_sol_r6_op","cauchy_orig","cauchy_good","liberation","blaum_roth","liber8tion"],this.setDefaults({k:4,m:2,technique:"reed_sol_van"})}setLrcDefaults(){this.setDefaults({k:4,m:2,l:3})}setIsaDefaults(){this.techniques=["reed_sol_van","cauchy"],this.setDefaults({k:7,m:3,technique:"reed_sol_van"})}setShecDefaults(){this.setDefaults({k:4,m:3,c:2})}setClayDefaults(){this.setDefaults({k:4,m:2,scalar_mds:this.PLUGIN.JERASURE}),this.setClayDefaultsForScalar()}setClayDefaultsForScalar(){const _=this.form.getValue("scalar_mds");let o="reed_sol_van";_===this.PLUGIN.JERASURE?this.techniques=["reed_sol_van","reed_sol_r6_op","cauchy_orig","cauchy_good","liber8tion"]:_===this.PLUGIN.ISA?this.techniques=["reed_sol_van","cauchy"]:(o="single",this.techniques=["single","multiple"]),this.setDefaults({technique:o})}setDefaults(_){Object.keys(_).forEach(o=>{const n=this.form.get(o),s=n.value;n.pristine||"technique"===o&&!this.techniques.includes(s)||"k"===o&&[4,7].includes(s)||"m"===o&&[2,3].includes(s)?n.setValue(_[o]):n.updateValueAndValidity()})}ngOnInit(){this.ecpService.getInfo().subscribe(({plugins:_,names:o,directory:n,nodes:s})=>{this.initCrushNodeSelection(s,this.form.get("crushRoot"),this.form.get("crushFailureDomain"),this.form.get("crushDeviceClass")),this.plugins=_,this.names=o,this.form.silentSet("directory",n),this.preValidateNumericInputFields()})}preValidateNumericInputFields(){const _=["k","m","l","c","d"].map(o=>this.form.get(o));_.forEach(o=>{o.markAsTouched(),o.markAsDirty()}),_[1].updateValueAndValidity()}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _=this.createJson();this.taskWrapper.wrapTaskAroundCall({task:new v.R("ecp/create",{name:_.name}),call:this.ecpService.create(_)}).subscribe({error:()=>{this.form.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close(),this.submitAction.emit(_)}})}createJson(){const _={technique:[this.PLUGIN.ISA,this.PLUGIN.JERASURE,this.PLUGIN.CLAY],packetSize:[this.PLUGIN.JERASURE],l:[this.PLUGIN.LRC],crushLocality:[this.PLUGIN.LRC],c:[this.PLUGIN.SHEC],d:[this.PLUGIN.CLAY],scalar_mds:[this.PLUGIN.CLAY]},o=new D_,n=this.form.getValue("plugin");return Object.keys(this.form.controls).filter(s=>{const c=_[s],d=this.form.getValue(s);return(c&&c.includes(n)||!c)&&d&&""!==d}).forEach(s=>{this.extendJson(s,o)}),o}extendJson(_,o){const s=this.form.getValue(_);o[{crushFailureDomain:"crush-failure-domain",crushRoot:"crush-root",crushDeviceClass:"crush-device-class",packetSize:"packetsize",crushLocality:"crush-locality"}[_]||_]="crushRoot"===_?s.name:s}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ve.O),e.Y36(g.Kz),e.Y36(de.P),e.Y36(Me),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-erasure-code-profile-form-modal"]],outputs:{submitAction:"submitAction"},features:[e.qOj],decls:98,vars:53,consts:function(){let i,_,o,n,s,c,d,P,p,m,h,T,R,f,A,I,$,D,Z,x,y,U,q,H,G,z,X,w,Q,J,k,V,Y,B,j,K,N,W,ee,_e,oe,te,ie,ne,se,ae,le,re,ce;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",o="Plugin",n="Data chunks (k)",s="Coding chunks (m)",c="Crush failure domain",d="Crush root",P="Crush device class",p="Let Ceph decide",m="Available OSDs: " + "\ufffd0\ufffd" + "",h="Directory",T="This field is required!",R="The name can only consist of alphanumeric characters, dashes and underscores.",f="The chosen erasure code profile name is already in use.",A="Loading...",I="This field is required!",$="This field is required!",D="Must be equal to or greater than 2.",Z="Chunks (k+m) have exceeded the available OSDs of " + "\ufffd0\ufffd" + ".",x="For an equal distribution k has to be a multiple of (k+m)/l.",y="K has to be equal to or greater than m in order to recover data correctly through c.",U="Distribution factor: " + "\ufffd0\ufffd" + "",q="This field is required!",H="Must be equal to or greater than 1.",G="Chunks (k+m) have exceeded the available OSDs of " + "\ufffd0\ufffd" + ".",z="Durability estimator (c)",X="Must be equal to or greater than 1.",w="C has to be equal to or lower than m as m defines the amount of chunks that can be used.",Q="Helper chunks (d)",J="Set d manually or use the plugin's default calculation that maximizes d.",k="D is automatically updated on k and m changes",V="D can be set from " + "\ufffd0\ufffd" + " to " + "\ufffd1\ufffd" + "",Y="D can only be set to " + "\ufffd0\ufffd" + "",B="D has to be greater than k (" + "\ufffd0\ufffd" + ").",j="D has to be lower than k + m (" + "\ufffd0\ufffd" + ").",K="Locality (l)",N="Locality groups: " + "\ufffd0\ufffd" + "",W="This field is required!",ee="Must be equal to or greater than 1.",_e="Can't split up chunks (k+m) correctly with the current locality.",oe="Loading...",te="Crush Locality",ie="Loading...",ne="None",se="Scalar mds",ae="Technique",le="Packetsize",re="Must be equal to or greater than 1.",ce="Loading...",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label"],_,[1,"cd-col-form-input"],["type","text","id","name","name","name","placeholder","Name...","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","plugin",1,"cd-col-form-label"],[1,"required"],o,[3,"html"],["id","plugin","name","plugin","formControlName","plugin",1,"form-control","custom-select"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],["for","k",1,"cd-col-form-label"],n,["type","number","id","k","name","k","ng-model","$ctrl.erasureCodeProfile.k","placeholder","Data chunks...","formControlName","k","min","2",1,"form-control"],["class","form-text text-muted",4,"ngIf"],["for","m",1,"cd-col-form-label"],s,["type","number","id","m","name","m","placeholder","Coding chunks...","formControlName","m","min","1",1,"form-control"],["class","form-group row",4,"ngIf"],["for","crushFailureDomain",1,"cd-col-form-label"],c,["id","crushFailureDomain","name","crushFailureDomain","formControlName","crushFailureDomain",1,"form-control","custom-select"],["for","crushRoot",1,"cd-col-form-label"],d,["id","crushRoot","name","crushRoot","formControlName","crushRoot",1,"form-control","custom-select"],["for","crushDeviceClass",1,"cd-col-form-label"],P,["id","crushDeviceClass","name","crushDeviceClass","formControlName","crushDeviceClass",1,"form-control","custom-select"],["ngValue",""],p,[1,"form-text","text-muted"],m,["for","directory",1,"cd-col-form-label"],h,["type","text","id","directory","name","directory","placeholder","Path...","formControlName","directory",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],T,R,f,A,[3,"ngValue"],I,$,D,Z,x,y,U,q,H,G,["for","c",1,"cd-col-form-label"],z,["type","number","id","c","name","c","placeholder","Coding chunks...","formControlName","c","min","1",1,"form-control"],X,w,["for","d",1,"cd-col-form-label"],Q,[1,"input-group"],["type","number","id","d","name","d","placeholder","Helper chunks...","formControlName","d",1,"form-control"],[1,"input-group-append"],["id","d-calc-btn","ngbTooltip",J,"type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],[4,"ngIf"],k,V,Y,B,j,["for","l",1,"cd-col-form-label"],K,["type","number","id","l","name","l","placeholder","Coding chunks...","formControlName","l","min","1",1,"form-control"],N,W,ee,_e,oe,["for","crushLocality",1,"cd-col-form-label"],te,["id","crushLocality","name","crushLocality","formControlName","crushLocality",1,"form-control","custom-select"],ie,ne,["for","scalar_mds",1,"cd-col-form-label"],se,["id","scalar_mds","name","scalar_mds","formControlName","scalar_mds",1,"form-control","custom-select"],["for","technique",1,"cd-col-form-label"],ae,["id","technique","name","technique","formControlName","technique",1,"form-control","custom-select"],["for","packetSize",1,"cd-col-form-label"],le,["type","number","id","packetSize","name","packetSize","placeholder","Packetsize...","formControlName","packetSize","min","1",1,"form-control"],re,ce]},template:function(_,o){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.YNc(14,x_,2,0,"span",12),e.YNc(15,y_,2,0,"span",12),e.YNc(16,U_,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(17,"div",7),e.TgZ(18,"label",13),e.TgZ(19,"span",14),e.SDv(20,15),e.qZA(),e._UZ(21,"cd-helper",16),e.qZA(),e.TgZ(22,"div",10),e.TgZ(23,"select",17),e.YNc(24,q_,2,0,"option",18),e.YNc(25,H_,2,2,"option",19),e.qZA(),e.YNc(26,G_,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(27,"div",7),e.TgZ(28,"label",20),e.TgZ(29,"span",14),e.SDv(30,21),e.qZA(),e._UZ(31,"cd-helper",16),e.qZA(),e.TgZ(32,"div",10),e._UZ(33,"input",22),e.YNc(34,z_,2,0,"span",12),e.YNc(35,X_,2,0,"span",12),e.YNc(36,w_,2,1,"span",12),e.YNc(37,Q_,2,0,"span",12),e.YNc(38,J_,2,0,"span",12),e.YNc(39,k_,2,1,"span",23),e.qZA(),e.qZA(),e.TgZ(40,"div",7),e.TgZ(41,"label",24),e.TgZ(42,"span",14),e.SDv(43,25),e.qZA(),e._UZ(44,"cd-helper",16),e.qZA(),e.TgZ(45,"div",10),e._UZ(46,"input",26),e.YNc(47,V_,2,0,"span",12),e.YNc(48,Y_,2,0,"span",12),e.YNc(49,B_,2,1,"span",12),e.qZA(),e.qZA(),e.YNc(50,W_,9,3,"div",27),e.YNc(51,so,15,6,"div",27),e.YNc(52,co,12,5,"div",27),e.TgZ(53,"div",7),e.TgZ(54,"label",28),e.ynx(55),e.SDv(56,29),e.BQk(),e._UZ(57,"cd-helper",16),e.qZA(),e.TgZ(58,"div",10),e.TgZ(59,"select",30),e.YNc(60,Oo,2,0,"option",18),e.YNc(61,uo,2,3,"option",19),e.qZA(),e.qZA(),e.qZA(),e.YNc(62,go,10,4,"div",27),e.YNc(63,mo,8,6,"div",27),e.YNc(64,Co,8,2,"div",27),e.YNc(65,ho,8,2,"div",27),e.TgZ(66,"div",7),e.TgZ(67,"label",31),e.ynx(68),e.SDv(69,32),e.BQk(),e._UZ(70,"cd-helper",16),e.qZA(),e.TgZ(71,"div",10),e.TgZ(72,"select",33),e.YNc(73,To,2,0,"option",18),e.YNc(74,So,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.TgZ(75,"div",7),e.TgZ(76,"label",34),e.ynx(77),e.SDv(78,35),e.BQk(),e._UZ(79,"cd-helper",16),e.qZA(),e.TgZ(80,"div",10),e.TgZ(81,"select",36),e.TgZ(82,"option",37),e.SDv(83,38),e.qZA(),e.YNc(84,Lo,2,2,"option",19),e.qZA(),e.TgZ(85,"span",39),e.SDv(86,40),e.qZA(),e.qZA(),e.qZA(),e.TgZ(87,"div",7),e.TgZ(88,"label",41),e.ynx(89),e.SDv(90,42),e.BQk(),e._UZ(91,"cd-helper",16),e.qZA(),e.TgZ(92,"div",10),e._UZ(93,"input",43),e.qZA(),e.qZA(),e.qZA(),e.TgZ(94,"div",44),e.TgZ(95,"cd-form-button-panel",45),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(96,"titlecase"),e.ALo(97,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const n=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,41,o.action))(e.lcZ(4,43,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.form),e.xp6(8),e.Q6J("ngIf",o.form.showError("name",n,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"pattern")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"uniqueName")),e.xp6(5),e.Q6J("html",o.tooltips.plugins[o.plugin].description),e.xp6(3),e.Q6J("ngIf",!o.plugins),e.xp6(1),e.Q6J("ngForOf",o.plugins),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"required")),e.xp6(5),e.Q6J("html",o.tooltips.k),e.xp6(3),e.Q6J("ngIf",o.form.showError("k",n,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",n,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",n,"max")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",n,"unequal")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",n,"kLowerM")),e.xp6(1),e.Q6J("ngIf","lrc"===o.plugin),e.xp6(5),e.Q6J("html",o.tooltips.m),e.xp6(3),e.Q6J("ngIf",o.form.showError("m",n,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("m",n,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("m",n,"max")),e.xp6(1),e.Q6J("ngIf","shec"===o.plugin),e.xp6(1),e.Q6J("ngIf","clay"===o.plugin),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.LRC),e.xp6(5),e.Q6J("html",o.tooltips.crushFailureDomain),e.xp6(3),e.Q6J("ngIf",!o.failureDomains),e.xp6(1),e.Q6J("ngForOf",o.failureDomainKeys),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.LRC),e.xp6(1),e.Q6J("ngIf",o.PLUGIN.CLAY===o.plugin),e.xp6(1),e.Q6J("ngIf",e.kEZ(49,De,o.PLUGIN.JERASURE,o.PLUGIN.ISA,o.PLUGIN.CLAY).includes(o.plugin)),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.JERASURE),e.xp6(5),e.Q6J("html",o.tooltips.crushRoot),e.xp6(3),e.Q6J("ngIf",!o.buckets),e.xp6(1),e.Q6J("ngForOf",o.buckets),e.xp6(5),e.Q6J("html",o.tooltips.crushDeviceClass),e.xp6(5),e.Q6J("ngForOf",o.devices),e.xp6(2),e.pQV(o.deviceCount),e.QtT(86),e.xp6(5),e.Q6J("html",o.tooltips.directory),e.xp6(4),e.Q6J("form",o.form)("submitText",e.lcZ(96,45,o.action)+" "+e.lcZ(97,47,o.resource))}},directives:[$e.z,a._Y,a.JL,fe.V,a.sg,Pe.P,Ee.o,a.Fj,ge.b,a.JJ,a.u,pe.U,C.O5,me.S,a.EJ,C.sg,a.wV,a.qQ,a.YN,a.Kr,Re.p,g._L,C.mk],pipes:[C.rS,Ce.m],styles:[""]}),t})();var Fo=r(7022);class No{constructor(){this.erasureInfo=!1,this.crushInfo=!1,this.pgs=1,this.poolTypes=["erasure","replicated"],this.applications={selected:[],default:["cephfs","rbd","rgw"],available:[],validators:[a.kI.pattern("[A-Za-z0-9_]+"),a.kI.maxLength(128)],messages:new Fo.a({empty:"No applications added",selectionLimit:{text:"Applications limit reached",tooltip:"A pool can only have up to four applications definitions."},customValidations:{pattern:"Allowed characters '_a-zA-Z0-9'",maxlength:"Maximum length is 128 characters"},filter:"Filter or add applications'",add:"Add application"})}}}var Ze=r(63285),he=r(74937),bo=r(63622),vo=r(60192),Io=r(17932),$o=r(54555),Do=r(30490),xe=r(61350);const Zo=["crushInfoTabs"],xo=["crushDeletionBtn"],yo=["ecpInfoTabs"],Uo=["ecpDeletionBtn"];function qo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,42),e.qZA())}function Ho(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,43),e.qZA())}function Go(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,44),e.qZA())}function zo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,45),e.qZA())}function Xo(t,i){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function wo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,47),e.qZA())}function Qo(t,i){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Jo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,58),e.qZA())}function ko(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,59),e.qZA())}function Vo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,60),e.qZA())}function Yo(t,i){1&t&&(e.TgZ(0,"span",55),e.SDv(1,61),e.qZA())}function Bo(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",52),e.SDv(2,53),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"input",54),e.NdJ("focus",function(){return e.CHM(_),e.oxw(3).externalPgChange=!1})("blur",function(){return e.CHM(_),e.oxw(3).alignPgs()}),e.qZA(),e.YNc(5,Jo,2,0,"span",13),e.YNc(6,ko,2,0,"span",13),e.YNc(7,Vo,2,0,"span",13),e.TgZ(8,"span",55),e._UZ(9,"cd-doc",56),e.qZA(),e.YNc(10,Yo,2,0,"span",57),e.qZA(),e.qZA()}if(2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.form.showError("pgNum",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("pgNum",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("pgNum",_,"34")),e.xp6(3),e.Q6J("ngIf",o.externalPgChange)}}function jo(t,i){if(1&t&&(e.TgZ(0,"span",41),e.TgZ(1,"ul",66),e.TgZ(2,"li"),e.SDv(3,67),e.qZA(),e.TgZ(4,"li"),e.SDv(5,68),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(3),e.pQV(_.getMinSize()),e.QtT(3),e.xp6(2),e.pQV(_.getMaxSize()),e.QtT(5)}}function Ko(t,i){if(1&t&&(e.TgZ(0,"span",41),e.SDv(1,69),e.qZA()),2&t){const _=e.oxw(4);e.xp6(1),e.pQV(_.getMinSize())(_.getMaxSize()),e.QtT(1)}}function Wo(t,i){1&t&&(e.TgZ(0,"span",70),e.SDv(1,71),e.qZA())}function et(t,i){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",62),e.SDv(2,63),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",64),e.YNc(5,jo,6,2,"span",13),e.YNc(6,Ko,2,2,"span",13),e.YNc(7,Wo,2,0,"span",65),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(4),e.Q6J("max",o.getMaxSize())("min",o.getMinSize()),e.xp6(1),e.Q6J("ngIf",o.form.showError("size",_)),e.xp6(1),e.Q6J("ngIf",o.form.showError("size",_)),e.xp6(1),e.Q6J("ngIf",1===o.form.getValue("size"))}}function _t(t,i){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",72),e.SDv(2,73),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"div",74),e._UZ(5,"input",75),e.TgZ(6,"label",76),e.SDv(7,77),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function ot(t,i){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"div",8),e.TgZ(2,"label",48),e.SDv(3,49),e.qZA(),e.TgZ(4,"div",11),e.TgZ(5,"select",50),e.YNc(6,Qo,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.YNc(7,Bo,11,4,"div",51),e.YNc(8,et,8,5,"div",51),e.YNc(9,_t,8,0,"div",51),e.qZA()),2&t){const _=e.oxw(2);e.xp6(6),e.Q6J("ngForOf",_.pgAutoscaleModes),e.xp6(1),e.Q6J("ngIf","on"!==_.form.getValue("pgAutoscaleMode")),e.xp6(1),e.Q6J("ngIf",_.isReplicated),e.xp6(1),e.Q6J("ngIf",_.info.is_all_bluestore&&_.isErasure)}}function tt(t,i){if(1&t&&e._UZ(0,"i",78),2&t){const _=e.oxw(2);e.Gre("",_.icons.warning," icon-warning-color")}}function it(t,i){1&t&&(e.TgZ(0,"option",17),e.SDv(1,93),e.qZA())}function nt(t,i){1&t&&(e.TgZ(0,"option",94),e.SDv(1,95),e.qZA()),2&t&&e.Q6J("ngValue",null)}function st(t,i){1&t&&(e.TgZ(0,"option",94),e.SDv(1,96),e.qZA()),2&t&&e.Q6J("ngValue",null)}function at(t,i){if(1&t&&(e.TgZ(0,"option",94),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}const F=function(t){return[t]};function lt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"button",97),e.NdJ("click",function(){return e.CHM(_),e.oxw(4).addErasureCodeProfile()}),e._UZ(1,"i",89),e.qZA()}if(2&t){const _=e.oxw(4);e.xp6(1),e.Q6J("ngClass",e.VKq(1,F,_.icons.add))}}function rt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"button",98,99),e.NdJ("click",function(){return e.CHM(_),e.oxw(4).deleteErasureCodeProfile()}),e._UZ(2,"i",89),e.qZA()}if(2&t){const _=e.oxw(4);e.xp6(2),e.Q6J("ngClass",e.VKq(1,F,_.icons.trash))}}const ct=function(){return["name"]};function Ot(t,i){if(1&t&&e._UZ(0,"cd-table-key-value",110),2&t){const _=e.oxw(5);e.Q6J("renderObjects",!0)("hideKeys",e.DdM(4,ct))("data",_.form.getValue("erasureProfile"))("autoReload",!1)}}function dt(t,i){1&t&&(e.TgZ(0,"span"),e.SDv(1,113),e.qZA())}function ut(t,i){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.xp6(1),e.hij(" ",_," ")}}function ft(t,i){if(1&t&&(e.TgZ(0,"ul"),e.YNc(1,ut,2,1,"li",114),e.qZA()),2&t){const _=e.oxw(6);e.xp6(1),e.Q6J("ngForOf",_.ecpUsage)}}function Pt(t,i){if(1&t&&(e.YNc(0,dt,2,0,"ng-template",null,111,e.W1O),e.YNc(2,ft,2,1,"ul",112)),2&t){const _=e.MAs(1),o=e.oxw(5);e.xp6(2),e.Q6J("ngIf",o.ecpUsage)("ngIfElse",_)}}function Et(t,i){if(1&t&&(e.TgZ(0,"span",100),e.TgZ(1,"ul",101,102),e.TgZ(3,"li",103),e.TgZ(4,"a",104),e.SDv(5,105),e.qZA(),e.YNc(6,Ot,1,5,"ng-template",106),e.qZA(),e.TgZ(7,"li",107),e.TgZ(8,"a",104),e.SDv(9,108),e.qZA(),e.YNc(10,Pt,3,2,"ng-template",106),e.qZA(),e.qZA(),e._UZ(11,"div",109),e.qZA()),2&t){const _=e.MAs(2);e.xp6(11),e.Q6J("ngbNavOutlet",_)}}const ye=function(t){return{active:t}};function gt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",80),e.SDv(2,81),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"div",82),e.TgZ(5,"select",83),e.YNc(6,it,2,0,"option",84),e.YNc(7,nt,2,1,"option",85),e.YNc(8,st,2,1,"option",85),e.YNc(9,at,2,2,"option",86),e.qZA(),e.TgZ(10,"span",87),e.TgZ(11,"button",88),e.NdJ("click",function(){e.CHM(_);const n=e.oxw(3);return n.data.erasureInfo=!n.data.erasureInfo}),e._UZ(12,"i",89),e.qZA(),e.YNc(13,lt,2,3,"button",90),e.YNc(14,rt,3,3,"button",91),e.qZA(),e.qZA(),e.YNc(15,Et,12,1,"span",92),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(3);e.xp6(6),e.Q6J("ngIf",!_.ecProfiles),e.xp6(1),e.Q6J("ngIf",_.ecProfiles&&0===_.ecProfiles.length),e.xp6(1),e.Q6J("ngIf",_.ecProfiles&&_.ecProfiles.length>0),e.xp6(1),e.Q6J("ngForOf",_.ecProfiles),e.xp6(2),e.Q6J("ngClass",e.VKq(9,ye,_.data.erasureInfo)),e.xp6(1),e.Q6J("ngClass",e.VKq(11,F,_.icons.questionCircle)),e.xp6(1),e.Q6J("ngIf",!_.editing),e.xp6(1),e.Q6J("ngIf",!_.editing),e.xp6(1),e.Q6J("ngIf",_.data.erasureInfo&&_.form.getValue("erasureProfile"))}}function pt(t,i){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",115),e.SDv(2,116),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"span",55),e.SDv(5,117),e.qZA(),e.qZA(),e.qZA())}function mt(t,i){1&t&&(e.TgZ(0,"span",55),e.TgZ(1,"span"),e.SDv(2,120),e.qZA(),e._uU(3,"\xa0 "),e.qZA())}function Rt(t,i){if(1&t&&(e.TgZ(0,"option",94),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.rule_name," ")}}function Ct(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"button",97),e.NdJ("click",function(){return e.CHM(_),e.oxw(5).addCrushRule()}),e._UZ(1,"i",89),e.qZA()}if(2&t){const _=e.oxw(5);e.xp6(1),e.Q6J("ngClass",e.VKq(1,F,_.icons.add))}}function Mt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"button",126,127),e.NdJ("click",function(){return e.CHM(_),e.oxw(5).deleteCrushRule()}),e._UZ(2,"i",89),e.qZA()}if(2&t){const _=e.oxw(5);e.xp6(2),e.Q6J("ngClass",e.VKq(1,F,_.icons.trash))}}const ht=function(){return["steps","type","rule_name"]};function Tt(t,i){if(1&t&&e._UZ(0,"cd-table-key-value",110),2&t){const _=e.oxw(6);e.Q6J("renderObjects",!1)("hideKeys",e.DdM(4,ht))("data",_.form.getValue("crushRule"))("autoReload",!1)}}function St(t,i){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=i.$implicit,o=e.oxw(7);e.xp6(1),e.hij(" ",o.describeCrushStep(_)," ")}}function Lt(t,i){if(1&t&&(e.TgZ(0,"ol"),e.YNc(1,St,2,1,"li",114),e.qZA()),2&t){const _=e.oxw(6);e.xp6(1),e.Q6J("ngForOf",_.form.get("crushRule").value.steps)}}function At(t,i){1&t&&(e.TgZ(0,"span"),e.SDv(1,136),e.qZA())}function Ft(t,i){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.xp6(1),e.hij(" ",_," ")}}function Nt(t,i){if(1&t&&(e.TgZ(0,"ul"),e.YNc(1,Ft,2,1,"li",114),e.qZA()),2&t){const _=e.oxw(7);e.xp6(1),e.Q6J("ngForOf",_.crushUsage)}}function bt(t,i){if(1&t&&(e.YNc(0,At,2,0,"ng-template",null,135,e.W1O),e.YNc(2,Nt,2,1,"ul",112)),2&t){const _=e.MAs(1),o=e.oxw(6);e.xp6(2),e.Q6J("ngIf",o.crushUsage)("ngIfElse",_)}}function vt(t,i){if(1&t&&(e.TgZ(0,"div",128),e.TgZ(1,"ul",101,129),e.TgZ(3,"li",130),e.TgZ(4,"a",104),e.SDv(5,131),e.qZA(),e.YNc(6,Tt,1,5,"ng-template",106),e.qZA(),e.TgZ(7,"li",132),e.TgZ(8,"a",104),e.SDv(9,133),e.qZA(),e.YNc(10,Lt,2,1,"ng-template",106),e.qZA(),e.TgZ(11,"li",107),e.TgZ(12,"a",104),e.SDv(13,134),e.qZA(),e.YNc(14,bt,3,2,"ng-template",106),e.qZA(),e.qZA(),e._UZ(15,"div",109),e.qZA()),2&t){const _=e.MAs(2);e.xp6(15),e.Q6J("ngbNavOutlet",_)}}function It(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,137),e.qZA())}function $t(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,138),e.qZA())}function Dt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"div",82),e.TgZ(2,"select",121),e.TgZ(3,"option",94),e.SDv(4,122),e.qZA(),e.YNc(5,Rt,2,2,"option",86),e.qZA(),e.TgZ(6,"span",87),e.TgZ(7,"button",123),e.NdJ("click",function(){e.CHM(_);const n=e.oxw(4);return n.data.crushInfo=!n.data.crushInfo}),e._UZ(8,"i",89),e.qZA(),e.YNc(9,Ct,2,3,"button",90),e.YNc(10,Mt,3,3,"button",124),e.qZA(),e.qZA(),e.YNc(11,vt,16,1,"div",125),e.YNc(12,It,2,0,"span",13),e.YNc(13,$t,2,0,"span",13),e.qZA()}if(2&t){e.oxw(3);const _=e.MAs(2),o=e.oxw();e.xp6(3),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",o.current.rules),e.xp6(2),e.Q6J("ngClass",e.VKq(9,ye,o.data.crushInfo)),e.xp6(1),e.Q6J("ngClass",e.VKq(11,F,o.icons.questionCircle)),e.xp6(1),e.Q6J("ngIf",o.isReplicated&&!o.editing),e.xp6(1),e.Q6J("ngIf",o.isReplicated&&!o.editing),e.xp6(1),e.Q6J("ngIf",o.data.crushInfo&&o.form.getValue("crushRule")),e.xp6(1),e.Q6J("ngIf",o.form.showError("crushRule",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("crushRule",_,"tooFewOsds"))}}function Zt(t,i){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",115),e.SDv(2,118),e.qZA(),e.TgZ(3,"div",11),e.YNc(4,mt,4,0,"ng-template",null,119,e.W1O),e.YNc(6,Dt,14,13,"div",112),e.qZA(),e.qZA()),2&t){const _=e.MAs(5),o=e.oxw(3);e.xp6(6),e.Q6J("ngIf",o.current.rules.length>0)("ngIfElse",_)}}function xt(t,i){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"legend"),e.SDv(2,79),e.qZA(),e.YNc(3,gt,16,13,"div",51),e.YNc(4,pt,6,0,"div",51),e.YNc(5,Zt,7,2,"div",51),e.qZA()),2&t){const _=e.oxw(2);e.xp6(3),e.Q6J("ngIf",_.isErasure),e.xp6(1),e.Q6J("ngIf",_.isErasure&&!_.editing),e.xp6(1),e.Q6J("ngIf",_.isReplicated||_.editing)}}function yt(t,i){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Ut(t,i){1&t&&(e.TgZ(0,"option",17),e.SDv(1,156),e.qZA())}function qt(t,i){1&t&&(e.TgZ(0,"option",17),e.SDv(1,157),e.qZA())}function Ht(t,i){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Gt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,158),e.qZA())}function zt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,159),e.qZA())}function Xt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,160),e.qZA())}function wt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,161),e.qZA())}function Qt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,162),e.qZA())}function Jt(t,i){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"div",8),e.TgZ(2,"label",144),e.SDv(3,145),e.qZA(),e.TgZ(4,"div",11),e.TgZ(5,"select",146),e.YNc(6,Ut,2,0,"option",84),e.YNc(7,qt,2,0,"option",84),e.YNc(8,Ht,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.TgZ(9,"div",8),e.TgZ(10,"label",147),e.SDv(11,148),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",149),e.YNc(14,Gt,2,0,"span",13),e.YNc(15,zt,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(16,"div",8),e.TgZ(17,"label",150),e.SDv(18,151),e.qZA(),e.TgZ(19,"div",11),e._UZ(20,"input",152),e.YNc(21,Xt,2,0,"span",13),e.YNc(22,wt,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(23,"div",8),e.TgZ(24,"label",153),e.SDv(25,154),e.qZA(),e.TgZ(26,"div",11),e._UZ(27,"input",155),e.YNc(28,Qt,2,0,"span",13),e.qZA(),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(6),e.Q6J("ngIf",!o.info.compression_algorithms),e.xp6(1),e.Q6J("ngIf",o.info.compression_algorithms&&0===o.info.compression_algorithms.length),e.xp6(1),e.Q6J("ngForOf",o.info.compression_algorithms),e.xp6(6),e.Q6J("ngIf",o.form.showError("minBlobSize",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("minBlobSize",_,"maximum")),e.xp6(6),e.Q6J("ngIf",o.form.showError("maxBlobSize",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("maxBlobSize",_,"minimum")),e.xp6(6),e.Q6J("ngIf",o.form.showError("ratio",_,"min")||o.form.showError("ratio",_,"max"))}}function kt(t,i){if(1&t&&(e.TgZ(0,"div",139),e.TgZ(1,"legend"),e.SDv(2,140),e.qZA(),e.TgZ(3,"div",8),e.TgZ(4,"label",141),e.SDv(5,142),e.qZA(),e.TgZ(6,"div",11),e.TgZ(7,"select",143),e.YNc(8,yt,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.YNc(9,Jt,29,8,"div",20),e.qZA()),2&t){const _=e.oxw(2);e.xp6(8),e.Q6J("ngForOf",_.info.compression_modes),e.xp6(1),e.Q6J("ngIf",_.hasCompressionEnabled())}}function Vt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,163),e.qZA())}function Yt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",12),e.YNc(14,qo,2,0,"span",13),e.YNc(15,Ho,2,0,"span",13),e.YNc(16,Go,2,0,"span",13),e.YNc(17,zo,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(18,"div",8),e.TgZ(19,"label",14),e.SDv(20,15),e.qZA(),e.TgZ(21,"div",11),e.TgZ(22,"select",16),e.TgZ(23,"option",17),e.SDv(24,18),e.qZA(),e.YNc(25,Xo,2,2,"option",19),e.qZA(),e.YNc(26,wo,2,0,"span",13),e.qZA(),e.qZA(),e.YNc(27,ot,10,4,"div",20),e.TgZ(28,"div",8),e.TgZ(29,"label",21),e.SDv(30,22),e.qZA(),e.TgZ(31,"div",11),e.TgZ(32,"cd-select-badges",23),e.NdJ("selection",function(){return e.CHM(_),e.oxw().appSelection()}),e.qZA(),e.YNc(33,tt,1,3,"i",24),e.qZA(),e.qZA(),e.YNc(34,xt,6,3,"div",20),e.YNc(35,kt,10,2,"div",25),e.TgZ(36,"div"),e.TgZ(37,"legend"),e.SDv(38,26),e.qZA(),e.TgZ(39,"div",8),e.TgZ(40,"label",27),e.ynx(41),e.SDv(42,28),e.BQk(),e.TgZ(43,"cd-helper"),e.TgZ(44,"span"),e.SDv(45,29),e.qZA(),e._UZ(46,"br"),e.TgZ(47,"span"),e.SDv(48,30),e.qZA(),e.qZA(),e.qZA(),e.TgZ(49,"div",11),e._UZ(50,"input",31),e.qZA(),e.qZA(),e.TgZ(51,"div",8),e.TgZ(52,"label",32),e.ynx(53),e.SDv(54,33),e.BQk(),e.TgZ(55,"cd-helper"),e.TgZ(56,"span"),e.SDv(57,34),e.qZA(),e._UZ(58,"br"),e.TgZ(59,"span"),e.SDv(60,35),e.qZA(),e.qZA(),e.qZA(),e.TgZ(61,"div",11),e._UZ(62,"input",36),e.YNc(63,Vt,2,0,"span",13),e.qZA(),e.qZA(),e.qZA(),e.TgZ(64,"div",37),e.TgZ(65,"cd-rbd-configuration-form",38),e.NdJ("changes",function(n){return e.CHM(_),e.oxw().currentConfigurationValues=n()}),e.qZA(),e.qZA(),e.qZA(),e.TgZ(66,"div",39),e.TgZ(67,"cd-form-button-panel",40),e.NdJ("submitActionEvent",function(){return e.CHM(_),e.oxw().submit()}),e.ALo(68,"titlecase"),e.ALo(69,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.form),e.xp6(6),e.pQV(e.lcZ(6,25,o.action))(e.lcZ(7,27,o.resource)),e.QtT(5),e.xp6(7),e.Q6J("ngIf",o.form.showError("name",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"uniqueName")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"rbdPool")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"pattern")),e.xp6(8),e.Q6J("ngForOf",o.data.poolTypes),e.xp6(1),e.Q6J("ngIf",o.form.showError("poolType",_,"required")),e.xp6(1),e.Q6J("ngIf",o.isReplicated||o.isErasure),e.xp6(5),e.Q6J("customBadges",!0)("customBadgeValidators",o.data.applications.validators)("messages",o.data.applications.messages)("data",o.data.applications.selected)("options",o.data.applications.available)("selectionLimit",4),e.xp6(1),e.Q6J("ngIf",o.data.applications.selected<=0),e.xp6(1),e.Q6J("ngIf",o.isErasure||o.isReplicated),e.xp6(1),e.Q6J("ngIf",o.info.is_all_bluestore),e.xp6(28),e.Q6J("ngIf",o.form.showError("max_objects",_,"min")),e.xp6(1),e.Q6J("hidden",o.isErasure||-1===o.data.applications.selected.indexOf("rbd")),e.xp6(1),e.Q6J("form",o.form)("initializeData",o.initializeConfigData),e.xp6(2),e.Q6J("form",o.form)("submitText",e.lcZ(68,29,o.action)+" "+e.lcZ(69,31,o.resource))}}let Ue=(()=>{class t extends m_.E{constructor(_,o,n,s,c,d,P,p,m,h,T){super(),this.dimlessBinaryPipe=_,this.route=o,this.router=n,this.modalService=s,this.poolService=c,this.authStorageService=d,this.formatter=P,this.taskWrapper=p,this.ecpService=m,this.crushRuleService=h,this.actionLabels=T,this.editing=!1,this.isReplicated=!1,this.isErasure=!1,this.data=new No,this.externalPgChange=!1,this.current={rules:[]},this.initializeConfigData=new E_.t(1),this.currentConfigurationValues={},this.icons=b.P,this.crushUsage=void 0,this.ecpUsage=void 0,this.crushRuleMaxSize=10,this.editing=this.router.url.startsWith(`/pool/${M.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource="pool",this.authenticate(),this.createForm()}authenticate(){if(this.permission=this.authStorageService.getPermissions().pool,!this.permission.read||!this.permission.update&&this.editing||!this.permission.create&&!this.editing)throw new g_._2}createForm(){const _=new be.d({mode:new a.NI("none"),algorithm:new a.NI(""),minBlobSize:new a.NI("",{updateOn:"blur"}),maxBlobSize:new a.NI("",{updateOn:"blur"}),ratio:new a.NI("",{updateOn:"blur"})});this.form=new be.d({name:new a.NI("",{validators:[a.kI.pattern(/^[.A-Za-z0-9_/-]+$/),a.kI.required,E.h.custom("rbdPool",()=>this.form&&this.form.getValue("name").includes("/")&&this.data&&-1!==this.data.applications.selected.indexOf("rbd"))]}),poolType:new a.NI("",{validators:[a.kI.required]}),crushRule:new a.NI(null,{validators:[E.h.custom("tooFewOsds",o=>this.info&&o&&this.info.osd_count<1),E.h.custom("required",o=>this.isReplicated&&this.info.crush_rules_replicated.length>0&&!o)]}),size:new a.NI("",{updateOn:"blur"}),erasureProfile:new a.NI(null),pgNum:new a.NI("",{validators:[a.kI.required]}),pgAutoscaleMode:new a.NI(null),ecOverwrites:new a.NI(!1),compression:_,max_bytes:new a.NI(""),max_objects:new a.NI(0)},[E.h.custom("form",()=>null)])}ngOnInit(){this.poolService.getInfo().subscribe(_=>{this.initInfo(_),this.editing?this.initEditMode():(this.setAvailableApps(),this.loadingReady()),this.listenToChanges(),this.setComplexValidators()})}initInfo(_){this.pgAutoscaleModes=_.pg_autoscale_modes,this.form.silentSet("pgAutoscaleMode",_.pg_autoscale_default_mode),this.form.silentSet("algorithm",_.bluestore_compression_algorithm),this.info=_,this.initEcp(_.erasure_code_profiles)}initEcp(_){this.setListControlStatus("erasureProfile",_),this.ecProfiles=_}setListControlStatus(_,o){const n=this.form.get(_),s=n.value;1!==o.length||s&&u().isEqual(s,o[0])?0===o.length&&s&&n.setValue(null):n.setValue(o[0]),o.length<=1?n.enabled&&n.disable():n.disabled&&n.enable()}initEditMode(){this.disableForEdit(),this.routeParamsSubscribe=this.route.params.subscribe(_=>this.poolService.get(_.name).subscribe(o=>{this.data.pool=o,this.initEditFormData(o),this.loadingReady()}))}disableForEdit(){["poolType","crushRule","size","erasureProfile","ecOverwrites"].forEach(_=>this.form.get(_).disable())}initEditFormData(_){this.initializeConfigData.next({initialData:_.configuration,sourceType:R_.h.pool}),this.poolTypeChange(_.type);const o=this.info.crush_rules_replicated.concat(this.info.crush_rules_erasure),n={name:_.pool_name,poolType:_.type,crushRule:o.find(s=>s.rule_name===_.crush_rule),size:_.size,erasureProfile:this.ecProfiles.find(s=>s.name===_.erasure_code_profile),pgAutoscaleMode:_.pg_autoscale_mode,pgNum:_.pg_num,ecOverwrites:_.flags_names.includes("ec_overwrites"),mode:_.options.compression_mode,algorithm:_.options.compression_algorithm,minBlobSize:this.dimlessBinaryPipe.transform(_.options.compression_min_blob_size),maxBlobSize:this.dimlessBinaryPipe.transform(_.options.compression_max_blob_size),ratio:_.options.compression_required_ratio,max_bytes:this.dimlessBinaryPipe.transform(_.quota_max_bytes),max_objects:_.quota_max_objects};Object.keys(n).forEach(s=>{const c=n[s];!u().isUndefined(c)&&""!==c&&this.form.silentSet(s,c)}),this.data.pgs=this.form.getValue("pgNum"),this.setAvailableApps(this.data.applications.default.concat(_.application_metadata)),this.data.applications.selected=_.application_metadata}setAvailableApps(_=this.data.applications.default){this.data.applications.available=u().uniq(_.sort()).map(o=>new p_.$(!1,o,""))}listenToChanges(){this.listenToChangesDuringAddEdit(),this.editing||this.listenToChangesDuringAdd()}listenToChangesDuringAddEdit(){this.form.get("pgNum").valueChanges.subscribe(_=>{const o=_-this.data.pgs;1===Math.abs(o)&&2!==_?this.doPgPowerJump(o):this.data.pgs=_})}doPgPowerJump(_){const o=this.calculatePgPower()+_;this.setPgs(-1===_?Math.round(o):Math.floor(o))}calculatePgPower(_=this.form.getValue("pgNum")){return Math.log(_)/Math.log(2)}setPgs(_){const o=Math.pow(2,_<0?0:_);this.data.pgs=o,this.form.silentSet("pgNum",o)}listenToChangesDuringAdd(){this.form.get("poolType").valueChanges.subscribe(_=>{this.poolTypeChange(_)}),this.form.get("crushRule").valueChanges.subscribe(_=>{this.crushDeletionBtn&&this.crushDeletionBtn.isOpen()&&this.crushDeletionBtn.close(),_&&(this.setCorrectMaxSize(_),this.crushRuleIsUsedBy(_.rule_name),this.replicatedRuleChange(),this.pgCalc())}),this.form.get("size").valueChanges.subscribe(()=>{this.pgCalc()}),this.form.get("erasureProfile").valueChanges.subscribe(_=>{this.ecpDeletionBtn&&this.ecpDeletionBtn.isOpen()&&this.ecpDeletionBtn.close(),_&&(this.ecpIsUsedBy(_.name),this.pgCalc())}),this.form.get("mode").valueChanges.subscribe(()=>{["minBlobSize","maxBlobSize","ratio"].forEach(_=>{this.form.get(_).updateValueAndValidity({emitEvent:!1})})}),this.form.get("minBlobSize").valueChanges.subscribe(()=>{this.form.get("maxBlobSize").updateValueAndValidity({emitEvent:!1})}),this.form.get("maxBlobSize").valueChanges.subscribe(()=>{this.form.get("minBlobSize").updateValueAndValidity({emitEvent:!1})})}poolTypeChange(_){if("replicated"===_?this.setTypeBooleans(!0,!1):this.setTypeBooleans(!1,"erasure"===_),!_||!this.info)return void(this.current.rules=[]);const o=this.info["crush_rules_"+_]||[];this.current.rules=o,!this.editing&&(this.isReplicated&&this.setListControlStatus("crushRule",o),this.replicatedRuleChange(),this.pgCalc())}setTypeBooleans(_,o){this.isReplicated=_,this.isErasure=o}replicatedRuleChange(){if(!this.isReplicated)return;const _=this.form.get("size");let o=this.form.getValue("size")||3;const n=this.getMinSize(),s=this.getMaxSize();o<n?o=n:o>s&&(o=s),o!==_.value&&this.form.silentSet("size",o)}getMinSize(){return!this.info||this.info.osd_count<1?0:1}getMaxSize(){const _=this.form.getValue("crushRule");return this.info?_?_.usable_size:Math.min(this.info.osd_count,3):0}pgCalc(){const _=this.form.getValue("poolType");if(!this.info||this.form.get("pgNum").dirty||!_)return;const o=100*this.info.osd_count,n=this.isReplicated?this.replicatedPgCalc(o):this.erasurePgCalc(o);if(!n)return;const s=this.data.pgs;this.alignPgs(n),this.externalPgChange||(this.externalPgChange=s!==this.data.pgs)}setCorrectMaxSize(_=this.form.getValue("crushRule")){if(!_)return;const n=S.searchFailureDomains(this.info.nodes,_.steps[0].item_name)[_.steps[1].type];_.usable_size=Math.min(n?n.length:this.crushRuleMaxSize,this.crushRuleMaxSize)}replicatedPgCalc(_){const o=this.form.get("size"),n=o.value;return o.valid&&n>0?_/n:0}erasurePgCalc(_){const o=this.form.get("erasureProfile"),n=o.value;return(o.valid||o.disabled)&&n?_/(n.k+n.m):0}alignPgs(_=this.form.getValue("pgNum")){this.setPgs(Math.round(this.calculatePgPower(_<1?1:_)))}setComplexValidators(){this.editing?this.form.get("name").setValidators([this.form.get("name").validator,E.h.custom("uniqueName",_=>this.data.pool&&this.info&&-1!==this.info.pool_names.indexOf(_)&&this.info.pool_names.indexOf(_)!==this.info.pool_names.indexOf(this.data.pool.pool_name))]):(E.h.validateIf(this.form.get("size"),()=>this.isReplicated,[E.h.custom("min",_=>this.form.getValue("size")&&_<this.getMinSize()),E.h.custom("max",_=>this.form.getValue("size")&&this.getMaxSize()<_)]),this.form.get("name").setValidators([this.form.get("name").validator,E.h.custom("uniqueName",_=>this.info&&-1!==this.info.pool_names.indexOf(_))])),this.setCompressionValidators()}setCompressionValidators(){E.h.validateIf(this.form.get("minBlobSize"),()=>this.hasCompressionEnabled(),[a.kI.min(0),E.h.custom("maximum",_=>this.oddBlobSize(_,this.form.getValue("maxBlobSize")))]),E.h.validateIf(this.form.get("maxBlobSize"),()=>this.hasCompressionEnabled(),[a.kI.min(0),E.h.custom("minimum",_=>this.oddBlobSize(this.form.getValue("minBlobSize"),_))]),E.h.validateIf(this.form.get("ratio"),()=>this.hasCompressionEnabled(),[a.kI.min(0),a.kI.max(1)])}oddBlobSize(_,o){const n=this.formatter.toBytes(_),s=this.formatter.toBytes(o);return Boolean(n&&s&&n>=s)}hasCompressionEnabled(){return this.form.getValue("mode")&&"none"!==this.form.get("mode").value.toLowerCase()}describeCrushStep(_){return[_.op.replace("_"," "),_.item_name||"",_.type?_.num+" type "+_.type:""].join(" ")}addErasureCodeProfile(){this.addModal(Ao,_=>this.reloadECPs(_))}addModal(_,o){this.hideOpenTooltips(),this.modalService.show(_).componentInstance.submitAction.subscribe(s=>{o(s.name)})}hideOpenTooltips(){const _=o=>o&&o.isOpen()&&o.close();_(this.ecpDeletionBtn),_(this.crushDeletionBtn)}reloadECPs(_){this.reloadList({newItemName:_,getInfo:()=>this.ecpService.list(),initInfo:o=>this.initEcp(o),findNewItem:()=>this.ecProfiles.find(o=>o.name===_),controlName:"erasureProfile"})}reloadList({newItemName:_,getInfo:o,initInfo:n,findNewItem:s,controlName:c}){this.modalSubscription&&this.modalSubscription.unsubscribe(),o().subscribe(d=>{if(n(d),!_)return;const P=s();P&&this.form.get(c).setValue(P)})}deleteErasureCodeProfile(){this.deletionModal({value:this.form.getValue("erasureProfile"),usage:this.ecpUsage,deletionBtn:this.ecpDeletionBtn,dataName:"erasureInfo",getTabs:()=>this.ecpInfoTabs,tabPosition:"used-by-pools",nameAttribute:"name",itemDescription:"erasure code profile",reloadFn:()=>this.reloadECPs(),deleteFn:_=>this.ecpService.delete(_),taskName:"ecp/delete"})}deletionModal({value:_,usage:o,deletionBtn:n,dataName:s,getTabs:c,tabPosition:d,nameAttribute:P,itemDescription:p,reloadFn:m,deleteFn:h,taskName:T}){if(!_)return;if(o)return n.animation=!1,n.toggle(),this.data[s]=!0,void setTimeout(()=>{const f=c();f&&f.select(d)},50);const R=_[P];this.modalService.show(Ne.M,{itemDescription:p,itemNames:[R],submitActionObservable:()=>{const f=h(R);return f.subscribe(()=>m()),this.taskWrapper.wrapTaskAroundCall({task:new v.R(T,{name:R}),call:f})}})}addCrushRule(){this.addModal($_,_=>this.reloadCrushRules(_))}reloadCrushRules(_){this.reloadList({newItemName:_,getInfo:()=>this.poolService.getInfo(),initInfo:o=>{this.initInfo(o),this.poolTypeChange("replicated")},findNewItem:()=>this.info.crush_rules_replicated.find(o=>o.rule_name===_),controlName:"crushRule"})}deleteCrushRule(){this.deletionModal({value:this.form.getValue("crushRule"),usage:this.crushUsage,deletionBtn:this.crushDeletionBtn,dataName:"crushInfo",getTabs:()=>this.crushInfoTabs,tabPosition:"used-by-pools",nameAttribute:"rule_name",itemDescription:"crush rule",reloadFn:()=>this.reloadCrushRules(),deleteFn:_=>this.crushRuleService.delete(_),taskName:"crushRule/delete"})}crushRuleIsUsedBy(_){this.crushUsage=_?this.info.used_rules[_]:void 0}ecpIsUsedBy(_){this.ecpUsage=_?this.info.used_profiles[_]:void 0}submit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _={pool:this.form.getValue("name")};this.assignFormFields(_,[{externalFieldName:"pool_type",formControlName:"poolType"},{externalFieldName:"pg_autoscale_mode",formControlName:"pgAutoscaleMode",editable:!0},{externalFieldName:"pg_num",formControlName:"pgNum",replaceFn:n=>"on"===this.form.getValue("pgAutoscaleMode")?1:n,editable:!0},this.isReplicated?{externalFieldName:"size",formControlName:"size"}:{externalFieldName:"erasure_code_profile",formControlName:"erasureProfile",attr:"name"},{externalFieldName:"rule_name",formControlName:"crushRule",replaceFn:n=>this.isReplicated?n&&n.rule_name:void 0},{externalFieldName:"quota_max_bytes",formControlName:"max_bytes",replaceFn:this.formatter.toBytes,editable:!0,resetValue:this.editing?0:void 0},{externalFieldName:"quota_max_objects",formControlName:"max_objects",editable:!0,resetValue:this.editing?0:void 0}]),this.info.is_all_bluestore&&(this.assignFormField(_,{externalFieldName:"flags",formControlName:"ecOverwrites",replaceFn:()=>this.isErasure?["ec_overwrites"]:void 0}),"none"!==this.form.getValue("mode")?this.assignFormFields(_,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:n=>this.hasCompressionEnabled()&&n},{externalFieldName:"compression_algorithm",formControlName:"algorithm",editable:!0},{externalFieldName:"compression_min_blob_size",formControlName:"minBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_max_blob_size",formControlName:"maxBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_required_ratio",formControlName:"ratio",editable:!0,resetValue:0}]):this.editing&&this.assignFormFields(_,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:()=>"unset"},{externalFieldName:"srcpool",formControlName:"name",editable:!0,replaceFn:()=>this.data.pool.pool_name}]));const o=this.data.applications.selected;(o.length>0||this.editing)&&(_.application_metadata=o),this.isReplicated&&!u().isEmpty(this.currentConfigurationValues)&&(_.configuration=this.currentConfigurationValues),this.triggerApiTask(_)}assignFormFields(_,o){o.forEach(n=>this.assignFormField(_,n))}assignFormField(_,{externalFieldName:o,formControlName:n,attr:s,replaceFn:c,editable:d,resetValue:P}){if(this.editing&&(!d||this.form.get(n).pristine))return;const p=this.form.getValue(n);let m=c?c(p):s?u().get(p,s):p;if(!p||!m){if(!d||u().isUndefined(P))return;m=P}_[o]=m}triggerApiTask(_){this.taskWrapper.wrapTaskAroundCall({task:new v.R("pool/"+(this.editing?M.MQ.EDIT:M.MQ.CREATE),{pool_name:_.hasOwnProperty("srcpool")?_.srcpool:_.pool}),call:this.poolService[this.editing?M.MQ.UPDATE:M.MQ.CREATE](_)}).subscribe({error:o=>{u().isObject(o.error)&&"34"===o.error.code&&this.form.get("pgNum").setErrors({34:!0}),this.form.setErrors({cdSubmitButton:!0})},complete:()=>this.router.navigate(["/pool"])})}appSelection(){this.form.get("name").updateValueAndValidity({emitEvent:!1,onlySelf:!0})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(C_.$),e.Y36(Oe.gz),e.Y36(Oe.F0),e.Y36(Ze.Z),e.Y36(ue.q),e.Y36(he.j),e.Y36(M_.H),e.Y36(de.P),e.Y36(Me),e.Y36(Ie.H),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-form"]],viewQuery:function(_,o){if(1&_&&(e.Gf(Zo,5),e.Gf(xo,5),e.Gf(yo,5),e.Gf(Uo,5)),2&_){let n;e.iGM(n=e.CRH())&&(o.crushInfoTabs=n.first),e.iGM(n=e.CRH())&&(o.crushDeletionBtn=n.first),e.iGM(n=e.CRH())&&(o.ecpInfoTabs=n.first),e.iGM(n=e.CRH())&&(o.ecpDeletionBtn=n.first)}},features:[e.qOj],decls:1,vars:1,consts:function(){let i,_,o,n,s,c,d,P,p,m,h,T,R,f,A,I,$,D,Z,x,y,U,q,H,G,z,X,w,Q,J,k,V,Y,B,j,K,N,W,ee,_e,oe,te,ie,ne,se,ae,le,re,ce,O,Xe,we,Qe,Je,ke,Ve,Ye,Be,je,Ke,We,e_,__,o_,t_,i_,n_,s_,a_,l_,r_,c_,O_;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",o="Name...",n="Pool type",s="-- Select a pool type --",c="Applications",d="Pools should be associated with an application tag",P="Quotas",p="Max bytes",m="Leave it blank or specify 0 to disable this quota.",h="A valid quota should be greater than 0.",T="e.g., 10GiB",R="Max objects",f="Leave it blank or specify 0 to disable this quota.",A="A valid quota should be greater than 0.",I="This field is required!",$="The chosen Ceph pool name is already in use.",D="It's not possible to create an RBD pool with '/' in the name. Please change the name or remove 'rbd' from the applications list.",Z="Pool name can only contain letters, numbers, '.', '-', '_' or '/'.",x="This field is required!",y="PG Autoscale",U="Placement groups",q="Calculation help",H="This field is required!",G="At least one placement group is needed!",z="Your cluster can't handle this many PGs. Please recalculate the PG amount needed.",X="The current PGs settings were calculated for you, you should make sure the values suit your needs before submit.",w="Replicated size",Q="Minimum: " + "\ufffd0\ufffd" + "",J="Maximum: " + "\ufffd0\ufffd" + "",k="The size specified is out of range. A value from " + "\ufffd0\ufffd" + " to " + "\ufffd1\ufffd" + " is usable.",V="A size of 1 will not create a replication of the object. The 'Replicated size' includes the object itself.",Y="Flags",B="EC Overwrites",j="CRUSH",K="Erasure code profile",N="This profile can't be deleted as it is in use.",W="Loading...",ee="-- No erasure code profile available --",_e="-- Select an erasure code profile --",oe="Profile",te="Used by pools",ie="Profile is not in use.",ne="Crush ruleset",se="A new crush ruleset will be implicitly created.",ae="Crush ruleset",le="There are no rules.",re="-- Select a crush rule --",ce="Placement and\n replication strategies or distribution policies that allow to\n specify how CRUSH places data replicas.",O="This rule can't be deleted as it is in use.",Xe="Crush rule",we="Crush steps",Qe="Used by pools",Je="Rule is not in use.",ke="This field is required!",Ve="The rule can't be used in the current cluster as it has too few OSDs to meet the minimum required OSD by this rule.",Ye="Compression",Be="Mode",je="Algorithm",Ke="Minimum blob size",We="e.g., 128KiB",e_="Maximum blob size",__="e.g., 512KiB",o_="Ratio",t_="Compression ratio",i_="Loading...",n_="-- No erasure compression algorithm available --",s_="Value should be greater than 0",a_="Value should be less than the maximum blob size",l_="Value should be greater than 0",r_="Value should be greater than the minimum blob size",c_="Value should be between 0.0 and 1.0",O_="The value should be greater or equal to 0",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],i,[1,"card-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label","required"],_,[1,"cd-col-form-input"],["id","name","name","name","type","text","placeholder",o,"formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","poolType",1,"cd-col-form-label","required"],n,["id","poolType","formControlName","poolType","name","poolType",1,"form-control","custom-select"],["ngValue",""],s,[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["for","applications",1,"cd-col-form-label"],c,["id","applications",3,"customBadges","customBadgeValidators","messages","data","options","selectionLimit","selection"],["title",d,3,"class",4,"ngIf"],["formGroupName","compression",4,"ngIf"],P,["for","max_bytes",1,"cd-col-form-label"],p,m,h,["id","max_bytes","name","max_bytes","type","text","formControlName","max_bytes","placeholder",T,"defaultUnit","GiB","cdDimlessBinary","",1,"form-control"],["for","max_objects",1,"cd-col-form-label"],R,f,A,["id","max_objects","min","0","name","max_objects","type","number","formControlName","max_objects",1,"form-control"],[3,"hidden"],[3,"form","initializeData","changes"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],I,$,D,Z,[3,"value"],x,["for","pgAutoscaleMode",1,"cd-col-form-label"],y,["id","pgAutoscaleMode","name","pgAutoscaleMode","formControlName","pgAutoscaleMode",1,"form-control","custom-select"],["class","form-group row",4,"ngIf"],["for","pgNum",1,"cd-col-form-label","required"],U,["id","pgNum","name","pgNum","formControlName","pgNum","min","1","type","number","required","",1,"form-control",3,"focus","blur"],[1,"form-text","text-muted"],["section","pgs","docText",q],["class","form-text text-muted",4,"ngIf"],H,G,z,X,["for","size",1,"cd-col-form-label","required"],w,["id","size","name","size","type","number","formControlName","size",1,"form-control",3,"max","min"],["class","text-warning-dark",4,"ngIf"],[1,"list-inline"],Q,J,k,[1,"text-warning-dark"],V,[1,"cd-col-form-label"],Y,[1,"custom-control","custom-checkbox"],["type","checkbox","id","ec-overwrites","formControlName","ecOverwrites",1,"custom-control-input"],["for","ec-overwrites",1,"custom-control-label"],B,["title",d],j,["for","erasureProfile",1,"cd-col-form-label"],K,[1,"input-group"],["id","erasureProfile","name","erasureProfile","formControlName","erasureProfile",1,"form-control","custom-select"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],[1,"input-group-append"],["id","ecp-info-button","type","button",1,"btn","btn-light",3,"ngClass","click"],["aria-hidden","true",3,"ngClass"],["class","btn btn-light","type","button",3,"click",4,"ngIf"],["class","btn btn-light","type","button","ngbTooltip",N,"triggers","manual",3,"click",4,"ngIf"],["class","form-text text-muted","id","ecp-info-block",4,"ngIf"],W,[3,"ngValue"],ee,_e,["type","button",1,"btn","btn-light",3,"click"],["type","button","ngbTooltip",N,"triggers","manual",1,"btn","btn-light",3,"click"],["ecpDeletionBtn","ngbTooltip"],["id","ecp-info-block",1,"form-text","text-muted"],["ngbNav","",1,"nav-tabs"],["ecpInfoTabs","ngbNav"],["ngbNavItem","ecp-info"],["ngbNavLink",""],oe,["ngbNavContent",""],["ngbNavItem","used-by-pools"],te,[3,"ngbNavOutlet"],[3,"renderObjects","hideKeys","data","autoReload"],["ecpIsNotUsed",""],[4,"ngIf","ngIfElse"],ie,[4,"ngFor","ngForOf"],["for","crushRule",1,"cd-col-form-label"],ne,se,ae,["noRules",""],le,["id","crushRule","formControlName","crushRule","name","crushSet",1,"form-control","custom-select"],re,["id","crush-info-button","type","button","ngbTooltip",ce,1,"btn","btn-light",3,"ngClass","click"],["class","btn btn-light","type","button","ngbTooltip",O,"triggers","manual",3,"click",4,"ngIf"],["class","form-text text-muted","id","crush-info-block",4,"ngIf"],["type","button","ngbTooltip",O,"triggers","manual",1,"btn","btn-light",3,"click"],["crushDeletionBtn","ngbTooltip"],["id","crush-info-block",1,"form-text","text-muted"],["crushInfoTabs","ngbNav"],["ngbNavItem","crush-rule-info"],Xe,["ngbNavItem","crush-rule-steps"],we,Qe,["ruleIsNotUsed",""],Je,ke,Ve,["formGroupName","compression"],Ye,["for","mode",1,"cd-col-form-label"],Be,["id","mode","name","mode","formControlName","mode",1,"form-control","custom-select"],["for","algorithm",1,"cd-col-form-label"],je,["id","algorithm","name","algorithm","formControlName","algorithm",1,"form-control","custom-select"],["for","minBlobSize",1,"cd-col-form-label"],Ke,["id","minBlobSize","name","minBlobSize","formControlName","minBlobSize","type","text","min","0","placeholder",We,"defaultUnit","KiB","cdDimlessBinary","",1,"form-control"],["for","maxBlobSize",1,"cd-col-form-label"],e_,["id","maxBlobSize","type","text","min","0","formControlName","maxBlobSize","placeholder",__,"defaultUnit","KiB","cdDimlessBinary","",1,"form-control"],["for","ratio",1,"cd-col-form-label"],o_,["id","ratio","name","ratio","formControlName","ratio","type","number","min","0","max","1","step","0.1","placeholder",t_,1,"form-control"],i_,n_,s_,a_,l_,r_,c_,O_]},template:function(_,o){1&_&&e.YNc(0,Yt,70,33,"div",0),2&_&&e.Q6J("cdFormLoading",o.loading)},directives:[bo.y,a._Y,a.JL,fe.V,a.sg,Pe.P,Ee.o,a.Fj,ge.b,a.JJ,a.u,pe.U,C.O5,a.EJ,a.YN,a.Kr,C.sg,vo.m,me.S,Io.Q,a.qQ,a.wV,$o.d,Re.p,a.Q7,Do.K,a.Fd,a.Wl,C.mk,g._L,g.Pz,g.nv,g.Vx,g.uN,g.tO,xe.b,a.x0],pipes:[C.rS,Ce.m],styles:[".icon-warning-color[_ngcontent-%COMP%]{margin-left:3px}"]}),t})();var Bt=r(19773),jt=r(49671),Kt=r(68136),Te=r(69158),Se=r(64337),L=r(99466),Wt=r(91801),ei=r(68774),_i=r(66369),qe=r(38047),Le=r(51847);class oi{constructor(i){this.pool_name=i}}var ti=r(64724);let ii=(()=>{class t{constructor(_,o,n){this.templateRef=_,this.viewContainer=o,this.authStorageService=n,this.cdScopeMatchAll=!0}set cdScope(_){this.permissions=this.authStorageService.getPermissions(),this.isAuthorized(_)?this.viewContainer.createEmbeddedView(this.templateRef):this.viewContainer.clear()}isAuthorized(_){const o=this.cdScopeMatchAll?u().every:u().some;return u().isString(_)?u().get(this.permissions,[_,"read"],!1):u().isArray(_)?o(_,n=>this.permissions[n].read):!!u().isObject(_)&&o(_,(n,s)=>o(n,c=>this.permissions[s][c]))}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(e.Rgc),e.Y36(e.s_b),e.Y36(he.j))},t.\u0275dir=e.lG2({type:t,selectors:[["","cdScope",""]],inputs:{cdScope:"cdScope",cdScopeMatchAll:"cdScopeMatchAll"}}),t})();var ni=r(94928),He=r(51295),si=r(59376),Ge=r(76317),ai=r(71752);function li(t,i){if(1&t&&e._UZ(0,"cd-table-key-value",12),2&t){const _=e.oxw(2);e.Q6J("renderObjects",!0)("data",_.poolDetails)("autoReload",!1)}}function ri(t,i){if(1&t&&e._UZ(0,"cd-grafana",15),2&t){const _=e.oxw(3);e.MGl("grafanaPath","ceph-pool-detail?var-pool_name=",_.selection.pool_name,"")}}function ci(t,i){1&t&&(e.TgZ(0,"li",13),e.TgZ(1,"a",5),e.SDv(2,14),e.qZA(),e.YNc(3,ri,1,1,"ng-template",7),e.qZA())}function Oi(t,i){if(1&t&&e._UZ(0,"cd-rbd-configuration-table",18),2&t){const _=e.oxw(3);e.Q6J("data",_.selectedPoolConfiguration)}}function di(t,i){1&t&&(e.TgZ(0,"li",16),e.TgZ(1,"a",5),e.SDv(2,17),e.qZA(),e.YNc(3,Oi,1,1,"ng-template",7),e.qZA())}function ui(t,i){if(1&t&&e._UZ(0,"cd-table",21),2&t){const _=e.oxw(3);e.Q6J("data",_.cacheTiers)("columns",_.cacheTierColumns)("autoSave",!1)}}function fi(t,i){1&t&&(e.TgZ(0,"li",19),e.TgZ(1,"a",5),e.SDv(2,20),e.qZA(),e.YNc(3,ui,1,3,"ng-template",7),e.qZA())}function Pi(t,i){if(1&t&&(e.ynx(0,1),e.TgZ(1,"ul",2,3),e.TgZ(3,"li",4),e.TgZ(4,"a",5),e.SDv(5,6),e.qZA(),e.YNc(6,li,1,3,"ng-template",7),e.qZA(),e.YNc(7,ci,4,0,"li",8),e.YNc(8,di,4,0,"li",9),e.YNc(9,fi,4,0,"li",10),e.qZA(),e._UZ(10,"div",11),e.BQk()),2&t){const _=e.MAs(2),o=e.oxw();e.xp6(7),e.Q6J("ngIf",o.permissions.grafana.read),e.xp6(1),e.Q6J("ngIf","replicated"===o.selection.type),e.xp6(1),e.Q6J("ngIf",(null==o.selection.tiers?null:o.selection.tiers.length)>0),e.xp6(1),e.Q6J("ngbNavOutlet",_)}}let Ei=(()=>{class t{constructor(_){this.poolService=_,this.cacheTierColumns=[],this.omittedPoolAttributes=["cdExecuting","cdIsBinary","stats"],this.cacheTierColumns=[{prop:"pool_name",name:"Name",flexGrow:3},{prop:"cache_mode",name:"Cache Mode",flexGrow:2},{prop:"cache_min_evict_age",name:"Min Evict Age",flexGrow:2},{prop:"cache_min_flush_age",name:"Min Flush Age",flexGrow:2},{prop:"target_max_bytes",name:"Target Max Bytes",flexGrow:2},{prop:"target_max_objects",name:"Target Max Objects",flexGrow:2}]}ngOnChanges(){this.selection&&(this.poolService.getConfiguration(this.selection.pool_name).subscribe(_=>{He.T.updateChanged(this,{selectedPoolConfiguration:_})}),He.T.updateChanged(this,{poolDetails:u().omit(this.selection,this.omittedPoolAttributes)}))}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ue.q))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-details"]],inputs:{cacheTiers:"cacheTiers",permissions:"permissions",selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let i,_,o,n;return i="Details",_="Performance Details",o="Configuration",n="Cache Tiers Details",[["cdTableDetail","",4,"ngIf"],["cdTableDetail",""],["ngbNav","","cdStatefulTab","pool-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],i,["ngbNavContent",""],["ngbNavItem","performance-details",4,"ngIf"],["ngbNavItem","configuration",4,"ngIf"],["ngbNavItem","cache-tiers-details",4,"ngIf"],[3,"ngbNavOutlet"],[3,"renderObjects","data","autoReload"],["ngbNavItem","performance-details"],_,["uid","-xyV8KCiz","grafanaStyle","three",3,"grafanaPath"],["ngbNavItem","configuration"],o,[3,"data"],["ngbNavItem","cache-tiers-details"],n,["columnMode","flex",3,"data","columns","autoSave"]]},template:function(_,o){1&_&&e.YNc(0,Pi,11,4,"ng-container",0),2&_&&e.Q6J("ngIf",o.selection)},directives:[C.O5,g.Pz,si.m,g.nv,g.Vx,g.uN,g.tO,xe.b,Ge.F,ai.P,Se.a],styles:[""],changeDetection:0}),t})();var gi=r(60251);const pi=["poolUsageTpl"],mi=["poolConfigurationSourceTpl"];function Ri(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table",9,10),e.NdJ("fetchData",function(){return e.CHM(_),e.oxw().taskListService.fetch()})("setExpandedRow",function(n){return e.CHM(_),e.oxw().setExpandedRow(n)})("updateSelection",function(n){return e.CHM(_),e.oxw().updateSelection(n)}),e._UZ(2,"cd-table-actions",11),e._UZ(3,"cd-pool-details",12),e.qZA()}if(2&t){const _=e.oxw();e.Q6J("data",_.pools)("columns",_.columns)("hasDetails",!0)("status",_.tableStatus)("autoReload",-1),e.xp6(2),e.Q6J("permission",_.permissions.pool)("selection",_.selection)("tableActions",_.tableActions),e.xp6(1),e.Q6J("selection",_.expandedRow)("permissions",_.permissions)("cacheTiers",_.cacheTiers)}}function Ci(t,i){1&t&&e._UZ(0,"cd-grafana",14),2&t&&e.Q6J("grafanaPath","ceph-pools-overview?")}function Mi(t,i){1&t&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,13),e.qZA(),e.YNc(3,Ci,1,1,"ng-template",5),e.qZA())}function hi(t,i){if(1&t&&e._UZ(0,"cd-usage-bar",16),2&t){const _=e.oxw().row;e.Q6J("total",_.stats.bytes_used.latest+_.stats.avail_raw.latest)("used",_.stats.bytes_used.latest)}}function Ti(t,i){if(1&t&&e.YNc(0,hi,1,2,"cd-usage-bar",15),2&t){const _=i.row;e.Q6J("ngIf",null==_.stats||null==_.stats.avail_raw?null:_.stats.avail_raw.latest)}}let Si=(()=>{class t extends Kt.o{constructor(_,o,n,s,c,d,P,p,m,h,T){super(),this.poolService=_,this.taskWrapper=o,this.ecpService=n,this.authStorageService=s,this.taskListService=c,this.modalService=d,this.pgCategoryService=P,this.dimlessPipe=p,this.urlBuilder=m,this.configurationService=h,this.actionLabels=T,this.selection=new ei.r,this.executingTasks=[],this.tableStatus=new Te.E,this.cacheTiers=[],this.monAllowPoolDelete=!1,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"create",icon:b.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:b.P.edit,routerLink:()=>this.urlBuilder.getEdit(encodeURIComponent(this.selection.first().pool_name)),name:this.actionLabels.EDIT},{permission:"delete",icon:b.P.destroy,click:()=>this.deletePoolModal(),name:this.actionLabels.DELETE,disable:this.getDisableDesc.bind(this)}],this.permissions.configOpt.read&&this.configurationService.get("mon_allow_pool_delete").subscribe(R=>{if(u().has(R,"value")){const f=u().find(R.value,A=>"mon"===A.section)||{value:!1};this.monAllowPoolDelete="true"===f.value}})}ngOnInit(){const _=(o,n,s)=>u().get(n,o)>u().get(s,o)?1:-1;this.columns=[{prop:"pool_name",name:"Name",flexGrow:4,cellTransformation:L.e.executing},{prop:"data_protection",name:"Data Protection",cellTransformation:L.e.badge,customTemplateConfig:{class:"badge-background-gray"},flexGrow:1.3},{prop:"application_metadata",name:"Applications",cellTransformation:L.e.badge,customTemplateConfig:{class:"badge-background-primary"},flexGrow:1.5},{prop:"pg_status",name:"PG Status",flexGrow:1.2,cellClass:({row:o,column:n,value:s})=>this.getPgStatusCellClass(o,n,s)},{prop:"crush_rule",name:"Crush Ruleset",isHidden:!0,flexGrow:2},{name:"Usage",prop:"usage",cellTemplate:this.poolUsageTpl,flexGrow:1.2},{prop:"stats.rd_bytes.rates",name:"Read bytes",comparator:(o,n,s,c)=>_("stats.rd_bytes.latest",s,c),cellTransformation:L.e.sparkline,flexGrow:1.5},{prop:"stats.wr_bytes.rates",name:"Write bytes",comparator:(o,n,s,c)=>_("stats.wr_bytes.latest",s,c),cellTransformation:L.e.sparkline,flexGrow:1.5},{prop:"stats.rd.rate",name:"Read ops",flexGrow:1,pipe:this.dimlessPipe,cellTransformation:L.e.perSecond},{prop:"stats.wr.rate",name:"Write ops",flexGrow:1,pipe:this.dimlessPipe,cellTransformation:L.e.perSecond}],this.taskListService.init(()=>this.ecpService.list().pipe((0,Bt.zg)(o=>(this.ecProfileList=o,this.poolService.getList()))),void 0,o=>{this.pools=this.transformPoolsData(o),this.tableStatus=new Te.E},()=>{this.table.reset(),this.tableStatus=new Te.E(Wt.T.ValueException)},o=>o.name.startsWith("pool/"),(o,n)=>n.metadata.pool_name===o.pool_name,{default:o=>new oi(o.pool_name)})}updateSelection(_){this.selection=_}deletePoolModal(){const _=this.selection.first().pool_name;this.modalService.show(Ne.M,{itemDescription:"Pool",itemNames:[_],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new v.R(`pool/${M.MQ.DELETE}`,{pool_name:_}),call:this.poolService.delete(_)})})}getPgStatusCellClass(_,o,n){return{"text-right":!0,[`pg-${this.pgCategoryService.getTypeByStates(n)}`]:!0}}getErasureCodeProfile(_){let o="";return u().forEach(this.ecProfileList,n=>{n.name===_&&(o=`EC: ${n.k}+${n.m}`)}),o}transformPoolsData(_){const o=["bytes_used","max_avail","avail_raw","percent_used","rd_bytes","wr_bytes","rd","wr"],n={latest:0,rate:0,rates:[]};return u().forEach(_,s=>{s.pg_status=this.transformPgStatus(s.pg_status);const c={};u().forEach(o,d=>{c[d]=s.stats&&s.stats[d]?s.stats[d]:n}),s.stats=c,s.usage=c.percent_used.latest,!s.cdExecuting&&s.pg_num+s.pg_placement_num!==s.pg_num_target+s.pg_placement_num_target&&(s.cdExecuting="Updating"),["rd_bytes","wr_bytes"].forEach(d=>{s.stats[d].rates=s.stats[d].rates.map(P=>P[1])}),s.cdIsBinary=!0,"erasure"===s.type&&(s.data_protection=this.getErasureCodeProfile(s.erasure_code_profile)),"replicated"===s.type&&(s.data_protection=`replica: \xd7${s.size}`)}),_}transformPgStatus(_){const o=[];return u().forEach(_,(n,s)=>{o.push(`${n} ${s}`)}),o.join(", ")}getSelectionTiers(){if(void 0!==this.expandedRow){const _=this.expandedRow.tiers;this.cacheTiers=this.pools.filter(o=>_.includes(o.pool))}}getDisableDesc(){var _;return!(null===(_=this.selection)||void 0===_?void 0:_.hasSelection)||!this.monAllowPoolDelete&&"Pool deletion is disabled by the mon_allow_pool_delete configuration setting."}setExpandedRow(_){super.setExpandedRow(_),this.getSelectionTiers()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ue.q),e.Y36(de.P),e.Y36(Me),e.Y36(he.j),e.Y36(qe.j),e.Y36(Ze.Z),e.Y36(jt.j),e.Y36(_i.n),e.Y36(Le.F),e.Y36(ti.e),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-list"]],viewQuery:function(_,o){if(1&_&&(e.Gf(Se.a,5),e.Gf(pi,7),e.Gf(mi,5)),2&_){let n;e.iGM(n=e.CRH())&&(o.table=n.first),e.iGM(n=e.CRH())&&(o.poolUsageTpl=n.first),e.iGM(n=e.CRH())&&(o.poolConfigurationSourceTpl=n.first)}},features:[e._Bn([qe.j,{provide:Le.F,useValue:new Le.F("pool")}]),e.qOj],decls:10,vars:2,consts:function(){let i,_;return i="Pools List",_="Overall Performance",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],i,["ngbNavContent",""],["ngbNavItem","",4,"cdScope"],[3,"ngbNavOutlet"],["poolUsageTpl",""],["id","pool-list","selectionType","single",3,"data","columns","hasDetails","status","autoReload","fetchData","setExpandedRow","updateSelection"],["table",""],["id","pool-list-actions",1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","","id","pool-list-details",3,"selection","permissions","cacheTiers"],_,["uid","z99hzWtmk","grafanaStyle","two",3,"grafanaPath"],["decimals","2",3,"total","used",4,"ngIf"],["decimals","2",3,"total","used"]]},template:function(_,o){if(1&_&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,Ri,4,11,"ng-template",5),e.qZA(),e.YNc(6,Mi,4,0,"li",6),e.qZA(),e._UZ(7,"div",7),e.YNc(8,Ti,1,1,"ng-template",null,8,e.W1O)),2&_){const n=e.MAs(1);e.xp6(6),e.Q6J("cdScope","grafana"),e.xp6(1),e.Q6J("ngbNavOutlet",n)}},directives:[g.Pz,g.nv,g.Vx,g.uN,ii,g.tO,Se.a,ni.K,Ei,Ge.F,C.O5,gi.O],styles:["cd-pool-list .pg-clean{color:#0b0} cd-pool-list .pg-working{color:#2b99a8} cd-pool-list .pg-warning{color:#ffc200} cd-pool-list .pg-unknown{color:#ef5c55}"]}),t})(),ze=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[[f_.t,C.ez,g.Oz,d_.m,Oe.Bz,a.UX,g.HK,u_.BlockModule]]}),t})();const Li=[{path:"",component:Si},{path:M.MQ.CREATE,component:Ue,data:{breadcrumbs:M.Qn.CREATE}},{path:`${M.MQ.EDIT}/:name`,component:Ue,data:{breadcrumbs:M.Qn.EDIT}}];let Ai=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[[ze,Oe.Bz.forChild(Li)]]}),t})()}}]);
\ No newline at end of file
--- /dev/null
+"use strict";(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[585],{24585:(Fi,Fe,r)=>{r.r(Fe),r.d(Fe,{PoolModule:()=>ze,RoutedPoolModule:()=>Ai});var C=r(12057),a=r(24751),Oe=r(6283),g=r(38549),M=r(79512),d_=r(44466),u_=r(91330),f_=r(370),P_=r(23815),u=r.n(P_),E_=r(80226),g_=r(26504),ue=r(80842);class S{constructor(){this.nodes=[],this.idTree={},this.allDevices=[],this.buckets=[],this.failureDomains={},this.failureDomainKeys=[],this.devices=[],this.deviceCount=0}static searchFailureDomains(i,_){return this.getFailureDomains(this.search(i,_))}static search(i,_){const[o,n]=_.split("~"),s=i.find(c=>["name","id","type"].some(d=>c[d]===o));return s?(i=this.getSubNodes(s,this.createIdTreeFromNodes(i)),n&&(i=this.filterNodesByDeviceType(i,n)),i):[]}static createIdTreeFromNodes(i){const _={};return i.forEach(o=>{_[o.id]=o}),_}static getSubNodes(i,_){let o=[i];return i.children&&i.children.forEach(n=>{o=o.concat(this.getSubNodes(_[n],_))}),o}static filterNodesByDeviceType(i,_){let n,o=i.filter(c=>c.device_class&&c.device_class!==_).map(c=>c.id),s=o;do{n=!1,i=i.filter(d=>!o.includes(d.id));const c=[];i.forEach(d=>{d.children&&d.children.every(P=>o.includes(P))&&(c.push(d.id),n=!0)}),n&&(o=c,s=s.concat(c))}while(n);return(i=u().cloneDeep(i)).map(c=>(c.children&&(c.children=c.children.filter(d=>!s.includes(d))),c))}static getFailureDomains(i){const _={};return i.forEach(o=>{const n=o.type;_[n]||(_[n]=[]),_[n].push(o)}),_}initCrushNodeSelection(i,_,o,n){this.nodes=i,this.idTree=S.createIdTreeFromNodes(i),i.forEach(s=>{this.idTree[s.id]=s}),this.buckets=u().sortBy(i.filter(s=>s.children),"name"),this.controls={root:_,failure:o,device:n},this.preSelectRoot(),this.controls.root.valueChanges.subscribe(()=>this.onRootChange()),this.controls.failure.valueChanges.subscribe(()=>this.onFailureDomainChange()),this.controls.device.valueChanges.subscribe(()=>this.onDeviceChange())}preSelectRoot(){const i=this.nodes.find(_=>"root"===_.type);this.silentSet(this.controls.root,i),this.onRootChange()}silentSet(i,_){i.setValue(_,{emitEvent:!1})}onRootChange(){const i=S.getSubNodes(this.controls.root.value,this.idTree),_=S.getFailureDomains(i);Object.keys(_).forEach(o=>{_[o].length<=1&&delete _[o]}),this.failureDomains=_,this.failureDomainKeys=Object.keys(_).sort(),this.updateFailureDomain()}updateFailureDomain(){let i=this.getIncludedCustomValue(this.controls.failure,Object.keys(this.failureDomains));""===i&&(i=this.setMostCommonDomain(this.controls.failure)),this.updateDevices(i)}getIncludedCustomValue(i,_){return i.dirty&&_.includes(i.value)?i.value:""}setMostCommonDomain(i){let _={n:0,type:""};return Object.keys(this.failureDomains).forEach(o=>{const n=this.failureDomains[o].length;_.n<n&&(_={n,type:o})}),this.silentSet(i,_.type),_.type}onFailureDomainChange(){this.updateDevices()}updateDevices(i=this.controls.failure.value){const _=u().flatten(this.failureDomains[i].map(n=>S.getSubNodes(n,this.idTree)));this.allDevices=_.filter(n=>n.device_class).map(n=>n.device_class),this.devices=u().uniq(this.allDevices).sort();const o=1===this.devices.length?this.devices[0]:this.getIncludedCustomValue(this.controls.device,this.devices);this.silentSet(this.controls.device,o),this.onDeviceChange(o)}onDeviceChange(i=this.controls.device.value){this.deviceCount=""===i?this.allDevices.length:this.allDevices.filter(_=>_===i).length}}var Ne=r(30982),p_=r(14745),b=r(65862),R_=r(93614),be=r(95463),E=r(77205),m_=r(30633),v=r(76111),C_=r(47557),M_=r(28211),de=r(32337),e=r(74788),ve=r(62862),Ie=r(83608),$e=r(60312),fe=r(41582),Pe=r(56310),Ee=r(87925),ge=r(94276),pe=r(82945),Re=r(18372),me=r(30839),Ce=r(10545);function h_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,31),e.qZA())}function T_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,32),e.qZA())}function S_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,33),e.qZA())}function L_(t,i){1&t&&(e.TgZ(0,"option",26),e.SDv(1,34),e.qZA())}function A_(t,i){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}function F_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,36),e.qZA())}function N_(t,i){1&t&&(e.TgZ(0,"option",26),e.SDv(1,37),e.qZA())}function b_(t,i){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=i.$implicit,o=e.oxw();e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function v_(t,i){1&t&&(e.TgZ(0,"span",30),e.SDv(1,38),e.qZA())}function I_(t,i){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}let $_=(()=>{class t extends S{constructor(_,o,n,s,c){super(),this.formBuilder=_,this.activeModal=o,this.taskWrapper=n,this.crushRuleService=s,this.actionLabels=c,this.submitAction=new e.vpe,this.tooltips=this.crushRuleService.formTooltips,this.action=this.actionLabels.CREATE,this.resource="Crush Rule",this.createForm()}createForm(){this.form=this.formBuilder.group({name:["",[a.kI.required,a.kI.pattern("[A-Za-z0-9_-]+"),E.h.custom("uniqueName",_=>this.names&&-1!==this.names.indexOf(_))]],root:null,failure_domain:"",device_class:""})}ngOnInit(){this.crushRuleService.getInfo().subscribe(({names:_,nodes:o})=>{this.initCrushNodeSelection(o,this.form.get("root"),this.form.get("failure_domain"),this.form.get("device_class")),this.names=_})}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _=u().cloneDeep(this.form.value);_.root=_.root.name,""===_.device_class&&delete _.device_class,this.taskWrapper.wrapTaskAroundCall({task:new v.R("crushRule/create",_),call:this.crushRuleService.create(_)}).subscribe({error:()=>{this.form.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close(),this.submitAction.emit(_)}})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ve.O),e.Y36(g.Kz),e.Y36(de.P),e.Y36(Ie.H),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-crush-rule-form-modal"]],outputs:{submitAction:"submitAction"},features:[e.qOj],decls:55,vars:27,consts:function(){let i,_,o,n,s,c,d,P,p,R,h,T,m;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",o="Root",n="Failure domain type",s="Device class",c="Let Ceph decide",d="This field is required!",P="The name can only consist of alphanumeric characters, dashes and underscores.",p="The chosen erasure code profile name is already in use.",R="Loading...",h="This field is required!",T="Loading...",m="This field is required!",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label"],_,[1,"required"],[1,"cd-col-form-input"],["type","text","id","name","name","name","placeholder","Name...","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","root",1,"cd-col-form-label"],o,[3,"html"],["id","root","name","root","formControlName","root",1,"form-control"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],["for","failure_domain",1,"cd-col-form-label"],n,["id","failure_domain","name","failure_domain","formControlName","failure_domain",1,"form-control"],["for","device_class",1,"cd-col-form-label"],s,["id","device_class","name","device_class","formControlName","device_class",1,"form-control"],["ngValue",""],c,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],d,P,p,R,[3,"ngValue"],h,T,m]},template:function(_,o){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.ynx(11),e.SDv(12,9),e.BQk(),e._UZ(13,"span",10),e.qZA(),e.TgZ(14,"div",11),e._UZ(15,"input",12),e.YNc(16,h_,2,0,"span",13),e.YNc(17,T_,2,0,"span",13),e.YNc(18,S_,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(19,"div",7),e.TgZ(20,"label",14),e.ynx(21),e.SDv(22,15),e.BQk(),e._UZ(23,"cd-helper",16),e._UZ(24,"span",10),e.qZA(),e.TgZ(25,"div",11),e.TgZ(26,"select",17),e.YNc(27,L_,2,0,"option",18),e.YNc(28,A_,2,2,"option",19),e.qZA(),e.YNc(29,F_,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(30,"div",7),e.TgZ(31,"label",20),e.ynx(32),e.SDv(33,21),e.BQk(),e._UZ(34,"cd-helper",16),e._UZ(35,"span",10),e.qZA(),e.TgZ(36,"div",11),e.TgZ(37,"select",22),e.YNc(38,N_,2,0,"option",18),e.YNc(39,b_,2,3,"option",19),e.qZA(),e.YNc(40,v_,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(41,"div",7),e.TgZ(42,"label",23),e.ynx(43),e.SDv(44,24),e.BQk(),e._UZ(45,"cd-helper",16),e.qZA(),e.TgZ(46,"div",11),e.TgZ(47,"select",25),e.TgZ(48,"option",26),e.SDv(49,27),e.qZA(),e.YNc(50,I_,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(51,"div",28),e.TgZ(52,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(53,"titlecase"),e.ALo(54,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const n=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,19,o.action))(e.lcZ(4,21,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.form),e.xp6(10),e.Q6J("ngIf",o.form.showError("name",n,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"pattern")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"uniqueName")),e.xp6(5),e.Q6J("html",o.tooltips.root),e.xp6(4),e.Q6J("ngIf",!o.buckets),e.xp6(1),e.Q6J("ngForOf",o.buckets),e.xp6(1),e.Q6J("ngIf",o.form.showError("root",n,"required")),e.xp6(5),e.Q6J("html",o.tooltips.failure_domain),e.xp6(4),e.Q6J("ngIf",!o.failureDomains),e.xp6(1),e.Q6J("ngForOf",o.failureDomainKeys),e.xp6(1),e.Q6J("ngIf",o.form.showError("failure_domain",n,"required")),e.xp6(5),e.Q6J("html",o.tooltips.device_class),e.xp6(5),e.Q6J("ngForOf",o.devices),e.xp6(2),e.Q6J("form",o.form)("submitText",e.lcZ(53,23,o.action)+" "+e.lcZ(54,25,o.resource))}},directives:[$e.z,a._Y,a.JL,fe.V,a.sg,Pe.P,Ee.o,a.Fj,ge.b,a.JJ,a.u,pe.U,C.O5,Re.S,a.EJ,C.sg,a.YN,a.Kr,me.p],pipes:[C.rS,Ce.m],styles:[""]}),t})();class D_{}var Z_=r(58497);let Me=(()=>{class t{constructor(_){this.http=_,this.apiPath="api/erasure_code_profile",this.formTooltips={k:"Each object is split in data-chunks parts, each stored on a different OSD.",m:"Compute coding chunks for each object and store them on different OSDs.\n The number of coding chunks is also the number of OSDs that can be down without losing data.",plugins:{jerasure:{description:"The jerasure plugin is the most generic and flexible plugin,\n it is also the default for Ceph erasure coded pools.",technique:"The more flexible technique is reed_sol_van : it is enough to set k\n and m. The cauchy_good technique can be faster but you need to chose the packetsize\n carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n in the sense that they can only be configured with m=2.",packetSize:"The encoding will be done on packets of bytes size at a time.\n Choosing the right packet size is difficult.\n The jerasure documentation contains extensive information on this topic."},lrc:{description:"With the jerasure plugin, when an erasure coded object is stored on\n multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n from the eleven others to repair.\n\n The lrc erasure code plugin creates local parity chunks to be able to recover using\n less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n recovered with only four OSDs instead of eleven.",l:"Group the coding and data chunks into sets of size locality. For instance,\n for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n be recovered without reading chunks from another set.",crushLocality:"The type of the crush bucket in which each set of chunks defined\n by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n placed in a different rack. It is used to create a CRUSH rule step such as step choose\n rack. If it is not set, no such grouping is done."},isa:{description:"The isa plugin encapsulates the ISA library. It only runs on Intel processors.",technique:"The ISA plugin comes in two Reed Solomon forms.\n If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy."},shec:{description:"The shec plugin encapsulates the multiple SHEC library.\n It allows ceph to recover data more efficiently than Reed Solomon codes.",c:"The number of parity chunks each of which includes each data chunk in its\n calculation range. The number is used as a durability estimator. For instance, if c=2,\n 2 OSDs can be down without losing data."},clay:{description:"CLAY (short for coupled-layer) codes are erasure codes designed to\n bring about significant savings in terms of network bandwidth and disk IO when a failed\n node/OSD/rack is being repaired.",d:"Number of OSDs requested to send data during recovery of a single chunk.\n d needs to be chosen such that k+1 <= d <= k+m-1. The larger the d, the better\n the savings.",scalar_mds:"scalar_mds specifies the plugin that is used as a building block\n in the layered construction. It can be one of jerasure, isa, shec.",technique:"technique specifies the technique that will be picked\n within the 'scalar_mds' plugin specified. Supported techniques\n are 'reed_sol_van', 'reed_sol_r6_op', 'cauchy_orig',\n 'cauchy_good', 'liber8tion' for jerasure, 'reed_sol_van',\n 'cauchy' for isa and 'single', 'multiple' for shec."}},crushRoot:"The name of the crush bucket used for the first step of the CRUSH rule.\n For instance step take default.",crushFailureDomain:"Ensure that no two chunks are in a bucket with the same failure\n domain. For instance, if the failure domain is host no two chunks will be stored on the same\n host. It is used to create a CRUSH rule step such as step chooseleaf host.",crushDeviceClass:"Restrict placement to devices of a specific class\n (e.g., ssd or hdd), using the crush device class names in the CRUSH map.",directory:"Set the directory name from which the erasure code plugin is loaded."}}list(){return this.http.get(this.apiPath)}create(_){return this.http.post(this.apiPath,_,{observe:"response"})}delete(_){return this.http.delete(`${this.apiPath}/${_}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return t.\u0275fac=function(_){return new(_||t)(e.LFG(Z_.eN))},t.\u0275prov=e.Yz7({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function x_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,47),e.qZA())}function y_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,48),e.qZA())}function U_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,49),e.qZA())}function q_(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,50),e.qZA())}function H_(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}function G_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,52),e.qZA())}function z_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,53),e.qZA())}function X_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,54),e.qZA())}function w_(t,i){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,55),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.deviceCount),e.QtT(1)}}function Q_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,56),e.qZA())}function J_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,57),e.qZA())}function k_(t,i){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,58),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.lrcMultiK),e.QtT(1)}}function V_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,59),e.qZA())}function Y_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,60),e.qZA())}function B_(t,i){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,61),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.deviceCount),e.QtT(1)}}function j_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,65),e.qZA())}function K_(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,66),e.qZA())}function W_(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",62),e.TgZ(2,"span",14),e.SDv(3,63),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",64),e.YNc(7,j_,2,0,"span",12),e.YNc(8,K_,2,0,"span",12),e.qZA(),e.qZA()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.shec.c),e.xp6(3),e.Q6J("ngIf",_.form.showError("c",o,"min")),e.xp6(1),e.Q6J("ngIf",_.form.showError("c",o,"cGreaterM"))}}function eo(t,i){1&t&&(e.TgZ(0,"span",39),e.SDv(1,75),e.qZA())}function _o(t,i){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,76),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.pQV(_.getDMin())(_.getDMax()),e.QtT(1)}}function oo(t,i){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,77),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.pQV(_.getDMax()),e.QtT(1)}}function to(t,i){if(1&t&&(e.ynx(0),e.YNc(1,_o,2,2,"span",23),e.YNc(2,oo,2,1,"span",23),e.BQk()),2&t){const _=e.oxw(2);e.xp6(1),e.Q6J("ngIf",_.getDMin()<_.getDMax()),e.xp6(1),e.Q6J("ngIf",_.getDMin()===_.getDMax())}}function io(t,i){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,78),e.qZA()),2&t){const _=e.oxw(2);e.xp6(1),e.pQV(_.getDMin()),e.QtT(1)}}function no(t,i){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,79),e.qZA()),2&t){const _=e.oxw(2);e.xp6(1),e.pQV(_.getDMax()),e.QtT(1)}}function so(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",67),e.TgZ(2,"span",14),e.SDv(3,68),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e.TgZ(6,"div",69),e._UZ(7,"input",70),e.TgZ(8,"span",71),e.TgZ(9,"button",72),e.NdJ("click",function(){return e.CHM(_),e.oxw().toggleDCalc()}),e._UZ(10,"i",73),e.qZA(),e.qZA(),e.qZA(),e.YNc(11,eo,2,0,"span",23),e.YNc(12,to,3,2,"ng-container",74),e.YNc(13,io,2,1,"span",12),e.YNc(14,no,2,1,"span",12),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.clay.d),e.xp6(6),e.Q6J("ngClass",_.dCalc?_.icons.unlock:_.icons.lock),e.xp6(1),e.Q6J("ngIf",_.dCalc),e.xp6(1),e.Q6J("ngIf",!_.dCalc),e.xp6(1),e.Q6J("ngIf",_.form.showError("d",o,"dMin")),e.xp6(1),e.Q6J("ngIf",_.form.showError("d",o,"dMax"))}}function ao(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,84),e.qZA())}function lo(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,85),e.qZA())}function ro(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,86),e.qZA())}function co(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",80),e.TgZ(2,"span",14),e.SDv(3,81),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",82),e.YNc(7,ao,2,0,"span",12),e.YNc(8,lo,2,0,"span",12),e.YNc(9,ro,2,0,"span",12),e.TgZ(10,"span",39),e.SDv(11,83),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.lrc.l),e.xp6(3),e.Q6J("ngIf",_.form.showError("l",o,"required")),e.xp6(1),e.Q6J("ngIf",_.form.showError("l",o,"min")),e.xp6(1),e.Q6J("ngIf",_.form.showError("l",o,"unequal")),e.xp6(2),e.pQV(_.lrcGroups),e.QtT(11)}}function Oo(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,87),e.qZA())}function uo(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit,o=e.oxw();e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function fo(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,91),e.qZA())}function Po(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,92),e.qZA())}function Eo(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit,o=e.oxw(2);e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function go(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",88),e.ynx(2),e.SDv(3,89),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e.TgZ(6,"select",90),e.YNc(7,fo,2,0,"option",18),e.YNc(8,Po,2,0,"option",18),e.YNc(9,Eo,2,3,"option",19),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins.lrc.crushLocality),e.xp6(3),e.Q6J("ngIf",!_.failureDomains),e.xp6(1),e.Q6J("ngIf",_.failureDomainKeys.length>0),e.xp6(1),e.Q6J("ngForOf",_.failureDomainKeys)}}function po(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}const De=function(t,i,_){return[t,i,_]};function Ro(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",93),e.ynx(2),e.SDv(3,94),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e.TgZ(6,"select",95),e.YNc(7,po,2,2,"option",19),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins.clay.scalar_mds),e.xp6(3),e.Q6J("ngForOf",e.kEZ(2,De,_.PLUGIN.JERASURE,_.PLUGIN.ISA,_.PLUGIN.SHEC))}}function mo(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}function Co(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",96),e.ynx(2),e.SDv(3,97),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e.TgZ(6,"select",98),e.YNc(7,mo,2,2,"option",19),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins[_.plugin].technique),e.xp6(3),e.Q6J("ngForOf",_.techniques)}}function Mo(t,i){1&t&&(e.TgZ(0,"span",46),e.SDv(1,102),e.qZA())}function ho(t,i){if(1&t&&(e.TgZ(0,"div",7),e.TgZ(1,"label",99),e.ynx(2),e.SDv(3,100),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",101),e.YNc(7,Mo,2,0,"span",12),e.qZA(),e.qZA()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.jerasure.packetSize),e.xp6(3),e.Q6J("ngIf",_.form.showError("packetSize",o,"min"))}}function To(t,i){1&t&&(e.TgZ(0,"option",37),e.SDv(1,103),e.qZA())}function So(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}function Lo(t,i){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}let Ao=(()=>{class t extends S{constructor(_,o,n,s,c){super(),this.formBuilder=_,this.activeModal=o,this.taskWrapper=n,this.ecpService=s,this.actionLabels=c,this.submitAction=new e.vpe,this.tooltips=this.ecpService.formTooltips,this.PLUGIN={LRC:"lrc",SHEC:"shec",CLAY:"clay",JERASURE:"jerasure",ISA:"isa"},this.plugin=this.PLUGIN.JERASURE,this.icons=b.P,this.action=this.actionLabels.CREATE,this.resource="EC Profile",this.createForm(),this.setJerasureDefaults()}createForm(){this.form=this.formBuilder.group({name:[null,[a.kI.required,a.kI.pattern("[A-Za-z0-9_-]+"),E.h.custom("uniqueName",_=>this.names&&-1!==this.names.indexOf(_))]],plugin:[this.PLUGIN.JERASURE,[a.kI.required]],k:[4,[a.kI.required,E.h.custom("max",()=>this.baseValueValidation(!0)),E.h.custom("unequal",_=>this.lrcDataValidation(_)),E.h.custom("kLowerM",_=>this.shecDataValidation(_))]],m:[2,[a.kI.required,E.h.custom("max",()=>this.baseValueValidation())]],crushFailureDomain:"",crushRoot:null,crushDeviceClass:"",directory:"",technique:"reed_sol_van",packetSize:[2048],l:[3,[a.kI.required,E.h.custom("unequal",_=>this.lrcLocalityValidation(_))]],crushLocality:"",c:[2,[a.kI.required,E.h.custom("cGreaterM",_=>this.shecDurabilityValidation(_))]],d:[5,[a.kI.required,E.h.custom("dMin",_=>this.dMinValidation(_)),E.h.custom("dMax",_=>this.dMaxValidation(_))]],scalar_mds:[this.PLUGIN.JERASURE,[a.kI.required]]}),this.toggleDCalc(),this.form.get("k").valueChanges.subscribe(()=>this.updateValidityOnChange(["m","l","d"])),this.form.get("m").valueChanges.subscribe(()=>this.updateValidityOnChange(["k","l","c","d"])),this.form.get("l").valueChanges.subscribe(()=>this.updateValidityOnChange(["k","m"])),this.form.get("plugin").valueChanges.subscribe(_=>this.onPluginChange(_)),this.form.get("scalar_mds").valueChanges.subscribe(()=>this.setClayDefaultsForScalar())}baseValueValidation(_=!1){return this.validValidation(()=>this.getKMSum()>this.deviceCount&&this.form.getValue("k")>this.form.getValue("m")===_)}validValidation(_,o){return!((!this.form||o)&&this.plugin!==o)&&_()}getKMSum(){return this.form.getValue("k")+this.form.getValue("m")}lrcDataValidation(_){return this.validValidation(()=>{const o=this.form.getValue("m"),n=this.form.getValue("l"),s=_+o;return this.lrcMultiK=_/(s/n),_%(s/n)!=0},"lrc")}shecDataValidation(_){return this.validValidation(()=>this.form.getValue("m")>_,"shec")}lrcLocalityValidation(_){return this.validValidation(()=>{const o=this.getKMSum();return this.lrcGroups=_>0?o/_:0,_>0&&o%_!=0},"lrc")}shecDurabilityValidation(_){return this.validValidation(()=>{const o=this.form.getValue("m");return _>o},"shec")}dMinValidation(_){return this.validValidation(()=>this.getDMin()>_,"clay")}getDMin(){return this.form.getValue("k")+1}dMaxValidation(_){return this.validValidation(()=>_>this.getDMax(),"clay")}getDMax(){const _=this.form.getValue("m");return this.form.getValue("k")+_-1}toggleDCalc(){this.dCalc=!this.dCalc,this.form.get("d")[this.dCalc?"disable":"enable"](),this.calculateD()}calculateD(){this.plugin!==this.PLUGIN.CLAY||!this.dCalc||this.form.silentSet("d",this.getDMax())}updateValidityOnChange(_){_.forEach(o=>{"d"===o&&this.calculateD(),this.form.get(o).updateValueAndValidity({emitEvent:!1})})}onPluginChange(_){this.plugin=_,_===this.PLUGIN.JERASURE?this.setJerasureDefaults():_===this.PLUGIN.LRC?this.setLrcDefaults():_===this.PLUGIN.ISA?this.setIsaDefaults():_===this.PLUGIN.SHEC?this.setShecDefaults():_===this.PLUGIN.CLAY&&this.setClayDefaults(),this.updateValidityOnChange(["m"])}setJerasureDefaults(){this.techniques=["reed_sol_van","reed_sol_r6_op","cauchy_orig","cauchy_good","liberation","blaum_roth","liber8tion"],this.setDefaults({k:4,m:2,technique:"reed_sol_van"})}setLrcDefaults(){this.setDefaults({k:4,m:2,l:3})}setIsaDefaults(){this.techniques=["reed_sol_van","cauchy"],this.setDefaults({k:7,m:3,technique:"reed_sol_van"})}setShecDefaults(){this.setDefaults({k:4,m:3,c:2})}setClayDefaults(){this.setDefaults({k:4,m:2,scalar_mds:this.PLUGIN.JERASURE}),this.setClayDefaultsForScalar()}setClayDefaultsForScalar(){const _=this.form.getValue("scalar_mds");let o="reed_sol_van";_===this.PLUGIN.JERASURE?this.techniques=["reed_sol_van","reed_sol_r6_op","cauchy_orig","cauchy_good","liber8tion"]:_===this.PLUGIN.ISA?this.techniques=["reed_sol_van","cauchy"]:(o="single",this.techniques=["single","multiple"]),this.setDefaults({technique:o})}setDefaults(_){Object.keys(_).forEach(o=>{const n=this.form.get(o),s=n.value;n.pristine||"technique"===o&&!this.techniques.includes(s)||"k"===o&&[4,7].includes(s)||"m"===o&&[2,3].includes(s)?n.setValue(_[o]):n.updateValueAndValidity()})}ngOnInit(){this.ecpService.getInfo().subscribe(({plugins:_,names:o,directory:n,nodes:s})=>{this.initCrushNodeSelection(s,this.form.get("crushRoot"),this.form.get("crushFailureDomain"),this.form.get("crushDeviceClass")),this.plugins=_,this.names=o,this.form.silentSet("directory",n),this.preValidateNumericInputFields()})}preValidateNumericInputFields(){const _=["k","m","l","c","d"].map(o=>this.form.get(o));_.forEach(o=>{o.markAsTouched(),o.markAsDirty()}),_[1].updateValueAndValidity()}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _=this.createJson();this.taskWrapper.wrapTaskAroundCall({task:new v.R("ecp/create",{name:_.name}),call:this.ecpService.create(_)}).subscribe({error:()=>{this.form.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close(),this.submitAction.emit(_)}})}createJson(){const _={technique:[this.PLUGIN.ISA,this.PLUGIN.JERASURE,this.PLUGIN.CLAY],packetSize:[this.PLUGIN.JERASURE],l:[this.PLUGIN.LRC],crushLocality:[this.PLUGIN.LRC],c:[this.PLUGIN.SHEC],d:[this.PLUGIN.CLAY],scalar_mds:[this.PLUGIN.CLAY]},o=new D_,n=this.form.getValue("plugin");return Object.keys(this.form.controls).filter(s=>{const c=_[s],d=this.form.getValue(s);return(c&&c.includes(n)||!c)&&d&&""!==d}).forEach(s=>{this.extendJson(s,o)}),o}extendJson(_,o){const s=this.form.getValue(_);o[{crushFailureDomain:"crush-failure-domain",crushRoot:"crush-root",crushDeviceClass:"crush-device-class",packetSize:"packetsize",crushLocality:"crush-locality"}[_]||_]="crushRoot"===_?s.name:s}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ve.O),e.Y36(g.Kz),e.Y36(de.P),e.Y36(Me),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-erasure-code-profile-form-modal"]],outputs:{submitAction:"submitAction"},features:[e.qOj],decls:98,vars:53,consts:function(){let i,_,o,n,s,c,d,P,p,R,h,T,m,f,A,I,$,D,Z,x,y,U,q,H,G,z,X,w,Q,J,k,V,Y,B,j,K,N,W,ee,_e,oe,te,ie,ne,se,ae,le,re,ce;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",o="Plugin",n="Data chunks (k)",s="Coding chunks (m)",c="Crush failure domain",d="Crush root",P="Crush device class",p="Let Ceph decide",R="Available OSDs: " + "\ufffd0\ufffd" + "",h="Directory",T="This field is required!",m="The name can only consist of alphanumeric characters, dashes and underscores.",f="The chosen erasure code profile name is already in use.",A="Loading...",I="This field is required!",$="This field is required!",D="Must be equal to or greater than 2.",Z="Chunks (k+m) have exceeded the available OSDs of " + "\ufffd0\ufffd" + ".",x="For an equal distribution k has to be a multiple of (k+m)/l.",y="K has to be equal to or greater than m in order to recover data correctly through c.",U="Distribution factor: " + "\ufffd0\ufffd" + "",q="This field is required!",H="Must be equal to or greater than 1.",G="Chunks (k+m) have exceeded the available OSDs of " + "\ufffd0\ufffd" + ".",z="Durability estimator (c)",X="Must be equal to or greater than 1.",w="C has to be equal to or lower than m as m defines the amount of chunks that can be used.",Q="Helper chunks (d)",J="Set d manually or use the plugin's default calculation that maximizes d.",k="D is automatically updated on k and m changes",V="D can be set from " + "\ufffd0\ufffd" + " to " + "\ufffd1\ufffd" + "",Y="D can only be set to " + "\ufffd0\ufffd" + "",B="D has to be greater than k (" + "\ufffd0\ufffd" + ").",j="D has to be lower than k + m (" + "\ufffd0\ufffd" + ").",K="Locality (l)",N="Locality groups: " + "\ufffd0\ufffd" + "",W="This field is required!",ee="Must be equal to or greater than 1.",_e="Can't split up chunks (k+m) correctly with the current locality.",oe="Loading...",te="Crush Locality",ie="Loading...",ne="None",se="Scalar mds",ae="Technique",le="Packetsize",re="Must be equal to or greater than 1.",ce="Loading...",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label"],_,[1,"cd-col-form-input"],["type","text","id","name","name","name","placeholder","Name...","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","plugin",1,"cd-col-form-label"],[1,"required"],o,[3,"html"],["id","plugin","name","plugin","formControlName","plugin",1,"form-control"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],["for","k",1,"cd-col-form-label"],n,["type","number","id","k","name","k","ng-model","$ctrl.erasureCodeProfile.k","placeholder","Data chunks...","formControlName","k","min","2",1,"form-control"],["class","form-text text-muted",4,"ngIf"],["for","m",1,"cd-col-form-label"],s,["type","number","id","m","name","m","placeholder","Coding chunks...","formControlName","m","min","1",1,"form-control"],["class","form-group row",4,"ngIf"],["for","crushFailureDomain",1,"cd-col-form-label"],c,["id","crushFailureDomain","name","crushFailureDomain","formControlName","crushFailureDomain",1,"form-control"],["for","crushRoot",1,"cd-col-form-label"],d,["id","crushRoot","name","crushRoot","formControlName","crushRoot",1,"form-control"],["for","crushDeviceClass",1,"cd-col-form-label"],P,["id","crushDeviceClass","name","crushDeviceClass","formControlName","crushDeviceClass",1,"form-control"],["ngValue",""],p,[1,"form-text","text-muted"],R,["for","directory",1,"cd-col-form-label"],h,["type","text","id","directory","name","directory","placeholder","Path...","formControlName","directory",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],T,m,f,A,[3,"ngValue"],I,$,D,Z,x,y,U,q,H,G,["for","c",1,"cd-col-form-label"],z,["type","number","id","c","name","c","placeholder","Coding chunks...","formControlName","c","min","1",1,"form-control"],X,w,["for","d",1,"cd-col-form-label"],Q,[1,"input-group"],["type","number","id","d","name","d","placeholder","Helper chunks...","formControlName","d",1,"form-control"],[1,"input-group-append"],["id","d-calc-btn","ngbTooltip",J,"type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],[4,"ngIf"],k,V,Y,B,j,["for","l",1,"cd-col-form-label"],K,["type","number","id","l","name","l","placeholder","Coding chunks...","formControlName","l","min","1",1,"form-control"],N,W,ee,_e,oe,["for","crushLocality",1,"cd-col-form-label"],te,["id","crushLocality","name","crushLocality","formControlName","crushLocality",1,"form-control"],ie,ne,["for","scalar_mds",1,"cd-col-form-label"],se,["id","scalar_mds","name","scalar_mds","formControlName","scalar_mds",1,"form-control"],["for","technique",1,"cd-col-form-label"],ae,["id","technique","name","technique","formControlName","technique",1,"form-control"],["for","packetSize",1,"cd-col-form-label"],le,["type","number","id","packetSize","name","packetSize","placeholder","Packetsize...","formControlName","packetSize","min","1",1,"form-control"],re,ce]},template:function(_,o){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.YNc(14,x_,2,0,"span",12),e.YNc(15,y_,2,0,"span",12),e.YNc(16,U_,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(17,"div",7),e.TgZ(18,"label",13),e.TgZ(19,"span",14),e.SDv(20,15),e.qZA(),e._UZ(21,"cd-helper",16),e.qZA(),e.TgZ(22,"div",10),e.TgZ(23,"select",17),e.YNc(24,q_,2,0,"option",18),e.YNc(25,H_,2,2,"option",19),e.qZA(),e.YNc(26,G_,2,0,"span",12),e.qZA(),e.qZA(),e.TgZ(27,"div",7),e.TgZ(28,"label",20),e.TgZ(29,"span",14),e.SDv(30,21),e.qZA(),e._UZ(31,"cd-helper",16),e.qZA(),e.TgZ(32,"div",10),e._UZ(33,"input",22),e.YNc(34,z_,2,0,"span",12),e.YNc(35,X_,2,0,"span",12),e.YNc(36,w_,2,1,"span",12),e.YNc(37,Q_,2,0,"span",12),e.YNc(38,J_,2,0,"span",12),e.YNc(39,k_,2,1,"span",23),e.qZA(),e.qZA(),e.TgZ(40,"div",7),e.TgZ(41,"label",24),e.TgZ(42,"span",14),e.SDv(43,25),e.qZA(),e._UZ(44,"cd-helper",16),e.qZA(),e.TgZ(45,"div",10),e._UZ(46,"input",26),e.YNc(47,V_,2,0,"span",12),e.YNc(48,Y_,2,0,"span",12),e.YNc(49,B_,2,1,"span",12),e.qZA(),e.qZA(),e.YNc(50,W_,9,3,"div",27),e.YNc(51,so,15,6,"div",27),e.YNc(52,co,12,5,"div",27),e.TgZ(53,"div",7),e.TgZ(54,"label",28),e.ynx(55),e.SDv(56,29),e.BQk(),e._UZ(57,"cd-helper",16),e.qZA(),e.TgZ(58,"div",10),e.TgZ(59,"select",30),e.YNc(60,Oo,2,0,"option",18),e.YNc(61,uo,2,3,"option",19),e.qZA(),e.qZA(),e.qZA(),e.YNc(62,go,10,4,"div",27),e.YNc(63,Ro,8,6,"div",27),e.YNc(64,Co,8,2,"div",27),e.YNc(65,ho,8,2,"div",27),e.TgZ(66,"div",7),e.TgZ(67,"label",31),e.ynx(68),e.SDv(69,32),e.BQk(),e._UZ(70,"cd-helper",16),e.qZA(),e.TgZ(71,"div",10),e.TgZ(72,"select",33),e.YNc(73,To,2,0,"option",18),e.YNc(74,So,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.TgZ(75,"div",7),e.TgZ(76,"label",34),e.ynx(77),e.SDv(78,35),e.BQk(),e._UZ(79,"cd-helper",16),e.qZA(),e.TgZ(80,"div",10),e.TgZ(81,"select",36),e.TgZ(82,"option",37),e.SDv(83,38),e.qZA(),e.YNc(84,Lo,2,2,"option",19),e.qZA(),e.TgZ(85,"span",39),e.SDv(86,40),e.qZA(),e.qZA(),e.qZA(),e.TgZ(87,"div",7),e.TgZ(88,"label",41),e.ynx(89),e.SDv(90,42),e.BQk(),e._UZ(91,"cd-helper",16),e.qZA(),e.TgZ(92,"div",10),e._UZ(93,"input",43),e.qZA(),e.qZA(),e.qZA(),e.TgZ(94,"div",44),e.TgZ(95,"cd-form-button-panel",45),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(96,"titlecase"),e.ALo(97,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&_){const n=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,41,o.action))(e.lcZ(4,43,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.form),e.xp6(8),e.Q6J("ngIf",o.form.showError("name",n,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"pattern")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"uniqueName")),e.xp6(5),e.Q6J("html",o.tooltips.plugins[o.plugin].description),e.xp6(3),e.Q6J("ngIf",!o.plugins),e.xp6(1),e.Q6J("ngForOf",o.plugins),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",n,"required")),e.xp6(5),e.Q6J("html",o.tooltips.k),e.xp6(3),e.Q6J("ngIf",o.form.showError("k",n,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",n,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",n,"max")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",n,"unequal")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",n,"kLowerM")),e.xp6(1),e.Q6J("ngIf","lrc"===o.plugin),e.xp6(5),e.Q6J("html",o.tooltips.m),e.xp6(3),e.Q6J("ngIf",o.form.showError("m",n,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("m",n,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("m",n,"max")),e.xp6(1),e.Q6J("ngIf","shec"===o.plugin),e.xp6(1),e.Q6J("ngIf","clay"===o.plugin),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.LRC),e.xp6(5),e.Q6J("html",o.tooltips.crushFailureDomain),e.xp6(3),e.Q6J("ngIf",!o.failureDomains),e.xp6(1),e.Q6J("ngForOf",o.failureDomainKeys),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.LRC),e.xp6(1),e.Q6J("ngIf",o.PLUGIN.CLAY===o.plugin),e.xp6(1),e.Q6J("ngIf",e.kEZ(49,De,o.PLUGIN.JERASURE,o.PLUGIN.ISA,o.PLUGIN.CLAY).includes(o.plugin)),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.JERASURE),e.xp6(5),e.Q6J("html",o.tooltips.crushRoot),e.xp6(3),e.Q6J("ngIf",!o.buckets),e.xp6(1),e.Q6J("ngForOf",o.buckets),e.xp6(5),e.Q6J("html",o.tooltips.crushDeviceClass),e.xp6(5),e.Q6J("ngForOf",o.devices),e.xp6(2),e.pQV(o.deviceCount),e.QtT(86),e.xp6(5),e.Q6J("html",o.tooltips.directory),e.xp6(4),e.Q6J("form",o.form)("submitText",e.lcZ(96,45,o.action)+" "+e.lcZ(97,47,o.resource))}},directives:[$e.z,a._Y,a.JL,fe.V,a.sg,Pe.P,Ee.o,a.Fj,ge.b,a.JJ,a.u,pe.U,C.O5,Re.S,a.EJ,C.sg,a.wV,a.qQ,a.YN,a.Kr,me.p,g._L,C.mk],pipes:[C.rS,Ce.m],styles:[""]}),t})();var Fo=r(7022);class No{constructor(){this.erasureInfo=!1,this.crushInfo=!1,this.pgs=1,this.poolTypes=["erasure","replicated"],this.applications={selected:[],default:["cephfs","rbd","rgw"],available:[],validators:[a.kI.pattern("[A-Za-z0-9_]+"),a.kI.maxLength(128)],messages:new Fo.a({empty:"No applications added",selectionLimit:{text:"Applications limit reached",tooltip:"A pool can only have up to four applications definitions."},customValidations:{pattern:"Allowed characters '_a-zA-Z0-9'",maxlength:"Maximum length is 128 characters"},filter:"Filter or add applications'",add:"Add application"})}}}var Ze=r(63285),he=r(74937),bo=r(63622),vo=r(60192),Io=r(17932),$o=r(54555),Do=r(30490),xe=r(61350);const Zo=["crushInfoTabs"],xo=["crushDeletionBtn"],yo=["ecpInfoTabs"],Uo=["ecpDeletionBtn"];function qo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,42),e.qZA())}function Ho(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,43),e.qZA())}function Go(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,44),e.qZA())}function zo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,45),e.qZA())}function Xo(t,i){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function wo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,47),e.qZA())}function Qo(t,i){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Jo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,58),e.qZA())}function ko(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,59),e.qZA())}function Vo(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,60),e.qZA())}function Yo(t,i){1&t&&(e.TgZ(0,"span",55),e.SDv(1,61),e.qZA())}function Bo(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",52),e.SDv(2,53),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"input",54),e.NdJ("focus",function(){return e.CHM(_),e.oxw(3).externalPgChange=!1})("blur",function(){return e.CHM(_),e.oxw(3).alignPgs()}),e.qZA(),e.YNc(5,Jo,2,0,"span",13),e.YNc(6,ko,2,0,"span",13),e.YNc(7,Vo,2,0,"span",13),e.TgZ(8,"span",55),e._UZ(9,"cd-doc",56),e.qZA(),e.YNc(10,Yo,2,0,"span",57),e.qZA(),e.qZA()}if(2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.form.showError("pgNum",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("pgNum",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("pgNum",_,"34")),e.xp6(3),e.Q6J("ngIf",o.externalPgChange)}}function jo(t,i){if(1&t&&(e.TgZ(0,"span",41),e.TgZ(1,"ul",66),e.TgZ(2,"li"),e.SDv(3,67),e.qZA(),e.TgZ(4,"li"),e.SDv(5,68),e.qZA(),e.qZA(),e.qZA()),2&t){const _=e.oxw(4);e.xp6(3),e.pQV(_.getMinSize()),e.QtT(3),e.xp6(2),e.pQV(_.getMaxSize()),e.QtT(5)}}function Ko(t,i){if(1&t&&(e.TgZ(0,"span",41),e.SDv(1,69),e.qZA()),2&t){const _=e.oxw(4);e.xp6(1),e.pQV(_.getMinSize())(_.getMaxSize()),e.QtT(1)}}function Wo(t,i){1&t&&(e.TgZ(0,"span",70),e.SDv(1,71),e.qZA())}function et(t,i){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",62),e.SDv(2,63),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",64),e.YNc(5,jo,6,2,"span",13),e.YNc(6,Ko,2,2,"span",13),e.YNc(7,Wo,2,0,"span",65),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(4),e.Q6J("max",o.getMaxSize())("min",o.getMinSize()),e.xp6(1),e.Q6J("ngIf",o.form.showError("size",_)),e.xp6(1),e.Q6J("ngIf",o.form.showError("size",_)),e.xp6(1),e.Q6J("ngIf",1===o.form.getValue("size"))}}function _t(t,i){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",72),e.SDv(2,73),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"div",74),e._UZ(5,"input",75),e.TgZ(6,"label",76),e.SDv(7,77),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function ot(t,i){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"div",8),e.TgZ(2,"label",48),e.SDv(3,49),e.qZA(),e.TgZ(4,"div",11),e.TgZ(5,"select",50),e.YNc(6,Qo,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.YNc(7,Bo,11,4,"div",51),e.YNc(8,et,8,5,"div",51),e.YNc(9,_t,8,0,"div",51),e.qZA()),2&t){const _=e.oxw(2);e.xp6(6),e.Q6J("ngForOf",_.pgAutoscaleModes),e.xp6(1),e.Q6J("ngIf","on"!==_.form.getValue("pgAutoscaleMode")),e.xp6(1),e.Q6J("ngIf",_.isReplicated),e.xp6(1),e.Q6J("ngIf",_.info.is_all_bluestore&&_.isErasure)}}function tt(t,i){if(1&t&&e._UZ(0,"i",78),2&t){const _=e.oxw(2);e.Gre("",_.icons.warning," icon-warning-color")}}function it(t,i){1&t&&(e.TgZ(0,"option",17),e.SDv(1,93),e.qZA())}function nt(t,i){1&t&&(e.TgZ(0,"option",94),e.SDv(1,95),e.qZA()),2&t&&e.Q6J("ngValue",null)}function st(t,i){1&t&&(e.TgZ(0,"option",94),e.SDv(1,96),e.qZA()),2&t&&e.Q6J("ngValue",null)}function at(t,i){if(1&t&&(e.TgZ(0,"option",94),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}const F=function(t){return[t]};function lt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"button",97),e.NdJ("click",function(){return e.CHM(_),e.oxw(4).addErasureCodeProfile()}),e._UZ(1,"i",89),e.qZA()}if(2&t){const _=e.oxw(4);e.xp6(1),e.Q6J("ngClass",e.VKq(1,F,_.icons.add))}}function rt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"button",98,99),e.NdJ("click",function(){return e.CHM(_),e.oxw(4).deleteErasureCodeProfile()}),e._UZ(2,"i",89),e.qZA()}if(2&t){const _=e.oxw(4);e.xp6(2),e.Q6J("ngClass",e.VKq(1,F,_.icons.trash))}}const ct=function(){return["name"]};function Ot(t,i){if(1&t&&e._UZ(0,"cd-table-key-value",110),2&t){const _=e.oxw(5);e.Q6J("renderObjects",!0)("hideKeys",e.DdM(4,ct))("data",_.form.getValue("erasureProfile"))("autoReload",!1)}}function dt(t,i){1&t&&(e.TgZ(0,"span"),e.SDv(1,113),e.qZA())}function ut(t,i){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.xp6(1),e.hij(" ",_," ")}}function ft(t,i){if(1&t&&(e.TgZ(0,"ul"),e.YNc(1,ut,2,1,"li",114),e.qZA()),2&t){const _=e.oxw(6);e.xp6(1),e.Q6J("ngForOf",_.ecpUsage)}}function Pt(t,i){if(1&t&&(e.YNc(0,dt,2,0,"ng-template",null,111,e.W1O),e.YNc(2,ft,2,1,"ul",112)),2&t){const _=e.MAs(1),o=e.oxw(5);e.xp6(2),e.Q6J("ngIf",o.ecpUsage)("ngIfElse",_)}}function Et(t,i){if(1&t&&(e.TgZ(0,"span",100),e.TgZ(1,"ul",101,102),e.TgZ(3,"li",103),e.TgZ(4,"a",104),e.SDv(5,105),e.qZA(),e.YNc(6,Ot,1,5,"ng-template",106),e.qZA(),e.TgZ(7,"li",107),e.TgZ(8,"a",104),e.SDv(9,108),e.qZA(),e.YNc(10,Pt,3,2,"ng-template",106),e.qZA(),e.qZA(),e._UZ(11,"div",109),e.qZA()),2&t){const _=e.MAs(2);e.xp6(11),e.Q6J("ngbNavOutlet",_)}}const ye=function(t){return{active:t}};function gt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",80),e.SDv(2,81),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"div",82),e.TgZ(5,"select",83),e.YNc(6,it,2,0,"option",84),e.YNc(7,nt,2,1,"option",85),e.YNc(8,st,2,1,"option",85),e.YNc(9,at,2,2,"option",86),e.qZA(),e.TgZ(10,"span",87),e.TgZ(11,"button",88),e.NdJ("click",function(){e.CHM(_);const n=e.oxw(3);return n.data.erasureInfo=!n.data.erasureInfo}),e._UZ(12,"i",89),e.qZA(),e.YNc(13,lt,2,3,"button",90),e.YNc(14,rt,3,3,"button",91),e.qZA(),e.qZA(),e.YNc(15,Et,12,1,"span",92),e.qZA(),e.qZA()}if(2&t){const _=e.oxw(3);e.xp6(6),e.Q6J("ngIf",!_.ecProfiles),e.xp6(1),e.Q6J("ngIf",_.ecProfiles&&0===_.ecProfiles.length),e.xp6(1),e.Q6J("ngIf",_.ecProfiles&&_.ecProfiles.length>0),e.xp6(1),e.Q6J("ngForOf",_.ecProfiles),e.xp6(2),e.Q6J("ngClass",e.VKq(9,ye,_.data.erasureInfo)),e.xp6(1),e.Q6J("ngClass",e.VKq(11,F,_.icons.questionCircle)),e.xp6(1),e.Q6J("ngIf",!_.editing),e.xp6(1),e.Q6J("ngIf",!_.editing),e.xp6(1),e.Q6J("ngIf",_.data.erasureInfo&&_.form.getValue("erasureProfile"))}}function pt(t,i){1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",115),e.SDv(2,116),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"span",55),e.SDv(5,117),e.qZA(),e.qZA(),e.qZA())}function Rt(t,i){1&t&&(e.TgZ(0,"span",55),e.TgZ(1,"span"),e.SDv(2,120),e.qZA(),e._uU(3,"\xa0 "),e.qZA())}function mt(t,i){if(1&t&&(e.TgZ(0,"option",94),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.rule_name," ")}}function Ct(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"button",97),e.NdJ("click",function(){return e.CHM(_),e.oxw(5).addCrushRule()}),e._UZ(1,"i",89),e.qZA()}if(2&t){const _=e.oxw(5);e.xp6(1),e.Q6J("ngClass",e.VKq(1,F,_.icons.add))}}function Mt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"button",126,127),e.NdJ("click",function(){return e.CHM(_),e.oxw(5).deleteCrushRule()}),e._UZ(2,"i",89),e.qZA()}if(2&t){const _=e.oxw(5);e.xp6(2),e.Q6J("ngClass",e.VKq(1,F,_.icons.trash))}}const ht=function(){return["steps","type","rule_name"]};function Tt(t,i){if(1&t&&e._UZ(0,"cd-table-key-value",110),2&t){const _=e.oxw(6);e.Q6J("renderObjects",!1)("hideKeys",e.DdM(4,ht))("data",_.form.getValue("crushRule"))("autoReload",!1)}}function St(t,i){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=i.$implicit,o=e.oxw(7);e.xp6(1),e.hij(" ",o.describeCrushStep(_)," ")}}function Lt(t,i){if(1&t&&(e.TgZ(0,"ol"),e.YNc(1,St,2,1,"li",114),e.qZA()),2&t){const _=e.oxw(6);e.xp6(1),e.Q6J("ngForOf",_.form.get("crushRule").value.steps)}}function At(t,i){1&t&&(e.TgZ(0,"span"),e.SDv(1,136),e.qZA())}function Ft(t,i){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.xp6(1),e.hij(" ",_," ")}}function Nt(t,i){if(1&t&&(e.TgZ(0,"ul"),e.YNc(1,Ft,2,1,"li",114),e.qZA()),2&t){const _=e.oxw(7);e.xp6(1),e.Q6J("ngForOf",_.crushUsage)}}function bt(t,i){if(1&t&&(e.YNc(0,At,2,0,"ng-template",null,135,e.W1O),e.YNc(2,Nt,2,1,"ul",112)),2&t){const _=e.MAs(1),o=e.oxw(6);e.xp6(2),e.Q6J("ngIf",o.crushUsage)("ngIfElse",_)}}function vt(t,i){if(1&t&&(e.TgZ(0,"div",128),e.TgZ(1,"ul",101,129),e.TgZ(3,"li",130),e.TgZ(4,"a",104),e.SDv(5,131),e.qZA(),e.YNc(6,Tt,1,5,"ng-template",106),e.qZA(),e.TgZ(7,"li",132),e.TgZ(8,"a",104),e.SDv(9,133),e.qZA(),e.YNc(10,Lt,2,1,"ng-template",106),e.qZA(),e.TgZ(11,"li",107),e.TgZ(12,"a",104),e.SDv(13,134),e.qZA(),e.YNc(14,bt,3,2,"ng-template",106),e.qZA(),e.qZA(),e._UZ(15,"div",109),e.qZA()),2&t){const _=e.MAs(2);e.xp6(15),e.Q6J("ngbNavOutlet",_)}}function It(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,137),e.qZA())}function $t(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,138),e.qZA())}function Dt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"div",82),e.TgZ(2,"select",121),e.TgZ(3,"option",94),e.SDv(4,122),e.qZA(),e.YNc(5,mt,2,2,"option",86),e.qZA(),e.TgZ(6,"span",87),e.TgZ(7,"button",123),e.NdJ("click",function(){e.CHM(_);const n=e.oxw(4);return n.data.crushInfo=!n.data.crushInfo}),e._UZ(8,"i",89),e.qZA(),e.YNc(9,Ct,2,3,"button",90),e.YNc(10,Mt,3,3,"button",124),e.qZA(),e.qZA(),e.YNc(11,vt,16,1,"div",125),e.YNc(12,It,2,0,"span",13),e.YNc(13,$t,2,0,"span",13),e.qZA()}if(2&t){e.oxw(3);const _=e.MAs(2),o=e.oxw();e.xp6(3),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",o.current.rules),e.xp6(2),e.Q6J("ngClass",e.VKq(9,ye,o.data.crushInfo)),e.xp6(1),e.Q6J("ngClass",e.VKq(11,F,o.icons.questionCircle)),e.xp6(1),e.Q6J("ngIf",o.isReplicated&&!o.editing),e.xp6(1),e.Q6J("ngIf",o.isReplicated&&!o.editing),e.xp6(1),e.Q6J("ngIf",o.data.crushInfo&&o.form.getValue("crushRule")),e.xp6(1),e.Q6J("ngIf",o.form.showError("crushRule",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("crushRule",_,"tooFewOsds"))}}function Zt(t,i){if(1&t&&(e.TgZ(0,"div",8),e.TgZ(1,"label",115),e.SDv(2,118),e.qZA(),e.TgZ(3,"div",11),e.YNc(4,Rt,4,0,"ng-template",null,119,e.W1O),e.YNc(6,Dt,14,13,"div",112),e.qZA(),e.qZA()),2&t){const _=e.MAs(5),o=e.oxw(3);e.xp6(6),e.Q6J("ngIf",o.current.rules.length>0)("ngIfElse",_)}}function xt(t,i){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"legend"),e.SDv(2,79),e.qZA(),e.YNc(3,gt,16,13,"div",51),e.YNc(4,pt,6,0,"div",51),e.YNc(5,Zt,7,2,"div",51),e.qZA()),2&t){const _=e.oxw(2);e.xp6(3),e.Q6J("ngIf",_.isErasure),e.xp6(1),e.Q6J("ngIf",_.isErasure&&!_.editing),e.xp6(1),e.Q6J("ngIf",_.isReplicated||_.editing)}}function yt(t,i){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Ut(t,i){1&t&&(e.TgZ(0,"option",17),e.SDv(1,156),e.qZA())}function qt(t,i){1&t&&(e.TgZ(0,"option",17),e.SDv(1,157),e.qZA())}function Ht(t,i){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=i.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Gt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,158),e.qZA())}function zt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,159),e.qZA())}function Xt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,160),e.qZA())}function wt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,161),e.qZA())}function Qt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,162),e.qZA())}function Jt(t,i){if(1&t&&(e.TgZ(0,"div"),e.TgZ(1,"div",8),e.TgZ(2,"label",144),e.SDv(3,145),e.qZA(),e.TgZ(4,"div",11),e.TgZ(5,"select",146),e.YNc(6,Ut,2,0,"option",84),e.YNc(7,qt,2,0,"option",84),e.YNc(8,Ht,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.TgZ(9,"div",8),e.TgZ(10,"label",147),e.SDv(11,148),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",149),e.YNc(14,Gt,2,0,"span",13),e.YNc(15,zt,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(16,"div",8),e.TgZ(17,"label",150),e.SDv(18,151),e.qZA(),e.TgZ(19,"div",11),e._UZ(20,"input",152),e.YNc(21,Xt,2,0,"span",13),e.YNc(22,wt,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(23,"div",8),e.TgZ(24,"label",153),e.SDv(25,154),e.qZA(),e.TgZ(26,"div",11),e._UZ(27,"input",155),e.YNc(28,Qt,2,0,"span",13),e.qZA(),e.qZA(),e.qZA()),2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(6),e.Q6J("ngIf",!o.info.compression_algorithms),e.xp6(1),e.Q6J("ngIf",o.info.compression_algorithms&&0===o.info.compression_algorithms.length),e.xp6(1),e.Q6J("ngForOf",o.info.compression_algorithms),e.xp6(6),e.Q6J("ngIf",o.form.showError("minBlobSize",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("minBlobSize",_,"maximum")),e.xp6(6),e.Q6J("ngIf",o.form.showError("maxBlobSize",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("maxBlobSize",_,"minimum")),e.xp6(6),e.Q6J("ngIf",o.form.showError("ratio",_,"min")||o.form.showError("ratio",_,"max"))}}function kt(t,i){if(1&t&&(e.TgZ(0,"div",139),e.TgZ(1,"legend"),e.SDv(2,140),e.qZA(),e.TgZ(3,"div",8),e.TgZ(4,"label",141),e.SDv(5,142),e.qZA(),e.TgZ(6,"div",11),e.TgZ(7,"select",143),e.YNc(8,yt,2,2,"option",19),e.qZA(),e.qZA(),e.qZA(),e.YNc(9,Jt,29,8,"div",20),e.qZA()),2&t){const _=e.oxw(2);e.xp6(8),e.Q6J("ngForOf",_.info.compression_modes),e.xp6(1),e.Q6J("ngIf",_.hasCompressionEnabled())}}function Vt(t,i){1&t&&(e.TgZ(0,"span",41),e.SDv(1,163),e.qZA())}function Yt(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",12),e.YNc(14,qo,2,0,"span",13),e.YNc(15,Ho,2,0,"span",13),e.YNc(16,Go,2,0,"span",13),e.YNc(17,zo,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(18,"div",8),e.TgZ(19,"label",14),e.SDv(20,15),e.qZA(),e.TgZ(21,"div",11),e.TgZ(22,"select",16),e.TgZ(23,"option",17),e.SDv(24,18),e.qZA(),e.YNc(25,Xo,2,2,"option",19),e.qZA(),e.YNc(26,wo,2,0,"span",13),e.qZA(),e.qZA(),e.YNc(27,ot,10,4,"div",20),e.TgZ(28,"div",8),e.TgZ(29,"label",21),e.SDv(30,22),e.qZA(),e.TgZ(31,"div",11),e.TgZ(32,"cd-select-badges",23),e.NdJ("selection",function(){return e.CHM(_),e.oxw().appSelection()}),e.qZA(),e.YNc(33,tt,1,3,"i",24),e.qZA(),e.qZA(),e.YNc(34,xt,6,3,"div",20),e.YNc(35,kt,10,2,"div",25),e.TgZ(36,"div"),e.TgZ(37,"legend"),e.SDv(38,26),e.qZA(),e.TgZ(39,"div",8),e.TgZ(40,"label",27),e.ynx(41),e.SDv(42,28),e.BQk(),e.TgZ(43,"cd-helper"),e.TgZ(44,"span"),e.SDv(45,29),e.qZA(),e._UZ(46,"br"),e.TgZ(47,"span"),e.SDv(48,30),e.qZA(),e.qZA(),e.qZA(),e.TgZ(49,"div",11),e._UZ(50,"input",31),e.qZA(),e.qZA(),e.TgZ(51,"div",8),e.TgZ(52,"label",32),e.ynx(53),e.SDv(54,33),e.BQk(),e.TgZ(55,"cd-helper"),e.TgZ(56,"span"),e.SDv(57,34),e.qZA(),e._UZ(58,"br"),e.TgZ(59,"span"),e.SDv(60,35),e.qZA(),e.qZA(),e.qZA(),e.TgZ(61,"div",11),e._UZ(62,"input",36),e.YNc(63,Vt,2,0,"span",13),e.qZA(),e.qZA(),e.qZA(),e.TgZ(64,"div",37),e.TgZ(65,"cd-rbd-configuration-form",38),e.NdJ("changes",function(n){return e.CHM(_),e.oxw().currentConfigurationValues=n()}),e.qZA(),e.qZA(),e.qZA(),e.TgZ(66,"div",39),e.TgZ(67,"cd-form-button-panel",40),e.NdJ("submitActionEvent",function(){return e.CHM(_),e.oxw().submit()}),e.ALo(68,"titlecase"),e.ALo(69,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&t){const _=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.form),e.xp6(6),e.pQV(e.lcZ(6,25,o.action))(e.lcZ(7,27,o.resource)),e.QtT(5),e.xp6(7),e.Q6J("ngIf",o.form.showError("name",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"uniqueName")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"rbdPool")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"pattern")),e.xp6(8),e.Q6J("ngForOf",o.data.poolTypes),e.xp6(1),e.Q6J("ngIf",o.form.showError("poolType",_,"required")),e.xp6(1),e.Q6J("ngIf",o.isReplicated||o.isErasure),e.xp6(5),e.Q6J("customBadges",!0)("customBadgeValidators",o.data.applications.validators)("messages",o.data.applications.messages)("data",o.data.applications.selected)("options",o.data.applications.available)("selectionLimit",4),e.xp6(1),e.Q6J("ngIf",o.data.applications.selected<=0),e.xp6(1),e.Q6J("ngIf",o.isErasure||o.isReplicated),e.xp6(1),e.Q6J("ngIf",o.info.is_all_bluestore),e.xp6(28),e.Q6J("ngIf",o.form.showError("max_objects",_,"min")),e.xp6(1),e.Q6J("hidden",o.isErasure||-1===o.data.applications.selected.indexOf("rbd")),e.xp6(1),e.Q6J("form",o.form)("initializeData",o.initializeConfigData),e.xp6(2),e.Q6J("form",o.form)("submitText",e.lcZ(68,29,o.action)+" "+e.lcZ(69,31,o.resource))}}let Ue=(()=>{class t extends R_.E{constructor(_,o,n,s,c,d,P,p,R,h,T){super(),this.dimlessBinaryPipe=_,this.route=o,this.router=n,this.modalService=s,this.poolService=c,this.authStorageService=d,this.formatter=P,this.taskWrapper=p,this.ecpService=R,this.crushRuleService=h,this.actionLabels=T,this.editing=!1,this.isReplicated=!1,this.isErasure=!1,this.data=new No,this.externalPgChange=!1,this.current={rules:[]},this.initializeConfigData=new E_.t(1),this.currentConfigurationValues={},this.icons=b.P,this.crushUsage=void 0,this.ecpUsage=void 0,this.crushRuleMaxSize=10,this.editing=this.router.url.startsWith(`/pool/${M.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource="pool",this.authenticate(),this.createForm()}authenticate(){if(this.permission=this.authStorageService.getPermissions().pool,!this.permission.read||!this.permission.update&&this.editing||!this.permission.create&&!this.editing)throw new g_._2}createForm(){const _=new be.d({mode:new a.NI("none"),algorithm:new a.NI(""),minBlobSize:new a.NI("",{updateOn:"blur"}),maxBlobSize:new a.NI("",{updateOn:"blur"}),ratio:new a.NI("",{updateOn:"blur"})});this.form=new be.d({name:new a.NI("",{validators:[a.kI.pattern(/^[.A-Za-z0-9_/-]+$/),a.kI.required,E.h.custom("rbdPool",()=>this.form&&this.form.getValue("name").includes("/")&&this.data&&-1!==this.data.applications.selected.indexOf("rbd"))]}),poolType:new a.NI("",{validators:[a.kI.required]}),crushRule:new a.NI(null,{validators:[E.h.custom("tooFewOsds",o=>this.info&&o&&this.info.osd_count<1),E.h.custom("required",o=>this.isReplicated&&this.info.crush_rules_replicated.length>0&&!o)]}),size:new a.NI("",{updateOn:"blur"}),erasureProfile:new a.NI(null),pgNum:new a.NI("",{validators:[a.kI.required]}),pgAutoscaleMode:new a.NI(null),ecOverwrites:new a.NI(!1),compression:_,max_bytes:new a.NI(""),max_objects:new a.NI(0)},[E.h.custom("form",()=>null)])}ngOnInit(){this.poolService.getInfo().subscribe(_=>{this.initInfo(_),this.editing?this.initEditMode():(this.setAvailableApps(),this.loadingReady()),this.listenToChanges(),this.setComplexValidators()})}initInfo(_){this.pgAutoscaleModes=_.pg_autoscale_modes,this.form.silentSet("pgAutoscaleMode",_.pg_autoscale_default_mode),this.form.silentSet("algorithm",_.bluestore_compression_algorithm),this.info=_,this.initEcp(_.erasure_code_profiles)}initEcp(_){this.setListControlStatus("erasureProfile",_),this.ecProfiles=_}setListControlStatus(_,o){const n=this.form.get(_),s=n.value;1!==o.length||s&&u().isEqual(s,o[0])?0===o.length&&s&&n.setValue(null):n.setValue(o[0]),o.length<=1?n.enabled&&n.disable():n.disabled&&n.enable()}initEditMode(){this.disableForEdit(),this.routeParamsSubscribe=this.route.params.subscribe(_=>this.poolService.get(_.name).subscribe(o=>{this.data.pool=o,this.initEditFormData(o),this.loadingReady()}))}disableForEdit(){["poolType","crushRule","size","erasureProfile","ecOverwrites"].forEach(_=>this.form.get(_).disable())}initEditFormData(_){this.initializeConfigData.next({initialData:_.configuration,sourceType:m_.h.pool}),this.poolTypeChange(_.type);const o=this.info.crush_rules_replicated.concat(this.info.crush_rules_erasure),n={name:_.pool_name,poolType:_.type,crushRule:o.find(s=>s.rule_name===_.crush_rule),size:_.size,erasureProfile:this.ecProfiles.find(s=>s.name===_.erasure_code_profile),pgAutoscaleMode:_.pg_autoscale_mode,pgNum:_.pg_num,ecOverwrites:_.flags_names.includes("ec_overwrites"),mode:_.options.compression_mode,algorithm:_.options.compression_algorithm,minBlobSize:this.dimlessBinaryPipe.transform(_.options.compression_min_blob_size),maxBlobSize:this.dimlessBinaryPipe.transform(_.options.compression_max_blob_size),ratio:_.options.compression_required_ratio,max_bytes:this.dimlessBinaryPipe.transform(_.quota_max_bytes),max_objects:_.quota_max_objects};Object.keys(n).forEach(s=>{const c=n[s];!u().isUndefined(c)&&""!==c&&this.form.silentSet(s,c)}),this.data.pgs=this.form.getValue("pgNum"),this.setAvailableApps(this.data.applications.default.concat(_.application_metadata)),this.data.applications.selected=_.application_metadata}setAvailableApps(_=this.data.applications.default){this.data.applications.available=u().uniq(_.sort()).map(o=>new p_.$(!1,o,""))}listenToChanges(){this.listenToChangesDuringAddEdit(),this.editing||this.listenToChangesDuringAdd()}listenToChangesDuringAddEdit(){this.form.get("pgNum").valueChanges.subscribe(_=>{const o=_-this.data.pgs;1===Math.abs(o)&&2!==_?this.doPgPowerJump(o):this.data.pgs=_})}doPgPowerJump(_){const o=this.calculatePgPower()+_;this.setPgs(-1===_?Math.round(o):Math.floor(o))}calculatePgPower(_=this.form.getValue("pgNum")){return Math.log(_)/Math.log(2)}setPgs(_){const o=Math.pow(2,_<0?0:_);this.data.pgs=o,this.form.silentSet("pgNum",o)}listenToChangesDuringAdd(){this.form.get("poolType").valueChanges.subscribe(_=>{this.poolTypeChange(_)}),this.form.get("crushRule").valueChanges.subscribe(_=>{this.crushDeletionBtn&&this.crushDeletionBtn.isOpen()&&this.crushDeletionBtn.close(),_&&(this.setCorrectMaxSize(_),this.crushRuleIsUsedBy(_.rule_name),this.replicatedRuleChange(),this.pgCalc())}),this.form.get("size").valueChanges.subscribe(()=>{this.pgCalc()}),this.form.get("erasureProfile").valueChanges.subscribe(_=>{this.ecpDeletionBtn&&this.ecpDeletionBtn.isOpen()&&this.ecpDeletionBtn.close(),_&&(this.ecpIsUsedBy(_.name),this.pgCalc())}),this.form.get("mode").valueChanges.subscribe(()=>{["minBlobSize","maxBlobSize","ratio"].forEach(_=>{this.form.get(_).updateValueAndValidity({emitEvent:!1})})}),this.form.get("minBlobSize").valueChanges.subscribe(()=>{this.form.get("maxBlobSize").updateValueAndValidity({emitEvent:!1})}),this.form.get("maxBlobSize").valueChanges.subscribe(()=>{this.form.get("minBlobSize").updateValueAndValidity({emitEvent:!1})})}poolTypeChange(_){if("replicated"===_?this.setTypeBooleans(!0,!1):this.setTypeBooleans(!1,"erasure"===_),!_||!this.info)return void(this.current.rules=[]);const o=this.info["crush_rules_"+_]||[];this.current.rules=o,!this.editing&&(this.isReplicated&&this.setListControlStatus("crushRule",o),this.replicatedRuleChange(),this.pgCalc())}setTypeBooleans(_,o){this.isReplicated=_,this.isErasure=o}replicatedRuleChange(){if(!this.isReplicated)return;const _=this.form.get("size");let o=this.form.getValue("size")||3;const n=this.getMinSize(),s=this.getMaxSize();o<n?o=n:o>s&&(o=s),o!==_.value&&this.form.silentSet("size",o)}getMinSize(){return!this.info||this.info.osd_count<1?0:1}getMaxSize(){const _=this.form.getValue("crushRule");return this.info?_?_.usable_size:Math.min(this.info.osd_count,3):0}pgCalc(){const _=this.form.getValue("poolType");if(!this.info||this.form.get("pgNum").dirty||!_)return;const o=100*this.info.osd_count,n=this.isReplicated?this.replicatedPgCalc(o):this.erasurePgCalc(o);if(!n)return;const s=this.data.pgs;this.alignPgs(n),this.externalPgChange||(this.externalPgChange=s!==this.data.pgs)}setCorrectMaxSize(_=this.form.getValue("crushRule")){if(!_)return;const n=S.searchFailureDomains(this.info.nodes,_.steps[0].item_name)[_.steps[1].type];_.usable_size=Math.min(n?n.length:this.crushRuleMaxSize,this.crushRuleMaxSize)}replicatedPgCalc(_){const o=this.form.get("size"),n=o.value;return o.valid&&n>0?_/n:0}erasurePgCalc(_){const o=this.form.get("erasureProfile"),n=o.value;return(o.valid||o.disabled)&&n?_/(n.k+n.m):0}alignPgs(_=this.form.getValue("pgNum")){this.setPgs(Math.round(this.calculatePgPower(_<1?1:_)))}setComplexValidators(){this.editing?this.form.get("name").setValidators([this.form.get("name").validator,E.h.custom("uniqueName",_=>this.data.pool&&this.info&&-1!==this.info.pool_names.indexOf(_)&&this.info.pool_names.indexOf(_)!==this.info.pool_names.indexOf(this.data.pool.pool_name))]):(E.h.validateIf(this.form.get("size"),()=>this.isReplicated,[E.h.custom("min",_=>this.form.getValue("size")&&_<this.getMinSize()),E.h.custom("max",_=>this.form.getValue("size")&&this.getMaxSize()<_)]),this.form.get("name").setValidators([this.form.get("name").validator,E.h.custom("uniqueName",_=>this.info&&-1!==this.info.pool_names.indexOf(_))])),this.setCompressionValidators()}setCompressionValidators(){E.h.validateIf(this.form.get("minBlobSize"),()=>this.hasCompressionEnabled(),[a.kI.min(0),E.h.custom("maximum",_=>this.oddBlobSize(_,this.form.getValue("maxBlobSize")))]),E.h.validateIf(this.form.get("maxBlobSize"),()=>this.hasCompressionEnabled(),[a.kI.min(0),E.h.custom("minimum",_=>this.oddBlobSize(this.form.getValue("minBlobSize"),_))]),E.h.validateIf(this.form.get("ratio"),()=>this.hasCompressionEnabled(),[a.kI.min(0),a.kI.max(1)])}oddBlobSize(_,o){const n=this.formatter.toBytes(_),s=this.formatter.toBytes(o);return Boolean(n&&s&&n>=s)}hasCompressionEnabled(){return this.form.getValue("mode")&&"none"!==this.form.get("mode").value.toLowerCase()}describeCrushStep(_){return[_.op.replace("_"," "),_.item_name||"",_.type?_.num+" type "+_.type:""].join(" ")}addErasureCodeProfile(){this.addModal(Ao,_=>this.reloadECPs(_))}addModal(_,o){this.hideOpenTooltips(),this.modalService.show(_).componentInstance.submitAction.subscribe(s=>{o(s.name)})}hideOpenTooltips(){const _=o=>o&&o.isOpen()&&o.close();_(this.ecpDeletionBtn),_(this.crushDeletionBtn)}reloadECPs(_){this.reloadList({newItemName:_,getInfo:()=>this.ecpService.list(),initInfo:o=>this.initEcp(o),findNewItem:()=>this.ecProfiles.find(o=>o.name===_),controlName:"erasureProfile"})}reloadList({newItemName:_,getInfo:o,initInfo:n,findNewItem:s,controlName:c}){this.modalSubscription&&this.modalSubscription.unsubscribe(),o().subscribe(d=>{if(n(d),!_)return;const P=s();P&&this.form.get(c).setValue(P)})}deleteErasureCodeProfile(){this.deletionModal({value:this.form.getValue("erasureProfile"),usage:this.ecpUsage,deletionBtn:this.ecpDeletionBtn,dataName:"erasureInfo",getTabs:()=>this.ecpInfoTabs,tabPosition:"used-by-pools",nameAttribute:"name",itemDescription:"erasure code profile",reloadFn:()=>this.reloadECPs(),deleteFn:_=>this.ecpService.delete(_),taskName:"ecp/delete"})}deletionModal({value:_,usage:o,deletionBtn:n,dataName:s,getTabs:c,tabPosition:d,nameAttribute:P,itemDescription:p,reloadFn:R,deleteFn:h,taskName:T}){if(!_)return;if(o)return n.animation=!1,n.toggle(),this.data[s]=!0,void setTimeout(()=>{const f=c();f&&f.select(d)},50);const m=_[P];this.modalService.show(Ne.M,{itemDescription:p,itemNames:[m],submitActionObservable:()=>{const f=h(m);return f.subscribe(()=>R()),this.taskWrapper.wrapTaskAroundCall({task:new v.R(T,{name:m}),call:f})}})}addCrushRule(){this.addModal($_,_=>this.reloadCrushRules(_))}reloadCrushRules(_){this.reloadList({newItemName:_,getInfo:()=>this.poolService.getInfo(),initInfo:o=>{this.initInfo(o),this.poolTypeChange("replicated")},findNewItem:()=>this.info.crush_rules_replicated.find(o=>o.rule_name===_),controlName:"crushRule"})}deleteCrushRule(){this.deletionModal({value:this.form.getValue("crushRule"),usage:this.crushUsage,deletionBtn:this.crushDeletionBtn,dataName:"crushInfo",getTabs:()=>this.crushInfoTabs,tabPosition:"used-by-pools",nameAttribute:"rule_name",itemDescription:"crush rule",reloadFn:()=>this.reloadCrushRules(),deleteFn:_=>this.crushRuleService.delete(_),taskName:"crushRule/delete"})}crushRuleIsUsedBy(_){this.crushUsage=_?this.info.used_rules[_]:void 0}ecpIsUsedBy(_){this.ecpUsage=_?this.info.used_profiles[_]:void 0}submit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _={pool:this.form.getValue("name")};this.assignFormFields(_,[{externalFieldName:"pool_type",formControlName:"poolType"},{externalFieldName:"pg_autoscale_mode",formControlName:"pgAutoscaleMode",editable:!0},{externalFieldName:"pg_num",formControlName:"pgNum",replaceFn:n=>"on"===this.form.getValue("pgAutoscaleMode")?1:n,editable:!0},this.isReplicated?{externalFieldName:"size",formControlName:"size"}:{externalFieldName:"erasure_code_profile",formControlName:"erasureProfile",attr:"name"},{externalFieldName:"rule_name",formControlName:"crushRule",replaceFn:n=>this.isReplicated?n&&n.rule_name:void 0},{externalFieldName:"quota_max_bytes",formControlName:"max_bytes",replaceFn:this.formatter.toBytes,editable:!0,resetValue:this.editing?0:void 0},{externalFieldName:"quota_max_objects",formControlName:"max_objects",editable:!0,resetValue:this.editing?0:void 0}]),this.info.is_all_bluestore&&(this.assignFormField(_,{externalFieldName:"flags",formControlName:"ecOverwrites",replaceFn:()=>this.isErasure?["ec_overwrites"]:void 0}),"none"!==this.form.getValue("mode")?this.assignFormFields(_,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:n=>this.hasCompressionEnabled()&&n},{externalFieldName:"compression_algorithm",formControlName:"algorithm",editable:!0},{externalFieldName:"compression_min_blob_size",formControlName:"minBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_max_blob_size",formControlName:"maxBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_required_ratio",formControlName:"ratio",editable:!0,resetValue:0}]):this.editing&&this.assignFormFields(_,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:()=>"unset"},{externalFieldName:"srcpool",formControlName:"name",editable:!0,replaceFn:()=>this.data.pool.pool_name}]));const o=this.data.applications.selected;(o.length>0||this.editing)&&(_.application_metadata=o),this.isReplicated&&!u().isEmpty(this.currentConfigurationValues)&&(_.configuration=this.currentConfigurationValues),this.triggerApiTask(_)}assignFormFields(_,o){o.forEach(n=>this.assignFormField(_,n))}assignFormField(_,{externalFieldName:o,formControlName:n,attr:s,replaceFn:c,editable:d,resetValue:P}){if(this.editing&&(!d||this.form.get(n).pristine))return;const p=this.form.getValue(n);let R=c?c(p):s?u().get(p,s):p;if(!p||!R){if(!d||u().isUndefined(P))return;R=P}_[o]=R}triggerApiTask(_){this.taskWrapper.wrapTaskAroundCall({task:new v.R("pool/"+(this.editing?M.MQ.EDIT:M.MQ.CREATE),{pool_name:_.hasOwnProperty("srcpool")?_.srcpool:_.pool}),call:this.poolService[this.editing?M.MQ.UPDATE:M.MQ.CREATE](_)}).subscribe({error:o=>{u().isObject(o.error)&&"34"===o.error.code&&this.form.get("pgNum").setErrors({34:!0}),this.form.setErrors({cdSubmitButton:!0})},complete:()=>this.router.navigate(["/pool"])})}appSelection(){this.form.get("name").updateValueAndValidity({emitEvent:!1,onlySelf:!0})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(C_.$),e.Y36(Oe.gz),e.Y36(Oe.F0),e.Y36(Ze.Z),e.Y36(ue.q),e.Y36(he.j),e.Y36(M_.H),e.Y36(de.P),e.Y36(Me),e.Y36(Ie.H),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-form"]],viewQuery:function(_,o){if(1&_&&(e.Gf(Zo,5),e.Gf(xo,5),e.Gf(yo,5),e.Gf(Uo,5)),2&_){let n;e.iGM(n=e.CRH())&&(o.crushInfoTabs=n.first),e.iGM(n=e.CRH())&&(o.crushDeletionBtn=n.first),e.iGM(n=e.CRH())&&(o.ecpInfoTabs=n.first),e.iGM(n=e.CRH())&&(o.ecpDeletionBtn=n.first)}},features:[e.qOj],decls:1,vars:1,consts:function(){let i,_,o,n,s,c,d,P,p,R,h,T,m,f,A,I,$,D,Z,x,y,U,q,H,G,z,X,w,Q,J,k,V,Y,B,j,K,N,W,ee,_e,oe,te,ie,ne,se,ae,le,re,ce,O,Xe,we,Qe,Je,ke,Ve,Ye,Be,je,Ke,We,e_,__,o_,t_,i_,n_,s_,a_,l_,r_,c_,O_;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",o="Name...",n="Pool type",s="-- Select a pool type --",c="Applications",d="Pools should be associated with an application tag",P="Quotas",p="Max bytes",R="Leave it blank or specify 0 to disable this quota.",h="A valid quota should be greater than 0.",T="e.g., 10GiB",m="Max objects",f="Leave it blank or specify 0 to disable this quota.",A="A valid quota should be greater than 0.",I="This field is required!",$="The chosen Ceph pool name is already in use.",D="It's not possible to create an RBD pool with '/' in the name. Please change the name or remove 'rbd' from the applications list.",Z="Pool name can only contain letters, numbers, '.', '-', '_' or '/'.",x="This field is required!",y="PG Autoscale",U="Placement groups",q="Calculation help",H="This field is required!",G="At least one placement group is needed!",z="Your cluster can't handle this many PGs. Please recalculate the PG amount needed.",X="The current PGs settings were calculated for you, you should make sure the values suit your needs before submit.",w="Replicated size",Q="Minimum: " + "\ufffd0\ufffd" + "",J="Maximum: " + "\ufffd0\ufffd" + "",k="The size specified is out of range. A value from " + "\ufffd0\ufffd" + " to " + "\ufffd1\ufffd" + " is usable.",V="A size of 1 will not create a replication of the object. The 'Replicated size' includes the object itself.",Y="Flags",B="EC Overwrites",j="CRUSH",K="Erasure code profile",N="This profile can't be deleted as it is in use.",W="Loading...",ee="-- No erasure code profile available --",_e="-- Select an erasure code profile --",oe="Profile",te="Used by pools",ie="Profile is not in use.",ne="Crush ruleset",se="A new crush ruleset will be implicitly created.",ae="Crush ruleset",le="There are no rules.",re="-- Select a crush rule --",ce="Placement and\n replication strategies or distribution policies that allow to\n specify how CRUSH places data replicas.",O="This rule can't be deleted as it is in use.",Xe="Crush rule",we="Crush steps",Qe="Used by pools",Je="Rule is not in use.",ke="This field is required!",Ve="The rule can't be used in the current cluster as it has too few OSDs to meet the minimum required OSD by this rule.",Ye="Compression",Be="Mode",je="Algorithm",Ke="Minimum blob size",We="e.g., 128KiB",e_="Maximum blob size",__="e.g., 512KiB",o_="Ratio",t_="Compression ratio",i_="Loading...",n_="-- No erasure compression algorithm available --",s_="Value should be greater than 0",a_="Value should be less than the maximum blob size",l_="Value should be greater than 0",r_="Value should be greater than the minimum blob size",c_="Value should be between 0.0 and 1.0",O_="The value should be greater or equal to 0",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],i,[1,"card-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label","required"],_,[1,"cd-col-form-input"],["id","name","name","name","type","text","placeholder",o,"formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","poolType",1,"cd-col-form-label","required"],n,["id","poolType","formControlName","poolType","name","poolType",1,"form-control"],["ngValue",""],s,[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["for","applications",1,"cd-col-form-label"],c,["id","applications",3,"customBadges","customBadgeValidators","messages","data","options","selectionLimit","selection"],["title",d,3,"class",4,"ngIf"],["formGroupName","compression",4,"ngIf"],P,["for","max_bytes",1,"cd-col-form-label"],p,R,h,["id","max_bytes","name","max_bytes","type","text","formControlName","max_bytes","placeholder",T,"defaultUnit","GiB","cdDimlessBinary","",1,"form-control"],["for","max_objects",1,"cd-col-form-label"],m,f,A,["id","max_objects","min","0","name","max_objects","type","number","formControlName","max_objects",1,"form-control"],[3,"hidden"],[3,"form","initializeData","changes"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],I,$,D,Z,[3,"value"],x,["for","pgAutoscaleMode",1,"cd-col-form-label"],y,["id","pgAutoscaleMode","name","pgAutoscaleMode","formControlName","pgAutoscaleMode",1,"form-control"],["class","form-group row",4,"ngIf"],["for","pgNum",1,"cd-col-form-label","required"],U,["id","pgNum","name","pgNum","formControlName","pgNum","min","1","type","number","required","",1,"form-control",3,"focus","blur"],[1,"form-text","text-muted"],["section","pgs","docText",q],["class","form-text text-muted",4,"ngIf"],H,G,z,X,["for","size",1,"cd-col-form-label","required"],w,["id","size","name","size","type","number","formControlName","size",1,"form-control",3,"max","min"],["class","text-warning-dark",4,"ngIf"],[1,"list-inline"],Q,J,k,[1,"text-warning-dark"],V,[1,"cd-col-form-label"],Y,[1,"custom-control","custom-checkbox"],["type","checkbox","id","ec-overwrites","formControlName","ecOverwrites",1,"custom-control-input"],["for","ec-overwrites",1,"custom-control-label"],B,["title",d],j,["for","erasureProfile",1,"cd-col-form-label"],K,[1,"input-group"],["id","erasureProfile","name","erasureProfile","formControlName","erasureProfile",1,"form-control"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],[1,"input-group-append"],["id","ecp-info-button","type","button",1,"btn","btn-light",3,"ngClass","click"],["aria-hidden","true",3,"ngClass"],["class","btn btn-light","type","button",3,"click",4,"ngIf"],["class","btn btn-light","type","button","ngbTooltip",N,"triggers","manual",3,"click",4,"ngIf"],["class","form-text text-muted","id","ecp-info-block",4,"ngIf"],W,[3,"ngValue"],ee,_e,["type","button",1,"btn","btn-light",3,"click"],["type","button","ngbTooltip",N,"triggers","manual",1,"btn","btn-light",3,"click"],["ecpDeletionBtn","ngbTooltip"],["id","ecp-info-block",1,"form-text","text-muted"],["ngbNav","",1,"nav-tabs"],["ecpInfoTabs","ngbNav"],["ngbNavItem","ecp-info"],["ngbNavLink",""],oe,["ngbNavContent",""],["ngbNavItem","used-by-pools"],te,[3,"ngbNavOutlet"],[3,"renderObjects","hideKeys","data","autoReload"],["ecpIsNotUsed",""],[4,"ngIf","ngIfElse"],ie,[4,"ngFor","ngForOf"],["for","crushRule",1,"cd-col-form-label"],ne,se,ae,["noRules",""],le,["id","crushRule","formControlName","crushRule","name","crushSet",1,"form-control"],re,["id","crush-info-button","type","button","ngbTooltip",ce,1,"btn","btn-light",3,"ngClass","click"],["class","btn btn-light","type","button","ngbTooltip",O,"triggers","manual",3,"click",4,"ngIf"],["class","form-text text-muted","id","crush-info-block",4,"ngIf"],["type","button","ngbTooltip",O,"triggers","manual",1,"btn","btn-light",3,"click"],["crushDeletionBtn","ngbTooltip"],["id","crush-info-block",1,"form-text","text-muted"],["crushInfoTabs","ngbNav"],["ngbNavItem","crush-rule-info"],Xe,["ngbNavItem","crush-rule-steps"],we,Qe,["ruleIsNotUsed",""],Je,ke,Ve,["formGroupName","compression"],Ye,["for","mode",1,"cd-col-form-label"],Be,["id","mode","name","mode","formControlName","mode",1,"form-control"],["for","algorithm",1,"cd-col-form-label"],je,["id","algorithm","name","algorithm","formControlName","algorithm",1,"form-control"],["for","minBlobSize",1,"cd-col-form-label"],Ke,["id","minBlobSize","name","minBlobSize","formControlName","minBlobSize","type","text","min","0","placeholder",We,"defaultUnit","KiB","cdDimlessBinary","",1,"form-control"],["for","maxBlobSize",1,"cd-col-form-label"],e_,["id","maxBlobSize","type","text","min","0","formControlName","maxBlobSize","placeholder",__,"defaultUnit","KiB","cdDimlessBinary","",1,"form-control"],["for","ratio",1,"cd-col-form-label"],o_,["id","ratio","name","ratio","formControlName","ratio","type","number","min","0","max","1","step","0.1","placeholder",t_,1,"form-control"],i_,n_,s_,a_,l_,r_,c_,O_]},template:function(_,o){1&_&&e.YNc(0,Yt,70,33,"div",0),2&_&&e.Q6J("cdFormLoading",o.loading)},directives:[bo.y,a._Y,a.JL,fe.V,a.sg,Pe.P,Ee.o,a.Fj,ge.b,a.JJ,a.u,pe.U,C.O5,a.EJ,a.YN,a.Kr,C.sg,vo.m,Re.S,Io.Q,a.qQ,a.wV,$o.d,me.p,a.Q7,Do.K,a.Fd,a.Wl,C.mk,g._L,g.Pz,g.nv,g.Vx,g.uN,g.tO,xe.b,a.x0],pipes:[C.rS,Ce.m],styles:[".icon-warning-color[_ngcontent-%COMP%]{margin-left:3px}"]}),t})();var Bt=r(19773),jt=r(49671),Kt=r(68136),Te=r(69158),Se=r(64337),L=r(99466),Wt=r(91801),ei=r(68774),_i=r(66369),qe=r(38047),Le=r(51847);class oi{constructor(i){this.pool_name=i}}var ti=r(64724);let ii=(()=>{class t{constructor(_,o,n){this.templateRef=_,this.viewContainer=o,this.authStorageService=n,this.cdScopeMatchAll=!0}set cdScope(_){this.permissions=this.authStorageService.getPermissions(),this.isAuthorized(_)?this.viewContainer.createEmbeddedView(this.templateRef):this.viewContainer.clear()}isAuthorized(_){const o=this.cdScopeMatchAll?u().every:u().some;return u().isString(_)?u().get(this.permissions,[_,"read"],!1):u().isArray(_)?o(_,n=>this.permissions[n].read):!!u().isObject(_)&&o(_,(n,s)=>o(n,c=>this.permissions[s][c]))}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(e.Rgc),e.Y36(e.s_b),e.Y36(he.j))},t.\u0275dir=e.lG2({type:t,selectors:[["","cdScope",""]],inputs:{cdScope:"cdScope",cdScopeMatchAll:"cdScopeMatchAll"}}),t})();var ni=r(94928),He=r(51295),si=r(59376),Ge=r(76317),ai=r(71752);function li(t,i){if(1&t&&e._UZ(0,"cd-table-key-value",12),2&t){const _=e.oxw(2);e.Q6J("renderObjects",!0)("data",_.poolDetails)("autoReload",!1)}}function ri(t,i){if(1&t&&e._UZ(0,"cd-grafana",15),2&t){const _=e.oxw(3);e.MGl("grafanaPath","ceph-pool-detail?var-pool_name=",_.selection.pool_name,"")}}function ci(t,i){1&t&&(e.TgZ(0,"li",13),e.TgZ(1,"a",5),e.SDv(2,14),e.qZA(),e.YNc(3,ri,1,1,"ng-template",7),e.qZA())}function Oi(t,i){if(1&t&&e._UZ(0,"cd-rbd-configuration-table",18),2&t){const _=e.oxw(3);e.Q6J("data",_.selectedPoolConfiguration)}}function di(t,i){1&t&&(e.TgZ(0,"li",16),e.TgZ(1,"a",5),e.SDv(2,17),e.qZA(),e.YNc(3,Oi,1,1,"ng-template",7),e.qZA())}function ui(t,i){if(1&t&&e._UZ(0,"cd-table",21),2&t){const _=e.oxw(3);e.Q6J("data",_.cacheTiers)("columns",_.cacheTierColumns)("autoSave",!1)}}function fi(t,i){1&t&&(e.TgZ(0,"li",19),e.TgZ(1,"a",5),e.SDv(2,20),e.qZA(),e.YNc(3,ui,1,3,"ng-template",7),e.qZA())}function Pi(t,i){if(1&t&&(e.ynx(0,1),e.TgZ(1,"ul",2,3),e.TgZ(3,"li",4),e.TgZ(4,"a",5),e.SDv(5,6),e.qZA(),e.YNc(6,li,1,3,"ng-template",7),e.qZA(),e.YNc(7,ci,4,0,"li",8),e.YNc(8,di,4,0,"li",9),e.YNc(9,fi,4,0,"li",10),e.qZA(),e._UZ(10,"div",11),e.BQk()),2&t){const _=e.MAs(2),o=e.oxw();e.xp6(7),e.Q6J("ngIf",o.permissions.grafana.read),e.xp6(1),e.Q6J("ngIf","replicated"===o.selection.type),e.xp6(1),e.Q6J("ngIf",(null==o.selection.tiers?null:o.selection.tiers.length)>0),e.xp6(1),e.Q6J("ngbNavOutlet",_)}}let Ei=(()=>{class t{constructor(_){this.poolService=_,this.cacheTierColumns=[],this.omittedPoolAttributes=["cdExecuting","cdIsBinary","stats"],this.cacheTierColumns=[{prop:"pool_name",name:"Name",flexGrow:3},{prop:"cache_mode",name:"Cache Mode",flexGrow:2},{prop:"cache_min_evict_age",name:"Min Evict Age",flexGrow:2},{prop:"cache_min_flush_age",name:"Min Flush Age",flexGrow:2},{prop:"target_max_bytes",name:"Target Max Bytes",flexGrow:2},{prop:"target_max_objects",name:"Target Max Objects",flexGrow:2}]}ngOnChanges(){this.selection&&(this.poolService.getConfiguration(this.selection.pool_name).subscribe(_=>{He.T.updateChanged(this,{selectedPoolConfiguration:_})}),He.T.updateChanged(this,{poolDetails:u().omit(this.selection,this.omittedPoolAttributes)}))}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ue.q))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-details"]],inputs:{cacheTiers:"cacheTiers",permissions:"permissions",selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let i,_,o,n;return i="Details",_="Performance Details",o="Configuration",n="Cache Tiers Details",[["cdTableDetail","",4,"ngIf"],["cdTableDetail",""],["ngbNav","","cdStatefulTab","pool-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],i,["ngbNavContent",""],["ngbNavItem","performance-details",4,"ngIf"],["ngbNavItem","configuration",4,"ngIf"],["ngbNavItem","cache-tiers-details",4,"ngIf"],[3,"ngbNavOutlet"],[3,"renderObjects","data","autoReload"],["ngbNavItem","performance-details"],_,["uid","-xyV8KCiz","grafanaStyle","three",3,"grafanaPath"],["ngbNavItem","configuration"],o,[3,"data"],["ngbNavItem","cache-tiers-details"],n,["columnMode","flex",3,"data","columns","autoSave"]]},template:function(_,o){1&_&&e.YNc(0,Pi,11,4,"ng-container",0),2&_&&e.Q6J("ngIf",o.selection)},directives:[C.O5,g.Pz,si.m,g.nv,g.Vx,g.uN,g.tO,xe.b,Ge.F,ai.P,Se.a],styles:[""],changeDetection:0}),t})();var gi=r(60251);const pi=["poolUsageTpl"],Ri=["poolConfigurationSourceTpl"];function mi(t,i){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table",9,10),e.NdJ("fetchData",function(){return e.CHM(_),e.oxw().taskListService.fetch()})("setExpandedRow",function(n){return e.CHM(_),e.oxw().setExpandedRow(n)})("updateSelection",function(n){return e.CHM(_),e.oxw().updateSelection(n)}),e._UZ(2,"cd-table-actions",11),e._UZ(3,"cd-pool-details",12),e.qZA()}if(2&t){const _=e.oxw();e.Q6J("data",_.pools)("columns",_.columns)("hasDetails",!0)("status",_.tableStatus)("autoReload",-1),e.xp6(2),e.Q6J("permission",_.permissions.pool)("selection",_.selection)("tableActions",_.tableActions),e.xp6(1),e.Q6J("selection",_.expandedRow)("permissions",_.permissions)("cacheTiers",_.cacheTiers)}}function Ci(t,i){1&t&&e._UZ(0,"cd-grafana",14),2&t&&e.Q6J("grafanaPath","ceph-pools-overview?")}function Mi(t,i){1&t&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,13),e.qZA(),e.YNc(3,Ci,1,1,"ng-template",5),e.qZA())}function hi(t,i){if(1&t&&e._UZ(0,"cd-usage-bar",16),2&t){const _=e.oxw().row;e.Q6J("total",_.stats.bytes_used.latest+_.stats.avail_raw.latest)("used",_.stats.bytes_used.latest)}}function Ti(t,i){if(1&t&&e.YNc(0,hi,1,2,"cd-usage-bar",15),2&t){const _=i.row;e.Q6J("ngIf",null==_.stats||null==_.stats.avail_raw?null:_.stats.avail_raw.latest)}}let Si=(()=>{class t extends Kt.o{constructor(_,o,n,s,c,d,P,p,R,h,T){super(),this.poolService=_,this.taskWrapper=o,this.ecpService=n,this.authStorageService=s,this.taskListService=c,this.modalService=d,this.pgCategoryService=P,this.dimlessPipe=p,this.urlBuilder=R,this.configurationService=h,this.actionLabels=T,this.selection=new ei.r,this.executingTasks=[],this.tableStatus=new Te.E,this.cacheTiers=[],this.monAllowPoolDelete=!1,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"create",icon:b.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:b.P.edit,routerLink:()=>this.urlBuilder.getEdit(encodeURIComponent(this.selection.first().pool_name)),name:this.actionLabels.EDIT},{permission:"delete",icon:b.P.destroy,click:()=>this.deletePoolModal(),name:this.actionLabels.DELETE,disable:this.getDisableDesc.bind(this)}],this.permissions.configOpt.read&&this.configurationService.get("mon_allow_pool_delete").subscribe(m=>{if(u().has(m,"value")){const f=u().find(m.value,A=>"mon"===A.section)||{value:!1};this.monAllowPoolDelete="true"===f.value}})}ngOnInit(){const _=(o,n,s)=>u().get(n,o)>u().get(s,o)?1:-1;this.columns=[{prop:"pool_name",name:"Name",flexGrow:4,cellTransformation:L.e.executing},{prop:"data_protection",name:"Data Protection",cellTransformation:L.e.badge,customTemplateConfig:{class:"badge-background-gray"},flexGrow:1.3},{prop:"application_metadata",name:"Applications",cellTransformation:L.e.badge,customTemplateConfig:{class:"badge-background-primary"},flexGrow:1.5},{prop:"pg_status",name:"PG Status",flexGrow:1.2,cellClass:({row:o,column:n,value:s})=>this.getPgStatusCellClass(o,n,s)},{prop:"crush_rule",name:"Crush Ruleset",isHidden:!0,flexGrow:2},{name:"Usage",prop:"usage",cellTemplate:this.poolUsageTpl,flexGrow:1.2},{prop:"stats.rd_bytes.rates",name:"Read bytes",comparator:(o,n,s,c)=>_("stats.rd_bytes.latest",s,c),cellTransformation:L.e.sparkline,flexGrow:1.5},{prop:"stats.wr_bytes.rates",name:"Write bytes",comparator:(o,n,s,c)=>_("stats.wr_bytes.latest",s,c),cellTransformation:L.e.sparkline,flexGrow:1.5},{prop:"stats.rd.rate",name:"Read ops",flexGrow:1,pipe:this.dimlessPipe,cellTransformation:L.e.perSecond},{prop:"stats.wr.rate",name:"Write ops",flexGrow:1,pipe:this.dimlessPipe,cellTransformation:L.e.perSecond}],this.taskListService.init(()=>this.ecpService.list().pipe((0,Bt.zg)(o=>(this.ecProfileList=o,this.poolService.getList()))),void 0,o=>{this.pools=this.transformPoolsData(o),this.tableStatus=new Te.E},()=>{this.table.reset(),this.tableStatus=new Te.E(Wt.T.ValueException)},o=>o.name.startsWith("pool/"),(o,n)=>n.metadata.pool_name===o.pool_name,{default:o=>new oi(o.pool_name)})}updateSelection(_){this.selection=_}deletePoolModal(){const _=this.selection.first().pool_name;this.modalService.show(Ne.M,{itemDescription:"Pool",itemNames:[_],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new v.R(`pool/${M.MQ.DELETE}`,{pool_name:_}),call:this.poolService.delete(_)})})}getPgStatusCellClass(_,o,n){return{"text-right":!0,[`pg-${this.pgCategoryService.getTypeByStates(n)}`]:!0}}getErasureCodeProfile(_){let o="";return u().forEach(this.ecProfileList,n=>{n.name===_&&(o=`EC: ${n.k}+${n.m}`)}),o}transformPoolsData(_){const o=["bytes_used","max_avail","avail_raw","percent_used","rd_bytes","wr_bytes","rd","wr"],n={latest:0,rate:0,rates:[]};return u().forEach(_,s=>{s.pg_status=this.transformPgStatus(s.pg_status);const c={};u().forEach(o,d=>{c[d]=s.stats&&s.stats[d]?s.stats[d]:n}),s.stats=c,s.usage=c.percent_used.latest,!s.cdExecuting&&s.pg_num+s.pg_placement_num!==s.pg_num_target+s.pg_placement_num_target&&(s.cdExecuting="Updating"),["rd_bytes","wr_bytes"].forEach(d=>{s.stats[d].rates=s.stats[d].rates.map(P=>P[1])}),s.cdIsBinary=!0,"erasure"===s.type&&(s.data_protection=this.getErasureCodeProfile(s.erasure_code_profile)),"replicated"===s.type&&(s.data_protection=`replica: \xd7${s.size}`)}),_}transformPgStatus(_){const o=[];return u().forEach(_,(n,s)=>{o.push(`${n} ${s}`)}),o.join(", ")}getSelectionTiers(){if(void 0!==this.expandedRow){const _=this.expandedRow.tiers;this.cacheTiers=this.pools.filter(o=>_.includes(o.pool))}}getDisableDesc(){var _;return!(null===(_=this.selection)||void 0===_?void 0:_.hasSelection)||!this.monAllowPoolDelete&&"Pool deletion is disabled by the mon_allow_pool_delete configuration setting."}setExpandedRow(_){super.setExpandedRow(_),this.getSelectionTiers()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ue.q),e.Y36(de.P),e.Y36(Me),e.Y36(he.j),e.Y36(qe.j),e.Y36(Ze.Z),e.Y36(jt.j),e.Y36(_i.n),e.Y36(Le.F),e.Y36(ti.e),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-list"]],viewQuery:function(_,o){if(1&_&&(e.Gf(Se.a,5),e.Gf(pi,7),e.Gf(Ri,5)),2&_){let n;e.iGM(n=e.CRH())&&(o.table=n.first),e.iGM(n=e.CRH())&&(o.poolUsageTpl=n.first),e.iGM(n=e.CRH())&&(o.poolConfigurationSourceTpl=n.first)}},features:[e._Bn([qe.j,{provide:Le.F,useValue:new Le.F("pool")}]),e.qOj],decls:10,vars:2,consts:function(){let i,_;return i="Pools List",_="Overall Performance",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],i,["ngbNavContent",""],["ngbNavItem","",4,"cdScope"],[3,"ngbNavOutlet"],["poolUsageTpl",""],["id","pool-list","selectionType","single",3,"data","columns","hasDetails","status","autoReload","fetchData","setExpandedRow","updateSelection"],["table",""],["id","pool-list-actions",1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","","id","pool-list-details",3,"selection","permissions","cacheTiers"],_,["uid","z99hzWtmk","grafanaStyle","two",3,"grafanaPath"],["decimals","2",3,"total","used",4,"ngIf"],["decimals","2",3,"total","used"]]},template:function(_,o){if(1&_&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,mi,4,11,"ng-template",5),e.qZA(),e.YNc(6,Mi,4,0,"li",6),e.qZA(),e._UZ(7,"div",7),e.YNc(8,Ti,1,1,"ng-template",null,8,e.W1O)),2&_){const n=e.MAs(1);e.xp6(6),e.Q6J("cdScope","grafana"),e.xp6(1),e.Q6J("ngbNavOutlet",n)}},directives:[g.Pz,g.nv,g.Vx,g.uN,ii,g.tO,Se.a,ni.K,Ei,Ge.F,C.O5,gi.O],styles:["cd-pool-list .pg-clean{color:#0b0} cd-pool-list .pg-working{color:#2b99a8} cd-pool-list .pg-warning{color:#ffc200} cd-pool-list .pg-unknown{color:#ef5c55}"]}),t})(),ze=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[[f_.t,C.ez,g.Oz,d_.m,Oe.Bz,a.UX,g.HK,u_.BlockModule]]}),t})();const Li=[{path:"",component:Si},{path:M.MQ.CREATE,component:Ue,data:{breadcrumbs:M.Qn.CREATE}},{path:`${M.MQ.EDIT}/:name`,component:Ue,data:{breadcrumbs:M.Qn.EDIT}}];let Ai=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[[ze,Oe.Bz.forChild(Li)]]}),t})()}}]);
\ No newline at end of file
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="icon" type="image/x-icon" id="cdFavicon" href="favicon.ico">
-<style>@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--black:#000;--barley-white:#fcecba;--fg-color-over-dark-bg:#fff;--fg-hover-color-over-dark-bg:#adb5bd;--body-color-bright:#f8f9fa;--body-bg:#fff;--body-color:#212529;--body-bg-alt:#e9ecef;--health-color-error:red;--health-color-healthy:#0b0;--health-color-warning:orange;--chart-color-red:#c9190b;--chart-color-blue:#06c;--chart-color-orange:#ef9234;--chart-color-yellow:#f6d173;--chart-color-green:#7cc674;--chart-color-gray:#ededed;--chart-color-cyan:#73c5c5;--chart-color-purple:#3c3d99;--chart-color-center-text:#151515;--chart-color-center-text-description:#72767b;--chart-color-tooltip-background:#000;--chart-danger:#c9190b;--card-cap-bg:#f8f9fa;--grid-gutter-width:30px;--datatable-divider-color:#00000017;--nav-tabs-margin-bottom:1rem;--tooltip-color:#fff;--tooltip-bg:#212529;--screen-sm-min:576px;--screen-md-min:768px;--screen-lg-min:992px;--screen-xl-min:1200px;--screen-xs-max:calc(576px - 1px);--screen-sm-max:calc(768px - 1px);--screen-md-max:calc(992px - 1px);--screen-lg-max:calc(1200px - 1px);--navbar-height:43px;--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#a94442;--red:#ef5c55;--orange:#fd7e14;--yellow:#ffc200;--green:#0b0;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#374249;--success:#0b0;--info:#2b99a8;--warning:#ffc200;--danger:#ef5c55;--light:#f8f9fa;--dark:#777;--accent:#ef5c55;--warning-dark:#fd7e14;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-2xl:1450px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}@page{size:a3}body{min-width:992px!important}}html{background-color:#fff}body,html{font-size:12px;height:100%;width:100%}</style><link rel="stylesheet" href="styles.013d05bfdb2ad24949a2.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.013d05bfdb2ad24949a2.css"></noscript></head>
+<style>@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--black:#000;--barley-white:#fcecba;--fg-color-over-dark-bg:#fff;--fg-hover-color-over-dark-bg:#adb5bd;--body-color-bright:#f8f9fa;--body-bg:#fff;--body-color:#212529;--body-bg-alt:#e9ecef;--health-color-error:red;--health-color-healthy:#0b0;--health-color-warning:orange;--chart-color-red:#c9190b;--chart-color-blue:#06c;--chart-color-orange:#ef9234;--chart-color-yellow:#f6d173;--chart-color-green:#7cc674;--chart-color-gray:#ededed;--chart-color-cyan:#73c5c5;--chart-color-purple:#3c3d99;--chart-color-center-text:#151515;--chart-color-center-text-description:#72767b;--chart-color-tooltip-background:#000;--chart-danger:#c9190b;--card-cap-bg:#f8f9fa;--grid-gutter-width:30px;--datatable-divider-color:#00000017;--nav-tabs-margin-bottom:1rem;--tooltip-color:#fff;--tooltip-bg:#212529;--screen-sm-min:576px;--screen-md-min:768px;--screen-lg-min:992px;--screen-xl-min:1200px;--screen-xs-max:calc(576px - 1px);--screen-sm-max:calc(768px - 1px);--screen-md-max:calc(992px - 1px);--screen-lg-max:calc(1200px - 1px);--navbar-height:43px;--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#a94442;--red:#ef5c55;--orange:#fd7e14;--yellow:#ffc200;--green:#0b0;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#374249;--success:#0b0;--info:#2b99a8;--warning:#ffc200;--danger:#ef5c55;--light:#f8f9fa;--dark:#777;--accent:#ef5c55;--warning-dark:#fd7e14;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-2xl:1450px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}@page{size:a3}body{min-width:992px!important}}html{background-color:#fff}body,html{font-size:12px;height:100%;width:100%}</style><link rel="stylesheet" href="styles.e6093c94066da7ab35c7.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.e6093c94066da7ab35c7.css"></noscript></head>
<body>
<noscript>
<div class="noscript container"
</noscript>
<cd-root></cd-root>
-<script src="runtime.27fa8b70ed754072a0a6.js" defer></script><script src="polyfills.2068f3f22a496426465b.js" defer></script><script src="scripts.6bda3fa7e09a87cd4228.js" defer></script><script src="main.17cdabb5dfb516cc695c.js" defer></script>
+<script src="runtime.d9a3c3d3ac8fa3cc7c93.js" defer></script><script src="polyfills.2068f3f22a496426465b.js" defer></script><script src="scripts.6bda3fa7e09a87cd4228.js" defer></script><script src="main.30fafaca6a3d4e1868e0.js" defer></script>
</body></html>
\ No newline at end of file
+++ /dev/null
-var $localize=Object.assign(void 0===$localize?{}:$localize,{locale:"en-US"});
-"use strict";(function(global){global.ng=global.ng||{};global.ng.common=global.ng.common||{};global.ng.common.locales=global.ng.common.locales||{};const u=undefined;function plural(n){const i=Math.floor(Math.abs(n)),v=n.toString().replace(/^[^.]*\.?/,"").length;if(i===1&&v===0)return 1;return 5}global.ng.common.locales["en-us-posix"]=["en-US-POSIX",[["a","p"],["AM","PM"],u],[["AM","PM"],u,u],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],u,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],u,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",u,"{1} 'at' {0}",u],[".",",",";","%","+","-","E","\xD7","0/00","INF","NaN",":"],["0.######","0%","\xA4\xA00.00","0.000000E+000"],"USD","$","US Dollar",{},"ltr",plural,[[["mi","n","in the morning","in the afternoon","in the evening","at night"],["midnight","noon","in the morning","in the afternoon","in the evening","at night"],u],[["midnight","noon","morning","afternoon","evening","night"],u,u],["00:00","12:00",["06:00","12:00"],["12:00","18:00"],["18:00","21:00"],["21:00","06:00"]]]]})(typeof globalThis!=="undefined"&&globalThis||typeof global!=="undefined"&&global||typeof window!=="undefined"&&window);;
-(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[179],{98255:Ge=>{function g(o){return Promise.resolve().then(()=>{var t=new Error("Cannot find module '"+o+"'");throw t.code="MODULE_NOT_FOUND",t})}g.keys=()=>[],g.resolve=g,g.id=98255,Ge.exports=g},56083:(Ge,g,o)=>{"use strict";o.d(g,{l3:()=>s,_j:()=>t,LC:()=>e,ZN:()=>M,jt:()=>l,vP:()=>h,SB:()=>m,oB:()=>_,eR:()=>T,X$:()=>a,ZE:()=>I,k1:()=>J});class t{}class e{}const s="*";function a(B,ie){return{type:7,name:B,definitions:ie,options:{}}}function l(B,ie=null){return{type:4,styles:ie,timings:B}}function h(B,ie=null){return{type:2,steps:B,options:ie}}function _(B){return{type:6,styles:B,offset:null}}function m(B,ie,oe){return{type:0,name:B,styles:ie,options:oe}}function T(B,ie,oe=null){return{type:1,expr:B,animation:ie,options:oe}}function U(B){Promise.resolve(null).then(B)}class M{constructor(ie=0,oe=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=ie+oe}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(ie=>ie()),this._onDoneFns=[])}onStart(ie){this._onStartFns.push(ie)}onDone(ie){this._onDoneFns.push(ie)}onDestroy(ie){this._onDestroyFns.push(ie)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){U(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(ie=>ie()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(ie=>ie()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(ie){this._position=this.totalTime?ie*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(ie){const oe="start"==ie?this._onStartFns:this._onDoneFns;oe.forEach(fe=>fe()),oe.length=0}}class I{constructor(ie){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=ie;let oe=0,fe=0,ne=0;const he=this.players.length;0==he?U(()=>this._onFinish()):this.players.forEach(ce=>{ce.onDone(()=>{++oe==he&&this._onFinish()}),ce.onDestroy(()=>{++fe==he&&this._onDestroy()}),ce.onStart(()=>{++ne==he&&this._onStart()})}),this.totalTime=this.players.reduce((ce,Ae)=>Math.max(ce,Ae.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(ie=>ie()),this._onDoneFns=[])}init(){this.players.forEach(ie=>ie.init())}onStart(ie){this._onStartFns.push(ie)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(ie=>ie()),this._onStartFns=[])}onDone(ie){this._onDoneFns.push(ie)}onDestroy(ie){this._onDestroyFns.push(ie)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(ie=>ie.play())}pause(){this.players.forEach(ie=>ie.pause())}restart(){this.players.forEach(ie=>ie.restart())}finish(){this._onFinish(),this.players.forEach(ie=>ie.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(ie=>ie.destroy()),this._onDestroyFns.forEach(ie=>ie()),this._onDestroyFns=[])}reset(){this.players.forEach(ie=>ie.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(ie){const oe=ie*this.totalTime;this.players.forEach(fe=>{const ne=fe.totalTime?Math.min(1,oe/fe.totalTime):1;fe.setPosition(ne)})}getPosition(){const ie=this.players.reduce((oe,fe)=>null===oe||fe.totalTime>oe.totalTime?fe:oe,null);return null!=ie?ie.getPosition():0}beforeDestroy(){this.players.forEach(ie=>{ie.beforeDestroy&&ie.beforeDestroy()})}triggerCallback(ie){const oe="start"==ie?this._onStartFns:this._onDoneFns;oe.forEach(fe=>fe()),oe.length=0}}const J="!"},12057:(Ge,g,o)=>{"use strict";o.d(g,{mr:()=>I,Ov:()=>Bo,ez:()=>Fi,K0:()=>h,uU:()=>qo,JJ:()=>Tn,x:()=>Se,Do:()=>B,Gx:()=>Er,Ts:()=>pn,Nd:()=>Ve,V_:()=>b,Ye:()=>ie,S$:()=>U,i8:()=>Ko,mk:()=>rt,sg:()=>$t,O5:()=>Vr,PC:()=>ki,RF:()=>Jr,n9:()=>rn,ED:()=>fi,tP:()=>to,b0:()=>J,Zx:()=>$r,lw:()=>_,rS:()=>ua,Tn:()=>Oe,gd:()=>ds,EM:()=>Fo,JF:()=>ja,p6:()=>Fn,Mn:()=>je,ol:()=>F,UT:()=>Et,NF:()=>Ra,w_:()=>u,bD:()=>cs,q:()=>s,Mx:()=>Ct,HT:()=>l});var t=o(74788);let e=null;function s(){return e}function l(pt){e||(e=pt)}class u{}const h=new t.OlP("DocumentToken");let _=(()=>{class pt{historyGo(Nt){throw new Error("Not implemented")}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275prov=(0,t.Yz7)({factory:m,token:pt,providedIn:"platform"}),pt})();function m(){return(0,t.LFG)(T)}const b=new t.OlP("Location Initialized");let T=(()=>{class pt extends _{constructor(Nt){super(),this._doc=Nt,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return s().getBaseHref(this._doc)}onPopState(Nt){const Ce=s().getGlobalEventTarget(this._doc,"window");return Ce.addEventListener("popstate",Nt,!1),()=>Ce.removeEventListener("popstate",Nt)}onHashChange(Nt){const Ce=s().getGlobalEventTarget(this._doc,"window");return Ce.addEventListener("hashchange",Nt,!1),()=>Ce.removeEventListener("hashchange",Nt)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(Nt){this.location.pathname=Nt}pushState(Nt,Ce,ye){D()?this._history.pushState(Nt,Ce,ye):this.location.hash=ye}replaceState(Nt,Ce,ye){D()?this._history.replaceState(Nt,Ce,ye):this.location.hash=ye}forward(){this._history.forward()}back(){this._history.back()}historyGo(Nt=0){this._history.go(Nt)}getState(){return this._history.state}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(h))},pt.\u0275prov=(0,t.Yz7)({factory:R,token:pt,providedIn:"platform"}),pt})();function D(){return!!window.history.pushState}function R(){return new T((0,t.LFG)(h))}function j(pt,an){if(0==pt.length)return an;if(0==an.length)return pt;let Nt=0;return pt.endsWith("/")&&Nt++,an.startsWith("/")&&Nt++,2==Nt?pt+an.substring(1):1==Nt?pt+an:pt+"/"+an}function H(pt){const an=pt.match(/#|\?|$/),Nt=an&&an.index||pt.length;return pt.slice(0,Nt-("/"===pt[Nt-1]?1:0))+pt.slice(Nt)}function z(pt){return pt&&"?"!==pt[0]?"?"+pt:pt}let U=(()=>{class pt{historyGo(Nt){throw new Error("Not implemented")}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275prov=(0,t.Yz7)({factory:M,token:pt,providedIn:"root"}),pt})();function M(pt){const an=(0,t.LFG)(h).location;return new J((0,t.LFG)(_),an&&an.origin||"")}const I=new t.OlP("appBaseHref");let J=(()=>{class pt extends U{constructor(Nt,Ce){if(super(),this._platformLocation=Nt,this._removeListenerFns=[],null==Ce&&(Ce=this._platformLocation.getBaseHrefFromDOM()),null==Ce)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=Ce}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Nt){this._removeListenerFns.push(this._platformLocation.onPopState(Nt),this._platformLocation.onHashChange(Nt))}getBaseHref(){return this._baseHref}prepareExternalUrl(Nt){return j(this._baseHref,Nt)}path(Nt=!1){const Ce=this._platformLocation.pathname+z(this._platformLocation.search),ye=this._platformLocation.hash;return ye&&Nt?`${Ce}${ye}`:Ce}pushState(Nt,Ce,ye,Ne){const Wt=this.prepareExternalUrl(ye+z(Ne));this._platformLocation.pushState(Nt,Ce,Wt)}replaceState(Nt,Ce,ye,Ne){const Wt=this.prepareExternalUrl(ye+z(Ne));this._platformLocation.replaceState(Nt,Ce,Wt)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(Nt=0){var Ce,ye;null===(ye=(Ce=this._platformLocation).historyGo)||void 0===ye||ye.call(Ce,Nt)}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(_),t.LFG(I,8))},pt.\u0275prov=t.Yz7({token:pt,factory:pt.\u0275fac}),pt})(),B=(()=>{class pt extends U{constructor(Nt,Ce){super(),this._platformLocation=Nt,this._baseHref="",this._removeListenerFns=[],null!=Ce&&(this._baseHref=Ce)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Nt){this._removeListenerFns.push(this._platformLocation.onPopState(Nt),this._platformLocation.onHashChange(Nt))}getBaseHref(){return this._baseHref}path(Nt=!1){let Ce=this._platformLocation.hash;return null==Ce&&(Ce="#"),Ce.length>0?Ce.substring(1):Ce}prepareExternalUrl(Nt){const Ce=j(this._baseHref,Nt);return Ce.length>0?"#"+Ce:Ce}pushState(Nt,Ce,ye,Ne){let Wt=this.prepareExternalUrl(ye+z(Ne));0==Wt.length&&(Wt=this._platformLocation.pathname),this._platformLocation.pushState(Nt,Ce,Wt)}replaceState(Nt,Ce,ye,Ne){let Wt=this.prepareExternalUrl(ye+z(Ne));0==Wt.length&&(Wt=this._platformLocation.pathname),this._platformLocation.replaceState(Nt,Ce,Wt)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(Nt=0){var Ce,ye;null===(ye=(Ce=this._platformLocation).historyGo)||void 0===ye||ye.call(Ce,Nt)}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(_),t.LFG(I,8))},pt.\u0275prov=t.Yz7({token:pt,factory:pt.\u0275fac}),pt})(),ie=(()=>{class pt{constructor(Nt,Ce){this._subject=new t.vpe,this._urlChangeListeners=[],this._platformStrategy=Nt;const ye=this._platformStrategy.getBaseHref();this._platformLocation=Ce,this._baseHref=H(ne(ye)),this._platformStrategy.onPopState(Ne=>{this._subject.emit({url:this.path(!0),pop:!0,state:Ne.state,type:Ne.type})})}path(Nt=!1){return this.normalize(this._platformStrategy.path(Nt))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(Nt,Ce=""){return this.path()==this.normalize(Nt+z(Ce))}normalize(Nt){return pt.stripTrailingSlash(function(pt,an){return pt&&an.startsWith(pt)?an.substring(pt.length):an}(this._baseHref,ne(Nt)))}prepareExternalUrl(Nt){return Nt&&"/"!==Nt[0]&&(Nt="/"+Nt),this._platformStrategy.prepareExternalUrl(Nt)}go(Nt,Ce="",ye=null){this._platformStrategy.pushState(ye,"",Nt,Ce),this._notifyUrlChangeListeners(this.prepareExternalUrl(Nt+z(Ce)),ye)}replaceState(Nt,Ce="",ye=null){this._platformStrategy.replaceState(ye,"",Nt,Ce),this._notifyUrlChangeListeners(this.prepareExternalUrl(Nt+z(Ce)),ye)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(Nt=0){var Ce,ye;null===(ye=(Ce=this._platformStrategy).historyGo)||void 0===ye||ye.call(Ce,Nt)}onUrlChange(Nt){this._urlChangeListeners.push(Nt),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(Ce=>{this._notifyUrlChangeListeners(Ce.url,Ce.state)}))}_notifyUrlChangeListeners(Nt="",Ce){this._urlChangeListeners.forEach(ye=>ye(Nt,Ce))}subscribe(Nt,Ce,ye){return this._subject.subscribe({next:Nt,error:Ce,complete:ye})}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(U),t.LFG(_))},pt.normalizeQueryParams=z,pt.joinWithSlash=j,pt.stripTrailingSlash=H,pt.\u0275prov=(0,t.Yz7)({factory:oe,token:pt,providedIn:"root"}),pt})();function oe(){return new ie((0,t.LFG)(U),(0,t.LFG)(_))}function ne(pt){return pt.replace(/\/index.html$/,"")}var ce=(()=>((ce=ce||{})[ce.Decimal=0]="Decimal",ce[ce.Percent=1]="Percent",ce[ce.Currency=2]="Currency",ce[ce.Scientific=3]="Scientific",ce))(),Ae=(()=>((Ae=Ae||{})[Ae.Zero=0]="Zero",Ae[Ae.One=1]="One",Ae[Ae.Two=2]="Two",Ae[Ae.Few=3]="Few",Ae[Ae.Many=4]="Many",Ae[Ae.Other=5]="Other",Ae))(),Se=(()=>((Se=Se||{})[Se.Format=0]="Format",Se[Se.Standalone=1]="Standalone",Se))(),Oe=(()=>((Oe=Oe||{})[Oe.Narrow=0]="Narrow",Oe[Oe.Abbreviated=1]="Abbreviated",Oe[Oe.Wide=2]="Wide",Oe[Oe.Short=3]="Short",Oe))(),be=(()=>((be=be||{})[be.Short=0]="Short",be[be.Medium=1]="Medium",be[be.Long=2]="Long",be[be.Full=3]="Full",be))(),ue=(()=>((ue=ue||{})[ue.Decimal=0]="Decimal",ue[ue.Group=1]="Group",ue[ue.List=2]="List",ue[ue.PercentSign=3]="PercentSign",ue[ue.PlusSign=4]="PlusSign",ue[ue.MinusSign=5]="MinusSign",ue[ue.Exponential=6]="Exponential",ue[ue.SuperscriptingExponent=7]="SuperscriptingExponent",ue[ue.PerMille=8]="PerMille",ue[ue.Infinity=9]="Infinity",ue[ue.NaN=10]="NaN",ue[ue.TimeSeparator=11]="TimeSeparator",ue[ue.CurrencyDecimal=12]="CurrencyDecimal",ue[ue.CurrencyGroup=13]="CurrencyGroup",ue))();function F(pt,an,Nt){const Ce=(0,t.cg1)(pt),Ne=Ht([Ce[t.wAp.DayPeriodsFormat],Ce[t.wAp.DayPeriodsStandalone]],an);return Ht(Ne,Nt)}function je(pt,an,Nt){const Ce=(0,t.cg1)(pt),Ne=Ht([Ce[t.wAp.DaysFormat],Ce[t.wAp.DaysStandalone]],an);return Ht(Ne,Nt)}function Et(pt,an,Nt){const Ce=(0,t.cg1)(pt),Ne=Ht([Ce[t.wAp.MonthsFormat],Ce[t.wAp.MonthsStandalone]],an);return Ht(Ne,Nt)}function Ot(pt,an){return Ht((0,t.cg1)(pt)[t.wAp.DateFormat],an)}function Qe(pt,an){return Ht((0,t.cg1)(pt)[t.wAp.TimeFormat],an)}function It(pt,an){return Ht((0,t.cg1)(pt)[t.wAp.DateTimeFormat],an)}function ae(pt,an){const Nt=(0,t.cg1)(pt),Ce=Nt[t.wAp.NumberSymbols][an];if(void 0===Ce){if(an===ue.CurrencyDecimal)return Nt[t.wAp.NumberSymbols][ue.Decimal];if(an===ue.CurrencyGroup)return Nt[t.wAp.NumberSymbols][ue.Group]}return Ce}function Ie(pt,an){return(0,t.cg1)(pt)[t.wAp.NumberFormats][an]}const ar=t.kL8;function Ln(pt){if(!pt[t.wAp.ExtraData])throw new Error(`Missing extra locale data for the locale "${pt[t.wAp.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Ht(pt,an){for(let Nt=an;Nt>-1;Nt--)if(void 0!==pt[Nt])return pt[Nt];throw new Error("Locale data API: locale data undefined")}function tr(pt){const[an,Nt]=pt.split(":");return{hours:+an,minutes:+Nt}}const dn=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Kn={},qn=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var Sn=(()=>((Sn=Sn||{})[Sn.Short=0]="Short",Sn[Sn.ShortGMT=1]="ShortGMT",Sn[Sn.Long=2]="Long",Sn[Sn.Extended=3]="Extended",Sn))(),$n=(()=>(($n=$n||{})[$n.FullYear=0]="FullYear",$n[$n.Month=1]="Month",$n[$n.Date=2]="Date",$n[$n.Hours=3]="Hours",$n[$n.Minutes=4]="Minutes",$n[$n.Seconds=5]="Seconds",$n[$n.FractionalSeconds=6]="FractionalSeconds",$n[$n.Day=7]="Day",$n))(),En=(()=>((En=En||{})[En.DayPeriods=0]="DayPeriods",En[En.Days=1]="Days",En[En.Months=2]="Months",En[En.Eras=3]="Eras",En))();function Fn(pt,an,Nt,Ce){let ye=function(pt){if(sn(pt))return pt;if("number"==typeof pt&&!isNaN(pt))return new Date(pt);if("string"==typeof pt){if(pt=pt.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(pt)){const[ye,Ne=1,Wt=1]=pt.split("-").map(Or=>+Or);return Dn(ye,Ne-1,Wt)}const Nt=parseFloat(pt);if(!isNaN(pt-Nt))return new Date(Nt);let Ce;if(Ce=pt.match(dn))return function(pt){const an=new Date(0);let Nt=0,Ce=0;const ye=pt[8]?an.setUTCFullYear:an.setFullYear,Ne=pt[8]?an.setUTCHours:an.setHours;pt[9]&&(Nt=Number(pt[9]+pt[10]),Ce=Number(pt[9]+pt[11])),ye.call(an,Number(pt[1]),Number(pt[2])-1,Number(pt[3]));const Wt=Number(pt[4]||0)-Nt,Or=Number(pt[5]||0)-Ce,Ni=Number(pt[6]||0),Yo=Math.floor(1e3*parseFloat("0."+(pt[7]||0)));return Ne.call(an,Wt,Or,Ni,Yo),an}(Ce)}const an=new Date(pt);if(!sn(an))throw new Error(`Unable to convert "${pt}" into a date`);return an}(pt);an=mn(Nt,an)||an;let Or,Wt=[];for(;an;){if(Or=qn.exec(an),!Or){Wt.push(an);break}{Wt=Wt.concat(Or.slice(1));const vs=Wt.pop();if(!vs)break;an=vs}}let Ni=ye.getTimezoneOffset();Ce&&(Ni=it(Ce,Ni),ye=function(pt,an,Nt){const ye=pt.getTimezoneOffset();return function(pt,an){return(pt=new Date(pt.getTime())).setMinutes(pt.getMinutes()+an),pt}(pt,-1*(it(an,ye)-ye))}(ye,Ce));let Yo="";return Wt.forEach(vs=>{const as=function(pt){if(nt[pt])return nt[pt];let an;switch(pt){case"G":case"GG":case"GGG":an=yn(En.Eras,Oe.Abbreviated);break;case"GGGG":an=yn(En.Eras,Oe.Wide);break;case"GGGGG":an=yn(En.Eras,Oe.Narrow);break;case"y":an=mt($n.FullYear,1,0,!1,!0);break;case"yy":an=mt($n.FullYear,2,0,!0,!0);break;case"yyy":an=mt($n.FullYear,3,0,!1,!0);break;case"yyyy":an=mt($n.FullYear,4,0,!1,!0);break;case"Y":an=Ue(1);break;case"YY":an=Ue(2,!0);break;case"YYY":an=Ue(3);break;case"YYYY":an=Ue(4);break;case"M":case"L":an=mt($n.Month,1,1);break;case"MM":case"LL":an=mt($n.Month,2,1);break;case"MMM":an=yn(En.Months,Oe.Abbreviated);break;case"MMMM":an=yn(En.Months,Oe.Wide);break;case"MMMMM":an=yn(En.Months,Oe.Narrow);break;case"LLL":an=yn(En.Months,Oe.Abbreviated,Se.Standalone);break;case"LLLL":an=yn(En.Months,Oe.Wide,Se.Standalone);break;case"LLLLL":an=yn(En.Months,Oe.Narrow,Se.Standalone);break;case"w":an=L(1);break;case"ww":an=L(2);break;case"W":an=L(1,!0);break;case"d":an=mt($n.Date,1);break;case"dd":an=mt($n.Date,2);break;case"c":case"cc":an=mt($n.Day,1);break;case"ccc":an=yn(En.Days,Oe.Abbreviated,Se.Standalone);break;case"cccc":an=yn(En.Days,Oe.Wide,Se.Standalone);break;case"ccccc":an=yn(En.Days,Oe.Narrow,Se.Standalone);break;case"cccccc":an=yn(En.Days,Oe.Short,Se.Standalone);break;case"E":case"EE":case"EEE":an=yn(En.Days,Oe.Abbreviated);break;case"EEEE":an=yn(En.Days,Oe.Wide);break;case"EEEEE":an=yn(En.Days,Oe.Narrow);break;case"EEEEEE":an=yn(En.Days,Oe.Short);break;case"a":case"aa":case"aaa":an=yn(En.DayPeriods,Oe.Abbreviated);break;case"aaaa":an=yn(En.DayPeriods,Oe.Wide);break;case"aaaaa":an=yn(En.DayPeriods,Oe.Narrow);break;case"b":case"bb":case"bbb":an=yn(En.DayPeriods,Oe.Abbreviated,Se.Standalone,!0);break;case"bbbb":an=yn(En.DayPeriods,Oe.Wide,Se.Standalone,!0);break;case"bbbbb":an=yn(En.DayPeriods,Oe.Narrow,Se.Standalone,!0);break;case"B":case"BB":case"BBB":an=yn(En.DayPeriods,Oe.Abbreviated,Se.Format,!0);break;case"BBBB":an=yn(En.DayPeriods,Oe.Wide,Se.Format,!0);break;case"BBBBB":an=yn(En.DayPeriods,Oe.Narrow,Se.Format,!0);break;case"h":an=mt($n.Hours,1,-12);break;case"hh":an=mt($n.Hours,2,-12);break;case"H":an=mt($n.Hours,1);break;case"HH":an=mt($n.Hours,2);break;case"m":an=mt($n.Minutes,1);break;case"mm":an=mt($n.Minutes,2);break;case"s":an=mt($n.Seconds,1);break;case"ss":an=mt($n.Seconds,2);break;case"S":an=mt($n.FractionalSeconds,1);break;case"SS":an=mt($n.FractionalSeconds,2);break;case"SSS":an=mt($n.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":an=jt(Sn.Short);break;case"ZZZZZ":an=jt(Sn.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":an=jt(Sn.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":an=jt(Sn.Long);break;default:return null}return nt[pt]=an,an}(vs);Yo+=as?as(ye,Nt,Ni):"''"===vs?"'":vs.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),Yo}function Dn(pt,an,Nt){const Ce=new Date(0);return Ce.setFullYear(pt,an,Nt),Ce.setHours(0,0,0),Ce}function mn(pt,an){const Nt=function(pt){return(0,t.cg1)(pt)[t.wAp.LocaleId]}(pt);if(Kn[Nt]=Kn[Nt]||{},Kn[Nt][an])return Kn[Nt][an];let Ce="";switch(an){case"shortDate":Ce=Ot(pt,be.Short);break;case"mediumDate":Ce=Ot(pt,be.Medium);break;case"longDate":Ce=Ot(pt,be.Long);break;case"fullDate":Ce=Ot(pt,be.Full);break;case"shortTime":Ce=Qe(pt,be.Short);break;case"mediumTime":Ce=Qe(pt,be.Medium);break;case"longTime":Ce=Qe(pt,be.Long);break;case"fullTime":Ce=Qe(pt,be.Full);break;case"short":const ye=mn(pt,"shortTime"),Ne=mn(pt,"shortDate");Ce=jn(It(pt,be.Short),[ye,Ne]);break;case"medium":const Wt=mn(pt,"mediumTime"),Or=mn(pt,"mediumDate");Ce=jn(It(pt,be.Medium),[Wt,Or]);break;case"long":const Ni=mn(pt,"longTime"),Yo=mn(pt,"longDate");Ce=jn(It(pt,be.Long),[Ni,Yo]);break;case"full":const vs=mn(pt,"fullTime"),as=mn(pt,"fullDate");Ce=jn(It(pt,be.Full),[vs,as])}return Ce&&(Kn[Nt][an]=Ce),Ce}function jn(pt,an){return an&&(pt=pt.replace(/\{([^}]+)}/g,function(Nt,Ce){return null!=an&&Ce in an?an[Ce]:Nt})),pt}function Xt(pt,an,Nt="-",Ce,ye){let Ne="";(pt<0||ye&&pt<=0)&&(ye?pt=1-pt:(pt=-pt,Ne=Nt));let Wt=String(pt);for(;Wt.length<an;)Wt="0"+Wt;return Ce&&(Wt=Wt.substr(Wt.length-an)),Ne+Wt}function mt(pt,an,Nt=0,Ce=!1,ye=!1){return function(Ne,Wt){let Or=function(pt,an){switch(pt){case $n.FullYear:return an.getFullYear();case $n.Month:return an.getMonth();case $n.Date:return an.getDate();case $n.Hours:return an.getHours();case $n.Minutes:return an.getMinutes();case $n.Seconds:return an.getSeconds();case $n.FractionalSeconds:return an.getMilliseconds();case $n.Day:return an.getDay();default:throw new Error(`Unknown DateType value "${pt}".`)}}(pt,Ne);if((Nt>0||Or>-Nt)&&(Or+=Nt),pt===$n.Hours)0===Or&&-12===Nt&&(Or=12);else if(pt===$n.FractionalSeconds)return function(pt,an){return Xt(pt,3).substr(0,an)}(Or,an);const Ni=ae(Wt,ue.MinusSign);return Xt(Or,an,Ni,Ce,ye)}}function yn(pt,an,Nt=Se.Format,Ce=!1){return function(ye,Ne){return function(pt,an,Nt,Ce,ye,Ne){switch(Nt){case En.Months:return Et(an,ye,Ce)[pt.getMonth()];case En.Days:return je(an,ye,Ce)[pt.getDay()];case En.DayPeriods:const Wt=pt.getHours(),Or=pt.getMinutes();if(Ne){const Yo=function(pt){const an=(0,t.cg1)(pt);return Ln(an),(an[t.wAp.ExtraData][2]||[]).map(Ce=>"string"==typeof Ce?tr(Ce):[tr(Ce[0]),tr(Ce[1])])}(an),vs=function(pt,an,Nt){const Ce=(0,t.cg1)(pt);Ln(Ce);const Ne=Ht([Ce[t.wAp.ExtraData][0],Ce[t.wAp.ExtraData][1]],an)||[];return Ht(Ne,Nt)||[]}(an,ye,Ce),as=Yo.findIndex(Lo=>{if(Array.isArray(Lo)){const[Zo,Ta]=Lo,hl=Wt>=Zo.hours&&Or>=Zo.minutes,Oa=Wt<Ta.hours||Wt===Ta.hours&&Or<Ta.minutes;if(Zo.hours<Ta.hours){if(hl&&Oa)return!0}else if(hl||Oa)return!0}else if(Lo.hours===Wt&&Lo.minutes===Or)return!0;return!1});if(-1!==as)return vs[as]}return F(an,ye,Ce)[Wt<12?0:1];case En.Eras:return function(pt,an){return Ht((0,t.cg1)(pt)[t.wAp.Eras],an)}(an,Ce)[pt.getFullYear()<=0?0:1];default:throw new Error(`unexpected translation type ${Nt}`)}}(ye,Ne,pt,an,Nt,Ce)}}function jt(pt){return function(an,Nt,Ce){const ye=-1*Ce,Ne=ae(Nt,ue.MinusSign),Wt=ye>0?Math.floor(ye/60):Math.ceil(ye/60);switch(pt){case Sn.Short:return(ye>=0?"+":"")+Xt(Wt,2,Ne)+Xt(Math.abs(ye%60),2,Ne);case Sn.ShortGMT:return"GMT"+(ye>=0?"+":"")+Xt(Wt,1,Ne);case Sn.Long:return"GMT"+(ye>=0?"+":"")+Xt(Wt,2,Ne)+":"+Xt(Math.abs(ye%60),2,Ne);case Sn.Extended:return 0===Ce?"Z":(ye>=0?"+":"")+Xt(Wt,2,Ne)+":"+Xt(Math.abs(ye%60),2,Ne);default:throw new Error(`Unknown zone width "${pt}"`)}}}function ht(pt){return Dn(pt.getFullYear(),pt.getMonth(),pt.getDate()+(4-pt.getDay()))}function L(pt,an=!1){return function(Nt,Ce){let ye;if(an){const Ne=new Date(Nt.getFullYear(),Nt.getMonth(),1).getDay()-1,Wt=Nt.getDate();ye=1+Math.floor((Wt+Ne)/7)}else{const Ne=ht(Nt),Wt=function(pt){const an=Dn(pt,0,1).getDay();return Dn(pt,0,1+(an<=4?4:11)-an)}(Ne.getFullYear()),Or=Ne.getTime()-Wt.getTime();ye=1+Math.round(Or/6048e5)}return Xt(ye,pt,ae(Ce,ue.MinusSign))}}function Ue(pt,an=!1){return function(Nt,Ce){return Xt(ht(Nt).getFullYear(),pt,ae(Ce,ue.MinusSign),an)}}const nt={};function it(pt,an){pt=pt.replace(/:/g,"");const Nt=Date.parse("Jan 01, 1970 00:00:00 "+pt)/6e4;return isNaN(Nt)?an:Nt}function sn(pt){return pt instanceof Date&&!isNaN(pt.valueOf())}const An=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Mr(pt,an,Nt,Ce,ye,Ne,Wt=!1){let Or="",Ni=!1;if(isFinite(pt)){let Yo=function(pt){let Ce,ye,Ne,Wt,Or,an=Math.abs(pt)+"",Nt=0;for((ye=an.indexOf("."))>-1&&(an=an.replace(".","")),(Ne=an.search(/e/i))>0?(ye<0&&(ye=Ne),ye+=+an.slice(Ne+1),an=an.substring(0,Ne)):ye<0&&(ye=an.length),Ne=0;"0"===an.charAt(Ne);Ne++);if(Ne===(Or=an.length))Ce=[0],ye=1;else{for(Or--;"0"===an.charAt(Or);)Or--;for(ye-=Ne,Ce=[],Wt=0;Ne<=Or;Ne++,Wt++)Ce[Wt]=Number(an.charAt(Ne))}return ye>22&&(Ce=Ce.splice(0,21),Nt=ye-1,ye=1),{digits:Ce,exponent:Nt,integerLen:ye}}(pt);Wt&&(Yo=function(pt){if(0===pt.digits[0])return pt;const an=pt.digits.length-pt.integerLen;return pt.exponent?pt.exponent+=2:(0===an?pt.digits.push(0,0):1===an&&pt.digits.push(0),pt.integerLen+=2),pt}(Yo));let vs=an.minInt,as=an.minFrac,Lo=an.maxFrac;if(Ne){const Es=Ne.match(An);if(null===Es)throw new Error(`${Ne} is not a valid digit info`);const $o=Es[1],wl=Es[3],_l=Es[5];null!=$o&&(vs=se($o)),null!=wl&&(as=se(wl)),null!=_l?Lo=se(_l):null!=wl&&as>Lo&&(Lo=as)}!function(pt,an,Nt){if(an>Nt)throw new Error(`The minimum number of digits after fraction (${an}) is higher than the maximum (${Nt}).`);let Ce=pt.digits,ye=Ce.length-pt.integerLen;const Ne=Math.min(Math.max(an,ye),Nt);let Wt=Ne+pt.integerLen,Or=Ce[Wt];if(Wt>0){Ce.splice(Math.max(pt.integerLen,Wt));for(let as=Wt;as<Ce.length;as++)Ce[as]=0}else{ye=Math.max(0,ye),pt.integerLen=1,Ce.length=Math.max(1,Wt=Ne+1),Ce[0]=0;for(let as=1;as<Wt;as++)Ce[as]=0}if(Or>=5)if(Wt-1<0){for(let as=0;as>Wt;as--)Ce.unshift(0),pt.integerLen++;Ce.unshift(1),pt.integerLen++}else Ce[Wt-1]++;for(;ye<Math.max(0,Ne);ye++)Ce.push(0);let Ni=0!==Ne;const Yo=an+pt.integerLen,vs=Ce.reduceRight(function(as,Lo,Zo,Ta){return Ta[Zo]=(Lo+=as)<10?Lo:Lo-10,Ni&&(0===Ta[Zo]&&Zo>=Yo?Ta.pop():Ni=!1),Lo>=10?1:0},0);vs&&(Ce.unshift(vs),pt.integerLen++)}(Yo,as,Lo);let Zo=Yo.digits,Ta=Yo.integerLen;const hl=Yo.exponent;let Oa=[];for(Ni=Zo.every(Es=>!Es);Ta<vs;Ta++)Zo.unshift(0);for(;Ta<0;Ta++)Zo.unshift(0);Ta>0?Oa=Zo.splice(Ta,Zo.length):(Oa=Zo,Zo=[0]);const ba=[];for(Zo.length>=an.lgSize&&ba.unshift(Zo.splice(-an.lgSize,Zo.length).join(""));Zo.length>an.gSize;)ba.unshift(Zo.splice(-an.gSize,Zo.length).join(""));Zo.length&&ba.unshift(Zo.join("")),Or=ba.join(ae(Nt,Ce)),Oa.length&&(Or+=ae(Nt,ye)+Oa.join("")),hl&&(Or+=ae(Nt,ue.Exponential)+"+"+hl)}else Or=ae(Nt,ue.Infinity);return Or=pt<0&&!Ni?an.negPre+Or+an.negSuf:an.posPre+Or+an.posSuf,Or}function Oi(pt,an="-"){const Nt={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},Ce=pt.split(";"),ye=Ce[0],Ne=Ce[1],Wt=-1!==ye.indexOf(".")?ye.split("."):[ye.substring(0,ye.lastIndexOf("0")+1),ye.substring(ye.lastIndexOf("0")+1)],Or=Wt[0],Ni=Wt[1]||"";Nt.posPre=Or.substr(0,Or.indexOf("#"));for(let vs=0;vs<Ni.length;vs++){const as=Ni.charAt(vs);"0"===as?Nt.minFrac=Nt.maxFrac=vs+1:"#"===as?Nt.maxFrac=vs+1:Nt.posSuf+=as}const Yo=Or.split(",");if(Nt.gSize=Yo[1]?Yo[1].length:0,Nt.lgSize=Yo[2]||Yo[1]?(Yo[2]||Yo[1]).length:0,Ne){const vs=ye.length-Nt.posPre.length-Nt.posSuf.length,as=Ne.indexOf("#");Nt.negPre=Ne.substr(0,as).replace(/'/g,""),Nt.negSuf=Ne.substr(as+vs).replace(/'/g,"")}else Nt.negPre=an+Nt.posPre,Nt.negSuf=Nt.posSuf;return Nt}function se(pt){const an=parseInt(pt);if(isNaN(an))throw new Error("Invalid integer literal when parsing "+pt);return an}class ct{}let Xe=(()=>{class pt extends ct{constructor(Nt){super(),this.locale=Nt}getPluralCategory(Nt,Ce){switch(ar(Ce||this.locale)(Nt)){case Ae.Zero:return"zero";case Ae.One:return"one";case Ae.Two:return"two";case Ae.Few:return"few";case Ae.Many:return"many";default:return"other"}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(t.soG))},pt.\u0275prov=t.Yz7({token:pt,factory:pt.\u0275fac}),pt})();function Ct(pt,an){an=encodeURIComponent(an);for(const Nt of pt.split(";")){const Ce=Nt.indexOf("="),[ye,Ne]=-1==Ce?[Nt,""]:[Nt.slice(0,Ce),Nt.slice(Ce+1)];if(ye.trim()===an)return decodeURIComponent(Ne)}return null}let rt=(()=>{class pt{constructor(Nt,Ce,ye,Ne){this._iterableDiffers=Nt,this._keyValueDiffers=Ce,this._ngEl=ye,this._renderer=Ne,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(Nt){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof Nt?Nt.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(Nt){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof Nt?Nt.split(/\s+/):Nt,this._rawClass&&((0,t.sIi)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const Nt=this._iterableDiffer.diff(this._rawClass);Nt&&this._applyIterableChanges(Nt)}else if(this._keyValueDiffer){const Nt=this._keyValueDiffer.diff(this._rawClass);Nt&&this._applyKeyValueChanges(Nt)}}_applyKeyValueChanges(Nt){Nt.forEachAddedItem(Ce=>this._toggleClass(Ce.key,Ce.currentValue)),Nt.forEachChangedItem(Ce=>this._toggleClass(Ce.key,Ce.currentValue)),Nt.forEachRemovedItem(Ce=>{Ce.previousValue&&this._toggleClass(Ce.key,!1)})}_applyIterableChanges(Nt){Nt.forEachAddedItem(Ce=>{if("string"!=typeof Ce.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${(0,t.AaK)(Ce.item)}`);this._toggleClass(Ce.item,!0)}),Nt.forEachRemovedItem(Ce=>this._toggleClass(Ce.item,!1))}_applyClasses(Nt){Nt&&(Array.isArray(Nt)||Nt instanceof Set?Nt.forEach(Ce=>this._toggleClass(Ce,!0)):Object.keys(Nt).forEach(Ce=>this._toggleClass(Ce,!!Nt[Ce])))}_removeClasses(Nt){Nt&&(Array.isArray(Nt)||Nt instanceof Set?Nt.forEach(Ce=>this._toggleClass(Ce,!1)):Object.keys(Nt).forEach(Ce=>this._toggleClass(Ce,!1)))}_toggleClass(Nt,Ce){(Nt=Nt.trim())&&Nt.split(/\s+/g).forEach(ye=>{Ce?this._renderer.addClass(this._ngEl.nativeElement,ye):this._renderer.removeClass(this._ngEl.nativeElement,ye)})}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.ZZ4),t.Y36(t.aQg),t.Y36(t.SBq),t.Y36(t.Qsj))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),pt})();class qe{constructor(an,Nt,Ce,ye){this.$implicit=an,this.ngForOf=Nt,this.index=Ce,this.count=ye}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let $t=(()=>{class pt{constructor(Nt,Ce,ye){this._viewContainer=Nt,this._template=Ce,this._differs=ye,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(Nt){this._ngForOf=Nt,this._ngForOfDirty=!0}set ngForTrackBy(Nt){this._trackByFn=Nt}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(Nt){Nt&&(this._template=Nt)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const Nt=this._ngForOf;if(!this._differ&&Nt)try{this._differ=this._differs.find(Nt).create(this.ngForTrackBy)}catch(Ce){throw new Error(`Cannot find a differ supporting object '${Nt}' of type '${function(pt){return pt.name||typeof pt}(Nt)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const Nt=this._differ.diff(this._ngForOf);Nt&&this._applyChanges(Nt)}}_applyChanges(Nt){const Ce=[];Nt.forEachOperation((ye,Ne,Wt)=>{if(null==ye.previousIndex){const Or=this._viewContainer.createEmbeddedView(this._template,new qe(null,this._ngForOf,-1,-1),null===Wt?void 0:Wt),Ni=new or(ye,Or);Ce.push(Ni)}else if(null==Wt)this._viewContainer.remove(null===Ne?void 0:Ne);else if(null!==Ne){const Or=this._viewContainer.get(Ne);this._viewContainer.move(Or,Wt);const Ni=new or(ye,Or);Ce.push(Ni)}});for(let ye=0;ye<Ce.length;ye++)this._perViewChange(Ce[ye].view,Ce[ye].record);for(let ye=0,Ne=this._viewContainer.length;ye<Ne;ye++){const Wt=this._viewContainer.get(ye);Wt.context.index=ye,Wt.context.count=Ne,Wt.context.ngForOf=this._ngForOf}Nt.forEachIdentityChange(ye=>{this._viewContainer.get(ye.currentIndex).context.$implicit=ye.item})}_perViewChange(Nt,Ce){Nt.context.$implicit=Ce.item}static ngTemplateContextGuard(Nt,Ce){return!0}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b),t.Y36(t.Rgc),t.Y36(t.ZZ4))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),pt})();class or{constructor(an,Nt){this.record=an,this.view=Nt}}let Vr=(()=>{class pt{constructor(Nt,Ce){this._viewContainer=Nt,this._context=new Cr,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=Ce}set ngIf(Nt){this._context.$implicit=this._context.ngIf=Nt,this._updateView()}set ngIfThen(Nt){ai("ngIfThen",Nt),this._thenTemplateRef=Nt,this._thenViewRef=null,this._updateView()}set ngIfElse(Nt){ai("ngIfElse",Nt),this._elseTemplateRef=Nt,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(Nt,Ce){return!0}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b),t.Y36(t.Rgc))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),pt})();class Cr{constructor(){this.$implicit=null,this.ngIf=null}}function ai(pt,an){if(an&&!an.createEmbeddedView)throw new Error(`${pt} must be a TemplateRef, but received '${(0,t.AaK)(an)}'.`)}class Dr{constructor(an,Nt){this._viewContainerRef=an,this._templateRef=Nt,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(an){an&&!this._created?this.create():!an&&this._created&&this.destroy()}}let Jr=(()=>{class pt{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(Nt){this._ngSwitch=Nt,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(Nt){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(Nt)}_matchCase(Nt){const Ce=Nt==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||Ce,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),Ce}_updateDefaultCases(Nt){if(this._defaultViews&&Nt!==this._defaultUsed){this._defaultUsed=Nt;for(let Ce=0;Ce<this._defaultViews.length;Ce++)this._defaultViews[Ce].enforceState(Nt)}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"}}),pt})(),rn=(()=>{class pt{constructor(Nt,Ce,ye){this.ngSwitch=ye,ye._addCase(),this._view=new Dr(Nt,Ce)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b),t.Y36(t.Rgc),t.Y36(Jr,9))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),pt})(),fi=(()=>{class pt{constructor(Nt,Ce,ye){ye._addDefault(new Dr(Nt,Ce))}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b),t.Y36(t.Rgc),t.Y36(Jr,9))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngSwitchDefault",""]]}),pt})(),ki=(()=>{class pt{constructor(Nt,Ce,ye){this._ngEl=Nt,this._differs=Ce,this._renderer=ye,this._ngStyle=null,this._differ=null}set ngStyle(Nt){this._ngStyle=Nt,!this._differ&&Nt&&(this._differ=this._differs.find(Nt).create())}ngDoCheck(){if(this._differ){const Nt=this._differ.diff(this._ngStyle);Nt&&this._applyChanges(Nt)}}_setStyle(Nt,Ce){const[ye,Ne]=Nt.split(".");null!=(Ce=null!=Ce&&Ne?`${Ce}${Ne}`:Ce)?this._renderer.setStyle(this._ngEl.nativeElement,ye,Ce):this._renderer.removeStyle(this._ngEl.nativeElement,ye)}_applyChanges(Nt){Nt.forEachRemovedItem(Ce=>this._setStyle(Ce.key,null)),Nt.forEachAddedItem(Ce=>this._setStyle(Ce.key,Ce.currentValue)),Nt.forEachChangedItem(Ce=>this._setStyle(Ce.key,Ce.currentValue))}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.SBq),t.Y36(t.aQg),t.Y36(t.Qsj))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),pt})(),to=(()=>{class pt{constructor(Nt){this._viewContainerRef=Nt,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(Nt){if(Nt.ngTemplateOutlet){const Ce=this._viewContainerRef;this._viewRef&&Ce.remove(Ce.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?Ce.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&Nt.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[t.TTD]}),pt})();function Wi(pt,an){return Error(`InvalidPipeArgument: '${an}' for pipe '${(0,t.AaK)(pt)}'`)}class eo{createSubscription(an,Nt){return an.subscribe({next:Nt,error:Ce=>{throw Ce}})}dispose(an){an.unsubscribe()}onDestroy(an){an.unsubscribe()}}class Gi{createSubscription(an,Nt){return an.then(Nt,Ce=>{throw Ce})}dispose(an){}onDestroy(an){}}const Wo=new Gi,Ro=new eo;let Bo=(()=>{class pt{constructor(Nt){this._ref=Nt,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(Nt){return this._obj?Nt!==this._obj?(this._dispose(),this.transform(Nt)):this._latestValue:(Nt&&this._subscribe(Nt),this._latestValue)}_subscribe(Nt){this._obj=Nt,this._strategy=this._selectStrategy(Nt),this._subscription=this._strategy.createSubscription(Nt,Ce=>this._updateLatestValue(Nt,Ce))}_selectStrategy(Nt){if((0,t.QGY)(Nt))return Wo;if((0,t.F4k)(Nt))return Ro;throw Wi(pt,Nt)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(Nt,Ce){Nt===this._obj&&(this._latestValue=Ce,this._ref.markForCheck())}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.sBO,16))},pt.\u0275pipe=t.Yjl({name:"async",type:pt,pure:!1}),pt})(),Ko=(()=>{class pt{transform(Nt){if(null==Nt)return null;if("string"!=typeof Nt)throw Wi(pt,Nt);return Nt.toLowerCase()}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275pipe=t.Yjl({name:"lowercase",type:pt,pure:!0}),pt})();const ts=/(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])\S*/g;let ua=(()=>{class pt{transform(Nt){if(null==Nt)return null;if("string"!=typeof Nt)throw Wi(pt,Nt);return Nt.replace(ts,Ce=>Ce[0].toUpperCase()+Ce.substr(1).toLowerCase())}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275pipe=t.Yjl({name:"titlecase",type:pt,pure:!0}),pt})(),ds=(()=>{class pt{transform(Nt){if(null==Nt)return null;if("string"!=typeof Nt)throw Wi(pt,Nt);return Nt.toUpperCase()}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275pipe=t.Yjl({name:"uppercase",type:pt,pure:!0}),pt})(),qo=(()=>{class pt{constructor(Nt){this.locale=Nt}transform(Nt,Ce="mediumDate",ye,Ne){if(null==Nt||""===Nt||Nt!=Nt)return null;try{return Fn(Nt,Ce,Ne||this.locale,ye)}catch(Wt){throw Wi(pt,Wt.message)}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.soG,16))},pt.\u0275pipe=t.Yjl({name:"date",type:pt,pure:!0}),pt})();const oa=/#/g;let Er=(()=>{class pt{constructor(Nt){this._localization=Nt}transform(Nt,Ce,ye){if(null==Nt)return"";if("object"!=typeof Ce||null===Ce)throw Wi(pt,Ce);return Ce[function(pt,an,Nt,Ce){let ye=`=${pt}`;if(an.indexOf(ye)>-1||(ye=Nt.getPluralCategory(pt,Ce),an.indexOf(ye)>-1))return ye;if(an.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${pt}"`)}(Nt,Object.keys(Ce),this._localization,ye)].replace(oa,Nt.toString())}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(ct,16))},pt.\u0275pipe=t.Yjl({name:"i18nPlural",type:pt,pure:!0}),pt})(),pn=(()=>{class pt{transform(Nt){return JSON.stringify(Nt,null,2)}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275pipe=t.Yjl({name:"json",type:pt,pure:!1}),pt})(),Ve=(()=>{class pt{constructor(Nt){this.differs=Nt,this.keyValues=[],this.compareFn=fn}transform(Nt,Ce=fn){if(!Nt||!(Nt instanceof Map)&&"object"!=typeof Nt)return null;this.differ||(this.differ=this.differs.find(Nt).create());const ye=this.differ.diff(Nt),Ne=Ce!==this.compareFn;return ye&&(this.keyValues=[],ye.forEachItem(Wt=>{this.keyValues.push(function(pt,an){return{key:pt,value:an}}(Wt.key,Wt.currentValue))})),(ye||Ne)&&(this.keyValues.sort(Ce),this.compareFn=Ce),this.keyValues}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.aQg,16))},pt.\u0275pipe=t.Yjl({name:"keyvalue",type:pt,pure:!1}),pt})();function fn(pt,an){const Nt=pt.key,Ce=an.key;if(Nt===Ce)return 0;if(void 0===Nt)return 1;if(void 0===Ce)return-1;if(null===Nt)return 1;if(null===Ce)return-1;if("string"==typeof Nt&&"string"==typeof Ce)return Nt<Ce?-1:1;if("number"==typeof Nt&&"number"==typeof Ce)return Nt-Ce;if("boolean"==typeof Nt&&"boolean"==typeof Ce)return Nt<Ce?-1:1;const ye=String(Nt),Ne=String(Ce);return ye==Ne?0:ye<Ne?-1:1}let Tn=(()=>{class pt{constructor(Nt){this._locale=Nt}transform(Nt,Ce,ye){if(!Ri(Nt))return null;ye=ye||this._locale;try{return function(pt,an,Nt){return Mr(pt,Oi(Ie(an,ce.Decimal),ae(an,ue.MinusSign)),an,ue.Group,ue.Decimal,Nt)}(wo(Nt),ye,Ce)}catch(Ne){throw Wi(pt,Ne.message)}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.soG,16))},pt.\u0275pipe=t.Yjl({name:"number",type:pt,pure:!0}),pt})(),$r=(()=>{class pt{constructor(Nt){this._locale=Nt}transform(Nt,Ce,ye){if(!Ri(Nt))return null;ye=ye||this._locale;try{return function(pt,an,Nt){return Mr(pt,Oi(Ie(an,ce.Percent),ae(an,ue.MinusSign)),an,ue.Group,ue.Decimal,Nt,!0).replace(new RegExp("%","g"),ae(an,ue.PercentSign))}(wo(Nt),ye,Ce)}catch(Ne){throw Wi(pt,Ne.message)}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.soG,16))},pt.\u0275pipe=t.Yjl({name:"percent",type:pt,pure:!0}),pt})();function Ri(pt){return!(null==pt||""===pt||pt!=pt)}function wo(pt){if("string"==typeof pt&&!isNaN(Number(pt)-parseFloat(pt)))return Number(pt);if("number"!=typeof pt)throw new Error(`${pt} is not a number`);return pt}let Fi=(()=>{class pt{}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275mod=t.oAB({type:pt}),pt.\u0275inj=t.cJS({providers:[{provide:ct,useClass:Xe}]}),pt})();const cs="browser";function Ra(pt){return pt===cs}let Fo=(()=>{class pt{}return pt.\u0275prov=(0,t.Yz7)({token:pt,providedIn:"root",factory:()=>new tl((0,t.LFG)(h),window)}),pt})();class tl{constructor(an,Nt){this.document=an,this.window=Nt,this.offset=()=>[0,0]}setOffset(an){this.offset=Array.isArray(an)?()=>an:an}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(an){this.supportsScrolling()&&this.window.scrollTo(an[0],an[1])}scrollToAnchor(an){if(!this.supportsScrolling())return;const Nt=function(pt,an){const Nt=pt.getElementById(an)||pt.getElementsByName(an)[0];if(Nt)return Nt;if("function"==typeof pt.createTreeWalker&&pt.body&&(pt.body.createShadowRoot||pt.body.attachShadow)){const Ce=pt.createTreeWalker(pt.body,NodeFilter.SHOW_ELEMENT);let ye=Ce.currentNode;for(;ye;){const Ne=ye.shadowRoot;if(Ne){const Wt=Ne.getElementById(an)||Ne.querySelector(`[name="${an}"]`);if(Wt)return Wt}ye=Ce.nextNode()}}return null}(this.document,an);Nt&&(this.scrollToElement(Nt),this.attemptFocus(Nt))}setHistoryScrollRestoration(an){if(this.supportScrollRestoration()){const Nt=this.window.history;Nt&&Nt.scrollRestoration&&(Nt.scrollRestoration=an)}}scrollToElement(an){const Nt=an.getBoundingClientRect(),Ce=Nt.left+this.window.pageXOffset,ye=Nt.top+this.window.pageYOffset,Ne=this.offset();this.window.scrollTo(Ce-Ne[0],ye-Ne[1])}attemptFocus(an){return an.focus(),this.document.activeElement===an}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const an=Ma(this.window.history)||Ma(Object.getPrototypeOf(this.window.history));return!(!an||!an.writable&&!an.set)}catch(an){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(an){return!1}}}function Ma(pt){return Object.getOwnPropertyDescriptor(pt,"scrollRestoration")}class ja{}},58497:(Ge,g,o)=>{"use strict";o.d(g,{TP:()=>$e,eN:()=>ue,JF:()=>Ht,UA:()=>Oe,LE:()=>U});var t=o(12057),e=o(74788),s=o(25917),a=o(18891),l=o(94612),u=o(45435),h=o(88002);class _{}class m{}class b{constructor(Kt){this.normalizedNames=new Map,this.lazyUpdate=null,Kt?this.lazyInit="string"==typeof Kt?()=>{this.headers=new Map,Kt.split("\n").forEach(dn=>{const Kn=dn.indexOf(":");if(Kn>0){const qn=dn.slice(0,Kn),Sn=qn.toLowerCase(),$n=dn.slice(Kn+1).trim();this.maybeSetNormalizedName(qn,Sn),this.headers.has(Sn)?this.headers.get(Sn).push($n):this.headers.set(Sn,[$n])}})}:()=>{this.headers=new Map,Object.keys(Kt).forEach(dn=>{let Kn=Kt[dn];const qn=dn.toLowerCase();"string"==typeof Kn&&(Kn=[Kn]),Kn.length>0&&(this.headers.set(qn,Kn),this.maybeSetNormalizedName(dn,qn))})}:this.headers=new Map}has(Kt){return this.init(),this.headers.has(Kt.toLowerCase())}get(Kt){this.init();const dn=this.headers.get(Kt.toLowerCase());return dn&&dn.length>0?dn[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(Kt){return this.init(),this.headers.get(Kt.toLowerCase())||null}append(Kt,dn){return this.clone({name:Kt,value:dn,op:"a"})}set(Kt,dn){return this.clone({name:Kt,value:dn,op:"s"})}delete(Kt,dn){return this.clone({name:Kt,value:dn,op:"d"})}maybeSetNormalizedName(Kt,dn){this.normalizedNames.has(dn)||this.normalizedNames.set(dn,Kt)}init(){this.lazyInit&&(this.lazyInit instanceof b?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(Kt=>this.applyUpdate(Kt)),this.lazyUpdate=null))}copyFrom(Kt){Kt.init(),Array.from(Kt.headers.keys()).forEach(dn=>{this.headers.set(dn,Kt.headers.get(dn)),this.normalizedNames.set(dn,Kt.normalizedNames.get(dn))})}clone(Kt){const dn=new b;return dn.lazyInit=this.lazyInit&&this.lazyInit instanceof b?this.lazyInit:this,dn.lazyUpdate=(this.lazyUpdate||[]).concat([Kt]),dn}applyUpdate(Kt){const dn=Kt.name.toLowerCase();switch(Kt.op){case"a":case"s":let Kn=Kt.value;if("string"==typeof Kn&&(Kn=[Kn]),0===Kn.length)return;this.maybeSetNormalizedName(Kt.name,dn);const qn=("a"===Kt.op?this.headers.get(dn):void 0)||[];qn.push(...Kn),this.headers.set(dn,qn);break;case"d":const Sn=Kt.value;if(Sn){let $n=this.headers.get(dn);if(!$n)return;$n=$n.filter(En=>-1===Sn.indexOf(En)),0===$n.length?(this.headers.delete(dn),this.normalizedNames.delete(dn)):this.headers.set(dn,$n)}else this.headers.delete(dn),this.normalizedNames.delete(dn)}}forEach(Kt){this.init(),Array.from(this.normalizedNames.keys()).forEach(dn=>Kt(this.normalizedNames.get(dn),this.headers.get(dn)))}}class T{encodeKey(Kt){return H(Kt)}encodeValue(Kt){return H(Kt)}decodeKey(Kt){return decodeURIComponent(Kt)}decodeValue(Kt){return decodeURIComponent(Kt)}}const R=/%(\d[a-f0-9])/gi,j={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function H(Cn){return encodeURIComponent(Cn).replace(R,(Kt,dn)=>{var Kn;return null!==(Kn=j[dn])&&void 0!==Kn?Kn:Kt})}function z(Cn){return`${Cn}`}class U{constructor(Kt={}){if(this.updates=null,this.cloneFrom=null,this.encoder=Kt.encoder||new T,Kt.fromString){if(Kt.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(Cn,Kt){const dn=new Map;return Cn.length>0&&Cn.replace(/^\?/,"").split("&").forEach(qn=>{const Sn=qn.indexOf("="),[$n,En]=-1==Sn?[Kt.decodeKey(qn),""]:[Kt.decodeKey(qn.slice(0,Sn)),Kt.decodeValue(qn.slice(Sn+1))],Fn=dn.get($n)||[];Fn.push(En),dn.set($n,Fn)}),dn}(Kt.fromString,this.encoder)}else Kt.fromObject?(this.map=new Map,Object.keys(Kt.fromObject).forEach(dn=>{const Kn=Kt.fromObject[dn];this.map.set(dn,Array.isArray(Kn)?Kn:[Kn])})):this.map=null}has(Kt){return this.init(),this.map.has(Kt)}get(Kt){this.init();const dn=this.map.get(Kt);return dn?dn[0]:null}getAll(Kt){return this.init(),this.map.get(Kt)||null}keys(){return this.init(),Array.from(this.map.keys())}append(Kt,dn){return this.clone({param:Kt,value:dn,op:"a"})}appendAll(Kt){const dn=[];return Object.keys(Kt).forEach(Kn=>{const qn=Kt[Kn];Array.isArray(qn)?qn.forEach(Sn=>{dn.push({param:Kn,value:Sn,op:"a"})}):dn.push({param:Kn,value:qn,op:"a"})}),this.clone(dn)}set(Kt,dn){return this.clone({param:Kt,value:dn,op:"s"})}delete(Kt,dn){return this.clone({param:Kt,value:dn,op:"d"})}toString(){return this.init(),this.keys().map(Kt=>{const dn=this.encoder.encodeKey(Kt);return this.map.get(Kt).map(Kn=>dn+"="+this.encoder.encodeValue(Kn)).join("&")}).filter(Kt=>""!==Kt).join("&")}clone(Kt){const dn=new U({encoder:this.encoder});return dn.cloneFrom=this.cloneFrom||this,dn.updates=(this.updates||[]).concat(Kt),dn}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(Kt=>this.map.set(Kt,this.cloneFrom.map.get(Kt))),this.updates.forEach(Kt=>{switch(Kt.op){case"a":case"s":const dn=("a"===Kt.op?this.map.get(Kt.param):void 0)||[];dn.push(z(Kt.value)),this.map.set(Kt.param,dn);break;case"d":if(void 0===Kt.value){this.map.delete(Kt.param);break}{let Kn=this.map.get(Kt.param)||[];const qn=Kn.indexOf(z(Kt.value));-1!==qn&&Kn.splice(qn,1),Kn.length>0?this.map.set(Kt.param,Kn):this.map.delete(Kt.param)}}}),this.cloneFrom=this.updates=null)}}class I{constructor(){this.map=new Map}set(Kt,dn){return this.map.set(Kt,dn),this}get(Kt){return this.map.has(Kt)||this.map.set(Kt,Kt.defaultValue()),this.map.get(Kt)}delete(Kt){return this.map.delete(Kt),this}keys(){return this.map.keys()}}function B(Cn){return"undefined"!=typeof ArrayBuffer&&Cn instanceof ArrayBuffer}function ie(Cn){return"undefined"!=typeof Blob&&Cn instanceof Blob}function oe(Cn){return"undefined"!=typeof FormData&&Cn instanceof FormData}class ne{constructor(Kt,dn,Kn,qn){let Sn;if(this.url=dn,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=Kt.toUpperCase(),function(Cn){switch(Cn){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||qn?(this.body=void 0!==Kn?Kn:null,Sn=qn):Sn=Kn,Sn&&(this.reportProgress=!!Sn.reportProgress,this.withCredentials=!!Sn.withCredentials,Sn.responseType&&(this.responseType=Sn.responseType),Sn.headers&&(this.headers=Sn.headers),Sn.context&&(this.context=Sn.context),Sn.params&&(this.params=Sn.params)),this.headers||(this.headers=new b),this.context||(this.context=new I),this.params){const $n=this.params.toString();if(0===$n.length)this.urlWithParams=dn;else{const En=dn.indexOf("?");this.urlWithParams=dn+(-1===En?"?":En<dn.length-1?"&":"")+$n}}else this.params=new U,this.urlWithParams=dn}serializeBody(){return null===this.body?null:B(this.body)||ie(this.body)||oe(this.body)||"undefined"!=typeof URLSearchParams&&this.body instanceof URLSearchParams||"string"==typeof this.body?this.body:this.body instanceof U?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||oe(this.body)?null:ie(this.body)?this.body.type||null:B(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof U?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(Kt={}){var dn;const Kn=Kt.method||this.method,qn=Kt.url||this.url,Sn=Kt.responseType||this.responseType,$n=void 0!==Kt.body?Kt.body:this.body,En=void 0!==Kt.withCredentials?Kt.withCredentials:this.withCredentials,Fn=void 0!==Kt.reportProgress?Kt.reportProgress:this.reportProgress;let Dn=Kt.headers||this.headers,mn=Kt.params||this.params;const jn=null!==(dn=Kt.context)&&void 0!==dn?dn:this.context;return void 0!==Kt.setHeaders&&(Dn=Object.keys(Kt.setHeaders).reduce((Xt,ut)=>Xt.set(ut,Kt.setHeaders[ut]),Dn)),Kt.setParams&&(mn=Object.keys(Kt.setParams).reduce((Xt,ut)=>Xt.set(ut,Kt.setParams[ut]),mn)),new ne(Kn,qn,$n,{params:mn,headers:Dn,context:jn,reportProgress:Fn,responseType:Sn,withCredentials:En})}}var he=(()=>((he=he||{})[he.Sent=0]="Sent",he[he.UploadProgress=1]="UploadProgress",he[he.ResponseHeader=2]="ResponseHeader",he[he.DownloadProgress=3]="DownloadProgress",he[he.Response=4]="Response",he[he.User=5]="User",he))();class ce{constructor(Kt,dn=200,Kn="OK"){this.headers=Kt.headers||new b,this.status=void 0!==Kt.status?Kt.status:dn,this.statusText=Kt.statusText||Kn,this.url=Kt.url||null,this.ok=this.status>=200&&this.status<300}}class Ae extends ce{constructor(Kt={}){super(Kt),this.type=he.ResponseHeader}clone(Kt={}){return new Ae({headers:Kt.headers||this.headers,status:void 0!==Kt.status?Kt.status:this.status,statusText:Kt.statusText||this.statusText,url:Kt.url||this.url||void 0})}}class Se extends ce{constructor(Kt={}){super(Kt),this.type=he.Response,this.body=void 0!==Kt.body?Kt.body:null}clone(Kt={}){return new Se({body:void 0!==Kt.body?Kt.body:this.body,headers:Kt.headers||this.headers,status:void 0!==Kt.status?Kt.status:this.status,statusText:Kt.statusText||this.statusText,url:Kt.url||this.url||void 0})}}class Oe extends ce{constructor(Kt){super(Kt,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${Kt.url||"(unknown url)"}`:`Http failure response for ${Kt.url||"(unknown url)"}: ${Kt.status} ${Kt.statusText}`,this.error=Kt.error||null}}function be(Cn,Kt){return{body:Kt,headers:Cn.headers,context:Cn.context,observe:Cn.observe,params:Cn.params,reportProgress:Cn.reportProgress,responseType:Cn.responseType,withCredentials:Cn.withCredentials}}let ue=(()=>{class Cn{constructor(dn){this.handler=dn}request(dn,Kn,qn={}){let Sn;if(dn instanceof ne)Sn=dn;else{let Fn,Dn;Fn=qn.headers instanceof b?qn.headers:new b(qn.headers),qn.params&&(Dn=qn.params instanceof U?qn.params:new U({fromObject:qn.params})),Sn=new ne(dn,Kn,void 0!==qn.body?qn.body:null,{headers:Fn,context:qn.context,params:Dn,reportProgress:qn.reportProgress,responseType:qn.responseType||"json",withCredentials:qn.withCredentials})}const $n=(0,s.of)(Sn).pipe((0,l.b)(Fn=>this.handler.handle(Fn)));if(dn instanceof ne||"events"===qn.observe)return $n;const En=$n.pipe((0,u.h)(Fn=>Fn instanceof Se));switch(qn.observe||"body"){case"body":switch(Sn.responseType){case"arraybuffer":return En.pipe((0,h.U)(Fn=>{if(null!==Fn.body&&!(Fn.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return Fn.body}));case"blob":return En.pipe((0,h.U)(Fn=>{if(null!==Fn.body&&!(Fn.body instanceof Blob))throw new Error("Response is not a Blob.");return Fn.body}));case"text":return En.pipe((0,h.U)(Fn=>{if(null!==Fn.body&&"string"!=typeof Fn.body)throw new Error("Response is not a string.");return Fn.body}));case"json":default:return En.pipe((0,h.U)(Fn=>Fn.body))}case"response":return En;default:throw new Error(`Unreachable: unhandled observe type ${qn.observe}}`)}}delete(dn,Kn={}){return this.request("DELETE",dn,Kn)}get(dn,Kn={}){return this.request("GET",dn,Kn)}head(dn,Kn={}){return this.request("HEAD",dn,Kn)}jsonp(dn,Kn){return this.request("JSONP",dn,{params:(new U).append(Kn,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(dn,Kn={}){return this.request("OPTIONS",dn,Kn)}patch(dn,Kn,qn={}){return this.request("PATCH",dn,be(qn,Kn))}post(dn,Kn,qn={}){return this.request("POST",dn,be(qn,Kn))}put(dn,Kn,qn={}){return this.request("PUT",dn,be(qn,Kn))}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(_))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})();class He{constructor(Kt,dn){this.next=Kt,this.interceptor=dn}handle(Kt){return this.interceptor.intercept(Kt,this.next)}}const $e=new e.OlP("HTTP_INTERCEPTORS");let F=(()=>{class Cn{intercept(dn,Kn){return Kn.handle(dn)}}return Cn.\u0275fac=function(dn){return new(dn||Cn)},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})();const It=/^\)\]\}',?\n/;let Ie=(()=>{class Cn{constructor(dn){this.xhrFactory=dn}handle(dn){if("JSONP"===dn.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new a.y(Kn=>{const qn=this.xhrFactory.build();if(qn.open(dn.method,dn.urlWithParams),dn.withCredentials&&(qn.withCredentials=!0),dn.headers.forEach((ut,mt)=>qn.setRequestHeader(ut,mt.join(","))),dn.headers.has("Accept")||qn.setRequestHeader("Accept","application/json, text/plain, */*"),!dn.headers.has("Content-Type")){const ut=dn.detectContentTypeHeader();null!==ut&&qn.setRequestHeader("Content-Type",ut)}if(dn.responseType){const ut=dn.responseType.toLowerCase();qn.responseType="json"!==ut?ut:"text"}const Sn=dn.serializeBody();let $n=null;const En=()=>{if(null!==$n)return $n;const ut=1223===qn.status?204:qn.status,mt=qn.statusText||"OK",Tt=new b(qn.getAllResponseHeaders()),yn=function(Cn){return"responseURL"in Cn&&Cn.responseURL?Cn.responseURL:/^X-Request-URL:/m.test(Cn.getAllResponseHeaders())?Cn.getResponseHeader("X-Request-URL"):null}(qn)||dn.url;return $n=new Ae({headers:Tt,status:ut,statusText:mt,url:yn}),$n},Fn=()=>{let{headers:ut,status:mt,statusText:Tt,url:yn}=En(),et=null;204!==mt&&(et=void 0===qn.response?qn.responseText:qn.response),0===mt&&(mt=et?200:0);let jt=mt>=200&&mt<300;if("json"===dn.responseType&&"string"==typeof et){const hn=et;et=et.replace(It,"");try{et=""!==et?JSON.parse(et):null}catch(Qn){et=hn,jt&&(jt=!1,et={error:Qn,text:et})}}jt?(Kn.next(new Se({body:et,headers:ut,status:mt,statusText:Tt,url:yn||void 0})),Kn.complete()):Kn.error(new Oe({error:et,headers:ut,status:mt,statusText:Tt,url:yn||void 0}))},Dn=ut=>{const{url:mt}=En(),Tt=new Oe({error:ut,status:qn.status||0,statusText:qn.statusText||"Unknown Error",url:mt||void 0});Kn.error(Tt)};let mn=!1;const jn=ut=>{mn||(Kn.next(En()),mn=!0);let mt={type:he.DownloadProgress,loaded:ut.loaded};ut.lengthComputable&&(mt.total=ut.total),"text"===dn.responseType&&!!qn.responseText&&(mt.partialText=qn.responseText),Kn.next(mt)},Xt=ut=>{let mt={type:he.UploadProgress,loaded:ut.loaded};ut.lengthComputable&&(mt.total=ut.total),Kn.next(mt)};return qn.addEventListener("load",Fn),qn.addEventListener("error",Dn),qn.addEventListener("timeout",Dn),qn.addEventListener("abort",Dn),dn.reportProgress&&(qn.addEventListener("progress",jn),null!==Sn&&qn.upload&&qn.upload.addEventListener("progress",Xt)),qn.send(Sn),Kn.next({type:he.Sent}),()=>{qn.removeEventListener("error",Dn),qn.removeEventListener("abort",Dn),qn.removeEventListener("load",Fn),qn.removeEventListener("timeout",Dn),dn.reportProgress&&(qn.removeEventListener("progress",jn),null!==Sn&&qn.upload&&qn.upload.removeEventListener("progress",Xt)),qn.readyState!==qn.DONE&&qn.abort()}})}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(t.JF))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})();const dt=new e.OlP("XSRF_COOKIE_NAME"),Jt=new e.OlP("XSRF_HEADER_NAME");class zt{}let ln=(()=>{class Cn{constructor(dn,Kn,qn){this.doc=dn,this.platform=Kn,this.cookieName=qn,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const dn=this.doc.cookie||"";return dn!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,t.Mx)(dn,this.cookieName),this.lastCookieString=dn),this.lastToken}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(t.K0),e.LFG(e.Lbi),e.LFG(dt))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})(),ar=(()=>{class Cn{constructor(dn,Kn){this.tokenService=dn,this.headerName=Kn}intercept(dn,Kn){const qn=dn.url.toLowerCase();if("GET"===dn.method||"HEAD"===dn.method||qn.startsWith("http://")||qn.startsWith("https://"))return Kn.handle(dn);const Sn=this.tokenService.getToken();return null!==Sn&&!dn.headers.has(this.headerName)&&(dn=dn.clone({headers:dn.headers.set(this.headerName,Sn)})),Kn.handle(dn)}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(zt),e.LFG(Jt))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})(),Ln=(()=>{class Cn{constructor(dn,Kn){this.backend=dn,this.injector=Kn,this.chain=null}handle(dn){if(null===this.chain){const Kn=this.injector.get($e,[]);this.chain=Kn.reduceRight((qn,Sn)=>new He(qn,Sn),this.backend)}return this.chain.handle(dn)}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(m),e.LFG(e.zs3))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})(),Mn=(()=>{class Cn{static disable(){return{ngModule:Cn,providers:[{provide:ar,useClass:F}]}}static withOptions(dn={}){return{ngModule:Cn,providers:[dn.cookieName?{provide:dt,useValue:dn.cookieName}:[],dn.headerName?{provide:Jt,useValue:dn.headerName}:[]]}}}return Cn.\u0275fac=function(dn){return new(dn||Cn)},Cn.\u0275mod=e.oAB({type:Cn}),Cn.\u0275inj=e.cJS({providers:[ar,{provide:$e,useExisting:ar,multi:!0},{provide:zt,useClass:ln},{provide:dt,useValue:"XSRF-TOKEN"},{provide:Jt,useValue:"X-XSRF-TOKEN"}]}),Cn})(),Ht=(()=>{class Cn{}return Cn.\u0275fac=function(dn){return new(dn||Cn)},Cn.\u0275mod=e.oAB({type:Cn}),Cn.\u0275inj=e.cJS({providers:[ue,{provide:_,useClass:Ln},Ie,{provide:m,useExisting:Ie}],imports:[[Mn.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),Cn})()},74788:(Ge,g,o)=>{"use strict";o.d(g,{deG:()=>wa,tb:()=>RS,AFp:()=>wS,ip1:()=>$T,CZH:()=>ym,hGG:()=>pO,z2F:()=>hv,sBO:()=>Ty,Sil:()=>pv,_Vd:()=>qh,UuU:()=>cy,EJc:()=>PS,SBq:()=>tp,qLn:()=>mc,vpe:()=>Bp,gxx:()=>_p,tBr:()=>Cs,XFs:()=>Mn,OlP:()=>rs,zs3:()=>ic,IIB:()=>o2,ZZ4:()=>am,aQg:()=>lm,soG:()=>Qy,YKP:()=>J1,v3s:()=>G2,h0i:()=>ch,PXZ:()=>U2,R0b:()=>Nf,FiY:()=>Ss,r_U:()=>s2,Lbi:()=>xS,g9A:()=>DS,Qsj:()=>YE,FYo:()=>Qh,JOm:()=>nc,Tiy:()=>W1,q3G:()=>bs,tp0:()=>Da,EAV:()=>J2,Rgc:()=>z_,dDg:()=>kS,DyG:()=>ll,GfV:()=>hy,i9L:()=>Va,s_b:()=>fm,ifc:()=>$n,eFA:()=>BS,G48:()=>P2,Gpc:()=>T,X6Q:()=>VT,_c5:()=>sO,VLi:()=>N2,c2e:()=>NS,zSh:()=>tf,wAp:()=>Xs,vHH:()=>H,EiD:()=>Uo,mCW:()=>Mu,qzn:()=>Su,JVY:()=>Pc,pB0:()=>Hd,eBb:()=>cd,L6k:()=>If,LAX:()=>lf,cg1:()=>D1,Tjo:()=>iO,kL8:()=>x1,yhl:()=>af,dqk:()=>jn,sIi:()=>sh,CqO:()=>_1,QGY:()=>h1,F4k:()=>Uv,RDi:()=>fa,AaK:()=>_,z3N:()=>ru,qOj:()=>I_,TTD:()=>Fi,_Bn:()=>ly,xp6:()=>vh,uIk:()=>k_,Tol:()=>a0,Gre:()=>E0,MT6:()=>T0,DjV:()=>C0,ekj:()=>E1,Suo:()=>oS,Xpm:()=>Ue,lG2:()=>sn,Yz7:()=>Qe,cJS:()=>ae,oAB:()=>Ut,Yjl:()=>An,Y36:()=>H_,_UZ:()=>kv,GkF:()=>$v,BQk:()=>p1,ynx:()=>Wg,qZA:()=>f1,TgZ:()=>d1,EpF:()=>Hv,n5z:()=>So,Ikx:()=>A1,SDv:()=>ry,QtT:()=>oy,DtL:()=>iy,N_p:()=>j1,pQV:()=>B1,Zx4:()=>sy,tHW:()=>U1,LFG:()=>sr,$8M:()=>Zi,NdJ:()=>g1,CRH:()=>sS,oxw:()=>Zv,ALo:()=>QC,lcZ:()=>XC,xi3:()=>KC,Dn7:()=>eS,Hsn:()=>Gv,F$t:()=>Vv,Q6J:()=>c1,s9C:()=>v1,MGl:()=>qg,hYB:()=>y1,DdM:()=>UC,VKq:()=>jC,WLB:()=>BC,kEZ:()=>YC,l5B:()=>ZC,qbA:()=>VC,iGM:()=>rS,MAs:()=>gt,pYS:()=>ap,Jf7:()=>wd,CHM:()=>pa,oJD:()=>Xl,uOi:()=>iu,LSH:()=>dl,kYT:()=>ot,Udp:()=>b1,d8E:()=>w1,YNc:()=>Y,W1O:()=>uS,_uU:()=>h0,Oqu:()=>S1,hij:()=>Qg,AsE:()=>M1,lnq:()=>O1,Gf:()=>iS});var t=o(79765),e=o(75319),s=o(18891),a=o(66682),l=o(18819);function u(r){for(let i in r)if(r[i]===u)return i;throw Error("Could not find renamed property on target object.")}function h(r,i){for(const c in i)i.hasOwnProperty(c)&&!r.hasOwnProperty(c)&&(r[c]=i[c])}function _(r){if("string"==typeof r)return r;if(Array.isArray(r))return"["+r.map(_).join(", ")+"]";if(null==r)return""+r;if(r.overriddenName)return`${r.overriddenName}`;if(r.name)return`${r.name}`;const i=r.toString();if(null==i)return""+i;const c=i.indexOf("\n");return-1===c?i:i.substring(0,c)}function m(r,i){return null==r||""===r?null===i?"":i:null==i||""===i?r:r+" "+i}const b=u({__forward_ref__:u});function T(r){return r.__forward_ref__=T,r.toString=function(){return _(this())},r}function D(r){return R(r)?r():r}function R(r){return"function"==typeof r&&r.hasOwnProperty(b)&&r.__forward_ref__===T}class H extends Error{constructor(i,c){super(function(r,i){return`${r?`NG0${r}: `:""}${i}`}(i,c)),this.code=i}}function M(r){return"string"==typeof r?r:null==r?"":String(r)}function I(r){return"function"==typeof r?r.name||r.toString():"object"==typeof r&&null!=r&&"function"==typeof r.type?r.type.name||r.type.toString():M(r)}function oe(r,i){const c=i?` in ${i}`:"";throw new H("201",`No provider for ${I(r)} found${c}`)}function lt(r,i,c,v){throw new Error(`ASSERTION ERROR: ${r}`+(null==v?"":` [Expected=> ${c} ${v} ${i} <=Actual]`))}function Qe(r){return{token:r.token,providedIn:r.providedIn||null,factory:r.factory,value:void 0}}function ae(r){return{providers:r.providers||[],imports:r.imports||[]}}function Ie(r){return dt(r,ar)||dt(r,Rn)}function dt(r,i){return r.hasOwnProperty(i)?r[i]:null}function ln(r){return r&&(r.hasOwnProperty(Ln)||r.hasOwnProperty(er))?r[Ln]:null}const ar=u({\u0275prov:u}),Ln=u({\u0275inj:u}),Rn=u({ngInjectableDef:u}),er=u({ngInjectorDef:u});var Mn=(()=>((Mn=Mn||{})[Mn.Default=0]="Default",Mn[Mn.Host=1]="Host",Mn[Mn.Self=2]="Self",Mn[Mn.SkipSelf=4]="SkipSelf",Mn[Mn.Optional=8]="Optional",Mn))();let Ht;function Yn(r){const i=Ht;return Ht=r,i}function Cn(r,i,c){const v=Ie(r);return v&&"root"==v.providedIn?void 0===v.value?v.value=v.factory():v.value:c&Mn.Optional?null:void 0!==i?i:void oe(_(r),"Injector")}function dn(r){return{toString:r}.toString()}var Kn=(()=>((Kn=Kn||{})[Kn.OnPush=0]="OnPush",Kn[Kn.Default=1]="Default",Kn))(),$n=(()=>(($n=$n||{})[$n.Emulated=0]="Emulated",$n[$n.None=2]="None",$n[$n.ShadowDom=3]="ShadowDom",$n))();const En="undefined"!=typeof globalThis&&globalThis,Fn="undefined"!=typeof window&&window,Dn="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,jn=En||"undefined"!=typeof global&&global||Fn||Dn,mt={},Tt=[],yn=u({\u0275cmp:u}),et=u({\u0275dir:u}),jt=u({\u0275pipe:u}),hn=u({\u0275mod:u}),Qn=u({\u0275loc:u}),Ir=u({\u0275fac:u}),ht=u({__NG_ELEMENT_ID__:u});let L=0;function Ue(r){return dn(()=>{const c={},v={type:r.type,providersResolver:null,decls:r.decls,vars:r.vars,factory:null,template:r.template||null,consts:r.consts||null,ngContentSelectors:r.ngContentSelectors,hostBindings:r.hostBindings||null,hostVars:r.hostVars||0,hostAttrs:r.hostAttrs||null,contentQueries:r.contentQueries||null,declaredInputs:c,inputs:null,outputs:null,exportAs:r.exportAs||null,onPush:r.changeDetection===Kn.OnPush,directiveDefs:null,pipeDefs:null,selectors:r.selectors||Tt,viewQuery:r.viewQuery||null,features:r.features||null,data:r.data||{},encapsulation:r.encapsulation||$n.Emulated,id:"c",styles:r.styles||Tt,_:null,setInput:null,schemas:r.schemas||null,tView:null},S=r.directives,k=r.features,te=r.pipes;return v.id+=L++,v.inputs=Nn(r.inputs,c),v.outputs=Nn(r.outputs),k&&k.forEach(le=>le(v)),v.directiveDefs=S?()=>("function"==typeof S?S():S).map(at):null,v.pipeDefs=te?()=>("function"==typeof te?te():te).map(it):null,v})}function at(r){return Bn(r)||function(r){return r[et]||null}(r)}function it(r){return function(r){return r[jt]||null}(r)}const Pt={};function Ut(r){return dn(()=>{const i={type:r.type,bootstrap:r.bootstrap||Tt,declarations:r.declarations||Tt,imports:r.imports||Tt,exports:r.exports||Tt,transitiveCompileScopes:null,schemas:r.schemas||null,id:r.id||null};return null!=r.id&&(Pt[r.id]=r.type),i})}function ot(r,i){return dn(()=>{const c=_r(r,!0);c.declarations=i.declarations||Tt,c.imports=i.imports||Tt,c.exports=i.exports||Tt})}function Nn(r,i){if(null==r)return mt;const c={};for(const v in r)if(r.hasOwnProperty(v)){let S=r[v],k=S;Array.isArray(S)&&(k=S[1],S=S[0]),c[S]=v,i&&(i[S]=k)}return c}const sn=Ue;function An(r){return{type:r.type,name:r.name,factory:null,pure:!1!==r.pure,onDestroy:r.type.prototype.ngOnDestroy||null}}function Bn(r){return r[yn]||null}function _r(r,i){const c=r[hn]||null;if(!c&&!0===i)throw new Error(`Type ${_(r)} does not have '\u0275mod' property.`);return c}function Ei(r){return Array.isArray(r)&&"object"==typeof r[1]}function wi(r){return Array.isArray(r)&&!0===r[1]}function _o(r){return 0!=(8&r.flags)}function ki(r){return 2==(2&r.flags)}function to(r){return 1==(1&r.flags)}function qi(r){return null!==r.template}function Wi(r){return 0!=(512&r[2])}function gi(r,i){return r.hasOwnProperty(Ir)?r[Ir]:null}class Hi{constructor(i,c,v){this.previousValue=i,this.currentValue=c,this.firstChange=v}isFirstChange(){return this.firstChange}}function Fi(){return cs}function cs(r){return r.type.prototype.ngOnChanges&&(r.setInput=da),ws}function ws(){const r=Ra(this),i=null==r?void 0:r.current;if(i){const c=r.previous;if(c===mt)r.previous=i;else for(let v in i)c[v]=i[v];r.current=null,this.ngOnChanges(i)}}function da(r,i,c,v){const S=Ra(r)||function(r,i){return r[xa]=i}(r,{previous:mt,current:null}),k=S.current||(S.current={}),te=S.previous,le=this.declaredInputs[c],Le=te[le];k[le]=new Hi(Le&&Le.currentValue,i,te===mt),r[v]=i}Fi.ngInherit=!0;const xa="__ngSimpleChanges__";function Ra(r){return r[xa]||null}let Ma;function fa(r){Ma=r}function Hs(){return void 0!==Ma?Ma:"undefined"!=typeof document?document:void 0}function pt(r){return!!r.listen}const Nt={createRenderer:(r,i)=>Hs()};function ye(r){for(;Array.isArray(r);)r=r[0];return r}function Or(r,i){return ye(i[r])}function Ni(r,i){return ye(i[r.index])}function vs(r,i){return r.data[i]}function as(r,i){return r[i]}function Lo(r,i){const c=i[r];return Ei(c)?c:c[0]}function Zo(r){return 4==(4&r[2])}function Ta(r){return 128==(128&r[2])}function Oa(r,i){return null==i?null:r[i]}function ba(r){r[18]=0}function Es(r,i){r[5]+=i;let c=r,v=r[3];for(;null!==v&&(1===i&&1===c[5]||-1===i&&0===c[5]);)v[5]+=i,c=v,v=v[3]}const $o={lFrame:In(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function Il(){return $o.bindingsEnabled}function Di(){return $o.lFrame.lView}function ys(){return $o.lFrame.tView}function pa(r){return $o.lFrame.contextLView=r,r[8]}function Vo(){let r=Ba();for(;null!==r&&64===r.type;)r=r.parent;return r}function Ba(){return $o.lFrame.currentTNode}function _s(){const r=$o.lFrame,i=r.currentTNode;return r.isParent?i:i.parent}function We(r,i){const c=$o.lFrame;c.currentTNode=r,c.isParent=i}function wt(){return $o.lFrame.isParent}function kt(){$o.lFrame.isParent=!1}function gn(){return $o.isInCheckNoChangesMode}function xr(r){$o.isInCheckNoChangesMode=r}function Zr(){const r=$o.lFrame;let i=r.bindingRootIndex;return-1===i&&(i=r.bindingRootIndex=r.tView.bindingStartIndex),i}function Pr(){return $o.lFrame.bindingIndex}function ni(){return $o.lFrame.bindingIndex++}function si(r){const i=$o.lFrame,c=i.bindingIndex;return i.bindingIndex=i.bindingIndex+r,c}function Ui(r){$o.lFrame.inI18n=r}function ro(r,i){const c=$o.lFrame;c.bindingIndex=c.bindingRootIndex=r,Bi(i)}function Bi(r){$o.lFrame.currentDirectiveIndex=r}function hi(r){const i=$o.lFrame.currentDirectiveIndex;return-1===i?null:r[i]}function Br(){return $o.lFrame.currentQueryIndex}function G(r){$o.lFrame.currentQueryIndex=r}function Me(r){const i=r[1];return 2===i.type?i.declTNode:1===i.type?r[6]:null}function ft(r,i,c){if(c&Mn.SkipSelf){let S=i,k=r;for(;!(S=S.parent,null!==S||c&Mn.Host||(S=Me(k),null===S||(k=k[15],10&S.type))););if(null===S)return!1;i=S,r=k}const v=$o.lFrame=Bt();return v.currentTNode=i,v.lView=r,!0}function Ft(r){const i=Bt(),c=r[1];$o.lFrame=i,i.currentTNode=c.firstChild,i.lView=r,i.tView=c,i.contextLView=r,i.bindingIndex=c.bindingStartIndex,i.inI18n=!1}function Bt(){const r=$o.lFrame,i=null===r?null:r.child;return null===i?In(r):i}function In(r){const i={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:r,child:null,inI18n:!1};return null!==r&&(r.child=i),i}function Xn(){const r=$o.lFrame;return $o.lFrame=r.parent,r.currentTNode=null,r.lView=null,r}const Sr=Xn;function pi(){const r=Xn();r.isParent=!0,r.tView=null,r.selectedIndex=-1,r.contextLView=null,r.elementDepthCount=0,r.currentDirectiveIndex=-1,r.currentNamespace=null,r.bindingRootIndex=-1,r.bindingIndex=-1,r.currentQueryIndex=0}function Un(){return $o.lFrame.selectedIndex}function lr(r){$o.lFrame.selectedIndex=r}function dr(){const r=$o.lFrame;return vs(r.tView,r.selectedIndex)}function Ki(r,i){for(let c=i.directiveStart,v=i.directiveEnd;c<v;c++){const k=r.data[c].type.prototype,{ngAfterContentInit:te,ngAfterContentChecked:le,ngAfterViewInit:Le,ngAfterViewChecked:vt,ngOnDestroy:Qt}=k;te&&(r.contentHooks||(r.contentHooks=[])).push(-c,te),le&&((r.contentHooks||(r.contentHooks=[])).push(c,le),(r.contentCheckHooks||(r.contentCheckHooks=[])).push(c,le)),Le&&(r.viewHooks||(r.viewHooks=[])).push(-c,Le),vt&&((r.viewHooks||(r.viewHooks=[])).push(c,vt),(r.viewCheckHooks||(r.viewCheckHooks=[])).push(c,vt)),null!=Qt&&(r.destroyHooks||(r.destroyHooks=[])).push(c,Qt)}}function Ho(r,i,c){ha(r,i,3,c)}function Yi(r,i,c,v){(3&r[2])===c&&ha(r,i,c,v)}function na(r,i){let c=r[2];(3&c)===i&&(c&=2047,c+=1,r[2]=c)}function ha(r,i,c,v){const k=null!=v?v:-1,te=i.length-1;let le=0;for(let Le=void 0!==v?65535&r[18]:0;Le<te;Le++)if("number"==typeof i[Le+1]){if(le=i[Le],null!=v&&le>=v)break}else i[Le]<0&&(r[18]+=65536),(le<k||-1==k)&&(gl(r,c,i,Le),r[18]=(4294901760&r[18])+Le+2),Le++}function gl(r,i,c,v){const S=c[v]<0,k=c[v+1],le=r[S?-c[v]:c[v]];if(S){if(r[2]>>11<r[18]>>16&&(3&r[2])===i){r[2]+=2048;try{k.call(le)}finally{}}}else try{k.call(le)}finally{}}class Ts{constructor(i,c,v){this.factory=i,this.resolving=!1,this.canSeeViewProviders=c,this.injectImpl=v}}function Cl(r,i,c){const v=pt(r);let S=0;for(;S<c.length;){const k=c[S];if("number"==typeof k){if(0!==k)break;S++;const te=c[S++],le=c[S++],Le=c[S++];v?r.setAttribute(i,le,Le,te):i.setAttributeNS(te,le,Le)}else{const te=k,le=c[++S];kl(te)?v&&r.setProperty(i,te,le):v?r.setAttribute(i,te,le):i.setAttribute(te,le),S++}}return S}function ql(r){return 3===r||4===r||6===r}function kl(r){return 64===r.charCodeAt(0)}function Zl(r,i){if(null!==i&&0!==i.length)if(null===r||0===r.length)r=i.slice();else{let c=-1;for(let v=0;v<i.length;v++){const S=i[v];"number"==typeof S?c=S:0===c||eu(r,c,S,null,-1===c||2===c?i[++v]:null)}}return r}function eu(r,i,c,v,S){let k=0,te=r.length;if(-1===i)te=-1;else for(;k<r.length;){const le=r[k++];if("number"==typeof le){if(le===i){te=-1;break}if(le>i){te=k-1;break}}}for(;k<r.length;){const le=r[k];if("number"==typeof le)break;if(le===c){if(null===v)return void(null!==S&&(r[k+1]=S));if(v===r[k+1])return void(r[k+2]=S)}k++,null!==v&&k++,null!==S&&k++}-1!==te&&(r.splice(te,0,i),k=te+1),r.splice(k++,0,c),null!==v&&r.splice(k++,0,v),null!==S&&r.splice(k++,0,S)}function Je(r){return-1!==r}function Fe(r){return 32767&r}function Mt(r,i){let c=function(r){return r>>16}(r),v=i;for(;c>0;)v=v[15],c--;return v}let xe=!0;function ke(r){const i=xe;return xe=r,i}let Be=0;function Dt(r,i){const c=vn(r,i);if(-1!==c)return c;const v=i[1];v.firstCreatePass&&(r.injectorIndex=i.length,en(v.data,r),en(i,null),en(v.blueprint,null));const S=Gn(r,i),k=r.injectorIndex;if(Je(S)){const te=Fe(S),le=Mt(S,i),Le=le[1].data;for(let vt=0;vt<8;vt++)i[k+vt]=le[te+vt]|Le[te+vt]}return i[k+8]=S,k}function en(r,i){r.push(0,0,0,0,0,0,0,0,i)}function vn(r,i){return-1===r.injectorIndex||r.parent&&r.parent.injectorIndex===r.injectorIndex||null===i[r.injectorIndex+8]?-1:r.injectorIndex}function Gn(r,i){if(r.parent&&-1!==r.parent.injectorIndex)return r.parent.injectorIndex;let c=0,v=null,S=i;for(;null!==S;){const k=S[1],te=k.type;if(v=2===te?k.declTNode:1===te?S[6]:null,null===v)return-1;if(c++,S=S[15],-1!==v.injectorIndex)return v.injectorIndex|c<<16}return-1}function kn(r,i,c){!function(r,i,c){let v;"string"==typeof c?v=c.charCodeAt(0)||0:c.hasOwnProperty(ht)&&(v=c[ht]),null==v&&(v=c[ht]=Be++);const S=255&v;i.data[r+(S>>5)]|=1<<S}(r,i,c)}function jr(r,i,c){if(c&Mn.Optional)return r;oe(i,"NodeInjector")}function kr(r,i,c,v){if(c&Mn.Optional&&void 0===v&&(v=null),0==(c&(Mn.Self|Mn.Host))){const S=r[9],k=Yn(void 0);try{return S?S.get(i,v,c&Mn.Optional):Cn(i,v,c&Mn.Optional)}finally{Yn(k)}}return jr(v,i,c)}function Gr(r,i,c,v=Mn.Default,S){if(null!==r){const k=function(r){if("string"==typeof r)return r.charCodeAt(0)||0;const i=r.hasOwnProperty(ht)?r[ht]:void 0;return"number"==typeof i?i>=0?255&i:Ci:i}(c);if("function"==typeof k){if(!ft(i,r,v))return v&Mn.Host?jr(S,c,v):kr(i,c,v,S);try{const te=k(v);if(null!=te||v&Mn.Optional)return te;oe(c)}finally{Sr()}}else if("number"==typeof k){let te=null,le=vn(r,i),Le=-1,vt=v&Mn.Host?i[16][6]:null;for((-1===le||v&Mn.SkipSelf)&&(Le=-1===le?Gn(r,i):i[le+8],-1!==Le&&Ao(v,!1)?(te=i[1],le=Fe(Le),i=Mt(Le,i)):le=-1);-1!==le;){const Qt=i[1];if(No(k,le,Qt.data)){const Pn=vi(le,i,c,te,v,vt);if(Pn!==ci)return Pn}Le=i[le+8],-1!==Le&&Ao(v,i[1].data[le+8]===vt)&&No(k,le,i)?(te=Qt,le=Fe(Le),i=Mt(Le,i)):le=-1}}}return kr(i,c,v,S)}const ci={};function Ci(){return new io(Vo(),Di())}function vi(r,i,c,v,S,k){const te=i[1],le=te.data[r+8],Qt=Ai(le,te,c,null==v?ki(le)&&xe:v!=te&&0!=(3&le.type),S&Mn.Host&&k===le);return null!==Qt?fo(i,te,Qt,le):ci}function Ai(r,i,c,v,S){const k=r.providerIndexes,te=i.data,le=1048575&k,Le=r.directiveStart,Qt=k>>20,Wn=S?le+Qt:r.directiveEnd;for(let yr=v?le:le+Qt;yr<Wn;yr++){const Ur=te[yr];if(yr<Le&&c===Ur||yr>=Le&&Ur.type===c)return yr}if(S){const yr=te[Le];if(yr&&qi(yr)&&yr.type===c)return Le}return null}function fo(r,i,c,v){let S=r[c];const k=i.data;if(function(r){return r instanceof Ts}(S)){const te=S;te.resolving&&function(r,i){throw new H("200",`Circular dependency in DI detected for ${r}`)}(I(k[c]));const le=ke(te.canSeeViewProviders);te.resolving=!0;const Le=te.injectImpl?Yn(te.injectImpl):null;ft(r,v,Mn.Default);try{S=r[c]=te.factory(void 0,k,r,v),i.firstCreatePass&&c>=v.directiveStart&&function(r,i,c){const{ngOnChanges:v,ngOnInit:S,ngDoCheck:k}=i.type.prototype;if(v){const te=cs(i);(c.preOrderHooks||(c.preOrderHooks=[])).push(r,te),(c.preOrderCheckHooks||(c.preOrderCheckHooks=[])).push(r,te)}S&&(c.preOrderHooks||(c.preOrderHooks=[])).push(0-r,S),k&&((c.preOrderHooks||(c.preOrderHooks=[])).push(r,k),(c.preOrderCheckHooks||(c.preOrderCheckHooks=[])).push(r,k))}(c,k[c],i)}finally{null!==Le&&Yn(Le),ke(le),te.resolving=!1,Sr()}}return S}function No(r,i,c){return!!(c[i+(r>>5)]&1<<r)}function Ao(r,i){return!(r&Mn.Self||r&Mn.Host&&i)}class io{constructor(i,c){this._tNode=i,this._lView=c}get(i,c,v){return Gr(this._tNode,this._lView,i,v,c)}}function So(r){return dn(()=>{const i=r.prototype.constructor,c=i[Ir]||Xi(i),v=Object.prototype;let S=Object.getPrototypeOf(r.prototype).constructor;for(;S&&S!==v;){const k=S[Ir]||Xi(S);if(k&&k!==c)return k;S=Object.getPrototypeOf(S)}return k=>new k})}function Xi(r){return R(r)?()=>{const i=Xi(D(r));return i&&i()}:gi(r)}function Zi(r){return function(r,i){if("class"===i)return r.classes;if("style"===i)return r.styles;const c=r.attrs;if(c){const v=c.length;let S=0;for(;S<v;){const k=c[S];if(ql(k))break;if(0===k)S+=2;else if("number"==typeof k)for(S++;S<v&&"string"==typeof c[S];)S++;else{if(k===i)return c[S+1];S+=2}}}return null}(Vo(),r)}const Po="__parameters__",ho="__prop__metadata__";function Ls(r){return function(...c){if(r){const v=r(...c);for(const S in v)this[S]=v[S]}}}function _n(r,i,c){return dn(()=>{const v=Ls(i);function S(...k){if(this instanceof S)return v.apply(this,k),this;const te=new S(...k);return le.annotation=te,le;function le(Le,vt,Qt){const Pn=Le.hasOwnProperty(Po)?Le[Po]:Object.defineProperty(Le,Po,{value:[]})[Po];for(;Pn.length<=Qt;)Pn.push(null);return(Pn[Qt]=Pn[Qt]||[]).push(te),Le}}return c&&(S.prototype=Object.create(c.prototype)),S.prototype.ngMetadataName=r,S.annotationCls=S,S})}function Us(r,i,c,v){return dn(()=>{const S=Ls(i);function k(...te){if(this instanceof k)return S.apply(this,te),this;const le=new k(...te);return function(vt,Qt){const Pn=vt.constructor,Wn=Pn.hasOwnProperty(ho)?Pn[ho]:Object.defineProperty(Pn,ho,{value:{}})[ho];Wn[Qt]=Wn.hasOwnProperty(Qt)&&Wn[Qt]||[],Wn[Qt].unshift(le),v&&v(vt,Qt,...te)}}return c&&(k.prototype=Object.create(c.prototype)),k.prototype.ngMetadataName=r,k.annotationCls=k,k})}class rs{constructor(i,c){this._desc=i,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof c?this.__NG_ELEMENT_ID__=c:void 0!==c&&(this.\u0275prov=Qe({token:this,providedIn:c.providedIn||"root",factory:c.factory}))}toString(){return`InjectionToken ${this._desc}`}}const wa=new rs("AnalyzeForEntryComponents");class Fa{}const Va=Us("ViewChild",(r,i)=>Object.assign({selector:r,first:!0,isViewQuery:!0,descendants:!0},i),Fa),ll=Function;function Ga(r,i){void 0===i&&(i=r);for(let c=0;c<r.length;c++){let v=r[c];Array.isArray(v)?(i===r&&(i=r.slice(0,c)),Ga(v,i)):i!==r&&i.push(v)}return i}function $i(r,i){r.forEach(c=>Array.isArray(c)?$i(c,i):i(c))}function Cc(r,i,c){i>=r.length?r.push(c):r.splice(i,0,c)}function _c(r,i){return i>=r.length-1?r.pop():r.splice(i,1)[0]}function ml(r,i){const c=[];for(let v=0;v<r;v++)c.push(i);return c}function xl(r,i,c){let v=nl(r,i);return v>=0?r[1|v]=c:(v=~v,function(r,i,c,v){let S=r.length;if(S==i)r.push(c,v);else if(1===S)r.push(v,r[0]),r[0]=c;else{for(S--,r.push(r[S-1],r[S]);S>i;)r[S]=r[S-2],S--;r[i]=c,r[i+1]=v}}(r,v,i,c)),v}function Gl(r,i){const c=nl(r,i);if(c>=0)return r[1|c]}function nl(r,i){return function(r,i,c){let v=0,S=r.length>>c;for(;S!==v;){const k=v+(S-v>>1),te=r[k<<c];if(i===te)return k<<c;te>i?S=k:v=k+1}return~(S<<c)}(r,i,1)}const N={},$="__NG_DI_FLAG__",Q="ngTempTokenPath",ve=/\n/gm,De="__source",Yt=u({provide:String,useValue:u});let Zt;function wn(r){const i=Zt;return Zt=r,i}function cr(r,i=Mn.Default){if(void 0===Zt)throw new Error("inject() must be called from an injection context");return null===Zt?Cn(r,void 0,i):Zt.get(r,i&Mn.Optional?null:void 0,i)}function sr(r,i=Mn.Default){return(Ht||cr)(D(r),i)}function Pi(r){const i=[];for(let c=0;c<r.length;c++){const v=D(r[c]);if(Array.isArray(v)){if(0===v.length)throw new Error("Arguments array must have arguments.");let S,k=Mn.Default;for(let te=0;te<v.length;te++){const le=v[te],Le=To(le);"number"==typeof Le?-1===Le?S=le.token:k|=Le:S=le}i.push(sr(S,k))}else i.push(sr(v))}return i}function yo(r,i){return r[$]=i,r.prototype[$]=i,r}function To(r){return r[$]}function Qo(r,i,c,v){const S=r[Q];throw i[De]&&S.unshift(i[De]),r.message=function(r,i,c,v=null){r=r&&"\n"===r.charAt(0)&&"\u0275"==r.charAt(1)?r.substr(2):r;let S=_(i);if(Array.isArray(i))S=i.map(_).join(" -> ");else if("object"==typeof i){let k=[];for(let te in i)if(i.hasOwnProperty(te)){let le=i[te];k.push(te+":"+("string"==typeof le?JSON.stringify(le):_(le)))}S=`{${k.join(", ")}}`}return`${c}${v?"("+v+")":""}[${S}]: ${r.replace(ve,"\n ")}`}("\n"+r.message,S,c,v),r.ngTokenPath=S,r[Q]=null,r}const Cs=yo(_n("Inject",r=>({token:r})),-1),Ss=yo(_n("Optional"),8),Da=yo(_n("SkipSelf"),4);let gc,kd;function yc(r){var i;return(null===(i=function(){if(void 0===gc&&(gc=null,jn.trustedTypes))try{gc=jn.trustedTypes.createPolicy("angular",{createHTML:r=>r,createScript:r=>r,createScriptURL:r=>r})}catch(r){}return gc}())||void 0===i?void 0:i.createHTML(r))||r}function ad(){if(void 0===kd&&(kd=null,jn.trustedTypes))try{kd=jn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:r=>r,createScript:r=>r,createScriptURL:r=>r})}catch(r){}return kd}function Nu(r){var i;return(null===(i=ad())||void 0===i?void 0:i.createHTML(r))||r}function Cd(r){var i;return(null===(i=ad())||void 0===i?void 0:i.createScriptURL(r))||r}class Cu{constructor(i){this.changingThisBreaksApplicationSecurity=i}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class $d extends Cu{getTypeName(){return"HTML"}}class Fs extends Cu{getTypeName(){return"Style"}}class Nc extends Cu{getTypeName(){return"Script"}}class Pf extends Cu{getTypeName(){return"URL"}}class ld extends Cu{getTypeName(){return"ResourceURL"}}function ru(r){return r instanceof Cu?r.changingThisBreaksApplicationSecurity:r}function Su(r,i){const c=af(r);if(null!=c&&c!==i){if("ResourceURL"===c&&"URL"===i)return!0;throw new Error(`Required a safe ${i}, got a ${c} (see https://g.co/ng/security#xss)`)}return c===i}function af(r){return r instanceof Cu&&r.getTypeName()||null}function Pc(r){return new $d(r)}function If(r){return new Fs(r)}function cd(r){return new Nc(r)}function lf(r){return new Pf(r)}function Hd(r){return new ld(r)}function Sd(r){const i=new pu(r);return function(){try{return!!(new window.DOMParser).parseFromString(yc(""),"text/html")}catch(r){return!1}}()?new Ic(i):i}class Ic{constructor(i){this.inertDocumentHelper=i}getInertBodyElement(i){i="<body><remove></remove>"+i;try{const c=(new window.DOMParser).parseFromString(yc(i),"text/html").body;return null===c?this.inertDocumentHelper.getInertBodyElement(i):(c.removeChild(c.firstChild),c)}catch(c){return null}}}class pu{constructor(i){if(this.defaultDoc=i,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const c=this.inertDocument.createElement("html");this.inertDocument.appendChild(c);const v=this.inertDocument.createElement("body");c.appendChild(v)}}getInertBodyElement(i){const c=this.inertDocument.createElement("template");if("content"in c)return c.innerHTML=yc(i),c;const v=this.inertDocument.createElement("body");return v.innerHTML=yc(i),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(v),v}stripCustomNsAttrs(i){const c=i.attributes;for(let S=c.length-1;0<S;S--){const te=c.item(S).name;("xmlns:ns1"===te||0===te.indexOf("ns1:"))&&i.removeAttribute(te)}let v=i.firstChild;for(;v;)v.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(v),v=v.nextSibling}}const ud=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi,Lf=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Mu(r){return(r=String(r)).match(ud)||r.match(Lf)?r:"unsafe:"+r}function dd(r){return(r=String(r)).split(",").map(i=>Mu(i.trim())).join(", ")}function Lc(r){const i={};for(const c of r.split(","))i[c]=!0;return i}function Mc(...r){const i={};for(const c of r)for(const v in c)c.hasOwnProperty(v)&&(i[v]=!0);return i}const Uc=Lc("area,br,col,hr,img,wbr"),Ff=Lc("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),hu=Lc("rp,rt"),V=Mc(Uc,Mc(Ff,Lc("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Mc(hu,Lc("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Mc(hu,Ff)),pe=Lc("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),A=Lc("srcset"),Rt=Mc(pe,A,Lc("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Lc("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vr=Lc("script,style,template");class Hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(i){let c=i.firstChild,v=!0;for(;c;)if(c.nodeType===Node.ELEMENT_NODE?v=this.startElement(c):c.nodeType===Node.TEXT_NODE?this.chars(c.nodeValue):this.sanitizedSomething=!0,v&&c.firstChild)c=c.firstChild;else for(;c;){c.nodeType===Node.ELEMENT_NODE&&this.endElement(c);let S=this.checkClobberedElement(c,c.nextSibling);if(S){c=S;break}c=this.checkClobberedElement(c,c.parentNode)}return this.buf.join("")}startElement(i){const c=i.nodeName.toLowerCase();if(!V.hasOwnProperty(c))return this.sanitizedSomething=!0,!vr.hasOwnProperty(c);this.buf.push("<"),this.buf.push(c);const v=i.attributes;for(let S=0;S<v.length;S++){const k=v.item(S),te=k.name,le=te.toLowerCase();if(!Rt.hasOwnProperty(le)){this.sanitizedSomething=!0;continue}let Le=k.value;pe[le]&&(Le=Mu(Le)),A[le]&&(Le=dd(Le)),this.buf.push(" ",te,'="',bo(Le),'"')}return this.buf.push(">"),!0}endElement(i){const c=i.nodeName.toLowerCase();V.hasOwnProperty(c)&&!Uc.hasOwnProperty(c)&&(this.buf.push("</"),this.buf.push(c),this.buf.push(">"))}chars(i){this.buf.push(bo(i))}checkClobberedElement(i,c){if(c&&(i.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${i.outerHTML}`);return c}}const _i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ji=/([^\#-~ |!])/g;function bo(r){return r.replace(/&/g,"&").replace(_i,function(i){return"&#"+(1024*(i.charCodeAt(0)-55296)+(i.charCodeAt(1)-56320)+65536)+";"}).replace(ji,function(i){return"&#"+i.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}let is;function Uo(r,i){let c=null;try{is=is||Sd(r);let v=i?String(i):"";c=is.getInertBodyElement(v);let S=5,k=v;do{if(0===S)throw new Error("Failed to sanitize html because the input is unstable");S--,v=k,k=c.innerHTML,c=is.getInertBodyElement(v)}while(v!==k);return yc((new Hr).sanitizeChildren(us(c)||c))}finally{if(c){const v=us(c)||c;for(;v.firstChild;)v.removeChild(v.firstChild)}}}function us(r){return"content"in r&&function(r){return r.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===r.nodeName}(r)?r.content:null}var bs=(()=>((bs=bs||{})[bs.NONE=0]="NONE",bs[bs.HTML=1]="HTML",bs[bs.STYLE=2]="STYLE",bs[bs.SCRIPT=3]="SCRIPT",bs[bs.URL=4]="URL",bs[bs.RESOURCE_URL=5]="RESOURCE_URL",bs))();function Xl(r){const i=_u();return i?Nu(i.sanitize(bs.HTML,r)||""):Su(r,"HTML")?Nu(ru(r)):Uo(Hs(),M(r))}function dl(r){const i=_u();return i?i.sanitize(bs.URL,r)||"":Su(r,"URL")?ru(r):Mu(M(r))}function iu(r){const i=_u();if(i)return Cd(i.sanitize(bs.RESOURCE_URL,r)||"");if(Su(r,"ResourceURL"))return Cd(ru(r));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function _u(){const r=Di();return r&&r[12]}const df="__ngContext__";function dc(r,i){r[df]=i}function jd(r){const i=function(r){return r[df]||null}(r);return i?Array.isArray(i)?i:i.lView:null}function su(r){return r.ngOriginalError}function Zd(r,...i){r.error(...i)}class mc{constructor(){this._console=console}handleError(i){const c=this._findOriginalError(i),v=this._findContext(i),S=(r=i)&&r.ngErrorLogger||Zd;var r;S(this._console,"ERROR",i),c&&S(this._console,"ORIGINAL ERROR",c),v&&S(this._console,"ERROR CONTEXT",v)}_findContext(i){return i?i.ngDebugContext||this._findContext(su(i)):null}_findOriginalError(i){let c=i&&su(i);for(;c&&su(c);)c=su(c);return c||null}}const hf=/^>|^->|<!--|-->|--!>|<!-$/g,au=/(<|>)/;const jf=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(jn))();function wd(r){return r.ownerDocument.defaultView}function ap(r){return r.ownerDocument.body}function vu(r){return r instanceof Function?r():r}var nc=(()=>((nc=nc||{})[nc.Important=1]="Important",nc[nc.DashCase=2]="DashCase",nc))();let Vd;function mf(r,i){return Vd(r,i)}function Qc(r){const i=r[3];return wi(i)?i[3]:i}function lp(r){return Xc(r[13])}function Ec(r){return Xc(r[4])}function Xc(r){for(;null!==r&&!wi(r);)r=r[4];return r}function Tc(r,i,c,v,S){if(null!=v){let k,te=!1;wi(v)?k=v:Ei(v)&&(te=!0,v=v[0]);const le=ye(v);0===r&&null!==c?null==S?x(i,c,le):C(i,c,le,S||null,!0):1===r&&null!==c?C(i,c,le,S||null,!0):2===r?Gs(i,le,te):3===r&&i.destroyNode(le),null!=k&&function(r,i,c,v,S){const k=c[7];k!==ye(c)&&Tc(i,r,v,k,S);for(let le=10;le<c.length;le++){const Le=c[le];Wr(Le[1],Le,r,i,v,k)}}(i,r,k,c,S)}}function jc(r,i){return pt(r)?r.createText(i):r.createTextNode(i)}function Yf(r,i,c){pt(r)?r.setValue(i,c):i.textContent=c}function Zf(r,i){return r.createComment(function(r){return r.replace(hf,i=>i.replace(au,"\u200b$1\u200b"))}(i))}function Dd(r,i,c){return pt(r)?r.createElement(i,c):null===c?r.createElement(i):r.createElementNS(c,i)}function Gf(r,i){const c=r[9],v=c.indexOf(i),S=i[3];1024&i[2]&&(i[2]&=-1025,Es(S,-1)),c.splice(v,1)}function xd(r,i){if(r.length<=10)return;const c=10+i,v=r[c];if(v){const S=v[17];null!==S&&S!==r&&Gf(S,v),i>0&&(r[c-1][4]=v[4]);const k=_c(r,10+i);!function(r,i){Wr(r,i,i[11],2,null,null),i[0]=null,i[6]=null}(v[1],v);const te=k[19];null!==te&&te.detachView(k[1]),v[3]=null,v[4]=null,v[2]&=-129}return v}function yf(r,i){if(!(256&i[2])){const c=i[11];pt(c)&&c.destroyNode&&Wr(r,i,c,3,null,null),function(r){let i=r[13];if(!i)return zf(r[1],r);for(;i;){let c=null;if(Ei(i))c=i[13];else{const v=i[10];v&&(c=v)}if(!c){for(;i&&!i[4]&&i!==r;)Ei(i)&&zf(i[1],i),i=i[3];null===i&&(i=r),Ei(i)&&zf(i[1],i),c=i&&i[4]}i=c}}(i)}}function zf(r,i){if(!(256&i[2])){i[2]&=-129,i[2]|=256,function(r,i){let c;if(null!=r&&null!=(c=r.destroyHooks))for(let v=0;v<c.length;v+=2){const S=i[c[v]];if(!(S instanceof Ts)){const k=c[v+1];if(Array.isArray(k))for(let te=0;te<k.length;te+=2){const le=S[k[te]],Le=k[te+1];try{Le.call(le)}finally{}}else try{k.call(S)}finally{}}}}(r,i),function(r,i){const c=r.cleanup,v=i[7];let S=-1;if(null!==c)for(let k=0;k<c.length-1;k+=2)if("string"==typeof c[k]){const te=c[k+1],le="function"==typeof te?te(i):ye(i[te]),Le=v[S=c[k+2]],vt=c[k+3];"boolean"==typeof vt?le.removeEventListener(c[k],Le,vt):vt>=0?v[S=vt]():v[S=-vt].unsubscribe(),k+=2}else{const te=v[S=c[k+1]];c[k].call(te)}if(null!==v){for(let k=S+1;k<v.length;k++)v[k]();i[7]=null}}(r,i),1===i[1].type&&pt(i[11])&&i[11].destroy();const c=i[17];if(null!==c&&wi(i[3])){c!==i[3]&&Gf(c,i);const v=i[19];null!==v&&v.detachView(r)}}}function dp(r,i,c){return bf(r,i.parent,c)}function bf(r,i,c){let v=i;for(;null!==v&&40&v.type;)v=(i=v).parent;if(null===v)return c[0];if(2&v.flags){const S=r.data[v.directiveStart].encapsulation;if(S===$n.None||S===$n.Emulated)return null}return Ni(v,c)}function C(r,i,c,v,S){pt(r)?r.insertBefore(i,c,v,S):i.insertBefore(c,v,S)}function x(r,i,c){pt(r)?r.appendChild(i,c):i.appendChild(c)}function q(r,i,c,v,S){null!==v?C(r,i,c,v,S):x(r,i,c)}function tt(r,i){return pt(r)?r.parentNode(i):i.parentNode}function bn(r,i,c){return wr(r,i,c)}function nr(r,i,c){return 40&r.type?Ni(r,c):null}let qr,wr=nr;function ao(r,i){wr=r,qr=i}function ns(r,i,c,v){const S=dp(r,v,i),k=i[11],le=bn(v.parent||i[6],v,i);if(null!=S)if(Array.isArray(c))for(let Le=0;Le<c.length;Le++)q(k,S,c[Le],le,!1);else q(k,S,c,le,!1);void 0!==qr&&qr(k,v,i,c,S)}function oo(r,i){if(null!==i){const c=i.type;if(3&c)return Ni(i,r);if(4&c)return Js(-1,r[i.index]);if(8&c){const v=i.child;if(null!==v)return oo(r,v);{const S=r[i.index];return wi(S)?Js(-1,S):ye(S)}}if(32&c)return mf(i,r)()||ye(r[i.index]);{const v=ms(r,i);return null!==v?Array.isArray(v)?v[0]:oo(Qc(r[16]),v):oo(r,i.next)}}return null}function ms(r,i){return null!==i?r[16][6].projection[i.projection]:null}function Js(r,i){const c=10+r+1;if(c<i.length){const v=i[c],S=v[1].firstChild;if(null!==S)return oo(v,S)}return i[7]}function Gs(r,i,c){const v=tt(r,i);v&&function(r,i,c,v){pt(r)?r.removeChild(i,c,v):i.removeChild(c)}(r,v,i,c)}function oi(r,i,c,v,S,k,te){for(;null!=c;){const le=v[c.index],Le=c.type;if(te&&0===i&&(le&&dc(ye(le),v),c.flags|=4),64!=(64&c.flags))if(8&Le)oi(r,i,c.child,v,S,k,!1),Tc(i,r,S,le,k);else if(32&Le){const vt=mf(c,v);let Qt;for(;Qt=vt();)Tc(i,r,S,Qt,k);Tc(i,r,S,le,k)}else 16&Le?Vi(r,i,v,c,S,k):Tc(i,r,S,le,k);c=te?c.projectionNext:c.next}}function Wr(r,i,c,v,S,k){oi(c,v,r.firstChild,i,S,k,!1)}function Vi(r,i,c,v,S,k){const te=c[16],Le=te[6].projection[v.projection];if(Array.isArray(Le))for(let vt=0;vt<Le.length;vt++)Tc(i,r,S,Le[vt],k);else oi(r,i,Le,te[3],S,k,!0)}function ps(r,i,c){pt(r)?r.setAttribute(i,"style",c):i.style.cssText=c}function la(r,i,c){pt(r)?""===c?r.removeAttribute(i,"class"):r.setAttribute(i,"class",c):i.className=c}function ka(r,i,c){let v=r.length;for(;;){const S=r.indexOf(i,c);if(-1===S)return S;if(0===S||r.charCodeAt(S-1)<=32){const k=i.length;if(S+k===v||r.charCodeAt(S+k)<=32)return S}c=S+1}}const Sl="ng-template";function Gp(r,i,c){let v=0;for(;v<r.length;){let S=r[v++];if(c&&"class"===S){if(S=r[v],-1!==ka(S.toLowerCase(),i,0))return!0}else if(1===S){for(;v<r.length&&"string"==typeof(S=r[v++]);)if(S.toLowerCase()===i)return!0;return!1}}return!1}function hh(r){return 4===r.type&&r.value!==Sl}function n_(r,i,c){return i===(4!==r.type||c?r.value:Sl)}function r_(r,i,c){let v=4;const S=r.attrs||[],k=function(r){for(let i=0;i<r.length;i++)if(ql(r[i]))return i;return r.length}(S);let te=!1;for(let le=0;le<i.length;le++){const Le=i[le];if("number"!=typeof Le){if(!te)if(4&v){if(v=2|1&v,""!==Le&&!n_(r,Le,c)||""===Le&&1===i.length){if($u(v))return!1;te=!0}}else{const vt=8&v?Le:i[++le];if(8&v&&null!==r.attrs){if(!Gp(r.attrs,vt,c)){if($u(v))return!1;te=!0}continue}const Pn=i_(8&v?"class":Le,S,hh(r),c);if(-1===Pn){if($u(v))return!1;te=!0;continue}if(""!==vt){let Wn;Wn=Pn>k?"":S[Pn+1].toLowerCase();const yr=8&v?Wn:null;if(yr&&-1!==ka(yr,vt,0)||2&v&&vt!==Wn){if($u(v))return!1;te=!0}}}}else{if(!te&&!$u(v)&&!$u(Le))return!1;if(te&&$u(Le))continue;te=!1,v=Le|1&v}}return $u(v)||te}function $u(r){return 0==(1&r)}function i_(r,i,c,v){if(null===i)return-1;let S=0;if(v||!c){let k=!1;for(;S<i.length;){const te=i[S];if(te===r)return S;if(3===te||6===te)k=!0;else{if(1===te||2===te){let le=i[++S];for(;"string"==typeof le;)le=i[++S];continue}if(4===te)break;if(0===te){S+=4;continue}}S+=k?1:2}return-1}return function(r,i){let c=r.indexOf(4);if(c>-1)for(c++;c<r.length;){const v=r[c];if("number"==typeof v)return-1;if(v===i)return c;c++}return-1}(i,r)}function _h(r,i,c=!1){for(let v=0;v<i.length;v++)if(r_(r,i[v],c))return!0;return!1}function l_(r,i){e:for(let c=0;c<i.length;c++){const v=i[c];if(r.length===v.length){for(let S=0;S<r.length;S++)if(r[S]!==v[S])continue e;return!0}}return!1}function gh(r,i){return r?":not("+i.trim()+")":i}function zp(r){let i=r[0],c=1,v=2,S="",k=!1;for(;c<r.length;){let te=r[c];if("string"==typeof te)if(2&v){const le=r[++c];S+="["+te+(le.length>0?'="'+le+'"':"")+"]"}else 8&v?S+="."+te:4&v&&(S+=" "+te);else""!==S&&!$u(te)&&(i+=gh(k,S),S=""),v=te,k=k||!$u(v);c++}return""!==S&&(i+=gh(k,S)),i}const ca={};function vh(r){yh(ys(),Di(),Un()+r,gn())}function yh(r,i,c,v){if(!v)if(3==(3&i[2])){const k=r.preOrderCheckHooks;null!==k&&Ho(i,k,c)}else{const k=r.preOrderHooks;null!==k&&Yi(i,k,0,c)}lr(c)}function Ap(r,i){return r<<17|i<<2}function Ju(r){return r>>17&32767}function Wp(r){return 2|r}function Wd(r){return(131068&r)>>2}function Tf(r,i){return-131069&r|i<<2}function bh(r){return 1|r}function Nh(r,i){const c=r.contentQueries;if(null!==c)for(let v=0;v<c.length;v+=2){const S=c[v],k=c[v+1];if(-1!==k){const te=r.data[k];G(S),te.contentQueries(2,i[k],k)}}}function Ku(r,i,c,v,S,k,te,le,Le,vt){const Qt=i.blueprint.slice();return Qt[0]=S,Qt[2]=140|v,ba(Qt),Qt[3]=Qt[15]=r,Qt[8]=c,Qt[10]=te||r&&r[10],Qt[11]=le||r&&r[11],Qt[12]=Le||r&&r[12]||null,Qt[9]=vt||r&&r[9]||null,Qt[6]=k,Qt[16]=2==i.type?r[16]:Qt,Qt}function Uu(r,i,c,v,S){let k=r.data[i];if(null===k)k=Jd(r,i,c,v,S),$o.lFrame.inI18n&&(k.flags|=64);else if(64&k.type){k.type=c,k.value=v,k.attrs=S;const te=_s();k.injectorIndex=null===te?-1:te.injectorIndex}return We(k,!0),k}function Jd(r,i,c,v,S){const k=Ba(),te=wt(),Le=r.data[i]=function(r,i,c,v,S,k){return{type:c,index:v,insertBeforeIndex:null,injectorIndex:i?i.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:S,attrs:k,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:i,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,te?k:k&&k.parent,c,i,v,S);return null===r.firstChild&&(r.firstChild=Le),null!==k&&(te?null==k.child&&null!==Le.parent&&(k.child=Le):null===k.next&&(k.next=Le)),Le}function Qd(r,i,c,v){if(0===c)return-1;const S=i.length;for(let k=0;k<c;k++)i.push(v),r.blueprint.push(v),r.data.push(null);return S}function Jf(r,i,c){Ft(i);try{const v=r.viewQuery;null!==v&&Bu(1,v,c);const S=r.template;null!==S&&Kp(r,i,S,1,c),r.firstCreatePass&&(r.firstCreatePass=!1),r.staticContentQueries&&Nh(r,i),r.staticViewQueries&&Bu(2,r.viewQuery,c);const k=r.components;null!==k&&function(r,i){for(let c=0;c<i.length;c++)th(r,i[c])}(i,k)}catch(v){throw r.firstCreatePass&&(r.incompleteFirstPass=!0,r.firstCreatePass=!1),v}finally{i[2]&=-5,pi()}}function Cf(r,i,c,v){const S=i[2];if(256==(256&S))return;Ft(i);const k=gn();try{ba(i),function(r){$o.lFrame.bindingIndex=r}(r.bindingStartIndex),null!==c&&Kp(r,i,c,2,v);const te=3==(3&S);if(!k)if(te){const vt=r.preOrderCheckHooks;null!==vt&&Ho(i,vt,null)}else{const vt=r.preOrderHooks;null!==vt&&Yi(i,vt,0,null),na(i,0)}if(function(r){for(let i=lp(r);null!==i;i=Ec(i)){if(!i[2])continue;const c=i[9];for(let v=0;v<c.length;v++){const S=c[v],k=S[3];0==(1024&S[2])&&Es(k,1),S[2]|=1024}}}(i),function(r){for(let i=lp(r);null!==i;i=Ec(i))for(let c=10;c<i.length;c++){const v=i[c],S=v[1];Ta(v)&&Cf(S,v,S.template,v[8])}}(i),null!==r.contentQueries&&Nh(r,i),!k)if(te){const vt=r.contentCheckHooks;null!==vt&&Ho(i,vt)}else{const vt=r.contentHooks;null!==vt&&Yi(i,vt,1),na(i,1)}!function(r,i){const c=r.hostBindingOpCodes;if(null!==c)try{for(let v=0;v<c.length;v++){const S=c[v];if(S<0)lr(~S);else{const k=S,te=c[++v],le=c[++v];ro(te,k),le(2,i[k])}}}finally{lr(-1)}}(r,i);const le=r.components;null!==le&&function(r,i){for(let c=0;c<i.length;c++)y_(r,i[c])}(i,le);const Le=r.viewQuery;if(null!==Le&&Bu(2,Le,v),!k)if(te){const vt=r.viewCheckHooks;null!==vt&&Ho(i,vt)}else{const vt=r.viewHooks;null!==vt&&Yi(i,vt,2),na(i,2)}!0===r.firstUpdatePass&&(r.firstUpdatePass=!1),k||(i[2]&=-73),1024&i[2]&&(i[2]&=-1025,Es(i[3],-1))}finally{pi()}}function Ph(r,i,c,v){const S=i[10],k=!gn(),te=Zo(i);try{k&&!te&&S.begin&&S.begin(),te&&Jf(r,i,v),Cf(r,i,c,v)}finally{k&&!te&&S.end&&S.end()}}function Kp(r,i,c,v,S){const k=Un(),te=2&v;try{lr(-1),te&&i.length>20&&yh(r,i,20,gn()),c(v,S)}finally{lr(k)}}function m_(r,i,c){if(_o(i)){const S=i.directiveEnd;for(let k=i.directiveStart;k<S;k++){const te=r.data[k];te.contentQueries&&te.contentQueries(1,c[k],k)}}}function eh(r,i,c){!Il()||(function(r,i,c,v){const S=c.directiveStart,k=c.directiveEnd;r.firstCreatePass||Dt(c,i),dc(v,i);const te=c.initialInputs;for(let le=S;le<k;le++){const Le=r.data[le],vt=qi(Le);vt&&bv(i,c,Le);const Qt=fo(i,r,le,c);dc(Qt,i),null!==te&&Rm(0,le-S,Qt,Le,0,te),vt&&(Lo(c.index,i)[8]=Qt)}}(r,i,c,Ni(c,i)),128==(128&c.flags)&&function(r,i,c){const v=c.directiveStart,S=c.directiveEnd,te=c.index,le=$o.lFrame.currentDirectiveIndex;try{lr(te);for(let Le=v;Le<S;Le++){const vt=r.data[Le],Qt=i[Le];Bi(Le),(null!==vt.hostBindings||0!==vt.hostVars||null!==vt.hostAttrs)&&fc(vt,Qt)}}finally{lr(-1),Bi(le)}}(r,i,c))}function xp(r,i,c=Ni){const v=i.localNames;if(null!==v){let S=i.index+1;for(let k=0;k<v.length;k+=2){const te=v[k+1],le=-1===te?c(i,r):r[te];r[S++]=le}}}function Sf(r){const i=r.tView;return null===i||i.incompleteFirstPass?r.tView=Rp(1,null,r.template,r.decls,r.vars,r.directiveDefs,r.pipeDefs,r.viewQuery,r.schemas,r.consts):i}function Rp(r,i,c,v,S,k,te,le,Le,vt){const Qt=20+v,Pn=Qt+S,Wn=function(r,i){const c=[];for(let v=0;v<i;v++)c.push(v<r?null:ca);return c}(Qt,Pn),yr="function"==typeof vt?vt():vt;return Wn[1]={type:r,blueprint:Wn,template:c,queries:null,viewQuery:le,declTNode:i,data:Wn.slice().fill(null,Qt),bindingStartIndex:Qt,expandoStartIndex:Pn,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof k?k():k,pipeRegistry:"function"==typeof te?te():te,firstChild:null,schemas:Le,consts:yr,incompleteFirstPass:!1}}function At(r,i,c,v){const S=ol(i);null===c?S.push(v):(S.push(c),r.firstCreatePass&&hp(r).push(v,S.length-1))}function hr(r,i,c){for(let v in r)if(r.hasOwnProperty(v)){const S=r[v];(c=null===c?{}:c).hasOwnProperty(v)?c[v].push(i,S):c[v]=[i,S]}return c}function Eo(r,i,c,v,S,k,te,le){const Le=Ni(i,c);let Qt,vt=i.inputs;!le&&null!=vt&&(Qt=vt[v])?(Fm(r,c,Qt,v,S),ki(i)&&function(r,i){const c=Lo(i,r);16&c[2]||(c[2]|=64)}(c,i.index)):3&i.type&&(v=function(r){return"class"===r?"className":"for"===r?"htmlFor":"formaction"===r?"formAction":"innerHtml"===r?"innerHTML":"readonly"===r?"readOnly":"tabindex"===r?"tabIndex":r}(v),S=null!=te?te(S,i.value||"",v):S,pt(k)?k.setProperty(Le,v,S):kl(v)||(Le.setProperty?Le.setProperty(v,S):Le[v]=S))}function kc(r,i,c,v){let S=!1;if(Il()){const k=function(r,i,c){const v=r.directiveRegistry;let S=null;if(v)for(let k=0;k<v.length;k++){const te=v[k];_h(c,te.selectors,!1)&&(S||(S=[]),kn(Dt(c,i),r,te.type),qi(te)?(ga(r,c),S.unshift(te)):S.push(te))}return S}(r,i,c),te=null===v?null:{"":-1};if(null!==k){S=!0,Dm(c,r.data.length,k.length);for(let Qt=0;Qt<k.length;Qt++){const Pn=k[Qt];Pn.providersResolver&&Pn.providersResolver(Pn)}let le=!1,Le=!1,vt=Qd(r,i,k.length,null);for(let Qt=0;Qt<k.length;Qt++){const Pn=k[Qt];c.mergedAttrs=Zl(c.mergedAttrs,Pn.hostAttrs),xm(r,c,i,vt,Pn),wm(vt,Pn,te),null!==Pn.contentQueries&&(c.flags|=8),(null!==Pn.hostBindings||null!==Pn.hostAttrs||0!==Pn.hostVars)&&(c.flags|=128);const Wn=Pn.type.prototype;!le&&(Wn.ngOnChanges||Wn.ngOnInit||Wn.ngDoCheck)&&((r.preOrderHooks||(r.preOrderHooks=[])).push(c.index),le=!0),!Le&&(Wn.ngOnChanges||Wn.ngDoCheck)&&((r.preOrderCheckHooks||(r.preOrderCheckHooks=[])).push(c.index),Le=!0),vt++}!function(r,i){const v=i.directiveEnd,S=r.data,k=i.attrs,te=[];let le=null,Le=null;for(let vt=i.directiveStart;vt<v;vt++){const Qt=S[vt],Pn=Qt.inputs,Wn=null===k||hh(i)?null:Nm(Pn,k);te.push(Wn),le=hr(Pn,vt,le),Le=hr(Qt.outputs,vt,Le)}null!==le&&(le.hasOwnProperty("class")&&(i.flags|=16),le.hasOwnProperty("style")&&(i.flags|=32)),i.initialInputs=te,i.inputs=le,i.outputs=Le}(r,c)}te&&function(r,i,c){if(i){const v=r.localNames=[];for(let S=0;S<i.length;S+=2){const k=c[i[S+1]];if(null==k)throw new H("301",`Export of name '${i[S+1]}' not found!`);v.push(i[S],k)}}}(c,v,te)}return c.mergedAttrs=Zl(c.mergedAttrs,c.attrs),S}function ed(r,i,c,v,S,k){const te=k.hostBindings;if(te){let le=r.hostBindingOpCodes;null===le&&(le=r.hostBindingOpCodes=[]);const Le=~i.index;(function(r){let i=r.length;for(;i>0;){const c=r[--i];if("number"==typeof c&&c<0)return c}return 0})(le)!=Le&&le.push(Le),le.push(v,S,te)}}function fc(r,i){null!==r.hostBindings&&r.hostBindings(1,i)}function ga(r,i){i.flags|=2,(r.components||(r.components=[])).push(i.index)}function wm(r,i,c){if(c){if(i.exportAs)for(let v=0;v<i.exportAs.length;v++)c[i.exportAs[v]]=r;qi(i)&&(c[""]=r)}}function Dm(r,i,c){r.flags|=1,r.directiveStart=i,r.directiveEnd=i+c,r.providerIndexes=i}function xm(r,i,c,v,S){r.data[v]=S;const k=S.factory||(S.factory=gi(S.type)),te=new Ts(k,qi(S),null);r.blueprint[v]=te,c[v]=te,ed(r,i,0,v,Qd(r,c,S.hostVars,ca),S)}function bv(r,i,c){const v=Ni(i,r),S=Sf(c),k=r[10],te=b_(r,Ku(r,S,null,c.onPush?64:16,v,i,k,k.createRenderer(v,c),null,null));r[i.index]=te}function Ih(r,i,c,v,S,k,te){if(null==k)pt(r)?r.removeAttribute(i,S,c):i.removeAttribute(S);else{const le=null==te?M(k):te(k,v||"",S);pt(r)?r.setAttribute(i,S,le,c):c?i.setAttributeNS(c,S,le):i.setAttribute(S,le)}}function Rm(r,i,c,v,S,k){const te=k[i];if(null!==te){const le=v.setInput;for(let Le=0;Le<te.length;){const vt=te[Le++],Qt=te[Le++],Pn=te[Le++];null!==le?v.setInput(c,Pn,vt,Qt):c[Qt]=Pn}}}function Nm(r,i){let c=null,v=0;for(;v<i.length;){const S=i[v];if(0!==S)if(5!==S){if("number"==typeof S)break;r.hasOwnProperty(S)&&(null===c&&(c=[]),c.push(S,r[S],i[v+1])),v+=2}else v+=2;else v+=4}return c}function pp(r,i,c,v){return new Array(r,!0,!1,i,null,0,v,c,null,null)}function y_(r,i){const c=Lo(i,r);if(Ta(c)){const v=c[1];80&c[2]?Cf(v,c,v.template,c[8]):c[5]>0&&ju(c)}}function ju(r){for(let v=lp(r);null!==v;v=Ec(v))for(let S=10;S<v.length;S++){const k=v[S];if(1024&k[2]){const te=k[1];Cf(te,k,te.template,k[8])}else k[5]>0&&ju(k)}const c=r[1].components;if(null!==c)for(let v=0;v<c.length;v++){const S=Lo(c[v],r);Ta(S)&&S[5]>0&&ju(S)}}function th(r,i){const c=Lo(i,r),v=c[1];(function(r,i){for(let c=i.length;c<r.blueprint.length;c++)i.push(r.blueprint[c])})(v,c),Jf(v,c,c[8])}function b_(r,i){return r[13]?r[14][4]=i:r[13]=i,r[14]=i,i}function cg(r){for(;r;){r[2]|=64;const i=Qc(r);if(Wi(r)&&!i)return r;r=i}return null}function Lh(r,i,c){const v=i[10];v.begin&&v.begin();try{Cf(r,i,r.template,c)}catch(S){throw Fh(i,S),S}finally{v.end&&v.end()}}function Kd(r){!function(r){for(let i=0;i<r.components.length;i++){const c=r.components[i],v=jd(c),S=v[1];Ph(S,v,S.template,c)}}(r[8])}function Bu(r,i,c){G(0),i(r,c)}const wc=(()=>Promise.resolve(null))();function ol(r){return r[7]||(r[7]=[])}function hp(r){return r.cleanup||(r.cleanup=[])}function Fh(r,i){const c=r[9],v=c?c.get(mc,null):null;v&&v.handleError(i)}function Fm(r,i,c,v,S){for(let k=0;k<c.length;){const te=c[k++],le=c[k++],Le=i[te],vt=r.data[te];null!==vt.setInput?vt.setInput(Le,S,v,le):Le[le]=S}}function ef(r,i,c){const v=Or(i,r);Yf(r[11],v,c)}function nh(r,i,c){let v=c?r.styles:null,S=c?r.classes:null,k=0;if(null!==i)for(let te=0;te<i.length;te++){const le=i[te];"number"==typeof le?k=le:1==k?S=m(S,le):2==k&&(v=m(v,le+": "+i[++te]+";"))}c?r.styles=v:r.stylesWithoutHost=v,c?r.classes=S:r.classesWithoutHost=S}const _p=new rs("INJECTOR",-1);class fg{get(i,c=N){if(c===N){const v=new Error(`NullInjectorError: No provider for ${_(i)}!`);throw v.name="NullInjectorError",v}return c}}const tf=new rs("Set Injector scope."),rh={},km={};let S_;function pg(){return void 0===S_&&(S_=new fg),S_}function hg(r,i=null,c=null,v){return new M_(r,c,i||pg(),v)}class M_{constructor(i,c,v,S=null){this.parent=v,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const k=[];c&&$i(c,le=>this.processProvider(le,i,c)),$i([i],le=>this.processInjectorType(le,[],k)),this.records.set(_p,Zc(void 0,this));const te=this.records.get(tf);this.scope=null!=te?te.value:null,this.source=S||("object"==typeof i?null:_(i))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(i=>i.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(i,c=N,v=Mn.Default){this.assertNotDestroyed();const S=wn(this),k=Yn(void 0);try{if(!(v&Mn.SkipSelf)){let le=this.records.get(i);if(void 0===le){const Le=("function"==typeof(r=i)||"object"==typeof r&&r instanceof rs)&&Ie(i);le=Le&&this.injectableDefInScope(Le)?Zc(O_(i),rh):null,this.records.set(i,le)}if(null!=le)return this.hydrate(i,le)}return(v&Mn.Self?pg():this.parent).get(i,c=v&Mn.Optional&&c===N?null:c)}catch(te){if("NullInjectorError"===te.name){if((te[Q]=te[Q]||[]).unshift(_(i)),S)throw te;return Qo(te,i,"R3InjectorError",this.source)}throw te}finally{Yn(k),wn(S)}var r}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(i=>this.get(i))}toString(){const i=[];return this.records.forEach((v,S)=>i.push(_(S))),`R3Injector[${i.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(i,c,v){if(!(i=D(i)))return!1;let S=ln(i);const k=null==S&&i.ngModule||void 0,te=void 0===k?i:k,le=-1!==v.indexOf(te);if(void 0!==k&&(S=ln(k)),null==S)return!1;if(null!=S.imports&&!le){let Qt;v.push(te);try{$i(S.imports,Pn=>{this.processInjectorType(Pn,c,v)&&(void 0===Qt&&(Qt=[]),Qt.push(Pn))})}finally{}if(void 0!==Qt)for(let Pn=0;Pn<Qt.length;Pn++){const{ngModule:Wn,providers:yr}=Qt[Pn];$i(yr,Ur=>this.processProvider(Ur,Wn,yr||Tt))}}this.injectorDefTypes.add(te);const Le=gi(te)||(()=>new te);this.records.set(te,Zc(Le,rh));const vt=S.providers;if(null!=vt&&!le){const Qt=i;$i(vt,Pn=>this.processProvider(Pn,Qt,vt))}return void 0!==k&&void 0!==i.providers}processProvider(i,c,v){let S=gp(i=D(i))?i:D(i&&i.provide);const k=gg(r=i)?Zc(void 0,r.useValue):Zc(Yc(r),rh);var r;if(gp(i)||!0!==i.multi)this.records.get(S);else{let te=this.records.get(S);te||(te=Zc(void 0,rh,!0),te.factory=()=>Pi(te.multi),this.records.set(S,te)),S=i,te.multi.push(i)}this.records.set(S,k)}hydrate(i,c){return c.value===rh&&(c.value=km,c.value=c.factory()),"object"==typeof c.value&&c.value&&null!==(r=c.value)&&"object"==typeof r&&"function"==typeof r.ngOnDestroy&&this.onDestroy.add(c.value),c.value;var r}injectableDefInScope(i){if(!i.providedIn)return!1;const c=D(i.providedIn);return"string"==typeof c?"any"===c||c===this.scope:this.injectorDefTypes.has(c)}}function O_(r){const i=Ie(r),c=null!==i?i.factory:gi(r);if(null!==c)return c;if(r instanceof rs)throw new Error(`Token ${_(r)} is missing a \u0275prov definition.`);if(r instanceof Function)return function(r){const i=r.length;if(i>0){const v=ml(i,"?");throw new Error(`Can't resolve all parameters for ${_(r)}: (${v.join(", ")}).`)}const c=function(r){const i=r&&(r[ar]||r[Rn]);if(i){const c=function(r){if(r.hasOwnProperty("name"))return r.name;const i=(""+r).match(/^function\s*([^\s(]+)/);return null===i?"":i[1]}(r);return console.warn(`DEPRECATED: DI is instantiating a token "${c}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${c}" class.`),i}return null}(r);return null!==c?()=>c.factory(r):()=>new r}(r);throw new Error("unreachable")}function Yc(r,i,c){let v;if(gp(r)){const S=D(r);return gi(S)||O_(S)}if(gg(r))v=()=>D(r.useValue);else if(function(r){return!(!r||!r.useFactory)}(r))v=()=>r.useFactory(...Pi(r.deps||[]));else if(function(r){return!(!r||!r.useExisting)}(r))v=()=>sr(D(r.useExisting));else{const S=D(r&&(r.useClass||r.provide));if(!function(r){return!!r.deps}(r))return gi(S)||O_(S);v=()=>new S(...Pi(r.deps))}return v}function Zc(r,i,c=!1){return{factory:r,value:i,multi:c?[]:void 0}}function gg(r){return null!==r&&"object"==typeof r&&Yt in r}function gp(r){return"function"==typeof r}const vg=function(r,i,c){return function(r,i=null,c=null,v){const S=hg(r,i,c,v);return S._resolveInjectorDefTypes(),S}({name:c},i,r,c)};let ic=(()=>{class r{static create(c,v){return Array.isArray(c)?vg(c,v,""):vg(c.providers,c.parent,c.name||"")}}return r.THROW_IF_NOT_FOUND=N,r.NULL=new fg,r.\u0275prov=Qe({token:r,providedIn:"any",factory:()=>sr(_p)}),r.__NG_ELEMENT_ID__=-1,r})();function Km(r,i){Ki(jd(r)[1],Vo())}function I_(r){let i=function(r){return Object.getPrototypeOf(r.prototype).constructor}(r.type),c=!0;const v=[r];for(;i;){let S;if(qi(r))S=i.\u0275cmp||i.\u0275dir;else{if(i.\u0275cmp)throw new Error("Directives cannot inherit Components");S=i.\u0275dir}if(S){if(c){v.push(S);const te=r;te.inputs=yu(r.inputs),te.declaredInputs=yu(r.declaredInputs),te.outputs=yu(r.outputs);const le=S.hostBindings;le&&n1(r,le);const Le=S.viewQuery,vt=S.contentQueries;if(Le&&L_(r,Le),vt&&t1(r,vt),h(r.inputs,S.inputs),h(r.declaredInputs,S.declaredInputs),h(r.outputs,S.outputs),qi(S)&&S.data.animation){const Qt=r.data;Qt.animation=(Qt.animation||[]).concat(S.data.animation)}}const k=S.features;if(k)for(let te=0;te<k.length;te++){const le=k[te];le&&le.ngInherit&&le(r),le===I_&&(c=!1)}}i=Object.getPrototypeOf(i)}!function(r){let i=0,c=null;for(let v=r.length-1;v>=0;v--){const S=r[v];S.hostVars=i+=S.hostVars,S.hostAttrs=Zl(S.hostAttrs,c=Zl(c,S.hostAttrs))}}(v)}function yu(r){return r===mt?{}:r===Tt?[]:r}function L_(r,i){const c=r.viewQuery;r.viewQuery=c?(v,S)=>{i(v,S),c(v,S)}:i}function t1(r,i){const c=r.contentQueries;r.contentQueries=c?(v,S,k)=>{i(v,S,k),c(v,S,k)}:i}function n1(r,i){const c=r.hostBindings;r.hostBindings=c?(v,S)=>{i(v,S),c(v,S)}:i}let Hh=null;function Kf(){if(!Hh){const r=jn.Symbol;if(r&&r.iterator)Hh=r.iterator;else{const i=Object.getOwnPropertyNames(Map.prototype);for(let c=0;c<i.length;++c){const v=i[c];"entries"!==v&&"size"!==v&&Map.prototype[v]===Map.prototype.entries&&(Hh=v)}}}return Hh}class Pd{constructor(i){this.wrapped=i}static wrap(i){return new Pd(i)}static unwrap(i){return Pd.isWrapped(i)?i.wrapped:i}static isWrapped(i){return i instanceof Pd}}function sh(r){return!!Uh(r)&&(Array.isArray(r)||!(r instanceof Map)&&Kf()in r)}function Uh(r){return null!==r&&("function"==typeof r||"object"==typeof r)}function bu(r,i,c){return r[i]=c}function mp(r,i){return r[i]}function Vc(r,i,c){return!Object.is(r[i],c)&&(r[i]=c,!0)}function bd(r,i,c,v){const S=Vc(r,i,c);return Vc(r,i+1,v)||S}function Np(r,i,c,v,S){const k=bd(r,i,c,v);return Vc(r,i+2,S)||k}function Yu(r,i,c,v,S,k){const te=bd(r,i,c,v);return bd(r,i+2,S,k)||te}function k_(r,i,c,v){const S=Di();return Vc(S,ni(),i)&&(ys(),function(r,i,c,v,S,k){const te=Ni(r,i);Ih(i[11],te,k,r.value,c,v,S)}(dr(),S,r,i,c,v)),k_}function Ip(r,i,c,v){return Vc(r,ni(),c)?i+M(c)+v:ca}function Lp(r,i,c,v,S,k){const le=bd(r,Pr(),c,S);return si(2),le?i+M(c)+v+M(S)+k:ca}function Y(r,i,c,v,S,k,te,le){const Le=Di(),vt=ys(),Qt=r+20,Pn=vt.firstCreatePass?function(r,i,c,v,S,k,te,le,Le){const vt=i.consts,Qt=Uu(i,r,4,te||null,Oa(vt,le));kc(i,c,Qt,Oa(vt,Le)),Ki(i,Qt);const Pn=Qt.tViews=Rp(2,Qt,v,S,k,i.directiveRegistry,i.pipeRegistry,null,i.schemas,vt);return null!==i.queries&&(i.queries.template(i,Qt),Pn.queries=i.queries.embeddedTView(Qt)),Qt}(Qt,vt,Le,i,c,v,S,k,te):vt.data[Qt];We(Pn,!1);const Wn=Le[11].createComment("");ns(vt,Le,Wn,Pn),dc(Wn,Le),b_(Le,Le[Qt]=pp(Wn,Le,Wn,Pn)),to(Pn)&&eh(vt,Le,Pn),null!=te&&xp(Le,Pn,le)}function gt(r){return as($o.lFrame.contextLView,20+r)}function H_(r,i=Mn.Default){const c=Di();return null===c?sr(r,i):Gr(Vo(),c,D(r),i)}function c1(r,i,c){const v=Di();return Vc(v,ni(),i)&&Eo(ys(),dr(),v,r,i,v[11],c,!1),c1}function u1(r,i,c,v,S){const te=S?"class":"style";Fm(r,c,i.inputs[te],te,v)}function d1(r,i,c,v){const S=Di(),k=ys(),te=20+r,le=S[11],Le=S[te]=Dd(le,i,$o.lFrame.currentNamespace),vt=k.firstCreatePass?function(r,i,c,v,S,k,te){const le=i.consts,vt=Uu(i,r,2,S,Oa(le,k));return kc(i,c,vt,Oa(le,te)),null!==vt.attrs&&nh(vt,vt.attrs,!1),null!==vt.mergedAttrs&&nh(vt,vt.mergedAttrs,!0),null!==i.queries&&i.queries.elementStart(i,vt),vt}(te,k,S,0,i,c,v):k.data[te];We(vt,!0);const Qt=vt.mergedAttrs;null!==Qt&&Cl(le,Le,Qt);const Pn=vt.classes;null!==Pn&&la(le,Le,Pn);const Wn=vt.styles;null!==Wn&&ps(le,Le,Wn),64!=(64&vt.flags)&&ns(k,S,Le,vt),0===$o.lFrame.elementDepthCount&&dc(Le,S),$o.lFrame.elementDepthCount++,to(vt)&&(eh(k,S,vt),m_(k,vt,S)),null!==v&&xp(S,vt)}function f1(){let r=Vo();wt()?kt():(r=r.parent,We(r,!1));const i=r;$o.lFrame.elementDepthCount--;const c=ys();c.firstCreatePass&&(Ki(c,r),_o(r)&&c.queries.elementEnd(r)),null!=i.classesWithoutHost&&function(r){return 0!=(16&r.flags)}(i)&&u1(c,i,Di(),i.classesWithoutHost,!0),null!=i.stylesWithoutHost&&function(r){return 0!=(32&r.flags)}(i)&&u1(c,i,Di(),i.stylesWithoutHost,!1)}function kv(r,i,c,v){d1(r,i,c,v),f1()}function Wg(r,i,c){const v=Di(),S=ys(),k=r+20,te=S.firstCreatePass?function(r,i,c,v,S){const k=i.consts,te=Oa(k,v),le=Uu(i,r,8,"ng-container",te);return null!==te&&nh(le,te,!0),kc(i,c,le,Oa(k,S)),null!==i.queries&&i.queries.elementStart(i,le),le}(k,S,v,i,c):S.data[k];We(te,!0);const le=v[k]=v[11].createComment("");ns(S,v,le,te),dc(le,v),to(te)&&(eh(S,v,te),m_(S,te,v)),null!=c&&xp(v,te)}function p1(){let r=Vo();const i=ys();wt()?kt():(r=r.parent,We(r,!1)),i.firstCreatePass&&(Ki(i,r),_o(r)&&i.queries.elementEnd(r))}function $v(r,i,c){Wg(r,i,c),p1()}function Hv(){return Di()}function h1(r){return!!r&&"function"==typeof r.then}function Uv(r){return!!r&&"function"==typeof r.subscribe}const _1=Uv;function g1(r,i,c,v){const S=Di(),k=ys(),te=Vo();return function(r,i,c,v,S,k,te,le){const Le=to(v),Qt=r.firstCreatePass&&hp(r),Pn=i[8],Wn=ol(i);let yr=!0;if(3&v.type||le){const ii=Ni(v,i),Co=le?le(ii):ii,zi=Wn.length,$s=le?ya=>le(ye(ya[v.index])):v.index;if(pt(c)){let ya=null;if(!le&&Le&&(ya=function(r,i,c,v){const S=r.cleanup;if(null!=S)for(let k=0;k<S.length-1;k+=2){const te=S[k];if(te===c&&S[k+1]===v){const le=i[7],Le=S[k+2];return le.length>Le?le[Le]:null}"string"==typeof te&&(k+=2)}return null}(r,i,S,v.index)),null!==ya)(ya.__ngLastListenerFn__||ya).__ngNextListenerFn__=k,ya.__ngLastListenerFn__=k,yr=!1;else{k=m1(v,i,Pn,k,!1);const bl=c.listen(Co,S,k);Wn.push(k,bl),Qt&&Qt.push(S,$s,zi,zi+1)}}else k=m1(v,i,Pn,k,!0),Co.addEventListener(S,k,te),Wn.push(k),Qt&&Qt.push(S,$s,zi,te)}else k=m1(v,i,Pn,k,!1);const Ur=v.outputs;let Si;if(yr&&null!==Ur&&(Si=Ur[S])){const ii=Si.length;if(ii)for(let Co=0;Co<ii;Co+=2){const Ru=i[Si[Co]][Si[Co+1]].subscribe(k),ip=Wn.length;Wn.push(k,Ru),Qt&&Qt.push(S,v.index,ip,-(ip+1))}}}(k,S,S[11],te,r,i,!!c,v),g1}function Yv(r,i,c,v){try{return!1!==c(v)}catch(S){return Fh(r,S),!1}}function m1(r,i,c,v,S){return function k(te){if(te===Function)return v;const le=2&r.flags?Lo(r.index,i):i;0==(32&i[2])&&cg(le);let Le=Yv(i,0,v,te),vt=k.__ngNextListenerFn__;for(;vt;)Le=Yv(i,0,vt,te)&&Le,vt=vt.__ngNextListenerFn__;return S&&!1===Le&&(te.preventDefault(),te.returnValue=!1),Le}}function Zv(r=1){return function(r){return($o.lFrame.contextLView=function(r,i){for(;r>0;)i=i[15],r--;return i}(r,$o.lFrame.contextLView))[8]}(r)}function Eb(r,i){let c=null;const v=function(r){const i=r.attrs;if(null!=i){const c=i.indexOf(5);if(0==(1&c))return i[c+1]}return null}(r);for(let S=0;S<i.length;S++){const k=i[S];if("*"!==k){if(null===v?_h(r,k,!0):l_(v,k))return S}else c=S}return c}function Vv(r){const i=Di()[16][6];if(!i.projection){const v=i.projection=ml(r?r.length:1,null),S=v.slice();let k=i.child;for(;null!==k;){const te=r?Eb(k,r):0;null!==te&&(S[te]?S[te].projectionNext=k:v[te]=k,S[te]=k),k=k.next}}}function Gv(r,i=0,c){const v=Di(),S=ys(),k=Uu(S,20+r,16,null,c||null);null===k.projection&&(k.projection=i),kt(),64!=(64&k.flags)&&function(r,i,c){Vi(i[11],0,i,c,dp(r,c,i),bn(c.parent||i[6],c,i))}(S,v,k)}function v1(r,i,c){return qg(r,"",i,"",c),v1}function qg(r,i,c,v,S){const k=Di(),te=Ip(k,i,c,v);return te!==ca&&Eo(ys(),dr(),k,r,te,k[11],S,!1),qg}function y1(r,i,c,v,S,k,te){const le=Di(),Le=Lp(le,i,c,v,S,k);return Le!==ca&&Eo(ys(),dr(),le,r,Le,le[11],te,!1),y1}function e0(r,i,c,v,S){const k=r[c+1],te=null===i;let le=v?Ju(k):Wd(k),Le=!1;for(;0!==le&&(!1===Le||te);){const Qt=r[le+1];Sb(r[le],i)&&(Le=!0,r[le+1]=v?bh(Qt):Wp(Qt)),le=v?Ju(Qt):Wd(Qt)}Le&&(r[c+1]=v?Wp(k):bh(k))}function Sb(r,i){return null===r||null==i||(Array.isArray(r)?r[1]:r)===i||!(!Array.isArray(r)||"string"!=typeof i)&&nl(r,i)>=0}const uu={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function t0(r){return r.substring(uu.key,uu.keyEnd)}function n0(r,i){const c=uu.textEnd;return c===i?-1:(i=uu.keyEnd=function(r,i,c){for(;i<c&&r.charCodeAt(i)>32;)i++;return i}(r,uu.key=i,c),Vh(r,i,c))}function Vh(r,i,c){for(;i<c&&r.charCodeAt(i)<=32;)i++;return i}function b1(r,i,c){return wf(r,i,c,!1),b1}function E1(r,i){return wf(r,i,null,!0),E1}function a0(r){Df(xl,ep,r,!0)}function ep(r,i){for(let c=function(r){return function(r){uu.key=0,uu.keyEnd=0,uu.value=0,uu.valueEnd=0,uu.textEnd=r.length}(r),n0(r,Vh(r,0,uu.textEnd))}(i);c>=0;c=n0(i,c))xl(r,t0(i),!0)}function wf(r,i,c,v){const S=Di(),k=ys(),te=si(2);k.firstUpdatePass&&c0(k,r,te,v),i!==ca&&Vc(S,te,i)&&d0(k,k.data[Un()],S,S[11],r,S[te+1]=function(r,i){return null==r||("string"==typeof i?r+=i:"object"==typeof r&&(r=_(ru(r)))),r}(i,c),v,te)}function Df(r,i,c,v){const S=ys(),k=si(2);S.firstUpdatePass&&c0(S,null,k,v);const te=Di();if(c!==ca&&Vc(te,k,c)){const le=S.data[Un()];if(p0(le,v)&&!l0(S,k)){let Le=v?le.classesWithoutHost:le.stylesWithoutHost;null!==Le&&(c=m(Le,c||"")),u1(S,le,te,c,v)}else!function(r,i,c,v,S,k,te,le){S===ca&&(S=Tt);let Le=0,vt=0,Qt=0<S.length?S[0]:null,Pn=0<k.length?k[0]:null;for(;null!==Qt||null!==Pn;){const Wn=Le<S.length?S[Le+1]:void 0,yr=vt<k.length?k[vt+1]:void 0;let Si,Ur=null;Qt===Pn?(Le+=2,vt+=2,Wn!==yr&&(Ur=Pn,Si=yr)):null===Pn||null!==Qt&&Qt<Pn?(Le+=2,Ur=Qt):(vt+=2,Ur=Pn,Si=yr),null!==Ur&&d0(r,i,c,v,Ur,Si,te,le),Qt=Le<S.length?S[Le]:null,Pn=vt<k.length?k[vt]:null}}(S,le,te,te[11],te[k+1],te[k+1]=function(r,i,c){if(null==c||""===c)return Tt;const v=[],S=ru(c);if(Array.isArray(S))for(let k=0;k<S.length;k++)r(v,S[k],!0);else if("object"==typeof S)for(const k in S)S.hasOwnProperty(k)&&r(v,k,S[k]);else"string"==typeof S&&i(v,S);return v}(r,i,c),v,k)}}function l0(r,i){return i>=r.expandoStartIndex}function c0(r,i,c,v){const S=r.data;if(null===S[c+1]){const k=S[Un()],te=l0(r,c);p0(k,v)&&null===i&&!te&&(i=!1),i=function(r,i,c,v){const S=hi(r);let k=v?i.residualClasses:i.residualStyles;if(null===S)0===(v?i.classBindings:i.styleBindings)&&(c=j_(c=C1(null,r,i,c,v),i.attrs,v),k=null);else{const te=i.directiveStylingLast;if(-1===te||r[te]!==S)if(c=C1(S,r,i,c,v),null===k){let Le=function(r,i,c){const v=c?i.classBindings:i.styleBindings;if(0!==Wd(v))return r[Ju(v)]}(r,i,v);void 0!==Le&&Array.isArray(Le)&&(Le=C1(null,r,i,Le[1],v),Le=j_(Le,i.attrs,v),function(r,i,c,v){r[Ju(c?i.classBindings:i.styleBindings)]=v}(r,i,v,Le))}else k=function(r,i,c){let v;const S=i.directiveEnd;for(let k=1+i.directiveStylingLast;k<S;k++)v=j_(v,r[k].hostAttrs,c);return j_(v,i.attrs,c)}(r,i,v)}return void 0!==k&&(v?i.residualClasses=k:i.residualStyles=k),c}(S,k,i,v),function(r,i,c,v,S,k){let te=k?i.classBindings:i.styleBindings,le=Ju(te),Le=Wd(te);r[v]=c;let Qt,vt=!1;if(Array.isArray(c)){const Pn=c;Qt=Pn[1],(null===Qt||nl(Pn,Qt)>0)&&(vt=!0)}else Qt=c;if(S)if(0!==Le){const Wn=Ju(r[le+1]);r[v+1]=Ap(Wn,le),0!==Wn&&(r[Wn+1]=Tf(r[Wn+1],v)),r[le+1]=function(r,i){return 131071&r|i<<17}(r[le+1],v)}else r[v+1]=Ap(le,0),0!==le&&(r[le+1]=Tf(r[le+1],v)),le=v;else r[v+1]=Ap(Le,0),0===le?le=v:r[Le+1]=Tf(r[Le+1],v),Le=v;vt&&(r[v+1]=Wp(r[v+1])),e0(r,Qt,v,!0),e0(r,Qt,v,!1),function(r,i,c,v,S){const k=S?r.residualClasses:r.residualStyles;null!=k&&"string"==typeof i&&nl(k,i)>=0&&(c[v+1]=bh(c[v+1]))}(i,Qt,r,v,k),te=Ap(le,Le),k?i.classBindings=te:i.styleBindings=te}(S,k,i,c,te,v)}}function C1(r,i,c,v,S){let k=null;const te=c.directiveEnd;let le=c.directiveStylingLast;for(-1===le?le=c.directiveStart:le++;le<te&&(k=i[le],v=j_(v,k.hostAttrs,S),k!==r);)le++;return null!==r&&(c.directiveStylingLast=le),v}function j_(r,i,c){const v=c?1:2;let S=-1;if(null!==i)for(let k=0;k<i.length;k++){const te=i[k];"number"==typeof te?S=te:S===v&&(Array.isArray(r)||(r=void 0===r?[]:["",r]),xl(r,te,!!c||i[++k]))}return void 0===r?null:r}function d0(r,i,c,v,S,k,te,le){if(!(3&i.type))return;const Le=r.data,vt=Le[le+1];Jg(function(r){return 1==(1&r)}(vt)?f0(Le,i,c,S,Wd(vt),te):void 0)||(Jg(k)||function(r){return 2==(2&r)}(vt)&&(k=f0(Le,null,c,S,le,te)),function(r,i,c,v,S){const k=pt(r);if(i)S?k?r.addClass(c,v):c.classList.add(v):k?r.removeClass(c,v):c.classList.remove(v);else{let te=-1===v.indexOf("-")?void 0:nc.DashCase;if(null==S)k?r.removeStyle(c,v,te):c.style.removeProperty(v);else{const le="string"==typeof S&&S.endsWith("!important");le&&(S=S.slice(0,-10),te|=nc.Important),k?r.setStyle(c,v,S,te):c.style.setProperty(v,S,le?"important":"")}}}(v,te,Or(Un(),c),S,k))}function f0(r,i,c,v,S,k){const te=null===i;let le;for(;S>0;){const Le=r[S],vt=Array.isArray(Le),Qt=vt?Le[1]:Le,Pn=null===Qt;let Wn=c[S+1];Wn===ca&&(Wn=Pn?Tt:void 0);let yr=Pn?Gl(Wn,v):Qt===v?Wn:void 0;if(vt&&!Jg(yr)&&(yr=Gl(Le,v)),Jg(yr)&&(le=yr,te))return le;const Ur=r[S+1];S=te?Ju(Ur):Wd(Ur)}if(null!==i){let Le=k?i.residualClasses:i.residualStyles;null!=Le&&(le=Gl(Le,v))}return le}function Jg(r){return void 0!==r}function p0(r,i){return 0!=(r.flags&(i?16:32))}function h0(r,i=""){const c=Di(),v=ys(),S=r+20,k=v.firstCreatePass?Uu(v,S,1,i,null):v.data[S],te=c[S]=jc(c[11],i);ns(v,c,te,k),We(k,!1)}function S1(r){return Qg("",r,""),S1}function Qg(r,i,c){const v=Di(),S=Ip(v,r,i,c);return S!==ca&&ef(v,Un(),S),Qg}function M1(r,i,c,v,S){const k=Di(),te=Lp(k,r,i,c,v,S);return te!==ca&&ef(k,Un(),te),M1}function O1(r,i,c,v,S,k,te){const le=Di(),Le=function(r,i,c,v,S,k,te,le){const vt=Np(r,Pr(),c,S,te);return si(3),vt?i+M(c)+v+M(S)+k+M(te)+le:ca}(le,r,i,c,v,S,k,te);return Le!==ca&&ef(le,Un(),Le),O1}function E0(r,i,c){Df(xl,ep,Ip(Di(),r,i,c),!0)}function T0(r,i,c,v,S){Df(xl,ep,Lp(Di(),r,i,c,v,S),!0)}function C0(r,i,c,v,S,k,te,le,Le){Df(xl,ep,function(r,i,c,v,S,k,te,le,Le,vt){const Pn=Yu(r,Pr(),c,S,te,Le);return si(4),Pn?i+M(c)+v+M(S)+k+M(te)+le+M(Le)+vt:ca}(Di(),r,i,c,v,S,k,te,le,Le),!0)}function A1(r,i,c){const v=Di();return Vc(v,ni(),i)&&Eo(ys(),dr(),v,r,i,v[11],c,!0),A1}function w1(r,i,c){const v=Di();if(Vc(v,ni(),i)){const k=ys(),te=dr();Eo(k,te,v,r,i,function(r,i,c){return(null===r||qi(r))&&(c=function(r){for(;Array.isArray(r);){if("object"==typeof r[1])return r;r=r[0]}return null}(c[i.index])),c[11]}(hi(k.data),te,v),c,!0)}return w1}const lh=void 0;var eE=["en",[["a","p"],["AM","PM"],lh],[["AM","PM"],lh,lh],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],lh,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],lh,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",lh,"{1} 'at' {0}",lh],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(r){const i=Math.floor(Math.abs(r)),c=r.toString().replace(/^[^.]*\.?/,"").length;return 1===i&&0===c?1:5}];let Gh={};function D1(r){const i=function(r){return r.toLowerCase().replace(/_/g,"-")}(r);let c=P0(i);if(c)return c;const v=i.split("-")[0];if(c=P0(v),c)return c;if("en"===v)return eE;throw new Error(`Missing locale data for the locale "${r}".`)}function x1(r){return D1(r)[Xs.PluralCase]}function P0(r){return r in Gh||(Gh[r]=jn.ng&&jn.ng.common&&jn.ng.common.locales&&jn.ng.common.locales[r]),Gh[r]}var Xs=(()=>((Xs=Xs||{})[Xs.LocaleId=0]="LocaleId",Xs[Xs.DayPeriodsFormat=1]="DayPeriodsFormat",Xs[Xs.DayPeriodsStandalone=2]="DayPeriodsStandalone",Xs[Xs.DaysFormat=3]="DaysFormat",Xs[Xs.DaysStandalone=4]="DaysStandalone",Xs[Xs.MonthsFormat=5]="MonthsFormat",Xs[Xs.MonthsStandalone=6]="MonthsStandalone",Xs[Xs.Eras=7]="Eras",Xs[Xs.FirstDayOfWeek=8]="FirstDayOfWeek",Xs[Xs.WeekendRange=9]="WeekendRange",Xs[Xs.DateFormat=10]="DateFormat",Xs[Xs.TimeFormat=11]="TimeFormat",Xs[Xs.DateTimeFormat=12]="DateTimeFormat",Xs[Xs.NumberSymbols=13]="NumberSymbols",Xs[Xs.NumberFormats=14]="NumberFormats",Xs[Xs.CurrencyCode=15]="CurrencyCode",Xs[Xs.CurrencySymbol=16]="CurrencySymbol",Xs[Xs.CurrencyName=17]="CurrencyName",Xs[Xs.Currencies=18]="Currencies",Xs[Xs.Directionality=19]="Directionality",Xs[Xs.PluralCase=20]="PluralCase",Xs[Xs.ExtraData=21]="ExtraData",Xs))();const rE=["zero","one","two","few","many"],Xg="en-US",Kg={marker:"element"},em={marker:"ICU"};var $c=(()=>(($c=$c||{})[$c.SHIFT=2]="SHIFT",$c[$c.APPEND_EAGERLY=1]="APPEND_EAGERLY",$c[$c.COMMENT=2]="COMMENT",$c))();let tm=Xg;function nm(r){(function(r,i){null==r&<(i,r,null,"!=")})(r,"Expected localeId to be defined"),"string"==typeof r&&(tm=r.toLowerCase().replace(/_/g,"-"))}function I0(r,i,c){const v=i.insertBeforeIndex,S=Array.isArray(v)?v[0]:v;return null===S?nr(r,0,c):ye(c[S])}function L0(r,i,c,v,S){const k=i.insertBeforeIndex;if(Array.isArray(k)){let te=v,le=null;if(3&i.type||(le=te,te=S),null!==te&&0==(2&i.flags))for(let Le=1;Le<k.length;Le++)C(r,te,c[k[Le]],le,!1)}}function F0(r,i){if(r.push(i),r.length>1)for(let c=r.length-2;c>=0;c--){const v=r[c];k0(v)||sE(v,i)&&null===aE(v)&&lE(v,i.index)}}function k0(r){return!(64&r.type)}function sE(r,i){return k0(i)||r.index>i.index}function aE(r){const i=r.insertBeforeIndex;return Array.isArray(i)?i[0]:i}function lE(r,i){const c=r.insertBeforeIndex;Array.isArray(c)?c[0]=i:(ao(I0,L0),r.insertBeforeIndex=i)}function B_(r,i){const c=r.data[i];return null===c||"string"==typeof c?null:c.hasOwnProperty("currentCaseLViewIndex")?c:c.value}function uE(r,i,c){const v=Jd(r,c,64,null,null);return F0(i,v),v}function rm(r,i){const c=i[r.currentCaseLViewIndex];return null===c?c:c<0?~c:c}function H0(r){return r>>>17}function U0(r){return(131070&r)>>>1}let Y_=0,Z_=0;function B0(r,i,c,v){const S=c[11];let te,k=null;for(let le=0;le<i.length;le++){const Le=i[le];if("string"==typeof Le){const vt=i[++le];null===c[vt]&&(c[vt]=jc(S,Le))}else if("number"==typeof Le)switch(1&Le){case 0:const vt=H0(Le);let Qt,Pn;if(null===k&&(k=vt,te=tt(S,v)),vt===k?(Qt=v,Pn=te):(Qt=null,Pn=ye(c[vt])),null!==Pn){const Si=U0(Le);C(S,Pn,c[Si],Qt,!1);const Co=B_(r,Si);if(null!==Co&&"object"==typeof Co){const zi=rm(Co,c);null!==zi&&B0(r,Co.create[zi],c,c[Co.anchorIdx])}}break;case 1:const yr=i[++le],Ur=i[++le];Ih(S,Or(Le>>>1,c),null,null,yr,Ur,null);break;default:throw new Error(`Unable to determine the type of mutate operation for "${Le}"`)}else switch(Le){case em:const vt=i[++le],Qt=i[++le];null===c[Qt]&&dc(c[Qt]=Zf(S,vt),c);break;case Kg:const Pn=i[++le],Wn=i[++le];null===c[Wn]&&dc(c[Wn]=Dd(S,Pn,null),c)}}}function N1(r,i,c,v,S){for(let k=0;k<c.length;k++){const te=c[k],le=c[++k];if(te&S){let Le="";for(let vt=k+1;vt<=k+le;vt++){const Qt=c[vt];if("string"==typeof Qt)Le+=Qt;else if("number"==typeof Qt)if(Qt<0)Le+=M(i[v-Qt]);else{const Pn=Qt>>>2;switch(3&Qt){case 1:const Wn=c[++vt],yr=c[++vt],Ur=r.data[Pn];"string"==typeof Ur?Ih(i[11],i[Pn],null,Ur,Wn,Le,yr):Eo(r,Ur,i,Wn,Le,i[11],yr,!1);break;case 0:const Si=i[Pn];null!==Si&&Yf(i[11],Si,Le);break;case 2:_E(r,B_(r,Pn),i,Le);break;case 3:Y0(r,B_(r,Pn),v,i)}}}}else{const Le=c[k+1];if(Le>0&&3==(3&Le)){const Qt=B_(r,Le>>>2);i[Qt.currentCaseLViewIndex]<0&&Y0(r,Qt,v,i)}}k+=le}}function Y0(r,i,c,v){let S=v[i.currentCaseLViewIndex];if(null!==S){let k=Y_;S<0&&(S=v[i.currentCaseLViewIndex]=~S,k=-1),N1(r,v,i.update[S],c,k)}}function _E(r,i,c,v){const S=function(r,i){let c=r.cases.indexOf(i);if(-1===c)switch(r.type){case 1:{const v=function(r,i){const c=x1(i)(parseInt(r,10)),v=rE[c];return void 0!==v?v:"other"}(i,tm);c=r.cases.indexOf(v),-1===c&&"other"!==v&&(c=r.cases.indexOf("other"));break}case 0:c=r.cases.indexOf("other")}return-1===c?null:c}(i,v);if(rm(i,c)!==S&&(Z0(r,i,c),c[i.currentCaseLViewIndex]=null===S?null:~S,null!==S)){const te=c[i.anchorIdx];te&&B0(r,i.create[S],c,te)}}function Z0(r,i,c){let v=rm(i,c);if(null!==v){const S=i.remove[v];for(let k=0;k<S.length;k++){const te=S[k];if(te>0){const le=Or(te,c);null!==le&&Gs(c[11],le)}else Z0(r,B_(r,~te),c)}}}function mE(){const r=[];let c,v,i=-1;function k(le,Le){i=0;const vt=rm(le,Le);v=null!==vt?le.remove[vt]:Tt}function te(){if(i<v.length){const le=v[i++];return le>0?c[le]:(r.push(i,v),k(c[1].data[~le],c),te())}return 0===r.length?null:(v=r.pop(),i=r.pop(),te())}return function(le,Le){for(c=Le;r.length;)r.pop();return k(le.value,Le),te}}const om=/\ufffd(\d+):?\d*\ufffd/gi,yE=/({\s*\ufffd\d+:?\d*\ufffd\s*,\s*\S{6}\s*,[\s\S]*})/gi,zh=/\ufffd(\d+)\ufffd/,I1=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,V0=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,bE=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,EE=/\uE500/g;function z0(r,i,c,v,S,k,te){const le=Qd(r,v,1,null);let Le=le<<$c.SHIFT,vt=_s();i===vt&&(vt=null),null===vt&&(Le|=$c.APPEND_EAGERLY),te&&(Le|=$c.COMMENT,function(r){void 0===Vd&&(Vd=r())}(mE)),S.push(Le,null===k?"":k);const Qt=Jd(r,le,te?32:1,null===k?"":k,null);F0(c,Qt);const Pn=Qt.index;return We(Qt,!1),null!==vt&&i!==vt&&function(r,i){let c=r.insertBeforeIndex;null===c?(ao(I0,L0),c=r.insertBeforeIndex=[null,i]):(function(r,i,c){r!=i&<(c,r,i,"==")}(Array.isArray(c),!0,"Expecting array here"),c.push(i))}(vt,Pn),Qt}function W0(r,i,c,v,S,k,te){const le=te.match(om),Le=z0(r,i,c,k,v,le?null:te,!1);le&&Wh(S,te,Le.index,null,0,null)}function Wh(r,i,c,v,S,k){const te=r.length,le=te+1;r.push(null,null);const Le=te+2,vt=i.split(om);let Qt=0;for(let Pn=0;Pn<vt.length;Pn++){const Wn=vt[Pn];if(1&Pn){const yr=S+parseInt(Wn,10);r.push(-1-yr),Qt|=q0(yr)}else""!==Wn&&r.push(Wn)}return r.push(c<<2|(v?1:0)),v&&r.push(v,k),r[te]=Qt,r[le]=r.length-Le,Qt}function SE(r){let i=0;for(let c=0;c<r.length;c++){const v=r[c];"number"==typeof v&&v<0&&i++}return i}function q0(r){return 1<<Math.min(r,31)}function J0(r){let i,k,c="",v=0,S=!1;for(;null!==(i=V0.exec(r));)S?i[0]===`\ufffd/*${k}\ufffd`&&(v=i.index,S=!1):(c+=r.substring(v,i.index+i[0].length),k=i[1],S=!0);return c+=r.substr(v),c}function Q0(r,i,c,v,S,k){let te=0;const le={type:S.type,currentCaseLViewIndex:Qd(r,i,1,null),anchorIdx:k,cases:[],create:[],remove:[],update:[]};(function(r,i,c){r.push(q0(i.mainBinding),2,-1-i.mainBinding,c<<2|2)})(c,S,k),function(r,i,c){const v=r.data[i];null===v?r.data[i]=c:v.value=c}(r,k,le);const Le=S.values;for(let vt=0;vt<Le.length;vt++){const Qt=Le[vt],Pn=[];for(let Wn=0;Wn<Qt.length;Wn++){const yr=Qt[Wn];if("string"!=typeof yr){const Ur=Pn.push(yr)-1;Qt[Wn]=`\x3c!--\ufffd${Ur}\ufffd--\x3e`}}te=wE(r,le,i,c,v,S.cases[vt],Qt.join(""),Pn)|te}te&&function(r,i,c){r.push(i,1,c<<2|3)}(c,te,k)}function AE(r){const i=[],c=[];let v=1,S=0;const k=L1(r=r.replace(I1,function(te,le,Le){return v="select"===Le?0:1,S=parseInt(le.substr(1),10),""}));for(let te=0;te<k.length;){let le=k[te++].trim();1===v&&(le=le.replace(/\s*(?:=)?(\w+)\s*/,"$1")),le.length&&i.push(le);const Le=L1(k[te++]);i.length>c.length&&c.push(Le)}return{type:v,mainBinding:S,cases:i,values:c}}function L1(r){if(!r)return[];let i=0;const c=[],v=[],S=/[{}]/g;let k;for(S.lastIndex=0;k=S.exec(r);){const le=k.index;if("}"==k[0]){if(c.pop(),0==c.length){const Le=r.substring(i,le);I1.test(Le)?v.push(AE(Le)):v.push(Le),i=le+1}}else{if(0==c.length){const Le=r.substring(i,le);v.push(Le),i=le+1}c.push("{")}}const te=r.substring(i);return v.push(te),v}function wE(r,i,c,v,S,k,te,le){const Le=[],vt=[],Qt=[];i.cases.push(k),i.create.push(Le),i.remove.push(vt),i.update.push(Qt);const Wn=Sd(Hs()).getInertBodyElement(te),yr=us(Wn)||Wn;return yr?X0(r,i,c,v,Le,vt,Qt,yr,S,le,0):0}function X0(r,i,c,v,S,k,te,le,Le,vt,Qt){let Pn=0,Wn=le.firstChild;for(;Wn;){const yr=Qd(r,c,1,null);switch(Wn.nodeType){case Node.ELEMENT_NODE:const Ur=Wn,Si=Ur.tagName.toLowerCase();if(V.hasOwnProperty(Si)){F1(S,Kg,Si,Le,yr),r.data[yr]=Si;const $s=Ur.attributes;for(let ya=0;ya<$s.length;ya++){const bl=$s.item(ya),Ru=bl.name.toLowerCase();bl.value.match(om)?Rt.hasOwnProperty(Ru)&&Wh(te,bl.value,yr,bl.name,0,pe[Ru]?Mu:A[Ru]?dd:null):xE(S,yr,bl)}Pn=X0(r,i,c,v,S,k,te,Wn,yr,vt,Qt+1)|Pn,K0(k,yr,Qt)}break;case Node.TEXT_NODE:const ii=Wn.textContent||"",Co=ii.match(om);F1(S,null,Co?"":ii,Le,yr),K0(k,yr,Qt),Co&&(Pn=Wh(te,ii,yr,null,0,null)|Pn);break;case Node.COMMENT_NODE:const zi=zh.exec(Wn.textContent||"");if(zi){const ya=vt[parseInt(zi[1],10)];F1(S,em,"",Le,yr),Q0(r,c,v,Le,ya,yr),DE(k,yr,Qt)}}Wn=Wn.nextSibling}return Pn}function K0(r,i,c){0===c&&r.push(i)}function DE(r,i,c){0===c&&(r.push(~i),r.push(i))}function F1(r,i,c,v,S){null!==i&&r.push(i),r.push(c,S,function(r,i,c){return 0|i<<17|c<<1}(0,v,S))}function xE(r,i,c){r.push(i<<1|1,c.name,c.value)}const k1=/\[(\ufffd.+?\ufffd?)\]/,$1=/\[(\ufffd.+?\ufffd?)\]|(\ufffd\/?\*\d+:\d+\ufffd)/g,RE=/({\s*)(VAR_(PLURAL|SELECT)(_\d+)?)(\s*,)/g,NE=/{([A-Z0-9_]+)}/g,PE=/\ufffdI18N_EXP_(ICU(_\d+)?)\ufffd/g,IE=/\/\*/,ny=/\d+\:(\d+)/;function U1(r,i,c=-1){const v=ys(),S=Di(),k=20+r,te=Oa(v.consts,i),le=_s();v.firstCreatePass&&function(r,i,c,v,S,k){const te=_s(),le=[],Le=[],vt=[[]],Qt=function(r){return r.replace(EE," ")}(S=function(r,i){if(function(r){return-1===r}(i))return J0(r);{const c=r.indexOf(`:${i}\ufffd`)+2+i.toString().length,v=r.search(new RegExp(`\ufffd\\/\\*\\d+:${i}\ufffd`));return J0(r.substring(c,v))}}(S,k)).split(bE);for(let Pn=0;Pn<Qt.length;Pn++){let Wn=Qt[Pn];if(0==(1&Pn)){const yr=L1(Wn);for(let Ur=0;Ur<yr.length;Ur++){let Si=yr[Ur];if(0==(1&Ur)){const ii=Si;""!==ii&&W0(r,te,vt[0],le,Le,c,ii)}else{const ii=Si;if("object"!=typeof ii)throw new Error(`Unable to parse ICU expression in "${S}" message.`);Q0(r,c,Le,i,ii,z0(r,te,vt[0],c,le,"",!0).index)}}}else{const yr=47===Wn.charCodeAt(0),Si=(Wn.charCodeAt(yr?1:0),20+Number.parseInt(Wn.substring(yr?2:1)));if(yr)vt.shift(),We(_s(),!1);else{const ii=uE(r,vt[0],Si);vt.unshift([]),We(ii,!0)}}}r.data[v]={create:le,update:Le}}(v,null===le?0:le.index,S,k,te,c);const Le=v.data[k],Qt=bf(v,le===S[6]?null:le,S);(function(r,i,c,v){const S=r[11];for(let k=0;k<i.length;k++){const te=i[k++],le=i[k],Le=(te&$c.COMMENT)===$c.COMMENT,vt=(te&$c.APPEND_EAGERLY)===$c.APPEND_EAGERLY,Qt=te>>>$c.SHIFT;let Pn=r[Qt];null===Pn&&(Pn=r[Qt]=Le?S.createComment(le):jc(S,le)),vt&&null!==c&&C(S,c,Pn,v,!1)}})(S,Le.create,Qt,le&&8&le.type?S[le.index]:null),Ui(!0)}function j1(){Ui(!1)}function ry(r,i,c){U1(r,i,c),j1()}function iy(r,i){const c=ys();!function(r,i,c){const S=Vo().index,k=[];if(r.firstCreatePass&&null===r.data[i]){for(let te=0;te<c.length;te+=2){const le=c[te],Le=c[te+1];if(""!==Le){if(yE.test(Le))throw new Error(`ICU expressions are not supported in attributes. Message: "${Le}".`);Wh(k,Le,S,le,SE(k),null)}}r.data[i]=k}}(c,r+20,Oa(c.consts,i))}function B1(r){return function(r){r&&(Y_|=1<<Math.min(Z_,31)),Z_++}(Vc(Di(),ni(),r)),B1}function oy(r){!function(r,i,c){if(Z_>0){const v=r.data[c];N1(r,i,Array.isArray(v)?v:v.update,Pr()-Z_-1,Y_)}Y_=0,Z_=0}(ys(),Di(),r+20)}function sy(r,i={}){return function(r,i={}){let c=r;if(k1.test(r)){const v={},S=[0];c=c.replace($1,(k,te,le)=>{const Le=te||le,vt=v[Le]||[];if(vt.length||(Le.split("|").forEach(Si=>{const ii=Si.match(ny),Co=ii?parseInt(ii[1],10):0,zi=IE.test(Si);vt.push([Co,zi,Si])}),v[Le]=vt),!vt.length)throw new Error(`i18n postprocess: unmatched placeholder - ${Le}`);const Qt=S[S.length-1];let Pn=0;for(let Si=0;Si<vt.length;Si++)if(vt[Si][0]===Qt){Pn=Si;break}const[Wn,yr,Ur]=vt[Pn];return yr?S.pop():Qt!==Wn&&S.push(Wn),vt.splice(Pn,1),Ur})}return Object.keys(i).length&&(c=c.replace(RE,(v,S,k,te,le,Le)=>i.hasOwnProperty(k)?`${S}${i[k]}${Le}`:v),c=c.replace(NE,(v,S)=>i.hasOwnProperty(S)?i[S]:v),c=c.replace(PE,(v,S)=>{if(i.hasOwnProperty(S)){const k=i[S];if(!k.length)throw new Error(`i18n postprocess: unmatched ICU - ${v} with key: ${S}`);return k.shift()}return v})),c}(r,i)}function Y1(r,i,c,v,S){if(r=D(r),Array.isArray(r))for(let k=0;k<r.length;k++)Y1(r[k],i,c,v,S);else{const k=ys(),te=Di();let le=gp(r)?r:D(r.provide),Le=Yc(r);const vt=Vo(),Qt=1048575&vt.providerIndexes,Pn=vt.directiveStart,Wn=vt.providerIndexes>>20;if(gp(r)||!r.multi){const yr=new Ts(Le,S,H_),Ur=V1(le,i,S?Qt:Qt+Wn,Pn);-1===Ur?(kn(Dt(vt,te),k,le),Z1(k,r,i.length),i.push(le),vt.directiveStart++,vt.directiveEnd++,S&&(vt.providerIndexes+=1048576),c.push(yr),te.push(yr)):(c[Ur]=yr,te[Ur]=yr)}else{const yr=V1(le,i,Qt+Wn,Pn),Ur=V1(le,i,Qt,Qt+Wn),Si=yr>=0&&c[yr],ii=Ur>=0&&c[Ur];if(S&&!ii||!S&&!Si){kn(Dt(vt,te),k,le);const Co=function(r,i,c,v,S){const k=new Ts(r,c,H_);return k.multi=[],k.index=i,k.componentProviders=0,ay(k,S,v&&!c),k}(S?kE:FE,c.length,S,v,Le);!S&&ii&&(c[Ur].providerFactory=Co),Z1(k,r,i.length,0),i.push(le),vt.directiveStart++,vt.directiveEnd++,S&&(vt.providerIndexes+=1048576),c.push(Co),te.push(Co)}else Z1(k,r,yr>-1?yr:Ur,ay(c[S?Ur:yr],Le,!S&&v));!S&&v&&ii&&c[Ur].componentProviders++}}}function Z1(r,i,c,v){const S=gp(i);if(S||function(r){return!!r.useClass}(i)){const te=(i.useClass||i).prototype.ngOnDestroy;if(te){const le=r.destroyHooks||(r.destroyHooks=[]);if(!S&&i.multi){const Le=le.indexOf(c);-1===Le?le.push(c,[v,te]):le[Le+1].push(v,te)}else le.push(c,te)}}}function ay(r,i,c){return c&&r.componentProviders++,r.multi.push(i)-1}function V1(r,i,c,v){for(let S=c;S<v;S++)if(i[S]===r)return S;return-1}function FE(r,i,c,v){return G1(this.multi,[])}function kE(r,i,c,v){const S=this.multi;let k;if(this.providerFactory){const te=this.providerFactory.componentProviders,le=fo(c,c[1],this.providerFactory.index,v);k=le.slice(0,te),G1(S,k);for(let Le=te;Le<le.length;Le++)k.push(le[Le])}else k=[],G1(S,k);return k}function G1(r,i){for(let c=0;c<r.length;c++)i.push((0,r[c])());return i}function ly(r,i=[]){return c=>{c.providersResolver=(v,S)=>function(r,i,c){const v=ys();if(v.firstCreatePass){const S=qi(r);Y1(c,v.data,v.blueprint,S,!0),Y1(i,v.data,v.blueprint,S,!1)}}(v,S?S(r):r,i)}}class cy{}class uy{}const fy="ngComponent";class HE{resolveComponentFactory(i){throw function(r){const i=Error(`No component factory found for ${_(r)}. Did you add it to @NgModule.entryComponents?`);return i[fy]=r,i}(i)}}let qh=(()=>{class r{}return r.NULL=new HE,r})();function sm(...r){}function Jh(r,i){return new tp(Ni(r,i))}const BE=function(){return Jh(Vo(),Di())};let tp=(()=>{class r{constructor(c){this.nativeElement=c}}return r.__NG_ELEMENT_ID__=BE,r})();function py(r){return r instanceof tp?r.nativeElement:r}class Qh{}let YE=(()=>{class r{}return r.__NG_ELEMENT_ID__=()=>VE(),r})();const VE=function(){const r=Di(),c=Lo(Vo().index,r);return function(r){return r[11]}(Ei(c)?c:r)};let W1=(()=>{class r{}return r.\u0275prov=Qe({token:r,providedIn:"root",factory:()=>null}),r})();class hy{constructor(i){this.full=i,this.major=i.split(".")[0],this.minor=i.split(".")[1],this.patch=i.split(".").slice(2).join(".")}}const _y=new hy("12.2.13");class gy{constructor(){}supports(i){return sh(i)}create(i){return new qE(i)}}const WE=(r,i)=>i;class qE{constructor(i){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=i||WE}forEachItem(i){let c;for(c=this._itHead;null!==c;c=c._next)i(c)}forEachOperation(i){let c=this._itHead,v=this._removalsHead,S=0,k=null;for(;c||v;){const te=!v||c&&c.currentIndex<vy(v,S,k)?c:v,le=vy(te,S,k),Le=te.currentIndex;if(te===v)S--,v=v._nextRemoved;else if(c=c._next,null==te.previousIndex)S++;else{k||(k=[]);const vt=le-S,Qt=Le-S;if(vt!=Qt){for(let Wn=0;Wn<vt;Wn++){const yr=Wn<k.length?k[Wn]:k[Wn]=0,Ur=yr+Wn;Qt<=Ur&&Ur<vt&&(k[Wn]=yr+1)}k[te.previousIndex]=Qt-vt}}le!==Le&&i(te,le,Le)}}forEachPreviousItem(i){let c;for(c=this._previousItHead;null!==c;c=c._nextPrevious)i(c)}forEachAddedItem(i){let c;for(c=this._additionsHead;null!==c;c=c._nextAdded)i(c)}forEachMovedItem(i){let c;for(c=this._movesHead;null!==c;c=c._nextMoved)i(c)}forEachRemovedItem(i){let c;for(c=this._removalsHead;null!==c;c=c._nextRemoved)i(c)}forEachIdentityChange(i){let c;for(c=this._identityChangesHead;null!==c;c=c._nextIdentityChange)i(c)}diff(i){if(null==i&&(i=[]),!sh(i))throw new Error(`Error trying to diff '${_(i)}'. Only arrays and iterables are allowed`);return this.check(i)?this:null}onDestroy(){}check(i){this._reset();let S,k,te,c=this._itHead,v=!1;if(Array.isArray(i)){this.length=i.length;for(let le=0;le<this.length;le++)k=i[le],te=this._trackByFn(le,k),null!==c&&Object.is(c.trackById,te)?(v&&(c=this._verifyReinsertion(c,k,te,le)),Object.is(c.item,k)||this._addIdentityChange(c,k)):(c=this._mismatch(c,k,te,le),v=!0),c=c._next}else S=0,function(r,i){if(Array.isArray(r))for(let c=0;c<r.length;c++)i(r[c]);else{const c=r[Kf()]();let v;for(;!(v=c.next()).done;)i(v.value)}}(i,le=>{te=this._trackByFn(S,le),null!==c&&Object.is(c.trackById,te)?(v&&(c=this._verifyReinsertion(c,le,te,S)),Object.is(c.item,le)||this._addIdentityChange(c,le)):(c=this._mismatch(c,le,te,S),v=!0),c=c._next,S++}),this.length=S;return this._truncate(c),this.collection=i,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let i;for(i=this._previousItHead=this._itHead;null!==i;i=i._next)i._nextPrevious=i._next;for(i=this._additionsHead;null!==i;i=i._nextAdded)i.previousIndex=i.currentIndex;for(this._additionsHead=this._additionsTail=null,i=this._movesHead;null!==i;i=i._nextMoved)i.previousIndex=i.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(i,c,v,S){let k;return null===i?k=this._itTail:(k=i._prev,this._remove(i)),null!==(i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(v,null))?(Object.is(i.item,c)||this._addIdentityChange(i,c),this._reinsertAfter(i,k,S)):null!==(i=null===this._linkedRecords?null:this._linkedRecords.get(v,S))?(Object.is(i.item,c)||this._addIdentityChange(i,c),this._moveAfter(i,k,S)):i=this._addAfter(new JE(c,v),k,S),i}_verifyReinsertion(i,c,v,S){let k=null===this._unlinkedRecords?null:this._unlinkedRecords.get(v,null);return null!==k?i=this._reinsertAfter(k,i._prev,S):i.currentIndex!=S&&(i.currentIndex=S,this._addToMoves(i,S)),i}_truncate(i){for(;null!==i;){const c=i._next;this._addToRemovals(this._unlink(i)),i=c}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(i,c,v){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(i);const S=i._prevRemoved,k=i._nextRemoved;return null===S?this._removalsHead=k:S._nextRemoved=k,null===k?this._removalsTail=S:k._prevRemoved=S,this._insertAfter(i,c,v),this._addToMoves(i,v),i}_moveAfter(i,c,v){return this._unlink(i),this._insertAfter(i,c,v),this._addToMoves(i,v),i}_addAfter(i,c,v){return this._insertAfter(i,c,v),this._additionsTail=null===this._additionsTail?this._additionsHead=i:this._additionsTail._nextAdded=i,i}_insertAfter(i,c,v){const S=null===c?this._itHead:c._next;return i._next=S,i._prev=c,null===S?this._itTail=i:S._prev=i,null===c?this._itHead=i:c._next=i,null===this._linkedRecords&&(this._linkedRecords=new my),this._linkedRecords.put(i),i.currentIndex=v,i}_remove(i){return this._addToRemovals(this._unlink(i))}_unlink(i){null!==this._linkedRecords&&this._linkedRecords.remove(i);const c=i._prev,v=i._next;return null===c?this._itHead=v:c._next=v,null===v?this._itTail=c:v._prev=c,i}_addToMoves(i,c){return i.previousIndex===c||(this._movesTail=null===this._movesTail?this._movesHead=i:this._movesTail._nextMoved=i),i}_addToRemovals(i){return null===this._unlinkedRecords&&(this._unlinkedRecords=new my),this._unlinkedRecords.put(i),i.currentIndex=null,i._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=i,i._prevRemoved=null):(i._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=i),i}_addIdentityChange(i,c){return i.item=c,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=i:this._identityChangesTail._nextIdentityChange=i,i}}class JE{constructor(i,c){this.item=i,this.trackById=c,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class QE{constructor(){this._head=null,this._tail=null}add(i){null===this._head?(this._head=this._tail=i,i._nextDup=null,i._prevDup=null):(this._tail._nextDup=i,i._prevDup=this._tail,i._nextDup=null,this._tail=i)}get(i,c){let v;for(v=this._head;null!==v;v=v._nextDup)if((null===c||c<=v.currentIndex)&&Object.is(v.trackById,i))return v;return null}remove(i){const c=i._prevDup,v=i._nextDup;return null===c?this._head=v:c._nextDup=v,null===v?this._tail=c:v._prevDup=c,null===this._head}}class my{constructor(){this.map=new Map}put(i){const c=i.trackById;let v=this.map.get(c);v||(v=new QE,this.map.set(c,v)),v.add(i)}get(i,c){const S=this.map.get(i);return S?S.get(i,c):null}remove(i){const c=i.trackById;return this.map.get(c).remove(i)&&this.map.delete(c),i}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function vy(r,i,c){const v=r.previousIndex;if(null===v)return v;let S=0;return c&&v<c.length&&(S=c[v]),v+i+S}class yy{constructor(){}supports(i){return i instanceof Map||Uh(i)}create(){return new XE}}class XE{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(i){let c;for(c=this._mapHead;null!==c;c=c._next)i(c)}forEachPreviousItem(i){let c;for(c=this._previousMapHead;null!==c;c=c._nextPrevious)i(c)}forEachChangedItem(i){let c;for(c=this._changesHead;null!==c;c=c._nextChanged)i(c)}forEachAddedItem(i){let c;for(c=this._additionsHead;null!==c;c=c._nextAdded)i(c)}forEachRemovedItem(i){let c;for(c=this._removalsHead;null!==c;c=c._nextRemoved)i(c)}diff(i){if(i){if(!(i instanceof Map||Uh(i)))throw new Error(`Error trying to diff '${_(i)}'. Only maps and objects are allowed`)}else i=new Map;return this.check(i)?this:null}onDestroy(){}check(i){this._reset();let c=this._mapHead;if(this._appendAfter=null,this._forEach(i,(v,S)=>{if(c&&c.key===S)this._maybeAddToChanges(c,v),this._appendAfter=c,c=c._next;else{const k=this._getOrCreateRecordForKey(S,v);c=this._insertBeforeOrAppend(c,k)}}),c){c._prev&&(c._prev._next=null),this._removalsHead=c;for(let v=c;null!==v;v=v._nextRemoved)v===this._mapHead&&(this._mapHead=null),this._records.delete(v.key),v._nextRemoved=v._next,v.previousValue=v.currentValue,v.currentValue=null,v._prev=null,v._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(i,c){if(i){const v=i._prev;return c._next=i,c._prev=v,i._prev=c,v&&(v._next=c),i===this._mapHead&&(this._mapHead=c),this._appendAfter=i,i}return this._appendAfter?(this._appendAfter._next=c,c._prev=this._appendAfter):this._mapHead=c,this._appendAfter=c,null}_getOrCreateRecordForKey(i,c){if(this._records.has(i)){const S=this._records.get(i);this._maybeAddToChanges(S,c);const k=S._prev,te=S._next;return k&&(k._next=te),te&&(te._prev=k),S._next=null,S._prev=null,S}const v=new KE(i);return this._records.set(i,v),v.currentValue=c,this._addToAdditions(v),v}_reset(){if(this.isDirty){let i;for(this._previousMapHead=this._mapHead,i=this._previousMapHead;null!==i;i=i._next)i._nextPrevious=i._next;for(i=this._changesHead;null!==i;i=i._nextChanged)i.previousValue=i.currentValue;for(i=this._additionsHead;null!=i;i=i._nextAdded)i.previousValue=i.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(i,c){Object.is(c,i.currentValue)||(i.previousValue=i.currentValue,i.currentValue=c,this._addToChanges(i))}_addToAdditions(i){null===this._additionsHead?this._additionsHead=this._additionsTail=i:(this._additionsTail._nextAdded=i,this._additionsTail=i)}_addToChanges(i){null===this._changesHead?this._changesHead=this._changesTail=i:(this._changesTail._nextChanged=i,this._changesTail=i)}_forEach(i,c){i instanceof Map?i.forEach(c):Object.keys(i).forEach(v=>c(i[v],v))}}class KE{constructor(i){this.key=i,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function by(){return new am([new gy])}let am=(()=>{class r{constructor(c){this.factories=c}static create(c,v){if(null!=v){const S=v.factories.slice();c=c.concat(S)}return new r(c)}static extend(c){return{provide:r,useFactory:v=>r.create(c,v||by()),deps:[[r,new Da,new Ss]]}}find(c){const v=this.factories.find(S=>S.supports(c));if(null!=v)return v;throw new Error(`Cannot find a differ supporting object '${c}' of type '${function(r){return r.name||typeof r}(c)}'`)}}return r.\u0275prov=Qe({token:r,providedIn:"root",factory:by}),r})();function Ey(){return new lm([new yy])}let lm=(()=>{class r{constructor(c){this.factories=c}static create(c,v){if(v){const S=v.factories.slice();c=c.concat(S)}return new r(c)}static extend(c){return{provide:r,useFactory:v=>r.create(c,v||Ey()),deps:[[r,new Da,new Ss]]}}find(c){const v=this.factories.find(S=>S.supports(c));if(v)return v;throw new Error(`Cannot find a differ supporting object '${c}'`)}}return r.\u0275prov=Qe({token:r,providedIn:"root",factory:Ey}),r})();function cm(r,i,c,v,S=!1){for(;null!==c;){const k=i[c.index];if(null!==k&&v.push(ye(k)),wi(k))for(let le=10;le<k.length;le++){const Le=k[le],vt=Le[1].firstChild;null!==vt&&cm(Le[1],Le,vt,v)}const te=c.type;if(8&te)cm(r,i,c.child,v);else if(32&te){const le=mf(c,i);let Le;for(;Le=le();)v.push(Le)}else if(16&te){const le=ms(i,c);if(Array.isArray(le))v.push(...le);else{const Le=Qc(i[16]);cm(Le[1],Le,le,v,!0)}}c=S?c.projectionNext:c.next}return v}class G_{constructor(i,c){this._lView=i,this._cdRefInjectingView=c,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const i=this._lView,c=i[1];return cm(c,i,c.firstChild,[])}get context(){return this._lView[8]}set context(i){this._lView[8]=i}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const i=this._lView[3];if(wi(i)){const c=i[8],v=c?c.indexOf(this):-1;v>-1&&(xd(i,v),_c(c,v))}this._attachedToViewContainer=!1}yf(this._lView[1],this._lView)}onDestroy(i){At(this._lView[1],this._lView,null,i)}markForCheck(){cg(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Lh(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(r,i,c){xr(!0);try{Lh(r,i,c)}finally{xr(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var i;this._appRef=null,Wr(this._lView[1],i=this._lView,i[11],2,null,null)}attachToAppRef(i){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=i}}class tT extends G_{constructor(i){super(i),this._view=i}detectChanges(){Kd(this._view)}checkNoChanges(){!function(r){xr(!0);try{Kd(r)}finally{xr(!1)}}(this._view)}get context(){return null}}const rT=function(r){return function(r,i,c){if(ki(r)&&!c){const v=Lo(r.index,i);return new G_(v,v)}return 47&r.type?new G_(i[16],i):null}(Vo(),Di(),16==(16&r))};let Ty=(()=>{class r{}return r.__NG_ELEMENT_ID__=rT,r})();const sT=[new yy],lT=new am([new gy]),cT=new lm(sT),dT=function(){return um(Vo(),Di())};let z_=(()=>{class r{}return r.__NG_ELEMENT_ID__=dT,r})();const fT=z_,q1=class extends fT{constructor(i,c,v){super(),this._declarationLView=i,this._declarationTContainer=c,this.elementRef=v}createEmbeddedView(i){const c=this._declarationTContainer.tViews,v=Ku(this._declarationLView,c,i,16,null,c.declTNode,null,null,null,null);v[17]=this._declarationLView[this._declarationTContainer.index];const k=this._declarationLView[19];return null!==k&&(v[19]=k.createEmbeddedView(c)),Jf(c,v,i),new G_(v)}};function um(r,i){return 4&r.type?new q1(i,r,Jh(r,i)):null}class ch{}class J1{}const hT=function(){return My(Vo(),Di())};let fm=(()=>{class r{}return r.__NG_ELEMENT_ID__=hT,r})();const gT=fm,Cy=class extends gT{constructor(i,c,v){super(),this._lContainer=i,this._hostTNode=c,this._hostLView=v}get element(){return Jh(this._hostTNode,this._hostLView)}get injector(){return new io(this._hostTNode,this._hostLView)}get parentInjector(){const i=Gn(this._hostTNode,this._hostLView);if(Je(i)){const c=Mt(i,this._hostLView),v=Fe(i);return new io(c[1].data[v+8],c)}return new io(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(i){const c=Sy(this._lContainer);return null!==c&&c[i]||null}get length(){return this._lContainer.length-10}createEmbeddedView(i,c,v){const S=i.createEmbeddedView(c||{});return this.insert(S,v),S}createComponent(i,c,v,S,k){const te=v||this.parentInjector;if(!k&&null==i.ngModule&&te){const Le=te.get(ch,null);Le&&(k=Le)}const le=i.create(te,S,void 0,k);return this.insert(le.hostView,c),le}insert(i,c){const v=i._lView,S=v[1];if(wi(v[3])){const Qt=this.indexOf(i);if(-1!==Qt)this.detach(Qt);else{const Pn=v[3],Wn=new Cy(Pn,Pn[6],Pn[3]);Wn.detach(Wn.indexOf(i))}}const k=this._adjustIndex(c),te=this._lContainer;!function(r,i,c,v){const S=10+v,k=c.length;v>0&&(c[S-1][4]=i),v<k-10?(i[4]=c[S],Cc(c,10+v,i)):(c.push(i),i[4]=null),i[3]=c;const te=i[17];null!==te&&c!==te&&function(r,i){const c=r[9];i[16]!==i[3][3][16]&&(r[2]=!0),null===c?r[9]=[i]:c.push(i)}(te,i);const le=i[19];null!==le&&le.insertView(r),i[2]|=128}(S,v,te,k);const le=Js(k,te),Le=v[11],vt=tt(Le,te[7]);return null!==vt&&function(r,i,c,v,S,k){v[0]=S,v[6]=i,Wr(r,v,c,1,S,k)}(S,te[6],Le,v,vt,le),i.attachToViewContainerRef(),Cc(Q1(te),k,i),i}move(i,c){return this.insert(i,c)}indexOf(i){const c=Sy(this._lContainer);return null!==c?c.indexOf(i):-1}remove(i){const c=this._adjustIndex(i,-1),v=xd(this._lContainer,c);v&&(_c(Q1(this._lContainer),c),yf(v[1],v))}detach(i){const c=this._adjustIndex(i,-1),v=xd(this._lContainer,c);return v&&null!=_c(Q1(this._lContainer),c)?new G_(v):null}_adjustIndex(i,c=0){return null==i?this.length+c:i}};function Sy(r){return r[8]}function Q1(r){return r[8]||(r[8]=[])}function My(r,i){let c;const v=i[r.index];if(wi(v))c=v;else{let S;if(8&r.type)S=ye(v);else{const k=i[11];S=k.createComment("");const te=Ni(r,i);C(k,tt(k,te),S,function(r,i){return pt(r)?r.nextSibling(i):i.nextSibling}(k,te),!1)}i[r.index]=c=pp(v,i,S,r),b_(i,c)}return new Cy(c,r,i)}const fh={};class av extends qh{constructor(i){super(),this.ngModule=i}resolveComponentFactory(i){const c=Bn(i);return new kC(c,this.ngModule)}}function lv(r){const i=[];for(let c in r)r.hasOwnProperty(c)&&i.push({propName:r[c],templateName:c});return i}const Mo=new rs("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>jf});class kC extends uy{constructor(i,c){super(),this.componentDef=i,this.ngModule=c,this.componentType=i.type,this.selector=i.selectors.map(zp).join(","),this.ngContentSelectors=i.ngContentSelectors?i.ngContentSelectors:[],this.isBoundToModule=!!c}get inputs(){return lv(this.componentDef.inputs)}get outputs(){return lv(this.componentDef.outputs)}create(i,c,v,S){const k=(S=S||this.ngModule)?function(r,i){return{get:(c,v,S)=>{const k=r.get(c,fh,S);return k!==fh||v===fh?k:i.get(c,v,S)}}}(i,S.injector):i,te=k.get(Qh,Nt),le=k.get(W1,null),Le=te.createRenderer(null,this.componentDef),vt=this.componentDef.selectors[0][0]||"div",Qt=v?function(r,i,c){if(pt(r))return r.selectRootElement(i,c===$n.ShadowDom);let v="string"==typeof i?r.querySelector(i):i;return v.textContent="",v}(Le,v,this.componentDef.encapsulation):Dd(te.createRenderer(null,this.componentDef),vt,function(r){const i=r.toLowerCase();return"svg"===i?"http://www.w3.org/2000/svg":"math"===i?"http://www.w3.org/1998/MathML/":null}(vt)),Pn=this.componentDef.onPush?576:528,Wn=function(r,i){return{components:[],scheduler:r||jf,clean:wc,playerHandler:i||null,flags:0}}(),yr=Rp(0,null,null,1,0,null,null,null,null,null),Ur=Ku(null,yr,Wn,Pn,null,null,te,Le,le,k);let Si,ii;Ft(Ur);try{const Co=function(r,i,c,v,S,k){const te=c[1];c[20]=r;const Le=Uu(te,20,2,"#host",null),vt=Le.mergedAttrs=i.hostAttrs;null!==vt&&(nh(Le,vt,!0),null!==r&&(Cl(S,r,vt),null!==Le.classes&&la(S,r,Le.classes),null!==Le.styles&&ps(S,r,Le.styles)));const Qt=v.createRenderer(r,i),Pn=Ku(c,Sf(i),null,i.onPush?64:16,c[20],Le,v,Qt,k||null,null);return te.firstCreatePass&&(kn(Dt(Le,c),te,i.type),ga(te,Le),Dm(Le,c.length,1)),b_(c,Pn),c[20]=Pn}(Qt,this.componentDef,Ur,te,Le);if(Qt)if(v)Cl(Le,Qt,["ng-version",_y.full]);else{const{attrs:zi,classes:$s}=function(r){const i=[],c=[];let v=1,S=2;for(;v<r.length;){let k=r[v];if("string"==typeof k)2===S?""!==k&&i.push(k,r[++v]):8===S&&c.push(k);else{if(!$u(S))break;S=k}v++}return{attrs:i,classes:c}}(this.componentDef.selectors[0]);zi&&Cl(Le,Qt,zi),$s&&$s.length>0&&la(Le,Qt,$s.join(" "))}if(ii=vs(yr,20),void 0!==c){const zi=ii.projection=[];for(let $s=0;$s<this.ngContentSelectors.length;$s++){const ya=c[$s];zi.push(null!=ya?Array.from(ya):null)}}Si=function(r,i,c,v,S){const k=c[1],te=function(r,i,c){const v=Vo();r.firstCreatePass&&(c.providersResolver&&c.providersResolver(c),xm(r,v,i,Qd(r,i,1,null),c));const S=fo(i,r,v.directiveStart,v);dc(S,i);const k=Ni(v,i);return k&&dc(k,i),S}(k,c,i);if(v.components.push(te),r[8]=te,S&&S.forEach(Le=>Le(te,i)),i.contentQueries){const Le=Vo();i.contentQueries(1,te,Le.directiveStart)}const le=Vo();return!k.firstCreatePass||null===i.hostBindings&&null===i.hostAttrs||(lr(le.index),ed(c[1],le,0,le.directiveStart,le.directiveEnd,i),fc(i,te)),te}(Co,this.componentDef,Ur,Wn,[Km]),Jf(yr,Ur,null)}finally{pi()}return new EM(this.componentType,Si,Jh(ii,Ur),Ur,ii)}}class EM extends cy{constructor(i,c,v,S,k){super(),this.location=v,this._rootLView=S,this._tNode=k,this.instance=c,this.hostView=this.changeDetectorRef=new tT(S),this.componentType=i}get injector(){return new io(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(i){this.hostView.onDestroy(i)}}const mm=new Map;class SM extends ch{constructor(i,c){super(),this._parent=c,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new av(this);const v=_r(i),S=i[Qn]||null;S&&nm(S),this._bootstrapComponents=vu(v.bootstrap),this._r3Injector=hg(i,c,[{provide:ch,useValue:this},{provide:qh,useValue:this.componentFactoryResolver}],_(i)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(i)}get(i,c=ic.THROW_IF_NOT_FOUND,v=Mn.Default){return i===ic||i===ch||i===_p?this:this._r3Injector.get(i,c,v)}destroy(){const i=this._r3Injector;!i.destroyed&&i.destroy(),this.destroyCbs.forEach(c=>c()),this.destroyCbs=null}onDestroy(i){this.destroyCbs.push(i)}}class OT extends J1{constructor(i){super(),this.moduleType=i,null!==_r(i)&&function(r){const i=new Set;!function c(v){const S=_r(v,!0),k=S.id;null!==k&&(function(r,i,c){if(i&&i!==c)throw new Error(`Duplicate module registered for ${r} - ${_(i)} vs ${_(i.name)}`)}(k,mm.get(k),v),mm.set(k,v));const te=vu(S.imports);for(const le of te)i.has(le)||(i.add(le),c(le))}(r)}(i)}create(i){return new SM(this.moduleType,i)}}function UC(r,i,c){const v=Zr()+r,S=Di();return S[v]===ca?bu(S,v,c?i.call(c):i()):mp(S,v)}function jC(r,i,c,v){return GC(Di(),Zr(),r,i,c,v)}function BC(r,i,c,v,S){return zC(Di(),Zr(),r,i,c,v,S)}function YC(r,i,c,v,S,k){return WC(Di(),Zr(),r,i,c,v,S,k)}function ZC(r,i,c,v,S,k,te){return function(r,i,c,v,S,k,te,le,Le){const vt=i+c;return Yu(r,vt,S,k,te,le)?bu(r,vt+4,Le?v.call(Le,S,k,te,le):v(S,k,te,le)):cv(r,vt+4)}(Di(),Zr(),r,i,c,v,S,k,te)}function VC(r,i,c,v,S,k,te,le){const Le=Zr()+r,vt=Di(),Qt=Yu(vt,Le,c,v,S,k);return Vc(vt,Le+4,te)||Qt?bu(vt,Le+5,le?i.call(le,c,v,S,k,te):i(c,v,S,k,te)):mp(vt,Le+5)}function cv(r,i){const c=r[i];return c===ca?void 0:c}function GC(r,i,c,v,S,k){const te=i+c;return Vc(r,te,S)?bu(r,te+1,k?v.call(k,S):v(S)):cv(r,te+1)}function zC(r,i,c,v,S,k,te){const le=i+c;return bd(r,le,S,k)?bu(r,le+2,te?v.call(te,S,k):v(S,k)):cv(r,le+2)}function WC(r,i,c,v,S,k,te,le){const Le=i+c;return Np(r,Le,S,k,te)?bu(r,Le+3,le?v.call(le,S,k,te):v(S,k,te)):cv(r,Le+3)}function QC(r,i){const c=ys();let v;const S=r+20;c.firstCreatePass?(v=function(r,i){if(i)for(let c=i.length-1;c>=0;c--){const v=i[c];if(r===v.name)return v}throw new H("302",`The pipe '${r}' could not be found!`)}(i,c.pipeRegistry),c.data[S]=v,v.onDestroy&&(c.destroyHooks||(c.destroyHooks=[])).push(S,v.onDestroy)):v=c.data[S];const k=v.factory||(v.factory=gi(v.type)),te=Yn(H_);try{const le=ke(!1),Le=k();return ke(le),function(r,i,c,v){c>=r.data.length&&(r.data[c]=null,r.blueprint[c]=null),i[c]=v}(c,Di(),S,Le),Le}finally{Yn(te)}}function XC(r,i,c){const v=r+20,S=Di(),k=as(S,v);return dv(S,uv(S,v)?GC(S,Zr(),i,k.transform,c,k):k.transform(c))}function KC(r,i,c,v){const S=r+20,k=Di(),te=as(k,S);return dv(k,uv(k,S)?zC(k,Zr(),i,te.transform,c,v,te):te.transform(c,v))}function eS(r,i,c,v,S){const k=r+20,te=Di(),le=as(te,k);return dv(te,uv(te,k)?WC(te,Zr(),i,le.transform,c,v,S,le):le.transform(c,v,S))}function uv(r,i){return r[1].data[i].pure}function dv(r,i){return Pd.isWrapped(i)&&(i=Pd.unwrap(i),r[Pr()]=ca),i}function AT(r){return i=>{setTimeout(r,void 0,i)}}const Bp=class extends t.xQ{constructor(i=!1){super(),this.__isAsync=i}emit(i){super.next(i)}subscribe(i,c,v){var S,k,te;let le=i,Le=c||(()=>null),vt=v;if(i&&"object"==typeof i){const Pn=i;le=null===(S=Pn.next)||void 0===S?void 0:S.bind(Pn),Le=null===(k=Pn.error)||void 0===k?void 0:k.bind(Pn),vt=null===(te=Pn.complete)||void 0===te?void 0:te.bind(Pn)}this.__isAsync&&(Le=AT(Le),le&&(le=AT(le)),vt&&(vt=AT(vt)));const Qt=super.subscribe({next:le,error:Le,complete:vt});return i instanceof e.w&&i.add(Qt),Qt}};function PM(){return this._results[Kf()]()}class Wy{constructor(i=!1){this._emitDistinctChangesOnly=i,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const c=Kf(),v=Wy.prototype;v[c]||(v[c]=PM)}get changes(){return this._changes||(this._changes=new Bp)}get(i){return this._results[i]}map(i){return this._results.map(i)}filter(i){return this._results.filter(i)}find(i){return this._results.find(i)}reduce(i,c){return this._results.reduce(i,c)}forEach(i){this._results.forEach(i)}some(i){return this._results.some(i)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(i,c){const v=this;v.dirty=!1;const S=Ga(i);(this._changesDetected=!function(r,i,c){if(r.length!==i.length)return!1;for(let v=0;v<r.length;v++){let S=r[v],k=i[v];if(c&&(S=c(S),k=c(k)),k!==S)return!1}return!0}(v._results,S,c))&&(v._results=S,v.length=S.length,v.last=S[this.length-1],v.first=S[0])}notifyOnChanges(){this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}Symbol;class wT{constructor(i){this.queryList=i,this.matches=null}clone(){return new wT(this.queryList)}setDirty(){this.queryList.setDirty()}}class DT{constructor(i=[]){this.queries=i}createEmbeddedView(i){const c=i.queries;if(null!==c){const v=null!==i.contentQueries?i.contentQueries[0]:c.length,S=[];for(let k=0;k<v;k++){const te=c.getByIndex(k);S.push(this.queries[te.indexInDeclarationView].clone())}return new DT(S)}return null}insertView(i){this.dirtyQueriesWithMatches(i)}detachView(i){this.dirtyQueriesWithMatches(i)}dirtyQueriesWithMatches(i){for(let c=0;c<this.queries.length;c++)null!==cS(i,c).matches&&this.queries[c].setDirty()}}class tS{constructor(i,c,v=null){this.predicate=i,this.flags=c,this.read=v}}class xT{constructor(i=[]){this.queries=i}elementStart(i,c){for(let v=0;v<this.queries.length;v++)this.queries[v].elementStart(i,c)}elementEnd(i){for(let c=0;c<this.queries.length;c++)this.queries[c].elementEnd(i)}embeddedTView(i){let c=null;for(let v=0;v<this.length;v++){const S=null!==c?c.length:0,k=this.getByIndex(v).embeddedTView(i,S);k&&(k.indexInDeclarationView=v,null!==c?c.push(k):c=[k])}return null!==c?new xT(c):null}template(i,c){for(let v=0;v<this.queries.length;v++)this.queries[v].template(i,c)}getByIndex(i){return this.queries[i]}get length(){return this.queries.length}track(i){this.queries.push(i)}}class RT{constructor(i,c=-1){this.metadata=i,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=c}elementStart(i,c){this.isApplyingToNode(c)&&this.matchTNode(i,c)}elementEnd(i){this._declarationNodeIndex===i.index&&(this._appliesToNextNode=!1)}template(i,c){this.elementStart(i,c)}embeddedTView(i,c){return this.isApplyingToNode(i)?(this.crossesNgTemplate=!0,this.addMatch(-i.index,c),new RT(this.metadata)):null}isApplyingToNode(i){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const c=this._declarationNodeIndex;let v=i.parent;for(;null!==v&&8&v.type&&v.index!==c;)v=v.parent;return c===(null!==v?v.index:-1)}return this._appliesToNextNode}matchTNode(i,c){const v=this.metadata.predicate;if(Array.isArray(v))for(let S=0;S<v.length;S++){const k=v[S];this.matchTNodeWithReadOption(i,c,FM(c,k)),this.matchTNodeWithReadOption(i,c,Ai(c,i,k,!1,!1))}else v===z_?4&c.type&&this.matchTNodeWithReadOption(i,c,-1):this.matchTNodeWithReadOption(i,c,Ai(c,i,v,!1,!1))}matchTNodeWithReadOption(i,c,v){if(null!==v){const S=this.metadata.read;if(null!==S)if(S===tp||S===fm||S===z_&&4&c.type)this.addMatch(c.index,-2);else{const k=Ai(c,i,S,!1,!1);null!==k&&this.addMatch(c.index,k)}else this.addMatch(c.index,v)}}addMatch(i,c){null===this.matches?this.matches=[i,c]:this.matches.push(i,c)}}function FM(r,i){const c=r.localNames;if(null!==c)for(let v=0;v<c.length;v+=2)if(c[v]===i)return c[v+1];return null}function $M(r,i,c,v){return-1===c?function(r,i){return 11&r.type?Jh(r,i):4&r.type?um(r,i):null}(i,r):-2===c?function(r,i,c){return c===tp?Jh(i,r):c===z_?um(i,r):c===fm?My(i,r):void 0}(r,i,v):fo(r,r[1],c,i)}function nS(r,i,c,v){const S=i[19].queries[v];if(null===S.matches){const k=r.data,te=c.matches,le=[];for(let Le=0;Le<te.length;Le+=2){const vt=te[Le];le.push(vt<0?null:$M(i,k[vt],te[Le+1],c.metadata.read))}S.matches=le}return S.matches}function NT(r,i,c,v){const S=r.queries.getByIndex(c),k=S.matches;if(null!==k){const te=nS(r,i,S,c);for(let le=0;le<k.length;le+=2){const Le=k[le];if(Le>0)v.push(te[le/2]);else{const vt=k[le+1],Qt=i[-Le];for(let Pn=10;Pn<Qt.length;Pn++){const Wn=Qt[Pn];Wn[17]===Wn[3]&&NT(Wn[1],Wn,vt,v)}if(null!==Qt[9]){const Pn=Qt[9];for(let Wn=0;Wn<Pn.length;Wn++){const yr=Pn[Wn];NT(yr[1],yr,vt,v)}}}}}return v}function rS(r){const i=Di(),c=ys(),v=Br();G(v+1);const S=cS(c,v);if(r.dirty&&Zo(i)===(2==(2&S.metadata.flags))){if(null===S.matches)r.reset([]);else{const k=S.crossesNgTemplate?NT(c,i,v,[]):nS(c,i,S,v);r.reset(k,py),r.notifyOnChanges()}return!0}return!1}function iS(r,i,c){const v=ys();v.firstCreatePass&&(lS(v,new tS(r,i,c),-1),2==(2&i)&&(v.staticViewQueries=!0)),aS(v,Di(),i)}function oS(r,i,c,v){const S=ys();if(S.firstCreatePass){const k=Vo();lS(S,new tS(i,c,v),k.index),function(r,i){const c=r.contentQueries||(r.contentQueries=[]);i!==(c.length?c[c.length-1]:-1)&&c.push(r.queries.length-1,i)}(S,r),2==(2&c)&&(S.staticContentQueries=!0)}aS(S,Di(),c)}function sS(){return r=Di(),i=Br(),r[19].queries[i].queryList;var r,i}function aS(r,i,c){const v=new Wy(4==(4&c));At(r,i,v,v.destroy),null===i[19]&&(i[19]=new DT),i[19].queries.push(new wT(v))}function lS(r,i,c){null===r.queries&&(r.queries=new xT),r.queries.track(new RT(i,c))}function cS(r,i){return r.queries.getByIndex(i)}function uS(r,i){return um(r,i)}const o2=Us("Input",r=>({bindingPropertyName:r})),s2=Us("Output",r=>({bindingPropertyName:r})),$T=new rs("Application Initializer");let ym=(()=>{class r{constructor(c){this.appInits=c,this.resolve=sm,this.reject=sm,this.initialized=!1,this.done=!1,this.donePromise=new Promise((v,S)=>{this.resolve=v,this.reject=S})}runInitializers(){if(this.initialized)return;const c=[],v=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let S=0;S<this.appInits.length;S++){const k=this.appInits[S]();if(h1(k))c.push(k);else if(_1(k)){const te=new Promise((le,Le)=>{k.subscribe({complete:le,error:Le})});c.push(te)}}Promise.all(c).then(()=>{v()}).catch(S=>{this.reject(S)}),0===c.length&&v(),this.initialized=!0}}return r.\u0275fac=function(c){return new(c||r)(sr($T,8))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();const wS=new rs("AppId"),g2={provide:wS,useFactory:function(){return`${HT()}${HT()}${HT()}`},deps:[]};function HT(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const DS=new rs("Platform Initializer"),xS=new rs("Platform ID"),RS=new rs("appBootstrapListener");let NS=(()=>{class r{log(c){console.log(c)}warn(c){console.warn(c)}}return r.\u0275fac=function(c){return new(c||r)},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();const Qy=new rs("LocaleId"),PS=new rs("DefaultCurrencyCode");class v2{constructor(i,c){this.ngModuleFactory=i,this.componentFactories=c}}const UT=function(r){return new OT(r)},y2=UT,b2=function(r){return Promise.resolve(UT(r))},IS=function(r){const i=UT(r),v=vu(_r(r).declarations).reduce((S,k)=>{const te=Bn(k);return te&&S.push(new kC(te)),S},[]);return new v2(i,v)},E2=IS,T2=function(r){return Promise.resolve(IS(r))};let pv=(()=>{class r{constructor(){this.compileModuleSync=y2,this.compileModuleAsync=b2,this.compileModuleAndAllComponentsSync=E2,this.compileModuleAndAllComponentsAsync=T2}clearCache(){}clearCacheFor(c){}getModuleId(c){}}return r.\u0275fac=function(c){return new(c||r)},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();const M2=(()=>Promise.resolve(0))();function jT(r){"undefined"==typeof Zone?M2.then(()=>{r&&r.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",r)}class Nf{constructor({enableLongStackTrace:i=!1,shouldCoalesceEventChangeDetection:c=!1,shouldCoalesceRunChangeDetection:v=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bp(!1),this.onMicrotaskEmpty=new Bp(!1),this.onStable=new Bp(!1),this.onError=new Bp(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const S=this;S._nesting=0,S._outer=S._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(S._inner=S._inner.fork(new Zone.TaskTrackingZoneSpec)),i&&Zone.longStackTraceZoneSpec&&(S._inner=S._inner.fork(Zone.longStackTraceZoneSpec)),S.shouldCoalesceEventChangeDetection=!v&&c,S.shouldCoalesceRunChangeDetection=v,S.lastRequestAnimationFrameId=-1,S.nativeRequestAnimationFrame=function(){let r=jn.requestAnimationFrame,i=jn.cancelAnimationFrame;if("undefined"!=typeof Zone&&r&&i){const c=r[Zone.__symbol__("OriginalDelegate")];c&&(r=c);const v=i[Zone.__symbol__("OriginalDelegate")];v&&(i=v)}return{nativeRequestAnimationFrame:r,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function(r){const i=()=>{!function(r){r.isCheckStableRunning||-1!==r.lastRequestAnimationFrameId||(r.lastRequestAnimationFrameId=r.nativeRequestAnimationFrame.call(jn,()=>{r.fakeTopEventTask||(r.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{r.lastRequestAnimationFrameId=-1,YT(r),r.isCheckStableRunning=!0,BT(r),r.isCheckStableRunning=!1},void 0,()=>{},()=>{})),r.fakeTopEventTask.invoke()}),YT(r))}(r)};r._inner=r._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(c,v,S,k,te,le)=>{try{return LS(r),c.invokeTask(S,k,te,le)}finally{(r.shouldCoalesceEventChangeDetection&&"eventTask"===k.type||r.shouldCoalesceRunChangeDetection)&&i(),FS(r)}},onInvoke:(c,v,S,k,te,le,Le)=>{try{return LS(r),c.invoke(S,k,te,le,Le)}finally{r.shouldCoalesceRunChangeDetection&&i(),FS(r)}},onHasTask:(c,v,S,k)=>{c.hasTask(S,k),v===S&&("microTask"==k.change?(r._hasPendingMicrotasks=k.microTask,YT(r),BT(r)):"macroTask"==k.change&&(r.hasPendingMacrotasks=k.macroTask))},onHandleError:(c,v,S,k)=>(c.handleError(S,k),r.runOutsideAngular(()=>r.onError.emit(k)),!1)})}(S)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Nf.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Nf.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(i,c,v){return this._inner.run(i,c,v)}runTask(i,c,v,S){const k=this._inner,te=k.scheduleEventTask("NgZoneEvent: "+S,i,A2,sm,sm);try{return k.runTask(te,c,v)}finally{k.cancelTask(te)}}runGuarded(i,c,v){return this._inner.runGuarded(i,c,v)}runOutsideAngular(i){return this._outer.run(i)}}const A2={};function BT(r){if(0==r._nesting&&!r.hasPendingMicrotasks&&!r.isStable)try{r._nesting++,r.onMicrotaskEmpty.emit(null)}finally{if(r._nesting--,!r.hasPendingMicrotasks)try{r.runOutsideAngular(()=>r.onStable.emit(null))}finally{r.isStable=!0}}}function YT(r){r.hasPendingMicrotasks=!!(r._hasPendingMicrotasks||(r.shouldCoalesceEventChangeDetection||r.shouldCoalesceRunChangeDetection)&&-1!==r.lastRequestAnimationFrameId)}function LS(r){r._nesting++,r.isStable&&(r.isStable=!1,r.onUnstable.emit(null))}function FS(r){r._nesting--,BT(r)}class x2{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bp,this.onMicrotaskEmpty=new Bp,this.onStable=new Bp,this.onError=new Bp}run(i,c,v){return i.apply(c,v)}runGuarded(i,c,v){return i.apply(c,v)}runOutsideAngular(i){return i()}runTask(i,c,v,S){return i.apply(c,v)}}let kS=(()=>{class r{constructor(c){this._ngZone=c,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),c.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Nf.assertNotInAngularZone(),jT(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())jT(()=>{for(;0!==this._callbacks.length;){let c=this._callbacks.pop();clearTimeout(c.timeoutId),c.doneCb(this._didWork)}this._didWork=!1});else{let c=this.getPendingTasks();this._callbacks=this._callbacks.filter(v=>!v.updateCb||!v.updateCb(c)||(clearTimeout(v.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(c=>({source:c.source,creationLocation:c.creationLocation,data:c.data})):[]}addCallback(c,v,S){let k=-1;v&&v>0&&(k=setTimeout(()=>{this._callbacks=this._callbacks.filter(te=>te.timeoutId!==k),c(this._didWork,this.getPendingTasks())},v)),this._callbacks.push({doneCb:c,timeoutId:k,updateCb:S})}whenStable(c,v,S){if(S&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(c,v,S),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(c,v,S){return[]}}return r.\u0275fac=function(c){return new(c||r)(sr(Nf))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})(),$S=(()=>{class r{constructor(){this._applications=new Map,ZT.addToWindow(this)}registerApplication(c,v){this._applications.set(c,v)}unregisterApplication(c){this._applications.delete(c)}unregisterAllApplications(){this._applications.clear()}getTestability(c){return this._applications.get(c)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(c,v=!0){return ZT.findTestabilityInTree(this,c,v)}}return r.\u0275fac=function(c){return new(c||r)},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();class R2{addToWindow(i){}findTestabilityInTree(i,c,v){return null}}function N2(r){ZT=r}let ZT=new R2,HS=!0,US=!1;function VT(){return US=!0,HS}function P2(){if(US)throw new Error("Cannot enable prod mode after platform setup.");HS=!1}let bp;const jS=new rs("AllowMultipleToken");class U2{constructor(i,c){this.name=i,this.token=c}}function BS(r,i,c=[]){const v=`Platform: ${i}`,S=new rs(v);return(k=[])=>{let te=YS();if(!te||te.injector.get(jS,!1))if(r)r(c.concat(k).concat({provide:S,useValue:!0}));else{const le=c.concat(k).concat({provide:S,useValue:!0},{provide:tf,useValue:"platform"});!function(r){if(bp&&!bp.destroyed&&!bp.injector.get(jS,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");bp=r.get(ZS);const i=r.get(DS,null);i&&i.forEach(c=>c())}(ic.create({providers:le,name:v}))}return function(r){const i=YS();if(!i)throw new Error("No platform exists!");if(!i.injector.get(r,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return i}(S)}}function YS(){return bp&&!bp.destroyed?bp:null}let ZS=(()=>{class r{constructor(c){this._injector=c,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(c,v){const le=function(r,i){let c;return c="noop"===r?new x2:("zone.js"===r?void 0:r)||new Nf({enableLongStackTrace:VT(),shouldCoalesceEventChangeDetection:!!(null==i?void 0:i.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==i?void 0:i.ngZoneRunCoalescing)}),c}(v?v.ngZone:void 0,{ngZoneEventCoalescing:v&&v.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:v&&v.ngZoneRunCoalescing||!1}),Le=[{provide:Nf,useValue:le}];return le.run(()=>{const vt=ic.create({providers:Le,parent:this.injector,name:c.moduleType.name}),Qt=c.create(vt),Pn=Qt.injector.get(mc,null);if(!Pn)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return le.runOutsideAngular(()=>{const Wn=le.onError.subscribe({next:yr=>{Pn.handleError(yr)}});Qt.onDestroy(()=>{GT(this._modules,Qt),Wn.unsubscribe()})}),function(r,i,c){try{const v=c();return h1(v)?v.catch(S=>{throw i.runOutsideAngular(()=>r.handleError(S)),S}):v}catch(v){throw i.runOutsideAngular(()=>r.handleError(v)),v}}(Pn,le,()=>{const Wn=Qt.injector.get(ym);return Wn.runInitializers(),Wn.donePromise.then(()=>(nm(Qt.injector.get(Qy,Xg)||Xg),this._moduleDoBootstrap(Qt),Qt))})})}bootstrapModule(c,v=[]){const S=VS({},v);return function(r,i,c){const v=new OT(c);return Promise.resolve(v)}(0,0,c).then(k=>this.bootstrapModuleFactory(k,S))}_moduleDoBootstrap(c){const v=c.injector.get(hv);if(c._bootstrapComponents.length>0)c._bootstrapComponents.forEach(S=>v.bootstrap(S));else{if(!c.instance.ngDoBootstrap)throw new Error(`The module ${_(c.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);c.instance.ngDoBootstrap(v)}this._modules.push(c)}onDestroy(c){this._destroyListeners.push(c)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(c=>c.destroy()),this._destroyListeners.forEach(c=>c()),this._destroyed=!0}get destroyed(){return this._destroyed}}return r.\u0275fac=function(c){return new(c||r)(sr(ic))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();function VS(r,i){return Array.isArray(i)?i.reduce(VS,r):Object.assign(Object.assign({},r),i)}let hv=(()=>{class r{constructor(c,v,S,k,te){this._zone=c,this._injector=v,this._exceptionHandler=S,this._componentFactoryResolver=k,this._initStatus=te,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const le=new s.y(vt=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{vt.next(this._stable),vt.complete()})}),Le=new s.y(vt=>{let Qt;this._zone.runOutsideAngular(()=>{Qt=this._zone.onStable.subscribe(()=>{Nf.assertNotInAngularZone(),jT(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,vt.next(!0))})})});const Pn=this._zone.onUnstable.subscribe(()=>{Nf.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{vt.next(!1)}))});return()=>{Qt.unsubscribe(),Pn.unsubscribe()}});this.isStable=(0,a.T)(le,Le.pipe((0,l.B)()))}bootstrap(c,v){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let S;S=c instanceof uy?c:this._componentFactoryResolver.resolveComponentFactory(c),this.componentTypes.push(S.componentType);const k=function(r){return r.isBoundToModule}(S)?void 0:this._injector.get(ch),le=S.create(ic.NULL,[],v||S.selector,k),Le=le.location.nativeElement,vt=le.injector.get(kS,null),Qt=vt&&le.injector.get($S);return vt&&Qt&&Qt.registerApplication(Le,vt),le.onDestroy(()=>{this.detachView(le.hostView),GT(this.components,le),Qt&&Qt.unregisterApplication(Le)}),this._loadComponent(le),le}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let c of this._views)c.detectChanges()}catch(c){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(c))}finally{this._runningTick=!1}}attachView(c){const v=c;this._views.push(v),v.attachToAppRef(this)}detachView(c){const v=c;GT(this._views,v),v.detachFromAppRef()}_loadComponent(c){this.attachView(c.hostView),this.tick(),this.components.push(c),this._injector.get(RS,[]).concat(this._bootstrapListeners).forEach(S=>S(c))}ngOnDestroy(){this._views.slice().forEach(c=>c.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return r.\u0275fac=function(c){return new(c||r)(sr(Nf),sr(ic),sr(mc),sr(qh),sr(ym))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();function GT(r,i){const c=r.indexOf(i);c>-1&&r.splice(c,1)}class G2{}class W2{}const q2={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};let J2=(()=>{class r{constructor(c,v){this._compiler=c,this._config=v||q2}load(c){return this.loadAndCompile(c)}loadAndCompile(c){let[v,S]=c.split("#");return void 0===S&&(S="default"),o(98255)(v).then(k=>k[S]).then(k=>qS(k,v,S)).then(k=>this._compiler.compileModuleAsync(k))}loadFactory(c){let[v,S]=c.split("#"),k="NgFactory";return void 0===S&&(S="default",k=""),o(98255)(this._config.factoryPathPrefix+v+this._config.factoryPathSuffix).then(te=>te[S+k]).then(te=>qS(te,v,S))}}return r.\u0275fac=function(c){return new(c||r)(sr(pv),sr(W2,8))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();function qS(r,i,c){if(!r)throw new Error(`Cannot find '${c}' in '${i}'`);return r}const iO=function(r){return null},sO=BS(null,"core",[{provide:xS,useValue:"unknown"},{provide:ZS,deps:[ic]},{provide:$S,deps:[]},{provide:NS,deps:[]}]),dO=[{provide:hv,useClass:hv,deps:[Nf,ic,mc,qh,ym]},{provide:Mo,deps:[Nf],useFactory:function(r){let i=[];return r.onStable.subscribe(()=>{for(;i.length;)i.pop()()}),function(c){i.push(c)}}},{provide:ym,useClass:ym,deps:[[new Ss,$T]]},{provide:pv,useClass:pv,deps:[]},g2,{provide:am,useFactory:function(){return lT},deps:[]},{provide:lm,useFactory:function(){return cT},deps:[]},{provide:Qy,useFactory:function(r){return nm(r=r||"undefined"!=typeof $localize&&$localize.locale||Xg),r},deps:[[new Cs(Qy),new Ss,new Da]]},{provide:PS,useValue:"USD"}];let pO=(()=>{class r{constructor(c){}}return r.\u0275fac=function(c){return new(c||r)(sr(hv))},r.\u0275mod=Ut({type:r}),r.\u0275inj=ae({providers:dO}),r})()},24751:(Ge,g,o)=>{"use strict";o.d(g,{TO:()=>Jn,Wl:()=>b,gN:()=>zt,Fj:()=>j,Oe:()=>yi,CE:()=>Gi,qu:()=>an,NI:()=>rr,u:()=>Bo,cw:()=>Mr,sg:()=>to,x0:()=>Wi,u5:()=>Hs,Fd:()=>ti,qQ:()=>wo,Cf:()=>U,JU:()=>_,a5:()=>ln,JJ:()=>er,JL:()=>Mn,F:()=>Xr,On:()=>qe,YN:()=>qo,wV:()=>Vn,_:()=>Jr,UX:()=>ja,Q7:()=>Fi,EJ:()=>ds,kI:()=>J,_Y:()=>$t,Kr:()=>Ve});var t=o(74788),e=o(12057),s=o(94402),a=o(35758),l=o(88002);let u=(()=>{class Ce{constructor(Ne,Wt){this._renderer=Ne,this._elementRef=Wt,this.onChange=Or=>{},this.onTouched=()=>{}}setProperty(Ne,Wt){this._renderer.setProperty(this._elementRef.nativeElement,Ne,Wt)}registerOnTouched(Ne){this.onTouched=Ne}registerOnChange(Ne){this.onChange=Ne}setDisabledState(Ne){this.setProperty("disabled",Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.Qsj),t.Y36(t.SBq))},Ce.\u0275dir=t.lG2({type:Ce}),Ce})(),h=(()=>{class Ce extends u{}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,features:[t.qOj]}),Ce})();const _=new t.OlP("NgValueAccessor"),m={provide:_,useExisting:(0,t.Gpc)(()=>b),multi:!0};let b=(()=>{class Ce extends h{writeValue(Ne){this.setProperty("checked",Ne)}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("change",function(Ni){return Wt.onChange(Ni.target.checked)})("blur",function(){return Wt.onTouched()})},features:[t._Bn([m]),t.qOj]}),Ce})();const T={provide:_,useExisting:(0,t.Gpc)(()=>j),multi:!0},R=new t.OlP("CompositionEventMode");let j=(()=>{class Ce extends u{constructor(Ne,Wt,Or){super(Ne,Wt),this._compositionMode=Or,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const Ce=(0,e.q)()?(0,e.q)().getUserAgent():"";return/android (\d+)/.test(Ce.toLowerCase())}())}writeValue(Ne){this.setProperty("value",null==Ne?"":Ne)}_handleInput(Ne){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(Ne)}_compositionStart(){this._composing=!0}_compositionEnd(Ne){this._composing=!1,this._compositionMode&&this.onChange(Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.Qsj),t.Y36(t.SBq),t.Y36(R,8))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("input",function(Ni){return Wt._handleInput(Ni.target.value)})("blur",function(){return Wt.onTouched()})("compositionstart",function(){return Wt._compositionStart()})("compositionend",function(Ni){return Wt._compositionEnd(Ni.target.value)})},features:[t._Bn([T]),t.qOj]}),Ce})();function H(Ce){return null==Ce||0===Ce.length}function z(Ce){return null!=Ce&&"number"==typeof Ce.length}const U=new t.OlP("NgValidators"),M=new t.OlP("NgAsyncValidators"),I=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class J{static min(ye){return B(ye)}static max(ye){return ie(ye)}static required(ye){return oe(ye)}static requiredTrue(ye){return!0===ye.value?null:{required:!0}}static email(ye){return H((Ce=ye).value)||I.test(Ce.value)?null:{email:!0};var Ce}static minLength(ye){return Ce=ye,ye=>H(ye.value)||!z(ye.value)?null:ye.value.length<Ce?{minlength:{requiredLength:Ce,actualLength:ye.value.length}}:null;var Ce}static maxLength(ye){return Ce=ye,ye=>z(ye.value)&&ye.value.length>Ce?{maxlength:{requiredLength:Ce,actualLength:ye.value.length}}:null;var Ce}static pattern(ye){return function(Ce){if(!Ce)return Se;let ye,Ne;return"string"==typeof Ce?(Ne="","^"!==Ce.charAt(0)&&(Ne+="^"),Ne+=Ce,"$"!==Ce.charAt(Ce.length-1)&&(Ne+="$"),ye=new RegExp(Ne)):(Ne=Ce.toString(),ye=Ce),Wt=>{if(H(Wt.value))return null;const Or=Wt.value;return ye.test(Or)?null:{pattern:{requiredPattern:Ne,actualValue:Or}}}}(ye)}static nullValidator(ye){return null}static compose(ye){return je(ye)}static composeAsync(ye){return lt(ye)}}function B(Ce){return ye=>{if(H(ye.value)||H(Ce))return null;const Ne=parseFloat(ye.value);return!isNaN(Ne)&&Ne<Ce?{min:{min:Ce,actual:ye.value}}:null}}function ie(Ce){return ye=>{if(H(ye.value)||H(Ce))return null;const Ne=parseFloat(ye.value);return!isNaN(Ne)&&Ne>Ce?{max:{max:Ce,actual:ye.value}}:null}}function oe(Ce){return H(Ce.value)?{required:!0}:null}function Se(Ce){return null}function Oe(Ce){return null!=Ce}function be(Ce){const ye=(0,t.QGY)(Ce)?(0,s.D)(Ce):Ce;return(0,t.CqO)(ye),ye}function ue(Ce){let ye={};return Ce.forEach(Ne=>{ye=null!=Ne?Object.assign(Object.assign({},ye),Ne):ye}),0===Object.keys(ye).length?null:ye}function He(Ce,ye){return ye.map(Ne=>Ne(Ce))}function F(Ce){return Ce.map(ye=>function(Ce){return!Ce.validate}(ye)?ye:Ne=>ye.validate(Ne))}function je(Ce){if(!Ce)return null;const ye=Ce.filter(Oe);return 0==ye.length?null:function(Ne){return ue(He(Ne,ye))}}function Et(Ce){return null!=Ce?je(F(Ce)):null}function lt(Ce){if(!Ce)return null;const ye=Ce.filter(Oe);return 0==ye.length?null:function(Ne){const Wt=He(Ne,ye).map(be);return(0,a.D)(Wt).pipe((0,l.U)(ue))}}function nn(Ce){return null!=Ce?lt(F(Ce)):null}function St(Ce,ye){return null===Ce?[ye]:Array.isArray(Ce)?[...Ce,ye]:[Ce,ye]}function Ot(Ce){return Ce._rawValidators}function Qe(Ce){return Ce._rawAsyncValidators}function It(Ce){return Ce?Array.isArray(Ce)?Ce:[Ce]:[]}function ae(Ce,ye){return Array.isArray(Ce)?Ce.includes(ye):Ce===ye}function Ie(Ce,ye){const Ne=It(ye);return It(Ce).forEach(Or=>{ae(Ne,Or)||Ne.push(Or)}),Ne}function dt(Ce,ye){return It(ye).filter(Ne=>!ae(Ce,Ne))}let Jt=(()=>{class Ce{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(Ne){this._rawValidators=Ne||[],this._composedValidatorFn=Et(this._rawValidators)}_setAsyncValidators(Ne){this._rawAsyncValidators=Ne||[],this._composedAsyncValidatorFn=nn(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(Ne){this._onDestroyCallbacks.push(Ne)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(Ne=>Ne()),this._onDestroyCallbacks=[]}reset(Ne){this.control&&this.control.reset(Ne)}hasError(Ne,Wt){return!!this.control&&this.control.hasError(Ne,Wt)}getError(Ne,Wt){return this.control?this.control.getError(Ne,Wt):null}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275dir=t.lG2({type:Ce}),Ce})(),zt=(()=>{class Ce extends Jt{get formDirective(){return null}get path(){return null}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,features:[t.qOj]}),Ce})();class ln extends Jt{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ar{constructor(ye){this._cd=ye}is(ye){var Ne,Wt,Or;return"submitted"===ye?!!(null===(Ne=this._cd)||void 0===Ne?void 0:Ne.submitted):!!(null===(Or=null===(Wt=this._cd)||void 0===Wt?void 0:Wt.control)||void 0===Or?void 0:Or[ye])}}let er=(()=>{class Ce extends ar{constructor(Ne){super(Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(ln,2))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(Ne,Wt){2&Ne&&t.ekj("ng-untouched",Wt.is("untouched"))("ng-touched",Wt.is("touched"))("ng-pristine",Wt.is("pristine"))("ng-dirty",Wt.is("dirty"))("ng-valid",Wt.is("valid"))("ng-invalid",Wt.is("invalid"))("ng-pending",Wt.is("pending"))},features:[t.qOj]}),Ce})(),Mn=(()=>{class Ce extends ar{constructor(Ne){super(Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(Ne,Wt){2&Ne&&t.ekj("ng-untouched",Wt.is("untouched"))("ng-touched",Wt.is("touched"))("ng-pristine",Wt.is("pristine"))("ng-dirty",Wt.is("dirty"))("ng-valid",Wt.is("valid"))("ng-invalid",Wt.is("invalid"))("ng-pending",Wt.is("pending"))("ng-submitted",Wt.is("submitted"))},features:[t.qOj]}),Ce})();function Dn(Ce,ye){return[...ye.path,Ce]}function mn(Ce,ye){mt(Ce,ye),ye.valueAccessor.writeValue(Ce.value),function(Ce,ye){ye.valueAccessor.registerOnChange(Ne=>{Ce._pendingValue=Ne,Ce._pendingChange=!0,Ce._pendingDirty=!0,"change"===Ce.updateOn&&jt(Ce,ye)})}(Ce,ye),function(Ce,ye){const Ne=(Wt,Or)=>{ye.valueAccessor.writeValue(Wt),Or&&ye.viewToModelUpdate(Wt)};Ce.registerOnChange(Ne),ye._registerOnDestroy(()=>{Ce._unregisterOnChange(Ne)})}(Ce,ye),function(Ce,ye){ye.valueAccessor.registerOnTouched(()=>{Ce._pendingTouched=!0,"blur"===Ce.updateOn&&Ce._pendingChange&&jt(Ce,ye),"submit"!==Ce.updateOn&&Ce.markAsTouched()})}(Ce,ye),function(Ce,ye){if(ye.valueAccessor.setDisabledState){const Ne=Wt=>{ye.valueAccessor.setDisabledState(Wt)};Ce.registerOnDisabledChange(Ne),ye._registerOnDestroy(()=>{Ce._unregisterOnDisabledChange(Ne)})}}(Ce,ye)}function jn(Ce,ye,Ne=!0){const Wt=()=>{};ye.valueAccessor&&(ye.valueAccessor.registerOnChange(Wt),ye.valueAccessor.registerOnTouched(Wt)),Tt(Ce,ye),Ce&&(ye._invokeOnDestroyCallbacks(),Ce._registerOnCollectionChange(()=>{}))}function Xt(Ce,ye){Ce.forEach(Ne=>{Ne.registerOnValidatorChange&&Ne.registerOnValidatorChange(ye)})}function mt(Ce,ye){const Ne=Ot(Ce);null!==ye.validator?Ce.setValidators(St(Ne,ye.validator)):"function"==typeof Ne&&Ce.setValidators([Ne]);const Wt=Qe(Ce);null!==ye.asyncValidator?Ce.setAsyncValidators(St(Wt,ye.asyncValidator)):"function"==typeof Wt&&Ce.setAsyncValidators([Wt]);const Or=()=>Ce.updateValueAndValidity();Xt(ye._rawValidators,Or),Xt(ye._rawAsyncValidators,Or)}function Tt(Ce,ye){let Ne=!1;if(null!==Ce){if(null!==ye.validator){const Or=Ot(Ce);if(Array.isArray(Or)&&Or.length>0){const Ni=Or.filter(Yo=>Yo!==ye.validator);Ni.length!==Or.length&&(Ne=!0,Ce.setValidators(Ni))}}if(null!==ye.asyncValidator){const Or=Qe(Ce);if(Array.isArray(Or)&&Or.length>0){const Ni=Or.filter(Yo=>Yo!==ye.asyncValidator);Ni.length!==Or.length&&(Ne=!0,Ce.setAsyncValidators(Ni))}}}const Wt=()=>{};return Xt(ye._rawValidators,Wt),Xt(ye._rawAsyncValidators,Wt),Ne}function jt(Ce,ye){Ce._pendingDirty&&Ce.markAsDirty(),Ce.setValue(Ce._pendingValue,{emitModelToViewChange:!1}),ye.viewToModelUpdate(Ce._pendingValue),Ce._pendingChange=!1}function Qn(Ce,ye){mt(Ce,ye)}function Ue(Ce,ye){if(!Ce.hasOwnProperty("model"))return!1;const Ne=Ce.model;return!!Ne.isFirstChange()||!Object.is(ye,Ne.currentValue)}function at(Ce,ye){Ce._syncPendingControls(),ye.forEach(Ne=>{const Wt=Ne.control;"submit"===Wt.updateOn&&Wt._pendingChange&&(Ne.viewToModelUpdate(Wt._pendingValue),Wt._pendingChange=!1)})}function it(Ce,ye){if(!ye)return null;let Ne,Wt,Or;return Array.isArray(ye),ye.forEach(Ni=>{Ni.constructor===j?Ne=Ni:function(Ce){return Object.getPrototypeOf(Ce.constructor)===h}(Ni)?Wt=Ni:Or=Ni}),Or||Wt||Ne||null}function Pt(Ce,ye){const Ne=Ce.indexOf(ye);Ne>-1&&Ce.splice(Ne,1)}const ot="VALID",Nn="INVALID",sn="PENDING",An="DISABLED";function ir(Ce){return(br(Ce)?Ce.validators:Ce)||null}function mr(Ce){return Array.isArray(Ce)?Et(Ce):Ce||null}function _r(Ce,ye){return(br(ye)?ye.asyncValidators:Ce)||null}function Nr(Ce){return Array.isArray(Ce)?nn(Ce):Ce||null}function br(Ce){return null!=Ce&&!Array.isArray(Ce)&&"object"==typeof Ce}class Jn{constructor(ye,Ne){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=ye,this._rawAsyncValidators=Ne,this._composedValidatorFn=mr(this._rawValidators),this._composedAsyncValidatorFn=Nr(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(ye){this._rawValidators=this._composedValidatorFn=ye}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(ye){this._rawAsyncValidators=this._composedAsyncValidatorFn=ye}get parent(){return this._parent}get valid(){return this.status===ot}get invalid(){return this.status===Nn}get pending(){return this.status==sn}get disabled(){return this.status===An}get enabled(){return this.status!==An}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(ye){this._rawValidators=ye,this._composedValidatorFn=mr(ye)}setAsyncValidators(ye){this._rawAsyncValidators=ye,this._composedAsyncValidatorFn=Nr(ye)}addValidators(ye){this.setValidators(Ie(ye,this._rawValidators))}addAsyncValidators(ye){this.setAsyncValidators(Ie(ye,this._rawAsyncValidators))}removeValidators(ye){this.setValidators(dt(ye,this._rawValidators))}removeAsyncValidators(ye){this.setAsyncValidators(dt(ye,this._rawAsyncValidators))}hasValidator(ye){return ae(this._rawValidators,ye)}hasAsyncValidator(ye){return ae(this._rawAsyncValidators,ye)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(ye={}){this.touched=!0,this._parent&&!ye.onlySelf&&this._parent.markAsTouched(ye)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(ye=>ye.markAllAsTouched())}markAsUntouched(ye={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(Ne=>{Ne.markAsUntouched({onlySelf:!0})}),this._parent&&!ye.onlySelf&&this._parent._updateTouched(ye)}markAsDirty(ye={}){this.pristine=!1,this._parent&&!ye.onlySelf&&this._parent.markAsDirty(ye)}markAsPristine(ye={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(Ne=>{Ne.markAsPristine({onlySelf:!0})}),this._parent&&!ye.onlySelf&&this._parent._updatePristine(ye)}markAsPending(ye={}){this.status=sn,!1!==ye.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!ye.onlySelf&&this._parent.markAsPending(ye)}disable(ye={}){const Ne=this._parentMarkedDirty(ye.onlySelf);this.status=An,this.errors=null,this._forEachChild(Wt=>{Wt.disable(Object.assign(Object.assign({},ye),{onlySelf:!0}))}),this._updateValue(),!1!==ye.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},ye),{skipPristineCheck:Ne})),this._onDisabledChange.forEach(Wt=>Wt(!0))}enable(ye={}){const Ne=this._parentMarkedDirty(ye.onlySelf);this.status=ot,this._forEachChild(Wt=>{Wt.enable(Object.assign(Object.assign({},ye),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:ye.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},ye),{skipPristineCheck:Ne})),this._onDisabledChange.forEach(Wt=>Wt(!1))}_updateAncestors(ye){this._parent&&!ye.onlySelf&&(this._parent.updateValueAndValidity(ye),ye.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(ye){this._parent=ye}updateValueAndValidity(ye={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ot||this.status===sn)&&this._runAsyncValidator(ye.emitEvent)),!1!==ye.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!ye.onlySelf&&this._parent.updateValueAndValidity(ye)}_updateTreeValidity(ye={emitEvent:!0}){this._forEachChild(Ne=>Ne._updateTreeValidity(ye)),this.updateValueAndValidity({onlySelf:!0,emitEvent:ye.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?An:ot}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(ye){if(this.asyncValidator){this.status=sn,this._hasOwnPendingAsyncValidator=!0;const Ne=be(this.asyncValidator(this));this._asyncValidationSubscription=Ne.subscribe(Wt=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(Wt,{emitEvent:ye})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(ye,Ne={}){this.errors=ye,this._updateControlsErrors(!1!==Ne.emitEvent)}get(ye){return function(Ce,ye,Ne){if(null==ye||(Array.isArray(ye)||(ye=ye.split(".")),Array.isArray(ye)&&0===ye.length))return null;let Wt=Ce;return ye.forEach(Or=>{Wt=Wt instanceof Mr?Wt.controls.hasOwnProperty(Or)?Wt.controls[Or]:null:Wt instanceof yi&&Wt.at(Or)||null}),Wt}(this,ye)}getError(ye,Ne){const Wt=Ne?this.get(Ne):this;return Wt&&Wt.errors?Wt.errors[ye]:null}hasError(ye,Ne){return!!this.getError(ye,Ne)}get root(){let ye=this;for(;ye._parent;)ye=ye._parent;return ye}_updateControlsErrors(ye){this.status=this._calculateStatus(),ye&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(ye)}_initObservables(){this.valueChanges=new t.vpe,this.statusChanges=new t.vpe}_calculateStatus(){return this._allControlsDisabled()?An:this.errors?Nn:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(sn)?sn:this._anyControlsHaveStatus(Nn)?Nn:ot}_anyControlsHaveStatus(ye){return this._anyControls(Ne=>Ne.status===ye)}_anyControlsDirty(){return this._anyControls(ye=>ye.dirty)}_anyControlsTouched(){return this._anyControls(ye=>ye.touched)}_updatePristine(ye={}){this.pristine=!this._anyControlsDirty(),this._parent&&!ye.onlySelf&&this._parent._updatePristine(ye)}_updateTouched(ye={}){this.touched=this._anyControlsTouched(),this._parent&&!ye.onlySelf&&this._parent._updateTouched(ye)}_isBoxedValue(ye){return"object"==typeof ye&&null!==ye&&2===Object.keys(ye).length&&"value"in ye&&"disabled"in ye}_registerOnCollectionChange(ye){this._onCollectionChange=ye}_setUpdateStrategy(ye){br(ye)&&null!=ye.updateOn&&(this._updateOn=ye.updateOn)}_parentMarkedDirty(ye){return!ye&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class rr extends Jn{constructor(ye=null,Ne,Wt){super(ir(Ne),_r(Wt,Ne)),this._onChange=[],this._applyFormState(ye),this._setUpdateStrategy(Ne),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(ye,Ne={}){this.value=this._pendingValue=ye,this._onChange.length&&!1!==Ne.emitModelToViewChange&&this._onChange.forEach(Wt=>Wt(this.value,!1!==Ne.emitViewToModelChange)),this.updateValueAndValidity(Ne)}patchValue(ye,Ne={}){this.setValue(ye,Ne)}reset(ye=null,Ne={}){this._applyFormState(ye),this.markAsPristine(Ne),this.markAsUntouched(Ne),this.setValue(this.value,Ne),this._pendingChange=!1}_updateValue(){}_anyControls(ye){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(ye){this._onChange.push(ye)}_unregisterOnChange(ye){Pt(this._onChange,ye)}registerOnDisabledChange(ye){this._onDisabledChange.push(ye)}_unregisterOnDisabledChange(ye){Pt(this._onDisabledChange,ye)}_forEachChild(ye){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(ye){this._isBoxedValue(ye)?(this.value=this._pendingValue=ye.value,ye.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=ye}}class Mr extends Jn{constructor(ye,Ne,Wt){super(ir(Ne),_r(Wt,Ne)),this.controls=ye,this._initObservables(),this._setUpdateStrategy(Ne),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(ye,Ne){return this.controls[ye]?this.controls[ye]:(this.controls[ye]=Ne,Ne.setParent(this),Ne._registerOnCollectionChange(this._onCollectionChange),Ne)}addControl(ye,Ne,Wt={}){this.registerControl(ye,Ne),this.updateValueAndValidity({emitEvent:Wt.emitEvent}),this._onCollectionChange()}removeControl(ye,Ne={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),delete this.controls[ye],this.updateValueAndValidity({emitEvent:Ne.emitEvent}),this._onCollectionChange()}setControl(ye,Ne,Wt={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),delete this.controls[ye],Ne&&this.registerControl(ye,Ne),this.updateValueAndValidity({emitEvent:Wt.emitEvent}),this._onCollectionChange()}contains(ye){return this.controls.hasOwnProperty(ye)&&this.controls[ye].enabled}setValue(ye,Ne={}){this._checkAllValuesPresent(ye),Object.keys(ye).forEach(Wt=>{this._throwIfControlMissing(Wt),this.controls[Wt].setValue(ye[Wt],{onlySelf:!0,emitEvent:Ne.emitEvent})}),this.updateValueAndValidity(Ne)}patchValue(ye,Ne={}){null!=ye&&(Object.keys(ye).forEach(Wt=>{this.controls[Wt]&&this.controls[Wt].patchValue(ye[Wt],{onlySelf:!0,emitEvent:Ne.emitEvent})}),this.updateValueAndValidity(Ne))}reset(ye={},Ne={}){this._forEachChild((Wt,Or)=>{Wt.reset(ye[Or],{onlySelf:!0,emitEvent:Ne.emitEvent})}),this._updatePristine(Ne),this._updateTouched(Ne),this.updateValueAndValidity(Ne)}getRawValue(){return this._reduceChildren({},(ye,Ne,Wt)=>(ye[Wt]=Ne instanceof rr?Ne.value:Ne.getRawValue(),ye))}_syncPendingControls(){let ye=this._reduceChildren(!1,(Ne,Wt)=>!!Wt._syncPendingControls()||Ne);return ye&&this.updateValueAndValidity({onlySelf:!0}),ye}_throwIfControlMissing(ye){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[ye])throw new Error(`Cannot find form control with name: ${ye}.`)}_forEachChild(ye){Object.keys(this.controls).forEach(Ne=>{const Wt=this.controls[Ne];Wt&&ye(Wt,Ne)})}_setUpControls(){this._forEachChild(ye=>{ye.setParent(this),ye._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(ye){for(const Ne of Object.keys(this.controls)){const Wt=this.controls[Ne];if(this.contains(Ne)&&ye(Wt))return!0}return!1}_reduceValue(){return this._reduceChildren({},(ye,Ne,Wt)=>((Ne.enabled||this.disabled)&&(ye[Wt]=Ne.value),ye))}_reduceChildren(ye,Ne){let Wt=ye;return this._forEachChild((Or,Ni)=>{Wt=Ne(Wt,Or,Ni)}),Wt}_allControlsDisabled(){for(const ye of Object.keys(this.controls))if(this.controls[ye].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(ye){this._forEachChild((Ne,Wt)=>{if(void 0===ye[Wt])throw new Error(`Must supply a value for form control with name: '${Wt}'.`)})}}class yi extends Jn{constructor(ye,Ne,Wt){super(ir(Ne),_r(Wt,Ne)),this.controls=ye,this._initObservables(),this._setUpdateStrategy(Ne),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(ye){return this.controls[ye]}push(ye,Ne={}){this.controls.push(ye),this._registerControl(ye),this.updateValueAndValidity({emitEvent:Ne.emitEvent}),this._onCollectionChange()}insert(ye,Ne,Wt={}){this.controls.splice(ye,0,Ne),this._registerControl(Ne),this.updateValueAndValidity({emitEvent:Wt.emitEvent})}removeAt(ye,Ne={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),this.controls.splice(ye,1),this.updateValueAndValidity({emitEvent:Ne.emitEvent})}setControl(ye,Ne,Wt={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),this.controls.splice(ye,1),Ne&&(this.controls.splice(ye,0,Ne),this._registerControl(Ne)),this.updateValueAndValidity({emitEvent:Wt.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(ye,Ne={}){this._checkAllValuesPresent(ye),ye.forEach((Wt,Or)=>{this._throwIfControlMissing(Or),this.at(Or).setValue(Wt,{onlySelf:!0,emitEvent:Ne.emitEvent})}),this.updateValueAndValidity(Ne)}patchValue(ye,Ne={}){null!=ye&&(ye.forEach((Wt,Or)=>{this.at(Or)&&this.at(Or).patchValue(Wt,{onlySelf:!0,emitEvent:Ne.emitEvent})}),this.updateValueAndValidity(Ne))}reset(ye=[],Ne={}){this._forEachChild((Wt,Or)=>{Wt.reset(ye[Or],{onlySelf:!0,emitEvent:Ne.emitEvent})}),this._updatePristine(Ne),this._updateTouched(Ne),this.updateValueAndValidity(Ne)}getRawValue(){return this.controls.map(ye=>ye instanceof rr?ye.value:ye.getRawValue())}clear(ye={}){this.controls.length<1||(this._forEachChild(Ne=>Ne._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:ye.emitEvent}))}_syncPendingControls(){let ye=this.controls.reduce((Ne,Wt)=>!!Wt._syncPendingControls()||Ne,!1);return ye&&this.updateValueAndValidity({onlySelf:!0}),ye}_throwIfControlMissing(ye){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(ye))throw new Error(`Cannot find form control at index ${ye}`)}_forEachChild(ye){this.controls.forEach((Ne,Wt)=>{ye(Ne,Wt)})}_updateValue(){this.value=this.controls.filter(ye=>ye.enabled||this.disabled).map(ye=>ye.value)}_anyControls(ye){return this.controls.some(Ne=>Ne.enabled&&ye(Ne))}_setUpControls(){this._forEachChild(ye=>this._registerControl(ye))}_checkAllValuesPresent(ye){this._forEachChild((Ne,Wt)=>{if(void 0===ye[Wt])throw new Error(`Must supply a value for form control at index: ${Wt}.`)})}_allControlsDisabled(){for(const ye of this.controls)if(ye.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(ye){ye.setParent(this),ye._registerOnCollectionChange(this._onCollectionChange)}}const Li={provide:zt,useExisting:(0,t.Gpc)(()=>Xr)},Oi=(()=>Promise.resolve(null))();let Xr=(()=>{class Ce extends zt{constructor(Ne,Wt){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new t.vpe,this.form=new Mr({},Et(Ne),nn(Wt))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(Ne){Oi.then(()=>{const Wt=this._findContainer(Ne.path);Ne.control=Wt.registerControl(Ne.name,Ne.control),mn(Ne.control,Ne),Ne.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(Ne)})}getControl(Ne){return this.form.get(Ne.path)}removeControl(Ne){Oi.then(()=>{const Wt=this._findContainer(Ne.path);Wt&&Wt.removeControl(Ne.name),Pt(this._directives,Ne)})}addFormGroup(Ne){Oi.then(()=>{const Wt=this._findContainer(Ne.path),Or=new Mr({});Qn(Or,Ne),Wt.registerControl(Ne.name,Or),Or.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(Ne){Oi.then(()=>{const Wt=this._findContainer(Ne.path);Wt&&Wt.removeControl(Ne.name)})}getFormGroup(Ne){return this.form.get(Ne.path)}updateModel(Ne,Wt){Oi.then(()=>{this.form.get(Ne.path).setValue(Wt)})}setValue(Ne){this.control.setValue(Ne)}onSubmit(Ne){return this.submitted=!0,at(this.form,this._directives),this.ngSubmit.emit(Ne),!1}onReset(){this.resetForm()}resetForm(Ne){this.form.reset(Ne),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(Ne){return Ne.pop(),Ne.length?this.form.get(Ne):this.form}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(U,10),t.Y36(M,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("submit",function(Ni){return Wt.onSubmit(Ni)})("reset",function(){return Wt.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[t._Bn([Li]),t.qOj]}),Ce})(),Kr=(()=>{class Ce extends zt{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Dn(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,features:[t.qOj]}),Ce})();const Ct={provide:ln,useExisting:(0,t.Gpc)(()=>qe)},yt=(()=>Promise.resolve(null))();let qe=(()=>{class Ce extends ln{constructor(Ne,Wt,Or,Ni){super(),this.control=new rr,this._registered=!1,this.update=new t.vpe,this._parent=Ne,this._setValidators(Wt),this._setAsyncValidators(Or),this.valueAccessor=it(0,Ni)}ngOnChanges(Ne){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in Ne&&this._updateDisabled(Ne),Ue(Ne,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?Dn(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(Ne){this.viewModel=Ne,this.update.emit(Ne)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){mn(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(Ne){yt.then(()=>{this.control.setValue(Ne,{emitViewToModelChange:!1})})}_updateDisabled(Ne){const Wt=Ne.isDisabled.currentValue,Or=""===Wt||Wt&&"false"!==Wt;yt.then(()=>{Or&&!this.control.disabled?this.control.disable():!Or&&this.control.disabled&&this.control.enable()})}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,9),t.Y36(U,10),t.Y36(M,10),t.Y36(_,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[t._Bn([Ct]),t.qOj,t.TTD]}),Ce})(),$t=(()=>{class Ce{}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),Ce})();const or={provide:_,useExisting:(0,t.Gpc)(()=>Vn),multi:!0};let Vn=(()=>{class Ce extends h{writeValue(Ne){this.setProperty("value",null==Ne?"":Ne)}registerOnChange(Ne){this.onChange=Wt=>{Ne(""==Wt?null:parseFloat(Wt))}}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("input",function(Ni){return Wt.onChange(Ni.target.value)})("blur",function(){return Wt.onTouched()})},features:[t._Bn([or]),t.qOj]}),Ce})();const Vr={provide:_,useExisting:(0,t.Gpc)(()=>Jr),multi:!0};let ai=(()=>{class Ce{}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({}),Ce})(),Dr=(()=>{class Ce{constructor(){this._accessors=[]}add(Ne,Wt){this._accessors.push([Ne,Wt])}remove(Ne){for(let Wt=this._accessors.length-1;Wt>=0;--Wt)if(this._accessors[Wt][1]===Ne)return void this._accessors.splice(Wt,1)}select(Ne){this._accessors.forEach(Wt=>{this._isSameGroup(Wt,Ne)&&Wt[1]!==Ne&&Wt[1].fireUncheck(Ne.value)})}_isSameGroup(Ne,Wt){return!!Ne[0].control&&Ne[0]._parent===Wt._control._parent&&Ne[1].name===Wt.name}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275prov=(0,t.Yz7)({factory:function(){return new Ce},token:Ce,providedIn:ai}),Ce})(),Jr=(()=>{class Ce extends h{constructor(Ne,Wt,Or,Ni){super(Ne,Wt),this._registry=Or,this._injector=Ni,this.onChange=()=>{}}ngOnInit(){this._control=this._injector.get(ln),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(Ne){this._state=Ne===this.value,this.setProperty("checked",this._state)}registerOnChange(Ne){this._fn=Ne,this.onChange=()=>{Ne(this.value),this._registry.select(this)}}fireUncheck(Ne){this.writeValue(Ne)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.Qsj),t.Y36(t.SBq),t.Y36(Dr),t.Y36(t.zs3))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("change",function(){return Wt.onChange()})("blur",function(){return Wt.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[t._Bn([Vr]),t.qOj]}),Ce})();const Ei=new t.OlP("NgModelWithFormControlWarning"),ki={provide:zt,useExisting:(0,t.Gpc)(()=>to)};let to=(()=>{class Ce extends zt{constructor(Ne,Wt){super(),this.validators=Ne,this.asyncValidators=Wt,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new t.vpe,this._setValidators(Ne),this._setAsyncValidators(Wt)}ngOnChanges(Ne){this._checkFormPresent(),Ne.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Tt(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(Ne){const Wt=this.form.get(Ne.path);return mn(Wt,Ne),Wt.updateValueAndValidity({emitEvent:!1}),this.directives.push(Ne),Wt}getControl(Ne){return this.form.get(Ne.path)}removeControl(Ne){jn(Ne.control||null,Ne,!1),Pt(this.directives,Ne)}addFormGroup(Ne){this._setUpFormContainer(Ne)}removeFormGroup(Ne){this._cleanUpFormContainer(Ne)}getFormGroup(Ne){return this.form.get(Ne.path)}addFormArray(Ne){this._setUpFormContainer(Ne)}removeFormArray(Ne){this._cleanUpFormContainer(Ne)}getFormArray(Ne){return this.form.get(Ne.path)}updateModel(Ne,Wt){this.form.get(Ne.path).setValue(Wt)}onSubmit(Ne){return this.submitted=!0,at(this.form,this.directives),this.ngSubmit.emit(Ne),!1}onReset(){this.resetForm()}resetForm(Ne){this.form.reset(Ne),this.submitted=!1}_updateDomValue(){this.directives.forEach(Ne=>{const Wt=Ne.control,Or=this.form.get(Ne.path);Wt!==Or&&(jn(Wt||null,Ne),Or instanceof rr&&(mn(Or,Ne),Ne.control=Or))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(Ne){const Wt=this.form.get(Ne.path);Qn(Wt,Ne),Wt.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(Ne){if(this.form){const Wt=this.form.get(Ne.path);Wt&&function(Ce,ye){return Tt(Ce,ye)}(Wt,Ne)&&Wt.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){mt(this.form,this),this._oldForm&&Tt(this._oldForm,this)}_checkFormPresent(){}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(U,10),t.Y36(M,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formGroup",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("submit",function(Ni){return Wt.onSubmit(Ni)})("reset",function(){return Wt.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[t._Bn([ki]),t.qOj,t.TTD]}),Ce})();const qi={provide:zt,useExisting:(0,t.Gpc)(()=>Wi)};let Wi=(()=>{class Ce extends Kr{constructor(Ne,Wt,Or){super(),this._parent=Ne,this._setValidators(Wt),this._setAsyncValidators(Or)}_checkParentType(){Wo(this._parent)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,13),t.Y36(U,10),t.Y36(M,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[t._Bn([qi]),t.qOj]}),Ce})();const eo={provide:zt,useExisting:(0,t.Gpc)(()=>Gi)};let Gi=(()=>{class Ce extends zt{constructor(Ne,Wt,Or){super(),this._parent=Ne,this._setValidators(Wt),this._setAsyncValidators(Or)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Dn(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){Wo(this._parent)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,13),t.Y36(U,10),t.Y36(M,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[t._Bn([eo]),t.qOj]}),Ce})();function Wo(Ce){return!(Ce instanceof Wi||Ce instanceof to||Ce instanceof Gi)}const Ro={provide:ln,useExisting:(0,t.Gpc)(()=>Bo)};let Bo=(()=>{class Ce extends ln{constructor(Ne,Wt,Or,Ni,Yo){super(),this._ngModelWarningConfig=Yo,this._added=!1,this.update=new t.vpe,this._ngModelWarningSent=!1,this._parent=Ne,this._setValidators(Wt),this._setAsyncValidators(Or),this.valueAccessor=it(0,Ni)}set isDisabled(Ne){}ngOnChanges(Ne){this._added||this._setUpControl(),Ue(Ne,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(Ne){this.viewModel=Ne,this.update.emit(Ne)}get path(){return Dn(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,13),t.Y36(U,10),t.Y36(M,10),t.Y36(_,10),t.Y36(Ei,8))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formControlName",""]],inputs:{isDisabled:["disabled","isDisabled"],name:["formControlName","name"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[t._Bn([Ro]),t.qOj,t.TTD]}),Ce._ngModelWarningSentOnce=!1,Ce})();const Ko={provide:_,useExisting:(0,t.Gpc)(()=>ds),multi:!0};function ts(Ce,ye){return null==Ce?`${ye}`:(ye&&"object"==typeof ye&&(ye="Object"),`${Ce}: ${ye}`.slice(0,50))}let ds=(()=>{class Ce extends h{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(Ne){this._compareWith=Ne}writeValue(Ne){this.value=Ne;const Wt=this._getOptionId(Ne);null==Wt&&this.setProperty("selectedIndex",-1);const Or=ts(Wt,Ne);this.setProperty("value",Or)}registerOnChange(Ne){this.onChange=Wt=>{this.value=this._getOptionValue(Wt),Ne(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(Ne){for(const Wt of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(Wt),Ne))return Wt;return null}_getOptionValue(Ne){const Wt=function(Ce){return Ce.split(":")[0]}(Ne);return this._optionMap.has(Wt)?this._optionMap.get(Wt):Ne}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("change",function(Ni){return Wt.onChange(Ni.target.value)})("blur",function(){return Wt.onTouched()})},inputs:{compareWith:"compareWith"},features:[t._Bn([Ko]),t.qOj]}),Ce})(),qo=(()=>{class Ce{constructor(Ne,Wt,Or){this._element=Ne,this._renderer=Wt,this._select=Or,this._select&&(this.id=this._select._registerOption())}set ngValue(Ne){null!=this._select&&(this._select._optionMap.set(this.id,Ne),this._setElementValue(ts(this.id,Ne)),this._select.writeValue(this._select.value))}set value(Ne){this._setElementValue(Ne),this._select&&this._select.writeValue(this._select.value)}_setElementValue(Ne){this._renderer.setProperty(this._element.nativeElement,"value",Ne)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(ds,9))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),Ce})();const oa={provide:_,useExisting:(0,t.Gpc)(()=>ee),multi:!0};function Er(Ce,ye){return null==Ce?`${ye}`:("string"==typeof ye&&(ye=`'${ye}'`),ye&&"object"==typeof ye&&(ye="Object"),`${Ce}: ${ye}`.slice(0,50))}let ee=(()=>{class Ce extends h{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(Ne){this._compareWith=Ne}writeValue(Ne){let Wt;if(this.value=Ne,Array.isArray(Ne)){const Or=Ne.map(Ni=>this._getOptionId(Ni));Wt=(Ni,Yo)=>{Ni._setSelected(Or.indexOf(Yo.toString())>-1)}}else Wt=(Or,Ni)=>{Or._setSelected(!1)};this._optionMap.forEach(Wt)}registerOnChange(Ne){this.onChange=Wt=>{const Or=[];if(void 0!==Wt.selectedOptions){const Ni=Wt.selectedOptions;for(let Yo=0;Yo<Ni.length;Yo++){const vs=Ni.item(Yo),as=this._getOptionValue(vs.value);Or.push(as)}}else{const Ni=Wt.options;for(let Yo=0;Yo<Ni.length;Yo++){const vs=Ni.item(Yo);if(vs.selected){const as=this._getOptionValue(vs.value);Or.push(as)}}}this.value=Or,Ne(Or)}}_registerOption(Ne){const Wt=(this._idCounter++).toString();return this._optionMap.set(Wt,Ne),Wt}_getOptionId(Ne){for(const Wt of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(Wt)._value,Ne))return Wt;return null}_getOptionValue(Ne){const Wt=function(Ce){return Ce.split(":")[0]}(Ne);return this._optionMap.has(Wt)?this._optionMap.get(Wt)._value:Ne}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("change",function(Ni){return Wt.onChange(Ni.target)})("blur",function(){return Wt.onTouched()})},inputs:{compareWith:"compareWith"},features:[t._Bn([oa]),t.qOj]}),Ce})(),Ve=(()=>{class Ce{constructor(Ne,Wt,Or){this._element=Ne,this._renderer=Wt,this._select=Or,this._select&&(this.id=this._select._registerOption(this))}set ngValue(Ne){null!=this._select&&(this._value=Ne,this._setElementValue(Er(this.id,Ne)),this._select.writeValue(this._select.value))}set value(Ne){this._select?(this._value=Ne,this._setElementValue(Er(this.id,Ne)),this._select.writeValue(this._select.value)):this._setElementValue(Ne)}_setElementValue(Ne){this._renderer.setProperty(this._element.nativeElement,"value",Ne)}_setSelected(Ne){this._renderer.setProperty(this._element.nativeElement,"selected",Ne)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(ee,9))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),Ce})(),Tn=(()=>{class Ce{constructor(){this._validator=Se}handleChanges(Ne){if(this.inputName in Ne){const Wt=this.normalizeInput(Ne[this.inputName].currentValue);this._validator=this.createValidator(Wt),this._onChange&&this._onChange()}}validate(Ne){return this._validator(Ne)}registerOnValidatorChange(Ne){this._onChange=Ne}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275dir=t.lG2({type:Ce}),Ce})();const $r={provide:U,useExisting:(0,t.Gpc)(()=>ti),multi:!0};let ti=(()=>{class Ce extends Tn{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=Ne=>parseFloat(Ne),this.createValidator=Ne=>ie(Ne)}ngOnChanges(Ne){this.handleChanges(Ne)}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(Ne,Wt){if(2&Ne){let Or;t.uIk("max",null!==(Or=Wt.max)&&void 0!==Or?Or:null)}},inputs:{max:"max"},features:[t._Bn([$r]),t.qOj,t.TTD]}),Ce})();const Ri={provide:U,useExisting:(0,t.Gpc)(()=>wo),multi:!0};let wo=(()=>{class Ce extends Tn{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=Ne=>parseFloat(Ne),this.createValidator=Ne=>B(Ne)}ngOnChanges(Ne){this.handleChanges(Ne)}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(Ne,Wt){if(2&Ne){let Or;t.uIk("min",null!==(Or=Wt.min)&&void 0!==Or?Or:null)}},inputs:{min:"min"},features:[t._Bn([Ri]),t.qOj,t.TTD]}),Ce})();const gi={provide:U,useExisting:(0,t.Gpc)(()=>Fi),multi:!0};let Fi=(()=>{class Ce{constructor(){this._required=!1}get required(){return this._required}set required(Ne){this._required=null!=Ne&&!1!==Ne&&"false"!=`${Ne}`,this._onChange&&this._onChange()}validate(Ne){return this.required?oe(Ne):null}registerOnValidatorChange(Ne){this._onChange=Ne}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(Ne,Wt){2&Ne&&t.uIk("required",Wt.required?"":null)},inputs:{required:"required"},features:[t._Bn([gi])]}),Ce})(),fa=(()=>{class Ce{}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({imports:[[ai]]}),Ce})(),Hs=(()=>{class Ce{}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({imports:[fa]}),Ce})(),ja=(()=>{class Ce{static withConfig(Ne){return{ngModule:Ce,providers:[{provide:Ei,useValue:Ne.warnOnNgModelWithFormControl}]}}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({imports:[fa]}),Ce})(),an=(()=>{class Ce{group(Ne,Wt=null){const Or=this._reduceControls(Ne);let vs,Ni=null,Yo=null;return null!=Wt&&(function(Ce){return void 0!==Ce.asyncValidators||void 0!==Ce.validators||void 0!==Ce.updateOn}(Wt)?(Ni=null!=Wt.validators?Wt.validators:null,Yo=null!=Wt.asyncValidators?Wt.asyncValidators:null,vs=null!=Wt.updateOn?Wt.updateOn:void 0):(Ni=null!=Wt.validator?Wt.validator:null,Yo=null!=Wt.asyncValidator?Wt.asyncValidator:null)),new Mr(Or,{asyncValidators:Yo,updateOn:vs,validators:Ni})}control(Ne,Wt,Or){return new rr(Ne,Wt,Or)}array(Ne,Wt,Or){const Ni=Ne.map(Yo=>this._createControl(Yo));return new yi(Ni,Wt,Or)}_reduceControls(Ne){const Wt={};return Object.keys(Ne).forEach(Or=>{Wt[Or]=this._createControl(Ne[Or])}),Wt}_createControl(Ne){return Ne instanceof rr||Ne instanceof Mr||Ne instanceof yi?Ne:Array.isArray(Ne)?this.control(Ne[0],Ne.length>1?Ne[1]:null,Ne.length>2?Ne[2]:null):this.control(Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275prov=(0,t.Yz7)({factory:function(){return new Ce},token:Ce,providedIn:ja}),Ce})()},91211:(Ge,g,o)=>{"use strict";o.d(g,{b2:()=>Ut,H7:()=>yn,HJ:()=>Jn,q6:()=>it,se:()=>dt});var t=o(12057),e=o(74788);class s extends t.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class a extends s{static makeCurrent(){(0,t.HT)(new a)}onAndCancel(Ke,Xe,Vt){return Ke.addEventListener(Xe,Vt,!1),()=>{Ke.removeEventListener(Xe,Vt,!1)}}dispatchEvent(Ke,Xe){Ke.dispatchEvent(Xe)}remove(Ke){Ke.parentNode&&Ke.parentNode.removeChild(Ke)}createElement(Ke,Xe){return(Xe=Xe||this.getDefaultDocument()).createElement(Ke)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(Ke){return Ke.nodeType===Node.ELEMENT_NODE}isShadowRoot(Ke){return Ke instanceof DocumentFragment}getGlobalEventTarget(Ke,Xe){return"window"===Xe?window:"document"===Xe?Ke:"body"===Xe?Ke.body:null}getBaseHref(Ke){const Xe=(l=l||document.querySelector("base"),l?l.getAttribute("href"):null);return null==Xe?null:function(ct){h=h||document.createElement("a"),h.setAttribute("href",ct);const Ke=h.pathname;return"/"===Ke.charAt(0)?Ke:`/${Ke}`}(Xe)}resetBaseElement(){l=null}getUserAgent(){return window.navigator.userAgent}getCookie(Ke){return(0,t.Mx)(document.cookie,Ke)}}let h,l=null;const m=new e.OlP("TRANSITION_ID"),T=[{provide:e.ip1,useFactory:function(ct,Ke,Xe){return()=>{Xe.get(e.CZH).donePromise.then(()=>{const Vt=(0,t.q)(),Ct=Ke.querySelectorAll(`style[ng-transition="${ct}"]`);for(let rt=0;rt<Ct.length;rt++)Vt.remove(Ct[rt])})}},deps:[m,t.K0,e.zs3],multi:!0}];class D{static init(){(0,e.VLi)(new D)}addToWindow(Ke){e.dqk.getAngularTestability=(Vt,Ct=!0)=>{const rt=Ke.findTestabilityInTree(Vt,Ct);if(null==rt)throw new Error("Could not find testability for element.");return rt},e.dqk.getAllAngularTestabilities=()=>Ke.getAllTestabilities(),e.dqk.getAllAngularRootElements=()=>Ke.getAllRootElements(),e.dqk.frameworkStabilizers||(e.dqk.frameworkStabilizers=[]),e.dqk.frameworkStabilizers.push(Vt=>{const Ct=e.dqk.getAllAngularTestabilities();let rt=Ct.length,yt=!1;const qe=function($t){yt=yt||$t,rt--,0==rt&&Vt(yt)};Ct.forEach(function($t){$t.whenStable(qe)})})}findTestabilityInTree(Ke,Xe,Vt){if(null==Xe)return null;const Ct=Ke.getTestability(Xe);return null!=Ct?Ct:Vt?(0,t.q)().isShadowRoot(Xe)?this.findTestabilityInTree(Ke,Xe.host,!0):this.findTestabilityInTree(Ke,Xe.parentElement,!0):null}}let R=(()=>{class ct{build(){return new XMLHttpRequest}}return ct.\u0275fac=function(Xe){return new(Xe||ct)},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();const Se=new e.OlP("EventManagerPlugins");let Oe=(()=>{class ct{constructor(Xe,Vt){this._zone=Vt,this._eventNameToPlugin=new Map,Xe.forEach(Ct=>Ct.manager=this),this._plugins=Xe.slice().reverse()}addEventListener(Xe,Vt,Ct){return this._findPluginFor(Vt).addEventListener(Xe,Vt,Ct)}addGlobalEventListener(Xe,Vt,Ct){return this._findPluginFor(Vt).addGlobalEventListener(Xe,Vt,Ct)}getZone(){return this._zone}_findPluginFor(Xe){const Vt=this._eventNameToPlugin.get(Xe);if(Vt)return Vt;const Ct=this._plugins;for(let rt=0;rt<Ct.length;rt++){const yt=Ct[rt];if(yt.supports(Xe))return this._eventNameToPlugin.set(Xe,yt),yt}throw new Error(`No event manager plugin found for event ${Xe}`)}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(Se),e.LFG(e.R0b))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();class be{constructor(Ke){this._doc=Ke}addGlobalEventListener(Ke,Xe,Vt){const Ct=(0,t.q)().getGlobalEventTarget(this._doc,Ke);if(!Ct)throw new Error(`Unsupported event target ${Ct} for event ${Xe}`);return this.addEventListener(Ct,Xe,Vt)}}let ue=(()=>{class ct{constructor(){this._stylesSet=new Set}addStyles(Xe){const Vt=new Set;Xe.forEach(Ct=>{this._stylesSet.has(Ct)||(this._stylesSet.add(Ct),Vt.add(Ct))}),this.onStylesAdded(Vt)}onStylesAdded(Xe){}getAllStyles(){return Array.from(this._stylesSet)}}return ct.\u0275fac=function(Xe){return new(Xe||ct)},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})(),He=(()=>{class ct extends ue{constructor(Xe){super(),this._doc=Xe,this._hostNodes=new Map,this._hostNodes.set(Xe.head,[])}_addStylesToHost(Xe,Vt,Ct){Xe.forEach(rt=>{const yt=this._doc.createElement("style");yt.textContent=rt,Ct.push(Vt.appendChild(yt))})}addHost(Xe){const Vt=[];this._addStylesToHost(this._stylesSet,Xe,Vt),this._hostNodes.set(Xe,Vt)}removeHost(Xe){const Vt=this._hostNodes.get(Xe);Vt&&Vt.forEach($e),this._hostNodes.delete(Xe)}onStylesAdded(Xe){this._hostNodes.forEach((Vt,Ct)=>{this._addStylesToHost(Xe,Ct,Vt)})}ngOnDestroy(){this._hostNodes.forEach(Xe=>Xe.forEach($e))}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(t.K0))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();function $e(ct){(0,t.q)().remove(ct)}const F={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},je=/%COMP%/g;function It(ct,Ke,Xe){for(let Vt=0;Vt<Ke.length;Vt++){let Ct=Ke[Vt];Array.isArray(Ct)?It(ct,Ct,Xe):(Ct=Ct.replace(je,ct),Xe.push(Ct))}return Xe}function ae(ct){return Ke=>{if("__ngUnwrap__"===Ke)return ct;!1===ct(Ke)&&(Ke.preventDefault(),Ke.returnValue=!1)}}let dt=(()=>{class ct{constructor(Xe,Vt,Ct){this.eventManager=Xe,this.sharedStylesHost=Vt,this.appId=Ct,this.rendererByCompId=new Map,this.defaultRenderer=new Jt(Xe)}createRenderer(Xe,Vt){if(!Xe||!Vt)return this.defaultRenderer;switch(Vt.encapsulation){case e.ifc.Emulated:{let Ct=this.rendererByCompId.get(Vt.id);return Ct||(Ct=new Ln(this.eventManager,this.sharedStylesHost,Vt,this.appId),this.rendererByCompId.set(Vt.id,Ct)),Ct.applyToHost(Xe),Ct}case 1:case e.ifc.ShadowDom:return new Rn(this.eventManager,this.sharedStylesHost,Xe,Vt);default:if(!this.rendererByCompId.has(Vt.id)){const Ct=It(Vt.id,Vt.styles,[]);this.sharedStylesHost.addStyles(Ct),this.rendererByCompId.set(Vt.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(Oe),e.LFG(He),e.LFG(e.AFp))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();class Jt{constructor(Ke){this.eventManager=Ke,this.data=Object.create(null)}destroy(){}createElement(Ke,Xe){return Xe?document.createElementNS(F[Xe]||Xe,Ke):document.createElement(Ke)}createComment(Ke){return document.createComment(Ke)}createText(Ke){return document.createTextNode(Ke)}appendChild(Ke,Xe){Ke.appendChild(Xe)}insertBefore(Ke,Xe,Vt){Ke&&Ke.insertBefore(Xe,Vt)}removeChild(Ke,Xe){Ke&&Ke.removeChild(Xe)}selectRootElement(Ke,Xe){let Vt="string"==typeof Ke?document.querySelector(Ke):Ke;if(!Vt)throw new Error(`The selector "${Ke}" did not match any elements`);return Xe||(Vt.textContent=""),Vt}parentNode(Ke){return Ke.parentNode}nextSibling(Ke){return Ke.nextSibling}setAttribute(Ke,Xe,Vt,Ct){if(Ct){Xe=Ct+":"+Xe;const rt=F[Ct];rt?Ke.setAttributeNS(rt,Xe,Vt):Ke.setAttribute(Xe,Vt)}else Ke.setAttribute(Xe,Vt)}removeAttribute(Ke,Xe,Vt){if(Vt){const Ct=F[Vt];Ct?Ke.removeAttributeNS(Ct,Xe):Ke.removeAttribute(`${Vt}:${Xe}`)}else Ke.removeAttribute(Xe)}addClass(Ke,Xe){Ke.classList.add(Xe)}removeClass(Ke,Xe){Ke.classList.remove(Xe)}setStyle(Ke,Xe,Vt,Ct){Ct&(e.JOm.DashCase|e.JOm.Important)?Ke.style.setProperty(Xe,Vt,Ct&e.JOm.Important?"important":""):Ke.style[Xe]=Vt}removeStyle(Ke,Xe,Vt){Vt&e.JOm.DashCase?Ke.style.removeProperty(Xe):Ke.style[Xe]=""}setProperty(Ke,Xe,Vt){Ke[Xe]=Vt}setValue(Ke,Xe){Ke.nodeValue=Xe}listen(Ke,Xe,Vt){return"string"==typeof Ke?this.eventManager.addGlobalEventListener(Ke,Xe,ae(Vt)):this.eventManager.addEventListener(Ke,Xe,ae(Vt))}}class Ln extends Jt{constructor(Ke,Xe,Vt,Ct){super(Ke),this.component=Vt;const rt=It(Ct+"-"+Vt.id,Vt.styles,[]);Xe.addStyles(rt),this.contentAttr="_ngcontent-%COMP%".replace(je,Ct+"-"+Vt.id),this.hostAttr="_nghost-%COMP%".replace(je,Ct+"-"+Vt.id)}applyToHost(Ke){super.setAttribute(Ke,this.hostAttr,"")}createElement(Ke,Xe){const Vt=super.createElement(Ke,Xe);return super.setAttribute(Vt,this.contentAttr,""),Vt}}class Rn extends Jt{constructor(Ke,Xe,Vt,Ct){super(Ke),this.sharedStylesHost=Xe,this.hostEl=Vt,this.shadowRoot=Vt.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const rt=It(Ct.id,Ct.styles,[]);for(let yt=0;yt<rt.length;yt++){const qe=document.createElement("style");qe.textContent=rt[yt],this.shadowRoot.appendChild(qe)}}nodeOrShadowRoot(Ke){return Ke===this.hostEl?this.shadowRoot:Ke}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(Ke,Xe){return super.appendChild(this.nodeOrShadowRoot(Ke),Xe)}insertBefore(Ke,Xe,Vt){return super.insertBefore(this.nodeOrShadowRoot(Ke),Xe,Vt)}removeChild(Ke,Xe){return super.removeChild(this.nodeOrShadowRoot(Ke),Xe)}parentNode(Ke){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(Ke)))}}let er=(()=>{class ct extends be{constructor(Xe){super(Xe)}supports(Xe){return!0}addEventListener(Xe,Vt,Ct){return Xe.addEventListener(Vt,Ct,!1),()=>this.removeEventListener(Xe,Vt,Ct)}removeEventListener(Xe,Vt,Ct){return Xe.removeEventListener(Vt,Ct)}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(t.K0))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();const Sn=["alt","control","meta","shift"],En={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Fn={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},ut={alt:ct=>ct.altKey,control:ct=>ct.ctrlKey,meta:ct=>ct.metaKey,shift:ct=>ct.shiftKey};let mt=(()=>{class ct extends be{constructor(Xe){super(Xe)}supports(Xe){return null!=ct.parseEventName(Xe)}addEventListener(Xe,Vt,Ct){const rt=ct.parseEventName(Vt),yt=ct.eventCallback(rt.fullKey,Ct,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,t.q)().onAndCancel(Xe,rt.domEventName,yt))}static parseEventName(Xe){const Vt=Xe.toLowerCase().split("."),Ct=Vt.shift();if(0===Vt.length||"keydown"!==Ct&&"keyup"!==Ct)return null;const rt=ct._normalizeKey(Vt.pop());let yt="";if(Sn.forEach($t=>{const or=Vt.indexOf($t);or>-1&&(Vt.splice(or,1),yt+=$t+".")}),yt+=rt,0!=Vt.length||0===rt.length)return null;const qe={};return qe.domEventName=Ct,qe.fullKey=yt,qe}static getEventFullKey(Xe){let Vt="",Ct=function(ct){let Ke=ct.key;if(null==Ke){if(Ke=ct.keyIdentifier,null==Ke)return"Unidentified";Ke.startsWith("U+")&&(Ke=String.fromCharCode(parseInt(Ke.substring(2),16)),3===ct.location&&Fn.hasOwnProperty(Ke)&&(Ke=Fn[Ke]))}return En[Ke]||Ke}(Xe);return Ct=Ct.toLowerCase()," "===Ct?Ct="space":"."===Ct&&(Ct="dot"),Sn.forEach(rt=>{rt!=Ct&&ut[rt](Xe)&&(Vt+=rt+".")}),Vt+=Ct,Vt}static eventCallback(Xe,Vt,Ct){return rt=>{ct.getEventFullKey(rt)===Xe&&Ct.runGuarded(()=>Vt(rt))}}static _normalizeKey(Xe){switch(Xe){case"esc":return"escape";default:return Xe}}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(t.K0))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})(),yn=(()=>{class ct{}return ct.\u0275fac=function(Xe){return new(Xe||ct)},ct.\u0275prov=(0,e.Yz7)({factory:function(){return(0,e.LFG)(jt)},token:ct,providedIn:"root"}),ct})(),jt=(()=>{class ct extends yn{constructor(Xe){super(),this._doc=Xe}sanitize(Xe,Vt){if(null==Vt)return null;switch(Xe){case e.q3G.NONE:return Vt;case e.q3G.HTML:return(0,e.qzn)(Vt,"HTML")?(0,e.z3N)(Vt):(0,e.EiD)(this._doc,String(Vt)).toString();case e.q3G.STYLE:return(0,e.qzn)(Vt,"Style")?(0,e.z3N)(Vt):Vt;case e.q3G.SCRIPT:if((0,e.qzn)(Vt,"Script"))return(0,e.z3N)(Vt);throw new Error("unsafe value used in a script context");case e.q3G.URL:return(0,e.yhl)(Vt),(0,e.qzn)(Vt,"URL")?(0,e.z3N)(Vt):(0,e.mCW)(String(Vt));case e.q3G.RESOURCE_URL:if((0,e.qzn)(Vt,"ResourceURL"))return(0,e.z3N)(Vt);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${Xe} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(Xe){return(0,e.JVY)(Xe)}bypassSecurityTrustStyle(Xe){return(0,e.L6k)(Xe)}bypassSecurityTrustScript(Xe){return(0,e.eBb)(Xe)}bypassSecurityTrustUrl(Xe){return(0,e.LAX)(Xe)}bypassSecurityTrustResourceUrl(Xe){return(0,e.pB0)(Xe)}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(t.K0))},ct.\u0275prov=(0,e.Yz7)({factory:function(){return function(ct){return new jt(ct.get(t.K0))}((0,e.LFG)(e.gxx))},token:ct,providedIn:"root"}),ct})();const it=(0,e.eFA)(e._c5,"browser",[{provide:e.Lbi,useValue:t.bD},{provide:e.g9A,useValue:function(){a.makeCurrent(),D.init()},multi:!0},{provide:t.K0,useFactory:function(){return(0,e.RDi)(document),document},deps:[]}]),Pt=[[],{provide:e.zSh,useValue:"root"},{provide:e.qLn,useFactory:function(){return new e.qLn},deps:[]},{provide:Se,useClass:er,multi:!0,deps:[t.K0,e.R0b,e.Lbi]},{provide:Se,useClass:mt,multi:!0,deps:[t.K0]},[],{provide:dt,useClass:dt,deps:[Oe,He,e.AFp]},{provide:e.FYo,useExisting:dt},{provide:ue,useExisting:He},{provide:He,useClass:He,deps:[t.K0]},{provide:e.dDg,useClass:e.dDg,deps:[e.R0b]},{provide:Oe,useClass:Oe,deps:[Se,e.R0b]},{provide:t.JF,useClass:R,deps:[]},[]];let Ut=(()=>{class ct{constructor(Xe){if(Xe)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(Xe){return{ngModule:ct,providers:[{provide:e.AFp,useValue:Xe.appId},{provide:m,useExisting:e.AFp},T]}}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(ct,12))},ct.\u0275mod=e.oAB({type:ct}),ct.\u0275inj=e.cJS({providers:Pt,imports:[t.ez,e.hGG]}),ct})();const ir="undefined"!=typeof window&&window||{};class mr{constructor(Ke,Xe){this.msPerTick=Ke,this.numTicks=Xe}}class _r{constructor(Ke){this.appRef=Ke.injector.get(e.z2F)}timeChangeDetection(Ke){const Xe=Ke&&Ke.record,Vt="Change Detection",Ct=null!=ir.console.profile;Xe&&Ct&&ir.console.profile(Vt);const rt=Nr();let yt=0;for(;yt<5||Nr()-rt<500;)this.appRef.tick(),yt++;const qe=Nr();Xe&&Ct&&ir.console.profileEnd(Vt);const $t=(qe-rt)/yt;return ir.console.log(`ran ${yt} change detection cycles`),ir.console.log(`${$t.toFixed(2)} ms per check`),new mr($t,yt)}}function Nr(){return ir.performance&&ir.performance.now?ir.performance.now():(new Date).getTime()}function Jn(ct){return function(ct,Ke){"undefined"!=typeof COMPILED&&COMPILED||((e.dqk.ng=e.dqk.ng||{})[ct]=Ke)}("profiler",new _r(ct)),ct}},6283:(Ge,g,o)=>{"use strict";o.d(g,{gz:()=>di,m2:()=>ue,OD:()=>be,wm:()=>es,F0:()=>Xn,rH:()=>Fr,Od:()=>lr,yS:()=>zr,Bz:()=>Ts,lC:()=>li});var t=o(12057),e=o(74788),s=o(18891),a=o(94402),l=o(59193);function u(Je){return new s.y(Fe=>{let we;try{we=Je()}catch(xe){return void Fe.error(xe)}return(we?(0,a.D)(we):(0,l.c)()).subscribe(Fe)})}var h=o(25917),_=o(26215),m=o(9112),b=o(13410),T=o(58071),D=o(52441),R=o(79765),j=o(88002),H=o(43190),z=o(15257),U=o(39761),M=o(42145),I=o(45435),J=o(5304),B=o(94612),ie=o(12627),oe=o(28049),fe=o(19773),ne=o(68307),he=o(548),ce=o(51307),Ae=o(68939),Se=o(63282);class Oe{constructor(Fe,we){this.id=Fe,this.url=we}}class be extends Oe{constructor(Fe,we,Mt="imperative",xe=null){super(Fe,we),this.navigationTrigger=Mt,this.restoredState=xe}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class ue extends Oe{constructor(Fe,we,Mt){super(Fe,we),this.urlAfterRedirects=Mt}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class He extends Oe{constructor(Fe,we,Mt){super(Fe,we),this.reason=Mt}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class $e extends Oe{constructor(Fe,we,Mt){super(Fe,we),this.error=Mt}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class F extends Oe{constructor(Fe,we,Mt,xe){super(Fe,we),this.urlAfterRedirects=Mt,this.state=xe}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class je extends Oe{constructor(Fe,we,Mt,xe){super(Fe,we),this.urlAfterRedirects=Mt,this.state=xe}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Et extends Oe{constructor(Fe,we,Mt,xe,ke){super(Fe,we),this.urlAfterRedirects=Mt,this.state=xe,this.shouldActivate=ke}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class lt extends Oe{constructor(Fe,we,Mt,xe){super(Fe,we),this.urlAfterRedirects=Mt,this.state=xe}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class nn extends Oe{constructor(Fe,we,Mt,xe){super(Fe,we),this.urlAfterRedirects=Mt,this.state=xe}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class St{constructor(Fe){this.route=Fe}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Ot{constructor(Fe){this.route=Fe}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Qe{constructor(Fe){this.snapshot=Fe}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class It{constructor(Fe){this.snapshot=Fe}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ae{constructor(Fe){this.snapshot=Fe}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ie{constructor(Fe){this.snapshot=Fe}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class dt{constructor(Fe,we,Mt){this.routerEvent=Fe,this.position=we,this.anchor=Mt}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const Jt="primary";class zt{constructor(Fe){this.params=Fe||{}}has(Fe){return Object.prototype.hasOwnProperty.call(this.params,Fe)}get(Fe){if(this.has(Fe)){const we=this.params[Fe];return Array.isArray(we)?we[0]:we}return null}getAll(Fe){if(this.has(Fe)){const we=this.params[Fe];return Array.isArray(we)?we:[we]}return[]}get keys(){return Object.keys(this.params)}}function ln(Je){return new zt(Je)}const ar="ngNavigationCancelingError";function Ln(Je){const Fe=Error("NavigationCancelingError: "+Je);return Fe[ar]=!0,Fe}function er(Je,Fe,we){const Mt=we.path.split("/");if(Mt.length>Je.length||"full"===we.pathMatch&&(Fe.hasChildren()||Mt.length<Je.length))return null;const xe={};for(let ke=0;ke<Mt.length;ke++){const Te=Mt[ke],ge=Je[ke];if(Te.startsWith(":"))xe[Te.substring(1)]=ge;else if(Te!==ge.path)return null}return{consumed:Je.slice(0,Mt.length),posParams:xe}}function Ht(Je,Fe){const we=Je?Object.keys(Je):void 0,Mt=Fe?Object.keys(Fe):void 0;if(!we||!Mt||we.length!=Mt.length)return!1;let xe;for(let ke=0;ke<we.length;ke++)if(xe=we[ke],!tr(Je[xe],Fe[xe]))return!1;return!0}function tr(Je,Fe){if(Array.isArray(Je)&&Array.isArray(Fe)){if(Je.length!==Fe.length)return!1;const we=[...Je].sort(),Mt=[...Fe].sort();return we.every((xe,ke)=>Mt[ke]===xe)}return Je===Fe}function Yn(Je){return Array.prototype.concat.apply([],Je)}function Cn(Je){return Je.length>0?Je[Je.length-1]:null}function dn(Je,Fe){for(const we in Je)Je.hasOwnProperty(we)&&Fe(Je[we],we)}function Kn(Je){return(0,e.CqO)(Je)?Je:(0,e.QGY)(Je)?(0,a.D)(Promise.resolve(Je)):(0,h.of)(Je)}const Sn={exact:function Dn(Je,Fe,we){if(!jt(Je.segments,Fe.segments)||!ut(Je.segments,Fe.segments,we)||Je.numberOfChildren!==Fe.numberOfChildren)return!1;for(const Mt in Fe.children)if(!Je.children[Mt]||!Dn(Je.children[Mt],Fe.children[Mt],we))return!1;return!0},subset:jn},$n={exact:function(Je,Fe){return Ht(Je,Fe)},subset:function(Je,Fe){return Object.keys(Fe).length<=Object.keys(Je).length&&Object.keys(Fe).every(we=>tr(Je[we],Fe[we]))},ignored:()=>!0};function En(Je,Fe,we){return Sn[we.paths](Je.root,Fe.root,we.matrixParams)&&$n[we.queryParams](Je.queryParams,Fe.queryParams)&&!("exact"===we.fragment&&Je.fragment!==Fe.fragment)}function jn(Je,Fe,we){return Xt(Je,Fe,Fe.segments,we)}function Xt(Je,Fe,we,Mt){if(Je.segments.length>we.length){const xe=Je.segments.slice(0,we.length);return!(!jt(xe,we)||Fe.hasChildren()||!ut(xe,we,Mt))}if(Je.segments.length===we.length){if(!jt(Je.segments,we)||!ut(Je.segments,we,Mt))return!1;for(const xe in Fe.children)if(!Je.children[xe]||!jn(Je.children[xe],Fe.children[xe],Mt))return!1;return!0}{const xe=we.slice(0,Je.segments.length),ke=we.slice(Je.segments.length);return!!(jt(Je.segments,xe)&&ut(Je.segments,xe,Mt)&&Je.children[Jt])&&Xt(Je.children[Jt],Fe,ke,Mt)}}function ut(Je,Fe,we){return Fe.every((Mt,xe)=>$n[we](Je[xe].parameters,Mt.parameters))}class mt{constructor(Fe,we,Mt){this.root=Fe,this.queryParams=we,this.fragment=Mt}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ln(this.queryParams)),this._queryParamMap}toString(){return ht.serialize(this)}}class Tt{constructor(Fe,we){this.segments=Fe,this.children=we,this.parent=null,dn(we,(Mt,xe)=>Mt.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return L(this)}}class yn{constructor(Fe,we){this.path=Fe,this.parameters=we}get parameterMap(){return this._parameterMap||(this._parameterMap=ln(this.parameters)),this._parameterMap}toString(){return Nn(this)}}function jt(Je,Fe){return Je.length===Fe.length&&Je.every((we,Mt)=>we.path===Fe[Mt].path)}class Qn{}class Ir{parse(Fe){const we=new Jn(Fe);return new mt(we.parseRootSegment(),we.parseQueryParams(),we.parseFragment())}serialize(Fe){var Je;return`${`/${Ue(Fe.root,!0)}`}${function(Je){const Fe=Object.keys(Je).map(we=>{const Mt=Je[we];return Array.isArray(Mt)?Mt.map(xe=>`${at(we)}=${at(xe)}`).join("&"):`${at(we)}=${at(Mt)}`}).filter(we=>!!we);return Fe.length?`?${Fe.join("&")}`:""}(Fe.queryParams)}${"string"==typeof Fe.fragment?`#${Je=Fe.fragment,encodeURI(Je)}`:""}`}}const ht=new Ir;function L(Je){return Je.segments.map(Fe=>Nn(Fe)).join("/")}function Ue(Je,Fe){if(!Je.hasChildren())return L(Je);if(Fe){const we=Je.children[Jt]?Ue(Je.children[Jt],!1):"",Mt=[];return dn(Je.children,(xe,ke)=>{ke!==Jt&&Mt.push(`${ke}:${Ue(xe,!1)}`)}),Mt.length>0?`${we}(${Mt.join("//")})`:we}{const we=function(Je,Fe){let we=[];return dn(Je.children,(Mt,xe)=>{xe===Jt&&(we=we.concat(Fe(Mt,xe)))}),dn(Je.children,(Mt,xe)=>{xe!==Jt&&(we=we.concat(Fe(Mt,xe)))}),we}(Je,(Mt,xe)=>xe===Jt?[Ue(Je.children[Jt],!1)]:[`${xe}:${Ue(Mt,!1)}`]);return 1===Object.keys(Je.children).length&&null!=Je.children[Jt]?`${L(Je)}/${we[0]}`:`${L(Je)}/(${we.join("//")})`}}function nt(Je){return encodeURIComponent(Je).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function at(Je){return nt(Je).replace(/%3B/gi,";")}function Pt(Je){return nt(Je).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ut(Je){return decodeURIComponent(Je)}function ot(Je){return Ut(Je.replace(/\+/g,"%20"))}function Nn(Je){return`${Pt(Je.path)}${function(Je){return Object.keys(Je).map(Fe=>`;${Pt(Fe)}=${Pt(Je[Fe])}`).join("")}(Je.parameters)}`}const Bn=/^[^\/()?;=#]+/;function ir(Je){const Fe=Je.match(Bn);return Fe?Fe[0]:""}const mr=/^[^=?&#]+/,Nr=/^[^?&#]+/;class Jn{constructor(Fe){this.url=Fe,this.remaining=Fe}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Tt([],{}):new Tt([],this.parseChildren())}parseQueryParams(){const Fe={};if(this.consumeOptional("?"))do{this.parseQueryParam(Fe)}while(this.consumeOptional("&"));return Fe}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const Fe=[];for(this.peekStartsWith("(")||Fe.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),Fe.push(this.parseSegment());let we={};this.peekStartsWith("/(")&&(this.capture("/"),we=this.parseParens(!0));let Mt={};return this.peekStartsWith("(")&&(Mt=this.parseParens(!1)),(Fe.length>0||Object.keys(we).length>0)&&(Mt[Jt]=new Tt(Fe,we)),Mt}parseSegment(){const Fe=ir(this.remaining);if(""===Fe&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(Fe),new yn(Ut(Fe),this.parseMatrixParams())}parseMatrixParams(){const Fe={};for(;this.consumeOptional(";");)this.parseParam(Fe);return Fe}parseParam(Fe){const we=ir(this.remaining);if(!we)return;this.capture(we);let Mt="";if(this.consumeOptional("=")){const xe=ir(this.remaining);xe&&(Mt=xe,this.capture(Mt))}Fe[Ut(we)]=Ut(Mt)}parseQueryParam(Fe){const we=function(Je){const Fe=Je.match(mr);return Fe?Fe[0]:""}(this.remaining);if(!we)return;this.capture(we);let Mt="";if(this.consumeOptional("=")){const Te=function(Je){const Fe=Je.match(Nr);return Fe?Fe[0]:""}(this.remaining);Te&&(Mt=Te,this.capture(Mt))}const xe=ot(we),ke=ot(Mt);if(Fe.hasOwnProperty(xe)){let Te=Fe[xe];Array.isArray(Te)||(Te=[Te],Fe[xe]=Te),Te.push(ke)}else Fe[xe]=ke}parseParens(Fe){const we={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const Mt=ir(this.remaining),xe=this.remaining[Mt.length];if("/"!==xe&&")"!==xe&&";"!==xe)throw new Error(`Cannot parse url '${this.url}'`);let ke;Mt.indexOf(":")>-1?(ke=Mt.substr(0,Mt.indexOf(":")),this.capture(ke),this.capture(":")):Fe&&(ke=Jt);const Te=this.parseChildren();we[ke]=1===Object.keys(Te).length?Te[Jt]:new Tt([],Te),this.consumeOptional("//")}return we}peekStartsWith(Fe){return this.remaining.startsWith(Fe)}consumeOptional(Fe){return!!this.peekStartsWith(Fe)&&(this.remaining=this.remaining.substring(Fe.length),!0)}capture(Fe){if(!this.consumeOptional(Fe))throw new Error(`Expected "${Fe}".`)}}class rr{constructor(Fe){this._root=Fe}get root(){return this._root.value}parent(Fe){const we=this.pathFromRoot(Fe);return we.length>1?we[we.length-2]:null}children(Fe){const we=Mr(Fe,this._root);return we?we.children.map(Mt=>Mt.value):[]}firstChild(Fe){const we=Mr(Fe,this._root);return we&&we.children.length>0?we.children[0].value:null}siblings(Fe){const we=yi(Fe,this._root);return we.length<2?[]:we[we.length-2].children.map(xe=>xe.value).filter(xe=>xe!==Fe)}pathFromRoot(Fe){return yi(Fe,this._root).map(we=>we.value)}}function Mr(Je,Fe){if(Je===Fe.value)return Fe;for(const we of Fe.children){const Mt=Mr(Je,we);if(Mt)return Mt}return null}function yi(Je,Fe){if(Je===Fe.value)return[Fe];for(const we of Fe.children){const Mt=yi(Je,we);if(Mt.length)return Mt.unshift(Fe),Mt}return[]}class Li{constructor(Fe,we){this.value=Fe,this.children=we}toString(){return`TreeNode(${this.value})`}}function Mi(Je){const Fe={};return Je&&Je.children.forEach(we=>Fe[we.value.outlet]=we),Fe}class Oi extends rr{constructor(Fe,we){super(Fe),this.snapshot=we,Vt(this,Fe)}toString(){return this.snapshot.toString()}}function Xr(Je,Fe){const we=function(Je,Fe){const Te=new Ke([],{},{},"",{},Jt,Fe,null,Je.root,-1,{});return new Xe("",new Li(Te,[]))}(Je,Fe),Mt=new _.X([new yn("",{})]),xe=new _.X({}),ke=new _.X({}),Te=new _.X({}),ge=new _.X(""),Re=new di(Mt,xe,Te,ge,ke,Jt,Fe,we.root);return Re.snapshot=we.root,new Oi(new Li(Re,[]),we)}class di{constructor(Fe,we,Mt,xe,ke,Te,ge,Re){this.url=Fe,this.params=we,this.queryParams=Mt,this.fragment=xe,this.data=ke,this.outlet=Te,this.component=ge,this._futureSnapshot=Re}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,j.U)(Fe=>ln(Fe)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,j.U)(Fe=>ln(Fe)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function se(Je,Fe="emptyOnly"){const we=Je.pathFromRoot;let Mt=0;if("always"!==Fe)for(Mt=we.length-1;Mt>=1;){const xe=we[Mt],ke=we[Mt-1];if(xe.routeConfig&&""===xe.routeConfig.path)Mt--;else{if(ke.component)break;Mt--}}return function(Je){return Je.reduce((Fe,we)=>({params:Object.assign(Object.assign({},Fe.params),we.params),data:Object.assign(Object.assign({},Fe.data),we.data),resolve:Object.assign(Object.assign({},Fe.resolve),we._resolvedData)}),{params:{},data:{},resolve:{}})}(we.slice(Mt))}class Ke{constructor(Fe,we,Mt,xe,ke,Te,ge,Re,Be,xt,Dt){this.url=Fe,this.params=we,this.queryParams=Mt,this.fragment=xe,this.data=ke,this.outlet=Te,this.component=ge,this.routeConfig=Re,this._urlSegment=Be,this._lastPathIndex=xt,this._resolve=Dt}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=ln(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ln(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(Mt=>Mt.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Xe extends rr{constructor(Fe,we){super(we),this.url=Fe,Vt(this,we)}toString(){return Ct(this._root)}}function Vt(Je,Fe){Fe.value._routerState=Je,Fe.children.forEach(we=>Vt(Je,we))}function Ct(Je){const Fe=Je.children.length>0?` { ${Je.children.map(Ct).join(", ")} } `:"";return`${Je.value}${Fe}`}function rt(Je){if(Je.snapshot){const Fe=Je.snapshot,we=Je._futureSnapshot;Je.snapshot=we,Ht(Fe.queryParams,we.queryParams)||Je.queryParams.next(we.queryParams),Fe.fragment!==we.fragment&&Je.fragment.next(we.fragment),Ht(Fe.params,we.params)||Je.params.next(we.params),function(Je,Fe){if(Je.length!==Fe.length)return!1;for(let we=0;we<Je.length;++we)if(!Ht(Je[we],Fe[we]))return!1;return!0}(Fe.url,we.url)||Je.url.next(we.url),Ht(Fe.data,we.data)||Je.data.next(we.data)}else Je.snapshot=Je._futureSnapshot,Je.data.next(Je._futureSnapshot.data)}function yt(Je,Fe){return Ht(Je.params,Fe.params)&&function(Je,Fe){return jt(Je,Fe)&&Je.every((we,Mt)=>Ht(we.parameters,Fe[Mt].parameters))}(Je.url,Fe.url)&&!(!Je.parent!=!Fe.parent)&&(!Je.parent||yt(Je.parent,Fe.parent))}function $t(Je,Fe,we){if(we&&Je.shouldReuseRoute(Fe.value,we.value.snapshot)){const Mt=we.value;Mt._futureSnapshot=Fe.value;const xe=function(Je,Fe,we){return Fe.children.map(Mt=>{for(const xe of we.children)if(Je.shouldReuseRoute(Mt.value,xe.value.snapshot))return $t(Je,Mt,xe);return $t(Je,Mt)})}(Je,Fe,we);return new Li(Mt,xe)}{if(Je.shouldAttach(Fe.value)){const ke=Je.retrieve(Fe.value);if(null!==ke){const Te=ke.route;return or(Fe,Te),Te}}const Mt=function(Je){return new di(new _.X(Je.url),new _.X(Je.params),new _.X(Je.queryParams),new _.X(Je.fragment),new _.X(Je.data),Je.outlet,Je.component,Je)}(Fe.value),xe=Fe.children.map(ke=>$t(Je,ke));return new Li(Mt,xe)}}function or(Je,Fe){if(Je.value.routeConfig!==Fe.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(Je.children.length!==Fe.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");Fe.value._futureSnapshot=Je.value;for(let we=0;we<Je.children.length;++we)or(Je.children[we],Fe.children[we])}function ai(Je){return"object"==typeof Je&&null!=Je&&!Je.outlets&&!Je.segmentPath}function Dr(Je){return"object"==typeof Je&&null!=Je&&Je.outlets}function Jr(Je,Fe,we,Mt,xe){let ke={};return Mt&&dn(Mt,(Te,ge)=>{ke[ge]=Array.isArray(Te)?Te.map(Re=>`${Re}`):`${Te}`}),new mt(we.root===Je?Fe:rn(we.root,Je,Fe),ke,xe)}function rn(Je,Fe,we){const Mt={};return dn(Je.children,(xe,ke)=>{Mt[ke]=xe===Fe?we:rn(xe,Fe,we)}),new Tt(Je.segments,Mt)}class fi{constructor(Fe,we,Mt){if(this.isAbsolute=Fe,this.numberOfDoubleDots=we,this.commands=Mt,Fe&&Mt.length>0&&ai(Mt[0]))throw new Error("Root segment cannot have matrix parameters");const xe=Mt.find(Dr);if(xe&&xe!==Cn(Mt))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class wi{constructor(Fe,we,Mt){this.segmentGroup=Fe,this.processChildren=we,this.index=Mt}}function qi(Je,Fe,we){if(Je||(Je=new Tt([],{})),0===Je.segments.length&&Je.hasChildren())return Wi(Je,Fe,we);const Mt=function(Je,Fe,we){let Mt=0,xe=Fe;const ke={match:!1,pathIndex:0,commandIndex:0};for(;xe<Je.segments.length;){if(Mt>=we.length)return ke;const Te=Je.segments[xe],ge=we[Mt];if(Dr(ge))break;const Re=`${ge}`,Be=Mt<we.length-1?we[Mt+1]:null;if(xe>0&&void 0===Re)break;if(Re&&Be&&"object"==typeof Be&&void 0===Be.outlets){if(!Bo(Re,Be,Te))return ke;Mt+=2}else{if(!Bo(Re,{},Te))return ke;Mt++}xe++}return{match:!0,pathIndex:xe,commandIndex:Mt}}(Je,Fe,we),xe=we.slice(Mt.commandIndex);if(Mt.match&&Mt.pathIndex<Je.segments.length){const ke=new Tt(Je.segments.slice(0,Mt.pathIndex),{});return ke.children[Jt]=new Tt(Je.segments.slice(Mt.pathIndex),Je.children),Wi(ke,0,xe)}return Mt.match&&0===xe.length?new Tt(Je.segments,{}):Mt.match&&!Je.hasChildren()?Gi(Je,Fe,we):Mt.match?Wi(Je,0,xe):Gi(Je,Fe,we)}function Wi(Je,Fe,we){if(0===we.length)return new Tt(Je.segments,{});{const Mt=function(Je){return Dr(Je[0])?Je[0].outlets:{[Jt]:Je}}(we),xe={};return dn(Mt,(ke,Te)=>{"string"==typeof ke&&(ke=[ke]),null!==ke&&(xe[Te]=qi(Je.children[Te],Fe,ke))}),dn(Je.children,(ke,Te)=>{void 0===Mt[Te]&&(xe[Te]=ke)}),new Tt(Je.segments,xe)}}function Gi(Je,Fe,we){const Mt=Je.segments.slice(0,Fe);let xe=0;for(;xe<we.length;){const ke=we[xe];if(Dr(ke)){const Re=Wo(ke.outlets);return new Tt(Mt,Re)}if(0===xe&&ai(we[0])){Mt.push(new yn(Je.segments[Fe].path,Ro(we[0]))),xe++;continue}const Te=Dr(ke)?ke.outlets[Jt]:`${ke}`,ge=xe<we.length-1?we[xe+1]:null;Te&&ge&&ai(ge)?(Mt.push(new yn(Te,Ro(ge))),xe+=2):(Mt.push(new yn(Te,{})),xe++)}return new Tt(Mt,{})}function Wo(Je){const Fe={};return dn(Je,(we,Mt)=>{"string"==typeof we&&(we=[we]),null!==we&&(Fe[Mt]=Gi(new Tt([],{}),0,we))}),Fe}function Ro(Je){const Fe={};return dn(Je,(we,Mt)=>Fe[Mt]=`${we}`),Fe}function Bo(Je,Fe,we){return Je==we.path&&Ht(Fe,we.parameters)}class ts{constructor(Fe,we,Mt,xe){this.routeReuseStrategy=Fe,this.futureState=we,this.currState=Mt,this.forwardEvent=xe}activate(Fe){const we=this.futureState._root,Mt=this.currState?this.currState._root:null;this.deactivateChildRoutes(we,Mt,Fe),rt(this.futureState.root),this.activateChildRoutes(we,Mt,Fe)}deactivateChildRoutes(Fe,we,Mt){const xe=Mi(we);Fe.children.forEach(ke=>{const Te=ke.value.outlet;this.deactivateRoutes(ke,xe[Te],Mt),delete xe[Te]}),dn(xe,(ke,Te)=>{this.deactivateRouteAndItsChildren(ke,Mt)})}deactivateRoutes(Fe,we,Mt){const xe=Fe.value,ke=we?we.value:null;if(xe===ke)if(xe.component){const Te=Mt.getContext(xe.outlet);Te&&this.deactivateChildRoutes(Fe,we,Te.children)}else this.deactivateChildRoutes(Fe,we,Mt);else ke&&this.deactivateRouteAndItsChildren(we,Mt)}deactivateRouteAndItsChildren(Fe,we){this.routeReuseStrategy.shouldDetach(Fe.value.snapshot)?this.detachAndStoreRouteSubtree(Fe,we):this.deactivateRouteAndOutlet(Fe,we)}detachAndStoreRouteSubtree(Fe,we){const Mt=we.getContext(Fe.value.outlet);if(Mt&&Mt.outlet){const xe=Mt.outlet.detach(),ke=Mt.children.onOutletDeactivated();this.routeReuseStrategy.store(Fe.value.snapshot,{componentRef:xe,route:Fe,contexts:ke})}}deactivateRouteAndOutlet(Fe,we){const Mt=we.getContext(Fe.value.outlet),xe=Mt&&Fe.value.component?Mt.children:we,ke=Mi(Fe);for(const Te of Object.keys(ke))this.deactivateRouteAndItsChildren(ke[Te],xe);Mt&&Mt.outlet&&(Mt.outlet.deactivate(),Mt.children.onOutletDeactivated(),Mt.attachRef=null,Mt.resolver=null,Mt.route=null)}activateChildRoutes(Fe,we,Mt){const xe=Mi(we);Fe.children.forEach(ke=>{this.activateRoutes(ke,xe[ke.value.outlet],Mt),this.forwardEvent(new Ie(ke.value.snapshot))}),Fe.children.length&&this.forwardEvent(new It(Fe.value.snapshot))}activateRoutes(Fe,we,Mt){const xe=Fe.value,ke=we?we.value:null;if(rt(xe),xe===ke)if(xe.component){const Te=Mt.getOrCreateContext(xe.outlet);this.activateChildRoutes(Fe,we,Te.children)}else this.activateChildRoutes(Fe,we,Mt);else if(xe.component){const Te=Mt.getOrCreateContext(xe.outlet);if(this.routeReuseStrategy.shouldAttach(xe.snapshot)){const ge=this.routeReuseStrategy.retrieve(xe.snapshot);this.routeReuseStrategy.store(xe.snapshot,null),Te.children.onOutletReAttached(ge.contexts),Te.attachRef=ge.componentRef,Te.route=ge.route.value,Te.outlet&&Te.outlet.attach(ge.componentRef,ge.route.value),ua(ge.route)}else{const ge=function(Je){for(let Fe=Je.parent;Fe;Fe=Fe.parent){const we=Fe.routeConfig;if(we&&we._loadedConfig)return we._loadedConfig;if(we&&we.component)return null}return null}(xe.snapshot),Re=ge?ge.module.componentFactoryResolver:null;Te.attachRef=null,Te.route=xe,Te.resolver=Re,Te.outlet&&Te.outlet.activateWith(xe,Re),this.activateChildRoutes(Fe,null,Te.children)}}else this.activateChildRoutes(Fe,null,Mt)}}function ua(Je){rt(Je.value),Je.children.forEach(ua)}class qo{constructor(Fe,we){this.routes=Fe,this.module=we}}function oa(Je){return"function"==typeof Je}function st(Je){return Je instanceof mt}const Tn=Symbol("INITIAL_VALUE");function $r(){return(0,H.w)(Je=>(0,m.aj)(Je.map(Fe=>Fe.pipe((0,z.q)(1),(0,U.O)(Tn)))).pipe((0,M.R)((Fe,we)=>{let Mt=!1;return we.reduce((xe,ke,Te)=>xe!==Tn?xe:(ke===Tn&&(Mt=!0),Mt||!1!==ke&&Te!==we.length-1&&!st(ke)?xe:ke),Fe)},Tn),(0,I.h)(Fe=>Fe!==Tn),(0,j.U)(Fe=>st(Fe)?Fe:!0===Fe),(0,z.q)(1)))}let ti=(()=>{class Je{}return Je.\u0275fac=function(we){return new(we||Je)},Je.\u0275cmp=e.Xpm({type:Je,selectors:[["ng-component"]],decls:1,vars:0,template:function(we,Mt){1&we&&e._UZ(0,"router-outlet")},directives:function(){return[li]},encapsulation:2}),Je})();function Ri(Je,Fe=""){for(let we=0;we<Je.length;we++){const Mt=Je[we];wo(Mt,gi(Fe,Mt))}}function wo(Je,Fe){Je.children&&Ri(Je.children,Fe)}function gi(Je,Fe){return Fe?Je||Fe.path?Je&&!Fe.path?`${Je}/`:!Je&&Fe.path?Fe.path:`${Je}/${Fe.path}`:"":Je}function Hi(Je){const Fe=Je.children&&Je.children.map(Hi),we=Fe?Object.assign(Object.assign({},Je),{children:Fe}):Object.assign({},Je);return!we.component&&(Fe||we.loadChildren)&&we.outlet&&we.outlet!==Jt&&(we.component=ti),we}function Fi(Je){return Je.outlet||Jt}function cs(Je,Fe){const we=Je.filter(Mt=>Fi(Mt)===Fe);return we.push(...Je.filter(Mt=>Fi(Mt)!==Fe)),we}const ws={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function da(Je,Fe,we){var Mt;if(""===Fe.path)return"full"===Fe.pathMatch&&(Je.hasChildren()||we.length>0)?Object.assign({},ws):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const ke=(Fe.matcher||er)(we,Je,Fe);if(!ke)return Object.assign({},ws);const Te={};dn(ke.posParams,(Re,Be)=>{Te[Be]=Re.path});const ge=ke.consumed.length>0?Object.assign(Object.assign({},Te),ke.consumed[ke.consumed.length-1].parameters):Te;return{matched:!0,consumedSegments:ke.consumed,lastChild:ke.consumed.length,parameters:ge,positionalParamSegments:null!==(Mt=ke.posParams)&&void 0!==Mt?Mt:{}}}function xa(Je,Fe,we,Mt,xe="corrected"){if(we.length>0&&function(Je,Fe,we){return we.some(Mt=>sa(Je,Fe,Mt)&&Fi(Mt)!==Jt)}(Je,we,Mt)){const Te=new Tt(Fe,function(Je,Fe,we,Mt){const xe={};xe[Jt]=Mt,Mt._sourceSegment=Je,Mt._segmentIndexShift=Fe.length;for(const ke of we)if(""===ke.path&&Fi(ke)!==Jt){const Te=new Tt([],{});Te._sourceSegment=Je,Te._segmentIndexShift=Fe.length,xe[Fi(ke)]=Te}return xe}(Je,Fe,Mt,new Tt(we,Je.children)));return Te._sourceSegment=Je,Te._segmentIndexShift=Fe.length,{segmentGroup:Te,slicedSegments:[]}}if(0===we.length&&function(Je,Fe,we){return we.some(Mt=>sa(Je,Fe,Mt))}(Je,we,Mt)){const Te=new Tt(Je.segments,function(Je,Fe,we,Mt,xe,ke){const Te={};for(const ge of Mt)if(sa(Je,we,ge)&&!xe[Fi(ge)]){const Re=new Tt([],{});Re._sourceSegment=Je,Re._segmentIndexShift="legacy"===ke?Je.segments.length:Fe.length,Te[Fi(ge)]=Re}return Object.assign(Object.assign({},xe),Te)}(Je,Fe,we,Mt,Je.children,xe));return Te._sourceSegment=Je,Te._segmentIndexShift=Fe.length,{segmentGroup:Te,slicedSegments:we}}const ke=new Tt(Je.segments,Je.children);return ke._sourceSegment=Je,ke._segmentIndexShift=Fe.length,{segmentGroup:ke,slicedSegments:we}}function sa(Je,Fe,we){return(!(Je.hasChildren()||Fe.length>0)||"full"!==we.pathMatch)&&""===we.path}function Fo(Je,Fe,we,Mt){return!!(Fi(Je)===Mt||Mt!==Jt&&sa(Fe,we,Je))&&("**"===Je.path||da(Fe,Je,we).matched)}function tl(Je,Fe,we){return 0===Fe.length&&!Je.children[we]}class Ma{constructor(Fe){this.segmentGroup=Fe||null}}class fa{constructor(Fe){this.urlTree=Fe}}function Hs(Je){return new s.y(Fe=>Fe.error(new Ma(Je)))}function ja(Je){return new s.y(Fe=>Fe.error(new fa(Je)))}function pt(Je){return new s.y(Fe=>Fe.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${Je}'`)))}class Ce{constructor(Fe,we,Mt,xe,ke){this.configLoader=we,this.urlSerializer=Mt,this.urlTree=xe,this.config=ke,this.allowRedirects=!0,this.ngModule=Fe.get(e.h0i)}apply(){const Fe=xa(this.urlTree.root,[],[],this.config).segmentGroup,we=new Tt(Fe.segments,Fe.children);return this.expandSegmentGroup(this.ngModule,this.config,we,Jt).pipe((0,j.U)(ke=>this.createUrlTree(Ne(ke),this.urlTree.queryParams,this.urlTree.fragment))).pipe((0,J.K)(ke=>{if(ke instanceof fa)return this.allowRedirects=!1,this.match(ke.urlTree);throw ke instanceof Ma?this.noMatchError(ke):ke}))}match(Fe){return this.expandSegmentGroup(this.ngModule,this.config,Fe.root,Jt).pipe((0,j.U)(xe=>this.createUrlTree(Ne(xe),Fe.queryParams,Fe.fragment))).pipe((0,J.K)(xe=>{throw xe instanceof Ma?this.noMatchError(xe):xe}))}noMatchError(Fe){return new Error(`Cannot match any routes. URL Segment: '${Fe.segmentGroup}'`)}createUrlTree(Fe,we,Mt){const xe=Fe.segments.length>0?new Tt([],{[Jt]:Fe}):Fe;return new mt(xe,we,Mt)}expandSegmentGroup(Fe,we,Mt,xe){return 0===Mt.segments.length&&Mt.hasChildren()?this.expandChildren(Fe,we,Mt).pipe((0,j.U)(ke=>new Tt([],ke))):this.expandSegment(Fe,Mt,we,Mt.segments,xe,!0)}expandChildren(Fe,we,Mt){const xe=[];for(const ke of Object.keys(Mt.children))"primary"===ke?xe.unshift(ke):xe.push(ke);return(0,a.D)(xe).pipe((0,B.b)(ke=>{const Te=Mt.children[ke],ge=cs(we,ke);return this.expandSegmentGroup(Fe,ge,Te,ke).pipe((0,j.U)(Re=>({segment:Re,outlet:ke})))}),(0,M.R)((ke,Te)=>(ke[Te.outlet]=Te.segment,ke),{}),(0,ie.Z)())}expandSegment(Fe,we,Mt,xe,ke,Te){return(0,a.D)(Mt).pipe((0,B.b)(ge=>this.expandSegmentAgainstRoute(Fe,we,Mt,ge,xe,ke,Te).pipe((0,J.K)(Be=>{if(Be instanceof Ma)return(0,h.of)(null);throw Be}))),(0,oe.P)(ge=>!!ge),(0,J.K)((ge,Re)=>{if(ge instanceof b.K||"EmptyError"===ge.name){if(tl(we,xe,ke))return(0,h.of)(new Tt([],{}));throw new Ma(we)}throw ge}))}expandSegmentAgainstRoute(Fe,we,Mt,xe,ke,Te,ge){return Fo(xe,we,ke,Te)?void 0===xe.redirectTo?this.matchSegmentAgainstRoute(Fe,we,xe,ke,Te):ge&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(Fe,we,Mt,xe,ke,Te):Hs(we):Hs(we)}expandSegmentAgainstRouteUsingRedirect(Fe,we,Mt,xe,ke,Te){return"**"===xe.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(Fe,Mt,xe,Te):this.expandRegularSegmentAgainstRouteUsingRedirect(Fe,we,Mt,xe,ke,Te)}expandWildCardWithParamsAgainstRouteUsingRedirect(Fe,we,Mt,xe){const ke=this.applyRedirectCommands([],Mt.redirectTo,{});return Mt.redirectTo.startsWith("/")?ja(ke):this.lineralizeSegments(Mt,ke).pipe((0,fe.zg)(Te=>{const ge=new Tt(Te,{});return this.expandSegment(Fe,ge,we,Te,xe,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(Fe,we,Mt,xe,ke,Te){const{matched:ge,consumedSegments:Re,lastChild:Be,positionalParamSegments:xt}=da(we,xe,ke);if(!ge)return Hs(we);const Dt=this.applyRedirectCommands(Re,xe.redirectTo,xt);return xe.redirectTo.startsWith("/")?ja(Dt):this.lineralizeSegments(xe,Dt).pipe((0,fe.zg)(en=>this.expandSegment(Fe,we,Mt,en.concat(ke.slice(Be)),Te,!1)))}matchSegmentAgainstRoute(Fe,we,Mt,xe,ke){if("**"===Mt.path)return Mt.loadChildren?(Mt._loadedConfig?(0,h.of)(Mt._loadedConfig):this.configLoader.load(Fe.injector,Mt)).pipe((0,j.U)(en=>(Mt._loadedConfig=en,new Tt(xe,{})))):(0,h.of)(new Tt(xe,{}));const{matched:Te,consumedSegments:ge,lastChild:Re}=da(we,Mt,xe);if(!Te)return Hs(we);const Be=xe.slice(Re);return this.getChildConfig(Fe,Mt,xe).pipe((0,fe.zg)(Dt=>{const en=Dt.module,vn=Dt.routes,{segmentGroup:Gn,slicedSegments:kn}=xa(we,ge,Be,vn),zn=new Tt(Gn.segments,Gn.children);if(0===kn.length&&zn.hasChildren())return this.expandChildren(en,vn,zn).pipe((0,j.U)(ci=>new Tt(ge,ci)));if(0===vn.length&&0===kn.length)return(0,h.of)(new Tt(ge,{}));const jr=Fi(Mt)===ke;return this.expandSegment(en,zn,vn,kn,jr?Jt:ke,!0).pipe((0,j.U)(Gr=>new Tt(ge.concat(Gr.segments),Gr.children)))}))}getChildConfig(Fe,we,Mt){return we.children?(0,h.of)(new qo(we.children,Fe)):we.loadChildren?void 0!==we._loadedConfig?(0,h.of)(we._loadedConfig):this.runCanLoadGuards(Fe.injector,we,Mt).pipe((0,fe.zg)(xe=>{return xe?this.configLoader.load(Fe.injector,we).pipe((0,j.U)(ke=>(we._loadedConfig=ke,ke))):(Je=we,new s.y(Fe=>Fe.error(Ln(`Cannot load children because the guard of the route "path: '${Je.path}'" returned false`))));var Je})):(0,h.of)(new qo([],Fe))}runCanLoadGuards(Fe,we,Mt){const xe=we.canLoad;if(!xe||0===xe.length)return(0,h.of)(!0);const ke=xe.map(Te=>{const ge=Fe.get(Te);let Re;if((Je=ge)&&oa(Je.canLoad))Re=ge.canLoad(we,Mt);else{if(!oa(ge))throw new Error("Invalid CanLoad guard");Re=ge(we,Mt)}var Je;return Kn(Re)});return(0,h.of)(ke).pipe($r(),(0,ne.b)(Te=>{if(!st(Te))return;const ge=Ln(`Redirecting to "${this.urlSerializer.serialize(Te)}"`);throw ge.url=Te,ge}),(0,j.U)(Te=>!0===Te))}lineralizeSegments(Fe,we){let Mt=[],xe=we.root;for(;;){if(Mt=Mt.concat(xe.segments),0===xe.numberOfChildren)return(0,h.of)(Mt);if(xe.numberOfChildren>1||!xe.children[Jt])return pt(Fe.redirectTo);xe=xe.children[Jt]}}applyRedirectCommands(Fe,we,Mt){return this.applyRedirectCreatreUrlTree(we,this.urlSerializer.parse(we),Fe,Mt)}applyRedirectCreatreUrlTree(Fe,we,Mt,xe){const ke=this.createSegmentGroup(Fe,we.root,Mt,xe);return new mt(ke,this.createQueryParams(we.queryParams,this.urlTree.queryParams),we.fragment)}createQueryParams(Fe,we){const Mt={};return dn(Fe,(xe,ke)=>{if("string"==typeof xe&&xe.startsWith(":")){const ge=xe.substring(1);Mt[ke]=we[ge]}else Mt[ke]=xe}),Mt}createSegmentGroup(Fe,we,Mt,xe){const ke=this.createSegments(Fe,we.segments,Mt,xe);let Te={};return dn(we.children,(ge,Re)=>{Te[Re]=this.createSegmentGroup(Fe,ge,Mt,xe)}),new Tt(ke,Te)}createSegments(Fe,we,Mt,xe){return we.map(ke=>ke.path.startsWith(":")?this.findPosParam(Fe,ke,xe):this.findOrReturn(ke,Mt))}findPosParam(Fe,we,Mt){const xe=Mt[we.path.substring(1)];if(!xe)throw new Error(`Cannot redirect to '${Fe}'. Cannot find '${we.path}'.`);return xe}findOrReturn(Fe,we){let Mt=0;for(const xe of we){if(xe.path===Fe.path)return we.splice(Mt),xe;Mt++}return Fe}}function Ne(Je){const Fe={};for(const Mt of Object.keys(Je.children)){const ke=Ne(Je.children[Mt]);(ke.segments.length>0||ke.hasChildren())&&(Fe[Mt]=ke)}return function(Je){if(1===Je.numberOfChildren&&Je.children[Jt]){const Fe=Je.children[Jt];return new Tt(Je.segments.concat(Fe.segments),Fe.children)}return Je}(new Tt(Je.segments,Fe))}class Or{constructor(Fe){this.path=Fe,this.route=this.path[this.path.length-1]}}class Ni{constructor(Fe,we){this.component=Fe,this.route=we}}function Yo(Je,Fe,we){const Mt=Je._root;return Zo(Mt,Fe?Fe._root:null,we,[Mt.value])}function as(Je,Fe,we){const Mt=function(Je){if(!Je)return null;for(let Fe=Je.parent;Fe;Fe=Fe.parent){const we=Fe.routeConfig;if(we&&we._loadedConfig)return we._loadedConfig}return null}(Fe);return(Mt?Mt.module.injector:we).get(Je)}function Zo(Je,Fe,we,Mt,xe={canDeactivateChecks:[],canActivateChecks:[]}){const ke=Mi(Fe);return Je.children.forEach(Te=>{(function(Je,Fe,we,Mt,xe={canDeactivateChecks:[],canActivateChecks:[]}){const ke=Je.value,Te=Fe?Fe.value:null,ge=we?we.getContext(Je.value.outlet):null;if(Te&&ke.routeConfig===Te.routeConfig){const Re=function(Je,Fe,we){if("function"==typeof we)return we(Je,Fe);switch(we){case"pathParamsChange":return!jt(Je.url,Fe.url);case"pathParamsOrQueryParamsChange":return!jt(Je.url,Fe.url)||!Ht(Je.queryParams,Fe.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!yt(Je,Fe)||!Ht(Je.queryParams,Fe.queryParams);case"paramsChange":default:return!yt(Je,Fe)}}(Te,ke,ke.routeConfig.runGuardsAndResolvers);Re?xe.canActivateChecks.push(new Or(Mt)):(ke.data=Te.data,ke._resolvedData=Te._resolvedData),Zo(Je,Fe,ke.component?ge?ge.children:null:we,Mt,xe),Re&&ge&&ge.outlet&&ge.outlet.isActivated&&xe.canDeactivateChecks.push(new Ni(ge.outlet.component,Te))}else Te&&Oa(Fe,ge,xe),xe.canActivateChecks.push(new Or(Mt)),Zo(Je,null,ke.component?ge?ge.children:null:we,Mt,xe)})(Te,ke[Te.value.outlet],we,Mt.concat([Te.value]),xe),delete ke[Te.value.outlet]}),dn(ke,(Te,ge)=>Oa(Te,we.getContext(ge),xe)),xe}function Oa(Je,Fe,we){const Mt=Mi(Je),xe=Je.value;dn(Mt,(ke,Te)=>{Oa(ke,xe.component?Fe?Fe.children.getContext(Te):null:Fe,we)}),we.canDeactivateChecks.push(new Ni(xe.component&&Fe&&Fe.outlet&&Fe.outlet.isActivated?Fe.outlet.component:null,xe))}class Yl{}function Na(Je){return new s.y(Fe=>Fe.error(Je))}class ys{constructor(Fe,we,Mt,xe,ke,Te){this.rootComponentType=Fe,this.config=we,this.urlTree=Mt,this.url=xe,this.paramsInheritanceStrategy=ke,this.relativeLinkResolution=Te}recognize(){const Fe=xa(this.urlTree.root,[],[],this.config.filter(Te=>void 0===Te.redirectTo),this.relativeLinkResolution).segmentGroup,we=this.processSegmentGroup(this.config,Fe,Jt);if(null===we)return null;const Mt=new Ke([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},Jt,this.rootComponentType,null,this.urlTree.root,-1,{}),xe=new Li(Mt,we),ke=new Xe(this.url,xe);return this.inheritParamsAndData(ke._root),ke}inheritParamsAndData(Fe){const we=Fe.value,Mt=se(we,this.paramsInheritanceStrategy);we.params=Object.freeze(Mt.params),we.data=Object.freeze(Mt.data),Fe.children.forEach(xe=>this.inheritParamsAndData(xe))}processSegmentGroup(Fe,we,Mt){return 0===we.segments.length&&we.hasChildren()?this.processChildren(Fe,we):this.processSegment(Fe,we,we.segments,Mt)}processChildren(Fe,we){const Mt=[];for(const ke of Object.keys(we.children)){const Te=we.children[ke],ge=cs(Fe,ke),Re=this.processSegmentGroup(ge,Te,ke);if(null===Re)return null;Mt.push(...Re)}const xe=_s(Mt);return xe.sort((Fe,we)=>Fe.value.outlet===Jt?-1:we.value.outlet===Jt?1:Fe.value.outlet.localeCompare(we.value.outlet)),xe}processSegment(Fe,we,Mt,xe){for(const ke of Fe){const Te=this.processSegmentAgainstRoute(ke,we,Mt,xe);if(null!==Te)return Te}return tl(we,Mt,xe)?[]:null}processSegmentAgainstRoute(Fe,we,Mt,xe){if(Fe.redirectTo||!Fo(Fe,we,Mt,xe))return null;let ke,Te=[],ge=[];if("**"===Fe.path){const vn=Mt.length>0?Cn(Mt).parameters:{};ke=new Ke(Mt,vn,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,tn(Fe),Fi(Fe),Fe.component,Fe,wt(we),kt(we)+Mt.length,ur(Fe))}else{const vn=da(we,Fe,Mt);if(!vn.matched)return null;Te=vn.consumedSegments,ge=Mt.slice(vn.lastChild),ke=new Ke(Te,vn.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,tn(Fe),Fi(Fe),Fe.component,Fe,wt(we),kt(we)+Te.length,ur(Fe))}const Re=(Je=Fe).children?Je.children:Je.loadChildren?Je._loadedConfig.routes:[],{segmentGroup:Be,slicedSegments:xt}=xa(we,Te,ge,Re.filter(vn=>void 0===vn.redirectTo),this.relativeLinkResolution);var Je;if(0===xt.length&&Be.hasChildren()){const vn=this.processChildren(Re,Be);return null===vn?null:[new Li(ke,vn)]}if(0===Re.length&&0===xt.length)return[new Li(ke,[])];const Dt=Fi(Fe)===xe,en=this.processSegment(Re,Be,xt,Dt?Jt:xe);return null===en?null:[new Li(ke,en)]}}function Ba(Je){const Fe=Je.value.routeConfig;return Fe&&""===Fe.path&&void 0===Fe.redirectTo}function _s(Je){const Fe=[],we=new Set;for(const Mt of Je){if(!Ba(Mt)){Fe.push(Mt);continue}const xe=Fe.find(ke=>Mt.value.routeConfig===ke.value.routeConfig);void 0!==xe?(xe.children.push(...Mt.children),we.add(xe)):Fe.push(Mt)}for(const Mt of we){const xe=_s(Mt.children);Fe.push(new Li(Mt.value,xe))}return Fe.filter(Mt=>!we.has(Mt))}function wt(Je){let Fe=Je;for(;Fe._sourceSegment;)Fe=Fe._sourceSegment;return Fe}function kt(Je){let Fe=Je,we=Fe._segmentIndexShift?Fe._segmentIndexShift:0;for(;Fe._sourceSegment;)Fe=Fe._sourceSegment,we+=Fe._segmentIndexShift?Fe._segmentIndexShift:0;return we-1}function tn(Je){return Je.data||{}}function ur(Je){return Je.resolve||{}}function ni(Je){return(0,H.w)(Fe=>{const we=Je(Fe);return we?(0,a.D)(we).pipe((0,j.U)(()=>Fe)):(0,h.of)(Fe)})}class Ui extends class{shouldDetach(Fe){return!1}store(Fe,we){}shouldAttach(Fe){return!1}retrieve(Fe){return null}shouldReuseRoute(Fe,we){return Fe.routeConfig===we.routeConfig}}{}const ro=new e.OlP("ROUTES");class mo{constructor(Fe,we,Mt,xe){this.loader=Fe,this.compiler=we,this.onLoadStartListener=Mt,this.onLoadEndListener=xe}load(Fe,we){if(we._loader$)return we._loader$;this.onLoadStartListener&&this.onLoadStartListener(we);const xe=this.loadModuleFactory(we.loadChildren).pipe((0,j.U)(ke=>{this.onLoadEndListener&&this.onLoadEndListener(we);const Te=ke.create(Fe);return new qo(Yn(Te.injector.get(ro,void 0,e.XFs.Self|e.XFs.Optional)).map(Hi),Te)}),(0,J.K)(ke=>{throw we._loader$=void 0,ke}));return we._loader$=new D.c(xe,()=>new R.xQ).pipe((0,ce.x)()),we._loader$}loadModuleFactory(Fe){return"string"==typeof Fe?(0,a.D)(this.loader.load(Fe)):Kn(Fe()).pipe((0,fe.zg)(we=>we instanceof e.YKP?(0,h.of)(we):(0,a.D)(this.compiler.compileModuleAsync(we))))}}class Bi{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new hi,this.attachRef=null}}class hi{constructor(){this.contexts=new Map}onChildOutletCreated(Fe,we){const Mt=this.getOrCreateContext(Fe);Mt.outlet=we,this.contexts.set(Fe,Mt)}onChildOutletDestroyed(Fe){const we=this.getContext(Fe);we&&(we.outlet=null,we.attachRef=null)}onOutletDeactivated(){const Fe=this.contexts;return this.contexts=new Map,Fe}onOutletReAttached(Fe){this.contexts=Fe}getOrCreateContext(Fe){let we=this.getContext(Fe);return we||(we=new Bi,this.contexts.set(Fe,we)),we}getContext(Fe){return this.contexts.get(Fe)||null}}class G{shouldProcessUrl(Fe){return!0}extract(Fe){return Fe}merge(Fe,we){return Fe}}function Me(Je){throw Je}function ft(Je,Fe,we){return Fe.parse("/")}function Ft(Je,Fe){return(0,h.of)(null)}const Bt={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},In={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Xn=(()=>{class Je{constructor(we,Mt,xe,ke,Te,ge,Re,Be){this.rootComponentType=we,this.urlSerializer=Mt,this.rootContexts=xe,this.location=ke,this.config=Be,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.lastLocationChangeInfo=null,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new R.xQ,this.errorHandler=Me,this.malformedUriErrorHandler=ft,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Ft,afterPreactivation:Ft},this.urlHandlingStrategy=new G,this.routeReuseStrategy=new Ui,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=Te.get(e.h0i),this.console=Te.get(e.c2e);const en=Te.get(e.R0b);this.isNgZoneEnabled=en instanceof e.R0b&&e.R0b.isInAngularZone(),this.resetConfig(Be),this.currentUrlTree=new mt(new Tt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new mo(ge,Re,vn=>this.triggerEvent(new St(vn)),vn=>this.triggerEvent(new Ot(vn))),this.routerState=Xr(this.currentUrlTree,this.rootComponentType),this.transitions=new _.X({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var we;return null===(we=this.location.getState())||void 0===we?void 0:we.\u0275routerPageId}setupNavigations(we){const Mt=this.events;return we.pipe((0,I.h)(xe=>0!==xe.id),(0,j.U)(xe=>Object.assign(Object.assign({},xe),{extractedUrl:this.urlHandlingStrategy.extract(xe.rawUrl)})),(0,H.w)(xe=>{let ke=!1,Te=!1;return(0,h.of)(xe).pipe((0,ne.b)(ge=>{this.currentNavigation={id:ge.id,initialUrl:ge.currentRawUrl,extractedUrl:ge.extractedUrl,trigger:ge.source,extras:ge.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),(0,H.w)(ge=>{const Re=this.browserUrlTree.toString(),Be=!this.navigated||ge.extractedUrl.toString()!==Re||Re!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||Be)&&this.urlHandlingStrategy.shouldProcessUrl(ge.rawUrl))return pi(ge.source)&&(this.browserUrlTree=ge.extractedUrl),(0,h.of)(ge).pipe((0,H.w)(Dt=>{const en=this.transitions.getValue();return Mt.next(new be(Dt.id,this.serializeUrl(Dt.extractedUrl),Dt.source,Dt.restoredState)),en!==this.transitions.getValue()?l.E:Promise.resolve(Dt)}),function(Je,Fe,we,Mt){return(0,H.w)(xe=>function(Je,Fe,we,Mt,xe){return new Ce(Je,Fe,we,Mt,xe).apply()}(Je,Fe,we,xe.extractedUrl,Mt).pipe((0,j.U)(ke=>Object.assign(Object.assign({},xe),{urlAfterRedirects:ke}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),(0,ne.b)(Dt=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:Dt.urlAfterRedirects})}),function(Je,Fe,we,Mt,xe){return(0,fe.zg)(ke=>function(Je,Fe,we,Mt,xe="emptyOnly",ke="legacy"){try{const Te=new ys(Je,Fe,we,Mt,xe,ke).recognize();return null===Te?Na(new Yl):(0,h.of)(Te)}catch(Te){return Na(Te)}}(Je,Fe,ke.urlAfterRedirects,we(ke.urlAfterRedirects),Mt,xe).pipe((0,j.U)(Te=>Object.assign(Object.assign({},ke),{targetSnapshot:Te}))))}(this.rootComponentType,this.config,Dt=>this.serializeUrl(Dt),this.paramsInheritanceStrategy,this.relativeLinkResolution),(0,ne.b)(Dt=>{"eager"===this.urlUpdateStrategy&&(Dt.extras.skipLocationChange||this.setBrowserUrl(Dt.urlAfterRedirects,Dt),this.browserUrlTree=Dt.urlAfterRedirects);const en=new F(Dt.id,this.serializeUrl(Dt.extractedUrl),this.serializeUrl(Dt.urlAfterRedirects),Dt.targetSnapshot);Mt.next(en)}));if(Be&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:en,extractedUrl:vn,source:Gn,restoredState:kn,extras:zn}=ge,jr=new be(en,this.serializeUrl(vn),Gn,kn);Mt.next(jr);const kr=Xr(vn,this.rootComponentType).snapshot;return(0,h.of)(Object.assign(Object.assign({},ge),{targetSnapshot:kr,urlAfterRedirects:vn,extras:Object.assign(Object.assign({},zn),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=ge.rawUrl,this.browserUrlTree=ge.urlAfterRedirects,ge.resolve(null),l.E}),ni(ge=>{const{targetSnapshot:Re,id:Be,extractedUrl:xt,rawUrl:Dt,extras:{skipLocationChange:en,replaceUrl:vn}}=ge;return this.hooks.beforePreactivation(Re,{navigationId:Be,appliedUrlTree:xt,rawUrlTree:Dt,skipLocationChange:!!en,replaceUrl:!!vn})}),(0,ne.b)(ge=>{const Re=new je(ge.id,this.serializeUrl(ge.extractedUrl),this.serializeUrl(ge.urlAfterRedirects),ge.targetSnapshot);this.triggerEvent(Re)}),(0,j.U)(ge=>Object.assign(Object.assign({},ge),{guards:Yo(ge.targetSnapshot,ge.currentSnapshot,this.rootContexts)})),function(Je,Fe){return(0,fe.zg)(we=>{const{targetSnapshot:Mt,currentSnapshot:xe,guards:{canActivateChecks:ke,canDeactivateChecks:Te}}=we;return 0===Te.length&&0===ke.length?(0,h.of)(Object.assign(Object.assign({},we),{guardsResult:!0})):function(Je,Fe,we,Mt){return(0,a.D)(Je).pipe((0,fe.zg)(xe=>function(Je,Fe,we,Mt,xe){const ke=Fe&&Fe.routeConfig?Fe.routeConfig.canDeactivate:null;if(!ke||0===ke.length)return(0,h.of)(!0);const Te=ke.map(ge=>{const Re=as(ge,Fe,xe);let Be;if(function(Je){return Je&&oa(Je.canDeactivate)}(Re))Be=Kn(Re.canDeactivate(Je,Fe,we,Mt));else{if(!oa(Re))throw new Error("Invalid CanDeactivate guard");Be=Kn(Re(Je,Fe,we,Mt))}return Be.pipe((0,oe.P)())});return(0,h.of)(Te).pipe($r())}(xe.component,xe.route,we,Fe,Mt)),(0,oe.P)(xe=>!0!==xe,!0))}(Te,Mt,xe,Je).pipe((0,fe.zg)(ge=>ge&&function(Je){return"boolean"==typeof Je}(ge)?function(Je,Fe,we,Mt){return(0,a.D)(Fe).pipe((0,B.b)(xe=>(0,T.z)(function(Je,Fe){return null!==Je&&Fe&&Fe(new Qe(Je)),(0,h.of)(!0)}(xe.route.parent,Mt),function(Je,Fe){return null!==Je&&Fe&&Fe(new ae(Je)),(0,h.of)(!0)}(xe.route,Mt),function(Je,Fe,we){const Mt=Fe[Fe.length-1],ke=Fe.slice(0,Fe.length-1).reverse().map(Te=>function(Je){const Fe=Je.routeConfig?Je.routeConfig.canActivateChild:null;return Fe&&0!==Fe.length?{node:Je,guards:Fe}:null}(Te)).filter(Te=>null!==Te).map(Te=>u(()=>{const ge=Te.guards.map(Re=>{const Be=as(Re,Te.node,we);let xt;if(function(Je){return Je&&oa(Je.canActivateChild)}(Be))xt=Kn(Be.canActivateChild(Mt,Je));else{if(!oa(Be))throw new Error("Invalid CanActivateChild guard");xt=Kn(Be(Mt,Je))}return xt.pipe((0,oe.P)())});return(0,h.of)(ge).pipe($r())}));return(0,h.of)(ke).pipe($r())}(Je,xe.path,we),function(Je,Fe,we){const Mt=Fe.routeConfig?Fe.routeConfig.canActivate:null;if(!Mt||0===Mt.length)return(0,h.of)(!0);const xe=Mt.map(ke=>u(()=>{const Te=as(ke,Fe,we);let ge;if(function(Je){return Je&&oa(Je.canActivate)}(Te))ge=Kn(Te.canActivate(Fe,Je));else{if(!oa(Te))throw new Error("Invalid CanActivate guard");ge=Kn(Te(Fe,Je))}return ge.pipe((0,oe.P)())}));return(0,h.of)(xe).pipe($r())}(Je,xe.route,we))),(0,oe.P)(xe=>!0!==xe,!0))}(Mt,ke,Je,Fe):(0,h.of)(ge)),(0,j.U)(ge=>Object.assign(Object.assign({},we),{guardsResult:ge})))})}(this.ngModule.injector,ge=>this.triggerEvent(ge)),(0,ne.b)(ge=>{if(st(ge.guardsResult)){const Be=Ln(`Redirecting to "${this.serializeUrl(ge.guardsResult)}"`);throw Be.url=ge.guardsResult,Be}const Re=new Et(ge.id,this.serializeUrl(ge.extractedUrl),this.serializeUrl(ge.urlAfterRedirects),ge.targetSnapshot,!!ge.guardsResult);this.triggerEvent(Re)}),(0,I.h)(ge=>!!ge.guardsResult||(this.restoreHistory(ge),this.cancelNavigationTransition(ge,""),!1)),ni(ge=>{if(ge.guards.canActivateChecks.length)return(0,h.of)(ge).pipe((0,ne.b)(Re=>{const Be=new lt(Re.id,this.serializeUrl(Re.extractedUrl),this.serializeUrl(Re.urlAfterRedirects),Re.targetSnapshot);this.triggerEvent(Be)}),(0,H.w)(Re=>{let Be=!1;return(0,h.of)(Re).pipe(function(Je,Fe){return(0,fe.zg)(we=>{const{targetSnapshot:Mt,guards:{canActivateChecks:xe}}=we;if(!xe.length)return(0,h.of)(we);let ke=0;return(0,a.D)(xe).pipe((0,B.b)(Te=>function(Je,Fe,we,Mt){return function(Je,Fe,we,Mt){const xe=Object.keys(Je);if(0===xe.length)return(0,h.of)({});const ke={};return(0,a.D)(xe).pipe((0,fe.zg)(Te=>function(Je,Fe,we,Mt){const xe=as(Je,Fe,Mt);return Kn(xe.resolve?xe.resolve(Fe,we):xe(Fe,we))}(Je[Te],Fe,we,Mt).pipe((0,ne.b)(ge=>{ke[Te]=ge}))),(0,he.h)(1),(0,fe.zg)(()=>Object.keys(ke).length===xe.length?(0,h.of)(ke):l.E))}(Je._resolve,Je,Fe,Mt).pipe((0,j.U)(ke=>(Je._resolvedData=ke,Je.data=Object.assign(Object.assign({},Je.data),se(Je,we).resolve),null)))}(Te.route,Mt,Je,Fe)),(0,ne.b)(()=>ke++),(0,he.h)(1),(0,fe.zg)(Te=>ke===xe.length?(0,h.of)(we):l.E))})}(this.paramsInheritanceStrategy,this.ngModule.injector),(0,ne.b)({next:()=>Be=!0,complete:()=>{Be||(this.restoreHistory(Re),this.cancelNavigationTransition(Re,"At least one route resolver didn't emit any value."))}}))}),(0,ne.b)(Re=>{const Be=new nn(Re.id,this.serializeUrl(Re.extractedUrl),this.serializeUrl(Re.urlAfterRedirects),Re.targetSnapshot);this.triggerEvent(Be)}))}),ni(ge=>{const{targetSnapshot:Re,id:Be,extractedUrl:xt,rawUrl:Dt,extras:{skipLocationChange:en,replaceUrl:vn}}=ge;return this.hooks.afterPreactivation(Re,{navigationId:Be,appliedUrlTree:xt,rawUrlTree:Dt,skipLocationChange:!!en,replaceUrl:!!vn})}),(0,j.U)(ge=>{const Re=function(Je,Fe,we){const Mt=$t(Je,Fe._root,we?we._root:void 0);return new Oi(Mt,Fe)}(this.routeReuseStrategy,ge.targetSnapshot,ge.currentRouterState);return Object.assign(Object.assign({},ge),{targetRouterState:Re})}),(0,ne.b)(ge=>{this.currentUrlTree=ge.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(ge.urlAfterRedirects,ge.rawUrl),this.routerState=ge.targetRouterState,"deferred"===this.urlUpdateStrategy&&(ge.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,ge),this.browserUrlTree=ge.urlAfterRedirects)}),((Je,Fe,we)=>(0,j.U)(Mt=>(new ts(Fe,Mt.targetRouterState,Mt.currentRouterState,we).activate(Je),Mt)))(this.rootContexts,this.routeReuseStrategy,ge=>this.triggerEvent(ge)),(0,ne.b)({next(){ke=!0},complete(){ke=!0}}),(0,Ae.x)(()=>{var ge;if(!ke&&!Te){const Re=`Navigation ID ${xe.id} is not equal to the current navigation id ${this.navigationId}`;"replace"===this.canceledNavigationResolution?(this.restoreHistory(xe),this.cancelNavigationTransition(xe,Re)):this.cancelNavigationTransition(xe,Re)}(null===(ge=this.currentNavigation)||void 0===ge?void 0:ge.id)===xe.id&&(this.currentNavigation=null)}),(0,J.K)(ge=>{if(Te=!0,function(Je){return Je&&Je[ar]}(ge)){const Re=st(ge.url);Re||(this.navigated=!0,this.restoreHistory(xe,!0));const Be=new He(xe.id,this.serializeUrl(xe.extractedUrl),ge.message);Mt.next(Be),Re?setTimeout(()=>{const xt=this.urlHandlingStrategy.merge(ge.url,this.rawUrlTree),Dt={skipLocationChange:xe.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||pi(xe.source)};this.scheduleNavigation(xt,"imperative",null,Dt,{resolve:xe.resolve,reject:xe.reject,promise:xe.promise})},0):xe.resolve(!1)}else{this.restoreHistory(xe,!0);const Re=new $e(xe.id,this.serializeUrl(xe.extractedUrl),ge);Mt.next(Re);try{xe.resolve(this.errorHandler(ge))}catch(Be){xe.reject(Be)}}return l.E}))}))}resetRootComponentType(we){this.rootComponentType=we,this.routerState.root.component=this.rootComponentType}getTransition(){const we=this.transitions.value;return we.urlAfterRedirects=this.browserUrlTree,we}setTransition(we){this.transitions.next(Object.assign(Object.assign({},this.getTransition()),we))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(we=>{const Mt=this.extractLocationChangeInfoFromEvent(we);this.shouldScheduleNavigation(this.lastLocationChangeInfo,Mt)&&setTimeout(()=>{const{source:xe,state:ke,urlTree:Te}=Mt,ge={replaceUrl:!0};if(ke){const Re=Object.assign({},ke);delete Re.navigationId,delete Re.\u0275routerPageId,0!==Object.keys(Re).length&&(ge.state=Re)}this.scheduleNavigation(Te,xe,ke,ge)},0),this.lastLocationChangeInfo=Mt}))}extractLocationChangeInfoFromEvent(we){var Mt;return{source:"popstate"===we.type?"popstate":"hashchange",urlTree:this.parseUrl(we.url),state:(null===(Mt=we.state)||void 0===Mt?void 0:Mt.navigationId)?we.state:null,transitionId:this.getTransition().id}}shouldScheduleNavigation(we,Mt){if(!we)return!0;const xe=Mt.urlTree.toString()===we.urlTree.toString();return Mt.transitionId!==we.transitionId||!xe||!("hashchange"===Mt.source&&"popstate"===we.source||"popstate"===Mt.source&&"hashchange"===we.source)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(we){this.events.next(we)}resetConfig(we){Ri(we),this.config=we.map(Hi),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(we,Mt={}){const{relativeTo:xe,queryParams:ke,fragment:Te,queryParamsHandling:ge,preserveFragment:Re}=Mt,Be=xe||this.routerState.root,xt=Re?this.currentUrlTree.fragment:Te;let Dt=null;switch(ge){case"merge":Dt=Object.assign(Object.assign({},this.currentUrlTree.queryParams),ke);break;case"preserve":Dt=this.currentUrlTree.queryParams;break;default:Dt=ke||null}return null!==Dt&&(Dt=this.removeEmptyProps(Dt)),function(Je,Fe,we,Mt,xe){if(0===we.length)return Jr(Fe.root,Fe.root,Fe,Mt,xe);const ke=function(Je){if("string"==typeof Je[0]&&1===Je.length&&"/"===Je[0])return new fi(!0,0,Je);let Fe=0,we=!1;const Mt=Je.reduce((xe,ke,Te)=>{if("object"==typeof ke&&null!=ke){if(ke.outlets){const ge={};return dn(ke.outlets,(Re,Be)=>{ge[Be]="string"==typeof Re?Re.split("/"):Re}),[...xe,{outlets:ge}]}if(ke.segmentPath)return[...xe,ke.segmentPath]}return"string"!=typeof ke?[...xe,ke]:0===Te?(ke.split("/").forEach((ge,Re)=>{0==Re&&"."===ge||(0==Re&&""===ge?we=!0:".."===ge?Fe++:""!=ge&&xe.push(ge))}),xe):[...xe,ke]},[]);return new fi(we,Fe,Mt)}(we);if(ke.toRoot())return Jr(Fe.root,new Tt([],{}),Fe,Mt,xe);const Te=function(Je,Fe,we){if(Je.isAbsolute)return new wi(Fe.root,!0,0);if(-1===we.snapshot._lastPathIndex){const ke=we.snapshot._urlSegment;return new wi(ke,ke===Fe.root,0)}const Mt=ai(Je.commands[0])?0:1;return function(Je,Fe,we){let Mt=Je,xe=Fe,ke=we;for(;ke>xe;){if(ke-=xe,Mt=Mt.parent,!Mt)throw new Error("Invalid number of '../'");xe=Mt.segments.length}return new wi(Mt,!1,xe-ke)}(we.snapshot._urlSegment,we.snapshot._lastPathIndex+Mt,Je.numberOfDoubleDots)}(ke,Fe,Je),ge=Te.processChildren?Wi(Te.segmentGroup,Te.index,ke.commands):qi(Te.segmentGroup,Te.index,ke.commands);return Jr(Te.segmentGroup,ge,Fe,Mt,xe)}(Be,this.currentUrlTree,we,Dt,null!=xt?xt:null)}navigateByUrl(we,Mt={skipLocationChange:!1}){const xe=st(we)?we:this.parseUrl(we),ke=this.urlHandlingStrategy.merge(xe,this.rawUrlTree);return this.scheduleNavigation(ke,"imperative",null,Mt)}navigate(we,Mt={skipLocationChange:!1}){return function(Je){for(let Fe=0;Fe<Je.length;Fe++){const we=Je[Fe];if(null==we)throw new Error(`The requested path contains ${we} segment at index ${Fe}`)}}(we),this.navigateByUrl(this.createUrlTree(we,Mt),Mt)}serializeUrl(we){return this.urlSerializer.serialize(we)}parseUrl(we){let Mt;try{Mt=this.urlSerializer.parse(we)}catch(xe){Mt=this.malformedUriErrorHandler(xe,this.urlSerializer,we)}return Mt}isActive(we,Mt){let xe;if(xe=!0===Mt?Object.assign({},Bt):!1===Mt?Object.assign({},In):Mt,st(we))return En(this.currentUrlTree,we,xe);const ke=this.parseUrl(we);return En(this.currentUrlTree,ke,xe)}removeEmptyProps(we){return Object.keys(we).reduce((Mt,xe)=>{const ke=we[xe];return null!=ke&&(Mt[xe]=ke),Mt},{})}processNavigations(){this.navigations.subscribe(we=>{this.navigated=!0,this.lastSuccessfulId=we.id,this.currentPageId=we.targetPageId,this.events.next(new ue(we.id,this.serializeUrl(we.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,we.resolve(!0)},we=>{this.console.warn(`Unhandled Navigation Error: ${we}`)})}scheduleNavigation(we,Mt,xe,ke,Te){var ge,Re;if(this.disposed)return Promise.resolve(!1);const Be=this.getTransition(),xt=pi(Mt)&&Be&&!pi(Be.source),vn=(this.lastSuccessfulId===Be.id||this.currentNavigation?Be.rawUrl:Be.urlAfterRedirects).toString()===we.toString();if(xt&&vn)return Promise.resolve(!0);let Gn,kn,zn;Te?(Gn=Te.resolve,kn=Te.reject,zn=Te.promise):zn=new Promise((Gr,ci)=>{Gn=Gr,kn=ci});const jr=++this.navigationId;let kr;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(xe=this.location.getState()),kr=xe&&xe.\u0275routerPageId?xe.\u0275routerPageId:ke.replaceUrl||ke.skipLocationChange?null!==(ge=this.browserPageId)&&void 0!==ge?ge:0:(null!==(Re=this.browserPageId)&&void 0!==Re?Re:0)+1):kr=0,this.setTransition({id:jr,targetPageId:kr,source:Mt,restoredState:xe,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:we,extras:ke,resolve:Gn,reject:kn,promise:zn,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),zn.catch(Gr=>Promise.reject(Gr))}setBrowserUrl(we,Mt){const xe=this.urlSerializer.serialize(we),ke=Object.assign(Object.assign({},Mt.extras.state),this.generateNgRouterState(Mt.id,Mt.targetPageId));this.location.isCurrentPathEqualTo(xe)||Mt.extras.replaceUrl?this.location.replaceState(xe,"",ke):this.location.go(xe,"",ke)}restoreHistory(we,Mt=!1){var xe,ke;if("computed"===this.canceledNavigationResolution){const Te=this.currentPageId-we.targetPageId;"popstate"!==we.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(xe=this.currentNavigation)||void 0===xe?void 0:xe.finalUrl)||0===Te?this.currentUrlTree===(null===(ke=this.currentNavigation)||void 0===ke?void 0:ke.finalUrl)&&0===Te&&(this.resetState(we),this.browserUrlTree=we.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(Te)}else"replace"===this.canceledNavigationResolution&&(Mt&&this.resetState(we),this.resetUrlToCurrentUrlTree())}resetState(we){this.routerState=we.currentRouterState,this.currentUrlTree=we.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,we.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(we,Mt){const xe=new He(we.id,this.serializeUrl(we.extractedUrl),Mt);this.triggerEvent(xe),we.resolve(!1)}generateNgRouterState(we,Mt){return"computed"===this.canceledNavigationResolution?{navigationId:we,\u0275routerPageId:Mt}:{navigationId:we}}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(e.DyG),e.LFG(Qn),e.LFG(hi),e.LFG(t.Ye),e.LFG(e.zs3),e.LFG(e.v3s),e.LFG(e.Sil),e.LFG(void 0))},Je.\u0275prov=e.Yz7({token:Je,factory:Je.\u0275fac}),Je})();function pi(Je){return"imperative"!==Je}let Fr=(()=>{class Je{constructor(we,Mt,xe,ke,Te){this.router=we,this.route=Mt,this.commands=[],this.onChanges=new R.xQ,null==xe&&ke.setAttribute(Te.nativeElement,"tabindex","0")}ngOnChanges(we){this.onChanges.next(this)}set routerLink(we){this.commands=null!=we?Array.isArray(we)?we:[we]:[]}onClick(){const we={skipLocationChange:Un(this.skipLocationChange),replaceUrl:Un(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,we),!0}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Un(this.preserveFragment)})}}return Je.\u0275fac=function(we){return new(we||Je)(e.Y36(Xn),e.Y36(di),e.$8M("tabindex"),e.Y36(e.Qsj),e.Y36(e.SBq))},Je.\u0275dir=e.lG2({type:Je,selectors:[["","routerLink","",5,"a",5,"area"]],hostBindings:function(we,Mt){1&we&&e.NdJ("click",function(){return Mt.onClick()})},inputs:{routerLink:"routerLink",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[e.TTD]}),Je})(),zr=(()=>{class Je{constructor(we,Mt,xe){this.router=we,this.route=Mt,this.locationStrategy=xe,this.commands=[],this.onChanges=new R.xQ,this.subscription=we.events.subscribe(ke=>{ke instanceof ue&&this.updateTargetUrlAndHref()})}set routerLink(we){this.commands=null!=we?Array.isArray(we)?we:[we]:[]}ngOnChanges(we){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(we,Mt,xe,ke,Te){if(0!==we||Mt||xe||ke||Te||"string"==typeof this.target&&"_self"!=this.target)return!0;const ge={skipLocationChange:Un(this.skipLocationChange),replaceUrl:Un(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,ge),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Un(this.preserveFragment)})}}return Je.\u0275fac=function(we){return new(we||Je)(e.Y36(Xn),e.Y36(di),e.Y36(t.S$))},Je.\u0275dir=e.lG2({type:Je,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(we,Mt){1&we&&e.NdJ("click",function(ke){return Mt.onClick(ke.button,ke.ctrlKey,ke.shiftKey,ke.altKey,ke.metaKey)}),2&we&&(e.Ikx("href",Mt.href,e.LSH),e.uIk("target",Mt.target))},inputs:{routerLink:"routerLink",target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[e.TTD]}),Je})();function Un(Je){return""===Je||!!Je}let lr=(()=>{class Je{constructor(we,Mt,xe,ke,Te,ge){this.router=we,this.element=Mt,this.renderer=xe,this.cdr=ke,this.link=Te,this.linkWithHref=ge,this.classes=[],this.isActive=!1,this.routerLinkActiveOptions={exact:!1},this.routerEventsSubscription=we.events.subscribe(Re=>{Re instanceof ue&&this.update()})}ngAfterContentInit(){(0,h.of)(this.links.changes,this.linksWithHrefs.changes,(0,h.of)(null)).pipe((0,Se.J)()).subscribe(we=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){var we;null===(we=this.linkInputChangesSubscription)||void 0===we||we.unsubscribe();const Mt=[...this.links.toArray(),...this.linksWithHrefs.toArray(),this.link,this.linkWithHref].filter(xe=>!!xe).map(xe=>xe.onChanges);this.linkInputChangesSubscription=(0,a.D)(Mt).pipe((0,Se.J)()).subscribe(xe=>{this.isActive!==this.isLinkActive(this.router)(xe)&&this.update()})}set routerLinkActive(we){const Mt=Array.isArray(we)?we:we.split(" ");this.classes=Mt.filter(xe=>!!xe)}ngOnChanges(we){this.update()}ngOnDestroy(){var we;this.routerEventsSubscription.unsubscribe(),null===(we=this.linkInputChangesSubscription)||void 0===we||we.unsubscribe()}update(){!this.links||!this.linksWithHrefs||!this.router.navigated||Promise.resolve().then(()=>{const we=this.hasActiveLinks();this.isActive!==we&&(this.isActive=we,this.cdr.markForCheck(),this.classes.forEach(Mt=>{we?this.renderer.addClass(this.element.nativeElement,Mt):this.renderer.removeClass(this.element.nativeElement,Mt)}))})}isLinkActive(we){const Mt=function(Je){return!!Je.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return xe=>we.isActive(xe.urlTree,Mt)}hasActiveLinks(){const we=this.isLinkActive(this.router);return this.link&&we(this.link)||this.linkWithHref&&we(this.linkWithHref)||this.links.some(we)||this.linksWithHrefs.some(we)}}return Je.\u0275fac=function(we){return new(we||Je)(e.Y36(Xn),e.Y36(e.SBq),e.Y36(e.Qsj),e.Y36(e.sBO),e.Y36(Fr,8),e.Y36(zr,8))},Je.\u0275dir=e.lG2({type:Je,selectors:[["","routerLinkActive",""]],contentQueries:function(we,Mt,xe){if(1&we&&(e.Suo(xe,Fr,5),e.Suo(xe,zr,5)),2&we){let ke;e.iGM(ke=e.CRH())&&(Mt.links=ke),e.iGM(ke=e.CRH())&&(Mt.linksWithHrefs=ke)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",routerLinkActive:"routerLinkActive"},exportAs:["routerLinkActive"],features:[e.TTD]}),Je})(),li=(()=>{class Je{constructor(we,Mt,xe,ke,Te){this.parentContexts=we,this.location=Mt,this.resolver=xe,this.changeDetector=Te,this.activated=null,this._activatedRoute=null,this.activateEvents=new e.vpe,this.deactivateEvents=new e.vpe,this.name=ke||Jt,we.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const we=this.parentContexts.getContext(this.name);we&&we.route&&(we.attachRef?this.attach(we.attachRef,we.route):this.activateWith(we.route,we.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const we=this.activated;return this.activated=null,this._activatedRoute=null,we}attach(we,Mt){this.activated=we,this._activatedRoute=Mt,this.location.insert(we.hostView)}deactivate(){if(this.activated){const we=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(we)}}activateWith(we,Mt){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=we;const Te=(Mt=Mt||this.resolver).resolveComponentFactory(we._futureSnapshot.routeConfig.component),ge=this.parentContexts.getOrCreateContext(this.name).children,Re=new Ti(we,ge,this.location.injector);this.activated=this.location.createComponent(Te,this.location.length,Re),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return Je.\u0275fac=function(we){return new(we||Je)(e.Y36(hi),e.Y36(e.s_b),e.Y36(e._Vd),e.$8M("name"),e.Y36(e.sBO))},Je.\u0275dir=e.lG2({type:Je,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate"},exportAs:["outlet"]}),Je})();class Ti{constructor(Fe,we,Mt){this.route=Fe,this.childContexts=we,this.parent=Mt}get(Fe,we){return Fe===di?this.route:Fe===hi?this.childContexts:this.parent.get(Fe,we)}}class Oo{}class es{preload(Fe,we){return we().pipe((0,J.K)(()=>(0,h.of)(null)))}}class jo{preload(Fe,we){return(0,h.of)(null)}}let uo=(()=>{class Je{constructor(we,Mt,xe,ke,Te){this.router=we,this.injector=ke,this.preloadingStrategy=Te,this.loader=new mo(Mt,xe,Be=>we.triggerEvent(new St(Be)),Be=>we.triggerEvent(new Ot(Be)))}setUpPreloading(){this.subscription=this.router.events.pipe((0,I.h)(we=>we instanceof ue),(0,B.b)(()=>this.preload())).subscribe(()=>{})}preload(){const we=this.injector.get(e.h0i);return this.processRoutes(we,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(we,Mt){const xe=[];for(const ke of Mt)if(ke.loadChildren&&!ke.canLoad&&ke._loadedConfig){const Te=ke._loadedConfig;xe.push(this.processRoutes(Te.module,Te.routes))}else ke.loadChildren&&!ke.canLoad?xe.push(this.preloadConfig(we,ke)):ke.children&&xe.push(this.processRoutes(we,ke.children));return(0,a.D)(xe).pipe((0,Se.J)(),(0,j.U)(ke=>{}))}preloadConfig(we,Mt){return this.preloadingStrategy.preload(Mt,()=>(Mt._loadedConfig?(0,h.of)(Mt._loadedConfig):this.loader.load(we.injector,Mt)).pipe((0,fe.zg)(ke=>(Mt._loadedConfig=ke,this.processRoutes(ke.module,ke.routes)))))}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(Xn),e.LFG(e.v3s),e.LFG(e.Sil),e.LFG(e.zs3),e.LFG(Oo))},Je.\u0275prov=e.Yz7({token:Je,factory:Je.\u0275fac}),Je})(),Ki=(()=>{class Je{constructor(we,Mt,xe={}){this.router=we,this.viewportScroller=Mt,this.options=xe,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},xe.scrollPositionRestoration=xe.scrollPositionRestoration||"disabled",xe.anchorScrolling=xe.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(we=>{we instanceof be?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=we.navigationTrigger,this.restoredId=we.restoredState?we.restoredState.navigationId:0):we instanceof ue&&(this.lastId=we.id,this.scheduleScrollEvent(we,this.router.parseUrl(we.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(we=>{we instanceof dt&&(we.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(we.position):we.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(we.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(we,Mt){this.router.triggerEvent(new dt(we,"popstate"===this.lastSource?this.store[this.restoredId]:null,Mt))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(Xn),e.LFG(t.EM),e.LFG(void 0))},Je.\u0275prov=e.Yz7({token:Je,factory:Je.\u0275fac}),Je})();const Yi=new e.OlP("ROUTER_CONFIGURATION"),na=new e.OlP("ROUTER_FORROOT_GUARD"),gl=[t.Ye,{provide:Qn,useClass:Ir},{provide:Xn,useFactory:function(Je,Fe,we,Mt,xe,ke,Te,ge={},Re,Be){const xt=new Xn(null,Je,Fe,we,Mt,xe,ke,Yn(Te));return Re&&(xt.urlHandlingStrategy=Re),Be&&(xt.routeReuseStrategy=Be),function(Je,Fe){Je.errorHandler&&(Fe.errorHandler=Je.errorHandler),Je.malformedUriErrorHandler&&(Fe.malformedUriErrorHandler=Je.malformedUriErrorHandler),Je.onSameUrlNavigation&&(Fe.onSameUrlNavigation=Je.onSameUrlNavigation),Je.paramsInheritanceStrategy&&(Fe.paramsInheritanceStrategy=Je.paramsInheritanceStrategy),Je.relativeLinkResolution&&(Fe.relativeLinkResolution=Je.relativeLinkResolution),Je.urlUpdateStrategy&&(Fe.urlUpdateStrategy=Je.urlUpdateStrategy)}(ge,xt),ge.enableTracing&&xt.events.subscribe(Dt=>{var en,vn;null===(en=console.group)||void 0===en||en.call(console,`Router Event: ${Dt.constructor.name}`),console.log(Dt.toString()),console.log(Dt),null===(vn=console.groupEnd)||void 0===vn||vn.call(console)}),xt},deps:[Qn,hi,t.Ye,e.zs3,e.v3s,e.Sil,ro,Yi,[class{},new e.FiY],[class{},new e.FiY]]},hi,{provide:di,useFactory:function(Je){return Je.routerState.root},deps:[Xn]},{provide:e.v3s,useClass:e.EAV},uo,jo,es,{provide:Yi,useValue:{enableTracing:!1}}];function Hn(){return new e.PXZ("Router",Xn)}let Ts=(()=>{class Je{constructor(we,Mt){}static forRoot(we,Mt){return{ngModule:Je,providers:[gl,Ds(we),{provide:na,useFactory:vo,deps:[[Xn,new e.FiY,new e.tp0]]},{provide:Yi,useValue:Mt||{}},{provide:t.S$,useFactory:Hl,deps:[t.lw,[new e.tBr(t.mr),new e.FiY],Yi]},{provide:Ki,useFactory:Ll,deps:[Xn,t.EM,Yi]},{provide:Oo,useExisting:Mt&&Mt.preloadingStrategy?Mt.preloadingStrategy:jo},{provide:e.PXZ,multi:!0,useFactory:Hn},[Fl,{provide:e.ip1,multi:!0,useFactory:Cl,deps:[Fl]},{provide:kl,useFactory:ql,deps:[Fl]},{provide:e.tb,multi:!0,useExisting:kl}]]}}static forChild(we){return{ngModule:Je,providers:[Ds(we)]}}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(na,8),e.LFG(Xn,8))},Je.\u0275mod=e.oAB({type:Je}),Je.\u0275inj=e.cJS({}),Je})();function Ll(Je,Fe,we){return we.scrollOffset&&Fe.setOffset(we.scrollOffset),new Ki(Je,Fe,we)}function Hl(Je,Fe,we={}){return we.useHash?new t.Do(Je,Fe):new t.b0(Je,Fe)}function vo(Je){return"guarded"}function Ds(Je){return[{provide:e.deG,multi:!0,useValue:Je},{provide:ro,multi:!0,useValue:Je}]}let Fl=(()=>{class Je{constructor(we){this.injector=we,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new R.xQ}appInitializer(){return this.injector.get(t.V_,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let Mt=null;const xe=new Promise(ge=>Mt=ge),ke=this.injector.get(Xn),Te=this.injector.get(Yi);return"disabled"===Te.initialNavigation?(ke.setUpLocationChangeListener(),Mt(!0)):"enabled"===Te.initialNavigation||"enabledBlocking"===Te.initialNavigation?(ke.hooks.afterPreactivation=()=>this.initNavigation?(0,h.of)(null):(this.initNavigation=!0,Mt(!0),this.resultOfPreactivationDone),ke.initialNavigation()):Mt(!0),xe})}bootstrapListener(we){const Mt=this.injector.get(Yi),xe=this.injector.get(uo),ke=this.injector.get(Ki),Te=this.injector.get(Xn),ge=this.injector.get(e.z2F);we===ge.components[0]&&(("enabledNonBlocking"===Mt.initialNavigation||void 0===Mt.initialNavigation)&&Te.initialNavigation(),xe.setUpPreloading(),ke.init(),Te.resetRootComponentType(ge.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(e.zs3))},Je.\u0275prov=e.Yz7({token:Je,factory:Je.\u0275fac}),Je})();function Cl(Je){return Je.appInitializer.bind(Je)}function ql(Je){return Je.bootstrapListener.bind(Je)}const kl=new e.OlP("Router Initializer")},20356:(Ge,g,o)=>{"use strict";o.d(g,{iM:()=>Hu,qr:()=>Dh,xc:()=>Rp});var t=o(74788),e=o(12057),s=function(P,W){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,Ee){Z.__proto__=Ee}||function(Z,Ee){for(var At in Ee)Ee.hasOwnProperty(At)&&(Z[At]=Ee[At])})(P,W)};function a(P,W){function Z(){this.constructor=P}s(P,W),P.prototype=null===W?Object.create(W):(Z.prototype=W.prototype,new Z)}var l=function(){return(l=Object.assign||function(W){for(var Z,Ee=1,At=arguments.length;Ee<At;Ee++)for(var cn in Z=arguments[Ee])Object.prototype.hasOwnProperty.call(Z,cn)&&(W[cn]=Z[cn]);return W}).apply(this,arguments)};function u(P,W){var Z="function"==typeof Symbol&&P[Symbol.iterator];if(!Z)return P;var At,hr,Ee=Z.call(P),cn=[];try{for(;(void 0===W||W-- >0)&&!(At=Ee.next()).done;)cn.push(At.value)}catch(Rr){hr={error:Rr}}finally{try{At&&!At.done&&(Z=Ee.return)&&Z.call(Ee)}finally{if(hr)throw hr.error}}return cn}function h(){for(var P=[],W=0;W<arguments.length;W++)P=P.concat(u(arguments[W]));return P}var m=[];Object.freeze(m);var b={};Object.freeze(b);var T={};function D(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:T}function R(){return++Ct.mobxGuid}function j(P){throw H(!1,P),"X"}function H(P,W){if(!P)throw new Error("[mobx] "+(W||"An invariant failed, however the error is obfuscated because this is an production build."))}function M(P){var W=!1;return function(){if(!W)return W=!0,P.apply(this,arguments)}}var I=function(){};function B(P){return null!==P&&"object"==typeof P}function ie(P){if(null===P||"object"!=typeof P)return!1;var W=Object.getPrototypeOf(P);return W===Object.prototype||null===W}function ne(P,W,Z){Object.defineProperty(P,W,{enumerable:!1,writable:!0,configurable:!0,value:Z})}function he(P,W,Z){Object.defineProperty(P,W,{enumerable:!1,writable:!1,configurable:!0,value:Z})}function Se(P,W){var Z="isMobX"+P;return W.prototype[Z]=!0,function(Ee){return B(Ee)&&!0===Ee[Z]}}function ue(P){return void 0!==D().Map&&P instanceof D().Map}function He(P){return P instanceof Set}function $e(P){for(var W=[];;){var Z=P.next();if(Z.done)break;W.push(Z.value)}return W}function F(){return"function"==typeof Symbol&&Symbol.toPrimitive||"@@toPrimitive"}function je(P){return null===P?null:"object"==typeof P?""+P:P}function Et(){return"function"==typeof Symbol&&Symbol.iterator||"@@iterator"}function lt(P,W){he(P,Et(),W)}function nn(P){return P[Et()]=Ot,P}function St(){return"function"==typeof Symbol&&Symbol.toStringTag||"@@toStringTag"}function Ot(){return this}var Qe=function(){function P(W){void 0===W&&(W="Atom@"+R()),this.name=W,this.isPendingUnobservation=!1,this.isBeingObserved=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=hn.NOT_TRACKING}return P.prototype.onBecomeUnobserved=function(){},P.prototype.onBecomeObserved=function(){},P.prototype.reportObserved=function(){return Jr(this)},P.prototype.reportChanged=function(){ai(),function(P){if(P.lowestObserverState!==hn.STALE){P.lowestObserverState=hn.STALE;for(var W=P.observers,Z=W.length;Z--;){var Ee=W[Z];Ee.dependenciesState===hn.UP_TO_DATE&&(Ee.isTracing!==Qn.NONE&&wi(Ee,P),Ee.onBecomeStale()),Ee.dependenciesState=hn.STALE}}}(this),Dr()},P.prototype.toString=function(){return this.name},P}(),It=Se("Atom",Qe);function Ie(P,W){return P===W}var ln={identity:Ie,structural:function(P,W){return es(P,W)},default:function(P,W){return function(P,W){return"number"==typeof P&&"number"==typeof W&&isNaN(P)&&isNaN(W)}(P,W)||Ie(P,W)},shallow:function(P,W){return es(P,W,1)}},ar={},Ln={};function Rn(P,W){var Z=W?ar:Ln;return Z[P]||(Z[P]={configurable:!0,enumerable:W,get:function(){return er(this),this[P]},set:function(Ee){er(this),this[P]=Ee}})}function er(P){if(!0!==P.__mobxDidRunLazyInitializers){var W=P.__mobxDecorators;if(W)for(var Z in ne(P,"__mobxDidRunLazyInitializers",!0),W){var Ee=W[Z];Ee.propertyCreator(P,Ee.prop,Ee.descriptor,Ee.decoratorTarget,Ee.decoratorArguments)}}}function Mn(P,W){return function(){var Ee,At=function(hr,Rr,ui,Eo){return!0===Eo?(W(hr,Rr,ui,hr,Ee),null):(Object.prototype.hasOwnProperty.call(hr,"__mobxDecorators")||ne(hr,"__mobxDecorators",l({},hr.__mobxDecorators)),hr.__mobxDecorators[Rr]={prop:Rr,propertyCreator:W,descriptor:ui,decoratorTarget:hr,decoratorArguments:Ee},Rn(Rr,P))};return Ht(arguments)?(Ee=m,At.apply(null,arguments)):(Ee=Array.prototype.slice.call(arguments),At)}}function Ht(P){return(2===P.length||3===P.length)&&"string"==typeof P[1]||4===P.length&&!0===P[3]}function tr(P,W,Z){return Ne(P)?P:Array.isArray(P)?mt.array(P,{name:Z}):ie(P)?mt.object(P,void 0,{name:Z}):ue(P)?mt.map(P,{name:Z}):He(P)?mt.set(P,{name:Z}):P}function Cn(P){return P}function dn(P){var W=Mn(!0,function(Ee,At,cn,hr,Rr){!function(P,W,Z,Ee){var At=ft(P);if(Di(At)){var cn=pa(At,{object:P,name:W,type:"add",newValue:Z});if(!cn)return;Z=cn.newValue}Z=(At.values[W]=new Xr(Z,Ee,At.name+"."+W,!1)).value,Object.defineProperty(P,W,function(P){return In[P]||(In[P]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.read(this,P)},set:function(W){this.$mobx.write(this,P,W)}})}(W)),At.keys&&At.keys.push(W),function(P,W,Z,Ee){var At=Vo(P),cn=Bo(),hr=At||cn?{type:"add",object:W,name:Z,newValue:Ee}:null;cn&&ts(l({},hr,{name:P.name,key:Z})),At&&_s(P,hr),cn&&ds()}(At,P,W,Z)}(Ee,At,cn?cn.initializer?cn.initializer.call(Ee):cn.value:void 0,P)}),Z=("undefined"!=typeof process&&process,W);return Z.enhancer=P,Z}var Kn={deep:!0,name:void 0,defaultDecorator:void 0};function $n(P){return null==P?Kn:"string"==typeof P?{name:P,deep:!0}:P}function En(P){return P.defaultDecorator?P.defaultDecorator.enhancer:!1===P.deep?Cn:tr}Object.freeze(Kn),Object.freeze({deep:!1,name:void 0,defaultDecorator:void 0});var Fn=dn(tr),Dn=dn(function(P,W,Z){return null==P||lr(P)||bi(P)||Bi(P)||G(P)?P:Array.isArray(P)?mt.array(P,{name:Z,deep:!1}):ie(P)?mt.object(P,void 0,{name:Z,deep:!1}):ue(P)?mt.map(P,{name:Z,deep:!1}):He(P)?mt.set(P,{name:Z,deep:!1}):j(!1)}),mn=dn(Cn),jn=dn(function(P,W,Z){return es(P,W)?W:P}),ut={box:function(P,W){arguments.length>2&&Tt("box");var Z=$n(W);return new Xr(P,En(Z),Z.name,!0,Z.equals)},shallowBox:function(P,W){return arguments.length>2&&Tt("shallowBox"),mt.box(P,{name:W,deep:!1})},array:function(P,W){arguments.length>2&&Tt("array");var Z=$n(W);return new xr(P,En(Z),Z.name)},shallowArray:function(P,W){return arguments.length>2&&Tt("shallowArray"),mt.array(P,{name:W,deep:!1})},map:function(P,W){arguments.length>2&&Tt("map");var Z=$n(W);return new ro(P,En(Z),Z.name)},shallowMap:function(P,W){return arguments.length>2&&Tt("shallowMap"),mt.map(P,{name:W,deep:!1})},set:function(P,W){arguments.length>2&&Tt("set");var Z=$n(W);return new Br(P,En(Z),Z.name)},object:function(P,W,Z){"string"==typeof arguments[1]&&Tt("object");var Ee=$n(Z);return Ra({},P,W,Ee)},shallowObject:function(P,W){return"string"==typeof arguments[1]&&Tt("shallowObject"),mt.object(P,{},{name:W,deep:!1})},ref:mn,shallow:Dn,deep:Fn,struct:jn},mt=function(P,W,Z){if("string"==typeof arguments[1])return Fn.apply(null,arguments);if(Ne(P))return P;var Ee=ie(P)?mt.object(P,W,Z):Array.isArray(P)?mt.array(P,W):ue(P)?mt.map(P,W):He(P)?mt.set(P,W):P;if(Ee!==P)return Ee;j(!1)};function Tt(P){j("Expected one or two arguments to observable."+P+". Did you accidentally try to use observable."+P+" as decorator?")}Object.keys(ut).forEach(function(P){return mt[P]=ut[P]});var yn=Mn(!1,function(P,W,Z,Ee,At){!function(P,W,Z){var Ee=ft(P);Z.name=Ee.name+"."+W,Z.context=P,Ee.values[W]=new di(Z),Object.defineProperty(P,W,function(P){return Xn[P]||(Xn[P]={configurable:Ct.computedConfigurable,enumerable:!1,get:function(){return pi(this).read(this,P)},set:function(W){pi(this).write(this,P,W)}})}(W))}(P,W,l({get:Z.get,set:Z.set},At[0]||{}))}),et=yn({equals:ln.structural}),jt=function(W,Z,Ee){if("string"==typeof Z||null!==W&&"object"==typeof W&&1===arguments.length)return yn.apply(null,arguments);var At="object"==typeof Z?Z:{};return At.get=W,At.set="function"==typeof Z?Z:At.set,At.name=At.name||W.name||"",new di(At)};jt.struct=et;var hn=(()=>{return(P=hn||(hn={}))[P.NOT_TRACKING=-1]="NOT_TRACKING",P[P.UP_TO_DATE=0]="UP_TO_DATE",P[P.POSSIBLY_STALE=1]="POSSIBLY_STALE",P[P.STALE=2]="STALE",hn;var P})(),Qn=(()=>{return(P=Qn||(Qn={}))[P.NONE=0]="NONE",P[P.LOG=1]="LOG",P[P.BREAK=2]="BREAK",Qn;var P})(),Ir=function(W){this.cause=W};function ht(P){return P instanceof Ir}function L(P){switch(P.dependenciesState){case hn.UP_TO_DATE:return!1;case hn.NOT_TRACKING:case hn.STALE:return!0;case hn.POSSIBLY_STALE:for(var W=sn(),Z=P.observing,Ee=Z.length,At=0;At<Ee;At++){var cn=Z[At];if(se(cn)){if(Ct.disableErrorBoundaries)cn.get();else try{cn.get()}catch(hr){return An(W),!0}if(P.dependenciesState===hn.STALE)return An(W),!0}}return mr(P),An(W),!1}}function nt(P){var W=P.observers.length>0;Ct.computationDepth>0&&W&&j(!1),!Ct.allowStateChanges&&(W||"strict"===Ct.enforceActions)&&j(!1)}function it(P,W,Z){var Ee=Bn(!0);mr(P),P.newObserving=new Array(P.observing.length+100),P.unboundDepsCount=0,P.runId=++Ct.runId;var cn,At=Ct.trackingDerivation;if(Ct.trackingDerivation=P,!0===Ct.disableErrorBoundaries)cn=W.call(Z);else try{cn=W.call(Z)}catch(hr){cn=new Ir(hr)}return Ct.trackingDerivation=At,function(P){for(var W=P.observing,Z=P.observing=P.newObserving,Ee=hn.UP_TO_DATE,At=0,cn=P.unboundDepsCount,hr=0;hr<cn;hr++)0===(Rr=Z[hr]).diffValue&&(Rr.diffValue=1,At!==hr&&(Z[At]=Rr),At++),Rr.dependenciesState>Ee&&(Ee=Rr.dependenciesState);for(Z.length=At,P.newObserving=null,cn=W.length;cn--;)0===(Rr=W[cn]).diffValue&&Vr(Rr,P),Rr.diffValue=0;for(;At--;){var Rr;1===(Rr=Z[At]).diffValue&&(Rr.diffValue=0,Vn(Rr,P))}Ee!==hn.UP_TO_DATE&&(P.dependenciesState=Ee,P.onBecomeStale())}(P),ir(Ee),cn}function ot(P){var W=P.observing;P.observing=[];for(var Z=W.length;Z--;)Vr(W[Z],P);P.dependenciesState=hn.NOT_TRACKING}function Nn(P){var W=sn(),Z=P();return An(W),Z}function sn(){var P=Ct.trackingDerivation;return Ct.trackingDerivation=null,P}function An(P){Ct.trackingDerivation=P}function Bn(P){var W=Ct.allowStateReads;return Ct.allowStateReads=P,W}function ir(P){Ct.allowStateReads=P}function mr(P){if(P.dependenciesState!==hn.UP_TO_DATE){P.dependenciesState=hn.UP_TO_DATE;for(var W=P.observing,Z=W.length;Z--;)W[Z].lowestObserverState=hn.UP_TO_DATE}}var _r=0,Nr=1;function br(P,W){var Z=function(){return Jn(P,W,this,arguments)};return Z.isMobxAction=!0,Z}function Jn(P,W,Z,Ee){var At=function(P,W,Z){var Ee=Bo()&&!!P,At=0;if(Ee){At=Date.now();var cn=Z&&Z.length||0,hr=new Array(cn);if(cn>0)for(var Rr=0;Rr<cn;Rr++)hr[Rr]=Z[Rr];ts({type:"action",name:P,object:W,arguments:hr})}var ui=sn();ai();var ss={prevDerivation:ui,prevAllowStateChanges:Li(!0),prevAllowStateReads:Bn(!0),notifySpy:Ee,startTime:At,actionId:Nr++,parentActionId:_r};return _r=ss.actionId,ss}(P,Z,Ee);try{return W.apply(Z,Ee)}catch(cn){throw At.error=cn,cn}finally{!function(P){_r!==P.actionId&&j("invalid action stack. did you forget to finish an action?"),_r=P.parentActionId,void 0!==P.error&&(Ct.suppressReactionErrors=!0),Mi(P.prevAllowStateChanges),ir(P.prevAllowStateReads),Dr(),An(P.prevDerivation),P.notifySpy&&ds({time:Date.now()-P.startTime}),Ct.suppressReactionErrors=!1}(At)}}function Li(P){var W=Ct.allowStateChanges;return Ct.allowStateChanges=P,W}function Mi(P){Ct.allowStateChanges=P}var Xr=function(P){function W(Z,Ee,At,cn,hr){void 0===At&&(At="ObservableValue@"+R()),void 0===cn&&(cn=!0),void 0===hr&&(hr=ln.default);var Rr=P.call(this,At)||this;return Rr.enhancer=Ee,Rr.name=At,Rr.equals=hr,Rr.hasUnreportedChange=!1,Rr.value=Ee(Z,void 0,At),cn&&Bo()&&Ko({type:"create",name:Rr.name,newValue:""+Rr.value}),Rr}return a(W,P),W.prototype.dehanceValue=function(Z){return void 0!==this.dehancer?this.dehancer(Z):Z},W.prototype.set=function(Z){var Ee=this.value;if((Z=this.prepareNewValue(Z))!==Ct.UNCHANGED){var At=Bo();At&&ts({type:"update",name:this.name,newValue:Z,oldValue:Ee}),this.setNewValue(Z),At&&ds()}},W.prototype.prepareNewValue=function(Z){if(nt(this),Di(this)){var Ee=pa(this,{object:this,type:"update",newValue:Z});if(!Ee)return Ct.UNCHANGED;Z=Ee.newValue}return Z=this.enhancer(Z,this.value,this.name),this.equals(this.value,Z)?Ct.UNCHANGED:Z},W.prototype.setNewValue=function(Z){var Ee=this.value;this.value=Z,this.reportChanged(),Vo(this)&&_s(this,{type:"update",object:this,newValue:Z,oldValue:Ee})},W.prototype.get=function(){return this.reportObserved(),this.dehanceValue(this.value)},W.prototype.intercept=function(Z){return ys(this,Z)},W.prototype.observe=function(Z,Ee){return Ee&&Z({object:this,type:"update",newValue:this.value,oldValue:void 0}),Ba(this,Z)},W.prototype.toJSON=function(){return this.get()},W.prototype.toString=function(){return this.name+"["+this.value+"]"},W.prototype.valueOf=function(){return je(this.get())},W}(Qe);Xr.prototype[F()]=Xr.prototype.valueOf,Se("ObservableValue",Xr);var di=function(){function P(W){this.dependenciesState=hn.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isBeingObserved=!1,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=hn.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+R(),this.value=new Ir(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=Qn.NONE,this.derivation=W.get,this.name=W.name||"ComputedValue@"+R(),W.set&&(this.setter=br(this.name+"-setter",W.set)),this.equals=W.equals||(W.compareStructural||W.struct?ln.structural:ln.default),this.scope=W.context,this.requiresReaction=!!W.requiresReaction,this.keepAlive=!!W.keepAlive}return P.prototype.onBecomeStale=function(){!function(P){if(P.lowestObserverState===hn.UP_TO_DATE){P.lowestObserverState=hn.POSSIBLY_STALE;for(var W=P.observers,Z=W.length;Z--;){var Ee=W[Z];Ee.dependenciesState===hn.UP_TO_DATE&&(Ee.dependenciesState=hn.POSSIBLY_STALE,Ee.isTracing!==Qn.NONE&&wi(Ee,P),Ee.onBecomeStale())}}}(this)},P.prototype.onBecomeUnobserved=function(){},P.prototype.onBecomeObserved=function(){},P.prototype.get=function(){this.isComputing&&j("Cycle detected in computation "+this.name+": "+this.derivation),0!==Ct.inBatch||0!==this.observers.length||this.keepAlive?(Jr(this),L(this)&&this.trackAndCompute()&&function(P){if(P.lowestObserverState!==hn.STALE){P.lowestObserverState=hn.STALE;for(var W=P.observers,Z=W.length;Z--;){var Ee=W[Z];Ee.dependenciesState===hn.POSSIBLY_STALE?Ee.dependenciesState=hn.STALE:Ee.dependenciesState===hn.UP_TO_DATE&&(P.lowestObserverState=hn.UP_TO_DATE)}}}(this)):L(this)&&(this.warnAboutUntrackedRead(),ai(),this.value=this.computeValue(!1),Dr());var W=this.value;if(ht(W))throw W.cause;return W},P.prototype.peek=function(){var W=this.computeValue(!1);if(ht(W))throw W.cause;return W},P.prototype.set=function(W){if(this.setter){H(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,W)}finally{this.isRunningSetter=!1}}else H(!1,!1)},P.prototype.trackAndCompute=function(){Bo()&&Ko({object:this.scope,type:"compute",name:this.name});var W=this.value,Z=this.dependenciesState===hn.NOT_TRACKING,Ee=this.computeValue(!0),At=Z||ht(W)||ht(Ee)||!this.equals(W,Ee);return At&&(this.value=Ee),At},P.prototype.computeValue=function(W){var Z;if(this.isComputing=!0,Ct.computationDepth++,W)Z=it(this,this.derivation,this.scope);else if(!0===Ct.disableErrorBoundaries)Z=this.derivation.call(this.scope);else try{Z=this.derivation.call(this.scope)}catch(Ee){Z=new Ir(Ee)}return Ct.computationDepth--,this.isComputing=!1,Z},P.prototype.suspend=function(){this.keepAlive||(ot(this),this.value=void 0)},P.prototype.observe=function(W,Z){var Ee=this,At=!0,cn=void 0;return $r(function(){var hr=Ee.get();if(!At||Z){var Rr=sn();W({type:"update",object:Ee,newValue:hr,oldValue:cn}),An(Rr)}At=!1,cn=hr})},P.prototype.warnAboutUntrackedRead=function(){},P.prototype.toJSON=function(){return this.get()},P.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},P.prototype.valueOf=function(){return je(this.get())},P}();di.prototype[F()]=di.prototype.valueOf;var P,se=Se("ComputedValue",di),Ke=function(){this.version=5,this.UNCHANGED={},this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.allowStateReads=!0,this.enforceActions=!1,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.computedConfigurable=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1},Xe=!0,Ct=((P=D()).__mobxInstanceCount>0&&!P.__mobxGlobals&&(Xe=!1),P.__mobxGlobals&&P.__mobxGlobals.version!==(new Ke).version&&(Xe=!1),Xe?P.__mobxGlobals?(P.__mobxInstanceCount+=1,P.__mobxGlobals.UNCHANGED||(P.__mobxGlobals.UNCHANGED={}),P.__mobxGlobals):(P.__mobxInstanceCount=1,P.__mobxGlobals=new Ke):(setTimeout(function(){j("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")},1),new Ke));function Vn(P,W){var Z=P.observers.length;Z&&(P.observersIndexes[W.__mapid]=Z),P.observers[Z]=W,P.lowestObserverState>W.dependenciesState&&(P.lowestObserverState=W.dependenciesState)}function Vr(P,W){if(1===P.observers.length)P.observers.length=0,Cr(P);else{var Z=P.observers,Ee=P.observersIndexes,At=Z.pop();if(At!==W){var cn=Ee[W.__mapid]||0;cn?Ee[At.__mapid]=cn:delete Ee[At.__mapid],Z[cn]=At}delete Ee[W.__mapid]}}function Cr(P){!1===P.isPendingUnobservation&&(P.isPendingUnobservation=!0,Ct.pendingUnobservations.push(P))}function ai(){Ct.inBatch++}function Dr(){if(0==--Ct.inBatch){eo();for(var P=Ct.pendingUnobservations,W=0;W<P.length;W++){var Z=P[W];Z.isPendingUnobservation=!1,0===Z.observers.length&&(Z.isBeingObserved&&(Z.isBeingObserved=!1,Z.onBecomeUnobserved()),Z instanceof di&&Z.suspend())}Ct.pendingUnobservations=[]}}function Jr(P){var W=Ct.trackingDerivation;return null!==W?(W.runId!==P.lastAccessedBy&&(P.lastAccessedBy=W.runId,W.newObserving[W.unboundDepsCount++]=P,P.isBeingObserved||(P.isBeingObserved=!0,P.onBecomeObserved())),!0):(0===P.observers.length&&Ct.inBatch>0&&Cr(P),!1)}function wi(P,W){if(console.log("[mobx.trace] '"+P.name+"' is invalidated due to a change in: '"+W.name+"'"),P.isTracing===Qn.BREAK){var Z=[];_o(function(P,W){return Dl(dr(P,void 0))}(P),Z,1),new Function("debugger;\n/*\nTracing '"+P.name+"'\n\nYou are entering this break point because derivation '"+P.name+"' is being traced and '"+W.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(P instanceof di?P.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+Z.join("\n")+"\n*/\n ")()}}function _o(P,W,Z){W.length>=1e3?W.push("(and many more)"):(W.push(""+new Array(Z).join("\t")+P.name),P.dependencies&&P.dependencies.forEach(function(Ee){return _o(Ee,W,Z+1)}))}var ki=function(){function P(W,Z,Ee,At){void 0===W&&(W="Reaction@"+R()),void 0===At&&(At=!1),this.name=W,this.onInvalidate=Z,this.errorHandler=Ee,this.requiresObservable=At,this.observing=[],this.newObserving=[],this.dependenciesState=hn.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+R(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=Qn.NONE}return P.prototype.onBecomeStale=function(){this.schedule()},P.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,Ct.pendingReactions.push(this),eo())},P.prototype.isScheduled=function(){return this._isScheduled},P.prototype.runReaction=function(){if(!this.isDisposed){if(ai(),this._isScheduled=!1,L(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending&&Bo()&&Ko({name:this.name,type:"scheduled-reaction"})}catch(W){this.reportExceptionInDerivation(W)}}Dr()}},P.prototype.track=function(W){ai();var Ee,Z=Bo();Z&&(Ee=Date.now(),ts({name:this.name,type:"reaction"})),this._isRunning=!0;var At=it(this,W,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ot(this),ht(At)&&this.reportExceptionInDerivation(At.cause),Z&&ds({time:Date.now()-Ee}),Dr()},P.prototype.reportExceptionInDerivation=function(W){var Z=this;if(this.errorHandler)this.errorHandler(W,this);else{if(Ct.disableErrorBoundaries)throw W;var Ee="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";Ct.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(Ee,W),Bo()&&Ko({type:"error",name:this.name,message:Ee,error:""+W}),Ct.globalReactionErrorHandlers.forEach(function(At){return At(W,Z)})}},P.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(ai(),ot(this),Dr()))},P.prototype.getDisposer=function(){var W=this.dispose.bind(this);return W.$mobx=this,W},P.prototype.toString=function(){return"Reaction["+this.name+"]"},P.prototype.trace=function(W){void 0===W&&(W=!1),function(){for(var P=[],W=0;W<arguments.length;W++)P[W]=arguments[W];var Z=!1;"boolean"==typeof P[P.length-1]&&(Z=P.pop());var Ee=Qa(P);if(!Ee)return j(!1);Ee.isTracing===Qn.NONE&&console.log("[mobx.trace] '"+Ee.name+"' tracing enabled"),Ee.isTracing=Z?Qn.BREAK:Qn.LOG}(this,W)},P}();function eo(){Ct.inBatch>0||Ct.isRunningReactions||function(P){P()}(Gi)}function Gi(){Ct.isRunningReactions=!0;for(var P=Ct.pendingReactions,W=0;P.length>0;){100==++W&&(console.error("Reaction doesn't converge to a stable state after 100 iterations. Probably there is a cycle in the reactive function: "+P[0]),P.splice(0));for(var Z=P.splice(0),Ee=0,At=Z.length;Ee<At;Ee++)Z[Ee].runReaction()}Ct.isRunningReactions=!1}var Wo=Se("Reaction",ki);function Bo(){return!!Ct.spyListeners.length}function Ko(P){if(Ct.spyListeners.length)for(var W=Ct.spyListeners,Z=0,Ee=W.length;Z<Ee;Z++)W[Z](P)}function ts(P){Ko(l({},P,{spyReportStart:!0}))}var ua={spyReportEnd:!0};function ds(P){Ko(P?l({},P,{spyReportEnd:!0}):ua)}function oa(){j(!1)}function Er(P){return function(W,Z,Ee){if(Ee){if(Ee.value)return{value:br(P,Ee.value),enumerable:!1,configurable:!0,writable:!0};var At=Ee.initializer;return{enumerable:!1,configurable:!0,writable:!0,initializer:function(){return br(P,At.call(this))}}}return st(P).apply(this,arguments)}}function st(P){return function(W,Z,Ee){Object.defineProperty(W,Z,{configurable:!0,enumerable:!1,get:function(){},set:function(At){ne(this,Z,ee(P,At))}})}}var ee=function(W,Z,Ee,At){return 1===arguments.length&&"function"==typeof W?br(W.name||"<unnamed action>",W):2===arguments.length&&"function"==typeof Z?br(W,Z):1===arguments.length&&"string"==typeof W?Er(W):!0!==At?Er(Z).apply(null,arguments):void(W[Z]=br(W.name||Z,Ee.value))};function Tn(P,W,Z){ne(P,W,br(W,Z.bind(P)))}function $r(P,W){void 0===W&&(W=b);var At,Z=W&&W.name||P.name||"Autorun@"+R();if(W.scheduler||W.delay){var cn=Ri(W),hr=!1;At=new ki(Z,function(){hr||(hr=!0,cn(function(){hr=!1,At.isDisposed||At.track(Rr)}))},W.onError,W.requiresObservable)}else At=new ki(Z,function(){this.track(Rr)},W.onError,W.requiresObservable);function Rr(){P(At)}return At.schedule(),At.getDisposer()}ee.bound=function(P,W,Z,Ee){return!0===Ee?(Tn(P,W,Z.value),null):Z?{configurable:!0,enumerable:!1,get:function(){return Tn(this,W,Z.value||Z.initializer.call(this)),this[W]},set:oa}:{enumerable:!1,configurable:!0,set:function(At){Tn(this,W,At)},get:function(){}}};var ti=function(P){return P()};function Ri(P){return P.scheduler?P.scheduler:P.delay?function(W){return setTimeout(W,P.delay)}:ti}function wo(P,W,Z){void 0===Z&&(Z=b),"boolean"==typeof Z&&(Z={fireImmediately:Z});var Eo,Ee=Z.name||"Reaction@"+R(),At=ee(Ee,Z.onError?function(P,W){return function(){try{return W.apply(this,arguments)}catch(Z){P.call(this,Z)}}}(Z.onError,W):W),cn=!Z.scheduler&&!Z.delay,hr=Ri(Z),Rr=!0,ui=!1,Io=Z.compareStructural?ln.structural:Z.equals||ln.default,ss=new ki(Ee,function(){Rr||cn?Ca():ui||(ui=!0,hr(Ca))},Z.onError,Z.requiresObservable);function Ca(){if(ui=!1,!ss.isDisposed){var yl=!1;ss.track(function(){var Ja=P(ss);yl=Rr||!Io(Eo,Ja),Eo=Ja}),Rr&&Z.fireImmediately&&At(Eo,ss),!Rr&&!0===yl&&At(Eo,ss),Rr&&(Rr=!1)}}return ss.schedule(),ss.getDisposer()}function Fi(P,W,Z){return cs("onBecomeUnobserved",P,W,Z)}function cs(P,W,Z,Ee){var At="function"==typeof Ee?dr(W,Z):dr(W),cn="function"==typeof Ee?Ee:Z,hr=At[P];return"function"!=typeof hr?j(!1):(At[P]=function(){hr.call(this),cn.call(this)},function(){At[P]=hr})}function Ra(P,W,Z,Ee){var cn=(Ee=$n(Ee)).defaultDecorator||(!1===Ee.deep?mn:Fn);er(P),ft(P,Ee.name,cn.enhancer),ai();try{for(var At in W){var hr=Object.getOwnPropertyDescriptor(W,At),ui=(Z&&At in Z?Z[At]:hr.get?yn:cn)(P,At,hr,!0);ui&&Object.defineProperty(P,At,ui)}}finally{Dr()}return P}function Dl(P){var W={name:P.name};return P.observing&&P.observing.length>0&&(W.dependencies=function(P){var W=[];return P.forEach(function(Z){-1===W.indexOf(Z)&&W.push(Z)}),W}(P.observing).map(Dl)),W}function ye(P,W){if(null==P)return!1;if(void 0!==W){if(lr(P)){var Z=P.$mobx;return Z.values&&!!Z.values[W]}return!1}return lr(P)||!!P.$mobx||It(P)||Wo(P)||se(P)}function Ne(P){return 1!==arguments.length&&j(!1),ye(P)}function Qa(P){switch(P.length){case 0:return Ct.trackingDerivation;case 1:return dr(P[0]);case 2:return dr(P[0],P[1])}}function sl(P,W){void 0===W&&(W=void 0),ai();try{return P.apply(W)}finally{Dr()}}function Di(P){return void 0!==P.interceptors&&P.interceptors.length>0}function ys(P,W){var Z=P.interceptors||(P.interceptors=[]);return Z.push(W),M(function(){var Ee=Z.indexOf(W);-1!==Ee&&Z.splice(Ee,1)})}function pa(P,W){var Z=sn();try{var Ee=P.interceptors;if(Ee)for(var At=0,cn=Ee.length;At<cn&&(H(!(W=Ee[At](W))||W.type,"Intercept handlers should return nothing or a change object"),W);At++);return W}finally{An(Z)}}function Vo(P){return void 0!==P.changeListeners&&P.changeListeners.length>0}function Ba(P,W){var Z=P.changeListeners||(P.changeListeners=[]);return Z.push(W),M(function(){var Ee=Z.indexOf(W);-1!==Ee&&Z.splice(Ee,1)})}function _s(P,W){var Z=sn(),Ee=P.changeListeners;if(Ee){for(var At=0,cn=(Ee=Ee.slice()).length;At<cn;At++)Ee[At](W);An(Z)}}var wt=function(){var P=!1,W={};return Object.defineProperty(W,"0",{set:function(){P=!0}}),Object.create(W)[0]=1,!1===P}(),kt=0,tn=function(){};(function(P,W){void 0!==Object.setPrototypeOf?Object.setPrototypeOf(P.prototype,W):void 0!==P.prototype.__proto__?P.prototype.__proto__=W:P.prototype=W})(tn,Array.prototype),Object.isFrozen(Array)&&["constructor","push","shift","concat","pop","unshift","replace","find","findIndex","splice","reverse","sort"].forEach(function(P){Object.defineProperty(tn.prototype,P,{configurable:!0,writable:!0,value:Array.prototype[P]})});var gn=function(){function P(W,Z,Ee,At){this.array=Ee,this.owned=At,this.values=[],this.lastKnownLength=0,this.atom=new Qe(W||"ObservableArray@"+R()),this.enhancer=function(cn,hr){return Z(cn,hr,W+"[..]")}}return P.prototype.dehanceValue=function(W){return void 0!==this.dehancer?this.dehancer(W):W},P.prototype.dehanceValues=function(W){return void 0!==this.dehancer&&W.length>0?W.map(this.dehancer):W},P.prototype.intercept=function(W){return ys(this,W)},P.prototype.observe=function(W,Z){return void 0===Z&&(Z=!1),Z&&W({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),Ba(this,W)},P.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},P.prototype.setArrayLength=function(W){if("number"!=typeof W||W<0)throw new Error("[mobx.array] Out of range: "+W);var Z=this.values.length;if(W!==Z)if(W>Z){for(var Ee=new Array(W-Z),At=0;At<W-Z;At++)Ee[At]=void 0;this.spliceWithArray(Z,0,Ee)}else this.spliceWithArray(W,Z-W)},P.prototype.updateArrayLength=function(W,Z){if(W!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?");this.lastKnownLength+=Z,Z>0&&W+Z+1>kt&&ni(W+Z+1)},P.prototype.spliceWithArray=function(W,Z,Ee){var At=this;nt(this.atom);var cn=this.values.length;if(void 0===W?W=0:W>cn?W=cn:W<0&&(W=Math.max(0,cn+W)),Z=1===arguments.length?cn-W:null==Z?0:Math.max(0,Math.min(Z,cn-W)),void 0===Ee&&(Ee=m),Di(this)){var hr=pa(this,{object:this.array,type:"splice",index:W,removedCount:Z,added:Ee});if(!hr)return m;Z=hr.removedCount,Ee=hr.added}var Rr=(Ee=0===Ee.length?Ee:Ee.map(function(Eo){return At.enhancer(Eo,void 0)})).length-Z;this.updateArrayLength(cn,Rr);var ui=this.spliceItemsIntoValues(W,Z,Ee);return(0!==Z||0!==Ee.length)&&this.notifyArraySplice(W,Ee,ui),this.dehanceValues(ui)},P.prototype.spliceItemsIntoValues=function(W,Z,Ee){var At;if(Ee.length<1e4)return(At=this.values).splice.apply(At,h([W,Z],Ee));var cn=this.values.slice(W,W+Z);return this.values=this.values.slice(0,W).concat(Ee,this.values.slice(W+Z)),cn},P.prototype.notifyArrayChildUpdate=function(W,Z,Ee){var At=!this.owned&&Bo(),cn=Vo(this),hr=cn||At?{object:this.array,type:"update",index:W,newValue:Z,oldValue:Ee}:null;At&&ts(l({},hr,{name:this.atom.name})),this.atom.reportChanged(),cn&&_s(this,hr),At&&ds()},P.prototype.notifyArraySplice=function(W,Z,Ee){var At=!this.owned&&Bo(),cn=Vo(this),hr=cn||At?{object:this.array,type:"splice",index:W,removed:Ee,added:Z,removedCount:Ee.length,addedCount:Z.length}:null;At&&ts(l({},hr,{name:this.atom.name})),this.atom.reportChanged(),cn&&_s(this,hr),At&&ds()},P}(),xr=function(P){function W(Z,Ee,At,cn){void 0===At&&(At="ObservableArray@"+R()),void 0===cn&&(cn=!1);var hr=P.call(this)||this,Rr=new gn(At,Ee,hr,cn);if(he(hr,"$mobx",Rr),Z&&Z.length){var ui=Li(!0);hr.spliceWithArray(0,0,Z),Mi(ui)}return wt&&Object.defineProperty(Rr.array,"0",Zr),hr}return a(W,P),W.prototype.intercept=function(Z){return this.$mobx.intercept(Z)},W.prototype.observe=function(Z,Ee){return void 0===Ee&&(Ee=!1),this.$mobx.observe(Z,Ee)},W.prototype.clear=function(){return this.splice(0)},W.prototype.concat=function(){for(var Z=[],Ee=0;Ee<arguments.length;Ee++)Z[Ee]=arguments[Ee];return this.$mobx.atom.reportObserved(),Array.prototype.concat.apply(this.peek(),Z.map(function(At){return bi(At)?At.peek():At}))},W.prototype.replace=function(Z){return this.$mobx.spliceWithArray(0,this.$mobx.values.length,Z)},W.prototype.toJS=function(){return this.slice()},W.prototype.toJSON=function(){return this.toJS()},W.prototype.peek=function(){return this.$mobx.atom.reportObserved(),this.$mobx.dehanceValues(this.$mobx.values)},W.prototype.find=function(Z,Ee,At){void 0===At&&(At=0);var cn=this.findIndex.apply(this,arguments);return-1===cn?void 0:this.get(cn)},W.prototype.findIndex=function(Z,Ee,At){void 0===At&&(At=0);for(var cn=this.peek(),hr=cn.length,Rr=At;Rr<hr;Rr++)if(Z.call(Ee,cn[Rr],Rr,this))return Rr;return-1},W.prototype.splice=function(Z,Ee){for(var At=[],cn=2;cn<arguments.length;cn++)At[cn-2]=arguments[cn];switch(arguments.length){case 0:return[];case 1:return this.$mobx.spliceWithArray(Z);case 2:return this.$mobx.spliceWithArray(Z,Ee)}return this.$mobx.spliceWithArray(Z,Ee,At)},W.prototype.spliceWithArray=function(Z,Ee,At){return this.$mobx.spliceWithArray(Z,Ee,At)},W.prototype.push=function(){for(var Z=[],Ee=0;Ee<arguments.length;Ee++)Z[Ee]=arguments[Ee];var At=this.$mobx;return At.spliceWithArray(At.values.length,0,Z),At.values.length},W.prototype.pop=function(){return this.splice(Math.max(this.$mobx.values.length-1,0),1)[0]},W.prototype.shift=function(){return this.splice(0,1)[0]},W.prototype.unshift=function(){for(var Z=[],Ee=0;Ee<arguments.length;Ee++)Z[Ee]=arguments[Ee];var At=this.$mobx;return At.spliceWithArray(0,0,Z),At.values.length},W.prototype.reverse=function(){var Z=this.slice();return Z.reverse.apply(Z,arguments)},W.prototype.sort=function(Z){var Ee=this.slice();return Ee.sort.apply(Ee,arguments)},W.prototype.remove=function(Z){var Ee=this.$mobx.dehanceValues(this.$mobx.values).indexOf(Z);return Ee>-1&&(this.splice(Ee,1),!0)},W.prototype.move=function(Z,Ee){function At(Rr){if(Rr<0)throw new Error("[mobx.array] Index out of bounds: "+Rr+" is negative");var ui=this.$mobx.values.length;if(Rr>=ui)throw new Error("[mobx.array] Index out of bounds: "+Rr+" is not smaller than "+ui)}if(At.call(this,Z),At.call(this,Ee),Z!==Ee){var hr,cn=this.$mobx.values;hr=Z<Ee?h(cn.slice(0,Z),cn.slice(Z+1,Ee+1),[cn[Z]],cn.slice(Ee+1)):h(cn.slice(0,Ee),[cn[Z]],cn.slice(Ee,Z),cn.slice(Z+1)),this.replace(hr)}},W.prototype.get=function(Z){var Ee=this.$mobx;if(Ee){if(Z<Ee.values.length)return Ee.atom.reportObserved(),Ee.dehanceValue(Ee.values[Z]);console.warn("[mobx.array] Attempt to read an array index ("+Z+") that is out of bounds ("+Ee.values.length+"). Please check length first. Out of bound indices will not be tracked by MobX")}},W.prototype.set=function(Z,Ee){var At=this.$mobx,cn=At.values;if(Z<cn.length){nt(At.atom);var hr=cn[Z];if(Di(At)){var Rr=pa(At,{type:"update",object:this,index:Z,newValue:Ee});if(!Rr)return;Ee=Rr.newValue}(Ee=At.enhancer(Ee,hr))!==hr&&(cn[Z]=Ee,At.notifyArrayChildUpdate(Z,Ee,hr))}else{if(Z!==cn.length)throw new Error("[mobx.array] Index out of bounds, "+Z+" is larger than "+cn.length);At.spliceWithArray(Z,0,[Ee])}},W}(tn);lt(xr.prototype,function(){this.$mobx.atom.reportObserved();var P=this,W=0;return nn({next:function(){return W<P.length?{value:P[W++],done:!1}:{done:!0,value:void 0}}})}),Object.defineProperty(xr.prototype,"length",{enumerable:!1,configurable:!0,get:function(){return this.$mobx.getArrayLength()},set:function(P){this.$mobx.setArrayLength(P)}}),ne(xr.prototype,St(),"Array"),["every","filter","forEach","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some","toString","toLocaleString"].forEach(function(P){var W=Array.prototype[P];H("function"==typeof W,"Base function not defined on Array prototype: '"+P+"'"),ne(xr.prototype,P,function(){return W.apply(this.peek(),arguments)})}),function(P,W){for(var Z=0;Z<W.length;Z++)ne(P,W[Z],P[W[Z]])}(xr.prototype,["constructor","intercept","observe","clear","concat","get","replace","toJS","toJSON","peek","find","findIndex","splice","spliceWithArray","push","pop","set","shift","unshift","reverse","sort","remove","move","toString","toLocaleString"]);var Zr=Pr(0);function Pr(P){return{enumerable:!1,configurable:!1,get:function(){return this.get(P)},set:function(W){this.set(P,W)}}}function mi(P){Object.defineProperty(xr.prototype,""+P,Pr(P))}function ni(P){for(var W=kt;W<P;W++)mi(W);kt=P}ni(1e3);var si=Se("ObservableArrayAdministration",gn);function bi(P){return B(P)&&si(P.$mobx)}var Ui={},ro=function(){function P(W,Z,Ee){if(void 0===Z&&(Z=tr),void 0===Ee&&(Ee="ObservableMap@"+R()),this.enhancer=Z,this.name=Ee,this.$mobx=Ui,this._keys=new xr(void 0,Cn,this.name+".keys()",!0),"function"!=typeof Map)throw new Error("mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js");this._data=new Map,this._hasMap=new Map,this.merge(W)}return P.prototype._has=function(W){return this._data.has(W)},P.prototype.has=function(W){var Z=this;if(!Ct.trackingDerivation)return this._has(W);var Ee=this._hasMap.get(W);if(!Ee){var At=Ee=new Xr(this._has(W),Cn,this.name+"."+mo(W)+"?",!1);this._hasMap.set(W,At),Fi(At,function(){return Z._hasMap.delete(W)})}return Ee.get()},P.prototype.set=function(W,Z){var Ee=this._has(W);if(Di(this)){var At=pa(this,{type:Ee?"update":"add",object:this,newValue:Z,name:W});if(!At)return this;Z=At.newValue}return Ee?this._updateValue(W,Z):this._addValue(W,Z),this},P.prototype.delete=function(W){var Z=this;if(Di(this)&&!(Ee=pa(this,{type:"delete",object:this,name:W})))return!1;if(this._has(W)){var At=Bo(),cn=Vo(this),Ee=cn||At?{type:"delete",object:this,oldValue:this._data.get(W).value,name:W}:null;return At&&ts(l({},Ee,{name:this.name,key:W})),sl(function(){Z._keys.remove(W),Z._updateHasMapEntry(W,!1),Z._data.get(W).setNewValue(void 0),Z._data.delete(W)}),cn&&_s(this,Ee),At&&ds(),!0}return!1},P.prototype._updateHasMapEntry=function(W,Z){var Ee=this._hasMap.get(W);Ee&&Ee.setNewValue(Z)},P.prototype._updateValue=function(W,Z){var Ee=this._data.get(W);if((Z=Ee.prepareNewValue(Z))!==Ct.UNCHANGED){var At=Bo(),cn=Vo(this),hr=cn||At?{type:"update",object:this,oldValue:Ee.value,name:W,newValue:Z}:null;At&&ts(l({},hr,{name:this.name,key:W})),Ee.setNewValue(Z),cn&&_s(this,hr),At&&ds()}},P.prototype._addValue=function(W,Z){var Ee=this;sl(function(){var Rr=new Xr(Z,Ee.enhancer,Ee.name+"."+mo(W),!1);Ee._data.set(W,Rr),Z=Rr.value,Ee._updateHasMapEntry(W,!0),Ee._keys.push(W)});var At=Bo(),cn=Vo(this),hr=cn||At?{type:"add",object:this,name:W,newValue:Z}:null;At&&ts(l({},hr,{name:this.name,key:W})),cn&&_s(this,hr),At&&ds()},P.prototype.get=function(W){return this.has(W)?this.dehanceValue(this._data.get(W).get()):this.dehanceValue(void 0)},P.prototype.dehanceValue=function(W){return void 0!==this.dehancer?this.dehancer(W):W},P.prototype.keys=function(){return this._keys[Et()]()},P.prototype.values=function(){var W=this,Z=0;return nn({next:function(){return Z<W._keys.length?{value:W.get(W._keys[Z++]),done:!1}:{value:void 0,done:!0}}})},P.prototype.entries=function(){var W=this,Z=0;return nn({next:function(){if(Z<W._keys.length){var Ee=W._keys[Z++];return{value:[Ee,W.get(Ee)],done:!1}}return{done:!0}}})},P.prototype.forEach=function(W,Z){var Ee=this;this._keys.forEach(function(At){return W.call(Z,Ee.get(At),At,Ee)})},P.prototype.merge=function(W){var Z=this;return Bi(W)&&(W=W.toJS()),sl(function(){ie(W)?Object.keys(W).forEach(function(Ee){return Z.set(Ee,W[Ee])}):Array.isArray(W)?W.forEach(function(Ee){var At=u(Ee,2);return Z.set(At[0],At[1])}):ue(W)?W.constructor!==Map?j("Cannot initialize from classes that inherit from Map: "+W.constructor.name):W.forEach(function(Ee,At){return Z.set(At,Ee)}):null!=W&&j("Cannot initialize map from "+W)}),this},P.prototype.clear=function(){var W=this;sl(function(){Nn(function(){W._keys.slice().forEach(function(Z){return W.delete(Z)})})})},P.prototype.replace=function(W){var Z=this;return sl(function(){for(var Ee=function(P){return ue(P)||Bi(P)?P:Array.isArray(P)?new Map(P):ie(P)?new Map(Object.entries(P)):j("Cannot convert to map from '"+P+"'")}(W),At=Z._keys,cn=Array.from(Ee.keys()),hr=!1,Rr=0;Rr<At.length;Rr++){var ui=At[Rr];At.length===cn.length&&ui!==cn[Rr]&&(hr=!0),Ee.has(ui)||(hr=!0,Z.delete(ui))}Ee.forEach(function(Eo,Io){Z._data.has(Io)||(hr=!0),Z.set(Io,Eo)}),hr&&Z._keys.replace(cn)}),this},Object.defineProperty(P.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),P.prototype.toPOJO=function(){var W=this,Z={};return this._keys.forEach(function(Ee){return Z["symbol"==typeof Ee?Ee:mo(Ee)]=W.get(Ee)}),Z},P.prototype.toJS=function(){var W=this,Z=new Map;return this._keys.forEach(function(Ee){return Z.set(Ee,W.get(Ee))}),Z},P.prototype.toJSON=function(){return this.toPOJO()},P.prototype.toString=function(){var W=this;return this.name+"[{ "+this._keys.map(function(Z){return mo(Z)+": "+W.get(Z)}).join(", ")+" }]"},P.prototype.observe=function(W,Z){return Ba(this,W)},P.prototype.intercept=function(W){return ys(this,W)},P}();function mo(P){return P&&P.toString?P.toString():new String(P).toString()}lt(ro.prototype,function(){return this.entries()}),he(ro.prototype,St(),"Map");var Bi=Se("ObservableMap",ro),hi={},Br=function(){function P(W,Z,Ee){if(void 0===Z&&(Z=tr),void 0===Ee&&(Ee="ObservableSet@"+R()),this.name=Ee,this.$mobx=hi,this._data=new Set,this._atom=function(P,W,Z){void 0===W&&(W=I),void 0===Z&&(Z=I);var Ee=new Qe(P);return function(P,W,Z){cs("onBecomeObserved",P,W,void 0)}(Ee,W),Fi(Ee,Z),Ee}(this.name),"function"!=typeof Set)throw new Error("mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js");this.enhancer=function(At,cn){return Z(At,cn,Ee)},W&&this.replace(W)}return P.prototype.dehanceValue=function(W){return void 0!==this.dehancer?this.dehancer(W):W},P.prototype.clear=function(){var W=this;sl(function(){Nn(function(){W._data.forEach(function(Z){W.delete(Z)})})})},P.prototype.forEach=function(W,Z){var Ee=this;this._data.forEach(function(At){W.call(Z,At,At,Ee)})},Object.defineProperty(P.prototype,"size",{get:function(){return this._atom.reportObserved(),this._data.size},enumerable:!0,configurable:!0}),P.prototype.add=function(W){var Z=this;if(nt(this._atom),Di(this)&&!(Ee=pa(this,{type:"add",object:this,newValue:W})))return this;if(!this.has(W)){sl(function(){Z._data.add(Z.enhancer(W,void 0)),Z._atom.reportChanged()});var At=Bo(),cn=Vo(this),Ee=cn||At?{type:"add",object:this,newValue:W}:null;cn&&_s(this,Ee)}return this},P.prototype.delete=function(W){var Z=this;if(Di(this)&&!(Ee=pa(this,{type:"delete",object:this,oldValue:W})))return!1;if(this.has(W)){var At=Bo(),cn=Vo(this),Ee=cn||At?{type:"delete",object:this,oldValue:W}:null;return sl(function(){Z._atom.reportChanged(),Z._data.delete(W)}),cn&&_s(this,Ee),!0}return!1},P.prototype.has=function(W){return this._atom.reportObserved(),this._data.has(this.dehanceValue(W))},P.prototype.entries=function(){var W=0,Z=$e(this.keys()),Ee=$e(this.values());return nn({next:function(){var At=W;return W+=1,At<Ee.length?{value:[Z[At],Ee[At]],done:!1}:{done:!0}}})},P.prototype.keys=function(){return this.values()},P.prototype.values=function(){this._atom.reportObserved();var Ee,W=this,Z=0;return void 0!==this._data.values?Ee=$e(this._data.values()):(Ee=[],this._data.forEach(function(At){return Ee.push(At)})),nn({next:function(){return Z<Ee.length?{value:W.dehanceValue(Ee[Z++]),done:!1}:{done:!0}}})},P.prototype.replace=function(W){var Z=this;return G(W)&&(W=W.toJS()),sl(function(){Array.isArray(W)||He(W)?(Z.clear(),W.forEach(function(Ee){return Z.add(Ee)})):null!=W&&j("Cannot initialize set from "+W)}),this},P.prototype.observe=function(W,Z){return Ba(this,W)},P.prototype.intercept=function(W){return ys(this,W)},P.prototype.toJS=function(){return new Set(this)},P.prototype.toString=function(){return this.name+"[ "+$e(this.keys()).join(", ")+" ]"},P}();lt(Br.prototype,function(){return this.values()}),he(Br.prototype,St(),"Set");var G=Se("ObservableSet",Br),Me=function(){function P(W,Z,Ee){this.target=W,this.name=Z,this.defaultEnhancer=Ee,this.values={}}return P.prototype.read=function(W,Z){if(this.target===W||(this.illegalAccess(W,Z),this.values[Z]))return this.values[Z].get()},P.prototype.write=function(W,Z,Ee){var At=this.target;At!==W&&this.illegalAccess(W,Z);var cn=this.values[Z];if(cn instanceof di)cn.set(Ee);else{if(Di(this)){if(!(hr=pa(this,{type:"update",object:At,name:Z,newValue:Ee})))return;Ee=hr.newValue}if((Ee=cn.prepareNewValue(Ee))!==Ct.UNCHANGED){var Rr=Vo(this),ui=Bo(),hr=Rr||ui?{type:"update",object:At,oldValue:cn.value,name:Z,newValue:Ee}:null;ui&&ts(l({},hr,{name:this.name,key:Z})),cn.setNewValue(Ee),Rr&&_s(this,hr),ui&&ds()}}},P.prototype.remove=function(W){if(this.values[W]){var Z=this.target;if(Di(this)&&!(Ee=pa(this,{object:Z,name:W,type:"remove"})))return;try{ai();var At=Vo(this),cn=Bo(),hr=this.values[W].get();this.keys&&this.keys.remove(W),delete this.values[W],delete this.target[W];var Ee=At||cn?{type:"remove",object:Z,oldValue:hr,name:W}:null;cn&&ts(l({},Ee,{name:this.name,key:W})),At&&_s(this,Ee),cn&&ds()}finally{Dr()}}},P.prototype.illegalAccess=function(W,Z){console.warn("Property '"+Z+"' of '"+W+"' was accessed through the prototype chain. Use 'decorate' instead to declare the prop or access it statically through it's owner")},P.prototype.observe=function(W,Z){return Ba(this,W)},P.prototype.intercept=function(W){return ys(this,W)},P.prototype.getKeys=function(){var W=this;return void 0===this.keys&&(this.keys=new xr(Object.keys(this.values).filter(function(Z){return W.values[Z]instanceof Xr}),Cn,"keys("+this.name+")",!0)),this.keys.slice()},P}();function ft(P,W,Z){void 0===W&&(W=""),void 0===Z&&(Z=tr);var Ee=P.$mobx;return Ee||(ie(P)||(W=(P.constructor.name||"ObservableObject")+"@"+R()),W||(W="ObservableObject@"+R()),he(P,"$mobx",Ee=new Me(P,W,Z)),Ee)}var In=Object.create(null),Xn=Object.create(null);function pi(P){return P.$mobx||(er(P),P.$mobx)}var Un=Se("ObservableObjectAdministration",Me);function lr(P){return!!B(P)&&(er(P),Un(P.$mobx))}function dr(P,W){if("object"==typeof P&&null!==P){if(bi(P))return void 0!==W&&j(!1),P.$mobx.atom;if(G(P))return P.$mobx;if(Bi(P)){var Z=P;return void 0===W?dr(Z._keys):((Ee=Z._data.get(W)||Z._hasMap.get(W))||j(!1),Ee)}var Ee;if(er(P),lr(P))return W?((Ee=P.$mobx.values[W])||j(!1),Ee):j(!1);if(It(P)||se(P)||Wo(P))return P}else if("function"==typeof P&&Wo(P.$mobx))return P.$mobx;return j(!1)}function li(P,W){return P||j("Expecting some object"),void 0!==W?li(dr(P,W)):It(P)||se(P)||Wo(P)||Bi(P)||G(P)?P:(er(P),P.$mobx?P.$mobx:void j(!1))}var Oo=Object.prototype.toString;function es(P,W,Z){return void 0===Z&&(Z=-1),jo(P,W,Z)}function jo(P,W,Z,Ee,At){if(P===W)return 0!==P||1/P==1/W;if(null==P||null==W)return!1;if(P!=P)return W!=W;var cn=typeof P;if("function"!==cn&&"object"!==cn&&"object"!=typeof W)return!1;P=uo(P),W=uo(W);var hr=Oo.call(P);if(hr!==Oo.call(W))return!1;switch(hr){case"[object RegExp]":case"[object String]":return""+P==""+W;case"[object Number]":return+P!=+P?+W!=+W:0==+P?1/+P==1/W:+P==+W;case"[object Date]":case"[object Boolean]":return+P==+W;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(P)===Symbol.valueOf.call(W)}var Rr="[object Array]"===hr;if(!Rr){if("object"!=typeof P||"object"!=typeof W)return!1;var ui=P.constructor,Eo=W.constructor;if(ui!==Eo&&!("function"==typeof ui&&ui instanceof ui&&"function"==typeof Eo&&Eo instanceof Eo)&&"constructor"in P&&"constructor"in W)return!1}if(0===Z)return!1;Z<0&&(Z=-1),At=At||[];for(var Io=(Ee=Ee||[]).length;Io--;)if(Ee[Io]===P)return At[Io]===W;if(Ee.push(P),At.push(W),Rr){if((Io=P.length)!==W.length)return!1;for(;Io--;)if(!jo(P[Io],W[Io],Z-1,Ee,At))return!1}else{var ss=Object.keys(P),Ca=void 0;if(Io=ss.length,Object.keys(W).length!==Io)return!1;for(;Io--;)if(!Ki(W,Ca=ss[Io])||!jo(P[Ca],W[Ca],Z-1,Ee,At))return!1}return Ee.pop(),At.pop(),!0}function uo(P){return bi(P)?P.peek():ue(P)||Bi(P)||He(P)||G(P)?$e(P.entries()):P}function Ki(P,W){return Object.prototype.hasOwnProperty.call(P,W)}"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(P){return Ct.spyListeners.push(P),M(function(){Ct.spyListeners=Ct.spyListeners.filter(function(W){return W!==P})})},extras:{getDebugName:function(P,W){return(void 0!==W?dr(P,W):lr(P)||Bi(P)||G(P)?li(P):dr(P)).name}},$mobx:"$mobx"});const gl=function(P,W,Z){switch(Z.length){case 0:return P.call(W);case 1:return P.call(W,Z[0]);case 2:return P.call(W,Z[0],Z[1]);case 3:return P.call(W,Z[0],Z[1],Z[2])}return P.apply(W,Z)},Ts=function(P){return P};var Ll=Math.max;const vo=function(P,W,Z){return W=Ll(void 0===W?P.length-1:W,0),function(){for(var Ee=arguments,At=-1,cn=Ll(Ee.length-W,0),hr=Array(cn);++At<cn;)hr[At]=Ee[W+At];At=-1;for(var Rr=Array(W+1);++At<W;)Rr[At]=Ee[At];return Rr[W]=Z(hr),gl(P,this,Rr)}},zc=function(P){return function(){return P}};var vc=o(99567),kl=Date.now;const Fe=function(P){var W=0,Z=0;return function(){var Ee=kl(),At=16-(Ee-Z);if(Z=Ee,At>0){if(++W>=800)return arguments[0]}else W=0;return P.apply(void 0,arguments)}}(vc.Z?function(P,W){return(0,vc.Z)(P,"toString",{configurable:!0,enumerable:!1,value:zc(W),writable:!0})}:Ts),Mt=function(P,W){return Fe(vo(P,W,Ts),P+"")};var xe=o(86287),ke=o(2951),Te=o(66224);const Re=function(P,W,Z){(void 0!==Z&&!(0,Te.Z)(P[W],Z)||void 0===Z&&!(W in P))&&(0,ke.Z)(P,W,Z)},en=function(W,Z,Ee){for(var At=-1,cn=Object(W),hr=Ee(W),Rr=hr.length;Rr--;){var ui=hr[++At];if(!1===Z(cn[ui],ui,cn))break}return W};var vn=o(27672),Gn=o(1044),kn=o(36889),zn=o(11237),jr=o(47481),kr=o(34654),Gr=o(18402),ci=o(6539);var Ai=o(72170),fo=o(58209),po=o(4214),No=o(13305),Ao=o(11595),Zi=Function.prototype.toString,Jo=Object.prototype.hasOwnProperty,Po=Zi.call(Object);const Do=function(P){if(!(0,ci.Z)(P)||"[object Object]"!=(0,No.Z)(P))return!1;var W=(0,Ao.Z)(P);if(null===W)return!0;var Z=Jo.call(W,"constructor")&&W.constructor;return"function"==typeof Z&&Z instanceof Z&&Zi.call(Z)==Po};var Ls=o(8736);const Us=function(P,W){if(("constructor"!==W||"function"!=typeof P[W])&&"__proto__"!=W)return P[W]};var Pa=o(57640),Aa=o(22712);const wa=function(P,W,Z,Ee,At,cn,hr){var Rr=Us(P,Z),ui=Us(W,Z),Eo=hr.get(ui);if(Eo)Re(P,Z,Eo);else{var Io=cn?cn(Rr,ui,Z+"",P,W,hr):void 0,ss=void 0===Io;if(ss){var Ca=(0,kr.Z)(ui),yl=!Ca&&(0,Ai.Z)(ui),Ja=!Ca&&!yl&&(0,Ls.Z)(ui);Io=ui,Ca||yl||Ja?(0,kr.Z)(Rr)?Io=Rr:function(P){return(0,ci.Z)(P)&&(0,Gr.Z)(P)}(Rr)?Io=(0,kn.Z)(Rr):yl?(ss=!1,Io=(0,vn.Z)(ui,!0)):Ja?(ss=!1,Io=(0,Gn.Z)(ui,!0)):Io=[]:Do(ui)||(0,jr.Z)(ui)?(Io=Rr,(0,jr.Z)(Rr)?Io=function(P){return(0,Pa.Z)(P,(0,Aa.Z)(P))}(Rr):(!(0,po.Z)(Rr)||(0,fo.Z)(Rr))&&(Io=(0,zn.Z)(ui))):ss=!1}ss&&(hr.set(ui,Io),At(Io,ui,Ee,cn,hr),hr.delete(ui)),Re(P,Z,Io)}},Fa=function Ws(P,W,Z,Ee,At){P!==W&&en(W,function(cn,hr){if(At||(At=new xe.Z),(0,po.Z)(cn))wa(P,W,hr,Z,Ws,Ee,At);else{var Rr=Ee?Ee(Us(P,hr),cn,hr+"",P,W,At):void 0;void 0===Rr&&(Rr=cn),Re(P,hr,Rr)}},Aa.Z)},Rs=function xs(P,W,Z,Ee,At,cn){return(0,po.Z)(P)&&(0,po.Z)(W)&&(cn.set(W,P),Fa(P,W,void 0,xs,cn),cn.delete(W)),P};var qs=o(28078);const Zs=function(P,W,Z){if(!(0,po.Z)(Z))return!1;var Ee=typeof W;return!!("number"==Ee?(0,Gr.Z)(Z)&&(0,qs.Z)(W,Z.length):"string"==Ee&&W in Z)&&(0,Te.Z)(Z[W],P)},Ua=function(P){return Mt(function(W,Z){var Ee=-1,At=Z.length,cn=At>1?Z[At-1]:void 0,hr=At>2?Z[2]:void 0;for(cn=P.length>3&&"function"==typeof cn?(At--,cn):void 0,hr&&Zs(Z[0],Z[1],hr)&&(cn=At<3?void 0:cn,At=1),W=Object(W);++Ee<At;){var Rr=Z[Ee];Rr&&P(W,Rr,Ee,cn)}return W})}(function(P,W,Z,Ee){Fa(P,W,Z,Ee)}),js=Mt(function(P){return P.push(void 0,Rs),gl(Ua,void 0,P)}),Vl=function(P){return"symbol"==typeof P||(0,ci.Z)(P)&&"[object Symbol]"==(0,No.Z)(P)};var ac=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ga=/^\w*$/;const Cc=function(P,W){if((0,kr.Z)(P))return!1;var Z=typeof P;return!("number"!=Z&&"symbol"!=Z&&"boolean"!=Z&&null!=P&&!Vl(P))||Ga.test(P)||!ac.test(P)||null!=W&&P in Object(W)};var _c=o(12274);function _a(P,W){if("function"!=typeof P||null!=W&&"function"!=typeof W)throw new TypeError("Expected a function");var Z=function(){var Ee=arguments,At=W?W.apply(this,Ee):Ee[0],cn=Z.cache;if(cn.has(At))return cn.get(At);var hr=P.apply(this,Ee);return Z.cache=cn.set(At,hr)||cn,hr};return Z.cache=new(_a.Cache||_c.Z),Z}_a.Cache=_c.Z;var nu=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xl=/\\(\\)?/g;const nl=(W=_a(function(P){var W=[];return 46===P.charCodeAt(0)&&W.push(""),P.replace(nu,function(Z,Ee,At,cn){W.push(At?cn.replace(xl,"$1"):Ee||Z)}),W},function(Ee){return 500===Z.size&&Z.clear(),Ee}),Z=W.cache,W);var W,Z,rl=o(35770);const cl=function(P,W){for(var Z=-1,Ee=null==P?0:P.length,At=Array(Ee);++Z<Ee;)At[Z]=W(P[Z],Z,P);return At};var cc=rl.Z?rl.Z.prototype:void 0,il=cc?cc.toString:void 0;const Jl=function ul(P){if("string"==typeof P)return P;if((0,kr.Z)(P))return cl(P,ul)+"";if(Vl(P))return il?il.call(P):"";var W=P+"";return"0"==W&&1/P==-1/0?"-0":W},p=function(P){return null==P?"":Jl(P)},N=function(P,W){return(0,kr.Z)(P)?P:Cc(P,W)?[P]:nl(p(P))},de=function(P){if("string"==typeof P||Vl(P))return P;var W=P+"";return"0"==W&&1/P==-1/0?"-0":W},ze=function(P,W){for(var Z=0,Ee=(W=N(W,P)).length;null!=P&&Z<Ee;)P=P[de(W[Z++])];return Z&&Z==Ee?P:void 0},_t=function(P,W,Z){var Ee=null==P?void 0:ze(P,W);return void 0===Ee?Z:Ee};var Yt=o(5867);const wn=function(P){var W=null==P?0:P.length;return W?P[W-1]:void 0},Yr=function(P,W){return W.length<2?P:ze(P,function(P,W,Z){var Ee=-1,At=P.length;W<0&&(W=-W>At?0:At+W),(Z=Z>At?At:Z)<0&&(Z+=At),At=W>Z?0:Z-W>>>0,W>>>=0;for(var cn=Array(At);++Ee<At;)cn[Ee]=P[Ee+W];return cn}(W,0,-1))},yo=function(P,W){return W=N(W,P),null==(P=Yr(P,W))||delete P[de(wn(W))]},Qo=function(P){return Do(P)?void 0:P};var Go=o(57052),As=rl.Z?rl.Z.isConcatSpreadable:void 0;const Ss=function(P){return(0,kr.Z)(P)||(0,jr.Z)(P)||!!(As&&P&&P[As])},Da=function Is(P,W,Z,Ee,At){var cn=-1,hr=P.length;for(Z||(Z=Ss),At||(At=[]);++cn<hr;){var Rr=P[cn];W>0&&Z(Rr)?W>1?Is(Rr,W-1,Z,Ee,At):(0,Go.Z)(At,Rr):Ee||(At[At.length]=Rr)}return At},za=function(P){return null!=P&&P.length?Da(P,1):[]},Ka=function(P){return Fe(vo(P,void 0,za),P+"")};var Ul=o(23359);const bt=Ka(function(P,W){var Z={};if(null==P)return Z;var Ee=!1;W=cl(W,function(cn){return cn=N(cn,P),Ee||(Ee=cn.length>1),cn}),(0,Pa.Z)(P,(0,Ul.Z)(P),Z),Ee&&(Z=(0,Yt.Z)(Z,7,Qo));for(var At=W.length;At--;)yo(Z,W[At]);return Z}),fs=function(P,W){for(var Z=-1,Ee=null==P?0:P.length;++Z<Ee;)if(W(P[Z],Z,P))return!0;return!1};function qu(P){var W=-1,Z=null==P?0:P.length;for(this.__data__=new _c.Z;++W<Z;)this.add(P[W])}qu.prototype.add=qu.prototype.push=function(P){return this.__data__.set(P,"__lodash_hash_undefined__"),this},qu.prototype.has=function(P){return this.__data__.has(P)};const sd=qu,kd=function(P,W){return P.has(W)},Cd=function(P,W,Z,Ee,At,cn){var hr=1&Z,Rr=P.length,ui=W.length;if(Rr!=ui&&!(hr&&ui>Rr))return!1;var Eo=cn.get(P),Io=cn.get(W);if(Eo&&Io)return Eo==W&&Io==P;var ss=-1,Ca=!0,yl=2&Z?new sd:void 0;for(cn.set(P,W),cn.set(W,P);++ss<Rr;){var Ja=P[ss],Nl=W[ss];if(Ee)var Bc=hr?Ee(Nl,Ja,ss,W,P,cn):Ee(Ja,Nl,ss,P,W,cn);if(void 0!==Bc){if(Bc)continue;Ca=!1;break}if(yl){if(!fs(W,function(kc,ed){if(!kd(yl,ed)&&(Ja===kc||At(Ja,kc,Z,Ee,cn)))return yl.push(ed)})){Ca=!1;break}}else if(Ja!==Nl&&!At(Ja,Nl,Z,Ee,cn)){Ca=!1;break}}return cn.delete(P),cn.delete(W),Ca};var Cu=o(83345);const Fs=function(P){var W=-1,Z=Array(P.size);return P.forEach(function(Ee,At){Z[++W]=[At,Ee]}),Z},Pf=function(P){var W=-1,Z=Array(P.size);return P.forEach(function(Ee){Z[++W]=Ee}),Z};var ud=rl.Z?rl.Z.prototype:void 0,Md=ud?ud.valueOf:void 0;var dd=o(22018),Uc=Object.prototype.hasOwnProperty;var fd=o(91978),kf="[object Arguments]",V="[object Array]",pe="[object Object]",K=Object.prototype.hasOwnProperty;const Rt=function(P,W,Z,Ee,At,cn){var hr=(0,kr.Z)(P),Rr=(0,kr.Z)(W),ui=hr?V:(0,fd.Z)(P),Eo=Rr?V:(0,fd.Z)(W),Io=(ui=ui==kf?pe:ui)==pe,ss=(Eo=Eo==kf?pe:Eo)==pe,Ca=ui==Eo;if(Ca&&(0,Ai.Z)(P)){if(!(0,Ai.Z)(W))return!1;hr=!0,Io=!1}if(Ca&&!Io)return cn||(cn=new xe.Z),hr||(0,Ls.Z)(P)?Cd(P,W,Z,Ee,At,cn):function(P,W,Z,Ee,At,cn,hr){switch(Z){case"[object DataView]":if(P.byteLength!=W.byteLength||P.byteOffset!=W.byteOffset)return!1;P=P.buffer,W=W.buffer;case"[object ArrayBuffer]":return!(P.byteLength!=W.byteLength||!cn(new Cu.Z(P),new Cu.Z(W)));case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,Te.Z)(+P,+W);case"[object Error]":return P.name==W.name&&P.message==W.message;case"[object RegExp]":case"[object String]":return P==W+"";case"[object Map]":var Rr=Fs;case"[object Set]":if(Rr||(Rr=Pf),P.size!=W.size&&!(1&Ee))return!1;var Eo=hr.get(P);if(Eo)return Eo==W;Ee|=2,hr.set(P,W);var Io=Cd(Rr(P),Rr(W),Ee,At,cn,hr);return hr.delete(P),Io;case"[object Symbol]":if(Md)return Md.call(P)==Md.call(W)}return!1}(P,W,ui,Z,Ee,At,cn);if(!(1&Z)){var yl=Io&&K.call(P,"__wrapped__"),Ja=ss&&K.call(W,"__wrapped__");if(yl||Ja){var Nl=yl?P.value():P,Bc=Ja?W.value():W;return cn||(cn=new xe.Z),At(Nl,Bc,Z,Ee,cn)}}return!!Ca&&(cn||(cn=new xe.Z),function(P,W,Z,Ee,At,cn){var hr=1&Z,Rr=(0,dd.Z)(P),ui=Rr.length;if(ui!=(0,dd.Z)(W).length&&!hr)return!1;for(var ss=ui;ss--;){var Ca=Rr[ss];if(!(hr?Ca in W:Uc.call(W,Ca)))return!1}var yl=cn.get(P),Ja=cn.get(W);if(yl&&Ja)return yl==W&&Ja==P;var Nl=!0;cn.set(P,W),cn.set(W,P);for(var Bc=hr;++ss<ui;){var kc=P[Ca=Rr[ss]],ed=W[Ca];if(Ee)var Qf=hr?Ee(ed,kc,Ca,W,P,cn):Ee(kc,ed,Ca,P,W,cn);if(!(void 0===Qf?kc===ed||At(kc,ed,Z,Ee,cn):Qf)){Nl=!1;break}Bc||(Bc="constructor"==Ca)}if(Nl&&!Bc){var Xd=P.constructor,cu=W.constructor;Xd!=cu&&"constructor"in P&&"constructor"in W&&!("function"==typeof Xd&&Xd instanceof Xd&&"function"==typeof cu&&cu instanceof cu)&&(Nl=!1)}return cn.delete(P),cn.delete(W),Nl}(P,W,Z,Ee,At,cn))},Hr=function vr(P,W,Z,Ee,At){return P===W||(null==P||null==W||!(0,ci.Z)(P)&&!(0,ci.Z)(W)?P!=P&&W!=W:Rt(P,W,Z,Ee,vr,At))},us=function(P){return P==P&&!(0,po.Z)(P)};var Ks=o(57618);const dl=function(P,W){return function(Z){return null!=Z&&Z[P]===W&&(void 0!==W||P in Object(Z))}},ea=function(P){var W=function(P){for(var W=(0,Ks.Z)(P),Z=W.length;Z--;){var Ee=W[Z],At=P[Ee];W[Z]=[Ee,At,us(At)]}return W}(P);return 1==W.length&&W[0][2]?dl(W[0][0],W[0][1]):function(Z){return Z===P||function(P,W,Z,Ee){var At=Z.length,cn=At,hr=!Ee;if(null==P)return!cn;for(P=Object(P);At--;){var Rr=Z[At];if(hr&&Rr[2]?Rr[1]!==P[Rr[0]]:!(Rr[0]in P))return!1}for(;++At<cn;){var ui=(Rr=Z[At])[0],Eo=P[ui],Io=Rr[1];if(hr&&Rr[2]){if(void 0===Eo&&!(ui in P))return!1}else{var ss=new xe.Z;if(Ee)var Ca=Ee(Eo,Io,ui,P,W,ss);if(!(void 0===Ca?Hr(Io,Eo,3,Ee,ss):Ca))return!1}}return!0}(Z,P,W)}},jl=function(P,W){return null!=P&&W in Object(P)};var zl=o(19238);const _u=function(P,W){return null!=P&&function(P,W,Z){for(var Ee=-1,At=(W=N(W,P)).length,cn=!1;++Ee<At;){var hr=de(W[Ee]);if(!(cn=null!=P&&Z(P,hr)))break;P=P[hr]}return cn||++Ee!=At?cn:!!(At=null==P?0:P.length)&&(0,zl.Z)(At)&&(0,qs.Z)(hr,At)&&((0,kr.Z)(P)||(0,jr.Z)(P))}(P,W,jl)},os=function(P){return Cc(P)?function(P){return function(W){return null==W?void 0:W[P]}}(de(P)):function(P){return function(W){return ze(W,P)}}(P)},pd=function(P){return"function"==typeof P?P:null==P?Ts:"object"==typeof P?(0,kr.Z)(P)?function(P,W){return Cc(P)&&us(W)?dl(de(P),W):function(Z){var Ee=_t(Z,P);return void 0===Ee&&Ee===W?_u(Z,P):Hr(W,Ee,3)}}(P[0],P[1]):ea(P):os(P)},Ad=function(Z,Ee){if(null==Z)return Z;if(!(0,Gr.Z)(Z))return function(P,W){return P&&en(P,W,Ks.Z)}(Z,Ee);for(var At=Z.length,cn=-1,hr=Object(Z);++cn<At&&!1!==Ee(hr[cn],cn,hr););return Z},Ou=function(P,W){var Z;return Ad(P,function(Ee,At,cn){return!(Z=W(Ee,At,cn))}),!!Z},su=function(P,W){for(var Z=-1,Ee=null==P?0:P.length;++Z<Ee;)if(!W(P[Z],Z,P))return!1;return!0},Zd=function(P,W){var Z=!0;return Ad(P,function(Ee,At,cn){return Z=!!W(Ee,At,cn)}),Z},hf=function(P){return P&&P.length?P[0]:void 0},_f=function(P){for(var W=-1,Z=null==P?0:P.length,Ee=0,At=[];++W<Z;){var cn=P[W];cn&&(At[Ee++]=cn)}return At},Uf=function(P,W,Z,Ee){for(var At=P.length,cn=Z+(Ee?1:-1);Ee?cn--:++cn<At;)if(W(P[cn],cn,P))return cn;return-1};var mu=/\s/;var jf=/^\s+/;const gd=function(P){return P&&P.slice(0,function(P){for(var W=P.length;W--&&mu.test(P.charAt(W)););return W}(P)+1).replace(jf,"")};var ku=/^[-+]0x[0-9a-f]+$/i,vu=/^0b[01]+$/i,gf=/^0o[0-7]+$/i,Au=parseInt;const Sp=function(P){if("number"==typeof P)return P;if(Vl(P))return NaN;if((0,po.Z)(P)){var W="function"==typeof P.valueOf?P.valueOf():P;P=(0,po.Z)(W)?W+"":W}if("string"!=typeof P)return 0===P?P:+P;P=gd(P);var Z=vu.test(P);return Z||gf.test(P)?Au(P.slice(2),Z?2:8):ku.test(P)?NaN:+P},Qc=function(P){var W=function(P){return P?1/0===(P=Sp(P))||-1/0===P?17976931348623157e292*(P<0?-1:1):P==P?P:0:0===P?P:0}(P),Z=W%1;return W==W?Z?W-Z:W:0};var Gd=Math.max;const Xc=function(W,Z,Ee){var At=Object(W);if(!(0,Gr.Z)(W)){var cn=pd(Z);W=(0,Ks.Z)(W),Z=function(Rr){return cn(At[Rr],Rr,At)}}var hr=function(P,W,Z){var Ee=null==P?0:P.length;if(!Ee)return-1;var At=null==Z?0:Qc(Z);return At<0&&(At=Gd(Ee+At,0)),Uf(P,pd(W),At)}(W,Z,Ee);return hr>-1?At[cn?W[hr]:hr]:void 0},jc=function(P){return"string"==typeof P||!(0,kr.Z)(P)&&(0,ci.Z)(P)&&"[object String]"==(0,No.Z)(P)};var Yf=o(40309);const Dd=function(){return Yf.Z.Date.now()};var Vp=Math.max,Vf=Math.min;const xd=function(P,W,Z){var Ee=!0,At=!0;if("function"!=typeof P)throw new TypeError("Expected a function");return(0,po.Z)(Z)&&(Ee="leading"in Z?!!Z.leading:Ee,At="trailing"in Z?!!Z.trailing:At),function(P,W,Z){var Ee,At,cn,hr,Rr,ui,Eo=0,Io=!1,ss=!1,Ca=!0;if("function"!=typeof P)throw new TypeError("Expected a function");function yl(fc){var yd=Ee,ga=At;return Ee=At=void 0,Eo=fc,hr=P.apply(ga,yd)}function Ja(fc){return Eo=fc,Rr=setTimeout(kc,W),Io?yl(fc):hr}function Bc(fc){var yd=fc-ui;return void 0===ui||yd>=W||yd<0||ss&&fc-Eo>=cn}function kc(){var fc=Dd();if(Bc(fc))return ed(fc);Rr=setTimeout(kc,function(fc){var pc=W-(fc-ui);return ss?Vf(pc,cn-(fc-Eo)):pc}(fc))}function ed(fc){return Rr=void 0,Ca&&Ee?yl(fc):(Ee=At=void 0,hr)}function cu(){var fc=Dd(),yd=Bc(fc);if(Ee=arguments,At=this,ui=fc,yd){if(void 0===Rr)return Ja(ui);if(ss)return clearTimeout(Rr),Rr=setTimeout(kc,W),yl(ui)}return void 0===Rr&&(Rr=setTimeout(kc,W)),hr}return W=Sp(W)||0,(0,po.Z)(Z)&&(Io=!!Z.leading,cn=(ss="maxWait"in Z)?Vp(Sp(Z.maxWait)||0,W):cn,Ca="trailing"in Z?!!Z.trailing:Ca),cu.cancel=function(){void 0!==Rr&&clearTimeout(Rr),Eo=0,Ee=ui=At=Rr=void 0},cu.flush=function(){return void 0===Rr?hr:ed(Dd())},cu}(P,W,{leading:Ee,maxWait:W,trailing:At})},zf=function(P){return P!=P},Pe=function(P){return null==P?[]:function(P,W){return cl(W,function(Z){return P[Z]})}(P,(0,Ks.Z)(P))};var tt=Math.max;const bn=function(P,W,Z,Ee){P=(0,Gr.Z)(P)?P:Pe(P),Z=Z&&!Ee?Qc(Z):0;var At=P.length;return Z<0&&(Z=tt(At+Z,0)),jc(P)?Z<=At&&P.indexOf(W,Z)>-1:!!At&&function(P,W,Z){return W==W?function(P,W,Z){for(var Ee=Z-1,At=P.length;++Ee<At;)if(P[Ee]===W)return Ee;return-1}(P,W,Z):Uf(P,zf,Z)}(P,W,Z)>-1};var nr=o(15427);const qr=function(P,W,Z,Ee){if(!(0,po.Z)(P))return P;for(var At=-1,cn=(W=N(W,P)).length,hr=cn-1,Rr=P;null!=Rr&&++At<cn;){var ui=de(W[At]),Eo=Z;if("__proto__"===ui||"constructor"===ui||"prototype"===ui)return P;if(At!=hr){var Io=Rr[ui];void 0===(Eo=Ee?Ee(Io,ui,Rr):void 0)&&(Eo=(0,po.Z)(Io)?Io:(0,qs.Z)(W[At+1])?[]:{})}(0,nr.Z)(Rr,ui,Eo),Rr=Rr[ui]}return P},ms=function(P,W){return function(P,W,Z){for(var Ee=-1,At=W.length,cn={};++Ee<At;){var hr=W[Ee],Rr=ze(P,hr);Z(Rr,hr)&&qr(cn,N(hr,P),Rr)}return cn}(P,W,function(Z,Ee){return _u(P,Ee)})},Gs=Ka(function(P,W){return null==P?{}:ms(P,W)});function oi(P,W){1&P&&(t.TgZ(0,"span"),t._uU(1,"loading..."),t.qZA())}const Wr=function(P){return{$implicit:P}};function ei(P,W){if(1&P&&(t.ynx(0),t.TgZ(1,"div"),t.Hsn(2),t.qZA(),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Udp("height",Z.getTotalHeight())}}const Vi=function(){return{dontDetach:!0}},no=["*"],ia=["loadingTemplate"],ps=["treeNodeTemplate"],la=["treeNodeWrapperTemplate"],ka=["treeNodeFullTemplate"],zs=["viewport"],Sl=function(P,W,Z,Ee){return{loadingTemplate:P,treeNodeTemplate:W,treeNodeWrapperTemplate:Z,treeNodeFullTemplate:Ee}};function Gp(P,W){if(1&P&&t._UZ(0,"tree-node-collection",4),2&P){const Z=t.oxw();t.Q6J("nodes",Z.treeModel.roots)("treeModel",Z.treeModel)("templates",t.l5B(3,Sl,Z.loadingTemplate,Z.treeNodeTemplate,Z.treeNodeWrapperTemplate,Z.treeNodeFullTemplate))}}function hh(P,W){if(1&P&&t._UZ(0,"tree-node-drop-slot",5),2&P){const Z=t.oxw();t.Q6J("dropIndex",0)("node",Z.treeModel.virtualRoot)}}function n_(P,W){if(1&P&&t._UZ(0,"tree-node-drop-slot",6),2&P){const Z=t.oxw(3);t.Q6J("dropIndex",Z.node.index)("node",Z.node.parent)}}function r_(P,W){if(1&P&&(t.TgZ(0,"div"),t.YNc(1,n_,1,2,"tree-node-drop-slot",3),t._UZ(2,"tree-node-wrapper",4),t._UZ(3,"tree-node-children",5),t._UZ(4,"tree-node-drop-slot",6),t.qZA()),2&P){const Z=t.oxw(2);t.Tol(Z.node.getClass()),t.ekj("tree-node",!0)("tree-node-expanded",Z.node.isExpanded&&Z.node.hasChildren)("tree-node-collapsed",Z.node.isCollapsed&&Z.node.hasChildren)("tree-node-leaf",Z.node.isLeaf)("tree-node-active",Z.node.isActive)("tree-node-focused",Z.node.isFocused),t.xp6(1),t.Q6J("ngIf",0===Z.index),t.xp6(1),t.Q6J("node",Z.node)("index",Z.index)("templates",Z.templates),t.xp6(1),t.Q6J("node",Z.node)("templates",Z.templates),t.xp6(1),t.Q6J("dropIndex",Z.node.index+1)("node",Z.node.parent)}}const $u=function(P,W,Z,Ee){return{$implicit:P,node:W,index:Z,templates:Ee}};function i_(P,W){if(1&P&&(t.ynx(0),t.YNc(1,r_,5,22,"div",1),t.GkF(2,2),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Q6J("ngIf",!Z.templates.treeNodeFullTemplate),t.xp6(1),t.Q6J("ngTemplateOutlet",Z.templates.treeNodeFullTemplate)("ngTemplateOutletContext",t.l5B(3,$u,Z.node,Z.node,Z.index,Z.templates))}}function _h(P,W){if(1&P&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&P){const Z=t.oxw();t.xp6(1),t.Oqu(Z.node.displayField)}}const o_=function(P,W,Z){return{$implicit:P,node:W,index:Z}};function s_(P,W){if(1&P){const Z=t.EpF();t.TgZ(0,"span",3),t.NdJ("click",function(At){return t.CHM(Z),t.oxw(2).node.mouseAction("expanderClick",At)}),t._UZ(1,"span",4),t.qZA()}if(2&P){const Z=t.oxw(2);t.ekj("toggle-children-wrapper-expanded",Z.node.isExpanded)("toggle-children-wrapper-collapsed",Z.node.isCollapsed)}}function a_(P,W){1&P&&t._UZ(0,"span",5)}function l_(P,W){if(1&P&&(t.ynx(0),t.YNc(1,s_,2,4,"span",1),t.YNc(2,a_,1,0,"span",2),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Q6J("ngIf",Z.node.hasChildren),t.xp6(1),t.Q6J("ngIf",!Z.node.hasChildren)}}function gh(P,W){if(1&P&&t._UZ(0,"tree-node-collection",4),2&P){const Z=t.oxw(3);t.Q6J("nodes",Z.node.children)("templates",Z.templates)("treeModel",Z.node.treeModel)}}function zp(P,W){if(1&P&&t._UZ(0,"tree-loading-component",5),2&P){const Z=t.oxw(3);t.Udp("padding-left",Z.node.getNodePadding()),t.Q6J("template",Z.templates.loadingTemplate)("node",Z.node)}}function mh(P,W){if(1&P&&(t.TgZ(0,"div"),t.YNc(1,gh,1,3,"tree-node-collection",2),t.YNc(2,zp,1,4,"tree-loading-component",3),t.qZA()),2&P){const Z=t.oxw(2);t.ekj("tree-children",!0)("tree-children-no-padding",Z.node.options.levelPadding),t.xp6(1),t.Q6J("ngIf",Z.node.children),t.xp6(1),t.Q6J("ngIf",!Z.node.children)}}function c_(P,W){if(1&P&&(t.ynx(0),t.YNc(1,mh,3,6,"div",1),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Q6J("treeAnimateOpen",Z.node.isExpanded)("treeAnimateOpenSpeed",Z.node.options.animateSpeed)("treeAnimateOpenAcceleration",Z.node.options.animateAcceleration)("treeAnimateOpenEnabled",Z.node.options.animateExpand)}}function ca(P,W){if(1&P&&t._UZ(0,"tree-node",2),2&P){const Z=W.$implicit,Ee=W.index,At=t.oxw(2);t.Q6J("node",Z)("index",Ee)("templates",At.templates)}}function vh(P,W){if(1&P&&(t.ynx(0),t.TgZ(1,"div"),t.YNc(2,ca,1,3,"tree-node",1),t.qZA(),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Udp("margin-top",Z.marginTop),t.xp6(1),t.Q6J("ngForOf",Z.viewportNodes)("ngForTrackBy",Z.trackNode)}}function yh(P,W){if(1&P&&t._UZ(0,"tree-node-checkbox",4),2&P){const Z=t.oxw(2);t.Q6J("node",Z.node)}}function Ap(P,W){if(1&P){const Z=t.EpF();t.TgZ(0,"div",2),t.YNc(1,yh,1,1,"tree-node-checkbox",3),t._UZ(2,"tree-node-expander",4),t.TgZ(3,"div",5),t.NdJ("click",function(At){return t.CHM(Z),t.oxw().node.mouseAction("click",At)})("dblclick",function(At){return t.CHM(Z),t.oxw().node.mouseAction("dblClick",At)})("mouseover",function(At){return t.CHM(Z),t.oxw().node.mouseAction("mouseOver",At)})("mouseout",function(At){return t.CHM(Z),t.oxw().node.mouseAction("mouseOut",At)})("contextmenu",function(At){return t.CHM(Z),t.oxw().node.mouseAction("contextMenu",At)})("treeDrop",function(At){return t.CHM(Z),t.oxw().node.onDrop(At)})("treeDropDragOver",function(At){return t.CHM(Z),t.oxw().node.mouseAction("dragOver",At)})("treeDropDragLeave",function(At){return t.CHM(Z),t.oxw().node.mouseAction("dragLeave",At)})("treeDropDragEnter",function(At){return t.CHM(Z),t.oxw().node.mouseAction("dragEnter",At)}),t._UZ(4,"tree-node-content",6),t.qZA(),t.qZA()}if(2&P){const Z=t.oxw();t.Udp("padding-left",Z.node.getNodePadding()),t.xp6(1),t.Q6J("ngIf",Z.node.options.useCheckbox),t.xp6(1),t.Q6J("node",Z.node),t.xp6(1),t.ekj("node-content-wrapper-active",Z.node.isActive)("node-content-wrapper-focused",Z.node.isFocused),t.Q6J("treeAllowDrop",Z.node.allowDrop)("allowDragoverStyling",Z.node.allowDragoverStyling())("treeDrag",Z.node)("treeDragEnabled",Z.node.allowDrag()),t.xp6(1),t.Q6J("node",Z.node)("index",Z.index)("template",Z.templates.treeNodeTemplate)}}function Ju(P,W){if(1&P){const Z=t.EpF();t.ynx(0),t.TgZ(1,"input",1),t.NdJ("click",function(At){return t.CHM(Z),t.oxw().node.mouseAction("checkboxClick",At)}),t.qZA(),t.BQk()}if(2&P){const Z=t.oxw();t.xp6(1),t.Q6J("checked",Z.node.isSelected)("indeterminate",Z.node.isPartiallySelected)}}let Ef=(()=>{class P{constructor(Z,Ee){this.templateRef=Z,this.viewContainer=Ee,this.templateBindings={}}ngOnInit(){this.view=this.viewContainer.createEmbeddedView(this.templateRef),this.dispose&&this.dispose(),this.shouldDetach()&&this.view.detach(),this.autoDetect(this.view)}shouldDetach(){return this.treeMobxAutorun&&this.treeMobxAutorun.detach}autoDetect(Z){this.dispose=$r(()=>Z.detectChanges())}ngOnDestroy(){this.dispose&&this.dispose()}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.Rgc),t.Y36(t.s_b))},P.\u0275dir=t.lG2({type:P,selectors:[["","treeMobxAutorun",""]],inputs:{treeMobxAutorun:"treeMobxAutorun"}}),P})();const Hu={TOGGLE_ACTIVE:(P,W,Z)=>W&&W.toggleActivated(),TOGGLE_ACTIVE_MULTI:(P,W,Z)=>W&&W.toggleActivated(!0),TOGGLE_SELECTED:(P,W,Z)=>W&&W.toggleSelected(),ACTIVATE:(P,W,Z)=>W.setIsActive(!0),DEACTIVATE:(P,W,Z)=>W.setIsActive(!1),SELECT:(P,W,Z)=>W.setIsSelected(!0),DESELECT:(P,W,Z)=>W.setIsSelected(!1),FOCUS:(P,W,Z)=>W.focus(),TOGGLE_EXPANDED:(P,W,Z)=>W.hasChildren&&W.toggleExpanded(),EXPAND:(P,W,Z)=>W.expand(),COLLAPSE:(P,W,Z)=>W.collapse(),DRILL_DOWN:(P,W,Z)=>P.focusDrillDown(),DRILL_UP:(P,W,Z)=>P.focusDrillUp(),NEXT_NODE:(P,W,Z)=>P.focusNextNode(),PREVIOUS_NODE:(P,W,Z)=>P.focusPreviousNode(),MOVE_NODE:(P,W,Z,{from:Ee,to:At})=>{Z.ctrlKey?P.copyNode(Ee,At):P.moveNode(Ee,At)}},Th={mouse:{click:Hu.TOGGLE_ACTIVE,dblClick:null,contextMenu:null,expanderClick:Hu.TOGGLE_EXPANDED,checkboxClick:Hu.TOGGLE_SELECTED,drop:Hu.MOVE_NODE},keys:{39:Hu.DRILL_DOWN,37:Hu.DRILL_UP,40:Hu.NEXT_NODE,38:Hu.PREVIOUS_NODE,32:Hu.TOGGLE_ACTIVE,13:Hu.TOGGLE_ACTIVE}};class Qp{constructor(W={}){this.options=W,this.actionMapping=js({},this.options.actionMapping,Th),W.rtl&&(this.actionMapping.keys[39]=_t(W,["actionMapping","keys",39])||Hu.DRILL_UP,this.actionMapping.keys[37]=_t(W,["actionMapping","keys",37])||Hu.DRILL_DOWN)}get hasChildrenField(){return this.options.hasChildrenField||"hasChildren"}get childrenField(){return this.options.childrenField||"children"}get displayField(){return this.options.displayField||"name"}get idField(){return this.options.idField||"id"}get isExpandedField(){return this.options.isExpandedField||"isExpanded"}get getChildren(){return this.options.getChildren}get levelPadding(){return this.options.levelPadding||0}get useVirtualScroll(){return this.options.useVirtualScroll}get animateExpand(){return this.options.animateExpand}get animateSpeed(){return this.options.animateSpeed||1}get animateAcceleration(){return this.options.animateAcceleration||1.2}get scrollOnActivate(){return void 0===this.options.scrollOnActivate||this.options.scrollOnActivate}get rtl(){return!!this.options.rtl}get rootId(){return this.options.rootId}get useCheckbox(){return this.options.useCheckbox}get useTriState(){return void 0===this.options.useTriState||this.options.useTriState}get scrollContainer(){return this.options.scrollContainer}get allowDragoverStyling(){return void 0===this.options.allowDragoverStyling||this.options.allowDragoverStyling}getNodeClone(W){return this.options.getNodeClone?this.options.getNodeClone(W):bt(Object.assign({},W.data),["id"])}allowDrop(W,Z,Ee){return this.options.allowDrop instanceof Function?this.options.allowDrop(W,Z,Ee):void 0===this.options.allowDrop||this.options.allowDrop}allowDrag(W){return this.options.allowDrag instanceof Function?this.options.allowDrag(W):this.options.allowDrag}nodeClass(W){return this.options.nodeClass?this.options.nodeClass(W):""}nodeHeight(W){if(W.data.virtual)return 0;let Z=this.options.nodeHeight||22;return"function"==typeof Z&&(Z=Z(W)),Z+(0===W.index?2:1)*this.dropSlotHeight}get dropSlotHeight(){return function(P){return"number"==typeof P||(0,ci.Z)(P)&&"[object Number]"==(0,No.Z)(P)}(this.options.dropSlotHeight)?this.options.dropSlotHeight:2}}const rc={toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",initialized:"initialized",updateData:"updateData",moveNode:"moveNode",copyNode:"copyNode",event:"event",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",stateChange:"stateChange"};var lu=function(P,W,Z,Ee){var hr,At=arguments.length,cn=At<3?W:null===Ee?Ee=Object.getOwnPropertyDescriptor(W,Z):Ee;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)cn=Reflect.decorate(P,W,Z,Ee);else for(var Rr=P.length-1;Rr>=0;Rr--)(hr=P[Rr])&&(cn=(At<3?hr(cn):At>3?hr(W,Z,cn):hr(W,Z))||cn);return At>3&&cn&&Object.defineProperty(W,Z,cn),cn},Ml=function(P,W){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(P,W)};let Sh=(()=>{class P{constructor(Z,Ee,At,cn){this.data=Z,this.parent=Ee,this.treeModel=At,this.position=0,this.allowDrop=(hr,Rr)=>this.options.allowDrop(hr,{parent:this,index:0},Rr),this.allowDragoverStyling=()=>this.options.allowDragoverStyling,null==this.id&&(this.id=Math.floor(1e13*Math.random())),this.index=cn,this.getField("children")&&this._initChildren(),this.autoLoadChildren()}get isHidden(){return this.treeModel.isHidden(this)}get isExpanded(){return this.treeModel.isExpanded(this)}get isActive(){return this.treeModel.isActive(this)}get isFocused(){return this.treeModel.isNodeFocused(this)}get isSelected(){return this.isSelectable()?this.treeModel.isSelected(this):function(P,W,Z){var Ee=(0,kr.Z)(P)?fs:Ou;return Z&&Zs(P,W,Z)&&(W=void 0),Ee(P,pd(W))}(this.children,Z=>Z.isSelected)}get isAllSelected(){return this.isSelectable()?this.treeModel.isSelected(this):function(P,W,Z){var Ee=(0,kr.Z)(P)?su:Zd;return Z&&Zs(P,W,Z)&&(W=void 0),Ee(P,pd(W))}(this.children,Z=>Z.isAllSelected)}get isPartiallySelected(){return this.isSelected&&!this.isAllSelected}get level(){return this.parent?this.parent.level+1:0}get path(){return this.parent?[...this.parent.path,this.id]:[]}get elementRef(){throw"Element Ref is no longer supported since introducing virtual scroll\n\n You may use a template to obtain a reference to the element"}get originalNode(){return this._originalNode}get hasChildren(){return!!(this.getField("hasChildren")||this.children&&this.children.length>0)}get isCollapsed(){return!this.isExpanded}get isLeaf(){return!this.hasChildren}get isRoot(){return this.parent.data.virtual}get realParent(){return this.isRoot?null:this.parent}get options(){return this.treeModel.options}fireEvent(Z){this.treeModel.fireEvent(Z)}get displayField(){return this.getField("display")}get id(){return this.getField("id")}set id(Z){this.setField("id",Z)}getField(Z){return this.data[this.options[`${Z}Field`]]}setField(Z,Ee){this.data[this.options[`${Z}Field`]]=Ee}_findAdjacentSibling(Z,Ee=!1){const At=this._getParentsChildren(Ee),cn=At.indexOf(this);return At.length>cn+Z?At[cn+Z]:null}findNextSibling(Z=!1){return this._findAdjacentSibling(1,Z)}findPreviousSibling(Z=!1){return this._findAdjacentSibling(-1,Z)}getVisibleChildren(){return this.visibleChildren}get visibleChildren(){return(this.children||[]).filter(Z=>!Z.isHidden)}getFirstChild(Z=!1){return hf((Z?this.visibleChildren:this.children)||[])}getLastChild(Z=!1){return wn((Z?this.visibleChildren:this.children)||[])}findNextNode(Z=!0,Ee=!1){return Z&&this.isExpanded&&this.getFirstChild(Ee)||this.findNextSibling(Ee)||this.parent&&this.parent.findNextNode(!1,Ee)}findPreviousNode(Z=!1){let Ee=this.findPreviousSibling(Z);return Ee?Ee._getLastOpenDescendant(Z):this.realParent}_getLastOpenDescendant(Z=!1){const Ee=this.getLastChild(Z);return this.isCollapsed||!Ee?this:Ee._getLastOpenDescendant(Z)}_getParentsChildren(Z=!1){return this.parent&&(Z?this.parent.getVisibleChildren():this.parent.children)||[]}getIndexInParent(Z=!1){return this._getParentsChildren(Z).indexOf(this)}isDescendantOf(Z){return this===Z||this.parent&&this.parent.isDescendantOf(Z)}getNodePadding(){return this.options.levelPadding*(this.level-1)+"px"}getClass(){return[this.options.nodeClass(this),`tree-node-level-${this.level}`].join(" ")}onDrop(Z){this.mouseAction("drop",Z.event,{from:Z.element,to:{parent:this,index:0,dropOnNode:!0}})}allowDrag(){return this.options.allowDrag(this)}loadNodeChildren(){return this.options.getChildren?Promise.resolve(this.options.getChildren(this)).then(Z=>{Z&&(this.setField("children",Z),this._initChildren(),this.options.useTriState&&this.treeModel.isSelected(this)&&this.setIsSelected(!0),this.children.forEach(Ee=>{Ee.getField("isExpanded")&&Ee.hasChildren&&Ee.expand()}))}).then(()=>{this.fireEvent({eventName:rc.loadNodeChildren,node:this})}):Promise.resolve()}expand(){return this.isExpanded||this.toggleExpanded(),this}collapse(){return this.isExpanded&&this.toggleExpanded(),this}doForAll(Z){Promise.resolve(Z(this)).then(()=>{this.children&&this.children.forEach(Ee=>Ee.doForAll(Z))})}expandAll(){this.doForAll(Z=>Z.expand())}collapseAll(){this.doForAll(Z=>Z.collapse())}ensureVisible(){return this.realParent&&(this.realParent.expand(),this.realParent.ensureVisible()),this}toggleExpanded(){return this.setIsExpanded(!this.isExpanded),this}setIsExpanded(Z){return this.hasChildren&&this.treeModel.setExpandedNode(this,Z),this}autoLoadChildren(){this.handler=wo(()=>this.isExpanded,Z=>{!this.children&&this.hasChildren&&Z&&this.loadNodeChildren()},{fireImmediately:!0})}dispose(){this.children&&this.children.forEach(Z=>Z.dispose()),this.handler&&this.handler(),this.parent=null,this.children=null}setIsActive(Z,Ee=!1){return this.treeModel.setActiveNode(this,Z,Ee),Z&&this.focus(this.options.scrollOnActivate),this}isSelectable(){return this.isLeaf||!this.children||!this.options.useTriState}setIsSelected(Z){return this.isSelectable()?this.treeModel.setSelectedNode(this,Z):this.visibleChildren.forEach(Ee=>Ee.setIsSelected(Z)),this}toggleSelected(){return this.setIsSelected(!this.isSelected),this}toggleActivated(Z=!1){return this.setIsActive(!this.isActive,Z),this}setActiveAndVisible(Z=!1){return this.setIsActive(!0,Z).ensureVisible(),setTimeout(this.scrollIntoView.bind(this)),this}scrollIntoView(Z=!1){this.treeModel.virtualScroll.scrollIntoView(this,Z)}focus(Z=!0){let Ee=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(this),Z&&this.scrollIntoView(),Ee&&this.fireEvent({eventName:rc.blur,node:Ee}),this.fireEvent({eventName:rc.focus,node:this}),this}blur(){let Z=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(null),Z&&this.fireEvent({eventName:rc.blur,node:this}),this}setIsHidden(Z){this.treeModel.setIsHidden(this,Z)}hide(){this.setIsHidden(!0)}show(){this.setIsHidden(!1)}mouseAction(Z,Ee,At=null){this.treeModel.setFocus(!0);const hr=this.options.actionMapping.mouse[Z];hr&&hr(this.treeModel,this,Ee,At)}getSelfHeight(){return this.options.nodeHeight(this)}_initChildren(){this.children=this.getField("children").map((Z,Ee)=>new P(Z,this,this.treeModel,Ee))}}return lu([jt,Ml("design:type",Object),Ml("design:paramtypes",[])],P.prototype,"isHidden",null),lu([jt,Ml("design:type",Object),Ml("design:paramtypes",[])],P.prototype,"isExpanded",null),lu([jt,Ml("design:type",Object),Ml("design:paramtypes",[])],P.prototype,"isActive",null),lu([jt,Ml("design:type",Object),Ml("design:paramtypes",[])],P.prototype,"isFocused",null),lu([jt,Ml("design:type",Object),Ml("design:paramtypes",[])],P.prototype,"isSelected",null),lu([jt,Ml("design:type",Object),Ml("design:paramtypes",[])],P.prototype,"isAllSelected",null),lu([jt,Ml("design:type",Object),Ml("design:paramtypes",[])],P.prototype,"isPartiallySelected",null),lu([mt,Ml("design:type",Array)],P.prototype,"children",void 0),lu([mt,Ml("design:type",Number)],P.prototype,"index",void 0),lu([mt,Ml("design:type",Object)],P.prototype,"position",void 0),lu([mt,Ml("design:type",Number)],P.prototype,"height",void 0),lu([jt,Ml("design:type",Number),Ml("design:paramtypes",[])],P.prototype,"level",null),lu([jt,Ml("design:type",Array),Ml("design:paramtypes",[])],P.prototype,"path",null),lu([jt,Ml("design:type",Object),Ml("design:paramtypes",[])],P.prototype,"visibleChildren",null),lu([ee,Ml("design:type",Function),Ml("design:paramtypes",[Object]),Ml("design:returntype",void 0)],P.prototype,"setIsSelected",null),lu([ee,Ml("design:type",Function),Ml("design:paramtypes",[]),Ml("design:returntype",void 0)],P.prototype,"_initChildren",null),P})();var fl=function(P,W,Z,Ee){var hr,At=arguments.length,cn=At<3?W:null===Ee?Ee=Object.getOwnPropertyDescriptor(W,Z):Ee;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)cn=Reflect.decorate(P,W,Z,Ee);else for(var Rr=P.length-1;Rr>=0;Rr--)(hr=P[Rr])&&(cn=(At<3?hr(cn):At>3?hr(W,Z,cn):hr(W,Z))||cn);return At>3&&cn&&Object.defineProperty(W,Z,cn),cn},ko=function(P,W){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(P,W)};let qa=(()=>{class P{constructor(){this.options=new Qp,this.eventNames=Object.keys(rc),this.expandedNodeIds={},this.selectedLeafNodeIds={},this.activeNodeIds={},this.hiddenNodeIds={},this.focusedNodeId=null,this.firstUpdate=!0,this.subscriptions=[]}fireEvent(Z){Z.treeModel=this,this.events[Z.eventName].emit(Z),this.events.event.emit(Z)}subscribe(Z,Ee){const At=this.events[Z].subscribe(Ee);this.subscriptions.push(At)}getFocusedNode(){return this.focusedNode}getActiveNode(){return this.activeNodes[0]}getActiveNodes(){return this.activeNodes}getVisibleRoots(){return this.virtualRoot.visibleChildren}getFirstRoot(Z=!1){return hf(Z?this.getVisibleRoots():this.roots)}getLastRoot(Z=!1){return wn(Z?this.getVisibleRoots():this.roots)}get isFocused(){return P.focusedTree===this}isNodeFocused(Z){return this.focusedNode===Z}isEmptyTree(){return this.roots&&0===this.roots.length}get focusedNode(){return this.focusedNodeId?this.getNodeById(this.focusedNodeId):null}get expandedNodes(){const Z=Object.keys(this.expandedNodeIds).filter(Ee=>this.expandedNodeIds[Ee]).map(Ee=>this.getNodeById(Ee));return _f(Z)}get activeNodes(){const Z=Object.keys(this.activeNodeIds).filter(Ee=>this.activeNodeIds[Ee]).map(Ee=>this.getNodeById(Ee));return _f(Z)}get hiddenNodes(){const Z=Object.keys(this.hiddenNodeIds).filter(Ee=>this.hiddenNodeIds[Ee]).map(Ee=>this.getNodeById(Ee));return _f(Z)}get selectedLeafNodes(){const Z=Object.keys(this.selectedLeafNodeIds).filter(Ee=>this.selectedLeafNodeIds[Ee]).map(Ee=>this.getNodeById(Ee));return _f(Z)}getNodeByPath(Z,Ee=null){if(!Z)return null;if(Ee=Ee||this.virtualRoot,0===Z.length)return Ee;if(!Ee.children)return null;const At=Z.shift(),cn=Xc(Ee.children,{id:At});return cn?this.getNodeByPath(Z,cn):null}getNodeById(Z){const Ee=Z.toString();return this.getNodeBy(At=>At.id.toString()===Ee)}getNodeBy(Z,Ee=null){if(!(Ee=Ee||this.virtualRoot).children)return null;const At=Xc(Ee.children,Z);if(At)return At;for(let cn of Ee.children){const hr=this.getNodeBy(Z,cn);if(hr)return hr}}isExpanded(Z){return this.expandedNodeIds[Z.id]}isHidden(Z){return this.hiddenNodeIds[Z.id]}isActive(Z){return this.activeNodeIds[Z.id]}isSelected(Z){return this.selectedLeafNodeIds[Z.id]}ngOnDestroy(){this.dispose(),this.unsubscribeAll()}dispose(){this.virtualRoot&&this.virtualRoot.dispose()}unsubscribeAll(){this.subscriptions.forEach(Z=>Z.unsubscribe()),this.subscriptions=[]}setData({nodes:Z,options:Ee=null,events:At=null}){Ee&&(this.options=new Qp(Ee)),At&&(this.events=At),Z&&(this.nodes=Z),this.update()}update(){let Z={id:this.options.rootId,virtual:!0,[this.options.childrenField]:this.nodes};this.dispose(),this.virtualRoot=new Sh(Z,null,this,0),this.roots=this.virtualRoot.children,this.firstUpdate?this.roots&&(this.firstUpdate=!1,this._calculateExpandedNodes()):this.fireEvent({eventName:rc.updateData})}setFocusedNode(Z){this.focusedNodeId=Z?Z.id:null}setFocus(Z){P.focusedTree=Z?this:null}doForAll(Z){this.roots.forEach(Ee=>Ee.doForAll(Z))}focusNextNode(){let Z=this.getFocusedNode(),Ee=Z?Z.findNextNode(!0,!0):this.getFirstRoot(!0);Ee&&Ee.focus()}focusPreviousNode(){let Z=this.getFocusedNode(),Ee=Z?Z.findPreviousNode(!0):this.getLastRoot(!0);Ee&&Ee.focus()}focusDrillDown(){let Z=this.getFocusedNode();if(Z&&Z.isCollapsed&&Z.hasChildren)Z.toggleExpanded();else{let Ee=Z?Z.getFirstChild(!0):this.getFirstRoot(!0);Ee&&Ee.focus()}}focusDrillUp(){let Z=this.getFocusedNode();if(Z)if(Z.isExpanded)Z.toggleExpanded();else{let Ee=Z.realParent;Ee&&Ee.focus()}}setActiveNode(Z,Ee,At=!1){At?this._setActiveNodeMulti(Z,Ee):this._setActiveNodeSingle(Z,Ee),Ee?(Z.focus(this.options.scrollOnActivate),this.fireEvent({eventName:rc.activate,node:Z}),this.fireEvent({eventName:rc.nodeActivate,node:Z})):(this.fireEvent({eventName:rc.deactivate,node:Z}),this.fireEvent({eventName:rc.nodeDeactivate,node:Z}))}setSelectedNode(Z,Ee){this.selectedLeafNodeIds=Object.assign({},this.selectedLeafNodeIds,{[Z.id]:Ee}),Ee?(Z.focus(),this.fireEvent({eventName:rc.select,node:Z})):this.fireEvent({eventName:rc.deselect,node:Z})}setExpandedNode(Z,Ee){this.expandedNodeIds=Object.assign({},this.expandedNodeIds,{[Z.id]:Ee}),this.fireEvent({eventName:rc.toggleExpanded,node:Z,isExpanded:Ee})}expandAll(){this.roots.forEach(Z=>Z.expandAll())}collapseAll(){this.roots.forEach(Z=>Z.collapseAll())}setIsHidden(Z,Ee){this.hiddenNodeIds=Object.assign({},this.hiddenNodeIds,{[Z.id]:Ee})}setHiddenNodeIds(Z){this.hiddenNodeIds=Z.reduce((Ee,At)=>Object.assign(Ee,{[At]:!0}),{})}performKeyAction(Z,Ee){const At=this.options.actionMapping.keys[Ee.keyCode];return!!At&&(Ee.preventDefault(),At(this,Z,Ee),!0)}filterNodes(Z,Ee=!0){let At;if(!Z)return this.clearFilter();if(jc(Z))At=hr=>-1!==hr.displayField.toLowerCase().indexOf(Z.toLowerCase());else{if(!(0,fo.Z)(Z))return console.error("Don't know what to do with filter",Z),void console.error("Should be either a string or function");At=Z}const cn={};this.roots.forEach(hr=>this._filterNode(cn,hr,At,Ee)),this.hiddenNodeIds=cn,this.fireEvent({eventName:rc.changeFilter})}clearFilter(){this.hiddenNodeIds={},this.fireEvent({eventName:rc.changeFilter})}moveNode(Z,Ee){const At=Z.getIndexInParent(),cn=Z.parent;if(!this.canMoveNode(Z,Ee,At))return;const hr=cn.getField("children");Ee.parent.getField("children")||Ee.parent.setField("children",[]);const Rr=Ee.parent.getField("children"),ui=hr.splice(At,1)[0];let Eo=cn===Ee.parent&&Ee.index>At?Ee.index-1:Ee.index;Rr.splice(Eo,0,ui),cn.treeModel.update(),Ee.parent.treeModel!==cn.treeModel&&Ee.parent.treeModel.update(),this.fireEvent({eventName:rc.moveNode,node:ui,to:{parent:Ee.parent.data,index:Eo},from:{parent:cn.data,index:At}})}copyNode(Z,Ee){const At=Z.getIndexInParent();if(!this.canMoveNode(Z,Ee,At))return;Ee.parent.getField("children")||Ee.parent.setField("children",[]);const cn=Ee.parent.getField("children"),hr=this.options.getNodeClone(Z);cn.splice(Ee.index,0,hr),Z.treeModel.update(),Ee.parent.treeModel!==Z.treeModel&&Ee.parent.treeModel.update(),this.fireEvent({eventName:rc.copyNode,node:hr,to:{parent:Ee.parent.data,index:Ee.index}})}getState(){return{expandedNodeIds:this.expandedNodeIds,selectedLeafNodeIds:this.selectedLeafNodeIds,activeNodeIds:this.activeNodeIds,hiddenNodeIds:this.hiddenNodeIds,focusedNodeId:this.focusedNodeId}}setState(Z){!Z||Object.assign(this,{expandedNodeIds:Z.expandedNodeIds||{},selectedLeafNodeIds:Z.selectedLeafNodeIds||{},activeNodeIds:Z.activeNodeIds||{},hiddenNodeIds:Z.hiddenNodeIds||{},focusedNodeId:Z.focusedNodeId})}subscribeToState(Z){$r(()=>Z(this.getState()))}canMoveNode(Z,Ee,At){return At||Z.getIndexInParent(),(Z.parent!==Ee.parent||At!==Ee.index)&&!Ee.parent.isDescendantOf(Z)}calculateExpandedNodes(){this._calculateExpandedNodes()}_filterNode(Z,Ee,At,cn){let hr=At(Ee);return Ee.children&&Ee.children.forEach(Rr=>{this._filterNode(Z,Rr,At,cn)&&(hr=!0)}),hr||(Z[Ee.id]=!0),cn&&hr&&Ee.ensureVisible(),hr}_calculateExpandedNodes(Z=null){(Z=Z||this.virtualRoot).data[this.options.isExpandedField]&&(this.expandedNodeIds=Object.assign({},this.expandedNodeIds,{[Z.id]:!0})),Z.children&&Z.children.forEach(Ee=>this._calculateExpandedNodes(Ee))}_setActiveNodeSingle(Z,Ee){this.activeNodes.filter(At=>At!==Z).forEach(At=>{this.fireEvent({eventName:rc.deactivate,node:At}),this.fireEvent({eventName:rc.nodeDeactivate,node:At})}),this.activeNodeIds=Ee?{[Z.id]:!0}:{}}_setActiveNodeMulti(Z,Ee){this.activeNodeIds=Object.assign({},this.activeNodeIds,{[Z.id]:Ee})}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275prov=t.Yz7({token:P,factory:P.\u0275fac}),P.focusedTree=null,P})();fl([mt,ko("design:type",Array)],qa.prototype,"roots",void 0),fl([mt,ko("design:type",Object)],qa.prototype,"expandedNodeIds",void 0),fl([mt,ko("design:type",Object)],qa.prototype,"selectedLeafNodeIds",void 0),fl([mt,ko("design:type",Object)],qa.prototype,"activeNodeIds",void 0),fl([mt,ko("design:type",Object)],qa.prototype,"hiddenNodeIds",void 0),fl([mt,ko("design:type",Object)],qa.prototype,"focusedNodeId",void 0),fl([mt,ko("design:type",Sh)],qa.prototype,"virtualRoot",void 0),fl([jt,ko("design:type",Object),ko("design:paramtypes",[])],qa.prototype,"focusedNode",null),fl([jt,ko("design:type",Object),ko("design:paramtypes",[])],qa.prototype,"expandedNodes",null),fl([jt,ko("design:type",Object),ko("design:paramtypes",[])],qa.prototype,"activeNodes",null),fl([jt,ko("design:type",Object),ko("design:paramtypes",[])],qa.prototype,"hiddenNodes",null),fl([jt,ko("design:type",Object),ko("design:paramtypes",[])],qa.prototype,"selectedLeafNodes",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],qa.prototype,"setData",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],qa.prototype,"update",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],qa.prototype,"setFocusedNode",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],qa.prototype,"setFocus",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],qa.prototype,"doForAll",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],qa.prototype,"focusNextNode",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],qa.prototype,"focusPreviousNode",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],qa.prototype,"focusDrillDown",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],qa.prototype,"focusDrillUp",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object,Object]),ko("design:returntype",void 0)],qa.prototype,"setActiveNode",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],qa.prototype,"setSelectedNode",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],qa.prototype,"setExpandedNode",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],qa.prototype,"expandAll",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],qa.prototype,"collapseAll",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],qa.prototype,"setIsHidden",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],qa.prototype,"setHiddenNodeIds",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],qa.prototype,"filterNodes",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],qa.prototype,"clearFilter",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],qa.prototype,"moveNode",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],qa.prototype,"copyNode",null),fl([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],qa.prototype,"setState",null);let Mh=(()=>{class P{constructor(){this._draggedElement=null}set(Z){this._draggedElement=Z}get(){return this._draggedElement}isDragging(){return!!this.get()}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275prov=(0,t.Yz7)({factory:function(){return new P},token:P,providedIn:"root"}),P})();var qd=function(P,W,Z,Ee){var hr,At=arguments.length,cn=At<3?W:null===Ee?Ee=Object.getOwnPropertyDescriptor(W,Z):Ee;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)cn=Reflect.decorate(P,W,Z,Ee);else for(var Rr=P.length-1;Rr>=0;Rr--)(hr=P[Rr])&&(cn=(At<3?hr(cn):At>3?hr(W,Z,cn):hr(W,Z))||cn);return At>3&&cn&&Object.defineProperty(W,Z,cn),cn},Fc=function(P,W){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(P,W)};let wu=(()=>{class P{constructor(Z){this.treeModel=Z,this.yBlocks=0,this.x=0,this.viewportHeight=null,this.viewport=null,Z.virtualScroll=this,this._dispose=[$r(()=>this.fixScroll())]}get y(){return 150*this.yBlocks}get totalHeight(){return this.treeModel.virtualRoot?this.treeModel.virtualRoot.height:0}fireEvent(Z){this.treeModel.fireEvent(Z)}init(){const Z=this.recalcPositions.bind(this);Z(),this._dispose=[...this._dispose,wo(()=>this.treeModel.roots,Z),wo(()=>this.treeModel.expandedNodeIds,Z),wo(()=>this.treeModel.hiddenNodeIds,Z)],this.treeModel.subscribe(rc.loadNodeChildren,Z)}isEnabled(){return this.treeModel.options.useVirtualScroll}_setYBlocks(Z){this.yBlocks=Z}recalcPositions(){this.treeModel.virtualRoot.height=this._getPositionAfter(this.treeModel.getVisibleRoots(),0)}_getPositionAfter(Z,Ee){let At=Ee;return Z.forEach(cn=>{cn.position=At,At=this._getPositionAfterNode(cn,At)}),At}_getPositionAfterNode(Z,Ee){let At=Z.getSelfHeight()+Ee;return Z.children&&Z.isExpanded&&(At=this._getPositionAfter(Z.visibleChildren,At)),Z.height=At-Ee,At}clear(){this._dispose.forEach(Z=>Z())}setViewport(Z){Object.assign(this,{viewport:Z,x:Z.scrollLeft,yBlocks:Math.round(Z.scrollTop/150),viewportHeight:Z.getBoundingClientRect?Z.getBoundingClientRect().height:0})}scrollIntoView(Z,Ee,At=!0){if(Z.options.scrollContainer){const cn=Z.options.scrollContainer,hr=cn.getBoundingClientRect().height,Rr=cn.getBoundingClientRect().top,ui=this.viewport.getBoundingClientRect().top+Z.position-Rr;(Ee||ui<cn.scrollTop||ui+Z.getSelfHeight()>cn.scrollTop+hr)&&(cn.scrollTop=At?ui-hr/2:ui)}else(Ee||Z.position<this.y||Z.position+Z.getSelfHeight()>this.y+this.viewportHeight)&&this.viewport&&(this.viewport.scrollTop=At?Z.position-this.viewportHeight/2:Z.position,this._setYBlocks(Math.floor(this.viewport.scrollTop/150)))}getViewportNodes(Z){if(!Z)return[];const Ee=Z.filter(Eo=>!Eo.isHidden);if(!this.isEnabled())return Ee;if(!this.viewportHeight||!Ee.length)return[];const At=Ah(Ee,Eo=>Eo.position+500>this.y||Eo.position+Eo.height>this.y),cn=Ah(Ee,Eo=>Eo.position-500>this.y+this.viewportHeight,At),hr=[];if(cn-At>(1e3+this.viewportHeight)/Ee[0].treeModel.options.options.nodeHeight)return[];for(let Eo=At;Eo<=cn;Eo++)hr.push(Ee[Eo]);return hr}fixScroll(){const Z=Math.max(0,this.totalHeight-this.viewportHeight);this.y<0&&this._setYBlocks(0),this.y>Z&&this._setYBlocks(Z/150)}}return P.\u0275fac=function(Z){return new(Z||P)(t.LFG(qa))},P.\u0275prov=t.Yz7({token:P,factory:P.\u0275fac}),P})();function Ah(P,W,Z=0){let Ee=Z,At=P.length-1;for(;Ee!==At;){let cn=Math.floor((Ee+At)/2);W(P[cn])?At=cn:Ee=Ee===cn?At:cn}return Ee}qd([mt,Fc("design:type",Object)],wu.prototype,"yBlocks",void 0),qd([mt,Fc("design:type",Object)],wu.prototype,"x",void 0),qd([mt,Fc("design:type",Object)],wu.prototype,"viewportHeight",void 0),qd([jt,Fc("design:type",Object),Fc("design:paramtypes",[])],wu.prototype,"y",null),qd([jt,Fc("design:type",Object),Fc("design:paramtypes",[])],wu.prototype,"totalHeight",null),qd([ee,Fc("design:type",Function),Fc("design:paramtypes",[Object]),Fc("design:returntype",void 0)],wu.prototype,"_setYBlocks",null),qd([ee,Fc("design:type",Function),Fc("design:paramtypes",[]),Fc("design:returntype",void 0)],wu.prototype,"recalcPositions",null),qd([ee,Fc("design:type",Function),Fc("design:paramtypes",[Object]),Fc("design:returntype",void 0)],wu.prototype,"setViewport",null),qd([ee,Fc("design:type",Function),Fc("design:paramtypes",[Object,Object,Object]),Fc("design:returntype",void 0)],wu.prototype,"scrollIntoView",null);let wh=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-loading-component"]],inputs:{template:"template",node:"node"},decls:2,vars:5,consts:[[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(Z,Ee){1&Z&&(t.YNc(0,oi,2,0,"span",0),t.GkF(1,1)),2&Z&&(t.Q6J("ngIf",!Ee.template),t.xp6(1),t.Q6J("ngTemplateOutlet",Ee.template)("ngTemplateOutletContext",t.VKq(3,Wr,Ee.node)))},directives:[e.O5,e.tP],encapsulation:2}),P})(),Wf=(()=>{class P{constructor(Z,Ee,At){this.elementRef=Z,this.ngZone=Ee,this.virtualScroll=At,this.setViewport=xd(()=>{this.virtualScroll.setViewport(this.elementRef.nativeElement)},17),this.scrollEventHandler=this.setViewport.bind(this)}ngOnInit(){this.virtualScroll.init()}ngAfterViewInit(){setTimeout(()=>{this.setViewport(),this.virtualScroll.fireEvent({eventName:rc.initialized})});let Z=this.elementRef.nativeElement;this.ngZone.runOutsideAngular(()=>{Z.addEventListener("scroll",this.scrollEventHandler)})}ngOnDestroy(){this.virtualScroll.clear(),this.elementRef.nativeElement.removeEventListener("scroll",this.scrollEventHandler)}getTotalHeight(){return this.virtualScroll.isEnabled()&&this.virtualScroll.totalHeight+"px"||"auto"}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.SBq),t.Y36(t.R0b),t.Y36(wu))},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-viewport"]],features:[t._Bn([wu])],ngContentSelectors:no,decls:1,vars:2,consts:[[4,"treeMobxAutorun"]],template:function(Z,Ee){1&Z&&(t.F$t(),t.YNc(0,ei,3,2,"ng-container",0)),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Vi))},directives:[Ef],encapsulation:2}),P})(),Dh=(()=>{class P{constructor(Z,Ee){this.treeModel=Z,this.treeDraggedElement=Ee,Z.eventNames.forEach(At=>this[At]=new t.vpe),Z.subscribeToState(At=>this.stateChange.emit(At))}set nodes(Z){}set options(Z){}set focused(Z){this.treeModel.setFocus(Z)}set state(Z){this.treeModel.setState(Z)}onKeydown(Z){if(!this.treeModel.isFocused||bn(["input","textarea"],document.activeElement.tagName.toLowerCase()))return;const Ee=this.treeModel.getFocusedNode();this.treeModel.performKeyAction(Ee,Z)}onMousedown(Z){(function Ee(At,cn){return!At||At.localName!==cn&&Ee(At.parentElement,cn)})(Z.target,"tree-root")&&this.treeModel.setFocus(!1)}ngOnChanges(Z){(Z.options||Z.nodes)&&this.treeModel.setData({options:Z.options&&Z.options.currentValue,nodes:Z.nodes&&Z.nodes.currentValue,events:Gs(this,this.treeModel.eventNames)})}sizeChanged(){this.viewportComponent.setViewport()}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(qa),t.Y36(Mh))},P.\u0275cmp=t.Xpm({type:P,selectors:[["Tree"],["tree-root"]],contentQueries:function(Z,Ee,At){if(1&Z&&(t.Suo(At,ia,5),t.Suo(At,ps,5),t.Suo(At,la,5),t.Suo(At,ka,5)),2&Z){let cn;t.iGM(cn=t.CRH())&&(Ee.loadingTemplate=cn.first),t.iGM(cn=t.CRH())&&(Ee.treeNodeTemplate=cn.first),t.iGM(cn=t.CRH())&&(Ee.treeNodeWrapperTemplate=cn.first),t.iGM(cn=t.CRH())&&(Ee.treeNodeFullTemplate=cn.first)}},viewQuery:function(Z,Ee){if(1&Z&&t.Gf(zs,5),2&Z){let At;t.iGM(At=t.CRH())&&(Ee.viewportComponent=At.first)}},hostBindings:function(Z,Ee){1&Z&&t.NdJ("keydown",function(cn){return Ee.onKeydown(cn)},!1,t.pYS)("mousedown",function(cn){return Ee.onMousedown(cn)},!1,t.pYS)},inputs:{nodes:"nodes",options:"options",focused:"focused",state:"state"},outputs:{toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",updateData:"updateData",initialized:"initialized",moveNode:"moveNode",copyNode:"copyNode",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",event:"event",stateChange:"stateChange"},features:[t._Bn([qa]),t.TTD],decls:5,vars:6,consts:[["viewport",""],[1,"angular-tree-component"],[3,"nodes","treeModel","templates",4,"ngIf"],["class","empty-tree-drop-slot",3,"dropIndex","node",4,"ngIf"],[3,"nodes","treeModel","templates"],[1,"empty-tree-drop-slot",3,"dropIndex","node"]],template:function(Z,Ee){1&Z&&(t.TgZ(0,"tree-viewport",null,0),t.TgZ(2,"div",1),t.YNc(3,Gp,1,8,"tree-node-collection",2),t.YNc(4,hh,1,2,"tree-node-drop-slot",3),t.qZA(),t.qZA()),2&Z&&(t.xp6(2),t.ekj("node-dragging",Ee.treeDraggedElement.isDragging())("angular-tree-component-rtl",Ee.treeModel.options.rtl),t.xp6(1),t.Q6J("ngIf",Ee.treeModel.roots),t.xp6(1),t.Q6J("ngIf",Ee.treeModel.isEmptyTree()))},directives:function(){return[Wf,e.O5,Jd,Xu]},encapsulation:2}),P})(),qf=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["TreeNode"],["tree-node"]],inputs:{node:"node",index:"index",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"class","tree-node","tree-node-expanded","tree-node-collapsed","tree-node-leaf","tree-node-active","tree-node-focused",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"dropIndex","node",4,"ngIf"],[3,"node","index","templates"],[3,"node","templates"],[3,"dropIndex","node"]],template:function(Z,Ee){1&Z&&t.YNc(0,i_,3,8,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Vi))},directives:function(){return[Ef,e.O5,e.tP,Qd,Rh,Xu]},encapsulation:2}),P})(),xh=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-content"]],inputs:{node:"node",index:"index",template:"template"},decls:2,vars:7,consts:[[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(Z,Ee){1&Z&&(t.YNc(0,_h,2,1,"span",0),t.GkF(1,1)),2&Z&&(t.Q6J("ngIf",!Ee.template),t.xp6(1),t.Q6J("ngTemplateOutlet",Ee.template)("ngTemplateOutletContext",t.kEZ(3,o_,Ee.node,Ee.node,Ee.index)))},directives:[e.O5,e.tP],encapsulation:2}),P})(),Xu=(()=>{class P{onDrop(Z){this.node.mouseAction("drop",Z.event,{from:Z.element,to:{parent:this.node,index:this.dropIndex}})}allowDrop(Z,Ee){return this.node.options.allowDrop(Z,{parent:this.node,index:this.dropIndex},Ee)}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["TreeNodeDropSlot"],["tree-node-drop-slot"]],inputs:{node:"node",dropIndex:"dropIndex"},decls:1,vars:2,consts:[[1,"node-drop-slot",3,"treeAllowDrop","allowDragoverStyling","treeDrop"]],template:function(Z,Ee){1&Z&&(t.TgZ(0,"div",0),t.NdJ("treeDrop",function(cn){return Ee.onDrop(cn)}),t.qZA()),2&Z&&t.Q6J("treeAllowDrop",Ee.allowDrop.bind(Ee))("allowDragoverStyling",!0)},directives:function(){return[Kp]},encapsulation:2}),P})(),wp=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-expander"]],inputs:{node:"node"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],["class","toggle-children-wrapper",3,"toggle-children-wrapper-expanded","toggle-children-wrapper-collapsed","click",4,"ngIf"],["class","toggle-children-placeholder",4,"ngIf"],[1,"toggle-children-wrapper",3,"click"],[1,"toggle-children"],[1,"toggle-children-placeholder"]],template:function(Z,Ee){1&Z&&t.YNc(0,l_,3,2,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Vi))},directives:[Ef,e.O5],encapsulation:2}),P})(),Rh=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-children"]],inputs:{node:"node",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"tree-children","tree-children-no-padding",4,"treeAnimateOpen","treeAnimateOpenSpeed","treeAnimateOpenAcceleration","treeAnimateOpenEnabled"],[3,"nodes","templates","treeModel",4,"ngIf"],["class","tree-node-loading",3,"padding-left","template","node",4,"ngIf"],[3,"nodes","templates","treeModel"],[1,"tree-node-loading",3,"template","node"]],template:function(Z,Ee){1&Z&&t.YNc(0,c_,2,4,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Vi))},directives:function(){return[Ef,Sf,e.O5,Jd,wh]},encapsulation:2}),P})();const Dp=Object.assign(function(...P){return ee(...P)},ee),Nh=Object.assign(function(...P){return jt(...P)},jt),fp=Object.assign(function(...P){return mt(...P)},mt);var Ku=function(P,W,Z,Ee){var hr,At=arguments.length,cn=At<3?W:null===Ee?Ee=Object.getOwnPropertyDescriptor(W,Z):Ee;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)cn=Reflect.decorate(P,W,Z,Ee);else for(var Rr=P.length-1;Rr>=0;Rr--)(hr=P[Rr])&&(cn=(At<3?hr(cn):At>3?hr(W,Z,cn):hr(W,Z))||cn);return At>3&&cn&&Object.defineProperty(W,Z,cn),cn},Uu=function(P,W){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(P,W)};let Jd=(()=>{class P{constructor(){this._dispose=[]}get nodes(){return this._nodes}set nodes(Z){this.setNodes(Z)}get marginTop(){const Z=this.viewportNodes&&this.viewportNodes.length&&this.viewportNodes[0];return(Z&&Z.parent?Z.position-Z.parent.position-Z.parent.getSelfHeight():0)+"px"}setNodes(Z){this._nodes=Z}ngOnInit(){this.virtualScroll=this.treeModel.virtualScroll,this._dispose=[wo(()=>this.virtualScroll.getViewportNodes(this.nodes).map(Z=>Z.index),Z=>{this.viewportNodes=Z.map(Ee=>this.nodes[Ee])},{compareStructural:!0,fireImmediately:!0}),wo(()=>this.nodes,Z=>{this.viewportNodes=this.virtualScroll.getViewportNodes(Z)})]}ngOnDestroy(){this._dispose.forEach(Z=>Z())}trackNode(Z,Ee){return Ee.id}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-collection"]],inputs:{nodes:"nodes",treeModel:"treeModel",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"node","index","templates",4,"ngFor","ngForOf","ngForTrackBy"],[3,"node","index","templates"]],template:function(Z,Ee){1&Z&&t.YNc(0,vh,3,4,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Vi))},directives:[Ef,e.sg,qf],encapsulation:2}),P})();Ku([fp,Uu("design:type",Object)],Jd.prototype,"_nodes",void 0),Ku([fp,Uu("design:type",Array)],Jd.prototype,"viewportNodes",void 0),Ku([Nh,Uu("design:type",String),Uu("design:paramtypes",[])],Jd.prototype,"marginTop",null),Ku([Dp,Uu("design:type",Function),Uu("design:paramtypes",[Object]),Uu("design:returntype",void 0)],Jd.prototype,"setNodes",null);let Qd=(()=>{class P{constructor(){}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-wrapper"]],inputs:{node:"node",index:"index",templates:"templates"},decls:2,vars:8,consts:[["class","node-wrapper",3,"padding-left",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"node-wrapper"],[3,"node",4,"ngIf"],[3,"node"],[1,"node-content-wrapper",3,"treeAllowDrop","allowDragoverStyling","treeDrag","treeDragEnabled","click","dblclick","mouseover","mouseout","contextmenu","treeDrop","treeDropDragOver","treeDropDragLeave","treeDropDragEnter"],[3,"node","index","template"]],template:function(Z,Ee){1&Z&&(t.YNc(0,Ap,5,15,"div",0),t.GkF(1,1)),2&Z&&(t.Q6J("ngIf",!Ee.templates.treeNodeWrapperTemplate),t.xp6(1),t.Q6J("ngTemplateOutlet",Ee.templates.treeNodeWrapperTemplate)("ngTemplateOutletContext",t.l5B(3,$u,Ee.node,Ee.node,Ee.index,Ee.templates)))},directives:function(){return[e.O5,e.tP,wp,eh,Kp,xh,Jf]},encapsulation:2}),P})(),Jf=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-checkbox"]],inputs:{node:"node"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],["type","checkbox",1,"tree-node-checkbox",3,"checked","indeterminate","click"]],template:function(Z,Ee){1&Z&&t.YNc(0,Ju,2,2,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Vi))},directives:[Ef],encapsulation:2}),P})();const Cf="is-dragging-over",Ph="is-dragging-over-disabled";let Kp=(()=>{class P{constructor(Z,Ee,At,cn){this.el=Z,this.renderer=Ee,this.treeDraggedElement=At,this.ngZone=cn,this.allowDragoverStyling=!0,this.onDropCallback=new t.vpe,this.onDragOverCallback=new t.vpe,this.onDragLeaveCallback=new t.vpe,this.onDragEnterCallback=new t.vpe,this._allowDrop=(hr,Rr)=>!0,this.dragOverEventHandler=this.onDragOver.bind(this),this.dragEnterEventHandler=this.onDragEnter.bind(this),this.dragLeaveEventHandler=this.onDragLeave.bind(this)}set treeAllowDrop(Z){this._allowDrop=Z instanceof Function?Z:(Ee,At)=>Z}allowDrop(Z){return this._allowDrop(this.treeDraggedElement.get(),Z)}ngAfterViewInit(){let Z=this.el.nativeElement;this.ngZone.runOutsideAngular(()=>{Z.addEventListener("dragover",this.dragOverEventHandler),Z.addEventListener("dragenter",this.dragEnterEventHandler),Z.addEventListener("dragleave",this.dragLeaveEventHandler)})}ngOnDestroy(){let Z=this.el.nativeElement;Z.removeEventListener("dragover",this.dragOverEventHandler),Z.removeEventListener("dragenter",this.dragEnterEventHandler),Z.removeEventListener("dragleave",this.dragLeaveEventHandler)}onDragOver(Z){if(!this.allowDrop(Z))return this.allowDragoverStyling?this.addDisabledClass():void 0;this.onDragOverCallback.emit({event:Z,element:this.treeDraggedElement.get()}),Z.preventDefault(),this.allowDragoverStyling&&this.addClass()}onDragEnter(Z){!this.allowDrop(Z)||(Z.preventDefault(),this.onDragEnterCallback.emit({event:Z,element:this.treeDraggedElement.get()}))}onDragLeave(Z){if(!this.allowDrop(Z))return this.allowDragoverStyling?this.removeDisabledClass():void 0;this.onDragLeaveCallback.emit({event:Z,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass()}onDrop(Z){!this.allowDrop(Z)||(Z.preventDefault(),this.onDropCallback.emit({event:Z,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass(),this.treeDraggedElement.set(null))}addClass(){this.renderer.addClass(this.el.nativeElement,Cf)}removeClass(){this.renderer.removeClass(this.el.nativeElement,Cf)}addDisabledClass(){this.renderer.addClass(this.el.nativeElement,Ph)}removeDisabledClass(){this.renderer.removeClass(this.el.nativeElement,Ph)}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(Mh),t.Y36(t.R0b))},P.\u0275dir=t.lG2({type:P,selectors:[["","treeDrop",""]],hostBindings:function(Z,Ee){1&Z&&t.NdJ("drop",function(cn){return Ee.onDrop(cn)})},inputs:{allowDragoverStyling:"allowDragoverStyling",treeAllowDrop:"treeAllowDrop"},outputs:{onDropCallback:"treeDrop",onDragOverCallback:"treeDropDragOver",onDragLeaveCallback:"treeDropDragLeave",onDragEnterCallback:"treeDropDragEnter"}}),P})(),eh=(()=>{class P{constructor(Z,Ee,At,cn){this.el=Z,this.renderer=Ee,this.treeDraggedElement=At,this.ngZone=cn,this.dragEventHandler=this.onDrag.bind(this)}ngAfterViewInit(){let Z=this.el.nativeElement;this.ngZone.runOutsideAngular(()=>{Z.addEventListener("drag",this.dragEventHandler)})}ngDoCheck(){this.renderer.setAttribute(this.el.nativeElement,"draggable",this.treeDragEnabled?"true":"false")}ngOnDestroy(){this.el.nativeElement.removeEventListener("drag",this.dragEventHandler)}onDragStart(Z){Z.dataTransfer.setData("text",Z.target.id),this.treeDraggedElement.set(this.draggedElement),this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragStart",Z)}onDrag(Z){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("drag",Z)}onDragEnd(){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragEnd"),this.treeDraggedElement.set(null)}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(Mh),t.Y36(t.R0b))},P.\u0275dir=t.lG2({type:P,selectors:[["","treeDrag",""]],hostBindings:function(Z,Ee){1&Z&&t.NdJ("dragstart",function(cn){return Ee.onDragStart(cn)})("dragend",function(){return Ee.onDragEnd()})},inputs:{draggedElement:["treeDrag","draggedElement"],treeDragEnabled:"treeDragEnabled"}}),P})(),Sf=(()=>{class P{constructor(Z,Ee,At){this.renderer=Z,this.templateRef=Ee,this.viewContainerRef=At}set isOpen(Z){Z?(this._show(),this.isEnabled&&!1===this._isOpen&&this._animateOpen()):this.isEnabled?this._animateClose():this._hide(),this._isOpen=!!Z}_show(){this.innerElement||(this.innerElement=this.viewContainerRef.createEmbeddedView(this.templateRef).rootNodes[0])}_hide(){this.viewContainerRef.clear(),this.innerElement=null}_animateOpen(){let Z=this.animateSpeed,Ee=this.animateAcceleration,At=0;this.renderer.setStyle(this.innerElement,"max-height","0"),setTimeout(()=>{const cn=setInterval(()=>{if(!this._isOpen||!this.innerElement)return clearInterval(cn);At+=Z;const hr=Math.round(At);this.renderer.setStyle(this.innerElement,"max-height",`${hr}px`);const Rr=this.innerElement.getBoundingClientRect?this.innerElement.getBoundingClientRect().height:0;Z*=Ee,Ee*=1.005,Rr<hr&&(this.renderer.setStyle(this.innerElement,"max-height",null),clearInterval(cn))},17)})}_animateClose(){if(!this.innerElement)return;let Z=this.animateSpeed,Ee=this.animateAcceleration,At=this.innerElement.getBoundingClientRect().height;const cn=setInterval(()=>{if(this._isOpen||!this.innerElement)return clearInterval(cn);At-=Z,this.renderer.setStyle(this.innerElement,"max-height",`${At}px`),Z*=Ee,Ee*=1.005,At<=0&&(this.viewContainerRef.clear(),this.innerElement=null,clearInterval(cn))},17)}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.Qsj),t.Y36(t.Rgc),t.Y36(t.s_b))},P.\u0275dir=t.lG2({type:P,selectors:[["","treeAnimateOpen",""]],inputs:{isOpen:["treeAnimateOpen","isOpen"],animateSpeed:["treeAnimateOpenSpeed","animateSpeed"],animateAcceleration:["treeAnimateOpenAcceleration","animateAcceleration"],isEnabled:["treeAnimateOpenEnabled","isEnabled"]}}),P})(),Rp=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275mod=t.oAB({type:P}),P.\u0275inj=t.cJS({providers:[],imports:[[e.ez]]}),P})()},38549:(Ge,g,o)=>{"use strict";o.d(g,{Kz:()=>E,xm:()=>Oa,_A:()=>ba,vL:()=>mo,_D:()=>mi,lQ:()=>ni,VL:()=>Ho,M:()=>lc,jt:()=>rl,TH:()=>nu,Vi:()=>xl,XC:()=>cl,iD:()=>nl,J4:()=>ke,FF:()=>ve,Pz:()=>sr,uN:()=>wn,nv:()=>cr,Vx:()=>Tr,Oz:()=>Go,tO:()=>To,M2:()=>Tu,o8:()=>gc,AX:()=>fs,dT:()=>Ql,Ly:()=>qu,ZQ:()=>sd,Pm:()=>ru,UL:()=>Su,_L:()=>Ud,xI:()=>Sd,HK:()=>ud,dR:()=>hu,ZS:()=>fd});var t=o(74788),e=o(12057),s=o(59796),a=o(56693),l=o(55197),u=o(20509);function h(...V){if(1===V.length){if(!(0,s.k)(V[0]))return V[0];V=V[0]}return(0,a.n)(V,void 0).lift(new _)}class _{call(pe,A){return A.subscribe(new m(pe))}}class m extends l.L{constructor(pe){super(pe),this.hasFirst=!1,this.observables=[],this.subscriptions=[]}_next(pe){this.observables.push(pe)}_complete(){const pe=this.observables,A=pe.length;if(0===A)this.destination.complete();else{for(let K=0;K<A&&!this.hasFirst;K++){const Rt=(0,u.D)(this,pe[K],void 0,K);this.subscriptions&&this.subscriptions.push(Rt),this.add(Rt)}this.observables=null}}notifyNext(pe,A,K){if(!this.hasFirst){this.hasFirst=!0;for(let Ye=0;Ye<this.subscriptions.length;Ye++)if(Ye!==K){let Rt=this.subscriptions[Ye];Rt.unsubscribe(),this.remove(Rt)}this.subscriptions=null}this.destination.next(A)}}var b=o(77393),T=o(20377),D=o(85345);function R(...V){const pe=V[V.length-1];return"function"==typeof pe&&V.pop(),(0,a.n)(V,void 0).lift(new j(pe))}class j{constructor(pe){this.resultSelector=pe}call(pe,A){return A.subscribe(new H(pe,this.resultSelector))}}class H extends b.L{constructor(pe,A,K=Object.create(null)){super(pe),this.resultSelector=A,this.iterators=[],this.active=0,this.resultSelector="function"==typeof A?A:void 0}_next(pe){const A=this.iterators;(0,s.k)(pe)?A.push(new U(pe)):A.push("function"==typeof pe[T.hZ]?new z(pe[T.hZ]()):new M(this.destination,this,pe))}_complete(){const pe=this.iterators,A=pe.length;if(this.unsubscribe(),0!==A){this.active=A;for(let K=0;K<A;K++){let Ye=pe[K];Ye.stillUnsubscribed?this.destination.add(Ye.subscribe()):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const pe=this.iterators,A=pe.length,K=this.destination;for(let vr=0;vr<A;vr++){let Hr=pe[vr];if("function"==typeof Hr.hasValue&&!Hr.hasValue())return}let Ye=!1;const Rt=[];for(let vr=0;vr<A;vr++){let Hr=pe[vr],_i=Hr.next();if(Hr.hasCompleted()&&(Ye=!0),_i.done)return void K.complete();Rt.push(_i.value)}this.resultSelector?this._tryresultSelector(Rt):K.next(Rt),Ye&&K.complete()}_tryresultSelector(pe){let A;try{A=this.resultSelector.apply(this,pe)}catch(K){return void this.destination.error(K)}this.destination.next(A)}}class z{constructor(pe){this.iterator=pe,this.nextResult=pe.next()}hasValue(){return!0}next(){const pe=this.nextResult;return this.nextResult=this.iterator.next(),pe}hasCompleted(){const pe=this.nextResult;return Boolean(pe&&pe.done)}}class U{constructor(pe){this.array=pe,this.index=0,this.length=0,this.length=pe.length}[T.hZ](){return this}next(pe){const A=this.index++;return A<this.length?{value:this.array[A],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class M extends D.Ds{constructor(pe,A,K){super(pe),this.parent=A,this.observable=K,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[T.hZ](){return this}next(){const pe=this.buffer;return 0===pe.length&&this.isComplete?{value:null,done:!0}:{value:pe.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(pe){this.buffer.push(pe),this.parent.checkIterators()}subscribe(){return(0,D.ft)(this.observable,new D.IY(this))}}var I=o(18891),J=o(59193),B=o(25917),ie=o(79765),oe=o(22759),fe=o(46797),ne=o(26215),Ae=(o(9112),o(17757),o(66682)),Se=o(58071);function be(...V){return pe=>{let A;return"function"==typeof V[V.length-1]&&(A=V.pop()),pe.lift(new ue(V,A))}}class ue{constructor(pe,A){this.observables=pe,this.project=A}call(pe,A){return A.subscribe(new He(pe,this.observables,this.project))}}class He extends l.L{constructor(pe,A,K){super(pe),this.observables=A,this.project=K,this.toRespond=[];const Ye=A.length;this.values=new Array(Ye);for(let Rt=0;Rt<Ye;Rt++)this.toRespond.push(Rt);for(let Rt=0;Rt<Ye;Rt++)this.add((0,u.D)(this,A[Rt],void 0,Rt))}notifyNext(pe,A,K){this.values[K]=A;const Ye=this.toRespond;if(Ye.length>0){const Rt=Ye.indexOf(K);-1!==Rt&&Ye.splice(Rt,1)}}notifyComplete(){}_next(pe){if(0===this.toRespond.length){const A=[pe,...this.values];this.project?this._tryProject(A):this.destination.next(A)}}_tryProject(pe){let A;try{A=this.project.apply(this,pe)}catch(K){return void this.destination.error(K)}this.destination.next(A)}}class F{constructor(pe){this.total=pe}call(pe,A){return A.subscribe(new je(pe,this.total))}}class je extends b.L{constructor(pe,A){super(pe),this.total=A,this.count=0}_next(pe){++this.count>this.total&&this.destination.next(pe)}}var Et=o(46782),lt=o(45435),nn=o(15257),St=o(88002),Ot=o(39761),Qe=o(87519),It=o(43190),ae=o(68307),Ie=o(71289),dt=o(19773),Jt=o(18819),zt=o(24751);function tr(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",1),t.NdJ("click",function(){return t.CHM(A),t.oxw().close()}),t.TgZ(1,"span",2),t._uU(2,"\xd7"),t.qZA(),t.qZA()}}const Yn=["*"],Sn=["defaultDayTemplate"],$n=["content"];function En(V,pe){if(1&V&&t._UZ(0,"div",7),2&V){const K=pe.currentMonth,Ye=pe.selected,Rt=pe.disabled,vr=pe.focused;t.Q6J("date",pe.date)("currentMonth",K)("selected",Ye)("disabled",Rt)("focused",vr)}}function Fn(V,pe){if(1&V&&(t.TgZ(0,"div",12),t._uU(1),t.qZA()),2&V){const A=t.oxw().$implicit,K=t.oxw(2);t.xp6(1),t.hij(" ",K.i18n.getMonthLabel(A.firstDate)," ")}}function Dn(V,pe){if(1&V&&(t.TgZ(0,"div",9),t.YNc(1,Fn,2,1,"div",10),t._UZ(2,"ngb-datepicker-month",11),t.qZA()),2&V){const A=pe.$implicit,K=t.oxw(2);t.xp6(1),t.Q6J("ngIf","none"===K.navigation||K.displayMonths>1&&"select"===K.navigation),t.xp6(1),t.Q6J("month",A.firstDate)}}function mn(V,pe){if(1&V&&t.YNc(0,Dn,3,2,"div",8),2&V){const A=t.oxw();t.Q6J("ngForOf",A.model.months)}}function jn(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"ngb-datepicker-navigation",13),t.NdJ("navigate",function(Ye){return t.CHM(A),t.oxw().onNavigateEvent(Ye)})("select",function(Ye){return t.CHM(A),t.oxw().onNavigateDateSelect(Ye)}),t.qZA()}if(2&V){const A=t.oxw();t.Q6J("date",A.model.firstDate)("months",A.model.months)("disabled",A.model.disabled)("showSelect","select"===A.model.navigation)("prevDisabled",A.model.prevDisabled)("nextDisabled",A.model.nextDisabled)("selectBoxes",A.model.selectBoxes)}}function Xt(V,pe){}function ut(V,pe){}function mt(V,pe){if(1&V&&(t.TgZ(0,"div",5),t._uU(1),t.qZA()),2&V){const A=t.oxw(2);t.xp6(1),t.Oqu(A.i18n.getWeekLabel())}}function Tt(V,pe){if(1&V&&(t.TgZ(0,"div",6),t._uU(1),t.qZA()),2&V){const A=pe.$implicit;t.xp6(1),t.Oqu(A)}}function yn(V,pe){if(1&V&&(t.TgZ(0,"div",2),t.YNc(1,mt,2,1,"div",3),t.YNc(2,Tt,2,1,"div",4),t.qZA()),2&V){const A=t.oxw();t.xp6(1),t.Q6J("ngIf",A.datepicker.showWeekNumbers),t.xp6(1),t.Q6J("ngForOf",A.viewModel.weekdays)}}function et(V,pe){if(1&V&&(t.TgZ(0,"div",11),t._uU(1),t.qZA()),2&V){const A=t.oxw(2).$implicit,K=t.oxw();t.xp6(1),t.Oqu(K.i18n.getWeekNumerals(A.number))}}function jt(V,pe){}function hn(V,pe){if(1&V&&t.YNc(0,jt,0,0,"ng-template",14),2&V){const A=t.oxw().$implicit,K=t.oxw(3);t.Q6J("ngTemplateOutlet",K.datepicker.dayTemplate)("ngTemplateOutletContext",A.context)}}function Qn(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"div",12),t.NdJ("click",function(Ye){const vr=t.CHM(A).$implicit;return t.oxw(3).doSelect(vr),Ye.preventDefault()}),t.YNc(1,hn,1,2,"ng-template",13),t.qZA()}if(2&V){const A=pe.$implicit;t.ekj("disabled",A.context.disabled)("hidden",A.hidden)("ngb-dp-today",A.context.today),t.Q6J("tabindex",A.tabindex),t.uIk("aria-label",A.ariaLabel),t.xp6(1),t.Q6J("ngIf",!A.hidden)}}function Ir(V,pe){if(1&V&&(t.TgZ(0,"div",8),t.YNc(1,et,2,1,"div",9),t.YNc(2,Qn,2,9,"div",10),t.qZA()),2&V){const A=t.oxw().$implicit,K=t.oxw();t.xp6(1),t.Q6J("ngIf",K.datepicker.showWeekNumbers),t.xp6(1),t.Q6J("ngForOf",A.days)}}function ht(V,pe){1&V&&t.YNc(0,Ir,3,2,"div",7),2&V&&t.Q6J("ngIf",!pe.$implicit.collapsed)}function L(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"ngb-datepicker-navigation-select",7),t.NdJ("select",function(Ye){return t.CHM(A),t.oxw().select.emit(Ye)}),t.qZA()}if(2&V){const A=t.oxw();t.Q6J("date",A.date)("disabled",A.disabled)("months",A.selectBoxes.months)("years",A.selectBoxes.years)}}function Ue(V,pe){1&V&&t._UZ(0,"div",0)}function nt(V,pe){1&V&&t._UZ(0,"div",0)}function at(V,pe){if(1&V&&(t.YNc(0,Ue,1,0,"div",9),t.TgZ(1,"div",10),t._uU(2),t.qZA(),t.YNc(3,nt,1,0,"div",9)),2&V){const A=pe.$implicit,K=pe.index,Ye=t.oxw(2);t.Q6J("ngIf",K>0),t.xp6(2),t.hij(" ",Ye.i18n.getMonthLabel(A.firstDate)," "),t.xp6(1),t.Q6J("ngIf",K!==Ye.months.length-1)}}function it(V,pe){if(1&V&&t.YNc(0,at,4,3,"ng-template",8),2&V){const A=t.oxw();t.Q6J("ngForOf",A.months)}}const Pt=["ngbDatepickerDayView",""],Ut=["month"],ot=["year"];function Nn(V,pe){if(1&V&&(t.TgZ(0,"option",5),t._uU(1),t.qZA()),2&V){const A=pe.$implicit,K=t.oxw();t.Q6J("value",A),t.uIk("aria-label",K.i18n.getMonthFullName(A,null==K.date?null:K.date.year)),t.xp6(1),t.Oqu(K.i18n.getMonthShortName(A,null==K.date?null:K.date.year))}}function sn(V,pe){if(1&V&&(t.TgZ(0,"option",5),t._uU(1),t.qZA()),2&V){const A=pe.$implicit,K=t.oxw();t.Q6J("value",A),t.xp6(1),t.Oqu(K.i18n.getYearNumerals(A))}}const An=["dialog"],Bn=["ngbNavOutlet",""];function ir(V,pe){}const mr=function(V){return{$implicit:V}};function _r(V,pe){if(1&V&&(t.TgZ(0,"div",2),t.YNc(1,ir,0,0,"ng-template",3),t.qZA()),2&V){const A=t.oxw().$implicit,K=t.oxw();t.Q6J("item",A)("nav",K.nav)("role",K.paneRole),t.xp6(1),t.Q6J("ngTemplateOutlet",(null==A.contentTpl?null:A.contentTpl.templateRef)||null)("ngTemplateOutletContext",t.VKq(5,mr,A.active||K.isPanelTransitioning(A)))}}function Nr(V,pe){if(1&V&&t.YNc(0,_r,2,7,"div",1),2&V){const A=pe.$implicit,K=t.oxw();t.Q6J("ngIf",A.isPanelInDom()||K.isPanelTransitioning(A))}}function Jr(V,pe){if(1&V&&t._uU(0),2&V){const A=t.oxw(2);t.Oqu(A.title)}}function rn(V,pe){}function fi(V,pe){if(1&V&&(t.TgZ(0,"h3",3),t.YNc(1,Jr,1,1,"ng-template",null,4,t.W1O),t.YNc(3,rn,0,0,"ng-template",5),t.qZA()),2&V){const A=t.MAs(2),K=t.oxw();t.xp6(3),t.Q6J("ngTemplateOutlet",K.isTitleTemplate()?K.title:A)("ngTemplateOutletContext",K.context)}}function Ei(V,pe){if(1&V&&(t.TgZ(0,"span"),t.SDv(1,2),t.ALo(2,"percent"),t.qZA()),2&V){const A=t.oxw();t.xp6(2),t.pQV(t.lcZ(2,1,A.getValue()/A.max)),t.QtT(1)}}function to(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw();return Ye.changeHour(Ye.hourStep)}),t._UZ(1,"span",12),t.TgZ(2,"span",13),t.SDv(3,14),t.qZA(),t.qZA()}if(2&V){const A=t.oxw();t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function qi(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw();return Ye.changeHour(-Ye.hourStep)}),t._UZ(1,"span",15),t.TgZ(2,"span",13),t.SDv(3,16),t.qZA(),t.qZA()}if(2&V){const A=t.oxw();t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function Wi(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw();return Ye.changeMinute(Ye.minuteStep)}),t._UZ(1,"span",12),t.TgZ(2,"span",13),t.SDv(3,17),t.qZA(),t.qZA()}if(2&V){const A=t.oxw();t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function eo(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw();return Ye.changeMinute(-Ye.minuteStep)}),t._UZ(1,"span",15),t.TgZ(2,"span",13),t.SDv(3,18),t.qZA(),t.qZA()}if(2&V){const A=t.oxw();t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function Gi(V,pe){1&V&&(t.TgZ(0,"div",5),t._uU(1,":"),t.qZA())}function Wo(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw(2);return Ye.changeSecond(Ye.secondStep)}),t._UZ(1,"span",12),t.TgZ(2,"span",13),t.SDv(3,21),t.qZA(),t.qZA()}if(2&V){const A=t.oxw(2);t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function Ro(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw(2);return Ye.changeSecond(-Ye.secondStep)}),t._UZ(1,"span",15),t.TgZ(2,"span",13),t.SDv(3,22),t.qZA(),t.qZA()}if(2&V){const A=t.oxw(2);t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function Bo(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"div",19),t.YNc(1,Wo,4,7,"button",3),t.TgZ(2,"input",20),t.NdJ("change",function(Ye){return t.CHM(A),t.oxw().updateSecond(Ye.target.value)})("blur",function(){return t.CHM(A),t.oxw().handleBlur()})("input",function(Ye){return t.CHM(A),t.oxw().formatInput(Ye.target)})("keydown.ArrowUp",function(Ye){t.CHM(A);const Rt=t.oxw();return Rt.changeSecond(Rt.secondStep),Ye.preventDefault()})("keydown.ArrowDown",function(Ye){t.CHM(A);const Rt=t.oxw();return Rt.changeSecond(-Rt.secondStep),Ye.preventDefault()}),t.qZA(),t.YNc(3,Ro,4,7,"button",3),t.qZA()}if(2&V){const A=t.oxw();t.xp6(1),t.Q6J("ngIf",A.spinners),t.xp6(1),t.ekj("form-control-sm",A.isSmallSize)("form-control-lg",A.isLargeSize),t.Q6J("value",A.formatMinSec(null==A.model?null:A.model.second))("readOnly",A.readonlyInputs)("disabled",A.disabled),t.xp6(1),t.Q6J("ngIf",A.spinners)}}function Ko(V,pe){1&V&&t._UZ(0,"div",5)}function ts(V,pe){if(1&V&&(t.ynx(0),t.SDv(1,27),t.BQk()),2&V){const A=t.oxw(2);t.xp6(1),t.pQV(A.i18n.getAfternoonPeriod()),t.QtT(1)}}function ua(V,pe){if(1&V&&t.SDv(0,28),2&V){const A=t.oxw(2);t.pQV(A.i18n.getMorningPeriod()),t.QtT(0)}}function ds(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"div",23),t.TgZ(1,"button",24),t.NdJ("click",function(){return t.CHM(A),t.oxw().toggleMeridian()}),t.YNc(2,ts,2,1,"ng-container",25),t.YNc(3,ua,1,1,"ng-template",null,26,t.W1O),t.qZA(),t.qZA()}if(2&V){const A=t.MAs(4),K=t.oxw();t.xp6(1),t.ekj("btn-sm",K.isSmallSize)("btn-lg",K.isLargeSize)("disabled",K.disabled),t.Q6J("disabled",K.disabled),t.xp6(1),t.Q6J("ngIf",K.model&&K.model.hour>=12)("ngIfElse",A)}}function st(V,pe){if(1&V&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&V){const A=t.oxw().$implicit,K=t.oxw();t.Tol(K.highlightClass),t.xp6(1),t.Oqu(A)}}function pn(V,pe){if(1&V&&t._uU(0),2&V){const A=t.oxw().$implicit;t.Oqu(A)}}function ee(V,pe){if(1&V&&(t.YNc(0,st,2,3,"span",1),t.YNc(1,pn,1,1,"ng-template",null,2,t.W1O)),2&V){const A=pe.odd,K=t.MAs(2);t.Q6J("ngIf",A)("ngIfElse",K)}}function Ve(V,pe){if(1&V&&t._UZ(0,"ngb-highlight",2),2&V){const K=pe.term;t.Q6J("result",(0,pe.formatter)(pe.result))("term",K)}}function fn(V,pe){}const Tn=function(V,pe,A){return{result:V,term:pe,formatter:A}};function $r(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",3),t.NdJ("mouseenter",function(){const Rt=t.CHM(A).index;return t.oxw().markActive(Rt)})("click",function(){const Rt=t.CHM(A).$implicit;return t.oxw().select(Rt)}),t.YNc(1,fn,0,0,"ng-template",4),t.qZA()}if(2&V){const A=pe.$implicit,K=pe.index,Ye=t.oxw(),Rt=t.MAs(1);t.ekj("active",K===Ye.activeIdx),t.Q6J("id",Ye.id+"-"+K),t.xp6(1),t.Q6J("ngTemplateOutlet",Ye.resultTemplate||Rt)("ngTemplateOutletContext",t.kEZ(5,Tn,A,Ye.term,Ye.formatter))}}function ti(V){return parseInt(`${V}`,10)}function Ri(V){return null!=V?`${V}`:""}function gi(V){return"string"==typeof V}function Hi(V){return!isNaN(ti(V))}function Fi(V){return"number"==typeof V&&isFinite(V)&&Math.floor(V)===V}function cs(V){return null!=V}function ws(V){return Hi(V)?`0${V}`.slice(-2):""}function xa(V,pe){return V&&V.className&&V.className.split&&V.className.split(/\s+/).indexOf(pe)>=0}function Al(V){return(V||document.body).getBoundingClientRect()}function Sa(V){return V.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}"undefined"!=typeof Element&&!Element.prototype.closest&&(Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest=function(V){let pe=this;if(!document.documentElement.contains(pe))return null;do{if(pe.matches(V))return pe;pe=pe.parentElement||pe.parentNode}while(null!==pe&&1===pe.nodeType);return null});const sa={animation:!0,transitionTimerDelayMs:5};let Fo=(()=>{class V{constructor(){this.animation=sa.animation}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})();const fa=()=>{},{transitionTimerDelayMs:ja}=sa,pt=new Map,an=(V,pe,A,K)=>{let Ye=K.context||{};const Rt=pt.get(pe);if(Rt)switch(K.runningTransition){case"continue":return J.E;case"stop":V.run(()=>Rt.transition$.complete()),Ye=Object.assign(Rt.context,Ye),pt.delete(pe)}const vr=A(pe,K.animation,Ye)||fa;if(!K.animation||"none"===window.getComputedStyle(pe).transitionProperty)return V.run(()=>vr()),(0,B.of)(void 0).pipe(function(V){return pe=>new I.y(A=>pe.subscribe(vr=>V.run(()=>A.next(vr)),vr=>V.run(()=>A.error(vr)),()=>V.run(()=>A.complete())))}(V));const Hr=new ie.xQ,_i=new ie.xQ,ji=Hr.pipe(function(...V){return pe=>(0,Se.z)(pe,(0,B.of)(...V))}(!0));pt.set(pe,{transition$:Hr,complete:()=>{_i.next(),_i.complete()},context:Ye});const bo=function(V){const{transitionDelay:pe,transitionDuration:A}=window.getComputedStyle(V);return 1e3*(parseFloat(pe)+parseFloat(A))}(pe);return V.runOutsideAngular(()=>{const is=(0,oe.R)(pe,"transitionend").pipe((0,Et.R)(ji),(0,lt.h)(({target:us})=>us===pe));h((0,fe.H)(bo+ja).pipe((0,Et.R)(ji)),is,_i).pipe((0,Et.R)(ji)).subscribe(()=>{pt.delete(pe),V.run(()=>{vr(),Hr.next(),Hr.complete()})})}),Hr.asObservable()},ye=(V,pe,A)=>{let{direction:K,maxHeight:Ye}=A;const{classList:Rt}=V;function vr(){Rt.add("collapse"),"show"===K?Rt.add("show"):Rt.remove("show")}if(pe)return Ye||(Ye=function(V){if("undefined"==typeof navigator)return"0px";const{classList:pe}=V,A=pe.contains("show");A||pe.add("show"),V.style.height="";const K=V.getBoundingClientRect().height+"px";return A||pe.remove("show"),K}(V),A.maxHeight=Ye,V.style.height="show"!==K?Ye:"0px",Rt.remove("collapse"),Rt.remove("collapsing"),Rt.remove("show"),Al(V),Rt.add("collapsing")),V.style.height="show"===K?Ye:"0px",()=>{vr(),Rt.remove("collapsing"),V.style.height=""};vr()};let Ta=(()=>{class V{constructor(A){this._ngbConfig=A,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})();const hl=({classList:V})=>{V.remove("show")};let Oa=(()=>{class V{constructor(A,K,Ye,Rt){this._renderer=K,this._element=Ye,this._zone=Rt,this.closed=new t.vpe,this.dismissible=A.dismissible,this.type=A.type,this.animation=A.animation}close(){const A=an(this._zone,this._element.nativeElement,hl,{animation:this.animation,runningTransition:"continue"});return A.subscribe(()=>this.closed.emit()),A}ngOnChanges(A){const K=A.type;K&&!K.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${K.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${K.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(Ta),t.Y36(t.Qsj),t.Y36(t.SBq),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(A,K){2&A&&t.ekj("fade",K.animation)("alert-dismissible",K.dismissible)},inputs:{dismissible:"dismissible",type:"type",animation:"animation"},outputs:{closed:"closed"},exportAs:["ngbAlert"],features:[t.TTD],ngContentSelectors:Yn,decls:2,vars:1,consts:function(){let pe;return pe="Close",[["type","button","class","close","aria-label",pe,3,"click",4,"ngIf"],["type","button","aria-label",pe,1,"close",3,"click"],["aria-hidden","true"]]},template:function(A,K){1&A&&(t.F$t(),t.Hsn(0),t.YNc(1,tr,3,0,"button",0)),2&A&&(t.xp6(1),t.Q6J("ngIf",K.dismissible))},directives:[e.O5],styles:["ngb-alert{display:block}"],encapsulation:2,changeDetection:0}),V})(),ba=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})(),Pr=(()=>{class V{constructor(A){this._ngbConfig=A}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})(),mi=(()=>{class V{constructor(A,K,Ye){this._element=A,this._zone=Ye,this.collapsed=!1,this.ngbCollapseChange=new t.vpe,this.shown=new t.vpe,this.hidden=new t.vpe,this.animation=K.animation}ngOnInit(){this._runTransition(this.collapsed,!1)}ngOnChanges({collapsed:A}){A.firstChange||this._runTransitionWithEvents(this.collapsed,this.animation)}toggle(A=this.collapsed){this.collapsed=!A,this.ngbCollapseChange.next(this.collapsed),this._runTransitionWithEvents(this.collapsed,this.animation)}_runTransition(A,K){return an(this._zone,this._element.nativeElement,ye,{animation:K,runningTransition:"stop",context:{direction:A?"hide":"show"}})}_runTransitionWithEvents(A,K){this._runTransition(A,K).subscribe(()=>{A?this.hidden.emit():this.shown.emit()})}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(Pr),t.Y36(t.R0b))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbCollapse",""]],inputs:{collapsed:["ngbCollapse","collapsed"],animation:"animation"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"],features:[t.TTD]}),V})(),ni=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({}),V})();class si{constructor(pe,A,K){this.year=Fi(pe)?pe:null,this.month=Fi(A)?A:null,this.day=Fi(K)?K:null}static from(pe){return pe instanceof si?pe:pe?new si(pe.year,pe.month,pe.day):null}equals(pe){return null!=pe&&this.year===pe.year&&this.month===pe.month&&this.day===pe.day}before(pe){return!!pe&&(this.year===pe.year?this.month===pe.month?this.day!==pe.day&&this.day<pe.day:this.month<pe.month:this.year<pe.year)}after(pe){return!!pe&&(this.year===pe.year?this.month===pe.month?this.day!==pe.day&&this.day>pe.day:this.month>pe.month:this.year>pe.year)}}function bi(V){return new si(V.getFullYear(),V.getMonth()+1,V.getDate())}function Ui(V){const pe=new Date(V.year,V.month-1,V.day,12);return isNaN(pe.getTime())||pe.setFullYear(V.year),pe}function ro(){return new Bi}let mo=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:ro,token:V,providedIn:"root"}),V})(),Bi=(()=>{class V extends mo{getDaysPerWeek(){return 7}getMonths(){return[1,2,3,4,5,6,7,8,9,10,11,12]}getWeeksPerMonth(){return 6}getNext(A,K="d",Ye=1){let Rt=Ui(A),vr=!0,Hr=Rt.getMonth();switch(K){case"y":Rt.setFullYear(Rt.getFullYear()+Ye);break;case"m":Hr+=Ye,Rt.setMonth(Hr),Hr%=12,Hr<0&&(Hr+=12);break;case"d":Rt.setDate(Rt.getDate()+Ye),vr=!1;break;default:return A}return vr&&Rt.getMonth()!==Hr&&Rt.setDate(0),bi(Rt)}getPrev(A,K="d",Ye=1){return this.getNext(A,K,-Ye)}getWeekday(A){let Ye=Ui(A).getDay();return 0===Ye?7:Ye}getWeekNumber(A,K){7===K&&(K=0);const vr=Ui(A[(11-K)%7]);vr.setDate(vr.getDate()+4-(vr.getDay()||7));const Hr=vr.getTime();return vr.setMonth(0),vr.setDate(1),Math.floor(Math.round((Hr-vr.getTime())/864e5)/7)+1}getToday(){return bi(new Date)}isValid(A){if(!(A&&Fi(A.year)&&Fi(A.month)&&Fi(A.day)&&0!==A.year))return!1;const K=Ui(A);return!isNaN(K.getTime())&&K.getFullYear()===A.year&&K.getMonth()+1===A.month&&K.getDate()===A.day}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})();function hi(V,pe){return!function(V,pe){return!V&&!pe||!!V&&!!pe&&V.equals(pe)}(V,pe)}function Br(V,pe){return!(!V&&!pe||V&&pe&&V.year===pe.year&&V.month===pe.month)}function ft(V,pe,A){return V&&pe&&V.before(pe)?pe:V&&A&&V.after(A)?A:V||null}function Ft(V,pe){const{minDate:A,maxDate:K,disabled:Ye,markDisabled:Rt}=pe;return!(null==V||Ye||Rt&&Rt(V,{year:V.year,month:V.month})||A&&V.before(A)||K&&V.after(K))}let lr=(()=>{class V{getMonthLabel(A){return`${this.getMonthFullName(A.month,A.year)} ${this.getYearNumerals(A.year)}`}getDayNumerals(A){return`${A.day}`}getWeekNumerals(A){return`${A}`}getYearNumerals(A){return`${A}`}getWeekLabel(){return""}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return function(V){return new dr(V)}(t.LFG(t.soG))},token:V,providedIn:"root"}),V})(),dr=(()=>{class V extends lr{constructor(A){super(),this._locale=A,this._monthsShort=(0,e.UT)(A,e.x.Standalone,e.Tn.Abbreviated),this._monthsFull=(0,e.UT)(A,e.x.Standalone,e.Tn.Wide)}getWeekdayLabel(A,K){const Ye=(0,e.Mn)(this._locale,e.x.Standalone,void 0===K?e.Tn.Short:K);return Ye.map((vr,Hr)=>Ye[(Hr+1)%7])[A-1]||""}getMonthShortName(A){return this._monthsShort[A-1]||""}getMonthFullName(A){return this._monthsFull[A-1]||""}getDayAriaLabel(A){const K=new Date(A.year,A.month-1,A.day);return(0,e.p6)(K,"fullDate",this._locale)}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(t.soG))},V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})(),li=(()=>{class V{constructor(A,K){this._calendar=A,this._i18n=K,this._VALIDATORS={dayTemplateData:Ye=>{if(this._state.dayTemplateData!==Ye)return{dayTemplateData:Ye}},displayMonths:Ye=>{if(Fi(Ye=ti(Ye))&&Ye>0&&this._state.displayMonths!==Ye)return{displayMonths:Ye}},disabled:Ye=>{if(this._state.disabled!==Ye)return{disabled:Ye}},firstDayOfWeek:Ye=>{if(Fi(Ye=ti(Ye))&&Ye>=0&&this._state.firstDayOfWeek!==Ye)return{firstDayOfWeek:Ye}},focusVisible:Ye=>{if(this._state.focusVisible!==Ye&&!this._state.disabled)return{focusVisible:Ye}},markDisabled:Ye=>{if(this._state.markDisabled!==Ye)return{markDisabled:Ye}},maxDate:Ye=>{const Rt=this.toValidDate(Ye,null);if(hi(this._state.maxDate,Rt))return{maxDate:Rt}},minDate:Ye=>{const Rt=this.toValidDate(Ye,null);if(hi(this._state.minDate,Rt))return{minDate:Rt}},navigation:Ye=>{if(this._state.navigation!==Ye)return{navigation:Ye}},outsideDays:Ye=>{if(this._state.outsideDays!==Ye)return{outsideDays:Ye}},weekdays:Ye=>{const Rt=!0===Ye||!1===Ye?e.Tn.Short:Ye,vr=!0!==Ye&&!1!==Ye||Ye;if(this._state.weekdayWidth!==Rt||this._state.weekdaysVisible!==vr)return{weekdayWidth:Rt,weekdaysVisible:vr}}},this._model$=new ie.xQ,this._dateSelect$=new ie.xQ,this._state={dayTemplateData:null,markDisabled:null,maxDate:null,minDate:null,disabled:!1,displayMonths:1,firstDate:null,firstDayOfWeek:1,lastDate:null,focusDate:null,focusVisible:!1,months:[],navigation:"select",outsideDays:"visible",prevDisabled:!1,nextDisabled:!1,selectedDate:null,selectBoxes:{years:[],months:[]},weekdayWidth:e.Tn.Short,weekdaysVisible:!0}}get model$(){return this._model$.pipe((0,lt.h)(A=>A.months.length>0))}get dateSelect$(){return this._dateSelect$.pipe((0,lt.h)(A=>null!==A))}set(A){let K=Object.keys(A).map(Ye=>this._VALIDATORS[Ye](A[Ye])).reduce((Ye,Rt)=>Object.assign(Object.assign({},Ye),Rt),{});Object.keys(K).length>0&&this._nextState(K)}focus(A){const K=this.toValidDate(A,null);null!=K&&!this._state.disabled&&hi(this._state.focusDate,K)&&this._nextState({focusDate:A})}focusSelect(){Ft(this._state.focusDate,this._state)&&this.select(this._state.focusDate,{emitEvent:!0})}open(A){const K=this.toValidDate(A,this._calendar.getToday());null!=K&&!this._state.disabled&&(!this._state.firstDate||Br(this._state.firstDate,K))&&this._nextState({firstDate:K})}select(A,K={}){const Ye=this.toValidDate(A,null);null!=Ye&&!this._state.disabled&&(hi(this._state.selectedDate,Ye)&&this._nextState({selectedDate:Ye}),K.emitEvent&&Ft(Ye,this._state)&&this._dateSelect$.next(Ye))}toValidDate(A,K){const Ye=si.from(A);return void 0===K&&(K=this._calendar.getToday()),this._calendar.isValid(Ye)?Ye:K}getMonth(A){for(let K of this._state.months)if(A.month===K.number&&A.year===K.year)return K;throw new Error(`month ${A.month} of year ${A.year} not found`)}_nextState(A){const K=this._updateState(A);this._patchContexts(K),this._state=K,this._model$.next(this._state)}_patchContexts(A){const{months:K,displayMonths:Ye,selectedDate:Rt,focusDate:vr,focusVisible:Hr,disabled:_i,outsideDays:ji}=A;A.months.forEach(bo=>{bo.weeks.forEach(is=>{is.days.forEach(Uo=>{vr&&(Uo.context.focused=vr.equals(Uo.date)&&Hr),Uo.tabindex=!_i&&vr&&Uo.date.equals(vr)&&vr.month===bo.number?0:-1,!0===_i&&(Uo.context.disabled=!0),void 0!==Rt&&(Uo.context.selected=null!==Rt&&Rt.equals(Uo.date)),bo.number!==Uo.date.month&&(Uo.hidden="hidden"===ji||"collapsed"===ji||Ye>1&&Uo.date.after(K[0].firstDate)&&Uo.date.before(K[Ye-1].lastDate))})})})}_updateState(A){const K=Object.assign({},this._state,A);let Ye=K.firstDate;if(("minDate"in A||"maxDate"in A)&&(function(V,pe){if(pe&&V&&pe.before(V))throw new Error(`'maxDate' ${pe} should be greater than 'minDate' ${V}`)}(K.minDate,K.maxDate),K.focusDate=ft(K.focusDate,K.minDate,K.maxDate),K.firstDate=ft(K.firstDate,K.minDate,K.maxDate),Ye=K.focusDate),"disabled"in A&&(K.focusVisible=!1),"selectedDate"in A&&0===this._state.months.length&&(Ye=K.selectedDate),"focusVisible"in A||"focusDate"in A&&(K.focusDate=ft(K.focusDate,K.minDate,K.maxDate),Ye=K.focusDate,0!==K.months.length&&K.focusDate&&!K.focusDate.before(K.firstDate)&&!K.focusDate.after(K.lastDate)))return K;if("firstDate"in A&&(K.firstDate=ft(K.firstDate,K.minDate,K.maxDate),Ye=K.firstDate),Ye){const vr=function(V,pe,A,K,Ye){const{displayMonths:Rt,months:vr}=A,Hr=vr.splice(0,vr.length);return Array.from({length:Rt},(ji,bo)=>{const is=Object.assign(V.getNext(pe,"m",bo),{day:1});if(vr[bo]=null,!Ye){const Uo=Hr.findIndex(us=>us.firstDate.equals(is));-1!==Uo&&(vr[bo]=Hr.splice(Uo,1)[0])}return is}).forEach((ji,bo)=>{null===vr[bo]&&(vr[bo]=function(V,pe,A,K,Ye={}){const{dayTemplateData:Rt,minDate:vr,maxDate:Hr,firstDayOfWeek:_i,markDisabled:ji,outsideDays:bo,weekdayWidth:is,weekdaysVisible:Uo}=A,us=V.getToday();Ye.firstDate=null,Ye.lastDate=null,Ye.number=pe.month,Ye.year=pe.year,Ye.weeks=Ye.weeks||[],Ye.weekdays=Ye.weekdays||[],pe=function(V,pe,A){const K=V.getDaysPerWeek(),Ye=new si(pe.year,pe.month,1),Rt=V.getWeekday(Ye)%K;return V.getPrev(Ye,"d",(K+Rt-A)%K)}(V,pe,_i),Uo||(Ye.weekdays.length=0);for(let Ks=0;Ks<V.getWeeksPerMonth();Ks++){let bs=Ye.weeks[Ks];bs||(bs=Ye.weeks[Ks]={number:0,days:[],collapsed:!0});const Xl=bs.days;for(let Oc=0;Oc<V.getDaysPerWeek();Oc++){0===Ks&&Uo&&(Ye.weekdays[Oc]=K.getWeekdayLabel(V.getWeekday(pe),is));const dl=new si(pe.year,pe.month,pe.day),iu=V.getNext(dl),ea=K.getDayAriaLabel(dl);let Kl=!!(vr&&dl.before(vr)||Hr&&dl.after(Hr));!Kl&&ji&&(Kl=ji(dl,{month:Ye.number,year:Ye.year}));let jl=dl.equals(us),zl=Rt?Rt(dl,{month:Ye.number,year:Ye.year}):void 0;null===Ye.firstDate&&dl.month===Ye.number&&(Ye.firstDate=dl),dl.month===Ye.number&&iu.month!==Ye.number&&(Ye.lastDate=dl);let Ac=Xl[Oc];Ac||(Ac=Xl[Oc]={}),Ac.date=dl,Ac.context=Object.assign(Ac.context||{},{$implicit:dl,date:dl,data:zl,currentMonth:Ye.number,currentYear:Ye.year,disabled:Kl,focused:!1,selected:!1,today:jl}),Ac.tabindex=-1,Ac.ariaLabel=ea,Ac.hidden=!1,pe=iu}bs.number=V.getWeekNumber(Xl.map(Oc=>Oc.date),_i),bs.collapsed="collapsed"===bo&&Xl[0].date.month!==Ye.number&&Xl[Xl.length-1].date.month!==Ye.number}return Ye}(V,ji,A,K,Hr.shift()||{}))}),vr}(this._calendar,Ye,K,this._i18n,"dayTemplateData"in A||"firstDayOfWeek"in A||"markDisabled"in A||"minDate"in A||"maxDate"in A||"disabled"in A||"outsideDays"in A||"weekdaysVisible"in A);K.months=vr,K.firstDate=vr[0].firstDate,K.lastDate=vr[vr.length-1].lastDate,"selectedDate"in A&&!Ft(K.selectedDate,K)&&(K.selectedDate=null),"firstDate"in A&&(!K.focusDate||K.focusDate.before(K.firstDate)||K.focusDate.after(K.lastDate))&&(K.focusDate=Ye);const Hr=!this._state.firstDate||this._state.firstDate.year!==K.firstDate.year,_i=!this._state.firstDate||this._state.firstDate.month!==K.firstDate.month;"select"===K.navigation?(("minDate"in A||"maxDate"in A||0===K.selectBoxes.years.length||Hr)&&(K.selectBoxes.years=function(V,pe,A){if(!V)return[];const K=pe?Math.max(pe.year,V.year-500):V.year-10,Rt=(A?Math.min(A.year,V.year+500):V.year+10)-K+1,vr=Array(Rt);for(let Hr=0;Hr<Rt;Hr++)vr[Hr]=K+Hr;return vr}(K.firstDate,K.minDate,K.maxDate)),("minDate"in A||"maxDate"in A||0===K.selectBoxes.months.length||Hr)&&(K.selectBoxes.months=function(V,pe,A,K){if(!pe)return[];let Ye=V.getMonths(pe.year);if(A&&pe.year===A.year){const Rt=Ye.findIndex(vr=>vr===A.month);Ye=Ye.slice(Rt)}if(K&&pe.year===K.year){const Rt=Ye.findIndex(vr=>vr===K.month);Ye=Ye.slice(0,Rt+1)}return Ye}(this._calendar,K.firstDate,K.minDate,K.maxDate))):K.selectBoxes={years:[],months:[]},("arrows"===K.navigation||"select"===K.navigation)&&(_i||Hr||"minDate"in A||"maxDate"in A||"disabled"in A)&&(K.prevDisabled=K.disabled||function(V,pe,A){const K=Object.assign(V.getPrev(pe,"m"),{day:1});return null!=A&&(K.year===A.year&&K.month<A.month||K.year<A.year&&1===A.month)}(this._calendar,K.firstDate,K.minDate),K.nextDisabled=K.disabled||function(V,pe,A){const K=Object.assign(V.getNext(pe,"m"),{day:1});return null!=A&&K.after(A)}(this._calendar,K.lastDate,K.maxDate))}return K}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(mo),t.LFG(lr))},V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})();var Ti=(()=>{return(V=Ti||(Ti={}))[V.PREV=0]="PREV",V[V.NEXT=1]="NEXT",Ti;var V})();let Oo=(()=>{class V{constructor(){this.displayMonths=1,this.firstDayOfWeek=1,this.navigation="select",this.outsideDays="visible",this.showWeekNumbers=!1,this.weekdays=e.Tn.Short}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})();function es(){return new uo}let jo=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:es,token:V,providedIn:"root"}),V})(),uo=(()=>{class V extends jo{fromModel(A){return A&&Fi(A.year)&&Fi(A.month)&&Fi(A.day)?{year:A.year,month:A.month,day:A.day}:null}toModel(A){return A&&Fi(A.year)&&Fi(A.month)&&Fi(A.day)?{year:A.year,month:A.month,day:A.day}:null}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})(),Ki=(()=>{class V{constructor(A){this.templateRef=A}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.Rgc))},V.\u0275dir=t.lG2({type:V,selectors:[["ng-template","ngbDatepickerContent",""]]}),V})(),Ho=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji){this._service=A,this._calendar=K,this.i18n=Ye,this._elementRef=Hr,this._ngbDateAdapter=_i,this._ngZone=ji,this._controlValue=null,this._destroyed$=new ie.xQ,this._publicState={},this.navigate=new t.vpe,this.dateSelect=new t.vpe,this.onChange=bo=>{},this.onTouched=()=>{},["dayTemplate","dayTemplateData","displayMonths","firstDayOfWeek","footerTemplate","markDisabled","minDate","maxDate","navigation","outsideDays","showWeekNumbers","startDate","weekdays"].forEach(bo=>this[bo]=Rt[bo]),A.dateSelect$.pipe((0,Et.R)(this._destroyed$)).subscribe(bo=>{this.dateSelect.emit(bo)}),A.model$.pipe((0,Et.R)(this._destroyed$)).subscribe(bo=>{const is=bo.firstDate,Uo=this.model?this.model.firstDate:null;this._publicState={maxDate:bo.maxDate,minDate:bo.minDate,firstDate:bo.firstDate,lastDate:bo.lastDate,focusedDate:bo.focusDate,months:bo.months.map(Oc=>Oc.firstDate)};let us=!1;if(!is.equals(Uo)&&(this.navigate.emit({current:Uo?{year:Uo.year,month:Uo.month}:null,next:{year:is.year,month:is.month},preventDefault:()=>us=!0}),us&&null!==Uo))return void this._service.open(Uo);const Ks=bo.selectedDate,bs=bo.focusDate,Xl=this.model?this.model.focusDate:null;this.model=bo,hi(Ks,this._controlValue)&&(this._controlValue=Ks,this.onTouched(),this.onChange(this._ngbDateAdapter.toModel(Ks))),hi(bs,Xl)&&Xl&&bo.focusVisible&&this.focus(),vr.markForCheck()})}get state(){return this._publicState}get calendar(){return this._calendar}focusDate(A){this._service.focus(si.from(A))}focusSelect(){this._service.focusSelect()}focus(){this._ngZone.onStable.asObservable().pipe((0,nn.q)(1)).subscribe(()=>{const A=this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex="0"]');A&&A.focus()})}navigateTo(A){this._service.open(si.from(A?A.day?A:Object.assign(Object.assign({},A),{day:1}):null))}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const A=(0,oe.R)(this._contentEl.nativeElement,"focusin"),K=(0,oe.R)(this._contentEl.nativeElement,"focusout"),{nativeElement:Ye}=this._elementRef;(0,Ae.T)(A,K).pipe((0,lt.h)(({target:Rt,relatedTarget:vr})=>!(xa(Rt,"ngb-dp-day")&&xa(vr,"ngb-dp-day")&&Ye.contains(Rt)&&Ye.contains(vr))),(0,Et.R)(this._destroyed$)).subscribe(({type:Rt})=>this._ngZone.run(()=>this._service.set({focusVisible:"focusin"===Rt})))})}ngOnDestroy(){this._destroyed$.next()}ngOnInit(){if(void 0===this.model){const A={};["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays","weekdays"].forEach(K=>A[K]=this[K]),this._service.set(A),this.navigateTo(this.startDate)}this.dayTemplate||(this.dayTemplate=this._defaultDayTemplate)}ngOnChanges(A){const K={};if(["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays","weekdays"].filter(Ye=>Ye in A).forEach(Ye=>K[Ye]=this[Ye]),this._service.set(K),"startDate"in A){const{currentValue:Ye,previousValue:Rt}=A.startDate;Br(Rt,Ye)&&this.navigateTo(this.startDate)}}onDateSelect(A){this._service.focus(A),this._service.select(A,{emitEvent:!0})}onNavigateDateSelect(A){this._service.open(A)}onNavigateEvent(A){switch(A){case Ti.PREV:this._service.open(this._calendar.getPrev(this.model.firstDate,"m",1));break;case Ti.NEXT:this._service.open(this._calendar.getNext(this.model.firstDate,"m",1))}}registerOnChange(A){this.onChange=A}registerOnTouched(A){this.onTouched=A}setDisabledState(A){this._service.set({disabled:A})}writeValue(A){this._controlValue=si.from(this._ngbDateAdapter.fromModel(A)),this._service.select(this._controlValue)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(li),t.Y36(mo),t.Y36(lr),t.Y36(Oo),t.Y36(t.sBO),t.Y36(t.SBq),t.Y36(jo),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-datepicker"]],contentQueries:function(A,K,Ye){if(1&A&&t.Suo(Ye,Ki,7),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K.contentTemplate=Rt.first)}},viewQuery:function(A,K){if(1&A&&(t.Gf(Sn,7),t.Gf($n,7)),2&A){let Ye;t.iGM(Ye=t.CRH())&&(K._defaultDayTemplate=Ye.first),t.iGM(Ye=t.CRH())&&(K._contentEl=Ye.first)}},inputs:{dayTemplate:"dayTemplate",dayTemplateData:"dayTemplateData",displayMonths:"displayMonths",firstDayOfWeek:"firstDayOfWeek",footerTemplate:"footerTemplate",markDisabled:"markDisabled",maxDate:"maxDate",minDate:"minDate",navigation:"navigation",outsideDays:"outsideDays",showWeekNumbers:"showWeekNumbers",startDate:"startDate",weekdays:"weekdays"},outputs:{navigate:"navigate",dateSelect:"dateSelect"},exportAs:["ngbDatepicker"],features:[t._Bn([{provide:zt.JU,useExisting:(0,t.Gpc)(()=>V),multi:!0},li]),t.TTD],decls:10,vars:5,consts:[["defaultDayTemplate",""],["defaultContentTemplate",""],[1,"ngb-dp-header"],[3,"date","months","disabled","showSelect","prevDisabled","nextDisabled","selectBoxes","navigate","select",4,"ngIf"],[1,"ngb-dp-content"],["content",""],[3,"ngTemplateOutlet"],["ngbDatepickerDayView","",3,"date","currentMonth","selected","disabled","focused"],["class","ngb-dp-month",4,"ngFor","ngForOf"],[1,"ngb-dp-month"],["class","ngb-dp-month-name",4,"ngIf"],[3,"month"],[1,"ngb-dp-month-name"],[3,"date","months","disabled","showSelect","prevDisabled","nextDisabled","selectBoxes","navigate","select"]],template:function(A,K){if(1&A&&(t.YNc(0,En,1,5,"ng-template",null,0,t.W1O),t.YNc(2,mn,1,1,"ng-template",null,1,t.W1O),t.TgZ(4,"div",2),t.YNc(5,jn,1,7,"ngb-datepicker-navigation",3),t.qZA(),t.TgZ(6,"div",4,5),t.YNc(8,Xt,0,0,"ng-template",6),t.qZA(),t.YNc(9,ut,0,0,"ng-template",6)),2&A){const Ye=t.MAs(3);t.xp6(5),t.Q6J("ngIf","none"!==K.navigation),t.xp6(1),t.ekj("ngb-dp-months",!K.contentTemplate),t.xp6(2),t.Q6J("ngTemplateOutlet",(null==K.contentTemplate?null:K.contentTemplate.templateRef)||Ye),t.xp6(1),t.Q6J("ngTemplateOutlet",K.footerTemplate)}},directives:function(){return[e.O5,e.tP,Te,e.sg,ha,gl]},styles:["ngb-datepicker{border:1px solid #dfdfdf;border-radius:.25rem;display:inline-block}ngb-datepicker-month{pointer-events:auto}ngb-datepicker.dropdown-menu{padding:0}.ngb-dp-body{z-index:1050}.ngb-dp-header{border-bottom:0;border-radius:.25rem .25rem 0 0;padding-top:.25rem;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-months{display:flex}.ngb-dp-month{pointer-events:none}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,.ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-left:1rem}.ngb-dp-month:last-child .ngb-dp-week{padding-right:.25rem}.ngb-dp-month:first-child .ngb-dp-week{padding-left:.25rem}.ngb-dp-month .ngb-dp-week:last-child{padding-bottom:.25rem}"],encapsulation:2,changeDetection:0}),V})();var Yi=(()=>{return(V=Yi||(Yi={}))[V.Tab=9]="Tab",V[V.Enter=13]="Enter",V[V.Escape=27]="Escape",V[V.Space=32]="Space",V[V.PageUp=33]="PageUp",V[V.PageDown=34]="PageDown",V[V.End=35]="End",V[V.Home=36]="Home",V[V.ArrowLeft=37]="ArrowLeft",V[V.ArrowUp=38]="ArrowUp",V[V.ArrowRight=39]="ArrowRight",V[V.ArrowDown=40]="ArrowDown",Yi;var V})();let na=(()=>{class V{processKey(A,K){const{state:Ye,calendar:Rt}=K;switch(A.which){case Yi.PageUp:K.focusDate(Rt.getPrev(Ye.focusedDate,A.shiftKey?"y":"m",1));break;case Yi.PageDown:K.focusDate(Rt.getNext(Ye.focusedDate,A.shiftKey?"y":"m",1));break;case Yi.End:K.focusDate(A.shiftKey?Ye.maxDate:Ye.lastDate);break;case Yi.Home:K.focusDate(A.shiftKey?Ye.minDate:Ye.firstDate);break;case Yi.ArrowLeft:K.focusDate(Rt.getPrev(Ye.focusedDate,"d",1));break;case Yi.ArrowUp:K.focusDate(Rt.getPrev(Ye.focusedDate,"d",Rt.getDaysPerWeek()));break;case Yi.ArrowRight:K.focusDate(Rt.getNext(Ye.focusedDate,"d",1));break;case Yi.ArrowDown:K.focusDate(Rt.getNext(Ye.focusedDate,"d",Rt.getDaysPerWeek()));break;case Yi.Enter:case Yi.Space:K.focusSelect();break;default:return}A.preventDefault(),A.stopPropagation()}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),ha=(()=>{class V{constructor(A,K,Ye,Rt){this.i18n=A,this.datepicker=K,this._keyboardService=Ye,this._service=Rt}set month(A){this.viewModel=this._service.getMonth(A)}onKeyDown(A){this._keyboardService.processKey(A,this.datepicker)}doSelect(A){!A.context.disabled&&!A.hidden&&this.datepicker.onDateSelect(A.date)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(lr),t.Y36(Ho),t.Y36(na),t.Y36(li))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-datepicker-month"]],hostAttrs:["role","grid"],hostBindings:function(A,K){1&A&&t.NdJ("keydown",function(Rt){return K.onKeyDown(Rt)})},inputs:{month:"month"},decls:2,vars:2,consts:[["class","ngb-dp-week ngb-dp-weekdays","role","row",4,"ngIf"],["ngFor","",3,"ngForOf"],["role","row",1,"ngb-dp-week","ngb-dp-weekdays"],["class","ngb-dp-weekday ngb-dp-showweek small",4,"ngIf"],["class","ngb-dp-weekday small","role","columnheader",4,"ngFor","ngForOf"],[1,"ngb-dp-weekday","ngb-dp-showweek","small"],["role","columnheader",1,"ngb-dp-weekday","small"],["class","ngb-dp-week","role","row",4,"ngIf"],["role","row",1,"ngb-dp-week"],["class","ngb-dp-week-number small text-muted",4,"ngIf"],["class","ngb-dp-day","role","gridcell",3,"disabled","tabindex","hidden","ngb-dp-today","click",4,"ngFor","ngForOf"],[1,"ngb-dp-week-number","small","text-muted"],["role","gridcell",1,"ngb-dp-day",3,"tabindex","click"],[3,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(A,K){1&A&&(t.YNc(0,yn,3,2,"div",0),t.YNc(1,ht,1,1,"ng-template",1)),2&A&&(t.Q6J("ngIf",K.viewModel.weekdays.length>0),t.xp6(1),t.Q6J("ngForOf",K.viewModel.weeks))},directives:[e.O5,e.sg,e.tP],styles:['ngb-datepicker-month{display:block}.ngb-dp-week-number,.ngb-dp-weekday{line-height:2rem;text-align:center;font-style:italic}.ngb-dp-weekday{color:#5bc0de;color:var(--info)}.ngb-dp-week{border-radius:.25rem;display:flex}.ngb-dp-weekdays{border-bottom:1px solid rgba(0,0,0,.125);border-radius:0;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-day,.ngb-dp-week-number,.ngb-dp-weekday{width:2rem;height:2rem}.ngb-dp-day{cursor:pointer}.ngb-dp-day.disabled,.ngb-dp-day.hidden{cursor:default;pointer-events:none}.ngb-dp-day[tabindex="0"]{z-index:1}'],encapsulation:2}),V})(),gl=(()=>{class V{constructor(A){this.i18n=A,this.navigation=Ti,this.months=[],this.navigate=new t.vpe,this.select=new t.vpe}onClickPrev(A){A.currentTarget.focus(),this.navigate.emit(this.navigation.PREV)}onClickNext(A){A.currentTarget.focus(),this.navigate.emit(this.navigation.NEXT)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(lr))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-datepicker-navigation"]],inputs:{months:"months",date:"date",disabled:"disabled",showSelect:"showSelect",prevDisabled:"prevDisabled",nextDisabled:"nextDisabled",selectBoxes:"selectBoxes"},outputs:{navigate:"navigate",select:"select"},decls:8,vars:4,consts:function(){let pe,A,K,Ye;return pe="Previous month",A="Previous month",K="Next month",Ye="Next month",[[1,"ngb-dp-arrow"],["type","button","aria-label",pe,"title",A,1,"btn","btn-link","ngb-dp-arrow-btn",3,"disabled","click"],[1,"ngb-dp-navigation-chevron"],["class","ngb-dp-navigation-select",3,"date","disabled","months","years","select",4,"ngIf"],[4,"ngIf"],[1,"ngb-dp-arrow","right"],["type","button","aria-label",K,"title",Ye,1,"btn","btn-link","ngb-dp-arrow-btn",3,"disabled","click"],[1,"ngb-dp-navigation-select",3,"date","disabled","months","years","select"],["ngFor","",3,"ngForOf"],["class","ngb-dp-arrow",4,"ngIf"],[1,"ngb-dp-month-name"]]},template:function(A,K){1&A&&(t.TgZ(0,"div",0),t.TgZ(1,"button",1),t.NdJ("click",function(Rt){return K.onClickPrev(Rt)}),t._UZ(2,"span",2),t.qZA(),t.qZA(),t.YNc(3,L,1,4,"ngb-datepicker-navigation-select",3),t.YNc(4,it,1,1,void 0,4),t.TgZ(5,"div",5),t.TgZ(6,"button",6),t.NdJ("click",function(Rt){return K.onClickNext(Rt)}),t._UZ(7,"span",2),t.qZA(),t.qZA()),2&A&&(t.xp6(1),t.Q6J("disabled",K.prevDisabled),t.xp6(2),t.Q6J("ngIf",K.showSelect),t.xp6(1),t.Q6J("ngIf",!K.showSelect),t.xp6(2),t.Q6J("disabled",K.nextDisabled))},directives:function(){return[e.O5,ge,e.sg]},styles:["ngb-datepicker-navigation{display:flex;align-items:center}.ngb-dp-navigation-chevron{border-style:solid;border-width:.2em .2em 0 0;display:inline-block;width:.75em;height:.75em;margin-left:.25em;margin-right:.15em;transform:rotate(-135deg)}.ngb-dp-arrow{display:flex;flex:1 1 auto;padding-right:0;padding-left:0;margin:0;width:2rem;height:2rem}.ngb-dp-arrow.right{justify-content:flex-end}.ngb-dp-arrow.right .ngb-dp-navigation-chevron{transform:rotate(45deg);margin-left:.15em;margin-right:.25em}.ngb-dp-arrow-btn{padding:0 .25rem;margin:0 .5rem;border:none;background-color:transparent;z-index:1}.ngb-dp-arrow-btn:focus{outline-width:1px;outline-style:auto}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.ngb-dp-arrow-btn:focus{outline-style:solid}}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center}.ngb-dp-navigation-select{display:flex;flex:1 1 9rem}"],encapsulation:2,changeDetection:0}),V})();const Hn=(V,pe)=>!!pe&&pe.some(A=>A.contains(V)),Ll=(V,pe)=>!pe||null!=function(V,pe){return pe&&void 0!==V.closest?V.closest(pe):null}(V,pe),Ds="undefined"!=typeof navigator&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function hc(V,pe,A,K,Ye,Rt,vr,Hr){A&&V.runOutsideAngular((V=>Ds?()=>setTimeout(()=>V(),100):V)(()=>{const ji=(0,oe.R)(pe,"keydown").pipe((0,Et.R)(Ye),(0,lt.h)(Uo=>Uo.which===Yi.Escape),(0,ae.b)(Uo=>Uo.preventDefault())),bo=(0,oe.R)(pe,"mousedown").pipe((0,St.U)(Uo=>{const us=Uo.target;return 2!==Uo.button&&!Hn(us,vr)&&("inside"===A?Hn(us,Rt)&&Ll(us,Hr):"outside"===A?!Hn(us,Rt):Ll(us,Hr)||!Hn(us,Rt))}),(0,Et.R)(Ye)),is=(0,oe.R)(pe,"mouseup").pipe(be(bo),(0,lt.h)(([Uo,us])=>us),(0,Ie.g)(0),(0,Et.R)(Ye));h([ji.pipe((0,St.U)(Uo=>0)),is.pipe((0,St.U)(Uo=>1))]).subscribe(Uo=>V.run(()=>K(Uo)))}))}const Fl=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function Cl(V){const pe=Array.from(V.querySelectorAll(Fl)).filter(A=>-1!==A.tabIndex);return[pe[0],pe[pe.length-1]]}const ql=(V,pe,A,K=!1)=>{V.runOutsideAngular(()=>{const Ye=(0,oe.R)(pe,"focusin").pipe((0,Et.R)(A),(0,St.U)(Rt=>Rt.target));(0,oe.R)(pe,"keydown").pipe((0,Et.R)(A),(0,lt.h)(Rt=>Rt.which===Yi.Tab),be(Ye)).subscribe(([Rt,vr])=>{const[Hr,_i]=Cl(pe);(vr===Hr||vr===pe)&&Rt.shiftKey&&(_i.focus(),Rt.preventDefault()),vr===_i&&!Rt.shiftKey&&(Hr.focus(),Rt.preventDefault())}),K&&(0,oe.R)(pe,"click").pipe((0,Et.R)(A),be(Ye),(0,St.U)(Rt=>Rt[1])).subscribe(Rt=>Rt.focus())})},Zl=/\s+/,eu=new class{getAllStyles(pe){return window.getComputedStyle(pe)}getStyle(pe,A){return this.getAllStyles(pe)[A]}isStaticPositioned(pe){return"static"===(this.getStyle(pe,"position")||"static")}offsetParent(pe){let A=pe.offsetParent||document.documentElement;for(;A&&A!==document.documentElement&&this.isStaticPositioned(A);)A=A.offsetParent;return A||document.documentElement}position(pe,A=!0){let K,Ye={width:0,height:0,top:0,bottom:0,left:0,right:0};if("fixed"===this.getStyle(pe,"position"))K=pe.getBoundingClientRect(),K={top:K.top,bottom:K.bottom,left:K.left,right:K.right,height:K.height,width:K.width};else{const Rt=this.offsetParent(pe);K=this.offset(pe,!1),Rt!==document.documentElement&&(Ye=this.offset(Rt,!1)),Ye.top+=Rt.clientTop,Ye.left+=Rt.clientLeft}return K.top-=Ye.top,K.bottom-=Ye.top,K.left-=Ye.left,K.right-=Ye.left,A&&(K.top=Math.round(K.top),K.bottom=Math.round(K.bottom),K.left=Math.round(K.left),K.right=Math.round(K.right)),K}offset(pe,A=!0){const K=pe.getBoundingClientRect(),Ye_top=window.pageYOffset-document.documentElement.clientTop,Ye_left=window.pageXOffset-document.documentElement.clientLeft;let Rt={height:K.height||pe.offsetHeight,width:K.width||pe.offsetWidth,top:K.top+Ye_top,bottom:K.bottom+Ye_top,left:K.left+Ye_left,right:K.right+Ye_left};return A&&(Rt.height=Math.round(Rt.height),Rt.width=Math.round(Rt.width),Rt.top=Math.round(Rt.top),Rt.bottom=Math.round(Rt.bottom),Rt.left=Math.round(Rt.left),Rt.right=Math.round(Rt.right)),Rt}positionElements(pe,A,K,Ye){const[Rt="top",vr="center"]=K.split("-"),Hr=Ye?this.offset(pe,!1):this.position(pe,!1),_i=this.getAllStyles(A),ji=parseFloat(_i.marginTop),bo=parseFloat(_i.marginBottom),is=parseFloat(_i.marginLeft),Uo=parseFloat(_i.marginRight);let us=0,Ks=0;switch(Rt){case"top":us=Hr.top-(A.offsetHeight+ji+bo);break;case"bottom":us=Hr.top+Hr.height;break;case"left":Ks=Hr.left-(A.offsetWidth+is+Uo);break;case"right":Ks=Hr.left+Hr.width}switch(vr){case"top":us=Hr.top;break;case"bottom":us=Hr.top+Hr.height-A.offsetHeight;break;case"left":Ks=Hr.left;break;case"right":Ks=Hr.left+Hr.width-A.offsetWidth;break;case"center":"top"===Rt||"bottom"===Rt?Ks=Hr.left+Hr.width/2-A.offsetWidth/2:us=Hr.top+Hr.height/2-A.offsetHeight/2}A.style.transform=`translate(${Math.round(Ks)}px, ${Math.round(us)}px)`;const bs=A.getBoundingClientRect(),Xl=document.documentElement,Oc=window.innerHeight||Xl.clientHeight,dl=window.innerWidth||Xl.clientWidth;return bs.left>=0&&bs.top>=0&&bs.right<=dl&&bs.bottom<=Oc}};function Je(V,pe,A,K,Ye){let Rt=Array.isArray(A)?A:A.split(Zl);const vr=["top","bottom","left","right","top-left","top-right","bottom-left","bottom-right","left-top","left-bottom","right-top","right-bottom"],Hr=pe.classList,_i=us=>{const[Ks,bs]=us.split("-"),Xl=[];return Ye&&(Xl.push(`${Ye}-${Ks}`),bs&&Xl.push(`${Ye}-${Ks}-${bs}`),Xl.forEach(Oc=>{Hr.add(Oc)})),Xl};Ye&&vr.forEach(us=>{Hr.remove(`${Ye}-${us}`)});let ji=Rt.findIndex(us=>"auto"===us);ji>=0&&vr.forEach(function(us){null==Rt.find(Ks=>-1!==Ks.search("^"+us))&&Rt.splice(ji++,1,us)});const bo=pe.style;bo.position="absolute",bo.top="0",bo.left="0",bo["will-change"]="transform";let is=null,Uo=!1;for(is of Rt){let us=_i(is);if(eu.positionElements(V,pe,is,K)){Uo=!0;break}Ye&&us.forEach(Ks=>{Hr.remove(Ks)})}return Uo||(is=Rt[0],_i(is),eu.positionElements(V,pe,is,K)),is}function Fe(){return new Mt}let we=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:Fe,token:V,providedIn:"root"}),V})(),Mt=(()=>{class V extends we{parse(A){if(null!=A){const K=A.trim().split("-");if(1===K.length&&Hi(K[0]))return{year:ti(K[0]),month:null,day:null};if(2===K.length&&Hi(K[0])&&Hi(K[1]))return{year:ti(K[0]),month:ti(K[1]),day:null};if(3===K.length&&Hi(K[0])&&Hi(K[1])&&Hi(K[2]))return{year:ti(K[0]),month:ti(K[1]),day:ti(K[2])}}return null}format(A){return A?`${A.year}-${Hi(A.month)?ws(A.month):""}-${Hi(A.day)?ws(A.day):""}`:""}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})(),xe=(()=>{class V extends Oo{constructor(){super(...arguments),this.autoClose=!0,this.placement=["bottom-left","bottom-right","top-left","top-right"],this.restoreFocus=!0}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),ke=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji,bo,is,Uo){this._parserFormatter=A,this._elRef=K,this._vcRef=Ye,this._renderer=Rt,this._cfr=vr,this._ngZone=Hr,this._calendar=_i,this._dateAdapter=ji,this._document=bo,this._changeDetector=is,this._cRef=null,this._disabled=!1,this._elWithFocus=null,this._model=null,this.dateSelect=new t.vpe,this.navigate=new t.vpe,this.closed=new t.vpe,this._onChange=us=>{},this._onTouched=()=>{},this._validatorChange=()=>{},["autoClose","container","positionTarget","placement"].forEach(us=>this[us]=Uo[us]),this._zoneSubscription=Hr.onStable.subscribe(()=>this._updatePopupPosition())}get disabled(){return this._disabled}set disabled(A){this._disabled=""===A||A&&"false"!==A,this.isOpen()&&this._cRef.instance.setDisabledState(this._disabled)}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}registerOnValidatorChange(A){this._validatorChange=A}setDisabledState(A){this.disabled=A}validate(A){const{value:K}=A;if(null!=K){const Ye=this._fromDateStruct(this._dateAdapter.fromModel(K));if(!Ye)return{ngbDate:{invalid:K}};if(this.minDate&&Ye.before(si.from(this.minDate)))return{ngbDate:{minDate:{minDate:this.minDate,actual:K}}};if(this.maxDate&&Ye.after(si.from(this.maxDate)))return{ngbDate:{maxDate:{maxDate:this.maxDate,actual:K}}}}return null}writeValue(A){this._model=this._fromDateStruct(this._dateAdapter.fromModel(A)),this._writeModelValue(this._model)}manualDateChange(A,K=!1){const Ye=A!==this._inputValue;Ye&&(this._inputValue=A,this._model=this._fromDateStruct(this._parserFormatter.parse(A))),(Ye||!K)&&this._onChange(this._model?this._dateAdapter.toModel(this._model):""===A?null:A),K&&this._model&&this._writeModelValue(this._model)}isOpen(){return!!this._cRef}open(){if(!this.isOpen()){const A=this._cfr.resolveComponentFactory(Ho);this._cRef=this._vcRef.createComponent(A),this._applyPopupStyling(this._cRef.location.nativeElement),this._applyDatepickerInputs(this._cRef.instance),this._subscribeForDatepickerOutputs(this._cRef.instance),this._cRef.instance.ngOnInit(),this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model)),this._cRef.instance.registerOnChange(K=>{this.writeValue(K),this._onChange(K),this._onTouched()}),this._cRef.changeDetectorRef.detectChanges(),this._cRef.instance.setDisabledState(this.disabled),"body"===this.container&&this._document.querySelector(this.container).appendChild(this._cRef.location.nativeElement),this._elWithFocus=this._document.activeElement,ql(this._ngZone,this._cRef.location.nativeElement,this.closed,!0),this._cRef.instance.focus(),hc(this._ngZone,this._document,this.autoClose,()=>this.close(),this.closed,[],[this._elRef.nativeElement,this._cRef.location.nativeElement])}}close(){if(this.isOpen()){this._vcRef.remove(this._vcRef.indexOf(this._cRef.hostView)),this._cRef=null,this.closed.emit(),this._changeDetector.markForCheck();let A=this._elWithFocus;gi(this.restoreFocus)?A=this._document.querySelector(this.restoreFocus):void 0!==this.restoreFocus&&(A=this.restoreFocus),A&&A.focus?A.focus():this._document.body.focus()}}toggle(){this.isOpen()?this.close():this.open()}navigateTo(A){this.isOpen()&&this._cRef.instance.navigateTo(A)}onBlur(){this._onTouched()}onFocus(){this._elWithFocus=this._elRef.nativeElement}ngOnChanges(A){if((A.minDate||A.maxDate)&&(this._validatorChange(),this.isOpen()&&(A.minDate&&(this._cRef.instance.minDate=this.minDate),A.maxDate&&(this._cRef.instance.maxDate=this.maxDate),this._cRef.instance.ngOnChanges(A))),A.datepickerClass){const{currentValue:K,previousValue:Ye}=A.datepickerClass;this._applyPopupClass(K,Ye)}}ngOnDestroy(){this.close(),this._zoneSubscription.unsubscribe()}_applyDatepickerInputs(A){["dayTemplate","dayTemplateData","displayMonths","firstDayOfWeek","footerTemplate","markDisabled","minDate","maxDate","navigation","outsideDays","showNavigation","showWeekNumbers","weekdays"].forEach(K=>{void 0!==this[K]&&(A[K]=this[K])}),A.startDate=this.startDate||this._model}_applyPopupClass(A,K){var Ye;const Rt=null===(Ye=this._cRef)||void 0===Ye?void 0:Ye.location.nativeElement;Rt&&(A&&this._renderer.addClass(Rt,A),K&&this._renderer.removeClass(Rt,K))}_applyPopupStyling(A){this._renderer.addClass(A,"dropdown-menu"),this._renderer.addClass(A,"show"),"body"===this.container&&this._renderer.addClass(A,"ngb-dp-body"),this._applyPopupClass(this.datepickerClass)}_subscribeForDatepickerOutputs(A){A.navigate.subscribe(K=>this.navigate.emit(K)),A.dateSelect.subscribe(K=>{this.dateSelect.emit(K),(!0===this.autoClose||"inside"===this.autoClose)&&this.close()})}_writeModelValue(A){const K=this._parserFormatter.format(A);this._inputValue=K,this._renderer.setProperty(this._elRef.nativeElement,"value",K),this.isOpen()&&(this._cRef.instance.writeValue(this._dateAdapter.toModel(A)),this._onTouched())}_fromDateStruct(A){const K=A?new si(A.year,A.month,A.day):null;return this._calendar.isValid(K)?K:null}_updatePopupPosition(){if(!this._cRef)return;let A;if(A=gi(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget instanceof HTMLElement?this.positionTarget:this._elRef.nativeElement,this.positionTarget&&!A)throw new Error("ngbDatepicker could not find element declared in [positionTarget] to position against.");Je(A,this._cRef.location.nativeElement,this.placement,"body"===this.container)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(we),t.Y36(t.SBq),t.Y36(t.s_b),t.Y36(t.Qsj),t.Y36(t._Vd),t.Y36(t.R0b),t.Y36(mo),t.Y36(jo),t.Y36(e.K0),t.Y36(t.sBO),t.Y36(xe))},V.\u0275dir=t.lG2({type:V,selectors:[["input","ngbDatepicker",""]],hostVars:1,hostBindings:function(A,K){1&A&&t.NdJ("input",function(Rt){return K.manualDateChange(Rt.target.value)})("change",function(Rt){return K.manualDateChange(Rt.target.value,!0)})("focus",function(){return K.onFocus()})("blur",function(){return K.onBlur()}),2&A&&t.Ikx("disabled",K.disabled)},inputs:{disabled:"disabled",autoClose:"autoClose",datepickerClass:"datepickerClass",dayTemplate:"dayTemplate",dayTemplateData:"dayTemplateData",displayMonths:"displayMonths",firstDayOfWeek:"firstDayOfWeek",footerTemplate:"footerTemplate",markDisabled:"markDisabled",minDate:"minDate",maxDate:"maxDate",navigation:"navigation",outsideDays:"outsideDays",placement:"placement",restoreFocus:"restoreFocus",showWeekNumbers:"showWeekNumbers",startDate:"startDate",container:"container",positionTarget:"positionTarget",weekdays:"weekdays"},outputs:{dateSelect:"dateSelect",navigate:"navigate",closed:"closed"},exportAs:["ngbDatepicker"],features:[t._Bn([{provide:zt.JU,useExisting:(0,t.Gpc)(()=>V),multi:!0},{provide:zt.Cf,useExisting:(0,t.Gpc)(()=>V),multi:!0},{provide:Oo,useExisting:xe}]),t.TTD]}),V})(),Te=(()=>{class V{constructor(A){this.i18n=A}isMuted(){return!this.selected&&(this.date.month!==this.currentMonth||this.disabled)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(lr))},V.\u0275cmp=t.Xpm({type:V,selectors:[["","ngbDatepickerDayView",""]],hostAttrs:[1,"btn-light"],hostVars:10,hostBindings:function(A,K){2&A&&t.ekj("bg-primary",K.selected)("text-white",K.selected)("text-muted",K.isMuted())("outside",K.isMuted())("active",K.focused)},inputs:{currentMonth:"currentMonth",date:"date",disabled:"disabled",focused:"focused",selected:"selected"},attrs:Pt,decls:1,vars:1,template:function(A,K){1&A&&t._uU(0),2&A&&t.Oqu(K.i18n.getDayNumerals(K.date))},styles:["[ngbDatepickerDayView]{text-align:center;width:2rem;height:2rem;line-height:2rem;border-radius:.25rem;background:transparent}[ngbDatepickerDayView].outside{opacity:.5}"],encapsulation:2,changeDetection:0}),V})(),ge=(()=>{class V{constructor(A,K){this.i18n=A,this._renderer=K,this.select=new t.vpe,this._month=-1,this._year=-1}changeMonth(A){this.select.emit(new si(this.date.year,ti(A),1))}changeYear(A){this.select.emit(new si(ti(A),this.date.month,1))}ngAfterViewChecked(){this.date&&(this.date.month!==this._month&&(this._month=this.date.month,this._renderer.setProperty(this.monthSelect.nativeElement,"value",this._month)),this.date.year!==this._year&&(this._year=this.date.year,this._renderer.setProperty(this.yearSelect.nativeElement,"value",this._year)))}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(lr),t.Y36(t.Qsj))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-datepicker-navigation-select"]],viewQuery:function(A,K){if(1&A&&(t.Gf(Ut,7,t.SBq),t.Gf(ot,7,t.SBq)),2&A){let Ye;t.iGM(Ye=t.CRH())&&(K.monthSelect=Ye.first),t.iGM(Ye=t.CRH())&&(K.yearSelect=Ye.first)}},inputs:{date:"date",disabled:"disabled",months:"months",years:"years"},outputs:{select:"select"},decls:6,vars:4,consts:function(){let pe,A,K,Ye;return pe="Select month",A="Select month",K="Select year",Ye="Select year",[["aria-label",pe,"title",A,1,"custom-select",3,"disabled","change"],["month",""],[3,"value",4,"ngFor","ngForOf"],["aria-label",K,"title",Ye,1,"custom-select",3,"disabled","change"],["year",""],[3,"value"]]},template:function(A,K){1&A&&(t.TgZ(0,"select",0,1),t.NdJ("change",function(Rt){return K.changeMonth(Rt.target.value)}),t.YNc(2,Nn,2,3,"option",2),t.qZA(),t.TgZ(3,"select",3,4),t.NdJ("change",function(Rt){return K.changeYear(Rt.target.value)}),t.YNc(5,sn,2,2,"option",2),t.qZA()),2&A&&(t.Q6J("disabled",K.disabled),t.xp6(2),t.Q6J("ngForOf",K.months),t.xp6(1),t.Q6J("disabled",K.disabled),t.xp6(2),t.Q6J("ngForOf",K.years))},directives:[e.sg,zt.YN,zt.Kr],styles:["ngb-datepicker-navigation-select>.custom-select{flex:1 1 auto;padding:0 .5rem;font-size:.875rem;height:1.85rem}ngb-datepicker-navigation-select>.custom-select:focus{z-index:1}ngb-datepicker-navigation-select>.custom-select::-ms-value{background-color:transparent!important}"],encapsulation:2,changeDetection:0}),V})();new Date(1882,10,12),new Date(2174,10,25);let lc=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez,zt.u5]]}),V})(),Sc=(()=>{class V{constructor(){this.autoClose=!0,this.placement=["bottom-left","bottom-right","top-left","top-right"]}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),Tu=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275dir=t.lG2({type:V,selectors:[["",8,"navbar"]]}),V})(),nu=(()=>{class V{constructor(A){this.elementRef=A,this._disabled=!1}set disabled(A){this._disabled=""===A||!0===A}get disabled(){return this._disabled}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:2,hostBindings:function(A,K){2&A&&t.ekj("disabled",K.disabled)},inputs:{disabled:"disabled"}}),V})(),xl=(()=>{class V{constructor(A,K){this.dropdown=A,this.placement="bottom",this.isOpen=!1,this.nativeElement=K.nativeElement}}return V.\u0275fac=function(A){return new(A||V)(t.Y36((0,t.Gpc)(()=>rl)),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(A,K,Ye){if(1&A&&t.Suo(Ye,nu,4),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K.menuItems=Rt)}},hostVars:5,hostBindings:function(A,K){1&A&&t.NdJ("keydown.ArrowUp",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.ArrowDown",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Home",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.End",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Enter",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Space",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Tab",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Shift.Tab",function(Rt){return K.dropdown.onKeyDown(Rt)}),2&A&&(t.uIk("x-placement",K.placement),t.ekj("dropdown-menu",!0)("show",K.dropdown.isOpen()))}}),V})(),Gl=(()=>{class V{constructor(A,K){this.dropdown=A,this.nativeElement=K.nativeElement}}return V.\u0275fac=function(A){return new(A||V)(t.Y36((0,t.Gpc)(()=>rl)),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(A,K){2&A&&t.uIk("aria-expanded",K.dropdown.isOpen())}}),V})(),nl=(()=>{class V extends Gl{constructor(A,K){super(A,K)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36((0,t.Gpc)(()=>rl)),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(A,K){1&A&&t.NdJ("click",function(){return K.dropdown.toggle()})("keydown.ArrowUp",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.ArrowDown",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Home",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.End",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Tab",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Shift.Tab",function(Rt){return K.dropdown.onKeyDown(Rt)}),2&A&&t.uIk("aria-expanded",K.dropdown.isOpen())},features:[t._Bn([{provide:Gl,useExisting:(0,t.Gpc)(()=>V)}]),t.qOj]}),V})(),rl=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i){this._changeDetector=A,this._document=Ye,this._ngZone=Rt,this._elementRef=vr,this._renderer=Hr,this._closed$=new ie.xQ,this._bodyContainer=null,this._open=!1,this.openChange=new t.vpe,this.placement=K.placement,this.container=K.container,this.autoClose=K.autoClose,this.display=_i?"static":"dynamic",this._zoneSubscription=Rt.onStable.subscribe(()=>{this._positionMenu()})}ngAfterContentInit(){this._ngZone.onStable.pipe((0,nn.q)(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(A){if(A.container&&this._open&&this._applyContainer(this.container),A.placement&&!A.placement.isFirstChange&&this._applyPlacementClasses(),A.dropdownClass){const{currentValue:K,previousValue:Ye}=A.dropdownClass;this._applyCustomDropdownClass(K,Ye)}}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&this._anchor.nativeElement.focus())}_setCloseHandlers(){hc(this._ngZone,this._document,this.autoClose,A=>{this.close(),0===A&&this._anchor.nativeElement.focus()},this._closed$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._closed$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this._resetContainer(),this._closed$.next(),this._zoneSubscription.unsubscribe()}onKeyDown(A){const K=A.which,Ye=this._getMenuElements();let Rt=-1,vr=null;const Hr=this._isEventFromToggle(A);if(!Hr&&Ye.length&&Ye.forEach((_i,ji)=>{_i.contains(A.target)&&(vr=_i),_i===this._document.activeElement&&(Rt=ji)}),K!==Yi.Space&&K!==Yi.Enter){if(K!==Yi.Tab){if(Hr||vr){if(this.open(),Ye.length){switch(K){case Yi.ArrowDown:Rt=Math.min(Rt+1,Ye.length-1);break;case Yi.ArrowUp:if(this._isDropup()&&-1===Rt){Rt=Ye.length-1;break}Rt=Math.max(Rt-1,0);break;case Yi.Home:Rt=0;break;case Yi.End:Rt=Ye.length-1}Ye[Rt].focus()}A.preventDefault()}}else if(A.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===A.target)return void("body"!==this.container||A.shiftKey?A.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const _i=this._menu.nativeElement.querySelectorAll(Fl);A.shiftKey&&A.target===_i[0]?(this._anchor.nativeElement.focus(),A.preventDefault()):!A.shiftKey&&A.target===_i[_i.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else(0,oe.R)(A.target,"focusout").pipe((0,nn.q)(1)).subscribe(({relatedTarget:_i})=>{this._elementRef.nativeElement.contains(_i)||this.close()})}}else vr&&(!0===this.autoClose||"inside"===this.autoClose)&&(0,oe.R)(vr,"click").pipe((0,nn.q)(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(A){return this._anchor.nativeElement.contains(A.target)}_getMenuElements(){const A=this._menu;return null==A?[]:A.menuItems.filter(K=>!K.disabled).map(K=>K.elementRef.nativeElement)}_positionMenu(){const A=this._menu;this.isOpen()&&A&&this._applyPlacementClasses("dynamic"===this.display?Je(this._anchor.nativeElement,this._bodyContainer||this._menu.nativeElement,this.placement,"body"===this.container):this._getFirstPlacement(this.placement))}_getFirstPlacement(A){return Array.isArray(A)?A[0]:A.split(" ")[0]}_resetContainer(){const A=this._renderer;if(this._menu){const Ye=this._menu.nativeElement;A.appendChild(this._elementRef.nativeElement,Ye),A.removeStyle(Ye,"position"),A.removeStyle(Ye,"transform")}this._bodyContainer&&(A.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(A=null){if(this._resetContainer(),"body"===A){const K=this._renderer,Ye=this._menu.nativeElement,Rt=this._bodyContainer=this._bodyContainer||K.createElement("div");K.setStyle(Rt,"position","absolute"),K.setStyle(Ye,"position","static"),K.setStyle(Rt,"z-index","1050"),K.appendChild(Rt,Ye),K.appendChild(this._document.body,Rt)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(A,K){const Ye="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;Ye&&(K&&this._renderer.removeClass(Ye,K),A&&this._renderer.addClass(Ye,A))}_applyPlacementClasses(A){const K=this._menu;if(K){A||(A=this._getFirstPlacement(this.placement));const Ye=this._renderer,Rt=this._elementRef.nativeElement;Ye.removeClass(Rt,"dropup"),Ye.removeClass(Rt,"dropdown"),K.placement="static"===this.display?null:A;const vr=-1!==A.search("^top")?"dropup":"dropdown";Ye.addClass(Rt,vr);const Hr=this._bodyContainer;Hr&&(Ye.removeClass(Hr,"dropup"),Ye.removeClass(Hr,"dropdown"),Ye.addClass(Hr,vr))}}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.sBO),t.Y36(Sc),t.Y36(e.K0),t.Y36(t.R0b),t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(Tu,8))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdown",""]],contentQueries:function(A,K,Ye){if(1&A&&(t.Suo(Ye,xl,5),t.Suo(Ye,Gl,5)),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K._menu=Rt.first),t.iGM(Rt=t.CRH())&&(K._anchor=Rt.first)}},hostVars:2,hostBindings:function(A,K){2&A&&t.ekj("show",K.isOpen())},inputs:{_open:["open","_open"],placement:"placement",container:"container",autoClose:"autoClose",display:"display",dropdownClass:"dropdownClass"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],features:[t.TTD]}),V})(),cl=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({}),V})(),Rc=(()=>{class V{constructor(A){this._ngbConfig=A,this.backdrop=!0,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})();class cc{constructor(pe,A,K){this.nodes=pe,this.viewRef=A,this.componentRef=K}}class il{constructor(pe,A,K,Ye,Rt,vr,Hr){this._type=pe,this._injector=A,this._viewContainerRef=K,this._renderer=Ye,this._ngZone=Rt,this._componentFactoryResolver=vr,this._applicationRef=Hr,this._windowRef=null,this._contentRef=null}open(pe,A,K=!1){this._windowRef||(this._contentRef=this._getContentRef(pe,A),this._windowRef=this._viewContainerRef.createComponent(this._componentFactoryResolver.resolveComponentFactory(this._type),this._viewContainerRef.length,this._injector,this._contentRef.nodes));const{nativeElement:Ye}=this._windowRef.location,Rt=this._ngZone.onStable.pipe((0,nn.q)(1),(0,dt.zg)(()=>an(this._ngZone,Ye,({classList:vr})=>vr.add("show"),{animation:K,runningTransition:"continue"})));return{windowRef:this._windowRef,transition$:Rt}}close(pe=!1){return this._windowRef?an(this._ngZone,this._windowRef.location.nativeElement,({classList:A})=>A.remove("show"),{animation:pe,runningTransition:"stop"}).pipe((0,ae.b)(()=>{var A;this._windowRef&&(this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)),this._windowRef=null),(null===(A=this._contentRef)||void 0===A?void 0:A.viewRef)&&(this._applicationRef.detachView(this._contentRef.viewRef),this._contentRef.viewRef.destroy(),this._contentRef=null)})):(0,B.of)(void 0)}_getContentRef(pe,A){if(pe){if(pe instanceof t.Rgc){const K=pe.createEmbeddedView(A);return this._applicationRef.attachView(K),new cc([K.rootNodes],K)}return new cc([[this._renderer.createText(`${pe}`)]])}return new cc([])}}const ul=()=>{};let Rl=(()=>{class V{constructor(A){this._document=A}compensate(){const A=this._getWidth();return this._isPresent(A)?this._adjustBody(A):ul}_adjustBody(A){const K=this._document.body,Ye=K.style.paddingRight,Rt=parseFloat(window.getComputedStyle(K)["padding-right"]);return K.style["padding-right"]=`${Rt+A}px`,()=>K.style["padding-right"]=Ye}_isPresent(A){const K=this._document.body.getBoundingClientRect();return window.innerWidth-(K.left+K.right)>=A-.1*A}_getWidth(){const A=this._document.createElement("div");A.className="modal-scrollbar-measure";const K=this._document.body;K.appendChild(A);const Ye=A.getBoundingClientRect().width-A.clientWidth;return K.removeChild(A),Ye}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(e.K0))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(e.K0))},token:V,providedIn:"root"}),V})(),p=(()=>{class V{constructor(A,K){this._el=A,this._zone=K}ngOnInit(){this._zone.onStable.asObservable().pipe((0,nn.q)(1)).subscribe(()=>{an(this._zone,this._el.nativeElement,(A,K)=>{K&&Al(A),A.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return an(this._zone,this._el.nativeElement,({classList:A})=>A.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1050"],hostVars:6,hostBindings:function(A,K){2&A&&(t.Tol("modal-backdrop"+(K.backdropClass?" "+K.backdropClass:"")),t.ekj("show",!K.animation)("fade",K.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},decls:0,vars:0,template:function(A,K){},encapsulation:2}),V})();class E{close(pe){}dismiss(pe){}}class N{constructor(pe,A,K,Ye){this._windowCmptRef=pe,this._contentRef=A,this._backdropCmptRef=K,this._beforeDismiss=Ye,this._closed=new ie.xQ,this._dismissed=new ie.xQ,this._hidden=new ie.xQ,pe.instance.dismissEvent.subscribe(Rt=>{this.dismiss(Rt)}),this.result=new Promise((Rt,vr)=>{this._resolve=Rt,this._reject=vr}),this.result.then(null,()=>{})}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe((0,Et.R)(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe((0,Et.R)(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}close(pe){this._windowCmptRef&&(this._closed.next(pe),this._resolve(pe),this._removeModalElements())}_dismiss(pe){this._dismissed.next(pe),this._reject(pe),this._removeModalElements()}dismiss(pe){if(this._windowCmptRef)if(this._beforeDismiss){const A=this._beforeDismiss();A&&A.then?A.then(K=>{!1!==K&&this._dismiss(pe)},()=>{}):!1!==A&&this._dismiss(pe)}else this._dismiss(pe)}_removeModalElements(){const pe=this._windowCmptRef.instance.hide(),A=this._backdropCmptRef?this._backdropCmptRef.instance.hide():(0,B.of)(void 0);pe.subscribe(()=>{const{nativeElement:K}=this._windowCmptRef.location;K.parentNode.removeChild(K),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),A.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:K}=this._backdropCmptRef.location;K.parentNode.removeChild(K),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),R(pe,A).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var $=(()=>{return(V=$||($={}))[V.BACKDROP_CLICK=0]="BACKDROP_CLICK",V[V.ESC=1]="ESC",$;var V})();let Q=(()=>{class V{constructor(A,K,Ye){this._document=A,this._elRef=K,this._zone=Ye,this._closed$=new ie.xQ,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new t.vpe,this.shown=new ie.xQ,this.hidden=new ie.xQ}dismiss(A){this.dismissEvent.emit(A)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe((0,nn.q)(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:A}=this._elRef,K={animation:this.animation,runningTransition:"stop"},vr=R(an(this._zone,A,()=>A.classList.remove("show"),K),an(this._zone,this._dialogEl.nativeElement,()=>{},K));return vr.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),vr}_show(){const A={animation:this.animation,runningTransition:"continue"};R(an(this._zone,this._elRef.nativeElement,(Rt,vr)=>{vr&&Al(Rt),Rt.classList.add("show")},A),an(this._zone,this._dialogEl.nativeElement,()=>{},A)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:A}=this._elRef;this._zone.runOutsideAngular(()=>{(0,oe.R)(A,"keydown").pipe((0,Et.R)(this._closed$),(0,lt.h)(Ye=>Ye.which===Yi.Escape)).subscribe(Ye=>{this.keyboard?requestAnimationFrame(()=>{Ye.defaultPrevented||this._zone.run(()=>this.dismiss($.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let K=!1;(0,oe.R)(this._dialogEl.nativeElement,"mousedown").pipe((0,Et.R)(this._closed$),(0,ae.b)(()=>K=!1),(0,It.w)(()=>(0,oe.R)(A,"mouseup").pipe((0,Et.R)(this._closed$),(0,nn.q)(1))),(0,lt.h)(({target:Ye})=>A===Ye)).subscribe(()=>{K=!0}),(0,oe.R)(A,"click").pipe((0,Et.R)(this._closed$)).subscribe(({target:Ye})=>{A===Ye&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!K&&this._zone.run(()=>this.dismiss($.BACKDROP_CLICK))),K=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:A}=this._elRef;if(!A.contains(document.activeElement)){const K=A.querySelector("[ngbAutofocus]"),Ye=Cl(A)[0];(K||Ye||A).focus()}}_restoreFocus(){const A=this._document.body,K=this._elWithFocus;let Ye;Ye=K&&K.focus&&A.contains(K)?K:A,this._zone.runOutsideAngular(()=>{setTimeout(()=>Ye.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&an(this._zone,this._elRef.nativeElement,({classList:A})=>(A.add("modal-static"),()=>A.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(e.K0),t.Y36(t.SBq),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-modal-window"]],viewQuery:function(A,K){if(1&A&&t.Gf(An,7),2&A){let Ye;t.iGM(Ye=t.CRH())&&(K._dialogEl=Ye.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(A,K){2&A&&(t.uIk("aria-modal",!0)("aria-labelledby",K.ariaLabelledBy)("aria-describedby",K.ariaDescribedBy),t.Tol("modal d-block"+(K.windowClass?" "+K.windowClass:"")),t.ekj("fade",K.animation))},inputs:{backdrop:"backdrop",keyboard:"keyboard",animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",centered:"centered",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},ngContentSelectors:Yn,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(A,K){1&A&&(t.F$t(),t.TgZ(0,"div",0,1),t.TgZ(2,"div",2),t.Hsn(3),t.qZA(),t.qZA()),2&A&&t.Tol("modal-dialog"+(K.size?" modal-"+K.size:"")+(K.centered?" modal-dialog-centered":"")+(K.scrollable?" modal-dialog-scrollable":"")+(K.modalDialogClass?" "+K.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}"],encapsulation:2}),V})(),de=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr){this._applicationRef=A,this._injector=K,this._document=Ye,this._scrollBar=Rt,this._rendererFactory=vr,this._ngZone=Hr,this._activeWindowCmptHasChanged=new ie.xQ,this._ariaHiddenValues=new Map,this._backdropAttributes=["animation","backdropClass"],this._modalRefs=[],this._windowAttributes=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","keyboard","scrollable","size","windowClass","modalDialogClass"],this._windowCmpts=[],this._activeInstances=new t.vpe,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const _i=this._windowCmpts[this._windowCmpts.length-1];ql(this._ngZone,_i.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(_i.location.nativeElement)}})}open(A,K,Ye,Rt){const vr=Rt.container instanceof HTMLElement?Rt.container:cs(Rt.container)?this._document.querySelector(Rt.container):this._document.body,Hr=this._rendererFactory.createRenderer(null,null),_i=this._scrollBar.compensate(),ji=()=>{this._modalRefs.length||(Hr.removeClass(this._document.body,"modal-open"),this._revertAriaHidden())};if(!vr)throw new Error(`The specified modal container "${Rt.container||"body"}" was not found in the DOM.`);const bo=new E,is=this._getContentRef(A,Rt.injector||K,Ye,bo,Rt);let Uo=!1!==Rt.backdrop?this._attachBackdrop(A,vr):void 0,us=this._attachWindowComponent(A,vr,is),Ks=new N(us,is,Uo,Rt.beforeDismiss);return this._registerModalRef(Ks),this._registerWindowCmpt(us),Ks.result.then(_i,_i),Ks.result.then(ji,ji),bo.close=bs=>{Ks.close(bs)},bo.dismiss=bs=>{Ks.dismiss(bs)},this._applyWindowOptions(us.instance,Rt),1===this._modalRefs.length&&Hr.addClass(this._document.body,"modal-open"),Uo&&Uo.instance&&(this._applyBackdropOptions(Uo.instance,Rt),Uo.changeDetectorRef.detectChanges()),us.changeDetectorRef.detectChanges(),Ks}get activeInstances(){return this._activeInstances}dismissAll(A){this._modalRefs.forEach(K=>K.dismiss(A))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(A,K){let Rt=A.resolveComponentFactory(p).create(this._injector);return this._applicationRef.attachView(Rt.hostView),K.appendChild(Rt.location.nativeElement),Rt}_attachWindowComponent(A,K,Ye){let vr=A.resolveComponentFactory(Q).create(this._injector,Ye.nodes);return this._applicationRef.attachView(vr.hostView),K.appendChild(vr.location.nativeElement),vr}_applyWindowOptions(A,K){this._windowAttributes.forEach(Ye=>{cs(K[Ye])&&(A[Ye]=K[Ye])})}_applyBackdropOptions(A,K){this._backdropAttributes.forEach(Ye=>{cs(K[Ye])&&(A[Ye]=K[Ye])})}_getContentRef(A,K,Ye,Rt,vr){return Ye?Ye instanceof t.Rgc?this._createFromTemplateRef(Ye,Rt):gi(Ye)?this._createFromString(Ye):this._createFromComponent(A,K,Ye,Rt,vr):new cc([])}_createFromTemplateRef(A,K){const Rt=A.createEmbeddedView({$implicit:K,close(vr){K.close(vr)},dismiss(vr){K.dismiss(vr)}});return this._applicationRef.attachView(Rt),new cc([Rt.rootNodes],Rt)}_createFromString(A){const K=this._document.createTextNode(`${A}`);return new cc([[K]])}_createFromComponent(A,K,Ye,Rt,vr){const Hr=A.resolveComponentFactory(Ye),_i=t.zs3.create({providers:[{provide:E,useValue:Rt}],parent:K}),ji=Hr.create(_i),bo=ji.location.nativeElement;return vr.scrollable&&bo.classList.add("component-host-scrollable"),this._applicationRef.attachView(ji.hostView),new cc([[bo]],ji.hostView,ji)}_setAriaHidden(A){const K=A.parentElement;K&&A!==this._document.body&&(Array.from(K.children).forEach(Ye=>{Ye!==A&&"SCRIPT"!==Ye.nodeName&&(this._ariaHiddenValues.set(Ye,Ye.getAttribute("aria-hidden")),Ye.setAttribute("aria-hidden","true"))}),this._setAriaHidden(K))}_revertAriaHidden(){this._ariaHiddenValues.forEach((A,K)=>{A?K.setAttribute("aria-hidden",A):K.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(A){const K=()=>{const Ye=this._modalRefs.indexOf(A);Ye>-1&&(this._modalRefs.splice(Ye,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(A),this._activeInstances.emit(this._modalRefs),A.result.then(K,K)}_registerWindowCmpt(A){this._windowCmpts.push(A),this._activeWindowCmptHasChanged.next(),A.onDestroy(()=>{const K=this._windowCmpts.indexOf(A);K>-1&&(this._windowCmpts.splice(K,1),this._activeWindowCmptHasChanged.next())})}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(t.z2F),t.LFG(t.zs3),t.LFG(e.K0),t.LFG(Rl),t.LFG(t.FYo),t.LFG(t.R0b))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(t.z2F),t.LFG(t.gxx),t.LFG(e.K0),t.LFG(Rl),t.LFG(t.FYo),t.LFG(t.R0b))},token:V,providedIn:"root"}),V})(),ve=(()=>{class V{constructor(A,K,Ye,Rt){this._moduleCFR=A,this._injector=K,this._modalStack=Ye,this._config=Rt}open(A,K={}){const Ye=Object.assign(Object.assign(Object.assign({},this._config),{animation:this._config.animation}),K);return this._modalStack.open(this._moduleCFR,this._injector,A,Ye)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(A){this._modalStack.dismissAll(A)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(t._Vd),t.LFG(t.zs3),t.LFG(de),t.LFG(Rc))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(t._Vd),t.LFG(t.gxx),t.LFG(de),t.LFG(Rc))},token:V,providedIn:"root"}),V})(),De=(()=>{class V{constructor(A){this._ngbConfig=A,this.destroyOnHide=!0,this.orientation="horizontal",this.roles="tablist",this.keyboard=!1}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})();const _t=V=>cs(V)&&""!==V;let Zt=0,wn=(()=>{class V{constructor(A){this.templateRef=A}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.Rgc))},V.\u0275dir=t.lG2({type:V,selectors:[["ng-template","ngbNavContent",""]]}),V})(),cr=(()=>{class V{constructor(A,K){this.elementRef=K,this.disabled=!1,this.shown=new t.vpe,this.hidden=new t.vpe,this._nav=A}ngAfterContentChecked(){this.contentTpl=this.contentTpls.first}ngOnInit(){cs(this.domId)||(this.domId="ngb-nav-"+Zt++)}get active(){return this._nav.activeId===this.id}get id(){return _t(this._id)?this._id:this.domId}get panelDomId(){return`${this.domId}-panel`}isPanelInDom(){return(cs(this.destroyOnHide)?!this.destroyOnHide:!this._nav.destroyOnHide)||this.active}}return V.\u0275fac=function(A){return new(A||V)(t.Y36((0,t.Gpc)(()=>sr)),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbNavItem",""]],contentQueries:function(A,K,Ye){if(1&A&&t.Suo(Ye,wn,4),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K.contentTpls=Rt)}},hostVars:2,hostBindings:function(A,K){2&A&&t.ekj("nav-item",!0)},inputs:{disabled:"disabled",domId:"domId",destroyOnHide:"destroyOnHide",_id:["ngbNavItem","_id"]},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbNavItem"]}),V})(),sr=(()=>{class V{constructor(A,K,Ye,Rt){this.role=A,this._cd=Ye,this._document=Rt,this.activeIdChange=new t.vpe,this.shown=new t.vpe,this.hidden=new t.vpe,this.destroy$=new ie.xQ,this.navItemChange$=new ie.xQ,this.navChange=new t.vpe,this.animation=K.animation,this.destroyOnHide=K.destroyOnHide,this.orientation=K.orientation,this.roles=K.roles,this.keyboard=K.keyboard}click(A){A.disabled||this._updateActiveId(A.id)}onKeyDown(A){if("tablist"!==this.roles||!this.keyboard)return;const K=A.which,Ye=this.links.filter(Hr=>!Hr.navItem.disabled),{length:Rt}=Ye;let vr=-1;if(Ye.forEach((Hr,_i)=>{Hr.elRef.nativeElement===this._document.activeElement&&(vr=_i)}),Rt){switch(K){case Yi.ArrowLeft:if("vertical"===this.orientation)return;vr=(vr-1+Rt)%Rt;break;case Yi.ArrowRight:if("vertical"===this.orientation)return;vr=(vr+1)%Rt;break;case Yi.ArrowDown:if("horizontal"===this.orientation)return;vr=(vr+1)%Rt;break;case Yi.ArrowUp:if("horizontal"===this.orientation)return;vr=(vr-1+Rt)%Rt;break;case Yi.Home:vr=0;break;case Yi.End:vr=Rt-1}"changeWithArrows"===this.keyboard&&this.select(Ye[vr].navItem.id),Ye[vr].elRef.nativeElement.focus(),A.preventDefault()}}select(A){this._updateActiveId(A,!1)}ngAfterContentInit(){if(!cs(this.activeId)){const A=this.items.first?this.items.first.id:null;_t(A)&&(this._updateActiveId(A,!1),this._cd.detectChanges())}this.items.changes.pipe((0,Et.R)(this.destroy$)).subscribe(()=>this._notifyItemChanged(this.activeId))}ngOnChanges({activeId:A}){A&&!A.firstChange&&this._notifyItemChanged(A.currentValue)}ngOnDestroy(){this.destroy$.next()}_updateActiveId(A,K=!0){if(this.activeId!==A){let Ye=!1;K&&this.navChange.emit({activeId:this.activeId,nextId:A,preventDefault:()=>{Ye=!0}}),Ye||(this.activeId=A,this.activeIdChange.emit(A),this._notifyItemChanged(A))}}_notifyItemChanged(A){this.navItemChange$.next(this._getItemById(A))}_getItemById(A){return this.items&&this.items.find(K=>K.id===A)||null}}return V.\u0275fac=function(A){return new(A||V)(t.$8M("role"),t.Y36(De),t.Y36(t.sBO),t.Y36(e.K0))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbNav",""]],contentQueries:function(A,K,Ye){if(1&A&&(t.Suo(Ye,cr,4),t.Suo(Ye,Tr,5)),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K.items=Rt),t.iGM(Rt=t.CRH())&&(K.links=Rt)}},hostVars:6,hostBindings:function(A,K){1&A&&t.NdJ("keydown.arrowLeft",function(Rt){return K.onKeyDown(Rt)})("keydown.arrowRight",function(Rt){return K.onKeyDown(Rt)})("keydown.arrowDown",function(Rt){return K.onKeyDown(Rt)})("keydown.arrowUp",function(Rt){return K.onKeyDown(Rt)})("keydown.Home",function(Rt){return K.onKeyDown(Rt)})("keydown.End",function(Rt){return K.onKeyDown(Rt)}),2&A&&(t.uIk("aria-orientation","vertical"===K.orientation&&"tablist"===K.roles?"vertical":void 0)("role",K.role?K.role:K.roles?"tablist":void 0),t.ekj("nav",!0)("flex-column","vertical"===K.orientation))},inputs:{animation:"animation",destroyOnHide:"destroyOnHide",orientation:"orientation",roles:"roles",keyboard:"keyboard",activeId:"activeId"},outputs:{activeIdChange:"activeIdChange",shown:"shown",hidden:"hidden",navChange:"navChange"},exportAs:["ngbNav"],features:[t.TTD]}),V})(),Tr=(()=>{class V{constructor(A,K,Ye,Rt){this.role=A,this.navItem=K,this.nav=Ye,this.elRef=Rt}hasNavItemClass(){return this.navItem.elementRef.nativeElement.nodeType===Node.COMMENT_NODE}}return V.\u0275fac=function(A){return new(A||V)(t.$8M("role"),t.Y36(cr),t.Y36(sr),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["a","ngbNavLink",""]],hostAttrs:["href",""],hostVars:14,hostBindings:function(A,K){1&A&&t.NdJ("click",function(Rt){return K.nav.click(K.navItem),Rt.preventDefault()}),2&A&&(t.Ikx("id",K.navItem.domId),t.uIk("role",K.role?K.role:K.nav.roles?"tab":void 0)("tabindex",K.navItem.disabled?-1:void 0)("aria-controls",K.navItem.isPanelInDom()?K.navItem.panelDomId:null)("aria-selected",K.navItem.active)("aria-disabled",K.navItem.disabled),t.ekj("nav-link",!0)("nav-item",K.hasNavItemClass())("active",K.navItem.active)("disabled",K.navItem.disabled))}}),V})();const Yr=({classList:V})=>(V.remove("show"),()=>V.remove("active")),Pi=(V,pe)=>{pe&&Al(V),V.classList.add("show")};let yo=(()=>{class V{constructor(A){this.elRef=A}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbNavPane",""]],hostAttrs:[1,"tab-pane"],hostVars:5,hostBindings:function(A,K){2&A&&(t.Ikx("id",K.item.panelDomId),t.uIk("role",K.role?K.role:K.nav.roles?"tabpanel":void 0)("aria-labelledby",K.item.domId),t.ekj("fade",K.nav.animation))},inputs:{item:"item",nav:"nav",role:"role"}}),V})(),To=(()=>{class V{constructor(A,K){this._cd=A,this._ngZone=K,this._activePane=null}isPanelTransitioning(A){var K;return(null===(K=this._activePane)||void 0===K?void 0:K.item)===A}ngAfterViewInit(){var A;this._updateActivePane(),this.nav.navItemChange$.pipe((0,Et.R)(this.nav.destroy$),(0,Ot.O)((null===(A=this._activePane)||void 0===A?void 0:A.item)||null),(0,Qe.x)(),pe=>pe.lift(new F(1))).subscribe(K=>{const Ye={animation:this.nav.animation,runningTransition:"stop"};this._cd.detectChanges(),this._activePane?an(this._ngZone,this._activePane.elRef.nativeElement,Yr,Ye).subscribe(()=>{var Rt;const vr=null===(Rt=this._activePane)||void 0===Rt?void 0:Rt.item;this._activePane=this._getPaneForItem(K),this._cd.markForCheck(),this._activePane&&(this._activePane.elRef.nativeElement.classList.add("active"),an(this._ngZone,this._activePane.elRef.nativeElement,Pi,Ye).subscribe(()=>{K&&(K.shown.emit(),this.nav.shown.emit(K.id))})),vr&&(vr.hidden.emit(),this.nav.hidden.emit(vr.id))}):this._updateActivePane()})}_updateActivePane(){var A,K;this._activePane=this._getActivePane(),null===(A=this._activePane)||void 0===A||A.elRef.nativeElement.classList.add("show"),null===(K=this._activePane)||void 0===K||K.elRef.nativeElement.classList.add("active")}_getPaneForItem(A){return this._panes&&this._panes.find(K=>K.item===A)||null}_getActivePane(){return this._panes&&this._panes.find(A=>A.item.active)||null}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.sBO),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["","ngbNavOutlet",""]],viewQuery:function(A,K){if(1&A&&t.Gf(yo,5),2&A){let Ye;t.iGM(Ye=t.CRH())&&(K._panes=Ye)}},hostVars:2,hostBindings:function(A,K){2&A&&t.ekj("tab-content",!0)},inputs:{paneRole:"paneRole",nav:["ngbNavOutlet","nav"]},attrs:Bn,decls:1,vars:1,consts:[["ngFor","",3,"ngForOf"],["ngbNavPane","",3,"item","nav","role",4,"ngIf"],["ngbNavPane","",3,"item","nav","role"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(A,K){1&A&&t.YNc(0,Nr,1,1,"ng-template",0),2&A&&t.Q6J("ngForOf",K.nav.items)},directives:[e.sg,e.O5,yo,e.tP],encapsulation:2,changeDetection:0}),V})(),Go=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})();class Vs{constructor(pe,A){this.open=pe,this.close=A,A||(this.close=pe)}isManual(){return"manual"===this.open||"manual"===this.close}}const X={hover:["mouseenter","mouseleave"],focus:["focusin","focusout"]},qt=V=>V>0?(0,Ie.g)(V):pe=>pe;function xi(V,pe,A,K,Ye,Rt,vr=0,Hr=0){const _i=function(V,pe=X){const A=(V||"").trim();if(0===A.length)return[];const K=A.split(/\s+/).map(Rt=>Rt.split(":")).map(Rt=>{let vr=pe[Rt[0]]||Rt;return new Vs(vr[0],vr[1])}),Ye=K.filter(Rt=>Rt.isManual());if(Ye.length>1)throw"Triggers parse error: only one manual trigger is allowed";if(1===Ye.length&&K.length>1)throw"Triggers parse error: manual trigger can't be mixed with other triggers";return K}(A);if(1===_i.length&&_i[0].isManual())return()=>{};const ji=function(V,pe,A,K){return new I.y(Ye=>{const Rt=[],vr=()=>Ye.next(!0),Hr=()=>Ye.next(!1),_i=()=>Ye.next(!K());return A.forEach(ji=>{ji.open===ji.close?Rt.push(V.listen(pe,ji.open,_i)):Rt.push(V.listen(pe,ji.open,vr),V.listen(pe,ji.close,Hr))}),()=>{Rt.forEach(ji=>ji())}})}(V,pe,_i,K).pipe(function(V,pe,A){return K=>{let Ye=null;const Rt=K.pipe((0,St.U)(_i=>({open:_i})),(0,lt.h)(_i=>{const ji=A();return ji===_i.open||Ye&&Ye.open!==ji?(Ye&&Ye.open!==_i.open&&(Ye=null),!1):(Ye=_i,!0)}),(0,Jt.B)()),vr=Rt.pipe((0,lt.h)(_i=>_i.open),qt(V)),Hr=Rt.pipe((0,lt.h)(_i=>!_i.open),qt(pe));return(0,Ae.T)(vr,Hr).pipe((0,lt.h)(_i=>_i===Ye&&(Ye=null,_i.open!==A())),(0,St.U)(_i=>_i.open))}}(vr,Hr,K)).subscribe(bo=>bo?Ye():Rt());return()=>ji.unsubscribe()}let fs=(()=>{class V{constructor(A){this._ngbConfig=A,this.autoClose=!0,this.placement="auto",this.triggers="click",this.disablePopover=!1,this.openDelay=0,this.closeDelay=0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})(),aa=0,Wa=(()=>{class V{isTitleTemplate(){return this.title instanceof t.Rgc}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-popover-window"]],hostAttrs:["role","tooltip"],hostVars:5,hostBindings:function(A,K){2&A&&(t.Ikx("id",K.id),t.Tol("popover"+(K.popoverClass?" "+K.popoverClass:"")),t.ekj("fade",K.animation))},inputs:{animation:"animation",title:"title",id:"id",popoverClass:"popoverClass",context:"context"},ngContentSelectors:Yn,decls:4,vars:1,consts:[[1,"arrow"],["class","popover-header",4,"ngIf"],[1,"popover-body"],[1,"popover-header"],["simpleTitle",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(A,K){1&A&&(t.F$t(),t._UZ(0,"div",0),t.YNc(1,fi,4,2,"h3",1),t.TgZ(2,"div",2),t.Hsn(3),t.qZA()),2&A&&(t.xp6(1),t.Q6J("ngIf",K.title))},directives:[e.O5,e.tP],styles:["ngb-popover-window.bs-popover-bottom>.arrow,ngb-popover-window.bs-popover-top>.arrow{left:50%;margin-left:-.5rem}ngb-popover-window.bs-popover-bottom-left>.arrow,ngb-popover-window.bs-popover-top-left>.arrow{left:2em}ngb-popover-window.bs-popover-bottom-right>.arrow,ngb-popover-window.bs-popover-top-right>.arrow{left:auto;right:2em}ngb-popover-window.bs-popover-left>.arrow,ngb-popover-window.bs-popover-right>.arrow{top:50%;margin-top:-.5rem}ngb-popover-window.bs-popover-left-top>.arrow,ngb-popover-window.bs-popover-right-top>.arrow{top:.7em}ngb-popover-window.bs-popover-left-bottom>.arrow,ngb-popover-window.bs-popover-right-bottom>.arrow{top:auto;bottom:.7em}"],encapsulation:2,changeDetection:0}),V})(),gc=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji,bo,is){this._elementRef=A,this._renderer=K,this._ngZone=_i,this._document=ji,this._changeDetector=bo,this.shown=new t.vpe,this.hidden=new t.vpe,this._ngbPopoverWindowId="ngb-popover-"+aa++,this._windowRef=null,this.animation=Hr.animation,this.autoClose=Hr.autoClose,this.placement=Hr.placement,this.triggers=Hr.triggers,this.container=Hr.container,this.disablePopover=Hr.disablePopover,this.popoverClass=Hr.popoverClass,this.openDelay=Hr.openDelay,this.closeDelay=Hr.closeDelay,this._popupService=new il(Wa,Ye,vr,K,this._ngZone,Rt,is),this._zoneSubscription=_i.onStable.subscribe(()=>{this._windowRef&&Je(this._elementRef.nativeElement,this._windowRef.location.nativeElement,this.placement,"body"===this.container,"bs-popover")})}_isDisabled(){return!(!this.disablePopover&&(this.ngbPopover||this.popoverTitle))}open(A){if(!this._windowRef&&!this._isDisabled()){const{windowRef:K,transition$:Ye}=this._popupService.open(this.ngbPopover,A,this.animation);this._windowRef=K,this._windowRef.instance.animation=this.animation,this._windowRef.instance.title=this.popoverTitle,this._windowRef.instance.context=A,this._windowRef.instance.popoverClass=this.popoverClass,this._windowRef.instance.id=this._ngbPopoverWindowId,this._renderer.setAttribute(this._elementRef.nativeElement,"aria-describedby",this._ngbPopoverWindowId),"body"===this.container&&this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),hc(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement]),Ye.subscribe(()=>this.shown.emit())}}close(){this._windowRef&&(this._renderer.removeAttribute(this._elementRef.nativeElement,"aria-describedby"),this._popupService.close(this.animation).subscribe(()=>{this._windowRef=null,this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=xi(this._renderer,this._elementRef.nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({ngbPopover:A,popoverTitle:K,disablePopover:Ye,popoverClass:Rt}){Rt&&this.isOpen()&&(this._windowRef.instance.popoverClass=Rt.currentValue),(A||K||Ye)&&this._isDisabled()&&this.close()}ngOnDestroy(){this.close(),this._unregisterListenersFn&&this._unregisterListenersFn(),this._zoneSubscription.unsubscribe()}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(t.zs3),t.Y36(t._Vd),t.Y36(t.s_b),t.Y36(fs),t.Y36(t.R0b),t.Y36(e.K0),t.Y36(t.sBO),t.Y36(t.z2F))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbPopover",""]],inputs:{animation:"animation",autoClose:"autoClose",placement:"placement",triggers:"triggers",container:"container",disablePopover:"disablePopover",popoverClass:"popoverClass",openDelay:"openDelay",closeDelay:"closeDelay",ngbPopover:"ngbPopover",popoverTitle:"popoverTitle"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbPopover"],features:[t.TTD]}),V})(),Ql=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})(),yc=(()=>{class V{constructor(){this.max=100,this.animated=!1,this.striped=!1,this.showValue=!1}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),qu=(()=>{class V{constructor(A){this.value=0,this.max=A.max,this.animated=A.animated,this.striped=A.striped,this.textType=A.textType,this.type=A.type,this.showValue=A.showValue,this.height=A.height}set max(A){this._max=!Hi(A)||A<=0?100:A}get max(){return this._max}getValue(){return function(V,pe,A=0){return Math.max(Math.min(V,pe),A)}(this.value,this.max)}getPercentValue(){return 100*this.getValue()/this.max}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(yc))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-progressbar"]],hostAttrs:[1,"progress"],hostVars:2,hostBindings:function(A,K){2&A&&t.Udp("height",K.height)},inputs:{value:"value",max:"max",animated:"animated",striped:"striped",textType:"textType",type:"type",showValue:"showValue",height:"height"},ngContentSelectors:Yn,decls:3,vars:11,consts:function(){let pe;return pe="" + "\ufffd0\ufffd" + "",[["role","progressbar","aria-valuemin","0"],[4,"ngIf"],pe]},template:function(A,K){1&A&&(t.F$t(),t.TgZ(0,"div",0),t.YNc(1,Ei,3,3,"span",1),t.Hsn(2),t.qZA()),2&A&&(t.DjV("progress-bar",K.type?" bg-"+K.type:"","",K.textType?" text-"+K.textType:"","\n ",K.animated?" progress-bar-animated":"","",K.striped?" progress-bar-striped":"",""),t.Udp("width",K.getPercentValue(),"%"),t.uIk("aria-valuenow",K.getValue())("aria-valuemax",K.max),t.xp6(1),t.Q6J("ngIf",K.showValue))},directives:[e.O5],pipes:[e.Zx],encapsulation:2,changeDetection:0}),V})(),sd=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})();class Nu{constructor(pe,A,K){this.hour=ti(pe),this.minute=ti(A),this.second=ti(K)}changeHour(pe=1){this.updateHour((isNaN(this.hour)?0:this.hour)+pe)}updateHour(pe){this.hour=Hi(pe)?(pe<0?24+pe:pe)%24:NaN}changeMinute(pe=1){this.updateMinute((isNaN(this.minute)?0:this.minute)+pe)}updateMinute(pe){Hi(pe)?(this.minute=pe%60<0?60+pe%60:pe%60,this.changeHour(Math.floor(pe/60))):this.minute=NaN}changeSecond(pe=1){this.updateSecond((isNaN(this.second)?0:this.second)+pe)}updateSecond(pe){Hi(pe)?(this.second=pe<0?60+pe%60:pe%60,this.changeMinute(Math.floor(pe/60))):this.second=NaN}isValid(pe=!0){return Hi(this.hour)&&Hi(this.minute)&&(!pe||Hi(this.second))}toString(){return`${this.hour||0}:${this.minute||0}:${this.second||0}`}}let sf=(()=>{class V{constructor(){this.meridian=!1,this.spinners=!0,this.seconds=!1,this.hourStep=1,this.minuteStep=1,this.secondStep=1,this.disabled=!1,this.readonlyInputs=!1,this.size="medium"}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})();function Cd(){return new $d}let Cu=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:Cd,token:V,providedIn:"root"}),V})(),$d=(()=>{class V extends Cu{fromModel(A){return A&&Fi(A.hour)&&Fi(A.minute)?{hour:A.hour,minute:A.minute,second:Fi(A.second)?A.second:null}:null}toModel(A){return A&&Fi(A.hour)&&Fi(A.minute)?{hour:A.hour,minute:A.minute,second:Fi(A.second)?A.second:null}:null}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})(),Nc=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return function(V){return new Pf(V)}(t.LFG(t.soG))},token:V,providedIn:"root"}),V})(),Pf=(()=>{class V extends Nc{constructor(A){super(),this._periods=(0,e.ol)(A,e.x.Standalone,e.Tn.Narrow)}getMorningPeriod(){return this._periods[0]}getAfternoonPeriod(){return this._periods[1]}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(t.soG))},V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})();const ld=/[^0-9]/g;let ru=(()=>{class V{constructor(A,K,Ye,Rt){this._config=A,this._ngbTimeAdapter=K,this._cd=Ye,this.i18n=Rt,this.onChange=vr=>{},this.onTouched=()=>{},this.meridian=A.meridian,this.spinners=A.spinners,this.seconds=A.seconds,this.hourStep=A.hourStep,this.minuteStep=A.minuteStep,this.secondStep=A.secondStep,this.disabled=A.disabled,this.readonlyInputs=A.readonlyInputs,this.size=A.size}set hourStep(A){this._hourStep=Fi(A)?A:this._config.hourStep}get hourStep(){return this._hourStep}set minuteStep(A){this._minuteStep=Fi(A)?A:this._config.minuteStep}get minuteStep(){return this._minuteStep}set secondStep(A){this._secondStep=Fi(A)?A:this._config.secondStep}get secondStep(){return this._secondStep}writeValue(A){const K=this._ngbTimeAdapter.fromModel(A);this.model=K?new Nu(K.hour,K.minute,K.second):new Nu,!this.seconds&&(!K||!Hi(K.second))&&(this.model.second=0),this._cd.markForCheck()}registerOnChange(A){this.onChange=A}registerOnTouched(A){this.onTouched=A}setDisabledState(A){this.disabled=A}changeHour(A){this.model.changeHour(A),this.propagateModelChange()}changeMinute(A){this.model.changeMinute(A),this.propagateModelChange()}changeSecond(A){this.model.changeSecond(A),this.propagateModelChange()}updateHour(A){const K=this.model.hour>=12,Ye=ti(A);this.model.updateHour(this.meridian&&(K&&Ye<12||!K&&12===Ye)?Ye+12:Ye),this.propagateModelChange()}updateMinute(A){this.model.updateMinute(ti(A)),this.propagateModelChange()}updateSecond(A){this.model.updateSecond(ti(A)),this.propagateModelChange()}toggleMeridian(){this.meridian&&this.changeHour(12)}formatInput(A){A.value=A.value.replace(ld,"")}formatHour(A){return Hi(A)?ws(this.meridian?A%12==0?12:A%12:A%24):ws(NaN)}formatMinSec(A){return ws(Hi(A)?A:NaN)}handleBlur(){this.onTouched()}get isSmallSize(){return"small"===this.size}get isLargeSize(){return"large"===this.size}ngOnChanges(A){A.seconds&&!this.seconds&&this.model&&!Hi(this.model.second)&&(this.model.second=0,this.propagateModelChange(!1))}propagateModelChange(A=!0){A&&this.onTouched(),this.model.isValid(this.seconds)?this.onChange(this._ngbTimeAdapter.toModel({hour:this.model.hour,minute:this.model.minute,second:this.model.second})):this.onChange(this._ngbTimeAdapter.toModel(null))}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(sf),t.Y36(Cu),t.Y36(t.sBO),t.Y36(Nc))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-timepicker"]],inputs:{meridian:"meridian",spinners:"spinners",seconds:"seconds",hourStep:"hourStep",minuteStep:"minuteStep",secondStep:"secondStep",readonlyInputs:"readonlyInputs",size:"size"},features:[t._Bn([{provide:zt.JU,useExisting:(0,t.Gpc)(()=>V),multi:!0}]),t.TTD],decls:16,vars:25,consts:function(){let pe,A,K,Ye,Rt,vr,Hr,_i,ji,bo,is,Uo,us,Ks;return pe="HH",A="Hours",K="MM",Ye="Minutes",Rt="Increment hours",vr="Decrement hours",Hr="Increment minutes",_i="Decrement minutes",ji="SS",bo="Seconds",is="Increment seconds",Uo="Decrement seconds",us="" + "\ufffd0\ufffd" + "",Ks="" + "\ufffd0\ufffd" + "",[[3,"disabled"],[1,"ngb-tp"],[1,"ngb-tp-input-container","ngb-tp-hour"],["tabindex","-1","type","button","class","btn btn-link",3,"btn-sm","btn-lg","disabled","click",4,"ngIf"],["type","text","maxlength","2","inputmode","numeric","placeholder",pe,"aria-label",A,1,"ngb-tp-input","form-control",3,"value","readOnly","disabled","change","blur","input","keydown.ArrowUp","keydown.ArrowDown"],[1,"ngb-tp-spacer"],[1,"ngb-tp-input-container","ngb-tp-minute"],["type","text","maxlength","2","inputmode","numeric","placeholder",K,"aria-label",Ye,1,"ngb-tp-input","form-control",3,"value","readOnly","disabled","change","blur","input","keydown.ArrowUp","keydown.ArrowDown"],["class","ngb-tp-spacer",4,"ngIf"],["class","ngb-tp-input-container ngb-tp-second",4,"ngIf"],["class","ngb-tp-meridian",4,"ngIf"],["tabindex","-1","type","button",1,"btn","btn-link",3,"disabled","click"],[1,"chevron","ngb-tp-chevron"],[1,"sr-only"],Rt,[1,"chevron","ngb-tp-chevron","bottom"],vr,Hr,_i,[1,"ngb-tp-input-container","ngb-tp-second"],["type","text","maxlength","2","inputmode","numeric","placeholder",ji,"aria-label",bo,1,"ngb-tp-input","form-control",3,"value","readOnly","disabled","change","blur","input","keydown.ArrowUp","keydown.ArrowDown"],is,Uo,[1,"ngb-tp-meridian"],["type","button",1,"btn","btn-outline-primary",3,"disabled","click"],[4,"ngIf","ngIfElse"],["am",""],us,Ks]},template:function(A,K){1&A&&(t.TgZ(0,"fieldset",0),t.TgZ(1,"div",1),t.TgZ(2,"div",2),t.YNc(3,to,4,7,"button",3),t.TgZ(4,"input",4),t.NdJ("change",function(Rt){return K.updateHour(Rt.target.value)})("blur",function(){return K.handleBlur()})("input",function(Rt){return K.formatInput(Rt.target)})("keydown.ArrowUp",function(Rt){return K.changeHour(K.hourStep),Rt.preventDefault()})("keydown.ArrowDown",function(Rt){return K.changeHour(-K.hourStep),Rt.preventDefault()}),t.qZA(),t.YNc(5,qi,4,7,"button",3),t.qZA(),t.TgZ(6,"div",5),t._uU(7,":"),t.qZA(),t.TgZ(8,"div",6),t.YNc(9,Wi,4,7,"button",3),t.TgZ(10,"input",7),t.NdJ("change",function(Rt){return K.updateMinute(Rt.target.value)})("blur",function(){return K.handleBlur()})("input",function(Rt){return K.formatInput(Rt.target)})("keydown.ArrowUp",function(Rt){return K.changeMinute(K.minuteStep),Rt.preventDefault()})("keydown.ArrowDown",function(Rt){return K.changeMinute(-K.minuteStep),Rt.preventDefault()}),t.qZA(),t.YNc(11,eo,4,7,"button",3),t.qZA(),t.YNc(12,Gi,2,0,"div",8),t.YNc(13,Bo,4,9,"div",9),t.YNc(14,Ko,1,0,"div",8),t.YNc(15,ds,5,9,"div",10),t.qZA(),t.qZA()),2&A&&(t.ekj("disabled",K.disabled),t.Q6J("disabled",K.disabled),t.xp6(3),t.Q6J("ngIf",K.spinners),t.xp6(1),t.ekj("form-control-sm",K.isSmallSize)("form-control-lg",K.isLargeSize),t.Q6J("value",K.formatHour(null==K.model?null:K.model.hour))("readOnly",K.readonlyInputs)("disabled",K.disabled),t.xp6(1),t.Q6J("ngIf",K.spinners),t.xp6(4),t.Q6J("ngIf",K.spinners),t.xp6(1),t.ekj("form-control-sm",K.isSmallSize)("form-control-lg",K.isLargeSize),t.Q6J("value",K.formatMinSec(null==K.model?null:K.model.minute))("readOnly",K.readonlyInputs)("disabled",K.disabled),t.xp6(1),t.Q6J("ngIf",K.spinners),t.xp6(1),t.Q6J("ngIf",K.seconds),t.xp6(1),t.Q6J("ngIf",K.seconds),t.xp6(1),t.Q6J("ngIf",K.meridian),t.xp6(1),t.Q6J("ngIf",K.meridian))},directives:[e.O5],styles:['ngb-timepicker{font-size:1rem}.ngb-tp{display:flex;align-items:center}.ngb-tp-input-container{width:4em}.ngb-tp-chevron:before{border-style:solid;border-width:.29em .29em 0 0;content:"";display:inline-block;height:.69em;left:.05em;position:relative;top:.15em;transform:rotate(-45deg);vertical-align:middle;width:.69em}.ngb-tp-chevron.bottom:before{top:-.3em;transform:rotate(135deg)}.ngb-tp-input{text-align:center}.ngb-tp-hour,.ngb-tp-meridian,.ngb-tp-minute,.ngb-tp-second{display:flex;flex-direction:column;align-items:center;justify-content:space-around}.ngb-tp-spacer{width:1em;text-align:center}'],encapsulation:2}),V})(),Su=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})(),Sd=(()=>{class V{constructor(A){this._ngbConfig=A,this.autoClose=!0,this.placement="auto",this.triggers="hover focus",this.disableTooltip=!1,this.openDelay=0,this.closeDelay=0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})(),Ic=0,pu=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-tooltip-window"]],hostAttrs:["role","tooltip"],hostVars:5,hostBindings:function(A,K){2&A&&(t.Ikx("id",K.id),t.Tol("tooltip"+(K.tooltipClass?" "+K.tooltipClass:"")),t.ekj("fade",K.animation))},inputs:{animation:"animation",id:"id",tooltipClass:"tooltipClass"},ngContentSelectors:Yn,decls:3,vars:0,consts:[[1,"arrow"],[1,"tooltip-inner"]],template:function(A,K){1&A&&(t.F$t(),t._UZ(0,"div",0),t.TgZ(1,"div",1),t.Hsn(2),t.qZA())},styles:["ngb-tooltip-window{pointer-events:none}ngb-tooltip-window .tooltip-inner{pointer-events:auto}ngb-tooltip-window.bs-tooltip-bottom .arrow,ngb-tooltip-window.bs-tooltip-top .arrow{left:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-bottom-left .arrow,ngb-tooltip-window.bs-tooltip-top-left .arrow{left:1em}ngb-tooltip-window.bs-tooltip-bottom-right .arrow,ngb-tooltip-window.bs-tooltip-top-right .arrow{left:auto;right:.8rem}ngb-tooltip-window.bs-tooltip-left .arrow,ngb-tooltip-window.bs-tooltip-right .arrow{top:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-left-top .arrow,ngb-tooltip-window.bs-tooltip-right-top .arrow{top:.4rem}ngb-tooltip-window.bs-tooltip-left-bottom .arrow,ngb-tooltip-window.bs-tooltip-right-bottom .arrow{top:auto;bottom:.4rem}"],encapsulation:2,changeDetection:0}),V})(),Ud=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji,bo,is){this._elementRef=A,this._renderer=K,this._ngZone=_i,this._document=ji,this._changeDetector=bo,this.shown=new t.vpe,this.hidden=new t.vpe,this._ngbTooltipWindowId="ngb-tooltip-"+Ic++,this._windowRef=null,this.animation=Hr.animation,this.autoClose=Hr.autoClose,this.placement=Hr.placement,this.triggers=Hr.triggers,this.container=Hr.container,this.disableTooltip=Hr.disableTooltip,this.tooltipClass=Hr.tooltipClass,this.openDelay=Hr.openDelay,this.closeDelay=Hr.closeDelay,this._popupService=new il(pu,Ye,vr,K,this._ngZone,Rt,is),this._zoneSubscription=_i.onStable.subscribe(()=>{this._windowRef&&Je(this._elementRef.nativeElement,this._windowRef.location.nativeElement,this.placement,"body"===this.container,"bs-tooltip")})}set ngbTooltip(A){this._ngbTooltip=A,!A&&this._windowRef&&this.close()}get ngbTooltip(){return this._ngbTooltip}open(A){if(!this._windowRef&&this._ngbTooltip&&!this.disableTooltip){const{windowRef:K,transition$:Ye}=this._popupService.open(this._ngbTooltip,A,this.animation);this._windowRef=K,this._windowRef.instance.animation=this.animation,this._windowRef.instance.tooltipClass=this.tooltipClass,this._windowRef.instance.id=this._ngbTooltipWindowId,this._renderer.setAttribute(this._elementRef.nativeElement,"aria-describedby",this._ngbTooltipWindowId),"body"===this.container&&this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),hc(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement]),Ye.subscribe(()=>this.shown.emit())}}close(){null!=this._windowRef&&(this._renderer.removeAttribute(this._elementRef.nativeElement,"aria-describedby"),this._popupService.close(this.animation).subscribe(()=>{this._windowRef=null,this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=xi(this._renderer,this._elementRef.nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({tooltipClass:A}){A&&this.isOpen()&&(this._windowRef.instance.tooltipClass=A.currentValue)}ngOnDestroy(){this.close(),this._unregisterListenersFn&&this._unregisterListenersFn(),this._zoneSubscription.unsubscribe()}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(t.zs3),t.Y36(t._Vd),t.Y36(t.s_b),t.Y36(Sd),t.Y36(t.R0b),t.Y36(e.K0),t.Y36(t.sBO),t.Y36(t.z2F))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbTooltip",""]],inputs:{animation:"animation",autoClose:"autoClose",placement:"placement",triggers:"triggers",container:"container",disableTooltip:"disableTooltip",tooltipClass:"tooltipClass",openDelay:"openDelay",closeDelay:"closeDelay",ngbTooltip:"ngbTooltip"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbTooltip"],features:[t.TTD]}),V})(),ud=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({}),V})(),Md=(()=>{class V{constructor(){this.highlightClass="ngb-highlight",this.accentSensitive=!0}ngOnChanges(A){!this.accentSensitive&&!String.prototype.normalize&&(console.warn("The `accentSensitive` input in `ngb-highlight` cannot be set to `false` in a browser that does not implement the `String.normalize` function. You will have to include a polyfill in your application to use this feature in the current browser."),this.accentSensitive=!0);const K=Ri(this.result),Ye=Array.isArray(this.term)?this.term:[this.term],Rt=ji=>this.accentSensitive?ji:Sa(ji),vr=Ye.map(ji=>function(V){return V.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}(Rt(Ri(ji)))).filter(ji=>ji),Hr=this.accentSensitive?K:Sa(K),_i=vr.length?Hr.split(new RegExp(`(${vr.join("|")})`,"gmi")):[K];if(this.accentSensitive)this.parts=_i;else{let ji=0;this.parts=_i.map(bo=>K.substring(ji,ji+=bo.length))}}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-highlight"]],inputs:{highlightClass:"highlightClass",accentSensitive:"accentSensitive",result:"result",term:"term"},features:[t.TTD],decls:1,vars:1,consts:[["ngFor","",3,"ngForOf"],[3,"class",4,"ngIf","ngIfElse"],["even",""]],template:function(A,K){1&A&&t.YNc(0,ee,3,2,"ng-template",0),2&A&&t.Q6J("ngForOf",K.parts)},directives:[e.sg,e.O5],styles:[".ngb-highlight{font-weight:700}"],encapsulation:2,changeDetection:0}),V})(),Lf=(()=>{class V{constructor(){this.activeIdx=0,this.focusFirst=!0,this.formatter=Ri,this.selectEvent=new t.vpe,this.activeChangeEvent=new t.vpe}hasActive(){return this.activeIdx>-1&&this.activeIdx<this.results.length}getActive(){return this.results[this.activeIdx]}markActive(A){this.activeIdx=A,this._activeChanged()}next(){this.activeIdx===this.results.length-1?this.activeIdx=this.focusFirst?(this.activeIdx+1)%this.results.length:-1:this.activeIdx++,this._activeChanged()}prev(){this.activeIdx<0?this.activeIdx=this.results.length-1:0===this.activeIdx?this.activeIdx=this.focusFirst?this.results.length-1:-1:this.activeIdx--,this._activeChanged()}resetActive(){this.activeIdx=this.focusFirst?0:-1,this._activeChanged()}select(A){this.selectEvent.emit(A)}ngOnInit(){this.resetActive()}_activeChanged(){this.activeChangeEvent.emit(this.activeIdx>=0?this.id+"-"+this.activeIdx:void 0)}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-typeahead-window"]],hostAttrs:["role","listbox"],hostVars:3,hostBindings:function(A,K){1&A&&t.NdJ("mousedown",function(Rt){return Rt.preventDefault()}),2&A&&(t.Ikx("id",K.id),t.Tol("dropdown-menu show"+(K.popupClass?" "+K.popupClass:"")))},inputs:{focusFirst:"focusFirst",formatter:"formatter",id:"id",results:"results",term:"term",resultTemplate:"resultTemplate",popupClass:"popupClass"},outputs:{selectEvent:"select",activeChangeEvent:"activeChange"},exportAs:["ngbTypeaheadWindow"],decls:3,vars:1,consts:[["rt",""],["ngFor","",3,"ngForOf"],[3,"result","term"],["type","button","role","option",1,"dropdown-item",3,"id","mouseenter","click"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(A,K){1&A&&(t.YNc(0,Ve,1,2,"ng-template",null,0,t.W1O),t.YNc(2,$r,2,9,"ng-template",1)),2&A&&(t.xp6(2),t.Q6J("ngForOf",K.results))},directives:[e.sg,Md,e.tP],encapsulation:2}),V})();const Mu=new t.OlP("live announcer delay",{providedIn:"root",factory:function(){return 100}});function Lc(V,pe=!1){let A=V.body.querySelector("#ngb-live");return null==A&&pe&&(A=V.createElement("div"),A.setAttribute("id","ngb-live"),A.setAttribute("aria-live","polite"),A.setAttribute("aria-atomic","true"),A.classList.add("sr-only"),V.body.appendChild(A)),A}let Mc=(()=>{class V{constructor(A,K){this._document=A,this._delay=K}ngOnDestroy(){const A=Lc(this._document);A&&A.parentElement.removeChild(A)}say(A){const K=Lc(this._document,!0),Ye=this._delay;if(null!=K){K.textContent="";const Rt=()=>K.textContent=A;null===Ye?Rt():setTimeout(Rt,Ye)}}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(e.K0),t.LFG(Mu))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(e.K0),t.LFG(Mu))},token:V,providedIn:"root"}),V})(),Uc=(()=>{class V{constructor(){this.editable=!0,this.focusFirst=!0,this.showHint=!1,this.placement=["bottom-left","bottom-right","top-left","top-right"]}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),Ff=0,hu=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji,bo,is,Uo,us){this._elementRef=A,this._renderer=Ye,this._live=ji,this._document=bo,this._ngZone=is,this._changeDetector=Uo,this._subscription=null,this._closed$=new ie.xQ,this._inputValueBackup=null,this._windowRef=null,this.autocomplete="off",this.placement="bottom-left",this.selectItem=new t.vpe,this.activeDescendant=null,this.popupId="ngb-typeahead-"+Ff++,this._onTouched=()=>{},this._onChange=Ks=>{},this.container=Hr.container,this.editable=Hr.editable,this.focusFirst=Hr.focusFirst,this.showHint=Hr.showHint,this.placement=Hr.placement,this._valueChanges=(0,oe.R)(A.nativeElement,"input").pipe((0,St.U)(Ks=>Ks.target.value)),this._resubscribeTypeahead=new ne.X(null),this._popupService=new il(Lf,Rt,K,Ye,this._ngZone,vr,us),this._zoneSubscription=_i.onStable.subscribe(()=>{this.isPopupOpen()&&Je(this._elementRef.nativeElement,this._windowRef.location.nativeElement,this.placement,"body"===this.container)})}ngOnInit(){this._subscribeToUserInput()}ngOnChanges({ngbTypeahead:A}){A&&!A.firstChange&&(this._unsubscribeFromUserInput(),this._subscribeToUserInput())}ngOnDestroy(){this._closePopup(),this._unsubscribeFromUserInput(),this._zoneSubscription.unsubscribe()}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}writeValue(A){this._writeInputValue(this._formatItemForInput(A)),this.showHint&&(this._inputValueBackup=A)}setDisabledState(A){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",A)}dismissPopup(){this.isPopupOpen()&&(this._resubscribeTypeahead.next(null),this._closePopup(),this.showHint&&null!==this._inputValueBackup&&this._writeInputValue(this._inputValueBackup),this._changeDetector.markForCheck())}isPopupOpen(){return null!=this._windowRef}handleBlur(){this._resubscribeTypeahead.next(null),this._onTouched()}handleKeyDown(A){if(this.isPopupOpen())switch(A.which){case Yi.ArrowDown:A.preventDefault(),this._windowRef.instance.next(),this._showHint();break;case Yi.ArrowUp:A.preventDefault(),this._windowRef.instance.prev(),this._showHint();break;case Yi.Enter:case Yi.Tab:const K=this._windowRef.instance.getActive();cs(K)&&(A.preventDefault(),A.stopPropagation(),this._selectResult(K)),this._closePopup()}}_openPopup(){if(!this.isPopupOpen()){this._inputValueBackup=this._elementRef.nativeElement.value;const{windowRef:A}=this._popupService.open();this._windowRef=A,this._windowRef.instance.id=this.popupId,this._windowRef.instance.selectEvent.subscribe(K=>this._selectResultClosePopup(K)),this._windowRef.instance.activeChangeEvent.subscribe(K=>this.activeDescendant=K),this._windowRef.instance.popupClass=this.popupClass,"body"===this.container&&this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement),this._changeDetector.markForCheck(),hc(this._ngZone,this._document,"outside",()=>this.dismissPopup(),this._closed$,[this._elementRef.nativeElement,this._windowRef.location.nativeElement])}}_closePopup(){this._popupService.close().subscribe(()=>{this._closed$.next(),this._windowRef=null,this.activeDescendant=null})}_selectResult(A){let K=!1;this.selectItem.emit({item:A,preventDefault:()=>{K=!0}}),this._resubscribeTypeahead.next(null),K||(this.writeValue(A),this._onChange(A))}_selectResultClosePopup(A){this._selectResult(A),this._closePopup()}_showHint(){var A;if(this.showHint&&(null===(A=this._windowRef)||void 0===A?void 0:A.instance.hasActive())&&null!=this._inputValueBackup){const K=this._inputValueBackup.toLowerCase(),Ye=this._formatItemForInput(this._windowRef.instance.getActive());K===Ye.substr(0,this._inputValueBackup.length).toLowerCase()?(this._writeInputValue(this._inputValueBackup+Ye.substr(this._inputValueBackup.length)),this._elementRef.nativeElement.setSelectionRange.apply(this._elementRef.nativeElement,[this._inputValueBackup.length,Ye.length])):this._writeInputValue(Ye)}}_formatItemForInput(A){return null!=A&&this.inputFormatter?this.inputFormatter(A):Ri(A)}_writeInputValue(A){this._renderer.setProperty(this._elementRef.nativeElement,"value",Ri(A))}_subscribeToUserInput(){const A=this._valueChanges.pipe((0,ae.b)(K=>{this._inputValueBackup=this.showHint?K:null,this._onChange(this.editable?K:void 0)}),this.ngbTypeahead?this.ngbTypeahead:()=>(0,B.of)([]));this._subscription=this._resubscribeTypeahead.pipe((0,It.w)(()=>A)).subscribe(K=>{K&&0!==K.length?(this._openPopup(),this._windowRef.instance.focusFirst=this.focusFirst,this._windowRef.instance.results=K,this._windowRef.instance.term=this._elementRef.nativeElement.value,this.resultFormatter&&(this._windowRef.instance.formatter=this.resultFormatter),this.resultTemplate&&(this._windowRef.instance.resultTemplate=this.resultTemplate),this._windowRef.instance.resetActive(),this._windowRef.changeDetectorRef.detectChanges(),this._showHint()):this._closePopup();const Ye=K?K.length:0;this._live.say(0===Ye?"No results available":`${Ye} result${1===Ye?"":"s"} available`)})}_unsubscribeFromUserInput(){this._subscription&&this._subscription.unsubscribe(),this._subscription=null}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(t.s_b),t.Y36(t.Qsj),t.Y36(t.zs3),t.Y36(t._Vd),t.Y36(Uc),t.Y36(t.R0b),t.Y36(Mc),t.Y36(e.K0),t.Y36(t.R0b),t.Y36(t.sBO),t.Y36(t.z2F))},V.\u0275dir=t.lG2({type:V,selectors:[["input","ngbTypeahead",""]],hostAttrs:["autocapitalize","off","autocorrect","off","role","combobox","aria-multiline","false"],hostVars:7,hostBindings:function(A,K){1&A&&t.NdJ("blur",function(){return K.handleBlur()})("keydown",function(Rt){return K.handleKeyDown(Rt)}),2&A&&(t.Ikx("autocomplete",K.autocomplete),t.uIk("aria-autocomplete",K.showHint?"both":"list")("aria-activedescendant",K.activeDescendant)("aria-owns",K.isPopupOpen()?K.popupId:null)("aria-expanded",K.isPopupOpen()),t.ekj("open",K.isPopupOpen()))},inputs:{autocomplete:"autocomplete",placement:"placement",container:"container",editable:"editable",focusFirst:"focusFirst",showHint:"showHint",inputFormatter:"inputFormatter",ngbTypeahead:"ngbTypeahead",resultFormatter:"resultFormatter",resultTemplate:"resultTemplate",popupClass:"popupClass"},outputs:{selectItem:"selectItem"},exportAs:["ngbTypeahead"],features:[t._Bn([{provide:zt.JU,useExisting:(0,t.Gpc)(()=>V),multi:!0}]),t.TTD]}),V})(),fd=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})()},84051:(Ge,g,o)=>{"use strict";o.d(g,{vq:()=>sn,ii:()=>qn,Ke:()=>to,nE:()=>wi,dX:()=>_r,$7:()=>mr,AR:()=>ir,xD:()=>qo,Sr:()=>Jr,Hg:()=>mt});var t=o(74788),e=o(12057),s=o(79765),a=o(22759),l=o(26215),u=o(46782),h=o(64762);const _=["*"];function m(st,pn){1&st&&t._UZ(0,"datatable-progress")}function b(st,pn){if(1&st&&t._UZ(0,"datatable-summary-row",9),2&st){const ee=t.oxw(2);t.Q6J("rowHeight",ee.summaryHeight)("offsetX",ee.offsetX)("innerWidth",ee.innerWidth)("rows",ee.rows)("columns",ee.columns)}}function T(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-body-row",13),t.NdJ("treeAction",function(){t.CHM(ee);const fn=t.oxw().$implicit;return t.oxw(2).onTreeAction(fn)})("activate",function(fn){t.CHM(ee);const Tn=t.oxw().index,$r=t.oxw(2);return t.MAs(2).onActivate(fn,$r.indexes.first+Tn)}),t.qZA()}if(2&st){const ee=t.oxw().$implicit,Ve=t.oxw(2),fn=t.MAs(2);t.Q6J("isSelected",fn.getRowSelected(ee))("innerWidth",Ve.innerWidth)("offsetX",Ve.offsetX)("columns",Ve.columns)("rowHeight",Ve.getRowHeight(ee))("row",ee)("rowIndex",Ve.getRowIndex(ee))("expanded",Ve.getRowExpanded(ee))("rowClass",Ve.rowClass)("displayCheck",Ve.displayCheck)("treeStatus",ee&&ee.treeStatus)}}function D(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-body-row",15),t.NdJ("activate",function(fn){const $r=t.CHM(ee).index;return t.oxw(4),t.MAs(2).onActivate(fn,$r)}),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=t.oxw(2).$implicit,fn=t.oxw(2),Tn=t.MAs(2);t.Q6J("isSelected",Tn.getRowSelected(ee))("innerWidth",fn.innerWidth)("offsetX",fn.offsetX)("columns",fn.columns)("rowHeight",fn.getRowHeight(ee))("row",ee)("group",Ve.value)("rowIndex",fn.getRowIndex(ee))("expanded",fn.getRowExpanded(ee))("rowClass",fn.rowClass)}}function R(st,pn){if(1&st&&t.YNc(0,D,1,10,"datatable-body-row",14),2&st){const ee=t.oxw().$implicit,Ve=t.oxw(2);t.Q6J("ngForOf",ee.value)("ngForTrackBy",Ve.rowTrackingFn)}}function j(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-row-wrapper",10),t.NdJ("rowContextmenu",function(fn){return t.CHM(ee),t.oxw(2).rowContextmenu.emit(fn)}),t.YNc(1,T,1,11,"datatable-body-row",11),t.YNc(2,R,1,2,"ng-template",null,12,t.W1O),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=pn.index,fn=t.MAs(3),Tn=t.oxw(2);t.Q6J("groupedRows",Tn.groupedRows)("innerWidth",Tn.innerWidth)("ngStyle",Tn.getRowsStyles(ee))("rowDetail",Tn.rowDetail)("groupHeader",Tn.groupHeader)("offsetX",Tn.offsetX)("detailRowHeight",Tn.getDetailRowHeight(ee&&ee[Ve],Ve))("row",ee)("expanded",Tn.getRowExpanded(ee))("rowIndex",Tn.getRowIndex(ee&&ee[Ve])),t.xp6(1),t.Q6J("ngIf",!Tn.groupedRows)("ngIfElse",fn)}}function H(st,pn){if(1&st&&t._UZ(0,"datatable-summary-row",16),2&st){const ee=t.oxw(2);t.Q6J("ngStyle",ee.getBottomSummaryRowStyles())("rowHeight",ee.summaryHeight)("offsetX",ee.offsetX)("innerWidth",ee.innerWidth)("rows",ee.rows)("columns",ee.columns)}}function z(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-scroller",5),t.NdJ("scroll",function(fn){return t.CHM(ee),t.oxw().onBodyScroll(fn)}),t.YNc(1,b,1,5,"datatable-summary-row",6),t.YNc(2,j,4,12,"datatable-row-wrapper",7),t.YNc(3,H,1,6,"datatable-summary-row",8),t.qZA()}if(2&st){const ee=t.oxw();t.Q6J("scrollbarV",ee.scrollbarV)("scrollbarH",ee.scrollbarH)("scrollHeight",ee.scrollHeight)("scrollWidth",null==ee.columnGroupWidths?null:ee.columnGroupWidths.total),t.xp6(1),t.Q6J("ngIf",ee.summaryRow&&"top"===ee.summaryPosition),t.xp6(1),t.Q6J("ngForOf",ee.temp)("ngForTrackBy",ee.rowTrackingFn),t.xp6(1),t.Q6J("ngIf",ee.summaryRow&&"bottom"===ee.summaryPosition)}}function U(st,pn){if(1&st&&t._UZ(0,"div",17),2&st){const ee=t.oxw();t.Q6J("innerHTML",ee.emptyMessage,t.oJD)}}function M(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-header-cell",4),t.NdJ("resize",function(fn){const $r=t.CHM(ee).$implicit;return t.oxw(2).onColumnResized(fn,$r)})("longPressStart",function(fn){return t.CHM(ee),t.oxw(2).onLongPressStart(fn)})("longPressEnd",function(fn){return t.CHM(ee),t.oxw(2).onLongPressEnd(fn)})("sort",function(fn){return t.CHM(ee),t.oxw(2).onSort(fn)})("select",function(fn){return t.CHM(ee),t.oxw(2).select.emit(fn)})("columnContextmenu",function(fn){return t.CHM(ee),t.oxw(2).columnContextmenu.emit(fn)}),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=t.oxw(2);t.Q6J("resizeEnabled",ee.resizeable)("pressModel",ee)("pressEnabled",Ve.reorderable&&ee.draggable)("dragX",Ve.reorderable&&ee.draggable&&ee.dragging)("dragY",!1)("dragModel",ee)("dragEventTarget",Ve.dragEventTarget)("headerHeight",Ve.headerHeight)("isTarget",ee.isTarget)("targetMarkerTemplate",Ve.targetMarkerTemplate)("targetMarkerContext",ee.targetMarkerContext)("column",ee)("sortType",Ve.sortType)("sorts",Ve.sorts)("selectionType",Ve.selectionType)("sortAscendingIcon",Ve.sortAscendingIcon)("sortDescendingIcon",Ve.sortDescendingIcon)("sortUnsetIcon",Ve.sortUnsetIcon)("allRowsSelected",Ve.allRowsSelected)}}function I(st,pn){if(1&st&&(t.TgZ(0,"div",2),t.YNc(1,M,1,19,"datatable-header-cell",3),t.qZA()),2&st){const ee=pn.$implicit,Ve=t.oxw();t.Tol("datatable-row-"+ee.type),t.Q6J("ngStyle",Ve._styleByGroup[ee.type]),t.xp6(1),t.Q6J("ngForOf",ee.columns)("ngForTrackBy",Ve.columnTrackingFn)}}function J(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-header",4),t.NdJ("sort",function(fn){return t.CHM(ee),t.oxw().onColumnSort(fn)})("resize",function(fn){return t.CHM(ee),t.oxw().onColumnResize(fn)})("reorder",function(fn){return t.CHM(ee),t.oxw().onColumnReorder(fn)})("select",function(fn){return t.CHM(ee),t.oxw().onHeaderSelect(fn)})("columnContextmenu",function(fn){return t.CHM(ee),t.oxw().onColumnContextmenu(fn)}),t.ALo(1,"async"),t.qZA()}if(2&st){const ee=t.oxw();t.Q6J("sorts",ee.sorts)("sortType",ee.sortType)("scrollbarH",ee.scrollbarH)("innerWidth",ee._innerWidth)("offsetX",t.lcZ(1,15,ee._offsetX))("dealsWithGroup",void 0!==ee.groupedRows)("columns",ee._internalColumns)("headerHeight",ee.headerHeight)("reorderable",ee.reorderable)("targetMarkerTemplate",ee.targetMarkerTemplate)("sortAscendingIcon",ee.cssClasses.sortAscending)("sortDescendingIcon",ee.cssClasses.sortDescending)("sortUnsetIcon",ee.cssClasses.sortUnset)("allRowsSelected",ee.allRowsSelected)("selectionType",ee.selectionType)}}function B(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-footer",5),t.NdJ("page",function(fn){return t.CHM(ee),t.oxw().onFooterPage(fn)}),t.qZA()}if(2&st){const ee=t.oxw();t.Q6J("rowCount",ee.rowCount)("pageSize",ee.pageSize)("offset",ee.offset)("footerHeight",ee.footerHeight)("footerTemplate",ee.footer)("totalMessage",ee.messages.totalMessage)("pagerLeftArrowIcon",ee.cssClasses.pagerLeftArrow)("pagerRightArrowIcon",ee.cssClasses.pagerRightArrow)("pagerPreviousIcon",ee.cssClasses.pagerPrevious)("selectedCount",ee.selected.length)("selectedMessage",!!ee.selectionType&&ee.messages.selectedMessage)("pagerNextIcon",ee.cssClasses.pagerNext)}}function ie(st,pn){}function oe(st,pn){if(1&st&&t.YNc(0,ie,0,0,"ng-template",5),2&st){const ee=t.oxw();t.Q6J("ngTemplateOutlet",ee.targetMarkerTemplate)("ngTemplateOutletContext",ee.targetMarkerContext)}}function fe(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"label",6),t.TgZ(1,"input",7),t.NdJ("change",function(){t.CHM(ee);const fn=t.oxw();return fn.select.emit(!fn.allRowsSelected)}),t.qZA(),t.qZA()}if(2&st){const ee=t.oxw();t.xp6(1),t.Q6J("checked",ee.allRowsSelected)}}function ne(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"span",8),t.TgZ(1,"span",9),t.NdJ("click",function(){return t.CHM(ee),t.oxw().onSort()}),t.qZA(),t.qZA()}if(2&st){const ee=t.oxw();t.xp6(1),t.Q6J("innerHTML",ee.name,t.oJD)}}function he(st,pn){}function ce(st,pn){if(1&st&&t.YNc(0,he,0,0,"ng-template",5),2&st){const ee=t.oxw();t.Q6J("ngTemplateOutlet",ee.column.headerTemplate)("ngTemplateOutletContext",ee.cellContext)}}function Ae(st,pn){}const Se=function(st,pn,ee,Ve,fn){return{rowCount:st,pageSize:pn,selectedCount:ee,curPage:Ve,offset:fn}};function Oe(st,pn){if(1&st&&t.YNc(0,Ae,0,0,"ng-template",4),2&st){const ee=t.oxw();t.Q6J("ngTemplateOutlet",ee.footerTemplate.template)("ngTemplateOutletContext",t.qbA(2,Se,ee.rowCount,ee.pageSize,ee.selectedCount,ee.curPage,ee.offset))}}function be(st,pn){if(1&st&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&st){const ee=t.oxw(2);t.xp6(1),t.AsE(" ",null==ee.selectedCount?null:ee.selectedCount.toLocaleString()," ",ee.selectedMessage," / ")}}function ue(st,pn){if(1&st&&(t.TgZ(0,"div",5),t.YNc(1,be,2,2,"span",1),t._uU(2),t.qZA()),2&st){const ee=t.oxw();t.xp6(1),t.Q6J("ngIf",ee.selectedMessage),t.xp6(1),t.AsE(" ",null==ee.rowCount?null:ee.rowCount.toLocaleString()," ",ee.totalMessage," ")}}function He(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-pager",6),t.NdJ("change",function(fn){return t.CHM(ee),t.oxw().page.emit(fn)}),t.qZA()}if(2&st){const ee=t.oxw();t.Q6J("pagerLeftArrowIcon",ee.pagerLeftArrowIcon)("pagerRightArrowIcon",ee.pagerRightArrowIcon)("pagerPreviousIcon",ee.pagerPreviousIcon)("pagerNextIcon",ee.pagerNextIcon)("page",ee.curPage)("size",ee.pageSize)("count",ee.rowCount)("hidden",!ee.isVisible)}}const $e=function(st){return{"selected-count":st}};function F(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"li",6),t.TgZ(1,"a",7),t.NdJ("click",function(){const Tn=t.CHM(ee).$implicit;return t.oxw().selectPage(Tn.number)}),t._uU(2),t.qZA(),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=t.oxw();t.ekj("active",ee.number===Ve.page),t.uIk("aria-label","page "+ee.number),t.xp6(2),t.hij(" ",ee.text," ")}}function je(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-body-cell",3),t.NdJ("activate",function(fn){const $r=t.CHM(ee).index;return t.oxw(2).onActivate(fn,$r)})("treeAction",function(){return t.CHM(ee),t.oxw(2).onTreeAction()}),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=t.oxw(2);t.Q6J("row",Ve.row)("group",Ve.group)("expanded",Ve.expanded)("isSelected",Ve.isSelected)("rowIndex",Ve.rowIndex)("column",ee)("rowHeight",Ve.rowHeight)("displayCheck",Ve.displayCheck)("treeStatus",Ve.treeStatus)}}function Et(st,pn){if(1&st&&(t.TgZ(0,"div",1),t.YNc(1,je,1,9,"datatable-body-cell",2),t.qZA()),2&st){const ee=pn.$implicit,Ve=t.oxw();t.Gre("datatable-row-",ee.type," datatable-row-group"),t.Q6J("ngStyle",Ve._groupStyles[ee.type]),t.xp6(1),t.Q6J("ngForOf",ee.columns)("ngForTrackBy",Ve.columnTrackingFn)}}function lt(st,pn){}function nn(st,pn){if(1&st&&t.YNc(0,lt,0,0,"ng-template",4),2&st){const ee=t.oxw(2);t.Q6J("ngTemplateOutlet",ee.groupHeader.template)("ngTemplateOutletContext",ee.groupContext)}}function St(st,pn){if(1&st&&(t.TgZ(0,"div",3),t.YNc(1,nn,1,2,void 0,1),t.qZA()),2&st){const ee=t.oxw();t.Q6J("ngStyle",ee.getGroupHeaderStyle()),t.xp6(1),t.Q6J("ngIf",ee.groupHeader&&ee.groupHeader.template)}}function Ot(st,pn){1&st&&t.Hsn(0,0,["*ngIf","(groupHeader && groupHeader.template && expanded) || !groupHeader || !groupHeader.template"])}function Qe(st,pn){}function It(st,pn){if(1&st&&t.YNc(0,Qe,0,0,"ng-template",4),2&st){const ee=t.oxw(2);t.Q6J("ngTemplateOutlet",ee.rowDetail.template)("ngTemplateOutletContext",ee.rowContext)}}function ae(st,pn){if(1&st&&(t.TgZ(0,"div",5),t.YNc(1,It,1,2,void 0,1),t.qZA()),2&st){const ee=t.oxw();t.Udp("height",ee.detailRowHeight,"px"),t.xp6(1),t.Q6J("ngIf",ee.rowDetail&&ee.rowDetail.template)}}const Ie=["cellTemplate"];function dt(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"label",4),t.TgZ(1,"input",5),t.NdJ("click",function(fn){return t.CHM(ee),t.oxw().onCheckboxChange(fn)}),t.qZA(),t.qZA()}if(2&st){const ee=t.oxw();t.xp6(1),t.Q6J("checked",ee.isSelected)}}function Jt(st,pn){1&st&&t._UZ(0,"i",11)}function zt(st,pn){1&st&&t._UZ(0,"i",12)}function ln(st,pn){1&st&&t._UZ(0,"i",13)}function ar(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"button",7),t.NdJ("click",function(){return t.CHM(ee),t.oxw(2).onTreeAction()}),t.TgZ(1,"span"),t.YNc(2,Jt,1,0,"i",8),t.YNc(3,zt,1,0,"i",9),t.YNc(4,ln,1,0,"i",10),t.qZA(),t.qZA()}if(2&st){const ee=t.oxw(2);t.Q6J("disabled","disabled"===ee.treeStatus),t.xp6(2),t.Q6J("ngIf","loading"===ee.treeStatus),t.xp6(1),t.Q6J("ngIf","collapsed"===ee.treeStatus),t.xp6(1),t.Q6J("ngIf","expanded"===ee.treeStatus||"disabled"===ee.treeStatus)}}function Ln(st,pn){}const Rn=function(st){return{cellContext:st}};function er(st,pn){if(1&st&&t.YNc(0,Ln,0,0,"ng-template",14),2&st){const ee=t.oxw(2);t.Q6J("ngTemplateOutlet",ee.column.treeToggleTemplate)("ngTemplateOutletContext",t.VKq(2,Rn,ee.cellContext))}}function Mn(st,pn){if(1&st&&(t.ynx(0),t.YNc(1,ar,5,4,"button",6),t.YNc(2,er,1,4,void 0,2),t.BQk()),2&st){const ee=t.oxw();t.xp6(1),t.Q6J("ngIf",!ee.column.treeToggleTemplate),t.xp6(1),t.Q6J("ngIf",ee.column.treeToggleTemplate)}}function Ht(st,pn){if(1&st&&t._UZ(0,"span",15),2&st){const ee=t.oxw();t.Q6J("title",ee.sanitizedValue)("innerHTML",ee.value,t.oJD)}}function tr(st,pn){}function Yn(st,pn){if(1&st&&t.YNc(0,tr,0,0,"ng-template",14,16,t.W1O),2&st){const ee=t.oxw();t.Q6J("ngTemplateOutlet",ee.column.cellTemplate)("ngTemplateOutletContext",ee.cellContext)}}function Cn(st,pn){if(1&st&&t._UZ(0,"datatable-body-row",1),2&st){const ee=t.oxw();t.Q6J("innerWidth",ee.innerWidth)("offsetX",ee.offsetX)("columns",ee._internalColumns)("rowHeight",ee.rowHeight)("row",ee.summaryRow)("rowIndex",-1)}}let Kt=(()=>{class st{constructor(ee){this.document=ee,this.width=this.getWidth()}getWidth(){const ee=this.document.createElement("div");ee.style.visibility="hidden",ee.style.width="100px",ee.style.msOverflowStyle="scrollbar",this.document.body.appendChild(ee);const Ve=ee.offsetWidth;ee.style.overflow="scroll";const fn=this.document.createElement("div");fn.style.width="100%",ee.appendChild(fn);const Tn=fn.offsetWidth;return ee.parentNode.removeChild(ee),Ve-Tn}}return st.\u0275fac=function(ee){return new(ee||st)(t.LFG(e.K0))},st.\u0275prov=t.Yz7({token:st,factory:st.\u0275fac}),st})(),dn=(()=>{class st{getDimensions(ee){return ee.getBoundingClientRect()}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275prov=t.Yz7({token:st,factory:st.\u0275fac}),st})(),Kn=(()=>{class st{constructor(){this.columnInputChanges=new s.xQ}get columnInputChanges$(){return this.columnInputChanges.asObservable()}onInputChange(){this.columnInputChanges.next()}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275prov=t.Yz7({token:st,factory:st.\u0275fac}),st})(),qn=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-footer-template",""]]}),st})(),Sn=(()=>{class st{constructor(ee,Ve){this.element=ee,this.zone=Ve,this.isVisible=!1,this.visible=new t.vpe}ngOnInit(){this.runCheck()}ngOnDestroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const ee=()=>{const{offsetHeight:Ve,offsetWidth:fn}=this.element.nativeElement;Ve&&fn?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>ee(),50)}))};this.timeout=setTimeout(()=>ee())}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.SBq),t.Y36(t.R0b))},st.\u0275dir=t.lG2({type:st,selectors:[["","visibilityObserver",""]],hostVars:2,hostBindings:function(ee,Ve){2&ee&&t.ekj("visible",Ve.isVisible)},outputs:{visible:"visible"}}),st})(),$n=(()=>{class st{constructor(ee){this.dragX=!0,this.dragY=!0,this.dragStart=new t.vpe,this.dragging=new t.vpe,this.dragEnd=new t.vpe,this.isDragging=!1,this.element=ee.nativeElement}ngOnChanges(ee){ee.dragEventTarget&&ee.dragEventTarget.currentValue&&this.dragModel.dragging&&this.onMousedown(ee.dragEventTarget.currentValue)}ngOnDestroy(){this._destroySubscription()}onMouseup(ee){!this.isDragging||(this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this._destroySubscription(),this.dragEnd.emit({event:ee,element:this.element,model:this.dragModel})))}onMousedown(ee){if(ee.target.classList.contains("draggable")&&(this.dragX||this.dragY)){ee.preventDefault(),this.isDragging=!0;const fn={x:ee.clientX,y:ee.clientY},Tn=(0,a.R)(document,"mouseup");this.subscription=Tn.subscribe(ti=>this.onMouseup(ti));const $r=(0,a.R)(document,"mousemove").pipe((0,u.R)(Tn)).subscribe(ti=>this.move(ti,fn));this.subscription.add($r),this.dragStart.emit({event:ee,element:this.element,model:this.dragModel})}}move(ee,Ve){if(!this.isDragging)return;const Tn=ee.clientY-Ve.y;this.dragX&&(this.element.style.left=ee.clientX-Ve.x+"px"),this.dragY&&(this.element.style.top=`${Tn}px`),this.element.classList.add("dragging"),this.dragging.emit({event:ee,element:this.element,model:this.dragModel})}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.SBq))},st.\u0275dir=t.lG2({type:st,selectors:[["","draggable",""]],inputs:{dragX:"dragX",dragY:"dragY",dragEventTarget:"dragEventTarget",dragModel:"dragModel"},outputs:{dragStart:"dragStart",dragging:"dragging",dragEnd:"dragEnd"},features:[t.TTD]}),st})(),En=(()=>{class st{constructor(ee,Ve){this.renderer=Ve,this.resizeEnabled=!0,this.resize=new t.vpe,this.resizing=!1,this.element=ee.nativeElement}ngAfterViewInit(){const ee=this.renderer;this.resizeHandle=ee.createElement("span"),ee.addClass(this.resizeHandle,this.resizeEnabled?"resize-handle":"resize-handle--not-resizable"),ee.appendChild(this.element,this.resizeHandle)}ngOnDestroy(){this._destroySubscription(),this.renderer.destroyNode?this.renderer.destroyNode(this.resizeHandle):this.resizeHandle&&this.renderer.removeChild(this.renderer.parentNode(this.resizeHandle),this.resizeHandle)}onMouseup(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this._destroySubscription(),this.resize.emit(this.element.clientWidth))}onMousedown(ee){const Ve=ee.target.classList.contains("resize-handle"),fn=this.element.clientWidth,Tn=ee.screenX;if(Ve){ee.stopPropagation(),this.resizing=!0;const $r=(0,a.R)(document,"mouseup");this.subscription=$r.subscribe(Ri=>this.onMouseup());const ti=(0,a.R)(document,"mousemove").pipe((0,u.R)($r)).subscribe(Ri=>this.move(Ri,fn,Tn));this.subscription.add(ti)}}move(ee,Ve,fn){const $r=Ve+(ee.screenX-fn);(!this.minWidth||$r>=this.minWidth)&&(!this.maxWidth||$r<=this.maxWidth)&&(this.element.style.width=`${$r}px`)}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.SBq),t.Y36(t.Qsj))},st.\u0275dir=t.lG2({type:st,selectors:[["","resizeable",""]],hostVars:2,hostBindings:function(ee,Ve){1&ee&&t.NdJ("mousedown",function(Tn){return Ve.onMousedown(Tn)}),2&ee&&t.ekj("resizeable",Ve.resizeEnabled)},inputs:{resizeEnabled:"resizeEnabled",minWidth:"minWidth",maxWidth:"maxWidth"},outputs:{resize:"resize"}}),st})(),Fn=(()=>{class st{constructor(ee,Ve){this.document=Ve,this.reorder=new t.vpe,this.targetChanged=new t.vpe,this.differ=ee.find({}).create()}ngAfterContentInit(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))}ngOnDestroy(){this.draggables.forEach(ee=>{ee.dragStart.unsubscribe(),ee.dragging.unsubscribe(),ee.dragEnd.unsubscribe()})}updateSubscriptions(){const ee=this.differ.diff(this.createMapDiffs());if(ee){const Ve=({currentValue:Tn,previousValue:$r})=>{fn({previousValue:$r}),Tn&&(Tn.dragStart.subscribe(this.onDragStart.bind(this)),Tn.dragging.subscribe(this.onDragging.bind(this)),Tn.dragEnd.subscribe(this.onDragEnd.bind(this)))},fn=({previousValue:Tn})=>{Tn&&(Tn.dragStart.unsubscribe(),Tn.dragging.unsubscribe(),Tn.dragEnd.unsubscribe())};ee.forEachAddedItem(Ve),ee.forEachRemovedItem(fn)}}onDragStart(){this.positions={};let ee=0;for(const Ve of this.draggables.toArray()){const fn=Ve.element,Tn=parseInt(fn.offsetLeft.toString(),0);this.positions[Ve.dragModel.prop]={left:Tn,right:Tn+parseInt(fn.offsetWidth.toString(),0),index:ee++,element:fn}}}onDragging({model:Ve,event:fn}){const Tn=this.positions[Ve.prop],$r=this.isTarget(Ve,fn);$r?this.lastDraggingIndex!==$r.i&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,newIndex:$r.i,initialIndex:Tn.index}),this.lastDraggingIndex=$r.i):this.lastDraggingIndex!==Tn.index&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,initialIndex:Tn.index}),this.lastDraggingIndex=Tn.index)}onDragEnd({element:ee,model:Ve,event:fn}){const Tn=this.positions[Ve.prop],$r=this.isTarget(Ve,fn);$r&&this.reorder.emit({prevIndex:Tn.index,newIndex:$r.i,model:Ve}),this.lastDraggingIndex=void 0,ee.style.left="auto"}isTarget(ee,Ve){let fn=0;const ti=this.document.elementsFromPoint(Ve.x||Ve.clientX,Ve.y||Ve.clientY);for(const Ri in this.positions){const wo=this.positions[Ri];if(ee.prop!==Ri&&ti.find(gi=>gi===wo.element))return{pos:wo,i:fn};fn++}}createMapDiffs(){return this.draggables.toArray().reduce((ee,Ve)=>(ee[Ve.dragModel.$$id]=Ve,ee),{})}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.aQg),t.Y36(e.K0))},st.\u0275dir=t.lG2({type:st,selectors:[["","orderable",""]],contentQueries:function(ee,Ve,fn){if(1&ee&&t.Suo(fn,$n,5),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve.draggables=Tn)}},outputs:{reorder:"reorder",targetChanged:"targetChanged"}}),st})(),Dn=(()=>{class st{constructor(){this.pressEnabled=!0,this.duration=500,this.longPressStart=new t.vpe,this.longPressing=new t.vpe,this.longPressEnd=new t.vpe,this.mouseX=0,this.mouseY=0}get press(){return this.pressing}get isLongPress(){return this.isLongPressing}onMouseDown(ee){if(1!==ee.which||!this.pressEnabled||ee.target.classList.contains("resize-handle"))return;this.mouseX=ee.clientX,this.mouseY=ee.clientY,this.pressing=!0,this.isLongPressing=!1;const fn=(0,a.R)(document,"mouseup");this.subscription=fn.subscribe(Tn=>this.onMouseup()),this.timeout=setTimeout(()=>{this.isLongPressing=!0,this.longPressStart.emit({event:ee,model:this.pressModel}),this.subscription.add((0,a.R)(document,"mousemove").pipe((0,u.R)(fn)).subscribe(Tn=>this.onMouseMove(Tn))),this.loop(ee)},this.duration),this.loop(ee)}onMouseMove(ee){if(this.pressing&&!this.isLongPressing){const Ve=Math.abs(ee.clientX-this.mouseX)>10,fn=Math.abs(ee.clientY-this.mouseY)>10;(Ve||fn)&&this.endPress()}}loop(ee){this.isLongPressing&&(this.timeout=setTimeout(()=>{this.longPressing.emit({event:ee,model:this.pressModel}),this.loop(ee)},50))}endPress(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this._destroySubscription(),this.longPressEnd.emit({model:this.pressModel})}onMouseup(){this.endPress()}ngOnDestroy(){this._destroySubscription()}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275dir=t.lG2({type:st,selectors:[["","long-press",""]],hostVars:4,hostBindings:function(ee,Ve){1&ee&&t.NdJ("mousedown",function(Tn){return Ve.onMouseDown(Tn)}),2&ee&&t.ekj("press",Ve.press)("longpress",Ve.isLongPress)},inputs:{pressEnabled:"pressEnabled",duration:"duration",pressModel:"pressModel"},outputs:{longPressStart:"longPressStart",longPressing:"longPressing",longPressEnd:"longPressEnd"}}),st})(),mn=(()=>{class st{constructor(ee,Ve,fn){this.ngZone=ee,this.renderer=fn,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new t.vpe,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this._scrollEventListener=null,this.element=Ve.nativeElement}ngOnInit(){if(this.scrollbarV||this.scrollbarH){const ee=this.renderer;this.parentElement=ee.parentNode(ee.parentNode(this.element)),this._scrollEventListener=this.onScrolled.bind(this),this.parentElement.addEventListener("scroll",this._scrollEventListener)}}ngOnDestroy(){this._scrollEventListener&&(this.parentElement.removeEventListener("scroll",this._scrollEventListener),this._scrollEventListener=null)}setOffset(ee){this.parentElement&&(this.parentElement.scrollTop=ee)}onScrolled(ee){const Ve=ee.currentTarget;requestAnimationFrame(()=>{this.scrollYPos=Ve.scrollTop,this.scrollXPos=Ve.scrollLeft,this.updateOffset()})}updateOffset(){let ee;this.scrollYPos<this.prevScrollYPos?ee="down":this.scrollYPos>this.prevScrollYPos&&(ee="up"),this.scroll.emit({direction:ee,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.R0b),t.Y36(t.SBq),t.Y36(t.Qsj))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-scroller"]],hostAttrs:[1,"datatable-scroll"],hostVars:4,hostBindings:function(ee,Ve){2&ee&&t.Udp("height",Ve.scrollHeight,"px")("width",Ve.scrollWidth,"px")},inputs:{scrollbarV:"scrollbarV",scrollbarH:"scrollbarH",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth"},outputs:{scroll:"scroll"},ngContentSelectors:_,decls:1,vars:0,template:function(ee,Ve){1&ee&&(t.F$t(),t.Hsn(0))},encapsulation:2,changeDetection:0}),st})(),jn=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-group-header-template",""]]}),st})(),Xt=(()=>{class st{constructor(){this.rowHeight=0,this.toggle=new t.vpe}get template(){return this._templateInput||this._templateQuery}toggleExpandGroup(ee){this.toggle.emit({type:"group",value:ee})}expandAllGroups(){this.toggle.emit({type:"all",value:!0})}collapseAllGroups(){this.toggle.emit({type:"all",value:!1})}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275dir=t.lG2({type:st,selectors:[["ngx-datatable-group-header"]],contentQueries:function(ee,Ve,fn){if(1&ee&&t.Suo(fn,jn,7,t.Rgc),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve._templateQuery=Tn.first)}},inputs:{rowHeight:"rowHeight",_templateInput:["template","_templateInput"]},outputs:{toggle:"toggle"}}),st})();function ut(){return""}function mt(st){return null==st?ut:"number"==typeof st?Tt:-1!==st.indexOf(".")?et:yn}function Tt(st,pn){if(null==st)return"";if(!st||null==pn)return st;const ee=st[pn];return null==ee?"":ee}function yn(st,pn){if(null==st)return"";if(!st||!pn)return st;const ee=st[pn];return null==ee?"":ee}function et(st,pn){if(null==st)return"";if(!st||!pn)return st;let ee=st[pn];if(void 0!==ee)return ee;ee=st;const Ve=pn.split(".");if(Ve.length)for(let fn=0;fn<Ve.length;fn++)if(ee=ee[Ve[fn]],null==ee)return"";return ee}function jt(st){return st&&(pn=>mt(st)(pn,st))}function hn(st,pn,ee){if(pn&&ee){const Ve={},fn=st.length;let Tn=null;Ve[0]=new Qn;const $r=st.reduce((Ri,wo)=>{const gi=ee(wo);return-1===Ri.indexOf(gi)&&Ri.push(gi),Ri},[]);for(let Ri=0;Ri<fn;Ri++)Ve[ee(st[Ri])]=new Qn(st[Ri]);for(let Ri=0;Ri<fn;Ri++){Tn=Ve[ee(st[Ri])];let wo=0;const gi=pn(Tn.row);!!gi&&$r.indexOf(gi)>-1&&(wo=gi),Tn.parent=Ve[wo],Tn.row.level=Tn.parent.row.level+1,Tn.parent.children.push(Tn)}let ti=[];return Ve[0].flatten(function(){ti=[...ti,this.row]},!0),ti}return st}class Qn{constructor(pn=null){pn||(pn={level:-1,treeStatus:"expanded"}),this.row=pn,this.parent=null,this.children=[]}flatten(pn,ee){if("expanded"===this.row.treeStatus)for(let Ve=0,fn=this.children.length;Ve<fn;Ve++){const Tn=this.children[Ve];pn.apply(Tn,Array.prototype.slice.call(arguments,2)),ee&&Tn.flatten.apply(Tn,arguments)}}}function Ir(st){return(st=(st=(st=st.replace(/[^a-zA-Z0-9 ]/g," ")).replace(/([a-z](?=[A-Z]))/g,"$1 ")).replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase()).replace(/([ 0-9]+)([a-zA-Z])/g,function(pn,ee,Ve){return ee.trim()+Ve.toUpperCase()})}function ht(st){return st.replace(/([A-Z])/g,pn=>` ${pn}`).replace(/^./,pn=>pn.toUpperCase())}function Ue(st){if(!st)return;let pn=!1;for(const ee of st)ee.$$id||(ee.$$id=("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)),nt(ee.prop)&&ee.name&&(ee.prop=Ir(ee.name)),ee.$$valueGetter||(ee.$$valueGetter=mt(ee.prop)),!nt(ee.prop)&&nt(ee.name)&&(ee.name=ht(String(ee.prop))),nt(ee.prop)&&nt(ee.name)&&(ee.name=""),ee.hasOwnProperty("resizeable")||(ee.resizeable=!0),ee.hasOwnProperty("sortable")||(ee.sortable=!0),ee.hasOwnProperty("draggable")||(ee.draggable=!0),ee.hasOwnProperty("canAutoResize")||(ee.canAutoResize=!0),ee.hasOwnProperty("width")||(ee.width=150),ee.hasOwnProperty("isTreeColumn")&&ee.isTreeColumn&&!pn?pn=!0:ee.isTreeColumn=!1}function nt(st){return null==st}var it=(()=>{return(st=it||(it={})).standard="standard",st.flex="flex",st.force="force",it;var st})(),Pt=(()=>{return(st=Pt||(Pt={})).single="single",st.multi="multi",st.multiClick="multiClick",st.cell="cell",st.checkbox="checkbox",Pt;var st})(),Ut=(()=>{return(st=Ut||(Ut={})).single="single",st.multi="multi",Ut;var st})(),ot=(()=>{return(st=ot||(ot={})).header="header",st.body="body",ot;var st})();let Nn=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-header-template",""]]}),st})(),sn=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-cell-template",""]]}),st})(),An=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-tree-toggle",""]]}),st})(),Bn=(()=>{class st{constructor(ee){this.columnChangesService=ee,this.isFirstChange=!0}get cellTemplate(){return this._cellTemplateInput||this._cellTemplateQuery}get headerTemplate(){return this._headerTemplateInput||this._headerTemplateQuery}get treeToggleTemplate(){return this._treeToggleTemplateInput||this._treeToggleTemplateQuery}ngOnChanges(){this.isFirstChange?this.isFirstChange=!1:this.columnChangesService.onInputChange()}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(Kn))},st.\u0275dir=t.lG2({type:st,selectors:[["ngx-datatable-column"]],contentQueries:function(ee,Ve,fn){if(1&ee&&(t.Suo(fn,sn,7,t.Rgc),t.Suo(fn,Nn,7,t.Rgc),t.Suo(fn,An,7,t.Rgc)),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve._cellTemplateQuery=Tn.first),t.iGM(Tn=t.CRH())&&(Ve._headerTemplateQuery=Tn.first),t.iGM(Tn=t.CRH())&&(Ve._treeToggleTemplateQuery=Tn.first)}},inputs:{name:"name",prop:"prop",frozenLeft:"frozenLeft",frozenRight:"frozenRight",flexGrow:"flexGrow",resizeable:"resizeable",comparator:"comparator",pipe:"pipe",sortable:"sortable",draggable:"draggable",canAutoResize:"canAutoResize",minWidth:"minWidth",width:"width",maxWidth:"maxWidth",checkboxable:"checkboxable",headerCheckboxable:"headerCheckboxable",headerClass:"headerClass",cellClass:"cellClass",isTreeColumn:"isTreeColumn",treeLevelIndent:"treeLevelIndent",summaryFunc:"summaryFunc",summaryTemplate:"summaryTemplate",_cellTemplateInput:["cellTemplate","_cellTemplateInput"],_headerTemplateInput:["headerTemplate","_headerTemplateInput"],_treeToggleTemplateInput:["treeToggleTemplate","_treeToggleTemplateInput"]},features:[t.TTD]}),st})(),ir=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-row-detail-template",""]]}),st})(),mr=(()=>{class st{constructor(){this.rowHeight=0,this.toggle=new t.vpe}get template(){return this._templateInput||this._templateQuery}toggleExpandRow(ee){this.toggle.emit({type:"row",value:ee})}expandAllRows(){this.toggle.emit({type:"all",value:!0})}collapseAllRows(){this.toggle.emit({type:"all",value:!1})}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275dir=t.lG2({type:st,selectors:[["ngx-datatable-row-detail"]],contentQueries:function(ee,Ve,fn){if(1&ee&&t.Suo(fn,ir,7,t.Rgc),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve._templateQuery=Tn.first)}},inputs:{rowHeight:"rowHeight",_templateInput:["template","_templateInput"]},outputs:{toggle:"toggle"}}),st})(),_r=(()=>{class st{get template(){return this._templateInput||this._templateQuery}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275dir=t.lG2({type:st,selectors:[["ngx-datatable-footer"]],contentQueries:function(ee,Ve,fn){if(1&ee&&t.Suo(fn,qn,5,t.Rgc),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve._templateQuery=Tn.first)}},inputs:{footerHeight:"footerHeight",totalMessage:"totalMessage",selectedMessage:"selectedMessage",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon",_templateInput:["template","_templateInput"]}}),st})();function Nr(st){const pn={left:[],center:[],right:[]};if(st)for(const ee of st)ee.frozenLeft?pn.left.push(ee):ee.frozenRight?pn.right.push(ee):pn.center.push(ee);return pn}function br(st,pn){return{left:Jn(st.left),center:Jn(st.center),right:Jn(st.right),total:Math.floor(Jn(pn))}}function Jn(st,pn){let ee=0;if(st)for(const Ve of st)ee+=parseFloat(pn&&Ve[pn]?Ve[pn]:Ve.width);return ee}function Mr(st){const pn=[],ee=Nr(st);return pn.push({type:"left",columns:ee.left}),pn.push({type:"center",columns:ee.center}),pn.push({type:"right",columns:ee.right}),pn}class yi{constructor(){this.treeArray=[]}clearCache(){this.treeArray=[]}initCache(pn){const{rows:ee,rowHeight:Ve,detailRowHeight:fn,externalVirtual:Tn,rowCount:$r,rowIndexes:ti,rowExpansions:Ri}=pn,wo="function"==typeof Ve,gi="function"==typeof fn;if(!wo&&isNaN(Ve))throw new Error(`Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n valid number or function value: (${Ve}) when 'scrollbarV' is enabled.`);if(!gi&&isNaN(fn))throw new Error(`Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n valid number or function value: (${fn}) when 'scrollbarV' is enabled.`);const Hi=Tn?$r:ee.length;this.treeArray=new Array(Hi);for(let Fi=0;Fi<Hi;++Fi)this.treeArray[Fi]=0;for(let Fi=0;Fi<Hi;++Fi){const cs=ee[Fi];let ws=Ve;wo&&(ws=Ve(cs));const da=Ri.has(cs);cs&&da&&(ws+=gi?fn(cs,ti.get(cs)):fn),this.update(Fi,ws)}}getRowIndex(pn){return 0===pn?0:this.calcRowIndex(pn)}update(pn,ee){if(!this.treeArray.length)throw new Error(`Update at index ${pn} with value ${ee} failed:\n Row Height cache not initialized.`);const Ve=this.treeArray.length;for(pn|=0;pn<Ve;)this.treeArray[pn]+=ee,pn|=pn+1}query(pn){if(!this.treeArray.length)throw new Error(`query at index ${pn} failed: Fenwick tree array not initialized.`);let ee=0;for(pn|=0;pn>=0;)ee+=this.treeArray[pn],pn=(pn&pn+1)-1;return ee}queryBetween(pn,ee){return this.query(ee)-this.query(pn-1)}calcRowIndex(pn){if(!this.treeArray.length)return 0;let ee=-1;const Ve=this.treeArray.length;for(let Tn=Math.pow(2,Ve.toString(2).length-1);0!==Tn;Tn>>=1){const $r=ee+Tn;$r<Ve&&pn>=this.treeArray[$r]&&(pn-=this.treeArray[$r],ee=$r)}return ee+1}}const Li={},Mi="undefined"!=typeof document?document.createElement("div").style:void 0,Xr=function(){const st="undefined"!=typeof window?window.getComputedStyle(document.documentElement,""):void 0,pn=void 0!==st?Array.prototype.slice.call(st).join("").match(/-(moz|webkit|ms)-/):null,ee=null!==pn?pn[1]:void 0,Ve=void 0!==ee?"WebKit|Moz|MS|O".match(new RegExp("("+ee+")","i"))[1]:void 0;return Ve?{dom:Ve,lowercase:ee,css:`-${ee}-`,js:ee[0].toUpperCase()+ee.substr(1)}:void 0}();function Kr(st){const pn=Ir(st);return Li[pn]||(void 0!==Xr&&void 0!==Mi[Xr.css+st]?Li[pn]=Xr.css+st:void 0!==Mi[st]&&(Li[pn]=st)),Li[pn]}const di="undefined"!=typeof window?Kr("transform"):void 0,se="undefined"!=typeof window?Kr("backfaceVisibility"):void 0,ct="undefined"!=typeof window?!!Kr("transform"):void 0,Ke="undefined"!=typeof window?!!Kr("perspective"):void 0,Xe="undefined"!=typeof window?window.navigator.userAgent:"Chrome",Vt=/Safari\//.test(Xe)&&!/Chrome\//.test(Xe);function Ct(st,pn,ee){void 0!==di&&ct?!Vt&&Ke?(st[di]=`translate3d(${pn}px, ${ee}px, 0)`,st[se]="hidden"):st[Ir(di)]=`translate(${pn}px, ${ee}px)`:(st.top=`${ee}px`,st.left=`${pn}px`)}let rt=(()=>{class st{constructor(ee){this.cd=ee,this.selected=[],this.scroll=new t.vpe,this.page=new t.vpe,this.activate=new t.vpe,this.select=new t.vpe,this.detailToggle=new t.vpe,this.rowContextmenu=new t.vpe(!1),this.treeAction=new t.vpe,this.rowHeightsCache=new yi,this.temp=[],this.offsetY=0,this.indexes={},this.rowIndexes=new WeakMap,this.rowExpansions=[],this.getDetailRowHeight=(Ve,fn)=>{if(!this.rowDetail)return 0;const Tn=this.rowDetail.rowHeight;return"function"==typeof Tn?Tn(Ve,fn):Tn},this.rowTrackingFn=(Ve,fn)=>{const Tn=this.getRowIndex(fn);return this.trackByProp?fn[this.trackByProp]:Tn}}set pageSize(ee){this._pageSize=ee,this.recalcLayout()}get pageSize(){return this._pageSize}set rows(ee){this._rows=ee,this.recalcLayout()}get rows(){return this._rows}set columns(ee){this._columns=ee;const Ve=Nr(ee);this.columnGroupWidths=br(Ve,ee)}get columns(){return this._columns}set offset(ee){this._offset=ee,(!this.scrollbarV||this.scrollbarV&&!this.virtualization)&&this.recalcLayout()}get offset(){return this._offset}set rowCount(ee){this._rowCount=ee,this.recalcLayout()}get rowCount(){return this._rowCount}get bodyWidth(){return this.scrollbarH?this.innerWidth+"px":"100%"}set bodyHeight(ee){this._bodyHeight=this.scrollbarV?ee+"px":"auto",this.recalcLayout()}get bodyHeight(){return this._bodyHeight}get selectEnabled(){return!!this.selectionType}get scrollHeight(){if(this.scrollbarV&&this.virtualization&&this.rowCount)return this.rowHeightsCache.query(this.rowCount-1)}ngOnInit(){this.rowDetail&&(this.listener=this.rowDetail.toggle.subscribe(({type:ee,value:Ve})=>{"row"===ee&&this.toggleRowExpansion(Ve),"all"===ee&&this.toggleAllRows(Ve),this.updateIndexes(),this.updateRows(),this.cd.markForCheck()})),this.groupHeader&&(this.listener=this.groupHeader.toggle.subscribe(({type:ee,value:Ve})=>{"group"===ee&&this.toggleRowExpansion(Ve),"all"===ee&&this.toggleAllRows(Ve),this.updateIndexes(),this.updateRows(),this.cd.markForCheck()}))}ngOnDestroy(){(this.rowDetail||this.groupHeader)&&this.listener.unsubscribe()}updateOffsetY(ee){this.scroller&&(this.scrollbarV&&this.virtualization&&ee?ee=this.rowHeightsCache.query(this.pageSize*ee-1):this.scrollbarV&&!this.virtualization&&(ee=0),this.scroller.setOffset(ee||0))}onBodyScroll(ee){const Ve=ee.scrollYPos,fn=ee.scrollXPos;(this.offsetY!==Ve||this.offsetX!==fn)&&this.scroll.emit({offsetY:Ve,offsetX:fn}),this.offsetY=Ve,this.offsetX=fn,this.updateIndexes(),this.updatePage(ee.direction),this.updateRows()}updatePage(ee){let Ve=this.indexes.first/this.pageSize;"up"===ee?Ve=Math.ceil(Ve):"down"===ee&&(Ve=Math.floor(Ve)),void 0!==ee&&!isNaN(Ve)&&this.page.emit({offset:Ve})}updateRows(){const{first:ee,last:Ve}=this.indexes;let fn=ee,Tn=0;const $r=[];if(this.groupedRows){let ti=3;for(1===this.groupedRows.length&&(ti=this.groupedRows[0].value.length);fn<Ve&&fn<this.groupedRows.length;){const Ri=this.groupedRows[fn];this.rowIndexes.set(Ri,fn),Ri.value&&Ri.value.forEach((wo,gi)=>{this.rowIndexes.set(wo,`${fn}-${gi}`)}),$r[Tn]=Ri,Tn++,fn++}}else for(;fn<Ve&&fn<this.rowCount;){const ti=this.rows[fn];ti&&(this.rowIndexes.set(ti,fn),$r[Tn]=ti),Tn++,fn++}this.temp=$r}getRowHeight(ee){return"function"==typeof this.rowHeight?this.rowHeight(ee):this.rowHeight}getGroupHeight(ee){let Ve=0;if(ee.value)for(let fn=0;fn<ee.value.length;fn++)Ve+=this.getRowAndDetailHeight(ee.value[fn]);return Ve}getRowAndDetailHeight(ee){let Ve=this.getRowHeight(ee);return this.getRowExpanded(ee)&&(Ve+=this.getDetailRowHeight(ee)),Ve}getRowsStyles(ee){const Ve={};if(this.groupedRows&&(Ve.width=this.columnGroupWidths.total),this.scrollbarV&&this.virtualization){let fn=0;if(this.groupedRows){const $r=ee[ee.length-1];fn=$r?this.getRowIndex($r):0}else fn=this.getRowIndex(ee);Ct(Ve,0,this.rowHeightsCache.query(fn-1))}return Ve}getBottomSummaryRowStyles(){if(!this.scrollbarV||!this.rows||!this.rows.length)return null;const ee={position:"absolute"};return Ct(ee,0,this.rowHeightsCache.query(this.rows.length-1)),ee}hideIndicator(){setTimeout(()=>this.loadingIndicator=!1,500)}updateIndexes(){let ee=0,Ve=0;if(this.scrollbarV)if(this.virtualization){const fn=parseInt(this.bodyHeight,0);ee=this.rowHeightsCache.getRowIndex(this.offsetY),Ve=this.rowHeightsCache.getRowIndex(fn+this.offsetY)+1}else ee=0,Ve=this.rowCount;else this.externalPaging||(ee=Math.max(this.offset*this.pageSize,0)),Ve=Math.min(ee+this.pageSize,this.rowCount);this.indexes={first:ee,last:Ve}}refreshRowHeightCache(){if(this.scrollbarV&&(!this.scrollbarV||this.virtualization)&&(this.rowHeightsCache.clearCache(),this.rows&&this.rows.length)){const ee=new Set;for(const Ve of this.rows)this.getRowExpanded(Ve)&&ee.add(Ve);this.rowHeightsCache.initCache({rows:this.rows,rowHeight:this.rowHeight,detailRowHeight:this.getDetailRowHeight,externalVirtual:this.scrollbarV&&this.externalPaging,rowCount:this.rowCount,rowIndexes:this.rowIndexes,rowExpansions:ee})}}getAdjustedViewPortIndex(){const ee=this.indexes.first;return this.scrollbarV&&this.virtualization&&this.rowHeightsCache.query(ee-1)<=this.offsetY?ee-1:ee}toggleRowExpansion(ee){const Ve=this.getAdjustedViewPortIndex(),fn=this.getRowExpandedIdx(ee,this.rowExpansions),Tn=fn>-1;if(this.scrollbarV&&this.virtualization){const $r=this.getDetailRowHeight(ee)*(Tn?-1:1),ti=this.getRowIndex(ee);this.rowHeightsCache.update(ti,$r)}Tn?this.rowExpansions.splice(fn,1):this.rowExpansions.push(ee),this.detailToggle.emit({rows:[ee],currentIndex:Ve})}toggleAllRows(ee){this.rowExpansions=[];const Ve=this.getAdjustedViewPortIndex();if(ee)for(const fn of this.rows)this.rowExpansions.push(fn);this.scrollbarV&&this.recalcLayout(),this.detailToggle.emit({rows:this.rows,currentIndex:Ve})}recalcLayout(){this.refreshRowHeightCache(),this.updateIndexes(),this.updateRows()}columnTrackingFn(ee,Ve){return Ve.$$id}stylesByGroup(ee){const Ve=this.columnGroupWidths,fn=this.offsetX,Tn={width:`${Ve[ee]}px`};if("left"===ee)Ct(Tn,fn,0);else if("right"===ee){const $r=parseInt(this.innerWidth+"",0);Ct(Tn,-1*(Ve.total-$r-fn),0)}return Tn}getRowExpanded(ee){if(0===this.rowExpansions.length&&this.groupExpansionDefault)for(const Ve of this.groupedRows)this.rowExpansions.push(Ve);return this.getRowExpandedIdx(ee,this.rowExpansions)>-1}getRowExpandedIdx(ee,Ve){if(!Ve||!Ve.length)return-1;const fn=this.rowIdentity(ee);return Ve.findIndex(Tn=>this.rowIdentity(Tn)===fn)}getRowIndex(ee){return this.rowIndexes.get(ee)||0}onTreeAction(ee){this.treeAction.emit({row:ee})}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.sBO))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-body"]],viewQuery:function(ee,Ve){if(1&ee&&t.Gf(mn,5),2&ee){let fn;t.iGM(fn=t.CRH())&&(Ve.scroller=fn.first)}},hostAttrs:[1,"datatable-body"],hostVars:4,hostBindings:function(ee,Ve){2&ee&&t.Udp("width",Ve.bodyWidth)("height",Ve.bodyHeight)},inputs:{selected:"selected",pageSize:"pageSize",rows:"rows",columns:"columns",offset:"offset",rowCount:"rowCount",bodyHeight:"bodyHeight",offsetX:"offsetX",loadingIndicator:"loadingIndicator",scrollbarV:"scrollbarV",scrollbarH:"scrollbarH",externalPaging:"externalPaging",rowHeight:"rowHeight",emptyMessage:"emptyMessage",selectionType:"selectionType",rowIdentity:"rowIdentity",rowDetail:"rowDetail",groupHeader:"groupHeader",selectCheck:"selectCheck",displayCheck:"displayCheck",trackByProp:"trackByProp",rowClass:"rowClass",groupedRows:"groupedRows",groupExpansionDefault:"groupExpansionDefault",innerWidth:"innerWidth",groupRowsBy:"groupRowsBy",virtualization:"virtualization",summaryRow:"summaryRow",summaryPosition:"summaryPosition",summaryHeight:"summaryHeight"},outputs:{scroll:"scroll",page:"page",activate:"activate",select:"select",detailToggle:"detailToggle",rowContextmenu:"rowContextmenu",treeAction:"treeAction"},decls:5,vars:9,consts:[[4,"ngIf"],[3,"selected","rows","selectCheck","selectEnabled","selectionType","rowIdentity","select","activate"],["selector",""],[3,"scrollbarV","scrollbarH","scrollHeight","scrollWidth","scroll",4,"ngIf"],["class","empty-row",3,"innerHTML",4,"ngIf"],[3,"scrollbarV","scrollbarH","scrollHeight","scrollWidth","scroll"],[3,"rowHeight","offsetX","innerWidth","rows","columns",4,"ngIf"],[3,"groupedRows","innerWidth","ngStyle","rowDetail","groupHeader","offsetX","detailRowHeight","row","expanded","rowIndex","rowContextmenu",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle","rowHeight","offsetX","innerWidth","rows","columns",4,"ngIf"],[3,"rowHeight","offsetX","innerWidth","rows","columns"],[3,"groupedRows","innerWidth","ngStyle","rowDetail","groupHeader","offsetX","detailRowHeight","row","expanded","rowIndex","rowContextmenu"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","rowIndex","expanded","rowClass","displayCheck","treeStatus","treeAction","activate",4,"ngIf","ngIfElse"],["groupedRowsTemplate",""],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","rowIndex","expanded","rowClass","displayCheck","treeStatus","treeAction","activate"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","group","rowIndex","expanded","rowClass","activate",4,"ngFor","ngForOf","ngForTrackBy"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","group","rowIndex","expanded","rowClass","activate"],[3,"ngStyle","rowHeight","offsetX","innerWidth","rows","columns"],[1,"empty-row",3,"innerHTML"]],template:function(ee,Ve){1&ee&&(t.YNc(0,m,1,0,"datatable-progress",0),t.TgZ(1,"datatable-selection",1,2),t.NdJ("select",function(Tn){return Ve.select.emit(Tn)})("activate",function(Tn){return Ve.activate.emit(Tn)}),t.YNc(3,z,4,8,"datatable-scroller",3),t.YNc(4,U,1,1,"div",4),t.qZA()),2&ee&&(t.Q6J("ngIf",Ve.loadingIndicator),t.xp6(1),t.Q6J("selected",Ve.selected)("rows",Ve.rows)("selectCheck",Ve.selectCheck)("selectEnabled",Ve.selectEnabled)("selectionType",Ve.selectionType)("rowIdentity",Ve.rowIdentity),t.xp6(2),t.Q6J("ngIf",null==Ve.rows?null:Ve.rows.length),t.xp6(1),t.Q6J("ngIf",!(null!=Ve.rows&&Ve.rows.length||Ve.loadingIndicator)))},directives:function(){return[e.O5,Ko,qi,mn,e.sg,ds,Gi,e.PC,eo]},encapsulation:2,changeDetection:0}),st})(),yt=(()=>{class st{constructor(ee){this.cd=ee,this.sort=new t.vpe,this.reorder=new t.vpe,this.resize=new t.vpe,this.select=new t.vpe,this.columnContextmenu=new t.vpe(!1),this._columnGroupWidths={total:100},this._styleByGroup={left:{},center:{},right:{}},this.destroyed=!1}set innerWidth(ee){this._innerWidth=ee,setTimeout(()=>{if(this._columns){const Ve=Nr(this._columns);this._columnGroupWidths=br(Ve,this._columns),this.setStylesByGroup()}})}get innerWidth(){return this._innerWidth}set headerHeight(ee){this._headerHeight="auto"!==ee?`${ee}px`:ee}get headerHeight(){return this._headerHeight}set columns(ee){this._columns=ee;const Ve=Nr(ee);this._columnsByPin=Mr(ee),setTimeout(()=>{this._columnGroupWidths=br(Ve,ee),this.setStylesByGroup()})}get columns(){return this._columns}set offsetX(ee){this._offsetX=ee,this.setStylesByGroup()}get offsetX(){return this._offsetX}ngOnDestroy(){this.destroyed=!0}onLongPressStart({event:ee,model:Ve}){Ve.dragging=!0,this.dragEventTarget=ee}onLongPressEnd({event:ee,model:Ve}){this.dragEventTarget=ee,setTimeout(()=>{const fn=this._columns.find(Tn=>Tn.$$id===Ve.$$id);fn&&(fn.dragging=!1)},5)}get headerWidth(){return this.scrollbarH?this.innerWidth+"px":"100%"}trackByGroups(ee,Ve){return Ve.type}columnTrackingFn(ee,Ve){return Ve.$$id}onColumnResized(ee,Ve){ee<=Ve.minWidth?ee=Ve.minWidth:ee>=Ve.maxWidth&&(ee=Ve.maxWidth),this.resize.emit({column:Ve,prevValue:Ve.width,newValue:ee})}onColumnReordered({prevIndex:ee,newIndex:Ve,model:fn}){const Tn=this.getColumn(Ve);Tn.isTarget=!1,Tn.targetMarkerContext=void 0,this.reorder.emit({column:fn,prevValue:ee,newValue:Ve})}onTargetChanged({prevIndex:ee,newIndex:Ve,initialIndex:fn}){if(ee||0===ee){const Tn=this.getColumn(ee);Tn.isTarget=!1,Tn.targetMarkerContext=void 0}if(Ve||0===Ve){const Tn=this.getColumn(Ve);Tn.isTarget=!0,fn!==Ve&&(Tn.targetMarkerContext={class:"targetMarker ".concat(fn>Ve?"dragFromRight":"dragFromLeft")})}}getColumn(ee){const Ve=this._columnsByPin[0].columns.length;if(ee<Ve)return this._columnsByPin[0].columns[ee];const fn=this._columnsByPin[1].columns.length;return ee<Ve+fn?this._columnsByPin[1].columns[ee-Ve]:this._columnsByPin[2].columns[ee-Ve-fn]}onSort({column:ee,prevValue:Ve,newValue:fn}){if(ee.dragging)return;const Tn=this.calcNewSorts(ee,Ve,fn);this.sort.emit({sorts:Tn,column:ee,prevValue:Ve,newValue:fn})}calcNewSorts(ee,Ve,fn){let Tn=0;this.sorts||(this.sorts=[]);const $r=this.sorts.map((ti,Ri)=>((ti=Object.assign({},ti)).prop===ee.prop&&(Tn=Ri),ti));return void 0===fn?$r.splice(Tn,1):Ve?$r[Tn].dir=fn:(this.sortType===Ut.single&&$r.splice(0,this.sorts.length),$r.push({dir:fn,prop:ee.prop})),$r}setStylesByGroup(){this._styleByGroup.left=this.calcStylesByGroup("left"),this._styleByGroup.center=this.calcStylesByGroup("center"),this._styleByGroup.right=this.calcStylesByGroup("right"),this.destroyed||this.cd.detectChanges()}calcStylesByGroup(ee){const Ve=this._columnGroupWidths,Tn={width:`${Ve[ee]}px`};return"center"===ee?Ct(Tn,-1*this.offsetX,0):"right"===ee&&Ct(Tn,-1*(Ve.total-this.innerWidth),0),Tn}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.sBO))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-header"]],hostAttrs:[1,"datatable-header"],hostVars:4,hostBindings:function(ee,Ve){2&ee&&t.Udp("height",Ve.headerHeight)("width",Ve.headerWidth)},inputs:{innerWidth:"innerWidth",headerHeight:"headerHeight",columns:"columns",offsetX:"offsetX",sorts:"sorts",sortAscendingIcon:"sortAscendingIcon",sortDescendingIcon:"sortDescendingIcon",sortUnsetIcon:"sortUnsetIcon",scrollbarH:"scrollbarH",dealsWithGroup:"dealsWithGroup",targetMarkerTemplate:"targetMarkerTemplate",sortType:"sortType",allRowsSelected:"allRowsSelected",selectionType:"selectionType",reorderable:"reorderable"},outputs:{sort:"sort",reorder:"reorder",resize:"resize",select:"select",columnContextmenu:"columnContextmenu"},decls:2,vars:4,consts:[["orderable","",1,"datatable-header-inner",3,"reorder","targetChanged"],[3,"class","ngStyle",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle"],["resizeable","","long-press","","draggable","",3,"resizeEnabled","pressModel","pressEnabled","dragX","dragY","dragModel","dragEventTarget","headerHeight","isTarget","targetMarkerTemplate","targetMarkerContext","column","sortType","sorts","selectionType","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","resize","longPressStart","longPressEnd","sort","select","columnContextmenu",4,"ngFor","ngForOf","ngForTrackBy"],["resizeable","","long-press","","draggable","",3,"resizeEnabled","pressModel","pressEnabled","dragX","dragY","dragModel","dragEventTarget","headerHeight","isTarget","targetMarkerTemplate","targetMarkerContext","column","sortType","sorts","selectionType","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","resize","longPressStart","longPressEnd","sort","select","columnContextmenu"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.NdJ("reorder",function(Tn){return Ve.onColumnReordered(Tn)})("targetChanged",function(Tn){return Ve.onTargetChanged(Tn)}),t.YNc(1,I,2,5,"div",1),t.qZA()),2&ee&&(t.Udp("width",Ve._columnGroupWidths.total,"px"),t.xp6(1),t.Q6J("ngForOf",Ve._columnsByPin)("ngForTrackBy",Ve.trackByGroups))},directives:function(){return[Fn,e.sg,e.PC,_o,En,Dn,$n]},encapsulation:2,changeDetection:0}),st})();function qe(st,pn,ee){ee=ee||{};let Ve,fn,Tn,$r=null,ti=0;function Ri(){ti=!1===ee.leading?0:+new Date,$r=null,Tn=st.apply(Ve,fn)}return function(){const wo=+new Date;!ti&&!1===ee.leading&&(ti=wo);const gi=pn-(wo-ti);return Ve=this,fn=arguments,gi<=0?(clearTimeout($r),$r=null,ti=wo,Tn=st.apply(Ve,fn)):!$r&&!1!==ee.trailing&&($r=setTimeout(Ri,gi)),Tn}}function $t(st,pn){return function(Ve,fn,Tn){return{configurable:!0,enumerable:Tn.enumerable,get:function(){return Object.defineProperty(this,fn,{configurable:!0,enumerable:Tn.enumerable,value:qe(Tn.value,st,pn)}),this[fn]}}}}function ai(st,pn){for(const ee of pn){const Ve=st.indexOf(ee);st.splice(Ve,1)}}function Dr(st,pn=300){let ee=0;for(const Ve of st)ee+=Ve.width||pn;return ee}var Jr=(()=>{return(st=Jr||(Jr={})).asc="asc",st.desc="desc",Jr;var st})();function fi(st,pn){if(null==st&&(st=0),null==pn&&(pn=0),st instanceof Date&&pn instanceof Date){if(st<pn)return-1;if(st>pn)return 1}else if(isNaN(parseFloat(st))||!isFinite(st)||isNaN(parseFloat(pn))||!isFinite(pn)){if(st=String(st),pn=String(pn),st.toLowerCase()<pn.toLowerCase())return-1;if(st.toLowerCase()>pn.toLowerCase())return 1}else{if(parseFloat(st)<parseFloat(pn))return-1;if(parseFloat(st)>parseFloat(pn))return 1}return 0}let wi=(()=>{class st{constructor(ee,Ve,fn,Tn,$r,ti,Ri){this.scrollbarHelper=ee,this.dimensionsHelper=Ve,this.cd=fn,this.columnChangesService=ti,this.configuration=Ri,this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.columnMode=it.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.loadingIndicator=!1,this.reorderable=!0,this.swapColumns=!0,this.sortType=Ut.single,this.sorts=[],this.cssClasses={sortAscending:"datatable-icon-up",sortDescending:"datatable-icon-down",sortUnset:"datatable-icon-sort-unset",pagerLeftArrow:"datatable-icon-left",pagerRightArrow:"datatable-icon-right",pagerPrevious:"datatable-icon-prev",pagerNext:"datatable-icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total",selectedMessage:"selected"},this.groupExpansionDefault=!1,this.selectAllRowsOnPage=!1,this.virtualization=!0,this.summaryRow=!1,this.summaryHeight=30,this.summaryPosition="top",this.scroll=new t.vpe,this.activate=new t.vpe,this.select=new t.vpe,this.sort=new t.vpe,this.page=new t.vpe,this.reorder=new t.vpe,this.resize=new t.vpe,this.tableContextmenu=new t.vpe(!1),this.treeAction=new t.vpe,this.rowCount=0,this._offsetX=new l.X(0),this._count=0,this._offset=0,this._subscriptions=[],this.rowIdentity=wo=>this._groupRowsBy?wo.key:wo,this.element=Tn.nativeElement,this.rowDiffer=$r.find({}).create(),this.configuration&&this.configuration.messages&&(this.messages=Object.assign({},this.configuration.messages))}set rows(ee){this._rows=ee,ee&&(this._internalRows=[...ee]),this.externalSorting||this.sortInternalRows(),this._internalRows=hn(this._internalRows,jt(this.treeFromRelation),jt(this.treeToRelation)),this.recalculate(),this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)),this.cd.markForCheck()}get rows(){return this._rows}set groupRowsBy(ee){ee&&(this._groupRowsBy=ee,this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)))}get groupRowsBy(){return this._groupRowsBy}set columns(ee){ee&&(this._internalColumns=[...ee],Ue(this._internalColumns),this.recalculateColumns()),this._columns=ee}get columns(){return this._columns}set limit(ee){this._limit=ee,this.recalculate()}get limit(){return this._limit}set count(ee){this._count=ee,this.recalculate()}get count(){return this._count}set offset(ee){this._offset=ee}get offset(){return Math.max(Math.min(this._offset,Math.ceil(this.rowCount/this.pageSize)-1),0)}get isFixedHeader(){const ee=this.headerHeight;return"string"!=typeof ee||"auto"!==ee}get isFixedRow(){return"auto"!==this.rowHeight}get isVertScroll(){return this.scrollbarV}get isVirtualized(){return this.virtualization}get isHorScroll(){return this.scrollbarH}get isSelectable(){return void 0!==this.selectionType}get isCheckboxSelection(){return this.selectionType===Pt.checkbox}get isCellSelection(){return this.selectionType===Pt.cell}get isSingleSelection(){return this.selectionType===Pt.single}get isMultiSelection(){return this.selectionType===Pt.multi}get isMultiClickSelection(){return this.selectionType===Pt.multiClick}set columnTemplates(ee){this._columnTemplates=ee,this.translateColumns(ee)}get columnTemplates(){return this._columnTemplates}get allRowsSelected(){let ee=this.rows&&this.selected&&this.selected.length===this.rows.length;if(this.bodyComponent&&this.selectAllRowsOnPage){const Ve=this.bodyComponent.indexes;ee=this.selected.length===Ve.last-Ve.first}return this.selected&&this.rows&&0!==this.rows.length&&ee}ngOnInit(){this.recalculate()}ngAfterViewInit(){this.externalSorting||this.sortInternalRows(),"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame(()=>{this.recalculate(),this.externalPaging&&this.scrollbarV&&this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:0})})}ngAfterContentInit(){this.columnTemplates.changes.subscribe(ee=>this.translateColumns(ee)),this.listenForColumnInputChanges()}translateColumns(ee){if(ee){const Ve=ee.toArray();Ve.length&&(this._internalColumns=function(st){const pn=[];for(const ee of st){const Ve={},fn=Object.getOwnPropertyNames(ee);for(const Tn of fn)Ve[Tn]=ee[Tn];ee.headerTemplate&&(Ve.headerTemplate=ee.headerTemplate),ee.cellTemplate&&(Ve.cellTemplate=ee.cellTemplate),ee.summaryFunc&&(Ve.summaryFunc=ee.summaryFunc),ee.summaryTemplate&&(Ve.summaryTemplate=ee.summaryTemplate),pn.push(Ve)}return pn}(Ve),Ue(this._internalColumns),this.recalculateColumns(),this.sortInternalRows(),this.cd.markForCheck())}}groupArrayBy(ee,Ve){const fn=new Map;return ee.forEach(ti=>{const Ri=ti[Ve];fn.has(Ri)?fn.get(Ri).push(ti):fn.set(Ri,[ti])}),Array.from(fn,ti=>((ti,Ri)=>({key:ti,value:Ri}))(ti[0],ti[1]))}ngDoCheck(){this.rowDiffer.diff(this.rows)&&(this.externalSorting?this._internalRows=[...this.rows]:this.sortInternalRows(),this._internalRows=hn(this._internalRows,jt(this.treeFromRelation),jt(this.treeToRelation)),this.recalculatePages(),this.cd.markForCheck())}recalculate(){this.recalculateDims(),this.recalculateColumns(),this.cd.markForCheck()}onWindowResize(){this.recalculate()}recalculateColumns(ee=this._internalColumns,Ve=-1,fn=this.scrollbarH){if(!ee)return;let Tn=this._innerWidth;return this.scrollbarV&&(Tn-=this.scrollbarHelper.width),this.columnMode===it.force?function(st,pn,ee,Ve,fn=300){const Tn=st.slice(ee+1,st.length).filter(Fi=>!1!==Fi.canAutoResize);for(const Fi of Tn)Fi.$$oldWidth||(Fi.$$oldWidth=Fi.width);let $r=0,ti=!1,Ri=Dr(st,fn),wo=pn-Ri;const gi=[];do{$r=wo/Tn.length,ti=Ri>=pn;for(const Fi of Tn){if(ti&&Ve)Fi.width=Fi.$$oldWidth||Fi.width||fn;else{const cs=(Fi.width||fn)+$r;Fi.minWidth&&cs<Fi.minWidth?(Fi.width=Fi.minWidth,gi.push(Fi)):Fi.maxWidth&&cs>Fi.maxWidth?(Fi.width=Fi.maxWidth,gi.push(Fi)):Fi.width=cs}Fi.width=Math.max(0,Fi.width)}Ri=Dr(st),wo=pn-Ri,ai(Tn,gi)}while(wo>1&&0!==Tn.length)}(ee,Tn,Ve,fn):this.columnMode===it.flex&&function(st,pn){const ee=function(st,pn){let ee=0;for(const Ve of st)ee+=Ve.width;return ee}(st),Ve=function(st){let pn=0;for(const ee of st)pn+=ee.flexGrow||0;return pn}(st),fn=Nr(st);ee!==pn&&function(st,pn,ee){for(const Tn in st)for(const $r of st[Tn])$r.canAutoResize?$r.width=0:(pn-=$r.width,ee-=$r.flexGrow?$r.flexGrow:0);const Ve={};let fn=pn;do{const Tn=fn/ee;fn=0;for(const $r in st)for(const ti of st[$r])if(ti.canAutoResize&&!Ve[ti.prop]){const Ri=ti.width+ti.flexGrow*Tn;void 0!==ti.minWidth&&Ri<ti.minWidth?(fn+=Ri-ti.minWidth,ti.width=ti.minWidth,Ve[ti.prop]=!0):ti.width=Ri}}while(0!==fn)}(fn,pn,Ve)}(ee,Tn),ee}recalculateDims(){const ee=this.dimensionsHelper.getDimensions(this.element);if(this._innerWidth=Math.floor(ee.width),this.scrollbarV){let Ve=ee.height;this.headerHeight&&(Ve-=this.headerHeight),this.footerHeight&&(Ve-=this.footerHeight),this.bodyHeight=Ve}this.recalculatePages()}recalculatePages(){this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()}onBodyPage({offset:ee}){this.externalPaging&&!this.virtualization||(this.offset=ee,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}))}onBodyScroll(ee){this._offsetX.next(ee.offsetX),this.scroll.emit(ee),this.cd.detectChanges()}onFooterPage(ee){this.offset=ee.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}),this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected}))}calcPageSize(ee=this.rows){if(this.scrollbarV&&this.virtualization){const Ve=Math.ceil(this.bodyHeight/this.rowHeight);return Math.max(Ve,0)}return void 0!==this.limit?this.limit:ee?ee.length:0}calcRowCount(ee=this.rows){return this.externalPaging?this.count:ee?this.groupedRows?this.groupedRows.length:null!=this.treeFromRelation&&null!=this.treeToRelation?this._internalRows.length:ee.length:0}onColumnContextmenu({event:ee,column:Ve}){this.tableContextmenu.emit({event:ee,type:ot.header,content:Ve})}onRowContextmenu({event:ee,row:Ve}){this.tableContextmenu.emit({event:ee,type:ot.body,content:Ve})}onColumnResize({column:ee,newValue:Ve}){if(void 0===ee)return;let fn;const Tn=this._internalColumns.map(($r,ti)=>(($r=Object.assign({},$r)).$$id===ee.$$id&&(fn=ti,$r.width=Ve,$r.$$oldWidth=Ve),$r));this.recalculateColumns(Tn,fn),this._internalColumns=Tn,this.resize.emit({column:ee,newValue:Ve})}onColumnReorder({column:ee,newValue:Ve,prevValue:fn}){const Tn=this._internalColumns.map($r=>Object.assign({},$r));if(this.swapColumns){const $r=Tn[Ve];Tn[Ve]=ee,Tn[fn]=$r}else if(Ve>fn){const $r=Tn[fn];for(let ti=fn;ti<Ve;ti++)Tn[ti]=Tn[ti+1];Tn[Ve]=$r}else{const $r=Tn[fn];for(let ti=fn;ti>Ve;ti--)Tn[ti]=Tn[ti-1];Tn[Ve]=$r}this._internalColumns=Tn,this.reorder.emit({column:ee,newValue:Ve,prevValue:fn})}onColumnSort(ee){this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected})),this.sorts=ee.sorts,!1===this.externalSorting&&this.sortInternalRows(),this._internalRows=hn(this._internalRows,jt(this.treeFromRelation),jt(this.treeToRelation)),this.offset=0,this.bodyComponent.updateOffsetY(this.offset),this.sort.emit(ee)}onHeaderSelect(ee){if(this.bodyComponent&&this.selectAllRowsOnPage){const Ve=this.bodyComponent.indexes.first,fn=this.bodyComponent.indexes.last,Tn=this.selected.length===fn-Ve;this.selected=[],Tn||this.selected.push(...this._internalRows.slice(Ve,fn))}else{const Ve=this.selected.length===this.rows.length;this.selected=[],Ve||this.selected.push(...this.rows)}this.select.emit({selected:this.selected})}onBodySelect(ee){this.select.emit(ee)}onTreeAction(ee){const Ve=ee.row,fn=this._rows.findIndex(Tn=>Tn[this.treeToRelation]===ee.row[this.treeToRelation]);this.treeAction.emit({row:Ve,rowIndex:fn})}ngOnDestroy(){this._subscriptions.forEach(ee=>ee.unsubscribe())}listenForColumnInputChanges(){this._subscriptions.push(this.columnChangesService.columnInputChanges$.subscribe(()=>{this.columnTemplates&&this.columnTemplates.notifyOnChanges()}))}sortInternalRows(){this._internalRows=function(st,pn,ee){if(!st)return[];if(!ee||!ee.length||!pn)return[...st];const Ve=new Map;st.forEach((ti,Ri)=>Ve.set(ti,Ri));const fn=[...st],Tn=pn.reduce((ti,Ri)=>(Ri.comparator&&"function"==typeof Ri.comparator&&(ti[Ri.prop]=Ri.comparator),ti),{}),$r=ee.map(ti=>{const Ri=ti.prop;return{prop:Ri,dir:ti.dir,valueGetter:mt(Ri),compareFn:Tn[Ri]||fi}});return fn.sort(function(ti,Ri){for(const wo of $r){const{prop:gi,valueGetter:Hi}=wo,Fi=Hi(ti,gi),cs=Hi(Ri,gi),ws=wo.dir!==Jr.desc?wo.compareFn(Fi,cs,ti,Ri,wo.dir):-wo.compareFn(Fi,cs,ti,Ri,wo.dir);if(0!==ws)return ws}return Ve.has(ti)&&Ve.has(Ri)?Ve.get(ti)<Ve.get(Ri)?-1:1:0})}(this._internalRows,this._internalColumns,this.sorts)}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(Kt,4),t.Y36(dn,4),t.Y36(t.sBO),t.Y36(t.SBq),t.Y36(t.aQg),t.Y36(Kn),t.Y36("configuration",8))},st.\u0275cmp=t.Xpm({type:st,selectors:[["ngx-datatable"]],contentQueries:function(ee,Ve,fn){if(1&ee&&(t.Suo(fn,mr,5),t.Suo(fn,Xt,5),t.Suo(fn,_r,5),t.Suo(fn,Bn,4)),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve.rowDetail=Tn.first),t.iGM(Tn=t.CRH())&&(Ve.groupHeader=Tn.first),t.iGM(Tn=t.CRH())&&(Ve.footer=Tn.first),t.iGM(Tn=t.CRH())&&(Ve.columnTemplates=Tn)}},viewQuery:function(ee,Ve){if(1&ee&&(t.Gf(rt,5),t.Gf(yt,5)),2&ee){let fn;t.iGM(fn=t.CRH())&&(Ve.bodyComponent=fn.first),t.iGM(fn=t.CRH())&&(Ve.headerComponent=fn.first)}},hostAttrs:[1,"ngx-datatable"],hostVars:22,hostBindings:function(ee,Ve){1&ee&&t.NdJ("resize",function(){return Ve.onWindowResize()},!1,t.Jf7),2&ee&&t.ekj("fixed-header",Ve.isFixedHeader)("fixed-row",Ve.isFixedRow)("scroll-vertical",Ve.isVertScroll)("virtualized",Ve.isVirtualized)("scroll-horz",Ve.isHorScroll)("selectable",Ve.isSelectable)("checkbox-selection",Ve.isCheckboxSelection)("cell-selection",Ve.isCellSelection)("single-selection",Ve.isSingleSelection)("multi-selection",Ve.isMultiSelection)("multi-click-selection",Ve.isMultiClickSelection)},inputs:{selected:"selected",scrollbarV:"scrollbarV",scrollbarH:"scrollbarH",rowHeight:"rowHeight",columnMode:"columnMode",headerHeight:"headerHeight",footerHeight:"footerHeight",externalPaging:"externalPaging",externalSorting:"externalSorting",loadingIndicator:"loadingIndicator",reorderable:"reorderable",swapColumns:"swapColumns",sortType:"sortType",sorts:"sorts",cssClasses:"cssClasses",messages:"messages",groupExpansionDefault:"groupExpansionDefault",selectAllRowsOnPage:"selectAllRowsOnPage",virtualization:"virtualization",summaryRow:"summaryRow",summaryHeight:"summaryHeight",summaryPosition:"summaryPosition",rowIdentity:"rowIdentity",rows:"rows",groupedRows:"groupedRows",groupRowsBy:"groupRowsBy",columns:"columns",limit:"limit",count:"count",offset:"offset",targetMarkerTemplate:"targetMarkerTemplate",selectionType:"selectionType",rowClass:"rowClass",selectCheck:"selectCheck",displayCheck:"displayCheck",trackByProp:"trackByProp",treeFromRelation:"treeFromRelation",treeToRelation:"treeToRelation"},outputs:{scroll:"scroll",activate:"activate",select:"select",sort:"sort",page:"page",reorder:"reorder",resize:"resize",tableContextmenu:"tableContextmenu",treeAction:"treeAction"},decls:5,vars:34,consts:[["visibilityObserver","",3,"visible"],[3,"sorts","sortType","scrollbarH","innerWidth","offsetX","dealsWithGroup","columns","headerHeight","reorderable","targetMarkerTemplate","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","selectionType","sort","resize","reorder","select","columnContextmenu",4,"ngIf"],[3,"groupRowsBy","groupedRows","rows","groupExpansionDefault","scrollbarV","scrollbarH","virtualization","loadingIndicator","externalPaging","rowHeight","rowCount","offset","trackByProp","columns","pageSize","offsetX","rowDetail","groupHeader","selected","innerWidth","bodyHeight","selectionType","emptyMessage","rowIdentity","rowClass","selectCheck","displayCheck","summaryRow","summaryHeight","summaryPosition","page","activate","rowContextmenu","select","scroll","treeAction"],[3,"rowCount","pageSize","offset","footerHeight","footerTemplate","totalMessage","pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","selectedCount","selectedMessage","pagerNextIcon","page",4,"ngIf"],[3,"sorts","sortType","scrollbarH","innerWidth","offsetX","dealsWithGroup","columns","headerHeight","reorderable","targetMarkerTemplate","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","selectionType","sort","resize","reorder","select","columnContextmenu"],[3,"rowCount","pageSize","offset","footerHeight","footerTemplate","totalMessage","pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","selectedCount","selectedMessage","pagerNextIcon","page"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.NdJ("visible",function(){return Ve.recalculate()}),t.YNc(1,J,2,17,"datatable-header",1),t.TgZ(2,"datatable-body",2),t.NdJ("page",function(Tn){return Ve.onBodyPage(Tn)})("activate",function(Tn){return Ve.activate.emit(Tn)})("rowContextmenu",function(Tn){return Ve.onRowContextmenu(Tn)})("select",function(Tn){return Ve.onBodySelect(Tn)})("scroll",function(Tn){return Ve.onBodyScroll(Tn)})("treeAction",function(Tn){return Ve.onTreeAction(Tn)}),t.ALo(3,"async"),t.qZA(),t.YNc(4,B,1,12,"datatable-footer",3),t.qZA()),2&ee&&(t.xp6(1),t.Q6J("ngIf",Ve.headerHeight),t.xp6(1),t.Q6J("groupRowsBy",Ve.groupRowsBy)("groupedRows",Ve.groupedRows)("rows",Ve._internalRows)("groupExpansionDefault",Ve.groupExpansionDefault)("scrollbarV",Ve.scrollbarV)("scrollbarH",Ve.scrollbarH)("virtualization",Ve.virtualization)("loadingIndicator",Ve.loadingIndicator)("externalPaging",Ve.externalPaging)("rowHeight",Ve.rowHeight)("rowCount",Ve.rowCount)("offset",Ve.offset)("trackByProp",Ve.trackByProp)("columns",Ve._internalColumns)("pageSize",Ve.pageSize)("offsetX",t.lcZ(3,32,Ve._offsetX))("rowDetail",Ve.rowDetail)("groupHeader",Ve.groupHeader)("selected",Ve.selected)("innerWidth",Ve._innerWidth)("bodyHeight",Ve.bodyHeight)("selectionType",Ve.selectionType)("emptyMessage",Ve.messages.emptyMessage)("rowIdentity",Ve.rowIdentity)("rowClass",Ve.rowClass)("selectCheck",Ve.selectCheck)("displayCheck",Ve.displayCheck)("summaryRow",Ve.summaryRow)("summaryHeight",Ve.summaryHeight)("summaryPosition",Ve.summaryPosition),t.xp6(2),t.Q6J("ngIf",Ve.footerHeight))},directives:function(){return[Sn,e.O5,rt,yt,ki]},pipes:function(){return[e.Ov]},styles:[".ngx-datatable{display:block;justify-content:center;overflow:hidden;position:relative;transform:translateZ(0)}.ngx-datatable [hidden]{display:none!important}.ngx-datatable *,.ngx-datatable :after,.ngx-datatable :before{box-sizing:border-box}.ngx-datatable.scroll-vertical .datatable-body{overflow-y:auto}.ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper{position:absolute}.ngx-datatable.scroll-horz .datatable-body{-webkit-overflow-scrolling:touch;overflow-x:auto}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner{white-space:nowrap}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngx-datatable.fixed-row .datatable-scroll,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row{white-space:nowrap}.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngx-datatable .datatable-body-row,.ngx-datatable .datatable-header-inner,.ngx-datatable .datatable-row-center{-o-flex-flow:row;display:flex;flex-direction:row;flex-flow:row}.ngx-datatable .datatable-body-cell,.ngx-datatable .datatable-header-cell{display:inline-block;line-height:1.625;overflow-x:hidden;vertical-align:top}.ngx-datatable .datatable-body-cell:focus,.ngx-datatable .datatable-header-cell:focus{outline:none}.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{z-index:9}.ngx-datatable .datatable-row-center,.ngx-datatable .datatable-row-group,.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{position:relative}.ngx-datatable .datatable-header{display:block;overflow:hidden}.ngx-datatable .datatable-header .datatable-header-inner{-webkit-align-items:stretch;align-items:stretch}.ngx-datatable .datatable-header .datatable-header-cell{display:inline-block;position:relative}.ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper{cursor:pointer}.ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper{cursor:move}.ngx-datatable .datatable-header .datatable-header-cell .sort-btn{cursor:pointer;display:inline-block;line-height:100%;vertical-align:middle}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable{bottom:0;display:inline-block;padding:0 4px;position:absolute;right:0;top:0;visibility:hidden;width:5px}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle{cursor:ew-resize}.ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable{visibility:visible}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker{bottom:0;position:absolute;top:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft{right:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight{left:0}.ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap{height:inherit}.ngx-datatable .datatable-body{display:block;position:relative;z-index:10}.ngx-datatable .datatable-body .datatable-scroll{display:inline-block}.ngx-datatable .datatable-body .datatable-row-detail{overflow-y:hidden}.ngx-datatable .datatable-body .datatable-row-wrapper{display:flex;flex-direction:column}.ngx-datatable .datatable-body .datatable-body-row{outline:none}.ngx-datatable .datatable-body .datatable-body-row>div{display:flex}.ngx-datatable .datatable-footer{display:block;overflow:auto;width:100%}.ngx-datatable .datatable-footer .datatable-footer-inner{align-items:center;display:flex;width:100%}.ngx-datatable .datatable-footer .selected-count .page-count{flex:1 1 40%}.ngx-datatable .datatable-footer .selected-count .datatable-pager{flex:1 1 60%}.ngx-datatable .datatable-footer .page-count{flex:1 1 20%}.ngx-datatable .datatable-footer .datatable-pager{flex:1 1 80%;text-align:right}.ngx-datatable .datatable-footer .datatable-pager .pager,.ngx-datatable .datatable-footer .datatable-pager .pager li{display:inline-block;list-style:none;margin:0;padding:0}.ngx-datatable .datatable-footer .datatable-pager .pager li,.ngx-datatable .datatable-footer .datatable-pager .pager li a{outline:none}.ngx-datatable .datatable-footer .datatable-pager .pager li a{cursor:pointer;display:inline-block}.ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a{cursor:not-allowed}"],encapsulation:2,changeDetection:0}),(0,h.gn)([$t(5)],st.prototype,"onWindowResize",null),st})(),_o=(()=>{class st{constructor(ee){this.cd=ee,this.sort=new t.vpe,this.select=new t.vpe,this.columnContextmenu=new t.vpe(!1),this.sortFn=this.onSort.bind(this),this.selectFn=this.select.emit.bind(this.select),this.cellContext={column:this.column,sortDir:this.sortDir,sortFn:this.sortFn,allRowsSelected:this.allRowsSelected,selectFn:this.selectFn}}set allRowsSelected(ee){this._allRowsSelected=ee,this.cellContext.allRowsSelected=ee}get allRowsSelected(){return this._allRowsSelected}set column(ee){this._column=ee,this.cellContext.column=ee,this.cd.markForCheck()}get column(){return this._column}set sorts(ee){this._sorts=ee,this.sortDir=this.calcSortDir(ee),this.cellContext.sortDir=this.sortDir,this.sortClass=this.calcSortClass(this.sortDir),this.cd.markForCheck()}get sorts(){return this._sorts}get columnCssClasses(){let ee="datatable-header-cell";if(this.column.sortable&&(ee+=" sortable"),this.column.resizeable&&(ee+=" resizeable"),this.column.headerClass)if("string"==typeof this.column.headerClass)ee+=" "+this.column.headerClass;else if("function"==typeof this.column.headerClass){const fn=this.column.headerClass({column:this.column});if("string"==typeof fn)ee+=fn;else if("object"==typeof fn){const Tn=Object.keys(fn);for(const $r of Tn)!0===fn[$r]&&(ee+=` ${$r}`)}}const Ve=this.sortDir;return Ve&&(ee+=` sort-active sort-${Ve}`),ee}get name(){return void 0===this.column.headerTemplate?this.column.name:void 0}get minWidth(){return this.column.minWidth}get maxWidth(){return this.column.maxWidth}get width(){return this.column.width}get isCheckboxable(){return this.column.checkboxable&&this.column.headerCheckboxable&&this.selectionType===Pt.checkbox}onContextmenu(ee){this.columnContextmenu.emit({event:ee,column:this.column})}ngOnInit(){this.sortClass=this.calcSortClass(this.sortDir)}calcSortDir(ee){if(ee&&this.column){const Ve=ee.find(fn=>fn.prop===this.column.prop);if(Ve)return Ve.dir}}onSort(){if(!this.column.sortable)return;const ee=function(st,pn){return st===Ut.single?pn===Jr.asc?Jr.desc:Jr.asc:pn?pn===Jr.asc?Jr.desc:void 0:Jr.asc}(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:ee})}calcSortClass(ee){if(this.cellContext.column.sortable)return ee===Jr.asc?`sort-btn sort-asc ${this.sortAscendingIcon}`:ee===Jr.desc?`sort-btn sort-desc ${this.sortDescendingIcon}`:`sort-btn ${this.sortUnsetIcon}`}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.sBO))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-header-cell"]],hostAttrs:[1,"datatable-header-cell"],hostVars:11,hostBindings:function(ee,Ve){1&ee&&t.NdJ("contextmenu",function(Tn){return Ve.onContextmenu(Tn)}),2&ee&&(t.uIk("title",Ve.name),t.Tol(Ve.columnCssClasses),t.Udp("min-width",Ve.minWidth,"px")("max-width",Ve.maxWidth,"px")("width",Ve.width,"px")("height",Ve.headerHeight,"px"))},inputs:{allRowsSelected:"allRowsSelected",column:"column",sorts:"sorts",sortType:"sortType",sortAscendingIcon:"sortAscendingIcon",sortDescendingIcon:"sortDescendingIcon",sortUnsetIcon:"sortUnsetIcon",isTarget:"isTarget",targetMarkerTemplate:"targetMarkerTemplate",targetMarkerContext:"targetMarkerContext",selectionType:"selectionType",headerHeight:"headerHeight"},outputs:{sort:"sort",select:"select",columnContextmenu:"columnContextmenu"},decls:6,vars:6,consts:[[1,"datatable-header-cell-template-wrap"],[4,"ngIf"],["class","datatable-checkbox",4,"ngIf"],["class","datatable-header-cell-wrapper",4,"ngIf"],[3,"click"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"datatable-checkbox"],["type","checkbox",3,"checked","change"],[1,"datatable-header-cell-wrapper"],[1,"datatable-header-cell-label","draggable",3,"innerHTML","click"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.YNc(1,oe,1,2,void 0,1),t.YNc(2,fe,2,1,"label",2),t.YNc(3,ne,2,1,"span",3),t.YNc(4,ce,1,2,void 0,1),t.TgZ(5,"span",4),t.NdJ("click",function(){return Ve.onSort()}),t.qZA(),t.qZA()),2&ee&&(t.xp6(1),t.Q6J("ngIf",Ve.isTarget),t.xp6(1),t.Q6J("ngIf",Ve.isCheckboxable),t.xp6(1),t.Q6J("ngIf",!Ve.column.headerTemplate),t.xp6(1),t.Q6J("ngIf",Ve.column.headerTemplate),t.xp6(1),t.Tol(Ve.sortClass))},directives:[e.O5,e.tP],encapsulation:2,changeDetection:0}),st})(),ki=(()=>{class st{constructor(){this.selectedCount=0,this.page=new t.vpe}get isVisible(){return this.rowCount/this.pageSize>1}get curPage(){return this.offset+1}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-footer"]],hostAttrs:[1,"datatable-footer"],inputs:{selectedCount:"selectedCount",footerHeight:"footerHeight",rowCount:"rowCount",pageSize:"pageSize",offset:"offset",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon",totalMessage:"totalMessage",footerTemplate:"footerTemplate",selectedMessage:"selectedMessage"},outputs:{page:"page"},decls:4,vars:8,consts:[[1,"datatable-footer-inner",3,"ngClass"],[4,"ngIf"],["class","page-count",4,"ngIf"],[3,"pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","pagerNextIcon","page","size","count","hidden","change",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"page-count"],[3,"pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","pagerNextIcon","page","size","count","hidden","change"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.YNc(1,Oe,1,8,void 0,1),t.YNc(2,ue,3,3,"div",2),t.YNc(3,He,1,8,"datatable-pager",3),t.qZA()),2&ee&&(t.Udp("height",Ve.footerHeight,"px"),t.Q6J("ngClass",t.VKq(6,$e,Ve.selectedMessage)),t.xp6(1),t.Q6J("ngIf",Ve.footerTemplate),t.xp6(1),t.Q6J("ngIf",!Ve.footerTemplate),t.xp6(1),t.Q6J("ngIf",!Ve.footerTemplate))},directives:function(){return[e.mk,e.O5,e.tP,to]},encapsulation:2,changeDetection:0}),st})(),to=(()=>{class st{constructor(){this.change=new t.vpe,this._count=0,this._page=1,this._size=0}set size(ee){this._size=ee,this.pages=this.calcPages()}get size(){return this._size}set count(ee){this._count=ee,this.pages=this.calcPages()}get count(){return this._count}set page(ee){this._page=ee,this.pages=this.calcPages()}get page(){return this._page}get totalPages(){const ee=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(ee||0,1)}canPrevious(){return this.page>1}canNext(){return this.page<this.totalPages}prevPage(){this.selectPage(this.page-1)}nextPage(){this.selectPage(this.page+1)}selectPage(ee){ee>0&&ee<=this.totalPages&&ee!==this.page&&(this.page=ee,this.change.emit({page:ee}))}calcPages(ee){const Ve=[];let fn=1,Tn=this.totalPages;ee=ee||this.page,5<this.totalPages&&(fn=ee-Math.floor(2.5),Tn=ee+Math.floor(2.5),fn<1?(fn=1,Tn=Math.min(fn+5-1,this.totalPages)):Tn>this.totalPages&&(fn=Math.max(this.totalPages-5+1,1),Tn=this.totalPages));for(let Ri=fn;Ri<=Tn;Ri++)Ve.push({number:Ri,text:Ri});return Ve}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-pager"]],hostAttrs:[1,"datatable-pager"],inputs:{size:"size",count:"count",page:"page",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon"},outputs:{change:"change"},decls:14,vars:21,consts:[[1,"pager"],["role","button","aria-label","go to first page","href","javascript:void(0)",3,"click"],["role","button","aria-label","go to previous page","href","javascript:void(0)",3,"click"],["role","button","class","pages",3,"active",4,"ngFor","ngForOf"],["role","button","aria-label","go to next page","href","javascript:void(0)",3,"click"],["role","button","aria-label","go to last page","href","javascript:void(0)",3,"click"],["role","button",1,"pages"],["href","javascript:void(0)",3,"click"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"ul",0),t.TgZ(1,"li"),t.TgZ(2,"a",1),t.NdJ("click",function(){return Ve.selectPage(1)}),t._UZ(3,"i"),t.qZA(),t.qZA(),t.TgZ(4,"li"),t.TgZ(5,"a",2),t.NdJ("click",function(){return Ve.prevPage()}),t._UZ(6,"i"),t.qZA(),t.qZA(),t.YNc(7,F,3,4,"li",3),t.TgZ(8,"li"),t.TgZ(9,"a",4),t.NdJ("click",function(){return Ve.nextPage()}),t._UZ(10,"i"),t.qZA(),t.qZA(),t.TgZ(11,"li"),t.TgZ(12,"a",5),t.NdJ("click",function(){return Ve.selectPage(Ve.totalPages)}),t._UZ(13,"i"),t.qZA(),t.qZA(),t.qZA()),2&ee&&(t.xp6(1),t.ekj("disabled",!Ve.canPrevious()),t.xp6(2),t.Tol(Ve.pagerPreviousIcon),t.xp6(1),t.ekj("disabled",!Ve.canPrevious()),t.xp6(2),t.Tol(Ve.pagerLeftArrowIcon),t.xp6(1),t.Q6J("ngForOf",Ve.pages),t.xp6(1),t.ekj("disabled",!Ve.canNext()),t.xp6(2),t.Tol(Ve.pagerRightArrowIcon),t.xp6(1),t.ekj("disabled",!Ve.canNext()),t.xp6(2),t.Tol(Ve.pagerNextIcon))},directives:[e.sg],encapsulation:2,changeDetection:0}),st})(),qi=(()=>{class st{}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-progress"]],decls:3,vars:0,consts:[["role","progressbar",1,"progress-linear"],[1,"container"],[1,"bar"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.TgZ(1,"div",1),t._UZ(2,"div",2),t.qZA(),t.qZA())},encapsulation:2,changeDetection:0}),st})();var Wi=(()=>{return(st=Wi||(Wi={}))[st.up=38]="up",st[st.down=40]="down",st[st.return=13]="return",st[st.escape=27]="escape",st[st.left=37]="left",st[st.right=39]="right",Wi;var st})();let eo=(()=>{class st{constructor(ee,Ve,fn,Tn){this.differs=ee,this.scrollbarHelper=Ve,this.cd=fn,this.treeStatus="collapsed",this.activate=new t.vpe,this.treeAction=new t.vpe,this._groupStyles={left:{},center:{},right:{}},this._element=Tn.nativeElement,this._rowDiffer=ee.find({}).create()}set columns(ee){this._columns=ee,this.recalculateColumns(ee),this.buildStylesByGroup()}get columns(){return this._columns}set innerWidth(ee){if(this._columns){const Ve=Nr(this._columns);this._columnGroupWidths=br(Ve,this._columns)}this._innerWidth=ee,this.recalculateColumns(),this.buildStylesByGroup()}get innerWidth(){return this._innerWidth}set offsetX(ee){this._offsetX=ee,this.buildStylesByGroup()}get offsetX(){return this._offsetX}get cssClass(){let ee="datatable-body-row";if(this.isSelected&&(ee+=" active"),this.rowIndex%2!=0&&(ee+=" datatable-row-odd"),this.rowIndex%2==0&&(ee+=" datatable-row-even"),this.rowClass){const Ve=this.rowClass(this.row);if("string"==typeof Ve)ee+=` ${Ve}`;else if("object"==typeof Ve){const fn=Object.keys(Ve);for(const Tn of fn)!0===Ve[Tn]&&(ee+=` ${Tn}`)}}return ee}get columnsTotalWidths(){return this._columnGroupWidths.total}ngDoCheck(){this._rowDiffer.diff(this.row)&&this.cd.markForCheck()}trackByGroups(ee,Ve){return Ve.type}columnTrackingFn(ee,Ve){return Ve.$$id}buildStylesByGroup(){this._groupStyles.left=this.calcStylesByGroup("left"),this._groupStyles.center=this.calcStylesByGroup("center"),this._groupStyles.right=this.calcStylesByGroup("right"),this.cd.markForCheck()}calcStylesByGroup(ee){const Ve=this._columnGroupWidths,fn=this.offsetX,Tn={width:`${Ve[ee]}px`};if("left"===ee)Ct(Tn,fn,0);else if("right"===ee){const $r=parseInt(this.innerWidth+"",0);Ct(Tn,-1*(Ve.total-$r-fn+this.scrollbarHelper.width),0)}return Tn}onActivate(ee,Ve){ee.cellIndex=Ve,ee.rowElement=this._element,this.activate.emit(ee)}onKeyDown(ee){const Ve=ee.keyCode;(Ve===Wi.return||Ve===Wi.down||Ve===Wi.up||Ve===Wi.left||Ve===Wi.right)&&ee.target===this._element&&(ee.preventDefault(),ee.stopPropagation(),this.activate.emit({type:"keydown",event:ee,row:this.row,rowElement:this._element}))}onMouseenter(ee){this.activate.emit({type:"mouseenter",event:ee,row:this.row,rowElement:this._element})}recalculateColumns(ee=this.columns){this._columns=ee;const Ve=Nr(this._columns);this._columnsByPin=Mr(this._columns),this._columnGroupWidths=br(Ve,this._columns)}onTreeAction(){this.treeAction.emit()}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.aQg),t.Y36(Kt,4),t.Y36(t.sBO),t.Y36(t.SBq))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-body-row"]],hostVars:6,hostBindings:function(ee,Ve){1&ee&&t.NdJ("keydown",function(Tn){return Ve.onKeyDown(Tn)})("mouseenter",function(Tn){return Ve.onMouseenter(Tn)}),2&ee&&(t.Tol(Ve.cssClass),t.Udp("width",Ve.columnsTotalWidths,"px")("height",Ve.rowHeight,"px"))},inputs:{treeStatus:"treeStatus",columns:"columns",innerWidth:"innerWidth",offsetX:"offsetX",expanded:"expanded",rowClass:"rowClass",row:"row",group:"group",isSelected:"isSelected",rowIndex:"rowIndex",displayCheck:"displayCheck",rowHeight:"rowHeight"},outputs:{activate:"activate",treeAction:"treeAction"},decls:1,vars:2,consts:[[3,"class","ngStyle",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle"],["tabindex","-1",3,"row","group","expanded","isSelected","rowIndex","column","rowHeight","displayCheck","treeStatus","activate","treeAction",4,"ngFor","ngForOf","ngForTrackBy"],["tabindex","-1",3,"row","group","expanded","isSelected","rowIndex","column","rowHeight","displayCheck","treeStatus","activate","treeAction"]],template:function(ee,Ve){1&ee&&t.YNc(0,Et,2,6,"div",0),2&ee&&t.Q6J("ngForOf",Ve._columnsByPin)("ngForTrackBy",Ve.trackByGroups)},directives:function(){return[e.sg,e.PC,Wo]},encapsulation:2,changeDetection:0}),st})(),Gi=(()=>{class st{constructor(ee,Ve){this.cd=ee,this.differs=Ve,this.rowContextmenu=new t.vpe(!1),this.groupContext={group:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this.rowContext={row:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this._expanded=!1,this.rowDiffer=Ve.find({}).create()}set rowIndex(ee){this._rowIndex=ee,this.rowContext.rowIndex=ee,this.groupContext.rowIndex=ee,this.cd.markForCheck()}get rowIndex(){return this._rowIndex}set expanded(ee){this._expanded=ee,this.groupContext.expanded=ee,this.rowContext.expanded=ee,this.cd.markForCheck()}get expanded(){return this._expanded}ngDoCheck(){this.rowDiffer.diff(this.row)&&(this.rowContext.row=this.row,this.groupContext.group=this.row,this.cd.markForCheck())}onContextmenu(ee){this.rowContextmenu.emit({event:ee,row:this.row})}getGroupHeaderStyle(){const ee={};return ee.transform="translate3d("+this.offsetX+"px, 0px, 0px)",ee["backface-visibility"]="hidden",ee.width=this.innerWidth,ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.sBO),t.Y36(t.aQg))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-row-wrapper"]],hostAttrs:[1,"datatable-row-wrapper"],hostBindings:function(ee,Ve){1&ee&&t.NdJ("contextmenu",function(Tn){return Ve.onContextmenu(Tn)})},inputs:{rowIndex:"rowIndex",expanded:"expanded",innerWidth:"innerWidth",rowDetail:"rowDetail",groupHeader:"groupHeader",offsetX:"offsetX",detailRowHeight:"detailRowHeight",row:"row",groupedRows:"groupedRows"},outputs:{rowContextmenu:"rowContextmenu"},ngContentSelectors:_,decls:3,vars:3,consts:[["class","datatable-group-header",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","datatable-row-detail",3,"height",4,"ngIf"],[1,"datatable-group-header",3,"ngStyle"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"datatable-row-detail"]],template:function(ee,Ve){1&ee&&(t.F$t(),t.YNc(0,St,2,2,"div",0),t.YNc(1,Ot,1,0,"ng-content",1),t.YNc(2,ae,2,3,"div",2)),2&ee&&(t.Q6J("ngIf",Ve.groupHeader&&Ve.groupHeader.template),t.xp6(1),t.Q6J("ngIf",Ve.groupHeader&&Ve.groupHeader.template&&Ve.expanded||!Ve.groupHeader||!Ve.groupHeader.template),t.xp6(1),t.Q6J("ngIf",Ve.rowDetail&&Ve.rowDetail.template&&Ve.expanded))},directives:[e.O5,e.PC,e.tP],encapsulation:2,changeDetection:0}),st})(),Wo=(()=>{class st{constructor(ee,Ve){this.cd=Ve,this.activate=new t.vpe,this.treeAction=new t.vpe,this.isFocused=!1,this.onCheckboxChangeFn=this.onCheckboxChange.bind(this),this.activateFn=this.activate.emit.bind(this.activate),this.cellContext={onCheckboxChangeFn:this.onCheckboxChangeFn,activateFn:this.activateFn,row:this.row,group:this.group,value:this.value,column:this.column,rowHeight:this.rowHeight,isSelected:this.isSelected,rowIndex:this.rowIndex,treeStatus:this.treeStatus,onTreeAction:this.onTreeAction.bind(this)},this._element=ee.nativeElement}set group(ee){this._group=ee,this.cellContext.group=ee,this.checkValueUpdates(),this.cd.markForCheck()}get group(){return this._group}set rowHeight(ee){this._rowHeight=ee,this.cellContext.rowHeight=ee,this.checkValueUpdates(),this.cd.markForCheck()}get rowHeight(){return this._rowHeight}set isSelected(ee){this._isSelected=ee,this.cellContext.isSelected=ee,this.cd.markForCheck()}get isSelected(){return this._isSelected}set expanded(ee){this._expanded=ee,this.cellContext.expanded=ee,this.cd.markForCheck()}get expanded(){return this._expanded}set rowIndex(ee){this._rowIndex=ee,this.cellContext.rowIndex=ee,this.checkValueUpdates(),this.cd.markForCheck()}get rowIndex(){return this._rowIndex}set column(ee){this._column=ee,this.cellContext.column=ee,this.checkValueUpdates(),this.cd.markForCheck()}get column(){return this._column}set row(ee){this._row=ee,this.cellContext.row=ee,this.checkValueUpdates(),this.cd.markForCheck()}get row(){return this._row}set sorts(ee){this._sorts=ee,this.calcSortDir=this.calcSortDir(ee)}get sorts(){return this._sorts}set treeStatus(ee){this._treeStatus="collapsed"!==ee&&"expanded"!==ee&&"loading"!==ee&&"disabled"!==ee?"collapsed":ee,this.cellContext.treeStatus=this._treeStatus,this.checkValueUpdates(),this.cd.markForCheck()}get treeStatus(){return this._treeStatus}get columnCssClasses(){let ee="datatable-body-cell";if(this.column.cellClass)if("string"==typeof this.column.cellClass)ee+=" "+this.column.cellClass;else if("function"==typeof this.column.cellClass){const Ve=this.column.cellClass({row:this.row,group:this.group,column:this.column,value:this.value,rowHeight:this.rowHeight});if("string"==typeof Ve)ee+=" "+Ve;else if("object"==typeof Ve){const fn=Object.keys(Ve);for(const Tn of fn)!0===Ve[Tn]&&(ee+=` ${Tn}`)}}return this.sortDir||(ee+=" sort-active"),this.isFocused&&(ee+=" active"),this.sortDir===Jr.asc&&(ee+=" sort-asc"),this.sortDir===Jr.desc&&(ee+=" sort-desc"),ee}get width(){return this.column.width}get minWidth(){return this.column.minWidth}get maxWidth(){return this.column.maxWidth}get height(){const ee=this.rowHeight;return isNaN(ee)?ee:ee+"px"}ngDoCheck(){this.checkValueUpdates()}ngOnDestroy(){this.cellTemplate&&this.cellTemplate.clear()}checkValueUpdates(){let ee="";if(this.row&&this.column){const Ve=this.column.$$valueGetter(this.row,this.column.prop),fn=this.column.pipe;fn?ee=fn.transform(Ve):void 0!==ee&&(ee=Ve)}else ee="";this.value!==ee&&(this.value=ee,this.cellContext.value=ee,this.sanitizedValue=null!=ee?this.stripHtml(ee):ee,this.cd.markForCheck())}onFocus(){this.isFocused=!0}onBlur(){this.isFocused=!1}onClick(ee){this.activate.emit({type:"click",event:ee,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})}onDblClick(ee){this.activate.emit({type:"dblclick",event:ee,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})}onKeyDown(ee){const Ve=ee.keyCode;(Ve===Wi.return||Ve===Wi.down||Ve===Wi.up||Ve===Wi.left||Ve===Wi.right)&&ee.target===this._element&&(ee.preventDefault(),ee.stopPropagation(),this.activate.emit({type:"keydown",event:ee,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element}))}onCheckboxChange(ee){this.activate.emit({type:"checkbox",event:ee,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element,treeStatus:"collapsed"})}calcSortDir(ee){if(!ee)return;const Ve=ee.find(fn=>fn.prop===this.column.prop);return Ve?Ve.dir:void 0}stripHtml(ee){return ee.replace?ee.replace(/<\/?[^>]+(>|$)/g,""):ee}onTreeAction(){this.treeAction.emit(this.row)}calcLeftMargin(ee,Ve){return ee.isTreeColumn?Ve.level*(null!=ee.treeLevelIndent?ee.treeLevelIndent:50):0}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.SBq),t.Y36(t.sBO))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-body-cell"]],viewQuery:function(ee,Ve){if(1&ee&&t.Gf(Ie,7,t.s_b),2&ee){let fn;t.iGM(fn=t.CRH())&&(Ve.cellTemplate=fn.first)}},hostVars:10,hostBindings:function(ee,Ve){1&ee&&t.NdJ("focus",function(){return Ve.onFocus()})("blur",function(){return Ve.onBlur()})("click",function(Tn){return Ve.onClick(Tn)})("dblclick",function(Tn){return Ve.onDblClick(Tn)})("keydown",function(Tn){return Ve.onKeyDown(Tn)}),2&ee&&(t.Tol(Ve.columnCssClasses),t.Udp("width",Ve.width,"px")("min-width",Ve.minWidth,"px")("max-width",Ve.maxWidth,"px")("height",Ve.height))},inputs:{group:"group",rowHeight:"rowHeight",isSelected:"isSelected",expanded:"expanded",rowIndex:"rowIndex",column:"column",row:"row",sorts:"sorts",treeStatus:"treeStatus",displayCheck:"displayCheck"},outputs:{activate:"activate",treeAction:"treeAction"},decls:5,vars:6,consts:[[1,"datatable-body-cell-label"],["class","datatable-checkbox",4,"ngIf"],[4,"ngIf"],[3,"title","innerHTML",4,"ngIf"],[1,"datatable-checkbox"],["type","checkbox",3,"checked","click"],["class","datatable-tree-button",3,"disabled","click",4,"ngIf"],[1,"datatable-tree-button",3,"disabled","click"],["class","icon datatable-icon-collapse",4,"ngIf"],["class","icon datatable-icon-up",4,"ngIf"],["class","icon datatable-icon-down",4,"ngIf"],[1,"icon","datatable-icon-collapse"],[1,"icon","datatable-icon-up"],[1,"icon","datatable-icon-down"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"title","innerHTML"],["cellTemplate",""]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.YNc(1,dt,2,1,"label",1),t.YNc(2,Mn,3,2,"ng-container",2),t.YNc(3,Ht,1,2,"span",3),t.YNc(4,Yn,2,2,void 0,2),t.qZA()),2&ee&&(t.Udp("margin-left",Ve.calcLeftMargin(Ve.column,Ve.row),"px"),t.xp6(1),t.Q6J("ngIf",Ve.column.checkboxable&&(!Ve.displayCheck||Ve.displayCheck(Ve.row,Ve.column,Ve.value))),t.xp6(1),t.Q6J("ngIf",Ve.column.isTreeColumn),t.xp6(1),t.Q6J("ngIf",!Ve.column.cellTemplate),t.xp6(1),t.Q6J("ngIf",Ve.column.cellTemplate))},directives:[e.O5,e.tP],encapsulation:2,changeDetection:0}),st})();function Ro(st,pn,ee){const Ve=ee(pn,st);return Ve>-1?st.splice(Ve,1):st.push(pn),st}let Ko=(()=>{class st{constructor(){this.activate=new t.vpe,this.select=new t.vpe}selectRow(ee,Ve,fn){if(!this.selectEnabled)return;const Tn=this.selectionType===Pt.checkbox,ti=this.selectionType===Pt.multiClick;let Ri=[];Ri=this.selectionType===Pt.multi||Tn||ti?ee.shiftKey?function(st,pn,ee,Ve,fn){const Tn=ee<Ve;for(let $r=0;$r<pn.length;$r++){const ti=pn[$r],Ri=$r>=Ve&&$r<=ee,wo=$r<=Ve&&$r>=ee;let gi={start:0,end:0};gi=Tn?{start:ee,end:Ve}:{start:Ve,end:ee+1},(Tn&&wo||!Tn&&Ri)&&$r>=gi.start&&$r<=gi.end&&st.push(ti)}return st}([],this.rows,Ve,this.prevIndex,this.getRowSelectedIdx.bind(this)):Ro(ee.ctrlKey||ee.metaKey||ti||Tn?[...this.selected]:[],fn,this.getRowSelectedIdx.bind(this)):Ro([],fn,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(Ri=Ri.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),this.selected.push(...Ri),this.prevIndex=Ve,this.select.emit({selected:Ri})}onActivate(ee,Ve){const{type:fn,event:Tn,row:$r}=ee,ti=this.selectionType===Pt.checkbox;!ti&&("click"===fn||"dblclick"===fn)||ti&&"checkbox"===fn?this.selectRow(Tn,Ve,$r):"keydown"===fn&&(Tn.keyCode===Wi.return?this.selectRow(Tn,Ve,$r):this.onKeyboardFocus(ee)),this.activate.emit(ee)}onKeyboardFocus(ee){const{keyCode:Ve}=ee.event;if(Ve===Wi.up||Ve===Wi.down||Ve===Wi.right||Ve===Wi.left){const Tn=this.selectionType===Pt.cell;ee.cellElement&&Tn?Tn&&this.focusCell(ee.cellElement,ee.rowElement,Ve,ee.cellIndex):this.focusRow(ee.rowElement,Ve)}}focusRow(ee,Ve){const fn=this.getPrevNextRow(ee,Ve);fn&&fn.focus()}getPrevNextRow(ee,Ve){const fn=ee.parentElement;if(fn){let Tn;if(Ve===Wi.up?Tn=fn.previousElementSibling:Ve===Wi.down&&(Tn=fn.nextElementSibling),Tn&&Tn.children.length)return Tn.children[0]}}focusCell(ee,Ve,fn,Tn){let $r;if(fn===Wi.left)$r=ee.previousElementSibling;else if(fn===Wi.right)$r=ee.nextElementSibling;else if(fn===Wi.up||fn===Wi.down){const ti=this.getPrevNextRow(Ve,fn);if(ti){const Ri=ti.getElementsByClassName("datatable-body-cell");Ri.length&&($r=Ri[Tn])}}$r&&$r.focus()}getRowSelected(ee){return this.getRowSelectedIdx(ee,this.selected)>-1}getRowSelectedIdx(ee,Ve){if(!Ve||!Ve.length)return-1;const fn=this.rowIdentity(ee);return Ve.findIndex(Tn=>this.rowIdentity(Tn)===fn)}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-selection"]],inputs:{rows:"rows",selected:"selected",selectEnabled:"selectEnabled",selectionType:"selectionType",rowIdentity:"rowIdentity",selectCheck:"selectCheck"},outputs:{activate:"activate",select:"select"},ngContentSelectors:_,decls:1,vars:0,template:function(ee,Ve){1&ee&&(t.F$t(),t.Hsn(0))},encapsulation:2,changeDetection:0}),st})();function ts(st){const pn=st.filter(ee=>!!ee);return!pn.length||pn.some(ee=>"number"!=typeof ee)?null:pn.reduce((ee,Ve)=>ee+Ve)}function ua(st){return null}let ds=(()=>{class st{constructor(){this.summaryRow={}}ngOnChanges(){!this.columns||!this.rows||(this.updateInternalColumns(),this.updateValues())}updateInternalColumns(){this._internalColumns=this.columns.map(ee=>Object.assign(Object.assign({},ee),{cellTemplate:ee.summaryTemplate}))}updateValues(){this.summaryRow={},this.columns.filter(ee=>!ee.summaryTemplate).forEach(ee=>{const Ve=this.rows.map(Tn=>Tn[ee.prop]),fn=this.getSummaryFunction(ee);this.summaryRow[ee.prop]=ee.pipe?ee.pipe.transform(fn(Ve)):fn(Ve)})}getSummaryFunction(ee){return void 0===ee.summaryFunc?ts:null===ee.summaryFunc?ua:ee.summaryFunc}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-summary-row"]],hostAttrs:[1,"datatable-summary-row"],inputs:{rows:"rows",columns:"columns",rowHeight:"rowHeight",offsetX:"offsetX",innerWidth:"innerWidth"},features:[t.TTD],decls:1,vars:1,consts:[["tabindex","-1",3,"innerWidth","offsetX","columns","rowHeight","row","rowIndex",4,"ngIf"],["tabindex","-1",3,"innerWidth","offsetX","columns","rowHeight","row","rowIndex"]],template:function(ee,Ve){1&ee&&t.YNc(0,Cn,1,6,"datatable-body-row",0),2&ee&&t.Q6J("ngIf",Ve.summaryRow&&Ve._internalColumns)},directives:[e.O5,eo],encapsulation:2}),st})(),qo=(()=>{class st{static forRoot(ee){return{ngModule:st,providers:[{provide:"configuration",useValue:ee}]}}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275mod=t.oAB({type:st}),st.\u0275inj=t.cJS({providers:[Kt,dn,Kn],imports:[[e.ez]]}),st})();"undefined"!=typeof document&&!document.elementsFromPoint&&(document.elementsFromPoint=function(st,pn){const ee=[],Ve=[];let fn,Tn,$r;for(;(fn=document.elementFromPoint(st,pn))&&-1===ee.indexOf(fn)&&null!=fn;)ee.push(fn),Ve.push({value:fn.style.getPropertyValue("pointer-events"),priority:fn.style.getPropertyPriority("pointer-events")}),fn.style.setProperty("pointer-events","none","important");for(Tn=Ve.length;$r=Ve[--Tn];)ee[Tn].style.setProperty("pointer-events",$r.value?$r.value:"",$r.priority);return ee})},67506:Ge=>{"use strict";function g(e,s,a){e instanceof RegExp&&(e=o(e,a)),s instanceof RegExp&&(s=o(s,a));var l=t(e,s,a);return l&&{start:l[0],end:l[1],pre:a.slice(0,l[0]),body:a.slice(l[0]+e.length,l[1]),post:a.slice(l[1]+s.length)}}function o(e,s){var a=s.match(e);return a?a[0]:null}function t(e,s,a){var l,u,h,_,m,b=a.indexOf(e),T=a.indexOf(s,b+1),D=b;if(b>=0&&T>0){if(e===s)return[b,T];for(l=[],h=a.length;D>=0&&!m;)D==b?(l.push(D),b=a.indexOf(e,D+1)):1==l.length?m=[l.pop(),T]:((u=l.pop())<h&&(h=u,_=T),T=a.indexOf(s,D+1)),D=b<T&&b>=0?b:T;l.length&&(m=[h,_])}return m}Ge.exports=g,g.range=t},33512:(Ge,g,o)=>{var t=o(2665),e=o(67506);Ge.exports=function(I){return I?("{}"===I.substr(0,2)&&(I="\\{\\}"+I.substr(2)),M(function(I){return I.split("\\\\").join(s).split("\\{").join(a).split("\\}").join(l).split("\\,").join(u).split("\\.").join(h)}(I),!0).map(b)):[]};var s="\0SLASH"+Math.random()+"\0",a="\0OPEN"+Math.random()+"\0",l="\0CLOSE"+Math.random()+"\0",u="\0COMMA"+Math.random()+"\0",h="\0PERIOD"+Math.random()+"\0";function _(I){return parseInt(I,10)==I?parseInt(I,10):I.charCodeAt(0)}function b(I){return I.split(s).join("\\").split(a).join("{").split(l).join("}").split(u).join(",").split(h).join(".")}function T(I){if(!I)return[""];var J=[],B=e("{","}",I);if(!B)return I.split(",");var oe=B.body,fe=B.post,ne=B.pre.split(",");ne[ne.length-1]+="{"+oe+"}";var he=T(fe);return fe.length&&(ne[ne.length-1]+=he.shift(),ne.push.apply(ne,he)),J.push.apply(J,ne),J}function j(I){return"{"+I+"}"}function H(I){return/^-?0\d/.test(I)}function z(I,J){return I<=J}function U(I,J){return I>=J}function M(I,J){var B=[],ie=e("{","}",I);if(!ie||/\$$/.test(ie.pre))return[I];var ce,oe=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(ie.body),fe=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(ie.body),ne=oe||fe,he=ie.body.indexOf(",")>=0;if(!ne&&!he)return ie.post.match(/,.*\}/)?M(I=ie.pre+"{"+ie.body+l+ie.post):[I];if(ne)ce=ie.body.split(/\.\./);else if(1===(ce=T(ie.body)).length&&1===(ce=M(ce[0],!1).map(j)).length)return(Se=ie.post.length?M(ie.post,!1):[""]).map(function(dt){return ie.pre+ce[0]+dt});var Oe,Ae=ie.pre,Se=ie.post.length?M(ie.post,!1):[""];if(ne){var be=_(ce[0]),ue=_(ce[1]),He=Math.max(ce[0].length,ce[1].length),$e=3==ce.length?Math.abs(_(ce[2])):1,F=z;ue<be&&($e*=-1,F=U);var Et=ce.some(H);Oe=[];for(var lt=be;F(lt,ue);lt+=$e){var nn;if(fe)"\\"===(nn=String.fromCharCode(lt))&&(nn="");else if(nn=String(lt),Et){var St=He-nn.length;if(St>0){var Ot=new Array(St+1).join("0");nn=lt<0?"-"+Ot+nn.slice(1):Ot+nn}}Oe.push(nn)}}else Oe=t(ce,function(Ie){return M(Ie,!1)});for(var Qe=0;Qe<Oe.length;Qe++)for(var It=0;It<Se.length;It++){var ae=Ae+Oe[Qe]+Se[It];(!J||ne||ae)&&B.push(ae)}return B}},72318:Ge=>{var g=!("undefined"==typeof window||!window.document||!window.document.createElement);Ge.exports=g},6823:function(Ge,g,o){Ge.exports=function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var a={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=function(p,E){return p(E={exports:{}},E.exports),E.exports}(function(p){var E={};for(var N in a)a.hasOwnProperty(N)&&(E[a[N]]=N);var $=p.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var Q in $)if($.hasOwnProperty(Q)){if(!("channels"in $[Q]))throw new Error("missing channels property: "+Q);if(!("labels"in $[Q]))throw new Error("missing channel labels property: "+Q);if($[Q].labels.length!==$[Q].channels)throw new Error("channel and label counts mismatch: "+Q);var de=$[Q].channels,ve=$[Q].labels;delete $[Q].channels,delete $[Q].labels,Object.defineProperty($[Q],"channels",{value:de}),Object.defineProperty($[Q],"labels",{value:ve})}function ze(De,_t){return Math.pow(De[0]-_t[0],2)+Math.pow(De[1]-_t[1],2)+Math.pow(De[2]-_t[2],2)}$.rgb.hsl=function(De){var Tr,Pi,_t=De[0]/255,Yt=De[1]/255,Zt=De[2]/255,wn=Math.min(_t,Yt,Zt),cr=Math.max(_t,Yt,Zt),sr=cr-wn;return cr===wn?Tr=0:_t===cr?Tr=(Yt-Zt)/sr:Yt===cr?Tr=2+(Zt-_t)/sr:Zt===cr&&(Tr=4+(_t-Yt)/sr),(Tr=Math.min(60*Tr,360))<0&&(Tr+=360),Pi=(wn+cr)/2,[Tr,100*(cr===wn?0:Pi<=.5?sr/(cr+wn):sr/(2-cr-wn)),100*Pi]},$.rgb.hsv=function(De){var _t,Yt,Zt,wn,cr,sr=De[0]/255,Tr=De[1]/255,Yr=De[2]/255,Pi=Math.max(sr,Tr,Yr),yo=Pi-Math.min(sr,Tr,Yr),To=function(Qo){return(Pi-Qo)/6/yo+.5};return 0===yo?wn=cr=0:(cr=yo/Pi,_t=To(sr),Yt=To(Tr),Zt=To(Yr),sr===Pi?wn=Zt-Yt:Tr===Pi?wn=1/3+_t-Zt:Yr===Pi&&(wn=2/3+Yt-_t),wn<0?wn+=1:wn>1&&(wn-=1)),[360*wn,100*cr,100*Pi]},$.rgb.hwb=function(De){var _t=De[0],Yt=De[1],Zt=De[2];return[$.rgb.hsl(De)[0],1/255*Math.min(_t,Math.min(Yt,Zt))*100,100*(Zt=1-1/255*Math.max(_t,Math.max(Yt,Zt)))]},$.rgb.cmyk=function(De){var Tr,_t=De[0]/255,Yt=De[1]/255,Zt=De[2]/255;return[100*((1-_t-(Tr=Math.min(1-_t,1-Yt,1-Zt)))/(1-Tr)||0),100*((1-Yt-Tr)/(1-Tr)||0),100*((1-Zt-Tr)/(1-Tr)||0),100*Tr]},$.rgb.keyword=function(De){var _t=E[De];if(_t)return _t;var Zt,Yt=1/0;for(var wn in a)if(a.hasOwnProperty(wn)){var sr=ze(De,a[wn]);sr<Yt&&(Yt=sr,Zt=wn)}return Zt},$.keyword.rgb=function(De){return a[De]},$.rgb.xyz=function(De){var _t=De[0]/255,Yt=De[1]/255,Zt=De[2]/255;return[100*(.4124*(_t=_t>.04045?Math.pow((_t+.055)/1.055,2.4):_t/12.92)+.3576*(Yt=Yt>.04045?Math.pow((Yt+.055)/1.055,2.4):Yt/12.92)+.1805*(Zt=Zt>.04045?Math.pow((Zt+.055)/1.055,2.4):Zt/12.92)),100*(.2126*_t+.7152*Yt+.0722*Zt),100*(.0193*_t+.1192*Yt+.9505*Zt)]},$.rgb.lab=function(De){var _t=$.rgb.xyz(De),Yt=_t[0],Zt=_t[1],wn=_t[2];return Zt/=100,wn/=108.883,Yt=(Yt/=95.047)>.008856?Math.pow(Yt,1/3):7.787*Yt+16/116,[116*(Zt=Zt>.008856?Math.pow(Zt,1/3):7.787*Zt+16/116)-16,500*(Yt-Zt),200*(Zt-(wn=wn>.008856?Math.pow(wn,1/3):7.787*wn+16/116))]},$.hsl.rgb=function(De){var wn,cr,sr,Tr,Yr,_t=De[0]/360,Yt=De[1]/100,Zt=De[2]/100;if(0===Yt)return[Yr=255*Zt,Yr,Yr];wn=2*Zt-(cr=Zt<.5?Zt*(1+Yt):Zt+Yt-Zt*Yt),Tr=[0,0,0];for(var Pi=0;Pi<3;Pi++)(sr=_t+1/3*-(Pi-1))<0&&sr++,sr>1&&sr--,Tr[Pi]=255*(Yr=6*sr<1?wn+6*(cr-wn)*sr:2*sr<1?cr:3*sr<2?wn+(cr-wn)*(2/3-sr)*6:wn);return Tr},$.hsl.hsv=function(De){var _t=De[0],Yt=De[1]/100,Zt=De[2]/100,wn=Yt,cr=Math.max(Zt,.01);return Yt*=(Zt*=2)<=1?Zt:2-Zt,wn*=cr<=1?cr:2-cr,[_t,100*(0===Zt?2*wn/(cr+wn):2*Yt/(Zt+Yt)),(Zt+Yt)/2*100]},$.hsv.rgb=function(De){var _t=De[0]/60,Yt=De[1]/100,Zt=De[2]/100,wn=Math.floor(_t)%6,cr=_t-Math.floor(_t),sr=255*Zt*(1-Yt),Tr=255*Zt*(1-Yt*cr),Yr=255*Zt*(1-Yt*(1-cr));switch(Zt*=255,wn){case 0:return[Zt,Yr,sr];case 1:return[Tr,Zt,sr];case 2:return[sr,Zt,Yr];case 3:return[sr,Tr,Zt];case 4:return[Yr,sr,Zt];case 5:return[Zt,sr,Tr]}},$.hsv.hsl=function(De){var cr,sr,Tr,_t=De[0],Yt=De[1]/100,Zt=De[2]/100,wn=Math.max(Zt,.01);return Tr=(2-Yt)*Zt,sr=Yt*wn,[_t,100*(sr=(sr/=(cr=(2-Yt)*wn)<=1?cr:2-cr)||0),100*(Tr/=2)]},$.hwb.rgb=function(De){var cr,sr,Tr,Yr,Pi,yo,To,_t=De[0]/360,Yt=De[1]/100,Zt=De[2]/100,wn=Yt+Zt;switch(wn>1&&(Yt/=wn,Zt/=wn),Tr=6*_t-(cr=Math.floor(6*_t)),0!=(1&cr)&&(Tr=1-Tr),Yr=Yt+Tr*((sr=1-Zt)-Yt),cr){default:case 6:case 0:Pi=sr,yo=Yr,To=Yt;break;case 1:Pi=Yr,yo=sr,To=Yt;break;case 2:Pi=Yt,yo=sr,To=Yr;break;case 3:Pi=Yt,yo=Yr,To=sr;break;case 4:Pi=Yr,yo=Yt,To=sr;break;case 5:Pi=sr,yo=Yt,To=Yr}return[255*Pi,255*yo,255*To]},$.cmyk.rgb=function(De){var Yt=De[1]/100,Zt=De[2]/100,wn=De[3]/100;return[255*(1-Math.min(1,De[0]/100*(1-wn)+wn)),255*(1-Math.min(1,Yt*(1-wn)+wn)),255*(1-Math.min(1,Zt*(1-wn)+wn))]},$.xyz.rgb=function(De){var wn,cr,sr,_t=De[0]/100,Yt=De[1]/100,Zt=De[2]/100;return cr=-.9689*_t+1.8758*Yt+.0415*Zt,sr=.0557*_t+-.204*Yt+1.057*Zt,wn=(wn=3.2406*_t+-1.5372*Yt+-.4986*Zt)>.0031308?1.055*Math.pow(wn,1/2.4)-.055:12.92*wn,cr=cr>.0031308?1.055*Math.pow(cr,1/2.4)-.055:12.92*cr,sr=sr>.0031308?1.055*Math.pow(sr,1/2.4)-.055:12.92*sr,[255*(wn=Math.min(Math.max(0,wn),1)),255*(cr=Math.min(Math.max(0,cr),1)),255*(sr=Math.min(Math.max(0,sr),1))]},$.xyz.lab=function(De){var _t=De[0],Yt=De[1],Zt=De[2];return Yt/=100,Zt/=108.883,_t=(_t/=95.047)>.008856?Math.pow(_t,1/3):7.787*_t+16/116,[116*(Yt=Yt>.008856?Math.pow(Yt,1/3):7.787*Yt+16/116)-16,500*(_t-Yt),200*(Yt-(Zt=Zt>.008856?Math.pow(Zt,1/3):7.787*Zt+16/116))]},$.lab.xyz=function(De){var wn,cr,sr;wn=De[1]/500+(cr=(De[0]+16)/116),sr=cr-De[2]/200;var Tr=Math.pow(cr,3),Yr=Math.pow(wn,3),Pi=Math.pow(sr,3);return cr=Tr>.008856?Tr:(cr-16/116)/7.787,wn=Yr>.008856?Yr:(wn-16/116)/7.787,sr=Pi>.008856?Pi:(sr-16/116)/7.787,[wn*=95.047,cr*=100,sr*=108.883]},$.lab.lch=function(De){var cr,_t=De[0],Yt=De[1],Zt=De[2];return(cr=360*Math.atan2(Zt,Yt)/2/Math.PI)<0&&(cr+=360),[_t,Math.sqrt(Yt*Yt+Zt*Zt),cr]},$.lch.lab=function(De){var sr,Yt=De[1];return sr=De[2]/360*2*Math.PI,[De[0],Yt*Math.cos(sr),Yt*Math.sin(sr)]},$.rgb.ansi16=function(De){var _t=De[0],Yt=De[1],Zt=De[2],wn=1 in arguments?arguments[1]:$.rgb.hsv(De)[2];if(0===(wn=Math.round(wn/50)))return 30;var cr=30+(Math.round(Zt/255)<<2|Math.round(Yt/255)<<1|Math.round(_t/255));return 2===wn&&(cr+=60),cr},$.hsv.ansi16=function(De){return $.rgb.ansi16($.hsv.rgb(De),De[2])},$.rgb.ansi256=function(De){var _t=De[0],Yt=De[1],Zt=De[2];return _t===Yt&&Yt===Zt?_t<8?16:_t>248?231:Math.round((_t-8)/247*24)+232:16+36*Math.round(_t/255*5)+6*Math.round(Yt/255*5)+Math.round(Zt/255*5)},$.ansi16.rgb=function(De){var _t=De%10;if(0===_t||7===_t)return De>50&&(_t+=3.5),[_t=_t/10.5*255,_t,_t];var Yt=.5*(1+~~(De>50));return[(1&_t)*Yt*255,(_t>>1&1)*Yt*255,(_t>>2&1)*Yt*255]},$.ansi256.rgb=function(De){if(De>=232){var _t=10*(De-232)+8;return[_t,_t,_t]}var Yt;return De-=16,[Math.floor(De/36)/5*255,Math.floor((Yt=De%36)/6)/5*255,Yt%6/5*255]},$.rgb.hex=function(De){var Yt=(((255&Math.round(De[0]))<<16)+((255&Math.round(De[1]))<<8)+(255&Math.round(De[2]))).toString(16).toUpperCase();return"000000".substring(Yt.length)+Yt},$.hex.rgb=function(De){var _t=De.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!_t)return[0,0,0];var Yt=_t[0];3===_t[0].length&&(Yt=Yt.split("").map(function(Tr){return Tr+Tr}).join(""));var Zt=parseInt(Yt,16);return[Zt>>16&255,Zt>>8&255,255&Zt]},$.rgb.hcg=function(De){var Yr,_t=De[0]/255,Yt=De[1]/255,Zt=De[2]/255,wn=Math.max(Math.max(_t,Yt),Zt),cr=Math.min(Math.min(_t,Yt),Zt),sr=wn-cr;return Yr=sr<=0?0:wn===_t?(Yt-Zt)/sr%6:wn===Yt?2+(Zt-_t)/sr:4+(_t-Yt)/sr+4,Yr/=6,[360*(Yr%=1),100*sr,100*(sr<1?cr/(1-sr):0)]},$.hsl.hcg=function(De){var Zt,_t=De[1]/100,Yt=De[2]/100,wn=0;return(Zt=Yt<.5?2*_t*Yt:2*_t*(1-Yt))<1&&(wn=(Yt-.5*Zt)/(1-Zt)),[De[0],100*Zt,100*wn]},$.hsv.hcg=function(De){var Yt=De[2]/100,Zt=De[1]/100*Yt,wn=0;return Zt<1&&(wn=(Yt-Zt)/(1-Zt)),[De[0],100*Zt,100*wn]},$.hcg.rgb=function(De){var Yt=De[1]/100,Zt=De[2]/100;if(0===Yt)return[255*Zt,255*Zt,255*Zt];var Yr,wn=[0,0,0],cr=De[0]/360%1*6,sr=cr%1,Tr=1-sr;switch(Math.floor(cr)){case 0:wn[0]=1,wn[1]=sr,wn[2]=0;break;case 1:wn[0]=Tr,wn[1]=1,wn[2]=0;break;case 2:wn[0]=0,wn[1]=1,wn[2]=sr;break;case 3:wn[0]=0,wn[1]=Tr,wn[2]=1;break;case 4:wn[0]=sr,wn[1]=0,wn[2]=1;break;default:wn[0]=1,wn[1]=0,wn[2]=Tr}return[255*(Yt*wn[0]+(Yr=(1-Yt)*Zt)),255*(Yt*wn[1]+Yr),255*(Yt*wn[2]+Yr)]},$.hcg.hsv=function(De){var _t=De[1]/100,Zt=_t+De[2]/100*(1-_t),wn=0;return Zt>0&&(wn=_t/Zt),[De[0],100*wn,100*Zt]},$.hcg.hsl=function(De){var _t=De[1]/100,Zt=De[2]/100*(1-_t)+.5*_t,wn=0;return Zt>0&&Zt<.5?wn=_t/(2*Zt):Zt>=.5&&Zt<1&&(wn=_t/(2*(1-Zt))),[De[0],100*wn,100*Zt]},$.hcg.hwb=function(De){var _t=De[1]/100,Zt=_t+De[2]/100*(1-_t);return[De[0],100*(Zt-_t),100*(1-Zt)]},$.hwb.hcg=function(De){var Zt=1-De[2]/100,wn=Zt-De[1]/100,cr=0;return wn<1&&(cr=(Zt-wn)/(1-wn)),[De[0],100*wn,100*cr]},$.apple.rgb=function(De){return[De[0]/65535*255,De[1]/65535*255,De[2]/65535*255]},$.rgb.apple=function(De){return[De[0]/255*65535,De[1]/255*65535,De[2]/255*65535]},$.gray.rgb=function(De){return[De[0]/100*255,De[0]/100*255,De[0]/100*255]},$.gray.hsl=$.gray.hsv=function(De){return[0,0,De[0]]},$.gray.hwb=function(De){return[0,100,De[0]]},$.gray.cmyk=function(De){return[0,0,0,De[0]]},$.gray.lab=function(De){return[De[0],0,0]},$.gray.hex=function(De){var _t=255&Math.round(De[0]/100*255),Zt=((_t<<16)+(_t<<8)+_t).toString(16).toUpperCase();return"000000".substring(Zt.length)+Zt},$.rgb.gray=function(De){return[(De[0]+De[1]+De[2])/3/255*100]}});function ie(p){var E=function(){for(var p={},E=Object.keys(l),N=E.length,$=0;$<N;$++)p[E[$]]={distance:-1,parent:null};return p}(),N=[p];for(E[p].distance=0;N.length;)for(var $=N.pop(),Q=Object.keys(l[$]),de=Q.length,ve=0;ve<de;ve++){var ze=Q[ve],De=E[ze];-1===De.distance&&(De.distance=E[$].distance+1,De.parent=$,N.unshift(ze))}return E}function oe(p,E){return function(N){return E(p(N))}}function fe(p,E){for(var N=[E[p].parent,p],$=l[E[p].parent][p],Q=E[p].parent;E[Q].parent;)N.unshift(E[Q].parent),$=oe(l[E[Q].parent][Q],$),Q=E[Q].parent;return $.conversion=N,$}var he={};Object.keys(l).forEach(function(p){he[p]={},Object.defineProperty(he[p],"channels",{value:l[p].channels}),Object.defineProperty(he[p],"labels",{value:l[p].labels});var E=function(p){for(var E=ie(p),N={},$=Object.keys(E),Q=$.length,de=0;de<Q;de++){var ve=$[de];null!==E[ve].parent&&(N[ve]=fe(ve,E))}return N}(p);Object.keys(E).forEach(function($){var Q=E[$];he[p][$]=function(p){var E=function(N){if(null==N)return N;arguments.length>1&&(N=Array.prototype.slice.call(arguments));var $=p(N);if("object"==typeof $)for(var Q=$.length,de=0;de<Q;de++)$[de]=Math.round($[de]);return $};return"conversion"in p&&(E.conversion=p.conversion),E}(Q),he[p][$].raw=function(p){var E=function(N){return null==N?N:(arguments.length>1&&(N=Array.prototype.slice.call(arguments)),p(N))};return"conversion"in p&&(E.conversion=p.conversion),E}(Q)})});var Oe=he,be={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ue={getRgba:He,getHsla:$e,getRgb:function(p){var E=He(p);return E&&E.slice(0,3)},getHsl:function(p){var E=$e(p);return E&&E.slice(0,3)},getHwb:F,getAlpha:function(p){var E=He(p);return E||(E=$e(p))||(E=F(p))?E[3]:void 0},hexString:function(p,E){return E=void 0!==E&&3===p.length?E:p[3],"#"+ln(p[0])+ln(p[1])+ln(p[2])+(E>=0&&E<1?ln(Math.round(255*E)):"")},rgbString:function(p,E){return E<1||p[3]&&p[3]<1?Ot(p,E):"rgb("+p[0]+", "+p[1]+", "+p[2]+")"},rgbaString:Ot,percentString:function(p,E){return E<1||p[3]&&p[3]<1?It(p,E):"rgb("+Math.round(p[0]/255*100)+"%, "+Math.round(p[1]/255*100)+"%, "+Math.round(p[2]/255*100)+"%)"},percentaString:It,hslString:function(p,E){return E<1||p[3]&&p[3]<1?Ie(p,E):"hsl("+p[0]+", "+p[1]+"%, "+p[2]+"%)"},hslaString:Ie,hwbString:function(p,E){return void 0===E&&(E=void 0!==p[3]?p[3]:1),"hwb("+p[0]+", "+p[1]+"%, "+p[2]+"%"+(void 0!==E&&1!==E?", "+E:"")+")"},keyword:function(p){return ar[p.slice(0,3)]}};function He(p){if(p){var ve=[0,0,0],ze=1,De=p.match(/^#([a-fA-F0-9]{3,4})$/i),_t="";if(De){_t=(De=De[1])[3];for(var Yt=0;Yt<ve.length;Yt++)ve[Yt]=parseInt(De[Yt]+De[Yt],16);_t&&(ze=Math.round(parseInt(_t+_t,16)/255*100)/100)}else if(De=p.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i)){for(_t=De[2],De=De[1],Yt=0;Yt<ve.length;Yt++)ve[Yt]=parseInt(De.slice(2*Yt,2*Yt+2),16);_t&&(ze=Math.round(parseInt(_t,16)/255*100)/100)}else if(De=p.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(Yt=0;Yt<ve.length;Yt++)ve[Yt]=parseInt(De[Yt+1]);ze=parseFloat(De[4])}else if(De=p.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(Yt=0;Yt<ve.length;Yt++)ve[Yt]=Math.round(2.55*parseFloat(De[Yt+1]));ze=parseFloat(De[4])}else if(De=p.match(/(\w+)/)){if("transparent"==De[1])return[0,0,0,0];if(!(ve=be[De[1]]))return}for(Yt=0;Yt<ve.length;Yt++)ve[Yt]=zt(ve[Yt],0,255);return ze=ze||0==ze?zt(ze,0,1):1,ve[3]=ze,ve}}function $e(p){if(p){var N=p.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(N){var $=parseFloat(N[4]);return[zt(parseInt(N[1]),0,360),zt(parseFloat(N[2]),0,100),zt(parseFloat(N[3]),0,100),zt(isNaN($)?1:$,0,1)]}}}function F(p){if(p){var N=p.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(N){var $=parseFloat(N[4]);return[zt(parseInt(N[1]),0,360),zt(parseFloat(N[2]),0,100),zt(parseFloat(N[3]),0,100),zt(isNaN($)?1:$,0,1)]}}}function Ot(p,E){return void 0===E&&(E=void 0!==p[3]?p[3]:1),"rgba("+p[0]+", "+p[1]+", "+p[2]+", "+E+")"}function It(p,E){return"rgba("+Math.round(p[0]/255*100)+"%, "+Math.round(p[1]/255*100)+"%, "+Math.round(p[2]/255*100)+"%, "+(E||p[3]||1)+")"}function Ie(p,E){return void 0===E&&(E=void 0!==p[3]?p[3]:1),"hsla("+p[0]+", "+p[1]+"%, "+p[2]+"%, "+E+")"}function zt(p,E,N){return Math.min(Math.max(E,p),N)}function ln(p){var E=p.toString(16).toUpperCase();return E.length<2?"0"+E:E}var ar={};for(var Ln in be)ar[be[Ln]]=Ln;var Rn=function(p){return p instanceof Rn?p:this instanceof Rn?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"==typeof p?(E=ue.getRgba(p))?this.setValues("rgb",E):(E=ue.getHsla(p))?this.setValues("hsl",E):(E=ue.getHwb(p))&&this.setValues("hwb",E):"object"==typeof p&&(void 0!==(E=p).r||void 0!==E.red?this.setValues("rgb",E):void 0!==E.l||void 0!==E.lightness?this.setValues("hsl",E):void 0!==E.v||void 0!==E.value?this.setValues("hsv",E):void 0!==E.w||void 0!==E.whiteness?this.setValues("hwb",E):(void 0!==E.c||void 0!==E.cyan)&&this.setValues("cmyk",E)))):new Rn(p);var E};Rn.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var p=this.values;return 1!==p.alpha?p.hwb.concat([p.alpha]):p.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var p=this.values;return p.rgb.concat([p.alpha])},hslaArray:function(){var p=this.values;return p.hsl.concat([p.alpha])},alpha:function(p){return void 0===p?this.values.alpha:(this.setValues("alpha",p),this)},red:function(p){return this.setChannel("rgb",0,p)},green:function(p){return this.setChannel("rgb",1,p)},blue:function(p){return this.setChannel("rgb",2,p)},hue:function(p){return p&&(p=(p%=360)<0?360+p:p),this.setChannel("hsl",0,p)},saturation:function(p){return this.setChannel("hsl",1,p)},lightness:function(p){return this.setChannel("hsl",2,p)},saturationv:function(p){return this.setChannel("hsv",1,p)},whiteness:function(p){return this.setChannel("hwb",1,p)},blackness:function(p){return this.setChannel("hwb",2,p)},value:function(p){return this.setChannel("hsv",2,p)},cyan:function(p){return this.setChannel("cmyk",0,p)},magenta:function(p){return this.setChannel("cmyk",1,p)},yellow:function(p){return this.setChannel("cmyk",2,p)},black:function(p){return this.setChannel("cmyk",3,p)},hexString:function(){return ue.hexString(this.values.rgb)},rgbString:function(){return ue.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return ue.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return ue.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return ue.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return ue.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return ue.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return ue.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var p=this.values.rgb;return p[0]<<16|p[1]<<8|p[2]},luminosity:function(){for(var p=this.values.rgb,E=[],N=0;N<p.length;N++){var $=p[N]/255;E[N]=$<=.03928?$/12.92:Math.pow(($+.055)/1.055,2.4)}return.2126*E[0]+.7152*E[1]+.0722*E[2]},contrast:function(p){var E=this.luminosity(),N=p.luminosity();return E>N?(E+.05)/(N+.05):(N+.05)/(E+.05)},level:function(p){var E=this.contrast(p);return E>=7.1?"AAA":E>=4.5?"AA":""},dark:function(){var p=this.values.rgb;return(299*p[0]+587*p[1]+114*p[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var p=[],E=0;E<3;E++)p[E]=255-this.values.rgb[E];return this.setValues("rgb",p),this},lighten:function(p){var E=this.values.hsl;return E[2]+=E[2]*p,this.setValues("hsl",E),this},darken:function(p){var E=this.values.hsl;return E[2]-=E[2]*p,this.setValues("hsl",E),this},saturate:function(p){var E=this.values.hsl;return E[1]+=E[1]*p,this.setValues("hsl",E),this},desaturate:function(p){var E=this.values.hsl;return E[1]-=E[1]*p,this.setValues("hsl",E),this},whiten:function(p){var E=this.values.hwb;return E[1]+=E[1]*p,this.setValues("hwb",E),this},blacken:function(p){var E=this.values.hwb;return E[2]+=E[2]*p,this.setValues("hwb",E),this},greyscale:function(){var p=this.values.rgb,E=.3*p[0]+.59*p[1]+.11*p[2];return this.setValues("rgb",[E,E,E]),this},clearer:function(p){var E=this.values.alpha;return this.setValues("alpha",E-E*p),this},opaquer:function(p){var E=this.values.alpha;return this.setValues("alpha",E+E*p),this},rotate:function(p){var E=this.values.hsl,N=(E[0]+p)%360;return E[0]=N<0?360+N:N,this.setValues("hsl",E),this},mix:function(p,E){var N=this,$=p,Q=void 0===E?.5:E,de=2*Q-1,ve=N.alpha()-$.alpha(),ze=((de*ve==-1?de:(de+ve)/(1+de*ve))+1)/2,De=1-ze;return this.rgb(ze*N.red()+De*$.red(),ze*N.green()+De*$.green(),ze*N.blue()+De*$.blue()).alpha(N.alpha()*Q+$.alpha()*(1-Q))},toJSON:function(){return this.rgb()},clone:function(){var $,Q,p=new Rn,E=this.values,N=p.values;for(var de in E)E.hasOwnProperty(de)&&("[object Array]"===(Q={}.toString.call($=E[de]))?N[de]=$.slice(0):"[object Number]"===Q?N[de]=$:console.error("unexpected color value:",$));return p}},Rn.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},Rn.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},Rn.prototype.getValues=function(p){for(var E=this.values,N={},$=0;$<p.length;$++)N[p.charAt($)]=E[p][$];return 1!==E.alpha&&(N.a=E.alpha),N},Rn.prototype.setValues=function(p,E){var ve,De,N=this.values,$=this.spaces,Q=this.maxes,de=1;if(this.valid=!0,"alpha"===p)de=E;else if(E.length)N[p]=E.slice(0,p.length),de=E[p.length];else if(void 0!==E[p.charAt(0)]){for(ve=0;ve<p.length;ve++)N[p][ve]=E[p.charAt(ve)];de=E.a}else if(void 0!==E[$[p][0]]){var ze=$[p];for(ve=0;ve<p.length;ve++)N[p][ve]=E[ze[ve]];de=E.alpha}if(N.alpha=Math.max(0,Math.min(1,void 0===de?N.alpha:de)),"alpha"===p)return!1;for(ve=0;ve<p.length;ve++)De=Math.max(0,Math.min(Q[p][ve],N[p][ve])),N[p][ve]=Math.round(De);for(var _t in $)_t!==p&&(N[_t]=Oe[p][_t](N[p]));return!0},Rn.prototype.setSpace=function(p,E){var N=E[0];return void 0===N?this.getValues(p):("number"==typeof N&&(N=Array.prototype.slice.call(E)),this.setValues(p,N),this)},Rn.prototype.setChannel=function(p,E,N){var $=this.values[p];return void 0===N?$[E]:(N===$[E]||($[E]=N,this.setValues(p,$)),this)},"undefined"!=typeof window&&(window.Color=Rn);var er=Rn;function Mn(p){return-1===["__proto__","prototype","constructor"].indexOf(p)}var p,Ht={noop:function(){},uid:(p=0,function(){return p++}),isNullOrUndef:function(p){return null==p},isArray:function(p){if(Array.isArray&&Array.isArray(p))return!0;var E=Object.prototype.toString.call(p);return"[object"===E.substr(0,7)&&"Array]"===E.substr(-6)},isObject:function(p){return null!==p&&"[object Object]"===Object.prototype.toString.call(p)},isFinite:function(p){return("number"==typeof p||p instanceof Number)&&isFinite(p)},valueOrDefault:function(p,E){return void 0===p?E:p},valueAtIndexOrDefault:function(p,E,N){return Ht.valueOrDefault(Ht.isArray(p)?p[E]:p,N)},callback:function(p,E,N){if(p&&"function"==typeof p.call)return p.apply(N,E)},each:function(p,E,N,$){var Q,de,ve;if(Ht.isArray(p))if(de=p.length,$)for(Q=de-1;Q>=0;Q--)E.call(N,p[Q],Q);else for(Q=0;Q<de;Q++)E.call(N,p[Q],Q);else if(Ht.isObject(p))for(de=(ve=Object.keys(p)).length,Q=0;Q<de;Q++)E.call(N,p[ve[Q]],ve[Q])},arrayEquals:function(p,E){var N,$,Q,de;if(!p||!E||p.length!==E.length)return!1;for(N=0,$=p.length;N<$;++N)if(de=E[N],(Q=p[N])instanceof Array&&de instanceof Array){if(!Ht.arrayEquals(Q,de))return!1}else if(Q!==de)return!1;return!0},clone:function(p){if(Ht.isArray(p))return p.map(Ht.clone);if(Ht.isObject(p)){for(var E=Object.create(p),N=Object.keys(p),$=N.length,Q=0;Q<$;++Q)E[N[Q]]=Ht.clone(p[N[Q]]);return E}return p},_merger:function(p,E,N,$){if(Mn(p)){var Q=E[p],de=N[p];Ht.isObject(Q)&&Ht.isObject(de)?Ht.merge(Q,de,$):E[p]=Ht.clone(de)}},_mergerIf:function(p,E,N){if(Mn(p)){var $=E[p],Q=N[p];Ht.isObject($)&&Ht.isObject(Q)?Ht.mergeIf($,Q):E.hasOwnProperty(p)||(E[p]=Ht.clone(Q))}},merge:function(p,E,N){var de,ve,ze,De,_t,$=Ht.isArray(E)?E:[E],Q=$.length;if(!Ht.isObject(p))return p;for(de=(N=N||{}).merger||Ht._merger,ve=0;ve<Q;++ve)if(Ht.isObject(E=$[ve]))for(_t=0,De=(ze=Object.keys(E)).length;_t<De;++_t)de(ze[_t],p,E,N);return p},mergeIf:function(p,E){return Ht.merge(p,E,{merger:Ht._mergerIf})},extend:Object.assign||function(p){return Ht.merge(p,[].slice.call(arguments,1),{merger:function(E,N,$){N[E]=$[E]}})},inherits:function(p){var E=this,N=p&&p.hasOwnProperty("constructor")?p.constructor:function(){return E.apply(this,arguments)},$=function(){this.constructor=N};return $.prototype=E.prototype,N.prototype=new $,N.extend=Ht.inherits,p&&Ht.extend(N.prototype,p),N.__super__=E.prototype,N},_deprecated:function(p,E,N,$){void 0!==E&&console.warn(p+': "'+N+'" is deprecated. Please use "'+$+'" instead')}},tr=Ht;Ht.callCallback=Ht.callback,Ht.indexOf=function(p,E,N){return Array.prototype.indexOf.call(p,E,N)},Ht.getValueOrDefault=Ht.valueOrDefault,Ht.getValueAtIndexOrDefault=Ht.valueAtIndexOrDefault;var Yn={linear:function(p){return p},easeInQuad:function(p){return p*p},easeOutQuad:function(p){return-p*(p-2)},easeInOutQuad:function(p){return(p/=.5)<1?.5*p*p:-.5*(--p*(p-2)-1)},easeInCubic:function(p){return p*p*p},easeOutCubic:function(p){return(p-=1)*p*p+1},easeInOutCubic:function(p){return(p/=.5)<1?.5*p*p*p:.5*((p-=2)*p*p+2)},easeInQuart:function(p){return p*p*p*p},easeOutQuart:function(p){return-((p-=1)*p*p*p-1)},easeInOutQuart:function(p){return(p/=.5)<1?.5*p*p*p*p:-.5*((p-=2)*p*p*p-2)},easeInQuint:function(p){return p*p*p*p*p},easeOutQuint:function(p){return(p-=1)*p*p*p*p+1},easeInOutQuint:function(p){return(p/=.5)<1?.5*p*p*p*p*p:.5*((p-=2)*p*p*p*p+2)},easeInSine:function(p){return 1-Math.cos(p*(Math.PI/2))},easeOutSine:function(p){return Math.sin(p*(Math.PI/2))},easeInOutSine:function(p){return-.5*(Math.cos(Math.PI*p)-1)},easeInExpo:function(p){return 0===p?0:Math.pow(2,10*(p-1))},easeOutExpo:function(p){return 1===p?1:1-Math.pow(2,-10*p)},easeInOutExpo:function(p){return 0===p?0:1===p?1:(p/=.5)<1?.5*Math.pow(2,10*(p-1)):.5*(2-Math.pow(2,-10*--p))},easeInCirc:function(p){return p>=1?p:-(Math.sqrt(1-p*p)-1)},easeOutCirc:function(p){return Math.sqrt(1-(p-=1)*p)},easeInOutCirc:function(p){return(p/=.5)<1?-.5*(Math.sqrt(1-p*p)-1):.5*(Math.sqrt(1-(p-=2)*p)+1)},easeInElastic:function(p){var E=1.70158,N=0,$=1;return 0===p?0:1===p?1:(N||(N=.3),$<1?($=1,E=N/4):E=N/(2*Math.PI)*Math.asin(1/$),-$*Math.pow(2,10*(p-=1))*Math.sin((p-E)*(2*Math.PI)/N))},easeOutElastic:function(p){var E=1.70158,N=0,$=1;return 0===p?0:1===p?1:(N||(N=.3),$<1?($=1,E=N/4):E=N/(2*Math.PI)*Math.asin(1/$),$*Math.pow(2,-10*p)*Math.sin((p-E)*(2*Math.PI)/N)+1)},easeInOutElastic:function(p){var E=1.70158,N=0,$=1;return 0===p?0:2==(p/=.5)?1:(N||(N=.45),$<1?($=1,E=N/4):E=N/(2*Math.PI)*Math.asin(1/$),p<1?$*Math.pow(2,10*(p-=1))*Math.sin((p-E)*(2*Math.PI)/N)*-.5:$*Math.pow(2,-10*(p-=1))*Math.sin((p-E)*(2*Math.PI)/N)*.5+1)},easeInBack:function(p){var E=1.70158;return p*p*((E+1)*p-E)},easeOutBack:function(p){var E=1.70158;return(p-=1)*p*((E+1)*p+E)+1},easeInOutBack:function(p){var E=1.70158;return(p/=.5)<1?p*p*((1+(E*=1.525))*p-E)*.5:.5*((p-=2)*p*((1+(E*=1.525))*p+E)+2)},easeInBounce:function(p){return 1-Yn.easeOutBounce(1-p)},easeOutBounce:function(p){return p<1/2.75?7.5625*p*p:p<2/2.75?7.5625*(p-=1.5/2.75)*p+.75:p<2.5/2.75?7.5625*(p-=2.25/2.75)*p+.9375:7.5625*(p-=2.625/2.75)*p+.984375},easeInOutBounce:function(p){return p<.5?.5*Yn.easeInBounce(2*p):.5*Yn.easeOutBounce(2*p-1)+.5}},Cn={effects:Yn};tr.easingEffects=Yn;var Kt=Math.PI,dn=Kt/180,Kn=2*Kt,qn=Kt/2,Sn=Kt/4,$n=2*Kt/3,En={clear:function(p){p.ctx.clearRect(0,0,p.width,p.height)},roundedRect:function(p,E,N,$,Q,de){if(de){var ve=Math.min(de,Q/2,$/2),ze=E+ve,De=N+ve,_t=E+$-ve,Yt=N+Q-ve;p.moveTo(E,De),ze<_t&&De<Yt?(p.arc(ze,De,ve,-Kt,-qn),p.arc(_t,De,ve,-qn,0),p.arc(_t,Yt,ve,0,qn),p.arc(ze,Yt,ve,qn,Kt)):ze<_t?(p.moveTo(ze,N),p.arc(_t,De,ve,-qn,qn),p.arc(ze,De,ve,qn,Kt+qn)):De<Yt?(p.arc(ze,De,ve,-Kt,0),p.arc(ze,Yt,ve,0,Kt)):p.arc(ze,De,ve,-Kt,Kt),p.closePath(),p.moveTo(E,N)}else p.rect(E,N,$,Q)},drawPoint:function(p,E,N,$,Q,de){var ve,ze,De,_t,Yt,Zt=(de||0)*dn;if(E&&"object"==typeof E&&("[object HTMLImageElement]"===(ve=E.toString())||"[object HTMLCanvasElement]"===ve))return p.save(),p.translate($,Q),p.rotate(Zt),p.drawImage(E,-E.width/2,-E.height/2,E.width,E.height),void p.restore();if(!(isNaN(N)||N<=0)){switch(p.beginPath(),E){default:p.arc($,Q,N,0,Kn),p.closePath();break;case"triangle":p.moveTo($+Math.sin(Zt)*N,Q-Math.cos(Zt)*N),Zt+=$n,p.lineTo($+Math.sin(Zt)*N,Q-Math.cos(Zt)*N),Zt+=$n,p.lineTo($+Math.sin(Zt)*N,Q-Math.cos(Zt)*N),p.closePath();break;case"rectRounded":_t=N-(Yt=.516*N),ze=Math.cos(Zt+Sn)*_t,De=Math.sin(Zt+Sn)*_t,p.arc($-ze,Q-De,Yt,Zt-Kt,Zt-qn),p.arc($+De,Q-ze,Yt,Zt-qn,Zt),p.arc($+ze,Q+De,Yt,Zt,Zt+qn),p.arc($-De,Q+ze,Yt,Zt+qn,Zt+Kt),p.closePath();break;case"rect":if(!de){_t=Math.SQRT1_2*N,p.rect($-_t,Q-_t,2*_t,2*_t);break}Zt+=Sn;case"rectRot":ze=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-ze,Q-De),p.lineTo($+De,Q-ze),p.lineTo($+ze,Q+De),p.lineTo($-De,Q+ze),p.closePath();break;case"crossRot":Zt+=Sn;case"cross":ze=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-ze,Q-De),p.lineTo($+ze,Q+De),p.moveTo($+De,Q-ze),p.lineTo($-De,Q+ze);break;case"star":ze=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-ze,Q-De),p.lineTo($+ze,Q+De),p.moveTo($+De,Q-ze),p.lineTo($-De,Q+ze),Zt+=Sn,ze=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-ze,Q-De),p.lineTo($+ze,Q+De),p.moveTo($+De,Q-ze),p.lineTo($-De,Q+ze);break;case"line":ze=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-ze,Q-De),p.lineTo($+ze,Q+De);break;case"dash":p.moveTo($,Q),p.lineTo($+Math.cos(Zt)*N,Q+Math.sin(Zt)*N)}p.fill(),p.stroke()}},_isPointInArea:function(p,E){var N=1e-6;return p.x>E.left-N&&p.x<E.right+N&&p.y>E.top-N&&p.y<E.bottom+N},clipArea:function(p,E){p.save(),p.beginPath(),p.rect(E.left,E.top,E.right-E.left,E.bottom-E.top),p.clip()},unclipArea:function(p){p.restore()},lineTo:function(p,E,N,$){var Q=N.steppedLine;if(Q){if("middle"===Q){var de=(E.x+N.x)/2;p.lineTo(de,$?N.y:E.y),p.lineTo(de,$?E.y:N.y)}else"after"===Q&&!$||"after"!==Q&&$?p.lineTo(E.x,N.y):p.lineTo(N.x,E.y);p.lineTo(N.x,N.y)}else N.tension?p.bezierCurveTo($?E.controlPointPreviousX:E.controlPointNextX,$?E.controlPointPreviousY:E.controlPointNextY,$?N.controlPointNextX:N.controlPointPreviousX,$?N.controlPointNextY:N.controlPointPreviousY,N.x,N.y):p.lineTo(N.x,N.y)}},Fn=En;tr.clear=En.clear,tr.drawRoundedRectangle=function(p){p.beginPath(),En.roundedRect.apply(En,arguments)};var Dn={_set:function(p,E){return tr.merge(this[p]||(this[p]={}),E)}};Dn._set("global",{defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",defaultLineHeight:1.2,showLines:!0});var mn=Dn,jn=tr.valueOrDefault;var ut={toLineHeight:function(p,E){var N=(""+p).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!N||"normal"===N[1])return 1.2*E;switch(p=+N[2],N[3]){case"px":return p;case"%":p/=100}return E*p},toPadding:function(p){var E,N,$,Q;return tr.isObject(p)?(E=+p.top||0,N=+p.right||0,$=+p.bottom||0,Q=+p.left||0):E=N=$=Q=+p||0,{top:E,right:N,bottom:$,left:Q,height:E+$,width:Q+N}},_parseFont:function(p){var E=mn.global,N=jn(p.fontSize,E.defaultFontSize),$={family:jn(p.fontFamily,E.defaultFontFamily),lineHeight:tr.options.toLineHeight(jn(p.lineHeight,E.defaultLineHeight),N),size:N,style:jn(p.fontStyle,E.defaultFontStyle),weight:null,string:""};return $.string=function(p){return!p||tr.isNullOrUndef(p.size)||tr.isNullOrUndef(p.family)?null:(p.style?p.style+" ":"")+(p.weight?p.weight+" ":"")+p.size+"px "+p.family}($),$},resolve:function(p,E,N,$){var de,ve,ze,Q=!0;for(de=0,ve=p.length;de<ve;++de)if(void 0!==(ze=p[de])&&(void 0!==E&&"function"==typeof ze&&(ze=ze(E),Q=!1),void 0!==N&&tr.isArray(ze)&&(ze=ze[N],Q=!1),void 0!==ze))return $&&!Q&&($.cacheable=!1),ze}},mt={_factorize:function(p){var $,E=[],N=Math.sqrt(p);for($=1;$<N;$++)p%$==0&&(E.push($),E.push(p/$));return N===(0|N)&&E.push(N),E.sort(function(Q,de){return Q-de}).pop(),E},log10:Math.log10||function(p){var E=Math.log(p)*Math.LOG10E,N=Math.round(E);return p===Math.pow(10,N)?N:E}},Tt=mt;tr.log10=mt.log10;var ht=tr,Ue=Fn,nt=ut,at=Tt,it={getRtlAdapter:function(p,E,N){return p?function(p,E){return{x:function(N){return p+p+E-N},setWidth:function(N){E=N},textAlign:function(N){return"center"===N?N:"right"===N?"left":"right"},xPlus:function(N,$){return N-$},leftForLtr:function(N,$){return N-$}}}(E,N):{x:function(p){return p},setWidth:function(p){},textAlign:function(p){return p},xPlus:function(p,E){return p+E},leftForLtr:function(p,E){return p}}},overrideTextDirection:function(p,E){var N,$;("ltr"===E||"rtl"===E)&&($=[(N=p.canvas.style).getPropertyValue("direction"),N.getPropertyPriority("direction")],N.setProperty("direction",E,"important"),p.prevTextDirection=$)},restoreTextDirection:function(p){var E=p.prevTextDirection;void 0!==E&&(delete p.prevTextDirection,p.canvas.style.setProperty("direction",E[0],E[1]))}};ht.easing=Cn,ht.canvas=Ue,ht.options=nt,ht.math=at,ht.rtl=it;var Ut=function(p){ht.extend(this,p),this.initialize.apply(this,arguments)};ht.extend(Ut.prototype,{_type:void 0,initialize:function(){this.hidden=!1},pivot:function(){var p=this;return p._view||(p._view=ht.extend({},p._model)),p._start={},p},transition:function(p){var E=this,N=E._model,$=E._start,Q=E._view;return N&&1!==p?(Q||(Q=E._view={}),$||($=E._start={}),function(p,E,N,$){var de,ve,ze,De,_t,Yt,Zt,wn,cr,Q=Object.keys(N);for(de=0,ve=Q.length;de<ve;++de)if(Yt=N[ze=Q[de]],E.hasOwnProperty(ze)||(E[ze]=Yt),(De=E[ze])!==Yt&&"_"!==ze[0]){if(p.hasOwnProperty(ze)||(p[ze]=De),(Zt=typeof Yt)==typeof(_t=p[ze]))if("string"===Zt){if((wn=er(_t)).valid&&(cr=er(Yt)).valid){E[ze]=cr.mix(wn,$).rgbString();continue}}else if(ht.isFinite(_t)&&ht.isFinite(Yt)){E[ze]=_t+(Yt-_t)*$;continue}E[ze]=Yt}}($,Q,N,p),E):(E._view=ht.extend({},N),E._start=null,E)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return ht.isNumber(this._model.x)&&ht.isNumber(this._model.y)}}),Ut.extend=ht.inherits;var ot=Ut,Nn=ot.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),sn=Nn;Object.defineProperty(Nn.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(Nn.prototype,"chartInstance",{get:function(){return this.chart},set:function(p){this.chart=p}}),mn._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:ht.noop,onComplete:ht.noop}});var An={animations:[],request:null,addAnimation:function(p,E,N,$){var de,ve,Q=this.animations;for(E.chart=p,E.startTime=Date.now(),E.duration=N,$||(p.animating=!0),de=0,ve=Q.length;de<ve;++de)if(Q[de].chart===p)return void(Q[de]=E);Q.push(E),1===Q.length&&this.requestAnimationFrame()},cancelAnimation:function(p){var E=ht.findIndex(this.animations,function(N){return N.chart===p});-1!==E&&(this.animations.splice(E,1),p.animating=!1)},requestAnimationFrame:function(){var p=this;null===p.request&&(p.request=ht.requestAnimFrame.call(window,function(){p.request=null,p.startDigest()}))},startDigest:function(){var p=this;p.advance(),p.animations.length>0&&p.requestAnimationFrame()},advance:function(){for(var E,N,$,Q,p=this.animations,de=0;de<p.length;)N=(E=p[de]).chart,$=E.numSteps,Q=Math.floor((Date.now()-E.startTime)/E.duration*$)+1,E.currentStep=Math.min(Q,$),ht.callback(E.render,[N,E],N),ht.callback(E.onAnimationProgress,[E],N),E.currentStep>=$?(ht.callback(E.onAnimationComplete,[E],N),N.animating=!1,p.splice(de,1)):++de}},Bn=ht.options.resolve,ir=["push","pop","shift","splice","unshift"];function _r(p,E){var N=p._chartjs;if(N){var $=N.listeners,Q=$.indexOf(E);-1!==Q&&$.splice(Q,1),!($.length>0)&&(ir.forEach(function(de){delete p[de]}),delete p._chartjs)}}var Nr=function(p,E){this.initialize(p,E)};ht.extend(Nr.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(p,E){var N=this;N.chart=p,N.index=E,N.linkScales(),N.addElements(),N._type=N.getMeta().type},updateIndex:function(p){this.index=p},linkScales:function(){var p=this,E=p.getMeta(),N=p.chart,$=N.scales,Q=p.getDataset(),de=N.options.scales;(null===E.xAxisID||!(E.xAxisID in $)||Q.xAxisID)&&(E.xAxisID=Q.xAxisID||de.xAxes[0].id),(null===E.yAxisID||!(E.yAxisID in $)||Q.yAxisID)&&(E.yAxisID=Q.yAxisID||de.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(p){return this.chart.scales[p]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&_r(this._data,this)},createMetaDataset:function(){var p=this,E=p.datasetElementType;return E&&new E({_chart:p.chart,_datasetIndex:p.index})},createMetaData:function(p){var E=this,N=E.dataElementType;return N&&new N({_chart:E.chart,_datasetIndex:E.index,_index:p})},addElements:function(){var Q,de,p=this,E=p.getMeta(),N=p.getDataset().data||[],$=E.data;for(Q=0,de=N.length;Q<de;++Q)$[Q]=$[Q]||p.createMetaData(Q);E.dataset=E.dataset||p.createMetaDataset()},addElementAndReset:function(p){var E=this.createMetaData(p);this.getMeta().data.splice(p,0,E),this.updateElement(E,p,!0)},buildOrUpdateElements:function(){var p=this,E=p.getDataset(),N=E.data||(E.data=[]);p._data!==N&&(p._data&&_r(p._data,p),N&&Object.isExtensible(N)&&function(p,E){p._chartjs?p._chartjs.listeners.push(E):(Object.defineProperty(p,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[E]}}),ir.forEach(function(N){var $="onData"+N.charAt(0).toUpperCase()+N.slice(1),Q=p[N];Object.defineProperty(p,N,{configurable:!0,enumerable:!1,value:function(){var de=Array.prototype.slice.call(arguments),ve=Q.apply(this,de);return ht.each(p._chartjs.listeners,function(ze){"function"==typeof ze[$]&&ze[$].apply(ze,de)}),ve}})}))}(N,p),p._data=N),p.resyncElements()},_configure:function(){var p=this;p._config=ht.merge(Object.create(null),[p.chart.options.datasets[p._type],p.getDataset()],{merger:function(E,N,$){"_meta"!==E&&"data"!==E&&ht._merger(E,N,$)}})},_update:function(p){var E=this;E._configure(),E._cachedDataOpts=null,E.update(p)},update:ht.noop,transition:function(p){for(var E=this.getMeta(),N=E.data||[],$=N.length,Q=0;Q<$;++Q)N[Q].transition(p);E.dataset&&E.dataset.transition(p)},draw:function(){var p=this.getMeta(),E=p.data||[],N=E.length,$=0;for(p.dataset&&p.dataset.draw();$<N;++$)E[$].draw()},getStyle:function(p){var Q,E=this,N=E.getMeta(),$=N.dataset;return E._configure(),(!1===(Q=$&&void 0===p?E._resolveDatasetElementOptions($||{}):E._resolveDataElementOptions(N.data[p=p||0]||{},p)).fill||null===Q.fill)&&(Q.backgroundColor=Q.borderColor),Q},_resolveDatasetElementOptions:function(p,E){var _t,Yt,Zt,wn,N=this,$=N.chart,Q=N._config,de=p.custom||{},ve=$.options.elements[N.datasetElementType.prototype._type]||{},ze=N._datasetElementOptions,De={},cr={chart:$,dataset:N.getDataset(),datasetIndex:N.index,hover:E};for(_t=0,Yt=ze.length;_t<Yt;++_t)Zt=ze[_t],wn=E?"hover"+Zt.charAt(0).toUpperCase()+Zt.slice(1):Zt,De[Zt]=Bn([de[wn],Q[wn],ve[wn]],cr);return De},_resolveDataElementOptions:function(p,E){var N=this,$=p&&p.custom,Q=N._cachedDataOpts;if(Q&&!$)return Q;var wn,cr,sr,Tr,de=N.chart,ve=N._config,ze=de.options.elements[N.dataElementType.prototype._type]||{},De=N._dataElementOptions,_t={},Yt={chart:de,dataIndex:E,dataset:N.getDataset(),datasetIndex:N.index},Zt={cacheable:!$};if($=$||{},ht.isArray(De))for(cr=0,sr=De.length;cr<sr;++cr)_t[Tr=De[cr]]=Bn([$[Tr],ve[Tr],ze[Tr]],Yt,E,Zt);else for(cr=0,sr=(wn=Object.keys(De)).length;cr<sr;++cr)_t[Tr=wn[cr]]=Bn([$[Tr],ve[De[Tr]],ve[Tr],ze[Tr]],Yt,E,Zt);return Zt.cacheable&&(N._cachedDataOpts=Object.freeze(_t)),_t},removeHoverStyle:function(p){ht.merge(p._model,p.$previousStyle||{}),delete p.$previousStyle},setHoverStyle:function(p){var E=this.chart.data.datasets[p._datasetIndex],N=p._index,$=p.custom||{},Q=p._model,de=ht.getHoverColor;p.$previousStyle={backgroundColor:Q.backgroundColor,borderColor:Q.borderColor,borderWidth:Q.borderWidth},Q.backgroundColor=Bn([$.hoverBackgroundColor,E.hoverBackgroundColor,de(Q.backgroundColor)],void 0,N),Q.borderColor=Bn([$.hoverBorderColor,E.hoverBorderColor,de(Q.borderColor)],void 0,N),Q.borderWidth=Bn([$.hoverBorderWidth,E.hoverBorderWidth,Q.borderWidth],void 0,N)},_removeDatasetHoverStyle:function(){var p=this.getMeta().dataset;p&&this.removeHoverStyle(p)},_setDatasetHoverStyle:function(){var N,$,Q,de,ve,ze,p=this.getMeta().dataset,E={};if(p){for(ze=p._model,ve=this._resolveDatasetElementOptions(p,!0),N=0,$=(de=Object.keys(ve)).length;N<$;++N)E[Q=de[N]]=ze[Q],ze[Q]=ve[Q];p.$previousStyle=E}},resyncElements:function(){var p=this,E=p.getMeta(),N=p.getDataset().data,$=E.data.length,Q=N.length;Q<$?E.data.splice(Q,$-Q):Q>$&&p.insertElements($,Q-$)},insertElements:function(p,E){for(var N=0;N<E;++N)this.addElementAndReset(p+N)},onDataPush:function(){var p=arguments.length;this.insertElements(this.getDataset().data.length-p,p)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(p,E){this.getMeta().data.splice(p,E),this.insertElements(p,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),Nr.extend=ht.inherits;var br=Nr,Jn=2*Math.PI;function rr(p,E){var N=E.startAngle,$=E.endAngle,Q=E.pixelMargin,de=Q/E.outerRadius,ve=E.x,ze=E.y;p.beginPath(),p.arc(ve,ze,E.outerRadius,N-de,$+de),E.innerRadius>Q?p.arc(ve,ze,E.innerRadius-Q,$+(de=Q/E.innerRadius),N-de,!0):p.arc(ve,ze,Q,$+Math.PI/2,N-Math.PI/2),p.closePath(),p.clip()}function yi(p,E,N){var $="inner"===E.borderAlign;$?(p.lineWidth=2*E.borderWidth,p.lineJoin="round"):(p.lineWidth=E.borderWidth,p.lineJoin="bevel"),N.fullCircles&&function(p,E,N,$){var de,Q=N.endAngle;for($&&(N.endAngle=N.startAngle+Jn,rr(p,N),N.endAngle=Q,N.endAngle===N.startAngle&&N.fullCircles&&(N.endAngle+=Jn,N.fullCircles--)),p.beginPath(),p.arc(N.x,N.y,N.innerRadius,N.startAngle+Jn,N.startAngle,!0),de=0;de<N.fullCircles;++de)p.stroke();for(p.beginPath(),p.arc(N.x,N.y,E.outerRadius,N.startAngle,N.startAngle+Jn),de=0;de<N.fullCircles;++de)p.stroke()}(p,E,N,$),$&&rr(p,N),p.beginPath(),p.arc(N.x,N.y,E.outerRadius,N.startAngle,N.endAngle),p.arc(N.x,N.y,N.innerRadius,N.endAngle,N.startAngle,!0),p.closePath(),p.stroke()}mn._set("global",{elements:{arc:{backgroundColor:mn.global.defaultColor,borderColor:"#fff",borderWidth:2,borderAlign:"center"}}});var Li=ot.extend({_type:"arc",inLabelRange:function(p){var E=this._view;return!!E&&Math.pow(p-E.x,2)<Math.pow(E.radius+E.hoverRadius,2)},inRange:function(p,E){var N=this._view;if(N){for(var $=ht.getAngleFromPoint(N,{x:p,y:E}),Q=$.angle,de=$.distance,ve=N.startAngle,ze=N.endAngle;ze<ve;)ze+=Jn;for(;Q>ze;)Q-=Jn;for(;Q<ve;)Q+=Jn;return Q>=ve&&Q<=ze&&de>=N.innerRadius&&de<=N.outerRadius}return!1},getCenterPoint:function(){var p=this._view,E=(p.startAngle+p.endAngle)/2,N=(p.innerRadius+p.outerRadius)/2;return{x:p.x+Math.cos(E)*N,y:p.y+Math.sin(E)*N}},getArea:function(){var p=this._view;return Math.PI*((p.endAngle-p.startAngle)/(2*Math.PI))*(Math.pow(p.outerRadius,2)-Math.pow(p.innerRadius,2))},tooltipPosition:function(){var p=this._view,E=p.startAngle+(p.endAngle-p.startAngle)/2,N=(p.outerRadius-p.innerRadius)/2+p.innerRadius;return{x:p.x+Math.cos(E)*N,y:p.y+Math.sin(E)*N}},draw:function(){var Q,p=this._chart.ctx,E=this._view,N="inner"===E.borderAlign?.33:0,$={x:E.x,y:E.y,innerRadius:E.innerRadius,outerRadius:Math.max(E.outerRadius-N,0),pixelMargin:N,startAngle:E.startAngle,endAngle:E.endAngle,fullCircles:Math.floor(E.circumference/Jn)};if(p.save(),p.fillStyle=E.backgroundColor,p.strokeStyle=E.borderColor,$.fullCircles){for($.endAngle=$.startAngle+Jn,p.beginPath(),p.arc($.x,$.y,$.outerRadius,$.startAngle,$.endAngle),p.arc($.x,$.y,$.innerRadius,$.endAngle,$.startAngle,!0),p.closePath(),Q=0;Q<$.fullCircles;++Q)p.fill();$.endAngle=$.startAngle+E.circumference%Jn}p.beginPath(),p.arc($.x,$.y,$.outerRadius,$.startAngle,$.endAngle),p.arc($.x,$.y,$.innerRadius,$.endAngle,$.startAngle,!0),p.closePath(),p.fill(),E.borderWidth&&yi(p,E,$),p.restore()}}),Mi=ht.valueOrDefault,Oi=mn.global.defaultColor;mn._set("global",{elements:{line:{tension:.4,backgroundColor:Oi,borderWidth:3,borderColor:Oi,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}});var Xr=ot.extend({_type:"line",draw:function(){var _t,Yt,Zt,p=this,E=p._view,N=p._chart.ctx,$=E.spanGaps,Q=p._children.slice(),de=mn.global,ve=de.elements.line,ze=-1,De=p._loop;if(Q.length){if(p._loop){for(_t=0;_t<Q.length;++_t)if(Yt=ht.previousItem(Q,_t),!Q[_t]._view.skip&&Yt._view.skip){Q=Q.slice(_t).concat(Q.slice(0,_t)),De=$;break}De&&Q.push(Q[0])}for(N.save(),N.lineCap=E.borderCapStyle||ve.borderCapStyle,N.setLineDash&&N.setLineDash(E.borderDash||ve.borderDash),N.lineDashOffset=Mi(E.borderDashOffset,ve.borderDashOffset),N.lineJoin=E.borderJoinStyle||ve.borderJoinStyle,N.lineWidth=Mi(E.borderWidth,ve.borderWidth),N.strokeStyle=E.borderColor||de.defaultColor,N.beginPath(),(Zt=Q[0]._view).skip||(N.moveTo(Zt.x,Zt.y),ze=0),_t=1;_t<Q.length;++_t)Zt=Q[_t]._view,Yt=-1===ze?ht.previousItem(Q,_t):Q[ze],Zt.skip||(ze!==_t-1&&!$||-1===ze?N.moveTo(Zt.x,Zt.y):ht.canvas.lineTo(N,Yt._view,Zt),ze=_t);De&&N.closePath(),N.stroke(),N.restore()}}}),Kr=ht.valueOrDefault,di=mn.global.defaultColor;function se(p){var E=this._view;return!!E&&Math.abs(p-E.x)<E.radius+E.hitRadius}mn._set("global",{elements:{point:{radius:3,pointStyle:"circle",backgroundColor:di,borderColor:di,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});var Ke=ot.extend({_type:"point",inRange:function(p,E){var N=this._view;return!!N&&Math.pow(p-N.x,2)+Math.pow(E-N.y,2)<Math.pow(N.hitRadius+N.radius,2)},inLabelRange:se,inXRange:se,inYRange:function(p){var E=this._view;return!!E&&Math.abs(p-E.y)<E.radius+E.hitRadius},getCenterPoint:function(){var p=this._view;return{x:p.x,y:p.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var p=this._view;return{x:p.x,y:p.y,padding:p.radius+p.borderWidth}},draw:function(p){var E=this._view,N=this._chart.ctx,$=E.pointStyle,Q=E.rotation,de=E.radius,ve=E.x,ze=E.y,De=mn.global,_t=De.defaultColor;E.skip||(void 0===p||ht.canvas._isPointInArea(E,p))&&(N.strokeStyle=E.borderColor||_t,N.lineWidth=Kr(E.borderWidth,De.elements.point.borderWidth),N.fillStyle=E.backgroundColor||_t,ht.canvas.drawPoint(N,$,de,ve,ze,Q))}}),Xe=mn.global.defaultColor;function Vt(p){return p&&void 0!==p.width}function Ct(p){var E,N,$,Q,de;return Vt(p)?(E=p.x-(de=p.width/2),N=p.x+de,$=Math.min(p.y,p.base),Q=Math.max(p.y,p.base)):(de=p.height/2,E=Math.min(p.x,p.base),N=Math.max(p.x,p.base),$=p.y-de,Q=p.y+de),{left:E,top:$,right:N,bottom:Q}}function rt(p,E,N){return p===E?N:p===N?E:p}function qe(p,E,N){var de,ve,ze,De,$=p.borderWidth,Q=function(p){var E=p.borderSkipped,N={};return E&&(p.horizontal?p.base>p.x&&(E=rt(E,"left","right")):p.base<p.y&&(E=rt(E,"bottom","top")),N[E]=!0),N}(p);return ht.isObject($)?(de=+$.top||0,ve=+$.right||0,ze=+$.bottom||0,De=+$.left||0):de=ve=ze=De=+$||0,{t:Q.top||de<0?0:de>N?N:de,r:Q.right||ve<0?0:ve>E?E:ve,b:Q.bottom||ze<0?0:ze>N?N:ze,l:Q.left||De<0?0:De>E?E:De}}function or(p,E,N){var $=null===E,Q=null===N,de=!(!p||$&&Q)&&Ct(p);return de&&($||E>=de.left&&E<=de.right)&&(Q||N>=de.top&&N<=de.bottom)}mn._set("global",{elements:{rectangle:{backgroundColor:Xe,borderColor:Xe,borderSkipped:"bottom",borderWidth:0}}});var Vn=ot.extend({_type:"rectangle",draw:function(){var p=this._chart.ctx,E=this._view,N=function(p){var E=Ct(p),N=E.right-E.left,$=E.bottom-E.top,Q=qe(p,N/2,$/2);return{outer:{x:E.left,y:E.top,w:N,h:$},inner:{x:E.left+Q.l,y:E.top+Q.t,w:N-Q.l-Q.r,h:$-Q.t-Q.b}}}(E),$=N.outer,Q=N.inner;p.fillStyle=E.backgroundColor,p.fillRect($.x,$.y,$.w,$.h),($.w!==Q.w||$.h!==Q.h)&&(p.save(),p.beginPath(),p.rect($.x,$.y,$.w,$.h),p.clip(),p.fillStyle=E.borderColor,p.rect(Q.x,Q.y,Q.w,Q.h),p.fill("evenodd"),p.restore())},height:function(){var p=this._view;return p.base-p.y},inRange:function(p,E){return or(this._view,p,E)},inLabelRange:function(p,E){var N=this._view;return Vt(N)?or(N,p,null):or(N,null,E)},inXRange:function(p){return or(this._view,p,null)},inYRange:function(p){return or(this._view,null,p)},getCenterPoint:function(){var E,N,p=this._view;return Vt(p)?(E=p.x,N=(p.y+p.base)/2):(E=(p.x+p.base)/2,N=p.y),{x:E,y:N}},getArea:function(){var p=this._view;return Vt(p)?p.width*Math.abs(p.y-p.base):p.height*Math.abs(p.x-p.base)},tooltipPosition:function(){var p=this._view;return{x:p.x,y:p.y}}}),Vr={},ai=Xr,Dr=Ke,Jr=Vn;Vr.Arc=Li,Vr.Line=ai,Vr.Point=Dr,Vr.Rectangle=Jr;var rn=ht._deprecated,fi=ht.valueOrDefault;function wi(p,E,N){var ze,De,$=N.barThickness,Q=E.stackCount,de=E.pixels[p],ve=ht.isNullOrUndef($)?function(p,E){var $,Q,de,ve,N=p._length;for(de=1,ve=E.length;de<ve;++de)N=Math.min(N,Math.abs(E[de]-E[de-1]));for(de=0,ve=p.getTicks().length;de<ve;++de)Q=p.getPixelForTick(de),N=de>0?Math.min(N,Math.abs(Q-$)):N,$=Q;return N}(E.scale,E.pixels):-1;return ht.isNullOrUndef($)?(ze=ve*N.categoryPercentage,De=N.barPercentage):(ze=$*Q,De=1),{chunk:ze/Q,ratio:De,start:de-ze/2}}mn._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),mn._set("global",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});var ki=br.extend({dataElementType:Vr.Rectangle,_dataElementOptions:["backgroundColor","borderColor","borderSkipped","borderWidth","barPercentage","barThickness","categoryPercentage","maxBarThickness","minBarLength"],initialize:function(){var E,N,p=this;br.prototype.initialize.apply(p,arguments),(E=p.getMeta()).stack=p.getDataset().stack,E.bar=!0,N=p._getIndexScale().options,rn("bar chart",N.barPercentage,"scales.[x/y]Axes.barPercentage","dataset.barPercentage"),rn("bar chart",N.barThickness,"scales.[x/y]Axes.barThickness","dataset.barThickness"),rn("bar chart",N.categoryPercentage,"scales.[x/y]Axes.categoryPercentage","dataset.categoryPercentage"),rn("bar chart",p._getValueScale().options.minBarLength,"scales.[x/y]Axes.minBarLength","dataset.minBarLength"),rn("bar chart",N.maxBarThickness,"scales.[x/y]Axes.maxBarThickness","dataset.maxBarThickness")},update:function(p){var $,Q,E=this,N=E.getMeta().data;for(E._ruler=E.getRuler(),$=0,Q=N.length;$<Q;++$)E.updateElement(N[$],$,p)},updateElement:function(p,E,N){var $=this,Q=$.getMeta(),de=$.getDataset(),ve=$._resolveDataElementOptions(p,E);p._xScale=$.getScaleForId(Q.xAxisID),p._yScale=$.getScaleForId(Q.yAxisID),p._datasetIndex=$.index,p._index=E,p._model={backgroundColor:ve.backgroundColor,borderColor:ve.borderColor,borderSkipped:ve.borderSkipped,borderWidth:ve.borderWidth,datasetLabel:de.label,label:$.chart.data.labels[E]},ht.isArray(de.data[E])&&(p._model.borderSkipped=null),$._updateElementGeometry(p,E,N,ve),p.pivot()},_updateElementGeometry:function(p,E,N,$){var Q=this,de=p._model,ve=Q._getValueScale(),ze=ve.getBasePixel(),De=ve.isHorizontal(),_t=Q._ruler||Q.getRuler(),Yt=Q.calculateBarValuePixels(Q.index,E,$),Zt=Q.calculateBarIndexPixels(Q.index,E,_t,$);de.horizontal=De,de.base=N?ze:Yt.base,de.x=De?N?ze:Yt.head:Zt.center,de.y=De?Zt.center:N?ze:Yt.head,de.height=De?Zt.size:void 0,de.width=De?void 0:Zt.size},_getStacks:function(p){var ze,De,N=this._getIndexScale(),$=N._getMatchingVisibleMetas(this._type),Q=N.options.stacked,de=$.length,ve=[];for(ze=0;ze<de&&(De=$[ze],(!1===Q||-1===ve.indexOf(De.stack)||void 0===Q&&void 0===De.stack)&&ve.push(De.stack),De.index!==p);++ze);return ve},getStackCount:function(){return this._getStacks().length},getStackIndex:function(p,E){var N=this._getStacks(p),$=void 0!==E?N.indexOf(E):-1;return-1===$?N.length-1:$},getRuler:function(){var $,Q,p=this,E=p._getIndexScale(),N=[];for($=0,Q=p.getMeta().data.length;$<Q;++$)N.push(E.getPixelForValue(null,$,p.index));return{pixels:N,start:E._startPixel,end:E._endPixel,stackCount:p.getStackCount(),scale:E}},calculateBarValuePixels:function(p,E,N){var Yr,Pi,yo,To,Qo,Go,As,$=this,Q=$.chart,de=$._getValueScale(),ve=de.isHorizontal(),ze=Q.data.datasets,De=de._getMatchingVisibleMetas($._type),_t=de._parseValue(ze[p].data[E]),Yt=N.minBarLength,Zt=de.options.stacked,wn=$.getMeta().stack,cr=void 0===_t.start?0:_t.max>=0&&_t.min>=0?_t.min:_t.max,sr=void 0===_t.start?_t.end:_t.max>=0&&_t.min>=0?_t.max-_t.min:_t.min-_t.max,Tr=De.length;if(Zt||void 0===Zt&&void 0!==wn)for(Yr=0;Yr<Tr&&(Pi=De[Yr]).index!==p;++Yr)Pi.stack===wn&&(yo=void 0===(As=de._parseValue(ze[Pi.index].data[E])).start?As.end:As.min>=0&&As.max>=0?As.max:As.min,(_t.min<0&&yo<0||_t.max>=0&&yo>0)&&(cr+=yo));return To=de.getPixelForValue(cr),Go=(Qo=de.getPixelForValue(cr+sr))-To,void 0!==Yt&&Math.abs(Go)<Yt&&(Go=Yt,Qo=sr>=0&&!ve||sr<0&&ve?To-Yt:To+Yt),{size:Go,base:To,head:Qo,center:Qo+Go/2}},calculateBarIndexPixels:function(p,E,N,$){var de="flex"===$.barThickness?function(p,E,N){var De,$=E.pixels,Q=$[p],de=p>0?$[p-1]:null,ve=p<$.length-1?$[p+1]:null,ze=N.categoryPercentage;return null===de&&(de=Q-(null===ve?E.end-E.start:ve-Q)),null===ve&&(ve=Q+Q-de),De=Q-(Q-Math.min(de,ve))/2*ze,{chunk:Math.abs(ve-de)/2*ze/E.stackCount,ratio:N.barPercentage,start:De}}(E,N,$):wi(E,N,$),ve=this.getStackIndex(p,this.getMeta().stack),ze=de.start+de.chunk*ve+de.chunk/2,De=Math.min(fi($.maxBarThickness,1/0),de.chunk*de.ratio);return{base:ze-De/2,head:ze+De/2,center:ze,size:De}},draw:function(){var p=this,E=p.chart,N=p._getValueScale(),$=p.getMeta().data,Q=p.getDataset(),de=$.length,ve=0;for(ht.canvas.clipArea(E.ctx,E.chartArea);ve<de;++ve){var ze=N._parseValue(Q.data[ve]);!isNaN(ze.min)&&!isNaN(ze.max)&&$[ve].draw()}ht.canvas.unclipArea(E.ctx)},_resolveDataElementOptions:function(){var p=this,E=ht.extend({},br.prototype._resolveDataElementOptions.apply(p,arguments)),N=p._getIndexScale().options,$=p._getValueScale().options;return E.barPercentage=fi(N.barPercentage,E.barPercentage),E.barThickness=fi(N.barThickness,E.barThickness),E.categoryPercentage=fi(N.categoryPercentage,E.categoryPercentage),E.maxBarThickness=fi(N.maxBarThickness,E.maxBarThickness),E.minBarLength=fi($.minBarLength,E.minBarLength),E}}),to=ht.valueOrDefault,qi=ht.options.resolve;mn._set("bubble",{hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-0"}],yAxes:[{type:"linear",position:"left",id:"y-axis-0"}]},tooltips:{callbacks:{title:function(){return""},label:function(p,E){return(E.datasets[p.datasetIndex].label||"")+": ("+p.xLabel+", "+p.yLabel+", "+E.datasets[p.datasetIndex].data[p.index].r+")"}}}});var Wi=br.extend({dataElementType:Vr.Point,_dataElementOptions:["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle","rotation"],update:function(p){var E=this,N=E.getMeta();ht.each(N.data,function(Q,de){E.updateElement(Q,de,p)})},updateElement:function(p,E,N){var $=this,Q=$.getMeta(),de=p.custom||{},ve=$.getScaleForId(Q.xAxisID),ze=$.getScaleForId(Q.yAxisID),De=$._resolveDataElementOptions(p,E),_t=$.getDataset().data[E],Yt=$.index,Zt=N?ve.getPixelForDecimal(.5):ve.getPixelForValue("object"==typeof _t?_t:NaN,E,Yt),wn=N?ze.getBasePixel():ze.getPixelForValue(_t,E,Yt);p._xScale=ve,p._yScale=ze,p._options=De,p._datasetIndex=Yt,p._index=E,p._model={backgroundColor:De.backgroundColor,borderColor:De.borderColor,borderWidth:De.borderWidth,hitRadius:De.hitRadius,pointStyle:De.pointStyle,rotation:De.rotation,radius:N?0:De.radius,skip:de.skip||isNaN(Zt)||isNaN(wn),x:Zt,y:wn},p.pivot()},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth,radius:E.radius},E.backgroundColor=to(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=to(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=to(N.hoverBorderWidth,N.borderWidth),E.radius=N.radius+N.hoverRadius},_resolveDataElementOptions:function(p,E){var N=this,$=N.chart,Q=N.getDataset(),de=p.custom||{},ve=Q.data[E]||{},ze=br.prototype._resolveDataElementOptions.apply(N,arguments),De={chart:$,dataIndex:E,dataset:Q,datasetIndex:N.index};return N._cachedDataOpts===ze&&(ze=ht.extend({},ze)),ze.radius=qi([de.radius,ve.r,N._config.radius,$.options.elements.point.radius],De,E),ze}}),eo=ht.valueOrDefault,Gi=Math.PI,Wo=2*Gi,Ro=Gi/2;mn._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(p){var de,ve,ze,E=document.createElement("ul"),N=p.data,$=N.datasets,Q=N.labels;if(E.setAttribute("class",p.id+"-legend"),$.length)for(de=0,ve=$[0].data.length;de<ve;++de)(ze=E.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=$[0].backgroundColor[de],Q[de]&&ze.appendChild(document.createTextNode(Q[de]));return E.outerHTML},legend:{labels:{generateLabels:function(p){var E=p.data;return E.labels.length&&E.datasets.length?E.labels.map(function(N,$){var Q=p.getDatasetMeta(0),de=Q.controller.getStyle($);return{text:N,fillStyle:de.backgroundColor,strokeStyle:de.borderColor,lineWidth:de.borderWidth,hidden:isNaN(E.datasets[0].data[$])||Q.data[$].hidden,index:$}}):[]}},onClick:function(p,E){var Q,de,ve,N=E.index,$=this.chart;for(Q=0,de=($.data.datasets||[]).length;Q<de;++Q)(ve=$.getDatasetMeta(Q)).data[N]&&(ve.data[N].hidden=!ve.data[N].hidden);$.update()}},cutoutPercentage:50,rotation:-Ro,circumference:Wo,tooltips:{callbacks:{title:function(){return""},label:function(p,E){var N=E.labels[p.index],$=": "+E.datasets[p.datasetIndex].data[p.index];return ht.isArray(N)?(N=N.slice())[0]+=$:N+=$,N}}}});var Bo=br.extend({dataElementType:Vr.Arc,linkScales:ht.noop,_dataElementOptions:["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"],getRingIndex:function(p){for(var E=0,N=0;N<p;++N)this.chart.isDatasetVisible(N)&&++E;return E},update:function(p){var Yr,Pi,E=this,N=E.chart,$=N.chartArea,Q=N.options,de=1,ve=1,ze=0,De=0,_t=E.getMeta(),Yt=_t.data,Zt=Q.cutoutPercentage/100||0,wn=Q.circumference,cr=E._getRingWeight(E.index);if(wn<Wo){var yo=Q.rotation%Wo,To=(yo+=yo>=Gi?-Wo:yo<-Gi?Wo:0)+wn,Qo=Math.cos(yo),Go=Math.sin(yo),As=Math.cos(To),Cs=Math.sin(To),Ss=yo<=0&&To>=0||To>=Wo,Is=yo<=Ro&&To>=Ro||To>=Wo+Ro,vl=yo<=-Ro&&To>=-Ro||To>=Gi+Ro,za=yo===-Gi||To>=Gi?-1:Math.min(Qo,Qo*Zt,As,As*Zt),Xa=vl?-1:Math.min(Go,Go*Zt,Cs,Cs*Zt),Ka=Ss?1:Math.max(Qo,Qo*Zt,As,As*Zt),Ul=Is?1:Math.max(Go,Go*Zt,Cs,Cs*Zt);de=(Ka-za)/2,ve=(Ul-Xa)/2,ze=-(Ka+za)/2,De=-(Ul+Xa)/2}for(Yr=0,Pi=Yt.length;Yr<Pi;++Yr)Yt[Yr]._options=E._resolveDataElementOptions(Yt[Yr],Yr);for(N.borderWidth=E.getMaxBorderWidth(),N.outerRadius=Math.max(Math.min(($.right-$.left-N.borderWidth)/de,($.bottom-$.top-N.borderWidth)/ve)/2,0),N.innerRadius=Math.max(N.outerRadius*Zt,0),N.radiusLength=(N.outerRadius-N.innerRadius)/(E._getVisibleDatasetWeightTotal()||1),N.offsetX=ze*N.outerRadius,N.offsetY=De*N.outerRadius,_t.total=E.calculateTotal(),E.outerRadius=N.outerRadius-N.radiusLength*E._getRingWeightOffset(E.index),E.innerRadius=Math.max(E.outerRadius-N.radiusLength*cr,0),Yr=0,Pi=Yt.length;Yr<Pi;++Yr)E.updateElement(Yt[Yr],Yr,p)},updateElement:function(p,E,N){var $=this,Q=$.chart,de=Q.chartArea,ve=Q.options,ze=ve.animation,De=(de.left+de.right)/2,_t=(de.top+de.bottom)/2,Yt=ve.rotation,Zt=ve.rotation,wn=$.getDataset(),cr=N&&ze.animateRotate||p.hidden?0:$.calculateCircumference(wn.data[E])*(ve.circumference/Wo),Yr=p._options||{};ht.extend(p,{_datasetIndex:$.index,_index:E,_model:{backgroundColor:Yr.backgroundColor,borderColor:Yr.borderColor,borderWidth:Yr.borderWidth,borderAlign:Yr.borderAlign,x:De+Q.offsetX,y:_t+Q.offsetY,startAngle:Yt,endAngle:Zt,circumference:cr,outerRadius:N&&ze.animateScale?0:$.outerRadius,innerRadius:N&&ze.animateScale?0:$.innerRadius,label:ht.valueAtIndexOrDefault(wn.label,E,Q.data.labels[E])}});var Pi=p._model;(!N||!ze.animateRotate)&&(Pi.startAngle=0===E?ve.rotation:$.getMeta().data[E-1]._model.endAngle,Pi.endAngle=Pi.startAngle+Pi.circumference),p.pivot()},calculateTotal:function(){var $,p=this.getDataset(),E=this.getMeta(),N=0;return ht.each(E.data,function(Q,de){$=p.data[de],!isNaN($)&&!Q.hidden&&(N+=Math.abs($))}),N},calculateCircumference:function(p){var E=this.getMeta().total;return E>0&&!isNaN(p)?Wo*(Math.abs(p)/E):0},getMaxBorderWidth:function(p){var Q,de,ve,ze,De,_t,Yt,Zt,N=0,$=this.chart;if(!p)for(Q=0,de=$.data.datasets.length;Q<de;++Q)if($.isDatasetVisible(Q)){p=(ve=$.getDatasetMeta(Q)).data,Q!==this.index&&(De=ve.controller);break}if(!p)return 0;for(Q=0,de=p.length;Q<de;++Q)ze=p[Q],De?(De._configure(),_t=De._resolveDataElementOptions(ze,Q)):_t=ze._options,"inner"!==_t.borderAlign&&(N=(Zt=_t.hoverBorderWidth)>(N=(Yt=_t.borderWidth)>N?Yt:N)?Zt:N);return N},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth},E.backgroundColor=eo(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=eo(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=eo(N.hoverBorderWidth,N.borderWidth)},_getRingWeightOffset:function(p){for(var E=0,N=0;N<p;++N)this.chart.isDatasetVisible(N)&&(E+=this._getRingWeight(N));return E},_getRingWeight:function(p){return Math.max(eo(this.chart.data.datasets[p].weight,1),0)},_getVisibleDatasetWeightTotal:function(){return this._getRingWeightOffset(this.chart.data.datasets.length)}});mn._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{type:"category",position:"left",offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{mode:"index",axis:"y"}}),mn._set("global",{datasets:{horizontalBar:{categoryPercentage:.8,barPercentage:.9}}});var Ko=ki.extend({_getValueScaleId:function(){return this.getMeta().xAxisID},_getIndexScaleId:function(){return this.getMeta().yAxisID}}),ts=ht.valueOrDefault,ua=ht.options.resolve,ds=ht.canvas._isPointInArea;function qo(p,E){var N=p&&p.options.ticks||{},$=N.reverse,Q=void 0===N.min?E:0,de=void 0===N.max?E:0;return{start:$?de:Q,end:$?Q:de}}function oa(p,E,N){var $=N/2,Q=qo(p,$),de=qo(E,$);return{top:de.end,right:Q.end,bottom:de.start,left:Q.start}}function Er(p){var E,N,$,Q;return ht.isObject(p)?(E=p.top,N=p.right,$=p.bottom,Q=p.left):E=N=$=Q=p,{top:E,right:N,bottom:$,left:Q}}mn._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}});var st=br.extend({datasetElementType:Vr.Line,dataElementType:Vr.Point,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth","cubicInterpolationMode","fill"],_dataElementOptions:{backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},update:function(p){var De,_t,E=this,N=E.getMeta(),$=N.dataset,Q=N.data||[],ve=E._config,ze=E._showLine=ts(ve.showLine,E.chart.options.showLines);for(E._xScale=E.getScaleForId(N.xAxisID),E._yScale=E.getScaleForId(N.yAxisID),ze&&(void 0!==ve.tension&&void 0===ve.lineTension&&(ve.lineTension=ve.tension),$._scale=E._yScale,$._datasetIndex=E.index,$._children=Q,$._model=E._resolveDatasetElementOptions($),$.pivot()),De=0,_t=Q.length;De<_t;++De)E.updateElement(Q[De],De,p);for(ze&&0!==$._model.tension&&E.updateBezierControlPoints(),De=0,_t=Q.length;De<_t;++De)Q[De].pivot()},updateElement:function(p,E,N){var wn,cr,$=this,Q=$.getMeta(),de=p.custom||{},ve=$.getDataset(),ze=$.index,De=ve.data[E],_t=$._xScale,Yt=$._yScale,Zt=Q.dataset._model,sr=$._resolveDataElementOptions(p,E);wn=_t.getPixelForValue("object"==typeof De?De:NaN,E,ze),cr=N?Yt.getBasePixel():$.calculatePointY(De,E,ze),p._xScale=_t,p._yScale=Yt,p._options=sr,p._datasetIndex=ze,p._index=E,p._model={x:wn,y:cr,skip:de.skip||isNaN(wn)||isNaN(cr),radius:sr.radius,pointStyle:sr.pointStyle,rotation:sr.rotation,backgroundColor:sr.backgroundColor,borderColor:sr.borderColor,borderWidth:sr.borderWidth,tension:ts(de.tension,Zt?Zt.tension:0),steppedLine:!!Zt&&Zt.steppedLine,hitRadius:sr.hitRadius}},_resolveDatasetElementOptions:function(p){var E=this,N=E._config,$=p.custom||{},Q=E.chart.options,de=Q.elements.line,ve=br.prototype._resolveDatasetElementOptions.apply(E,arguments);return ve.spanGaps=ts(N.spanGaps,Q.spanGaps),ve.tension=ts(N.lineTension,de.tension),ve.steppedLine=ua([$.steppedLine,N.steppedLine,de.stepped]),ve.clip=Er(ts(N.clip,oa(E._xScale,E._yScale,ve.borderWidth))),ve},calculatePointY:function(p,E,N){var De,Yt,Zt,wn,cr,sr,Q=this.chart,de=this._yScale,ve=0,ze=0;if(de.options.stacked){for(wn=+de.getRightValue(p),sr=(cr=Q._getSortedVisibleDatasetMetas()).length,De=0;De<sr&&(Yt=cr[De]).index!==N;++De)"line"===Yt.type&&Yt.yAxisID===de.id&&((Zt=+de.getRightValue(Q.data.datasets[Yt.index].data[E]))<0?ze+=Zt||0:ve+=Zt||0);return de.getPixelForValue(wn<0?ze+wn:ve+wn)}return de.getPixelForValue(p)},updateBezierControlPoints:function(){var ve,ze,De,_t,E=this.chart,N=this.getMeta(),$=N.dataset._model,Q=E.chartArea,de=N.data||[];function Yt(Zt,wn,cr){return Math.max(Math.min(Zt,cr),wn)}if($.spanGaps&&(de=de.filter(function(Zt){return!Zt._model.skip})),"monotone"===$.cubicInterpolationMode)ht.splineCurveMonotone(de);else for(ve=0,ze=de.length;ve<ze;++ve)De=de[ve]._model,_t=ht.splineCurve(ht.previousItem(de,ve)._model,De,ht.nextItem(de,ve)._model,$.tension),De.controlPointPreviousX=_t.previous.x,De.controlPointPreviousY=_t.previous.y,De.controlPointNextX=_t.next.x,De.controlPointNextY=_t.next.y;if(E.options.elements.line.capBezierPoints)for(ve=0,ze=de.length;ve<ze;++ve)ds(De=de[ve]._model,Q)&&(ve>0&&ds(de[ve-1]._model,Q)&&(De.controlPointPreviousX=Yt(De.controlPointPreviousX,Q.left,Q.right),De.controlPointPreviousY=Yt(De.controlPointPreviousY,Q.top,Q.bottom)),ve<de.length-1&&ds(de[ve+1]._model,Q)&&(De.controlPointNextX=Yt(De.controlPointNextX,Q.left,Q.right),De.controlPointNextY=Yt(De.controlPointNextY,Q.top,Q.bottom)))},draw:function(){var De,p=this,E=p.chart,N=p.getMeta(),$=N.data||[],Q=E.chartArea,de=E.canvas,ve=0,ze=$.length;for(p._showLine&&(ht.canvas.clipArea(E.ctx,{left:!1===(De=N.dataset._model.clip).left?0:Q.left-De.left,right:!1===De.right?de.width:Q.right+De.right,top:!1===De.top?0:Q.top-De.top,bottom:!1===De.bottom?de.height:Q.bottom+De.bottom}),N.dataset.draw(),ht.canvas.unclipArea(E.ctx));ve<ze;++ve)$[ve].draw(Q)},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth,radius:E.radius},E.backgroundColor=ts(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=ts(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=ts(N.hoverBorderWidth,N.borderWidth),E.radius=ts(N.hoverRadius,N.radius)}}),pn=ht.options.resolve;mn._set("polarArea",{scale:{type:"radialLinear",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(p){var de,ve,ze,E=document.createElement("ul"),N=p.data,$=N.datasets,Q=N.labels;if(E.setAttribute("class",p.id+"-legend"),$.length)for(de=0,ve=$[0].data.length;de<ve;++de)(ze=E.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=$[0].backgroundColor[de],Q[de]&&ze.appendChild(document.createTextNode(Q[de]));return E.outerHTML},legend:{labels:{generateLabels:function(p){var E=p.data;return E.labels.length&&E.datasets.length?E.labels.map(function(N,$){var Q=p.getDatasetMeta(0),de=Q.controller.getStyle($);return{text:N,fillStyle:de.backgroundColor,strokeStyle:de.borderColor,lineWidth:de.borderWidth,hidden:isNaN(E.datasets[0].data[$])||Q.data[$].hidden,index:$}}):[]}},onClick:function(p,E){var Q,de,ve,N=E.index,$=this.chart;for(Q=0,de=($.data.datasets||[]).length;Q<de;++Q)(ve=$.getDatasetMeta(Q)).data[N].hidden=!ve.data[N].hidden;$.update()}},tooltips:{callbacks:{title:function(){return""},label:function(p,E){return E.labels[p.index]+": "+p.yLabel}}}});var ee=br.extend({dataElementType:Vr.Arc,linkScales:ht.noop,_dataElementOptions:["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"],_getIndexScaleId:function(){return this.chart.scale.id},_getValueScaleId:function(){return this.chart.scale.id},update:function(p){var De,_t,Yt,E=this,N=E.getDataset(),$=E.getMeta(),Q=E.chart.options.startAngle||0,de=E._starts=[],ve=E._angles=[],ze=$.data;for(E._updateRadius(),$.count=E.countVisibleElements(),De=0,_t=N.data.length;De<_t;De++)de[De]=Q,Yt=E._computeAngle(De),ve[De]=Yt,Q+=Yt;for(De=0,_t=ze.length;De<_t;++De)ze[De]._options=E._resolveDataElementOptions(ze[De],De),E.updateElement(ze[De],De,p)},_updateRadius:function(){var p=this,E=p.chart,N=E.chartArea,$=E.options,Q=Math.min(N.right-N.left,N.bottom-N.top);E.outerRadius=Math.max(Q/2,0),E.innerRadius=Math.max($.cutoutPercentage?E.outerRadius/100*$.cutoutPercentage:1,0),E.radiusLength=(E.outerRadius-E.innerRadius)/E.getVisibleDatasetCount(),p.outerRadius=E.outerRadius-E.radiusLength*p.index,p.innerRadius=p.outerRadius-E.radiusLength},updateElement:function(p,E,N){var $=this,Q=$.chart,de=$.getDataset(),ve=Q.options,ze=ve.animation,De=Q.scale,_t=Q.data.labels,Yt=De.xCenter,Zt=De.yCenter,wn=ve.startAngle,cr=p.hidden?0:De.getDistanceFromCenterForValue(de.data[E]),sr=$._starts[E],Tr=sr+(p.hidden?0:$._angles[E]),Yr=ze.animateScale?0:De.getDistanceFromCenterForValue(de.data[E]),Pi=p._options||{};ht.extend(p,{_datasetIndex:$.index,_index:E,_scale:De,_model:{backgroundColor:Pi.backgroundColor,borderColor:Pi.borderColor,borderWidth:Pi.borderWidth,borderAlign:Pi.borderAlign,x:Yt,y:Zt,innerRadius:0,outerRadius:N?Yr:cr,startAngle:N&&ze.animateRotate?wn:sr,endAngle:N&&ze.animateRotate?wn:Tr,label:ht.valueAtIndexOrDefault(_t,E,_t[E])}}),p.pivot()},countVisibleElements:function(){var p=this.getDataset(),E=this.getMeta(),N=0;return ht.each(E.data,function($,Q){!isNaN(p.data[Q])&&!$.hidden&&N++}),N},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor,Q=ht.valueOrDefault;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth},E.backgroundColor=Q(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=Q(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=Q(N.hoverBorderWidth,N.borderWidth)},_computeAngle:function(p){var E=this,N=this.getMeta().count,$=E.getDataset(),Q=E.getMeta();return isNaN($.data[p])||Q.data[p].hidden?0:pn([E.chart.options.elements.arc.angle,2*Math.PI/N],{chart:E.chart,dataIndex:p,dataset:$,datasetIndex:E.index},p)}});mn._set("pie",ht.clone(mn.doughnut)),mn._set("pie",{cutoutPercentage:0});var Ve=Bo,fn=ht.valueOrDefault;mn._set("radar",{spanGaps:!1,scale:{type:"radialLinear"},elements:{line:{fill:"start",tension:0}}});var Tn=br.extend({datasetElementType:Vr.Line,dataElementType:Vr.Point,linkScales:ht.noop,_datasetElementOptions:["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill"],_dataElementOptions:{backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},_getIndexScaleId:function(){return this.chart.scale.id},_getValueScaleId:function(){return this.chart.scale.id},update:function(p){var ze,De,E=this,N=E.getMeta(),$=N.dataset,Q=N.data||[],de=E.chart.scale,ve=E._config;for(void 0!==ve.tension&&void 0===ve.lineTension&&(ve.lineTension=ve.tension),$._scale=de,$._datasetIndex=E.index,$._children=Q,$._loop=!0,$._model=E._resolveDatasetElementOptions($),$.pivot(),ze=0,De=Q.length;ze<De;++ze)E.updateElement(Q[ze],ze,p);for(E.updateBezierControlPoints(),ze=0,De=Q.length;ze<De;++ze)Q[ze].pivot()},updateElement:function(p,E,N){var $=this,Q=p.custom||{},de=$.getDataset(),ve=$.chart.scale,ze=ve.getPointPositionForValue(E,de.data[E]),De=$._resolveDataElementOptions(p,E),_t=$.getMeta().dataset._model,Yt=N?ve.xCenter:ze.x,Zt=N?ve.yCenter:ze.y;p._scale=ve,p._options=De,p._datasetIndex=$.index,p._index=E,p._model={x:Yt,y:Zt,skip:Q.skip||isNaN(Yt)||isNaN(Zt),radius:De.radius,pointStyle:De.pointStyle,rotation:De.rotation,backgroundColor:De.backgroundColor,borderColor:De.borderColor,borderWidth:De.borderWidth,tension:fn(Q.tension,_t?_t.tension:0),hitRadius:De.hitRadius}},_resolveDatasetElementOptions:function(){var p=this,E=p._config,N=p.chart.options,$=br.prototype._resolveDatasetElementOptions.apply(p,arguments);return $.spanGaps=fn(E.spanGaps,N.spanGaps),$.tension=fn(E.lineTension,N.elements.line.tension),$},updateBezierControlPoints:function(){var Q,de,ve,ze,E=this.getMeta(),N=this.chart.chartArea,$=E.data||[];function De(_t,Yt,Zt){return Math.max(Math.min(_t,Zt),Yt)}for(E.dataset._model.spanGaps&&($=$.filter(function(_t){return!_t._model.skip})),Q=0,de=$.length;Q<de;++Q)ve=$[Q]._model,ze=ht.splineCurve(ht.previousItem($,Q,!0)._model,ve,ht.nextItem($,Q,!0)._model,ve.tension),ve.controlPointPreviousX=De(ze.previous.x,N.left,N.right),ve.controlPointPreviousY=De(ze.previous.y,N.top,N.bottom),ve.controlPointNextX=De(ze.next.x,N.left,N.right),ve.controlPointNextY=De(ze.next.y,N.top,N.bottom)},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth,radius:E.radius},E.backgroundColor=fn(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=fn(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=fn(N.hoverBorderWidth,N.borderWidth),E.radius=fn(N.hoverRadius,N.radius)}});mn._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},tooltips:{callbacks:{title:function(){return""},label:function(p){return"("+p.xLabel+", "+p.yLabel+")"}}}}),mn._set("global",{datasets:{scatter:{showLine:!1}}});var ti={bar:ki,bubble:Wi,doughnut:Bo,horizontalBar:Ko,line:st,polarArea:ee,pie:Ve,radar:Tn,scatter:st};function Ri(p,E){return p.native?{x:p.x,y:p.y}:ht.getRelativePosition(p,E)}function wo(p,E){var $,Q,de,ve,ze,De,N=p._getSortedVisibleDatasetMetas();for(Q=0,ve=N.length;Q<ve;++Q)for(de=0,ze=($=N[Q].data).length;de<ze;++de)(De=$[de])._view.skip||E(De)}function gi(p,E){var N=[];return wo(p,function($){$.inRange(E.x,E.y)&&N.push($)}),N}function Hi(p,E,N,$){var Q=Number.POSITIVE_INFINITY,de=[];return wo(p,function(ve){if(!N||ve.inRange(E.x,E.y)){var ze=ve.getCenterPoint(),De=$(E,ze);De<Q?(de=[ve],Q=De):De===Q&&de.push(ve)}}),de}function Fi(p){var E=-1!==p.indexOf("x"),N=-1!==p.indexOf("y");return function($,Q){var de=E?Math.abs($.x-Q.x):0,ve=N?Math.abs($.y-Q.y):0;return Math.sqrt(Math.pow(de,2)+Math.pow(ve,2))}}function cs(p,E,N){var $=Ri(E,p);N.axis=N.axis||"x";var Q=Fi(N.axis),de=N.intersect?gi(p,$):Hi(p,$,!1,Q),ve=[];return de.length?(p._getSortedVisibleDatasetMetas().forEach(function(ze){var De=ze.data[de[0]._index];De&&!De._view.skip&&ve.push(De)}),ve):[]}var ws={modes:{single:function(p,E){var N=Ri(E,p),$=[];return wo(p,function(Q){if(Q.inRange(N.x,N.y))return $.push(Q),$}),$.slice(0,1)},label:cs,index:cs,dataset:function(p,E,N){var $=Ri(E,p);N.axis=N.axis||"xy";var Q=Fi(N.axis),de=N.intersect?gi(p,$):Hi(p,$,!1,Q);return de.length>0&&(de=p.getDatasetMeta(de[0]._datasetIndex).data),de},"x-axis":function(p,E){return cs(p,E,{intersect:!1})},point:function(p,E){return gi(p,Ri(E,p))},nearest:function(p,E,N){var $=Ri(E,p);N.axis=N.axis||"xy";var Q=Fi(N.axis);return Hi(p,$,N.intersect,Q)},x:function(p,E,N){var $=Ri(E,p),Q=[],de=!1;return wo(p,function(ve){ve.inXRange($.x)&&Q.push(ve),ve.inRange($.x,$.y)&&(de=!0)}),N.intersect&&!de&&(Q=[]),Q},y:function(p,E,N){var $=Ri(E,p),Q=[],de=!1;return wo(p,function(ve){ve.inYRange($.y)&&Q.push(ve),ve.inRange($.x,$.y)&&(de=!0)}),N.intersect&&!de&&(Q=[]),Q}}},da=ht.extend;function xa(p,E){return ht.where(p,function(N){return N.pos===E})}function Ra(p,E){return p.sort(function(N,$){var Q=E?$:N,de=E?N:$;return Q.weight===de.weight?Q.index-de.index:Q.weight-de.weight})}function sa(p,E,N,$){return Math.max(p[N],E[N])+Math.max(p[$],E[$])}function Fo(p,E,N){var de,ve,$=N.box,Q=p.maxPadding;if(N.size&&(p[N.pos]-=N.size),N.size=N.horizontal?$.height:$.width,p[N.pos]+=N.size,$.getPadding){var ze=$.getPadding();Q.top=Math.max(Q.top,ze.top),Q.left=Math.max(Q.left,ze.left),Q.bottom=Math.max(Q.bottom,ze.bottom),Q.right=Math.max(Q.right,ze.right)}if(de=E.outerWidth-sa(Q,p,"left","right"),ve=E.outerHeight-sa(Q,p,"top","bottom"),de!==p.w||ve!==p.h){p.w=de,p.h=ve;var De=N.horizontal?[de,p.w]:[ve,p.h];return!(De[0]===De[1]||isNaN(De[0])&&isNaN(De[1]))}}function Ma(p,E){var de,N=E.maxPadding;return de={left:0,top:0,right:0,bottom:0},(p?["left","right"]:["top","bottom"]).forEach(function(ve){de[ve]=Math.max(E[ve],N[ve])}),de}function fa(p,E,N){var Q,de,ve,ze,De,_t,$=[];for(Q=0,de=p.length;Q<de;++Q)(ze=(ve=p[Q]).box).update(ve.width||E.w,ve.height||E.h,Ma(ve.horizontal,E)),Fo(E,N,ve)&&(_t=!0,$.length&&(De=!0)),ze.fullWidth||$.push(ve);return De&&fa($,E,N)||_t}function Hs(p,E,N){var ve,ze,De,_t,$=N.padding,Q=E.x,de=E.y;for(ve=0,ze=p.length;ve<ze;++ve)_t=(De=p[ve]).box,De.horizontal?(_t.left=_t.fullWidth?$.left:E.left,_t.right=_t.fullWidth?N.outerWidth-$.right:E.left+E.w,_t.top=de,_t.bottom=de+_t.height,_t.width=_t.right-_t.left,de=_t.bottom):(_t.left=Q,_t.right=Q+_t.width,_t.top=E.top,_t.bottom=E.top+E.h,_t.height=_t.bottom-_t.top,Q=_t.right);E.x=Q,E.y=de}mn._set("global",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var ja={defaults:{},addBox:function(p,E){p.boxes||(p.boxes=[]),E.fullWidth=E.fullWidth||!1,E.position=E.position||"top",E.weight=E.weight||0,E._layers=E._layers||function(){return[{z:0,draw:function(){E.draw.apply(E,arguments)}}]},p.boxes.push(E)},removeBox:function(p,E){var N=p.boxes?p.boxes.indexOf(E):-1;-1!==N&&p.boxes.splice(N,1)},configure:function(p,E,N){for(var ve,$=["fullWidth","position","weight"],Q=$.length,de=0;de<Q;++de)N.hasOwnProperty(ve=$[de])&&(E[ve]=N[ve])},update:function(p,E,N){if(p){var Q=ht.options.toPadding((p.options.layout||{}).padding),de=E-Q.width,ve=N-Q.height,ze=function(p){var E=function(p){var N,$,Q,E=[];for(N=0,$=(p||[]).length;N<$;++N)E.push({index:N,box:Q=p[N],pos:Q.position,horizontal:Q.isHorizontal(),weight:Q.weight});return E}(p),N=Ra(xa(E,"left"),!0),$=Ra(xa(E,"right")),Q=Ra(xa(E,"top"),!0),de=Ra(xa(E,"bottom"));return{leftAndTop:N.concat(Q),rightAndBottom:$.concat(de),chartArea:xa(E,"chartArea"),vertical:N.concat($),horizontal:Q.concat(de)}}(p.boxes),De=ze.vertical,_t=ze.horizontal,Yt=Object.freeze({outerWidth:E,outerHeight:N,padding:Q,availableWidth:de,vBoxMaxWidth:de/2/De.length,hBoxMaxHeight:ve/2}),Zt=da({maxPadding:da({},Q),w:de,h:ve,x:Q.left,y:Q.top},Q);(function(p,E){var N,$,Q;for(N=0,$=p.length;N<$;++N)(Q=p[N]).width=Q.horizontal?Q.box.fullWidth&&E.availableWidth:E.vBoxMaxWidth,Q.height=Q.horizontal&&E.hBoxMaxHeight})(De.concat(_t),Yt),fa(De,Zt,Yt),fa(_t,Zt,Yt)&&fa(De,Zt,Yt),function(p){var E=p.maxPadding;function N($){var Q=Math.max(E[$]-p[$],0);return p[$]+=Q,Q}p.y+=N("top"),p.x+=N("left"),N("right"),N("bottom")}(Zt),Hs(ze.leftAndTop,Zt,Yt),Zt.x+=Zt.w,Zt.y+=Zt.h,Hs(ze.rightAndBottom,Zt,Yt),p.chartArea={left:Zt.left,top:Zt.top,right:Zt.left+Zt.w,bottom:Zt.top+Zt.h},ht.each(ze.chartArea,function(wn){var cr=wn.box;da(cr,p.chartArea),cr.update(Zt.w,Zt.h)})}}},Ce=function(p){return p&&p.default||p}(Object.freeze({__proto__:null,default:"/*\r\n * DOM element rendering detection\r\n * https://davidwalsh.name/detect-node-insertion\r\n */\r\n@keyframes chartjs-render-animation {\r\n\tfrom { opacity: 0.99; }\r\n\tto { opacity: 1; }\r\n}\r\n\r\n.chartjs-render-monitor {\r\n\tanimation: chartjs-render-animation 0.001s;\r\n}\r\n\r\n/*\r\n * DOM element resizing detection\r\n * https://github.com/marcj/css-element-queries\r\n */\r\n.chartjs-size-monitor,\r\n.chartjs-size-monitor-expand,\r\n.chartjs-size-monitor-shrink {\r\n\tposition: absolute;\r\n\tdirection: ltr;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\toverflow: hidden;\r\n\tpointer-events: none;\r\n\tvisibility: hidden;\r\n\tz-index: -1;\r\n}\r\n\r\n.chartjs-size-monitor-expand > div {\r\n\tposition: absolute;\r\n\twidth: 1000000px;\r\n\theight: 1000000px;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n\r\n.chartjs-size-monitor-shrink > div {\r\n\tposition: absolute;\r\n\twidth: 200%;\r\n\theight: 200%;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n"})),ye="$chartjs",Ne="chartjs-",Wt=Ne+"size-monitor",Or=Ne+"render-monitor",Yo=["animationstart","webkitAnimationStart"],vs={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function as(p,E){var N=ht.getStyle(p,E),$=N&&N.match(/^(\d+)(\.\d+)?px$/);return $?Number($[1]):void 0}var Ta=!!function(){var p=!1;try{var E=Object.defineProperty({},"passive",{get:function(){p=!0}});window.addEventListener("e",null,E)}catch(N){}return p}()&&{passive:!0};function hl(p,E,N){p.addEventListener(E,N,Ta)}function Oa(p,E,N){p.removeEventListener(E,N,Ta)}function ba(p,E,N,$,Q){return{type:p,chart:E,native:Q||null,x:void 0!==N?N:null,y:void 0!==$?$:null}}function wl(p){var E=document.createElement("div");return E.className=p||"",E}function Il(p,E,N){var $=p[ye]||(p[ye]={}),Q=$.resizer=function(p){var E=1e6,N=wl(Wt),$=wl(Wt+"-expand"),Q=wl(Wt+"-shrink");$.appendChild(wl()),Q.appendChild(wl()),N.appendChild($),N.appendChild(Q),N._reset=function(){$.scrollLeft=E,$.scrollTop=E,Q.scrollLeft=E,Q.scrollTop=E};var de=function(){N._reset(),p()};return hl($,"scroll",de.bind($,"expand")),hl(Q,"scroll",de.bind(Q,"shrink")),N}(function(p,E){var N=!1,$=[];return function(){$=Array.prototype.slice.call(arguments),E=E||this,N||(N=!0,ht.requestAnimFrame.call(window,function(){N=!1,p.apply(E,$)}))}}(function(){if($.resizer){var de=N.options.maintainAspectRatio&&p.parentNode,ve=de?de.clientWidth:0;E(ba("resize",N)),de&&de.clientWidth<ve&&N.canvas&&E(ba("resize",N))}}));!function(p,E){var N=p[ye]||(p[ye]={}),$=N.renderProxy=function(Q){"chartjs-render-animation"===Q.animationName&&E()};ht.each(Yo,function(Q){hl(p,Q,$)}),N.reflow=!!p.offsetParent,p.classList.add(Or)}(p,function(){if($.resizer){var de=p.parentNode;de&&de!==Q.parentNode&&de.insertBefore(Q,de.firstChild),Q._reset()}})}function Yl(p){var E=p[ye]||{},N=E.resizer;delete E.resizer,function(p){var E=p[ye]||{},N=E.renderProxy;N&&(ht.each(Yo,function($){Oa(p,$,N)}),delete E.renderProxy),p.classList.remove(Or)}(p),N&&N.parentNode&&N.parentNode.removeChild(N)}var Di={disableCSSInjection:!1,_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,_ensureLoaded:function(p){if(!this.disableCSSInjection){var E=p.getRootNode?p.getRootNode():document;!function(p,E){var N=p[ye]||(p[ye]={});if(!N.containsStyles){N.containsStyles=!0,E="/* Chart.js */\n"+E;var $=document.createElement("style");$.setAttribute("type","text/css"),$.appendChild(document.createTextNode(E)),p.appendChild($)}}(E.host?E:document.head,Ce)}},acquireContext:function(p,E){"string"==typeof p?p=document.getElementById(p):p.length&&(p=p[0]),p&&p.canvas&&(p=p.canvas);var N=p&&p.getContext&&p.getContext("2d");return N&&N.canvas===p?(this._ensureLoaded(p),function(p,E){var N=p.style,$=p.getAttribute("height"),Q=p.getAttribute("width");if(p[ye]={initial:{height:$,width:Q,style:{display:N.display,height:N.height,width:N.width}}},N.display=N.display||"block",null===Q||""===Q){var de=as(p,"width");void 0!==de&&(p.width=de)}if(null===$||""===$)if(""===p.style.height)p.height=p.width/(E.options.aspectRatio||2);else{var ve=as(p,"height");void 0!==de&&(p.height=ve)}}(p,E),N):null},releaseContext:function(p){var E=p.canvas;if(E[ye]){var N=E[ye].initial;["height","width"].forEach(function($){var Q=N[$];ht.isNullOrUndef(Q)?E.removeAttribute($):E.setAttribute($,Q)}),ht.each(N.style||{},function($,Q){E.style[Q]=$}),E.width=E.width,delete E[ye]}},addEventListener:function(p,E,N){var $=p.canvas;if("resize"!==E){var Q=N[ye]||(N[ye]={});hl($,E,(Q.proxies||(Q.proxies={}))[p.id+"_"+E]=function(ze){N(function(p,E){var N=vs[p.type]||p.type,$=ht.getRelativePosition(p,E);return ba(N,E,$.x,$.y,p)}(ze,p))})}else Il($,N,p)},removeEventListener:function(p,E,N){var $=p.canvas;if("resize"!==E){var ve=((N[ye]||{}).proxies||{})[p.id+"_"+E];!ve||Oa($,E,ve)}else Yl($)}};ht.addEvent=hl,ht.removeEvent=Oa;var pa=ht.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},Di._enabled?Di:{acquireContext:function(p){return p&&p.canvas&&(p=p.canvas),p&&p.getContext("2d")||null}});mn._set("global",{plugins:{}});var Vo={_plugins:[],_cacheId:0,register:function(p){var E=this._plugins;[].concat(p).forEach(function(N){-1===E.indexOf(N)&&E.push(N)}),this._cacheId++},unregister:function(p){var E=this._plugins;[].concat(p).forEach(function(N){var $=E.indexOf(N);-1!==$&&E.splice($,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(p,E,N){var de,ve,ze,De,_t,$=this.descriptors(p),Q=$.length;for(de=0;de<Q;++de)if("function"==typeof(_t=(ze=(ve=$[de]).plugin)[E])&&((De=[p].concat(N||[])).push(ve.options),!1===_t.apply(ze,De)))return!1;return!0},descriptors:function(p){var E=p.$plugins||(p.$plugins={});if(E.id===this._cacheId)return E.descriptors;var N=[],$=[],Q=p&&p.config||{},de=Q.options&&Q.options.plugins||{};return this._plugins.concat(Q.plugins||[]).forEach(function(ve){if(-1===N.indexOf(ve)){var De=ve.id,_t=de[De];!1!==_t&&(!0===_t&&(_t=ht.clone(mn.global.plugins[De])),N.push(ve),$.push({plugin:ve,options:_t||{}}))}}),E.descriptors=$,E.id=this._cacheId,$},_invalidate:function(p){delete p.$plugins}},Ba={constructors:{},defaults:{},registerScaleType:function(p,E,N){this.constructors[p]=E,this.defaults[p]=ht.clone(N)},getScaleConstructor:function(p){return this.constructors.hasOwnProperty(p)?this.constructors[p]:void 0},getScaleDefaults:function(p){return this.defaults.hasOwnProperty(p)?ht.merge(Object.create(null),[mn.scale,this.defaults[p]]):{}},updateScaleDefaults:function(p,E){var N=this;N.defaults.hasOwnProperty(p)&&(N.defaults[p]=ht.extend(N.defaults[p],E))},addScalesToLayout:function(p){ht.each(p.scales,function(E){E.fullWidth=E.options.fullWidth,E.position=E.options.position,E.weight=E.options.weight,ja.addBox(p,E)})}},_s=ht.valueOrDefault,We=ht.rtl.getRtlAdapter;mn._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:ht.noop,title:function(p,E){var N="",$=E.labels,Q=$?$.length:0;if(p.length>0){var de=p[0];de.label?N=de.label:de.xLabel?N=de.xLabel:Q>0&&de.index<Q&&(N=$[de.index])}return N},afterTitle:ht.noop,beforeBody:ht.noop,beforeLabel:ht.noop,label:function(p,E){var N=E.datasets[p.datasetIndex].label||"";return N&&(N+=": "),ht.isNullOrUndef(p.value)?N+=p.yLabel:N+=p.value,N},labelColor:function(p,E){var Q=E.getDatasetMeta(p.datasetIndex).data[p.index]._view;return{borderColor:Q.borderColor,backgroundColor:Q.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:ht.noop,afterBody:ht.noop,beforeFooter:ht.noop,footer:ht.noop,afterFooter:ht.noop}}});var wt={average:function(p){if(!p.length)return!1;var E,N,$=0,Q=0,de=0;for(E=0,N=p.length;E<N;++E){var ve=p[E];if(ve&&ve.hasValue()){var ze=ve.tooltipPosition();$+=ze.x,Q+=ze.y,++de}}return{x:$/de,y:Q/de}},nearest:function(p,E){var de,ve,ze,N=E.x,$=E.y,Q=Number.POSITIVE_INFINITY;for(de=0,ve=p.length;de<ve;++de){var De=p[de];if(De&&De.hasValue()){var _t=De.getCenterPoint(),Yt=ht.distanceBetweenPoints(E,_t);Yt<Q&&(Q=Yt,ze=De)}}if(ze){var Zt=ze.tooltipPosition();N=Zt.x,$=Zt.y}return{x:N,y:$}}};function kt(p,E){return E&&(ht.isArray(E)?Array.prototype.push.apply(p,E):p.push(E)),p}function tn(p){return("string"==typeof p||p instanceof String)&&p.indexOf("\n")>-1?p.split("\n"):p}function ur(p){var E=p._xScale,N=p._yScale||p._scale,$=p._index,Q=p._datasetIndex,de=p._chart.getDatasetMeta(Q).controller,ve=de._getIndexScale(),ze=de._getValueScale();return{xLabel:E?E.getLabelForIndex($,Q):"",yLabel:N?N.getLabelForIndex($,Q):"",label:ve?""+ve.getLabelForIndex($,Q):"",value:ze?""+ze.getLabelForIndex($,Q):"",index:$,datasetIndex:Q,x:p._model.x,y:p._model.y}}function gn(p){var E=mn.global;return{xPadding:p.xPadding,yPadding:p.yPadding,xAlign:p.xAlign,yAlign:p.yAlign,rtl:p.rtl,textDirection:p.textDirection,bodyFontColor:p.bodyFontColor,_bodyFontFamily:_s(p.bodyFontFamily,E.defaultFontFamily),_bodyFontStyle:_s(p.bodyFontStyle,E.defaultFontStyle),_bodyAlign:p.bodyAlign,bodyFontSize:_s(p.bodyFontSize,E.defaultFontSize),bodySpacing:p.bodySpacing,titleFontColor:p.titleFontColor,_titleFontFamily:_s(p.titleFontFamily,E.defaultFontFamily),_titleFontStyle:_s(p.titleFontStyle,E.defaultFontStyle),titleFontSize:_s(p.titleFontSize,E.defaultFontSize),_titleAlign:p.titleAlign,titleSpacing:p.titleSpacing,titleMarginBottom:p.titleMarginBottom,footerFontColor:p.footerFontColor,_footerFontFamily:_s(p.footerFontFamily,E.defaultFontFamily),_footerFontStyle:_s(p.footerFontStyle,E.defaultFontStyle),footerFontSize:_s(p.footerFontSize,E.defaultFontSize),_footerAlign:p.footerAlign,footerSpacing:p.footerSpacing,footerMarginTop:p.footerMarginTop,caretSize:p.caretSize,cornerRadius:p.cornerRadius,backgroundColor:p.backgroundColor,opacity:0,legendColorBackground:p.multiKeyBackground,displayColors:p.displayColors,borderColor:p.borderColor,borderWidth:p.borderWidth}}function mi(p,E){return"center"===E?p.x+p.width/2:"right"===E?p.x+p.width-p.xPadding:p.x+p.xPadding}function ni(p){return kt([],tn(p))}var Ui=ot.extend({initialize:function(){this._model=gn(this._options),this._lastActive=[]},getTitle:function(){var p=this,N=p._options.callbacks,$=N.beforeTitle.apply(p,arguments),Q=N.title.apply(p,arguments),de=N.afterTitle.apply(p,arguments),ve=[];return ve=kt(ve,tn($)),ve=kt(ve,tn(Q)),kt(ve,tn(de))},getBeforeBody:function(){return ni(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(p,E){var N=this,$=N._options.callbacks,Q=[];return ht.each(p,function(de){var ve={before:[],lines:[],after:[]};kt(ve.before,tn($.beforeLabel.call(N,de,E))),kt(ve.lines,$.label.call(N,de,E)),kt(ve.after,tn($.afterLabel.call(N,de,E))),Q.push(ve)}),Q},getAfterBody:function(){return ni(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var p=this,E=p._options.callbacks,N=E.beforeFooter.apply(p,arguments),$=E.footer.apply(p,arguments),Q=E.afterFooter.apply(p,arguments),de=[];return de=kt(de,tn(N)),de=kt(de,tn($)),kt(de,tn(Q))},update:function(p){var Zt,wn,E=this,N=E._options,$=E._model,Q=E._model=gn(N),de=E._active,ve=E._data,ze={xAlign:$.xAlign,yAlign:$.yAlign},De={x:$.x,y:$.y},_t={width:$.width,height:$.height},Yt={x:$.caretX,y:$.caretY};if(de.length){Q.opacity=1;var cr=[],sr=[];Yt=wt[N.position].call(E,de,E._eventPosition);var Tr=[];for(Zt=0,wn=de.length;Zt<wn;++Zt)Tr.push(ur(de[Zt]));N.filter&&(Tr=Tr.filter(function(Yr){return N.filter(Yr,ve)})),N.itemSort&&(Tr=Tr.sort(function(Yr,Pi){return N.itemSort(Yr,Pi,ve)})),ht.each(Tr,function(Yr){cr.push(N.callbacks.labelColor.call(E,Yr,E._chart)),sr.push(N.callbacks.labelTextColor.call(E,Yr,E._chart))}),Q.title=E.getTitle(Tr,ve),Q.beforeBody=E.getBeforeBody(Tr,ve),Q.body=E.getBody(Tr,ve),Q.afterBody=E.getAfterBody(Tr,ve),Q.footer=E.getFooter(Tr,ve),Q.x=Yt.x,Q.y=Yt.y,Q.caretPadding=N.caretPadding,Q.labelColors=cr,Q.labelTextColors=sr,Q.dataPoints=Tr,De=function(p,E,N,$){var Q=p.x,de=p.y,ze=p.caretPadding,_t=N.xAlign,Yt=N.yAlign,Zt=p.caretSize+ze,wn=p.cornerRadius+ze;return"right"===_t?Q-=E.width:"center"===_t&&((Q-=E.width/2)+E.width>$.width&&(Q=$.width-E.width),Q<0&&(Q=0)),"top"===Yt?de+=Zt:de-="bottom"===Yt?E.height+Zt:E.height/2,"center"===Yt?"left"===_t?Q+=Zt:"right"===_t&&(Q-=Zt):"left"===_t?Q-=wn:"right"===_t&&(Q+=wn),{x:Q,y:de}}(Q,_t=function(p,E){var N=p._chart.ctx,$=2*E.yPadding,Q=0,de=E.body,ve=de.reduce(function(sr,Tr){return sr+Tr.before.length+Tr.lines.length+Tr.after.length},0),ze=E.title.length,De=E.footer.length,_t=E.titleFontSize,Yt=E.bodyFontSize,Zt=E.footerFontSize;$+=ze*_t,$+=ze?(ze-1)*E.titleSpacing:0,$+=ze?E.titleMarginBottom:0,$+=(ve+=E.beforeBody.length+E.afterBody.length)*Yt,$+=ve?(ve-1)*E.bodySpacing:0,$+=De?E.footerMarginTop:0,$+=De*Zt,$+=De?(De-1)*E.footerSpacing:0;var wn=0,cr=function(sr){Q=Math.max(Q,N.measureText(sr).width+wn)};return N.font=ht.fontString(_t,E._titleFontStyle,E._titleFontFamily),ht.each(E.title,cr),N.font=ht.fontString(Yt,E._bodyFontStyle,E._bodyFontFamily),ht.each(E.beforeBody.concat(E.afterBody),cr),wn=E.displayColors?Yt+2:0,ht.each(de,function(sr){ht.each(sr.before,cr),ht.each(sr.lines,cr),ht.each(sr.after,cr)}),wn=0,N.font=ht.fontString(Zt,E._footerFontStyle,E._footerFontFamily),ht.each(E.footer,cr),{width:Q+=2*E.xPadding,height:$}}(this,Q),ze=function(p,E){var N=p._model,$=p._chart,Q=p._chart.chartArea,de="center",ve="center";N.y<E.height?ve="top":N.y>$.height-E.height&&(ve="bottom");var ze,De,_t,Yt,Zt,wn=(Q.left+Q.right)/2,cr=(Q.top+Q.bottom)/2;"center"===ve?(ze=function(Tr){return Tr<=wn},De=function(Tr){return Tr>wn}):(ze=function(Tr){return Tr<=E.width/2},De=function(Tr){return Tr>=$.width-E.width/2}),_t=function(Tr){return Tr+E.width+N.caretSize+N.caretPadding>$.width},Yt=function(Tr){return Tr-E.width-N.caretSize-N.caretPadding<0},Zt=function(Tr){return Tr<=cr?"top":"bottom"},ze(N.x)?(de="left",_t(N.x)&&(de="center",ve=Zt(N.y))):De(N.x)&&(de="right",Yt(N.x)&&(de="center",ve=Zt(N.y)));var sr=p._options;return{xAlign:sr.xAlign?sr.xAlign:de,yAlign:sr.yAlign?sr.yAlign:ve}}(this,_t),E._chart)}else Q.opacity=0;return Q.xAlign=ze.xAlign,Q.yAlign=ze.yAlign,Q.x=De.x,Q.y=De.y,Q.width=_t.width,Q.height=_t.height,Q.caretX=Yt.x,Q.caretY=Yt.y,E._model=Q,p&&N.custom&&N.custom.call(E,Q),E},drawCaret:function(p,E){var N=this._chart.ctx,Q=this.getCaretPosition(p,E,this._view);N.lineTo(Q.x1,Q.y1),N.lineTo(Q.x2,Q.y2),N.lineTo(Q.x3,Q.y3)},getCaretPosition:function(p,E,N){var $,Q,de,ve,ze,De,_t=N.caretSize,Yt=N.cornerRadius,Zt=N.xAlign,wn=N.yAlign,cr=p.x,sr=p.y,Tr=E.width,Yr=E.height;if("center"===wn)ze=sr+Yr/2,"left"===Zt?(Q=($=cr)-_t,de=$,ve=ze+_t,De=ze-_t):(Q=($=cr+Tr)+_t,de=$,ve=ze-_t,De=ze+_t);else if("left"===Zt?($=(Q=cr+Yt+_t)-_t,de=Q+_t):"right"===Zt?($=(Q=cr+Tr-Yt-_t)-_t,de=Q+_t):($=(Q=N.caretX)-_t,de=Q+_t),"top"===wn)ze=(ve=sr)-_t,De=ve;else{ze=(ve=sr+Yr)+_t,De=ve;var Pi=de;de=$,$=Pi}return{x1:$,x2:Q,x3:de,y1:ve,y2:ze,y3:De}},drawTitle:function(p,E,N){var de,ve,ze,$=E.title,Q=$.length;if(Q){var De=We(E.rtl,E.x,E.width);for(p.x=mi(E,E._titleAlign),N.textAlign=De.textAlign(E._titleAlign),N.textBaseline="middle",de=E.titleFontSize,ve=E.titleSpacing,N.fillStyle=E.titleFontColor,N.font=ht.fontString(de,E._titleFontStyle,E._titleFontFamily),ze=0;ze<Q;++ze)N.fillText($[ze],De.x(p.x),p.y+de/2),p.y+=de+ve,ze+1===Q&&(p.y+=E.titleMarginBottom-ve)}},drawBody:function(p,E,N){var wn,cr,sr,Tr,Yr,Pi,yo,To,$=E.bodyFontSize,Q=E.bodySpacing,de=E._bodyAlign,ve=E.body,ze=E.displayColors,De=0,_t=ze?mi(E,"left"):0,Yt=We(E.rtl,E.x,E.width),Zt=function(As){N.fillText(As,Yt.x(p.x+De),p.y+$/2),p.y+=$+Q},Qo=Yt.textAlign(de);for(N.textAlign=de,N.textBaseline="middle",N.font=ht.fontString($,E._bodyFontStyle,E._bodyFontFamily),p.x=mi(E,Qo),N.fillStyle=E.bodyFontColor,ht.each(E.beforeBody,Zt),De=ze&&"right"!==Qo?"center"===de?$/2+1:$+2:0,Yr=0,yo=ve.length;Yr<yo;++Yr){for(wn=ve[Yr],sr=E.labelColors[Yr],N.fillStyle=cr=E.labelTextColors[Yr],ht.each(wn.before,Zt),Pi=0,To=(Tr=wn.lines).length;Pi<To;++Pi){if(ze){var Go=Yt.x(_t);N.fillStyle=E.legendColorBackground,N.fillRect(Yt.leftForLtr(Go,$),p.y,$,$),N.lineWidth=1,N.strokeStyle=sr.borderColor,N.strokeRect(Yt.leftForLtr(Go,$),p.y,$,$),N.fillStyle=sr.backgroundColor,N.fillRect(Yt.leftForLtr(Yt.xPlus(Go,1),$-2),p.y+1,$-2,$-2),N.fillStyle=cr}Zt(Tr[Pi])}ht.each(wn.after,Zt)}De=0,ht.each(E.afterBody,Zt),p.y-=Q},drawFooter:function(p,E,N){var de,ve,$=E.footer,Q=$.length;if(Q){var ze=We(E.rtl,E.x,E.width);for(p.x=mi(E,E._footerAlign),p.y+=E.footerMarginTop,N.textAlign=ze.textAlign(E._footerAlign),N.textBaseline="middle",de=E.footerFontSize,N.fillStyle=E.footerFontColor,N.font=ht.fontString(de,E._footerFontStyle,E._footerFontFamily),ve=0;ve<Q;++ve)N.fillText($[ve],ze.x(p.x),p.y+de/2),p.y+=de+E.footerSpacing}},drawBackground:function(p,E,N,$){N.fillStyle=E.backgroundColor,N.strokeStyle=E.borderColor,N.lineWidth=E.borderWidth;var Q=E.xAlign,de=E.yAlign,ve=p.x,ze=p.y,De=$.width,_t=$.height,Yt=E.cornerRadius;N.beginPath(),N.moveTo(ve+Yt,ze),"top"===de&&this.drawCaret(p,$),N.lineTo(ve+De-Yt,ze),N.quadraticCurveTo(ve+De,ze,ve+De,ze+Yt),"center"===de&&"right"===Q&&this.drawCaret(p,$),N.lineTo(ve+De,ze+_t-Yt),N.quadraticCurveTo(ve+De,ze+_t,ve+De-Yt,ze+_t),"bottom"===de&&this.drawCaret(p,$),N.lineTo(ve+Yt,ze+_t),N.quadraticCurveTo(ve,ze+_t,ve,ze+_t-Yt),"center"===de&&"left"===Q&&this.drawCaret(p,$),N.lineTo(ve,ze+Yt),N.quadraticCurveTo(ve,ze,ve+Yt,ze),N.closePath(),N.fill(),E.borderWidth>0&&N.stroke()},draw:function(){var p=this._chart.ctx,E=this._view;if(0!==E.opacity){var N={width:E.width,height:E.height},$={x:E.x,y:E.y},Q=Math.abs(E.opacity<.001)?0:E.opacity;this._options.enabled&&(E.title.length||E.beforeBody.length||E.body.length||E.afterBody.length||E.footer.length)&&(p.save(),p.globalAlpha=Q,this.drawBackground($,E,p,N),$.y+=E.yPadding,ht.rtl.overrideTextDirection(p,E.textDirection),this.drawTitle($,E,p),this.drawBody($,E,p),this.drawFooter($,E,p),ht.rtl.restoreTextDirection(p,E.textDirection),p.restore())}},handleEvent:function(p){var $,E=this,N=E._options;return E._lastActive=E._lastActive||[],"mouseout"===p.type?E._active=[]:(E._active=E._chart.getElementsAtEventForMode(p,N.mode,N),N.reverse&&E._active.reverse()),($=!ht.arrayEquals(E._active,E._lastActive))&&(E._lastActive=E._active,(N.enabled||N.custom)&&(E._eventPosition={x:p.x,y:p.y},E.update(!0),E.pivot())),$}});Ui.positioners=wt;var ro=ht.valueOrDefault;function mo(){return ht.merge(Object.create(null),[].slice.call(arguments),{merger:function(p,E,N,$){if("xAxes"===p||"yAxes"===p){var de,ve,ze,Q=N[p].length;for(E[p]||(E[p]=[]),de=0;de<Q;++de)ve=ro((ze=N[p][de]).type,"xAxes"===p?"category":"linear"),de>=E[p].length&&E[p].push({}),ht.merge(E[p][de],!E[p][de].type||ze.type&&ze.type!==E[p][de].type?[Ba.getScaleDefaults(ve),ze]:ze)}else ht._merger(p,E,N,$)}})}function Bi(){return ht.merge(Object.create(null),[].slice.call(arguments),{merger:function(p,E,N,$){var Q=E[p]||Object.create(null),de=N[p];"scales"===p?E[p]=mo(Q,de):"scale"===p?E[p]=ht.merge(Q,[Ba.getScaleDefaults(de.type),de]):ht._merger(p,E,N,$)}})}function Br(p){var E=p.options;ht.each(p.scales,function(N){ja.removeBox(p,N)}),E=Bi(mn.global,mn[p.config.type],E),p.options=p.config.options=E,p.ensureScalesHaveIDs(),p.buildOrUpdateScales(),p.tooltip._options=E.tooltips,p.tooltip.initialize()}function G(p,E,N){var $,Q=function(de){return de.id===$};do{$=E+N++}while(ht.findIndex(p,Q)>=0);return $}function Me(p){return"top"===p||"bottom"===p}function ft(p,E){return function(N,$){return N[p]===$[p]?N[E]-$[E]:N[p]-$[p]}}mn._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Ft=function(p,E){return this.construct(p,E),this};ht.extend(Ft.prototype,{construct:function(p,E){var N=this;E=function(p){var E=(p=p||Object.create(null)).data=p.data||{};return E.datasets=E.datasets||[],E.labels=E.labels||[],p.options=Bi(mn.global,mn[p.type],p.options||{}),p}(E);var $=pa.acquireContext(p,E),Q=$&&$.canvas,de=Q&&Q.height,ve=Q&&Q.width;N.id=ht.uid(),N.ctx=$,N.canvas=Q,N.config=E,N.width=ve,N.height=de,N.aspectRatio=de?ve/de:null,N.options=E.options,N._bufferedRender=!1,N._layers=[],N.chart=N,N.controller=N,Ft.instances[N.id]=N,Object.defineProperty(N,"data",{get:function(){return N.config.data},set:function(ze){N.config.data=ze}}),$&&Q?(N.initialize(),N.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var p=this;return Vo.notify(p,"beforeInit"),ht.retinaScale(p,p.options.devicePixelRatio),p.bindEvents(),p.options.responsive&&p.resize(!0),p.initToolTip(),Vo.notify(p,"afterInit"),p},clear:function(){return ht.canvas.clear(this),this},stop:function(){return An.cancelAnimation(this),this},resize:function(p){var E=this,N=E.options,$=E.canvas,Q=N.maintainAspectRatio&&E.aspectRatio||null,de=Math.max(0,Math.floor(ht.getMaximumWidth($))),ve=Math.max(0,Math.floor(Q?de/Q:ht.getMaximumHeight($)));if((E.width!==de||E.height!==ve)&&($.width=E.width=de,$.height=E.height=ve,$.style.width=de+"px",$.style.height=ve+"px",ht.retinaScale(E,N.devicePixelRatio),!p)){var ze={width:de,height:ve};Vo.notify(E,"resize",[ze]),N.onResize&&N.onResize(E,ze),E.stop(),E.update({duration:N.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var p=this.options,E=p.scales||{},N=p.scale;ht.each(E.xAxes,function($,Q){$.id||($.id=G(E.xAxes,"x-axis-",Q))}),ht.each(E.yAxes,function($,Q){$.id||($.id=G(E.yAxes,"y-axis-",Q))}),N&&(N.id=N.id||"scale")},buildOrUpdateScales:function(){var p=this,E=p.options,N=p.scales||{},$=[],Q=Object.keys(N).reduce(function(de,ve){return de[ve]=!1,de},{});E.scales&&($=$.concat((E.scales.xAxes||[]).map(function(de){return{options:de,dtype:"category",dposition:"bottom"}}),(E.scales.yAxes||[]).map(function(de){return{options:de,dtype:"linear",dposition:"left"}}))),E.scale&&$.push({options:E.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),ht.each($,function(de){var ve=de.options,ze=ve.id,De=ro(ve.type,de.dtype);Me(ve.position)!==Me(de.dposition)&&(ve.position=de.dposition),Q[ze]=!0;var _t=null;if(ze in N&&N[ze].type===De)(_t=N[ze]).options=ve,_t.ctx=p.ctx,_t.chart=p;else{var Yt=Ba.getScaleConstructor(De);if(!Yt)return;_t=new Yt({id:ze,type:De,options:ve,ctx:p.ctx,chart:p}),N[_t.id]=_t}_t.mergeTicksOptions(),de.isDefault&&(p.scale=_t)}),ht.each(Q,function(de,ve){de||delete N[ve]}),p.scales=N,Ba.addScalesToLayout(this)},buildOrUpdateControllers:function(){var $,Q,p=this,E=[],N=p.data.datasets;for($=0,Q=N.length;$<Q;$++){var de=N[$],ve=p.getDatasetMeta($),ze=de.type||p.config.type;if(ve.type&&ve.type!==ze&&(p.destroyDatasetMeta($),ve=p.getDatasetMeta($)),ve.type=ze,ve.order=de.order||0,ve.index=$,ve.controller)ve.controller.updateIndex($),ve.controller.linkScales();else{var De=ti[ve.type];if(void 0===De)throw new Error('"'+ve.type+'" is not a chart type.');ve.controller=new De(p,$),E.push(ve.controller)}}return E},resetElements:function(){var p=this;ht.each(p.data.datasets,function(E,N){p.getDatasetMeta(N).controller.reset()},p)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(p){var N,$,E=this;if((!p||"object"!=typeof p)&&(p={duration:p,lazy:arguments[1]}),Br(E),Vo._invalidate(E),!1!==Vo.notify(E,"beforeUpdate")){E.tooltip._data=E.data;var Q=E.buildOrUpdateControllers();for(N=0,$=E.data.datasets.length;N<$;N++)E.getDatasetMeta(N).controller.buildOrUpdateElements();E.updateLayout(),E.options.animation&&E.options.animation.duration&&ht.each(Q,function(de){de.reset()}),E.updateDatasets(),E.tooltip.initialize(),E.lastActive=[],Vo.notify(E,"afterUpdate"),E._layers.sort(ft("z","_idx")),E._bufferedRender?E._bufferedRequest={duration:p.duration,easing:p.easing,lazy:p.lazy}:E.render(p)}},updateLayout:function(){var p=this;!1!==Vo.notify(p,"beforeLayout")&&(ja.update(this,this.width,this.height),p._layers=[],ht.each(p.boxes,function(E){E._configure&&E._configure(),p._layers.push.apply(p._layers,E._layers())},p),p._layers.forEach(function(E,N){E._idx=N}),Vo.notify(p,"afterScaleUpdate"),Vo.notify(p,"afterLayout"))},updateDatasets:function(){var p=this;if(!1!==Vo.notify(p,"beforeDatasetsUpdate")){for(var E=0,N=p.data.datasets.length;E<N;++E)p.updateDataset(E);Vo.notify(p,"afterDatasetsUpdate")}},updateDataset:function(p){var E=this,N=E.getDatasetMeta(p),$={meta:N,index:p};!1!==Vo.notify(E,"beforeDatasetUpdate",[$])&&(N.controller._update(),Vo.notify(E,"afterDatasetUpdate",[$]))},render:function(p){var E=this;(!p||"object"!=typeof p)&&(p={duration:p,lazy:arguments[1]});var N=E.options.animation,$=ro(p.duration,N&&N.duration),Q=p.lazy;if(!1!==Vo.notify(E,"beforeRender")){var de=function(ze){Vo.notify(E,"afterRender"),ht.callback(N&&N.onComplete,[ze],E)};if(N&&$){var ve=new sn({numSteps:$/16.66,easing:p.easing||N.easing,render:function(ze,De){var Yt=De.currentStep,Zt=Yt/De.numSteps;ze.draw((0,ht.easing.effects[De.easing])(Zt),Zt,Yt)},onAnimationProgress:N.onProgress,onAnimationComplete:de});An.addAnimation(E,ve,$,Q)}else E.draw(),de(new sn({numSteps:0,chart:E}));return E}},draw:function(p){var N,$,E=this;if(E.clear(),ht.isNullOrUndef(p)&&(p=1),E.transition(p),!(E.width<=0||E.height<=0)&&!1!==Vo.notify(E,"beforeDraw",[p])){for($=E._layers,N=0;N<$.length&&$[N].z<=0;++N)$[N].draw(E.chartArea);for(E.drawDatasets(p);N<$.length;++N)$[N].draw(E.chartArea);E._drawTooltip(p),Vo.notify(E,"afterDraw",[p])}},transition:function(p){for(var E=this,N=0,$=(E.data.datasets||[]).length;N<$;++N)E.isDatasetVisible(N)&&E.getDatasetMeta(N).controller.transition(p);E.tooltip.transition(p)},_getSortedDatasetMetas:function(p){var Q,de,E=this,$=[];for(Q=0,de=(E.data.datasets||[]).length;Q<de;++Q)(!p||E.isDatasetVisible(Q))&&$.push(E.getDatasetMeta(Q));return $.sort(ft("order","index")),$},_getSortedVisibleDatasetMetas:function(){return this._getSortedDatasetMetas(!0)},drawDatasets:function(p){var N,$,E=this;if(!1!==Vo.notify(E,"beforeDatasetsDraw",[p])){for($=(N=E._getSortedVisibleDatasetMetas()).length-1;$>=0;--$)E.drawDataset(N[$],p);Vo.notify(E,"afterDatasetsDraw",[p])}},drawDataset:function(p,E){var $={meta:p,index:p.index,easingValue:E};!1!==Vo.notify(this,"beforeDatasetDraw",[$])&&(p.controller.draw(E),Vo.notify(this,"afterDatasetDraw",[$]))},_drawTooltip:function(p){var E=this,N=E.tooltip,$={tooltip:N,easingValue:p};!1!==Vo.notify(E,"beforeTooltipDraw",[$])&&(N.draw(),Vo.notify(E,"afterTooltipDraw",[$]))},getElementAtEvent:function(p){return ws.modes.single(this,p)},getElementsAtEvent:function(p){return ws.modes.label(this,p,{intersect:!0})},getElementsAtXAxis:function(p){return ws.modes["x-axis"](this,p,{intersect:!0})},getElementsAtEventForMode:function(p,E,N){var $=ws.modes[E];return"function"==typeof $?$(this,p,N):[]},getDatasetAtEvent:function(p){return ws.modes.dataset(this,p,{intersect:!0})},getDatasetMeta:function(p){var E=this,N=E.data.datasets[p];N._meta||(N._meta={});var $=N._meta[E.id];return $||($=N._meta[E.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:N.order||0,index:p}),$},getVisibleDatasetCount:function(){for(var p=0,E=0,N=this.data.datasets.length;E<N;++E)this.isDatasetVisible(E)&&p++;return p},isDatasetVisible:function(p){var E=this.getDatasetMeta(p);return"boolean"==typeof E.hidden?!E.hidden:!this.data.datasets[p].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(p){var E=this.id,N=this.data.datasets[p],$=N._meta&&N._meta[E];$&&($.controller.destroy(),delete N._meta[E])},destroy:function(){var N,$,p=this,E=p.canvas;for(p.stop(),N=0,$=p.data.datasets.length;N<$;++N)p.destroyDatasetMeta(N);E&&(p.unbindEvents(),ht.canvas.clear(p),pa.releaseContext(p.ctx),p.canvas=null,p.ctx=null),Vo.notify(p,"destroy"),delete Ft.instances[p.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var p=this;p.tooltip=new Ui({_chart:p,_chartInstance:p,_data:p.data,_options:p.options.tooltips},p)},bindEvents:function(){var p=this,E=p._listeners={},N=function(){p.eventHandler.apply(p,arguments)};ht.each(p.options.events,function($){pa.addEventListener(p,$,N),E[$]=N}),p.options.responsive&&(N=function(){p.resize()},pa.addEventListener(p,"resize",N),E.resize=N)},unbindEvents:function(){var p=this,E=p._listeners;!E||(delete p._listeners,ht.each(E,function(N,$){pa.removeEventListener(p,$,N)}))},updateHoverStyle:function(p,E,N){var Q,de,ve,$=N?"set":"remove";for(de=0,ve=p.length;de<ve;++de)(Q=p[de])&&this.getDatasetMeta(Q._datasetIndex).controller[$+"HoverStyle"](Q);"dataset"===E&&this.getDatasetMeta(p[0]._datasetIndex).controller["_"+$+"DatasetHoverStyle"]()},eventHandler:function(p){var E=this,N=E.tooltip;if(!1!==Vo.notify(E,"beforeEvent",[p])){E._bufferedRender=!0,E._bufferedRequest=null;var $=E.handleEvent(p);N&&($=N._start?N.handleEvent(p):$|N.handleEvent(p)),Vo.notify(E,"afterEvent",[p]);var Q=E._bufferedRequest;return Q?E.render(Q):$&&!E.animating&&(E.stop(),E.render({duration:E.options.hover.animationDuration,lazy:!0})),E._bufferedRender=!1,E._bufferedRequest=null,E}},handleEvent:function(p){var Q,E=this,N=E.options||{},$=N.hover;return E.lastActive=E.lastActive||[],E.active="mouseout"===p.type?[]:E.getElementsAtEventForMode(p,$.mode,$),ht.callback(N.onHover||N.hover.onHover,[p.native,E.active],E),("mouseup"===p.type||"click"===p.type)&&N.onClick&&N.onClick.call(E,p.native,E.active),E.lastActive.length&&E.updateHoverStyle(E.lastActive,$.mode,!1),E.active.length&&$.mode&&E.updateHoverStyle(E.active,$.mode,!0),Q=!ht.arrayEquals(E.active,E.lastActive),E.lastActive=E.active,Q}}),Ft.instances={};var Bt=Ft;Ft.Controller=Ft,Ft.types={},ht.configMerge=Bi,ht.scaleMerge=mo;function Xn(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function Sr(p){this.options=p||{}}ht.extend(Sr.prototype,{formats:Xn,parse:Xn,format:Xn,add:Xn,diff:Xn,startOf:Xn,endOf:Xn,_create:function(p){return p}}),Sr.override=function(p){ht.extend(Sr.prototype,p)};var Fr={_date:Sr},zr={formatters:{values:function(p){return ht.isArray(p)?p:""+p},linear:function(p,E,N){var $=N.length>3?N[2]-N[1]:N[1]-N[0];Math.abs($)>1&&p!==Math.floor(p)&&($=p-Math.floor(p));var Q=ht.log10(Math.abs($)),de="";if(0!==p)if(Math.max(Math.abs(N[0]),Math.abs(N[N.length-1]))<1e-4){var ze=ht.log10(Math.abs(p)),De=Math.floor(ze)-Math.floor(Q);De=Math.max(Math.min(De,20),0),de=p.toExponential(De)}else{var _t=-1*Math.floor(Q);_t=Math.max(Math.min(_t,20),0),de=p.toFixed(_t)}else de="0";return de},logarithmic:function(p,E,N){var $=p/Math.pow(10,Math.floor(ht.log10(p)));return 0===p?"0":1===$||2===$||5===$||0===E||E===N.length-1?p.toExponential():""}}},Un=ht.isArray,lr=ht.isNullOrUndef,dr=ht.valueOrDefault,li=ht.valueAtIndexOrDefault;function Oo(p,E,N){var _t,$=p.getTicks().length,Q=Math.min(E,$-1),de=p.getPixelForTick(Q),ve=p._startPixel,ze=p._endPixel;if(!(N&&(_t=1===$?Math.max(de-ve,ze-de):0===E?(p.getPixelForTick(1)-de)/2:(de-p.getPixelForTick(Q-1))/2,de+=Q<E?_t:-_t,de<ve-1e-6||de>ze+1e-6)))return de}function jo(p,E,N,$){var Yt,Zt,wn,cr,sr,Tr,Yr,Pi,yo,To,Qo,Go,As,Q=N.length,de=[],ve=[],ze=[],De=0,_t=0;for(Yt=0;Yt<Q;++Yt){if(cr=N[Yt].label,p.font=Tr=(sr=N[Yt].major?E.major:E.minor).string,Yr=$[Tr]=$[Tr]||{data:{},gc:[]},Pi=sr.lineHeight,yo=To=0,lr(cr)||Un(cr)){if(Un(cr))for(Zt=0,wn=cr.length;Zt<wn;++Zt)!lr(Qo=cr[Zt])&&!Un(Qo)&&(yo=ht.measureText(p,Yr.data,Yr.gc,yo,Qo),To+=Pi)}else yo=ht.measureText(p,Yr.data,Yr.gc,yo,cr),To=Pi;de.push(yo),ve.push(To),ze.push(Pi/2),De=Math.max(yo,De),_t=Math.max(To,_t)}function Cs(Ss){return{width:de[Ss]||0,height:ve[Ss]||0,offset:ze[Ss]||0}}return function(p,E){ht.each(p,function(N){var de,$=N.gc,Q=$.length/2;if(Q>E){for(de=0;de<Q;++de)delete N.data[$[de]];$.splice(0,Q)}})}($,Q),Go=de.indexOf(De),As=ve.indexOf(_t),{first:Cs(0),last:Cs(Q-1),widest:Cs(Go),highest:Cs(As)}}function uo(p){return p.drawTicks?p.tickMarkLength:0}function Ki(p){var E,N;return p.display?(E=ht.options._parseFont(p),N=ht.options.toPadding(p.padding),E.lineHeight+N.height):0}function Ho(p,E){return ht.extend(ht.options._parseFont({fontFamily:dr(E.fontFamily,p.fontFamily),fontSize:dr(E.fontSize,p.fontSize),fontStyle:dr(E.fontStyle,p.fontStyle),lineHeight:dr(E.lineHeight,p.lineHeight)}),{color:ht.options.resolve([E.fontColor,p.fontColor,mn.global.defaultFontColor])})}function Yi(p){var E=Ho(p,p.minor);return{minor:E,major:p.major.enabled?Ho(p,p.major):E}}function na(p){var N,$,Q,E=[];for($=0,Q=p.length;$<Q;++$)void 0!==(N=p[$])._index&&E.push(N);return E}function Ll(p,E,N,$){var ze,De,_t,Yt,Q=dr(N,0),de=Math.min(dr($,p.length),p.length),ve=0;for(E=Math.ceil(E),$&&(E=(ze=$-N)/Math.floor(ze/E)),Yt=Q;Yt<0;)ve++,Yt=Math.round(Q+ve*E);for(De=Math.max(Q,0);De<de;De++)_t=p[De],De===Yt?(_t._index=De,ve++,Yt=Math.round(Q+ve*E)):delete _t.label}mn._set("scale",{display:!0,position:"left",offset:!1,gridLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:"",padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:zr.formatters.values,minor:{},major:{}}});var Hl=ot.extend({zeroLineIndex:0,getPadding:function(){var p=this;return{left:p.paddingLeft||0,top:p.paddingTop||0,right:p.paddingRight||0,bottom:p.paddingBottom||0}},getTicks:function(){return this._ticks},_getLabels:function(){var p=this.chart.data;return this.options.labels||(this.isHorizontal()?p.xLabels:p.yLabels)||p.labels||[]},mergeTicksOptions:function(){},beforeUpdate:function(){ht.callback(this.options.beforeUpdate,[this])},update:function(p,E,N){var ve,ze,De,_t,Yt,$=this,Q=$.options.ticks,de=Q.sampleSize;if($.beforeUpdate(),$.maxWidth=p,$.maxHeight=E,$.margins=ht.extend({left:0,right:0,top:0,bottom:0},N),$._ticks=null,$.ticks=null,$._labelSizes=null,$._maxLabelLines=0,$.longestLabelWidth=0,$.longestTextCache=$.longestTextCache||{},$._gridLineItems=null,$._labelItems=null,$.beforeSetDimensions(),$.setDimensions(),$.afterSetDimensions(),$.beforeDataLimits(),$.determineDataLimits(),$.afterDataLimits(),$.beforeBuildTicks(),_t=$.buildTicks()||[],(!(_t=$.afterBuildTicks(_t)||_t)||!_t.length)&&$.ticks)for(_t=[],ve=0,ze=$.ticks.length;ve<ze;++ve)_t.push({value:$.ticks[ve],major:!1});return $._ticks=_t,De=$._convertTicksToLabels((Yt=de<_t.length)?function(p,E){for(var N=[],$=p.length/E,Q=0,de=p.length;Q<de;Q+=$)N.push(p[Math.floor(Q)]);return N}(_t,de):_t),$._configure(),$.beforeCalculateTickRotation(),$.calculateTickRotation(),$.afterCalculateTickRotation(),$.beforeFit(),$.fit(),$.afterFit(),$._ticksToDraw=Q.display&&(Q.autoSkip||"auto"===Q.source)?$._autoSkip(_t):_t,Yt&&(De=$._convertTicksToLabels($._ticksToDraw)),$.ticks=De,$.afterUpdate(),$.minSize},_configure:function(){var N,$,p=this,E=p.options.ticks.reverse;p.isHorizontal()?(N=p.left,$=p.right):(N=p.top,$=p.bottom,E=!E),p._startPixel=N,p._endPixel=$,p._reversePixels=E,p._length=$-N},afterUpdate:function(){ht.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){ht.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var p=this;p.isHorizontal()?(p.width=p.maxWidth,p.left=0,p.right=p.width):(p.height=p.maxHeight,p.top=0,p.bottom=p.height),p.paddingLeft=0,p.paddingTop=0,p.paddingRight=0,p.paddingBottom=0},afterSetDimensions:function(){ht.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){ht.callback(this.options.beforeDataLimits,[this])},determineDataLimits:ht.noop,afterDataLimits:function(){ht.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){ht.callback(this.options.beforeBuildTicks,[this])},buildTicks:ht.noop,afterBuildTicks:function(p){var E=this;return Un(p)&&p.length?ht.callback(E.options.afterBuildTicks,[E,p]):(E.ticks=ht.callback(E.options.afterBuildTicks,[E,E.ticks])||E.ticks,p)},beforeTickToLabelConversion:function(){ht.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var p=this,E=p.options.ticks;p.ticks=p.ticks.map(E.userCallback||E.callback,this)},afterTickToLabelConversion:function(){ht.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){ht.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var ze,De,_t,Yt,Zt,wn,cr,p=this,E=p.options,N=E.ticks,$=p.getTicks().length,Q=N.minRotation||0,de=N.maxRotation,ve=Q;!p._isVisible()||!N.display||Q>=de||$<=1||!p.isHorizontal()?p.labelRotation=Q:(De=(ze=p._getLabelSizes()).widest.width,_t=ze.highest.height-ze.highest.offset,Yt=Math.min(p.maxWidth,p.chart.width-De),De+6>(Zt=E.offset?p.maxWidth/$:Yt/($-1))&&(Zt=Yt/($-(E.offset?.5:1)),wn=p.maxHeight-uo(E.gridLines)-N.padding-Ki(E.scaleLabel),cr=Math.sqrt(De*De+_t*_t),ve=ht.toDegrees(Math.min(Math.asin(Math.min((ze.highest.height+6)/Zt,1)),Math.asin(Math.min(wn/cr,1))-Math.asin(_t/cr))),ve=Math.max(Q,Math.min(de,ve))),p.labelRotation=ve)},afterCalculateTickRotation:function(){ht.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){ht.callback(this.options.beforeFit,[this])},fit:function(){var p=this,E=p.minSize={width:0,height:0},N=p.chart,$=p.options,Q=$.ticks,de=$.scaleLabel,ve=$.gridLines,ze=p._isVisible(),De="bottom"===$.position,_t=p.isHorizontal();if(_t?E.width=p.maxWidth:ze&&(E.width=uo(ve)+Ki(de)),_t?ze&&(E.height=uo(ve)+Ki(de)):E.height=p.maxHeight,Q.display&&ze){var Yt=Yi(Q),Zt=p._getLabelSizes(),wn=Zt.first,cr=Zt.last,sr=Zt.widest,Tr=Zt.highest,Yr=.4*Yt.minor.lineHeight,Pi=Q.padding;if(_t){var yo=0!==p.labelRotation,To=ht.toRadians(p.labelRotation),Qo=Math.cos(To),Go=Math.sin(To);E.height=Math.min(p.maxHeight,E.height+(Go*sr.width+Qo*(Tr.height-(yo?Tr.offset:0))+(yo?0:Yr))+Pi);var Is,Da,Cs=p.getPixelForTick(0)-p.left,Ss=p.right-p.getPixelForTick(p.getTicks().length-1);yo?(Is=De?Qo*wn.width+Go*wn.offset:Go*(wn.height-wn.offset),Da=De?Go*(cr.height-cr.offset):Qo*cr.width+Go*cr.offset):(Is=wn.width/2,Da=cr.width/2),p.paddingLeft=Math.max((Is-Cs)*p.width/(p.width-Cs),0)+3,p.paddingRight=Math.max((Da-Ss)*p.width/(p.width-Ss),0)+3}else E.width=Math.min(p.maxWidth,E.width+(Q.mirror?0:sr.width+Pi+Yr)),p.paddingTop=wn.height/2,p.paddingBottom=cr.height/2}p.handleMargins(),_t?(p.width=p._length=N.width-p.margins.left-p.margins.right,p.height=E.height):(p.width=E.width,p.height=p._length=N.height-p.margins.top-p.margins.bottom)},handleMargins:function(){var p=this;p.margins&&(p.margins.left=Math.max(p.paddingLeft,p.margins.left),p.margins.top=Math.max(p.paddingTop,p.margins.top),p.margins.right=Math.max(p.paddingRight,p.margins.right),p.margins.bottom=Math.max(p.paddingBottom,p.margins.bottom))},afterFit:function(){ht.callback(this.options.afterFit,[this])},isHorizontal:function(){var p=this.options.position;return"top"===p||"bottom"===p},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(p){if(lr(p))return NaN;if(("number"==typeof p||p instanceof Number)&&!isFinite(p))return NaN;if(p)if(this.isHorizontal()){if(void 0!==p.x)return this.getRightValue(p.x)}else if(void 0!==p.y)return this.getRightValue(p.y);return p},_convertTicksToLabels:function(p){var N,$,Q,E=this;for(E.ticks=p.map(function(de){return de.value}),E.beforeTickToLabelConversion(),N=E.convertTicksToLabels(p)||E.ticks,E.afterTickToLabelConversion(),$=0,Q=p.length;$<Q;++$)p[$].label=N[$];return N},_getLabelSizes:function(){var p=this,E=p._labelSizes;return E||(p._labelSizes=E=jo(p.ctx,Yi(p.options.ticks),p.getTicks(),p.longestTextCache),p.longestLabelWidth=E.widest.width),E},_parseValue:function(p){var E,N,$,Q;return Un(p)?(E=+this.getRightValue(p[0]),N=+this.getRightValue(p[1]),$=Math.min(E,N),Q=Math.max(E,N)):(E=void 0,N=p=+this.getRightValue(p),$=p,Q=p),{min:$,max:Q,start:E,end:N}},_getScaleLabel:function(p){var E=this._parseValue(p);return void 0!==E.start?"["+E.start+", "+E.end+"]":+this.getRightValue(p)},getLabelForIndex:ht.noop,getPixelForValue:ht.noop,getValueForPixel:ht.noop,getPixelForTick:function(p){var E=this,N=E.options.offset,$=E._ticks.length,Q=1/Math.max($-(N?0:1),1);return p<0||p>$-1?null:E.getPixelForDecimal(p*Q+(N?Q/2:0))},getPixelForDecimal:function(p){var E=this;return E._reversePixels&&(p=1-p),E._startPixel+p*E._length},getDecimalForPixel:function(p){var E=(p-this._startPixel)/this._length;return this._reversePixels?1-E:E},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var p=this,E=p.min,N=p.max;return p.beginAtZero?0:E<0&&N<0?N:E>0&&N>0?E:0},_autoSkip:function(p){var _t,Yt,Zt,wn,E=this,N=E.options.ticks,$=E._length,Q=N.maxTicksLimit||$/E._tickSize()+1,de=N.major.enabled?function(p){var N,$,E=[];for(N=0,$=p.length;N<$;N++)p[N].major&&E.push(N);return E}(p):[],ve=de.length,ze=de[0],De=de[ve-1];if(ve>Q)return function(p,E,N){var de,ve,$=0,Q=E[0];for(N=Math.ceil(N),de=0;de<p.length;de++)ve=p[de],de===Q?(ve._index=de,Q=E[++$*N]):delete ve.label}(p,de,ve/Q),na(p);if(Zt=function(p,E,N,$){var ve,ze,De,_t,Q=function(p){var N,$,E=p.length;if(E<2)return!1;for($=p[0],N=1;N<E;++N)if(p[N]-p[N-1]!==$)return!1;return $}(p),de=(E.length-1)/$;if(!Q)return Math.max(de,1);for(De=0,_t=(ve=ht.math._factorize(Q)).length-1;De<_t;De++)if((ze=ve[De])>de)return ze;return Math.max(de,1)}(de,p,0,Q),ve>0){for(_t=0,Yt=ve-1;_t<Yt;_t++)Ll(p,Zt,de[_t],de[_t+1]);return Ll(p,Zt,ht.isNullOrUndef(wn=ve>1?(De-ze)/(ve-1):null)?0:ze-wn,ze),Ll(p,Zt,De,ht.isNullOrUndef(wn)?p.length:De+wn),na(p)}return Ll(p,Zt),na(p)},_tickSize:function(){var p=this,E=p.options.ticks,N=ht.toRadians(p.labelRotation),$=Math.abs(Math.cos(N)),Q=Math.abs(Math.sin(N)),de=p._getLabelSizes(),ve=E.autoSkipPadding||0,ze=de?de.widest.width+ve:0,De=de?de.highest.height+ve:0;return p.isHorizontal()?De*$>ze*Q?ze/$:De/Q:De*Q<ze*$?De/$:ze/Q},_isVisible:function(){var $,Q,de,p=this,E=p.chart,N=p.options.display;if("auto"!==N)return!!N;for($=0,Q=E.data.datasets.length;$<Q;++$)if(E.isDatasetVisible($)&&((de=E.getDatasetMeta($)).xAxisID===p.id||de.yAxisID===p.id))return!0;return!1},_computeGridLineItems:function(p){var Yr,Pi,yo,To,Qo,Go,As,Cs,Ss,Is,Da,vl,za,Xa,Ka,Ul,$l,E=this,N=E.chart,$=E.options,Q=$.gridLines,de=$.position,ve=Q.offsetGridLines,ze=E.isHorizontal(),De=E._ticksToDraw,_t=De.length+(ve?1:0),Yt=uo(Q),Zt=[],wn=Q.drawBorder?li(Q.lineWidth,0,0):0,cr=wn/2,sr=ht._alignPixel,Tr=function(Vs){return sr(N,Vs,wn)};for("top"===de?(Yr=Tr(E.bottom),As=E.bottom-Yt,Ss=Yr-cr,Da=Tr(p.top)+cr,za=p.bottom):"bottom"===de?(Yr=Tr(E.top),Da=p.top,za=Tr(p.bottom)-cr,As=Yr+cr,Ss=E.top+Yt):"left"===de?(Yr=Tr(E.right),Go=E.right-Yt,Cs=Yr-cr,Is=Tr(p.left)+cr,vl=p.right):(Yr=Tr(E.left),Is=p.left,vl=Tr(p.right)-cr,Go=Yr+cr,Cs=E.left+Yt),Pi=0;Pi<_t;++Pi)!(lr((yo=De[Pi]||{}).label)&&Pi<De.length)&&(Pi===E.zeroLineIndex&&$.offset===ve?(Xa=Q.zeroLineWidth,Ka=Q.zeroLineColor,Ul=Q.zeroLineBorderDash||[],$l=Q.zeroLineBorderDashOffset||0):(Xa=li(Q.lineWidth,Pi,1),Ka=li(Q.color,Pi,"rgba(0,0,0,0.1)"),Ul=Q.borderDash||[],$l=Q.borderDashOffset||0),void 0!==(To=Oo(E,yo._index||Pi,ve))&&(Qo=sr(N,To,Xa),ze?Go=Cs=Is=vl=Qo:As=Ss=Da=za=Qo,Zt.push({tx1:Go,ty1:As,tx2:Cs,ty2:Ss,x1:Is,y1:Da,x2:vl,y2:za,width:Xa,color:Ka,borderDash:Ul,borderDashOffset:$l})));return Zt.ticksLength=_t,Zt.borderValue=Yr,Zt},_computeLabelItems:function(){var wn,cr,sr,Tr,Yr,Pi,yo,To,Qo,Go,As,Cs,p=this,E=p.options,N=E.ticks,$=E.position,Q=N.mirror,de=p.isHorizontal(),ve=p._ticksToDraw,ze=Yi(N),De=N.padding,_t=uo(E.gridLines),Yt=-ht.toRadians(p.labelRotation),Zt=[];for("top"===$?(Pi=p.bottom-_t-De,yo=Yt?"left":"center"):"bottom"===$?(Pi=p.top+_t+De,yo=Yt?"right":"center"):"left"===$?(Yr=p.right-(Q?0:_t)-De,yo=Q?"left":"right"):(Yr=p.left+(Q?0:_t)+De,yo=Q?"right":"left"),wn=0,cr=ve.length;wn<cr;++wn)!lr(Tr=(sr=ve[wn]).label)&&(To=p.getPixelForTick(sr._index||wn)+N.labelOffset,Go=(Qo=sr.major?ze.major:ze.minor).lineHeight,As=Un(Tr)?Tr.length:1,de?(Yr=To,Cs="top"===$?((Yt?1:.5)-As)*Go:(Yt?0:.5)*Go):(Pi=To,Cs=(1-As)*Go/2),Zt.push({x:Yr,y:Pi,rotation:Yt,label:Tr,font:Qo,textOffset:Cs,textAlign:yo}));return Zt},_drawGrid:function(p){var E=this,N=E.options.gridLines;if(N.display){var De,_t,Yt,Zt,wn,$=E.ctx,Q=E.chart,de=ht._alignPixel,ve=N.drawBorder?li(N.lineWidth,0,0):0,ze=E._gridLineItems||(E._gridLineItems=E._computeGridLineItems(p));for(Yt=0,Zt=ze.length;Yt<Zt;++Yt)_t=(wn=ze[Yt]).color,(De=wn.width)&&_t&&($.save(),$.lineWidth=De,$.strokeStyle=_t,$.setLineDash&&($.setLineDash(wn.borderDash),$.lineDashOffset=wn.borderDashOffset),$.beginPath(),N.drawTicks&&($.moveTo(wn.tx1,wn.ty1),$.lineTo(wn.tx2,wn.ty2)),N.drawOnChartArea&&($.moveTo(wn.x1,wn.y1),$.lineTo(wn.x2,wn.y2)),$.stroke(),$.restore());if(ve){var Yr,Pi,yo,To,cr=ve,sr=li(N.lineWidth,ze.ticksLength-1,1),Tr=ze.borderValue;E.isHorizontal()?(Yr=de(Q,E.left,cr)-cr/2,Pi=de(Q,E.right,sr)+sr/2,yo=To=Tr):(yo=de(Q,E.top,cr)-cr/2,To=de(Q,E.bottom,sr)+sr/2,Yr=Pi=Tr),$.lineWidth=ve,$.strokeStyle=li(N.color,0),$.beginPath(),$.moveTo(Yr,yo),$.lineTo(Pi,To),$.stroke()}}},_drawLabels:function(){var p=this;if(p.options.ticks.display){var Q,de,ve,ze,De,_t,Yt,Zt,N=p.ctx,$=p._labelItems||(p._labelItems=p._computeLabelItems());for(Q=0,ve=$.length;Q<ve;++Q){if(_t=(De=$[Q]).font,N.save(),N.translate(De.x,De.y),N.rotate(De.rotation),N.font=_t.string,N.fillStyle=_t.color,N.textBaseline="middle",N.textAlign=De.textAlign,Zt=De.textOffset,Un(Yt=De.label))for(de=0,ze=Yt.length;de<ze;++de)N.fillText(""+Yt[de],0,Zt),Zt+=_t.lineHeight;else N.fillText(Yt,0,Zt);N.restore()}}},_drawTitle:function(){var p=this,E=p.ctx,N=p.options,$=N.scaleLabel;if($.display){var Yt,Zt,Q=dr($.fontColor,mn.global.defaultFontColor),de=ht.options._parseFont($),ve=ht.options.toPadding($.padding),ze=de.lineHeight/2,De=N.position,_t=0;if(p.isHorizontal())Yt=p.left+p.width/2,Zt="bottom"===De?p.bottom-ze-ve.bottom:p.top+ze+ve.top;else{var wn="left"===De;Yt=wn?p.left+ze+ve.top:p.right-ze-ve.top,Zt=p.top+p.height/2,_t=wn?-.5*Math.PI:.5*Math.PI}E.save(),E.translate(Yt,Zt),E.rotate(_t),E.textAlign="center",E.textBaseline="middle",E.fillStyle=Q,E.font=de.string,E.fillText($.labelString,0,0),E.restore()}},draw:function(p){var E=this;!E._isVisible()||(E._drawGrid(p),E._drawTitle(),E._drawLabels())},_layers:function(){var p=this,E=p.options,N=E.ticks&&E.ticks.z||0,$=E.gridLines&&E.gridLines.z||0;return p._isVisible()&&N!==$&&p.draw===p._draw?[{z:$,draw:function(){p._drawGrid.apply(p,arguments),p._drawTitle.apply(p,arguments)}},{z:N,draw:function(){p._drawLabels.apply(p,arguments)}}]:[{z:N,draw:function(){p.draw.apply(p,arguments)}}]},_getMatchingVisibleMetas:function(p){var E=this,N=E.isHorizontal();return E.chart._getSortedVisibleDatasetMetas().filter(function($){return(!p||$.type===p)&&(N?$.xAxisID===E.id:$.yAxisID===E.id)})}});Hl.prototype._draw=Hl.prototype.draw;var vo=Hl,Ds=ht.isNullOrUndef,vc=vo.extend({determineDataLimits:function(){var ze,p=this,E=p._getLabels(),N=p.options.ticks,$=N.min,Q=N.max,de=0,ve=E.length-1;void 0!==$&&(ze=E.indexOf($))>=0&&(de=ze),void 0!==Q&&(ze=E.indexOf(Q))>=0&&(ve=ze),p.minIndex=de,p.maxIndex=ve,p.min=E[de],p.max=E[ve]},buildTicks:function(){var p=this,E=p._getLabels(),N=p.minIndex,$=p.maxIndex;p.ticks=0===N&&$===E.length-1?E:E.slice(N,$+1)},getLabelForIndex:function(p,E){var N=this,$=N.chart;return $.getDatasetMeta(E).controller._getValueScaleId()===N.id?N.getRightValue($.data.datasets[E].data[p]):N._getLabels()[p]},_configure:function(){var p=this,E=p.options.offset,N=p.ticks;vo.prototype._configure.call(p),p.isHorizontal()||(p._reversePixels=!p._reversePixels),N&&(p._startValue=p.minIndex-(E?.5:0),p._valueRange=Math.max(N.length-(E?0:1),1))},getPixelForValue:function(p,E,N){var Q,de,ve,$=this;return!Ds(E)&&!Ds(N)&&(p=$.chart.data.datasets[N].data[E]),Ds(p)||(Q=$.isHorizontal()?p.x:p.y),(void 0!==Q||void 0!==p&&isNaN(E))&&(de=$._getLabels(),p=ht.valueOrDefault(Q,p),E=-1!==(ve=de.indexOf(p))?ve:E,isNaN(E)&&(E=p)),$.getPixelForDecimal((E-$._startValue)/$._valueRange)},getPixelForTick:function(p){var E=this.ticks;return p<0||p>E.length-1?null:this.getPixelForValue(E[p],p+this.minIndex)},getValueForPixel:function(p){var E=this,N=Math.round(E._startValue+E.getDecimalForPixel(p)*E._valueRange);return Math.min(Math.max(N,0),E.ticks.length-1)},getBasePixel:function(){return this.bottom}});vc._defaults={position:"bottom"};var Cl=ht.isNullOrUndef;var kl=vo.extend({getRightValue:function(p){return"string"==typeof p?+p:vo.prototype.getRightValue.call(this,p)},handleTickRangeOptions:function(){var p=this,N=p.options.ticks;if(N.beginAtZero){var $=ht.sign(p.min),Q=ht.sign(p.max);$<0&&Q<0?p.max=0:$>0&&Q>0&&(p.min=0)}var de=void 0!==N.min||void 0!==N.suggestedMin,ve=void 0!==N.max||void 0!==N.suggestedMax;void 0!==N.min?p.min=N.min:void 0!==N.suggestedMin&&(p.min=null===p.min?N.suggestedMin:Math.min(p.min,N.suggestedMin)),void 0!==N.max?p.max=N.max:void 0!==N.suggestedMax&&(p.max=null===p.max?N.suggestedMax:Math.max(p.max,N.suggestedMax)),de!==ve&&p.min>=p.max&&(de?p.max=p.min+1:p.min=p.max-1),p.min===p.max&&(p.max++,N.beginAtZero||p.min--)},getTickLimit:function(){var Q,p=this,E=p.options.ticks,N=E.stepSize,$=E.maxTicksLimit;return N?Q=Math.ceil(p.max/N)-Math.floor(p.min/N)+1:(Q=p._computeTickLimit(),$=$||11),$&&(Q=Math.min($,Q)),Q},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:ht.noop,buildTicks:function(){var p=this,N=p.options.ticks,$=p.getTickLimit(),Q={maxTicks:$=Math.max(2,$),min:N.min,max:N.max,precision:N.precision,stepSize:ht.valueOrDefault(N.fixedStepSize,N.stepSize)},de=p.ticks=function(p,E){var cr,sr,Tr,Yr,N=[],Q=p.stepSize,de=Q||1,ve=p.maxTicks-1,ze=p.min,De=p.max,_t=p.precision,Yt=E.min,Zt=E.max,wn=ht.niceNum((Zt-Yt)/ve/de)*de;if(wn<1e-14&&Cl(ze)&&Cl(De))return[Yt,Zt];(Yr=Math.ceil(Zt/wn)-Math.floor(Yt/wn))>ve&&(wn=ht.niceNum(Yr*wn/ve/de)*de),Q||Cl(_t)?cr=Math.pow(10,ht._decimalPlaces(wn)):(cr=Math.pow(10,_t),wn=Math.ceil(wn*cr)/cr),sr=Math.floor(Yt/wn)*wn,Tr=Math.ceil(Zt/wn)*wn,Q&&(!Cl(ze)&&ht.almostWhole(ze/wn,wn/1e3)&&(sr=ze),!Cl(De)&&ht.almostWhole(De/wn,wn/1e3)&&(Tr=De)),Yr=ht.almostEquals(Yr=(Tr-sr)/wn,Math.round(Yr),wn/1e3)?Math.round(Yr):Math.ceil(Yr),sr=Math.round(sr*cr)/cr,Tr=Math.round(Tr*cr)/cr,N.push(Cl(ze)?sr:ze);for(var Pi=1;Pi<Yr;++Pi)N.push(Math.round((sr+Pi*wn)*cr)/cr);return N.push(Cl(De)?Tr:De),N}(Q,p);p.handleDirectionalChanges(),p.max=ht.max(de),p.min=ht.min(de),N.reverse?(de.reverse(),p.start=p.max,p.end=p.min):(p.start=p.min,p.end=p.max)},convertTicksToLabels:function(){var p=this;p.ticksAsNumbers=p.ticks.slice(),p.zeroLineIndex=p.ticks.indexOf(0),vo.prototype.convertTicksToLabels.call(p)},_configure:function(){var Q,p=this,E=p.getTicks(),N=p.min,$=p.max;vo.prototype._configure.call(p),p.options.offset&&E.length&&(N-=Q=($-N)/Math.max(E.length-1,1)/2,$+=Q),p._startValue=N,p._endValue=$,p._valueRange=$-N}}),Zl={position:"left",ticks:{callback:zr.formatters.linear}};function we(p,E,N,$){var Yt,Zt,Q=p.options,ve=function(p,E,N){var $=[N.type,void 0===E&&void 0===N.stack?N.index:"",N.stack].join(".");return void 0===p[$]&&(p[$]={pos:[],neg:[]}),p[$]}(E,Q.stacked,N),ze=ve.pos,De=ve.neg,_t=$.length;for(Yt=0;Yt<_t;++Yt)Zt=p._parseValue($[Yt]),!(isNaN(Zt.min)||isNaN(Zt.max)||N.data[Yt].hidden)&&(ze[Yt]=ze[Yt]||0,De[Yt]=De[Yt]||0,Q.relativePoints?ze[Yt]=100:Zt.min<0||Zt.max<0?De[Yt]+=Zt.min:ze[Yt]+=Zt.max)}function Mt(p,E,N){var Q,de,$=N.length;for(Q=0;Q<$;++Q)de=p._parseValue(N[Q]),!(isNaN(de.min)||isNaN(de.max)||E.data[Q].hidden)&&(p.min=Math.min(p.min,de.min),p.max=Math.max(p.max,de.max))}var xe=kl.extend({determineDataLimits:function(){var De,_t,Yt,Zt,p=this,E=p.options,$=p.chart.data.datasets,Q=p._getMatchingVisibleMetas(),de=E.stacked,ve={},ze=Q.length;if(p.min=Number.POSITIVE_INFINITY,p.max=Number.NEGATIVE_INFINITY,void 0===de)for(De=0;!de&&De<ze;++De)de=void 0!==(_t=Q[De]).stack;for(De=0;De<ze;++De)Yt=$[(_t=Q[De]).index].data,de?we(p,ve,_t,Yt):Mt(p,_t,Yt);ht.each(ve,function(wn){Zt=wn.pos.concat(wn.neg),p.min=Math.min(p.min,ht.min(Zt)),p.max=Math.max(p.max,ht.max(Zt))}),p.min=ht.isFinite(p.min)&&!isNaN(p.min)?p.min:0,p.max=ht.isFinite(p.max)&&!isNaN(p.max)?p.max:1,p.handleTickRangeOptions()},_computeTickLimit:function(){var E,p=this;return p.isHorizontal()?Math.ceil(p.width/40):(E=ht.options._parseFont(p.options.ticks),Math.ceil(p.height/E.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(p,E){return this._getScaleLabel(this.chart.data.datasets[E].data[p])},getPixelForValue:function(p){var E=this;return E.getPixelForDecimal((+E.getRightValue(p)-E._startValue)/E._valueRange)},getValueForPixel:function(p){return this._startValue+this.getDecimalForPixel(p)*this._valueRange},getPixelForTick:function(p){var E=this.ticksAsNumbers;return p<0||p>E.length-1?null:this.getPixelForValue(E[p])}});xe._defaults=Zl;var Te=ht.valueOrDefault,ge=ht.math.log10;var Be={position:"left",ticks:{callback:zr.formatters.logarithmic}};function xt(p,E){return ht.isFinite(p)&&p>=0?p:E}var Dt=vo.extend({determineDataLimits:function(){var ve,ze,De,_t,Yt,Zt,p=this,E=p.options,N=p.chart,$=N.data.datasets,Q=p.isHorizontal();function de(Yr){return Q?Yr.xAxisID===p.id:Yr.yAxisID===p.id}p.min=Number.POSITIVE_INFINITY,p.max=Number.NEGATIVE_INFINITY,p.minNotZero=Number.POSITIVE_INFINITY;var wn=E.stacked;if(void 0===wn)for(ve=0;ve<$.length;ve++)if(ze=N.getDatasetMeta(ve),N.isDatasetVisible(ve)&&de(ze)&&void 0!==ze.stack){wn=!0;break}if(E.stacked||wn){var cr={};for(ve=0;ve<$.length;ve++){var sr=[(ze=N.getDatasetMeta(ve)).type,void 0===E.stacked&&void 0===ze.stack?ve:"",ze.stack].join(".");if(N.isDatasetVisible(ve)&&de(ze))for(void 0===cr[sr]&&(cr[sr]=[]),Yt=0,Zt=(_t=$[ve].data).length;Yt<Zt;Yt++){var Tr=cr[sr];De=p._parseValue(_t[Yt]),!(isNaN(De.min)||isNaN(De.max)||ze.data[Yt].hidden||De.min<0||De.max<0)&&(Tr[Yt]=Tr[Yt]||0,Tr[Yt]+=De.max)}}ht.each(cr,function(Yr){if(Yr.length>0){var Pi=ht.min(Yr),yo=ht.max(Yr);p.min=Math.min(p.min,Pi),p.max=Math.max(p.max,yo)}})}else for(ve=0;ve<$.length;ve++)if(ze=N.getDatasetMeta(ve),N.isDatasetVisible(ve)&&de(ze))for(Yt=0,Zt=(_t=$[ve].data).length;Yt<Zt;Yt++)De=p._parseValue(_t[Yt]),!(isNaN(De.min)||isNaN(De.max)||ze.data[Yt].hidden||De.min<0||De.max<0)&&(p.min=Math.min(De.min,p.min),p.max=Math.max(De.max,p.max),0!==De.min&&(p.minNotZero=Math.min(De.min,p.minNotZero)));p.min=ht.isFinite(p.min)?p.min:null,p.max=ht.isFinite(p.max)?p.max:null,p.minNotZero=ht.isFinite(p.minNotZero)?p.minNotZero:null,this.handleTickRangeOptions()},handleTickRangeOptions:function(){var p=this,E=p.options.ticks;p.min=xt(E.min,p.min),p.max=xt(E.max,p.max),p.min===p.max&&(0!==p.min&&null!==p.min?(p.min=Math.pow(10,Math.floor(ge(p.min))-1),p.max=Math.pow(10,Math.floor(ge(p.max))+1)):(p.min=1,p.max=10)),null===p.min&&(p.min=Math.pow(10,Math.floor(ge(p.max))-1)),null===p.max&&(p.max=0!==p.min?Math.pow(10,Math.floor(ge(p.min))+1):10),null===p.minNotZero&&(p.minNotZero=p.min>0?p.min:p.max<1?Math.pow(10,Math.floor(ge(p.max))):1)},buildTicks:function(){var p=this,E=p.options.ticks,N=!p.isHorizontal(),$={min:xt(E.min),max:xt(E.max)},Q=p.ticks=function(p,E){var ve,ze,N=[],$=Te(p.min,Math.pow(10,Math.floor(ge(E.min)))),Q=Math.floor(ge(E.max)),de=Math.ceil(E.max/Math.pow(10,Q));0===$?(ve=Math.floor(ge(E.minNotZero)),ze=Math.floor(E.minNotZero/Math.pow(10,ve)),N.push($),$=ze*Math.pow(10,ve)):(ve=Math.floor(ge($)),ze=Math.floor($/Math.pow(10,ve)));var De=ve<0?Math.pow(10,Math.abs(ve)):1;do{N.push($),10==++ze&&(ze=1,De=++ve>=0?1:De),$=Math.round(ze*Math.pow(10,ve)*De)/De}while(ve<Q||ve===Q&&ze<de);var _t=Te(p.max,$);return N.push(_t),N}($,p);p.max=ht.max(Q),p.min=ht.min(Q),E.reverse?(N=!N,p.start=p.max,p.end=p.min):(p.start=p.min,p.end=p.max),N&&Q.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),vo.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(p,E){return this._getScaleLabel(this.chart.data.datasets[E].data[p])},getPixelForTick:function(p){var E=this.tickValues;return p<0||p>E.length-1?null:this.getPixelForValue(E[p])},_getFirstTickValue:function(p){var E=Math.floor(ge(p));return Math.floor(p/Math.pow(10,E))*Math.pow(10,E)},_configure:function(){var p=this,E=p.min,N=0;vo.prototype._configure.call(p),0===E&&(E=p._getFirstTickValue(p.minNotZero),N=Te(p.options.ticks.fontSize,mn.global.defaultFontSize)/p._length),p._startValue=ge(E),p._valueOffset=N,p._valueRange=(ge(p.max)-ge(E))/(1-N)},getPixelForValue:function(p){var E=this,N=0;return(p=+E.getRightValue(p))>E.min&&p>0&&(N=(ge(p)-E._startValue)/E._valueRange+E._valueOffset),E.getPixelForDecimal(N)},getValueForPixel:function(p){var E=this,N=E.getDecimalForPixel(p);return 0===N&&0===E.min?0:Math.pow(10,E._startValue+(N-E._valueOffset)*E._valueRange)}});Dt._defaults=Be;var vn=ht.valueOrDefault,Gn=ht.valueAtIndexOrDefault,kn=ht.options.resolve,zn={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:zr.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(p){return p}}};function jr(p){var E=p.ticks;return E.display&&p.display?vn(E.fontSize,mn.global.defaultFontSize)+2*E.backdropPaddingY:0}function kr(p,E,N){return ht.isArray(N)?{w:ht.longestText(p,p.font,N),h:N.length*E}:{w:p.measureText(N).width,h:E}}function Gr(p,E,N,$,Q){return p===$||p===Q?{start:E-N/2,end:E+N/2}:p<$||p>Q?{start:E-N,end:E}:{start:E,end:E+N}}function Ci(p){return 0===p||180===p?"center":p<180?"left":"right"}function vi(p,E,N,$){var de,ve,Q=N.y+$/2;if(ht.isArray(E))for(de=0,ve=E.length;de<ve;++de)p.fillText(E[de],N.x,Q),Q+=$;else p.fillText(E,N.x,Q)}function Ai(p,E,N){90===p||270===p?N.y-=E.h/2:(p>270||p<90)&&(N.y-=E.h)}function No(p){return ht.isNumber(p)?p:0}var Ao=kl.extend({setDimensions:function(){var p=this;p.width=p.maxWidth,p.height=p.maxHeight,p.paddingTop=jr(p.options)/2,p.xCenter=Math.floor(p.width/2),p.yCenter=Math.floor((p.height-p.paddingTop)/2),p.drawingArea=Math.min(p.height-p.paddingTop,p.width)/2},determineDataLimits:function(){var p=this,E=p.chart,N=Number.POSITIVE_INFINITY,$=Number.NEGATIVE_INFINITY;ht.each(E.data.datasets,function(Q,de){if(E.isDatasetVisible(de)){var ve=E.getDatasetMeta(de);ht.each(Q.data,function(ze,De){var _t=+p.getRightValue(ze);isNaN(_t)||ve.data[De].hidden||(N=Math.min(_t,N),$=Math.max(_t,$))})}}),p.min=N===Number.POSITIVE_INFINITY?0:N,p.max=$===Number.NEGATIVE_INFINITY?0:$,p.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/jr(this.options))},convertTicksToLabels:function(){var p=this;kl.prototype.convertTicksToLabels.call(p),p.pointLabels=p.chart.data.labels.map(function(){var E=ht.callback(p.options.pointLabels.callback,arguments,p);return E||0===E?E:""})},getLabelForIndex:function(p,E){return+this.getRightValue(this.chart.data.datasets[E].data[p])},fit:function(){var p=this,E=p.options;E.display&&E.pointLabels.display?function(p){var Q,de,ve,E=ht.options._parseFont(p.options.pointLabels),N={l:0,r:p.width,t:0,b:p.height-p.paddingTop},$={};p.ctx.font=E.string,p._pointLabelSizes=[];var ze=p.chart.data.labels.length;for(Q=0;Q<ze;Q++){ve=p.getPointPosition(Q,p.drawingArea+5),de=kr(p.ctx,E.lineHeight,p.pointLabels[Q]),p._pointLabelSizes[Q]=de;var De=p.getIndexAngle(Q),_t=ht.toDegrees(De)%360,Yt=Gr(_t,ve.x,de.w,0,180),Zt=Gr(_t,ve.y,de.h,90,270);Yt.start<N.l&&(N.l=Yt.start,$.l=De),Yt.end>N.r&&(N.r=Yt.end,$.r=De),Zt.start<N.t&&(N.t=Zt.start,$.t=De),Zt.end>N.b&&(N.b=Zt.end,$.b=De)}p.setReductions(p.drawingArea,N,$)}(p):p.setCenterPoint(0,0,0,0)},setReductions:function(p,E,N){var $=this,Q=E.l/Math.sin(N.l),de=Math.max(E.r-$.width,0)/Math.sin(N.r),ve=-E.t/Math.cos(N.t),ze=-Math.max(E.b-($.height-$.paddingTop),0)/Math.cos(N.b);Q=No(Q),de=No(de),ve=No(ve),ze=No(ze),$.drawingArea=Math.min(Math.floor(p-(Q+de)/2),Math.floor(p-(ve+ze)/2)),$.setCenterPoint(Q,de,ve,ze)},setCenterPoint:function(p,E,N,$){var Q=this,ze=N+Q.drawingArea,De=Q.height-Q.paddingTop-$-Q.drawingArea;Q.xCenter=Math.floor((p+Q.drawingArea+(Q.width-E-Q.drawingArea))/2+Q.left),Q.yCenter=Math.floor((ze+De)/2+Q.top+Q.paddingTop)},getIndexAngle:function(p){var E=this.chart,de=(p*(360/E.data.labels.length)+((E.options||{}).startAngle||0))%360;return(de<0?de+360:de)*Math.PI*2/360},getDistanceFromCenterForValue:function(p){var E=this;if(ht.isNullOrUndef(p))return NaN;var N=E.drawingArea/(E.max-E.min);return E.options.ticks.reverse?(E.max-p)*N:(p-E.min)*N},getPointPosition:function(p,E){var N=this,$=N.getIndexAngle(p)-Math.PI/2;return{x:Math.cos($)*E+N.xCenter,y:Math.sin($)*E+N.yCenter}},getPointPositionForValue:function(p,E){return this.getPointPosition(p,this.getDistanceFromCenterForValue(E))},getBasePosition:function(p){var E=this,N=E.min,$=E.max;return E.getPointPositionForValue(p||0,E.beginAtZero?0:N<0&&$<0?$:N>0&&$>0?N:0)},_drawGrid:function(){var ze,De,_t,p=this,E=p.ctx,N=p.options,$=N.gridLines,Q=N.angleLines,de=vn(Q.lineWidth,$.lineWidth),ve=vn(Q.color,$.color);if(N.pointLabels.display&&function(p){var E=p.ctx,N=p.options,$=N.pointLabels,Q=jr(N),de=p.getDistanceFromCenterForValue(N.ticks.reverse?p.min:p.max),ve=ht.options._parseFont($);E.save(),E.font=ve.string,E.textBaseline="middle";for(var ze=p.chart.data.labels.length-1;ze>=0;ze--){var _t=p.getPointPosition(ze,de+(0===ze?Q/2:0)+5),Yt=Gn($.fontColor,ze,mn.global.defaultFontColor);E.fillStyle=Yt;var Zt=p.getIndexAngle(ze),wn=ht.toDegrees(Zt);E.textAlign=Ci(wn),Ai(wn,p._pointLabelSizes[ze],_t),vi(E,p.pointLabels[ze],_t,ve.lineHeight)}E.restore()}(p),$.display&&ht.each(p.ticks,function(Yt,Zt){0!==Zt&&(De=p.getDistanceFromCenterForValue(p.ticksAsNumbers[Zt]),function(p,E,N,$){var _t,Q=p.ctx,de=E.circular,ve=p.chart.data.labels.length,ze=Gn(E.color,$-1),De=Gn(E.lineWidth,$-1);if((de||ve)&&ze&&De){if(Q.save(),Q.strokeStyle=ze,Q.lineWidth=De,Q.setLineDash&&(Q.setLineDash(E.borderDash||[]),Q.lineDashOffset=E.borderDashOffset||0),Q.beginPath(),de)Q.arc(p.xCenter,p.yCenter,N,0,2*Math.PI);else{_t=p.getPointPosition(0,N),Q.moveTo(_t.x,_t.y);for(var Yt=1;Yt<ve;Yt++)_t=p.getPointPosition(Yt,N),Q.lineTo(_t.x,_t.y)}Q.closePath(),Q.stroke(),Q.restore()}}(p,$,De,Zt))}),Q.display&&de&&ve){for(E.save(),E.lineWidth=de,E.strokeStyle=ve,E.setLineDash&&(E.setLineDash(kn([Q.borderDash,$.borderDash,[]])),E.lineDashOffset=kn([Q.borderDashOffset,$.borderDashOffset,0])),ze=p.chart.data.labels.length-1;ze>=0;ze--)De=p.getDistanceFromCenterForValue(N.ticks.reverse?p.min:p.max),_t=p.getPointPosition(ze,De),E.beginPath(),E.moveTo(p.xCenter,p.yCenter),E.lineTo(_t.x,_t.y),E.stroke();E.restore()}},_drawLabels:function(){var p=this,E=p.ctx,$=p.options.ticks;if($.display){var ze,De,Q=p.getIndexAngle(0),de=ht.options._parseFont($),ve=vn($.fontColor,mn.global.defaultFontColor);E.save(),E.font=de.string,E.translate(p.xCenter,p.yCenter),E.rotate(Q),E.textAlign="center",E.textBaseline="middle",ht.each(p.ticks,function(_t,Yt){0===Yt&&!$.reverse||(ze=p.getDistanceFromCenterForValue(p.ticksAsNumbers[Yt]),$.showLabelBackdrop&&(De=E.measureText(_t).width,E.fillStyle=$.backdropColor,E.fillRect(-De/2-$.backdropPaddingX,-ze-de.size/2-$.backdropPaddingY,De+2*$.backdropPaddingX,de.size+2*$.backdropPaddingY)),E.fillStyle=ve,E.fillText(_t,0,-ze))}),E.restore()}},_drawTitle:ht.noop});Ao._defaults=zn;var So=ht._deprecated,Xi=ht.options.resolve,Zi=ht.valueOrDefault,Jo=Number.MIN_SAFE_INTEGER||-9007199254740991,Po=Number.MAX_SAFE_INTEGER||9007199254740991,ho={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Do=Object.keys(ho);function Ls(p,E){return p-E}function Us(p){return ht.valueOrDefault(p.time.min,p.ticks.min)}function Pa(p){return ht.valueOrDefault(p.time.max,p.ticks.max)}function ra(p,E,N,$){var Q=function(p,E,N){for(var de,ve,ze,$=0,Q=p.length-1;$>=0&&$<=Q;){if(ze=p[de=$+Q>>1],!(ve=p[de-1]||null))return{lo:null,hi:ze};if(ze[E]<N)$=de+1;else{if(!(ve[E]>N))return{lo:ve,hi:ze};Q=de-1}}return{lo:ze,hi:null}}(p,E,N),de=Q.lo?Q.hi?Q.lo:p[p.length-2]:p[0],ve=Q.lo?Q.hi?Q.hi:p[p.length-1]:p[1],ze=ve[E]-de[E];return de[$]+(ve[$]-de[$])*(ze?(N-de[E])/ze:0)}function rs(p,E){var N=p._adapter,$=p.options.time,Q=$.parser,de=Q||$.format,ve=E;return"function"==typeof Q&&(ve=Q(ve)),ht.isFinite(ve)||(ve="string"==typeof de?N.parse(ve,de):N.parse(ve)),null!==ve?+ve:(!Q&&"function"==typeof de&&(ve=de(E),ht.isFinite(ve)||(ve=N.parse(ve))),ve)}function wa(p,E){if(ht.isNullOrUndef(E))return null;var N=p.options.time,$=rs(p,p.getRightValue(E));return null===$||N.round&&($=+p._adapter.startOf($,N.round)),$}function Ws(p,E,N,$){var de,ve,Q=Do.length;for(de=Do.indexOf(p);de<Q-1;++de)if((ve=ho[Do[de]]).common&&Math.ceil((N-E)/((ve.steps?ve.steps:Po)*ve.size))<=$)return Do[de];return Do[Q-1]}function Zs(p,E,N){var ve,ze,$=[],Q={},de=E.length;for(ve=0;ve<de;++ve)Q[ze=E[ve]]=ve,$.push({value:ze,major:!1});return 0!==de&&N?function(p,E,N,$){var ze,De,Q=p._adapter,de=+Q.startOf(E[0].value,$),ve=E[E.length-1].value;for(ze=de;ze<=ve;ze=+Q.add(ze,1,$))(De=N[ze])>=0&&(E[De].major=!0);return E}(p,$,Q,N):$}var Ha=vo.extend({initialize:function(){this.mergeTicksOptions(),vo.prototype.initialize.call(this)},update:function(){var p=this,E=p.options,N=E.time||(E.time={}),$=p._adapter=new Fr._date(E.adapters.date);return So("time scale",N.format,"time.format","time.parser"),So("time scale",N.min,"time.min","ticks.min"),So("time scale",N.max,"time.max","ticks.max"),ht.mergeIf(N.displayFormats,$.formats()),vo.prototype.update.apply(p,arguments)},getRightValue:function(p){return p&&void 0!==p.t&&(p=p.t),vo.prototype.getRightValue.call(this,p)},determineDataLimits:function(){var Yt,Zt,wn,cr,sr,Tr,Yr,p=this,E=p.chart,N=p._adapter,$=p.options,Q=$.time.unit||"day",de=Po,ve=Jo,ze=[],De=[],_t=[],Pi=p._getLabels();for(Yt=0,wn=Pi.length;Yt<wn;++Yt)_t.push(wa(p,Pi[Yt]));for(Yt=0,wn=(E.data.datasets||[]).length;Yt<wn;++Yt)if(E.isDatasetVisible(Yt))if(ht.isObject((sr=E.data.datasets[Yt].data)[0]))for(De[Yt]=[],Zt=0,cr=sr.length;Zt<cr;++Zt)Tr=wa(p,sr[Zt]),ze.push(Tr),De[Yt][Zt]=Tr;else De[Yt]=_t.slice(0),Yr||(ze=ze.concat(_t),Yr=!0);else De[Yt]=[];_t.length&&(de=Math.min(de,_t[0]),ve=Math.max(ve,_t[_t.length-1])),ze.length&&(ze=wn>1?function(p){var $,Q,de,E={},N=[];for($=0,Q=p.length;$<Q;++$)E[de=p[$]]||(E[de]=!0,N.push(de));return N}(ze).sort(Ls):ze.sort(Ls),de=Math.min(de,ze[0]),ve=Math.max(ve,ze[ze.length-1])),de=wa(p,Us($))||de,ve=wa(p,Pa($))||ve,de=de===Po?+N.startOf(Date.now(),Q):de,ve=ve===Jo?+N.endOf(Date.now(),Q)+1:ve,p.min=Math.min(de,ve),p.max=Math.max(de+1,ve),p._table=[],p._timestamps={data:ze,datasets:De,labels:_t}},buildTicks:function(){var Zt,wn,cr,p=this,E=p.min,N=p.max,$=p.options,Q=$.ticks,de=$.time,ve=p._timestamps,ze=[],De=p.getLabelCapacity(E),_t=Q.source,Yt=$.distribution;for(ve="data"===_t||"auto"===_t&&"series"===Yt?ve.data:"labels"===_t?ve.labels:function(p,E,N,$){var wn,Q=p._adapter,de=p.options,ve=de.time,ze=ve.unit||Ws(ve.minUnit,E,N,$),De=Xi([ve.stepSize,ve.unitStepSize,1]),_t="week"===ze&&ve.isoWeekday,Yt=E,Zt=[];if(_t&&(Yt=+Q.startOf(Yt,"isoWeek",_t)),Yt=+Q.startOf(Yt,_t?"day":ze),Q.diff(N,E,ze)>1e5*De)throw E+" and "+N+" are too far apart with stepSize of "+De+" "+ze;for(wn=Yt;wn<N;wn=+Q.add(wn,De,ze))Zt.push(wn);return(wn===N||"ticks"===de.bounds)&&Zt.push(wn),Zt}(p,E,N,De),"ticks"===$.bounds&&ve.length&&(E=ve[0],N=ve[ve.length-1]),E=wa(p,Us($))||E,N=wa(p,Pa($))||N,Zt=0,wn=ve.length;Zt<wn;++Zt)(cr=ve[Zt])>=E&&cr<=N&&ze.push(cr);return p.min=E,p.max=N,p._unit=de.unit||(Q.autoSkip?Ws(de.minUnit,p.min,p.max,De):function(p,E,N,$,Q){var de,ve;for(de=Do.length-1;de>=Do.indexOf(N);de--)if(ho[ve=Do[de]].common&&p._adapter.diff(Q,$,ve)>=E-1)return ve;return Do[N?Do.indexOf(N):0]}(p,ze.length,de.minUnit,p.min,p.max)),p._majorUnit=Q.major.enabled&&"year"!==p._unit?function(p){for(var E=Do.indexOf(p)+1,N=Do.length;E<N;++E)if(ho[Do[E]].common)return Do[E]}(p._unit):void 0,p._table=function(p,E,N,$){if("linear"===$||!p.length)return[{time:E,pos:0},{time:N,pos:1}];var ve,ze,De,_t,Yt,Q=[],de=[E];for(ve=0,ze=p.length;ve<ze;++ve)(_t=p[ve])>E&&_t<N&&de.push(_t);for(de.push(N),ve=0,ze=de.length;ve<ze;++ve)Yt=de[ve+1],_t=de[ve],(void 0===(De=de[ve-1])||void 0===Yt||Math.round((Yt+De)/2)!==_t)&&Q.push({time:_t,pos:ve/(ze-1)});return Q}(p._timestamps.data,E,N,Yt),p._offsets=function(p,E,N,$,Q){var ze,De,de=0,ve=0;return Q.offset&&E.length&&(ze=ra(p,"time",E[0],"pos"),de=1===E.length?1-ze:(ra(p,"time",E[1],"pos")-ze)/2,De=ra(p,"time",E[E.length-1],"pos"),ve=1===E.length?De:(De-ra(p,"time",E[E.length-2],"pos"))/2),{start:de,end:ve,factor:1/(de+1+ve)}}(p._table,ze,0,0,$),Q.reverse&&ze.reverse(),Zs(p,ze,p._majorUnit)},getLabelForIndex:function(p,E){var N=this,$=N._adapter,Q=N.chart.data,de=N.options.time,ve=Q.labels&&p<Q.labels.length?Q.labels[p]:"",ze=Q.datasets[E].data[p];return ht.isObject(ze)&&(ve=N.getRightValue(ze)),de.tooltipFormat?$.format(rs(N,ve),de.tooltipFormat):"string"==typeof ve?ve:$.format(rs(N,ve),de.displayFormats.datetime)},tickFormatFunction:function(p,E,N,$){var Q=this,ve=Q.options,ze=ve.time.displayFormats,_t=Q._majorUnit,Yt=ze[_t],Zt=N[E],wn=ve.ticks,cr=_t&&Yt&&Zt&&Zt.major,sr=Q._adapter.format(p,$||(cr?Yt:ze[Q._unit])),Tr=cr?wn.major:wn.minor,Yr=Xi([Tr.callback,Tr.userCallback,wn.callback,wn.userCallback]);return Yr?Yr(sr,E,N):sr},convertTicksToLabels:function(p){var N,$,E=[];for(N=0,$=p.length;N<$;++N)E.push(this.tickFormatFunction(p[N].value,N,p));return E},getPixelForOffset:function(p){var E=this,N=E._offsets,$=ra(E._table,"time",p,"pos");return E.getPixelForDecimal((N.start+$)*N.factor)},getPixelForValue:function(p,E,N){var $=this,Q=null;if(void 0!==E&&void 0!==N&&(Q=$._timestamps.datasets[N][E]),null===Q&&(Q=wa($,p)),null!==Q)return $.getPixelForOffset(Q)},getPixelForTick:function(p){var E=this.getTicks();return p>=0&&p<E.length?this.getPixelForOffset(E[p].value):null},getValueForPixel:function(p){var E=this,N=E._offsets,$=E.getDecimalForPixel(p)/N.factor-N.end,Q=ra(E._table,"pos",$,"time");return E._adapter._create(Q)},_getLabelSize:function(p){var E=this,N=E.options.ticks,$=E.ctx.measureText(p).width,Q=ht.toRadians(E.isHorizontal()?N.maxRotation:N.minRotation),de=Math.cos(Q),ve=Math.sin(Q),ze=Zi(N.fontSize,mn.global.defaultFontSize);return{w:$*de+ze*ve,h:$*ve+ze*de}},getLabelWidth:function(p){return this._getLabelSize(p).w},getLabelCapacity:function(p){var E=this,N=E.options.time,$=N.displayFormats,Q=$[N.unit]||$.millisecond,de=E.tickFormatFunction(p,0,Zs(E,[p],E._majorUnit),Q),ve=E._getLabelSize(de),ze=Math.floor(E.isHorizontal()?E.width/ve.w:E.height/ve.h);return E.options.offset&&ze--,ze>0?ze:1}});Ha._defaults={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};var Ua={category:vc,linear:xe,logarithmic:Dt,radialLinear:Ao,time:Ha},al={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};Fr._date.override("function"==typeof t?{_id:"moment",formats:function(){return al},parse:function(p,E){return"string"==typeof p&&"string"==typeof E?p=t(p,E):p instanceof t||(p=t(p)),p.isValid()?p.valueOf():null},format:function(p,E){return t(p).format(E)},add:function(p,E,N){return t(p).add(E,N).valueOf()},diff:function(p,E,N){return t(p).diff(t(E),N)},startOf:function(p,E,N){return p=t(p),"isoWeek"===E?p.isoWeekday(N).valueOf():p.startOf(E).valueOf()},endOf:function(p,E){return t(p).endOf(E).valueOf()},_create:function(p){return t(p)}}:{}),mn._set("global",{plugins:{filler:{propagate:!0}}});var js={dataset:function(p){var E=p.fill,N=p.chart,$=N.getDatasetMeta(E),de=$&&N.isDatasetVisible(E)&&$.dataset._children||[],ve=de.length||0;return ve?function(ze,De){return De<ve&&de[De]._view||null}:null},boundary:function(p){var E=p.boundary,N=E?E.x:null,$=E?E.y:null;return ht.isArray(E)?function(Q,de){return E[de]}:function(Q){return{x:null===N?Q.x:N,y:null===$?Q.y:$}}}};function ll(p,E,N){var de,$=p._model||{},Q=$.fill;if(void 0===Q&&(Q=!!$.backgroundColor),!1===Q||null===Q)return!1;if(!0===Q)return"origin";if(de=parseFloat(Q,10),isFinite(de)&&Math.floor(de)===de)return("-"===Q[0]||"+"===Q[0])&&(de=E+de),!(de===E||de<0||de>=N)&&de;switch(Q){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return Q;default:return!1}}function ac(p){return(p.el._scale||{}).getPointPositionForValue?function(p){var ve,ze,De,_t,Yt,E=p.el._scale,N=E.options,$=E.chart.data.labels.length,Q=p.fill,de=[];if(!$)return null;for(ze=N.ticks.reverse?E.min:E.max,De=E.getPointPositionForValue(0,ve=N.ticks.reverse?E.max:E.min),_t=0;_t<$;++_t)Yt="start"===Q||"end"===Q?E.getPointPositionForValue(_t,"start"===Q?ve:ze):E.getBasePosition(_t),N.gridLines.circular&&(Yt.cx=De.x,Yt.cy=De.y,Yt.angle=E.getIndexAngle(_t)-Math.PI/2),de.push(Yt);return de}(p):function(p){var de,E=p.el._model||{},N=p.el._scale||{},$=p.fill,Q=null;if(isFinite($))return null;if("start"===$?Q=void 0===E.scaleBottom?N.bottom:E.scaleBottom:"end"===$?Q=void 0===E.scaleTop?N.top:E.scaleTop:void 0!==E.scaleZero?Q=E.scaleZero:N.getBasePixel&&(Q=N.getBasePixel()),null!=Q){if(void 0!==Q.x&&void 0!==Q.y)return Q;if(ht.isFinite(Q))return{x:(de=N.isHorizontal())?Q:null,y:de?null:Q}}return null}(p)}function Ga(p,E,N){var ve,Q=p[E].fill,de=[E];if(!N)return Q;for(;!1!==Q&&-1===de.indexOf(Q);){if(!isFinite(Q))return Q;if(!(ve=p[Q]))return!1;if(ve.visible)return Q;de.push(Q),Q=ve.fill}return!1}function $i(p){var E=p.fill,N="dataset";return!1===E?null:(isFinite(E)||(N="boundary"),js[N](p))}function Cc(p){return p&&!p.skip}function _c(p,E,N,$,Q){var de,ve,ze,De;if($&&Q){for(p.moveTo(E[0].x,E[0].y),de=1;de<$;++de)ht.canvas.lineTo(p,E[de-1],E[de]);if(void 0!==N[0].angle){for(ve=N[0].cx,ze=N[0].cy,De=Math.sqrt(Math.pow(N[0].x-ve,2)+Math.pow(N[0].y-ze,2)),de=Q-1;de>0;--de)p.arc(ve,ze,De,N[de].angle,N[de-1].angle,!0);return}for(p.lineTo(N[Q-1].x,N[Q-1].y),de=Q-1;de>0;--de)ht.canvas.lineTo(p,N[de],N[de-1],!0)}}function ml(p,E,N,$,Q,de){var wn,cr,sr,Tr,Yr,Pi,yo,To,ve=E.length,ze=$.spanGaps,De=[],_t=[],Yt=0,Zt=0;for(p.beginPath(),wn=0,cr=ve;wn<cr;++wn)Yr=N(Tr=E[sr=wn%ve]._view,sr,$),Pi=Cc(Tr),yo=Cc(Yr),de&&void 0===To&&Pi&&(cr=ve+(To=wn+1)),Pi&&yo?(Yt=De.push(Tr),Zt=_t.push(Yr)):Yt&&Zt&&(ze?(Pi&&De.push(Tr),yo&&_t.push(Yr)):(_c(p,De,_t,Yt,Zt),Yt=Zt=0,De=[],_t=[]));_c(p,De,_t,Yt,Zt),p.closePath(),p.fillStyle=Q,p.fill()}var _a={id:"filler",afterDatasetsUpdate:function(p,E){var de,ve,ze,De,N=(p.data.datasets||[]).length,$=E.propagate,Q=[];for(ve=0;ve<N;++ve)De=null,(ze=(de=p.getDatasetMeta(ve)).dataset)&&ze._model&&ze instanceof Vr.Line&&(De={visible:p.isDatasetVisible(ve),fill:ll(ze,ve,N),chart:p,el:ze}),de.$filler=De,Q.push(De);for(ve=0;ve<N;++ve)(De=Q[ve])&&(De.fill=Ga(Q,ve,$),De.boundary=ac(De),De.mapper=$i(De))},beforeDatasetsDraw:function(p){var $,Q,de,ve,ze,De,_t,E=p._getSortedVisibleDatasetMetas(),N=p.ctx;for(Q=E.length-1;Q>=0;--Q)($=E[Q].$filler)&&$.visible&&(ze=(de=$.el)._children||[],_t=(ve=de._view).backgroundColor||mn.global.defaultColor,(De=$.mapper)&&_t&&ze.length&&(ht.canvas.clipArea(N,p.chartArea),ml(N,ze,De,ve,_t,de._loop),ht.canvas.unclipArea(N)))}},tu=ht.rtl.getRtlAdapter,lc=ht.noop,Sc=ht.valueOrDefault;function Tu(p,E){return p.usePointStyle&&p.boxWidth>E?E:p.boxWidth}mn._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(p,E){var N=E.datasetIndex,$=this.chart,Q=$.getDatasetMeta(N);Q.hidden=null===Q.hidden?!$.data.datasets[N].hidden:null,$.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(p){var E=p.data.datasets,N=p.options.legend||{},$=N.labels&&N.labels.usePointStyle;return p._getSortedDatasetMetas().map(function(Q){var de=Q.controller.getStyle($?0:void 0);return{text:E[Q.index].label,fillStyle:de.backgroundColor,hidden:!p.isDatasetVisible(Q.index),lineCap:de.borderCapStyle,lineDash:de.borderDash,lineDashOffset:de.borderDashOffset,lineJoin:de.borderJoinStyle,lineWidth:de.borderWidth,strokeStyle:de.borderColor,pointStyle:de.pointStyle,rotation:de.rotation,datasetIndex:Q.index}},this)}}},legendCallback:function(p){var $,Q,de,E=document.createElement("ul"),N=p.data.datasets;for(E.setAttribute("class",p.id+"-legend"),$=0,Q=N.length;$<Q;$++)(de=E.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=N[$].backgroundColor,N[$].label&&de.appendChild(document.createTextNode(N[$].label));return E.outerHTML}});var nu=ot.extend({initialize:function(p){var E=this;ht.extend(E,p),E.legendHitBoxes=[],E._hoveredItem=null,E.doughnutMode=!1},beforeUpdate:lc,update:function(p,E,N){var $=this;return $.beforeUpdate(),$.maxWidth=p,$.maxHeight=E,$.margins=N,$.beforeSetDimensions(),$.setDimensions(),$.afterSetDimensions(),$.beforeBuildLabels(),$.buildLabels(),$.afterBuildLabels(),$.beforeFit(),$.fit(),$.afterFit(),$.afterUpdate(),$.minSize},afterUpdate:lc,beforeSetDimensions:lc,setDimensions:function(){var p=this;p.isHorizontal()?(p.width=p.maxWidth,p.left=0,p.right=p.width):(p.height=p.maxHeight,p.top=0,p.bottom=p.height),p.paddingLeft=0,p.paddingTop=0,p.paddingRight=0,p.paddingBottom=0,p.minSize={width:0,height:0}},afterSetDimensions:lc,beforeBuildLabels:lc,buildLabels:function(){var p=this,E=p.options.labels||{},N=ht.callback(E.generateLabels,[p.chart],p)||[];E.filter&&(N=N.filter(function($){return E.filter($,p.chart.data)})),p.options.reverse&&N.reverse(),p.legendItems=N},afterBuildLabels:lc,beforeFit:lc,fit:function(){var p=this,E=p.options,N=E.labels,$=E.display,Q=p.ctx,de=ht.options._parseFont(N),ve=de.size,ze=p.legendHitBoxes=[],De=p.minSize,_t=p.isHorizontal();if(_t?(De.width=p.maxWidth,De.height=$?10:0):(De.width=$?10:0,De.height=p.maxHeight),$){if(Q.font=de.string,_t){var Yt=p.lineWidths=[0],Zt=0;Q.textAlign="left",Q.textBaseline="middle",ht.each(p.legendItems,function(yo,To){var Go=Tu(N,ve)+ve/2+Q.measureText(yo.text).width;(0===To||Yt[Yt.length-1]+Go+2*N.padding>De.width)&&(Zt+=ve+N.padding,Yt[Yt.length-(To>0?0:1)]=0),ze[To]={left:0,top:0,width:Go,height:ve},Yt[Yt.length-1]+=Go+N.padding}),De.height+=Zt}else{var wn=N.padding,cr=p.columnWidths=[],sr=p.columnHeights=[],Tr=N.padding,Yr=0,Pi=0;ht.each(p.legendItems,function(yo,To){var Go=Tu(N,ve)+ve/2+Q.measureText(yo.text).width;To>0&&Pi+ve+2*wn>De.height&&(Tr+=Yr+N.padding,cr.push(Yr),sr.push(Pi),Yr=0,Pi=0),Yr=Math.max(Yr,Go),Pi+=ve+wn,ze[To]={left:0,top:0,width:Go,height:ve}}),Tr+=Yr,cr.push(Yr),sr.push(Pi),De.width+=Tr}p.width=De.width,p.height=De.height}else p.width=De.width=p.height=De.height=0},afterFit:lc,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var p=this,E=p.options,N=E.labels,$=mn.global,Q=$.defaultColor,de=$.elements.line,ve=p.height,ze=p.columnHeights,De=p.width,_t=p.lineWidths;if(E.display){var Tr,Yt=tu(E.rtl,p.left,p.minSize.width),Zt=p.ctx,wn=Sc(N.fontColor,$.defaultFontColor),cr=ht.options._parseFont(N),sr=cr.size;Zt.textAlign=Yt.textAlign("left"),Zt.textBaseline="middle",Zt.lineWidth=.5,Zt.strokeStyle=wn,Zt.fillStyle=wn,Zt.font=cr.string;var Yr=Tu(N,sr),Pi=p.legendHitBoxes,Qo=function(Cs,Ss){switch(E.align){case"start":return N.padding;case"end":return Cs-Ss;default:return(Cs-Ss+N.padding)/2}},Go=p.isHorizontal();Tr=Go?{x:p.left+Qo(De,_t[0]),y:p.top+N.padding,line:0}:{x:p.left+N.padding,y:p.top+Qo(ve,ze[0]),line:0},ht.rtl.overrideTextDirection(p.ctx,E.textDirection);var As=sr+N.padding;ht.each(p.legendItems,function(Cs,Ss){var Is=Zt.measureText(Cs.text).width,Da=Yr+sr/2+Is,vl=Tr.x,za=Tr.y;Yt.setWidth(p.minSize.width),Go?Ss>0&&vl+Da+N.padding>p.left+p.minSize.width&&(za=Tr.y+=As,Tr.line++,vl=Tr.x=p.left+Qo(De,_t[Tr.line])):Ss>0&&za+As>p.top+p.minSize.height&&(vl=Tr.x=vl+p.columnWidths[Tr.line]+N.padding,Tr.line++,za=Tr.y=p.top+Qo(ve,ze[Tr.line]));var Xa=Yt.x(vl);(function(Cs,Ss,Is){if(!(isNaN(Yr)||Yr<=0)){Zt.save();var Da=Sc(Is.lineWidth,de.borderWidth);if(Zt.fillStyle=Sc(Is.fillStyle,Q),Zt.lineCap=Sc(Is.lineCap,de.borderCapStyle),Zt.lineDashOffset=Sc(Is.lineDashOffset,de.borderDashOffset),Zt.lineJoin=Sc(Is.lineJoin,de.borderJoinStyle),Zt.lineWidth=Da,Zt.strokeStyle=Sc(Is.strokeStyle,Q),Zt.setLineDash&&Zt.setLineDash(Sc(Is.lineDash,de.borderDash)),N&&N.usePointStyle){var vl=Yr*Math.SQRT2/2,za=Yt.xPlus(Cs,Yr/2);ht.canvas.drawPoint(Zt,Is.pointStyle,vl,za,Ss+sr/2,Is.rotation)}else Zt.fillRect(Yt.leftForLtr(Cs,Yr),Ss,Yr,sr),0!==Da&&Zt.strokeRect(Yt.leftForLtr(Cs,Yr),Ss,Yr,sr);Zt.restore()}})(Xa,za,Cs),Pi[Ss].left=Yt.leftForLtr(Xa,Pi[Ss].width),Pi[Ss].top=za,function(Cs,Ss,Is,Da){var vl=sr/2,za=Yt.xPlus(Cs,Yr+vl),Xa=Ss+vl;Zt.fillText(Is.text,za,Xa),Is.hidden&&(Zt.beginPath(),Zt.lineWidth=2,Zt.moveTo(za,Xa),Zt.lineTo(Yt.xPlus(za,Da),Xa),Zt.stroke())}(Xa,za,Cs,Is),Go?Tr.x+=Da+N.padding:Tr.y+=As}),ht.rtl.restoreTextDirection(p.ctx,E.textDirection)}},_getLegendItemAt:function(p,E){var $,Q,de,N=this;if(p>=N.left&&p<=N.right&&E>=N.top&&E<=N.bottom)for(de=N.legendHitBoxes,$=0;$<de.length;++$)if(p>=(Q=de[$]).left&&p<=Q.left+Q.width&&E>=Q.top&&E<=Q.top+Q.height)return N.legendItems[$];return null},handleEvent:function(p){var Q,E=this,N=E.options,$="mouseup"===p.type?"click":p.type;if("mousemove"===$){if(!N.onHover&&!N.onLeave)return}else{if("click"!==$)return;if(!N.onClick)return}Q=E._getLegendItemAt(p.x,p.y),"click"===$?Q&&N.onClick&&N.onClick.call(E,p.native,Q):(N.onLeave&&Q!==E._hoveredItem&&(E._hoveredItem&&N.onLeave.call(E,p.native,E._hoveredItem),E._hoveredItem=Q),N.onHover&&Q&&N.onHover.call(E,p.native,Q))}});function xl(p,E){var N=new nu({ctx:p.ctx,options:E,chart:p});ja.configure(p,N,E),ja.addBox(p,N),p.legend=N}var Gl={id:"legend",_element:nu,beforeInit:function(p){var E=p.options.legend;E&&xl(p,E)},beforeUpdate:function(p){var E=p.options.legend,N=p.legend;E?(ht.mergeIf(E,mn.global.legend),N?(ja.configure(p,N,E),N.options=E):xl(p,E)):N&&(ja.removeBox(p,N),delete p.legend)},afterEvent:function(p,E){var N=p.legend;N&&N.handleEvent(E)}},nl=ht.noop;mn._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var rl=ot.extend({initialize:function(p){ht.extend(this,p),this.legendHitBoxes=[]},beforeUpdate:nl,update:function(p,E,N){var $=this;return $.beforeUpdate(),$.maxWidth=p,$.maxHeight=E,$.margins=N,$.beforeSetDimensions(),$.setDimensions(),$.afterSetDimensions(),$.beforeBuildLabels(),$.buildLabels(),$.afterBuildLabels(),$.beforeFit(),$.fit(),$.afterFit(),$.afterUpdate(),$.minSize},afterUpdate:nl,beforeSetDimensions:nl,setDimensions:function(){var p=this;p.isHorizontal()?(p.width=p.maxWidth,p.left=0,p.right=p.width):(p.height=p.maxHeight,p.top=0,p.bottom=p.height),p.paddingLeft=0,p.paddingTop=0,p.paddingRight=0,p.paddingBottom=0,p.minSize={width:0,height:0}},afterSetDimensions:nl,beforeBuildLabels:nl,buildLabels:nl,afterBuildLabels:nl,beforeFit:nl,fit:function(){var de,p=this,E=p.options,N=p.minSize={},$=p.isHorizontal();E.display?(de=(ht.isArray(E.text)?E.text.length:1)*ht.options._parseFont(E).lineHeight+2*E.padding,p.width=N.width=$?p.maxWidth:de,p.height=N.height=$?de:p.maxHeight):p.width=N.width=p.height=N.height=0},afterFit:nl,isHorizontal:function(){var p=this.options.position;return"top"===p||"bottom"===p},draw:function(){var p=this,E=p.ctx,N=p.options;if(N.display){var Zt,wn,cr,$=ht.options._parseFont(N),Q=$.lineHeight,de=Q/2+N.padding,ve=0,ze=p.top,De=p.left,_t=p.bottom,Yt=p.right;E.fillStyle=ht.valueOrDefault(N.fontColor,mn.global.defaultFontColor),E.font=$.string,p.isHorizontal()?(wn=De+(Yt-De)/2,cr=ze+de,Zt=Yt-De):(wn="left"===N.position?De+de:Yt-de,cr=ze+(_t-ze)/2,Zt=_t-ze,ve=Math.PI*("left"===N.position?-.5:.5)),E.save(),E.translate(wn,cr),E.rotate(ve),E.textAlign="center",E.textBaseline="middle";var sr=N.text;if(ht.isArray(sr))for(var Tr=0,Yr=0;Yr<sr.length;++Yr)E.fillText(sr[Yr],0,Tr,Zt),Tr+=Q;else E.fillText(sr,0,0,Zt);E.restore()}}});function El(p,E){var N=new rl({ctx:p.ctx,options:E,chart:p});ja.configure(p,N,E),ja.addBox(p,N),p.titleBlock=N}var Rc={},cc=_a,il=Gl,ul={id:"title",_element:rl,beforeInit:function(p){var E=p.options.title;E&&El(p,E)},beforeUpdate:function(p){var E=p.options.title,N=p.titleBlock;E?(ht.mergeIf(E,mn.global.title),N?(ja.configure(p,N,E),N.options=E):El(p,E)):N&&(ja.removeBox(p,N),delete p.titleBlock)}};for(var Jl in Rc.filler=cc,Rc.legend=il,Rc.title=ul,Bt.helpers=ht,function(){function p($,Q,de){var ve;return"string"==typeof $?(ve=parseInt($,10),-1!==$.indexOf("%")&&(ve=ve/100*Q.parentNode[de])):ve=$,ve}function E($){return null!=$&&"none"!==$}function N($,Q,de){var ve=document.defaultView,ze=ht._getParentNode($),De=ve.getComputedStyle($)[Q],_t=ve.getComputedStyle(ze)[Q],Yt=E(De),Zt=E(_t),wn=Number.POSITIVE_INFINITY;return Yt||Zt?Math.min(Yt?p(De,$,de):wn,Zt?p(_t,ze,de):wn):"none"}ht.where=function($,Q){if(ht.isArray($)&&Array.prototype.filter)return $.filter(Q);var de=[];return ht.each($,function(ve){Q(ve)&&de.push(ve)}),de},ht.findIndex=Array.prototype.findIndex?function($,Q,de){return $.findIndex(Q,de)}:function($,Q,de){de=void 0===de?$:de;for(var ve=0,ze=$.length;ve<ze;++ve)if(Q.call(de,$[ve],ve,$))return ve;return-1},ht.findNextWhere=function($,Q,de){ht.isNullOrUndef(de)&&(de=-1);for(var ve=de+1;ve<$.length;ve++){var ze=$[ve];if(Q(ze))return ze}},ht.findPreviousWhere=function($,Q,de){ht.isNullOrUndef(de)&&(de=$.length);for(var ve=de-1;ve>=0;ve--){var ze=$[ve];if(Q(ze))return ze}},ht.isNumber=function($){return!isNaN(parseFloat($))&&isFinite($)},ht.almostEquals=function($,Q,de){return Math.abs($-Q)<de},ht.almostWhole=function($,Q){var de=Math.round($);return de-Q<=$&&de+Q>=$},ht.max=function($){return $.reduce(function(Q,de){return isNaN(de)?Q:Math.max(Q,de)},Number.NEGATIVE_INFINITY)},ht.min=function($){return $.reduce(function(Q,de){return isNaN(de)?Q:Math.min(Q,de)},Number.POSITIVE_INFINITY)},ht.sign=Math.sign?function($){return Math.sign($)}:function($){return 0==($=+$)||isNaN($)?$:$>0?1:-1},ht.toRadians=function($){return $*(Math.PI/180)},ht.toDegrees=function($){return $*(180/Math.PI)},ht._decimalPlaces=function($){if(ht.isFinite($)){for(var Q=1,de=0;Math.round($*Q)/Q!==$;)Q*=10,de++;return de}},ht.getAngleFromPoint=function($,Q){var de=Q.x-$.x,ve=Q.y-$.y,ze=Math.sqrt(de*de+ve*ve),De=Math.atan2(ve,de);return De<-.5*Math.PI&&(De+=2*Math.PI),{angle:De,distance:ze}},ht.distanceBetweenPoints=function($,Q){return Math.sqrt(Math.pow(Q.x-$.x,2)+Math.pow(Q.y-$.y,2))},ht.aliasPixel=function($){return $%2==0?0:.5},ht._alignPixel=function($,Q,de){var ve=$.currentDevicePixelRatio,ze=de/2;return Math.round((Q-ze)*ve)/ve+ze},ht.splineCurve=function($,Q,de,ve){var ze=$.skip?Q:$,De=Q,_t=de.skip?Q:de,Yt=Math.sqrt(Math.pow(De.x-ze.x,2)+Math.pow(De.y-ze.y,2)),Zt=Math.sqrt(Math.pow(_t.x-De.x,2)+Math.pow(_t.y-De.y,2)),wn=Yt/(Yt+Zt),cr=Zt/(Yt+Zt),sr=ve*(wn=isNaN(wn)?0:wn),Tr=ve*(cr=isNaN(cr)?0:cr);return{previous:{x:De.x-sr*(_t.x-ze.x),y:De.y-sr*(_t.y-ze.y)},next:{x:De.x+Tr*(_t.x-ze.x),y:De.y+Tr*(_t.y-ze.y)}}},ht.EPSILON=Number.EPSILON||1e-14,ht.splineCurveMonotone=function($){var ve,ze,De,_t,Zt,wn,cr,sr,Tr,Q=($||[]).map(function(Yr){return{model:Yr._model,deltaK:0,mK:0}}),de=Q.length;for(ve=0;ve<de;++ve)if(!(De=Q[ve]).model.skip){if(ze=ve>0?Q[ve-1]:null,(_t=ve<de-1?Q[ve+1]:null)&&!_t.model.skip){var Yt=_t.model.x-De.model.x;De.deltaK=0!==Yt?(_t.model.y-De.model.y)/Yt:0}De.mK=!ze||ze.model.skip?De.deltaK:!_t||_t.model.skip?ze.deltaK:this.sign(ze.deltaK)!==this.sign(De.deltaK)?0:(ze.deltaK+De.deltaK)/2}for(ve=0;ve<de-1;++ve)if(_t=Q[ve+1],!(De=Q[ve]).model.skip&&!_t.model.skip){if(ht.almostEquals(De.deltaK,0,this.EPSILON)){De.mK=_t.mK=0;continue}Zt=De.mK/De.deltaK,wn=_t.mK/De.deltaK,!((sr=Math.pow(Zt,2)+Math.pow(wn,2))<=9)&&(cr=3/Math.sqrt(sr),De.mK=Zt*cr*De.deltaK,_t.mK=wn*cr*De.deltaK)}for(ve=0;ve<de;++ve)!(De=Q[ve]).model.skip&&(_t=ve<de-1?Q[ve+1]:null,(ze=ve>0?Q[ve-1]:null)&&!ze.model.skip&&(De.model.controlPointPreviousX=De.model.x-(Tr=(De.model.x-ze.model.x)/3),De.model.controlPointPreviousY=De.model.y-Tr*De.mK),_t&&!_t.model.skip&&(De.model.controlPointNextX=De.model.x+(Tr=(_t.model.x-De.model.x)/3),De.model.controlPointNextY=De.model.y+Tr*De.mK))},ht.nextItem=function($,Q,de){return de?Q>=$.length-1?$[0]:$[Q+1]:Q>=$.length-1?$[$.length-1]:$[Q+1]},ht.previousItem=function($,Q,de){return de?Q<=0?$[$.length-1]:$[Q-1]:Q<=0?$[0]:$[Q-1]},ht.niceNum=function($,Q){var de=Math.floor(ht.log10($)),ve=$/Math.pow(10,de);return(Q?ve<1.5?1:ve<3?2:ve<7?5:10:ve<=1?1:ve<=2?2:ve<=5?5:10)*Math.pow(10,de)},ht.requestAnimFrame="undefined"==typeof window?function($){$()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function($){return window.setTimeout($,1e3/60)},ht.getRelativePosition=function($,Q){var de,ve,ze=$.originalEvent||$,De=$.target||$.srcElement,_t=De.getBoundingClientRect(),Yt=ze.touches;Yt&&Yt.length>0?(de=Yt[0].clientX,ve=Yt[0].clientY):(de=ze.clientX,ve=ze.clientY);var Zt=parseFloat(ht.getStyle(De,"padding-left")),wn=parseFloat(ht.getStyle(De,"padding-top")),cr=parseFloat(ht.getStyle(De,"padding-right")),sr=parseFloat(ht.getStyle(De,"padding-bottom")),Yr=_t.bottom-_t.top-wn-sr;return{x:de=Math.round((de-_t.left-Zt)/(_t.right-_t.left-Zt-cr)*De.width/Q.currentDevicePixelRatio),y:ve=Math.round((ve-_t.top-wn)/Yr*De.height/Q.currentDevicePixelRatio)}},ht.getConstraintWidth=function($){return N($,"max-width","clientWidth")},ht.getConstraintHeight=function($){return N($,"max-height","clientHeight")},ht._calculatePadding=function($,Q,de){return(Q=ht.getStyle($,Q)).indexOf("%")>-1?de*parseInt(Q,10)/100:parseInt(Q,10)},ht._getParentNode=function($){var Q=$.parentNode;return Q&&"[object ShadowRoot]"===Q.toString()&&(Q=Q.host),Q},ht.getMaximumWidth=function($){var Q=ht._getParentNode($);if(!Q)return $.clientWidth;var de=Q.clientWidth,De=de-ht._calculatePadding(Q,"padding-left",de)-ht._calculatePadding(Q,"padding-right",de),_t=ht.getConstraintWidth($);return isNaN(_t)?De:Math.min(De,_t)},ht.getMaximumHeight=function($){var Q=ht._getParentNode($);if(!Q)return $.clientHeight;var de=Q.clientHeight,De=de-ht._calculatePadding(Q,"padding-top",de)-ht._calculatePadding(Q,"padding-bottom",de),_t=ht.getConstraintHeight($);return isNaN(_t)?De:Math.min(De,_t)},ht.getStyle=function($,Q){return $.currentStyle?$.currentStyle[Q]:document.defaultView.getComputedStyle($,null).getPropertyValue(Q)},ht.retinaScale=function($,Q){var de=$.currentDevicePixelRatio=Q||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==de){var ve=$.canvas,ze=$.height,De=$.width;ve.height=ze*de,ve.width=De*de,$.ctx.scale(de,de),!ve.style.height&&!ve.style.width&&(ve.style.height=ze+"px",ve.style.width=De+"px")}},ht.fontString=function($,Q,de){return Q+" "+$+"px "+de},ht.longestText=function($,Q,de,ve){var ze=(ve=ve||{}).data=ve.data||{},De=ve.garbageCollect=ve.garbageCollect||[];ve.font!==Q&&(ze=ve.data={},De=ve.garbageCollect=[],ve.font=Q),$.font=Q;var Zt,wn,cr,sr,Tr,_t=0,Yt=de.length;for(Zt=0;Zt<Yt;Zt++)if(null!=(sr=de[Zt])&&!0!==ht.isArray(sr))_t=ht.measureText($,ze,De,_t,sr);else if(ht.isArray(sr))for(wn=0,cr=sr.length;wn<cr;wn++)null!=(Tr=sr[wn])&&!ht.isArray(Tr)&&(_t=ht.measureText($,ze,De,_t,Tr));var Yr=De.length/2;if(Yr>de.length){for(Zt=0;Zt<Yr;Zt++)delete ze[De[Zt]];De.splice(0,Yr)}return _t},ht.measureText=function($,Q,de,ve,ze){var De=Q[ze];return De||(De=Q[ze]=$.measureText(ze).width,de.push(ze)),De>ve&&(ve=De),ve},ht.numberOfLabelLines=function($){var Q=1;return ht.each($,function(de){ht.isArray(de)&&de.length>Q&&(Q=de.length)}),Q},ht.color=er?function($){return $ instanceof CanvasGradient&&($=mn.global.defaultColor),er($)}:function($){return console.error("Color.js not found!"),$},ht.getHoverColor=function($){return $ instanceof CanvasPattern||$ instanceof CanvasGradient?$:ht.color($).saturate(.5).darken(.1).rgbString()}}(),Bt._adapters=Fr,Bt.Animation=sn,Bt.animationService=An,Bt.controllers=ti,Bt.DatasetController=br,Bt.defaults=mn,Bt.Element=ot,Bt.elements=Vr,Bt.Interaction=ws,Bt.layouts=ja,Bt.platform=pa,Bt.plugins=Vo,Bt.Scale=vo,Bt.scaleService=Ba,Bt.Ticks=zr,Bt.Tooltip=Ui,Bt.helpers.each(Ua,function(p,E){Bt.scaleService.registerScaleType(E,p,p._defaults)}),Rc)Rc.hasOwnProperty(Jl)&&Bt.plugins.register(Rc[Jl]);Bt.platform.initialize();var Rl=Bt;return"undefined"!=typeof window&&(window.Chart=Bt),Bt.Chart=Bt,Bt.Legend=Rc.legend._element,Bt.Title=Rc.title._element,Bt.pluginService=Bt.plugins,Bt.PluginBase=Bt.Element.extend({}),Bt.canvasHelpers=Bt.helpers.canvas,Bt.layoutService=Bt.layouts,Bt.LinearScaleBase=kl,Bt.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],function(p){Bt[p]=function(E,N){return new Bt(E,Bt.helpers.merge(N||{},{type:p.charAt(0).toLowerCase()+p.slice(1)}))}}),Rl}(function(){try{return o(16738)}catch(s){}}())},2665:Ge=>{Ge.exports=function(o,t){for(var e=[],s=0;s<o.length;s++){var a=t(o[s],s);g(a)?e.push.apply(e,a):e.push(a)}return e};var g=Array.isArray||function(o){return"[object Array]"===Object.prototype.toString.call(o)}},97057:(Ge,g,o)=>{"use strict";o.d(g,{qY:()=>D});var e=function(J,B,ie){this.name=J,this.version=B,this.os=ie,this.type="browser"},s=function(J){this.version=J,this.type="node",this.name="node",this.os=process.platform},a=function(J,B,ie,oe){this.name=J,this.version=B,this.os=ie,this.bot=oe,this.type="bot-device"},l=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},u=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},_=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,b=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FBAV\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],T=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function D(I){return I?H(I):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new u:"undefined"!=typeof navigator?H(navigator.userAgent):"undefined"!=typeof process&&process.version?new s(process.version.slice(1)):null}function H(I){var J=function(I){return""!==I&&b.reduce(function(J,B){var ie=B[0];if(J)return J;var fe=B[1].exec(I);return!!fe&&[ie,fe]},!1)}(I);if(!J)return null;var B=J[0],ie=J[1];if("searchbot"===B)return new l;var oe=ie[1]&&ie[1].split(/[._]/).slice(0,3);oe?oe.length<3&&(oe=function(){for(var I=0,J=0,B=arguments.length;J<B;J++)I+=arguments[J].length;var ie=Array(I),oe=0;for(J=0;J<B;J++)for(var fe=arguments[J],ne=0,he=fe.length;ne<he;ne++,oe++)ie[oe]=fe[ne];return ie}(oe,function(I){for(var J=[],B=0;B<I;B++)J.push("0");return J}(3-oe.length))):oe=[];var fe=oe.join("."),ne=function(I){for(var J=0,B=T.length;J<B;J++){var ie=T[J],oe=ie[0];if(ie[1].exec(I))return oe}return null}(I),he=_.exec(I);return he&&he[1]?new a(B,fe,ne,he[1]):new e(B,fe,ne)}},49457:function(Ge,g){var o,e;void 0!==(e="function"==typeof(o=function(){"use strict";function a(m,b,T){var D=new XMLHttpRequest;D.open("GET",m),D.responseType="blob",D.onload=function(){_(D.response,b,T)},D.onerror=function(){console.error("could not download file")},D.send()}function l(m){var b=new XMLHttpRequest;b.open("HEAD",m,!1);try{b.send()}catch(T){}return 200<=b.status&&299>=b.status}function u(m){try{m.dispatchEvent(new MouseEvent("click"))}catch(T){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),m.dispatchEvent(b)}}var h="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,_=h.saveAs||("object"!=typeof window||window!==h?function(){}:"download"in HTMLAnchorElement.prototype?function(m,b,T){var D=h.URL||h.webkitURL,R=document.createElement("a");R.download=b=b||m.name||"download",R.rel="noopener","string"==typeof m?(R.href=m,R.origin===location.origin?u(R):l(R.href)?a(m,b,T):u(R,R.target="_blank")):(R.href=D.createObjectURL(m),setTimeout(function(){D.revokeObjectURL(R.href)},4e4),setTimeout(function(){u(R)},0))}:"msSaveOrOpenBlob"in navigator?function(m,b,T){if(b=b||m.name||"download","string"!=typeof m)navigator.msSaveOrOpenBlob(function(m,b){return void 0===b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Deprecated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(m.type)?new Blob(["\ufeff",m],{type:m.type}):m}(m,T),b);else if(l(m))a(m,b,T);else{var D=document.createElement("a");D.href=m,D.target="_blank",setTimeout(function(){u(D)})}}:function(m,b,T,D){if((D=D||open("","_blank"))&&(D.document.title=D.document.body.innerText="downloading..."),"string"==typeof m)return a(m,b,T);var R="application/octet-stream"===m.type,j=/constructor/i.test(h.HTMLElement)||h.safari,H=/CriOS\/[\d]+/.test(navigator.userAgent);if((H||R&&j)&&"object"==typeof FileReader){var z=new FileReader;z.onloadend=function(){var I=z.result;I=H?I:I.replace(/^data:[^;]*;/,"data:attachment/file;"),D?D.location.href=I:location=I,D=null},z.readAsDataURL(m)}else{var U=h.URL||h.webkitURL,M=U.createObjectURL(m);D?D.location=M:location.href=M,D=null,setTimeout(function(){U.revokeObjectURL(M)},4e4)}});h.saveAs=_.saveAs=_,Ge.exports=_})?o.apply(g,[]):o)&&(Ge.exports=e)},86906:Ge=>{var e=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt,h="object"==typeof global&&global&&global.Object===Object&&global,_="object"==typeof self&&self&&self.Object===Object&&self,m=h||_||Function("return this")(),T=Object.prototype.toString,D=Math.max,R=Math.min,j=function(){return m.Date.now()};function z(J){var B=typeof J;return!!J&&("object"==B||"function"==B)}function I(J){if("number"==typeof J)return J;if(function(J){return"symbol"==typeof J||function(J){return!!J&&"object"==typeof J}(J)&&"[object Symbol]"==T.call(J)}(J))return NaN;if(z(J)){var B="function"==typeof J.valueOf?J.valueOf():J;J=z(B)?B+"":B}if("string"!=typeof J)return 0===J?J:+J;J=J.replace(e,"");var ie=a.test(J);return ie||l.test(J)?u(J.slice(2),ie?2:8):s.test(J)?NaN:+J}Ge.exports=function(J,B,ie){var oe,fe,ne,he,ce,Ae,Se=0,Oe=!1,be=!1,ue=!0;if("function"!=typeof J)throw new TypeError("Expected a function");function He(Qe){var It=oe,ae=fe;return oe=fe=void 0,Se=Qe,he=J.apply(ae,It)}function $e(Qe){return Se=Qe,ce=setTimeout(Et,B),Oe?He(Qe):he}function je(Qe){var It=Qe-Ae;return void 0===Ae||It>=B||It<0||be&&Qe-Se>=ne}function Et(){var Qe=j();if(je(Qe))return lt(Qe);ce=setTimeout(Et,function(Qe){var Ie=B-(Qe-Ae);return be?R(Ie,ne-(Qe-Se)):Ie}(Qe))}function lt(Qe){return ce=void 0,ue&&oe?He(Qe):(oe=fe=void 0,he)}function Ot(){var Qe=j(),It=je(Qe);if(oe=arguments,fe=this,Ae=Qe,It){if(void 0===ce)return $e(Ae);if(be)return ce=setTimeout(Et,B),He(Ae)}return void 0===ce&&(ce=setTimeout(Et,B)),he}return B=I(B)||0,z(ie)&&(Oe=!!ie.leading,ne=(be="maxWait"in ie)?D(I(ie.maxWait)||0,B):ne,ue="trailing"in ie?!!ie.trailing:ue),Ot.cancel=function(){void 0!==ce&&clearTimeout(ce),Se=0,oe=Ae=fe=ce=void 0},Ot.flush=function(){return void 0===ce?he:lt(j())},Ot}},66941:Ge=>{var Ln,o="__lodash_hash_undefined__",a=/^\[object .+?Constructor\]$/,l="object"==typeof global&&global&&global.Object===Object&&global,u="object"==typeof self&&self&&self.Object===Object&&self,h=l||u||Function("return this")(),b=Array.prototype,T=Function.prototype,D=Object.prototype,R=h["__core-js_shared__"],j=(Ln=/[^.]+$/.exec(R&&R.keys&&R.keys.IE_PROTO||""))?"Symbol(src)_1."+Ln:"",H=T.toString,z=D.hasOwnProperty,U=D.toString,M=RegExp("^"+H.call(z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),I=b.splice,J=It(h,"Map"),B=It(Object,"create");function ie(Ln){var Rn=-1,er=Ln?Ln.length:0;for(this.clear();++Rn<er;){var Mn=Ln[Rn];this.set(Mn[0],Mn[1])}}function Ae(Ln){var Rn=-1,er=Ln?Ln.length:0;for(this.clear();++Rn<er;){var Mn=Ln[Rn];this.set(Mn[0],Mn[1])}}function $e(Ln){var Rn=-1,er=Ln?Ln.length:0;for(this.clear();++Rn<er;){var Mn=Ln[Rn];this.set(Mn[0],Mn[1])}}function St(Ln,Rn){for(var er=Ln.length;er--;)if(zt(Ln[er][0],Rn))return er;return-1}function Qe(Ln,Rn){var er=Ln.__data__;return function(Ln){var Rn=typeof Ln;return"string"==Rn||"number"==Rn||"symbol"==Rn||"boolean"==Rn?"__proto__"!==Ln:null===Ln}(Rn)?er["string"==typeof Rn?"string":"hash"]:er.map}function It(Ln,Rn){var er=function(Ln,Rn){return null==Ln?void 0:Ln[Rn]}(Ln,Rn);return function(Ln){return!(!ar(Ln)||function(Ln){return!!j&&j in Ln}(Ln))&&(function(Ln){var Rn=ar(Ln)?U.call(Ln):"";return"[object Function]"==Rn||"[object GeneratorFunction]"==Rn}(Ln)||function(Ln){var Rn=!1;if(null!=Ln&&"function"!=typeof Ln.toString)try{Rn=!!(Ln+"")}catch(er){}return Rn}(Ln)?M:a).test(function(Ln){if(null!=Ln){try{return H.call(Ln)}catch(Rn){}try{return Ln+""}catch(Rn){}}return""}(Ln))}(er)?er:void 0}function Jt(Ln,Rn){if("function"!=typeof Ln||Rn&&"function"!=typeof Rn)throw new TypeError("Expected a function");var er=function(){var Mn=arguments,Ht=Rn?Rn.apply(this,Mn):Mn[0],tr=er.cache;if(tr.has(Ht))return tr.get(Ht);var Yn=Ln.apply(this,Mn);return er.cache=tr.set(Ht,Yn),Yn};return er.cache=new(Jt.Cache||$e),er}function zt(Ln,Rn){return Ln===Rn||Ln!=Ln&&Rn!=Rn}function ar(Ln){var Rn=typeof Ln;return!!Ln&&("object"==Rn||"function"==Rn)}ie.prototype.clear=function(){this.__data__=B?B(null):{}},ie.prototype.delete=function(Ln){return this.has(Ln)&&delete this.__data__[Ln]},ie.prototype.get=function(Ln){var Rn=this.__data__;if(B){var er=Rn[Ln];return er===o?void 0:er}return z.call(Rn,Ln)?Rn[Ln]:void 0},ie.prototype.has=function(Ln){var Rn=this.__data__;return B?void 0!==Rn[Ln]:z.call(Rn,Ln)},ie.prototype.set=function(Ln,Rn){return this.__data__[Ln]=B&&void 0===Rn?o:Rn,this},Ae.prototype.clear=function(){this.__data__=[]},Ae.prototype.delete=function(Ln){var Rn=this.__data__,er=St(Rn,Ln);return!(er<0||(er==Rn.length-1?Rn.pop():I.call(Rn,er,1),0))},Ae.prototype.get=function(Ln){var Rn=this.__data__,er=St(Rn,Ln);return er<0?void 0:Rn[er][1]},Ae.prototype.has=function(Ln){return St(this.__data__,Ln)>-1},Ae.prototype.set=function(Ln,Rn){var er=this.__data__,Mn=St(er,Ln);return Mn<0?er.push([Ln,Rn]):er[Mn][1]=Rn,this},$e.prototype.clear=function(){this.__data__={hash:new ie,map:new(J||Ae),string:new ie}},$e.prototype.delete=function(Ln){return Qe(this,Ln).delete(Ln)},$e.prototype.get=function(Ln){return Qe(this,Ln).get(Ln)},$e.prototype.has=function(Ln){return Qe(this,Ln).has(Ln)},$e.prototype.set=function(Ln,Rn){return Qe(this,Ln).set(Ln,Rn),this},Jt.Cache=$e,Ge.exports=Jt},6123:Ge=>{var g="Expected a function",e=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt,h="object"==typeof global&&global&&global.Object===Object&&global,_="object"==typeof self&&self&&self.Object===Object&&self,m=h||_||Function("return this")(),T=Object.prototype.toString,D=Math.max,R=Math.min,j=function(){return m.Date.now()};function U(B){var ie=typeof B;return!!B&&("object"==ie||"function"==ie)}function J(B){if("number"==typeof B)return B;if(function(B){return"symbol"==typeof B||function(B){return!!B&&"object"==typeof B}(B)&&"[object Symbol]"==T.call(B)}(B))return NaN;if(U(B)){var ie="function"==typeof B.valueOf?B.valueOf():B;B=U(ie)?ie+"":ie}if("string"!=typeof B)return 0===B?B:+B;B=B.replace(e,"");var oe=a.test(B);return oe||l.test(B)?u(B.slice(2),oe?2:8):s.test(B)?NaN:+B}Ge.exports=function(B,ie,oe){var fe=!0,ne=!0;if("function"!=typeof B)throw new TypeError(g);return U(oe)&&(fe="leading"in oe?!!oe.leading:fe,ne="trailing"in oe?!!oe.trailing:ne),function(B,ie,oe){var fe,ne,he,ce,Ae,Se,Oe=0,be=!1,ue=!1,He=!0;if("function"!=typeof B)throw new TypeError(g);function $e(It){var ae=fe,Ie=ne;return fe=ne=void 0,Oe=It,ce=B.apply(Ie,ae)}function F(It){return Oe=It,Ae=setTimeout(lt,ie),be?$e(It):ce}function Et(It){var ae=It-Se;return void 0===Se||ae>=ie||ae<0||ue&&It-Oe>=he}function lt(){var It=j();if(Et(It))return nn(It);Ae=setTimeout(lt,function(It){var dt=ie-(It-Se);return ue?R(dt,he-(It-Oe)):dt}(It))}function nn(It){return Ae=void 0,He&&fe?$e(It):(fe=ne=void 0,ce)}function Qe(){var It=j(),ae=Et(It);if(fe=arguments,ne=this,Se=It,ae){if(void 0===Ae)return F(Se);if(ue)return Ae=setTimeout(lt,ie),$e(Se)}return void 0===Ae&&(Ae=setTimeout(lt,ie)),ce}return ie=J(ie)||0,U(oe)&&(be=!!oe.leading,he=(ue="maxWait"in oe)?D(J(oe.maxWait)||0,ie):he,He="trailing"in oe?!!oe.trailing:He),Qe.cancel=function(){void 0!==Ae&&clearTimeout(Ae),Oe=0,fe=Se=ne=Ae=void 0},Qe.flush=function(){return void 0===Ae?ce:nn(j())},Qe}(B,ie,{leading:fe,maxWait:ie,trailing:ne})}},23815:function(Ge,g,o){var t;Ge=o.nmd(Ge),function(){var e,u="Expected a function",_="__lodash_hash_undefined__",b="__lodash_placeholder__",B=32,He=1/0,$e=9007199254740991,Et=4294967295,St=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",B],["partialRight",64],["rearg",256]],Ot="[object Arguments]",Qe="[object Array]",ae="[object Boolean]",Ie="[object Date]",Jt="[object Error]",zt="[object Function]",ln="[object GeneratorFunction]",ar="[object Map]",Ln="[object Number]",er="[object Object]",Mn="[object Promise]",tr="[object RegExp]",Yn="[object Set]",Cn="[object String]",Kt="[object Symbol]",Kn="[object WeakMap]",Sn="[object ArrayBuffer]",$n="[object DataView]",En="[object Float32Array]",Fn="[object Float64Array]",Dn="[object Int8Array]",mn="[object Int16Array]",jn="[object Int32Array]",Xt="[object Uint8Array]",ut="[object Uint8ClampedArray]",mt="[object Uint16Array]",Tt="[object Uint32Array]",yn=/\b__p \+= '';/g,et=/\b(__p \+=) '' \+/g,jt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,hn=/&(?:amp|lt|gt|quot|#39);/g,Qn=/[&<>"']/g,Ir=RegExp(hn.source),ht=RegExp(Qn.source),L=/<%-([\s\S]+?)%>/g,Ue=/<%([\s\S]+?)%>/g,nt=/<%=([\s\S]+?)%>/g,at=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,it=/^\w*$/,Pt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ut=/[\\^$.*+?()[\]{}|]/g,ot=RegExp(Ut.source),Nn=/^\s+/,sn=/\s/,An=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bn=/\{\n\/\* \[wrapped with (.+)\] \*/,ir=/,? & /,mr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_r=/[()=,{}\[\]\/\s]/,Nr=/\\(\\)?/g,br=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Jn=/\w*$/,rr=/^[-+]0x[0-9a-f]+$/i,Mr=/^0b[01]+$/i,yi=/^\[object .+?Constructor\]$/,Li=/^0o[0-7]+$/i,Mi=/^(?:0|[1-9]\d*)$/,Oi=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xr=/($^)/,Kr=/['\n\r\u2028\u2029\\]/g,di="\\ud800-\\udfff",Xe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Vt="\\u2700-\\u27bf",Ct="a-z\\xdf-\\xf6\\xf8-\\xff",or="A-Z\\xc0-\\xd6\\xd8-\\xde",Vn="\\ufe0e\\ufe0f",Vr="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ai="["+di+"]",Dr="["+Vr+"]",Jr="["+Xe+"]",rn="\\d+",fi="["+Vt+"]",Ei="["+Ct+"]",wi="[^"+di+Vr+rn+Vt+Ct+or+"]",_o="\\ud83c[\\udffb-\\udfff]",to="[^"+di+"]",qi="(?:\\ud83c[\\udde6-\\uddff]){2}",Wi="[\\ud800-\\udbff][\\udc00-\\udfff]",eo="["+or+"]",Wo="(?:"+Ei+"|"+wi+")",Ro="(?:"+eo+"|"+wi+")",Bo="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ko="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",ts="(?:"+Jr+"|"+_o+")?",ua="["+Vn+"]?",Er=ua+ts+"(?:\\u200d(?:"+[to,qi,Wi].join("|")+")"+ua+ts+")*",st="(?:"+[fi,qi,Wi].join("|")+")"+Er,pn="(?:"+[to+Jr+"?",Jr,qi,Wi,ai].join("|")+")",ee=RegExp("['\u2019]","g"),Ve=RegExp(Jr,"g"),fn=RegExp(_o+"(?="+_o+")|"+pn+Er,"g"),Tn=RegExp([eo+"?"+Ei+"+"+Bo+"(?="+[Dr,eo,"$"].join("|")+")",Ro+"+"+Ko+"(?="+[Dr,eo+Wo,"$"].join("|")+")",eo+"?"+Wo+"+"+Bo,eo+"+"+Ko,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rn,st].join("|"),"g"),$r=RegExp("[\\u200d"+di+Xe+Vn+"]"),ti=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ri=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],wo=-1,gi={};gi[En]=gi[Fn]=gi[Dn]=gi[mn]=gi[jn]=gi[Xt]=gi[ut]=gi[mt]=gi[Tt]=!0,gi[Ot]=gi[Qe]=gi[Sn]=gi[ae]=gi[$n]=gi[Ie]=gi[Jt]=gi[zt]=gi[ar]=gi[Ln]=gi[er]=gi[tr]=gi[Yn]=gi[Cn]=gi[Kn]=!1;var Hi={};Hi[Ot]=Hi[Qe]=Hi[Sn]=Hi[$n]=Hi[ae]=Hi[Ie]=Hi[En]=Hi[Fn]=Hi[Dn]=Hi[mn]=Hi[jn]=Hi[ar]=Hi[Ln]=Hi[er]=Hi[tr]=Hi[Yn]=Hi[Cn]=Hi[Kt]=Hi[Xt]=Hi[ut]=Hi[mt]=Hi[Tt]=!0,Hi[Jt]=Hi[zt]=Hi[Kn]=!1;var da={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},xa=parseFloat,Ra=parseInt,Al="object"==typeof global&&global&&global.Object===Object&&global,Dl="object"==typeof self&&self&&self.Object===Object&&self,Sa=Al||Dl||Function("return this")(),sa=g&&!g.nodeType&&g,Fo=sa&&Ge&&!Ge.nodeType&&Ge,tl=Fo&&Fo.exports===sa,Ma=tl&&Al.process,fa=function(){try{return Fo&&Fo.require&&Fo.require("util").types||Ma&&Ma.binding&&Ma.binding("util")}catch(lr){}}(),Hs=fa&&fa.isArrayBuffer,ja=fa&&fa.isDate,pt=fa&&fa.isMap,an=fa&&fa.isRegExp,Nt=fa&&fa.isSet,Ce=fa&&fa.isTypedArray;function ye(Un,lr,dr){switch(dr.length){case 0:return Un.call(lr);case 1:return Un.call(lr,dr[0]);case 2:return Un.call(lr,dr[0],dr[1]);case 3:return Un.call(lr,dr[0],dr[1],dr[2])}return Un.apply(lr,dr)}function Ne(Un,lr,dr,li){for(var Ti=-1,Oo=null==Un?0:Un.length;++Ti<Oo;){var es=Un[Ti];lr(li,es,dr(es),Un)}return li}function Wt(Un,lr){for(var dr=-1,li=null==Un?0:Un.length;++dr<li&&!1!==lr(Un[dr],dr,Un););return Un}function Or(Un,lr){for(var dr=null==Un?0:Un.length;dr--&&!1!==lr(Un[dr],dr,Un););return Un}function Ni(Un,lr){for(var dr=-1,li=null==Un?0:Un.length;++dr<li;)if(!lr(Un[dr],dr,Un))return!1;return!0}function Yo(Un,lr){for(var dr=-1,li=null==Un?0:Un.length,Ti=0,Oo=[];++dr<li;){var es=Un[dr];lr(es,dr,Un)&&(Oo[Ti++]=es)}return Oo}function vs(Un,lr){return!(null==Un||!Un.length)&&Qa(Un,lr,0)>-1}function as(Un,lr,dr){for(var li=-1,Ti=null==Un?0:Un.length;++li<Ti;)if(dr(lr,Un[li]))return!0;return!1}function Lo(Un,lr){for(var dr=-1,li=null==Un?0:Un.length,Ti=Array(li);++dr<li;)Ti[dr]=lr(Un[dr],dr,Un);return Ti}function Zo(Un,lr){for(var dr=-1,li=lr.length,Ti=Un.length;++dr<li;)Un[Ti+dr]=lr[dr];return Un}function Ta(Un,lr,dr,li){var Ti=-1,Oo=null==Un?0:Un.length;for(li&&Oo&&(dr=Un[++Ti]);++Ti<Oo;)dr=lr(dr,Un[Ti],Ti,Un);return dr}function hl(Un,lr,dr,li){var Ti=null==Un?0:Un.length;for(li&&Ti&&(dr=Un[--Ti]);Ti--;)dr=lr(dr,Un[Ti],Ti,Un);return dr}function Oa(Un,lr){for(var dr=-1,li=null==Un?0:Un.length;++dr<li;)if(lr(Un[dr],dr,Un))return!0;return!1}var ba=Na("length");function wl(Un,lr,dr){var li;return dr(Un,function(Ti,Oo,es){if(lr(Ti,Oo,es))return li=Oo,!1}),li}function _l(Un,lr,dr,li){for(var Ti=Un.length,Oo=dr+(li?1:-1);li?Oo--:++Oo<Ti;)if(lr(Un[Oo],Oo,Un))return Oo;return-1}function Qa(Un,lr,dr){return lr==lr?function(Un,lr,dr){for(var li=dr-1,Ti=Un.length;++li<Ti;)if(Un[li]===lr)return li;return-1}(Un,lr,dr):_l(Un,Il,dr)}function sl(Un,lr,dr,li){for(var Ti=dr-1,Oo=Un.length;++Ti<Oo;)if(li(Un[Ti],lr))return Ti;return-1}function Il(Un){return Un!=Un}function Yl(Un,lr){var dr=null==Un?0:Un.length;return dr?Vo(Un,lr)/dr:NaN}function Na(Un){return function(lr){return null==lr?e:lr[Un]}}function Di(Un){return function(lr){return null==Un?e:Un[lr]}}function ys(Un,lr,dr,li,Ti){return Ti(Un,function(Oo,es,jo){dr=li?(li=!1,Oo):lr(dr,Oo,es,jo)}),dr}function Vo(Un,lr){for(var dr,li=-1,Ti=Un.length;++li<Ti;){var Oo=lr(Un[li]);Oo!==e&&(dr=dr===e?Oo:dr+Oo)}return dr}function Ba(Un,lr){for(var dr=-1,li=Array(Un);++dr<Un;)li[dr]=lr(dr);return li}function We(Un){return Un&&Un.slice(0,Bt(Un)+1).replace(Nn,"")}function wt(Un){return function(lr){return Un(lr)}}function kt(Un,lr){return Lo(lr,function(dr){return Un[dr]})}function tn(Un,lr){return Un.has(lr)}function ur(Un,lr){for(var dr=-1,li=Un.length;++dr<li&&Qa(lr,Un[dr],0)>-1;);return dr}function gn(Un,lr){for(var dr=Un.length;dr--&&Qa(lr,Un[dr],0)>-1;);return dr}function xr(Un,lr){for(var dr=Un.length,li=0;dr--;)Un[dr]===lr&&++li;return li}var Zr=Di({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),Pr=Di({"&":"&","<":"<",">":">",'"':""","'":"'"});function mi(Un){return"\\"+da[Un]}function si(Un){return $r.test(Un)}function ro(Un){var lr=-1,dr=Array(Un.size);return Un.forEach(function(li,Ti){dr[++lr]=[Ti,li]}),dr}function mo(Un,lr){return function(dr){return Un(lr(dr))}}function Bi(Un,lr){for(var dr=-1,li=Un.length,Ti=0,Oo=[];++dr<li;){var es=Un[dr];(es===lr||es===b)&&(Un[dr]=b,Oo[Ti++]=dr)}return Oo}function hi(Un){var lr=-1,dr=Array(Un.size);return Un.forEach(function(li){dr[++lr]=li}),dr}function ft(Un){return si(Un)?function(Un){for(var lr=fn.lastIndex=0;fn.test(Un);)++lr;return lr}(Un):ba(Un)}function Ft(Un){return si(Un)?function(Un){return Un.match(fn)||[]}(Un):function(Un){return Un.split("")}(Un)}function Bt(Un){for(var lr=Un.length;lr--&&sn.test(Un.charAt(lr)););return lr}var In=Di({"&":"&","<":"<",">":">",""":'"',"'":"'"}),zr=function Un(lr){var O,dr=(lr=null==lr?Sa:zr.defaults(Sa.Object(),lr,zr.pick(Sa,Ri))).Array,li=lr.Date,Ti=lr.Error,Oo=lr.Function,es=lr.Math,jo=lr.Object,uo=lr.RegExp,Ki=lr.String,Ho=lr.TypeError,Yi=dr.prototype,ha=jo.prototype,gl=lr["__core-js_shared__"],Hn=Oo.prototype.toString,Ts=ha.hasOwnProperty,Ll=0,Hl=(O=/[^.]+$/.exec(gl&&gl.keys&&gl.keys.IE_PROTO||""))?"Symbol(src)_1."+O:"",vo=ha.toString,Ds=Hn.call(jo),zc=Sa._,vc=uo("^"+Hn.call(Ts).replace(Ut,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),hc=tl?lr.Buffer:e,Fl=lr.Symbol,Cl=lr.Uint8Array,ql=hc?hc.allocUnsafe:e,kl=mo(jo.getPrototypeOf,jo),Zl=jo.create,eu=ha.propertyIsEnumerable,Je=Yi.splice,Fe=Fl?Fl.isConcatSpreadable:e,we=Fl?Fl.iterator:e,Mt=Fl?Fl.toStringTag:e,xe=function(){try{var O=su(jo,"defineProperty");return O({},"",{}),O}catch(Y){}}(),ke=lr.clearTimeout!==Sa.clearTimeout&&lr.clearTimeout,Te=li&&li.now!==Sa.Date.now&&li.now,ge=lr.setTimeout!==Sa.setTimeout&&lr.setTimeout,Re=es.ceil,Be=es.floor,xt=jo.getOwnPropertySymbols,Dt=hc?hc.isBuffer:e,en=lr.isFinite,vn=Yi.join,Gn=mo(jo.keys,jo),kn=es.max,zn=es.min,jr=li.now,kr=lr.parseInt,Gr=es.random,ci=Yi.reverse,Ci=su(lr,"DataView"),vi=su(lr,"Map"),Ai=su(lr,"Promise"),fo=su(lr,"Set"),po=su(lr,"WeakMap"),No=su(jo,"create"),Ao=po&&new po,io={},So=jc(Ci),Xi=jc(vi),Zi=jc(Ai),Jo=jc(fo),Po=jc(po),ho=Fl?Fl.prototype:e,Do=ho?ho.valueOf:e,Ls=ho?ho.toString:e;function _n(O){if(pc(O)&&!ui(O)&&!(O instanceof so)){if(O instanceof Aa)return O;if(Ts.call(O,"__wrapped__"))return Zf(O)}return new Aa(O)}var Us=function(){function O(){}return function(Y){if(!ga(Y))return{};if(Zl)return Zl(Y);O.prototype=Y;var _e=new O;return O.prototype=e,_e}}();function Pa(){}function Aa(O,Y){this.__wrapped__=O,this.__actions__=[],this.__chain__=!!Y,this.__index__=0,this.__values__=e}function so(O){this.__wrapped__=O,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Et,this.__views__=[]}function Ws(O){var Y=-1,_e=null==O?0:O.length;for(this.clear();++Y<_e;){var gt=O[Y];this.set(gt[0],gt[1])}}function Zs(O){var Y=-1,_e=null==O?0:O.length;for(this.clear();++Y<_e;){var gt=O[Y];this.set(gt[0],gt[1])}}function js(O){var Y=-1,_e=null==O?0:O.length;for(this.clear();++Y<_e;){var gt=O[Y];this.set(gt[0],gt[1])}}function $i(O){var Y=-1,_e=null==O?0:O.length;for(this.__data__=new js;++Y<_e;)this.add(O[Y])}function ml(O){var Y=this.__data__=new Zs(O);this.size=Y.size}function nu(O,Y){var _e=ui(O),gt=!_e&&Rr(O),un=!_e&&!gt&&yl(O),Zn=!_e&&!gt&&!un&&th(O),gr=_e||gt||un||Zn,Lr=gr?Ba(O.length,Ki):[],Qr=Lr.length;for(var Ji in O)(Y||Ts.call(O,Ji))&&(!gr||!("length"==Ji||un&&("offset"==Ji||"parent"==Ji)||Zn&&("buffer"==Ji||"byteLength"==Ji||"byteOffset"==Ji)||mu(Ji,Qr)))&&Lr.push(Ji);return Lr}function xl(O){var Y=O.length;return Y?O[Cd(0,Y-1)]:e}function Gl(O,Y){return Xc(_i(O),Rl(Y,0,O.length))}function nl(O){return Xc(_i(O))}function rl(O,Y,_e){(_e!==e&&!At(O[Y],_e)||_e===e&&!(Y in O))&&ul(O,Y,_e)}function El(O,Y,_e){var gt=O[Y];(!Ts.call(O,Y)||!At(gt,_e)||_e===e&&!(Y in O))&&ul(O,Y,_e)}function cl(O,Y){for(var _e=O.length;_e--;)if(At(O[_e][0],Y))return _e;return-1}function Rc(O,Y,_e,gt){return de(O,function(un,Zn,gr){Y(gt,un,_e(un),gr)}),gt}function cc(O,Y){return O&&ji(Y,Yc(Y),O)}function ul(O,Y,_e){"__proto__"==Y&&xe?xe(O,Y,{configurable:!0,enumerable:!0,value:_e,writable:!0}):O[Y]=_e}function Jl(O,Y){for(var _e=-1,gt=Y.length,un=dr(gt),Zn=null==O;++_e<gt;)un[_e]=Zn?e:Xf(O,Y[_e]);return un}function Rl(O,Y,_e){return O==O&&(_e!==e&&(O=O<=_e?O:_e),Y!==e&&(O=O>=Y?O:Y)),O}function p(O,Y,_e,gt,un,Zn){var gr,Lr=1&Y,Qr=2&Y,Ji=4&Y;if(_e&&(gr=un?_e(O,gt,un,Zn):_e(O)),gr!==e)return gr;if(!ga(O))return O;var Qi=ui(O);if(Qi){if(gr=function(O){var Y=O.length,_e=new O.constructor(Y);return Y&&"string"==typeof O[0]&&Ts.call(O,"index")&&(_e.index=O.index,_e.input=O.input),_e}(O),!Lr)return _i(O,gr)}else{var lo=Bl(O),Xo=lo==zt||lo==ln;if(yl(O))return cf(O,Lr);if(lo==er||lo==Ot||Xo&&!un){if(gr=Qr||Xo?{}:Fu(O),!Lr)return Qr?function(O,Y){return ji(O,mc(O),Y)}(O,function(O,Y){return O&&ji(Y,Zc(Y),O)}(gr,O)):function(O,Y){return ji(O,Zd(O),Y)}(O,cc(gr,O))}else{if(!Hi[lo])return un?O:{};gr=function(O,Y,_e){var gt=O.constructor;switch(Y){case Sn:return kf(O);case ae:case Ie:return new gt(+O);case $n:return function(O,Y){var _e=Y?kf(O.buffer):O.buffer;return new O.constructor(_e,O.byteOffset,O.byteLength)}(O,_e);case En:case Fn:case Dn:case mn:case jn:case Xt:case ut:case mt:case Tt:return K(O,_e);case ar:return new gt;case Ln:case Cn:return new gt(O);case tr:return function(O){var Y=new O.constructor(O.source,Jn.exec(O));return Y.lastIndex=O.lastIndex,Y}(O);case Yn:return new gt;case Kt:return function(O){return Do?jo(Do.call(O)):{}}(O)}}(O,lo,Lr)}}Zn||(Zn=new ml);var Os=Zn.get(O);if(Os)return Os;Zn.set(O,gr),Pm(O)?O.forEach(function(ta){gr.add(p(ta,Y,_e,ta,O,Zn))}):wm(O)&&O.forEach(function(ta,el){gr.set(el,p(ta,Y,_e,el,O,Zn))});var La=Qi?e:(Ji?Qr?ff:Bd:Qr?Zc:Yc)(O);return Wt(La||O,function(ta,el){La&&(ta=O[el=ta]),El(gr,el,p(ta,Y,_e,el,O,Zn))}),gr}function N(O,Y,_e){var gt=_e.length;if(null==O)return!gt;for(O=jo(O);gt--;){var un=_e[gt],gr=O[un];if(gr===e&&!(un in O)||!(0,Y[un])(gr))return!1}return!0}function $(O,Y,_e){if("function"!=typeof O)throw new Ho(u);return Gd(function(){O.apply(e,_e)},Y)}function Q(O,Y,_e,gt){var un=-1,Zn=vs,gr=!0,Lr=O.length,Qr=[],Ji=Y.length;if(!Lr)return Qr;_e&&(Y=Lo(Y,wt(_e))),gt?(Zn=as,gr=!1):Y.length>=200&&(Zn=tn,gr=!1,Y=new $i(Y));e:for(;++un<Lr;){var Qi=O[un],lo=null==_e?Qi:_e(Qi);if(Qi=gt||0!==Qi?Qi:0,gr&&lo==lo){for(var Xo=Ji;Xo--;)if(Y[Xo]===lo)continue e;Qr.push(Qi)}else Zn(Y,lo,gt)||Qr.push(Qi)}return Qr}_n.templateSettings={escape:L,evaluate:Ue,interpolate:nt,variable:"",imports:{_:_n}},(_n.prototype=Pa.prototype).constructor=_n,(Aa.prototype=Us(Pa.prototype)).constructor=Aa,(so.prototype=Us(Pa.prototype)).constructor=so,Ws.prototype.clear=function(){this.__data__=No?No(null):{},this.size=0},Ws.prototype.delete=function(O){var Y=this.has(O)&&delete this.__data__[O];return this.size-=Y?1:0,Y},Ws.prototype.get=function(O){var Y=this.__data__;if(No){var _e=Y[O];return _e===_?e:_e}return Ts.call(Y,O)?Y[O]:e},Ws.prototype.has=function(O){var Y=this.__data__;return No?Y[O]!==e:Ts.call(Y,O)},Ws.prototype.set=function(O,Y){var _e=this.__data__;return this.size+=this.has(O)?0:1,_e[O]=No&&Y===e?_:Y,this},Zs.prototype.clear=function(){this.__data__=[],this.size=0},Zs.prototype.delete=function(O){var Y=this.__data__,_e=cl(Y,O);return!(_e<0||(_e==Y.length-1?Y.pop():Je.call(Y,_e,1),--this.size,0))},Zs.prototype.get=function(O){var Y=this.__data__,_e=cl(Y,O);return _e<0?e:Y[_e][1]},Zs.prototype.has=function(O){return cl(this.__data__,O)>-1},Zs.prototype.set=function(O,Y){var _e=this.__data__,gt=cl(_e,O);return gt<0?(++this.size,_e.push([O,Y])):_e[gt][1]=Y,this},js.prototype.clear=function(){this.size=0,this.__data__={hash:new Ws,map:new(vi||Zs),string:new Ws}},js.prototype.delete=function(O){var Y=Yd(this,O).delete(O);return this.size-=Y?1:0,Y},js.prototype.get=function(O){return Yd(this,O).get(O)},js.prototype.has=function(O){return Yd(this,O).has(O)},js.prototype.set=function(O,Y){var _e=Yd(this,O),gt=_e.size;return _e.set(O,Y),this.size+=_e.size==gt?0:1,this},$i.prototype.add=$i.prototype.push=function(O){return this.__data__.set(O,_),this},$i.prototype.has=function(O){return this.__data__.has(O)},ml.prototype.clear=function(){this.__data__=new Zs,this.size=0},ml.prototype.delete=function(O){var Y=this.__data__,_e=Y.delete(O);return this.size=Y.size,_e},ml.prototype.get=function(O){return this.__data__.get(O)},ml.prototype.has=function(O){return this.__data__.has(O)},ml.prototype.set=function(O,Y){var _e=this.__data__;if(_e instanceof Zs){var gt=_e.__data__;if(!vi||gt.length<199)return gt.push([O,Y]),this.size=++_e.size,this;_e=this.__data__=new js(gt)}return _e.set(O,Y),this.size=_e.size,this};var de=Ks(sr),ve=Ks(Tr,!0);function ze(O,Y){var _e=!0;return de(O,function(gt,un,Zn){return _e=!!Y(gt,un,Zn)}),_e}function De(O,Y,_e){for(var gt=-1,un=O.length;++gt<un;){var Zn=O[gt],gr=Y(Zn);if(null!=gr&&(Lr===e?gr==gr&&!ju(gr):_e(gr,Lr)))var Lr=gr,Qr=Zn}return Qr}function Yt(O,Y){var _e=[];return de(O,function(gt,un,Zn){Y(gt,un,Zn)&&_e.push(gt)}),_e}function Zt(O,Y,_e,gt,un){var Zn=-1,gr=O.length;for(_e||(_e=Uf),un||(un=[]);++Zn<gr;){var Lr=O[Zn];Y>0&&_e(Lr)?Y>1?Zt(Lr,Y-1,_e,gt,un):Zo(un,Lr):gt||(un[un.length]=Lr)}return un}var wn=bs(),cr=bs(!0);function sr(O,Y){return O&&wn(O,Y,Yc)}function Tr(O,Y){return O&&cr(O,Y,Yc)}function Yr(O,Y){return Yo(Y,function(_e){return cu(O[_e])})}function Pi(O,Y){for(var _e=0,gt=(Y=Uc(Y,O)).length;null!=O&&_e<gt;)O=O[Tc(Y[_e++])];return _e&&_e==gt?O:e}function yo(O,Y,_e){var gt=Y(O);return ui(O)?gt:Zo(gt,_e(O))}function To(O){return null==O?O===e?"[object Undefined]":"[object Null]":Mt&&Mt in jo(O)?function(O){var Y=Ts.call(O,Mt),_e=O[Mt];try{O[Mt]=e;var gt=!0}catch(Zn){}var un=vo.call(O);return gt&&(Y?O[Mt]=_e:delete O[Mt]),un}(O):function(O){return vo.call(O)}(O)}function Qo(O,Y){return O>Y}function Go(O,Y){return null!=O&&Ts.call(O,Y)}function As(O,Y){return null!=O&&Y in jo(O)}function Ss(O,Y,_e){for(var gt=_e?as:vs,un=O[0].length,Zn=O.length,gr=Zn,Lr=dr(Zn),Qr=1/0,Ji=[];gr--;){var Qi=O[gr];gr&&Y&&(Qi=Lo(Qi,wt(Y))),Qr=zn(Qi.length,Qr),Lr[gr]=!_e&&(Y||un>=120&&Qi.length>=120)?new $i(gr&&Qi):e}Qi=O[0];var lo=-1,Xo=Lr[0];e:for(;++lo<un&&Ji.length<Qr;){var Os=Qi[lo],Qs=Y?Y(Os):Os;if(Os=_e||0!==Os?Os:0,!(Xo?tn(Xo,Qs):gt(Ji,Qs,_e))){for(gr=Zn;--gr;){var La=Lr[gr];if(!(La?tn(La,Qs):gt(O[gr],Qs,_e)))continue e}Xo&&Xo.push(Qs),Ji.push(Os)}}return Ji}function Da(O,Y,_e){var gt=null==(O=mf(O,Y=Uc(Y,O)))?O:O[Tc(qr(Y))];return null==gt?e:ye(gt,O,_e)}function vl(O){return pc(O)&&To(O)==Ot}function Ka(O,Y,_e,gt,un){return O===Y||(null==O||null==Y||!pc(O)&&!pc(Y)?O!=O&&Y!=Y:function(O,Y,_e,gt,un,Zn){var gr=ui(O),Lr=ui(Y),Qr=gr?Qe:Bl(O),Ji=Lr?Qe:Bl(Y),Qi=(Qr=Qr==Ot?er:Qr)==er,lo=(Ji=Ji==Ot?er:Ji)==er,Xo=Qr==Ji;if(Xo&&yl(O)){if(!yl(Y))return!1;gr=!0,Qi=!1}if(Xo&&!Qi)return Zn||(Zn=new ml),gr||th(O)?pd(O,Y,_e,gt,un,Zn):function(O,Y,_e,gt,un,Zn,gr){switch(_e){case $n:if(O.byteLength!=Y.byteLength||O.byteOffset!=Y.byteOffset)return!1;O=O.buffer,Y=Y.buffer;case Sn:return!(O.byteLength!=Y.byteLength||!Zn(new Cl(O),new Cl(Y)));case ae:case Ie:case Ln:return At(+O,+Y);case Jt:return O.name==Y.name&&O.message==Y.message;case tr:case Cn:return O==Y+"";case ar:var Lr=ro;case Yn:if(Lr||(Lr=hi),O.size!=Y.size&&!(1>))return!1;var Ji=gr.get(O);if(Ji)return Ji==Y;gt|=2,gr.set(O,Y);var Qi=pd(Lr(O),Lr(Y),gt,un,Zn,gr);return gr.delete(O),Qi;case Kt:if(Do)return Do.call(O)==Do.call(Y)}return!1}(O,Y,Qr,_e,gt,un,Zn);if(!(1&_e)){var Os=Qi&&Ts.call(O,"__wrapped__"),Qs=lo&&Ts.call(Y,"__wrapped__");if(Os||Qs){var La=Os?O.value():O,ta=Qs?Y.value():Y;return Zn||(Zn=new ml),un(La,ta,_e,gt,Zn)}}return!!Xo&&(Zn||(Zn=new ml),function(O,Y,_e,gt,un,Zn){var gr=1&_e,Lr=Bd(O),Qr=Lr.length;if(Qr!=Bd(Y).length&&!gr)return!1;for(var lo=Qr;lo--;){var Xo=Lr[lo];if(!(gr?Xo in Y:Ts.call(Y,Xo)))return!1}var Os=Zn.get(O),Qs=Zn.get(Y);if(Os&&Qs)return Os==Y&&Qs==O;var La=!0;Zn.set(O,Y),Zn.set(Y,O);for(var ta=gr;++lo<Qr;){var el=O[Xo=Lr[lo]],pl=Y[Xo];if(gt)var td=gr?gt(pl,el,Xo,Y,O,Zn):gt(el,pl,Xo,O,Y,Zn);if(!(td===e?el===pl||un(el,pl,_e,gt,Zn):td)){La=!1;break}ta||(ta="constructor"==Xo)}if(La&&!ta){var Zu=O.constructor,nd=Y.constructor;Zu!=nd&&"constructor"in O&&"constructor"in Y&&!("function"==typeof Zu&&Zu instanceof Zu&&"function"==typeof nd&&nd instanceof nd)&&(La=!1)}return Zn.delete(O),Zn.delete(Y),La}(O,Y,_e,gt,un,Zn))}(O,Y,_e,gt,Ka,un))}function Vs(O,Y,_e,gt){var un=_e.length,Zn=un,gr=!gt;if(null==O)return!Zn;for(O=jo(O);un--;){var Lr=_e[un];if(gr&&Lr[2]?Lr[1]!==O[Lr[0]]:!(Lr[0]in O))return!1}for(;++un<Zn;){var Qr=(Lr=_e[un])[0],Ji=O[Qr],Qi=Lr[1];if(gr&&Lr[2]){if(Ji===e&&!(Qr in O))return!1}else{var lo=new ml;if(gt)var Xo=gt(Ji,Qi,Qr,O,Y,lo);if(!(Xo===e?Ka(Qi,Ji,3,gt,lo):Xo))return!1}}return!0}function X(O){return!(!ga(O)||function(O){return!!Hl&&Hl in O}(O))&&(cu(O)?vc:yi).test(jc(O))}function xn(O){return"function"==typeof O?O:null==O?yu:"object"==typeof O?ui(O)?gc(O[0],O[1]):Wa(O):$g(O)}function Ar(O){if(!ku(O))return Gn(O);var Y=[];for(var _e in jo(O))Ts.call(O,_e)&&"constructor"!=_e&&Y.push(_e);return Y}function fs(O,Y){return O<Y}function aa(O,Y){var _e=-1,gt=Io(O)?dr(O.length):[];return de(O,function(un,Zn,gr){gt[++_e]=Y(un,Zn,gr)}),gt}function Wa(O){var Y=gu(O);return 1==Y.length&&Y[0][2]?gf(Y[0][0],Y[0][1]):function(_e){return _e===O||Vs(_e,O,Y)}}function gc(O,Y){return _d(O)&&vu(Y)?gf(Tc(O),Y):function(_e){var gt=Xf(_e,O);return gt===e&>===Y?M_(_e,O):Ka(Y,gt,3)}}function Ql(O,Y,_e,gt,un){O!==Y&&wn(Y,function(Zn,gr){if(un||(un=new ml),ga(Zn))!function(O,Y,_e,gt,un,Zn,gr){var Lr=vf(O,_e),Qr=vf(Y,_e),Ji=gr.get(Qr);if(Ji)rl(O,_e,Ji);else{var Qi=Zn?Zn(Lr,Qr,_e+"",O,Y,gr):e,lo=Qi===e;if(lo){var Xo=ui(Qr),Os=!Xo&&yl(Qr),Qs=!Xo&&!Os&&th(Qr);Qi=Qr,Xo||Os||Qs?ui(Lr)?Qi=Lr:ss(Lr)?Qi=_i(Lr):Os?(lo=!1,Qi=cf(Qr,!0)):Qs?(lo=!1,Qi=K(Qr,!0)):Qi=[]:v_(Qr)||Rr(Qr)?(Qi=Lr,Rr(Lr)?Qi=Lm(Lr):(!ga(Lr)||cu(Lr))&&(Qi=Fu(Qr))):lo=!1}lo&&(gr.set(Qr,Qi),un(Qi,Qr,gt,Zn,gr),gr.delete(Qr)),rl(O,_e,Qi)}}(O,Y,gr,_e,Ql,gt,un);else{var Lr=gt?gt(vf(O,gr),Zn,gr+"",O,Y,un):e;Lr===e&&(Lr=Zn),rl(O,gr,Lr)}},Zc)}function qu(O,Y){var _e=O.length;if(_e)return mu(Y+=Y<0?_e:0,_e)?O[Y]:e}function sd(O,Y,_e){Y=Y.length?Lo(Y,function(Zn){return ui(Zn)?function(gr){return Pi(gr,1===Zn.length?Zn[0]:Zn)}:Zn}):[yu];var gt=-1;return Y=Lo(Y,wt(Ns())),function(Un,lr){var dr=Un.length;for(Un.sort(function(Zn,gr){return function(O,Y,_e){for(var gt=-1,un=O.criteria,Zn=Y.criteria,gr=un.length,Lr=_e.length;++gt<gr;){var Qr=Ye(un[gt],Zn[gt]);if(Qr)return gt>=Lr?Qr:Qr*("desc"==_e[gt]?-1:1)}return O.index-Y.index}(Zn,gr,_e)});dr--;)Un[dr]=Un[dr].value;return Un}(aa(O,function(Zn,gr,Lr){return{criteria:Lo(Y,function(Ji){return Ji(Zn)}),index:++gt,value:Zn}}))}function kd(O,Y,_e){for(var gt=-1,un=Y.length,Zn={};++gt<un;){var gr=Y[gt],Lr=Pi(O,gr);_e(Lr,gr)&&ld(Zn,Uc(gr,O),Lr)}return Zn}function Nu(O,Y,_e,gt){var un=gt?sl:Qa,Zn=-1,gr=Y.length,Lr=O;for(O===Y&&(Y=_i(Y)),_e&&(Lr=Lo(O,wt(_e)));++Zn<gr;)for(var Qr=0,Ji=Y[Zn],Qi=_e?_e(Ji):Ji;(Qr=un(Lr,Qi,Qr,gt))>-1;)Lr!==O&&Je.call(Lr,Qr,1),Je.call(O,Qr,1);return O}function sf(O,Y){for(var _e=O?Y.length:0,gt=_e-1;_e--;){var un=Y[_e];if(_e==gt||un!==Zn){var Zn=un;mu(un)?Je.call(O,un,1):Ud(O,un)}}return O}function Cd(O,Y){return O+Be(Gr()*(Y-O+1))}function $d(O,Y){var _e="";if(!O||Y<1||Y>$e)return _e;do{Y%2&&(_e+=O),(Y=Be(Y/2))&&(O+=O)}while(Y);return _e}function Fs(O,Y){return Bf(Vd(O,Y,yu),O+"")}function Nc(O){return xl(ih(O))}function Pf(O,Y){var _e=ih(O);return Xc(_e,Rl(Y,0,_e.length))}function ld(O,Y,_e,gt){if(!ga(O))return O;for(var un=-1,Zn=(Y=Uc(Y,O)).length,gr=Zn-1,Lr=O;null!=Lr&&++un<Zn;){var Qr=Tc(Y[un]),Ji=_e;if("__proto__"===Qr||"constructor"===Qr||"prototype"===Qr)return O;if(un!=gr){var Qi=Lr[Qr];(Ji=gt?gt(Qi,Qr,Lr):e)===e&&(Ji=ga(Qi)?Qi:mu(Y[un+1])?[]:{})}El(Lr,Qr,Ji),Lr=Lr[Qr]}return O}var ru=Ao?function(O,Y){return Ao.set(O,Y),O}:yu,Su=xe?function(O,Y){return xe(O,"toString",{configurable:!0,enumerable:!1,value:Lg(Y),writable:!0})}:yu;function af(O){return Xc(ih(O))}function Pc(O,Y,_e){var gt=-1,un=O.length;Y<0&&(Y=-Y>un?0:un+Y),(_e=_e>un?un:_e)<0&&(_e+=un),un=Y>_e?0:_e-Y>>>0,Y>>>=0;for(var Zn=dr(un);++gt<un;)Zn[gt]=O[gt+Y];return Zn}function If(O,Y){var _e;return de(O,function(gt,un,Zn){return!(_e=Y(gt,un,Zn))}),!!_e}function cd(O,Y,_e){var gt=0,un=null==O?gt:O.length;if("number"==typeof Y&&Y==Y&&un<=2147483647){for(;gt<un;){var Zn=gt+un>>>1,gr=O[Zn];null!==gr&&!ju(gr)&&(_e?gr<=Y:gr<Y)?gt=Zn+1:un=Zn}return un}return lf(O,Y,yu,_e)}function lf(O,Y,_e,gt){var un=0,Zn=null==O?0:O.length;if(0===Zn)return 0;for(var gr=(Y=_e(Y))!=Y,Lr=null===Y,Qr=ju(Y),Ji=Y===e;un<Zn;){var Qi=Be((un+Zn)/2),lo=_e(O[Qi]),Xo=lo!==e,Os=null===lo,Qs=lo==lo,La=ju(lo);if(gr)var ta=gt||Qs;else ta=Ji?Qs&&(gt||Xo):Lr?Qs&&Xo&&(gt||!Os):Qr?Qs&&Xo&&!Os&&(gt||!La):!Os&&!La&&(gt?lo<=Y:lo<Y);ta?un=Qi+1:Zn=Qi}return zn(Zn,4294967294)}function Hd(O,Y){for(var _e=-1,gt=O.length,un=0,Zn=[];++_e<gt;){var gr=O[_e],Lr=Y?Y(gr):gr;if(!_e||!At(Lr,Qr)){var Qr=Lr;Zn[un++]=0===gr?0:gr}}return Zn}function Sd(O){return"number"==typeof O?O:ju(O)?NaN:+O}function Ic(O){if("string"==typeof O)return O;if(ui(O))return Lo(O,Ic)+"";if(ju(O))return Ls?Ls.call(O):"";var Y=O+"";return"0"==Y&&1/O==-He?"-0":Y}function pu(O,Y,_e){var gt=-1,un=vs,Zn=O.length,gr=!0,Lr=[],Qr=Lr;if(_e)gr=!1,un=as;else if(Zn>=200){var Ji=Y?null:Od(O);if(Ji)return hi(Ji);gr=!1,un=tn,Qr=new $i}else Qr=Y?[]:Lr;e:for(;++gt<Zn;){var Qi=O[gt],lo=Y?Y(Qi):Qi;if(Qi=_e||0!==Qi?Qi:0,gr&&lo==lo){for(var Xo=Qr.length;Xo--;)if(Qr[Xo]===lo)continue e;Y&&Qr.push(lo),Lr.push(Qi)}else un(Qr,lo,_e)||(Qr!==Lr&&Qr.push(lo),Lr.push(Qi))}return Lr}function Ud(O,Y){return null==(O=mf(O,Y=Uc(Y,O)))||delete O[Tc(qr(Y))]}function ud(O,Y,_e,gt){return ld(O,Y,_e(Pi(O,Y)),gt)}function Md(O,Y,_e,gt){for(var un=O.length,Zn=gt?un:-1;(gt?Zn--:++Zn<un)&&Y(O[Zn],Zn,O););return _e?Pc(O,gt?0:Zn,gt?Zn+1:un):Pc(O,gt?Zn+1:0,gt?un:Zn)}function Lf(O,Y){var _e=O;return _e instanceof so&&(_e=_e.value()),Ta(Y,function(gt,un){return un.func.apply(un.thisArg,Zo([gt],un.args))},_e)}function Mu(O,Y,_e){var gt=O.length;if(gt<2)return gt?pu(O[0]):[];for(var un=-1,Zn=dr(gt);++un<gt;)for(var gr=O[un],Lr=-1;++Lr<gt;)Lr!=un&&(Zn[un]=Q(Zn[un]||gr,O[Lr],Y,_e));return pu(Zt(Zn,1),Y,_e)}function dd(O,Y,_e){for(var gt=-1,un=O.length,Zn=Y.length,gr={};++gt<un;)_e(gr,O[gt],gt<Zn?Y[gt]:e);return gr}function Lc(O){return ss(O)?O:[]}function Mc(O){return"function"==typeof O?O:yu}function Uc(O,Y){return ui(O)?O:_d(O,Y)?[O]:md(ol(O))}var Ff=Fs;function hu(O,Y,_e){var gt=O.length;return _e=_e===e?gt:_e,!Y&&_e>=gt?O:Pc(O,Y,_e)}var fd=ke||function(O){return Sa.clearTimeout(O)};function cf(O,Y){if(Y)return O.slice();var _e=O.length,gt=ql?ql(_e):new O.constructor(_e);return O.copy(gt),gt}function kf(O){var Y=new O.constructor(O.byteLength);return new Cl(Y).set(new Cl(O)),Y}function K(O,Y){var _e=Y?kf(O.buffer):O.buffer;return new O.constructor(_e,O.byteOffset,O.length)}function Ye(O,Y){if(O!==Y){var _e=O!==e,gt=null===O,un=O==O,Zn=ju(O),gr=Y!==e,Lr=null===Y,Qr=Y==Y,Ji=ju(Y);if(!Lr&&!Ji&&!Zn&&O>Y||Zn&&gr&&Qr&&!Lr&&!Ji||gt&&gr&&Qr||!_e&&Qr||!un)return 1;if(!gt&&!Zn&&!Ji&&O<Y||Ji&&_e&&un&&!gt&&!Zn||Lr&&_e&&un||!gr&&un||!Qr)return-1}return 0}function vr(O,Y,_e,gt){for(var un=-1,Zn=O.length,gr=_e.length,Lr=-1,Qr=Y.length,Ji=kn(Zn-gr,0),Qi=dr(Qr+Ji),lo=!gt;++Lr<Qr;)Qi[Lr]=Y[Lr];for(;++un<gr;)(lo||un<Zn)&&(Qi[_e[un]]=O[un]);for(;Ji--;)Qi[Lr++]=O[un++];return Qi}function Hr(O,Y,_e,gt){for(var un=-1,Zn=O.length,gr=-1,Lr=_e.length,Qr=-1,Ji=Y.length,Qi=kn(Zn-Lr,0),lo=dr(Qi+Ji),Xo=!gt;++un<Qi;)lo[un]=O[un];for(var Os=un;++Qr<Ji;)lo[Os+Qr]=Y[Qr];for(;++gr<Lr;)(Xo||un<Zn)&&(lo[Os+_e[gr]]=O[un++]);return lo}function _i(O,Y){var _e=-1,gt=O.length;for(Y||(Y=dr(gt));++_e<gt;)Y[_e]=O[_e];return Y}function ji(O,Y,_e,gt){var un=!_e;_e||(_e={});for(var Zn=-1,gr=Y.length;++Zn<gr;){var Lr=Y[Zn],Qr=gt?gt(_e[Lr],O[Lr],Lr,_e,O):e;Qr===e&&(Qr=O[Lr]),un?ul(_e,Lr,Qr):El(_e,Lr,Qr)}return _e}function Uo(O,Y){return function(_e,gt){var un=ui(_e)?Ne:Rc,Zn=Y?Y():{};return un(_e,O,Ns(gt,2),Zn)}}function us(O){return Fs(function(Y,_e){var gt=-1,un=_e.length,Zn=un>1?_e[un-1]:e,gr=un>2?_e[2]:e;for(Zn=O.length>3&&"function"==typeof Zn?(un--,Zn):e,gr&&tc(_e[0],_e[1],gr)&&(Zn=un<3?e:Zn,un=1),Y=jo(Y);++gt<un;){var Lr=_e[gt];Lr&&O(Y,Lr,gt,Zn)}return Y})}function Ks(O,Y){return function(_e,gt){if(null==_e)return _e;if(!Io(_e))return O(_e,gt);for(var un=_e.length,Zn=Y?un:-1,gr=jo(_e);(Y?Zn--:++Zn<un)&&!1!==gt(gr[Zn],Zn,gr););return _e}}function bs(O){return function(Y,_e,gt){for(var un=-1,Zn=jo(Y),gr=gt(Y),Lr=gr.length;Lr--;){var Qr=gr[O?Lr:++un];if(!1===_e(Zn[Qr],Qr,Zn))break}return Y}}function Oc(O){return function(Y){var _e=si(Y=ol(Y))?Ft(Y):e,gt=_e?_e[0]:Y.charAt(0),un=_e?hu(_e,1).join(""):Y.slice(1);return gt[O]()+un}}function dl(O){return function(Y){return Ta(Xm(Cg(Y).replace(ee,"")),O,"")}}function iu(O){return function(){var Y=arguments;switch(Y.length){case 0:return new O;case 1:return new O(Y[0]);case 2:return new O(Y[0],Y[1]);case 3:return new O(Y[0],Y[1],Y[2]);case 4:return new O(Y[0],Y[1],Y[2],Y[3]);case 5:return new O(Y[0],Y[1],Y[2],Y[3],Y[4]);case 6:return new O(Y[0],Y[1],Y[2],Y[3],Y[4],Y[5]);case 7:return new O(Y[0],Y[1],Y[2],Y[3],Y[4],Y[5],Y[6])}var _e=Us(O.prototype),gt=O.apply(_e,Y);return ga(gt)?gt:_e}}function Kl(O){return function(Y,_e,gt){var un=jo(Y);if(!Io(Y)){var Zn=Ns(_e,3);Y=Yc(Y),_e=function(Lr){return Zn(un[Lr],Lr,un)}}var gr=O(Y,_e,gt);return gr>-1?un[Zn?Y[gr]:gr]:e}}function jl(O){return ou(function(Y){var _e=Y.length,gt=_e,un=Aa.prototype.thru;for(O&&Y.reverse();gt--;){var Zn=Y[gt];if("function"!=typeof Zn)throw new Ho(u);if(un&&!gr&&"wrapper"==qc(Zn))var gr=new Aa([],!0)}for(gt=gr?gt:_e;++gt<_e;){var Lr=qc(Zn=Y[gt]),Qr="wrapper"==Lr?Ad(Zn):e;gr=Qr&&wd(Qr[0])&&424==Qr[1]&&!Qr[4].length&&1==Qr[9]?gr[qc(Qr[0])].apply(gr,Qr[3]):1==Zn.length&&wd(Zn)?gr[Lr]():gr.thru(Zn)}return function(){var Ji=arguments,Qi=Ji[0];if(gr&&1==Ji.length&&ui(Qi))return gr.plant(Qi).value();for(var lo=0,Xo=_e?Y[lo].apply(this,Ji):Qi;++lo<_e;)Xo=Y[lo].call(this,Xo);return Xo}})}function zl(O,Y,_e,gt,un,Zn,gr,Lr,Qr,Ji){var Qi=128&Y,lo=1&Y,Xo=2&Y,Os=24&Y,Qs=512&Y,La=Xo?e:iu(O);return function ta(){for(var el=arguments.length,pl=dr(el),td=el;td--;)pl[td]=arguments[td];if(Os)var Zu=Ou(ta),nd=xr(pl,Zu);if(gt&&(pl=vr(pl,gt,un,Os)),Zn&&(pl=Hr(pl,Zn,gr,Os)),el-=nd,Os&&el<Ji){var Dc=Bi(pl,Zu);return df(O,Y,zl,ta.placeholder,_e,pl,Dc,Lr,Qr,Ji-el)}var Eu=lo?_e:this,Id=Xo?Eu[O]:O;return el=pl.length,Lr?pl=Yp(pl,Lr):Qs&&el>1&&pl.reverse(),Qi&&Qr<el&&(pl.length=Qr),this&&this!==Sa&&this instanceof ta&&(Id=La||iu(Id)),Id.apply(Eu,pl)}}function Ac(O,Y){return function(_e,gt){return function(O,Y,_e,gt){return sr(O,function(un,Zn,gr){Y(gt,_e(un),Zn,gr)}),gt}(_e,O,Y(gt),{})}}function uf(O,Y){return function(_e,gt){var un;if(_e===e&>===e)return Y;if(_e!==e&&(un=_e),gt!==e){if(un===e)return gt;"string"==typeof _e||"string"==typeof gt?(_e=Ic(_e),gt=Ic(gt)):(_e=Sd(_e),gt=Sd(gt)),un=O(_e,gt)}return un}}function bc(O){return ou(function(Y){return Y=Lo(Y,wt(Ns())),Fs(function(_e){var gt=this;return O(Y,function(un){return ye(un,gt,_e)})})})}function _u(O,Y){var _e=(Y=Y===e?" ":Ic(Y)).length;if(_e<2)return _e?$d(Y,O):Y;var gt=$d(Y,Re(O/ft(Y)));return si(Y)?hu(Ft(gt),0,O).join(""):gt.slice(0,O)}function Pu(O){return function(Y,_e,gt){return gt&&"number"!=typeof gt&&tc(Y,_e,gt)&&(_e=gt=e),Y=Kd(Y),_e===e?(_e=Y,Y=0):_e=Kd(_e),function(O,Y,_e,gt){for(var un=-1,Zn=kn(Re((Y-O)/(_e||1)),0),gr=dr(Zn);Zn--;)gr[gt?Zn:++un]=O,O+=_e;return gr}(Y,_e,gt=gt===e?Y<_e?1:-1:Kd(gt),O)}}function uc(O){return function(Y,_e){return"string"==typeof Y&&"string"==typeof _e||(Y=Bu(Y),_e=Bu(_e)),O(Y,_e)}}function df(O,Y,_e,gt,un,Zn,gr,Lr,Qr,Ji){var Qi=8&Y;Y|=Qi?B:64,4&(Y&=~(Qi?64:B))||(Y&=-4);var La=[O,Y,un,Qi?Zn:e,Qi?gr:e,Qi?e:Zn,Qi?e:gr,Lr,Qr,Ji],ta=_e.apply(e,La);return wd(O)&&Qc(ta,La),ta.placeholder=gt,lp(ta,O,Y)}function dc(O){var Y=es[O];return function(_e,gt){if(_e=Bu(_e),(gt=null==gt?0:zn(Ia(gt),292))&&en(_e)){var un=(ol(_e)+"e").split("e");return+((un=(ol(Y(un[0]+"e"+(+un[1]+gt)))+"e").split("e"))[0]+"e"+(+un[1]-gt))}return Y(_e)}}var Od=fo&&1/hi(new fo([,-0]))[1]==He?function(O){return new fo(O)}:Kf;function jd(O){return function(Y){var _e=Bl(Y);return _e==ar?ro(Y):_e==Yn?function(Un){var lr=-1,dr=Array(Un.size);return Un.forEach(function(li){dr[++lr]=[li,li]}),dr}(Y):function(Un,lr){return Lo(lr,function(dr){return[dr,Un[dr]]})}(Y,O(Y))}}function Wc(O,Y,_e,gt,un,Zn,gr,Lr){var Qr=2&Y;if(!Qr&&"function"!=typeof O)throw new Ho(u);var Ji=gt?gt.length:0;if(Ji||(Y&=-97,gt=un=e),gr=gr===e?gr:kn(Ia(gr),0),Lr=Lr===e?Lr:Ia(Lr),Ji-=un?un.length:0,64&Y){var Qi=gt,lo=un;gt=un=e}var Xo=Qr?e:Ad(O),Os=[O,Y,_e,gt,un,Qi,lo,Zn,gr,Lr];if(Xo&&function(O,Y){var _e=O[1],gt=Y[1],un=_e|gt;if(!(un<131||(128==gt&&8==_e||128==gt&&256==_e&&O[7].length<=Y[8]||384==gt&&Y[7].length<=Y[8]&&8==_e)))return O;1>&&(O[2]=Y[2],un|=1&_e?0:4);var Lr=Y[3];if(Lr){var Qr=O[3];O[3]=Qr?vr(Qr,Lr,Y[4]):Lr,O[4]=Qr?Bi(O[3],b):Y[4]}(Lr=Y[5])&&(O[5]=(Qr=O[5])?Hr(Qr,Lr,Y[6]):Lr,O[6]=Qr?Bi(O[5],b):Y[6]),(Lr=Y[7])&&(O[7]=Lr),128>&&(O[8]=null==O[8]?Y[8]:zn(O[8],Y[8])),null==O[9]&&(O[9]=Y[9]),O[0]=Y[0],O[1]=un}(Os,Xo),O=Os[0],Y=Os[1],_e=Os[2],gt=Os[3],un=Os[4],!(Lr=Os[9]=Os[9]===e?Qr?0:O.length:kn(Os[9]-Ji,0))&&24&Y&&(Y&=-25),Y&&1!=Y)Qs=8==Y||16==Y?function(O,Y,_e){var gt=iu(O);return function un(){for(var Zn=arguments.length,gr=dr(Zn),Lr=Zn,Qr=Ou(un);Lr--;)gr[Lr]=arguments[Lr];var Ji=Zn<3&&gr[0]!==Qr&&gr[Zn-1]!==Qr?[]:Bi(gr,Qr);return(Zn-=Ji.length)<_e?df(O,Y,zl,un.placeholder,e,gr,Ji,e,e,_e-Zn):ye(this&&this!==Sa&&this instanceof un?gt:O,this,gr)}}(O,Y,Lr):Y!=B&&33!=Y||un.length?zl.apply(e,Os):function(O,Y,_e,gt){var un=1&Y,Zn=iu(O);return function gr(){for(var Lr=-1,Qr=arguments.length,Ji=-1,Qi=gt.length,lo=dr(Qi+Qr),Xo=this&&this!==Sa&&this instanceof gr?Zn:O;++Ji<Qi;)lo[Ji]=gt[Ji];for(;Qr--;)lo[Ji++]=arguments[++Lr];return ye(Xo,un?_e:this,lo)}}(O,Y,_e,gt);else var Qs=function(O,Y,_e){var gt=1&Y,un=iu(O);return function Zn(){return(this&&this!==Sa&&this instanceof Zn?un:O).apply(gt?_e:this,arguments)}}(O,Y,_e);return lp((Xo?ru:Qc)(Qs,Os),O,Y)}function sp(O,Y,_e,gt){return O===e||At(O,ha[_e])&&!Ts.call(gt,_e)?Y:O}function os(O,Y,_e,gt,un,Zn){return ga(O)&&ga(Y)&&(Zn.set(Y,O),Ql(O,Y,e,os,Zn),Zn.delete(Y)),O}function $f(O){return v_(O)?e:O}function pd(O,Y,_e,gt,un,Zn){var gr=1&_e,Lr=O.length,Qr=Y.length;if(Lr!=Qr&&!(gr&&Qr>Lr))return!1;var Ji=Zn.get(O),Qi=Zn.get(Y);if(Ji&&Qi)return Ji==Y&&Qi==O;var lo=-1,Xo=!0,Os=2&_e?new $i:e;for(Zn.set(O,Y),Zn.set(Y,O);++lo<Lr;){var Qs=O[lo],La=Y[lo];if(gt)var ta=gr?gt(La,Qs,lo,Y,O,Zn):gt(Qs,La,lo,O,Y,Zn);if(ta!==e){if(ta)continue;Xo=!1;break}if(Os){if(!Oa(Y,function(el,pl){if(!tn(Os,pl)&&(Qs===el||un(Qs,el,_e,gt,Zn)))return Os.push(pl)})){Xo=!1;break}}else if(Qs!==La&&!un(Qs,La,_e,gt,Zn)){Xo=!1;break}}return Zn.delete(O),Zn.delete(Y),Xo}function ou(O){return Bf(Vd(O,e,dp),O+"")}function Bd(O){return yo(O,Yc,Zd)}function ff(O){return yo(O,Zc,mc)}var Ad=Ao?function(O){return Ao.get(O)}:Kf;function qc(O){for(var Y=O.name+"",_e=io[Y],gt=Ts.call(io,Y)?_e.length:0;gt--;){var un=_e[gt],Zn=un.func;if(null==Zn||Zn==O)return un.name}return Y}function Ou(O){return(Ts.call(_n,"placeholder")?_n:O).placeholder}function Ns(){var O=_n.iteratee||L_;return O=O===L_?xn:O,arguments.length?O(arguments[0],arguments[1]):O}function Yd(O,Y){var _e=O.__data__;return function(O){var Y=typeof O;return"string"==Y||"number"==Y||"symbol"==Y||"boolean"==Y?"__proto__"!==O:null===O}(Y)?_e["string"==typeof Y?"string":"hash"]:_e.map}function gu(O){for(var Y=Yc(O),_e=Y.length;_e--;){var gt=Y[_e],un=O[gt];Y[_e]=[gt,un,vu(un)]}return Y}function su(O,Y){var _e=function(Un,lr){return null==Un?e:Un[lr]}(O,Y);return X(_e)?_e:e}var Zd=xt?function(O){return null==O?[]:(O=jo(O),Yo(xt(O),function(Y){return eu.call(O,Y)}))}:Vc,mc=xt?function(O){for(var Y=[];O;)Zo(Y,Zd(O)),O=kl(O);return Y}:Vc,Bl=To;function au(O,Y,_e){for(var gt=-1,un=(Y=Uc(Y,O)).length,Zn=!1;++gt<un;){var gr=Tc(Y[gt]);if(!(Zn=null!=O&&_e(O,gr)))break;O=O[gr]}return Zn||++gt!=un?Zn:!!(un=null==O?0:O.length)&&yd(un)&&mu(gr,un)&&(ui(O)||Rr(O))}function Fu(O){return"function"!=typeof O.constructor||ku(O)?{}:Us(kl(O))}function Uf(O){return ui(O)||Rr(O)||!!(Fe&&O&&O[Fe])}function mu(O,Y){var _e=typeof O;return!!(Y=null==Y?$e:Y)&&("number"==_e||"symbol"!=_e&&Mi.test(O))&&O>-1&&O%1==0&&O<Y}function tc(O,Y,_e){if(!ga(_e))return!1;var gt=typeof Y;return!!("number"==gt?Io(_e)&&mu(Y,_e.length):"string"==gt&&Y in _e)&&At(_e[Y],O)}function _d(O,Y){if(ui(O))return!1;var _e=typeof O;return!("number"!=_e&&"symbol"!=_e&&"boolean"!=_e&&null!=O&&!ju(O))||it.test(O)||!at.test(O)||null!=Y&&O in jo(Y)}function wd(O){var Y=qc(O),_e=_n[Y];if("function"!=typeof _e||!(Y in so.prototype))return!1;if(O===_e)return!0;var gt=Ad(_e);return!!gt&&O===gt[0]}(Ci&&Bl(new Ci(new ArrayBuffer(1)))!=$n||vi&&Bl(new vi)!=ar||Ai&&Bl(Ai.resolve())!=Mn||fo&&Bl(new fo)!=Yn||po&&Bl(new po)!=Kn)&&(Bl=function(O){var Y=To(O),_e=Y==er?O.constructor:e,gt=_e?jc(_e):"";if(gt)switch(gt){case So:return $n;case Xi:return ar;case Zi:return Mn;case Jo:return Yn;case Po:return Kn}return Y});var ap=gl?cu:bd;function ku(O){var Y=O&&O.constructor;return O===("function"==typeof Y&&Y.prototype||ha)}function vu(O){return O==O&&!ga(O)}function gf(O,Y){return function(_e){return null!=_e&&_e[O]===Y&&(Y!==e||O in jo(_e))}}function Vd(O,Y,_e){return Y=kn(Y===e?O.length-1:Y,0),function(){for(var gt=arguments,un=-1,Zn=kn(gt.length-Y,0),gr=dr(Zn);++un<Zn;)gr[un]=gt[Y+un];un=-1;for(var Lr=dr(Y+1);++un<Y;)Lr[un]=gt[un];return Lr[Y]=_e(gr),ye(O,this,Lr)}}function mf(O,Y){return Y.length<2?O:Pi(O,Pc(Y,0,-1))}function Yp(O,Y){for(var _e=O.length,gt=zn(Y.length,_e),un=_i(O);gt--;){var Zn=Y[gt];O[gt]=mu(Zn,_e)?un[Zn]:e}return O}function vf(O,Y){if(("constructor"!==Y||"function"!=typeof O[Y])&&"__proto__"!=Y)return O[Y]}var Qc=Ec(ru),Gd=ge||function(O,Y){return Sa.setTimeout(O,Y)},Bf=Ec(Su);function lp(O,Y,_e){var gt=Y+"";return Bf(O,function(O,Y){var _e=Y.length;if(!_e)return O;var gt=_e-1;return Y[gt]=(_e>1?"& ":"")+Y[gt],Y=Y.join(_e>2?", ":" "),O.replace(An,"{\n/* [wrapped with "+Y+"] */\n")}(gt,function(O,Y){return Wt(St,function(_e){var gt="_."+_e[0];Y&_e[1]&&!vs(O,gt)&&O.push(gt)}),O.sort()}(function(O){var Y=O.match(Bn);return Y?Y[1].split(ir):[]}(gt),_e)))}function Ec(O){var Y=0,_e=0;return function(){var gt=jr(),un=16-(gt-_e);if(_e=gt,un>0){if(++Y>=800)return arguments[0]}else Y=0;return O.apply(e,arguments)}}function Xc(O,Y){var _e=-1,gt=O.length,un=gt-1;for(Y=Y===e?gt:Y;++_e<Y;){var Zn=Cd(_e,un),gr=O[Zn];O[Zn]=O[_e],O[_e]=gr}return O.length=Y,O}var Y,_e,md=(Y=fp(function(O){var Y=[];return 46===O.charCodeAt(0)&&Y.push(""),O.replace(Pt,function(_e,gt,un,Zn){Y.push(un?Zn.replace(Nr,"$1"):gt||_e)}),Y},function(gt){return 500===_e.size&&_e.clear(),gt}),_e=Y.cache,Y);function Tc(O){if("string"==typeof O||ju(O))return O;var Y=O+"";return"0"==Y&&1/O==-He?"-0":Y}function jc(O){if(null!=O){try{return Hn.call(O)}catch(Y){}try{return O+""}catch(Y){}}return""}function Zf(O){if(O instanceof so)return O.clone();var Y=new Aa(O.__wrapped__,O.__chain__);return Y.__actions__=_i(O.__actions__),Y.__index__=O.__index__,Y.__values__=O.__values__,Y}var Vf=Fs(function(O,Y){return ss(O)?Q(O,Zt(Y,1,ss,!0)):[]}),cp=Fs(function(O,Y){var _e=qr(Y);return ss(_e)&&(_e=e),ss(O)?Q(O,Zt(Y,1,ss,!0),Ns(_e,2)):[]}),Mp=Fs(function(O,Y){var _e=qr(Y);return ss(_e)&&(_e=e),ss(O)?Q(O,Zt(Y,1,ss,!0),e,_e):[]});function Op(O,Y,_e){var gt=null==O?0:O.length;if(!gt)return-1;var un=null==_e?0:Ia(_e);return un<0&&(un=kn(gt+un,0)),_l(O,Ns(Y,3),un)}function zd(O,Y,_e){var gt=null==O?0:O.length;if(!gt)return-1;var un=gt-1;return _e!==e&&(un=Ia(_e),un=_e<0?kn(gt+un,0):zn(un,gt-1)),_l(O,Ns(Y,3),un,!0)}function dp(O){return null!=O&&O.length?Zt(O,1):[]}function q(O){return O&&O.length?O[0]:e}var on=Fs(function(O){var Y=Lo(O,Lc);return Y.length&&Y[0]===O[0]?Ss(Y):[]}),bn=Fs(function(O){var Y=qr(O),_e=Lo(O,Lc);return Y===qr(_e)?Y=e:_e.pop(),_e.length&&_e[0]===O[0]?Ss(_e,Ns(Y,2)):[]}),nr=Fs(function(O){var Y=qr(O),_e=Lo(O,Lc);return(Y="function"==typeof Y?Y:e)&&_e.pop(),_e.length&&_e[0]===O[0]?Ss(_e,e,Y):[]});function qr(O){var Y=null==O?0:O.length;return Y?O[Y-1]:e}var oo=Fs(ms);function ms(O,Y){return O&&O.length&&Y&&Y.length?Nu(O,Y):O}var oi=ou(function(O,Y){var _e=null==O?0:O.length,gt=Jl(O,Y);return sf(O,Lo(Y,function(un){return mu(un,_e)?+un:un}).sort(Ye)),gt});function ei(O){return null==O?O:ci.call(O)}var _h=Fs(function(O){return pu(Zt(O,1,ss,!0))}),o_=Fs(function(O){var Y=qr(O);return ss(Y)&&(Y=e),pu(Zt(O,1,ss,!0),Ns(Y,2))}),s_=Fs(function(O){var Y=qr(O);return Y="function"==typeof Y?Y:e,pu(Zt(O,1,ss,!0),e,Y)});function zp(O){if(!O||!O.length)return[];var Y=0;return O=Yo(O,function(_e){if(ss(_e))return Y=kn(_e.length,Y),!0}),Ba(Y,function(_e){return Lo(O,Na(_e))})}function mh(O,Y){if(!O||!O.length)return[];var _e=zp(O);return null==Y?_e:Lo(_e,function(gt){return ye(Y,e,gt)})}var c_=Fs(function(O,Y){return ss(O)?Q(O,Y):[]}),ca=Fs(function(O){return Mu(Yo(O,ss))}),vh=Fs(function(O){var Y=qr(O);return ss(Y)&&(Y=e),Mu(Yo(O,ss),Ns(Y,2))}),yh=Fs(function(O){var Y=qr(O);return Y="function"==typeof Y?Y:e,Mu(Yo(O,ss),e,Y)}),Ap=Fs(zp),vd=Fs(function(O){var Y=O.length,_e=Y>1?O[Y-1]:e;return _e="function"==typeof _e?(O.pop(),_e):e,mh(O,_e)});function Wp(O){var Y=_n(O);return Y.__chain__=!0,Y}function Tf(O,Y){return Y(O)}var u_=ou(function(O){var Y=O.length,_e=Y?O[0]:0,gt=this.__wrapped__,un=function(Zn){return Jl(Zn,O)};return!(Y>1||this.__actions__.length)&> instanceof so&&mu(_e)?((gt=gt.slice(_e,+_e+(Y?1:0))).__actions__.push({func:Tf,args:[un],thisArg:e}),new Aa(gt,this.__chain__).thru(function(Zn){return Y&&!Zn.length&&Zn.push(e),Zn})):this.thru(un)}),Eh=Uo(function(O,Y,_e){Ts.call(O,_e)?++O[_e]:ul(O,_e,1)}),p_=Kl(Op),Am=Kl(zd);function Ch(O,Y){return(ui(O)?Wt:de)(O,Ns(Y,3))}function Qp(O,Y){return(ui(O)?Or:ve)(O,Ns(Y,3))}var rc=Uo(function(O,Y,_e){Ts.call(O,_e)?O[_e].push(Y):ul(O,_e,[Y])}),Ml=Fs(function(O,Y,_e){var gt=-1,un="function"==typeof Y,Zn=Io(O)?dr(O.length):[];return de(O,function(gr){Zn[++gt]=un?ye(Y,gr,_e):Da(gr,Y,_e)}),Zn}),Sh=Uo(function(O,Y,_e){ul(O,_e,Y)});function Xp(O,Y){return(ui(O)?Lo:aa)(O,Ns(Y,3))}var ko=Uo(function(O,Y,_e){O[_e?0:1].push(Y)},function(){return[[],[]]}),wh=Fs(function(O,Y){if(null==O)return[];var _e=Y.length;return _e>1&&tc(O,Y[0],Y[1])?Y=[]:_e>2&&tc(Y[0],Y[1],Y[2])&&(Y=[Y[0]]),sd(O,Zt(Y,1),[])}),Wf=Te||function(){return Sa.Date.now()};function qf(O,Y,_e){return Y=_e?e:Y,Wc(O,128,e,e,e,e,Y=O&&null==Y?O.length:Y)}function xh(O,Y){var _e;if("function"!=typeof Y)throw new Ho(u);return O=Ia(O),function(){return--O>0&&(_e=Y.apply(this,arguments)),O<=1&&(Y=e),_e}}var Xu=Fs(function(O,Y,_e){var gt=1;if(_e.length){var un=Bi(_e,Ou(Xu));gt|=B}return Wc(O,gt,Y,_e,un)}),wp=Fs(function(O,Y,_e){var gt=3;if(_e.length){var un=Bi(_e,Ou(wp));gt|=B}return Wc(Y,gt,O,_e,un)});function Dp(O,Y,_e){var gt,un,Zn,gr,Lr,Qr,Ji=0,Qi=!1,lo=!1,Xo=!0;if("function"!=typeof O)throw new Ho(u);function Os(Dc){var Eu=gt,Id=un;return gt=un=e,Ji=Dc,gr=O.apply(Id,Eu)}function Qs(Dc){return Ji=Dc,Lr=Gd(el,Y),Qi?Os(Dc):gr}function ta(Dc){var Eu=Dc-Qr;return Qr===e||Eu>=Y||Eu<0||lo&&Dc-Ji>=Zn}function el(){var Dc=Wf();if(ta(Dc))return pl(Dc);Lr=Gd(el,function(Dc){var Bh=Y-(Dc-Qr);return lo?zn(Bh,Zn-(Dc-Ji)):Bh}(Dc))}function pl(Dc){return Lr=e,Xo&>?Os(Dc):(gt=un=e,gr)}function nd(){var Dc=Wf(),Eu=ta(Dc);if(gt=arguments,un=this,Qr=Dc,Eu){if(Lr===e)return Qs(Qr);if(lo)return fd(Lr),Lr=Gd(el,Y),Os(Qr)}return Lr===e&&(Lr=Gd(el,Y)),gr}return Y=Bu(Y)||0,ga(_e)&&(Qi=!!_e.leading,Zn=(lo="maxWait"in _e)?kn(Bu(_e.maxWait)||0,Y):Zn,Xo="trailing"in _e?!!_e.trailing:Xo),nd.cancel=function(){Lr!==e&&fd(Lr),Ji=0,gt=Qr=un=Lr=e},nd.flush=function(){return Lr===e?gr:pl(Wf())},nd}var __=Fs(function(O,Y){return $(O,1,Y)}),Nh=Fs(function(O,Y,_e){return $(O,Bu(Y)||0,_e)});function fp(O,Y){if("function"!=typeof O||null!=Y&&"function"!=typeof Y)throw new Ho(u);var _e=function(){var gt=arguments,un=Y?Y.apply(this,gt):gt[0],Zn=_e.cache;if(Zn.has(un))return Zn.get(un);var gr=O.apply(this,gt);return _e.cache=Zn.set(un,gr)||Zn,gr};return _e.cache=new(fp.Cache||js),_e}function Ku(O){if("function"!=typeof O)throw new Ho(u);return function(){var Y=arguments;switch(Y.length){case 0:return!O.call(this);case 1:return!O.call(this,Y[0]);case 2:return!O.call(this,Y[0],Y[1]);case 3:return!O.call(this,Y[0],Y[1],Y[2])}return!O.apply(this,Y)}}fp.Cache=js;var Jd=Ff(function(O,Y){var _e=(Y=1==Y.length&&ui(Y[0])?Lo(Y[0],wt(Ns())):Lo(Zt(Y,1),wt(Ns()))).length;return Fs(function(gt){for(var un=-1,Zn=zn(gt.length,_e);++un<Zn;)gt[un]=Y[un].call(this,gt[un]);return ye(O,this,gt)})}),Qd=Fs(function(O,Y){var _e=Bi(Y,Ou(Qd));return Wc(O,B,e,Y,_e)}),Jf=Fs(function(O,Y){var _e=Bi(Y,Ou(Jf));return Wc(O,64,e,Y,_e)}),Cf=ou(function(O,Y){return Wc(O,256,e,e,e,Y)});function At(O,Y){return O===Y||O!=O&&Y!=Y}var cn=uc(Qo),hr=uc(function(O,Y){return O>=Y}),Rr=vl(function(){return arguments}())?vl:function(O){return pc(O)&&Ts.call(O,"callee")&&!eu.call(O,"callee")},ui=dr.isArray,Eo=Hs?wt(Hs):function(O){return pc(O)&&To(O)==Sn};function Io(O){return null!=O&&yd(O.length)&&!cu(O)}function ss(O){return pc(O)&&Io(O)}var yl=Dt||bd,Ja=ja?wt(ja):function(O){return pc(O)&&To(O)==Ie};function Qf(O){if(!pc(O))return!1;var Y=To(O);return Y==Jt||"[object DOMException]"==Y||"string"==typeof O.message&&"string"==typeof O.name&&!v_(O)}function cu(O){if(!ga(O))return!1;var Y=To(O);return Y==zt||Y==ln||"[object AsyncFunction]"==Y||"[object Proxy]"==Y}function fc(O){return"number"==typeof O&&O==Ia(O)}function yd(O){return"number"==typeof O&&O>-1&&O%1==0&&O<=$e}function ga(O){var Y=typeof O;return null!=O&&("object"==Y||"function"==Y)}function pc(O){return null!=O&&"object"==typeof O}var wm=pt?wt(pt):function(O){return pc(O)&&Bl(O)==ar};function Nm(O){return"number"==typeof O||pc(O)&&To(O)==Ln}function v_(O){if(!pc(O)||To(O)!=er)return!1;var Y=kl(O);if(null===Y)return!0;var _e=Ts.call(Y,"constructor")&&Y.constructor;return"function"==typeof _e&&_e instanceof _e&&Hn.call(_e)==Ds}var pp=an?wt(an):function(O){return pc(O)&&To(O)==tr},Pm=Nt?wt(Nt):function(O){return pc(O)&&Bl(O)==Yn};function y_(O){return"string"==typeof O||!ui(O)&&pc(O)&&To(O)==Cn}function ju(O){return"symbol"==typeof O||pc(O)&&To(O)==Kt}var th=Ce?wt(Ce):function(O){return pc(O)&&yd(O.length)&&!!gi[To(O)]},Im=uc(fs),E_=uc(function(O,Y){return O<=Y});function Lh(O){if(!O)return[];if(Io(O))return y_(O)?Ft(O):_i(O);if(we&&O[we])return function(Un){for(var lr,dr=[];!(lr=Un.next()).done;)dr.push(lr.value);return dr}(O[we]());var Y=Bl(O);return(Y==ar?ro:Y==Yn?hi:ih)(O)}function Kd(O){return O?(O=Bu(O))===He||O===-He?17976931348623157e292*(O<0?-1:1):O==O?O:0:0===O?O:0}function Ia(O){var Y=Kd(O),_e=Y%1;return Y==Y?_e?Y-_e:Y:0}function ug(O){return O?Rl(Ia(O),0,Et):0}function Bu(O){if("number"==typeof O)return O;if(ju(O))return NaN;if(ga(O)){var Y="function"==typeof O.valueOf?O.valueOf():O;O=ga(Y)?Y+"":Y}if("string"!=typeof O)return 0===O?O:+O;O=We(O);var _e=Mr.test(O);return _e||Li.test(O)?Ra(O.slice(2),_e?2:8):rr.test(O)?NaN:+O}function Lm(O){return ji(O,Zc(O))}function ol(O){return null==O?"":Ic(O)}var hp=us(function(O,Y){if(ku(Y)||Io(Y))ji(Y,Yc(Y),O);else for(var _e in Y)Ts.call(Y,_e)&&El(O,_e,Y[_e])}),T_=us(function(O,Y){ji(Y,Zc(Y),O)}),Fh=us(function(O,Y,_e,gt){ji(Y,Zc(Y),O,gt)}),Fm=us(function(O,Y,_e,gt){ji(Y,Yc(Y),O,gt)}),ef=ou(Jl),Cv=Fs(function(O,Y){O=jo(O);var _e=-1,gt=Y.length,un=gt>2?Y[2]:e;for(un&&tc(Y[0],Y[1],un)&&(gt=1);++_e<gt;)for(var Zn=Y[_e],gr=Zc(Zn),Lr=-1,Qr=gr.length;++Lr<Qr;){var Ji=gr[Lr],Qi=O[Ji];(Qi===e||At(Qi,ha[Ji])&&!Ts.call(O,Ji))&&(O[Ji]=Zn[Ji])}return O}),dg=Fs(function(O){return O.push(e,os),ye(gp,e,O)});function Xf(O,Y,_e){var gt=null==O?e:Pi(O,Y);return gt===e?_e:gt}function M_(O,Y){return null!=O&&au(O,Y,As)}var O_=Ac(function(O,Y,_e){null!=Y&&"function"!=typeof Y.toString&&(Y=vo.call(Y)),O[Y]=_e},Lg(yu)),_g=Ac(function(O,Y,_e){null!=Y&&"function"!=typeof Y.toString&&(Y=vo.call(Y)),Ts.call(O,Y)?O[Y].push(_e):O[Y]=[_e]},Ns),$m=Fs(Da);function Yc(O){return Io(O)?nu(O):Ar(O)}function Zc(O){return Io(O)?nu(O,!0):function(O){if(!ga(O))return function(O){var Y=[];if(null!=O)for(var _e in jo(O))Y.push(_e);return Y}(O);var Y=ku(O),_e=[];for(var gt in O)"constructor"==gt&&(Y||!Ts.call(O,gt))||_e.push(gt);return _e}(O)}var Hm=us(function(O,Y,_e){Ql(O,Y,_e)}),gp=us(function(O,Y,_e,gt){Ql(O,Y,_e,gt)}),Um=ou(function(O,Y){var _e={};if(null==O)return _e;var gt=!1;Y=Lo(Y,function(Zn){return Zn=Uc(Zn,O),gt||(gt=Zn.length>1),Zn}),ji(O,ff(O),_e),gt&&(_e=p(_e,7,$f));for(var un=Y.length;un--;)Ud(_e,Y[un]);return _e}),Bm=ou(function(O,Y){return null==O?{}:function(O,Y){return kd(O,Y,function(_e,gt){return M_(O,gt)})}(O,Y)});function mg(O,Y){if(null==O)return{};var _e=Lo(ff(O),function(gt){return[gt]});return Y=Ns(Y),kd(O,_e,function(gt,un){return Y(gt,un[0])})}var ic=jd(Yc),kh=jd(Zc);function ih(O){return null==O?[]:kt(O,Yc(O))}var Tg=dl(function(O,Y,_e){return Y=Y.toLowerCase(),O+(_e?x_(Y):Y)});function x_(O){return Ng(ol(O).toLowerCase())}function Cg(O){return(O=ol(O))&&O.replace(Oi,Zr).replace(Ve,"")}var Sg=dl(function(O,Y,_e){return O+(_e?"-":"")+Y.toLowerCase()}),Mg=dl(function(O,Y,_e){return O+(_e?" ":"")+Y.toLowerCase()}),Og=Oc("toLowerCase"),Ov=dl(function(O,Y,_e){return O+(_e?"_":"")+Y.toLowerCase()}),Jm=dl(function(O,Y,_e){return O+(_e?" ":"")+Ng(Y)}),xv=dl(function(O,Y,_e){return O+(_e?" ":"")+Y.toUpperCase()}),Ng=Oc("toUpperCase");function Xm(O,Y,_e){return O=ol(O),(Y=_e?e:Y)===e?function(Un){return ti.test(Un)}(O)?function(Un){return Un.match(Tn)||[]}(O):function(Un){return Un.match(mr)||[]}(O):O.match(Y)||[]}var P_=Fs(function(O,Y){try{return ye(O,e,Y)}catch(_e){return Qf(_e)?_e:new Ti(_e)}}),Pg=ou(function(O,Y){return Wt(Y,function(_e){_e=Tc(_e),ul(O,_e,Xu(O[_e],O))}),O});function Lg(O){return function(){return O}}var I_=jl(),e1=jl(!0);function yu(O){return O}function L_(O){return xn("function"==typeof O?O:p(O,1))}var r1=Fs(function(O,Y){return function(_e){return Da(_e,O,Y)}}),i1=Fs(function(O,Y){return function(_e){return Da(O,_e,Y)}});function F_(O,Y,_e){var gt=Yc(Y),un=Yr(Y,gt);null==_e&&(!ga(Y)||!un.length&>.length)&&(_e=Y,Y=O,O=this,un=Yr(Y,Yc(Y)));var Zn=!(ga(_e)&&"chain"in _e&&!_e.chain),gr=cu(O);return Wt(un,function(Lr){var Qr=Y[Lr];O[Lr]=Qr,gr&&(O.prototype[Lr]=function(){var Ji=this.__chain__;if(Zn||Ji){var Qi=O(this.__wrapped__),lo=Qi.__actions__=_i(this.__actions__);return lo.push({func:Qr,args:arguments,thisArg:O}),Qi.__chain__=Ji,Qi}return Qr.apply(O,Zo([this.value()],arguments))})}),O}function Kf(){}var Pd=bc(Lo),sh=bc(Ni),o1=bc(Oa);function $g(O){return _d(O)?Na(Tc(O)):function(O){return function(Y){return Pi(Y,O)}}(O)}var bu=Pu(),mp=Pu(!0);function Vc(){return[]}function bd(){return!1}var Fp=uf(function(O,Y){return O+Y},0),kp=dc("ceil"),$p=uf(function(O,Y){return O/Y},1),Hp=dc("floor"),$_=uf(function(O,Y){return O*Y},1),Bg=dc("round"),Yg=uf(function(O,Y){return O-Y},0);return _n.after=function(O,Y){if("function"!=typeof Y)throw new Ho(u);return O=Ia(O),function(){if(--O<1)return Y.apply(this,arguments)}},_n.ary=qf,_n.assign=hp,_n.assignIn=T_,_n.assignInWith=Fh,_n.assignWith=Fm,_n.at=ef,_n.before=xh,_n.bind=Xu,_n.bindAll=Pg,_n.bindKey=wp,_n.castArray=function(){if(!arguments.length)return[];var O=arguments[0];return ui(O)?O:[O]},_n.chain=Wp,_n.chunk=function(O,Y,_e){Y=(_e?tc(O,Y,_e):Y===e)?1:kn(Ia(Y),0);var gt=null==O?0:O.length;if(!gt||Y<1)return[];for(var un=0,Zn=0,gr=dr(Re(gt/Y));un<gt;)gr[Zn++]=Pc(O,un,un+=Y);return gr},_n.compact=function(O){for(var Y=-1,_e=null==O?0:O.length,gt=0,un=[];++Y<_e;){var Zn=O[Y];Zn&&(un[gt++]=Zn)}return un},_n.concat=function(){var O=arguments.length;if(!O)return[];for(var Y=dr(O-1),_e=arguments[0],gt=O;gt--;)Y[gt-1]=arguments[gt];return Zo(ui(_e)?_i(_e):[_e],Zt(Y,1))},_n.cond=function(O){var Y=null==O?0:O.length,_e=Ns();return O=Y?Lo(O,function(gt){if("function"!=typeof gt[1])throw new Ho(u);return[_e(gt[0]),gt[1]]}):[],Fs(function(gt){for(var un=-1;++un<Y;){var Zn=O[un];if(ye(Zn[0],this,gt))return ye(Zn[1],this,gt)}})},_n.conforms=function(O){return function(O){var Y=Yc(O);return function(_e){return N(_e,O,Y)}}(p(O,1))},_n.constant=Lg,_n.countBy=Eh,_n.create=function(O,Y){var _e=Us(O);return null==Y?_e:cc(_e,Y)},_n.curry=function Rh(O,Y,_e){var gt=Wc(O,8,e,e,e,e,e,Y=_e?e:Y);return gt.placeholder=Rh.placeholder,gt},_n.curryRight=function h_(O,Y,_e){var gt=Wc(O,16,e,e,e,e,e,Y=_e?e:Y);return gt.placeholder=h_.placeholder,gt},_n.debounce=Dp,_n.defaults=Cv,_n.defaultsDeep=dg,_n.defer=__,_n.delay=Nh,_n.difference=Vf,_n.differenceBy=cp,_n.differenceWith=Mp,_n.drop=function(O,Y,_e){var gt=null==O?0:O.length;return gt?Pc(O,(Y=_e||Y===e?1:Ia(Y))<0?0:Y,gt):[]},_n.dropRight=function(O,Y,_e){var gt=null==O?0:O.length;return gt?Pc(O,0,(Y=gt-(Y=_e||Y===e?1:Ia(Y)))<0?0:Y):[]},_n.dropRightWhile=function(O,Y){return O&&O.length?Md(O,Ns(Y,3),!0,!0):[]},_n.dropWhile=function(O,Y){return O&&O.length?Md(O,Ns(Y,3),!0):[]},_n.fill=function(O,Y,_e,gt){var un=null==O?0:O.length;return un?(_e&&"number"!=typeof _e&&tc(O,Y,_e)&&(_e=0,gt=un),function(O,Y,_e,gt){var un=O.length;for((_e=Ia(_e))<0&&(_e=-_e>un?0:un+_e),(gt=gt===e||gt>un?un:Ia(gt))<0&&(gt+=un),gt=_e>gt?0:ug(gt);_e<gt;)O[_e++]=Y;return O}(O,Y,_e,gt)):[]},_n.filter=function(O,Y){return(ui(O)?Yo:Yt)(O,Ns(Y,3))},_n.flatMap=function(O,Y){return Zt(Xp(O,Y),1)},_n.flatMapDeep=function(O,Y){return Zt(Xp(O,Y),He)},_n.flatMapDepth=function(O,Y,_e){return _e=_e===e?1:Ia(_e),Zt(Xp(O,Y),_e)},_n.flatten=dp,_n.flattenDeep=function(O){return null!=O&&O.length?Zt(O,He):[]},_n.flattenDepth=function(O,Y){return null!=O&&O.length?Zt(O,Y=Y===e?1:Ia(Y)):[]},_n.flip=function(O){return Wc(O,512)},_n.flow=I_,_n.flowRight=e1,_n.fromPairs=function(O){for(var Y=-1,_e=null==O?0:O.length,gt={};++Y<_e;){var un=O[Y];gt[un[0]]=un[1]}return gt},_n.functions=function(O){return null==O?[]:Yr(O,Yc(O))},_n.functionsIn=function(O){return null==O?[]:Yr(O,Zc(O))},_n.groupBy=rc,_n.initial=function(O){return null!=O&&O.length?Pc(O,0,-1):[]},_n.intersection=on,_n.intersectionBy=bn,_n.intersectionWith=nr,_n.invert=O_,_n.invertBy=_g,_n.invokeMap=Ml,_n.iteratee=L_,_n.keyBy=Sh,_n.keys=Yc,_n.keysIn=Zc,_n.map=Xp,_n.mapKeys=function(O,Y){var _e={};return Y=Ns(Y,3),sr(O,function(gt,un,Zn){ul(_e,Y(gt,un,Zn),gt)}),_e},_n.mapValues=function(O,Y){var _e={};return Y=Ns(Y,3),sr(O,function(gt,un,Zn){ul(_e,un,Y(gt,un,Zn))}),_e},_n.matches=function(O){return Wa(p(O,1))},_n.matchesProperty=function(O,Y){return gc(O,p(Y,1))},_n.memoize=fp,_n.merge=Hm,_n.mergeWith=gp,_n.method=r1,_n.methodOf=i1,_n.mixin=F_,_n.negate=Ku,_n.nthArg=function(O){return O=Ia(O),Fs(function(Y){return qu(Y,O)})},_n.omit=Um,_n.omitBy=function(O,Y){return mg(O,Ku(Ns(Y)))},_n.once=function(O){return xh(2,O)},_n.orderBy=function(O,Y,_e,gt){return null==O?[]:(ui(Y)||(Y=null==Y?[]:[Y]),ui(_e=gt?e:_e)||(_e=null==_e?[]:[_e]),sd(O,Y,_e))},_n.over=Pd,_n.overArgs=Jd,_n.overEvery=sh,_n.overSome=o1,_n.partial=Qd,_n.partialRight=Jf,_n.partition=ko,_n.pick=Bm,_n.pickBy=mg,_n.property=$g,_n.propertyOf=function(O){return function(Y){return null==O?e:Pi(O,Y)}},_n.pull=oo,_n.pullAll=ms,_n.pullAllBy=function(O,Y,_e){return O&&O.length&&Y&&Y.length?Nu(O,Y,Ns(_e,2)):O},_n.pullAllWith=function(O,Y,_e){return O&&O.length&&Y&&Y.length?Nu(O,Y,e,_e):O},_n.pullAt=oi,_n.range=bu,_n.rangeRight=mp,_n.rearg=Cf,_n.reject=function(O,Y){return(ui(O)?Yo:Yt)(O,Ku(Ns(Y,3)))},_n.remove=function(O,Y){var _e=[];if(!O||!O.length)return _e;var gt=-1,un=[],Zn=O.length;for(Y=Ns(Y,3);++gt<Zn;){var gr=O[gt];Y(gr,gt,O)&&(_e.push(gr),un.push(gt))}return sf(O,un),_e},_n.rest=function(O,Y){if("function"!=typeof O)throw new Ho(u);return Fs(O,Y=Y===e?Y:Ia(Y))},_n.reverse=ei,_n.sampleSize=function(O,Y,_e){return Y=(_e?tc(O,Y,_e):Y===e)?1:Ia(Y),(ui(O)?Gl:Pf)(O,Y)},_n.set=function(O,Y,_e){return null==O?O:ld(O,Y,_e)},_n.setWith=function(O,Y,_e,gt){return gt="function"==typeof gt?gt:e,null==O?O:ld(O,Y,_e,gt)},_n.shuffle=function(O){return(ui(O)?nl:af)(O)},_n.slice=function(O,Y,_e){var gt=null==O?0:O.length;return gt?(_e&&"number"!=typeof _e&&tc(O,Y,_e)?(Y=0,_e=gt):(Y=null==Y?0:Ia(Y),_e=_e===e?gt:Ia(_e)),Pc(O,Y,_e)):[]},_n.sortBy=wh,_n.sortedUniq=function(O){return O&&O.length?Hd(O):[]},_n.sortedUniqBy=function(O,Y){return O&&O.length?Hd(O,Ns(Y,2)):[]},_n.split=function(O,Y,_e){return _e&&"number"!=typeof _e&&tc(O,Y,_e)&&(Y=_e=e),(_e=_e===e?Et:_e>>>0)?(O=ol(O))&&("string"==typeof Y||null!=Y&&!pp(Y))&&!(Y=Ic(Y))&&si(O)?hu(Ft(O),0,_e):O.split(Y,_e):[]},_n.spread=function(O,Y){if("function"!=typeof O)throw new Ho(u);return Y=null==Y?0:kn(Ia(Y),0),Fs(function(_e){var gt=_e[Y],un=hu(_e,0,Y);return gt&&Zo(un,gt),ye(O,this,un)})},_n.tail=function(O){var Y=null==O?0:O.length;return Y?Pc(O,1,Y):[]},_n.take=function(O,Y,_e){return O&&O.length?Pc(O,0,(Y=_e||Y===e?1:Ia(Y))<0?0:Y):[]},_n.takeRight=function(O,Y,_e){var gt=null==O?0:O.length;return gt?Pc(O,(Y=gt-(Y=_e||Y===e?1:Ia(Y)))<0?0:Y,gt):[]},_n.takeRightWhile=function(O,Y){return O&&O.length?Md(O,Ns(Y,3),!1,!0):[]},_n.takeWhile=function(O,Y){return O&&O.length?Md(O,Ns(Y,3)):[]},_n.tap=function(O,Y){return Y(O),O},_n.throttle=function(O,Y,_e){var gt=!0,un=!0;if("function"!=typeof O)throw new Ho(u);return ga(_e)&&(gt="leading"in _e?!!_e.leading:gt,un="trailing"in _e?!!_e.trailing:un),Dp(O,Y,{leading:gt,maxWait:Y,trailing:un})},_n.thru=Tf,_n.toArray=Lh,_n.toPairs=ic,_n.toPairsIn=kh,_n.toPath=function(O){return ui(O)?Lo(O,Tc):ju(O)?[O]:_i(md(ol(O)))},_n.toPlainObject=Lm,_n.transform=function(O,Y,_e){var gt=ui(O),un=gt||yl(O)||th(O);if(Y=Ns(Y,4),null==_e){var Zn=O&&O.constructor;_e=un?gt?new Zn:[]:ga(O)&&cu(Zn)?Us(kl(O)):{}}return(un?Wt:sr)(O,function(gr,Lr,Qr){return Y(_e,gr,Lr,Qr)}),_e},_n.unary=function(O){return qf(O,1)},_n.union=_h,_n.unionBy=o_,_n.unionWith=s_,_n.uniq=function(O){return O&&O.length?pu(O):[]},_n.uniqBy=function(O,Y){return O&&O.length?pu(O,Ns(Y,2)):[]},_n.uniqWith=function(O,Y){return Y="function"==typeof Y?Y:e,O&&O.length?pu(O,e,Y):[]},_n.unset=function(O,Y){return null==O||Ud(O,Y)},_n.unzip=zp,_n.unzipWith=mh,_n.update=function(O,Y,_e){return null==O?O:ud(O,Y,Mc(_e))},_n.updateWith=function(O,Y,_e,gt){return gt="function"==typeof gt?gt:e,null==O?O:ud(O,Y,Mc(_e),gt)},_n.values=ih,_n.valuesIn=function(O){return null==O?[]:kt(O,Zc(O))},_n.without=c_,_n.words=Xm,_n.wrap=function(O,Y){return Qd(Mc(Y),O)},_n.xor=ca,_n.xorBy=vh,_n.xorWith=yh,_n.zip=Ap,_n.zipObject=function(O,Y){return dd(O||[],Y||[],El)},_n.zipObjectDeep=function(O,Y){return dd(O||[],Y||[],ld)},_n.zipWith=vd,_n.entries=ic,_n.entriesIn=kh,_n.extend=T_,_n.extendWith=Fh,F_(_n,_n),_n.add=Fp,_n.attempt=P_,_n.camelCase=Tg,_n.capitalize=x_,_n.ceil=kp,_n.clamp=function(O,Y,_e){return _e===e&&(_e=Y,Y=e),_e!==e&&(_e=(_e=Bu(_e))==_e?_e:0),Y!==e&&(Y=(Y=Bu(Y))==Y?Y:0),Rl(Bu(O),Y,_e)},_n.clone=function(O){return p(O,4)},_n.cloneDeep=function(O){return p(O,5)},_n.cloneDeepWith=function(O,Y){return p(O,5,Y="function"==typeof Y?Y:e)},_n.cloneWith=function(O,Y){return p(O,4,Y="function"==typeof Y?Y:e)},_n.conformsTo=function(O,Y){return null==Y||N(O,Y,Yc(Y))},_n.deburr=Cg,_n.defaultTo=function(O,Y){return null==O||O!=O?Y:O},_n.divide=$p,_n.endsWith=function(O,Y,_e){O=ol(O),Y=Ic(Y);var gt=O.length,un=_e=_e===e?gt:Rl(Ia(_e),0,gt);return(_e-=Y.length)>=0&&O.slice(_e,un)==Y},_n.eq=At,_n.escape=function(O){return(O=ol(O))&&ht.test(O)?O.replace(Qn,Pr):O},_n.escapeRegExp=function(O){return(O=ol(O))&&ot.test(O)?O.replace(Ut,"\\$&"):O},_n.every=function(O,Y,_e){var gt=ui(O)?Ni:ze;return _e&&tc(O,Y,_e)&&(Y=e),gt(O,Ns(Y,3))},_n.find=p_,_n.findIndex=Op,_n.findKey=function(O,Y){return wl(O,Ns(Y,3),sr)},_n.findLast=Am,_n.findLastIndex=zd,_n.findLastKey=function(O,Y){return wl(O,Ns(Y,3),Tr)},_n.floor=Hp,_n.forEach=Ch,_n.forEachRight=Qp,_n.forIn=function(O,Y){return null==O?O:wn(O,Ns(Y,3),Zc)},_n.forInRight=function(O,Y){return null==O?O:cr(O,Ns(Y,3),Zc)},_n.forOwn=function(O,Y){return O&&sr(O,Ns(Y,3))},_n.forOwnRight=function(O,Y){return O&&Tr(O,Ns(Y,3))},_n.get=Xf,_n.gt=cn,_n.gte=hr,_n.has=function(O,Y){return null!=O&&au(O,Y,Go)},_n.hasIn=M_,_n.head=q,_n.identity=yu,_n.includes=function(O,Y,_e,gt){O=Io(O)?O:ih(O),_e=_e&&!gt?Ia(_e):0;var un=O.length;return _e<0&&(_e=kn(un+_e,0)),y_(O)?_e<=un&&O.indexOf(Y,_e)>-1:!!un&&Qa(O,Y,_e)>-1},_n.indexOf=function(O,Y,_e){var gt=null==O?0:O.length;if(!gt)return-1;var un=null==_e?0:Ia(_e);return un<0&&(un=kn(gt+un,0)),Qa(O,Y,un)},_n.inRange=function(O,Y,_e){return Y=Kd(Y),_e===e?(_e=Y,Y=0):_e=Kd(_e),function(O,Y,_e){return O>=zn(Y,_e)&&O<kn(Y,_e)}(O=Bu(O),Y,_e)},_n.invoke=$m,_n.isArguments=Rr,_n.isArray=ui,_n.isArrayBuffer=Eo,_n.isArrayLike=Io,_n.isArrayLikeObject=ss,_n.isBoolean=function(O){return!0===O||!1===O||pc(O)&&To(O)==ae},_n.isBuffer=yl,_n.isDate=Ja,_n.isElement=function(O){return pc(O)&&1===O.nodeType&&!v_(O)},_n.isEmpty=function(O){if(null==O)return!0;if(Io(O)&&(ui(O)||"string"==typeof O||"function"==typeof O.splice||yl(O)||th(O)||Rr(O)))return!O.length;var Y=Bl(O);if(Y==ar||Y==Yn)return!O.size;if(ku(O))return!Ar(O).length;for(var _e in O)if(Ts.call(O,_e))return!1;return!0},_n.isEqual=function(O,Y){return Ka(O,Y)},_n.isEqualWith=function(O,Y,_e){var gt=(_e="function"==typeof _e?_e:e)?_e(O,Y):e;return gt===e?Ka(O,Y,e,_e):!!gt},_n.isError=Qf,_n.isFinite=function(O){return"number"==typeof O&&en(O)},_n.isFunction=cu,_n.isInteger=fc,_n.isLength=yd,_n.isMap=wm,_n.isMatch=function(O,Y){return O===Y||Vs(O,Y,gu(Y))},_n.isMatchWith=function(O,Y,_e){return _e="function"==typeof _e?_e:e,Vs(O,Y,gu(Y),_e)},_n.isNaN=function(O){return Nm(O)&&O!=+O},_n.isNative=function(O){if(ap(O))throw new Ti("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return X(O)},_n.isNil=function(O){return null==O},_n.isNull=function(O){return null===O},_n.isNumber=Nm,_n.isObject=ga,_n.isObjectLike=pc,_n.isPlainObject=v_,_n.isRegExp=pp,_n.isSafeInteger=function(O){return fc(O)&&O>=-$e&&O<=$e},_n.isSet=Pm,_n.isString=y_,_n.isSymbol=ju,_n.isTypedArray=th,_n.isUndefined=function(O){return O===e},_n.isWeakMap=function(O){return pc(O)&&Bl(O)==Kn},_n.isWeakSet=function(O){return pc(O)&&"[object WeakSet]"==To(O)},_n.join=function(O,Y){return null==O?"":vn.call(O,Y)},_n.kebabCase=Sg,_n.last=qr,_n.lastIndexOf=function(O,Y,_e){var gt=null==O?0:O.length;if(!gt)return-1;var un=gt;return _e!==e&&(un=(un=Ia(_e))<0?kn(gt+un,0):zn(un,gt-1)),Y==Y?function(Un,lr,dr){for(var li=dr+1;li--;)if(Un[li]===lr)return li;return li}(O,Y,un):_l(O,Il,un,!0)},_n.lowerCase=Mg,_n.lowerFirst=Og,_n.lt=Im,_n.lte=E_,_n.max=function(O){return O&&O.length?De(O,yu,Qo):e},_n.maxBy=function(O,Y){return O&&O.length?De(O,Ns(Y,2),Qo):e},_n.mean=function(O){return Yl(O,yu)},_n.meanBy=function(O,Y){return Yl(O,Ns(Y,2))},_n.min=function(O){return O&&O.length?De(O,yu,fs):e},_n.minBy=function(O,Y){return O&&O.length?De(O,Ns(Y,2),fs):e},_n.stubArray=Vc,_n.stubFalse=bd,_n.stubObject=function(){return{}},_n.stubString=function(){return""},_n.stubTrue=function(){return!0},_n.multiply=$_,_n.nth=function(O,Y){return O&&O.length?qu(O,Ia(Y)):e},_n.noConflict=function(){return Sa._===this&&(Sa._=zc),this},_n.noop=Kf,_n.now=Wf,_n.pad=function(O,Y,_e){O=ol(O);var gt=(Y=Ia(Y))?ft(O):0;if(!Y||gt>=Y)return O;var un=(Y-gt)/2;return _u(Be(un),_e)+O+_u(Re(un),_e)},_n.padEnd=function(O,Y,_e){O=ol(O);var gt=(Y=Ia(Y))?ft(O):0;return Y&><Y?O+_u(Y-gt,_e):O},_n.padStart=function(O,Y,_e){O=ol(O);var gt=(Y=Ia(Y))?ft(O):0;return Y&><Y?_u(Y-gt,_e)+O:O},_n.parseInt=function(O,Y,_e){return _e||null==Y?Y=0:Y&&(Y=+Y),kr(ol(O).replace(Nn,""),Y||0)},_n.random=function(O,Y,_e){if(_e&&"boolean"!=typeof _e&&tc(O,Y,_e)&&(Y=_e=e),_e===e&&("boolean"==typeof Y?(_e=Y,Y=e):"boolean"==typeof O&&(_e=O,O=e)),O===e&&Y===e?(O=0,Y=1):(O=Kd(O),Y===e?(Y=O,O=0):Y=Kd(Y)),O>Y){var gt=O;O=Y,Y=gt}if(_e||O%1||Y%1){var un=Gr();return zn(O+un*(Y-O+xa("1e-"+((un+"").length-1))),Y)}return Cd(O,Y)},_n.reduce=function(O,Y,_e){var gt=ui(O)?Ta:ys,un=arguments.length<3;return gt(O,Ns(Y,4),_e,un,de)},_n.reduceRight=function(O,Y,_e){var gt=ui(O)?hl:ys,un=arguments.length<3;return gt(O,Ns(Y,4),_e,un,ve)},_n.repeat=function(O,Y,_e){return Y=(_e?tc(O,Y,_e):Y===e)?1:Ia(Y),$d(ol(O),Y)},_n.replace=function(){var O=arguments,Y=ol(O[0]);return O.length<3?Y:Y.replace(O[1],O[2])},_n.result=function(O,Y,_e){var gt=-1,un=(Y=Uc(Y,O)).length;for(un||(un=1,O=e);++gt<un;){var Zn=null==O?e:O[Tc(Y[gt])];Zn===e&&(gt=un,Zn=_e),O=cu(Zn)?Zn.call(O):Zn}return O},_n.round=Bg,_n.runInContext=Un,_n.sample=function(O){return(ui(O)?xl:Nc)(O)},_n.size=function(O){if(null==O)return 0;if(Io(O))return y_(O)?ft(O):O.length;var Y=Bl(O);return Y==ar||Y==Yn?O.size:Ar(O).length},_n.snakeCase=Ov,_n.some=function(O,Y,_e){var gt=ui(O)?Oa:If;return _e&&tc(O,Y,_e)&&(Y=e),gt(O,Ns(Y,3))},_n.sortedIndex=function(O,Y){return cd(O,Y)},_n.sortedIndexBy=function(O,Y,_e){return lf(O,Y,Ns(_e,2))},_n.sortedIndexOf=function(O,Y){var _e=null==O?0:O.length;if(_e){var gt=cd(O,Y);if(gt<_e&&At(O[gt],Y))return gt}return-1},_n.sortedLastIndex=function(O,Y){return cd(O,Y,!0)},_n.sortedLastIndexBy=function(O,Y,_e){return lf(O,Y,Ns(_e,2),!0)},_n.sortedLastIndexOf=function(O,Y){if(null!=O&&O.length){var gt=cd(O,Y,!0)-1;if(At(O[gt],Y))return gt}return-1},_n.startCase=Jm,_n.startsWith=function(O,Y,_e){return O=ol(O),_e=null==_e?0:Rl(Ia(_e),0,O.length),Y=Ic(Y),O.slice(_e,_e+Y.length)==Y},_n.subtract=Yg,_n.sum=function(O){return O&&O.length?Vo(O,yu):0},_n.sumBy=function(O,Y){return O&&O.length?Vo(O,Ns(Y,2)):0},_n.template=function(O,Y,_e){var gt=_n.templateSettings;_e&&tc(O,Y,_e)&&(Y=e),O=ol(O),Y=Fh({},Y,gt,sp);var Lr,Qr,un=Fh({},Y.imports,gt.imports,sp),Zn=Yc(un),gr=kt(un,Zn),Ji=0,Qi=Y.interpolate||Xr,lo="__p += '",Xo=uo((Y.escape||Xr).source+"|"+Qi.source+"|"+(Qi===nt?br:Xr).source+"|"+(Y.evaluate||Xr).source+"|$","g"),Os="//# sourceURL="+(Ts.call(Y,"sourceURL")?(Y.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++wo+"]")+"\n";O.replace(Xo,function(ta,el,pl,td,Zu,nd){return pl||(pl=td),lo+=O.slice(Ji,nd).replace(Kr,mi),el&&(Lr=!0,lo+="' +\n__e("+el+") +\n'"),Zu&&(Qr=!0,lo+="';\n"+Zu+";\n__p += '"),pl&&(lo+="' +\n((__t = ("+pl+")) == null ? '' : __t) +\n'"),Ji=nd+ta.length,ta}),lo+="';\n";var Qs=Ts.call(Y,"variable")&&Y.variable;if(Qs){if(_r.test(Qs))throw new Ti("Invalid `variable` option passed into `_.template`")}else lo="with (obj) {\n"+lo+"\n}\n";lo=(Qr?lo.replace(yn,""):lo).replace(et,"$1").replace(jt,"$1;"),lo="function("+(Qs||"obj")+") {\n"+(Qs?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(Lr?", __e = _.escape":"")+(Qr?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+lo+"return __p\n}";var La=P_(function(){return Oo(Zn,Os+"return "+lo).apply(e,gr)});if(La.source=lo,Qf(La))throw La;return La},_n.times=function(O,Y){if((O=Ia(O))<1||O>$e)return[];var _e=Et,gt=zn(O,Et);Y=Ns(Y),O-=Et;for(var un=Ba(gt,Y);++_e<O;)Y(_e);return un},_n.toFinite=Kd,_n.toInteger=Ia,_n.toLength=ug,_n.toLower=function(O){return ol(O).toLowerCase()},_n.toNumber=Bu,_n.toSafeInteger=function(O){return O?Rl(Ia(O),-$e,$e):0===O?O:0},_n.toString=ol,_n.toUpper=function(O){return ol(O).toUpperCase()},_n.trim=function(O,Y,_e){if((O=ol(O))&&(_e||Y===e))return We(O);if(!O||!(Y=Ic(Y)))return O;var gt=Ft(O),un=Ft(Y);return hu(gt,ur(gt,un),gn(gt,un)+1).join("")},_n.trimEnd=function(O,Y,_e){if((O=ol(O))&&(_e||Y===e))return O.slice(0,Bt(O)+1);if(!O||!(Y=Ic(Y)))return O;var gt=Ft(O);return hu(gt,0,gn(gt,Ft(Y))+1).join("")},_n.trimStart=function(O,Y,_e){if((O=ol(O))&&(_e||Y===e))return O.replace(Nn,"");if(!O||!(Y=Ic(Y)))return O;var gt=Ft(O);return hu(gt,ur(gt,Ft(Y))).join("")},_n.truncate=function(O,Y){var _e=30,gt="...";if(ga(Y)){var un="separator"in Y?Y.separator:un;_e="length"in Y?Ia(Y.length):_e,gt="omission"in Y?Ic(Y.omission):gt}var Zn=(O=ol(O)).length;if(si(O)){var gr=Ft(O);Zn=gr.length}if(_e>=Zn)return O;var Lr=_e-ft(gt);if(Lr<1)return gt;var Qr=gr?hu(gr,0,Lr).join(""):O.slice(0,Lr);if(un===e)return Qr+gt;if(gr&&(Lr+=Qr.length-Lr),pp(un)){if(O.slice(Lr).search(un)){var Ji,Qi=Qr;for(un.global||(un=uo(un.source,ol(Jn.exec(un))+"g")),un.lastIndex=0;Ji=un.exec(Qi);)var lo=Ji.index;Qr=Qr.slice(0,lo===e?Lr:lo)}}else if(O.indexOf(Ic(un),Lr)!=Lr){var Xo=Qr.lastIndexOf(un);Xo>-1&&(Qr=Qr.slice(0,Xo))}return Qr+gt},_n.unescape=function(O){return(O=ol(O))&&Ir.test(O)?O.replace(hn,In):O},_n.uniqueId=function(O){var Y=++Ll;return ol(O)+Y},_n.upperCase=xv,_n.upperFirst=Ng,_n.each=Ch,_n.eachRight=Qp,_n.first=q,F_(_n,function(){var O={};return sr(_n,function(Y,_e){Ts.call(_n.prototype,_e)||(O[_e]=Y)}),O}(),{chain:!1}),_n.VERSION="4.17.21",Wt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(O){_n[O].placeholder=_n}),Wt(["drop","take"],function(O,Y){so.prototype[O]=function(_e){_e=_e===e?1:kn(Ia(_e),0);var gt=this.__filtered__&&!Y?new so(this):this.clone();return gt.__filtered__?gt.__takeCount__=zn(_e,gt.__takeCount__):gt.__views__.push({size:zn(_e,Et),type:O+(gt.__dir__<0?"Right":"")}),gt},so.prototype[O+"Right"]=function(_e){return this.reverse()[O](_e).reverse()}}),Wt(["filter","map","takeWhile"],function(O,Y){var _e=Y+1,gt=1==_e||3==_e;so.prototype[O]=function(un){var Zn=this.clone();return Zn.__iteratees__.push({iteratee:Ns(un,3),type:_e}),Zn.__filtered__=Zn.__filtered__||gt,Zn}}),Wt(["head","last"],function(O,Y){var _e="take"+(Y?"Right":"");so.prototype[O]=function(){return this[_e](1).value()[0]}}),Wt(["initial","tail"],function(O,Y){var _e="drop"+(Y?"":"Right");so.prototype[O]=function(){return this.__filtered__?new so(this):this[_e](1)}}),so.prototype.compact=function(){return this.filter(yu)},so.prototype.find=function(O){return this.filter(O).head()},so.prototype.findLast=function(O){return this.reverse().find(O)},so.prototype.invokeMap=Fs(function(O,Y){return"function"==typeof O?new so(this):this.map(function(_e){return Da(_e,O,Y)})}),so.prototype.reject=function(O){return this.filter(Ku(Ns(O)))},so.prototype.slice=function(O,Y){O=Ia(O);var _e=this;return _e.__filtered__&&(O>0||Y<0)?new so(_e):(O<0?_e=_e.takeRight(-O):O&&(_e=_e.drop(O)),Y!==e&&(_e=(Y=Ia(Y))<0?_e.dropRight(-Y):_e.take(Y-O)),_e)},so.prototype.takeRightWhile=function(O){return this.reverse().takeWhile(O).reverse()},so.prototype.toArray=function(){return this.take(Et)},sr(so.prototype,function(O,Y){var _e=/^(?:filter|find|map|reject)|While$/.test(Y),gt=/^(?:head|last)$/.test(Y),un=_n[gt?"take"+("last"==Y?"Right":""):Y],Zn=gt||/^find/.test(Y);!un||(_n.prototype[Y]=function(){var gr=this.__wrapped__,Lr=gt?[1]:arguments,Qr=gr instanceof so,Ji=Lr[0],Qi=Qr||ui(gr),lo=function(el){var pl=un.apply(_n,Zo([el],Lr));return gt&&Xo?pl[0]:pl};Qi&&_e&&"function"==typeof Ji&&1!=Ji.length&&(Qr=Qi=!1);var Xo=this.__chain__,Os=!!this.__actions__.length,Qs=Zn&&!Xo,La=Qr&&!Os;if(!Zn&&Qi){gr=La?gr:new so(this);var ta=O.apply(gr,Lr);return ta.__actions__.push({func:Tf,args:[lo],thisArg:e}),new Aa(ta,Xo)}return Qs&&La?O.apply(this,Lr):(ta=this.thru(lo),Qs?gt?ta.value()[0]:ta.value():ta)})}),Wt(["pop","push","shift","sort","splice","unshift"],function(O){var Y=Yi[O],_e=/^(?:push|sort|unshift)$/.test(O)?"tap":"thru",gt=/^(?:pop|shift)$/.test(O);_n.prototype[O]=function(){var un=arguments;if(gt&&!this.__chain__){var Zn=this.value();return Y.apply(ui(Zn)?Zn:[],un)}return this[_e](function(gr){return Y.apply(ui(gr)?gr:[],un)})}}),sr(so.prototype,function(O,Y){var _e=_n[Y];if(_e){var gt=_e.name+"";Ts.call(io,gt)||(io[gt]=[]),io[gt].push({name:Y,func:_e})}}),io[zl(e,2).name]=[{name:"wrapper",func:e}],so.prototype.clone=function(){var O=new so(this.__wrapped__);return O.__actions__=_i(this.__actions__),O.__dir__=this.__dir__,O.__filtered__=this.__filtered__,O.__iteratees__=_i(this.__iteratees__),O.__takeCount__=this.__takeCount__,O.__views__=_i(this.__views__),O},so.prototype.reverse=function(){if(this.__filtered__){var O=new so(this);O.__dir__=-1,O.__filtered__=!0}else(O=this.clone()).__dir__*=-1;return O},so.prototype.value=function(){var O=this.__wrapped__.value(),Y=this.__dir__,_e=ui(O),gt=Y<0,un=_e?O.length:0,Zn=function(O,Y,_e){for(var gt=-1,un=_e.length;++gt<un;){var Zn=_e[gt],gr=Zn.size;switch(Zn.type){case"drop":O+=gr;break;case"dropRight":Y-=gr;break;case"take":Y=zn(Y,O+gr);break;case"takeRight":O=kn(O,Y-gr)}}return{start:O,end:Y}}(0,un,this.__views__),gr=Zn.start,Lr=Zn.end,Qr=Lr-gr,Ji=gt?Lr:gr-1,Qi=this.__iteratees__,lo=Qi.length,Xo=0,Os=zn(Qr,this.__takeCount__);if(!_e||!gt&&un==Qr&&Os==Qr)return Lf(O,this.__actions__);var Qs=[];e:for(;Qr--&&Xo<Os;){for(var La=-1,ta=O[Ji+=Y];++La<lo;){var el=Qi[La],td=el.type,Zu=(0,el.iteratee)(ta);if(2==td)ta=Zu;else if(!Zu){if(1==td)continue e;break e}}Qs[Xo++]=ta}return Qs},_n.prototype.at=u_,_n.prototype.chain=function(){return Wp(this)},_n.prototype.commit=function(){return new Aa(this.value(),this.__chain__)},_n.prototype.next=function(){this.__values__===e&&(this.__values__=Lh(this.value()));var O=this.__index__>=this.__values__.length;return{done:O,value:O?e:this.__values__[this.__index__++]}},_n.prototype.plant=function(O){for(var Y,_e=this;_e instanceof Pa;){var gt=Zf(_e);gt.__index__=0,gt.__values__=e,Y?un.__wrapped__=gt:Y=gt;var un=gt;_e=_e.__wrapped__}return un.__wrapped__=O,Y},_n.prototype.reverse=function(){var O=this.__wrapped__;if(O instanceof so){var Y=O;return this.__actions__.length&&(Y=new so(this)),(Y=Y.reverse()).__actions__.push({func:Tf,args:[ei],thisArg:e}),new Aa(Y,this.__chain__)}return this.thru(ei)},_n.prototype.toJSON=_n.prototype.valueOf=_n.prototype.value=function(){return Lf(this.__wrapped__,this.__actions__)},_n.prototype.first=_n.prototype.head,we&&(_n.prototype[we]=function(){return this}),_n}();Sa._=zr,(t=function(){return zr}.call(g,o,g,Ge))!==e&&(Ge.exports=t)}.call(this)},26431:function(Ge,g,o){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(s){return/^nm$/i.test(s)},meridiem:function(s,a,l){return s<12?l?"vm":"VM":l?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(s){return s+(1===s||8===s||s>=20?"ste":"de")},week:{dow:1,doy:4}})}(o(16738))},1616:function(Ge,g,o){!function(t){"use strict";var e=function(h){return 0===h?0:1===h?1:2===h?2:h%100>=3&&h%100<=10?3:h%100>=11?4:5},s={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},a=function(h){return function(_,m,b,T){var D=e(_),R=s[h][e(_)];return 2===D&&(R=R[m?0:1]),R.replace(/%d/i,_)}},l=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar-dz",{months:l,monthsShort:l,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(h){return"\u0645"===h},meridiem:function(h,_,m){return h<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:0,doy:4}})}(o(16738))},9759:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}})}(o(16738))},43160:function(Ge,g,o){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},s=function(_){return 0===_?0:1===_?1:2===_?2:_%100>=3&&_%100<=10?3:_%100>=11?4:5},a={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},l=function(_){return function(m,b,T,D){var R=s(m),j=a[_][s(m)];return 2===R&&(j=j[b?0:1]),j.replace(/%d/i,m)}},u=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar-ly",{months:u,monthsShort:u,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(_){return"\u0645"===_},meridiem:function(_,m,b){return _<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:l("s"),ss:l("s"),m:l("m"),mm:l("m"),h:l("h"),hh:l("h"),d:l("d"),dd:l("d"),M:l("M"),MM:l("M"),y:l("y"),yy:l("y")},preparse:function(_){return _.replace(/\u060c/g,",")},postformat:function(_){return _.replace(/\d/g,function(m){return e[m]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(o(16738))},62551:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}})}(o(16738))},79989:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},s={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};t.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(l){return"\u0645"===l},meridiem:function(l,u,h){return l<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(l){return l.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(u){return s[u]}).replace(/\u060c/g,",")},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}})}(o(16738))},6962:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}})}(o(16738))},81286:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},s={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},a=function(m){return 0===m?0:1===m?1:2===m?2:m%100>=3&&m%100<=10?3:m%100>=11?4:5},l={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},u=function(m){return function(b,T,D,R){var j=a(b),H=l[m][a(b)];return 2===j&&(H=H[T?0:1]),H.replace(/%d/i,b)}},h=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar",{months:h,monthsShort:h,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(m){return"\u0645"===m},meridiem:function(m,b,T){return m<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:u("s"),ss:u("s"),m:u("m"),mm:u("m"),h:u("h"),hh:u("h"),d:u("d"),dd:u("d"),M:u("M"),MM:u("M"),y:u("y"),yy:u("y")},preparse:function(m){return m.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(b){return s[b]}).replace(/\u060c/g,",")},postformat:function(m){return m.replace(/\d/g,function(b){return e[b]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(o(16738))},15887:function(Ge,g,o){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(a){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(a)},meridiem:function(a,l,u){return a<4?"gec\u0259":a<12?"s\u0259h\u0259r":a<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(a){if(0===a)return a+"-\u0131nc\u0131";var l=a%10;return a+(e[l]||e[a%100-l]||e[a>=100?100:null])},week:{dow:1,doy:7}})}(o(16738))},14572:function(Ge,g,o){!function(t){"use strict";function s(l,u,h){return"m"===h?u?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===h?u?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":l+" "+function(l,u){var h=l.split("_");return u%10==1&&u%100!=11?h[0]:u%10>=2&&u%10<=4&&(u%100<10||u%100>=20)?h[1]:h[2]}({ss:u?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:u?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:u?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[h],+l)}t.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:s,mm:s,h:s,hh:s,d:"\u0434\u0437\u0435\u043d\u044c",dd:s,M:"\u043c\u0435\u0441\u044f\u0446",MM:s,y:"\u0433\u043e\u0434",yy:s},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(l){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(l)},meridiem:function(l,u,h){return l<4?"\u043d\u043e\u0447\u044b":l<12?"\u0440\u0430\u043d\u0456\u0446\u044b":l<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(l,u){switch(u){case"M":case"d":case"DDD":case"w":case"W":return l%10!=2&&l%10!=3||l%100==12||l%100==13?l+"-\u044b":l+"-\u0456";case"D":return l+"-\u0433\u0430";default:return l}},week:{dow:1,doy:7}})}(o(16738))},3276:function(Ge,g,o){!function(t){"use strict";t.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(s){var a=s%10,l=s%100;return 0===s?s+"-\u0435\u0432":0===l?s+"-\u0435\u043d":l>10&&l<20?s+"-\u0442\u0438":1===a?s+"-\u0432\u0438":2===a?s+"-\u0440\u0438":7===a||8===a?s+"-\u043c\u0438":s+"-\u0442\u0438"},week:{dow:1,doy:7}})}(o(16738))},93344:function(Ge,g,o){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(o(16738))},83990:function(Ge,g,o){!function(t){"use strict";var e={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},s={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};t.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(l){return l.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u09b0\u09be\u09a4"===u?l<4?l:l+12:"\u09ad\u09cb\u09b0"===u||"\u09b8\u0995\u09be\u09b2"===u?l:"\u09a6\u09c1\u09aa\u09c1\u09b0"===u?l>=3?l:l+12:"\u09ac\u09bf\u0995\u09be\u09b2"===u||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===u?l+12:void 0},meridiem:function(l,u,h){return l<4?"\u09b0\u09be\u09a4":l<6?"\u09ad\u09cb\u09b0":l<12?"\u09b8\u0995\u09be\u09b2":l<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":l<18?"\u09ac\u09bf\u0995\u09be\u09b2":l<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(o(16738))},58985:function(Ge,g,o){!function(t){"use strict";var e={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},s={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};t.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(l){return l.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u09b0\u09be\u09a4"===u&&l>=4||"\u09a6\u09c1\u09aa\u09c1\u09b0"===u&&l<5||"\u09ac\u09bf\u0995\u09be\u09b2"===u?l+12:l},meridiem:function(l,u,h){return l<4?"\u09b0\u09be\u09a4":l<10?"\u09b8\u0995\u09be\u09b2":l<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":l<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(o(16738))},94391:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},s={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};t.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(l){return l.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===u&&l>=4||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===u&&l<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===u?l+12:l},meridiem:function(l,u,h){return l<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":l<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":l<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":l<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}})}(o(16738))},46728:function(Ge,g,o){!function(t){"use strict";function e(H,z,U){return H+" "+function(H,z){return 2===z?function(H){var z={m:"v",b:"v",d:"z"};return void 0===z[H.charAt(0)]?H:z[H.charAt(0)]+H.substring(1)}(H):H}({mm:"munutenn",MM:"miz",dd:"devezh"}[U],H)}function a(H){return H>9?a(H%10):H}var h=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],_=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,R=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];t.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:R,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:R,monthsRegex:_,monthsShortRegex:_,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:h,longMonthsParse:h,shortMonthsParse:h,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(H){switch(a(H)){case 1:case 3:case 4:case 5:case 9:return H+" bloaz";default:return H+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(H){return H+(1===H?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(H){return"g.m."===H},meridiem:function(H,z,U){return H<12?"a.m.":"g.m."}})}(o(16738))},5536:function(Ge,g,o){!function(t){"use strict";function e(a,l,u){var h=a+" ";switch(u){case"ss":return h+(1===a?"sekunda":2===a||3===a||4===a?"sekunde":"sekundi");case"m":return l?"jedna minuta":"jedne minute";case"mm":return h+(1===a?"minuta":2===a||3===a||4===a?"minute":"minuta");case"h":return l?"jedan sat":"jednog sata";case"hh":return h+(1===a?"sat":2===a||3===a||4===a?"sata":"sati");case"dd":return h+(1===a?"dan":"dana");case"MM":return h+(1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci");case"yy":return h+(1===a?"godina":2===a||3===a||4===a?"godine":"godina")}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},41043:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(s,a){var l=1===s?"r":2===s?"n":3===s?"r":4===s?"t":"\xe8";return("w"===a||"W"===a)&&(l="a"),s+l},week:{dow:1,doy:4}})}(o(16738))},70420:function(Ge,g,o){!function(t){"use strict";var e="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),s="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),a=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],l=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function u(m){return m>1&&m<5&&1!=~~(m/10)}function h(m,b,T,D){var R=m+" ";switch(T){case"s":return b||D?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return b||D?R+(u(m)?"sekundy":"sekund"):R+"sekundami";case"m":return b?"minuta":D?"minutu":"minutou";case"mm":return b||D?R+(u(m)?"minuty":"minut"):R+"minutami";case"h":return b?"hodina":D?"hodinu":"hodinou";case"hh":return b||D?R+(u(m)?"hodiny":"hodin"):R+"hodinami";case"d":return b||D?"den":"dnem";case"dd":return b||D?R+(u(m)?"dny":"dn\xed"):R+"dny";case"M":return b||D?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return b||D?R+(u(m)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):R+"m\u011bs\xedci";case"y":return b||D?"rok":"rokem";case"yy":return b||D?R+(u(m)?"roky":"let"):R+"lety"}}t.defineLocale("cs",{months:e,monthsShort:s,monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:h,ss:h,m:h,mm:h,h,hh:h,d:h,dd:h,M:h,MM:h,y:h,yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},33513:function(Ge,g,o){!function(t){"use strict";t.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(s){return s+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(s)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(s)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}})}(o(16738))},6771:function(Ge,g,o){!function(t){"use strict";t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(s){var l="";return s>20?l=40===s||50===s||60===s||80===s||100===s?"fed":"ain":s>0&&(l=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][s]),s+l},week:{dow:1,doy:4}})}(o(16738))},47978:function(Ge,g,o){!function(t){"use strict";t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},25204:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return l?_[u][0]:_[u][1]}t.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,w:e,ww:"%d Wochen",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},2653:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return l?_[u][0]:_[u][1]}t.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,w:e,ww:"%d Wochen",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},46061:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return l?_[u][0]:_[u][1]}t.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,w:e,ww:"%d Wochen",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},85:function(Ge,g,o){!function(t){"use strict";var e=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],s=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:s,weekdaysShort:s,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(l){return"\u0789\u078a"===l},meridiem:function(l,u,h){return l<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(l){return l.replace(/\u060c/g,",")},postformat:function(l){return l.replace(/,/g,"\u060c")},week:{dow:7,doy:12}})}(o(16738))},8579:function(Ge,g,o){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(a,l){return a?"string"==typeof l&&/D/.test(l.substring(0,l.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(a,l,u){return a>11?u?"\u03bc\u03bc":"\u039c\u039c":u?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(a){return"\u03bc"===(a+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,l){var u=this._calendarEl[a],h=l&&l.hours();return function(a){return"undefined"!=typeof Function&&a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}(u)&&(u=u.apply(l)),u.replace("{}",h%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}})}(o(16738))},25724:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:0,doy:4}})}(o(16738))},10525:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}})}(o(16738))},52847:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},67216:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},39305:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}})}(o(16738))},73364:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:0,doy:6}})}(o(16738))},79130:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},11161:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},50802:function(Ge,g,o){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(s){return"p"===s.charAt(0).toLowerCase()},meridiem:function(s,a,l){return s>11?l?"p.t.m.":"P.T.M.":l?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(o(16738))},45551:function(Ge,g,o){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],l=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},75615:function(Ge,g,o){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],l=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"})}(o(16738))},64790:function(Ge,g,o){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],l=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}})}(o(16738))},40328:function(Ge,g,o){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],l=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"})}(o(16738))},96389:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[a+"sekundi",a+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[a+" minuti",a+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[a+" tunni",a+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[a+" kuu",a+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[a+" aasta",a+" aastat"]};return l?_[u][2]?_[u][2]:_[u][1]:h?_[u][0]:_[u][1]}t.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d p\xe4eva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},52961:function(Ge,g,o){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},26151:function(Ge,g,o){!function(t){"use strict";var e={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},s={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};t.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(l){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(l)},meridiem:function(l,u,h){return l<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(l){return l.replace(/[\u06f0-\u06f9]/g,function(u){return s[u]}).replace(/\u060c/g,",")},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}})}(o(16738))},7997:function(Ge,g,o){!function(t){"use strict";var e="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),s=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",e[7],e[8],e[9]];function a(h,_,m,b){var T="";switch(m){case"s":return b?"muutaman sekunnin":"muutama sekunti";case"ss":T=b?"sekunnin":"sekuntia";break;case"m":return b?"minuutin":"minuutti";case"mm":T=b?"minuutin":"minuuttia";break;case"h":return b?"tunnin":"tunti";case"hh":T=b?"tunnin":"tuntia";break;case"d":return b?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":T=b?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return b?"kuukauden":"kuukausi";case"MM":T=b?"kuukauden":"kuukautta";break;case"y":return b?"vuoden":"vuosi";case"yy":T=b?"vuoden":"vuotta"}return function(h,_){return h<10?_?s[h]:e[h]:h}(h,b)+" "+T}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},58898:function(Ge,g,o){!function(t){"use strict";t.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(s){return s},week:{dow:1,doy:4}})}(o(16738))},37779:function(Ge,g,o){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},3287:function(Ge,g,o){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(s,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return s+(1===s?"er":"e");case"w":case"W":return s+(1===s?"re":"e")}}})}(o(16738))},38867:function(Ge,g,o){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(s,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return s+(1===s?"er":"e");case"w":case"W":return s+(1===s?"re":"e")}},week:{dow:1,doy:4}})}(o(16738))},28174:function(Ge,g,o){!function(t){"use strict";var a=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,l=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i];t.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:a,monthsShortRegex:a,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:l,longMonthsParse:l,shortMonthsParse:l,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(h,_){switch(_){case"D":return h+(1===h?"er":"");default:case"M":case"Q":case"DDD":case"d":return h+(1===h?"er":"e");case"w":case"W":return h+(1===h?"re":"e")}},week:{dow:1,doy:4}})}(o(16738))},50452:function(Ge,g,o){!function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),s="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(l,u){return l?/-MMM-/.test(u)?s[l.month()]:e[l.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(l){return l+(1===l||8===l||l>=20?"ste":"de")},week:{dow:1,doy:4}})}(o(16738))},45014:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(_){return _+(1===_?"d":_%10==2?"na":"mh")},week:{dow:1,doy:4}})}(o(16738))},74127:function(Ge,g,o){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(_){return _+(1===_?"d":_%10==2?"na":"mh")},week:{dow:1,doy:4}})}(o(16738))},72124:function(Ge,g,o){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(s){return 0===s.indexOf("un")?"n"+s:"en "+s},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},6444:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[a+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",a+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[a+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",a+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[a+" \u0935\u0930\u093e\u0902\u0928\u0940",a+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[a+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",a+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[a+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",a+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[a+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",a+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return h?_[u][0]:_[u][1]}t.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(a,l){switch(l){case"D":return a+"\u0935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return a}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(a,l){return 12===a&&(a=0),"\u0930\u093e\u0924\u0940"===l?a<4?a:a+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===l?a:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===l?a>12?a:a+12:"\u0938\u093e\u0902\u091c\u0947"===l?a+12:void 0},meridiem:function(a,l,u){return a<4?"\u0930\u093e\u0924\u0940":a<12?"\u0938\u0915\u093e\u0933\u0940\u0902":a<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":a<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}})}(o(16738))},37953:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={s:["thoddea sekondamni","thodde sekond"],ss:[a+" sekondamni",a+" sekond"],m:["eka mintan","ek minut"],mm:[a+" mintamni",a+" mintam"],h:["eka voran","ek vor"],hh:[a+" voramni",a+" voram"],d:["eka disan","ek dis"],dd:[a+" disamni",a+" dis"],M:["eka mhoinean","ek mhoino"],MM:[a+" mhoineamni",a+" mhoine"],y:["eka vorsan","ek voros"],yy:[a+" vorsamni",a+" vorsam"]};return h?_[u][0]:_[u][1]}t.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(a,l){switch(l){case"D":return a+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return a}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(a,l){return 12===a&&(a=0),"rati"===l?a<4?a:a+12:"sokallim"===l?a:"donparam"===l?a>12?a:a+12:"sanje"===l?a+12:void 0},meridiem:function(a,l,u){return a<4?"rati":a<12?"sokallim":a<16?"donparam":a<20?"sanje":"rati"}})}(o(16738))},76604:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},s={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};t.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(l){return l.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0ab0\u0abe\u0aa4"===u?l<4?l:l+12:"\u0ab8\u0ab5\u0abe\u0ab0"===u?l:"\u0aac\u0aaa\u0acb\u0ab0"===u?l>=10?l:l+12:"\u0ab8\u0abe\u0a82\u0a9c"===u?l+12:void 0},meridiem:function(l,u,h){return l<4?"\u0ab0\u0abe\u0aa4":l<10?"\u0ab8\u0ab5\u0abe\u0ab0":l<17?"\u0aac\u0aaa\u0acb\u0ab0":l<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}})}(o(16738))},1222:function(Ge,g,o){!function(t){"use strict";t.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(s){return 2===s?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":s+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(s){return 2===s?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":s+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(s){return 2===s?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":s+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(s){return 2===s?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":s%10==0&&10!==s?s+" \u05e9\u05e0\u05d4":s+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(s){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(s)},meridiem:function(s,a,l){return s<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":s<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":s<12?l?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":s<18?l?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}})}(o(16738))},74235:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},s={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},a=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];t.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:a,longMonthsParse:a,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(h){return h.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(_){return s[_]})},postformat:function(h){return h.replace(/\d/g,function(_){return e[_]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(h,_){return 12===h&&(h=0),"\u0930\u093e\u0924"===_?h<4?h:h+12:"\u0938\u0941\u092c\u0939"===_?h:"\u0926\u094b\u092a\u0939\u0930"===_?h>=10?h:h+12:"\u0936\u093e\u092e"===_?h+12:void 0},meridiem:function(h,_,m){return h<4?"\u0930\u093e\u0924":h<10?"\u0938\u0941\u092c\u0939":h<17?"\u0926\u094b\u092a\u0939\u0930":h<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}})}(o(16738))},622:function(Ge,g,o){!function(t){"use strict";function e(a,l,u){var h=a+" ";switch(u){case"ss":return h+(1===a?"sekunda":2===a||3===a||4===a?"sekunde":"sekundi");case"m":return l?"jedna minuta":"jedne minute";case"mm":return h+(1===a?"minuta":2===a||3===a||4===a?"minute":"minuta");case"h":return l?"jedan sat":"jednog sata";case"hh":return h+(1===a?"sat":2===a||3===a||4===a?"sata":"sati");case"dd":return h+(1===a?"dan":"dana");case"MM":return h+(1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci");case"yy":return h+(1===a?"godina":2===a||3===a||4===a?"godine":"godina")}}t.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},37735:function(Ge,g,o){!function(t){"use strict";var e="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function s(u,h,_,m){var b=u;switch(_){case"s":return m||h?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return b+(m||h)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(m||h?" perc":" perce");case"mm":return b+(m||h?" perc":" perce");case"h":return"egy"+(m||h?" \xf3ra":" \xf3r\xe1ja");case"hh":return b+(m||h?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(m||h?" nap":" napja");case"dd":return b+(m||h?" nap":" napja");case"M":return"egy"+(m||h?" h\xf3nap":" h\xf3napja");case"MM":return b+(m||h?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(m||h?" \xe9v":" \xe9ve");case"yy":return b+(m||h?" \xe9v":" \xe9ve")}return""}function a(u){return(u?"":"[m\xfalt] ")+"["+e[this.day()]+"] LT[-kor]"}t.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(u){return"u"===u.charAt(1).toLowerCase()},meridiem:function(u,h,_){return u<12?!0===_?"de":"DE":!0===_?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return a.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return a.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s,ss:s,m:s,mm:s,h:s,hh:s,d:s,dd:s,M:s,MM:s,y:s,yy:s},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},90402:function(Ge,g,o){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(s){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(s)},meridiem:function(s){return s<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":s<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":s<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(s,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===s?s+"-\u056b\u0576":s+"-\u0580\u0564";default:return s}},week:{dow:1,doy:7}})}(o(16738))},59187:function(Ge,g,o){!function(t){"use strict";t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(s,a){return 12===s&&(s=0),"pagi"===a?s:"siang"===a?s>=11?s:s+12:"sore"===a||"malam"===a?s+12:void 0},meridiem:function(s,a,l){return s<11?"pagi":s<15?"siang":s<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}})}(o(16738))},30536:function(Ge,g,o){!function(t){"use strict";function e(l){return l%100==11||l%10!=1}function s(l,u,h,_){var m=l+" ";switch(h){case"s":return u||_?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return e(l)?m+(u||_?"sek\xfandur":"sek\xfandum"):m+"sek\xfanda";case"m":return u?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return e(l)?m+(u||_?"m\xedn\xfatur":"m\xedn\xfatum"):u?m+"m\xedn\xfata":m+"m\xedn\xfatu";case"hh":return e(l)?m+(u||_?"klukkustundir":"klukkustundum"):m+"klukkustund";case"d":return u?"dagur":_?"dag":"degi";case"dd":return e(l)?u?m+"dagar":m+(_?"daga":"d\xf6gum"):u?m+"dagur":m+(_?"dag":"degi");case"M":return u?"m\xe1nu\xf0ur":_?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return e(l)?u?m+"m\xe1nu\xf0ir":m+(_?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):u?m+"m\xe1nu\xf0ur":m+(_?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return u||_?"\xe1r":"\xe1ri";case"yy":return e(l)?m+(u||_?"\xe1r":"\xe1rum"):m+(u||_?"\xe1r":"\xe1ri")}}t.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s,ss:s,m:s,mm:s,h:"klukkustund",hh:s,d:s,dd:s,M:s,MM:s,y:s,yy:s},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},94667:function(Ge,g,o){!function(t){"use strict";t.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(s){return(/^[0-9].+$/.test(s)?"tra":"in")+" "+s},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},35007:function(Ge,g,o){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},62093:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(s,a){return"\u5143"===a[1]?1:parseInt(a[1]||s,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(s){return"\u5348\u5f8c"===s},meridiem:function(s,a,l){return s<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(s){return s.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(s){return this.week()!==s.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(s,a){switch(a){case"y":return 1===s?"\u5143\u5e74":s+"\u5e74";case"d":case"D":case"DDD":return s+"\u65e5";default:return s}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}(o(16738))},80059:function(Ge,g,o){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(s,a){return 12===s&&(s=0),"enjing"===a?s:"siyang"===a?s>=11?s:s+12:"sonten"===a||"ndalu"===a?s+12:void 0},meridiem:function(s,a,l){return s<11?"enjing":s<15?"siyang":s<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(o(16738))},66870:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(s){return s.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(a,l,u){return"\u10d8"===u?l+"\u10e8\u10d8":l+u+"\u10e8\u10d8"})},past:function(s){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(s)?s.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(s)?s.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):s},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(s){return 0===s?s:1===s?s+"-\u10da\u10d8":s<20||s<=100&&s%20==0||s%100==0?"\u10db\u10d4-"+s:s+"-\u10d4"},week:{dow:1,doy:7}})}(o(16738))},80880:function(Ge,g,o){!function(t){"use strict";var e={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};t.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(a){return a+(e[a]||e[a%10]||e[a>=100?100:null])},week:{dow:1,doy:7}})}(o(16738))},1083:function(Ge,g,o){!function(t){"use strict";var e={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},s={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};t.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(l){return"\u179b\u17d2\u1784\u17b6\u1785"===l},meridiem:function(l,u,h){return l<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(l){return l.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},week:{dow:1,doy:4}})}(o(16738))},68785:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},s={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};t.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(l){return l.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===u?l<4?l:l+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===u?l:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===u?l>=10?l:l+12:"\u0cb8\u0c82\u0c9c\u0cc6"===u?l+12:void 0},meridiem:function(l,u,h){return l<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":l<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":l<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":l<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(l){return l+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}})}(o(16738))},21721:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\uc77c";case"M":return s+"\uc6d4";case"w":case"W":return s+"\uc8fc";default:return s}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(s){return"\uc624\ud6c4"===s},meridiem:function(s,a,l){return s<12?"\uc624\uc804":"\uc624\ud6c4"}})}(o(16738))},37851:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},s={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},a=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"];t.defineLocale("ku",{months:a,monthsShort:a,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(u){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(u)},meridiem:function(u,h,_){return u<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(u){return u.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(h){return s[h]}).replace(/\u060c/g,",")},postformat:function(u){return u.replace(/\d/g,function(h){return e[h]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(o(16738))},1727:function(Ge,g,o){!function(t){"use strict";var e={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};t.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(a){return a+(e[a]||e[a%10]||e[a>=100?100:null])},week:{dow:1,doy:7}})}(o(16738))},40346:function(Ge,g,o){!function(t){"use strict";function e(h,_,m,b){var T={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return _?T[m][0]:T[m][1]}function l(h){if(h=parseInt(h,10),isNaN(h))return!1;if(h<0)return!0;if(h<10)return 4<=h&&h<=7;if(h<100){var _=h%10;return l(0===_?h/10:_)}if(h<1e4){for(;h>=10;)h/=10;return l(h)}return l(h/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(h){return l(h.substr(0,h.indexOf(" ")))?"a "+h:"an "+h},past:function(h){return l(h.substr(0,h.indexOf(" ")))?"viru "+h:"virun "+h},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d M\xe9int",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},93002:function(Ge,g,o){!function(t){"use strict";t.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(s){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===s},meridiem:function(s,a,l){return s<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(s){return"\u0e97\u0eb5\u0ec8"+s}})}(o(16738))},64035:function(Ge,g,o){!function(t){"use strict";var e={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function a(m,b,T,D){return b?u(T)[0]:D?u(T)[1]:u(T)[2]}function l(m){return m%10==0||m>10&&m<20}function u(m){return e[m].split("_")}function h(m,b,T,D){var R=m+" ";return 1===m?R+a(0,b,T[0],D):b?R+(l(m)?u(T)[1]:u(T)[0]):D?R+u(T)[1]:R+(l(m)?u(T)[1]:u(T)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(m,b,T,D){return b?"kelios sekund\u0117s":D?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:h,m:a,mm:h,h:a,hh:h,d:a,dd:h,M:a,MM:h,y:a,yy:h},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(m){return m+"-oji"},week:{dow:1,doy:4}})}(o(16738))},56927:function(Ge,g,o){!function(t){"use strict";var e={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function s(_,m,b){return b?m%10==1&&m%100!=11?_[2]:_[3]:m%10==1&&m%100!=11?_[0]:_[1]}function a(_,m,b){return _+" "+s(e[b],_,m)}function l(_,m,b){return s(e[b],_,m)}t.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(_,m){return m?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:a,m:l,mm:a,h:l,hh:a,d:l,dd:a,M:l,MM:a,y:l,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},5634:function(Ge,g,o){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,l){return 1===a?l[0]:a>=2&&a<=4?l[1]:l[2]},translate:function(a,l,u){var h=e.words[u];return 1===u.length?l?h[0]:h[1]:a+" "+e.correctGrammaticalCase(a,h)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},94173:function(Ge,g,o){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},86320:function(Ge,g,o){!function(t){"use strict";t.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(s){var a=s%10,l=s%100;return 0===s?s+"-\u0435\u0432":0===l?s+"-\u0435\u043d":l>10&&l<20?s+"-\u0442\u0438":1===a?s+"-\u0432\u0438":2===a?s+"-\u0440\u0438":7===a||8===a?s+"-\u043c\u0438":s+"-\u0442\u0438"},week:{dow:1,doy:7}})}(o(16738))},11705:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(s,a){return 12===s&&(s=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&s>=4||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?s+12:s},meridiem:function(s,a,l){return s<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":s<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":s<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":s<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}})}(o(16738))},31062:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){switch(u){case"s":return l?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return a+(l?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return a+(l?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return a+(l?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return a+(l?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return a+(l?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return a+(l?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return a}}t.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(a){return"\u04ae\u0425"===a},meridiem:function(a,l,u){return a<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(a,l){switch(l){case"d":case"D":case"DDD":return a+" \u04e9\u0434\u04e9\u0440";default:return a}}})}(o(16738))},92805:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},s={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function a(u,h,_,m){var b="";if(h)switch(_){case"s":b="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":b="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":b="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":b="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":b="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":b="%d \u0924\u093e\u0938";break;case"d":b="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":b="%d \u0926\u093f\u0935\u0938";break;case"M":b="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":b="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":b="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":b="%d \u0935\u0930\u094d\u0937\u0947"}else switch(_){case"s":b="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":b="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":b="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":b="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":b="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":b="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":b="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":b="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":b="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":b="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":b="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":b="%d \u0935\u0930\u094d\u0937\u093e\u0902"}return b.replace(/%d/i,u)}t.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},preparse:function(u){return u.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(h){return s[h]})},postformat:function(u){return u.replace(/\d/g,function(h){return e[h]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(u,h){return 12===u&&(u=0),"\u092a\u0939\u093e\u091f\u0947"===h||"\u0938\u0915\u093e\u0933\u0940"===h?u:"\u0926\u0941\u092a\u093e\u0930\u0940"===h||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===h||"\u0930\u093e\u0924\u094d\u0930\u0940"===h?u>=12?u:u+12:void 0},meridiem:function(u,h,_){return u>=0&&u<6?"\u092a\u0939\u093e\u091f\u0947":u<12?"\u0938\u0915\u093e\u0933\u0940":u<17?"\u0926\u0941\u092a\u093e\u0930\u0940":u<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}})}(o(16738))},59900:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(s,a){return 12===s&&(s=0),"pagi"===a?s:"tengahari"===a?s>=11?s:s+12:"petang"===a||"malam"===a?s+12:void 0},meridiem:function(s,a,l){return s<11?"pagi":s<15?"tengahari":s<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(o(16738))},11341:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(s,a){return 12===s&&(s=0),"pagi"===a?s:"tengahari"===a?s>=11?s:s+12:"petang"===a||"malam"===a?s+12:void 0},meridiem:function(s,a,l){return s<11?"pagi":s<15?"tengahari":s<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(o(16738))},37734:function(Ge,g,o){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},19034:function(Ge,g,o){!function(t){"use strict";var e={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},s={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};t.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(l){return l.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},week:{dow:1,doy:4}})}(o(16738))},9324:function(Ge,g,o){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",w:"en uke",ww:"%d uker",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},46495:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},s={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};t.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(l){return l.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0930\u093e\u0924\u093f"===u?l<4?l:l+12:"\u092c\u093f\u0939\u093e\u0928"===u?l:"\u0926\u093f\u0909\u0901\u0938\u094b"===u?l>=10?l:l+12:"\u0938\u093e\u0901\u091d"===u?l+12:void 0},meridiem:function(l,u,h){return l<3?"\u0930\u093e\u0924\u093f":l<12?"\u092c\u093f\u0939\u093e\u0928":l<16?"\u0926\u093f\u0909\u0901\u0938\u094b":l<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}})}(o(16738))},76272:function(Ge,g,o){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),s="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],l=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(h){return h+(1===h||8===h||h>=20?"ste":"de")},week:{dow:1,doy:4}})}(o(16738))},70673:function(Ge,g,o){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),s="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],l=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(h){return h+(1===h||8===h||h>=20?"ste":"de")},week:{dow:1,doy:4}})}(o(16738))},72486:function(Ge,g,o){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},46219:function(Ge,g,o){!function(t){"use strict";t.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(s,a){var l=1===s?"r":2===s?"n":3===s?"r":4===s?"t":"\xe8";return("w"===a||"W"===a)&&(l="a"),s+l},week:{dow:1,doy:4}})}(o(16738))},2829:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},s={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};t.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(l){return l.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0a30\u0a3e\u0a24"===u?l<4?l:l+12:"\u0a38\u0a35\u0a47\u0a30"===u?l:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===u?l>=10?l:l+12:"\u0a38\u0a3c\u0a3e\u0a2e"===u?l+12:void 0},meridiem:function(l,u,h){return l<4?"\u0a30\u0a3e\u0a24":l<10?"\u0a38\u0a35\u0a47\u0a30":l<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":l<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}})}(o(16738))},78444:function(Ge,g,o){!function(t){"use strict";var e="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),s="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),a=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function l(_){return _%10<5&&_%10>1&&~~(_/10)%10!=1}function u(_,m,b){var T=_+" ";switch(b){case"ss":return T+(l(_)?"sekundy":"sekund");case"m":return m?"minuta":"minut\u0119";case"mm":return T+(l(_)?"minuty":"minut");case"h":return m?"godzina":"godzin\u0119";case"hh":return T+(l(_)?"godziny":"godzin");case"ww":return T+(l(_)?"tygodnie":"tygodni");case"MM":return T+(l(_)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return T+(l(_)?"lata":"lat")}}t.defineLocale("pl",{months:function(_,m){return _?/D MMMM/.test(m)?s[_.month()]:e[_.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:u,m:u,mm:u,h:u,hh:u,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:u,M:"miesi\u0105c",MM:u,y:"rok",yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},66117:function(Ge,g,o){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"})}(o(16738))},53170:function(Ge,g,o){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},96587:function(Ge,g,o){!function(t){"use strict";function e(a,l,u){var _=" ";return(a%100>=20||a>=100&&a%100==0)&&(_=" de "),a+_+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[u]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:e,m:"un minut",mm:e,h:"o or\u0103",hh:e,d:"o zi",dd:e,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:e,M:"o lun\u0103",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(o(16738))},39264:function(Ge,g,o){!function(t){"use strict";function s(u,h,_){return"m"===_?h?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":u+" "+function(u,h){var _=u.split("_");return h%10==1&&h%100!=11?_[0]:h%10>=2&&h%10<=4&&(h%100<10||h%100>=20)?_[1]:_[2]}({ss:h?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:h?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[_],+u)}var a=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];t.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(u){if(u.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(u){if(u.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:s,m:s,mm:s,h:"\u0447\u0430\u0441",hh:s,d:"\u0434\u0435\u043d\u044c",dd:s,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:s,M:"\u043c\u0435\u0441\u044f\u0446",MM:s,y:"\u0433\u043e\u0434",yy:s},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(u){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(u)},meridiem:function(u,h,_){return u<4?"\u043d\u043e\u0447\u0438":u<12?"\u0443\u0442\u0440\u0430":u<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(u,h){switch(h){case"M":case"d":case"DDD":return u+"-\u0439";case"D":return u+"-\u0433\u043e";case"w":case"W":return u+"-\u044f";default:return u}},week:{dow:1,doy:4}})}(o(16738))},42135:function(Ge,g,o){!function(t){"use strict";var e=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],s=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"];t.defineLocale("sd",{months:e,monthsShort:e,weekdays:s,weekdaysShort:s,weekdaysMin:s,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(l){return"\u0634\u0627\u0645"===l},meridiem:function(l,u,h){return l<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(l){return l.replace(/\u060c/g,",")},postformat:function(l){return l.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(o(16738))},95366:function(Ge,g,o){!function(t){"use strict";t.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},93379:function(Ge,g,o){!function(t){"use strict";t.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(s){return s+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(s){return"\u0db4.\u0dc0."===s||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===s},meridiem:function(s,a,l){return s>11?l?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":l?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}})}(o(16738))},46143:function(Ge,g,o){!function(t){"use strict";var e="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),s="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function a(h){return h>1&&h<5}function l(h,_,m,b){var T=h+" ";switch(m){case"s":return _||b?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return _||b?T+(a(h)?"sekundy":"sek\xfand"):T+"sekundami";case"m":return _?"min\xfata":b?"min\xfatu":"min\xfatou";case"mm":return _||b?T+(a(h)?"min\xfaty":"min\xfat"):T+"min\xfatami";case"h":return _?"hodina":b?"hodinu":"hodinou";case"hh":return _||b?T+(a(h)?"hodiny":"hod\xedn"):T+"hodinami";case"d":return _||b?"de\u0148":"d\u0148om";case"dd":return _||b?T+(a(h)?"dni":"dn\xed"):T+"d\u0148ami";case"M":return _||b?"mesiac":"mesiacom";case"MM":return _||b?T+(a(h)?"mesiace":"mesiacov"):T+"mesiacmi";case"y":return _||b?"rok":"rokom";case"yy":return _||b?T+(a(h)?"roky":"rokov"):T+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:s,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:l,ss:l,m:l,mm:l,h:l,hh:l,d:l,dd:l,M:l,MM:l,y:l,yy:l},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},196:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _=a+" ";switch(u){case"s":return l||h?"nekaj sekund":"nekaj sekundami";case"ss":return _+(1===a?l?"sekundo":"sekundi":2===a?l||h?"sekundi":"sekundah":a<5?l||h?"sekunde":"sekundah":"sekund");case"m":return l?"ena minuta":"eno minuto";case"mm":return _+(1===a?l?"minuta":"minuto":2===a?l||h?"minuti":"minutama":a<5?l||h?"minute":"minutami":l||h?"minut":"minutami");case"h":return l?"ena ura":"eno uro";case"hh":return _+(1===a?l?"ura":"uro":2===a?l||h?"uri":"urama":a<5?l||h?"ure":"urami":l||h?"ur":"urami");case"d":return l||h?"en dan":"enim dnem";case"dd":return _+(1===a?l||h?"dan":"dnem":2===a?l||h?"dni":"dnevoma":l||h?"dni":"dnevi");case"M":return l||h?"en mesec":"enim mesecem";case"MM":return _+(1===a?l||h?"mesec":"mesecem":2===a?l||h?"meseca":"mesecema":a<5?l||h?"mesece":"meseci":l||h?"mesecev":"meseci");case"y":return l||h?"eno leto":"enim letom";case"yy":return _+(1===a?l||h?"leto":"letom":2===a?l||h?"leti":"letoma":a<5?l||h?"leta":"leti":l||h?"let":"leti")}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},21082:function(Ge,g,o){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(s){return"M"===s.charAt(0)},meridiem:function(s,a,l){return s<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},98963:function(Ge,g,o){!function(t){"use strict";var e={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(a,l){return 1===a?l[0]:a>=2&&a<=4?l[1]:l[2]},translate:function(a,l,u){var h=e.words[u];return 1===u.length?l?h[0]:h[1]:a+" "+e.correctGrammaticalCase(a,h)}};t.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"\u0434\u0430\u043d",dd:e.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:e.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},91621:function(Ge,g,o){!function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,l){return 1===a?l[0]:a>=2&&a<=4?l[1]:l[2]},translate:function(a,l,u){var h=e.words[u];return 1===u.length?l?h[0]:h[1]:a+" "+e.correctGrammaticalCase(a,h)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},41404:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(s,a,l){return s<11?"ekuseni":s<15?"emini":s<19?"entsambama":"ebusuku"},meridiemHour:function(s,a){return 12===s&&(s=0),"ekuseni"===a?s:"emini"===a?s>=11?s:s+12:"entsambama"===a||"ebusuku"===a?0===s?0:s+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(o(16738))},55685:function(Ge,g,o){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?":e":1===a||2===a?":a":":e")},week:{dow:1,doy:4}})}(o(16738))},3872:function(Ge,g,o){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(o(16738))},54106:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},s={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};t.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(l){return l+"\u0bb5\u0ba4\u0bc1"},preparse:function(l){return l.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(l,u,h){return l<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":l<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":l<10?" \u0b95\u0bbe\u0bb2\u0bc8":l<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":l<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":l<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(l,u){return 12===l&&(l=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===u?l<2?l:l+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===u||"\u0b95\u0bbe\u0bb2\u0bc8"===u||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===u&&l>=10?l:l+12},week:{dow:0,doy:6}})}(o(16738))},39204:function(Ge,g,o){!function(t){"use strict";t.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?s<4?s:s+12:"\u0c09\u0c26\u0c2f\u0c02"===a?s:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?s>=10?s:s+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?s+12:void 0},meridiem:function(s,a,l){return s<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":s<10?"\u0c09\u0c26\u0c2f\u0c02":s<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":s<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}})}(o(16738))},83692:function(Ge,g,o){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},86361:function(Ge,g,o){!function(t){"use strict";var e={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};t.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(a,l){return 12===a&&(a=0),"\u0448\u0430\u0431"===l?a<4?a:a+12:"\u0441\u0443\u0431\u04b3"===l?a:"\u0440\u04ef\u0437"===l?a>=11?a:a+12:"\u0431\u0435\u0433\u043e\u04b3"===l?a+12:void 0},meridiem:function(a,l,u){return a<4?"\u0448\u0430\u0431":a<11?"\u0441\u0443\u0431\u04b3":a<16?"\u0440\u04ef\u0437":a<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(a){return a+(e[a]||e[a%10]||e[a>=100?100:null])},week:{dow:1,doy:7}})}(o(16738))},31735:function(Ge,g,o){!function(t){"use strict";t.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(s){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===s},meridiem:function(s,a,l){return s<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}})}(o(16738))},1568:function(Ge,g,o){!function(t){"use strict";var e={1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"};t.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(a,l){switch(l){case"d":case"D":case"Do":case"DD":return a;default:if(0===a)return a+"'unjy";var u=a%10;return a+(e[u]||e[a%100-u]||e[a>=100?100:null])}},week:{dow:1,doy:7}})}(o(16738))},96129:function(Ge,g,o){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(s){return s},week:{dow:1,doy:4}})}(o(16738))},13759:function(Ge,g,o){!function(t){"use strict";var e="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function l(_,m,b,T){var D=function(_){var m=Math.floor(_%1e3/100),b=Math.floor(_%100/10),T=_%10,D="";return m>0&&(D+=e[m]+"vatlh"),b>0&&(D+=(""!==D?" ":"")+e[b]+"maH"),T>0&&(D+=(""!==D?" ":"")+e[T]),""===D?"pagh":D}(_);switch(b){case"ss":return D+" lup";case"mm":return D+" tup";case"hh":return D+" rep";case"dd":return D+" jaj";case"MM":return D+" jar";case"yy":return D+" DIS"}}t.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(_){var m=_;return-1!==_.indexOf("jaj")?m.slice(0,-3)+"leS":-1!==_.indexOf("jar")?m.slice(0,-3)+"waQ":-1!==_.indexOf("DIS")?m.slice(0,-3)+"nem":m+" pIq"},past:function(_){var m=_;return-1!==_.indexOf("jaj")?m.slice(0,-3)+"Hu\u2019":-1!==_.indexOf("jar")?m.slice(0,-3)+"wen":-1!==_.indexOf("DIS")?m.slice(0,-3)+"ben":m+" ret"},s:"puS lup",ss:l,m:"wa\u2019 tup",mm:l,h:"wa\u2019 rep",hh:l,d:"wa\u2019 jaj",dd:l,M:"wa\u2019 jar",MM:l,y:"wa\u2019 DIS",yy:l},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},81644:function(Ge,g,o){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};t.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(a,l,u){return a<12?u?"\xf6\xf6":"\xd6\xd6":u?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(a){return"\xf6s"===a||"\xd6S"===a},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(a,l){switch(l){case"d":case"D":case"Do":case"DD":return a;default:if(0===a)return a+"'\u0131nc\u0131";var u=a%10;return a+(e[u]||e[a%100-u]||e[a>=100?100:null])}},week:{dow:1,doy:7}})}(o(16738))},90875:function(Ge,g,o){!function(t){"use strict";function s(a,l,u,h){var _={s:["viensas secunds","'iensas secunds"],ss:[a+" secunds",a+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[a+" m\xeduts",a+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[a+" \xfeoras",a+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[a+" ziuas",a+" ziuas"],M:["'n mes","'iens mes"],MM:[a+" mesen",a+" mesen"],y:["'n ar","'iens ar"],yy:[a+" ars",a+" ars"]};return h||l?_[u][0]:_[u][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(a){return"d'o"===a.toLowerCase()},meridiem:function(a,l,u){return a>11?u?"d'o":"D'O":u?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s,ss:s,m:s,mm:s,h:s,hh:s,d:s,dd:s,M:s,MM:s,y:s,yy:s},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},11041:function(Ge,g,o){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(o(16738))},16878:function(Ge,g,o){!function(t){"use strict";t.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}})}(o(16738))},74357:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a?s:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===a||"\u0643\u06d5\u0686"===a?s+12:s>=11?s:s+12},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":u<900?"\u0633\u06d5\u06be\u06d5\u0631":u<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":u<1230?"\u0686\u06c8\u0634":u<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return s+"-\u06be\u06d5\u067e\u062a\u06d5";default:return s}},preparse:function(s){return s.replace(/\u060c/g,",")},postformat:function(s){return s.replace(/,/g,"\u060c")},week:{dow:1,doy:7}})}(o(16738))},74810:function(Ge,g,o){!function(t){"use strict";function s(h,_,m){return"m"===m?_?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===m?_?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":h+" "+function(h,_){var m=h.split("_");return _%10==1&&_%100!=11?m[0]:_%10>=2&&_%10<=4&&(_%100<10||_%100>=20)?m[1]:m[2]}({ss:_?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:_?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:_?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[m],+h)}function l(h){return function(){return h+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}t.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(h,_){var m={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===h?m.nominative.slice(1,7).concat(m.nominative.slice(0,1)):h?m[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(_)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(_)?"genitive":"nominative"][h.day()]:m.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:l("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:l("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:l("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:l("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return l("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return l("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:s,m:s,mm:s,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:s,d:"\u0434\u0435\u043d\u044c",dd:s,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:s,y:"\u0440\u0456\u043a",yy:s},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(h){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(h)},meridiem:function(h,_,m){return h<4?"\u043d\u043e\u0447\u0456":h<12?"\u0440\u0430\u043d\u043a\u0443":h<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(h,_){switch(_){case"M":case"d":case"DDD":case"w":case"W":return h+"-\u0439";case"D":return h+"-\u0433\u043e";default:return h}},week:{dow:1,doy:7}})}(o(16738))},86794:function(Ge,g,o){!function(t){"use strict";var e=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],s=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:s,weekdaysShort:s,weekdaysMin:s,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(l){return"\u0634\u0627\u0645"===l},meridiem:function(l,u,h){return l<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(l){return l.replace(/\u060c/g,",")},postformat:function(l){return l.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(o(16738))},77959:function(Ge,g,o){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(o(16738))},28966:function(Ge,g,o){!function(t){"use strict";t.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}})}(o(16738))},35386:function(Ge,g,o){!function(t){"use strict";t.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(s){return/^ch$/i.test(s)},meridiem:function(s,a,l){return s<12?l?"sa":"SA":l?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(s){return s},week:{dow:1,doy:4}})}(o(16738))},23156:function(Ge,g,o){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},68028:function(Ge,g,o){!function(t){"use strict";t.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}})}(o(16738))},9330:function(Ge,g,o){!function(t){"use strict";t.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?s:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?s+12:s>=11?s:s+12},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u51cc\u6668":u<900?"\u65e9\u4e0a":u<1130?"\u4e0a\u5348":u<1230?"\u4e2d\u5348":u<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(s){return s.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(s){return this.week()!==s.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\u65e5";case"M":return s+"\u6708";case"w":case"W":return s+"\u5468";default:return s}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}})}(o(16738))},89380:function(Ge,g,o){!function(t){"use strict";t.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?s:"\u4e2d\u5348"===a?s>=11?s:s+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?s+12:void 0},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u51cc\u6668":u<900?"\u65e9\u4e0a":u<1200?"\u4e0a\u5348":1200===u?"\u4e2d\u5348":u<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\u65e5";case"M":return s+"\u6708";case"w":case"W":return s+"\u9031";default:return s}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(o(16738))},60874:function(Ge,g,o){!function(t){"use strict";t.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?s:"\u4e2d\u5348"===a?s>=11?s:s+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?s+12:void 0},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u51cc\u6668":u<900?"\u65e9\u4e0a":u<1130?"\u4e0a\u5348":u<1230?"\u4e2d\u5348":u<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\u65e5";case"M":return s+"\u6708";case"w":case"W":return s+"\u9031";default:return s}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(o(16738))},96508:function(Ge,g,o){!function(t){"use strict";t.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?s:"\u4e2d\u5348"===a?s>=11?s:s+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?s+12:void 0},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u51cc\u6668":u<900?"\u65e9\u4e0a":u<1130?"\u4e0a\u5348":u<1230?"\u4e2d\u5348":u<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\u65e5";case"M":return s+"\u6708";case"w":case"W":return s+"\u9031";default:return s}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(o(16738))},16738:function(Ge,g,o){(Ge=o.nmd(Ge)).exports=function(){"use strict";var t,z;function e(){return t.apply(null,arguments)}function a(X){return X instanceof Array||"[object Array]"===Object.prototype.toString.call(X)}function l(X){return null!=X&&"[object Object]"===Object.prototype.toString.call(X)}function u(X,me){return Object.prototype.hasOwnProperty.call(X,me)}function h(X){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(X).length;var me;for(me in X)if(u(X,me))return!1;return!0}function _(X){return void 0===X}function m(X){return"number"==typeof X||"[object Number]"===Object.prototype.toString.call(X)}function b(X){return X instanceof Date||"[object Date]"===Object.prototype.toString.call(X)}function T(X,me){var qt,bt=[];for(qt=0;qt<X.length;++qt)bt.push(me(X[qt],qt));return bt}function D(X,me){for(var bt in me)u(me,bt)&&(X[bt]=me[bt]);return u(me,"toString")&&(X.toString=me.toString),u(me,"valueOf")&&(X.valueOf=me.valueOf),X}function R(X,me,bt,qt){return wt(X,me,bt,qt,!0).utc()}function H(X){return null==X._pf&&(X._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),X._pf}function U(X){if(null==X._isValid){var me=H(X),bt=z.call(me.parsedDateParts,function(xn){return null!=xn}),qt=!isNaN(X._d.getTime())&&me.overflow<0&&!me.empty&&!me.invalidEra&&!me.invalidMonth&&!me.invalidWeekday&&!me.weekdayMismatch&&!me.nullInput&&!me.invalidFormat&&!me.userInvalidated&&(!me.meridiem||me.meridiem&&bt);if(X._strict&&(qt=qt&&0===me.charsLeftOver&&0===me.unusedTokens.length&&void 0===me.bigHour),null!=Object.isFrozen&&Object.isFrozen(X))return qt;X._isValid=qt}return X._isValid}function M(X){var me=R(NaN);return null!=X?D(H(me),X):H(me).userInvalidated=!0,me}z=Array.prototype.some?Array.prototype.some:function(X){var qt,me=Object(this),bt=me.length>>>0;for(qt=0;qt<bt;qt++)if(qt in me&&X.call(this,me[qt],qt,me))return!0;return!1};var I=e.momentProperties=[],J=!1;function B(X,me){var bt,qt,xn;if(_(me._isAMomentObject)||(X._isAMomentObject=me._isAMomentObject),_(me._i)||(X._i=me._i),_(me._f)||(X._f=me._f),_(me._l)||(X._l=me._l),_(me._strict)||(X._strict=me._strict),_(me._tzm)||(X._tzm=me._tzm),_(me._isUTC)||(X._isUTC=me._isUTC),_(me._offset)||(X._offset=me._offset),_(me._pf)||(X._pf=H(me)),_(me._locale)||(X._locale=me._locale),I.length>0)for(bt=0;bt<I.length;bt++)_(xn=me[qt=I[bt]])||(X[qt]=xn);return X}function ie(X){B(this,X),this._d=new Date(null!=X._d?X._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===J&&(J=!0,e.updateOffset(this),J=!1)}function oe(X){return X instanceof ie||null!=X&&null!=X._isAMomentObject}function fe(X){!1===e.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+X)}function ne(X,me){var bt=!0;return D(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,X),bt){var xn,Ar,xi,qt=[];for(Ar=0;Ar<arguments.length;Ar++){if(xn="","object"==typeof arguments[Ar]){for(xi in xn+="\n["+Ar+"] ",arguments[0])u(arguments[0],xi)&&(xn+=xi+": "+arguments[0][xi]+", ");xn=xn.slice(0,-2)}else xn=arguments[Ar];qt.push(xn)}fe(X+"\nArguments: "+Array.prototype.slice.call(qt).join("")+"\n"+(new Error).stack),bt=!1}return me.apply(this,arguments)},me)}var ue,he={};function ce(X,me){null!=e.deprecationHandler&&e.deprecationHandler(X,me),he[X]||(fe(me),he[X]=!0)}function Ae(X){return"undefined"!=typeof Function&&X instanceof Function||"[object Function]"===Object.prototype.toString.call(X)}function Oe(X,me){var qt,bt=D({},X);for(qt in me)u(me,qt)&&(l(X[qt])&&l(me[qt])?(bt[qt]={},D(bt[qt],X[qt]),D(bt[qt],me[qt])):null!=me[qt]?bt[qt]=me[qt]:delete bt[qt]);for(qt in X)u(X,qt)&&!u(me,qt)&&l(X[qt])&&(bt[qt]=D({},bt[qt]));return bt}function be(X){null!=X&&this.set(X)}e.suppressDeprecationWarnings=!1,e.deprecationHandler=null,ue=Object.keys?Object.keys:function(X){var me,bt=[];for(me in X)u(X,me)&&bt.push(me);return bt};function F(X,me,bt){var qt=""+Math.abs(X);return(X>=0?bt?"+":"":"-")+Math.pow(10,Math.max(0,me-qt.length)).toString().substr(1)+qt}var je=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Et=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,lt={},nn={};function St(X,me,bt,qt){var xn=qt;"string"==typeof qt&&(xn=function(){return this[qt]()}),X&&(nn[X]=xn),me&&(nn[me[0]]=function(){return F(xn.apply(this,arguments),me[1],me[2])}),bt&&(nn[bt]=function(){return this.localeData().ordinal(xn.apply(this,arguments),X)})}function Ot(X){return X.match(/\[[\s\S]/)?X.replace(/^\[|\]$/g,""):X.replace(/\\/g,"")}function It(X,me){return X.isValid()?(me=ae(me,X.localeData()),lt[me]=lt[me]||function(X){var bt,qt,me=X.match(je);for(bt=0,qt=me.length;bt<qt;bt++)me[bt]=nn[me[bt]]?nn[me[bt]]:Ot(me[bt]);return function(xn){var xi,Ar="";for(xi=0;xi<qt;xi++)Ar+=Ae(me[xi])?me[xi].call(xn,X):me[xi];return Ar}}(me),lt[me](X)):X.localeData().invalidDate()}function ae(X,me){var bt=5;function qt(xn){return me.longDateFormat(xn)||xn}for(Et.lastIndex=0;bt>=0&&Et.test(X);)X=X.replace(Et,qt),Et.lastIndex=0,bt-=1;return X}var Ht={};function tr(X,me){var bt=X.toLowerCase();Ht[bt]=Ht[bt+"s"]=Ht[me]=X}function Yn(X){return"string"==typeof X?Ht[X]||Ht[X.toLowerCase()]:void 0}function Cn(X){var bt,qt,me={};for(qt in X)u(X,qt)&&(bt=Yn(qt))&&(me[bt]=X[qt]);return me}var Kt={};function dn(X,me){Kt[X]=me}function qn(X){return X%4==0&&X%100!=0||X%400==0}function Sn(X){return X<0?Math.ceil(X)||0:Math.floor(X)}function $n(X){var me=+X,bt=0;return 0!==me&&isFinite(me)&&(bt=Sn(me)),bt}function En(X,me){return function(bt){return null!=bt?(Dn(this,X,bt),e.updateOffset(this,me),this):Fn(this,X)}}function Fn(X,me){return X.isValid()?X._d["get"+(X._isUTC?"UTC":"")+me]():NaN}function Dn(X,me,bt){X.isValid()&&!isNaN(bt)&&("FullYear"===me&&qn(X.year())&&1===X.month()&&29===X.date()?(bt=$n(bt),X._d["set"+(X._isUTC?"UTC":"")+me](bt,X.month(),di(bt,X.month()))):X._d["set"+(X._isUTC?"UTC":"")+me](bt))}var Ut,Xt=/\d/,ut=/\d\d/,mt=/\d{3}/,Tt=/\d{4}/,yn=/[+-]?\d{6}/,et=/\d\d?/,jt=/\d\d\d\d?/,hn=/\d\d\d\d\d\d?/,Qn=/\d{1,3}/,Ir=/\d{1,4}/,ht=/[+-]?\d{1,6}/,L=/\d+/,Ue=/[+-]?\d+/,nt=/Z|[+-]\d\d:?\d\d/gi,at=/Z|[+-]\d\d(?::?\d\d)?/gi,Pt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function ot(X,me,bt){Ut[X]=Ae(me)?me:function(qt,xn){return qt&&bt?bt:me}}function Nn(X,me){return u(Ut,X)?Ut[X](me._strict,me._locale):new RegExp(function(X){return An(X.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(me,bt,qt,xn,Ar){return bt||qt||xn||Ar}))}(X))}function An(X){return X.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}Ut={};var Bn={};function ir(X,me){var bt,qt=me;for("string"==typeof X&&(X=[X]),m(me)&&(qt=function(xn,Ar){Ar[me]=$n(xn)}),bt=0;bt<X.length;bt++)Bn[X[bt]]=qt}function mr(X,me){ir(X,function(bt,qt,xn,Ar){xn._w=xn._w||{},me(bt,xn._w,xn,Ar)})}function _r(X,me,bt){null!=me&&u(Bn,X)&&Bn[X](me,bt._a,bt,X)}var Kr;function di(X,me){if(isNaN(X)||isNaN(me))return NaN;var bt=function(X,me){return(X%me+me)%me}(me,12);return X+=(me-bt)/12,1===bt?qn(X)?29:28:31-bt%7%2}Kr=Array.prototype.indexOf?Array.prototype.indexOf:function(X){var me;for(me=0;me<this.length;++me)if(this[me]===X)return me;return-1},St("M",["MM",2],"Mo",function(){return this.month()+1}),St("MMM",0,0,function(X){return this.localeData().monthsShort(this,X)}),St("MMMM",0,0,function(X){return this.localeData().months(this,X)}),tr("month","M"),dn("month",8),ot("M",et),ot("MM",et,ut),ot("MMM",function(X,me){return me.monthsShortRegex(X)}),ot("MMMM",function(X,me){return me.monthsRegex(X)}),ir(["M","MM"],function(X,me){me[1]=$n(X)-1}),ir(["MMM","MMMM"],function(X,me,bt,qt){var xn=bt._locale.monthsParse(X,qt,bt._strict);null!=xn?me[1]=xn:H(bt).invalidMonth=X});var se="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ct="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ke=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Xe=Pt,Vt=Pt;function yt(X,me,bt){var qt,xn,Ar,xi=X.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],qt=0;qt<12;++qt)Ar=R([2e3,qt]),this._shortMonthsParse[qt]=this.monthsShort(Ar,"").toLocaleLowerCase(),this._longMonthsParse[qt]=this.months(Ar,"").toLocaleLowerCase();return bt?"MMM"===me?-1!==(xn=Kr.call(this._shortMonthsParse,xi))?xn:null:-1!==(xn=Kr.call(this._longMonthsParse,xi))?xn:null:"MMM"===me?-1!==(xn=Kr.call(this._shortMonthsParse,xi))||-1!==(xn=Kr.call(this._longMonthsParse,xi))?xn:null:-1!==(xn=Kr.call(this._longMonthsParse,xi))||-1!==(xn=Kr.call(this._shortMonthsParse,xi))?xn:null}function $t(X,me){var bt;if(!X.isValid())return X;if("string"==typeof me)if(/^\d+$/.test(me))me=$n(me);else if(!m(me=X.localeData().monthsParse(me)))return X;return bt=Math.min(X.date(),di(X.year(),me)),X._d["set"+(X._isUTC?"UTC":"")+"Month"](me,bt),X}function or(X){return null!=X?($t(this,X),e.updateOffset(this,!0),this):Fn(this,"Month")}function ai(){function X(xi,fs){return fs.length-xi.length}var xn,Ar,me=[],bt=[],qt=[];for(xn=0;xn<12;xn++)Ar=R([2e3,xn]),me.push(this.monthsShort(Ar,"")),bt.push(this.months(Ar,"")),qt.push(this.months(Ar,"")),qt.push(this.monthsShort(Ar,""));for(me.sort(X),bt.sort(X),qt.sort(X),xn=0;xn<12;xn++)me[xn]=An(me[xn]),bt[xn]=An(bt[xn]);for(xn=0;xn<24;xn++)qt[xn]=An(qt[xn]);this._monthsRegex=new RegExp("^("+qt.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+bt.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+me.join("|")+")","i")}function Dr(X){return qn(X)?366:365}St("Y",0,0,function(){var X=this.year();return X<=9999?F(X,4):"+"+X}),St(0,["YY",2],0,function(){return this.year()%100}),St(0,["YYYY",4],0,"year"),St(0,["YYYYY",5],0,"year"),St(0,["YYYYYY",6,!0],0,"year"),tr("year","y"),dn("year",1),ot("Y",Ue),ot("YY",et,ut),ot("YYYY",Ir,Tt),ot("YYYYY",ht,yn),ot("YYYYYY",ht,yn),ir(["YYYYY","YYYYYY"],0),ir("YYYY",function(X,me){me[0]=2===X.length?e.parseTwoDigitYear(X):$n(X)}),ir("YY",function(X,me){me[0]=e.parseTwoDigitYear(X)}),ir("Y",function(X,me){me[0]=parseInt(X,10)}),e.parseTwoDigitYear=function(X){return $n(X)+($n(X)>68?1900:2e3)};var Jr=En("FullYear",!0);function fi(X,me,bt,qt,xn,Ar,xi){var fs;return X<100&&X>=0?(fs=new Date(X+400,me,bt,qt,xn,Ar,xi),isFinite(fs.getFullYear())&&fs.setFullYear(X)):fs=new Date(X,me,bt,qt,xn,Ar,xi),fs}function Ei(X){var me,bt;return X<100&&X>=0?((bt=Array.prototype.slice.call(arguments))[0]=X+400,me=new Date(Date.UTC.apply(null,bt)),isFinite(me.getUTCFullYear())&&me.setUTCFullYear(X)):me=new Date(Date.UTC.apply(null,arguments)),me}function wi(X,me,bt){var qt=7+me-bt;return-(7+Ei(X,0,qt).getUTCDay()-me)%7+qt-1}function _o(X,me,bt,qt,xn){var aa,Wa,fs=1+7*(me-1)+(7+bt-qt)%7+wi(X,qt,xn);return fs<=0?Wa=Dr(aa=X-1)+fs:fs>Dr(X)?(aa=X+1,Wa=fs-Dr(X)):(aa=X,Wa=fs),{year:aa,dayOfYear:Wa}}function ki(X,me,bt){var Ar,xi,qt=wi(X.year(),me,bt),xn=Math.floor((X.dayOfYear()-qt-1)/7)+1;return xn<1?Ar=xn+to(xi=X.year()-1,me,bt):xn>to(X.year(),me,bt)?(Ar=xn-to(X.year(),me,bt),xi=X.year()+1):(xi=X.year(),Ar=xn),{week:Ar,year:xi}}function to(X,me,bt){var qt=wi(X,me,bt),xn=wi(X+1,me,bt);return(Dr(X)-qt+xn)/7}St("w",["ww",2],"wo","week"),St("W",["WW",2],"Wo","isoWeek"),tr("week","w"),tr("isoWeek","W"),dn("week",5),dn("isoWeek",5),ot("w",et),ot("ww",et,ut),ot("W",et),ot("WW",et,ut),mr(["w","ww","W","WW"],function(X,me,bt,qt){me[qt.substr(0,1)]=$n(X)});function ts(X,me){return X.slice(me,7).concat(X.slice(0,me))}St("d",0,"do","day"),St("dd",0,0,function(X){return this.localeData().weekdaysMin(this,X)}),St("ddd",0,0,function(X){return this.localeData().weekdaysShort(this,X)}),St("dddd",0,0,function(X){return this.localeData().weekdays(this,X)}),St("e",0,0,"weekday"),St("E",0,0,"isoWeekday"),tr("day","d"),tr("weekday","e"),tr("isoWeekday","E"),dn("day",11),dn("weekday",11),dn("isoWeekday",11),ot("d",et),ot("e",et),ot("E",et),ot("dd",function(X,me){return me.weekdaysMinRegex(X)}),ot("ddd",function(X,me){return me.weekdaysShortRegex(X)}),ot("dddd",function(X,me){return me.weekdaysRegex(X)}),mr(["dd","ddd","dddd"],function(X,me,bt,qt){var xn=bt._locale.weekdaysParse(X,qt,bt._strict);null!=xn?me.d=xn:H(bt).invalidWeekday=X}),mr(["d","e","E"],function(X,me,bt,qt){me[qt]=$n(X)});var ua="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ds="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),qo="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),oa=Pt,Er=Pt,st=Pt;function fn(X,me,bt){var qt,xn,Ar,xi=X.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],qt=0;qt<7;++qt)Ar=R([2e3,1]).day(qt),this._minWeekdaysParse[qt]=this.weekdaysMin(Ar,"").toLocaleLowerCase(),this._shortWeekdaysParse[qt]=this.weekdaysShort(Ar,"").toLocaleLowerCase(),this._weekdaysParse[qt]=this.weekdays(Ar,"").toLocaleLowerCase();return bt?"dddd"===me?-1!==(xn=Kr.call(this._weekdaysParse,xi))?xn:null:"ddd"===me?-1!==(xn=Kr.call(this._shortWeekdaysParse,xi))?xn:null:-1!==(xn=Kr.call(this._minWeekdaysParse,xi))?xn:null:"dddd"===me?-1!==(xn=Kr.call(this._weekdaysParse,xi))||-1!==(xn=Kr.call(this._shortWeekdaysParse,xi))||-1!==(xn=Kr.call(this._minWeekdaysParse,xi))?xn:null:"ddd"===me?-1!==(xn=Kr.call(this._shortWeekdaysParse,xi))||-1!==(xn=Kr.call(this._weekdaysParse,xi))||-1!==(xn=Kr.call(this._minWeekdaysParse,xi))?xn:null:-1!==(xn=Kr.call(this._minWeekdaysParse,xi))||-1!==(xn=Kr.call(this._weekdaysParse,xi))||-1!==(xn=Kr.call(this._shortWeekdaysParse,xi))?xn:null}function Fi(){function X(gc,Ql){return Ql.length-gc.length}var Ar,xi,fs,aa,Wa,me=[],bt=[],qt=[],xn=[];for(Ar=0;Ar<7;Ar++)xi=R([2e3,1]).day(Ar),fs=An(this.weekdaysMin(xi,"")),aa=An(this.weekdaysShort(xi,"")),Wa=An(this.weekdays(xi,"")),me.push(fs),bt.push(aa),qt.push(Wa),xn.push(fs),xn.push(aa),xn.push(Wa);me.sort(X),bt.sort(X),qt.sort(X),xn.sort(X),this._weekdaysRegex=new RegExp("^("+xn.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+qt.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+bt.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+me.join("|")+")","i")}function cs(){return this.hours()%12||12}function da(X,me){St(X,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),me)})}function xa(X,me){return me._meridiemParse}St("H",["HH",2],0,"hour"),St("h",["hh",2],0,cs),St("k",["kk",2],0,function(){return this.hours()||24}),St("hmm",0,0,function(){return""+cs.apply(this)+F(this.minutes(),2)}),St("hmmss",0,0,function(){return""+cs.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),St("Hmm",0,0,function(){return""+this.hours()+F(this.minutes(),2)}),St("Hmmss",0,0,function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),da("a",!0),da("A",!1),tr("hour","h"),dn("hour",13),ot("a",xa),ot("A",xa),ot("H",et),ot("h",et),ot("k",et),ot("HH",et,ut),ot("hh",et,ut),ot("kk",et,ut),ot("hmm",jt),ot("hmmss",hn),ot("Hmm",jt),ot("Hmmss",hn),ir(["H","HH"],3),ir(["k","kk"],function(X,me,bt){var qt=$n(X);me[3]=24===qt?0:qt}),ir(["a","A"],function(X,me,bt){bt._isPm=bt._locale.isPM(X),bt._meridiem=X}),ir(["h","hh"],function(X,me,bt){me[3]=$n(X),H(bt).bigHour=!0}),ir("hmm",function(X,me,bt){var qt=X.length-2;me[3]=$n(X.substr(0,qt)),me[4]=$n(X.substr(qt)),H(bt).bigHour=!0}),ir("hmmss",function(X,me,bt){var qt=X.length-4,xn=X.length-2;me[3]=$n(X.substr(0,qt)),me[4]=$n(X.substr(qt,2)),me[5]=$n(X.substr(xn)),H(bt).bigHour=!0}),ir("Hmm",function(X,me,bt){var qt=X.length-2;me[3]=$n(X.substr(0,qt)),me[4]=$n(X.substr(qt))}),ir("Hmmss",function(X,me,bt){var qt=X.length-4,xn=X.length-2;me[3]=$n(X.substr(0,qt)),me[4]=$n(X.substr(qt,2)),me[5]=$n(X.substr(xn))});var Dl=En("Hours",!0);var Ma,sa={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:se,monthsShort:ct,week:{dow:0,doy:6},weekdays:ua,weekdaysMin:qo,weekdaysShort:ds,meridiemParse:/[ap]\.?m?\.?/i},Fo={},tl={};function fa(X,me){var bt,qt=Math.min(X.length,me.length);for(bt=0;bt<qt;bt+=1)if(X[bt]!==me[bt])return bt;return qt}function Hs(X){return X&&X.toLowerCase().replace("_","-")}function pt(X){var me=null;if(void 0===Fo[X]&&Ge&&Ge.exports)try{me=Ma._abbr,o(46700)("./"+X),an(me)}catch(qt){Fo[X]=null}return Fo[X]}function an(X,me){var bt;return X&&((bt=_(me)?ye(X):Nt(X,me))?Ma=bt:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+X+" not found. Did you forget to load it?")),Ma._abbr}function Nt(X,me){if(null!==me){var bt,qt=sa;if(me.abbr=X,null!=Fo[X])ce("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),qt=Fo[X]._config;else if(null!=me.parentLocale)if(null!=Fo[me.parentLocale])qt=Fo[me.parentLocale]._config;else{if(null==(bt=pt(me.parentLocale)))return tl[me.parentLocale]||(tl[me.parentLocale]=[]),tl[me.parentLocale].push({name:X,config:me}),null;qt=bt._config}return Fo[X]=new be(Oe(qt,me)),tl[X]&&tl[X].forEach(function(xn){Nt(xn.name,xn.config)}),an(X),Fo[X]}return delete Fo[X],null}function ye(X){var me;if(X&&X._locale&&X._locale._abbr&&(X=X._locale._abbr),!X)return Ma;if(!a(X)){if(me=pt(X))return me;X=[X]}return function(X){for(var bt,qt,xn,Ar,me=0;me<X.length;){for(bt=(Ar=Hs(X[me]).split("-")).length,qt=(qt=Hs(X[me+1]))?qt.split("-"):null;bt>0;){if(xn=pt(Ar.slice(0,bt).join("-")))return xn;if(qt&&qt.length>=bt&&fa(Ar,qt)>=bt-1)break;bt--}me++}return Ma}(X)}function Wt(X){var me,bt=X._a;return bt&&-2===H(X).overflow&&(me=bt[1]<0||bt[1]>11?1:bt[2]<1||bt[2]>di(bt[0],bt[1])?2:bt[3]<0||bt[3]>24||24===bt[3]&&(0!==bt[4]||0!==bt[5]||0!==bt[6])?3:bt[4]<0||bt[4]>59?4:bt[5]<0||bt[5]>59?5:bt[6]<0||bt[6]>999?6:-1,H(X)._overflowDayOfYear&&(me<0||me>2)&&(me=2),H(X)._overflowWeeks&&-1===me&&(me=7),H(X)._overflowWeekday&&-1===me&&(me=8),H(X).overflow=me),X}var Or=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ni=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Yo=/Z|[+-]\d\d(?::?\d\d)?/,vs=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],as=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Lo=/^\/?Date\((-?\d+)/i,Zo=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Ta={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function hl(X){var me,bt,Ar,xi,fs,aa,qt=X._i,xn=Or.exec(qt)||Ni.exec(qt);if(xn){for(H(X).iso=!0,me=0,bt=vs.length;me<bt;me++)if(vs[me][1].exec(xn[1])){xi=vs[me][0],Ar=!1!==vs[me][2];break}if(null==xi)return void(X._isValid=!1);if(xn[3]){for(me=0,bt=as.length;me<bt;me++)if(as[me][1].exec(xn[3])){fs=(xn[2]||" ")+as[me][0];break}if(null==fs)return void(X._isValid=!1)}if(!Ar&&null!=fs)return void(X._isValid=!1);if(xn[4]){if(!Yo.exec(xn[4]))return void(X._isValid=!1);aa="Z"}X._f=xi+(fs||"")+(aa||""),Di(X)}else X._isValid=!1}function ba(X){var me=parseInt(X,10);return me<=49?2e3+me:me<=999?1900+me:me}function _l(X){var bt,me=Zo.exec(function(X){return X.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}(X._i));if(me){if(bt=function(X,me,bt,qt,xn,Ar){var xi=[ba(X),ct.indexOf(me),parseInt(bt,10),parseInt(qt,10),parseInt(xn,10)];return Ar&&xi.push(parseInt(Ar,10)),xi}(me[4],me[3],me[2],me[5],me[6],me[7]),!function(X,me,bt){return!X||ds.indexOf(X)===new Date(me[0],me[1],me[2]).getDay()||(H(bt).weekdayMismatch=!0,bt._isValid=!1,!1)}(me[1],bt,X))return;X._a=bt,X._tzm=function(X,me,bt){if(X)return Ta[X];if(me)return 0;var qt=parseInt(bt,10),xn=qt%100;return(qt-xn)/100*60+xn}(me[8],me[9],me[10]),X._d=Ei.apply(null,X._a),X._d.setUTCMinutes(X._d.getUTCMinutes()-X._tzm),H(X).rfc2822=!0}else X._isValid=!1}function sl(X,me,bt){return null!=X?X:null!=me?me:bt}function Yl(X){var me,bt,xn,Ar,xi,qt=[];if(!X._d){for(xn=function(X){var me=new Date(e.now());return X._useUTC?[me.getUTCFullYear(),me.getUTCMonth(),me.getUTCDate()]:[me.getFullYear(),me.getMonth(),me.getDate()]}(X),X._w&&null==X._a[2]&&null==X._a[1]&&function(X){var me,bt,qt,xn,Ar,xi,fs,aa,Wa;null!=(me=X._w).GG||null!=me.W||null!=me.E?(Ar=1,xi=4,bt=sl(me.GG,X._a[0],ki(kt(),1,4).year),qt=sl(me.W,1),((xn=sl(me.E,1))<1||xn>7)&&(aa=!0)):(Ar=X._locale._week.dow,xi=X._locale._week.doy,Wa=ki(kt(),Ar,xi),bt=sl(me.gg,X._a[0],Wa.year),qt=sl(me.w,Wa.week),null!=me.d?((xn=me.d)<0||xn>6)&&(aa=!0):null!=me.e?(xn=me.e+Ar,(me.e<0||me.e>6)&&(aa=!0)):xn=Ar),qt<1||qt>to(bt,Ar,xi)?H(X)._overflowWeeks=!0:null!=aa?H(X)._overflowWeekday=!0:(fs=_o(bt,qt,xn,Ar,xi),X._a[0]=fs.year,X._dayOfYear=fs.dayOfYear)}(X),null!=X._dayOfYear&&(xi=sl(X._a[0],xn[0]),(X._dayOfYear>Dr(xi)||0===X._dayOfYear)&&(H(X)._overflowDayOfYear=!0),bt=Ei(xi,0,X._dayOfYear),X._a[1]=bt.getUTCMonth(),X._a[2]=bt.getUTCDate()),me=0;me<3&&null==X._a[me];++me)X._a[me]=qt[me]=xn[me];for(;me<7;me++)X._a[me]=qt[me]=null==X._a[me]?2===me?1:0:X._a[me];24===X._a[3]&&0===X._a[4]&&0===X._a[5]&&0===X._a[6]&&(X._nextDay=!0,X._a[3]=0),X._d=(X._useUTC?Ei:fi).apply(null,qt),Ar=X._useUTC?X._d.getUTCDay():X._d.getDay(),null!=X._tzm&&X._d.setUTCMinutes(X._d.getUTCMinutes()-X._tzm),X._nextDay&&(X._a[3]=24),X._w&&void 0!==X._w.d&&X._w.d!==Ar&&(H(X).weekdayMismatch=!0)}}function Di(X){if(X._f!==e.ISO_8601)if(X._f!==e.RFC_2822){X._a=[],H(X).empty=!0;var bt,qt,xn,Ar,xi,Wa,me=""+X._i,fs=me.length,aa=0;for(xn=ae(X._f,X._locale).match(je)||[],bt=0;bt<xn.length;bt++)(qt=(me.match(Nn(Ar=xn[bt],X))||[])[0])&&((xi=me.substr(0,me.indexOf(qt))).length>0&&H(X).unusedInput.push(xi),me=me.slice(me.indexOf(qt)+qt.length),aa+=qt.length),nn[Ar]?(qt?H(X).empty=!1:H(X).unusedTokens.push(Ar),_r(Ar,qt,X)):X._strict&&!qt&&H(X).unusedTokens.push(Ar);H(X).charsLeftOver=fs-aa,me.length>0&&H(X).unusedInput.push(me),X._a[3]<=12&&!0===H(X).bigHour&&X._a[3]>0&&(H(X).bigHour=void 0),H(X).parsedDateParts=X._a.slice(0),H(X).meridiem=X._meridiem,X._a[3]=function(X,me,bt){var qt;return null==bt?me:null!=X.meridiemHour?X.meridiemHour(me,bt):(null!=X.isPM&&((qt=X.isPM(bt))&&me<12&&(me+=12),!qt&&12===me&&(me=0)),me)}(X._locale,X._a[3],X._meridiem),null!==(Wa=H(X).era)&&(X._a[0]=X._locale.erasConvertYear(Wa,X._a[0])),Yl(X),Wt(X)}else _l(X);else hl(X)}function _s(X){var me=X._i,bt=X._f;return X._locale=X._locale||ye(X._l),null===me||void 0===bt&&""===me?M({nullInput:!0}):("string"==typeof me&&(X._i=me=X._locale.preparse(me)),oe(me)?new ie(Wt(me)):(b(me)?X._d=me:a(bt)?function(X){var me,bt,qt,xn,Ar,xi,fs=!1;if(0===X._f.length)return H(X).invalidFormat=!0,void(X._d=new Date(NaN));for(xn=0;xn<X._f.length;xn++)Ar=0,xi=!1,me=B({},X),null!=X._useUTC&&(me._useUTC=X._useUTC),me._f=X._f[xn],Di(me),U(me)&&(xi=!0),Ar+=H(me).charsLeftOver,Ar+=10*H(me).unusedTokens.length,H(me).score=Ar,fs?Ar<qt&&(qt=Ar,bt=me):(null==qt||Ar<qt||xi)&&(qt=Ar,bt=me,xi&&(fs=!0));D(X,bt||me)}(X):bt?Di(X):function(X){var me=X._i;_(me)?X._d=new Date(e.now()):b(me)?X._d=new Date(me.valueOf()):"string"==typeof me?function(X){var me=Lo.exec(X._i);null===me?(hl(X),!1===X._isValid&&(delete X._isValid,_l(X),!1===X._isValid&&(delete X._isValid,X._strict?X._isValid=!1:e.createFromInputFallback(X)))):X._d=new Date(+me[1])}(X):a(me)?(X._a=T(me.slice(0),function(bt){return parseInt(bt,10)}),Yl(X)):l(me)?function(X){if(!X._d){var me=Cn(X._i);X._a=T([me.year,me.month,void 0===me.day?me.date:me.day,me.hour,me.minute,me.second,me.millisecond],function(qt){return qt&&parseInt(qt,10)}),Yl(X)}}(X):m(me)?X._d=new Date(me):e.createFromInputFallback(X)}(X),U(X)||(X._d=null),X))}function wt(X,me,bt,qt,xn){var Ar={};return(!0===me||!1===me)&&(qt=me,me=void 0),(!0===bt||!1===bt)&&(qt=bt,bt=void 0),(l(X)&&h(X)||a(X)&&0===X.length)&&(X=void 0),Ar._isAMomentObject=!0,Ar._useUTC=Ar._isUTC=xn,Ar._l=bt,Ar._i=X,Ar._f=me,Ar._strict=qt,function(X){var me=new ie(Wt(_s(X)));return me._nextDay&&(me.add(1,"d"),me._nextDay=void 0),me}(Ar)}function kt(X,me,bt,qt){return wt(X,me,bt,qt,!1)}e.createFromInputFallback=ne("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(X){X._d=new Date(X._i+(X._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var tn=ne("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var X=kt.apply(null,arguments);return this.isValid()&&X.isValid()?X<this?this:X:M()}),ur=ne("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var X=kt.apply(null,arguments);return this.isValid()&&X.isValid()?X>this?this:X:M()});function gn(X,me){var bt,qt;if(1===me.length&&a(me[0])&&(me=me[0]),!me.length)return kt();for(bt=me[0],qt=1;qt<me.length;++qt)(!me[qt].isValid()||me[qt][X](bt))&&(bt=me[qt]);return bt}var mi=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ui(X){var me=Cn(X),bt=me.year||0,qt=me.quarter||0,xn=me.month||0,Ar=me.week||me.isoWeek||0,xi=me.day||0,fs=me.hour||0,aa=me.minute||0,Wa=me.second||0,gc=me.millisecond||0;this._isValid=function(X){var me,qt,bt=!1;for(me in X)if(u(X,me)&&(-1===Kr.call(mi,me)||null!=X[me]&&isNaN(X[me])))return!1;for(qt=0;qt<mi.length;++qt)if(X[mi[qt]]){if(bt)return!1;parseFloat(X[mi[qt]])!==$n(X[mi[qt]])&&(bt=!0)}return!0}(me),this._milliseconds=+gc+1e3*Wa+6e4*aa+1e3*fs*60*60,this._days=+xi+7*Ar,this._months=+xn+3*qt+12*bt,this._data={},this._locale=ye(),this._bubble()}function ro(X){return X instanceof Ui}function mo(X){return X<0?-1*Math.round(-1*X):Math.round(X)}function hi(X,me){St(X,0,0,function(){var bt=this.utcOffset(),qt="+";return bt<0&&(bt=-bt,qt="-"),qt+F(~~(bt/60),2)+me+F(~~bt%60,2)})}hi("Z",":"),hi("ZZ",""),ot("Z",at),ot("ZZ",at),ir(["Z","ZZ"],function(X,me,bt){bt._useUTC=!0,bt._tzm=G(at,X)});var Br=/([\+\-]|\d\d)/gi;function G(X,me){var xn,Ar,bt=(me||"").match(X);return null===bt?null:0===(Ar=60*(xn=((bt[bt.length-1]||[])+"").match(Br)||["-",0,0])[1]+$n(xn[2]))?0:"+"===xn[0]?Ar:-Ar}function Me(X,me){var bt,qt;return me._isUTC?(bt=me.clone(),qt=(oe(X)||b(X)?X.valueOf():kt(X).valueOf())-bt.valueOf(),bt._d.setTime(bt._d.valueOf()+qt),e.updateOffset(bt,!1),bt):kt(X).local()}function ft(X){return-Math.round(X._d.getTimezoneOffset())}function dr(){return!!this.isValid()&&this._isUTC&&0===this._offset}e.updateOffset=function(){};var li=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Ti=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Oo(X,me){var xn,Ar,xi,bt=X,qt=null;return ro(X)?bt={ms:X._milliseconds,d:X._days,M:X._months}:m(X)||!isNaN(+X)?(bt={},me?bt[me]=+X:bt.milliseconds=+X):(qt=li.exec(X))?(xn="-"===qt[1]?-1:1,bt={y:0,d:$n(qt[2])*xn,h:$n(qt[3])*xn,m:$n(qt[4])*xn,s:$n(qt[5])*xn,ms:$n(mo(1e3*qt[6]))*xn}):(qt=Ti.exec(X))?bt={y:es(qt[2],xn="-"===qt[1]?-1:1),M:es(qt[3],xn),w:es(qt[4],xn),d:es(qt[5],xn),h:es(qt[6],xn),m:es(qt[7],xn),s:es(qt[8],xn)}:null==bt?bt={}:"object"==typeof bt&&("from"in bt||"to"in bt)&&(xi=function(X,me){var bt;return X.isValid()&&me.isValid()?(me=Me(me,X),X.isBefore(me)?bt=jo(X,me):((bt=jo(me,X)).milliseconds=-bt.milliseconds,bt.months=-bt.months),bt):{milliseconds:0,months:0}}(kt(bt.from),kt(bt.to)),(bt={}).ms=xi.milliseconds,bt.M=xi.months),Ar=new Ui(bt),ro(X)&&u(X,"_locale")&&(Ar._locale=X._locale),ro(X)&&u(X,"_isValid")&&(Ar._isValid=X._isValid),Ar}function es(X,me){var bt=X&&parseFloat(X.replace(",","."));return(isNaN(bt)?0:bt)*me}function jo(X,me){var bt={};return bt.months=me.month()-X.month()+12*(me.year()-X.year()),X.clone().add(bt.months,"M").isAfter(me)&&--bt.months,bt.milliseconds=+me-+X.clone().add(bt.months,"M"),bt}function Ki(X,me){return function(bt,qt){var Ar;return null!==qt&&!isNaN(+qt)&&(ce(me,"moment()."+me+"(period, number) is deprecated. Please use moment()."+me+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),Ar=bt,bt=qt,qt=Ar),Ho(this,Oo(bt,qt),X),this}}function Ho(X,me,bt,qt){var xn=me._milliseconds,Ar=mo(me._days),xi=mo(me._months);!X.isValid()||(qt=null==qt||qt,xi&&$t(X,Fn(X,"Month")+xi*bt),Ar&&Dn(X,"Date",Fn(X,"Date")+Ar*bt),xn&&X._d.setTime(X._d.valueOf()+xn*bt),qt&&e.updateOffset(X,Ar||xi))}Oo.fn=Ui.prototype,Oo.invalid=function(){return Oo(NaN)};var Yi=Ki(1,"add"),na=Ki(-1,"subtract");function ha(X){return"string"==typeof X||X instanceof String}function gl(X){return oe(X)||b(X)||ha(X)||m(X)||function(X){var me=a(X),bt=!1;return me&&(bt=0===X.filter(function(qt){return!m(qt)&&ha(X)}).length),me&&bt}(X)||function(X){var xn,me=l(X)&&!h(X),bt=!1,qt=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(xn=0;xn<qt.length;xn+=1)bt=bt||u(X,qt[xn]);return me&&bt}(X)||null==X}function Ll(X){var xn,me=l(X)&&!h(X),bt=!1,qt=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(xn=0;xn<qt.length;xn+=1)bt=bt||u(X,qt[xn]);return me&&bt}function Zl(X,me){if(X.date()<me.date())return-Zl(me,X);var bt=12*(me.year()-X.year())+(me.month()-X.month()),qt=X.clone().add(bt,"months");return-(bt+(me-qt<0?(me-qt)/(qt-X.clone().add(bt-1,"months")):(me-qt)/(X.clone().add(bt+1,"months")-qt)))||0}function ge(X){var me;return void 0===X?this._locale._abbr:(null!=(me=ye(X))&&(this._locale=me),this)}e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Re=ne("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(X){return void 0===X?this.localeData():this.locale(X)});function Be(){return this._locale}var Dt=6e4,en=60*Dt,vn=3506328*en;function Gn(X,me){return(X%me+me)%me}function kn(X,me,bt){return X<100&&X>=0?new Date(X+400,me,bt)-vn:new Date(X,me,bt).valueOf()}function zn(X,me,bt){return X<100&&X>=0?Date.UTC(X+400,me,bt)-vn:Date.UTC(X,me,bt)}function Pa(X,me){return me.erasAbbrRegex(X)}function rs(){var xn,Ar,X=[],me=[],bt=[],qt=[],xi=this.eras();for(xn=0,Ar=xi.length;xn<Ar;++xn)me.push(An(xi[xn].name)),X.push(An(xi[xn].abbr)),bt.push(An(xi[xn].narrow)),qt.push(An(xi[xn].name)),qt.push(An(xi[xn].abbr)),qt.push(An(xi[xn].narrow));this._erasRegex=new RegExp("^("+qt.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+me.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+X.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+bt.join("|")+")","i")}function wa(X,me){St(0,[X,X.length],0,me)}function Zs(X,me,bt,qt,xn){var Ar;return null==X?ki(this,qt,xn).year:(me>(Ar=to(X,qt,xn))&&(me=Ar),Za.call(this,X,me,bt,qt,xn))}function Za(X,me,bt,qt,xn){var Ar=_o(X,me,bt,qt,xn),xi=Ei(Ar.year,0,Ar.dayOfYear);return this.year(xi.getUTCFullYear()),this.month(xi.getUTCMonth()),this.date(xi.getUTCDate()),this}St("N",0,0,"eraAbbr"),St("NN",0,0,"eraAbbr"),St("NNN",0,0,"eraAbbr"),St("NNNN",0,0,"eraName"),St("NNNNN",0,0,"eraNarrow"),St("y",["y",1],"yo","eraYear"),St("y",["yy",2],0,"eraYear"),St("y",["yyy",3],0,"eraYear"),St("y",["yyyy",4],0,"eraYear"),ot("N",Pa),ot("NN",Pa),ot("NNN",Pa),ot("NNNN",function(X,me){return me.erasNameRegex(X)}),ot("NNNNN",function(X,me){return me.erasNarrowRegex(X)}),ir(["N","NN","NNN","NNNN","NNNNN"],function(X,me,bt,qt){var xn=bt._locale.erasParse(X,qt,bt._strict);xn?H(bt).era=xn:H(bt).invalidEra=X}),ot("y",L),ot("yy",L),ot("yyy",L),ot("yyyy",L),ot("yo",function(X,me){return me._eraYearOrdinalRegex||L}),ir(["y","yy","yyy","yyyy"],0),ir(["yo"],function(X,me,bt,qt){var xn;bt._locale._eraYearOrdinalRegex&&(xn=X.match(bt._locale._eraYearOrdinalRegex)),me[0]=bt._locale.eraYearOrdinalParse?bt._locale.eraYearOrdinalParse(X,xn):parseInt(X,10)}),St(0,["gg",2],0,function(){return this.weekYear()%100}),St(0,["GG",2],0,function(){return this.isoWeekYear()%100}),wa("gggg","weekYear"),wa("ggggg","weekYear"),wa("GGGG","isoWeekYear"),wa("GGGGG","isoWeekYear"),tr("weekYear","gg"),tr("isoWeekYear","GG"),dn("weekYear",1),dn("isoWeekYear",1),ot("G",Ue),ot("g",Ue),ot("GG",et,ut),ot("gg",et,ut),ot("GGGG",Ir,Tt),ot("gggg",Ir,Tt),ot("GGGGG",ht,yn),ot("ggggg",ht,yn),mr(["gggg","ggggg","GGGG","GGGGG"],function(X,me,bt,qt){me[qt.substr(0,2)]=$n(X)}),mr(["gg","GG"],function(X,me,bt,qt){me[qt]=e.parseTwoDigitYear(X)}),St("Q",0,"Qo","quarter"),tr("quarter","Q"),dn("quarter",7),ot("Q",Xt),ir("Q",function(X,me){me[1]=3*($n(X)-1)}),St("D",["DD",2],"Do","date"),tr("date","D"),dn("date",9),ot("D",et),ot("DD",et,ut),ot("Do",function(X,me){return X?me._dayOfMonthOrdinalParse||me._ordinalParse:me._dayOfMonthOrdinalParseLenient}),ir(["D","DD"],2),ir("Do",function(X,me){me[2]=$n(X.match(et)[0])});var Va=En("Date",!0);St("DDD",["DDDD",3],"DDDo","dayOfYear"),tr("dayOfYear","DDD"),dn("dayOfYear",4),ot("DDD",Qn),ot("DDDD",mt),ir(["DDD","DDDD"],function(X,me,bt){bt._dayOfYear=$n(X)}),St("m",["mm",2],0,"minute"),tr("minute","m"),dn("minute",14),ot("m",et),ot("mm",et,ut),ir(["m","mm"],4);var al=En("Minutes",!1);St("s",["ss",2],0,"second"),tr("second","s"),dn("second",15),ot("s",et),ot("ss",et,ut),ir(["s","ss"],5);var ll,sc,js=En("Seconds",!1);for(St("S",0,0,function(){return~~(this.millisecond()/100)}),St(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),St(0,["SSS",3],0,"millisecond"),St(0,["SSSS",4],0,function(){return 10*this.millisecond()}),St(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),St(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),St(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),St(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),St(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),tr("millisecond","ms"),dn("millisecond",16),ot("S",Qn,Xt),ot("SS",Qn,ut),ot("SSS",Qn,mt),ll="SSSS";ll.length<=9;ll+="S")ot(ll,L);function Vl(X,me){me[6]=$n(1e3*("0."+X))}for(ll="S";ll.length<=9;ll+="S")ir(ll,Vl);sc=En("Milliseconds",!1),St("z",0,0,"zoneAbbr"),St("zz",0,0,"zoneName");var $i=ie.prototype;function ml(X){return X}$i.add=Yi,$i.calendar=function(X,me){1===arguments.length&&(arguments[0]?gl(arguments[0])?(X=arguments[0],me=void 0):Ll(arguments[0])&&(me=arguments[0],X=void 0):(X=void 0,me=void 0));var bt=X||kt(),qt=Me(bt,this).startOf("day"),xn=e.calendarFormat(this,qt)||"sameElse",Ar=me&&(Ae(me[xn])?me[xn].call(this,bt):me[xn]);return this.format(Ar||this.localeData().calendar(xn,this,kt(bt)))},$i.clone=function(){return new ie(this)},$i.diff=function(X,me,bt){var qt,xn,Ar;if(!this.isValid())return NaN;if(!(qt=Me(X,this)).isValid())return NaN;switch(xn=6e4*(qt.utcOffset()-this.utcOffset()),me=Yn(me)){case"year":Ar=Zl(this,qt)/12;break;case"month":Ar=Zl(this,qt);break;case"quarter":Ar=Zl(this,qt)/3;break;case"second":Ar=(this-qt)/1e3;break;case"minute":Ar=(this-qt)/6e4;break;case"hour":Ar=(this-qt)/36e5;break;case"day":Ar=(this-qt-xn)/864e5;break;case"week":Ar=(this-qt-xn)/6048e5;break;default:Ar=this-qt}return bt?Ar:Sn(Ar)},$i.endOf=function(X){var me,bt;if(void 0===(X=Yn(X))||"millisecond"===X||!this.isValid())return this;switch(bt=this._isUTC?zn:kn,X){case"year":me=bt(this.year()+1,0,1)-1;break;case"quarter":me=bt(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":me=bt(this.year(),this.month()+1,1)-1;break;case"week":me=bt(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":me=bt(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":me=bt(this.year(),this.month(),this.date()+1)-1;break;case"hour":me=this._d.valueOf(),me+=en-Gn(me+(this._isUTC?0:this.utcOffset()*Dt),en)-1;break;case"minute":me=this._d.valueOf(),me+=Dt-Gn(me,Dt)-1;break;case"second":me=this._d.valueOf(),me+=1e3-Gn(me,1e3)-1}return this._d.setTime(me),e.updateOffset(this,!0),this},$i.format=function(X){X||(X=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var me=It(this,X);return this.localeData().postformat(me)},$i.from=function(X,me){return this.isValid()&&(oe(X)&&X.isValid()||kt(X).isValid())?Oo({to:this,from:X}).locale(this.locale()).humanize(!me):this.localeData().invalidDate()},$i.fromNow=function(X){return this.from(kt(),X)},$i.to=function(X,me){return this.isValid()&&(oe(X)&&X.isValid()||kt(X).isValid())?Oo({from:this,to:X}).locale(this.locale()).humanize(!me):this.localeData().invalidDate()},$i.toNow=function(X){return this.to(kt(),X)},$i.get=function(X){return Ae(this[X=Yn(X)])?this[X]():this},$i.invalidAt=function(){return H(this).overflow},$i.isAfter=function(X,me){var bt=oe(X)?X:kt(X);return!(!this.isValid()||!bt.isValid())&&("millisecond"===(me=Yn(me)||"millisecond")?this.valueOf()>bt.valueOf():bt.valueOf()<this.clone().startOf(me).valueOf())},$i.isBefore=function(X,me){var bt=oe(X)?X:kt(X);return!(!this.isValid()||!bt.isValid())&&("millisecond"===(me=Yn(me)||"millisecond")?this.valueOf()<bt.valueOf():this.clone().endOf(me).valueOf()<bt.valueOf())},$i.isBetween=function(X,me,bt,qt){var xn=oe(X)?X:kt(X),Ar=oe(me)?me:kt(me);return!!(this.isValid()&&xn.isValid()&&Ar.isValid())&&("("===(qt=qt||"()")[0]?this.isAfter(xn,bt):!this.isBefore(xn,bt))&&(")"===qt[1]?this.isBefore(Ar,bt):!this.isAfter(Ar,bt))},$i.isSame=function(X,me){var qt,bt=oe(X)?X:kt(X);return!(!this.isValid()||!bt.isValid())&&("millisecond"===(me=Yn(me)||"millisecond")?this.valueOf()===bt.valueOf():(qt=bt.valueOf(),this.clone().startOf(me).valueOf()<=qt&&qt<=this.clone().endOf(me).valueOf()))},$i.isSameOrAfter=function(X,me){return this.isSame(X,me)||this.isAfter(X,me)},$i.isSameOrBefore=function(X,me){return this.isSame(X,me)||this.isBefore(X,me)},$i.isValid=function(){return U(this)},$i.lang=Re,$i.locale=ge,$i.localeData=Be,$i.max=ur,$i.min=tn,$i.parsingFlags=function(){return D({},H(this))},$i.set=function(X,me){if("object"==typeof X){var qt,bt=function(X){var bt,me=[];for(bt in X)u(X,bt)&&me.push({unit:bt,priority:Kt[bt]});return me.sort(function(qt,xn){return qt.priority-xn.priority}),me}(X=Cn(X));for(qt=0;qt<bt.length;qt++)this[bt[qt].unit](X[bt[qt].unit])}else if(Ae(this[X=Yn(X)]))return this[X](me);return this},$i.startOf=function(X){var me,bt;if(void 0===(X=Yn(X))||"millisecond"===X||!this.isValid())return this;switch(bt=this._isUTC?zn:kn,X){case"year":me=bt(this.year(),0,1);break;case"quarter":me=bt(this.year(),this.month()-this.month()%3,1);break;case"month":me=bt(this.year(),this.month(),1);break;case"week":me=bt(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":me=bt(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":me=bt(this.year(),this.month(),this.date());break;case"hour":me=this._d.valueOf(),me-=Gn(me+(this._isUTC?0:this.utcOffset()*Dt),en);break;case"minute":me=this._d.valueOf(),me-=Gn(me,Dt);break;case"second":me=this._d.valueOf(),me-=Gn(me,1e3)}return this._d.setTime(me),e.updateOffset(this,!0),this},$i.subtract=na,$i.toArray=function(){var X=this;return[X.year(),X.month(),X.date(),X.hour(),X.minute(),X.second(),X.millisecond()]},$i.toObject=function(){var X=this;return{years:X.year(),months:X.month(),date:X.date(),hours:X.hours(),minutes:X.minutes(),seconds:X.seconds(),milliseconds:X.milliseconds()}},$i.toDate=function(){return new Date(this.valueOf())},$i.toISOString=function(X){if(!this.isValid())return null;var me=!0!==X,bt=me?this.clone().utc():this;return bt.year()<0||bt.year()>9999?It(bt,me?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Ae(Date.prototype.toISOString)?me?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",It(bt,"Z")):It(bt,me?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},$i.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var bt,qt,X="moment",me="";return this.isLocal()||(X=0===this.utcOffset()?"moment.utc":"moment.parseZone",me="Z"),bt="["+X+'("]',qt=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(bt+qt+"-MM-DD[T]HH:mm:ss.SSS"+me+'[")]')},"undefined"!=typeof Symbol&&null!=Symbol.for&&($i[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),$i.toJSON=function(){return this.isValid()?this.toISOString():null},$i.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},$i.unix=function(){return Math.floor(this.valueOf()/1e3)},$i.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},$i.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},$i.eraName=function(){var X,me,bt,qt=this.localeData().eras();for(X=0,me=qt.length;X<me;++X)if(bt=this.clone().startOf("day").valueOf(),qt[X].since<=bt&&bt<=qt[X].until||qt[X].until<=bt&&bt<=qt[X].since)return qt[X].name;return""},$i.eraNarrow=function(){var X,me,bt,qt=this.localeData().eras();for(X=0,me=qt.length;X<me;++X)if(bt=this.clone().startOf("day").valueOf(),qt[X].since<=bt&&bt<=qt[X].until||qt[X].until<=bt&&bt<=qt[X].since)return qt[X].narrow;return""},$i.eraAbbr=function(){var X,me,bt,qt=this.localeData().eras();for(X=0,me=qt.length;X<me;++X)if(bt=this.clone().startOf("day").valueOf(),qt[X].since<=bt&&bt<=qt[X].until||qt[X].until<=bt&&bt<=qt[X].since)return qt[X].abbr;return""},$i.eraYear=function(){var X,me,bt,qt,xn=this.localeData().eras();for(X=0,me=xn.length;X<me;++X)if(bt=xn[X].since<=xn[X].until?1:-1,qt=this.clone().startOf("day").valueOf(),xn[X].since<=qt&&qt<=xn[X].until||xn[X].until<=qt&&qt<=xn[X].since)return(this.year()-e(xn[X].since).year())*bt+xn[X].offset;return this.year()},$i.year=Jr,$i.isLeapYear=function(){return qn(this.year())},$i.weekYear=function(X){return Zs.call(this,X,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},$i.isoWeekYear=function(X){return Zs.call(this,X,this.isoWeek(),this.isoWeekday(),1,4)},$i.quarter=$i.quarters=function(X){return null==X?Math.ceil((this.month()+1)/3):this.month(3*(X-1)+this.month()%3)},$i.month=or,$i.daysInMonth=function(){return di(this.year(),this.month())},$i.week=$i.weeks=function(X){var me=this.localeData().week(this);return null==X?me:this.add(7*(X-me),"d")},$i.isoWeek=$i.isoWeeks=function(X){var me=ki(this,1,4).week;return null==X?me:this.add(7*(X-me),"d")},$i.weeksInYear=function(){var X=this.localeData()._week;return to(this.year(),X.dow,X.doy)},$i.weeksInWeekYear=function(){var X=this.localeData()._week;return to(this.weekYear(),X.dow,X.doy)},$i.isoWeeksInYear=function(){return to(this.year(),1,4)},$i.isoWeeksInISOWeekYear=function(){return to(this.isoWeekYear(),1,4)},$i.date=Va,$i.day=$i.days=function(X){if(!this.isValid())return null!=X?this:NaN;var me=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=X?(X=function(X,me){return"string"!=typeof X?X:isNaN(X)?"number"==typeof(X=me.weekdaysParse(X))?X:null:parseInt(X,10)}(X,this.localeData()),this.add(X-me,"d")):me},$i.weekday=function(X){if(!this.isValid())return null!=X?this:NaN;var me=(this.day()+7-this.localeData()._week.dow)%7;return null==X?me:this.add(X-me,"d")},$i.isoWeekday=function(X){if(!this.isValid())return null!=X?this:NaN;if(null!=X){var me=function(X,me){return"string"==typeof X?me.weekdaysParse(X)%7||7:isNaN(X)?null:X}(X,this.localeData());return this.day(this.day()%7?me:me-7)}return this.day()||7},$i.dayOfYear=function(X){var me=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==X?me:this.add(X-me,"d")},$i.hour=$i.hours=Dl,$i.minute=$i.minutes=al,$i.second=$i.seconds=js,$i.millisecond=$i.milliseconds=sc,$i.utcOffset=function(X,me,bt){var xn,qt=this._offset||0;if(!this.isValid())return null!=X?this:NaN;if(null!=X){if("string"==typeof X){if(null===(X=G(at,X)))return this}else Math.abs(X)<16&&!bt&&(X*=60);return!this._isUTC&&me&&(xn=ft(this)),this._offset=X,this._isUTC=!0,null!=xn&&this.add(xn,"m"),qt!==X&&(!me||this._changeInProgress?Ho(this,Oo(X-qt,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?qt:ft(this)},$i.utc=function(X){return this.utcOffset(0,X)},$i.local=function(X){return this._isUTC&&(this.utcOffset(0,X),this._isUTC=!1,X&&this.subtract(ft(this),"m")),this},$i.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var X=G(nt,this._i);null!=X?this.utcOffset(X):this.utcOffset(0,!0)}return this},$i.hasAlignedHourOffset=function(X){return!!this.isValid()&&(X=X?kt(X).utcOffset():0,(this.utcOffset()-X)%60==0)},$i.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},$i.isLocal=function(){return!!this.isValid()&&!this._isUTC},$i.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},$i.isUtc=dr,$i.isUTC=dr,$i.zoneAbbr=function(){return this._isUTC?"UTC":""},$i.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},$i.dates=ne("dates accessor is deprecated. Use date instead.",Va),$i.months=ne("months accessor is deprecated. Use month instead",or),$i.years=ne("years accessor is deprecated. Use year instead",Jr),$i.zone=ne("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(X,me){return null!=X?("string"!=typeof X&&(X=-X),this.utcOffset(X,me),this):-this.utcOffset()}),$i.isDSTShifted=ne("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!_(this._isDSTShifted))return this._isDSTShifted;var me,X={};return B(X,this),(X=_s(X))._a?(me=X._isUTC?R(X._a):kt(X._a),this._isDSTShifted=this.isValid()&&function(X,me,bt){var xi,qt=Math.min(X.length,me.length),xn=Math.abs(X.length-me.length),Ar=0;for(xi=0;xi<qt;xi++)(bt&&X[xi]!==me[xi]||!bt&&$n(X[xi])!==$n(me[xi]))&&Ar++;return Ar+xn}(X._a,me.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted});var _a=be.prototype;function tu(X,me,bt,qt){var xn=ye(),Ar=R().set(qt,me);return xn[bt](Ar,X)}function lc(X,me,bt){if(m(X)&&(me=X,X=void 0),X=X||"",null!=me)return tu(X,me,bt,"month");var qt,xn=[];for(qt=0;qt<12;qt++)xn[qt]=tu(X,qt,bt,"month");return xn}function Sc(X,me,bt,qt){"boolean"==typeof X?(m(me)&&(bt=me,me=void 0),me=me||""):(bt=me=X,X=!1,m(me)&&(bt=me,me=void 0),me=me||"");var xi,xn=ye(),Ar=X?xn._week.dow:0,fs=[];if(null!=bt)return tu(me,(bt+Ar)%7,qt,"day");for(xi=0;xi<7;xi++)fs[xi]=tu(me,(xi+Ar)%7,qt,"day");return fs}_a.calendar=function(X,me,bt){var qt=this._calendar[X]||this._calendar.sameElse;return Ae(qt)?qt.call(me,bt):qt},_a.longDateFormat=function(X){var me=this._longDateFormat[X],bt=this._longDateFormat[X.toUpperCase()];return me||!bt?me:(this._longDateFormat[X]=bt.match(je).map(function(qt){return"MMMM"===qt||"MM"===qt||"DD"===qt||"dddd"===qt?qt.slice(1):qt}).join(""),this._longDateFormat[X])},_a.invalidDate=function(){return this._invalidDate},_a.ordinal=function(X){return this._ordinal.replace("%d",X)},_a.preparse=ml,_a.postformat=ml,_a.relativeTime=function(X,me,bt,qt){var xn=this._relativeTime[bt];return Ae(xn)?xn(X,me,bt,qt):xn.replace(/%d/i,X)},_a.pastFuture=function(X,me){var bt=this._relativeTime[X>0?"future":"past"];return Ae(bt)?bt(me):bt.replace(/%s/i,me)},_a.set=function(X){var me,bt;for(bt in X)u(X,bt)&&(Ae(me=X[bt])?this[bt]=me:this["_"+bt]=me);this._config=X,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},_a.eras=function(X,me){var bt,qt,xn,Ar=this._eras||ye("en")._eras;for(bt=0,qt=Ar.length;bt<qt;++bt){switch(typeof Ar[bt].since){case"string":xn=e(Ar[bt].since).startOf("day"),Ar[bt].since=xn.valueOf()}switch(typeof Ar[bt].until){case"undefined":Ar[bt].until=1/0;break;case"string":xn=e(Ar[bt].until).startOf("day").valueOf(),Ar[bt].until=xn.valueOf()}}return Ar},_a.erasParse=function(X,me,bt){var qt,xn,xi,fs,aa,Ar=this.eras();for(X=X.toUpperCase(),qt=0,xn=Ar.length;qt<xn;++qt)if(xi=Ar[qt].name.toUpperCase(),fs=Ar[qt].abbr.toUpperCase(),aa=Ar[qt].narrow.toUpperCase(),bt)switch(me){case"N":case"NN":case"NNN":if(fs===X)return Ar[qt];break;case"NNNN":if(xi===X)return Ar[qt];break;case"NNNNN":if(aa===X)return Ar[qt]}else if([xi,fs,aa].indexOf(X)>=0)return Ar[qt]},_a.erasConvertYear=function(X,me){var bt=X.since<=X.until?1:-1;return void 0===me?e(X.since).year():e(X.since).year()+(me-X.offset)*bt},_a.erasAbbrRegex=function(X){return u(this,"_erasAbbrRegex")||rs.call(this),X?this._erasAbbrRegex:this._erasRegex},_a.erasNameRegex=function(X){return u(this,"_erasNameRegex")||rs.call(this),X?this._erasNameRegex:this._erasRegex},_a.erasNarrowRegex=function(X){return u(this,"_erasNarrowRegex")||rs.call(this),X?this._erasNarrowRegex:this._erasRegex},_a.months=function(X,me){return X?a(this._months)?this._months[X.month()]:this._months[(this._months.isFormat||Ke).test(me)?"format":"standalone"][X.month()]:a(this._months)?this._months:this._months.standalone},_a.monthsShort=function(X,me){return X?a(this._monthsShort)?this._monthsShort[X.month()]:this._monthsShort[Ke.test(me)?"format":"standalone"][X.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},_a.monthsParse=function(X,me,bt){var qt,xn,Ar;if(this._monthsParseExact)return yt.call(this,X,me,bt);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),qt=0;qt<12;qt++){if(xn=R([2e3,qt]),bt&&!this._longMonthsParse[qt]&&(this._longMonthsParse[qt]=new RegExp("^"+this.months(xn,"").replace(".","")+"$","i"),this._shortMonthsParse[qt]=new RegExp("^"+this.monthsShort(xn,"").replace(".","")+"$","i")),!bt&&!this._monthsParse[qt]&&(Ar="^"+this.months(xn,"")+"|^"+this.monthsShort(xn,""),this._monthsParse[qt]=new RegExp(Ar.replace(".",""),"i")),bt&&"MMMM"===me&&this._longMonthsParse[qt].test(X))return qt;if(bt&&"MMM"===me&&this._shortMonthsParse[qt].test(X))return qt;if(!bt&&this._monthsParse[qt].test(X))return qt}},_a.monthsRegex=function(X){return this._monthsParseExact?(u(this,"_monthsRegex")||ai.call(this),X?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=Vt),this._monthsStrictRegex&&X?this._monthsStrictRegex:this._monthsRegex)},_a.monthsShortRegex=function(X){return this._monthsParseExact?(u(this,"_monthsRegex")||ai.call(this),X?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Xe),this._monthsShortStrictRegex&&X?this._monthsShortStrictRegex:this._monthsShortRegex)},_a.week=function(X){return ki(X,this._week.dow,this._week.doy).week},_a.firstDayOfYear=function(){return this._week.doy},_a.firstDayOfWeek=function(){return this._week.dow},_a.weekdays=function(X,me){var bt=a(this._weekdays)?this._weekdays:this._weekdays[X&&!0!==X&&this._weekdays.isFormat.test(me)?"format":"standalone"];return!0===X?ts(bt,this._week.dow):X?bt[X.day()]:bt},_a.weekdaysMin=function(X){return!0===X?ts(this._weekdaysMin,this._week.dow):X?this._weekdaysMin[X.day()]:this._weekdaysMin},_a.weekdaysShort=function(X){return!0===X?ts(this._weekdaysShort,this._week.dow):X?this._weekdaysShort[X.day()]:this._weekdaysShort},_a.weekdaysParse=function(X,me,bt){var qt,xn,Ar;if(this._weekdaysParseExact)return fn.call(this,X,me,bt);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),qt=0;qt<7;qt++){if(xn=R([2e3,1]).day(qt),bt&&!this._fullWeekdaysParse[qt]&&(this._fullWeekdaysParse[qt]=new RegExp("^"+this.weekdays(xn,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[qt]=new RegExp("^"+this.weekdaysShort(xn,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[qt]=new RegExp("^"+this.weekdaysMin(xn,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[qt]||(Ar="^"+this.weekdays(xn,"")+"|^"+this.weekdaysShort(xn,"")+"|^"+this.weekdaysMin(xn,""),this._weekdaysParse[qt]=new RegExp(Ar.replace(".",""),"i")),bt&&"dddd"===me&&this._fullWeekdaysParse[qt].test(X))return qt;if(bt&&"ddd"===me&&this._shortWeekdaysParse[qt].test(X))return qt;if(bt&&"dd"===me&&this._minWeekdaysParse[qt].test(X))return qt;if(!bt&&this._weekdaysParse[qt].test(X))return qt}},_a.weekdaysRegex=function(X){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Fi.call(this),X?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=oa),this._weekdaysStrictRegex&&X?this._weekdaysStrictRegex:this._weekdaysRegex)},_a.weekdaysShortRegex=function(X){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Fi.call(this),X?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Er),this._weekdaysShortStrictRegex&&X?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},_a.weekdaysMinRegex=function(X){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Fi.call(this),X?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=st),this._weekdaysMinStrictRegex&&X?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},_a.isPM=function(X){return"p"===(X+"").toLowerCase().charAt(0)},_a.meridiem=function(X,me,bt){return X>11?bt?"pm":"PM":bt?"am":"AM"},an("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(X){var me=X%10;return X+(1===$n(X%100/10)?"th":1===me?"st":2===me?"nd":3===me?"rd":"th")}}),e.lang=ne("moment.lang is deprecated. Use moment.locale instead.",an),e.langData=ne("moment.langData is deprecated. Use moment.localeData instead.",ye);var rl=Math.abs;function cl(X,me,bt,qt){var xn=Oo(me,bt);return X._milliseconds+=qt*xn._milliseconds,X._days+=qt*xn._days,X._months+=qt*xn._months,X._bubble()}function il(X){return X<0?Math.floor(X):Math.ceil(X)}function Jl(X){return 4800*X/146097}function Rl(X){return 146097*X/4800}function N(X){return function(){return this.as(X)}}var $=N("ms"),Q=N("s"),de=N("m"),ve=N("h"),ze=N("d"),De=N("w"),_t=N("M"),Yt=N("Q"),Zt=N("y");function sr(X){return function(){return this.isValid()?this._data[X]:NaN}}var Tr=sr("milliseconds"),Yr=sr("seconds"),Pi=sr("minutes"),yo=sr("hours"),To=sr("days"),Qo=sr("months"),Go=sr("years");var Cs=Math.round,Ss={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Is(X,me,bt,qt,xn){return xn.relativeTime(me||1,!!bt,X,qt)}var Ka=Math.abs;function Ul(X){return(X>0)-(X<0)||+X}function $l(){if(!this.isValid())return this.localeData().invalidDate();var qt,xn,Ar,xi,aa,Wa,gc,Ql,X=Ka(this._milliseconds)/1e3,me=Ka(this._days),bt=Ka(this._months),fs=this.asSeconds();return fs?(qt=Sn(X/60),xn=Sn(qt/60),X%=60,qt%=60,Ar=Sn(bt/12),bt%=12,xi=X?X.toFixed(3).replace(/\.?0+$/,""):"",aa=fs<0?"-":"",Wa=Ul(this._months)!==Ul(fs)?"-":"",gc=Ul(this._days)!==Ul(fs)?"-":"",Ql=Ul(this._milliseconds)!==Ul(fs)?"-":"",aa+"P"+(Ar?Wa+Ar+"Y":"")+(bt?Wa+bt+"M":"")+(me?gc+me+"D":"")+(xn||qt||X?"T":"")+(xn?Ql+xn+"H":"")+(qt?Ql+qt+"M":"")+(X?Ql+xi+"S":"")):"P0D"}var Vs=Ui.prototype;return Vs.isValid=function(){return this._isValid},Vs.abs=function(){var X=this._data;return this._milliseconds=rl(this._milliseconds),this._days=rl(this._days),this._months=rl(this._months),X.milliseconds=rl(X.milliseconds),X.seconds=rl(X.seconds),X.minutes=rl(X.minutes),X.hours=rl(X.hours),X.months=rl(X.months),X.years=rl(X.years),this},Vs.add=function(X,me){return cl(this,X,me,1)},Vs.subtract=function(X,me){return cl(this,X,me,-1)},Vs.as=function(X){if(!this.isValid())return NaN;var me,bt,qt=this._milliseconds;if("month"===(X=Yn(X))||"quarter"===X||"year"===X)switch(me=this._days+qt/864e5,bt=this._months+Jl(me),X){case"month":return bt;case"quarter":return bt/3;case"year":return bt/12}else switch(me=this._days+Math.round(Rl(this._months)),X){case"week":return me/7+qt/6048e5;case"day":return me+qt/864e5;case"hour":return 24*me+qt/36e5;case"minute":return 1440*me+qt/6e4;case"second":return 86400*me+qt/1e3;case"millisecond":return Math.floor(864e5*me)+qt;default:throw new Error("Unknown unit "+X)}},Vs.asMilliseconds=$,Vs.asSeconds=Q,Vs.asMinutes=de,Vs.asHours=ve,Vs.asDays=ze,Vs.asWeeks=De,Vs.asMonths=_t,Vs.asQuarters=Yt,Vs.asYears=Zt,Vs.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*$n(this._months/12):NaN},Vs._bubble=function(){var xn,Ar,xi,fs,aa,X=this._milliseconds,me=this._days,bt=this._months,qt=this._data;return X>=0&&me>=0&&bt>=0||X<=0&&me<=0&&bt<=0||(X+=864e5*il(Rl(bt)+me),me=0,bt=0),qt.milliseconds=X%1e3,xn=Sn(X/1e3),qt.seconds=xn%60,Ar=Sn(xn/60),qt.minutes=Ar%60,xi=Sn(Ar/60),qt.hours=xi%24,me+=Sn(xi/24),bt+=aa=Sn(Jl(me)),me-=il(Rl(aa)),fs=Sn(bt/12),bt%=12,qt.days=me,qt.months=bt,qt.years=fs,this},Vs.clone=function(){return Oo(this)},Vs.get=function(X){return X=Yn(X),this.isValid()?this[X+"s"]():NaN},Vs.milliseconds=Tr,Vs.seconds=Yr,Vs.minutes=Pi,Vs.hours=yo,Vs.days=To,Vs.weeks=function(){return Sn(this.days()/7)},Vs.months=Qo,Vs.years=Go,Vs.humanize=function(X,me){if(!this.isValid())return this.localeData().invalidDate();var xn,Ar,bt=!1,qt=Ss;return"object"==typeof X&&(me=X,X=!1),"boolean"==typeof X&&(bt=X),"object"==typeof me&&(qt=Object.assign({},Ss,me),null!=me.s&&null==me.ss&&(qt.ss=me.s-1)),Ar=function(X,me,bt,qt){var xn=Oo(X).abs(),Ar=Cs(xn.as("s")),xi=Cs(xn.as("m")),fs=Cs(xn.as("h")),aa=Cs(xn.as("d")),Wa=Cs(xn.as("M")),gc=Cs(xn.as("w")),Ql=Cs(xn.as("y")),yc=Ar<=bt.ss&&["s",Ar]||Ar<bt.s&&["ss",Ar]||xi<=1&&["m"]||xi<bt.m&&["mm",xi]||fs<=1&&["h"]||fs<bt.h&&["hh",fs]||aa<=1&&["d"]||aa<bt.d&&["dd",aa];return null!=bt.w&&(yc=yc||gc<=1&&["w"]||gc<bt.w&&["ww",gc]),(yc=yc||Wa<=1&&["M"]||Wa<bt.M&&["MM",Wa]||Ql<=1&&["y"]||["yy",Ql])[2]=me,yc[3]=+X>0,yc[4]=qt,Is.apply(null,yc)}(this,!bt,qt,xn=this.localeData()),bt&&(Ar=xn.pastFuture(+this,Ar)),xn.postformat(Ar)},Vs.toISOString=$l,Vs.toString=$l,Vs.toJSON=$l,Vs.locale=ge,Vs.localeData=Be,Vs.toIsoString=ne("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",$l),Vs.lang=Re,St("X",0,0,"unix"),St("x",0,0,"valueOf"),ot("x",Ue),ot("X",/[+-]?\d+(\.\d{1,3})?/),ir("X",function(X,me,bt){bt._d=new Date(1e3*parseFloat(X))}),ir("x",function(X,me,bt){bt._d=new Date($n(X))}),e.version="2.29.1",t=kt,e.fn=$i,e.min=function(){return gn("isBefore",[].slice.call(arguments,0))},e.max=function(){return gn("isAfter",[].slice.call(arguments,0))},e.now=function(){return Date.now?Date.now():+new Date},e.utc=R,e.unix=function(X){return kt(1e3*X)},e.months=function(X,me){return lc(X,me,"months")},e.isDate=b,e.locale=an,e.invalid=M,e.duration=Oo,e.isMoment=oe,e.weekdays=function(X,me,bt){return Sc(X,me,bt,"weekdays")},e.parseZone=function(){return kt.apply(null,arguments).parseZone()},e.localeData=ye,e.isDuration=ro,e.monthsShort=function(X,me){return lc(X,me,"monthsShort")},e.weekdaysMin=function(X,me,bt){return Sc(X,me,bt,"weekdaysMin")},e.defineLocale=Nt,e.updateLocale=function(X,me){if(null!=me){var bt,qt,xn=sa;null!=Fo[X]&&null!=Fo[X].parentLocale?Fo[X].set(Oe(Fo[X]._config,me)):(null!=(qt=pt(X))&&(xn=qt._config),me=Oe(xn,me),null==qt&&(me.abbr=X),(bt=new be(me)).parentLocale=Fo[X],Fo[X]=bt),an(X)}else null!=Fo[X]&&(null!=Fo[X].parentLocale?(Fo[X]=Fo[X].parentLocale,X===an()&&an(X)):null!=Fo[X]&&delete Fo[X]);return Fo[X]},e.locales=function(){return ue(Fo)},e.weekdaysShort=function(X,me,bt){return Sc(X,me,bt,"weekdaysShort")},e.normalizeUnits=Yn,e.relativeTimeRounding=function(X){return void 0===X?Cs:"function"==typeof X&&(Cs=X,!0)},e.relativeTimeThreshold=function(X,me){return void 0!==Ss[X]&&(void 0===me?Ss[X]:(Ss[X]=me,"s"===X&&(Ss.ss=me-1),!0))},e.calendarFormat=function(X,me){var bt=X.diff(me,"days",!0);return bt<-6?"sameElse":bt<-1?"lastWeek":bt<0?"lastDay":bt<1?"sameDay":bt<2?"nextDay":bt<7?"nextWeek":"sameElse"},e.prototype=$i,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},e}()},11971:(Ge,g,o)=>{"use strict";o.d(g,{_:()=>u,w:()=>_});var t=o(74788),e=o(12057),s=function(m,b,T,D){var H,R=arguments.length,j=R<3?b:null===D?D=Object.getOwnPropertyDescriptor(b,T):D;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)j=Reflect.decorate(m,b,T,D);else for(var z=m.length-1;z>=0;z--)(H=m[z])&&(j=(R<3?H(j):R>3?H(b,T,j):H(b,T))||j);return R>3&&j&&Object.defineProperty(b,T,j),j},a=function(m,b){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(m,b)},l=function(m,b){return function(T,D){b(T,D,m)}},u=function(){function m(b,T,D){this._el=b,this._ngZone=T,this.platformId=D,this.clickOutsideEnabled=!0,this.attachOutsideOnClick=!1,this.delayClickOutsideInit=!1,this.emitOnBlur=!1,this.exclude="",this.excludeBeforeClick=!1,this.clickOutsideEvents="",this.clickOutside=new t.vpe,this._nodesExcluded=[],this._events=["click"],this._initOnClickBody=this._initOnClickBody.bind(this),this._onClickBody=this._onClickBody.bind(this),this._onWindowBlur=this._onWindowBlur.bind(this)}return m.prototype.ngOnInit=function(){!(0,e.NF)(this.platformId)||this._init()},m.prototype.ngOnDestroy=function(){!(0,e.NF)(this.platformId)||(this._removeClickOutsideListener(),this._removeAttachOutsideOnClickListener(),this._removeWindowBlurListener())},m.prototype.ngOnChanges=function(b){!(0,e.NF)(this.platformId)||(b.attachOutsideOnClick||b.exclude||b.emitOnBlur)&&this._init()},m.prototype._init=function(){""!==this.clickOutsideEvents&&(this._events=this.clickOutsideEvents.split(",").map(function(b){return b.trim()})),this._excludeCheck(),this.attachOutsideOnClick?this._initAttachOutsideOnClickListener():this._initOnClickBody(),this.emitOnBlur&&this._initWindowBlurListener()},m.prototype._initOnClickBody=function(){this.delayClickOutsideInit?setTimeout(this._initClickOutsideListener.bind(this)):this._initClickOutsideListener()},m.prototype._excludeCheck=function(){if(this.exclude)try{var b=Array.from(document.querySelectorAll(this.exclude));b&&(this._nodesExcluded=b)}catch(T){console.error("[ng-click-outside] Check your exclude selector syntax.",T)}},m.prototype._onClickBody=function(b){!this.clickOutsideEnabled||(this.excludeBeforeClick&&this._excludeCheck(),!this._el.nativeElement.contains(b.target)&&!this._shouldExclude(b.target)&&(this._emit(b),this.attachOutsideOnClick&&this._removeClickOutsideListener()))},m.prototype._onWindowBlur=function(b){var T=this;setTimeout(function(){document.hidden||T._emit(b)})},m.prototype._emit=function(b){var T=this;!this.clickOutsideEnabled||this._ngZone.run(function(){return T.clickOutside.emit(b)})},m.prototype._shouldExclude=function(b){for(var T=0,D=this._nodesExcluded;T<D.length;T++)if(D[T].contains(b))return!0;return!1},m.prototype._initClickOutsideListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){b._events.forEach(function(T){return document.addEventListener(T,b._onClickBody)})})},m.prototype._removeClickOutsideListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){b._events.forEach(function(T){return document.removeEventListener(T,b._onClickBody)})})},m.prototype._initAttachOutsideOnClickListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){b._events.forEach(function(T){return b._el.nativeElement.addEventListener(T,b._initOnClickBody)})})},m.prototype._removeAttachOutsideOnClickListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){b._events.forEach(function(T){return b._el.nativeElement.removeEventListener(T,b._initOnClickBody)})})},m.prototype._initWindowBlurListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){window.addEventListener("blur",b._onWindowBlur)})},m.prototype._removeWindowBlurListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){window.removeEventListener("blur",b._onWindowBlur)})},s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"clickOutsideEnabled",void 0),s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"attachOutsideOnClick",void 0),s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"delayClickOutsideInit",void 0),s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"emitOnBlur",void 0),s([(0,t.IIB)(),a("design:type",String)],m.prototype,"exclude",void 0),s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"excludeBeforeClick",void 0),s([(0,t.IIB)(),a("design:type",String)],m.prototype,"clickOutsideEvents",void 0),s([(0,t.r_U)(),a("design:type",t.vpe)],m.prototype,"clickOutside",void 0),(m=s([l(2,(0,t.tBr)(t.Lbi)),a("design:paramtypes",[t.SBq,t.R0b,Object])],m)).\u0275fac=function(T){return new(T||m)(t.Y36(t.SBq),t.Y36(t.R0b),t.Y36(t.Lbi))},m.\u0275dir=t.lG2({type:m,selectors:[["","clickOutside",""]],inputs:{clickOutsideEnabled:"clickOutsideEnabled",attachOutsideOnClick:"attachOutsideOnClick",delayClickOutsideInit:"delayClickOutsideInit",emitOnBlur:"emitOnBlur",exclude:"exclude",excludeBeforeClick:"excludeBeforeClick",clickOutsideEvents:"clickOutsideEvents"},outputs:{clickOutside:"clickOutside"},features:[t.TTD]}),m.\u0275prov=t.Yz7({token:m,factory:function(b){return m.\u0275fac(b)}}),m}(),_=function(){function m(){}return m.\u0275fac=function(T){return new(T||m)},m.\u0275mod=t.oAB({type:m}),m.\u0275inj=t.cJS({}),m}()},13788:(Ge,g,o)=>{"use strict";o.d(g,{jh:()=>oe,m9:()=>fe});var t=o(74788),e=o(26215),s=o(5867);var _=o(6823);const m=[[255,99,132],[54,162,235],[255,206,86],[231,233,237],[75,192,192],[151,187,205],[220,220,220],[247,70,74],[70,191,189],[253,180,92],[148,159,177],[77,83,96]];function T(Se,Oe){return"rgba("+Se.concat(Oe).join(",")+")"}function D(Se,Oe){return Math.floor(Math.random()*(Oe-Se+1))+Se}function H(Se){return{backgroundColor:Se.map(Oe=>T(Oe,.6)),borderColor:Se.map(()=>"#fff"),pointBackgroundColor:Se.map(Oe=>T(Oe,1)),pointBorderColor:Se.map(()=>"#fff"),pointHoverBackgroundColor:Se.map(Oe=>T(Oe,1)),pointHoverBorderColor:Se.map(Oe=>T(Oe,1))}}function U(){return[D(0,255),D(0,255),D(0,255)]}function M(Se){return m[Se]||U()}function I(Se){const Oe=new Array(Se);for(let be=0;be<Se;be++)Oe[be]=m[be]||U();return Oe}let J=(()=>{class Se{constructor(){this.pColorschemesOptions={},this.colorschemesOptions=new e.X({})}setColorschemesOptions(be){this.pColorschemesOptions=be,this.colorschemesOptions.next(be)}getColorschemesOptions(){return this.pColorschemesOptions}}return Se.\u0275fac=function(be){return new(be||Se)},Se.\u0275prov=(0,t.Yz7)({factory:function(){return new Se},token:Se,providedIn:"root"}),Se})();const ie={Default:0,Update:1,Refresh:2};ie[ie.Default]="Default",ie[ie.Update]="Update",ie[ie.Refresh]="Refresh";let oe=(()=>{class Se{constructor(be,ue){this.element=be,this.themeService=ue,this.options={},this.chartClick=new t.vpe,this.chartHover=new t.vpe,this.old={dataExists:!1,dataLength:0,datasetsExists:!1,datasetsLength:0,datasetsDataObjects:[],datasetsDataLengths:[],colorsExists:!1,colors:[],labelsExist:!1,labels:[],legendExists:!1,legend:{}},this.subs=[]}static registerPlugin(be){_.pluginService.register(be)}static unregisterPlugin(be){_.pluginService.unregister(be)}ngOnInit(){this.ctx=this.element.nativeElement.getContext("2d"),this.refresh(),this.subs.push(this.themeService.colorschemesOptions.subscribe(be=>this.themeChanged(be)))}themeChanged(be){this.refresh()}ngDoCheck(){if(!this.chart)return;let be=ie.Default;const ue=He=>{be=He>be?He:be};switch(!!this.data!==this.old.dataExists&&(this.propagateDataToDatasets(this.data),this.old.dataExists=!!this.data,ue(ie.Update)),this.data&&this.data.length!==this.old.dataLength&&(this.old.dataLength=this.data&&this.data.length||0,ue(ie.Update)),!!this.datasets!==this.old.datasetsExists&&(this.old.datasetsExists=!!this.datasets,ue(ie.Update)),this.datasets&&this.datasets.length!==this.old.datasetsLength&&(this.old.datasetsLength=this.datasets&&this.datasets.length||0,ue(ie.Update)),this.datasets&&this.datasets.filter((He,$e)=>He.data!==this.old.datasetsDataObjects[$e]).length&&(this.old.datasetsDataObjects=this.datasets.map(He=>He.data),ue(ie.Update)),this.datasets&&this.datasets.filter((He,$e)=>He.data.length!==this.old.datasetsDataLengths[$e]).length&&(this.old.datasetsDataLengths=this.datasets.map(He=>He.data.length),ue(ie.Update)),!!this.colors!==this.old.colorsExists&&(this.old.colorsExists=!!this.colors,this.updateColors(),ue(ie.Update)),this.colors&&this.colors.filter((He,$e)=>!this.colorsEqual(He,this.old.colors[$e])).length&&(this.old.colors=this.colors.map(He=>this.copyColor(He)),this.updateColors(),ue(ie.Update)),!!this.labels!==this.old.labelsExist&&(this.old.labelsExist=!!this.labels,ue(ie.Update)),this.labels&&this.labels.filter((He,$e)=>!this.labelsEqual(He,this.old.labels[$e])).length&&(this.old.labels=this.labels.map(He=>this.copyLabel(He)),ue(ie.Update)),!!this.options.legend!==this.old.legendExists&&(this.old.legendExists=!!this.options.legend,ue(ie.Refresh)),this.options.legend&&this.options.legend.position!==this.old.legend.position&&(this.old.legend.position=this.options.legend.position,ue(ie.Refresh)),be){case ie.Default:break;case ie.Update:this.update();break;case ie.Refresh:this.refresh()}}copyLabel(be){return Array.isArray(be)?[...be]:be}labelsEqual(be,ue){return Array.isArray(be)===Array.isArray(ue)&&(Array.isArray(be)||be===ue)&&(!Array.isArray(be)||be.length===ue.length)&&(!Array.isArray(be)||0===be.filter((He,$e)=>He!==ue[$e]).length)}copyColor(be){return{backgroundColor:be.backgroundColor,borderWidth:be.borderWidth,borderColor:be.borderColor,borderCapStyle:be.borderCapStyle,borderDash:be.borderDash,borderDashOffset:be.borderDashOffset,borderJoinStyle:be.borderJoinStyle,pointBorderColor:be.pointBorderColor,pointBackgroundColor:be.pointBackgroundColor,pointBorderWidth:be.pointBorderWidth,pointRadius:be.pointRadius,pointHoverRadius:be.pointHoverRadius,pointHitRadius:be.pointHitRadius,pointHoverBackgroundColor:be.pointHoverBackgroundColor,pointHoverBorderColor:be.pointHoverBorderColor,pointHoverBorderWidth:be.pointHoverBorderWidth,pointStyle:be.pointStyle,hoverBackgroundColor:be.hoverBackgroundColor,hoverBorderColor:be.hoverBorderColor,hoverBorderWidth:be.hoverBorderWidth}}colorsEqual(be,ue){return!be==!ue&&(!be||be.backgroundColor===ue.backgroundColor&&be.borderWidth===ue.borderWidth&&be.borderColor===ue.borderColor&&be.borderCapStyle===ue.borderCapStyle&&be.borderDash===ue.borderDash&&be.borderDashOffset===ue.borderDashOffset&&be.borderJoinStyle===ue.borderJoinStyle&&be.pointBorderColor===ue.pointBorderColor&&be.pointBackgroundColor===ue.pointBackgroundColor&&be.pointBorderWidth===ue.pointBorderWidth&&be.pointRadius===ue.pointRadius&&be.pointHoverRadius===ue.pointHoverRadius&&be.pointHitRadius===ue.pointHitRadius&&be.pointHoverBackgroundColor===ue.pointHoverBackgroundColor&&be.pointHoverBorderColor===ue.pointHoverBorderColor&&be.pointHoverBorderWidth===ue.pointHoverBorderWidth&&be.pointStyle===ue.pointStyle&&be.hoverBackgroundColor===ue.hoverBackgroundColor&&be.hoverBorderColor===ue.hoverBorderColor&&be.hoverBorderWidth===ue.hoverBorderWidth)}updateColors(){this.datasets.forEach((be,ue)=>{this.colors&&this.colors[ue]?Object.assign(be,this.colors[ue]):Object.assign(be,function(Se,Oe,be){if("pie"===Se||"doughnut"===Se)return H(I(be));if("polarArea"===Se)return function(Se){return{backgroundColor:Se.map(Oe=>T(Oe,.6)),borderColor:Se.map(Oe=>T(Oe,1)),hoverBackgroundColor:Se.map(Oe=>T(Oe,.8)),hoverBorderColor:Se.map(Oe=>T(Oe,1))}}(I(be));if("line"===Se||"radar"===Se)return function(Se){return{backgroundColor:T(Se,.4),borderColor:T(Se,1),pointBackgroundColor:T(Se,1),pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:T(Se,.8)}}(M(Oe));if("bar"===Se||"horizontalBar"===Se)return function(Se){return{backgroundColor:T(Se,.6),borderColor:T(Se,1),hoverBackgroundColor:T(Se,.8),hoverBorderColor:T(Se,1)}}(M(Oe));if("bubble"===Se||"scatter"===Se)return H(I(be));throw new Error(`getColors - Unsupported chart type ${Se}`)}(this.chartType,ue,be.data.length),Object.assign({},be))})}ngOnChanges(be){let ue=ie.Default;const He=$e=>{ue=$e>ue?$e:ue};switch(be.hasOwnProperty("data")&&be.data.currentValue&&(this.propagateDataToDatasets(be.data.currentValue),He(ie.Update)),be.hasOwnProperty("datasets")&&be.datasets.currentValue&&(this.propagateDatasetsToData(be.datasets.currentValue),He(ie.Update)),be.hasOwnProperty("labels")&&(this.chart&&(this.chart.data.labels=be.labels.currentValue),He(ie.Update)),be.hasOwnProperty("legend")&&(this.chart&&(this.chart.config.options.legend.display=be.legend.currentValue,this.chart.generateLegend()),He(ie.Update)),be.hasOwnProperty("options")&&He(ie.Refresh),ue){case ie.Update:this.update();break;case ie.Refresh:case ie.Default:this.refresh()}}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.subs.forEach(be=>be.unsubscribe())}update(be){if(this.chart)return this.chart.update(be)}hideDataset(be,ue){this.chart.getDatasetMeta(be).hidden=ue,this.chart.update()}isDatasetHidden(be){return this.chart.getDatasetMeta(be).hidden}toBase64Image(){return this.chart.toBase64Image()}getChartConfiguration(){const be=this.getDatasets(),ue=Object.assign({},this.options);!1===this.legend&&(ue.legend={display:!1}),ue.hover=ue.hover||{},ue.hover.onHover||(ue.hover.onHover=($e,F)=>{F&&!F.length||this.chartHover.emit({event:$e,active:F})}),ue.onClick||(ue.onClick=($e,F)=>{this.chartClick.emit({event:$e,active:F})});const He=this.smartMerge(ue,this.themeService.getColorschemesOptions());return{type:this.chartType,data:{labels:this.labels||[],datasets:be},plugins:this.plugins,options:He}}getChartBuilder(be){const ue=this.getChartConfiguration();return new _.Chart(be,ue)}smartMerge(be,ue,He=0){if(0===He&&(be=function(Se){return(0,s.Z)(Se,5)}(be)),Object.keys(ue).forEach(F=>{if(Array.isArray(ue[F])){const je=be[F];je&&je.forEach(Et=>{this.smartMerge(Et,ue[F][0],He+1)})}else"object"==typeof ue[F]?(F in be||(be[F]={}),this.smartMerge(be[F],ue[F],He+1)):be[F]=ue[F]}),0===He)return be}isMultiLineLabel(be){return Array.isArray(be)}joinLabel(be){return be?this.isMultiLineLabel(be)?be.join(" "):be:null}propagateDatasetsToData(be){this.data=this.datasets.map(ue=>ue.data),this.chart&&(this.chart.data.datasets=be),this.updateColors()}propagateDataToDatasets(be){this.isMultiDataSet(be)?this.datasets&&be.length===this.datasets.length?this.datasets.forEach((ue,He)=>{ue.data=be[He]}):(this.datasets=be.map((ue,He)=>({data:ue,label:this.joinLabel(this.labels[He])||`Label ${He}`})),this.chart&&(this.chart.data.datasets=this.datasets)):this.datasets?(this.datasets[0]||(this.datasets[0]={}),this.datasets[0].data=be,this.datasets.splice(1)):(this.datasets=[{data:be}],this.chart&&(this.chart.data.datasets=this.datasets)),this.updateColors()}isMultiDataSet(be){return Array.isArray(be[0])}getDatasets(){if(!this.datasets&&!this.data)throw new Error(`ng-charts configuration error, data or datasets field are required to render chart ${this.chartType}`);return this.datasets?(this.propagateDatasetsToData(this.datasets),this.datasets):this.data?(this.propagateDataToDatasets(this.data),this.datasets):void 0}refresh(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.ctx&&(this.chart=this.getChartBuilder(this.ctx))}}return Se.\u0275fac=function(be){return new(be||Se)(t.Y36(t.SBq),t.Y36(J))},Se.\u0275dir=t.lG2({type:Se,selectors:[["canvas","baseChart",""]],inputs:{options:"options",data:"data",datasets:"datasets",labels:"labels",chartType:"chartType",colors:"colors",legend:"legend",plugins:"plugins"},outputs:{chartClick:"chartClick",chartHover:"chartHover"},exportAs:["base-chart"],features:[t.TTD]}),Se})(),fe=(()=>{class Se{}return Se.\u0275fac=function(be){return new(be||Se)},Se.\u0275mod=t.oAB({type:Se}),Se.\u0275inj=t.cJS({imports:[[]]}),Se})()},37496:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>s,i:()=>e});var t=o(74788);let e=(()=>{class a{transform(u,h,_){return _?h.call(_,u):h(u)}}return a.\u0275fac=function(u){return new(u||a)},a.\u0275pipe=t.Yjl({name:"pipeFunction",type:a,pure:!0}),a})(),s=(()=>{class a{}return a.\u0275fac=function(u){return new(u||a)},a.\u0275mod=t.oAB({type:a}),a.\u0275inj=t.cJS({}),a})()},91376:(Ge,g,o)=>{"use strict";o.d(g,{Rh:()=>F,_W:()=>ue});var t=o(74788),e=o(56083),s=o(79765),a=o(91211),l=o(12057);const u=["toast-component",""];function h(St,Ot){if(1&St){const Qe=t.EpF();t.TgZ(0,"button",5),t.NdJ("click",function(){return t.CHM(Qe),t.oxw().remove()}),t.TgZ(1,"span",6),t._uU(2,"\xd7"),t.qZA(),t.qZA()}}function _(St,Ot){if(1&St&&(t.ynx(0),t._uU(1),t.BQk()),2&St){const Qe=t.oxw(2);t.xp6(1),t.hij("[",Qe.duplicatesCount+1,"]")}}function m(St,Ot){if(1&St&&(t.TgZ(0,"div"),t._uU(1),t.YNc(2,_,2,1,"ng-container",4),t.qZA()),2&St){const Qe=t.oxw();t.Tol(Qe.options.titleClass),t.uIk("aria-label",Qe.title),t.xp6(1),t.hij(" ",Qe.title," "),t.xp6(1),t.Q6J("ngIf",Qe.duplicatesCount)}}function b(St,Ot){if(1&St&&t._UZ(0,"div",7),2&St){const Qe=t.oxw();t.Tol(Qe.options.messageClass),t.Q6J("innerHTML",Qe.message,t.oJD)}}function T(St,Ot){if(1&St&&(t.TgZ(0,"div",8),t._uU(1),t.qZA()),2&St){const Qe=t.oxw();t.Tol(Qe.options.messageClass),t.uIk("aria-label",Qe.message),t.xp6(1),t.hij(" ",Qe.message," ")}}function D(St,Ot){if(1&St&&(t.TgZ(0,"div"),t._UZ(1,"div",9),t.qZA()),2&St){const Qe=t.oxw();t.xp6(1),t.Udp("width",Qe.width+"%")}}function R(St,Ot){if(1&St){const Qe=t.EpF();t.TgZ(0,"button",5),t.NdJ("click",function(){return t.CHM(Qe),t.oxw().remove()}),t.TgZ(1,"span",6),t._uU(2,"\xd7"),t.qZA(),t.qZA()}}function j(St,Ot){if(1&St&&(t.ynx(0),t._uU(1),t.BQk()),2&St){const Qe=t.oxw(2);t.xp6(1),t.hij("[",Qe.duplicatesCount+1,"]")}}function H(St,Ot){if(1&St&&(t.TgZ(0,"div"),t._uU(1),t.YNc(2,j,2,1,"ng-container",4),t.qZA()),2&St){const Qe=t.oxw();t.Tol(Qe.options.titleClass),t.uIk("aria-label",Qe.title),t.xp6(1),t.hij(" ",Qe.title," "),t.xp6(1),t.Q6J("ngIf",Qe.duplicatesCount)}}function z(St,Ot){if(1&St&&t._UZ(0,"div",7),2&St){const Qe=t.oxw();t.Tol(Qe.options.messageClass),t.Q6J("innerHTML",Qe.message,t.oJD)}}function U(St,Ot){if(1&St&&(t.TgZ(0,"div",8),t._uU(1),t.qZA()),2&St){const Qe=t.oxw();t.Tol(Qe.options.messageClass),t.uIk("aria-label",Qe.message),t.xp6(1),t.hij(" ",Qe.message," ")}}function M(St,Ot){if(1&St&&(t.TgZ(0,"div"),t._UZ(1,"div",9),t.qZA()),2&St){const Qe=t.oxw();t.xp6(1),t.Udp("width",Qe.width+"%")}}class B{constructor(Ot,Qe,It,ae,Ie,dt){this.toastId=Ot,this.config=Qe,this.message=It,this.title=ae,this.toastType=Ie,this.toastRef=dt,this._onTap=new s.xQ,this._onAction=new s.xQ,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(Ot){this._onAction.next(Ot)}onAction(){return this._onAction.asObservable()}}const ie={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing",payload:null},oe=new t.OlP("ToastConfig");class fe{constructor(Ot,Qe){this.component=Ot,this.injector=Qe}attach(Ot,Qe){return this._attachedHost=Ot,Ot.attach(this,Qe)}detach(){const Ot=this._attachedHost;if(Ot)return this._attachedHost=void 0,Ot.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(Ot){this._attachedHost=Ot}}class he extends class{attach(Ot,Qe){return this._attachedPortal=Ot,this.attachComponentPortal(Ot,Qe)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(Ot){this._disposeFn=Ot}}{constructor(Ot,Qe,It){super(),this._hostDomElement=Ot,this._componentFactoryResolver=Qe,this._appRef=It}attachComponentPortal(Ot,Qe){const It=this._componentFactoryResolver.resolveComponentFactory(Ot.component);let ae;return ae=It.create(Ot.injector),this._appRef.attachView(ae.hostView),this.setDisposeFn(()=>{this._appRef.detachView(ae.hostView),ae.destroy()}),Qe?this._hostDomElement.insertBefore(this._getComponentRootNode(ae),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(ae)),ae}_getComponentRootNode(Ot){return Ot.hostView.rootNodes[0]}}let ce=(()=>{class St{constructor(Qe){this._document=Qe}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const Qe=this._document.createElement("div");Qe.classList.add("overlay-container"),this._document.body.appendChild(Qe),this._containerElement=Qe}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.LFG(l.K0))},St.\u0275prov=t.Yz7({factory:function(){return new St(t.LFG(l.K0))},token:St,providedIn:"root"}),St})();class Ae{constructor(Ot){this._portalHost=Ot}attach(Ot,Qe=!0){return this._portalHost.attach(Ot,Qe)}detach(){return this._portalHost.detach()}}let Se=(()=>{class St{constructor(Qe,It,ae,Ie){this._overlayContainer=Qe,this._componentFactoryResolver=It,this._appRef=ae,this._document=Ie,this._paneElements=new Map}create(Qe,It){return this._createOverlayRef(this.getPaneElement(Qe,It))}getPaneElement(Qe="",It){return this._paneElements.get(It)||this._paneElements.set(It,{}),this._paneElements.get(It)[Qe]||(this._paneElements.get(It)[Qe]=this._createPaneElement(Qe,It)),this._paneElements.get(It)[Qe]}_createPaneElement(Qe,It){const ae=this._document.createElement("div");return ae.id="toast-container",ae.classList.add(Qe),ae.classList.add("toast-container"),It?It.getContainerElement().appendChild(ae):this._overlayContainer.getContainerElement().appendChild(ae),ae}_createPortalHost(Qe){return new he(Qe,this._componentFactoryResolver,this._appRef)}_createOverlayRef(Qe){return new Ae(this._createPortalHost(Qe))}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.LFG(ce),t.LFG(t._Vd),t.LFG(t.z2F),t.LFG(l.K0))},St.\u0275prov=t.Yz7({factory:function(){return new St(t.LFG(ce),t.LFG(t._Vd),t.LFG(t.z2F),t.LFG(l.K0))},token:St,providedIn:"root"}),St})();class Oe{constructor(Ot){this._overlayRef=Ot,this.duplicatesCount=0,this._afterClosed=new s.xQ,this._activate=new s.xQ,this._manualClose=new s.xQ,this._resetTimeout=new s.xQ,this._countDuplicate=new s.xQ}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(Ot,Qe){Ot&&this._resetTimeout.next(),Qe&&this._countDuplicate.next(++this.duplicatesCount)}}class be{constructor(Ot,Qe){this._toastPackage=Ot,this._parentInjector=Qe}get(Ot,Qe,It){return Ot===B?this._toastPackage:this._parentInjector.get(Ot,Qe,It)}}let ue=(()=>{class St{constructor(Qe,It,ae,Ie,dt){this.overlay=It,this._injector=ae,this.sanitizer=Ie,this.ngZone=dt,this.currentlyActive=0,this.toasts=[],this.index=0,this.toastrConfig=Object.assign(Object.assign({},Qe.default),Qe.config),Qe.config.iconClasses&&(this.toastrConfig.iconClasses=Object.assign(Object.assign({},Qe.default.iconClasses),Qe.config.iconClasses))}show(Qe,It,ae={},Ie=""){return this._preBuildNotification(Ie,Qe,It,this.applyConfig(ae))}success(Qe,It,ae={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",Qe,It,this.applyConfig(ae))}error(Qe,It,ae={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",Qe,It,this.applyConfig(ae))}info(Qe,It,ae={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",Qe,It,this.applyConfig(ae))}warning(Qe,It,ae={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",Qe,It,this.applyConfig(ae))}clear(Qe){for(const It of this.toasts)if(void 0!==Qe){if(It.toastId===Qe)return void It.toastRef.manualClose()}else It.toastRef.manualClose()}remove(Qe){const It=this._findToast(Qe);if(!It||(It.activeToast.toastRef.close(),this.toasts.splice(It.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){const ae=this.toasts[this.currentlyActive].toastRef;ae.isInactive()||(this.currentlyActive=this.currentlyActive+1,ae.activate())}return!0}findDuplicate(Qe="",It="",ae,Ie){const{includeTitleDuplicates:dt}=this.toastrConfig;for(const Jt of this.toasts){const zt=dt&&Jt.title===Qe;if((!dt||zt)&&Jt.message===It)return Jt.toastRef.onDuplicate(ae,Ie),Jt}return null}applyConfig(Qe={}){return Object.assign(Object.assign({},this.toastrConfig),Qe)}_findToast(Qe){for(let It=0;It<this.toasts.length;It++)if(this.toasts[It].toastId===Qe)return{index:It,activeToast:this.toasts[It]};return null}_preBuildNotification(Qe,It,ae,Ie){return Ie.onActivateTick?this.ngZone.run(()=>this._buildNotification(Qe,It,ae,Ie)):this._buildNotification(Qe,It,ae,Ie)}_buildNotification(Qe,It,ae,Ie){if(!Ie.toastComponent)throw new Error("toastComponent required");const dt=this.findDuplicate(ae,It,this.toastrConfig.resetTimeoutOnDuplicate&&Ie.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&ae||It)&&this.toastrConfig.preventDuplicates&&null!==dt)return dt;this.previousToastMessage=It;let Jt=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(Jt=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const zt=this.overlay.create(Ie.positionClass,this.overlayContainer);this.index=this.index+1;let ln=It;It&&Ie.enableHtml&&(ln=this.sanitizer.sanitize(t.q3G.HTML,It));const ar=new Oe(zt),Ln=new B(this.index,Ie,ln,ae,Qe,ar),Rn=new be(Ln,this._injector),er=new fe(Ie.toastComponent,Rn),Mn=zt.attach(er,this.toastrConfig.newestOnTop);ar.componentInstance=Mn.instance;const Ht={toastId:this.index,title:ae||"",message:It||"",toastRef:ar,onShown:ar.afterActivate(),onHidden:ar.afterClosed(),onTap:Ln.onTap(),onAction:Ln.onAction(),portal:Mn};return Jt||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{Ht.toastRef.activate()})),this.toasts.push(Ht),Ht}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.LFG(oe),t.LFG(Se),t.LFG(t.zs3),t.LFG(a.H7),t.LFG(t.R0b))},St.\u0275prov=t.Yz7({factory:function(){return new St(t.LFG(oe),t.LFG(Se),t.LFG(t.gxx),t.LFG(a.H7),t.LFG(t.R0b))},token:St,providedIn:"root"}),St})(),He=(()=>{class St{constructor(Qe,It,ae){this.toastrService=Qe,this.toastPackage=It,this.ngZone=ae,this.width=-1,this.toastClasses="",this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}},this.message=It.message,this.title=It.title,this.options=It.config,this.originalTimeout=It.config.timeOut,this.toastClasses=`${It.toastType} ${It.config.toastClass}`,this.sub=It.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=It.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=It.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=It.toastRef.countDuplicate().subscribe(Ie=>{this.duplicatesCount=Ie})}get displayStyle(){if("inactive"===this.state.value)return"none"}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state=Object.assign(Object.assign({},this.state),{value:"active"}),!0!==this.options.disableTimeOut&&"timeOut"!==this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const Qe=(new Date).getTime();this.width=(this.hideTime-Qe)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state=Object.assign(Object.assign({},this.state),{value:"active"}),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state=Object.assign(Object.assign({},this.state),{value:"removed"}),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(Qe,It){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(Qe),It)):this.timeout=setTimeout(()=>Qe(),It)}outsideInterval(Qe,It){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(Qe),It)):this.intervalId=setInterval(()=>Qe(),It)}runInsideAngular(Qe){this.ngZone?this.ngZone.run(()=>Qe()):Qe()}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.Y36(ue),t.Y36(B),t.Y36(t.R0b))},St.\u0275cmp=t.Xpm({type:St,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(Qe,It){1&Qe&&t.NdJ("click",function(){return It.tapToast()})("mouseenter",function(){return It.stickAround()})("mouseleave",function(){return It.delayedHideToast()}),2&Qe&&(t.d8E("@flyInOut",It.state),t.Tol(It.toastClasses),t.Udp("display",It.displayStyle))},attrs:u,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alertdialog","aria-live","polite",3,"class","innerHTML",4,"ngIf"],["role","alertdialog","aria-live","polite",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alertdialog","aria-live","polite",3,"innerHTML"],["role","alertdialog","aria-live","polite"],[1,"toast-progress"]],template:function(Qe,It){1&Qe&&(t.YNc(0,h,3,0,"button",0),t.YNc(1,m,3,5,"div",1),t.YNc(2,b,1,3,"div",2),t.YNc(3,T,2,4,"div",3),t.YNc(4,D,2,2,"div",4)),2&Qe&&(t.Q6J("ngIf",It.options.closeButton),t.xp6(1),t.Q6J("ngIf",It.title),t.xp6(1),t.Q6J("ngIf",It.message&&It.options.enableHtml),t.xp6(1),t.Q6J("ngIf",It.message&&!It.options.enableHtml),t.xp6(1),t.Q6J("ngIf",It.options.progressBar))},directives:[l.O5],encapsulation:2,data:{animation:[(0,e.X$)("flyInOut",[(0,e.SB)("inactive",(0,e.oB)({opacity:0})),(0,e.SB)("active",(0,e.oB)({opacity:1})),(0,e.SB)("removed",(0,e.oB)({opacity:0})),(0,e.eR)("inactive => active",(0,e.jt)("{{ easeTime }}ms {{ easing }}")),(0,e.eR)("active => removed",(0,e.jt)("{{ easeTime }}ms {{ easing }}"))])]}}),St})();const $e=Object.assign(Object.assign({},ie),{toastComponent:He});let F=(()=>{class St{static forRoot(Qe={}){return{ngModule:St,providers:[{provide:oe,useValue:{default:$e,config:Qe}}]}}}return St.\u0275fac=function(Qe){return new(Qe||St)},St.\u0275mod=t.oAB({type:St}),St.\u0275inj=t.cJS({imports:[[l.ez]]}),St})(),Et=(()=>{class St{constructor(Qe,It,ae){this.toastrService=Qe,this.toastPackage=It,this.appRef=ae,this.width=-1,this.toastClasses="",this.state="inactive",this.message=It.message,this.title=It.title,this.options=It.config,this.originalTimeout=It.config.timeOut,this.toastClasses=`${It.toastType} ${It.config.toastClass}`,this.sub=It.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=It.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=It.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=It.toastRef.countDuplicate().subscribe(Ie=>{this.duplicatesCount=Ie})}get displayStyle(){if("inactive"===this.state)return"none"}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state="active",!(!0===this.options.disableTimeOut||"timeOut"===this.options.disableTimeOut)&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const Qe=(new Date).getTime();this.width=(this.hideTime-Qe)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state="active",this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=(new Date).getTime()+(this.originalTimeout||0),this.width=-1,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){"removed"!==this.state&&(clearTimeout(this.timeout),this.state="removed",this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){"removed"!==this.state&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.Y36(ue),t.Y36(B),t.Y36(t.z2F))},St.\u0275cmp=t.Xpm({type:St,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(Qe,It){1&Qe&&t.NdJ("click",function(){return It.tapToast()})("mouseenter",function(){return It.stickAround()})("mouseleave",function(){return It.delayedHideToast()}),2&Qe&&(t.Tol(It.toastClasses),t.Udp("display",It.displayStyle))},attrs:u,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert","aria-live","polite",3,"class","innerHTML",4,"ngIf"],["role","alert","aria-live","polite",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert","aria-live","polite",3,"innerHTML"],["role","alert","aria-live","polite"],[1,"toast-progress"]],template:function(Qe,It){1&Qe&&(t.YNc(0,R,3,0,"button",0),t.YNc(1,H,3,5,"div",1),t.YNc(2,z,1,3,"div",2),t.YNc(3,U,2,4,"div",3),t.YNc(4,M,2,2,"div",4)),2&Qe&&(t.Q6J("ngIf",It.options.closeButton),t.xp6(1),t.Q6J("ngIf",It.title),t.xp6(1),t.Q6J("ngIf",It.message&&It.options.enableHtml),t.xp6(1),t.Q6J("ngIf",It.message&&!It.options.enableHtml),t.xp6(1),t.Q6J("ngIf",It.options.progressBar))},directives:[l.O5],encapsulation:2}),St})();Object.assign(Object.assign({},ie),{toastComponent:Et})},26215:(Ge,g,o)=>{"use strict";o.d(g,{X:()=>s});var t=o(79765),e=o(77971);class s extends t.xQ{constructor(l){super(),this._value=l}get value(){return this.getValue()}_subscribe(l){const u=super._subscribe(l);return u&&!u.closed&&l.next(this._value),u}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new e.N;return this._value}next(l){super.next(this._value=l)}}},23098:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>l});var t=o(59193),e=o(25917),s=o(40205);class l{constructor(h,_,m){this.kind=h,this.value=_,this.error=m,this.hasValue="N"===h}observe(h){switch(this.kind){case"N":return h.next&&h.next(this.value);case"E":return h.error&&h.error(this.error);case"C":return h.complete&&h.complete()}}do(h,_,m){switch(this.kind){case"N":return h&&h(this.value);case"E":return _&&_(this.error);case"C":return m&&m()}}accept(h,_,m){return h&&"function"==typeof h.next?this.observe(h):this.do(h,_,m)}toObservable(){switch(this.kind){case"N":return(0,e.of)(this.value);case"E":return(0,s._)(this.error);case"C":return(0,t.c)()}throw new Error("unexpected notification kind value")}static createNext(h){return void 0!==h?new l("N",h):l.undefinedValueNotification}static createError(h){return new l("E",void 0,h)}static createComplete(){return l.completeNotification}}l.completeNotification=new l("C"),l.undefinedValueNotification=new l("N",void 0)},18891:(Ge,g,o)=>{"use strict";o.d(g,{y:()=>m});var t=o(77393),s=o(29181),a=o(46490),u=o(16554),h=o(34022),_=o(82494);let m=(()=>{class T{constructor(R){this._isScalar=!1,R&&(this._subscribe=R)}lift(R){const j=new T;return j.source=this,j.operator=R,j}subscribe(R,j,H){const{operator:z}=this,U=function(T,D,R){if(T){if(T instanceof t.L)return T;if(T[s.b])return T[s.b]()}return T||D||R?new t.L(T,D,R):new t.L(a.c)}(R,j,H);if(U.add(z?z.call(U,this.source):this.source||_.v.useDeprecatedSynchronousErrorHandling&&!U.syncErrorThrowable?this._subscribe(U):this._trySubscribe(U)),_.v.useDeprecatedSynchronousErrorHandling&&U.syncErrorThrowable&&(U.syncErrorThrowable=!1,U.syncErrorThrown))throw U.syncErrorValue;return U}_trySubscribe(R){try{return this._subscribe(R)}catch(j){_.v.useDeprecatedSynchronousErrorHandling&&(R.syncErrorThrown=!0,R.syncErrorValue=j),function(T){for(;T;){const{closed:D,destination:R,isStopped:j}=T;if(D||j)return!1;T=R&&R instanceof t.L?R:null}return!0}(R)?R.error(j):console.warn(j)}}forEach(R,j){return new(j=b(j))((H,z)=>{let U;U=this.subscribe(M=>{try{R(M)}catch(I){z(I),U&&U.unsubscribe()}},z,H)})}_subscribe(R){const{source:j}=this;return j&&j.subscribe(R)}[u.L](){return this}pipe(...R){return 0===R.length?this:(0,h.U)(R)(this)}toPromise(R){return new(R=b(R))((j,H)=>{let z;this.subscribe(U=>z=U,U=>H(U),()=>j(z))})}}return T.create=D=>new T(D),T})();function b(T){if(T||(T=_.v.Promise||Promise),!T)throw new Error("no Promise impl found");return T}},46490:(Ge,g,o)=>{"use strict";o.d(g,{c:()=>s});var t=o(82494),e=o(54449);const s={closed:!0,next(a){},error(a){if(t.v.useDeprecatedSynchronousErrorHandling)throw a;(0,e.z)(a)},complete(){}}},55197:(Ge,g,o)=>{"use strict";o.d(g,{L:()=>e});var t=o(77393);class e extends t.L{notifyNext(a,l,u,h,_){this.destination.next(l)}notifyError(a,l){this.destination.error(a)}notifyComplete(a){this.destination.complete()}}},80226:(Ge,g,o)=>{"use strict";o.d(g,{t:()=>D});var t=o(79765),e=o(36465),a=o(16102);const h=new class extends a.v{}(class extends e.o{constructor(H,z){super(H,z),this.scheduler=H,this.work=z}schedule(H,z=0){return z>0?super.schedule(H,z):(this.delay=z,this.state=H,this.scheduler.flush(this),this)}execute(H,z){return z>0||this.closed?super.execute(H,z):this._execute(H,z)}requestAsyncId(H,z,U=0){return null!==U&&U>0||null===U&&this.delay>0?super.requestAsyncId(H,z,U):H.flush(this)}});var _=o(75319),m=o(59746),b=o(77971),T=o(78858);class D extends t.xQ{constructor(H=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,U){super(),this.scheduler=U,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=H<1?1:H,this._windowTime=z<1?1:z,z===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(H){if(!this.isStopped){const z=this._events;z.push(H),z.length>this._bufferSize&&z.shift()}super.next(H)}nextTimeWindow(H){this.isStopped||(this._events.push(new R(this._getNow(),H)),this._trimBufferThenGetEvents()),super.next(H)}_subscribe(H){const z=this._infiniteTimeWindow,U=z?this._events:this._trimBufferThenGetEvents(),M=this.scheduler,I=U.length;let J;if(this.closed)throw new b.N;if(this.isStopped||this.hasError?J=_.w.EMPTY:(this.observers.push(H),J=new T.W(this,H)),M&&H.add(H=new m.ht(H,M)),z)for(let B=0;B<I&&!H.closed;B++)H.next(U[B]);else for(let B=0;B<I&&!H.closed;B++)H.next(U[B].value);return this.hasError?H.error(this.thrownError):this.isStopped&&H.complete(),J}_getNow(){return(this.scheduler||h).now()}_trimBufferThenGetEvents(){const H=this._getNow(),z=this._bufferSize,U=this._windowTime,M=this._events,I=M.length;let J=0;for(;J<I&&!(H-M[J].time<U);)J++;return I>z&&(J=Math.max(J,I-z)),J>0&&M.splice(0,J),M}}class R{constructor(H,z){this.time=H,this.value=z}}},79765:(Ge,g,o)=>{"use strict";o.d(g,{Yc:()=>h,xQ:()=>_});var t=o(18891),e=o(77393),s=o(75319),a=o(77971),l=o(78858),u=o(29181);class h extends e.L{constructor(T){super(T),this.destination=T}}let _=(()=>{class b extends t.y{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[u.b](){return new h(this)}lift(D){const R=new m(this,this);return R.operator=D,R}next(D){if(this.closed)throw new a.N;if(!this.isStopped){const{observers:R}=this,j=R.length,H=R.slice();for(let z=0;z<j;z++)H[z].next(D)}}error(D){if(this.closed)throw new a.N;this.hasError=!0,this.thrownError=D,this.isStopped=!0;const{observers:R}=this,j=R.length,H=R.slice();for(let z=0;z<j;z++)H[z].error(D);this.observers.length=0}complete(){if(this.closed)throw new a.N;this.isStopped=!0;const{observers:D}=this,R=D.length,j=D.slice();for(let H=0;H<R;H++)j[H].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(D){if(this.closed)throw new a.N;return super._trySubscribe(D)}_subscribe(D){if(this.closed)throw new a.N;return this.hasError?(D.error(this.thrownError),s.w.EMPTY):this.isStopped?(D.complete(),s.w.EMPTY):(this.observers.push(D),new l.W(this,D))}asObservable(){const D=new t.y;return D.source=this,D}}return b.create=(T,D)=>new m(T,D),b})();class m extends _{constructor(T,D){super(),this.destination=T,this.source=D}next(T){const{destination:D}=this;D&&D.next&&D.next(T)}error(T){const{destination:D}=this;D&&D.error&&this.destination.error(T)}complete(){const{destination:T}=this;T&&T.complete&&this.destination.complete()}_subscribe(T){const{source:D}=this;return D?this.source.subscribe(T):s.w.EMPTY}}},78858:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>e});var t=o(75319);class e extends t.w{constructor(a,l){super(),this.subject=a,this.subscriber=l,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const a=this.subject,l=a.observers;if(this.subject=null,!l||0===l.length||a.isStopped||a.closed)return;const u=l.indexOf(this.subscriber);-1!==u&&l.splice(u,1)}}},77393:(Ge,g,o)=>{"use strict";o.d(g,{L:()=>h});var t=o(69105),e=o(46490),s=o(75319),a=o(29181),l=o(82494),u=o(54449);class h extends s.w{constructor(b,T,D){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=e.c;break;case 1:if(!b){this.destination=e.c;break}if("object"==typeof b){b instanceof h?(this.syncErrorThrowable=b.syncErrorThrowable,this.destination=b,b.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,b));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,b,T,D)}}[a.b](){return this}static create(b,T,D){const R=new h(b,T,D);return R.syncErrorThrowable=!1,R}next(b){this.isStopped||this._next(b)}error(b){this.isStopped||(this.isStopped=!0,this._error(b))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(b){this.destination.next(b)}_error(b){this.destination.error(b),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:b}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=b,this}}class _ extends h{constructor(b,T,D,R){super(),this._parentSubscriber=b;let j,H=this;(0,t.m)(T)?j=T:T&&(j=T.next,D=T.error,R=T.complete,T!==e.c&&(H=Object.create(T),(0,t.m)(H.unsubscribe)&&this.add(H.unsubscribe.bind(H)),H.unsubscribe=this.unsubscribe.bind(this))),this._context=H,this._next=j,this._error=D,this._complete=R}next(b){if(!this.isStopped&&this._next){const{_parentSubscriber:T}=this;l.v.useDeprecatedSynchronousErrorHandling&&T.syncErrorThrowable?this.__tryOrSetError(T,this._next,b)&&this.unsubscribe():this.__tryOrUnsub(this._next,b)}}error(b){if(!this.isStopped){const{_parentSubscriber:T}=this,{useDeprecatedSynchronousErrorHandling:D}=l.v;if(this._error)D&&T.syncErrorThrowable?(this.__tryOrSetError(T,this._error,b),this.unsubscribe()):(this.__tryOrUnsub(this._error,b),this.unsubscribe());else if(T.syncErrorThrowable)D?(T.syncErrorValue=b,T.syncErrorThrown=!0):(0,u.z)(b),this.unsubscribe();else{if(this.unsubscribe(),D)throw b;(0,u.z)(b)}}}complete(){if(!this.isStopped){const{_parentSubscriber:b}=this;if(this._complete){const T=()=>this._complete.call(this._context);l.v.useDeprecatedSynchronousErrorHandling&&b.syncErrorThrowable?(this.__tryOrSetError(b,T),this.unsubscribe()):(this.__tryOrUnsub(T),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(b,T){try{b.call(this._context,T)}catch(D){if(this.unsubscribe(),l.v.useDeprecatedSynchronousErrorHandling)throw D;(0,u.z)(D)}}__tryOrSetError(b,T,D){if(!l.v.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{T.call(this._context,D)}catch(R){return l.v.useDeprecatedSynchronousErrorHandling?(b.syncErrorValue=R,b.syncErrorThrown=!0,!0):((0,u.z)(R),!0)}return!1}_unsubscribe(){const{_parentSubscriber:b}=this;this._context=null,this._parentSubscriber=null,b.unsubscribe()}}},75319:(Ge,g,o)=>{"use strict";o.d(g,{w:()=>u});var t=o(59796),e=o(81555),s=o(69105);const l=(()=>{function _(m){return Error.call(this),this.message=m?`${m.length} errors occurred during unsubscription:\n${m.map((b,T)=>`${T+1}) ${b.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=m,this}return _.prototype=Object.create(Error.prototype),_})();class u{constructor(m){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,m&&(this._ctorUnsubscribe=!0,this._unsubscribe=m)}unsubscribe(){let m;if(this.closed)return;let{_parentOrParents:b,_ctorUnsubscribe:T,_unsubscribe:D,_subscriptions:R}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,b instanceof u)b.remove(this);else if(null!==b)for(let j=0;j<b.length;++j)b[j].remove(this);if((0,s.m)(D)){T&&(this._unsubscribe=void 0);try{D.call(this)}catch(j){m=j instanceof l?h(j.errors):[j]}}if((0,t.k)(R)){let j=-1,H=R.length;for(;++j<H;){const z=R[j];if((0,e.K)(z))try{z.unsubscribe()}catch(U){m=m||[],U instanceof l?m=m.concat(h(U.errors)):m.push(U)}}}if(m)throw new l(m)}add(m){let b=m;if(!m)return u.EMPTY;switch(typeof m){case"function":b=new u(m);case"object":if(b===this||b.closed||"function"!=typeof b.unsubscribe)return b;if(this.closed)return b.unsubscribe(),b;if(!(b instanceof u)){const R=b;b=new u,b._subscriptions=[R]}break;default:throw new Error("unrecognized teardown "+m+" added to Subscription.")}let{_parentOrParents:T}=b;if(null===T)b._parentOrParents=this;else if(T instanceof u){if(T===this)return b;b._parentOrParents=[T,this]}else{if(-1!==T.indexOf(this))return b;T.push(this)}const D=this._subscriptions;return null===D?this._subscriptions=[b]:D.push(b),b}remove(m){const b=this._subscriptions;if(b){const T=b.indexOf(m);-1!==T&&b.splice(T,1)}}}var _;function h(_){return _.reduce((m,b)=>m.concat(b instanceof l?b.errors:b),[])}u.EMPTY=((_=new u).closed=!0,_)},82494:(Ge,g,o)=>{"use strict";o.d(g,{v:()=>e});let t=!1;const e={Promise:void 0,set useDeprecatedSynchronousErrorHandling(s){if(s){const a=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+a.stack)}else t&&console.log("RxJS: Back to a better error behavior. Thank you. <3");t=s},get useDeprecatedSynchronousErrorHandling(){return t}}},85345:(Ge,g,o)=>{"use strict";o.d(g,{IY:()=>a,Ds:()=>u,ft:()=>_});var t=o(77393),e=o(18891),s=o(87444);class a extends t.L{constructor(b){super(),this.parent=b}_next(b){this.parent.notifyNext(b)}_error(b){this.parent.notifyError(b),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class u extends t.L{notifyNext(b){this.destination.next(b)}notifyError(b){this.destination.error(b)}notifyComplete(){this.destination.complete()}}function _(m,b){if(!b.closed)return m instanceof e.y?m.subscribe(b):(0,s.s)(m)(b)}},52441:(Ge,g,o)=>{"use strict";o.d(g,{c:()=>l,N:()=>u});var t=o(79765),e=o(18891),s=o(75319),a=o(51307);class l extends e.y{constructor(T,D){super(),this.source=T,this.subjectFactory=D,this._refCount=0,this._isComplete=!1}_subscribe(T){return this.getSubject().subscribe(T)}getSubject(){const T=this._subject;return(!T||T.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let T=this._connection;return T||(this._isComplete=!1,T=this._connection=new s.w,T.add(this.source.subscribe(new h(this.getSubject(),this))),T.closed&&(this._connection=null,T=s.w.EMPTY)),T}refCount(){return(0,a.x)()(this)}}const u=(()=>{const b=l.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:b._subscribe},_isComplete:{value:b._isComplete,writable:!0},getSubject:{value:b.getSubject},connect:{value:b.connect},refCount:{value:b.refCount}}})();class h extends t.Yc{constructor(T,D){super(T),this.connectable=D}_error(T){this._unsubscribe(),super._error(T)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const T=this.connectable;if(T){this.connectable=null;const D=T._connection;T._refCount=0,T._subject=null,T._connection=null,D&&D.unsubscribe()}}}},9112:(Ge,g,o)=>{"use strict";o.d(g,{aj:()=>h});var t=o(54869),e=o(59796),s=o(55197),a=o(20509),l=o(56693);const u={};function h(...b){let T,D;return(0,t.K)(b[b.length-1])&&(D=b.pop()),"function"==typeof b[b.length-1]&&(T=b.pop()),1===b.length&&(0,e.k)(b[0])&&(b=b[0]),(0,l.n)(b,D).lift(new _(T))}class _{constructor(T){this.resultSelector=T}call(T,D){return D.subscribe(new m(T,this.resultSelector))}}class m extends s.L{constructor(T,D){super(T),this.resultSelector=D,this.active=0,this.values=[],this.observables=[]}_next(T){this.values.push(u),this.observables.push(T)}_complete(){const T=this.observables,D=T.length;if(0===D)this.destination.complete();else{this.active=D,this.toRespond=D;for(let R=0;R<D;R++)this.add((0,a.D)(this,T[R],void 0,R))}}notifyComplete(T){0==(this.active-=1)&&this.destination.complete()}notifyNext(T,D,R){const j=this.values,z=this.toRespond?j[R]===u?--this.toRespond:this.toRespond:0;j[R]=D,0===z&&(this.resultSelector?this._tryResultSelector(j):this.destination.next(j.slice()))}_tryResultSelector(T){let D;try{D=this.resultSelector.apply(this,T)}catch(R){return void this.destination.error(R)}this.destination.next(D)}}},58071:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>a});var t=o(25917),e=o(63282);function a(...l){return(0,e.J)(1)((0,t.of)(...l))}},59193:(Ge,g,o)=>{"use strict";o.d(g,{E:()=>e,c:()=>s});var t=o(18891);const e=new t.y(l=>l.complete());function s(l){return l?function(l){return new t.y(u=>l.schedule(()=>u.complete()))}(l):e}},35758:(Ge,g,o)=>{"use strict";o.d(g,{D:()=>u});var t=o(18891),e=o(59796),s=o(88002),a=o(81555),l=o(94402);function u(..._){if(1===_.length){const m=_[0];if((0,e.k)(m))return h(m,null);if((0,a.K)(m)&&Object.getPrototypeOf(m)===Object.prototype){const b=Object.keys(m);return h(b.map(T=>m[T]),b)}}if("function"==typeof _[_.length-1]){const m=_.pop();return h(_=1===_.length&&(0,e.k)(_[0])?_[0]:_,null).pipe((0,s.U)(b=>m(...b)))}return h(_,null)}function h(_,m){return new t.y(b=>{const T=_.length;if(0===T)return void b.complete();const D=new Array(T);let R=0,j=0;for(let H=0;H<T;H++){const z=(0,l.D)(_[H]);let U=!1;b.add(z.subscribe({next:M=>{U||(U=!0,j++),D[H]=M},error:M=>b.error(M),complete:()=>{R++,(R===T||!U)&&(j===T&&b.next(m?m.reduce((M,I,J)=>(M[I]=D[J],M),{}):D),b.complete())}}))}})}},94402:(Ge,g,o)=>{"use strict";o.d(g,{D:()=>H});var t=o(18891),e=o(87444),s=o(75319),a=o(16554),h=o(94087),_=o(20377),T=o(44072),D=o(69489);function H(z,U){return U?function(z,U){if(null!=z){if(function(z){return z&&"function"==typeof z[a.L]}(z))return function(z,U){return new t.y(M=>{const I=new s.w;return I.add(U.schedule(()=>{const J=z[a.L]();I.add(J.subscribe({next(B){I.add(U.schedule(()=>M.next(B)))},error(B){I.add(U.schedule(()=>M.error(B)))},complete(){I.add(U.schedule(()=>M.complete()))}}))})),I})}(z,U);if((0,T.t)(z))return function(z,U){return new t.y(M=>{const I=new s.w;return I.add(U.schedule(()=>z.then(J=>{I.add(U.schedule(()=>{M.next(J),I.add(U.schedule(()=>M.complete()))}))},J=>{I.add(U.schedule(()=>M.error(J)))}))),I})}(z,U);if((0,D.z)(z))return(0,h.r)(z,U);if(function(z){return z&&"function"==typeof z[_.hZ]}(z)||"string"==typeof z)return function(z,U){if(!z)throw new Error("Iterable cannot be null");return new t.y(M=>{const I=new s.w;let J;return I.add(()=>{J&&"function"==typeof J.return&&J.return()}),I.add(U.schedule(()=>{J=z[_.hZ](),I.add(U.schedule(function(){if(M.closed)return;let B,ie;try{const oe=J.next();B=oe.value,ie=oe.done}catch(oe){return void M.error(oe)}ie?M.complete():(M.next(B),this.schedule())}))})),I})}(z,U)}throw new TypeError((null!==z&&typeof z||z)+" is not observable")}(z,U):z instanceof t.y?z:new t.y((0,e.s)(z))}},56693:(Ge,g,o)=>{"use strict";o.d(g,{n:()=>a});var t=o(18891),e=o(55015),s=o(94087);function a(l,u){return u?(0,s.r)(l,u):new t.y((0,e.V)(l))}},22759:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>u});var t=o(18891),e=o(59796),s=o(69105),a=o(88002);function u(T,D,R,j){return(0,s.m)(R)&&(j=R,R=void 0),j?u(T,D,R).pipe((0,a.U)(H=>(0,e.k)(H)?j(...H):j(H))):new t.y(H=>{h(T,D,function(U){H.next(arguments.length>1?Array.prototype.slice.call(arguments):U)},H,R)})}function h(T,D,R,j,H){let z;if(function(T){return T&&"function"==typeof T.addEventListener&&"function"==typeof T.removeEventListener}(T)){const U=T;T.addEventListener(D,R,H),z=()=>U.removeEventListener(D,R,H)}else if(function(T){return T&&"function"==typeof T.on&&"function"==typeof T.off}(T)){const U=T;T.on(D,R),z=()=>U.off(D,R)}else if(function(T){return T&&"function"==typeof T.addListener&&"function"==typeof T.removeListener}(T)){const U=T;T.addListener(D,R),z=()=>U.removeListener(D,R)}else{if(!T||!T.length)throw new TypeError("Invalid event target");for(let U=0,M=T.length;U<M;U++)h(T[U],D,R,j,H)}j.add(z)}},66682:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>l});var t=o(18891),e=o(54869),s=o(63282),a=o(56693);function l(...u){let h=Number.POSITIVE_INFINITY,_=null,m=u[u.length-1];return(0,e.K)(m)?(_=u.pop(),u.length>1&&"number"==typeof u[u.length-1]&&(h=u.pop())):"number"==typeof m&&(h=u.pop()),null===_&&1===u.length&&u[0]instanceof t.y?u[0]:(0,s.J)(h)((0,a.n)(u,_))}},17757:(Ge,g,o)=>{"use strict";o.d(g,{C:()=>s});var t=o(18891),e=o(98640);const s=new t.y(e.Z)},25917:(Ge,g,o)=>{"use strict";o.d(g,{of:()=>a});var t=o(54869),e=o(56693),s=o(94087);function a(...l){let u=l[l.length-1];return(0,t.K)(u)?(l.pop(),(0,s.r)(l,u)):(0,e.n)(l)}},40205:(Ge,g,o)=>{"use strict";o.d(g,{_:()=>e});var t=o(18891);function e(a,l){return new t.y(l?u=>l.schedule(s,0,{error:a,subscriber:u}):u=>u.error(a))}function s({error:a,subscriber:l}){l.error(a)}},46797:(Ge,g,o)=>{"use strict";o.d(g,{H:()=>l});var t=o(18891),e=o(33637),s=o(26561),a=o(54869);function l(h=0,_,m){let b=-1;return(0,s.k)(_)?b=Number(_)<1?1:Number(_):(0,a.K)(_)&&(m=_),(0,a.K)(m)||(m=e.P),new t.y(T=>{const D=(0,s.k)(h)?h:+h-m.now();return m.schedule(u,D,{index:0,period:b,subscriber:T})})}function u(h){const{index:_,period:m,subscriber:b}=h;if(b.next(_),!b.closed){if(-1===m)return b.complete();h.index=_+1,this.schedule(h,m)}}},5304:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>e});var t=o(85345);function e(l){return function(h){const _=new s(l),m=h.lift(_);return _.caught=m}}class s{constructor(u){this.selector=u}call(u,h){return h.subscribe(new a(u,this.selector,this.caught))}}class a extends t.Ds{constructor(u,h,_){super(u),this.selector=h,this.caught=_}error(u){if(!this.isStopped){let h;try{h=this.selector(u,this.caught)}catch(b){return void super.error(b)}this._unsubscribeAndRecycle();const _=new t.IY(this);this.add(_);const m=(0,t.ft)(h,_);m!==_&&this.add(m)}}}},94612:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>e});var t=o(19773);function e(s,a){return(0,t.zg)(s,a,1)}},95242:(Ge,g,o)=>{"use strict";o.d(g,{d:()=>e});var t=o(77393);function e(l=null){return u=>u.lift(new s(l))}class s{constructor(u){this.defaultValue=u}call(u,h){return h.subscribe(new a(u,this.defaultValue))}}class a extends t.L{constructor(u,h){super(u),this.defaultValue=h,this.isEmpty=!0}_next(u){this.isEmpty=!1,this.destination.next(u)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}},71289:(Ge,g,o)=>{"use strict";o.d(g,{g:()=>l});var t=o(33637),s=o(77393),a=o(23098);function l(m,b=t.P){const D=function(m){return m instanceof Date&&!isNaN(+m)}(m)?+m-b.now():Math.abs(m);return R=>R.lift(new u(D,b))}class u{constructor(b,T){this.delay=b,this.scheduler=T}call(b,T){return T.subscribe(new h(b,this.delay,this.scheduler))}}class h extends s.L{constructor(b,T,D){super(b),this.delay=T,this.scheduler=D,this.queue=[],this.active=!1,this.errored=!1}static dispatch(b){const T=b.source,D=T.queue,R=b.scheduler,j=b.destination;for(;D.length>0&&D[0].time-R.now()<=0;)D.shift().notification.observe(j);if(D.length>0){const H=Math.max(0,D[0].time-R.now());this.schedule(b,H)}else this.unsubscribe(),T.active=!1}_schedule(b){this.active=!0,this.destination.add(b.schedule(h.dispatch,this.delay,{source:this,destination:this.destination,scheduler:b}))}scheduleNotification(b){if(!0===this.errored)return;const T=this.scheduler,D=new _(T.now()+this.delay,b);this.queue.push(D),!1===this.active&&this._schedule(T)}_next(b){this.scheduleNotification(a.P.createNext(b))}_error(b){this.errored=!0,this.queue=[],this.destination.error(b),this.unsubscribe()}_complete(){this.scheduleNotification(a.P.createComplete()),this.unsubscribe()}}class _{constructor(b,T){this.time=b,this.notification=T}}},87519:(Ge,g,o)=>{"use strict";o.d(g,{x:()=>e});var t=o(77393);function e(l,u){return h=>h.lift(new s(l,u))}class s{constructor(u,h){this.compare=u,this.keySelector=h}call(u,h){return h.subscribe(new a(u,this.compare,this.keySelector))}}class a extends t.L{constructor(u,h,_){super(u),this.keySelector=_,this.hasKey=!1,"function"==typeof h&&(this.compare=h)}compare(u,h){return u===h}_next(u){let h;try{const{keySelector:m}=this;h=m?m(u):u}catch(m){return this.destination.error(m)}let _=!1;if(this.hasKey)try{const{compare:m}=this;_=m(this.key,h)}catch(m){return this.destination.error(m)}else this.hasKey=!0;_||(this.key=h,this.destination.next(u))}}},45435:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>e});var t=o(77393);function e(l,u){return function(_){return _.lift(new s(l,u))}}class s{constructor(u,h){this.predicate=u,this.thisArg=h}call(u,h){return h.subscribe(new a(u,this.predicate,this.thisArg))}}class a extends t.L{constructor(u,h,_){super(u),this.predicate=h,this.thisArg=_,this.count=0}_next(u){let h;try{h=this.predicate.call(this.thisArg,u,this.count++)}catch(_){return void this.destination.error(_)}h&&this.destination.next(u)}}},68939:(Ge,g,o)=>{"use strict";o.d(g,{x:()=>s});var t=o(77393),e=o(75319);function s(u){return h=>h.lift(new a(u))}class a{constructor(h){this.callback=h}call(h,_){return _.subscribe(new l(h,this.callback))}}class l extends t.L{constructor(h,_){super(h),this.add(new e.w(_))}}},28049:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>h});var t=o(13410),e=o(45435),s=o(15257),a=o(95242),l=o(44635),u=o(54487);function h(_,m){const b=arguments.length>=2;return T=>T.pipe(_?(0,e.h)((D,R)=>_(D,R,T)):u.y,(0,s.q)(1),b?(0,a.d)(m):(0,l.T)(()=>new t.K))}},12627:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>h});var t=o(13410),e=o(45435),s=o(548),a=o(44635),l=o(95242),u=o(54487);function h(_,m){const b=arguments.length>=2;return T=>T.pipe(_?(0,e.h)((D,R)=>_(D,R,T)):u.y,(0,s.h)(1),b?(0,l.d)(m):(0,a.T)(()=>new t.K))}},88002:(Ge,g,o)=>{"use strict";o.d(g,{U:()=>e});var t=o(77393);function e(l,u){return function(_){if("function"!=typeof l)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return _.lift(new s(l,u))}}class s{constructor(u,h){this.project=u,this.thisArg=h}call(u,h){return h.subscribe(new a(u,this.project,this.thisArg))}}class a extends t.L{constructor(u,h,_){super(u),this.project=h,this.count=0,this.thisArg=_||this}_next(u){let h;try{h=this.project.call(this.thisArg,u,this.count++)}catch(_){return void this.destination.error(_)}this.destination.next(h)}}},96736:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>e});var t=o(77393);function e(l){return u=>u.lift(new s(l))}class s{constructor(u){this.value=u}call(u,h){return h.subscribe(new a(u,this.value))}}class a extends t.L{constructor(u,h){super(u),this.value=h}_next(u){this.destination.next(this.value)}}},63282:(Ge,g,o)=>{"use strict";o.d(g,{J:()=>s});var t=o(19773),e=o(54487);function s(a=Number.POSITIVE_INFINITY){return(0,t.zg)(e.y,a)}},19773:(Ge,g,o)=>{"use strict";o.d(g,{zg:()=>a});var t=o(88002),e=o(94402),s=o(85345);function a(_,m,b=Number.POSITIVE_INFINITY){return"function"==typeof m?T=>T.pipe(a((D,R)=>(0,e.D)(_(D,R)).pipe((0,t.U)((j,H)=>m(D,j,R,H))),b)):("number"==typeof m&&(b=m),T=>T.lift(new l(_,b)))}class l{constructor(m,b=Number.POSITIVE_INFINITY){this.project=m,this.concurrent=b}call(m,b){return b.subscribe(new u(m,this.project,this.concurrent))}}class u extends s.Ds{constructor(m,b,T=Number.POSITIVE_INFINITY){super(m),this.project=b,this.concurrent=T,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(m){this.active<this.concurrent?this._tryNext(m):this.buffer.push(m)}_tryNext(m){let b;const T=this.index++;try{b=this.project(m,T)}catch(D){return void this.destination.error(D)}this.active++,this._innerSub(b)}_innerSub(m){const b=new s.IY(this),T=this.destination;T.add(b);const D=(0,s.ft)(m,b);D!==b&&T.add(D)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()}notifyNext(m){this.destination.next(m)}notifyComplete(){const m=this.buffer;this.active--,m.length>0?this._next(m.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}},59746:(Ge,g,o)=>{"use strict";o.d(g,{QV:()=>s,ht:()=>l});var t=o(77393),e=o(23098);function s(h,_=0){return function(b){return b.lift(new a(h,_))}}class a{constructor(_,m=0){this.scheduler=_,this.delay=m}call(_,m){return m.subscribe(new l(_,this.scheduler,this.delay))}}class l extends t.L{constructor(_,m,b=0){super(_),this.scheduler=m,this.delay=b}static dispatch(_){const{notification:m,destination:b}=_;m.observe(b),this.unsubscribe()}scheduleMessage(_){this.destination.add(this.scheduler.schedule(l.dispatch,this.delay,new u(_,this.destination)))}_next(_){this.scheduleMessage(e.P.createNext(_))}_error(_){this.scheduleMessage(e.P.createError(_)),this.unsubscribe()}_complete(){this.scheduleMessage(e.P.createComplete()),this.unsubscribe()}}class u{constructor(_,m){this.notification=_,this.destination=m}}},51307:(Ge,g,o)=>{"use strict";o.d(g,{x:()=>e});var t=o(77393);function e(){return function(u){return u.lift(new s(u))}}class s{constructor(u){this.connectable=u}call(u,h){const{connectable:_}=this;_._refCount++;const m=new a(u,_),b=h.subscribe(m);return m.closed||(m.connection=_.connect()),b}}class a extends t.L{constructor(u,h){super(u),this.connectable=h}_unsubscribe(){const{connectable:u}=this;if(!u)return void(this.connection=null);this.connectable=null;const h=u._refCount;if(h<=0)return void(this.connection=null);if(u._refCount=h-1,h>1)return void(this.connection=null);const{connection:_}=this,m=u._connection;this.connection=null,m&&(!_||m===_)&&m.unsubscribe()}}},42145:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>e});var t=o(77393);function e(l,u){let h=!1;return arguments.length>=2&&(h=!0),function(m){return m.lift(new s(l,u,h))}}class s{constructor(u,h,_=!1){this.accumulator=u,this.seed=h,this.hasSeed=_}call(u,h){return h.subscribe(new a(u,this.accumulator,this.seed,this.hasSeed))}}class a extends t.L{constructor(u,h,_,m){super(u),this.accumulator=h,this._seed=_,this.hasSeed=m,this.index=0}get seed(){return this._seed}set seed(u){this.hasSeed=!0,this._seed=u}_next(u){if(this.hasSeed)return this._tryNext(u);this.seed=u,this.destination.next(u)}_tryNext(u){const h=this.index++;let _;try{_=this.accumulator(this.seed,u,h)}catch(m){this.destination.error(m)}this.seed=_,this.destination.next(_)}}},18819:(Ge,g,o)=>{"use strict";o.d(g,{B:()=>h});var t=o(52441);var a=o(51307),l=o(79765);function u(){return new l.xQ}function h(){return _=>(0,a.x)()(function(_,m){return function(T){let D;D="function"==typeof _?_:function(){return _};const R=Object.create(T,t.N);return R.source=T,R.subjectFactory=D,R}}(u)(_))}},39761:(Ge,g,o)=>{"use strict";o.d(g,{O:()=>s});var t=o(58071),e=o(54869);function s(...a){const l=a[a.length-1];return(0,e.K)(l)?(a.pop(),u=>(0,t.z)(a,u,l)):u=>(0,t.z)(a,u)}},43190:(Ge,g,o)=>{"use strict";o.d(g,{w:()=>a});var t=o(88002),e=o(94402),s=o(85345);function a(h,_){return"function"==typeof _?m=>m.pipe(a((b,T)=>(0,e.D)(h(b,T)).pipe((0,t.U)((D,R)=>_(b,D,T,R))))):m=>m.lift(new l(h))}class l{constructor(_){this.project=_}call(_,m){return m.subscribe(new u(_,this.project))}}class u extends s.Ds{constructor(_,m){super(_),this.project=m,this.index=0}_next(_){let m;const b=this.index++;try{m=this.project(_,b)}catch(T){return void this.destination.error(T)}this._innerSub(m)}_innerSub(_){const m=this.innerSubscription;m&&m.unsubscribe();const b=new s.IY(this),T=this.destination;T.add(b),this.innerSubscription=(0,s.ft)(_,b),this.innerSubscription!==b&&T.add(this.innerSubscription)}_complete(){const{innerSubscription:_}=this;(!_||_.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(_){this.destination.next(_)}}},15257:(Ge,g,o)=>{"use strict";o.d(g,{q:()=>a});var t=o(77393),e=o(7108),s=o(59193);function a(h){return _=>0===h?(0,s.c)():_.lift(new l(h))}class l{constructor(_){if(this.total=_,this.total<0)throw new e.W}call(_,m){return m.subscribe(new u(_,this.total))}}class u extends t.L{constructor(_,m){super(_),this.total=m,this.count=0}_next(_){const m=this.total,b=++this.count;b<=m&&(this.destination.next(_),b===m&&(this.destination.complete(),this.unsubscribe()))}}},548:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>a});var t=o(77393),e=o(7108),s=o(59193);function a(h){return function(m){return 0===h?(0,s.c)():m.lift(new l(h))}}class l{constructor(_){if(this.total=_,this.total<0)throw new e.W}call(_,m){return m.subscribe(new u(_,this.total))}}class u extends t.L{constructor(_,m){super(_),this.total=m,this.ring=new Array,this.count=0}_next(_){const m=this.ring,b=this.total,T=this.count++;m.length<b?m.push(_):m[T%b]=_}_complete(){const _=this.destination;let m=this.count;if(m>0){const b=this.count>=this.total?this.total:this.count,T=this.ring;for(let D=0;D<b;D++){const R=m++%b;_.next(T[R])}}_.complete()}}},46782:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>e});var t=o(85345);function e(l){return u=>u.lift(new s(l))}class s{constructor(u){this.notifier=u}call(u,h){const _=new a(u),m=(0,t.ft)(this.notifier,new t.IY(_));return m&&!_.seenValue?(_.add(m),h.subscribe(_)):_}}class a extends t.Ds{constructor(u){super(u),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}},68307:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>a});var t=o(77393),e=o(98640),s=o(69105);function a(h,_,m){return function(T){return T.lift(new l(h,_,m))}}class l{constructor(_,m,b){this.nextOrObserver=_,this.error=m,this.complete=b}call(_,m){return m.subscribe(new u(_,this.nextOrObserver,this.error,this.complete))}}class u extends t.L{constructor(_,m,b,T){super(_),this._tapNext=e.Z,this._tapError=e.Z,this._tapComplete=e.Z,this._tapError=b||e.Z,this._tapComplete=T||e.Z,(0,s.m)(m)?(this._context=this,this._tapNext=m):m&&(this._context=m,this._tapNext=m.next||e.Z,this._tapError=m.error||e.Z,this._tapComplete=m.complete||e.Z)}_next(_){try{this._tapNext.call(this._context,_)}catch(m){return void this.destination.error(m)}this.destination.next(_)}_error(_){try{this._tapError.call(this._context,_)}catch(m){return void this.destination.error(m)}this.destination.error(_)}_complete(){try{this._tapComplete.call(this._context)}catch(_){return void this.destination.error(_)}return this.destination.complete()}}},44635:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>s});var t=o(13410),e=o(77393);function s(h=u){return _=>_.lift(new a(h))}class a{constructor(_){this.errorFactory=_}call(_,m){return m.subscribe(new l(_,this.errorFactory))}}class l extends e.L{constructor(_,m){super(_),this.errorFactory=m,this.hasValue=!1}_next(_){this.hasValue=!0,this.destination.next(_)}_complete(){if(this.hasValue)return this.destination.complete();{let _;try{_=this.errorFactory()}catch(m){_=m}this.destination.error(_)}}}function u(){return new t.K}},94087:(Ge,g,o)=>{"use strict";o.d(g,{r:()=>s});var t=o(18891),e=o(75319);function s(a,l){return new t.y(u=>{const h=new e.w;let _=0;return h.add(l.schedule(function(){_!==a.length?(u.next(a[_++]),u.closed||h.add(this.schedule())):u.complete()})),h})}},36465:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>s});var t=o(75319);class e extends t.w{constructor(l,u){super()}schedule(l,u=0){return this}}class s extends e{constructor(l,u){super(l,u),this.scheduler=l,this.work=u,this.pending=!1}schedule(l,u=0){if(this.closed)return this;this.state=l;const h=this.id,_=this.scheduler;return null!=h&&(this.id=this.recycleAsyncId(_,h,u)),this.pending=!0,this.delay=u,this.id=this.id||this.requestAsyncId(_,this.id,u),this}requestAsyncId(l,u,h=0){return setInterval(l.flush.bind(l,this),h)}recycleAsyncId(l,u,h=0){if(null!==h&&this.delay===h&&!1===this.pending)return u;clearInterval(u)}execute(l,u){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const h=this._execute(l,u);if(h)return h;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(l,u){let _,h=!1;try{this.work(l)}catch(m){h=!0,_=!!m&&m||new Error(m)}if(h)return this.unsubscribe(),_}_unsubscribe(){const l=this.id,u=this.scheduler,h=u.actions,_=h.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==_&&h.splice(_,1),null!=l&&(this.id=this.recycleAsyncId(u,l,null)),this.delay=null}}},16102:(Ge,g,o)=>{"use strict";o.d(g,{v:()=>e});let t=(()=>{class s{constructor(l,u=s.now){this.SchedulerAction=l,this.now=u}schedule(l,u=0,h){return new this.SchedulerAction(this,l).schedule(h,u)}}return s.now=()=>Date.now(),s})();class e extends t{constructor(a,l=t.now){super(a,()=>e.delegate&&e.delegate!==this?e.delegate.now():l()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(a,l=0,u){return e.delegate&&e.delegate!==this?e.delegate.schedule(a,l,u):super.schedule(a,l,u)}flush(a){const{actions:l}=this;if(this.active)return void l.push(a);let u;this.active=!0;do{if(u=a.execute(a.state,a.delay))break}while(a=l.shift());if(this.active=!1,u){for(;a=l.shift();)a.unsubscribe();throw u}}}},33637:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>s,P:()=>a});var t=o(36465);const s=new(o(16102).v)(t.o),a=s},20377:(Ge,g,o)=>{"use strict";o.d(g,{hZ:()=>e});const e="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"},16554:(Ge,g,o)=>{"use strict";o.d(g,{L:()=>t});const t="function"==typeof Symbol&&Symbol.observable||"@@observable"},29181:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>t});const t="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()},7108:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>e});const e=(()=>{function s(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return s.prototype=Object.create(Error.prototype),s})()},13410:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>e});const e=(()=>{function s(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return s.prototype=Object.create(Error.prototype),s})()},77971:(Ge,g,o)=>{"use strict";o.d(g,{N:()=>e});const e=(()=>{function s(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return s.prototype=Object.create(Error.prototype),s})()},54449:(Ge,g,o)=>{"use strict";function t(e){setTimeout(()=>{throw e},0)}o.d(g,{z:()=>t})},54487:(Ge,g,o)=>{"use strict";function t(e){return e}o.d(g,{y:()=>t})},59796:(Ge,g,o)=>{"use strict";o.d(g,{k:()=>t});const t=Array.isArray||(e=>e&&"number"==typeof e.length)},69489:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>t});const t=e=>e&&"number"==typeof e.length&&"function"!=typeof e},69105:(Ge,g,o)=>{"use strict";function t(e){return"function"==typeof e}o.d(g,{m:()=>t})},26561:(Ge,g,o)=>{"use strict";o.d(g,{k:()=>e});var t=o(59796);function e(s){return!(0,t.k)(s)&&s-parseFloat(s)+1>=0}},81555:(Ge,g,o)=>{"use strict";function t(e){return null!==e&&"object"==typeof e}o.d(g,{K:()=>t})},44072:(Ge,g,o)=>{"use strict";function t(e){return!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}o.d(g,{t:()=>t})},54869:(Ge,g,o)=>{"use strict";function t(e){return e&&"function"==typeof e.schedule}o.d(g,{K:()=>t})},98640:(Ge,g,o)=>{"use strict";function t(){}o.d(g,{Z:()=>t})},34022:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>e,U:()=>s});var t=o(54487);function e(...a){return s(a)}function s(a){return 0===a.length?t.y:1===a.length?a[0]:function(u){return a.reduce((h,_)=>_(h),u)}}},87444:(Ge,g,o)=>{"use strict";o.d(g,{s:()=>T});var t=o(55015),e=o(54449),a=o(20377),u=o(16554),_=o(69489),m=o(44072),b=o(81555);const T=D=>{if(D&&"function"==typeof D[u.L])return(D=>R=>{const j=D[u.L]();if("function"!=typeof j.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return j.subscribe(R)})(D);if((0,_.z)(D))return(0,t.V)(D);if((0,m.t)(D))return(D=>R=>(D.then(j=>{R.closed||(R.next(j),R.complete())},j=>R.error(j)).then(null,e.z),R))(D);if(D&&"function"==typeof D[a.hZ])return(D=>R=>{const j=D[a.hZ]();for(;;){let H;try{H=j.next()}catch(z){return R.error(z),R}if(H.done){R.complete();break}if(R.next(H.value),R.closed)break}return"function"==typeof j.return&&R.add(()=>{j.return&&j.return()}),R})(D);{const j=`You provided ${(0,b.K)(D)?"an invalid object":`'${D}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(j)}}},55015:(Ge,g,o)=>{"use strict";o.d(g,{V:()=>t});const t=e=>s=>{for(let a=0,l=e.length;a<l&&!s.closed;a++)s.next(e[a]);s.complete()}},20509:(Ge,g,o)=>{"use strict";o.d(g,{D:()=>l});var t=o(77393);class e extends t.L{constructor(h,_,m){super(),this.parent=h,this.outerValue=_,this.outerIndex=m,this.index=0}_next(h){this.parent.notifyNext(this.outerValue,h,this.outerIndex,this.index++,this)}_error(h){this.parent.notifyError(h,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}var s=o(87444),a=o(18891);function l(u,h,_,m,b=new e(u,_,m)){if(!b.closed)return h instanceof a.y?h.subscribe(b):(0,s.s)(h)(b)}},34863:(Ge,g,o)=>{"use strict";o.d(g,{M:()=>Ue,t:()=>nt}),o(85443),o(4690),o(66837),o(8868),o(35704),o(21581),o(13744),o(63438),o(22603);var ae,b=o(6123),T=o.n(b),D=o(86906),R=o.n(D),j=o(66941),H=o.n(j),z=[],I="ResizeObserver loop completed with undelivered notifications.",B=(()=>{return(at=B||(B={})).BORDER_BOX="border-box",at.CONTENT_BOX="content-box",at.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box",B;var at})(),ie=function(at){return Object.freeze(at)},oe=function(it,Pt){this.inlineSize=it,this.blockSize=Pt,ie(this)},fe=function(){function at(it,Pt,Ut,ot){return this.x=it,this.y=Pt,this.width=Ut,this.height=ot,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ie(this)}return at.prototype.toJSON=function(){var it=this;return{x:it.x,y:it.y,top:it.top,right:it.right,bottom:it.bottom,left:it.left,width:it.width,height:it.height}},at.fromRect=function(it){return new at(it.x,it.y,it.width,it.height)},at}(),ne=function(at){return at instanceof SVGElement&&"getBBox"in at},he=function(at){if(ne(at)){var it=at.getBBox();return!it.width&&!it.height}return!(at.offsetWidth||at.offsetHeight||at.getClientRects().length)},ce=function(at){var it,Pt;if(at instanceof Element)return!0;var Ut=null===(Pt=null===(it=at)||void 0===it?void 0:it.ownerDocument)||void 0===Pt?void 0:Pt.defaultView;return!!(Ut&&at instanceof Ut.Element)},Se="undefined"!=typeof window?window:{},Oe=new WeakMap,be=/auto|scroll/,ue=/^tb|vertical/,He=/msie|trident/i.test(Se.navigator&&Se.navigator.userAgent),$e=function(at){return parseFloat(at||"0")},F=function(at,it,Pt){return void 0===at&&(at=0),void 0===it&&(it=0),void 0===Pt&&(Pt=!1),new oe((Pt?it:at)||0,(Pt?at:it)||0)},je=ie({devicePixelContentBoxSize:F(),borderBoxSize:F(),contentBoxSize:F(),contentRect:new fe(0,0,0,0)}),Et=function(at,it){if(void 0===it&&(it=!1),Oe.has(at)&&!it)return Oe.get(at);if(he(at))return Oe.set(at,je),je;var Pt=getComputedStyle(at),Ut=ne(at)&&at.ownerSVGElement&&at.getBBox(),ot=!He&&"border-box"===Pt.boxSizing,Nn=ue.test(Pt.writingMode||""),sn=!Ut&&be.test(Pt.overflowY||""),An=!Ut&&be.test(Pt.overflowX||""),Bn=Ut?0:$e(Pt.paddingTop),ir=Ut?0:$e(Pt.paddingRight),mr=Ut?0:$e(Pt.paddingBottom),_r=Ut?0:$e(Pt.paddingLeft),Nr=Ut?0:$e(Pt.borderTopWidth),br=Ut?0:$e(Pt.borderRightWidth),Jn=Ut?0:$e(Pt.borderBottomWidth),Mr=_r+ir,yi=Bn+mr,Li=(Ut?0:$e(Pt.borderLeftWidth))+br,Mi=Nr+Jn,Oi=An?at.offsetHeight-Mi-at.clientHeight:0,Xr=sn?at.offsetWidth-Li-at.clientWidth:0,Kr=ot?Mr+Li:0,di=ot?yi+Mi:0,se=Ut?Ut.width:$e(Pt.width)-Kr-Xr,ct=Ut?Ut.height:$e(Pt.height)-di-Oi,Ke=se+Mr+Xr+Li,Xe=ct+yi+Oi+Mi,Vt=ie({devicePixelContentBoxSize:F(Math.round(se*devicePixelRatio),Math.round(ct*devicePixelRatio),Nn),borderBoxSize:F(Ke,Xe,Nn),contentBoxSize:F(se,ct,Nn),contentRect:new fe(_r,Bn,se,ct)});return Oe.set(at,Vt),Vt},lt=function(at,it,Pt){var Ut=Et(at,Pt),ot=Ut.borderBoxSize,Nn=Ut.contentBoxSize,sn=Ut.devicePixelContentBoxSize;switch(it){case B.DEVICE_PIXEL_CONTENT_BOX:return sn;case B.BORDER_BOX:return ot;default:return Nn}},nn=function(it){var Pt=Et(it);this.target=it,this.contentRect=Pt.contentRect,this.borderBoxSize=ie([Pt.borderBoxSize]),this.contentBoxSize=ie([Pt.contentBoxSize]),this.devicePixelContentBoxSize=ie([Pt.devicePixelContentBoxSize])},St=function(at){if(he(at))return 1/0;for(var it=0,Pt=at.parentNode;Pt;)it+=1,Pt=Pt.parentNode;return it},Ot=function(){var at=1/0,it=[];z.forEach(function(sn){if(0!==sn.activeTargets.length){var An=[];sn.activeTargets.forEach(function(ir){var mr=new nn(ir.target),_r=St(ir.target);An.push(mr),ir.lastReportedSize=lt(ir.target,ir.observedBox),_r<at&&(at=_r)}),it.push(function(){sn.callback.call(sn.observer,An,sn.observer)}),sn.activeTargets.splice(0,sn.activeTargets.length)}});for(var Pt=0,Ut=it;Pt<Ut.length;Pt++)(0,Ut[Pt])();return at},Qe=function(at){z.forEach(function(Pt){Pt.activeTargets.splice(0,Pt.activeTargets.length),Pt.skippedTargets.splice(0,Pt.skippedTargets.length),Pt.observationTargets.forEach(function(ot){ot.isActive()&&(St(ot.target)>at?Pt.activeTargets.push(ot):Pt.skippedTargets.push(ot))})})},Ie=[],ln=0,Rn={attributes:!0,characterData:!0,childList:!0,subtree:!0},er=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Mn=function(at){return void 0===at&&(at=0),Date.now()+at},Ht=!1,Yn=new(function(){function at(){var it=this;this.stopped=!0,this.listener=function(){return it.schedule()}}return at.prototype.run=function(it){var Pt=this;if(void 0===it&&(it=250),!Ht){Ht=!0;var Ut=Mn(it);!function(at){!function(at){if(!ae){var it=0,Pt=document.createTextNode("");new MutationObserver(function(){return Ie.splice(0).forEach(function(at){return at()})}).observe(Pt,{characterData:!0}),ae=function(){Pt.textContent=""+(it?it--:it++)}}Ie.push(at),ae()}(function(){requestAnimationFrame(at)})}(function(){var ot=!1;try{ot=function(){var at=0;for(Qe(at);z.some(function(at){return at.activeTargets.length>0});)at=Ot(),Qe(at);return z.some(function(at){return at.skippedTargets.length>0})&&function(){var at;"function"==typeof ErrorEvent?at=new ErrorEvent("error",{message:I}):((at=document.createEvent("Event")).initEvent("error",!1,!1),at.message=I),window.dispatchEvent(at)}(),at>0}()}finally{if(Ht=!1,it=Ut-Mn(),!ln)return;ot?Pt.run(1e3):it>0?Pt.run(it):Pt.start()}})}},at.prototype.schedule=function(){this.stop(),this.run()},at.prototype.observe=function(){var it=this,Pt=function(){return it.observer&&it.observer.observe(document.body,Rn)};document.body?Pt():Se.addEventListener("DOMContentLoaded",Pt)},at.prototype.start=function(){var it=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),er.forEach(function(Pt){return Se.addEventListener(Pt,it.listener,!0)}))},at.prototype.stop=function(){var it=this;this.stopped||(this.observer&&this.observer.disconnect(),er.forEach(function(Pt){return Se.removeEventListener(Pt,it.listener,!0)}),this.stopped=!0)},at}()),Cn=function(at){!ln&&at>0&&Yn.start(),!(ln+=at)&&Yn.stop()},dn=function(){function at(it,Pt){this.target=it,this.observedBox=Pt||B.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return at.prototype.isActive=function(){var it=lt(this.target,this.observedBox,!0);return function(at){return!ne(at)&&!function(at){switch(at.tagName){case"INPUT":if("image"!==at.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(at)&&"inline"===getComputedStyle(at).display}(this.target)&&(this.lastReportedSize=it),this.lastReportedSize.inlineSize!==it.inlineSize||this.lastReportedSize.blockSize!==it.blockSize},at}(),Kn=function(it,Pt){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=it,this.callback=Pt},qn=new WeakMap,Sn=function(at,it){for(var Pt=0;Pt<at.length;Pt+=1)if(at[Pt].target===it)return Pt;return-1},$n=function(){function at(){}return at.connect=function(it,Pt){var Ut=new Kn(it,Pt);qn.set(it,Ut)},at.observe=function(it,Pt,Ut){var ot=qn.get(it),Nn=0===ot.observationTargets.length;Sn(ot.observationTargets,Pt)<0&&(Nn&&z.push(ot),ot.observationTargets.push(new dn(Pt,Ut&&Ut.box)),Cn(1),Yn.schedule())},at.unobserve=function(it,Pt){var Ut=qn.get(it),ot=Sn(Ut.observationTargets,Pt);ot>=0&&(1===Ut.observationTargets.length&&z.splice(z.indexOf(Ut),1),Ut.observationTargets.splice(ot,1),Cn(-1))},at.disconnect=function(it){var Pt=this,Ut=qn.get(it);Ut.observationTargets.slice().forEach(function(ot){return Pt.unobserve(it,ot.target)}),Ut.activeTargets.splice(0,Ut.activeTargets.length)},at}(),En=function(){function at(it){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof it)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");$n.connect(this,it)}return at.prototype.observe=function(it,Pt){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!ce(it))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");$n.observe(this,it,Pt)},at.prototype.unobserve=function(it){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!ce(it))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");$n.unobserve(this,it)},at.prototype.disconnect=function(){$n.disconnect(this)},at.toString=function(){return"function ResizeObserver () { [polyfill code] }"},at}(),Fn=o(72318),Dn=o.n(Fn);function Tt(at){return at&&at.ownerDocument&&at.ownerDocument.defaultView?at.ownerDocument.defaultView:window}function yn(at){return at&&at.ownerDocument?at.ownerDocument:document}o(35319),o(80477),o(69665),o(26954),o(66262);var et=null,jt=null;function hn(at){if(null===et){var it=yn(at);if(void 0===it)return et=0;var Pt=it.body,Ut=it.createElement("div");Ut.classList.add("simplebar-hide-scrollbar"),Pt.appendChild(Ut);var ot=Ut.getBoundingClientRect().right;Pt.removeChild(Ut),et=ot}return et}Dn()&&window.addEventListener("resize",function(){jt!==window.devicePixelRatio&&(jt=window.devicePixelRatio,et=null)});var Qn=function(){function at(Pt,Ut){var ot=this;this.onScroll=function(){var Nn=Tt(ot.el);ot.scrollXTicking||(Nn.requestAnimationFrame(ot.scrollX),ot.scrollXTicking=!0),ot.scrollYTicking||(Nn.requestAnimationFrame(ot.scrollY),ot.scrollYTicking=!0)},this.scrollX=function(){ot.axis.x.isOverflowing&&(ot.showScrollbar("x"),ot.positionScrollbar("x")),ot.scrollXTicking=!1},this.scrollY=function(){ot.axis.y.isOverflowing&&(ot.showScrollbar("y"),ot.positionScrollbar("y")),ot.scrollYTicking=!1},this.onMouseEnter=function(){ot.showScrollbar("x"),ot.showScrollbar("y")},this.onMouseMove=function(Nn){ot.mouseX=Nn.clientX,ot.mouseY=Nn.clientY,(ot.axis.x.isOverflowing||ot.axis.x.forceVisible)&&ot.onMouseMoveForAxis("x"),(ot.axis.y.isOverflowing||ot.axis.y.forceVisible)&&ot.onMouseMoveForAxis("y")},this.onMouseLeave=function(){ot.onMouseMove.cancel(),(ot.axis.x.isOverflowing||ot.axis.x.forceVisible)&&ot.onMouseLeaveForAxis("x"),(ot.axis.y.isOverflowing||ot.axis.y.forceVisible)&&ot.onMouseLeaveForAxis("y"),ot.mouseX=-1,ot.mouseY=-1},this.onWindowResize=function(){ot.scrollbarWidth=ot.getScrollbarWidth(),ot.hideNativeScrollbar()},this.hideScrollbars=function(){ot.axis.x.track.rect=ot.axis.x.track.el.getBoundingClientRect(),ot.axis.y.track.rect=ot.axis.y.track.el.getBoundingClientRect(),ot.isWithinBounds(ot.axis.y.track.rect)||(ot.axis.y.scrollbar.el.classList.remove(ot.classNames.visible),ot.axis.y.isVisible=!1),ot.isWithinBounds(ot.axis.x.track.rect)||(ot.axis.x.scrollbar.el.classList.remove(ot.classNames.visible),ot.axis.x.isVisible=!1)},this.onPointerEvent=function(Nn){var sn,An;ot.axis.x.track.rect=ot.axis.x.track.el.getBoundingClientRect(),ot.axis.y.track.rect=ot.axis.y.track.el.getBoundingClientRect(),(ot.axis.x.isOverflowing||ot.axis.x.forceVisible)&&(sn=ot.isWithinBounds(ot.axis.x.track.rect)),(ot.axis.y.isOverflowing||ot.axis.y.forceVisible)&&(An=ot.isWithinBounds(ot.axis.y.track.rect)),(sn||An)&&(Nn.preventDefault(),Nn.stopPropagation(),"mousedown"===Nn.type&&(sn&&(ot.axis.x.scrollbar.rect=ot.axis.x.scrollbar.el.getBoundingClientRect(),ot.isWithinBounds(ot.axis.x.scrollbar.rect)?ot.onDragStart(Nn,"x"):ot.onTrackClick(Nn,"x")),An&&(ot.axis.y.scrollbar.rect=ot.axis.y.scrollbar.el.getBoundingClientRect(),ot.isWithinBounds(ot.axis.y.scrollbar.rect)?ot.onDragStart(Nn,"y"):ot.onTrackClick(Nn,"y"))))},this.drag=function(Nn){var An=ot.axis[ot.draggedAxis].track,Bn=An.rect[ot.axis[ot.draggedAxis].sizeAttr],ir=ot.axis[ot.draggedAxis].scrollbar,mr=ot.contentWrapperEl[ot.axis[ot.draggedAxis].scrollSizeAttr],_r=parseInt(ot.elStyles[ot.axis[ot.draggedAxis].sizeAttr],10);Nn.preventDefault(),Nn.stopPropagation();var Jn=(("y"===ot.draggedAxis?Nn.pageY:Nn.pageX)-An.rect[ot.axis[ot.draggedAxis].offsetAttr]-ot.axis[ot.draggedAxis].dragOffset)/(Bn-ir.size)*(mr-_r);"x"===ot.draggedAxis&&(Jn=ot.isRtl&&at.getRtlHelpers().isRtlScrollbarInverted?Jn-(Bn+ir.size):Jn,Jn=ot.isRtl&&at.getRtlHelpers().isRtlScrollingInverted?-Jn:Jn),ot.contentWrapperEl[ot.axis[ot.draggedAxis].scrollOffsetAttr]=Jn},this.onEndDrag=function(Nn){var sn=yn(ot.el),An=Tt(ot.el);Nn.preventDefault(),Nn.stopPropagation(),ot.el.classList.remove(ot.classNames.dragging),sn.removeEventListener("mousemove",ot.drag,!0),sn.removeEventListener("mouseup",ot.onEndDrag,!0),ot.removePreventClickId=An.setTimeout(function(){sn.removeEventListener("click",ot.preventClick,!0),sn.removeEventListener("dblclick",ot.preventClick,!0),ot.removePreventClickId=null})},this.preventClick=function(Nn){Nn.preventDefault(),Nn.stopPropagation()},this.el=Pt,this.minScrollbarWidth=20,this.options=Object.assign({},at.defaultOptions,{},Ut),this.classNames=Object.assign({},at.defaultOptions.classNames,{},this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,!at.instances.has(this.el)&&(this.recalculate=T()(this.recalculate.bind(this),64),this.onMouseMove=T()(this.onMouseMove.bind(this),64),this.hideScrollbars=R()(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=R()(this.onWindowResize.bind(this),64,{leading:!0}),at.getRtlHelpers=H()(at.getRtlHelpers),this.init())}at.getRtlHelpers=function(){var Ut=document.createElement("div");Ut.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var ot=Ut.firstElementChild;document.body.appendChild(ot);var Nn=ot.firstElementChild;ot.scrollLeft=0;var sn=at.getOffset(ot),An=at.getOffset(Nn);ot.scrollLeft=999;var Bn=at.getOffset(Nn);return{isRtlScrollingInverted:sn.left!==An.left&&An.left-Bn.left!=0,isRtlScrollbarInverted:sn.left!==An.left}},at.getOffset=function(Ut){var ot=Ut.getBoundingClientRect(),Nn=yn(Ut),sn=Tt(Ut);return{top:ot.top+(sn.pageYOffset||Nn.documentElement.scrollTop),left:ot.left+(sn.pageXOffset||Nn.documentElement.scrollLeft)}};var it=at.prototype;return it.init=function(){at.instances.set(this.el,this),Dn()&&(this.initDOM(),this.setAccessibilityAttributes(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},it.initDOM=function(){var Ut=this;if(Array.prototype.filter.call(this.el.children,function(sn){return sn.classList.contains(Ut.classNames.wrapper)}).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var ot=document.createElement("div"),Nn=document.createElement("div");ot.classList.add(this.classNames.track),Nn.classList.add(this.classNames.scrollbar),ot.appendChild(Nn),this.axis.x.track.el=ot.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=ot.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},it.setAccessibilityAttributes=function(){var Ut=this.options.ariaLabel||"scrollable content";this.contentWrapperEl.setAttribute("tabindex","0"),this.contentWrapperEl.setAttribute("role","region"),this.contentWrapperEl.setAttribute("aria-label",Ut)},it.initListeners=function(){var Ut=this,ot=Tt(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach(function(An){Ut.el.addEventListener(An,Ut.onPointerEvent,!0)}),["touchstart","touchend","touchmove"].forEach(function(An){Ut.el.addEventListener(An,Ut.onPointerEvent,{capture:!0,passive:!0})}),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),ot.addEventListener("resize",this.onWindowResize);var Nn=!1;this.resizeObserver=new(ot.ResizeObserver||En)(function(){!Nn||Ut.recalculate()}),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),ot.requestAnimationFrame(function(){Nn=!0}),this.mutationObserver=new ot.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},it.recalculate=function(){var Ut=Tt(this.el);this.elStyles=Ut.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var ot=this.heightAutoObserverEl.offsetHeight<=1,Nn=this.heightAutoObserverEl.offsetWidth<=1,sn=this.contentEl.offsetWidth,An=this.contentWrapperEl.offsetWidth,Bn=this.elStyles.overflowX,ir=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var mr=this.contentEl.scrollHeight,_r=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=ot?"auto":"100%",this.placeholderEl.style.width=Nn?sn+"px":"auto",this.placeholderEl.style.height=mr+"px";var Nr=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=_r>sn,this.axis.y.isOverflowing=mr>Nr,this.axis.x.isOverflowing="hidden"!==Bn&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==ir&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var br=this.axis.x.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&_r>An-(this.axis.y.isOverflowing?this.scrollbarWidth:0),this.axis.y.isOverflowing=this.axis.y.isOverflowing&&mr>Nr-br,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},it.getScrollbarSize=function(Ut){if(void 0===Ut&&(Ut="y"),!this.axis[Ut].isOverflowing)return 0;var sn,Nn=this.axis[Ut].track.el[this.axis[Ut].offsetSizeAttr];return sn=Math.max(~~(Nn/this.contentEl[this.axis[Ut].scrollSizeAttr]*Nn),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(sn=Math.min(sn,this.options.scrollbarMaxSize)),sn},it.positionScrollbar=function(Ut){if(void 0===Ut&&(Ut="y"),this.axis[Ut].isOverflowing){var ot=this.contentWrapperEl[this.axis[Ut].scrollSizeAttr],Nn=this.axis[Ut].track.el[this.axis[Ut].offsetSizeAttr],sn=parseInt(this.elStyles[this.axis[Ut].sizeAttr],10),An=this.axis[Ut].scrollbar,Bn=this.contentWrapperEl[this.axis[Ut].scrollOffsetAttr],mr=~~((Bn="x"===Ut&&this.isRtl&&at.getRtlHelpers().isRtlScrollingInverted?-Bn:Bn)/(ot-sn)*(Nn-An.size));mr="x"===Ut&&this.isRtl&&at.getRtlHelpers().isRtlScrollbarInverted?mr+(Nn-An.size):mr,An.el.style.transform="x"===Ut?"translate3d("+mr+"px, 0, 0)":"translate3d(0, "+mr+"px, 0)"}},it.toggleTrackVisibility=function(Ut){void 0===Ut&&(Ut="y");var ot=this.axis[Ut].track.el,Nn=this.axis[Ut].scrollbar.el;this.axis[Ut].isOverflowing||this.axis[Ut].forceVisible?(ot.style.visibility="visible",this.contentWrapperEl.style[this.axis[Ut].overflowAttr]="scroll"):(ot.style.visibility="hidden",this.contentWrapperEl.style[this.axis[Ut].overflowAttr]="hidden"),Nn.style.display=this.axis[Ut].isOverflowing?"block":"none"},it.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},it.onMouseMoveForAxis=function(Ut){void 0===Ut&&(Ut="y"),this.axis[Ut].track.rect=this.axis[Ut].track.el.getBoundingClientRect(),this.axis[Ut].scrollbar.rect=this.axis[Ut].scrollbar.el.getBoundingClientRect(),this.isWithinBounds(this.axis[Ut].scrollbar.rect)?this.axis[Ut].scrollbar.el.classList.add(this.classNames.hover):this.axis[Ut].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[Ut].track.rect)?(this.showScrollbar(Ut),this.axis[Ut].track.el.classList.add(this.classNames.hover)):this.axis[Ut].track.el.classList.remove(this.classNames.hover)},it.onMouseLeaveForAxis=function(Ut){void 0===Ut&&(Ut="y"),this.axis[Ut].track.el.classList.remove(this.classNames.hover),this.axis[Ut].scrollbar.el.classList.remove(this.classNames.hover)},it.showScrollbar=function(Ut){void 0===Ut&&(Ut="y"),this.axis[Ut].isVisible||(this.axis[Ut].scrollbar.el.classList.add(this.classNames.visible),this.axis[Ut].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},it.onDragStart=function(Ut,ot){void 0===ot&&(ot="y");var Nn=yn(this.el),sn=Tt(this.el);this.axis[ot].dragOffset=("y"===ot?Ut.pageY:Ut.pageX)-this.axis[ot].scrollbar.rect[this.axis[ot].offsetAttr],this.draggedAxis=ot,this.el.classList.add(this.classNames.dragging),Nn.addEventListener("mousemove",this.drag,!0),Nn.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(Nn.addEventListener("click",this.preventClick,!0),Nn.addEventListener("dblclick",this.preventClick,!0)):(sn.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},it.onTrackClick=function(Ut,ot){var Nn=this;if(void 0===ot&&(ot="y"),this.options.clickOnTrack){var sn=Tt(this.el);this.axis[ot].scrollbar.rect=this.axis[ot].scrollbar.el.getBoundingClientRect();var Bn=this.axis[ot].scrollbar.rect[this.axis[ot].offsetAttr],ir=parseInt(this.elStyles[this.axis[ot].sizeAttr],10),mr=this.contentWrapperEl[this.axis[ot].scrollOffsetAttr],Nr=("y"===ot?this.mouseY-Bn:this.mouseX-Bn)<0?-1:1,br=-1===Nr?mr-ir:mr+ir;!function rr(){var Mr;if(-1===Nr)mr>br&&(Nn.contentWrapperEl.scrollTo(((Mr={})[Nn.axis[ot].offsetAttr]=mr-=Nn.options.clickOnTrackSpeed,Mr)),sn.requestAnimationFrame(rr));else if(mr<br){var yi;Nn.contentWrapperEl.scrollTo(((yi={})[Nn.axis[ot].offsetAttr]=mr+=Nn.options.clickOnTrackSpeed,yi)),sn.requestAnimationFrame(rr)}}()}},it.getContentElement=function(){return this.contentEl},it.getScrollElement=function(){return this.contentWrapperEl},it.getScrollbarWidth=function(){try{return"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:hn(this.el)}catch(Ut){return hn(this.el)}},it.removeListeners=function(){var Ut=this,ot=Tt(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach(function(Nn){Ut.el.removeEventListener(Nn,Ut.onPointerEvent,!0)}),["touchstart","touchend","touchmove"].forEach(function(Nn){Ut.el.removeEventListener(Nn,Ut.onPointerEvent,{capture:!0,passive:!0})}),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl&&this.contentWrapperEl.removeEventListener("scroll",this.onScroll),ot.removeEventListener("resize",this.onWindowResize),this.mutationObserver&&this.mutationObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},it.unMount=function(){this.removeListeners(),at.instances.delete(this.el)},it.isWithinBounds=function(Ut){return this.mouseX>=Ut.left&&this.mouseX<=Ut.left+Ut.width&&this.mouseY>=Ut.top&&this.mouseY<=Ut.top+Ut.height},it.findChild=function(Ut,ot){var Nn=Ut.matches||Ut.webkitMatchesSelector||Ut.mozMatchesSelector||Ut.msMatchesSelector;return Array.prototype.filter.call(Ut.children,function(sn){return Nn.call(sn,ot)})[0]},at}();Qn.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,clickOnTrackSpeed:40,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3},Qn.instances=new WeakMap;const Ir=Qn;var ht=o(74788);const L=["*"];let Ue=(()=>{class at{constructor(Pt){this.elRef=Pt}ngOnInit(){}ngAfterViewInit(){this.SimpleBar=new Ir(this.elRef.nativeElement,this.options||{})}ngOnDestroy(){this.SimpleBar.unMount(),this.SimpleBar=null}}return at.\u0275fac=function(Pt){return new(Pt||at)(ht.Y36(ht.SBq))},at.\u0275cmp=ht.Xpm({type:at,selectors:[["ngx-simplebar"]],hostAttrs:["data-simplebar","init"],inputs:{options:"options"},ngContentSelectors:L,decls:13,vars:0,consts:[[1,"simplebar-wrapper"],[1,"simplebar-height-auto-observer-wrapper"],[1,"simplebar-height-auto-observer"],[1,"simplebar-mask"],[1,"simplebar-offset"],[1,"simplebar-content-wrapper"],[1,"simplebar-content"],[1,"simplebar-placeholder"],[1,"simplebar-track","simplebar-horizontal"],[1,"simplebar-scrollbar"],[1,"simplebar-track","simplebar-vertical"]],template:function(Pt,Ut){1&Pt&&(ht.F$t(),ht.TgZ(0,"div",0),ht.TgZ(1,"div",1),ht._UZ(2,"div",2),ht.qZA(),ht.TgZ(3,"div",3),ht.TgZ(4,"div",4),ht.TgZ(5,"div",5),ht.TgZ(6,"div",6),ht.Hsn(7),ht.qZA(),ht.qZA(),ht.qZA(),ht.qZA(),ht._UZ(8,"div",7),ht.qZA(),ht.TgZ(9,"div",8),ht._UZ(10,"div",9),ht.qZA(),ht.TgZ(11,"div",10),ht._UZ(12,"div",9),ht.qZA())},styles:["[data-simplebar]{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start;align-content:flex-start;-webkit-box-align:start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:' ';display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;-webkit-box-flex:inherit;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:'';background:#000;border-radius:7px;left:2px;right:2px;opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;-webkit-transition:opacity linear;transition:opacity linear}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{top:2px;bottom:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{height:100%;left:2px;right:2px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:2px;height:7px;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.hs-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}","ngx-simplebar{display:block}"],encapsulation:2}),at})(),nt=(()=>{class at{}return at.\u0275fac=function(Pt){return new(Pt||at)},at.\u0275mod=ht.oAB({type:at}),at.\u0275inj=ht.cJS({imports:[[]]}),at})()},11642:Ge=>{Ge.exports=function(g){var o={};function t(e){if(o[e])return o[e].exports;var s=o[e]={i:e,l:!1,exports:{}};return g[e].call(s.exports,s,s.exports,t),s.l=!0,s.exports}return t.m=g,t.c=o,t.d=function(e,s,a){t.o(e,s)||Object.defineProperty(e,s,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,s){if(1&s&&(e=t(e)),8&s||4&s&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&s&&"string"!=typeof e)for(var l in e)t.d(a,l,function(u){return e[u]}.bind(null,l));return a},t.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(s,"a",s),s},t.o=function(e,s){return Object.prototype.hasOwnProperty.call(e,s)},t.p="/dist",t(t.s=481)}([function(g,o,t){"use strict";g.exports=t(555)},function(g,o,t){g.exports=function(){"use strict";var e=Array.prototype.slice;function s(G,Me){Me&&(G.prototype=Object.create(Me.prototype)),G.prototype.constructor=G}function a(G){return _(G)?G:ln(G)}function l(G){return m(G)?G:ar(G)}function u(G){return b(G)?G:Ln(G)}function h(G){return _(G)&&!T(G)?G:Rn(G)}function _(G){return!(!G||!G[R])}function m(G){return!(!G||!G[j])}function b(G){return!(!G||!G[H])}function T(G){return m(G)||b(G)}function D(G){return!(!G||!G[z])}s(l,a),s(u,a),s(h,a),a.isIterable=_,a.isKeyed=m,a.isIndexed=b,a.isAssociative=T,a.isOrdered=D,a.Keyed=l,a.Indexed=u,a.Set=h;var R="@@__IMMUTABLE_ITERABLE__@@",j="@@__IMMUTABLE_KEYED__@@",H="@@__IMMUTABLE_INDEXED__@@",z="@@__IMMUTABLE_ORDERED__@@",U="delete",I=32,J=31,B={},ie={value:!1},oe={value:!1};function fe(G){return G.value=!1,G}function ne(G){G&&(G.value=!0)}function he(){}function ce(G,Me){Me=Me||0;for(var ft=Math.max(0,G.length-Me),Ft=new Array(ft),Bt=0;Bt<ft;Bt++)Ft[Bt]=G[Bt+Me];return Ft}function Ae(G){return void 0===G.size&&(G.size=G.__iterate(Oe)),G.size}function Se(G,Me){if("number"!=typeof Me){var ft=Me>>>0;if(""+ft!==Me||4294967295===ft)return NaN;Me=ft}return Me<0?Ae(G)+Me:Me}function Oe(){return!0}function be(G,Me,ft){return(0===G||void 0!==ft&&G<=-ft)&&(void 0===Me||void 0!==ft&&Me>=ft)}function ue(G,Me){return $e(G,Me,0)}function He(G,Me){return $e(G,Me,Me)}function $e(G,Me,ft){return void 0===G?ft:G<0?Math.max(0,Me+G):void 0===Me?G:Math.min(Me,G)}var lt="function"==typeof Symbol&&Symbol.iterator,nn="@@iterator",St=lt||nn;function Ot(G){this.next=G}function Qe(G,Me,ft,Ft){var Bt=0===G?Me:1===G?ft:[Me,ft];return Ft?Ft.value=Bt:Ft={value:Bt,done:!1},Ft}function It(){return{value:void 0,done:!0}}function ae(G){return!!Jt(G)}function Ie(G){return G&&"function"==typeof G.next}function dt(G){var Me=Jt(G);return Me&&Me.call(G)}function Jt(G){var Me=G&&(lt&&G[lt]||G[nn]);if("function"==typeof Me)return Me}function zt(G){return G&&"number"==typeof G.length}function ln(G){return null==G?qn():_(G)?G.toSeq():function(G){var Me=Fn(G)||"object"==typeof G&&new Cn(G);if(!Me)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+G);return Me}(G)}function ar(G){return null==G?qn().toKeyedSeq():_(G)?m(G)?G.toSeq():G.fromEntrySeq():Sn(G)}function Ln(G){return null==G?qn():_(G)?m(G)?G.entrySeq():G.toIndexedSeq():$n(G)}function Rn(G){return(null==G?qn():_(G)?m(G)?G.entrySeq():G:$n(G)).toSetSeq()}Ot.prototype.toString=function(){return"[Iterator]"},Ot.KEYS=0,Ot.VALUES=1,Ot.ENTRIES=2,Ot.prototype.inspect=Ot.prototype.toSource=function(){return this.toString()},Ot.prototype[St]=function(){return this},s(ln,a),ln.of=function(){return ln(arguments)},ln.prototype.toSeq=function(){return this},ln.prototype.toString=function(){return this.__toString("Seq {","}")},ln.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},ln.prototype.__iterate=function(G,Me){return Dn(this,G,Me,!0)},ln.prototype.__iterator=function(G,Me){return mn(this,G,Me,!0)},s(ar,ln),ar.prototype.toKeyedSeq=function(){return this},s(Ln,ln),Ln.of=function(){return Ln(arguments)},Ln.prototype.toIndexedSeq=function(){return this},Ln.prototype.toString=function(){return this.__toString("Seq [","]")},Ln.prototype.__iterate=function(G,Me){return Dn(this,G,Me,!1)},Ln.prototype.__iterator=function(G,Me){return mn(this,G,Me,!1)},s(Rn,ln),Rn.of=function(){return Rn(arguments)},Rn.prototype.toSetSeq=function(){return this},ln.isSeq=Kn,ln.Keyed=ar,ln.Set=Rn,ln.Indexed=Ln;var er,Mn,Ht,tr="@@__IMMUTABLE_SEQ__@@";function Yn(G){this._array=G,this.size=G.length}function Cn(G){var Me=Object.keys(G);this._object=G,this._keys=Me,this.size=Me.length}function Kt(G){this._iterable=G,this.size=G.length||G.size}function dn(G){this._iterator=G,this._iteratorCache=[]}function Kn(G){return!(!G||!G[tr])}function qn(){return er||(er=new Yn([]))}function Sn(G){var Me=Array.isArray(G)?new Yn(G).fromEntrySeq():Ie(G)?new dn(G).fromEntrySeq():ae(G)?new Kt(G).fromEntrySeq():"object"==typeof G?new Cn(G):void 0;if(!Me)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+G);return Me}function $n(G){var Me=Fn(G);if(!Me)throw new TypeError("Expected Array or iterable object of values: "+G);return Me}function Fn(G){return zt(G)?new Yn(G):Ie(G)?new dn(G):ae(G)?new Kt(G):void 0}function Dn(G,Me,ft,Ft){var Bt=G._cache;if(Bt){for(var In=Bt.length-1,Xn=0;Xn<=In;Xn++){var Sr=Bt[ft?In-Xn:Xn];if(!1===Me(Sr[1],Ft?Sr[0]:Xn,G))return Xn+1}return Xn}return G.__iterateUncached(Me,ft)}function mn(G,Me,ft,Ft){var Bt=G._cache;if(Bt){var In=Bt.length-1,Xn=0;return new Ot(function(){var Sr=Bt[ft?In-Xn:Xn];return Xn++>In?{value:void 0,done:!0}:Qe(Me,Ft?Sr[0]:Xn-1,Sr[1])})}return G.__iteratorUncached(Me,ft)}function jn(G,Me){return Me?Xt(Me,G,"",{"":G}):ut(G)}function Xt(G,Me,ft,Ft){return Array.isArray(Me)?G.call(Ft,ft,Ln(Me).map(function(Bt,In){return Xt(G,Bt,In,Me)})):mt(Me)?G.call(Ft,ft,ar(Me).map(function(Bt,In){return Xt(G,Bt,In,Me)})):Me}function ut(G){return Array.isArray(G)?Ln(G).map(ut).toList():mt(G)?ar(G).map(ut).toMap():G}function mt(G){return G&&(G.constructor===Object||void 0===G.constructor)}function Tt(G,Me){if(G===Me||G!=G&&Me!=Me)return!0;if(!G||!Me)return!1;if("function"==typeof G.valueOf&&"function"==typeof Me.valueOf){if((G=G.valueOf())===(Me=Me.valueOf())||G!=G&&Me!=Me)return!0;if(!G||!Me)return!1}return!("function"!=typeof G.equals||"function"!=typeof Me.equals||!G.equals(Me))}function yn(G,Me){if(G===Me)return!0;if(!_(Me)||void 0!==G.size&&void 0!==Me.size&&G.size!==Me.size||void 0!==G.__hash&&void 0!==Me.__hash&&G.__hash!==Me.__hash||m(G)!==m(Me)||b(G)!==b(Me)||D(G)!==D(Me))return!1;if(0===G.size&&0===Me.size)return!0;var ft=!T(G);if(D(G)){var Ft=G.entries();return Me.every(function(pi,Fr){var zr=Ft.next().value;return zr&&Tt(zr[1],pi)&&(ft||Tt(zr[0],Fr))})&&Ft.next().done}var Bt=!1;if(void 0===G.size)if(void 0===Me.size)"function"==typeof G.cacheResult&&G.cacheResult();else{Bt=!0;var In=G;G=Me,Me=In}var Xn=!0,Sr=Me.__iterate(function(pi,Fr){if(ft?!G.has(pi):Bt?!Tt(pi,G.get(Fr,B)):!Tt(G.get(Fr,B),pi))return Xn=!1,!1});return Xn&&G.size===Sr}function et(G,Me){if(!(this instanceof et))return new et(G,Me);if(this._value=G,this.size=void 0===Me?1/0:Math.max(0,Me),0===this.size){if(Mn)return Mn;Mn=this}}function jt(G,Me){if(!G)throw new Error(Me)}function hn(G,Me,ft){if(!(this instanceof hn))return new hn(G,Me,ft);if(jt(0!==ft,"Cannot step a Range by 0"),G=G||0,void 0===Me&&(Me=1/0),ft=void 0===ft?1:Math.abs(ft),Me<G&&(ft=-ft),this._start=G,this._end=Me,this._step=ft,this.size=Math.max(0,Math.ceil((Me-G)/ft-1)+1),0===this.size){if(Ht)return Ht;Ht=this}}function Qn(){throw TypeError("Abstract")}function Ir(){}function ht(){}function L(){}ln.prototype[tr]=!0,s(Yn,Ln),Yn.prototype.get=function(G,Me){return this.has(G)?this._array[Se(this,G)]:Me},Yn.prototype.__iterate=function(G,Me){for(var ft=this._array,Ft=ft.length-1,Bt=0;Bt<=Ft;Bt++)if(!1===G(ft[Me?Ft-Bt:Bt],Bt,this))return Bt+1;return Bt},Yn.prototype.__iterator=function(G,Me){var ft=this._array,Ft=ft.length-1,Bt=0;return new Ot(function(){return Bt>Ft?{value:void 0,done:!0}:Qe(G,Bt,ft[Me?Ft-Bt++:Bt++])})},s(Cn,ar),Cn.prototype.get=function(G,Me){return void 0===Me||this.has(G)?this._object[G]:Me},Cn.prototype.has=function(G){return this._object.hasOwnProperty(G)},Cn.prototype.__iterate=function(G,Me){for(var ft=this._object,Ft=this._keys,Bt=Ft.length-1,In=0;In<=Bt;In++){var Xn=Ft[Me?Bt-In:In];if(!1===G(ft[Xn],Xn,this))return In+1}return In},Cn.prototype.__iterator=function(G,Me){var ft=this._object,Ft=this._keys,Bt=Ft.length-1,In=0;return new Ot(function(){var Xn=Ft[Me?Bt-In:In];return In++>Bt?{value:void 0,done:!0}:Qe(G,Xn,ft[Xn])})},Cn.prototype[z]=!0,s(Kt,Ln),Kt.prototype.__iterateUncached=function(G,Me){if(Me)return this.cacheResult().__iterate(G,Me);var ft=dt(this._iterable),Ft=0;if(Ie(ft))for(var Bt;!(Bt=ft.next()).done&&!1!==G(Bt.value,Ft++,this););return Ft},Kt.prototype.__iteratorUncached=function(G,Me){if(Me)return this.cacheResult().__iterator(G,Me);var ft=dt(this._iterable);if(!Ie(ft))return new Ot(It);var Ft=0;return new Ot(function(){var Bt=ft.next();return Bt.done?Bt:Qe(G,Ft++,Bt.value)})},s(dn,Ln),dn.prototype.__iterateUncached=function(G,Me){if(Me)return this.cacheResult().__iterate(G,Me);for(var ft,Ft=this._iterator,Bt=this._iteratorCache,In=0;In<Bt.length;)if(!1===G(Bt[In],In++,this))return In;for(;!(ft=Ft.next()).done;){var Xn=ft.value;if(Bt[In]=Xn,!1===G(Xn,In++,this))break}return In},dn.prototype.__iteratorUncached=function(G,Me){if(Me)return this.cacheResult().__iterator(G,Me);var ft=this._iterator,Ft=this._iteratorCache,Bt=0;return new Ot(function(){if(Bt>=Ft.length){var In=ft.next();if(In.done)return In;Ft[Bt]=In.value}return Qe(G,Bt,Ft[Bt++])})},s(et,Ln),et.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},et.prototype.get=function(G,Me){return this.has(G)?this._value:Me},et.prototype.includes=function(G){return Tt(this._value,G)},et.prototype.slice=function(G,Me){var ft=this.size;return be(G,Me,ft)?this:new et(this._value,He(Me,ft)-ue(G,ft))},et.prototype.reverse=function(){return this},et.prototype.indexOf=function(G){return Tt(this._value,G)?0:-1},et.prototype.lastIndexOf=function(G){return Tt(this._value,G)?this.size:-1},et.prototype.__iterate=function(G,Me){for(var ft=0;ft<this.size;ft++)if(!1===G(this._value,ft,this))return ft+1;return ft},et.prototype.__iterator=function(G,Me){var ft=this,Ft=0;return new Ot(function(){return Ft<ft.size?Qe(G,Ft++,ft._value):{value:void 0,done:!0}})},et.prototype.equals=function(G){return G instanceof et?Tt(this._value,G._value):yn(G)},s(hn,Ln),hn.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},hn.prototype.get=function(G,Me){return this.has(G)?this._start+Se(this,G)*this._step:Me},hn.prototype.includes=function(G){var Me=(G-this._start)/this._step;return Me>=0&&Me<this.size&&Me===Math.floor(Me)},hn.prototype.slice=function(G,Me){return be(G,Me,this.size)?this:(G=ue(G,this.size),(Me=He(Me,this.size))<=G?new hn(0,0):new hn(this.get(G,this._end),this.get(Me,this._end),this._step))},hn.prototype.indexOf=function(G){var Me=G-this._start;if(Me%this._step==0){var ft=Me/this._step;if(ft>=0&&ft<this.size)return ft}return-1},hn.prototype.lastIndexOf=function(G){return this.indexOf(G)},hn.prototype.__iterate=function(G,Me){for(var ft=this.size-1,Ft=this._step,Bt=Me?this._start+ft*Ft:this._start,In=0;In<=ft;In++){if(!1===G(Bt,In,this))return In+1;Bt+=Me?-Ft:Ft}return In},hn.prototype.__iterator=function(G,Me){var ft=this.size-1,Ft=this._step,Bt=Me?this._start+ft*Ft:this._start,In=0;return new Ot(function(){var Xn=Bt;return Bt+=Me?-Ft:Ft,In>ft?{value:void 0,done:!0}:Qe(G,In++,Xn)})},hn.prototype.equals=function(G){return G instanceof hn?this._start===G._start&&this._end===G._end&&this._step===G._step:yn(this,G)},s(Qn,a),s(Ir,Qn),s(ht,Qn),s(L,Qn),Qn.Keyed=Ir,Qn.Indexed=ht,Qn.Set=L;var Ue="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(G,Me){var ft=65535&(G|=0),Ft=65535&(Me|=0);return ft*Ft+((G>>>16)*Ft+ft*(Me>>>16)<<16>>>0)|0};function nt(G){return G>>>1&1073741824|3221225471&G}function at(G){if(!1===G||null==G||"function"==typeof G.valueOf&&(!1===(G=G.valueOf())||null==G))return 0;if(!0===G)return 1;var Me=typeof G;if("number"===Me){if(G!=G||G===1/0)return 0;var ft=0|G;for(ft!==G&&(ft^=4294967295*G);G>4294967295;)ft^=G/=4294967295;return nt(ft)}if("string"===Me)return G.length>_r?function(G){var Me=Jn[G];return void 0===Me&&(Me=Pt(G),br===Nr&&(br=0,Jn={}),br++,Jn[G]=Me),Me}(G):Pt(G);if("function"==typeof G.hashCode)return G.hashCode();if("object"===Me)return function(G){var Me;if(Bn&&void 0!==(Me=An.get(G))||void 0!==(Me=G[mr])||!Nn&&(void 0!==(Me=G.propertyIsEnumerable&&G.propertyIsEnumerable[mr])||void 0!==(Me=function(G){if(G&&G.nodeType>0)switch(G.nodeType){case 1:return G.uniqueID;case 9:return G.documentElement&&G.documentElement.uniqueID}}(G))))return Me;if(Me=++ir,1073741824&ir&&(ir=0),Bn)An.set(G,Me);else{if(void 0!==ot&&!1===ot(G))throw new Error("Non-extensible objects are not allowed as keys.");if(Nn)Object.defineProperty(G,mr,{enumerable:!1,configurable:!1,writable:!1,value:Me});else if(void 0!==G.propertyIsEnumerable&&G.propertyIsEnumerable===G.constructor.prototype.propertyIsEnumerable)G.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},G.propertyIsEnumerable[mr]=Me;else{if(void 0===G.nodeType)throw new Error("Unable to set a non-enumerable property on object.");G[mr]=Me}}return Me}(G);if("function"==typeof G.toString)return Pt(G.toString());throw new Error("Value type "+Me+" cannot be hashed.")}function Pt(G){for(var Me=0,ft=0;ft<G.length;ft++)Me=31*Me+G.charCodeAt(ft)|0;return nt(Me)}var An,ot=Object.isExtensible,Nn=function(){try{return Object.defineProperty({},"@",{}),!0}catch(G){return!1}}(),Bn="function"==typeof WeakMap;Bn&&(An=new WeakMap);var ir=0,mr="__immutablehash__";"function"==typeof Symbol&&(mr=Symbol(mr));var _r=16,Nr=255,br=0,Jn={};function rr(G){jt(G!==1/0,"Cannot perform this action with an infinite size.")}function Mr(G){return null==G?rt():yi(G)&&!D(G)?G:rt().withMutations(function(Me){var ft=l(G);rr(ft.size),ft.forEach(function(Ft,Bt){return Me.set(Bt,Ft)})})}function yi(G){return!(!G||!G[Mi])}s(Mr,Ir),Mr.of=function(){var G=e.call(arguments,0);return rt().withMutations(function(Me){for(var ft=0;ft<G.length;ft+=2){if(ft+1>=G.length)throw new Error("Missing value for key: "+G[ft]);Me.set(G[ft],G[ft+1])}})},Mr.prototype.toString=function(){return this.__toString("Map {","}")},Mr.prototype.get=function(G,Me){return this._root?this._root.get(0,void 0,G,Me):Me},Mr.prototype.set=function(G,Me){return yt(this,G,Me)},Mr.prototype.setIn=function(G,Me){return this.updateIn(G,B,function(){return Me})},Mr.prototype.remove=function(G){return yt(this,G,B)},Mr.prototype.deleteIn=function(G){return this.updateIn(G,function(){return B})},Mr.prototype.update=function(G,Me,ft){return 1===arguments.length?G(this):this.updateIn([G],Me,ft)},Mr.prototype.updateIn=function(G,Me,ft){ft||(ft=Me,Me=void 0);var Ft=fi(this,as(G),Me,ft);return Ft===B?void 0:Ft},Mr.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):rt()},Mr.prototype.merge=function(){return ai(this,void 0,arguments)},Mr.prototype.mergeWith=function(G){return ai(this,G,e.call(arguments,1))},Mr.prototype.mergeIn=function(G){var Me=e.call(arguments,1);return this.updateIn(G,rt(),function(ft){return"function"==typeof ft.merge?ft.merge.apply(ft,Me):Me[Me.length-1]})},Mr.prototype.mergeDeep=function(){return ai(this,Dr,arguments)},Mr.prototype.mergeDeepWith=function(G){var Me=e.call(arguments,1);return ai(this,Jr(G),Me)},Mr.prototype.mergeDeepIn=function(G){var Me=e.call(arguments,1);return this.updateIn(G,rt(),function(ft){return"function"==typeof ft.mergeDeep?ft.mergeDeep.apply(ft,Me):Me[Me.length-1]})},Mr.prototype.sort=function(G){return $r(pt(this,G))},Mr.prototype.sortBy=function(G,Me){return $r(pt(this,Me,G))},Mr.prototype.withMutations=function(G){var Me=this.asMutable();return G(Me),Me.wasAltered()?Me.__ensureOwner(this.__ownerID):this},Mr.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new he)},Mr.prototype.asImmutable=function(){return this.__ensureOwner()},Mr.prototype.wasAltered=function(){return this.__altered},Mr.prototype.__iterator=function(G,Me){return new Ke(this,G,Me)},Mr.prototype.__iterate=function(G,Me){var ft=this,Ft=0;return this._root&&this._root.iterate(function(Bt){return Ft++,G(Bt[1],Bt[0],ft)},Me),Ft},Mr.prototype.__ensureOwner=function(G){return G===this.__ownerID?this:G?Ct(this.size,this._root,G,this.__hash):(this.__ownerID=G,this.__altered=!1,this)},Mr.isMap=yi;var Li,Mi="@@__IMMUTABLE_MAP__@@",Oi=Mr.prototype;function Xr(G,Me){this.ownerID=G,this.entries=Me}function Kr(G,Me,ft){this.ownerID=G,this.bitmap=Me,this.nodes=ft}function di(G,Me,ft){this.ownerID=G,this.count=Me,this.nodes=ft}function se(G,Me,ft){this.ownerID=G,this.keyHash=Me,this.entries=ft}function ct(G,Me,ft){this.ownerID=G,this.keyHash=Me,this.entry=ft}function Ke(G,Me,ft){this._type=Me,this._reverse=ft,this._stack=G._root&&Vt(G._root)}function Xe(G,Me){return Qe(G,Me[0],Me[1])}function Vt(G,Me){return{node:G,index:0,__prev:Me}}function Ct(G,Me,ft,Ft){var Bt=Object.create(Oi);return Bt.size=G,Bt._root=Me,Bt.__ownerID=ft,Bt.__hash=Ft,Bt.__altered=!1,Bt}function rt(){return Li||(Li=Ct(0))}function yt(G,Me,ft){var Ft,Bt;if(G._root){var In=fe(ie),Xn=fe(oe);if(Ft=qe(G._root,G.__ownerID,0,void 0,Me,ft,In,Xn),!Xn.value)return G;Bt=G.size+(In.value?ft===B?-1:1:0)}else{if(ft===B)return G;Bt=1,Ft=new Xr(G.__ownerID,[[Me,ft]])}return G.__ownerID?(G.size=Bt,G._root=Ft,G.__hash=void 0,G.__altered=!0,G):Ft?Ct(Bt,Ft):rt()}function qe(G,Me,ft,Ft,Bt,In,Xn,Sr){return G?G.update(Me,ft,Ft,Bt,In,Xn,Sr):In===B?G:(ne(Sr),ne(Xn),new ct(Me,Ft,[Bt,In]))}function $t(G){return G.constructor===ct||G.constructor===se}function or(G,Me,ft,Ft,Bt){if(G.keyHash===Ft)return new se(Me,Ft,[G.entry,Bt]);var In,Xn=(0===ft?G.keyHash:G.keyHash>>>ft)&J,Sr=(0===ft?Ft:Ft>>>ft)&J;return new Kr(Me,1<<Xn|1<<Sr,Xn===Sr?[or(G,Me,ft+5,Ft,Bt)]:(In=new ct(Me,Ft,Bt),Xn<Sr?[G,In]:[In,G]))}function ai(G,Me,ft){for(var Ft=[],Bt=0;Bt<ft.length;Bt++){var In=ft[Bt],Xn=l(In);_(In)||(Xn=Xn.map(function(Sr){return jn(Sr)})),Ft.push(Xn)}return rn(G,Me,Ft)}function Dr(G,Me,ft){return G&&G.mergeDeep&&_(Me)?G.mergeDeep(Me):Tt(G,Me)?G:Me}function Jr(G){return function(Me,ft,Ft){if(Me&&Me.mergeDeepWith&&_(ft))return Me.mergeDeepWith(G,ft);var Bt=G(Me,ft,Ft);return Tt(Me,Bt)?Me:Bt}}function rn(G,Me,ft){return 0===(ft=ft.filter(function(Ft){return 0!==Ft.size})).length?G:0!==G.size||G.__ownerID||1!==ft.length?G.withMutations(function(Ft){for(var Bt=Me?function(Xn,Sr){Ft.update(Sr,B,function(pi){return pi===B?Xn:Me(pi,Xn,Sr)})}:function(Xn,Sr){Ft.set(Sr,Xn)},In=0;In<ft.length;In++)ft[In].forEach(Bt)}):G.constructor(ft[0])}function fi(G,Me,ft,Ft){var Bt=G===B,In=Me.next();if(In.done){var Xn=Bt?ft:G,Sr=Ft(Xn);return Sr===Xn?G:Sr}jt(Bt||G&&G.set,"invalid keyPath");var pi=In.value,Fr=Bt?B:G.get(pi,B),zr=fi(Fr,Me,ft,Ft);return zr===Fr?G:zr===B?G.remove(pi):(Bt?rt():G).set(pi,zr)}function Ei(G){return G=(G=(858993459&(G-=G>>1&1431655765))+(G>>2&858993459))+(G>>4)&252645135,127&(G+=G>>8)+(G>>16)}function wi(G,Me,ft,Ft){var Bt=Ft?G:ce(G);return Bt[Me]=ft,Bt}Oi[Mi]=!0,Oi[U]=Oi.remove,Oi.removeIn=Oi.deleteIn,Xr.prototype.get=function(G,Me,ft,Ft){for(var Bt=this.entries,In=0,Xn=Bt.length;In<Xn;In++)if(Tt(ft,Bt[In][0]))return Bt[In][1];return Ft},Xr.prototype.update=function(G,Me,ft,Ft,Bt,In,Xn){for(var Sr=Bt===B,pi=this.entries,Fr=0,zr=pi.length;Fr<zr&&!Tt(Ft,pi[Fr][0]);Fr++);var Un=Fr<zr;if(Un?pi[Fr][1]===Bt:Sr)return this;if(ne(Xn),(Sr||!Un)&&ne(In),!Sr||1!==pi.length){if(!Un&&!Sr&&pi.length>=to)return function(G,Me,ft,Ft){G||(G=new he);for(var Bt=new ct(G,at(ft),[ft,Ft]),In=0;In<Me.length;In++){var Xn=Me[In];Bt=Bt.update(G,0,void 0,Xn[0],Xn[1])}return Bt}(G,pi,Ft,Bt);var lr=G&&G===this.ownerID,dr=lr?pi:ce(pi);return Un?Sr?Fr===zr-1?dr.pop():dr[Fr]=dr.pop():dr[Fr]=[Ft,Bt]:dr.push([Ft,Bt]),lr?(this.entries=dr,this):new Xr(G,dr)}},Kr.prototype.get=function(G,Me,ft,Ft){void 0===Me&&(Me=at(ft));var Bt=1<<((0===G?Me:Me>>>G)&J),In=this.bitmap;return 0==(In&Bt)?Ft:this.nodes[Ei(In&Bt-1)].get(G+5,Me,ft,Ft)},Kr.prototype.update=function(G,Me,ft,Ft,Bt,In,Xn){void 0===ft&&(ft=at(Ft));var Sr=(0===Me?ft:ft>>>Me)&J,pi=1<<Sr,Fr=this.bitmap,zr=0!=(Fr&pi);if(!zr&&Bt===B)return this;var Un=Ei(Fr&pi-1),lr=this.nodes,dr=zr?lr[Un]:void 0,li=qe(dr,G,Me+5,ft,Ft,Bt,In,Xn);if(li===dr)return this;if(!zr&&li&&lr.length>=qi)return function(G,Me,ft,Ft,Bt){for(var In=0,Xn=new Array(I),Sr=0;0!==ft;Sr++,ft>>>=1)Xn[Sr]=1&ft?Me[In++]:void 0;return Xn[Ft]=Bt,new di(G,In+1,Xn)}(G,lr,Fr,Sr,li);if(zr&&!li&&2===lr.length&&$t(lr[1^Un]))return lr[1^Un];if(zr&&li&&1===lr.length&&$t(li))return li;var Ti=G&&G===this.ownerID,Oo=zr?li?Fr:Fr^pi:Fr|pi,es=zr?li?wi(lr,Un,li,Ti):function(G,Me,ft){var Ft=G.length-1;if(ft&&Me===Ft)return G.pop(),G;for(var Bt=new Array(Ft),In=0,Xn=0;Xn<Ft;Xn++)Xn===Me&&(In=1),Bt[Xn]=G[Xn+In];return Bt}(lr,Un,Ti):function(G,Me,ft,Ft){var Bt=G.length+1;if(Ft&&Me+1===Bt)return G[Me]=ft,G;for(var In=new Array(Bt),Xn=0,Sr=0;Sr<Bt;Sr++)Sr===Me?(In[Sr]=ft,Xn=-1):In[Sr]=G[Sr+Xn];return In}(lr,Un,li,Ti);return Ti?(this.bitmap=Oo,this.nodes=es,this):new Kr(G,Oo,es)},di.prototype.get=function(G,Me,ft,Ft){void 0===Me&&(Me=at(ft));var In=this.nodes[(0===G?Me:Me>>>G)&J];return In?In.get(G+5,Me,ft,Ft):Ft},di.prototype.update=function(G,Me,ft,Ft,Bt,In,Xn){void 0===ft&&(ft=at(Ft));var Sr=(0===Me?ft:ft>>>Me)&J,Fr=this.nodes,zr=Fr[Sr];if(Bt===B&&!zr)return this;var Un=qe(zr,G,Me+5,ft,Ft,Bt,In,Xn);if(Un===zr)return this;var lr=this.count;if(zr){if(!Un&&--lr<Wi)return function(G,Me,ft,Ft){for(var Bt=0,In=0,Xn=new Array(ft),Sr=0,pi=1,Fr=Me.length;Sr<Fr;Sr++,pi<<=1){var zr=Me[Sr];void 0!==zr&&Sr!==Ft&&(Bt|=pi,Xn[In++]=zr)}return new Kr(G,Bt,Xn)}(G,Fr,lr,Sr)}else lr++;var dr=G&&G===this.ownerID,li=wi(Fr,Sr,Un,dr);return dr?(this.count=lr,this.nodes=li,this):new di(G,lr,li)},se.prototype.get=function(G,Me,ft,Ft){for(var Bt=this.entries,In=0,Xn=Bt.length;In<Xn;In++)if(Tt(ft,Bt[In][0]))return Bt[In][1];return Ft},se.prototype.update=function(G,Me,ft,Ft,Bt,In,Xn){void 0===ft&&(ft=at(Ft));var Sr=Bt===B;if(ft!==this.keyHash)return Sr?this:(ne(Xn),ne(In),or(this,G,Me,ft,[Ft,Bt]));for(var pi=this.entries,Fr=0,zr=pi.length;Fr<zr&&!Tt(Ft,pi[Fr][0]);Fr++);var Un=Fr<zr;if(Un?pi[Fr][1]===Bt:Sr)return this;if(ne(Xn),(Sr||!Un)&&ne(In),Sr&&2===zr)return new ct(G,this.keyHash,pi[1^Fr]);var lr=G&&G===this.ownerID,dr=lr?pi:ce(pi);return Un?Sr?Fr===zr-1?dr.pop():dr[Fr]=dr.pop():dr[Fr]=[Ft,Bt]:dr.push([Ft,Bt]),lr?(this.entries=dr,this):new se(G,this.keyHash,dr)},ct.prototype.get=function(G,Me,ft,Ft){return Tt(ft,this.entry[0])?this.entry[1]:Ft},ct.prototype.update=function(G,Me,ft,Ft,Bt,In,Xn){var Sr=Bt===B,pi=Tt(Ft,this.entry[0]);return(pi?Bt===this.entry[1]:Sr)?this:(ne(Xn),Sr?void ne(In):pi?G&&G===this.ownerID?(this.entry[1]=Bt,this):new ct(G,this.keyHash,[Ft,Bt]):(ne(In),or(this,G,Me,at(Ft),[Ft,Bt])))},Xr.prototype.iterate=se.prototype.iterate=function(G,Me){for(var ft=this.entries,Ft=0,Bt=ft.length-1;Ft<=Bt;Ft++)if(!1===G(ft[Me?Bt-Ft:Ft]))return!1},Kr.prototype.iterate=di.prototype.iterate=function(G,Me){for(var ft=this.nodes,Ft=0,Bt=ft.length-1;Ft<=Bt;Ft++){var In=ft[Me?Bt-Ft:Ft];if(In&&!1===In.iterate(G,Me))return!1}},ct.prototype.iterate=function(G,Me){return G(this.entry)},s(Ke,Ot),Ke.prototype.next=function(){for(var G=this._type,Me=this._stack;Me;){var ft,Ft=Me.node,Bt=Me.index++;if(Ft.entry){if(0===Bt)return Xe(G,Ft.entry)}else if(Ft.entries){if(Bt<=(ft=Ft.entries.length-1))return Xe(G,Ft.entries[this._reverse?ft-Bt:Bt])}else if(Bt<=(ft=Ft.nodes.length-1)){var In=Ft.nodes[this._reverse?ft-Bt:Bt];if(In){if(In.entry)return Xe(G,In.entry);Me=this._stack=Vt(In,Me)}continue}Me=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var to=8,qi=16,Wi=8;function eo(G){var Me=oa();if(null==G)return Me;if(Gi(G))return G;var ft=u(G),Ft=ft.size;return 0===Ft?Me:(rr(Ft),Ft>0&&Ft<I?qo(0,Ft,5,null,new Bo(ft.toArray())):Me.withMutations(function(Bt){Bt.setSize(Ft),ft.forEach(function(In,Xn){return Bt.set(Xn,In)})}))}function Gi(G){return!(!G||!G[Wo])}s(eo,ht),eo.of=function(){return this(arguments)},eo.prototype.toString=function(){return this.__toString("List [","]")},eo.prototype.get=function(G,Me){if((G=Se(this,G))>=0&&G<this.size){var ft=ee(this,G+=this._origin);return ft&&ft.array[G&J]}return Me},eo.prototype.set=function(G,Me){return function(G,Me,ft){if((Me=Se(G,Me))!=Me)return G;if(Me>=G.size||Me<0)return G.withMutations(function(Xn){Me<0?Ve(Xn,Me).set(0,ft):Ve(Xn,0,Me+1).set(Me,ft)});Me+=G._origin;var Ft=G._tail,Bt=G._root,In=fe(oe);return Me>=Tn(G._capacity)?Ft=st(Ft,G.__ownerID,0,Me,ft,In):Bt=st(Bt,G.__ownerID,G._level,Me,ft,In),In.value?G.__ownerID?(G._root=Bt,G._tail=Ft,G.__hash=void 0,G.__altered=!0,G):qo(G._origin,G._capacity,G._level,Bt,Ft):G}(this,G,Me)},eo.prototype.remove=function(G){return this.has(G)?0===G?this.shift():G===this.size-1?this.pop():this.splice(G,1):this},eo.prototype.insert=function(G,Me){return this.splice(G,0,Me)},eo.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=5,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):oa()},eo.prototype.push=function(){var G=arguments,Me=this.size;return this.withMutations(function(ft){Ve(ft,0,Me+G.length);for(var Ft=0;Ft<G.length;Ft++)ft.set(Me+Ft,G[Ft])})},eo.prototype.pop=function(){return Ve(this,0,-1)},eo.prototype.unshift=function(){var G=arguments;return this.withMutations(function(Me){Ve(Me,-G.length);for(var ft=0;ft<G.length;ft++)Me.set(ft,G[ft])})},eo.prototype.shift=function(){return Ve(this,1)},eo.prototype.merge=function(){return fn(this,void 0,arguments)},eo.prototype.mergeWith=function(G){return fn(this,G,e.call(arguments,1))},eo.prototype.mergeDeep=function(){return fn(this,Dr,arguments)},eo.prototype.mergeDeepWith=function(G){var Me=e.call(arguments,1);return fn(this,Jr(G),Me)},eo.prototype.setSize=function(G){return Ve(this,0,G)},eo.prototype.slice=function(G,Me){var ft=this.size;return be(G,Me,ft)?this:Ve(this,ue(G,ft),He(Me,ft))},eo.prototype.__iterator=function(G,Me){var ft=0,Ft=ds(this,Me);return new Ot(function(){var Bt=Ft();return Bt===ua?{value:void 0,done:!0}:Qe(G,ft++,Bt)})},eo.prototype.__iterate=function(G,Me){for(var ft,Ft=0,Bt=ds(this,Me);(ft=Bt())!==ua&&!1!==G(ft,Ft++,this););return Ft},eo.prototype.__ensureOwner=function(G){return G===this.__ownerID?this:G?qo(this._origin,this._capacity,this._level,this._root,this._tail,G,this.__hash):(this.__ownerID=G,this)},eo.isList=Gi;var Wo="@@__IMMUTABLE_LIST__@@",Ro=eo.prototype;function Bo(G,Me){this.array=G,this.ownerID=Me}Ro[Wo]=!0,Ro[U]=Ro.remove,Ro.setIn=Oi.setIn,Ro.deleteIn=Ro.removeIn=Oi.removeIn,Ro.update=Oi.update,Ro.updateIn=Oi.updateIn,Ro.mergeIn=Oi.mergeIn,Ro.mergeDeepIn=Oi.mergeDeepIn,Ro.withMutations=Oi.withMutations,Ro.asMutable=Oi.asMutable,Ro.asImmutable=Oi.asImmutable,Ro.wasAltered=Oi.wasAltered,Bo.prototype.removeBefore=function(G,Me,ft){if(ft===Me?1<<Me:0===this.array.length)return this;var Ft=ft>>>Me&J;if(Ft>=this.array.length)return new Bo([],G);var Bt,In=0===Ft;if(Me>0){var Xn=this.array[Ft];if((Bt=Xn&&Xn.removeBefore(G,Me-5,ft))===Xn&&In)return this}if(In&&!Bt)return this;var Sr=pn(this,G);if(!In)for(var pi=0;pi<Ft;pi++)Sr.array[pi]=void 0;return Bt&&(Sr.array[Ft]=Bt),Sr},Bo.prototype.removeAfter=function(G,Me,ft){if(ft===(Me?1<<Me:0)||0===this.array.length)return this;var Ft,Bt=ft-1>>>Me&J;if(Bt>=this.array.length)return this;if(Me>0){var In=this.array[Bt];if((Ft=In&&In.removeAfter(G,Me-5,ft))===In&&Bt===this.array.length-1)return this}var Xn=pn(this,G);return Xn.array.splice(Bt+1),Ft&&(Xn.array[Bt]=Ft),Xn};var Ko,ts,ua={};function ds(G,Me){var ft=G._origin,Ft=G._capacity,Bt=Tn(Ft),In=G._tail;return function Xn(Fr,zr,Un){return 0===zr?function(Fr,zr){var Un=zr===Bt?In&&In.array:Fr&&Fr.array,lr=zr>ft?0:ft-zr,dr=Ft-zr;return dr>I&&(dr=I),function(){if(lr===dr)return ua;var li=Me?--dr:lr++;return Un&&Un[li]}}(Fr,Un):function(Fr,zr,Un){var lr,dr=Fr&&Fr.array,li=Un>ft?0:ft-Un>>zr,Ti=1+(Ft-Un>>zr);return Ti>I&&(Ti=I),function(){for(;;){if(lr){var Oo=lr();if(Oo!==ua)return Oo;lr=null}if(li===Ti)return ua;var es=Me?--Ti:li++;lr=Xn(dr&&dr[es],zr-5,Un+(es<<zr))}}}(Fr,zr,Un)}(G._root,G._level,0)}function qo(G,Me,ft,Ft,Bt,In,Xn){var Sr=Object.create(Ro);return Sr.size=Me-G,Sr._origin=G,Sr._capacity=Me,Sr._level=ft,Sr._root=Ft,Sr._tail=Bt,Sr.__ownerID=In,Sr.__hash=Xn,Sr.__altered=!1,Sr}function oa(){return Ko||(Ko=qo(0,0,5))}function st(G,Me,ft,Ft,Bt,In){var Xn,Sr=Ft>>>ft&J,pi=G&&Sr<G.array.length;if(!pi&&void 0===Bt)return G;if(ft>0){var Fr=G&&G.array[Sr],zr=st(Fr,Me,ft-5,Ft,Bt,In);return zr===Fr?G:((Xn=pn(G,Me)).array[Sr]=zr,Xn)}return pi&&G.array[Sr]===Bt?G:(ne(In),Xn=pn(G,Me),void 0===Bt&&Sr===Xn.array.length-1?Xn.array.pop():Xn.array[Sr]=Bt,Xn)}function pn(G,Me){return Me&&G&&Me===G.ownerID?G:new Bo(G?G.array.slice():[],Me)}function ee(G,Me){if(Me>=Tn(G._capacity))return G._tail;if(Me<1<<G._level+5){for(var ft=G._root,Ft=G._level;ft&&Ft>0;)ft=ft.array[Me>>>Ft&J],Ft-=5;return ft}}function Ve(G,Me,ft){void 0!==Me&&(Me|=0),void 0!==ft&&(ft|=0);var Ft=G.__ownerID||new he,Bt=G._origin,In=G._capacity,Xn=Bt+Me,Sr=void 0===ft?In:ft<0?In+ft:Bt+ft;if(Xn===Bt&&Sr===In)return G;if(Xn>=Sr)return G.clear();for(var pi=G._level,Fr=G._root,zr=0;Xn+zr<0;)Fr=new Bo(Fr&&Fr.array.length?[void 0,Fr]:[],Ft),zr+=1<<(pi+=5);zr&&(Xn+=zr,Bt+=zr,Sr+=zr,In+=zr);for(var Un=Tn(In),lr=Tn(Sr);lr>=1<<pi+5;)Fr=new Bo(Fr&&Fr.array.length?[Fr]:[],Ft),pi+=5;var dr=G._tail,li=lr<Un?ee(G,Sr-1):lr>Un?new Bo([],Ft):dr;if(dr&&lr>Un&&Xn<In&&dr.array.length){for(var Ti=Fr=pn(Fr,Ft),Oo=pi;Oo>5;Oo-=5){var es=Un>>>Oo&J;Ti=Ti.array[es]=pn(Ti.array[es],Ft)}Ti.array[Un>>>5&J]=dr}if(Sr<In&&(li=li&&li.removeAfter(Ft,0,Sr)),Xn>=lr)Xn-=lr,Sr-=lr,pi=5,Fr=null,li=li&&li.removeBefore(Ft,0,Xn);else if(Xn>Bt||lr<Un){for(zr=0;Fr;){var jo=Xn>>>pi&J;if(jo!==lr>>>pi&J)break;jo&&(zr+=(1<<pi)*jo),pi-=5,Fr=Fr.array[jo]}Fr&&Xn>Bt&&(Fr=Fr.removeBefore(Ft,pi,Xn-zr)),Fr&&lr<Un&&(Fr=Fr.removeAfter(Ft,pi,lr-zr)),zr&&(Xn-=zr,Sr-=zr)}return G.__ownerID?(G.size=Sr-Xn,G._origin=Xn,G._capacity=Sr,G._level=pi,G._root=Fr,G._tail=li,G.__hash=void 0,G.__altered=!0,G):qo(Xn,Sr,pi,Fr,li)}function fn(G,Me,ft){for(var Ft=[],Bt=0,In=0;In<ft.length;In++){var Xn=ft[In],Sr=u(Xn);Sr.size>Bt&&(Bt=Sr.size),_(Xn)||(Sr=Sr.map(function(pi){return jn(pi)})),Ft.push(Sr)}return Bt>G.size&&(G=G.setSize(Bt)),rn(G,Me,Ft)}function Tn(G){return G<I?0:G-1>>>5<<5}function $r(G){return null==G?wo():ti(G)?G:wo().withMutations(function(Me){var ft=l(G);rr(ft.size),ft.forEach(function(Ft,Bt){return Me.set(Bt,Ft)})})}function ti(G){return yi(G)&&D(G)}function Ri(G,Me,ft,Ft){var Bt=Object.create($r.prototype);return Bt.size=G?G.size:0,Bt._map=G,Bt._list=Me,Bt.__ownerID=ft,Bt.__hash=Ft,Bt}function wo(){return ts||(ts=Ri(rt(),oa()))}function gi(G,Me,ft){var Ft,Bt,In=G._map,Xn=G._list,Sr=In.get(Me),pi=void 0!==Sr;if(ft===B){if(!pi)return G;Xn.size>=I&&Xn.size>=2*In.size?(Ft=(Bt=Xn.filter(function(Fr,zr){return void 0!==Fr&&Sr!==zr})).toKeyedSeq().map(function(Fr){return Fr[0]}).flip().toMap(),G.__ownerID&&(Ft.__ownerID=Bt.__ownerID=G.__ownerID)):(Ft=In.remove(Me),Bt=Sr===Xn.size-1?Xn.pop():Xn.set(Sr,void 0))}else if(pi){if(ft===Xn.get(Sr)[1])return G;Ft=In,Bt=Xn.set(Sr,[Me,ft])}else Ft=In.set(Me,Xn.size),Bt=Xn.set(Xn.size,[Me,ft]);return G.__ownerID?(G.size=Ft.size,G._map=Ft,G._list=Bt,G.__hash=void 0,G):Ri(Ft,Bt)}function Hi(G,Me){this._iter=G,this._useKeys=Me,this.size=G.size}function Fi(G){this._iter=G,this.size=G.size}function cs(G){this._iter=G,this.size=G.size}function ws(G){this._iter=G,this.size=G.size}function da(G){var Me=Ni(G);return Me._iter=G,Me.size=G.size,Me.flip=function(){return G},Me.reverse=function(){var ft=G.reverse.apply(this);return ft.flip=function(){return G.reverse()},ft},Me.has=function(ft){return G.includes(ft)},Me.includes=function(ft){return G.has(ft)},Me.cacheResult=Yo,Me.__iterateUncached=function(ft,Ft){var Bt=this;return G.__iterate(function(In,Xn){return!1!==ft(Xn,In,Bt)},Ft)},Me.__iteratorUncached=function(ft,Ft){if(2===ft){var Bt=G.__iterator(ft,Ft);return new Ot(function(){var In=Bt.next();if(!In.done){var Xn=In.value[0];In.value[0]=In.value[1],In.value[1]=Xn}return In})}return G.__iterator(1===ft?0:1,Ft)},Me}function xa(G,Me,ft){var Ft=Ni(G);return Ft.size=G.size,Ft.has=function(Bt){return G.has(Bt)},Ft.get=function(Bt,In){var Xn=G.get(Bt,B);return Xn===B?In:Me.call(ft,Xn,Bt,G)},Ft.__iterateUncached=function(Bt,In){var Xn=this;return G.__iterate(function(Sr,pi,Fr){return!1!==Bt(Me.call(ft,Sr,pi,Fr),pi,Xn)},In)},Ft.__iteratorUncached=function(Bt,In){var Xn=G.__iterator(2,In);return new Ot(function(){var Sr=Xn.next();if(Sr.done)return Sr;var pi=Sr.value,Fr=pi[0];return Qe(Bt,Fr,Me.call(ft,pi[1],Fr,G),Sr)})},Ft}function Ra(G,Me){var ft=Ni(G);return ft._iter=G,ft.size=G.size,ft.reverse=function(){return G},G.flip&&(ft.flip=function(){var Ft=da(G);return Ft.reverse=function(){return G.flip()},Ft}),ft.get=function(Ft,Bt){return G.get(Me?Ft:-1-Ft,Bt)},ft.has=function(Ft){return G.has(Me?Ft:-1-Ft)},ft.includes=function(Ft){return G.includes(Ft)},ft.cacheResult=Yo,ft.__iterate=function(Ft,Bt){var In=this;return G.__iterate(function(Xn,Sr){return Ft(Xn,Sr,In)},!Bt)},ft.__iterator=function(Ft,Bt){return G.__iterator(Ft,!Bt)},ft}function Al(G,Me,ft,Ft){var Bt=Ni(G);return Ft&&(Bt.has=function(In){var Xn=G.get(In,B);return Xn!==B&&!!Me.call(ft,Xn,In,G)},Bt.get=function(In,Xn){var Sr=G.get(In,B);return Sr!==B&&Me.call(ft,Sr,In,G)?Sr:Xn}),Bt.__iterateUncached=function(In,Xn){var Sr=this,pi=0;return G.__iterate(function(Fr,zr,Un){if(Me.call(ft,Fr,zr,Un))return pi++,In(Fr,Ft?zr:pi-1,Sr)},Xn),pi},Bt.__iteratorUncached=function(In,Xn){var Sr=G.__iterator(2,Xn),pi=0;return new Ot(function(){for(;;){var Fr=Sr.next();if(Fr.done)return Fr;var zr=Fr.value,Un=zr[0],lr=zr[1];if(Me.call(ft,lr,Un,G))return Qe(In,Ft?Un:pi++,lr,Fr)}})},Bt}function sa(G,Me,ft,Ft){var Bt=G.size;if(void 0!==Me&&(Me|=0),void 0!==ft&&(ft===1/0?ft=Bt:ft|=0),be(Me,ft,Bt))return G;var In=ue(Me,Bt),Xn=He(ft,Bt);if(In!=In||Xn!=Xn)return sa(G.toSeq().cacheResult(),Me,ft,Ft);var Sr,pi=Xn-In;pi==pi&&(Sr=pi<0?0:pi);var Fr=Ni(G);return Fr.size=0===Sr?Sr:G.size&&Sr||void 0,!Ft&&Kn(G)&&Sr>=0&&(Fr.get=function(zr,Un){return(zr=Se(this,zr))>=0&&zr<Sr?G.get(zr+In,Un):Un}),Fr.__iterateUncached=function(zr,Un){var lr=this;if(0===Sr)return 0;if(Un)return this.cacheResult().__iterate(zr,Un);var dr=0,li=!0,Ti=0;return G.__iterate(function(Oo,es){if(!li||!(li=dr++<In))return Ti++,!1!==zr(Oo,Ft?es:Ti-1,lr)&&Ti!==Sr}),Ti},Fr.__iteratorUncached=function(zr,Un){if(0!==Sr&&Un)return this.cacheResult().__iterator(zr,Un);var lr=0!==Sr&&G.__iterator(zr,Un),dr=0,li=0;return new Ot(function(){for(;dr++<In;)lr.next();if(++li>Sr)return{value:void 0,done:!0};var Ti=lr.next();return Ft||1===zr?Ti:Qe(zr,li-1,0===zr?void 0:Ti.value[1],Ti)})},Fr}function tl(G,Me,ft,Ft){var Bt=Ni(G);return Bt.__iterateUncached=function(In,Xn){var Sr=this;if(Xn)return this.cacheResult().__iterate(In,Xn);var pi=!0,Fr=0;return G.__iterate(function(zr,Un,lr){if(!pi||!(pi=Me.call(ft,zr,Un,lr)))return Fr++,In(zr,Ft?Un:Fr-1,Sr)}),Fr},Bt.__iteratorUncached=function(In,Xn){var Sr=this;if(Xn)return this.cacheResult().__iterator(In,Xn);var pi=G.__iterator(2,Xn),Fr=!0,zr=0;return new Ot(function(){var Un,lr,dr;do{if((Un=pi.next()).done)return Ft||1===In?Un:Qe(In,zr++,0===In?void 0:Un.value[1],Un);var li=Un.value;lr=li[0],dr=li[1],Fr&&(Fr=Me.call(ft,dr,lr,Sr))}while(Fr);return 2===In?Un:Qe(In,lr,dr,Un)})},Bt}function Ma(G,Me){var ft=m(G),Ft=[G].concat(Me).map(function(Xn){return _(Xn)?ft&&(Xn=l(Xn)):Xn=ft?Sn(Xn):$n(Array.isArray(Xn)?Xn:[Xn]),Xn}).filter(function(Xn){return 0!==Xn.size});if(0===Ft.length)return G;if(1===Ft.length){var Bt=Ft[0];if(Bt===G||ft&&m(Bt)||b(G)&&b(Bt))return Bt}var In=new Yn(Ft);return ft?In=In.toKeyedSeq():b(G)||(In=In.toSetSeq()),(In=In.flatten(!0)).size=Ft.reduce(function(Xn,Sr){if(void 0!==Xn){var pi=Sr.size;if(void 0!==pi)return Xn+pi}},0),In}function fa(G,Me,ft){var Ft=Ni(G);return Ft.__iterateUncached=function(Bt,In){var Xn=0,Sr=!1;return function pi(Fr,zr){var Un=this;Fr.__iterate(function(lr,dr){return(!Me||zr<Me)&&_(lr)?pi(lr,zr+1):!1===Bt(lr,ft?dr:Xn++,Un)&&(Sr=!0),!Sr},In)}(G,0),Xn},Ft.__iteratorUncached=function(Bt,In){var Xn=G.__iterator(Bt,In),Sr=[],pi=0;return new Ot(function(){for(;Xn;){var Fr=Xn.next();if(!1===Fr.done){var zr=Fr.value;if(2===Bt&&(zr=zr[1]),Me&&!(Sr.length<Me)||!_(zr))return ft?Fr:Qe(Bt,pi++,zr,Fr);Sr.push(Xn),Xn=zr.__iterator(Bt,In)}else Xn=Sr.pop()}return{value:void 0,done:!0}})},Ft}function pt(G,Me,ft){Me||(Me=vs);var Ft=m(G),Bt=0,In=G.toSeq().map(function(Xn,Sr){return[Sr,Xn,Bt++,ft?ft(Xn,Sr,G):Xn]}).toArray();return In.sort(function(Xn,Sr){return Me(Xn[3],Sr[3])||Xn[2]-Sr[2]}).forEach(Ft?function(Xn,Sr){In[Sr].length=2}:function(Xn,Sr){In[Sr]=Xn[1]}),Ft?ar(In):b(G)?Ln(In):Rn(In)}function an(G,Me,ft){if(Me||(Me=vs),ft){var Ft=G.toSeq().map(function(Bt,In){return[Bt,ft(Bt,In,G)]}).reduce(function(Bt,In){return Nt(Me,Bt[1],In[1])?In:Bt});return Ft&&Ft[0]}return G.reduce(function(Bt,In){return Nt(Me,Bt,In)?In:Bt})}function Nt(G,Me,ft){var Ft=G(ft,Me);return 0===Ft&&ft!==Me&&(null==ft||ft!=ft)||Ft>0}function Ce(G,Me,ft){var Ft=Ni(G);return Ft.size=new Yn(ft).map(function(Bt){return Bt.size}).min(),Ft.__iterate=function(Bt,In){for(var Xn,Sr=this.__iterator(1,In),pi=0;!(Xn=Sr.next()).done&&!1!==Bt(Xn.value,pi++,this););return pi},Ft.__iteratorUncached=function(Bt,In){var Xn=ft.map(function(Fr){return Fr=a(Fr),dt(In?Fr.reverse():Fr)}),Sr=0,pi=!1;return new Ot(function(){var Fr;return pi||(Fr=Xn.map(function(zr){return zr.next()}),pi=Fr.some(function(zr){return zr.done})),pi?{value:void 0,done:!0}:Qe(Bt,Sr++,Me.apply(null,Fr.map(function(zr){return zr.value})))})},Ft}function ye(G,Me){return Kn(G)?Me:G.constructor(Me)}function Ne(G){if(G!==Object(G))throw new TypeError("Expected [K, V] tuple: "+G)}function Wt(G){return rr(G.size),Ae(G)}function Or(G){return m(G)?l:b(G)?u:h}function Ni(G){return Object.create((m(G)?ar:b(G)?Ln:Rn).prototype)}function Yo(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):ln.prototype.cacheResult.call(this)}function vs(G,Me){return G>Me?1:G<Me?-1:0}function as(G){var Me=dt(G);if(!Me){if(!zt(G))throw new TypeError("Expected iterable or array-like: "+G);Me=dt(a(G))}return Me}function Lo(G,Me){var ft,Ft=function(In){if(In instanceof Ft)return In;if(!(this instanceof Ft))return new Ft(In);if(!ft){ft=!0;var Xn=Object.keys(G);(function(G,Me){try{Me.forEach(ba.bind(void 0,G))}catch(ft){}})(Bt,Xn),Bt.size=Xn.length,Bt._name=Me,Bt._keys=Xn,Bt._defaultValues=G}this._map=Mr(In)},Bt=Ft.prototype=Object.create(Zo);return Bt.constructor=Ft,Ft}s($r,Mr),$r.of=function(){return this(arguments)},$r.prototype.toString=function(){return this.__toString("OrderedMap {","}")},$r.prototype.get=function(G,Me){var ft=this._map.get(G);return void 0!==ft?this._list.get(ft)[1]:Me},$r.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):wo()},$r.prototype.set=function(G,Me){return gi(this,G,Me)},$r.prototype.remove=function(G){return gi(this,G,B)},$r.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},$r.prototype.__iterate=function(G,Me){var ft=this;return this._list.__iterate(function(Ft){return Ft&&G(Ft[1],Ft[0],ft)},Me)},$r.prototype.__iterator=function(G,Me){return this._list.fromEntrySeq().__iterator(G,Me)},$r.prototype.__ensureOwner=function(G){if(G===this.__ownerID)return this;var Me=this._map.__ensureOwner(G),ft=this._list.__ensureOwner(G);return G?Ri(Me,ft,G,this.__hash):(this.__ownerID=G,this._map=Me,this._list=ft,this)},$r.isOrderedMap=ti,$r.prototype[z]=!0,$r.prototype[U]=$r.prototype.remove,s(Hi,ar),Hi.prototype.get=function(G,Me){return this._iter.get(G,Me)},Hi.prototype.has=function(G){return this._iter.has(G)},Hi.prototype.valueSeq=function(){return this._iter.valueSeq()},Hi.prototype.reverse=function(){var G=this,Me=Ra(this,!0);return this._useKeys||(Me.valueSeq=function(){return G._iter.toSeq().reverse()}),Me},Hi.prototype.map=function(G,Me){var ft=this,Ft=xa(this,G,Me);return this._useKeys||(Ft.valueSeq=function(){return ft._iter.toSeq().map(G,Me)}),Ft},Hi.prototype.__iterate=function(G,Me){var ft,Ft=this;return this._iter.__iterate(this._useKeys?function(Bt,In){return G(Bt,In,Ft)}:(ft=Me?Wt(this):0,function(Bt){return G(Bt,Me?--ft:ft++,Ft)}),Me)},Hi.prototype.__iterator=function(G,Me){if(this._useKeys)return this._iter.__iterator(G,Me);var ft=this._iter.__iterator(1,Me),Ft=Me?Wt(this):0;return new Ot(function(){var Bt=ft.next();return Bt.done?Bt:Qe(G,Me?--Ft:Ft++,Bt.value,Bt)})},Hi.prototype[z]=!0,s(Fi,Ln),Fi.prototype.includes=function(G){return this._iter.includes(G)},Fi.prototype.__iterate=function(G,Me){var ft=this,Ft=0;return this._iter.__iterate(function(Bt){return G(Bt,Ft++,ft)},Me)},Fi.prototype.__iterator=function(G,Me){var ft=this._iter.__iterator(1,Me),Ft=0;return new Ot(function(){var Bt=ft.next();return Bt.done?Bt:Qe(G,Ft++,Bt.value,Bt)})},s(cs,Rn),cs.prototype.has=function(G){return this._iter.includes(G)},cs.prototype.__iterate=function(G,Me){var ft=this;return this._iter.__iterate(function(Ft){return G(Ft,Ft,ft)},Me)},cs.prototype.__iterator=function(G,Me){var ft=this._iter.__iterator(1,Me);return new Ot(function(){var Ft=ft.next();return Ft.done?Ft:Qe(G,Ft.value,Ft.value,Ft)})},s(ws,ar),ws.prototype.entrySeq=function(){return this._iter.toSeq()},ws.prototype.__iterate=function(G,Me){var ft=this;return this._iter.__iterate(function(Ft){if(Ft){Ne(Ft);var Bt=_(Ft);return G(Bt?Ft.get(1):Ft[1],Bt?Ft.get(0):Ft[0],ft)}},Me)},ws.prototype.__iterator=function(G,Me){var ft=this._iter.__iterator(1,Me);return new Ot(function(){for(;;){var Ft=ft.next();if(Ft.done)return Ft;var Bt=Ft.value;if(Bt){Ne(Bt);var In=_(Bt);return Qe(G,In?Bt.get(0):Bt[0],In?Bt.get(1):Bt[1],Ft)}}})},Fi.prototype.cacheResult=Hi.prototype.cacheResult=cs.prototype.cacheResult=ws.prototype.cacheResult=Yo,s(Lo,Ir),Lo.prototype.toString=function(){return this.__toString(hl(this)+" {","}")},Lo.prototype.has=function(G){return this._defaultValues.hasOwnProperty(G)},Lo.prototype.get=function(G,Me){if(!this.has(G))return Me;var ft=this._defaultValues[G];return this._map?this._map.get(G,ft):ft},Lo.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var G=this.constructor;return G._empty||(G._empty=Ta(this,rt()))},Lo.prototype.set=function(G,Me){if(!this.has(G))throw new Error('Cannot set unknown key "'+G+'" on '+hl(this));if(this._map&&!this._map.has(G)&&Me===this._defaultValues[G])return this;var ft=this._map&&this._map.set(G,Me);return this.__ownerID||ft===this._map?this:Ta(this,ft)},Lo.prototype.remove=function(G){if(!this.has(G))return this;var Me=this._map&&this._map.remove(G);return this.__ownerID||Me===this._map?this:Ta(this,Me)},Lo.prototype.wasAltered=function(){return this._map.wasAltered()},Lo.prototype.__iterator=function(G,Me){var ft=this;return l(this._defaultValues).map(function(Ft,Bt){return ft.get(Bt)}).__iterator(G,Me)},Lo.prototype.__iterate=function(G,Me){var ft=this;return l(this._defaultValues).map(function(Ft,Bt){return ft.get(Bt)}).__iterate(G,Me)},Lo.prototype.__ensureOwner=function(G){if(G===this.__ownerID)return this;var Me=this._map&&this._map.__ensureOwner(G);return G?Ta(this,Me,G):(this.__ownerID=G,this._map=Me,this)};var Zo=Lo.prototype;function Ta(G,Me,ft){var Ft=Object.create(Object.getPrototypeOf(G));return Ft._map=Me,Ft.__ownerID=ft,Ft}function hl(G){return G._name||G.constructor.name||"Record"}function ba(G,Me){Object.defineProperty(G,Me,{get:function(){return this.get(Me)},set:function(ft){jt(this.__ownerID,"Cannot set on an immutable record."),this.set(Me,ft)}})}function Es(G){return null==G?Yl():$o(G)&&!D(G)?G:Yl().withMutations(function(Me){var ft=h(G);rr(ft.size),ft.forEach(function(Ft){return Me.add(Ft)})})}function $o(G){return!(!G||!G[_l])}Zo[U]=Zo.remove,Zo.deleteIn=Zo.removeIn=Oi.removeIn,Zo.merge=Oi.merge,Zo.mergeWith=Oi.mergeWith,Zo.mergeIn=Oi.mergeIn,Zo.mergeDeep=Oi.mergeDeep,Zo.mergeDeepWith=Oi.mergeDeepWith,Zo.mergeDeepIn=Oi.mergeDeepIn,Zo.setIn=Oi.setIn,Zo.update=Oi.update,Zo.updateIn=Oi.updateIn,Zo.withMutations=Oi.withMutations,Zo.asMutable=Oi.asMutable,Zo.asImmutable=Oi.asImmutable,s(Es,L),Es.of=function(){return this(arguments)},Es.fromKeys=function(G){return this(l(G).keySeq())},Es.prototype.toString=function(){return this.__toString("Set {","}")},Es.prototype.has=function(G){return this._map.has(G)},Es.prototype.add=function(G){return sl(this,this._map.set(G,!0))},Es.prototype.remove=function(G){return sl(this,this._map.remove(G))},Es.prototype.clear=function(){return sl(this,this._map.clear())},Es.prototype.union=function(){var G=e.call(arguments,0);return 0===(G=G.filter(function(Me){return 0!==Me.size})).length?this:0!==this.size||this.__ownerID||1!==G.length?this.withMutations(function(Me){for(var ft=0;ft<G.length;ft++)h(G[ft]).forEach(function(Ft){return Me.add(Ft)})}):this.constructor(G[0])},Es.prototype.intersect=function(){var G=e.call(arguments,0);if(0===G.length)return this;G=G.map(function(ft){return h(ft)});var Me=this;return this.withMutations(function(ft){Me.forEach(function(Ft){G.every(function(Bt){return Bt.includes(Ft)})||ft.remove(Ft)})})},Es.prototype.subtract=function(){var G=e.call(arguments,0);if(0===G.length)return this;G=G.map(function(ft){return h(ft)});var Me=this;return this.withMutations(function(ft){Me.forEach(function(Ft){G.some(function(Bt){return Bt.includes(Ft)})&&ft.remove(Ft)})})},Es.prototype.merge=function(){return this.union.apply(this,arguments)},Es.prototype.mergeWith=function(G){var Me=e.call(arguments,1);return this.union.apply(this,Me)},Es.prototype.sort=function(G){return Na(pt(this,G))},Es.prototype.sortBy=function(G,Me){return Na(pt(this,Me,G))},Es.prototype.wasAltered=function(){return this._map.wasAltered()},Es.prototype.__iterate=function(G,Me){var ft=this;return this._map.__iterate(function(Ft,Bt){return G(Bt,Bt,ft)},Me)},Es.prototype.__iterator=function(G,Me){return this._map.map(function(ft,Ft){return Ft}).__iterator(G,Me)},Es.prototype.__ensureOwner=function(G){if(G===this.__ownerID)return this;var Me=this._map.__ensureOwner(G);return G?this.__make(Me,G):(this.__ownerID=G,this._map=Me,this)},Es.isSet=$o;var wl,_l="@@__IMMUTABLE_SET__@@",Qa=Es.prototype;function sl(G,Me){return G.__ownerID?(G.size=Me.size,G._map=Me,G):Me===G._map?G:0===Me.size?G.__empty():G.__make(Me)}function Il(G,Me){var ft=Object.create(Qa);return ft.size=G?G.size:0,ft._map=G,ft.__ownerID=Me,ft}function Yl(){return wl||(wl=Il(rt()))}function Na(G){return null==G?Ba():Di(G)?G:Ba().withMutations(function(Me){var ft=h(G);rr(ft.size),ft.forEach(function(Ft){return Me.add(Ft)})})}function Di(G){return $o(G)&&D(G)}Qa[_l]=!0,Qa[U]=Qa.remove,Qa.mergeDeep=Qa.merge,Qa.mergeDeepWith=Qa.mergeWith,Qa.withMutations=Oi.withMutations,Qa.asMutable=Oi.asMutable,Qa.asImmutable=Oi.asImmutable,Qa.__empty=Yl,Qa.__make=Il,s(Na,Es),Na.of=function(){return this(arguments)},Na.fromKeys=function(G){return this(l(G).keySeq())},Na.prototype.toString=function(){return this.__toString("OrderedSet {","}")},Na.isOrderedSet=Di;var ys,pa=Na.prototype;function Vo(G,Me){var ft=Object.create(pa);return ft.size=G?G.size:0,ft._map=G,ft.__ownerID=Me,ft}function Ba(){return ys||(ys=Vo(wo()))}function _s(G){return null==G?gn():We(G)?G:gn().unshiftAll(G)}function We(G){return!(!G||!G[kt])}pa[z]=!0,pa.__empty=Ba,pa.__make=Vo,s(_s,ht),_s.of=function(){return this(arguments)},_s.prototype.toString=function(){return this.__toString("Stack [","]")},_s.prototype.get=function(G,Me){var ft=this._head;for(G=Se(this,G);ft&&G--;)ft=ft.next;return ft?ft.value:Me},_s.prototype.peek=function(){return this._head&&this._head.value},_s.prototype.push=function(){if(0===arguments.length)return this;for(var G=this.size+arguments.length,Me=this._head,ft=arguments.length-1;ft>=0;ft--)Me={value:arguments[ft],next:Me};return this.__ownerID?(this.size=G,this._head=Me,this.__hash=void 0,this.__altered=!0,this):ur(G,Me)},_s.prototype.pushAll=function(G){if(0===(G=u(G)).size)return this;rr(G.size);var Me=this.size,ft=this._head;return G.reverse().forEach(function(Ft){Me++,ft={value:Ft,next:ft}}),this.__ownerID?(this.size=Me,this._head=ft,this.__hash=void 0,this.__altered=!0,this):ur(Me,ft)},_s.prototype.pop=function(){return this.slice(1)},_s.prototype.unshift=function(){return this.push.apply(this,arguments)},_s.prototype.unshiftAll=function(G){return this.pushAll(G)},_s.prototype.shift=function(){return this.pop.apply(this,arguments)},_s.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):gn()},_s.prototype.slice=function(G,Me){if(be(G,Me,this.size))return this;var ft=ue(G,this.size);if(He(Me,this.size)!==this.size)return ht.prototype.slice.call(this,G,Me);for(var Ft=this.size-ft,Bt=this._head;ft--;)Bt=Bt.next;return this.__ownerID?(this.size=Ft,this._head=Bt,this.__hash=void 0,this.__altered=!0,this):ur(Ft,Bt)},_s.prototype.__ensureOwner=function(G){return G===this.__ownerID?this:G?ur(this.size,this._head,G,this.__hash):(this.__ownerID=G,this.__altered=!1,this)},_s.prototype.__iterate=function(G,Me){if(Me)return this.reverse().__iterate(G);for(var ft=0,Ft=this._head;Ft&&!1!==G(Ft.value,ft++,this);)Ft=Ft.next;return ft},_s.prototype.__iterator=function(G,Me){if(Me)return this.reverse().__iterator(G);var ft=0,Ft=this._head;return new Ot(function(){if(Ft){var Bt=Ft.value;return Ft=Ft.next,Qe(G,ft++,Bt)}return{value:void 0,done:!0}})},_s.isStack=We;var wt,kt="@@__IMMUTABLE_STACK__@@",tn=_s.prototype;function ur(G,Me,ft,Ft){var Bt=Object.create(tn);return Bt.size=G,Bt._head=Me,Bt.__ownerID=ft,Bt.__hash=Ft,Bt.__altered=!1,Bt}function gn(){return wt||(wt=ur(0))}function xr(G,Me){var ft=function(Ft){G.prototype[Ft]=Me[Ft]};return Object.keys(Me).forEach(ft),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(Me).forEach(ft),G}tn[kt]=!0,tn.withMutations=Oi.withMutations,tn.asMutable=Oi.asMutable,tn.asImmutable=Oi.asImmutable,tn.wasAltered=Oi.wasAltered,a.Iterator=Ot,xr(a,{toArray:function(){rr(this.size);var G=new Array(this.size||0);return this.valueSeq().__iterate(function(Me,ft){G[ft]=Me}),G},toIndexedSeq:function(){return new Fi(this)},toJS:function(){return this.toSeq().map(function(G){return G&&"function"==typeof G.toJS?G.toJS():G}).__toJS()},toJSON:function(){return this.toSeq().map(function(G){return G&&"function"==typeof G.toJSON?G.toJSON():G}).__toJS()},toKeyedSeq:function(){return new Hi(this,!0)},toMap:function(){return Mr(this.toKeyedSeq())},toObject:function(){rr(this.size);var G={};return this.__iterate(function(Me,ft){G[ft]=Me}),G},toOrderedMap:function(){return $r(this.toKeyedSeq())},toOrderedSet:function(){return Na(m(this)?this.valueSeq():this)},toSet:function(){return Es(m(this)?this.valueSeq():this)},toSetSeq:function(){return new cs(this)},toSeq:function(){return b(this)?this.toIndexedSeq():m(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return _s(m(this)?this.valueSeq():this)},toList:function(){return eo(m(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(G,Me){return 0===this.size?G+Me:G+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+Me},concat:function(){return ye(this,Ma(this,e.call(arguments,0)))},includes:function(G){return this.some(function(Me){return Tt(Me,G)})},entries:function(){return this.__iterator(2)},every:function(G,Me){rr(this.size);var ft=!0;return this.__iterate(function(Ft,Bt,In){if(!G.call(Me,Ft,Bt,In))return ft=!1,!1}),ft},filter:function(G,Me){return ye(this,Al(this,G,Me,!0))},find:function(G,Me,ft){var Ft=this.findEntry(G,Me);return Ft?Ft[1]:ft},forEach:function(G,Me){return rr(this.size),this.__iterate(Me?G.bind(Me):G)},join:function(G){rr(this.size),G=void 0!==G?""+G:",";var Me="",ft=!0;return this.__iterate(function(Ft){ft?ft=!1:Me+=G,Me+=null!=Ft?Ft.toString():""}),Me},keys:function(){return this.__iterator(0)},map:function(G,Me){return ye(this,xa(this,G,Me))},reduce:function(G,Me,ft){var Ft,Bt;return rr(this.size),arguments.length<2?Bt=!0:Ft=Me,this.__iterate(function(In,Xn,Sr){Bt?(Bt=!1,Ft=In):Ft=G.call(ft,Ft,In,Xn,Sr)}),Ft},reduceRight:function(G,Me,ft){var Ft=this.toKeyedSeq().reverse();return Ft.reduce.apply(Ft,arguments)},reverse:function(){return ye(this,Ra(this,!0))},slice:function(G,Me){return ye(this,sa(this,G,Me,!0))},some:function(G,Me){return!this.every(si(G),Me)},sort:function(G){return ye(this,pt(this,G))},values:function(){return this.__iterator(1)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(G,Me){return Ae(G?this.toSeq().filter(G,Me):this)},countBy:function(G,Me){return function(G,Me,ft){var Ft=Mr().asMutable();return G.__iterate(function(Bt,In){Ft.update(Me.call(ft,Bt,In,G),0,function(Xn){return Xn+1})}),Ft.asImmutable()}(this,G,Me)},equals:function(G){return yn(this,G)},entrySeq:function(){var G=this;if(G._cache)return new Yn(G._cache);var Me=G.toSeq().map(ni).toIndexedSeq();return Me.fromEntrySeq=function(){return G.toSeq()},Me},filterNot:function(G,Me){return this.filter(si(G),Me)},findEntry:function(G,Me,ft){var Ft=ft;return this.__iterate(function(Bt,In,Xn){if(G.call(Me,Bt,In,Xn))return Ft=[In,Bt],!1}),Ft},findKey:function(G,Me){var ft=this.findEntry(G,Me);return ft&&ft[0]},findLast:function(G,Me,ft){return this.toKeyedSeq().reverse().find(G,Me,ft)},findLastEntry:function(G,Me,ft){return this.toKeyedSeq().reverse().findEntry(G,Me,ft)},findLastKey:function(G,Me){return this.toKeyedSeq().reverse().findKey(G,Me)},first:function(){return this.find(Oe)},flatMap:function(G,Me){return ye(this,function(G,Me,ft){var Ft=Or(G);return G.toSeq().map(function(Bt,In){return Ft(Me.call(ft,Bt,In,G))}).flatten(!0)}(this,G,Me))},flatten:function(G){return ye(this,fa(this,G,!0))},fromEntrySeq:function(){return new ws(this)},get:function(G,Me){return this.find(function(ft,Ft){return Tt(Ft,G)},void 0,Me)},getIn:function(G,Me){for(var ft,Ft=this,Bt=as(G);!(ft=Bt.next()).done;)if((Ft=Ft&&Ft.get?Ft.get(ft.value,B):B)===B)return Me;return Ft},groupBy:function(G,Me){return function(G,Me,ft){var Ft=m(G),Bt=(D(G)?$r():Mr()).asMutable();G.__iterate(function(Xn,Sr){Bt.update(Me.call(ft,Xn,Sr,G),function(pi){return(pi=pi||[]).push(Ft?[Sr,Xn]:Xn),pi})});var In=Or(G);return Bt.map(function(Xn){return ye(G,In(Xn))})}(this,G,Me)},has:function(G){return this.get(G,B)!==B},hasIn:function(G){return this.getIn(G,B)!==B},isSubset:function(G){return G="function"==typeof G.includes?G:a(G),this.every(function(Me){return G.includes(Me)})},isSuperset:function(G){return(G="function"==typeof G.isSubset?G:a(G)).isSubset(this)},keyOf:function(G){return this.findKey(function(Me){return Tt(Me,G)})},keySeq:function(){return this.toSeq().map(mi).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(G){return this.toKeyedSeq().reverse().keyOf(G)},max:function(G){return an(this,G)},maxBy:function(G,Me){return an(this,Me,G)},min:function(G){return an(this,G?bi(G):mo)},minBy:function(G,Me){return an(this,Me?bi(Me):mo,G)},rest:function(){return this.slice(1)},skip:function(G){return this.slice(Math.max(0,G))},skipLast:function(G){return ye(this,this.toSeq().reverse().skip(G).reverse())},skipWhile:function(G,Me){return ye(this,tl(this,G,Me,!0))},skipUntil:function(G,Me){return this.skipWhile(si(G),Me)},sortBy:function(G,Me){return ye(this,pt(this,Me,G))},take:function(G){return this.slice(0,Math.max(0,G))},takeLast:function(G){return ye(this,this.toSeq().reverse().take(G).reverse())},takeWhile:function(G,Me){return ye(this,function(G,Me,ft){var Ft=Ni(G);return Ft.__iterateUncached=function(Bt,In){var Xn=this;if(In)return this.cacheResult().__iterate(Bt,In);var Sr=0;return G.__iterate(function(pi,Fr,zr){return Me.call(ft,pi,Fr,zr)&&++Sr&&Bt(pi,Fr,Xn)}),Sr},Ft.__iteratorUncached=function(Bt,In){var Xn=this;if(In)return this.cacheResult().__iterator(Bt,In);var Sr=G.__iterator(2,In),pi=!0;return new Ot(function(){if(!pi)return{value:void 0,done:!0};var Fr=Sr.next();if(Fr.done)return Fr;var zr=Fr.value,Un=zr[0],lr=zr[1];return Me.call(ft,lr,Un,Xn)?2===Bt?Fr:Qe(Bt,Un,lr,Fr):(pi=!1,{value:void 0,done:!0})})},Ft}(this,G,Me))},takeUntil:function(G,Me){return this.takeWhile(si(G),Me)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(G){if(G.size===1/0)return 0;var Me=D(G),ft=m(G),Ft=Me?1:0;return function(G,Me){return Me=Ue(Me,3432918353),Me=Ue(Me<<15|Me>>>-15,461845907),Me=Ue(Me<<13|Me>>>-13,5),Me=Ue((Me=(Me+3864292196|0)^G)^Me>>>16,2246822507),nt((Me=Ue(Me^Me>>>13,3266489909))^Me>>>16)}(G.__iterate(ft?Me?function(Bt,In){Ft=31*Ft+Br(at(Bt),at(In))|0}:function(Bt,In){Ft=Ft+Br(at(Bt),at(In))|0}:Me?function(Bt){Ft=31*Ft+at(Bt)|0}:function(Bt){Ft=Ft+at(Bt)|0}),Ft)}(this))}});var Zr=a.prototype;Zr[R]=!0,Zr[St]=Zr.values,Zr.__toJS=Zr.toArray,Zr.__toStringMapper=Ui,Zr.inspect=Zr.toSource=function(){return this.toString()},Zr.chain=Zr.flatMap,Zr.contains=Zr.includes,xr(l,{flip:function(){return ye(this,da(this))},mapEntries:function(G,Me){var ft=this,Ft=0;return ye(this,this.toSeq().map(function(Bt,In){return G.call(Me,[In,Bt],Ft++,ft)}).fromEntrySeq())},mapKeys:function(G,Me){var ft=this;return ye(this,this.toSeq().flip().map(function(Ft,Bt){return G.call(Me,Ft,Bt,ft)}).flip())}});var Pr=l.prototype;function mi(G,Me){return Me}function ni(G,Me){return[Me,G]}function si(G){return function(){return!G.apply(this,arguments)}}function bi(G){return function(){return-G.apply(this,arguments)}}function Ui(G){return"string"==typeof G?JSON.stringify(G):String(G)}function ro(){return ce(arguments)}function mo(G,Me){return G<Me?1:G>Me?-1:0}function Br(G,Me){return G^Me+2654435769+(G<<6)+(G>>2)|0}return Pr[j]=!0,Pr[St]=Zr.entries,Pr.__toJS=Zr.toObject,Pr.__toStringMapper=function(G,Me){return JSON.stringify(Me)+": "+Ui(G)},xr(u,{toKeyedSeq:function(){return new Hi(this,!1)},filter:function(G,Me){return ye(this,Al(this,G,Me,!1))},findIndex:function(G,Me){var ft=this.findEntry(G,Me);return ft?ft[0]:-1},indexOf:function(G){var Me=this.keyOf(G);return void 0===Me?-1:Me},lastIndexOf:function(G){var Me=this.lastKeyOf(G);return void 0===Me?-1:Me},reverse:function(){return ye(this,Ra(this,!1))},slice:function(G,Me){return ye(this,sa(this,G,Me,!1))},splice:function(G,Me){var ft=arguments.length;if(Me=Math.max(0|Me,0),0===ft||2===ft&&!Me)return this;G=ue(G,G<0?this.count():this.size);var Ft=this.slice(0,G);return ye(this,1===ft?Ft:Ft.concat(ce(arguments,2),this.slice(G+Me)))},findLastIndex:function(G,Me){var ft=this.findLastEntry(G,Me);return ft?ft[0]:-1},first:function(){return this.get(0)},flatten:function(G){return ye(this,fa(this,G,!1))},get:function(G,Me){return(G=Se(this,G))<0||this.size===1/0||void 0!==this.size&&G>this.size?Me:this.find(function(ft,Ft){return Ft===G},void 0,Me)},has:function(G){return(G=Se(this,G))>=0&&(void 0!==this.size?this.size===1/0||G<this.size:-1!==this.indexOf(G))},interpose:function(G){return ye(this,function(G,Me){var ft=Ni(G);return ft.size=G.size&&2*G.size-1,ft.__iterateUncached=function(Ft,Bt){var In=this,Xn=0;return G.__iterate(function(Sr,pi){return(!Xn||!1!==Ft(Me,Xn++,In))&&!1!==Ft(Sr,Xn++,In)},Bt),Xn},ft.__iteratorUncached=function(Ft,Bt){var In,Xn=G.__iterator(1,Bt),Sr=0;return new Ot(function(){return(!In||Sr%2)&&(In=Xn.next()).done?In:Sr%2?Qe(Ft,Sr++,Me):Qe(Ft,Sr++,In.value,In)})},ft}(this,G))},interleave:function(){var G=[this].concat(ce(arguments)),Me=Ce(this.toSeq(),Ln.of,G),ft=Me.flatten(!0);return Me.size&&(ft.size=Me.size*G.length),ye(this,ft)},keySeq:function(){return hn(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(G,Me){return ye(this,tl(this,G,Me,!1))},zip:function(){return ye(this,Ce(this,ro,[this].concat(ce(arguments))))},zipWith:function(G){var Me=ce(arguments);return Me[0]=this,ye(this,Ce(this,G,Me))}}),u.prototype[H]=!0,u.prototype[z]=!0,xr(h,{get:function(G,Me){return this.has(G)?G:Me},includes:function(G){return this.has(G)},keySeq:function(){return this.valueSeq()}}),h.prototype.has=Zr.includes,h.prototype.contains=h.prototype.includes,xr(ar,l.prototype),xr(Ln,u.prototype),xr(Rn,h.prototype),xr(Ir,l.prototype),xr(ht,u.prototype),xr(L,h.prototype),{Iterable:a,Seq:ln,Collection:Qn,Map:Mr,OrderedMap:$r,List:eo,Stack:_s,Set:Es,OrderedSet:Na,Record:Lo,Range:hn,Repeat:et,is:Tt,fromJS:jn}}()},function(g,o,t){g.exports=t(519)},function(g,o,t){var e=t(226);g.exports=function(s,a,l){return a in s?e(s,a,{value:l,enumerable:!0,configurable:!0,writable:!0}):s[a]=l,s},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(551)},function(g,o,t){"use strict";(function(e){t.d(o,"z",function(){return mt}),t.d(o,"i",function(){return Tt}),t.d(o,"v",function(){return yn}),t.d(o,"r",function(){return et}),t.d(o,"t",function(){return jt}),t.d(o,"s",function(){return hn}),t.d(o,"p",function(){return Qn}),t.d(o,"u",function(){return Ir}),t.d(o,"x",function(){return ht}),t.d(o,"y",function(){return L}),t.d(o,"J",function(){return Ue}),t.d(o,"f",function(){return nt}),t.d(o,"n",function(){return at}),t.d(o,"h",function(){return it}),t.d(o,"D",function(){return Pt}),t.d(o,"K",function(){return ot}),t.d(o,"o",function(){return mr}),t.d(o,"C",function(){return _r}),t.d(o,"a",function(){return Nr}),t.d(o,"H",function(){return br}),t.d(o,"b",function(){return Jn}),t.d(o,"G",function(){return rr}),t.d(o,"F",function(){return Mr}),t.d(o,"E",function(){return yi}),t.d(o,"k",function(){return Li}),t.d(o,"d",function(){return Mi}),t.d(o,"g",function(){return Oi}),t.d(o,"m",function(){return Xr}),t.d(o,"l",function(){return Kr}),t.d(o,"e",function(){return di}),t.d(o,"I",function(){return se}),t.d(o,"w",function(){return ct}),t.d(o,"A",function(){return Ke}),t.d(o,"B",function(){return Xe}),t.d(o,"j",function(){return Vt}),t.d(o,"c",function(){return Ct}),t.d(o,"q",function(){return yt});var s=t(14),a=t.n(s),l=(t(13),t(19)),u=t.n(l),h=t(49),_=t.n(h),m=t(24),b=t.n(m),T=t(4),D=t.n(T),R=t(80),j=t.n(R),H=t(2),z=t.n(H),U=t(23),M=t.n(U),I=t(12),J=t.n(I),B=t(15),ie=t.n(B),oe=(t(37),t(30)),fe=t.n(oe),ne=t(21),he=t.n(ne),ce=t(196),Ae=t.n(ce),Se=t(20),Oe=t.n(Se),be=t(71),ue=t.n(be),He=(t(31),t(32)),$e=t.n(He),F=t(18),je=t.n(F),Et=t(56),lt=t.n(Et),nn=t(108),St=t.n(nn),Ot=t(105),Qe=t.n(Ot),It=t(1),ae=t.n(It),Ie=t(450),dt=t(451),Jt=t.n(dt),zt=t(254),ln=t.n(zt),ar=t(255),Ln=t.n(ar),Rn=t(452),er=t.n(Rn),Mn=t(317),Ht=t.n(Mn),tr=t(103),Yn=t.n(tr),Cn=t(104),Kt=t.n(Cn),dn=t(142),Kn=t(26),qn=t(454),Sn=t.n(qn),$n=t(145),En=t(126),Fn=t.n(En),Dn=t(455),mn=t.n(Dn),jn=t(70),Xt="default",ut=function(qe){return ae.a.Iterable.isIterable(qe)};function mt(qe){return jt(qe)?ut(qe)?qe.toJS():qe:{}}function Tt(qe){var $t,or;if(ut(qe)||qe instanceof Kn.a.File||!jt(qe))return qe;if(b()(qe))return D()(or=ae.a.Seq(qe)).call(or,Tt).toList();if(Kt()(j()(qe))){var Vn,Vr=function(Cr){if(!Kt()(j()(Cr)))return Cr;var ai,Dr={},rn={},fi=_()(j()(Cr).call(Cr));try{for(fi.s();!(ai=fi.n()).done;){var wi,_o,ki,to,Ei=ai.value;Dr[Ei[0]]||rn[Ei[0]]&&rn[Ei[0]].containsMultiple?(rn[Ei[0]]||(rn[Ei[0]]={containsMultiple:!0,length:1},Dr[z()(ki=z()(to="".concat(Ei[0])).call(to,"_**[]")).call(ki,rn[Ei[0]].length)]=Dr[Ei[0]],delete Dr[Ei[0]]),rn[Ei[0]].length+=1,Dr[z()(wi=z()(_o="".concat(Ei[0])).call(_o,"_**[]")).call(wi,rn[Ei[0]].length)]=Ei[1]):Dr[Ei[0]]=Ei[1]}}catch(qi){fi.e(qi)}finally{fi.f()}return Dr}(qe);return D()(Vn=ae.a.OrderedMap(Vr)).call(Vn,Tt)}return D()($t=ae.a.OrderedMap(qe)).call($t,Tt)}function yn(qe){return b()(qe)?qe:[qe]}function et(qe){return"function"==typeof qe}function jt(qe){return!!qe&&"object"===u()(qe)}function hn(qe){return"function"==typeof qe}function Qn(qe){return b()(qe)}var Ir=Ln.a;function ht(qe,$t){var or;return fe()(or=ie()(qe)).call(or,function(Vn,Vr){return Vn[Vr]=$t(qe[Vr],Vr),Vn},{})}function L(qe,$t){var or;return fe()(or=ie()(qe)).call(or,function(Vn,Vr){var Cr=$t(qe[Vr],Vr);return Cr&&"object"===u()(Cr)&&he()(Vn,Cr),Vn},{})}function Ue(qe){return function($t){return function(or){return function(Vn){return"function"==typeof Vn?Vn(qe()):or(Vn)}}}}function nt(qe){var $t,or=qe.keySeq();return or.contains(Xt)?Xt:Ae()($t=J()(or).call(or,function(Vn){return"2"===(Vn+"")[0]})).call($t).first()}function at(qe,$t){if(!ae.a.Iterable.isIterable(qe))return ae.a.List();var or=qe.getIn(b()($t)?$t:[$t]);return ae.a.List.isList(or)?or:ae.a.List()}function it(qe){var $t,or=[/filename\*=[^']+'\w*'"([^"]+)";?/i,/filename\*=[^']+'\w*'([^;]+);?/i,/filename="([^;]*);?"/i,/filename=([^;]*);?/i];if(ue()(or).call(or,function(Vn){return null!==($t=Vn.exec(qe))}),null!==$t&&$t.length>1)try{return decodeURIComponent($t[1])}catch(Vn){console.error(Vn)}return null}function Pt(qe){return $t=qe.replace(/\.[^./]*$/,""),ln()(Jt()($t));var $t}function Ut(qe,$t,or,Vn,Vr){if(!$t)return[];var Cr=[],ai=$t.get("nullable"),Dr=$t.get("required"),Jr=$t.get("maximum"),rn=$t.get("minimum"),fi=$t.get("type"),Ei=$t.get("format"),wi=$t.get("maxLength"),_o=$t.get("minLength"),ki=$t.get("uniqueItems"),to=$t.get("maxItems"),qi=$t.get("minItems"),Wi=$t.get("pattern"),eo=or||!0===Dr,Gi=null!=qe;if(ai&&null===qe||!fi||!(eo||Gi&&"array"===fi||eo||Gi))return[];var Wo="string"===fi&&qe,Ro="array"===fi&&b()(qe)&&qe.length,Bo="array"===fi&&ae.a.List.isList(qe)&&qe.count(),Ko=[Wo,Ro,Bo,"array"===fi&&"string"==typeof qe&&qe,"file"===fi&&qe instanceof Kn.a.File,"boolean"===fi&&(qe||!1===qe),"number"===fi&&(qe||0===qe),"integer"===fi&&(qe||0===qe),"object"===fi&&"object"===u()(qe)&&null!==qe,"object"===fi&&"string"==typeof qe&&qe],ts=ue()(Ko).call(Ko,function(gi){return!!gi});if(eo&&!ts&&!Vn)return Cr.push("Required field is not provided"),Cr;if("object"===fi&&(null===Vr||"application/json"===Vr)){var ua,ds=qe;if("string"==typeof qe)try{ds=JSON.parse(qe)}catch(gi){return Cr.push("Parameter string value must be valid JSON"),Cr}$t&&$t.has("required")&&hn(Dr.isList)&&Dr.isList()&&M()(Dr).call(Dr,function(gi){void 0===ds[gi]&&Cr.push({propKey:gi,error:"Required property not found"})}),$t&&$t.has("properties")&&M()(ua=$t.get("properties")).call(ua,function(gi,Hi){var Fi=Ut(ds[Hi],gi,!1,Vn,Vr);Cr.push.apply(Cr,a()(D()(Fi).call(Fi,function(cs){return{propKey:Hi,error:cs}})))})}if(Wi){var qo=function(gi,Hi){if(!new RegExp(Hi).test(gi))return"Value must follow pattern "+Hi}(qe,Wi);qo&&Cr.push(qo)}if(qi&&"array"===fi){var oa=function(gi,Hi){var Fi;if(!gi&&Hi>=1||gi&&gi.length<Hi)return z()(Fi="Array must contain at least ".concat(Hi," item")).call(Fi,1===Hi?"":"s")}(qe,qi);oa&&Cr.push(oa)}if(to&&"array"===fi){var Er=function(gi,Hi){var Fi;if(gi&&gi.length>Hi)return z()(Fi="Array must not contain more then ".concat(Hi," item")).call(Fi,1===Hi?"":"s")}(qe,to);Er&&Cr.push({needRemove:!0,error:Er})}if(ki&&"array"===fi){var st=function(gi,Hi){if(gi&&("true"===Hi||!0===Hi)){var Fi=Object(It.fromJS)(gi),cs=Fi.toSet();if(gi.length>cs.size){var ws=Object(It.Set)();if(M()(Fi).call(Fi,function(da,xa){J()(Fi).call(Fi,function(Ra){return hn(Ra.equals)?Ra.equals(da):Ra===da}).size>1&&(ws=ws.add(xa))}),0!==ws.size)return D()(ws).call(ws,function(da){return{index:da,error:"No duplicates allowed."}}).toArray()}}}(qe,ki);st&&Cr.push.apply(Cr,a()(st))}if(wi||0===wi){var pn=function(gi,Hi){var Fi;if(gi.length>Hi)return z()(Fi="Value must be no longer than ".concat(Hi," character")).call(Fi,1!==Hi?"s":"")}(qe,wi);pn&&Cr.push(pn)}if(_o){var ee=function(gi,Hi){var Fi;if(gi.length<Hi)return z()(Fi="Value must be at least ".concat(Hi," character")).call(Fi,1!==Hi?"s":"")}(qe,_o);ee&&Cr.push(ee)}if(Jr||0===Jr){var Ve=function(gi,Hi){if(gi>Hi)return"Value must be less than ".concat(Hi)}(qe,Jr);Ve&&Cr.push(Ve)}if(rn||0===rn){var fn=function(gi,Hi){if(gi<Hi)return"Value must be greater than ".concat(Hi)}(qe,rn);fn&&Cr.push(fn)}if("string"===fi){var Tn;if(!(Tn="date-time"===Ei?function(gi){if(isNaN(Date.parse(gi)))return"Value must be a DateTime"}(qe):"uuid"===Ei?function(gi){if(gi=gi.toString().toLowerCase(),!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(gi))return"Value must be a Guid"}(qe):function(gi){if(gi&&"string"!=typeof gi)return"Value must be a string"}(qe)))return Cr;Cr.push(Tn)}else if("boolean"===fi){var $r=function(gi){if("true"!==gi&&"false"!==gi&&!0!==gi&&!1!==gi)return"Value must be a boolean"}(qe);if(!$r)return Cr;Cr.push($r)}else if("number"===fi){var ti=function(gi){if(!/^-?\d+(\.?\d+)?$/.test(gi))return"Value must be a number"}(qe);if(!ti)return Cr;Cr.push(ti)}else if("integer"===fi){var Ri=function(gi){if(!/^-?\d+$/.test(gi))return"Value must be an integer"}(qe);if(!Ri)return Cr;Cr.push(Ri)}else if("array"===fi){if(!Ro&&!Bo)return Cr;qe&&M()(qe).call(qe,function(gi,Hi){var Fi=Ut(gi,$t.get("items"),!1,Vn,Vr);Cr.push.apply(Cr,a()(D()(Fi).call(Fi,function(cs){return{index:Hi,error:cs}})))})}else if("file"===fi){var wo=function(gi){if(gi&&!(gi instanceof Kn.a.File))return"Value must be a file"}(qe);if(!wo)return Cr;Cr.push(wo)}return Cr}var ot=function(qe,$t){var or=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Vn=or.isOAS3,Vr=void 0!==Vn&&Vn,Cr=or.bypassRequiredCheck,ai=void 0!==Cr&&Cr,Dr=qe.get("required"),Jr=Object($n.a)(qe,{isOAS3:Vr}),rn=Jr.schema,fi=Jr.parameterContentMediaType;return Ut($t,rn,Dr,ai,fi)},Nn=function(qe,$t,or){if(qe&&(!qe.xml||!qe.xml.name)){if(qe.xml=qe.xml||{},!qe.$$ref)return qe.type||qe.items||qe.properties||qe.additionalProperties?'<?xml version="1.0" encoding="UTF-8"?>\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e':null;var Vn=qe.$$ref.match(/\S*\/(\S+)$/);qe.xml.name=Vn[1]}return Object(dn.memoizedCreateXMLExample)(qe,$t,or)},sn=[{when:/json/,shouldStringifyTypes:["string"]}],An=["object"],Bn=function(qe,$t,or,Vn){var Vr=Object(dn.memoizedSampleFromSchema)(qe,$t,Vn),Cr=u()(Vr),ai=fe()(sn).call(sn,function(Dr,Jr){var rn;return Jr.when.test(or)?z()(rn=[]).call(rn,a()(Dr),a()(Jr.shouldStringifyTypes)):Dr},An);return Ht()(ai,function(Dr){return Dr===Cr})?$e()(Vr,null,2):Vr},ir=function(qe,$t,or,Vn){var Vr,Cr=Bn(qe,$t,or,Vn);try{"\n"===(Vr=jn.a.dump(jn.a.load(Cr),{lineWidth:-1}))[Vr.length-1]&&(Vr=Oe()(Vr).call(Vr,0,Vr.length-1))}catch(ai){return console.error(ai),"error: could not generate yaml example"}return Vr.replace(/\t/g," ")},mr=function(qe){var $t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",or=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Vn=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;return qe&&hn(qe.toJS)&&(qe=qe.toJS()),Vn&&hn(Vn.toJS)&&(Vn=Vn.toJS()),/xml/.test($t)?Nn(qe,or,Vn):/(yaml|yml)/.test($t)?ir(qe,or,$t,Vn):Bn(qe,or,$t,Vn)},_r=function(){var qe={},$t=Kn.a.location.search;if(!$t)return{};if(""!=$t){var or=$t.substr(1).split("&");for(var Vn in or)Object.prototype.hasOwnProperty.call(or,Vn)&&(Vn=or[Vn].split("="),qe[decodeURIComponent(Vn[0])]=Vn[1]&&decodeURIComponent(Vn[1])||"")}return qe},Nr=function(qe){return(qe instanceof e?qe:e.from(qe.toString(),"utf-8")).toString("base64")},br={operationsSorter:{alpha:function(qe,$t){return qe.get("path").localeCompare($t.get("path"))},method:function(qe,$t){return qe.get("method").localeCompare($t.get("method"))}},tagsSorter:{alpha:function(qe,$t){return qe.localeCompare($t)}}},Jn=function(qe){var $t=[];for(var or in qe){var Vn=qe[or];void 0!==Vn&&""!==Vn&&$t.push([or,"=",encodeURIComponent(Vn).replace(/%20/g,"+")].join(""))}return $t.join("&")},rr=function(qe,$t,or){return!!er()(or,function(Vn){return Yn()(qe[Vn],$t[Vn])})};function Mr(qe){return"string"!=typeof qe||""===qe?"":Object(Ie.sanitizeUrl)(qe)}function yi(qe){return!(!qe||je()(qe).call(qe,"localhost")>=0||je()(qe).call(qe,"127.0.0.1")>=0||"none"===qe)}function Li(qe){if(!ae.a.OrderedMap.isOrderedMap(qe)||!qe.size)return null;var $t=lt()(qe).call(qe,function(Vr,Cr){return St()(Cr).call(Cr,"2")&&ie()(Vr.get("content")||{}).length>0}),or=qe.get("default")||ae.a.OrderedMap(),Vn=(or.get("content")||ae.a.OrderedMap()).keySeq().toJS().length?or:null;return $t||Vn}var Mi=function(qe){return"string"==typeof qe||qe instanceof String?Qe()(qe).call(qe).replace(/\s/g,"%20"):""},Oi=function(qe){return Sn()(Mi(qe).replace(/%20/g,"_"))},Xr=function(qe){return J()(qe).call(qe,function($t,or){return/^x-/.test(or)})},Kr=function(qe){return J()(qe).call(qe,function($t,or){return/^pattern|maxLength|minLength|maximum|minimum/.test(or)})};function di(qe,$t){var or,Vn=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0};if("object"!==u()(qe)||b()(qe)||null===qe||!$t)return qe;var Vr=he()({},qe);return M()(or=ie()(Vr)).call(or,function(Cr){Cr===$t&&Vn(Vr[Cr],Cr)?delete Vr[Cr]:Vr[Cr]=di(Vr[Cr],$t,Vn)}),Vr}function se(qe){if("string"==typeof qe)return qe;if(qe&&qe.toJS&&(qe=qe.toJS()),"object"===u()(qe)&&null!==qe)try{return $e()(qe,null,2)}catch($t){return String(qe)}return null==qe?"":qe.toString()}function ct(qe){return"number"==typeof qe?qe.toString():qe}function Ke(qe){var $t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},or=$t.returnAll,Vn=void 0!==or&&or,Vr=$t.allowHashes,Cr=void 0===Vr||Vr;if(!ae.a.Map.isMap(qe))throw new Error("paramToIdentifier: received a non-Im.Map parameter as input");var ai,Dr,Jr,rn=qe.get("name"),fi=qe.get("in"),Ei=[];return qe&&qe.hashCode&&fi&&rn&&Cr&&Ei.push(z()(ai=z()(Dr="".concat(fi,".")).call(Dr,rn,".hash-")).call(ai,qe.hashCode())),fi&&rn&&Ei.push(z()(Jr="".concat(fi,".")).call(Jr,rn)),Ei.push(rn),Vn?Ei:Ei[0]||""}function Xe(qe,$t){var or,Vn=Ke(qe,{returnAll:!0});return J()(or=D()(Vn).call(Vn,function(Vr){return $t[Vr]})).call(or,function(Vr){return void 0!==Vr})[0]}function Vt(){return rt(Fn()(32).toString("base64"))}function Ct(qe){return rt(mn()("sha256").update(qe).digest("base64"))}function rt(qe){return qe.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var yt=function(qe){return!qe||!(!ut(qe)||!qe.isEmpty())}}).call(this,t(132).Buffer)},function(g,o){g.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(226);function s(a,l){for(var u=0;u<l.length;u++){var h=l[u];h.enumerable=h.enumerable||!1,h.configurable=!0,"value"in h&&(h.writable=!0),e(a,h.key,h)}}g.exports=function(a,l,u){return l&&s(a.prototype,l),u&&s(a,u),a},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(853),s=t(858);g.exports=function(a,l){if("function"!=typeof l&&null!==l)throw new TypeError("Super expression must either be null or a function");a.prototype=e(l&&l.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),l&&s(a,l)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(437),s=t(867),a=t(873),l=t(874);g.exports=function(u){var h=a();return function(){var _,m=s(u);if(h){var b=s(this).constructor;_=e(m,arguments,b)}else _=m.apply(this,arguments);return l(this,_)}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(878)()},function(g,o,t){g.exports=t(344)},function(g,o,t){var e=t(379),s=t(618),a=t(187),l=t(380);g.exports=function(u,h){return e(u)||s(u,h)||a(u,h)||l()},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(606),s=t(372),a=t(187),l=t(617);g.exports=function(u){return e(u)||s(u)||a(u)||l()},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(345)},function(g,o,t){"use strict";function e(u,h){return u===h}function s(u,h,_){if(null===h||null===_||h.length!==_.length)return!1;for(var m=h.length,b=0;b<m;b++)if(!u(h[b],_[b]))return!1;return!0}function a(u){var h=Array.isArray(u[0])?u[0]:u;if(!h.every(function(m){return"function"==typeof m})){var _=h.map(function(m){return typeof m}).join(", ");throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: ["+_+"]")}return h}t.d(o,"a",function(){return l});var l=function(u){for(var h=arguments.length,_=Array(h>1?h-1:0),m=1;m<h;m++)_[m-1]=arguments[m];return function(){for(var b=arguments.length,T=Array(b),D=0;D<b;D++)T[D]=arguments[D];var R=0,j=T.pop(),H=a(T),z=u.apply(void 0,[function(){return R++,j.apply(null,arguments)}].concat(_)),U=u(function(){for(var M=[],I=H.length,J=0;J<I;J++)M.push(H[J].apply(null,arguments));return z.apply(null,M)});return U.resultFunc=j,U.dependencies=H,U.recomputations=function(){return R},U.resetRecomputations=function(){return R=0},U}}(function(u){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,_=null,m=null;return function(){return s(h,_,arguments)||(m=u.apply(null,arguments)),_=arguments,m}})},function(g,o,t){(function(e){var s=function(a){return a&&a.Math==Math&&a};g.exports=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof e&&e)||function(){return this}()||Function("return this")()}).call(this,t(57))},function(g,o,t){g.exports=t(385)},function(g,o,t){var e=t(166),s=t(515);function a(l){return"function"==typeof e&&"symbol"==typeof s?(g.exports=a=function(u){return typeof u},g.exports.default=g.exports,g.exports.__esModule=!0):(g.exports=a=function(u){return u&&"function"==typeof e&&u.constructor===e&&u!==e.prototype?"symbol":typeof u},g.exports.default=g.exports,g.exports.__esModule=!0),a(l)}g.exports=a,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(351)},function(g,o,t){g.exports=t(349)},function(g,o,t){"use strict";var e=t(17),s=t(93),a=t(27),l=t(41),u=t(111).f,h=t(331),_=t(34),m=t(84),b=t(85),T=t(44),D=function(R){var j=function(H,z,U){if(this instanceof j){switch(arguments.length){case 0:return new R;case 1:return new R(H);case 2:return new R(H,z)}return new R(H,z,U)}return s(R,this,arguments)};return j.prototype=R.prototype,j};g.exports=function(R,j){var H,z,U,M,I,J,B,ie,oe=R.target,fe=R.global,ne=R.stat,he=R.proto,ce=fe?e:ne?e[oe]:(e[oe]||{}).prototype,Ae=fe?_:_[oe]||b(_,oe,{})[oe],Se=Ae.prototype;for(U in j)H=!h(fe?U:oe+(ne?".":"#")+U,R.forced)&&ce&&T(ce,U),I=Ae[U],H&&(J=R.noTargetGet?(ie=u(ce,U))&&ie.value:ce[U]),M=H&&J?J:j[U],H&&typeof I==typeof M||(B=R.bind&&H?m(M,e):R.wrap&&H?D(M):he&&l(M)?a(M):M,(R.sham||M&&M.sham||I&&I.sham)&&b(B,"sham",!0),b(Ae,U,B),he&&(T(_,z=oe+"Prototype")||b(_,z,{}),b(_[z],U,M),R.real&&Se&&!Se[U]&&b(Se,U,M)))}},function(g,o,t){g.exports=t(381)},function(g,o,t){g.exports=t(352)},function(g,o,t){var e=t(420),s=t(421),a=t(800),l=t(802),u=t(807),h=t(809),_=t(814),m=t(226),b=t(3);function T(D,R){var j=e(D);if(s){var H=s(D);R&&(H=a(H).call(H,function(z){return l(D,z).enumerable})),j.push.apply(j,H)}return j}g.exports=function(D){for(var R=1;R<arguments.length;R++){var j,H=null!=arguments[R]?arguments[R]:{};if(R%2)u(j=T(Object(H),!0)).call(j,function(U){b(D,U,H[U])});else if(h)_(D,h(H));else{var z;u(z=T(Object(H))).call(z,function(U){m(D,U,l(H,U))})}}return D},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){"use strict";o.a=function(){var e={location:{},history:{},open:function(){},close:function(){},File:function(){}};if("undefined"==typeof window)return e;try{e=window;for(var s=0,a=["File","Blob","FormData"];s<a.length;s++){var l=a[s];l in window&&(e[l]=window[l])}}catch(u){console.error(u)}return e}()},function(g,o){var t=Function.prototype,e=t.bind,s=t.call,a=e&&e.bind(s);g.exports=e?function(l){return l&&a(s,l)}:function(l){return l&&function(){return s.apply(l,arguments)}}},function(g,o,t){"use strict";var e,s=t(1),a="<<anonymous>>",l=function(){invariant(!1,"ImmutablePropTypes type checking code is stripped in production.")};l.isRequired=l;var u=function(){return l};function m(b,T){return D="Iterable."+b,R=function(j){return s.Iterable.isIterable(j)&&T(j)},function(b){function T(R,j,H,z,U,M){for(var I=arguments.length,J=Array(I>6?I-6:0),B=6;B<I;B++)J[B-6]=arguments[B];return M=M||H,z=z||a,null!=j[H]?b.apply(void 0,[j,H,z,U,M].concat(J)):R?new Error("Required "+U+" `"+M+"` was not specified in `"+z+"`."):void 0}var D=T.bind(null,!1);return D.isRequired=T.bind(null,!0),D}(function(j,H,z,U,M){var I=j[H];if(!R(I)){var J=function(b){var T=typeof b;return Array.isArray(b)?"array":b instanceof RegExp?"object":b instanceof s.Iterable?"Immutable."+b.toSource().split(" ")[0]:T}(I);return new Error("Invalid "+U+" `"+M+"` of type `"+J+"` supplied to `"+z+"`, expected `"+D+"`.")}return null});var D,R}(e={listOf:u,mapOf:u,orderedMapOf:u,setOf:u,orderedSetOf:u,stackOf:u,iterableOf:u,recordOf:u,shape:u,contains:u,mapContains:u,orderedMapContains:u,list:l,map:l,orderedMap:l,set:l,orderedSet:l,stack:l,seq:l,record:l,iterable:l}).iterable.indexed=m("Indexed",s.Iterable.isIndexed),e.iterable.keyed=m("Keyed",s.Iterable.isKeyed),g.exports=e},function(g,o,t){var e=t(851);function s(){return g.exports=s=e||function(a){for(var l=1;l<arguments.length;l++){var u=arguments[l];for(var h in u)Object.prototype.hasOwnProperty.call(u,h)&&(a[h]=u[h])}return a},g.exports.default=g.exports,g.exports.__esModule=!0,s.apply(this,arguments)}g.exports=s,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(546)},function(g,o,t){g.exports=t(637)},function(g,o,t){g.exports=t(527)},function(g,o){g.exports=function(t){try{return!!t()}catch(e){return!0}}},function(g,o){g.exports={}},function(g,o,t){var e=t(27);g.exports=e({}.isPrototypeOf)},function(g,o,t){"use strict";t.r(o),t.d(o,"isOAS3",function(){return _}),t.d(o,"isSwagger2",function(){return m}),t.d(o,"OAS3ComponentWrapFactory",function(){return b});var e=t(29),s=t.n(e),a=t(108),l=t.n(a),u=t(0),h=t.n(u);function _(T){var D=T.get("openapi");return"string"==typeof D&&l()(D).call(D,"3.0.")&&D.length>4}function m(T){var D=T.get("swagger");return"string"==typeof D&&l()(D).call(D,"2.0")}function b(T){return function(D,R){return function(j){return R&&R.specSelectors&&R.specSelectors.specJson?_(R.specSelectors.specJson())?h.a.createElement(T,s()({},j,R,{Ori:D})):h.a.createElement(D,j):(console.warn("OAS3 wrapper: couldn't get spec"),null)}}}},function(g,o,t){g.exports=t(535)},function(g,o,t){var e=t(17),s=t(212),a=t(44),l=t(171),u=t(210),h=t(329),_=s("wks"),m=e.Symbol,b=m&&m.for,T=h?m:m&&m.withoutSetter||l;g.exports=function(D){if(!a(_,D)||!u&&"string"!=typeof _[D]){var R="Symbol."+D;_[D]=u&&a(m,D)?m[D]:h&&b?b(R):T(R)}return _[D]}},function(g,o,t){var e=t(242);g.exports=function(s,a,l){var u=null==s?void 0:e(s,a);return void 0===u?l:u}},function(g,o,t){g.exports=t(840)},function(g,o){g.exports=function(t){return"function"==typeof t}},function(g,o,t){var e=t(34);g.exports=function(s){return e[s+"Prototype"]}},function(g,o,t){var e=t(41);g.exports=function(s){return"object"==typeof s?null!==s:e(s)}},function(g,o,t){var e=t(27),s=t(62),a=e({}.hasOwnProperty);g.exports=Object.hasOwn||function(l,u){return a(s(l),u)}},function(g,o,t){var e=t(34),s=t(44),a=t(223),l=t(63).f;g.exports=function(u){var h=e.Symbol||(e.Symbol={});s(h,u)||l(h,u,{value:a.f(u)})}},function(g,o,t){"use strict";t.r(o),t.d(o,"UPDATE_SPEC",function(){return er}),t.d(o,"UPDATE_URL",function(){return Mn}),t.d(o,"UPDATE_JSON",function(){return Ht}),t.d(o,"UPDATE_PARAM",function(){return tr}),t.d(o,"UPDATE_EMPTY_PARAM_INCLUSION",function(){return Yn}),t.d(o,"VALIDATE_PARAMS",function(){return Cn}),t.d(o,"SET_RESPONSE",function(){return Kt}),t.d(o,"SET_REQUEST",function(){return dn}),t.d(o,"SET_MUTATED_REQUEST",function(){return Kn}),t.d(o,"LOG_REQUEST",function(){return qn}),t.d(o,"CLEAR_RESPONSE",function(){return Sn}),t.d(o,"CLEAR_REQUEST",function(){return $n}),t.d(o,"CLEAR_VALIDATE_PARAMS",function(){return En}),t.d(o,"UPDATE_OPERATION_META_VALUE",function(){return Fn}),t.d(o,"UPDATE_RESOLVED",function(){return Dn}),t.d(o,"UPDATE_RESOLVED_SUBTREE",function(){return mn}),t.d(o,"SET_SCHEME",function(){return jn}),t.d(o,"updateSpec",function(){return Xt}),t.d(o,"updateResolved",function(){return ut}),t.d(o,"updateUrl",function(){return mt}),t.d(o,"updateJsonSpec",function(){return Tt}),t.d(o,"parseToJson",function(){return yn}),t.d(o,"resolveSpec",function(){return jt}),t.d(o,"requestResolvedSubtree",function(){return Ir}),t.d(o,"changeParam",function(){return ht}),t.d(o,"changeParamByIdentity",function(){return L}),t.d(o,"updateResolvedSubtree",function(){return Ue}),t.d(o,"invalidateResolvedSubtreeCache",function(){return nt}),t.d(o,"validateParams",function(){return at}),t.d(o,"updateEmptyParamInclusion",function(){return it}),t.d(o,"clearValidateParams",function(){return Pt}),t.d(o,"changeConsumesValue",function(){return Ut}),t.d(o,"changeProducesValue",function(){return ot}),t.d(o,"setResponse",function(){return Nn}),t.d(o,"setRequest",function(){return sn}),t.d(o,"setMutatedRequest",function(){return An}),t.d(o,"logRequest",function(){return Bn}),t.d(o,"executeRequest",function(){return ir}),t.d(o,"execute",function(){return mr}),t.d(o,"clearResponse",function(){return _r}),t.d(o,"clearRequest",function(){return Nr}),t.d(o,"setScheme",function(){return br});var e=t(25),s=t.n(e),a=t(54),l=t.n(a),u=t(72),h=t.n(u),_=t(19),m=t.n(_),b=t(40),T=t.n(b),D=t(24),R=t.n(D),j=t(4),H=t.n(j),z=t(319),U=t.n(z),M=t(30),I=t.n(M),J=t(197),B=t.n(J),ie=t(66),oe=t.n(ie),fe=t(12),ne=t.n(fe),he=t(198),ce=t.n(he),Ae=t(18),Se=t.n(Ae),Oe=t(23),be=t.n(Oe),ue=t(2),He=t.n(ue),$e=t(15),F=t.n($e),je=t(21),Et=t.n(je),lt=t(320),nn=t.n(lt),St=t(70),Ot=t(1),Qe=t(89),It=t.n(Qe),ae=t(141),Ie=t(457),dt=t.n(Ie),Jt=t(458),zt=t.n(Jt),ln=t(321),ar=t.n(ln),Ln=t(5),Rn=["path","method"],er="spec_update_spec",Mn="spec_update_url",Ht="spec_update_json",tr="spec_update_param",Yn="spec_update_empty_param_inclusion",Cn="spec_validate_param",Kt="spec_set_response",dn="spec_set_request",Kn="spec_set_mutated_request",qn="spec_log_request",Sn="spec_clear_response",$n="spec_clear_request",En="spec_clear_validate_param",Fn="spec_update_operation_meta_value",Dn="spec_update_resolved",mn="spec_update_resolved_subtree",jn="set_scheme";function Xt(Jn){var rr,Mr=(rr=Jn,dt()(rr)?rr:"").replace(/\t/g," ");if("string"==typeof Jn)return{type:er,payload:Mr}}function ut(Jn){return{type:Dn,payload:Jn}}function mt(Jn){return{type:Mn,payload:Jn}}function Tt(Jn){return{type:Ht,payload:Jn}}var yn=function(Jn){return function(rr){var Mr=rr.specActions,Li=rr.errActions,Mi=rr.specSelectors.specStr,Oi=null;try{Jn=Jn||Mi(),Li.clear({source:"parser"}),Oi=St.a.load(Jn)}catch(Xr){return console.error(Xr),Li.newSpecErr({source:"parser",level:"error",message:Xr.reason,line:Xr.mark&&Xr.mark.line?Xr.mark.line+1:void 0})}return Oi&&"object"===m()(Oi)?Mr.updateJsonSpec(Oi):{}}},et=!1,jt=function(Jn,rr){return function(Mr){var yi=Mr.specActions,Li=Mr.specSelectors,Mi=Mr.errActions,Oi=Mr.fn,Xr=Oi.fetch,Kr=Oi.resolve,di=Oi.AST,se=void 0===di?{}:di,ct=Mr.getConfigs;et||(console.warn("specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!"),et=!0);var Ke=ct(),Xe=Ke.modelPropertyMacro,Vt=Ke.parameterMacro,Ct=Ke.requestInterceptor,rt=Ke.responseInterceptor;void 0===Jn&&(Jn=Li.specJson()),void 0===rr&&(rr=Li.url());var yt=se.getLineNumberForPath?se.getLineNumberForPath:function(){},qe=Li.specStr();return Kr({fetch:Xr,spec:Jn,baseDoc:rr,modelPropertyMacro:Xe,parameterMacro:Vt,requestInterceptor:Ct,responseInterceptor:rt}).then(function($t){var or=$t.spec,Vn=$t.errors;if(Mi.clear({type:"thrown"}),R()(Vn)&&Vn.length>0){var Vr=H()(Vn).call(Vn,function(Cr){return console.error(Cr),Cr.line=Cr.fullPath?yt(qe,Cr.fullPath):null,Cr.path=Cr.fullPath?Cr.fullPath.join("."):null,Cr.level="error",Cr.type="thrown",Cr.source="resolver",U()(Cr,"message",{enumerable:!0,value:Cr.message}),Cr});Mi.newThrownErrBatch(Vr)}return yi.updateResolved(or)})}},hn=[],Qn=zt()(h()(T.a.mark(function Jn(){var rr,Mr,yi,Li,Mi,Oi,Xr,Kr,di,se,ct,Ke,Xe,Vt,Ct,rt,yt,qe;return T.a.wrap(function($t){for(;;)switch($t.prev=$t.next){case 0:if(rr=hn.system){$t.next=4;break}return console.error("debResolveSubtrees: don't have a system to operate on, aborting."),$t.abrupt("return");case 4:if(Mr=rr.errActions,yi=rr.errSelectors,Oi=(Li=rr.fn).fetch,Kr=void 0===(Xr=Li.AST)?{}:Xr,di=rr.specSelectors,se=rr.specActions,Mi=Li.resolveSubtree){$t.next=8;break}return console.error("Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing."),$t.abrupt("return");case 8:return ct=Kr.getLineNumberForPath?Kr.getLineNumberForPath:function(){},Ke=di.specStr(),Xe=rr.getConfigs(),Vt=Xe.modelPropertyMacro,Ct=Xe.parameterMacro,rt=Xe.requestInterceptor,yt=Xe.responseInterceptor,$t.prev=11,$t.next=14,I()(hn).call(hn,function(){var or=h()(T.a.mark(function Vn(Vr,Cr){var ai,Dr,Jr,rn,fi,Ei,wi,_o,ki;return T.a.wrap(function(to){for(;;)switch(to.prev=to.next){case 0:return to.next=2,Vr;case 2:return Dr=(ai=to.sent).resultMap,Jr=ai.specWithCurrentSubtrees,to.next=7,Mi(Jr,Cr,{baseDoc:di.url(),modelPropertyMacro:Vt,parameterMacro:Ct,requestInterceptor:rt,responseInterceptor:yt});case 7:if(fi=(rn=to.sent).errors,Ei=rn.spec,yi.allErrors().size&&Mr.clearBy(function(qi){var Wi;return"thrown"!==qi.get("type")||"resolver"!==qi.get("source")||!B()(Wi=qi.get("fullPath")).call(Wi,function(eo,Gi){return eo===Cr[Gi]||void 0===Cr[Gi]})}),R()(fi)&&fi.length>0&&(wi=H()(fi).call(fi,function(qi){return qi.line=qi.fullPath?ct(Ke,qi.fullPath):null,qi.path=qi.fullPath?qi.fullPath.join("."):null,qi.level="error",qi.type="thrown",qi.source="resolver",U()(qi,"message",{enumerable:!0,value:qi.message}),qi}),Mr.newThrownErrBatch(wi)),!Ei||!di.isOAS3()||"components"!==Cr[0]||"securitySchemes"!==Cr[1]){to.next=15;break}return to.next=15,oe.a.all(H()(_o=ne()(ki=ce()(Ei)).call(ki,function(qi){return"openIdConnect"===qi.type})).call(_o,function(){var qi=h()(T.a.mark(function Wi(eo){var Gi,Wo;return T.a.wrap(function(Ro){for(;;)switch(Ro.prev=Ro.next){case 0:return Gi={url:eo.openIdConnectUrl,requestInterceptor:rt,responseInterceptor:yt},Ro.prev=1,Ro.next=4,Oi(Gi);case 4:(Wo=Ro.sent)instanceof Error||Wo.status>=400?console.error(Wo.statusText+" "+Gi.url):eo.openIdConnectData=JSON.parse(Wo.text),Ro.next=11;break;case 8:Ro.prev=8,Ro.t0=Ro.catch(1),console.error(Ro.t0);case 11:case"end":return Ro.stop()}},Wi,null,[[1,8]])}));return function(Wi){return qi.apply(this,arguments)}}()));case 15:return ar()(Dr,Cr,Ei),ar()(Jr,Cr,Ei),to.abrupt("return",{resultMap:Dr,specWithCurrentSubtrees:Jr});case 18:case"end":return to.stop()}},Vn)}));return function(Vn,Vr){return or.apply(this,arguments)}}(),oe.a.resolve({resultMap:(di.specResolvedSubtree([])||Object(Ot.Map)()).toJS(),specWithCurrentSubtrees:di.specJson().toJS()}));case 14:qe=$t.sent,delete hn.system,hn=[],$t.next=22;break;case 19:$t.prev=19,$t.t0=$t.catch(11),console.error($t.t0);case 22:se.updateResolvedSubtree([],qe.resultMap);case 23:case"end":return $t.stop()}},Jn,null,[[11,19]])})),35),Ir=function(Jn){return function(rr){var Mr;Se()(Mr=H()(hn).call(hn,function(yi){return yi.join("@@")})).call(Mr,Jn.join("@@"))>-1||(hn.push(Jn),hn.system=rr,Qn())}};function ht(Jn,rr,Mr,yi,Li){return{type:tr,payload:{path:Jn,value:yi,paramName:rr,paramIn:Mr,isXml:Li}}}function L(Jn,rr,Mr,yi){return{type:tr,payload:{path:Jn,param:rr,value:Mr,isXml:yi}}}var Ue=function(Jn,rr){return{type:mn,payload:{path:Jn,value:rr}}},nt=function(){return{type:mn,payload:{path:[],value:Object(Ot.Map)()}}},at=function(Jn,rr){return{type:Cn,payload:{pathMethod:Jn,isOAS3:rr}}},it=function(Jn,rr,Mr,yi){return{type:Yn,payload:{pathMethod:Jn,paramName:rr,paramIn:Mr,includeEmptyValue:yi}}};function Pt(Jn){return{type:En,payload:{pathMethod:Jn}}}function Ut(Jn,rr){return{type:Fn,payload:{path:Jn,value:rr,key:"consumes_value"}}}function ot(Jn,rr){return{type:Fn,payload:{path:Jn,value:rr,key:"produces_value"}}}var Nn=function(Jn,rr,Mr){return{payload:{path:Jn,method:rr,res:Mr},type:Kt}},sn=function(Jn,rr,Mr){return{payload:{path:Jn,method:rr,req:Mr},type:dn}},An=function(Jn,rr,Mr){return{payload:{path:Jn,method:rr,req:Mr},type:Kn}},Bn=function(Jn){return{payload:Jn,type:qn}},ir=function(Jn){return function(rr){var Mr,yi,Li=rr.fn,Mi=rr.specActions,Oi=rr.specSelectors,Kr=rr.oas3Selectors,di=Jn.pathName,se=Jn.method,ct=Jn.operation,Ke=(0,rr.getConfigs)(),Xe=Ke.requestInterceptor,Vt=Ke.responseInterceptor,Ct=ct.toJS();if(ct&&ct.get("parameters")&&be()(Mr=ne()(yi=ct.get("parameters")).call(yi,function(Jr){return Jr&&!0===Jr.get("allowEmptyValue")})).call(Mr,function(Jr){if(Oi.parameterInclusionSettingFor([di,se],Jr.get("name"),Jr.get("in"))){Jn.parameters=Jn.parameters||{};var rn=Object(Ln.B)(Jr,Jn.parameters);(!rn||rn&&0===rn.size)&&(Jn.parameters[Jr.get("name")]="")}}),Jn.contextUrl=It()(Oi.url()).toString(),Ct&&Ct.operationId?Jn.operationId=Ct.operationId:Ct&&di&&se&&(Jn.operationId=Li.opId(Ct,di,se)),Oi.isOAS3()){var rt,yt=He()(rt="".concat(di,":")).call(rt,se);Jn.server=Kr.selectedServer(yt)||Kr.selectedServer();var qe=Kr.serverVariables({server:Jn.server,namespace:yt}).toJS(),$t=Kr.serverVariables({server:Jn.server}).toJS();Jn.serverVariables=F()(qe).length?qe:$t,Jn.requestContentType=Kr.requestContentType(di,se),Jn.responseContentType=Kr.responseContentType(di,se)||"*/*";var or,Vn=Kr.requestBodyValue(di,se),Vr=Kr.requestBodyInclusionSetting(di,se);Jn.requestBody=Vn&&Vn.toJS?ne()(or=H()(Vn).call(Vn,function(Jr){return Ot.Map.isMap(Jr)?Jr.get("value"):Jr})).call(or,function(Jr,rn){return(R()(Jr)?0!==Jr.length:!Object(Ln.q)(Jr))||Vr.get(rn)}).toJS():Vn}var Cr=Et()({},Jn);Cr=Li.buildRequest(Cr),Mi.setRequest(Jn.pathName,Jn.method,Cr);var Jr,ai=(Jr=h()(T.a.mark(function rn(fi){var Ei,wi;return T.a.wrap(function(_o){for(;;)switch(_o.prev=_o.next){case 0:return _o.next=2,Xe.apply(void 0,[fi]);case 2:return Ei=_o.sent,wi=Et()({},Ei),Mi.setMutatedRequest(Jn.pathName,Jn.method,wi),_o.abrupt("return",Ei);case 6:case"end":return _o.stop()}},rn)})),function(rn){return Jr.apply(this,arguments)});Jn.requestInterceptor=ai,Jn.responseInterceptor=Vt;var Dr=nn()();return Li.execute(Jn).then(function(Jr){Jr.duration=nn()()-Dr,Mi.setResponse(Jn.pathName,Jn.method,Jr)}).catch(function(Jr){"Failed to fetch"===Jr.message&&(Jr.name="",Jr.message='**Failed to fetch.** \n**Possible Reasons:** \n - CORS \n - Network Failure \n - URL scheme must be "http" or "https" for CORS request.'),Mi.setResponse(Jn.pathName,Jn.method,{error:!0,err:Object(ae.serializeError)(Jr)})})}},mr=function(){var Jn=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},rr=Jn.path,Mr=Jn.method,yi=l()(Jn,Rn);return function(Li){var Mi=Li.fn.fetch,Oi=Li.specSelectors,Xr=Li.specActions,Kr=Oi.specJsonWithResolvedSubtrees().toJS(),di=Oi.operationScheme(rr,Mr),se=Oi.contentTypeValues([rr,Mr]).toJS(),ct=se.requestContentType,Ke=se.responseContentType,Xe=/xml/i.test(ct),Vt=Oi.parameterValues([rr,Mr],Xe).toJS();return Xr.executeRequest(s()(s()({},yi),{},{fetch:Mi,spec:Kr,pathName:rr,method:Mr,parameters:Vt,requestContentType:ct,scheme:di,responseContentType:Ke}))}};function _r(Jn,rr){return{type:Sn,payload:{path:Jn,method:rr}}}function Nr(Jn,rr){return{type:$n,payload:{path:Jn,method:rr}}}function br(Jn,rr,Mr){return{type:jn,payload:{scheme:Jn,path:rr,method:Mr}}}},function(g,o,t){var e;!function(){"use strict";var s={}.hasOwnProperty;function a(){for(var l=[],u=0;u<arguments.length;u++){var h=arguments[u];if(h){var _=typeof h;if("string"===_||"number"===_)l.push(h);else if(Array.isArray(h)){if(h.length){var m=a.apply(null,h);m&&l.push(m)}}else if("object"===_)if(h.toString===Object.prototype.toString)for(var b in h)s.call(h,b)&&h[b]&&l.push(b);else l.push(h.toString())}}return l.join(" ")}g.exports?(a.default=a,g.exports=a):void 0===(e=function(){return a}.apply(o,[]))||(g.exports=e)}()},function(g,o,t){var e=t(33);g.exports=!e(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},function(g,o,t){var e=t(166),s=t(238),a=t(237),l=t(187);g.exports=function(u,h){var _=void 0!==e&&s(u)||u["@@iterator"];if(!_){if(a(u)||(_=l(u))||h&&u&&"number"==typeof u.length){_&&(u=_);var m=0,b=function(){};return{s:b,n:function(){return m>=u.length?{done:!0}:{done:!1,value:u[m++]}},e:function(j){throw j},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var T,D=!0,R=!1;return{s:function(){_=_.call(u)},n:function(){var j=_.next();return D=j.done,j},e:function(j){R=!0,T=j},f:function(){try{D||null==_.return||_.return()}finally{if(R)throw T}}}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){var t=Function.prototype.call;g.exports=t.bind?t.bind(t):function(){return t.apply(t,arguments)}},function(g,o,t){var e=t(17),s=t(43),a=e.String,l=e.TypeError;g.exports=function(u){if(s(u))return u;throw l(a(u)+" is not an object")}},function(g,o){g.exports=Array.isArray},function(g,o){g.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(g,o,t){var e=t(421),s=t(423),a=t(820);g.exports=function(l,u){if(null==l)return{};var h,_,m=a(l,u);if(e){var b=e(l);for(_=0;_<b.length;_++)h=b[_],s(u).call(u,h)>=0||Object.prototype.propertyIsEnumerable.call(l,h)&&(m[h]=l[h])}return m},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){"use strict";t.r(o),t.d(o,"UPDATE_SELECTED_SERVER",function(){return e}),t.d(o,"UPDATE_REQUEST_BODY_VALUE",function(){return s}),t.d(o,"UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG",function(){return a}),t.d(o,"UPDATE_REQUEST_BODY_INCLUSION",function(){return l}),t.d(o,"UPDATE_ACTIVE_EXAMPLES_MEMBER",function(){return u}),t.d(o,"UPDATE_REQUEST_CONTENT_TYPE",function(){return h}),t.d(o,"UPDATE_RESPONSE_CONTENT_TYPE",function(){return _}),t.d(o,"UPDATE_SERVER_VARIABLE_VALUE",function(){return m}),t.d(o,"SET_REQUEST_BODY_VALIDATE_ERROR",function(){return b}),t.d(o,"CLEAR_REQUEST_BODY_VALIDATE_ERROR",function(){return T}),t.d(o,"CLEAR_REQUEST_BODY_VALUE",function(){return D}),t.d(o,"setSelectedServer",function(){return R}),t.d(o,"setRequestBodyValue",function(){return j}),t.d(o,"setRetainRequestBodyValueFlag",function(){return H}),t.d(o,"setRequestBodyInclusion",function(){return z}),t.d(o,"setActiveExamplesMember",function(){return U}),t.d(o,"setRequestContentType",function(){return M}),t.d(o,"setResponseContentType",function(){return I}),t.d(o,"setServerVariableValue",function(){return J}),t.d(o,"setRequestBodyValidateError",function(){return B}),t.d(o,"clearRequestBodyValidateError",function(){return ie}),t.d(o,"initRequestBodyValidateError",function(){return oe}),t.d(o,"clearRequestBodyValue",function(){return fe});var e="oas3_set_servers",s="oas3_set_request_body_value",a="oas3_set_request_body_retain_flag",l="oas3_set_request_body_inclusion",u="oas3_set_active_examples_member",h="oas3_set_request_content_type",_="oas3_set_response_content_type",m="oas3_set_server_variable_value",b="oas3_set_request_body_validate_error",T="oas3_clear_request_body_validate_error",D="oas3_clear_request_body_value";function R(ne,he){return{type:e,payload:{selectedServerUrl:ne,namespace:he}}}function j(ne){return{type:s,payload:{value:ne.value,pathMethod:ne.pathMethod}}}var H=function(ne){return{type:a,payload:{value:ne.value,pathMethod:ne.pathMethod}}};function z(ne){return{type:l,payload:{value:ne.value,pathMethod:ne.pathMethod,name:ne.name}}}function U(ne){return{type:u,payload:{name:ne.name,pathMethod:ne.pathMethod,contextType:ne.contextType,contextName:ne.contextName}}}function M(ne){return{type:h,payload:{value:ne.value,pathMethod:ne.pathMethod}}}function I(ne){return{type:_,payload:{value:ne.value,path:ne.path,method:ne.method}}}function J(ne){return{type:m,payload:{server:ne.server,namespace:ne.namespace,key:ne.key,val:ne.val}}}var B=function(ne){return{type:b,payload:{path:ne.path,method:ne.method,validationErrors:ne.validationErrors}}},ie=function(ne){return{type:T,payload:{path:ne.path,method:ne.method}}},oe=function(ne){var he=ne.pathMethod;return{type:T,payload:{path:he[0],method:he[1]}}},fe=function(ne){return{type:D,payload:{pathMethod:ne.pathMethod}}}},function(g,o,t){g.exports=t(647)},function(g,o){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}g.exports=t},function(g,o,t){var e=t(34),s=t(17),a=t(41),l=function(u){return a(u)?u:void 0};g.exports=function(u,h){return arguments.length<2?l(e[u])||l(s[u]):e[u]&&e[u][h]||s[u]&&s[u][h]}},function(g,o,t){"use strict";t.d(o,"b",function(){return j}),t.d(o,"e",function(){return H}),t.d(o,"c",function(){return U}),t.d(o,"a",function(){return M}),t.d(o,"d",function(){return I});var e=t(49),s=t.n(e),a=t(19),l=t.n(a),u=t(108),h=t.n(u),_=t(2),m=t.n(_),b=t(53),T=t.n(b),D=function(J){return String.prototype.toLowerCase.call(J)},R=function(J){return J.replace(/[^\w]/gi,"_")};function j(J){var B=J.openapi;return!!B&&h()(B).call(B,"3")}function H(J,B){var ie=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",oe=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},fe=oe.v2OperationIdCompatibilityMode;if(!J||"object"!==l()(J))return null;var ne=(J.operationId||"").replace(/\s/g,"");return ne.length?R(J.operationId):z(B,ie,{v2OperationIdCompatibilityMode:fe})}function z(J,B){var ie,oe=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},fe=oe.v2OperationIdCompatibilityMode;if(fe){var ne,he,ce=m()(ne="".concat(B.toLowerCase(),"_")).call(ne,J).replace(/[\s!@#$%^&*()_+=[{\]};:<>|./?,\\'""-]/g,"_");return(ce=ce||m()(he="".concat(J.substring(1),"_")).call(he,B)).replace(/((_){2,})/g,"_").replace(/^(_)*/g,"").replace(/([_])*$/g,"")}return m()(ie="".concat(D(B))).call(ie,R(J))}function U(J,B){var ie;return m()(ie="".concat(D(B),"-")).call(ie,J)}function M(J,B){return J&&J.paths&&function(fe,ne,he){if(!fe||"object"!==l()(fe)||!fe.paths||"object"!==l()(fe.paths))return null;var ce=fe.paths;for(var Ae in ce)for(var Se in ce[Ae])if("PARAMETERS"!==Se.toUpperCase()){var Oe=ce[Ae][Se];if(Oe&&"object"===l()(Oe)){var be={spec:fe,pathName:Ae,method:Se.toUpperCase(),operation:Oe};if(ne(be))return be}}}(J,function(ie){var oe=ie.pathName,fe=ie.method,ne=ie.operation;if(!ne||"object"!==l()(ne))return!1;var he=ne.operationId;return[H(ne,oe,fe),U(oe,fe),he].some(function(ce){return ce&&ce===B})})||null}function I(J){var B=J.spec,ie=B.paths,oe={};if(!ie||B.$$normalized)return J;for(var fe in ie){var ne=ie[fe];if(T()(ne)){var he=ne.parameters,ce=function(Se){var Oe=ne[Se];if(!T()(Oe))return"continue";var be=H(Oe,fe,Se);if(be){oe[be]?oe[be].push(Oe):oe[be]=[Oe];var ue=oe[be];if(ue.length>1)ue.forEach(function(ae,Ie){var dt;ae.__originalOperationId=ae.__originalOperationId||ae.operationId,ae.operationId=m()(dt="".concat(be)).call(dt,Ie+1)});else if(void 0!==Oe.operationId){var He=ue[0];He.__originalOperationId=He.__originalOperationId||Oe.operationId,He.operationId=be}}if("parameters"!==Se){var $e=[],F={};for(var je in B)"produces"!==je&&"consumes"!==je&&"security"!==je||(F[je]=B[je],$e.push(F));if(he&&(F.parameters=he,$e.push(F)),$e.length){var Et,lt=s()($e);try{for(lt.s();!(Et=lt.n()).done;){var nn=Et.value;for(var St in nn)if(Oe[St]){if("parameters"===St){var Ot,Qe=s()(nn[St]);try{var It=function(){var ae=Ot.value;Oe[St].some(function(Ie){return Ie.name&&Ie.name===ae.name||Ie.$ref&&Ie.$ref===ae.$ref||Ie.$$ref&&Ie.$$ref===ae.$$ref||Ie===ae})||Oe[St].push(ae)};for(Qe.s();!(Ot=Qe.n()).done;)It()}catch(ae){Qe.e(ae)}finally{Qe.f()}}}else Oe[St]=nn[St]}}catch(ae){lt.e(ae)}finally{lt.f()}}}};for(var Ae in ne)ce(Ae)}}return B.$$normalized=!0,J}},function(g,o,t){"use strict";t.r(o),t.d(o,"NEW_THROWN_ERR",function(){return s}),t.d(o,"NEW_THROWN_ERR_BATCH",function(){return a}),t.d(o,"NEW_SPEC_ERR",function(){return l}),t.d(o,"NEW_SPEC_ERR_BATCH",function(){return u}),t.d(o,"NEW_AUTH_ERR",function(){return h}),t.d(o,"CLEAR",function(){return _}),t.d(o,"CLEAR_BY",function(){return m}),t.d(o,"newThrownErr",function(){return b}),t.d(o,"newThrownErrBatch",function(){return T}),t.d(o,"newSpecErr",function(){return D}),t.d(o,"newSpecErrBatch",function(){return R}),t.d(o,"newAuthErr",function(){return j}),t.d(o,"clear",function(){return H}),t.d(o,"clearBy",function(){return z});var e=t(141),s="err_new_thrown_err",a="err_new_thrown_err_batch",l="err_new_spec_err",u="err_new_spec_err_batch",h="err_new_auth_err",_="err_clear",m="err_clear_by";function b(U){return{type:s,payload:Object(e.serializeError)(U)}}function T(U){return{type:a,payload:U}}function D(U){return{type:l,payload:U}}function R(U){return{type:u,payload:U}}function j(U){return{type:h,payload:U}}function H(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:_,payload:U}}function z(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return{type:m,payload:U}}},function(g,o,t){var e=t(168),s=t(113);g.exports=function(a){return e(s(a))}},function(g,o,t){var e=t(17),s=t(113),a=e.Object;g.exports=function(l){return a(s(l))}},function(g,o,t){var e=t(17),s=t(48),a=t(330),l=t(51),u=t(169),h=e.TypeError,_=Object.defineProperty;o.f=s?_:function(m,b,T){if(l(m),b=u(b),l(T),a)try{return _(m,b,T)}catch(D){}if("get"in T||"set"in T)throw h("Accessors not supported");return"value"in T&&(m[b]=T.value),m}},function(g,o){g.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var s=function(){};s.prototype=e.prototype,t.prototype=new s,t.prototype.constructor=t}}},function(g,o,t){var e=t(132),s=e.Buffer;function a(u,h){for(var _ in u)h[_]=u[_]}function l(u,h,_){return s(u,h,_)}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?g.exports=e:(a(e,o),o.Buffer=l),a(s,l),l.from=function(u,h,_){if("number"==typeof u)throw new TypeError("Argument must not be a number");return s(u,h,_)},l.alloc=function(u,h,_){if("number"!=typeof u)throw new TypeError("Argument must be a number");var m=s(u);return void 0!==h?"string"==typeof _?m.fill(h,_):m.fill(h):m.fill(0),m},l.allocUnsafe=function(u){if("number"!=typeof u)throw new TypeError("Argument must be a number");return s(u)},l.allocUnsafeSlow=function(u){if("number"!=typeof u)throw new TypeError("Argument must be a number");return e.SlowBuffer(u)}},function(g,o,t){g.exports=t(424)},function(g,o,t){var e=t(17),s=t(75),a=e.String;g.exports=function(l){if("Symbol"===s(l))throw TypeError("Cannot convert a Symbol value to a string");return a(l)}},function(g,o,t){t(77);var e=t(507),s=t(17),a=t(75),l=t(85),u=t(130),h=t(38)("toStringTag");for(var _ in e){var m=s[_],b=m&&m.prototype;b&&a(b)!==h&&l(b,h,_),u[_]=u.Array}},function(g,o,t){var e=t(355),s="object"==typeof self&&self&&self.Object===Object&&self,a=e||s||Function("return this")();g.exports=a},function(g,o,t){"use strict";function e(se){return null==se}var s={isNothing:e,isObject:function(se){return"object"==typeof se&&null!==se},toArray:function(se){return Array.isArray(se)?se:e(se)?[]:[se]},repeat:function(se,ct){var Ke,Xe="";for(Ke=0;Ke<ct;Ke+=1)Xe+=se;return Xe},isNegativeZero:function(se){return 0===se&&Number.NEGATIVE_INFINITY===1/se},extend:function(se,ct){var Ke,Xe,Vt,Ct;if(ct)for(Ke=0,Xe=(Ct=Object.keys(ct)).length;Ke<Xe;Ke+=1)se[Vt=Ct[Ke]]=ct[Vt];return se}};function a(se,ct){var Ke="",Xe=se.reason||"(unknown reason)";return se.mark?(se.mark.name&&(Ke+='in "'+se.mark.name+'" '),Ke+="("+(se.mark.line+1)+":"+(se.mark.column+1)+")",!ct&&se.mark.snippet&&(Ke+="\n\n"+se.mark.snippet),Xe+" "+Ke):Xe}function l(se,ct){Error.call(this),this.name="YAMLException",this.reason=se,this.mark=ct,this.message=a(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}(l.prototype=Object.create(Error.prototype)).constructor=l,l.prototype.toString=function(se){return this.name+": "+a(this,se)};var u=l;function h(se,ct,Ke,Xe,Vt){var Ct="",rt="",yt=Math.floor(Vt/2)-1;return Xe-ct>yt&&(ct=Xe-yt+(Ct=" ... ").length),Ke-Xe>yt&&(Ke=Xe+yt-(rt=" ...").length),{str:Ct+se.slice(ct,Ke).replace(/\t/g,"\u2192")+rt,pos:Xe-ct+Ct.length}}function _(se,ct){return s.repeat(" ",ct-se.length)+se}var b=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],T=["scalar","sequence","mapping"],D=function(se,ct){if(ct=ct||{},Object.keys(ct).forEach(function(Ke){if(-1===b.indexOf(Ke))throw new u('Unknown option "'+Ke+'" is met in definition of "'+se+'" YAML type.')}),this.options=ct,this.tag=se,this.kind=ct.kind||null,this.resolve=ct.resolve||function(){return!0},this.construct=ct.construct||function(Ke){return Ke},this.instanceOf=ct.instanceOf||null,this.predicate=ct.predicate||null,this.represent=ct.represent||null,this.representName=ct.representName||null,this.defaultStyle=ct.defaultStyle||null,this.multi=ct.multi||!1,this.styleAliases=(Xe={},null!==(Ke=ct.styleAliases||null)&&Object.keys(Ke).forEach(function(Vt){Ke[Vt].forEach(function(Ct){Xe[String(Ct)]=Vt})}),Xe),-1===T.indexOf(this.kind))throw new u('Unknown kind "'+this.kind+'" is specified for "'+se+'" YAML type.');var Ke,Xe};function R(se,ct){var Ke=[];return se[ct].forEach(function(Xe){var Vt=Ke.length;Ke.forEach(function(Ct,rt){Ct.tag===Xe.tag&&Ct.kind===Xe.kind&&Ct.multi===Xe.multi&&(Vt=rt)}),Ke[Vt]=Xe}),Ke}function j(se){return this.extend(se)}j.prototype.extend=function(se){var ct=[],Ke=[];if(se instanceof D)Ke.push(se);else if(Array.isArray(se))Ke=Ke.concat(se);else{if(!se||!Array.isArray(se.implicit)&&!Array.isArray(se.explicit))throw new u("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");se.implicit&&(ct=ct.concat(se.implicit)),se.explicit&&(Ke=Ke.concat(se.explicit))}ct.forEach(function(Vt){if(!(Vt instanceof D))throw new u("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(Vt.loadKind&&"scalar"!==Vt.loadKind)throw new u("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(Vt.multi)throw new u("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),Ke.forEach(function(Vt){if(!(Vt instanceof D))throw new u("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var Xe=Object.create(j.prototype);return Xe.implicit=(this.implicit||[]).concat(ct),Xe.explicit=(this.explicit||[]).concat(Ke),Xe.compiledImplicit=R(Xe,"implicit"),Xe.compiledExplicit=R(Xe,"explicit"),Xe.compiledTypeMap=function(){var Vt,Ct,rt={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function yt(qe){qe.multi?(rt.multi[qe.kind].push(qe),rt.multi.fallback.push(qe)):rt[qe.kind][qe.tag]=rt.fallback[qe.tag]=qe}for(Vt=0,Ct=arguments.length;Vt<Ct;Vt+=1)arguments[Vt].forEach(yt);return rt}(Xe.compiledImplicit,Xe.compiledExplicit),Xe};var H=j,z=new D("tag:yaml.org,2002:str",{kind:"scalar",construct:function(se){return null!==se?se:""}}),U=new D("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(se){return null!==se?se:[]}}),M=new D("tag:yaml.org,2002:map",{kind:"mapping",construct:function(se){return null!==se?se:{}}}),I=new H({explicit:[z,U,M]}),J=new D("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(se){if(null===se)return!0;var ct=se.length;return 1===ct&&"~"===se||4===ct&&("null"===se||"Null"===se||"NULL"===se)},construct:function(){return null},predicate:function(se){return null===se},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),B=new D("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(se){if(null===se)return!1;var ct=se.length;return 4===ct&&("true"===se||"True"===se||"TRUE"===se)||5===ct&&("false"===se||"False"===se||"FALSE"===se)},construct:function(se){return"true"===se||"True"===se||"TRUE"===se},predicate:function(se){return"[object Boolean]"===Object.prototype.toString.call(se)},represent:{lowercase:function(se){return se?"true":"false"},uppercase:function(se){return se?"TRUE":"FALSE"},camelcase:function(se){return se?"True":"False"}},defaultStyle:"lowercase"});function ie(se){return 48<=se&&se<=55}function oe(se){return 48<=se&&se<=57}var fe=new D("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(se){if(null===se)return!1;var ct,Ke,Xe=se.length,Vt=0,Ct=!1;if(!Xe)return!1;if("-"!==(ct=se[Vt])&&"+"!==ct||(ct=se[++Vt]),"0"===ct){if(Vt+1===Xe)return!0;if("b"===(ct=se[++Vt])){for(Vt++;Vt<Xe;Vt++)if("_"!==(ct=se[Vt])){if("0"!==ct&&"1"!==ct)return!1;Ct=!0}return Ct&&"_"!==ct}if("x"===ct){for(Vt++;Vt<Xe;Vt++)if("_"!==(ct=se[Vt])){if(!(48<=(Ke=se.charCodeAt(Vt))&&Ke<=57||65<=Ke&&Ke<=70||97<=Ke&&Ke<=102))return!1;Ct=!0}return Ct&&"_"!==ct}if("o"===ct){for(Vt++;Vt<Xe;Vt++)if("_"!==(ct=se[Vt])){if(!ie(se.charCodeAt(Vt)))return!1;Ct=!0}return Ct&&"_"!==ct}}if("_"===ct)return!1;for(;Vt<Xe;Vt++)if("_"!==(ct=se[Vt])){if(!oe(se.charCodeAt(Vt)))return!1;Ct=!0}return!(!Ct||"_"===ct)},construct:function(se){var ct,Ke=se,Xe=1;if(-1!==Ke.indexOf("_")&&(Ke=Ke.replace(/_/g,"")),"-"!==(ct=Ke[0])&&"+"!==ct||("-"===ct&&(Xe=-1),ct=(Ke=Ke.slice(1))[0]),"0"===Ke)return 0;if("0"===ct){if("b"===Ke[1])return Xe*parseInt(Ke.slice(2),2);if("x"===Ke[1])return Xe*parseInt(Ke.slice(2),16);if("o"===Ke[1])return Xe*parseInt(Ke.slice(2),8)}return Xe*parseInt(Ke,10)},predicate:function(se){return"[object Number]"===Object.prototype.toString.call(se)&&se%1==0&&!s.isNegativeZero(se)},represent:{binary:function(se){return se>=0?"0b"+se.toString(2):"-0b"+se.toString(2).slice(1)},octal:function(se){return se>=0?"0o"+se.toString(8):"-0o"+se.toString(8).slice(1)},decimal:function(se){return se.toString(10)},hexadecimal:function(se){return se>=0?"0x"+se.toString(16).toUpperCase():"-0x"+se.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ne=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),he=/^[-+]?[0-9]+e/,ce=new D("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(se){return null!==se&&!(!ne.test(se)||"_"===se[se.length-1])},construct:function(se){var ct,Ke;return Ke="-"===(ct=se.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(ct[0])>=0&&(ct=ct.slice(1)),".inf"===ct?1===Ke?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===ct?NaN:Ke*parseFloat(ct,10)},predicate:function(se){return"[object Number]"===Object.prototype.toString.call(se)&&(se%1!=0||s.isNegativeZero(se))},represent:function(se,ct){var Ke;if(isNaN(se))switch(ct){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===se)switch(ct){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===se)switch(ct){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(s.isNegativeZero(se))return"-0.0";return Ke=se.toString(10),he.test(Ke)?Ke.replace("e",".e"):Ke},defaultStyle:"lowercase"}),Ae=I.extend({implicit:[J,B,fe,ce]}),Se=Ae,Oe=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),be=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),ue=new D("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(se){return null!==se&&(null!==Oe.exec(se)||null!==be.exec(se))},construct:function(se){var ct,Ke,Xe,Vt,Ct,rt,yt,qe,$t=0,or=null;if(null===(ct=Oe.exec(se))&&(ct=be.exec(se)),null===ct)throw new Error("Date resolve error");if(Ke=+ct[1],Xe=+ct[2]-1,Vt=+ct[3],!ct[4])return new Date(Date.UTC(Ke,Xe,Vt));if(Ct=+ct[4],rt=+ct[5],yt=+ct[6],ct[7]){for($t=ct[7].slice(0,3);$t.length<3;)$t+="0";$t=+$t}return ct[9]&&(or=6e4*(60*+ct[10]+ +(ct[11]||0)),"-"===ct[9]&&(or=-or)),qe=new Date(Date.UTC(Ke,Xe,Vt,Ct,rt,yt,$t)),or&&qe.setTime(qe.getTime()-or),qe},instanceOf:Date,represent:function(se){return se.toISOString()}}),He=new D("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(se){return"<<"===se||null===se}}),$e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",F=new D("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(se){if(null===se)return!1;var ct,Ke,Xe=0,Vt=se.length,Ct=$e;for(Ke=0;Ke<Vt;Ke++)if(!((ct=Ct.indexOf(se.charAt(Ke)))>64)){if(ct<0)return!1;Xe+=6}return Xe%8==0},construct:function(se){var ct,Ke,Xe=se.replace(/[\r\n=]/g,""),Vt=Xe.length,Ct=$e,rt=0,yt=[];for(ct=0;ct<Vt;ct++)ct%4==0&&ct&&(yt.push(rt>>16&255),yt.push(rt>>8&255),yt.push(255&rt)),rt=rt<<6|Ct.indexOf(Xe.charAt(ct));return 0==(Ke=Vt%4*6)?(yt.push(rt>>16&255),yt.push(rt>>8&255),yt.push(255&rt)):18===Ke?(yt.push(rt>>10&255),yt.push(rt>>2&255)):12===Ke&&yt.push(rt>>4&255),new Uint8Array(yt)},predicate:function(se){return"[object Uint8Array]"===Object.prototype.toString.call(se)},represent:function(se){var ct,Ke,Xe="",Vt=0,Ct=se.length,rt=$e;for(ct=0;ct<Ct;ct++)ct%3==0&&ct&&(Xe+=rt[Vt>>18&63],Xe+=rt[Vt>>12&63],Xe+=rt[Vt>>6&63],Xe+=rt[63&Vt]),Vt=(Vt<<8)+se[ct];return 0==(Ke=Ct%3)?(Xe+=rt[Vt>>18&63],Xe+=rt[Vt>>12&63],Xe+=rt[Vt>>6&63],Xe+=rt[63&Vt]):2===Ke?(Xe+=rt[Vt>>10&63],Xe+=rt[Vt>>4&63],Xe+=rt[Vt<<2&63],Xe+=rt[64]):1===Ke&&(Xe+=rt[Vt>>2&63],Xe+=rt[Vt<<4&63],Xe+=rt[64],Xe+=rt[64]),Xe}}),je=Object.prototype.hasOwnProperty,Et=Object.prototype.toString,lt=new D("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(se){if(null===se)return!0;var ct,Ke,Xe,Vt,Ct,rt=[],yt=se;for(ct=0,Ke=yt.length;ct<Ke;ct+=1){if(Ct=!1,"[object Object]"!==Et.call(Xe=yt[ct]))return!1;for(Vt in Xe)if(je.call(Xe,Vt)){if(Ct)return!1;Ct=!0}if(!Ct||-1!==rt.indexOf(Vt))return!1;rt.push(Vt)}return!0},construct:function(se){return null!==se?se:[]}}),nn=Object.prototype.toString,St=new D("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(se){if(null===se)return!0;var ct,Ke,Xe,Vt,Ct,rt=se;for(Ct=new Array(rt.length),ct=0,Ke=rt.length;ct<Ke;ct+=1){if("[object Object]"!==nn.call(Xe=rt[ct])||1!==(Vt=Object.keys(Xe)).length)return!1;Ct[ct]=[Vt[0],Xe[Vt[0]]]}return!0},construct:function(se){if(null===se)return[];var ct,Ke,Xe,Vt,Ct,rt=se;for(Ct=new Array(rt.length),ct=0,Ke=rt.length;ct<Ke;ct+=1)Xe=rt[ct],Vt=Object.keys(Xe),Ct[ct]=[Vt[0],Xe[Vt[0]]];return Ct}}),Ot=Object.prototype.hasOwnProperty,Qe=new D("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(se){if(null===se)return!0;var ct,Ke=se;for(ct in Ke)if(Ot.call(Ke,ct)&&null!==Ke[ct])return!1;return!0},construct:function(se){return null!==se?se:{}}}),It=Se.extend({implicit:[ue,He],explicit:[F,lt,St,Qe]}),ae=Object.prototype.hasOwnProperty,Ie=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,dt=/[\x85\u2028\u2029]/,Jt=/[,\[\]\{\}]/,zt=/^(?:!|!!|![a-z\-]+!)$/i,ln=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ar(se){return Object.prototype.toString.call(se)}function Ln(se){return 10===se||13===se}function Rn(se){return 9===se||32===se}function er(se){return 9===se||32===se||10===se||13===se}function Mn(se){return 44===se||91===se||93===se||123===se||125===se}function Ht(se){var ct;return 48<=se&&se<=57?se-48:97<=(ct=32|se)&&ct<=102?ct-97+10:-1}function tr(se){return 48===se?"\0":97===se?"\x07":98===se?"\b":116===se||9===se?"\t":110===se?"\n":118===se?"\v":102===se?"\f":114===se?"\r":101===se?"\x1b":32===se?" ":34===se?'"':47===se?"/":92===se?"\\":78===se?"\x85":95===se?"\xa0":76===se?"\u2028":80===se?"\u2029":""}function Yn(se){return se<=65535?String.fromCharCode(se):String.fromCharCode(55296+(se-65536>>10),56320+(se-65536&1023))}for(var Cn=new Array(256),Kt=new Array(256),dn=0;dn<256;dn++)Cn[dn]=tr(dn)?1:0,Kt[dn]=tr(dn);function Kn(se,ct){this.input=se,this.filename=ct.filename||null,this.schema=ct.schema||It,this.onWarning=ct.onWarning||null,this.legacy=ct.legacy||!1,this.json=ct.json||!1,this.listener=ct.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=se.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function qn(se,ct){var Ke={name:se.filename,buffer:se.input.slice(0,-1),position:se.position,line:se.line,column:se.position-se.lineStart};return Ke.snippet=function(se,ct){if(ct=Object.create(ct||null),!se.buffer)return null;ct.maxLength||(ct.maxLength=79),"number"!=typeof ct.indent&&(ct.indent=1),"number"!=typeof ct.linesBefore&&(ct.linesBefore=3),"number"!=typeof ct.linesAfter&&(ct.linesAfter=2);for(var Ke,Xe=/\r?\n|\r|\0/g,Vt=[0],Ct=[],rt=-1;Ke=Xe.exec(se.buffer);)Ct.push(Ke.index),Vt.push(Ke.index+Ke[0].length),se.position<=Ke.index&&rt<0&&(rt=Vt.length-2);rt<0&&(rt=Vt.length-1);var yt,qe,$t="",or=Math.min(se.line+ct.linesAfter,Ct.length).toString().length,Vn=ct.maxLength-(ct.indent+or+3);for(yt=1;yt<=ct.linesBefore&&!(rt-yt<0);yt++)qe=h(se.buffer,Vt[rt-yt],Ct[rt-yt],se.position-(Vt[rt]-Vt[rt-yt]),Vn),$t=s.repeat(" ",ct.indent)+_((se.line-yt+1).toString(),or)+" | "+qe.str+"\n"+$t;for(qe=h(se.buffer,Vt[rt],Ct[rt],se.position,Vn),$t+=s.repeat(" ",ct.indent)+_((se.line+1).toString(),or)+" | "+qe.str+"\n",$t+=s.repeat("-",ct.indent+or+3+qe.pos)+"^\n",yt=1;yt<=ct.linesAfter&&!(rt+yt>=Ct.length);yt++)qe=h(se.buffer,Vt[rt+yt],Ct[rt+yt],se.position-(Vt[rt]-Vt[rt+yt]),Vn),$t+=s.repeat(" ",ct.indent)+_((se.line+yt+1).toString(),or)+" | "+qe.str+"\n";return $t.replace(/\n$/,"")}(Ke),new u(ct,Ke)}function Sn(se,ct){throw qn(se,ct)}function $n(se,ct){se.onWarning&&se.onWarning.call(null,qn(se,ct))}var En={YAML:function(se,ct,Ke){var Xe,Vt,Ct;null!==se.version&&Sn(se,"duplication of %YAML directive"),1!==Ke.length&&Sn(se,"YAML directive accepts exactly one argument"),null===(Xe=/^([0-9]+)\.([0-9]+)$/.exec(Ke[0]))&&Sn(se,"ill-formed argument of the YAML directive"),Vt=parseInt(Xe[1],10),Ct=parseInt(Xe[2],10),1!==Vt&&Sn(se,"unacceptable YAML version of the document"),se.version=Ke[0],se.checkLineBreaks=Ct<2,1!==Ct&&2!==Ct&&$n(se,"unsupported YAML version of the document")},TAG:function(se,ct,Ke){var Xe,Vt;2!==Ke.length&&Sn(se,"TAG directive accepts exactly two arguments"),Vt=Ke[1],zt.test(Xe=Ke[0])||Sn(se,"ill-formed tag handle (first argument) of the TAG directive"),ae.call(se.tagMap,Xe)&&Sn(se,'there is a previously declared suffix for "'+Xe+'" tag handle'),ln.test(Vt)||Sn(se,"ill-formed tag prefix (second argument) of the TAG directive");try{Vt=decodeURIComponent(Vt)}catch(Ct){Sn(se,"tag prefix is malformed: "+Vt)}se.tagMap[Xe]=Vt}};function Fn(se,ct,Ke,Xe){var Vt,Ct,rt,yt;if(ct<Ke){if(yt=se.input.slice(ct,Ke),Xe)for(Vt=0,Ct=yt.length;Vt<Ct;Vt+=1)9===(rt=yt.charCodeAt(Vt))||32<=rt&&rt<=1114111||Sn(se,"expected valid JSON character");else Ie.test(yt)&&Sn(se,"the stream contains non-printable characters");se.result+=yt}}function Dn(se,ct,Ke,Xe){var Vt,Ct,rt,yt;for(s.isObject(Ke)||Sn(se,"cannot merge mappings; the provided source object is unacceptable"),rt=0,yt=(Vt=Object.keys(Ke)).length;rt<yt;rt+=1)ae.call(ct,Ct=Vt[rt])||(ct[Ct]=Ke[Ct],Xe[Ct]=!0)}function mn(se,ct,Ke,Xe,Vt,Ct,rt,yt,qe){var $t,or;if(Array.isArray(Vt))for($t=0,or=(Vt=Array.prototype.slice.call(Vt)).length;$t<or;$t+=1)Array.isArray(Vt[$t])&&Sn(se,"nested arrays are not supported inside keys"),"object"==typeof Vt&&"[object Object]"===ar(Vt[$t])&&(Vt[$t]="[object Object]");if("object"==typeof Vt&&"[object Object]"===ar(Vt)&&(Vt="[object Object]"),Vt=String(Vt),null===ct&&(ct={}),"tag:yaml.org,2002:merge"===Xe)if(Array.isArray(Ct))for($t=0,or=Ct.length;$t<or;$t+=1)Dn(se,ct,Ct[$t],Ke);else Dn(se,ct,Ct,Ke);else se.json||ae.call(Ke,Vt)||!ae.call(ct,Vt)||(se.line=rt||se.line,se.lineStart=yt||se.lineStart,se.position=qe||se.position,Sn(se,"duplicated mapping key")),"__proto__"===Vt?Object.defineProperty(ct,Vt,{configurable:!0,enumerable:!0,writable:!0,value:Ct}):ct[Vt]=Ct,delete Ke[Vt];return ct}function jn(se){var ct;10===(ct=se.input.charCodeAt(se.position))?se.position++:13===ct?(se.position++,10===se.input.charCodeAt(se.position)&&se.position++):Sn(se,"a line break is expected"),se.line+=1,se.lineStart=se.position,se.firstTabInLine=-1}function Xt(se,ct,Ke){for(var Xe=0,Vt=se.input.charCodeAt(se.position);0!==Vt;){for(;Rn(Vt);)9===Vt&&-1===se.firstTabInLine&&(se.firstTabInLine=se.position),Vt=se.input.charCodeAt(++se.position);if(ct&&35===Vt)do{Vt=se.input.charCodeAt(++se.position)}while(10!==Vt&&13!==Vt&&0!==Vt);if(!Ln(Vt))break;for(jn(se),Vt=se.input.charCodeAt(se.position),Xe++,se.lineIndent=0;32===Vt;)se.lineIndent++,Vt=se.input.charCodeAt(++se.position)}return-1!==Ke&&0!==Xe&&se.lineIndent<Ke&&$n(se,"deficient indentation"),Xe}function ut(se){var ct,Ke=se.position;return!(45!==(ct=se.input.charCodeAt(Ke))&&46!==ct||ct!==se.input.charCodeAt(Ke+1)||ct!==se.input.charCodeAt(Ke+2)||(Ke+=3,0!==(ct=se.input.charCodeAt(Ke))&&!er(ct)))}function mt(se,ct){1===ct?se.result+=" ":ct>1&&(se.result+=s.repeat("\n",ct-1))}function Tt(se,ct){var Ke,Xe,Vt=se.tag,Ct=se.anchor,rt=[],yt=!1;if(-1!==se.firstTabInLine)return!1;for(null!==se.anchor&&(se.anchorMap[se.anchor]=rt),Xe=se.input.charCodeAt(se.position);0!==Xe&&(-1!==se.firstTabInLine&&(se.position=se.firstTabInLine,Sn(se,"tab characters must not be used in indentation")),45===Xe)&&er(se.input.charCodeAt(se.position+1));)if(yt=!0,se.position++,Xt(se,!0,-1)&&se.lineIndent<=ct)rt.push(null),Xe=se.input.charCodeAt(se.position);else if(Ke=se.line,jt(se,ct,3,!1,!0),rt.push(se.result),Xt(se,!0,-1),Xe=se.input.charCodeAt(se.position),(se.line===Ke||se.lineIndent>ct)&&0!==Xe)Sn(se,"bad indentation of a sequence entry");else if(se.lineIndent<ct)break;return!!yt&&(se.tag=Vt,se.anchor=Ct,se.kind="sequence",se.result=rt,!0)}function yn(se){var ct,Ke,Xe,Vt,Ct=!1,rt=!1;if(33!==(Vt=se.input.charCodeAt(se.position)))return!1;if(null!==se.tag&&Sn(se,"duplication of a tag property"),60===(Vt=se.input.charCodeAt(++se.position))?(Ct=!0,Vt=se.input.charCodeAt(++se.position)):33===Vt?(rt=!0,Ke="!!",Vt=se.input.charCodeAt(++se.position)):Ke="!",ct=se.position,Ct){do{Vt=se.input.charCodeAt(++se.position)}while(0!==Vt&&62!==Vt);se.position<se.length?(Xe=se.input.slice(ct,se.position),Vt=se.input.charCodeAt(++se.position)):Sn(se,"unexpected end of the stream within a verbatim tag")}else{for(;0!==Vt&&!er(Vt);)33===Vt&&(rt?Sn(se,"tag suffix cannot contain exclamation marks"):(Ke=se.input.slice(ct-1,se.position+1),zt.test(Ke)||Sn(se,"named tag handle cannot contain such characters"),rt=!0,ct=se.position+1)),Vt=se.input.charCodeAt(++se.position);Xe=se.input.slice(ct,se.position),Jt.test(Xe)&&Sn(se,"tag suffix cannot contain flow indicator characters")}Xe&&!ln.test(Xe)&&Sn(se,"tag name cannot contain such characters: "+Xe);try{Xe=decodeURIComponent(Xe)}catch(yt){Sn(se,"tag name is malformed: "+Xe)}return Ct?se.tag=Xe:ae.call(se.tagMap,Ke)?se.tag=se.tagMap[Ke]+Xe:"!"===Ke?se.tag="!"+Xe:"!!"===Ke?se.tag="tag:yaml.org,2002:"+Xe:Sn(se,'undeclared tag handle "'+Ke+'"'),!0}function et(se){var ct,Ke;if(38!==(Ke=se.input.charCodeAt(se.position)))return!1;for(null!==se.anchor&&Sn(se,"duplication of an anchor property"),Ke=se.input.charCodeAt(++se.position),ct=se.position;0!==Ke&&!er(Ke)&&!Mn(Ke);)Ke=se.input.charCodeAt(++se.position);return se.position===ct&&Sn(se,"name of an anchor node must contain at least one character"),se.anchor=se.input.slice(ct,se.position),!0}function jt(se,ct,Ke,Xe,Vt){var Ct,rt,yt,qe,$t,or,Vn,Vr,Cr,ai=1,Dr=!1,Jr=!1;if(null!==se.listener&&se.listener("open",se),se.tag=null,se.anchor=null,se.kind=null,se.result=null,Ct=rt=yt=4===Ke||3===Ke,Xe&&Xt(se,!0,-1)&&(Dr=!0,se.lineIndent>ct?ai=1:se.lineIndent===ct?ai=0:se.lineIndent<ct&&(ai=-1)),1===ai)for(;yn(se)||et(se);)Xt(se,!0,-1)?(Dr=!0,yt=Ct,se.lineIndent>ct?ai=1:se.lineIndent===ct?ai=0:se.lineIndent<ct&&(ai=-1)):yt=!1;if(yt&&(yt=Dr||Vt),1!==ai&&4!==Ke||(Vr=1===Ke||2===Ke?ct:ct+1,Cr=se.position-se.lineStart,1===ai?yt&&(Tt(se,Cr)||function(rn,fi,Ei){var wi,_o,ki,to,qi,Wi,eo,Gi=rn.tag,Wo=rn.anchor,Ro={},Bo=Object.create(null),Ko=null,ts=null,ua=null,ds=!1,qo=!1;if(-1!==rn.firstTabInLine)return!1;for(null!==rn.anchor&&(rn.anchorMap[rn.anchor]=Ro),eo=rn.input.charCodeAt(rn.position);0!==eo;){if(ds||-1===rn.firstTabInLine||(rn.position=rn.firstTabInLine,Sn(rn,"tab characters must not be used in indentation")),wi=rn.input.charCodeAt(rn.position+1),ki=rn.line,63!==eo&&58!==eo||!er(wi)){if(to=rn.line,qi=rn.lineStart,Wi=rn.position,!jt(rn,Ei,2,!1,!0))break;if(rn.line===ki){for(eo=rn.input.charCodeAt(rn.position);Rn(eo);)eo=rn.input.charCodeAt(++rn.position);if(58===eo)er(eo=rn.input.charCodeAt(++rn.position))||Sn(rn,"a whitespace character is expected after the key-value separator within a block mapping"),ds&&(mn(rn,Ro,Bo,Ko,ts,null,to,qi,Wi),Ko=ts=ua=null),qo=!0,ds=!1,_o=!1,Ko=rn.tag,ts=rn.result;else{if(!qo)return rn.tag=Gi,rn.anchor=Wo,!0;Sn(rn,"can not read an implicit mapping pair; a colon is missed")}}else{if(!qo)return rn.tag=Gi,rn.anchor=Wo,!0;Sn(rn,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===eo?(ds&&(mn(rn,Ro,Bo,Ko,ts,null,to,qi,Wi),Ko=ts=ua=null),qo=!0,ds=!0,_o=!0):ds?(ds=!1,_o=!0):Sn(rn,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),rn.position+=1,eo=wi;if((rn.line===ki||rn.lineIndent>fi)&&(ds&&(to=rn.line,qi=rn.lineStart,Wi=rn.position),jt(rn,fi,4,!0,_o)&&(ds?ts=rn.result:ua=rn.result),ds||(mn(rn,Ro,Bo,Ko,ts,ua,to,qi,Wi),Ko=ts=ua=null),Xt(rn,!0,-1),eo=rn.input.charCodeAt(rn.position)),(rn.line===ki||rn.lineIndent>fi)&&0!==eo)Sn(rn,"bad indentation of a mapping entry");else if(rn.lineIndent<fi)break}return ds&&mn(rn,Ro,Bo,Ko,ts,null,to,qi,Wi),qo&&(rn.tag=Gi,rn.anchor=Wo,rn.kind="mapping",rn.result=Ro),qo}(se,Cr,Vr))||function(rn,fi){var Ei,wi,_o,ki,to,qi,Wi,eo,Gi,Wo,Ro,Bo,Ko=!0,ts=rn.tag,ua=rn.anchor,ds=Object.create(null);if(91===(Bo=rn.input.charCodeAt(rn.position)))to=93,eo=!1,ki=[];else{if(123!==Bo)return!1;to=125,eo=!0,ki={}}for(null!==rn.anchor&&(rn.anchorMap[rn.anchor]=ki),Bo=rn.input.charCodeAt(++rn.position);0!==Bo;){if(Xt(rn,!0,fi),(Bo=rn.input.charCodeAt(rn.position))===to)return rn.position++,rn.tag=ts,rn.anchor=ua,rn.kind=eo?"mapping":"sequence",rn.result=ki,!0;Ko?44===Bo&&Sn(rn,"expected the node content, but found ','"):Sn(rn,"missed comma between flow collection entries"),Ro=null,qi=Wi=!1,63===Bo&&er(rn.input.charCodeAt(rn.position+1))&&(qi=Wi=!0,rn.position++,Xt(rn,!0,fi)),Ei=rn.line,wi=rn.lineStart,_o=rn.position,jt(rn,fi,1,!1,!0),Wo=rn.tag,Gi=rn.result,Xt(rn,!0,fi),Bo=rn.input.charCodeAt(rn.position),!Wi&&rn.line!==Ei||58!==Bo||(qi=!0,Bo=rn.input.charCodeAt(++rn.position),Xt(rn,!0,fi),jt(rn,fi,1,!1,!0),Ro=rn.result),eo?mn(rn,ki,ds,Wo,Gi,Ro,Ei,wi,_o):ki.push(qi?mn(rn,null,ds,Wo,Gi,Ro,Ei,wi,_o):Gi),Xt(rn,!0,fi),44===(Bo=rn.input.charCodeAt(rn.position))?(Ko=!0,Bo=rn.input.charCodeAt(++rn.position)):Ko=!1}Sn(rn,"unexpected end of the stream within a flow collection")}(se,Vr)?Jr=!0:(rt&&function(rn,fi){var Ei,wi,_o,ki,to,qi=1,Wi=!1,eo=!1,Gi=fi,Wo=0,Ro=!1;if(124===(ki=rn.input.charCodeAt(rn.position)))wi=!1;else{if(62!==ki)return!1;wi=!0}for(rn.kind="scalar",rn.result="";0!==ki;)if(43===(ki=rn.input.charCodeAt(++rn.position))||45===ki)1===qi?qi=43===ki?3:2:Sn(rn,"repeat of a chomping mode identifier");else{if(!((_o=48<=(to=ki)&&to<=57?to-48:-1)>=0))break;0===_o?Sn(rn,"bad explicit indentation width of a block scalar; it cannot be less than one"):eo?Sn(rn,"repeat of an indentation width identifier"):(Gi=fi+_o-1,eo=!0)}if(Rn(ki)){do{ki=rn.input.charCodeAt(++rn.position)}while(Rn(ki));if(35===ki)do{ki=rn.input.charCodeAt(++rn.position)}while(!Ln(ki)&&0!==ki)}for(;0!==ki;){for(jn(rn),rn.lineIndent=0,ki=rn.input.charCodeAt(rn.position);(!eo||rn.lineIndent<Gi)&&32===ki;)rn.lineIndent++,ki=rn.input.charCodeAt(++rn.position);if(!eo&&rn.lineIndent>Gi&&(Gi=rn.lineIndent),Ln(ki))Wo++;else{if(rn.lineIndent<Gi){3===qi?rn.result+=s.repeat("\n",Wi?1+Wo:Wo):1===qi&&Wi&&(rn.result+="\n");break}for(wi?Rn(ki)?(Ro=!0,rn.result+=s.repeat("\n",Wi?1+Wo:Wo)):Ro?(Ro=!1,rn.result+=s.repeat("\n",Wo+1)):0===Wo?Wi&&(rn.result+=" "):rn.result+=s.repeat("\n",Wo):rn.result+=s.repeat("\n",Wi?1+Wo:Wo),Wi=!0,eo=!0,Wo=0,Ei=rn.position;!Ln(ki)&&0!==ki;)ki=rn.input.charCodeAt(++rn.position);Fn(rn,Ei,rn.position,!1)}}return!0}(se,Vr)||function(rn,fi){var Ei,wi,_o;if(39!==(Ei=rn.input.charCodeAt(rn.position)))return!1;for(rn.kind="scalar",rn.result="",rn.position++,wi=_o=rn.position;0!==(Ei=rn.input.charCodeAt(rn.position));)if(39===Ei){if(Fn(rn,wi,rn.position,!0),39!==(Ei=rn.input.charCodeAt(++rn.position)))return!0;wi=rn.position,rn.position++,_o=rn.position}else Ln(Ei)?(Fn(rn,wi,_o,!0),mt(rn,Xt(rn,!1,fi)),wi=_o=rn.position):rn.position===rn.lineStart&&ut(rn)?Sn(rn,"unexpected end of the document within a single quoted scalar"):(rn.position++,_o=rn.position);Sn(rn,"unexpected end of the stream within a single quoted scalar")}(se,Vr)||function(rn,fi){var Ei,wi,_o,ki,to,qi,Wi;if(34!==(qi=rn.input.charCodeAt(rn.position)))return!1;for(rn.kind="scalar",rn.result="",rn.position++,Ei=wi=rn.position;0!==(qi=rn.input.charCodeAt(rn.position));){if(34===qi)return Fn(rn,Ei,rn.position,!0),rn.position++,!0;if(92===qi){if(Fn(rn,Ei,rn.position,!0),Ln(qi=rn.input.charCodeAt(++rn.position)))Xt(rn,!1,fi);else if(qi<256&&Cn[qi])rn.result+=Kt[qi],rn.position++;else if((to=120===(Wi=qi)?2:117===Wi?4:85===Wi?8:0)>0){for(_o=to,ki=0;_o>0;_o--)(to=Ht(qi=rn.input.charCodeAt(++rn.position)))>=0?ki=(ki<<4)+to:Sn(rn,"expected hexadecimal character");rn.result+=Yn(ki),rn.position++}else Sn(rn,"unknown escape sequence");Ei=wi=rn.position}else Ln(qi)?(Fn(rn,Ei,wi,!0),mt(rn,Xt(rn,!1,fi)),Ei=wi=rn.position):rn.position===rn.lineStart&&ut(rn)?Sn(rn,"unexpected end of the document within a double quoted scalar"):(rn.position++,wi=rn.position)}Sn(rn,"unexpected end of the stream within a double quoted scalar")}(se,Vr)?Jr=!0:function(rn){var fi,Ei,wi;if(42!==(wi=rn.input.charCodeAt(rn.position)))return!1;for(wi=rn.input.charCodeAt(++rn.position),fi=rn.position;0!==wi&&!er(wi)&&!Mn(wi);)wi=rn.input.charCodeAt(++rn.position);return rn.position===fi&&Sn(rn,"name of an alias node must contain at least one character"),Ei=rn.input.slice(fi,rn.position),ae.call(rn.anchorMap,Ei)||Sn(rn,'unidentified alias "'+Ei+'"'),rn.result=rn.anchorMap[Ei],Xt(rn,!0,-1),!0}(se)?(Jr=!0,null===se.tag&&null===se.anchor||Sn(se,"alias node should not have any properties")):function(rn,fi,Ei){var wi,_o,ki,to,qi,Wi,eo,Gi,Wo=rn.kind,Ro=rn.result;if(er(Gi=rn.input.charCodeAt(rn.position))||Mn(Gi)||35===Gi||38===Gi||42===Gi||33===Gi||124===Gi||62===Gi||39===Gi||34===Gi||37===Gi||64===Gi||96===Gi||(63===Gi||45===Gi)&&(er(wi=rn.input.charCodeAt(rn.position+1))||Ei&&Mn(wi)))return!1;for(rn.kind="scalar",rn.result="",_o=ki=rn.position,to=!1;0!==Gi;){if(58===Gi){if(er(wi=rn.input.charCodeAt(rn.position+1))||Ei&&Mn(wi))break}else if(35===Gi){if(er(rn.input.charCodeAt(rn.position-1)))break}else{if(rn.position===rn.lineStart&&ut(rn)||Ei&&Mn(Gi))break;if(Ln(Gi)){if(qi=rn.line,Wi=rn.lineStart,eo=rn.lineIndent,Xt(rn,!1,-1),rn.lineIndent>=fi){to=!0,Gi=rn.input.charCodeAt(rn.position);continue}rn.position=ki,rn.line=qi,rn.lineStart=Wi,rn.lineIndent=eo;break}}to&&(Fn(rn,_o,ki,!1),mt(rn,rn.line-qi),_o=ki=rn.position,to=!1),Rn(Gi)||(ki=rn.position+1),Gi=rn.input.charCodeAt(++rn.position)}return Fn(rn,_o,ki,!1),!!rn.result||(rn.kind=Wo,rn.result=Ro,!1)}(se,Vr,1===Ke)&&(Jr=!0,null===se.tag&&(se.tag="?")),null!==se.anchor&&(se.anchorMap[se.anchor]=se.result)):0===ai&&(Jr=yt&&Tt(se,Cr))),null===se.tag)null!==se.anchor&&(se.anchorMap[se.anchor]=se.result);else if("?"===se.tag){for(null!==se.result&&"scalar"!==se.kind&&Sn(se,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+se.kind+'"'),qe=0,$t=se.implicitTypes.length;qe<$t;qe+=1)if((Vn=se.implicitTypes[qe]).resolve(se.result)){se.result=Vn.construct(se.result),se.tag=Vn.tag,null!==se.anchor&&(se.anchorMap[se.anchor]=se.result);break}}else if("!"!==se.tag){if(ae.call(se.typeMap[se.kind||"fallback"],se.tag))Vn=se.typeMap[se.kind||"fallback"][se.tag];else for(Vn=null,qe=0,$t=(or=se.typeMap.multi[se.kind||"fallback"]).length;qe<$t;qe+=1)if(se.tag.slice(0,or[qe].tag.length)===or[qe].tag){Vn=or[qe];break}Vn||Sn(se,"unknown tag !<"+se.tag+">"),null!==se.result&&Vn.kind!==se.kind&&Sn(se,"unacceptable node kind for !<"+se.tag+'> tag; it should be "'+Vn.kind+'", not "'+se.kind+'"'),Vn.resolve(se.result,se.tag)?(se.result=Vn.construct(se.result,se.tag),null!==se.anchor&&(se.anchorMap[se.anchor]=se.result)):Sn(se,"cannot resolve a node with !<"+se.tag+"> explicit tag")}return null!==se.listener&&se.listener("close",se),null!==se.tag||null!==se.anchor||Jr}function hn(se){var ct,Ke,Xe,Vt,Ct=se.position,rt=!1;for(se.version=null,se.checkLineBreaks=se.legacy,se.tagMap=Object.create(null),se.anchorMap=Object.create(null);0!==(Vt=se.input.charCodeAt(se.position))&&(Xt(se,!0,-1),Vt=se.input.charCodeAt(se.position),!(se.lineIndent>0||37!==Vt));){for(rt=!0,Vt=se.input.charCodeAt(++se.position),ct=se.position;0!==Vt&&!er(Vt);)Vt=se.input.charCodeAt(++se.position);for(Xe=[],(Ke=se.input.slice(ct,se.position)).length<1&&Sn(se,"directive name must not be less than one character in length");0!==Vt;){for(;Rn(Vt);)Vt=se.input.charCodeAt(++se.position);if(35===Vt){do{Vt=se.input.charCodeAt(++se.position)}while(0!==Vt&&!Ln(Vt));break}if(Ln(Vt))break;for(ct=se.position;0!==Vt&&!er(Vt);)Vt=se.input.charCodeAt(++se.position);Xe.push(se.input.slice(ct,se.position))}0!==Vt&&jn(se),ae.call(En,Ke)?En[Ke](se,Ke,Xe):$n(se,'unknown document directive "'+Ke+'"')}Xt(se,!0,-1),0===se.lineIndent&&45===se.input.charCodeAt(se.position)&&45===se.input.charCodeAt(se.position+1)&&45===se.input.charCodeAt(se.position+2)?(se.position+=3,Xt(se,!0,-1)):rt&&Sn(se,"directives end mark is expected"),jt(se,se.lineIndent-1,4,!1,!0),Xt(se,!0,-1),se.checkLineBreaks&&dt.test(se.input.slice(Ct,se.position))&&$n(se,"non-ASCII line breaks are interpreted as content"),se.documents.push(se.result),se.position===se.lineStart&&ut(se)?46===se.input.charCodeAt(se.position)&&(se.position+=3,Xt(se,!0,-1)):se.position<se.length-1&&Sn(se,"end of the stream or a document separator is expected")}function Qn(se,ct){ct=ct||{},0!==(se=String(se)).length&&(10!==se.charCodeAt(se.length-1)&&13!==se.charCodeAt(se.length-1)&&(se+="\n"),65279===se.charCodeAt(0)&&(se=se.slice(1)));var Ke=new Kn(se,ct),Xe=se.indexOf("\0");for(-1!==Xe&&(Ke.position=Xe,Sn(Ke,"null byte is not allowed in input")),Ke.input+="\0";32===Ke.input.charCodeAt(Ke.position);)Ke.lineIndent+=1,Ke.position+=1;for(;Ke.position<Ke.length-1;)hn(Ke);return Ke.documents}var Ir={loadAll:function(se,ct,Ke){null!==ct&&"object"==typeof ct&&void 0===Ke&&(Ke=ct,ct=null);var Xe=Qn(se,Ke);if("function"!=typeof ct)return Xe;for(var Vt=0,Ct=Xe.length;Vt<Ct;Vt+=1)ct(Xe[Vt])},load:function(se,ct){var Ke=Qn(se,ct);if(0!==Ke.length){if(1===Ke.length)return Ke[0];throw new u("expected a single document in the stream, but found more")}}},ht=Object.prototype.toString,L=Object.prototype.hasOwnProperty,nt={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},at=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],it=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Pt(se){var ct,Ke,Xe;if(ct=se.toString(16).toUpperCase(),se<=255)Ke="x",Xe=2;else if(se<=65535)Ke="u",Xe=4;else{if(!(se<=4294967295))throw new u("code point within a string may not be greater than 0xFFFFFFFF");Ke="U",Xe=8}return"\\"+Ke+s.repeat("0",Xe-ct.length)+ct}function Ut(se){this.schema=se.schema||It,this.indent=Math.max(1,se.indent||2),this.noArrayIndent=se.noArrayIndent||!1,this.skipInvalid=se.skipInvalid||!1,this.flowLevel=s.isNothing(se.flowLevel)?-1:se.flowLevel,this.styleMap=function(ct,Ke){var Xe,Vt,Ct,rt,yt,qe,$t;if(null===Ke)return{};for(Xe={},Ct=0,rt=(Vt=Object.keys(Ke)).length;Ct<rt;Ct+=1)yt=Vt[Ct],qe=String(Ke[yt]),"!!"===yt.slice(0,2)&&(yt="tag:yaml.org,2002:"+yt.slice(2)),($t=ct.compiledTypeMap.fallback[yt])&&L.call($t.styleAliases,qe)&&(qe=$t.styleAliases[qe]),Xe[yt]=qe;return Xe}(this.schema,se.styles||null),this.sortKeys=se.sortKeys||!1,this.lineWidth=se.lineWidth||80,this.noRefs=se.noRefs||!1,this.noCompatMode=se.noCompatMode||!1,this.condenseFlow=se.condenseFlow||!1,this.quotingType='"'===se.quotingType?2:1,this.forceQuotes=se.forceQuotes||!1,this.replacer="function"==typeof se.replacer?se.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function ot(se,ct){for(var Ke,Xe=s.repeat(" ",ct),Vt=0,Ct=-1,rt="",yt=se.length;Vt<yt;)-1===(Ct=se.indexOf("\n",Vt))?(Ke=se.slice(Vt),Vt=yt):(Ke=se.slice(Vt,Ct+1),Vt=Ct+1),Ke.length&&"\n"!==Ke&&(rt+=Xe),rt+=Ke;return rt}function Nn(se,ct){return"\n"+s.repeat(" ",se.indent*ct)}function sn(se){return 32===se||9===se}function An(se){return 32<=se&&se<=126||161<=se&&se<=55295&&8232!==se&&8233!==se||57344<=se&&se<=65533&&65279!==se||65536<=se&&se<=1114111}function Bn(se){return An(se)&&65279!==se&&13!==se&&10!==se}function ir(se,ct,Ke){var Xe=Bn(se),Vt=Xe&&!sn(se);return(Ke?Xe:Xe&&44!==se&&91!==se&&93!==se&&123!==se&&125!==se)&&35!==se&&!(58===ct&&!Vt)||Bn(ct)&&!sn(ct)&&35===se||58===ct&&Vt}function mr(se,ct){var Ke,Xe=se.charCodeAt(ct);return Xe>=55296&&Xe<=56319&&ct+1<se.length&&(Ke=se.charCodeAt(ct+1))>=56320&&Ke<=57343?1024*(Xe-55296)+Ke-56320+65536:Xe}function _r(se){return/^\n* /.test(se)}function Jn(se,ct){var Ke=_r(se)?String(ct):"",Xe="\n"===se[se.length-1];return Ke+(!Xe||"\n"!==se[se.length-2]&&"\n"!==se?Xe?"":"-":"+")+"\n"}function rr(se){return"\n"===se[se.length-1]?se.slice(0,-1):se}function Mr(se,ct){if(""===se||" "===se[0])return se;for(var Ke,Xe,Vt=/ [^ ]/g,Ct=0,rt=0,yt=0,qe="";Ke=Vt.exec(se);)(yt=Ke.index)-Ct>ct&&(qe+="\n"+se.slice(Ct,Xe=rt>Ct?rt:yt),Ct=Xe+1),rt=yt;return qe+="\n",(qe+=se.length-Ct>ct&&rt>Ct?se.slice(Ct,rt)+"\n"+se.slice(rt+1):se.slice(Ct)).slice(1)}function Li(se,ct,Ke){var Xe,Vt,Ct,rt,yt,qe;for(Ct=0,rt=(Vt=Ke?se.explicitTypes:se.implicitTypes).length;Ct<rt;Ct+=1)if(((yt=Vt[Ct]).instanceOf||yt.predicate)&&(!yt.instanceOf||"object"==typeof ct&&ct instanceof yt.instanceOf)&&(!yt.predicate||yt.predicate(ct))){if(se.tag=Ke?yt.multi&&yt.representName?yt.representName(ct):yt.tag:"?",yt.represent){if(qe=se.styleMap[yt.tag]||yt.defaultStyle,"[object Function]"===ht.call(yt.represent))Xe=yt.represent(ct,qe);else{if(!L.call(yt.represent,qe))throw new u("!<"+yt.tag+'> tag resolver accepts not "'+qe+'" style');Xe=yt.represent[qe](ct,qe)}se.dump=Xe}return!0}return!1}function Mi(se,ct,Ke,Xe,Vt,Ct,rt){se.tag=null,se.dump=Ke,Li(se,Ke,!1)||Li(se,Ke,!0);var yt,qe=ht.call(se.dump),$t=Xe;Xe&&(Xe=se.flowLevel<0||se.flowLevel>ct);var or,Vn,Vr="[object Object]"===qe||"[object Array]"===qe;if(Vr&&(Vn=-1!==(or=se.duplicates.indexOf(Ke))),(null!==se.tag&&"?"!==se.tag||Vn||2!==se.indent&&ct>0)&&(Vt=!1),Vn&&se.usedDuplicates[or])se.dump="*ref_"+or;else{if(Vr&&Vn&&!se.usedDuplicates[or]&&(se.usedDuplicates[or]=!0),"[object Object]"===qe)Xe&&0!==Object.keys(se.dump).length?(function(Cr,ai,Dr,Jr){var rn,fi,Ei,wi,_o,ki,to="",qi=Cr.tag,Wi=Object.keys(Dr);if(!0===Cr.sortKeys)Wi.sort();else if("function"==typeof Cr.sortKeys)Wi.sort(Cr.sortKeys);else if(Cr.sortKeys)throw new u("sortKeys must be a boolean or a function");for(rn=0,fi=Wi.length;rn<fi;rn+=1)ki="",Jr&&""===to||(ki+=Nn(Cr,ai)),wi=Dr[Ei=Wi[rn]],Cr.replacer&&(wi=Cr.replacer.call(Dr,Ei,wi)),Mi(Cr,ai+1,Ei,!0,!0,!0)&&((_o=null!==Cr.tag&&"?"!==Cr.tag||Cr.dump&&Cr.dump.length>1024)&&(Cr.dump&&10===Cr.dump.charCodeAt(0)?ki+="?":ki+="? "),ki+=Cr.dump,_o&&(ki+=Nn(Cr,ai)),Mi(Cr,ai+1,wi,!0,_o)&&(Cr.dump&&10===Cr.dump.charCodeAt(0)?ki+=":":ki+=": ",to+=ki+=Cr.dump));Cr.tag=qi,Cr.dump=to||"{}"}(se,ct,se.dump,Vt),Vn&&(se.dump="&ref_"+or+se.dump)):(function(Cr,ai,Dr){var Jr,rn,fi,Ei,wi,_o="",ki=Cr.tag,to=Object.keys(Dr);for(Jr=0,rn=to.length;Jr<rn;Jr+=1)wi="",""!==_o&&(wi+=", "),Cr.condenseFlow&&(wi+='"'),Ei=Dr[fi=to[Jr]],Cr.replacer&&(Ei=Cr.replacer.call(Dr,fi,Ei)),Mi(Cr,ai,fi,!1,!1)&&(Cr.dump.length>1024&&(wi+="? "),wi+=Cr.dump+(Cr.condenseFlow?'"':"")+":"+(Cr.condenseFlow?"":" "),Mi(Cr,ai,Ei,!1,!1)&&(_o+=wi+=Cr.dump));Cr.tag=ki,Cr.dump="{"+_o+"}"}(se,ct,se.dump),Vn&&(se.dump="&ref_"+or+" "+se.dump));else if("[object Array]"===qe)Xe&&0!==se.dump.length?(function(se,ct,Ke,Xe){var Vt,Ct,rt,yt="",qe=se.tag;for(Vt=0,Ct=Ke.length;Vt<Ct;Vt+=1)rt=Ke[Vt],se.replacer&&(rt=se.replacer.call(Ke,String(Vt),rt)),(Mi(se,ct+1,rt,!0,!0,!1,!0)||void 0===rt&&Mi(se,ct+1,null,!0,!0,!1,!0))&&(Xe&&""===yt||(yt+=Nn(se,ct)),se.dump&&10===se.dump.charCodeAt(0)?yt+="-":yt+="- ",yt+=se.dump);se.tag=qe,se.dump=yt||"[]"}(se,se.noArrayIndent&&!rt&&ct>0?ct-1:ct,se.dump,Vt),Vn&&(se.dump="&ref_"+or+se.dump)):(function(Cr,ai,Dr){var Jr,rn,fi,Ei="",wi=Cr.tag;for(Jr=0,rn=Dr.length;Jr<rn;Jr+=1)fi=Dr[Jr],Cr.replacer&&(fi=Cr.replacer.call(Dr,String(Jr),fi)),(Mi(Cr,ai,fi,!1,!1)||void 0===fi&&Mi(Cr,ai,null,!1,!1))&&(""!==Ei&&(Ei+=","+(Cr.condenseFlow?"":" ")),Ei+=Cr.dump);Cr.tag=wi,Cr.dump="["+Ei+"]"}(se,ct,se.dump),Vn&&(se.dump="&ref_"+or+" "+se.dump));else{if("[object String]"!==qe){if("[object Undefined]"===qe||se.skipInvalid)return!1;throw new u("unacceptable kind of an object to dump "+qe)}"?"!==se.tag&&function(se,ct,Ke,Xe,Vt){se.dump=function(){if(0===ct.length)return 2===se.quotingType?'""':"''";if(!se.noCompatMode&&(-1!==at.indexOf(ct)||it.test(ct)))return 2===se.quotingType?'"'+ct+'"':"'"+ct+"'";var Ct=se.indent*Math.max(1,Ke),rt=-1===se.lineWidth?-1:Math.max(Math.min(se.lineWidth,40),se.lineWidth-Ct);switch(function(se,ct,Ke,Xe,Vt,Ct,rt,yt){var qe,$t,rn,or=0,Vn=null,Vr=!1,Cr=!1,ai=-1!==Xe,Dr=-1,Jr=An($t=mr(se,0))&&65279!==$t&&!sn($t)&&45!==$t&&63!==$t&&58!==$t&&44!==$t&&91!==$t&&93!==$t&&123!==$t&&125!==$t&&35!==$t&&38!==$t&&42!==$t&&33!==$t&&124!==$t&&61!==$t&&62!==$t&&39!==$t&&34!==$t&&37!==$t&&64!==$t&&96!==$t&&!sn(rn=mr(se,se.length-1))&&58!==rn;if(ct||rt)for(qe=0;qe<se.length;or>=65536?qe+=2:qe++){if(!An(or=mr(se,qe)))return 5;Jr=Jr&&ir(or,Vn,yt),Vn=or}else{for(qe=0;qe<se.length;or>=65536?qe+=2:qe++){if(10===(or=mr(se,qe)))Vr=!0,ai&&(Cr=Cr||qe-Dr-1>Xe&&" "!==se[Dr+1],Dr=qe);else if(!An(or))return 5;Jr=Jr&&ir(or,Vn,yt),Vn=or}Cr=Cr||ai&&qe-Dr-1>Xe&&" "!==se[Dr+1]}return Vr||Cr?Ke>9&&_r(se)?5:rt?2===Ct?5:2:Cr?4:3:!Jr||rt||Vt(se)?2===Ct?5:2:1}(ct,Xe||se.flowLevel>-1&&Ke>=se.flowLevel,se.indent,rt,function(qe){return function($t,or){var Vn,Vr;for(Vn=0,Vr=$t.implicitTypes.length;Vn<Vr;Vn+=1)if($t.implicitTypes[Vn].resolve(or))return!0;return!1}(se,qe)},se.quotingType,se.forceQuotes&&!Xe,Vt)){case 1:return ct;case 2:return"'"+ct.replace(/'/g,"''")+"'";case 3:return"|"+Jn(ct,se.indent)+rr(ot(ct,Ct));case 4:return">"+Jn(ct,se.indent)+rr(ot(function(qe,$t){for(var or,Vn,Dr,Vr=/(\n+)([^\n]*)/g,Cr=(Dr=qe.indexOf("\n"),Vr.lastIndex=Dr=-1!==Dr?Dr:qe.length,Mr(qe.slice(0,Dr),$t)),ai="\n"===qe[0]||" "===qe[0];Vn=Vr.exec(qe);){var rn=Vn[2];or=" "===rn[0],Cr+=Vn[1]+(ai||or||""===rn?"":"\n")+Mr(rn,$t),ai=or}return Cr}(ct,rt),Ct));case 5:return'"'+function(qe){for(var $t,or="",Vn=0,Vr=0;Vr<qe.length;Vn>=65536?Vr+=2:Vr++)Vn=mr(qe,Vr),!($t=nt[Vn])&&An(Vn)?(or+=qe[Vr],Vn>=65536&&(or+=qe[Vr+1])):or+=$t||Pt(Vn);return or}(ct)+'"';default:throw new u("impossible error: invalid scalar style")}}()}(se,se.dump,ct,Ct,$t)}null!==se.tag&&"?"!==se.tag&&(yt=encodeURI("!"===se.tag[0]?se.tag.slice(1):se.tag).replace(/!/g,"%21"),yt="!"===se.tag[0]?"!"+yt:"tag:yaml.org,2002:"===yt.slice(0,18)?"!!"+yt.slice(18):"!<"+yt+">",se.dump=yt+" "+se.dump)}return!0}function Oi(se,ct){var Ke,Xe,Vt=[],Ct=[];for(Xr(se,Vt,Ct),Ke=0,Xe=Ct.length;Ke<Xe;Ke+=1)ct.duplicates.push(Vt[Ct[Ke]]);ct.usedDuplicates=new Array(Xe)}function Xr(se,ct,Ke){var Xe,Vt,Ct;if(null!==se&&"object"==typeof se)if(-1!==(Vt=ct.indexOf(se)))-1===Ke.indexOf(Vt)&&Ke.push(Vt);else if(ct.push(se),Array.isArray(se))for(Vt=0,Ct=se.length;Vt<Ct;Vt+=1)Xr(se[Vt],ct,Ke);else for(Vt=0,Ct=(Xe=Object.keys(se)).length;Vt<Ct;Vt+=1)Xr(se[Xe[Vt]],ct,Ke)}function Kr(se,ct){return function(){throw new Error("Function yaml."+se+" is removed in js-yaml 4. Use yaml."+ct+" instead, which is now safe by default.")}}var di={Type:D,Schema:H,FAILSAFE_SCHEMA:I,JSON_SCHEMA:Ae,CORE_SCHEMA:Se,DEFAULT_SCHEMA:It,load:Ir.load,loadAll:Ir.loadAll,dump:function(se,ct){var Ke=new Ut(ct=ct||{});Ke.noRefs||Oi(se,Ke);var Xe=se;return Ke.replacer&&(Xe=Ke.replacer.call({"":Xe},"",Xe)),Mi(Ke,0,Xe,!0,!0)?Ke.dump+"\n":""},YAMLException:u,types:{binary:F,float:ce,map:M,null:J,pairs:St,set:Qe,timestamp:ue,bool:B,int:fe,merge:He,omap:lt,seq:U,str:z},safeLoad:Kr("safeLoad","load"),safeLoadAll:Kr("safeLoadAll","loadAll"),safeDump:Kr("safeDump","dump")};o.a=di},function(g,o,t){g.exports=t(633)},function(g,o,t){var e=t(821);function s(a,l,u,h,_,m,b){try{var T=a[m](b),D=T.value}catch(R){return void u(R)}T.done?l(D):e.resolve(D).then(h,_)}g.exports=function(a){return function(){var l=this,u=arguments;return new e(function(h,_){var m=a.apply(l,u);function b(D){s(m,h,_,b,T,"next",D)}function T(D){s(m,h,_,b,T,"throw",D)}b(void 0)})}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(17),s=t(41),a=t(170),l=e.TypeError;g.exports=function(u){if(s(u))return u;throw l(a(u)+" is not a function")}},function(g,o,t){var e=t(332);g.exports=function(s){return e(s.length)}},function(g,o,t){var e=t(17),s=t(216),a=t(41),l=t(112),u=t(38)("toStringTag"),h=e.Object,_="Arguments"==l(function(){return arguments}());g.exports=s?l:function(m){var b,T,D;return void 0===m?"Undefined":null===m?"Null":"string"==typeof(T=function(R,j){try{return R[j]}catch(H){}}(b=h(m),u))?T:_?l(b):"Object"==(D=l(b))&&a(b.callee)?"Arguments":D}},function(g,o,t){var e,s,a,l=t(337),u=t(17),h=t(27),_=t(43),m=t(85),b=t(44),T=t(213),D=t(173),R=t(150),j="Object already initialized",H=u.TypeError;if(l||T.state){var U=T.state||(T.state=new(0,u.WeakMap)),M=h(U.get),I=h(U.has),J=h(U.set);e=function(ie,oe){if(I(U,ie))throw new H(j);return oe.facade=ie,J(U,ie,oe),oe},s=function(ie){return M(U,ie)||{}},a=function(ie){return I(U,ie)}}else{var B=D("state");R[B]=!0,e=function(ie,oe){if(b(ie,B))throw new H(j);return oe.facade=ie,m(ie,B,oe),oe},s=function(ie){return b(ie,B)?ie[B]:{}},a=function(ie){return b(ie,B)}}g.exports={set:e,get:s,has:a,enforce:function(ie){return a(ie)?s(ie):e(ie,{})},getterFor:function(ie){return function(oe){var fe;if(!_(oe)||(fe=s(oe)).type!==ie)throw H("Incompatible receiver, "+ie+" required");return fe}}}},function(g,o,t){"use strict";var e=t(61),s=t(224),a=t(130),l=t(76),u=t(225),h="Array Iterator",_=l.set,m=l.getterFor(h);g.exports=u(Array,"Array",function(b,T){_(this,{type:h,target:e(b),index:0,kind:T})},function(){var b=m(this),T=b.target,D=b.kind,R=b.index++;return!T||R>=T.length?(b.target=void 0,{value:void 0,done:!0}):"keys"==D?{value:R,done:!1}:"values"==D?{value:T[R],done:!1}:{value:[R,T[R]],done:!1}},"values"),a.Arguments=a.Array,s("keys"),s("values"),s("entries")},function(g,o){g.exports=function(t){return null!=t&&"object"==typeof t}},function(g,o,t){"use strict";(function(e){function s(_){return _ instanceof e||_ instanceof Date||_ instanceof RegExp}function a(_){if(_ instanceof e){var m=e.alloc?e.alloc(_.length):new e(_.length);return _.copy(m),m}if(_ instanceof Date)return new Date(_.getTime());if(_ instanceof RegExp)return new RegExp(_);throw new Error("Unexpected situation")}function l(_){var m=[];return _.forEach(function(b,T){m[T]="object"==typeof b&&null!==b?Array.isArray(b)?l(b):s(b)?a(b):h({},b):b}),m}function u(_,m){return"__proto__"===m?void 0:_[m]}var h=g.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var _,m,b=arguments[0],T=Array.prototype.slice.call(arguments,1);return T.forEach(function(D){"object"!=typeof D||null===D||Array.isArray(D)||Object.keys(D).forEach(function(R){return m=u(b,R),(_=u(D,R))===b?void 0:"object"!=typeof _||null===_?void(b[R]=_):Array.isArray(_)?void(b[R]=l(_)):s(_)?void(b[R]=a(_)):"object"!=typeof m||null===m||Array.isArray(m)?void(b[R]=h({},_)):void(b[R]=h(m,_))})}),b}}).call(this,t(132).Buffer)},function(g,o,t){g.exports=t(619)},function(g,o,t){"use strict";var e=t(946),s=t(947);function a(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}o.parse=M,o.resolve=function(I,J){return M(I,!1,!0).resolve(J)},o.resolveObject=function(I,J){return I?M(I,!1,!0).resolveObject(J):J},o.format=function(I){return s.isString(I)&&(I=M(I)),I instanceof a?I.format():a.prototype.format.call(I)},o.Url=a;var l=/^([a-z0-9.+-]+:)/i,u=/:[0-9]*$/,h=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,_=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),m=["'"].concat(_),b=["%","/","?",";","#"].concat(m),T=["/","?","#"],D=/^[+a-z0-9A-Z_-]{0,63}$/,R=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,j={javascript:!0,"javascript:":!0},H={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},U=t(948);function M(I,J,B){if(I&&s.isObject(I)&&I instanceof a)return I;var ie=new a;return ie.parse(I,J,B),ie}a.prototype.parse=function(I,J,B){if(!s.isString(I))throw new TypeError("Parameter 'url' must be a string, not "+typeof I);var ie=I.indexOf("?"),oe=-1!==ie&&ie<I.indexOf("#")?"?":"#",fe=I.split(oe);fe[0]=fe[0].replace(/\\/g,"/");var ne=I=fe.join(oe);if(ne=ne.trim(),!B&&1===I.split("#").length){var he=h.exec(ne);if(he)return this.path=ne,this.href=ne,this.pathname=he[1],he[2]?(this.search=he[2],this.query=J?U.parse(this.search.substr(1)):this.search.substr(1)):J&&(this.search="",this.query={}),this}var ce=l.exec(ne);if(ce){var Ae=(ce=ce[0]).toLowerCase();this.protocol=Ae,ne=ne.substr(ce.length)}if(B||ce||ne.match(/^\/\/[^@\/]+@[^@\/]+/)){var Se="//"===ne.substr(0,2);!Se||ce&&H[ce]||(ne=ne.substr(2),this.slashes=!0)}if(!H[ce]&&(Se||ce&&!z[ce])){for(var Oe,be,ue=-1,He=0;He<T.length;He++)-1!==($e=ne.indexOf(T[He]))&&(-1===ue||$e<ue)&&(ue=$e);for(-1!==(be=-1===ue?ne.lastIndexOf("@"):ne.lastIndexOf("@",ue))&&(Oe=ne.slice(0,be),ne=ne.slice(be+1),this.auth=decodeURIComponent(Oe)),ue=-1,He=0;He<b.length;He++){var $e;-1!==($e=ne.indexOf(b[He]))&&(-1===ue||$e<ue)&&(ue=$e)}-1===ue&&(ue=ne.length),this.host=ne.slice(0,ue),ne=ne.slice(ue),this.parseHost(),this.hostname=this.hostname||"";var F="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!F)for(var je=this.hostname.split(/\./),Et=(He=0,je.length);He<Et;He++){var lt=je[He];if(lt&&!lt.match(D)){for(var nn="",St=0,Ot=lt.length;St<Ot;St++)lt.charCodeAt(St)>127?nn+="x":nn+=lt[St];if(!nn.match(D)){var Qe=je.slice(0,He),It=je.slice(He+1),ae=lt.match(R);ae&&(Qe.push(ae[1]),It.unshift(ae[2])),It.length&&(ne="/"+It.join(".")+ne),this.hostname=Qe.join(".");break}}}this.hostname=this.hostname.length>255?"":this.hostname.toLowerCase(),F||(this.hostname=e.toASCII(this.hostname));var Ie=this.port?":"+this.port:"";this.host=(this.hostname||"")+Ie,this.href+=this.host,F&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==ne[0]&&(ne="/"+ne))}if(!j[Ae])for(He=0,Et=m.length;He<Et;He++){var Jt=m[He];if(-1!==ne.indexOf(Jt)){var zt=encodeURIComponent(Jt);zt===Jt&&(zt=escape(Jt)),ne=ne.split(Jt).join(zt)}}var ln=ne.indexOf("#");-1!==ln&&(this.hash=ne.substr(ln),ne=ne.slice(0,ln));var ar=ne.indexOf("?");return-1!==ar?(this.search=ne.substr(ar),this.query=ne.substr(ar+1),J&&(this.query=U.parse(this.query)),ne=ne.slice(0,ar)):J&&(this.search="",this.query={}),ne&&(this.pathname=ne),z[Ae]&&this.hostname&&!this.pathname&&(this.pathname="/"),(this.pathname||this.search)&&(this.path=(Ie=this.pathname||"")+(this.search||"")),this.href=this.format(),this},a.prototype.format=function(){var I=this.auth||"";I&&(I=(I=encodeURIComponent(I)).replace(/%3A/i,":"),I+="@");var J=this.protocol||"",B=this.pathname||"",ie=this.hash||"",oe=!1,fe="";this.host?oe=I+this.host:this.hostname&&(oe=I+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(oe+=":"+this.port)),this.query&&s.isObject(this.query)&&Object.keys(this.query).length&&(fe=U.stringify(this.query));var ne=this.search||fe&&"?"+fe||"";return J&&":"!==J.substr(-1)&&(J+=":"),this.slashes||(!J||z[J])&&!1!==oe?(oe="//"+(oe||""),B&&"/"!==B.charAt(0)&&(B="/"+B)):oe||(oe=""),ie&&"#"!==ie.charAt(0)&&(ie="#"+ie),ne&&"?"!==ne.charAt(0)&&(ne="?"+ne),J+oe+(B=B.replace(/[?#]/g,function(he){return encodeURIComponent(he)}))+(ne=ne.replace("#","%23"))+ie},a.prototype.resolve=function(I){return this.resolveObject(M(I,!1,!0)).format()},a.prototype.resolveObject=function(I){if(s.isString(I)){var J=new a;J.parse(I,!1,!0),I=J}for(var B=new a,ie=Object.keys(this),oe=0;oe<ie.length;oe++){var fe=ie[oe];B[fe]=this[fe]}if(B.hash=I.hash,""===I.href)return B.href=B.format(),B;if(I.slashes&&!I.protocol){for(var ne=Object.keys(I),he=0;he<ne.length;he++){var ce=ne[he];"protocol"!==ce&&(B[ce]=I[ce])}return z[B.protocol]&&B.hostname&&!B.pathname&&(B.path=B.pathname="/"),B.href=B.format(),B}if(I.protocol&&I.protocol!==B.protocol){if(!z[I.protocol]){for(var Ae=Object.keys(I),Se=0;Se<Ae.length;Se++){var Oe=Ae[Se];B[Oe]=I[Oe]}return B.href=B.format(),B}if(B.protocol=I.protocol,I.host||H[I.protocol])B.pathname=I.pathname;else{for(var be=(I.pathname||"").split("/");be.length&&!(I.host=be.shift()););I.host||(I.host=""),I.hostname||(I.hostname=""),""!==be[0]&&be.unshift(""),be.length<2&&be.unshift(""),B.pathname=be.join("/")}return B.search=I.search,B.query=I.query,B.host=I.host||"",B.auth=I.auth,B.hostname=I.hostname||I.host,B.port=I.port,(B.pathname||B.search)&&(B.path=(B.pathname||"")+(B.search||"")),B.slashes=B.slashes||I.slashes,B.href=B.format(),B}var $e=B.pathname&&"/"===B.pathname.charAt(0),F=I.host||I.pathname&&"/"===I.pathname.charAt(0),je=F||$e||B.host&&I.pathname,Et=je,lt=B.pathname&&B.pathname.split("/")||[],nn=(be=I.pathname&&I.pathname.split("/")||[],B.protocol&&!z[B.protocol]);if(nn&&(B.hostname="",B.port=null,B.host&&(""===lt[0]?lt[0]=B.host:lt.unshift(B.host)),B.host="",I.protocol&&(I.hostname=null,I.port=null,I.host&&(""===be[0]?be[0]=I.host:be.unshift(I.host)),I.host=null),je=je&&(""===be[0]||""===lt[0])),F)B.host=I.host||""===I.host?I.host:B.host,B.hostname=I.hostname||""===I.hostname?I.hostname:B.hostname,B.search=I.search,B.query=I.query,lt=be;else if(be.length)lt||(lt=[]),lt.pop(),lt=lt.concat(be),B.search=I.search,B.query=I.query;else if(!s.isNullOrUndefined(I.search))return nn&&(B.hostname=B.host=lt.shift(),(ae=!!(B.host&&B.host.indexOf("@")>0)&&B.host.split("@"))&&(B.auth=ae.shift(),B.host=B.hostname=ae.shift())),B.search=I.search,B.query=I.query,s.isNull(B.pathname)&&s.isNull(B.search)||(B.path=(B.pathname?B.pathname:"")+(B.search?B.search:"")),B.href=B.format(),B;if(!lt.length)return B.pathname=null,B.path=B.search?"/"+B.search:null,B.href=B.format(),B;for(var St=lt.slice(-1)[0],Ot=(B.host||I.host||lt.length>1)&&("."===St||".."===St)||""===St,Qe=0,It=lt.length;It>=0;It--)"."===(St=lt[It])?lt.splice(It,1):".."===St?(lt.splice(It,1),Qe++):Qe&&(lt.splice(It,1),Qe--);if(!je&&!Et)for(;Qe--;Qe)lt.unshift("..");!je||""===lt[0]||lt[0]&&"/"===lt[0].charAt(0)||lt.unshift(""),Ot&&"/"!==lt.join("/").substr(-1)&<.push("");var ae,Ie=""===lt[0]||lt[0]&&"/"===lt[0].charAt(0);return nn&&(B.hostname=B.host=Ie?"":lt.length?lt.shift():"",(ae=!!(B.host&&B.host.indexOf("@")>0)&&B.host.split("@"))&&(B.auth=ae.shift(),B.host=B.hostname=ae.shift())),(je=je||B.host&<.length)&&!Ie&<.unshift(""),lt.length?B.pathname=lt.join("/"):(B.pathname=null,B.path=null),s.isNull(B.pathname)&&s.isNull(B.search)||(B.path=(B.pathname?B.pathname:"")+(B.search?B.search:"")),B.auth=I.auth||B.auth,B.slashes=B.slashes||I.slashes,B.href=B.format(),B},a.prototype.parseHost=function(){var I=this.host,J=u.exec(I);J&&(":"!==(J=J[0])&&(this.port=J.substr(1)),I=I.substr(0,I.length-J.length)),I&&(this.hostname=I)}},function(g,o,t){"use strict";t.r(o),t.d(o,"SHOW_AUTH_POPUP",function(){return D}),t.d(o,"AUTHORIZE",function(){return R}),t.d(o,"LOGOUT",function(){return j}),t.d(o,"PRE_AUTHORIZE_OAUTH2",function(){return H}),t.d(o,"AUTHORIZE_OAUTH2",function(){return z}),t.d(o,"VALIDATE",function(){return U}),t.d(o,"CONFIGURE_AUTH",function(){return M}),t.d(o,"RESTORE_AUTHORIZATION",function(){return I}),t.d(o,"showDefinitions",function(){return J}),t.d(o,"authorize",function(){return B}),t.d(o,"authorizeWithPersistOption",function(){return ie}),t.d(o,"logout",function(){return oe}),t.d(o,"logoutWithPersistOption",function(){return fe}),t.d(o,"preAuthorizeImplicit",function(){return ne}),t.d(o,"authorizeOauth2",function(){return he}),t.d(o,"authorizeOauth2WithPersistOption",function(){return ce}),t.d(o,"authorizePassword",function(){return Ae}),t.d(o,"authorizeApplication",function(){return Se}),t.d(o,"authorizeAccessCodeWithFormParams",function(){return Oe}),t.d(o,"authorizeAccessCodeWithBasicAuthentication",function(){return be}),t.d(o,"authorizeRequest",function(){return ue}),t.d(o,"configureAuth",function(){return He}),t.d(o,"restoreAuthorization",function(){return $e}),t.d(o,"persistAuthorizationIfNeeded",function(){return F});var e=t(19),s=t.n(e),a=t(32),l=t.n(a),u=t(21),h=t.n(u),_=t(89),m=t.n(_),b=t(26),T=t(5),D="show_popup",R="authorize",j="logout",H="pre_authorize_oauth2",z="authorize_oauth2",U="validate",M="configure_auth",I="restore_authorization";function J(je){return{type:D,payload:je}}function B(je){return{type:R,payload:je}}var ie=function(je){return function(Et){var lt=Et.authActions;lt.authorize(je),lt.persistAuthorizationIfNeeded()}};function oe(je){return{type:j,payload:je}}var fe=function(je){return function(Et){var lt=Et.authActions;lt.logout(je),lt.persistAuthorizationIfNeeded()}},ne=function(je){return function(Et){var lt=Et.authActions,nn=Et.errActions,St=je.auth,Ot=je.token,Qe=je.isValid,ae=St.name,Ie=St.schema.get("flow");delete b.a.swaggerUIRedirectOauth2,"accessCode"===Ie||Qe||nn.newAuthErr({authId:ae,source:"auth",level:"warning",message:"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"}),Ot.error?nn.newAuthErr({authId:ae,source:"auth",level:"error",message:l()(Ot)}):lt.authorizeOauth2WithPersistOption({auth:St,token:Ot})}};function he(je){return{type:z,payload:je}}var ce=function(je){return function(Et){var lt=Et.authActions;lt.authorizeOauth2(je),lt.persistAuthorizationIfNeeded()}},Ae=function(je){return function(Et){var zt,ln,ar,lt=Et.authActions,nn=je.schema,St=je.name,Ot=je.username,Qe=je.password,It=je.passwordType,ae=je.clientId,Ie=je.clientSecret,dt={grant_type:"password",scope:je.scopes.join(" "),username:Ot,password:Qe},Jt={};switch(It){case"request-body":zt=dt,ar=Ie,(ln=ae)&&h()(zt,{client_id:ln}),ar&&h()(zt,{client_secret:ar});break;case"basic":Jt.Authorization="Basic "+Object(T.a)(ae+":"+Ie);break;default:console.warn("Warning: invalid passwordType ".concat(It," was passed, not including client id and secret"))}return lt.authorizeRequest({body:Object(T.b)(dt),url:nn.get("tokenUrl"),name:St,headers:Jt,query:{},auth:je})}},Se=function(je){return function(Et){var lt=Et.authActions,nn=je.schema,St=je.scopes,Ot=je.name,Qe=je.clientId,It=je.clientSecret,ae={Authorization:"Basic "+Object(T.a)(Qe+":"+It)},Ie={grant_type:"client_credentials",scope:St.join(" ")};return lt.authorizeRequest({body:Object(T.b)(Ie),name:Ot,url:nn.get("tokenUrl"),auth:je,headers:ae})}},Oe=function(je){var Et=je.auth,lt=je.redirectUrl;return function(nn){var Ot=Et.schema,Qe=Et.name,dt={grant_type:"authorization_code",code:Et.code,client_id:Et.clientId,client_secret:Et.clientSecret,redirect_uri:lt,code_verifier:Et.codeVerifier};return nn.authActions.authorizeRequest({body:Object(T.b)(dt),name:Qe,url:Ot.get("tokenUrl"),auth:Et})}},be=function(je){var Et=je.auth,lt=je.redirectUrl;return function(nn){var St=nn.authActions,Ot=Et.schema,Qe=Et.name,It=Et.clientId,ae=Et.clientSecret,Ie=Et.codeVerifier,dt={Authorization:"Basic "+Object(T.a)(It+":"+ae)},Jt={grant_type:"authorization_code",code:Et.code,client_id:It,redirect_uri:lt,code_verifier:Ie};return St.authorizeRequest({body:Object(T.b)(Jt),name:Qe,url:Ot.get("tokenUrl"),auth:Et,headers:dt})}},ue=function(je){return function(Et){var lt,nn=Et.fn,St=Et.getConfigs,Ot=Et.authActions,Qe=Et.errActions,It=Et.oas3Selectors,ae=Et.specSelectors,dt=je.body,Jt=je.query,zt=void 0===Jt?{}:Jt,ln=je.headers,ar=void 0===ln?{}:ln,Ln=je.name,Rn=je.url,er=je.auth,Mn=(Et.authSelectors.getConfigs()||{}).additionalQueryStringParams;if(ae.isOAS3()){var Ht=It.serverEffectiveValue(It.selectedServer());lt=m()(Rn,Ht,!0)}else lt=m()(Rn,ae.url(),!0);"object"===s()(Mn)&&(lt.query=h()({},lt.query,Mn));var tr=lt.toString(),Yn=h()({Accept:"application/json, text/plain, */*","Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},ar);nn.fetch({url:tr,method:"post",headers:Yn,query:zt,body:dt,requestInterceptor:St().requestInterceptor,responseInterceptor:St().responseInterceptor}).then(function(Cn){var Kt=JSON.parse(Cn.data);Cn.ok?Kt&&Kt.error||Kt&&Kt.parseError?Qe.newAuthErr({authId:Ln,level:"error",source:"auth",message:l()(Kt)}):Ot.authorizeOauth2WithPersistOption({auth:er,token:Kt}):Qe.newAuthErr({authId:Ln,level:"error",source:"auth",message:Cn.statusText})}).catch(function(Cn){var Kt=new Error(Cn).message;if(Cn.response&&Cn.response.data){var dn=Cn.response.data;try{var Kn="string"==typeof dn?JSON.parse(dn):dn;Kn.error&&(Kt+=", error: ".concat(Kn.error)),Kn.error_description&&(Kt+=", description: ".concat(Kn.error_description))}catch(qn){}}Qe.newAuthErr({authId:Ln,level:"error",source:"auth",message:Kt})})}};function He(je){return{type:M,payload:je}}function $e(je){return{type:I,payload:je}}var F=function(){return function(je){var Et=je.authSelectors;if((0,je.getConfigs)().persistAuthorization){var lt=Et.authorized();localStorage.setItem("authorized",l()(lt.toJS()))}}}},function(g,o,t){var e=t(919);g.exports=function(s){for(var a=1;a<arguments.length;a++){var l=null!=arguments[a]?Object(arguments[a]):{},u=Object.keys(l);"function"==typeof Object.getOwnPropertySymbols&&(u=u.concat(Object.getOwnPropertySymbols(l).filter(function(h){return Object.getOwnPropertyDescriptor(l,h).enumerable}))),u.forEach(function(h){e(s,h,l[h])})}return s},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(27),s=t(73),a=e(e.bind);g.exports=function(l,u){return s(l),void 0===u?l:a?a(l,u):function(){return l.apply(u,arguments)}}},function(g,o,t){var e=t(48),s=t(63),a=t(94);g.exports=e?function(l,u,h){return s.f(l,u,a(1,h))}:function(l,u,h){return l[u]=h,l}},function(g,o,t){var e=t(27);g.exports=e([].slice)},function(g,o,t){var e=t(84),s=t(27),a=t(168),l=t(62),u=t(74),h=t(215),_=s([].push),m=function(b){var T=1==b,D=2==b,R=3==b,j=4==b,H=6==b,z=7==b,U=5==b||H;return function(M,I,J,B){for(var ie,oe,fe=l(M),ne=a(fe),he=e(I,J),ce=u(ne),Ae=0,Se=B||h,Oe=T?Se(M,ce):D||z?Se(M,0):void 0;ce>Ae;Ae++)if((U||Ae in ne)&&(oe=he(ie=ne[Ae],Ae,fe),b))if(T)Oe[Ae]=oe;else if(oe)switch(b){case 3:return!0;case 5:return ie;case 6:return Ae;case 2:_(Oe,ie)}else switch(b){case 4:return!1;case 7:_(Oe,ie)}return H?-1:R||j?j:Oe}};g.exports={forEach:m(0),map:m(1),filter:m(2),some:m(3),every:m(4),find:m(5),findIndex:m(6),filterReject:m(7)}},function(g,o,t){"use strict";t.r(o),t.d(o,"lastError",function(){return He}),t.d(o,"url",function(){return $e}),t.d(o,"specStr",function(){return F}),t.d(o,"specSource",function(){return je}),t.d(o,"specJson",function(){return Et}),t.d(o,"specResolved",function(){return lt}),t.d(o,"specResolvedSubtree",function(){return nn}),t.d(o,"specJsonWithResolvedSubtrees",function(){return Ot}),t.d(o,"spec",function(){return Qe}),t.d(o,"isOAS3",function(){return It}),t.d(o,"info",function(){return ae}),t.d(o,"externalDocs",function(){return Ie}),t.d(o,"version",function(){return dt}),t.d(o,"semver",function(){return Jt}),t.d(o,"paths",function(){return zt}),t.d(o,"operations",function(){return ln}),t.d(o,"consumes",function(){return ar}),t.d(o,"produces",function(){return Ln}),t.d(o,"security",function(){return Rn}),t.d(o,"securityDefinitions",function(){return er}),t.d(o,"findDefinition",function(){return Mn}),t.d(o,"definitions",function(){return Ht}),t.d(o,"basePath",function(){return tr}),t.d(o,"host",function(){return Yn}),t.d(o,"schemes",function(){return Cn}),t.d(o,"operationsWithRootInherited",function(){return Kt}),t.d(o,"tags",function(){return dn}),t.d(o,"tagDetails",function(){return Kn}),t.d(o,"operationsWithTags",function(){return qn}),t.d(o,"taggedOperations",function(){return Sn}),t.d(o,"responses",function(){return $n}),t.d(o,"requests",function(){return En}),t.d(o,"mutatedRequests",function(){return Fn}),t.d(o,"responseFor",function(){return Dn}),t.d(o,"requestFor",function(){return mn}),t.d(o,"mutatedRequestFor",function(){return jn}),t.d(o,"allowTryItOutFor",function(){return Xt}),t.d(o,"parameterWithMetaByIdentity",function(){return ut}),t.d(o,"parameterInclusionSettingFor",function(){return mt}),t.d(o,"parameterWithMeta",function(){return Tt}),t.d(o,"operationWithMeta",function(){return yn}),t.d(o,"getParameter",function(){return et}),t.d(o,"hasHost",function(){return jt}),t.d(o,"parameterValues",function(){return hn}),t.d(o,"parametersIncludeIn",function(){return Qn}),t.d(o,"parametersIncludeType",function(){return Ir}),t.d(o,"contentTypeValues",function(){return ht}),t.d(o,"currentProducesFor",function(){return L}),t.d(o,"producesOptionsFor",function(){return Ue}),t.d(o,"consumesOptionsFor",function(){return nt}),t.d(o,"operationScheme",function(){return at}),t.d(o,"canExecuteScheme",function(){return it}),t.d(o,"validateBeforeExecute",function(){return Pt}),t.d(o,"getOAS3RequiredRequestBodyContentType",function(){return Ut}),t.d(o,"isMediaTypeSchemaPropertiesEqual",function(){return ot});var e=t(13),s=t.n(e),a=t(14),l=t.n(a),u=t(2),h=t.n(u),_=t(20),m=t.n(_),b=t(23),T=t.n(b),D=t(18),R=t.n(D),j=t(4),H=t.n(j),z=t(12),U=t.n(z),M=t(56),I=t.n(M),J=t(30),B=t.n(J),ie=t(196),oe=t.n(ie),fe=t(71),ne=t.n(fe),he=t(24),ce=t.n(he),Ae=t(16),Se=t(5),Oe=t(1),be=["get","put","post","delete","options","head","patch","trace"],ue=function(sn){return sn||Object(Oe.Map)()},He=Object(Ae.a)(ue,function(sn){return sn.get("lastError")}),$e=Object(Ae.a)(ue,function(sn){return sn.get("url")}),F=Object(Ae.a)(ue,function(sn){return sn.get("spec")||""}),je=Object(Ae.a)(ue,function(sn){return sn.get("specSource")||"not-editor"}),Et=Object(Ae.a)(ue,function(sn){return sn.get("json",Object(Oe.Map)())}),lt=Object(Ae.a)(ue,function(sn){return sn.get("resolved",Object(Oe.Map)())}),nn=function(sn,An){var Bn;return sn.getIn(h()(Bn=["resolvedSubtrees"]).call(Bn,l()(An)),void 0)},St=function sn(An,Bn){return Oe.Map.isMap(An)&&Oe.Map.isMap(Bn)?Bn.get("$$ref")?Bn:Object(Oe.OrderedMap)().mergeWith(sn,An,Bn):Bn},Ot=Object(Ae.a)(ue,function(sn){return Object(Oe.OrderedMap)().mergeWith(St,sn.get("json"),sn.get("resolvedSubtrees"))}),Qe=function(sn){return Et(sn)},It=Object(Ae.a)(Qe,function(){return!1}),ae=Object(Ae.a)(Qe,function(sn){return Nn(sn&&sn.get("info"))}),Ie=Object(Ae.a)(Qe,function(sn){return Nn(sn&&sn.get("externalDocs"))}),dt=Object(Ae.a)(ae,function(sn){return sn&&sn.get("version")}),Jt=Object(Ae.a)(dt,function(sn){var An;return m()(An=/v?([0-9]*)\.([0-9]*)\.([0-9]*)/i.exec(sn)).call(An,1)}),zt=Object(Ae.a)(Ot,function(sn){return sn.get("paths")}),ln=Object(Ae.a)(zt,function(sn){if(!sn||sn.size<1)return Object(Oe.List)();var An=Object(Oe.List)();return sn&&T()(sn)?(T()(sn).call(sn,function(Bn,ir){if(!Bn||!T()(Bn))return{};T()(Bn).call(Bn,function(mr,_r){var Nr;R()(be).call(be,_r)<0||(An=An.push(Object(Oe.fromJS)({path:ir,method:_r,operation:mr,id:h()(Nr="".concat(_r,"-")).call(Nr,ir)})))})}),An):Object(Oe.List)()}),ar=Object(Ae.a)(Qe,function(sn){return Object(Oe.Set)(sn.get("consumes"))}),Ln=Object(Ae.a)(Qe,function(sn){return Object(Oe.Set)(sn.get("produces"))}),Rn=Object(Ae.a)(Qe,function(sn){return sn.get("security",Object(Oe.List)())}),er=Object(Ae.a)(Qe,function(sn){return sn.get("securityDefinitions")}),Mn=function(sn,An){var Bn=sn.getIn(["resolvedSubtrees","definitions",An],null),ir=sn.getIn(["json","definitions",An],null);return Bn||ir||null},Ht=Object(Ae.a)(Qe,function(sn){var An=sn.get("definitions");return Oe.Map.isMap(An)?An:Object(Oe.Map)()}),tr=Object(Ae.a)(Qe,function(sn){return sn.get("basePath")}),Yn=Object(Ae.a)(Qe,function(sn){return sn.get("host")}),Cn=Object(Ae.a)(Qe,function(sn){return sn.get("schemes",Object(Oe.Map)())}),Kt=Object(Ae.a)(ln,ar,Ln,function(sn,An,Bn){return H()(sn).call(sn,function(ir){return ir.update("operation",function(mr){return mr?Oe.Map.isMap(mr)?mr.withMutations(function(_r){return _r.get("consumes")||_r.update("consumes",function(Nr){return Object(Oe.Set)(Nr).merge(An)}),_r.get("produces")||_r.update("produces",function(Nr){return Object(Oe.Set)(Nr).merge(Bn)}),_r}):void 0:Object(Oe.Map)()})})}),dn=Object(Ae.a)(Qe,function(sn){var An=sn.get("tags",Object(Oe.List)());return Oe.List.isList(An)?U()(An).call(An,function(Bn){return Oe.Map.isMap(Bn)}):Object(Oe.List)()}),Kn=function(sn,An){var Bn,ir=dn(sn)||Object(Oe.List)();return I()(Bn=U()(ir).call(ir,Oe.Map.isMap)).call(Bn,function(mr){return mr.get("name")===An},Object(Oe.Map)())},qn=Object(Ae.a)(Kt,dn,function(sn,An){return B()(sn).call(sn,function(Bn,ir){var mr=Object(Oe.Set)(ir.getIn(["operation","tags"]));return mr.count()<1?Bn.update("default",Object(Oe.List)(),function(_r){return _r.push(ir)}):B()(mr).call(mr,function(_r,Nr){return _r.update(Nr,Object(Oe.List)(),function(br){return br.push(ir)})},Bn)},B()(An).call(An,function(Bn,ir){return Bn.set(ir.get("name"),Object(Oe.List)())},Object(Oe.OrderedMap)()))}),Sn=function(sn){return function(An){var Bn,ir=(0,An.getConfigs)(),mr=ir.tagsSorter,_r=ir.operationsSorter;return H()(Bn=qn(sn).sortBy(function(Nr,br){return br},function(Nr,br){var Jn="function"==typeof mr?mr:Se.H.tagsSorter[mr];return Jn?Jn(Nr,br):null})).call(Bn,function(Nr,br){var Jn="function"==typeof _r?_r:Se.H.operationsSorter[_r],rr=Jn?oe()(Nr).call(Nr,Jn):Nr;return Object(Oe.Map)({tagDetails:Kn(sn,br),operations:rr})})}},$n=Object(Ae.a)(ue,function(sn){return sn.get("responses",Object(Oe.Map)())}),En=Object(Ae.a)(ue,function(sn){return sn.get("requests",Object(Oe.Map)())}),Fn=Object(Ae.a)(ue,function(sn){return sn.get("mutatedRequests",Object(Oe.Map)())}),Dn=function(sn,An,Bn){return $n(sn).getIn([An,Bn],null)},mn=function(sn,An,Bn){return En(sn).getIn([An,Bn],null)},jn=function(sn,An,Bn){return Fn(sn).getIn([An,Bn],null)},Xt=function(){return!0},ut=function(sn,An,Bn){var ir,mr,_r=Ot(sn).getIn(h()(ir=["paths"]).call(ir,l()(An),["parameters"]),Object(Oe.OrderedMap)()),Nr=sn.getIn(h()(mr=["meta","paths"]).call(mr,l()(An),["parameters"]),Object(Oe.OrderedMap)()),br=H()(_r).call(_r,function(Jn){var rr,Mr,yi,Li=Nr.get(h()(rr="".concat(Bn.get("in"),".")).call(rr,Bn.get("name"))),Mi=Nr.get(h()(Mr=h()(yi="".concat(Bn.get("in"),".")).call(yi,Bn.get("name"),".hash-")).call(Mr,Bn.hashCode()));return Object(Oe.OrderedMap)().merge(Jn,Li,Mi)});return I()(br).call(br,function(Jn){return Jn.get("in")===Bn.get("in")&&Jn.get("name")===Bn.get("name")},Object(Oe.OrderedMap)())},mt=function(sn,An,Bn,ir){var mr,_r,Nr=h()(mr="".concat(ir,".")).call(mr,Bn);return sn.getIn(h()(_r=["meta","paths"]).call(_r,l()(An),["parameter_inclusions",Nr]),!1)},Tt=function(sn,An,Bn,ir){var mr,_r=Ot(sn).getIn(h()(mr=["paths"]).call(mr,l()(An),["parameters"]),Object(Oe.OrderedMap)()),Nr=I()(_r).call(_r,function(br){return br.get("in")===ir&&br.get("name")===Bn},Object(Oe.OrderedMap)());return ut(sn,An,Nr)},yn=function(sn,An,Bn){var ir,mr=Ot(sn).getIn(["paths",An,Bn],Object(Oe.OrderedMap)()),_r=sn.getIn(["meta","paths",An,Bn],Object(Oe.OrderedMap)()),Nr=H()(ir=mr.get("parameters",Object(Oe.List)())).call(ir,function(br){return ut(sn,[An,Bn],br)});return Object(Oe.OrderedMap)().merge(mr,_r).set("parameters",Nr)};function et(sn,An,Bn,ir){var mr;An=An||[];var _r=sn.getIn(h()(mr=["meta","paths"]).call(mr,l()(An),["parameters"]),Object(Oe.fromJS)([]));return I()(_r).call(_r,function(Nr){return Oe.Map.isMap(Nr)&&Nr.get("name")===Bn&&Nr.get("in")===ir})||Object(Oe.Map)()}var jt=Object(Ae.a)(Qe,function(sn){var An=sn.get("host");return"string"==typeof An&&An.length>0&&"/"!==An[0]});function hn(sn,An,Bn){var ir;An=An||[];var mr=yn.apply(void 0,h()(ir=[sn]).call(ir,l()(An))).get("parameters",Object(Oe.List)());return B()(mr).call(mr,function(_r,Nr){var br=Bn&&"body"===Nr.get("in")?Nr.get("value_xml"):Nr.get("value");return _r.set(Object(Se.A)(Nr,{allowHashes:!1}),br)},Object(Oe.fromJS)({}))}function Qn(sn){var An=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(Oe.List.isList(sn))return ne()(sn).call(sn,function(Bn){return Oe.Map.isMap(Bn)&&Bn.get("in")===An})}function Ir(sn){var An=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(Oe.List.isList(sn))return ne()(sn).call(sn,function(Bn){return Oe.Map.isMap(Bn)&&Bn.get("type")===An})}function ht(sn,An){var Bn,ir;An=An||[];var mr=Ot(sn).getIn(h()(Bn=["paths"]).call(Bn,l()(An)),Object(Oe.fromJS)({})),_r=sn.getIn(h()(ir=["meta","paths"]).call(ir,l()(An)),Object(Oe.fromJS)({})),Nr=L(sn,An),br=mr.get("parameters")||new Oe.List,Jn=_r.get("consumes_value")?_r.get("consumes_value"):Ir(br,"file")?"multipart/form-data":Ir(br,"formData")?"application/x-www-form-urlencoded":void 0;return Object(Oe.fromJS)({requestContentType:Jn,responseContentType:Nr})}function L(sn,An){var Bn,ir;An=An||[];var mr=Ot(sn).getIn(h()(Bn=["paths"]).call(Bn,l()(An)),null);if(null!==mr){var _r=sn.getIn(h()(ir=["meta","paths"]).call(ir,l()(An),["produces_value"]),null),Nr=mr.getIn(["produces",0],null);return _r||Nr||"application/json"}}function Ue(sn,An){var Bn;An=An||[];var ir=Ot(sn),mr=ir.getIn(h()(Bn=["paths"]).call(Bn,l()(An)),null);if(null!==mr){var _r=An,Nr=s()(_r,1)[0],br=mr.get("produces",null),Jn=ir.getIn(["paths",Nr,"produces"],null),rr=ir.getIn(["produces"],null);return br||Jn||rr}}function nt(sn,An){var Bn;An=An||[];var ir=Ot(sn),mr=ir.getIn(h()(Bn=["paths"]).call(Bn,l()(An)),null);if(null!==mr){var _r=An,Nr=s()(_r,1)[0],br=mr.get("consumes",null),Jn=ir.getIn(["paths",Nr,"consumes"],null),rr=ir.getIn(["consumes"],null);return br||Jn||rr}}var at=function(sn,An,Bn){var ir=sn.get("url").match(/^([a-z][a-z0-9+\-.]*):/),mr=ce()(ir)?ir[1]:null;return sn.getIn(["scheme",An,Bn])||sn.getIn(["scheme","_defaultScheme"])||mr||""},it=function(sn,An,Bn){var ir;return R()(ir=["http","https"]).call(ir,at(sn,An,Bn))>-1},Pt=function(sn,An){var Bn;An=An||[];var ir=sn.getIn(h()(Bn=["meta","paths"]).call(Bn,l()(An),["parameters"]),Object(Oe.fromJS)([])),mr=!0;return T()(ir).call(ir,function(_r){var Nr=_r.get("errors");Nr&&Nr.count()&&(mr=!1)}),mr},Ut=function(sn,An){var Bn,ir,mr={requestBody:!1,requestContentType:{}},_r=sn.getIn(h()(Bn=["resolvedSubtrees","paths"]).call(Bn,l()(An),["requestBody"]),Object(Oe.fromJS)([]));return _r.size<1||(_r.getIn(["required"])&&(mr.requestBody=_r.getIn(["required"])),T()(ir=_r.getIn(["content"]).entrySeq()).call(ir,function(Nr){var br=Nr[0];if(Nr[1].getIn(["schema","required"])){var Jn=Nr[1].getIn(["schema","required"]).toJS();mr.requestContentType[br]=Jn}})),mr},ot=function(sn,An,Bn,ir){var mr;if((Bn||ir)&&Bn===ir)return!0;var _r=sn.getIn(h()(mr=["resolvedSubtrees","paths"]).call(mr,l()(An),["requestBody","content"]),Object(Oe.fromJS)([]));if(_r.size<2||!Bn||!ir)return!1;var Nr=_r.getIn([Bn,"schema","properties"],Object(Oe.fromJS)([])),br=_r.getIn([ir,"schema","properties"],Object(Oe.fromJS)([]));return!!Nr.equals(br)};function Nn(sn){return Oe.Map.isMap(sn)?sn:new Oe.Map}},function(g,o,t){"use strict";(function(e){var s=t(847),a=t(848),l=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,u=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,h=/^[a-zA-Z]:/,_=new RegExp("^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+");function m(z){return(z||"").toString().replace(_,"")}var b=[["#","hash"],["?","query"],function(z,U){return R(U.protocol)?z.replace(/\\/g,"/"):z},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d+)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],T={hash:1,query:1};function D(z){var U,M=("undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{}).location||{},I={},J=typeof(z=z||M);if("blob:"===z.protocol)I=new H(unescape(z.pathname),{});else if("string"===J)for(U in I=new H(z,{}),T)delete I[U];else if("object"===J){for(U in z)U in T||(I[U]=z[U]);void 0===I.slashes&&(I.slashes=l.test(z.href))}return I}function R(z){return"file:"===z||"ftp:"===z||"http:"===z||"https:"===z||"ws:"===z||"wss:"===z}function j(z,U){z=m(z),U=U||{};var M,I=u.exec(z),J=I[1]?I[1].toLowerCase():"",B=!!I[2],ie=!!I[3],oe=0;return B?ie?(M=I[2]+I[3]+I[4],oe=I[2].length+I[3].length):(M=I[2]+I[4],oe=I[2].length):ie?(M=I[3]+I[4],oe=I[3].length):M=I[4],"file:"===J?oe>=2&&(M=M.slice(2)):R(J)?M=I[4]:J?B&&(M=M.slice(2)):oe>=2&&R(U.protocol)&&(M=I[4]),{protocol:J,slashes:B||R(J),slashesCount:oe,rest:M}}function H(z,U,M){if(z=m(z),!(this instanceof H))return new H(z,U,M);var I,J,B,ie,oe,fe,ne=b.slice(),he=typeof U,ce=this,Ae=0;for("object"!==he&&"string"!==he&&(M=U,U=null),M&&"function"!=typeof M&&(M=a.parse),I=!(J=j(z||"",U=D(U))).protocol&&!J.slashes,ce.slashes=J.slashes||I&&U.slashes,ce.protocol=J.protocol||U.protocol||"",z=J.rest,("file:"===J.protocol&&(2!==J.slashesCount||h.test(z))||!J.slashes&&(J.protocol||J.slashesCount<2||!R(ce.protocol)))&&(ne[3]=[/(.*)/,"pathname"]);Ae<ne.length;Ae++)"function"!=typeof(ie=ne[Ae])?(fe=ie[1],(B=ie[0])!=B?ce[fe]=z:"string"==typeof B?~(oe=z.indexOf(B))&&("number"==typeof ie[2]?(ce[fe]=z.slice(0,oe),z=z.slice(oe+ie[2])):(ce[fe]=z.slice(oe),z=z.slice(0,oe))):(oe=B.exec(z))&&(ce[fe]=oe[1],z=z.slice(0,oe.index)),ce[fe]=ce[fe]||I&&ie[3]&&U[fe]||"",ie[4]&&(ce[fe]=ce[fe].toLowerCase())):z=ie(z,ce);M&&(ce.query=M(ce.query)),I&&U.slashes&&"/"!==ce.pathname.charAt(0)&&(""!==ce.pathname||""!==U.pathname)&&(ce.pathname=function(Se,Oe){if(""===Se)return Oe;for(var be=(Oe||"/").split("/").slice(0,-1).concat(Se.split("/")),ue=be.length,He=be[ue-1],$e=!1,F=0;ue--;)"."===be[ue]?be.splice(ue,1):".."===be[ue]?(be.splice(ue,1),F++):F&&(0===ue&&($e=!0),be.splice(ue,1),F--);return $e&&be.unshift(""),"."!==He&&".."!==He||be.push(""),be.join("/")}(ce.pathname,U.pathname)),"/"!==ce.pathname.charAt(0)&&R(ce.protocol)&&(ce.pathname="/"+ce.pathname),s(ce.port,ce.protocol)||(ce.host=ce.hostname,ce.port=""),ce.username=ce.password="",ce.auth&&(ie=ce.auth.split(":"),ce.username=ie[0]||"",ce.password=ie[1]||""),ce.origin="file:"!==ce.protocol&&R(ce.protocol)&&ce.host?ce.protocol+"//"+ce.host:"null",ce.href=ce.toString()}H.prototype={set:function(z,U,M){var I=this;switch(z){case"query":"string"==typeof U&&U.length&&(U=(M||a.parse)(U)),I[z]=U;break;case"port":I[z]=U,s(U,I.protocol)?U&&(I.host=I.hostname+":"+U):(I.host=I.hostname,I[z]="");break;case"hostname":I[z]=U,I.port&&(U+=":"+I.port),I.host=U;break;case"host":I[z]=U,/:\d+$/.test(U)?(U=U.split(":"),I.port=U.pop(),I.hostname=U.join(":")):(I.hostname=U,I.port="");break;case"protocol":I.protocol=U.toLowerCase(),I.slashes=!M;break;case"pathname":case"hash":if(U){var J="pathname"===z?"/":"#";I[z]=U.charAt(0)!==J?J+U:U}else I[z]=U;break;default:I[z]=U}for(var B=0;B<b.length;B++){var ie=b[B];ie[4]&&(I[ie[1]]=I[ie[1]].toLowerCase())}return I.origin="file:"!==I.protocol&&R(I.protocol)&&I.host?I.protocol+"//"+I.host:"null",I.href=I.toString(),I},toString:function(z){z&&"function"==typeof z||(z=a.stringify);var U,M=this,I=M.protocol;I&&":"!==I.charAt(I.length-1)&&(I+=":");var J=I+(M.slashes||R(M.protocol)?"//":"");return M.username&&(J+=M.username,M.password&&(J+=":"+M.password),J+="@"),J+=M.host+M.pathname,(U="object"==typeof M.query?z(M.query):M.query)&&(J+="?"!==U.charAt(0)?"?"+U:U),M.hash&&(J+=M.hash),J}},H.extractProtocol=j,H.location=D,H.trimLeft=m,H.qs=a,g.exports=H}).call(this,t(57))},function(g,o,t){g.exports=t(951)},function(g,o,t){"use strict";t.d(o,"b",function(){return er}),t.d(o,"a",function(){return F});var e=t(15),s=t.n(e),a=t(31),l=t.n(a),u=t(461),h=t.n(u),_=t(462),m=t.n(_),b=t(83),T=t.n(b),D=t(0),R=t.n(D),j=t(463),H=t.n(j),z={};function U(Mn){if(0===Mn.length||1===Mn.length)return Mn;var Ht,tr,Yn=Mn.join(".");return z[Yn]||(z[Yn]=0===(tr=(Ht=Mn).length)||1===tr?Ht:2===tr?[Ht[0],Ht[1],"".concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[1],".").concat(Ht[0])]:3===tr?[Ht[0],Ht[1],Ht[2],"".concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[0])]:tr>=4?[Ht[0],Ht[1],Ht[2],Ht[3],"".concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[0],".").concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[3],".").concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[3],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[3],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[3],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[3],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[3],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[3],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[3],".").concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[0],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[3],".").concat(Ht[0],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[1],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[3],".").concat(Ht[1],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[2],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[2],".").concat(Ht[1],".").concat(Ht[0])]:void 0),z[Yn]}function M(Mn){var Ht=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},tr=arguments.length>2?arguments[2]:void 0,Yn=Mn.filter(function(Kt){return"token"!==Kt}),Cn=U(Yn);return Cn.reduce(function(Kt,dn){return T()({},Kt,tr[dn])},Ht)}function I(Mn){return Mn.join(" ")}function J(Mn){var ut,mt,Tt,Ht=Mn.node,tr=Mn.stylesheet,Yn=Mn.style,Cn=void 0===Yn?{}:Yn,Kt=Mn.useInlineStyles,dn=Mn.key,Kn=Ht.properties,Sn=Ht.tagName;if("text"===Ht.type)return Ht.value;if(Sn){var En,Fn=(ut=tr,mt=Kt,Tt=0,function(yn){return Tt+=1,yn.map(function(et,jt){return J({node:et,stylesheet:ut,useInlineStyles:mt,key:"code-segment-".concat(Tt,"-").concat(jt)})})});if(Kt){var Dn=Object.keys(tr).reduce(function(ut,mt){return mt.split(".").forEach(function(Tt){ut.includes(Tt)||ut.push(Tt)}),ut},[]),mn=Kn.className&&Kn.className.includes("token")?["token"]:[],jn=Kn.className&&mn.concat(Kn.className.filter(function(ut){return!Dn.includes(ut)}));En=T()({},Kn,{className:I(jn)||void 0,style:M(Kn.className,Object.assign({},Kn.style,Cn),tr)})}else En=T()({},Kn,{className:I(Kn.className)});var Xt=Fn(Ht.children);return R.a.createElement(Sn,H()({key:dn},En),Xt)}}var B=/\n/g;function ie(Mn){var qn,$n,En,Ht=Mn.codeString,Yn=Mn.containerStyle,Kt=Mn.numberStyle,dn=void 0===Kt?{}:Kt,Kn=Mn.startingLineNumber;return R.a.createElement("code",{style:Object.assign({},Mn.codeStyle,void 0===Yn?{float:"left",paddingRight:"10px"}:Yn)},(qn={lines:Ht.replace(/\n$/,"").split("\n"),style:dn,startingLineNumber:Kn},$n=qn.startingLineNumber,En=qn.style,qn.lines.map(function(Fn,Dn){var mn=Dn+$n;return R.a.createElement("span",{key:"line-".concat(Dn),className:"react-syntax-highlighter-line-number",style:"function"==typeof En?En(mn):En},"".concat(mn,"\n"))})))}function oe(Mn,Ht){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(Mn),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:Ht},children:[{type:"text",value:Mn}]}}function fe(Mn,Ht,tr){var Yn,Cn={display:"inline-block",minWidth:(Yn=tr,"".concat(Yn.toString().length,".25em")),paddingRight:"1em",textAlign:"right",userSelect:"none"},Kt="function"==typeof Mn?Mn(Ht):Mn;return T()({},Cn,Kt)}function ne(Mn){var Ht=Mn.children,tr=Mn.lineNumber,Yn=Mn.lineNumberStyle,Cn=Mn.largestLineNumber,Kt=Mn.showInlineLineNumbers,dn=Mn.lineProps,Kn=void 0===dn?{}:dn,qn=Mn.className,Sn=void 0===qn?[]:qn,$n=Mn.showLineNumbers,En=Mn.wrapLongLines,Fn="function"==typeof Kn?Kn(tr):Kn;if(Fn.className=Sn,tr&&Kt){var Dn=fe(Yn,tr,Cn);Ht.unshift(oe(tr,Dn))}return En&$n&&(Fn.style=T()({},Fn.style,{display:"flex"})),{type:"element",tagName:"span",properties:Fn,children:Ht}}function he(Mn){for(var Ht=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],tr=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],Yn=0;Yn<Mn.length;Yn++){var Cn=Mn[Yn];if("text"===Cn.type)tr.push(ne({children:[Cn],className:m()(new Set(Ht))}));else if(Cn.children){var Kt=Ht.concat(Cn.properties.className);tr=tr.concat(he(Cn.children,Kt))}}return tr}function ce(Mn,Ht,tr,Yn,Cn,Kt,dn,Kn,qn){var Sn,$n=he(Mn.value),En=[],Fn=-1,Dn=0;function mn(yn,et){var jt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return ne({children:yn,lineNumber:et,lineNumberStyle:Kn,largestLineNumber:dn,showInlineLineNumbers:Cn,lineProps:tr,className:jt,showLineNumbers:Yn,wrapLongLines:qn})}function jn(yn,et){if(Yn&&et&&Cn){var jt=fe(Kn,et,dn);yn.unshift(oe(et,jt))}return yn}function Xt(yn,et){var jt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Ht||jt.length>0?mn(yn,et,jt):jn(yn,et)}for(var ut=function(){var yn=$n[Dn],et=yn.children[0].value;if(et.match(B)){var jt=et.split("\n");jt.forEach(function(hn,Qn){var Ir=Yn&&En.length+Kt,ht={type:"text",value:"".concat(hn,"\n")};if(0===Qn){var L=Xt($n.slice(Fn+1,Dn).concat(ne({children:[ht],className:yn.properties.className})),Ir);En.push(L)}else if(Qn===jt.length-1)if($n[Dn+1]&&$n[Dn+1].children&&$n[Dn+1].children[0]){var Ue=ne({children:[{type:"text",value:"".concat(hn)}],className:yn.properties.className});$n.splice(Dn+1,0,Ue)}else{var nt=Xt([ht],Ir,yn.properties.className);En.push(nt)}else{var at=Xt([ht],Ir,yn.properties.className);En.push(at)}}),Fn=Dn}Dn++};Dn<$n.length;)ut();if(Fn!==$n.length-1){var mt=$n.slice(Fn+1,$n.length);if(mt&&mt.length){var Tt=Xt(mt,Yn&&En.length+Kt);En.push(Tt)}}return Ht?En:(Sn=[]).concat.apply(Sn,En)}function Ae(Mn){var tr=Mn.stylesheet,Yn=Mn.useInlineStyles;return Mn.rows.map(function(Cn,Kt){return J({node:Cn,stylesheet:tr,useInlineStyles:Yn,key:"code-segement".concat(Kt)})})}function Se(Mn){return Mn&&void 0!==Mn.highlightAuto}var Oe,be,ue=t(323),He=t.n(ue),$e=(Oe=He.a,be={},function(Mn){var Ht=Mn.language,tr=Mn.children,Yn=Mn.style,Cn=void 0===Yn?be:Yn,Kt=Mn.customStyle,dn=void 0===Kt?{}:Kt,Kn=Mn.codeTagProps,qn=void 0===Kn?{className:Ht?"language-".concat(Ht):void 0,style:T()({},Cn['code[class*="language-"]'],Cn['code[class*="language-'.concat(Ht,'"]')])}:Kn,Sn=Mn.useInlineStyles,$n=void 0===Sn||Sn,En=Mn.showLineNumbers,Fn=void 0!==En&&En,Dn=Mn.showInlineLineNumbers,mn=void 0===Dn||Dn,jn=Mn.startingLineNumber,Xt=void 0===jn?1:jn,ut=Mn.lineNumberContainerStyle,mt=Mn.lineNumberStyle,Tt=void 0===mt?{}:mt,yn=Mn.wrapLines,et=Mn.wrapLongLines,jt=void 0!==et&&et,hn=Mn.lineProps,Qn=void 0===hn?{}:hn,Ir=Mn.renderer,ht=Mn.PreTag,L=void 0===ht?"pre":ht,Ue=Mn.CodeTag,nt=void 0===Ue?"code":Ue,at=Mn.code,it=void 0===at?Array.isArray(tr)?tr[0]:tr:at,Pt=Mn.astGenerator,Ut=h()(Mn,["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"]);Pt=Pt||Oe;var ot=Fn?R.a.createElement(ie,{containerStyle:ut,codeStyle:qn.style||{},numberStyle:Tt,startingLineNumber:Xt,codeString:it}):null,Nn=Cn.hljs||Cn['pre[class*="language-"]']||{backgroundColor:"#fff"},sn=Se(Pt)?"hljs":"prismjs",An=Object.assign({},Ut,$n?{style:Object.assign({},Nn,dn)}:{className:Ut.className?"".concat(sn," ").concat(Ut.className):sn,style:Object.assign({},dn)});if(!Pt)return R.a.createElement(L,An,ot,R.a.createElement(nt,qn,it));(void 0===yn&&Ir||jt)&&(yn=!0),Ir=Ir||Ae;var Bn=[{type:"text",value:it}],ir=function(_r){var Li,Nr=_r.astGenerator,br=_r.language,Jn=_r.code,rr=_r.defaultCodeValue;if(Se(Nr)){var Mr=(Li=br,-1!==Nr.listLanguages().indexOf(Li));return"text"===br?{value:rr,language:"text"}:Mr?Nr.highlight(br,Jn):Nr.highlightAuto(Jn)}try{return br&&"text"!==br?{value:Nr.highlight(Jn,br)}:{value:rr}}catch(yi){return{value:rr}}}({astGenerator:Pt,language:Ht,code:it,defaultCodeValue:Bn});null===ir.language&&(ir.value=Bn);var mr=ce(ir,yn,Qn,Fn,mn,Xt,ir.value.length+Xt,Tt,jt);return qn.style=jt?T()({},qn.style,{whiteSpace:"pre-wrap"}):T()({},qn.style,{whiteSpace:"pre"}),R.a.createElement(L,An,R.a.createElement(nt,qn,!mn&&ot,Ir({rows:mr,stylesheet:Cn,useInlineStyles:$n})))});$e.registerLanguage=He.a.registerLanguage;var F=$e,je=t(465),Et=t.n(je).a,lt=t(464),nn=t.n(lt).a,St=t(466),Ot=t.n(St).a,Qe=t(469),It=t.n(Qe).a,ae=t(467),Ie=t.n(ae).a,dt=t(468),Jt=t.n(dt).a,zt=t(470),ln=t.n(zt).a,ar={hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#333",color:"white"},"hljs-name":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-code":{fontStyle:"italic",color:"#888"},"hljs-emphasis":{fontStyle:"italic"},"hljs-tag":{color:"#62c8f3"},"hljs-variable":{color:"#ade5fc"},"hljs-template-variable":{color:"#ade5fc"},"hljs-selector-id":{color:"#ade5fc"},"hljs-selector-class":{color:"#ade5fc"},"hljs-string":{color:"#a2fca2"},"hljs-bullet":{color:"#d36363"},"hljs-type":{color:"#ffa"},"hljs-title":{color:"#ffa"},"hljs-section":{color:"#ffa"},"hljs-attribute":{color:"#ffa"},"hljs-quote":{color:"#ffa"},"hljs-built_in":{color:"#ffa"},"hljs-builtin-name":{color:"#ffa"},"hljs-number":{color:"#d36363"},"hljs-symbol":{color:"#d36363"},"hljs-keyword":{color:"#fcc28c"},"hljs-selector-tag":{color:"#fcc28c"},"hljs-literal":{color:"#fcc28c"},"hljs-comment":{color:"#888"},"hljs-deletion":{color:"#333",backgroundColor:"#fc9b9b"},"hljs-regexp":{color:"#c6b4f0"},"hljs-link":{color:"#c6b4f0"},"hljs-meta":{color:"#fc9b9b"},"hljs-addition":{backgroundColor:"#a2fca2",color:"#333"}};F.registerLanguage("json",nn),F.registerLanguage("js",Et),F.registerLanguage("xml",Ot),F.registerLanguage("yaml",Ie),F.registerLanguage("http",Jt),F.registerLanguage("bash",It),F.registerLanguage("powershell",ln),F.registerLanguage("javascript",Et);var Ln={agate:ar,arta:{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#222",color:"#aaa"},"hljs-subst":{color:"#aaa"},"hljs-section":{color:"#fff",fontWeight:"bold"},"hljs-comment":{color:"#444"},"hljs-quote":{color:"#444"},"hljs-meta":{color:"#444"},"hljs-string":{color:"#ffcc33"},"hljs-symbol":{color:"#ffcc33"},"hljs-bullet":{color:"#ffcc33"},"hljs-regexp":{color:"#ffcc33"},"hljs-number":{color:"#00cc66"},"hljs-addition":{color:"#00cc66"},"hljs-built_in":{color:"#32aaee"},"hljs-builtin-name":{color:"#32aaee"},"hljs-literal":{color:"#32aaee"},"hljs-type":{color:"#32aaee"},"hljs-template-variable":{color:"#32aaee"},"hljs-attribute":{color:"#32aaee"},"hljs-link":{color:"#32aaee"},"hljs-keyword":{color:"#6644aa"},"hljs-selector-tag":{color:"#6644aa"},"hljs-name":{color:"#6644aa"},"hljs-selector-id":{color:"#6644aa"},"hljs-selector-class":{color:"#6644aa"},"hljs-title":{color:"#bb1166"},"hljs-variable":{color:"#bb1166"},"hljs-deletion":{color:"#bb1166"},"hljs-template-tag":{color:"#bb1166"},"hljs-doctag":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},monokai:{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#272822",color:"#ddd"},"hljs-tag":{color:"#f92672"},"hljs-keyword":{color:"#f92672",fontWeight:"bold"},"hljs-selector-tag":{color:"#f92672",fontWeight:"bold"},"hljs-literal":{color:"#f92672",fontWeight:"bold"},"hljs-strong":{color:"#f92672"},"hljs-name":{color:"#f92672"},"hljs-code":{color:"#66d9ef"},"hljs-class .hljs-title":{color:"white"},"hljs-attribute":{color:"#bf79db"},"hljs-symbol":{color:"#bf79db"},"hljs-regexp":{color:"#bf79db"},"hljs-link":{color:"#bf79db"},"hljs-string":{color:"#a6e22e"},"hljs-bullet":{color:"#a6e22e"},"hljs-subst":{color:"#a6e22e"},"hljs-title":{color:"#a6e22e",fontWeight:"bold"},"hljs-section":{color:"#a6e22e",fontWeight:"bold"},"hljs-emphasis":{color:"#a6e22e"},"hljs-type":{color:"#a6e22e",fontWeight:"bold"},"hljs-built_in":{color:"#a6e22e"},"hljs-builtin-name":{color:"#a6e22e"},"hljs-selector-attr":{color:"#a6e22e"},"hljs-selector-pseudo":{color:"#a6e22e"},"hljs-addition":{color:"#a6e22e"},"hljs-variable":{color:"#a6e22e"},"hljs-template-tag":{color:"#a6e22e"},"hljs-template-variable":{color:"#a6e22e"},"hljs-comment":{color:"#75715e"},"hljs-quote":{color:"#75715e"},"hljs-deletion":{color:"#75715e"},"hljs-meta":{color:"#75715e"},"hljs-doctag":{fontWeight:"bold"},"hljs-selector-id":{fontWeight:"bold"}},nord:{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#2E3440",color:"#D8DEE9"},"hljs-subst":{color:"#D8DEE9"},"hljs-selector-tag":{color:"#81A1C1"},"hljs-selector-id":{color:"#8FBCBB",fontWeight:"bold"},"hljs-selector-class":{color:"#8FBCBB"},"hljs-selector-attr":{color:"#8FBCBB"},"hljs-selector-pseudo":{color:"#88C0D0"},"hljs-addition":{backgroundColor:"rgba(163, 190, 140, 0.5)"},"hljs-deletion":{backgroundColor:"rgba(191, 97, 106, 0.5)"},"hljs-built_in":{color:"#8FBCBB"},"hljs-type":{color:"#8FBCBB"},"hljs-class":{color:"#8FBCBB"},"hljs-function":{color:"#88C0D0"},"hljs-function > .hljs-title":{color:"#88C0D0"},"hljs-keyword":{color:"#81A1C1"},"hljs-literal":{color:"#81A1C1"},"hljs-symbol":{color:"#81A1C1"},"hljs-number":{color:"#B48EAD"},"hljs-regexp":{color:"#EBCB8B"},"hljs-string":{color:"#A3BE8C"},"hljs-title":{color:"#8FBCBB"},"hljs-params":{color:"#D8DEE9"},"hljs-bullet":{color:"#81A1C1"},"hljs-code":{color:"#8FBCBB"},"hljs-emphasis":{fontStyle:"italic"},"hljs-formula":{color:"#8FBCBB"},"hljs-strong":{fontWeight:"bold"},"hljs-link:hover":{textDecoration:"underline"},"hljs-quote":{color:"#4C566A"},"hljs-comment":{color:"#4C566A"},"hljs-doctag":{color:"#8FBCBB"},"hljs-meta":{color:"#5E81AC"},"hljs-meta-keyword":{color:"#5E81AC"},"hljs-meta-string":{color:"#A3BE8C"},"hljs-attr":{color:"#8FBCBB"},"hljs-attribute":{color:"#D8DEE9"},"hljs-builtin-name":{color:"#81A1C1"},"hljs-name":{color:"#81A1C1"},"hljs-section":{color:"#88C0D0"},"hljs-tag":{color:"#81A1C1"},"hljs-variable":{color:"#D8DEE9"},"hljs-template-variable":{color:"#D8DEE9"},"hljs-template-tag":{color:"#5E81AC"},"abnf .hljs-attribute":{color:"#88C0D0"},"abnf .hljs-symbol":{color:"#EBCB8B"},"apache .hljs-attribute":{color:"#88C0D0"},"apache .hljs-section":{color:"#81A1C1"},"arduino .hljs-built_in":{color:"#88C0D0"},"aspectj .hljs-meta":{color:"#D08770"},"aspectj > .hljs-title":{color:"#88C0D0"},"bnf .hljs-attribute":{color:"#8FBCBB"},"clojure .hljs-name":{color:"#88C0D0"},"clojure .hljs-symbol":{color:"#EBCB8B"},"coq .hljs-built_in":{color:"#88C0D0"},"cpp .hljs-meta-string":{color:"#8FBCBB"},"css .hljs-built_in":{color:"#88C0D0"},"css .hljs-keyword":{color:"#D08770"},"diff .hljs-meta":{color:"#8FBCBB"},"ebnf .hljs-attribute":{color:"#8FBCBB"},"glsl .hljs-built_in":{color:"#88C0D0"},"groovy .hljs-meta:not(:first-child)":{color:"#D08770"},"haxe .hljs-meta":{color:"#D08770"},"java .hljs-meta":{color:"#D08770"},"ldif .hljs-attribute":{color:"#8FBCBB"},"lisp .hljs-name":{color:"#88C0D0"},"lua .hljs-built_in":{color:"#88C0D0"},"moonscript .hljs-built_in":{color:"#88C0D0"},"nginx .hljs-attribute":{color:"#88C0D0"},"nginx .hljs-section":{color:"#5E81AC"},"pf .hljs-built_in":{color:"#88C0D0"},"processing .hljs-built_in":{color:"#88C0D0"},"scss .hljs-keyword":{color:"#81A1C1"},"stylus .hljs-keyword":{color:"#81A1C1"},"swift .hljs-meta":{color:"#D08770"},"vim .hljs-built_in":{color:"#88C0D0",fontStyle:"italic"},"yaml .hljs-meta":{color:"#D08770"}},obsidian:{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#282b2e",color:"#e0e2e4"},"hljs-keyword":{color:"#93c763",fontWeight:"bold"},"hljs-selector-tag":{color:"#93c763",fontWeight:"bold"},"hljs-literal":{color:"#93c763",fontWeight:"bold"},"hljs-selector-id":{color:"#93c763"},"hljs-number":{color:"#ffcd22"},"hljs-attribute":{color:"#668bb0"},"hljs-code":{color:"white"},"hljs-class .hljs-title":{color:"white"},"hljs-section":{color:"white",fontWeight:"bold"},"hljs-regexp":{color:"#d39745"},"hljs-link":{color:"#d39745"},"hljs-meta":{color:"#557182"},"hljs-tag":{color:"#8cbbad"},"hljs-name":{color:"#8cbbad",fontWeight:"bold"},"hljs-bullet":{color:"#8cbbad"},"hljs-subst":{color:"#8cbbad"},"hljs-emphasis":{color:"#8cbbad"},"hljs-type":{color:"#8cbbad",fontWeight:"bold"},"hljs-built_in":{color:"#8cbbad"},"hljs-selector-attr":{color:"#8cbbad"},"hljs-selector-pseudo":{color:"#8cbbad"},"hljs-addition":{color:"#8cbbad"},"hljs-variable":{color:"#8cbbad"},"hljs-template-tag":{color:"#8cbbad"},"hljs-template-variable":{color:"#8cbbad"},"hljs-string":{color:"#ec7600"},"hljs-symbol":{color:"#ec7600"},"hljs-comment":{color:"#818e96"},"hljs-quote":{color:"#818e96"},"hljs-deletion":{color:"#818e96"},"hljs-selector-class":{color:"#A082BD"},"hljs-doctag":{fontWeight:"bold"},"hljs-title":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"}},"tomorrow-night":{"hljs-comment":{color:"#969896"},"hljs-quote":{color:"#969896"},"hljs-variable":{color:"#cc6666"},"hljs-template-variable":{color:"#cc6666"},"hljs-tag":{color:"#cc6666"},"hljs-name":{color:"#cc6666"},"hljs-selector-id":{color:"#cc6666"},"hljs-selector-class":{color:"#cc6666"},"hljs-regexp":{color:"#cc6666"},"hljs-deletion":{color:"#cc6666"},"hljs-number":{color:"#de935f"},"hljs-built_in":{color:"#de935f"},"hljs-builtin-name":{color:"#de935f"},"hljs-literal":{color:"#de935f"},"hljs-type":{color:"#de935f"},"hljs-params":{color:"#de935f"},"hljs-meta":{color:"#de935f"},"hljs-link":{color:"#de935f"},"hljs-attribute":{color:"#f0c674"},"hljs-string":{color:"#b5bd68"},"hljs-symbol":{color:"#b5bd68"},"hljs-bullet":{color:"#b5bd68"},"hljs-addition":{color:"#b5bd68"},"hljs-title":{color:"#81a2be"},"hljs-section":{color:"#81a2be"},"hljs-keyword":{color:"#b294bb"},"hljs-selector-tag":{color:"#b294bb"},hljs:{display:"block",overflowX:"auto",background:"#1d1f21",color:"#c5c8c6",padding:"0.5em"},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}}},Rn=s()(Ln),er=function(Mn){return l()(Rn).call(Rn,Mn)?Ln[Mn]:(console.warn("Request style '".concat(Mn,"' is not available, returning default instead")),ar)}},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.File=o.Blob=o.FormData=void 0;const e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:window;o.FormData=e.FormData,o.Blob=e.Blob,o.File=e.File},function(g,o){var t=Function.prototype,e=t.apply,a=t.call;g.exports="object"==typeof Reflect&&Reflect.apply||(t.bind?a.bind(e):function(){return a.apply(e,arguments)})},function(g,o){g.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(g,o,t){var e=t(58);g.exports=e("navigator","userAgent")||""},function(g,o){g.exports=!0},function(g,o){},function(g,o,t){var e,s=t(51),a=t(218),l=t(221),u=t(150),h=t(335),_=t(214),b=t(173)("IE_PROTO"),T=function(){},D=function(H){return"<script>"+H+"<\/script>"},R=function(H){H.write(D("")),H.close();var z=H.parentWindow.Object;return H=null,z},j=function(){try{e=new ActiveXObject("htmlfile")}catch(M){}var H,z;j="undefined"!=typeof document?document.domain&&e?R(e):((z=_("iframe")).style.display="none",h.appendChild(z),z.src=String("javascript:"),(H=z.contentWindow.document).open(),H.write(D("document.F=Object")),H.close(),H.F):R(e);for(var U=l.length;U--;)delete j.prototype[l[U]];return j()};u[b]=!0,g.exports=Object.create||function(H,z){var U;return null!==H?(T.prototype=s(H),U=new T,T.prototype=null,U[b]=H):U=j(),void 0===z?U:a(U,z)}},function(g,o,t){var e=t(85);g.exports=function(s,a,l,u){u&&u.enumerable?s[a]=l:e(s,a,l)}},function(g,o,t){var e=t(216),s=t(63).f,a=t(85),l=t(44),u=t(489),h=t(38)("toStringTag");g.exports=function(_,m,b,T){if(_){var D=b?_:_.prototype;l(D,h)||s(D,h,{configurable:!0,value:m}),T&&!e&&a(D,"toString",u)}}},function(g,o,t){"use strict";g.exports=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e}},function(g,o,t){var e=t(662);g.exports=function(s){return null==s?"":e(s)}},function(g,o){g.exports=function(t,e){return t===e||t!=t&&e!=e}},function(g,o,t){var e=t(116),s=t(53);g.exports=function(a){if(!s(a))return!1;var l=e(a);return"[object Function]"==l||"[object GeneratorFunction]"==l||"[object AsyncFunction]"==l||"[object Proxy]"==l}},function(g,o,t){g.exports=t(655)},function(g,o,t){g.exports=t(374)},function(g,o,t){"use strict";function e(s){return function(a){try{return!!JSON.parse(a)}catch(l){return null}}(s)?"json":null}t.d(o,"a",function(){return e})},function(g,o,t){g.exports=t(651)},function(g,o,t){"use strict";t.r(o),t.d(o,"UPDATE_LAYOUT",function(){return s}),t.d(o,"UPDATE_FILTER",function(){return a}),t.d(o,"UPDATE_MODE",function(){return l}),t.d(o,"SHOW",function(){return u}),t.d(o,"updateLayout",function(){return h}),t.d(o,"updateFilter",function(){return _}),t.d(o,"show",function(){return m}),t.d(o,"changeMode",function(){return b});var e=t(5),s="layout_update_layout",a="layout_update_filter",l="layout_update_mode",u="layout_show";function h(T){return{type:s,payload:T}}function _(T){return{type:a,payload:T}}function m(T){var D=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return T=Object(e.v)(T),{type:u,payload:{thing:T,shown:D}}}function b(T){var D=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return T=Object(e.v)(T),{type:l,payload:{thing:T,mode:D}}}},function(g,o,t){var e=t(397),s=t(155),a=t(151),l=t(52),u=t(117),h=t(152),_=t(184),m=t(185),b=Object.prototype.hasOwnProperty;g.exports=function(T){if(null==T)return!0;if(u(T)&&(l(T)||"string"==typeof T||"function"==typeof T.splice||h(T)||m(T)||a(T)))return!T.length;var D=s(T);if("[object Map]"==D||"[object Set]"==D)return!T.size;if(_(T))return!e(T).length;for(var R in T)if(b.call(T,R))return!1;return!0}},function(g,o,t){var e=t(48),s=t(50),a=t(167),l=t(94),u=t(61),h=t(169),_=t(44),m=t(330),b=Object.getOwnPropertyDescriptor;o.f=e?b:function(T,D){if(T=u(T),D=h(D),m)try{return b(T,D)}catch(R){}if(_(T,D))return l(!s(a.f,T,D),T[D])}},function(g,o,t){var e=t(27),s=e({}.toString),a=e("".slice);g.exports=function(l){return a(s(l),8,-1)}},function(g,o,t){var e=t(17).TypeError;g.exports=function(s){if(null==s)throw e("Can't call method on "+s);return s}},function(g,o,t){"use strict";var e=t(33);g.exports=function(s,a){var l=[][s];return!!l&&e(function(){l.call(null,a||function(){throw 1},1)})}},function(g,o,t){var e=t(571),s=t(576);g.exports=function(a,l){var u=s(a,l);return e(u)?u:void 0}},function(g,o,t){var e=t(133),s=t(572),a=t(573),l=e?e.toStringTag:void 0;g.exports=function(u){return null==u?void 0===u?"[object Undefined]":"[object Null]":l&&l in Object(u)?s(u):a(u)}},function(g,o,t){var e=t(104),s=t(232);g.exports=function(a){return null!=a&&s(a.length)&&!e(a)}},function(g,o){var t,e,s=g.exports={};function a(){throw new Error("setTimeout has not been defined")}function l(){throw new Error("clearTimeout has not been defined")}function u(H){if(t===setTimeout)return setTimeout(H,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(H,0);try{return t(H,0)}catch(z){try{return t.call(null,H,0)}catch(U){return t.call(this,H,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(H){t=a}try{e="function"==typeof clearTimeout?clearTimeout:l}catch(H){e=l}}();var h,_=[],m=!1,b=-1;function T(){m&&h&&(m=!1,h.length?_=h.concat(_):b=-1,_.length&&D())}function D(){if(!m){var H=u(T);m=!0;for(var z=_.length;z;){for(h=_,_=[];++b<z;)h&&h[b].run();b=-1,z=_.length}h=null,m=!1,function(U){if(e===clearTimeout)return clearTimeout(U);if((e===l||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(U);try{e(U)}catch(M){try{return e.call(null,U)}catch(I){return e.call(this,U)}}}(H)}}function R(H,z){this.fun=H,this.array=z}function j(){}s.nextTick=function(H){var z=new Array(arguments.length-1);if(arguments.length>1)for(var U=1;U<arguments.length;U++)z[U-1]=arguments[U];_.push(new R(H,z)),1!==_.length||m||u(D)},R.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=j,s.addListener=j,s.once=j,s.off=j,s.removeListener=j,s.removeAllListeners=j,s.emit=j,s.prependListener=j,s.prependOnceListener=j,s.listeners=function(H){return[]},s.binding=function(H){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(H){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},function(g,o,t){"use strict";var e=t(190),s=Object.keys||function(R){var j=[];for(var H in R)j.push(H);return j};g.exports=b;var a=Object.create(t(157));a.inherits=t(64);var l=t(402),u=t(246);a.inherits(b,l);for(var h=s(u.prototype),_=0;_<h.length;_++){var m=h[_];b.prototype[m]||(b.prototype[m]=u.prototype[m])}function b(R){if(!(this instanceof b))return new b(R);l.call(this,R),u.call(this,R),R&&!1===R.readable&&(this.readable=!1),R&&!1===R.writable&&(this.writable=!1),this.allowHalfOpen=!0,R&&!1===R.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",T)}function T(){this.allowHalfOpen||this._writableState.ended||e.nextTick(D,this)}function D(R){R.end()}Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(R){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=R,this._writableState.destroyed=R)}}),b.prototype._destroy=function(R,j){this.push(null),this.end(),e.nextTick(j,R)}},function(g,o,t){"use strict";var e=t(725)();g.exports=function(s){return s!==e&&null!==s}},function(g,o,t){"use strict";var e=t(726),s=Math.max;g.exports=function(a){return s(0,e(a))}},function(g,o,t){},function(g,o,t){"use strict";var e=t(413),s=t(740),a=t(410),l=t(408),u=t(744);(g.exports=function(h,_){var m,b,T,D,R;return arguments.length<2||"string"!=typeof h?(D=_,_=h,h=null):D=arguments[2],e(h)?(m=u.call(h,"c"),b=u.call(h,"e"),T=u.call(h,"w")):(m=T=!0,b=!1),R={value:_,configurable:m,enumerable:b,writable:T},D?a(l(D),R):R}).gs=function(h,_,m){var b,T,D,R;return"string"!=typeof h?(D=m,m=_,_=h,h=null):D=arguments[3],e(_)?s(_)?e(m)?s(m)||(D=m,m=void 0):m=void 0:(D=_,_=m=void 0):_=void 0,e(h)?(b=u.call(h,"c"),T=u.call(h,"e")):(b=!0,T=!1),R={get:_,set:m,configurable:b,enumerable:T},D?a(l(D),R):R}},function(g,o,t){var e=t(17),s=t(84),a=t(50),l=t(51),u=t(170),h=t(377),_=t(74),m=t(35),b=t(239),T=t(154),D=t(376),R=e.TypeError,j=function(z,U){this.stopped=z,this.result=U},H=j.prototype;g.exports=function(z,U,M){var I,J,B,ie,oe,fe,ne,ce=!(!M||!M.AS_ENTRIES),Ae=!(!M||!M.IS_ITERATOR),Se=!(!M||!M.INTERRUPTED),Oe=s(U,M&&M.that),be=function(He){return I&&D(I,"normal",He),new j(!0,He)},ue=function(He){return ce?(l(He),Se?Oe(He[0],He[1],be):Oe(He[0],He[1])):Se?Oe(He,be):Oe(He)};if(Ae)I=z;else{if(!(J=T(z)))throw R(u(z)+" is not iterable");if(h(J)){for(B=0,ie=_(z);ie>B;B++)if((oe=ue(z[B]))&&m(H,oe))return oe;return new j(!1)}I=b(z,J)}for(fe=I.next;!(ne=a(fe,I)).done;){try{oe=ue(ne.value)}catch(He){D(I,"throw",He)}if("object"==typeof oe&&oe&&m(H,oe))return oe}return new j(!1)}},function(g,o,t){g.exports=t(962)},function(g,o,t){"use strict";(function(e,s){var a=65536,u=t(65).Buffer,h=e.crypto||e.msCrypto;g.exports=h&&h.getRandomValues?function(_,m){if(_>4294967295)throw new RangeError("requested too many random bytes");var b=u.allocUnsafe(_);if(_>0)if(_>a)for(var T=0;T<_;T+=a)h.getRandomValues(b.slice(T,T+a));else h.getRandomValues(b);return"function"==typeof m?s.nextTick(function(){m(null,b)}):b}:function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,t(57),t(118))},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return m});var e=t(12),s=t.n(e),a=t(4),l=t.n(a),u=t(456),h=t.n(u),_=[t(258),t(259)];function m(b){var T,D={jsSpec:{}},R=h()(_,function(j,H){try{var z=H.transform(j,D);return s()(z).call(z,function(U){return!!U})}catch(U){return console.error("Transformer error:",U),j}},b);return l()(T=s()(R).call(R,function(j){return!!j})).call(T,function(j){return!j.get("line")&&j.get("path"),j})}},function(g,o,t){var e,s,a=t(17),l=t(95),u=a.process,h=a.Deno,_=u&&u.versions||h&&h.version,m=_&&_.v8;m&&(s=(e=m.split("."))[0]>0&&e[0]<4?1:+(e[0]+e[1])),!s&&l&&(!(e=l.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=l.match(/Chrome\/(\d+)/))&&(s=+e[1]),g.exports=s},function(g,o){var t=Math.ceil,e=Math.floor;g.exports=function(s){var a=+s;return a!=a||0===a?0:(a>0?e:t)(a)}},function(g,o){g.exports={}},function(g,o,t){"use strict";var e=t(343).charAt,s=t(67),a=t(76),l=t(225),u="String Iterator",h=a.set,_=a.getterFor(u);l(String,"String",function(m){h(this,{type:u,string:s(m),index:0})},function(){var m,b=_(this),T=b.string,D=b.index;return D>=T.length?{value:void 0,done:!0}:(m=e(T,D),b.index+=m.length,{value:m,done:!1})})},function(g,o,t){"use strict";(function(e){var s=t(530),a=t(531),l=t(346);function u(){return _.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function h(ae,Ie){if(u()<Ie)throw new RangeError("Invalid typed array length");return _.TYPED_ARRAY_SUPPORT?(ae=new Uint8Array(Ie)).__proto__=_.prototype:(null===ae&&(ae=new _(Ie)),ae.length=Ie),ae}function _(ae,Ie,dt){if(!(_.TYPED_ARRAY_SUPPORT||this instanceof _))return new _(ae,Ie,dt);if("number"==typeof ae){if("string"==typeof Ie)throw new Error("If encoding is specified then the first argument must be a string");return T(this,ae)}return m(this,ae,Ie,dt)}function m(ae,Ie,dt,Jt){if("number"==typeof Ie)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&Ie instanceof ArrayBuffer?function(zt,ln,ar,Ln){if(ar<0||ln.byteLength<ar)throw new RangeError("'offset' is out of bounds");if(ln.byteLength<ar+(Ln||0))throw new RangeError("'length' is out of bounds");return ln=void 0===ar&&void 0===Ln?new Uint8Array(ln):void 0===Ln?new Uint8Array(ln,ar):new Uint8Array(ln,ar,Ln),_.TYPED_ARRAY_SUPPORT?(zt=ln).__proto__=_.prototype:zt=D(zt,ln),zt}(ae,Ie,dt,Jt):"string"==typeof Ie?function(zt,ln,ar){if("string"==typeof ar&&""!==ar||(ar="utf8"),!_.isEncoding(ar))throw new TypeError('"encoding" must be a valid string encoding');var Ln=0|j(ln,ar),Rn=(zt=h(zt,Ln)).write(ln,ar);return Rn!==Ln&&(zt=zt.slice(0,Rn)),zt}(ae,Ie,dt):function(zt,ln){if(_.isBuffer(ln)){var ar=0|R(ln.length);return 0===(zt=h(zt,ar)).length||ln.copy(zt,0,0,ar),zt}if(ln){if("undefined"!=typeof ArrayBuffer&&ln.buffer instanceof ArrayBuffer||"length"in ln)return"number"!=typeof ln.length||(Ln=ln.length)!=Ln?h(zt,0):D(zt,ln);if("Buffer"===ln.type&&l(ln.data))return D(zt,ln.data)}var Ln;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(ae,Ie)}function b(ae){if("number"!=typeof ae)throw new TypeError('"size" argument must be a number');if(ae<0)throw new RangeError('"size" argument must not be negative')}function T(ae,Ie){if(b(Ie),ae=h(ae,Ie<0?0:0|R(Ie)),!_.TYPED_ARRAY_SUPPORT)for(var dt=0;dt<Ie;++dt)ae[dt]=0;return ae}function D(ae,Ie){var dt=Ie.length<0?0:0|R(Ie.length);ae=h(ae,dt);for(var Jt=0;Jt<dt;Jt+=1)ae[Jt]=255&Ie[Jt];return ae}function R(ae){if(ae>=u())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u().toString(16)+" bytes");return 0|ae}function j(ae,Ie){if(_.isBuffer(ae))return ae.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(ae)||ae instanceof ArrayBuffer))return ae.byteLength;"string"!=typeof ae&&(ae=""+ae);var dt=ae.length;if(0===dt)return 0;for(var Jt=!1;;)switch(Ie){case"ascii":case"latin1":case"binary":return dt;case"utf8":case"utf-8":case void 0:return Ot(ae).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*dt;case"hex":return dt>>>1;case"base64":return Qe(ae).length;default:if(Jt)return Ot(ae).length;Ie=(""+Ie).toLowerCase(),Jt=!0}}function H(ae,Ie,dt){var Jt=!1;if((void 0===Ie||Ie<0)&&(Ie=0),Ie>this.length||((void 0===dt||dt>this.length)&&(dt=this.length),dt<=0)||(dt>>>=0)<=(Ie>>>=0))return"";for(ae||(ae="utf8");;)switch(ae){case"hex":return Oe(this,Ie,dt);case"utf8":case"utf-8":return he(this,Ie,dt);case"ascii":return Ae(this,Ie,dt);case"latin1":case"binary":return Se(this,Ie,dt);case"base64":return ne(this,Ie,dt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return be(this,Ie,dt);default:if(Jt)throw new TypeError("Unknown encoding: "+ae);ae=(ae+"").toLowerCase(),Jt=!0}}function z(ae,Ie,dt){var Jt=ae[Ie];ae[Ie]=ae[dt],ae[dt]=Jt}function U(ae,Ie,dt,Jt,zt){if(0===ae.length)return-1;if("string"==typeof dt?(Jt=dt,dt=0):dt>2147483647?dt=2147483647:dt<-2147483648&&(dt=-2147483648),dt=+dt,isNaN(dt)&&(dt=zt?0:ae.length-1),dt<0&&(dt=ae.length+dt),dt>=ae.length){if(zt)return-1;dt=ae.length-1}else if(dt<0){if(!zt)return-1;dt=0}if("string"==typeof Ie&&(Ie=_.from(Ie,Jt)),_.isBuffer(Ie))return 0===Ie.length?-1:M(ae,Ie,dt,Jt,zt);if("number"==typeof Ie)return Ie&=255,_.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?zt?Uint8Array.prototype.indexOf.call(ae,Ie,dt):Uint8Array.prototype.lastIndexOf.call(ae,Ie,dt):M(ae,[Ie],dt,Jt,zt);throw new TypeError("val must be string, number or Buffer")}function M(ae,Ie,dt,Jt,zt){var ln,ar=1,Ln=ae.length,Rn=Ie.length;if(void 0!==Jt&&("ucs2"===(Jt=String(Jt).toLowerCase())||"ucs-2"===Jt||"utf16le"===Jt||"utf-16le"===Jt)){if(ae.length<2||Ie.length<2)return-1;ar=2,Ln/=2,Rn/=2,dt/=2}function er(Yn,Cn){return 1===ar?Yn[Cn]:Yn.readUInt16BE(Cn*ar)}if(zt){var Mn=-1;for(ln=dt;ln<Ln;ln++)if(er(ae,ln)===er(Ie,-1===Mn?0:ln-Mn)){if(-1===Mn&&(Mn=ln),ln-Mn+1===Rn)return Mn*ar}else-1!==Mn&&(ln-=ln-Mn),Mn=-1}else for(dt+Rn>Ln&&(dt=Ln-Rn),ln=dt;ln>=0;ln--){for(var Ht=!0,tr=0;tr<Rn;tr++)if(er(ae,ln+tr)!==er(Ie,tr)){Ht=!1;break}if(Ht)return ln}return-1}function I(ae,Ie,dt,Jt){dt=Number(dt)||0;var zt=ae.length-dt;Jt?(Jt=Number(Jt))>zt&&(Jt=zt):Jt=zt;var ln=Ie.length;if(ln%2!=0)throw new TypeError("Invalid hex string");Jt>ln/2&&(Jt=ln/2);for(var ar=0;ar<Jt;++ar){var Ln=parseInt(Ie.substr(2*ar,2),16);if(isNaN(Ln))return ar;ae[dt+ar]=Ln}return ar}function J(ae,Ie,dt,Jt){return It(Ot(Ie,ae.length-dt),ae,dt,Jt)}function B(ae,Ie,dt,Jt){return It(function(zt){for(var ln=[],ar=0;ar<zt.length;++ar)ln.push(255&zt.charCodeAt(ar));return ln}(Ie),ae,dt,Jt)}function ie(ae,Ie,dt,Jt){return B(ae,Ie,dt,Jt)}function oe(ae,Ie,dt,Jt){return It(Qe(Ie),ae,dt,Jt)}function fe(ae,Ie,dt,Jt){return It(function(zt,ln){for(var ar,Ln,er=[],Mn=0;Mn<zt.length&&!((ln-=2)<0);++Mn)Ln=(ar=zt.charCodeAt(Mn))>>8,er.push(ar%256),er.push(Ln);return er}(Ie,ae.length-dt),ae,dt,Jt)}function ne(ae,Ie,dt){return s.fromByteArray(0===Ie&&dt===ae.length?ae:ae.slice(Ie,dt))}function he(ae,Ie,dt){dt=Math.min(ae.length,dt);for(var Jt=[],zt=Ie;zt<dt;){var ln,ar,Ln,Rn,er=ae[zt],Mn=null,Ht=er>239?4:er>223?3:er>191?2:1;if(zt+Ht<=dt)switch(Ht){case 1:er<128&&(Mn=er);break;case 2:128==(192&(ln=ae[zt+1]))&&(Rn=(31&er)<<6|63&ln)>127&&(Mn=Rn);break;case 3:ar=ae[zt+2],128==(192&(ln=ae[zt+1]))&&128==(192&ar)&&(Rn=(15&er)<<12|(63&ln)<<6|63&ar)>2047&&(Rn<55296||Rn>57343)&&(Mn=Rn);break;case 4:ar=ae[zt+2],Ln=ae[zt+3],128==(192&(ln=ae[zt+1]))&&128==(192&ar)&&128==(192&Ln)&&(Rn=(15&er)<<18|(63&ln)<<12|(63&ar)<<6|63&Ln)>65535&&Rn<1114112&&(Mn=Rn)}null===Mn?(Mn=65533,Ht=1):Mn>65535&&(Jt.push((Mn-=65536)>>>10&1023|55296),Mn=56320|1023&Mn),Jt.push(Mn),zt+=Ht}return function(tr){var Yn=tr.length;if(Yn<=ce)return String.fromCharCode.apply(String,tr);for(var Cn="",Kt=0;Kt<Yn;)Cn+=String.fromCharCode.apply(String,tr.slice(Kt,Kt+=ce));return Cn}(Jt)}o.Buffer=_,o.SlowBuffer=function(ae){return+ae!=ae&&(ae=0),_.alloc(+ae)},o.INSPECT_MAX_BYTES=50,_.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var ae=new Uint8Array(1);return ae.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===ae.foo()&&"function"==typeof ae.subarray&&0===ae.subarray(1,1).byteLength}catch(Ie){return!1}}(),o.kMaxLength=u(),_.poolSize=8192,_._augment=function(ae){return ae.__proto__=_.prototype,ae},_.from=function(ae,Ie,dt){return m(null,ae,Ie,dt)},_.TYPED_ARRAY_SUPPORT&&(_.prototype.__proto__=Uint8Array.prototype,_.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&_[Symbol.species]===_&&Object.defineProperty(_,Symbol.species,{value:null,configurable:!0})),_.alloc=function(ae,Ie,dt){return ln=Ie,ar=dt,b(zt=ae),zt<=0?h(null,zt):void 0!==ln?"string"==typeof ar?h(null,zt).fill(ln,ar):h(null,zt).fill(ln):h(null,zt);var zt,ln,ar},_.allocUnsafe=function(ae){return T(null,ae)},_.allocUnsafeSlow=function(ae){return T(null,ae)},_.isBuffer=function(ae){return!(null==ae||!ae._isBuffer)},_.compare=function(ae,Ie){if(!_.isBuffer(ae)||!_.isBuffer(Ie))throw new TypeError("Arguments must be Buffers");if(ae===Ie)return 0;for(var dt=ae.length,Jt=Ie.length,zt=0,ln=Math.min(dt,Jt);zt<ln;++zt)if(ae[zt]!==Ie[zt]){dt=ae[zt],Jt=Ie[zt];break}return dt<Jt?-1:Jt<dt?1:0},_.isEncoding=function(ae){switch(String(ae).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},_.concat=function(ae,Ie){if(!l(ae))throw new TypeError('"list" argument must be an Array of Buffers');if(0===ae.length)return _.alloc(0);var dt;if(void 0===Ie)for(Ie=0,dt=0;dt<ae.length;++dt)Ie+=ae[dt].length;var Jt=_.allocUnsafe(Ie),zt=0;for(dt=0;dt<ae.length;++dt){var ln=ae[dt];if(!_.isBuffer(ln))throw new TypeError('"list" argument must be an Array of Buffers');ln.copy(Jt,zt),zt+=ln.length}return Jt},_.byteLength=j,_.prototype._isBuffer=!0,_.prototype.swap16=function(){var ae=this.length;if(ae%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var Ie=0;Ie<ae;Ie+=2)z(this,Ie,Ie+1);return this},_.prototype.swap32=function(){var ae=this.length;if(ae%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var Ie=0;Ie<ae;Ie+=4)z(this,Ie,Ie+3),z(this,Ie+1,Ie+2);return this},_.prototype.swap64=function(){var ae=this.length;if(ae%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var Ie=0;Ie<ae;Ie+=8)z(this,Ie,Ie+7),z(this,Ie+1,Ie+6),z(this,Ie+2,Ie+5),z(this,Ie+3,Ie+4);return this},_.prototype.toString=function(){var ae=0|this.length;return 0===ae?"":0===arguments.length?he(this,0,ae):H.apply(this,arguments)},_.prototype.equals=function(ae){if(!_.isBuffer(ae))throw new TypeError("Argument must be a Buffer");return this===ae||0===_.compare(this,ae)},_.prototype.inspect=function(){var ae="",Ie=o.INSPECT_MAX_BYTES;return this.length>0&&(ae=this.toString("hex",0,Ie).match(/.{2}/g).join(" "),this.length>Ie&&(ae+=" ... ")),"<Buffer "+ae+">"},_.prototype.compare=function(ae,Ie,dt,Jt,zt){if(!_.isBuffer(ae))throw new TypeError("Argument must be a Buffer");if(void 0===Ie&&(Ie=0),void 0===dt&&(dt=ae?ae.length:0),void 0===Jt&&(Jt=0),void 0===zt&&(zt=this.length),Ie<0||dt>ae.length||Jt<0||zt>this.length)throw new RangeError("out of range index");if(Jt>=zt&&Ie>=dt)return 0;if(Jt>=zt)return-1;if(Ie>=dt)return 1;if(this===ae)return 0;for(var ln=(zt>>>=0)-(Jt>>>=0),ar=(dt>>>=0)-(Ie>>>=0),Ln=Math.min(ln,ar),Rn=this.slice(Jt,zt),er=ae.slice(Ie,dt),Mn=0;Mn<Ln;++Mn)if(Rn[Mn]!==er[Mn]){ln=Rn[Mn],ar=er[Mn];break}return ln<ar?-1:ar<ln?1:0},_.prototype.includes=function(ae,Ie,dt){return-1!==this.indexOf(ae,Ie,dt)},_.prototype.indexOf=function(ae,Ie,dt){return U(this,ae,Ie,dt,!0)},_.prototype.lastIndexOf=function(ae,Ie,dt){return U(this,ae,Ie,dt,!1)},_.prototype.write=function(ae,Ie,dt,Jt){if(void 0===Ie)Jt="utf8",dt=this.length,Ie=0;else if(void 0===dt&&"string"==typeof Ie)Jt=Ie,dt=this.length,Ie=0;else{if(!isFinite(Ie))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");Ie|=0,isFinite(dt)?(dt|=0,void 0===Jt&&(Jt="utf8")):(Jt=dt,dt=void 0)}var zt=this.length-Ie;if((void 0===dt||dt>zt)&&(dt=zt),ae.length>0&&(dt<0||Ie<0)||Ie>this.length)throw new RangeError("Attempt to write outside buffer bounds");Jt||(Jt="utf8");for(var ln=!1;;)switch(Jt){case"hex":return I(this,ae,Ie,dt);case"utf8":case"utf-8":return J(this,ae,Ie,dt);case"ascii":return B(this,ae,Ie,dt);case"latin1":case"binary":return ie(this,ae,Ie,dt);case"base64":return oe(this,ae,Ie,dt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,ae,Ie,dt);default:if(ln)throw new TypeError("Unknown encoding: "+Jt);Jt=(""+Jt).toLowerCase(),ln=!0}},_.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ce=4096;function Ae(ae,Ie,dt){var Jt="";dt=Math.min(ae.length,dt);for(var zt=Ie;zt<dt;++zt)Jt+=String.fromCharCode(127&ae[zt]);return Jt}function Se(ae,Ie,dt){var Jt="";dt=Math.min(ae.length,dt);for(var zt=Ie;zt<dt;++zt)Jt+=String.fromCharCode(ae[zt]);return Jt}function Oe(ae,Ie,dt){var Jt=ae.length;(!Ie||Ie<0)&&(Ie=0),(!dt||dt<0||dt>Jt)&&(dt=Jt);for(var zt="",ln=Ie;ln<dt;++ln)zt+=St(ae[ln]);return zt}function be(ae,Ie,dt){for(var Jt=ae.slice(Ie,dt),zt="",ln=0;ln<Jt.length;ln+=2)zt+=String.fromCharCode(Jt[ln]+256*Jt[ln+1]);return zt}function ue(ae,Ie,dt){if(ae%1!=0||ae<0)throw new RangeError("offset is not uint");if(ae+Ie>dt)throw new RangeError("Trying to access beyond buffer length")}function He(ae,Ie,dt,Jt,zt,ln){if(!_.isBuffer(ae))throw new TypeError('"buffer" argument must be a Buffer instance');if(Ie>zt||Ie<ln)throw new RangeError('"value" argument is out of bounds');if(dt+Jt>ae.length)throw new RangeError("Index out of range")}function $e(ae,Ie,dt,Jt){Ie<0&&(Ie=65535+Ie+1);for(var zt=0,ln=Math.min(ae.length-dt,2);zt<ln;++zt)ae[dt+zt]=(Ie&255<<8*(Jt?zt:1-zt))>>>8*(Jt?zt:1-zt)}function F(ae,Ie,dt,Jt){Ie<0&&(Ie=4294967295+Ie+1);for(var zt=0,ln=Math.min(ae.length-dt,4);zt<ln;++zt)ae[dt+zt]=Ie>>>8*(Jt?zt:3-zt)&255}function je(ae,Ie,dt,Jt,zt,ln){if(dt+Jt>ae.length)throw new RangeError("Index out of range");if(dt<0)throw new RangeError("Index out of range")}function Et(ae,Ie,dt,Jt,zt){return zt||je(ae,0,dt,4),a.write(ae,Ie,dt,Jt,23,4),dt+4}function lt(ae,Ie,dt,Jt,zt){return zt||je(ae,0,dt,8),a.write(ae,Ie,dt,Jt,52,8),dt+8}_.prototype.slice=function(ae,Ie){var dt,Jt=this.length;if((ae=~~ae)<0?(ae+=Jt)<0&&(ae=0):ae>Jt&&(ae=Jt),(Ie=void 0===Ie?Jt:~~Ie)<0?(Ie+=Jt)<0&&(Ie=0):Ie>Jt&&(Ie=Jt),Ie<ae&&(Ie=ae),_.TYPED_ARRAY_SUPPORT)(dt=this.subarray(ae,Ie)).__proto__=_.prototype;else{var zt=Ie-ae;dt=new _(zt,void 0);for(var ln=0;ln<zt;++ln)dt[ln]=this[ln+ae]}return dt},_.prototype.readUIntLE=function(ae,Ie,dt){ae|=0,Ie|=0,dt||ue(ae,Ie,this.length);for(var Jt=this[ae],zt=1,ln=0;++ln<Ie&&(zt*=256);)Jt+=this[ae+ln]*zt;return Jt},_.prototype.readUIntBE=function(ae,Ie,dt){ae|=0,Ie|=0,dt||ue(ae,Ie,this.length);for(var Jt=this[ae+--Ie],zt=1;Ie>0&&(zt*=256);)Jt+=this[ae+--Ie]*zt;return Jt},_.prototype.readUInt8=function(ae,Ie){return Ie||ue(ae,1,this.length),this[ae]},_.prototype.readUInt16LE=function(ae,Ie){return Ie||ue(ae,2,this.length),this[ae]|this[ae+1]<<8},_.prototype.readUInt16BE=function(ae,Ie){return Ie||ue(ae,2,this.length),this[ae]<<8|this[ae+1]},_.prototype.readUInt32LE=function(ae,Ie){return Ie||ue(ae,4,this.length),(this[ae]|this[ae+1]<<8|this[ae+2]<<16)+16777216*this[ae+3]},_.prototype.readUInt32BE=function(ae,Ie){return Ie||ue(ae,4,this.length),16777216*this[ae]+(this[ae+1]<<16|this[ae+2]<<8|this[ae+3])},_.prototype.readIntLE=function(ae,Ie,dt){ae|=0,Ie|=0,dt||ue(ae,Ie,this.length);for(var Jt=this[ae],zt=1,ln=0;++ln<Ie&&(zt*=256);)Jt+=this[ae+ln]*zt;return Jt>=(zt*=128)&&(Jt-=Math.pow(2,8*Ie)),Jt},_.prototype.readIntBE=function(ae,Ie,dt){ae|=0,Ie|=0,dt||ue(ae,Ie,this.length);for(var Jt=Ie,zt=1,ln=this[ae+--Jt];Jt>0&&(zt*=256);)ln+=this[ae+--Jt]*zt;return ln>=(zt*=128)&&(ln-=Math.pow(2,8*Ie)),ln},_.prototype.readInt8=function(ae,Ie){return Ie||ue(ae,1,this.length),128&this[ae]?-1*(255-this[ae]+1):this[ae]},_.prototype.readInt16LE=function(ae,Ie){Ie||ue(ae,2,this.length);var dt=this[ae]|this[ae+1]<<8;return 32768&dt?4294901760|dt:dt},_.prototype.readInt16BE=function(ae,Ie){Ie||ue(ae,2,this.length);var dt=this[ae+1]|this[ae]<<8;return 32768&dt?4294901760|dt:dt},_.prototype.readInt32LE=function(ae,Ie){return Ie||ue(ae,4,this.length),this[ae]|this[ae+1]<<8|this[ae+2]<<16|this[ae+3]<<24},_.prototype.readInt32BE=function(ae,Ie){return Ie||ue(ae,4,this.length),this[ae]<<24|this[ae+1]<<16|this[ae+2]<<8|this[ae+3]},_.prototype.readFloatLE=function(ae,Ie){return Ie||ue(ae,4,this.length),a.read(this,ae,!0,23,4)},_.prototype.readFloatBE=function(ae,Ie){return Ie||ue(ae,4,this.length),a.read(this,ae,!1,23,4)},_.prototype.readDoubleLE=function(ae,Ie){return Ie||ue(ae,8,this.length),a.read(this,ae,!0,52,8)},_.prototype.readDoubleBE=function(ae,Ie){return Ie||ue(ae,8,this.length),a.read(this,ae,!1,52,8)},_.prototype.writeUIntLE=function(ae,Ie,dt,Jt){ae=+ae,Ie|=0,dt|=0,Jt||He(this,ae,Ie,dt,Math.pow(2,8*dt)-1,0);var zt=1,ln=0;for(this[Ie]=255&ae;++ln<dt&&(zt*=256);)this[Ie+ln]=ae/zt&255;return Ie+dt},_.prototype.writeUIntBE=function(ae,Ie,dt,Jt){ae=+ae,Ie|=0,dt|=0,Jt||He(this,ae,Ie,dt,Math.pow(2,8*dt)-1,0);var zt=dt-1,ln=1;for(this[Ie+zt]=255&ae;--zt>=0&&(ln*=256);)this[Ie+zt]=ae/ln&255;return Ie+dt},_.prototype.writeUInt8=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,1,255,0),_.TYPED_ARRAY_SUPPORT||(ae=Math.floor(ae)),this[Ie]=255&ae,Ie+1},_.prototype.writeUInt16LE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,2,65535,0),_.TYPED_ARRAY_SUPPORT?(this[Ie]=255&ae,this[Ie+1]=ae>>>8):$e(this,ae,Ie,!0),Ie+2},_.prototype.writeUInt16BE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,2,65535,0),_.TYPED_ARRAY_SUPPORT?(this[Ie]=ae>>>8,this[Ie+1]=255&ae):$e(this,ae,Ie,!1),Ie+2},_.prototype.writeUInt32LE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,4,4294967295,0),_.TYPED_ARRAY_SUPPORT?(this[Ie+3]=ae>>>24,this[Ie+2]=ae>>>16,this[Ie+1]=ae>>>8,this[Ie]=255&ae):F(this,ae,Ie,!0),Ie+4},_.prototype.writeUInt32BE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,4,4294967295,0),_.TYPED_ARRAY_SUPPORT?(this[Ie]=ae>>>24,this[Ie+1]=ae>>>16,this[Ie+2]=ae>>>8,this[Ie+3]=255&ae):F(this,ae,Ie,!1),Ie+4},_.prototype.writeIntLE=function(ae,Ie,dt,Jt){if(ae=+ae,Ie|=0,!Jt){var zt=Math.pow(2,8*dt-1);He(this,ae,Ie,dt,zt-1,-zt)}var ln=0,ar=1,Ln=0;for(this[Ie]=255&ae;++ln<dt&&(ar*=256);)ae<0&&0===Ln&&0!==this[Ie+ln-1]&&(Ln=1),this[Ie+ln]=(ae/ar>>0)-Ln&255;return Ie+dt},_.prototype.writeIntBE=function(ae,Ie,dt,Jt){if(ae=+ae,Ie|=0,!Jt){var zt=Math.pow(2,8*dt-1);He(this,ae,Ie,dt,zt-1,-zt)}var ln=dt-1,ar=1,Ln=0;for(this[Ie+ln]=255&ae;--ln>=0&&(ar*=256);)ae<0&&0===Ln&&0!==this[Ie+ln+1]&&(Ln=1),this[Ie+ln]=(ae/ar>>0)-Ln&255;return Ie+dt},_.prototype.writeInt8=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,1,127,-128),_.TYPED_ARRAY_SUPPORT||(ae=Math.floor(ae)),ae<0&&(ae=255+ae+1),this[Ie]=255&ae,Ie+1},_.prototype.writeInt16LE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,2,32767,-32768),_.TYPED_ARRAY_SUPPORT?(this[Ie]=255&ae,this[Ie+1]=ae>>>8):$e(this,ae,Ie,!0),Ie+2},_.prototype.writeInt16BE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,2,32767,-32768),_.TYPED_ARRAY_SUPPORT?(this[Ie]=ae>>>8,this[Ie+1]=255&ae):$e(this,ae,Ie,!1),Ie+2},_.prototype.writeInt32LE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,4,2147483647,-2147483648),_.TYPED_ARRAY_SUPPORT?(this[Ie]=255&ae,this[Ie+1]=ae>>>8,this[Ie+2]=ae>>>16,this[Ie+3]=ae>>>24):F(this,ae,Ie,!0),Ie+4},_.prototype.writeInt32BE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,4,2147483647,-2147483648),ae<0&&(ae=4294967295+ae+1),_.TYPED_ARRAY_SUPPORT?(this[Ie]=ae>>>24,this[Ie+1]=ae>>>16,this[Ie+2]=ae>>>8,this[Ie+3]=255&ae):F(this,ae,Ie,!1),Ie+4},_.prototype.writeFloatLE=function(ae,Ie,dt){return Et(this,ae,Ie,!0,dt)},_.prototype.writeFloatBE=function(ae,Ie,dt){return Et(this,ae,Ie,!1,dt)},_.prototype.writeDoubleLE=function(ae,Ie,dt){return lt(this,ae,Ie,!0,dt)},_.prototype.writeDoubleBE=function(ae,Ie,dt){return lt(this,ae,Ie,!1,dt)},_.prototype.copy=function(ae,Ie,dt,Jt){if(dt||(dt=0),Jt||0===Jt||(Jt=this.length),Ie>=ae.length&&(Ie=ae.length),Ie||(Ie=0),Jt>0&&Jt<dt&&(Jt=dt),Jt===dt||0===ae.length||0===this.length)return 0;if(Ie<0)throw new RangeError("targetStart out of bounds");if(dt<0||dt>=this.length)throw new RangeError("sourceStart out of bounds");if(Jt<0)throw new RangeError("sourceEnd out of bounds");Jt>this.length&&(Jt=this.length),ae.length-Ie<Jt-dt&&(Jt=ae.length-Ie+dt);var zt,ln=Jt-dt;if(this===ae&&dt<Ie&&Ie<Jt)for(zt=ln-1;zt>=0;--zt)ae[zt+Ie]=this[zt+dt];else if(ln<1e3||!_.TYPED_ARRAY_SUPPORT)for(zt=0;zt<ln;++zt)ae[zt+Ie]=this[zt+dt];else Uint8Array.prototype.set.call(ae,this.subarray(dt,dt+ln),Ie);return ln},_.prototype.fill=function(ae,Ie,dt,Jt){if("string"==typeof ae){if("string"==typeof Ie?(Jt=Ie,Ie=0,dt=this.length):"string"==typeof dt&&(Jt=dt,dt=this.length),1===ae.length){var zt=ae.charCodeAt(0);zt<256&&(ae=zt)}if(void 0!==Jt&&"string"!=typeof Jt)throw new TypeError("encoding must be a string");if("string"==typeof Jt&&!_.isEncoding(Jt))throw new TypeError("Unknown encoding: "+Jt)}else"number"==typeof ae&&(ae&=255);if(Ie<0||this.length<Ie||this.length<dt)throw new RangeError("Out of range index");if(dt<=Ie)return this;var ln;if(Ie>>>=0,dt=void 0===dt?this.length:dt>>>0,ae||(ae=0),"number"==typeof ae)for(ln=Ie;ln<dt;++ln)this[ln]=ae;else{var ar=_.isBuffer(ae)?ae:Ot(new _(ae,Jt).toString()),Ln=ar.length;for(ln=0;ln<dt-Ie;++ln)this[ln+Ie]=ar[ln%Ln]}return this};var nn=/[^+\/0-9A-Za-z-_]/g;function St(ae){return ae<16?"0"+ae.toString(16):ae.toString(16)}function Ot(ae,Ie){var dt;Ie=Ie||1/0;for(var Jt=ae.length,zt=null,ln=[],ar=0;ar<Jt;++ar){if((dt=ae.charCodeAt(ar))>55295&&dt<57344){if(!zt){if(dt>56319){(Ie-=3)>-1&&ln.push(239,191,189);continue}if(ar+1===Jt){(Ie-=3)>-1&&ln.push(239,191,189);continue}zt=dt;continue}if(dt<56320){(Ie-=3)>-1&&ln.push(239,191,189),zt=dt;continue}dt=65536+(zt-55296<<10|dt-56320)}else zt&&(Ie-=3)>-1&&ln.push(239,191,189);if(zt=null,dt<128){if((Ie-=1)<0)break;ln.push(dt)}else if(dt<2048){if((Ie-=2)<0)break;ln.push(dt>>6|192,63&dt|128)}else if(dt<65536){if((Ie-=3)<0)break;ln.push(dt>>12|224,dt>>6&63|128,63&dt|128)}else{if(!(dt<1114112))throw new Error("Invalid code point");if((Ie-=4)<0)break;ln.push(dt>>18|240,dt>>12&63|128,dt>>6&63|128,63&dt|128)}}return ln}function Qe(ae){return s.toByteArray(function(Ie){if((Ie=(dt=Ie,dt.trim?dt.trim():dt.replace(/^\s+|\s+$/g,"")).replace(nn,"")).length<2)return"";for(var dt;Ie.length%4!=0;)Ie+="=";return Ie}(ae))}function It(ae,Ie,dt,Jt){for(var zt=0;zt<Jt&&!(zt+dt>=Ie.length||zt>=ae.length);++zt)Ie[zt+dt]=ae[zt];return zt}}).call(this,t(57))},function(g,o,t){var e=t(69).Symbol;g.exports=e},function(g,o,t){var e=t(235),s=t(229);g.exports=function(a,l,u,h){var _=!u;u||(u={});for(var m=-1,b=l.length;++m<b;){var T=l[m],D=h?h(u[T],a[T],T,u,a):void 0;void 0===D&&(D=a[T]),_?s(u,T,D):e(u,T,D)}return u}},function(g,o,t){var e=t(367),s=t(397),a=t(117);g.exports=function(l){return a(l)?e(l):s(l)}},function(g,o,t){var e=t(188);g.exports=function(s){if("string"==typeof s||e(s))return s;var a=s+"";return"0"==a&&1/s==-1/0?"-0":a}},function(g,o,t){"use strict";var e=t(120);g.exports=function(s){if(!e(s))throw new TypeError("Cannot use null or undefined");return s}},function(g,o,t){var e=t(65).Buffer;function s(a,l){this._block=e.alloc(a),this._finalSize=l,this._blockSize=a,this._len=0}s.prototype.update=function(a,l){"string"==typeof a&&(a=e.from(a,l=l||"utf8"));for(var u=this._block,h=this._blockSize,_=a.length,m=this._len,b=0;b<_;){for(var T=m%h,D=Math.min(_-b,h-T),R=0;R<D;R++)u[T+R]=a[b+R];b+=D,(m+=D)%h==0&&this._update(u)}return this._len+=_,this},s.prototype.digest=function(a){var l=this._len%this._blockSize;this._block[l]=128,this._block.fill(0,l+1),l>=this._finalSize&&(this._update(this._block),this._block.fill(0));var u=8*this._len;if(u<=4294967295)this._block.writeUInt32BE(u,this._blockSize-4);else{var h=(4294967295&u)>>>0;this._block.writeUInt32BE((u-h)/4294967296,this._blockSize-8),this._block.writeUInt32BE(h,this._blockSize-4)}this._update(this._block);var m=this._hash();return a?m.toString(a):m},s.prototype._update=function(){throw new Error("_update must be implemented by subclass")},g.exports=s},function(g,o,t){var e=t(17),s=t(35),a=e.TypeError;g.exports=function(l,u){if(s(u,l))return l;throw a("Incorrect invocation")}},function(g,o,t){var e=t(116),s=t(231),a=t(78),h=Function.prototype.toString,_=Object.prototype.hasOwnProperty,m=h.call(Object);g.exports=function(b){if(!a(b)||"[object Object]"!=e(b))return!1;var T=s(b);if(null===T)return!0;var D=_.call(T,"constructor")&&T.constructor;return"function"==typeof D&&D instanceof D&&h.call(D)==m}},function(g,o,t){"use strict";(function(e){class s extends Error{constructor(_){super(s._prepareSuperMessage(_)),Object.defineProperty(this,"name",{value:"NonError",configurable:!0,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(this,s)}static _prepareSuperMessage(_){try{return JSON.stringify(_)}catch(m){return String(_)}}}const a=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0}],l=Symbol(".toJSON called"),u=({from:h,seen:_,to_:m,forceEnumerable:b,maxDepth:T,depth:D})=>{const R=m||(Array.isArray(h)?[]:{});if(_.push(h),D>=T)return R;if("function"==typeof h.toJSON&&!0!==h[l])return(j=>{j[l]=!0;const H=j.toJSON();return delete j[l],H})(h);for(const[j,H]of Object.entries(h))"function"==typeof e&&e.isBuffer(H)?R[j]="[object Buffer]":"function"!=typeof H&&(H&&"object"==typeof H?_.includes(h[j])?R[j]="[Circular]":(D++,R[j]=u({from:h[j],seen:_.slice(),forceEnumerable:b,maxDepth:T,depth:D})):R[j]=H);for(const{property:j,enumerable:H}of a)"string"==typeof h[j]&&Object.defineProperty(R,j,{value:h[j],enumerable:!!b||H,configurable:!0,writable:!0});return R};g.exports={serializeError:(h,_={})=>{const{maxDepth:m=Number.POSITIVE_INFINITY}=_;return"object"==typeof h&&null!==h?u({from:h,seen:[],forceEnumerable:!0,maxDepth:m,depth:0}):"function"==typeof h?`[Function: ${h.name||"anonymous"}]`:h},deserializeError:(h,_={})=>{const{maxDepth:m=Number.POSITIVE_INFINITY}=_;if(h instanceof Error)return h;if("object"==typeof h&&null!==h&&!Array.isArray(h)){const b=new Error;return u({from:h,seen:[],to_:b,maxDepth:m,depth:0}),b}return new s(h)}}}).call(this,t(132).Buffer)},function(g,o,t){"use strict";t.r(o),t.d(o,"sampleFromSchemaGeneric",function(){return Et}),t.d(o,"inferSchema",function(){return lt}),t.d(o,"createXMLExample",function(){return nn}),t.d(o,"sampleFromSchema",function(){return St}),t.d(o,"memoizedCreateXMLExample",function(){return Ot}),t.d(o,"memoizedSampleFromSchema",function(){return Qe});var e=t(19),s=t.n(e),a=t(2),l=t.n(a),u=t(18),h=t.n(u),_=t(23),m=t.n(_),b=t(24),T=t.n(b),D=t(31),R=t.n(D),j=t(71),H=t.n(j),z=t(20),U=t.n(z),M=t(56),I=t.n(M),J=t(4),B=t.n(J),ie=t(5),oe=t(453),fe=t.n(oe),ne=t(318),he=t.n(ne),ce=t(110),Ae=t.n(ce),Se={string:function(){return"string"},string_email:function(){return"user@example.com"},"string_date-time":function(){return(new Date).toISOString()},string_date:function(){return(new Date).toISOString().substring(0,10)},string_uuid:function(){return"3fa85f64-5717-4562-b3fc-2c963f66afa6"},string_hostname:function(){return"example.com"},string_ipv4:function(){return"198.51.100.42"},string_ipv6:function(){return"2001:0db8:5b96:0000:0000:426f:8e17:642a"},number:function(){return 0},number_float:function(){return 0},integer:function(){return 0},boolean:function(It){return"boolean"!=typeof It.default||It.default}},Oe=function(It){var ae,Ie=It=Object(ie.z)(It),dt=Ie.type,Jt=Ie.format,zt=Se[l()(ae="".concat(dt,"_")).call(ae,Jt)]||Se[dt];return Object(ie.s)(zt)?zt(It):"Unknown Type: "+It.type},be=function(It){return Object(ie.e)(It,"$$ref",function(ae){return"string"==typeof ae&&h()(ae).call(ae,"#")>-1})},ue=["maxProperties","minProperties"],He=["minItems","maxItems"],$e=["minimum","maximum","exclusiveMinimum","exclusiveMaximum"],F=["minLength","maxLength"],je=function It(ae,Ie){var dt,Jt,zt,ln=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},ar=function(Mn){void 0===Ie[Mn]&&void 0!==ae[Mn]&&(Ie[Mn]=ae[Mn])};if(m()(dt=l()(Jt=["example","default","enum","xml","type"]).call(Jt,ue,He,$e,F)).call(dt,function(Mn){return ar(Mn)}),void 0!==ae.required&&T()(ae.required)&&(void 0!==Ie.required&&Ie.required.length||(Ie.required=[]),m()(zt=ae.required).call(zt,function(Mn){var Ht;R()(Ht=Ie.required).call(Ht,Mn)||Ie.required.push(Mn)})),ae.properties){Ie.properties||(Ie.properties={});var Ln=Object(ie.z)(ae.properties);for(var Rn in Ln){var er;Object.prototype.hasOwnProperty.call(Ln,Rn)&&(!Ln[Rn]||!Ln[Rn].deprecated)&&(!Ln[Rn]||!Ln[Rn].readOnly||ln.includeReadOnly)&&(!Ln[Rn]||!Ln[Rn].writeOnly||ln.includeWriteOnly)&&(Ie.properties[Rn]||(Ie.properties[Rn]=Ln[Rn],!ae.required&&T()(ae.required)&&-1!==h()(er=ae.required).call(er,Rn)&&(Ie.required?Ie.required.push(Rn):Ie.required=[Rn])))}}return ae.items&&(Ie.items||(Ie.items={}),Ie.items=It(ae.items,Ie.items,ln)),Ie},Et=function It(ae){var Ie=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},dt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,Jt=arguments.length>3&&void 0!==arguments[3]&&arguments[3];ae&&Object(ie.s)(ae.toJS)&&(ae=ae.toJS());var zt=void 0!==dt||ae&&void 0!==ae.example||ae&&void 0!==ae.default,ln=!zt&&ae&&ae.oneOf&&ae.oneOf.length>0,ar=!zt&&ae&&ae.anyOf&&ae.anyOf.length>0;if(!zt&&(ln||ar)){var Ln=Object(ie.z)(ln?ae.oneOf[0]:ae.anyOf[0]);if(je(Ln,ae,Ie),!ae.xml&&Ln.xml&&(ae.xml=Ln.xml),void 0!==ae.example&&void 0!==Ln.example)zt=!0;else if(Ln.properties){ae.properties||(ae.properties={});var Rn=Object(ie.z)(Ln.properties);for(var er in Rn){var Mn;Object.prototype.hasOwnProperty.call(Rn,er)&&(!Rn[er]||!Rn[er].deprecated)&&(!Rn[er]||!Rn[er].readOnly||Ie.includeReadOnly)&&(!Rn[er]||!Rn[er].writeOnly||Ie.includeWriteOnly)&&(ae.properties[er]||(ae.properties[er]=Rn[er],!Ln.required&&T()(Ln.required)&&-1!==h()(Mn=Ln.required).call(Mn,er)&&(ae.required?ae.required.push(er):ae.required=[er])))}}}var Ht,tr={},Yn=ae||{},Cn=Yn.xml,Kt=Yn.type,dn=Yn.example,Kn=Yn.properties,qn=Yn.additionalProperties,Sn=Yn.items,$n=Ie.includeReadOnly,En=Ie.includeWriteOnly,Fn=Cn=Cn||{},Dn=Fn.name,mn=Fn.prefix,jn=Fn.namespace,Xt={};if(Jt&&(Ht=(mn?mn+":":"")+(Dn=Dn||"notagname"),jn)){var ut=mn?"xmlns:"+mn:"xmlns";tr[ut]=jn}Jt&&(Xt[Ht]=[]);var mt=function(rr){return H()(rr).call(rr,function(Mr){return Object.prototype.hasOwnProperty.call(ae,Mr)})};ae&&!Kt&&(Kn||qn||mt(ue)?Kt="object":Sn||mt(He)?Kt="array":mt($e)?(Kt="number",ae.type="number"):zt||ae.enum||(Kt="string",ae.type="string"));var Tt,yn,et=function(rr){var Mr,yi,Li,Mi,Oi;if(null!==(null===(Mr=ae)||void 0===Mr?void 0:Mr.maxItems)&&void 0!==(null===(yi=ae)||void 0===yi?void 0:yi.maxItems)&&(rr=U()(rr).call(rr,0,null===(Oi=ae)||void 0===Oi?void 0:Oi.maxItems)),null!==(null===(Li=ae)||void 0===Li?void 0:Li.minItems)&&void 0!==(null===(Mi=ae)||void 0===Mi?void 0:Mi.minItems))for(var Xr=0;rr.length<(null===(Kr=ae)||void 0===Kr?void 0:Kr.minItems);){var Kr;rr.push(rr[Xr++%rr.length])}return rr},jt=Object(ie.z)(Kn),hn=0,Qn=function(){return ae&&null!=ae.maxProperties&&hn>=ae.maxProperties},Ir=function(){if(!ae||!ae.required)return 0;var rr,Mr,yi=0;return Jt?m()(rr=ae.required).call(rr,function(Li){return yi+=void 0===Xt[Li]?0:1}):m()(Mr=ae.required).call(Mr,function(Li){var Mi;return yi+=void 0===(null===(Mi=Xt[Ht])||void 0===Mi?void 0:I()(Mi).call(Mi,function(Oi){return void 0!==Oi[Li]}))?0:1}),ae.required.length-yi},ht=function(rr){var Mr;return!(ae&&ae.required&&ae.required.length&&R()(Mr=ae.required).call(Mr,rr))},L=function(rr){return!ae||null==ae.maxProperties||!Qn()&&(!ht(rr)||ae.maxProperties-hn-Ir()>0)};if(Tt=Jt?function(rr){var Mr=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(ae&&jt[rr]){if(jt[rr].xml=jt[rr].xml||{},jt[rr].xml.attribute){var yi=T()(jt[rr].enum)?jt[rr].enum[0]:void 0,Li=jt[rr].example,Mi=jt[rr].default;return void(tr[jt[rr].xml.name||rr]=void 0!==Li?Li:void 0!==Mi?Mi:void 0!==yi?yi:Oe(jt[rr]))}jt[rr].xml.name=jt[rr].xml.name||rr}else jt[rr]||!1===qn||(jt[rr]={xml:{name:rr}});var Oi,Xr=It(ae&&jt[rr]||void 0,Ie,Mr,Jt);L(rr)&&(hn++,T()(Xr)?Xt[Ht]=l()(Oi=Xt[Ht]).call(Oi,Xr):Xt[Ht].push(Xr))}:function(rr,Mr){L(rr)&&(Xt[rr]=It(jt[rr],Ie,Mr,Jt),hn++)},zt){var Ue;if(Ue=be(void 0!==dt?dt:void 0!==dn?dn:ae.default),!Jt){if("number"==typeof Ue&&"string"===Kt)return"".concat(Ue);if("string"!=typeof Ue||"string"===Kt)return Ue;try{return JSON.parse(Ue)}catch(rr){return Ue}}if(ae||(Kt=T()(Ue)?"array":s()(Ue)),"array"===Kt){if(!T()(Ue)){if("string"==typeof Ue)return Ue;Ue=[Ue]}var nt=ae?ae.items:void 0;nt&&(nt.xml=nt.xml||Cn||{},nt.xml.name=nt.xml.name||Cn.name);var at=B()(Ue).call(Ue,function(rr){return It(nt,Ie,rr,Jt)});return at=et(at),Cn.wrapped?(Xt[Ht]=at,Ae()(tr)||Xt[Ht].push({_attr:tr})):Xt=at,Xt}if("object"===Kt){if("string"==typeof Ue)return Ue;for(var it in Ue)Object.prototype.hasOwnProperty.call(Ue,it)&&(ae&&jt[it]&&jt[it].readOnly&&!$n||ae&&jt[it]&&jt[it].writeOnly&&!En||(ae&&jt[it]&&jt[it].xml&&jt[it].xml.attribute?tr[jt[it].xml.name||it]=Ue[it]:Tt(it,Ue[it])));return Ae()(tr)||Xt[Ht].push({_attr:tr}),Xt}return Xt[Ht]=Ae()(tr)?Ue:[{_attr:tr},Ue],Xt}if("object"===Kt){for(var Pt in jt)Object.prototype.hasOwnProperty.call(jt,Pt)&&(jt[Pt]&&jt[Pt].deprecated||jt[Pt]&&jt[Pt].readOnly&&!$n||jt[Pt]&&jt[Pt].writeOnly&&!En||Tt(Pt));if(Jt&&tr&&Xt[Ht].push({_attr:tr}),Qn())return Xt;if(!0===qn)Jt?Xt[Ht].push({additionalProp:"Anything can be here"}):Xt.additionalProp1={},hn++;else if(qn){var Ut=Object(ie.z)(qn),ot=It(Ut,Ie,void 0,Jt);if(Jt&&Ut.xml&&Ut.xml.name&&"notagname"!==Ut.xml.name)Xt[Ht].push(ot);else for(var Nn=null!=ae.minProperties&&hn<ae.minProperties?ae.minProperties-hn:3,sn=1;sn<=Nn;sn++){if(Qn())return Xt;if(Jt){var An={};An["additionalProp"+sn]=ot.notagname,Xt[Ht].push(An)}else Xt["additionalProp"+sn]=ot;hn++}}return Xt}if("array"===Kt){if(!Sn)return;var Bn,ir,mr;if(Jt&&(Sn.xml=Sn.xml||(null===(ir=ae)||void 0===ir?void 0:ir.xml)||{},Sn.xml.name=Sn.xml.name||Cn.name),T()(Sn.anyOf))Bn=B()(mr=Sn.anyOf).call(mr,function(rr){return It(je(Sn,rr,Ie),Ie,void 0,Jt)});else if(T()(Sn.oneOf)){var _r;Bn=B()(_r=Sn.oneOf).call(_r,function(rr){return It(je(Sn,rr,Ie),Ie,void 0,Jt)})}else{if(!(!Jt||Jt&&Cn.wrapped))return It(Sn,Ie,void 0,Jt);Bn=[It(Sn,Ie,void 0,Jt)]}return Bn=et(Bn),Jt&&Cn.wrapped?(Xt[Ht]=Bn,Ae()(tr)||Xt[Ht].push({_attr:tr}),Xt):Bn}if(ae&&T()(ae.enum))yn=Object(ie.v)(ae.enum)[0];else{if(!ae)return;if("number"==typeof(yn=Oe(ae))){var Nr=ae.minimum;null!=Nr&&(ae.exclusiveMinimum&&Nr++,yn=Nr);var br=ae.maximum;null!=br&&(ae.exclusiveMaximum&&br--,yn=br)}if("string"==typeof yn&&(null!=ae.maxLength&&(yn=U()(yn).call(yn,0,ae.maxLength)),null!=ae.minLength))for(var Jn=0;yn.length<ae.minLength;)yn+=yn[Jn++%yn.length]}if("file"!==Kt)return Jt?(Xt[Ht]=Ae()(tr)?yn:[{_attr:tr},yn],Xt):yn},lt=function(It){return It.schema&&(It=It.schema),It.properties&&(It.type="object"),It},nn=function(It,ae,Ie){var dt=Et(It,ae,Ie,!0);if(dt)return"string"==typeof dt?dt:fe()(dt,{declaration:!0,indent:"\t"})},St=function(It,ae,Ie){return Et(It,ae,Ie,!1)},Ot=he()(nn),Qe=he()(St)},function(g,o,t){"use strict";var e=t(908).CopyToClipboard;e.CopyToClipboard=e,g.exports=e},function(g,o,t){"use strict";t.r(o),t.d(o,"UPDATE_CONFIGS",function(){return a}),t.d(o,"TOGGLE_CONFIGS",function(){return l}),t.d(o,"update",function(){return u}),t.d(o,"toggle",function(){return h}),t.d(o,"loaded",function(){return _});var e=t(3),s=t.n(e),a="configs_update",l="configs_toggle";function u(m,b){return{type:a,payload:s()({},m,b)}}function h(m){return{type:l,payload:m}}var _=function(){return function(m){var T=m.authActions;if((0,m.getConfigs)().persistAuthorization){var D=localStorage.getItem("authorized");D&&T.restoreAuthorization({authorized:JSON.parse(D)})}}}},function(g,o,t){"use strict";t.d(o,"a",function(){return m});var e=t(12),s=t.n(e),a=t(31),l=t.n(a),u=t(1),h=t.n(u),_=h.a.Set.of("type","format","items","default","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","uniqueItems","enum","multipleOf");function m(b){var T=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},D=T.isOAS3;if(!h.a.Map.isMap(b))return{schema:h.a.Map(),parameterContentMediaType:null};if(!D)return"body"===b.get("in")?{schema:b.get("schema",h.a.Map()),parameterContentMediaType:null}:{schema:s()(b).call(b,function(H,z){return l()(_).call(_,z)}),parameterContentMediaType:null};if(b.get("content")){var R=b.get("content",h.a.Map({})).keySeq(),j=R.first();return{schema:b.getIn(["content",j,"schema"],h.a.Map()),parameterContentMediaType:j}}return{schema:b.get("schema",h.a.Map()),parameterContentMediaType:null}}},function(g,o,t){var e=t(112);g.exports=Array.isArray||function(s){return"Array"==e(s)}},function(g,o,t){"use strict";var e=t(169),s=t(63),a=t(94);g.exports=function(l,u,h){var _=e(u);_ in l?s.f(l,_,a(0,h)):l[_]=h}},function(g,o,t){var e=t(33),s=t(38),a=t(128),l=s("species");g.exports=function(u){return a>=51||!e(function(){var h=[];return(h.constructor={})[l]=function(){return{foo:1}},1!==h[u](Boolean).foo})}},function(g,o,t){var e=t(334),s=t(221);g.exports=Object.keys||function(a){return e(a,s)}},function(g,o){g.exports={}},function(g,o,t){var e=t(592),s=t(78),a=Object.prototype,l=a.hasOwnProperty,u=a.propertyIsEnumerable,h=e(function(){return arguments}())?e:function(_){return s(_)&&l.call(_,"callee")&&!u.call(_,"callee")};g.exports=h},function(g,o,t){(function(e){var s=t(69),a=t(594),l=o&&!o.nodeType&&o,u=l&&"object"==typeof e&&e&&!e.nodeType&&e,h=u&&u.exports===l?s.Buffer:void 0;e.exports=(h?h.isBuffer:void 0)||a}).call(this,t(183)(g))},function(g,o,t){var e=t(367),s=t(598),a=t(117);g.exports=function(l){return a(l)?e(l,!0):s(l)}},function(g,o,t){var e=t(75),s=t(211),a=t(130),l=t(38)("iterator");g.exports=function(u){if(null!=u)return s(u,l)||s(u,"@@iterator")||a[e(u)]}},function(g,o,t){var e=t(690),s=t(227),a=t(691),l=t(692),u=t(693),h=t(116),_=t(356),m="[object Map]",b="[object Promise]",T="[object Set]",D="[object WeakMap]",R="[object DataView]",j=_(e),H=_(s),z=_(a),U=_(l),M=_(u),I=h;(e&&I(new e(new ArrayBuffer(1)))!=R||s&&I(new s)!=m||a&&I(a.resolve())!=b||l&&I(new l)!=T||u&&I(new u)!=D)&&(I=function(J){var B=h(J),ie="[object Object]"==B?J.constructor:void 0,oe=ie?_(ie):"";if(oe)switch(oe){case j:return R;case H:return m;case z:return b;case U:return T;case M:return D}return B}),g.exports=I},function(g,o,t){var e=t(52),s=t(243),a=t(696),l=t(102);g.exports=function(u,h){return e(u)?u:s(u,h)?[u]:a(l(u))}},function(g,o,t){(function(e){function s(a){return Object.prototype.toString.call(a)}o.isArray=function(a){return Array.isArray?Array.isArray(a):"[object Array]"===s(a)},o.isBoolean=function(a){return"boolean"==typeof a},o.isNull=function(a){return null===a},o.isNullOrUndefined=function(a){return null==a},o.isNumber=function(a){return"number"==typeof a},o.isString=function(a){return"string"==typeof a},o.isSymbol=function(a){return"symbol"==typeof a},o.isUndefined=function(a){return void 0===a},o.isRegExp=function(a){return"[object RegExp]"===s(a)},o.isObject=function(a){return"object"==typeof a&&null!==a},o.isDate=function(a){return"[object Date]"===s(a)},o.isError=function(a){return"[object Error]"===s(a)||a instanceof Error},o.isFunction=function(a){return"function"==typeof a},o.isPrimitive=function(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||void 0===a},o.isBuffer=e.isBuffer}).call(this,t(132).Buffer)},function(g,o,t){var e=t(99);g.exports=function(s,a,l){for(var u in a)l&&l.unsafe&&s[u]?s[u]=a[u]:e(s,u,a[u],l);return s}},function(g,o,t){"use strict";var e=t(73),s=function(a){var l,u;this.promise=new a(function(h,_){if(void 0!==l||void 0!==u)throw TypeError("Bad Promise constructor");l=h,u=_}),this.resolve=e(l),this.reject=e(u)};g.exports.f=function(a){return new s(a)}},function(g,o,t){"use strict";t.r(o);var e=t(0),s=t.n(e);t(11),o.default=function(a){var l=a.name;return s.a.createElement("div",{className:"fallback"},"\u{1f631} ",s.a.createElement("i",null,"Could not render ","t"===l?"this component":l,", see the console."))}},function(g,o,t){"use strict";t.r(o),t.d(o,"requestSnippetGenerator_curl_powershell",function(){return ue}),t.d(o,"requestSnippetGenerator_curl_bash",function(){return He}),t.d(o,"requestSnippetGenerator_curl_cmd",function(){return $e});var e=t(14),s=t.n(e),a=t(13),l=t.n(a),u=t(49),h=t.n(u),_=t(18),m=t.n(_),b=t(105),T=t.n(b),D=t(2),R=t.n(D),j=t(32),H=t.n(j),z=t(4),U=t.n(z),M=t(460),I=t.n(M),J=t(80),B=t.n(J),ie=t(31),oe=t.n(ie),fe=t(26),ne=t(1),he=function(F){var je;return m()(F).call(F,"_**[]")<0?F:T()(je=F.split("_**[]")[0]).call(je)},ce=function(F){return"-d "===F||/^[_\/-]/g.test(F)?F:"'"+F.replace(/'/g,"'\\''")+"'"},Ae=function(F){return"-d "===(F=F.replace(/\^/g,"^^").replace(/\\"/g,'\\\\"').replace(/"/g,'""').replace(/\n/g,"^\n"))?F.replace(/-d /g,"-d ^\n"):/^[_\/-]/g.test(F)?F:'"'+F+'"'},Se=function(F){return"-d "===F?F:/\n/.test(F)?'@"\n'+F.replace(/"/g,'\\"').replace(/`/g,"``").replace(/\$/,"`$")+'\n"@':/^[_\/-]/g.test(F)?F:"'"+F.replace(/"/g,'""').replace(/'/g,"''")+"'"};function Oe(F){var je,Et=[],lt=h()(F.get("body").entrySeq());try{for(lt.s();!(je=lt.n()).done;){var nn,St,Ot,Qe=l()(je.value,2),ae=Qe[1],Ie=he(Qe[0]);Et.push(ae instanceof fe.a.File?R()(nn=R()(St=' "'.concat(Ie,'": {\n "name": "')).call(St,ae.name,'"')).call(nn,ae.type?',\n "type": "'.concat(ae.type,'"'):"","\n }"):R()(Ot=' "'.concat(Ie,'": ')).call(Ot,H()(ae,null,2).replace(/(\r\n|\r|\n)/g,"\n ")))}}catch(dt){lt.e(dt)}finally{lt.f()}return"{\n".concat(Et.join(",\n"),"\n}")}var be=function(F,je,Et){var lt,nn=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",St=!1,Ot="",Qe=function(){for(var En=arguments.length,Fn=new Array(En),Dn=0;Dn<En;Dn++)Fn[Dn]=arguments[Dn];return Ot+=" "+U()(Fn).call(Fn,je).join(" ")},It=function(){for(var En=arguments.length,Fn=new Array(En),Dn=0;Dn<En;Dn++)Fn[Dn]=arguments[Dn];return Ot+=U()(Fn).call(Fn,je).join(" ")},ae=function(){return Ot+=" ".concat(Et)},Ie=function(){var En,Fn=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return Ot+=I()(En=" ").call(En,Fn)},dt=F.get("headers");if(Ot+="curl"+nn,F.has("curlOptions")&&Qe.apply(void 0,s()(F.get("curlOptions"))),Qe("-X",F.get("method")),ae(),Ie(),It("".concat(F.get("url"))),dt&&dt.size){var Jt,zt,ln=h()(B()(Jt=F.get("headers")).call(Jt));try{for(ln.s();!(zt=ln.n()).done;){var ar,Ln=zt.value;ae(),Ie();var Rn=l()(Ln,2),er=Rn[0],Mn=Rn[1];It("-H",R()(ar="".concat(er,": ")).call(ar,Mn)),St=St||/^content-type$/i.test(er)&&/^multipart\/form-data$/i.test(Mn)}}catch(En){ln.e(En)}finally{ln.f()}}if(F.get("body"))if(St&&oe()(lt=["POST","PUT","PATCH"]).call(lt,F.get("method"))){var Ht,tr=h()(F.get("body").entrySeq());try{for(tr.s();!(Ht=tr.n()).done;){var Yn,Cn,Kt,dn=l()(Ht.value,2),Kn=dn[0],qn=dn[1],Sn=he(Kn);ae(),Ie(),It("-F"),Qe(qn instanceof fe.a.File?R()(Yn=R()(Cn="".concat(Sn,"=@")).call(Cn,qn.name)).call(Yn,qn.type?";type=".concat(qn.type):""):R()(Kt="".concat(Sn,"=")).call(Kt,qn))}}catch(En){tr.e(En)}finally{tr.f()}}else{ae(),Ie(),It("-d ");var $n=F.get("body");ne.Map.isMap($n)?It(Oe(F)):("string"!=typeof $n&&($n=H()($n)),It($n))}else F.get("body")||"POST"!==F.get("method")||(ae(),Ie(),It("-d ''"));return Ot},ue=function(F){return be(F,Se,"`\n",".exe")},He=function(F){return be(F,ce,"\\\n")},$e=function(F){return be(F,Ae,"^\n")}},function(g,o,t){"use strict";t.r(o),t.d(o,"parseYamlConfig",function(){return s});var e=t(70),s=function(a,l){try{return e.a.load(a)}catch(u){return l&&l.errActions.newThrownErr(new Error(u)),{}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"getDefaultRequestBodyValue",function(){return I});var e=t(13),s=t.n(e),a=t(4),l=t.n(a),u=t(18),h=t.n(u),_=t(31),m=t.n(_),b=t(2),T=t.n(b),D=t(24),R=t.n(D),j=t(0),H=t.n(j),z=(t(11),t(28),t(1)),U=t(5),M=t(107),I=function(J,B,ie){var oe=J.getIn(["content",B]),fe=oe.get("schema").toJS(),ne=void 0!==oe.get("examples"),he=oe.get("example"),ce=ne?oe.getIn(["examples",ie,"value"]):he,Ae=Object(U.o)(fe,B,{includeWriteOnly:!0},ce);return Object(U.I)(Ae)};o.default=function(J){var B=J.userHasEditedBody,ie=J.requestBody,oe=J.requestBodyValue,fe=J.requestBodyInclusionSetting,ne=J.requestBodyErrors,he=J.getComponent,ce=J.getConfigs,Ae=J.specSelectors,Se=J.fn,Oe=J.contentType,be=J.isExecute,ue=J.specPath,He=J.onChange,$e=J.onChangeIncludeEmpty,F=J.activeExamplesKey,je=J.updateActiveExamplesKey,Et=J.setRetainRequestBodyValueFlag,lt=function(Sn){var $n={key:Sn,shouldDispatchInit:!1,defaultValue:!0};return"no value"===fe.get(Sn,"no value")&&($n.shouldDispatchInit=!0),$n},nn=he("Markdown",!0),St=he("modelExample"),Ot=he("RequestBodyEditor"),Qe=he("highlightCode"),It=he("ExamplesSelectValueRetainer"),ae=he("Example"),Ie=he("ParameterIncludeEmpty"),dt=ce().showCommonExtensions,Jt=ie&&ie.get("description")||null,zt=ie&&ie.get("content")||new z.OrderedMap;Oe=Oe||zt.keySeq().first()||"";var ln=zt.get(Oe,Object(z.OrderedMap)()),ar=ln.get("schema",Object(z.OrderedMap)()),Ln=ln.get("examples",null),Rn=null==Ln?void 0:l()(Ln).call(Ln,function(Sn,$n){var En,Fn=null===(En=Sn)||void 0===En?void 0:En.get("value",null);return Fn&&(Sn=Sn.set("value",I(ie,Oe,$n),Fn)),Sn});if(ne=z.List.isList(ne)?ne:Object(z.List)(),!ln.size)return null;var er="object"===ln.getIn(["schema","type"]),Mn="binary"===ln.getIn(["schema","format"]),Ht="base64"===ln.getIn(["schema","format"]);if("application/octet-stream"===Oe||0===h()(Oe).call(Oe,"image/")||0===h()(Oe).call(Oe,"audio/")||0===h()(Oe).call(Oe,"video/")||Mn||Ht){var tr=he("Input");return be?H.a.createElement(tr,{type:"file",onChange:function(Sn){He(Sn.target.files[0])}}):H.a.createElement("i",null,"Example values are not available for ",H.a.createElement("code",null,Oe)," media types.")}if(er&&("application/x-www-form-urlencoded"===Oe||0===h()(Oe).call(Oe,"multipart/"))&&ar.get("properties",Object(z.OrderedMap)()).size>0){var Yn,Cn=he("JsonSchemaForm"),Kt=he("ParameterExt"),dn=ar.get("properties",Object(z.OrderedMap)());return oe=z.Map.isMap(oe)?oe:Object(z.OrderedMap)(),H.a.createElement("div",{className:"table-container"},Jt&&H.a.createElement(nn,{source:Jt}),H.a.createElement("table",null,H.a.createElement("tbody",null,z.Map.isMap(dn)&&l()(Yn=dn.entrySeq()).call(Yn,function(Sn){var $n,En,Fn=s()(Sn,2),Dn=Fn[0],mn=Fn[1];if(!mn.get("readOnly")){var jn=dt?Object(U.l)(mn):null,Xt=m()($n=ar.get("required",Object(z.List)())).call($n,Dn),ut=mn.get("type"),mt=mn.get("format"),Tt=mn.get("description"),yn=oe.getIn([Dn,"value"]),et=oe.getIn([Dn,"errors"])||ne,jt=fe.get(Dn)||!1,hn=mn.has("default")||mn.has("example")||mn.hasIn(["items","example"])||mn.hasIn(["items","default"]),Qn=mn.has("enum")&&(1===mn.get("enum").size||Xt),Ir=hn||Qn,ht="";"array"!==ut||Ir||(ht=[]),("object"===ut||Ir)&&(ht=Object(U.o)(mn,!1,{includeWriteOnly:!0})),"string"!=typeof ht&&"object"===ut&&(ht=Object(U.I)(ht)),"string"==typeof ht&&"array"===ut&&(ht=JSON.parse(ht));var L="string"===ut&&("binary"===mt||"base64"===mt);return H.a.createElement("tr",{key:Dn,className:"parameters","data-property-name":Dn},H.a.createElement("td",{className:"parameters-col_name"},H.a.createElement("div",{className:Xt?"parameter__name required":"parameter__name"},Dn,Xt?H.a.createElement("span",null,"\xa0*"):null),H.a.createElement("div",{className:"parameter__type"},ut,mt&&H.a.createElement("span",{className:"prop-format"},"($",mt,")"),dt&&jn.size?l()(En=jn.entrySeq()).call(En,function(Ue){var nt,at=s()(Ue,2),it=at[0],Pt=at[1];return H.a.createElement(Kt,{key:T()(nt="".concat(it,"-")).call(nt,Pt),xKey:it,xVal:Pt})}):null),H.a.createElement("div",{className:"parameter__deprecated"},mn.get("deprecated")?"deprecated":null)),H.a.createElement("td",{className:"parameters-col_description"},H.a.createElement(nn,{source:Tt}),be?H.a.createElement("div",null,H.a.createElement(Cn,{fn:Se,dispatchInitialValue:!L,schema:mn,description:Dn,getComponent:he,value:void 0===yn?ht:yn,required:Xt,errors:et,onChange:function(Ue){He(Ue,[Dn])}}),Xt?null:H.a.createElement(Ie,{onChange:function(Ue){return $e(Dn,Ue)},isIncluded:jt,isIncludedOptions:lt(Dn),isDisabled:R()(yn)?0!==yn.length:!Object(U.q)(yn)})):null))}}))))}var Kn=I(ie,Oe,F),qn=null;return Object(M.a)(Kn)&&(qn="json"),H.a.createElement("div",null,Jt&&H.a.createElement(nn,{source:Jt}),Rn?H.a.createElement(It,{userHasEditedBody:B,examples:Rn,currentKey:F,currentUserInputValue:oe,onSelect:function(Sn){je(Sn)},updateValue:He,defaultToFirstExample:!0,getComponent:he,setRetainRequestBodyValueFlag:Et}):null,be?H.a.createElement("div",null,H.a.createElement(Ot,{value:oe,errors:ne,defaultValue:Kn,onChange:He,getComponent:he})):H.a.createElement(St,{getComponent:he,getConfigs:ce,specSelectors:Ae,expandDepth:1,isExecute:be,schema:ln.get("schema"),specPath:ue.push("content",Oe),example:H.a.createElement(Qe,{className:"body-param__example",getConfigs:ce,language:qn,value:Object(U.I)(oe)||Kn}),includeWriteOnly:!0}),Rn?H.a.createElement(ae,{example:Rn.get(F),getComponent:he,getConfigs:ce}):null)}},function(g,o,t){"use strict";t.r(o),t.d(o,"setHash",function(){return e});var e=function(s){return s?history.pushState(null,null,"#".concat(s)):window.location.hash=""}},function(g,o,t){"use strict";t.r(o),t.d(o,"makeMappedContainer",function(){return Sn}),t.d(o,"render",function(){return $n}),t.d(o,"getComponent",function(){return Fn});var e=t(19),s=t.n(e),a=t(29),l=t.n(a),u=t(6),h=t.n(u),_=t(7),m=t.n(_),b=t(8),T=t.n(b),D=t(9),R=t.n(D),j=t(21),H=t.n(j),z=t(15),U=t.n(z),M=t(0),I=t.n(M),J=t(195),B=t.n(J),ie=(t(11),I.a.createContext(null)),oe=function(Dn){Dn()},fe={notify:function(){}},he=function(){function Dn(jn,Xt){this.store=jn,this.parentSub=Xt,this.unsubscribe=null,this.listeners=fe,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var mn=Dn.prototype;return mn.addNestedSub=function(jn){return this.trySubscribe(),this.listeners.subscribe(jn)},mn.notifyNestedSubs=function(){this.listeners.notify()},mn.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},mn.isSubscribed=function(){return Boolean(this.unsubscribe)},mn.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=function(){var Dn=oe,mn=null,jn=null;return{clear:function(){mn=null,jn=null},notify:function(){Dn(function(){for(var Xt=mn;Xt;)Xt.callback(),Xt=Xt.next})},get:function(){for(var Xt=[],ut=mn;ut;)Xt.push(ut),ut=ut.next;return Xt},subscribe:function(Xt){var ut=!0,mt=jn={callback:Xt,next:null,prev:jn};return mt.prev?mt.prev.next=mt:mn=mt,function(){ut&&null!==mn&&(ut=!1,mt.next?mt.next.prev=mt.prev:jn=mt.prev,mt.prev?mt.prev.next=mt.next:mn=mt.next)}}}}())},mn.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=fe)},Dn}(),ce="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?M.useLayoutEffect:M.useEffect,Ae=function(Dn){var mn=Dn.store,jn=Dn.context,Xt=Dn.children,ut=Object(M.useMemo)(function(){var yn=new he(mn);return yn.onStateChange=yn.notifyNestedSubs,{store:mn,subscription:yn}},[mn]),mt=Object(M.useMemo)(function(){return mn.getState()},[mn]);return ce(function(){var yn=ut.subscription;return yn.trySubscribe(),mt!==mn.getState()&&yn.notifyNestedSubs(),function(){yn.tryUnsubscribe(),yn.onStateChange=null}},[ut,mt]),I.a.createElement((jn||ie).Provider,{value:ut},Xt)};function Se(){return(Se=Object.assign||function(Dn){for(var mn=1;mn<arguments.length;mn++){var jn=arguments[mn];for(var Xt in jn)Object.prototype.hasOwnProperty.call(jn,Xt)&&(Dn[Xt]=jn[Xt])}return Dn}).apply(this,arguments)}function Oe(Dn,mn){if(null==Dn)return{};var jn,Xt,ut={},mt=Object.keys(Dn);for(Xt=0;Xt<mt.length;Xt++)mn.indexOf(jn=mt[Xt])>=0||(ut[jn]=Dn[jn]);return ut}var be=t(322),ue=t.n(be),He=t(269),$e=[],F=[null,null];function je(Dn,mn){return[mn.payload,Dn[1]+1]}function Et(Dn,mn,jn){ce(function(){return Dn.apply(void 0,mn)},jn)}function lt(Dn,mn,jn,Xt,ut,mt,Tt){Dn.current=Xt,mn.current=ut,jn.current=!1,mt.current&&(mt.current=null,Tt())}function nn(Dn,mn,jn,Xt,ut,mt,Tt,yn,et,jt){if(Dn){var hn=!1,Qn=null,Ir=function(){if(!hn){var ht,L,Ue=mn.getState();try{ht=Xt(Ue,ut.current)}catch(nt){L=nt,Qn=nt}L||(Qn=null),ht===mt.current?Tt.current||et():(mt.current=ht,yn.current=ht,Tt.current=!0,jt({type:"STORE_UPDATED",payload:{error:L}}))}};return jn.onStateChange=Ir,jn.trySubscribe(),Ir(),function(){if(hn=!0,jn.tryUnsubscribe(),jn.onStateChange=null,Qn)throw Qn}}}var St=function(){return[null,0]};function Qe(Dn,mn){return Dn===mn?0!==Dn||0!==mn||1/Dn==1/mn:Dn!=Dn&&mn!=mn}function It(Dn,mn){if(Qe(Dn,mn))return!0;if("object"!=typeof Dn||null===Dn||"object"!=typeof mn||null===mn)return!1;var jn=Object.keys(Dn),Xt=Object.keys(mn);if(jn.length!==Xt.length)return!1;for(var ut=0;ut<jn.length;ut++)if(!Object.prototype.hasOwnProperty.call(mn,jn[ut])||!Qe(Dn[jn[ut]],mn[jn[ut]]))return!1;return!0}function ae(Dn){return function(mn,jn){var Xt=Dn(mn,jn);function ut(){return Xt}return ut.dependsOnOwnProps=!1,ut}}function Ie(Dn){return null!=Dn.dependsOnOwnProps?Boolean(Dn.dependsOnOwnProps):1!==Dn.length}function dt(Dn,mn){return function(jn,Xt){var ut=function(mt,Tt){return ut.dependsOnOwnProps?ut.mapToProps(mt,Tt):ut.mapToProps(mt)};return ut.dependsOnOwnProps=!0,ut.mapToProps=function(mt,Tt){ut.mapToProps=Dn,ut.dependsOnOwnProps=Ie(Dn);var yn=ut(mt,Tt);return"function"==typeof yn&&(ut.mapToProps=yn,ut.dependsOnOwnProps=Ie(yn),yn=ut(mt,Tt)),yn},ut}}var Jt=[function(Dn){return"function"==typeof Dn?dt(Dn):void 0},function(Dn){return Dn?void 0:ae(function(mn){return{dispatch:mn}})},function(Dn){return Dn&&"object"==typeof Dn?ae(function(mn){return function(jn,Xt){var ut={},mt=function(yn){var et=jn[yn];"function"==typeof et&&(ut[yn]=function(){return Xt(et.apply(void 0,arguments))})};for(var Tt in jn)mt(Tt);return ut}(Dn,mn)}):void 0}];function ln(Dn,mn,jn){return Se({},jn,Dn,mn)}var ar=[function(Dn){return"function"==typeof Dn?(mn=Dn,function(jn,Xt){var ut,mt=Xt.pure,Tt=Xt.areMergedPropsEqual,yn=!1;return function(et,jt,hn){var Qn=mn(et,jt,hn);return yn?mt&&Tt(Qn,ut)||(ut=Qn):(yn=!0,ut=Qn),ut}}):void 0;var mn},function(Dn){return Dn?void 0:function(){return ln}}];function Ln(Dn,mn,jn,Xt){return function(ut,mt){return jn(Dn(ut,mt),mn(Xt,mt),mt)}}function Rn(Dn,mn,jn,Xt,ut){var mt,Tt,yn,et,jt,hn=ut.areStatesEqual,Qn=ut.areOwnPropsEqual,Ir=ut.areStatePropsEqual,ht=!1;return function(Ue,nt){return ht?function(Ue,nt){var at,it,Pt=!Qn(nt,Tt),Ut=!hn(Ue,mt);return mt=Ue,Tt=nt,Pt&&Ut?(yn=Dn(mt,Tt),mn.dependsOnOwnProps&&(et=mn(Xt,Tt)),jt=jn(yn,et,Tt)):Pt?(Dn.dependsOnOwnProps&&(yn=Dn(mt,Tt)),mn.dependsOnOwnProps&&(et=mn(Xt,Tt)),jt=jn(yn,et,Tt)):(Ut&&(at=Dn(mt,Tt),it=!Ir(at,yn),yn=at,it&&(jt=jn(yn,et,Tt))),jt)}(Ue,nt):(yn=Dn(mt=Ue,Tt=nt),et=mn(Xt,Tt),jt=jn(yn,et,Tt),ht=!0,jt)}}function Mn(Dn,mn,jn){for(var Xt=mn.length-1;Xt>=0;Xt--){var ut=mn[Xt](Dn);if(ut)return ut}return function(mt,Tt){throw new Error("Invalid value of type "+typeof Dn+" for "+jn+" argument when connecting component "+Tt.wrappedComponentName+".")}}function Ht(Dn,mn){return Dn===mn}var mn,jn,Xt,ut,mt,Tt,yn,et,jt,hn,Qn,Yn=(Xt=void 0===(jn=(mn={}).connectHOC)?function(Dn,mn){void 0===mn&&(mn={});var Xt=mn.getDisplayName,ut=void 0===Xt?function(Pt){return"ConnectAdvanced("+Pt+")"}:Xt,mt=mn.methodName,Tt=void 0===mt?"connectAdvanced":mt,yn=mn.renderCountProp,et=void 0===yn?void 0:yn,jt=mn.shouldHandleStateChanges,hn=void 0===jt||jt,Qn=mn.storeKey,Ir=void 0===Qn?"store":Qn,ht=mn.forwardRef,L=void 0!==ht&&ht,Ue=mn.context,nt=void 0===Ue?ie:Ue,at=Oe(mn,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]),it=nt;return function(Pt){var Ut=Pt.displayName||Pt.name||"Component",ot=ut(Ut),Nn=Se({},at,{getDisplayName:ut,methodName:Tt,renderCountProp:et,shouldHandleStateChanges:hn,storeKey:Ir,displayName:ot,wrappedComponentName:Ut,WrappedComponent:Pt}),sn=at.pure,An=sn?M.useMemo:function(_r){return _r()};function Bn(_r){var Nr=Object(M.useMemo)(function(){var or=_r.reactReduxForwardedRef,Vn=Oe(_r,["reactReduxForwardedRef"]);return[_r.context,or,Vn]},[_r]),br=Nr[0],Jn=Nr[1],rr=Nr[2],Mr=Object(M.useMemo)(function(){return br&&br.Consumer&&Object(He.isContextConsumer)(I.a.createElement(br.Consumer,null))?br:it},[br,it]),yi=Object(M.useContext)(Mr),Li=Boolean(_r.store)&&Boolean(_r.store.getState)&&Boolean(_r.store.dispatch);Boolean(yi)&&Boolean(yi.store);var Mi=Li?_r.store:yi.store,Oi=Object(M.useMemo)(function(){return Dn(Mi.dispatch,Nn)},[Mi]),Xr=Object(M.useMemo)(function(){if(!hn)return F;var or=new he(Mi,Li?null:yi.subscription),Vn=or.notifyNestedSubs.bind(or);return[or,Vn]},[Mi,Li,yi]),Kr=Xr[0],di=Xr[1],se=Object(M.useMemo)(function(){return Li?yi:Se({},yi,{subscription:Kr})},[Li,yi,Kr]),ct=Object(M.useReducer)(je,$e,St),Ke=ct[0][0],Xe=ct[1];if(Ke&&Ke.error)throw Ke.error;var Vt=Object(M.useRef)(),Ct=Object(M.useRef)(rr),rt=Object(M.useRef)(),yt=Object(M.useRef)(!1),qe=An(function(){return rt.current&&rr===Ct.current?rt.current:Oi(Mi.getState(),rr)},[Mi,Ke,rr]);Et(lt,[Ct,Vt,yt,rr,qe,rt,di]),Et(nn,[hn,Mi,Kr,Oi,Ct,Vt,yt,rt,di,Xe],[Mi,Kr,Oi]);var $t=Object(M.useMemo)(function(){return I.a.createElement(Pt,Se({},qe,{ref:Jn}))},[Jn,Pt,qe]);return Object(M.useMemo)(function(){return hn?I.a.createElement(Mr.Provider,{value:se},$t):$t},[Mr,$t,se])}var ir=sn?I.a.memo(Bn):Bn;if(ir.WrappedComponent=Pt,ir.displayName=Bn.displayName=ot,L){var mr=I.a.forwardRef(function(_r,Nr){return I.a.createElement(ir,Se({},_r,{reactReduxForwardedRef:Nr}))});return mr.displayName=ot,mr.WrappedComponent=Pt,ue()(mr,Pt)}return ue()(ir,Pt)}}:jn,mt=void 0===(ut=mn.mapStateToPropsFactories)?[function(Dn){return"function"==typeof Dn?dt(Dn):void 0},function(Dn){return Dn?void 0:ae(function(){return{}})}]:ut,yn=void 0===(Tt=mn.mapDispatchToPropsFactories)?Jt:Tt,jt=void 0===(et=mn.mergePropsFactories)?ar:et,Qn=void 0===(hn=mn.selectorFactory)?function(Dn,mn){var jn=mn.initMapStateToProps,Xt=mn.initMapDispatchToProps,ut=mn.initMergeProps,mt=Oe(mn,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),Tt=jn(Dn,mt),yn=Xt(Dn,mt),et=ut(Dn,mt);return(mt.pure?Rn:Ln)(Tt,yn,et,Dn,mt)}:hn,function(Ir,ht,L,Ue){void 0===Ue&&(Ue={});var at=Ue.pure,it=void 0===at||at,Pt=Ue.areStatesEqual,Ut=void 0===Pt?Ht:Pt,ot=Ue.areOwnPropsEqual,Nn=void 0===ot?It:ot,sn=Ue.areStatePropsEqual,An=void 0===sn?It:sn,Bn=Ue.areMergedPropsEqual,ir=void 0===Bn?It:Bn,mr=Oe(Ue,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),_r=Mn(Ir,mt,"mapStateToProps"),Nr=Mn(ht,yn,"mapDispatchToProps"),br=Mn(L,jt,"mergeProps");return Xt(Qn,Se({methodName:"connect",getDisplayName:function(Jn){return"Connect("+Jn+")"},shouldHandleStateChanges:Boolean(Ir),initMapStateToProps:_r,initMapDispatchToProps:Nr,initMergeProps:br,pure:it,areStatesEqual:Ut,areOwnPropsEqual:Nn,areStatePropsEqual:An,areMergedPropsEqual:ir},mr))});oe=J.unstable_batchedUpdates;var Kt=t(459),dn=t.n(Kt),Kn=function(Dn,mn,jn){var Xt=function(mt,Tt){return function(yn){T()(jt,yn);var et=R()(jt);function jt(){return h()(this,jt),et.apply(this,arguments)}return m()(jt,[{key:"render",value:function(){return I.a.createElement(Tt,l()({},mt(),this.props,this.context))}}]),jt}(M.Component)}(Dn,mn),ut=Yn(function(mt,Tt){var yn=H()({},Tt,Dn());return(mn.prototype.mapStateToProps||function(et){return{state:et}})(mt,yn)})(Xt);return jn?function(mt,Tt,yn){return function(et){T()(hn,et);var jt=R()(hn);function hn(){return h()(this,hn),jt.apply(this,arguments)}return m()(hn,[{key:"render",value:function(){var Qn=(0,mt().getComponent)("ErrorBoundary",!0);return I.a.createElement(Ae,{store:Tt},I.a.createElement(Qn,{targetName:null==yn?void 0:yn.name},I.a.createElement(yn,l()({},this.props,this.context))))}}]),hn}(M.Component)}(Dn,jn,ut):ut},qn=function(Dn,mn,jn,Xt){for(var ut in mn){var mt=mn[ut];"function"==typeof mt&&mt(jn[ut],Xt[ut],Dn())}},Sn=function(Dn,mn,jn,Xt,ut,mt){return function(Tt){T()(et,Tt);var yn=R()(et);function et(jt,hn){var Qn;return h()(this,et),Qn=yn.call(this,jt,hn),qn(Dn,mt,jt,{}),Qn}return m()(et,[{key:"UNSAFE_componentWillReceiveProps",value:function(jt){qn(Dn,mt,jt,this.props)}},{key:"render",value:function(){var jt=dn()(this.props,mt?U()(mt):[]),hn=jn(ut,"root");return I.a.createElement(hn,jt)}}]),et}(M.Component)},$n=function(Dn,mn,jn,Xt,ut){var mt=jn(Dn,mn,Xt,"App","root");B.a.render(I.a.createElement(mt,null),ut)},En=function(Dn,mn){var jn=function(ut){return!(ut.prototype&&ut.prototype.isReactComponent)}(mn)?function(ut,mt){return function(Tt){T()(et,Tt);var yn=R()(et);function et(){return h()(this,et),yn.apply(this,arguments)}return m()(et,[{key:"render",value:function(){var jt=ut().getComponent,hn=jt("ErrorBoundary");return I.a.createElement(hn,{targetName:null==mt?void 0:mt.name,getComponent:jt},I.a.createElement(mt,this.props))}}]),et}(M.Component)}(Dn,mn):mn,Xt=jn.prototype.render;return jn.prototype.render=function(){try{for(var ut=arguments.length,mt=new Array(ut),Tt=0;Tt<ut;Tt++)mt[Tt]=arguments[Tt];return Xt.apply(this,mt)}catch(hn){var yn=Dn(),et=yn.getComponent,jt=et("Fallback");return console.error(hn),I.a.createElement(jt,{name:jn.name})}},jn},Fn=function(Dn,mn,jn,Xt,ut){var mt=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if("string"!=typeof Xt)throw new TypeError("Need a string, to fetch a component. Was given a "+s()(Xt));var Tt=jn(Xt);return Tt?ut?"root"===ut?Kn(Dn,Tt,mn()):Kn(Dn,En(Dn,Tt)):En(Dn,Tt):(mt.failSilently||Dn().log.warn("Could not find component:",Xt),null)}},function(g,o,t){g.exports=t(482)},function(g,o,t){"use strict";var e={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,a=s&&!e.call({1:2},1);o.f=a?function(l){var u=s(this,l);return!!u&&u.enumerable}:e},function(g,o,t){var e=t(17),s=t(27),a=t(33),l=t(112),u=e.Object,h=s("".split);g.exports=a(function(){return!u("z").propertyIsEnumerable(0)})?function(_){return"String"==l(_)?h(_,""):u(_)}:u},function(g,o,t){var e=t(485),s=t(209);g.exports=function(a){var l=e(a,"string");return s(l)?l:l+""}},function(g,o,t){var e=t(17).String;g.exports=function(s){try{return e(s)}catch(a){return"Object"}}},function(g,o,t){var e=t(27),s=0,a=Math.random(),l=e(1..toString);g.exports=function(u){return"Symbol("+(void 0===u?"":u)+")_"+l(++s+a,36)}},function(g,o,t){var e=t(27),s=t(33),a=t(41),l=t(75),u=t(58),h=t(217),_=function(){},m=[],b=u("Reflect","construct"),T=/^\s*(?:class|function)\b/,D=e(T.exec),R=!T.exec(_),j=function(H){if(!a(H))return!1;try{return b(_,m,H),!0}catch(z){return!1}};g.exports=!b||s(function(){var H;return j(j.call)||!j(Object)||!j(function(){H=!0})||H})?function(H){if(!a(H))return!1;switch(l(H)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return R||!!D(T,h(H))}:j},function(g,o,t){var e=t(212),s=t(171),a=e("keys");g.exports=function(l){return a[l]||(a[l]=s(l))}},function(g,o,t){var e=t(334),s=t(221).concat("length","prototype");o.f=Object.getOwnPropertyNames||function(a){return e(a,s)}},function(g,o,t){var e=t(17),s=t(44),a=t(41),l=t(62),u=t(173),h=t(342),_=u("IE_PROTO"),m=e.Object,b=m.prototype;g.exports=h?m.getPrototypeOf:function(T){var D=l(T);if(s(D,_))return D[_];var R=D.constructor;return a(R)&&D instanceof R?R.prototype:D instanceof m?b:null}},function(g,o,t){var e=t(27),s=t(51),a=t(506);g.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var l,u=!1,h={};try{(l=e(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(h,[]),u=h instanceof Array}catch(_){}return function(_,m){return s(_),a(m),u?l(_,m):_.__proto__=m,_}}():void 0)},function(g,o,t){var e=t(112),s=t(17);g.exports="process"==e(s.process)},function(g,o,t){var e=t(179),s=t(566),a=t(567),l=t(568),u=t(569),h=t(570);function _(m){var b=this.__data__=new e(m);this.size=b.size}_.prototype.clear=s,_.prototype.delete=a,_.prototype.get=l,_.prototype.has=u,_.prototype.set=h,g.exports=_},function(g,o,t){var e=t(561),s=t(562),a=t(563),l=t(564),u=t(565);function h(_){var m=-1,b=null==_?0:_.length;for(this.clear();++m<b;){var T=_[m];this.set(T[0],T[1])}}h.prototype.clear=e,h.prototype.delete=s,h.prototype.get=a,h.prototype.has=l,h.prototype.set=u,g.exports=h},function(g,o,t){var e=t(103);g.exports=function(s,a){for(var l=s.length;l--;)if(e(s[l][0],a))return l;return-1}},function(g,o,t){var e=t(115)(Object,"create");g.exports=e},function(g,o,t){var e=t(585);g.exports=function(s,a){var l=s.__data__;return e(a)?l["string"==typeof a?"string":"hash"]:l.map}},function(g,o){g.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(g,o){var t=Object.prototype;g.exports=function(e){var s=e&&e.constructor;return e===("function"==typeof s&&s.prototype||t)}},function(g,o,t){var e=t(595),s=t(233),a=t(234),l=a&&a.isTypedArray,u=l?s(l):e;g.exports=u},function(g,o){var t=/^(?:0|[1-9]\d*)$/;g.exports=function(e,s){var a=typeof e;return!!(s=null==s?9007199254740991:s)&&("number"==a||"symbol"!=a&&t.test(e))&&e>-1&&e%1==0&&e<s}},function(g,o,t){var e=t(615),s=t(373),a=t(371);g.exports=function(l,u){var h;if(l){if("string"==typeof l)return a(l,u);var _=e(h=Object.prototype.toString.call(l)).call(h,8,-1);return"Object"===_&&l.constructor&&(_=l.constructor.name),"Map"===_||"Set"===_?s(l):"Arguments"===_||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?a(l,u):void 0}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(116),s=t(78);g.exports=function(a){return"symbol"==typeof a||s(a)&&"[object Symbol]"==e(a)}},function(g,o,t){var e=t(677),s=t(695),a=t(236),l=t(52),u=t(701);g.exports=function(h){return"function"==typeof h?h:null==h?a:"object"==typeof h?l(h)?s(h[0],h[1]):e(h):u(h)}},function(g,o,t){"use strict";(function(e){g.exports=void 0===e||!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?{nextTick:function(s,a,l,u){if("function"!=typeof s)throw new TypeError('"callback" argument must be a function');var h,_,m=arguments.length;switch(m){case 0:case 1:return e.nextTick(s);case 2:return e.nextTick(function(){s.call(null,a)});case 3:return e.nextTick(function(){s.call(null,a,l)});case 4:return e.nextTick(function(){s.call(null,a,l,u)});default:for(h=new Array(m-1),_=0;_<h.length;)h[_++]=arguments[_];return e.nextTick(function(){s.apply(null,h)})}}}:e}).call(this,t(118))},function(g,o,t){"use strict";g.exports=t(731)("forEach")},function(g,o,t){"use strict";g.exports=t(754)()?globalThis:t(755)},function(g,o){g.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},function(g,o,t){var e=t(22),s=t(27),a=t(150),l=t(43),u=t(44),h=t(63).f,_=t(174),m=t(336),b=t(444),T=t(171),D=t(942),R=!1,j=T("meta"),H=0,z=function(M){h(M,j,{value:{objectID:"O"+H++,weakData:{}}})},U=g.exports={enable:function(){U.enable=function(){},R=!0;var M=_.f,I=s([].splice),J={};J[j]=1,M(J).length&&(_.f=function(B){for(var ie=M(B),oe=0,fe=ie.length;oe<fe;oe++)if(ie[oe]===j){I(ie,oe,1);break}return ie},e({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:m.f}))},fastKey:function(M,I){if(!l(M))return"symbol"==typeof M?M:("string"==typeof M?"S":"P")+M;if(!u(M,j)){if(!b(M))return"F";if(!I)return"E";z(M)}return M[j].objectID},getWeakData:function(M,I){if(!u(M,j)){if(!b(M))return!0;if(!I)return!1;z(M)}return M[j].weakData},onFreeze:function(M){return D&&R&&b(M)&&!u(M,j)&&z(M),M}};a[j]=!0},function(g,o,t){"use strict";(function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(s){console.error(s)}})(),g.exports=t(875)},function(g,o,t){g.exports=t(626)},function(g,o,t){g.exports=t(791)},function(g,o,t){g.exports=t(841)},function(g,o,t){g.exports=t(920)},function(g,o,t){g.exports=t(934)},function(g,o,t){(function(e){!function(){"use strict";g.exports=function(s){return(s instanceof e?s:e.from(s.toString(),"binary")).toString("base64")}}()}).call(this,t(132).Buffer)},function(g,o,t){g.exports=t(956)},function(g,o,t){"use strict";t.d(o,"a",function(){return he});var e=t(19),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(10),m=t.n(_),b=t(8),T=t.n(b),D=t(9),R=t.n(D),j=t(3),H=t.n(j),z=t(15),U=t.n(z),M=t(2),I=t.n(M),J=t(0),B=t.n(J),ie=t(89),oe=t.n(ie),fe=(t(11),t(5)),ne=t(26),he=function(Ae){T()(Oe,Ae);var Se=R()(Oe);function Oe(be,ue){var He;l()(this,Oe),He=Se.call(this,be,ue),H()(m()(He),"getDefinitionUrl",function(){return new oe.a(He.props.specSelectors.url(),ne.a.location).toString()});var $e=(0,be.getConfigs)().validatorUrl;return He.state={url:He.getDefinitionUrl(),validatorUrl:void 0===$e?"https://validator.swagger.io/validator":$e},He}return h()(Oe,[{key:"UNSAFE_componentWillReceiveProps",value:function(be){var ue=(0,be.getConfigs)().validatorUrl;this.setState({url:this.getDefinitionUrl(),validatorUrl:void 0===ue?"https://validator.swagger.io/validator":ue})}},{key:"render",value:function(){var be,ue,He=(0,this.props.getConfigs)().spec,$e=Object(fe.F)(this.state.validatorUrl);return"object"===s()(He)&&U()(He).length?null:this.state.url&&Object(fe.E)(this.state.validatorUrl)&&Object(fe.E)(this.state.url)?B.a.createElement("span",{className:"float-right"},B.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:I()(be="".concat($e,"/debug?url=")).call(be,encodeURIComponent(this.state.url))},B.a.createElement(ce,{src:I()(ue="".concat($e,"?url=")).call(ue,encodeURIComponent(this.state.url)),alt:"Online validator badge"}))):null}}]),Oe}(B.a.Component),ce=function(Ae){T()(Oe,Ae);var Se=R()(Oe);function Oe(be){var ue;return l()(this,Oe),(ue=Se.call(this,be)).state={loaded:!1,error:!1},ue}return h()(Oe,[{key:"componentDidMount",value:function(){var be=this,ue=new Image;ue.onload=function(){be.setState({loaded:!0})},ue.onerror=function(){be.setState({error:!0})},ue.src=this.props.src}},{key:"UNSAFE_componentWillReceiveProps",value:function(be){var ue=this;if(be.src!==this.props.src){var He=new Image;He.onload=function(){ue.setState({loaded:!0})},He.onerror=function(){ue.setState({error:!0})},He.src=be.src}}},{key:"render",value:function(){return this.state.error?B.a.createElement("img",{alt:"Error"}):this.state.loaded?B.a.createElement("img",{src:this.props.src,alt:this.props.alt}):null}}]),Oe}(B.a.Component)},function(g,o,t){"use strict";var e;function s(L){return(e=e||document.createElement("textarea")).innerHTML="&"+L+";",e.value}t.d(o,"a",function(){return ht});var a=Object.prototype.hasOwnProperty;function u(L){var Ue=[].slice.call(arguments,1);return Ue.forEach(function(nt){if(nt){if("object"!=typeof nt)throw new TypeError(nt+"must be object");Object.keys(nt).forEach(function(at){L[at]=nt[at]})}}),L}var h=/\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;function _(L){return L.indexOf("\\")<0?L:L.replace(h,"$1")}function m(L){return!(L>=55296&&L<=57343||L>=64976&&L<=65007||65535==(65535&L)||65534==(65535&L)||L>=0&&L<=8||11===L||L>=14&&L<=31||L>=127&&L<=159||L>1114111)}function b(L){if(L>65535){var Ue=55296+((L-=65536)>>10);return String.fromCharCode(Ue,56320+(1023&L))}return String.fromCharCode(L)}var T=/&([a-z#][a-z0-9]{1,31});/gi,D=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;function R(L,Ue){var nt=0,at=s(Ue);return Ue!==at?at:35===Ue.charCodeAt(0)&&D.test(Ue)&&m(nt="x"===Ue[1].toLowerCase()?parseInt(Ue.slice(2),16):parseInt(Ue.slice(1),10))?b(nt):L}function j(L){return L.indexOf("&")<0?L:L.replace(T,R)}var H=/[&<>"]/,z=/[&<>"]/g,U={"&":"&","<":"<",">":">",'"':"""};function M(L){return U[L]}function I(L){return H.test(L)?L.replace(z,M):L}var J={};function B(L,Ue){return++Ue>=L.length-2?Ue:"paragraph_open"===L[Ue].type&&L[Ue].tight&&"inline"===L[Ue+1].type&&0===L[Ue+1].content.length&&"paragraph_close"===L[Ue+2].type&&L[Ue+2].tight?B(L,Ue+2):Ue}J.blockquote_open=function(){return"<blockquote>\n"},J.blockquote_close=function(L,Ue){return"</blockquote>"+ie(L,Ue)},J.code=function(L,Ue){return L[Ue].block?"<pre><code>"+I(L[Ue].content)+"</code></pre>"+ie(L,Ue):"<code>"+I(L[Ue].content)+"</code>"},J.fence=function(L,Ue,nt,at,it){var Pt,Ut,ot=L[Ue],Nn="",sn=nt.langPrefix;if(ot.params){if(Ut=(Pt=ot.params.split(/\s+/g)).join(" "),function(L,Ue){return!!L&&a.call(L,Ue)}(it.rules.fence_custom,Pt[0]))return it.rules.fence_custom[Pt[0]](L,Ue,nt,at,it);Nn=' class="'+sn+I(j(_(Ut)))+'"'}return"<pre><code"+Nn+">"+(nt.highlight&&nt.highlight.apply(nt.highlight,[ot.content].concat(Pt))||I(ot.content))+"</code></pre>"+ie(L,Ue)},J.fence_custom={},J.heading_open=function(L,Ue){return"<h"+L[Ue].hLevel+">"},J.heading_close=function(L,Ue){return"</h"+L[Ue].hLevel+">\n"},J.hr=function(L,Ue,nt){return(nt.xhtmlOut?"<hr />":"<hr>")+ie(L,Ue)},J.bullet_list_open=function(){return"<ul>\n"},J.bullet_list_close=function(L,Ue){return"</ul>"+ie(L,Ue)},J.list_item_open=function(){return"<li>"},J.list_item_close=function(){return"</li>\n"},J.ordered_list_open=function(L,Ue){var nt=L[Ue];return"<ol"+(nt.order>1?' start="'+nt.order+'"':"")+">\n"},J.ordered_list_close=function(L,Ue){return"</ol>"+ie(L,Ue)},J.paragraph_open=function(L,Ue){return L[Ue].tight?"":"<p>"},J.paragraph_close=function(L,Ue){return(L[Ue].tight?"":"</p>")+(L[Ue].tight&&Ue&&"inline"===L[Ue-1].type&&!L[Ue-1].content?"":ie(L,Ue))},J.link_open=function(L,Ue,nt){var at=L[Ue].title?' title="'+I(j(L[Ue].title))+'"':"",it=nt.linkTarget?' target="'+nt.linkTarget+'"':"";return'<a href="'+I(L[Ue].href)+'"'+at+it+">"},J.link_close=function(){return"</a>"},J.image=function(L,Ue,nt){var at=' src="'+I(L[Ue].src)+'"',it=L[Ue].title?' title="'+I(j(L[Ue].title))+'"':"";return"<img"+at+' alt="'+(L[Ue].alt?I(j(_(L[Ue].alt))):"")+'"'+it+(nt.xhtmlOut?" /":"")+">"},J.table_open=function(){return"<table>\n"},J.table_close=function(){return"</table>\n"},J.thead_open=function(){return"<thead>\n"},J.thead_close=function(){return"</thead>\n"},J.tbody_open=function(){return"<tbody>\n"},J.tbody_close=function(){return"</tbody>\n"},J.tr_open=function(){return"<tr>"},J.tr_close=function(){return"</tr>\n"},J.th_open=function(L,Ue){var nt=L[Ue];return"<th"+(nt.align?' style="text-align:'+nt.align+'"':"")+">"},J.th_close=function(){return"</th>"},J.td_open=function(L,Ue){var nt=L[Ue];return"<td"+(nt.align?' style="text-align:'+nt.align+'"':"")+">"},J.td_close=function(){return"</td>"},J.strong_open=function(){return"<strong>"},J.strong_close=function(){return"</strong>"},J.em_open=function(){return"<em>"},J.em_close=function(){return"</em>"},J.del_open=function(){return"<del>"},J.del_close=function(){return"</del>"},J.ins_open=function(){return"<ins>"},J.ins_close=function(){return"</ins>"},J.mark_open=function(){return"<mark>"},J.mark_close=function(){return"</mark>"},J.sub=function(L,Ue){return"<sub>"+I(L[Ue].content)+"</sub>"},J.sup=function(L,Ue){return"<sup>"+I(L[Ue].content)+"</sup>"},J.hardbreak=function(L,Ue,nt){return nt.xhtmlOut?"<br />\n":"<br>\n"},J.softbreak=function(L,Ue,nt){return nt.breaks?nt.xhtmlOut?"<br />\n":"<br>\n":"\n"},J.text=function(L,Ue){return I(L[Ue].content)},J.htmlblock=function(L,Ue){return L[Ue].content},J.htmltag=function(L,Ue){return L[Ue].content},J.abbr_open=function(L,Ue){return'<abbr title="'+I(j(L[Ue].title))+'">'},J.abbr_close=function(){return"</abbr>"},J.footnote_ref=function(L,Ue){var nt=Number(L[Ue].id+1).toString(),at="fnref"+nt;return L[Ue].subId>0&&(at+=":"+L[Ue].subId),'<sup class="footnote-ref"><a href="#fn'+nt+'" id="'+at+'">['+nt+"]</a></sup>"},J.footnote_block_open=function(L,Ue,nt){return(nt.xhtmlOut?'<hr class="footnotes-sep" />\n':'<hr class="footnotes-sep">\n')+'<section class="footnotes">\n<ol class="footnotes-list">\n'},J.footnote_block_close=function(){return"</ol>\n</section>\n"},J.footnote_open=function(L,Ue){return'<li id="fn'+Number(L[Ue].id+1).toString()+'" class="footnote-item">'},J.footnote_close=function(){return"</li>\n"},J.footnote_anchor=function(L,Ue){var nt="fnref"+Number(L[Ue].id+1).toString();return L[Ue].subId>0&&(nt+=":"+L[Ue].subId),' <a href="#'+nt+'" class="footnote-backref">\u21a9</a>'},J.dl_open=function(){return"<dl>\n"},J.dt_open=function(){return"<dt>"},J.dd_open=function(){return"<dd>"},J.dl_close=function(){return"</dl>\n"},J.dt_close=function(){return"</dt>\n"},J.dd_close=function(){return"</dd>\n"};var ie=J.getBreak=function(L,Ue){return(Ue=B(L,Ue))<L.length&&"list_item_close"===L[Ue].type?"":"\n"};function oe(){this.rules=u({},J),this.getBreak=J.getBreak}function fe(){this.__rules__=[],this.__cache__=null}function ne(L,Ue,nt,at,it){this.src=L,this.env=at,this.options=nt,this.parser=Ue,this.tokens=it,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent="",this.labelUnmatchedScopes=0}function he(L,Ue){var nt,at,it,Pt=-1,Ut=L.posMax,ot=L.pos,Nn=L.isInLabel;if(L.isInLabel)return-1;if(L.labelUnmatchedScopes)return L.labelUnmatchedScopes--,-1;for(L.pos=Ue+1,L.isInLabel=!0,nt=1;L.pos<Ut;){if(91===(it=L.src.charCodeAt(L.pos)))nt++;else if(93===it&&0==--nt){at=!0;break}L.parser.skipToken(L)}return at?(Pt=L.pos,L.labelUnmatchedScopes=0):L.labelUnmatchedScopes=nt-1,L.pos=ot,L.isInLabel=Nn,Pt}function ce(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn;if(42!==L.charCodeAt(0)||91!==L.charCodeAt(1)||-1===L.indexOf("]:")||(Pt=he(it=new ne(L,Ue,nt,at,[]),1))<0||58!==L.charCodeAt(Pt+1))return-1;for(ot=it.posMax,Ut=Pt+2;Ut<ot&&10!==it.src.charCodeAt(Ut);Ut++);return Nn=L.slice(2,Pt),0===(sn=L.slice(Pt+2,Ut).trim()).length?-1:(at.abbreviations||(at.abbreviations={}),void 0===at.abbreviations[":"+Nn]&&(at.abbreviations[":"+Nn]=sn),Ut)}function Ae(L){var Ue=j(L);try{Ue=decodeURI(Ue)}catch(nt){}return encodeURI(Ue)}function Se(L,Ue){var nt,at,it,Pt=Ue,Ut=L.posMax;if(60===L.src.charCodeAt(Ue)){for(Ue++;Ue<Ut;){if(10===(nt=L.src.charCodeAt(Ue)))return!1;if(62===nt)return it=Ae(_(L.src.slice(Pt+1,Ue))),!!L.parser.validateLink(it)&&(L.pos=Ue+1,L.linkContent=it,!0);92===nt&&Ue+1<Ut?Ue+=2:Ue++}return!1}for(at=0;Ue<Ut&&32!==(nt=L.src.charCodeAt(Ue))&&!(nt<32||127===nt);)if(92===nt&&Ue+1<Ut)Ue+=2;else{if(40===nt&&++at>1||41===nt&&--at<0)break;Ue++}return Pt!==Ue&&(it=_(L.src.slice(Pt,Ue)),!!L.parser.validateLink(it)&&(L.linkContent=it,L.pos=Ue,!0))}function Oe(L,Ue){var nt,at=Ue,it=L.posMax,Pt=L.src.charCodeAt(Ue);if(34!==Pt&&39!==Pt&&40!==Pt)return!1;for(Ue++,40===Pt&&(Pt=41);Ue<it;){if((nt=L.src.charCodeAt(Ue))===Pt)return L.pos=Ue+1,L.linkContent=_(L.src.slice(at+1,Ue)),!0;92===nt&&Ue+1<it?Ue+=2:Ue++}return!1}function be(L){return L.trim().replace(/\s+/g," ").toUpperCase()}function ue(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir;if(91!==L.charCodeAt(0)||-1===L.indexOf("]:")||(Pt=he(it=new ne(L,Ue,nt,at,[]),0))<0||58!==L.charCodeAt(Pt+1))return-1;for(ot=it.posMax,Ut=Pt+2;Ut<ot&&(32===(Nn=it.src.charCodeAt(Ut))||10===Nn);Ut++);if(!Se(it,Ut))return-1;for(An=it.linkContent,sn=Ut=it.pos,Ut+=1;Ut<ot&&(32===(Nn=it.src.charCodeAt(Ut))||10===Nn);Ut++);for(Ut<ot&&sn!==Ut&&Oe(it,Ut)?(Bn=it.linkContent,Ut=it.pos):(Bn="",Ut=sn);Ut<ot&&32===it.src.charCodeAt(Ut);)Ut++;return Ut<ot&&10!==it.src.charCodeAt(Ut)?-1:(ir=be(L.slice(1,Pt)),void 0===at.references[ir]&&(at.references[ir]={title:Bn,href:An}),Ut)}oe.prototype.renderInline=function(L,Ue,nt){for(var at=this.rules,it=L.length,Pt=0,Ut="";it--;)Ut+=at[L[Pt].type](L,Pt++,Ue,nt,this);return Ut},oe.prototype.render=function(L,Ue,nt){for(var at=this.rules,it=L.length,Pt=-1,Ut="";++Pt<it;)Ut+="inline"===L[Pt].type?this.renderInline(L[Pt].children,Ue,nt):at[L[Pt].type](L,Pt,Ue,nt,this);return Ut},fe.prototype.__find__=function(L){for(var Ue=this.__rules__.length,nt=-1;Ue--;)if(this.__rules__[++nt].name===L)return nt;return-1},fe.prototype.__compile__=function(){var L=this,Ue=[""];L.__rules__.forEach(function(nt){nt.enabled&&nt.alt.forEach(function(at){Ue.indexOf(at)<0&&Ue.push(at)})}),L.__cache__={},Ue.forEach(function(nt){L.__cache__[nt]=[],L.__rules__.forEach(function(at){at.enabled&&(nt&&at.alt.indexOf(nt)<0||L.__cache__[nt].push(at.fn))})})},fe.prototype.at=function(L,Ue,nt){var at=this.__find__(L),it=nt||{};if(-1===at)throw new Error("Parser rule not found: "+L);this.__rules__[at].fn=Ue,this.__rules__[at].alt=it.alt||[],this.__cache__=null},fe.prototype.before=function(L,Ue,nt,at){var it=this.__find__(L),Pt=at||{};if(-1===it)throw new Error("Parser rule not found: "+L);this.__rules__.splice(it,0,{name:Ue,enabled:!0,fn:nt,alt:Pt.alt||[]}),this.__cache__=null},fe.prototype.after=function(L,Ue,nt,at){var it=this.__find__(L),Pt=at||{};if(-1===it)throw new Error("Parser rule not found: "+L);this.__rules__.splice(it+1,0,{name:Ue,enabled:!0,fn:nt,alt:Pt.alt||[]}),this.__cache__=null},fe.prototype.push=function(L,Ue,nt){this.__rules__.push({name:L,enabled:!0,fn:Ue,alt:(nt||{}).alt||[]}),this.__cache__=null},fe.prototype.enable=function(L,Ue){L=Array.isArray(L)?L:[L],Ue&&this.__rules__.forEach(function(nt){nt.enabled=!1}),L.forEach(function(nt){var at=this.__find__(nt);if(at<0)throw new Error("Rules manager: invalid rule name "+nt);this.__rules__[at].enabled=!0},this),this.__cache__=null},fe.prototype.disable=function(L){(L=Array.isArray(L)?L:[L]).forEach(function(Ue){var nt=this.__find__(Ue);if(nt<0)throw new Error("Rules manager: invalid rule name "+Ue);this.__rules__[nt].enabled=!1},this),this.__cache__=null},fe.prototype.getRules=function(L){return null===this.__cache__&&this.__compile__(),this.__cache__[L]||[]},ne.prototype.pushPending=function(){this.tokens.push({type:"text",content:this.pending,level:this.pendingLevel}),this.pending=""},ne.prototype.push=function(L){this.pending&&this.pushPending(),this.tokens.push(L),this.pendingLevel=this.level},ne.prototype.cacheSet=function(L,Ue){for(var nt=this.cache.length;nt<=L;nt++)this.cache.push(0);this.cache[L]=Ue},ne.prototype.cacheGet=function(L){return L<this.cache.length?this.cache[L]:0};var He=" \n()[]'\".,!?-";function $e(L){return L.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1")}var F=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,je=/\((c|tm|r|p)\)/gi,Et={c:"\xa9",r:"\xae",p:"\xa7",tm:"\u2122"},lt=/['"]/,nn=/['"]/g,St=/[-\s()\[\]]/;function Ot(L,Ue){return!(Ue<0||Ue>=L.length||St.test(L[Ue]))}function Qe(L,Ue,nt){return L.substr(0,Ue)+nt+L.substr(Ue+1)}var It=[["block",function(L){L.inlineMode?L.tokens.push({type:"inline",content:L.src.replace(/\n/g," ").trim(),level:0,lines:[0,1],children:[]}):L.block.parse(L.src,L.options,L.env,L.tokens)}],["abbr",function(L){var Ue,nt,at,it,Pt=L.tokens;if(!L.inlineMode)for(Ue=1,nt=Pt.length-1;Ue<nt;Ue++)if("paragraph_open"===Pt[Ue-1].type&&"inline"===Pt[Ue].type&&"paragraph_close"===Pt[Ue+1].type){for(at=Pt[Ue].content;at.length&&!((it=ce(at,L.inline,L.options,L.env))<0);)at=at.slice(it).trim();Pt[Ue].content=at,at.length||(Pt[Ue-1].tight=!0,Pt[Ue+1].tight=!0)}}],["references",function(L){var Ue,nt,at,it,Pt=L.tokens;if(L.env.references=L.env.references||{},!L.inlineMode)for(Ue=1,nt=Pt.length-1;Ue<nt;Ue++)if("inline"===Pt[Ue].type&&"paragraph_open"===Pt[Ue-1].type&&"paragraph_close"===Pt[Ue+1].type){for(at=Pt[Ue].content;at.length&&!((it=ue(at,L.inline,L.options,L.env))<0);)at=at.slice(it).trim();Pt[Ue].content=at,at.length||(Pt[Ue-1].tight=!0,Pt[Ue+1].tight=!0)}}],["inline",function(L){var Ue,nt,at,it=L.tokens;for(nt=0,at=it.length;nt<at;nt++)"inline"===(Ue=it[nt]).type&&L.inline.parse(Ue.content,L.options,L.env,Ue.children)}],["footnote_tail",function(L){var Ue,nt,at,it,Pt,Ut,ot,Nn,sn,An=0,Bn=!1,ir={};if(L.env.footnotes&&(L.tokens=L.tokens.filter(function(mr){return"footnote_reference_open"===mr.type?(Bn=!0,Nn=[],sn=mr.label,!1):"footnote_reference_close"===mr.type?(Bn=!1,ir[":"+sn]=Nn,!1):(Bn&&Nn.push(mr),!Bn)}),L.env.footnotes.list)){for(Ut=L.env.footnotes.list,L.tokens.push({type:"footnote_block_open",level:An++}),Ue=0,nt=Ut.length;Ue<nt;Ue++){for(L.tokens.push({type:"footnote_open",id:Ue,level:An++}),Ut[Ue].tokens?((ot=[]).push({type:"paragraph_open",tight:!1,level:An++}),ot.push({type:"inline",content:"",level:An,children:Ut[Ue].tokens}),ot.push({type:"paragraph_close",tight:!1,level:--An})):Ut[Ue].label&&(ot=ir[":"+Ut[Ue].label]),L.tokens=L.tokens.concat(ot),Pt="paragraph_close"===L.tokens[L.tokens.length-1].type?L.tokens.pop():null,it=Ut[Ue].count>0?Ut[Ue].count:1,at=0;at<it;at++)L.tokens.push({type:"footnote_anchor",id:Ue,subId:at,level:An});Pt&&L.tokens.push(Pt),L.tokens.push({type:"footnote_close",level:--An})}L.tokens.push({type:"footnote_block_close",level:--An})}}],["abbr2",function(L){var Ue,nt,at,it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr=L.tokens;if(L.env.abbreviations)for(L.env.abbrRegExp||(ir="(^|["+He.split("").map($e).join("")+"])("+Object.keys(L.env.abbreviations).map(function(_r){return _r.substr(1)}).sort(function(_r,Nr){return Nr.length-_r.length}).map($e).join("|")+")($|["+He.split("").map($e).join("")+"])",L.env.abbrRegExp=new RegExp(ir,"g")),An=L.env.abbrRegExp,nt=0,at=mr.length;nt<at;nt++)if("inline"===mr[nt].type)for(Ue=(it=mr[nt].children).length-1;Ue>=0;Ue--)if("text"===(Pt=it[Ue]).type){for(Nn=0,Ut=Pt.content,An.lastIndex=0,sn=Pt.level,ot=[];Bn=An.exec(Ut);)An.lastIndex>Nn&&ot.push({type:"text",content:Ut.slice(Nn,Bn.index+Bn[1].length),level:sn}),ot.push({type:"abbr_open",title:L.env.abbreviations[":"+Bn[2]],level:sn++}),ot.push({type:"text",content:Bn[2],level:sn}),ot.push({type:"abbr_close",level:--sn}),Nn=An.lastIndex-Bn[3].length;ot.length&&(Nn<Ut.length&&ot.push({type:"text",content:Ut.slice(Nn),level:sn}),mr[nt].children=it=[].concat(it.slice(0,Ue),ot,it.slice(Ue+1)))}}],["replacements",function(L){var Ue,nt,at,it,Pt,Ut;if(L.options.typographer)for(Pt=L.tokens.length-1;Pt>=0;Pt--)if("inline"===L.tokens[Pt].type)for(Ue=(it=L.tokens[Pt].children).length-1;Ue>=0;Ue--)"text"===(nt=it[Ue]).type&&(at=(Ut=at=nt.content).indexOf("(")<0?Ut:Ut.replace(je,function(ot,Nn){return Et[Nn.toLowerCase()]}),F.test(at)&&(at=at.replace(/\+-/g,"\xb1").replace(/\.{2,}/g,"\u2026").replace(/([?!])\u2026/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---([^-]|$)/gm,"$1\u2014$2").replace(/(^|\s)--(\s|$)/gm,"$1\u2013$2").replace(/(^|[^-\s])--([^-\s]|$)/gm,"$1\u2013$2")),nt.content=at)}],["smartquotes",function(L){var Ue,nt,at,it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r,Nr,br,Jn;if(L.options.typographer)for(Jn=[],Nr=L.tokens.length-1;Nr>=0;Nr--)if("inline"===L.tokens[Nr].type)for(br=L.tokens[Nr].children,Jn.length=0,Ue=0;Ue<br.length;Ue++)if("text"===(nt=br[Ue]).type&&!lt.test(nt.text)){for(ot=br[Ue].level,mr=Jn.length-1;mr>=0&&!(Jn[mr].level<=ot);mr--);Jn.length=mr+1,Pt=0,Ut=(at=nt.content).length;e:for(;Pt<Ut&&(nn.lastIndex=Pt,it=nn.exec(at));)if(Nn=!Ot(at,it.index-1),Pt=it.index+1,_r="'"===it[0],(sn=!Ot(at,Pt))||Nn){if(Bn=!sn,ir=!Nn)for(mr=Jn.length-1;mr>=0&&(An=Jn[mr],!(Jn[mr].level<ot));mr--)if(An.single===_r&&Jn[mr].level===ot){An=Jn[mr],_r?(br[An.token].content=Qe(br[An.token].content,An.pos,L.options.quotes[2]),nt.content=Qe(nt.content,it.index,L.options.quotes[3])):(br[An.token].content=Qe(br[An.token].content,An.pos,L.options.quotes[0]),nt.content=Qe(nt.content,it.index,L.options.quotes[1])),Jn.length=mr;continue e}Bn?Jn.push({token:Ue,pos:it.index,single:_r,level:ot}):ir&&_r&&(nt.content=Qe(nt.content,it.index,"\u2019"))}else _r&&(nt.content=Qe(nt.content,it.index,"\u2019"))}}]];function ae(){this.options={},this.ruler=new fe;for(var L=0;L<It.length;L++)this.ruler.push(It[L][0],It[L][1])}function Ie(L,Ue,nt,at,it){var Pt,Ut,ot,Nn,sn,An,Bn;for(this.src=L,this.parser=Ue,this.options=nt,this.env=at,this.tokens=it,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType="root",this.ddIndent=-1,this.level=0,this.result="",An=0,Bn=!1,ot=Nn=An=0,sn=(Ut=this.src).length;Nn<sn;Nn++){if(Pt=Ut.charCodeAt(Nn),!Bn){if(32===Pt){An++;continue}Bn=!0}10!==Pt&&Nn!==sn-1||(10!==Pt&&Nn++,this.bMarks.push(ot),this.eMarks.push(Nn),this.tShift.push(An),Bn=!1,An=0,ot=Nn+1)}this.bMarks.push(Ut.length),this.eMarks.push(Ut.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}function dt(L,Ue){var nt,at,it;return(at=L.bMarks[Ue]+L.tShift[Ue])>=(it=L.eMarks[Ue])||42!==(nt=L.src.charCodeAt(at++))&&45!==nt&&43!==nt||at<it&&32!==L.src.charCodeAt(at)?-1:at}function Jt(L,Ue){var nt,at=L.bMarks[Ue]+L.tShift[Ue],it=L.eMarks[Ue];if(at+1>=it||(nt=L.src.charCodeAt(at++))<48||nt>57)return-1;for(;;){if(at>=it)return-1;if(!((nt=L.src.charCodeAt(at++))>=48&&nt<=57)){if(41===nt||46===nt)break;return-1}}return at<it&&32!==L.src.charCodeAt(at)?-1:at}ae.prototype.process=function(L){var Ue,nt,at;for(Ue=0,nt=(at=this.ruler.getRules("")).length;Ue<nt;Ue++)at[Ue](L)},Ie.prototype.isEmpty=function(L){return this.bMarks[L]+this.tShift[L]>=this.eMarks[L]},Ie.prototype.skipEmptyLines=function(L){for(var Ue=this.lineMax;L<Ue&&!(this.bMarks[L]+this.tShift[L]<this.eMarks[L]);L++);return L},Ie.prototype.skipSpaces=function(L){for(var Ue=this.src.length;L<Ue&&32===this.src.charCodeAt(L);L++);return L},Ie.prototype.skipChars=function(L,Ue){for(var nt=this.src.length;L<nt&&this.src.charCodeAt(L)===Ue;L++);return L},Ie.prototype.skipCharsBack=function(L,Ue,nt){if(L<=nt)return L;for(;L>nt;)if(Ue!==this.src.charCodeAt(--L))return L+1;return L},Ie.prototype.getLines=function(L,Ue,nt,at){var it,Pt,ot,Nn,sn=L;if(L>=Ue)return"";if(sn+1===Ue)return Pt=this.bMarks[sn]+Math.min(this.tShift[sn],nt),this.src.slice(Pt,at?this.eMarks[sn]+1:this.eMarks[sn]);for(ot=new Array(Ue-L),it=0;sn<Ue;sn++,it++)(Nn=this.tShift[sn])>nt&&(Nn=nt),Nn<0&&(Nn=0),ot[it]=this.src.slice(Pt=this.bMarks[sn]+Nn,sn+1<Ue||at?this.eMarks[sn]+1:this.eMarks[sn]);return ot.join("")};var zt={};["article","aside","button","blockquote","body","canvas","caption","col","colgroup","dd","div","dl","dt","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","iframe","li","map","object","ol","output","p","pre","progress","script","section","style","table","tbody","td","textarea","tfoot","th","tr","thead","ul","video"].forEach(function(L){zt[L]=!0});var ln=/^<([a-zA-Z]{1,15})[\s\/>]/,ar=/^<\/([a-zA-Z]{1,15})[\s>]/;function Ln(L,Ue){var nt=L.bMarks[Ue]+L.blkIndent;return L.src.substr(nt,L.eMarks[Ue]-nt)}function Rn(L,Ue){var nt,at,it=L.bMarks[Ue]+L.tShift[Ue],Pt=L.eMarks[Ue];return it>=Pt||126!==(at=L.src.charCodeAt(it++))&&58!==at||it===(nt=L.skipSpaces(it))||nt>=Pt?-1:nt}var er=[["code",function(L,Ue,nt){var at,it;if(L.tShift[Ue]-L.blkIndent<4)return!1;for(it=at=Ue+1;at<nt;)if(L.isEmpty(at))at++;else{if(!(L.tShift[at]-L.blkIndent>=4))break;it=++at}return L.line=at,L.tokens.push({type:"code",content:L.getLines(Ue,it,4+L.blkIndent,!0),block:!0,lines:[Ue,L.line],level:L.level}),!0}],["fences",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn=!1,An=L.bMarks[Ue]+L.tShift[Ue],Bn=L.eMarks[Ue];if(An+3>Bn||126!==(it=L.src.charCodeAt(An))&&96!==it||(Nn=An,(Pt=(An=L.skipChars(An,it))-Nn)<3)||(Ut=L.src.slice(An,Bn).trim()).indexOf("`")>=0)return!1;if(at)return!0;for(ot=Ue;!(++ot>=nt||(An=Nn=L.bMarks[ot]+L.tShift[ot])<(Bn=L.eMarks[ot])&&L.tShift[ot]<L.blkIndent);)if(L.src.charCodeAt(An)===it&&!(L.tShift[ot]-L.blkIndent>=4||(An=L.skipChars(An,it))-Nn<Pt||(An=L.skipSpaces(An))<Bn)){sn=!0;break}return Pt=L.tShift[Ue],L.line=ot+(sn?1:0),L.tokens.push({type:"fence",params:Ut,content:L.getLines(Ue+1,ot,Pt,!0),lines:[Ue,L.line],level:L.level}),!0},["paragraph","blockquote","list"]],["blockquote",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r,Nr=L.bMarks[Ue]+L.tShift[Ue],br=L.eMarks[Ue];if(Nr>br||62!==L.src.charCodeAt(Nr++)||L.level>=L.options.maxNesting)return!1;if(at)return!0;for(32===L.src.charCodeAt(Nr)&&Nr++,Nn=L.blkIndent,L.blkIndent=0,ot=[L.bMarks[Ue]],L.bMarks[Ue]=Nr,Pt=(Nr=Nr<br?L.skipSpaces(Nr):Nr)>=br,Ut=[L.tShift[Ue]],L.tShift[Ue]=Nr-L.bMarks[Ue],Bn=L.parser.ruler.getRules("blockquote"),it=Ue+1;it<nt&&!((Nr=L.bMarks[it]+L.tShift[it])>=(br=L.eMarks[it]));it++)if(62!==L.src.charCodeAt(Nr++)){if(Pt)break;for(_r=!1,ir=0,mr=Bn.length;ir<mr;ir++)if(Bn[ir](L,it,nt,!0)){_r=!0;break}if(_r)break;ot.push(L.bMarks[it]),Ut.push(L.tShift[it]),L.tShift[it]=-1337}else 32===L.src.charCodeAt(Nr)&&Nr++,ot.push(L.bMarks[it]),L.bMarks[it]=Nr,Pt=(Nr=Nr<br?L.skipSpaces(Nr):Nr)>=br,Ut.push(L.tShift[it]),L.tShift[it]=Nr-L.bMarks[it];for(sn=L.parentType,L.parentType="blockquote",L.tokens.push({type:"blockquote_open",lines:An=[Ue,0],level:L.level++}),L.parser.tokenize(L,Ue,it),L.tokens.push({type:"blockquote_close",level:--L.level}),L.parentType=sn,An[1]=L.line,ir=0;ir<Ut.length;ir++)L.bMarks[ir+Ue]=ot[ir],L.tShift[ir+Ue]=Ut[ir];return L.blkIndent=Nn,!0},["paragraph","blockquote","list"]],["hr",function(L,Ue,nt,at){var it,Pt,Ut,ot=L.bMarks[Ue],Nn=L.eMarks[Ue];if((ot+=L.tShift[Ue])>Nn||42!==(it=L.src.charCodeAt(ot++))&&45!==it&&95!==it)return!1;for(Pt=1;ot<Nn;){if((Ut=L.src.charCodeAt(ot++))!==it&&32!==Ut)return!1;Ut===it&&Pt++}return!(Pt<3||(at||(L.line=Ue+1,L.tokens.push({type:"hr",lines:[Ue,L.line],level:L.level})),0))},["paragraph","blockquote","list"]],["list",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r,Nr,br,Jn,rr,Mr,yi,Li,Mi,Oi,Xr,Kr=!0;if((Bn=Jt(L,Ue))>=0)Nr=!0;else{if(!((Bn=dt(L,Ue))>=0))return!1;Nr=!1}if(L.level>=L.options.maxNesting)return!1;if(_r=L.src.charCodeAt(Bn-1),at)return!0;for(Jn=L.tokens.length,Nr?(An=L.bMarks[Ue]+L.tShift[Ue],mr=Number(L.src.substr(An,Bn-An-1)),L.tokens.push({type:"ordered_list_open",order:mr,lines:Mr=[Ue,0],level:L.level++})):L.tokens.push({type:"bullet_list_open",lines:Mr=[Ue,0],level:L.level++}),it=Ue,rr=!1,Li=L.parser.ruler.getRules("list");!(!(it<nt)||((ir=(br=L.skipSpaces(Bn))>=L.eMarks[it]?1:br-Bn)>4&&(ir=1),ir<1&&(ir=1),Pt=Bn-L.bMarks[it]+ir,L.tokens.push({type:"list_item_open",lines:yi=[Ue,0],level:L.level++}),ot=L.blkIndent,Nn=L.tight,Ut=L.tShift[Ue],sn=L.parentType,L.tShift[Ue]=br-L.bMarks[Ue],L.blkIndent=Pt,L.tight=!0,L.parentType="list",L.parser.tokenize(L,Ue,nt,!0),L.tight&&!rr||(Kr=!1),rr=L.line-Ue>1&&L.isEmpty(L.line-1),L.blkIndent=ot,L.tShift[Ue]=Ut,L.tight=Nn,L.parentType=sn,L.tokens.push({type:"list_item_close",level:--L.level}),it=Ue=L.line,yi[1]=it,br=L.bMarks[Ue],it>=nt)||L.isEmpty(it)||L.tShift[it]<L.blkIndent);){for(Xr=!1,Mi=0,Oi=Li.length;Mi<Oi;Mi++)if(Li[Mi](L,it,nt,!0)){Xr=!0;break}if(Xr)break;if(Nr){if((Bn=Jt(L,it))<0)break}else if((Bn=dt(L,it))<0)break;if(_r!==L.src.charCodeAt(Bn-1))break}return L.tokens.push({type:Nr?"ordered_list_close":"bullet_list_close",level:--L.level}),Mr[1]=it,L.line=it,Kr&&function(di,se){var ct,Ke,Xe=di.level+2;for(ct=se+2,Ke=di.tokens.length-2;ct<Ke;ct++)di.tokens[ct].level===Xe&&"paragraph_open"===di.tokens[ct].type&&(di.tokens[ct+2].tight=!0,di.tokens[ct].tight=!0,ct+=2)}(L,Jn),!0},["paragraph","blockquote"]],["footnote",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn=L.bMarks[Ue]+L.tShift[Ue],An=L.eMarks[Ue];if(sn+4>An||91!==L.src.charCodeAt(sn)||94!==L.src.charCodeAt(sn+1)||L.level>=L.options.maxNesting)return!1;for(ot=sn+2;ot<An;ot++){if(32===L.src.charCodeAt(ot))return!1;if(93===L.src.charCodeAt(ot))break}return ot!==sn+2&&!(ot+1>=An||58!==L.src.charCodeAt(++ot))&&(at||(ot++,L.env.footnotes||(L.env.footnotes={}),L.env.footnotes.refs||(L.env.footnotes.refs={}),Nn=L.src.slice(sn+2,ot-2),L.env.footnotes.refs[":"+Nn]=-1,L.tokens.push({type:"footnote_reference_open",label:Nn,level:L.level++}),it=L.bMarks[Ue],Pt=L.tShift[Ue],Ut=L.parentType,L.tShift[Ue]=L.skipSpaces(ot)-ot,L.bMarks[Ue]=ot,L.blkIndent+=4,L.parentType="footnote",L.tShift[Ue]<L.blkIndent&&(L.tShift[Ue]+=L.blkIndent,L.bMarks[Ue]-=L.blkIndent),L.parser.tokenize(L,Ue,nt,!0),L.parentType=Ut,L.blkIndent-=4,L.tShift[Ue]=Pt,L.bMarks[Ue]=it,L.tokens.push({type:"footnote_reference_close",level:--L.level})),!0)},["paragraph"]],["heading",function(L,Ue,nt,at){var it,Pt,Ut,ot=L.bMarks[Ue]+L.tShift[Ue],Nn=L.eMarks[Ue];if(ot>=Nn||35!==(it=L.src.charCodeAt(ot))||ot>=Nn)return!1;for(Pt=1,it=L.src.charCodeAt(++ot);35===it&&ot<Nn&&Pt<=6;)Pt++,it=L.src.charCodeAt(++ot);return!(Pt>6||ot<Nn&&32!==it||(at||(Nn=L.skipCharsBack(Nn,32,ot),(Ut=L.skipCharsBack(Nn,35,ot))>ot&&32===L.src.charCodeAt(Ut-1)&&(Nn=Ut),L.line=Ue+1,L.tokens.push({type:"heading_open",hLevel:Pt,lines:[Ue,L.line],level:L.level}),ot<Nn&&L.tokens.push({type:"inline",content:L.src.slice(ot,Nn).trim(),level:L.level+1,lines:[Ue,L.line],children:[]}),L.tokens.push({type:"heading_close",hLevel:Pt,level:L.level})),0))},["paragraph","blockquote"]],["lheading",function(L,Ue,nt){var at,it,Pt,Ut=Ue+1;return!(Ut>=nt||L.tShift[Ut]<L.blkIndent||L.tShift[Ut]-L.blkIndent>3||(it=L.bMarks[Ut]+L.tShift[Ut])>=(Pt=L.eMarks[Ut])||45!==(at=L.src.charCodeAt(it))&&61!==at||(it=L.skipChars(it,at),(it=L.skipSpaces(it))<Pt||(it=L.bMarks[Ue]+L.tShift[Ue],L.line=Ut+1,L.tokens.push({type:"heading_open",hLevel:61===at?1:2,lines:[Ue,L.line],level:L.level}),L.tokens.push({type:"inline",content:L.src.slice(it,L.eMarks[Ue]).trim(),level:L.level+1,lines:[Ue,L.line-1],children:[]}),L.tokens.push({type:"heading_close",hLevel:61===at?1:2,level:L.level}),0)))}],["htmlblock",function(L,Ue,nt,at){var it,Pt,Ut,Bn,ot=L.bMarks[Ue],Nn=L.eMarks[Ue],sn=L.tShift[Ue];if(ot+=sn,!L.options.html||sn>3||ot+2>=Nn||60!==L.src.charCodeAt(ot))return!1;if(33===(it=L.src.charCodeAt(ot+1))||63===it){if(at)return!0}else{if(47!==it&&!((Bn=32|it)>=97&&Bn<=122))return!1;if(47===it){if(!(Pt=L.src.slice(ot,Nn).match(ar)))return!1}else if(!(Pt=L.src.slice(ot,Nn).match(ln)))return!1;if(!0!==zt[Pt[1].toLowerCase()])return!1;if(at)return!0}for(Ut=Ue+1;Ut<L.lineMax&&!L.isEmpty(Ut);)Ut++;return L.line=Ut,L.tokens.push({type:"htmlblock",level:L.level,lines:[Ue,L.line],content:L.getLines(Ue,Ut,0,!0)}),!0},["paragraph","blockquote"]],["table",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r;if(Ue+2>nt||L.tShift[Nn=Ue+1]<L.blkIndent||(Ut=L.bMarks[Nn]+L.tShift[Nn])>=L.eMarks[Nn]||124!==(it=L.src.charCodeAt(Ut))&&45!==it&&58!==it||(Pt=Ln(L,Ue+1),!/^[-:| ]+$/.test(Pt))||(sn=Pt.split("|"))<=2)return!1;for(Bn=[],ot=0;ot<sn.length;ot++){if(!(ir=sn[ot].trim())){if(0===ot||ot===sn.length-1)continue;return!1}if(!/^:?-+:?$/.test(ir))return!1;58===ir.charCodeAt(ir.length-1)?Bn.push(58===ir.charCodeAt(0)?"center":"right"):58===ir.charCodeAt(0)?Bn.push("left"):Bn.push("")}if(-1===(Pt=Ln(L,Ue).trim()).indexOf("|")||(sn=Pt.replace(/^\||\|$/g,"").split("|"),Bn.length!==sn.length))return!1;if(at)return!0;for(L.tokens.push({type:"table_open",lines:mr=[Ue,0],level:L.level++}),L.tokens.push({type:"thead_open",lines:[Ue,Ue+1],level:L.level++}),L.tokens.push({type:"tr_open",lines:[Ue,Ue+1],level:L.level++}),ot=0;ot<sn.length;ot++)L.tokens.push({type:"th_open",align:Bn[ot],lines:[Ue,Ue+1],level:L.level++}),L.tokens.push({type:"inline",content:sn[ot].trim(),lines:[Ue,Ue+1],level:L.level,children:[]}),L.tokens.push({type:"th_close",level:--L.level});for(L.tokens.push({type:"tr_close",level:--L.level}),L.tokens.push({type:"thead_close",level:--L.level}),L.tokens.push({type:"tbody_open",lines:_r=[Ue+2,0],level:L.level++}),Nn=Ue+2;Nn<nt&&!(L.tShift[Nn]<L.blkIndent)&&-1!==(Pt=Ln(L,Nn).trim()).indexOf("|");Nn++){for(sn=Pt.replace(/^\||\|$/g,"").split("|"),L.tokens.push({type:"tr_open",level:L.level++}),ot=0;ot<sn.length;ot++)L.tokens.push({type:"td_open",align:Bn[ot],level:L.level++}),An=sn[ot].substring(124===sn[ot].charCodeAt(0)?1:0,124===sn[ot].charCodeAt(sn[ot].length-1)?sn[ot].length-1:sn[ot].length).trim(),L.tokens.push({type:"inline",content:An,level:L.level,children:[]}),L.tokens.push({type:"td_close",level:--L.level});L.tokens.push({type:"tr_close",level:--L.level})}return L.tokens.push({type:"tbody_close",level:--L.level}),L.tokens.push({type:"table_close",level:--L.level}),mr[1]=_r[1]=Nn,L.line=Nn,!0},["paragraph"]],["deflist",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r,Nr,br,Jn;if(at)return!(L.ddIndent<0)&&Rn(L,Ue)>=0;if(L.isEmpty(An=Ue+1)&&++An>nt||L.tShift[An]<L.blkIndent||(it=Rn(L,An))<0||L.level>=L.options.maxNesting)return!1;sn=L.tokens.length,L.tokens.push({type:"dl_open",lines:Nn=[Ue,0],level:L.level++}),Ut=Ue,Pt=An;e:for(;;){for(Jn=!0,br=!1,L.tokens.push({type:"dt_open",lines:[Ut,Ut],level:L.level++}),L.tokens.push({type:"inline",content:L.getLines(Ut,Ut+1,L.blkIndent,!1).trim(),level:L.level+1,lines:[Ut,Ut],children:[]}),L.tokens.push({type:"dt_close",level:--L.level});;){if(L.tokens.push({type:"dd_open",lines:ot=[An,0],level:L.level++}),Nr=L.tight,ir=L.ddIndent,Bn=L.blkIndent,_r=L.tShift[Pt],mr=L.parentType,L.blkIndent=L.ddIndent=L.tShift[Pt]+2,L.tShift[Pt]=it-L.bMarks[Pt],L.tight=!0,L.parentType="deflist",L.parser.tokenize(L,Pt,nt,!0),L.tight&&!br||(Jn=!1),br=L.line-Pt>1&&L.isEmpty(L.line-1),L.tShift[Pt]=_r,L.tight=Nr,L.parentType=mr,L.blkIndent=Bn,L.ddIndent=ir,L.tokens.push({type:"dd_close",level:--L.level}),ot[1]=An=L.line,An>=nt||L.tShift[An]<L.blkIndent)break e;if((it=Rn(L,An))<0)break;Pt=An}if(An>=nt||L.isEmpty(Ut=An)||L.tShift[Ut]<L.blkIndent||(Pt=Ut+1)>=nt||(L.isEmpty(Pt)&&Pt++,Pt>=nt)||L.tShift[Pt]<L.blkIndent||(it=Rn(L,Pt))<0)break}return L.tokens.push({type:"dl_close",level:--L.level}),Nn[1]=An,L.line=An,Jn&&function(rr,Mr){var yi,Li,Mi=rr.level+2;for(yi=Mr+2,Li=rr.tokens.length-2;yi<Li;yi++)rr.tokens[yi].level===Mi&&"paragraph_open"===rr.tokens[yi].type&&(rr.tokens[yi+2].tight=!0,rr.tokens[yi].tight=!0,yi+=2)}(L,sn),!0},["paragraph"]],["paragraph",function(L,Ue){var nt,at,it,Pt,Ut,ot,Nn=Ue+1;if(Nn<(nt=L.lineMax)&&!L.isEmpty(Nn))for(ot=L.parser.ruler.getRules("paragraph");Nn<nt&&!L.isEmpty(Nn);Nn++)if(!(L.tShift[Nn]-L.blkIndent>3)){for(it=!1,Pt=0,Ut=ot.length;Pt<Ut;Pt++)if(ot[Pt](L,Nn,nt,!0)){it=!0;break}if(it)break}return at=L.getLines(Ue,Nn,L.blkIndent,!1).trim(),L.line=Nn,at.length&&(L.tokens.push({type:"paragraph_open",tight:!1,lines:[Ue,L.line],level:L.level}),L.tokens.push({type:"inline",content:at,level:L.level+1,lines:[Ue,L.line],children:[]}),L.tokens.push({type:"paragraph_close",tight:!1,level:L.level})),!0}]];function Mn(){this.ruler=new fe;for(var L=0;L<er.length;L++)this.ruler.push(er[L][0],er[L][1],{alt:(er[L][2]||[]).slice()})}Mn.prototype.tokenize=function(L,Ue,nt){for(var at,it=this.ruler.getRules(""),Pt=it.length,Ut=Ue,ot=!1;Ut<nt&&(L.line=Ut=L.skipEmptyLines(Ut),!(Ut>=nt))&&!(L.tShift[Ut]<L.blkIndent);){for(at=0;at<Pt&&!it[at](L,Ut,nt,!1);at++);if(L.tight=!ot,L.isEmpty(L.line-1)&&(ot=!0),(Ut=L.line)<nt&&L.isEmpty(Ut)){if(ot=!0,++Ut<nt&&"list"===L.parentType&&L.isEmpty(Ut))break;L.line=Ut}}};var Ht=/[\n\t]/g,tr=/\r[\n\u0085]|[\u2424\u2028\u0085]/g,Yn=/\u00a0/g;function Cn(L){switch(L){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}Mn.prototype.parse=function(L,Ue,nt,at){var it,Pt=0,Ut=0;if(!L)return[];(L=(L=L.replace(Yn," ")).replace(tr,"\n")).indexOf("\t")>=0&&(L=L.replace(Ht,function(ot,Nn){var sn;return 10===L.charCodeAt(Nn)?(Pt=Nn+1,Ut=0,ot):(sn=" ".slice((Nn-Pt-Ut)%4),Ut=Nn-Pt+1,sn)})),it=new Ie(L,this,Ue,nt,at),this.tokenize(it,it.line,it.lineMax)};for(var Kt=[],dn=0;dn<256;dn++)Kt.push(0);function Kn(L){return L>=48&&L<=57||L>=65&&L<=90||L>=97&&L<=122}function qn(L,Ue){var nt,at,it,Pt=Ue,Ut=!0,ot=!0,Nn=L.posMax,sn=L.src.charCodeAt(Ue);for(nt=Ue>0?L.src.charCodeAt(Ue-1):-1;Pt<Nn&&L.src.charCodeAt(Pt)===sn;)Pt++;return Pt>=Nn&&(Ut=!1),(it=Pt-Ue)>=4?Ut=ot=!1:(32!==(at=Pt<Nn?L.src.charCodeAt(Pt):-1)&&10!==at||(Ut=!1),32!==nt&&10!==nt||(ot=!1),95===sn&&(Kn(nt)&&(Ut=!1),Kn(at)&&(ot=!1))),{can_open:Ut,can_close:ot,delims:it}}"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(L){Kt[L.charCodeAt(0)]=1});var Sn=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g,$n=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g,En=["coap","doi","javascript","aaa","aaas","about","acap","cap","cid","crid","data","dav","dict","dns","file","ftp","geo","go","gopher","h323","http","https","iax","icap","im","imap","info","ipp","iris","iris.beep","iris.xpc","iris.xpcs","iris.lwz","ldap","mailto","mid","msrp","msrps","mtqp","mupdate","news","nfs","ni","nih","nntp","opaquelocktoken","pop","pres","rtsp","service","session","shttp","sieve","sip","sips","sms","snmp","soap.beep","soap.beeps","tag","tel","telnet","tftp","thismessage","tn3270","tip","tv","urn","vemmi","ws","wss","xcon","xcon-userid","xmlrpc.beep","xmlrpc.beeps","xmpp","z39.50r","z39.50s","adiumxtra","afp","afs","aim","apt","attachment","aw","beshare","bitcoin","bolo","callto","chrome","chrome-extension","com-eventbrite-attendee","content","cvs","dlna-playsingle","dlna-playcontainer","dtn","dvb","ed2k","facetime","feed","finger","fish","gg","git","gizmoproject","gtalk","hcp","icon","ipn","irc","irc6","ircs","itms","jar","jms","keyparc","lastfm","ldaps","magnet","maps","market","message","mms","ms-help","msnim","mumble","mvn","notes","oid","palm","paparazzi","platform","proxy","psyc","query","res","resource","rmi","rsync","rtmp","secondlife","sftp","sgn","skype","smb","soldat","spotify","ssh","steam","svn","teamspeak","things","udp","unreal","ut2004","ventrilo","view-source","webcal","wtai","wyciwyg","xfire","xri","ymsgr"],Fn=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,Dn=/^<([a-zA-Z.\-]{1,25}):([^<>\x00-\x20]*)>/;function mn(L,Ue){return L=L.source,Ue=Ue||"",function nt(at,it){return at?(L=L.replace(at,it=it.source||it),nt):new RegExp(L,Ue)}}var jn=mn(/(?:unquoted|single_quoted|double_quoted)/)("unquoted",/[^"'=<>`\x00-\x20]+/)("single_quoted",/'[^']*'/)("double_quoted",/"[^"]*"/)(),Xt=mn(/(?:\s+attr_name(?:\s*=\s*attr_value)?)/)("attr_name",/[a-zA-Z_:][a-zA-Z0-9:._-]*/)("attr_value",jn)(),ut=mn(/<[A-Za-z][A-Za-z0-9]*attribute*\s*\/?>/)("attribute",Xt)(),mt=mn(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)("open_tag",ut)("close_tag",/<\/[A-Za-z][A-Za-z0-9]*\s*>/)("comment",/<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/)("processing",/<[?].*?[?]>/)("declaration",/<![A-Z]+\s+[^>]*>/)("cdata",/<!\[CDATA\[[\s\S]*?\]\]>/)(),Tt=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,yn=/^&([a-z][a-z0-9]{1,31});/i,et=[["text",function(L,Ue){for(var nt=L.pos;nt<L.posMax&&!Cn(L.src.charCodeAt(nt));)nt++;return nt!==L.pos&&(Ue||(L.pending+=L.src.slice(L.pos,nt)),L.pos=nt,!0)}],["newline",function(L,Ue){var nt,at,it=L.pos;if(10!==L.src.charCodeAt(it))return!1;if(nt=L.pending.length-1,at=L.posMax,!Ue)if(nt>=0&&32===L.pending.charCodeAt(nt))if(nt>=1&&32===L.pending.charCodeAt(nt-1)){for(var Pt=nt-2;Pt>=0;Pt--)if(32!==L.pending.charCodeAt(Pt)){L.pending=L.pending.substring(0,Pt+1);break}L.push({type:"hardbreak",level:L.level})}else L.pending=L.pending.slice(0,-1),L.push({type:"softbreak",level:L.level});else L.push({type:"softbreak",level:L.level});for(it++;it<at&&32===L.src.charCodeAt(it);)it++;return L.pos=it,!0}],["escape",function(L,Ue){var nt,at=L.pos,it=L.posMax;if(92!==L.src.charCodeAt(at))return!1;if(++at<it){if((nt=L.src.charCodeAt(at))<256&&0!==Kt[nt])return Ue||(L.pending+=L.src[at]),L.pos+=2,!0;if(10===nt){for(Ue||L.push({type:"hardbreak",level:L.level}),at++;at<it&&32===L.src.charCodeAt(at);)at++;return L.pos=at,!0}}return Ue||(L.pending+="\\"),L.pos++,!0}],["backticks",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.pos;if(96!==L.src.charCodeAt(ot))return!1;for(nt=ot,ot++,at=L.posMax;ot<at&&96===L.src.charCodeAt(ot);)ot++;for(it=L.src.slice(nt,ot),Pt=Ut=ot;-1!==(Pt=L.src.indexOf("`",Ut));){for(Ut=Pt+1;Ut<at&&96===L.src.charCodeAt(Ut);)Ut++;if(Ut-Pt===it.length)return Ue||L.push({type:"code",content:L.src.slice(ot,Pt).replace(/[ \n]+/g," ").trim(),block:!1,level:L.level}),L.pos=Ut,!0}return Ue||(L.pending+=it),L.pos+=it.length,!0}],["del",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.posMax,Nn=L.pos;if(126!==L.src.charCodeAt(Nn)||Ue||Nn+4>=ot||126!==L.src.charCodeAt(Nn+1)||L.level>=L.options.maxNesting||(Pt=Nn>0?L.src.charCodeAt(Nn-1):-1,Ut=L.src.charCodeAt(Nn+2),126===Pt)||126===Ut||32===Ut||10===Ut)return!1;for(at=Nn+2;at<ot&&126===L.src.charCodeAt(at);)at++;if(at>Nn+3)return L.pos+=at-Nn,Ue||(L.pending+=L.src.slice(Nn,at)),!0;for(L.pos=Nn+2,it=1;L.pos+1<ot;){if(126===L.src.charCodeAt(L.pos)&&126===L.src.charCodeAt(L.pos+1)&&(Pt=L.src.charCodeAt(L.pos-1),126!==(Ut=L.pos+2<ot?L.src.charCodeAt(L.pos+2):-1)&&126!==Pt&&(32!==Pt&&10!==Pt?it--:32!==Ut&&10!==Ut&&it++,it<=0))){nt=!0;break}L.parser.skipToken(L)}return nt?(L.posMax=L.pos,L.pos=Nn+2,Ue||(L.push({type:"del_open",level:L.level++}),L.parser.tokenize(L),L.push({type:"del_close",level:--L.level})),L.pos=L.posMax+2,L.posMax=ot,!0):(L.pos=Nn,!1)}],["ins",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.posMax,Nn=L.pos;if(43!==L.src.charCodeAt(Nn)||Ue||Nn+4>=ot||43!==L.src.charCodeAt(Nn+1)||L.level>=L.options.maxNesting||(Pt=Nn>0?L.src.charCodeAt(Nn-1):-1,Ut=L.src.charCodeAt(Nn+2),43===Pt)||43===Ut||32===Ut||10===Ut)return!1;for(at=Nn+2;at<ot&&43===L.src.charCodeAt(at);)at++;if(at!==Nn+2)return L.pos+=at-Nn,Ue||(L.pending+=L.src.slice(Nn,at)),!0;for(L.pos=Nn+2,it=1;L.pos+1<ot;){if(43===L.src.charCodeAt(L.pos)&&43===L.src.charCodeAt(L.pos+1)&&(Pt=L.src.charCodeAt(L.pos-1),43!==(Ut=L.pos+2<ot?L.src.charCodeAt(L.pos+2):-1)&&43!==Pt&&(32!==Pt&&10!==Pt?it--:32!==Ut&&10!==Ut&&it++,it<=0))){nt=!0;break}L.parser.skipToken(L)}return nt?(L.posMax=L.pos,L.pos=Nn+2,Ue||(L.push({type:"ins_open",level:L.level++}),L.parser.tokenize(L),L.push({type:"ins_close",level:--L.level})),L.pos=L.posMax+2,L.posMax=ot,!0):(L.pos=Nn,!1)}],["mark",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.posMax,Nn=L.pos;if(61!==L.src.charCodeAt(Nn)||Ue||Nn+4>=ot||61!==L.src.charCodeAt(Nn+1)||L.level>=L.options.maxNesting||(Pt=Nn>0?L.src.charCodeAt(Nn-1):-1,Ut=L.src.charCodeAt(Nn+2),61===Pt)||61===Ut||32===Ut||10===Ut)return!1;for(at=Nn+2;at<ot&&61===L.src.charCodeAt(at);)at++;if(at!==Nn+2)return L.pos+=at-Nn,Ue||(L.pending+=L.src.slice(Nn,at)),!0;for(L.pos=Nn+2,it=1;L.pos+1<ot;){if(61===L.src.charCodeAt(L.pos)&&61===L.src.charCodeAt(L.pos+1)&&(Pt=L.src.charCodeAt(L.pos-1),61!==(Ut=L.pos+2<ot?L.src.charCodeAt(L.pos+2):-1)&&61!==Pt&&(32!==Pt&&10!==Pt?it--:32!==Ut&&10!==Ut&&it++,it<=0))){nt=!0;break}L.parser.skipToken(L)}return nt?(L.posMax=L.pos,L.pos=Nn+2,Ue||(L.push({type:"mark_open",level:L.level++}),L.parser.tokenize(L),L.push({type:"mark_close",level:--L.level})),L.pos=L.posMax+2,L.posMax=ot,!0):(L.pos=Nn,!1)}],["emphasis",function(L,Ue){var nt,at,it,Pt,Ut,ot,Nn,sn=L.posMax,An=L.pos,Bn=L.src.charCodeAt(An);if(95!==Bn&&42!==Bn||Ue)return!1;if(nt=(Nn=qn(L,An)).delims,!Nn.can_open)return L.pos+=nt,Ue||(L.pending+=L.src.slice(An,L.pos)),!0;if(L.level>=L.options.maxNesting)return!1;for(L.pos=An+nt,ot=[nt];L.pos<sn;)if(L.src.charCodeAt(L.pos)!==Bn)L.parser.skipToken(L);else{if(at=(Nn=qn(L,L.pos)).delims,Nn.can_close){for(Pt=ot.pop(),Ut=at;Pt!==Ut;){if(Ut<Pt){ot.push(Pt-Ut);break}if(Ut-=Pt,0===ot.length)break;L.pos+=Pt,Pt=ot.pop()}if(0===ot.length){nt=Pt,it=!0;break}L.pos+=at;continue}Nn.can_open&&ot.push(at),L.pos+=at}return it?(L.posMax=L.pos,L.pos=An+nt,Ue||(2!==nt&&3!==nt||L.push({type:"strong_open",level:L.level++}),1!==nt&&3!==nt||L.push({type:"em_open",level:L.level++}),L.parser.tokenize(L),1!==nt&&3!==nt||L.push({type:"em_close",level:--L.level}),2!==nt&&3!==nt||L.push({type:"strong_close",level:--L.level})),L.pos=L.posMax+nt,L.posMax=sn,!0):(L.pos=An,!1)}],["sub",function(L,Ue){var nt,at,it=L.posMax,Pt=L.pos;if(126!==L.src.charCodeAt(Pt)||Ue||Pt+2>=it||L.level>=L.options.maxNesting)return!1;for(L.pos=Pt+1;L.pos<it;){if(126===L.src.charCodeAt(L.pos)){nt=!0;break}L.parser.skipToken(L)}return nt&&Pt+1!==L.pos?(at=L.src.slice(Pt+1,L.pos)).match(/(^|[^\\])(\\\\)*\s/)?(L.pos=Pt,!1):(L.posMax=L.pos,L.pos=Pt+1,Ue||L.push({type:"sub",level:L.level,content:at.replace(Sn,"$1")}),L.pos=L.posMax+1,L.posMax=it,!0):(L.pos=Pt,!1)}],["sup",function(L,Ue){var nt,at,it=L.posMax,Pt=L.pos;if(94!==L.src.charCodeAt(Pt)||Ue||Pt+2>=it||L.level>=L.options.maxNesting)return!1;for(L.pos=Pt+1;L.pos<it;){if(94===L.src.charCodeAt(L.pos)){nt=!0;break}L.parser.skipToken(L)}return nt&&Pt+1!==L.pos?(at=L.src.slice(Pt+1,L.pos)).match(/(^|[^\\])(\\\\)*\s/)?(L.pos=Pt,!1):(L.posMax=L.pos,L.pos=Pt+1,Ue||L.push({type:"sup",level:L.level,content:at.replace($n,"$1")}),L.pos=L.posMax+1,L.posMax=it,!0):(L.pos=Pt,!1)}],["links",function(L,Ue){var nt,at,it,Pt,Ut,ot,Nn,sn,An=!1,Bn=L.pos,ir=L.posMax,mr=L.pos,_r=L.src.charCodeAt(mr);if(33===_r&&(An=!0,_r=L.src.charCodeAt(++mr)),91!==_r||L.level>=L.options.maxNesting||(nt=mr+1,(at=he(L,mr))<0))return!1;if((ot=at+1)<ir&&40===L.src.charCodeAt(ot)){for(ot++;ot<ir&&(32===(sn=L.src.charCodeAt(ot))||10===sn);ot++);if(ot>=ir)return!1;for(mr=ot,Se(L,ot)?(Pt=L.linkContent,ot=L.pos):Pt="",mr=ot;ot<ir&&(32===(sn=L.src.charCodeAt(ot))||10===sn);ot++);if(ot<ir&&mr!==ot&&Oe(L,ot))for(Ut=L.linkContent,ot=L.pos;ot<ir&&(32===(sn=L.src.charCodeAt(ot))||10===sn);ot++);else Ut="";if(ot>=ir||41!==L.src.charCodeAt(ot))return L.pos=Bn,!1;ot++}else{if(L.linkLevel>0)return!1;for(;ot<ir&&(32===(sn=L.src.charCodeAt(ot))||10===sn);ot++);if(ot<ir&&91===L.src.charCodeAt(ot)&&(mr=ot+1,(ot=he(L,ot))>=0?it=L.src.slice(mr,ot++):ot=mr-1),it||(void 0===it&&(ot=at+1),it=L.src.slice(nt,at)),!(Nn=L.env.references[be(it)]))return L.pos=Bn,!1;Pt=Nn.href,Ut=Nn.title}return Ue||(L.pos=nt,L.posMax=at,An?L.push({type:"image",src:Pt,title:Ut,alt:L.src.substr(nt,at-nt),level:L.level}):(L.push({type:"link_open",href:Pt,title:Ut,level:L.level++}),L.linkLevel++,L.parser.tokenize(L),L.linkLevel--,L.push({type:"link_close",level:--L.level}))),L.pos=ot,L.posMax=ir,!0}],["footnote_inline",function(L,Ue){var nt,at,it,Pt,Ut=L.posMax,ot=L.pos;return!(ot+2>=Ut||94!==L.src.charCodeAt(ot)||91!==L.src.charCodeAt(ot+1)||L.level>=L.options.maxNesting||(nt=ot+2,(at=he(L,ot+1))<0||(Ue||(L.env.footnotes||(L.env.footnotes={}),L.env.footnotes.list||(L.env.footnotes.list=[]),it=L.env.footnotes.list.length,L.pos=nt,L.posMax=at,L.push({type:"footnote_ref",id:it,level:L.level}),L.linkLevel++,Pt=L.tokens.length,L.parser.tokenize(L),L.env.footnotes.list[it]={tokens:L.tokens.splice(Pt)},L.linkLevel--),L.pos=at+1,L.posMax=Ut,0)))}],["footnote_ref",function(L,Ue){var nt,at,it,Pt,Ut=L.posMax,ot=L.pos;if(ot+3>Ut||!L.env.footnotes||!L.env.footnotes.refs||91!==L.src.charCodeAt(ot)||94!==L.src.charCodeAt(ot+1)||L.level>=L.options.maxNesting)return!1;for(at=ot+2;at<Ut;at++){if(32===L.src.charCodeAt(at)||10===L.src.charCodeAt(at))return!1;if(93===L.src.charCodeAt(at))break}return!(at===ot+2||at>=Ut||(at++,nt=L.src.slice(ot+2,at-1),void 0===L.env.footnotes.refs[":"+nt]||(Ue||(L.env.footnotes.list||(L.env.footnotes.list=[]),L.env.footnotes.refs[":"+nt]<0?(it=L.env.footnotes.list.length,L.env.footnotes.list[it]={label:nt,count:0},L.env.footnotes.refs[":"+nt]=it):it=L.env.footnotes.refs[":"+nt],Pt=L.env.footnotes.list[it].count,L.env.footnotes.list[it].count++,L.push({type:"footnote_ref",id:it,subId:Pt,level:L.level})),L.pos=at,L.posMax=Ut,0)))}],["autolink",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.pos;return!(60!==L.src.charCodeAt(ot)||(nt=L.src.slice(ot)).indexOf(">")<0||((at=nt.match(Dn))?En.indexOf(at[1].toLowerCase())<0||(Ut=Ae(Pt=at[0].slice(1,-1)),!L.parser.validateLink(Pt)||(Ue||(L.push({type:"link_open",href:Ut,level:L.level}),L.push({type:"text",content:Pt,level:L.level+1}),L.push({type:"link_close",level:L.level})),L.pos+=at[0].length,0)):!(it=nt.match(Fn))||(Ut=Ae("mailto:"+(Pt=it[0].slice(1,-1))),!L.parser.validateLink(Ut)||(Ue||(L.push({type:"link_open",href:Ut,level:L.level}),L.push({type:"text",content:Pt,level:L.level+1}),L.push({type:"link_close",level:L.level})),L.pos+=it[0].length,0))))}],["htmltag",function(L,Ue){var nt,at,it,Ut,ot,Pt=L.pos;return!(!L.options.html||(it=L.posMax,60!==L.src.charCodeAt(Pt)||Pt+2>=it||33!==(nt=L.src.charCodeAt(Pt+1))&&63!==nt&&47!==nt&&(Ut=nt,ot=32|Ut,!(ot>=97&&ot<=122))||!(at=L.src.slice(Pt).match(mt))||(Ue||L.push({type:"htmltag",content:L.src.slice(Pt,Pt+at[0].length),level:L.level}),L.pos+=at[0].length,0)))}],["entity",function(L,Ue){var nt,at,it=L.pos,Pt=L.posMax;if(38!==L.src.charCodeAt(it))return!1;if(it+1<Pt)if(35===L.src.charCodeAt(it+1)){if(at=L.src.slice(it).match(Tt))return Ue||(nt="x"===at[1][0].toLowerCase()?parseInt(at[1].slice(1),16):parseInt(at[1],10),L.pending+=m(nt)?b(nt):b(65533)),L.pos+=at[0].length,!0}else if(at=L.src.slice(it).match(yn)){var Ut=s(at[1]);if(at[1]!==Ut)return Ue||(L.pending+=Ut),L.pos+=at[0].length,!0}return Ue||(L.pending+="&"),L.pos++,!0}]];function jt(){this.ruler=new fe;for(var L=0;L<et.length;L++)this.ruler.push(et[L][0],et[L][1]);this.validateLink=hn}function hn(L){var Ue=L.trim().toLowerCase();return-1===(Ue=j(Ue)).indexOf(":")||-1===["vbscript","javascript","file","data"].indexOf(Ue.split(":")[0])}jt.prototype.skipToken=function(L){var Ue,nt,at=this.ruler.getRules(""),it=at.length,Pt=L.pos;if((nt=L.cacheGet(Pt))>0)L.pos=nt;else{for(Ue=0;Ue<it;Ue++)if(at[Ue](L,!0))return void L.cacheSet(Pt,L.pos);L.pos++,L.cacheSet(Pt,L.pos)}},jt.prototype.tokenize=function(L){for(var Ue,nt,at=this.ruler.getRules(""),it=at.length,Pt=L.posMax;L.pos<Pt;){for(nt=0;nt<it&&!(Ue=at[nt](L,!1));nt++);if(Ue){if(L.pos>=Pt)break}else L.pending+=L.src[L.pos++]}L.pending&&L.pushPending()},jt.prototype.parse=function(L,Ue,nt,at){var it=new ne(L,this,Ue,nt,at);this.tokenize(it)};var Qn={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","replacements","smartquotes","references","abbr2","footnote_tail"]},block:{rules:["blockquote","code","fences","footnote","heading","hr","htmlblock","lheading","list","paragraph","table"]},inline:{rules:["autolink","backticks","del","emphasis","entity","escape","footnote_ref","htmltag","links","newline","text"]}}},full:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","abbr2"]},block:{rules:["blockquote","code","fences","heading","hr","htmlblock","lheading","list","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","htmltag","links","newline","text"]}}}};function Ir(L,Ue,nt){this.src=Ue,this.env=nt,this.options=L.options,this.tokens=[],this.inlineMode=!1,this.inline=L.inline,this.block=L.block,this.renderer=L.renderer,this.typographer=L.typographer}function ht(L,Ue){"string"!=typeof L&&(Ue=L,L="default"),Ue&&null!=Ue.linkify&&console.warn("linkify option is removed. Use linkify plugin instead:\n\nimport Remarkable from 'remarkable';\nimport linkify from 'remarkable/linkify';\nnew Remarkable().use(linkify)\n"),this.inline=new jt,this.block=new Mn,this.core=new ae,this.renderer=new oe,this.ruler=new fe,this.options={},this.configure(Qn[L]),this.set(Ue||{})}ht.prototype.set=function(L){u(this.options,L)},ht.prototype.configure=function(L){var Ue=this;if(!L)throw new Error("Wrong `remarkable` preset, check name/content");L.options&&Ue.set(L.options),L.components&&Object.keys(L.components).forEach(function(nt){L.components[nt].rules&&Ue[nt].ruler.enable(L.components[nt].rules,!0)})},ht.prototype.use=function(L,Ue){return L(this,Ue),this},ht.prototype.parse=function(L,Ue){var nt=new Ir(this,L,Ue);return this.core.process(nt),nt.tokens},ht.prototype.render=function(L,Ue){return this.renderer.render(this.parse(L,Ue=Ue||{}),this.options,Ue)},ht.prototype.parseInline=function(L,Ue){var nt=new Ir(this,L,Ue);return nt.inlineMode=!0,this.core.process(nt),nt.tokens},ht.prototype.renderInline=function(L,Ue){return this.renderer.render(this.parseInline(L,Ue=Ue||{}),this.options,Ue)}},function(g,o,t){"use strict";t.d(o,"b",function(){return jn});var e=t(0),s=t.n(e),a=(t(11),t(204));function l(Xt,ut){if(Array.prototype.indexOf)return Xt.indexOf(ut);for(var mt=0,Tt=Xt.length;mt<Tt;mt++)if(Xt[mt]===ut)return mt;return-1}function u(Xt,ut){for(var mt=Xt.length-1;mt>=0;mt--)!0===ut(Xt[mt])&&Xt.splice(mt,1)}function h(Xt){throw new Error("Unhandled case for value: '"+Xt+"'")}var _=function(){function Xt(ut){void 0===ut&&(ut={}),this.tagName="",this.attrs={},this.innerHTML="",this.whitespaceRegex=/\s+/,this.tagName=ut.tagName||"",this.attrs=ut.attrs||{},this.innerHTML=ut.innerHtml||ut.innerHTML||""}return Xt.prototype.setTagName=function(ut){return this.tagName=ut,this},Xt.prototype.getTagName=function(){return this.tagName||""},Xt.prototype.setAttr=function(ut,mt){return this.getAttrs()[ut]=mt,this},Xt.prototype.getAttr=function(ut){return this.getAttrs()[ut]},Xt.prototype.setAttrs=function(ut){return Object.assign(this.getAttrs(),ut),this},Xt.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},Xt.prototype.setClass=function(ut){return this.setAttr("class",ut)},Xt.prototype.addClass=function(ut){for(var mt,Tt=this.getClass(),yn=this.whitespaceRegex,et=Tt?Tt.split(yn):[],jt=ut.split(yn);mt=jt.shift();)-1===l(et,mt)&&et.push(mt);return this.getAttrs().class=et.join(" "),this},Xt.prototype.removeClass=function(ut){for(var mt,Tt=this.getClass(),yn=this.whitespaceRegex,et=Tt?Tt.split(yn):[],jt=ut.split(yn);et.length&&(mt=jt.shift());){var hn=l(et,mt);-1!==hn&&et.splice(hn,1)}return this.getAttrs().class=et.join(" "),this},Xt.prototype.getClass=function(){return this.getAttrs().class||""},Xt.prototype.hasClass=function(ut){return-1!==(" "+this.getClass()+" ").indexOf(" "+ut+" ")},Xt.prototype.setInnerHTML=function(ut){return this.innerHTML=ut,this},Xt.prototype.setInnerHtml=function(ut){return this.setInnerHTML(ut)},Xt.prototype.getInnerHTML=function(){return this.innerHTML||""},Xt.prototype.getInnerHtml=function(){return this.getInnerHTML()},Xt.prototype.toAnchorString=function(){var ut=this.getTagName(),mt=this.buildAttrsStr();return["<",ut,mt=mt?" "+mt:"",">",this.getInnerHtml(),"</",ut,">"].join("")},Xt.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var ut=this.getAttrs(),mt=[];for(var Tt in ut)ut.hasOwnProperty(Tt)&&mt.push(Tt+'="'+ut[Tt]+'"');return mt.join(" ")},Xt}(),m=function(){function Xt(ut){void 0===ut&&(ut={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=ut.newWindow||!1,this.truncate=ut.truncate||{},this.className=ut.className||""}return Xt.prototype.build=function(ut){return new _({tagName:"a",attrs:this.createAttrs(ut),innerHtml:this.processAnchorText(ut.getAnchorText())})},Xt.prototype.createAttrs=function(ut){var mt={href:ut.getAnchorHref()},Tt=this.createCssClass(ut);return Tt&&(mt.class=Tt),this.newWindow&&(mt.target="_blank",mt.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<ut.getAnchorText().length&&(mt.title=ut.getAnchorHref()),mt},Xt.prototype.createCssClass=function(ut){var mt=this.className;if(mt){for(var Tt=[mt],yn=ut.getCssClassSuffixes(),et=0,jt=yn.length;et<jt;et++)Tt.push(mt+"-"+yn[et]);return Tt.join(" ")}return""},Xt.prototype.processAnchorText=function(ut){return this.doTruncate(ut)},Xt.prototype.doTruncate=function(ut){var mt=this.truncate;if(!mt||!mt.length)return ut;var Qn,Ir,ht,L,Tt=mt.length,yn=mt.location;return"smart"===yn?function(et,jt,hn){var Qn,Ir;null==hn?(hn="…",Ir=3,Qn=8):(Ir=hn.length,Qn=hn.length);var ht=function(sn){var An="";return sn.scheme&&sn.host&&(An+=sn.scheme+"://"),sn.host&&(An+=sn.host),sn.path&&(An+="/"+sn.path),sn.query&&(An+="?"+sn.query),sn.fragment&&(An+="#"+sn.fragment),An},L=function(sn,An){var Bn=An/2,ir=Math.ceil(Bn),mr=-1*Math.floor(Bn),_r="";return mr<0&&(_r=sn.substr(mr)),sn.substr(0,ir)+hn+_r};if(et.length<=jt)return et;var An,Bn,ir,Ue=jt-Ir,nt=(An={},(ir=(Bn=et).match(/^([a-z]+):\/\//i))&&(An.scheme=ir[1],Bn=Bn.substr(ir[0].length)),(ir=Bn.match(/^(.*?)(?=(\?|#|\/|$))/i))&&(An.host=ir[1],Bn=Bn.substr(ir[0].length)),(ir=Bn.match(/^\/(.*?)(?=(\?|#|$))/i))&&(An.path=ir[1],Bn=Bn.substr(ir[0].length)),(ir=Bn.match(/^\?(.*?)(?=(#|$))/i))&&(An.query=ir[1],Bn=Bn.substr(ir[0].length)),(ir=Bn.match(/^#(.*?)$/i))&&(An.fragment=ir[1]),An);if(nt.query){var at=nt.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);at&&(nt.query=nt.query.substr(0,at[1].length),et=ht(nt))}if(et.length<=jt||(nt.host&&(nt.host=nt.host.replace(/^www\./,""),et=ht(nt)),et.length<=jt))return et;var it="";if(nt.host&&(it+=nt.host),it.length>=Ue)return nt.host.length==jt?(nt.host.substr(0,jt-Ir)+hn).substr(0,Ue+Qn):L(it,Ue).substr(0,Ue+Qn);var Pt="";if(nt.path&&(Pt+="/"+nt.path),nt.query&&(Pt+="?"+nt.query),Pt){if((it+Pt).length>=Ue)return(it+Pt).length==jt?(it+Pt).substr(0,jt):(it+L(Pt,Ue-it.length)).substr(0,Ue+Qn);it+=Pt}if(nt.fragment){var Ut="#"+nt.fragment;if((it+Ut).length>=Ue)return(it+Ut).length==jt?(it+Ut).substr(0,jt):(it+L(Ut,Ue-it.length)).substr(0,Ue+Qn);it+=Ut}if(nt.scheme&&nt.host){var ot=nt.scheme+"://";if((it+ot).length<Ue)return(ot+it).substr(0,jt)}if(it.length<=jt)return it;var Nn="";return Ue>0&&(Nn=it.substr(-1*Math.floor(Ue/2))),(it.substr(0,Math.ceil(Ue/2))+hn+Nn).substr(0,Ue+Qn)}(ut,Tt):"middle"===yn?function(et,jt,hn){if(et.length<=jt)return et;var Qn,Ir;null==hn?(hn="…",Qn=8,Ir=3):(Qn=hn.length,Ir=hn.length);var ht=jt-Ir,L="";return ht>0&&(L=et.substr(-1*Math.floor(ht/2))),(et.substr(0,Math.ceil(ht/2))+hn+L).substr(0,ht+Qn)}(ut,Tt):(ht=void 0,(Qn=ut).length>(Ir=Tt)&&(null==ht?(ht="…",L=3):L=ht.length,Qn=Qn.substring(0,Ir-L)+ht),Qn)},Xt}(),b=function(){function Xt(ut){this.__jsduckDummyDocProp=null,this.matchedText="",this.offset=0,this.tagBuilder=ut.tagBuilder,this.matchedText=ut.matchedText,this.offset=ut.offset}return Xt.prototype.getMatchedText=function(){return this.matchedText},Xt.prototype.setOffset=function(ut){this.offset=ut},Xt.prototype.getOffset=function(){return this.offset},Xt.prototype.getCssClassSuffixes=function(){return[this.getType()]},Xt.prototype.buildTag=function(){return this.tagBuilder.build(this)},Xt}(),T=function(Xt,ut){return(T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(mt,Tt){mt.__proto__=Tt}||function(mt,Tt){for(var yn in Tt)Tt.hasOwnProperty(yn)&&(mt[yn]=Tt[yn])})(Xt,ut)};function D(Xt,ut){function mt(){this.constructor=Xt}T(Xt,ut),Xt.prototype=null===ut?Object.create(ut):(mt.prototype=ut.prototype,new mt)}var j,R=function(){return(R=Object.assign||function(Xt){for(var ut,mt=1,Tt=arguments.length;mt<Tt;mt++)for(var yn in ut=arguments[mt])Object.prototype.hasOwnProperty.call(ut,yn)&&(Xt[yn]=ut[yn]);return Xt}).apply(this,arguments)},H=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.email="",Tt.email=mt.email,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"email"},ut.prototype.getEmail=function(){return this.email},ut.prototype.getAnchorHref=function(){return"mailto:"+this.email},ut.prototype.getAnchorText=function(){return this.email},ut}(b),z=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.serviceName="",Tt.hashtag="",Tt.serviceName=mt.serviceName,Tt.hashtag=mt.hashtag,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"hashtag"},ut.prototype.getServiceName=function(){return this.serviceName},ut.prototype.getHashtag=function(){return this.hashtag},ut.prototype.getAnchorHref=function(){var mt=this.serviceName,Tt=this.hashtag;switch(mt){case"twitter":return"https://twitter.com/hashtag/"+Tt;case"facebook":return"https://www.facebook.com/hashtag/"+Tt;case"instagram":return"https://instagram.com/explore/tags/"+Tt;default:throw new Error("Unknown service name to point hashtag to: "+mt)}},ut.prototype.getAnchorText=function(){return"#"+this.hashtag},ut}(b),U=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.serviceName="twitter",Tt.mention="",Tt.mention=mt.mention,Tt.serviceName=mt.serviceName,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"mention"},ut.prototype.getMention=function(){return this.mention},ut.prototype.getServiceName=function(){return this.serviceName},ut.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},ut.prototype.getAnchorText=function(){return"@"+this.mention},ut.prototype.getCssClassSuffixes=function(){var mt=Xt.prototype.getCssClassSuffixes.call(this),Tt=this.getServiceName();return Tt&&mt.push(Tt),mt},ut}(b),M=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.number="",Tt.plusSign=!1,Tt.number=mt.number,Tt.plusSign=mt.plusSign,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"phone"},ut.prototype.getPhoneNumber=function(){return this.number},ut.prototype.getNumber=function(){return this.getPhoneNumber()},ut.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},ut.prototype.getAnchorText=function(){return this.matchedText},ut}(b),I=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.url="",Tt.urlMatchType="scheme",Tt.protocolUrlMatch=!1,Tt.protocolRelativeMatch=!1,Tt.stripPrefix={scheme:!0,www:!0},Tt.stripTrailingSlash=!0,Tt.decodePercentEncoding=!0,Tt.schemePrefixRegex=/^(https?:\/\/)?/i,Tt.wwwPrefixRegex=/^(https?:\/\/)?(www\.)?/i,Tt.protocolRelativeRegex=/^\/\//,Tt.protocolPrepended=!1,Tt.urlMatchType=mt.urlMatchType,Tt.url=mt.url,Tt.protocolUrlMatch=mt.protocolUrlMatch,Tt.protocolRelativeMatch=mt.protocolRelativeMatch,Tt.stripPrefix=mt.stripPrefix,Tt.stripTrailingSlash=mt.stripTrailingSlash,Tt.decodePercentEncoding=mt.decodePercentEncoding,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"url"},ut.prototype.getUrlMatchType=function(){return this.urlMatchType},ut.prototype.getUrl=function(){var mt=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(mt=this.url="http://"+mt,this.protocolPrepended=!0),mt},ut.prototype.getAnchorHref=function(){return this.getUrl().replace(/&/g,"&")},ut.prototype.getAnchorText=function(){var mt=this.getMatchedText();return this.protocolRelativeMatch&&(mt=this.stripProtocolRelativePrefix(mt)),this.stripPrefix.scheme&&(mt=this.stripSchemePrefix(mt)),this.stripPrefix.www&&(mt=this.stripWwwPrefix(mt)),this.stripTrailingSlash&&(mt=this.removeTrailingSlash(mt)),this.decodePercentEncoding&&(mt=this.removePercentEncoding(mt)),mt},ut.prototype.stripSchemePrefix=function(mt){return mt.replace(this.schemePrefixRegex,"")},ut.prototype.stripWwwPrefix=function(mt){return mt.replace(this.wwwPrefixRegex,"$1")},ut.prototype.stripProtocolRelativePrefix=function(mt){return mt.replace(this.protocolRelativeRegex,"")},ut.prototype.removeTrailingSlash=function(mt){return"/"===mt.charAt(mt.length-1)&&(mt=mt.slice(0,-1)),mt},ut.prototype.removePercentEncoding=function(mt){var Tt=mt.replace(/%22/gi,""").replace(/%26/gi,"&").replace(/%27/gi,"'").replace(/%3C/gi,"<").replace(/%3E/gi,">");try{return decodeURIComponent(Tt)}catch(yn){return Tt}},ut}(b),J=function(Xt){this.__jsduckDummyDocProp=null,this.tagBuilder=Xt.tagBuilder},B=/[A-Za-z]/,ie=/[\d]/,oe=/[\D]/,fe=/\s/,ne=/['"]/,he=/[\x00-\x1F\x7F]/,ce=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,Ae=ce+/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source+/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,Se=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,Oe=Ae+Se,be=Ae+Se,ue="(?:["+Se+"]{1,3}\\.){3}["+Se+"]{1,3}",He="["+be+"](?:["+be+"\\-]{0,61}["+be+"])?",$e=function(Xt){return"(?=("+He+"))\\"+Xt},F=function(Xt){return"(?:"+$e(Xt)+"(?:\\."+$e(Xt+1)+"){0,126}|"+ue+")"},je=(new RegExp("["+be+".\\-]*["+be+"\\-]"),new RegExp("["+be+"]")),Et=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|verm\xf6gensberatung|xn--3oq18vl8pn36a|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|verm\xf6gensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|spreadbetting|travelchannel|wolterskluwer|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|rightathome|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pbt977c|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nationwide|newholland|nextdirect|onyourside|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|telefonica|university|vistaprint|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|fujixerox|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|honeywell|institute|insurance|kuokgroup|ladbrokes|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--tckwe|xn--vhquv|yodobashi|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|chrysler|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|esurance|etisalat|everbank|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|movistar|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|symantec|training|uconnect|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|cartier|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|iselect|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lancome|lanxess|lasalle|latrobe|leclerc|liaison|limited|lincoln|markets|metlife|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|shriram|singles|staples|starhub|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|\u043a\u0430\u0442\u043e\u043b\u0438\u043a|\u0627\u062a\u0635\u0627\u0644\u0627\u062a|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0639\u0644\u064a\u0627\u0646|\u067e\u0627\u06a9\u0633\u062a\u0627\u0646|\u0643\u0627\u062b\u0648\u0644\u064a\u0643|\u0645\u0648\u0628\u0627\u064a\u0644\u064a|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|abarth|abbott|abbvie|active|africa|agency|airbus|airtel|alipay|alsace|alstom|anquan|aramco|author|bayern|beauty|berlin|bharti|blanco|bostik|boston|broker|camera|career|caseih|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|mobily|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|piaget|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|warman|webcam|xihuan|yachts|yandex|zappos|\u043c\u043e\u0441\u043a\u0432\u0430|\u043e\u043d\u043b\u0430\u0439\u043d|\u0627\u0628\u0648\u0638\u0628\u064a|\u0627\u0631\u0627\u0645\u0643\u0648|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0641\u0644\u0633\u0637\u064a\u0646|\u0645\u0644\u064a\u0633\u064a\u0627|\u092d\u093e\u0930\u0924\u092e\u094d|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u30d5\u30a1\u30c3\u30b7\u30e7\u30f3|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|dodge|drive|dubai|earth|edeka|email|epost|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|intel|irish|iveco|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|lupin|macys|mango|media|miami|money|mopar|movie|nadex|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|zippo|\u0627\u06cc\u0631\u0627\u0646|\u0628\u0627\u0632\u0627\u0631|\u0628\u06be\u0627\u0631\u062a|\u0633\u0648\u062f\u0627\u0646|\u0633\u0648\u0631\u064a\u0629|\u0647\u0645\u0631\u0627\u0647|\u092d\u093e\u0930\u094b\u0924|\u0938\u0902\u0917\u0920\u0928|\u09ac\u09be\u0982\u09b2\u09be|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0d2d\u0d3e\u0d30\u0d24\u0d02|\u5609\u91cc\u5927\u9152\u5e97|aarp|able|adac|aero|aigo|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|doha|duck|duns|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scor|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|\u0434\u0435\u0442\u0438|\u0441\u0430\u0439\u0442|\u0628\u0627\u0631\u062a|\u0628\u064a\u062a\u0643|\u0680\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0634\u0628\u0643\u0629|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0645\u0648\u0642\u0639|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u09ad\u09be\u09f0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b2d\u0b3e\u0b30\u0b24|\u0cad\u0cbe\u0cb0\u0ca4|\u0dbd\u0d82\u0d9a\u0dcf|\u30b0\u30fc\u30b0\u30eb|\u30af\u30e9\u30a6\u30c9|\u30dd\u30a4\u30f3\u30c8|\u5927\u4f17\u6c7d\u8f66|\u7ec4\u7ec7\u673a\u6784|\u96fb\u8a0a\u76c8\u79d1|\u9999\u683c\u91cc\u62c9|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bnl|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceb|ceo|cfa|cfd|com|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jcp|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|srl|srt|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|\u0431\u0435\u043b|\u043a\u043e\u043c|\u049b\u0430\u0437|\u043c\u043a\u0434|\u043c\u043e\u043d|\u043e\u0440\u0433|\u0440\u0443\u0441|\u0441\u0440\u0431|\u0443\u043a\u0440|\u0570\u0561\u0575|\u05e7\u05d5\u05dd|\u0639\u0631\u0628|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0915\u0949\u092e|\u0928\u0947\u091f|\u0e04\u0e2d\u0e21|\u0e44\u0e17\u0e22|\u30b9\u30c8\u30a2|\u30bb\u30fc\u30eb|\u307f\u3093\u306a|\u4e2d\u6587\u7f51|\u5929\u4e3b\u6559|\u6211\u7231\u4f60|\u65b0\u52a0\u5761|\u6de1\u9a6c\u9521|\u8bfa\u57fa\u4e9a|\u98de\u5229\u6d66|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|\u03b5\u03bb|\u0431\u0433|\u0435\u044e|\u0440\u0444|\u10d2\u10d4|\ub2f7\ub137|\ub2f7\ucef4|\uc0bc\uc131|\ud55c\uad6d|\u30b3\u30e0|\u4e16\u754c|\u4e2d\u4fe1|\u4e2d\u56fd|\u4e2d\u570b|\u4f01\u4e1a|\u4f5b\u5c71|\u4fe1\u606f|\u5065\u5eb7|\u516b\u5366|\u516c\u53f8|\u516c\u76ca|\u53f0\u6e7e|\u53f0\u7063|\u5546\u57ce|\u5546\u5e97|\u5546\u6807|\u5609\u91cc|\u5728\u7ebf|\u5927\u62ff|\u5a31\u4e50|\u5bb6\u96fb|\u5de5\u884c|\u5e7f\u4e1c|\u5fae\u535a|\u6148\u5584|\u624b\u673a|\u624b\u8868|\u62db\u8058|\u653f\u52a1|\u653f\u5e9c|\u65b0\u95fb|\u65f6\u5c1a|\u66f8\u7c4d|\u673a\u6784|\u6e38\u620f|\u6fb3\u9580|\u70b9\u770b|\u73e0\u5b9d|\u79fb\u52a8|\u7f51\u5740|\u7f51\u5e97|\u7f51\u7ad9|\u7f51\u7edc|\u8054\u901a|\u8c37\u6b4c|\u8d2d\u7269|\u901a\u8ca9|\u96c6\u56e2|\u98df\u54c1|\u9910\u5385|\u9999\u6e2f)/,lt=new RegExp("["+be+"!#$%&'*+/=?^_`{|}~-]"),nn=new RegExp("^"+Et.source+"$"),St=function(Xt){function ut(){var mt=null!==Xt&&Xt.apply(this,arguments)||this;return mt.localPartCharRegex=lt,mt.strictTldRegex=nn,mt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){for(var Tt=this.tagBuilder,yn=this.localPartCharRegex,et=this.strictTldRegex,jt=[],hn=mt.length,Qn=new Ot,Ir={m:"a",a:"i",i:"l",l:"t",t:"o",o:":"},ht=0,L=0,Ue=Qn;ht<hn;){var nt=mt.charAt(ht);switch(L){case 0:"m"===(_r=nt)?Bn(1):yn.test(_r)&&Bn();break;case 1:it(mt.charAt(ht-1),nt);break;case 2:Pt(nt);break;case 3:Ut(nt);break;case 4:ot(nt);break;case 5:Nn(nt);break;case 6:sn(nt);break;case 7:An(nt);break;default:h(L)}ht++}var _r;return mr(),jt;function it(_r,Nr){":"===_r?yn.test(Nr)?(L=2,Ue=new Ot(R(R({},Ue),{hasMailtoPrefix:!0}))):ir():Ir[_r]===Nr||(yn.test(Nr)?L=2:"."===Nr?L=3:"@"===Nr?L=4:ir())}function Pt(_r){"."===_r?L=3:"@"===_r?L=4:yn.test(_r)||ir()}function Ut(_r){"."===_r||"@"===_r?ir():yn.test(_r)?L=2:ir()}function ot(_r){je.test(_r)?L=5:ir()}function Nn(_r){"."===_r?L=7:"-"===_r?L=6:je.test(_r)||mr()}function sn(_r){"-"===_r||"."===_r?mr():je.test(_r)?L=5:mr()}function An(_r){"."===_r||"-"===_r?mr():je.test(_r)?(L=5,Ue=new Ot(R(R({},Ue),{hasDomainDot:!0}))):mr()}function Bn(_r){void 0===_r&&(_r=2),L=_r,Ue=new Ot({idx:ht})}function ir(){L=0,Ue=Qn}function mr(){if(Ue.hasDomainDot){var _r=mt.slice(Ue.idx,ht);/[-.]$/.test(_r)&&(_r=_r.slice(0,-1));var Nr=Ue.hasMailtoPrefix?_r.slice("mailto:".length):_r;Jn=(Nr.split(".").pop()||"").toLowerCase(),et.test(Jn)&&jt.push(new H({tagBuilder:Tt,matchedText:_r,offset:Ue.idx,email:Nr}))}var Jn;ir()}},ut}(J),Ot=function(Xt){void 0===Xt&&(Xt={}),this.idx=void 0!==Xt.idx?Xt.idx:-1,this.hasMailtoPrefix=!!Xt.hasMailtoPrefix,this.hasDomainDot=!!Xt.hasDomainDot},Qe=function(){function Xt(){}return Xt.isValid=function(ut,mt){return!(mt&&!this.isValidUriScheme(mt)||this.urlMatchDoesNotHaveProtocolOrDot(ut,mt)||this.urlMatchDoesNotHaveAtLeastOneWordChar(ut,mt)&&!this.isValidIpAddress(ut)||this.containsMultipleDots(ut))},Xt.isValidIpAddress=function(ut){var mt=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source);return null!==ut.match(mt)},Xt.containsMultipleDots=function(ut){var mt=ut;return this.hasFullProtocolRegex.test(ut)&&(mt=ut.split("://")[1]),mt.split("/")[0].indexOf("..")>-1},Xt.isValidUriScheme=function(ut){var mt=ut.match(this.uriSchemeRegex),Tt=mt&&mt[0].toLowerCase();return"javascript:"!==Tt&&"vbscript:"!==Tt},Xt.urlMatchDoesNotHaveProtocolOrDot=function(ut,mt){return!(!ut||mt&&this.hasFullProtocolRegex.test(mt)||-1!==ut.indexOf("."))},Xt.urlMatchDoesNotHaveAtLeastOneWordChar=function(ut,mt){return!(!ut||!mt||this.hasFullProtocolRegex.test(mt)||this.hasWordCharAfterProtocolRegex.test(ut))},Xt.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,Xt.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,Xt.hasWordCharAfterProtocolRegex=new RegExp(":[^\\s]*?["+ce+"]"),Xt.ipRegex=/[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?(:[0-9]*)?\/?$/,Xt}(),It=(j=new RegExp("[/?#](?:["+be+"\\-+&@#/%=~_()|'$*\\[\\]{}?!:,.;^\u2713]*["+be+"\\-+&@#/%=~_()|'$*\\[\\]{}\u2713])?"),new RegExp(["(?:","(",/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\/\/)(?!\d+\/?)(?:\/\/)?)/.source,F(2),")","|","(","(//)?",/(?:www\.)/.source,F(6),")","|","(","(//)?",F(10)+"\\.",Et.source,"(?![-"+Oe+"])",")",")","(?::[0-9]+)?","(?:"+j.source+")?"].join(""),"gi")),ae=new RegExp("["+be+"]"),Ie=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.stripPrefix={scheme:!0,www:!0},Tt.stripTrailingSlash=!0,Tt.decodePercentEncoding=!0,Tt.matcherRegex=It,Tt.wordCharRegExp=ae,Tt.stripPrefix=mt.stripPrefix,Tt.stripTrailingSlash=mt.stripTrailingSlash,Tt.decodePercentEncoding=mt.decodePercentEncoding,Tt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){for(var Tt,yn=this.matcherRegex,et=this.stripPrefix,jt=this.stripTrailingSlash,hn=this.decodePercentEncoding,Qn=this.tagBuilder,Ir=[],ht=function(){var Ue=Tt[0],nt=Tt[1],at=Tt[4],Ut=Tt.index,ot=Tt[5]||Tt[9],Nn=mt.charAt(Ut-1);if(!Qe.isValid(Ue,nt)||Ut>0&&"@"===Nn||Ut>0&&ot&&L.wordCharRegExp.test(Nn))return"continue";if(/\?$/.test(Ue)&&(Ue=Ue.substr(0,Ue.length-1)),L.matchHasUnbalancedClosingParen(Ue))Ue=Ue.substr(0,Ue.length-1);else{var sn=L.matchHasInvalidCharAfterTld(Ue,nt);sn>-1&&(Ue=Ue.substr(0,sn))}var An=["http://","https://"].find(function(_r){return!!nt&&-1!==nt.indexOf(_r)});if(An){var Bn=Ue.indexOf(An);Ue=Ue.substr(Bn),nt=nt.substr(Bn),Ut+=Bn}Ir.push(new I({tagBuilder:Qn,matchedText:Ue,offset:Ut,urlMatchType:nt?"scheme":at?"www":"tld",url:Ue,protocolUrlMatch:!!nt,protocolRelativeMatch:!!ot,stripPrefix:et,stripTrailingSlash:jt,decodePercentEncoding:hn}))},L=this;null!==(Tt=yn.exec(mt));)ht();return Ir},ut.prototype.matchHasUnbalancedClosingParen=function(mt){var Tt,yn=mt.charAt(mt.length-1);if(")"===yn)Tt="(";else if("]"===yn)Tt="[";else{if("}"!==yn)return!1;Tt="{"}for(var et=0,jt=0,hn=mt.length-1;jt<hn;jt++){var Qn=mt.charAt(jt);Qn===Tt?et++:Qn===yn&&(et=Math.max(et-1,0))}return 0===et},ut.prototype.matchHasInvalidCharAfterTld=function(mt,Tt){if(!mt)return-1;var yn=0;Tt&&(yn=mt.indexOf(":"),mt=mt.slice(yn));var et=new RegExp("^((.?//)?[-."+be+"]*[-"+be+"]\\.[-"+be+"]+)").exec(mt);return null===et?-1:(yn+=et[1].length,mt=mt.slice(et[1].length),/^[^-.A-Za-z0-9:\/?#]/.test(mt)?yn:-1)},ut}(J),dt=new RegExp("#[_"+be+"]{1,139}(?![_"+be+"])","g"),Jt=new RegExp("[^"+be+"]"),zt=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.serviceName="twitter",Tt.matcherRegex=dt,Tt.nonWordCharRegex=Jt,Tt.serviceName=mt.serviceName,Tt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){for(var Tt,yn=this.matcherRegex,et=this.nonWordCharRegex,jt=this.serviceName,hn=this.tagBuilder,Qn=[];null!==(Tt=yn.exec(mt));){var Ir=Tt.index,ht=mt.charAt(Ir-1);if(0===Ir||et.test(ht)){var L=Tt[0],Ue=Tt[0].slice(1);Qn.push(new z({tagBuilder:hn,matchedText:L,offset:Ir,serviceName:jt,hashtag:Ue}))}}return Qn},ut}(J),ln=new RegExp(/(?:(?:(?:(\+)?\d{1,3}[-\040.]?)?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\040.]?(?:\d[-\040.]?){6,12}\d+))([,;]+[0-9]+#?)*/.source+"|"+/(0([1-9]{1}-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/.source,"g"),ar=function(Xt){function ut(){var mt=null!==Xt&&Xt.apply(this,arguments)||this;return mt.matcherRegex=ln,mt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){for(var Tt,yn=this.matcherRegex,et=this.tagBuilder,jt=[];null!==(Tt=yn.exec(mt));){var hn=Tt[0],Qn=hn.replace(/[^0-9,;#]/g,""),Ir=!(!Tt[1]&&!Tt[2]),ht=0==Tt.index?"":mt.substr(Tt.index-1,1),L=mt.substr(Tt.index+hn.length,1),Ue=!ht.match(/\d/)&&!L.match(/\d/);this.testMatch(Tt[3])&&this.testMatch(hn)&&Ue&&jt.push(new M({tagBuilder:et,matchedText:hn,offset:Tt.index,number:Qn,plusSign:Ir}))}return jt},ut.prototype.testMatch=function(mt){return oe.test(mt)},ut}(J),Ln=new RegExp("@[_"+be+"]{1,50}(?![_"+be+"])","g"),Rn=new RegExp("@[_."+be+"]{1,30}(?![_"+be+"])","g"),er=new RegExp("@[-_."+be+"]{1,50}(?![-_"+be+"])","g"),Mn=new RegExp("[^"+be+"]"),Ht=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.serviceName="twitter",Tt.matcherRegexes={twitter:Ln,instagram:Rn,soundcloud:er},Tt.nonWordCharRegex=Mn,Tt.serviceName=mt.serviceName,Tt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){var Tt,yn=this.serviceName,et=this.matcherRegexes[this.serviceName],jt=this.nonWordCharRegex,hn=this.tagBuilder,Qn=[];if(!et)return Qn;for(;null!==(Tt=et.exec(mt));){var Ir=Tt.index,ht=mt.charAt(Ir-1);if(0===Ir||jt.test(ht)){var L=Tt[0].replace(/\.+$/g,""),Ue=L.slice(1);Qn.push(new U({tagBuilder:hn,matchedText:L,offset:Ir,serviceName:yn,mention:Ue}))}}return Qn},ut}(J),Yn=function(Xt){void 0===Xt&&(Xt={}),this.idx=void 0!==Xt.idx?Xt.idx:-1,this.type=Xt.type||"tag",this.name=Xt.name||"",this.isOpening=!!Xt.isOpening,this.isClosing=!!Xt.isClosing},Cn=function(){function Xt(ut){void 0===ut&&(ut={}),this.version=Xt.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(ut.urls),this.email="boolean"==typeof ut.email?ut.email:this.email,this.phone="boolean"==typeof ut.phone?ut.phone:this.phone,this.hashtag=ut.hashtag||this.hashtag,this.mention=ut.mention||this.mention,this.newWindow="boolean"==typeof ut.newWindow?ut.newWindow:this.newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(ut.stripPrefix),this.stripTrailingSlash="boolean"==typeof ut.stripTrailingSlash?ut.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding="boolean"==typeof ut.decodePercentEncoding?ut.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=ut.sanitizeHtml||!1;var mt=this.mention;if(!1!==mt&&"twitter"!==mt&&"instagram"!==mt&&"soundcloud"!==mt)throw new Error("invalid `mention` cfg - see docs");var Tt=this.hashtag;if(!1!==Tt&&"twitter"!==Tt&&"facebook"!==Tt&&"instagram"!==Tt)throw new Error("invalid `hashtag` cfg - see docs");this.truncate=this.normalizeTruncateCfg(ut.truncate),this.className=ut.className||this.className,this.replaceFn=ut.replaceFn||this.replaceFn,this.context=ut.context||this}return Xt.link=function(ut,mt){return new Xt(mt).link(ut)},Xt.parse=function(ut,mt){return new Xt(mt).parse(ut)},Xt.prototype.normalizeUrlsCfg=function(ut){return null==ut&&(ut=!0),"boolean"==typeof ut?{schemeMatches:ut,wwwMatches:ut,tldMatches:ut}:{schemeMatches:"boolean"!=typeof ut.schemeMatches||ut.schemeMatches,wwwMatches:"boolean"!=typeof ut.wwwMatches||ut.wwwMatches,tldMatches:"boolean"!=typeof ut.tldMatches||ut.tldMatches}},Xt.prototype.normalizeStripPrefixCfg=function(ut){return null==ut&&(ut=!0),"boolean"==typeof ut?{scheme:ut,www:ut}:{scheme:"boolean"!=typeof ut.scheme||ut.scheme,www:"boolean"!=typeof ut.www||ut.www}},Xt.prototype.normalizeTruncateCfg=function(ut){return"number"==typeof ut?{length:ut,location:"end"}:function(mt,Tt){for(var yn in Tt)Tt.hasOwnProperty(yn)&&void 0===mt[yn]&&(mt[yn]=Tt[yn]);return mt}(ut||{},{length:Number.POSITIVE_INFINITY,location:"end"})},Xt.prototype.parse=function(ut){var mt=this,Tt=["a","style","script"],yn=0,et=[];return function(Xt,ut){for(var mt,Tt=ut.onOpenTag,yn=ut.onCloseTag,et=ut.onText,jt=ut.onComment,hn=ut.onDoctype,Qn=new Yn,Ir=0,ht=Xt.length,L=0,Ue=0,nt=Qn;Ir<ht;){var at=Xt.charAt(Ir);switch(L){case 0:"<"===at&&di();break;case 1:"!"===(Ke=at)?L=13:"/"===Ke?(L=2,nt=new Yn(R(R({},nt),{isClosing:!0}))):"<"===Ke?di():B.test(Ke)?(L=3,nt=new Yn(R(R({},nt),{isOpening:!0}))):(L=0,nt=Qn);break;case 2:ot(at);break;case 3:Ut(at);break;case 4:Nn(at);break;case 5:sn(at);break;case 6:An(at);break;case 7:Bn(at);break;case 8:ir(at);break;case 9:mr(at);break;case 10:_r(at);break;case 11:Nr(at);break;case 12:br(at);break;case 13:"--"===Xt.substr(Ir,2)?(Ir+=2,nt=new Yn(R(R({},nt),{type:"comment"})),L=14):"DOCTYPE"===Xt.substr(Ir,7).toUpperCase()?(Ir+=7,nt=new Yn(R(R({},nt),{type:"doctype"})),L=20):Kr();break;case 14:rr(at);break;case 15:Mr(at);break;case 16:yi(at);break;case 17:Li(at);break;case 18:Mi(at);break;case 19:Oi(at);break;case 20:Xr(at);break;default:h(L)}Ir++}var Ke;function Ut(Ke){fe.test(Ke)?(nt=new Yn(R(R({},nt),{name:ct()})),L=4):"<"===Ke?di():"/"===Ke?(nt=new Yn(R(R({},nt),{name:ct()})),L=12):">"===Ke?(nt=new Yn(R(R({},nt),{name:ct()})),se()):B.test(Ke)||ie.test(Ke)||":"===Ke||Kr()}function ot(Ke){">"===Ke?Kr():B.test(Ke)?L=3:Kr()}function Nn(Ke){fe.test(Ke)||("/"===Ke?L=12:">"===Ke?se():"<"===Ke?di():"="===Ke||ne.test(Ke)||he.test(Ke)?Kr():L=5)}function sn(Ke){fe.test(Ke)?L=6:"/"===Ke?L=12:"="===Ke?L=7:">"===Ke?se():"<"===Ke?di():ne.test(Ke)&&Kr()}function An(Ke){fe.test(Ke)||("/"===Ke?L=12:"="===Ke?L=7:">"===Ke?se():"<"===Ke?di():ne.test(Ke)?Kr():L=5)}function Bn(Ke){fe.test(Ke)||('"'===Ke?L=8:"'"===Ke?L=9:/[>=`]/.test(Ke)?Kr():"<"===Ke?di():L=10)}function ir(Ke){'"'===Ke&&(L=11)}function mr(Ke){"'"===Ke&&(L=11)}function _r(Ke){fe.test(Ke)?L=4:">"===Ke?se():"<"===Ke&&di()}function Nr(Ke){fe.test(Ke)?L=4:"/"===Ke?L=12:">"===Ke?se():"<"===Ke?di():(L=4,Ir--)}function br(Ke){">"===Ke?(nt=new Yn(R(R({},nt),{isClosing:!0})),se()):L=4}function rr(Ke){"-"===Ke?L=15:">"===Ke?Kr():L=16}function Mr(Ke){"-"===Ke?L=18:">"===Ke?Kr():L=16}function yi(Ke){"-"===Ke&&(L=17)}function Li(Ke){L="-"===Ke?18:16}function Mi(Ke){">"===Ke?se():"!"===Ke?L=19:"-"===Ke||(L=16)}function Oi(Ke){"-"===Ke?L=17:">"===Ke?se():L=16}function Xr(Ke){">"===Ke?se():"<"===Ke&&di()}function Kr(){L=0,nt=Qn}function di(){L=1,nt=new Yn({idx:Ir})}function se(){var Ke=Xt.slice(Ue,nt.idx);Ke&&et(Ke,Ue),"comment"===nt.type?jt(nt.idx):"doctype"===nt.type?hn(nt.idx):(nt.isOpening&&Tt(nt.name,nt.idx),nt.isClosing&&yn(nt.name,nt.idx)),Kr(),Ue=Ir+1}function ct(){return Xt.slice(nt.idx+(nt.isClosing?2:1),Ir).toLowerCase()}Ue<Ir&&(mt=Xt.slice(Ue,Ir),et(mt,Ue),Ue=Ir+1)}(ut,{onOpenTag:function(jt){Tt.indexOf(jt)>=0&&yn++},onText:function(jt,hn){if(0===yn){var Qn=function(ht,L){if(!L.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var Ue,nt=[],at=0;Ue=L.exec(ht);)nt.push(ht.substring(at,Ue.index)),nt.push(Ue[0]),at=Ue.index+Ue[0].length;return nt.push(ht.substring(at)),nt}(jt,/( | |<|<|>|>|"|"|')/gi),Ir=hn;Qn.forEach(function(ht,L){if(L%2==0){var Ue=mt.parseText(ht,Ir);et.push.apply(et,Ue)}Ir+=ht.length})}},onCloseTag:function(jt){Tt.indexOf(jt)>=0&&(yn=Math.max(yn-1,0))},onComment:function(jt){},onDoctype:function(jt){}}),et=this.compactMatches(et),et=this.removeUnwantedMatches(et)},Xt.prototype.compactMatches=function(ut){ut.sort(function(Qn,Ir){return Qn.getOffset()-Ir.getOffset()});for(var mt=0;mt<ut.length-1;mt++){var Tt=ut[mt],yn=Tt.getOffset(),et=Tt.getMatchedText().length,jt=yn+et;if(mt+1<ut.length){if(ut[mt+1].getOffset()===yn){var hn=ut[mt+1].getMatchedText().length>et?mt:mt+1;ut.splice(hn,1);continue}ut[mt+1].getOffset()<jt&&ut.splice(mt+1,1)}}return ut},Xt.prototype.removeUnwantedMatches=function(ut){return this.hashtag||u(ut,function(mt){return"hashtag"===mt.getType()}),this.email||u(ut,function(mt){return"email"===mt.getType()}),this.phone||u(ut,function(mt){return"phone"===mt.getType()}),this.mention||u(ut,function(mt){return"mention"===mt.getType()}),this.urls.schemeMatches||u(ut,function(mt){return"url"===mt.getType()&&"scheme"===mt.getUrlMatchType()}),this.urls.wwwMatches||u(ut,function(mt){return"url"===mt.getType()&&"www"===mt.getUrlMatchType()}),this.urls.tldMatches||u(ut,function(mt){return"url"===mt.getType()&&"tld"===mt.getUrlMatchType()}),ut},Xt.prototype.parseText=function(ut,mt){void 0===mt&&(mt=0),mt=mt||0;for(var Tt=this.getMatchers(),yn=[],et=0,jt=Tt.length;et<jt;et++){for(var hn=Tt[et].parseMatches(ut),Qn=0,Ir=hn.length;Qn<Ir;Qn++)hn[Qn].setOffset(mt+hn[Qn].getOffset());yn.push.apply(yn,hn)}return yn},Xt.prototype.link=function(ut){if(!ut)return"";this.sanitizeHtml&&(ut=ut.replace(/</g,"<").replace(/>/g,">"));for(var mt=this.parse(ut),Tt=[],yn=0,et=0,jt=mt.length;et<jt;et++){var hn=mt[et];Tt.push(ut.substring(yn,hn.getOffset())),Tt.push(this.createMatchReturnVal(hn)),yn=hn.getOffset()+hn.getMatchedText().length}return Tt.push(ut.substring(yn)),Tt.join("")},Xt.prototype.createMatchReturnVal=function(ut){var mt;return this.replaceFn&&(mt=this.replaceFn.call(this.context,ut)),"string"==typeof mt?mt:!1===mt?ut.getMatchedText():mt instanceof _?mt.toAnchorString():ut.buildTag().toAnchorString()},Xt.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var ut=this.getTagBuilder(),mt=[new zt({tagBuilder:ut,serviceName:this.hashtag}),new St({tagBuilder:ut}),new ar({tagBuilder:ut}),new Ht({tagBuilder:ut,serviceName:this.mention}),new Ie({tagBuilder:ut,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=mt},Xt.prototype.getTagBuilder=function(){var ut=this.tagBuilder;return ut||(ut=this.tagBuilder=new m({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),ut},Xt.version="3.14.3",Xt.AnchorTagBuilder=m,Xt.HtmlTag=_,Xt.matcher={Email:St,Hashtag:zt,Matcher:J,Mention:Ht,Phone:ar,Url:Ie},Xt.match={Email:H,Hashtag:z,Match:b,Mention:U,Phone:M,Url:I},Xt}(),Kt=/www|@|\:\/\//;function dn(Xt){return/^<\/a\s*>/i.test(Xt)}function Kn(){var Xt=[],ut=new Cn({stripPrefix:!1,url:!0,email:!0,replaceFn:function(mt){switch(mt.getType()){case"url":Xt.push({text:mt.matchedText,url:mt.getUrl()});break;case"email":Xt.push({text:mt.matchedText,url:"mailto:"+mt.getEmail().replace(/^mailto:/i,"")})}return!1}});return{links:Xt,autolinker:ut}}function qn(Xt){var ut,mt,Tt,yn,et,jt,hn,Qn,Ir,ht,L,Ue,nt,it=Xt.tokens,Pt=null;for(mt=0,Tt=it.length;mt<Tt;mt++)if("inline"===it[mt].type)for(L=0,ut=(yn=it[mt].children).length-1;ut>=0;ut--)if("link_close"!==(et=yn[ut]).type){if("htmltag"===et.type&&(/^<a[>\s]/i.test(et.content)&&L>0&&L--,dn(et.content)&&L++),!(L>0)&&"text"===et.type&&Kt.test(et.content)){if(Pt||(Ue=(Pt=Kn()).links,nt=Pt.autolinker),jt=et.content,Ue.length=0,nt.link(jt),!Ue.length)continue;for(hn=[],ht=et.level,Qn=0;Qn<Ue.length;Qn++)Xt.inline.validateLink(Ue[Qn].url)&&((Ir=jt.indexOf(Ue[Qn].text))&&hn.push({type:"text",content:jt.slice(0,Ir),level:ht}),hn.push({type:"link_open",href:Ue[Qn].url,title:"",level:ht++}),hn.push({type:"text",content:Ue[Qn].text,level:ht}),hn.push({type:"link_close",level:--ht}),jt=jt.slice(Ir+Ue[Qn].text.length));jt.length&&hn.push({type:"text",content:jt,level:ht}),it[mt].children=yn=[].concat(yn.slice(0,ut),hn,yn.slice(ut+1))}}else for(ut--;yn[ut].level!==et.level&&"link_open"!==yn[ut].type;)ut--}function Sn(Xt){Xt.core.ruler.push("linkify",qn)}var $n=t(208),En=t.n($n),Fn=t(47),Dn=t.n(Fn);function mn(Xt){var ut=Xt.source,mt=Xt.className,Tt=void 0===mt?"":mt,yn=Xt.getConfigs;if("string"!=typeof ut)return null;var et=new a.a({html:!0,typographer:!0,breaks:!0,linkTarget:"_blank"}).use(Sn);et.core.ruler.disable(["replacements","smartquotes"]);var jt=yn().useUnsafeMarkdown,hn=et.render(ut),Qn=jn(hn,{useUnsafeMarkdown:jt});return ut&&hn&&Qn?s.a.createElement("div",{className:Dn()(Tt,"markdown"),dangerouslySetInnerHTML:{__html:Qn}}):null}function jn(Xt){var ut=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},mt=ut.useUnsafeMarkdown,Tt=void 0!==mt&&mt,yn=Tt,et=Tt?[]:["style","class"];return Tt&&!jn.hasWarnedAboutDeprecation&&(console.warn("useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0."),jn.hasWarnedAboutDeprecation=!0),En.a.sanitize(Xt,{ADD_ATTR:["target"],FORBID_TAGS:["style","form"],ALLOW_DATA_ATTR:yn,FORBID_ATTR:et})}En.a.addHook&&En.a.addHook("beforeSanitizeElements",function(Xt){return Xt.href&&Xt.setAttribute("rel","noopener noreferrer"),Xt}),mn.defaultProps={getConfigs:function(){return{useUnsafeMarkdown:!1}}},o.a=mn,jn.hasWarnedAboutDeprecation=!1},function(g,o,t){"use strict";t.d(o,"a",function(){return ae});var e=t(29),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(10),m=t.n(_),b=t(8),T=t.n(b),D=t(9),R=t.n(D),j=t(3),H=t.n(j),z=t(2),U=t.n(z),M=t(18),I=t.n(M),J=t(4),B=t.n(J),ie=t(0),oe=t.n(ie),fe=t(1);function ne(Ie){return(ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(dt){return typeof dt}:function(dt){return dt&&"function"==typeof Symbol&&dt.constructor===Symbol&&dt!==Symbol.prototype?"symbol":typeof dt})(Ie)}function he(Ie,dt){if(!(Ie instanceof dt))throw new TypeError("Cannot call a class as a function")}function Ae(Ie,dt,Jt){return dt in Ie?Object.defineProperty(Ie,dt,{value:Jt,enumerable:!0,configurable:!0,writable:!0}):Ie[dt]=Jt,Ie}function Se(Ie,dt){var Jt=Object.keys(Ie);if(Object.getOwnPropertySymbols){var zt=Object.getOwnPropertySymbols(Ie);dt&&(zt=zt.filter(function(ln){return Object.getOwnPropertyDescriptor(Ie,ln).enumerable})),Jt.push.apply(Jt,zt)}return Jt}function Oe(Ie){for(var dt=1;dt<arguments.length;dt++){var Jt=null!=arguments[dt]?arguments[dt]:{};dt%2?Se(Jt,!0).forEach(function(zt){Ae(Ie,zt,Jt[zt])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Ie,Object.getOwnPropertyDescriptors(Jt)):Se(Jt).forEach(function(zt){Object.defineProperty(Ie,zt,Object.getOwnPropertyDescriptor(Jt,zt))})}return Ie}function be(Ie){return(be=Object.setPrototypeOf?Object.getPrototypeOf:function(dt){return dt.__proto__||Object.getPrototypeOf(dt)})(Ie)}function ue(Ie,dt){return(ue=Object.setPrototypeOf||function(Jt,zt){return Jt.__proto__=zt,Jt})(Ie,dt)}function He(Ie,dt){return!dt||"object"!=typeof dt&&"function"!=typeof dt?function(Jt){if(void 0===Jt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Jt}(Ie):dt}var $e={};function F(Ie,dt,Jt){return null==Ie?Jt:null!==(zt=Ie)&&"object"===ne(zt)&&"function"==typeof zt.get&&"function"==typeof zt.has?Ie.has(dt)?Ie.get(dt):Jt:hasOwnProperty.call(Ie,dt)?Ie[dt]:Jt;var zt}function je(Ie,dt,Jt){for(var zt=0;zt!==dt.length;)if((Ie=F(Ie,dt[zt++],$e))===$e)return Jt;return Ie}function Et(Ie){var dt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Jt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},zt=lt(dt,Jt),ln=Ie||Object.keys(Oe({},Jt,{},dt));return ln.every(zt)}function lt(Ie,dt){return function(Jt){if("string"==typeof Jt)return Object(fe.is)(dt[Jt],Ie[Jt]);if(Array.isArray(Jt))return Object(fe.is)(je(dt,Jt),je(Ie,Jt));throw new TypeError("Invalid key: expected Array or string: "+Jt)}}var nn=function(Ie){function dt(){return he(this,dt),He(this,be(dt).apply(this,arguments))}var zt;return function(ar,Ln){if("function"!=typeof Ln&&null!==Ln)throw new TypeError("Super expression must either be null or a function");ar.prototype=Object.create(Ln&&Ln.prototype,{constructor:{value:ar,writable:!0,configurable:!0}}),Ln&&ue(ar,Ln)}(dt,Ie),(zt=[{key:"shouldComponentUpdate",value:function(ar){var Ln=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!Et(this.updateOnProps,this.props,ar,"updateOnProps")||!Et(this.updateOnStates,this.state,Ln,"updateOnStates")}}])&&function(Ie,dt){for(var Jt=0;Jt<dt.length;Jt++){var zt=dt[Jt];zt.enumerable=zt.enumerable||!1,zt.configurable=!0,"value"in zt&&(zt.writable=!0),Object.defineProperty(Ie,zt.key,zt)}}(dt.prototype,zt),dt}(oe.a.Component),St=t(28),Ot=t.n(St),Qe=t(11),It=t.n(Qe),ae=function(Ie){T()(Jt,Ie);var dt=R()(Jt);function Jt(){var zt,ln;l()(this,Jt);for(var ar=arguments.length,Ln=new Array(ar),Rn=0;Rn<ar;Rn++)Ln[Rn]=arguments[Rn];return ln=dt.call.apply(dt,U()(zt=[this]).call(zt,Ln)),H()(m()(ln),"getModelName",function(er){return-1!==I()(er).call(er,"#/definitions/")?er.replace(/^.*#\/definitions\//,""):-1!==I()(er).call(er,"#/components/schemas/")?er.replace(/^.*#\/components\/schemas\//,""):void 0}),H()(m()(ln),"getRefSchema",function(er){return ln.props.specSelectors.findDefinition(er)}),ln}return h()(Jt,[{key:"render",value:function(){var zt=this.props,ln=zt.getComponent,ar=zt.getConfigs,Ln=zt.specSelectors,Rn=zt.schema,er=zt.required,Mn=zt.name,Ht=zt.isRef,tr=zt.specPath,Yn=zt.displayName,Cn=zt.includeReadOnly,Kt=zt.includeWriteOnly,dn=ln("ObjectModel"),Kn=ln("ArrayModel"),qn=ln("PrimitiveModel"),Sn="object",$n=Rn&&Rn.get("$$ref");if(!Mn&&$n&&(Mn=this.getModelName($n)),!Rn&&$n&&(Rn=this.getRefSchema(Mn)),!Rn)return oe.a.createElement("span",{className:"model model-title"},oe.a.createElement("span",{className:"model-title__text"},Yn||Mn),oe.a.createElement("img",{src:t(447),height:"20px",width:"20px"}));var En=Ln.isOAS3()&&Rn.get("deprecated");switch(Ht=void 0!==Ht?Ht:!!$n,Sn=Rn&&Rn.get("type")||Sn){case"object":return oe.a.createElement(dn,s()({className:"object"},this.props,{specPath:tr,getConfigs:ar,schema:Rn,name:Mn,deprecated:En,isRef:Ht,includeReadOnly:Cn,includeWriteOnly:Kt}));case"array":return oe.a.createElement(Kn,s()({className:"array"},this.props,{getConfigs:ar,schema:Rn,name:Mn,deprecated:En,required:er,includeReadOnly:Cn,includeWriteOnly:Kt}));case"string":case"number":case"integer":case"boolean":default:return oe.a.createElement(qn,s()({},this.props,{getComponent:ln,getConfigs:ar,schema:Rn,name:Mn,deprecated:En,required:er}))}}}]),Jt}(nn);H()(ae,"propTypes",{schema:B()(Ot.a).isRequired,getComponent:It.a.func.isRequired,getConfigs:It.a.func.isRequired,specSelectors:It.a.object.isRequired,name:It.a.string,displayName:It.a.string,isRef:It.a.bool,required:It.a.bool,expandDepth:It.a.number,depth:It.a.number,specPath:Ot.a.list.isRequired,includeReadOnly:It.a.bool,includeWriteOnly:It.a.bool})},function(g,o,t){"use strict";var e=t(923),s=t(933),a=t(252);g.exports={formats:a,parse:s,stringify:e}},function(g,o,t){g.exports=function(){"use strict";var s=Object.hasOwnProperty,a=Object.setPrototypeOf,l=Object.isFrozen,u=Object.getPrototypeOf,h=Object.getOwnPropertyDescriptor,_=Object.freeze,m=Object.seal,b=Object.create,T="undefined"!=typeof Reflect&&Reflect,D=T.apply,R=T.construct;D||(D=function(Rn,er,Mn){return Rn.apply(er,Mn)}),_||(_=function(Rn){return Rn}),m||(m=function(Rn){return Rn}),R||(R=function(Rn,er){return new(Function.prototype.bind.apply(Rn,[null].concat(function(Rn){if(Array.isArray(Rn)){for(var er=0,Mn=Array(Rn.length);er<Rn.length;er++)Mn[er]=Rn[er];return Mn}return Array.from(Rn)}(er))))});var Rn,j=fe(Array.prototype.forEach),H=fe(Array.prototype.pop),z=fe(Array.prototype.push),U=fe(String.prototype.toLowerCase),M=fe(String.prototype.match),I=fe(String.prototype.replace),J=fe(String.prototype.indexOf),B=fe(String.prototype.trim),ie=fe(RegExp.prototype.test),oe=(Rn=TypeError,function(){for(var er=arguments.length,Mn=Array(er),Ht=0;Ht<er;Ht++)Mn[Ht]=arguments[Ht];return R(Rn,Mn)});function fe(Rn){return function(er){for(var Mn=arguments.length,Ht=Array(Mn>1?Mn-1:0),tr=1;tr<Mn;tr++)Ht[tr-1]=arguments[tr];return D(Rn,er,Ht)}}function he(Rn,er){a&&a(Rn,null);for(var Mn=er.length;Mn--;){var Ht=er[Mn];if("string"==typeof Ht){var tr=U(Ht);tr!==Ht&&(l(er)||(er[Mn]=tr),Ht=tr)}Rn[Ht]=!0}return Rn}function ce(Rn){var er=b(null),Mn=void 0;for(Mn in Rn)D(s,Rn,[Mn])&&(er[Mn]=Rn[Mn]);return er}function Ae(Rn,er){for(;null!==Rn;){var Mn=h(Rn,er);if(Mn){if(Mn.get)return fe(Mn.get);if("function"==typeof Mn.value)return fe(Mn.value)}Rn=u(Rn)}return function(tr){return console.warn("fallback value for",tr),null}}var Se=_(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Oe=_(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),be=_(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),ue=_(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),He=_(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),$e=_(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),F=_(["#text"]),je=_(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Et=_(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),lt=_(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),nn=_(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),St=m(/\{\{[\s\S]*|[\s\S]*\}\}/gm),Ot=m(/<%[\s\S]*|[\s\S]*%>/gm),Qe=m(/^data-[\-\w.\u00B7-\uFFFF]/),It=m(/^aria-[\-\w]+$/),ae=m(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ie=m(/^(?:\w+script|data):/i),dt=m(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Rn){return typeof Rn}:function(Rn){return Rn&&"function"==typeof Symbol&&Rn.constructor===Symbol&&Rn!==Symbol.prototype?"symbol":typeof Rn};function zt(Rn){if(Array.isArray(Rn)){for(var er=0,Mn=Array(Rn.length);er<Rn.length;er++)Mn[er]=Rn[er];return Mn}return Array.from(Rn)}var ln=function(){return"undefined"==typeof window?null:window},ar=function(Rn,er){if("object"!==(void 0===Rn?"undefined":Jt(Rn))||"function"!=typeof Rn.createPolicy)return null;var Mn=null,Ht="data-tt-policy-suffix";er.currentScript&&er.currentScript.hasAttribute(Ht)&&(Mn=er.currentScript.getAttribute(Ht));var tr="dompurify"+(Mn?"#"+Mn:"");try{return Rn.createPolicy(tr,{createHTML:function(Yn){return Yn}})}catch(Yn){return console.warn("TrustedTypes policy "+tr+" could not be created."),null}};return function Ln(){var Rn=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ln(),er=function(Er){return Ln(Er)};if(er.version="2.3.3",er.removed=[],!Rn||!Rn.document||9!==Rn.document.nodeType)return er.isSupported=!1,er;var Mn=Rn.document,Ht=Rn.document,tr=Rn.DocumentFragment,Yn=Rn.HTMLTemplateElement,Cn=Rn.Node,Kt=Rn.Element,dn=Rn.NodeFilter,Kn=Rn.NamedNodeMap,qn=void 0===Kn?Rn.NamedNodeMap||Rn.MozNamedAttrMap:Kn,Sn=Rn.Text,$n=Rn.Comment,En=Rn.DOMParser,Fn=Rn.trustedTypes,Dn=Kt.prototype,mn=Ae(Dn,"cloneNode"),jn=Ae(Dn,"nextSibling"),Xt=Ae(Dn,"childNodes"),ut=Ae(Dn,"parentNode");if("function"==typeof Yn){var mt=Ht.createElement("template");mt.content&&mt.content.ownerDocument&&(Ht=mt.content.ownerDocument)}var Tt=ar(Fn,Mn),yn=Tt&&Kr?Tt.createHTML(""):"",et=Ht,jt=et.implementation,hn=et.createNodeIterator,Qn=et.createDocumentFragment,Ir=et.getElementsByTagName,ht=Mn.importNode,L={};try{L=ce(Ht).documentMode?Ht.documentMode:{}}catch(Er){}var Ue={};er.isSupported="function"==typeof ut&&jt&&void 0!==jt.createHTMLDocument&&9!==L;var nt=St,at=Ot,it=Qe,Pt=It,Ut=Ie,ot=dt,Nn=ae,sn=null,An=he({},[].concat(zt(Se),zt(Oe),zt(be),zt(He),zt(F))),Bn=null,ir=he({},[].concat(zt(je),zt(Et),zt(lt),zt(nn))),mr=null,_r=null,Nr=!0,br=!0,Jn=!1,rr=!1,Mr=!1,yi=!1,Li=!1,Mi=!1,Oi=!1,Xr=!0,Kr=!1,di=!0,se=!0,ct=!1,Ke={},Xe=null,Vt=he({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ct=null,rt=he({},["audio","video","img","source","image","track"]),yt=null,qe=he({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),$t="http://www.w3.org/1998/Math/MathML",or="http://www.w3.org/2000/svg",Vn="http://www.w3.org/1999/xhtml",Vr=Vn,Cr=!1,ai=void 0,Dr=["application/xhtml+xml","text/html"],Jr="text/html",rn=void 0,fi=null,Ei=Ht.createElement("form"),wi=function(Er){fi&&fi===Er||(Er&&"object"===(void 0===Er?"undefined":Jt(Er))||(Er={}),Er=ce(Er),sn="ALLOWED_TAGS"in Er?he({},Er.ALLOWED_TAGS):An,Bn="ALLOWED_ATTR"in Er?he({},Er.ALLOWED_ATTR):ir,yt="ADD_URI_SAFE_ATTR"in Er?he(ce(qe),Er.ADD_URI_SAFE_ATTR):qe,Ct="ADD_DATA_URI_TAGS"in Er?he(ce(rt),Er.ADD_DATA_URI_TAGS):rt,Xe="FORBID_CONTENTS"in Er?he({},Er.FORBID_CONTENTS):Vt,mr="FORBID_TAGS"in Er?he({},Er.FORBID_TAGS):{},_r="FORBID_ATTR"in Er?he({},Er.FORBID_ATTR):{},Ke="USE_PROFILES"in Er&&Er.USE_PROFILES,Nr=!1!==Er.ALLOW_ARIA_ATTR,br=!1!==Er.ALLOW_DATA_ATTR,Jn=Er.ALLOW_UNKNOWN_PROTOCOLS||!1,rr=Er.SAFE_FOR_TEMPLATES||!1,Mr=Er.WHOLE_DOCUMENT||!1,Mi=Er.RETURN_DOM||!1,Oi=Er.RETURN_DOM_FRAGMENT||!1,Xr=!1!==Er.RETURN_DOM_IMPORT,Kr=Er.RETURN_TRUSTED_TYPE||!1,Li=Er.FORCE_BODY||!1,di=!1!==Er.SANITIZE_DOM,se=!1!==Er.KEEP_CONTENT,ct=Er.IN_PLACE||!1,Nn=Er.ALLOWED_URI_REGEXP||Nn,Vr=Er.NAMESPACE||Vn,ai=ai=-1===Dr.indexOf(Er.PARSER_MEDIA_TYPE)?Jr:Er.PARSER_MEDIA_TYPE,rn="application/xhtml+xml"===ai?function(st){return st}:U,rr&&(br=!1),Oi&&(Mi=!0),Ke&&(sn=he({},[].concat(zt(F))),Bn=[],!0===Ke.html&&(he(sn,Se),he(Bn,je)),!0===Ke.svg&&(he(sn,Oe),he(Bn,Et),he(Bn,nn)),!0===Ke.svgFilters&&(he(sn,be),he(Bn,Et),he(Bn,nn)),!0===Ke.mathMl&&(he(sn,He),he(Bn,lt),he(Bn,nn))),Er.ADD_TAGS&&(sn===An&&(sn=ce(sn)),he(sn,Er.ADD_TAGS)),Er.ADD_ATTR&&(Bn===ir&&(Bn=ce(Bn)),he(Bn,Er.ADD_ATTR)),Er.ADD_URI_SAFE_ATTR&&he(yt,Er.ADD_URI_SAFE_ATTR),Er.FORBID_CONTENTS&&(Xe===Vt&&(Xe=ce(Xe)),he(Xe,Er.FORBID_CONTENTS)),se&&(sn["#text"]=!0),Mr&&he(sn,["html","head","body"]),sn.table&&(he(sn,["tbody"]),delete mr.tbody),_&&_(Er),fi=Er)},_o=he({},["mi","mo","mn","ms","mtext"]),ki=he({},["foreignobject","desc","title","annotation-xml"]),to=he({},Oe);he(to,be),he(to,ue);var qi=he({},He);he(qi,$e);var Wi=function(Er){var st=ut(Er);st&&st.tagName||(st={namespaceURI:Vn,tagName:"template"});var pn=U(Er.tagName),ee=U(st.tagName);if(Er.namespaceURI===or)return st.namespaceURI===Vn?"svg"===pn:st.namespaceURI===$t?"svg"===pn&&("annotation-xml"===ee||_o[ee]):Boolean(to[pn]);if(Er.namespaceURI===$t)return st.namespaceURI===Vn?"math"===pn:st.namespaceURI===or?"math"===pn&&ki[ee]:Boolean(qi[pn]);if(Er.namespaceURI===Vn){if(st.namespaceURI===or&&!ki[ee]||st.namespaceURI===$t&&!_o[ee])return!1;var Ve=he({},["title","style","font","a","script"]);return!qi[pn]&&(Ve[pn]||!to[pn])}return!1},eo=function(Er){z(er.removed,{element:Er});try{Er.parentNode.removeChild(Er)}catch(st){try{Er.outerHTML=yn}catch(pn){Er.remove()}}},Gi=function(Er,st){try{z(er.removed,{attribute:st.getAttributeNode(Er),from:st})}catch(pn){z(er.removed,{attribute:null,from:st})}if(st.removeAttribute(Er),"is"===Er&&!Bn[Er])if(Mi||Oi)try{eo(st)}catch(pn){}else try{st.setAttribute(Er,"")}catch(pn){}},Wo=function(Er){var st=void 0,pn=void 0;if(Li)Er="<remove></remove>"+Er;else{var ee=M(Er,/^[\r\n\t ]+/);pn=ee&&ee[0]}"application/xhtml+xml"===ai&&(Er='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+Er+"</body></html>");var Ve=Tt?Tt.createHTML(Er):Er;if(Vr===Vn)try{st=(new En).parseFromString(Ve,ai)}catch(Tn){}if(!st||!st.documentElement){st=jt.createDocument(Vr,"template",null);try{st.documentElement.innerHTML=Cr?"":Ve}catch(Tn){}}var fn=st.body||st.documentElement;return Er&&pn&&fn.insertBefore(Ht.createTextNode(pn),fn.childNodes[0]||null),Vr===Vn?Ir.call(st,Mr?"html":"body")[0]:Mr?st.documentElement:fn},Ro=function(Er){return hn.call(Er.ownerDocument||Er,Er,dn.SHOW_ELEMENT|dn.SHOW_COMMENT|dn.SHOW_TEXT,null,!1)},Bo=function(Er){return!(Er instanceof Sn||Er instanceof $n||"string"==typeof Er.nodeName&&"string"==typeof Er.textContent&&"function"==typeof Er.removeChild&&Er.attributes instanceof qn&&"function"==typeof Er.removeAttribute&&"function"==typeof Er.setAttribute&&"string"==typeof Er.namespaceURI&&"function"==typeof Er.insertBefore)},Ko=function(Er){return"object"===(void 0===Cn?"undefined":Jt(Cn))?Er instanceof Cn:Er&&"object"===(void 0===Er?"undefined":Jt(Er))&&"number"==typeof Er.nodeType&&"string"==typeof Er.nodeName},ts=function(Er,st,pn){Ue[Er]&&j(Ue[Er],function(ee){ee.call(er,st,pn,fi)})},ua=function(Er){var st=void 0;if(ts("beforeSanitizeElements",Er,null),Bo(Er)||M(Er.nodeName,/[\u0080-\uFFFF]/))return eo(Er),!0;var pn=rn(Er.nodeName);if(ts("uponSanitizeElement",Er,{tagName:pn,allowedTags:sn}),!Ko(Er.firstElementChild)&&(!Ko(Er.content)||!Ko(Er.content.firstElementChild))&&ie(/<[/\w]/g,Er.innerHTML)&&ie(/<[/\w]/g,Er.textContent)||"select"===pn&&ie(/<template/i,Er.innerHTML))return eo(Er),!0;if(!sn[pn]||mr[pn]){if(se&&!Xe[pn]){var ee=ut(Er)||Er.parentNode,Ve=Xt(Er)||Er.childNodes;if(Ve&&ee)for(var fn=Ve.length-1;fn>=0;--fn)ee.insertBefore(mn(Ve[fn],!0),jn(Er))}return eo(Er),!0}return Er instanceof Kt&&!Wi(Er)?(eo(Er),!0):"noscript"!==pn&&"noembed"!==pn||!ie(/<\/no(script|embed)/i,Er.innerHTML)?(rr&&3===Er.nodeType&&(st=I(st=Er.textContent,nt," "),st=I(st,at," "),Er.textContent!==st&&(z(er.removed,{element:Er.cloneNode()}),Er.textContent=st)),ts("afterSanitizeElements",Er,null),!1):(eo(Er),!0)},ds=function(Er,st,pn){if(di&&("id"===st||"name"===st)&&(pn in Ht||pn in Ei))return!1;if((!br||_r[st]||!ie(it,st))&&(!Nr||!ie(Pt,st))){if(!Bn[st]||_r[st])return!1;if(!yt[st]&&!ie(Nn,I(pn,ot,""))&&("src"!==st&&"xlink:href"!==st&&"href"!==st||"script"===Er||0!==J(pn,"data:")||!Ct[Er])&&(!Jn||ie(Ut,I(pn,ot,"")))&&pn)return!1}return!0},qo=function(Er){var st=void 0,pn=void 0,ee=void 0,Ve=void 0;ts("beforeSanitizeAttributes",Er,null);var fn=Er.attributes;if(fn){var Tn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Bn};for(Ve=fn.length;Ve--;){var $r=st=fn[Ve],ti=$r.name,Ri=$r.namespaceURI;if(pn=B(st.value),ee=rn(ti),Tn.attrName=ee,Tn.attrValue=pn,Tn.keepAttr=!0,Tn.forceKeepAttr=void 0,ts("uponSanitizeAttribute",Er,Tn),pn=Tn.attrValue,!Tn.forceKeepAttr&&(Gi(ti,Er),Tn.keepAttr))if(ie(/\/>/i,pn))Gi(ti,Er);else{rr&&(pn=I(pn,nt," "),pn=I(pn,at," "));var wo=rn(Er.nodeName);if(ds(wo,ee,pn))try{Ri?Er.setAttributeNS(Ri,ti,pn):Er.setAttribute(ti,pn),H(er.removed)}catch(gi){}}}ts("afterSanitizeAttributes",Er,null)}},oa=function Er(st){var pn=void 0,ee=Ro(st);for(ts("beforeSanitizeShadowDOM",st,null);pn=ee.nextNode();)ts("uponSanitizeShadowNode",pn,null),ua(pn)||(pn.content instanceof tr&&Er(pn.content),qo(pn));ts("afterSanitizeShadowDOM",st,null)};return er.sanitize=function(Er,st){var pn=void 0,ee=void 0,Ve=void 0,fn=void 0,Tn=void 0;if((Cr=!Er)&&(Er="\x3c!--\x3e"),"string"!=typeof Er&&!Ko(Er)){if("function"!=typeof Er.toString)throw oe("toString is not a function");if("string"!=typeof(Er=Er.toString()))throw oe("dirty is not a string, aborting")}if(!er.isSupported){if("object"===Jt(Rn.toStaticHTML)||"function"==typeof Rn.toStaticHTML){if("string"==typeof Er)return Rn.toStaticHTML(Er);if(Ko(Er))return Rn.toStaticHTML(Er.outerHTML)}return Er}if(yi||wi(st),er.removed=[],"string"==typeof Er&&(ct=!1),!ct)if(Er instanceof Cn)1===(ee=(pn=Wo("\x3c!----\x3e")).ownerDocument.importNode(Er,!0)).nodeType&&"BODY"===ee.nodeName||"HTML"===ee.nodeName?pn=ee:pn.appendChild(ee);else{if(!Mi&&!rr&&!Mr&&-1===Er.indexOf("<"))return Tt&&Kr?Tt.createHTML(Er):Er;if(!(pn=Wo(Er)))return Mi?null:yn}pn&&Li&&eo(pn.firstChild);for(var $r=Ro(ct?Er:pn);Ve=$r.nextNode();)3===Ve.nodeType&&Ve===fn||ua(Ve)||(Ve.content instanceof tr&&oa(Ve.content),qo(Ve),fn=Ve);if(fn=null,ct)return Er;if(Mi){if(Oi)for(Tn=Qn.call(pn.ownerDocument);pn.firstChild;)Tn.appendChild(pn.firstChild);else Tn=pn;return Xr&&(Tn=ht.call(Mn,Tn,!0)),Tn}var ti=Mr?pn.outerHTML:pn.innerHTML;return rr&&(ti=I(ti,nt," "),ti=I(ti,at," ")),Tt&&Kr?Tt.createHTML(ti):ti},er.setConfig=function(Er){wi(Er),yi=!0},er.clearConfig=function(){fi=null,yi=!1},er.isValidAttribute=function(Er,st,pn){fi||wi({});var ee=rn(Er),Ve=rn(st);return ds(ee,Ve,pn)},er.addHook=function(Er,st){"function"==typeof st&&(Ue[Er]=Ue[Er]||[],z(Ue[Er],st))},er.removeHook=function(Er){Ue[Er]&&H(Ue[Er])},er.removeHooks=function(Er){Ue[Er]&&(Ue[Er]=[])},er.removeAllHooks=function(){Ue={}},er}()}()},function(g,o,t){var e=t(17),s=t(58),a=t(41),l=t(35),u=t(329),h=e.Object;g.exports=u?function(_){return"symbol"==typeof _}:function(_){var m=s("Symbol");return a(m)&&l(m.prototype,h(_))}},function(g,o,t){var e=t(128),s=t(33);g.exports=!!Object.getOwnPropertySymbols&&!s(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&e&&e<41})},function(g,o,t){var e=t(73);g.exports=function(s,a){var l=s[a];return null==l?void 0:e(l)}},function(g,o,t){var e=t(96),s=t(213);(g.exports=function(a,l){return s[a]||(s[a]=void 0!==l?l:{})})("versions",[]).push({version:"3.19.1",mode:e?"pure":"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})},function(g,o,t){var e=t(17),s=t(487),a="__core-js_shared__",l=e[a]||s(a,{});g.exports=l},function(g,o,t){var e=t(17),s=t(43),a=e.document,l=s(a)&&s(a.createElement);g.exports=function(u){return l?a.createElement(u):{}}},function(g,o,t){var e=t(488);g.exports=function(s,a){return new(e(s))(0===a?0:a)}},function(g,o,t){var e={};e[t(38)("toStringTag")]="z",g.exports="[object z]"===String(e)},function(g,o,t){var e=t(27),s=t(41),a=t(213),l=e(Function.toString);s(a.inspectSource)||(a.inspectSource=function(u){return l(u)}),g.exports=a.inspectSource},function(g,o,t){var e=t(48),s=t(63),a=t(51),l=t(61),u=t(149);g.exports=e?Object.defineProperties:function(h,_){a(h);for(var m,b=l(_),T=u(_),D=T.length,R=0;D>R;)s.f(h,m=T[R++],b[m]);return h}},function(g,o,t){var e=t(61),s=t(220),a=t(74),l=function(u){return function(h,_,m){var b,T=e(h),D=a(T),R=s(m,D);if(u&&_!=_){for(;D>R;)if((b=T[R++])!=b)return!0}else for(;D>R;R++)if((u||R in T)&&T[R]===_)return u||R||0;return!u&&-1}};g.exports={includes:l(!0),indexOf:l(!1)}},function(g,o,t){var e=t(129),s=Math.max,a=Math.min;g.exports=function(l,u){var h=e(l);return h<0?s(h+u,0):a(h,u)}},function(g,o){g.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(g,o){o.f=Object.getOwnPropertySymbols},function(g,o,t){var e=t(38);o.f=e},function(g,o){g.exports=function(){}},function(g,o,t){"use strict";var e=t(22),s=t(50),a=t(96),l=t(339),u=t(41),h=t(340),_=t(175),m=t(176),b=t(100),T=t(85),D=t(99),R=t(38),j=t(130),H=t(341),z=l.PROPER,U=l.CONFIGURABLE,M=H.IteratorPrototype,I=H.BUGGY_SAFARI_ITERATORS,J=R("iterator"),B="keys",ie="values",oe="entries",fe=function(){return this};g.exports=function(ne,he,ce,Ae,Se,Oe,be){h(ce,he,Ae);var ue,He,$e,F=function(Qe){if(Qe===Se&&St)return St;if(!I&&Qe in lt)return lt[Qe];switch(Qe){case B:case ie:case oe:return function(){return new ce(this,Qe)}}return function(){return new ce(this)}},je=he+" Iterator",Et=!1,lt=ne.prototype,nn=lt[J]||lt["@@iterator"]||Se&<[Se],St=!I&&nn||F(Se),Ot="Array"==he&<.entries||nn;if(Ot&&(ue=_(Ot.call(new ne)))!==Object.prototype&&ue.next&&(a||_(ue)===M||(m?m(ue,M):u(ue[J])||D(ue,J,fe)),b(ue,je,!0,!0),a&&(j[je]=fe)),z&&Se==ie&&nn&&nn.name!==ie&&(!a&&U?T(lt,"name",ie):(Et=!0,St=function(){return s(nn,this)})),Se)if(He={values:F(ie),keys:Oe?St:F(B),entries:F(oe)},be)for($e in He)(I||Et||!($e in lt))&&D(lt,$e,He[$e]);else e({target:he,proto:!0,forced:I||Et},He);return a&&!be||lt[J]===St||D(lt,J,St,{name:Se}),j[he]=St,He}},function(g,o,t){g.exports=t(532)},function(g,o,t){var e=t(115)(t(69),"Map");g.exports=e},function(g,o,t){var e=t(577),s=t(584),a=t(586),l=t(587),u=t(588);function h(_){var m=-1,b=null==_?0:_.length;for(this.clear();++m<b;){var T=_[m];this.set(T[0],T[1])}}h.prototype.clear=e,h.prototype.delete=s,h.prototype.get=a,h.prototype.has=l,h.prototype.set=u,g.exports=h},function(g,o,t){var e=t(358);g.exports=function(s,a,l){"__proto__"==a&&e?e(s,a,{configurable:!0,enumerable:!0,value:l,writable:!0}):s[a]=l}},function(g,o,t){var e=t(362);g.exports=function(s){var a=new s.constructor(s.byteLength);return new e(a).set(new e(s)),a}},function(g,o,t){var e=t(365)(Object.getPrototypeOf,Object);g.exports=e},function(g,o){g.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},function(g,o){g.exports=function(t){return function(e){return t(e)}}},function(g,o,t){(function(e){var s=t(355),a=o&&!o.nodeType&&o,l=a&&"object"==typeof e&&e&&!e.nodeType&&e,u=l&&l.exports===a&&s.process,h=function(){try{return l&&l.require&&l.require("util").types||u&&u.binding&&u.binding("util")}catch(m){}}();e.exports=h}).call(this,t(183)(g))},function(g,o,t){var e=t(229),s=t(103),a=Object.prototype.hasOwnProperty;g.exports=function(l,u,h){var _=l[u];a.call(l,u)&&s(_,h)&&(void 0!==h||u in l)||e(l,u,h)}},function(g,o){g.exports=function(t){return t}},function(g,o,t){g.exports=t(607)},function(g,o,t){g.exports=t(608)},function(g,o,t){var e=t(17),s=t(50),a=t(73),l=t(51),u=t(170),h=t(154),_=e.TypeError;g.exports=function(m,b){var T=arguments.length<2?h(m):b;if(a(T))return l(s(T,m));throw _(u(m)+" is not iterable")}},function(g,o){g.exports=function(t,e){for(var s=-1,a=e.length,l=t.length;++s<a;)t[l+s]=e[s];return t}},function(g,o,t){var e=t(688),s=t(396),a=Object.prototype.propertyIsEnumerable,l=Object.getOwnPropertySymbols;g.exports=l?function(h){return null==h?[]:(h=Object(h),e(l(h),function(_){return a.call(h,_)}))}:s},function(g,o,t){var e=t(156),s=t(136);g.exports=function(a,l){for(var u=0,h=(l=e(l,a)).length;null!=a&&u<h;)a=a[s(l[u++])];return u&&u==h?a:void 0}},function(g,o,t){var e=t(52),s=t(188),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,l=/^\w*$/;g.exports=function(u,h){if(e(u))return!1;var _=typeof u;return!("number"!=_&&"symbol"!=_&&"boolean"!=_&&null!=u&&!s(u))||l.test(u)||!a.test(u)||null!=h&&u in Object(h)}},function(g,o,t){"use strict";var e,s="object"==typeof Reflect?Reflect:null,a=s&&"function"==typeof s.apply?s.apply:function(U,M,I){return Function.prototype.apply.call(U,M,I)};e=s&&"function"==typeof s.ownKeys?s.ownKeys:Object.getOwnPropertySymbols?function(U){return Object.getOwnPropertyNames(U).concat(Object.getOwnPropertySymbols(U))}:function(U){return Object.getOwnPropertyNames(U)};var l=Number.isNaN||function(U){return U!=U};function u(){u.init.call(this)}g.exports=u,g.exports.once=function(U,M){return new Promise(function(I,J){function B(oe){U.removeListener(M,ie),J(oe)}function ie(){"function"==typeof U.removeListener&&U.removeListener("error",B),I([].slice.call(arguments))}var oe;z(U,M,ie,{once:!0}),"error"!==M&&("function"==typeof(oe=U).on&&z(oe,"error",B,{once:!0}))})},u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var h=10;function _(U){if("function"!=typeof U)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof U)}function m(U){return void 0===U._maxListeners?u.defaultMaxListeners:U._maxListeners}function b(U,M,I,J){var B,ie,oe;if(_(I),void 0===(ie=U._events)?(ie=U._events=Object.create(null),U._eventsCount=0):(void 0!==ie.newListener&&(U.emit("newListener",M,I.listener?I.listener:I),ie=U._events),oe=ie[M]),void 0===oe)oe=ie[M]=I,++U._eventsCount;else if("function"==typeof oe?oe=ie[M]=J?[I,oe]:[oe,I]:J?oe.unshift(I):oe.push(I),(B=m(U))>0&&oe.length>B&&!oe.warned){oe.warned=!0;var ne=new Error("Possible EventEmitter memory leak detected. "+oe.length+" "+String(M)+" listeners added. Use emitter.setMaxListeners() to increase limit");ne.name="MaxListenersExceededWarning",ne.emitter=U,ne.type=M,ne.count=oe.length,console&&console.warn&&console.warn(ne)}return U}function T(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function D(U,M,I){var J={fired:!1,wrapFn:void 0,target:U,type:M,listener:I},B=T.bind(J);return B.listener=I,J.wrapFn=B,B}function R(U,M,I){var J=U._events;if(void 0===J)return[];var B=J[M];return void 0===B?[]:"function"==typeof B?I?[B.listener||B]:[B]:I?function(ie){for(var oe=new Array(ie.length),fe=0;fe<oe.length;++fe)oe[fe]=ie[fe].listener||ie[fe];return oe}(B):H(B,B.length)}function j(U){var M=this._events;if(void 0!==M){var I=M[U];if("function"==typeof I)return 1;if(void 0!==I)return I.length}return 0}function H(U,M){for(var I=new Array(M),J=0;J<M;++J)I[J]=U[J];return I}function z(U,M,I,J){if("function"==typeof U.on)J.once?U.once(M,I):U.on(M,I);else{if("function"!=typeof U.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof U);U.addEventListener(M,function B(ie){J.once&&U.removeEventListener(M,B),I(ie)})}}Object.defineProperty(u,"defaultMaxListeners",{enumerable:!0,get:function(){return h},set:function(U){if("number"!=typeof U||U<0||l(U))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+U+".");h=U}}),u.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},u.prototype.setMaxListeners=function(U){if("number"!=typeof U||U<0||l(U))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+U+".");return this._maxListeners=U,this},u.prototype.getMaxListeners=function(){return m(this)},u.prototype.emit=function(U){for(var M=[],I=1;I<arguments.length;I++)M.push(arguments[I]);var J="error"===U,B=this._events;if(void 0!==B)J=J&&void 0===B.error;else if(!J)return!1;if(J){var ie;if(M.length>0&&(ie=M[0]),ie instanceof Error)throw ie;var oe=new Error("Unhandled error."+(ie?" ("+ie.message+")":""));throw oe.context=ie,oe}var fe=B[U];if(void 0===fe)return!1;if("function"==typeof fe)a(fe,this,M);else{var ne=fe.length,he=H(fe,ne);for(I=0;I<ne;++I)a(he[I],this,M)}return!0},u.prototype.on=u.prototype.addListener=function(U,M){return b(this,U,M,!1)},u.prototype.prependListener=function(U,M){return b(this,U,M,!0)},u.prototype.once=function(U,M){return _(M),this.on(U,D(this,U,M)),this},u.prototype.prependOnceListener=function(U,M){return _(M),this.prependListener(U,D(this,U,M)),this},u.prototype.off=u.prototype.removeListener=function(U,M){var I,J,B,ie,oe;if(_(M),void 0===(J=this._events))return this;if(void 0===(I=J[U]))return this;if(I===M||I.listener===M)0==--this._eventsCount?this._events=Object.create(null):(delete J[U],J.removeListener&&this.emit("removeListener",U,I.listener||M));else if("function"!=typeof I){for(B=-1,ie=I.length-1;ie>=0;ie--)if(I[ie]===M||I[ie].listener===M){oe=I[ie].listener,B=ie;break}if(B<0)return this;0===B?I.shift():function(fe,ne){for(;ne+1<fe.length;ne++)fe[ne]=fe[ne+1];fe.pop()}(I,B),1===I.length&&(J[U]=I[0]),void 0!==J.removeListener&&this.emit("removeListener",U,oe||M)}return this},u.prototype.removeAllListeners=function(U){var M,I,J;if(void 0===(I=this._events))return this;if(void 0===I.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==I[U]&&(0==--this._eventsCount?this._events=Object.create(null):delete I[U]),this;if(0===arguments.length){var B,ie=Object.keys(I);for(J=0;J<ie.length;++J)"removeListener"!==(B=ie[J])&&this.removeAllListeners(B);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(M=I[U]))this.removeListener(U,M);else if(void 0!==M)for(J=M.length-1;J>=0;J--)this.removeListener(U,M[J]);return this},u.prototype.listeners=function(U){return R(this,U,!0)},u.prototype.rawListeners=function(U){return R(this,U,!1)},u.listenerCount=function(U,M){return"function"==typeof U.listenerCount?U.listenerCount(M):j.call(U,M)},u.prototype.listenerCount=j,u.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},function(g,o,t){(o=g.exports=t(402)).Stream=o,o.Readable=o,o.Writable=t(246),o.Duplex=t(119),o.Transform=t(407),o.PassThrough=t(720)},function(g,o,t){"use strict";(function(e,s,a){var l=t(190);function u(ne){var he=this;this.next=null,this.entry=null,this.finish=function(){!function(ce,Ae,Se){var Oe=ce.entry;for(ce.entry=null;Oe;){var be=Oe.callback;Ae.pendingcb--,be(void 0),Oe=Oe.next}Ae.corkedRequestsFree?Ae.corkedRequestsFree.next=ce:Ae.corkedRequestsFree=ce}(he,ne)}}g.exports=M;var h,_=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?s:l.nextTick;M.WritableState=U;var m=Object.create(t(157));m.inherits=t(64);var j,b={deprecate:t(719)},T=t(403),D=t(65).Buffer,R=a.Uint8Array||function(){},H=t(404);function z(){}function U(ne,he){h=h||t(119);var ce=he instanceof h;this.objectMode=!!(ne=ne||{}).objectMode,ce&&(this.objectMode=this.objectMode||!!ne.writableObjectMode);var Ae=ne.highWaterMark,Se=ne.writableHighWaterMark;this.highWaterMark=Ae||0===Ae?Ae:ce&&(Se||0===Se)?Se:this.objectMode?16:16384,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1,this.decodeStrings=!(!1===ne.decodeStrings),this.defaultEncoding=ne.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ue){!function(He,$e){var nn,F=He._writableState,je=F.sync,Et=F.writecb;if((nn=F).writing=!1,nn.writecb=null,nn.length-=nn.writelen,nn.writelen=0,$e)!function(nn,St,Ot,Qe,It){--St.pendingcb,Ot?(l.nextTick(It,Qe),l.nextTick(fe,nn,St),nn._writableState.errorEmitted=!0,nn.emit("error",Qe)):(It(Qe),nn._writableState.errorEmitted=!0,nn.emit("error",Qe),fe(nn,St))}(He,F,je,$e,Et);else{var lt=ie(F);lt||F.corked||F.bufferProcessing||!F.bufferedRequest||B(He,F),je?_(J,He,F,lt,Et):J(He,F,lt,Et)}}(he,ue)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new u(this)}function M(ne){if(h=h||t(119),!(j.call(M,this)||this instanceof h))return new M(ne);this._writableState=new U(ne,this),this.writable=!0,ne&&("function"==typeof ne.write&&(this._write=ne.write),"function"==typeof ne.writev&&(this._writev=ne.writev),"function"==typeof ne.destroy&&(this._destroy=ne.destroy),"function"==typeof ne.final&&(this._final=ne.final)),T.call(this)}function I(ne,he,ce,Ae,Se,Oe,be){he.writelen=Ae,he.writecb=be,he.writing=!0,he.sync=!0,ce?ne._writev(Se,he.onwrite):ne._write(Se,Oe,he.onwrite),he.sync=!1}function J(ne,he,ce,Ae){var Se,Oe;ce||(Se=ne,0===(Oe=he).length&&Oe.needDrain&&(Oe.needDrain=!1,Se.emit("drain"))),he.pendingcb--,Ae(),fe(ne,he)}function B(ne,he){he.bufferProcessing=!0;var ce=he.bufferedRequest;if(ne._writev&&ce&&ce.next){var Se=new Array(he.bufferedRequestCount),Oe=he.corkedRequestsFree;Oe.entry=ce;for(var be=0,ue=!0;ce;)Se[be]=ce,ce.isBuf||(ue=!1),ce=ce.next,be+=1;Se.allBuffers=ue,I(ne,he,!0,he.length,Se,"",Oe.finish),he.pendingcb++,he.lastBufferedRequest=null,Oe.next?(he.corkedRequestsFree=Oe.next,Oe.next=null):he.corkedRequestsFree=new u(he),he.bufferedRequestCount=0}else{for(;ce;){var He=ce.chunk;if(I(ne,he,!1,he.objectMode?1:He.length,He,ce.encoding,ce.callback),ce=ce.next,he.bufferedRequestCount--,he.writing)break}null===ce&&(he.lastBufferedRequest=null)}he.bufferedRequest=ce,he.bufferProcessing=!1}function ie(ne){return ne.ending&&0===ne.length&&null===ne.bufferedRequest&&!ne.finished&&!ne.writing}function oe(ne,he){ne._final(function(ce){he.pendingcb--,ce&&ne.emit("error",ce),he.prefinished=!0,ne.emit("prefinish"),fe(ne,he)})}function fe(ne,he){var Ae,Se,ce=ie(he);return ce&&(Ae=ne,(Se=he).prefinished||Se.finalCalled||("function"==typeof Ae._final?(Se.pendingcb++,Se.finalCalled=!0,l.nextTick(oe,Ae,Se)):(Se.prefinished=!0,Ae.emit("prefinish"))),0===he.pendingcb&&(he.finished=!0,ne.emit("finish"))),ce}m.inherits(M,T),U.prototype.getBuffer=function(){for(var ne=this.bufferedRequest,he=[];ne;)he.push(ne),ne=ne.next;return he},function(){try{Object.defineProperty(U.prototype,"buffer",{get:b.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(ne){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(j=Function.prototype[Symbol.hasInstance],Object.defineProperty(M,Symbol.hasInstance,{value:function(ne){return!!j.call(this,ne)||this===M&&ne&&ne._writableState instanceof U}})):j=function(ne){return ne instanceof this},M.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},M.prototype.write=function(ne,he,ce){var Ae,ue,He,$e,Se=this._writableState,Oe=!1,be=!Se.objectMode&&(D.isBuffer(Ae=ne)||Ae instanceof R);return be&&!D.isBuffer(ne)&&(ne=D.from(ne)),"function"==typeof he&&(ce=he,he=null),be?he="buffer":he||(he=Se.defaultEncoding),"function"!=typeof ce&&(ce=z),Se.ended?(ue=this,He=ce,$e=new Error("write after end"),ue.emit("error",$e),l.nextTick(He,$e)):(be||function(ue,He,$e,F){var je=!0,Et=!1;return null===$e?Et=new TypeError("May not write null values to stream"):"string"==typeof $e||void 0===$e||He.objectMode||(Et=new TypeError("Invalid non-string/buffer chunk")),Et&&(ue.emit("error",Et),l.nextTick(F,Et),je=!1),je}(this,Se,ne,ce))&&(Se.pendingcb++,Oe=function(ue,He,$e,F,je,Et){if(!$e){var lt=(It=F,(Qe=He).objectMode||!1===Qe.decodeStrings||"string"!=typeof It||(It=D.from(It,je)),It);F!==lt&&($e=!0,je="buffer",F=lt)}var Qe,It,nn=He.objectMode?1:F.length;He.length+=nn;var St=He.length<He.highWaterMark;if(St||(He.needDrain=!0),He.writing||He.corked){var Ot=He.lastBufferedRequest;He.lastBufferedRequest={chunk:F,encoding:je,isBuf:$e,callback:Et,next:null},Ot?Ot.next=He.lastBufferedRequest:He.bufferedRequest=He.lastBufferedRequest,He.bufferedRequestCount+=1}else I(ue,He,!1,nn,F,je,Et);return St}(this,Se,be,ne,he,ce)),Oe},M.prototype.cork=function(){this._writableState.corked++},M.prototype.uncork=function(){var ne=this._writableState;ne.corked&&(ne.corked--,ne.writing||ne.corked||ne.finished||ne.bufferProcessing||!ne.bufferedRequest||B(this,ne))},M.prototype.setDefaultEncoding=function(ne){if("string"==typeof ne&&(ne=ne.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((ne+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+ne);return this._writableState.defaultEncoding=ne,this},Object.defineProperty(M.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),M.prototype._write=function(ne,he,ce){ce(new Error("_write() is not implemented"))},M.prototype._writev=null,M.prototype.end=function(ne,he,ce){var Oe,be,Ae=this._writableState;"function"==typeof ne?(ce=ne,ne=null,he=null):"function"==typeof he&&(ce=he,he=null),null!=ne&&this.write(ne,he),Ae.corked&&(Ae.corked=1,this.uncork()),Ae.ending||Ae.finished||(this,be=ce,(Oe=Ae).ending=!0,fe(this,Oe),be&&(Oe.finished?l.nextTick(be):this.once("finish",be)),Oe.ended=!0,this.writable=!1)},Object.defineProperty(M.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ne){this._writableState&&(this._writableState.destroyed=ne)}}),M.prototype.destroy=H.destroy,M.prototype._undestroy=H.undestroy,M.prototype._destroy=function(ne,he){this.end(),he(ne)}}).call(this,t(118),t(405).setImmediate,t(57))},function(g,o,t){"use strict";g.exports=t(750)()?Array.from:t(751)},function(g,o,t){"use strict";var e=t(768),s=t(121),a=t(137),l=Array.prototype.indexOf,u=Object.prototype.hasOwnProperty,h=Math.abs,_=Math.floor;g.exports=function(m){var b,T,D;if(!e(m))return l.apply(this,arguments);for(T=s(a(this).length),D=arguments[1],b=D=isNaN(D)?0:D>=0?_(D):s(this.length)-_(h(D));b<T;++b)if(u.call(this,b)&&e(this[b]))return b;return-1}},function(g,o,t){"use strict";(function(e,s){var a=function(u){if("function"!=typeof u)throw new TypeError(u+" is not a function");return u},l=function(u){var h,_,m=document.createTextNode(""),b=0;return new u(function(){var T;if(h)_&&(h=_.concat(h));else{if(!_)return;h=_}if(_=h,h=null,"function"==typeof _)return T=_,_=null,void T();for(m.data=b=++b%2;_;)T=_.shift(),_.length||(_=null),T()}).observe(m,{characterData:!0}),function(T){a(T),h?"function"==typeof h?h=[h,T]:h.push(T):(h=T,m.data=b=++b%2)}};g.exports=function(){if("object"==typeof e&&e&&"function"==typeof e.nextTick)return e.nextTick;if("function"==typeof queueMicrotask)return function(u){queueMicrotask(a(u))};if("object"==typeof document&&document){if("function"==typeof MutationObserver)return l(MutationObserver);if("function"==typeof WebKitMutationObserver)return l(WebKitMutationObserver)}return"function"==typeof s?function(u){s(a(u))}:"function"==typeof setTimeout||"object"==typeof setTimeout?function(u){setTimeout(a(u),0)}:null}()}).call(this,t(118),t(405).setImmediate)},function(g,o,t){"use strict";var e,s=SyntaxError,a=Function,l=TypeError,u=function(ce){try{return a('"use strict"; return ('+ce+").constructor;")()}catch(Ae){}},h=Object.getOwnPropertyDescriptor;if(h)try{h({},"")}catch(ce){h=null}var _=function(){throw new l},m=h?function(){try{return _}catch(ce){try{return h(arguments,"callee").get}catch(Ae){return _}}}():_,b=t(925)(),T=Object.getPrototypeOf||function(ce){return ce.__proto__},D={},R="undefined"==typeof Uint8Array?e:T(Uint8Array),j={"%AggregateError%":"undefined"==typeof AggregateError?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?e:ArrayBuffer,"%ArrayIteratorPrototype%":b?T([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":D,"%AsyncGenerator%":D,"%AsyncGeneratorFunction%":D,"%AsyncIteratorPrototype%":D,"%Atomics%":"undefined"==typeof Atomics?e:Atomics,"%BigInt%":"undefined"==typeof BigInt?e:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?e:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?e:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?e:FinalizationRegistry,"%Function%":a,"%GeneratorFunction%":D,"%Int8Array%":"undefined"==typeof Int8Array?e:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?e:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":b?T(T([][Symbol.iterator]())):e,"%JSON%":"object"==typeof JSON?JSON:e,"%Map%":"undefined"==typeof Map?e:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&b?T((new Map)[Symbol.iterator]()):e,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?e:Promise,"%Proxy%":"undefined"==typeof Proxy?e:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?e:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?e:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&b?T((new Set)[Symbol.iterator]()):e,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":b?T(""[Symbol.iterator]()):e,"%Symbol%":b?Symbol:e,"%SyntaxError%":s,"%ThrowTypeError%":m,"%TypedArray%":R,"%TypeError%":l,"%Uint8Array%":"undefined"==typeof Uint8Array?e:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?e:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?e:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?e:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?e:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?e:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?e:WeakSet},H=function ce(Ae){var Se;if("%AsyncFunction%"===Ae)Se=u("async function () {}");else if("%GeneratorFunction%"===Ae)Se=u("function* () {}");else if("%AsyncGeneratorFunction%"===Ae)Se=u("async function* () {}");else if("%AsyncGenerator%"===Ae){var Oe=ce("%AsyncGeneratorFunction%");Oe&&(Se=Oe.prototype)}else if("%AsyncIteratorPrototype%"===Ae){var be=ce("%AsyncGenerator%");be&&(Se=T(be.prototype))}return j[Ae]=Se,Se},z={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},U=t(251),M=t(928),I=U.call(Function.call,Array.prototype.concat),J=U.call(Function.apply,Array.prototype.splice),B=U.call(Function.call,String.prototype.replace),ie=U.call(Function.call,String.prototype.slice),oe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,fe=/\\(\\)?/g,ne=function(ce){var Ae=ie(ce,0,1),Se=ie(ce,-1);if("%"===Ae&&"%"!==Se)throw new s("invalid intrinsic syntax, expected closing `%`");if("%"===Se&&"%"!==Ae)throw new s("invalid intrinsic syntax, expected opening `%`");var Oe=[];return B(ce,oe,function(be,ue,He,$e){Oe[Oe.length]=He?B($e,fe,"$1"):ue||be}),Oe},he=function(ce,Ae){var Se,Oe=ce;if(M(z,Oe)&&(Oe="%"+(Se=z[Oe])[0]+"%"),M(j,Oe)){var be=j[Oe];if(be===D&&(be=H(Oe)),void 0===be&&!Ae)throw new l("intrinsic "+ce+" exists, but is not available. Please file an issue!");return{alias:Se,name:Oe,value:be}}throw new s("intrinsic "+ce+" does not exist!")};g.exports=function(ce,Ae){if("string"!=typeof ce||0===ce.length)throw new l("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof Ae)throw new l('"allowMissing" argument must be a boolean');var Se=ne(ce),Oe=Se.length>0?Se[0]:"",be=he("%"+Oe+"%",Ae),ue=be.name,He=be.value,$e=!1,F=be.alias;F&&(Oe=F[0],J(Se,I([0,1],F)));for(var je=1,Et=!0;je<Se.length;je+=1){var lt=Se[je],nn=ie(lt,0,1),St=ie(lt,-1);if(('"'===nn||"'"===nn||"`"===nn||'"'===St||"'"===St||"`"===St)&&nn!==St)throw new s("property names with quotes must have matching quotes");if("constructor"!==lt&&Et||($e=!0),M(j,ue="%"+(Oe+="."+lt)+"%"))He=j[ue];else if(null!=He){if(!(lt in He)){if(!Ae)throw new l("base intrinsic for "+ce+" exists, but the property is not available.");return}if(h&&je+1>=Se.length){var Ot=h(He,lt);He=(Et=!!Ot)&&"get"in Ot&&!("originalValue"in Ot.get)?Ot.get:He[lt]}else Et=M(He,lt),He=He[lt];Et&&!$e&&(j[ue]=He)}}return He}},function(g,o,t){"use strict";var e=t(927);g.exports=Function.prototype.bind||e},function(g,o,t){"use strict";var e=String.prototype.replace,s=/%20/g,l="RFC3986";g.exports={default:l,formatters:{RFC1738:function(u){return e.call(u,s,"+")},RFC3986:function(u){return String(u)}},RFC1738:"RFC1738",RFC3986:l}},function(g,o,t){"use strict";t(77);var e=t(22),s=t(17),a=t(58),l=t(50),u=t(27),h=t(446),_=t(99),m=t(158),b=t(100),T=t(340),D=t(76),R=t(139),j=t(41),H=t(44),z=t(84),U=t(75),M=t(51),I=t(43),J=t(67),B=t(98),ie=t(94),oe=t(239),fe=t(154),ne=t(38),he=t(382),ce=ne("iterator"),Ae="URLSearchParams",Se="URLSearchParamsIterator",Oe=D.set,be=D.getterFor(Ae),ue=D.getterFor(Se),He=a("fetch"),$e=a("Request"),F=a("Headers"),je=$e&&$e.prototype,Et=F&&F.prototype,lt=s.RegExp,nn=s.TypeError,St=s.decodeURIComponent,Ot=s.encodeURIComponent,Qe=u("".charAt),It=u([].join),ae=u([].push),Ie=u("".replace),dt=u([].shift),Jt=u([].splice),zt=u("".split),ln=u("".slice),ar=/\+/g,Ln=Array(4),Rn=function(jn){return Ln[jn-1]||(Ln[jn-1]=lt("((?:%[\\da-f]{2}){"+jn+"})","gi"))},er=function(jn){try{return St(jn)}catch(Xt){return jn}},Mn=function(jn){var Xt=Ie(jn,ar," "),ut=4;try{return St(Xt)}catch(mt){for(;ut;)Xt=Ie(Xt,Rn(ut--),er);return Xt}},Ht=/[!'()~]|%20/g,tr={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Yn=function(jn){return tr[jn]},Cn=function(jn){return Ie(Ot(jn),Ht,Yn)},Kt=function(jn,Xt){if(Xt)for(var ut,mt,Tt=zt(Xt,"&"),yn=0;yn<Tt.length;)(ut=Tt[yn++]).length&&(mt=zt(ut,"="),ae(jn,{key:Mn(dt(mt)),value:Mn(It(mt,"="))}))},dn=function(jn){this.entries.length=0,Kt(this.entries,jn)},Kn=function(jn,Xt){if(jn<Xt)throw nn("Not enough arguments")},qn=T(function(jn,Xt){Oe(this,{type:Se,iterator:oe(be(jn).entries),kind:Xt})},"Iterator",function(){var jn=ue(this),Xt=jn.kind,ut=jn.iterator.next(),mt=ut.value;return ut.done||(ut.value="keys"===Xt?mt.key:"values"===Xt?mt.value:[mt.key,mt.value]),ut}),Sn=function(){R(this,$n);var jn,Xt,ut,mt,Tt,yn,et,jt,hn,Qn=arguments.length>0?arguments[0]:void 0,Ir=this,ht=[];if(Oe(Ir,{type:Ae,entries:ht,updateURL:function(){},updateSearchParams:dn}),void 0!==Qn)if(I(Qn))if(jn=fe(Qn))for(ut=(Xt=oe(Qn,jn)).next;!(mt=l(ut,Xt)).done;){if(yn=(Tt=oe(M(mt.value))).next,(et=l(yn,Tt)).done||(jt=l(yn,Tt)).done||!l(yn,Tt).done)throw nn("Expected sequence with length 2");ae(ht,{key:J(et.value),value:J(jt.value)})}else for(hn in Qn)H(Qn,hn)&&ae(ht,{key:hn,value:J(Qn[hn])});else Kt(ht,"string"==typeof Qn?"?"===Qe(Qn,0)?ln(Qn,1):Qn:J(Qn))},$n=Sn.prototype;if(m($n,{append:function(jn,Xt){Kn(arguments.length,2);var ut=be(this);ae(ut.entries,{key:J(jn),value:J(Xt)}),ut.updateURL()},delete:function(jn){Kn(arguments.length,1);for(var Xt=be(this),ut=Xt.entries,mt=J(jn),Tt=0;Tt<ut.length;)ut[Tt].key===mt?Jt(ut,Tt,1):Tt++;Xt.updateURL()},get:function(jn){Kn(arguments.length,1);for(var Xt=be(this).entries,ut=J(jn),mt=0;mt<Xt.length;mt++)if(Xt[mt].key===ut)return Xt[mt].value;return null},getAll:function(jn){Kn(arguments.length,1);for(var Xt=be(this).entries,ut=J(jn),mt=[],Tt=0;Tt<Xt.length;Tt++)Xt[Tt].key===ut&&ae(mt,Xt[Tt].value);return mt},has:function(jn){Kn(arguments.length,1);for(var Xt=be(this).entries,ut=J(jn),mt=0;mt<Xt.length;)if(Xt[mt++].key===ut)return!0;return!1},set:function(jn,Xt){Kn(arguments.length,1);for(var ut,mt=be(this),Tt=mt.entries,yn=!1,et=J(jn),jt=J(Xt),hn=0;hn<Tt.length;hn++)(ut=Tt[hn]).key===et&&(yn?Jt(Tt,hn--,1):(yn=!0,ut.value=jt));yn||ae(Tt,{key:et,value:jt}),mt.updateURL()},sort:function(){var jn=be(this);he(jn.entries,function(Xt,ut){return Xt.key>ut.key?1:-1}),jn.updateURL()},forEach:function(jn){for(var Xt,ut=be(this).entries,mt=z(jn,arguments.length>1?arguments[1]:void 0),Tt=0;Tt<ut.length;)mt((Xt=ut[Tt++]).value,Xt.key,this)},keys:function(){return new qn(this,"keys")},values:function(){return new qn(this,"values")},entries:function(){return new qn(this,"entries")}},{enumerable:!0}),_($n,ce,$n.entries,{name:"entries"}),_($n,"toString",function(){for(var jn,Xt=be(this).entries,ut=[],mt=0;mt<Xt.length;)jn=Xt[mt++],ae(ut,Cn(jn.key)+"="+Cn(jn.value));return It(ut,"&")},{enumerable:!0}),b(Sn,Ae),e({global:!0,forced:!h},{URLSearchParams:Sn}),!h&&j(F)){var En=u(Et.has),Fn=u(Et.set),Dn=function(jn){if(I(jn)){var Xt,ut=jn.body;if(U(ut)===Ae)return Xt=jn.headers?new F(jn.headers):new F,En(Xt,"content-type")||Fn(Xt,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),B(jn,{body:ie(0,J(ut)),headers:ie(0,Xt)})}return jn};if(j(He)&&e({global:!0,enumerable:!0,forced:!0},{fetch:function(jn){return He(jn,arguments.length>1?Dn(arguments[1]):{})}}),j($e)){var mn=function(jn){return R(this,je),new $e(jn,arguments.length>1?Dn(arguments[1]):{})};je.constructor=mn,mn.prototype=je,e({global:!0,forced:!0},{Request:mn})}}g.exports={URLSearchParams:Sn,getState:be}},function(g,o,t){var e=t(663)("toUpperCase");g.exports=e},function(g,o,t){var e=t(228);function s(a,l){if("function"!=typeof a||null!=l&&"function"!=typeof l)throw new TypeError("Expected a function");var u=function(){var h=arguments,_=l?l.apply(this,h):h[0],m=u.cache;if(m.has(_))return m.get(_);var b=a.apply(this,h);return u.cache=m.set(_,b)||m,b};return u.cache=new(s.Cache||e),u}s.Cache=e,g.exports=s},function(g,o,t){"use strict";t.r(o);var e=t(257),s=t(60),a=t(260);o.default=function(l){return{statePlugins:{err:{reducers:Object(e.default)(l),actions:s,selectors:a}}}}},function(g,o,t){"use strict";t.r(o);var e=t(3),s=t.n(e),a=t(21),l=t.n(a),u=t(4),h=t.n(u),_=t(2),m=t.n(_),b=t(12),T=t.n(b),D=t(197),R=t.n(D),j=t(60),H=t(1),z=t(127),U={line:0,level:"error",message:"Unknown error"};o.default=function(){var M;return M={},s()(M,j.NEW_THROWN_ERR,function(I,J){var B=J.payload,ie=l()(U,B,{type:"thrown"});return I.update("errors",function(oe){return(oe||Object(H.List)()).push(Object(H.fromJS)(ie))}).update("errors",function(oe){return Object(z.default)(oe)})}),s()(M,j.NEW_THROWN_ERR_BATCH,function(I,J){var B=J.payload;return B=h()(B).call(B,function(ie){return Object(H.fromJS)(l()(U,ie,{type:"thrown"}))}),I.update("errors",function(ie){var oe;return m()(oe=ie||Object(H.List)()).call(oe,Object(H.fromJS)(B))}).update("errors",function(ie){return Object(z.default)(ie)})}),s()(M,j.NEW_SPEC_ERR,function(I,J){var B=J.payload,ie=Object(H.fromJS)(B);return ie=ie.set("type","spec"),I.update("errors",function(oe){return(oe||Object(H.List)()).push(Object(H.fromJS)(ie)).sortBy(function(fe){return fe.get("line")})}).update("errors",function(oe){return Object(z.default)(oe)})}),s()(M,j.NEW_SPEC_ERR_BATCH,function(I,J){var B=J.payload;return B=h()(B).call(B,function(ie){return Object(H.fromJS)(l()(U,ie,{type:"spec"}))}),I.update("errors",function(ie){var oe;return m()(oe=ie||Object(H.List)()).call(oe,Object(H.fromJS)(B))}).update("errors",function(ie){return Object(z.default)(ie)})}),s()(M,j.NEW_AUTH_ERR,function(I,J){var B=J.payload,ie=Object(H.fromJS)(l()({},B));return ie=ie.set("type","auth"),I.update("errors",function(oe){return(oe||Object(H.List)()).push(Object(H.fromJS)(ie))}).update("errors",function(oe){return Object(z.default)(oe)})}),s()(M,j.CLEAR,function(I,J){var B,ie=J.payload;if(!ie||!I.get("errors"))return I;var oe=T()(B=I.get("errors")).call(B,function(fe){var ne;return R()(ne=fe.keySeq()).call(ne,function(he){var ce=fe.get(he),Ae=ie[he];return!Ae||ce!==Ae})});return I.merge({errors:oe})}),s()(M,j.CLEAR_BY,function(I,J){var B,ie=J.payload;if(!ie||"function"!=typeof ie)return I;var oe=T()(B=I.get("errors")).call(B,function(fe){return ie(fe)});return I.merge({errors:oe})}),M}},function(g,o,t){"use strict";t.r(o),t.d(o,"transform",function(){return b});var e=t(4),s=t.n(e),a=t(18),l=t.n(a),u=t(20),h=t.n(u),_=t(30),m=t.n(_);function b(T){return s()(T).call(T,function(D){var R,I,j="is not of a type(s)",H=l()(R=D.get("message")).call(R,j);if(H>-1){var z,U,M=h()(z=D.get("message")).call(z,H+j.length).split(",");return D.set("message",h()(U=D.get("message")).call(U,0,H)+(I=M,m()(I).call(I,function(J,B,ie,oe){return ie===oe.length-1&&oe.length>1?J+"or "+B:oe[ie+1]&&oe.length>2?J+B+", ":oe[ie+1]?J+B+" ":J+B},"should be a")))}return D})}},function(g,o,t){"use strict";function e(s,a){return s}t.r(o),t.d(o,"transform",function(){return e}),t(4),t(18),t(39),t(1)},function(g,o,t){"use strict";t.r(o),t.d(o,"allErrors",function(){return a}),t.d(o,"lastError",function(){return l});var e=t(1),s=t(16),a=Object(s.a)(function(u){return u},function(u){return u.get("errors",Object(e.List)())}),l=Object(s.a)(a,function(u){return u.last()})},function(g,o,t){"use strict";t.r(o);var e=t(262),s=t(109),a=t(263),l=t(264);o.default=function(){return{statePlugins:{layout:{reducers:e.default,actions:s,selectors:a},spec:{wrapSelectors:l}}}}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(2),u=t.n(l),h=t(1),_=t(109);o.default=(e={},a()(e,_.UPDATE_LAYOUT,function(m,b){return m.set("layout",b.payload)}),a()(e,_.UPDATE_FILTER,function(m,b){return m.set("filter",b.payload)}),a()(e,_.SHOW,function(m,b){var T=b.payload.shown,D=Object(h.fromJS)(b.payload.thing);return m.update("shown",Object(h.fromJS)({}),function(R){return R.set(D,T)})}),a()(e,_.UPDATE_MODE,function(m,b){var T,D=b.payload.thing,R=b.payload.mode;return m.setIn(u()(T=["modes"]).call(T,D),(R||"")+"")}),e)},function(g,o,t){"use strict";t.r(o),t.d(o,"current",function(){return m}),t.d(o,"currentFilter",function(){return b}),t.d(o,"isShown",function(){return T}),t.d(o,"whatMode",function(){return D}),t.d(o,"showSummary",function(){return R});var e=t(14),s=t.n(e),a=t(2),l=t.n(a),u=t(16),h=t(5),_=t(1),m=function(j){return j.get("layout")},b=function(j){return j.get("filter")},T=function(j,H,z){return H=Object(h.v)(H),j.get("shown",Object(_.fromJS)({})).get(Object(_.fromJS)(H),z)},D=function(j,H){var z,U=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return H=Object(h.v)(H),j.getIn(l()(z=["modes"]).call(z,s()(H)),U)},R=Object(u.a)(function(j){return j},function(j){return!T(j,"editor")})},function(g,o,t){"use strict";t.r(o),t.d(o,"taggedOperations",function(){return u});var e=t(2),s=t.n(e),a=t(20),l=t.n(a),u=function(h,_){return function(m){for(var b,T=arguments.length,D=new Array(T>1?T-1:0),R=1;R<T;R++)D[R-1]=arguments[R];var j=h.apply(void 0,s()(b=[m]).call(b,D)),H=_.getSystem(),z=H.fn,U=H.layoutSelectors,M=H.getConfigs,I=M(),J=I.maxDisplayedTags,B=U.currentFilter();return B&&!0!==B&&"true"!==B&&"false"!==B&&(j=z.opsFilter(j,B)),J&&!isNaN(J)&&J>=0&&(j=l()(j).call(j,0,J)),j}}},function(g,o,t){"use strict";t.r(o);var e=t(266),s=t(46),a=t(88),l=t(267);o.default=function(){return{statePlugins:{spec:{wrapActions:l,reducers:e.default,actions:s,selectors:a}}}}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(14),u=t.n(l),h=t(2),_=t.n(h),m=t(30),b=t.n(m),T=t(4),D=t.n(T),R=t(21),j=t.n(R),H=t(1),z=t(5),U=t(26),M=t(88),I=t(46);o.default=(e={},a()(e,I.UPDATE_SPEC,function(J,B){return"string"==typeof B.payload?J.set("spec",B.payload):J}),a()(e,I.UPDATE_URL,function(J,B){return J.set("url",B.payload+"")}),a()(e,I.UPDATE_JSON,function(J,B){return J.set("json",Object(z.i)(B.payload))}),a()(e,I.UPDATE_RESOLVED,function(J,B){return J.setIn(["resolved"],Object(z.i)(B.payload))}),a()(e,I.UPDATE_RESOLVED_SUBTREE,function(J,B){var ie,oe=B.payload,fe=oe.value,ne=oe.path;return J.setIn(_()(ie=["resolvedSubtrees"]).call(ie,u()(ne)),Object(z.i)(fe))}),a()(e,I.UPDATE_PARAM,function(J,B){var ie,oe,fe=B.payload,ne=fe.path,he=fe.paramName,ce=fe.paramIn,Ae=fe.param,Se=fe.value,Oe=fe.isXml,be=Ae?Object(z.A)(Ae):_()(ie="".concat(ce,".")).call(ie,he),ue=Oe?"value_xml":"value";return J.setIn(_()(oe=["meta","paths"]).call(oe,u()(ne),["parameters",be,ue]),Se)}),a()(e,I.UPDATE_EMPTY_PARAM_INCLUSION,function(J,B){var ie,oe,fe=B.payload,ne=fe.pathMethod,he=fe.paramName,ce=fe.paramIn,Ae=fe.includeEmptyValue;if(!he||!ce)return console.warn("Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey."),J;var Se=_()(ie="".concat(ce,".")).call(ie,he);return J.setIn(_()(oe=["meta","paths"]).call(oe,u()(ne),["parameter_inclusions",Se]),Ae)}),a()(e,I.VALIDATE_PARAMS,function(J,B){var ie,oe,fe=B.payload,ne=fe.pathMethod,he=fe.isOAS3,ce=Object(M.specJsonWithResolvedSubtrees)(J).getIn(_()(ie=["paths"]).call(ie,u()(ne))),Ae=Object(M.parameterValues)(J,ne).toJS();return J.updateIn(_()(oe=["meta","paths"]).call(oe,u()(ne),["parameters"]),Object(H.fromJS)({}),function(Se){var Oe;return b()(Oe=ce.get("parameters",Object(H.List)())).call(Oe,function(be,ue){var He=Object(z.B)(ue,Ae),$e=Object(M.parameterInclusionSettingFor)(J,ne,ue.get("name"),ue.get("in")),F=Object(z.K)(ue,He,{bypassRequiredCheck:$e,isOAS3:he});return be.setIn([Object(z.A)(ue),"errors"],Object(H.fromJS)(F))},Se)})}),a()(e,I.CLEAR_VALIDATE_PARAMS,function(J,B){var ie,oe=B.payload.pathMethod;return J.updateIn(_()(ie=["meta","paths"]).call(ie,u()(oe),["parameters"]),Object(H.fromJS)([]),function(fe){return D()(fe).call(fe,function(ne){return ne.set("errors",Object(H.fromJS)([]))})})}),a()(e,I.SET_RESPONSE,function(J,B){var ie,oe=B.payload,fe=oe.res,ne=oe.path,he=oe.method;(ie=fe.error?j()({error:!0,name:fe.err.name,message:fe.err.message,statusCode:fe.err.statusCode},fe.err.response):fe).headers=ie.headers||{};var ce=J.setIn(["responses",ne,he],Object(z.i)(ie));return U.a.Blob&&fe.data instanceof U.a.Blob&&(ce=ce.setIn(["responses",ne,he,"text"],fe.data)),ce}),a()(e,I.SET_REQUEST,function(J,B){var ie=B.payload,oe=ie.req;return J.setIn(["requests",ie.path,ie.method],Object(z.i)(oe))}),a()(e,I.SET_MUTATED_REQUEST,function(J,B){var ie=B.payload,oe=ie.req;return J.setIn(["mutatedRequests",ie.path,ie.method],Object(z.i)(oe))}),a()(e,I.UPDATE_OPERATION_META_VALUE,function(J,B){var ie,oe,fe,ne,he,ce,Ae=B.payload,Se=Ae.path,Oe=Ae.value,be=Ae.key,ue=_()(ie=["paths"]).call(ie,u()(Se)),He=_()(oe=["meta","paths"]).call(oe,u()(Se));return J.getIn(_()(fe=["json"]).call(fe,u()(ue)))||J.getIn(_()(ne=["resolved"]).call(ne,u()(ue)))||J.getIn(_()(he=["resolvedSubtrees"]).call(he,u()(ue)))?J.setIn(_()(ce=[]).call(ce,u()(He),[be]),Object(H.fromJS)(Oe)):J}),a()(e,I.CLEAR_RESPONSE,function(J,B){var ie=B.payload;return J.deleteIn(["responses",ie.path,ie.method])}),a()(e,I.CLEAR_REQUEST,function(J,B){var ie=B.payload;return J.deleteIn(["requests",ie.path,ie.method])}),a()(e,I.SET_SCHEME,function(J,B){var ie=B.payload,oe=ie.scheme,fe=ie.path,ne=ie.method;return fe&&ne?J.setIn(["scheme",fe,ne],oe):fe||ne?void 0:J.setIn(["scheme","_defaultScheme"],oe)}),e)},function(g,o,t){"use strict";t.r(o),t.d(o,"updateSpec",function(){return _}),t.d(o,"updateJsonSpec",function(){return m}),t.d(o,"executeRequest",function(){return b}),t.d(o,"validateParams",function(){return T});var e=t(15),s=t.n(e),a=t(23),l=t.n(a),u=t(39),h=t.n(u),_=function(D,R){var j=R.specActions;return function(){D.apply(void 0,arguments),j.parseToJson.apply(j,arguments)}},m=function(D,R){var j=R.specActions;return function(){for(var H=arguments.length,z=new Array(H),U=0;U<H;U++)z[U]=arguments[U];D.apply(void 0,z),j.invalidateResolvedSubtreeCache();var M=z[0],I=h()(M,["paths"])||{},J=s()(I);l()(J).call(J,function(B){h()(I,[B]).$ref&&j.requestResolvedSubtree(["paths",B])}),j.requestResolvedSubtree(["components","securitySchemes"])}},b=function(D,R){var j=R.specActions;return function(H){return j.logRequest(H),D(H)}},T=function(D,R){var j=R.specSelectors;return function(H){return D(H,j.isOAS3())}}},function(g,o,t){"use strict";t.r(o);var e=t(37),s=t.n(e),a=t(165),l=t(5),u=t(270),h=t(160);o.default=function(_){var m=_.getComponents,b=_.getStore,T=_.getSystem,D=a.getComponent,R=a.render,j=a.makeMappedContainer,H=Object(l.u)(s()(D).call(D,null,T,b,m));return{rootInjects:{getComponent:H,makeMappedContainer:Object(l.u)(s()(j).call(j,null,T,b,H,m)),render:s()(R).call(R,null,T,b,D,m)},components:{ErrorBoundary:u.default,Fallback:h.default}}}},function(g,o,t){"use strict";g.exports=t(880)},function(g,o,t){"use strict";t.r(o),t.d(o,"ErrorBoundary",function(){return R});var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(8),h=t.n(u),_=t(9),m=t.n(_),b=(t(11),t(0)),T=t.n(b),D=t(160),R=function(j){h()(z,j);var H=m()(z);function z(U){var M;return s()(this,z),(M=H.call(this,U)).state={hasError:!1,error:null},M}return l()(z,[{key:"componentDidCatch",value:function(U,M){console.error(U,M)}},{key:"render",value:function(){var U=this.props,I=U.targetName,J=U.children,B=(0,U.getComponent)("Fallback");return this.state.hasError?T.a.createElement(B,{name:I}):J}}],[{key:"getDerivedStateFromError",value:function(U){return{hasError:!0,error:U}}}]),z}(b.Component);R.defaultProps={targetName:"this component",getComponent:function(){return D.default},children:null},o.default=R},function(g,o,t){"use strict";t.r(o);var e=t(142);o.default=function(){return{fn:e}}},function(g,o,t){"use strict";t.r(o);var e=t(161),s=t(273),a=t(274);o.default=function(){return{components:{RequestSnippets:a.RequestSnippets},fn:e,statePlugins:{requestSnippets:{selectors:s}}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"getGenerators",function(){return T}),t.d(o,"getSnippetGenerators",function(){return D}),t.d(o,"getActiveLanguage",function(){return R}),t.d(o,"getDefaultExpanded",function(){return j});var e=t(12),s=t.n(e),a=t(31),l=t.n(a),u=t(4),h=t.n(u),_=t(16),m=t(1),b=function(H){return H||Object(m.Map)()},T=Object(_.a)(b,function(H){var z=H.get("languages"),U=H.get("generators",Object(m.Map)());return!z||z.isEmpty()?U:s()(U).call(U,function(M,I){return l()(z).call(z,I)})}),D=function(H){return function(z){var U,M,I=z.fn;return s()(U=h()(M=T(H)).call(M,function(J,B){var ie=I["requestSnippetGenerator_".concat(B)];return"function"!=typeof ie?null:J.set("fn",ie)})).call(U,function(J){return J})}},R=Object(_.a)(b,function(H){return H.get("activeLanguage")}),j=Object(_.a)(b,function(H){return H.get("defaultExpanded")})},function(g,o,t){"use strict";t.r(o),t.d(o,"RequestSnippets",function(){return J});var e=t(13),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(8),m=t.n(_),b=t(9),T=t.n(b),D=t(4),R=t.n(D),j=t(0),H=t.n(j),z=t(143),U=(t(11),t(39)),M=t.n(U),I=t(91),J=function(B){m()(oe,B);var ie=T()(oe);function oe(){var fe,ne,he,ce,Ae,Se;return l()(this,oe),(Se=ie.call(this)).state={activeLanguage:null===(fe=Se.props)||void 0===fe||null===(ne=fe.requestSnippetsSelectors)||void 0===ne||null===(he=ne.getSnippetGenerators())||void 0===he?void 0:he.keySeq().first(),expanded:null===(ce=Se.props)||void 0===ce||null===(Ae=ce.requestSnippetsSelectors)||void 0===Ae?void 0:Ae.getDefaultExpanded()},Se}return h()(oe,[{key:"render",value:function(){var fe,ne,he,ce,Ae=this,Se=this.props,Oe=Se.request,be=Se.getConfigs,ue=Se.requestSnippetsSelectors.getSnippetGenerators(),He=this.state.activeLanguage||ue.keySeq().first(),$e=ue.get(He),F=$e.get("fn")(Oe),je={cursor:"pointer",lineHeight:1,display:"inline-flex",backgroundColor:"rgb(250, 250, 250)",paddingBottom:"0",paddingTop:"0",border:"1px solid rgb(51, 51, 51)",borderRadius:"4px 4px 0 0",boxShadow:"none",borderBottom:"none"},Et={cursor:"pointer",lineHeight:1,display:"inline-flex",backgroundColor:"rgb(51, 51, 51)",boxShadow:"none",border:"1px solid rgb(51, 51, 51)",paddingBottom:"0",paddingTop:"0",borderRadius:"4px 4px 0 0",marginTop:"-5px",marginRight:"-5px",marginLeft:"-5px",zIndex:"9999",borderBottom:"none"},lt=function(Qe){return Qe===He?Et:je},nn=be(),St=null!=nn&&null!==(fe=nn.syntaxHighlight)&&void 0!==fe&&fe.activated?H.a.createElement(I.a,{language:$e.get("syntax"),className:"curl microlight",onWheel:function(Qe){return this.preventYScrollingBeyondElement(Qe)},style:Object(I.b)(M()(nn,"syntaxHighlight.theme"))},F):H.a.createElement("textarea",{readOnly:!0,className:"curl",value:F}),Ot=void 0===this.state.expanded?null===(ne=this.props)||void 0===ne||null===(he=ne.requestSnippetsSelectors)||void 0===he?void 0:he.getDefaultExpanded():this.state.expanded;return H.a.createElement("div",null,H.a.createElement("div",{style:{width:"100%",display:"flex",justifyContent:"flex-start",alignItems:"center",marginBottom:"15px"}},H.a.createElement("h4",{style:{cursor:"pointer"},onClick:function(){return Ae.setState({expanded:!Ot})}},"Snippets"),H.a.createElement("button",{onClick:function(){return Ae.setState({expanded:!Ot})},style:{border:"none",background:"none"},title:Ot?"Collapse operation":"Expand operation"},H.a.createElement("svg",{className:"arrow",width:"10",height:"10"},H.a.createElement("use",{href:Ot?"#large-arrow-down":"#large-arrow",xlinkHref:Ot?"#large-arrow-down":"#large-arrow"})))),Ot&&H.a.createElement("div",{className:"curl-command"},H.a.createElement("div",{style:{paddingLeft:"15px",paddingRight:"10px",width:"100%",display:"flex"}},R()(ce=ue.entrySeq()).call(ce,function(Qe){var It=s()(Qe,2),ae=It[0],Ie=It[1];return H.a.createElement("div",{style:lt(ae),className:"btn",key:ae,onClick:function(){var dt;He!==(dt=ae)&&Ae.setState({activeLanguage:dt})}},H.a.createElement("h4",{style:ae===He?{color:"white"}:{}},Ie.get("title")))})),H.a.createElement("div",{className:"copy-to-clipboard"},H.a.createElement(z.CopyToClipboard,{text:F},H.a.createElement("button",null))),H.a.createElement("div",null,St)))}}]),oe}(H.a.Component)},function(g,o,t){"use strict";t.r(o);var e=t(37),s=t.n(e);o.default=function(a){var u={debug:0,info:1,log:2,warn:3,error:4},h=function(T){return u[T]||-1},m=h(a.configs.logLevel);function b(T){for(var D,R=arguments.length,j=new Array(R>1?R-1:0),H=1;H<R;H++)j[H-1]=arguments[H];h(T)>=m&&(D=console)[T].apply(D,j)}return b.warn=s()(b).call(b,null,"warn"),b.error=s()(b).call(b,null,"error"),b.info=s()(b).call(b,null,"info"),b.debug=s()(b).call(b,null,"debug"),{rootInjects:{log:b}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"loaded",function(){return e});var e=function(s,a){return function(){s.apply(void 0,arguments);var l=a.getConfigs().withCredentials;void 0!==l&&(a.fn.fetch.withCredentials="string"==typeof l?"true"===l:!!l)}}},function(g,o,t){"use strict";t.r(o),t.d(o,"preauthorizeBasic",function(){return D}),t.d(o,"preauthorizeApiKey",function(){return R});var e=t(3),s=t.n(e),a=t(37),l=t.n(a),u=t(2),h=t.n(u),_=t(278),m=t(82),b=t(279),T=t(280);function D(j,H,z,U){var M,I=j.authActions.authorize,J=j.specSelectors,B=J.specJson,ie=(0,J.isOAS3)()?["components","securitySchemes"]:["securityDefinitions"],oe=B().getIn(h()(M=[]).call(M,ie,[H]));return oe?I(s()({},H,{value:{username:z,password:U},schema:oe.toJS()})):null}function R(j,H,z){var U,M=j.authActions.authorize,I=j.specSelectors,J=I.specJson,B=(0,I.isOAS3)()?["components","securitySchemes"]:["securityDefinitions"],ie=J().getIn(h()(U=[]).call(U,B,[H]));return ie?M(s()({},H,{value:z,schema:ie.toJS()})):null}o.default=function(){return{afterLoad:function(j){this.rootInjects=this.rootInjects||{},this.rootInjects.initOAuth=j.authActions.configureAuth,this.rootInjects.preauthorizeApiKey=l()(R).call(R,null,j),this.rootInjects.preauthorizeBasic=l()(D).call(D,null,j)},statePlugins:{auth:{reducers:_.default,actions:m,selectors:b},spec:{wrapActions:T}}}}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(13),u=t.n(l),h=t(23),_=t.n(h),m=t(21),b=t.n(m),T=t(1),D=t(5),R=t(82);o.default=(e={},a()(e,R.SHOW_AUTH_POPUP,function(j,H){return j.set("showDefinitions",H.payload)}),a()(e,R.AUTHORIZE,function(j,H){var z,U=H.payload,M=Object(T.fromJS)(U),I=j.get("authorized")||Object(T.Map)();return _()(z=M.entrySeq()).call(z,function(J){var B=u()(J,2),ie=B[0],oe=B[1];if(!Object(D.s)(oe.getIn))return j.set("authorized",I);var fe=oe.getIn(["schema","type"]);if("apiKey"===fe||"http"===fe)I=I.set(ie,oe);else if("basic"===fe){var ne=oe.getIn(["value","username"]),he=oe.getIn(["value","password"]);I=(I=I.setIn([ie,"value"],{username:ne,header:"Basic "+Object(D.a)(ne+":"+he)})).setIn([ie,"schema"],oe.get("schema"))}}),j.set("authorized",I)}),a()(e,R.AUTHORIZE_OAUTH2,function(j,H){var z,U=H.payload,M=U.auth,I=U.token;M.token=b()({},I),z=Object(T.fromJS)(M);var J=j.get("authorized")||Object(T.Map)();return J=J.set(z.get("name"),z),j.set("authorized",J)}),a()(e,R.LOGOUT,function(j,H){var z=H.payload,U=j.get("authorized").withMutations(function(M){_()(z).call(z,function(I){M.delete(I)})});return j.set("authorized",U)}),a()(e,R.CONFIGURE_AUTH,function(j,H){return j.set("configs",H.payload)}),a()(e,R.RESTORE_AUTHORIZATION,function(j,H){var z=H.payload;return j.set("authorized",Object(T.fromJS)(z.authorized))}),e)},function(g,o,t){"use strict";t.r(o),t.d(o,"shownDefinitions",function(){return I}),t.d(o,"definitionsToAuthorize",function(){return J}),t.d(o,"getDefinitionsByNames",function(){return B}),t.d(o,"definitionsForRequirements",function(){return ie}),t.d(o,"authorized",function(){return oe}),t.d(o,"isAuthorized",function(){return fe}),t.d(o,"getConfigs",function(){return ne});var e=t(13),s=t.n(e),a=t(23),l=t.n(a),u=t(12),h=t.n(u),_=t(71),m=t.n(_),b=t(18),T=t.n(b),D=t(4),R=t.n(D),j=t(15),H=t.n(j),z=t(16),U=t(1),M=function(he){return he},I=Object(z.a)(M,function(he){return he.get("showDefinitions")}),J=Object(z.a)(M,function(){return function(he){var ce,Ae=he.specSelectors.securityDefinitions()||Object(U.Map)({}),Se=Object(U.List)();return l()(ce=Ae.entrySeq()).call(ce,function(Oe){var be=s()(Oe,2),ue=be[0],He=be[1],$e=Object(U.Map)();$e=$e.set(ue,He),Se=Se.push($e)}),Se}}),B=function(he,ce){return function(Ae){var Se,Oe=Ae.specSelectors;console.warn("WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.");var be=Oe.securityDefinitions(),ue=Object(U.List)();return l()(Se=ce.valueSeq()).call(Se,function(He){var $e,F=Object(U.Map)();l()($e=He.entrySeq()).call($e,function(je){var Et,lt,nn=s()(je,2),St=nn[0],Ot=nn[1],Qe=be.get(St);"oauth2"===Qe.get("type")&&Ot.size&&(Et=Qe.get("scopes"),l()(lt=Et.keySeq()).call(lt,function(It){Ot.contains(It)||(Et=Et.delete(It))}),Qe=Qe.set("allowedScopes",Et)),F=F.set(St,Qe)}),ue=ue.push(F)}),ue}},ie=function(he){var ce=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object(U.List)();return function(Ae){var Se=Ae.authSelectors.definitionsToAuthorize()||Object(U.List)();return h()(Se).call(Se,function(Oe){return m()(ce).call(ce,function(be){return be.get(Oe.keySeq().first())})})}},oe=Object(z.a)(M,function(he){return he.get("authorized")||Object(U.Map)()}),fe=function(he,ce){return function(Ae){var Se,Oe=Ae.authSelectors.authorized();return U.List.isList(ce)?!!h()(Se=ce.toJS()).call(Se,function(be){var ue,He;return-1===T()(ue=R()(He=H()(be)).call(He,function($e){return!!Oe.get($e)})).call(ue,!1)}).length:null}},ne=Object(z.a)(M,function(he){return he.get("configs")})},function(g,o,t){"use strict";t.r(o),t.d(o,"execute",function(){return a});var e=t(25),s=t.n(e),a=function(l,u){var h=u.authSelectors,_=u.specSelectors;return function(m){var b=m.path,T=m.method,D=m.operation,R=m.extras,j={authorized:h.authorized()&&h.authorized().toJS(),definitions:_.securityDefinitions()&&_.securityDefinitions().toJS(),specSecurity:_.security()&&_.security().toJS()};return l(s()({path:b,method:T,operation:D,securities:j},R))}}},function(g,o,t){"use strict";t.r(o);var e=t(5);o.default=function(){return{fn:{shallowEqualKeys:e.G}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return H});var e=t(21),s=t.n(e),a=t(90),l=t.n(a),u=t(2),h=t.n(u),_=t(18),m=t.n(_),b=t(32),T=t.n(b),D=t(16),R=t(1),j=t(26);function H(z){var U=z.fn;return{statePlugins:{spec:{actions:{download:function(M){return function(I){var J=I.errActions,B=I.specSelectors,ie=I.specActions,fe=U.fetch,ne=(0,I.getConfigs)();function he(ce){if(ce instanceof Error||ce.status>=400)return ie.updateLoadingStatus("failed"),J.newThrownErr(s()(new Error((ce.message||ce.statusText)+" "+M),{source:"fetch"})),void(!ce.status&&ce instanceof Error&&function(){try{var Ae;if("URL"in j.a?Ae=new l.a(M):(Ae=document.createElement("a")).href=M,"https:"!==Ae.protocol&&"https:"===j.a.location.protocol){var Se=s()(new Error("Possible mixed-content issue? The page was loaded over https:// but a ".concat(Ae.protocol,"// URL was specified. Check that you are not attempting to load mixed content.")),{source:"fetch"});return void J.newThrownErr(Se)}if(Ae.origin!==j.a.location.origin){var Oe,be=s()(new Error(h()(Oe="Possible cross-origin (CORS) issue? The URL origin (".concat(Ae.origin,") does not match the page (")).call(Oe,j.a.location.origin,"). Check the server returns the correct 'Access-Control-Allow-*' headers.")),{source:"fetch"});J.newThrownErr(be)}}catch(ue){return}}());ie.updateLoadingStatus("success"),ie.updateSpec(ce.text),B.url()!==M&&ie.updateUrl(M)}M=M||B.url(),ie.updateLoadingStatus("loading"),J.clear({source:"fetch"}),fe({url:M,loadSpec:!0,requestInterceptor:ne.requestInterceptor||function(ce){return ce},responseInterceptor:ne.responseInterceptor||function(ce){return ce},credentials:"same-origin",headers:{Accept:"application/json,*/*"}}).then(he,he)}},updateLoadingStatus:function(M){var I,J=[null,"loading","failed","success","failedConfig"];return-1===m()(J).call(J,M)&&console.error(h()(I="Error: ".concat(M," is not one of ")).call(I,T()(J))),{type:"spec_update_loading_status",payload:M}}},reducers:{spec_update_loading_status:function(M,I){return"string"==typeof I.payload?M.set("loadingStatus",I.payload):M}},selectors:{loadingStatus:Object(D.a)(function(M){return M||Object(R.Map)()},function(M){return M.get("loadingStatus")||null})}}}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"downloadConfig",function(){return s}),t.d(o,"getConfigByUrl",function(){return a});var e=t(162),s=function(l){return function(u){return(0,u.fn.fetch)(l)}},a=function(l,u){return function(h){var _=h.specActions;if(l)return _.downloadConfig(l).then(m,m);function m(b){b instanceof Error||b.status>=400?(_.updateLoadingStatus("failedConfig"),_.updateLoadingStatus("failedConfig"),_.updateUrl(""),console.error(b.statusText+" "+l.url),u(null)):u(Object(e.parseYamlConfig)(b.text))}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"get",function(){return a});var e=t(24),s=t.n(e),a=function(l,u){return l.getIn(s()(u)?u:[u])}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(1),u=t(144);o.default=(e={},a()(e,u.UPDATE_CONFIGS,function(h,_){return h.merge(Object(l.fromJS)(_.payload))}),a()(e,u.TOGGLE_CONFIGS,function(h,_){var m=_.payload,b=h.get(m);return h.set(m,!b)}),e)},function(g,o,t){"use strict";t.r(o);var e=t(287),s=t(288),a=t(289);o.default=function(){return[e.default,{statePlugins:{configs:{wrapActions:{loaded:function(l,u){return function(){l.apply(void 0,arguments);var h=decodeURIComponent(window.location.hash);u.layoutActions.parseDeepLinkHash(h)}}}}},wrapComponents:{operation:s.default,OperationTag:a.default}}]}},function(g,o,t){"use strict";t.r(o),t.d(o,"show",function(){return ne}),t.d(o,"scrollTo",function(){return he}),t.d(o,"parseDeepLinkHash",function(){return ce}),t.d(o,"readyToScroll",function(){return Ae}),t.d(o,"scrollToElement",function(){return Se}),t.d(o,"clearScrollTo",function(){return Oe});var e,s=t(3),a=t.n(s),l=t(13),u=t.n(l),h=t(24),_=t.n(h),m=t(2),b=t.n(m),T=t(20),D=t.n(T),R=t(4),j=t.n(R),H=t(18),z=t.n(H),U=t(164),M=t(475),I=t.n(M),J=t(5),B=t(1),ie=t.n(B),oe="layout_scroll_to",fe="layout_clear_scroll",ne=function(be,ue){var He=ue.getConfigs,$e=ue.layoutSelectors;return function(){for(var F=arguments.length,je=new Array(F),Et=0;Et<F;Et++)je[Et]=arguments[Et];if(be.apply(void 0,je),He().deepLinking)try{var lt=je[0],nn=je[1];lt=_()(lt)?lt:[lt];var St=$e.urlHashArrayFromIsShownKey(lt);if(!St.length)return;var Ot,Qe=u()(St,2),It=Qe[0],ae=Qe[1];if(!nn)return Object(U.setHash)("/");2===St.length?Object(U.setHash)(Object(J.d)(b()(Ot="/".concat(encodeURIComponent(It),"/")).call(Ot,encodeURIComponent(ae)))):1===St.length&&Object(U.setHash)(Object(J.d)("/".concat(encodeURIComponent(It))))}catch(Ie){console.error(Ie)}}},he=function(be){return{type:oe,payload:_()(be)?be:[be]}},ce=function(be){return function(ue){var He=ue.layoutActions,$e=ue.layoutSelectors;if((0,ue.getConfigs)().deepLinking&&be){var F,je=D()(be).call(be,1);"!"===je[0]&&(je=D()(je).call(je,1)),"/"===je[0]&&(je=D()(je).call(je,1));var Et=j()(F=je.split("/")).call(F,function(dt){return dt||""}),lt=$e.isShownKeyFromUrlHashArray(Et),nn=u()(lt,3),Ot=nn[1],Qe=void 0===Ot?"":Ot,It=nn[2],ae=void 0===It?"":It;if("operations"===nn[0]){var Ie=$e.isShownKeyFromUrlHashArray([Qe]);z()(Qe).call(Qe,"_")>-1&&(console.warn("Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead."),He.show(j()(Ie).call(Ie,function(dt){return dt.replace(/_/g," ")}),!0)),He.show(Ie,!0)}(z()(Qe).call(Qe,"_")>-1||z()(ae).call(ae,"_")>-1)&&(console.warn("Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead."),He.show(j()(lt).call(lt,function(dt){return dt.replace(/_/g," ")}),!0)),He.show(lt,!0),He.scrollTo(lt)}}},Ae=function(be,ue){return function(He){var $e=He.layoutSelectors.getScrollToKey();ie.a.is($e,Object(B.fromJS)(be))&&(He.layoutActions.scrollToElement(ue),He.layoutActions.clearScrollTo())}},Se=function(be,ue){return function(He){try{ue=ue||He.fn.getScrollParent(be),I.a.createScroller(ue).to(be)}catch($e){console.error($e)}}},Oe=function(){return{type:fe}};o.default={fn:{getScrollParent:function(be,ue){var He=document.documentElement,$e=getComputedStyle(be),F="absolute"===$e.position,je=ue?/(auto|scroll|hidden)/:/(auto|scroll)/;if("fixed"===$e.position)return He;for(var Et=be;Et=Et.parentElement;)if($e=getComputedStyle(Et),(!F||"static"!==$e.position)&&je.test($e.overflow+$e.overflowY+$e.overflowX))return Et;return He}},statePlugins:{layout:{actions:{scrollToElement:Se,scrollTo:he,clearScrollTo:Oe,readyToScroll:Ae,parseDeepLinkHash:ce},selectors:{getScrollToKey:function(be){return be.get("scrollToKey")},isShownKeyFromUrlHashArray:function(be,ue){var He=u()(ue,2),$e=He[0],F=He[1];return F?["operations",$e,F]:$e?["operations-tag",$e]:[]},urlHashArrayFromIsShownKey:function(be,ue){var He=u()(ue,3),$e=He[0],F=He[1];return"operations"==$e?[F,He[2]]:"operations-tag"==$e?[F]:[]}},reducers:(e={},a()(e,oe,function(be,ue){return be.set("scrollToKey",ie.a.fromJS(ue.payload))}),a()(e,fe,function(be){return be.delete("scrollToKey")}),e),wrapActions:{show:ne}}}}},function(g,o,t){"use strict";t.r(o);var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(10),h=t.n(u),_=t(8),m=t.n(_),b=t(9),T=t.n(b),D=t(3),R=t.n(D),j=t(2),H=t.n(j),z=t(0),U=t.n(z);t(28),o.default=function(M,I){return function(J){m()(ie,J);var B=T()(ie);function ie(){var oe,fe;s()(this,ie);for(var ne=arguments.length,he=new Array(ne),ce=0;ce<ne;ce++)he[ce]=arguments[ce];return fe=B.call.apply(B,H()(oe=[this]).call(oe,he)),R()(h()(fe),"onLoad",function(Ae){var Se=fe.props.operation,Oe=Se.toObject(),be=Oe.tag,ue=Oe.operationId,He=Se.toObject().isShownKey;I.layoutActions.readyToScroll(He=He||["operations",be,ue],Ae)}),fe}return l()(ie,[{key:"render",value:function(){return U.a.createElement("span",{ref:this.onLoad},U.a.createElement(M,this.props))}}]),ie}(U.a.Component)}},function(g,o,t){"use strict";t.r(o);var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(10),h=t.n(u),_=t(8),m=t.n(_),b=t(9),T=t.n(b),D=t(3),R=t.n(D),j=t(2),H=t.n(j),z=t(0),U=t.n(z);t(11),o.default=function(M,I){return function(J){m()(ie,J);var B=T()(ie);function ie(){var oe,fe;s()(this,ie);for(var ne=arguments.length,he=new Array(ne),ce=0;ce<ne;ce++)he[ce]=arguments[ce];return fe=B.call.apply(B,H()(oe=[this]).call(oe,he)),R()(h()(fe),"onLoad",function(Ae){I.layoutActions.readyToScroll(["operations-tag",fe.props.tag],Ae)}),fe}return l()(ie,[{key:"render",value:function(){return U.a.createElement("span",{ref:this.onLoad},U.a.createElement(M,this.props))}}]),ie}(U.a.Component)}},function(g,o,t){"use strict";t.r(o);var e=t(291);o.default=function(){return{fn:{opsFilter:e.default}}}},function(g,o,t){"use strict";t.r(o);var e=t(12),s=t.n(e),a=t(18),l=t.n(a);o.default=function(u,h){return s()(u).call(u,function(_,m){return-1!==l()(m).call(m,h)})}},function(g,o,t){"use strict";t.r(o);var e=t(202),s=t.n(e),a=!1;o.default=function(){return{statePlugins:{spec:{wrapActions:{updateSpec:function(l){return function(){return a=!0,l.apply(void 0,arguments)}},updateJsonSpec:function(l,u){return function(){var h=u.getConfigs().onComplete;return a&&"function"==typeof h&&(s()(h,0),a=!1),l.apply(void 0,arguments)}}}}}}}},function(g,o,t){"use strict";t.r(o);var e=t(294),s=t(295),a=t(296),l=t(297),u=t(305),h=t(55),_=t(312),m=t(313);o.default=function(){return{components:l.default,wrapComponents:u.default,statePlugins:{spec:{wrapSelectors:e,selectors:a},auth:{wrapSelectors:s},oas3:{actions:h,reducers:m.default,selectors:_}}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"definitions",function(){return D}),t.d(o,"hasHost",function(){return R}),t.d(o,"securityDefinitions",function(){return j}),t.d(o,"host",function(){return H}),t.d(o,"basePath",function(){return z}),t.d(o,"consumes",function(){return U}),t.d(o,"produces",function(){return M}),t.d(o,"schemes",function(){return I}),t.d(o,"servers",function(){return J}),t.d(o,"isOAS3",function(){return B}),t.d(o,"isSwagger2",function(){return ie});var e=t(16),s=t(88),a=t(1),l=t(36);function u(oe){return function(fe,ne){return function(){var he=ne.getSystem().specSelectors.specJson();return Object(l.isOAS3)(he)?oe.apply(void 0,arguments):fe.apply(void 0,arguments)}}}var h=function(oe){return oe||Object(a.Map)()},_=u(Object(e.a)(function(){return null})),m=Object(e.a)(h,function(oe){return oe.get("json",Object(a.Map)())}),b=Object(e.a)(h,function(oe){return oe.get("resolved",Object(a.Map)())}),T=function(oe){var fe=b(oe);return fe.count()<1&&(fe=m(oe)),fe},D=u(Object(e.a)(T,function(oe){var fe=oe.getIn(["components","schemas"]);return a.Map.isMap(fe)?fe:Object(a.Map)()})),R=u(function(oe){return T(oe).hasIn(["servers",0])}),j=u(Object(e.a)(s.specJsonWithResolvedSubtrees,function(oe){return oe.getIn(["components","securitySchemes"])||null})),H=_,z=_,U=_,M=_,I=_,J=u(Object(e.a)(T,function(oe){return oe.getIn(["servers"])||Object(a.Map)()})),B=function(oe,fe){return function(){var ne=fe.getSystem().specSelectors.specJson();return Object(l.isOAS3)(a.Map.isMap(ne)?ne:Object(a.Map)())}},ie=function(oe,fe){return function(){var ne=fe.getSystem().specSelectors.specJson();return Object(l.isSwagger2)(a.Map.isMap(ne)?ne:Object(a.Map)())}}},function(g,o,t){"use strict";t.r(o),t.d(o,"definitionsToAuthorize",function(){return M});var U,e=t(3),s=t.n(e),a=t(13),l=t.n(a),u=t(2),h=t.n(u),_=t(23),m=t.n(_),b=t(12),T=t.n(b),D=t(30),R=t.n(D),j=t(16),H=t(1),z=t(36),M=(U=Object(j.a)(function(I){return I},function(I){return I.specSelectors.securityDefinitions()},function(I,J){var B,ie=Object(H.List)();return J&&m()(B=J.entrySeq()).call(B,function(oe){var fe,ne=l()(oe,2),he=ne[0],ce=ne[1],Ae=ce.get("type");if("oauth2"===Ae&&m()(fe=ce.get("flows").entrySeq()).call(fe,function(be){var ue=l()(be,2),He=ue[0],$e=ue[1],F=Object(H.fromJS)({flow:He,authorizationUrl:$e.get("authorizationUrl"),tokenUrl:$e.get("tokenUrl"),scopes:$e.get("scopes"),type:ce.get("type"),description:ce.get("description")});ie=ie.push(new H.Map(s()({},he,T()(F).call(F,function(je){return void 0!==je}))))}),"http"!==Ae&&"apiKey"!==Ae||(ie=ie.push(new H.Map(s()({},he,ce)))),"openIdConnect"===Ae&&ce.get("openIdConnectData")){var Se=ce.get("openIdConnectData"),Oe=Se.get("grant_types_supported")||["authorization_code","implicit"];m()(Oe).call(Oe,function(be){var ue,He=Se.get("scopes_supported")&&R()(ue=Se.get("scopes_supported")).call(ue,function(F,je){return F.set(je,"")},new H.Map),$e=Object(H.fromJS)({flow:be,authorizationUrl:Se.get("authorization_endpoint"),tokenUrl:Se.get("token_endpoint"),scopes:He,type:"oauth2",openIdConnectUrl:ce.get("openIdConnectUrl")});ie=ie.push(new H.Map(s()({},he,T()($e).call($e,function(F){return void 0!==F}))))})}}),ie}),function(I,J){return function(){for(var B=J.getSystem().specSelectors.specJson(),ie=arguments.length,oe=new Array(ie),fe=0;fe<ie;fe++)oe[fe]=arguments[fe];if(Object(z.isOAS3)(B)){var ne,he=J.getState().getIn(["spec","resolvedSubtrees","components","securitySchemes"]);return U.apply(void 0,h()(ne=[J,he]).call(ne,oe))}return I.apply(void 0,oe)}})},function(g,o,t){"use strict";t.r(o),t.d(o,"servers",function(){return m}),t.d(o,"isSwagger2",function(){return b});var l,e=t(16),s=t(1),a=t(36),u=function(T){return T||Object(s.Map)()},h=Object(e.a)(u,function(T){return T.get("json",Object(s.Map)())}),_=Object(e.a)(u,function(T){return T.get("resolved",Object(s.Map)())}),m=(l=Object(e.a)(function(T){var D=_(T);return D.count()<1&&(D=h(T)),D},function(T){return T.getIn(["servers"])||Object(s.Map)()}),function(){return function(T){var D=T.getSystem().specSelectors.specJson();if(Object(a.isOAS3)(D)){for(var R=arguments.length,j=new Array(R>1?R-1:0),H=1;H<R;H++)j[H-1]=arguments[H];return l.apply(void 0,j)}return null}}),b=function(T,D){return function(){var R=D.getSystem().specSelectors.specJson();return Object(a.isSwagger2)(R)}}},function(g,o,t){"use strict";t.r(o);var e=t(298),s=t(163),a=t(299),l=t(300),u=t(301),h=t(302),_=t(303),m=t(304);o.default={Callbacks:e.default,HttpAuth:_.default,RequestBody:s.default,Servers:l.default,ServersContainer:u.default,RequestBodyEditor:h.default,OperationServers:m.default,operationLink:a.default}},function(g,o,t){"use strict";t.r(o);var e=t(29),s=t.n(e),a=t(13),l=t.n(a),u=t(4),h=t.n(u),_=t(0),m=t.n(_),b=(t(11),t(28),t(1));o.default=function(T){var D,R=T.callbacks,H=T.specPath,z=(0,T.getComponent)("OperationContainer",!0);if(!R)return m.a.createElement("span",null,"No callbacks");var U=h()(D=R.entrySeq()).call(D,function(M){var I,J=l()(M,2),B=J[0],ie=J[1];return m.a.createElement("div",{key:B},m.a.createElement("h2",null,B),h()(I=ie.entrySeq()).call(I,function(oe){var fe,ne=l()(oe,2),he=ne[0],ce=ne[1];return"$$ref"===he?null:m.a.createElement("div",{key:he},h()(fe=ce.entrySeq()).call(fe,function(Ae){var Se=l()(Ae,2),Oe=Se[0],be=Se[1];if("$$ref"===Oe)return null;var ue=Object(b.fromJS)({operation:be});return m.a.createElement(z,s()({},T,{op:ue,key:Oe,tag:"",method:Oe,path:he,specPath:H.push(B,he,Oe),allowTryItOut:!1}))}))}))});return m.a.createElement("div",null,U)}},function(g,o,t){"use strict";t.r(o);var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(8),h=t.n(u),_=t(9),m=t.n(_),b=t(32),T=t.n(b),D=t(4),R=t.n(D),j=t(0),H=t.n(j),z=(t(11),t(28),function(U){h()(I,U);var M=m()(I);function I(){return s()(this,I),M.apply(this,arguments)}return l()(I,[{key:"render",value:function(){var Ae,Se,J=this.props,B=J.link,ie=J.name,oe=(0,J.getComponent)("Markdown",!0),fe=B.get("operationId")||B.get("operationRef"),ne=B.get("parameters")&&B.get("parameters").toJS(),he=B.get("description");return H.a.createElement("div",{className:"operation-link"},H.a.createElement("div",{className:"description"},H.a.createElement("b",null,H.a.createElement("code",null,ie)),he?H.a.createElement(oe,{source:he}):null),H.a.createElement("pre",null,"Operation `",fe,"`",H.a.createElement("br",null),H.a.createElement("br",null),"Parameters ",("string"!=typeof(Ae=T()(ne,null,2))?"":R()(Se=Ae.split("\n")).call(Se,function(Oe,be){return be>0?Array(1).join(" ")+Oe:Oe}).join("\n"))||"{}",H.a.createElement("br",null)))}}]),I}(j.Component));o.default=z},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return ne});var e=t(13),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(10),m=t.n(_),b=t(8),T=t.n(b),D=t(9),R=t.n(D),j=t(3),H=t.n(j),z=t(2),U=t.n(z),M=t(56),I=t.n(M),J=t(4),B=t.n(J),ie=t(0),oe=t.n(ie),fe=t(1),ne=(t(11),t(28),function(he){T()(Ae,he);var ce=R()(Ae);function Ae(){var Se,Oe;l()(this,Ae);for(var be=arguments.length,ue=new Array(be),He=0;He<be;He++)ue[He]=arguments[He];return Oe=ce.call.apply(ce,U()(Se=[this]).call(Se,ue)),H()(m()(Oe),"onServerChange",function($e){Oe.setServer($e.target.value)}),H()(m()(Oe),"onServerVariableValueChange",function($e){var F=Oe.props,je=F.setServerVariableValue,Et=F.currentServer,lt=$e.target.getAttribute("data-variable");"function"==typeof je&&je({server:Et,key:lt,val:$e.target.value})}),H()(m()(Oe),"setServer",function($e){(0,Oe.props.setSelectedServer)($e)}),Oe}return h()(Ae,[{key:"componentDidMount",value:function(){var Se,Oe=this.props;Oe.currentServer||this.setServer(null===(Se=Oe.servers.first())||void 0===Se?void 0:Se.get("url"))}},{key:"UNSAFE_componentWillReceiveProps",value:function(Se){var Oe=Se.servers,be=Se.setServerVariableValue,ue=Se.getServerVariable;if(this.props.currentServer!==Se.currentServer||this.props.servers!==Se.servers){var He=I()(Oe).call(Oe,function(F){return F.get("url")===Se.currentServer});if(!He)return this.setServer(Oe.first().get("url"));var $e=He.get("variables")||Object(fe.OrderedMap)();B()($e).call($e,function(F,je){ue(Se.currentServer,je)||be({server:Se.currentServer,key:je,val:F.get("default")||""})})}}},{key:"render",value:function(){var Se,Oe,be=this,ue=this.props,He=ue.servers,$e=ue.currentServer,F=ue.getServerVariable,je=ue.getEffectiveServerValue,Et=(I()(He).call(He,function(nn){return nn.get("url")===$e})||Object(fe.OrderedMap)()).get("variables")||Object(fe.OrderedMap)(),lt=0!==Et.size;return oe.a.createElement("div",{className:"servers"},oe.a.createElement("label",{htmlFor:"servers"},oe.a.createElement("select",{onChange:this.onServerChange,value:$e},B()(Se=He.valueSeq()).call(Se,function(nn){return oe.a.createElement("option",{value:nn.get("url"),key:nn.get("url")},nn.get("url"),nn.get("description")&&" - ".concat(nn.get("description")))}).toArray())),lt?oe.a.createElement("div",null,oe.a.createElement("div",{className:"computed-url"},"Computed URL:",oe.a.createElement("code",null,je($e))),oe.a.createElement("h4",null,"Server variables"),oe.a.createElement("table",null,oe.a.createElement("tbody",null,B()(Oe=Et.entrySeq()).call(Oe,function(nn){var St,Ot=s()(nn,2),Qe=Ot[0],It=Ot[1];return oe.a.createElement("tr",{key:Qe},oe.a.createElement("td",null,Qe),oe.a.createElement("td",null,It.get("enum")?oe.a.createElement("select",{"data-variable":Qe,onChange:be.onServerVariableValueChange},B()(St=It.get("enum")).call(St,function(ae){return oe.a.createElement("option",{selected:ae===F($e,Qe),key:ae,value:ae},ae)})):oe.a.createElement("input",{type:"text",value:F($e,Qe)||"",onChange:be.onServerVariableValueChange,"data-variable":Qe})))})))):null)}}]),Ae}(oe.a.Component))},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return D});var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(8),h=t.n(u),_=t(9),m=t.n(_),b=t(0),T=t.n(b),D=(t(11),function(R){h()(H,R);var j=m()(H);function H(){return s()(this,H),j.apply(this,arguments)}return l()(H,[{key:"render",value:function(){var z=this.props,M=z.oas3Selectors,I=z.oas3Actions,J=z.getComponent,B=z.specSelectors.servers(),ie=J("Servers");return B&&B.size?T.a.createElement("div",null,T.a.createElement("span",{className:"servers-title"},"Servers"),T.a.createElement(ie,{servers:B,currentServer:M.selectedServer(),setSelectedServer:I.setSelectedServer,setServerVariableValue:I.setServerVariableValue,getServerVariable:M.serverVariableValue,getEffectiveServerValue:M.serverEffectiveValue})):null}}]),H}(T.a.Component))},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return J});var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(10),h=t.n(u),_=t(8),m=t.n(_),b=t(9),T=t.n(b),D=t(3),R=t.n(D),j=t(0),H=t.n(j),z=(t(11),t(47)),U=t.n(z),M=t(5),I=Function.prototype,J=function(B){m()(oe,B);var ie=T()(oe);function oe(fe,ne){var he;return s()(this,oe),he=ie.call(this,fe,ne),R()(h()(he),"applyDefaultValue",function(ce){var Ae=ce||he.props,Se=Ae.onChange,Oe=Ae.defaultValue;return he.setState({value:Oe}),Se(Oe)}),R()(h()(he),"onChange",function(ce){he.props.onChange(Object(M.I)(ce))}),R()(h()(he),"onDomChange",function(ce){var Ae=ce.target.value;he.setState({value:Ae},function(){return he.onChange(Ae)})}),he.state={value:Object(M.I)(fe.value)||fe.defaultValue},fe.onChange(fe.value),he}return l()(oe,[{key:"UNSAFE_componentWillReceiveProps",value:function(fe){this.props.value!==fe.value&&fe.value!==this.state.value&&this.setState({value:Object(M.I)(fe.value)}),!fe.value&&fe.defaultValue&&this.state.value&&this.applyDefaultValue(fe)}},{key:"render",value:function(){var fe=this.props,he=fe.errors,ce=this.state.value,Ae=he.size>0,Se=(0,fe.getComponent)("TextArea");return H.a.createElement("div",{className:"body-param"},H.a.createElement(Se,{className:U()("body-param__text",{invalid:Ae}),title:he.size?he.join(", "):"",value:ce,onChange:this.onDomChange}))}}]),oe}(j.PureComponent);R()(J,"defaultProps",{onChange:I,userHasEditedBody:!1})},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return ie});var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(10),h=t.n(u),_=t(8),m=t.n(_),b=t(9),T=t.n(b),D=t(3),R=t.n(D),j=t(21),H=t.n(j),z=t(12),U=t.n(z),M=t(4),I=t.n(M),J=t(0),B=t.n(J),ie=(t(11),function(oe){m()(ne,oe);var fe=T()(ne);function ne(he,ce){var Ae;s()(this,ne),Ae=fe.call(this,he,ce),R()(h()(Ae),"onChange",function(He){var $e=Ae.props.onChange,F=He.target,je=F.value,Et=F.name,lt=H()({},Ae.state.value);Et?lt[Et]=je:lt=je,Ae.setState({value:lt},function(){return $e(Ae.state)})});var Se=Ae.props,Oe=Se.name,be=Se.schema,ue=Ae.getValue();return Ae.state={name:Oe,schema:be,value:ue},Ae}return l()(ne,[{key:"getValue",value:function(){var he=this.props,Ae=he.authorized;return Ae&&Ae.getIn([he.name,"value"])}},{key:"render",value:function(){var he,ce,Ae=this.props,Se=Ae.schema,Oe=Ae.getComponent,be=Ae.errSelectors,ue=Ae.name,He=Oe("Input"),$e=Oe("Row"),F=Oe("Col"),je=Oe("authError"),Et=Oe("Markdown",!0),lt=Oe("JumpToPath",!0),nn=(Se.get("scheme")||"").toLowerCase(),St=this.getValue(),Ot=U()(he=be.allErrors()).call(he,function(ae){return ae.get("authId")===ue});if("basic"===nn){var Qe,It=St?St.get("username"):null;return B.a.createElement("div",null,B.a.createElement("h4",null,B.a.createElement("code",null,ue||Se.get("name")),"\xa0 (http, Basic)",B.a.createElement(lt,{path:["securityDefinitions",ue]})),It&&B.a.createElement("h6",null,"Authorized"),B.a.createElement($e,null,B.a.createElement(Et,{source:Se.get("description")})),B.a.createElement($e,null,B.a.createElement("label",null,"Username:"),It?B.a.createElement("code",null," ",It," "):B.a.createElement(F,null,B.a.createElement(He,{type:"text",required:"required",name:"username",onChange:this.onChange,autoFocus:!0}))),B.a.createElement($e,null,B.a.createElement("label",null,"Password:"),It?B.a.createElement("code",null," ****** "):B.a.createElement(F,null,B.a.createElement(He,{autoComplete:"new-password",name:"password",type:"password",onChange:this.onChange}))),I()(Qe=Ot.valueSeq()).call(Qe,function(ae,Ie){return B.a.createElement(je,{error:ae,key:Ie})}))}return"bearer"===nn?B.a.createElement("div",null,B.a.createElement("h4",null,B.a.createElement("code",null,ue||Se.get("name")),"\xa0 (http, Bearer)",B.a.createElement(lt,{path:["securityDefinitions",ue]})),St&&B.a.createElement("h6",null,"Authorized"),B.a.createElement($e,null,B.a.createElement(Et,{source:Se.get("description")})),B.a.createElement($e,null,B.a.createElement("label",null,"Value:"),St?B.a.createElement("code",null," ****** "):B.a.createElement(F,null,B.a.createElement(He,{type:"text",onChange:this.onChange,autoFocus:!0}))),I()(ce=Ot.valueSeq()).call(ce,function(ae,Ie){return B.a.createElement(je,{error:ae,key:Ie})})):B.a.createElement("div",null,B.a.createElement("em",null,B.a.createElement("b",null,ue)," HTTP authentication: unsupported scheme ","'".concat(nn,"'")))}}]),ne}(B.a.Component))},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return J});var e=t(25),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(10),m=t.n(_),b=t(8),T=t.n(b),D=t(9),R=t.n(D),j=t(3),H=t.n(j),z=t(2),U=t.n(z),M=t(0),I=t.n(M),J=(t(11),t(28),function(B){T()(oe,B);var ie=R()(oe);function oe(){var fe,ne;l()(this,oe);for(var he=arguments.length,ce=new Array(he),Ae=0;Ae<he;Ae++)ce[Ae]=arguments[Ae];return ne=ie.call.apply(ie,U()(fe=[this]).call(fe,ce)),H()(m()(ne),"setSelectedServer",function(Se){var Oe,be=ne.props,ue=be.path,He=be.method;return ne.forceUpdate(),ne.props.setSelectedServer(Se,U()(Oe="".concat(ue,":")).call(Oe,He))}),H()(m()(ne),"setServerVariableValue",function(Se){var Oe,be=ne.props,ue=be.path,He=be.method;return ne.forceUpdate(),ne.props.setServerVariableValue(s()(s()({},Se),{},{namespace:U()(Oe="".concat(ue,":")).call(Oe,He)}))}),H()(m()(ne),"getSelectedServer",function(){var Se,Oe=ne.props,be=Oe.path,ue=Oe.method;return ne.props.getSelectedServer(U()(Se="".concat(be,":")).call(Se,ue))}),H()(m()(ne),"getServerVariable",function(Se,Oe){var be,ue=ne.props,He=ue.path,$e=ue.method;return ne.props.getServerVariable({namespace:U()(be="".concat(He,":")).call(be,$e),server:Se},Oe)}),H()(m()(ne),"getEffectiveServerValue",function(Se){var Oe,be=ne.props,ue=be.path,He=be.method;return ne.props.getEffectiveServerValue({server:Se,namespace:U()(Oe="".concat(ue,":")).call(Oe,He)})}),ne}return h()(oe,[{key:"render",value:function(){var fe=this.props,ne=fe.operationServers,he=fe.pathServers;if(!ne&&!he)return null;var Ae=(0,fe.getComponent)("Servers"),Se=ne||he,Oe=ne?"operation":"path";return I.a.createElement("div",{className:"opblock-section operation-servers"},I.a.createElement("div",{className:"opblock-section-header"},I.a.createElement("div",{className:"tab-header"},I.a.createElement("h4",{className:"opblock-title"},"Servers"))),I.a.createElement("div",{className:"opblock-description-wrapper"},I.a.createElement("h4",{className:"message"},"These ",Oe,"-level options override the global server options."),I.a.createElement(Ae,{servers:Se,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}}]),oe}(I.a.Component))},function(g,o,t){"use strict";t.r(o);var e=t(306),s=t(307),a=t(308),l=t(309),u=t(310),h=t(311);o.default={Markdown:e.default,AuthItem:s.default,JsonSchema_string:h.default,VersionStamp:a.default,model:u.default,onlineValidatorBadge:l.default}},function(g,o,t){"use strict";t.r(o),t.d(o,"Markdown",function(){return D});var e=t(105),s=t.n(e),a=t(0),l=t.n(a),u=(t(11),t(47)),h=t.n(u),_=t(204),m=t(36),b=t(205),T=new _.a("commonmark");T.block.ruler.enable(["table"]),T.set({linkTarget:"_blank"});var D=function(R){var j=R.source,H=R.className,z=void 0===H?"":H;if("string"!=typeof j)return null;if(j){var M,I=(0,R.getConfigs)().useUnsafeMarkdown,J=T.render(j),B=Object(b.b)(J,{useUnsafeMarkdown:I});return"string"==typeof B&&(M=s()(B).call(B)),l.a.createElement("div",{dangerouslySetInnerHTML:{__html:M},className:h()(z,"renderedMarkdown")})}return null};D.defaultProps={getConfigs:function(){return{useUnsafeMarkdown:!1}}},o.default=Object(m.OAS3ComponentWrapFactory)(D)},function(g,o,t){"use strict";t.r(o);var e=t(54),s=t.n(e),a=t(0),l=t.n(a),u=t(36),h=["Ori"];o.default=Object(u.OAS3ComponentWrapFactory)(function(_){var m=_.Ori,b=s()(_,h),T=b.schema,D=b.getComponent,R=b.errSelectors,j=b.authorized,H=b.onAuthChange,z=b.name,U=D("HttpAuth");return"http"===T.get("type")?l.a.createElement(U,{key:z,schema:T,name:z,errSelectors:R,authorized:j,getComponent:D,onChange:H}):l.a.createElement(m,b)})},function(g,o,t){"use strict";t.r(o);var e=t(0),s=t.n(e),a=t(36);o.default=Object(a.OAS3ComponentWrapFactory)(function(l){return s.a.createElement("span",null,s.a.createElement(l.Ori,l),s.a.createElement("small",{className:"version-stamp"},s.a.createElement("pre",{className:"version"},"OAS3")))})},function(g,o,t){"use strict";t.r(o);var e=t(36),s=t(203);o.default=Object(e.OAS3ComponentWrapFactory)(s.a)},function(g,o,t){"use strict";t.r(o);var e=t(29),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(8),m=t.n(_),b=t(9),T=t.n(b),D=t(0),R=t.n(D),j=(t(11),t(36)),H=t(206),z=function(U){m()(I,U);var M=T()(I);function I(){return l()(this,I),M.apply(this,arguments)}return h()(I,[{key:"render",value:function(){var J=this.props,B=J.getConfigs,ie=["model-box"],oe=null;return!0===J.schema.get("deprecated")&&(ie.push("deprecated"),oe=R.a.createElement("span",{className:"model-deprecated-warning"},"Deprecated:")),R.a.createElement("div",{className:ie.join(" ")},oe,R.a.createElement(H.a,s()({},this.props,{getConfigs:B,depth:1,expandDepth:this.props.expandDepth||0})))}}]),I}(D.Component);o.default=Object(j.OAS3ComponentWrapFactory)(z)},function(g,o,t){"use strict";t.r(o);var e=t(54),s=t.n(e),a=t(0),l=t.n(a),u=t(36),h=["Ori"];o.default=Object(u.OAS3ComponentWrapFactory)(function(_){var m=_.Ori,b=s()(_,h),T=b.schema,D=b.getComponent,R=b.errors,j=b.onChange,H=T&&T.get?T.get("format"):null,z=T&&T.get?T.get("type"):null,U=D("Input");return z&&"string"===z&&H&&("binary"===H||"base64"===H)?l.a.createElement(U,{type:"file",className:R.length?"invalid":"",title:R.length?R:"",onChange:function(M){j(M.target.files[0])},disabled:m.isDisabled}):l.a.createElement(m,b)})},function(g,o,t){"use strict";t.r(o),t.d(o,"selectedServer",function(){return J}),t.d(o,"requestBodyValue",function(){return B}),t.d(o,"shouldRetainRequestBodyValue",function(){return ie}),t.d(o,"hasUserEditedBody",function(){return oe}),t.d(o,"requestBodyInclusionSetting",function(){return fe}),t.d(o,"requestBodyErrors",function(){return ne}),t.d(o,"activeExamplesMember",function(){return he}),t.d(o,"requestContentType",function(){return ce}),t.d(o,"responseContentType",function(){return Ae}),t.d(o,"serverVariableValue",function(){return Se}),t.d(o,"serverVariables",function(){return Oe}),t.d(o,"serverEffectiveValue",function(){return be}),t.d(o,"validateBeforeExecute",function(){return ue}),t.d(o,"validateShallowRequired",function(){return He});var e=t(14),s=t.n(e),a=t(2),l=t.n(a),u=t(4),h=t.n(u),_=t(23),m=t.n(_),b=t(15),T=t.n(b),D=t(18),R=t.n(D),j=t(1),H=t(36),z=t(163),U=t(5);function M($e){return function(){for(var F=arguments.length,je=new Array(F),Et=0;Et<F;Et++)je[Et]=arguments[Et];return function(lt){var nn=lt.getSystem().specSelectors.specJson();return Object(H.isOAS3)(nn)?$e.apply(void 0,je):null}}}var I,J=M(function($e,F){return $e.getIn(F?[F,"selectedServer"]:["selectedServer"])||""}),B=M(function($e,F,je){return $e.getIn(["requestData",F,je,"bodyValue"])||null}),ie=M(function($e,F,je){return $e.getIn(["requestData",F,je,"retainBodyValue"])||!1}),oe=function($e,F,je){return function(Et){var lt=Et.getSystem(),nn=lt.oas3Selectors,St=lt.specSelectors,Ot=St.specJson();if(Object(H.isOAS3)(Ot)){var Qe=!1,It=nn.requestContentType(F,je),ae=nn.requestBodyValue(F,je);if(j.Map.isMap(ae)&&(ae=Object(U.I)(ae.mapEntries(function(dt){return j.Map.isMap(dt[1])?[dt[0],dt[1].get("value")]:dt}).toJS())),j.List.isList(ae)&&(ae=Object(U.I)(ae)),It){var Ie=Object(z.getDefaultRequestBodyValue)(St.specResolvedSubtree(["paths",F,je,"requestBody"]),It,nn.activeExamplesMember(F,je,"requestBody","requestBody"));Qe=!!ae&&ae!==Ie}return Qe}return null}},fe=M(function($e,F,je){return $e.getIn(["requestData",F,je,"bodyInclusion"])||Object(j.Map)()}),ne=M(function($e,F,je){return $e.getIn(["requestData",F,je,"errors"])||null}),he=M(function($e,F,je,Et,lt){return $e.getIn(["examples",F,je,Et,lt,"activeExample"])||null}),ce=M(function($e,F,je){return $e.getIn(["requestData",F,je,"requestContentType"])||null}),Ae=M(function($e,F,je){return $e.getIn(["requestData",F,je,"responseContentType"])||null}),Se=M(function($e,F,je){var Et;if("string"!=typeof F){var lt=F.server,nn=F.namespace;Et=nn?[nn,"serverVariableValues",lt,je]:["serverVariableValues",lt,je]}else Et=["serverVariableValues",F,je];return $e.getIn(Et)||null}),Oe=M(function($e,F){var je;if("string"!=typeof F){var Et=F.server,lt=F.namespace;je=lt?[lt,"serverVariableValues",Et]:["serverVariableValues",Et]}else je=["serverVariableValues",F];return $e.getIn(je)||Object(j.OrderedMap)()}),be=M(function($e,F){var je,Et;if("string"!=typeof F){var nn=F.namespace;Et=F.server,je=$e.getIn(nn?[nn,"serverVariableValues",Et]:["serverVariableValues",Et])}else je=$e.getIn(["serverVariableValues",Et=F]);je=je||Object(j.OrderedMap)();var St=Et;return h()(je).call(je,function(Ot,Qe){St=St.replace(new RegExp("{".concat(Qe,"}"),"g"),Ot)}),St}),ue=(I=function($e,F){return Et=(Et=F)||[],!!$e.getIn(l()(lt=["requestData"]).call(lt,s()(Et),["bodyValue"]));var Et,lt},function(){for(var $e=arguments.length,F=new Array($e),je=0;je<$e;je++)F[je]=arguments[je];return function(Et){var lt,nn,St=Et.getSystem().specSelectors.specJson(),Ot=l()(lt=[]).call(lt,F)[1]||[];return!St.getIn(l()(nn=["paths"]).call(nn,s()(Ot),["requestBody","required"]))||I.apply(void 0,F)}}),He=function($e,F){var je,Et=F.oas3RequiredRequestBodyContentType,lt=F.oas3RequestContentType,nn=F.oas3RequestBodyValue,St=[];if(!j.Map.isMap(nn))return St;var Ot=[];return m()(je=T()(Et.requestContentType)).call(je,function(Qe){if(Qe===lt){var It=Et.requestContentType[Qe];m()(It).call(It,function(ae){R()(Ot).call(Ot,ae)<0&&Ot.push(ae)})}}),m()(Ot).call(Ot,function(Qe){nn.getIn([Qe,"value"])||St.push(Qe)}),St}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(327),u=t.n(l),h=t(13),_=t.n(h),m=t(125),b=t.n(m),T=t(20),D=t.n(T),R=t(23),j=t.n(R),H=t(30),z=t.n(H),U=t(1),M=t(55);o.default=(e={},a()(e,M.UPDATE_SELECTED_SERVER,function(I,J){var B=J.payload,oe=B.namespace;return I.setIn(oe?[oe,"selectedServer"]:["selectedServer"],B.selectedServerUrl)}),a()(e,M.UPDATE_REQUEST_BODY_VALUE,function(I,J){var B=J.payload,ie=B.value,oe=B.pathMethod,fe=_()(oe,2),ne=fe[0],he=fe[1];if(!U.Map.isMap(ie))return I.setIn(["requestData",ne,he,"bodyValue"],ie);var ce,Ae=I.getIn(["requestData",ne,he,"bodyValue"])||Object(U.Map)();U.Map.isMap(Ae)||(Ae=Object(U.Map)());var Se=b()(ie).call(ie),Oe=u()(Se),be=D()(Oe).call(Oe,0);return j()(be).call(be,function(ue){var He=ie.getIn([ue]);Ae.has(ue)&&U.Map.isMap(He)||(ce=Ae.setIn([ue,"value"],He))}),I.setIn(["requestData",ne,he,"bodyValue"],ce)}),a()(e,M.UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,function(I,J){var B=J.payload,ie=B.value,oe=B.pathMethod,fe=_()(oe,2);return I.setIn(["requestData",fe[0],fe[1],"retainBodyValue"],ie)}),a()(e,M.UPDATE_REQUEST_BODY_INCLUSION,function(I,J){var B=J.payload,ie=B.value,oe=B.pathMethod,fe=B.name,ne=_()(oe,2);return I.setIn(["requestData",ne[0],ne[1],"bodyInclusion",fe],ie)}),a()(e,M.UPDATE_ACTIVE_EXAMPLES_MEMBER,function(I,J){var B=J.payload,ie=B.name,oe=B.pathMethod,fe=B.contextType,ne=B.contextName,he=_()(oe,2);return I.setIn(["examples",he[0],he[1],fe,ne,"activeExample"],ie)}),a()(e,M.UPDATE_REQUEST_CONTENT_TYPE,function(I,J){var B=J.payload,ie=B.value,oe=B.pathMethod,fe=_()(oe,2);return I.setIn(["requestData",fe[0],fe[1],"requestContentType"],ie)}),a()(e,M.UPDATE_RESPONSE_CONTENT_TYPE,function(I,J){var B=J.payload;return I.setIn(["requestData",B.path,B.method,"responseContentType"],B.value)}),a()(e,M.UPDATE_SERVER_VARIABLE_VALUE,function(I,J){var B=J.payload,ie=B.server,oe=B.namespace,fe=B.key;return I.setIn(oe?[oe,"serverVariableValues",ie,fe]:["serverVariableValues",ie,fe],B.val)}),a()(e,M.SET_REQUEST_BODY_VALIDATE_ERROR,function(I,J){var B=J.payload,ie=B.path,oe=B.method,fe=B.validationErrors,ne=[];if(ne.push("Required field is not provided"),fe.missingBodyValue)return I.setIn(["requestData",ie,oe,"errors"],Object(U.fromJS)(ne));if(fe.missingRequiredKeys&&fe.missingRequiredKeys.length>0){var he=fe.missingRequiredKeys;return I.updateIn(["requestData",ie,oe,"bodyValue"],Object(U.fromJS)({}),function(ce){return z()(he).call(he,function(Ae,Se){return Ae.setIn([Se,"errors"],Object(U.fromJS)(ne))},ce)})}return console.warn("unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR"),I}),a()(e,M.CLEAR_REQUEST_BODY_VALIDATE_ERROR,function(I,J){var B=J.payload,ie=B.path,oe=B.method,fe=I.getIn(["requestData",ie,oe,"bodyValue"]);if(!U.Map.isMap(fe))return I.setIn(["requestData",ie,oe,"errors"],Object(U.fromJS)([]));var ne=b()(fe).call(fe),he=u()(ne),ce=D()(he).call(he,0);return ce?I.updateIn(["requestData",ie,oe,"bodyValue"],Object(U.fromJS)({}),function(Ae){return z()(ce).call(ce,function(Se,Oe){return Se.setIn([Oe,"errors"],Object(U.fromJS)([]))},Ae)}):I}),a()(e,M.CLEAR_REQUEST_BODY_VALUE,function(I,J){var B=J.payload.pathMethod,ie=_()(B,2),oe=ie[0],fe=ie[1],ne=I.getIn(["requestData",oe,fe,"bodyValue"]);return ne?U.Map.isMap(ne)?I.setIn(["requestData",oe,fe,"bodyValue"],Object(U.Map)()):I.setIn(["requestData",oe,fe,"bodyValue"],""):I}),e)},function(g,o,t){"use strict";t.r(o);var e,s=t(23),a=t.n(s),l=t(125),u=t.n(l),h=t(5),_=t(976),m={};a()(e=u()(_).call(_)).call(e,function(b){if("./index.js"!==b){var T=_(b);m[Object(h.D)(b)]=T.default?T.default:T}}),o.default=m},function(g,o,t){"use strict";t.r(o);var e={};t.r(e),t.d(e,"JsonPatchError",function(){return An}),t.d(e,"deepClone",function(){return Bn}),t.d(e,"getValueByPointer",function(){return _r}),t.d(e,"applyOperation",function(){return Nr}),t.d(e,"applyPatch",function(){return br}),t.d(e,"applyReducer",function(){return Jn}),t.d(e,"validator",function(){return rr}),t.d(e,"validate",function(){return Mr}),t.d(e,"_areEquals",function(){return yi});var s={};t.r(s),t.d(s,"unobserve",function(){return Xr}),t.d(s,"observe",function(){return Kr}),t.d(s,"generate",function(){return di}),t.d(s,"compare",function(){return ct});var a={};t.r(a),t.d(a,"path",function(){return Ta}),t.d(a,"query",function(){return hl}),t.d(a,"header",function(){return ba}),t.d(a,"cookie",function(){return Es});var l=t(2),u=t.n(l),h=t(72),_=t.n(h),m=t(40),b=t.n(m),T=t(49),D=t.n(T),R=t(19),j=t.n(R),H=t(13),z=t.n(H),U=t(31),M=t.n(U),I=t(80),J=t.n(I),B=t(106),ie=t.n(B),oe=t(32),fe=t.n(oe),ne=t(4),he=t.n(ne),ce=t(15),Ae=t.n(ce),Se=t(199),Oe=t.n(Se),be=t(12),ue=t.n(be),He=(t(442),t(207)),$e=t.n(He),F=t(70),je=t(92),Et=t(14),lt=t.n(Et),nn=t(20),St=t.n(nn),Ot=function(We){return":/?#[]@!$&'()*+,;=".indexOf(We)>-1},Qe=function(We){return/^[a-z0-9\-._~]+$/i.test(We)};function It(We){var wt,kt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},tn=kt.escape,ur=arguments.length>2?arguments[2]:void 0;return"number"==typeof We&&(We=We.toString()),"string"==typeof We&&We.length&&tn?ur?JSON.parse(We):he()(wt=lt()(We)).call(wt,function(gn){var xr,Zr;if(Qe(gn)||Ot(gn)&&"unsafe"===tn)return gn;var Pr=new TextEncoder;return he()(xr=he()(Zr=ie()(Pr.encode(gn))).call(Zr,function(mi){var ni;return St()(ni="0".concat(mi.toString(16).toUpperCase())).call(ni,-2)})).call(xr,function(mi){return"%".concat(mi)}).join("")}).join(""):We}function ae(We){var kt,tn,ur,gn,xr,Zr,Pr,mi,wt=We.value;return Array.isArray(wt)?function(kt){var tn=kt.key,ur=kt.value,gn=kt.style,xr=kt.explode,Zr=kt.escape,Pr=function(bi){return It(bi,{escape:Zr})};if("simple"===gn)return he()(ur).call(ur,function(bi){return Pr(bi)}).join(",");if("label"===gn)return".".concat(he()(ur).call(ur,function(bi){return Pr(bi)}).join("."));if("matrix"===gn)return he()(ur).call(ur,function(bi){return Pr(bi)}).reduce(function(bi,Ui){var ro,mo,Bi;return!bi||xr?u()(mo=u()(Bi="".concat(bi||"",";")).call(Bi,tn,"=")).call(mo,Ui):u()(ro="".concat(bi,",")).call(ro,Ui)},"");if("form"===gn){var mi=xr?"&".concat(tn,"="):",";return he()(ur).call(ur,function(bi){return Pr(bi)}).join(mi)}if("spaceDelimited"===gn){var ni=xr?"".concat(tn,"="):"";return he()(ur).call(ur,function(bi){return Pr(bi)}).join(" ".concat(ni))}if("pipeDelimited"===gn){var si=xr?"".concat(tn,"="):"";return he()(ur).call(ur,function(bi){return Pr(bi)}).join("|".concat(si))}}(We):"object"===j()(wt)?(tn=(kt=We).key,ur=kt.value,gn=kt.style,xr=kt.explode,Zr=kt.escape,Pr=function(ni){return It(ni,{escape:Zr})},mi=Ae()(ur),"simple"===gn?mi.reduce(function(ni,si){var bi,Ui,ro,mo=Pr(ur[si]),Bi=xr?"=":",",hi=ni?"".concat(ni,","):"";return u()(bi=u()(Ui=u()(ro="".concat(hi)).call(ro,si)).call(Ui,Bi)).call(bi,mo)},""):"label"===gn?mi.reduce(function(ni,si){var bi,Ui,ro,mo=Pr(ur[si]),Bi=xr?"=":".",hi=ni?"".concat(ni,"."):".";return u()(bi=u()(Ui=u()(ro="".concat(hi)).call(ro,si)).call(Ui,Bi)).call(bi,mo)},""):"matrix"===gn&&xr?mi.reduce(function(ni,si){var bi,Ui,ro=Pr(ur[si]),mo=ni?"".concat(ni,";"):";";return u()(bi=u()(Ui="".concat(mo)).call(Ui,si,"=")).call(bi,ro)},""):"matrix"===gn?mi.reduce(function(ni,si){var bi,Ui,ro=Pr(ur[si]),mo=ni?"".concat(ni,","):";".concat(tn,"=");return u()(bi=u()(Ui="".concat(mo)).call(Ui,si,",")).call(bi,ro)},""):"form"===gn?mi.reduce(function(ni,si){var bi,Ui,ro,mo,Bi=Pr(ur[si]),hi=ni?u()(bi="".concat(ni)).call(bi,xr?"&":","):"",Br=xr?"=":",";return u()(Ui=u()(ro=u()(mo="".concat(hi)).call(mo,si)).call(ro,Br)).call(Ui,Bi)},""):void 0):function(kt){var tn,ur=kt.key,gn=kt.value,xr=kt.style,Zr=kt.escape,Pr=function(mi){return It(mi,{escape:Zr})};return"simple"===xr?Pr(gn):"label"===xr?".".concat(Pr(gn)):"matrix"===xr?u()(tn=";".concat(ur,"=")).call(tn,Pr(gn)):"form"===xr||"deepObject"===xr?Pr(gn):void 0}(We)}var Ie=function(We,wt){wt.body=We},dt={serializeRes:Ln,mergeInQueryOrForm:qn};function Jt(We){return zt.apply(this,arguments)}function zt(){return(zt=_()(b.a.mark(function We(wt){var kt,ur,gn,xr,Zr=arguments;return b.a.wrap(function(Pr){for(;;)switch(Pr.prev=Pr.next){case 0:if(kt=Zr.length>1&&void 0!==Zr[1]?Zr[1]:{},"object"===j()(wt)&&(wt=(kt=wt).url),kt.headers=kt.headers||{},dt.mergeInQueryOrForm(kt),kt.headers&&Ae()(kt.headers).forEach(function(mi){var ni=kt.headers[mi];"string"==typeof ni&&(kt.headers[mi]=ni.replace(/\n+/g," "))}),!kt.requestInterceptor){Pr.next=12;break}return Pr.next=8,kt.requestInterceptor(kt);case 8:if(Pr.t0=Pr.sent,Pr.t0){Pr.next=11;break}Pr.t0=kt;case 11:kt=Pr.t0;case 12:return/multipart\/form-data/i.test(kt.headers["content-type"]||kt.headers["Content-Type"])&&kt.body instanceof je.FormData&&(delete kt.headers["content-type"],delete kt.headers["Content-Type"]),Pr.prev=14,Pr.next=17,(kt.userFetch||fetch)(kt.url,kt);case 17:return ur=Pr.sent,Pr.next=20,dt.serializeRes(ur,wt,kt);case 20:if(ur=Pr.sent,!kt.responseInterceptor){Pr.next=28;break}return Pr.next=24,kt.responseInterceptor(ur);case 24:if(Pr.t1=Pr.sent,Pr.t1){Pr.next=27;break}Pr.t1=ur;case 27:ur=Pr.t1;case 28:Pr.next=39;break;case 30:if(Pr.prev=30,Pr.t2=Pr.catch(14),ur){Pr.next=34;break}throw Pr.t2;case 34:throw(gn=new Error(ur.statusText||"response status is ".concat(ur.status))).status=ur.status,gn.statusCode=ur.status,gn.responseError=Pr.t2,gn;case 39:if(ur.ok){Pr.next=45;break}throw(xr=new Error(ur.statusText||"response status is ".concat(ur.status))).status=ur.status,xr.statusCode=ur.status,xr.response=ur,xr;case 45:return Pr.abrupt("return",ur);case 46:case"end":return Pr.stop()}},We,null,[[14,30]])}))).apply(this,arguments)}var ln=function(){var We=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return/(json|xml|yaml|text)\b/.test(We)};function ar(We,wt){return wt&&(0===wt.indexOf("application/json")||wt.indexOf("+json")>0)?JSON.parse(We):F.a.load(We)}function Ln(We,wt){var kt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},tn=kt.loadSpec,ur=void 0!==tn&&tn,gn={ok:We.ok,url:We.url||wt,status:We.status,statusText:We.statusText,headers:er(We.headers)},xr=gn.headers["content-type"],Zr=ur||ln(xr),Pr=Zr?We.text:We.blob||We.buffer;return Pr.call(We).then(function(mi){if(gn.text=mi,gn.data=mi,Zr)try{var ni=ar(mi,xr);gn.body=ni,gn.obj=ni}catch(si){gn.parseError=si}return gn})}function Rn(We){return M()(We).call(We,", ")?We.split(", "):We}function er(){var We=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"function"!=typeof J()(We)?{}:ie()(J()(We).call(We)).reduce(function(wt,kt){var tn=z()(kt,2);return wt[tn[0]]=Rn(tn[1]),wt},{})}function Mn(We,wt){return wt||"undefined"==typeof navigator||(wt=navigator),wt&&"ReactNative"===wt.product?!(!We||"object"!==j()(We)||"string"!=typeof We.uri):void 0!==je.File&&We instanceof je.File||void 0!==je.Blob&&We instanceof je.Blob||!!ArrayBuffer.isView(We)||null!==We&&"object"===j()(We)&&"function"==typeof We.pipe}function Ht(We,wt){return Array.isArray(We)&&We.some(function(kt){return Mn(kt,wt)})}var tr={form:",",spaceDelimited:"%20",pipeDelimited:"|"},Yn={csv:",",ssv:"%20",tsv:"%09",pipes:"|"};function Cn(We,wt){var kt=arguments.length>2&&void 0!==arguments[2]&&arguments[2],tn=wt.collectionFormat,ur=wt.allowEmptyValue,gn=wt.serializationOption,xr=wt.encoding,Zr="object"!==j()(wt)||Array.isArray(wt)?wt:wt.value,Pr=kt?function(ro){return ro.toString()}:function(ro){return encodeURIComponent(ro)},mi=Pr(We);if(void 0===Zr&&ur)return[[mi,""]];if(Mn(Zr)||Ht(Zr))return[[mi,Zr]];if(gn)return Kt(We,Zr,kt,gn);if(xr){if([j()(xr.style),j()(xr.explode),j()(xr.allowReserved)].some(function(ro){return"undefined"!==ro})){var ni=xr.style,si=xr.explode,bi=xr.allowReserved;return Kt(We,Zr,kt,{style:ni,explode:si,allowReserved:bi})}if(xr.contentType){if("application/json"===xr.contentType){var Ui="string"==typeof Zr?Zr:fe()(Zr);return[[mi,Pr(Ui)]]}return[[mi,Pr(Zr.toString())]]}return"object"!==j()(Zr)?[[mi,Pr(Zr)]]:Array.isArray(Zr)&&Zr.every(function(ro){return"object"!==j()(ro)})?[[mi,he()(Zr).call(Zr,Pr).join(",")]]:[[mi,Pr(fe()(Zr))]]}return"object"!==j()(Zr)?[[mi,Pr(Zr)]]:Array.isArray(Zr)?"multi"===tn?[[mi,he()(Zr).call(Zr,Pr)]]:[[mi,he()(Zr).call(Zr,Pr).join(Yn[tn||"csv"])]]:[[mi,""]]}function Kt(We,wt,kt,tn){var ur,gn,xr,Zr=tn.style||"form",Pr=void 0===tn.explode?"form"===Zr:tn.explode,mi=!kt&&(tn&&tn.allowReserved?"unsafe":"reserved"),ni=function(bi){return It(bi,{escape:mi})},si=kt?function(bi){return bi}:function(bi){return It(bi,{escape:mi})};return"object"!==j()(wt)?[[si(We),ni(wt)]]:Array.isArray(wt)?Pr?[[si(We),he()(wt).call(wt,ni)]]:[[si(We),he()(wt).call(wt,ni).join(tr[Zr])]]:"deepObject"===Zr?he()(gn=Ae()(wt)).call(gn,function(bi){var Ui;return[si(u()(Ui="".concat(We,"[")).call(Ui,bi,"]")),ni(wt[bi])]}):Pr?he()(xr=Ae()(wt)).call(xr,function(bi){return[si(bi),ni(wt[bi])]}):[[si(We),he()(ur=Ae()(wt)).call(ur,function(bi){var Ui;return[u()(Ui="".concat(si(bi),",")).call(Ui,ni(wt[bi]))]}).join(",")]]}function dn(We){return Oe()(We).reduce(function(wt,kt){var tn,ur=z()(kt,2),gn=ur[0],xr=ur[1],Zr=D()(Cn(gn,xr,!0));try{for(Zr.s();!(tn=Zr.n()).done;){var Pr=z()(tn.value,2),mi=Pr[0],ni=Pr[1];if(Array.isArray(ni)){var si,bi=D()(ni);try{for(bi.s();!(si=bi.n()).done;){var Ui=si.value;if(ArrayBuffer.isView(Ui)){var ro=new je.Blob([Ui]);wt.append(mi,ro)}else wt.append(mi,Ui)}}catch(Bi){bi.e(Bi)}finally{bi.f()}}else if(ArrayBuffer.isView(ni)){var mo=new je.Blob([ni]);wt.append(mi,mo)}else wt.append(mi,ni)}}catch(Bi){Zr.e(Bi)}finally{Zr.f()}return wt},new je.FormData)}function Kn(We){var wt=Ae()(We).reduce(function(kt,tn){var ur,gn=D()(Cn(tn,We[tn]));try{for(gn.s();!(ur=gn.n()).done;){var xr=z()(ur.value,2);kt[xr[0]]=xr[1]}}catch(mi){gn.e(mi)}finally{gn.f()}return kt},{});return $e.a.stringify(wt,{encode:!1,indices:!1})||""}function qn(){var We=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},wt=We.url,kt=void 0===wt?"":wt,tn=We.query,ur=We.form,gn=function(){for(var hi=arguments.length,Br=new Array(hi),G=0;G<hi;G++)Br[G]=arguments[G];var Me=ue()(Br).call(Br,function(ft){return ft}).join("&");return Me?"?".concat(Me):""};if(ur){var xr=Ae()(ur).some(function(hi){var Br=ur[hi].value;return Mn(Br)||Ht(Br)}),Zr=We.headers["content-type"]||We.headers["Content-Type"];if(xr||/multipart\/form-data/i.test(Zr)){var Pr=dn(We.form);Ie(Pr,We)}else We.body=Kn(ur);delete We.form}if(tn){var mi=kt.split("?"),ni=z()(mi,2),si=ni[0],bi=ni[1],Ui="";if(bi){var ro=$e.a.parse(bi),mo=Ae()(tn);mo.forEach(function(hi){return delete ro[hi]}),Ui=$e.a.stringify(ro,{encode:!0})}var Bi=gn(Ui,Kn(tn));We.url=si+Bi,delete We.query}return We}var Sn,$n=t(25),En=t.n($n),Fn=t(6),Dn=t.n(Fn),mn=t(7),jn=t.n(mn),Xt=t(21),ut=t.n(Xt),mt=t(56),Tt=t.n(mt),yn=t(66),et=t.n(yn),jt=t(200),hn=t.n(jt),Qn=t(3),Ir=t.n(Qn),ht=(Sn=function(We,wt){return(Sn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(kt,tn){kt.__proto__=tn}||function(kt,tn){for(var ur in tn)tn.hasOwnProperty(ur)&&(kt[ur]=tn[ur])})(We,wt)},function(We,wt){function kt(){this.constructor=We}Sn(We,wt),We.prototype=null===wt?Object.create(wt):(kt.prototype=wt.prototype,new kt)}),L=Object.prototype.hasOwnProperty;function Ue(We,wt){return L.call(We,wt)}function nt(We){if(Array.isArray(We)){for(var wt=new Array(We.length),kt=0;kt<wt.length;kt++)wt[kt]=""+kt;return wt}if(Object.keys)return Object.keys(We);for(var tn in wt=[],We)Ue(We,tn)&&wt.push(tn);return wt}function at(We){switch(typeof We){case"object":return JSON.parse(JSON.stringify(We));case"undefined":return null;default:return We}}function it(We){for(var wt,kt=0,tn=We.length;kt<tn;){if(!((wt=We.charCodeAt(kt))>=48&&wt<=57))return!1;kt++}return!0}function Pt(We){return-1===We.indexOf("/")&&-1===We.indexOf("~")?We:We.replace(/~/g,"~0").replace(/\//g,"~1")}function Ut(We){return We.replace(/~1/g,"/").replace(/~0/g,"~")}function ot(We){if(void 0===We)return!0;if(We)if(Array.isArray(We)){for(var wt=0,kt=We.length;wt<kt;wt++)if(ot(We[wt]))return!0}else if("object"==typeof We){var tn=nt(We),ur=tn.length;for(wt=0;wt<ur;wt++)if(ot(We[tn[wt]]))return!0}return!1}function Nn(We,wt){var kt=[We];for(var tn in wt){var ur="object"==typeof wt[tn]?JSON.stringify(wt[tn],null,2):wt[tn];void 0!==ur&&kt.push(tn+": "+ur)}return kt.join("\n")}var sn=function(We){function wt(kt,tn,ur,gn,xr){var Zr=this.constructor,Pr=We.call(this,Nn(kt,{name:tn,index:ur,operation:gn,tree:xr}))||this;return Pr.name=tn,Pr.index=ur,Pr.operation=gn,Pr.tree=xr,Object.setPrototypeOf(Pr,Zr.prototype),Pr.message=Nn(kt,{name:tn,index:ur,operation:gn,tree:xr}),Pr}return ht(wt,We),wt}(Error),An=sn,Bn=at,ir={add:function(We,wt,kt){return We[wt]=this.value,{newDocument:kt}},remove:function(We,wt,kt){var tn=We[wt];return delete We[wt],{newDocument:kt,removed:tn}},replace:function(We,wt,kt){var tn=We[wt];return We[wt]=this.value,{newDocument:kt,removed:tn}},move:function(We,wt,kt){var tn=_r(kt,this.path);tn&&(tn=at(tn));var ur=Nr(kt,{op:"remove",path:this.from}).removed;return Nr(kt,{op:"add",path:this.path,value:ur}),{newDocument:kt,removed:tn}},copy:function(We,wt,kt){var tn=_r(kt,this.from);return Nr(kt,{op:"add",path:this.path,value:at(tn)}),{newDocument:kt}},test:function(We,wt,kt){return{newDocument:kt,test:yi(We[wt],this.value)}},_get:function(We,wt,kt){return this.value=We[wt],{newDocument:kt}}},mr={add:function(We,wt,kt){return it(wt)?We.splice(wt,0,this.value):We[wt]=this.value,{newDocument:kt,index:wt}},remove:function(We,wt,kt){return{newDocument:kt,removed:We.splice(wt,1)[0]}},replace:function(We,wt,kt){var tn=We[wt];return We[wt]=this.value,{newDocument:kt,removed:tn}},move:ir.move,copy:ir.copy,test:ir.test,_get:ir._get};function _r(We,wt){if(""==wt)return We;var kt={op:"_get",path:wt};return Nr(We,kt),kt.value}function Nr(We,wt,kt,tn,ur,gn){if(void 0===kt&&(kt=!1),void 0===tn&&(tn=!0),void 0===ur&&(ur=!0),void 0===gn&&(gn=0),kt&&("function"==typeof kt?kt(wt,0,We,wt.path):rr(wt,0)),""===wt.path){var xr={newDocument:We};if("add"===wt.op)return xr.newDocument=wt.value,xr;if("replace"===wt.op)return xr.newDocument=wt.value,xr.removed=We,xr;if("move"===wt.op||"copy"===wt.op)return xr.newDocument=_r(We,wt.from),"move"===wt.op&&(xr.removed=We),xr;if("test"===wt.op){if(xr.test=yi(We,wt.value),!1===xr.test)throw new An("Test operation failed","TEST_OPERATION_FAILED",gn,wt,We);return xr.newDocument=We,xr}if("remove"===wt.op)return xr.removed=We,xr.newDocument=null,xr;if("_get"===wt.op)return wt.value=We,xr;if(kt)throw new An("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",gn,wt,We);return xr}tn||(We=at(We));var Zr=(wt.path||"").split("/"),Pr=We,mi=1,ni=Zr.length,si=void 0,bi=void 0,Ui=void 0;for(Ui="function"==typeof kt?kt:rr;;){if(bi=Zr[mi],ur&&"__proto__"==bi)throw new TypeError("JSON-Patch: modifying `__proto__` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(kt&&void 0===si&&(void 0===Pr[bi]?si=Zr.slice(0,mi).join("/"):mi==ni-1&&(si=wt.path),void 0!==si&&Ui(wt,0,We,si)),mi++,Array.isArray(Pr)){if("-"===bi)bi=Pr.length;else{if(kt&&!it(bi))throw new An("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",gn,wt,We);it(bi)&&(bi=~~bi)}if(mi>=ni){if(kt&&"add"===wt.op&&bi>Pr.length)throw new An("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",gn,wt,We);if(!1===(xr=mr[wt.op].call(wt,Pr,bi,We)).test)throw new An("Test operation failed","TEST_OPERATION_FAILED",gn,wt,We);return xr}}else if(bi&&-1!=bi.indexOf("~")&&(bi=Ut(bi)),mi>=ni){if(!1===(xr=ir[wt.op].call(wt,Pr,bi,We)).test)throw new An("Test operation failed","TEST_OPERATION_FAILED",gn,wt,We);return xr}Pr=Pr[bi]}}function br(We,wt,kt,tn,ur){if(void 0===tn&&(tn=!0),void 0===ur&&(ur=!0),kt&&!Array.isArray(wt))throw new An("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");tn||(We=at(We));for(var gn=new Array(wt.length),xr=0,Zr=wt.length;xr<Zr;xr++)gn[xr]=Nr(We,wt[xr],kt,!0,ur,xr),We=gn[xr].newDocument;return gn.newDocument=We,gn}function Jn(We,wt,kt){var tn=Nr(We,wt);if(!1===tn.test)throw new An("Test operation failed","TEST_OPERATION_FAILED",kt,wt,We);return tn.newDocument}function rr(We,wt,kt,tn){if("object"!=typeof We||null===We||Array.isArray(We))throw new An("Operation is not an object","OPERATION_NOT_AN_OBJECT",wt,We,kt);if(!ir[We.op])throw new An("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",wt,We,kt);if("string"!=typeof We.path)throw new An("Operation `path` property is not a string","OPERATION_PATH_INVALID",wt,We,kt);if(0!==We.path.indexOf("/")&&We.path.length>0)throw new An('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",wt,We,kt);if(("move"===We.op||"copy"===We.op)&&"string"!=typeof We.from)throw new An("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",wt,We,kt);if(("add"===We.op||"replace"===We.op||"test"===We.op)&&void 0===We.value)throw new An("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",wt,We,kt);if(("add"===We.op||"replace"===We.op||"test"===We.op)&&ot(We.value))throw new An("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",wt,We,kt);if(kt)if("add"==We.op){var ur=We.path.split("/").length,gn=tn.split("/").length;if(ur!==gn+1&&ur!==gn)throw new An("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",wt,We,kt)}else if("replace"===We.op||"remove"===We.op||"_get"===We.op){if(We.path!==tn)throw new An("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",wt,We,kt)}else if("move"===We.op||"copy"===We.op){var xr=Mr([{op:"_get",path:We.from,value:void 0}],kt);if(xr&&"OPERATION_PATH_UNRESOLVABLE"===xr.name)throw new An("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",wt,We,kt)}}function Mr(We,wt,kt){try{if(!Array.isArray(We))throw new An("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(wt)br(at(wt),at(We),kt||!0);else{kt=kt||rr;for(var tn=0;tn<We.length;tn++)kt(We[tn],tn,wt,void 0)}}catch(ur){if(ur instanceof An)return ur;throw ur}}function yi(We,wt){if(We===wt)return!0;if(We&&wt&&"object"==typeof We&&"object"==typeof wt){var kt,tn,ur,gn=Array.isArray(We),xr=Array.isArray(wt);if(gn&&xr){if((tn=We.length)!=wt.length)return!1;for(kt=tn;0!=kt--;)if(!yi(We[kt],wt[kt]))return!1;return!0}if(gn!=xr)return!1;var Zr=Object.keys(We);if((tn=Zr.length)!==Object.keys(wt).length)return!1;for(kt=tn;0!=kt--;)if(!wt.hasOwnProperty(Zr[kt]))return!1;for(kt=tn;0!=kt--;)if(!yi(We[ur=Zr[kt]],wt[ur]))return!1;return!0}return We!=We&&wt!=wt}var Li=new WeakMap,Mi=function(We){this.observers=new Map,this.obj=We},Oi=function(We,wt){this.callback=We,this.observer=wt};function Xr(We,wt){wt.unobserve()}function Kr(We,wt){var kt,tn=Li.get(We);if(tn){var ur=tn.observers.get(wt);kt=ur&&ur.observer}else tn=new Mi(We),Li.set(We,tn);if(kt)return kt;if(kt={},tn.value=at(We),wt){kt.callback=wt,kt.next=null;var gn=function(){di(kt)},xr=function(){clearTimeout(kt.next),kt.next=setTimeout(gn)};"undefined"!=typeof window&&(window.addEventListener("mouseup",xr),window.addEventListener("keyup",xr),window.addEventListener("mousedown",xr),window.addEventListener("keydown",xr),window.addEventListener("change",xr))}return kt.patches=[],kt.object=We,kt.unobserve=function(){di(kt),clearTimeout(kt.next),function(Zr,Pr){Zr.observers.delete(Pr.callback)}(tn,kt),"undefined"!=typeof window&&(window.removeEventListener("mouseup",xr),window.removeEventListener("keyup",xr),window.removeEventListener("mousedown",xr),window.removeEventListener("keydown",xr),window.removeEventListener("change",xr))},tn.observers.set(wt,new Oi(wt,kt)),kt}function di(We,wt){void 0===wt&&(wt=!1);var kt=Li.get(We.object);se(kt.value,We.object,We.patches,"",wt),We.patches.length&&br(kt.value,We.patches);var tn=We.patches;return tn.length>0&&(We.patches=[],We.callback&&We.callback(tn)),tn}function se(We,wt,kt,tn,ur){if(wt!==We){"function"==typeof wt.toJSON&&(wt=wt.toJSON());for(var gn=nt(wt),xr=nt(We),Zr=!1,Pr=xr.length-1;Pr>=0;Pr--){var mi=We[si=xr[Pr]];if(!Ue(wt,si)||void 0===wt[si]&&void 0!==mi&&!1===Array.isArray(wt))Array.isArray(We)===Array.isArray(wt)?(ur&&kt.push({op:"test",path:tn+"/"+Pt(si),value:at(mi)}),kt.push({op:"remove",path:tn+"/"+Pt(si)}),Zr=!0):(ur&&kt.push({op:"test",path:tn,value:We}),kt.push({op:"replace",path:tn,value:wt}));else{var ni=wt[si];"object"==typeof mi&&null!=mi&&"object"==typeof ni&&null!=ni?se(mi,ni,kt,tn+"/"+Pt(si),ur):mi!==ni&&(ur&&kt.push({op:"test",path:tn+"/"+Pt(si),value:at(mi)}),kt.push({op:"replace",path:tn+"/"+Pt(si),value:at(ni)}))}}if(Zr||gn.length!=xr.length)for(Pr=0;Pr<gn.length;Pr++){var si;Ue(We,si=gn[Pr])||void 0===wt[si]||kt.push({op:"add",path:tn+"/"+Pt(si),value:at(wt[si])})}}}function ct(We,wt,kt){void 0===kt&&(kt=!1);var tn=[];return se(We,wt,tn,"",kt),tn}Object.assign({},e,s,{JsonPatchError:sn,deepClone:at,escapePathComponent:Pt,unescapePathComponent:Ut});var Ke=t(79),Xe=t.n(Ke),Vt=t(471),Ct=t.n(Vt),rt={add:function(We,wt){return{op:"add",path:We,value:wt}},replace:qe,remove:function(We){return{op:"remove",path:We}},merge:function(We,wt){return{type:"mutation",op:"merge",path:We,value:wt}},mergeDeep:function(We,wt){return{type:"mutation",op:"mergeDeep",path:We,value:wt}},context:function(We,wt){return{type:"context",path:We,value:wt}},getIn:function(We,wt){return wt.reduce(function(kt,tn){return void 0!==tn&&kt?kt[tn]:kt},We)},applyPatch:function(We,wt,kt){if(kt=kt||{},"merge"===(wt=En()(En()({},wt),{},{path:wt.path&&yt(wt.path)})).op){var tn=_o(We,wt.path);ut()(tn,wt.value),br(We,[qe(wt.path,tn)])}else if("mergeDeep"===wt.op){var ur=_o(We,wt.path);for(var gn in wt.value){var xr=wt.value[gn],Zr=Array.isArray(xr);if(Zr){var Pr=ur[gn]||[];ur[gn]=u()(Pr).call(Pr,xr)}else if(Dr(xr)&&!Zr){var mi=En()({},ur[gn]);for(var ni in xr){if(Object.prototype.hasOwnProperty.call(mi,ni)){mi=Xe()(Ct()(mi),xr);break}ut()(mi,Ir()({},ni,xr[ni]))}ur[gn]=mi}else ur[gn]=xr}}else if("add"===wt.op&&""===wt.path&&Dr(wt.value))br(We,Ae()(wt.value).reduce(function(mo,Bi){return mo.push({op:"add",path:"/".concat(yt(Bi)),value:wt.value[Bi]}),mo},[]));else if("replace"===wt.op&&""===wt.path){var bi=wt.value;kt.allowMetaPatches&&wt.meta&&Ei(wt)&&(Array.isArray(wt.value)||Dr(wt.value))&&(bi=En()(En()({},bi),wt.meta)),We=bi}else if(br(We,[wt]),kt.allowMetaPatches&&wt.meta&&Ei(wt)&&(Array.isArray(wt.value)||Dr(wt.value))){var Ui=_o(We,wt.path),ro=En()(En()({},Ui),wt.meta);br(We,[qe(wt.path,ro)])}return We},parentPathMatch:function(We,wt){if(!Array.isArray(wt))return!1;for(var kt=0,tn=wt.length;kt<tn;kt+=1)if(wt[kt]!==We[kt])return!1;return!0},flatten:Cr,fullyNormalizeArray:function(We){return ai(Cr(Vr(We)))},normalizeArray:Vr,isPromise:function(We){return Dr(We)&&Jr(We.then)},forEachNew:function(We,wt){try{return $t(We,Vn,wt)}catch(kt){return kt}},forEachNewPrimitive:function(We,wt){try{return $t(We,or,wt)}catch(kt){return kt}},isJsonPatch:rn,isContextPatch:function(We){return wi(We)&&"context"===We.type},isPatch:wi,isMutation:fi,isAdditiveMutation:Ei,isGenerator:function(We){return"[object GeneratorFunction]"===Object.prototype.toString.call(We)},isFunction:Jr,isObject:Dr,isError:function(We){return We instanceof Error}};function yt(We){return Array.isArray(We)?We.length<1?"":"/".concat(he()(We).call(We,function(wt){return(wt+"").replace(/~/g,"~0").replace(/\//g,"~1")}).join("/")):We}function qe(We,wt,kt){return{op:"replace",path:We,value:wt,meta:kt}}function $t(We,wt,kt){var tn;return ai(Cr(he()(tn=ue()(We).call(We,Ei)).call(tn,function(ur){return wt(ur.value,kt,ur.path)})||[]))}function or(We,wt,kt){return kt=kt||[],Array.isArray(We)?he()(We).call(We,function(ur,gn){return or(ur,wt,u()(kt).call(kt,gn))}):Dr(We)?he()(tn=Ae()(We)).call(tn,function(ur){return or(We[ur],wt,u()(kt).call(kt,ur))}):wt(We,kt[kt.length-1],kt);var tn}function Vn(We,wt,kt){var tn=[];if((kt=kt||[]).length>0){var ur=wt(We,kt[kt.length-1],kt);ur&&(tn=u()(tn).call(tn,ur))}if(Array.isArray(We)){var gn=he()(We).call(We,function(Pr,mi){return Vn(Pr,wt,u()(kt).call(kt,mi))});gn&&(tn=u()(tn).call(tn,gn))}else if(Dr(We)){var xr,Zr=he()(xr=Ae()(We)).call(xr,function(Pr){return Vn(We[Pr],wt,u()(kt).call(kt,Pr))});Zr&&(tn=u()(tn).call(tn,Zr))}return Cr(tn)}function Vr(We){return Array.isArray(We)?We:[We]}function Cr(We){var wt;return u()(wt=[]).apply(wt,lt()(he()(We).call(We,function(kt){return Array.isArray(kt)?Cr(kt):kt})))}function ai(We){return ue()(We).call(We,function(wt){return void 0!==wt})}function Dr(We){return We&&"object"===j()(We)}function Jr(We){return We&&"function"==typeof We}function rn(We){if(wi(We)){var wt=We.op;return"add"===wt||"remove"===wt||"replace"===wt}return!1}function fi(We){return rn(We)||wi(We)&&"mutation"===We.type}function Ei(We){return fi(We)&&("add"===We.op||"replace"===We.op||"merge"===We.op||"mergeDeep"===We.op)}function wi(We){return We&&"object"===j()(We)}function _o(We,wt){try{return _r(We,wt)}catch(kt){return console.error(kt),{}}}var ki=t(472),to=t.n(ki),qi=t(324),Wi=t.n(qi),eo=t(81),Gi=t.n(eo);function Wo(We,wt){function kt(){Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack;for(var tn=arguments.length,ur=new Array(tn),gn=0;gn<tn;gn++)ur[gn]=arguments[gn];this.message=ur[0],wt&&wt.apply(this,ur)}return(kt.prototype=new Error).name=We,kt.prototype.constructor=kt,kt}var Ro=t(473),Bo=t.n(Ro),Ko=["properties"],ts=["properties"],ua=["definitions","parameters","responses","securityDefinitions","components/schemas","components/responses","components/parameters","components/securitySchemes"],ds=["schema/example","items/example"];function qo(We){var wt=We[We.length-1],kt=We[We.length-2],tn=We.join("/");return Ko.indexOf(wt)>-1&&-1===ts.indexOf(kt)||ua.indexOf(tn)>-1||ds.some(function(ur){return tn.indexOf(ur)>-1})}function oa(We,wt){var kt,tn=We.split("#"),ur=z()(tn,2),xr=ur[1],Zr=Gi.a.resolve(ur[0]||"",wt||"");return xr?u()(kt="".concat(Zr,"#")).call(kt,xr):Zr}var Er="application/json, application/yaml",st=new RegExp("^([a-z]+://|//)","i"),pn=Wo("JSONRefError",function(We,wt,kt){this.originalError=kt,ut()(this,wt||{})}),ee={},Ve=new to.a,fn=[function(We){return"paths"===We[0]&&"responses"===We[3]&&"examples"===We[5]},function(We){return"paths"===We[0]&&"responses"===We[3]&&"content"===We[5]&&"example"===We[7]},function(We){return"paths"===We[0]&&"responses"===We[3]&&"content"===We[5]&&"examples"===We[7]&&"value"===We[9]},function(We){return"paths"===We[0]&&"requestBody"===We[3]&&"content"===We[4]&&"example"===We[6]},function(We){return"paths"===We[0]&&"requestBody"===We[3]&&"content"===We[4]&&"examples"===We[6]&&"value"===We[8]},function(We){return"paths"===We[0]&&"parameters"===We[2]&&"example"===We[4]},function(We){return"paths"===We[0]&&"parameters"===We[3]&&"example"===We[5]},function(We){return"paths"===We[0]&&"parameters"===We[2]&&"examples"===We[4]&&"value"===We[6]},function(We){return"paths"===We[0]&&"parameters"===We[3]&&"examples"===We[5]&&"value"===We[7]},function(We){return"paths"===We[0]&&"parameters"===We[2]&&"content"===We[4]&&"example"===We[6]},function(We){return"paths"===We[0]&&"parameters"===We[2]&&"content"===We[4]&&"examples"===We[6]&&"value"===We[8]},function(We){return"paths"===We[0]&&"parameters"===We[3]&&"content"===We[4]&&"example"===We[7]},function(We){return"paths"===We[0]&&"parameters"===We[3]&&"content"===We[5]&&"examples"===We[7]&&"value"===We[9]}],Tn={key:"$ref",plugin:function(We,wt,kt,tn){var hi,Br,G,ur=tn.getInstance(),gn=St()(kt).call(kt,0,-1);if(!qo(gn)&&(xr=gn,!fn.some(function(hi){return hi(xr)}))){var xr,Zr=tn.getContext(kt).baseDoc;if("string"!=typeof We)return new pn("$ref: must be a string (JSON-Ref)",{$ref:We,baseDoc:Zr,fullPath:kt});var Pr,mi,ni,si=gi(We),bi=si[0],Ui=si[1]||"";try{Pr=Zr||bi?Ri(bi,Zr):null}catch(hi){return wo(hi,{pointer:Ui,$ref:We,basePath:Pr,fullPath:kt})}if(function(hi,Br,G,Me){var ft,Ft,Bt=Ve.get(Me);Bt||Ve.set(Me,Bt={});var zr,In=0===(zr=G).length?"":"/".concat(he()(zr).call(zr,xa).join("/")),Xn=u()(ft="".concat(Br||"<specmap-base>","#")).call(ft,hi),Sr=In.replace(/allOf\/\d+\/?/g,"");if(Br===Me.contextTree.get([]).baseDoc&&Ra(Sr,hi))return!0;var Fr="";return!!G.some(function(zr){var Un;return Fr=u()(Un="".concat(Fr,"/")).call(Un,xa(zr)),Bt[Fr]&&Bt[Fr].some(function(lr){return Ra(lr,Xn)||Ra(Xn,lr)})})||void(Bt[Sr]=u()(Ft=Bt[Sr]||[]).call(Ft,Xn))}(Ui,Pr,gn,tn)&&!ur.useCircularStructures){var ro=oa(We,Pr);return We===ro?null:rt.replace(kt,ro)}if(null==Pr?(ni=ws(Ui),void 0===(mi=tn.get(ni))&&(mi=new pn("Could not resolve reference: ".concat(We),{pointer:Ui,$ref:We,baseDoc:Zr,fullPath:kt}))):mi=null!=(mi=Hi(Pr,Ui)).__value?mi.__value:mi.catch(function(hi){throw wo(hi,{pointer:Ui,$ref:We,baseDoc:Zr,fullPath:kt})}),mi instanceof Error)return[rt.remove(kt),mi];var mo=oa(We,Pr),Bi=rt.replace(gn,mi,{$$ref:mo});if(Pr&&Pr!==Zr)return[Bi,rt.context(gn,{baseDoc:Pr})];try{if(G=[hi=tn.state],(Br=Bi).path.reduce(function(ft,Ft){return G.push(ft[Ft]),ft[Ft]},hi),!function Me(ft){return rt.isObject(ft)&&(G.indexOf(ft)>=0||Ae()(ft).some(function(Ft){return Me(ft[Ft])}))}(Br.value)||ur.useCircularStructures)return Bi}catch(hi){return null}}}},$r=ut()(Tn,{docCache:ee,absoluteify:Ri,clearCache:function(We){void 0!==We?delete ee[We]:Ae()(ee).forEach(function(wt){delete ee[wt]})},JSONRefError:pn,wrapError:wo,getDoc:Fi,split:gi,extractFromDoc:Hi,fetchJSON:function(We){return fetch(We,{headers:{Accept:Er},loadSpec:!0}).then(function(wt){return wt.text()}).then(function(wt){return F.a.load(wt)})},extract:cs,jsonPointerToArray:ws,unescapeJsonPointerToken:da}),ti=$r;function Ri(We,wt){if(!st.test(We)){var kt;if(!wt)throw new pn(u()(kt="Tried to resolve a relative URL, without having a basePath. path: '".concat(We,"' basePath: '")).call(kt,wt,"'"));return Gi.a.resolve(wt,We)}return We}function wo(We,wt){var kt,tn;return kt=We&&We.response&&We.response.body?u()(tn="".concat(We.response.body.code," ")).call(tn,We.response.body.message):We.message,new pn("Could not resolve reference: ".concat(kt),wt,We)}function gi(We){return(We+"").split("#")}function Hi(We,wt){var kt=ee[We];if(kt&&!rt.isPromise(kt))try{var tn=cs(wt,kt);return ut()(et.a.resolve(tn),{__value:tn})}catch(ur){return et.a.reject(ur)}return Fi(We).then(function(ur){return cs(wt,ur)})}function Fi(We){var wt=ee[We];return wt?rt.isPromise(wt)?wt:et.a.resolve(wt):(ee[We]=$r.fetchJSON(We).then(function(kt){return ee[We]=kt,kt}),ee[We])}function cs(We,wt){var kt=ws(We);if(kt.length<1)return wt;var tn=rt.getIn(wt,kt);if(void 0===tn)throw new pn("Could not resolve pointer: ".concat(We," does not exist in document"),{pointer:We});return tn}function ws(We){var wt;if("string"!=typeof We)throw new TypeError("Expected a string, got a ".concat(j()(We)));return"/"===We[0]&&(We=We.substr(1)),""===We?[]:he()(wt=We.split("/")).call(wt,da)}function da(We){return"string"!=typeof We?We:new Wi.a("=".concat(We.replace(/~1/g,"/").replace(/~0/g,"~"))).get("")}function xa(We){var wt,kt=new Wi.a([["",We.replace(/~/g,"~0").replace(/\//g,"~1")]]);return St()(wt=kt.toString()).call(wt,1)}function Ra(We,wt){if(!(kt=wt)||"/"===kt||"#"===kt)return!0;var kt,tn=We.charAt(wt.length),ur=St()(wt).call(wt,-1);return 0===We.indexOf(wt)&&(!tn||"/"===tn||"#"===tn)&&"#"!==ur}var Al=t(110),Dl=t.n(Al),Sa={key:"allOf",plugin:function(We,wt,kt,tn,ur){if(!ur.meta||!ur.meta.$$ref){var gn=St()(kt).call(kt,0,-1);if(!qo(gn)){if(!Array.isArray(We)){var xr=new TypeError("allOf must be an array");return xr.fullPath=kt,xr}var Zr=!1,Pr=ur.value;if(gn.forEach(function(si){Pr&&(Pr=Pr[si])}),Pr=En()({},Pr),!Dl()(Pr)){delete Pr.allOf;var mi,ni=[];return ni.push(tn.replace(gn,{})),We.forEach(function(si,bi){if(!tn.isObject(si)){if(Zr)return null;Zr=!0;var Ui=new TypeError("Elements in allOf must be objects");return Ui.fullPath=kt,ni.push(Ui)}ni.push(tn.mergeDeep(gn,si));var ro=function(mo,Bi){var hi=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Br=hi.specmap,G=hi.getBaseUrlForNodePath,Me=void 0===G?function(In){var Xn;return Br.getContext(u()(Xn=[]).call(Xn,lt()(Bi),lt()(In))).baseDoc}:G,ft=hi.targetKeys,Ft=void 0===ft?["$ref","$$ref"]:ft,Bt=[];return Bo()(mo).forEach(function(){if(M()(Ft).call(Ft,this.key)&&"string"==typeof this.node){var In=this.path,Xn=u()(Bi).call(Bi,this.path),Sr=oa(this.node,Me(In));Bt.push(Br.replace(Xn,Sr))}}),Bt}(si,St()(kt).call(kt,0,-1),{getBaseUrlForNodePath:function(mo){var Bi;return tn.getContext(u()(Bi=[]).call(Bi,lt()(kt),[bi],lt()(mo))).baseDoc},specmap:tn});ni.push.apply(ni,lt()(ro))}),ni.push(tn.mergeDeep(gn,Pr)),!Pr.$$ref&&ni.push(tn.remove(u()(mi=[]).call(mi,gn,"$$ref"))),ni}}}}},sa={key:"parameters",plugin:function(We,wt,kt,tn){if(Array.isArray(We)&&We.length){var ur=ut()([],We),gn=St()(kt).call(kt,0,-1),xr=En()({},rt.getIn(tn.spec,gn));return We.forEach(function(Zr,Pr){try{ur[Pr].default=tn.parameterMacro(xr,Zr)}catch(ni){var mi=new Error(ni);return mi.fullPath=kt,mi}}),rt.replace(kt,ur)}return rt.replace(kt,We)}},Fo={key:"properties",plugin:function(We,wt,kt,tn){var ur=En()({},We);for(var gn in We)try{ur[gn].default=tn.modelPropertyMacro(ur[gn])}catch(Zr){var xr=new Error(Zr);return xr.fullPath=kt,xr}return rt.replace(kt,ur)}},tl=function(){function We(wt){Dn()(this,We),this.root=Ma(wt||{})}return jn()(We,[{key:"set",value:function(wt,kt){var tn=this.getParent(wt,!0);if(tn){var ur=wt[wt.length-1],gn=tn.children;gn[ur]?fa(gn[ur],kt,tn):gn[ur]=Ma(kt,tn)}else fa(this.root,kt,null)}},{key:"get",value:function(wt){if((wt=wt||[]).length<1)return this.root.value;for(var kt,tn,ur=this.root,gn=0;gn<wt.length&&(kt=ur.children)[tn=wt[gn]];gn+=1)ur=kt[tn];return ur&&ur.protoValue}},{key:"getParent",value:function(wt,kt){return!wt||wt.length<1?null:wt.length<2?this.root:St()(wt).call(wt,0,-1).reduce(function(tn,ur){if(!tn)return tn;var gn=tn.children;return!gn[ur]&&kt&&(gn[ur]=Ma(null,tn)),gn[ur]},this.root)}}]),We}();function Ma(We,wt){return fa({children:{}},We,wt)}function fa(We,wt,kt){return We.value=wt||{},We.protoValue=kt?En()(En()({},kt.protoValue),We.value):We.value,Ae()(We.children).forEach(function(tn){var ur=We.children[tn];We.children[tn]=fa(ur,ur.value,We)}),We}var Hs=function(){},ja=function(){function We(wt){var kt,tn,ur=this;Dn()(this,We),ut()(this,{spec:"",debugLevel:"info",plugins:[],pluginHistory:{},errors:[],mutations:[],promisedPatches:[],state:{},patches:[],context:{},contextTree:new tl,showDebug:!1,allPatches:[],pluginProp:"specMap",libMethods:ut()(Object.create(this),rt,{getInstance:function(){return ur}}),allowMetaPatches:!1},wt),this.get=this._get.bind(this),this.getContext=this._getContext.bind(this),this.hasRun=this._hasRun.bind(this),this.wrappedPlugins=ue()(kt=he()(tn=this.plugins).call(tn,this.wrapPlugin.bind(this))).call(kt,rt.isFunction),this.patches.push(rt.add([],this.spec)),this.patches.push(rt.context([],this.context)),this.updatePatches(this.patches)}return jn()(We,[{key:"debug",value:function(wt){if(this.debugLevel===wt){for(var kt,tn=arguments.length,ur=new Array(tn>1?tn-1:0),gn=1;gn<tn;gn++)ur[gn-1]=arguments[gn];(kt=console).log.apply(kt,ur)}}},{key:"verbose",value:function(wt){if("verbose"===this.debugLevel){for(var kt,tn,ur=arguments.length,gn=new Array(ur>1?ur-1:0),xr=1;xr<ur;xr++)gn[xr-1]=arguments[xr];(kt=console).log.apply(kt,u()(tn=["[".concat(wt,"] ")]).call(tn,gn))}}},{key:"wrapPlugin",value:function(wt,kt){var tn,ur,gn,xr=this.pathDiscriminator,Zr=null;return wt[this.pluginProp]?(Zr=wt,tn=wt[this.pluginProp]):rt.isFunction(wt)?tn=wt:rt.isObject(wt)&&(ur=wt,gn=function(Pr,mi){return!Array.isArray(Pr)||Pr.every(function(ni,si){return ni===mi[si]})},tn=b.a.mark(function Pr(mi,ni){var si,bi,Ui,ro,mo,Bi;return b.a.wrap(function(hi){for(;;)switch(hi.prev=hi.next){case 0:Bi=function(Br,G,Me){var ft,Ft,Bt,In,Xn,Sr,pi,Fr,zr,Un,lr,dr,li;return b.a.wrap(function(Ti){for(;;)switch(Ti.prev=Ti.next){case 0:if(rt.isObject(Br)){Ti.next=6;break}if(ur.key!==G[G.length-1]){Ti.next=4;break}return Ti.next=4,ur.plugin(Br,ur.key,G,ni);case 4:Ti.next=30;break;case 6:Ft=G[ft=G.length-1],Bt=G.indexOf("properties"),In="properties"===Ft&&ft===Bt,Xn=ni.allowMetaPatches&&bi[Br.$$ref],Sr=0,pi=Ae()(Br);case 12:if(!(Sr<pi.length)){Ti.next=30;break}if(zr=Br[Fr=pi[Sr]],Un=u()(G).call(G,Fr),lr=rt.isObject(zr),dr=Br.$$ref,Xn){Ti.next=22;break}if(!lr){Ti.next=22;break}return ni.allowMetaPatches&&dr&&(bi[dr]=!0),Ti.delegateYield(Bi(zr,Un,Me),"t0",22);case 22:if(In||Fr!==ur.key){Ti.next=27;break}if(li=gn(xr,G),xr&&!li){Ti.next=27;break}return Ti.next=27,ur.plugin(zr,Fr,Un,ni,Me);case 27:Sr++,Ti.next=12;break;case 30:case"end":return Ti.stop()}},si)},si=b.a.mark(Bi),bi={},Ui=D()(ue()(mi).call(mi,rt.isAdditiveMutation)),hi.prev=4,Ui.s();case 6:if((ro=Ui.n()).done){hi.next=11;break}return hi.delegateYield(Bi((mo=ro.value).value,mo.path,mo),"t0",9);case 9:hi.next=6;break;case 11:hi.next=16;break;case 13:hi.prev=13,hi.t1=hi.catch(4),Ui.e(hi.t1);case 16:return hi.prev=16,Ui.f(),hi.finish(16);case 19:case"end":return hi.stop()}},Pr,null,[[4,13,16,19]])})),ut()(tn.bind(Zr),{pluginName:wt.name||kt,isGenerator:rt.isGenerator(tn)})}},{key:"nextPlugin",value:function(){var wt,kt=this;return Tt()(wt=this.wrappedPlugins).call(wt,function(tn){return kt.getMutationsForPlugin(tn).length>0})}},{key:"nextPromisedPatch",value:function(){var wt;if(this.promisedPatches.length>0)return et.a.race(he()(wt=this.promisedPatches).call(wt,function(kt){return kt.value}))}},{key:"getPluginHistory",value:function(wt){var kt=this.constructor.getPluginName(wt);return this.pluginHistory[kt]||[]}},{key:"getPluginRunCount",value:function(wt){return this.getPluginHistory(wt).length}},{key:"getPluginHistoryTip",value:function(wt){var kt=this.getPluginHistory(wt);return kt&&kt[kt.length-1]||{}}},{key:"getPluginMutationIndex",value:function(wt){var kt=this.getPluginHistoryTip(wt).mutationIndex;return"number"!=typeof kt?-1:kt}},{key:"updatePluginHistory",value:function(wt,kt){var tn=this.constructor.getPluginName(wt);this.pluginHistory[tn]=this.pluginHistory[tn]||[],this.pluginHistory[tn].push(kt)}},{key:"updatePatches",value:function(wt){var kt=this;rt.normalizeArray(wt).forEach(function(tn){if(tn instanceof Error)kt.errors.push(tn);else try{if(!rt.isObject(tn))return void kt.debug("updatePatches","Got a non-object patch",tn);if(kt.showDebug&&kt.allPatches.push(tn),rt.isPromise(tn.value))return kt.promisedPatches.push(tn),void kt.promisedPatchThen(tn);if(rt.isContextPatch(tn))return void kt.setContext(tn.path,tn.value);if(rt.isMutation(tn))return void kt.updateMutations(tn)}catch(ur){console.error(ur),kt.errors.push(ur)}})}},{key:"updateMutations",value:function(wt){"object"===j()(wt.value)&&!Array.isArray(wt.value)&&this.allowMetaPatches&&(wt.value=En()({},wt.value));var kt=rt.applyPatch(this.state,wt,{allowMetaPatches:this.allowMetaPatches});kt&&(this.mutations.push(wt),this.state=kt)}},{key:"removePromisedPatch",value:function(wt){var kt,tn=this.promisedPatches.indexOf(wt);tn<0?this.debug("Tried to remove a promisedPatch that isn't there!"):hn()(kt=this.promisedPatches).call(kt,tn,1)}},{key:"promisedPatchThen",value:function(wt){var kt=this;return wt.value=wt.value.then(function(tn){var ur=En()(En()({},wt),{},{value:tn});kt.removePromisedPatch(wt),kt.updatePatches(ur)}).catch(function(tn){kt.removePromisedPatch(wt),kt.updatePatches(tn)}),wt.value}},{key:"getMutations",value:function(wt,kt){var tn;return wt=wt||0,"number"!=typeof kt&&(kt=this.mutations.length),St()(tn=this.mutations).call(tn,wt,kt)}},{key:"getCurrentMutations",value:function(){return this.getMutationsForPlugin(this.getCurrentPlugin())}},{key:"getMutationsForPlugin",value:function(wt){var kt=this.getPluginMutationIndex(wt);return this.getMutations(kt+1)}},{key:"getCurrentPlugin",value:function(){return this.currentPlugin}},{key:"getLib",value:function(){return this.libMethods}},{key:"_get",value:function(wt){return rt.getIn(this.state,wt)}},{key:"_getContext",value:function(wt){return this.contextTree.get(wt)}},{key:"setContext",value:function(wt,kt){return this.contextTree.set(wt,kt)}},{key:"_hasRun",value:function(wt){return this.getPluginRunCount(this.getCurrentPlugin())>(wt||0)}},{key:"dispatch",value:function(){var wt,kt=this,tn=this,ur=this.nextPlugin();if(!ur){var gn=this.nextPromisedPatch();if(gn)return gn.then(function(){return kt.dispatch()}).catch(function(){return kt.dispatch()});var xr={spec:this.state,errors:this.errors};return this.showDebug&&(xr.patches=this.allPatches),et.a.resolve(xr)}if(tn.pluginCount=tn.pluginCount||{},tn.pluginCount[ur]=(tn.pluginCount[ur]||0)+1,tn.pluginCount[ur]>100)return et.a.resolve({spec:tn.state,errors:u()(wt=tn.errors).call(wt,new Error("We've reached a hard limit of ".concat(100," plugin runs")))});if(ur!==this.currentPlugin&&this.promisedPatches.length){var Zr,Pr=he()(Zr=this.promisedPatches).call(Zr,function(ni){return ni.value});return et.a.all(he()(Pr).call(Pr,function(ni){return ni.then(Hs,Hs)})).then(function(){return kt.dispatch()})}return function(){tn.currentPlugin=ur;var ni=tn.getCurrentMutations(),si=tn.mutations.length-1;try{if(ur.isGenerator){var bi,Ui=D()(ur(ni,tn.getLib()));try{for(Ui.s();!(bi=Ui.n()).done;)mi(bi.value)}catch(ro){Ui.e(ro)}finally{Ui.f()}}else mi(ur(ni,tn.getLib()))}catch(ro){console.error(ro),mi([ut()(Object.create(ro),{plugin:ur})])}finally{tn.updatePluginHistory(ur,{mutationIndex:si})}return tn.dispatch()}();function mi(ni){ni&&(ni=rt.fullyNormalizeArray(ni),tn.updatePatches(ni,ur))}}}],[{key:"getPluginName",value:function(wt){return wt.pluginName}},{key:"getPatchesOfType",value:function(wt,kt){return ue()(wt).call(wt,kt)}}]),We}(),pt={refs:ti,allOf:Sa,parameters:sa,properties:Fo},an=t(59);function Nt(We){var wt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},kt=wt.requestInterceptor,tn=wt.responseInterceptor,ur=We.withCredentials?"include":"same-origin";return function(gn){return We({url:gn,loadSpec:!0,requestInterceptor:kt,responseInterceptor:tn,headers:{Accept:Er},credentials:ur}).then(function(xr){return xr.body})}}function Ce(We){var kt=We.spec,ur=We.mode,gn=We.allowMetaPatches,xr=void 0===gn||gn,Zr=We.pathDiscriminator,Pr=We.modelPropertyMacro,mi=We.parameterMacro,ni=We.requestInterceptor,si=We.responseInterceptor,bi=We.skipNormalization,Ui=We.useCircularStructures,ro=We.http,mo=We.baseDoc;return mo=mo||We.url,ro=We.fetch||ro||Jt,kt?Bi(kt):Nt(ro,{requestInterceptor:ni,responseInterceptor:si})(mo).then(Bi);function Bi(hi){mo&&(pt.refs.docCache[mo]=hi),pt.refs.fetchJSON=Nt(ro,{requestInterceptor:ni,responseInterceptor:si});var Br,Me,G=[pt.refs];return"function"==typeof mi&&G.push(pt.parameters),"function"==typeof Pr&&G.push(pt.properties),"strict"!==ur&&G.push(pt.allOf),(Br={spec:hi,context:{baseDoc:mo},plugins:G,allowMetaPatches:xr,pathDiscriminator:Zr,parameterMacro:mi,modelPropertyMacro:Pr,useCircularStructures:Ui},new ja(Br).dispatch()).then(bi?(Me=_()(b.a.mark(function ft(Ft){return b.a.wrap(function(Bt){for(;;)switch(Bt.prev=Bt.next){case 0:return Bt.abrupt("return",Ft);case 1:case"end":return Bt.stop()}},ft)})),function(ft){return Me.apply(this,arguments)}):an.d)}}var ye=t(54),Ne=t.n(ye),Wt=t(39),Or=t.n(Wt),Ni=t(140),Yo=t.n(Ni),vs=t(474),as=t.n(vs),Lo={body:function(We){We.req.body=We.value},header:function(We){var wt=We.req,kt=We.parameter,tn=We.value;wt.headers=wt.headers||{},void 0!==tn&&(wt.headers[kt.name]=tn)},query:function(We){var wt=We.req,kt=We.value,tn=We.parameter;if(wt.query=wt.query||{},!1===kt&&"boolean"===tn.type&&(kt="false"),0===kt&&["number","integer"].indexOf(tn.type)>-1&&(kt="0"),kt)wt.query[tn.name]={collectionFormat:tn.collectionFormat,value:kt};else if(tn.allowEmptyValue&&void 0!==kt){var ur=tn.name;wt.query[ur]=wt.query[ur]||{},wt.query[ur].allowEmptyValue=!0}},path:function(We){var wt=We.req,kt=We.value;wt.url=wt.url.split("{".concat(We.parameter.name,"}")).join(encodeURIComponent(kt))},formData:function(We){var wt=We.req,kt=We.value,tn=We.parameter;(kt||tn.allowEmptyValue)&&(wt.form=wt.form||{},wt.form[tn.name]={value:kt,allowEmptyValue:tn.allowEmptyValue,collectionFormat:tn.collectionFormat})}};function Zo(We,wt){return M()(wt).call(wt,"application/json")?"string"==typeof We?We:fe()(We):We.toString()}function Ta(We){var wt=We.req,kt=We.value,tn=We.parameter,ur=tn.name,gn=tn.style,xr=tn.explode,Zr=tn.content;if(Zr){var Pr=Ae()(Zr)[0];wt.url=wt.url.split("{".concat(ur,"}")).join(It(Zo(kt,Pr),{escape:!0}))}else{var mi=ae({key:tn.name,value:kt,style:gn||"simple",explode:xr||!1,escape:!0});wt.url=wt.url.split("{".concat(ur,"}")).join(mi)}}function hl(We){var wt=We.req,kt=We.value,tn=We.parameter;if(wt.query=wt.query||{},tn.content){var ur=Ae()(tn.content)[0];wt.query[tn.name]=Zo(kt,ur)}else if(!1===kt&&(kt="false"),0===kt&&(kt="0"),kt)wt.query[tn.name]={value:kt,serializationOption:{style:tn.style,explode:tn.explode,allowReserved:tn.allowReserved}};else if(tn.allowEmptyValue&&void 0!==kt){var Pr=tn.name;wt.query[Pr]=wt.query[Pr]||{},wt.query[Pr].allowEmptyValue=!0}}var Oa=["accept","authorization","content-type"];function ba(We){var wt=We.req,kt=We.parameter,tn=We.value;if(wt.headers=wt.headers||{},!(Oa.indexOf(kt.name.toLowerCase())>-1))if(kt.content){var ur=Ae()(kt.content)[0];wt.headers[kt.name]=Zo(tn,ur)}else void 0!==tn&&(wt.headers[kt.name]=ae({key:kt.name,value:tn,style:kt.style||"simple",explode:void 0!==kt.explode&&kt.explode,escape:!1}))}function Es(We){var wt=We.req,kt=We.parameter,tn=We.value;wt.headers=wt.headers||{};var ur=j()(tn);if(kt.content){var gn,xr=Ae()(kt.content)[0];wt.headers.Cookie=u()(gn="".concat(kt.name,"=")).call(gn,Zo(tn,xr))}else if("undefined"!==ur){var Zr="object"===ur&&!Array.isArray(tn)&&kt.explode?"":"".concat(kt.name,"=");wt.headers.Cookie=Zr+ae({key:kt.name,value:tn,escape:!1,style:kt.style||"form",explode:void 0!==kt.explode&&kt.explode})}}var $o=t(201),wl=t.n($o),sl=["http","fetch","spec","operationId","pathName","method","parameters","securities"],Il=function(We){return Array.isArray(We)?We:[]},Yl=Wo("OperationNotFoundError",function(We,wt,kt){this.originalError=kt,ut()(this,wt||{})}),Na={buildRequest:ys};function Di(We){var wt=We.http,kt=We.fetch,tn=We.spec,ur=We.operationId,gn=We.pathName,xr=We.method,Zr=We.parameters,Pr=We.securities,mi=Ne()(We,sl),ni=wt||kt||Jt;gn&&xr&&!ur&&(ur=Object(an.c)(gn,xr));var si=Na.buildRequest(En()({spec:tn,operationId:ur,parameters:Zr,securities:Pr,http:ni},mi));return si.body&&(Yo()(si.body)||Array.isArray(si.body))&&(si.body=fe()(si.body)),ni(si)}function ys(We){var wt,kt,tn=We.spec,ur=We.operationId,gn=We.responseContentType,xr=We.scheme,Zr=We.requestInterceptor,Pr=We.responseInterceptor,mi=We.contextUrl,ni=We.userFetch,si=We.server,bi=We.serverVariables,Ui=We.http,ro=We.parameters,mo=We.parameterBuilders,Bi=Object(an.b)(tn);mo||(mo=Bi?a:Lo);var hi={url:"",credentials:Ui&&Ui.withCredentials?"include":"same-origin",headers:{},cookies:{}};Zr&&(hi.requestInterceptor=Zr),Pr&&(hi.responseInterceptor=Pr),ni&&(hi.userFetch=ni);var Br=Object(an.a)(tn,ur);if(!Br)throw new Yl("Operation ".concat(ur," not found"));var G,Fr,zr,Un,lr,dr,li,Oo,es,jo,uo,Ki,Me=Br.operation,ft=void 0===Me?{}:Me,Ft=Br.method,Bt=Br.pathName;if(hi.url+=(G={spec:tn,scheme:xr,contextUrl:mi,server:si,serverVariables:bi,pathName:Bt,method:Ft},Object(an.b)(G.spec)?function(Fr){var zr=Fr.spec,Un=Fr.pathName,lr=Fr.method,dr=Fr.server,li=Fr.contextUrl,Ti=Fr.serverVariables,Oo=void 0===Ti?{}:Ti,es=Or()(zr,["paths",Un,(lr||"").toLowerCase(),"servers"])||Or()(zr,["paths",Un,"servers"])||Or()(zr,["servers"]),jo="",uo=null;if(dr&&es&&es.length){var Ki=he()(es).call(es,function(Yi){return Yi.url});Ki.indexOf(dr)>-1&&(jo=dr,uo=es[Ki.indexOf(dr)])}if(!jo&&es&&es.length){jo=es[0].url;var Ho=z()(es,1);uo=Ho[0]}return jo.indexOf("{")>-1&&function(Yi){for(var na,ha=[],gl=/{([^}]+)}/g;na=gl.exec(Yi);)ha.push(na[1]);return ha}(jo).forEach(function(Yi){if(uo.variables&&uo.variables[Yi]){var ha=Oo[Yi]||uo.variables[Yi].default,gl=new RegExp("{".concat(Yi,"}"),"g");jo=jo.replace(gl,ha)}}),function(){var Yi,na,ha=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",gl=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",Hn=Gi.a.parse(ha&&gl?Gi.a.resolve(gl,ha):ha),Ts=Gi.a.parse(gl),Ll=pa(Hn.protocol)||pa(Ts.protocol)||"",Hl=Hn.host||Ts.host,vo=Hn.pathname||"";return"/"===(Yi=Ll&&Hl?u()(na="".concat(Ll,"://")).call(na,Hl+vo):vo)[Yi.length-1]?St()(Yi).call(Yi,0,-1):Yi}(jo,li)}(G):(lr=(Fr=G).spec,dr=Fr.scheme,Oo=Gi.a.parse(void 0===(li=Fr.contextUrl)?"":li),es=Array.isArray(lr.schemes)?lr.schemes[0]:null,jo=dr||es||pa(Oo.protocol)||"http",uo=lr.host||Oo.host||"",Ki=lr.basePath||"","/"===(zr=jo&&uo?u()(Un="".concat(jo,"://")).call(Un,uo+Ki):Ki)[zr.length-1]?St()(zr).call(zr,0,-1):zr)),!ur)return delete hi.cookies,hi;hi.url+=Bt,hi.method="".concat(Ft).toUpperCase(),ro=ro||{};var In=tn.paths[Bt]||{};gn&&(hi.headers.accept=gn);var Xn=function(Fr){var zr={};Fr.forEach(function(lr){zr[lr.in]||(zr[lr.in]={}),zr[lr.in][lr.name]=lr});var Un=[];return Ae()(zr).forEach(function(lr){Ae()(zr[lr]).forEach(function(dr){Un.push(zr[lr][dr])})}),Un}(u()(wt=u()(kt=[]).call(kt,Il(ft.parameters))).call(wt,Il(In.parameters)));Xn.forEach(function(Fr){var zr,Un,lr=mo[Fr.in];if("body"===Fr.in&&Fr.schema&&Fr.schema.properties&&(zr=ro),void 0===(zr=Fr&&Fr.name&&ro[Fr.name]))zr=Fr&&Fr.name&&ro[u()(Un="".concat(Fr.in,".")).call(Un,Fr.name)];else if(function(li,Ti){return ue()(Ti).call(Ti,function(Oo){return Oo.name===li})}(Fr.name,Xn).length>1){var dr;console.warn(u()(dr="Parameter '".concat(Fr.name,"' is ambiguous because the defined spec has more than one parameter with the name: '")).call(dr,Fr.name,"' and the passed-in parameter values did not define an 'in' value."))}if(null!==zr){if(void 0!==Fr.default&&void 0===zr&&(zr=Fr.default),void 0===zr&&Fr.required&&!Fr.allowEmptyValue)throw new Error("Required parameter ".concat(Fr.name," is not provided"));if(Bi&&Fr.schema&&"object"===Fr.schema.type&&"string"==typeof zr)try{zr=JSON.parse(zr)}catch(li){throw new Error("Could not parse object parameter value string as JSON")}lr&&lr({req:hi,parameter:Fr,value:zr,operation:ft,spec:tn})}});var Sr=En()(En()({},We),{},{operation:ft});if((hi=Bi?function(We,wt){var mo,Bi,hi,Br,G,Me,ft,Ft,Bt,In,Xn,Sr,pi,kt=We.operation,tn=We.requestBody,xr=We.attachContentTypeForEmptyPayload,Zr=We.requestContentType;Bi=(mo={request:wt,securities:We.securities,operation:kt,spec:We.spec}).request,Br=void 0===(hi=mo.securities)?{}:hi,Me=void 0===(G=mo.operation)?{}:G,ft=mo.spec,Ft=En()({},Bi),Xn=Me.security||ft.security||[],Sr=(In=void 0===(Bt=Br.authorized)?{}:Bt)&&!!Ae()(In).length,pi=Or()(ft,["components","securitySchemes"])||{},Ft.headers=Ft.headers||{},Ft.query=Ft.query||{},wt=Ae()(Br).length&&Sr&&Xn&&(!Array.isArray(Me.security)||Me.security.length)?(Xn.forEach(function(Fr){Ae()(Fr).forEach(function(zr){var Un=In[zr],lr=pi[zr];if(Un){var dr=Un.value||Un,li=lr.type;if(Un)if("apiKey"===li)"query"===lr.in&&(Ft.query[lr.name]=dr),"header"===lr.in&&(Ft.headers[lr.name]=dr),"cookie"===lr.in&&(Ft.cookies[lr.name]=dr);else if("http"===li){if(/^basic$/i.test(lr.scheme)){var Ti,Oo=dr.username||"",es=dr.password||"",jo=wl()(u()(Ti="".concat(Oo,":")).call(Ti,es));Ft.headers.Authorization="Basic ".concat(jo)}/^bearer$/i.test(lr.scheme)&&(Ft.headers.Authorization="Bearer ".concat(dr))}else if("oauth2"===li||"openIdConnect"===li){var uo,Ki=Un.token||{},Ho=Ki[lr["x-tokenName"]||"access_token"],Yi=Ki.token_type;Yi&&"bearer"!==Yi.toLowerCase()||(Yi="Bearer"),Ft.headers.Authorization=u()(uo="".concat(Yi," ")).call(uo,Ho)}}})}),Ft):Bi;var Pr=kt.requestBody||{},mi=Ae()(Pr.content||{}),ni=Zr&&mi.indexOf(Zr)>-1;if(tn||xr){if(Zr&&ni)wt.headers["Content-Type"]=Zr;else if(!Zr){var si=mi[0];si&&(wt.headers["Content-Type"]=si,Zr=si)}}else Zr&&ni&&(wt.headers["Content-Type"]=Zr);if(!We.responseContentType&&kt.responses){var bi,Ui=ue()(bi=Oe()(kt.responses)).call(bi,function(mo){var Bi=z()(mo,2),Br=Bi[1],G=parseInt(Bi[0],10);return G>=200&&G<300&&Yo()(Br.content)}).reduce(function(mo,Bi){var hi=z()(Bi,2)[1];return u()(mo).call(mo,Ae()(hi.content))},[]);Ui.length>0&&(wt.headers.accept=Ui.join(", "))}if(tn)if(Zr){if(mi.indexOf(Zr)>-1)if("application/x-www-form-urlencoded"===Zr||"multipart/form-data"===Zr)if("object"===j()(tn)){var ro=(Pr.content[Zr]||{}).encoding||{};wt.form={},Ae()(tn).forEach(function(mo){wt.form[mo]={value:tn[mo],encoding:ro[mo]||{}}})}else wt.form=tn;else wt.body=tn}else wt.body=tn;return wt}(Sr,hi):function(We,wt){var kt,tn,Bi,hi,Br,G,Me,ft,Ft,Bt,In,Xn,Sr,Fr,zr,Un,ur=We.spec,gn=We.operation,Zr=We.requestContentType,Pr=We.responseContentType,mi=We.attachContentTypeForEmptyPayload;if((Bi={request:wt,securities:We.securities,operation:gn,spec:ur},hi=Bi.request,Br=Bi.securities,G=void 0===Br?{}:Br,Me=Bi.operation,ft=void 0===Me?{}:Me,Ft=Bi.spec,Bt=En()({},hi),In=G.authorized,Xn=void 0===In?{}:In,Sr=G.specSecurity,Fr=ft.security||(void 0===Sr?[]:Sr),zr=Xn&&!!Ae()(Xn).length,Un=Ft.securityDefinitions,Bt.headers=Bt.headers||{},Bt.query=Bt.query||{},wt=Ae()(G).length&&zr&&Fr&&(!Array.isArray(ft.security)||ft.security.length)?(Fr.forEach(function(lr){Ae()(lr).forEach(function(dr){var li=Xn[dr];if(li){var Ti=li.token,Oo=li.value||li,es=Un[dr],jo=es.type,Ki=Ti&&Ti[es["x-tokenName"]||"access_token"],Ho=Ti&&Ti.token_type;if(li)if("apiKey"===jo){var Yi="query"===es.in?"query":"headers";Bt[Yi]=Bt[Yi]||{},Bt[Yi][es.name]=Oo}else if("basic"===jo)if(Oo.header)Bt.headers.authorization=Oo.header;else{var na,ha=Oo.username||"",gl=Oo.password||"";Oo.base64=wl()(u()(na="".concat(ha,":")).call(na,gl)),Bt.headers.authorization="Basic ".concat(Oo.base64)}else if("oauth2"===jo&&Ki){var Hn;Ho=Ho&&"bearer"!==Ho.toLowerCase()?Ho:"Bearer",Bt.headers.authorization=u()(Hn="".concat(Ho," ")).call(Hn,Ki)}}})}),Bt):hi).body||wt.form||mi)if(Zr)wt.headers["Content-Type"]=Zr;else if(Array.isArray(gn.consumes)){var ni=z()(gn.consumes,1);wt.headers["Content-Type"]=ni[0]}else if(Array.isArray(ur.consumes)){var si=z()(ur.consumes,1);wt.headers["Content-Type"]=si[0]}else gn.parameters&&ue()(kt=gn.parameters).call(kt,function(Bi){return"file"===Bi.type}).length?wt.headers["Content-Type"]="multipart/form-data":gn.parameters&&ue()(tn=gn.parameters).call(tn,function(Bi){return"formData"===Bi.in}).length&&(wt.headers["Content-Type"]="application/x-www-form-urlencoded");else if(Zr){var bi,Ui,ro=gn.parameters&&ue()(bi=gn.parameters).call(bi,function(Bi){return"body"===Bi.in}).length>0,mo=gn.parameters&&ue()(Ui=gn.parameters).call(Ui,function(Bi){return"formData"===Bi.in}).length>0;(ro||mo)&&(wt.headers["Content-Type"]=Zr)}return!Pr&&Array.isArray(gn.produces)&&gn.produces.length>0&&(wt.headers.accept=gn.produces.join(", ")),wt}(Sr,hi)).cookies&&Ae()(hi.cookies).length){var pi=Ae()(hi.cookies).reduce(function(Fr,zr){return Fr+(Fr?"&":"")+as.a.serialize(zr,hi.cookies[zr])},"");hi.headers.Cookie=pi}return hi.cookies&&delete hi.cookies,qn(hi),hi}var pa=function(We){return We?We.replace(/\W/g,""):null};function Vo(We,wt){return Ba.apply(this,arguments)}function Ba(){return(Ba=_()(b.a.mark(function We(wt,kt){var tn,ur,si,bi,Ui,ro,mo=arguments;return b.a.wrap(function(Bi){for(;;)switch(Bi.prev=Bi.next){case 0:return ur=(tn=mo.length>2&&void 0!==mo[2]?mo[2]:{}).returnEntireTree,si={pathDiscriminator:kt,baseDoc:tn.baseDoc,requestInterceptor:tn.requestInterceptor,responseInterceptor:tn.responseInterceptor,parameterMacro:tn.parameterMacro,modelPropertyMacro:tn.modelPropertyMacro,useCircularStructures:tn.useCircularStructures},bi=Object(an.d)({spec:wt}),Ui=bi.spec,Bi.next=6,Ce(En()(En()({},si),{},{spec:Ui,allowMetaPatches:!0,skipNormalization:!0}));case 6:return ro=Bi.sent,!ur&&Array.isArray(kt)&&kt.length&&(ro.spec=Or()(ro.spec,kt)||null),Bi.abrupt("return",ro);case 9:case"end":return Bi.stop()}},We)}))).apply(this,arguments)}var _s=t(276);o.default=function(We){var wt,kt,tn,ur=We.configs,gn=We.getConfigs;return{fn:{fetch:(wt=Jt,kt=ur.preFetch,tn=ur.postFetch,tn=tn||function(xr){return xr},kt=kt||function(xr){return xr},function(xr){return"string"==typeof xr&&(xr={url:xr}),dt.mergeInQueryOrForm(xr),xr=kt(xr),tn(wt(xr))}),buildRequest:ys,execute:Di,resolve:Ce,resolveSubtree:function(xr,Zr,Pr){var mi;if(void 0===Pr){var ni=gn();Pr={modelPropertyMacro:ni.modelPropertyMacro,parameterMacro:ni.parameterMacro,requestInterceptor:ni.requestInterceptor,responseInterceptor:ni.responseInterceptor}}for(var si=arguments.length,bi=new Array(si>3?si-3:0),Ui=3;Ui<si;Ui++)bi[Ui-3]=arguments[Ui];return Vo.apply(void 0,u()(mi=[xr,Zr,Pr]).call(mi,bi))},serializeRes:Ln,opId:an.e},statePlugins:{configs:{wrapActions:_s}}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return _});var e=t(162),s=t(144),a=t(283),l=t(284),u=t(285),h={getLocalConfig:function(){return Object(e.parseYamlConfig)('---\nurl: "https://petstore.swagger.io/v2/swagger.json"\ndom_id: "#swagger-ui"\nvalidatorUrl: "https://validator.swagger.io/validator"\n')}};function _(){return{statePlugins:{spec:{actions:a,selectors:h},configs:{reducers:u.default,actions:s,selectors:l}}}}},function(g,o,t){var e=t(393),s=t(189),a=t(710),l=t(52),u=t(370);g.exports=function(h,_,m){var b=l(h)?e:a;return m&&u(h,_,m)&&(_=void 0),b(h,s(_,3))}},function(g,o,t){"use strict";var e=t(408),s=t(409),a=t(730);g.exports=function(l){var u,h=e(arguments[1]);return h.normalizer||0!==(u=h.length=s(h.length,l.length,h.async))&&(h.primitive?!1===u?h.normalizer=t(765):u>1&&(h.normalizer=t(766)(u)):h.normalizer=!1===u?t(767)():1===u?t(771)():t(772)(u)),h.async&&t(773),h.promise&&t(774),h.dispose&&t(780),h.maxAge&&t(781),h.max&&t(784),h.refCounter&&t(786),a(l,h)}},function(g,o,t){g.exports=t(347)},function(g,o,t){g.exports=t(844)},function(g,o,t){var e=t(850);g.exports=function(s,a,l){return null==s?s:e(s,a,l)}},function(g,o,t){"use strict";var e=t(269),s={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function h(j){return e.isMemo(j)?l:u[j.$$typeof]||s}u[e.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u[e.Memo]=l;var _=Object.defineProperty,m=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,T=Object.getOwnPropertyDescriptor,D=Object.getPrototypeOf,R=Object.prototype;g.exports=function j(H,z,U){if("string"!=typeof z){if(R){var M=D(z);M&&M!==R&&j(H,M,U)}var I=m(z);b&&(I=I.concat(b(z)));for(var J=h(H),B=h(z),ie=0;ie<I.length;++ie){var oe=I[ie];if(!(a[oe]||U&&U[oe]||B&&B[oe]||J&&J[oe])){var fe=T(z,oe);try{_(H,oe,fe)}catch(ne){}}}}return H}},function(g,o,t){"use strict";var e=t(911),s=t(912);o.highlight=l,o.highlightAuto=function(_,m){var b,T,D,R,j=m||{},H=j.subset||e.listLanguages(),z=j.prefix,U=H.length,M=-1;if(null==z&&(z=a),"string"!=typeof _)throw s("Expected `string` for value, got `%s`",_);for(T={relevance:0,language:null,value:[]},b={relevance:0,language:null,value:[]};++M<U;)e.getLanguage(R=H[M])&&((D=l(R,_,m)).language=R,D.relevance>T.relevance&&(T=D),D.relevance>b.relevance&&(T=b,b=D));return T.language&&(b.secondBest=T),b},o.registerLanguage=function(_,m){e.registerLanguage(_,m)},o.listLanguages=function(){return e.listLanguages()},o.registerAlias=function(_,m){var b,T=_;for(b in m&&((T={})[_]=m),T)e.registerAliases(T[b],{languageName:b})},u.prototype.addText=function(_){var m,b,T=this.stack;""!==_&&((b=(m=T[T.length-1]).children[m.children.length-1])&&"text"===b.type?b.value+=_:m.children.push({type:"text",value:_}))},u.prototype.addKeyword=function(_,m){this.openNode(m),this.addText(_),this.closeNode()},u.prototype.addSublanguage=function(_,m){var b=this.stack,T=b[b.length-1],D=_.rootNode.children;T.children=T.children.concat(m?{type:"element",tagName:"span",properties:{className:[m]},children:D}:D)},u.prototype.openNode=function(_){var m=this.stack,D={type:"element",tagName:"span",properties:{className:[this.options.classPrefix+_]},children:[]};m[m.length-1].children.push(D),m.push(D)},u.prototype.closeNode=function(){this.stack.pop()},u.prototype.closeAllNodes=h,u.prototype.finalize=h,u.prototype.toHTML=function(){return""};var a="hljs-";function l(_,m,b){var T,D=e.configure({}),R=(b||{}).prefix;if("string"!=typeof _)throw s("Expected `string` for name, got `%s`",_);if(!e.getLanguage(_))throw s("Unknown language: `%s` is not registered",_);if("string"!=typeof m)throw s("Expected `string` for value, got `%s`",m);if(null==R&&(R=a),e.configure({__emitter:u,classPrefix:R}),T=e.highlight(m,{language:_,ignoreIllegals:!0}),e.configure(D||{}),T.errorRaised)throw T.errorRaised;return{relevance:T.relevance,language:T.language,value:T.emitter.rootNode.children}}function u(_){this.options=_,this.rootNode={children:[]},this.stack=[this.rootNode]}function h(){}},function(g,o,t){g.exports=t(944)},function(g,o,t){var e=t(102);g.exports=function(s){return e(s).toLowerCase()}},function(g,o,t){"use strict";var e=t(974).DebounceInput;e.DebounceInput=e,g.exports=e},function(g,o,t){var e=t(379),s=t(372),a=t(187),l=t(380);g.exports=function(u){return e(u)||s(u)||a(u)||l()},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(33),l=t(146),u=t(43),h=t(62),_=t(74),m=t(147),b=t(215),T=t(148),D=t(38),R=t(128),j=D("isConcatSpreadable"),H=9007199254740991,z="Maximum allowed index exceeded",U=s.TypeError,M=R>=51||!a(function(){var B=[];return B[j]=!1,B.concat()[0]!==B}),I=T("concat"),J=function(B){if(!u(B))return!1;var ie=B[j];return void 0!==ie?!!ie:l(B)};e({target:"Array",proto:!0,forced:!M||!I},{concat:function(B){var ie,oe,fe,ne,he,ce=h(this),Ae=b(ce,0),Se=0;for(ie=-1,fe=arguments.length;ie<fe;ie++)if(J(he=-1===ie?ce:arguments[ie])){if(Se+(ne=_(he))>H)throw U(z);for(oe=0;oe<ne;oe++,Se++)oe in he&&m(Ae,Se,he[oe])}else{if(Se>=H)throw U(z);m(Ae,Se++,he)}return Ae.length=Se,Ae}})},function(g,o,t){var e=t(210);g.exports=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(g,o,t){var e=t(48),s=t(33),a=t(214);g.exports=!e&&!s(function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a})},function(g,o,t){var e=t(33),s=t(41),a=/#|\.prototype\./,l=function(b,T){var D=h[u(b)];return D==m||D!=_&&(s(T)?e(T):!!T)},u=l.normalize=function(b){return String(b).replace(a,".").toLowerCase()},h=l.data={},_=l.NATIVE="N",m=l.POLYFILL="P";g.exports=l},function(g,o,t){var e=t(129),s=Math.min;g.exports=function(a){return a>0?s(e(a),9007199254740991):0}},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(58),l=t(93),u=t(50),h=t(27),_=t(96),m=t(48),b=t(210),T=t(33),D=t(44),R=t(146),j=t(41),H=t(43),z=t(35),U=t(209),M=t(51),I=t(62),J=t(61),B=t(169),ie=t(67),oe=t(94),fe=t(98),ne=t(149),he=t(174),ce=t(336),Ae=t(222),Se=t(111),Oe=t(63),be=t(167),ue=t(86),He=t(99),$e=t(212),F=t(173),je=t(150),Et=t(171),lt=t(38),nn=t(223),St=t(45),Ot=t(100),Qe=t(76),It=t(87).forEach,ae=F("hidden"),Ie="Symbol",dt=lt("toPrimitive"),Jt=Qe.set,zt=Qe.getterFor(Ie),ln=Object.prototype,ar=s.Symbol,Ln=ar&&ar.prototype,Rn=s.TypeError,er=s.QObject,Mn=a("JSON","stringify"),Ht=Se.f,tr=Oe.f,Yn=ce.f,Cn=be.f,Kt=h([].push),dn=$e("symbols"),Kn=$e("op-symbols"),qn=$e("string-to-symbol-registry"),Sn=$e("symbol-to-string-registry"),$n=$e("wks"),En=!er||!er.prototype||!er.prototype.findChild,Fn=m&&T(function(){return 7!=fe(tr({},"a",{get:function(){return tr(this,"a",{value:7}).a}})).a})?function(et,jt,hn){var Qn=Ht(ln,jt);Qn&&delete ln[jt],tr(et,jt,hn),Qn&&et!==ln&&tr(ln,jt,Qn)}:tr,Dn=function(et,jt){var hn=dn[et]=fe(Ln);return Jt(hn,{type:Ie,tag:et,description:jt}),m||(hn.description=jt),hn},mn=function(et,jt,hn){et===ln&&mn(Kn,jt,hn),M(et);var Qn=B(jt);return M(hn),D(dn,Qn)?(hn.enumerable?(D(et,ae)&&et[ae][Qn]&&(et[ae][Qn]=!1),hn=fe(hn,{enumerable:oe(0,!1)})):(D(et,ae)||tr(et,ae,oe(1,{})),et[ae][Qn]=!0),Fn(et,Qn,hn)):tr(et,Qn,hn)},jn=function(et,jt){M(et);var hn=J(jt),Qn=ne(hn).concat(Tt(hn));return It(Qn,function(Ir){m&&!u(Xt,hn,Ir)||mn(et,Ir,hn[Ir])}),et},Xt=function(et){var jt=B(et),hn=u(Cn,this,jt);return!(this===ln&&D(dn,jt)&&!D(Kn,jt))&&(!(hn||!D(this,jt)||!D(dn,jt)||D(this,ae)&&this[ae][jt])||hn)},ut=function(et,jt){var hn=J(et),Qn=B(jt);if(hn!==ln||!D(dn,Qn)||D(Kn,Qn)){var Ir=Ht(hn,Qn);return!Ir||!D(dn,Qn)||D(hn,ae)&&hn[ae][Qn]||(Ir.enumerable=!0),Ir}},mt=function(et){var jt=Yn(J(et)),hn=[];return It(jt,function(Qn){D(dn,Qn)||D(je,Qn)||Kt(hn,Qn)}),hn},Tt=function(et){var jt=et===ln,hn=Yn(jt?Kn:J(et)),Qn=[];return It(hn,function(Ir){!D(dn,Ir)||jt&&!D(ln,Ir)||Kt(Qn,dn[Ir])}),Qn};if(b||(He(Ln=(ar=function(){if(z(Ln,this))throw Rn("Symbol is not a constructor");var et=arguments.length&&void 0!==arguments[0]?ie(arguments[0]):void 0,jt=Et(et),hn=function(Qn){this===ln&&u(hn,Kn,Qn),D(this,ae)&&D(this[ae],jt)&&(this[ae][jt]=!1),Fn(this,jt,oe(1,Qn))};return m&&En&&Fn(ln,jt,{configurable:!0,set:hn}),Dn(jt,et)}).prototype,"toString",function(){return zt(this).tag}),He(ar,"withoutSetter",function(et){return Dn(Et(et),et)}),be.f=Xt,Oe.f=mn,Se.f=ut,he.f=ce.f=mt,Ae.f=Tt,nn.f=function(et){return Dn(lt(et),et)},m&&(tr(Ln,"description",{configurable:!0,get:function(){return zt(this).description}}),_||He(ln,"propertyIsEnumerable",Xt,{unsafe:!0}))),e({global:!0,wrap:!0,forced:!b,sham:!b},{Symbol:ar}),It(ne($n),function(et){St(et)}),e({target:Ie,stat:!0,forced:!b},{for:function(et){var jt=ie(et);if(D(qn,jt))return qn[jt];var hn=ar(jt);return qn[jt]=hn,Sn[hn]=jt,hn},keyFor:function(et){if(!U(et))throw Rn(et+" is not a symbol");if(D(Sn,et))return Sn[et]},useSetter:function(){En=!0},useSimple:function(){En=!1}}),e({target:"Object",stat:!0,forced:!b,sham:!m},{create:function(et,jt){return void 0===jt?fe(et):jn(fe(et),jt)},defineProperty:mn,defineProperties:jn,getOwnPropertyDescriptor:ut}),e({target:"Object",stat:!0,forced:!b},{getOwnPropertyNames:mt,getOwnPropertySymbols:Tt}),e({target:"Object",stat:!0,forced:T(function(){Ae.f(1)})},{getOwnPropertySymbols:function(et){return Ae.f(I(et))}}),Mn&&e({target:"JSON",stat:!0,forced:!b||T(function(){var et=ar();return"[null]"!=Mn([et])||"{}"!=Mn({a:et})||"{}"!=Mn(Object(et))})},{stringify:function(et,jt,hn){var Qn=ue(arguments),Ir=jt;if((H(jt)||void 0!==et)&&!U(et))return R(jt)||(jt=function(ht,L){if(j(Ir)&&(L=u(Ir,this,ht,L)),!U(L))return L}),Qn[1]=jt,l(Mn,null,Qn)}}),!Ln[dt]){var yn=Ln.valueOf;He(Ln,dt,function(et){return u(yn,this)})}Ot(ar,Ie),je[ae]=!0},function(g,o,t){var e=t(27),s=t(44),a=t(61),l=t(219).indexOf,u=t(150),h=e([].push);g.exports=function(_,m){var b,T=a(_),D=0,R=[];for(b in T)!s(u,b)&&s(T,b)&&h(R,b);for(;m.length>D;)s(T,b=m[D++])&&(~l(R,b)||h(R,b));return R}},function(g,o,t){var e=t(58);g.exports=e("document","documentElement")},function(g,o,t){var e=t(112),s=t(61),a=t(174).f,l=t(86),u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];g.exports.f=function(h){return u&&"Window"==e(h)?function(_){try{return a(_)}catch(m){return l(u)}}(h):a(s(h))}},function(g,o,t){var e=t(17),s=t(41),a=t(217),l=e.WeakMap;g.exports=s(l)&&/native code/.test(a(l))},function(g,o,t){t(45)("iterator")},function(g,o,t){var e=t(48),s=t(44),a=Function.prototype,l=e&&Object.getOwnPropertyDescriptor,u=s(a,"name"),h=u&&"something"===function(){}.name,_=u&&(!e||e&&l(a,"name").configurable);g.exports={EXISTS:u,PROPER:h,CONFIGURABLE:_}},function(g,o,t){"use strict";var e=t(341).IteratorPrototype,s=t(98),a=t(94),l=t(100),u=t(130),h=function(){return this};g.exports=function(_,m,b){var T=m+" Iterator";return _.prototype=s(e,{next:a(1,b)}),l(_,T,!1,!0),u[T]=h,_}},function(g,o,t){"use strict";var e,s,a,l=t(33),u=t(41),h=t(98),_=t(175),m=t(99),b=t(38),T=t(96),D=b("iterator"),R=!1;[].keys&&("next"in(a=[].keys())?(s=_(_(a)))!==Object.prototype&&(e=s):R=!0),null==e||l(function(){var j={};return e[D].call(j)!==j})?e={}:T&&(e=h(e)),u(e[D])||m(e,D,function(){return this}),g.exports={IteratorPrototype:e,BUGGY_SAFARI_ITERATORS:R}},function(g,o,t){var e=t(33);g.exports=!e(function(){function s(){}return s.prototype.constructor=null,Object.getPrototypeOf(new s)!==s.prototype})},function(g,o,t){var e=t(27),s=t(129),a=t(67),l=t(113),u=e("".charAt),h=e("".charCodeAt),_=e("".slice),m=function(b){return function(T,D){var R,j,H=a(l(T)),z=s(D),U=H.length;return z<0||z>=U?b?"":void 0:(R=h(H,z))<55296||R>56319||z+1===U||(j=h(H,z+1))<56320||j>57343?b?u(H,z):R:b?_(H,z,z+2):j-56320+(R-55296<<10)+65536}};g.exports={codeAt:m(!1),charAt:m(!0)}},function(g,o,t){var e=t(522);g.exports=e},function(g,o,t){var e=t(525);g.exports=e},function(g,o){var t={}.toString;g.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},function(g,o,t){var e=t(533);g.exports=e},function(g,o,t){"use strict";var e=t(17),s=t(27),a=t(73),l=t(43),u=t(44),h=t(86),_=e.Function,m=s([].concat),b=s([].join),T={},D=function(R,j,H){if(!u(T,j)){for(var z=[],U=0;U<j;U++)z[U]="a["+U+"]";T[j]=_("C,a","return new C("+b(z,",")+")")}return T[j](R,H)};g.exports=_.bind||function(R){var j=a(this),H=j.prototype,z=h(arguments,1),U=function(){var M=m(z,h(arguments));return this instanceof U?D(j,M.length,M):j.apply(R,M)};return l(H)&&(U.prototype=H),U}},function(g,o,t){var e=t(539);g.exports=e},function(g,o,t){"use strict";var e=t(48),s=t(27),a=t(50),l=t(33),u=t(149),h=t(222),_=t(167),m=t(62),b=t(168),T=Object.assign,D=Object.defineProperty,R=s([].concat);g.exports=!T||l(function(){if(e&&1!==T({b:1},T(D({},"a",{enumerable:!0,get:function(){D(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var j={},H={},z=Symbol(),U="abcdefghijklmnopqrst";return j[z]=7,U.split("").forEach(function(M){H[M]=M}),7!=T({},j)[z]||u(T({},H)).join("")!=U})?function(j,H){for(var z=m(j),U=arguments.length,M=1,I=h.f,J=_.f;U>M;)for(var B,ie=b(arguments[M++]),oe=I?R(u(ie),I(ie)):u(ie),fe=oe.length,ne=0;fe>ne;)B=oe[ne++],e&&!a(J,ie,B)||(z[B]=ie[B]);return z}:T},function(g,o,t){var e=t(541);g.exports=e},function(g,o,t){var e=t(544);g.exports=e},function(g,o,t){"use strict";var e=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function l(u){if(null==u)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(u)}g.exports=function(){try{if(!Object.assign)return!1;var u=new String("abc");if(u[5]="de","5"===Object.getOwnPropertyNames(u)[0])return!1;for(var h={},_=0;_<10;_++)h["_"+String.fromCharCode(_)]=_;if("0123456789"!==Object.getOwnPropertyNames(h).map(function(b){return h[b]}).join(""))return!1;var m={};return"abcdefghijklmnopqrst".split("").forEach(function(b){m[b]=b}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},m)).join("")}catch(b){return!1}}()?Object.assign:function(u,h){for(var _,m,b=l(u),T=1;T<arguments.length;T++){for(var D in _=Object(arguments[T]))s.call(_,D)&&(b[D]=_[D]);if(e){m=e(_);for(var R=0;R<m.length;R++)a.call(_,m[R])&&(b[m[R]]=_[m[R]])}}return b}},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.default=function(e){return e&&"@@redux/INIT"===e.type?"initialState argument passed to createStore":"previous state received by the reducer"},g.exports=o.default},function(g,o,t){(function(e){g.exports="object"==typeof e&&e&&e.Object===Object&&e}).call(this,t(57))},function(g,o){var t=Function.prototype.toString;g.exports=function(e){if(null!=e){try{return t.call(e)}catch(s){}try{return e+""}catch(s){}}return""}},function(g,o,t){var e=t(229),s=t(103);g.exports=function(a,l,u){(void 0!==u&&!s(a[l],u)||void 0===u&&!(l in a))&&e(a,l,u)}},function(g,o,t){var e=t(115),s=function(){try{var a=e(Object,"defineProperty");return a({},"",{}),a}catch(l){}}();g.exports=s},function(g,o,t){var e=t(589)();g.exports=e},function(g,o,t){(function(e){var s=t(69),a=o&&!o.nodeType&&o,l=a&&"object"==typeof e&&e&&!e.nodeType&&e,u=l&&l.exports===a?s.Buffer:void 0,h=u?u.allocUnsafe:void 0;e.exports=function(_,m){if(m)return _.slice();var b=_.length,T=h?h(b):new _.constructor(b);return _.copy(T),T}}).call(this,t(183)(g))},function(g,o,t){var e=t(230);g.exports=function(s,a){var l=a?e(s.buffer):s.buffer;return new s.constructor(l,s.byteOffset,s.length)}},function(g,o,t){var e=t(69).Uint8Array;g.exports=e},function(g,o){g.exports=function(t,e){var s=-1,a=t.length;for(e||(e=Array(a));++s<a;)e[s]=t[s];return e}},function(g,o,t){var e=t(591),s=t(231),a=t(184);g.exports=function(l){return"function"!=typeof l.constructor||a(l)?{}:e(s(l))}},function(g,o){g.exports=function(t,e){return function(s){return t(e(s))}}},function(g,o){g.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},function(g,o,t){var e=t(597),s=t(151),a=t(52),l=t(152),u=t(186),h=t(185),_=Object.prototype.hasOwnProperty;g.exports=function(m,b){var T=a(m),D=!T&&s(m),R=!T&&!D&&l(m),j=!T&&!D&&!R&&h(m),H=T||D||R||j,z=H?e(m.length,String):[],U=z.length;for(var M in m)!b&&!_.call(m,M)||H&&("length"==M||R&&("offset"==M||"parent"==M)||j&&("buffer"==M||"byteLength"==M||"byteOffset"==M)||u(M,U))||z.push(M);return z}},function(g,o,t){var e=t(602),s=Math.max;g.exports=function(a,l,u){return l=s(void 0===l?a.length-1:l,0),function(){for(var h=arguments,_=-1,m=s(h.length-l,0),b=Array(m);++_<m;)b[_]=h[l+_];_=-1;for(var T=Array(l+1);++_<l;)T[_]=h[_];return T[l]=u(b),e(a,this,T)}}},function(g,o,t){var e=t(603),s=t(605)(e);g.exports=s},function(g,o,t){var e=t(103),s=t(117),a=t(186),l=t(53);g.exports=function(u,h,_){if(!l(_))return!1;var m=typeof h;return!!("number"==m?s(_)&&a(h,_.length):"string"==m&&h in _)&&e(_[h],u)}},function(g,o){g.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var s=0,a=new Array(e);s<e;s++)a[s]=t[s];return a},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(166),s=t(238),a=t(373);g.exports=function(l){if(void 0!==e&&null!=s(l)||null!=l["@@iterator"])return a(l)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(611)},function(g,o,t){var e=t(612);g.exports=e},function(g,o,t){"use strict";var e=t(17),s=t(84),a=t(50),l=t(62),u=t(614),h=t(377),_=t(172),m=t(74),b=t(147),T=t(239),D=t(154),R=e.Array;g.exports=function(j){var H=l(j),z=_(this),U=arguments.length,M=U>1?arguments[1]:void 0,I=void 0!==M;I&&(M=s(M,U>2?arguments[2]:void 0));var J,B,ie,oe,fe,ne,he=D(H),ce=0;if(!he||this==R&&h(he))for(J=m(H),B=z?new this(J):R(J);J>ce;ce++)ne=I?M(H[ce],ce):H[ce],b(B,ce,ne);else for(fe=(oe=T(H,he)).next,B=z?new this:[];!(ie=a(fe,oe)).done;ce++)ne=I?u(oe,M,[ie.value,ce],!0):ie.value,b(B,ce,ne);return B.length=ce,B}},function(g,o,t){var e=t(50),s=t(51),a=t(211);g.exports=function(l,u,h){var _,m;s(l);try{if(!(_=a(l,"return"))){if("throw"===u)throw h;return h}_=e(_,l)}catch(b){m=!0,_=b}if("throw"===u)throw h;if(m)throw _;return s(_),h}},function(g,o,t){var e=t(38),s=t(130),a=e("iterator"),l=Array.prototype;g.exports=function(u){return void 0!==u&&(s.Array===u||l[a]===u)}},function(g,o,t){var e=t(38)("iterator"),s=!1;try{var a=0,l={next:function(){return{done:!!a++}},return:function(){s=!0}};l[e]=function(){return this},Array.from(l,function(){throw 2})}catch(u){}g.exports=function(u,h){if(!h&&!s)return!1;var _=!1;try{var m={};m[e]=function(){return{next:function(){return{done:_=!0}}}},u(m)}catch(b){}return _}},function(g,o,t){var e=t(237);g.exports=function(s){if(e(s))return s},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){t(68);var e=t(75),s=t(44),a=t(35),l=t(622),u=Array.prototype,h={DOMTokenList:!0,NodeList:!0};g.exports=function(_){var m=_.forEach;return _===u||a(u,_)&&m===u.forEach||s(h,e(_))?l:m}},function(g,o,t){var e=t(86),s=Math.floor,a=function(h,_){var m=h.length,b=s(m/2);return m<8?l(h,_):u(h,a(e(h,0,b),_),a(e(h,b),_),_)},l=function(h,_){for(var m,b,T=h.length,D=1;D<T;){for(b=D,m=h[D];b&&_(h[b-1],m)>0;)h[b]=h[--b];b!==D++&&(h[b]=m)}return h},u=function(h,_,m,b){for(var T=_.length,D=m.length,R=0,j=0;R<T||j<D;)h[R+j]=R<T&&j<D?b(_[R],m[j])<=0?_[R++]:m[j++]:R<T?_[R++]:m[j++];return h};g.exports=a},function(g,o,t){var e=t(17),s=t(643),a=e.TypeError;g.exports=function(l){if(s(l))throw a("The method doesn't accept regular expressions");return l}},function(g,o,t){var e=t(38)("match");g.exports=function(s){var a=/./;try{"/./"[s](a)}catch(l){try{return a[e]=!1,"/./"[s](a)}catch(u){}}return!1}},function(g,o,t){var e=t(644);g.exports=e},function(g,o){g.exports="\t\n\v\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(g,o){g.exports=function(t,e){for(var s=-1,a=null==t?0:t.length,l=Array(a);++s<a;)l[s]=e(t[s],s,t);return l}},function(g,o){g.exports=function(t,e,s){var a=-1,l=t.length;e<0&&(e=-e>l?0:l+e),(s=s>l?l:s)<0&&(s+=l),l=e>s?0:s-e>>>0,e>>>=0;for(var u=Array(l);++a<l;)u[a]=t[a+e];return u}},function(g,o){var t=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");g.exports=function(e){return t.test(e)}},function(g,o){g.exports=function(t,e,s,a){var l=-1,u=null==t?0:t.length;for(a&&u&&(s=t[++l]);++l<u;)s=e(s,t[l],l,t);return s}},function(g,o,t){var e=t(679),s=t(78);g.exports=function a(l,u,h,_,m){return l===u||(null==l||null==u||!s(l)&&!s(u)?l!=l&&u!=u:e(l,u,h,_,a,m))}},function(g,o,t){var e=t(680),s=t(393),a=t(683);g.exports=function(l,u,h,_,m,b){var T=1&h,D=l.length,R=u.length;if(D!=R&&!(T&&R>D))return!1;var j=b.get(l),H=b.get(u);if(j&&H)return j==u&&H==l;var z=-1,U=!0,M=2&h?new e:void 0;for(b.set(l,u),b.set(u,l);++z<D;){var I=l[z],J=u[z];if(_)var B=T?_(J,I,z,u,l,b):_(I,J,z,l,u,b);if(void 0!==B){if(B)continue;U=!1;break}if(M){if(!s(u,function(ie,oe){if(!a(M,oe)&&(I===ie||m(I,ie,h,_,b)))return M.push(oe)})){U=!1;break}}else if(I!==J&&!m(I,J,h,_,b)){U=!1;break}}return b.delete(l),b.delete(u),U}},function(g,o){g.exports=function(t,e){for(var s=-1,a=null==t?0:t.length;++s<a;)if(e(t[s],s,t))return!0;return!1}},function(g,o,t){var e=t(395),s=t(241),a=t(135);g.exports=function(l){return e(l,a,s)}},function(g,o,t){var e=t(240),s=t(52);g.exports=function(a,l,u){var h=l(a);return s(a)?h:e(h,u(a))}},function(g,o){g.exports=function(){return[]}},function(g,o,t){var e=t(184),s=t(689),a=Object.prototype.hasOwnProperty;g.exports=function(l){if(!e(l))return s(l);var u=[];for(var h in Object(l))a.call(l,h)&&"constructor"!=h&&u.push(h);return u}},function(g,o,t){var e=t(53);g.exports=function(s){return s==s&&!e(s)}},function(g,o){g.exports=function(t,e){return function(s){return null!=s&&s[t]===e&&(void 0!==e||t in Object(s))}}},function(g,o,t){var e=t(708),s=t(53),a=t(188),l=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,h=/^0o[0-7]+$/i,_=parseInt;g.exports=function(m){if("number"==typeof m)return m;if(a(m))return NaN;if(s(m)){var b="function"==typeof m.valueOf?m.valueOf():m;m=s(b)?b+"":b}if("string"!=typeof m)return 0===m?m:+m;m=e(m);var T=u.test(m);return T||h.test(m)?_(m.slice(2),T?2:8):l.test(m)?NaN:+m}},function(g,o,t){var e=t(711),s=t(712)(e);g.exports=s},function(g,o,t){"use strict";(function(e,s){var a=t(190);g.exports=I;var l,u=t(346);I.ReadableState=M,t(244);var h=function(F,je){return F.listeners(je).length},_=t(403),m=t(65).Buffer,b=e.Uint8Array||function(){},T=Object.create(t(157));T.inherits=t(64);var D=t(715),R=void 0;R=D&&D.debuglog?D.debuglog("stream"):function(){};var j,H=t(716),z=t(404);T.inherits(I,_);var U=["error","close","destroy","pause","resume"];function M(F,je){F=F||{};var Et=je instanceof(l=l||t(119));this.objectMode=!!F.objectMode,Et&&(this.objectMode=this.objectMode||!!F.readableObjectMode);var lt=F.highWaterMark,nn=F.readableHighWaterMark;this.highWaterMark=lt||0===lt?lt:Et&&(nn||0===nn)?nn:this.objectMode?16:16384,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new H,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=F.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,F.encoding&&(j||(j=t(406).StringDecoder),this.decoder=new j(F.encoding),this.encoding=F.encoding)}function I(F){if(l=l||t(119),!(this instanceof I))return new I(F);this._readableState=new M(F,this),this.readable=!0,F&&("function"==typeof F.read&&(this._read=F.read),"function"==typeof F.destroy&&(this._destroy=F.destroy)),_.call(this)}function J(F,je,Et,lt,nn){var St,Qe,It,ae,Ie,Ot=F._readableState;return null===je?(Ot.reading=!1,function(Qe,It){if(!It.ended){if(It.decoder){var ae=It.decoder.end();ae&&ae.length&&(It.buffer.push(ae),It.length+=It.objectMode?1:ae.length)}It.ended=!0,fe(Qe)}}(F,Ot)):(nn||(Qe=Ot,m.isBuffer(Ie=It=je)||Ie instanceof b||"string"==typeof It||void 0===It||Qe.objectMode||(ae=new TypeError("Invalid non-string/buffer chunk")),St=ae),St?F.emit("error",St):Ot.objectMode||je&&je.length>0?("string"==typeof je||Ot.objectMode||Object.getPrototypeOf(je)===m.prototype||(je=function(Qe){return m.from(Qe)}(je)),lt?Ot.endEmitted?F.emit("error",new Error("stream.unshift() after end event")):B(F,Ot,je,!0):Ot.ended?F.emit("error",new Error("stream.push() after EOF")):(Ot.reading=!1,Ot.decoder&&!Et?(je=Ot.decoder.write(je),Ot.objectMode||0!==je.length?B(F,Ot,je,!1):he(F,Ot)):B(F,Ot,je,!1))):lt||(Ot.reading=!1)),function(Qe){return!Qe.ended&&(Qe.needReadable||Qe.length<Qe.highWaterMark||0===Qe.length)}(Ot)}function B(F,je,Et,lt){je.flowing&&0===je.length&&!je.sync?(F.emit("data",Et),F.read(0)):(je.length+=je.objectMode?1:Et.length,lt?je.buffer.unshift(Et):je.buffer.push(Et),je.needReadable&&fe(F)),he(F,je)}function oe(F,je){return F<=0||0===je.length&&je.ended?0:je.objectMode?1:F!=F?je.flowing&&je.length?je.buffer.head.data.length:je.length:(F>je.highWaterMark&&(je.highWaterMark=((Et=F)>=8388608?Et=8388608:(Et--,Et|=Et>>>1,Et|=Et>>>2,Et|=Et>>>4,Et|=Et>>>8,Et|=Et>>>16,Et++),Et)),F<=je.length?F:je.ended?je.length:(je.needReadable=!0,0));var Et}function fe(F){var je=F._readableState;je.needReadable=!1,je.emittedReadable||(R("emitReadable",je.flowing),je.emittedReadable=!0,je.sync?a.nextTick(ne,F):ne(F))}function ne(F){R("emit readable"),F.emit("readable"),Oe(F)}function he(F,je){je.readingMore||(je.readingMore=!0,a.nextTick(ce,F,je))}function ce(F,je){for(var Et=je.length;!je.reading&&!je.flowing&&!je.ended&&je.length<je.highWaterMark&&(R("maybeReadMore read 0"),F.read(0),Et!==je.length);)Et=je.length;je.readingMore=!1}function Ae(F){R("readable nexttick read 0"),F.read(0)}function Se(F,je){je.reading||(R("resume read 0"),F.read(0)),je.resumeScheduled=!1,je.awaitDrain=0,F.emit("resume"),Oe(F),je.flowing&&!je.reading&&F.read(0)}function Oe(F){var je=F._readableState;for(R("flow",je.flowing);je.flowing&&null!==F.read(););}function be(F,je){return 0===je.length?null:(je.objectMode?Et=je.buffer.shift():!F||F>=je.length?(Et=je.decoder?je.buffer.join(""):1===je.buffer.length?je.buffer.head.data:je.buffer.concat(je.length),je.buffer.clear()):(St=je.decoder,(lt=F)<(nn=je.buffer).head.data.length?(Ot=nn.head.data.slice(0,lt),nn.head.data=nn.head.data.slice(lt)):Ot=lt===nn.head.data.length?nn.shift():St?function(Qe,It){var ae=It.head,Ie=1,dt=ae.data;for(Qe-=dt.length;ae=ae.next;){var Jt=ae.data,zt=Qe>Jt.length?Jt.length:Qe;if(dt+=zt===Jt.length?Jt:Jt.slice(0,Qe),0==(Qe-=zt)){zt===Jt.length?(++Ie,It.head=ae.next?ae.next:It.tail=null):(It.head=ae,ae.data=Jt.slice(zt));break}++Ie}return It.length-=Ie,dt}(lt,nn):function(Qe,It){var ae=m.allocUnsafe(Qe),Ie=It.head,dt=1;for(Ie.data.copy(ae),Qe-=Ie.data.length;Ie=Ie.next;){var Jt=Ie.data,zt=Qe>Jt.length?Jt.length:Qe;if(Jt.copy(ae,ae.length-Qe,0,zt),0==(Qe-=zt)){zt===Jt.length?(++dt,It.head=Ie.next?Ie.next:It.tail=null):(It.head=Ie,Ie.data=Jt.slice(zt));break}++dt}return It.length-=dt,ae}(lt,nn),Et=Ot),Et);var lt,nn,St,Ot,Et}function ue(F){var je=F._readableState;if(je.length>0)throw new Error('"endReadable()" called on non-empty stream');je.endEmitted||(je.ended=!0,a.nextTick(He,je,F))}function He(F,je){F.endEmitted||0!==F.length||(F.endEmitted=!0,je.readable=!1,je.emit("end"))}function $e(F,je){for(var Et=0,lt=F.length;Et<lt;Et++)if(F[Et]===je)return Et;return-1}Object.defineProperty(I.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(F){this._readableState&&(this._readableState.destroyed=F)}}),I.prototype.destroy=z.destroy,I.prototype._undestroy=z.undestroy,I.prototype._destroy=function(F,je){this.push(null),je(F)},I.prototype.push=function(F,je){var Et,lt=this._readableState;return lt.objectMode?Et=!0:"string"==typeof F&&((je=je||lt.defaultEncoding)!==lt.encoding&&(F=m.from(F,je),je=""),Et=!0),J(this,F,je,!1,Et)},I.prototype.unshift=function(F){return J(this,F,null,!0,!1)},I.prototype.isPaused=function(){return!1===this._readableState.flowing},I.prototype.setEncoding=function(F){return j||(j=t(406).StringDecoder),this._readableState.decoder=new j(F),this._readableState.encoding=F,this},I.prototype.read=function(F){R("read",F),F=parseInt(F,10);var je=this._readableState,Et=F;if(0!==F&&(je.emittedReadable=!1),0===F&&je.needReadable&&(je.length>=je.highWaterMark||je.ended))return R("read: emitReadable",je.length,je.ended),0===je.length&&je.ended?ue(this):fe(this),null;if(0===(F=oe(F,je))&&je.ended)return 0===je.length&&ue(this),null;var lt,nn=je.needReadable;return R("need readable",nn),(0===je.length||je.length-F<je.highWaterMark)&&R("length less than watermark",nn=!0),je.ended||je.reading?R("reading or ended",nn=!1):nn&&(R("do read"),je.reading=!0,je.sync=!0,0===je.length&&(je.needReadable=!0),this._read(je.highWaterMark),je.sync=!1,je.reading||(F=oe(Et,je))),null===(lt=F>0?be(F,je):null)?(je.needReadable=!0,F=0):je.length-=F,0===je.length&&(je.ended||(je.needReadable=!0),Et!==F&&je.ended&&ue(this)),null!==lt&&this.emit("data",lt),lt},I.prototype._read=function(F){this.emit("error",new Error("_read() is not implemented"))},I.prototype.pipe=function(F,je){var Et=this,lt=this._readableState;switch(lt.pipesCount){case 0:lt.pipes=F;break;case 1:lt.pipes=[lt.pipes,F];break;default:lt.pipes.push(F)}lt.pipesCount+=1,R("pipe count=%d opts=%j",lt.pipesCount,je);var nn=je&&!1===je.end||F===s.stdout||F===s.stderr?ln:Ot;function Ot(){R("onend"),F.end()}lt.endEmitted?a.nextTick(nn):Et.once("end",nn),F.on("unpipe",function St(ar,Ln){R("onunpipe"),ar===Et&&Ln&&!1===Ln.hasUnpiped&&(Ln.hasUnpiped=!0,R("cleanup"),F.removeListener("close",Jt),F.removeListener("finish",zt),F.removeListener("drain",Qe),F.removeListener("error",dt),F.removeListener("unpipe",St),Et.removeListener("end",Ot),Et.removeListener("end",ln),Et.removeListener("data",Ie),It=!0,!lt.awaitDrain||F._writableState&&!F._writableState.needDrain||Qe())});var ar,Qe=(ar=Et,function(){var Ln=ar._readableState;R("pipeOnDrain",Ln.awaitDrain),Ln.awaitDrain&&Ln.awaitDrain--,0===Ln.awaitDrain&&h(ar,"data")&&(Ln.flowing=!0,Oe(ar))});F.on("drain",Qe);var It=!1,ae=!1;function Ie(ar){R("ondata"),ae=!1,!1!==F.write(ar)||ae||((1===lt.pipesCount&<.pipes===F||lt.pipesCount>1&&-1!==$e(lt.pipes,F))&&!It&&(R("false write response, pause",Et._readableState.awaitDrain),Et._readableState.awaitDrain++,ae=!0),Et.pause())}function dt(ar){R("onerror",ar),ln(),F.removeListener("error",dt),0===h(F,"error")&&F.emit("error",ar)}function Jt(){F.removeListener("finish",zt),ln()}function zt(){R("onfinish"),F.removeListener("close",Jt),ln()}function ln(){R("unpipe"),Et.unpipe(F)}return Et.on("data",Ie),function(ar,Ln,Rn){if("function"==typeof ar.prependListener)return ar.prependListener(Ln,Rn);ar._events&&ar._events[Ln]?u(ar._events[Ln])?ar._events[Ln].unshift(Rn):ar._events[Ln]=[Rn,ar._events[Ln]]:ar.on(Ln,Rn)}(F,"error",dt),F.once("close",Jt),F.once("finish",zt),F.emit("pipe",Et),lt.flowing||(R("pipe resume"),Et.resume()),F},I.prototype.unpipe=function(F){var je=this._readableState,Et={hasUnpiped:!1};if(0===je.pipesCount)return this;if(1===je.pipesCount)return F&&F!==je.pipes||(F||(F=je.pipes),je.pipes=null,je.pipesCount=0,je.flowing=!1,F&&F.emit("unpipe",this,Et)),this;if(!F){var lt=je.pipes,nn=je.pipesCount;je.pipes=null,je.pipesCount=0,je.flowing=!1;for(var St=0;St<nn;St++)lt[St].emit("unpipe",this,Et);return this}var Ot=$e(je.pipes,F);return-1===Ot||(je.pipes.splice(Ot,1),je.pipesCount-=1,1===je.pipesCount&&(je.pipes=je.pipes[0]),F.emit("unpipe",this,Et)),this},I.prototype.addListener=I.prototype.on=function(F,je){var Et=_.prototype.on.call(this,F,je);if("data"===F)!1!==this._readableState.flowing&&this.resume();else if("readable"===F){var lt=this._readableState;lt.endEmitted||lt.readableListening||(lt.readableListening=lt.needReadable=!0,lt.emittedReadable=!1,lt.reading?lt.length&&fe(this):a.nextTick(Ae,this))}return Et},I.prototype.resume=function(){var Et,F=this._readableState;return F.flowing||(R("resume"),F.flowing=!0,this,(Et=F).resumeScheduled||(Et.resumeScheduled=!0,a.nextTick(Se,this,Et))),this},I.prototype.pause=function(){return R("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(R("pause"),this._readableState.flowing=!1,this.emit("pause")),this},I.prototype.wrap=function(F){var je=this,Et=this._readableState,lt=!1;for(var nn in F.on("end",function(){if(R("wrapped end"),Et.decoder&&!Et.ended){var Ot=Et.decoder.end();Ot&&Ot.length&&je.push(Ot)}je.push(null)}),F.on("data",function(Ot){R("wrapped data"),Et.decoder&&(Ot=Et.decoder.write(Ot)),Et.objectMode&&null==Ot||(Et.objectMode||Ot&&Ot.length)&&(je.push(Ot)||(lt=!0,F.pause()))}),F)void 0===this[nn]&&"function"==typeof F[nn]&&(this[nn]=function(Ot){return function(){return F[Ot].apply(F,arguments)}}(nn));for(var St=0;St<U.length;St++)F.on(U[St],this.emit.bind(this,U[St]));return this._read=function(Ot){R("wrapped _read",Ot),lt&&(lt=!1,F.resume())},this},Object.defineProperty(I.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),I._fromList=be}).call(this,t(57),t(118))},function(g,o,t){g.exports=t(244).EventEmitter},function(g,o,t){"use strict";var e=t(190);function s(a,l){a.emit("error",l)}g.exports={destroy:function(a,l){var u=this;return this._readableState&&this._readableState.destroyed||this._writableState&&this._writableState.destroyed?(l?l(a):!a||this._writableState&&this._writableState.errorEmitted||e.nextTick(s,this,a),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(a||null,function(m){!l&&m?(e.nextTick(s,u,m),u._writableState&&(u._writableState.errorEmitted=!0)):l&&l(m)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(g,o,t){(function(e){var s=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function l(u,h){this._id=u,this._clearFn=h}o.setTimeout=function(){return new l(a.call(setTimeout,s,arguments),clearTimeout)},o.setInterval=function(){return new l(a.call(setInterval,s,arguments),clearInterval)},o.clearTimeout=o.clearInterval=function(u){u&&u.close()},l.prototype.unref=l.prototype.ref=function(){},l.prototype.close=function(){this._clearFn.call(s,this._id)},o.enroll=function(u,h){clearTimeout(u._idleTimeoutId),u._idleTimeout=h},o.unenroll=function(u){clearTimeout(u._idleTimeoutId),u._idleTimeout=-1},o._unrefActive=o.active=function(u){clearTimeout(u._idleTimeoutId);var h=u._idleTimeout;h>=0&&(u._idleTimeoutId=setTimeout(function(){u._onTimeout&&u._onTimeout()},h))},t(718),o.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,o.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,t(57))},function(g,o,t){"use strict";var e=t(65).Buffer,s=e.isEncoding||function(R){switch((R=""+R)&&R.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(R){var j;switch(this.encoding=function(H){var z=function(U){if(!U)return"utf8";for(var M;;)switch(U){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return U;default:if(M)return;U=(""+U).toLowerCase(),M=!0}}(H);if("string"!=typeof z&&(e.isEncoding===s||!s(H)))throw new Error("Unknown encoding: "+H);return z||H}(R),this.encoding){case"utf16le":this.text=h,this.end=_,j=4;break;case"utf8":this.fillLast=u,j=4;break;case"base64":this.text=m,this.end=b,j=3;break;default:return this.write=T,void(this.end=D)}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(j)}function l(R){return R<=127?0:R>>5==6?2:R>>4==14?3:R>>3==30?4:R>>6==2?-1:-2}function u(R){var j=this.lastTotal-this.lastNeed,H=function(z,U,M){if(128!=(192&U[0]))return z.lastNeed=0,"\ufffd";if(z.lastNeed>1&&U.length>1){if(128!=(192&U[1]))return z.lastNeed=1,"\ufffd";if(z.lastNeed>2&&U.length>2&&128!=(192&U[2]))return z.lastNeed=2,"\ufffd"}}(this,R);return void 0!==H?H:this.lastNeed<=R.length?(R.copy(this.lastChar,j,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(R.copy(this.lastChar,j,0,R.length),void(this.lastNeed-=R.length))}function h(R,j){if((R.length-j)%2==0){var H=R.toString("utf16le",j);if(H){var z=H.charCodeAt(H.length-1);if(z>=55296&&z<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=R[R.length-2],this.lastChar[1]=R[R.length-1],H.slice(0,-1)}return H}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=R[R.length-1],R.toString("utf16le",j,R.length-1)}function _(R){var j=R&&R.length?this.write(R):"";return this.lastNeed?j+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):j}function m(R,j){var H=(R.length-j)%3;return 0===H?R.toString("base64",j):(this.lastNeed=3-H,this.lastTotal=3,1===H?this.lastChar[0]=R[R.length-1]:(this.lastChar[0]=R[R.length-2],this.lastChar[1]=R[R.length-1]),R.toString("base64",j,R.length-H))}function b(R){var j=R&&R.length?this.write(R):"";return this.lastNeed?j+this.lastChar.toString("base64",0,3-this.lastNeed):j}function T(R){return R.toString(this.encoding)}function D(R){return R&&R.length?this.write(R):""}o.StringDecoder=a,a.prototype.write=function(R){if(0===R.length)return"";var j,H;if(this.lastNeed){if(void 0===(j=this.fillLast(R)))return"";H=this.lastNeed,this.lastNeed=0}else H=0;return H<R.length?j?j+this.text(R,H):this.text(R,H):j||""},a.prototype.end=function(R){var j=R&&R.length?this.write(R):"";return this.lastNeed?j+"\ufffd":j},a.prototype.text=function(R,j){var H=function(U,M,I){var J=M.length-1;if(J<I)return 0;var B=l(M[J]);return B>=0?(B>0&&(U.lastNeed=B-1),B):--J<I||-2===B?0:(B=l(M[J]))>=0?(B>0&&(U.lastNeed=B-2),B):--J<I||-2===B?0:(B=l(M[J]))>=0?(B>0&&(2===B?B=0:U.lastNeed=B-3),B):0}(this,R,j);if(!this.lastNeed)return R.toString("utf8",j);this.lastTotal=H;var z=R.length-(H-this.lastNeed);return R.copy(this.lastChar,0,z),R.toString("utf8",j,z)},a.prototype.fillLast=function(R){if(this.lastNeed<=R.length)return R.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);R.copy(this.lastChar,this.lastTotal-this.lastNeed,0,R.length),this.lastNeed-=R.length}},function(g,o,t){"use strict";g.exports=l;var e=t(119),s=Object.create(t(157));function a(_,m){var b=this._transformState;b.transforming=!1;var T=b.writecb;if(!T)return this.emit("error",new Error("write callback called multiple times"));b.writechunk=null,b.writecb=null,null!=m&&this.push(m),T(_);var D=this._readableState;D.reading=!1,(D.needReadable||D.length<D.highWaterMark)&&this._read(D.highWaterMark)}function l(_){if(!(this instanceof l))return new l(_);e.call(this,_),this._transformState={afterTransform:a.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,_&&("function"==typeof _.transform&&(this._transform=_.transform),"function"==typeof _.flush&&(this._flush=_.flush)),this.on("prefinish",u)}function u(){var _=this;"function"==typeof this._flush?this._flush(function(m,b){h(_,m,b)}):h(this,null,null)}function h(_,m,b){if(m)return _.emit("error",m);if(null!=b&&_.push(b),_._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(_._transformState.transforming)throw new Error("Calling transform done when still transforming");return _.push(null)}s.inherits=t(64),s.inherits(l,e),l.prototype.push=function(_,m){return this._transformState.needTransform=!1,e.prototype.push.call(this,_,m)},l.prototype._transform=function(_,m,b){throw new Error("_transform() is not implemented")},l.prototype._write=function(_,m,b){var T=this._transformState;if(T.writecb=b,T.writechunk=_,T.writeencoding=m,!T.transforming){var D=this._readableState;(T.needTransform||D.needReadable||D.length<D.highWaterMark)&&this._read(D.highWaterMark)}},l.prototype._read=function(_){var m=this._transformState;null!==m.writechunk&&m.writecb&&!m.transforming?(m.transforming=!0,this._transform(m.writechunk,m.writeencoding,m.afterTransform)):m.needTransform=!0},l.prototype._destroy=function(_,m){var b=this;e.prototype._destroy.call(this,_,function(T){m(T),b.emit("close")})}},function(g,o,t){"use strict";var e=t(120),s=Array.prototype.forEach,a=Object.create,l=function(u,h){var _;for(_ in u)h[_]=u[_]};g.exports=function(u){var h=a(null);return s.call(arguments,function(_){e(_)&&l(Object(_),h)}),h}},function(g,o,t){"use strict";var e=t(121);g.exports=function(s,a,l){var u;return isNaN(s)?(u=a)>=0?l&&u?u-1:u:1:!1!==s&&e(s)}},function(g,o,t){"use strict";g.exports=t(734)()?Object.assign:t(735)},function(g,o,t){"use strict";var e,s,a,l,u,h=t(121),_=function(m,b){return b};try{Object.defineProperty(_,"length",{configurable:!0,writable:!1,enumerable:!1,value:1})}catch(m){}1===_.length?(e={configurable:!0,writable:!1,enumerable:!1},s=Object.defineProperty,g.exports=function(m,b){return b=h(b),m.length===b?m:(e.value=b,s(m,"length",e))}):(l=t(412),u=[],a=function(m){var b,T=0;if(u[m])return u[m];for(b=[];m--;)b.push("a"+(++T).toString(36));return new Function("fn","return function ("+b.join(", ")+") { return fn.apply(this, arguments); };")},g.exports=function(m,b){var T;if(b=h(b),m.length===b)return m;T=a(b)(m);try{l(T,m)}catch(D){}return T})},function(g,o,t){"use strict";var e=t(137),s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols;g.exports=function(h,_){var m,b=Object(e(_));if(h=Object(e(h)),l(b).forEach(function(T){try{s(h,T,a(_,T))}catch(D){m=D}}),"function"==typeof u&&u(b).forEach(function(T){try{s(h,T,a(_,T))}catch(D){m=D}}),void 0!==m)throw m;return h}},function(g,o,t){"use strict";g.exports=function(e){return null!=e}},function(g,o,t){"use strict";var e=t(757);g.exports=function(s){if(!e(s))throw new TypeError(s+" is not a symbol");return s}},function(g,o,t){"use strict";var e=t(101),s=t(191),a=Function.prototype.call;g.exports=function(l,u){var h={},_=arguments[2];return e(u),s(l,function(m,b,T,D){h[b]=a.call(u,_,m,b,T,D)}),h}},function(g,o,t){"use strict";g.exports=function(e){return"function"==typeof e}},function(g,o){function t(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}g.exports=t,g.exports.default=t},function(g,o,t){var e=t(64),s=t(138),a=t(65).Buffer,l=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],u=new Array(64);function h(){this.init(),this._w=u,s.call(this,64,56)}function _(R,j,H){return H^R&(j^H)}function m(R,j,H){return R&j|H&(R|j)}function b(R){return(R>>>2|R<<30)^(R>>>13|R<<19)^(R>>>22|R<<10)}function T(R){return(R>>>6|R<<26)^(R>>>11|R<<21)^(R>>>25|R<<7)}function D(R){return(R>>>7|R<<25)^(R>>>18|R<<14)^R>>>3}e(h,s),h.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},h.prototype._update=function(R){for(var j,H=this._w,z=0|this._a,U=0|this._b,M=0|this._c,I=0|this._d,J=0|this._e,B=0|this._f,ie=0|this._g,oe=0|this._h,fe=0;fe<16;++fe)H[fe]=R.readInt32BE(4*fe);for(;fe<64;++fe)H[fe]=0|(((j=H[fe-2])>>>17|j<<15)^(j>>>19|j<<13)^j>>>10)+H[fe-7]+D(H[fe-15])+H[fe-16];for(var ne=0;ne<64;++ne){var he=oe+T(J)+_(J,B,ie)+l[ne]+H[ne]|0,ce=b(z)+m(z,U,M)|0;oe=ie,ie=B,B=J,J=I+he|0,I=M,M=U,U=z,z=he+ce|0}this._a=z+this._a|0,this._b=U+this._b|0,this._c=M+this._c|0,this._d=I+this._d|0,this._e=J+this._e|0,this._f=B+this._f|0,this._g=ie+this._g|0,this._h=oe+this._h|0},h.prototype._hash=function(){var R=a.allocUnsafe(32);return R.writeInt32BE(this._a,0),R.writeInt32BE(this._b,4),R.writeInt32BE(this._c,8),R.writeInt32BE(this._d,12),R.writeInt32BE(this._e,16),R.writeInt32BE(this._f,20),R.writeInt32BE(this._g,24),R.writeInt32BE(this._h,28),R},g.exports=h},function(g,o,t){var e=t(64),s=t(138),a=t(65).Buffer,l=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],u=new Array(160);function h(){this.init(),this._w=u,s.call(this,128,112)}function _(U,M,I){return I^U&(M^I)}function m(U,M,I){return U&M|I&(U|M)}function b(U,M){return(U>>>28|M<<4)^(M>>>2|U<<30)^(M>>>7|U<<25)}function T(U,M){return(U>>>14|M<<18)^(U>>>18|M<<14)^(M>>>9|U<<23)}function D(U,M){return(U>>>1|M<<31)^(U>>>8|M<<24)^U>>>7}function R(U,M){return(U>>>1|M<<31)^(U>>>8|M<<24)^(U>>>7|M<<25)}function j(U,M){return(U>>>19|M<<13)^(M>>>29|U<<3)^U>>>6}function H(U,M){return(U>>>19|M<<13)^(M>>>29|U<<3)^(U>>>6|M<<26)}function z(U,M){return U>>>0<M>>>0?1:0}e(h,s),h.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},h.prototype._update=function(U){for(var M=this._w,I=0|this._ah,J=0|this._bh,B=0|this._ch,ie=0|this._dh,oe=0|this._eh,fe=0|this._fh,ne=0|this._gh,he=0|this._hh,ce=0|this._al,Ae=0|this._bl,Se=0|this._cl,Oe=0|this._dl,be=0|this._el,ue=0|this._fl,He=0|this._gl,$e=0|this._hl,F=0;F<32;F+=2)M[F]=U.readInt32BE(4*F),M[F+1]=U.readInt32BE(4*F+4);for(;F<160;F+=2){var je=M[F-30],Et=M[F-30+1],lt=D(je,Et),nn=R(Et,je),St=j(je=M[F-4],Et=M[F-4+1]),Ot=H(Et,je),ae=M[F-32],Ie=M[F-32+1],dt=nn+M[F-14+1]|0,Jt=lt+M[F-14]+z(dt,nn)|0;Jt=(Jt=Jt+St+z(dt=dt+Ot|0,Ot)|0)+ae+z(dt=dt+Ie|0,Ie)|0,M[F]=Jt,M[F+1]=dt}for(var zt=0;zt<160;zt+=2){Jt=M[zt],dt=M[zt+1];var ln=m(I,J,B),ar=m(ce,Ae,Se),Ln=b(I,ce),Rn=b(ce,I),er=T(oe,be),Mn=T(be,oe),Ht=l[zt],tr=l[zt+1],Yn=_(oe,fe,ne),Cn=_(be,ue,He),Kt=$e+Mn|0,dn=he+er+z(Kt,$e)|0;dn=(dn=(dn=dn+Yn+z(Kt=Kt+Cn|0,Cn)|0)+Ht+z(Kt=Kt+tr|0,tr)|0)+Jt+z(Kt=Kt+dt|0,dt)|0;var Kn=Rn+ar|0,qn=Ln+ln+z(Kn,Rn)|0;he=ne,$e=He,ne=fe,He=ue,fe=oe,ue=be,oe=ie+dn+z(be=Oe+Kt|0,Oe)|0,ie=B,Oe=Se,B=J,Se=Ae,J=I,Ae=ce,I=dn+qn+z(ce=Kt+Kn|0,Kt)|0}this._al=this._al+ce|0,this._bl=this._bl+Ae|0,this._cl=this._cl+Se|0,this._dl=this._dl+Oe|0,this._el=this._el+be|0,this._fl=this._fl+ue|0,this._gl=this._gl+He|0,this._hl=this._hl+$e|0,this._ah=this._ah+I+z(this._al,ce)|0,this._bh=this._bh+J+z(this._bl,Ae)|0,this._ch=this._ch+B+z(this._cl,Se)|0,this._dh=this._dh+ie+z(this._dl,Oe)|0,this._eh=this._eh+oe+z(this._el,be)|0,this._fh=this._fh+fe+z(this._fl,ue)|0,this._gh=this._gh+ne+z(this._gl,He)|0,this._hh=this._hh+he+z(this._hl,$e)|0},h.prototype._hash=function(){var U=a.allocUnsafe(64);function M(I,J,B){U.writeInt32BE(I,B),U.writeInt32BE(J,B+4)}return M(this._ah,this._al,0),M(this._bh,this._bl,8),M(this._ch,this._cl,16),M(this._dh,this._dl,24),M(this._eh,this._el,32),M(this._fh,this._fl,40),M(this._gh,this._gl,48),M(this._hh,this._hl,56),U},g.exports=h},function(g,o,t){g.exports=t(796)},function(g,o,t){g.exports=t(797)},function(g,o,t){var e=t(58),s=t(27),a=t(174),l=t(222),u=t(51),h=s([].concat);g.exports=e("Reflect","ownKeys")||function(_){var m=a.f(u(_)),b=l.f;return b?h(m,b(_)):m}},function(g,o,t){g.exports=t(819)},function(g,o,t){var e=t(823);t(68),g.exports=e},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(35),l=t(175),u=t(176),h=t(824),_=t(98),m=t(85),b=t(94),T=t(825),D=t(826),R=t(124),j=t(827),H=t(38),z=t(828),U=H("toStringTag"),M=s.Error,I=[].push,J=function(ie,oe){var fe,ne=arguments.length>2?arguments[2]:void 0,he=a(B,this);u?fe=u(new M(void 0),he?l(this):B):(fe=he?this:_(B),m(fe,U,"Error")),m(fe,"message",j(oe,"")),z&&m(fe,"stack",T(fe.stack,1)),D(fe,ne);var ce=[];return R(ie,I,{that:ce}),m(fe,"errors",ce),fe};u?u(J,M):h(J,M);var B=J.prototype=_(M.prototype,{constructor:b(1,J),message:b(1,""),name:b(1,"AggregateError")});e({global:!0},{AggregateError:J})},function(g,o,t){var e=t(17);g.exports=e.Promise},function(g,o,t){"use strict";var e=t(58),s=t(63),a=t(38),l=t(48),u=a("species");g.exports=function(h){var _=e(h);l&&_&&!_[u]&&(0,s.f)(_,u,{configurable:!0,get:function(){return this}})}},function(g,o,t){var e=t(51),s=t(429),a=t(38)("species");g.exports=function(l,u){var h,_=e(l).constructor;return void 0===_||null==(h=e(_)[a])?u:s(h)}},function(g,o,t){var e=t(17),s=t(172),a=t(170),l=e.TypeError;g.exports=function(u){if(s(u))return u;throw l(a(u)+" is not a constructor")}},function(g,o,t){var e,s,a,l,u=t(17),h=t(93),_=t(84),m=t(41),b=t(44),T=t(33),D=t(335),R=t(86),j=t(214),H=t(431),z=t(177),U=u.setImmediate,M=u.clearImmediate,I=u.process,J=u.Dispatch,B=u.Function,ie=u.MessageChannel,oe=u.String,fe=0,ne={};try{e=u.location}catch(be){}var ce=function(be){if(b(ne,be)){var ue=ne[be];delete ne[be],ue()}},Ae=function(be){return function(){ce(be)}},Se=function(be){ce(be.data)},Oe=function(be){u.postMessage(oe(be),e.protocol+"//"+e.host)};U&&M||(U=function(be){var ue=R(arguments,1);return ne[++fe]=function(){h(m(be)?be:B(be),void 0,ue)},s(fe),fe},M=function(be){delete ne[be]},z?s=function(be){I.nextTick(Ae(be))}:J&&J.now?s=function(be){J.now(Ae(be))}:ie&&!H?(l=(a=new ie).port2,a.port1.onmessage=Se,s=_(l.postMessage,l)):u.addEventListener&&m(u.postMessage)&&!u.importScripts&&e&&"file:"!==e.protocol&&!T(Oe)?(s=Oe,u.addEventListener("message",Se,!1)):s="onreadystatechange"in j("script")?function(be){D.appendChild(j("script")).onreadystatechange=function(){D.removeChild(this),ce(be)}}:function(be){setTimeout(Ae(be),0)}),g.exports={set:U,clear:M}},function(g,o,t){var e=t(95);g.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(e)},function(g,o,t){var e=t(51),s=t(43),a=t(159);g.exports=function(l,u){if(e(l),s(u)&&u.constructor===l)return u;var h=a.f(l);return(0,h.resolve)(u),h.promise}},function(g,o,t){"use strict";var e=t(22),s=t(50),a=t(73),l=t(159),u=t(193),h=t(124);e({target:"Promise",stat:!0},{allSettled:function(_){var m=this,b=l.f(m),T=b.resolve,D=b.reject,R=u(function(){var j=a(m.resolve),H=[],z=0,U=1;h(_,function(M){var I=z++,J=!1;U++,s(j,m,M).then(function(B){J||(J=!0,H[I]={status:"fulfilled",value:B},--U||T(H))},function(B){J||(J=!0,H[I]={status:"rejected",reason:B},--U||T(H))})}),--U||T(H)});return R.error&&D(R.value),b.promise}})},function(g,o,t){"use strict";var e=t(22),s=t(73),a=t(58),l=t(50),u=t(159),h=t(193),_=t(124),m="No one promise resolved";e({target:"Promise",stat:!0},{any:function(b){var T=this,D=a("AggregateError"),R=u.f(T),j=R.resolve,H=R.reject,z=h(function(){var U=s(T.resolve),M=[],I=0,J=1,B=!1;_(b,function(ie){var oe=I++,fe=!1;J++,l(U,T,ie).then(function(ne){fe||B||(B=!0,j(ne))},function(ne){fe||B||(fe=!0,M[oe]=ne,--J||H(new D(M,m)))})}),--J||H(new D(M,m))});return z.error&&H(z.value),R.promise}})},function(g,o,t){var e=t(48),s=t(27),a=t(149),l=t(61),u=s(t(167).f),h=s([].push),_=function(m){return function(b){for(var T,D=l(b),R=a(D),j=R.length,H=0,z=[];j>H;)T=R[H++],e&&!u(D,T)||h(z,m?[T,D[T]]:D[T]);return z}};g.exports={entries:_(!0),values:_(!1)}},function(g,o,t){g.exports=t(859)},function(g,o,t){g.exports=t(863)},function(g,o,t){var e=t(178),s=t(881),a=t(235),l=t(882),u=t(883),h=t(360),_=t(363),m=t(884),b=t(885),T=t(394),D=t(440),R=t(155),j=t(886),H=t(887),z=t(364),U=t(52),M=t(152),I=t(891),J=t(53),B=t(893),ie=t(135),oe=t(153),fe="[object Arguments]",ne="[object Function]",he="[object Object]",ce={};ce[fe]=ce["[object Array]"]=ce["[object ArrayBuffer]"]=ce["[object DataView]"]=ce["[object Boolean]"]=ce["[object Date]"]=ce["[object Float32Array]"]=ce["[object Float64Array]"]=ce["[object Int8Array]"]=ce["[object Int16Array]"]=ce["[object Int32Array]"]=ce["[object Map]"]=ce["[object Number]"]=ce[he]=ce["[object RegExp]"]=ce["[object Set]"]=ce["[object String]"]=ce["[object Symbol]"]=ce["[object Uint8Array]"]=ce["[object Uint8ClampedArray]"]=ce["[object Uint16Array]"]=ce["[object Uint32Array]"]=!0,ce["[object Error]"]=ce[ne]=ce["[object WeakMap]"]=!1,g.exports=function Ae(Se,Oe,be,ue,He,$e){var F,je=1&Oe,Et=2&Oe,lt=4&Oe;if(be&&(F=He?be(Se,ue,He,$e):be(Se)),void 0!==F)return F;if(!J(Se))return Se;var nn=U(Se);if(nn){if(F=j(Se),!je)return _(Se,F)}else{var St=R(Se),Ot=St==ne||"[object GeneratorFunction]"==St;if(M(Se))return h(Se,je);if(St==he||St==fe||Ot&&!He){if(F=Et||Ot?{}:z(Se),!je)return Et?b(Se,u(F,Se)):m(Se,l(F,Se))}else{if(!ce[St])return He?Se:{};F=H(Se,St,je)}}$e||($e=new e);var Qe=$e.get(Se);if(Qe)return Qe;$e.set(Se,F),B(Se)?Se.forEach(function(ae){F.add(Ae(ae,Oe,be,ae,Se,$e))}):I(Se)&&Se.forEach(function(ae,Ie){F.set(Ie,Ae(ae,Oe,be,Ie,Se,$e))});var It=nn?void 0:(lt?Et?D:T:Et?oe:ie)(Se);return s(It||Se,function(ae,Ie){It&&(ae=Se[Ie=ae]),a(F,Ie,Ae(ae,Oe,be,Ie,Se,$e))}),F}},function(g,o,t){var e=t(240),s=t(231),a=t(241),l=t(396);g.exports=Object.getOwnPropertySymbols?function(h){for(var _=[];h;)e(_,a(h)),h=s(h);return _}:l},function(g,o,t){var e=t(395),s=t(439),a=t(153);g.exports=function(l){return e(l,a,s)}},function(g,o){g.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var s=0,a=new Array(e);s<e;s++)a[s]=t[s];return a},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){var t;t="undefined"!=typeof self?self:this,function(e){var s="URLSearchParams"in t,a="Symbol"in t&&"iterator"in Symbol,l="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(ne){return!1}}(),u="FormData"in t,h="ArrayBuffer"in t;if(h)var _=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],m=ArrayBuffer.isView||function(ne){return ne&&_.indexOf(Object.prototype.toString.call(ne))>-1};function b(ne){if("string"!=typeof ne&&(ne=String(ne)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(ne))throw new TypeError("Invalid character in header field name");return ne.toLowerCase()}function T(ne){return"string"!=typeof ne&&(ne=String(ne)),ne}function D(ne){var he={next:function(){var ce=ne.shift();return{done:void 0===ce,value:ce}}};return a&&(he[Symbol.iterator]=function(){return he}),he}function R(ne){this.map={},ne instanceof R?ne.forEach(function(he,ce){this.append(ce,he)},this):Array.isArray(ne)?ne.forEach(function(he){this.append(he[0],he[1])},this):ne&&Object.getOwnPropertyNames(ne).forEach(function(he){this.append(he,ne[he])},this)}function j(ne){if(ne.bodyUsed)return Promise.reject(new TypeError("Already read"));ne.bodyUsed=!0}function H(ne){return new Promise(function(he,ce){ne.onload=function(){he(ne.result)},ne.onerror=function(){ce(ne.error)}})}function z(ne){var he=new FileReader,ce=H(he);return he.readAsArrayBuffer(ne),ce}function U(ne){if(ne.slice)return ne.slice(0);var he=new Uint8Array(ne.byteLength);return he.set(new Uint8Array(ne)),he.buffer}function M(){return this.bodyUsed=!1,this._initBody=function(ne){var he;this._bodyInit=ne,ne?"string"==typeof ne?this._bodyText=ne:l&&Blob.prototype.isPrototypeOf(ne)?this._bodyBlob=ne:u&&FormData.prototype.isPrototypeOf(ne)?this._bodyFormData=ne:s&&URLSearchParams.prototype.isPrototypeOf(ne)?this._bodyText=ne.toString():h&&l&&(he=ne)&&DataView.prototype.isPrototypeOf(he)?(this._bodyArrayBuffer=U(ne.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):h&&(ArrayBuffer.prototype.isPrototypeOf(ne)||m(ne))?this._bodyArrayBuffer=U(ne):this._bodyText=ne=Object.prototype.toString.call(ne):this._bodyText="",this.headers.get("content-type")||("string"==typeof ne?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):s&&URLSearchParams.prototype.isPrototypeOf(ne)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},l&&(this.blob=function(){var ne=j(this);if(ne)return ne;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?j(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(z)}),this.text=function(){var ne,he,ce,Ae=j(this);if(Ae)return Ae;if(this._bodyBlob)return ne=this._bodyBlob,ce=H(he=new FileReader),he.readAsText(ne),ce;if(this._bodyArrayBuffer)return Promise.resolve(function(Se){for(var Oe=new Uint8Array(Se),be=new Array(Oe.length),ue=0;ue<Oe.length;ue++)be[ue]=String.fromCharCode(Oe[ue]);return be.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},u&&(this.formData=function(){return this.text().then(B)}),this.json=function(){return this.text().then(JSON.parse)},this}R.prototype.append=function(ne,he){ne=b(ne),he=T(he);var ce=this.map[ne];this.map[ne]=ce?ce+", "+he:he},R.prototype.delete=function(ne){delete this.map[b(ne)]},R.prototype.get=function(ne){return ne=b(ne),this.has(ne)?this.map[ne]:null},R.prototype.has=function(ne){return this.map.hasOwnProperty(b(ne))},R.prototype.set=function(ne,he){this.map[b(ne)]=T(he)},R.prototype.forEach=function(ne,he){for(var ce in this.map)this.map.hasOwnProperty(ce)&&ne.call(he,this.map[ce],ce,this)},R.prototype.keys=function(){var ne=[];return this.forEach(function(he,ce){ne.push(ce)}),D(ne)},R.prototype.values=function(){var ne=[];return this.forEach(function(he){ne.push(he)}),D(ne)},R.prototype.entries=function(){var ne=[];return this.forEach(function(he,ce){ne.push([ce,he])}),D(ne)},a&&(R.prototype[Symbol.iterator]=R.prototype.entries);var I=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function J(ne,he){var ce,Ae,Se=(he=he||{}).body;if(ne instanceof J){if(ne.bodyUsed)throw new TypeError("Already read");this.url=ne.url,this.credentials=ne.credentials,he.headers||(this.headers=new R(ne.headers)),this.method=ne.method,this.mode=ne.mode,this.signal=ne.signal,Se||null==ne._bodyInit||(Se=ne._bodyInit,ne.bodyUsed=!0)}else this.url=String(ne);if(this.credentials=he.credentials||this.credentials||"same-origin",!he.headers&&this.headers||(this.headers=new R(he.headers)),this.method=(Ae=(ce=he.method||this.method||"GET").toUpperCase(),I.indexOf(Ae)>-1?Ae:ce),this.mode=he.mode||this.mode||null,this.signal=he.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&Se)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(Se)}function B(ne){var he=new FormData;return ne.trim().split("&").forEach(function(ce){if(ce){var Ae=ce.split("="),Se=Ae.shift().replace(/\+/g," "),Oe=Ae.join("=").replace(/\+/g," ");he.append(decodeURIComponent(Se),decodeURIComponent(Oe))}}),he}function ie(ne,he){he||(he={}),this.type="default",this.status=void 0===he.status?200:he.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in he?he.statusText:"OK",this.headers=new R(he.headers),this.url=he.url||"",this._initBody(ne)}J.prototype.clone=function(){return new J(this,{body:this._bodyInit})},M.call(J.prototype),M.call(ie.prototype),ie.prototype.clone=function(){return new ie(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new R(this.headers),url:this.url})},ie.error=function(){var ne=new ie(null,{status:0,statusText:""});return ne.type="error",ne};var oe=[301,302,303,307,308];ie.redirect=function(ne,he){if(-1===oe.indexOf(he))throw new RangeError("Invalid status code");return new ie(null,{status:he,headers:{location:ne}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(ne){e.DOMException=function(he,ce){this.message=he,this.name=ce;var Ae=Error(he);this.stack=Ae.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function fe(ne,he){return new Promise(function(ce,Ae){var Se=new J(ne,he);if(Se.signal&&Se.signal.aborted)return Ae(new e.DOMException("Aborted","AbortError"));var Oe=new XMLHttpRequest;function be(){Oe.abort()}Oe.onload=function(){var ue,He,$e={status:Oe.status,statusText:Oe.statusText,headers:(ue=Oe.getAllResponseHeaders()||"",He=new R,ue.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(je){var Et=je.split(":"),lt=Et.shift().trim();if(lt){var nn=Et.join(":").trim();He.append(lt,nn)}}),He)};$e.url="responseURL"in Oe?Oe.responseURL:$e.headers.get("X-Request-URL"),ce(new ie("response"in Oe?Oe.response:Oe.responseText,$e))},Oe.onerror=function(){Ae(new TypeError("Network request failed"))},Oe.ontimeout=function(){Ae(new TypeError("Network request failed"))},Oe.onabort=function(){Ae(new e.DOMException("Aborted","AbortError"))},Oe.open(Se.method,Se.url,!0),"include"===Se.credentials?Oe.withCredentials=!0:"omit"===Se.credentials&&(Oe.withCredentials=!1),"responseType"in Oe&&l&&(Oe.responseType="blob"),Se.headers.forEach(function(ue,He){Oe.setRequestHeader(He,ue)}),Se.signal&&(Se.signal.addEventListener("abort",be),Oe.onreadystatechange=function(){4===Oe.readyState&&Se.signal.removeEventListener("abort",be)}),Oe.send(void 0===Se._bodyInit?null:Se._bodyInit)})}fe.polyfill=!0,t.fetch||(t.fetch=fe,t.Headers=R,t.Request=J,t.Response=ie),e.Headers=R,e.Request=J,e.Response=ie,e.fetch=fe,Object.defineProperty(e,"__esModule",{value:!0})}({})},function(g,o,t){"use strict";var e=t(252),s=Object.prototype.hasOwnProperty,a=Array.isArray,l=function(){for(var h=[],_=0;_<256;++_)h.push("%"+((_<16?"0":"")+_.toString(16)).toUpperCase());return h}(),u=function(h,_){for(var m=_&&_.plainObjects?Object.create(null):{},b=0;b<h.length;++b)void 0!==h[b]&&(m[b]=h[b]);return m};g.exports={arrayToObject:u,assign:function(h,_){return Object.keys(_).reduce(function(m,b){return m[b]=_[b],m},h)},combine:function(h,_){return[].concat(h,_)},compact:function(h){for(var _=[{obj:{o:h},prop:"o"}],m=[],b=0;b<_.length;++b)for(var T=_[b],D=T.obj[T.prop],R=Object.keys(D),j=0;j<R.length;++j){var H=R[j],z=D[H];"object"==typeof z&&null!==z&&-1===m.indexOf(z)&&(_.push({obj:D,prop:H}),m.push(z))}return function(U){for(;U.length>1;){var M=U.pop(),I=M.obj[M.prop];if(a(I)){for(var J=[],B=0;B<I.length;++B)void 0!==I[B]&&J.push(I[B]);M.obj[M.prop]=J}}}(_),h},decode:function(h,_,m){var b=h.replace(/\+/g," ");if("iso-8859-1"===m)return b.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(b)}catch(T){return b}},encode:function(h,_,m,b,T){if(0===h.length)return h;var D=h;if("symbol"==typeof h?D=Symbol.prototype.toString.call(h):"string"!=typeof h&&(D=String(h)),"iso-8859-1"===m)return escape(D).replace(/%u[0-9a-f]{4}/gi,function(z){return"%26%23"+parseInt(z.slice(2),16)+"%3B"});for(var R="",j=0;j<D.length;++j){var H=D.charCodeAt(j);45===H||46===H||95===H||126===H||H>=48&&H<=57||H>=65&&H<=90||H>=97&&H<=122||T===e.RFC1738&&(40===H||41===H)?R+=D.charAt(j):H<128?R+=l[H]:H<2048?R+=l[192|H>>6]+l[128|63&H]:H<55296||H>=57344?R+=l[224|H>>12]+l[128|H>>6&63]+l[128|63&H]:(H=65536+((1023&H)<<10|1023&D.charCodeAt(j+=1)),R+=l[240|H>>18]+l[128|H>>12&63]+l[128|H>>6&63]+l[128|63&H])}return R},isBuffer:function(h){return!(!h||"object"!=typeof h||!(h.constructor&&h.constructor.isBuffer&&h.constructor.isBuffer(h)))},isRegExp:function(h){return"[object RegExp]"===Object.prototype.toString.call(h)},maybeMap:function(h,_){if(a(h)){for(var m=[],b=0;b<h.length;b+=1)m.push(_(h[b]));return m}return _(h)},merge:function h(_,m,b){if(!m)return _;if("object"!=typeof m){if(a(_))_.push(m);else{if(!_||"object"!=typeof _)return[_,m];(b&&(b.plainObjects||b.allowPrototypes)||!s.call(Object.prototype,m))&&(_[m]=!0)}return _}if(!_||"object"!=typeof _)return[_].concat(m);var T=_;return a(_)&&!a(m)&&(T=u(_,b)),a(_)&&a(m)?(m.forEach(function(D,R){if(s.call(_,R)){var j=_[R];j&&"object"==typeof j&&D&&"object"==typeof D?_[R]=h(j,D,b):_.push(D)}else _[R]=D}),_):Object.keys(m).reduce(function(D,R){var j=m[R];return D[R]=s.call(D,R)?h(D[R],j,b):j,D},T)}}},function(g,o,t){var e=t(33),s=t(43),a=t(112),l=t(941),u=Object.isExtensible,h=e(function(){u(1)});g.exports=h||l?function(_){return!!s(_)&&(!l||"ArrayBuffer"!=a(_))&&(!u||u(_))}:u},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(194),l=t(33),u=t(85),h=t(124),_=t(139),m=t(41),b=t(43),T=t(100),D=t(63).f,R=t(87).forEach,j=t(48),H=t(76),z=H.set,U=H.getterFor;g.exports=function(M,I,J){var B,ie=-1!==M.indexOf("Map"),oe=-1!==M.indexOf("Weak"),fe=ie?"set":"add",ne=s[M],he=ne&&ne.prototype,ce={};if(j&&m(ne)&&(oe||he.forEach&&!l(function(){(new ne).entries().next()}))){var Ae=(B=I(function(Oe,be){z(_(Oe,Ae),{type:M,collection:new ne}),null!=be&&h(be,Oe[fe],{that:Oe,AS_ENTRIES:ie})})).prototype,Se=U(M);R(["add","clear","delete","forEach","get","has","set","keys","values","entries"],function(Oe){var be="add"==Oe||"set"==Oe;!(Oe in he)||oe&&"clear"==Oe||u(Ae,Oe,function(ue,He){var $e=Se(this).collection;if(!be&&oe&&!b(ue))return"get"==Oe&&void 0;var F=$e[Oe](0===ue?0:ue,He);return be?this:F})}),oe||D(Ae,"size",{configurable:!0,get:function(){return Se(this).collection.size}})}else B=J.getConstructor(I,M,ie,fe),a.enable();return T(B,M,!1,!0),ce[M]=B,e({global:!0,forced:!0},ce),oe||J.setStrong(B,M,ie),B}},function(g,o,t){var e=t(33),s=t(38),a=t(96),l=s("iterator");g.exports=!e(function(){var u=new URL("b?a=1&b=2&c=3","http://a"),h=u.searchParams,_="";return u.pathname="c%20d",h.forEach(function(m,b){h.delete("b"),_+=b+m}),a&&!u.toJSON||!h.sort||"http://a/c%20d?a=1&c=3"!==u.href||"3"!==h.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!h[l]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://\u0442\u0435\u0441\u0442").host||"#%D0%B1"!==new URL("http://a#\u0431").hash||"a1c3"!==_||"x"!==new URL("http://x",void 0).host})},function(g,o){g.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwcHgiICBoZWlnaHQ9IjIwMHB4IiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIGNsYXNzPSJsZHMtcm9sbGluZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWwgaW5pdGlhbDsgYmFja2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDsiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIGZpbGw9Im5vbmUiIG5nLWF0dHItc3Ryb2tlPSJ7e2NvbmZpZy5jb2xvcn19IiBuZy1hdHRyLXN0cm9rZS13aWR0aD0ie3tjb25maWcud2lkdGh9fSIgbmctYXR0ci1yPSJ7e2NvbmZpZy5yYWRpdXN9fSIgbmctYXR0ci1zdHJva2UtZGFzaGFycmF5PSJ7e2NvbmZpZy5kYXNoYXJyYXl9fSIgc3Ryb2tlPSIjNTU1NTU1IiBzdHJva2Utd2lkdGg9IjEwIiByPSIzNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4Ij48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgY2FsY01vZGU9ImxpbmVhciIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCIga2V5VGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49IjBzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlVHJhbnNmb3JtPjwvY2lyY2xlPjwvc3ZnPgo="},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.combineReducers=void 0;var e,a=(e=t(556))&&e.__esModule?e:{default:e};o.combineReducers=a.default},function(g,o,t){var e=t(560),s=t(600)(function(a,l,u){e(a,l,u)});g.exports=s},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.sanitizeUrl=void 0;var e=/^([^\w]*)(javascript|data|vbscript)/im,s=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,a=/^([^:]+):/gm,l=[".","/"];o.sanitizeUrl=function(u){if(!u)return"about:blank";var h=u.replace(s,"").trim();if(l.indexOf(h[0])>-1)return h;var _=h.match(a);return _&&e.test(_[0])?"about:blank":h}},function(g,o,t){var e=t(661),s=t(668)(function(a,l,u){return l=l.toLowerCase(),a+(u?e(l):l)});g.exports=s},function(g,o,t){var e=t(676)(t(704));g.exports=e},function(g,o,t){(function(e){var s=t(713),a=t(714).Stream;function l(h,_,m){m=m||0;var b,T,D=(b=_,new Array(m||0).join(b||"")),R=h;if("object"==typeof h&&(R=h[T=Object.keys(h)[0]])&&R._elem)return R._elem.name=T,R._elem.icount=m,R._elem.indent=_,R._elem.indents=D,R._elem.interrupt=R,R._elem;var j,H=[],z=[];function U(M){Object.keys(M).forEach(function(I){H.push(I+'="'+s(M[I])+'"')})}switch(typeof R){case"object":if(null===R)break;R._attr&&U(R._attr),R._cdata&&z.push(("<![CDATA["+R._cdata).replace(/\]\]>/g,"]]]]><![CDATA[>")+"]]>"),R.forEach&&(j=!1,z.push(""),R.forEach(function(M){"object"==typeof M?"_attr"==Object.keys(M)[0]?U(M._attr):z.push(l(M,_,m+1)):(z.pop(),j=!0,z.push(s(M)))}),j||z.push(""));break;default:z.push(s(R))}return{name:T,interrupt:!1,attributes:H,content:z,icount:m,indents:D,indent:_}}function u(h,_,m){if("object"!=typeof _)return h(!1,_);var b=_.interrupt?1:_.content.length;function T(){for(;_.content.length;){var R=_.content.shift();if(void 0!==R){if(D(R))return;u(h,R)}}h(!1,(b>1?_.indents:"")+(_.name?"</"+_.name+">":"")+(_.indent&&!m?"\n":"")),m&&m()}function D(R){return!!R.interrupt&&(R.interrupt.append=h,R.interrupt.end=T,R.interrupt=!1,h(!0),!0)}if(h(!1,_.indents+(_.name?"<"+_.name:"")+(_.attributes.length?" "+_.attributes.join(" "):"")+(b?_.name?">":"":_.name?"/>":"")+(_.indent&&b>1?"\n":"")),!b)return h(!1,_.indent?"\n":"");D(_)||T()}g.exports=function(h,_){"object"!=typeof _&&(_={indent:_});var m,b,T=_.stream?new a:null,D="",R=!1,j=_.indent?!0===_.indent?" ":_.indent:"",H=!0;function z(J){H?e.nextTick(J):J()}function U(J,B){if(void 0!==B&&(D+=B),J&&!R&&(T=T||new a,R=!0),J&&R){var ie=D;z(function(){T.emit("data",ie)}),D=""}}function M(J,B){u(U,l(J,j,j?1:0),B)}function I(){if(T){var J=D;z(function(){T.emit("data",J),T.emit("end"),T.readable=!1,T.emit("close")})}}return z(function(){H=!1}),_.declaration&&(b={version:"1.0",encoding:(m=_.declaration).encoding||"UTF-8"},m.standalone&&(b.standalone=m.standalone),M({"?xml":{_attr:b}}),D=D.replace("/>","?>")),h&&h.forEach?h.forEach(function(J,B){var ie;B+1===h.length&&(ie=I),M(J,ie)}):M(h,I),T?(T.readable=!0,T):D},g.exports.element=g.exports.Element=function(){var h=Array.prototype.slice.call(arguments),_={_elem:l(h),push:function(m){if(!this.append)throw new Error("not assigned to a parent!");var b=this,T=this._elem.indent;u(this.append,l(m,T,this._elem.icount+(T?1:0)),function(){b.append(!0)})},close:function(m){void 0!==m&&this.push(m),this.end&&this.end()}};return _}}).call(this,t(118))},function(g,o,t){(function(e){g.exports=function(a){if(a.CSS&&a.CSS.escape)return a.CSS.escape;var l=function(u){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var h,_=String(u),m=_.length,b=-1,T="",D=_.charCodeAt(0);++b<m;)0!=(h=_.charCodeAt(b))?T+=h>=1&&h<=31||127==h||0==b&&h>=48&&h<=57||1==b&&h>=48&&h<=57&&45==D?"\\"+h.toString(16)+" ":0==b&&1==m&&45==h||!(h>=128||45==h||95==h||h>=48&&h<=57||h>=65&&h<=90||h>=97&&h<=122)?"\\"+_.charAt(b):_.charAt(b):T+="\ufffd";return T};return a.CSS||(a.CSS={}),a.CSS.escape=l,l}(void 0!==e?e:this)}).call(this,t(57))},function(g,o,t){(o=g.exports=function(e){e=e.toLowerCase();var s=o[e];if(!s)throw new Error(e+" is not supported (we accept pull requests)");return new s}).sha=t(787),o.sha1=t(788),o.sha224=t(789),o.sha256=t(418),o.sha384=t(790),o.sha512=t(419)},function(g,o,t){var e=t(390),s=t(401),a=t(189),l=t(795),u=t(52);g.exports=function(h,_,m){var b=u(h)?e:l,T=arguments.length<3;return b(h,a(_,4),m,T,s)}},function(g,o,t){var e=t(116),s=t(52),a=t(78);g.exports=function(l){return"string"==typeof l||!s(l)&&a(l)&&"[object String]"==e(l)}},function(g,o,t){var e=t(53),s=t(849),a=t(400),l=Math.max,u=Math.min;g.exports=function(h,_,m){var b,T,D,R,j,H,z=0,U=!1,M=!1,I=!0;if("function"!=typeof h)throw new TypeError("Expected a function");function J(he){var ce=b,Ae=T;return b=T=void 0,z=he,R=h.apply(Ae,ce)}function B(he){return z=he,j=setTimeout(oe,_),U?J(he):R}function ie(he){var ce=he-H;return void 0===H||ce>=_||ce<0||M&&he-z>=D}function oe(){var ce,Ae,he=s();if(ie(he))return fe(he);j=setTimeout(oe,(Ae=_-((ce=he)-H),M?u(Ae,D-(ce-z)):Ae))}function fe(he){return j=void 0,I&&b?J(he):(b=T=void 0,R)}function ne(){var he=s(),ce=ie(he);if(b=arguments,T=this,H=he,ce){if(void 0===j)return B(H);if(M)return clearTimeout(j),j=setTimeout(oe,_),J(H)}return void 0===j&&(j=setTimeout(oe,_)),R}return _=a(_)||0,e(m)&&(U=!!m.leading,D=(M="maxWait"in m)?l(a(m.maxWait)||0,_):D,I="trailing"in m?!!m.trailing:I),ne.cancel=function(){void 0!==j&&clearTimeout(j),z=0,b=H=T=j=void 0},ne.flush=function(){return void 0===j?R:fe(s())},ne}},function(g,o,t){var e=t(387),s=t(438),a=t(895),l=t(156),u=t(134),h=t(898),_=t(899),m=t(440),b=_(function(T,D){var R={};if(null==T)return R;var j=!1;D=e(D,function(z){return z=l(z,T),j||(j=z.length>1),z}),u(T,m(T),R),j&&(R=s(R,7,h));for(var H=D.length;H--;)a(R,D[H]);return R});g.exports=b},function(g,o,t){g.exports=t(903)},function(g,o,t){var e=t(914);g.exports=function(s,a){if(null==s)return{};var l,u,h=e(s,a);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(s);for(u=0;u<_.length;u++)a.indexOf(l=_[u])>=0||Object.prototype.propertyIsEnumerable.call(s,l)&&(h[l]=s[l])}return h},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(915),s=t(916),a=t(917),l=t(918);g.exports=function(u){return e(u)||s(u)||a(u)||l()},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){function t(){return g.exports=t=Object.assign||function(e){for(var s=1;s<arguments.length;s++){var a=arguments[s];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},g.exports.default=g.exports,g.exports.__esModule=!0,t.apply(this,arguments)}g.exports=t,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(t){const e={literal:"true false null"},s=[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],a=[t.QUOTE_STRING_MODE,t.C_NUMBER_MODE],l={end:",",endsWithParent:!0,excludeEnd:!0,contains:a,keywords:e},u={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE],illegal:"\\n"},t.inherit(l,{begin:/:/})].concat(s),illegal:"\\S"},h={begin:"\\[",end:"\\]",contains:[t.inherit(l)],illegal:"\\S"};return a.push(u,h),s.forEach(function(_){a.push(_)}),{name:"JSON",contains:a,keywords:e,illegal:"\\S"}}},function(g,o){const t="[A-Za-z$_][0-9A-Za-z$_]*",e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],s=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function l(h){return u("(?=",h,")")}function u(...h){return h.map(_=>{return(m=_)?"string"==typeof m?m:m.source:null;var m}).join("")}g.exports=function(h){const _=t,T={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ne,he)=>{const ce=ne[0].length+ne.index,Ae=ne.input[ce];"<"!==Ae?">"===Ae&&(((Se,{after:Oe})=>{const be="</"+Se[0].slice(1);return-1!==Se.input.indexOf(be,Oe)})(ne,{after:ce})||he.ignoreMatch()):he.ignoreMatch()}},D={$pattern:t,keyword:e,literal:s,built_in:a},R="\\.([0-9](_?[0-9])*)",j="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",H={className:"number",variants:[{begin:`(\\b(${j})((${R})|\\.)?|(${R}))[eE][+-]?([0-9](_?[0-9])*)\\b`},{begin:`\\b(${j})\\b((${R})\\b|\\.)?|(${R})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},z={className:"subst",begin:"\\$\\{",end:"\\}",keywords:D,contains:[]},U={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[h.BACKSLASH_ESCAPE,z],subLanguage:"xml"}},M={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[h.BACKSLASH_ESCAPE,z],subLanguage:"css"}},I={className:"string",begin:"`",end:"`",contains:[h.BACKSLASH_ESCAPE,z]},J={className:"comment",variants:[h.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:_+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),h.C_BLOCK_COMMENT_MODE,h.C_LINE_COMMENT_MODE]},B=[h.APOS_STRING_MODE,h.QUOTE_STRING_MODE,U,M,I,H,h.REGEXP_MODE];z.contains=B.concat({begin:/\{/,end:/\}/,keywords:D,contains:["self"].concat(B)});const ie=[].concat(J,z.contains),oe=ie.concat([{begin:/\(/,end:/\)/,keywords:D,contains:["self"].concat(ie)}]),fe={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:D,contains:oe};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:D,exports:{PARAMS_CONTAINS:oe},illegal:/#(?![$_A-z])/,contains:[h.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},h.APOS_STRING_MODE,h.QUOTE_STRING_MODE,U,M,I,J,H,{begin:u(/[{,\n]\s*/,l(u(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,_+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:_+l("\\s*:"),relevance:0}]},{begin:"("+h.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[J,h.REGEXP_MODE,{className:"function",begin:"(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+h.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:h.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:D,contains:oe}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:"</>"},{begin:T.begin,"on:begin":T.isTrulyOpeningTag,end:T.end}],subLanguage:"xml",contains:[{begin:T.begin,end:T.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:D,contains:["self",h.inherit(h.TITLE_MODE,{begin:_}),fe],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:h.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[fe,h.inherit(h.TITLE_MODE,{begin:_})]},{variants:[{begin:"\\."+_},{begin:"\\$"+_}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},h.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[h.inherit(h.TITLE_MODE,{begin:_}),"self",fe]},{begin:"(get|set)\\s+(?="+_+"\\()",end:/\{/,keywords:"get set",contains:[h.inherit(h.TITLE_MODE,{begin:_}),{begin:/\(\)/},fe]},{begin:/\$[(.]/}]}}},function(g,o){function t(l){return l?"string"==typeof l?l:l.source:null}function e(l){return s("(?=",l,")")}function s(...l){return l.map(u=>t(u)).join("")}function a(...l){return"("+l.map(u=>t(u)).join("|")+")"}g.exports=function(l){const u=s(/[A-Z_]/,s("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),h={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},_={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},m=l.inherit(_,{begin:/\(/,end:/\)/}),b=l.inherit(l.APOS_STRING_MODE,{className:"meta-string"}),T=l.inherit(l.QUOTE_STRING_MODE,{className:"meta-string"}),D={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[h]},{begin:/'/,end:/'/,contains:[h]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[_,T,b,m,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[_,m,T,b]}]}]},l.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},h,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[D],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[D],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:s(/</,e(s(u,a(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:u,relevance:0,starts:D}]},{className:"tag",begin:s(/<\//,e(s(u,/>/))),contains:[{className:"name",begin:u,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},function(g,o){g.exports=function(t){var e="true false yes no null",s="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},l=t.inherit(a,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+s},{className:"type",begin:"!<"+s+">"},{className:"type",begin:"!"+s},{className:"type",begin:"!!"+s},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[h],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[h],illegal:"\\n",relevance:0},a],T=[...b];return T.pop(),T.push(l),h.contains=T,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:b}}},function(g,o){function t(...e){return e.map(s=>{return(a=s)?"string"==typeof a?a:a.source:null;var a}).join("")}g.exports=function(e){const s="HTTP/(2|1\\.[01])",a={className:"attribute",begin:t("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},l=[a,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+s+" \\d{3})",end:/$/,contains:[{className:"meta",begin:s},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:l}},{begin:"(?=^[A-Z]+ (.*?) "+s+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:s},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:l}},e.inherit(a,{relevance:0})]}}},function(g,o){function t(...e){return e.map(s=>{return(a=s)?"string"==typeof a?a:a.source:null;var a}).join("")}g.exports=function(e){const s={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:t(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const l={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},u={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},h={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,l]};l.contains.push(h);const _={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},m=e.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[m,e.SHEBANG(),b,_,e.HASH_COMMENT_MODE,u,h,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}},function(g,o){g.exports=function(t){const e={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},s={begin:"`[\\s\\S]",relevance:0},a={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},l={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[s,a,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},u={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},h=t.inherit(t.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),_={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},m={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[t.TITLE_MODE]},b={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[a]}]},T={begin:/using\s/,end:/$/,returnBegin:!0,contains:[l,u,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},D={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},R={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(e.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},t.inherit(t.TITLE_MODE,{endsParent:!0})]},j=[R,h,s,t.NUMBER_MODE,l,u,_,a,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],H={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",j,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return R.contains.unshift(H),{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:!0,keywords:e,contains:j.concat(m,b,T,D,H)}}},function(g,o,t){var e=t(438);g.exports=function(s){return e(s,5)}},function(g,o,t){g.exports=t(938)},function(g,o){var t=g.exports=function(b){return new e(b)};function e(b){this.value=b}function s(b,T,D){var R=[],j=[],H=!0;return function z(U){var M=D?a(U):U,I={},J=!0,B={node:M,node_:U,path:[].concat(R),parent:j[j.length-1],parents:j,key:R.slice(-1)[0],isRoot:0===R.length,level:R.length,circular:null,update:function(fe,ne){B.isRoot||(B.parent.node[B.key]=fe),B.node=fe,ne&&(J=!1)},delete:function(fe){delete B.parent.node[B.key],fe&&(J=!1)},remove:function(fe){h(B.parent.node)?B.parent.node.splice(B.key,1):delete B.parent.node[B.key],fe&&(J=!1)},keys:null,before:function(fe){I.before=fe},after:function(fe){I.after=fe},pre:function(fe){I.pre=fe},post:function(fe){I.post=fe},stop:function(){H=!1},block:function(){J=!1}};if(!H)return B;function ie(){if("object"==typeof B.node&&null!==B.node){B.keys&&B.node_===B.node||(B.keys=l(B.node)),B.isLeaf=0==B.keys.length;for(var fe=0;fe<j.length;fe++)if(j[fe].node_===U){B.circular=j[fe];break}}else B.isLeaf=!0,B.keys=null;B.notLeaf=!B.isLeaf,B.notRoot=!B.isRoot}ie();var oe=T.call(B,B.node);return void 0!==oe&&B.update&&B.update(oe),I.before&&I.before.call(B,B.node),J&&("object"!=typeof B.node||null===B.node||B.circular||(j.push(B),ie(),_(B.keys,function(fe,ne){R.push(fe),I.pre&&I.pre.call(B,B.node[fe],fe);var he=z(B.node[fe]);D&&m.call(B.node,fe)&&(B.node[fe]=he.node),he.isLast=ne==B.keys.length-1,he.isFirst=0==ne,I.post&&I.post.call(B,he),R.pop()}),j.pop()),I.after&&I.after.call(B,B.node)),B}(b).node}function a(b){if("object"==typeof b&&null!==b){var T;if(h(b))T=[];else if("[object Date]"===u(b))T=new Date(b.getTime?b.getTime():b);else if("[object RegExp]"===u(b))T=new RegExp(b);else if("[object Error]"===u(b))T={message:b.message};else if(function(j){return"[object Boolean]"===u(j)}(b))T=new Boolean(b);else if(function(j){return"[object Number]"===u(j)}(b))T=new Number(b);else if(function(j){return"[object String]"===u(j)}(b))T=new String(b);else if(Object.create&&Object.getPrototypeOf)T=Object.create(Object.getPrototypeOf(b));else if(b.constructor===Object)T={};else{var R=function(){};R.prototype=b.constructor&&b.constructor.prototype||b.__proto__||{},T=new R}return _(l(b),function(j){T[j]=b[j]}),T}return b}e.prototype.get=function(b){for(var T=this.value,D=0;D<b.length;D++){var R=b[D];if(!T||!m.call(T,R)){T=void 0;break}T=T[R]}return T},e.prototype.has=function(b){for(var T=this.value,D=0;D<b.length;D++){var R=b[D];if(!T||!m.call(T,R))return!1;T=T[R]}return!0},e.prototype.set=function(b,T){for(var D=this.value,R=0;R<b.length-1;R++){var j=b[R];m.call(D,j)||(D[j]={}),D=D[j]}return D[b[R]]=T,T},e.prototype.map=function(b){return s(this.value,b,!0)},e.prototype.forEach=function(b){return this.value=s(this.value,b,!1),this.value},e.prototype.reduce=function(b,T){var D=1===arguments.length,R=D?this.value:T;return this.forEach(function(j){this.isRoot&&D||(R=b.call(this,R,j))}),R},e.prototype.paths=function(){var b=[];return this.forEach(function(T){b.push(this.path)}),b},e.prototype.nodes=function(){var b=[];return this.forEach(function(T){b.push(this.node)}),b},e.prototype.clone=function(){var b=[],T=[];return function D(R){for(var j=0;j<b.length;j++)if(b[j]===R)return T[j];if("object"==typeof R&&null!==R){var H=a(R);return b.push(R),T.push(H),_(l(R),function(z){H[z]=D(R[z])}),b.pop(),T.pop(),H}return R}(this.value)};var l=Object.keys||function(b){var T=[];for(var D in b)T.push(D);return T};function u(b){return Object.prototype.toString.call(b)}var h=Array.isArray||function(b){return"[object Array]"===Object.prototype.toString.call(b)},_=function(b,T){if(b.forEach)return b.forEach(T);for(var D=0;D<b.length;D++)T(b[D],D,b)};_(l(e.prototype),function(b){t[b]=function(T){var D=[].slice.call(arguments,1),R=new e(T);return R[b].apply(R,D)}});var m=Object.hasOwnProperty||function(b,T){return T in b}},function(g,o,t){"use strict";o.parse=function(h,_){if("string"!=typeof h)throw new TypeError("argument str must be a string");for(var m={},b=_||{},T=h.split(a),D=b.decode||e,R=0;R<T.length;R++){var j=T[R],H=j.indexOf("=");if(!(H<0)){var z=j.substr(0,H).trim(),U=j.substr(++H,j.length).trim();'"'==U[0]&&(U=U.slice(1,-1)),null==m[z]&&(m[z]=u(U,D))}}return m},o.serialize=function(h,_,m){var b=m||{},T=b.encode||s;if("function"!=typeof T)throw new TypeError("option encode is invalid");if(!l.test(h))throw new TypeError("argument name is invalid");var D=T(_);if(D&&!l.test(D))throw new TypeError("argument val is invalid");var R=h+"="+D;if(null!=b.maxAge){var j=b.maxAge-0;if(isNaN(j)||!isFinite(j))throw new TypeError("option maxAge is invalid");R+="; Max-Age="+Math.floor(j)}if(b.domain){if(!l.test(b.domain))throw new TypeError("option domain is invalid");R+="; Domain="+b.domain}if(b.path){if(!l.test(b.path))throw new TypeError("option path is invalid");R+="; Path="+b.path}if(b.expires){if("function"!=typeof b.expires.toUTCString)throw new TypeError("option expires is invalid");R+="; Expires="+b.expires.toUTCString()}if(b.httpOnly&&(R+="; HttpOnly"),b.secure&&(R+="; Secure"),b.sameSite)switch("string"==typeof b.sameSite?b.sameSite.toLowerCase():b.sameSite){case!0:R+="; SameSite=Strict";break;case"lax":R+="; SameSite=Lax";break;case"strict":R+="; SameSite=Strict";break;case"none":R+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return R};var e=decodeURIComponent,s=encodeURIComponent,a=/; */,l=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function u(h,_){try{return _(h)}catch(m){return h}}},function(g,o,t){var e,s,a;s=[],void 0===(a="function"==typeof(e=function(){"use strict";var l=function(R){return R&&"getComputedStyle"in window&&"smooth"===window.getComputedStyle(R)["scroll-behavior"]};if("undefined"==typeof window||!("document"in window))return{};var u=function(R,j,H){var z;j=j||999,H||0===H||(H=9);var U=function(fe){z=fe},M=function(){clearTimeout(z),U(0)},I=function(fe){return Math.max(0,R.getTopOf(fe)-H)},J=function(fe,ne,he){if(M(),0===ne||ne&&ne<0||l(R.body))R.toY(fe),he&&he();else{var ce=R.getY(),Ae=Math.max(0,fe)-ce,Se=(new Date).getTime();ne=ne||Math.min(Math.abs(Ae),j),function Oe(){U(setTimeout(function(){var be=Math.min(1,((new Date).getTime()-Se)/ne),ue=Math.max(0,Math.floor(ce+Ae*(be<.5?2*be*be:be*(4-2*be)-1)));R.toY(ue),be<1&&R.getHeight()+ue<R.body.scrollHeight?Oe():(setTimeout(M,99),he&&he())},9))}()}},B=function(fe,ne,he){J(I(fe),ne,he)};return{setup:function(fe,ne){return(0===fe||fe)&&(j=fe),(0===ne||ne)&&(H=ne),{defaultDuration:j,edgeOffset:H}},to:B,toY:J,intoView:function(fe,ne,he){var ce=fe.getBoundingClientRect().height,Ae=R.getTopOf(fe)+ce,Se=R.getHeight(),Oe=R.getY(),be=Oe+Se;I(fe)<Oe||ce+H>Se?B(fe,ne,he):Ae+H>be?J(Ae-Se+H,ne,he):he&&he()},center:function(fe,ne,he,ce){J(Math.max(0,R.getTopOf(fe)-R.getHeight()/2+(he||fe.getBoundingClientRect().height/2)),ne,ce)},stop:M,moving:function(){return!!z},getY:R.getY,getTopOf:R.getTopOf}},h=document.documentElement,_=function(){return window.scrollY||h.scrollTop},m=u({body:document.scrollingElement||document.body,toY:function(R){window.scrollTo(0,R)},getY:_,getHeight:function(){return window.innerHeight||h.clientHeight},getTopOf:function(R){return R.getBoundingClientRect().top+_()-h.offsetTop}});if(m.createScroller=function(R,j,H){return u({body:R,toY:function(z){R.scrollTop=z},getY:function(){return R.scrollTop},getHeight:function(){return Math.min(R.clientHeight,window.innerHeight||h.clientHeight)},getTopOf:function(z){return z.offsetTop}},j,H)},"addEventListener"in window&&!window.noZensmooth&&!l(document.body)){var b="history"in window&&"pushState"in history,T=b&&"scrollRestoration"in history;T&&(history.scrollRestoration="auto"),window.addEventListener("load",function(){T&&(setTimeout(function(){history.scrollRestoration="manual"},9),window.addEventListener("popstate",function(R){R.state&&"zenscrollY"in R.state&&m.toY(R.state.zenscrollY)},!1)),window.location.hash&&setTimeout(function(){var R=m.setup().edgeOffset;if(R){var j=document.getElementById(window.location.href.split("#")[1]);if(j){var H=Math.max(0,m.getTopOf(j)-R),z=m.getY()-H;0<=z&&z<9&&window.scrollTo(0,H)}}},9)},!1);var D=new RegExp("(^|\\s)noZensmooth(\\s|$)");window.addEventListener("click",function(R){for(var j=R.target;j&&"A"!==j.tagName;)j=j.parentNode;if(!(!j||1!==R.which||R.shiftKey||R.metaKey||R.ctrlKey||R.altKey)){if(T){var H=history.state&&"object"==typeof history.state?history.state:{};H.zenscrollY=m.getY();try{history.replaceState(H,"")}catch(B){}}var z=j.getAttribute("href")||"";if(0===z.indexOf("#")&&!D.test(j.className)){var U=0,M=document.getElementById(z.substring(1));if("#"!==z){if(!M)return;U=m.getTopOf(M)}R.preventDefault();var I=function(){window.location=z},J=m.setup().edgeOffset;J&&(U=Math.max(0,U-J),b&&(I=function(){history.pushState({},"",z)})),m.toY(U,null,I)}}},!1)}return m}())?e.apply(o,s):e)||(g.exports=a)},function(g,o,t){g.exports=t(958)},function(g,o){g.exports=function(t,e,s,a){var l=new Blob(void 0!==a?[a,t]:[t],{type:s||"application/octet-stream"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(l,e);else{var u=window.URL&&window.URL.createObjectURL?window.URL.createObjectURL(l):window.webkitURL.createObjectURL(l),h=document.createElement("a");h.style.display="none",h.href=u,h.setAttribute("download",e),void 0===h.download&&h.setAttribute("target","_blank"),document.body.appendChild(h),h.click(),setTimeout(function(){document.body.removeChild(h),window.URL.revokeObjectURL(u)},200)}}},function(g,o,t){g.exports=t(965)},function(g,o,t){g.exports=t(968)},function(g,o,t){"use strict";var e=t(973),s=function(h){return/<\/+[^>]+>/.test(h)},a=function(h){return/<[^>]+\/>/.test(h)};function l(h){return h.split(/(<\/?[^>]+>)/g).filter(function(_){return""!==_.trim()}).map(function(_){return{value:_,type:u(_)}})}function u(h){return s(h)?"ClosingTag":!/<[^>!]+>/.test(_=h)||s(_)||a(_)?a(h)?"SelfClosingTag":"Text":"OpeningTag";var _}g.exports=function(h){var _=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=_.indentor,b=_.textNodesOnSameLine,T=0,D=[];m=m||" ";var R=l(h).map(function(j,H,z){var U=j.value,M=j.type;"ClosingTag"===M&&T--;var I=e(m,T),J=I+U;if("OpeningTag"===M&&T++,b){var B=z[H-1],ie=z[H-2];"ClosingTag"===M&&"Text"===B.type&&"OpeningTag"===ie.type&&(J=""+I+ie.value+B.value+U,D.push(H-2,H-1))}return J});return D.forEach(function(j){return R[j]=null}),R.filter(function(j){return!!j}).join("\n")}},function(g,o,t){g.exports=t(977)},function(g,o,t){var e=t(483);t(508),t(509),t(510),t(511),t(512),t(513),t(514),g.exports=e},function(g,o,t){var e=t(484);t(68),g.exports=e},function(g,o,t){t(328),t(97),t(333),t(490),t(491),t(492),t(493),t(338),t(494),t(495),t(496),t(497),t(498),t(499),t(500),t(501),t(502),t(503),t(504),t(505);var e=t(34);g.exports=e.Symbol},function(g,o,t){var e=t(17),s=t(50),a=t(43),l=t(209),u=t(211),h=t(486),_=t(38),m=e.TypeError,b=_("toPrimitive");g.exports=function(T,D){if(!a(T)||l(T))return T;var R,j=u(T,b);if(j){if(void 0===D&&(D="default"),R=s(j,T,D),!a(R)||l(R))return R;throw m("Can't convert object to primitive value")}return void 0===D&&(D="number"),h(T,D)}},function(g,o,t){var e=t(17),s=t(50),a=t(41),l=t(43),u=e.TypeError;g.exports=function(h,_){var m,b;if("string"===_&&a(m=h.toString)&&!l(b=s(m,h))||a(m=h.valueOf)&&!l(b=s(m,h))||"string"!==_&&a(m=h.toString)&&!l(b=s(m,h)))return b;throw u("Can't convert object to primitive value")}},function(g,o,t){var e=t(17),s=Object.defineProperty;g.exports=function(a,l){try{s(e,a,{value:l,configurable:!0,writable:!0})}catch(u){e[a]=l}return l}},function(g,o,t){var e=t(17),s=t(146),a=t(172),l=t(43),u=t(38)("species"),h=e.Array;g.exports=function(_){var m;return s(_)&&(a(m=_.constructor)&&(m===h||s(m.prototype))||l(m)&&null===(m=m[u]))&&(m=void 0),void 0===m?h:m}},function(g,o,t){"use strict";var e=t(216),s=t(75);g.exports=e?{}.toString:function(){return"[object "+s(this)+"]"}},function(g,o,t){t(45)("asyncIterator")},function(g,o){},function(g,o,t){t(45)("hasInstance")},function(g,o,t){t(45)("isConcatSpreadable")},function(g,o,t){t(45)("match")},function(g,o,t){t(45)("matchAll")},function(g,o,t){t(45)("replace")},function(g,o,t){t(45)("search")},function(g,o,t){t(45)("species")},function(g,o,t){t(45)("split")},function(g,o,t){t(45)("toPrimitive")},function(g,o,t){t(45)("toStringTag")},function(g,o,t){t(45)("unscopables")},function(g,o,t){var e=t(17);t(100)(e.JSON,"JSON",!0)},function(g,o){},function(g,o){},function(g,o,t){var e=t(17),s=t(41),a=e.String,l=e.TypeError;g.exports=function(u){if("object"==typeof u||s(u))return u;throw l("Can't set "+a(u)+" as a prototype")}},function(g,o){g.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(g,o,t){t(45)("asyncDispose")},function(g,o,t){t(45)("dispose")},function(g,o,t){t(45)("matcher")},function(g,o,t){t(45)("metadata")},function(g,o,t){t(45)("observable")},function(g,o,t){t(45)("patternMatch")},function(g,o,t){t(45)("replaceAll")},function(g,o,t){g.exports=t(516)},function(g,o,t){var e=t(517);g.exports=e},function(g,o,t){var e=t(518);t(68),g.exports=e},function(g,o,t){t(77),t(97),t(131),t(338);var e=t(223);g.exports=e.f("iterator")},function(g,o,t){var e=t(520);g.exports=e},function(g,o,t){var e=t(35),s=t(521),a=Array.prototype;g.exports=function(l){var u=l.concat;return l===a||e(a,l)&&u===a.concat?s:u}},function(g,o,t){t(328);var e=t(42);g.exports=e("Array").concat},function(g,o,t){var e=t(35),s=t(523),a=Array.prototype;g.exports=function(l){var u=l.filter;return l===a||e(a,l)&&u===a.filter?s:u}},function(g,o,t){t(524);var e=t(42);g.exports=e("Array").filter},function(g,o,t){"use strict";var e=t(22),s=t(87).filter;e({target:"Array",proto:!0,forced:!t(148)("filter")},{filter:function(a){return s(this,a,arguments.length>1?arguments[1]:void 0)}})},function(g,o,t){t(526);var e=t(34);g.exports=e.Object.keys},function(g,o,t){var e=t(22),s=t(62),a=t(149);e({target:"Object",stat:!0,forced:t(33)(function(){a(1)})},{keys:function(l){return a(s(l))}})},function(g,o,t){var e=t(528);g.exports=e},function(g,o,t){t(529);var e=t(34),s=t(93);e.JSON||(e.JSON={stringify:JSON.stringify}),g.exports=function(a,l,u){return s(e.JSON.stringify,null,arguments)}},function(g,o,t){var e=t(22),s=t(17),a=t(58),l=t(93),u=t(27),h=t(33),_=s.Array,m=a("JSON","stringify"),b=u(/./.exec),T=u("".charAt),D=u("".charCodeAt),R=u("".replace),j=u(1..toString),H=/[\uD800-\uDFFF]/g,z=/^[\uD800-\uDBFF]$/,U=/^[\uDC00-\uDFFF]$/,M=function(J,B,ie){var oe=T(ie,B-1),fe=T(ie,B+1);return b(z,J)&&!b(U,fe)||b(U,J)&&!b(z,oe)?"\\u"+j(D(J,0),16):J},I=h(function(){return'"\\udf06\\ud834"'!==m("\udf06\ud834")||'"\\udead"'!==m("\udead")});m&&e({target:"JSON",stat:!0,forced:I},{stringify:function(J,B,ie){for(var oe=0,fe=arguments.length,ne=_(fe);oe<fe;oe++)ne[oe]=arguments[oe];var he=l(m,null,ne);return"string"==typeof he?R(he,H,M):he}})},function(g,o,t){"use strict";o.byteLength=function(b){var T=_(b),R=T[1];return 3*(T[0]+R)/4-R},o.toByteArray=function(b){var T,D,B,R=_(b),j=R[0],H=R[1],z=new a(3*(j+(B=H))/4-B),U=0,M=H>0?j-4:j;for(D=0;D<M;D+=4)T=s[b.charCodeAt(D)]<<18|s[b.charCodeAt(D+1)]<<12|s[b.charCodeAt(D+2)]<<6|s[b.charCodeAt(D+3)],z[U++]=T>>16&255,z[U++]=T>>8&255,z[U++]=255&T;return 2===H&&(T=s[b.charCodeAt(D)]<<2|s[b.charCodeAt(D+1)]>>4,z[U++]=255&T),1===H&&(T=s[b.charCodeAt(D)]<<10|s[b.charCodeAt(D+1)]<<4|s[b.charCodeAt(D+2)]>>2,z[U++]=T>>8&255,z[U++]=255&T),z},o.fromByteArray=function(b){for(var T,D=b.length,R=D%3,j=[],H=16383,z=0,U=D-R;z<U;z+=H)j.push(m(b,z,z+H>U?U:z+H));return 1===R?j.push(e[(T=b[D-1])>>2]+e[T<<4&63]+"=="):2===R&&j.push(e[(T=(b[D-2]<<8)+b[D-1])>>10]+e[T>>4&63]+e[T<<2&63]+"="),j.join("")};for(var e=[],s=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,h=l.length;u<h;++u)e[u]=l[u],s[l.charCodeAt(u)]=u;function _(b){var T=b.length;if(T%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var D=b.indexOf("=");return-1===D&&(D=T),[D,D===T?0:4-D%4]}function m(b,T,D){for(var j,H=[],z=T;z<D;z+=3)H.push(e[(j=(b[z]<<16&16711680)+(b[z+1]<<8&65280)+(255&b[z+2]))>>18&63]+e[j>>12&63]+e[j>>6&63]+e[63&j]);return H.join("")}s["-".charCodeAt(0)]=62,s["_".charCodeAt(0)]=63},function(g,o){o.read=function(t,e,s,a,l){var u,h,_=8*l-a-1,m=(1<<_)-1,b=m>>1,T=-7,D=s?l-1:0,R=s?-1:1,j=t[e+D];for(D+=R,u=j&(1<<-T)-1,j>>=-T,T+=_;T>0;u=256*u+t[e+D],D+=R,T-=8);for(h=u&(1<<-T)-1,u>>=-T,T+=a;T>0;h=256*h+t[e+D],D+=R,T-=8);if(0===u)u=1-b;else{if(u===m)return h?NaN:1/0*(j?-1:1);h+=Math.pow(2,a),u-=b}return(j?-1:1)*h*Math.pow(2,u-a)},o.write=function(t,e,s,a,l,u){var h,_,m,b=8*u-l-1,T=(1<<b)-1,D=T>>1,R=23===l?Math.pow(2,-24)-Math.pow(2,-77):0,j=a?0:u-1,H=a?1:-1,z=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(_=isNaN(e)?1:0,h=T):(h=Math.floor(Math.log(e)/Math.LN2),e*(m=Math.pow(2,-h))<1&&(h--,m*=2),(e+=h+D>=1?R/m:R*Math.pow(2,1-D))*m>=2&&(h++,m/=2),h+D>=T?(_=0,h=T):h+D>=1?(_=(e*m-1)*Math.pow(2,l),h+=D):(_=e*Math.pow(2,D-1)*Math.pow(2,l),h=0));l>=8;t[s+j]=255&_,j+=H,_/=256,l-=8);for(h=h<<l|_,b+=l;b>0;t[s+j]=255&h,j+=H,h/=256,b-=8);t[s+j-H]|=128*z}},function(g,o,t){var e=t(347);g.exports=e},function(g,o,t){t(534);var e=t(34).Object,s=g.exports=function(a,l,u){return e.defineProperty(a,l,u)};e.defineProperty.sham&&(s.sham=!0)},function(g,o,t){var e=t(22),s=t(48);e({target:"Object",stat:!0,forced:!s,sham:!s},{defineProperty:t(63).f})},function(g,o,t){var e=t(536);g.exports=e},function(g,o,t){var e=t(35),s=t(537),a=Function.prototype;g.exports=function(l){var u=l.bind;return l===a||e(a,l)&&u===a.bind?s:u}},function(g,o,t){t(538);var e=t(42);g.exports=e("Function").bind},function(g,o,t){t(22)({target:"Function",proto:!0},{bind:t(348)})},function(g,o,t){t(540);var e=t(34);g.exports=e.Object.assign},function(g,o,t){var e=t(22),s=t(350);e({target:"Object",stat:!0,forced:Object.assign!==s},{assign:s})},function(g,o,t){var e=t(35),s=t(542),a=Array.prototype;g.exports=function(l){var u=l.slice;return l===a||e(a,l)&&u===a.slice?s:u}},function(g,o,t){t(543);var e=t(42);g.exports=e("Array").slice},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(146),l=t(172),u=t(43),h=t(220),_=t(74),m=t(61),b=t(147),T=t(38),D=t(148),R=t(86),j=D("slice"),H=T("species"),z=s.Array,U=Math.max;e({target:"Array",proto:!0,forced:!j},{slice:function(M,I){var J,B,ie,oe=m(this),fe=_(oe),ne=h(M,fe),he=h(void 0===I?fe:I,fe);if(a(oe)&&((l(J=oe.constructor)&&(J===z||a(J.prototype))||u(J)&&null===(J=J[H]))&&(J=void 0),J===z||void 0===J))return R(oe,ne,he);for(B=new(void 0===J?z:J)(U(he-ne,0)),ie=0;ne<he;ne++,ie++)ne in oe&&b(B,ie,oe[ne]);return B.length=ie,B}})},function(g,o,t){t(545);var e=t(34);g.exports=e.Array.isArray},function(g,o,t){t(22)({target:"Array",stat:!0},{isArray:t(146)})},function(g,o,t){var e=t(547);g.exports=e},function(g,o,t){var e=t(35),s=t(548),a=Array.prototype;g.exports=function(l){var u=l.reduce;return l===a||e(a,l)&&u===a.reduce?s:u}},function(g,o,t){t(549);var e=t(42);g.exports=e("Array").reduce},function(g,o,t){"use strict";var e=t(22),s=t(550).left,a=t(114),l=t(128),u=t(177);e({target:"Array",proto:!0,forced:!a("reduce")||!u&&l>79&&l<83},{reduce:function(h){var _=arguments.length;return s(this,h,_,_>1?arguments[1]:void 0)}})},function(g,o,t){var e=t(17),s=t(73),a=t(62),l=t(168),u=t(74),h=e.TypeError,_=function(m){return function(b,T,D,R){s(T);var j=a(b),H=l(j),z=u(j),U=m?z-1:0,M=m?-1:1;if(D<2)for(;;){if(U in H){R=H[U],U+=M;break}if(U+=M,m?U<0:z<=U)throw h("Reduce of empty array with no initial value")}for(;m?U>=0:z>U;U+=M)U in H&&(R=T(R,H[U],U,j));return R}};g.exports={left:_(!1),right:_(!0)}},function(g,o,t){var e=t(552);g.exports=e},function(g,o,t){var e=t(35),s=t(553),a=Array.prototype;g.exports=function(l){var u=l.map;return l===a||e(a,l)&&u===a.map?s:u}},function(g,o,t){t(554);var e=t(42);g.exports=e("Array").map},function(g,o,t){"use strict";var e=t(22),s=t(87).map;e({target:"Array",proto:!0,forced:!t(148)("map")},{map:function(a){return s(this,a,arguments.length>1?arguments[1]:void 0)}})},function(g,o,t){"use strict";var e=t(353),s=60103,a=60106;o.Fragment=60107,o.StrictMode=60108,o.Profiler=60114;var l=60109,u=60110,h=60112;o.Suspense=60113;var _=60115,m=60116;if("function"==typeof Symbol&&Symbol.for){var b=Symbol.for;s=b("react.element"),a=b("react.portal"),o.Fragment=b("react.fragment"),o.StrictMode=b("react.strict_mode"),o.Profiler=b("react.profiler"),l=b("react.provider"),u=b("react.context"),h=b("react.forward_ref"),o.Suspense=b("react.suspense"),_=b("react.memo"),m=b("react.lazy")}var T="function"==typeof Symbol&&Symbol.iterator;function D(ue){for(var He="https://reactjs.org/docs/error-decoder.html?invariant="+ue,$e=1;$e<arguments.length;$e++)He+="&args[]="+encodeURIComponent(arguments[$e]);return"Minified React error #"+ue+"; visit "+He+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j={};function H(ue,He,$e){this.props=ue,this.context=He,this.refs=j,this.updater=$e||R}function z(){}function U(ue,He,$e){this.props=ue,this.context=He,this.refs=j,this.updater=$e||R}H.prototype.isReactComponent={},H.prototype.setState=function(ue,He){if("object"!=typeof ue&&"function"!=typeof ue&&null!=ue)throw Error(D(85));this.updater.enqueueSetState(this,ue,He,"setState")},H.prototype.forceUpdate=function(ue){this.updater.enqueueForceUpdate(this,ue,"forceUpdate")},z.prototype=H.prototype;var M=U.prototype=new z;M.constructor=U,e(M,H.prototype),M.isPureReactComponent=!0;var I={current:null},J=Object.prototype.hasOwnProperty,B={key:!0,ref:!0,__self:!0,__source:!0};function ie(ue,He,$e){var F,je={},Et=null,lt=null;if(null!=He)for(F in void 0!==He.ref&&(lt=He.ref),void 0!==He.key&&(Et=""+He.key),He)J.call(He,F)&&!B.hasOwnProperty(F)&&(je[F]=He[F]);var nn=arguments.length-2;if(1===nn)je.children=$e;else if(1<nn){for(var St=Array(nn),Ot=0;Ot<nn;Ot++)St[Ot]=arguments[Ot+2];je.children=St}if(ue&&ue.defaultProps)for(F in nn=ue.defaultProps)void 0===je[F]&&(je[F]=nn[F]);return{$$typeof:s,type:ue,key:Et,ref:lt,props:je,_owner:I.current}}function oe(ue){return"object"==typeof ue&&null!==ue&&ue.$$typeof===s}var fe=/\/+/g;function ne(ue,He){return"object"==typeof ue&&null!==ue&&null!=ue.key?(F={"=":"=0",":":"=2"},"$"+(""+ue.key).replace(/[=:]/g,function(je){return F[je]})):He.toString(36);var F}function he(ue,He,$e,F,je){var Et=typeof ue;"undefined"!==Et&&"boolean"!==Et||(ue=null);var Ot,Qe,lt=!1;if(null===ue)lt=!0;else switch(Et){case"string":case"number":lt=!0;break;case"object":switch(ue.$$typeof){case s:case a:lt=!0}}if(lt)return je=je(lt=ue),ue=""===F?"."+ne(lt,0):F,Array.isArray(je)?($e="",null!=ue&&($e=ue.replace(fe,"$&/")+"/"),he(je,He,$e,"",function(Ot){return Ot})):null!=je&&(oe(je)&&(Ot=je,Qe=$e+(!je.key||lt&<.key===je.key?"":(""+je.key).replace(fe,"$&/")+"/")+ue,je={$$typeof:s,type:Ot.type,key:Qe,ref:Ot.ref,props:Ot.props,_owner:Ot._owner}),He.push(je)),1;if(lt=0,F=""===F?".":F+":",Array.isArray(ue))for(var nn=0;nn<ue.length;nn++){var St=F+ne(Et=ue[nn],nn);lt+=he(Et,He,$e,St,je)}else if("function"==typeof(St=function(Ot){return null===Ot||"object"!=typeof Ot?null:"function"==typeof(Ot=T&&Ot[T]||Ot["@@iterator"])?Ot:null}(ue)))for(ue=St.call(ue),nn=0;!(Et=ue.next()).done;)lt+=he(Et=Et.value,He,$e,St=F+ne(Et,nn++),je);else if("object"===Et)throw He=""+ue,Error(D(31,"[object Object]"===He?"object with keys {"+Object.keys(ue).join(", ")+"}":He));return lt}function ce(ue,He,$e){if(null==ue)return ue;var F=[],je=0;return he(ue,F,"","",function(Et){return He.call($e,Et,je++)}),F}function Ae(ue){if(-1===ue._status){var He=ue._result;He=He(),ue._status=0,ue._result=He,He.then(function($e){0===ue._status&&($e=$e.default,ue._status=1,ue._result=$e)},function($e){0===ue._status&&(ue._status=2,ue._result=$e)})}if(1===ue._status)return ue._result;throw ue._result}var Se={current:null};function Oe(){var ue=Se.current;if(null===ue)throw Error(D(321));return ue}var be={ReactCurrentDispatcher:Se,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:I,IsSomeRendererActing:{current:!1},assign:e};o.Children={map:ce,forEach:function(ue,He,$e){ce(ue,function(){He.apply(this,arguments)},$e)},count:function(ue){var He=0;return ce(ue,function(){He++}),He},toArray:function(ue){return ce(ue,function(He){return He})||[]},only:function(ue){if(!oe(ue))throw Error(D(143));return ue}},o.Component=H,o.PureComponent=U,o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=be,o.cloneElement=function(ue,He,$e){if(null==ue)throw Error(D(267,ue));var F=e({},ue.props),je=ue.key,Et=ue.ref,lt=ue._owner;if(null!=He){if(void 0!==He.ref&&(Et=He.ref,lt=I.current),void 0!==He.key&&(je=""+He.key),ue.type&&ue.type.defaultProps)var nn=ue.type.defaultProps;for(St in He)J.call(He,St)&&!B.hasOwnProperty(St)&&(F[St]=void 0===He[St]&&void 0!==nn?nn[St]:He[St])}var St=arguments.length-2;if(1===St)F.children=$e;else if(1<St){nn=Array(St);for(var Ot=0;Ot<St;Ot++)nn[Ot]=arguments[Ot+2];F.children=nn}return{$$typeof:s,type:ue.type,key:je,ref:Et,props:F,_owner:lt}},o.createContext=function(ue,He){return void 0===He&&(He=null),(ue={$$typeof:u,_calculateChangedBits:He,_currentValue:ue,_currentValue2:ue,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:l,_context:ue},ue.Consumer=ue},o.createElement=ie,o.createFactory=function(ue){var He=ie.bind(null,ue);return He.type=ue,He},o.createRef=function(){return{current:null}},o.forwardRef=function(ue){return{$$typeof:h,render:ue}},o.isValidElement=oe,o.lazy=function(ue){return{$$typeof:m,_payload:{_status:-1,_result:ue},_init:Ae}},o.memo=function(ue,He){return{$$typeof:_,type:ue,compare:void 0===He?null:He}},o.useCallback=function(ue,He){return Oe().useCallback(ue,He)},o.useContext=function(ue,He){return Oe().useContext(ue,He)},o.useDebugValue=function(){},o.useEffect=function(ue,He){return Oe().useEffect(ue,He)},o.useImperativeHandle=function(ue,He,$e){return Oe().useImperativeHandle(ue,He,$e)},o.useLayoutEffect=function(ue,He){return Oe().useLayoutEffect(ue,He)},o.useMemo=function(ue,He){return Oe().useMemo(ue,He)},o.useReducer=function(ue,He,$e){return Oe().useReducer(ue,He,$e)},o.useRef=function(ue){return Oe().useRef(ue)},o.useState=function(ue){return Oe().useState(ue)},o.version="17.0.2"},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0});var e,a=(e=t(1))&&e.__esModule?e:{default:e},l=t(557);o.default=function(u){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.default.Map,_=Object.keys(u);return function(){var m=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h(),b=arguments[1];return m.withMutations(function(T){_.forEach(function(D){var R=(0,u[D])(T.get(D),b);(0,l.validateNextState)(R,D,b),T.set(D,R)})})}},g.exports=o.default},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.validateNextState=o.getUnexpectedInvocationParameterMessage=o.getStateName=void 0;var e=l(t(354)),s=l(t(558)),a=l(t(559));function l(u){return u&&u.__esModule?u:{default:u}}o.getStateName=e.default,o.getUnexpectedInvocationParameterMessage=s.default,o.validateNextState=a.default},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0});var e=a(t(1)),s=a(t(354));function a(l){return l&&l.__esModule?l:{default:l}}o.default=function(l,u,h){var _=Object.keys(u);if(!_.length)return"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";var m=(0,s.default)(h);if(e.default.isImmutable?!e.default.isImmutable(l):!e.default.Iterable.isIterable(l))return"The "+m+' is of unexpected type. Expected argument to be an instance of Immutable.Collection or Immutable.Record with the following properties: "'+_.join('", "')+'".';var b=l.toSeq().keySeq().toArray().filter(function(T){return!u.hasOwnProperty(T)});return b.length>0?"Unexpected "+(1===b.length?"property":"properties")+' "'+b.join('", "')+'" found in '+m+'. Expected to find one of the known reducer property names instead: "'+_.join('", "')+'". Unexpected properties will be ignored.':null},g.exports=o.default},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.default=function(e,s,a){if(void 0===e)throw new Error('Reducer "'+s+'" returned undefined when handling "'+a.type+'" action. To ignore an action, you must explicitly return the previous state.')},g.exports=o.default},function(g,o,t){var e=t(178),s=t(357),a=t(359),l=t(590),u=t(53),h=t(153),_=t(366);g.exports=function m(b,T,D,R,j){b!==T&&a(T,function(H,z){if(j||(j=new e),u(H))l(b,T,z,D,m,R,j);else{var U=R?R(_(b,z),H,z+"",b,T,j):void 0;void 0===U&&(U=H),s(b,z,U)}},h)}},function(g,o){g.exports=function(){this.__data__=[],this.size=0}},function(g,o,t){var e=t(180),s=Array.prototype.splice;g.exports=function(a){var l=this.__data__,u=e(l,a);return!(u<0||(u==l.length-1?l.pop():s.call(l,u,1),--this.size,0))}},function(g,o,t){var e=t(180);g.exports=function(s){var a=this.__data__,l=e(a,s);return l<0?void 0:a[l][1]}},function(g,o,t){var e=t(180);g.exports=function(s){return e(this.__data__,s)>-1}},function(g,o,t){var e=t(180);g.exports=function(s,a){var l=this.__data__,u=e(l,s);return u<0?(++this.size,l.push([s,a])):l[u][1]=a,this}},function(g,o,t){var e=t(179);g.exports=function(){this.__data__=new e,this.size=0}},function(g,o){g.exports=function(t){var e=this.__data__,s=e.delete(t);return this.size=e.size,s}},function(g,o){g.exports=function(t){return this.__data__.get(t)}},function(g,o){g.exports=function(t){return this.__data__.has(t)}},function(g,o,t){var e=t(179),s=t(227),a=t(228);g.exports=function(l,u){var h=this.__data__;if(h instanceof e){var _=h.__data__;if(!s||_.length<199)return _.push([l,u]),this.size=++h.size,this;h=this.__data__=new a(_)}return h.set(l,u),this.size=h.size,this}},function(g,o,t){var e=t(104),s=t(574),a=t(53),l=t(356),u=/^\[object .+?Constructor\]$/,T=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");g.exports=function(D){return!(!a(D)||s(D))&&(e(D)?T:u).test(l(D))}},function(g,o,t){var e=t(133),s=Object.prototype,a=s.hasOwnProperty,l=s.toString,u=e?e.toStringTag:void 0;g.exports=function(h){var _=a.call(h,u),m=h[u];try{h[u]=void 0;var b=!0}catch(D){}var T=l.call(h);return b&&(_?h[u]=m:delete h[u]),T}},function(g,o){var t=Object.prototype.toString;g.exports=function(e){return t.call(e)}},function(g,o,t){var e,s=t(575),a=(e=/[^.]+$/.exec(s&&s.keys&&s.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";g.exports=function(l){return!!a&&a in l}},function(g,o,t){var e=t(69)["__core-js_shared__"];g.exports=e},function(g,o){g.exports=function(t,e){return null==t?void 0:t[e]}},function(g,o,t){var e=t(578),s=t(179),a=t(227);g.exports=function(){this.size=0,this.__data__={hash:new e,map:new(a||s),string:new e}}},function(g,o,t){var e=t(579),s=t(580),a=t(581),l=t(582),u=t(583);function h(_){var m=-1,b=null==_?0:_.length;for(this.clear();++m<b;){var T=_[m];this.set(T[0],T[1])}}h.prototype.clear=e,h.prototype.delete=s,h.prototype.get=a,h.prototype.has=l,h.prototype.set=u,g.exports=h},function(g,o,t){var e=t(181);g.exports=function(){this.__data__=e?e(null):{},this.size=0}},function(g,o){g.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},function(g,o,t){var e=t(181),s=Object.prototype.hasOwnProperty;g.exports=function(a){var l=this.__data__;if(e){var u=l[a];return"__lodash_hash_undefined__"===u?void 0:u}return s.call(l,a)?l[a]:void 0}},function(g,o,t){var e=t(181),s=Object.prototype.hasOwnProperty;g.exports=function(a){var l=this.__data__;return e?void 0!==l[a]:s.call(l,a)}},function(g,o,t){var e=t(181);g.exports=function(s,a){var l=this.__data__;return this.size+=this.has(s)?0:1,l[s]=e&&void 0===a?"__lodash_hash_undefined__":a,this}},function(g,o,t){var e=t(182);g.exports=function(s){var a=e(this,s).delete(s);return this.size-=a?1:0,a}},function(g,o){g.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},function(g,o,t){var e=t(182);g.exports=function(s){return e(this,s).get(s)}},function(g,o,t){var e=t(182);g.exports=function(s){return e(this,s).has(s)}},function(g,o,t){var e=t(182);g.exports=function(s,a){var l=e(this,s),u=l.size;return l.set(s,a),this.size+=l.size==u?0:1,this}},function(g,o){g.exports=function(t){return function(e,s,a){for(var l=-1,u=Object(e),h=a(e),_=h.length;_--;){var m=h[t?_:++l];if(!1===s(u[m],m,u))break}return e}}},function(g,o,t){var e=t(357),s=t(360),a=t(361),l=t(363),u=t(364),h=t(151),_=t(52),m=t(593),b=t(152),T=t(104),D=t(53),R=t(140),j=t(185),H=t(366),z=t(596);g.exports=function(U,M,I,J,B,ie,oe){var fe=H(U,I),ne=H(M,I),he=oe.get(ne);if(he)e(U,I,he);else{var ce=ie?ie(fe,ne,I+"",U,M,oe):void 0,Ae=void 0===ce;if(Ae){var Se=_(ne),Oe=!Se&&b(ne),be=!Se&&!Oe&&j(ne);ce=ne,Se||Oe||be?_(fe)?ce=fe:m(fe)?ce=l(fe):Oe?(Ae=!1,ce=s(ne,!0)):be?(Ae=!1,ce=a(ne,!0)):ce=[]:R(ne)||h(ne)?(ce=fe,h(fe)?ce=z(fe):D(fe)&&!T(fe)||(ce=u(ne))):Ae=!1}Ae&&(oe.set(ne,ce),B(ce,ne,J,ie,oe),oe.delete(ne)),e(U,I,ce)}}},function(g,o,t){var e=t(53),s=Object.create,a=function(){function l(){}return function(u){if(!e(u))return{};if(s)return s(u);l.prototype=u;var h=new l;return l.prototype=void 0,h}}();g.exports=a},function(g,o,t){var e=t(116),s=t(78);g.exports=function(a){return s(a)&&"[object Arguments]"==e(a)}},function(g,o,t){var e=t(117),s=t(78);g.exports=function(a){return s(a)&&e(a)}},function(g,o){g.exports=function(){return!1}},function(g,o,t){var e=t(116),s=t(232),a=t(78),l={};l["[object Float32Array]"]=l["[object Float64Array]"]=l["[object Int8Array]"]=l["[object Int16Array]"]=l["[object Int32Array]"]=l["[object Uint8Array]"]=l["[object Uint8ClampedArray]"]=l["[object Uint16Array]"]=l["[object Uint32Array]"]=!0,l["[object Arguments]"]=l["[object Array]"]=l["[object ArrayBuffer]"]=l["[object Boolean]"]=l["[object DataView]"]=l["[object Date]"]=l["[object Error]"]=l["[object Function]"]=l["[object Map]"]=l["[object Number]"]=l["[object Object]"]=l["[object RegExp]"]=l["[object Set]"]=l["[object String]"]=l["[object WeakMap]"]=!1,g.exports=function(u){return a(u)&&s(u.length)&&!!l[e(u)]}},function(g,o,t){var e=t(134),s=t(153);g.exports=function(a){return e(a,s(a))}},function(g,o){g.exports=function(t,e){for(var s=-1,a=Array(t);++s<t;)a[s]=e(s);return a}},function(g,o,t){var e=t(53),s=t(184),a=t(599),l=Object.prototype.hasOwnProperty;g.exports=function(u){if(!e(u))return a(u);var h=s(u),_=[];for(var m in u)("constructor"!=m||!h&&l.call(u,m))&&_.push(m);return _}},function(g,o){g.exports=function(t){var e=[];if(null!=t)for(var s in Object(t))e.push(s);return e}},function(g,o,t){var e=t(601),s=t(370);g.exports=function(a){return e(function(l,u){var h=-1,_=u.length,m=_>1?u[_-1]:void 0,b=_>2?u[2]:void 0;for(m=a.length>3&&"function"==typeof m?(_--,m):void 0,b&&s(u[0],u[1],b)&&(m=_<3?void 0:m,_=1),l=Object(l);++h<_;){var T=u[h];T&&a(l,T,h,m)}return l})}},function(g,o,t){var e=t(236),s=t(368),a=t(369);g.exports=function(l,u){return a(s(l,u,e),l+"")}},function(g,o){g.exports=function(t,e,s){switch(s.length){case 0:return t.call(e);case 1:return t.call(e,s[0]);case 2:return t.call(e,s[0],s[1]);case 3:return t.call(e,s[0],s[1],s[2])}return t.apply(e,s)}},function(g,o,t){var e=t(604),s=t(358),a=t(236);g.exports=s?function(u,h){return s(u,"toString",{configurable:!0,enumerable:!1,value:e(h),writable:!0})}:a},function(g,o){g.exports=function(t){return function(){return t}}},function(g,o){var t=Date.now;g.exports=function(e){var s=0,a=0;return function(){var l=t(),u=16-(l-a);if(a=l,u>0){if(++s>=800)return arguments[0]}else s=0;return e.apply(void 0,arguments)}}},function(g,o,t){var e=t(237),s=t(371);g.exports=function(a){if(e(a))return s(a)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(352);g.exports=e},function(g,o,t){var e=t(609);g.exports=e},function(g,o,t){var e=t(610);t(68),g.exports=e},function(g,o,t){t(77),t(131);var e=t(154);g.exports=e},function(g,o,t){var e=t(374);g.exports=e},function(g,o,t){t(131),t(613);var e=t(34);g.exports=e.Array.from},function(g,o,t){var e=t(22),s=t(375);e({target:"Array",stat:!0,forced:!t(378)(function(a){Array.from(a)})},{from:s})},function(g,o,t){var e=t(51),s=t(376);g.exports=function(a,l,u,h){try{return h?l(e(u)[0],u[1]):l(u)}catch(_){s(a,"throw",_)}}},function(g,o,t){g.exports=t(616)},function(g,o,t){var e=t(351);g.exports=e},function(g,o){g.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(166),s=t(238);g.exports=function(a,l){var u=null==a?null:void 0!==e&&s(a)||a["@@iterator"];if(null!=u){var h,_,m=[],b=!0,T=!1;try{for(u=u.call(a);!(b=(h=u.next()).done)&&(m.push(h.value),!l||m.length!==l);b=!0);}catch(D){T=!0,_=D}finally{try{b||null==u.return||u.return()}finally{if(T)throw _}}return m}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){t(68);var e=t(75),s=t(44),a=t(35),l=t(620),u=Array.prototype,h={DOMTokenList:!0,NodeList:!0};g.exports=function(_){var m=_.entries;return _===u||a(u,_)&&m===u.entries||s(h,e(_))?l:m}},function(g,o,t){var e=t(621);g.exports=e},function(g,o,t){t(77),t(97);var e=t(42);g.exports=e("Array").entries},function(g,o,t){var e=t(623);g.exports=e},function(g,o,t){t(624);var e=t(42);g.exports=e("Array").forEach},function(g,o,t){"use strict";var e=t(22),s=t(625);e({target:"Array",proto:!0,forced:[].forEach!=s},{forEach:s})},function(g,o,t){"use strict";var e=t(87).forEach,s=t(114)("forEach");g.exports=s?[].forEach:function(a){return e(this,a,arguments.length>1?arguments[1]:void 0)}},function(g,o,t){var e=t(627);g.exports=e},function(g,o,t){var e=t(35),s=t(628),a=Array.prototype;g.exports=function(l){var u=l.sort;return l===a||e(a,l)&&u===a.sort?s:u}},function(g,o,t){t(629);var e=t(42);g.exports=e("Array").sort},function(g,o,t){"use strict";var e=t(22),s=t(27),a=t(73),l=t(62),u=t(74),h=t(67),_=t(33),m=t(382),b=t(114),T=t(630),D=t(631),R=t(128),j=t(632),H=[],z=s(H.sort),U=s(H.push),M=_(function(){H.sort(void 0)}),I=_(function(){H.sort(null)}),J=b("sort"),B=!_(function(){if(R)return R<70;if(!(T&&T>3)){if(D)return!0;if(j)return j<603;var ie,oe,fe,ne,he="";for(ie=65;ie<76;ie++){switch(oe=String.fromCharCode(ie),ie){case 66:case 69:case 70:case 72:fe=3;break;case 68:case 71:fe=4;break;default:fe=2}for(ne=0;ne<47;ne++)H.push({k:oe+ne,v:fe})}for(H.sort(function(ce,Ae){return Ae.v-ce.v}),ne=0;ne<H.length;ne++)oe=H[ne].k.charAt(0),he.charAt(he.length-1)!==oe&&(he+=oe);return"DGBEFHACIJK"!==he}});e({target:"Array",proto:!0,forced:M||!I||!J||!B},{sort:function(ie){void 0!==ie&&a(ie);var oe=l(this);if(B)return void 0===ie?z(oe):z(oe,ie);var fe,ne,he=[],ce=u(oe);for(ne=0;ne<ce;ne++)ne in oe&&U(he,oe[ne]);for(m(he,function(Ae){return function(Se,Oe){return void 0===Oe?-1:void 0===Se?1:void 0!==Ae?+Ae(Se,Oe)||0:h(Se)>h(Oe)?1:-1}}(ie)),fe=he.length,ne=0;ne<fe;)oe[ne]=he[ne++];for(;ne<ce;)delete oe[ne++];return oe}})},function(g,o,t){var e=t(95).match(/firefox\/(\d+)/i);g.exports=!!e&&+e[1]},function(g,o,t){var e=t(95);g.exports=/MSIE|Trident/.test(e)},function(g,o,t){var e=t(95).match(/AppleWebKit\/(\d+)\./);g.exports=!!e&&+e[1]},function(g,o,t){var e=t(634);g.exports=e},function(g,o,t){var e=t(35),s=t(635),a=Array.prototype;g.exports=function(l){var u=l.some;return l===a||e(a,l)&&u===a.some?s:u}},function(g,o,t){t(636);var e=t(42);g.exports=e("Array").some},function(g,o,t){"use strict";var e=t(22),s=t(87).some;e({target:"Array",proto:!0,forced:!t(114)("some")},{some:function(a){return s(this,a,arguments.length>1?arguments[1]:void 0)}})},function(g,o,t){var e=t(638);g.exports=e},function(g,o,t){var e=t(35),s=t(639),a=t(641),l=Array.prototype,u=String.prototype;g.exports=function(h){var _=h.includes;return h===l||e(l,h)&&_===l.includes?s:"string"==typeof h||h===u||e(u,h)&&_===u.includes?a:_}},function(g,o,t){t(640);var e=t(42);g.exports=e("Array").includes},function(g,o,t){"use strict";var e=t(22),s=t(219).includes,a=t(224);e({target:"Array",proto:!0},{includes:function(l){return s(this,l,arguments.length>1?arguments[1]:void 0)}}),a("includes")},function(g,o,t){t(642);var e=t(42);g.exports=e("String").includes},function(g,o,t){"use strict";var e=t(22),s=t(27),a=t(383),l=t(113),u=t(67),h=t(384),_=s("".indexOf);e({target:"String",proto:!0,forced:!h("includes")},{includes:function(m){return!!~_(u(l(this)),u(a(m)),arguments.length>1?arguments[1]:void 0)}})},function(g,o,t){var e=t(43),s=t(112),a=t(38)("match");g.exports=function(l){var u;return e(l)&&(void 0!==(u=l[a])?!!u:"RegExp"==s(l))}},function(g,o,t){var e=t(35),s=t(645),a=Array.prototype;g.exports=function(l){var u=l.indexOf;return l===a||e(a,l)&&u===a.indexOf?s:u}},function(g,o,t){t(646);var e=t(42);g.exports=e("Array").indexOf},function(g,o,t){"use strict";var e=t(22),s=t(27),a=t(219).indexOf,l=t(114),u=s([].indexOf),h=!!u&&1/u([1],1,-0)<0,_=l("indexOf");e({target:"Array",proto:!0,forced:h||!_},{indexOf:function(m){var b=arguments.length>1?arguments[1]:void 0;return h?u(this,m,b)||0:a(this,m,b)}})},function(g,o,t){var e=t(648);g.exports=e},function(g,o,t){var e=t(35),s=t(649),a=Array.prototype;g.exports=function(l){var u=l.find;return l===a||e(a,l)&&u===a.find?s:u}},function(g,o,t){t(650);var e=t(42);g.exports=e("Array").find},function(g,o,t){"use strict";var e=t(22),s=t(87).find,a=t(224),l="find",u=!0;l in[]&&Array(1).find(function(){u=!1}),e({target:"Array",proto:!0,forced:u},{find:function(h){return s(this,h,arguments.length>1?arguments[1]:void 0)}}),a(l)},function(g,o,t){var e=t(652);g.exports=e},function(g,o,t){var e=t(35),s=t(653),a=String.prototype;g.exports=function(l){var u=l.startsWith;return"string"==typeof l||l===a||e(a,l)&&u===a.startsWith?s:u}},function(g,o,t){t(654);var e=t(42);g.exports=e("String").startsWith},function(g,o,t){"use strict";var e,s=t(22),a=t(27),l=t(111).f,u=t(332),h=t(67),_=t(383),m=t(113),b=t(384),T=t(96),D=a("".startsWith),R=a("".slice),j=Math.min,H=b("startsWith");s({target:"String",proto:!0,forced:!(!T&&!H&&(e=l(String.prototype,"startsWith"),e&&!e.writable)||H)},{startsWith:function(z){var U=h(m(this));_(z);var M=u(j(arguments.length>1?arguments[1]:void 0,U.length)),I=h(z);return D?D(U,I,M):R(U,M,M+I.length)===I}})},function(g,o,t){var e=t(656);g.exports=e},function(g,o,t){var e=t(35),s=t(657),a=String.prototype;g.exports=function(l){var u=l.trim;return"string"==typeof l||l===a||e(a,l)&&u===a.trim?s:u}},function(g,o,t){t(658);var e=t(42);g.exports=e("String").trim},function(g,o,t){"use strict";var e=t(22),s=t(659).trim;e({target:"String",proto:!0,forced:t(660)("trim")},{trim:function(){return s(this)}})},function(g,o,t){var e=t(27),s=t(113),a=t(67),l=t(386),u=e("".replace),h="["+l+"]",_=RegExp("^"+h+h+"*"),m=RegExp(h+h+"*$"),b=function(T){return function(D){var R=a(s(D));return 1&T&&(R=u(R,_,"")),2&T&&(R=u(R,m,"")),R}};g.exports={start:b(1),end:b(2),trim:b(3)}},function(g,o,t){var e=t(339).PROPER,s=t(33),a=t(386);g.exports=function(l){return s(function(){return!!a[l]()||"\u200b\x85\u180e"!=="\u200b\x85\u180e"[l]()||e&&a[l].name!==l})}},function(g,o,t){var e=t(102),s=t(254);g.exports=function(a){return s(e(a).toLowerCase())}},function(g,o,t){var e=t(133),s=t(387),a=t(52),l=t(188),u=e?e.prototype:void 0,h=u?u.toString:void 0;g.exports=function _(m){if("string"==typeof m)return m;if(a(m))return s(m,_)+"";if(l(m))return h?h.call(m):"";var b=m+"";return"0"==b&&1/m==-1/0?"-0":b}},function(g,o,t){var e=t(664),s=t(389),a=t(665),l=t(102);g.exports=function(u){return function(h){h=l(h);var _=s(h)?a(h):void 0,m=_?_[0]:h.charAt(0),b=_?e(_,1).join(""):h.slice(1);return m[u]()+b}}},function(g,o,t){var e=t(388);g.exports=function(s,a,l){var u=s.length;return l=void 0===l?u:l,!a&&l>=u?s:e(s,a,l)}},function(g,o,t){var e=t(666),s=t(389),a=t(667);g.exports=function(l){return s(l)?a(l):e(l)}},function(g,o){g.exports=function(t){return t.split("")}},function(g,o){var e="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",s="\\ud83c[\\udffb-\\udfff]",a="[^\\ud800-\\udfff]",l="(?:\\ud83c[\\udde6-\\uddff]){2}",u="[\\ud800-\\udbff][\\udc00-\\udfff]",h="(?:"+e+"|"+s+")?",_="[\\ufe0e\\ufe0f]?",m=_+h+"(?:\\u200d(?:"+[a,l,u].join("|")+")"+_+h+")*",b="(?:"+[a+e+"?",e,l,u,"[\\ud800-\\udfff]"].join("|")+")",T=RegExp(s+"(?="+s+")|"+b+m,"g");g.exports=function(D){return D.match(T)||[]}},function(g,o,t){var e=t(390),s=t(669),a=t(672),l=RegExp("['\u2019]","g");g.exports=function(u){return function(h){return e(a(s(h).replace(l,"")),u,"")}}},function(g,o,t){var e=t(670),s=t(102),a=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,l=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");g.exports=function(u){return(u=s(u))&&u.replace(a,e).replace(l,"")}},function(g,o,t){var e=t(671)({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"});g.exports=e},function(g,o){g.exports=function(t){return function(e){return null==t?void 0:t[e]}}},function(g,o,t){var e=t(673),s=t(674),a=t(102),l=t(675);g.exports=function(u,h,_){return u=a(u),void 0===(h=_?void 0:h)?s(u)?l(u):e(u):u.match(h)||[]}},function(g,o){var t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;g.exports=function(e){return e.match(t)||[]}},function(g,o){var t=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;g.exports=function(e){return t.test(e)}},function(g,o){var e="a-z\\xdf-\\xf6\\xf8-\\xff",s="A-Z\\xc0-\\xd6\\xd8-\\xde",a="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",l="["+a+"]",u="\\d+",_="["+e+"]",m="[^\\ud800-\\udfff"+a+u+"\\u2700-\\u27bf"+e+s+"]",b="(?:\\ud83c[\\udde6-\\uddff]){2}",T="[\\ud800-\\udbff][\\udc00-\\udfff]",D="["+s+"]",R="(?:"+_+"|"+m+")",j="(?:"+D+"|"+m+")",H="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",z="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",U="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",M="[\\ufe0e\\ufe0f]?",I=M+U+"(?:\\u200d(?:"+["[^\\ud800-\\udfff]",b,T].join("|")+")"+M+U+")*",J="(?:"+["[\\u2700-\\u27bf]",b,T].join("|")+")"+I,B=RegExp([D+"?"+_+"+"+H+"(?="+[l,D,"$"].join("|")+")",j+"+"+z+"(?="+[l,D+R,"$"].join("|")+")",D+"?"+R+"+"+H,D+"+"+z,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",u,J].join("|"),"g");g.exports=function(ie){return ie.match(B)||[]}},function(g,o,t){var e=t(189),s=t(117),a=t(135);g.exports=function(l){return function(u,h,_){var m=Object(u);if(!s(u)){var b=e(h,3);u=a(u),h=function(D){return b(m[D],D,m)}}var T=l(u,h,_);return T>-1?m[b?u[T]:T]:void 0}}},function(g,o,t){var e=t(678),s=t(694),a=t(399);g.exports=function(l){var u=s(l);return 1==u.length&&u[0][2]?a(u[0][0],u[0][1]):function(h){return h===l||e(h,l,u)}}},function(g,o,t){var e=t(178),s=t(391);g.exports=function(a,l,u,h){var _=u.length,m=_,b=!h;if(null==a)return!m;for(a=Object(a);_--;){var T=u[_];if(b&&T[2]?T[1]!==a[T[0]]:!(T[0]in a))return!1}for(;++_<m;){var D=(T=u[_])[0],R=a[D],j=T[1];if(b&&T[2]){if(void 0===R&&!(D in a))return!1}else{var H=new e;if(h)var z=h(R,j,D,a,l,H);if(!(void 0===z?s(j,R,3,h,H):z))return!1}}return!0}},function(g,o,t){var e=t(178),s=t(392),a=t(684),l=t(687),u=t(155),h=t(52),_=t(152),m=t(185),b="[object Arguments]",T="[object Array]",D="[object Object]",R=Object.prototype.hasOwnProperty;g.exports=function(j,H,z,U,M,I){var J=h(j),B=h(H),ie=J?T:u(j),oe=B?T:u(H),fe=(ie=ie==b?D:ie)==D,ne=(oe=oe==b?D:oe)==D,he=ie==oe;if(he&&_(j)){if(!_(H))return!1;J=!0,fe=!1}if(he&&!fe)return I||(I=new e),J||m(j)?s(j,H,z,U,M,I):a(j,H,ie,z,U,M,I);if(!(1&z)){var ce=fe&&R.call(j,"__wrapped__"),Ae=ne&&R.call(H,"__wrapped__");if(ce||Ae){var Se=ce?j.value():j,Oe=Ae?H.value():H;return I||(I=new e),M(Se,Oe,z,U,I)}}return!!he&&(I||(I=new e),l(j,H,z,U,M,I))}},function(g,o,t){var e=t(228),s=t(681),a=t(682);function l(u){var h=-1,_=null==u?0:u.length;for(this.__data__=new e;++h<_;)this.add(u[h])}l.prototype.add=l.prototype.push=s,l.prototype.has=a,g.exports=l},function(g,o){g.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},function(g,o){g.exports=function(t){return this.__data__.has(t)}},function(g,o){g.exports=function(t,e){return t.has(e)}},function(g,o,t){var e=t(133),s=t(362),a=t(103),l=t(392),u=t(685),h=t(686),_=e?e.prototype:void 0,m=_?_.valueOf:void 0;g.exports=function(b,T,D,R,j,H,z){switch(D){case"[object DataView]":if(b.byteLength!=T.byteLength||b.byteOffset!=T.byteOffset)return!1;b=b.buffer,T=T.buffer;case"[object ArrayBuffer]":return!(b.byteLength!=T.byteLength||!H(new s(b),new s(T)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+b,+T);case"[object Error]":return b.name==T.name&&b.message==T.message;case"[object RegExp]":case"[object String]":return b==T+"";case"[object Map]":var U=u;case"[object Set]":if(U||(U=h),b.size!=T.size&&!(1&R))return!1;var I=z.get(b);if(I)return I==T;R|=2,z.set(b,T);var J=l(U(b),U(T),R,j,H,z);return z.delete(b),J;case"[object Symbol]":if(m)return m.call(b)==m.call(T)}return!1}},function(g,o){g.exports=function(t){var e=-1,s=Array(t.size);return t.forEach(function(a,l){s[++e]=[l,a]}),s}},function(g,o){g.exports=function(t){var e=-1,s=Array(t.size);return t.forEach(function(a){s[++e]=a}),s}},function(g,o,t){var e=t(394),s=Object.prototype.hasOwnProperty;g.exports=function(a,l,u,h,_,m){var b=1&u,T=e(a),D=T.length;if(D!=e(l).length&&!b)return!1;for(var R=D;R--;){var j=T[R];if(!(b?j in l:s.call(l,j)))return!1}var H=m.get(a),z=m.get(l);if(H&&z)return H==l&&z==a;var U=!0;m.set(a,l),m.set(l,a);for(var M=b;++R<D;){var I=a[j=T[R]],J=l[j];if(h)var B=b?h(J,I,j,l,a,m):h(I,J,j,a,l,m);if(!(void 0===B?I===J||_(I,J,u,h,m):B)){U=!1;break}M||(M="constructor"==j)}if(U&&!M){var ie=a.constructor,oe=l.constructor;ie==oe||!("constructor"in a)||!("constructor"in l)||"function"==typeof ie&&ie instanceof ie&&"function"==typeof oe&&oe instanceof oe||(U=!1)}return m.delete(a),m.delete(l),U}},function(g,o){g.exports=function(t,e){for(var s=-1,a=null==t?0:t.length,l=0,u=[];++s<a;){var h=t[s];e(h,s,t)&&(u[l++]=h)}return u}},function(g,o,t){var e=t(365)(Object.keys,Object);g.exports=e},function(g,o,t){var e=t(115)(t(69),"DataView");g.exports=e},function(g,o,t){var e=t(115)(t(69),"Promise");g.exports=e},function(g,o,t){var e=t(115)(t(69),"Set");g.exports=e},function(g,o,t){var e=t(115)(t(69),"WeakMap");g.exports=e},function(g,o,t){var e=t(398),s=t(135);g.exports=function(a){for(var l=s(a),u=l.length;u--;){var h=l[u],_=a[h];l[u]=[h,_,e(_)]}return l}},function(g,o,t){var e=t(391),s=t(39),a=t(698),l=t(243),u=t(398),h=t(399),_=t(136);g.exports=function(m,b){return l(m)&&u(b)?h(_(m),b):function(T){var D=s(T,m);return void 0===D&&D===b?a(T,m):e(b,D,3)}}},function(g,o,t){var e=t(697),s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,l=e(function(u){var h=[];return 46===u.charCodeAt(0)&&h.push(""),u.replace(s,function(_,m,b,T){h.push(b?T.replace(a,"$1"):m||_)}),h});g.exports=l},function(g,o,t){var e=t(255);g.exports=function(s){var a=e(s,function(u){return 500===l.size&&l.clear(),u}),l=a.cache;return a}},function(g,o,t){var e=t(699),s=t(700);g.exports=function(a,l){return null!=a&&s(a,l,e)}},function(g,o){g.exports=function(t,e){return null!=t&&e in Object(t)}},function(g,o,t){var e=t(156),s=t(151),a=t(52),l=t(186),u=t(232),h=t(136);g.exports=function(_,m,b){for(var T=-1,D=(m=e(m,_)).length,R=!1;++T<D;){var j=h(m[T]);if(!(R=null!=_&&b(_,j)))break;_=_[j]}return R||++T!=D?R:!!(D=null==_?0:_.length)&&u(D)&&l(j,D)&&(a(_)||s(_))}},function(g,o,t){var e=t(702),s=t(703),a=t(243),l=t(136);g.exports=function(u){return a(u)?e(l(u)):s(u)}},function(g,o){g.exports=function(t){return function(e){return null==e?void 0:e[t]}}},function(g,o,t){var e=t(242);g.exports=function(s){return function(a){return e(a,s)}}},function(g,o,t){var e=t(705),s=t(189),a=t(706),l=Math.max;g.exports=function(u,h,_){var m=null==u?0:u.length;if(!m)return-1;var b=null==_?0:a(_);return b<0&&(b=l(m+b,0)),e(u,s(h,3),b)}},function(g,o){g.exports=function(t,e,s,a){for(var l=t.length,u=s+(a?1:-1);a?u--:++u<l;)if(e(t[u],u,t))return u;return-1}},function(g,o,t){var e=t(707);g.exports=function(s){var a=e(s),l=a%1;return a==a?l?a-l:a:0}},function(g,o,t){var e=t(400);g.exports=function(a){return a?1/0===(a=e(a))||a===-1/0?17976931348623157e292*(a<0?-1:1):a==a?a:0:0===a?a:0}},function(g,o,t){var e=t(709),s=/^\s+/;g.exports=function(a){return a&&a.slice(0,e(a)+1).replace(s,"")}},function(g,o){var t=/\s/;g.exports=function(e){for(var s=e.length;s--&&t.test(e.charAt(s)););return s}},function(g,o,t){var e=t(401);g.exports=function(s,a){var l;return e(s,function(u,h,_){return!(l=a(u,h,_))}),!!l}},function(g,o,t){var e=t(359),s=t(135);g.exports=function(a,l){return a&&e(a,l,s)}},function(g,o,t){var e=t(117);g.exports=function(s,a){return function(l,u){if(null==l)return l;if(!e(l))return s(l,u);for(var h=l.length,_=a?h:-1,m=Object(l);(a?_--:++_<h)&&!1!==u(m[_],_,m););return l}}},function(g,o){var t={"&":"&",'"':""","'":"'","<":"<",">":">"};g.exports=function(e){return e&&e.replace?e.replace(/([&"<>'])/g,function(s,a){return t[a]}):e}},function(g,o,t){g.exports=s;var e=t(244).EventEmitter;function s(){e.call(this)}t(64)(s,e),s.Readable=t(245),s.Writable=t(721),s.Duplex=t(722),s.Transform=t(723),s.PassThrough=t(724),s.Stream=s,s.prototype.pipe=function(a,l){var u=this;function h(j){a.writable&&!1===a.write(j)&&u.pause&&u.pause()}function _(){u.readable&&u.resume&&u.resume()}u.on("data",h),a.on("drain",_),a._isStdio||l&&!1===l.end||(u.on("end",b),u.on("close",T));var m=!1;function b(){m||(m=!0,a.end())}function T(){m||(m=!0,"function"==typeof a.destroy&&a.destroy())}function D(j){if(R(),0===e.listenerCount(this,"error"))throw j}function R(){u.removeListener("data",h),a.removeListener("drain",_),u.removeListener("end",b),u.removeListener("close",T),u.removeListener("error",D),a.removeListener("error",D),u.removeListener("end",R),u.removeListener("close",R),a.removeListener("close",R)}return u.on("error",D),a.on("error",D),u.on("end",R),u.on("close",R),a.on("close",R),a.emit("pipe",u),a}},function(g,o){},function(g,o,t){"use strict";var e=t(65).Buffer,s=t(717);g.exports=function(){function a(){(function(l,u){if(!(l instanceof u))throw new TypeError("Cannot call a class as a function")})(this,a),this.head=null,this.tail=null,this.length=0}return a.prototype.push=function(l){var u={data:l,next:null};this.length>0?this.tail.next=u:this.head=u,this.tail=u,++this.length},a.prototype.unshift=function(l){var u={data:l,next:this.head};0===this.length&&(this.tail=u),this.head=u,++this.length},a.prototype.shift=function(){if(0!==this.length){var l=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,l}},a.prototype.clear=function(){this.head=this.tail=null,this.length=0},a.prototype.join=function(l){if(0===this.length)return"";for(var u=this.head,h=""+u.data;u=u.next;)h+=l+u.data;return h},a.prototype.concat=function(l){if(0===this.length)return e.alloc(0);if(1===this.length)return this.head.data;for(var m=e.allocUnsafe(l>>>0),b=this.head,T=0;b;)b.data.copy(m,T),T+=b.data.length,b=b.next;return m},a}(),s&&s.inspect&&s.inspect.custom&&(g.exports.prototype[s.inspect.custom]=function(){var a=s.inspect({length:this.length});return this.constructor.name+" "+a})},function(g,o){},function(g,o,t){(function(e,s){!function(a,l){"use strict";if(!a.setImmediate){var u,h,_,m,b,T=1,D={},R=!1,j=a.document,H=Object.getPrototypeOf&&Object.getPrototypeOf(a);H=H&&H.setTimeout?H:a,"[object process]"==={}.toString.call(a.process)?u=function(M){s.nextTick(function(){U(M)})}:function(){if(a.postMessage&&!a.importScripts){var M=!0,I=a.onmessage;return a.onmessage=function(){M=!1},a.postMessage("","*"),a.onmessage=I,M}}()?(m="setImmediate$"+Math.random()+"$",b=function(M){M.source===a&&"string"==typeof M.data&&0===M.data.indexOf(m)&&U(+M.data.slice(m.length))},a.addEventListener?a.addEventListener("message",b,!1):a.attachEvent("onmessage",b),u=function(M){a.postMessage(m+M,"*")}):a.MessageChannel?((_=new MessageChannel).port1.onmessage=function(M){U(M.data)},u=function(M){_.port2.postMessage(M)}):j&&"onreadystatechange"in j.createElement("script")?(h=j.documentElement,u=function(M){var I=j.createElement("script");I.onreadystatechange=function(){U(M),I.onreadystatechange=null,h.removeChild(I),I=null},h.appendChild(I)}):u=function(M){setTimeout(U,0,M)},H.setImmediate=function(M){"function"!=typeof M&&(M=new Function(""+M));for(var I=new Array(arguments.length-1),J=0;J<I.length;J++)I[J]=arguments[J+1];var B={callback:M,args:I};return D[T]=B,u(T),T++},H.clearImmediate=z}function z(M){delete D[M]}function U(M){if(R)setTimeout(U,0,M);else{var I=D[M];if(I){R=!0;try{!function(J){var B=J.callback,ie=J.args;switch(ie.length){case 0:B();break;case 1:B(ie[0]);break;case 2:B(ie[0],ie[1]);break;case 3:B(ie[0],ie[1],ie[2]);break;default:B.apply(void 0,ie)}}(I)}finally{z(M),R=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,t(57),t(118))},function(g,o,t){(function(e){function s(a){try{if(!e.localStorage)return!1}catch(u){return!1}var l=e.localStorage[a];return null!=l&&"true"===String(l).toLowerCase()}g.exports=function(a,l){if(s("noDeprecation"))return a;var u=!1;return function(){if(!u){if(s("throwDeprecation"))throw new Error(l);s("traceDeprecation")?console.trace(l):console.warn(l),u=!0}return a.apply(this,arguments)}}}).call(this,t(57))},function(g,o,t){"use strict";g.exports=a;var e=t(407),s=Object.create(t(157));function a(l){if(!(this instanceof a))return new a(l);e.call(this,l)}s.inherits=t(64),s.inherits(a,e),a.prototype._transform=function(l,u,h){h(null,l)}},function(g,o,t){g.exports=t(246)},function(g,o,t){g.exports=t(119)},function(g,o,t){g.exports=t(245).Transform},function(g,o,t){g.exports=t(245).PassThrough},function(g,o,t){"use strict";g.exports=function(){}},function(g,o,t){"use strict";var e=t(727),s=Math.abs,a=Math.floor;g.exports=function(l){return isNaN(l)?0:0!==(l=Number(l))&&isFinite(l)?e(l)*a(s(l)):l}},function(g,o,t){"use strict";g.exports=t(728)()?Math.sign:t(729)},function(g,o,t){"use strict";g.exports=function(){var e=Math.sign;return"function"==typeof e&&1===e(10)&&-1===e(-20)}},function(g,o,t){"use strict";g.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}},function(g,o,t){"use strict";var e=t(101),s=t(191),a=t(122),l=t(732),u=t(409);g.exports=function h(_){var m,b,T;if(e(_),(m=Object(arguments[1])).async&&m.promise)throw new Error("Options 'async' and 'promise' cannot be used together");return hasOwnProperty.call(_,"__memoized__")&&!m.force?_:(b=u(m.length,_.length,m.async&&a.async),T=l(_,b,m),s(a,function(D,R){m[R]&&D(m[R],T,m)}),h.__profiler__&&h.__profiler__(T),T.updateEnv(),T.memoized)}},function(g,o,t){"use strict";var e=t(101),s=t(137),a=Function.prototype.bind,l=Function.prototype.call,u=Object.keys,h=Object.prototype.propertyIsEnumerable;g.exports=function(_,m){return function(b,T){var D,R=arguments[2],j=arguments[3];return b=Object(s(b)),e(T),D=u(b),j&&D.sort("function"==typeof j?a.call(j,b):void 0),"function"!=typeof _&&(_=D[_]),l.call(_,D,function(H,z){return h.call(b,H)?l.call(T,R,b[H],H,b,z):m})}}},function(g,o,t){"use strict";var e=t(733),s=t(411),a=t(123),l=t(747).methods,u=t(748),h=t(764),_=Function.prototype.apply,m=Function.prototype.call,b=Object.create,T=Object.defineProperties,D=l.on,R=l.emit;g.exports=function(j,H,z){var U,M,I,J,B,ie,oe,fe,ne,he,ce,Ae,Se,Oe,be,ue=b(null);return M=!1!==H?H:isNaN(j.length)?1:j.length,z.normalizer&&(he=h(z.normalizer),I=he.get,J=he.set,B=he.delete,ie=he.clear),null!=z.resolvers&&(be=u(z.resolvers)),Oe=I?s(function(He){var $e,F,je=arguments;if(be&&(je=be(je)),null!==($e=I(je))&&hasOwnProperty.call(ue,$e))return ce&&U.emit("get",$e,je,this),ue[$e];if(F=1===je.length?m.call(j,this,je[0]):_.call(j,this,je),null===$e){if(null!==($e=I(je)))throw e("Circular invocation","CIRCULAR_INVOCATION");$e=J(je)}else if(hasOwnProperty.call(ue,$e))throw e("Circular invocation","CIRCULAR_INVOCATION");return ue[$e]=F,Ae&&U.emit("set",$e,null,F),F},M):0===H?function(){var He;if(hasOwnProperty.call(ue,"data"))return ce&&U.emit("get","data",arguments,this),ue.data;if(He=arguments.length?_.call(j,this,arguments):m.call(j,this),hasOwnProperty.call(ue,"data"))throw e("Circular invocation","CIRCULAR_INVOCATION");return ue.data=He,Ae&&U.emit("set","data",null,He),He}:function(He){var $e,F,je=arguments;if(be&&(je=be(arguments)),F=String(je[0]),hasOwnProperty.call(ue,F))return ce&&U.emit("get",F,je,this),ue[F];if($e=1===je.length?m.call(j,this,je[0]):_.call(j,this,je),hasOwnProperty.call(ue,F))throw e("Circular invocation","CIRCULAR_INVOCATION");return ue[F]=$e,Ae&&U.emit("set",F,null,$e),$e},U={original:j,memoized:Oe,profileName:z.profileName,get:function(He){return be&&(He=be(He)),I?I(He):String(He[0])},has:function(He){return hasOwnProperty.call(ue,He)},delete:function(He){var $e;hasOwnProperty.call(ue,He)&&(B&&B(He),$e=ue[He],delete ue[He],Se&&U.emit("delete",He,$e))},clear:function(){var He=ue;ie&&ie(),ue=b(null),U.emit("clear",He)},on:function(He,$e){return"get"===He?ce=!0:"set"===He?Ae=!0:"delete"===He&&(Se=!0),D.call(this,He,$e)},emit:R,updateEnv:function(){j=U.original}},oe=I?s(function(He){var $e,F=arguments;be&&(F=be(F)),null!==($e=I(F))&&U.delete($e)},M):0===H?function(){return U.delete("data")}:function(He){return be&&(He=be(arguments)[0]),U.delete(He)},fe=s(function(){var He,$e=arguments;return 0===H?ue.data:(be&&($e=be($e)),He=I?I($e):String($e[0]),ue[He])}),ne=s(function(){var He,$e=arguments;return 0===H?U.has("data"):(be&&($e=be($e)),null!==(He=I?I($e):String($e[0]))&&U.has(He))}),T(Oe,{__memoized__:a(!0),delete:a(oe),clear:a(U.clear),_get:a(fe),_has:a(ne)}),U}},function(g,o,t){"use strict";var e=t(410),s=t(739),a=t(120),l=Error.captureStackTrace;g.exports=function(u){var h=new Error(u),_=arguments[1],m=arguments[2];return a(m)||s(_)&&(m=_,_=null),a(m)&&e(h,m),a(_)&&(h.code=_),l&&l(h,g.exports),h}},function(g,o,t){"use strict";g.exports=function(){var e,s=Object.assign;return"function"==typeof s&&(s(e={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")}},function(g,o,t){"use strict";var e=t(736),s=t(137),a=Math.max;g.exports=function(l,u){var h,_,m,b=a(arguments.length,2);for(l=Object(s(l)),m=function(T){try{l[T]=u[T]}catch(D){h||(h=D)}},_=1;_<b;++_)e(u=arguments[_]).forEach(m);if(void 0!==h)throw h;return l}},function(g,o,t){"use strict";g.exports=t(737)()?Object.keys:t(738)},function(g,o,t){"use strict";g.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}},function(g,o,t){"use strict";var e=t(120),s=Object.keys;g.exports=function(a){return s(e(a)?Object(a):a)}},function(g,o,t){"use strict";var e=t(120),s={function:!0,object:!0};g.exports=function(a){return e(a)&&s[typeof a]||!1}},function(g,o,t){"use strict";var e=t(741),s=/^\s*class[\s{/}]/,a=Function.prototype.toString;g.exports=function(l){return!!e(l)&&!s.test(a.call(l))}},function(g,o,t){"use strict";var e=t(742);g.exports=function(s){if("function"!=typeof s||!hasOwnProperty.call(s,"length"))return!1;try{if("number"!=typeof s.length||"function"!=typeof s.call||"function"!=typeof s.apply)return!1}catch(a){return!1}return!e(s)}},function(g,o,t){"use strict";var e=t(743);g.exports=function(s){if(!e(s))return!1;try{return!!s.constructor&&s.constructor.prototype===s}catch(a){return!1}}},function(g,o,t){"use strict";var e=t(413),s={object:!0,function:!0,undefined:!0};g.exports=function(a){return!!e(a)&&hasOwnProperty.call(s,typeof a)}},function(g,o,t){"use strict";g.exports=t(745)()?String.prototype.contains:t(746)},function(g,o,t){"use strict";var e="razdwatrzy";g.exports=function(){return"function"==typeof e.contains&&!0===e.contains("dwa")&&!1===e.contains("foo")}},function(g,o,t){"use strict";var e=String.prototype.indexOf;g.exports=function(s){return e.call(this,s,arguments[1])>-1}},function(g,o,t){"use strict";var e,s,a,l,u,h,_,m=t(123),b=t(101),T=Function.prototype.apply,D=Function.prototype.call,R=Object.create,j=Object.defineProperty,H=Object.defineProperties,z=Object.prototype.hasOwnProperty,U={configurable:!0,enumerable:!1,writable:!0};s=function(M,I){var J,B;return b(I),B=this,e.call(this,M,J=function(){a.call(B,M,J),T.call(I,this,arguments)}),J.__eeOnceListener__=I,this},u={on:e=function(M,I){var J;return b(I),z.call(this,"__ee__")?J=this.__ee__:(J=U.value=R(null),j(this,"__ee__",U),U.value=null),J[M]?"object"==typeof J[M]?J[M].push(I):J[M]=[J[M],I]:J[M]=I,this},once:s,off:a=function(M,I){var J,B,ie,oe;if(b(I),!z.call(this,"__ee__"))return this;if(!(J=this.__ee__)[M])return this;if("object"==typeof(B=J[M]))for(oe=0;ie=B[oe];++oe)ie!==I&&ie.__eeOnceListener__!==I||(2===B.length?J[M]=B[oe?0:1]:B.splice(oe,1));else B!==I&&B.__eeOnceListener__!==I||delete J[M];return this},emit:l=function(M){var I,J,B,ie,oe;if(z.call(this,"__ee__")&&(ie=this.__ee__[M]))if("object"==typeof ie){for(J=arguments.length,oe=new Array(J-1),I=1;I<J;++I)oe[I-1]=arguments[I];for(ie=ie.slice(),I=0;B=ie[I];++I)T.call(B,this,oe)}else switch(arguments.length){case 1:D.call(ie,this);break;case 2:D.call(ie,this,arguments[1]);break;case 3:D.call(ie,this,arguments[1],arguments[2]);break;default:for(J=arguments.length,oe=new Array(J-1),I=1;I<J;++I)oe[I-1]=arguments[I];T.call(ie,this,oe)}}},h={on:m(e),once:m(s),off:m(a),emit:m(l)},_=H({},h),g.exports=o=function(M){return null==M?R(_):H(Object(M),h)},o.methods=u},function(g,o,t){"use strict";var e,s=t(749),a=t(120),l=t(101),u=Array.prototype.slice;e=function(h){return this.map(function(_,m){return _?_(h[m]):h[m]}).concat(u.call(h,this.length))},g.exports=function(h){return(h=s(h)).forEach(function(_){a(_)&&l(_)}),e.bind(h)}},function(g,o,t){"use strict";var e=t(247),s=Array.isArray;g.exports=function(a){return s(a)?a:e(a)}},function(g,o,t){"use strict";g.exports=function(){var e,s,a=Array.from;return"function"==typeof a&&(s=a(e=["raz","dwa"]),Boolean(s&&s!==e&&"dwa"===s[1]))}},function(g,o,t){"use strict";var e=t(752).iterator,s=t(761),a=t(762),l=t(121),u=t(101),h=t(137),_=t(120),m=t(763),b=Array.isArray,T=Function.prototype.call,D={configurable:!0,enumerable:!0,writable:!0,value:null},R=Object.defineProperty;g.exports=function(j){var H,z,U,M,I,J,B,ie,oe,fe,ne=arguments[1],he=arguments[2];if(j=Object(h(j)),_(ne)&&u(ne),this&&this!==Array&&a(this))H=this;else{if(!ne){if(s(j))return 1!==(I=j.length)?Array.apply(null,j):((M=new Array(1))[0]=j[0],M);if(b(j)){for(M=new Array(I=j.length),z=0;z<I;++z)M[z]=j[z];return M}}M=[]}if(!b(j))if(void 0!==(oe=j[e])){for(B=u(oe).call(j),H&&(M=new H),ie=B.next(),z=0;!ie.done;)fe=ne?T.call(ne,he,ie.value,z):ie.value,H?(D.value=fe,R(M,z,D)):M[z]=fe,ie=B.next(),++z;I=z}else if(m(j)){for(I=j.length,H&&(M=new H),z=0,U=0;z<I;++z)fe=j[z],z+1<I&&(J=fe.charCodeAt(0))>=55296&&J<=56319&&(fe+=j[++z]),fe=ne?T.call(ne,he,fe,U):fe,H?(D.value=fe,R(M,U,D)):M[U]=fe,++U;I=U}if(void 0===I)for(I=l(j.length),H&&(M=new H(I)),z=0;z<I;++z)fe=ne?T.call(ne,he,j[z],z):j[z],H?(D.value=fe,R(M,z,D)):M[z]=fe;return H&&(D.value=null,M.length=I),M}},function(g,o,t){"use strict";g.exports=t(753)()?t(192).Symbol:t(756)},function(g,o,t){"use strict";var e=t(192),s={object:!0,symbol:!0};g.exports=function(){var a,l=e.Symbol;if("function"!=typeof l)return!1;a=l("test symbol");try{String(a)}catch(u){return!1}return!!s[typeof l.iterator]&&!!s[typeof l.toPrimitive]&&!!s[typeof l.toStringTag]}},function(g,o,t){"use strict";g.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},function(g,o){var t=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};g.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},function(g,o,t){"use strict";var e,s,a,l=t(123),u=t(414),h=t(192).Symbol,_=t(758),m=t(759),b=t(760),T=Object.create,D=Object.defineProperties,R=Object.defineProperty;if("function"==typeof h)try{String(h()),a=!0}catch(j){}else h=null;s=function(j){if(this instanceof s)throw new TypeError("Symbol is not a constructor");return e(j)},g.exports=e=function j(H){var z;if(this instanceof j)throw new TypeError("Symbol is not a constructor");return a?h(H):(z=T(s.prototype),H=void 0===H?"":String(H),D(z,{__description__:l("",H),__name__:l("",_(H))}))},m(e),b(e),D(s.prototype,{constructor:l(e),toString:l("",function(){return this.__name__})}),D(e.prototype,{toString:l(function(){return"Symbol ("+u(this).__description__+")"}),valueOf:l(function(){return u(this)})}),R(e.prototype,e.toPrimitive,l("",function(){var j=u(this);return"symbol"==typeof j?j:j.toString()})),R(e.prototype,e.toStringTag,l("c","Symbol")),R(s.prototype,e.toStringTag,l("c",e.prototype[e.toStringTag])),R(s.prototype,e.toPrimitive,l("c",e.prototype[e.toPrimitive]))},function(g,o,t){"use strict";g.exports=function(e){return!!e&&("symbol"==typeof e||!!e.constructor&&"Symbol"===e.constructor.name&&"Symbol"===e[e.constructor.toStringTag])}},function(g,o,t){"use strict";var e=t(123),a=Object.defineProperty,l=Object.prototype,u=(0,Object.create)(null);g.exports=function(h){for(var _,m,b=0;u[h+(b||"")];)++b;return u[h+=b||""]=!0,a(l,_="@@"+h,e.gs(null,function(T){m||(m=!0,a(this,_,e(T)),m=!1)})),_}},function(g,o,t){"use strict";var e=t(123),s=t(192).Symbol;g.exports=function(a){return Object.defineProperties(a,{hasInstance:e("",s&&s.hasInstance||a("hasInstance")),isConcatSpreadable:e("",s&&s.isConcatSpreadable||a("isConcatSpreadable")),iterator:e("",s&&s.iterator||a("iterator")),match:e("",s&&s.match||a("match")),replace:e("",s&&s.replace||a("replace")),search:e("",s&&s.search||a("search")),species:e("",s&&s.species||a("species")),split:e("",s&&s.split||a("split")),toPrimitive:e("",s&&s.toPrimitive||a("toPrimitive")),toStringTag:e("",s&&s.toStringTag||a("toStringTag")),unscopables:e("",s&&s.unscopables||a("unscopables"))})}},function(g,o,t){"use strict";var e=t(123),s=t(414),a=Object.create(null);g.exports=function(l){return Object.defineProperties(l,{for:e(function(u){return a[u]?a[u]:a[u]=l(String(u))}),keyFor:e(function(u){var h;for(h in s(u),a)if(a[h]===u)return h})})}},function(g,o,t){"use strict";var e=Object.prototype.toString,s=e.call(function(){return arguments}());g.exports=function(a){return e.call(a)===s}},function(g,o,t){"use strict";var e=Object.prototype.toString,s=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);g.exports=function(a){return"function"==typeof a&&s(e.call(a))}},function(g,o,t){"use strict";var e=Object.prototype.toString,s=e.call("");g.exports=function(a){return"string"==typeof a||a&&"object"==typeof a&&(a instanceof String||e.call(a)===s)||!1}},function(g,o,t){"use strict";var e=t(101);g.exports=function(s){var a;return"function"==typeof s?{set:s,get:s}:(a={get:e(s.get)},void 0!==s.set?(a.set=e(s.set),s.delete&&(a.delete=e(s.delete)),s.clear&&(a.clear=e(s.clear)),a):(a.set=a.get,a))}},function(g,o,t){"use strict";g.exports=function(e){var s,a,l=e.length;if(!l)return"\x02";for(s=String(e[a=0]);--l;)s+="\x01"+e[++a];return s}},function(g,o,t){"use strict";g.exports=function(e){return e?function(s){for(var a=String(s[0]),l=0,u=e;--u;)a+="\x01"+s[++l];return a}:function(){return""}}},function(g,o,t){"use strict";var e=t(248),s=Object.create;g.exports=function(){var a=0,l=[],u=s(null);return{get:function(h){var _,m=0,b=l,T=h.length;if(0===T)return b[T]||null;if(b=b[T]){for(;m<T-1;){if(-1===(_=e.call(b[0],h[m])))return null;b=b[1][_],++m}return-1===(_=e.call(b[0],h[m]))?null:b[1][_]||null}return null},set:function(h){var _,m=0,b=l,T=h.length;if(0===T)b[T]=++a;else{for(b[T]||(b[T]=[[],[]]),b=b[T];m<T-1;)-1===(_=e.call(b[0],h[m]))&&(_=b[0].push(h[m])-1,b[1].push([[],[]])),b=b[1][_],++m;-1===(_=e.call(b[0],h[m]))&&(_=b[0].push(h[m])-1),b[1][_]=++a}return u[a]=h,a},delete:function(h){var _,m=0,b=l,T=u[h],D=T.length,R=[];if(0===D)delete b[D];else if(b=b[D]){for(;m<D-1;){if(-1===(_=e.call(b[0],T[m])))return;R.push(b,_),b=b[1][_],++m}if(-1===(_=e.call(b[0],T[m])))return;for(h=b[1][_],b[0].splice(_,1),b[1].splice(_,1);!b[0].length&&R.length;)_=R.pop(),(b=R.pop())[0].splice(_,1),b[1].splice(_,1)}delete u[h]},clear:function(){l=[],u=s(null)}}}},function(g,o,t){"use strict";g.exports=t(769)()?Number.isNaN:t(770)},function(g,o,t){"use strict";g.exports=function(){var e=Number.isNaN;return"function"==typeof e&&!e({})&&e(NaN)&&!e(34)}},function(g,o,t){"use strict";g.exports=function(e){return e!=e}},function(g,o,t){"use strict";var e=t(248);g.exports=function(){var s=0,a=[],l=[];return{get:function(u){var h=e.call(a,u[0]);return-1===h?null:l[h]},set:function(u){return a.push(u[0]),l.push(++s),s},delete:function(u){var h=e.call(l,u);-1!==h&&(a.splice(h,1),l.splice(h,1))},clear:function(){a=[],l=[]}}}},function(g,o,t){"use strict";var e=t(248),s=Object.create;g.exports=function(a){var l=0,u=[[],[]],h=s(null);return{get:function(_){for(var m,b=0,T=u;b<a-1;){if(-1===(m=e.call(T[0],_[b])))return null;T=T[1][m],++b}return-1===(m=e.call(T[0],_[b]))?null:T[1][m]||null},set:function(_){for(var m,b=0,T=u;b<a-1;)-1===(m=e.call(T[0],_[b]))&&(m=T[0].push(_[b])-1,T[1].push([[],[]])),T=T[1][m],++b;return-1===(m=e.call(T[0],_[b]))&&(m=T[0].push(_[b])-1),T[1][m]=++l,h[l]=_,l},delete:function(_){for(var m,b=0,T=u,D=[],R=h[_];b<a-1;){if(-1===(m=e.call(T[0],R[b])))return;D.push(T,m),T=T[1][m],++b}if(-1!==(m=e.call(T[0],R[b]))){for(_=T[1][m],T[0].splice(m,1),T[1].splice(m,1);!T[0].length&&D.length;)m=D.pop(),(T=D.pop())[0].splice(m,1),T[1].splice(m,1);delete h[_]}},clear:function(){u=[[],[]],h=s(null)}}}},function(g,o,t){"use strict";var e=t(247),s=t(415),a=t(412),l=t(411),u=t(249),h=Array.prototype.slice,_=Function.prototype.apply,m=Object.create;t(122).async=function(b,T){var D,R,j,H=m(null),z=m(null),U=T.memoized,M=T.original;T.memoized=l(function(I){var J=arguments,B=J[J.length-1];return"function"==typeof B&&(D=B,J=h.call(J,0,-1)),U.apply(R=this,j=J)},U);try{a(T.memoized,U)}catch(I){}T.on("get",function(I){var J,B,ie;if(D){if(H[I])return"function"==typeof H[I]?H[I]=[H[I],D]:H[I].push(D),void(D=null);J=D,B=R,ie=j,D=R=j=null,u(function(){var oe;hasOwnProperty.call(z,I)?(oe=z[I],T.emit("getasync",I,ie,B),_.call(J,oe.context,oe.args)):(D=J,R=B,j=ie,U.apply(B,ie))})}}),T.original=function(){var I,J,B,ie;return D?(I=e(arguments),B=D,D=R=j=null,I.push(J=function oe(fe){var ne,he,ce=oe.id;if(null!=ce){if(delete oe.id,ne=H[ce],delete H[ce],ne)return he=e(arguments),T.has(ce)&&(fe?T.delete(ce):(z[ce]={context:this,args:he},T.emit("setasync",ce,"function"==typeof ne?1:ne.length))),"function"==typeof ne?ie=_.call(ne,this,he):ne.forEach(function(Ae){ie=_.call(Ae,this,he)},this),ie}else u(_.bind(oe,this,arguments))}),ie=_.call(M,this,I),J.cb=B,D=J,ie):_.call(M,this,arguments)},T.on("set",function(I){D?(H[I]?"function"==typeof H[I]?H[I]=[H[I],D.cb]:H[I].push(D.cb):H[I]=D.cb,delete D.cb,D.id=I,D=null):T.delete(I)}),T.on("delete",function(I){var J;hasOwnProperty.call(H,I)||z[I]&&(J=z[I],delete z[I],T.emit("deleteasync",I,h.call(J.args,1)))}),T.on("clear",function(){var I=z;z=m(null),T.emit("clearasync",s(I,function(J){return h.call(J.args,1)}))})}},function(g,o,t){"use strict";var e=t(415),s=t(775),a=t(776),l=t(778),u=t(417),h=t(249),_=Object.create,m=s("then","then:finally","done","done:finally");t(122).promise=function(b,T){var D=_(null),R=_(null),j=_(null);if(!0===b)b=null;else if(b=a(b),!m[b])throw new TypeError("'"+l(b)+"' is not valid promise mode");T.on("set",function(H,z,U){var M=!1;if(!u(U))return R[H]=U,void T.emit("setasync",H,1);D[H]=1,j[H]=U;var I=function(oe){var fe=D[H];if(M)throw new Error("Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in 'done:finally' mode)\nConsider to rely on 'then' or 'done' mode instead.");fe&&(delete D[H],R[H]=oe,T.emit("setasync",H,fe))},J=function(){M=!0,D[H]&&(delete D[H],delete j[H],T.delete(H))},B=b;if(B||(B="then"),"then"===B){var ie=function(){h(J)};"function"==typeof(U=U.then(function(oe){h(I.bind(this,oe))},ie)).finally&&U.finally(ie)}else if("done"===B){if("function"!=typeof U.done)throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done' mode");U.done(I,J)}else if("done:finally"===B){if("function"!=typeof U.done)throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done:finally' mode");if("function"!=typeof U.finally)throw new Error("Memoizee error: Retrieved promise does not implement 'finally' in 'done:finally' mode");U.done(I),U.finally(J)}}),T.on("get",function(H,z,U){var M;if(D[H])++D[H];else{var I=function(){T.emit("getasync",H,z,U)};u(M=j[H])?"function"==typeof M.done?M.done(I):M.then(function(){h(I)}):I()}}),T.on("delete",function(H){if(delete j[H],D[H])delete D[H];else if(hasOwnProperty.call(R,H)){var z=R[H];delete R[H],T.emit("deleteasync",H,[z])}}),T.on("clear",function(){var H=R;R=_(null),D=_(null),j=_(null),T.emit("clearasync",e(H,function(z){return[z]}))})}},function(g,o,t){"use strict";var e=Array.prototype.forEach,s=Object.create;g.exports=function(a){var l=s(null);return e.call(arguments,function(u){l[u]=!0}),l}},function(g,o,t){"use strict";var e=t(137),s=t(777);g.exports=function(a){return s(e(a))}},function(g,o,t){"use strict";var e=t(416);g.exports=function(s){try{return s&&e(s.toString)?s.toString():String(s)}catch(a){throw new TypeError("Passed argument cannot be stringifed")}}},function(g,o,t){"use strict";var e=t(779),s=/[\n\r\u2028\u2029]/g;g.exports=function(a){var l=e(a);return l.length>100&&(l=l.slice(0,99)+"\u2026"),l.replace(s,function(u){return JSON.stringify(u).slice(1,-1)})}},function(g,o,t){"use strict";var e=t(416);g.exports=function(s){try{return s&&e(s.toString)?s.toString():String(s)}catch(a){return"<Non-coercible to string value>"}}},function(g,o,t){"use strict";var e=t(101),s=t(191),a=t(122),l=Function.prototype.apply;a.dispose=function(u,h,_){var m;if(e(u),_.async&&a.async||_.promise&&a.promise)return h.on("deleteasync",m=function(b,T){l.call(u,null,T)}),void h.on("clearasync",function(b){s(b,function(T,D){m(D,T)})});h.on("delete",m=function(b,T){u(T)}),h.on("clear",function(b){s(b,function(T,D){m(D,T)})})}},function(g,o,t){"use strict";var e=t(247),s=t(191),a=t(249),l=t(417),u=t(782),h=t(122),_=Function.prototype,m=Math.max,b=Math.min,T=Object.create;h.maxAge=function(D,R,j){var H,z,U,M;(D=u(D))&&(H=T(null),R.on("set"+(z=j.async&&h.async||j.promise&&h.promise?"async":""),function(I){H[I]=setTimeout(function(){R.delete(I)},D),"function"==typeof H[I].unref&&H[I].unref(),M&&(M[I]&&"nextTick"!==M[I]&&clearTimeout(M[I]),M[I]=setTimeout(function(){delete M[I]},U),"function"==typeof M[I].unref&&M[I].unref())}),R.on("delete"+z,function(I){clearTimeout(H[I]),delete H[I],M&&("nextTick"!==M[I]&&clearTimeout(M[I]),delete M[I])}),j.preFetch&&(U=!0===j.preFetch||isNaN(j.preFetch)?.333:m(b(Number(j.preFetch),1),0))&&(M={},U=(1-U)*D,R.on("get"+z,function(I,J,B){M[I]||(M[I]="nextTick",a(function(){var ie;"nextTick"===M[I]&&(delete M[I],R.delete(I),j.async&&(J=e(J)).push(_),ie=R.memoized.apply(B,J),j.promise&&l(ie)&&("function"==typeof ie.done?ie.done(_,_):ie.then(_,_)))}))})),R.on("clear"+z,function(){s(H,function(I){clearTimeout(I)}),H={},M&&(s(M,function(I){"nextTick"!==I&&clearTimeout(I)}),M={})}))}},function(g,o,t){"use strict";var e=t(121),s=t(783);g.exports=function(a){if((a=e(a))>s)throw new TypeError(a+" exceeds maximum possible timeout");return a}},function(g,o,t){"use strict";g.exports=2147483647},function(g,o,t){"use strict";var e=t(121),s=t(785),a=t(122);a.max=function(l,u,h){var _,m,b;(l=e(l))&&(m=s(l),u.on("set"+(_=h.async&&a.async||h.promise&&a.promise?"async":""),b=function(T){void 0!==(T=m.hit(T))&&u.delete(T)}),u.on("get"+_,b),u.on("delete"+_,m.delete),u.on("clear"+_,m.clear))}},function(g,o,t){"use strict";var e=t(121),s=Object.create,a=Object.prototype.hasOwnProperty;g.exports=function(l){var u,h=0,_=1,m=s(null),b=s(null),T=0;return l=e(l),{hit:function(D){var R=b[D],j=++T;if(m[j]=D,b[D]=j,!R)return++h<=l?void 0:(u(D=m[_]),D);if(delete m[R],_===R)for(;!a.call(m,++_););},delete:u=function(D){var R=b[D];if(R&&(delete m[R],delete b[D],--h,_===R)){if(!h)return T=0,void(_=1);for(;!a.call(m,++_););}},clear:function(){h=0,_=1,m=s(null),b=s(null),T=0}}}},function(g,o,t){"use strict";var e=t(123),s=t(122),a=Object.create,l=Object.defineProperties;s.refCounter=function(u,h,_){var m,b;m=a(null),h.on("set"+(b=_.async&&s.async||_.promise&&s.promise?"async":""),function(T,D){m[T]=D||1}),h.on("get"+b,function(T){++m[T]}),h.on("delete"+b,function(T){delete m[T]}),h.on("clear"+b,function(){m={}}),l(h.memoized,{deleteRef:e(function(){var T=h.get(arguments);return null===T?null:m[T]?!--m[T]&&(h.delete(T),!0):null}),getRefCount:e(function(){var T=h.get(arguments);return null===T?0:m[T]?m[T]:0})})}},function(g,o,t){var e=t(64),s=t(138),a=t(65).Buffer,l=[1518500249,1859775393,-1894007588,-899497514],u=new Array(80);function h(){this.init(),this._w=u,s.call(this,64,56)}function _(b){return b<<30|b>>>2}function m(b,T,D,R){return 0===b?T&D|~T&R:2===b?T&D|T&R|D&R:T^D^R}e(h,s),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(b){for(var T,D=this._w,R=0|this._a,j=0|this._b,H=0|this._c,z=0|this._d,U=0|this._e,M=0;M<16;++M)D[M]=b.readInt32BE(4*M);for(;M<80;++M)D[M]=D[M-3]^D[M-8]^D[M-14]^D[M-16];for(var I=0;I<80;++I){var J=~~(I/20),B=0|((T=R)<<5|T>>>27)+m(J,j,H,z)+U+D[I]+l[J];U=z,z=H,H=_(j),j=R,R=B}this._a=R+this._a|0,this._b=j+this._b|0,this._c=H+this._c|0,this._d=z+this._d|0,this._e=U+this._e|0},h.prototype._hash=function(){var b=a.allocUnsafe(20);return b.writeInt32BE(0|this._a,0),b.writeInt32BE(0|this._b,4),b.writeInt32BE(0|this._c,8),b.writeInt32BE(0|this._d,12),b.writeInt32BE(0|this._e,16),b},g.exports=h},function(g,o,t){var e=t(64),s=t(138),a=t(65).Buffer,l=[1518500249,1859775393,-1894007588,-899497514],u=new Array(80);function h(){this.init(),this._w=u,s.call(this,64,56)}function _(T){return T<<5|T>>>27}function m(T){return T<<30|T>>>2}function b(T,D,R,j){return 0===T?D&R|~D&j:2===T?D&R|D&j|R&j:D^R^j}e(h,s),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(T){for(var D,R=this._w,j=0|this._a,H=0|this._b,z=0|this._c,U=0|this._d,M=0|this._e,I=0;I<16;++I)R[I]=T.readInt32BE(4*I);for(;I<80;++I)R[I]=(D=R[I-3]^R[I-8]^R[I-14]^R[I-16])<<1|D>>>31;for(var J=0;J<80;++J){var B=~~(J/20),ie=_(j)+b(B,H,z,U)+M+R[J]+l[B]|0;M=U,U=z,z=m(H),H=j,j=ie}this._a=j+this._a|0,this._b=H+this._b|0,this._c=z+this._c|0,this._d=U+this._d|0,this._e=M+this._e|0},h.prototype._hash=function(){var T=a.allocUnsafe(20);return T.writeInt32BE(0|this._a,0),T.writeInt32BE(0|this._b,4),T.writeInt32BE(0|this._c,8),T.writeInt32BE(0|this._d,12),T.writeInt32BE(0|this._e,16),T},g.exports=h},function(g,o,t){var e=t(64),s=t(418),a=t(138),l=t(65).Buffer,u=new Array(64);function h(){this.init(),this._w=u,a.call(this,64,56)}e(h,s),h.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},h.prototype._hash=function(){var _=l.allocUnsafe(28);return _.writeInt32BE(this._a,0),_.writeInt32BE(this._b,4),_.writeInt32BE(this._c,8),_.writeInt32BE(this._d,12),_.writeInt32BE(this._e,16),_.writeInt32BE(this._f,20),_.writeInt32BE(this._g,24),_},g.exports=h},function(g,o,t){var e=t(64),s=t(419),a=t(138),l=t(65).Buffer,u=new Array(160);function h(){this.init(),this._w=u,a.call(this,128,112)}e(h,s),h.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},h.prototype._hash=function(){var _=l.allocUnsafe(48);function m(b,T,D){_.writeInt32BE(b,D),_.writeInt32BE(T,D+4)}return m(this._ah,this._al,0),m(this._bh,this._bl,8),m(this._ch,this._cl,16),m(this._dh,this._dl,24),m(this._eh,this._el,32),m(this._fh,this._fl,40),_},g.exports=h},function(g,o,t){var e=t(792);g.exports=e},function(g,o,t){var e=t(35),s=t(793),a=Array.prototype;g.exports=function(l){var u=l.every;return l===a||e(a,l)&&u===a.every?s:u}},function(g,o,t){t(794);var e=t(42);g.exports=e("Array").every},function(g,o,t){"use strict";var e=t(22),s=t(87).every;e({target:"Array",proto:!0,forced:!t(114)("every")},{every:function(a){return s(this,a,arguments.length>1?arguments[1]:void 0)}})},function(g,o){g.exports=function(t,e,s,a,l){return l(t,function(u,h,_){s=a?(a=!1,u):e(s,u,h,_)}),s}},function(g,o,t){var e=t(345);g.exports=e},function(g,o,t){var e=t(798);g.exports=e},function(g,o,t){var e=t(799);g.exports=e},function(g,o,t){t(333);var e=t(34);g.exports=e.Object.getOwnPropertySymbols},function(g,o,t){g.exports=t(801)},function(g,o,t){var e=t(344);g.exports=e},function(g,o,t){g.exports=t(803)},function(g,o,t){var e=t(804);g.exports=e},function(g,o,t){var e=t(805);g.exports=e},function(g,o,t){t(806);var e=t(34).Object,s=g.exports=function(a,l){return e.getOwnPropertyDescriptor(a,l)};e.getOwnPropertyDescriptor.sham&&(s.sham=!0)},function(g,o,t){var e=t(22),s=t(33),a=t(61),l=t(111).f,u=t(48),h=s(function(){l(1)});e({target:"Object",stat:!0,forced:!u||h,sham:!u},{getOwnPropertyDescriptor:function(_,m){return l(a(_),m)}})},function(g,o,t){g.exports=t(808)},function(g,o,t){var e=t(381);g.exports=e},function(g,o,t){g.exports=t(810)},function(g,o,t){var e=t(811);g.exports=e},function(g,o,t){var e=t(812);g.exports=e},function(g,o,t){t(813);var e=t(34);g.exports=e.Object.getOwnPropertyDescriptors},function(g,o,t){var e=t(22),s=t(48),a=t(422),l=t(61),u=t(111),h=t(147);e({target:"Object",stat:!0,sham:!s},{getOwnPropertyDescriptors:function(_){for(var m,b,T=l(_),D=u.f,R=a(T),j={},H=0;R.length>H;)void 0!==(b=D(T,m=R[H++]))&&h(j,m,b);return j}})},function(g,o,t){g.exports=t(815)},function(g,o,t){var e=t(816);g.exports=e},function(g,o,t){var e=t(817);g.exports=e},function(g,o,t){t(818);var e=t(34).Object,s=g.exports=function(a,l){return e.defineProperties(a,l)};e.defineProperties.sham&&(s.sham=!0)},function(g,o,t){var e=t(22),s=t(48);e({target:"Object",stat:!0,forced:!s,sham:!s},{defineProperties:t(218)})},function(g,o,t){var e=t(385);g.exports=e},function(g,o,t){var e=t(420),s=t(423);g.exports=function(a,l){if(null==a)return{};var u,h,_={},m=e(a);for(h=0;h<m.length;h++)u=m[h],s(l).call(l,u)>=0||(_[u]=a[u]);return _},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(822)},function(g,o,t){var e=t(424);t(836),t(837),t(838),t(839),g.exports=e},function(g,o,t){t(425),t(77),t(97),t(829),t(433),t(434),t(835),t(131);var e=t(34);g.exports=e.Promise},function(g,o,t){var e=t(44),s=t(422),a=t(111),l=t(63);g.exports=function(u,h){for(var _=s(h),m=l.f,b=a.f,T=0;T<_.length;T++){var D=_[T];e(u,D)||m(u,D,b(h,D))}}},function(g,o,t){var e=t(27),s=t(86),a=e("".replace),l=e("".split),u=e([].join),h=String(Error("zxcasd").stack),_=/\n\s*at [^:]*:[^\n]*/,m=_.test(h),b=/@[^\n]*\n/.test(h)&&!/zxcasd/.test(h);g.exports=function(T,D){if("string"!=typeof T)return T;if(m)for(;D--;)T=a(T,_,"");else if(b)return u(s(l(T,"\n"),D),"\n");return T}},function(g,o,t){var e=t(43),s=t(85);g.exports=function(a,l){e(l)&&"cause"in l&&s(a,"cause",l.cause)}},function(g,o,t){var e=t(67);g.exports=function(s,a){return void 0===s?arguments.length<2?"":a:e(s)}},function(g,o,t){var e=t(33),s=t(94);g.exports=!e(function(){var a=Error("a");return!("stack"in a)||(Object.defineProperty(a,"stack",s(1,7)),7!==a.stack)})},function(g,o,t){"use strict";var e,s,a,l,u=t(22),h=t(96),_=t(17),m=t(58),b=t(50),T=t(426),D=t(99),R=t(158),j=t(176),H=t(100),z=t(427),U=t(73),M=t(41),I=t(43),J=t(139),B=t(217),ie=t(124),oe=t(378),fe=t(428),ne=t(430).set,he=t(830),ce=t(432),Ae=t(833),Se=t(159),Oe=t(193),be=t(76),ue=t(331),He=t(38),$e=t(834),F=t(177),je=t(128),Et=He("species"),lt="Promise",nn=be.get,St=be.set,Ot=be.getterFor(lt),Qe=T&&T.prototype,It=T,ae=Qe,Ie=_.TypeError,dt=_.document,Jt=_.process,zt=Se.f,ln=zt,ar=!!(dt&&dt.createEvent&&_.dispatchEvent),Ln=M(_.PromiseRejectionEvent),Rn="unhandledrejection",er=!1,Mn=ue(lt,function(){var En=B(It),Fn=En!==String(It);if(!Fn&&66===je||h&&!ae.finally)return!0;if(je>=51&&/native code/.test(En))return!1;var Dn=new It(function(jn){jn(1)}),mn=function(jn){jn(function(){},function(){})};return(Dn.constructor={})[Et]=mn,!(er=Dn.then(function(){})instanceof mn)||!Fn&&$e&&!Ln}),Ht=Mn||!oe(function(En){It.all(En).catch(function(){})}),tr=function(En){var Fn;return!(!I(En)||!M(Fn=En.then))&&Fn},Yn=function(En,Fn){if(!En.notified){En.notified=!0;var Dn=En.reactions;he(function(){for(var mn=En.value,jn=1==En.state,Xt=0;Dn.length>Xt;){var ut,mt,Tt,yn=Dn[Xt++],et=jn?yn.ok:yn.fail,jt=yn.resolve,hn=yn.reject,Qn=yn.domain;try{et?(jn||(2===En.rejection&&Kn(En),En.rejection=1),!0===et?ut=mn:(Qn&&Qn.enter(),ut=et(mn),Qn&&(Qn.exit(),Tt=!0)),ut===yn.promise?hn(Ie("Promise-chain cycle")):(mt=tr(ut))?b(mt,ut,jt,hn):jt(ut)):hn(mn)}catch(Ir){Qn&&!Tt&&Qn.exit(),hn(Ir)}}En.reactions=[],En.notified=!1,Fn&&!En.rejection&&Kt(En)})}},Cn=function(En,Fn,Dn){var mn,jn;ar?((mn=dt.createEvent("Event")).promise=Fn,mn.reason=Dn,mn.initEvent(En,!1,!0),_.dispatchEvent(mn)):mn={promise:Fn,reason:Dn},!Ln&&(jn=_["on"+En])?jn(mn):En===Rn&&Ae("Unhandled promise rejection",Dn)},Kt=function(En){b(ne,_,function(){var Fn,Dn=En.facade,mn=En.value;if(dn(En)&&(Fn=Oe(function(){F?Jt.emit("unhandledRejection",mn,Dn):Cn(Rn,Dn,mn)}),En.rejection=F||dn(En)?2:1,Fn.error))throw Fn.value})},dn=function(En){return 1!==En.rejection&&!En.parent},Kn=function(En){b(ne,_,function(){var Fn=En.facade;F?Jt.emit("rejectionHandled",Fn):Cn("rejectionhandled",Fn,En.value)})},qn=function(En,Fn,Dn){return function(mn){En(Fn,mn,Dn)}},Sn=function(En,Fn,Dn){En.done||(En.done=!0,Dn&&(En=Dn),En.value=Fn,En.state=2,Yn(En,!0))},$n=function(En,Fn,Dn){if(!En.done){En.done=!0,Dn&&(En=Dn);try{if(En.facade===Fn)throw Ie("Promise can't be resolved itself");var mn=tr(Fn);mn?he(function(){var jn={done:!1};try{b(mn,Fn,qn($n,jn,En),qn(Sn,jn,En))}catch(Xt){Sn(jn,Xt,En)}}):(En.value=Fn,En.state=1,Yn(En,!1))}catch(jn){Sn({done:!1},jn,En)}}};if(Mn&&(ae=(It=function(En){J(this,ae),U(En),b(e,this);var Fn=nn(this);try{En(qn($n,Fn),qn(Sn,Fn))}catch(Dn){Sn(Fn,Dn)}}).prototype,(e=function(En){St(this,{type:lt,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=R(ae,{then:function(En,Fn){var Dn=Ot(this),mn=Dn.reactions,jn=zt(fe(this,It));return jn.ok=!M(En)||En,jn.fail=M(Fn)&&Fn,jn.domain=F?Jt.domain:void 0,Dn.parent=!0,mn[mn.length]=jn,0!=Dn.state&&Yn(Dn,!1),jn.promise},catch:function(En){return this.then(void 0,En)}}),s=function(){var En=new e,Fn=nn(En);this.promise=En,this.resolve=qn($n,Fn),this.reject=qn(Sn,Fn)},Se.f=zt=function(En){return En===It||En===a?new s(En):ln(En)},!h&&M(T)&&Qe!==Object.prototype)){l=Qe.then,er||(D(Qe,"then",function(En,Fn){var Dn=this;return new It(function(mn,jn){b(l,Dn,mn,jn)}).then(En,Fn)},{unsafe:!0}),D(Qe,"catch",ae.catch,{unsafe:!0}));try{delete Qe.constructor}catch(En){}j&&j(Qe,ae)}u({global:!0,wrap:!0,forced:Mn},{Promise:It}),H(It,lt,!1,!0),z(lt),a=m(lt),u({target:lt,stat:!0,forced:Mn},{reject:function(En){var Fn=zt(this);return b(Fn.reject,void 0,En),Fn.promise}}),u({target:lt,stat:!0,forced:h||Mn},{resolve:function(En){return ce(h&&this===a?It:this,En)}}),u({target:lt,stat:!0,forced:Ht},{all:function(En){var Fn=this,Dn=zt(Fn),mn=Dn.resolve,jn=Dn.reject,Xt=Oe(function(){var ut=U(Fn.resolve),mt=[],Tt=0,yn=1;ie(En,function(et){var jt=Tt++,hn=!1;yn++,b(ut,Fn,et).then(function(Qn){hn||(hn=!0,mt[jt]=Qn,--yn||mn(mt))},jn)}),--yn||mn(mt)});return Xt.error&&jn(Xt.value),Dn.promise},race:function(En){var Fn=this,Dn=zt(Fn),mn=Dn.reject,jn=Oe(function(){var Xt=U(Fn.resolve);ie(En,function(ut){b(Xt,Fn,ut).then(Dn.resolve,mn)})});return jn.error&&mn(jn.value),Dn.promise}})},function(g,o,t){var e,s,a,l,u,h,_,m,b=t(17),T=t(84),D=t(111).f,R=t(430).set,j=t(431),H=t(831),z=t(832),U=t(177),M=b.MutationObserver||b.WebKitMutationObserver,I=b.document,J=b.process,B=b.Promise,ie=D(b,"queueMicrotask"),oe=ie&&ie.value;oe||(e=function(){var fe,ne;for(U&&(fe=J.domain)&&fe.exit();s;){ne=s.fn,s=s.next;try{ne()}catch(he){throw s?l():a=void 0,he}}a=void 0,fe&&fe.enter()},j||U||z||!M||!I?!H&&B&&B.resolve?((_=B.resolve(void 0)).constructor=B,m=T(_.then,_),l=function(){m(e)}):U?l=function(){J.nextTick(e)}:(R=T(R,b),l=function(){R(e)}):(u=!0,h=I.createTextNode(""),new M(e).observe(h,{characterData:!0}),l=function(){h.data=u=!u})),g.exports=oe||function(fe){var ne={fn:fe,next:void 0};a&&(a.next=ne),s||(s=ne,l()),a=ne}},function(g,o,t){var e=t(95),s=t(17);g.exports=/ipad|iphone|ipod/i.test(e)&&void 0!==s.Pebble},function(g,o,t){var e=t(95);g.exports=/web0s(?!.*chrome)/i.test(e)},function(g,o,t){var e=t(17);g.exports=function(s,a){var l=e.console;l&&l.error&&(1==arguments.length?l.error(s):l.error(s,a))}},function(g,o){g.exports="object"==typeof window},function(g,o,t){"use strict";var e=t(22),s=t(96),a=t(426),l=t(33),u=t(58),h=t(41),_=t(428),m=t(432),b=t(99);if(e({target:"Promise",proto:!0,real:!0,forced:!!a&&l(function(){a.prototype.finally.call({then:function(){}},function(){})})},{finally:function(D){var R=_(this,u("Promise")),j=h(D);return this.then(j?function(H){return m(R,D()).then(function(){return H})}:D,j?function(H){return m(R,D()).then(function(){throw H})}:D)}}),!s&&h(a)){var T=u("Promise").prototype.finally;a.prototype.finally!==T&&b(a.prototype,"finally",T,{unsafe:!0})}},function(g,o,t){t(425)},function(g,o,t){t(433)},function(g,o,t){"use strict";var e=t(22),s=t(159),a=t(193);e({target:"Promise",stat:!0},{try:function(l){var u=s.f(this),h=a(l);return(h.error?u.reject:u.resolve)(h.value),u.promise}})},function(g,o,t){t(434)},function(g,o,t){var e=function(s){"use strict";var a,l=Object.prototype,u=l.hasOwnProperty,h="function"==typeof Symbol?Symbol:{},_=h.iterator||"@@iterator",m=h.asyncIterator||"@@asyncIterator",b=h.toStringTag||"@@toStringTag";function T($e,F,je){return Object.defineProperty($e,F,{value:je,enumerable:!0,configurable:!0,writable:!0}),$e[F]}try{T({},"")}catch($e){T=function(F,je,Et){return F[je]=Et}}function D($e,F,je,Et){var Ot,Qe,It,ae,nn=Object.create((F&&F.prototype instanceof I?F:I).prototype),St=new be(Et||[]);return nn._invoke=(Ot=$e,Qe=je,It=St,ae=j,function(Ie,dt){if(ae===z)throw new Error("Generator is already running");if(ae===U){if("throw"===Ie)throw dt;return He()}for(It.method=Ie,It.arg=dt;;){var Jt=It.delegate;if(Jt){var zt=Ae(Jt,It);if(zt){if(zt===M)continue;return zt}}if("next"===It.method)It.sent=It._sent=It.arg;else if("throw"===It.method){if(ae===j)throw ae=U,It.arg;It.dispatchException(It.arg)}else"return"===It.method&&It.abrupt("return",It.arg);ae=z;var ln=R(Ot,Qe,It);if("normal"===ln.type){if(ae=It.done?U:H,ln.arg===M)continue;return{value:ln.arg,done:It.done}}"throw"===ln.type&&(ae=U,It.method="throw",It.arg=ln.arg)}}),nn}function R($e,F,je){try{return{type:"normal",arg:$e.call(F,je)}}catch(Et){return{type:"throw",arg:Et}}}s.wrap=D;var j="suspendedStart",H="suspendedYield",z="executing",U="completed",M={};function I(){}function J(){}function B(){}var ie={};T(ie,_,function(){return this});var oe=Object.getPrototypeOf,fe=oe&&oe(oe(ue([])));fe&&fe!==l&&u.call(fe,_)&&(ie=fe);var ne=B.prototype=I.prototype=Object.create(ie);function he($e){["next","throw","return"].forEach(function(F){T($e,F,function(je){return this._invoke(F,je)})})}function ce($e,F){function je(lt,nn,St,Ot){var Qe=R($e[lt],$e,nn);if("throw"!==Qe.type){var It=Qe.arg,ae=It.value;return ae&&"object"==typeof ae&&u.call(ae,"__await")?F.resolve(ae.__await).then(function(Ie){je("next",Ie,St,Ot)},function(Ie){je("throw",Ie,St,Ot)}):F.resolve(ae).then(function(Ie){It.value=Ie,St(It)},function(Ie){return je("throw",Ie,St,Ot)})}Ot(Qe.arg)}var Et;this._invoke=function(lt,nn){function St(){return new F(function(Ot,Qe){je(lt,nn,Ot,Qe)})}return Et=Et?Et.then(St,St):St()}}function Ae($e,F){var je=$e.iterator[F.method];if(je===a){if(F.delegate=null,"throw"===F.method){if($e.iterator.return&&(F.method="return",F.arg=a,Ae($e,F),"throw"===F.method))return M;F.method="throw",F.arg=new TypeError("The iterator does not provide a 'throw' method")}return M}var Et=R(je,$e.iterator,F.arg);if("throw"===Et.type)return F.method="throw",F.arg=Et.arg,F.delegate=null,M;var lt=Et.arg;return lt?lt.done?(F[$e.resultName]=lt.value,F.next=$e.nextLoc,"return"!==F.method&&(F.method="next",F.arg=a),F.delegate=null,M):lt:(F.method="throw",F.arg=new TypeError("iterator result is not an object"),F.delegate=null,M)}function Se($e){var F={tryLoc:$e[0]};1 in $e&&(F.catchLoc=$e[1]),2 in $e&&(F.finallyLoc=$e[2],F.afterLoc=$e[3]),this.tryEntries.push(F)}function Oe($e){var F=$e.completion||{};F.type="normal",delete F.arg,$e.completion=F}function be($e){this.tryEntries=[{tryLoc:"root"}],$e.forEach(Se,this),this.reset(!0)}function ue($e){if($e){var F=$e[_];if(F)return F.call($e);if("function"==typeof $e.next)return $e;if(!isNaN($e.length)){var je=-1,Et=function lt(){for(;++je<$e.length;)if(u.call($e,je))return lt.value=$e[je],lt.done=!1,lt;return lt.value=a,lt.done=!0,lt};return Et.next=Et}}return{next:He}}function He(){return{value:a,done:!0}}return J.prototype=B,T(ne,"constructor",B),T(B,"constructor",J),J.displayName=T(B,b,"GeneratorFunction"),s.isGeneratorFunction=function($e){var F="function"==typeof $e&&$e.constructor;return!!F&&(F===J||"GeneratorFunction"===(F.displayName||F.name))},s.mark=function($e){return Object.setPrototypeOf?Object.setPrototypeOf($e,B):($e.__proto__=B,T($e,b,"GeneratorFunction")),$e.prototype=Object.create(ne),$e},s.awrap=function($e){return{__await:$e}},he(ce.prototype),T(ce.prototype,m,function(){return this}),s.AsyncIterator=ce,s.async=function($e,F,je,Et,lt){void 0===lt&&(lt=Promise);var nn=new ce(D($e,F,je,Et),lt);return s.isGeneratorFunction(F)?nn:nn.next().then(function(St){return St.done?St.value:nn.next()})},he(ne),T(ne,b,"Generator"),T(ne,_,function(){return this}),T(ne,"toString",function(){return"[object Generator]"}),s.keys=function($e){var F=[];for(var je in $e)F.push(je);return F.reverse(),function Et(){for(;F.length;){var lt=F.pop();if(lt in $e)return Et.value=lt,Et.done=!1,Et}return Et.done=!0,Et}},s.values=ue,be.prototype={constructor:be,reset:function($e){if(this.prev=0,this.next=0,this.sent=this._sent=a,this.done=!1,this.delegate=null,this.method="next",this.arg=a,this.tryEntries.forEach(Oe),!$e)for(var F in this)"t"===F.charAt(0)&&u.call(this,F)&&!isNaN(+F.slice(1))&&(this[F]=a)},stop:function(){this.done=!0;var $e=this.tryEntries[0].completion;if("throw"===$e.type)throw $e.arg;return this.rval},dispatchException:function($e){if(this.done)throw $e;var F=this;function je(Qe,It){return nn.type="throw",nn.arg=$e,F.next=Qe,It&&(F.method="next",F.arg=a),!!It}for(var Et=this.tryEntries.length-1;Et>=0;--Et){var lt=this.tryEntries[Et],nn=lt.completion;if("root"===lt.tryLoc)return je("end");if(lt.tryLoc<=this.prev){var St=u.call(lt,"catchLoc"),Ot=u.call(lt,"finallyLoc");if(St&&Ot){if(this.prev<lt.catchLoc)return je(lt.catchLoc,!0);if(this.prev<lt.finallyLoc)return je(lt.finallyLoc)}else if(St){if(this.prev<lt.catchLoc)return je(lt.catchLoc,!0)}else{if(!Ot)throw new Error("try statement without catch or finally");if(this.prev<lt.finallyLoc)return je(lt.finallyLoc)}}}},abrupt:function($e,F){for(var je=this.tryEntries.length-1;je>=0;--je){var Et=this.tryEntries[je];if(Et.tryLoc<=this.prev&&u.call(Et,"finallyLoc")&&this.prev<Et.finallyLoc){var lt=Et;break}}lt&&("break"===$e||"continue"===$e)&<.tryLoc<=F&&F<=lt.finallyLoc&&(lt=null);var nn=lt?lt.completion:{};return nn.type=$e,nn.arg=F,lt?(this.method="next",this.next=lt.finallyLoc,M):this.complete(nn)},complete:function($e,F){if("throw"===$e.type)throw $e.arg;return"break"===$e.type||"continue"===$e.type?this.next=$e.arg:"return"===$e.type?(this.rval=this.arg=$e.arg,this.method="return",this.next="end"):"normal"===$e.type&&F&&(this.next=F),M},finish:function($e){for(var F=this.tryEntries.length-1;F>=0;--F){var je=this.tryEntries[F];if(je.finallyLoc===$e)return this.complete(je.completion,je.afterLoc),Oe(je),M}},catch:function($e){for(var F=this.tryEntries.length-1;F>=0;--F){var je=this.tryEntries[F];if(je.tryLoc===$e){var Et=je.completion;if("throw"===Et.type){var lt=Et.arg;Oe(je)}return lt}}throw new Error("illegal catch attempt")},delegateYield:function($e,F,je){return this.delegate={iterator:ue($e),resultName:F,nextLoc:je},"next"===this.method&&(this.arg=a),M}},s}(g.exports);try{regeneratorRuntime=e}catch(s){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},function(g,o,t){var e=t(842);g.exports=e},function(g,o,t){t(843);var e=t(34);g.exports=e.Object.values},function(g,o,t){var e=t(22),s=t(435).values;e({target:"Object",stat:!0},{values:function(a){return s(a)}})},function(g,o,t){var e=t(845);g.exports=e},function(g,o,t){t(846);var e=t(34);g.exports=e.Date.now},function(g,o,t){var e=t(22),s=t(17),a=t(27),l=s.Date,u=a(l.prototype.getTime);e({target:"Date",stat:!0},{now:function(){return u(new l)}})},function(g,o,t){"use strict";g.exports=function(e,s){if(s=s.split(":")[0],!(e=+e))return!1;switch(s){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},function(g,o,t){"use strict";var e=Object.prototype.hasOwnProperty;function s(l){try{return decodeURIComponent(l.replace(/\+/g," "))}catch(u){return null}}function a(l){try{return encodeURIComponent(l)}catch(u){return null}}o.stringify=function(l,u){u=u||"";var h,_,m=[];for(_ in"string"!=typeof u&&(u="?"),l)if(e.call(l,_)){if((h=l[_])||null!=h&&!isNaN(h)||(h=""),_=a(_),h=a(h),null===_||null===h)continue;m.push(_+"="+h)}return m.length?u+m.join("&"):""},o.parse=function(l){for(var u,h=/([^=?#&]+)=?([^&]*)/g,_={};u=h.exec(l);){var m=s(u[1]),b=s(u[2]);null===m||null===b||m in _||(_[m]=b)}return _}},function(g,o,t){var e=t(69);g.exports=function(){return e.Date.now()}},function(g,o,t){var e=t(235),s=t(156),a=t(186),l=t(53),u=t(136);g.exports=function(h,_,m,b){if(!l(h))return h;for(var T=-1,D=(_=s(_,h)).length,R=D-1,j=h;null!=j&&++T<D;){var H=u(_[T]),z=m;if("__proto__"===H||"constructor"===H||"prototype"===H)return h;if(T!=R){var U=j[H];void 0===(z=b?b(U,H,j):void 0)&&(z=l(U)?U:a(_[T+1])?[]:{})}e(j,H,z),j=j[H]}return h}},function(g,o,t){g.exports=t(852)},function(g,o,t){var e=t(349);g.exports=e},function(g,o,t){g.exports=t(854)},function(g,o,t){var e=t(855);g.exports=e},function(g,o,t){var e=t(856);g.exports=e},function(g,o,t){t(857);var e=t(34).Object;g.exports=function(s,a){return e.create(s,a)}},function(g,o,t){t(22)({target:"Object",stat:!0,sham:!t(48)},{create:t(98)})},function(g,o,t){var e=t(436);function s(a,l){return g.exports=s=e||function(u,h){return u.__proto__=h,u},g.exports.default=g.exports,g.exports.__esModule=!0,s(a,l)}g.exports=s,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(860);g.exports=e},function(g,o,t){var e=t(861);g.exports=e},function(g,o,t){t(862);var e=t(34);g.exports=e.Object.setPrototypeOf},function(g,o,t){t(22)({target:"Object",stat:!0},{setPrototypeOf:t(176)})},function(g,o,t){var e=t(864);g.exports=e},function(g,o,t){var e=t(865);g.exports=e},function(g,o,t){t(866);var e=t(34);g.exports=e.Reflect.construct},function(g,o,t){var e=t(22),s=t(58),a=t(93),l=t(348),u=t(429),h=t(51),_=t(43),m=t(98),b=t(33),T=s("Reflect","construct"),D=Object.prototype,R=[].push,j=b(function(){function U(){}return!(T(function(){},[],U)instanceof U)}),H=!b(function(){T(function(){})}),z=j||H;e({target:"Reflect",stat:!0,forced:z,sham:z},{construct:function(U,M){u(U),h(M);var I=arguments.length<3?U:u(arguments[2]);if(H&&!j)return T(U,M,I);if(U==I){switch(M.length){case 0:return new U;case 1:return new U(M[0]);case 2:return new U(M[0],M[1]);case 3:return new U(M[0],M[1],M[2]);case 4:return new U(M[0],M[1],M[2],M[3])}var J=[null];return a(R,J,M),new(a(l,U,J))}var B=I.prototype,ie=m(_(B)?B:D),oe=a(U,ie,M);return _(oe)?oe:ie}})},function(g,o,t){var e=t(436),s=t(868);function a(l){return g.exports=a=e?s:function(u){return u.__proto__||s(u)},g.exports.default=g.exports,g.exports.__esModule=!0,a(l)}g.exports=a,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(869)},function(g,o,t){var e=t(870);g.exports=e},function(g,o,t){var e=t(871);g.exports=e},function(g,o,t){t(872);var e=t(34);g.exports=e.Object.getPrototypeOf},function(g,o,t){var e=t(22),s=t(33),a=t(62),l=t(175),u=t(342);e({target:"Object",stat:!0,forced:s(function(){l(1)}),sham:!u},{getPrototypeOf:function(h){return l(a(h))}})},function(g,o,t){var e=t(437);g.exports=function(){if("undefined"==typeof Reflect||!e||e.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(e(Boolean,[],function(){})),!0}catch(s){return!1}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(19).default,s=t(10);g.exports=function(a,l){if(l&&("object"===e(l)||"function"==typeof l))return l;if(void 0!==l)throw new TypeError("Derived constructors may only return object or undefined");return s(a)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){"use strict";var e=t(0),s=t(353),a=t(876);function l(C){for(var x="https://reactjs.org/docs/error-decoder.html?invariant="+C,q=1;q<arguments.length;q++)x+="&args[]="+encodeURIComponent(arguments[q]);return"Minified React error #"+C+"; visit "+x+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!e)throw Error(l(227));var u=new Set,h={};function _(C,x){m(C,x),m(C+"Capture",x)}function m(C,x){for(h[C]=x,C=0;C<x.length;C++)u.add(x[C])}var b=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),T=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,D=Object.prototype.hasOwnProperty,R={},j={};function H(C,x,q,Pe,tt,on,bn){this.acceptsBooleans=2===x||3===x||4===x,this.attributeName=Pe,this.attributeNamespace=tt,this.mustUseProperty=q,this.propertyName=C,this.type=x,this.sanitizeURL=on,this.removeEmptyString=bn}var z={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(C){z[C]=new H(C,0,!1,C,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(C){var x=C[0];z[x]=new H(x,1,!1,C[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(C){z[C]=new H(C,2,!1,C.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(C){z[C]=new H(C,2,!1,C,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(C){z[C]=new H(C,3,!1,C.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(C){z[C]=new H(C,3,!0,C,null,!1,!1)}),["capture","download"].forEach(function(C){z[C]=new H(C,4,!1,C,null,!1,!1)}),["cols","rows","size","span"].forEach(function(C){z[C]=new H(C,6,!1,C,null,!1,!1)}),["rowSpan","start"].forEach(function(C){z[C]=new H(C,5,!1,C.toLowerCase(),null,!1,!1)});var U=/[\-:]([a-z])/g;function M(C){return C[1].toUpperCase()}function I(C,x,q,Pe){var on,tt=z.hasOwnProperty(x)?z[x]:null;(null!==tt?0===tt.type:!Pe&&2<x.length&&("o"===x[0]||"O"===x[0])&&("n"===x[1]||"N"===x[1]))||(function(on,bn,nr,wr){if(null==bn||function(qr,ao,ns,oo){if(null!==ns&&0===ns.type)return!1;switch(typeof ao){case"function":case"symbol":return!0;case"boolean":return!oo&&(null!==ns?!ns.acceptsBooleans:"data-"!==(qr=qr.toLowerCase().slice(0,5))&&"aria-"!==qr);default:return!1}}(on,bn,nr,wr))return!0;if(wr)return!1;if(null!==nr)switch(nr.type){case 3:return!bn;case 4:return!1===bn;case 5:return isNaN(bn);case 6:return isNaN(bn)||1>bn}return!1}(x,q,tt,Pe)&&(q=null),Pe||null===tt?(D.call(j,on=x)||!D.call(R,on)&&(T.test(on)?j[on]=!0:(R[on]=!0,0)))&&(null===q?C.removeAttribute(x):C.setAttribute(x,""+q)):tt.mustUseProperty?C[tt.propertyName]=null===q?3!==tt.type&&"":q:(x=tt.attributeName,Pe=tt.attributeNamespace,null===q?C.removeAttribute(x):(q=3===(tt=tt.type)||4===tt&&!0===q?"":""+q,Pe?C.setAttributeNS(Pe,x,q):C.setAttribute(x,q))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(C){var x=C.replace(U,M);z[x]=new H(x,1,!1,C,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(C){var x=C.replace(U,M);z[x]=new H(x,1,!1,C,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(C){var x=C.replace(U,M);z[x]=new H(x,1,!1,C,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(C){z[C]=new H(C,1,!1,C.toLowerCase(),null,!1,!1)}),z.xlinkHref=new H("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(C){z[C]=new H(C,1,!1,C.toLowerCase(),null,!0,!0)});var J=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,B=60103,ie=60106,oe=60107,fe=60108,ne=60114,he=60109,ce=60110,Ae=60112,Se=60113,Oe=60120,be=60115,ue=60116,He=60121,$e=60128,F=60129,je=60130,Et=60131;if("function"==typeof Symbol&&Symbol.for){var lt=Symbol.for;B=lt("react.element"),ie=lt("react.portal"),oe=lt("react.fragment"),fe=lt("react.strict_mode"),ne=lt("react.profiler"),he=lt("react.provider"),ce=lt("react.context"),Ae=lt("react.forward_ref"),Se=lt("react.suspense"),Oe=lt("react.suspense_list"),be=lt("react.memo"),ue=lt("react.lazy"),He=lt("react.block"),lt("react.scope"),$e=lt("react.opaque.id"),F=lt("react.debug_trace_mode"),je=lt("react.offscreen"),Et=lt("react.legacy_hidden")}var nn,St="function"==typeof Symbol&&Symbol.iterator;function Ot(C){return null===C||"object"!=typeof C?null:"function"==typeof(C=St&&C[St]||C["@@iterator"])?C:null}function Qe(C){if(void 0===nn)try{throw Error()}catch(q){var x=q.stack.trim().match(/\n( *(at )?)/);nn=x&&x[1]||""}return"\n"+nn+C}var It=!1;function ae(C,x){if(!C||It)return"";It=!0;var q=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(x)if(x=function(){throw Error()},Object.defineProperty(x.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(x,[])}catch(wr){var Pe=wr}Reflect.construct(C,[],x)}else{try{x.call()}catch(wr){Pe=wr}C.call(x.prototype)}else{try{throw Error()}catch(wr){Pe=wr}C()}}catch(wr){if(wr&&Pe&&"string"==typeof wr.stack){for(var tt=wr.stack.split("\n"),on=Pe.stack.split("\n"),bn=tt.length-1,nr=on.length-1;1<=bn&&0<=nr&&tt[bn]!==on[nr];)nr--;for(;1<=bn&&0<=nr;bn--,nr--)if(tt[bn]!==on[nr]){if(1!==bn||1!==nr)do{if(bn--,0>--nr||tt[bn]!==on[nr])return"\n"+tt[bn].replace(" at new "," at ")}while(1<=bn&&0<=nr);break}}}finally{It=!1,Error.prepareStackTrace=q}return(C=C?C.displayName||C.name:"")?Qe(C):""}function Ie(C){switch(C.tag){case 5:return Qe(C.type);case 16:return Qe("Lazy");case 13:return Qe("Suspense");case 19:return Qe("SuspenseList");case 0:case 2:case 15:return ae(C.type,!1);case 11:return ae(C.type.render,!1);case 22:return ae(C.type._render,!1);case 1:return ae(C.type,!0);default:return""}}function dt(C){if(null==C)return null;if("function"==typeof C)return C.displayName||C.name||null;if("string"==typeof C)return C;switch(C){case oe:return"Fragment";case ie:return"Portal";case ne:return"Profiler";case fe:return"StrictMode";case Se:return"Suspense";case Oe:return"SuspenseList"}if("object"==typeof C)switch(C.$$typeof){case ce:return(C.displayName||"Context")+".Consumer";case he:return(C._context.displayName||"Context")+".Provider";case Ae:var x=C.render;return x=x.displayName||x.name||"",C.displayName||(""!==x?"ForwardRef("+x+")":"ForwardRef");case be:return dt(C.type);case He:return dt(C._render);case ue:x=C._payload,C=C._init;try{return dt(C(x))}catch(q){}}return null}function Jt(C){switch(typeof C){case"boolean":case"number":case"object":case"string":case"undefined":return C;default:return""}}function zt(C){var x=C.type;return(C=C.nodeName)&&"input"===C.toLowerCase()&&("checkbox"===x||"radio"===x)}function ln(C){C._valueTracker||(C._valueTracker=function(x){var q=zt(x)?"checked":"value",Pe=Object.getOwnPropertyDescriptor(x.constructor.prototype,q),tt=""+x[q];if(!x.hasOwnProperty(q)&&void 0!==Pe&&"function"==typeof Pe.get&&"function"==typeof Pe.set){var on=Pe.get,bn=Pe.set;return Object.defineProperty(x,q,{configurable:!0,get:function(){return on.call(this)},set:function(nr){tt=""+nr,bn.call(this,nr)}}),Object.defineProperty(x,q,{enumerable:Pe.enumerable}),{getValue:function(){return tt},setValue:function(nr){tt=""+nr},stopTracking:function(){x._valueTracker=null,delete x[q]}}}}(C))}function ar(C){if(!C)return!1;var x=C._valueTracker;if(!x)return!0;var q=x.getValue(),Pe="";return C&&(Pe=zt(C)?C.checked?"true":"false":C.value),(C=Pe)!==q&&(x.setValue(C),!0)}function Ln(C){if(void 0===(C=C||("undefined"!=typeof document?document:void 0)))return null;try{return C.activeElement||C.body}catch(x){return C.body}}function Rn(C,x){var q=x.checked;return s({},x,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=q?q:C._wrapperState.initialChecked})}function er(C,x){var q=null==x.defaultValue?"":x.defaultValue,Pe=null!=x.checked?x.checked:x.defaultChecked;q=Jt(null!=x.value?x.value:q),C._wrapperState={initialChecked:Pe,initialValue:q,controlled:"checkbox"===x.type||"radio"===x.type?null!=x.checked:null!=x.value}}function Mn(C,x){null!=(x=x.checked)&&I(C,"checked",x,!1)}function Ht(C,x){Mn(C,x);var q=Jt(x.value),Pe=x.type;if(null!=q)"number"===Pe?(0===q&&""===C.value||C.value!=q)&&(C.value=""+q):C.value!==""+q&&(C.value=""+q);else if("submit"===Pe||"reset"===Pe)return void C.removeAttribute("value");x.hasOwnProperty("value")?Yn(C,x.type,q):x.hasOwnProperty("defaultValue")&&Yn(C,x.type,Jt(x.defaultValue)),null==x.checked&&null!=x.defaultChecked&&(C.defaultChecked=!!x.defaultChecked)}function tr(C,x,q){if(x.hasOwnProperty("value")||x.hasOwnProperty("defaultValue")){var Pe=x.type;if(("submit"===Pe||"reset"===Pe)&&null==x.value)return;x=""+C._wrapperState.initialValue,q||x===C.value||(C.value=x),C.defaultValue=x}""!==(q=C.name)&&(C.name=""),C.defaultChecked=!!C._wrapperState.initialChecked,""!==q&&(C.name=q)}function Yn(C,x,q){"number"===x&&Ln(C.ownerDocument)===C||(null==q?C.defaultValue=""+C._wrapperState.initialValue:C.defaultValue!==""+q&&(C.defaultValue=""+q))}function Cn(C,x){return C=s({children:void 0},x),Pe="",e.Children.forEach(x.children,function(tt){null!=tt&&(Pe+=tt)}),(x=Pe)&&(C.children=x),C;var Pe}function Kt(C,x,q,Pe){if(C=C.options,x){x={};for(var tt=0;tt<q.length;tt++)x["$"+q[tt]]=!0;for(q=0;q<C.length;q++)tt=x.hasOwnProperty("$"+C[q].value),C[q].selected!==tt&&(C[q].selected=tt),tt&&Pe&&(C[q].defaultSelected=!0)}else{for(q=""+Jt(q),x=null,tt=0;tt<C.length;tt++){if(C[tt].value===q)return C[tt].selected=!0,void(Pe&&(C[tt].defaultSelected=!0));null!==x||C[tt].disabled||(x=C[tt])}null!==x&&(x.selected=!0)}}function dn(C,x){if(null!=x.dangerouslySetInnerHTML)throw Error(l(91));return s({},x,{value:void 0,defaultValue:void 0,children:""+C._wrapperState.initialValue})}function Kn(C,x){var q=x.value;if(null==q){if(q=x.children,x=x.defaultValue,null!=q){if(null!=x)throw Error(l(92));if(Array.isArray(q)){if(!(1>=q.length))throw Error(l(93));q=q[0]}x=q}null==x&&(x=""),q=x}C._wrapperState={initialValue:Jt(q)}}function qn(C,x){var q=Jt(x.value),Pe=Jt(x.defaultValue);null!=q&&((q=""+q)!==C.value&&(C.value=q),null==x.defaultValue&&C.defaultValue!==q&&(C.defaultValue=q)),null!=Pe&&(C.defaultValue=""+Pe)}function Sn(C){var x=C.textContent;x===C._wrapperState.initialValue&&""!==x&&null!==x&&(C.value=x)}var $n="http://www.w3.org/1999/xhtml";function Fn(C){switch(C){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Dn(C,x){return null==C||"http://www.w3.org/1999/xhtml"===C?Fn(x):"http://www.w3.org/2000/svg"===C&&"foreignObject"===x?"http://www.w3.org/1999/xhtml":C}var mn,jn,Xt=(jn=function(C,x){if("http://www.w3.org/2000/svg"!==C.namespaceURI||"innerHTML"in C)C.innerHTML=x;else{for((mn=mn||document.createElement("div")).innerHTML="<svg>"+x.valueOf().toString()+"</svg>",x=mn.firstChild;C.firstChild;)C.removeChild(C.firstChild);for(;x.firstChild;)C.appendChild(x.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(C,x,q,Pe){MSApp.execUnsafeLocalFunction(function(){return jn(C,x)})}:jn);function ut(C,x){if(x){var q=C.firstChild;if(q&&q===C.lastChild&&3===q.nodeType)return void(q.nodeValue=x)}C.textContent=x}var mt={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Tt=["Webkit","ms","Moz","O"];function yn(C,x,q){return null==x||"boolean"==typeof x||""===x?"":q||"number"!=typeof x||0===x||mt.hasOwnProperty(C)&&mt[C]?(""+x).trim():x+"px"}function et(C,x){for(var q in C=C.style,x)if(x.hasOwnProperty(q)){var Pe=0===q.indexOf("--"),tt=yn(q,x[q],Pe);"float"===q&&(q="cssFloat"),Pe?C.setProperty(q,tt):C[q]=tt}}Object.keys(mt).forEach(function(C){Tt.forEach(function(x){x=x+C.charAt(0).toUpperCase()+C.substring(1),mt[x]=mt[C]})});var jt=s({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function hn(C,x){if(x){if(jt[C]&&(null!=x.children||null!=x.dangerouslySetInnerHTML))throw Error(l(137,C));if(null!=x.dangerouslySetInnerHTML){if(null!=x.children)throw Error(l(60));if("object"!=typeof x.dangerouslySetInnerHTML||!("__html"in x.dangerouslySetInnerHTML))throw Error(l(61))}if(null!=x.style&&"object"!=typeof x.style)throw Error(l(62))}}function Qn(C,x){if(-1===C.indexOf("-"))return"string"==typeof x.is;switch(C){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ir(C){return(C=C.target||C.srcElement||window).correspondingUseElement&&(C=C.correspondingUseElement),3===C.nodeType?C.parentNode:C}var ht=null,L=null,Ue=null;function nt(C){if(C=Fe(C)){if("function"!=typeof ht)throw Error(l(280));var x=C.stateNode;x&&(x=Mt(x),ht(C.stateNode,C.type,x))}}function at(C){L?Ue?Ue.push(C):Ue=[C]:L=C}function it(){if(L){var C=L,x=Ue;if(Ue=L=null,nt(C),x)for(C=0;C<x.length;C++)nt(x[C])}}function Pt(C,x){return C(x)}function Ut(C,x,q,Pe,tt){return C(x,q,Pe,tt)}function ot(){}var Nn=Pt,sn=!1,An=!1;function Bn(){null===L&&null===Ue||(ot(),it())}function ir(C,x){var q=C.stateNode;if(null===q)return null;var Pe=Mt(q);if(null===Pe)return null;q=Pe[x];e:switch(x){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(Pe=!Pe.disabled)||(Pe=!("button"===(C=C.type)||"input"===C||"select"===C||"textarea"===C)),C=!Pe;break e;default:C=!1}if(C)return null;if(q&&"function"!=typeof q)throw Error(l(231,x,typeof q));return q}var mr=!1;if(b)try{var _r={};Object.defineProperty(_r,"passive",{get:function(){mr=!0}}),window.addEventListener("test",_r,_r),window.removeEventListener("test",_r,_r)}catch(C){mr=!1}function Nr(C,x,q,Pe,tt,on,bn,nr,wr){var qr=Array.prototype.slice.call(arguments,3);try{x.apply(q,qr)}catch(ao){this.onError(ao)}}var br=!1,Jn=null,rr=!1,Mr=null,yi={onError:function(C){br=!0,Jn=C}};function Li(C,x,q,Pe,tt,on,bn,nr,wr){br=!1,Jn=null,Nr.apply(yi,arguments)}function Mi(C){var x=C,q=C;if(C.alternate)for(;x.return;)x=x.return;else{C=x;do{0!=(1026&(x=C).flags)&&(q=x.return),C=x.return}while(C)}return 3===x.tag?q:null}function Oi(C){if(13===C.tag){var x=C.memoizedState;if(null===x&&null!==(C=C.alternate)&&(x=C.memoizedState),null!==x)return x.dehydrated}return null}function Xr(C){if(Mi(C)!==C)throw Error(l(188))}function Kr(C){if(!(C=function(q){var Pe=q.alternate;if(!Pe){if(null===(Pe=Mi(q)))throw Error(l(188));return Pe!==q?null:q}for(var tt=q,on=Pe;;){var bn=tt.return;if(null===bn)break;var nr=bn.alternate;if(null===nr){if(null!==(on=bn.return)){tt=on;continue}break}if(bn.child===nr.child){for(nr=bn.child;nr;){if(nr===tt)return Xr(bn),q;if(nr===on)return Xr(bn),Pe;nr=nr.sibling}throw Error(l(188))}if(tt.return!==on.return)tt=bn,on=nr;else{for(var wr=!1,qr=bn.child;qr;){if(qr===tt){wr=!0,tt=bn,on=nr;break}if(qr===on){wr=!0,on=bn,tt=nr;break}qr=qr.sibling}if(!wr){for(qr=nr.child;qr;){if(qr===tt){wr=!0,tt=nr,on=bn;break}if(qr===on){wr=!0,on=nr,tt=bn;break}qr=qr.sibling}if(!wr)throw Error(l(189))}}if(tt.alternate!==on)throw Error(l(190))}if(3!==tt.tag)throw Error(l(188));return tt.stateNode.current===tt?q:Pe}(C)))return null;for(var x=C;;){if(5===x.tag||6===x.tag)return x;if(x.child)x.child.return=x,x=x.child;else{if(x===C)break;for(;!x.sibling;){if(!x.return||x.return===C)return null;x=x.return}x.sibling.return=x.return,x=x.sibling}}return null}function di(C,x){for(var q=C.alternate;null!==x;){if(x===C||x===q)return!0;x=x.return}return!1}var se,ct,Ke,Xe,Vt=!1,Ct=[],rt=null,yt=null,qe=null,$t=new Map,or=new Map,Vn=[],Vr="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Cr(C,x,q,Pe,tt){return{blockedOn:C,domEventName:x,eventSystemFlags:16|q,nativeEvent:tt,targetContainers:[Pe]}}function ai(C,x){switch(C){case"focusin":case"focusout":rt=null;break;case"dragenter":case"dragleave":yt=null;break;case"mouseover":case"mouseout":qe=null;break;case"pointerover":case"pointerout":$t.delete(x.pointerId);break;case"gotpointercapture":case"lostpointercapture":or.delete(x.pointerId)}}function Dr(C,x,q,Pe,tt,on){return null===C||C.nativeEvent!==on?(C=Cr(x,q,Pe,tt,on),null!==x&&null!==(x=Fe(x))&&ct(x),C):(C.eventSystemFlags|=Pe,x=C.targetContainers,null!==tt&&-1===x.indexOf(tt)&&x.push(tt),C)}function Jr(C){var x=Je(C.target);if(null!==x){var q=Mi(x);if(null!==q)if(13===(x=q.tag)){if(null!==(x=Oi(q)))return C.blockedOn=x,void Xe(C.lanePriority,function(){a.unstable_runWithPriority(C.priority,function(){Ke(q)})})}else if(3===x&&q.stateNode.hydrate)return void(C.blockedOn=3===q.tag?q.stateNode.containerInfo:null)}C.blockedOn=null}function rn(C){if(null!==C.blockedOn)return!1;for(var x=C.targetContainers;0<x.length;){var q=ws(C.domEventName,C.eventSystemFlags,x[0],C.nativeEvent);if(null!==q)return null!==(x=Fe(q))&&ct(x),C.blockedOn=q,!1;x.shift()}return!0}function fi(C,x,q){rn(C)&&q.delete(x)}function Ei(){for(Vt=!1;0<Ct.length;){var C=Ct[0];if(null!==C.blockedOn){null!==(C=Fe(C.blockedOn))&&se(C);break}for(var x=C.targetContainers;0<x.length;){var q=ws(C.domEventName,C.eventSystemFlags,x[0],C.nativeEvent);if(null!==q){C.blockedOn=q;break}x.shift()}null===C.blockedOn&&Ct.shift()}null!==rt&&rn(rt)&&(rt=null),null!==yt&&rn(yt)&&(yt=null),null!==qe&&rn(qe)&&(qe=null),$t.forEach(fi),or.forEach(fi)}function wi(C,x){C.blockedOn===x&&(C.blockedOn=null,Vt||(Vt=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Ei)))}function _o(C){function x(tt){return wi(tt,C)}if(0<Ct.length){wi(Ct[0],C);for(var q=1;q<Ct.length;q++){var Pe=Ct[q];Pe.blockedOn===C&&(Pe.blockedOn=null)}}for(null!==rt&&wi(rt,C),null!==yt&&wi(yt,C),null!==qe&&wi(qe,C),$t.forEach(x),or.forEach(x),q=0;q<Vn.length;q++)(Pe=Vn[q]).blockedOn===C&&(Pe.blockedOn=null);for(;0<Vn.length&&null===(q=Vn[0]).blockedOn;)Jr(q),null===q.blockedOn&&Vn.shift()}function ki(C,x){var q={};return q[C.toLowerCase()]=x.toLowerCase(),q["Webkit"+C]="webkit"+x,q["Moz"+C]="moz"+x,q}var to={animationend:ki("Animation","AnimationEnd"),animationiteration:ki("Animation","AnimationIteration"),animationstart:ki("Animation","AnimationStart"),transitionend:ki("Transition","TransitionEnd")},qi={},Wi={};function eo(C){if(qi[C])return qi[C];if(!to[C])return C;var x,q=to[C];for(x in q)if(q.hasOwnProperty(x)&&x in Wi)return qi[C]=q[x];return C}b&&(Wi=document.createElement("div").style,"AnimationEvent"in window||(delete to.animationend.animation,delete to.animationiteration.animation,delete to.animationstart.animation),"TransitionEvent"in window||delete to.transitionend.transition);var Gi=eo("animationend"),Wo=eo("animationiteration"),Ro=eo("animationstart"),Bo=eo("transitionend"),Ko=new Map,ts=new Map,ua=["abort","abort",Gi,"animationEnd",Wo,"animationIteration",Ro,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Bo,"transitionEnd","waiting","waiting"];function ds(C,x){for(var q=0;q<C.length;q+=2){var Pe=C[q],tt=C[q+1];tt="on"+(tt[0].toUpperCase()+tt.slice(1)),ts.set(Pe,x),Ko.set(Pe,tt),_(tt,[Pe])}}(0,a.unstable_now)();var qo=8;function oa(C){if(0!=(1&C))return qo=15,1;if(0!=(2&C))return qo=14,2;if(0!=(4&C))return qo=13,4;var x=24&C;return 0!==x?(qo=12,x):0!=(32&C)?(qo=11,32):0!=(x=192&C)?(qo=10,x):0!=(256&C)?(qo=9,256):0!=(x=3584&C)?(qo=8,x):0!=(4096&C)?(qo=7,4096):0!=(x=4186112&C)?(qo=6,x):0!=(x=62914560&C)?(qo=5,x):67108864&C?(qo=4,67108864):0!=(134217728&C)?(qo=3,134217728):0!=(x=805306368&C)?(qo=2,x):0!=(1073741824&C)?(qo=1,1073741824):(qo=8,C)}function Er(C,x){var q=C.pendingLanes;if(0===q)return qo=0;var Pe=0,tt=0,on=C.expiredLanes,bn=C.suspendedLanes,nr=C.pingedLanes;if(0!==on)Pe=on,tt=qo=15;else if(0!=(on=134217727&q)){var wr=on&~bn;0!==wr?(Pe=oa(wr),tt=qo):0!=(nr&=on)&&(Pe=oa(nr),tt=qo)}else 0!=(on=q&~bn)?(Pe=oa(on),tt=qo):0!==nr&&(Pe=oa(nr),tt=qo);if(0===Pe)return 0;if(Pe=q&((0>(Pe=31-Tn(Pe))?0:1<<Pe)<<1)-1,0!==x&&x!==Pe&&0==(x&bn)){if(oa(x),tt<=qo)return x;qo=tt}if(0!==(x=C.entangledLanes))for(C=C.entanglements,x&=Pe;0<x;)tt=1<<(q=31-Tn(x)),Pe|=C[q],x&=~tt;return Pe}function st(C){return 0!=(C=-1073741825&C.pendingLanes)?C:1073741824&C?1073741824:0}function pn(C,x){switch(C){case 15:return 1;case 14:return 2;case 12:return 0===(C=ee(24&~x))?pn(10,x):C;case 10:return 0===(C=ee(192&~x))?pn(8,x):C;case 8:return 0===(C=ee(3584&~x))&&0===(C=ee(4186112&~x))&&(C=512),C;case 2:return 0===(x=ee(805306368&~x))&&(x=268435456),x}throw Error(l(358,C))}function ee(C){return C&-C}function Ve(C){for(var x=[],q=0;31>q;q++)x.push(C);return x}function fn(C,x,q){C.pendingLanes|=x;var Pe=x-1;C.suspendedLanes&=Pe,C.pingedLanes&=Pe,(C=C.eventTimes)[x=31-Tn(x)]=q}var Tn=Math.clz32?Math.clz32:function(C){return 0===C?32:31-($r(C)/ti|0)|0},$r=Math.log,ti=Math.LN2,Ri=a.unstable_UserBlockingPriority,wo=a.unstable_runWithPriority,gi=!0;function Hi(C,x,q,Pe){sn||ot();var tt=cs,on=sn;sn=!0;try{Ut(tt,C,x,q,Pe)}finally{(sn=on)||Bn()}}function Fi(C,x,q,Pe){wo(Ri,cs.bind(null,C,x,q,Pe))}function cs(C,x,q,Pe){var tt;if(gi)if((tt=0==(4&x))&&0<Ct.length&&-1<Vr.indexOf(C))C=Cr(null,C,x,q,Pe),Ct.push(C);else{var on=ws(C,x,q,Pe);if(null===on)tt&&ai(C,Pe);else{if(tt){if(-1<Vr.indexOf(C))return C=Cr(on,C,x,q,Pe),void Ct.push(C);if(function(bn,nr,wr,qr,ao){switch(nr){case"focusin":return rt=Dr(rt,bn,nr,wr,qr,ao),!0;case"dragenter":return yt=Dr(yt,bn,nr,wr,qr,ao),!0;case"mouseover":return qe=Dr(qe,bn,nr,wr,qr,ao),!0;case"pointerover":var ns=ao.pointerId;return $t.set(ns,Dr($t.get(ns)||null,bn,nr,wr,qr,ao)),!0;case"gotpointercapture":return or.set(ns=ao.pointerId,Dr(or.get(ns)||null,bn,nr,wr,qr,ao)),!0}return!1}(on,C,x,q,Pe))return;ai(C,Pe)}Ki(C,x,Pe,null,q)}}}function ws(C,x,q,Pe){var tt=Ir(Pe);if(null!==(tt=Je(tt))){var on=Mi(tt);if(null===on)tt=null;else{var bn=on.tag;if(13===bn){if(null!==(tt=Oi(on)))return tt;tt=null}else if(3===bn){if(on.stateNode.hydrate)return 3===on.tag?on.stateNode.containerInfo:null;tt=null}else on!==tt&&(tt=null)}}return Ki(C,x,Pe,tt,q),null}var da=null,xa=null,Ra=null;function Al(){if(Ra)return Ra;var C,x,q=xa,Pe=q.length,tt="value"in da?da.value:da.textContent,on=tt.length;for(C=0;C<Pe&&q[C]===tt[C];C++);var bn=Pe-C;for(x=1;x<=bn&&q[Pe-x]===tt[on-x];x++);return Ra=tt.slice(C,1<x?1-x:void 0)}function Dl(C){var x=C.keyCode;return"charCode"in C?0===(C=C.charCode)&&13===x&&(C=13):C=x,10===C&&(C=13),32<=C||13===C?C:0}function Sa(){return!0}function sa(){return!1}function Fo(C){function x(q,Pe,tt,on,bn){for(var nr in this._reactName=q,this._targetInst=tt,this.type=Pe,this.nativeEvent=on,this.target=bn,this.currentTarget=null,C)C.hasOwnProperty(nr)&&(this[nr]=(q=C[nr])?q(on):on[nr]);return this.isDefaultPrevented=(null!=on.defaultPrevented?on.defaultPrevented:!1===on.returnValue)?Sa:sa,this.isPropagationStopped=sa,this}return s(x.prototype,{preventDefault:function(){this.defaultPrevented=!0;var q=this.nativeEvent;q&&(q.preventDefault?q.preventDefault():"unknown"!=typeof q.returnValue&&(q.returnValue=!1),this.isDefaultPrevented=Sa)},stopPropagation:function(){var q=this.nativeEvent;q&&(q.stopPropagation?q.stopPropagation():"unknown"!=typeof q.cancelBubble&&(q.cancelBubble=!0),this.isPropagationStopped=Sa)},persist:function(){},isPersistent:Sa}),x}var tl,Ma,fa,Hs={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(C){return C.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ja=Fo(Hs),pt=s({},Hs,{view:0,detail:0}),an=Fo(pt),Nt=s({},pt,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Zo,button:0,buttons:0,relatedTarget:function(C){return void 0===C.relatedTarget?C.fromElement===C.srcElement?C.toElement:C.fromElement:C.relatedTarget},movementX:function(C){return"movementX"in C?C.movementX:(C!==fa&&(fa&&"mousemove"===C.type?(tl=C.screenX-fa.screenX,Ma=C.screenY-fa.screenY):Ma=tl=0,fa=C),tl)},movementY:function(C){return"movementY"in C?C.movementY:Ma}}),Ce=Fo(Nt),ye=Fo(s({},Nt,{dataTransfer:0})),Ne=Fo(s({},pt,{relatedTarget:0})),Wt=Fo(s({},Hs,{animationName:0,elapsedTime:0,pseudoElement:0})),Or=Fo(s({},Hs,{clipboardData:function(C){return"clipboardData"in C?C.clipboardData:window.clipboardData}})),Ni=Fo(s({},Hs,{data:0})),Yo={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},vs={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},as={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Lo(C){var x=this.nativeEvent;return x.getModifierState?x.getModifierState(C):!!(C=as[C])&&!!x[C]}function Zo(){return Lo}var Ta=Fo(s({},pt,{key:function(C){if(C.key){var x=Yo[C.key]||C.key;if("Unidentified"!==x)return x}return"keypress"===C.type?13===(C=Dl(C))?"Enter":String.fromCharCode(C):"keydown"===C.type||"keyup"===C.type?vs[C.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Zo,charCode:function(C){return"keypress"===C.type?Dl(C):0},keyCode:function(C){return"keydown"===C.type||"keyup"===C.type?C.keyCode:0},which:function(C){return"keypress"===C.type?Dl(C):"keydown"===C.type||"keyup"===C.type?C.keyCode:0}})),hl=Fo(s({},Nt,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Oa=Fo(s({},pt,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Zo})),ba=Fo(s({},Hs,{propertyName:0,elapsedTime:0,pseudoElement:0})),Es=Fo(s({},Nt,{deltaX:function(C){return"deltaX"in C?C.deltaX:"wheelDeltaX"in C?-C.wheelDeltaX:0},deltaY:function(C){return"deltaY"in C?C.deltaY:"wheelDeltaY"in C?-C.wheelDeltaY:"wheelDelta"in C?-C.wheelDelta:0},deltaZ:0,deltaMode:0})),$o=[9,13,27,32],wl=b&&"CompositionEvent"in window,_l=null;b&&"documentMode"in document&&(_l=document.documentMode);var Qa=b&&"TextEvent"in window&&!_l,sl=b&&(!wl||_l&&8<_l&&11>=_l),Il=String.fromCharCode(32),Yl=!1;function Na(C,x){switch(C){case"keyup":return-1!==$o.indexOf(x.keyCode);case"keydown":return 229!==x.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Di(C){return"object"==typeof(C=C.detail)&&"data"in C?C.data:null}var ys=!1,pa={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Vo(C){var x=C&&C.nodeName&&C.nodeName.toLowerCase();return"input"===x?!!pa[C.type]:"textarea"===x}function Ba(C,x,q,Pe){at(Pe),0<(x=Yi(x,"onChange")).length&&(q=new ja("onChange","change",null,q,Pe),C.push({event:q,listeners:x}))}var _s=null,We=null;function wt(C){li(C,0)}function kt(C){if(ar(we(C)))return C}function tn(C,x){if("change"===C)return x}var ur=!1;if(b){var gn;if(b){var xr="oninput"in document;if(!xr){var Zr=document.createElement("div");Zr.setAttribute("oninput","return;"),xr="function"==typeof Zr.oninput}gn=xr}else gn=!1;ur=gn&&(!document.documentMode||9<document.documentMode)}function Pr(){_s&&(_s.detachEvent("onpropertychange",mi),We=_s=null)}function mi(C){if("value"===C.propertyName&&kt(We)){var x=[];if(Ba(x,We,C,Ir(C)),C=wt,sn)C(x);else{sn=!0;try{Pt(C,x)}finally{sn=!1,Bn()}}}}function ni(C,x,q){"focusin"===C?(Pr(),We=q,(_s=x).attachEvent("onpropertychange",mi)):"focusout"===C&&Pr()}function si(C){if("selectionchange"===C||"keyup"===C||"keydown"===C)return kt(We)}function bi(C,x){if("click"===C)return kt(x)}function Ui(C,x){if("input"===C||"change"===C)return kt(x)}var ro="function"==typeof Object.is?Object.is:function(C,x){return C===x&&(0!==C||1/C==1/x)||C!=C&&x!=x},mo=Object.prototype.hasOwnProperty;function Bi(C,x){if(ro(C,x))return!0;if("object"!=typeof C||null===C||"object"!=typeof x||null===x)return!1;var q=Object.keys(C),Pe=Object.keys(x);if(q.length!==Pe.length)return!1;for(Pe=0;Pe<q.length;Pe++)if(!mo.call(x,q[Pe])||!ro(C[q[Pe]],x[q[Pe]]))return!1;return!0}function hi(C){for(;C&&C.firstChild;)C=C.firstChild;return C}function Br(C,x){var q,Pe=hi(C);for(C=0;Pe;){if(3===Pe.nodeType){if(q=C+Pe.textContent.length,C<=x&&q>=x)return{node:Pe,offset:x-C};C=q}e:{for(;Pe;){if(Pe.nextSibling){Pe=Pe.nextSibling;break e}Pe=Pe.parentNode}Pe=void 0}Pe=hi(Pe)}}function G(C,x){return!(!C||!x)&&(C===x||(!C||3!==C.nodeType)&&(x&&3===x.nodeType?G(C,x.parentNode):"contains"in C?C.contains(x):!!C.compareDocumentPosition&&!!(16&C.compareDocumentPosition(x))))}function Me(){for(var C=window,x=Ln();x instanceof C.HTMLIFrameElement;){try{var q="string"==typeof x.contentWindow.location.href}catch(Pe){q=!1}if(!q)break;x=Ln((C=x.contentWindow).document)}return x}function ft(C){var x=C&&C.nodeName&&C.nodeName.toLowerCase();return x&&("input"===x&&("text"===C.type||"search"===C.type||"tel"===C.type||"url"===C.type||"password"===C.type)||"textarea"===x||"true"===C.contentEditable)}var Ft=b&&"documentMode"in document&&11>=document.documentMode,Bt=null,In=null,Xn=null,Sr=!1;function pi(C,x,q){var Pe=q.window===q?q.document:9===q.nodeType?q:q.ownerDocument;Sr||null==Bt||Bt!==Ln(Pe)||(Pe="selectionStart"in(Pe=Bt)&&ft(Pe)?{start:Pe.selectionStart,end:Pe.selectionEnd}:{anchorNode:(Pe=(Pe.ownerDocument&&Pe.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:Pe.anchorOffset,focusNode:Pe.focusNode,focusOffset:Pe.focusOffset},Xn&&Bi(Xn,Pe)||(Xn=Pe,0<(Pe=Yi(In,"onSelect")).length&&(x=new ja("onSelect","select",null,x,q),C.push({event:x,listeners:Pe}),x.target=Bt)))}ds("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),ds("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),ds(ua,2);for(var Fr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),zr=0;zr<Fr.length;zr++)ts.set(Fr[zr],0);m("onMouseEnter",["mouseout","mouseover"]),m("onMouseLeave",["mouseout","mouseover"]),m("onPointerEnter",["pointerout","pointerover"]),m("onPointerLeave",["pointerout","pointerover"]),_("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_("onBeforeInput",["compositionend","keypress","textInput","paste"]),_("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Un="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),lr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Un));function dr(C,x,q){var Pe=C.type||"unknown-event";C.currentTarget=q,function(tt,on,bn,nr,wr,qr,ao,ns,oo){if(Li.apply(this,arguments),br){if(!br)throw Error(l(198));var ms=Jn;br=!1,Jn=null,rr||(rr=!0,Mr=ms)}}(Pe,x,void 0,C),C.currentTarget=null}function li(C,x){x=0!=(4&x);for(var q=0;q<C.length;q++){var Pe=C[q],tt=Pe.event;Pe=Pe.listeners;e:{var on=void 0;if(x)for(var bn=Pe.length-1;0<=bn;bn--){var nr=Pe[bn],wr=nr.instance,qr=nr.currentTarget;if(nr=nr.listener,wr!==on&&tt.isPropagationStopped())break e;dr(tt,nr,qr),on=wr}else for(bn=0;bn<Pe.length;bn++){if(wr=(nr=Pe[bn]).instance,qr=nr.currentTarget,nr=nr.listener,wr!==on&&tt.isPropagationStopped())break e;dr(tt,nr,qr),on=wr}}}if(rr)throw C=Mr,rr=!1,Mr=null,C}function Ti(C,x){var q=xe(x),Pe=C+"__bubble";q.has(Pe)||(uo(x,C,2,!1),q.add(Pe))}var Oo="_reactListening"+Math.random().toString(36).slice(2);function es(C){C[Oo]||(C[Oo]=!0,u.forEach(function(x){lr.has(x)||jo(x,!1,C,null),jo(x,!0,C,null)}))}function jo(C,x,q,Pe){var tt=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,on=q;if("selectionchange"===C&&9!==q.nodeType&&(on=q.ownerDocument),null!==Pe&&!x&&lr.has(C)){if("scroll"!==C)return;tt|=2,on=Pe}var bn=xe(on),nr=C+"__"+(x?"capture":"bubble");bn.has(nr)||(x&&(tt|=4),uo(on,C,tt,x),bn.add(nr))}function uo(C,x,q,Pe){var tt=ts.get(x);switch(void 0===tt?2:tt){case 0:tt=Hi;break;case 1:tt=Fi;break;default:tt=cs}q=tt.bind(null,x,q,C),tt=void 0,!mr||"touchstart"!==x&&"touchmove"!==x&&"wheel"!==x||(tt=!0),C.addEventListener(x,q,Pe?void 0===tt||{capture:!0,passive:tt}:void 0!==tt&&{passive:tt})}function Ki(C,x,q,Pe,tt){var on=Pe;if(0==(1&x)&&0==(2&x)&&null!==Pe)e:for(;;){if(null===Pe)return;var bn=Pe.tag;if(3===bn||4===bn){var nr=Pe.stateNode.containerInfo;if(nr===tt||8===nr.nodeType&&nr.parentNode===tt)break;if(4===bn)for(bn=Pe.return;null!==bn;){var wr=bn.tag;if((3===wr||4===wr)&&((wr=bn.stateNode.containerInfo)===tt||8===wr.nodeType&&wr.parentNode===tt))return;bn=bn.return}for(;null!==nr;){if(null===(bn=Je(nr)))return;if(5===(wr=bn.tag)||6===wr){Pe=on=bn;continue e}nr=nr.parentNode}}Pe=Pe.return}!function(qr,ao,ns){if(An)return qr();An=!0;try{Nn(qr,void 0,void 0)}finally{An=!1,Bn()}}(function(){var qr=on,ao=Ir(q),ns=[];e:{var oo=Ko.get(C);if(void 0!==oo){var ms=ja,Js=C;switch(C){case"keypress":if(0===Dl(q))break e;case"keydown":case"keyup":ms=Ta;break;case"focusin":Js="focus",ms=Ne;break;case"focusout":Js="blur",ms=Ne;break;case"beforeblur":case"afterblur":ms=Ne;break;case"click":if(2===q.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ms=Ce;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ms=ye;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ms=Oa;break;case Gi:case Wo:case Ro:ms=Wt;break;case Bo:ms=ba;break;case"scroll":ms=an;break;case"wheel":ms=Es;break;case"copy":case"cut":case"paste":ms=Or;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ms=hl}var Gs=0!=(4&x),oi=!Gs&&"scroll"===C,Wr=Gs?null!==oo?oo+"Capture":null:oo;Gs=[];for(var ei,Vi=qr;null!==Vi;){var no=(ei=Vi).stateNode;if(5===ei.tag&&null!==no&&(ei=no,null!==Wr&&null!=(no=ir(Vi,Wr))&&Gs.push(Ho(Vi,no,ei))),oi)break;Vi=Vi.return}0<Gs.length&&(oo=new ms(oo,Js,null,q,ao),ns.push({event:oo,listeners:Gs}))}}if(0==(7&x)){if(ms="mouseout"===C||"pointerout"===C,(!(oo="mouseover"===C||"pointerover"===C)||0!=(16&x)||!(Js=q.relatedTarget||q.fromElement)||!Je(Js)&&!Js[Zl])&&(ms||oo)&&(oo=ao.window===ao?ao:(oo=ao.ownerDocument)?oo.defaultView||oo.parentWindow:window,ms?(ms=qr,null!==(Js=(Js=q.relatedTarget||q.toElement)?Je(Js):null)&&(Js!==(oi=Mi(Js))||5!==Js.tag&&6!==Js.tag)&&(Js=null)):(ms=null,Js=qr),ms!==Js)){if(Gs=Ce,no="onMouseLeave",Wr="onMouseEnter",Vi="mouse","pointerout"!==C&&"pointerover"!==C||(Gs=hl,no="onPointerLeave",Wr="onPointerEnter",Vi="pointer"),oi=null==ms?oo:we(ms),ei=null==Js?oo:we(Js),(oo=new Gs(no,Vi+"leave",ms,q,ao)).target=oi,oo.relatedTarget=ei,no=null,Je(ao)===qr&&((Gs=new Gs(Wr,Vi+"enter",Js,q,ao)).target=ei,Gs.relatedTarget=oi,no=Gs),oi=no,ms&&Js)e:{for(Wr=Js,Vi=0,ei=Gs=ms;ei;ei=na(ei))Vi++;for(ei=0,no=Wr;no;no=na(no))ei++;for(;0<Vi-ei;)Gs=na(Gs),Vi--;for(;0<ei-Vi;)Wr=na(Wr),ei--;for(;Vi--;){if(Gs===Wr||null!==Wr&&Gs===Wr.alternate)break e;Gs=na(Gs),Wr=na(Wr)}Gs=null}else Gs=null;null!==ms&&ha(ns,oo,ms,Gs,!1),null!==Js&&null!==oi&&ha(ns,oi,Js,Gs,!0)}if("select"===(ms=(oo=qr?we(qr):window).nodeName&&oo.nodeName.toLowerCase())||"input"===ms&&"file"===oo.type)var ia=tn;else if(Vo(oo))if(ur)ia=Ui;else{ia=si;var ps=ni}else(ms=oo.nodeName)&&"input"===ms.toLowerCase()&&("checkbox"===oo.type||"radio"===oo.type)&&(ia=bi);switch(ia&&(ia=ia(C,qr))?Ba(ns,ia,q,ao):(ps&&ps(C,oo,qr),"focusout"===C&&(ps=oo._wrapperState)&&ps.controlled&&"number"===oo.type&&Yn(oo,"number",oo.value)),ps=qr?we(qr):window,C){case"focusin":(Vo(ps)||"true"===ps.contentEditable)&&(Bt=ps,In=qr,Xn=null);break;case"focusout":Xn=In=Bt=null;break;case"mousedown":Sr=!0;break;case"contextmenu":case"mouseup":case"dragend":Sr=!1,pi(ns,q,ao);break;case"selectionchange":if(Ft)break;case"keydown":case"keyup":pi(ns,q,ao)}var la;if(wl)e:{switch(C){case"compositionstart":var ka="onCompositionStart";break e;case"compositionend":ka="onCompositionEnd";break e;case"compositionupdate":ka="onCompositionUpdate";break e}ka=void 0}else ys?Na(C,q)&&(ka="onCompositionEnd"):"keydown"===C&&229===q.keyCode&&(ka="onCompositionStart");ka&&(sl&&"ko"!==q.locale&&(ys||"onCompositionStart"!==ka?"onCompositionEnd"===ka&&ys&&(la=Al()):(xa="value"in(da=ao)?da.value:da.textContent,ys=!0)),0<(ps=Yi(qr,ka)).length&&(ka=new Ni(ka,C,null,q,ao),ns.push({event:ka,listeners:ps}),(la||null!==(la=Di(q)))&&(ka.data=la))),(la=Qa?function(zs,Sl){switch(zs){case"compositionend":return Di(Sl);case"keypress":return 32!==Sl.which?null:(Yl=!0,Il);case"textInput":return(zs=Sl.data)===Il&&Yl?null:zs;default:return null}}(C,q):function(zs,Sl){if(ys)return"compositionend"===zs||!wl&&Na(zs,Sl)?(zs=Al(),Ra=xa=da=null,ys=!1,zs):null;switch(zs){case"paste":return null;case"keypress":if(!(Sl.ctrlKey||Sl.altKey||Sl.metaKey)||Sl.ctrlKey&&Sl.altKey){if(Sl.char&&1<Sl.char.length)return Sl.char;if(Sl.which)return String.fromCharCode(Sl.which)}return null;case"compositionend":return sl&&"ko"!==Sl.locale?null:Sl.data;default:return null}}(C,q))&&0<(qr=Yi(qr,"onBeforeInput")).length&&(ao=new Ni("onBeforeInput","beforeinput",null,q,ao),ns.push({event:ao,listeners:qr}),ao.data=la)}li(ns,x)})}function Ho(C,x,q){return{instance:C,listener:x,currentTarget:q}}function Yi(C,x){for(var q=x+"Capture",Pe=[];null!==C;){var tt=C,on=tt.stateNode;5===tt.tag&&null!==on&&(tt=on,null!=(on=ir(C,q))&&Pe.unshift(Ho(C,on,tt)),null!=(on=ir(C,x))&&Pe.push(Ho(C,on,tt))),C=C.return}return Pe}function na(C){if(null===C)return null;do{C=C.return}while(C&&5!==C.tag);return C||null}function ha(C,x,q,Pe,tt){for(var on=x._reactName,bn=[];null!==q&&q!==Pe;){var nr=q,wr=nr.alternate,qr=nr.stateNode;if(null!==wr&&wr===Pe)break;5===nr.tag&&null!==qr&&(nr=qr,tt?null!=(wr=ir(q,on))&&bn.unshift(Ho(q,wr,nr)):tt||null!=(wr=ir(q,on))&&bn.push(Ho(q,wr,nr))),q=q.return}0!==bn.length&&C.push({event:x,listeners:bn})}function gl(){}var Hn=null,Ts=null;function Ll(C,x){switch(C){case"button":case"input":case"select":case"textarea":return!!x.autoFocus}return!1}function Hl(C,x){return"textarea"===C||"option"===C||"noscript"===C||"string"==typeof x.children||"number"==typeof x.children||"object"==typeof x.dangerouslySetInnerHTML&&null!==x.dangerouslySetInnerHTML&&null!=x.dangerouslySetInnerHTML.__html}var vo="function"==typeof setTimeout?setTimeout:void 0,Ds="function"==typeof clearTimeout?clearTimeout:void 0;function zc(C){(1===C.nodeType||9===C.nodeType&&null!=(C=C.body))&&(C.textContent="")}function vc(C){for(;null!=C;C=C.nextSibling){var x=C.nodeType;if(1===x||3===x)break}return C}function hc(C){C=C.previousSibling;for(var x=0;C;){if(8===C.nodeType){var q=C.data;if("$"===q||"$!"===q||"$?"===q){if(0===x)return C;x--}else"/$"===q&&x++}C=C.previousSibling}return null}var Fl=0,Cl=Math.random().toString(36).slice(2),ql="__reactFiber$"+Cl,kl="__reactProps$"+Cl,Zl="__reactContainer$"+Cl,eu="__reactEvents$"+Cl;function Je(C){var x=C[ql];if(x)return x;for(var q=C.parentNode;q;){if(x=q[Zl]||q[ql]){if(q=x.alternate,null!==x.child||null!==q&&null!==q.child)for(C=hc(C);null!==C;){if(q=C[ql])return q;C=hc(C)}return x}q=(C=q).parentNode}return null}function Fe(C){return!(C=C[ql]||C[Zl])||5!==C.tag&&6!==C.tag&&13!==C.tag&&3!==C.tag?null:C}function we(C){if(5===C.tag||6===C.tag)return C.stateNode;throw Error(l(33))}function Mt(C){return C[kl]||null}function xe(C){var x=C[eu];return void 0===x&&(x=C[eu]=new Set),x}var ke=[],Te=-1;function ge(C){return{current:C}}function Re(C){0>Te||(C.current=ke[Te],ke[Te]=null,Te--)}function Be(C,x){Te++,ke[Te]=C.current,C.current=x}var xt={},Dt=ge(xt),en=ge(!1),vn=xt;function Gn(C,x){var q=C.type.contextTypes;if(!q)return xt;var Pe=C.stateNode;if(Pe&&Pe.__reactInternalMemoizedUnmaskedChildContext===x)return Pe.__reactInternalMemoizedMaskedChildContext;var tt,on={};for(tt in q)on[tt]=x[tt];return Pe&&((C=C.stateNode).__reactInternalMemoizedUnmaskedChildContext=x,C.__reactInternalMemoizedMaskedChildContext=on),on}function kn(C){return null!=C.childContextTypes}function zn(){Re(en),Re(Dt)}function jr(C,x,q){if(Dt.current!==xt)throw Error(l(168));Be(Dt,x),Be(en,q)}function kr(C,x,q){var Pe=C.stateNode;if(C=x.childContextTypes,"function"!=typeof Pe.getChildContext)return q;for(var tt in Pe=Pe.getChildContext())if(!(tt in C))throw Error(l(108,dt(x)||"Unknown",tt));return s({},q,Pe)}function Gr(C){return C=(C=C.stateNode)&&C.__reactInternalMemoizedMergedChildContext||xt,vn=Dt.current,Be(Dt,C),Be(en,en.current),!0}function ci(C,x,q){var Pe=C.stateNode;if(!Pe)throw Error(l(169));q?(C=kr(C,x,vn),Pe.__reactInternalMemoizedMergedChildContext=C,Re(en),Re(Dt),Be(Dt,C)):Re(en),Be(en,q)}var Ci=null,vi=null,Ai=a.unstable_runWithPriority,fo=a.unstable_scheduleCallback,po=a.unstable_cancelCallback,No=a.unstable_shouldYield,Ao=a.unstable_requestPaint,io=a.unstable_now,So=a.unstable_getCurrentPriorityLevel,Xi=a.unstable_ImmediatePriority,Zi=a.unstable_UserBlockingPriority,Jo=a.unstable_NormalPriority,Po=a.unstable_LowPriority,ho=a.unstable_IdlePriority,Do={},Ls=void 0!==Ao?Ao:function(){},_n=null,Us=null,Pa=!1,Aa=io(),so=1e4>Aa?io:function(){return io()-Aa};function ra(){switch(So()){case Xi:return 99;case Zi:return 98;case Jo:return 97;case Po:return 96;case ho:return 95;default:throw Error(l(332))}}function rs(C){switch(C){case 99:return Xi;case 98:return Zi;case 97:return Jo;case 96:return Po;case 95:return ho;default:throw Error(l(332))}}function wa(C,x){return C=rs(C),Ai(C,x)}function Ws(C,x,q){return C=rs(C),fo(C,x,q)}function Fa(){if(null!==Us){var C=Us;Us=null,po(C)}xs()}function xs(){if(!Pa&&null!==_n){Pa=!0;var C=0;try{var x=_n;wa(99,function(){for(;C<x.length;C++){var q=x[C];do{q=q(!0)}while(null!==q)}}),_n=null}catch(q){throw null!==_n&&(_n=_n.slice(C+1)),fo(Xi,Fa),q}finally{Pa=!1}}}var Rs=J.ReactCurrentBatchConfig;function qs(C,x){if(C&&C.defaultProps){for(var q in x=s({},x),C=C.defaultProps)void 0===x[q]&&(x[q]=C[q]);return x}return x}var Ya=ge(null),Zs=null,Za=null,Ha=null;function Va(){Ha=Za=Zs=null}function Ua(C){var x=Ya.current;Re(Ya),C.type._context._currentValue=x}function al(C,x){for(;null!==C;){var q=C.alternate;if((C.childLanes&x)===x){if(null===q||(q.childLanes&x)===x)break;q.childLanes|=x}else C.childLanes|=x,null!==q&&(q.childLanes|=x);C=C.return}}function js(C,x){Zs=C,Ha=Za=null,null!==(C=C.dependencies)&&null!==C.firstContext&&(0!=(C.lanes&x)&&(Fs=!0),C.firstContext=null)}function ll(C,x){if(Ha!==C&&!1!==x&&0!==x)if("number"==typeof x&&1073741823!==x||(Ha=C,x=1073741823),x={context:C,observedBits:x,next:null},null===Za){if(null===Zs)throw Error(l(308));Za=x,Zs.dependencies={lanes:0,firstContext:x,responders:null}}else Za=Za.next=x;return C._currentValue}var sc=!1;function Vl(C){C.updateQueue={baseState:C.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function ac(C,x){x.updateQueue===(C=C.updateQueue)&&(x.updateQueue={baseState:C.baseState,firstBaseUpdate:C.firstBaseUpdate,lastBaseUpdate:C.lastBaseUpdate,shared:C.shared,effects:C.effects})}function Ga(C,x){return{eventTime:C,lane:x,tag:0,payload:null,callback:null,next:null}}function $i(C,x){if(null!==(C=C.updateQueue)){var q=(C=C.shared).pending;null===q?x.next=x:(x.next=q.next,q.next=x),C.pending=x}}function Cc(C,x){var q=C.updateQueue,Pe=C.alternate;if(null===Pe||q!==(Pe=Pe.updateQueue))null===(C=q.lastBaseUpdate)?q.firstBaseUpdate=x:C.next=x,q.lastBaseUpdate=x;else{var tt=null,on=null;if(null!==(q=q.firstBaseUpdate)){do{var bn={eventTime:q.eventTime,lane:q.lane,tag:q.tag,payload:q.payload,callback:q.callback,next:null};null===on?tt=on=bn:on=on.next=bn,q=q.next}while(null!==q);null===on?tt=on=x:on=on.next=x}else tt=on=x;C.updateQueue=q={baseState:Pe.baseState,firstBaseUpdate:tt,lastBaseUpdate:on,shared:Pe.shared,effects:Pe.effects}}}function _c(C,x,q,Pe){var tt=C.updateQueue;sc=!1;var on=tt.firstBaseUpdate,bn=tt.lastBaseUpdate,nr=tt.shared.pending;if(null!==nr){tt.shared.pending=null;var wr=nr,qr=wr.next;wr.next=null,null===bn?on=qr:bn.next=qr,bn=wr;var ao=C.alternate;if(null!==ao){var ns=(ao=ao.updateQueue).lastBaseUpdate;ns!==bn&&(null===ns?ao.firstBaseUpdate=qr:ns.next=qr,ao.lastBaseUpdate=wr)}}if(null!==on){for(ns=tt.baseState,bn=0,ao=qr=wr=null;;){var oo=on.eventTime;if((Pe&(nr=on.lane))===nr){null!==ao&&(ao=ao.next={eventTime:oo,lane:0,tag:on.tag,payload:on.payload,callback:on.callback,next:null});e:{var ms=C,Js=on;switch(nr=x,oo=q,Js.tag){case 1:if("function"==typeof(ms=Js.payload)){ns=ms.call(oo,ns,nr);break e}ns=ms;break e;case 3:ms.flags=-4097&ms.flags|64;case 0:if(null==(nr="function"==typeof(ms=Js.payload)?ms.call(oo,ns,nr):ms))break e;ns=s({},ns,nr);break e;case 2:sc=!0}}null!==on.callback&&(C.flags|=32,null===(nr=tt.effects)?tt.effects=[on]:nr.push(on))}else oo={eventTime:oo,lane:nr,tag:on.tag,payload:on.payload,callback:on.callback,next:null},null===ao?(qr=ao=oo,wr=ns):ao=ao.next=oo,bn|=nr;if(null===(on=on.next)){if(null===(nr=tt.shared.pending))break;on=nr.next,nr.next=null,tt.lastBaseUpdate=nr,tt.shared.pending=null}}null===ao&&(wr=ns),tt.baseState=wr,tt.firstBaseUpdate=qr,tt.lastBaseUpdate=ao,Pu|=bn,C.lanes=bn,C.memoizedState=ns}}function ml(C,x,q){if(C=x.effects,x.effects=null,null!==C)for(x=0;x<C.length;x++){var Pe=C[x],tt=Pe.callback;if(null!==tt){if(Pe.callback=null,Pe=q,"function"!=typeof tt)throw Error(l(191,tt));tt.call(Pe)}}}var _a=(new e.Component).refs;function tu(C,x,q,Pe){q=null==(q=q(Pe,x=C.memoizedState))?x:s({},x,q),C.memoizedState=q,0===C.lanes&&(C.updateQueue.baseState=q)}var lc={isMounted:function(C){return!!(C=C._reactInternals)&&Mi(C)===C},enqueueSetState:function(C,x,q){C=C._reactInternals;var Pe=mc(),tt=Bl(C),on=Ga(Pe,tt);on.payload=x,null!=q&&(on.callback=q),$i(C,on),hd(C,tt,Pe)},enqueueReplaceState:function(C,x,q){C=C._reactInternals;var Pe=mc(),tt=Bl(C),on=Ga(Pe,tt);on.tag=1,on.payload=x,null!=q&&(on.callback=q),$i(C,on),hd(C,tt,Pe)},enqueueForceUpdate:function(C,x){C=C._reactInternals;var q=mc(),Pe=Bl(C),tt=Ga(q,Pe);tt.tag=2,null!=x&&(tt.callback=x),$i(C,tt),hd(C,Pe,q)}};function Sc(C,x,q,Pe,tt,on,bn){return"function"==typeof(C=C.stateNode).shouldComponentUpdate?C.shouldComponentUpdate(Pe,on,bn):!(x.prototype&&x.prototype.isPureReactComponent&&Bi(q,Pe)&&Bi(tt,on))}function Tu(C,x,q){var Pe=!1,tt=xt,on=x.contextType;return"object"==typeof on&&null!==on?on=ll(on):(tt=kn(x)?vn:Dt.current,on=(Pe=null!=(Pe=x.contextTypes))?Gn(C,tt):xt),x=new x(q,on),C.memoizedState=null!=x.state?x.state:null,x.updater=lc,C.stateNode=x,x._reactInternals=C,Pe&&((C=C.stateNode).__reactInternalMemoizedUnmaskedChildContext=tt,C.__reactInternalMemoizedMaskedChildContext=on),x}function nu(C,x,q,Pe){C=x.state,"function"==typeof x.componentWillReceiveProps&&x.componentWillReceiveProps(q,Pe),"function"==typeof x.UNSAFE_componentWillReceiveProps&&x.UNSAFE_componentWillReceiveProps(q,Pe),x.state!==C&&lc.enqueueReplaceState(x,x.state,null)}function xl(C,x,q,Pe){var tt=C.stateNode;tt.props=q,tt.state=C.memoizedState,tt.refs=_a,Vl(C);var on=x.contextType;"object"==typeof on&&null!==on?tt.context=ll(on):(on=kn(x)?vn:Dt.current,tt.context=Gn(C,on)),_c(C,q,tt,Pe),tt.state=C.memoizedState,"function"==typeof(on=x.getDerivedStateFromProps)&&(tu(C,x,on,q),tt.state=C.memoizedState),"function"==typeof x.getDerivedStateFromProps||"function"==typeof tt.getSnapshotBeforeUpdate||"function"!=typeof tt.UNSAFE_componentWillMount&&"function"!=typeof tt.componentWillMount||(x=tt.state,"function"==typeof tt.componentWillMount&&tt.componentWillMount(),"function"==typeof tt.UNSAFE_componentWillMount&&tt.UNSAFE_componentWillMount(),x!==tt.state&&lc.enqueueReplaceState(tt,tt.state,null),_c(C,q,tt,Pe),tt.state=C.memoizedState),"function"==typeof tt.componentDidMount&&(C.flags|=4)}var Gl=Array.isArray;function nl(C,x,q){if(null!==(C=q.ref)&&"function"!=typeof C&&"object"!=typeof C){if(q._owner){if(q=q._owner){if(1!==q.tag)throw Error(l(309));var Pe=q.stateNode}if(!Pe)throw Error(l(147,C));var tt=""+C;return null!==x&&null!==x.ref&&"function"==typeof x.ref&&x.ref._stringRef===tt?x.ref:((x=function(on){var bn=Pe.refs;bn===_a&&(bn=Pe.refs={}),null===on?delete bn[tt]:bn[tt]=on})._stringRef=tt,x)}if("string"!=typeof C)throw Error(l(284));if(!q._owner)throw Error(l(290,C))}return C}function rl(C,x){if("textarea"!==C.type)throw Error(l(31,"[object Object]"===Object.prototype.toString.call(x)?"object with keys {"+Object.keys(x).join(", ")+"}":x))}function El(C){function x(oi,Wr){if(C){var ei=oi.lastEffect;null!==ei?(ei.nextEffect=Wr,oi.lastEffect=Wr):oi.firstEffect=oi.lastEffect=Wr,Wr.nextEffect=null,Wr.flags=8}}function q(oi,Wr){if(!C)return null;for(;null!==Wr;)x(oi,Wr),Wr=Wr.sibling;return null}function Pe(oi,Wr){for(oi=new Map;null!==Wr;)oi.set(null!==Wr.key?Wr.key:Wr.index,Wr),Wr=Wr.sibling;return oi}function tt(oi,Wr){return(oi=md(oi,Wr)).index=0,oi.sibling=null,oi}function on(oi,Wr,ei){return oi.index=ei,C?null!==(ei=oi.alternate)?(ei=ei.index)<Wr?(oi.flags=2,Wr):ei:(oi.flags=2,Wr):Wr}function bn(oi){return C&&null===oi.alternate&&(oi.flags=2),oi}function nr(oi,Wr,ei,Vi){return null===Wr||6!==Wr.tag?((Wr=Zf(ei,oi.mode,Vi)).return=oi,Wr):((Wr=tt(Wr,ei)).return=oi,Wr)}function wr(oi,Wr,ei,Vi){return null!==Wr&&Wr.elementType===ei.type?((Vi=tt(Wr,ei.props)).ref=nl(oi,Wr,ei),Vi.return=oi,Vi):((Vi=Tc(ei.type,ei.key,ei.props,null,oi.mode,Vi)).ref=nl(oi,Wr,ei),Vi.return=oi,Vi)}function qr(oi,Wr,ei,Vi){return null===Wr||4!==Wr.tag||Wr.stateNode.containerInfo!==ei.containerInfo||Wr.stateNode.implementation!==ei.implementation?((Wr=Dd(ei,oi.mode,Vi)).return=oi,Wr):((Wr=tt(Wr,ei.children||[])).return=oi,Wr)}function ao(oi,Wr,ei,Vi,no){return null===Wr||7!==Wr.tag?((Wr=jc(ei,oi.mode,Vi,no)).return=oi,Wr):((Wr=tt(Wr,ei)).return=oi,Wr)}function ns(oi,Wr,ei){if("string"==typeof Wr||"number"==typeof Wr)return(Wr=Zf(""+Wr,oi.mode,ei)).return=oi,Wr;if("object"==typeof Wr&&null!==Wr){switch(Wr.$$typeof){case B:return(ei=Tc(Wr.type,Wr.key,Wr.props,null,oi.mode,ei)).ref=nl(oi,null,Wr),ei.return=oi,ei;case ie:return(Wr=Dd(Wr,oi.mode,ei)).return=oi,Wr}if(Gl(Wr)||Ot(Wr))return(Wr=jc(Wr,oi.mode,ei,null)).return=oi,Wr;rl(oi,Wr)}return null}function oo(oi,Wr,ei,Vi){var no=null!==Wr?Wr.key:null;if("string"==typeof ei||"number"==typeof ei)return null!==no?null:nr(oi,Wr,""+ei,Vi);if("object"==typeof ei&&null!==ei){switch(ei.$$typeof){case B:return ei.key===no?ei.type===oe?ao(oi,Wr,ei.props.children,Vi,no):wr(oi,Wr,ei,Vi):null;case ie:return ei.key===no?qr(oi,Wr,ei,Vi):null}if(Gl(ei)||Ot(ei))return null!==no?null:ao(oi,Wr,ei,Vi,null);rl(oi,ei)}return null}function ms(oi,Wr,ei,Vi,no){if("string"==typeof Vi||"number"==typeof Vi)return nr(Wr,oi=oi.get(ei)||null,""+Vi,no);if("object"==typeof Vi&&null!==Vi){switch(Vi.$$typeof){case B:return oi=oi.get(null===Vi.key?ei:Vi.key)||null,Vi.type===oe?ao(Wr,oi,Vi.props.children,no,Vi.key):wr(Wr,oi,Vi,no);case ie:return qr(Wr,oi=oi.get(null===Vi.key?ei:Vi.key)||null,Vi,no)}if(Gl(Vi)||Ot(Vi))return ao(Wr,oi=oi.get(ei)||null,Vi,no,null);rl(Wr,Vi)}return null}return function(oi,Wr,ei,Vi){var no="object"==typeof ei&&null!==ei&&ei.type===oe&&null===ei.key;no&&(ei=ei.props.children);var ia="object"==typeof ei&&null!==ei;if(ia)switch(ei.$$typeof){case B:e:{for(ia=ei.key,no=Wr;null!==no;){if(no.key===ia){switch(no.tag){case 7:if(ei.type===oe){q(oi,no.sibling),(Wr=tt(no,ei.props.children)).return=oi,oi=Wr;break e}break;default:if(no.elementType===ei.type){q(oi,no.sibling),(Wr=tt(no,ei.props)).ref=nl(oi,no,ei),Wr.return=oi,oi=Wr;break e}}q(oi,no);break}x(oi,no),no=no.sibling}ei.type===oe?((Wr=jc(ei.props.children,oi.mode,Vi,ei.key)).return=oi,oi=Wr):((Vi=Tc(ei.type,ei.key,ei.props,null,oi.mode,Vi)).ref=nl(oi,Wr,ei),Vi.return=oi,oi=Vi)}return bn(oi);case ie:e:{for(no=ei.key;null!==Wr;){if(Wr.key===no){if(4===Wr.tag&&Wr.stateNode.containerInfo===ei.containerInfo&&Wr.stateNode.implementation===ei.implementation){q(oi,Wr.sibling),(Wr=tt(Wr,ei.children||[])).return=oi,oi=Wr;break e}q(oi,Wr);break}x(oi,Wr),Wr=Wr.sibling}(Wr=Dd(ei,oi.mode,Vi)).return=oi,oi=Wr}return bn(oi)}if("string"==typeof ei||"number"==typeof ei)return ei=""+ei,null!==Wr&&6===Wr.tag?(q(oi,Wr.sibling),(Wr=tt(Wr,ei)).return=oi,oi=Wr):(q(oi,Wr),(Wr=Zf(ei,oi.mode,Vi)).return=oi,oi=Wr),bn(oi);if(Gl(ei))return function(oi,Wr,ei,Vi){for(var no=null,ia=null,ps=Wr,la=Wr=0,ka=null;null!==ps&&la<ei.length;la++){ps.index>la?(ka=ps,ps=null):ka=ps.sibling;var zs=oo(oi,ps,ei[la],Vi);if(null===zs){null===ps&&(ps=ka);break}C&&ps&&null===zs.alternate&&x(oi,ps),Wr=on(zs,Wr,la),null===ia?no=zs:ia.sibling=zs,ia=zs,ps=ka}if(la===ei.length)return q(oi,ps),no;if(null===ps){for(;la<ei.length;la++)null!==(ps=ns(oi,ei[la],Vi))&&(Wr=on(ps,Wr,la),null===ia?no=ps:ia.sibling=ps,ia=ps);return no}for(ps=Pe(oi,ps);la<ei.length;la++)null!==(ka=ms(ps,oi,la,ei[la],Vi))&&(C&&null!==ka.alternate&&ps.delete(null===ka.key?la:ka.key),Wr=on(ka,Wr,la),null===ia?no=ka:ia.sibling=ka,ia=ka);return C&&ps.forEach(function(Sl){return x(oi,Sl)}),no}(oi,Wr,ei,Vi);if(Ot(ei))return function(oi,Wr,ei,Vi){var no=Ot(ei);if("function"!=typeof no)throw Error(l(150));if(null==(ei=no.call(ei)))throw Error(l(151));for(var ia=no=null,ps=Wr,la=Wr=0,ka=null,zs=ei.next();null!==ps&&!zs.done;la++,zs=ei.next()){ps.index>la?(ka=ps,ps=null):ka=ps.sibling;var Sl=oo(oi,ps,zs.value,Vi);if(null===Sl){null===ps&&(ps=ka);break}C&&ps&&null===Sl.alternate&&x(oi,ps),Wr=on(Sl,Wr,la),null===ia?no=Sl:ia.sibling=Sl,ia=Sl,ps=ka}if(zs.done)return q(oi,ps),no;if(null===ps){for(;!zs.done;la++,zs=ei.next())null!==(zs=ns(oi,zs.value,Vi))&&(Wr=on(zs,Wr,la),null===ia?no=zs:ia.sibling=zs,ia=zs);return no}for(ps=Pe(oi,ps);!zs.done;la++,zs=ei.next())null!==(zs=ms(ps,oi,la,zs.value,Vi))&&(C&&null!==zs.alternate&&ps.delete(null===zs.key?la:zs.key),Wr=on(zs,Wr,la),null===ia?no=zs:ia.sibling=zs,ia=zs);return C&&ps.forEach(function(Gp){return x(oi,Gp)}),no}(oi,Wr,ei,Vi);if(ia&&rl(oi,ei),void 0===ei&&!no)switch(oi.tag){case 1:case 22:case 0:case 11:case 15:throw Error(l(152,dt(oi.type)||"Component"))}return q(oi,Wr)}}var cl=El(!0),Rc=El(!1),cc={},il=ge(cc),ul=ge(cc),Jl=ge(cc);function Rl(C){if(C===cc)throw Error(l(174));return C}function p(C,x){switch(Be(Jl,x),Be(ul,C),Be(il,cc),C=x.nodeType){case 9:case 11:x=(x=x.documentElement)?x.namespaceURI:Dn(null,"");break;default:x=Dn(x=(C=8===C?x.parentNode:x).namespaceURI||null,C=C.tagName)}Re(il),Be(il,x)}function E(){Re(il),Re(ul),Re(Jl)}function N(C){Rl(Jl.current);var x=Rl(il.current),q=Dn(x,C.type);x!==q&&(Be(ul,C),Be(il,q))}function $(C){ul.current===C&&(Re(il),Re(ul))}var Q=ge(0);function de(C){for(var x=C;null!==x;){if(13===x.tag){var q=x.memoizedState;if(null!==q&&(null===(q=q.dehydrated)||"$?"===q.data||"$!"===q.data))return x}else if(19===x.tag&&void 0!==x.memoizedProps.revealOrder){if(0!=(64&x.flags))return x}else if(null!==x.child){x.child.return=x,x=x.child;continue}if(x===C)break;for(;null===x.sibling;){if(null===x.return||x.return===C)return null;x=x.return}x.sibling.return=x.return,x=x.sibling}return null}var ve=null,ze=null,De=!1;function _t(C,x){var q=Ec(5,null,null,0);q.elementType="DELETED",q.type="DELETED",q.stateNode=x,q.return=C,q.flags=8,null!==C.lastEffect?(C.lastEffect.nextEffect=q,C.lastEffect=q):C.firstEffect=C.lastEffect=q}function Yt(C,x){switch(C.tag){case 5:return null!==(x=1!==x.nodeType||C.type.toLowerCase()!==x.nodeName.toLowerCase()?null:x)&&(C.stateNode=x,!0);case 6:return null!==(x=""===C.pendingProps||3!==x.nodeType?null:x)&&(C.stateNode=x,!0);case 13:default:return!1}}function Zt(C){if(De){var x=ze;if(x){var q=x;if(!Yt(C,x)){if(!(x=vc(q.nextSibling))||!Yt(C,x))return C.flags=-1025&C.flags|2,De=!1,void(ve=C);_t(ve,q)}ve=C,ze=vc(x.firstChild)}else C.flags=-1025&C.flags|2,De=!1,ve=C}}function wn(C){for(C=C.return;null!==C&&5!==C.tag&&3!==C.tag&&13!==C.tag;)C=C.return;ve=C}function cr(C){if(C!==ve)return!1;if(!De)return wn(C),De=!0,!1;var x=C.type;if(5!==C.tag||"head"!==x&&"body"!==x&&!Hl(x,C.memoizedProps))for(x=ze;x;)_t(C,x),x=vc(x.nextSibling);if(wn(C),13===C.tag){if(!(C=null!==(C=C.memoizedState)?C.dehydrated:null))throw Error(l(317));e:{for(C=C.nextSibling,x=0;C;){if(8===C.nodeType){var q=C.data;if("/$"===q){if(0===x){ze=vc(C.nextSibling);break e}x--}else"$"!==q&&"$!"!==q&&"$?"!==q||x++}C=C.nextSibling}ze=null}}else ze=ve?vc(C.stateNode.nextSibling):null;return!0}function sr(){ze=ve=null,De=!1}var Tr=[];function Yr(){for(var C=0;C<Tr.length;C++)Tr[C]._workInProgressVersionPrimary=null;Tr.length=0}var Pi=J.ReactCurrentDispatcher,yo=J.ReactCurrentBatchConfig,To=0,Qo=null,Go=null,As=null,Cs=!1,Ss=!1;function Is(){throw Error(l(321))}function Da(C,x){if(null===x)return!1;for(var q=0;q<x.length&&q<C.length;q++)if(!ro(C[q],x[q]))return!1;return!0}function vl(C,x,q,Pe,tt,on){if(To=on,Qo=x,x.memoizedState=null,x.updateQueue=null,x.lanes=0,Pi.current=null===C||null===C.memoizedState?sf:Cd,C=q(Pe,tt),Ss){on=0;do{if(Ss=!1,!(25>on))throw Error(l(301));on+=1,As=Go=null,x.updateQueue=null,Pi.current=Cu,C=q(Pe,tt)}while(Ss)}if(Pi.current=Nu,x=null!==Go&&null!==Go.next,To=0,As=Go=Qo=null,Cs=!1,x)throw Error(l(300));return C}function za(){var C={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===As?Qo.memoizedState=As=C:As=As.next=C,As}function Xa(){if(null===Go){var C=Qo.alternate;C=null!==C?C.memoizedState:null}else C=Go.next;var x=null===As?Qo.memoizedState:As.next;if(null!==x)As=x,Go=C;else{if(null===C)throw Error(l(310));C={memoizedState:(Go=C).memoizedState,baseState:Go.baseState,baseQueue:Go.baseQueue,queue:Go.queue,next:null},null===As?Qo.memoizedState=As=C:As=As.next=C}return As}function Ka(C,x){return"function"==typeof x?x(C):x}function Ul(C){var x=Xa(),q=x.queue;if(null===q)throw Error(l(311));q.lastRenderedReducer=C;var Pe=Go,tt=Pe.baseQueue,on=q.pending;if(null!==on){if(null!==tt){var bn=tt.next;tt.next=on.next,on.next=bn}Pe.baseQueue=tt=on,q.pending=null}if(null!==tt){Pe=Pe.baseState;var nr=bn=on=null,wr=tt=tt.next;do{var qr=wr.lane;if((To&qr)===qr)null!==nr&&(nr=nr.next={lane:0,action:wr.action,eagerReducer:wr.eagerReducer,eagerState:wr.eagerState,next:null}),Pe=wr.eagerReducer===C?wr.eagerState:C(Pe,wr.action);else{var ao={lane:qr,action:wr.action,eagerReducer:wr.eagerReducer,eagerState:wr.eagerState,next:null};null===nr?(bn=nr=ao,on=Pe):nr=nr.next=ao,Qo.lanes|=qr,Pu|=qr}wr=wr.next}while(null!==wr&&wr!==tt);null===nr?on=Pe:nr.next=bn,ro(Pe,x.memoizedState)||(Fs=!0),x.memoizedState=Pe,x.baseState=on,x.baseQueue=nr,q.lastRenderedState=Pe}return[x.memoizedState,q.dispatch]}function $l(C){var x=Xa(),q=x.queue;if(null===q)throw Error(l(311));q.lastRenderedReducer=C;var Pe=q.dispatch,tt=q.pending,on=x.memoizedState;if(null!==tt){q.pending=null;var bn=tt=tt.next;do{on=C(on,bn.action),bn=bn.next}while(bn!==tt);ro(on,x.memoizedState)||(Fs=!0),x.memoizedState=on,null===x.baseQueue&&(x.baseState=on),q.lastRenderedState=on}return[on,Pe]}function Vs(C,x,q){var Pe=x._getVersion;Pe=Pe(x._source);var tt=x._workInProgressVersionPrimary;if(null!==tt?C=tt===Pe:(C=(To&(C=C.mutableReadLanes))===C)&&(x._workInProgressVersionPrimary=Pe,Tr.push(x)),C)return q(x._source);throw Tr.push(x),Error(l(350))}function X(C,x,q,Pe){var tt=Kl;if(null===tt)throw Error(l(349));var on=x._getVersion,bn=on(x._source),nr=Pi.current,wr=nr.useState(function(){return Vs(tt,x,q)}),qr=wr[1],ao=wr[0];wr=As;var ns=C.memoizedState,oo=ns.refs,ms=oo.getSnapshot,Js=ns.source;ns=ns.subscribe;var Gs=Qo;return C.memoizedState={refs:oo,source:x,subscribe:Pe},nr.useEffect(function(){oo.getSnapshot=q,oo.setSnapshot=qr;var oi=on(x._source);if(!ro(bn,oi)){oi=q(x._source),ro(ao,oi)||(qr(oi),oi=Bl(Gs),tt.mutableReadLanes|=oi&tt.pendingLanes),tt.entangledLanes|=oi=tt.mutableReadLanes;for(var Wr=tt.entanglements,ei=oi;0<ei;){var Vi=31-Tn(ei),no=1<<Vi;Wr[Vi]|=oi,ei&=~no}}},[q,x,Pe]),nr.useEffect(function(){return Pe(x._source,function(){var oi=oo.getSnapshot,Wr=oo.setSnapshot;try{Wr(oi(x._source));var ei=Bl(Gs);tt.mutableReadLanes|=ei&tt.pendingLanes}catch(Vi){Wr(function(){throw Vi})}})},[x,Pe]),ro(ms,q)&&ro(Js,x)&&ro(ns,Pe)||((C={pending:null,dispatch:null,lastRenderedReducer:Ka,lastRenderedState:ao}).dispatch=qr=ad.bind(null,Qo,C),wr.queue=C,wr.baseQueue=null,ao=Vs(tt,x,q),wr.memoizedState=wr.baseState=ao),ao}function me(C,x,q){return X(Xa(),C,x,q)}function bt(C){var x=za();return"function"==typeof C&&(C=C()),x.memoizedState=x.baseState=C,C=(C=x.queue={pending:null,dispatch:null,lastRenderedReducer:Ka,lastRenderedState:C}).dispatch=ad.bind(null,Qo,C),[x.memoizedState,C]}function qt(C,x,q,Pe){return C={tag:C,create:x,destroy:q,deps:Pe,next:null},null===(x=Qo.updateQueue)?(Qo.updateQueue=x={lastEffect:null},x.lastEffect=C.next=C):null===(q=x.lastEffect)?x.lastEffect=C.next=C:(Pe=q.next,q.next=C,C.next=Pe,x.lastEffect=C),C}function xn(C){return C={current:C},za().memoizedState=C}function Ar(){return Xa().memoizedState}function xi(C,x,q,Pe){var tt=za();Qo.flags|=C,tt.memoizedState=qt(1|x,q,void 0,void 0===Pe?null:Pe)}function fs(C,x,q,Pe){var tt=Xa();Pe=void 0===Pe?null:Pe;var on=void 0;if(null!==Go){var bn=Go.memoizedState;if(on=bn.destroy,null!==Pe&&Da(Pe,bn.deps))return void qt(x,q,on,Pe)}Qo.flags|=C,tt.memoizedState=qt(1|x,q,on,Pe)}function aa(C,x){return xi(516,4,C,x)}function Wa(C,x){return fs(516,4,C,x)}function gc(C,x){return fs(4,2,C,x)}function Ql(C,x){return"function"==typeof x?(C=C(),x(C),function(){x(null)}):null!=x?(C=C(),x.current=C,function(){x.current=null}):void 0}function yc(C,x,q){return q=null!=q?q.concat([C]):null,fs(4,2,Ql.bind(null,x,C),q)}function qu(){}function sd(C,x){var q=Xa();x=void 0===x?null:x;var Pe=q.memoizedState;return null!==Pe&&null!==x&&Da(x,Pe[1])?Pe[0]:(q.memoizedState=[C,x],C)}function op(C,x){var q=Xa();x=void 0===x?null:x;var Pe=q.memoizedState;return null!==Pe&&null!==x&&Da(x,Pe[1])?Pe[0]:(C=C(),q.memoizedState=[C,x],C)}function kd(C,x){var q=ra();wa(98>q?98:q,function(){C(!0)}),wa(97<q?97:q,function(){var Pe=yo.transition;yo.transition=1;try{C(!1),x()}finally{yo.transition=Pe}})}function ad(C,x,q){var Pe=mc(),tt=Bl(C),on={lane:tt,action:q,eagerReducer:null,eagerState:null,next:null},bn=x.pending;if(null===bn?on.next=on:(on.next=bn.next,bn.next=on),x.pending=on,bn=C.alternate,C===Qo||null!==bn&&bn===Qo)Ss=Cs=!0;else{if(0===C.lanes&&(null===bn||0===bn.lanes)&&null!==(bn=x.lastRenderedReducer))try{var nr=x.lastRenderedState,wr=bn(nr,q);if(on.eagerReducer=bn,on.eagerState=wr,ro(wr,nr))return}catch(qr){}hd(C,tt,Pe)}}var Nu={readContext:ll,useCallback:Is,useContext:Is,useEffect:Is,useImperativeHandle:Is,useLayoutEffect:Is,useMemo:Is,useReducer:Is,useRef:Is,useState:Is,useDebugValue:Is,useDeferredValue:Is,useTransition:Is,useMutableSource:Is,useOpaqueIdentifier:Is,unstable_isNewReconciler:!1},sf={readContext:ll,useCallback:function(C,x){return za().memoizedState=[C,void 0===x?null:x],C},useContext:ll,useEffect:aa,useImperativeHandle:function(C,x,q){return q=null!=q?q.concat([C]):null,xi(4,2,Ql.bind(null,x,C),q)},useLayoutEffect:function(C,x){return xi(4,2,C,x)},useMemo:function(C,x){var q=za();return x=void 0===x?null:x,C=C(),q.memoizedState=[C,x],C},useReducer:function(C,x,q){var Pe=za();return x=void 0!==q?q(x):x,Pe.memoizedState=Pe.baseState=x,C=(C=Pe.queue={pending:null,dispatch:null,lastRenderedReducer:C,lastRenderedState:x}).dispatch=ad.bind(null,Qo,C),[Pe.memoizedState,C]},useRef:xn,useState:bt,useDebugValue:qu,useDeferredValue:function(C){var x=bt(C),q=x[0],Pe=x[1];return aa(function(){var tt=yo.transition;yo.transition=1;try{Pe(C)}finally{yo.transition=tt}},[C]),q},useTransition:function(){var C=bt(!1),x=C[0];return xn(C=kd.bind(null,C[1])),[C,x]},useMutableSource:function(C,x,q){var Pe=za();return Pe.memoizedState={refs:{getSnapshot:x,setSnapshot:null},source:C,subscribe:q},X(Pe,C,x,q)},useOpaqueIdentifier:function(){if(De){var C=!1,x={$$typeof:$e,toString:Pe=function(){throw C||(C=!0,q("r:"+(Fl++).toString(36))),Error(l(355))},valueOf:Pe},q=bt(x)[1];return 0==(2&Qo.mode)&&(Qo.flags|=516,qt(5,function(){q("r:"+(Fl++).toString(36))},void 0,null)),x}var Pe;return bt(x="r:"+(Fl++).toString(36)),x},unstable_isNewReconciler:!1},Cd={readContext:ll,useCallback:sd,useContext:ll,useEffect:Wa,useImperativeHandle:yc,useLayoutEffect:gc,useMemo:op,useReducer:Ul,useRef:Ar,useState:function(){return Ul(Ka)},useDebugValue:qu,useDeferredValue:function(C){var x=Ul(Ka),q=x[0],Pe=x[1];return Wa(function(){var tt=yo.transition;yo.transition=1;try{Pe(C)}finally{yo.transition=tt}},[C]),q},useTransition:function(){var C=Ul(Ka)[0];return[Ar().current,C]},useMutableSource:me,useOpaqueIdentifier:function(){return Ul(Ka)[0]},unstable_isNewReconciler:!1},Cu={readContext:ll,useCallback:sd,useContext:ll,useEffect:Wa,useImperativeHandle:yc,useLayoutEffect:gc,useMemo:op,useReducer:$l,useRef:Ar,useState:function(){return $l(Ka)},useDebugValue:qu,useDeferredValue:function(C){var x=$l(Ka),q=x[0],Pe=x[1];return Wa(function(){var tt=yo.transition;yo.transition=1;try{Pe(C)}finally{yo.transition=tt}},[C]),q},useTransition:function(){var C=$l(Ka)[0];return[Ar().current,C]},useMutableSource:me,useOpaqueIdentifier:function(){return $l(Ka)[0]},unstable_isNewReconciler:!1},$d=J.ReactCurrentOwner,Fs=!1;function Nc(C,x,q,Pe){x.child=null===C?Rc(x,null,q,Pe):cl(x,C.child,q,Pe)}function Pf(C,x,q,Pe,tt){q=q.render;var on=x.ref;return js(x,tt),Pe=vl(C,x,q,Pe,on,tt),null===C||Fs?(x.flags|=1,Nc(C,x,Pe,tt),x.child):(x.updateQueue=C.updateQueue,x.flags&=-517,C.lanes&=~tt,Mc(C,x,tt))}function ld(C,x,q,Pe,tt,on){if(null===C){var bn=q.type;return"function"!=typeof bn||Xc(bn)||void 0!==bn.defaultProps||null!==q.compare||void 0!==q.defaultProps?((C=Tc(q.type,null,Pe,x,x.mode,on)).ref=x.ref,C.return=x,x.child=C):(x.tag=15,x.type=bn,ru(C,x,bn,Pe,tt,on))}return bn=C.child,0==(tt&on)&&(q=null!==(q=q.compare)?q:Bi)(tt=bn.memoizedProps,Pe)&&C.ref===x.ref?Mc(C,x,on):(x.flags|=1,(C=md(bn,Pe)).ref=x.ref,C.return=x,x.child=C)}function ru(C,x,q,Pe,tt,on){if(null!==C&&Bi(C.memoizedProps,Pe)&&C.ref===x.ref){if(Fs=!1,0==(on&tt))return x.lanes=C.lanes,Mc(C,x,on);0!=(16384&C.flags)&&(Fs=!0)}return Pc(C,x,q,Pe,on)}function Su(C,x,q){var Pe=x.pendingProps,tt=Pe.children,on=null!==C?C.memoizedState:null;if("hidden"===Pe.mode||"unstable-defer-without-hiding"===Pe.mode)if(0==(4&x.mode))x.memoizedState={baseLanes:0},mu(0,q);else{if(0==(1073741824&q))return C=null!==on?on.baseLanes|q:q,x.lanes=x.childLanes=1073741824,x.memoizedState={baseLanes:C},mu(0,C),null;x.memoizedState={baseLanes:0},mu(0,null!==on?on.baseLanes:q)}else null!==on?(Pe=on.baseLanes|q,x.memoizedState=null):Pe=q,mu(0,Pe);return Nc(C,x,tt,q),x.child}function af(C,x){var q=x.ref;(null===C&&null!==q||null!==C&&C.ref!==q)&&(x.flags|=128)}function Pc(C,x,q,Pe,tt){var on=kn(q)?vn:Dt.current;return on=Gn(x,on),js(x,tt),q=vl(C,x,q,Pe,on,tt),null===C||Fs?(x.flags|=1,Nc(C,x,q,tt),x.child):(x.updateQueue=C.updateQueue,x.flags&=-517,C.lanes&=~tt,Mc(C,x,tt))}function If(C,x,q,Pe,tt){if(kn(q)){var on=!0;Gr(x)}else on=!1;if(js(x,tt),null===x.stateNode)null!==C&&(C.alternate=null,x.alternate=null,x.flags|=2),Tu(x,q,Pe),xl(x,q,Pe,tt),Pe=!0;else if(null===C){var bn=x.stateNode,nr=x.memoizedProps;bn.props=nr;var wr=bn.context,qr=q.contextType;qr="object"==typeof qr&&null!==qr?ll(qr):Gn(x,qr=kn(q)?vn:Dt.current);var ao=q.getDerivedStateFromProps,ns="function"==typeof ao||"function"==typeof bn.getSnapshotBeforeUpdate;ns||"function"!=typeof bn.UNSAFE_componentWillReceiveProps&&"function"!=typeof bn.componentWillReceiveProps||(nr!==Pe||wr!==qr)&&nu(x,bn,Pe,qr),sc=!1;var oo=x.memoizedState;bn.state=oo,_c(x,Pe,bn,tt),wr=x.memoizedState,nr!==Pe||oo!==wr||en.current||sc?("function"==typeof ao&&(tu(x,q,ao,Pe),wr=x.memoizedState),(nr=sc||Sc(x,q,nr,Pe,oo,wr,qr))?(ns||"function"!=typeof bn.UNSAFE_componentWillMount&&"function"!=typeof bn.componentWillMount||("function"==typeof bn.componentWillMount&&bn.componentWillMount(),"function"==typeof bn.UNSAFE_componentWillMount&&bn.UNSAFE_componentWillMount()),"function"==typeof bn.componentDidMount&&(x.flags|=4)):("function"==typeof bn.componentDidMount&&(x.flags|=4),x.memoizedProps=Pe,x.memoizedState=wr),bn.props=Pe,bn.state=wr,bn.context=qr,Pe=nr):("function"==typeof bn.componentDidMount&&(x.flags|=4),Pe=!1)}else{bn=x.stateNode,ac(C,x),nr=x.memoizedProps,qr=x.type===x.elementType?nr:qs(x.type,nr),bn.props=qr,ns=x.pendingProps,oo=bn.context,wr="object"==typeof(wr=q.contextType)&&null!==wr?ll(wr):Gn(x,wr=kn(q)?vn:Dt.current);var ms=q.getDerivedStateFromProps;(ao="function"==typeof ms||"function"==typeof bn.getSnapshotBeforeUpdate)||"function"!=typeof bn.UNSAFE_componentWillReceiveProps&&"function"!=typeof bn.componentWillReceiveProps||(nr!==ns||oo!==wr)&&nu(x,bn,Pe,wr),sc=!1,bn.state=oo=x.memoizedState,_c(x,Pe,bn,tt);var Js=x.memoizedState;nr!==ns||oo!==Js||en.current||sc?("function"==typeof ms&&(tu(x,q,ms,Pe),Js=x.memoizedState),(qr=sc||Sc(x,q,qr,Pe,oo,Js,wr))?(ao||"function"!=typeof bn.UNSAFE_componentWillUpdate&&"function"!=typeof bn.componentWillUpdate||("function"==typeof bn.componentWillUpdate&&bn.componentWillUpdate(Pe,Js,wr),"function"==typeof bn.UNSAFE_componentWillUpdate&&bn.UNSAFE_componentWillUpdate(Pe,Js,wr)),"function"==typeof bn.componentDidUpdate&&(x.flags|=4),"function"==typeof bn.getSnapshotBeforeUpdate&&(x.flags|=256)):("function"!=typeof bn.componentDidUpdate||nr===C.memoizedProps&&oo===C.memoizedState||(x.flags|=4),"function"!=typeof bn.getSnapshotBeforeUpdate||nr===C.memoizedProps&&oo===C.memoizedState||(x.flags|=256),x.memoizedProps=Pe,x.memoizedState=Js),bn.props=Pe,bn.state=Js,bn.context=wr,Pe=qr):("function"!=typeof bn.componentDidUpdate||nr===C.memoizedProps&&oo===C.memoizedState||(x.flags|=4),"function"!=typeof bn.getSnapshotBeforeUpdate||nr===C.memoizedProps&&oo===C.memoizedState||(x.flags|=256),Pe=!1)}return cd(C,x,q,Pe,on,tt)}function cd(C,x,q,Pe,tt,on){af(C,x);var bn=0!=(64&x.flags);if(!Pe&&!bn)return tt&&ci(x,q,!1),Mc(C,x,on);Pe=x.stateNode,$d.current=x;var nr=bn&&"function"!=typeof q.getDerivedStateFromError?null:Pe.render();return x.flags|=1,null!==C&&bn?(x.child=cl(x,C.child,null,on),x.child=cl(x,null,nr,on)):Nc(C,x,nr,on),x.memoizedState=Pe.state,tt&&ci(x,q,!0),x.child}function lf(C){var x=C.stateNode;x.pendingContext?jr(0,x.pendingContext,x.pendingContext!==x.context):x.context&&jr(0,x.context,!1),p(C,x.containerInfo)}var Hd,Sd,Ic,pu={dehydrated:null,retryLane:0};function Ud(C,x,q){var Pe,tt=x.pendingProps,on=Q.current,bn=!1;return(Pe=0!=(64&x.flags))||(Pe=(null===C||null!==C.memoizedState)&&0!=(2&on)),Pe?(bn=!0,x.flags&=-65):null!==C&&null===C.memoizedState||void 0===tt.fallback||!0===tt.unstable_avoidThisFallback||(on|=1),Be(Q,1&on),null===C?(void 0!==tt.fallback&&Zt(x),C=tt.children,on=tt.fallback,bn?(C=ud(x,C,on,q),x.child.memoizedState={baseLanes:q},x.memoizedState=pu,C):"number"==typeof tt.unstable_expectedLoadTime?(C=ud(x,C,on,q),x.child.memoizedState={baseLanes:q},x.memoizedState=pu,x.lanes=33554432,C):((q=Yf({mode:"visible",children:C},x.mode,q,null)).return=x,x.child=q)):bn?(tt=function(C,x,q,Pe,tt){var on=x.mode,bn=C.child;C=bn.sibling;var nr={mode:"hidden",children:q};return 0==(2&on)&&x.child!==bn?((q=x.child).childLanes=0,q.pendingProps=nr,null!==(bn=q.lastEffect)?(x.firstEffect=q.firstEffect,x.lastEffect=bn,bn.nextEffect=null):x.firstEffect=x.lastEffect=null):q=md(bn,nr),null!==C?Pe=md(C,Pe):(Pe=jc(Pe,on,tt,null)).flags|=2,Pe.return=x,q.return=x,q.sibling=Pe,x.child=q,Pe}(C,x,tt.children,tt.fallback,q),(bn=x.child).memoizedState=null===(on=C.child.memoizedState)?{baseLanes:q}:{baseLanes:on.baseLanes|q},bn.childLanes=C.childLanes&~q,x.memoizedState=pu,tt):(q=function(C,x,q,Pe){var tt=C.child;return C=tt.sibling,q=md(tt,{mode:"visible",children:q}),0==(2&x.mode)&&(q.lanes=Pe),q.return=x,q.sibling=null,null!==C&&(C.nextEffect=null,C.flags=8,x.firstEffect=x.lastEffect=C),x.child=q}(C,x,tt.children,q),x.memoizedState=null,q)}function ud(C,x,q,Pe){var tt=C.mode,on=C.child;return x={mode:"hidden",children:x},0==(2&tt)&&null!==on?(on.childLanes=0,on.pendingProps=x):on=Yf(x,tt,0,null),q=jc(q,tt,Pe,null),on.return=C,q.return=C,on.sibling=q,C.child=on,q}function Mu(C,x){C.lanes|=x;var q=C.alternate;null!==q&&(q.lanes|=x),al(C.return,x)}function dd(C,x,q,Pe,tt,on){var bn=C.memoizedState;null===bn?C.memoizedState={isBackwards:x,rendering:null,renderingStartTime:0,last:Pe,tail:q,tailMode:tt,lastEffect:on}:(bn.isBackwards=x,bn.rendering=null,bn.renderingStartTime=0,bn.last=Pe,bn.tail=q,bn.tailMode=tt,bn.lastEffect=on)}function Lc(C,x,q){var Pe=x.pendingProps,tt=Pe.revealOrder,on=Pe.tail;if(Nc(C,x,Pe.children,q),0!=(2&(Pe=Q.current)))Pe=1&Pe|2,x.flags|=64;else{if(null!==C&&0!=(64&C.flags))e:for(C=x.child;null!==C;){if(13===C.tag)null!==C.memoizedState&&Mu(C,q);else if(19===C.tag)Mu(C,q);else if(null!==C.child){C.child.return=C,C=C.child;continue}if(C===x)break e;for(;null===C.sibling;){if(null===C.return||C.return===x)break e;C=C.return}C.sibling.return=C.return,C=C.sibling}Pe&=1}if(Be(Q,Pe),0==(2&x.mode))x.memoizedState=null;else switch(tt){case"forwards":for(q=x.child,tt=null;null!==q;)null!==(C=q.alternate)&&null===de(C)&&(tt=q),q=q.sibling;null===(q=tt)?(tt=x.child,x.child=null):(tt=q.sibling,q.sibling=null),dd(x,!1,tt,q,on,x.lastEffect);break;case"backwards":for(q=null,tt=x.child,x.child=null;null!==tt;){if(null!==(C=tt.alternate)&&null===de(C)){x.child=tt;break}C=tt.sibling,tt.sibling=q,q=tt,tt=C}dd(x,!0,q,null,on,x.lastEffect);break;case"together":dd(x,!1,null,null,void 0,x.lastEffect);break;default:x.memoizedState=null}return x.child}function Mc(C,x,q){if(null!==C&&(x.dependencies=C.dependencies),Pu|=x.lanes,0!=(q&x.childLanes)){if(null!==C&&x.child!==C.child)throw Error(l(153));if(null!==x.child){for(q=md(C=x.child,C.pendingProps),x.child=q,q.return=x;null!==C.sibling;)(q=q.sibling=md(C=C.sibling,C.pendingProps)).return=x;q.sibling=null}return x.child}return null}function Uc(C,x){if(!De)switch(C.tailMode){case"hidden":x=C.tail;for(var q=null;null!==x;)null!==x.alternate&&(q=x),x=x.sibling;null===q?C.tail=null:q.sibling=null;break;case"collapsed":q=C.tail;for(var Pe=null;null!==q;)null!==q.alternate&&(Pe=q),q=q.sibling;null===Pe?x||null===C.tail?C.tail=null:C.tail.sibling=null:Pe.sibling=null}}function Ff(C,x,q){var Pe=x.pendingProps;switch(x.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return kn(x.type)&&zn(),null;case 3:return E(),Re(en),Re(Dt),Yr(),(Pe=x.stateNode).pendingContext&&(Pe.context=Pe.pendingContext,Pe.pendingContext=null),null!==C&&null!==C.child||(cr(x)?x.flags|=4:Pe.hydrate||(x.flags|=256)),null;case 5:$(x);var tt=Rl(Jl.current);if(q=x.type,null!==C&&null!=x.stateNode)Sd(C,x,q,Pe),C.ref!==x.ref&&(x.flags|=128);else{if(!Pe){if(null===x.stateNode)throw Error(l(166));return null}if(C=Rl(il.current),cr(x)){q=x.type;var on=x.memoizedProps;switch((Pe=x.stateNode)[ql]=x,Pe[kl]=on,q){case"dialog":Ti("cancel",Pe),Ti("close",Pe);break;case"iframe":case"object":case"embed":Ti("load",Pe);break;case"video":case"audio":for(C=0;C<Un.length;C++)Ti(Un[C],Pe);break;case"source":Ti("error",Pe);break;case"img":case"image":case"link":Ti("error",Pe),Ti("load",Pe);break;case"details":Ti("toggle",Pe);break;case"input":er(Pe,on),Ti("invalid",Pe);break;case"select":Pe._wrapperState={wasMultiple:!!on.multiple},Ti("invalid",Pe);break;case"textarea":Kn(Pe,on),Ti("invalid",Pe)}for(var bn in hn(q,on),C=null,on)on.hasOwnProperty(bn)&&(tt=on[bn],"children"===bn?"string"==typeof tt?Pe.textContent!==tt&&(C=["children",tt]):"number"==typeof tt&&Pe.textContent!==""+tt&&(C=["children",""+tt]):h.hasOwnProperty(bn)&&null!=tt&&"onScroll"===bn&&Ti("scroll",Pe));switch(q){case"input":ln(Pe),tr(Pe,on,!0);break;case"textarea":ln(Pe),Sn(Pe);break;case"select":case"option":break;default:"function"==typeof on.onClick&&(Pe.onclick=gl)}x.updateQueue=Pe=C,null!==Pe&&(x.flags|=4)}else{switch(bn=9===tt.nodeType?tt:tt.ownerDocument,C===$n&&(C=Fn(q)),C===$n?"script"===q?((C=bn.createElement("div")).innerHTML="<script><\/script>",C=C.removeChild(C.firstChild)):"string"==typeof Pe.is?C=bn.createElement(q,{is:Pe.is}):(C=bn.createElement(q),"select"===q&&(bn=C,Pe.multiple?bn.multiple=!0:Pe.size&&(bn.size=Pe.size))):C=bn.createElementNS(C,q),C[ql]=x,C[kl]=Pe,Hd(C,x),x.stateNode=C,bn=Qn(q,Pe),q){case"dialog":Ti("cancel",C),Ti("close",C),tt=Pe;break;case"iframe":case"object":case"embed":Ti("load",C),tt=Pe;break;case"video":case"audio":for(tt=0;tt<Un.length;tt++)Ti(Un[tt],C);tt=Pe;break;case"source":Ti("error",C),tt=Pe;break;case"img":case"image":case"link":Ti("error",C),Ti("load",C),tt=Pe;break;case"details":Ti("toggle",C),tt=Pe;break;case"input":er(C,Pe),tt=Rn(C,Pe),Ti("invalid",C);break;case"option":tt=Cn(C,Pe);break;case"select":C._wrapperState={wasMultiple:!!Pe.multiple},tt=s({},Pe,{value:void 0}),Ti("invalid",C);break;case"textarea":Kn(C,Pe),tt=dn(C,Pe),Ti("invalid",C);break;default:tt=Pe}hn(q,tt);var nr=tt;for(on in nr)if(nr.hasOwnProperty(on)){var wr=nr[on];"style"===on?et(C,wr):"dangerouslySetInnerHTML"===on?null!=(wr=wr?wr.__html:void 0)&&Xt(C,wr):"children"===on?"string"==typeof wr?("textarea"!==q||""!==wr)&&ut(C,wr):"number"==typeof wr&&ut(C,""+wr):"suppressContentEditableWarning"!==on&&"suppressHydrationWarning"!==on&&"autoFocus"!==on&&(h.hasOwnProperty(on)?null!=wr&&"onScroll"===on&&Ti("scroll",C):null!=wr&&I(C,on,wr,bn))}switch(q){case"input":ln(C),tr(C,Pe,!1);break;case"textarea":ln(C),Sn(C);break;case"option":null!=Pe.value&&C.setAttribute("value",""+Jt(Pe.value));break;case"select":C.multiple=!!Pe.multiple,null!=(on=Pe.value)?Kt(C,!!Pe.multiple,on,!1):null!=Pe.defaultValue&&Kt(C,!!Pe.multiple,Pe.defaultValue,!0);break;default:"function"==typeof tt.onClick&&(C.onclick=gl)}Ll(q,Pe)&&(x.flags|=4)}null!==x.ref&&(x.flags|=128)}return null;case 6:if(C&&null!=x.stateNode)Ic(0,x,C.memoizedProps,Pe);else{if("string"!=typeof Pe&&null===x.stateNode)throw Error(l(166));q=Rl(Jl.current),Rl(il.current),cr(x)?(q=x.memoizedProps,(Pe=x.stateNode)[ql]=x,Pe.nodeValue!==q&&(x.flags|=4)):((Pe=(9===q.nodeType?q:q.ownerDocument).createTextNode(Pe))[ql]=x,x.stateNode=Pe)}return null;case 13:return Re(Q),Pe=x.memoizedState,0!=(64&x.flags)?(x.lanes=q,x):(Pe=null!==Pe,q=!1,null===C?void 0!==x.memoizedProps.fallback&&cr(x):q=null!==C.memoizedState,Pe&&!q&&0!=(2&x.mode)&&(null===C&&!0!==x.memoizedProps.unstable_avoidThisFallback||0!=(1&Q.current)?0===bc&&(bc=3):(0!==bc&&3!==bc||(bc=4),null===Kl||0==(134217727&Pu)&&0==(134217727&uc)||Fu(Kl,zl))),(Pe||q)&&(x.flags|=4),null);case 4:return E(),null===C&&es(x.stateNode.containerInfo),null;case 10:return Ua(x),null;case 17:return kn(x.type)&&zn(),null;case 19:if(Re(Q),null===(Pe=x.memoizedState))return null;if(on=0!=(64&x.flags),null===(bn=Pe.rendering))if(on)Uc(Pe,!1);else{if(0!==bc||null!==C&&0!=(64&C.flags))for(C=x.child;null!==C;){if(null!==(bn=de(C))){for(x.flags|=64,Uc(Pe,!1),null!==(on=bn.updateQueue)&&(x.updateQueue=on,x.flags|=4),null===Pe.lastEffect&&(x.firstEffect=null),x.lastEffect=Pe.lastEffect,Pe=q,q=x.child;null!==q;)C=Pe,(on=q).flags&=2,on.nextEffect=null,on.firstEffect=null,on.lastEffect=null,null===(bn=on.alternate)?(on.childLanes=0,on.lanes=C,on.child=null,on.memoizedProps=null,on.memoizedState=null,on.updateQueue=null,on.dependencies=null,on.stateNode=null):(on.childLanes=bn.childLanes,on.lanes=bn.lanes,on.child=bn.child,on.memoizedProps=bn.memoizedProps,on.memoizedState=bn.memoizedState,on.updateQueue=bn.updateQueue,on.type=bn.type,on.dependencies=null===(C=bn.dependencies)?null:{lanes:C.lanes,firstContext:C.firstContext}),q=q.sibling;return Be(Q,1&Q.current|2),x.child}C=C.sibling}null!==Pe.tail&&so()>jd&&(x.flags|=64,on=!0,Uc(Pe,!1),x.lanes=33554432)}else{if(!on)if(null!==(C=de(bn))){if(x.flags|=64,on=!0,null!==(q=C.updateQueue)&&(x.updateQueue=q,x.flags|=4),Uc(Pe,!0),null===Pe.tail&&"hidden"===Pe.tailMode&&!bn.alternate&&!De)return null!==(x=x.lastEffect=Pe.lastEffect)&&(x.nextEffect=null),null}else 2*so()-Pe.renderingStartTime>jd&&1073741824!==q&&(x.flags|=64,on=!0,Uc(Pe,!1),x.lanes=33554432);Pe.isBackwards?(bn.sibling=x.child,x.child=bn):(null!==(q=Pe.last)?q.sibling=bn:x.child=bn,Pe.last=bn)}return null!==Pe.tail?(Pe.rendering=q=Pe.tail,Pe.tail=q.sibling,Pe.lastEffect=x.lastEffect,Pe.renderingStartTime=so(),q.sibling=null,x=Q.current,Be(Q,on?1&x|2:1&x),q):null;case 23:case 24:return tc(),null!==C&&null!==C.memoizedState!=(null!==x.memoizedState)&&"unstable-defer-without-hiding"!==Pe.mode&&(x.flags|=4),null}throw Error(l(156,x.tag))}function hu(C){switch(C.tag){case 1:kn(C.type)&&zn();var x=C.flags;return 4096&x?(C.flags=-4097&x|64,C):null;case 3:if(E(),Re(en),Re(Dt),Yr(),0!=(64&(x=C.flags)))throw Error(l(285));return C.flags=-4097&x|64,C;case 5:return $(C),null;case 13:return Re(Q),4096&(x=C.flags)?(C.flags=-4097&x|64,C):null;case 19:return Re(Q),null;case 4:return E(),null;case 10:return Ua(C),null;case 23:case 24:return tc(),null;default:return null}}function fd(C,x){try{var q="",Pe=x;do{q+=Ie(Pe),Pe=Pe.return}while(Pe);var tt=q}catch(on){tt="\nError generating stack: "+on.message+"\n"+on.stack}return{value:C,source:x,stack:tt}}function cf(C,x){try{console.error(x.value)}catch(q){setTimeout(function(){throw q})}}Hd=function(C,x){for(var q=x.child;null!==q;){if(5===q.tag||6===q.tag)C.appendChild(q.stateNode);else if(4!==q.tag&&null!==q.child){q.child.return=q,q=q.child;continue}if(q===x)break;for(;null===q.sibling;){if(null===q.return||q.return===x)return;q=q.return}q.sibling.return=q.return,q=q.sibling}},Sd=function(C,x,q,Pe){var tt=C.memoizedProps;if(tt!==Pe){C=x.stateNode,Rl(il.current);var on,bn=null;switch(q){case"input":tt=Rn(C,tt),Pe=Rn(C,Pe),bn=[];break;case"option":tt=Cn(C,tt),Pe=Cn(C,Pe),bn=[];break;case"select":tt=s({},tt,{value:void 0}),Pe=s({},Pe,{value:void 0}),bn=[];break;case"textarea":tt=dn(C,tt),Pe=dn(C,Pe),bn=[];break;default:"function"!=typeof tt.onClick&&"function"==typeof Pe.onClick&&(C.onclick=gl)}for(qr in hn(q,Pe),q=null,tt)if(!Pe.hasOwnProperty(qr)&&tt.hasOwnProperty(qr)&&null!=tt[qr])if("style"===qr){var nr=tt[qr];for(on in nr)nr.hasOwnProperty(on)&&(q||(q={}),q[on]="")}else"dangerouslySetInnerHTML"!==qr&&"children"!==qr&&"suppressContentEditableWarning"!==qr&&"suppressHydrationWarning"!==qr&&"autoFocus"!==qr&&(h.hasOwnProperty(qr)?bn||(bn=[]):(bn=bn||[]).push(qr,null));for(qr in Pe){var wr=Pe[qr];if(nr=null!=tt?tt[qr]:void 0,Pe.hasOwnProperty(qr)&&wr!==nr&&(null!=wr||null!=nr))if("style"===qr)if(nr){for(on in nr)!nr.hasOwnProperty(on)||wr&&wr.hasOwnProperty(on)||(q||(q={}),q[on]="");for(on in wr)wr.hasOwnProperty(on)&&nr[on]!==wr[on]&&(q||(q={}),q[on]=wr[on])}else q||(bn||(bn=[]),bn.push(qr,q)),q=wr;else"dangerouslySetInnerHTML"===qr?(nr=nr?nr.__html:void 0,null!=(wr=wr?wr.__html:void 0)&&nr!==wr&&(bn=bn||[]).push(qr,wr)):"children"===qr?"string"!=typeof wr&&"number"!=typeof wr||(bn=bn||[]).push(qr,""+wr):"suppressContentEditableWarning"!==qr&&"suppressHydrationWarning"!==qr&&(h.hasOwnProperty(qr)?(null!=wr&&"onScroll"===qr&&Ti("scroll",C),bn||nr===wr||(bn=[])):"object"==typeof wr&&null!==wr&&wr.$$typeof===$e?wr.toString():(bn=bn||[]).push(qr,wr))}q&&(bn=bn||[]).push("style",q);var qr=bn;(x.updateQueue=qr)&&(x.flags|=4)}},Ic=function(C,x,q,Pe){q!==Pe&&(x.flags|=4)};var kf="function"==typeof WeakMap?WeakMap:Map;function V(C,x,q){(q=Ga(-1,q)).tag=3,q.payload={element:null};var Pe=x.value;return q.callback=function(){$f||($f=!0,pd=Pe),cf(0,x)},q}function pe(C,x,q){(q=Ga(-1,q)).tag=3;var Pe=C.type.getDerivedStateFromError;if("function"==typeof Pe){var tt=x.value;q.payload=function(){return cf(0,x),Pe(tt)}}var on=C.stateNode;return null!==on&&"function"==typeof on.componentDidCatch&&(q.callback=function(){"function"!=typeof Pe&&(null===Iu?Iu=new Set([this]):Iu.add(this),cf(0,x));var bn=x.stack;this.componentDidCatch(x.value,{componentStack:null!==bn?bn:""})}),q}var A="function"==typeof WeakSet?WeakSet:Set;function K(C){var x=C.ref;if(null!==x)if("function"==typeof x)try{x(null)}catch(q){Qc(C,q)}else x.current=null}function Ye(C,x){switch(x.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&x.flags&&null!==C){var q=C.memoizedProps,Pe=C.memoizedState;x=(C=x.stateNode).getSnapshotBeforeUpdate(x.elementType===x.type?q:qs(x.type,q),Pe),C.__reactInternalSnapshotBeforeUpdate=x}return;case 3:return void(256&x.flags&&zc(x.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(l(163))}function Rt(C,x,q){switch(q.tag){case 0:case 11:case 15:case 22:if(null!==(x=null!==(x=q.updateQueue)?x.lastEffect:null)){C=x=x.next;do{if(3==(3&C.tag)){var Pe=C.create;C.destroy=Pe()}C=C.next}while(C!==x)}if(null!==(x=null!==(x=q.updateQueue)?x.lastEffect:null)){C=x=x.next;do{var tt=C;Pe=tt.next,0!=(4&(tt=tt.tag))&&0!=(1&tt)&&(mf(q,C),Vd(q,C)),C=Pe}while(C!==x)}return;case 1:return C=q.stateNode,4&q.flags&&(null===x?C.componentDidMount():(Pe=q.elementType===q.type?x.memoizedProps:qs(q.type,x.memoizedProps),C.componentDidUpdate(Pe,x.memoizedState,C.__reactInternalSnapshotBeforeUpdate))),void(null!==(x=q.updateQueue)&&ml(q,x,C));case 3:if(null!==(x=q.updateQueue)){if(C=null,null!==q.child)switch(q.child.tag){case 5:C=q.child.stateNode;break;case 1:C=q.child.stateNode}ml(q,x,C)}return;case 5:return C=q.stateNode,void(null===x&&4&q.flags&&Ll(q.type,q.memoizedProps)&&C.focus());case 6:case 4:case 12:return;case 13:return void(null===q.memoizedState&&(q=q.alternate,null!==q&&(q=q.memoizedState,null!==q&&(q=q.dehydrated,null!==q&&_o(q)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(l(163))}function vr(C,x){for(var q=C;;){if(5===q.tag){var Pe=q.stateNode;if(x)"function"==typeof(Pe=Pe.style).setProperty?Pe.setProperty("display","none","important"):Pe.display="none";else{Pe=q.stateNode;var tt=q.memoizedProps.style;tt=null!=tt&&tt.hasOwnProperty("display")?tt.display:null,Pe.style.display=yn("display",tt)}}else if(6===q.tag)q.stateNode.nodeValue=x?"":q.memoizedProps;else if((23!==q.tag&&24!==q.tag||null===q.memoizedState||q===C)&&null!==q.child){q.child.return=q,q=q.child;continue}if(q===C)break;for(;null===q.sibling;){if(null===q.return||q.return===C)return;q=q.return}q.sibling.return=q.return,q=q.sibling}}function Hr(C,x){if(vi&&"function"==typeof vi.onCommitFiberUnmount)try{vi.onCommitFiberUnmount(Ci,x)}catch(on){}switch(x.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(C=x.updateQueue)&&null!==(C=C.lastEffect)){var q=C=C.next;do{var Pe=q,tt=Pe.destroy;if(Pe=Pe.tag,void 0!==tt)if(0!=(4&Pe))mf(x,q);else{Pe=x;try{tt()}catch(on){Qc(Pe,on)}}q=q.next}while(q!==C)}break;case 1:if(K(x),"function"==typeof(C=x.stateNode).componentWillUnmount)try{C.props=x.memoizedProps,C.state=x.memoizedState,C.componentWillUnmount()}catch(on){Qc(x,on)}break;case 5:K(x);break;case 4:us(C,x)}}function _i(C){C.alternate=null,C.child=null,C.dependencies=null,C.firstEffect=null,C.lastEffect=null,C.memoizedProps=null,C.memoizedState=null,C.pendingProps=null,C.return=null,C.updateQueue=null}function ji(C){return 5===C.tag||3===C.tag||4===C.tag}function bo(C){e:{for(var x=C.return;null!==x;){if(ji(x))break e;x=x.return}throw Error(l(160))}var q=x;switch(x=q.stateNode,q.tag){case 5:var Pe=!1;break;case 3:case 4:x=x.containerInfo,Pe=!0;break;default:throw Error(l(161))}16&q.flags&&(ut(x,""),q.flags&=-17);e:t:for(q=C;;){for(;null===q.sibling;){if(null===q.return||ji(q.return)){q=null;break e}q=q.return}for(q.sibling.return=q.return,q=q.sibling;5!==q.tag&&6!==q.tag&&18!==q.tag;){if(2&q.flags||null===q.child||4===q.tag)continue t;q.child.return=q,q=q.child}if(!(2&q.flags)){q=q.stateNode;break e}}Pe?is(C,q,x):Uo(C,q,x)}function is(C,x,q){var Pe=C.tag,tt=5===Pe||6===Pe;if(tt)C=tt?C.stateNode:C.stateNode.instance,x?8===q.nodeType?q.parentNode.insertBefore(C,x):q.insertBefore(C,x):(8===q.nodeType?(x=q.parentNode).insertBefore(C,q):(x=q).appendChild(C),null!=(q=q._reactRootContainer)||null!==x.onclick||(x.onclick=gl));else if(4!==Pe&&null!==(C=C.child))for(is(C,x,q),C=C.sibling;null!==C;)is(C,x,q),C=C.sibling}function Uo(C,x,q){var Pe=C.tag,tt=5===Pe||6===Pe;if(tt)C=tt?C.stateNode:C.stateNode.instance,x?q.insertBefore(C,x):q.appendChild(C);else if(4!==Pe&&null!==(C=C.child))for(Uo(C,x,q),C=C.sibling;null!==C;)Uo(C,x,q),C=C.sibling}function us(C,x){for(var q,Pe,tt=x,on=!1;;){if(!on){on=tt.return;e:for(;;){if(null===on)throw Error(l(160));switch(q=on.stateNode,on.tag){case 5:Pe=!1;break e;case 3:case 4:q=q.containerInfo,Pe=!0;break e}on=on.return}on=!0}if(5===tt.tag||6===tt.tag){e:for(var bn=C,nr=tt,wr=nr;;)if(Hr(bn,wr),null!==wr.child&&4!==wr.tag)wr.child.return=wr,wr=wr.child;else{if(wr===nr)break e;for(;null===wr.sibling;){if(null===wr.return||wr.return===nr)break e;wr=wr.return}wr.sibling.return=wr.return,wr=wr.sibling}Pe?(nr=tt.stateNode,8===(bn=q).nodeType?bn.parentNode.removeChild(nr):bn.removeChild(nr)):q.removeChild(tt.stateNode)}else if(4===tt.tag){if(null!==tt.child){q=tt.stateNode.containerInfo,Pe=!0,tt.child.return=tt,tt=tt.child;continue}}else if(Hr(C,tt),null!==tt.child){tt.child.return=tt,tt=tt.child;continue}if(tt===x)break;for(;null===tt.sibling;){if(null===tt.return||tt.return===x)return;4===(tt=tt.return).tag&&(on=!1)}tt.sibling.return=tt.return,tt=tt.sibling}}function Ks(C,x){switch(x.tag){case 0:case 11:case 14:case 15:case 22:var q=x.updateQueue;if(null!==(q=null!==q?q.lastEffect:null)){var Pe=q=q.next;do{3==(3&Pe.tag)&&(C=Pe.destroy,Pe.destroy=void 0,void 0!==C&&C()),Pe=Pe.next}while(Pe!==q)}return;case 1:return;case 5:if(null!=(q=x.stateNode)){Pe=x.memoizedProps;var tt=null!==C?C.memoizedProps:Pe;C=x.type;var on=x.updateQueue;if(x.updateQueue=null,null!==on){for(q[kl]=Pe,"input"===C&&"radio"===Pe.type&&null!=Pe.name&&Mn(q,Pe),Qn(C,tt),x=Qn(C,Pe),tt=0;tt<on.length;tt+=2){var bn=on[tt],nr=on[tt+1];"style"===bn?et(q,nr):"dangerouslySetInnerHTML"===bn?Xt(q,nr):"children"===bn?ut(q,nr):I(q,bn,nr,x)}switch(C){case"input":Ht(q,Pe);break;case"textarea":qn(q,Pe);break;case"select":C=q._wrapperState.wasMultiple,q._wrapperState.wasMultiple=!!Pe.multiple,null!=(on=Pe.value)?Kt(q,!!Pe.multiple,on,!1):C!==!!Pe.multiple&&(null!=Pe.defaultValue?Kt(q,!!Pe.multiple,Pe.defaultValue,!0):Kt(q,!!Pe.multiple,Pe.multiple?[]:"",!1))}}}return;case 6:if(null===x.stateNode)throw Error(l(162));return void(x.stateNode.nodeValue=x.memoizedProps);case 3:return void((q=x.stateNode).hydrate&&(q.hydrate=!1,_o(q.containerInfo)));case 12:return;case 13:return null!==x.memoizedState&&(Od=so(),vr(x.child,!0)),void bs(x);case 19:return void bs(x);case 17:return;case 23:case 24:return void vr(x,null!==x.memoizedState)}throw Error(l(163))}function bs(C){var x=C.updateQueue;if(null!==x){C.updateQueue=null;var q=C.stateNode;null===q&&(q=C.stateNode=new A),x.forEach(function(Pe){var tt=Bf.bind(null,C,Pe);q.has(Pe)||(q.add(Pe),Pe.then(tt,tt))})}}function Xl(C,x){return null!==C&&(null===(C=C.memoizedState)||null!==C.dehydrated)&&null!==(x=x.memoizedState)&&null===x.dehydrated}var Oc=Math.ceil,dl=J.ReactCurrentDispatcher,iu=J.ReactCurrentOwner,ea=0,Kl=null,jl=null,zl=0,Ac=0,uf=ge(0),bc=0,_u=null,ec=0,Pu=0,uc=0,df=0,dc=null,Od=0,jd=1/0;function Wc(){jd=so()+500}var sp,os=null,$f=!1,pd=null,Iu=null,Lu=!1,ou=null,Bd=90,ff=[],Ad=[],qc=null,Ou=0,Ns=null,Yd=-1,gu=0,su=0,pf=null,Zd=!1;function mc(){return 0!=(48&ea)?so():-1!==Yd?Yd:Yd=so()}function Bl(C){if(0==(2&(C=C.mode)))return 1;if(0==(4&C))return 99===ra()?1:2;if(0===gu&&(gu=ec),0!==Rs.transition){0!==su&&(su=null!==dc?dc.pendingLanes:0),C=gu;var x=4186112&~su;return 0==(x&=-x)&&0==(x=(C=4186112&~C)&-C)&&(x=8192),x}return C=ra(),pn(0!=(4&ea)&&98===C?12:C=function(q){switch(q){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(C),gu)}function hd(C,x,q){if(50<Ou)throw Ou=0,Ns=null,Error(l(185));if(null===(C=hf(C,x)))return null;fn(C,x,q),C===Kl&&(uc|=x,4===bc&&Fu(C,zl));var Pe=ra();1===x?0!=(8&ea)&&0==(48&ea)?Jc(C):(au(C,q),0===ea&&(Wc(),Fa())):(0==(4&ea)||98!==Pe&&99!==Pe||(null===qc?qc=new Set([C]):qc.add(C)),au(C,q)),dc=C}function hf(C,x){C.lanes|=x;var q=C.alternate;for(null!==q&&(q.lanes|=x),q=C,C=C.return;null!==C;)C.childLanes|=x,null!==(q=C.alternate)&&(q.childLanes|=x),q=C,C=C.return;return 3===q.tag?q.stateNode:null}function au(C,x){for(var q=C.callbackNode,Pe=C.suspendedLanes,tt=C.pingedLanes,on=C.expirationTimes,bn=C.pendingLanes;0<bn;){var nr=31-Tn(bn),wr=1<<nr,qr=on[nr];-1===qr?0!=(wr&Pe)&&0==(wr&tt)||(qr=x,oa(wr),on[nr]=10<=qo?qr+250:6<=qo?qr+5e3:-1):qr<=x&&(C.expiredLanes|=wr),bn&=~wr}if(Pe=Er(C,C===Kl?zl:0),x=qo,0===Pe)null!==q&&(q!==Do&&po(q),C.callbackNode=null,C.callbackPriority=0);else{if(null!==q){if(C.callbackPriority===x)return;q!==Do&&po(q)}15===x?(q=Jc.bind(null,C),null===_n?(_n=[q],Us=fo(Xi,xs)):_n.push(q),q=Do):q=14===x?Ws(99,Jc.bind(null,C)):Ws(q=function(ns){switch(ns){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(l(358,ns))}}(x),_f.bind(null,C)),C.callbackPriority=x,C.callbackNode=q}}function _f(C){if(Yd=-1,su=gu=0,0!=(48&ea))throw Error(l(327));var x=C.callbackNode;if(nc()&&C.callbackNode!==x)return null;var q=Er(C,C===Kl?zl:0);if(0===q)return null;var Pe=q,tt=ea;ea|=16;var on=wd();for(Kl===C&&zl===Pe||(Wc(),_d(C,Pe));;)try{ku();break}catch(nr){jf(C,nr)}if(Va(),dl.current=on,ea=tt,null!==jl?Pe=0:(Kl=null,zl=0,Pe=bc),0!=(ec&uc))_d(C,0);else if(0!==Pe){if(2===Pe&&(ea|=64,C.hydrate&&(C.hydrate=!1,zc(C.containerInfo)),0!==(q=st(C))&&(Pe=gd(C,q))),1===Pe)throw x=_u,_d(C,0),Fu(C,q),au(C,so()),x;switch(C.finishedWork=C.current.alternate,C.finishedLanes=q,Pe){case 0:case 1:throw Error(l(345));case 2:Au(C);break;case 3:if(Fu(C,q),(62914560&q)===q&&10<(Pe=Od+500-so())){if(0!==Er(C,0))break;if(((tt=C.suspendedLanes)&q)!==q){mc(),C.pingedLanes|=C.suspendedLanes&tt;break}C.timeoutHandle=vo(Au.bind(null,C),Pe);break}Au(C);break;case 4:if(Fu(C,q),(4186112&q)===q)break;for(Pe=C.eventTimes,tt=-1;0<q;){var bn=31-Tn(q);on=1<<bn,(bn=Pe[bn])>tt&&(tt=bn),q&=~on}if(q=tt,10<(q=(120>(q=so()-q)?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*Oc(q/1960))-q)){C.timeoutHandle=vo(Au.bind(null,C),q);break}Au(C);break;case 5:Au(C);break;default:throw Error(l(329))}}return au(C,so()),C.callbackNode===x?_f.bind(null,C):null}function Fu(C,x){for(x&=~df,C.suspendedLanes|=x&=~uc,C.pingedLanes&=~x,C=C.expirationTimes;0<x;){var q=31-Tn(x),Pe=1<<q;C[q]=-1,x&=~Pe}}function Jc(C){if(0!=(48&ea))throw Error(l(327));if(nc(),C===Kl&&0!=(C.expiredLanes&zl)){var x=zl,q=gd(C,x);0!=(ec&uc)&&(q=gd(C,x=Er(C,x)))}else q=gd(C,x=Er(C,0));if(0!==C.tag&&2===q&&(ea|=64,C.hydrate&&(C.hydrate=!1,zc(C.containerInfo)),0!==(x=st(C))&&(q=gd(C,x))),1===q)throw q=_u,_d(C,0),Fu(C,x),au(C,so()),q;return C.finishedWork=C.current.alternate,C.finishedLanes=x,Au(C),au(C,so()),null}function Hf(C,x){var q=ea;ea|=1;try{return C(x)}finally{0===(ea=q)&&(Wc(),Fa())}}function Uf(C,x){var q=ea;ea&=-2,ea|=8;try{return C(x)}finally{0===(ea=q)&&(Wc(),Fa())}}function mu(C,x){Be(uf,Ac),Ac|=x,ec|=x}function tc(){Ac=uf.current,Re(uf)}function _d(C,x){C.finishedWork=null,C.finishedLanes=0;var q=C.timeoutHandle;if(-1!==q&&(C.timeoutHandle=-1,Ds(q)),null!==jl)for(q=jl.return;null!==q;){var Pe=q;switch(Pe.tag){case 1:null!=(Pe=Pe.type.childContextTypes)&&zn();break;case 3:E(),Re(en),Re(Dt),Yr();break;case 5:$(Pe);break;case 4:E();break;case 13:case 19:Re(Q);break;case 10:Ua(Pe);break;case 23:case 24:tc()}q=q.return}Kl=C,jl=md(C.current,null),zl=Ac=ec=x,bc=0,_u=null,df=uc=Pu=0}function jf(C,x){for(;;){var q=jl;try{if(Va(),Pi.current=Nu,Cs){for(var Pe=Qo.memoizedState;null!==Pe;){var tt=Pe.queue;null!==tt&&(tt.pending=null),Pe=Pe.next}Cs=!1}if(To=0,As=Go=Qo=null,Ss=!1,iu.current=null,null===q||null===q.return){bc=1,_u=x,jl=null;break}e:{var on=C,bn=q.return,nr=q,wr=x;if(x=zl,nr.flags|=2048,nr.firstEffect=nr.lastEffect=null,null!==wr&&"object"==typeof wr&&"function"==typeof wr.then){var qr=wr;if(0==(2&nr.mode)){var ao=nr.alternate;ao?(nr.updateQueue=ao.updateQueue,nr.memoizedState=ao.memoizedState,nr.lanes=ao.lanes):(nr.updateQueue=null,nr.memoizedState=null)}var ns=0!=(1&Q.current),oo=bn;do{var ms;if(ms=13===oo.tag){var Js=oo.memoizedState;if(null!==Js)ms=null!==Js.dehydrated;else{var Gs=oo.memoizedProps;ms=void 0!==Gs.fallback&&(!0!==Gs.unstable_avoidThisFallback||!ns)}}if(ms){var oi=oo.updateQueue;if(null===oi){var Wr=new Set;Wr.add(qr),oo.updateQueue=Wr}else oi.add(qr);if(0==(2&oo.mode)){if(oo.flags|=64,nr.flags|=16384,nr.flags&=-2981,1===nr.tag)if(null===nr.alternate)nr.tag=17;else{var ei=Ga(-1,1);ei.tag=2,$i(nr,ei)}nr.lanes|=1;break e}wr=void 0,nr=x;var Vi=on.pingCache;if(null===Vi?(Vi=on.pingCache=new kf,wr=new Set,Vi.set(qr,wr)):void 0===(wr=Vi.get(qr))&&(wr=new Set,Vi.set(qr,wr)),!wr.has(nr)){wr.add(nr);var no=Gd.bind(null,on,qr,nr);qr.then(no,no)}oo.flags|=4096,oo.lanes=x;break e}oo=oo.return}while(null!==oo);wr=Error((dt(nr.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==bc&&(bc=2),wr=fd(wr,nr),oo=bn;do{switch(oo.tag){case 3:on=wr,oo.flags|=4096,oo.lanes|=x&=-x,Cc(oo,V(0,on,x));break e;case 1:on=wr;var ps=oo.stateNode;if(0==(64&oo.flags)&&("function"==typeof oo.type.getDerivedStateFromError||null!==ps&&"function"==typeof ps.componentDidCatch&&(null===Iu||!Iu.has(ps)))){oo.flags|=4096,oo.lanes|=x&=-x,Cc(oo,pe(oo,on,x));break e}}oo=oo.return}while(null!==oo)}gf(q)}catch(la){x=la,jl===q&&null!==q&&(jl=q=q.return);continue}break}}function wd(){var C=dl.current;return dl.current=Nu,null===C?Nu:C}function gd(C,x){var q=ea;ea|=16;var Pe=wd();for(Kl===C&&zl===x||_d(C,x);;)try{ap();break}catch(tt){jf(C,tt)}if(Va(),ea=q,dl.current=Pe,null!==jl)throw Error(l(261));return Kl=null,zl=0,bc}function ap(){for(;null!==jl;)vu(jl)}function ku(){for(;null!==jl&&!No();)vu(jl)}function vu(C){var x=sp(C.alternate,C,Ac);C.memoizedProps=C.pendingProps,null===x?gf(C):jl=x,iu.current=null}function gf(C){var x=C;do{var q=x.alternate;if(C=x.return,0==(2048&x.flags)){if(null!==(q=Ff(q,x,Ac)))return void(jl=q);if(24!==(q=x).tag&&23!==q.tag||null===q.memoizedState||0!=(1073741824&Ac)||0==(4&q.mode)){for(var Pe=0,tt=q.child;null!==tt;)Pe|=tt.lanes|tt.childLanes,tt=tt.sibling;q.childLanes=Pe}null!==C&&0==(2048&C.flags)&&(null===C.firstEffect&&(C.firstEffect=x.firstEffect),null!==x.lastEffect&&(null!==C.lastEffect&&(C.lastEffect.nextEffect=x.firstEffect),C.lastEffect=x.lastEffect),1<x.flags&&(null!==C.lastEffect?C.lastEffect.nextEffect=x:C.firstEffect=x,C.lastEffect=x))}else{if(null!==(q=hu(x)))return q.flags&=2047,void(jl=q);null!==C&&(C.firstEffect=C.lastEffect=null,C.flags|=2048)}if(null!==(x=x.sibling))return void(jl=x);jl=x=C}while(null!==x);0===bc&&(bc=5)}function Au(C){var x=ra();return wa(99,Cp.bind(null,C,x)),null}function Cp(C,x){do{nc()}while(null!==ou);if(0!=(48&ea))throw Error(l(327));var q=C.finishedWork;if(null===q)return null;if(C.finishedWork=null,C.finishedLanes=0,q===C.current)throw Error(l(177));C.callbackNode=null;var Pe=q.lanes|q.childLanes,tt=Pe,on=C.pendingLanes&~tt;C.pendingLanes=tt,C.suspendedLanes=0,C.pingedLanes=0,C.expiredLanes&=tt,C.mutableReadLanes&=tt,C.entangledLanes&=tt,tt=C.entanglements;for(var bn=C.eventTimes,nr=C.expirationTimes;0<on;){var wr=31-Tn(on),qr=1<<wr;tt[wr]=0,bn[wr]=-1,nr[wr]=-1,on&=~qr}if(null!==qc&&0==(24&Pe)&&qc.has(C)&&qc.delete(C),C===Kl&&(jl=Kl=null,zl=0),1<q.flags?null!==q.lastEffect?(q.lastEffect.nextEffect=q,Pe=q.firstEffect):Pe=q:Pe=q.firstEffect,null!==Pe){if(tt=ea,ea|=32,iu.current=null,Hn=gi,ft(bn=Me())){if("selectionStart"in bn)nr={start:bn.selectionStart,end:bn.selectionEnd};else if((qr=(nr=(nr=bn.ownerDocument)&&nr.defaultView||window).getSelection&&nr.getSelection())&&0!==qr.rangeCount){nr=qr.anchorNode,on=qr.anchorOffset,wr=qr.focusNode,qr=qr.focusOffset;var ao=0,ns=-1,oo=-1,ms=0,Js=0,Gs=bn,oi=null;t:for(;;){for(var Wr;Gs!==nr||0!==on&&3!==Gs.nodeType||(ns=ao+on),Gs!==wr||0!==qr&&3!==Gs.nodeType||(oo=ao+qr),3===Gs.nodeType&&(ao+=Gs.nodeValue.length),null!==(Wr=Gs.firstChild);)oi=Gs,Gs=Wr;for(;;){if(Gs===bn)break t;if(oi===nr&&++ms===on&&(ns=ao),oi===wr&&++Js===qr&&(oo=ao),null!==(Wr=Gs.nextSibling))break;oi=(Gs=oi).parentNode}Gs=Wr}nr=-1===ns||-1===oo?null:{start:ns,end:oo}}else nr=null;nr=nr||{start:0,end:0}}else nr=null;Ts={focusedElem:bn,selectionRange:nr},gi=!1,pf=null,Zd=!1,os=Pe;do{try{Sp()}catch(zs){if(null===os)throw Error(l(330));Qc(os,zs),os=os.nextEffect}}while(null!==os);pf=null,os=Pe;do{try{for(bn=C;null!==os;){var ei=os.flags;if(16&ei&&ut(os.stateNode,""),128&ei){var Vi=os.alternate;if(null!==Vi){var no=Vi.ref;null!==no&&("function"==typeof no?no(null):no.current=null)}}switch(1038&ei){case 2:bo(os),os.flags&=-3;break;case 6:bo(os),os.flags&=-3,Ks(os.alternate,os);break;case 1024:os.flags&=-1025;break;case 1028:os.flags&=-1025,Ks(os.alternate,os);break;case 4:Ks(os.alternate,os);break;case 8:us(bn,nr=os);var ia=nr.alternate;_i(nr),null!==ia&&_i(ia)}os=os.nextEffect}}catch(zs){if(null===os)throw Error(l(330));Qc(os,zs),os=os.nextEffect}}while(null!==os);if(no=Ts,Vi=Me(),bn=no.selectionRange,Vi!==(ei=no.focusedElem)&&ei&&ei.ownerDocument&&G(ei.ownerDocument.documentElement,ei)){for((null!==bn&&ft(ei)&&(Vi=bn.start,void 0===(no=bn.end)&&(no=Vi),"selectionStart"in ei?(ei.selectionStart=Vi,ei.selectionEnd=Math.min(no,ei.value.length)):(no=(Vi=ei.ownerDocument||document)&&Vi.defaultView||window).getSelection&&(no=no.getSelection(),nr=ei.textContent.length,ia=Math.min(bn.start,nr),bn=void 0===bn.end?ia:Math.min(bn.end,nr),!no.extend&&ia>bn&&(nr=bn,bn=ia,ia=nr),nr=Br(ei,ia),on=Br(ei,bn),nr&&on&&(1!==no.rangeCount||no.anchorNode!==nr.node||no.anchorOffset!==nr.offset||no.focusNode!==on.node||no.focusOffset!==on.offset)&&((Vi=Vi.createRange()).setStart(nr.node,nr.offset),no.removeAllRanges(),ia>bn?(no.addRange(Vi),no.extend(on.node,on.offset)):(Vi.setEnd(on.node,on.offset),no.addRange(Vi))))),Vi=[],no=ei);no=no.parentNode;)1===no.nodeType&&Vi.push({element:no,left:no.scrollLeft,top:no.scrollTop});for("function"==typeof ei.focus&&ei.focus(),ei=0;ei<Vi.length;ei++)(no=Vi[ei]).element.scrollLeft=no.left,no.element.scrollTop=no.top}gi=!!Hn,Ts=Hn=null,C.current=q,os=Pe;do{try{for(ei=C;null!==os;){var ps=os.flags;if(36&ps&&Rt(ei,os.alternate,os),128&ps){Vi=void 0;var la=os.ref;if(null!==la){var ka=os.stateNode;switch(os.tag){case 5:Vi=ka;break;default:Vi=ka}"function"==typeof la?la(Vi):la.current=Vi}}os=os.nextEffect}}catch(zs){if(null===os)throw Error(l(330));Qc(os,zs),os=os.nextEffect}}while(null!==os);os=null,Ls(),ea=tt}else C.current=q;if(Lu)Lu=!1,ou=C,Bd=x;else for(os=Pe;null!==os;)x=os.nextEffect,os.nextEffect=null,8&os.flags&&((ps=os).sibling=null,ps.stateNode=null),os=x;if(0===(Pe=C.pendingLanes)&&(Iu=null),1===Pe?C===Ns?Ou++:(Ou=0,Ns=C):Ou=0,q=q.stateNode,vi&&"function"==typeof vi.onCommitFiberRoot)try{vi.onCommitFiberRoot(Ci,q,void 0,64==(64&q.current.flags))}catch(zs){}if(au(C,so()),$f)throw $f=!1,C=pd,pd=null,C;return 0!=(8&ea)||Fa(),null}function Sp(){for(;null!==os;){var C=os.alternate;Zd||null===pf||(0!=(8&os.flags)?di(os,pf)&&(Zd=!0):13===os.tag&&Xl(C,os)&&di(os,pf)&&(Zd=!0));var x=os.flags;0!=(256&x)&&Ye(C,os),0==(512&x)||Lu||(Lu=!0,Ws(97,function(){return nc(),null})),os=os.nextEffect}}function nc(){if(90!==Bd){var C=97<Bd?97:Bd;return Bd=90,wa(C,Yp)}return!1}function Vd(C,x){ff.push(x,C),Lu||(Lu=!0,Ws(97,function(){return nc(),null}))}function mf(C,x){Ad.push(x,C),Lu||(Lu=!0,Ws(97,function(){return nc(),null}))}function Yp(){if(null===ou)return!1;var C=ou;if(ou=null,0!=(48&ea))throw Error(l(331));var x=ea;ea|=32;var q=Ad;Ad=[];for(var Pe=0;Pe<q.length;Pe+=2){var tt=q[Pe],on=q[Pe+1],bn=tt.destroy;if(tt.destroy=void 0,"function"==typeof bn)try{bn()}catch(wr){if(null===on)throw Error(l(330));Qc(on,wr)}}for(q=ff,ff=[],Pe=0;Pe<q.length;Pe+=2){tt=q[Pe],on=q[Pe+1];try{var nr=tt.create;tt.destroy=nr()}catch(wr){if(null===on)throw Error(l(330));Qc(on,wr)}}for(nr=C.current.firstEffect;null!==nr;)C=nr.nextEffect,nr.nextEffect=null,8&nr.flags&&(nr.sibling=null,nr.stateNode=null),nr=C;return ea=x,Fa(),!0}function vf(C,x,q){$i(C,x=V(0,x=fd(q,x),1)),x=mc(),null!==(C=hf(C,1))&&(fn(C,1,x),au(C,x))}function Qc(C,x){if(3===C.tag)vf(C,C,x);else for(var q=C.return;null!==q;){if(3===q.tag){vf(q,C,x);break}if(1===q.tag){var Pe=q.stateNode;if("function"==typeof q.type.getDerivedStateFromError||"function"==typeof Pe.componentDidCatch&&(null===Iu||!Iu.has(Pe))){var tt=pe(q,C=fd(x,C),1);if($i(q,tt),tt=mc(),null!==(q=hf(q,1)))fn(q,1,tt),au(q,tt);else if("function"==typeof Pe.componentDidCatch&&(null===Iu||!Iu.has(Pe)))try{Pe.componentDidCatch(x,C)}catch(on){}break}}q=q.return}}function Gd(C,x,q){var Pe=C.pingCache;null!==Pe&&Pe.delete(x),x=mc(),C.pingedLanes|=C.suspendedLanes&q,Kl===C&&(zl&q)===q&&(4===bc||3===bc&&(62914560&zl)===zl&&500>so()-Od?_d(C,0):df|=q),au(C,x)}function Bf(C,x){var q=C.stateNode;null!==q&&q.delete(x),0==(x=0)&&(0==(2&(x=C.mode))?x=1:0==(4&x)?x=99===ra()?1:2:(0===gu&&(gu=ec),0===(x=ee(62914560&~gu))&&(x=4194304))),q=mc(),null!==(C=hf(C,x))&&(fn(C,x,q),au(C,q))}function lp(C,x,q,Pe){this.tag=C,this.key=q,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=x,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=Pe,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Ec(C,x,q,Pe){return new lp(C,x,q,Pe)}function Xc(C){return!(!(C=C.prototype)||!C.isReactComponent)}function md(C,x){var q=C.alternate;return null===q?((q=Ec(C.tag,x,C.key,C.mode)).elementType=C.elementType,q.type=C.type,q.stateNode=C.stateNode,q.alternate=C,C.alternate=q):(q.pendingProps=x,q.type=C.type,q.flags=0,q.nextEffect=null,q.firstEffect=null,q.lastEffect=null),q.childLanes=C.childLanes,q.lanes=C.lanes,q.child=C.child,q.memoizedProps=C.memoizedProps,q.memoizedState=C.memoizedState,q.updateQueue=C.updateQueue,q.dependencies=null===(x=C.dependencies)?null:{lanes:x.lanes,firstContext:x.firstContext},q.sibling=C.sibling,q.index=C.index,q.ref=C.ref,q}function Tc(C,x,q,Pe,tt,on){var bn=2;if(Pe=C,"function"==typeof C)Xc(C)&&(bn=1);else if("string"==typeof C)bn=5;else e:switch(C){case oe:return jc(q.children,tt,on,x);case F:bn=8,tt|=16;break;case fe:bn=8,tt|=1;break;case ne:return(C=Ec(12,q,x,8|tt)).elementType=ne,C.type=ne,C.lanes=on,C;case Se:return(C=Ec(13,q,x,tt)).type=Se,C.elementType=Se,C.lanes=on,C;case Oe:return(C=Ec(19,q,x,tt)).elementType=Oe,C.lanes=on,C;case je:return Yf(q,tt,on,x);case Et:return(C=Ec(24,q,x,tt)).elementType=Et,C.lanes=on,C;default:if("object"==typeof C&&null!==C)switch(C.$$typeof){case he:bn=10;break e;case ce:bn=9;break e;case Ae:bn=11;break e;case be:bn=14;break e;case ue:bn=16,Pe=null;break e;case He:bn=22;break e}throw Error(l(130,null==C?C:typeof C,""))}return(x=Ec(bn,q,x,tt)).elementType=C,x.type=Pe,x.lanes=on,x}function jc(C,x,q,Pe){return(C=Ec(7,C,Pe,x)).lanes=q,C}function Yf(C,x,q,Pe){return(C=Ec(23,C,Pe,x)).elementType=je,C.lanes=q,C}function Zf(C,x,q){return(C=Ec(6,C,null,x)).lanes=q,C}function Dd(C,x,q){return(x=Ec(4,null!==C.children?C.children:[],C.key,x)).lanes=q,x.stateNode={containerInfo:C.containerInfo,pendingChildren:null,implementation:C.implementation},x}function Zp(C,x,q){this.tag=x,this.containerInfo=C,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=q,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Ve(0),this.expirationTimes=Ve(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ve(0),this.mutableSourceEagerHydrationData=null}function Vp(C,x,q){var Pe=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ie,key:null==Pe?null:""+Pe,children:C,containerInfo:x,implementation:q}}function Vf(C,x,q,Pe){var tt=x.current,on=mc(),bn=Bl(tt);e:if(q){t:{if(Mi(q=q._reactInternals)!==q||1!==q.tag)throw Error(l(170));var nr=q;do{switch(nr.tag){case 3:nr=nr.stateNode.context;break t;case 1:if(kn(nr.type)){nr=nr.stateNode.__reactInternalMemoizedMergedChildContext;break t}}nr=nr.return}while(null!==nr);throw Error(l(171))}if(1===q.tag){var wr=q.type;if(kn(wr)){q=kr(q,wr,nr);break e}}q=nr}else q=xt;return null===x.context?x.context=q:x.pendingContext=q,(x=Ga(on,bn)).payload={element:C},null!==(Pe=void 0===Pe?null:Pe)&&(x.callback=Pe),$i(tt,x),hd(tt,bn,on),bn}function cp(C){if(!(C=C.current).child)return null;switch(C.child.tag){case 5:default:return C.child.stateNode}}function Mp(C,x){if(null!==(C=C.memoizedState)&&null!==C.dehydrated){var q=C.retryLane;C.retryLane=0!==q&&q<x?q:x}}function up(C,x){Mp(C,x),(C=C.alternate)&&Mp(C,x)}function Gf(C,x,q){var Pe=null!=q&&null!=q.hydrationOptions&&q.hydrationOptions.mutableSources||null;if(q=new Zp(C,x,null!=q&&!0===q.hydrate),x=Ec(3,null,null,2===x?7:1===x?3:0),q.current=x,x.stateNode=q,Vl(x),C[Zl]=q.current,es(8===C.nodeType?C.parentNode:C),Pe)for(C=0;C<Pe.length;C++){var tt=(x=Pe[C])._getVersion;tt=tt(x._source),null==q.mutableSourceEagerHydrationData?q.mutableSourceEagerHydrationData=[x,tt]:q.mutableSourceEagerHydrationData.push(x,tt)}this._internalRoot=q}function xd(C){return!(!C||1!==C.nodeType&&9!==C.nodeType&&11!==C.nodeType&&(8!==C.nodeType||" react-mount-point-unstable "!==C.nodeValue))}function yf(C,x,q,Pe,tt){var on=q._reactRootContainer;if(on){var bn=on._internalRoot;if("function"==typeof tt){var nr=tt;tt=function(){var qr=cp(bn);nr.call(qr)}}Vf(x,bn,C,tt)}else{if(on=q._reactRootContainer=function(qr,ao){if(ao||(ao=!(!(ao=qr?9===qr.nodeType?qr.documentElement:qr.firstChild:null)||1!==ao.nodeType||!ao.hasAttribute("data-reactroot"))),!ao)for(var ns;ns=qr.lastChild;)qr.removeChild(ns);return new Gf(qr,0,ao?{hydrate:!0}:void 0)}(q,Pe),bn=on._internalRoot,"function"==typeof tt){var wr=tt;tt=function(){var qr=cp(bn);wr.call(qr)}}Uf(function(){Vf(x,bn,C,tt)})}return cp(bn)}function zf(C,x){var q=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!xd(x))throw Error(l(200));return Vp(C,x,null,q)}sp=function(C,x,q){var Pe=x.lanes;if(null!==C)if(C.memoizedProps!==x.pendingProps||en.current)Fs=!0;else{if(0==(q&Pe)){switch(Fs=!1,x.tag){case 3:lf(x),sr();break;case 5:N(x);break;case 1:kn(x.type)&&Gr(x);break;case 4:p(x,x.stateNode.containerInfo);break;case 10:Pe=x.memoizedProps.value;var tt=x.type._context;Be(Ya,tt._currentValue),tt._currentValue=Pe;break;case 13:if(null!==x.memoizedState)return 0!=(q&x.child.childLanes)?Ud(C,x,q):(Be(Q,1&Q.current),null!==(x=Mc(C,x,q))?x.sibling:null);Be(Q,1&Q.current);break;case 19:if(Pe=0!=(q&x.childLanes),0!=(64&C.flags)){if(Pe)return Lc(C,x,q);x.flags|=64}if(null!==(tt=x.memoizedState)&&(tt.rendering=null,tt.tail=null,tt.lastEffect=null),Be(Q,Q.current),Pe)break;return null;case 23:case 24:return x.lanes=0,Su(C,x,q)}return Mc(C,x,q)}Fs=0!=(16384&C.flags)}else Fs=!1;switch(x.lanes=0,x.tag){case 2:if(Pe=x.type,null!==C&&(C.alternate=null,x.alternate=null,x.flags|=2),C=x.pendingProps,tt=Gn(x,Dt.current),js(x,q),tt=vl(null,x,Pe,C,tt,q),x.flags|=1,"object"==typeof tt&&null!==tt&&"function"==typeof tt.render&&void 0===tt.$$typeof){if(x.tag=1,x.memoizedState=null,x.updateQueue=null,kn(Pe)){var on=!0;Gr(x)}else on=!1;x.memoizedState=null!=tt.state?tt.state:null,Vl(x);var bn=Pe.getDerivedStateFromProps;"function"==typeof bn&&tu(x,Pe,bn,C),tt.updater=lc,x.stateNode=tt,tt._reactInternals=x,xl(x,Pe,C,q),x=cd(null,x,Pe,!0,on,q)}else x.tag=0,Nc(null,x,tt,q),x=x.child;return x;case 16:tt=x.elementType;e:{switch(null!==C&&(C.alternate=null,x.alternate=null,x.flags|=2),C=x.pendingProps,tt=(on=tt._init)(tt._payload),x.type=tt,on=x.tag=function(ao){if("function"==typeof ao)return Xc(ao)?1:0;if(null!=ao){if((ao=ao.$$typeof)===Ae)return 11;if(ao===be)return 14}return 2}(tt),C=qs(tt,C),on){case 0:x=Pc(null,x,tt,C,q);break e;case 1:x=If(null,x,tt,C,q);break e;case 11:x=Pf(null,x,tt,C,q);break e;case 14:x=ld(null,x,tt,qs(tt.type,C),Pe,q);break e}throw Error(l(306,tt,""))}return x;case 0:return tt=x.pendingProps,Pc(C,x,Pe=x.type,tt=x.elementType===Pe?tt:qs(Pe,tt),q);case 1:return tt=x.pendingProps,If(C,x,Pe=x.type,tt=x.elementType===Pe?tt:qs(Pe,tt),q);case 3:if(lf(x),Pe=x.updateQueue,null===C||null===Pe)throw Error(l(282));if(Pe=x.pendingProps,tt=null!==(tt=x.memoizedState)?tt.element:null,ac(C,x),_c(x,Pe,null,q),(Pe=x.memoizedState.element)===tt)sr(),x=Mc(C,x,q);else{if((on=(tt=x.stateNode).hydrate)&&(ze=vc(x.stateNode.containerInfo.firstChild),ve=x,on=De=!0),on){if(null!=(C=tt.mutableSourceEagerHydrationData))for(tt=0;tt<C.length;tt+=2)(on=C[tt])._workInProgressVersionPrimary=C[tt+1],Tr.push(on);for(q=Rc(x,null,Pe,q),x.child=q;q;)q.flags=-3&q.flags|1024,q=q.sibling}else Nc(C,x,Pe,q),sr();x=x.child}return x;case 5:return N(x),null===C&&Zt(x),on=null!==C?C.memoizedProps:null,bn=(tt=x.pendingProps).children,Hl(Pe=x.type,tt)?bn=null:null!==on&&Hl(Pe,on)&&(x.flags|=16),af(C,x),Nc(C,x,bn,q),x.child;case 6:return null===C&&Zt(x),null;case 13:return Ud(C,x,q);case 4:return p(x,x.stateNode.containerInfo),Pe=x.pendingProps,null===C?x.child=cl(x,null,Pe,q):Nc(C,x,Pe,q),x.child;case 11:return tt=x.pendingProps,Pf(C,x,Pe=x.type,tt=x.elementType===Pe?tt:qs(Pe,tt),q);case 7:return Nc(C,x,x.pendingProps,q),x.child;case 8:case 12:return Nc(C,x,x.pendingProps.children,q),x.child;case 10:e:{Pe=x.type._context,bn=x.memoizedProps,on=(tt=x.pendingProps).value;var nr=x.type._context;if(Be(Ya,nr._currentValue),nr._currentValue=on,null!==bn)if(0==(on=ro(nr=bn.value,on)?0:0|("function"==typeof Pe._calculateChangedBits?Pe._calculateChangedBits(nr,on):1073741823))){if(bn.children===tt.children&&!en.current){x=Mc(C,x,q);break e}}else for(null!==(nr=x.child)&&(nr.return=x);null!==nr;){var wr=nr.dependencies;if(null!==wr){bn=nr.child;for(var qr=wr.firstContext;null!==qr;){if(qr.context===Pe&&0!=(qr.observedBits&on)){1===nr.tag&&((qr=Ga(-1,q&-q)).tag=2,$i(nr,qr)),nr.lanes|=q,null!==(qr=nr.alternate)&&(qr.lanes|=q),al(nr.return,q),wr.lanes|=q;break}qr=qr.next}}else bn=10===nr.tag&&nr.type===x.type?null:nr.child;if(null!==bn)bn.return=nr;else for(bn=nr;null!==bn;){if(bn===x){bn=null;break}if(null!==(nr=bn.sibling)){nr.return=bn.return,bn=nr;break}bn=bn.return}nr=bn}Nc(C,x,tt.children,q),x=x.child}return x;case 9:return tt=x.type,Pe=(on=x.pendingProps).children,js(x,q),Pe=Pe(tt=ll(tt,on.unstable_observedBits)),x.flags|=1,Nc(C,x,Pe,q),x.child;case 14:return on=qs(tt=x.type,x.pendingProps),ld(C,x,tt,on=qs(tt.type,on),Pe,q);case 15:return ru(C,x,x.type,x.pendingProps,Pe,q);case 17:return tt=x.pendingProps,tt=x.elementType===(Pe=x.type)?tt:qs(Pe,tt),null!==C&&(C.alternate=null,x.alternate=null,x.flags|=2),x.tag=1,kn(Pe)?(C=!0,Gr(x)):C=!1,js(x,q),Tu(x,Pe,tt),xl(x,Pe,tt,q),cd(null,x,Pe,!0,C,q);case 19:return Lc(C,x,q);case 23:case 24:return Su(C,x,q)}throw Error(l(156,x.tag))},Gf.prototype.render=function(C){Vf(C,this._internalRoot,null,null)},Gf.prototype.unmount=function(){var C=this._internalRoot,x=C.containerInfo;Vf(null,C,null,function(){x[Zl]=null})},se=function(C){13===C.tag&&(hd(C,4,mc()),up(C,4))},ct=function(C){13===C.tag&&(hd(C,67108864,mc()),up(C,67108864))},Ke=function(C){if(13===C.tag){var x=mc(),q=Bl(C);hd(C,q,x),up(C,q)}},Xe=function(C,x){return x()},ht=function(C,x,q){switch(x){case"input":if(Ht(C,q),x=q.name,"radio"===q.type&&null!=x){for(q=C;q.parentNode;)q=q.parentNode;for(q=q.querySelectorAll("input[name="+JSON.stringify(""+x)+'][type="radio"]'),x=0;x<q.length;x++){var Pe=q[x];if(Pe!==C&&Pe.form===C.form){var tt=Mt(Pe);if(!tt)throw Error(l(90));ar(Pe),Ht(Pe,tt)}}}break;case"textarea":qn(C,q);break;case"select":null!=(x=q.value)&&Kt(C,!!q.multiple,x,!1)}},Pt=Hf,Ut=function(C,x,q,Pe,tt){var on=ea;ea|=4;try{return wa(98,C.bind(null,x,q,Pe,tt))}finally{0===(ea=on)&&(Wc(),Fa())}},ot=function(){0==(49&ea)&&(function(){if(null!==qc){var C=qc;qc=null,C.forEach(function(x){x.expiredLanes|=24&x.pendingLanes,au(x,so())})}Fa()}(),nc())},Nn=function(C,x){var q=ea;ea|=2;try{return C(x)}finally{0===(ea=q)&&(Wc(),Fa())}};var Op={Events:[Fe,we,Mt,at,it,nc,{current:!1}]},zd={findFiberByHostInstance:Je,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},dp={bundleType:zd.bundleType,version:zd.version,rendererPackageName:zd.rendererPackageName,rendererConfig:zd.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:J.ReactCurrentDispatcher,findHostInstanceByFiber:function(C){return null===(C=Kr(C))?null:C.stateNode},findFiberByHostInstance:zd.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var bf=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!bf.isDisabled&&bf.supportsFiber)try{Ci=bf.inject(dp),vi=bf}catch(C){}}o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Op,o.createPortal=zf,o.findDOMNode=function(C){if(null==C)return null;if(1===C.nodeType)return C;var x=C._reactInternals;if(void 0===x)throw"function"==typeof C.render?Error(l(188)):Error(l(268,Object.keys(C)));return null===(C=Kr(x))?null:C.stateNode},o.flushSync=function(C,x){var q=ea;if(0!=(48&q))return C(x);ea|=1;try{if(C)return wa(99,C.bind(null,x))}finally{ea=q,Fa()}},o.hydrate=function(C,x,q){if(!xd(x))throw Error(l(200));return yf(null,C,x,!0,q)},o.render=function(C,x,q){if(!xd(x))throw Error(l(200));return yf(null,C,x,!1,q)},o.unmountComponentAtNode=function(C){if(!xd(C))throw Error(l(40));return!!C._reactRootContainer&&(Uf(function(){yf(null,null,C,!1,function(){C._reactRootContainer=null,C[Zl]=null})}),!0)},o.unstable_batchedUpdates=Hf,o.unstable_createPortal=function(C,x){return zf(C,x,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},o.unstable_renderSubtreeIntoContainer=function(C,x,q,Pe){if(!xd(q))throw Error(l(200));if(null==C||void 0===C._reactInternals)throw Error(l(38));return yf(C,x,q,!1,Pe)},o.version="17.0.2"},function(g,o,t){"use strict";g.exports=t(877)},function(g,o,t){"use strict";var e,s,a,l;if("object"==typeof performance&&"function"==typeof performance.now){var u=performance;o.unstable_now=function(){return u.now()}}else{var h=Date,_=h.now();o.unstable_now=function(){return h.now()-_}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var m=null,b=null,T=function(){if(null!==m)try{var lt=o.unstable_now();m(!0,lt),m=null}catch(nn){throw setTimeout(T,0),nn}};e=function(lt){null!==m?setTimeout(e,0,lt):(m=lt,setTimeout(T,0))},s=function(lt,nn){b=setTimeout(lt,nn)},a=function(){clearTimeout(b)},o.unstable_shouldYield=function(){return!1},l=o.unstable_forceFrameRate=function(){}}else{var D=window.setTimeout,R=window.clearTimeout;if("undefined"!=typeof console){var j=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof j&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var H=!1,z=null,U=-1,M=5,I=0;o.unstable_shouldYield=function(){return o.unstable_now()>=I},l=function(){},o.unstable_forceFrameRate=function(lt){0>lt||125<lt?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<lt?Math.floor(1e3/lt):5};var J=new MessageChannel,B=J.port2;J.port1.onmessage=function(){if(null!==z){var lt=o.unstable_now();I=lt+M;try{z(!0,lt)?B.postMessage(null):(H=!1,z=null)}catch(nn){throw B.postMessage(null),nn}}else H=!1},e=function(lt){z=lt,H||(H=!0,B.postMessage(null))},s=function(lt,nn){U=D(function(){lt(o.unstable_now())},nn)},a=function(){R(U),U=-1}}function ie(lt,nn){var St=lt.length;lt.push(nn);e:for(;;){var Ot=St-1>>>1,Qe=lt[Ot];if(!(void 0!==Qe&&0<ne(Qe,nn)))break e;lt[Ot]=nn,lt[St]=Qe,St=Ot}}function oe(lt){return void 0===(lt=lt[0])?null:lt}function fe(lt){var nn=lt[0];if(void 0!==nn){var St=lt.pop();if(St!==nn){lt[0]=St;e:for(var Ot=0,Qe=lt.length;Ot<Qe;){var It=2*(Ot+1)-1,ae=lt[It],Ie=It+1,dt=lt[Ie];if(void 0!==ae&&0>ne(ae,St))void 0!==dt&&0>ne(dt,ae)?(lt[Ot]=dt,lt[Ie]=St,Ot=Ie):(lt[Ot]=ae,lt[It]=St,Ot=It);else{if(!(void 0!==dt&&0>ne(dt,St)))break e;lt[Ot]=dt,lt[Ie]=St,Ot=Ie}}}return nn}return null}function ne(lt,nn){var St=lt.sortIndex-nn.sortIndex;return 0!==St?St:lt.id-nn.id}var he=[],ce=[],Ae=1,Se=null,Oe=3,be=!1,ue=!1,He=!1;function $e(lt){for(var nn=oe(ce);null!==nn;){if(null===nn.callback)fe(ce);else{if(!(nn.startTime<=lt))break;fe(ce),nn.sortIndex=nn.expirationTime,ie(he,nn)}nn=oe(ce)}}function F(lt){if(He=!1,$e(lt),!ue)if(null!==oe(he))ue=!0,e(je);else{var nn=oe(ce);null!==nn&&s(F,nn.startTime-lt)}}function je(lt,nn){ue=!1,He&&(He=!1,a()),be=!0;var St=Oe;try{for($e(nn),Se=oe(he);null!==Se&&(!(Se.expirationTime>nn)||lt&&!o.unstable_shouldYield());){var Ot=Se.callback;if("function"==typeof Ot){Se.callback=null,Oe=Se.priorityLevel;var Qe=Ot(Se.expirationTime<=nn);nn=o.unstable_now(),"function"==typeof Qe?Se.callback=Qe:Se===oe(he)&&fe(he),$e(nn)}else fe(he);Se=oe(he)}if(null!==Se)var It=!0;else{var ae=oe(ce);null!==ae&&s(F,ae.startTime-nn),It=!1}return It}finally{Se=null,Oe=St,be=!1}}var Et=l;o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(lt){lt.callback=null},o.unstable_continueExecution=function(){ue||be||(ue=!0,e(je))},o.unstable_getCurrentPriorityLevel=function(){return Oe},o.unstable_getFirstCallbackNode=function(){return oe(he)},o.unstable_next=function(lt){switch(Oe){case 1:case 2:case 3:var nn=3;break;default:nn=Oe}var St=Oe;Oe=nn;try{return lt()}finally{Oe=St}},o.unstable_pauseExecution=function(){},o.unstable_requestPaint=Et,o.unstable_runWithPriority=function(lt,nn){switch(lt){case 1:case 2:case 3:case 4:case 5:break;default:lt=3}var St=Oe;Oe=lt;try{return nn()}finally{Oe=St}},o.unstable_scheduleCallback=function(lt,nn,St){var Ot=o.unstable_now();switch(St="object"==typeof St&&null!==St&&"number"==typeof(St=St.delay)&&0<St?Ot+St:Ot,lt){case 1:var Qe=-1;break;case 2:Qe=250;break;case 5:Qe=1073741823;break;case 4:Qe=1e4;break;default:Qe=5e3}return lt={id:Ae++,callback:nn,priorityLevel:lt,startTime:St,expirationTime:Qe=St+Qe,sortIndex:-1},St>Ot?(lt.sortIndex=St,ie(ce,lt),null===oe(he)&<===oe(ce)&&(He?a():He=!0,s(F,St-Ot))):(lt.sortIndex=Qe,ie(he,lt),ue||be||(ue=!0,e(je))),lt},o.unstable_wrapCallback=function(lt){var nn=Oe;return function(){var St=Oe;Oe=nn;try{return lt.apply(this,arguments)}finally{Oe=St}}}},function(g,o,t){"use strict";var e=t(879);function s(){}function a(){}a.resetWarningCache=s,g.exports=function(){function l(_,m,b,T,D,R){if(R!==e){var j=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw j.name="Invariant Violation",j}}function u(){return l}l.isRequired=l;var h={array:l,bool:l,func:l,number:l,object:l,string:l,symbol:l,any:l,arrayOf:u,element:l,elementType:l,instanceOf:u,node:l,objectOf:u,oneOf:u,oneOfType:u,shape:u,exact:u,checkPropTypes:a,resetWarningCache:s};return h.PropTypes=h,h}},function(g,o,t){"use strict";g.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(g,o,t){"use strict";var e="function"==typeof Symbol&&Symbol.for,s=e?Symbol.for("react.element"):60103,a=e?Symbol.for("react.portal"):60106,l=e?Symbol.for("react.fragment"):60107,u=e?Symbol.for("react.strict_mode"):60108,h=e?Symbol.for("react.profiler"):60114,_=e?Symbol.for("react.provider"):60109,m=e?Symbol.for("react.context"):60110,b=e?Symbol.for("react.async_mode"):60111,T=e?Symbol.for("react.concurrent_mode"):60111,D=e?Symbol.for("react.forward_ref"):60112,R=e?Symbol.for("react.suspense"):60113,j=e?Symbol.for("react.suspense_list"):60120,H=e?Symbol.for("react.memo"):60115,z=e?Symbol.for("react.lazy"):60116,U=e?Symbol.for("react.block"):60121,M=e?Symbol.for("react.fundamental"):60117,I=e?Symbol.for("react.responder"):60118,J=e?Symbol.for("react.scope"):60119;function B(oe){if("object"==typeof oe&&null!==oe){var fe=oe.$$typeof;switch(fe){case s:switch(oe=oe.type){case b:case T:case l:case h:case u:case R:return oe;default:switch(oe=oe&&oe.$$typeof){case m:case D:case z:case H:case _:return oe;default:return fe}}case a:return fe}}}function ie(oe){return B(oe)===T}o.AsyncMode=b,o.ConcurrentMode=T,o.ContextConsumer=m,o.ContextProvider=_,o.Element=s,o.ForwardRef=D,o.Fragment=l,o.Lazy=z,o.Memo=H,o.Portal=a,o.Profiler=h,o.StrictMode=u,o.Suspense=R,o.isAsyncMode=function(oe){return ie(oe)||B(oe)===b},o.isConcurrentMode=ie,o.isContextConsumer=function(oe){return B(oe)===m},o.isContextProvider=function(oe){return B(oe)===_},o.isElement=function(oe){return"object"==typeof oe&&null!==oe&&oe.$$typeof===s},o.isForwardRef=function(oe){return B(oe)===D},o.isFragment=function(oe){return B(oe)===l},o.isLazy=function(oe){return B(oe)===z},o.isMemo=function(oe){return B(oe)===H},o.isPortal=function(oe){return B(oe)===a},o.isProfiler=function(oe){return B(oe)===h},o.isStrictMode=function(oe){return B(oe)===u},o.isSuspense=function(oe){return B(oe)===R},o.isValidElementType=function(oe){return"string"==typeof oe||"function"==typeof oe||oe===l||oe===T||oe===h||oe===u||oe===R||oe===j||"object"==typeof oe&&null!==oe&&(oe.$$typeof===z||oe.$$typeof===H||oe.$$typeof===_||oe.$$typeof===m||oe.$$typeof===D||oe.$$typeof===M||oe.$$typeof===I||oe.$$typeof===J||oe.$$typeof===U)},o.typeOf=B},function(g,o){g.exports=function(t,e){for(var s=-1,a=null==t?0:t.length;++s<a&&!1!==e(t[s],s,t););return t}},function(g,o,t){var e=t(134),s=t(135);g.exports=function(a,l){return a&&e(l,s(l),a)}},function(g,o,t){var e=t(134),s=t(153);g.exports=function(a,l){return a&&e(l,s(l),a)}},function(g,o,t){var e=t(134),s=t(241);g.exports=function(a,l){return e(a,s(a),l)}},function(g,o,t){var e=t(134),s=t(439);g.exports=function(a,l){return e(a,s(a),l)}},function(g,o){var t=Object.prototype.hasOwnProperty;g.exports=function(e){var s=e.length,a=new e.constructor(s);return s&&"string"==typeof e[0]&&t.call(e,"index")&&(a.index=e.index,a.input=e.input),a}},function(g,o,t){var e=t(230),s=t(888),a=t(889),l=t(890),u=t(361);g.exports=function(h,_,m){var b=h.constructor;switch(_){case"[object ArrayBuffer]":return e(h);case"[object Boolean]":case"[object Date]":return new b(+h);case"[object DataView]":return s(h,m);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return u(h,m);case"[object Map]":return new b;case"[object Number]":case"[object String]":return new b(h);case"[object RegExp]":return a(h);case"[object Set]":return new b;case"[object Symbol]":return l(h)}}},function(g,o,t){var e=t(230);g.exports=function(s,a){var l=a?e(s.buffer):s.buffer;return new s.constructor(l,s.byteOffset,s.byteLength)}},function(g,o){var t=/\w*$/;g.exports=function(e){var s=new e.constructor(e.source,t.exec(e));return s.lastIndex=e.lastIndex,s}},function(g,o,t){var e=t(133),s=e?e.prototype:void 0,a=s?s.valueOf:void 0;g.exports=function(l){return a?Object(a.call(l)):{}}},function(g,o,t){var e=t(892),s=t(233),a=t(234),l=a&&a.isMap,u=l?s(l):e;g.exports=u},function(g,o,t){var e=t(155),s=t(78);g.exports=function(a){return s(a)&&"[object Map]"==e(a)}},function(g,o,t){var e=t(894),s=t(233),a=t(234),l=a&&a.isSet,u=l?s(l):e;g.exports=u},function(g,o,t){var e=t(155),s=t(78);g.exports=function(a){return s(a)&&"[object Set]"==e(a)}},function(g,o,t){var e=t(156),s=t(896),a=t(897),l=t(136);g.exports=function(u,h){return h=e(h,u),null==(u=a(u,h))||delete u[l(s(h))]}},function(g,o){g.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},function(g,o,t){var e=t(242),s=t(388);g.exports=function(a,l){return l.length<2?a:e(a,s(l,0,-1))}},function(g,o,t){var e=t(140);g.exports=function(s){return e(s)?void 0:s}},function(g,o,t){var e=t(900),s=t(368),a=t(369);g.exports=function(l){return a(s(l,void 0,e),l+"")}},function(g,o,t){var e=t(901);g.exports=function(s){return null!=s&&s.length?e(s,1):[]}},function(g,o,t){var e=t(240),s=t(902);g.exports=function a(l,u,h,_,m){var b=-1,T=l.length;for(h||(h=s),m||(m=[]);++b<T;){var D=l[b];u>0&&h(D)?u>1?a(D,u-1,h,_,m):e(m,D):_||(m[m.length]=D)}return m}},function(g,o,t){var e=t(133),s=t(151),a=t(52),l=e?e.isConcatSpreadable:void 0;g.exports=function(u){return a(u)||s(u)||!!(l&&u&&u[l])}},function(g,o,t){var e=t(904);g.exports=e},function(g,o,t){var e=t(35),s=t(905),a=String.prototype;g.exports=function(l){var u=l.repeat;return"string"==typeof l||l===a||e(a,l)&&u===a.repeat?s:u}},function(g,o,t){t(906);var e=t(42);g.exports=e("String").repeat},function(g,o,t){t(22)({target:"String",proto:!0},{repeat:t(907)})},function(g,o,t){"use strict";var e=t(17),s=t(129),a=t(67),l=t(113),u=e.RangeError;g.exports=function(h){var _=a(l(this)),m="",b=s(h);if(b<0||b==1/0)throw u("Wrong number of repetitions");for(;b>0;(b>>>=1)&&(_+=_))1&b&&(m+=_);return m}},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.CopyToClipboard=void 0;var e=a(t(0)),s=a(t(909));function a(z){return z&&z.__esModule?z:{default:z}}function l(z){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(U){return typeof U}:function(U){return U&&"function"==typeof Symbol&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U})(z)}function u(z,U){var M=Object.keys(z);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(z);U&&(I=I.filter(function(J){return Object.getOwnPropertyDescriptor(z,J).enumerable})),M.push.apply(M,I)}return M}function _(z,U){if(!(z instanceof U))throw new TypeError("Cannot call a class as a function")}function b(z,U){return!U||"object"!==l(U)&&"function"!=typeof U?D(z):U}function T(z){return(T=Object.setPrototypeOf?Object.getPrototypeOf:function(U){return U.__proto__||Object.getPrototypeOf(U)})(z)}function D(z){if(void 0===z)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return z}function R(z,U){return(R=Object.setPrototypeOf||function(M,I){return M.__proto__=I,M})(z,U)}function j(z,U,M){return U in z?Object.defineProperty(z,U,{value:M,enumerable:!0,configurable:!0,writable:!0}):z[U]=M,z}var H=function(z){function U(){var B,ie;_(this,U);for(var oe=arguments.length,fe=new Array(oe),ne=0;ne<oe;ne++)fe[ne]=arguments[ne];return j(D(ie=b(this,(B=T(U)).call.apply(B,[this].concat(fe)))),"onClick",function(he){var ce=ie.props,Ae=ce.text,Se=ce.onCopy,be=ce.options,ue=e.default.Children.only(ce.children),He=(0,s.default)(Ae,be);Se&&Se(Ae,He),ue&&ue.props&&"function"==typeof ue.props.onClick&&ue.props.onClick(he)}),ie}var I;return function(B,ie){if("function"!=typeof ie&&null!==ie)throw new TypeError("Super expression must either be null or a function");B.prototype=Object.create(ie&&ie.prototype,{constructor:{value:B,writable:!0,configurable:!0}}),ie&&R(B,ie)}(U,z),(I=[{key:"render",value:function(){var B=this.props,ie=B.children,oe=function(z,U){if(null==z)return{};var M,I,J=function(ie,oe){if(null==ie)return{};var fe,ne,he={},ce=Object.keys(ie);for(ne=0;ne<ce.length;ne++)oe.indexOf(fe=ce[ne])>=0||(he[fe]=ie[fe]);return he}(z,U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(z);for(I=0;I<B.length;I++)U.indexOf(M=B[I])>=0||Object.prototype.propertyIsEnumerable.call(z,M)&&(J[M]=z[M])}return J}(B,["text","onCopy","options","children"]),fe=e.default.Children.only(ie);return e.default.cloneElement(fe,function(ne){for(var he=1;he<arguments.length;he++){var ce=null!=arguments[he]?arguments[he]:{};he%2?u(ce,!0).forEach(function(Ae){j(ne,Ae,ce[Ae])}):Object.getOwnPropertyDescriptors?Object.defineProperties(ne,Object.getOwnPropertyDescriptors(ce)):u(ce).forEach(function(Ae){Object.defineProperty(ne,Ae,Object.getOwnPropertyDescriptor(ce,Ae))})}return ne}({},oe,{onClick:this.onClick}))}}])&&function(z,U){for(var M=0;M<U.length;M++){var I=U[M];I.enumerable=I.enumerable||!1,I.configurable=!0,"value"in I&&(I.writable=!0),Object.defineProperty(z,I.key,I)}}(U.prototype,I),U}(e.default.PureComponent);o.CopyToClipboard=H,j(H,"defaultProps",{onCopy:void 0,options:void 0})},function(g,o,t){"use strict";var e=t(910),s={"text/plain":"Text","text/html":"Url",default:"Text"};g.exports=function(a,l){var u,h,_,m,b,T,H,z,D=!1;l||(l={}),u=l.debug||!1;try{if(_=e(),m=document.createRange(),b=document.getSelection(),(T=document.createElement("span")).textContent=a,T.style.all="unset",T.style.position="fixed",T.style.top=0,T.style.clip="rect(0, 0, 0, 0)",T.style.whiteSpace="pre",T.style.webkitUserSelect="text",T.style.MozUserSelect="text",T.style.msUserSelect="text",T.style.userSelect="text",T.addEventListener("copy",function(R){R.stopPropagation(),l.format&&(R.preventDefault(),void 0===R.clipboardData?(u&&console.warn("unable to use e.clipboardData"),u&&console.warn("trying IE specific stuff"),window.clipboardData.clearData(),window.clipboardData.setData(s[l.format]||s.default,a)):(R.clipboardData.clearData(),R.clipboardData.setData(l.format,a))),l.onCopy&&(R.preventDefault(),l.onCopy(R.clipboardData))}),document.body.appendChild(T),m.selectNodeContents(T),b.addRange(m),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");D=!0}catch(R){u&&console.error("unable to copy using execCommand: ",R),u&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(l.format||"text",a),l.onCopy&&l.onCopy(window.clipboardData),D=!0}catch(j){u&&console.error("unable to copy using clipboardData: ",j),u&&console.error("falling back to prompt"),H="message"in l?l.message:"Copy to clipboard: #{key}, Enter",z=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C",h=H.replace(/#{\s*key\s*}/g,z),window.prompt(h,a)}}finally{b&&("function"==typeof b.removeRange?b.removeRange(m):b.removeAllRanges()),T&&document.body.removeChild(T),_()}return D}},function(g,o){g.exports=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,s=[],a=0;a<t.rangeCount;a++)s.push(t.getRangeAt(a));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null}return t.removeAllRanges(),function(){"Caret"===t.type&&t.removeAllRanges(),t.rangeCount||s.forEach(function(l){t.addRange(l)}),e&&e.focus()}}},function(g,o){function t(Yn){return Yn instanceof Map?Yn.clear=Yn.delete=Yn.set=function(){throw new Error("map is read-only")}:Yn instanceof Set&&(Yn.add=Yn.clear=Yn.delete=function(){throw new Error("set is read-only")}),Object.freeze(Yn),Object.getOwnPropertyNames(Yn).forEach(function(Cn){var Kt=Yn[Cn];"object"!=typeof Kt||Object.isFrozen(Kt)||t(Kt)}),Yn}var e=t;e.default=t;class a{constructor(Cn){void 0===Cn.data&&(Cn.data={}),this.data=Cn.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function l(Yn){return Yn.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function u(Yn,...Cn){const Kt=Object.create(null);for(const dn in Yn)Kt[dn]=Yn[dn];return Cn.forEach(function(dn){for(const Kn in dn)Kt[Kn]=dn[Kn]}),Kt}const h=Yn=>!!Yn.kind;class _{constructor(Cn,Kt){this.buffer="",this.classPrefix=Kt.classPrefix,Cn.walk(this)}addText(Cn){this.buffer+=l(Cn)}openNode(Cn){if(!h(Cn))return;let Kt=Cn.kind;Cn.sublanguage||(Kt=`${this.classPrefix}${Kt}`),this.span(Kt)}closeNode(Cn){h(Cn)&&(this.buffer+="</span>")}value(){return this.buffer}span(Cn){this.buffer+=`<span class="${Cn}">`}}class m{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Cn){this.top.children.push(Cn)}openNode(Cn){const Kt={kind:Cn,children:[]};this.add(Kt),this.stack.push(Kt)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Cn){return this.constructor._walk(Cn,this.rootNode)}static _walk(Cn,Kt){return"string"==typeof Kt?Cn.addText(Kt):Kt.children&&(Cn.openNode(Kt),Kt.children.forEach(dn=>this._walk(Cn,dn)),Cn.closeNode(Kt)),Cn}static _collapse(Cn){"string"!=typeof Cn&&Cn.children&&(Cn.children.every(Kt=>"string"==typeof Kt)?Cn.children=[Cn.children.join("")]:Cn.children.forEach(Kt=>{m._collapse(Kt)}))}}class b extends m{constructor(Cn){super(),this.options=Cn}addKeyword(Cn,Kt){""!==Cn&&(this.openNode(Kt),this.addText(Cn),this.closeNode())}addText(Cn){""!==Cn&&this.add(Cn)}addSublanguage(Cn,Kt){const dn=Cn.root;dn.kind=Kt,dn.sublanguage=!0,this.add(dn)}toHTML(){return new _(this,this.options).value()}finalize(){return!0}}function T(Yn){return Yn?"string"==typeof Yn?Yn:Yn.source:null}const D=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,R="[a-zA-Z]\\w*",j="[a-zA-Z_]\\w*",H="\\b\\d+(\\.\\d+)?",z="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",U="\\b(0b[01]+)",M={begin:"\\\\[\\s\\S]",relevance:0},I={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[M]},J={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[M]},B={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ie=function(Yn,Cn,Kt={}){const dn=u({className:"comment",begin:Yn,end:Cn,contains:[]},Kt);return dn.contains.push(B),dn.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),dn},oe=ie("//","$"),fe=ie("/\\*","\\*/"),ne=ie("#","$");var $e=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:R,UNDERSCORE_IDENT_RE:j,NUMBER_RE:H,C_NUMBER_RE:z,BINARY_NUMBER_RE:U,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(Yn={})=>{const Cn=/^#![ ]*\//;return Yn.binary&&(Yn.begin=function(...Kt){return Kt.map(dn=>T(dn)).join("")}(Cn,/.*\b/,Yn.binary,/\b.*/)),u({className:"meta",begin:Cn,end:/$/,relevance:0,"on:begin":(Kt,dn)=>{0!==Kt.index&&dn.ignoreMatch()}},Yn)},BACKSLASH_ESCAPE:M,APOS_STRING_MODE:I,QUOTE_STRING_MODE:J,PHRASAL_WORDS_MODE:B,COMMENT:ie,C_LINE_COMMENT_MODE:oe,C_BLOCK_COMMENT_MODE:fe,HASH_COMMENT_MODE:ne,NUMBER_MODE:{className:"number",begin:H,relevance:0},C_NUMBER_MODE:{className:"number",begin:z,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:U,relevance:0},CSS_NUMBER_MODE:{className:"number",begin:H+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[M,{begin:/\[/,end:/\]/,relevance:0,contains:[M]}]}]},TITLE_MODE:{className:"title",begin:R,relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:j,relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(Yn){return Object.assign(Yn,{"on:begin":(Cn,Kt)=>{Kt.data._beginMatch=Cn[1]},"on:end":(Cn,Kt)=>{Kt.data._beginMatch!==Cn[1]&&Kt.ignoreMatch()}})}});function F(Yn,Cn){"."===Yn.input[Yn.index-1]&&Cn.ignoreMatch()}function je(Yn,Cn){Cn&&Yn.beginKeywords&&(Yn.begin="\\b("+Yn.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Yn.__beforeBegin=F,Yn.keywords=Yn.keywords||Yn.beginKeywords,delete Yn.beginKeywords,void 0===Yn.relevance&&(Yn.relevance=0))}function Et(Yn,Cn){Array.isArray(Yn.illegal)&&(Yn.illegal=function(...Kt){return"("+Kt.map(dn=>T(dn)).join("|")+")"}(...Yn.illegal))}function lt(Yn,Cn){if(Yn.match){if(Yn.begin||Yn.end)throw new Error("begin & end are not supported with match");Yn.begin=Yn.match,delete Yn.match}}function nn(Yn,Cn){void 0===Yn.relevance&&(Yn.relevance=1)}const St=["of","and","for","in","not","or","if","then","parent","list","value"];function Ot(Yn,Cn,Kt="keyword"){const dn={};return"string"==typeof Yn?Kn(Kt,Yn.split(" ")):Array.isArray(Yn)?Kn(Kt,Yn):Object.keys(Yn).forEach(function(qn){Object.assign(dn,Ot(Yn[qn],Cn,qn))}),dn;function Kn(qn,Sn){Cn&&(Sn=Sn.map($n=>$n.toLowerCase())),Sn.forEach(function($n){const En=$n.split("|");dn[En[0]]=[qn,Qe(En[0],En[1])]})}}function Qe(Yn,Cn){return Cn?Number(Cn):St.includes(Yn.toLowerCase())?0:1}function It(Yn,{}){function Kt(qn,Sn){return new RegExp(T(qn),"m"+(Yn.case_insensitive?"i":"")+(Sn?"g":""))}class dn{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Sn,$n){$n.position=this.position++,this.matchIndexes[this.matchAt]=$n,this.regexes.push([$n,Sn]),this.matchAt+=new RegExp(Sn.toString()+"|").exec("").length-1+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const Sn=this.regexes.map($n=>$n[1]);this.matcherRe=Kt(function($n,En="|"){let Fn=0;return $n.map(Dn=>{Fn+=1;const mn=Fn;let jn=T(Dn),Xt="";for(;jn.length>0;){const ut=D.exec(jn);if(!ut){Xt+=jn;break}Xt+=jn.substring(0,ut.index),jn=jn.substring(ut.index+ut[0].length),"\\"===ut[0][0]&&ut[1]?Xt+="\\"+String(Number(ut[1])+mn):(Xt+=ut[0],"("===ut[0]&&Fn++)}return Xt}).map(Dn=>`(${Dn})`).join(En)}(Sn),!0),this.lastIndex=0}exec(Sn){this.matcherRe.lastIndex=this.lastIndex;const $n=this.matcherRe.exec(Sn);if(!$n)return null;const En=$n.findIndex((Dn,mn)=>mn>0&&void 0!==Dn),Fn=this.matchIndexes[En];return $n.splice(0,En),Object.assign($n,Fn)}}class Kn{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Sn){if(this.multiRegexes[Sn])return this.multiRegexes[Sn];const $n=new dn;return this.rules.slice(Sn).forEach(([En,Fn])=>$n.addRule(En,Fn)),$n.compile(),this.multiRegexes[Sn]=$n,$n}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(Sn,$n){this.rules.push([Sn,$n]),"begin"===$n.type&&this.count++}exec(Sn){const $n=this.getMatcher(this.regexIndex);$n.lastIndex=this.lastIndex;let En=$n.exec(Sn);if(this.resumingScanAtSamePosition()&&(!En||En.index!==this.lastIndex)){const Fn=this.getMatcher(0);Fn.lastIndex=this.lastIndex+1,En=Fn.exec(Sn)}return En&&(this.regexIndex+=En.position+1,this.regexIndex===this.count&&this.considerAll()),En}}if(Yn.compilerExtensions||(Yn.compilerExtensions=[]),Yn.contains&&Yn.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Yn.classNameAliases=u(Yn.classNameAliases||{}),function qn(Sn,$n){const En=Sn;if(Sn.isCompiled)return En;[lt].forEach(Dn=>Dn(Sn,$n)),Yn.compilerExtensions.forEach(Dn=>Dn(Sn,$n)),Sn.__beforeBegin=null,[je,Et,nn].forEach(Dn=>Dn(Sn,$n)),Sn.isCompiled=!0;let Fn=null;if("object"==typeof Sn.keywords&&(Fn=Sn.keywords.$pattern,delete Sn.keywords.$pattern),Sn.keywords&&(Sn.keywords=Ot(Sn.keywords,Yn.case_insensitive)),Sn.lexemes&&Fn)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return Fn=Fn||Sn.lexemes||/\w+/,En.keywordPatternRe=Kt(Fn,!0),$n&&(Sn.begin||(Sn.begin=/\B|\b/),En.beginRe=Kt(Sn.begin),Sn.endSameAsBegin&&(Sn.end=Sn.begin),Sn.end||Sn.endsWithParent||(Sn.end=/\B|\b/),Sn.end&&(En.endRe=Kt(Sn.end)),En.terminatorEnd=T(Sn.end)||"",Sn.endsWithParent&&$n.terminatorEnd&&(En.terminatorEnd+=(Sn.end?"|":"")+$n.terminatorEnd)),Sn.illegal&&(En.illegalRe=Kt(Sn.illegal)),Sn.contains||(Sn.contains=[]),Sn.contains=[].concat(...Sn.contains.map(function(Dn){return(mn="self"===Dn?Sn:Dn).variants&&!mn.cachedVariants&&(mn.cachedVariants=mn.variants.map(function(jn){return u(mn,{variants:null},jn)})),mn.cachedVariants?mn.cachedVariants:ae(mn)?u(mn,{starts:mn.starts?u(mn.starts):null}):Object.isFrozen(mn)?u(mn):mn;var mn})),Sn.contains.forEach(function(Dn){qn(Dn,En)}),Sn.starts&&qn(Sn.starts,$n),En.matcher=function(Dn){const mn=new Kn;return Dn.contains.forEach(jn=>mn.addRule(jn.begin,{rule:jn,type:"begin"})),Dn.terminatorEnd&&mn.addRule(Dn.terminatorEnd,{type:"end"}),Dn.illegal&&mn.addRule(Dn.illegal,{type:"illegal"}),mn}(En),En}(Yn)}function ae(Yn){return!!Yn&&(Yn.endsWithParent||ae(Yn.starts))}function Ie(Yn){const Cn={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!Yn.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,l(this.code);let Kt={};return this.autoDetect?(Kt=Yn.highlightAuto(this.code),this.detectedLanguage=Kt.language):(Kt=Yn.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),Kt.value},autoDetect(){return!this.language||(Kt=this.autodetect,Boolean(Kt||""===Kt));var Kt},ignoreIllegals:()=>!0},render(Kt){return Kt("pre",{},[Kt("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:Cn,VuePlugin:{install(Kt){Kt.component("highlightjs",Cn)}}}}const dt={"after:highlightElement":({el:Yn,result:Cn,text:Kt})=>{const dn=zt(Yn);if(!dn.length)return;const Kn=document.createElement("div");Kn.innerHTML=Cn.value,Cn.value=function(qn,Sn,$n){let En=0,Fn="";const Dn=[];function mn(){return qn.length&&Sn.length?qn[0].offset!==Sn[0].offset?qn[0].offset<Sn[0].offset?qn:Sn:"start"===Sn[0].event?qn:Sn:qn.length?qn:Sn}function jn(mt){Fn+="<"+Jt(mt)+[].map.call(mt.attributes,function(yn){return" "+yn.nodeName+'="'+l(yn.value)+'"'}).join("")+">"}function Xt(mt){Fn+="</"+Jt(mt)+">"}function ut(mt){("start"===mt.event?jn:Xt)(mt.node)}for(;qn.length||Sn.length;){let mt=mn();if(Fn+=l($n.substring(En,mt[0].offset)),En=mt[0].offset,mt===qn){Dn.reverse().forEach(Xt);do{ut(mt.splice(0,1)[0]),mt=mn()}while(mt===qn&&mt.length&&mt[0].offset===En);Dn.reverse().forEach(jn)}else"start"===mt[0].event?Dn.push(mt[0].node):Dn.pop(),ut(mt.splice(0,1)[0])}return Fn+l($n.substr(En))}(dn,zt(Kn),Kt)}};function Jt(Yn){return Yn.nodeName.toLowerCase()}function zt(Yn){const Cn=[];return function Kt(dn,Kn){for(let qn=dn.firstChild;qn;qn=qn.nextSibling)3===qn.nodeType?Kn+=qn.nodeValue.length:1===qn.nodeType&&(Cn.push({event:"start",offset:Kn,node:qn}),Kn=Kt(qn,Kn),Jt(qn).match(/br|hr|img|input/)||Cn.push({event:"stop",offset:Kn,node:qn}));return Kn}(Yn,0),Cn}const ln={},ar=Yn=>{console.error(Yn)},Ln=(Yn,...Cn)=>{console.log(`WARN: ${Yn}`,...Cn)},Rn=(Yn,Cn)=>{ln[`${Yn}/${Cn}`]||(console.log(`Deprecated as of ${Yn}. ${Cn}`),ln[`${Yn}/${Cn}`]=!0)},er=l,Mn=u,Ht=Symbol("nomatch");var tr=function(Yn){const Cn=Object.create(null),Kt=Object.create(null),dn=[];let Kn=!0;const qn=/(^(<[^>]+>|\t|)+|\n)/gm,Sn="Could not find the language '{}', did you forget to load/include a language module?",$n={disableAutodetect:!0,name:"Plain text",contains:[]};let En={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:b};function Fn(L){return En.noHighlightRe.test(L)}function Dn(L,Ue,nt,at){let it="",Pt="";"object"==typeof Ue?(it=L,nt=Ue.ignoreIllegals,Pt=Ue.language,at=void 0):(Rn("10.7.0","highlight(lang, code, ...args) has been deprecated."),Rn("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),Pt=L,it=Ue);const Ut={code:it,language:Pt};ht("before:highlight",Ut);const ot=Ut.result?Ut.result:mn(Ut.language,Ut.code,nt,at);return ot.code=Ut.code,ht("after:highlight",ot),ot}function mn(L,Ue,nt,at){function it(Xr,Kr){const di=mr.case_insensitive?Kr[0].toLowerCase():Kr[0];return Object.prototype.hasOwnProperty.call(Xr.keywords,di)&&Xr.keywords[di]}function Pt(){null!=br.subLanguage?function(){if(""===Mr)return;let Xr=null;if("string"==typeof br.subLanguage){if(!Cn[br.subLanguage])return void rr.addText(Mr);Xr=mn(br.subLanguage,Mr,!0,Jn[br.subLanguage]),Jn[br.subLanguage]=Xr.top}else Xr=jn(Mr,br.subLanguage.length?br.subLanguage:null);br.relevance>0&&(yi+=Xr.relevance),rr.addSublanguage(Xr.emitter,Xr.language)}():function(){if(!br.keywords)return void rr.addText(Mr);let Xr=0;br.keywordPatternRe.lastIndex=0;let Kr=br.keywordPatternRe.exec(Mr),di="";for(;Kr;){di+=Mr.substring(Xr,Kr.index);const se=it(br,Kr);if(se){const[ct,Ke]=se;rr.addText(di),di="",yi+=Ke,ct.startsWith("_")?di+=Kr[0]:rr.addKeyword(Kr[0],mr.classNameAliases[ct]||ct)}else di+=Kr[0];Xr=br.keywordPatternRe.lastIndex,Kr=br.keywordPatternRe.exec(Mr)}di+=Mr.substr(Xr),rr.addText(di)}(),Mr=""}function Ut(Xr){return Xr.className&&rr.openNode(mr.classNameAliases[Xr.className]||Xr.className),br=Object.create(Xr,{parent:{value:br}}),br}function ot(Xr,Kr,di){let se=function(ct,Ke){const Xe=ct&&ct.exec(Ke);return Xe&&0===Xe.index}(Xr.endRe,di);if(se){if(Xr["on:end"]){const ct=new a(Xr);Xr["on:end"](Kr,ct),ct.isMatchIgnored&&(se=!1)}if(se){for(;Xr.endsParent&&Xr.parent;)Xr=Xr.parent;return Xr}}if(Xr.endsWithParent)return ot(Xr.parent,Kr,di)}function Nn(Xr){return 0===br.matcher.regexIndex?(Mr+=Xr[0],1):(Oi=!0,0)}function An(Xr){const Kr=Xr[0],di=Ue.substr(Xr.index),se=ot(br,Xr,di);if(!se)return Ht;const ct=br;ct.skip?Mr+=Kr:(ct.returnEnd||ct.excludeEnd||(Mr+=Kr),Pt(),ct.excludeEnd&&(Mr=Kr));do{br.className&&rr.closeNode(),br.skip||br.subLanguage||(yi+=br.relevance),br=br.parent}while(br!==se.parent);return se.starts&&(se.endSameAsBegin&&(se.starts.endRe=se.endRe),Ut(se.starts)),ct.returnEnd?0:Kr.length}let Bn={};function ir(Xr,Kr){const di=Kr&&Kr[0];if(Mr+=Xr,null==di)return Pt(),0;if("begin"===Bn.type&&"end"===Kr.type&&Bn.index===Kr.index&&""===di){if(Mr+=Ue.slice(Kr.index,Kr.index+1),!Kn){const se=new Error("0 width match regex");throw se.languageName=L,se.badRule=Bn.rule,se}return 1}if(Bn=Kr,"begin"===Kr.type)return function(Xr){const Kr=Xr[0],di=Xr.rule,se=new a(di),ct=[di.__beforeBegin,di["on:begin"]];for(const Ke of ct)if(Ke&&(Ke(Xr,se),se.isMatchIgnored))return Nn(Kr);return di&&di.endSameAsBegin&&(di.endRe=new RegExp(Kr.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),di.skip?Mr+=Kr:(di.excludeBegin&&(Mr+=Kr),Pt(),di.returnBegin||di.excludeBegin||(Mr=Kr)),Ut(di),di.returnBegin?0:Kr.length}(Kr);if("illegal"===Kr.type&&!nt){const se=new Error('Illegal lexeme "'+di+'" for mode "'+(br.className||"<unnamed>")+'"');throw se.mode=br,se}if("end"===Kr.type){const se=An(Kr);if(se!==Ht)return se}if("illegal"===Kr.type&&""===di)return 1;if(Mi>1e5&&Mi>3*Kr.index)throw new Error("potential infinite loop, way more iterations than matches");return Mr+=di,di.length}const mr=hn(L);if(!mr)throw ar(Sn.replace("{}",L)),new Error('Unknown language: "'+L+'"');const _r=It(mr,{plugins:dn});let Nr="",br=at||_r;const Jn={},rr=new En.__emitter(En);!function(){const Xr=[];for(let Kr=br;Kr!==mr;Kr=Kr.parent)Kr.className&&Xr.unshift(Kr.className);Xr.forEach(Kr=>rr.openNode(Kr))}();let Mr="",yi=0,Li=0,Mi=0,Oi=!1;try{for(br.matcher.considerAll();;){Mi++,Oi?Oi=!1:br.matcher.considerAll(),br.matcher.lastIndex=Li;const Xr=br.matcher.exec(Ue);if(!Xr)break;const Kr=ir(Ue.substring(Li,Xr.index),Xr);Li=Xr.index+Kr}return ir(Ue.substr(Li)),rr.closeAllNodes(),rr.finalize(),Nr=rr.toHTML(),{relevance:Math.floor(yi),value:Nr,language:L,illegal:!1,emitter:rr,top:br}}catch(Xr){if(Xr.message&&Xr.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:Xr.message,context:Ue.slice(Li-100,Li+100),mode:Xr.mode},sofar:Nr,relevance:0,value:er(Ue),emitter:rr};if(Kn)return{illegal:!1,relevance:0,value:er(Ue),emitter:rr,language:L,top:br,errorRaised:Xr};throw Xr}}function jn(L,Ue){Ue=Ue||En.languages||Object.keys(Cn);const nt=function(Nn){const sn={relevance:0,emitter:new En.__emitter(En),value:er(Nn),illegal:!1,top:$n};return sn.emitter.addText(Nn),sn}(L),at=Ue.filter(hn).filter(Ir).map(Nn=>mn(Nn,L,!1));at.unshift(nt);const it=at.sort((Nn,sn)=>{if(Nn.relevance!==sn.relevance)return sn.relevance-Nn.relevance;if(Nn.language&&sn.language){if(hn(Nn.language).supersetOf===sn.language)return 1;if(hn(sn.language).supersetOf===Nn.language)return-1}return 0}),[Pt,Ut]=it,ot=Pt;return ot.second_best=Ut,ot}const Xt={"before:highlightElement":({el:L})=>{En.useBR&&(L.innerHTML=L.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:L})=>{En.useBR&&(L.value=L.value.replace(/\n/g,"<br>"))}},ut=/^(<[^>]+>|\t)+/gm,mt={"after:highlightElement":({result:L})=>{En.tabReplace&&(L.value=L.value.replace(ut,Ue=>Ue.replace(/\t/g,En.tabReplace)))}};function Tt(L){let Ue=null;const nt=function(Pt){let Ut=Pt.className+" ";Ut+=Pt.parentNode?Pt.parentNode.className:"";const ot=En.languageDetectRe.exec(Ut);if(ot){const Nn=hn(ot[1]);return Nn||(Ln(Sn.replace("{}",ot[1])),Ln("Falling back to no-highlight mode for this block.",Pt)),Nn?ot[1]:"no-highlight"}return Ut.split(/\s+/).find(Nn=>Fn(Nn)||hn(Nn))}(L);if(Fn(nt))return;ht("before:highlightElement",{el:L,language:nt}),Ue=L;const at=Ue.textContent,it=nt?Dn(at,{language:nt,ignoreIllegals:!0}):jn(at);ht("after:highlightElement",{el:L,result:it,text:at}),L.innerHTML=it.value,function(Pt,Ut,ot){const Nn=Ut?Kt[Ut]:ot;Pt.classList.add("hljs"),Nn&&Pt.classList.add(Nn)}(L,nt,it.language),L.result={language:it.language,re:it.relevance,relavance:it.relevance},it.second_best&&(L.second_best={language:it.second_best.language,re:it.second_best.relevance,relavance:it.second_best.relevance})}const yn=()=>{yn.called||(yn.called=!0,Rn("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."),document.querySelectorAll("pre code").forEach(Tt))};let et=!1;function jt(){"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(Tt):et=!0}function hn(L){return L=(L||"").toLowerCase(),Cn[L]||Cn[Kt[L]]}function Qn(L,{languageName:Ue}){"string"==typeof L&&(L=[L]),L.forEach(nt=>{Kt[nt.toLowerCase()]=Ue})}function Ir(L){const Ue=hn(L);return Ue&&!Ue.disableAutodetect}function ht(L,Ue){const nt=L;dn.forEach(function(at){at[nt]&&at[nt](Ue)})}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",function(){et&&jt()},!1),Object.assign(Yn,{highlight:Dn,highlightAuto:jn,highlightAll:jt,fixMarkup:function(L){return Rn("10.2.0","fixMarkup will be removed entirely in v11.0"),Rn("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),Ue=L,En.tabReplace||En.useBR?Ue.replace(qn,nt=>"\n"===nt?En.useBR?"<br>":nt:En.tabReplace?nt.replace(/\t/g,En.tabReplace):nt):Ue;var Ue},highlightElement:Tt,highlightBlock:function(L){return Rn("10.7.0","highlightBlock will be removed entirely in v12.0"),Rn("10.7.0","Please use highlightElement now."),Tt(L)},configure:function(L){L.useBR&&(Rn("10.3.0","'useBR' will be removed entirely in v11.0"),Rn("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),En=Mn(En,L)},initHighlighting:yn,initHighlightingOnLoad:function(){Rn("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),et=!0},registerLanguage:function(L,Ue){let nt=null;try{nt=Ue(Yn)}catch(at){if(ar("Language definition for '{}' could not be registered.".replace("{}",L)),!Kn)throw at;ar(at),nt=$n}nt.name||(nt.name=L),Cn[L]=nt,nt.rawDefinition=Ue.bind(null,Yn),nt.aliases&&Qn(nt.aliases,{languageName:L})},unregisterLanguage:function(L){delete Cn[L];for(const Ue of Object.keys(Kt))Kt[Ue]===L&&delete Kt[Ue]},listLanguages:function(){return Object.keys(Cn)},getLanguage:hn,registerAliases:Qn,requireLanguage:function(L){Rn("10.4.0","requireLanguage will be removed entirely in v11."),Rn("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const Ue=hn(L);if(Ue)return Ue;throw new Error("The '{}' language is required, but not loaded.".replace("{}",L))},autoDetection:Ir,inherit:Mn,addPlugin:function(L){var Ue;(Ue=L)["before:highlightBlock"]&&!Ue["before:highlightElement"]&&(Ue["before:highlightElement"]=nt=>{Ue["before:highlightBlock"](Object.assign({block:nt.el},nt))}),Ue["after:highlightBlock"]&&!Ue["after:highlightElement"]&&(Ue["after:highlightElement"]=nt=>{Ue["after:highlightBlock"](Object.assign({block:nt.el},nt))}),dn.push(L)},vuePlugin:Ie(Yn).VuePlugin}),Yn.debugMode=function(){Kn=!1},Yn.safeMode=function(){Kn=!0},Yn.versionString="10.7.3";for(const L in $e)"object"==typeof $e[L]&&e($e[L]);return Object.assign(Yn,$e),Yn.addPlugin(Xt),Yn.addPlugin(dt),Yn.addPlugin(mt),Yn}({});g.exports=tr},function(g,o,t){"use strict";var e=t(913),s=a(Error);function a(l){return u.displayName=l.displayName||l.name,u;function u(h){return h&&(h=e.apply(null,arguments)),new l(h)}}g.exports=s,s.eval=a(EvalError),s.range=a(RangeError),s.reference=a(ReferenceError),s.syntax=a(SyntaxError),s.type=a(TypeError),s.uri=a(URIError),s.create=a},function(g,o,t){!function(){var e;function s(a){for(var l,u,h,_,m=1,b=[].slice.call(arguments),T=0,D=a.length,R="",j=!1,H=!1,z=function(){return b[m++]},U=function(){for(var M="";/\d/.test(a[T]);)M+=a[T++],l=a[T];return M.length>0?parseInt(M):null};T<D;++T)if(l=a[T],j)switch(j=!1,"."==l?(H=!1,l=a[++T]):"0"==l&&"."==a[T+1]?(H=!0,l=a[T+=2]):H=!0,_=U(),l){case"b":R+=parseInt(z(),10).toString(2);break;case"c":R+="string"==typeof(u=z())||u instanceof String?u:String.fromCharCode(parseInt(u,10));break;case"d":R+=parseInt(z(),10);break;case"f":h=String(parseFloat(z()).toFixed(_||6)),R+=H?h:h.replace(/^0/,"");break;case"j":R+=JSON.stringify(z());break;case"o":R+="0"+parseInt(z(),10).toString(8);break;case"s":R+=z();break;case"x":R+="0x"+parseInt(z(),10).toString(16);break;case"X":R+="0x"+parseInt(z(),10).toString(16).toUpperCase();break;default:R+=l}else"%"===l?j=!0:R+=l;return R}(e=g.exports=s).format=s,e.vsprintf=function(a,l){return s.apply(null,[a].concat(l))},"undefined"!=typeof console&&"function"==typeof console.log&&(e.printf=function(){console.log(s.apply(null,arguments))})}()},function(g,o){g.exports=function(t,e){if(null==t)return{};var s,a,l={},u=Object.keys(t);for(a=0;a<u.length;a++)e.indexOf(s=u[a])>=0||(l[s]=t[s]);return l},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(441);g.exports=function(s){if(Array.isArray(s))return e(s)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(441);g.exports=function(s,a){if(s){if("string"==typeof s)return e(s,a);var l=Object.prototype.toString.call(s).slice(8,-1);return"Object"===l&&s.constructor&&(l=s.constructor.name),"Map"===l||"Set"===l?Array.from(s):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?e(s,a):void 0}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(921);g.exports=e},function(g,o,t){t(922);var e=t(34);g.exports=e.Object.entries},function(g,o,t){var e=t(22),s=t(435).entries;e({target:"Object",stat:!0},{entries:function(a){return s(a)}})},function(g,o,t){"use strict";var e=t(924),s=t(443),a=t(252),l=Object.prototype.hasOwnProperty,u={brackets:function(j){return j+"[]"},comma:"comma",indices:function(j,H){return j+"["+H+"]"},repeat:function(j){return j}},h=Array.isArray,_=Array.prototype.push,m=function(j,H){_.apply(j,h(H)?H:[H])},b=Date.prototype.toISOString,T=a.default,D={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:s.encode,encodeValuesOnly:!1,format:T,formatter:a.formatters[T],indices:!1,serializeDate:function(j){return b.call(j)},skipNulls:!1,strictNullHandling:!1},R=function j(H,z,U,M,I,J,B,ie,oe,fe,ne,he,ce,Ae,Se){var Oe,be=H;if(Se.has(H))throw new RangeError("Cyclic object value");if("function"==typeof B?be=B(z,be):be instanceof Date?be=fe(be):"comma"===U&&h(be)&&(be=s.maybeMap(be,function(St){return St instanceof Date?fe(St):St})),null===be){if(M)return J&&!ce?J(z,D.encoder,Ae,"key",ne):z;be=""}if("string"==typeof(Oe=be)||"number"==typeof Oe||"boolean"==typeof Oe||"symbol"==typeof Oe||"bigint"==typeof Oe||s.isBuffer(be))return J?[he(ce?z:J(z,D.encoder,Ae,"key",ne))+"="+he(J(be,D.encoder,Ae,"value",ne))]:[he(z)+"="+he(String(be))];var ue,He=[];if(void 0===be)return He;if("comma"===U&&h(be))ue=[{value:be.length>0?be.join(",")||null:void 0}];else if(h(B))ue=B;else{var $e=Object.keys(be);ue=ie?$e.sort(ie):$e}for(var F=0;F<ue.length;++F){var je=ue[F],Et="object"==typeof je&&void 0!==je.value?je.value:be[je];if(!I||null!==Et){var lt=h(be)?"function"==typeof U?U(z,je):z:z+(oe?"."+je:"["+je+"]");Se.set(H,!0);var nn=e();m(He,j(Et,lt,U,M,I,J,B,ie,oe,fe,ne,he,ce,Ae,nn))}}return He};g.exports=function(j,H){var z,U=j,M=function(ce){if(!ce)return D;if(null!=ce.encoder&&"function"!=typeof ce.encoder)throw new TypeError("Encoder has to be a function.");var Ae=ce.charset||D.charset;if(void 0!==ce.charset&&"utf-8"!==ce.charset&&"iso-8859-1"!==ce.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var Se=a.default;if(void 0!==ce.format){if(!l.call(a.formatters,ce.format))throw new TypeError("Unknown format option provided.");Se=ce.format}var Oe=a.formatters[Se],be=D.filter;return("function"==typeof ce.filter||h(ce.filter))&&(be=ce.filter),{addQueryPrefix:"boolean"==typeof ce.addQueryPrefix?ce.addQueryPrefix:D.addQueryPrefix,allowDots:void 0===ce.allowDots?D.allowDots:!!ce.allowDots,charset:Ae,charsetSentinel:"boolean"==typeof ce.charsetSentinel?ce.charsetSentinel:D.charsetSentinel,delimiter:void 0===ce.delimiter?D.delimiter:ce.delimiter,encode:"boolean"==typeof ce.encode?ce.encode:D.encode,encoder:"function"==typeof ce.encoder?ce.encoder:D.encoder,encodeValuesOnly:"boolean"==typeof ce.encodeValuesOnly?ce.encodeValuesOnly:D.encodeValuesOnly,filter:be,format:Se,formatter:Oe,serializeDate:"function"==typeof ce.serializeDate?ce.serializeDate:D.serializeDate,skipNulls:"boolean"==typeof ce.skipNulls?ce.skipNulls:D.skipNulls,sort:"function"==typeof ce.sort?ce.sort:null,strictNullHandling:"boolean"==typeof ce.strictNullHandling?ce.strictNullHandling:D.strictNullHandling}}(H);"function"==typeof M.filter?U=(0,M.filter)("",U):h(M.filter)&&(z=M.filter);var J=[];if("object"!=typeof U||null===U)return"";var B=u[H&&H.arrayFormat in u?H.arrayFormat:H&&"indices"in H?H.indices?"indices":"repeat":"indices"];z||(z=Object.keys(U)),M.sort&&z.sort(M.sort);for(var ie=e(),oe=0;oe<z.length;++oe){var fe=z[oe];M.skipNulls&&null===U[fe]||m(J,R(U[fe],fe,B,M.strictNullHandling,M.skipNulls,M.encode?M.encoder:null,M.filter,M.sort,M.allowDots,M.serializeDate,M.format,M.formatter,M.encodeValuesOnly,M.charset,ie))}var ne=J.join(M.delimiter),he=!0===M.addQueryPrefix?"?":"";return M.charsetSentinel&&(he+="iso-8859-1"===M.charset?"utf8=%26%2310003%3B&":"utf8=%E2%9C%93&"),ne.length>0?he+ne:""}},function(g,o,t){"use strict";var e=t(250),s=t(929),a=t(931),l=e("%TypeError%"),u=e("%WeakMap%",!0),h=e("%Map%",!0),_=s("WeakMap.prototype.get",!0),m=s("WeakMap.prototype.set",!0),b=s("WeakMap.prototype.has",!0),T=s("Map.prototype.get",!0),D=s("Map.prototype.set",!0),R=s("Map.prototype.has",!0),j=function(H,z){for(var U,M=H;null!==(U=M.next);M=U)if(U.key===z)return M.next=U.next,U.next=H.next,H.next=U,U};g.exports=function(){var H,z,U,M={assert:function(I){if(!M.has(I))throw new l("Side channel does not contain "+a(I))},get:function(I){if(u&&I&&("object"==typeof I||"function"==typeof I)){if(H)return _(H,I)}else if(h){if(z)return T(z,I)}else if(U)return(ie=j(U,I))&&ie.value;var ie},has:function(I){if(u&&I&&("object"==typeof I||"function"==typeof I)){if(H)return b(H,I)}else if(h){if(z)return R(z,I)}else if(U)return!!j(U,I);return!1},set:function(I,J){var B,ie,oe,fe;u&&I&&("object"==typeof I||"function"==typeof I)?(H||(H=new u),m(H,I,J)):h?(z||(z=new h),D(z,I,J)):(U||(U={key:{},next:null}),oe=J,(fe=j(B=U,ie=I))?fe.value=oe:B.next={key:ie,next:B.next,value:oe})}};return M}},function(g,o,t){"use strict";var e="undefined"!=typeof Symbol&&Symbol,s=t(926);g.exports=function(){return"function"==typeof e&&"function"==typeof Symbol&&"symbol"==typeof e("foo")&&"symbol"==typeof Symbol("bar")&&s()}},function(g,o,t){"use strict";g.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},s=Symbol("test"),a=Object(s);if("string"==typeof s||"[object Symbol]"!==Object.prototype.toString.call(s)||"[object Symbol]"!==Object.prototype.toString.call(a))return!1;for(s in e[s]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var l=Object.getOwnPropertySymbols(e);if(1!==l.length||l[0]!==s||!Object.prototype.propertyIsEnumerable.call(e,s))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var u=Object.getOwnPropertyDescriptor(e,s);if(42!==u.value||!0!==u.enumerable)return!1}return!0}},function(g,o,t){"use strict";var e="Function.prototype.bind called on incompatible ",s=Array.prototype.slice,a=Object.prototype.toString,l="[object Function]";g.exports=function(u){var h=this;if("function"!=typeof h||a.call(h)!==l)throw new TypeError(e+h);for(var _,m=s.call(arguments,1),b=function(){if(this instanceof _){var H=h.apply(this,m.concat(s.call(arguments)));return Object(H)===H?H:this}return h.apply(u,m.concat(s.call(arguments)))},T=Math.max(0,h.length-m.length),D=[],R=0;R<T;R++)D.push("$"+R);if(_=Function("binder","return function ("+D.join(",")+"){ return binder.apply(this,arguments); }")(b),h.prototype){var j=function(){};j.prototype=h.prototype,_.prototype=new j,j.prototype=null}return _}},function(g,o,t){"use strict";var e=t(251);g.exports=e.call(Function.call,Object.prototype.hasOwnProperty)},function(g,o,t){"use strict";var e=t(250),s=t(930),a=s(e("String.prototype.indexOf"));g.exports=function(l,u){var h=e(l,!!u);return"function"==typeof h&&a(l,".prototype.")>-1?s(h):h}},function(g,o,t){"use strict";var e=t(251),s=t(250),a=s("%Function.prototype.apply%"),l=s("%Function.prototype.call%"),u=s("%Reflect.apply%",!0)||e.call(l,a),h=s("%Object.getOwnPropertyDescriptor%",!0),_=s("%Object.defineProperty%",!0),m=s("%Math.max%");if(_)try{_({},"a",{value:1})}catch(T){_=null}g.exports=function(T){var D=u(e,l,arguments);if(h&&_){var R=h(D,"length");R.configurable&&_(D,"length",{value:1+m(0,T.length-(arguments.length-1))})}return D};var b=function(){return u(e,a,arguments)};_?_(g.exports,"apply",{value:b}):g.exports.apply=b},function(g,o,t){var e="function"==typeof Map&&Map.prototype,s=Object.getOwnPropertyDescriptor&&e?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,a=e&&s&&"function"==typeof s.get?s.get:null,l=e&&Map.prototype.forEach,u="function"==typeof Set&&Set.prototype,h=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,_=u&&h&&"function"==typeof h.get?h.get:null,m=u&&Set.prototype.forEach,b="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,T="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,D="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,R=Boolean.prototype.valueOf,j=Object.prototype.toString,H=Function.prototype.toString,z=String.prototype.match,U="function"==typeof BigInt?BigInt.prototype.valueOf:null,M=Object.getOwnPropertySymbols,I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,J="function"==typeof Symbol&&"object"==typeof Symbol.iterator,B=Object.prototype.propertyIsEnumerable,ie=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(Ot){return Ot.__proto__}:null),oe=t(932).custom,fe=oe&&Se(oe)?oe:null,ne="function"==typeof Symbol&&void 0!==Symbol.toStringTag?Symbol.toStringTag:null;function he(Ot,Qe,It){var ae="double"===(It.quoteStyle||Qe)?'"':"'";return ae+Ot+ae}function ce(Ot){return String(Ot).replace(/"/g,""")}function Ae(Ot){return!("[object Array]"!==ue(Ot)||ne&&"object"==typeof Ot&&ne in Ot)}function Se(Ot){if(J)return Ot&&"object"==typeof Ot&&Ot instanceof Symbol;if("symbol"==typeof Ot)return!0;if(!Ot||"object"!=typeof Ot||!I)return!1;try{return I.call(Ot),!0}catch(Qe){}return!1}g.exports=function Ot(Qe,It,ae,Ie){var dt=It||{};if(be(dt,"quoteStyle")&&"single"!==dt.quoteStyle&&"double"!==dt.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(be(dt,"maxStringLength")&&("number"==typeof dt.maxStringLength?dt.maxStringLength<0&&dt.maxStringLength!==1/0:null!==dt.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Jt=!be(dt,"customInspect")||dt.customInspect;if("boolean"!=typeof Jt&&"symbol"!==Jt)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(be(dt,"indent")&&null!==dt.indent&&"\t"!==dt.indent&&!(parseInt(dt.indent,10)===dt.indent&&dt.indent>0))throw new TypeError('options "indent" must be "\\t", an integer > 0, or `null`');if(void 0===Qe)return"undefined";if(null===Qe)return"null";if("boolean"==typeof Qe)return Qe?"true":"false";if("string"==typeof Qe)return $e(Qe,dt);if("number"==typeof Qe)return 0===Qe?1/0/Qe>0?"0":"-0":String(Qe);if("bigint"==typeof Qe)return String(Qe)+"n";var zt=void 0===dt.depth?5:dt.depth;if(void 0===ae&&(ae=0),ae>=zt&&zt>0&&"object"==typeof Qe)return Ae(Qe)?"[Array]":"[Object]";var Fn,ln=function(Fn,Dn){var mn;if("\t"===Fn.indent)mn="\t";else{if(!("number"==typeof Fn.indent&&Fn.indent>0))return null;mn=Array(Fn.indent+1).join(" ")}return{base:mn,prev:Array(Dn+1).join(mn)}}(dt,ae);if(void 0===Ie)Ie=[];else if(He(Ie,Qe)>=0)return"[Circular]";function ar(Fn,Dn,mn){if(Dn&&(Ie=Ie.slice()).push(Dn),mn){var jn={depth:dt.depth};return be(dt,"quoteStyle")&&(jn.quoteStyle=dt.quoteStyle),Ot(Fn,jn,ae+1,Ie)}return Ot(Fn,dt,ae+1,Ie)}if("function"==typeof Qe){var Ln=function(Fn){if(Fn.name)return Fn.name;var Dn=z.call(H.call(Fn),/^function\s*([\w$]+)/);return Dn?Dn[1]:null}(Qe),Rn=St(Qe,ar);return"[Function"+(Ln?": "+Ln:" (anonymous)")+"]"+(Rn.length>0?" { "+Rn.join(", ")+" }":"")}if(Se(Qe)){var er=J?String(Qe).replace(/^(Symbol\(.*\))_[^)]*$/,"$1"):I.call(Qe);return"object"!=typeof Qe||J?er:je(er)}if((Fn=Qe)&&"object"==typeof Fn&&("undefined"!=typeof HTMLElement&&Fn instanceof HTMLElement||"string"==typeof Fn.nodeName&&"function"==typeof Fn.getAttribute)){for(var Mn="<"+String(Qe.nodeName).toLowerCase(),Ht=Qe.attributes||[],tr=0;tr<Ht.length;tr++)Mn+=" "+Ht[tr].name+"="+he(ce(Ht[tr].value),"double",dt);return Mn+=">",Qe.childNodes&&Qe.childNodes.length&&(Mn+="..."),Mn+"</"+String(Qe.nodeName).toLowerCase()+">"}if(Ae(Qe)){if(0===Qe.length)return"[]";var Yn=St(Qe,ar);return ln&&!function(Fn){for(var Dn=0;Dn<Fn.length;Dn++)if(He(Fn[Dn],"\n")>=0)return!1;return!0}(Yn)?"["+nn(Yn,ln)+"]":"[ "+Yn.join(", ")+" ]"}if(function(Fn){return!("[object Error]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe)){var Cn=St(Qe,ar);return 0===Cn.length?"["+String(Qe)+"]":"{ ["+String(Qe)+"] "+Cn.join(", ")+" }"}if("object"==typeof Qe&&Jt){if(fe&&"function"==typeof Qe[fe])return Qe[fe]();if("symbol"!==Jt&&"function"==typeof Qe.inspect)return Qe.inspect()}if(function(Fn){if(!a||!Fn||"object"!=typeof Fn)return!1;try{a.call(Fn);try{_.call(Fn)}catch(Dn){return!0}return Fn instanceof Map}catch(Dn){}return!1}(Qe)){var Kt=[];return l.call(Qe,function(Fn,Dn){Kt.push(ar(Dn,Qe,!0)+" => "+ar(Fn,Qe))}),lt("Map",a.call(Qe),Kt,ln)}if(function(Fn){if(!_||!Fn||"object"!=typeof Fn)return!1;try{_.call(Fn);try{a.call(Fn)}catch(Dn){return!0}return Fn instanceof Set}catch(Dn){}return!1}(Qe)){var dn=[];return m.call(Qe,function(Fn){dn.push(ar(Fn,Qe))}),lt("Set",_.call(Qe),dn,ln)}if(function(Fn){if(!b||!Fn||"object"!=typeof Fn)return!1;try{b.call(Fn,b);try{T.call(Fn,T)}catch(Dn){return!0}return Fn instanceof WeakMap}catch(Dn){}return!1}(Qe))return Et("WeakMap");if(function(Fn){if(!T||!Fn||"object"!=typeof Fn)return!1;try{T.call(Fn,T);try{b.call(Fn,b)}catch(Dn){return!0}return Fn instanceof WeakSet}catch(Dn){}return!1}(Qe))return Et("WeakSet");if(function(Fn){if(!D||!Fn||"object"!=typeof Fn)return!1;try{return D.call(Fn),!0}catch(Dn){}return!1}(Qe))return Et("WeakRef");if(function(Fn){return!("[object Number]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe))return je(ar(Number(Qe)));if(function(Fn){if(!Fn||"object"!=typeof Fn||!U)return!1;try{return U.call(Fn),!0}catch(Dn){}return!1}(Qe))return je(ar(U.call(Qe)));if(function(Fn){return!("[object Boolean]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe))return je(R.call(Qe));if(function(Fn){return!("[object String]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe))return je(ar(String(Qe)));if(!function(Fn){return!("[object Date]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe)&&!function(Fn){return!("[object RegExp]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe)){var Kn=St(Qe,ar),qn=ie?ie(Qe)===Object.prototype:Qe instanceof Object||Qe.constructor===Object,Sn=Qe instanceof Object?"":"null prototype",$n=!qn&&ne&&Object(Qe)===Qe&&ne in Qe?ue(Qe).slice(8,-1):Sn?"Object":"",En=(qn||"function"!=typeof Qe.constructor?"":Qe.constructor.name?Qe.constructor.name+" ":"")+($n||Sn?"["+[].concat($n||[],Sn||[]).join(": ")+"] ":"");return 0===Kn.length?En+"{}":ln?En+"{"+nn(Kn,ln)+"}":En+"{ "+Kn.join(", ")+" }"}return String(Qe)};var Oe=Object.prototype.hasOwnProperty||function(Ot){return Ot in this};function be(Ot,Qe){return Oe.call(Ot,Qe)}function ue(Ot){return j.call(Ot)}function He(Ot,Qe){if(Ot.indexOf)return Ot.indexOf(Qe);for(var It=0,ae=Ot.length;It<ae;It++)if(Ot[It]===Qe)return It;return-1}function $e(Ot,Qe){if(Ot.length>Qe.maxStringLength){var It=Ot.length-Qe.maxStringLength,ae="... "+It+" more character"+(It>1?"s":"");return $e(Ot.slice(0,Qe.maxStringLength),Qe)+ae}return he(Ot.replace(/(['\\])/g,"\\$1").replace(/[\x00-\x1f]/g,F),"single",Qe)}function F(Ot){var Qe=Ot.charCodeAt(0),It={8:"b",9:"t",10:"n",12:"f",13:"r"}[Qe];return It?"\\"+It:"\\x"+(Qe<16?"0":"")+Qe.toString(16).toUpperCase()}function je(Ot){return"Object("+Ot+")"}function Et(Ot){return Ot+" { ? }"}function lt(Ot,Qe,It,ae){return Ot+" ("+Qe+") {"+(ae?nn(It,ae):It.join(", "))+"}"}function nn(Ot,Qe){if(0===Ot.length)return"";var It="\n"+Qe.prev+Qe.base;return It+Ot.join(","+It)+"\n"+Qe.prev}function St(Ot,Qe){var It=Ae(Ot),ae=[];if(It){ae.length=Ot.length;for(var Ie=0;Ie<Ot.length;Ie++)ae[Ie]=be(Ot,Ie)?Qe(Ot[Ie],Ot):""}var dt,Jt="function"==typeof M?M(Ot):[];if(J){dt={};for(var zt=0;zt<Jt.length;zt++)dt["$"+Jt[zt]]=Jt[zt]}for(var ln in Ot)be(Ot,ln)&&(It&&String(Number(ln))===ln&&ln<Ot.length||J&&dt["$"+ln]instanceof Symbol||(/[^\w$]/.test(ln)?ae.push(Qe(ln,Ot)+": "+Qe(Ot[ln],Ot)):ae.push(ln+": "+Qe(Ot[ln],Ot))));if("function"==typeof M)for(var ar=0;ar<Jt.length;ar++)B.call(Ot,Jt[ar])&&ae.push("["+Qe(Jt[ar])+"]: "+Qe(Ot[Jt[ar]],Ot));return ae}},function(g,o){},function(g,o,t){"use strict";var e=t(443),s=Object.prototype.hasOwnProperty,a=Array.isArray,l={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:e.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},u=function(m){return m.replace(/&#(\d+);/g,function(b,T){return String.fromCharCode(parseInt(T,10))})},h=function(m,b){return m&&"string"==typeof m&&b.comma&&m.indexOf(",")>-1?m.split(","):m},_=function(m,b,T,D){if(m){var R=T.allowDots?m.replace(/\.([^.[]+)/g,"[$1]"):m,j=/(\[[^[\]]*])/g,H=T.depth>0&&/(\[[^[\]]*])/.exec(R),z=H?R.slice(0,H.index):R,U=[];if(z){if(!T.plainObjects&&s.call(Object.prototype,z)&&!T.allowPrototypes)return;U.push(z)}for(var M=0;T.depth>0&&null!==(H=j.exec(R))&&M<T.depth;){if(M+=1,!T.plainObjects&&s.call(Object.prototype,H[1].slice(1,-1))&&!T.allowPrototypes)return;U.push(H[1])}return H&&U.push("["+R.slice(H.index)+"]"),function(I,J,B,ie){for(var oe=ie?J:h(J,B),fe=I.length-1;fe>=0;--fe){var ne,he=I[fe];if("[]"===he&&B.parseArrays)ne=[].concat(oe);else{ne=B.plainObjects?Object.create(null):{};var ce="["===he.charAt(0)&&"]"===he.charAt(he.length-1)?he.slice(1,-1):he,Ae=parseInt(ce,10);B.parseArrays||""!==ce?!isNaN(Ae)&&he!==ce&&String(Ae)===ce&&Ae>=0&&B.parseArrays&&Ae<=B.arrayLimit?(ne=[])[Ae]=oe:ne[ce]=oe:ne={0:oe}}oe=ne}return oe}(U,b,T,D)}};g.exports=function(m,b){var T=function(M){if(!M)return l;if(null!=M.decoder&&"function"!=typeof M.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==M.charset&&"utf-8"!==M.charset&&"iso-8859-1"!==M.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");return{allowDots:void 0===M.allowDots?l.allowDots:!!M.allowDots,allowPrototypes:"boolean"==typeof M.allowPrototypes?M.allowPrototypes:l.allowPrototypes,allowSparse:"boolean"==typeof M.allowSparse?M.allowSparse:l.allowSparse,arrayLimit:"number"==typeof M.arrayLimit?M.arrayLimit:l.arrayLimit,charset:void 0===M.charset?l.charset:M.charset,charsetSentinel:"boolean"==typeof M.charsetSentinel?M.charsetSentinel:l.charsetSentinel,comma:"boolean"==typeof M.comma?M.comma:l.comma,decoder:"function"==typeof M.decoder?M.decoder:l.decoder,delimiter:"string"==typeof M.delimiter||e.isRegExp(M.delimiter)?M.delimiter:l.delimiter,depth:"number"==typeof M.depth||!1===M.depth?+M.depth:l.depth,ignoreQueryPrefix:!0===M.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof M.interpretNumericEntities?M.interpretNumericEntities:l.interpretNumericEntities,parameterLimit:"number"==typeof M.parameterLimit?M.parameterLimit:l.parameterLimit,parseArrays:!1!==M.parseArrays,plainObjects:"boolean"==typeof M.plainObjects?M.plainObjects:l.plainObjects,strictNullHandling:"boolean"==typeof M.strictNullHandling?M.strictNullHandling:l.strictNullHandling}}(b);if(""===m||null==m)return T.plainObjects?Object.create(null):{};for(var D="string"==typeof m?function(M,I){var J,B={},fe=(I.ignoreQueryPrefix?M.replace(/^\?/,""):M).split(I.delimiter,I.parameterLimit===1/0?void 0:I.parameterLimit),ne=-1,he=I.charset;if(I.charsetSentinel)for(J=0;J<fe.length;++J)0===fe[J].indexOf("utf8=")&&("utf8=%E2%9C%93"===fe[J]?he="utf-8":"utf8=%26%2310003%3B"===fe[J]&&(he="iso-8859-1"),ne=J,J=fe.length);for(J=0;J<fe.length;++J)if(J!==ne){var ce,Ae,Se=fe[J],Oe=Se.indexOf("]="),be=-1===Oe?Se.indexOf("="):Oe+1;-1===be?(ce=I.decoder(Se,l.decoder,he,"key"),Ae=I.strictNullHandling?null:""):(ce=I.decoder(Se.slice(0,be),l.decoder,he,"key"),Ae=e.maybeMap(h(Se.slice(be+1),I),function(ue){return I.decoder(ue,l.decoder,he,"value")})),Ae&&I.interpretNumericEntities&&"iso-8859-1"===he&&(Ae=u(Ae)),Se.indexOf("[]=")>-1&&(Ae=a(Ae)?[Ae]:Ae),B[ce]=s.call(B,ce)?e.combine(B[ce],Ae):Ae}return B}(m,T):m,R=T.plainObjects?Object.create(null):{},j=Object.keys(D),H=0;H<j.length;++H){var z=j[H],U=_(z,D[z],T,"string"==typeof m);R=e.merge(R,U,T)}return!0===T.allowSparse?R:e.compact(R)}},function(g,o,t){var e=t(935);g.exports=e},function(g,o,t){var e=t(35),s=t(936),a=Array.prototype;g.exports=function(l){var u=l.splice;return l===a||e(a,l)&&u===a.splice?s:u}},function(g,o,t){t(937);var e=t(42);g.exports=e("Array").splice},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(220),l=t(129),u=t(74),h=t(62),_=t(215),m=t(147),b=t(148)("splice"),T=s.TypeError,D=Math.max,R=Math.min,j=9007199254740991,H="Maximum allowed length exceeded";e({target:"Array",proto:!0,forced:!b},{splice:function(z,U){var M,I,J,B,ie,oe,fe=h(this),ne=u(fe),he=a(z,ne),ce=arguments.length;if(0===ce?M=I=0:1===ce?(M=0,I=ne-he):(M=ce-2,I=R(D(l(U),0),ne-he)),ne+M-I>j)throw T(H);for(J=_(fe,I),B=0;B<I;B++)(ie=he+B)in fe&&m(J,B,fe[ie]);if(J.length=I,M<I){for(B=he;B<ne-I;B++)oe=B+M,(ie=B+I)in fe?fe[oe]=fe[ie]:delete fe[oe];for(B=ne;B>ne-I+M;B--)delete fe[B-1]}else if(M>I)for(B=ne-I;B>he;B--)oe=B+M-1,(ie=B+I-1)in fe?fe[oe]=fe[ie]:delete fe[oe];for(B=0;B<M;B++)fe[B+he]=arguments[B+2];return fe.length=ne-I+M,J}})},function(g,o,t){var e=t(939);t(68),g.exports=e},function(g,o,t){t(77),t(97),t(940);var e=t(34);g.exports=e.WeakMap},function(g,o,t){"use strict";var e,s=t(17),a=t(27),l=t(158),u=t(194),h=t(445),_=t(943),m=t(43),b=t(444),T=t(76).enforce,D=t(337),R=!s.ActiveXObject&&"ActiveXObject"in s,j=function(B){return function(){return B(this,arguments.length?arguments[0]:void 0)}},H=h("WeakMap",j,_);if(D&&R){e=_.getConstructor(j,"WeakMap",!0),u.enable();var z=H.prototype,U=a(z.delete),M=a(z.has),I=a(z.get),J=a(z.set);l(z,{delete:function(B){if(m(B)&&!b(B)){var ie=T(this);return ie.frozen||(ie.frozen=new e),U(this,B)||ie.frozen.delete(B)}return U(this,B)},has:function(B){if(m(B)&&!b(B)){var ie=T(this);return ie.frozen||(ie.frozen=new e),M(this,B)||ie.frozen.has(B)}return M(this,B)},get:function(B){if(m(B)&&!b(B)){var ie=T(this);return ie.frozen||(ie.frozen=new e),M(this,B)?I(this,B):ie.frozen.get(B)}return I(this,B)},set:function(B,ie){if(m(B)&&!b(B)){var oe=T(this);oe.frozen||(oe.frozen=new e),M(this,B)?J(this,B,ie):oe.frozen.set(B,ie)}else J(this,B,ie);return this}})}},function(g,o,t){var e=t(33);g.exports=e(function(){if("function"==typeof ArrayBuffer){var s=new ArrayBuffer(8);Object.isExtensible(s)&&Object.defineProperty(s,"a",{value:8})}})},function(g,o,t){var e=t(33);g.exports=!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},function(g,o,t){"use strict";var e=t(27),s=t(158),a=t(194).getWeakData,l=t(51),u=t(43),h=t(139),_=t(124),m=t(87),b=t(44),T=t(76),D=T.set,R=T.getterFor,j=m.find,H=m.findIndex,z=e([].splice),U=0,M=function(B){return B.frozen||(B.frozen=new I)},I=function(){this.entries=[]},J=function(B,ie){return j(B.entries,function(oe){return oe[0]===ie})};I.prototype={get:function(B){var ie=J(this,B);if(ie)return ie[1]},has:function(B){return!!J(this,B)},set:function(B,ie){var oe=J(this,B);oe?oe[1]=ie:this.entries.push([B,ie])},delete:function(B){var ie=H(this.entries,function(oe){return oe[0]===B});return~ie&&z(this.entries,ie,1),!!~ie}},g.exports={getConstructor:function(B,ie,oe,fe){var ne=B(function(Se,Oe){h(Se,he),D(Se,{type:ie,id:U++,frozen:void 0}),null!=Oe&&_(Oe,Se[fe],{that:Se,AS_ENTRIES:oe})}),he=ne.prototype,ce=R(ie),Ae=function(Se,Oe,be){var ue=ce(Se),He=a(l(Oe),!0);return!0===He?M(ue).set(Oe,be):He[ue.id]=be,Se};return s(he,{delete:function(Se){var Oe=ce(this);if(!u(Se))return!1;var be=a(Se);return!0===be?M(Oe).delete(Se):be&&b(be,Oe.id)&&delete be[Oe.id]},has:function(Se){var Oe=ce(this);if(!u(Se))return!1;var be=a(Se);return!0===be?M(Oe).has(Se):be&&b(be,Oe.id)}}),s(he,oe?{get:function(Se){var Oe=ce(this);if(u(Se)){var be=a(Se);return!0===be?M(Oe).get(Se):be?be[Oe.id]:void 0}},set:function(Se,Oe){return Ae(this,Se,Oe)}}:{add:function(Se){return Ae(this,Se,!0)}}),ne}}},function(g,o,t){var e=t(945);t(68),g.exports=e},function(g,o,t){t(253);var e=t(34);g.exports=e.URLSearchParams},function(g,o,t){(function(e,s){var a;!function(l){var h,_=2147483647,m=36,b=/^xn--/,T=/[^\x20-\x7E]/,D=/[\x2E\u3002\uFF0E\uFF61]/g,R={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},j=Math.floor,H=String.fromCharCode;function z(ne){throw new RangeError(R[ne])}function U(ne,he){for(var ce=ne.length,Ae=[];ce--;)Ae[ce]=he(ne[ce]);return Ae}function M(ne,he){var ce=ne.split("@"),Ae="";return ce.length>1&&(Ae=ce[0]+"@",ne=ce[1]),Ae+U((ne=ne.replace(D,".")).split("."),he).join(".")}function I(ne){for(var he,ce,Ae=[],Se=0,Oe=ne.length;Se<Oe;)(he=ne.charCodeAt(Se++))>=55296&&he<=56319&&Se<Oe?56320==(64512&(ce=ne.charCodeAt(Se++)))?Ae.push(((1023&he)<<10)+(1023&ce)+65536):(Ae.push(he),Se--):Ae.push(he);return Ae}function J(ne){return U(ne,function(he){var ce="";return he>65535&&(ce+=H((he-=65536)>>>10&1023|55296),he=56320|1023&he),ce+H(he)}).join("")}function B(ne,he){return ne+22+75*(ne<26)-((0!=he)<<5)}function ie(ne,he,ce){var Ae=0;for(ne=ce?j(ne/700):ne>>1,ne+=j(ne/he);ne>455;Ae+=m)ne=j(ne/35);return j(Ae+36*ne/(ne+38))}function oe(ne){var he,ce,Ae,Se,Oe,be,ue,He,$e,F,je,Et=[],lt=ne.length,nn=0,St=128,Ot=72;for((ce=ne.lastIndexOf("-"))<0&&(ce=0),Ae=0;Ae<ce;++Ae)ne.charCodeAt(Ae)>=128&&z("not-basic"),Et.push(ne.charCodeAt(Ae));for(Se=ce>0?ce+1:0;Se<lt;){for(Oe=nn,be=1,ue=m;Se>=lt&&z("invalid-input"),((He=(je=ne.charCodeAt(Se++))-48<10?je-22:je-65<26?je-65:je-97<26?je-97:m)>=m||He>j((_-nn)/be))&&z("overflow"),nn+=He*be,!(He<($e=ue<=Ot?1:ue>=Ot+26?26:ue-Ot));ue+=m)be>j(_/(F=m-$e))&&z("overflow"),be*=F;Ot=ie(nn-Oe,he=Et.length+1,0==Oe),j(nn/he)>_-St&&z("overflow"),St+=j(nn/he),nn%=he,Et.splice(nn++,0,St)}return J(Et)}function fe(ne){var he,ce,Ae,Se,Oe,be,ue,He,$e,F,je,Et,lt,nn,St,Ot=[];for(Et=(ne=I(ne)).length,he=128,ce=0,Oe=72,be=0;be<Et;++be)(je=ne[be])<128&&Ot.push(H(je));for(Ae=Se=Ot.length,Se&&Ot.push("-");Ae<Et;){for(ue=_,be=0;be<Et;++be)(je=ne[be])>=he&&je<ue&&(ue=je);for(ue-he>j((_-ce)/(lt=Ae+1))&&z("overflow"),ce+=(ue-he)*lt,he=ue,be=0;be<Et;++be)if((je=ne[be])<he&&++ce>_&&z("overflow"),je==he){for(He=ce,$e=m;!(He<(F=$e<=Oe?1:$e>=Oe+26?26:$e-Oe));$e+=m)Ot.push(H(B(F+(St=He-F)%(nn=m-F),0))),He=j(St/nn);Ot.push(H(B(He,0))),Oe=ie(ce,lt,Ae==Se),ce=0,++Ae}++ce,++he}return Ot.join("")}h={version:"1.4.1",ucs2:{decode:I,encode:J},decode:oe,encode:fe,toASCII:function(ne){return M(ne,function(he){return T.test(he)?"xn--"+fe(he):he})},toUnicode:function(ne){return M(ne,function(he){return b.test(he)?oe(he.slice(4).toLowerCase()):he})}},void 0===(a=function(){return h}.call(o,t,o,e))||(e.exports=a)}()}).call(this,t(183)(g),t(57))},function(g,o,t){"use strict";g.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(g,o,t){"use strict";o.decode=o.parse=t(949),o.encode=o.stringify=t(950)},function(g,o,t){"use strict";function e(a,l){return Object.prototype.hasOwnProperty.call(a,l)}g.exports=function(a,l,u,h){u=u||"=";var _={};if("string"!=typeof a||0===a.length)return _;var m=/\+/g;a=a.split(l=l||"&");var b=1e3;h&&"number"==typeof h.maxKeys&&(b=h.maxKeys);var T=a.length;b>0&&T>b&&(T=b);for(var D=0;D<T;++D){var R,j,H,z,U=a[D].replace(m,"%20"),M=U.indexOf(u);M>=0?(R=U.substr(0,M),j=U.substr(M+1)):(R=U,j=""),H=decodeURIComponent(R),z=decodeURIComponent(j),e(_,H)?s(_[H])?_[H].push(z):_[H]=[_[H],z]:_[H]=z}return _};var s=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},function(g,o,t){"use strict";var e=function(u){switch(typeof u){case"string":return u;case"boolean":return u?"true":"false";case"number":return isFinite(u)?u:"";default:return""}};g.exports=function(u,h,_,m){return h=h||"&",_=_||"=",null===u&&(u=void 0),"object"==typeof u?a(l(u),function(b){var T=encodeURIComponent(e(b))+_;return s(u[b])?a(u[b],function(D){return T+encodeURIComponent(e(D))}).join(h):T+encodeURIComponent(e(u[b]))}).join(h):m?encodeURIComponent(e(m))+_+encodeURIComponent(e(u)):""};var s=Array.isArray||function(u){return"[object Array]"===Object.prototype.toString.call(u)};function a(u,h){if(u.map)return u.map(h);for(var _=[],m=0;m<u.length;m++)_.push(h(u[m],m));return _}var l=Object.keys||function(u){var h=[];for(var _ in u)Object.prototype.hasOwnProperty.call(u,_)&&h.push(_);return h}},function(g,o,t){var e=t(952);g.exports=e},function(g,o,t){t(953),t(955),t(253);var e=t(34);g.exports=e.URL},function(g,o,t){"use strict";t(131);var e,s=t(22),a=t(48),l=t(446),u=t(17),h=t(84),_=t(50),m=t(27),b=t(218),T=t(99),D=t(139),R=t(44),j=t(350),H=t(375),z=t(86),U=t(343).codeAt,M=t(954),I=t(67),J=t(100),B=t(253),ie=t(76),oe=ie.set,fe=ie.getterFor("URL"),ne=B.URLSearchParams,he=B.getState,ce=u.URL,Ae=u.TypeError,Se=u.parseInt,Oe=Math.floor,be=Math.pow,ue=m("".charAt),He=m(/./.exec),$e=m([].join),F=m(1..toString),je=m([].pop),Et=m([].push),lt=m("".replace),nn=m([].shift),St=m("".split),Ot=m("".slice),Qe=m("".toLowerCase),It=m([].unshift),ae="Invalid scheme",Ie="Invalid host",dt="Invalid port",Jt=/[a-z]/i,zt=/[\d+-.a-z]/i,ln=/\d/,ar=/^0x/i,Ln=/^[0-7]+$/,Rn=/^\d+$/,er=/^[\da-f]+$/i,Mn=/[\0\t\n\r #%/:<>?@[\\\]^|]/,Ht=/[\0\t\n\r #/:<>?@[\\\]^|]/,tr=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,Yn=/[\t\n\r]/g,Cn=function(rt,yt){var qe,$t,or;if("["==ue(yt,0)){if("]"!=ue(yt,yt.length-1)||!(qe=dn(Ot(yt,1,-1))))return Ie;rt.host=qe}else if(mn(rt)){if(yt=M(yt),He(Mn,yt)||null===(qe=Kt(yt)))return Ie;rt.host=qe}else{if(He(Ht,yt))return Ie;for(qe="",$t=H(yt),or=0;or<$t.length;or++)qe+=Fn($t[or],qn);rt.host=qe}},Kt=function(rt){var yt,qe,$t,or,Vn,Vr,Cr,ai=St(rt,".");if(ai.length&&""==ai[ai.length-1]&&ai.length--,(yt=ai.length)>4)return rt;for(qe=[],$t=0;$t<yt;$t++){if(""==(or=ai[$t]))return rt;if(Vn=10,or.length>1&&"0"==ue(or,0)&&(Vn=He(ar,or)?16:8,or=Ot(or,8==Vn?1:2)),""===or)Vr=0;else{if(!He(10==Vn?Rn:8==Vn?Ln:er,or))return rt;Vr=Se(or,Vn)}Et(qe,Vr)}for($t=0;$t<yt;$t++)if(Vr=qe[$t],$t==yt-1){if(Vr>=be(256,5-yt))return null}else if(Vr>255)return null;for(Cr=je(qe),$t=0;$t<qe.length;$t++)Cr+=qe[$t]*be(256,3-$t);return Cr},dn=function(rt){var yt,qe,$t,or,Vn,Vr,Cr,ai=[0,0,0,0,0,0,0,0],Dr=0,Jr=null,rn=0,fi=function(){return ue(rt,rn)};if(":"==fi()){if(":"!=ue(rt,1))return;rn+=2,Jr=++Dr}for(;fi();){if(8==Dr)return;if(":"!=fi()){for(yt=qe=0;qe<4&&He(er,fi());)yt=16*yt+Se(fi(),16),rn++,qe++;if("."==fi()){if(0==qe||(rn-=qe,Dr>6))return;for($t=0;fi();){if(or=null,$t>0){if(!("."==fi()&&$t<4))return;rn++}if(!He(ln,fi()))return;for(;He(ln,fi());){if(Vn=Se(fi(),10),null===or)or=Vn;else{if(0==or)return;or=10*or+Vn}if(or>255)return;rn++}ai[Dr]=256*ai[Dr]+or,2!=++$t&&4!=$t||Dr++}if(4!=$t)return;break}if(":"==fi()){if(rn++,!fi())return}else if(fi())return;ai[Dr++]=yt}else{if(null!==Jr)return;rn++,Jr=++Dr}}if(null!==Jr)for(Vr=Dr-Jr,Dr=7;0!=Dr&&Vr>0;)Cr=ai[Dr],ai[Dr--]=ai[Jr+Vr-1],ai[Jr+--Vr]=Cr;else if(8!=Dr)return;return ai},Kn=function(rt){var yt,qe,$t,or;if("number"==typeof rt){for(yt=[],qe=0;qe<4;qe++)It(yt,rt%256),rt=Oe(rt/256);return $e(yt,".")}if("object"==typeof rt){for(yt="",$t=function(Vn){for(var Vr=null,Cr=1,ai=null,Dr=0,Jr=0;Jr<8;Jr++)0!==Vn[Jr]?(Dr>Cr&&(Vr=ai,Cr=Dr),ai=null,Dr=0):(null===ai&&(ai=Jr),++Dr);return Dr>Cr&&(Vr=ai,Cr=Dr),Vr}(rt),qe=0;qe<8;qe++)or&&0===rt[qe]||(or&&(or=!1),$t===qe?(yt+=qe?":":"::",or=!0):(yt+=F(rt[qe],16),qe<7&&(yt+=":")));return"["+yt+"]"}return rt},qn={},Sn=j({},qn,{" ":1,'"':1,"<":1,">":1,"`":1}),$n=j({},Sn,{"#":1,"?":1,"{":1,"}":1}),En=j({},$n,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Fn=function(rt,yt){var qe=U(rt,0);return qe>32&&qe<127&&!R(yt,rt)?rt:encodeURIComponent(rt)},Dn={ftp:21,file:null,http:80,https:443,ws:80,wss:443},mn=function(rt){return R(Dn,rt.scheme)},jn=function(rt){return""!=rt.username||""!=rt.password},Xt=function(rt){return!rt.host||rt.cannotBeABaseURL||"file"==rt.scheme},ut=function(rt,yt){var qe;return 2==rt.length&&He(Jt,ue(rt,0))&&(":"==(qe=ue(rt,1))||!yt&&"|"==qe)},mt=function(rt){var yt;return rt.length>1&&ut(Ot(rt,0,2))&&(2==rt.length||"/"===(yt=ue(rt,2))||"\\"===yt||"?"===yt||"#"===yt)},Tt=function(rt){var yt=rt.path,qe=yt.length;!qe||"file"==rt.scheme&&1==qe&&ut(yt[0],!0)||yt.length--},yn=function(rt){return"."===rt||"%2e"===Qe(rt)},et={},jt={},hn={},Qn={},Ir={},ht={},L={},Ue={},nt={},at={},it={},Pt={},Ut={},ot={},Nn={},sn={},An={},Bn={},ir={},mr={},_r={},Nr=function(rt,yt,qe,$t){var or,Vn,Vr,Cr,ai,Dr=qe||et,Jr=0,rn="",fi=!1,Ei=!1,wi=!1;for(qe||(rt.scheme="",rt.username="",rt.password="",rt.host=null,rt.port=null,rt.path=[],rt.query=null,rt.fragment=null,rt.cannotBeABaseURL=!1,yt=lt(yt,tr,"")),yt=lt(yt,Yn,""),or=H(yt);Jr<=or.length;){switch(Vn=or[Jr],Dr){case et:if(!Vn||!He(Jt,Vn)){if(qe)return ae;Dr=hn;continue}rn+=Qe(Vn),Dr=jt;break;case jt:if(Vn&&(He(zt,Vn)||"+"==Vn||"-"==Vn||"."==Vn))rn+=Qe(Vn);else{if(":"!=Vn){if(qe)return ae;rn="",Dr=hn,Jr=0;continue}if(qe&&(mn(rt)!=R(Dn,rn)||"file"==rn&&(jn(rt)||null!==rt.port)||"file"==rt.scheme&&!rt.host))return;if(rt.scheme=rn,qe)return void(mn(rt)&&Dn[rt.scheme]==rt.port&&(rt.port=null));rn="","file"==rt.scheme?Dr=ot:mn(rt)&&$t&&$t.scheme==rt.scheme?Dr=Qn:mn(rt)?Dr=Ue:"/"==or[Jr+1]?(Dr=Ir,Jr++):(rt.cannotBeABaseURL=!0,Et(rt.path,""),Dr=ir)}break;case hn:if(!$t||$t.cannotBeABaseURL&&"#"!=Vn)return ae;if($t.cannotBeABaseURL&&"#"==Vn){rt.scheme=$t.scheme,rt.path=z($t.path),rt.query=$t.query,rt.fragment="",rt.cannotBeABaseURL=!0,Dr=_r;break}Dr="file"==$t.scheme?ot:ht;continue;case Qn:if("/"!=Vn||"/"!=or[Jr+1]){Dr=ht;continue}Dr=nt,Jr++;break;case Ir:if("/"==Vn){Dr=at;break}Dr=Bn;continue;case ht:if(rt.scheme=$t.scheme,Vn==e)rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,rt.path=z($t.path),rt.query=$t.query;else if("/"==Vn||"\\"==Vn&&mn(rt))Dr=L;else if("?"==Vn)rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,rt.path=z($t.path),rt.query="",Dr=mr;else{if("#"!=Vn){rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,rt.path=z($t.path),rt.path.length--,Dr=Bn;continue}rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,rt.path=z($t.path),rt.query=$t.query,rt.fragment="",Dr=_r}break;case L:if(!mn(rt)||"/"!=Vn&&"\\"!=Vn){if("/"!=Vn){rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,Dr=Bn;continue}Dr=at}else Dr=nt;break;case Ue:if(Dr=nt,"/"!=Vn||"/"!=ue(rn,Jr+1))continue;Jr++;break;case nt:if("/"!=Vn&&"\\"!=Vn){Dr=at;continue}break;case at:if("@"==Vn){fi&&(rn="%40"+rn),fi=!0,Vr=H(rn);for(var _o=0;_o<Vr.length;_o++){var ki=Vr[_o];if(":"!=ki||wi){var to=Fn(ki,En);wi?rt.password+=to:rt.username+=to}else wi=!0}rn=""}else if(Vn==e||"/"==Vn||"?"==Vn||"#"==Vn||"\\"==Vn&&mn(rt)){if(fi&&""==rn)return"Invalid authority";Jr-=H(rn).length+1,rn="",Dr=it}else rn+=Vn;break;case it:case Pt:if(qe&&"file"==rt.scheme){Dr=sn;continue}if(":"!=Vn||Ei){if(Vn==e||"/"==Vn||"?"==Vn||"#"==Vn||"\\"==Vn&&mn(rt)){if(mn(rt)&&""==rn)return Ie;if(qe&&""==rn&&(jn(rt)||null!==rt.port))return;if(Cr=Cn(rt,rn))return Cr;if(rn="",Dr=An,qe)return;continue}"["==Vn?Ei=!0:"]"==Vn&&(Ei=!1),rn+=Vn}else{if(""==rn)return Ie;if(Cr=Cn(rt,rn))return Cr;if(rn="",Dr=Ut,qe==Pt)return}break;case Ut:if(!He(ln,Vn)){if(Vn==e||"/"==Vn||"?"==Vn||"#"==Vn||"\\"==Vn&&mn(rt)||qe){if(""!=rn){var qi=Se(rn,10);if(qi>65535)return dt;rt.port=mn(rt)&&qi===Dn[rt.scheme]?null:qi,rn=""}if(qe)return;Dr=An;continue}return dt}rn+=Vn;break;case ot:if(rt.scheme="file","/"==Vn||"\\"==Vn)Dr=Nn;else{if(!$t||"file"!=$t.scheme){Dr=Bn;continue}if(Vn==e)rt.host=$t.host,rt.path=z($t.path),rt.query=$t.query;else if("?"==Vn)rt.host=$t.host,rt.path=z($t.path),rt.query="",Dr=mr;else{if("#"!=Vn){mt($e(z(or,Jr),""))||(rt.host=$t.host,rt.path=z($t.path),Tt(rt)),Dr=Bn;continue}rt.host=$t.host,rt.path=z($t.path),rt.query=$t.query,rt.fragment="",Dr=_r}}break;case Nn:if("/"==Vn||"\\"==Vn){Dr=sn;break}$t&&"file"==$t.scheme&&!mt($e(z(or,Jr),""))&&(ut($t.path[0],!0)?Et(rt.path,$t.path[0]):rt.host=$t.host),Dr=Bn;continue;case sn:if(Vn==e||"/"==Vn||"\\"==Vn||"?"==Vn||"#"==Vn){if(!qe&&ut(rn))Dr=Bn;else if(""==rn){if(rt.host="",qe)return;Dr=An}else{if(Cr=Cn(rt,rn))return Cr;if("localhost"==rt.host&&(rt.host=""),qe)return;rn="",Dr=An}continue}rn+=Vn;break;case An:if(mn(rt)){if(Dr=Bn,"/"!=Vn&&"\\"!=Vn)continue}else if(qe||"?"!=Vn)if(qe||"#"!=Vn){if(Vn!=e&&(Dr=Bn,"/"!=Vn))continue}else rt.fragment="",Dr=_r;else rt.query="",Dr=mr;break;case Bn:if(Vn==e||"/"==Vn||"\\"==Vn&&mn(rt)||!qe&&("?"==Vn||"#"==Vn)){if(".."===(ai=Qe(ai=rn))||"%2e."===ai||".%2e"===ai||"%2e%2e"===ai?(Tt(rt),"/"==Vn||"\\"==Vn&&mn(rt)||Et(rt.path,"")):yn(rn)?"/"==Vn||"\\"==Vn&&mn(rt)||Et(rt.path,""):("file"==rt.scheme&&!rt.path.length&&ut(rn)&&(rt.host&&(rt.host=""),rn=ue(rn,0)+":"),Et(rt.path,rn)),rn="","file"==rt.scheme&&(Vn==e||"?"==Vn||"#"==Vn))for(;rt.path.length>1&&""===rt.path[0];)nn(rt.path);"?"==Vn?(rt.query="",Dr=mr):"#"==Vn&&(rt.fragment="",Dr=_r)}else rn+=Fn(Vn,$n);break;case ir:"?"==Vn?(rt.query="",Dr=mr):"#"==Vn?(rt.fragment="",Dr=_r):Vn!=e&&(rt.path[0]+=Fn(Vn,qn));break;case mr:qe||"#"!=Vn?Vn!=e&&("'"==Vn&&mn(rt)?rt.query+="%27":rt.query+="#"==Vn?"%23":Fn(Vn,qn)):(rt.fragment="",Dr=_r);break;case _r:Vn!=e&&(rt.fragment+=Fn(Vn,Sn))}Jr++}},br=function(rt){var yt,qe,$t=D(this,Jn),or=arguments.length>1?arguments[1]:void 0,Vn=I(rt),Vr=oe($t,{type:"URL"});if(void 0!==or)try{yt=fe(or)}catch(Dr){if(qe=Nr(yt={},I(or)))throw Ae(qe)}if(qe=Nr(Vr,Vn,null,yt))throw Ae(qe);var Cr=Vr.searchParams=new ne,ai=he(Cr);ai.updateSearchParams(Vr.query),ai.updateURL=function(){Vr.query=I(Cr)||null},a||($t.href=_(rr,$t),$t.origin=_(Mr,$t),$t.protocol=_(yi,$t),$t.username=_(Li,$t),$t.password=_(Mi,$t),$t.host=_(Oi,$t),$t.hostname=_(Xr,$t),$t.port=_(Kr,$t),$t.pathname=_(di,$t),$t.search=_(se,$t),$t.searchParams=_(ct,$t),$t.hash=_(Ke,$t))},Jn=br.prototype,rr=function(){var rt=fe(this),yt=rt.scheme,qe=rt.username,$t=rt.password,or=rt.host,Vn=rt.port,Vr=rt.path,Cr=rt.query,ai=rt.fragment,Dr=yt+":";return null!==or?(Dr+="//",jn(rt)&&(Dr+=qe+($t?":"+$t:"")+"@"),Dr+=Kn(or),null!==Vn&&(Dr+=":"+Vn)):"file"==yt&&(Dr+="//"),Dr+=rt.cannotBeABaseURL?Vr[0]:Vr.length?"/"+$e(Vr,"/"):"",null!==Cr&&(Dr+="?"+Cr),null!==ai&&(Dr+="#"+ai),Dr},Mr=function(){var rt=fe(this),yt=rt.scheme,qe=rt.port;if("blob"==yt)try{return new br(yt.path[0]).origin}catch($t){return"null"}return"file"!=yt&&mn(rt)?yt+"://"+Kn(rt.host)+(null!==qe?":"+qe:""):"null"},yi=function(){return fe(this).scheme+":"},Li=function(){return fe(this).username},Mi=function(){return fe(this).password},Oi=function(){var rt=fe(this),yt=rt.host,qe=rt.port;return null===yt?"":null===qe?Kn(yt):Kn(yt)+":"+qe},Xr=function(){var rt=fe(this).host;return null===rt?"":Kn(rt)},Kr=function(){var rt=fe(this).port;return null===rt?"":I(rt)},di=function(){var rt=fe(this),yt=rt.path;return rt.cannotBeABaseURL?yt[0]:yt.length?"/"+$e(yt,"/"):""},se=function(){var rt=fe(this).query;return rt?"?"+rt:""},ct=function(){return fe(this).searchParams},Ke=function(){var rt=fe(this).fragment;return rt?"#"+rt:""},Xe=function(rt,yt){return{get:rt,set:yt,configurable:!0,enumerable:!0}};if(a&&b(Jn,{href:Xe(rr,function(rt){var yt=fe(this),qe=I(rt),$t=Nr(yt,qe);if($t)throw Ae($t);he(yt.searchParams).updateSearchParams(yt.query)}),origin:Xe(Mr),protocol:Xe(yi,function(rt){var yt=fe(this);Nr(yt,I(rt)+":",et)}),username:Xe(Li,function(rt){var yt=fe(this),qe=H(I(rt));if(!Xt(yt)){yt.username="";for(var $t=0;$t<qe.length;$t++)yt.username+=Fn(qe[$t],En)}}),password:Xe(Mi,function(rt){var yt=fe(this),qe=H(I(rt));if(!Xt(yt)){yt.password="";for(var $t=0;$t<qe.length;$t++)yt.password+=Fn(qe[$t],En)}}),host:Xe(Oi,function(rt){var yt=fe(this);yt.cannotBeABaseURL||Nr(yt,I(rt),it)}),hostname:Xe(Xr,function(rt){var yt=fe(this);yt.cannotBeABaseURL||Nr(yt,I(rt),Pt)}),port:Xe(Kr,function(rt){var yt=fe(this);Xt(yt)||(""==(rt=I(rt))?yt.port=null:Nr(yt,rt,Ut))}),pathname:Xe(di,function(rt){var yt=fe(this);yt.cannotBeABaseURL||(yt.path=[],Nr(yt,I(rt),An))}),search:Xe(se,function(rt){var yt=fe(this);""==(rt=I(rt))?yt.query=null:("?"==ue(rt,0)&&(rt=Ot(rt,1)),yt.query="",Nr(yt,rt,mr)),he(yt.searchParams).updateSearchParams(yt.query)}),searchParams:Xe(ct),hash:Xe(Ke,function(rt){var yt=fe(this);""!=(rt=I(rt))?("#"==ue(rt,0)&&(rt=Ot(rt,1)),yt.fragment="",Nr(yt,rt,_r)):yt.fragment=null})}),T(Jn,"toJSON",function(){return _(rr,this)},{enumerable:!0}),T(Jn,"toString",function(){return _(rr,this)},{enumerable:!0}),ce){var Vt=ce.createObjectURL,Ct=ce.revokeObjectURL;Vt&&T(br,"createObjectURL",h(Vt,ce)),Ct&&T(br,"revokeObjectURL",h(Ct,ce))}J(br,"URL"),s({global:!0,forced:!l,sham:!a},{URL:br})},function(g,o,t){"use strict";var e=t(17),s=t(27),a=2147483647,l=/[^\0-\u007E]/,u=/[.\u3002\uFF0E\uFF61]/g,h="Overflow: input needs wider integers to process",_=e.RangeError,m=s(u.exec),b=Math.floor,T=String.fromCharCode,D=s("".charCodeAt),R=s([].join),j=s([].push),H=s("".replace),z=s("".split),U=s("".toLowerCase),M=function(B){return B+22+75*(B<26)},I=function(B,ie,oe){var fe=0;for(B=oe?b(B/700):B>>1,B+=b(B/ie);B>455;fe+=36)B=b(B/35);return b(fe+36*B/(B+38))},J=function(B){var ie,oe,fe=[],ne=(B=function(lt){for(var nn=[],St=0,Ot=lt.length;St<Ot;){var Qe=D(lt,St++);if(Qe>=55296&&Qe<=56319&&St<Ot){var It=D(lt,St++);56320==(64512&It)?j(nn,((1023&Qe)<<10)+(1023&It)+65536):(j(nn,Qe),St--)}else j(nn,Qe)}return nn}(B)).length,he=128,ce=0,Ae=72;for(ie=0;ie<B.length;ie++)(oe=B[ie])<128&&j(fe,T(oe));var Se=fe.length,Oe=Se;for(Se&&j(fe,"-");Oe<ne;){var be=a;for(ie=0;ie<B.length;ie++)(oe=B[ie])>=he&&oe<be&&(be=oe);var ue=Oe+1;if(be-he>b((a-ce)/ue))throw _(h);for(ce+=(be-he)*ue,he=be,ie=0;ie<B.length;ie++){if((oe=B[ie])<he&&++ce>a)throw _(h);if(oe==he){for(var He=ce,$e=36;;$e+=36){var F=$e<=Ae?1:$e>=Ae+26?26:$e-Ae;if(He<F)break;var je=He-F,Et=36-F;j(fe,T(M(F+je%Et))),He=b(je/Et)}j(fe,T(M(He))),Ae=I(ce,ue,Oe==Se),ce=0,++Oe}}++ce,++he}return R(fe,"")};g.exports=function(B){var ie,oe,fe=[],ne=z(H(U(B),u,"."),".");for(ie=0;ie<ne.length;ie++)j(fe,m(l,oe=ne[ie])?"xn--"+J(oe):oe);return R(fe,".")}},function(g,o){},function(g,o,t){t(957);var e=t(34);g.exports=e.setTimeout},function(g,o,t){var e=t(22),s=t(17),a=t(93),l=t(41),u=t(95),h=t(86),_=/MSIE .\./.test(u),m=s.Function,b=function(T){return function(D,R){var j=arguments.length>2,H=j?h(arguments,2):void 0;return T(j?function(){a(l(D)?D:m(D),this,H)}:D,R)}};e({global:!0,bind:!0,forced:_},{setTimeout:b(s.setTimeout),setInterval:b(s.setInterval)})},function(g,o,t){var e=t(959);t(68),g.exports=e},function(g,o,t){t(77),t(960),t(97),t(131);var e=t(34);g.exports=e.Map},function(g,o,t){"use strict";t(445)("Map",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},t(961))},function(g,o,t){"use strict";var e=t(63).f,s=t(98),a=t(158),l=t(84),u=t(139),h=t(124),_=t(225),m=t(427),b=t(48),T=t(194).fastKey,D=t(76),R=D.set,j=D.getterFor;g.exports={getConstructor:function(H,z,U,M){var I=H(function(fe,ne){u(fe,J),R(fe,{type:z,index:s(null),first:void 0,last:void 0,size:0}),b||(fe.size=0),null!=ne&&h(ne,fe[M],{that:fe,AS_ENTRIES:U})}),J=I.prototype,B=j(z),ie=function(fe,ne,he){var ce,Ae,Se=B(fe),Oe=oe(fe,ne);return Oe?Oe.value=he:(Se.last=Oe={index:Ae=T(ne,!0),key:ne,value:he,previous:ce=Se.last,next:void 0,removed:!1},Se.first||(Se.first=Oe),ce&&(ce.next=Oe),b?Se.size++:fe.size++,"F"!==Ae&&(Se.index[Ae]=Oe)),fe},oe=function(fe,ne){var he,ce=B(fe),Ae=T(ne);if("F"!==Ae)return ce.index[Ae];for(he=ce.first;he;he=he.next)if(he.key==ne)return he};return a(J,{clear:function(){for(var fe=B(this),ne=fe.index,he=fe.first;he;)he.removed=!0,he.previous&&(he.previous=he.previous.next=void 0),delete ne[he.index],he=he.next;fe.first=fe.last=void 0,b?fe.size=0:this.size=0},delete:function(fe){var he=B(this),ce=oe(this,fe);if(ce){var Ae=ce.next,Se=ce.previous;delete he.index[ce.index],ce.removed=!0,Se&&(Se.next=Ae),Ae&&(Ae.previous=Se),he.first==ce&&(he.first=Ae),he.last==ce&&(he.last=Se),b?he.size--:this.size--}return!!ce},forEach:function(fe){for(var ne,he=B(this),ce=l(fe,arguments.length>1?arguments[1]:void 0);ne=ne?ne.next:he.first;)for(ce(ne.value,ne.key,this);ne&&ne.removed;)ne=ne.previous},has:function(fe){return!!oe(this,fe)}}),a(J,U?{get:function(fe){var ne=oe(this,fe);return ne&&ne.value},set:function(fe,ne){return ie(this,0===fe?0:fe,ne)}}:{add:function(fe){return ie(this,fe=0===fe?0:fe,fe)}}),b&&e(J,"size",{get:function(){return B(this).size}}),I},setStrong:function(H,z,U){var M=z+" Iterator",I=j(z),J=j(M);_(H,z,function(B,ie){R(this,{type:M,target:B,state:I(B),kind:ie,last:void 0})},function(){for(var B=J(this),ie=B.kind,oe=B.last;oe&&oe.removed;)oe=oe.previous;return B.target&&(B.last=oe=oe?oe.next:B.state.first)?"keys"==ie?{value:oe.key,done:!1}:"values"==ie?{value:oe.value,done:!1}:{value:[oe.key,oe.value],done:!1}:(B.target=void 0,{value:void 0,done:!0})},U?"entries":"values",!U,!0),m(z)}}},function(g,o,t){t(68);var e=t(75),s=t(44),a=t(35),l=t(963),u=Array.prototype,h={DOMTokenList:!0,NodeList:!0};g.exports=function(_){var m=_.keys;return _===u||a(u,_)&&m===u.keys||s(h,e(_))?l:m}},function(g,o,t){var e=t(964);g.exports=e},function(g,o,t){t(77),t(97);var e=t(42);g.exports=e("Array").keys},function(g,o,t){t(68);var e=t(75),s=t(44),a=t(35),l=t(966),u=Array.prototype,h={DOMTokenList:!0,NodeList:!0};g.exports=function(_){var m=_.values;return _===u||a(u,_)&&m===u.values||s(h,e(_))?l:m}},function(g,o,t){var e=t(967);g.exports=e},function(g,o,t){t(77),t(97);var e=t(42);g.exports=e("Array").values},function(g,o,t){var e=t(969);g.exports=e},function(g,o,t){var e=t(35),s=t(970),a=Array.prototype;g.exports=function(l){var u=l.lastIndexOf;return l===a||e(a,l)&&u===a.lastIndexOf?s:u}},function(g,o,t){t(971);var e=t(42);g.exports=e("Array").lastIndexOf},function(g,o,t){var e=t(22),s=t(972);e({target:"Array",proto:!0,forced:s!==[].lastIndexOf},{lastIndexOf:s})},function(g,o,t){"use strict";var e=t(93),s=t(61),a=t(129),l=t(74),u=t(114),h=Math.min,_=[].lastIndexOf,m=!!_&&1/[1].lastIndexOf(1,-0)<0,b=u("lastIndexOf");g.exports=m||!b?function(D){if(m)return e(_,this,arguments)||0;var R=s(this),j=l(R),H=j-1;for(arguments.length>1&&(H=h(H,a(arguments[1]))),H<0&&(H=j+H);H>=0;H--)if(H in R&&R[H]===D)return H||0;return-1}:_},function(g,o,t){"use strict";var e,s="";g.exports=function(a,l){if("string"!=typeof a)throw new TypeError("expected a string");if(1===l)return a;if(2===l)return a+a;var u=a.length*l;if(e!==a||void 0===e)e=a,s="";else if(s.length>=u)return s.substr(0,u);for(;u>s.length&&l>1;)1&l&&(s+=a),l>>=1,a+=a;return s=(s+=a).substr(0,u)}},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.DebounceInput=void 0;var e=a(t(0)),s=a(t(975));function a(U){return U&&U.__esModule?U:{default:U}}function l(U){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(M){return typeof M}:function(M){return M&&"function"==typeof Symbol&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M})(U)}function h(U,M){var I=Object.keys(U);if(Object.getOwnPropertySymbols){var J=Object.getOwnPropertySymbols(U);M&&(J=J.filter(function(B){return Object.getOwnPropertyDescriptor(U,B).enumerable})),I.push.apply(I,J)}return I}function _(U){for(var M=1;M<arguments.length;M++){var I=null!=arguments[M]?arguments[M]:{};M%2?h(Object(I),!0).forEach(function(J){H(U,J,I[J])}):Object.getOwnPropertyDescriptors?Object.defineProperties(U,Object.getOwnPropertyDescriptors(I)):h(Object(I)).forEach(function(J){Object.defineProperty(U,J,Object.getOwnPropertyDescriptor(I,J))})}return U}function b(U,M){return(b=Object.setPrototypeOf||function(I,J){return I.__proto__=J,I})(U,M)}function D(U,M){return!M||"object"!==l(M)&&"function"!=typeof M?R(U):M}function R(U){if(void 0===U)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}function j(U){return(j=Object.setPrototypeOf?Object.getPrototypeOf:function(M){return M.__proto__||Object.getPrototypeOf(M)})(U)}function H(U,M,I){return M in U?Object.defineProperty(U,M,{value:I,enumerable:!0,configurable:!0,writable:!0}):U[M]=I,U}var z=function(U){!function(oe,fe){if("function"!=typeof fe&&null!==fe)throw new TypeError("Super expression must either be null or a function");oe.prototype=Object.create(fe&&fe.prototype,{constructor:{value:oe,writable:!0,configurable:!0}}),fe&&b(oe,fe)}(ie,U);var I,B=function(U){var M=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(I){return!1}}();return function(){var I,J=j(U);if(M){var B=j(this).constructor;I=Reflect.construct(J,arguments,B)}else I=J.apply(this,arguments);return D(this,I)}}(ie);function ie(oe){var fe;return function(he,ce){if(!(he instanceof ce))throw new TypeError("Cannot call a class as a function")}(this,ie),H(R(fe=B.call(this,oe)),"onChange",function(he){he.persist();var ce=fe.state.value,Ae=fe.props.minLength;fe.setState({value:he.target.value},function(){var Se=fe.state.value;Se.length>=Ae?fe.notify(he):ce.length>Se.length&&fe.notify(_(_({},he),{},{target:_(_({},he.target),{},{value:""})}))})}),H(R(fe),"onKeyDown",function(he){"Enter"===he.key&&fe.forceNotify(he);var ce=fe.props.onKeyDown;ce&&(he.persist(),ce(he))}),H(R(fe),"onBlur",function(he){fe.forceNotify(he);var ce=fe.props.onBlur;ce&&(he.persist(),ce(he))}),H(R(fe),"createNotifier",function(he){if(he<0)fe.notify=function(){return null};else if(0===he)fe.notify=fe.doNotify;else{var ce=(0,s.default)(function(Ae){fe.isDebouncing=!1,fe.doNotify(Ae)},he);fe.notify=function(Ae){fe.isDebouncing=!0,ce(Ae)},fe.flush=function(){return ce.flush()},fe.cancel=function(){fe.isDebouncing=!1,ce.cancel()}}}),H(R(fe),"doNotify",function(){var he=fe.props.onChange;he.apply(void 0,arguments)}),H(R(fe),"forceNotify",function(he){if(fe.isDebouncing||!(fe.props.debounceTimeout>0)){fe.cancel&&fe.cancel();var Ae=fe.state.value;fe.doNotify(Ae.length>=fe.props.minLength?he:_(_({},he),{},{target:_(_({},he.target),{},{value:Ae})}))}}),fe.isDebouncing=!1,fe.state={value:null==oe.value?"":oe.value},fe.createNotifier(fe.props.debounceTimeout),fe}return(I=[{key:"componentDidUpdate",value:function(oe){if(!this.isDebouncing){var fe=this.props,ne=fe.value,he=fe.debounceTimeout,ce=oe.debounceTimeout;void 0!==ne&&oe.value!==ne&&this.state.value!==ne&&this.setState({value:ne}),he!==ce&&this.createNotifier(he)}}},{key:"componentWillUnmount",value:function(){this.flush&&this.flush()}},{key:"render",value:function(){var oe,fe,ne=this.props,he=ne.element,ce=ne.forceNotifyByEnter,Ae=ne.forceNotifyOnBlur,Se=ne.onKeyDown,Oe=ne.onBlur,be=ne.inputRef,ue=function(U,M){if(null==U)return{};var I,J,B=function(oe,fe){if(null==oe)return{};var ne,he,ce={},Ae=Object.keys(oe);for(he=0;he<Ae.length;he++)fe.indexOf(ne=Ae[he])>=0||(ce[ne]=oe[ne]);return ce}(U,M);if(Object.getOwnPropertySymbols){var ie=Object.getOwnPropertySymbols(U);for(J=0;J<ie.length;J++)M.indexOf(I=ie[J])>=0||Object.prototype.propertyIsEnumerable.call(U,I)&&(B[I]=U[I])}return B}(ne,["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"]),He=this.state.value;oe=ce?{onKeyDown:this.onKeyDown}:Se?{onKeyDown:Se}:{},fe=Ae?{onBlur:this.onBlur}:Oe?{onBlur:Oe}:{};var $e=be?{ref:be}:{};return e.default.createElement(he,_(_(_(_({},ue),{},{onChange:this.onChange,value:He},oe),fe),$e))}}])&&function(U,M){for(var I=0;I<M.length;I++){var J=M[I];J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J&&(J.writable=!0),Object.defineProperty(U,J.key,J)}}(ie.prototype,I),ie}(e.default.PureComponent);o.DebounceInput=z,H(z,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},function(g,o,t){(function(e){var s=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,h=parseInt,m="object"==typeof self&&self&&self.Object===Object&&self,b="object"==typeof e&&e&&e.Object===Object&&e||m||Function("return this")(),T=Object.prototype.toString,D=Math.max,R=Math.min,j=function(){return b.Date.now()};function H(U){var M=typeof U;return!!U&&("object"==M||"function"==M)}function z(U){if("number"==typeof U)return U;if("symbol"==typeof(J=U)||(B=J)&&"object"==typeof B&&"[object Symbol]"==T.call(J))return NaN;var J,B;if(H(U)){var M="function"==typeof U.valueOf?U.valueOf():U;U=H(M)?M+"":M}if("string"!=typeof U)return 0===U?U:+U;U=U.replace(s,"");var I=l.test(U);return I||u.test(U)?h(U.slice(2),I?2:8):a.test(U)?NaN:+U}g.exports=function(U,M,I){var J,B,ie,oe,fe,ne,he=0,ce=!1,Ae=!1,Se=!0;if("function"!=typeof U)throw new TypeError("Expected a function");function Oe(je){var Et=J,lt=B;return J=B=void 0,he=je,oe=U.apply(lt,Et)}function be(je){return he=je,fe=setTimeout(He,M),ce?Oe(je):oe}function ue(je){var Et=je-ne;return void 0===ne||Et>=M||Et<0||Ae&&je-he>=ie}function He(){var Et,lt,je=j();if(ue(je))return $e(je);fe=setTimeout(He,(lt=M-((Et=je)-ne),Ae?R(lt,ie-(Et-he)):lt))}function $e(je){return fe=void 0,Se&&J?Oe(je):(J=B=void 0,oe)}function F(){var je=j(),Et=ue(je);if(J=arguments,B=this,ne=je,Et){if(void 0===fe)return be(ne);if(Ae)return fe=setTimeout(He,M),Oe(ne)}return void 0===fe&&(fe=setTimeout(He,M)),oe}return M=z(M)||0,H(I)&&(ce=!!I.leading,ie=(Ae="maxWait"in I)?D(z(I.maxWait)||0,M):ie,Se="trailing"in I?!!I.trailing:Se),F.cancel=function(){void 0!==fe&&clearTimeout(fe),he=0,J=ne=B=fe=void 0},F.flush=function(){return void 0===fe?oe:$e(j())},F}}).call(this,t(57))},function(g,o,t){var e={"./all.js":314,"./auth/actions.js":82,"./auth/index.js":277,"./auth/reducers.js":278,"./auth/selectors.js":279,"./auth/spec-wrap-actions.js":280,"./configs/actions.js":144,"./configs/helpers.js":162,"./configs/index.js":316,"./configs/reducers.js":285,"./configs/selectors.js":284,"./configs/spec-actions.js":283,"./deep-linking/helpers.js":164,"./deep-linking/index.js":286,"./deep-linking/layout.js":287,"./deep-linking/operation-tag-wrapper.jsx":289,"./deep-linking/operation-wrapper.jsx":288,"./download-url.js":282,"./err/actions.js":60,"./err/error-transformers/hook.js":127,"./err/error-transformers/transformers/not-of-type.js":258,"./err/error-transformers/transformers/parameter-oneof.js":259,"./err/index.js":256,"./err/reducers.js":257,"./err/selectors.js":260,"./filter/index.js":290,"./filter/opsFilter.js":291,"./layout/actions.js":109,"./layout/index.js":261,"./layout/reducers.js":262,"./layout/selectors.js":263,"./layout/spec-extensions/wrap-selector.js":264,"./logs/index.js":275,"./oas3/actions.js":55,"./oas3/auth-extensions/wrap-selectors.js":295,"./oas3/components/callbacks.jsx":298,"./oas3/components/http-auth.jsx":303,"./oas3/components/index.js":297,"./oas3/components/operation-link.jsx":299,"./oas3/components/operation-servers.jsx":304,"./oas3/components/request-body-editor.jsx":302,"./oas3/components/request-body.jsx":163,"./oas3/components/servers-container.jsx":301,"./oas3/components/servers.jsx":300,"./oas3/helpers.jsx":36,"./oas3/index.js":293,"./oas3/reducers.js":313,"./oas3/selectors.js":312,"./oas3/spec-extensions/selectors.js":296,"./oas3/spec-extensions/wrap-selectors.js":294,"./oas3/wrap-components/auth-item.jsx":307,"./oas3/wrap-components/index.js":305,"./oas3/wrap-components/json-schema-string.jsx":311,"./oas3/wrap-components/markdown.jsx":306,"./oas3/wrap-components/model.jsx":310,"./oas3/wrap-components/online-validator-badge.js":309,"./oas3/wrap-components/version-stamp.jsx":308,"./on-complete/index.js":292,"./request-snippets/fn.js":161,"./request-snippets/index.js":272,"./request-snippets/request-snippets.jsx":274,"./request-snippets/selectors.js":273,"./samples/fn.js":142,"./samples/index.js":271,"./spec/actions.js":46,"./spec/index.js":265,"./spec/reducers.js":266,"./spec/selectors.js":88,"./spec/wrap-actions.js":267,"./swagger-js/configs-wrap-actions.js":276,"./swagger-js/index.js":315,"./util/index.js":281,"./view/error-boundary.jsx":270,"./view/fallback.jsx":160,"./view/index.js":268,"./view/root-injects.jsx":165};function s(l){var u=a(l);return t(u)}function a(l){if(!t.o(e,l)){var u=new Error("Cannot find module '"+l+"'");throw u.code="MODULE_NOT_FOUND",u}return e[l]}s.keys=function(){return Object.keys(e)},s.resolve=a,g.exports=s,s.id=976},function(g,o,t){"use strict";t.r(o);var e={};t.r(e),t.d(e,"Container",function(){return Yl}),t.d(e,"Col",function(){return Di}),t.d(e,"Row",function(){return ys}),t.d(e,"Button",function(){return pa}),t.d(e,"TextArea",function(){return Vo}),t.d(e,"Input",function(){return Ba}),t.d(e,"Select",function(){return _s}),t.d(e,"Link",function(){return We}),t.d(e,"Collapse",function(){return kt});var s={};t.r(s),t.d(s,"JsonSchemaForm",function(){return Ts}),t.d(s,"JsonSchema_string",function(){return Ll}),t.d(s,"JsonSchema_array",function(){return Hl}),t.d(s,"JsonSchemaArrayItemText",function(){return vo}),t.d(s,"JsonSchemaArrayItemFile",function(){return Ds}),t.d(s,"JsonSchema_boolean",function(){return zc}),t.d(s,"JsonSchema_object",function(){return hc});var a=t(19),l=t.n(a),u=t(2),h=t.n(u),_=t(12),m=t.n(_),b=t(15),T=t.n(b),D=t(32),R=t.n(D),j=t(79),H=t.n(j),z=t(3),U=t.n(z),M=t(6),I=t.n(M),J=t(7),B=t.n(J),ie=t(37),oe=t.n(ie),fe=t(21),ne=t.n(fe),he=t(20),ce=t.n(he),Ae=t(24),Se=t.n(Ae),Oe=t(30),be=t.n(Oe),ue=t(4),He=t.n(ue),$e=t(0),F=t.n($e);function je(xe,ke,Te){return ke in xe?Object.defineProperty(xe,ke,{value:Te,enumerable:!0,configurable:!0,writable:!0}):xe[ke]=Te,xe}function Et(xe,ke){var Te=Object.keys(xe);if(Object.getOwnPropertySymbols){var ge=Object.getOwnPropertySymbols(xe);ke&&(ge=ge.filter(function(Re){return Object.getOwnPropertyDescriptor(xe,Re).enumerable})),Te.push.apply(Te,ge)}return Te}function lt(xe){for(var ke=1;ke<arguments.length;ke++){var Te=null!=arguments[ke]?arguments[ke]:{};ke%2?Et(Object(Te),!0).forEach(function(ge){je(xe,ge,Te[ge])}):Object.getOwnPropertyDescriptors?Object.defineProperties(xe,Object.getOwnPropertyDescriptors(Te)):Et(Object(Te)).forEach(function(ge){Object.defineProperty(xe,ge,Object.getOwnPropertyDescriptor(Te,ge))})}return xe}function nn(xe){return"Minified Redux error #"+xe+"; visit https://redux.js.org/Errors?code="+xe+" for the full message or use the non-minified dev environment for full errors. "}var St="function"==typeof Symbol&&Symbol.observable||"@@observable",Ot=function(){return Math.random().toString(36).substring(7).split("").join(".")},Qe={INIT:"@@redux/INIT"+Ot(),REPLACE:"@@redux/REPLACE"+Ot(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Ot()}};function It(xe){if("object"!=typeof xe||null===xe)return!1;for(var ke=xe;null!==Object.getPrototypeOf(ke);)ke=Object.getPrototypeOf(ke);return Object.getPrototypeOf(xe)===ke}function ae(xe,ke,Te){var ge;if("function"==typeof ke&&"function"==typeof Te||"function"==typeof Te&&"function"==typeof arguments[3])throw new Error(nn(0));if("function"==typeof ke&&void 0===Te&&(Te=ke,ke=void 0),void 0!==Te){if("function"!=typeof Te)throw new Error(nn(1));return Te(ae)(xe,ke)}if("function"!=typeof xe)throw new Error(nn(2));var Re=xe,Be=ke,xt=[],Dt=xt,en=!1;function vn(){Dt===xt&&(Dt=xt.slice())}function Gn(){if(en)throw new Error(nn(3));return Be}function kn(Gr){if("function"!=typeof Gr)throw new Error(nn(4));if(en)throw new Error(nn(5));var ci=!0;return vn(),Dt.push(Gr),function(){if(ci){if(en)throw new Error(nn(6));ci=!1,vn();var Ci=Dt.indexOf(Gr);Dt.splice(Ci,1),xt=null}}}function zn(Gr){if(!It(Gr))throw new Error(nn(7));if(void 0===Gr.type)throw new Error(nn(8));if(en)throw new Error(nn(9));try{en=!0,Be=Re(Be,Gr)}finally{en=!1}for(var ci=xt=Dt,Ci=0;Ci<ci.length;Ci++)(0,ci[Ci])();return Gr}function jr(Gr){if("function"!=typeof Gr)throw new Error(nn(10));Re=Gr,zn({type:Qe.REPLACE})}function kr(){var Gr,ci=kn;return(Gr={subscribe:function(Ci){if("object"!=typeof Ci||null===Ci)throw new Error(nn(11));function vi(){Ci.next&&Ci.next(Gn())}return vi(),{unsubscribe:ci(vi)}}})[St]=function(){return this},Gr}return zn({type:Qe.INIT}),(ge={dispatch:zn,subscribe:kn,getState:Gn,replaceReducer:jr})[St]=kr,ge}function Ie(xe,ke){return function(){return ke(xe.apply(this,arguments))}}function dt(){for(var xe=arguments.length,ke=new Array(xe),Te=0;Te<xe;Te++)ke[Te]=arguments[Te];return 0===ke.length?function(ge){return ge}:1===ke.length?ke[0]:ke.reduce(function(ge,Re){return function(){return ge(Re.apply(void 0,arguments))}})}function Jt(){for(var xe=arguments.length,ke=new Array(xe),Te=0;Te<xe;Te++)ke[Te]=arguments[Te];return function(ge){return function(){var Re=ge.apply(void 0,arguments),Be=function(){throw new Error(nn(15))},xt={getState:Re.getState,dispatch:function(){return Be.apply(void 0,arguments)}},Dt=ke.map(function(en){return en(xt)});return Be=dt.apply(void 0,Dt)(Re.dispatch),lt(lt({},Re),{},{dispatch:Be})}}}var zt=t(1),ln=t.n(zt),ar=t(448),Ln=t(141),Rn=t(449),er=t.n(Rn),Mn=t(60),Ht=t(26),tr=t(5),Yn=function(xe){return xe};function Cn(xe,ke,Te){var ge=[Object(tr.J)(Te)];return ae(xe,ke,(Ht.a.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||dt)(Jt.apply(void 0,ge)))}var Kt=function(){function xe(){var ke,Te=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};I()(this,xe),H()(this,{state:{},plugins:[],pluginsOptions:{},system:{configs:{},fn:{},components:{},rootInjects:{},statePlugins:{}},boundSystem:{},toolbox:{}},Te),this.getSystem=oe()(ke=this._getSystem).call(ke,this),this.store=$n(Yn,Object(zt.fromJS)(this.state),this.getSystem),this.buildSystem(!1),this.register(this.plugins)}return B()(xe,[{key:"getStore",value:function(){return this.store}},{key:"register",value:function(ke){var Te=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],ge=dn(ke,this.getSystem(),this.pluginsOptions);qn(this.system,ge),Te&&this.buildSystem();var Re=Kn.call(this.system,ke,this.getSystem());Re&&this.buildSystem()}},{key:"buildSystem",value:function(){var ke=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],Te=this.getStore().dispatch,ge=this.getStore().getState;this.boundSystem=ne()({},this.getRootInjects(),this.getWrappedAndBoundActions(Te),this.getWrappedAndBoundSelectors(ge,this.getSystem),this.getStateThunks(ge),this.getFn(),this.getConfigs()),ke&&this.rebuildReducer()}},{key:"_getSystem",value:function(){return this.boundSystem}},{key:"getRootInjects",value:function(){var ke,Te,ge;return ne()({getSystem:this.getSystem,getStore:oe()(ke=this.getStore).call(ke,this),getComponents:oe()(Te=this.getComponents).call(Te,this),getState:this.getStore().getState,getConfigs:oe()(ge=this._getConfigs).call(ge,this),Im:ln.a,React:F.a},this.system.rootInjects||{})}},{key:"_getConfigs",value:function(){return this.system.configs}},{key:"getConfigs",value:function(){return{configs:this.system.configs}}},{key:"setConfigs",value:function(ke){this.system.configs=ke}},{key:"rebuildReducer",value:function(){var ke,Te,ge,Re;this.store.replaceReducer((Re=this.system.statePlugins,ke=Object(tr.x)(Re,function(Be){return Be.reducers}),ge=be()(Te=T()(ke)).call(Te,function(Be,xt){return Be[xt]=(Dt=ke[xt],function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new zt.Map,vn=arguments.length>1?arguments[1]:void 0;if(!Dt)return en;var Gn=Dt[vn.type];if(Gn){var kn=Sn(Gn)(en,vn);return null===kn?en:kn}return en}),Be;var Dt},{}),T()(ge).length?Object(ar.combineReducers)(ge):Yn))}},{key:"getType",value:function(ke){var Te=ke[0].toUpperCase()+ce()(ke).call(ke,1);return Object(tr.y)(this.system.statePlugins,function(ge,Re){var Be=ge[ke];if(Be)return U()({},Re+Te,Be)})}},{key:"getSelectors",value:function(){return this.getType("selectors")}},{key:"getActions",value:function(){var ke=this.getType("actions");return Object(tr.x)(ke,function(Te){return Object(tr.y)(Te,function(ge,Re){if(Object(tr.r)(ge))return U()({},Re,ge)})})}},{key:"getWrappedAndBoundActions",value:function(ke){var Te=this,ge=this.getBoundActions(ke);return Object(tr.x)(ge,function(Re,Be){var xt=Te.system.statePlugins[ce()(Be).call(Be,0,-7)].wrapActions;return xt?Object(tr.x)(Re,function(Dt,en){var vn=xt[en];return vn?(Se()(vn)||(vn=[vn]),be()(vn).call(vn,function(Gn,kn){var zn=function(){return kn(Gn,Te.getSystem()).apply(void 0,arguments)};if(!Object(tr.r)(zn))throw new TypeError("wrapActions needs to return a function that returns a new function (ie the wrapped action)");return Sn(zn)},Dt||Function.prototype)):Dt}):Re})}},{key:"getWrappedAndBoundSelectors",value:function(ke,Te){var ge=this,Re=this.getBoundSelectors(ke,Te);return Object(tr.x)(Re,function(Be,xt){var Dt=[ce()(xt).call(xt,0,-9)],en=ge.system.statePlugins[Dt].wrapSelectors;return en?Object(tr.x)(Be,function(vn,Gn){var kn=en[Gn];return kn?(Se()(kn)||(kn=[kn]),be()(kn).call(kn,function(zn,jr){var kr=function(){for(var Gr,ci=arguments.length,Ci=new Array(ci),vi=0;vi<ci;vi++)Ci[vi]=arguments[vi];return jr(zn,ge.getSystem()).apply(void 0,h()(Gr=[ke().getIn(Dt)]).call(Gr,Ci))};if(!Object(tr.r)(kr))throw new TypeError("wrapSelector needs to return a function that returns a new function (ie the wrapped action)");return kr},vn||Function.prototype)):vn}):Be})}},{key:"getStates",value:function(ke){var Te;return be()(Te=T()(this.system.statePlugins)).call(Te,function(ge,Re){return ge[Re]=ke.get(Re),ge},{})}},{key:"getStateThunks",value:function(ke){var Te;return be()(Te=T()(this.system.statePlugins)).call(Te,function(ge,Re){return ge[Re]=function(){return ke().get(Re)},ge},{})}},{key:"getFn",value:function(){return{fn:this.system.fn}}},{key:"getComponents",value:function(ke){var Te=this,ge=this.system.components[ke];return Se()(ge)?be()(ge).call(ge,function(Re,Be){return Be(Re,Te.getSystem())}):void 0!==ke?this.system.components[ke]:this.system.components}},{key:"getBoundSelectors",value:function(ke,Te){return Object(tr.x)(this.getSelectors(),function(ge,Re){var Be=[ce()(Re).call(Re,0,-9)],xt=function(){return ke().getIn(Be)};return Object(tr.x)(ge,function(Dt){return function(){for(var en,vn=arguments.length,Gn=new Array(vn),kn=0;kn<vn;kn++)Gn[kn]=arguments[kn];var zn=Sn(Dt).apply(null,h()(en=[xt()]).call(en,Gn));return"function"==typeof zn&&(zn=Sn(zn)(Te())),zn}})})}},{key:"getBoundActions",value:function(ke){ke=ke||this.getStore().dispatch;var Te=this.getActions(),ge=function Re(Be){return"function"!=typeof Be?Object(tr.x)(Be,function(xt){return Re(xt)}):function(){var xt=null;try{xt=Be.apply(void 0,arguments)}catch(Dt){xt={type:Mn.NEW_THROWN_ERR,error:!0,payload:Object(Ln.serializeError)(Dt)}}finally{return xt}}};return Object(tr.x)(Te,function(Re){return function(Be,xt){if("function"==typeof Be)return Ie(Be,xt);if("object"!=typeof Be||null===Be)throw new Error(nn(16));var Dt={};for(var en in Be){var vn=Be[en];"function"==typeof vn&&(Dt[en]=Ie(vn,xt))}return Dt}(ge(Re),ke)})}},{key:"getMapStateToProps",value:function(){var ke=this;return function(){return ne()({},ke.getSystem())}}},{key:"getMapDispatchToProps",value:function(ke){var Te=this;return function(ge){return H()({},Te.getWrappedAndBoundActions(ge),Te.getFn(),ke)}}}]),xe}();function dn(xe,ke,Te){if(Object(tr.t)(xe)&&!Object(tr.p)(xe))return er()({},xe);if(Object(tr.s)(xe))return dn(xe(ke),ke,Te);if(Object(tr.p)(xe)){var ge,Re="chain"===Te.pluginLoadType?ke.getComponents():{};return be()(ge=He()(xe).call(xe,function(Be){return dn(Be,ke,Te)})).call(ge,qn,Re)}return{}}function Kn(xe,ke){var Te=this,ge=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Re=ge.hasLoaded,Be=Re;return Object(tr.t)(xe)&&!Object(tr.p)(xe)&&"function"==typeof xe.afterLoad&&(Be=!0,Sn(xe.afterLoad).call(this,ke)),Object(tr.s)(xe)?Kn.call(this,xe(ke),ke,{hasLoaded:Be}):Object(tr.p)(xe)?He()(xe).call(xe,function(xt){return Kn.call(Te,xt,ke,{hasLoaded:Be})}):Be}function qn(){var xe=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},ke=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Object(tr.t)(xe))return{};if(!Object(tr.t)(ke))return xe;ke.wrapComponents&&(Object(tr.x)(ke.wrapComponents,function(jr,kr){var Gr=xe.components&&xe.components[kr];Gr&&Se()(Gr)?(xe.components[kr]=h()(Gr).call(Gr,[jr]),delete ke.wrapComponents[kr]):Gr&&(xe.components[kr]=[Gr,jr],delete ke.wrapComponents[kr])}),T()(ke.wrapComponents).length||delete ke.wrapComponents);var Te=xe.statePlugins;if(Object(tr.t)(Te))for(var ge in Te){var Re=Te[ge];if(Object(tr.t)(Re)){var Be=Re.wrapActions,xt=Re.wrapSelectors;if(Object(tr.t)(Be))for(var Dt in Be){var en,vn=Be[Dt];Se()(vn)||(Be[Dt]=vn=[vn]),ke&&ke.statePlugins&&ke.statePlugins[ge]&&ke.statePlugins[ge].wrapActions&&ke.statePlugins[ge].wrapActions[Dt]&&(ke.statePlugins[ge].wrapActions[Dt]=h()(en=Be[Dt]).call(en,ke.statePlugins[ge].wrapActions[Dt]))}if(Object(tr.t)(xt))for(var Gn in xt){var kn,zn=xt[Gn];Se()(zn)||(xt[Gn]=zn=[zn]),ke&&ke.statePlugins&&ke.statePlugins[ge]&&ke.statePlugins[ge].wrapSelectors&&ke.statePlugins[ge].wrapSelectors[Gn]&&(ke.statePlugins[ge].wrapSelectors[Gn]=h()(kn=xt[Gn]).call(kn,ke.statePlugins[ge].wrapSelectors[Gn]))}}}return H()(xe,ke)}function Sn(xe){var ke=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Te=ke.logErrors,ge=void 0===Te||Te;return"function"!=typeof xe?xe:function(){try{for(var Re,Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return xe.call.apply(xe,h()(Re=[this]).call(Re,xt))}catch(en){return ge&&console.error(en),null}}}function $n(xe,ke,Te){return Cn(xe,ke,Te)}var En=t(256),Fn=t(261),Dn=t(265),mn=t(268),jn=t(271),Xt=t(272),ut=t(275),mt=t(315),Tt=t(277),yn=t(281),et=t(282),jt=t(316),hn=t(286),Qn=t(290),Ir=t(292),ht=t(10),L=t.n(ht),Ue=t(8),nt=t.n(Ue),at=t(9),it=t.n(at),Pt=t(18),Ut=t.n(Pt),ot=(t(11),t(28),t(59)),Nn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"toggleShown",function(){var Dt=Be.props,en=Dt.layoutActions,vn=Dt.tag,Gn=Dt.operationId,kn=Dt.isShown,zn=Be.getResolvedSubtree();kn||void 0!==zn||Be.requestResolvedSubtree(),en.show(["operations",vn,Gn],!kn)}),U()(L()(Be),"onCancelClick",function(){Be.setState({tryItOutEnabled:!Be.state.tryItOutEnabled})}),U()(L()(Be),"onTryoutClick",function(){Be.setState({tryItOutEnabled:!Be.state.tryItOutEnabled})}),U()(L()(Be),"onExecute",function(){Be.setState({executeInProgress:!0})}),U()(L()(Be),"getResolvedSubtree",function(){var Dt=Be.props,vn=Dt.path,Gn=Dt.method,kn=Dt.specPath;return Dt.specSelectors.specResolvedSubtree(kn?kn.toJS():["paths",vn,Gn])}),U()(L()(Be),"requestResolvedSubtree",function(){var Dt=Be.props,vn=Dt.path,Gn=Dt.method,kn=Dt.specPath;return Dt.specActions.requestResolvedSubtree(kn?kn.toJS():["paths",vn,Gn])});var xt=ge.getConfigs().tryItOutEnabled;return Be.state={tryItOutEnabled:!0===xt||"true"===xt,executeInProgress:!1},Be}return B()(Te,[{key:"mapStateToProps",value:function(ge,Re){var Be,xt=Re.op,Dt=Re.layoutSelectors,en=(0,Re.getConfigs)(),vn=en.docExpansion,Gn=en.deepLinking,kn=en.displayOperationId,zn=en.displayRequestDuration,jr=en.supportedSubmitMethods,kr=Dt.showSummary(),Gr=xt.getIn(["operation","__originalOperationId"])||xt.getIn(["operation","operationId"])||Object(ot.e)(xt.get("operation"),Re.path,Re.method)||xt.get("id"),ci=["operations",Re.tag,Gr],Ci=Gn&&"false"!==Gn,vi=Ut()(jr).call(jr,Re.method)>=0&&(void 0===Re.allowTryItOut?Re.specSelectors.allowTryItOutFor(Re.path,Re.method):Re.allowTryItOut),Ai=xt.getIn(["operation","security"])||Re.specSelectors.security();return{operationId:Gr,isDeepLinkingEnabled:Ci,showSummary:kr,displayOperationId:kn,displayRequestDuration:zn,allowTryItOut:vi,security:Ai,isAuthorized:Re.authSelectors.isAuthorized(Ai),isShown:Dt.isShown(ci,"full"===vn),jumpToKey:h()(Be="paths.".concat(Re.path,".")).call(Be,Re.method),response:Re.specSelectors.responseFor(Re.path,Re.method),request:Re.specSelectors.requestFor(Re.path,Re.method)}}},{key:"componentDidMount",value:function(){var ge=this.props.isShown,Re=this.getResolvedSubtree();ge&&void 0===Re&&this.requestResolvedSubtree()}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re=ge.response,Be=ge.isShown,xt=this.getResolvedSubtree();Re!==this.props.response&&this.setState({executeInProgress:!1}),Be&&void 0===xt&&this.requestResolvedSubtree()}},{key:"render",value:function(){var ge=this.props,Re=ge.op,Be=ge.tag,xt=ge.path,Dt=ge.method,en=ge.security,vn=ge.isAuthorized,Gn=ge.operationId,kn=ge.showSummary,zn=ge.isShown,jr=ge.jumpToKey,kr=ge.allowTryItOut,Gr=ge.response,ci=ge.request,Ci=ge.displayOperationId,vi=ge.displayRequestDuration,Ai=ge.isDeepLinkingEnabled,fo=ge.specPath,po=ge.specSelectors,No=ge.specActions,Ao=ge.getComponent,io=ge.getConfigs,So=ge.layoutSelectors,Xi=ge.layoutActions,Zi=ge.authActions,Jo=ge.authSelectors,Po=ge.oas3Actions,ho=ge.oas3Selectors,Do=ge.fn,Ls=Ao("operation"),_n=this.getResolvedSubtree()||Object(zt.Map)(),Us=Object(zt.fromJS)({op:_n,tag:Be,path:xt,summary:Re.getIn(["operation","summary"])||"",deprecated:_n.get("deprecated")||Re.getIn(["operation","deprecated"])||!1,method:Dt,security:en,isAuthorized:vn,operationId:Gn,originalOperationId:_n.getIn(["operation","__originalOperationId"]),showSummary:kn,isShown:zn,jumpToKey:jr,allowTryItOut:kr,request:ci,displayOperationId:Ci,displayRequestDuration:vi,isDeepLinkingEnabled:Ai,executeInProgress:this.state.executeInProgress,tryItOutEnabled:this.state.tryItOutEnabled});return F.a.createElement(Ls,{operation:Us,response:Gr,request:ci,isShown:zn,toggleShown:this.toggleShown,onTryoutClick:this.onTryoutClick,onCancelClick:this.onCancelClick,onExecute:this.onExecute,specPath:fo,specActions:No,specSelectors:po,oas3Actions:Po,oas3Selectors:ho,layoutActions:Xi,layoutSelectors:So,authActions:Zi,authSelectors:Jo,getComponent:Ao,getConfigs:io,fn:Do})}}]),Te}($e.PureComponent);U()(Nn,"defaultProps",{showSummary:!0,response:null,allowTryItOut:!0,displayOperationId:!1,displayRequestDuration:!1});var sn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"getLayout",value:function(){var ge=this.props,Re=ge.getComponent,Be=ge.layoutSelectors.current();return Re(Be,!0)||function(){return F.a.createElement("h1",null,' No layout defined for "',Be,'" ')}}},{key:"render",value:function(){var ge=this.getLayout();return F.a.createElement(ge,null)}}]),Te}(F.a.Component);sn.defaultProps={};var An=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"close",function(){Re.props.authActions.showDefinitions(!1)}),Re}return B()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.authSelectors,xt=Re.authActions,Dt=Re.getComponent,en=Re.errSelectors,vn=Re.specSelectors,Gn=Re.fn.AST,kn=void 0===Gn?{}:Gn,zn=Be.shownDefinitions(),jr=Dt("auths");return F.a.createElement("div",{className:"dialog-ux"},F.a.createElement("div",{className:"backdrop-ux"}),F.a.createElement("div",{className:"modal-ux"},F.a.createElement("div",{className:"modal-dialog-ux"},F.a.createElement("div",{className:"modal-ux-inner"},F.a.createElement("div",{className:"modal-ux-header"},F.a.createElement("h3",null,"Available authorizations"),F.a.createElement("button",{type:"button",className:"close-modal",onClick:this.close},F.a.createElement("svg",{width:"20",height:"20"},F.a.createElement("use",{href:"#close",xlinkHref:"#close"})))),F.a.createElement("div",{className:"modal-ux-content"},He()(ge=zn.valueSeq()).call(ge,function(kr,Gr){return F.a.createElement(jr,{key:Gr,AST:kn,definitions:kr,getComponent:Dt,errSelectors:en,authSelectors:Be,authActions:xt,specSelectors:vn})}))))))}}]),Te}(F.a.Component),Bn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.isAuthorized,Be=ge.showPopup,xt=ge.onClick,Dt=(0,ge.getComponent)("authorizationPopup",!0);return F.a.createElement("div",{className:"auth-wrapper"},F.a.createElement("button",{className:Re?"btn authorize locked":"btn authorize unlocked",onClick:xt},F.a.createElement("span",null,"Authorize"),F.a.createElement("svg",{width:"20",height:"20"},F.a.createElement("use",{href:Re?"#locked":"#unlocked",xlinkHref:Re?"#locked":"#unlocked"}))),Be&&F.a.createElement(Dt,null))}}]),Te}(F.a.Component),ir=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.authActions,Be=ge.authSelectors,Dt=ge.getComponent,en=ge.specSelectors.securityDefinitions(),vn=Be.definitionsToAuthorize(),Gn=Dt("authorizeBtn");return en?F.a.createElement(Gn,{onClick:function(){return Re.showDefinitions(vn)},isAuthorized:!!Be.authorized().size,showPopup:!!Be.shownDefinitions(),getComponent:Dt}):null}}]),Te}(F.a.Component),mr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onClick",function(en){en.stopPropagation();var vn=Re.props.onClick;vn&&vn()}),Re}return B()(Te,[{key:"render",value:function(){var ge=this.props.isAuthorized;return F.a.createElement("button",{className:ge?"authorization__btn locked":"authorization__btn unlocked","aria-label":ge?"authorization button locked":"authorization button unlocked",onClick:this.onClick},F.a.createElement("svg",{width:"20",height:"20"},F.a.createElement("use",{href:ge?"#locked":"#unlocked",xlinkHref:ge?"#locked":"#unlocked"})))}}]),Te}(F.a.Component),_r=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onAuthChange",function(xt){var Dt=xt.name;Be.setState(U()({},Dt,xt))}),U()(L()(Be),"submitAuth",function(xt){xt.preventDefault(),Be.props.authActions.authorizeWithPersistOption(Be.state)}),U()(L()(Be),"logoutClick",function(xt){xt.preventDefault();var Dt=Be.props,en=Dt.authActions,vn=Dt.definitions,Gn=He()(vn).call(vn,function(kn,zn){return zn}).toArray();Be.setState(be()(Gn).call(Gn,function(kn,zn){return kn[zn]="",kn},{})),en.logoutWithPersistOption(Gn)}),U()(L()(Be),"close",function(xt){xt.preventDefault(),Be.props.authActions.showDefinitions(!1)}),Be.state={},Be}return B()(Te,[{key:"render",value:function(){var ge,Re=this,Be=this.props,xt=Be.definitions,Dt=Be.getComponent,en=Be.authSelectors,vn=Be.errSelectors,Gn=Dt("AuthItem"),kn=Dt("oauth2",!0),zn=Dt("Button"),jr=en.authorized(),kr=m()(xt).call(xt,function(Ci,vi){return!!jr.get(vi)}),Gr=m()(xt).call(xt,function(Ci){return"oauth2"!==Ci.get("type")}),ci=m()(xt).call(xt,function(Ci){return"oauth2"===Ci.get("type")});return F.a.createElement("div",{className:"auth-container"},!!Gr.size&&F.a.createElement("form",{onSubmit:this.submitAuth},He()(Gr).call(Gr,function(Ci,vi){return F.a.createElement(Gn,{key:vi,schema:Ci,name:vi,getComponent:Dt,onAuthChange:Re.onAuthChange,authorized:jr,errSelectors:vn})}).toArray(),F.a.createElement("div",{className:"auth-btn-wrapper"},Gr.size===kr.size?F.a.createElement(zn,{className:"btn modal-btn auth",onClick:this.logoutClick},"Logout"):F.a.createElement(zn,{type:"submit",className:"btn modal-btn auth authorize"},"Authorize"),F.a.createElement(zn,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close"))),ci&&ci.size?F.a.createElement("div",null,F.a.createElement("div",{className:"scope-def"},F.a.createElement("p",null,"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes."),F.a.createElement("p",null,"API requires the following scopes. Select which ones you want to grant to Swagger UI.")),He()(ge=m()(xt).call(xt,function(Ci){return"oauth2"===Ci.get("type")})).call(ge,function(Ci,vi){return F.a.createElement("div",{key:vi},F.a.createElement(kn,{authorized:jr,schema:Ci,name:vi}))}).toArray()):null)}}]),Te}(F.a.Component),Nr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.schema,xt=Re.name,Dt=Re.getComponent,en=Re.onAuthChange,vn=Re.authorized,Gn=Re.errSelectors,kn=Dt("apiKeyAuth"),zn=Dt("basicAuth"),jr=Be.get("type");switch(jr){case"apiKey":ge=F.a.createElement(kn,{key:xt,schema:Be,name:xt,errSelectors:Gn,authorized:vn,getComponent:Dt,onChange:en});break;case"basic":ge=F.a.createElement(zn,{key:xt,schema:Be,name:xt,errSelectors:Gn,authorized:vn,getComponent:Dt,onChange:en});break;default:ge=F.a.createElement("div",{key:xt},"Unknown security definition type ",jr)}return F.a.createElement("div",{key:"".concat(xt,"-jump")},ge)}}]),Te}(F.a.Component),br=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props.error,Re=ge.get("level"),Be=ge.get("message"),xt=ge.get("source");return F.a.createElement("div",{className:"errors"},F.a.createElement("b",null,xt," ",Re),F.a.createElement("span",null,Be))}}]),Te}(F.a.Component),Jn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChange",function(Gn){var kn=Be.props.onChange,zn=Gn.target.value,jr=ne()({},Be.state,{value:zn});Be.setState(jr),kn(jr)});var xt=Be.props,Dt=xt.name,en=xt.schema,vn=Be.getValue();return Be.state={name:Dt,schema:en,value:vn},Be}return B()(Te,[{key:"getValue",value:function(){var ge=this.props,Be=ge.authorized;return Be&&Be.getIn([ge.name,"value"])}},{key:"render",value:function(){var ge,Re,Be=this.props,xt=Be.schema,Dt=Be.getComponent,en=Be.errSelectors,vn=Be.name,Gn=Dt("Input"),kn=Dt("Row"),zn=Dt("Col"),jr=Dt("authError"),kr=Dt("Markdown",!0),Gr=Dt("JumpToPath",!0),ci=this.getValue(),Ci=m()(ge=en.allErrors()).call(ge,function(vi){return vi.get("authId")===vn});return F.a.createElement("div",null,F.a.createElement("h4",null,F.a.createElement("code",null,vn||xt.get("name")),"\xa0(apiKey)",F.a.createElement(Gr,{path:["securityDefinitions",vn]})),ci&&F.a.createElement("h6",null,"Authorized"),F.a.createElement(kn,null,F.a.createElement(kr,{source:xt.get("description")})),F.a.createElement(kn,null,F.a.createElement("p",null,"Name: ",F.a.createElement("code",null,xt.get("name")))),F.a.createElement(kn,null,F.a.createElement("p",null,"In: ",F.a.createElement("code",null,xt.get("in")))),F.a.createElement(kn,null,F.a.createElement("label",null,"Value:"),ci?F.a.createElement("code",null," ****** "):F.a.createElement(zn,null,F.a.createElement(Gn,{type:"text",onChange:this.onChange,autoFocus:!0}))),He()(Re=Ci.valueSeq()).call(Re,function(vi,Ai){return F.a.createElement(jr,{error:vi,key:Ai})}))}}]),Te}(F.a.Component),rr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChange",function(Gn){var kn=Be.props.onChange,zn=Gn.target,Gr=Be.state.value;Gr[zn.name]=zn.value,Be.setState({value:Gr}),kn(Be.state)});var xt=Be.props,Dt=xt.schema,en=xt.name,vn=Be.getValue().username;return Be.state={name:en,schema:Dt,value:vn?{username:vn}:{}},Be}return B()(Te,[{key:"getValue",value:function(){var ge=this.props,Re=ge.authorized;return Re&&Re.getIn([ge.name,"value"])||{}}},{key:"render",value:function(){var ge,Re,Be=this.props,xt=Be.schema,Dt=Be.getComponent,en=Be.name,vn=Be.errSelectors,Gn=Dt("Input"),kn=Dt("Row"),zn=Dt("Col"),jr=Dt("authError"),kr=Dt("JumpToPath",!0),Gr=Dt("Markdown",!0),ci=this.getValue().username,Ci=m()(ge=vn.allErrors()).call(ge,function(vi){return vi.get("authId")===en});return F.a.createElement("div",null,F.a.createElement("h4",null,"Basic authorization",F.a.createElement(kr,{path:["securityDefinitions",en]})),ci&&F.a.createElement("h6",null,"Authorized"),F.a.createElement(kn,null,F.a.createElement(Gr,{source:xt.get("description")})),F.a.createElement(kn,null,F.a.createElement("label",null,"Username:"),ci?F.a.createElement("code",null," ",ci," "):F.a.createElement(zn,null,F.a.createElement(Gn,{type:"text",required:"required",name:"username",onChange:this.onChange,autoFocus:!0}))),F.a.createElement(kn,null,F.a.createElement("label",null,"Password:"),ci?F.a.createElement("code",null," ****** "):F.a.createElement(zn,null,F.a.createElement(Gn,{autoComplete:"new-password",name:"password",type:"password",onChange:this.onChange}))),He()(Re=Ci.valueSeq()).call(Re,function(vi,Ai){return F.a.createElement(jr,{error:vi,key:Ai})}))}}]),Te}(F.a.Component);function Mr(xe){var ke=xe.example,Te=xe.showValue,ge=xe.getComponent,Re=xe.getConfigs,Be=ge("Markdown",!0),xt=ge("highlightCode");return ke?F.a.createElement("div",{className:"example"},ke.get("description")?F.a.createElement("section",{className:"example__section"},F.a.createElement("div",{className:"example__section-header"},"Example Description"),F.a.createElement("p",null,F.a.createElement(Be,{source:ke.get("description")}))):null,Te&&ke.has("value")?F.a.createElement("section",{className:"example__section"},F.a.createElement("div",{className:"example__section-header"},"Example Value"),F.a.createElement(xt,{getConfigs:Re,value:Object(tr.I)(ke.get("value"))})):null):null}var yi=t(476),Li=t.n(yi),Mi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"_onSelect",function(en){var vn=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Gn=vn.isSyntheticChange,kn=void 0!==Gn&&Gn;"function"==typeof Re.props.onSelect&&Re.props.onSelect(en,{isSyntheticChange:kn})}),U()(L()(Re),"_onDomSelect",function(en){if("function"==typeof Re.props.onSelect){var vn=en.target.selectedOptions[0].getAttribute("value");Re._onSelect(vn,{isSyntheticChange:!1})}}),U()(L()(Re),"getCurrentExample",function(){var en=Re.props,vn=en.examples,kn=vn.get(en.currentExampleKey),zn=vn.keySeq().first(),jr=vn.get(zn);return kn||jr||Li()({})}),Re}return B()(Te,[{key:"componentDidMount",value:function(){var ge=this.props,Be=ge.examples;if("function"==typeof ge.onSelect){var xt=Be.first(),Dt=Be.keyOf(xt);this._onSelect(Dt,{isSyntheticChange:!0})}}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Be=ge.examples;if(Be!==this.props.examples&&!Be.has(ge.currentExampleKey)){var xt=Be.first(),Dt=Be.keyOf(xt);this._onSelect(Dt,{isSyntheticChange:!0})}}},{key:"render",value:function(){var ge=this.props,Re=ge.examples,Be=ge.currentExampleKey,xt=ge.isValueModified,Dt=ge.isModifiedValueAvailable;return F.a.createElement("div",{className:"examples-select"},ge.showLabels?F.a.createElement("span",{className:"examples-select__section-label"},"Examples: "):null,F.a.createElement("select",{className:"examples-select-element",onChange:this._onDomSelect,value:Dt&&xt?"__MODIFIED__VALUE__":Be||""},Dt?F.a.createElement("option",{value:"__MODIFIED__VALUE__"},"[Modified value]"):null,He()(Re).call(Re,function(vn,Gn){return F.a.createElement("option",{key:Gn,value:Gn},vn.get("summary")||Gn)}).valueSeq()))}}]),Te}(F.a.PureComponent);U()(Mi,"defaultProps",{examples:ln.a.Map({}),onSelect:function(){for(var xe,ke,Te=arguments.length,ge=new Array(Te),Re=0;Re<Te;Re++)ge[Re]=arguments[Re];return(xe=console).log.apply(xe,h()(ke=["DEBUG: ExamplesSelect was not given an onSelect callback"]).call(ke,ge))},currentExampleKey:null,showLabels:!0});var Oi=function(xe){return zt.List.isList(xe)?xe:Object(tr.I)(xe)},Xr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge){var Re;I()(this,Te),Re=ke.call(this,ge),U()(L()(Re),"_getStateForCurrentNamespace",function(){return(Re.state[Re.props.currentNamespace]||Object(zt.Map)()).toObject()}),U()(L()(Re),"_setStateForCurrentNamespace",function(xt){return Re._setStateForNamespace(Re.props.currentNamespace,xt)}),U()(L()(Re),"_setStateForNamespace",function(xt,Dt){var en=(Re.state[xt]||Object(zt.Map)()).mergeDeep(Dt);return Re.setState(U()({},xt,en))}),U()(L()(Re),"_isCurrentUserInputSameAsExampleValue",function(){var xt=Re.props.currentUserInputValue;return Re._getCurrentExampleValue()===xt}),U()(L()(Re),"_getValueForExample",function(xt,Dt){return Oi(((Dt||Re.props).examples||Object(zt.Map)({})).getIn([xt,"value"]))}),U()(L()(Re),"_getCurrentExampleValue",function(xt){return Re._getValueForExample((xt||Re.props).currentKey,xt||Re.props)}),U()(L()(Re),"_onExamplesSelect",function(xt){var Dt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},en=Dt.isSyntheticChange,vn=Re.props,Gn=vn.onSelect,kn=vn.updateValue,zn=vn.currentUserInputValue,jr=vn.userHasEditedBody,kr=Re._getStateForCurrentNamespace(),Gr=kr.lastUserEditedValue,ci=Re._getValueForExample(xt);if("__MODIFIED__VALUE__"===xt)return kn(Oi(Gr)),Re._setStateForCurrentNamespace({isModifiedValueSelected:!0});if("function"==typeof Gn){for(var Ci,vi=arguments.length,Ai=new Array(vi>2?vi-2:0),fo=2;fo<vi;fo++)Ai[fo-2]=arguments[fo];Gn.apply(void 0,h()(Ci=[xt,{isSyntheticChange:en}]).call(Ci,Ai))}Re._setStateForCurrentNamespace({lastDownstreamValue:ci,isModifiedValueSelected:en&&jr||!!zn&&zn!==ci}),en||"function"==typeof kn&&kn(Oi(ci))});var Be=Re._getCurrentExampleValue();return Re.state=U()({},ge.currentNamespace,Object(zt.Map)({lastUserEditedValue:Re.props.currentUserInputValue,lastDownstreamValue:Be,isModifiedValueSelected:Re.props.userHasEditedBody||Re.props.currentUserInputValue!==Be})),Re}return B()(Te,[{key:"componentWillUnmount",value:function(){this.props.setRetainRequestBodyValueFlag(!1)}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re=ge.currentUserInputValue,Be=ge.examples,xt=ge.onSelect,Dt=ge.userHasEditedBody,en=this._getStateForCurrentNamespace(),vn=en.lastUserEditedValue,Gn=en.lastDownstreamValue,kn=this._getValueForExample(ge.currentKey,ge),zn=m()(Be).call(Be,function(jr){return jr.get("value")===Re||Object(tr.I)(jr.get("value"))===Re});zn.size?xt(zn.has(ge.currentKey)?ge.currentKey:zn.keySeq().first(),{isSyntheticChange:!0}):Re!==this.props.currentUserInputValue&&Re!==vn&&Re!==Gn&&(this.props.setRetainRequestBodyValueFlag(!0),this._setStateForNamespace(ge.currentNamespace,{lastUserEditedValue:ge.currentUserInputValue,isModifiedValueSelected:Dt||Re!==kn}))}},{key:"render",value:function(){var ge=this.props,Re=ge.currentUserInputValue,Be=ge.examples,xt=ge.currentKey,Dt=ge.getComponent,en=ge.userHasEditedBody,vn=this._getStateForCurrentNamespace(),Gn=vn.lastDownstreamValue,kn=vn.lastUserEditedValue,zn=vn.isModifiedValueSelected,jr=Dt("ExamplesSelect");return F.a.createElement(jr,{examples:Be,currentExampleKey:xt,onSelect:this._onExamplesSelect,isModifiedValueAvailable:!!kn&&kn!==Gn,isValueModified:void 0!==Re&&zn&&Re!==this._getCurrentExampleValue()||en})}}]),Te}(F.a.PureComponent);U()(Xr,"defaultProps",{userHasEditedBody:!1,examples:Object(zt.Map)({}),currentNamespace:"__DEFAULT__NAMESPACE__",setRetainRequestBodyValueFlag:function(){},onSelect:function(){for(var xe,ke,Te=arguments.length,ge=new Array(Te),Re=0;Re<Te;Re++)ge[Re]=arguments[Re];return(xe=console).log.apply(xe,h()(ke=["ExamplesSelectValueRetainer: no `onSelect` function was provided"]).call(ke,ge))},updateValue:function(){for(var xe,ke,Te=arguments.length,ge=new Array(Te),Re=0;Re<Te;Re++)ge[Re]=arguments[Re];return(xe=console).log.apply(xe,h()(ke=["ExamplesSelectValueRetainer: no `updateValue` function was provided"]).call(ke,ge))}});var Kr=t(106),di=t.n(Kr),se=t(125),ct=t.n(se),Ke=t(31),Xe=t.n(Ke),Vt=t(89),Ct=t.n(Vt),rt=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"close",function(vi){vi.preventDefault(),Be.props.authActions.showDefinitions(!1)}),U()(L()(Be),"authorize",function(){var vi=Be.props,Ai=vi.authActions,fo=vi.errActions,No=vi.authSelectors,Ao=vi.oas3Selectors,io=(0,vi.getConfigs)(),So=No.getConfigs();fo.clear({authId:name,type:"auth",source:"auth"}),function(Xi){var Zi=Xi.auth,Jo=Xi.authActions,Po=Xi.errActions,ho=Xi.configs,Do=Xi.authConfigs,Ls=void 0===Do?{}:Do,_n=Xi.currentServer,Us=Zi.schema,Pa=Zi.scopes,Aa=Zi.name,so=Zi.clientId,ra=Us.get("flow"),rs=[];switch(ra){case"password":return void Jo.authorizePassword(Zi);case"application":return void Jo.authorizeApplication(Zi);case"accessCode":rs.push("response_type=code");break;case"implicit":rs.push("response_type=token");break;case"clientCredentials":case"client_credentials":return void Jo.authorizeApplication(Zi);case"authorizationCode":case"authorization_code":rs.push("response_type=code")}"string"==typeof so&&rs.push("client_id="+encodeURIComponent(so));var wa=ho.oauth2RedirectUrl;if(void 0!==wa){rs.push("redirect_uri="+encodeURIComponent(wa));var Ws=[];Se()(Pa)?Ws=Pa:ln.a.List.isList(Pa)&&(Ws=Pa.toArray()),Ws.length>0&&rs.push("scope="+encodeURIComponent(Ws.join(Ls.scopeSeparator||" ")));var xs=Object(tr.a)(new Date);if(rs.push("state="+encodeURIComponent(xs)),void 0!==Ls.realm&&rs.push("realm="+encodeURIComponent(Ls.realm)),("authorizationCode"===ra||"authorization_code"===ra||"accessCode"===ra)&&Ls.usePkceWithAuthorizationCodeGrant){var Rs=Object(tr.j)(),qs=Object(tr.c)(Rs);rs.push("code_challenge="+qs),rs.push("code_challenge_method=S256"),Zi.codeVerifier=Rs}var Ya=Ls.additionalQueryStringParams;for(var Zs in Ya){var Za;void 0!==Ya[Zs]&&rs.push(He()(Za=[Zs,Ya[Zs]]).call(Za,encodeURIComponent).join("="))}var Va=Us.get("authorizationUrl"),Ua=[_n?Ct()(Object(tr.F)(Va),_n,!0).toString():Object(tr.F)(Va),rs.join("&")].join(-1===Ut()(Va).call(Va,"?")?"?":"&");Ht.a.swaggerUIRedirectOauth2={auth:Zi,state:xs,redirectUrl:wa,callback:"implicit"===ra?Jo.preAuthorizeImplicit:Ls.useBasicAuthenticationWithAccessCodeGrant?Jo.authorizeAccessCodeWithBasicAuthentication:Jo.authorizeAccessCodeWithFormParams,errCb:Po.newAuthErr},Ht.a.open(Ua)}else Po.newAuthErr({authId:Aa,source:"validation",level:"error",message:"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed."})}({auth:Be.state,currentServer:Ao.serverEffectiveValue(Ao.selectedServer()),authActions:Ai,errActions:fo,configs:io,authConfigs:So})}),U()(L()(Be),"onScopeChange",function(vi){var Ai,fo,po=vi.target,No=po.checked,Ao=po.dataset.value;if(No&&-1===Ut()(Ai=Be.state.scopes).call(Ai,Ao)){var io,So=h()(io=Be.state.scopes).call(io,[Ao]);Be.setState({scopes:So})}else if(!No&&Ut()(fo=Be.state.scopes).call(fo,Ao)>-1){var Xi;Be.setState({scopes:m()(Xi=Be.state.scopes).call(Xi,function(Zi){return Zi!==Ao})})}}),U()(L()(Be),"onInputChange",function(vi){var Ai=vi.target,fo=Ai.dataset.name,po=Ai.value,No=U()({},fo,po);Be.setState(No)}),U()(L()(Be),"selectScopes",function(vi){var Ai;Be.setState(vi.target.dataset.all?{scopes:di()(ct()(Ai=Be.props.schema.get("allowedScopes")||Be.props.schema.get("scopes")).call(Ai))}:{scopes:[]})}),U()(L()(Be),"logout",function(vi){vi.preventDefault();var Ai=Be.props,fo=Ai.authActions,No=Ai.name;Ai.errActions.clear({authId:No,type:"auth",source:"auth"}),fo.logoutWithPersistOption([No])});var xt=Be.props,Dt=xt.name,en=xt.schema,vn=xt.authorized,Gn=xt.authSelectors,kn=vn&&vn.get(Dt),zn=Gn.getConfigs()||{},jr=kn&&kn.get("username")||"",kr=kn&&kn.get("clientId")||zn.clientId||"",Gr=kn&&kn.get("clientSecret")||zn.clientSecret||"",ci=kn&&kn.get("passwordType")||"basic",Ci=kn&&kn.get("scopes")||zn.scopes||[];return"string"==typeof Ci&&(Ci=Ci.split(zn.scopeSeparator||" ")),Be.state={appName:zn.appName,name:Dt,schema:en,scopes:Ci,clientId:kr,clientSecret:Gr,username:jr,password:"",passwordType:ci},Be}return B()(Te,[{key:"render",value:function(){var ge,Re,Be=this,xt=this.props,Dt=xt.schema,en=xt.getComponent,vn=xt.authSelectors,Gn=xt.errSelectors,kn=xt.name,zn=xt.specSelectors,jr=en("Input"),kr=en("Row"),Gr=en("Col"),ci=en("Button"),Ci=en("authError"),vi=en("JumpToPath",!0),Ai=en("Markdown",!0),fo=en("InitializedInput"),po=zn.isOAS3,No=po()?Dt.get("openIdConnectUrl"):null,Ao="implicit",io="password",So=po()?No?"authorization_code":"authorizationCode":"accessCode",Xi=po()?No?"client_credentials":"clientCredentials":"application",Zi=Dt.get("flow"),Jo=Dt.get("allowedScopes")||Dt.get("scopes"),Po=!!vn.authorized().get(kn),ho=m()(ge=Gn.allErrors()).call(ge,function(_n){return _n.get("authId")===kn}),Do=!m()(ho).call(ho,function(_n){return"validation"===_n.get("source")}).size,Ls=Dt.get("description");return F.a.createElement("div",null,F.a.createElement("h4",null,kn," (OAuth2, ",Dt.get("flow"),") ",F.a.createElement(vi,{path:["securityDefinitions",kn]})),this.state.appName?F.a.createElement("h5",null,"Application: ",this.state.appName," "):null,Ls&&F.a.createElement(Ai,{source:Dt.get("description")}),Po&&F.a.createElement("h6",null,"Authorized"),No&&F.a.createElement("p",null,"OpenID Connect URL: ",F.a.createElement("code",null,No)),(Zi===Ao||Zi===So)&&F.a.createElement("p",null,"Authorization URL: ",F.a.createElement("code",null,Dt.get("authorizationUrl"))),(Zi===io||Zi===So||Zi===Xi)&&F.a.createElement("p",null,"Token URL:",F.a.createElement("code",null," ",Dt.get("tokenUrl"))),F.a.createElement("p",{className:"flow"},"Flow: ",F.a.createElement("code",null,Dt.get("flow"))),Zi!==io?null:F.a.createElement(kr,null,F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"oauth_username"},"username:"),Po?F.a.createElement("code",null," ",this.state.username," "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement("input",{id:"oauth_username",type:"text","data-name":"username",onChange:this.onInputChange,autoFocus:!0}))),F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"oauth_password"},"password:"),Po?F.a.createElement("code",null," ****** "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement("input",{id:"oauth_password",type:"password","data-name":"password",onChange:this.onInputChange}))),F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"password_type"},"Client credentials location:"),Po?F.a.createElement("code",null," ",this.state.passwordType," "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement("select",{id:"password_type","data-name":"passwordType",onChange:this.onInputChange},F.a.createElement("option",{value:"basic"},"Authorization header"),F.a.createElement("option",{value:"request-body"},"Request body"))))),(Zi===Xi||Zi===Ao||Zi===So||Zi===io)&&(!Po||Po&&this.state.clientId)&&F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"client_id"},"client_id:"),Po?F.a.createElement("code",null," ****** "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement(fo,{id:"client_id",type:"text",required:Zi===io,initialValue:this.state.clientId,"data-name":"clientId",onChange:this.onInputChange}))),(Zi===Xi||Zi===So||Zi===io)&&F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"client_secret"},"client_secret:"),Po?F.a.createElement("code",null," ****** "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement(fo,{id:"client_secret",initialValue:this.state.clientSecret,type:"password","data-name":"clientSecret",onChange:this.onInputChange}))),!Po&&Jo&&Jo.size?F.a.createElement("div",{className:"scopes"},F.a.createElement("h2",null,"Scopes:",F.a.createElement("a",{onClick:this.selectScopes,"data-all":!0},"select all"),F.a.createElement("a",{onClick:this.selectScopes},"select none")),He()(Jo).call(Jo,function(_n,Us){var Pa,Aa,so,ra,rs;return F.a.createElement(kr,{key:Us},F.a.createElement("div",{className:"checkbox"},F.a.createElement(jr,{"data-value":Us,id:h()(Pa=h()(Aa="".concat(Us,"-")).call(Aa,Zi,"-checkbox-")).call(Pa,Be.state.name),disabled:Po,checked:Xe()(so=Be.state.scopes).call(so,Us),type:"checkbox",onChange:Be.onScopeChange}),F.a.createElement("label",{htmlFor:h()(ra=h()(rs="".concat(Us,"-")).call(rs,Zi,"-checkbox-")).call(ra,Be.state.name)},F.a.createElement("span",{className:"item"}),F.a.createElement("div",{className:"text"},F.a.createElement("p",{className:"name"},Us),F.a.createElement("p",{className:"description"},_n)))))}).toArray()):null,He()(Re=ho.valueSeq()).call(Re,function(_n,Us){return F.a.createElement(Ci,{error:_n,key:Us})}),F.a.createElement("div",{className:"auth-btn-wrapper"},Do&&(Po?F.a.createElement(ci,{className:"btn modal-btn auth authorize",onClick:this.logout},"Logout"):F.a.createElement(ci,{className:"btn modal-btn auth authorize",onClick:this.authorize},"Authorize")),F.a.createElement(ci,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close")))}}]),Te}(F.a.Component),yt=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onClick",function(){var en=Re.props,vn=en.specActions,Gn=en.path,kn=en.method;vn.clearResponse(Gn,kn),vn.clearRequest(Gn,kn)}),Re}return B()(Te,[{key:"render",value:function(){return F.a.createElement("button",{className:"btn btn-clear opblock-control__btn",onClick:this.onClick},"Clear")}}]),Te}($e.Component),qe=function(xe){var ke=xe.headers;return F.a.createElement("div",null,F.a.createElement("h5",null,"Response headers"),F.a.createElement("pre",{className:"microlight"},ke))},$t=function(xe){var ke=xe.duration;return F.a.createElement("div",null,F.a.createElement("h5",null,"Request duration"),F.a.createElement("pre",{className:"microlight"},ke," ms"))},or=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"shouldComponentUpdate",value:function(ge){return this.props.response!==ge.response||this.props.path!==ge.path||this.props.method!==ge.method||this.props.displayRequestDuration!==ge.displayRequestDuration}},{key:"render",value:function(){var ge,Re=this.props,Be=Re.response,xt=Re.getComponent,Dt=Re.getConfigs,en=Re.displayRequestDuration,vn=Re.specSelectors,Gn=Re.path,kn=Re.method,zn=Dt(),kr=zn.requestSnippetsEnabled,Gr=zn.showMutatedRequest?vn.mutatedRequestFor(Gn,kn):vn.requestFor(Gn,kn),ci=Be.get("status"),Ci=Gr.get("url"),vi=Be.get("headers").toJS(),Ai=Be.get("notDocumented"),fo=Be.get("error"),po=Be.get("text"),No=Be.get("duration"),Ao=T()(vi),io=vi["content-type"]||vi["Content-Type"],So=xt("responseBody"),Xi=He()(Ao).call(Ao,function(Do){var Ls=Se()(vi[Do])?vi[Do].join():vi[Do];return F.a.createElement("span",{className:"headerline",key:Do}," ",Do,": ",Ls," ")}),Zi=0!==Xi.length,Jo=xt("Markdown",!0),Po=xt("RequestSnippets",!0),ho=xt("curl");return F.a.createElement("div",null,Gr&&(!0===kr||"true"===kr?F.a.createElement(Po,{request:Gr}):F.a.createElement(ho,{request:Gr,getConfigs:Dt})),Ci&&F.a.createElement("div",null,F.a.createElement("h4",null,"Request URL"),F.a.createElement("div",{className:"request-url"},F.a.createElement("pre",{className:"microlight"},Ci))),F.a.createElement("h4",null,"Server response"),F.a.createElement("table",{className:"responses-table live-responses-table"},F.a.createElement("thead",null,F.a.createElement("tr",{className:"responses-header"},F.a.createElement("td",{className:"col_header response-col_status"},"Code"),F.a.createElement("td",{className:"col_header response-col_description"},"Details"))),F.a.createElement("tbody",null,F.a.createElement("tr",{className:"response"},F.a.createElement("td",{className:"response-col_status"},ci,Ai?F.a.createElement("div",{className:"response-undocumented"},F.a.createElement("i",null," Undocumented ")):null),F.a.createElement("td",{className:"response-col_description"},fo?F.a.createElement(Jo,{source:h()(ge="".concat(""!==Be.get("name")?"".concat(Be.get("name"),": "):"")).call(ge,Be.get("message"))}):null,po?F.a.createElement(So,{content:po,contentType:io,url:Ci,headers:vi,getConfigs:Dt,getComponent:xt}):null,Zi?F.a.createElement(qe,{headers:Xi}):null,en&&No?F.a.createElement($t,{duration:No}):null)))))}}]),Te}(F.a.Component),Vn=t(203),Vr=["get","put","post","delete","options","head","patch"],Cr=h()(Vr).call(Vr,["trace"]),ai=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"renderOperationTag",function(en,vn){var Gn=Re.props,kn=Gn.specSelectors,zn=Gn.getComponent,jr=Gn.oas3Selectors,kr=Gn.layoutSelectors,Gr=Gn.layoutActions,ci=Gn.getConfigs,Ci=zn("OperationContainer",!0),vi=zn("OperationTag"),Ai=en.get("operations");return F.a.createElement(vi,{key:"operation-"+vn,tagObj:en,tag:vn,oas3Selectors:jr,layoutSelectors:kr,layoutActions:Gr,getConfigs:ci,getComponent:zn,specUrl:kn.url()},F.a.createElement("div",{className:"operation-tag-content"},He()(Ai).call(Ai,function(fo){var po,No=fo.get("path"),Ao=fo.get("method"),io=ln.a.List(["paths",No,Ao]),So=kn.isOAS3()?Cr:Vr;return-1===Ut()(So).call(So,Ao)?null:F.a.createElement(Ci,{key:h()(po="".concat(No,"-")).call(po,Ao),specPath:io,op:fo,path:No,method:Ao,tag:vn})}).toArray()))}),Re}return B()(Te,[{key:"render",value:function(){var ge=this.props.specSelectors.taggedOperations();return 0===ge.size?F.a.createElement("h3",null," No operations defined in spec!"):F.a.createElement("div",null,He()(ge).call(ge,this.renderOperationTag).toArray(),ge.size<1?F.a.createElement("h3",null," No operations defined in spec! "):null)}}]),Te}(F.a.Component),Dr=t(90),Jr=t.n(Dr);function rn(xe){return xe.match(/^(?:[a-z]+:)?\/\//i)}function fi(xe,ke){return xe?rn(xe)?(Te=xe).match(/^\/\//i)?h()(ge="".concat(window.location.protocol)).call(ge,Te):Te:new Jr.a(xe,ke).href:ke;var Te,ge}function Ei(xe,ke){var Te=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},ge=Te.selectedServer,Re=void 0===ge?"":ge;if(xe){if(rn(xe))return xe;var Be=fi(Re,ke);return rn(Be)?new Jr.a(xe,Be).href:new Jr.a(xe,window.location.href).href}}function wi(xe,ke){var Te=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},ge=Te.selectedServer,Re=void 0===ge?"":ge;try{return Ei(xe,ke,{selectedServer:Re})}catch(Be){return}}var _o=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.tagObj,xt=Re.tag,Dt=Re.children,en=Re.oas3Selectors,vn=Re.layoutSelectors,Gn=Re.layoutActions,zn=Re.getComponent,jr=Re.specUrl,kr=(0,Re.getConfigs)(),Gr=kr.docExpansion,ci=kr.deepLinking,Ci=ci&&"false"!==ci,vi=zn("Collapse"),Ai=zn("Markdown",!0),fo=zn("DeepLink"),po=zn("Link"),No=Be.getIn(["tagDetails","description"],null),Ao=Be.getIn(["tagDetails","externalDocs","description"]),io=Be.getIn(["tagDetails","externalDocs","url"]);ge=Object(tr.s)(en)&&Object(tr.s)(en.selectedServer)?wi(io,jr,{selectedServer:en.selectedServer()}):io;var So=["operations-tag",xt],Xi=vn.isShown(So,"full"===Gr||"list"===Gr);return F.a.createElement("div",{className:Xi?"opblock-tag-section is-open":"opblock-tag-section"},F.a.createElement("h3",{onClick:function(){return Gn.show(So,!Xi)},className:No?"opblock-tag":"opblock-tag no-desc",id:He()(So).call(So,function(Zi){return Object(tr.g)(Zi)}).join("-"),"data-tag":xt,"data-is-open":Xi},F.a.createElement(fo,{enabled:Ci,isShown:Xi,path:Object(tr.d)(xt),text:xt}),No?F.a.createElement("small",null,F.a.createElement(Ai,{source:No})):F.a.createElement("small",null),F.a.createElement("div",null,Ao?F.a.createElement("small",null,Ao,ge?": ":null,ge?F.a.createElement(po,{href:Object(tr.F)(ge),onClick:function(Zi){return Zi.stopPropagation()},target:"_blank"},ge):null):null),F.a.createElement("button",{"aria-expanded":Xi,className:"expand-operation",title:Xi?"Collapse operation":"Expand operation",onClick:function(){return Gn.show(So,!Xi)}},F.a.createElement("svg",{className:"arrow",width:"20",height:"20","aria-hidden":"true",focusable:"false"},F.a.createElement("use",{href:Xi?"#large-arrow-up":"#large-arrow-down",xlinkHref:Xi?"#large-arrow-up":"#large-arrow-down"})))),F.a.createElement(vi,{isOpened:Xi},Dt))}}]),Te}(F.a.Component);U()(_o,"defaultProps",{tagObj:ln.a.fromJS({}),tag:""});var ki=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.specPath,Be=ge.response,xt=ge.request,Dt=ge.toggleShown,en=ge.onTryoutClick,vn=ge.onCancelClick,Gn=ge.onExecute,kn=ge.fn,zn=ge.getComponent,jr=ge.getConfigs,kr=ge.specActions,Gr=ge.specSelectors,ci=ge.authActions,Ci=ge.authSelectors,vi=ge.oas3Actions,Ai=ge.oas3Selectors,fo=this.props.operation,po=fo.toJS(),No=po.deprecated,Ao=po.isShown,io=po.path,So=po.method,Xi=po.op,Zi=po.tag,Jo=po.operationId,Po=po.allowTryItOut,ho=po.displayRequestDuration,Do=po.tryItOutEnabled,Ls=po.executeInProgress,_n=Xi.description,Us=Xi.externalDocs,Pa=Xi.schemes,Aa=Us?wi(Us.url,Gr.url(),{selectedServer:Ai.selectedServer()}):"",so=fo.getIn(["op"]),ra=so.get("responses"),rs=Object(tr.n)(so,["parameters"]),wa=Gr.operationScheme(io,So),Ws=["operations",Zi,Jo],Fa=Object(tr.m)(so),xs=zn("responses"),Rs=zn("parameters"),qs=zn("execute"),Ya=zn("clear"),Zs=zn("Collapse"),Za=zn("Markdown",!0),Ha=zn("schemes"),Va=zn("OperationServers"),Ua=zn("OperationExt"),al=zn("OperationSummary"),js=zn("Link"),ll=jr().showExtensions;if(ra&&Be&&Be.size>0){var sc=!ra.get(String(Be.get("status")))&&!ra.get("default");Be=Be.set("notDocumented",sc)}var Vl=[io,So];return F.a.createElement("div",{className:No?"opblock opblock-deprecated":Ao?"opblock opblock-".concat(So," is-open"):"opblock opblock-".concat(So),id:Object(tr.g)(Ws.join("-"))},F.a.createElement(al,{operationProps:fo,isShown:Ao,toggleShown:Dt,getComponent:zn,authActions:ci,authSelectors:Ci,specPath:Re}),F.a.createElement(Zs,{isOpened:Ao},F.a.createElement("div",{className:"opblock-body"},so&&so.size||null===so?null:F.a.createElement("img",{height:"32px",width:"32px",src:t(447),className:"opblock-loading-animation"}),No&&F.a.createElement("h4",{className:"opblock-title_normal"}," Warning: Deprecated"),_n&&F.a.createElement("div",{className:"opblock-description-wrapper"},F.a.createElement("div",{className:"opblock-description"},F.a.createElement(Za,{source:_n}))),Aa?F.a.createElement("div",{className:"opblock-external-docs-wrapper"},F.a.createElement("h4",{className:"opblock-title_normal"},"Find more details"),F.a.createElement("div",{className:"opblock-external-docs"},F.a.createElement("span",{className:"opblock-external-docs__description"},F.a.createElement(Za,{source:Us.description})),F.a.createElement(js,{target:"_blank",className:"opblock-external-docs__link",href:Object(tr.F)(Aa)},Aa))):null,so&&so.size?F.a.createElement(Rs,{parameters:rs,specPath:Re.push("parameters"),operation:so,onChangeKey:Vl,onTryoutClick:en,onCancelClick:vn,tryItOutEnabled:Do,allowTryItOut:Po,fn:kn,getComponent:zn,specActions:kr,specSelectors:Gr,pathMethod:[io,So],getConfigs:jr,oas3Actions:vi,oas3Selectors:Ai}):null,Do?F.a.createElement(Va,{getComponent:zn,path:io,method:So,operationServers:so.get("servers"),pathServers:Gr.paths().getIn([io,"servers"]),getSelectedServer:Ai.selectedServer,setSelectedServer:vi.setSelectedServer,setServerVariableValue:vi.setServerVariableValue,getServerVariable:Ai.serverVariableValue,getEffectiveServerValue:Ai.serverEffectiveValue}):null,Do&&Po&&Pa&&Pa.size?F.a.createElement("div",{className:"opblock-schemes"},F.a.createElement(Ha,{schemes:Pa,path:io,method:So,specActions:kr,currentScheme:wa})):null,F.a.createElement("div",{className:Do&&Be&&Po?"btn-group":"execute-wrapper"},Do&&Po?F.a.createElement(qs,{operation:so,specActions:kr,specSelectors:Gr,oas3Selectors:Ai,oas3Actions:vi,path:io,method:So,onExecute:Gn,disabled:Ls}):null,Do&&Be&&Po?F.a.createElement(Ya,{specActions:kr,path:io,method:So}):null),Ls?F.a.createElement("div",{className:"loading-container"},F.a.createElement("div",{className:"loading"})):null,ra?F.a.createElement(xs,{responses:ra,request:xt,tryItOutResponse:Be,getComponent:zn,getConfigs:jr,specSelectors:Gr,oas3Actions:vi,oas3Selectors:Ai,specActions:kr,produces:Gr.producesOptionsFor([io,So]),producesValue:Gr.currentProducesFor([io,So]),specPath:Re.push("responses"),path:io,method:So,displayRequestDuration:ho,fn:kn}):null,ll&&Fa.size?F.a.createElement(Ua,{extensions:Fa,getComponent:zn}):null)))}}]),Te}($e.PureComponent);U()(ki,"defaultProps",{operation:null,response:null,request:null,specPath:Object(zt.List)(),summary:""});var to=t(102),qi=t.n(to),Wi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.isShown,xt=Re.toggleShown,Dt=Re.getComponent,en=Re.authActions,vn=Re.authSelectors,Gn=Re.operationProps,kn=Re.specPath,zn=Gn.toJS(),jr=zn.summary,kr=zn.isAuthorized,Gr=zn.method,Ci=zn.showSummary,vi=zn.path,Ai=zn.operationId,fo=zn.originalOperationId,po=zn.displayOperationId,No=zn.op.summary,Ao=Gn.get("security"),io=Dt("authorizeOperationBtn"),So=Dt("OperationSummaryMethod"),Xi=Dt("OperationSummaryPath"),Zi=Dt("JumpToPath",!0),Jo=Ao&&!!Ao.count(),Po=Jo&&1===Ao.size&&Ao.first().isEmpty(),ho=!Jo||Po;return F.a.createElement("div",{className:"opblock-summary opblock-summary-".concat(Gr)},F.a.createElement("button",{"aria-label":h()(ge="".concat(Gr," ")).call(ge,vi.replace(/\//g,"\u200b/")),"aria-expanded":Be,className:"opblock-summary-control",onClick:xt},F.a.createElement(So,{method:Gr}),F.a.createElement(Xi,{getComponent:Dt,operationProps:Gn,specPath:kn}),Ci?F.a.createElement("div",{className:"opblock-summary-description"},qi()(No||jr)):null,po&&(fo||Ai)?F.a.createElement("span",{className:"opblock-summary-operation-id"},fo||Ai):null,F.a.createElement("svg",{className:"arrow",width:"20",height:"20","aria-hidden":"true",focusable:"false"},F.a.createElement("use",{href:Be?"#large-arrow-up":"#large-arrow-down",xlinkHref:Be?"#large-arrow-up":"#large-arrow-down"}))),ho?null:F.a.createElement(io,{isAuthorized:kr,onClick:function(){var Do=vn.definitionsForRequirements(Ao);en.showDefinitions(Do)}}),F.a.createElement(Zi,{path:kn}))}}]),Te}($e.PureComponent);U()(Wi,"defaultProps",{operationProps:null,specPath:Object(zt.List)(),summary:""});var eo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){return F.a.createElement("span",{className:"opblock-summary-method"},this.props.method.toUpperCase())}}]),Te}($e.PureComponent);U()(eo,"defaultProps",{operationProps:null});var Gi=t(200),Wo=t.n(Gi),Ro=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){for(var ge,Re=this.props,Be=Re.getComponent,xt=Re.operationProps.toJS(),Dt=xt.deprecated,en=xt.isShown,vn=xt.path,Gn=xt.tag,kn=xt.operationId,zn=xt.isDeepLinkingEnabled,jr=vn.split(/(?=\/)/g),kr=1;kr<jr.length;kr+=2)Wo()(jr).call(jr,kr,0,F.a.createElement("wbr",{key:kr}));var Gr=Be("DeepLink");return F.a.createElement("span",{className:Dt?"opblock-summary-path__deprecated":"opblock-summary-path","data-path":vn},F.a.createElement(Gr,{enabled:zn,isShown:en,path:Object(tr.d)(h()(ge="".concat(Gn,"/")).call(ge,kn)),text:jr}))}}]),Te}($e.PureComponent),Bo=t(13),Ko=t.n(Bo),ts=function(xe){var ke,Te=xe.extensions,ge=(0,xe.getComponent)("OperationExtRow");return F.a.createElement("div",{className:"opblock-section"},F.a.createElement("div",{className:"opblock-section-header"},F.a.createElement("h4",null,"Extensions")),F.a.createElement("div",{className:"table-container"},F.a.createElement("table",null,F.a.createElement("thead",null,F.a.createElement("tr",null,F.a.createElement("td",{className:"col_header"},"Field"),F.a.createElement("td",{className:"col_header"},"Value"))),F.a.createElement("tbody",null,He()(ke=Te.entrySeq()).call(ke,function(Re){var Be,xt=Ko()(Re,2),Dt=xt[0],en=xt[1];return F.a.createElement(ge,{key:h()(Be="".concat(Dt,"-")).call(Be,en),xKey:Dt,xVal:en})})))))},ua=function(xe){var ke=xe.xKey,Te=xe.xVal,ge=Te?Te.toJS?Te.toJS():Te:null;return F.a.createElement("tr",null,F.a.createElement("td",null,ke),F.a.createElement("td",null,R()(ge)))},ds=t(23),qo=t.n(ds),oa=t(47),Er=t.n(oa),st=t(91),pn=t(39),ee=t.n(pn),Ve=t(104),fn=t.n(Ve),Tn=t(477),$r=t.n(Tn),ti=t(143),Ri=function(xe){var ke=xe.value,Te=xe.fileName,ge=xe.className,Re=xe.downloadable,Be=xe.getConfigs,xt=xe.canCopy,Dt=xe.language,en=fn()(Be)?Be():null,vn=!1!==ee()(en,"syntaxHighlight")&&ee()(en,"syntaxHighlight.activated",!0),Gn=Object($e.useRef)(null);Object($e.useEffect)(function(){var zn,jr=m()(zn=di()(Gn.current.childNodes)).call(zn,function(kr){return!!kr.nodeType&&kr.classList.contains("microlight")});return qo()(jr).call(jr,function(kr){return kr.addEventListener("mousewheel",kn,{passive:!1})}),function(){qo()(jr).call(jr,function(kr){return kr.removeEventListener("mousewheel",kn)})}},[ke,ge,Dt]);var kn=function(zn){var jr=zn.target,kr=zn.deltaY,Gr=jr.scrollHeight,ci=jr.offsetHeight,Ci=jr.scrollTop;Gr>ci&&(0===Ci&&kr<0||ci+Ci>=Gr&&kr>0)&&zn.preventDefault()};return F.a.createElement("div",{className:"highlight-code",ref:Gn},Re?F.a.createElement("div",{className:"download-contents",onClick:function(){$r()(ke,Te)}},"Download"):null,xt&&F.a.createElement("div",{className:"copy-to-clipboard"},F.a.createElement(ti.CopyToClipboard,{text:ke},F.a.createElement("button",null))),vn?F.a.createElement(st.a,{language:Dt,className:Er()(ge,"microlight"),style:Object(st.b)(ee()(en,"syntaxHighlight.theme","agate"))},ke):F.a.createElement("pre",{className:Er()(ge,"microlight")},ke))};Ri.defaultProps={fileName:"response.txt"};var wo=Ri,gi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChangeProducesWrapper",function(en){return Re.props.specActions.changeProducesValue([Re.props.path,Re.props.method],en)}),U()(L()(Re),"onResponseContentTypeChange",function(en){var kn=Re.props;en.controlsAcceptHeader&&kn.oas3Actions.setResponseContentType({value:en.value,path:kn.path,method:kn.method})}),Re}return B()(Te,[{key:"render",value:function(){var ge,Re,Be=this,xt=this.props,Dt=xt.responses,en=xt.tryItOutResponse,vn=xt.getComponent,Gn=xt.getConfigs,kn=xt.specSelectors,zn=xt.fn,jr=xt.producesValue,kr=xt.displayRequestDuration,Gr=xt.specPath,ci=xt.path,Ci=xt.method,vi=xt.oas3Selectors,Ai=xt.oas3Actions,fo=Object(tr.f)(Dt),po=vn("contentType"),No=vn("liveResponse"),Ao=vn("response"),io=this.props.produces&&this.props.produces.size?this.props.produces:Te.defaultProps.produces,So=kn.isOAS3()?Object(tr.k)(Dt):null,Xi=function(Jo){var Po=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";return Jo.replace(/[^\w-]/g,Po)}(h()(ge="".concat(Ci)).call(ge,ci,"_responses")),Zi="".concat(Xi,"_select");return F.a.createElement("div",{className:"responses-wrapper"},F.a.createElement("div",{className:"opblock-section-header"},F.a.createElement("h4",null,"Responses"),kn.isOAS3()?null:F.a.createElement("label",{htmlFor:Zi},F.a.createElement("span",null,"Response content type"),F.a.createElement(po,{value:jr,ariaControls:Xi,ariaLabel:"Response content type",className:"execute-content-type",contentTypes:io,controlId:Zi,onChange:this.onChangeProducesWrapper}))),F.a.createElement("div",{className:"responses-inner"},en?F.a.createElement("div",null,F.a.createElement(No,{response:en,getComponent:vn,getConfigs:Gn,specSelectors:kn,path:this.props.path,method:this.props.method,displayRequestDuration:kr}),F.a.createElement("h4",null,"Responses")):null,F.a.createElement("table",{"aria-live":"polite",className:"responses-table",id:Xi,role:"region"},F.a.createElement("thead",null,F.a.createElement("tr",{className:"responses-header"},F.a.createElement("td",{className:"col_header response-col_status"},"Code"),F.a.createElement("td",{className:"col_header response-col_description"},"Description"),kn.isOAS3()?F.a.createElement("td",{className:"col col_header response-col_links"},"Links"):null)),F.a.createElement("tbody",null,He()(Re=Dt.entrySeq()).call(Re,function(Jo){var Po=Ko()(Jo,2),ho=Po[0],Do=Po[1],Ls=en&&en.get("status")==ho?"response_current":"";return F.a.createElement(Ao,{key:ho,path:ci,method:Ci,specPath:Gr.push(ho),isDefault:fo===ho,fn:zn,className:Ls,code:ho,response:Do,specSelectors:kn,controlsAcceptHeader:Do===So,onContentTypeChange:Be.onResponseContentTypeChange,contentType:jr,getConfigs:Gn,activeExamplesKey:vi.activeExamplesMember(ci,Ci,"responses",ho),oas3Actions:Ai,getComponent:vn})}).toArray()))))}}]),Te}(F.a.Component);U()(gi,"defaultProps",{tryItOutResponse:null,produces:Object(zt.fromJS)(["application/json"]),displayRequestDuration:!1});var Hi=t(25),Fi=t.n(Hi),cs=t(478),ws=t.n(cs),da=t(107),xa=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"_onContentTypeChange",function(xt){var Dt=Be.props,en=Dt.onContentTypeChange,vn=Dt.controlsAcceptHeader;Be.setState({responseContentType:xt}),en({value:xt,controlsAcceptHeader:vn})}),U()(L()(Be),"getTargetExamplesKey",function(){var xt=Be.props,vn=xt.activeExamplesKey,kn=xt.response.getIn(["content",Be.state.responseContentType||xt.contentType],Object(zt.Map)({})).get("examples",null).keySeq().first();return vn||kn}),Be.state={responseContentType:""},Be}return B()(Te,[{key:"render",value:function(){var ge,Re,Be,xt,Dt,en=this.props,vn=en.path,Gn=en.method,kn=en.code,zn=en.response,jr=en.className,kr=en.specPath,ci=en.getComponent,Ci=en.getConfigs,vi=en.specSelectors,Ai=en.contentType,fo=en.controlsAcceptHeader,po=en.oas3Actions,No=en.fn.inferSchema,Ao=vi.isOAS3(),io=Ci().showExtensions,So=io?Object(tr.m)(zn):null,Xi=zn.get("headers"),Zi=zn.get("links"),Jo=ci("ResponseExtension"),Po=ci("headers"),ho=ci("highlightCode"),Do=ci("modelExample"),Ls=ci("Markdown",!0),_n=ci("operationLink"),Us=ci("contentType"),Pa=ci("ExamplesSelect"),Aa=ci("Example"),so=this.state.responseContentType||Ai,ra=zn.getIn(["content",so],Object(zt.Map)({})),rs=ra.get("examples",null);if(Ao){var wa=ra.get("schema");Be=wa?No(wa.toJS()):null,xt=wa?Object(zt.List)(["content",this.state.responseContentType,"schema"]):kr}else Be=zn.get("schema"),xt=zn.has("schema")?kr.push("schema"):kr;var Ws,Fa=!1,xs={includeReadOnly:!0};if(Ao){var Rs;if(Ws=null===(Rs=ra.get("schema"))||void 0===Rs?void 0:Rs.toJS(),rs){var qs=this.getTargetExamplesKey(),Ya=function(Ha){return Ha.get("value")};void 0===(Dt=Ya(rs.get(qs,Object(zt.Map)({}))))&&(Dt=Ya(ws()(rs).call(rs).next().value)),Fa=!0}else void 0!==ra.get("example")&&(Dt=ra.get("example"),Fa=!0)}else{Ws=Be,xs=Fi()(Fi()({},xs),{},{includeWriteOnly:!0});var Zs=zn.getIn(["examples",so]);Zs&&(Dt=Zs,Fa=!0)}var Za=function(Ha,Va,Ua){if(null!=Ha){var al=null;return Object(da.a)(Ha)&&(al="json"),F.a.createElement("div",null,F.a.createElement(Va,{className:"example",getConfigs:Ua,language:al,value:Object(tr.I)(Ha)}))}return null}(Object(tr.o)(Ws,so,xs,Fa?Dt:void 0),ho,Ci);return F.a.createElement("tr",{className:"response "+(jr||""),"data-code":kn},F.a.createElement("td",{className:"response-col_status"},kn),F.a.createElement("td",{className:"response-col_description"},F.a.createElement("div",{className:"response-col_description__inner"},F.a.createElement(Ls,{source:zn.get("description")})),io&&So.size?He()(ge=So.entrySeq()).call(ge,function(Ha){var Va,Ua=Ko()(Ha,2),al=Ua[0],js=Ua[1];return F.a.createElement(Jo,{key:h()(Va="".concat(al,"-")).call(Va,js),xKey:al,xVal:js})}):null,Ao&&zn.get("content")?F.a.createElement("section",{className:"response-controls"},F.a.createElement("div",{className:Er()("response-control-media-type",{"response-control-media-type--accept-controller":fo})},F.a.createElement("small",{className:"response-control-media-type__title"},"Media type"),F.a.createElement(Us,{value:this.state.responseContentType,contentTypes:zn.get("content")?zn.get("content").keySeq():Object(zt.Seq)(),onChange:this._onContentTypeChange,ariaLabel:"Media Type"}),fo?F.a.createElement("small",{className:"response-control-media-type__accept-message"},"Controls ",F.a.createElement("code",null,"Accept")," header."):null),rs?F.a.createElement("div",{className:"response-control-examples"},F.a.createElement("small",{className:"response-control-examples__title"},"Examples"),F.a.createElement(Pa,{examples:rs,currentExampleKey:this.getTargetExamplesKey(),onSelect:function(Ha){return po.setActiveExamplesMember({name:Ha,pathMethod:[vn,Gn],contextType:"responses",contextName:kn})},showLabels:!1})):null):null,Za||Be?F.a.createElement(Do,{specPath:xt,getComponent:ci,getConfigs:Ci,specSelectors:vi,schema:Object(tr.i)(Be),example:Za,includeReadOnly:!0}):null,Ao&&rs?F.a.createElement(Aa,{example:rs.get(this.getTargetExamplesKey(),Object(zt.Map)({})),getComponent:ci,getConfigs:Ci,omitValue:!0}):null,Xi?F.a.createElement(Po,{headers:Xi,getComponent:ci}):null),Ao?F.a.createElement("td",{className:"response-col_links"},Zi?He()(Re=Zi.toSeq().entrySeq()).call(Re,function(Ha){var Va=Ko()(Ha,2),Ua=Va[0];return F.a.createElement(_n,{key:Ua,name:Ua,link:Va[1],getComponent:ci})}):F.a.createElement("i",null,"No links")):null)}}]),Te}(F.a.Component);U()(xa,"defaultProps",{response:Object(zt.fromJS)({}),onContentTypeChange:function(){}});var Ra=function(xe){return F.a.createElement("div",{className:"response__extension"},xe.xKey,": ",String(xe.xVal))},Al=t(479),Dl=t.n(Al),Sa=t(480),sa=t.n(Sa),Fo=t(325),tl=t.n(Fo),Ma=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"state",{parsedContent:null}),U()(L()(Re),"updateParsedContent",function(en){var vn=Re.props.content;if(en!==vn)if(vn&&vn instanceof Blob){var Gn=new FileReader;Gn.onload=function(){Re.setState({parsedContent:Gn.result})},Gn.readAsText(vn)}else Re.setState({parsedContent:vn.toString()})}),Re}return B()(Te,[{key:"componentDidMount",value:function(){this.updateParsedContent(null)}},{key:"componentDidUpdate",value:function(ge){this.updateParsedContent(ge.content)}},{key:"render",value:function(){var ge,Re,Be=this.props,xt=Be.content,Dt=Be.contentType,en=Be.url,vn=Be.headers,Gn=void 0===vn?{}:vn,kn=Be.getConfigs,jr=this.state.parsedContent,kr=(0,Be.getComponent)("highlightCode"),Gr="response_"+(new Date).getTime();if(en=en||"",/^application\/octet-stream/i.test(Dt)||Gn["Content-Disposition"]&&/attachment/i.test(Gn["Content-Disposition"])||Gn["content-disposition"]&&/attachment/i.test(Gn["content-disposition"])||Gn["Content-Description"]&&/File Transfer/i.test(Gn["Content-Description"])||Gn["content-description"]&&/File Transfer/i.test(Gn["content-description"]))if("Blob"in window){var ci=Dt||"text/html",Ci=xt instanceof Blob?xt:new Blob([xt],{type:ci}),vi=Jr.a.createObjectURL(Ci),Ai=[ci,en.substr(Dl()(en).call(en,"/")+1),vi].join(":"),fo=Gn["content-disposition"]||Gn["Content-Disposition"];if(void 0!==fo){var po=Object(tr.h)(fo);null!==po&&(Ai=po)}Re=F.a.createElement("div",null,F.a.createElement("a",Ht.a.navigator&&Ht.a.navigator.msSaveOrOpenBlob?{href:vi,onClick:function(){return Ht.a.navigator.msSaveOrOpenBlob(Ci,Ai)}}:{href:vi,download:Ai},"Download file"))}else Re=F.a.createElement("pre",{className:"microlight"},"Download headers detected but your browser does not support downloading binary via XHR (Blob).");else if(/json/i.test(Dt)){var No=null;Object(da.a)(xt)&&(No="json");try{ge=R()(JSON.parse(xt),null," ")}catch(Ao){ge="can't parse JSON. Raw result:\n\n"+xt}Re=F.a.createElement(kr,{language:No,downloadable:!0,fileName:"".concat(Gr,".json"),value:ge,getConfigs:kn,canCopy:!0})}else/xml/i.test(Dt)?(ge=sa()(xt,{textNodesOnSameLine:!0,indentor:" "}),Re=F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".xml"),value:ge,getConfigs:kn,canCopy:!0})):Re="text/html"===tl()(Dt)||/text\/plain/.test(Dt)?F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".html"),value:xt,getConfigs:kn,canCopy:!0}):"text/csv"===tl()(Dt)||/text\/csv/.test(Dt)?F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".csv"),value:xt,getConfigs:kn,canCopy:!0}):/^image\//i.test(Dt)?Xe()(Dt).call(Dt,"svg")?F.a.createElement("div",null," ",xt," "):F.a.createElement("img",{src:Jr.a.createObjectURL(xt)}):/^audio\//i.test(Dt)?F.a.createElement("pre",{className:"microlight"},F.a.createElement("audio",{controls:!0},F.a.createElement("source",{src:en,type:Dt}))):"string"==typeof xt?F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".txt"),value:xt,getConfigs:kn,canCopy:!0}):xt.size>0?jr?F.a.createElement("div",null,F.a.createElement("p",{className:"i"},"Unrecognized response type; displaying content as text."),F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".txt"),value:jr,getConfigs:kn,canCopy:!0})):F.a.createElement("p",{className:"i"},"Unrecognized response type; unable to display."):null;return Re?F.a.createElement("div",null,F.a.createElement("h5",null,"Response body"),Re):null}}]),Te}(F.a.PureComponent),fa=t(14),Hs=t.n(fa),ja=t(198),pt=t.n(ja),an=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge){var Re;return I()(this,Te),Re=ke.call(this,ge),U()(L()(Re),"onChange",function(Be,xt,Dt){var en=Re.props;(0,en.specActions.changeParamByIdentity)(en.onChangeKey,Be,xt,Dt)}),U()(L()(Re),"onChangeConsumesWrapper",function(Be){var xt=Re.props;(0,xt.specActions.changeConsumesValue)(xt.onChangeKey,Be)}),U()(L()(Re),"toggleTab",function(Be){return"parameters"===Be?Re.setState({parametersVisible:!0,callbackVisible:!1}):"callbacks"===Be?Re.setState({callbackVisible:!0,parametersVisible:!1}):void 0}),U()(L()(Re),"onChangeMediaType",function(Be){var xt=Be.value,Dt=Be.pathMethod,en=Re.props,vn=en.specActions,Gn=en.oas3Selectors,kn=en.oas3Actions,zn=Gn.hasUserEditedBody.apply(Gn,Hs()(Dt)),jr=Gn.shouldRetainRequestBodyValue.apply(Gn,Hs()(Dt));kn.setRequestContentType({value:xt,pathMethod:Dt}),kn.initRequestBodyValidateError({pathMethod:Dt}),zn||(jr||kn.setRequestBodyValue({value:void 0,pathMethod:Dt}),vn.clearResponse.apply(vn,Hs()(Dt)),vn.clearRequest.apply(vn,Hs()(Dt)),vn.clearValidateParams(Dt))}),Re.state={callbackVisible:!1,parametersVisible:!0},Re}return B()(Te,[{key:"render",value:function(){var ge,Re,Be=this,xt=this.props,Dt=xt.onTryoutClick,en=xt.parameters,vn=xt.allowTryItOut,Gn=xt.tryItOutEnabled,kn=xt.specPath,zn=xt.fn,jr=xt.getComponent,kr=xt.getConfigs,Gr=xt.specSelectors,ci=xt.specActions,Ci=xt.pathMethod,vi=xt.oas3Actions,Ai=xt.oas3Selectors,fo=xt.operation,po=jr("parameterRow"),No=jr("TryItOutButton"),Ao=jr("contentType"),io=jr("Callbacks",!0),So=jr("RequestBody",!0),Xi=Gn&&vn,Zi=Gr.isOAS3(),Jo=fo.get("requestBody"),Po=be()(ge=pt()(be()(en).call(en,function(ho,Do){var Ls,_n=Do.get("in");return null!==(Ls=ho[_n])&&void 0!==Ls||(ho[_n]=[]),ho[_n].push(Do),ho},{}))).call(ge,function(ho,Do){return h()(ho).call(ho,Do)},[]);return F.a.createElement("div",{className:"opblock-section"},F.a.createElement("div",{className:"opblock-section-header"},Zi?F.a.createElement("div",{className:"tab-header"},F.a.createElement("div",{onClick:function(){return Be.toggleTab("parameters")},className:"tab-item ".concat(this.state.parametersVisible&&"active")},F.a.createElement("h4",{className:"opblock-title"},F.a.createElement("span",null,"Parameters"))),fo.get("callbacks")?F.a.createElement("div",{onClick:function(){return Be.toggleTab("callbacks")},className:"tab-item ".concat(this.state.callbackVisible&&"active")},F.a.createElement("h4",{className:"opblock-title"},F.a.createElement("span",null,"Callbacks"))):null):F.a.createElement("div",{className:"tab-header"},F.a.createElement("h4",{className:"opblock-title"},"Parameters")),vn?F.a.createElement(No,{isOAS3:Gr.isOAS3(),hasUserEditedBody:Ai.hasUserEditedBody.apply(Ai,Hs()(Ci)),enabled:Gn,onCancelClick:this.props.onCancelClick,onTryoutClick:Dt,onResetClick:function(){return vi.setRequestBodyValue({value:void 0,pathMethod:Ci})}}):null),this.state.parametersVisible?F.a.createElement("div",{className:"parameters-container"},Po.length?F.a.createElement("div",{className:"table-container"},F.a.createElement("table",{className:"parameters"},F.a.createElement("thead",null,F.a.createElement("tr",null,F.a.createElement("th",{className:"col_header parameters-col_name"},"Name"),F.a.createElement("th",{className:"col_header parameters-col_description"},"Description"))),F.a.createElement("tbody",null,He()(Po).call(Po,function(ho,Do){var Ls;return F.a.createElement(po,{fn:zn,specPath:kn.push(Do.toString()),getComponent:jr,getConfigs:kr,rawParam:ho,param:Gr.parameterWithMetaByIdentity(Ci,ho),key:h()(Ls="".concat(ho.get("in"),".")).call(Ls,ho.get("name")),onChange:Be.onChange,onChangeConsumes:Be.onChangeConsumesWrapper,specSelectors:Gr,specActions:ci,oas3Actions:vi,oas3Selectors:Ai,pathMethod:Ci,isExecute:Xi})})))):F.a.createElement("div",{className:"opblock-description-wrapper"},F.a.createElement("p",null,"No parameters"))):null,this.state.callbackVisible?F.a.createElement("div",{className:"callbacks-container opblock-description-wrapper"},F.a.createElement(io,{callbacks:Object(zt.Map)(fo.get("callbacks")),specPath:ce()(kn).call(kn,0,-1).push("callbacks")})):null,Zi&&Jo&&this.state.parametersVisible&&F.a.createElement("div",{className:"opblock-section opblock-section-request-body"},F.a.createElement("div",{className:"opblock-section-header"},F.a.createElement("h4",{className:"opblock-title parameter__name ".concat(Jo.get("required")&&"required")},"Request body"),F.a.createElement("label",null,F.a.createElement(Ao,{value:Ai.requestContentType.apply(Ai,Hs()(Ci)),contentTypes:Jo.get("content",Object(zt.List)()).keySeq(),onChange:function(ho){Be.onChangeMediaType({value:ho,pathMethod:Ci})},className:"body-param-content-type",ariaLabel:"Request content type"}))),F.a.createElement("div",{className:"opblock-description-wrapper"},F.a.createElement(So,{setRetainRequestBodyValueFlag:function(ho){return vi.setRetainRequestBodyValueFlag({value:ho,pathMethod:Ci})},userHasEditedBody:Ai.hasUserEditedBody.apply(Ai,Hs()(Ci)),specPath:ce()(kn).call(kn,0,-1).push("requestBody"),requestBody:Jo,requestBodyValue:Ai.requestBodyValue.apply(Ai,Hs()(Ci)),requestBodyInclusionSetting:Ai.requestBodyInclusionSetting.apply(Ai,Hs()(Ci)),requestBodyErrors:Ai.requestBodyErrors.apply(Ai,Hs()(Ci)),isExecute:Xi,getConfigs:kr,activeExamplesKey:Ai.activeExamplesMember.apply(Ai,h()(Re=Hs()(Ci)).call(Re,["requestBody","requestBody"])),updateActiveExamplesKey:function(ho){Be.props.oas3Actions.setActiveExamplesMember({name:ho,pathMethod:Be.props.pathMethod,contextType:"requestBody",contextName:"requestBody"})},onChange:function(ho,Do){if(Do){var Ls=Ai.requestBodyValue.apply(Ai,Hs()(Ci)),_n=zt.Map.isMap(Ls)?Ls:Object(zt.Map)();return vi.setRequestBodyValue({pathMethod:Ci,value:_n.setIn(Do,ho)})}vi.setRequestBodyValue({value:ho,pathMethod:Ci})},onChangeIncludeEmpty:function(ho,Do){vi.setRequestBodyInclusion({pathMethod:Ci,value:Do,name:ho})},contentType:Ai.requestContentType.apply(Ai,Hs()(Ci))}))))}}]),Te}($e.Component);U()(an,"defaultProps",{onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[],specPath:[]});var Nt=function(xe){return F.a.createElement("div",{className:"parameter__extension"},xe.xKey,": ",String(xe.xVal))},ye=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onCheckboxChange",function(en){(0,Re.props.onChange)(en.target.checked)}),Re}return B()(Te,[{key:"componentDidMount",value:function(){var ge=this.props,Re=ge.isIncludedOptions;Re.shouldDispatchInit&&(0,ge.onChange)(Re.defaultValue)}},{key:"render",value:function(){var ge=this.props,Re=ge.isIncluded,Be=ge.isDisabled;return F.a.createElement("div",null,F.a.createElement("label",{className:Er()("parameter__empty_value_toggle",{disabled:Be})},F.a.createElement("input",{type:"checkbox",disabled:Be,checked:!Be&&Re,onChange:this.onCheckboxChange}),"Send empty value"))}}]),Te}($e.Component);U()(ye,"defaultProps",{onChange:function(){},isIncludedOptions:{}});var Ne=t(145),Wt=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChangeWrapper",function(xt){var Dt=arguments.length>1&&void 0!==arguments[1]&&arguments[1],en=Be.props,vn=en.onChange,Gn=en.rawParam;return vn(Gn,""===xt||xt&&0===xt.size?null:xt,Dt)}),U()(L()(Be),"_onExampleSelect",function(xt){Be.props.oas3Actions.setActiveExamplesMember({name:xt,pathMethod:Be.props.pathMethod,contextType:"parameters",contextName:Be.getParamKey()})}),U()(L()(Be),"onChangeIncludeEmpty",function(xt){var Dt=Be.props,en=Dt.specActions,vn=Dt.param,Gn=Dt.pathMethod,kn=vn.get("name"),zn=vn.get("in");return en.updateEmptyParamInclusion(Gn,kn,zn,xt)}),U()(L()(Be),"setDefaultValue",function(){var xt=Be.props,Dt=xt.specSelectors,en=xt.pathMethod,Gn=xt.oas3Selectors,kn=Dt.parameterWithMetaByIdentity(en,xt.rawParam)||Object(zt.Map)(),zn=Object(Ne.a)(kn,{isOAS3:Dt.isOAS3()}).schema,jr=kn.get("content",Object(zt.Map)()).keySeq().first(),kr=zn?Object(tr.o)(zn.toJS(),jr,{includeWriteOnly:!0}):null;if(kn&&void 0===kn.get("value")&&"body"!==kn.get("in")){var Gr;if(Dt.isSwagger2())Gr=void 0!==kn.get("x-example")?kn.get("x-example"):void 0!==kn.getIn(["schema","example"])?kn.getIn(["schema","example"]):zn&&zn.getIn(["default"]);else if(Dt.isOAS3()){var ci,Ci=Gn.activeExamplesMember.apply(Gn,h()(ci=Hs()(en)).call(ci,["parameters",Be.getParamKey()]));Gr=void 0!==kn.getIn(["examples",Ci,"value"])?kn.getIn(["examples",Ci,"value"]):void 0!==kn.getIn(["content",jr,"example"])?kn.getIn(["content",jr,"example"]):void 0!==kn.get("example")?kn.get("example"):void 0!==(zn&&zn.get("example"))?zn&&zn.get("example"):void 0!==(zn&&zn.get("default"))?zn&&zn.get("default"):kn.get("default")}void 0===Gr||zt.List.isList(Gr)||(Gr=Object(tr.I)(Gr)),void 0!==Gr?Be.onChangeWrapper(Gr):zn&&"object"===zn.get("type")&&kr&&!kn.get("examples")&&Be.onChangeWrapper(zt.List.isList(kr)?kr:Object(tr.I)(kr))}}),Be.setDefaultValue(),Be}return B()(Te,[{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re,Be=ge.specSelectors,xt=ge.pathMethod,Dt=ge.rawParam,en=Be.isOAS3(),vn=Be.parameterWithMetaByIdentity(xt,Dt)||new zt.Map;if(vn=vn.isEmpty()?Dt:vn,en){var Gn=Object(Ne.a)(vn,{isOAS3:en}).schema;Re=Gn?Gn.get("enum"):void 0}else Re=vn?vn.get("enum"):void 0;var kn,zn=vn?vn.get("value"):void 0;void 0!==zn?kn=zn:Dt.get("required")&&Re&&Re.size&&(kn=Re.first()),void 0!==kn&&kn!==zn&&this.onChangeWrapper(Object(tr.w)(kn)),this.setDefaultValue()}},{key:"getParamKey",value:function(){var ge,Re=this.props.param;return Re?h()(ge="".concat(Re.get("name"),"-")).call(ge,Re.get("in")):null}},{key:"render",value:function(){var ge,Re,Be,xt,Dt=this.props,en=Dt.param,vn=Dt.rawParam,Gn=Dt.getComponent,kn=Dt.getConfigs,zn=Dt.isExecute,jr=Dt.fn,kr=Dt.onChangeConsumes,Gr=Dt.specSelectors,ci=Dt.pathMethod,Ci=Dt.specPath,vi=Dt.oas3Selectors,Ai=Gr.isOAS3(),fo=kn(),po=fo.showExtensions,No=fo.showCommonExtensions;if(en||(en=vn),!vn)return null;var Ao,io,So,Xi,Zi=Gn("JsonSchemaForm"),Jo=Gn("ParamBody"),Po=en.get("in"),ho="body"!==Po?null:F.a.createElement(Jo,{getComponent:Gn,getConfigs:kn,fn:jr,param:en,consumes:Gr.consumesOptionsFor(ci),consumesValue:Gr.contentTypeValues(ci).get("requestContentType"),onChange:this.onChangeWrapper,onChangeConsumes:kr,isExecute:zn,specSelectors:Gr,pathMethod:ci}),Do=Gn("modelExample"),Ls=Gn("Markdown",!0),_n=Gn("ParameterExt"),Us=Gn("ParameterIncludeEmpty"),Pa=Gn("ExamplesSelectValueRetainer"),Aa=Gn("Example"),so=Object(Ne.a)(en,{isOAS3:Ai}).schema,ra=Gr.parameterWithMetaByIdentity(ci,vn)||Object(zt.Map)(),rs=so?so.get("format"):null,wa=so?so.get("type"):null,Ws=so?so.getIn(["items","type"]):null,Fa="formData"===Po,xs="FormData"in Ht.a,Rs=en.get("required"),qs=ra?ra.get("value"):"",Ya=No?Object(tr.l)(so):null,Zs=po?Object(tr.m)(en):null,Za=!1;return void 0!==en&&so&&(Ao=so.get("items")),void 0!==Ao?(io=Ao.get("enum"),So=Ao.get("default")):so&&(io=so.get("enum")),io&&io.size&&io.size>0&&(Za=!0),void 0!==en&&(so&&(So=so.get("default")),void 0===So&&(So=en.get("default")),void 0===(Xi=en.get("example"))&&(Xi=en.get("x-example"))),F.a.createElement("tr",{"data-param-name":en.get("name"),"data-param-in":en.get("in")},F.a.createElement("td",{className:"parameters-col_name"},F.a.createElement("div",{className:Rs?"parameter__name required":"parameter__name"},en.get("name"),Rs?F.a.createElement("span",null,"\xa0*"):null),F.a.createElement("div",{className:"parameter__type"},wa,Ws&&"[".concat(Ws,"]"),rs&&F.a.createElement("span",{className:"prop-format"},"($",rs,")")),F.a.createElement("div",{className:"parameter__deprecated"},Ai&&en.get("deprecated")?"deprecated":null),F.a.createElement("div",{className:"parameter__in"},"(",en.get("in"),")"),No&&Ya.size?He()(ge=Ya.entrySeq()).call(ge,function(Ha){var Va,Ua=Ko()(Ha,2),al=Ua[0],js=Ua[1];return F.a.createElement(_n,{key:h()(Va="".concat(al,"-")).call(Va,js),xKey:al,xVal:js})}):null,po&&Zs.size?He()(Re=Zs.entrySeq()).call(Re,function(Ha){var Va,Ua=Ko()(Ha,2),al=Ua[0],js=Ua[1];return F.a.createElement(_n,{key:h()(Va="".concat(al,"-")).call(Va,js),xKey:al,xVal:js})}):null),F.a.createElement("td",{className:"parameters-col_description"},en.get("description")?F.a.createElement(Ls,{source:en.get("description")}):null,!ho&&zn||!Za?null:F.a.createElement(Ls,{className:"parameter__enum",source:"<i>Available values</i> : "+He()(io).call(io,function(Ha){return Ha}).toArray().join(", ")}),!ho&&zn||void 0===So?null:F.a.createElement(Ls,{className:"parameter__default",source:"<i>Default value</i> : "+So}),!ho&&zn||void 0===Xi?null:F.a.createElement(Ls,{source:"<i>Example</i> : "+Xi}),Fa&&!xs&&F.a.createElement("div",null,"Error: your browser does not support FormData"),Ai&&en.get("examples")?F.a.createElement("section",{className:"parameter-controls"},F.a.createElement(Pa,{examples:en.get("examples"),onSelect:this._onExampleSelect,updateValue:this.onChangeWrapper,getComponent:Gn,defaultToFirstExample:!0,currentKey:vi.activeExamplesMember.apply(vi,h()(Be=Hs()(ci)).call(Be,["parameters",this.getParamKey()])),currentUserInputValue:qs})):null,ho?null:F.a.createElement(Zi,{fn:jr,getComponent:Gn,value:qs,required:Rs,disabled:!zn,description:en.get("name"),onChange:this.onChangeWrapper,errors:ra.get("errors"),schema:so}),ho&&so?F.a.createElement(Do,{getComponent:Gn,specPath:Ci.push("schema"),getConfigs:kn,isExecute:zn,specSelectors:Gr,schema:so,example:ho,includeWriteOnly:!0}):null,!ho&&zn&&en.get("allowEmptyValue")?F.a.createElement(Us,{onChange:this.onChangeIncludeEmpty,isIncluded:Gr.parameterInclusionSettingFor(ci,en.get("name"),en.get("in")),isDisabled:!Object(tr.q)(qs)}):null,Ai&&en.get("examples")?F.a.createElement(Aa,{example:en.getIn(["examples",vi.activeExamplesMember.apply(vi,h()(xt=Hs()(ci)).call(xt,["parameters",this.getParamKey()]))]),getComponent:Gn,getConfigs:kn}):null))}}]),Te}($e.Component),Or=t(202),Ni=t.n(Or),Yo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"handleValidateParameters",function(){var en=Re.props,vn=en.specSelectors,kn=en.path,zn=en.method;return en.specActions.validateParams([kn,zn]),vn.validateBeforeExecute([kn,zn])}),U()(L()(Re),"handleValidateRequestBody",function(){var en=Re.props,vn=en.path,Gn=en.method,kn=en.specSelectors,zn=en.oas3Selectors,jr=en.oas3Actions,kr={missingBodyValue:!1,missingRequiredKeys:[]};jr.clearRequestBodyValidateError({path:vn,method:Gn});var Gr=kn.getOAS3RequiredRequestBodyContentType([vn,Gn]),ci=zn.requestBodyValue(vn,Gn),Ci=zn.validateBeforeExecute([vn,Gn]),vi=zn.requestContentType(vn,Gn);if(!Ci)return kr.missingBodyValue=!0,jr.setRequestBodyValidateError({path:vn,method:Gn,validationErrors:kr}),!1;if(!Gr)return!0;var Ai=zn.validateShallowRequired({oas3RequiredRequestBodyContentType:Gr,oas3RequestContentType:vi,oas3RequestBodyValue:ci});return!Ai||Ai.length<1||(qo()(Ai).call(Ai,function(fo){kr.missingRequiredKeys.push(fo)}),jr.setRequestBodyValidateError({path:vn,method:Gn,validationErrors:kr}),!1)}),U()(L()(Re),"handleValidationResultPass",function(){var en=Re.props,vn=en.specActions,Gn=en.operation,kn=en.path,zn=en.method;Re.props.onExecute&&Re.props.onExecute(),vn.execute({operation:Gn,path:kn,method:zn})}),U()(L()(Re),"handleValidationResultFail",function(){var en=Re.props,vn=en.specActions,Gn=en.path,kn=en.method;vn.clearValidateParams([Gn,kn]),Ni()(function(){vn.validateParams([Gn,kn])},40)}),U()(L()(Re),"handleValidationResult",function(en){en?Re.handleValidationResultPass():Re.handleValidationResultFail()}),U()(L()(Re),"onClick",function(){var en=Re.handleValidateParameters(),vn=Re.handleValidateRequestBody();Re.handleValidationResult(en&&vn)}),U()(L()(Re),"onChangeProducesWrapper",function(en){return Re.props.specActions.changeProducesValue([Re.props.path,Re.props.method],en)}),Re}return B()(Te,[{key:"render",value:function(){return F.a.createElement("button",{className:"btn execute opblock-control__btn",onClick:this.onClick,disabled:this.props.disabled},"Execute")}}]),Te}($e.Component),vs=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.headers,xt=Re.getComponent,Dt=xt("Property"),en=xt("Markdown",!0);return Be&&Be.size?F.a.createElement("div",{className:"headers-wrapper"},F.a.createElement("h4",{className:"headers__title"},"Headers:"),F.a.createElement("table",{className:"headers"},F.a.createElement("thead",null,F.a.createElement("tr",{className:"header-row"},F.a.createElement("th",{className:"header-col"},"Name"),F.a.createElement("th",{className:"header-col"},"Description"),F.a.createElement("th",{className:"header-col"},"Type"))),F.a.createElement("tbody",null,He()(ge=Be.entrySeq()).call(ge,function(vn){var Gn=Ko()(vn,2),kn=Gn[0],zn=Gn[1];if(!ln.a.Map.isMap(zn))return null;var jr=zn.get("description"),kr=zn.getIn(["schema"])?zn.getIn(["schema","type"]):zn.getIn(["type"]),Gr=zn.getIn(["schema","example"]);return F.a.createElement("tr",{key:kn},F.a.createElement("td",{className:"header-col"},kn),F.a.createElement("td",{className:"header-col"},jr?F.a.createElement(en,{source:jr}):null),F.a.createElement("td",{className:"header-col"},kr," ",Gr?F.a.createElement(Dt,{propKey:"Example",propVal:Gr,propClass:"header-example"}):null))}).toArray()))):null}}]),Te}(F.a.Component),as=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.editorActions,Be=ge.errSelectors,xt=ge.layoutSelectors,Dt=ge.layoutActions,en=(0,ge.getComponent)("Collapse");if(Re&&Re.jumpToLine)var vn=Re.jumpToLine;var Gn=Be.allErrors(),kn=m()(Gn).call(Gn,function(kr){return"thrown"===kr.get("type")||"error"===kr.get("level")});if(!kn||kn.count()<1)return null;var zn=xt.isShown(["errorPane"],!0),jr=kn.sortBy(function(kr){return kr.get("line")});return F.a.createElement("pre",{className:"errors-wrapper"},F.a.createElement("hgroup",{className:"error"},F.a.createElement("h4",{className:"errors__title"},"Errors"),F.a.createElement("button",{className:"btn errors__clear-btn",onClick:function(){return Dt.show(["errorPane"],!zn)}},zn?"Hide":"Show")),F.a.createElement(en,{isOpened:zn,animated:!0},F.a.createElement("div",{className:"errors"},He()(jr).call(jr,function(kr,Gr){var ci=kr.get("type");return"thrown"===ci||"auth"===ci?F.a.createElement(Lo,{key:Gr,error:kr.get("error")||kr,jumpToLine:vn}):"spec"===ci?F.a.createElement(Zo,{key:Gr,error:kr,jumpToLine:vn}):void 0}))))}}]),Te}(F.a.Component),Lo=function(xe){var ke=xe.error,Te=xe.jumpToLine;if(!ke)return null;var ge=ke.get("line");return F.a.createElement("div",{className:"error-wrapper"},ke?F.a.createElement("div",null,F.a.createElement("h4",null,ke.get("source")&&ke.get("level")?Ta(ke.get("source"))+" "+ke.get("level"):"",ke.get("path")?F.a.createElement("small",null," at ",ke.get("path")):null),F.a.createElement("span",{className:"message thrown"},ke.get("message")),F.a.createElement("div",{className:"error-line"},ge&&Te?F.a.createElement("a",{onClick:oe()(Te).call(Te,null,ge)},"Jump to line ",ge):null)):null)},Zo=function(xe){var ke=xe.error,Te=xe.jumpToLine,ge=null;return ke.get("path")?ge=zt.List.isList(ke.get("path"))?F.a.createElement("small",null,"at ",ke.get("path").join(".")):F.a.createElement("small",null,"at ",ke.get("path")):ke.get("line")&&!Te&&(ge=F.a.createElement("small",null,"on line ",ke.get("line"))),F.a.createElement("div",{className:"error-wrapper"},ke?F.a.createElement("div",null,F.a.createElement("h4",null,Ta(ke.get("source"))+" "+ke.get("level"),"\xa0",ge),F.a.createElement("span",{className:"message"},ke.get("message")),F.a.createElement("div",{className:"error-line"},Te?F.a.createElement("a",{onClick:oe()(Te).call(Te,null,ke.get("line"))},"Jump to line ",ke.get("line")):null)):null)};function Ta(xe){var ke;return He()(ke=(xe||"").split(" ")).call(ke,function(Te){return Te[0].toUpperCase()+ce()(Te).call(Te,1)}).join(" ")}Lo.defaultProps={jumpToLine:null};var hl=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChangeWrapper",function(en){return Re.props.onChange(en.target.value)}),Re}return B()(Te,[{key:"componentDidMount",value:function(){this.props.contentTypes&&this.props.onChange(this.props.contentTypes.first())}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re;ge.contentTypes&&ge.contentTypes.size&&(Xe()(Re=ge.contentTypes).call(Re,ge.value)||ge.onChange(ge.contentTypes.first()))}},{key:"render",value:function(){var ge=this.props,Dt=ge.contentTypes;return Dt&&Dt.size?F.a.createElement("div",{className:"content-type-wrapper "+(ge.className||"")},F.a.createElement("select",{"aria-controls":ge.ariaControls,"aria-label":ge.ariaLabel,className:"content-type",id:ge.controlId,onChange:this.onChangeWrapper,value:ge.value||""},He()(Dt).call(Dt,function(Gn){return F.a.createElement("option",{key:Gn,value:Gn},Gn)}).toArray())):null}}]),Te}(F.a.Component);U()(hl,"defaultProps",{onChange:function(){},value:null,contentTypes:Object(zt.fromJS)(["application/json"])});var Oa=t(29),ba=t.n(Oa),Es=t(54),$o=t.n(Es),wl=t(105),_l=t.n(wl),Qa=["fullscreen","full"],sl=["hide","keepContents","mobile","tablet","desktop","large"];function Il(){for(var xe,ke=arguments.length,Te=new Array(ke),ge=0;ge<ke;ge++)Te[ge]=arguments[ge];return _l()(xe=m()(Te).call(Te,function(Re){return!!Re}).join(" ")).call(xe)}var Yl=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.fullscreen,Be=ge.full,xt=$o()(ge,Qa);if(Re)return F.a.createElement("section",xt);var Dt="swagger-container"+(Be?"-full":"");return F.a.createElement("section",ba()({},xt,{className:Il(xt.className,Dt)}))}}]),Te}(F.a.Component),Na={mobile:"",tablet:"-tablet",desktop:"-desktop",large:"-hd"},Di=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.hide,xt=Re.keepContents,Dt=$o()(Re,sl);if(Be&&!xt)return F.a.createElement("span",null);var en=[];for(var vn in Na)if(Object.prototype.hasOwnProperty.call(Na,vn)){var Gn=Na[vn];if(vn in this.props){var kn=this.props[vn];if(kn<1){en.push("none"+Gn);continue}en.push("block"+Gn),en.push("col-"+kn+Gn)}}Be&&en.push("hidden");var zn=Il.apply(void 0,h()(ge=[Dt.className]).call(ge,en));return F.a.createElement("section",ba()({},Dt,{className:zn}))}}]),Te}(F.a.Component),ys=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){return F.a.createElement("div",ba()({},this.props,{className:Il(this.props.className,"wrapper")}))}}]),Te}(F.a.Component),pa=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){return F.a.createElement("button",ba()({},this.props,{className:Il(this.props.className,"button")}))}}]),Te}(F.a.Component);U()(pa,"defaultProps",{className:""});var Vo=function(xe){return F.a.createElement("textarea",xe)},Ba=function(xe){return F.a.createElement("input",xe)},_s=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChange",function(Dt){var en,vn,Gn=Be.props,kn=Gn.onChange,zn=Gn.multiple,jr=ce()([]).call(Dt.target.options);en=zn?He()(vn=m()(jr).call(jr,function(kr){return kr.selected})).call(vn,function(kr){return kr.value}):Dt.target.value,Be.setState({value:en}),kn&&kn(en)}),Be.state={value:ge.value?ge.value:ge.multiple?[""]:""},Be}return B()(Te,[{key:"UNSAFE_componentWillReceiveProps",value:function(ge){ge.value!==this.props.value&&this.setState({value:ge.value})}},{key:"render",value:function(){var ge,Re,Be=this.props,xt=Be.allowedValues,Dt=Be.multiple,en=Be.allowEmptyValue,vn=Be.disabled,Gn=(null===(ge=this.state.value)||void 0===ge||null===(Re=ge.toJS)||void 0===Re?void 0:Re.call(ge))||this.state.value;return F.a.createElement("select",{className:this.props.className,multiple:Dt,value:Gn,onChange:this.onChange,disabled:vn},en?F.a.createElement("option",{value:""},"--"):null,He()(xt).call(xt,function(kn,zn){return F.a.createElement("option",{key:zn,value:String(kn)},String(kn))}))}}]),Te}(F.a.Component);U()(_s,"defaultProps",{multiple:!1,allowEmptyValue:!0});var We=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){return F.a.createElement("a",ba()({},this.props,{rel:"noopener noreferrer",className:Il(this.props.className,"link")}))}}]),Te}(F.a.Component),wt=function(xe){return F.a.createElement("div",{className:"no-margin"}," ",xe.children," ")},kt=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"renderNotAnimated",value:function(){return this.props.isOpened?F.a.createElement(wt,null,this.props.children):F.a.createElement("noscript",null)}},{key:"render",value:function(){var ge=this.props,xt=ge.children;return ge.animated?F.a.createElement(wt,null,xt=ge.isOpened?xt:null):this.renderNotAnimated()}}]),Te}(F.a.Component);U()(kt,"defaultProps",{isOpened:!1,animated:!1});var tn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re,Be;I()(this,Te);for(var xt=arguments.length,Dt=new Array(xt),en=0;en<xt;en++)Dt[en]=arguments[en];return(Be=ke.call.apply(ke,h()(ge=[this]).call(ge,Dt))).setTagShown=oe()(Re=Be._setTagShown).call(Re,L()(Be)),Be}return B()(Te,[{key:"_setTagShown",value:function(ge,Re){this.props.layoutActions.show(ge,Re)}},{key:"showOp",value:function(ge,Re){this.props.layoutActions.show(ge,Re)}},{key:"render",value:function(){var ge=this.props,Be=ge.layoutSelectors,xt=ge.layoutActions,Dt=ge.getComponent,en=ge.specSelectors.taggedOperations(),vn=Dt("Collapse");return F.a.createElement("div",null,F.a.createElement("h4",{className:"overview-title"},"Overview"),He()(en).call(en,function(Gn,kn){var zn=Gn.get("operations"),jr=["overview-tags",kn],kr=Be.isShown(jr,!0);return F.a.createElement("div",{key:"overview-"+kn},F.a.createElement("h4",{onClick:function(){return xt.show(jr,!kr)},className:"link overview-tag"}," ",kr?"-":"+",kn),F.a.createElement(vn,{isOpened:kr,animated:!0},He()(zn).call(zn,function(Gr){var ci=Gr.toObject(),Ci=ci.path,vi=ci.method,Ai=ci.id,fo="operations",po=Ai,No=Be.isShown([fo,po]);return F.a.createElement(ur,{key:Ai,path:Ci,method:vi,id:Ci+"-"+vi,shown:No,showOpId:po,showOpIdPrefix:fo,href:"#operation-".concat(po),onClick:xt.show})}).toArray()))}).toArray(),en.size<1&&F.a.createElement("h3",null," No operations defined in spec! "))}}]),Te}(F.a.Component),ur=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge){var Re,Be;return I()(this,Te),(Be=ke.call(this,ge)).onClick=oe()(Re=Be._onClick).call(Re,L()(Be)),Be}return B()(Te,[{key:"_onClick",value:function(){var ge=this.props;(0,ge.onClick)([ge.showOpIdPrefix,ge.showOpId],!ge.shown)}},{key:"render",value:function(){var ge=this.props,Re=ge.id,Be=ge.method;return F.a.createElement(We,{href:ge.href,onClick:this.onClick,className:"block opblock-link ".concat(ge.shown?"shown":"")},F.a.createElement("div",null,F.a.createElement("small",{className:"bold-label-".concat(Be)},Be.toUpperCase()),F.a.createElement("span",{className:"bold-label"},Re)))}}]),Te}(F.a.Component),gn=["value","defaultValue","initialValue"],xr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"componentDidMount",value:function(){this.props.initialValue&&(this.inputRef.value=this.props.initialValue)}},{key:"render",value:function(){var ge=this,Re=this.props,Be=$o()(Re,gn);return F.a.createElement("input",ba()({},Be,{ref:function(xt){return ge.inputRef=xt}}))}}]),Te}(F.a.Component),Zr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props;return F.a.createElement("pre",{className:"base-url"},"[ Base URL: ",ge.host,ge.basePath," ]")}}]),Te}(F.a.Component),Pr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.data,Be=ge.getComponent,xt=ge.selectedServer,Dt=ge.url,en=Re.get("name")||"the developer",vn=wi(Re.get("url"),Dt,{selectedServer:xt}),Gn=Re.get("email"),kn=Be("Link");return F.a.createElement("div",{className:"info__contact"},vn&&F.a.createElement("div",null,F.a.createElement(kn,{href:Object(tr.F)(vn),target:"_blank"},en," - Website")),Gn&&F.a.createElement(kn,{href:Object(tr.F)("mailto:".concat(Gn))},vn?"Send email to ".concat(en):"Contact ".concat(en)))}}]),Te}(F.a.Component),mi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.license,xt=ge.selectedServer,Dt=ge.url,en=(0,ge.getComponent)("Link"),vn=Re.get("name")||"License",Gn=wi(Re.get("url"),Dt,{selectedServer:xt});return F.a.createElement("div",{className:"info__license"},Gn?F.a.createElement(en,{target:"_blank",href:Object(tr.F)(Gn)},vn):F.a.createElement("span",null,vn))}}]),Te}(F.a.Component),ni=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.url,Be=(0,ge.getComponent)("Link");return F.a.createElement(Be,{target:"_blank",href:Object(tr.F)(Re)},F.a.createElement("span",{className:"url"}," ",Re))}}]),Te}(F.a.PureComponent),si=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.info,Be=ge.url,xt=ge.host,Dt=ge.basePath,en=ge.getComponent,vn=ge.externalDocs,Gn=ge.selectedServer,kn=ge.url,zn=Re.get("version"),jr=Re.get("description"),kr=Re.get("title"),Gr=wi(Re.get("termsOfService"),kn,{selectedServer:Gn}),ci=Re.get("contact"),Ci=Re.get("license"),vi=wi(vn&&vn.get("url"),kn,{selectedServer:Gn}),Ai=vn&&vn.get("description"),fo=en("Markdown",!0),po=en("Link"),No=en("VersionStamp"),Ao=en("InfoUrl"),io=en("InfoBasePath");return F.a.createElement("div",{className:"info"},F.a.createElement("hgroup",{className:"main"},F.a.createElement("h2",{className:"title"},kr,zn&&F.a.createElement(No,{version:zn})),xt||Dt?F.a.createElement(io,{host:xt,basePath:Dt}):null,Be&&F.a.createElement(Ao,{getComponent:en,url:Be})),F.a.createElement("div",{className:"description"},F.a.createElement(fo,{source:jr})),Gr&&F.a.createElement("div",{className:"info__tos"},F.a.createElement(po,{target:"_blank",href:Object(tr.F)(Gr)},"Terms of service")),ci&&ci.size?F.a.createElement(Pr,{getComponent:en,data:ci,selectedServer:Gn,url:Be}):null,Ci&&Ci.size?F.a.createElement(mi,{getComponent:en,license:Ci,selectedServer:Gn,url:Be}):null,vi?F.a.createElement(po,{className:"info__extdocs",target:"_blank",href:Object(tr.F)(vi)},Ai||vi):null)}}]),Te}(F.a.Component),bi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.specSelectors,Be=ge.getComponent,xt=ge.oas3Selectors,Dt=Re.info(),en=Re.url(),vn=Re.basePath(),Gn=Re.host(),kn=Re.externalDocs(),zn=xt.selectedServer(),jr=Be("info");return F.a.createElement("div",null,Dt&&Dt.count()?F.a.createElement(jr,{info:Dt,url:en,host:Gn,basePath:vn,externalDocs:kn,getComponent:Be,selectedServer:zn}):null)}}]),Te}(F.a.Component),Ui=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){return null}}]),Te}(F.a.Component),ro=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){return F.a.createElement("div",{className:"footer"})}}]),Te}(F.a.Component),mo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onFilterChange",function(en){Re.props.layoutActions.updateFilter(en.target.value)}),Re}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.specSelectors,Be=ge.layoutSelectors,xt=(0,ge.getComponent)("Col"),Dt="loading"===Re.loadingStatus(),en="failed"===Re.loadingStatus(),vn=Be.currentFilter(),Gn=["operation-filter-input"];return en&&Gn.push("failed"),Dt&&Gn.push("loading"),F.a.createElement("div",null,null===vn||!1===vn||"false"===vn?null:F.a.createElement("div",{className:"filter-container"},F.a.createElement(xt,{className:"filter wrapper",mobile:12},F.a.createElement("input",{className:Gn.join(" "),placeholder:"Filter by tag",type:"text",onChange:this.onFilterChange,value:!0===vn||"true"===vn?"":vn,disabled:Dt}))))}}]),Te}(F.a.Component),Bi=Function.prototype,hi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"updateValues",function(xt){var Dt=xt.param,en=xt.isExecute,vn=xt.consumesValue,Gn=void 0===vn?"":vn,kn=/xml/i.test(Gn),zn=/json/i.test(Gn),jr=Dt.get(kn?"value_xml":"value");if(void 0!==jr){var kr=!jr&&zn?"{}":jr;Be.setState({value:kr}),Be.onChange(kr,{isXml:kn,isEditBox:en})}else kn?Be.onChange(Be.sample("xml"),{isXml:kn,isEditBox:en}):Be.onChange(Be.sample(),{isEditBox:en})}),U()(L()(Be),"sample",function(xt){var Dt=Be.props,vn=(0,Dt.fn.inferSchema)(Dt.param.toJS());return Object(tr.o)(vn,xt,{includeWriteOnly:!0})}),U()(L()(Be),"onChange",function(xt,Dt){var vn=Dt.isXml;Be.setState({value:xt,isEditBox:Dt.isEditBox}),Be._onChange(xt,vn)}),U()(L()(Be),"_onChange",function(xt,Dt){(Be.props.onChange||Bi)(xt,Dt)}),U()(L()(Be),"handleOnChange",function(xt){var en=/xml/i.test(Be.props.consumesValue);Be.onChange(xt.target.value,{isXml:en,isEditBox:Be.state.isEditBox})}),U()(L()(Be),"toggleIsEditBox",function(){return Be.setState(function(xt){return{isEditBox:!xt.isEditBox}})}),Be.state={isEditBox:!1,value:""},Be}return B()(Te,[{key:"componentDidMount",value:function(){this.updateValues.call(this,this.props)}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){this.updateValues.call(this,ge)}},{key:"render",value:function(){var ge=this.props,Re=ge.onChangeConsumes,Be=ge.param,xt=ge.isExecute,Dt=ge.specSelectors,en=ge.pathMethod,vn=ge.getConfigs,Gn=ge.getComponent,kn=Gn("Button"),zn=Gn("TextArea"),jr=Gn("highlightCode"),kr=Gn("contentType"),Gr=(Dt?Dt.parameterWithMetaByIdentity(en,Be):Be).get("errors",Object(zt.List)()),ci=Dt.contentTypeValues(en).get("requestContentType"),Ci=this.props.consumes&&this.props.consumes.size?this.props.consumes:Te.defaultProp.consumes,vi=this.state,Ai=vi.value,fo=vi.isEditBox,po=null;return Object(da.a)(Ai)&&(po="json"),F.a.createElement("div",{className:"body-param","data-param-name":Be.get("name"),"data-param-in":Be.get("in")},fo&&xt?F.a.createElement(zn,{className:"body-param__text"+(Gr.count()?" invalid":""),value:Ai,onChange:this.handleOnChange}):Ai&&F.a.createElement(jr,{className:"body-param__example",language:po,getConfigs:vn,value:Ai}),F.a.createElement("div",{className:"body-param-options"},xt?F.a.createElement("div",{className:"body-param-edit"},F.a.createElement(kn,{className:fo?"btn cancel body-param__example-edit":"btn edit body-param__example-edit",onClick:this.toggleIsEditBox},fo?"Cancel":"Edit")):null,F.a.createElement("label",{htmlFor:""},F.a.createElement("span",null,"Parameter content type"),F.a.createElement(kr,{value:ci,contentTypes:Ci,onChange:Re,className:"body-param-content-type",ariaLabel:"Parameter content type"}))))}}]),Te}($e.PureComponent);U()(hi,"defaultProp",{consumes:Object(zt.fromJS)(["application/json"]),param:Object(zt.fromJS)({}),onChange:Bi,onChangeConsumes:Bi});var Br=t(161),G=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.request,Be=ge.getConfigs,xt=Object(Br.requestSnippetGenerator_curl_bash)(Re),Dt=Be(),en=ee()(Dt,"syntaxHighlight.activated")?F.a.createElement(st.a,{language:"bash",className:"curl microlight",onWheel:this.preventYScrollingBeyondElement,style:Object(st.b)(ee()(Dt,"syntaxHighlight.theme"))},xt):F.a.createElement("textarea",{readOnly:!0,className:"curl",value:xt});return F.a.createElement("div",{className:"curl-command"},F.a.createElement("h4",null,"Curl"),F.a.createElement("div",{className:"copy-to-clipboard"},F.a.createElement(ti.CopyToClipboard,{text:xt},F.a.createElement("button",null))),F.a.createElement("div",null,en))}}]),Te}(F.a.Component),Me=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChange",function(en){Re.setScheme(en.target.value)}),U()(L()(Re),"setScheme",function(en){var vn=Re.props;vn.specActions.setScheme(en,vn.path,vn.method)}),Re}return B()(Te,[{key:"UNSAFE_componentWillMount",value:function(){this.setScheme(this.props.schemes.first())}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re;this.props.currentScheme&&Xe()(Re=ge.schemes).call(Re,this.props.currentScheme)||this.setScheme(ge.schemes.first())}},{key:"render",value:function(){var ge,Re=this.props,Be=Re.schemes,xt=Re.currentScheme;return F.a.createElement("label",{htmlFor:"schemes"},F.a.createElement("span",{className:"schemes-title"},"Schemes"),F.a.createElement("select",{onChange:this.onChange,value:xt},He()(ge=Be.valueSeq()).call(ge,function(Dt){return F.a.createElement("option",{value:Dt,key:Dt},Dt)}).toArray()))}}]),Te}(F.a.Component),ft=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.specActions,Be=ge.specSelectors,xt=ge.getComponent,Dt=Be.operationScheme(),en=Be.schemes(),vn=xt("schemes");return en&&en.size?F.a.createElement(vn,{currentScheme:Dt,schemes:en,specActions:Re}):null}}]),Te}(F.a.Component),Ft=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"toggleCollapsed",function(){Be.props.onToggle&&Be.props.onToggle(Be.props.modelName,!Be.state.expanded),Be.setState({expanded:!Be.state.expanded})}),U()(L()(Be),"onLoad",function(vn){if(vn&&Be.props.layoutSelectors){var Gn=Be.props.layoutSelectors.getScrollToKey();ln.a.is(Gn,Be.props.specPath)&&Be.toggleCollapsed(),Be.props.layoutActions.readyToScroll(Be.props.specPath,vn.parentElement)}});var xt=Be.props;return Be.state={expanded:xt.expanded,collapsedContent:xt.collapsedContent||Te.defaultProps.collapsedContent},Be}return B()(Te,[{key:"componentDidMount",value:function(){var ge=this.props,Be=ge.expanded;ge.hideSelfOnExpand&&Be&&this.props.onToggle(ge.modelName,Be)}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){this.props.expanded!==ge.expanded&&this.setState({expanded:ge.expanded})}},{key:"render",value:function(){var ge=this.props,Re=ge.title,Be=ge.classes;return this.state.expanded&&this.props.hideSelfOnExpand?F.a.createElement("span",{className:Be||""},this.props.children):F.a.createElement("span",{className:Be||"",ref:this.onLoad},F.a.createElement("button",{"aria-expanded":this.state.expanded,className:"model-box-control",onClick:this.toggleCollapsed},Re&&F.a.createElement("span",{className:"pointer"},Re),F.a.createElement("span",{className:"model-toggle"+(this.state.expanded?"":" collapsed")}),!this.state.expanded&&F.a.createElement("span",null,this.state.collapsedContent)),this.state.expanded&&this.props.children)}}]),Te}($e.Component);U()(Ft,"defaultProps",{collapsedContent:"{...}",expanded:!1,title:null,onToggle:function(){},hideSelfOnExpand:!1,specPath:ln.a.List([])});var Bt=t(126),In=t.n(Bt),Xn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"activeTab",function(kn){Be.setState({activeTab:kn.target.dataset.name})});var xt=Be.props,en=xt.isExecute,vn=(0,xt.getConfigs)().defaultModelRendering,Gn=vn;return"example"!==vn&&"model"!==vn&&(Gn="example"),en&&(Gn="example"),Be.state={activeTab:Gn},Be}return B()(Te,[{key:"UNSAFE_componentWillReceiveProps",value:function(ge){ge.isExecute&&!this.props.isExecute&&this.props.example&&this.setState({activeTab:"example"})}},{key:"render",value:function(){var ge=this.props,Re=ge.getComponent,Be=ge.specSelectors,xt=ge.schema,Dt=ge.example,en=ge.isExecute,vn=ge.getConfigs,Gn=ge.specPath,kn=ge.includeReadOnly,zn=ge.includeWriteOnly,jr=vn().defaultModelExpandDepth,kr=Re("ModelWrapper"),Gr=Re("highlightCode"),ci=In()(5).toString("base64"),Ci=In()(5).toString("base64"),vi=In()(5).toString("base64"),Ai=In()(5).toString("base64"),fo=Be.isOAS3();return F.a.createElement("div",{className:"model-example"},F.a.createElement("ul",{className:"tab",role:"tablist"},F.a.createElement("li",{className:Er()("tabitem",{active:"example"===this.state.activeTab}),role:"presentation"},F.a.createElement("button",{"aria-controls":Ci,"aria-selected":"example"===this.state.activeTab,className:"tablinks","data-name":"example",id:ci,onClick:this.activeTab,role:"tab"},en?"Edit Value":"Example Value")),xt&&F.a.createElement("li",{className:Er()("tabitem",{active:"model"===this.state.activeTab}),role:"presentation"},F.a.createElement("button",{"aria-controls":Ai,"aria-selected":"model"===this.state.activeTab,className:Er()("tablinks",{inactive:en}),"data-name":"model",id:vi,onClick:this.activeTab,role:"tab"},fo?"Schema":"Model"))),"example"===this.state.activeTab&&F.a.createElement("div",{"aria-hidden":"example"!==this.state.activeTab,"aria-labelledby":ci,"data-name":"examplePanel",id:Ci,role:"tabpanel",tabIndex:"0"},Dt||F.a.createElement(Gr,{value:"(no example available)",getConfigs:vn})),"model"===this.state.activeTab&&F.a.createElement("div",{"aria-hidden":"example"===this.state.activeTab,"aria-labelledby":vi,"data-name":"modelPanel",id:Ai,role:"tabpanel",tabIndex:"0"},F.a.createElement(kr,{schema:xt,getComponent:Re,getConfigs:vn,specSelectors:Be,expandDepth:jr,specPath:Gn,includeReadOnly:kn,includeWriteOnly:zn})))}}]),Te}(F.a.Component),Sr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onToggle",function(en,vn){Re.props.layoutActions&&Re.props.layoutActions.show(Re.props.fullPath,vn)}),Re}return B()(Te,[{key:"render",value:function(){var ge,Re=this.props,xt=Re.getConfigs,Dt=(0,Re.getComponent)("Model");return this.props.layoutSelectors&&(ge=this.props.layoutSelectors.isShown(this.props.fullPath)),F.a.createElement("div",{className:"model-box"},F.a.createElement(Dt,ba()({},this.props,{getConfigs:xt,expanded:ge,depth:1,onToggle:this.onToggle,expandDepth:this.props.expandDepth||0})))}}]),Te}($e.Component),pi=t(206),Fr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"getSchemaBasePath",function(){return Re.props.specSelectors.isOAS3()?["components","schemas"]:["definitions"]}),U()(L()(Re),"getCollapsedContent",function(){return" "}),U()(L()(Re),"handleToggle",function(en,vn){var Gn,kn;Re.props.layoutActions.show(h()(Gn=[]).call(Gn,Hs()(Re.getSchemaBasePath()),[en]),vn),vn&&Re.props.specActions.requestResolvedSubtree(h()(kn=[]).call(kn,Hs()(Re.getSchemaBasePath()),[en]))}),U()(L()(Re),"onLoadModels",function(en){en&&Re.props.layoutActions.readyToScroll(Re.getSchemaBasePath(),en)}),U()(L()(Re),"onLoadModel",function(en){if(en){var vn,Gn=en.getAttribute("data-name");Re.props.layoutActions.readyToScroll(h()(vn=[]).call(vn,Hs()(Re.getSchemaBasePath()),[Gn]),en)}}),Re}return B()(Te,[{key:"render",value:function(){var ge,Re=this,Be=this.props,xt=Be.specSelectors,Dt=Be.getComponent,en=Be.layoutSelectors,vn=Be.layoutActions,Gn=Be.getConfigs,kn=xt.definitions(),zn=Gn(),jr=zn.docExpansion,kr=zn.defaultModelsExpandDepth;if(!kn.size||kr<0)return null;var Gr=this.getSchemaBasePath(),ci=en.isShown(Gr,kr>0&&"none"!==jr),Ci=xt.isOAS3(),vi=Dt("ModelWrapper"),Ai=Dt("Collapse"),fo=Dt("ModelCollapse"),po=Dt("JumpToPath",!0);return F.a.createElement("section",{className:ci?"models is-open":"models",ref:this.onLoadModels},F.a.createElement("h4",null,F.a.createElement("button",{"aria-expanded":ci,className:"models-control",onClick:function(){return vn.show(Gr,!ci)}},F.a.createElement("span",null,Ci?"Schemas":"Models"),F.a.createElement("svg",{width:"20",height:"20","aria-hidden":"true",focusable:"false"},F.a.createElement("use",{xlinkHref:ci?"#large-arrow-up":"#large-arrow-down"})))),F.a.createElement(Ai,{isOpened:ci},He()(ge=kn.entrySeq()).call(ge,function(No){var Ao,io=Ko()(No,1)[0],So=h()(Ao=[]).call(Ao,Hs()(Gr),[io]),Xi=ln.a.List(So),Zi=xt.specResolvedSubtree(So),Jo=xt.specJson().getIn(So),Po=zt.Map.isMap(Zi)?Zi:ln.a.Map(),ho=zt.Map.isMap(Jo)?Jo:ln.a.Map(),Do=Po.get("title")||ho.get("title")||io,Ls=en.isShown(So,!1);Ls&&0===Po.size&&ho.size>0&&Re.props.specActions.requestResolvedSubtree(So);var _n=F.a.createElement(vi,{name:io,expandDepth:kr,schema:Po||ln.a.Map(),displayName:Do,fullPath:So,specPath:Xi,getComponent:Dt,specSelectors:xt,getConfigs:Gn,layoutSelectors:en,layoutActions:vn,includeReadOnly:!0,includeWriteOnly:!0}),Us=F.a.createElement("span",{className:"model-box"},F.a.createElement("span",{className:"model model-title"},Do));return F.a.createElement("div",{id:"model-".concat(io),className:"model-container",key:"models-section-".concat(io),"data-name":io,ref:Re.onLoadModel},F.a.createElement("span",{className:"models-jump-to-path"},F.a.createElement(po,{specPath:Xi})),F.a.createElement(fo,{classes:"model-box",collapsedContent:Re.getCollapsedContent(io),onToggle:Re.handleToggle,title:Us,displayName:Do,modelName:io,specPath:Xi,layoutSelectors:en,layoutActions:vn,hideSelfOnExpand:!0,expanded:kr>0&&Ls},_n))}).toArray()))}}]),Te}($e.Component),zr=function(xe){var ke=xe.value,Te=(0,xe.getComponent)("ModelCollapse"),ge=F.a.createElement("span",null,"Array [ ",ke.count()," ]");return F.a.createElement("span",{className:"prop-enum"},"Enum:",F.a.createElement("br",null),F.a.createElement(Te,{collapsedContent:ge},"[ ",ke.join(", ")," ]"))},Un=["schema","name","displayName","isRef","getComponent","getConfigs","depth","onToggle","expanded","specPath"],lr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge,Re,Be,xt,Dt=this.props,en=Dt.schema,vn=Dt.name,Gn=Dt.displayName,kn=Dt.isRef,zn=Dt.getComponent,jr=Dt.getConfigs,kr=Dt.depth,Gr=Dt.onToggle,ci=Dt.expanded,Ci=Dt.specPath,vi=$o()(Dt,Un),Ai=vi.specSelectors,fo=vi.expandDepth,po=vi.includeReadOnly,No=vi.includeWriteOnly,Ao=Ai.isOAS3;if(!en)return null;var io=jr().showExtensions,So=en.get("description"),Xi=en.get("properties"),Zi=en.get("additionalProperties"),Jo=en.get("title")||Gn||vn,Po=en.get("required"),ho=m()(en).call(en,function(xs,Rs){var qs;return-1!==Ut()(qs=["maxProperties","minProperties","nullable","example"]).call(qs,Rs)}),Do=en.get("deprecated"),Ls=zn("JumpToPath",!0),_n=zn("Markdown",!0),Us=zn("Model"),Pa=zn("ModelCollapse"),Aa=zn("Property"),so=function(){return F.a.createElement("span",{className:"model-jump-to-path"},F.a.createElement(Ls,{specPath:Ci}))},ra=F.a.createElement("span",null,F.a.createElement("span",null,"{"),"...",F.a.createElement("span",null,"}"),kn?F.a.createElement(so,null):""),rs=Ai.isOAS3()?en.get("anyOf"):null,wa=Ai.isOAS3()?en.get("oneOf"):null,Ws=Ai.isOAS3()?en.get("not"):null,Fa=Jo&&F.a.createElement("span",{className:"model-title"},kn&&en.get("$$ref")&&F.a.createElement("span",{className:"model-hint"},en.get("$$ref")),F.a.createElement("span",{className:"model-title__text"},Jo));return F.a.createElement("span",{className:"model"},F.a.createElement(Pa,{modelName:vn,title:Fa,onToggle:Gr,expanded:!!ci||kr<=fo,collapsedContent:ra},F.a.createElement("span",{className:"brace-open object"},"{"),kn?F.a.createElement(so,null):null,F.a.createElement("span",{className:"inner-object"},F.a.createElement("table",{className:"model"},F.a.createElement("tbody",null,So?F.a.createElement("tr",{className:"description"},F.a.createElement("td",null,"description:"),F.a.createElement("td",null,F.a.createElement(_n,{source:So}))):null,Do?F.a.createElement("tr",{className:"property"},F.a.createElement("td",null,"deprecated:"),F.a.createElement("td",null,"true")):null,Xi&&Xi.size?He()(ge=m()(Re=Xi.entrySeq()).call(Re,function(xs){var Rs=Ko()(xs,2)[1];return(!Rs.get("readOnly")||po)&&(!Rs.get("writeOnly")||No)})).call(ge,function(xs){var Rs,qs,Ya=Ko()(xs,2),Zs=Ya[0],Za=Ya[1],Ha=Ao()&&Za.get("deprecated"),Va=zt.List.isList(Po)&&Po.contains(Zs),Ua=["property-row"];return Ha&&Ua.push("deprecated"),Va&&Ua.push("required"),F.a.createElement("tr",{key:Zs,className:Ua.join(" ")},F.a.createElement("td",null,Zs,Va&&F.a.createElement("span",{className:"star"},"*")),F.a.createElement("td",null,F.a.createElement(Us,ba()({key:h()(Rs=h()(qs="object-".concat(vn,"-")).call(qs,Zs,"_")).call(Rs,Za)},vi,{required:Va,getComponent:zn,specPath:Ci.push("properties",Zs),getConfigs:jr,schema:Za,depth:kr+1}))))}).toArray():null,io?F.a.createElement("tr",null,F.a.createElement("td",null,"\xa0")):null,io?He()(Be=en.entrySeq()).call(Be,function(xs){var Rs=Ko()(xs,2),qs=Rs[0],Ya=Rs[1];if("x-"===ce()(qs).call(qs,0,2)){var Zs=Ya?Ya.toJS?Ya.toJS():Ya:null;return F.a.createElement("tr",{key:qs,className:"extension"},F.a.createElement("td",null,qs),F.a.createElement("td",null,R()(Zs)))}}).toArray():null,Zi&&Zi.size?F.a.createElement("tr",null,F.a.createElement("td",null,"< * >:"),F.a.createElement("td",null,F.a.createElement(Us,ba()({},vi,{required:!1,getComponent:zn,specPath:Ci.push("additionalProperties"),getConfigs:jr,schema:Zi,depth:kr+1})))):null,rs?F.a.createElement("tr",null,F.a.createElement("td",null,"anyOf ->"),F.a.createElement("td",null,He()(rs).call(rs,function(xs,Rs){return F.a.createElement("div",{key:Rs},F.a.createElement(Us,ba()({},vi,{required:!1,getComponent:zn,specPath:Ci.push("anyOf",Rs),getConfigs:jr,schema:xs,depth:kr+1})))}))):null,wa?F.a.createElement("tr",null,F.a.createElement("td",null,"oneOf ->"),F.a.createElement("td",null,He()(wa).call(wa,function(xs,Rs){return F.a.createElement("div",{key:Rs},F.a.createElement(Us,ba()({},vi,{required:!1,getComponent:zn,specPath:Ci.push("oneOf",Rs),getConfigs:jr,schema:xs,depth:kr+1})))}))):null,Ws?F.a.createElement("tr",null,F.a.createElement("td",null,"not ->"),F.a.createElement("td",null,F.a.createElement("div",null,F.a.createElement(Us,ba()({},vi,{required:!1,getComponent:zn,specPath:Ci.push("not"),getConfigs:jr,schema:Ws,depth:kr+1}))))):null))),F.a.createElement("span",{className:"brace-close"},"}")),ho.size?He()(xt=ho.entrySeq()).call(xt,function(xs){var Rs,qs=Ko()(xs,2),Ya=qs[0],Zs=qs[1];return F.a.createElement(Aa,{key:h()(Rs="".concat(Ya,"-")).call(Rs,Zs),propKey:Ya,propVal:Zs,propClass:"property"})}):null)}}]),Te}($e.Component),dr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.getComponent,xt=Re.getConfigs,Dt=Re.schema,en=Re.depth,vn=Re.expandDepth,Gn=Re.name,kn=Re.displayName,zn=Re.specPath,jr=Dt.get("description"),kr=Dt.get("items"),Gr=Dt.get("title")||kn||Gn,ci=m()(Dt).call(Dt,function(No,Ao){var io;return-1===Ut()(io=["type","items","description","$$ref"]).call(io,Ao)}),Ci=Be("Markdown",!0),vi=Be("ModelCollapse"),Ai=Be("Model"),fo=Be("Property"),po=Gr&&F.a.createElement("span",{className:"model-title"},F.a.createElement("span",{className:"model-title__text"},Gr));return F.a.createElement("span",{className:"model"},F.a.createElement(vi,{title:po,expanded:en<=vn,collapsedContent:"[...]"},"[",ci.size?He()(ge=ci.entrySeq()).call(ge,function(No){var Ao,io=Ko()(No,2),So=io[0],Xi=io[1];return F.a.createElement(fo,{key:h()(Ao="".concat(So,"-")).call(Ao,Xi),propKey:So,propVal:Xi,propClass:"property"})}):null,jr?F.a.createElement(Ci,{source:jr}):ci.size?F.a.createElement("div",{className:"markdown"}):null,F.a.createElement("span",null,F.a.createElement(Ai,ba()({},this.props,{getConfigs:xt,specPath:zn.push("items"),name:null,schema:kr,required:!1,depth:en+1}))),"]"))}}]),Te}($e.Component),li="property primitive",Ti=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge,Re,Be,xt=this.props,Dt=xt.schema,en=xt.getComponent,Gn=xt.name,kn=xt.displayName,zn=xt.depth,jr=(0,xt.getConfigs)().showExtensions;if(!Dt||!Dt.get)return F.a.createElement("div",null);var kr=Dt.get("type"),Gr=Dt.get("format"),ci=Dt.get("xml"),Ci=Dt.get("enum"),vi=Dt.get("title")||kn||Gn,Ai=Dt.get("description"),fo=Object(tr.m)(Dt),po=m()(Dt).call(Dt,function(So,Xi){var Zi;return-1===Ut()(Zi=["enum","type","format","description","$$ref"]).call(Zi,Xi)}).filterNot(function(So,Xi){return fo.has(Xi)}),No=en("Markdown",!0),Ao=en("EnumModel"),io=en("Property");return F.a.createElement("span",{className:"model"},F.a.createElement("span",{className:"prop"},Gn&&F.a.createElement("span",{className:"".concat(1===zn&&"model-title"," prop-name")},vi),F.a.createElement("span",{className:"prop-type"},kr),Gr&&F.a.createElement("span",{className:"prop-format"},"($",Gr,")"),po.size?He()(ge=po.entrySeq()).call(ge,function(So){var Xi,Zi=Ko()(So,2),Jo=Zi[0],Po=Zi[1];return F.a.createElement(io,{key:h()(Xi="".concat(Jo,"-")).call(Xi,Po),propKey:Jo,propVal:Po,propClass:li})}):null,jr&&fo.size?He()(Re=fo.entrySeq()).call(Re,function(So){var Xi,Zi=Ko()(So,2),Jo=Zi[0],Po=Zi[1];return F.a.createElement(io,{key:h()(Xi="".concat(Jo,"-")).call(Xi,Po),propKey:Jo,propVal:Po,propClass:li})}):null,Ai?F.a.createElement(No,{source:Ai}):null,ci&&ci.size?F.a.createElement("span",null,F.a.createElement("br",null),F.a.createElement("span",{className:li},"xml:"),He()(Be=ci.entrySeq()).call(Be,function(So){var Xi,Zi=Ko()(So,2),Jo=Zi[0],Po=Zi[1];return F.a.createElement("span",{key:h()(Xi="".concat(Jo,"-")).call(Xi,Po),className:li},F.a.createElement("br",null),"\xa0\xa0\xa0",Jo,": ",String(Po))}).toArray()):null,Ci&&F.a.createElement(Ao,{value:Ci,getComponent:en})))}}]),Te}($e.Component),Oo=function(xe){var ke=xe.propKey,Te=xe.propVal;return F.a.createElement("span",{className:xe.propClass},F.a.createElement("br",null),ke,": ",String(Te))},es=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.onTryoutClick,xt=ge.onResetClick,vn=ge.isOAS3&&ge.hasUserEditedBody;return F.a.createElement("div",{className:vn?"try-out btn-group":"try-out"},ge.enabled?F.a.createElement("button",{className:"btn try-out__btn cancel",onClick:ge.onCancelClick},"Cancel"):F.a.createElement("button",{className:"btn try-out__btn",onClick:Re},"Try it out "),vn&&F.a.createElement("button",{className:"btn try-out__btn reset",onClick:xt},"Reset"))}}]),Te}(F.a.Component);U()(es,"defaultProps",{onTryoutClick:Function.prototype,onCancelClick:Function.prototype,onResetClick:Function.prototype,enabled:!1,hasUserEditedBody:!1,isOAS3:!1});var jo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Be=ge.isSwagger2,xt=ge.isOAS3,Dt=ge.alsoShow;return ge.bypass?F.a.createElement("div",null,this.props.children):Be&&xt?F.a.createElement("div",{className:"version-pragma"},Dt,F.a.createElement("div",{className:"version-pragma__message version-pragma__message--ambiguous"},F.a.createElement("div",null,F.a.createElement("h3",null,"Unable to render this definition"),F.a.createElement("p",null,F.a.createElement("code",null,"swagger")," and ",F.a.createElement("code",null,"openapi")," fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields."),F.a.createElement("p",null,"Supported version fields are ",F.a.createElement("code",null,"swagger: ",'"2.0"')," and those that match ",F.a.createElement("code",null,"openapi: 3.0.n")," (for example, ",F.a.createElement("code",null,"openapi: 3.0.0"),").")))):Be||xt?F.a.createElement("div",null,this.props.children):F.a.createElement("div",{className:"version-pragma"},Dt,F.a.createElement("div",{className:"version-pragma__message version-pragma__message--missing"},F.a.createElement("div",null,F.a.createElement("h3",null,"Unable to render this definition"),F.a.createElement("p",null,"The provided definition does not specify a valid version field."),F.a.createElement("p",null,"Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ",F.a.createElement("code",null,"swagger: ",'"2.0"')," and those that match ",F.a.createElement("code",null,"openapi: 3.0.n")," (for example, ",F.a.createElement("code",null,"openapi: 3.0.0"),")."))))}}]),Te}(F.a.PureComponent);U()(jo,"defaultProps",{alsoShow:null,children:null,bypass:!1});var uo=function(xe){return F.a.createElement("small",null,F.a.createElement("pre",{className:"version"}," ",xe.version," "))},Ki=function(xe){var ke=xe.enabled,ge=xe.text;return F.a.createElement("a",{className:"nostyle",onClick:ke?function(Re){return Re.preventDefault()}:null,href:ke?"#/".concat(xe.path):null},F.a.createElement("span",null,ge))},Ho=function(){return F.a.createElement("div",null,F.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",className:"svg-assets"},F.a.createElement("defs",null,F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"unlocked"},F.a.createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"locked"},F.a.createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"close"},F.a.createElement("path",{d:"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow"},F.a.createElement("path",{d:"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow-down"},F.a.createElement("path",{d:"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow-up"},F.a.createElement("path",{d:"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z"})),F.a.createElement("symbol",{viewBox:"0 0 24 24",id:"jump-to"},F.a.createElement("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"})),F.a.createElement("symbol",{viewBox:"0 0 24 24",id:"expand"},F.a.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"})))))},Yi=t(205),na=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.errSelectors,Be=ge.specSelectors,xt=ge.getComponent,Dt=xt("SvgAssets"),en=xt("InfoContainer",!0),vn=xt("VersionPragmaFilter"),Gn=xt("operations",!0),kn=xt("Models",!0),zn=xt("Row"),jr=xt("Col"),kr=xt("errors",!0),Gr=xt("ServersContainer",!0),ci=xt("SchemesContainer",!0),Ci=xt("AuthorizeBtnContainer",!0),vi=xt("FilterContainer",!0),Ai=xt("ErrorBoundary",!0),fo=Be.isSwagger2(),po=Be.isOAS3(),No=!Be.specStr(),Ao=Be.loadingStatus(),io=null;if("loading"===Ao&&(io=F.a.createElement("div",{className:"info"},F.a.createElement("div",{className:"loading-container"},F.a.createElement("div",{className:"loading"})))),"failed"===Ao&&(io=F.a.createElement("div",{className:"info"},F.a.createElement("div",{className:"loading-container"},F.a.createElement("h4",{className:"title"},"Failed to load API definition."),F.a.createElement(kr,null)))),"failedConfig"===Ao){var So=Re.lastError(),Xi=So?So.get("message"):"";io=F.a.createElement("div",{className:"info failed-config"},F.a.createElement("div",{className:"loading-container"},F.a.createElement("h4",{className:"title"},"Failed to load remote configuration."),F.a.createElement("p",null,Xi)))}if(!io&&No&&(io=F.a.createElement("h4",null,"No API definition provided.")),io)return F.a.createElement("div",{className:"swagger-ui"},F.a.createElement("div",{className:"loading-container"},io));var Zi=Be.servers(),Jo=Be.schemes(),Po=Zi&&Zi.size,ho=Jo&&Jo.size,Do=!!Be.securityDefinitions();return F.a.createElement("div",{className:"swagger-ui"},F.a.createElement(Ai,{targetName:"BaseLayout"},F.a.createElement(Dt,null),F.a.createElement(vn,{isSwagger2:fo,isOAS3:po,alsoShow:F.a.createElement(kr,null)},F.a.createElement(kr,null),F.a.createElement(zn,{className:"information-container"},F.a.createElement(jr,{mobile:12},F.a.createElement(en,null))),Po||ho||Do?F.a.createElement("div",{className:"scheme-container"},F.a.createElement(jr,{className:"schemes wrapper",mobile:12},Po?F.a.createElement(Gr,null):null,ho?F.a.createElement(ci,null):null,Do?F.a.createElement(Ci,null):null)):null,F.a.createElement(vi,null),F.a.createElement(zn,null,F.a.createElement(jr,{mobile:12,desktop:12},F.a.createElement(Gn,null))),F.a.createElement(zn,null,F.a.createElement(jr,{mobile:12,desktop:12},F.a.createElement(kn,null))))))}}]),Te}(F.a.Component),ha=t(326),gl=t.n(ha),Hn={value:"",onChange:function(){},schema:{},keyName:"",required:!1,errors:Object(zt.List)()},Ts=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return B()(Te,[{key:"componentDidMount",value:function(){var ge=this.props,Re=ge.dispatchInitialValue,xt=ge.onChange;Re?xt(ge.value):!1===Re&&xt("")}},{key:"render",value:function(){var ge,Re=this.props,Be=Re.schema,xt=Re.errors,Dt=Re.value,en=Re.onChange,vn=Re.getComponent,Gn=Re.fn,kn=Re.disabled,zn=Be&&Be.get?Be.get("format"):null,jr=Be&&Be.get?Be.get("type"):null,Gr=jr?vn(zn?h()(ge="JsonSchema_".concat(jr,"_")).call(ge,zn):"JsonSchema_".concat(jr),!1,{failSilently:!0}):vn("JsonSchema_string");return Gr||(Gr=vn("JsonSchema_string")),F.a.createElement(Gr,ba()({},this.props,{errors:xt,fn:Gn,getComponent:vn,value:Dt,onChange:en,schema:Be,disabled:kn}))}}]),Te}($e.Component);U()(Ts,"defaultProps",Hn);var Ll=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChange",function(en){var vn=Re.props.schema&&"file"===Re.props.schema.get("type")?en.target.files[0]:en.target.value;Re.props.onChange(vn,Re.props.keyName)}),U()(L()(Re),"onEnumChange",function(en){return Re.props.onChange(en)}),Re}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.getComponent,Be=ge.value,xt=ge.schema,Dt=ge.errors,en=ge.required,vn=ge.description,Gn=ge.disabled,kn=xt&&xt.get?xt.get("enum"):null,zn=xt&&xt.get?xt.get("format"):null,jr=xt&&xt.get?xt.get("type"):null,kr=xt&&xt.get?xt.get("in"):null;if(Be||(Be=""),Dt=Dt.toJS?Dt.toJS():[],kn){var Gr=Re("Select");return F.a.createElement(Gr,{className:Dt.length?"invalid":"",title:Dt.length?Dt:"",allowedValues:kn,value:Be,allowEmptyValue:!en,disabled:Gn,onChange:this.onEnumChange})}var ci=Gn||kr&&"formData"===kr&&!("FormData"in window),Ci=Re("Input");return jr&&"file"===jr?F.a.createElement(Ci,{type:"file",className:Dt.length?"invalid":"",title:Dt.length?Dt:"",onChange:this.onChange,disabled:ci}):F.a.createElement(gl.a,{type:zn&&"password"===zn?"password":"text",className:Dt.length?"invalid":"",title:Dt.length?Dt:"",value:Be,minLength:0,debounceTimeout:350,placeholder:vn,onChange:this.onChange,disabled:ci})}}]),Te}($e.Component);U()(Ll,"defaultProps",Hn);var Hl=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChange",function(){Be.props.onChange(Be.state.value)}),U()(L()(Be),"onItemChange",function(xt,Dt){Be.setState(function(en){return{value:en.value.set(Dt,xt)}},Be.onChange)}),U()(L()(Be),"removeItem",function(xt){Be.setState(function(Dt){return{value:Dt.value.delete(xt)}},Be.onChange)}),U()(L()(Be),"addItem",function(){var xt=Fl(Be.state.value);Be.setState(function(){return{value:xt.push(Object(tr.o)(Be.state.schema.get("items"),!1,{includeWriteOnly:!0}))}},Be.onChange)}),U()(L()(Be),"onEnumChange",function(xt){Be.setState(function(){return{value:xt}},Be.onChange)}),Be.state={value:Fl(ge.value),schema:ge.schema},Be}return B()(Te,[{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re=Fl(ge.value);Re!==this.state.value&&this.setState({value:Re}),ge.schema!==this.state.schema&&this.setState({schema:ge.schema})}},{key:"render",value:function(){var ge,Re=this,Be=this.props,xt=Be.getComponent,Dt=Be.required,en=Be.schema,vn=Be.errors,Gn=Be.fn,kn=Be.disabled;vn=vn.toJS?vn.toJS():Se()(vn)?vn:[];var zn,jr,kr=m()(vn).call(vn,function(Xi){return"string"==typeof Xi}),Gr=He()(ge=m()(vn).call(vn,function(Xi){return void 0!==Xi.needRemove})).call(ge,function(Xi){return Xi.error}),ci=this.state.value,Ci=!!(ci&&ci.count&&ci.count()>0),vi=en.getIn(["items","enum"]),Ai=en.getIn(["items","type"]),fo=en.getIn(["items","format"]),po=en.get("items"),No=!1,Ao="file"===Ai||"string"===Ai&&"binary"===fo;if(Ai&&fo?zn=xt(h()(jr="JsonSchema_".concat(Ai,"_")).call(jr,fo)):"boolean"!==Ai&&"array"!==Ai&&"object"!==Ai||(zn=xt("JsonSchema_".concat(Ai))),zn||Ao||(No=!0),vi){var io=xt("Select");return F.a.createElement(io,{className:vn.length?"invalid":"",title:vn.length?vn:"",multiple:!0,value:ci,disabled:kn,allowedValues:vi,allowEmptyValue:!Dt,onChange:this.onEnumChange})}var So=xt("Button");return F.a.createElement("div",{className:"json-schema-array"},Ci?He()(ci).call(ci,function(Xi,Zi){var Jo,Po=Object(zt.fromJS)(Hs()(He()(Jo=m()(vn).call(vn,function(ho){return ho.index===Zi})).call(Jo,function(ho){return ho.error})));return F.a.createElement("div",{key:Zi,className:"json-schema-form-item"},Ao?F.a.createElement(Ds,{value:Xi,onChange:function(ho){return Re.onItemChange(ho,Zi)},disabled:kn,errors:Po,getComponent:xt}):No?F.a.createElement(vo,{value:Xi,onChange:function(ho){return Re.onItemChange(ho,Zi)},disabled:kn,errors:Po}):F.a.createElement(zn,ba()({},Re.props,{value:Xi,onChange:function(ho){return Re.onItemChange(ho,Zi)},disabled:kn,errors:Po,schema:po,getComponent:xt,fn:Gn})),kn?null:F.a.createElement(So,{className:"btn btn-sm json-schema-form-item-remove ".concat(Gr.length?"invalid":null),title:Gr.length?Gr:"",onClick:function(){return Re.removeItem(Zi)}}," - "))}):null,kn?null:F.a.createElement(So,{className:"btn btn-sm json-schema-form-item-add ".concat(kr.length?"invalid":null),title:kr.length?kr:"",onClick:this.addItem},"Add ",Ai?"".concat(Ai," "):"","item"))}}]),Te}($e.PureComponent);U()(Hl,"defaultProps",Hn);var vo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChange",function(en){Re.props.onChange(en.target.value,Re.props.keyName)}),Re}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.value,Be=ge.errors,xt=ge.description,Dt=ge.disabled;return Re||(Re=""),Be=Be.toJS?Be.toJS():[],F.a.createElement(gl.a,{type:"text",className:Be.length?"invalid":"",title:Be.length?Be:"",value:Re,minLength:0,debounceTimeout:350,placeholder:xt,onChange:this.onChange,disabled:Dt})}}]),Te}($e.Component);U()(vo,"defaultProps",Hn);var Ds=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onFileChange",function(en){Re.props.onChange(en.target.files[0],Re.props.keyName)}),Re}return B()(Te,[{key:"render",value:function(){var ge=this.props,Be=ge.errors,xt=ge.disabled,Dt=(0,ge.getComponent)("Input"),en=xt||!("FormData"in window);return F.a.createElement(Dt,{type:"file",className:Be.length?"invalid":"",title:Be.length?Be:"",onChange:this.onFileChange,disabled:en})}}]),Te}($e.Component);U()(Ds,"defaultProps",Hn);var zc=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onEnumChange",function(en){return Re.props.onChange(en)}),Re}return B()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.getComponent,Be=ge.value,xt=ge.errors,Dt=ge.schema,en=ge.required,vn=ge.disabled;xt=xt.toJS?xt.toJS():[];var Gn=Dt&&Dt.get?Dt.get("enum"):null,kn=!Gn||!en,zn=!Gn&&Object(zt.fromJS)(["true","false"]),jr=Re("Select");return F.a.createElement(jr,{className:xt.length?"invalid":"",title:xt.length?xt:"",value:String(Be),disabled:vn,allowedValues:Gn||zn,allowEmptyValue:kn,onChange:this.onEnumChange})}}]),Te}($e.Component);U()(zc,"defaultProps",Hn);var vc=function(xe){return He()(xe).call(xe,function(ke){var Te,Re="string"==typeof ke?ke:"string"==typeof ke.error?ke.error:null;if(!(void 0!==ke.propKey?ke.propKey:ke.index)&&Re)return Re;for(var Be=ke.error,xt="/".concat(ke.propKey);"object"===l()(Be);){var Dt=void 0!==Be.propKey?Be.propKey:Be.index;if(void 0===Dt||(xt+="/".concat(Dt),!Be.error))break;Be=Be.error}return h()(Te="".concat(xt,": ")).call(Te,Be)})},hc=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge;return I()(this,Te),ge=ke.call(this),U()(L()(ge),"onChange",function(Re){ge.props.onChange(Re)}),U()(L()(ge),"handleOnChange",function(Re){ge.onChange(Re.target.value)}),ge}return B()(Te,[{key:"render",value:function(){var ge=this.props,Be=ge.value,xt=ge.errors,Dt=ge.disabled,en=(0,ge.getComponent)("TextArea");return xt=xt.toJS?xt.toJS():Se()(xt)?xt:[],F.a.createElement("div",null,F.a.createElement(en,{className:Er()({invalid:xt.length}),title:xt.length?vc(xt).join(", "):"",value:Object(tr.I)(Be),disabled:Dt,onChange:this.handleOnChange}))}}]),Te}($e.PureComponent);function Fl(xe){return zt.List.isList(xe)?xe:Se()(xe)?Object(zt.fromJS)(xe):Object(zt.List)()}U()(hc,"defaultProps",Hn);var Cl=function(){return[jt.default,yn.default,ut.default,mn.default,Dn.default,En.default,Fn.default,jn.default,{components:{App:sn,authorizationPopup:An,authorizeBtn:Bn,AuthorizeBtnContainer:ir,authorizeOperationBtn:mr,auths:_r,AuthItem:Nr,authError:br,oauth2:rt,apiKeyAuth:Jn,basicAuth:rr,clear:yt,liveResponse:or,InitializedInput:xr,info:si,InfoContainer:bi,JumpToPath:Ui,onlineValidatorBadge:Vn.a,operations:ai,operation:ki,OperationSummary:Wi,OperationSummaryMethod:eo,OperationSummaryPath:Ro,highlightCode:wo,responses:gi,response:xa,ResponseExtension:Ra,responseBody:Ma,parameters:an,parameterRow:Wt,execute:Yo,headers:vs,errors:as,contentType:hl,overview:tn,footer:ro,FilterContainer:mo,ParamBody:hi,curl:G,schemes:Me,SchemesContainer:ft,modelExample:Xn,ModelWrapper:Sr,ModelCollapse:Ft,Model:pi.a,Models:Fr,EnumModel:zr,ObjectModel:lr,ArrayModel:dr,PrimitiveModel:Ti,Property:Oo,TryItOutButton:es,Markdown:Yi.a,BaseLayout:na,VersionPragmaFilter:jo,VersionStamp:uo,OperationExt:ts,OperationExtRow:ua,ParameterExt:Nt,ParameterIncludeEmpty:ye,OperationTag:_o,OperationContainer:Nn,DeepLink:Ki,InfoUrl:ni,InfoBasePath:Zr,SvgAssets:Ho,Example:Mr,ExamplesSelect:Mi,ExamplesSelectValueRetainer:Xr}},{components:e},mt.default,{components:s},Tt.default,et.default,hn.default,Qn.default,Ir.default,Xt.default]},ql=t(293);function kl(){return[Cl,ql.default]}var Zl=t(314);function Mt(xe){var ke;Ht.a.versions=Ht.a.versions||{},Ht.a.versions.swaggerUi={version:"4.1.3",gitRevision:"g01a3e55",gitDirty:!0,buildTimestamp:"Fri, 10 Dec 2021 13:01:43 GMT"};var Te={dom_id:null,domNode:null,spec:{},url:"",urls:null,layout:"BaseLayout",docExpansion:"list",maxDisplayedTags:null,filter:null,validatorUrl:"https://validator.swagger.io/validator",oauth2RedirectUrl:h()(ke="".concat(window.location.protocol,"//")).call(ke,window.location.host,"/oauth2-redirect.html"),persistAuthorization:!1,configs:{},custom:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:function(zn){return zn},responseInterceptor:function(zn){return zn},showMutatedRequest:!0,defaultModelRendering:"example",defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:void 0,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:"cURL (bash)",syntax:"bash"},curl_powershell:{title:"cURL (PowerShell)",syntax:"powershell"},curl_cmd:{title:"cURL (CMD)",syntax:"bash"}},defaultExpanded:!0,languages:null},supportedSubmitMethods:["get","put","post","delete","options","head","patch","trace"],queryConfigEnabled:!1,presets:[kl],plugins:[],pluginsOptions:{pluginLoadType:"legacy"},initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:"agate"}},ge=xe.queryConfigEnabled?Object(tr.C)():{},Re=xe.domNode;delete xe.domNode;var Be=H()({},Te,xe,ge),xt={system:{configs:Be.configs},plugins:Be.presets,pluginsOptions:Be.pluginsOptions,state:H()({layout:{layout:Be.layout,filter:m()(Be)},spec:{spec:"",url:Be.url},requestSnippets:Be.requestSnippets},Be.initialState)};if(Be.initialState)for(var Dt in Be.initialState)Object.prototype.hasOwnProperty.call(Be.initialState,Dt)&&void 0===Be.initialState[Dt]&&delete xt.state[Dt];var en=new Kt(xt);en.register([Be.plugins,function(){return{fn:Be.fn,components:Be.components,state:Be.state}}]);var vn=en.getSystem(),Gn=function(zn){var jr=vn.specSelectors.getLocalConfig?vn.specSelectors.getLocalConfig():{},kr=H()({},jr,Be,zn||{},ge);if(Re&&(kr.domNode=Re),en.setConfigs(kr),vn.configsActions.loaded(),null!==zn&&(!ge.url&&"object"===l()(kr.spec)&&T()(kr.spec).length?(vn.specActions.updateUrl(""),vn.specActions.updateLoadingStatus("success"),vn.specActions.updateSpec(R()(kr.spec))):vn.specActions.download&&kr.url&&!kr.urls&&(vn.specActions.updateUrl(kr.url),vn.specActions.download(kr.url))),kr.domNode)vn.render(kr.domNode,"App");else if(kr.dom_id){var Gr=document.querySelector(kr.dom_id);vn.render(Gr,"App")}else null===kr.dom_id||null===kr.domNode||console.error("Skipped rendering: no `dom_id` or `domNode` was specified");return vn},kn=ge.config||Be.configUrl;return kn&&vn.specActions&&vn.specActions.getConfigByUrl?(vn.specActions.getConfigByUrl({url:kn,loadRemoteConfig:!0,requestInterceptor:Be.requestInterceptor,responseInterceptor:Be.responseInterceptor},Gn),vn):Gn()}Mt.presets={apis:kl},Mt.plugins=Zl.default,o.default=Mt}]).default},66265:(Ge,g,o)=>{"use strict";o.d(g,{B:()=>l});var t=o(12057),e=o(6283),s=o(44466),a=o(74788);let l=(()=>{class u{}return u.\u0275fac=function(_){return new(_||u)},u.\u0275mod=a.oAB({type:u}),u.\u0275inj=a.cJS({imports:[[t.ez,s.m,e.Bz]]}),u})()},98056:(Ge,g,o)=>{"use strict";o.d(g,{p:()=>z});var t=o(64762),e=o(58497),s=o(25917),a=o(19773),l=o(93523),u=o(74788);let h=class{constructor(M){this.http=M,this.url="api/perf_counters"}list(){return this.http.get(this.url)}get(M,I){return this.http.get(`${this.url}/${M}/${I}`).pipe((0,a.zg)(J=>(0,s.of)(J.counters)))}};h.\u0275fac=function(M){return new(M||h)(u.LFG(e.eN))},h.\u0275prov=u.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"}),h=(0,t.gn)([l.o,(0,t.w6)("design:paramtypes",[e.eN])],h);var _=o(12057),m=o(64337),b=o(34501),T=o(66369);const D=["valueTpl"];function R(U,M){if(1&U&&(u._uU(0),u.ALo(1,"dimless")),2&U){const I=M.row;u.AsE(" ",u.lcZ(1,2,I.value)," ",I.unit," ")}}function j(U,M){if(1&U){const I=u.EpF();u.TgZ(0,"cd-table",2),u.NdJ("fetchData",function(B){return u.CHM(I),u.oxw().getCounters(B)}),u.YNc(1,R,2,4,"ng-template",null,3,u.W1O),u.qZA()}if(2&U){const I=u.oxw();u.Q6J("data",I.counters)("columns",I.columns)("autoSave",!1)}}function H(U,M){1&U&&(u.TgZ(0,"cd-alert-panel",4),u.SDv(1,5),u.qZA())}let z=(()=>{class U{constructor(I){this.performanceCounterService=I,this.columns=[],this.counters=[]}ngOnInit(){this.columns=[{name:"Name",prop:"name",flexGrow:1},{name:"Description",prop:"description",flexGrow:1},{name:"Value",prop:"value",cellTemplate:this.valueTpl,flexGrow:1}]}getCounters(I){this.performanceCounterService.get(this.serviceType,this.serviceId).subscribe(J=>{this.counters=J},J=>{404===J.status?(J.preventDefault(),this.counters=null):I.error()})}}return U.\u0275fac=function(I){return new(I||U)(u.Y36(h))},U.\u0275cmp=u.Xpm({type:U,selectors:[["cd-table-performance-counter"]],viewQuery:function(I,J){if(1&I&&u.Gf(D,5),2&I){let B;u.iGM(B=u.CRH())&&(J.valueTpl=B.first)}},inputs:{serviceType:"serviceType",serviceId:"serviceId"},decls:3,vars:2,consts:function(){let M;return M="Performance counters not available",[["columnMode","flex",3,"data","columns","autoSave","fetchData",4,"ngIf","ngIfElse"],["warning",""],["columnMode","flex",3,"data","columns","autoSave","fetchData"],["valueTpl",""],["type","warning"],M]},template:function(I,J){if(1&I&&(u.YNc(0,j,3,3,"cd-table",0),u.YNc(1,H,2,0,"ng-template",null,1,u.W1O)),2&I){const B=u.MAs(2);u.Q6J("ngIf",J.counters)("ngIfElse",B)}},directives:[_.O5,m.a,b.G],pipes:[T.n],styles:[""]}),U})()},370:(Ge,g,o)=>{"use strict";o.d(g,{t:()=>h});var t=o(12057),e=o(38549),s=o(37496),a=o(2149),l=o(44466),u=o(74788);let h=(()=>{class _{}return _.\u0275fac=function(b){return new(b||_)},_.\u0275mod=u.oAB({type:_}),_.\u0275inj=u.cJS({imports:[[t.ez,a.t,l.m,e.Oz,s.b]]}),_})()},49671:(Ge,g,o)=>{"use strict";o.d(g,{j:()=>u});var t=o(23815),e=o.n(t),s=o(370);class a{constructor(_){if(this.type=_,!this.isValidType())throw new Error("Wrong placement group category type");this.setTypeStates()}isValidType(){return a.VALID_CATEGORIES.includes(this.type)}setTypeStates(){switch(this.type){case a.CATEGORY_CLEAN:this.states=["active","clean"];break;case a.CATEGORY_WORKING:this.states=["activating","backfill_wait","backfilling","creating","deep","degraded","forced_backfill","forced_recovery","peering","peered","recovering","recovery_wait","repair","scrubbing","snaptrim","snaptrim_wait"];break;case a.CATEGORY_WARNING:this.states=["backfill_toofull","backfill_unfound","down","incomplete","inconsistent","recovery_toofull","recovery_unfound","remapped","snaptrim_error","stale","undersized"];break;default:this.states=[]}}}a.CATEGORY_CLEAN="clean",a.CATEGORY_WORKING="working",a.CATEGORY_WARNING="warning",a.CATEGORY_UNKNOWN="unknown",a.VALID_CATEGORIES=[a.CATEGORY_CLEAN,a.CATEGORY_WORKING,a.CATEGORY_WARNING,a.CATEGORY_UNKNOWN];var l=o(74788);let u=(()=>{class h{constructor(){this.categories=this.createCategories()}getAllTypes(){return a.VALID_CATEGORIES}getTypeByStates(m){const b=this.getPgStatesFromText(m);if(0===b.length)return a.CATEGORY_UNKNOWN;const T=e().zipObject(a.VALID_CATEGORIES,a.VALID_CATEGORIES.map(R=>e().intersection(this.categories[R].states,b).length));if(T[a.CATEGORY_WARNING]>0)return a.CATEGORY_WARNING;const D=T[a.CATEGORY_WORKING];return b.length>T[a.CATEGORY_CLEAN]+D?a.CATEGORY_UNKNOWN:D?a.CATEGORY_WORKING:a.CATEGORY_CLEAN}createCategories(){return e().zipObject(a.VALID_CATEGORIES,a.VALID_CATEGORIES.map(m=>new a(m)))}getPgStatesFromText(m){const b=m.replace(/[^a-z]+/g," ").trim().split(" ");return e().uniq(b)}}return h.\u0275fac=function(m){return new(m||h)},h.\u0275prov=l.Yz7({token:h,factory:h.\u0275fac,providedIn:s.t}),h})()},49552:(Ge,g,o)=>{"use strict";o.r(g),o.d(g,{AuthModule:()=>Ke,RoutedAuthModule:()=>Vt});var t=o(12057),e=o(24751),s=o(6283),a=o(38549),l=o(37496),u=o(79512),h=o(44466),_=o(23815),m=o.n(_),b=o(35758),T=o(18001),D=o(93614),R=o(95463),j=o(77205),H=o(97161),z=(()=>((z||(z={})).editing="editing",z))();class U{}var M=o(74788),I=o(25917),J=o(19773),B=o(58497);let ie=(()=>{class Ct{constructor(yt){this.http=yt}list(){return this.http.get("api/role")}delete(yt){return this.http.delete(`api/role/${yt}`)}get(yt){return this.http.get(`api/role/${yt}`)}create(yt){return this.http.post("api/role",yt)}clone(yt,qe){return this.http.post(`api/role/${yt}/clone`,{new_name:qe})}update(yt){return this.http.put(`api/role/${yt.name}`,yt)}exists(yt){return this.list().pipe((0,J.zg)(qe=>{const $t=qe.some(or=>or.name===yt);return(0,I.of)($t)}))}}return Ct.\u0275fac=function(yt){return new(yt||Ct)(M.LFG(B.eN))},Ct.\u0275prov=M.Yz7({token:Ct,factory:Ct.\u0275fac,providedIn:"root"}),Ct})(),oe=(()=>{class Ct{constructor(yt){this.http=yt}list(){return this.http.get("ui-api/scope")}}return Ct.\u0275fac=function(yt){return new(yt||Ct)(M.LFG(B.eN))},Ct.\u0275prov=M.Yz7({token:Ct,factory:Ct.\u0275fac,providedIn:"root"}),Ct})();var fe=o(63622),ne=o(41582),he=o(56310),ce=o(87925),Ae=o(94276),Se=o(82945),Oe=o(64337),be=o(30839),ue=o(10545);const He=["headerPermissionCheckboxTpl"],$e=["cellScopeCheckboxTpl"],F=["cellPermissionCheckboxTpl"];function je(Ct,rt){1&Ct&&(M.TgZ(0,"span",25),M.SDv(1,26),M.qZA())}function Et(Ct,rt){1&Ct&&(M.TgZ(0,"span",25),M.SDv(1,27),M.qZA())}const lt=function(Ct){return{required:Ct}};function nn(Ct,rt){if(1&Ct){const yt=M.EpF();M.TgZ(0,"div",4),M.TgZ(1,"form",5,6),M.TgZ(3,"div",7),M.TgZ(4,"div",8),M.SDv(5,9),M.ALo(6,"titlecase"),M.ALo(7,"upperFirst"),M.qZA(),M.TgZ(8,"div",10),M.TgZ(9,"div",11),M.TgZ(10,"label",12),M.SDv(11,13),M.qZA(),M.TgZ(12,"div",14),M._UZ(13,"input",15),M.YNc(14,je,2,0,"span",16),M.YNc(15,Et,2,0,"span",16),M.qZA(),M.qZA(),M.TgZ(16,"div",11),M.TgZ(17,"label",17),M.SDv(18,18),M.qZA(),M.TgZ(19,"div",14),M._UZ(20,"input",19),M.qZA(),M.qZA(),M.TgZ(21,"div",11),M.TgZ(22,"label",20),M.SDv(23,21),M.qZA(),M.TgZ(24,"div",14),M._UZ(25,"cd-table",22),M.qZA(),M.qZA(),M.qZA(),M.TgZ(26,"div",23),M.TgZ(27,"cd-form-button-panel",24),M.NdJ("submitActionEvent",function(){return M.CHM(yt),M.oxw().submit()}),M.ALo(28,"titlecase"),M.ALo(29,"upperFirst"),M.qZA(),M.qZA(),M.qZA(),M.qZA(),M.qZA()}if(2&Ct){const yt=M.MAs(2),qe=M.oxw();M.xp6(1),M.Q6J("formGroup",qe.roleForm),M.xp6(6),M.pQV(M.lcZ(6,15,qe.action))(M.lcZ(7,17,qe.resource)),M.QtT(5),M.xp6(3),M.Q6J("ngClass",M.VKq(23,lt,qe.mode!==qe.roleFormMode.editing)),M.xp6(4),M.Q6J("ngIf",qe.roleForm.showError("name",yt,"required")),M.xp6(1),M.Q6J("ngIf",qe.roleForm.showError("name",yt,"notUnique")),M.xp6(10),M.Q6J("data",qe.scopes_permissions)("columns",qe.columns)("toolHeader",!1)("autoReload",!1)("autoSave",!1)("footer",!1)("limit",0),M.xp6(2),M.Q6J("form",qe.roleForm)("submitText",M.lcZ(28,19,qe.action)+" "+M.lcZ(29,21,qe.resource))}}function St(Ct,rt){if(1&Ct){const yt=M.EpF();M.TgZ(0,"div",28),M.TgZ(1,"input",29),M.NdJ("change",function($t){const or=M.CHM(yt),Vn=or.row,Vr=or.column;return M.oxw().onClickCellCheckbox(Vn.scope,Vr.prop,$t)}),M.qZA(),M.TgZ(2,"label",30),M._uU(3),M.qZA(),M.qZA()}if(2&Ct){const yt=rt.row,qe=rt.value,$t=M.oxw();M.xp6(1),M.MGl("id","scope_",yt.scope,""),M.Q6J("checked",$t.isRowChecked(yt.scope)),M.xp6(1),M.MGl("for","scope_",yt.scope,""),M.xp6(1),M.Oqu(qe)}}function Ot(Ct,rt){if(1&Ct){const yt=M.EpF();M.TgZ(0,"div",28),M.TgZ(1,"input",31),M.NdJ("change",function($t){const or=M.CHM(yt),Vn=or.row,Vr=or.column;return M.oxw().onClickCellCheckbox(Vn.scope,Vr.prop,$t)}),M.qZA(),M._UZ(2,"label",32),M.qZA()}if(2&Ct){const yt=rt.column,qe=rt.row,$t=rt.value;M.xp6(1),M.Q6J("checked",$t)("id",qe.scope+"-"+yt.prop),M.xp6(1),M.Q6J("for",qe.scope+"-"+yt.prop)}}function Qe(Ct,rt){if(1&Ct){const yt=M.EpF();M.TgZ(0,"div",28),M.TgZ(1,"input",29),M.NdJ("change",function($t){const Vn=M.CHM(yt).column;return M.oxw().onClickHeaderCheckbox(Vn.prop,$t)}),M.qZA(),M.TgZ(2,"label",33),M._uU(3),M.qZA(),M.qZA()}if(2&Ct){const yt=rt.column,qe=M.oxw();M.xp6(1),M.MGl("id","header_",yt.prop,""),M.Q6J("checked",qe.isHeaderChecked(yt.prop)),M.xp6(1),M.MGl("for","header_",yt.prop,""),M.xp6(1),M.Oqu(yt.name)}}let It=(()=>{class Ct extends D.E{constructor(yt,qe,$t,or,Vn,Vr){super(),this.route=yt,this.router=qe,this.roleService=$t,this.scopeService=or,this.notificationService=Vn,this.actionLabels=Vr,this.scopes=[],this.scopes_permissions=[],this.roleFormMode=z,this.resource="role",this.createForm(),this.listenToChanges()}createForm(){this.roleForm=new R.d({name:new e.NI("",{validators:[e.kI.required],asyncValidators:[j.h.unique(this.roleService.exists,this.roleService)]}),description:new e.NI(""),scopes_permissions:new e.NI({})})}ngOnInit(){this.columns=[{prop:"scope",name:"All",flexGrow:2,cellTemplate:this.cellScopeCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"read",name:"Read",flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"create",name:"Create",flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"update",name:"Update",flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"delete",name:"Delete",flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl}],this.router.url.startsWith("/user-management/roles/edit")?(this.mode=this.roleFormMode.editing,this.action=this.actionLabels.EDIT):this.action=this.actionLabels.CREATE,this.mode===this.roleFormMode.editing?this.initEdit():this.initCreate()}initCreate(){this.scopeService.list().subscribe(yt=>{this.scopes=yt,this.roleForm.get("scopes_permissions").setValue({}),this.loadingReady()})}initEdit(){this.roleForm.get("name").disable(),this.route.params.subscribe(yt=>{const qe=[];qe.push(this.scopeService.list()),qe.push(this.roleService.get(yt.name)),(0,b.D)(qe).subscribe($t=>{this.scopes=$t[0],["name","description","scopes_permissions"].forEach(or=>this.roleForm.get(or).setValue($t[1][or])),this.loadingReady()})})}listenToChanges(){this.roleForm.get("scopes_permissions").valueChanges.subscribe(yt=>{const qe=[];m().each(this.scopes,$t=>{const or={read:!1,create:!1,update:!1,delete:!1};or.scope=$t,$t in yt&&m().each(yt[$t],Vn=>{or[Vn]=!0}),qe.push(or)}),this.scopes_permissions=qe})}isRowChecked(yt){const qe=m().find(this.scopes_permissions,$t=>$t.scope===yt);return!m().isUndefined(qe)&&qe.read&&qe.create&&qe.update&&qe.delete}isHeaderChecked(yt){let qe=[yt];return"scope"===yt&&(qe=["read","create","update","delete"]),qe.every($t=>this.scopes_permissions.every(or=>or[$t]))}onClickCellCheckbox(yt,qe,$t=null){const or=m().cloneDeep(this.roleForm.getValue("scopes_permissions"));let Vn=[qe];"scope"===qe&&(Vn=["read","create","update","delete"]),yt in or||(or[yt]=[]),$t&&$t.target.checked||!m().isEqual(Vn.sort(),m().intersection(or[yt],Vn).sort())?or[yt]=m().union(or[yt],Vn):(or[yt]=m().difference(or[yt],Vn),m().isEmpty(or[yt])&&m().unset(or,yt)),this.roleForm.get("scopes_permissions").setValue(or)}onClickHeaderCheckbox(yt,qe){const $t=m().cloneDeep(this.roleForm.getValue("scopes_permissions"));let or=[yt];"scope"===yt&&(or=["read","create","update","delete"]),m().each(or,Vn=>{m().each(this.scopes,Vr=>{qe.target.checked?$t[Vr]=m().union($t[Vr],[Vn]):($t[Vr]=m().difference($t[Vr],[Vn]),m().isEmpty($t[Vr])&&m().unset($t,Vr))})}),this.roleForm.get("scopes_permissions").setValue($t)}getRequest(){const yt=new U;return["name","description","scopes_permissions"].forEach(qe=>yt[qe]=this.roleForm.get(qe).value),yt}createAction(){const yt=this.getRequest();this.roleService.create(yt).subscribe(()=>{this.notificationService.show(T.k.success,"Created role '" + yt.name + "'"),this.router.navigate(["/user-management/roles"])},()=>{this.roleForm.setErrors({cdSubmitButton:!0})})}editAction(){const yt=this.getRequest();this.roleService.update(yt).subscribe(()=>{this.notificationService.show(T.k.success,"Updated role '" + yt.name + "'"),this.router.navigate(["/user-management/roles"])},()=>{this.roleForm.setErrors({cdSubmitButton:!0})})}submit(){this.mode===this.roleFormMode.editing?this.editAction():this.createAction()}}return Ct.\u0275fac=function(yt){return new(yt||Ct)(M.Y36(s.gz),M.Y36(s.F0),M.Y36(ie),M.Y36(oe),M.Y36(H.g),M.Y36(u.p4))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-role-form"]],viewQuery:function(yt,qe){if(1&yt&&(M.Gf(He,7),M.Gf($e,7),M.Gf(F,7)),2&yt){let $t;M.iGM($t=M.CRH())&&(qe.headerPermissionCheckboxTpl=$t.first),M.iGM($t=M.CRH())&&(qe.cellScopeCheckboxTpl=$t.first),M.iGM($t=M.CRH())&&(qe.cellPermissionCheckboxTpl=$t.first)}},features:[M.qOj],decls:7,vars:1,consts:function(){let rt,yt,qe,$t,or,Vn,Vr,Cr;return rt="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",yt="Name",qe="Name...",$t="Description",or="Description...",Vn="Permissions",Vr="This field is required.",Cr="The chosen name is already in use.",[["class","cd-col-form",4,"cdFormLoading"],["cellScopeCheckboxTpl",""],["cellPermissionCheckboxTpl",""],["headerPermissionCheckboxTpl",""],[1,"cd-col-form"],["name","roleForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],rt,[1,"card-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label",3,"ngClass"],yt,[1,"cd-col-form-input"],["type","text","placeholder",qe,"id","name","name","name","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","description",1,"cd-col-form-label"],$t,["type","text","placeholder",or,"id","description","name","description","formControlName","description",1,"form-control"],[1,"cd-col-form-label"],Vn,["columnMode","flex",3,"data","columns","toolHeader","autoReload","autoSave","footer","limit"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],Vr,Cr,[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","checked","change"],[1,"datatable-permissions-scope-cell-label","custom-control-label",3,"for"],["type","checkbox",1,"custom-control-input",3,"checked","id","change"],[1,"custom-control-label",3,"for"],[1,"datatable-permissions-header-cell-label","custom-control-label",3,"for"]]},template:function(yt,qe){1&yt&&(M.YNc(0,nn,30,25,"div",0),M.YNc(1,St,4,4,"ng-template",null,1,M.W1O),M.YNc(3,Ot,3,3,"ng-template",null,2,M.W1O),M.YNc(5,Qe,4,4,"ng-template",null,3,M.W1O)),2&yt&&M.Q6J("cdFormLoading",qe.loading)},directives:[fe.y,e._Y,e.JL,e.sg,ne.V,he.P,t.mk,ce.o,e.Fj,Ae.b,e.JJ,e.u,Se.U,t.O5,Oe.a,be.p],pipes:[t.rS,ue.m],styles:[".datatable-permissions-header-cell-label[_ngcontent-%COMP%], .datatable-permissions-scope-cell-label[_ngcontent-%COMP%]{font-weight:bold}"]}),Ct})();var ae=o(68136),Ie=o(30982),dt=o(65683),Jt=o(99466),zt=o(65862),ln=o(68774),ar=o(41039),Ln=o(51847),Rn=o(74937),er=o(63285);let Mn=(()=>{class Ct{constructor(yt){this.router=yt}}return Ct.\u0275fac=function(yt){return new(yt||Ct)(M.Y36(s.F0))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-user-tabs"]],decls:8,vars:1,consts:function(){let rt,yt;return rt="Users",yt="Roles",[["ngbNav","",1,"nav-tabs",3,"activeId","navChange"],["nav","ngbNav"],["ngbNavItem","/user-management/users"],["ngbNavLink",""],rt,["ngbNavItem","/user-management/roles"],yt]},template:function(yt,qe){1&yt&&(M.TgZ(0,"ul",0,1),M.NdJ("navChange",function(or){return qe.router.navigate([or.nextId])}),M.TgZ(2,"li",2),M.TgZ(3,"a",3),M.SDv(4,4),M.qZA(),M.qZA(),M.TgZ(5,"li",5),M.TgZ(6,"a",3),M.SDv(7,6),M.qZA(),M.qZA(),M.qZA()),2&yt&&M.Q6J("activeId",qe.router.url)},directives:[a.Pz,a.nv,a.Vx],styles:[""]}),Ct})();var Ht=o(94928);function tr(Ct,rt){if(1&Ct&&(M.ynx(0),M._UZ(1,"cd-table",1),M.BQk()),2&Ct){const yt=M.oxw();M.xp6(1),M.Q6J("data",yt.scopes_permissions)("columns",yt.columns)("toolHeader",!1)("autoReload",!1)("autoSave",!1)("footer",!1)("limit",0)}}let Yn=(()=>{class Ct{constructor(){this.scopes_permissions=[]}ngOnInit(){this.columns=[{prop:"scope",name:"Scope",flexGrow:2},{prop:"read",name:"Read",flexGrow:1,cellClass:"text-center",cellTransformation:Jt.e.checkIcon},{prop:"create",name:"Create",flexGrow:1,cellClass:"text-center",cellTransformation:Jt.e.checkIcon},{prop:"update",name:"Update",flexGrow:1,cellClass:"text-center",cellTransformation:Jt.e.checkIcon},{prop:"delete",name:"Delete",flexGrow:1,cellClass:"text-center",cellTransformation:Jt.e.checkIcon}]}ngOnChanges(){if(this.selection){this.selectedItem=this.selection;const yt=[];m().each(this.scopes,qe=>{const $t={read:!1,create:!1,update:!1,delete:!1};$t.scope=qe,qe in this.selectedItem.scopes_permissions&&m().each(this.selectedItem.scopes_permissions[qe],or=>{$t[or]=!0}),yt.push($t)}),this.scopes_permissions=yt}}}return Ct.\u0275fac=function(yt){return new(yt||Ct)},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-role-details"]],inputs:{selection:"selection",scopes:"scopes"},features:[M.TTD],decls:1,vars:1,consts:[[4,"ngIf"],["columnMode","flex",3,"data","columns","toolHeader","autoReload","autoSave","footer","limit"]],template:function(yt,qe){1&yt&&M.YNc(0,tr,2,7,"ng-container",0),2&yt&&M.Q6J("ngIf",qe.selection)},directives:[t.O5,Oe.a],styles:[".fa[_ngcontent-%COMP%]{font-size:large}.fa.fa-square-o[_ngcontent-%COMP%]{color:#ced4da}"]}),Ct})(),Kt=(()=>{class Ct extends ae.o{constructor(yt,qe,$t,or,Vn,Vr,Cr,ai){super(),this.roleService=yt,this.scopeService=qe,this.emptyPipe=$t,this.authStorageService=or,this.modalService=Vn,this.notificationService=Vr,this.urlBuilder=Cr,this.actionLabels=ai,this.selection=new ln.r,this.permission=this.authStorageService.getPermissions().user,this.tableActions=[{permission:"create",icon:zt.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"create",icon:zt.P.clone,name:this.actionLabels.CLONE,disable:()=>!this.selection.hasSingleSelection,click:()=>this.cloneRole()},{permission:"update",icon:zt.P.edit,disable:()=>!this.selection.hasSingleSelection||this.selection.first().system,routerLink:()=>this.selection.first()&&this.urlBuilder.getEdit(this.selection.first().name),name:this.actionLabels.EDIT},{permission:"delete",icon:zt.P.destroy,disable:()=>!this.selection.hasSingleSelection||this.selection.first().system,click:()=>this.deleteRoleModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"Name",prop:"name",flexGrow:3},{name:"Description",prop:"description",flexGrow:5,pipe:this.emptyPipe},{name:"System Role",prop:"system",cellClass:"text-center",flexGrow:1,cellTransformation:Jt.e.checkIcon}]}getRoles(){(0,b.D)([this.roleService.list(),this.scopeService.list()]).subscribe(yt=>{this.roles=yt[0],this.scopes=yt[1]})}updateSelection(yt){this.selection=yt}deleteRole(yt){this.roleService.delete(yt).subscribe(()=>{this.getRoles(),this.modalRef.close(),this.notificationService.show(T.k.success,"Deleted role '" + yt + "'")},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}deleteRoleModal(){const yt=this.selection.first().name;this.modalRef=this.modalService.show(Ie.M,{itemDescription:"Role",itemNames:[yt],submitAction:()=>this.deleteRole(yt)})}cloneRole(){const yt=this.selection.first().name;this.modalRef=this.modalService.show(dt.X,{fields:[{type:"text",name:"newName",value:`${yt}_clone`,label:"New name",required:!0}],titleText:"Clone Role",submitButtonText:"Clone Role",onSubmit:qe=>{this.roleService.clone(yt,qe.newName).subscribe(()=>{this.getRoles(),this.notificationService.show(T.k.success,"Cloned role '" + qe.newName + "' from '" + yt + "'")})}})}}return Ct.\u0275fac=function(yt){return new(yt||Ct)(M.Y36(ie),M.Y36(oe),M.Y36(ar.W),M.Y36(Rn.j),M.Y36(er.Z),M.Y36(H.g),M.Y36(Ln.F),M.Y36(u.p4))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-role-list"]],features:[M._Bn([{provide:Ln.F,useValue:new Ln.F("user-management/roles")}]),M.qOj],decls:4,vars:8,consts:[["columnMode","flex","identifier","name","selectionType","single",3,"data","columns","hasDetails","setExpandedRow","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection","scopes"]],template:function(yt,qe){1&yt&&(M._UZ(0,"cd-user-tabs"),M.TgZ(1,"cd-table",0),M.NdJ("setExpandedRow",function(or){return qe.setExpandedRow(or)})("fetchData",function(){return qe.getRoles()})("updateSelection",function(or){return qe.updateSelection(or)}),M._UZ(2,"cd-table-actions",1),M._UZ(3,"cd-role-details",2),M.qZA()),2&yt&&(M.xp6(1),M.Q6J("data",qe.roles)("columns",qe.columns)("hasDetails",!0),M.xp6(1),M.Q6J("permission",qe.permission)("selection",qe.selection)("tableActions",qe.tableActions),M.xp6(1),M.Q6J("selection",qe.expandedRow)("scopes",qe.scopes))},directives:[Mn,Oe.a,Ht.K,Yn],styles:[""]}),Ct})();var dn=o(16738),Kn=o.n(dn),qn=o(39219),Sn=o(9837),$n=o(36169),En=o(7022),Fn=o(51907),Dn=o(33888),mn=(()=>((mn||(mn={})).editing="editing",mn))();class jn{}var Xt=o(32057),ut=o(62862),mt=o(4416),Tt=o(18372),yn=o(60192),et=o(52266);const jt=["removeSelfUserReadUpdatePermissionTpl"];function hn(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,29),M.qZA())}function Qn(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,30),M.qZA())}function Ir(Ct,rt){if(1&Ct&&M._UZ(0,"cd-helper",40),2&Ct){const yt=M.oxw(3);M.s9C("html",yt.passwordPolicyHelpText)}}function ht(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,41),M.qZA())}function L(Ct,rt){if(1&Ct&&(M.TgZ(0,"span",28),M._uU(1),M.qZA()),2&Ct){const yt=M.oxw(3);M.xp6(1),M.hij(" ",yt.passwordValuation," ")}}function Ue(Ct,rt){if(1&Ct&&(M.TgZ(0,"div",10),M.TgZ(1,"label",31),M.ynx(2),M.SDv(3,32),M.BQk(),M.YNc(4,Ir,1,1,"cd-helper",33),M.qZA(),M.TgZ(5,"div",13),M.TgZ(6,"div",34),M._UZ(7,"input",35),M.TgZ(8,"span",36),M._UZ(9,"button",37),M.qZA(),M.qZA(),M.TgZ(10,"div",38),M._UZ(11,"div",39),M.qZA(),M.YNc(12,ht,2,0,"span",15),M.YNc(13,L,2,1,"span",15),M.qZA(),M.qZA()),2&Ct){M.oxw();const yt=M.MAs(2),qe=M.oxw();M.xp6(4),M.Q6J("ngIf",qe.passwordPolicyHelpText.length>0),M.xp6(7),M.Tol(qe.passwordStrengthLevelClass),M.s9C("title",qe.passwordValuation),M.xp6(1),M.Q6J("ngIf",qe.userForm.showError("password",yt,"required")),M.xp6(1),M.Q6J("ngIf",qe.userForm.showError("password",yt,"passwordPolicy"))}}function nt(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,46),M.qZA())}function at(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,47),M.qZA())}function it(Ct,rt){if(1&Ct&&(M.TgZ(0,"div",10),M.TgZ(1,"label",42),M.SDv(2,43),M.qZA(),M.TgZ(3,"div",13),M.TgZ(4,"div",34),M._UZ(5,"input",44),M.TgZ(6,"span",36),M._UZ(7,"button",45),M.qZA(),M.YNc(8,nt,2,0,"span",15),M.qZA(),M.YNc(9,at,2,0,"span",15),M.qZA(),M.qZA()),2&Ct){M.oxw();const yt=M.MAs(2),qe=M.oxw();M.xp6(8),M.Q6J("ngIf",qe.userForm.showError("confirmpassword",yt,"match")),M.xp6(1),M.Q6J("ngIf",qe.userForm.showError("confirmpassword",yt,"required"))}}function Pt(Ct,rt){1&Ct&&(M.TgZ(0,"cd-helper",54),M.TgZ(1,"p"),M._uU(2," The Dashboard setting defining the expiration interval of passwords is currently set to "),M.TgZ(3,"strong"),M._uU(4,"0"),M.qZA(),M._uU(5,". This means if a date is set, the user password will only expire once. "),M.qZA(),M.TgZ(6,"p"),M._uU(7," Consider configuring the Dashboard setting "),M.TgZ(8,"a",55),M._uU(9,"USER_PWD_EXPIRATION_SPAN"),M.qZA(),M._uU(10," in order to let passwords expire periodically. "),M.qZA(),M.qZA())}function Ut(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,56),M.qZA())}const ot=function(Ct){return{required:Ct}};function Nn(Ct,rt){if(1&Ct){const yt=M.EpF();M.TgZ(0,"div",10),M.TgZ(1,"label",48),M.ynx(2),M.SDv(3,49),M.BQk(),M.YNc(4,Pt,11,0,"cd-helper",50),M.qZA(),M.TgZ(5,"div",13),M.TgZ(6,"div",34),M.TgZ(7,"input",51,52),M.NdJ("click",function(){return M.CHM(yt),M.MAs(8).open()})("keypress",function(){return M.CHM(yt),M.MAs(8).close()}),M.qZA(),M.TgZ(9,"span",36),M.TgZ(10,"button",53),M.NdJ("click",function(){return M.CHM(yt),M.oxw(2).clearExpirationDate()}),M._UZ(11,"i"),M.qZA(),M.qZA(),M.YNc(12,Ut,2,0,"span",15),M.qZA(),M.qZA(),M.qZA()}if(2&Ct){M.oxw();const yt=M.MAs(2),qe=M.oxw(),$t=M.MAs(4);M.xp6(1),M.Q6J("ngClass",M.VKq(7,ot,qe.pwdExpirationSettings.pwdExpirationSpan>0)),M.xp6(3),M.Q6J("ngIf",0==qe.pwdExpirationSettings.pwdExpirationSpan),M.xp6(3),M.Q6J("ngbPopover",$t),M.xp6(4),M.Gre("icon-prepend ",qe.icons.destroy,""),M.xp6(1),M.Q6J("ngIf",qe.userForm.showError("pwdExpirationDate",yt,"required"))}}function sn(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,57),M.qZA())}function An(Ct,rt){if(1&Ct&&(M.TgZ(0,"span",58),M._UZ(1,"cd-select-badges",59),M.qZA()),2&Ct){const yt=M.oxw(2);M.xp6(1),M.Q6J("data",yt.userForm.controls.roles.value)("options",yt.allRoles)("messages",yt.messages)}}function Bn(Ct,rt){1&Ct&&(M.TgZ(0,"div",10),M.TgZ(1,"div",60),M.TgZ(2,"div",61),M._UZ(3,"input",62),M.TgZ(4,"label",63),M.SDv(5,64),M.qZA(),M.qZA(),M.qZA(),M.qZA())}function ir(Ct,rt){1&Ct&&(M.TgZ(0,"div",10),M.TgZ(1,"div",60),M.TgZ(2,"div",61),M._UZ(3,"input",65),M.TgZ(4,"label",66),M.SDv(5,67),M.qZA(),M.qZA(),M.qZA(),M.qZA())}function mr(Ct,rt){if(1&Ct){const yt=M.EpF();M.TgZ(0,"div",3),M.TgZ(1,"form",4,5),M.TgZ(3,"div",6),M.TgZ(4,"div",7),M.SDv(5,8),M.ALo(6,"titlecase"),M.ALo(7,"upperFirst"),M.qZA(),M.TgZ(8,"div",9),M.TgZ(9,"div",10),M.TgZ(10,"label",11),M.SDv(11,12),M.qZA(),M.TgZ(12,"div",13),M._UZ(13,"input",14),M.YNc(14,hn,2,0,"span",15),M.YNc(15,Qn,2,0,"span",15),M.qZA(),M.qZA(),M.YNc(16,Ue,14,7,"div",16),M.YNc(17,it,10,2,"div",16),M.YNc(18,Nn,13,9,"div",16),M.TgZ(19,"div",10),M.TgZ(20,"label",17),M.SDv(21,18),M.qZA(),M.TgZ(22,"div",13),M._UZ(23,"input",19),M.qZA(),M.qZA(),M.TgZ(24,"div",10),M.TgZ(25,"label",20),M.SDv(26,21),M.qZA(),M.TgZ(27,"div",13),M._UZ(28,"input",22),M.YNc(29,sn,2,0,"span",15),M.qZA(),M.qZA(),M.TgZ(30,"div",10),M.TgZ(31,"label",23),M.SDv(32,24),M.qZA(),M.TgZ(33,"div",13),M.YNc(34,An,2,3,"span",25),M.qZA(),M.qZA(),M.YNc(35,Bn,6,0,"div",16),M.YNc(36,ir,6,0,"div",16),M.qZA(),M.TgZ(37,"div",26),M.TgZ(38,"cd-form-button-panel",27),M.NdJ("submitActionEvent",function(){return M.CHM(yt),M.oxw().submit()}),M.ALo(39,"titlecase"),M.ALo(40,"upperFirst"),M.qZA(),M.qZA(),M.qZA(),M.qZA(),M.qZA()}if(2&Ct){const yt=M.MAs(2),qe=M.oxw();M.xp6(1),M.Q6J("formGroup",qe.userForm),M.xp6(6),M.pQV(M.lcZ(6,15,qe.action))(M.lcZ(7,17,qe.resource)),M.QtT(5),M.xp6(3),M.Q6J("ngClass",M.VKq(23,ot,qe.mode!==qe.userFormMode.editing)),M.xp6(4),M.Q6J("ngIf",qe.userForm.showError("username",yt,"required")),M.xp6(1),M.Q6J("ngIf",qe.userForm.showError("username",yt,"notUnique")),M.xp6(1),M.Q6J("ngIf",!qe.authStorageService.isSSO()),M.xp6(1),M.Q6J("ngIf",!qe.authStorageService.isSSO()),M.xp6(1),M.Q6J("ngIf",!qe.authStorageService.isSSO()),M.xp6(11),M.Q6J("ngIf",qe.userForm.showError("email",yt,"email")),M.xp6(5),M.Q6J("ngIf",qe.allRoles),M.xp6(1),M.Q6J("ngIf",!qe.isCurrentUser()),M.xp6(1),M.Q6J("ngIf",!qe.isCurrentUser()&&!qe.authStorageService.isSSO()),M.xp6(2),M.Q6J("form",qe.userForm)("submitText",M.lcZ(39,19,qe.action)+" "+M.lcZ(40,21,qe.resource))}}function _r(Ct,rt){1&Ct&&(M.TgZ(0,"p"),M.TgZ(1,"strong"),M.SDv(2,68),M.qZA(),M.qZA(),M._UZ(3,"br"),M.TgZ(4,"p"),M.SDv(5,69),M.qZA(),M.ynx(6),M.SDv(7,70),M.BQk())}function Nr(Ct,rt){if(1&Ct&&M._UZ(0,"cd-date-time-picker",71),2&Ct){const yt=M.oxw();M.Q6J("control",yt.userForm.get("pwdExpirationDate"))("hasTime",!1)}}let br=(()=>{class Ct extends D.E{constructor(yt,qe,$t,or,Vn,Vr,Cr,ai,Dr,Jr,rn,fi){super(),this.authService=yt,this.authStorageService=qe,this.route=$t,this.router=or,this.modalService=Vn,this.roleService=Vr,this.userService=Cr,this.notificationService=ai,this.actionLabels=Dr,this.passwordPolicyService=Jr,this.formBuilder=rn,this.settingsService=fi,this.userFormMode=mn,this.messages=new En.a({empty:"There are no roles."}),this.passwordPolicyHelpText="",this.icons=zt.P,this.pwdExpirationFormat="YYYY-MM-DD",this.resource="user",this.createForm(),this.messages=new En.a({empty:"There are no roles."})}createForm(){this.passwordPolicyService.getHelpText().subscribe(yt=>{this.passwordPolicyHelpText=yt}),this.userForm=this.formBuilder.group({username:["",[e.kI.required],[j.h.unique(this.userService.validateUserName,this.userService)]],name:[""],password:["",[],[j.h.passwordPolicy(this.userService,()=>this.userForm.getValue("username"),(yt,qe,$t)=>{this.passwordStrengthLevelClass=this.passwordPolicyService.mapCreditsToCssClass(qe),this.passwordValuation=m().defaultTo($t,"")})]],confirmpassword:[""],pwdExpirationDate:[void 0],email:["",[j.h.email]],roles:[[]],enabled:[!0,[e.kI.required]],pwdUpdateRequired:[!0]},{validators:[j.h.match("password","confirmpassword")]})}ngOnInit(){this.router.url.startsWith("/user-management/users/edit")?(this.mode=this.userFormMode.editing,this.action=this.actionLabels.EDIT):this.action=this.actionLabels.CREATE;const yt=[this.roleService.list(),this.settingsService.getStandardSettings()];(0,b.D)(yt).subscribe(qe=>{if(this.allRoles=m().map(qe[0],$t=>($t.enabled=!0,$t)),this.pwdExpirationSettings=new Fn.G(qe[1]),this.mode===this.userFormMode.editing)this.initEdit();else{if(this.pwdExpirationSettings.pwdExpirationSpan>0){const $t=this.userForm.get("pwdExpirationDate"),or=Kn()();or.add(this.pwdExpirationSettings.pwdExpirationSpan,"day"),$t.setValue(or.format(this.pwdExpirationFormat)),$t.setValidators([e.kI.required])}this.loadingReady()}})}initEdit(){this.disableForEdit(),this.route.params.subscribe(yt=>{this.userService.get(yt.username).subscribe($t=>{this.response=m().cloneDeep($t),this.setResponse($t),this.loadingReady()})})}disableForEdit(){this.userForm.get("username").disable()}setResponse(yt){["username","name","email","roles","enabled","pwdUpdateRequired"].forEach($t=>this.userForm.get($t).setValue(yt[$t]));const qe=yt.pwdExpirationDate;qe&&this.userForm.get("pwdExpirationDate").setValue(Kn()(1e3*qe).format(this.pwdExpirationFormat))}getRequest(){const yt=new jn;["username","password","name","email","roles","enabled","pwdUpdateRequired"].forEach($t=>yt[$t]=this.userForm.get($t).value);const qe=this.userForm.get("pwdExpirationDate").value;if(qe){const $t=Kn()(qe,this.pwdExpirationFormat);(this.mode!==this.userFormMode.editing||this.response.pwdExpirationDate!==$t.unix())&&$t.set({hour:23,minute:59,second:59}),yt.pwdExpirationDate=$t.unix()}return yt}createAction(){const yt=this.getRequest();this.userService.create(yt).subscribe(()=>{this.notificationService.show(T.k.success,"Created user '" + yt.username + "'"),this.router.navigate(["/user-management/users"])},()=>{this.userForm.setErrors({cdSubmitButton:!0})})}editAction(){if(this.isUserRemovingNeededRolePermissions()){const yt={titleText:"Update user",buttonText:"Continue",bodyTpl:this.removeSelfUserReadUpdatePermissionTpl,onSubmit:()=>{this.modalRef.close(),this.doEditAction()},onCancel:()=>{this.userForm.setErrors({cdSubmitButton:!0}),this.userForm.get("roles").reset(this.userForm.get("roles").value)}};this.modalRef=this.modalService.show($n.Y,yt)}else this.doEditAction()}isCurrentUser(){return this.authStorageService.getUsername()===this.userForm.getValue("username")}isUserChangingRoles(){return this.isCurrentUser()&&this.response&&!m().isEqual(this.response.roles,this.userForm.getValue("roles"))}isUserRemovingNeededRolePermissions(){return this.isCurrentUser()&&!this.hasUserReadUpdatePermissions(this.userForm.getValue("roles"))}hasUserReadUpdatePermissions(yt=[]){for(const qe of this.allRoles)if(-1!==yt.indexOf(qe.name)&&qe.scopes_permissions.user){const $t=qe.scopes_permissions.user;return["read","update"].every(or=>-1!==$t.indexOf(or))}return!1}doEditAction(){const yt=this.getRequest();this.userService.update(yt).subscribe(()=>{this.isUserChangingRoles()?this.authService.logout(()=>{this.notificationService.show(T.k.info,"You were automatically logged out because your roles have been changed.")}):(this.notificationService.show(T.k.success,"Updated user '" + yt.username + "'"),this.router.navigate(["/user-management/users"]))},()=>{this.userForm.setErrors({cdSubmitButton:!0})})}clearExpirationDate(){this.userForm.get("pwdExpirationDate").setValue(void 0)}submit(){this.mode===this.userFormMode.editing?this.editAction():this.createAction()}}return Ct.\u0275fac=function(yt){return new(yt||Ct)(M.Y36(qn.e),M.Y36(Rn.j),M.Y36(s.gz),M.Y36(s.F0),M.Y36(er.Z),M.Y36(ie),M.Y36(Xt.K),M.Y36(H.g),M.Y36(u.p4),M.Y36(Dn.q),M.Y36(ut.O),M.Y36(Sn.g))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-user-form"]],viewQuery:function(yt,qe){if(1&yt&&M.Gf(jt,7),2&yt){let $t;M.iGM($t=M.CRH())&&(qe.removeSelfUserReadUpdatePermissionTpl=$t.first)}},features:[M.qOj],decls:5,vars:1,consts:function(){let rt,yt,qe,$t,or,Vn,Vr,Cr,ai,Dr,Jr,rn,fi,Ei,wi,_o,ki,to,qi,Wi,eo;return rt="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",yt="Username",qe="Full name",$t="Email",or="Roles",Vn="This field is required.",Vr="The username already exists.",Cr="Password",ai="This field is required.",Dr="Confirm password",Jr="Password confirmation doesn't match the password.",rn="This field is required.",fi="Password expiration date",Ei="Password expiration date...",wi="This field is required.",_o="Invalid email.",ki="Enabled",to="User must change password at next logon",qi="You are about to remove \"user read / update\" permissions from your own user.",Wi="If you continue, you will no longer be able to add or remove roles from any user.",eo="Are you sure you want to continue?",[["class","cd-col-form",4,"cdFormLoading"],["removeSelfUserReadUpdatePermissionTpl",""],["popContent",""],[1,"cd-col-form"],["name","userForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],rt,[1,"card-body"],[1,"form-group","row"],["for","username",1,"cd-col-form-label",3,"ngClass"],yt,[1,"cd-col-form-input"],["type","text","placeholder","Username...","id","username","name","username","formControlName","username","autocomplete","off","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],["for","name",1,"cd-col-form-label"],qe,["type","text","placeholder","Full name...","id","name","name","name","formControlName","name",1,"form-control"],["for","email",1,"cd-col-form-label"],$t,["type","email","placeholder","Email...","id","email","name","email","formControlName","email",1,"form-control"],[1,"cd-col-form-label"],or,["class","no-border full-height",4,"ngIf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],Vn,Vr,["for","password",1,"cd-col-form-label"],Cr,["class","text-pre-wrap",3,"html",4,"ngIf"],[1,"input-group"],["type","password","placeholder","Password...","id","password","name","password","autocomplete","new-password","formControlName","password",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","password",1,"btn","btn-light"],[1,"password-strength-level"],["data-toggle","tooltip",3,"title"],[1,"text-pre-wrap",3,"html"],ai,["for","confirmpassword",1,"cd-col-form-label"],Dr,["type","password","placeholder","Confirm password...","id","confirmpassword","name","confirmpassword","autocomplete","new-password","formControlName","confirmpassword",1,"form-control"],["type","button","cdPasswordButton","confirmpassword",1,"btn","btn-light"],Jr,rn,["for","pwdExpirationDate",1,"cd-col-form-label",3,"ngClass"],fi,["class","text-pre-wrap",4,"ngIf"],["placeholder",Ei,"id","pwdExpirationDate","name","pwdExpirationDate","formControlName","pwdExpirationDate","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["p","ngbPopover"],["type","button",1,"btn","btn-light",3,"click"],[1,"text-pre-wrap"],["routerLink","/mgr-modules/edit/dashboard",1,"alert-link"],wi,_o,[1,"no-border","full-height"],[3,"data","options","messages"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","id","enabled","name","enabled","formControlName","enabled",1,"custom-control-input"],["for","enabled",1,"custom-control-label"],ki,["type","checkbox","id","pwdUpdateRequired","name","pwdUpdateRequired","formControlName","pwdUpdateRequired",1,"custom-control-input"],["for","pwdUpdateRequired",1,"custom-control-label"],to,qi,Wi,eo,[3,"control","hasTime"]]},template:function(yt,qe){1&yt&&(M.YNc(0,mr,41,25,"div",0),M.YNc(1,_r,8,0,"ng-template",null,1,M.W1O),M.YNc(3,Nr,1,2,"ng-template",null,2,M.W1O)),2&yt&&M.Q6J("cdFormLoading",qe.loading)},directives:[fe.y,e._Y,e.JL,e.sg,ne.V,he.P,t.mk,ce.o,e.Fj,Ae.b,e.JJ,e.u,Se.U,t.O5,be.p,mt.C,Tt.S,a.o8,s.yS,yn.m,e.Wl,et.J],pipes:[t.rS,ue.m],styles:[""]}),Ct})();var Jn=o(96102),rr=o(94088);const Mr=["userRolesTpl"],yi=["warningTpl"],Li=["durationTpl"];function Mi(Ct,rt){if(1&Ct&&(M.TgZ(0,"span"),M._uU(1),M.qZA()),2&Ct){const yt=rt.$implicit,qe=rt.last;M.xp6(1),M.AsE(" ",yt,"",qe?"":", "," ")}}function Oi(Ct,rt){1&Ct&&M.YNc(0,Mi,2,2,"span",5),2&Ct&&M.Q6J("ngForOf",rt.value)}function Xr(Ct,rt){if(1&Ct&&(M.TgZ(0,"div",6),M.TgZ(1,"div",7),M._uU(2),M.qZA(),M.qZA()),2&Ct){const yt=rt.value,qe=rt.row,$t=M.oxw();M.ekj("border-danger",qe.remainingDays<$t.expirationDangerAlert)("border-warning",qe.remainingDays<$t.expirationWarningAlert&&qe.remainingDays>=$t.expirationDangerAlert),M.xp6(2),M.hij(" ",yt," ")}}function Kr(Ct,rt){if(1&Ct&&M._UZ(0,"i",10),2&Ct){const yt=M.oxw().row,qe=M.oxw();M.Tol(qe.icons.warning),M.ekj("icon-danger-color",yt.remainingDays<qe.expirationDangerAlert)("icon-warning-color",yt.remainingDays<qe.expirationWarningAlert&&yt.remainingDays>=qe.expirationDangerAlert)}}function di(Ct,rt){if(1&Ct&&(M.YNc(0,Kr,1,7,"i",8),M.TgZ(1,"span",9),M.ALo(2,"cdDate"),M._uU(3),M.ALo(4,"duration"),M.qZA()),2&Ct){const yt=rt.value,qe=rt.row,$t=M.oxw();M.Q6J("ngIf",qe.remainingDays<$t.expirationWarningAlert),M.xp6(1),M.s9C("title",M.lcZ(2,3,yt)),M.xp6(2),M.Oqu(M.lcZ(4,5,qe.remainingTimeWithoutSeconds/1e3))}}let ct=(()=>{class Ct{constructor(yt,qe,$t,or,Vn,Vr,Cr,ai){this.userService=yt,this.emptyPipe=qe,this.modalService=$t,this.notificationService=or,this.authStorageService=Vn,this.urlBuilder=Vr,this.settingsService=Cr,this.actionLabels=ai,this.selection=new ln.r,this.icons=zt.P,this.permission=this.authStorageService.getPermissions().user,this.tableActions=[{permission:"create",icon:zt.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:zt.P.edit,routerLink:()=>this.selection.first()&&this.urlBuilder.getEdit(this.selection.first().username),name:this.actionLabels.EDIT},{permission:"delete",icon:zt.P.destroy,click:()=>this.deleteUserModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"Username",prop:"username",flexGrow:1,cellTemplate:this.warningTpl},{name:"Name",prop:"name",flexGrow:1,pipe:this.emptyPipe},{name:"Email",prop:"email",flexGrow:1,pipe:this.emptyPipe},{name:"Roles",prop:"roles",flexGrow:1,cellTemplate:this.userRolesTpl},{name:"Enabled",prop:"enabled",flexGrow:1,cellTransformation:Jt.e.checkIcon},{name:"Password expires",prop:"pwdExpirationDate",flexGrow:1,cellTemplate:this.durationTpl}],this.settingsService.getValues(["USER_PWD_EXPIRATION_WARNING_1","USER_PWD_EXPIRATION_WARNING_2"]).subscribe(qe=>{this.expirationWarningAlert=qe.USER_PWD_EXPIRATION_WARNING_1,this.expirationDangerAlert=qe.USER_PWD_EXPIRATION_WARNING_2})}getUsers(){this.userService.list().subscribe(yt=>{yt.forEach(qe=>{qe.remainingTimeWithoutSeconds=0,qe.pwdExpirationDate&&qe.pwdExpirationDate>0&&(qe.pwdExpirationDate=1e3*qe.pwdExpirationDate,qe.remainingTimeWithoutSeconds=this.getRemainingTimeWithoutSeconds(qe.pwdExpirationDate),qe.remainingDays=this.getRemainingDays(qe.pwdExpirationDate))}),this.users=yt})}updateSelection(yt){this.selection=yt}deleteUser(yt){this.userService.delete(yt).subscribe(()=>{this.getUsers(),this.modalRef.close(),this.notificationService.show(T.k.success,"Deleted user '" + yt + "'")},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}deleteUserModal(){const yt=this.authStorageService.getUsername(),qe=this.selection.first().username;yt!==qe?this.modalRef=this.modalService.show(Ie.M,{itemDescription:"User",itemNames:[qe],submitAction:()=>this.deleteUser(qe)}):this.notificationService.show(T.k.error,"Failed to delete user '" + qe + "'","You are currently logged in as '" + qe + "'.")}getWarningIconClass(yt){return null===yt||this.expirationWarningAlert>10?"":this.getRemainingDays(yt)<=this.expirationDangerAlert?"icon-danger-color":"icon-warning-color"}getWarningClass(yt){return null===yt||this.expirationWarningAlert>10?"":this.getRemainingDays(yt)<=this.expirationDangerAlert?"border-danger":"border-warning"}getRemainingDays(yt){if(void 0!==yt&&null!=yt)return yt<0?0:Math.max(0,Math.floor(this.getRemainingTime(yt)/864e5))}getRemainingTimeWithoutSeconds(yt){const qe=this.getRemainingTime(yt);return 60*Math.floor(qe/6e4)*1e3}getRemainingTime(yt){return yt-Date.now()}}return Ct.\u0275fac=function(yt){return new(yt||Ct)(M.Y36(Xt.K),M.Y36(ar.W),M.Y36(er.Z),M.Y36(H.g),M.Y36(Rn.j),M.Y36(Ln.F),M.Y36(Sn.g),M.Y36(u.p4))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-user-list"]],viewQuery:function(yt,qe){if(1&yt&&(M.Gf(Mr,7),M.Gf(yi,7),M.Gf(Li,7)),2&yt){let $t;M.iGM($t=M.CRH())&&(qe.userRolesTpl=$t.first),M.iGM($t=M.CRH())&&(qe.warningTpl=$t.first),M.iGM($t=M.CRH())&&(qe.durationTpl=$t.first)}},features:[M._Bn([{provide:Ln.F,useValue:new Ln.F("user-management/users")}])],decls:9,vars:5,consts:function(){let rt;return rt="User's password is about to expire",[["columnMode","flex","identifier","username","selectionType","single",3,"data","columns","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["userRolesTpl",""],["warningTpl",""],["durationTpl",""],[4,"ngFor","ngForOf"],[1,"border-margin"],[1,"warning-content"],["title",rt,3,"icon-danger-color","icon-warning-color","class",4,"ngIf"],[3,"title"],["title",rt]]},template:function(yt,qe){1&yt&&(M._UZ(0,"cd-user-tabs"),M.TgZ(1,"cd-table",0),M.NdJ("fetchData",function(){return qe.getUsers()})("updateSelection",function(or){return qe.updateSelection(or)}),M._UZ(2,"cd-table-actions",1),M.qZA(),M.YNc(3,Oi,1,1,"ng-template",null,2,M.W1O),M.YNc(5,Xr,3,5,"ng-template",null,3,M.W1O),M.YNc(7,di,5,7,"ng-template",null,4,M.W1O)),2&yt&&(M.xp6(1),M.Q6J("data",qe.users)("columns",qe.columns),M.xp6(1),M.Q6J("permission",qe.permission)("selection",qe.selection)("tableActions",qe.tableActions))},directives:[Mn,Oe.a,Ht.K,t.sg,t.O5],pipes:[Jn.N,rr.u],styles:[".border-margin[_ngcontent-%COMP%]{border-left:3px solid transparent;height:calc(100% + 10px);margin-bottom:-5px;margin-left:-5px;margin-top:-5px}.warning-content[_ngcontent-%COMP%]{height:100%;padding-bottom:5px;padding-left:5px;padding-top:5px}"]}),Ct})(),Ke=(()=>{class Ct{}return Ct.\u0275fac=function(yt){return new(yt||Ct)},Ct.\u0275mod=M.oAB({type:Ct}),Ct.\u0275inj=M.cJS({imports:[[t.ez,e.u5,e.UX,h.m,a.Oz,a.dT,l.b,s.Bz]]}),Ct})();const Xe=[{path:"",redirectTo:"users",pathMatch:"full"},{path:"users",data:{breadcrumbs:"Users"},children:[{path:"",component:ct},{path:u.MQ.CREATE,component:br,data:{breadcrumbs:u.Qn.CREATE}},{path:`${u.MQ.EDIT}/:username`,component:br,data:{breadcrumbs:u.Qn.EDIT}}]},{path:"roles",data:{breadcrumbs:"Roles"},children:[{path:"",component:Kt},{path:u.MQ.CREATE,component:It,data:{breadcrumbs:u.Qn.CREATE}},{path:`${u.MQ.EDIT}/:name`,component:It,data:{breadcrumbs:u.Qn.EDIT}}]}];let Vt=(()=>{class Ct{}return Ct.\u0275fac=function(yt){return new(yt||Ct)},Ct.\u0275mod=M.oAB({type:Ct}),Ct.\u0275inj=M.cJS({imports:[[Ke,s.Bz.forChild(Xe)]]}),Ct})()},26504:(Ge,g,o)=>{"use strict";o.d(g,{s9:()=>e,_2:()=>s,mM:()=>l});var t=o(65862);class e extends Error{}class s extends e{constructor(){super(...arguments),this.header="Page Not Found",this.message="Sorry, we couldn\u2019t find what you were looking for.\n The page you requested may have been changed or moved.",this.icon=t.P.warning}}class l extends e{constructor(){super(...arguments),this.header="User Denied",this.message="Sorry, the user does not exist in Ceph.\n You'll be logged out from the Identity Provider when you retry logging in.",this.icon=t.P.warning}}},76189:(Ge,g,o)=>{"use strict";o.d(g,{S:()=>t});class t{getVersionHeaderValue(s,a){return`application/vnd.ceph.api.v${s}.${a}+json`}}},39219:(Ge,g,o)=>{"use strict";o.d(g,{e:()=>_});var t=o(23815),s=o(68307),a=o(74788),l=o(74937),u=o(58497),h=o(6283);let _=(()=>{class m{constructor(T,D,R,j){this.authStorageService=T,this.http=D,this.router=R,this.route=j}check(T){return this.http.post("api/auth/check",{token:T})}login(T){return this.http.post("api/auth",T).pipe((0,s.b)(D=>{this.authStorageService.set(D.username,D.permissions,D.sso,D.pwdExpirationDate,D.pwdUpdateRequired)}))}logout(T=null){return this.http.post("api/auth/logout",null).subscribe(D=>{this.authStorageService.remove();const R=t.get(this.route.snapshot.queryParams,"returnUrl","/login");this.router.navigate([R],{skipLocationChange:!0}),T&&T(),window.location.replace(D.redirect_url)})}}return m.\u0275fac=function(T){return new(T||m)(a.LFG(l.j),a.LFG(u.eN),a.LFG(h.F0),a.LFG(h.gz))},m.\u0275prov=a.Yz7({token:m,factory:m.\u0275fac,providedIn:"root"}),m})()},64724:(Ge,g,o)=>{"use strict";o.d(g,{e:()=>s});var t=o(74788),e=o(58497);let s=(()=>{class a{constructor(u){this.http=u}findValue(u,h){if(u.value)return u.value.find(_=>_.section===h)}getValue(u,h){let _=this.findValue(u,h);if(!_){const m=h.indexOf(".");-1!==m&&(_=this.findValue(u,h.substring(0,m)))}return _||(_=this.findValue(u,"global")),_?_.value:u.default}getConfigData(){return this.http.get("api/cluster_conf/")}get(u){return this.http.get(`api/cluster_conf/${u}`)}filter(u){return this.http.get(`api/cluster_conf/filter?names=${u.join(",")}`)}create(u){return this.http.post("api/cluster_conf/",u)}delete(u,h){return this.http.delete(`api/cluster_conf/${u}?section=${h}`)}bulkCreate(u){return this.http.put("api/cluster_conf/",u)}}return a.\u0275fac=function(u){return new(u||a)(t.LFG(e.eN))},a.\u0275prov=t.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},83608:(Ge,g,o)=>{"use strict";o.d(g,{H:()=>s});var t=o(74788),e=o(58497);let s=(()=>{class a{constructor(u){this.http=u,this.apiPath="api/crush_rule",this.formTooltips={root:"The name of the node under which data should be placed.",failure_domain:"The type of CRUSH nodes across which we should separate replicas.",device_class:"The device class data should be placed on."}}create(u){return this.http.post(this.apiPath,u,{observe:"response"})}delete(u){return this.http.delete(`${this.apiPath}/${u}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return a.\u0275fac=function(u){return new(u||a)(t.LFG(e.eN))},a.\u0275prov=t.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},80842:(Ge,g,o)=>{"use strict";o.d(g,{q:()=>h});var t=o(64762),e=o(58497),s=o(88002),a=o(93523),l=o(34089),u=o(74788);let h=class{constructor(m,b){this.http=m,this.rbdConfigurationService=b,this.apiPath="api/pool"}create(m){return this.http.post(this.apiPath,m,{observe:"response"})}update(m){let b;return m.hasOwnProperty("srcpool")?(b=m.srcpool,delete m.srcpool):(b=m.pool,delete m.pool),this.http.put(`${this.apiPath}/${encodeURIComponent(b)}`,m,{observe:"response"})}delete(m){return this.http.delete(`${this.apiPath}/${m}`,{observe:"response"})}get(m){return this.http.get(`${this.apiPath}/${m}`)}getList(){return this.http.get(`${this.apiPath}?stats=true`)}getConfiguration(m){return this.http.get(`${this.apiPath}/${m}/configuration`).pipe((0,s.U)(b=>b.map(T=>Object.assign(T,this.rbdConfigurationService.getOptionByName(T.name)))))}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}list(m=[]){const b=m.join(",");return this.http.get(`${this.apiPath}?attrs=${b}`).toPromise().then(T=>T)}};h.\u0275fac=function(m){return new(m||h)(u.LFG(e.eN),u.LFG(l.n))},h.\u0275prov=u.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"}),h=(0,t.gn)([a.o,(0,t.w6)("design:paramtypes",[e.eN,l.n])],h)},95152:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>D});var t=o(64762),e=o(58497),s=o(23815),a=o.n(s),l=o(25917),u=o(96736),h=o(5304),_=o(76189),m=o(20523),b=o(93523),T=o(74788);let D=class extends _.S{constructor(j,H){super(),this.http=j,this.rgwDaemonService=H,this.url="api/rgw/bucket"}list(j=!1,H=""){return this.rgwDaemonService.request(z=>(z=z.append("stats",j.toString()),H&&(z=z.append("uid",H)),this.http.get(this.url,{headers:{Accept:this.getVersionHeaderValue(1,1)},params:z})))}get(j){return this.rgwDaemonService.request(H=>this.http.get(`${this.url}/${j}`,{params:H}))}create(j,H,z,U,M,I,J){return this.rgwDaemonService.request(B=>this.http.post(this.url,null,{params:new e.LE({fromObject:{bucket:j,uid:H,zonegroup:z,placement_target:U,lock_enabled:String(M),lock_mode:I,lock_retention_period_days:J,daemon_name:B.get("daemon_name")}})}))}update(j,H,z,U,M,I,J,B,ie){return this.rgwDaemonService.request(oe=>(oe=(oe=(oe=(oe=(oe=(oe=(oe=(oe=oe.append("bucket_id",H)).append("uid",z)).append("versioning_state",U)).append("mfa_delete",M)).append("mfa_token_serial",I)).append("mfa_token_pin",J)).append("lock_mode",B)).append("lock_retention_period_days",ie),this.http.put(`${this.url}/${j}`,null,{params:oe})))}delete(j,H=!0){return this.rgwDaemonService.request(z=>(z=z.append("purge_objects",H?"true":"false"),this.http.delete(`${this.url}/${j}`,{params:z})))}exists(j){return this.get(j).pipe((0,u.h)(!0),(0,h.K)(H=>(a().isFunction(H.preventDefault)&&H.preventDefault(),(0,l.of)(!1))))}getLockDays(j){return j.lock_retention_period_years>0?Math.floor(365.242*j.lock_retention_period_years):j.lock_retention_period_days||0}};D.\u0275fac=function(j){return new(j||D)(T.LFG(e.eN),T.LFG(m.b))},D.\u0275prov=T.Yz7({token:D,factory:D.\u0275fac,providedIn:"root"}),D=(0,t.gn)([b.o,(0,t.w6)("design:paramtypes",[e.eN,m.b])],D)},20523:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>R});var t=o(64762),e=o(58497),s=o(23815),a=o.n(s),l=o(26215),u=o(40205),h=o(25917),_=o(68307),m=o(19773),b=o(15257),T=o(93523),D=o(74788);let R=class{constructor(H){this.http=H,this.url="api/rgw/daemon",this.daemons=new l.X([]),this.daemons$=this.daemons.asObservable(),this.selectedDaemon=new l.X(null),this.selectedDaemon$=this.selectedDaemon.asObservable()}list(){return this.http.get(this.url).pipe((0,_.b)(H=>{this.daemons.next(H),a().isEmpty(this.selectedDaemon.getValue())&&this.selectDefaultDaemon(H)}))}get(H){return this.http.get(`${this.url}/${H}`)}selectDaemon(H){this.selectedDaemon.next(H)}selectDefaultDaemon(H){if(0===H.length)return null;for(const z of H)if(z.default)return this.selectDaemon(z),z;return this.selectDaemon(H[0]),H[0]}request(H){return this.selectedDaemon.pipe((0,m.zg)(z=>a().isEmpty(z)?this.list().pipe((0,m.zg)(U=>a().isEmpty(U)?(0,u._)("No RGW daemons found!"):this.selectedDaemon$)):(0,h.of)(z)),(0,b.q)(1),(0,m.zg)(z=>{let U=new e.LE;return U=U.append("daemon_name",z.id),H(U)}))}};R.\u0275fac=function(H){return new(H||R)(D.LFG(e.eN))},R.\u0275prov=D.Yz7({token:R,factory:R.\u0275fac,providedIn:"root"}),R=(0,t.gn)([T.o,(0,t.w6)("design:paramtypes",[e.eN])],R)},33394:(Ge,g,o)=>{"use strict";o.d(g,{I:()=>_});var t=o(64762),e=o(58497),s=o(19773),a=o(88002),l=o(20523),u=o(93523),h=o(74788);let _=class{constructor(b,T){this.http=b,this.rgwDaemonService=T,this.url="api/rgw/site"}get(b){return this.rgwDaemonService.request(T=>(b&&(T=T.append("query",b)),this.http.get(this.url,{params:T})))}isDefaultRealm(){return this.get("default-realm").pipe((0,s.zg)(b=>this.rgwDaemonService.selectedDaemon$.pipe((0,a.U)(T=>T.realm_name===b))))}};_.\u0275fac=function(b){return new(b||_)(h.LFG(e.eN),h.LFG(l.b))},_.\u0275prov=h.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_=(0,t.gn)([u.o,(0,t.w6)("design:paramtypes",[e.eN,l.b])],_)},9837:(Ge,g,o)=>{"use strict";o.d(g,{g:()=>h});var t=o(23815),e=o.n(t),s=o(88002),a=o(74788),l=o(58497);let h=(()=>{class _{constructor(b){this.http=b,this.settings={}}getValues(b){return e().isArray(b)&&(b=b.join(",")),this.http.get(`api/settings?names=${b}`).pipe((0,s.U)(T=>{const D={};return e().forEach(T,R=>{e().set(D,R.name,R.value)}),D}))}ifSettingConfigured(b,T,D){const R=this.settings[b];void 0===R?this.http.get(b).subscribe(j=>{this.settings[b]=this.getSettingsValue(j),this.ifSettingConfigured(b,T,D)},j=>{401!==j.status&&(this.settings[b]="")}):""!==R?T(R):D&&D()}disableSetting(b){this.settings[b]=""}getSettingsValue(b){return b.value||b.instance||""}validateGrafanaDashboardUrl(b){return this.http.get(`api/grafana/validation/${b}`)}getStandardSettings(){return this.http.get("ui-api/standard_settings")}}return _.\u0275fac=function(b){return new(b||_)(a.LFG(l.eN))},_.\u0275prov=a.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_})()},32057:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>u});var t=o(25917),e=o(96736),s=o(5304),a=o(74788),l=o(58497);let u=(()=>{class h{constructor(m){this.http=m}list(){return this.http.get("api/user")}delete(m){return this.http.delete(`api/user/${m}`)}get(m){return this.http.get(`api/user/${m}`)}create(m){return this.http.post("api/user",m)}update(m){return this.http.put(`api/user/${m.username}`,m)}changePassword(m,b,T){return this.http.post(`api/user/${m}/change_password`,{old_password:b,new_password:T})}validateUserName(m){return this.get(m).pipe((0,e.h)(!0),(0,s.K)(b=>(b.preventDefault(),(0,t.of)(!1))))}validatePassword(m,b=null,T=null){return this.http.post("api/user/validate_password",{password:m,username:b,old_password:T})}}return h.\u0275fac=function(m){return new(m||h)(a.LFG(l.eN))},h.\u0275prov=a.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"}),h})()},51295:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>s});var t=o(23815),e=o.n(t);class s{static updateChanged(l,u){let h=!1;return Object.keys(u).forEach(_=>{const m=u[_];e().isEqual(m,l[_])||(l[_]=m,h=!0)}),h}static cdVersionHeader(l,u){return`application/vnd.ceph.api.v${l}.${u}+json`}}},99475:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>t});class t{propertyValue(s){return getComputedStyle(document.body).getPropertyValue(`--${s}`)}}},68136:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>e});var t=o(71225);class e{constructor(a){this.ngZone=a}setExpandedRow(a){this.expandedRow=a}setTableRefreshTimeout(){clearTimeout(this.staleTimeout),this.ngZone.runOutsideAngular(()=>{this.staleTimeout=window.setTimeout(()=>{this.ngZone.run(()=>{this.tableStatus=new t.c("warning","The user list data might be stale. If needed, you can manually reload it.")})},1e4)})}}},69158:(Ge,g,o)=>{"use strict";o.d(g,{E:()=>s});var t=o(91801),e=o(71225);class s extends e.c{constructor(l=t.T.ValueOk,u=""){switch(super(),l){case t.T.ValueOk:this.type="light",this.msg="";break;case t.T.ValueNone:this.type="info",this.msg=(u?"Retrieving data for " + u + ".":"Retrieving data.")+" "+"Please wait...";break;case t.T.ValueStale:this.type="warning",this.msg=u?"Displaying previously cached data for " + u + ".":"Displaying previously cached data.";break;case t.T.ValueException:this.type="danger",this.msg=(u?"Could not load data for " + u + ".":"Could not load data.")+" "+"Please check the cluster health."}}}},71225:(Ge,g,o)=>{"use strict";o.d(g,{c:()=>t});class t{constructor(s="light",a=""){this.type=s,this.msg=a}}},34501:(Ge,g,o)=>{"use strict";o.d(g,{G:()=>z});var t=o(74788),e=o(65862),s=o(38549),a=o(12057);const l=function(U){return[U]};function u(U,M){if(1&U&&(t.TgZ(0,"td",8),t._UZ(1,"i",9),t.qZA()),2&U){const I=t.oxw(2);t.xp6(1),t.MT6("alert-",I.bootstrapClass," ",I.typeIcon,""),t.Q6J("ngClass",t.VKq(5,l,I.icons.large3x))}}function h(U,M){if(1&U&&(t.TgZ(0,"td",10),t._uU(1),t.qZA()),2&U){const I=t.oxw(2);t.xp6(1),t.Oqu(I.title)}}function _(U,M){1&U&&t.GkF(0)}function m(U,M){if(1&U&&(t.ynx(0),t.TgZ(1,"tr"),t.YNc(2,u,2,7,"td",4),t.YNc(3,h,2,1,"td",5),t.qZA(),t.TgZ(4,"tr"),t.TgZ(5,"td",6),t.YNc(6,_,1,0,"ng-container",7),t.qZA(),t.qZA(),t.BQk()),2&U){const I=t.oxw(),J=t.MAs(6);t.xp6(2),t.Q6J("ngIf",I.showIcon),t.xp6(1),t.Q6J("ngIf",I.showTitle),t.xp6(3),t.Q6J("ngTemplateOutlet",J)}}function b(U,M){if(1&U&&(t.TgZ(0,"td",12),t._UZ(1,"i",13),t.qZA()),2&U){const I=t.oxw(2);t.xp6(1),t.MT6("alert-",I.bootstrapClass," ",I.typeIcon,"")}}function T(U,M){if(1&U&&(t.TgZ(0,"td",10),t._uU(1),t.qZA()),2&U){const I=t.oxw(2);t.xp6(1),t.Oqu(I.title)}}function D(U,M){1&U&&t.GkF(0)}function R(U,M){if(1&U&&(t.TgZ(0,"tr"),t.YNc(1,b,2,4,"td",11),t.YNc(2,T,2,1,"td",5),t.TgZ(3,"td",6),t.YNc(4,D,1,0,"ng-container",7),t.qZA(),t.qZA()),2&U){const I=t.oxw(),J=t.MAs(6);t.xp6(1),t.Q6J("ngIf",I.showIcon),t.xp6(1),t.Q6J("ngIf",I.showTitle),t.xp6(2),t.Q6J("ngTemplateOutlet",J)}}function j(U,M){1&U&&t.Hsn(0)}const H=["*"];let z=(()=>{class U{constructor(){this.title="",this.bootstrapClass="",this.size="normal",this.showIcon=!0,this.showTitle=!0,this.dismissible=!1,this.dismissed=new t.vpe,this.icons=e.P}ngOnInit(){switch(this.type){case"warning":this.title=this.title||"Warning",this.typeIcon=this.typeIcon||e.P.warning,this.bootstrapClass=this.bootstrapClass||"warning";break;case"error":this.title=this.title||"Error",this.typeIcon=this.typeIcon||e.P.destroyCircle,this.bootstrapClass=this.bootstrapClass||"danger";break;case"info":this.title=this.title||"Information",this.typeIcon=this.typeIcon||e.P.infoCircle,this.bootstrapClass=this.bootstrapClass||"info";break;case"success":this.title=this.title||"Success",this.typeIcon=this.typeIcon||e.P.check,this.bootstrapClass=this.bootstrapClass||"success";break;case"danger":this.title=this.title||"Danger",this.typeIcon=this.typeIcon||e.P.warning,this.bootstrapClass=this.bootstrapClass||"danger"}}onClose(){this.dismissed.emit()}}return U.\u0275fac=function(I){return new(I||U)},U.\u0275cmp=t.Xpm({type:U,selectors:[["cd-alert-panel"]],inputs:{title:"title",bootstrapClass:"bootstrapClass",type:"type",typeIcon:"typeIcon",size:"size",showIcon:"showIcon",showTitle:"showTitle",dismissible:"dismissible"},outputs:{dismissed:"dismissed"},ngContentSelectors:H,decls:7,vars:4,consts:[[3,"type","dismissible","closed"],[4,"ngIf","ngIfElse"],["slim",""],["content",""],["rowspan","2","class","alert-panel-icon",4,"ngIf"],["class","alert-panel-title",4,"ngIf"],[1,"alert-panel-text"],[4,"ngTemplateOutlet"],["rowspan","2",1,"alert-panel-icon"],["aria-hidden","true",3,"ngClass"],[1,"alert-panel-title"],["class","alert-panel-icon",4,"ngIf"],[1,"alert-panel-icon"],["aria-hidden","true"]],template:function(I,J){if(1&I&&(t.F$t(),t.TgZ(0,"ngb-alert",0),t.NdJ("closed",function(){return J.onClose()}),t.TgZ(1,"table"),t.YNc(2,m,7,3,"ng-container",1),t.YNc(3,R,5,3,"ng-template",null,2,t.W1O),t.qZA(),t.qZA(),t.YNc(5,j,1,0,"ng-template",null,3,t.W1O)),2&I){const B=t.MAs(4);t.s9C("type",J.bootstrapClass),t.Q6J("dismissible",J.dismissible),t.xp6(2),t.Q6J("ngIf","normal"===J.size)("ngIfElse",B)}},directives:[s.xm,a.O5,a.tP,a.mk],styles:[".alert-panel-icon[_ngcontent-%COMP%]{padding-right:.5em;vertical-align:top}.alert-panel-title[_ngcontent-%COMP%]{font-weight:bold}.alert[_ngcontent-%COMP%]{margin-bottom:0}"]}),U})()},13472:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>l});var t=o(74788),e=o(79512),s=o(12057),a=o(87925);let l=(()=>{class u{constructor(_,m){this.location=_,this.actionLabels=m,this.backAction=new t.vpe,this.name=this.actionLabels.CANCEL}back(){0===this.backAction.observers.length?this.location.back():this.backAction.emit()}}return u.\u0275fac=function(_){return new(_||u)(t.Y36(s.Ye),t.Y36(e.p4))},u.\u0275cmp=t.Xpm({type:u,selectors:[["cd-back-button"]],inputs:{name:"name"},outputs:{backAction:"backAction"},decls:2,vars:1,consts:[["type","button",1,"btn","btn-light","tc_backButton",3,"click"]],template:function(_,m){1&_&&(t.TgZ(0,"button",0),t.NdJ("click",function(){return m.back()}),t._uU(1),t.qZA()),2&_&&(t.xp6(1),t.hij(" ",m.name,"\n"))},directives:[a.o],styles:[""]}),u})()},15626:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>T});var t=o(12057),e=o(24751),s=o(6283),a=o(38549),l=o(11971),u=o(13788),h=o(34863),_=o(35540),m=o(85953),b=o(74788);let T=(()=>{class D{}return D.\u0275fac=function(j){return new(j||D)},D.\u0275mod=b.oAB({type:D}),D.\u0275inj=b.cJS({providers:[],imports:[[t.ez,e.u5,e.UX,a._A,a.dT,a.ZQ,a.HK,u.m9,e.UX,m.D,_.o,a.XC,l.w,h.t,s.Bz,a.M,a.UL]]}),D})()},36169:(Ge,g,o)=>{"use strict";o.d(g,{Y:()=>T});var t=o(24751),e=o(74788),s=o(38549),a=o(60312),l=o(12057),u=o(41582),h=o(30839);function _(D,R){1&D&&(e.TgZ(0,"span",11),e._UZ(1,"i",12),e.qZA())}function m(D,R){1&D&&e.GkF(0)}function b(D,R){if(1&D&&(e.TgZ(0,"p"),e._uU(1),e.qZA()),2&D){const j=e.oxw();e.xp6(1),e.hij(" ",j.description," ")}}let T=(()=>{class D{constructor(j){this.activeModal=j,this.warning=!1,this.showSubmit=!0,this.boundCancel=this.cancel.bind(this),this.canceled=!1,this.confirmationForm=new t.cw({})}ngOnInit(){if(this.bodyContext=this.bodyContext||{},this.bodyContext.$implicit=this.bodyData,!this.onSubmit)throw new Error("No submit action defined");if(!this.buttonText)throw new Error("No action name defined");if(!this.titleText)throw new Error("No title defined");if(!this.bodyTpl&&!this.description)throw new Error("No description defined")}ngOnDestroy(){this.onCancel&&this.canceled&&this.onCancel()}cancel(){this.canceled=!0,this.activeModal.close()}stopLoadingSpinner(){this.confirmationForm.setErrors({cdSubmitButton:!0})}}return D.\u0275fac=function(j){return new(j||D)(e.Y36(s.Kz))},D.\u0275cmp=e.Xpm({type:D,selectors:[["cd-confirmation-modal"]],decls:12,vars:9,consts:[[3,"hide"],[1,"modal-title"],["class","text-warning",4,"ngIf"],[1,"modal-content"],["name","confirmationForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","showSubmit","submitActionEvent","backActionEvent"],[1,"text-warning"],[1,"fa","fa-exclamation-triangle","fa-1x"]],template:function(j,H){1&j&&(e.TgZ(0,"cd-modal",0),e.NdJ("hide",function(){return H.cancel()}),e.ynx(1,1),e.YNc(2,_,2,0,"span",2),e._uU(3),e.BQk(),e.ynx(4,3),e.TgZ(5,"form",4,5),e.TgZ(7,"div",6),e.YNc(8,m,1,0,"ng-container",7),e.YNc(9,b,2,1,"p",8),e.qZA(),e.TgZ(10,"div",9),e.TgZ(11,"cd-form-button-panel",10),e.NdJ("submitActionEvent",function(){return H.onSubmit(H.confirmationForm.value)})("backActionEvent",function(){return H.boundCancel()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&j&&(e.xp6(2),e.Q6J("ngIf",H.warning),e.xp6(1),e.Oqu(H.titleText),e.xp6(2),e.Q6J("formGroup",H.confirmationForm),e.xp6(3),e.Q6J("ngTemplateOutlet",H.bodyTpl)("ngTemplateOutletContext",H.bodyContext),e.xp6(1),e.Q6J("ngIf",H.description),e.xp6(2),e.Q6J("form",H.confirmationForm)("submitText",H.buttonText)("showSubmit",H.showSubmit))},directives:[a.z,l.O5,t._Y,t.JL,t.sg,u.V,l.tP,h.p],styles:[""]}),D})()},58039:(Ge,g,o)=>{"use strict";o.d(g,{s:()=>_});var t=o(97057),e=o(65862),s=o(74788),a=o(91376),l=o(87925),u=o(12057);const h=function(m){return[m]};let _=(()=>{class m{constructor(T){this.toastr=T,this.byId=!0,this.icons=e.P}getText(){return document.getElementById(this.source).value}onClick(){try{const T=(0,t.qY)(),D=this.byId?this.getText():this.source,R=()=>{this.toastr.success("Copied text to the clipboard successfully.")};["firefox","ie","ios","safari"].includes(T.name)?navigator.clipboard.writeText(D).then(()=>R()):navigator.permissions.query({name:"clipboard-write"}).then(j=>{("granted"===j.state||"prompt"===j.state)&&navigator.clipboard.writeText(D).then(()=>R())})}catch(T){this.toastr.error("Failed to copy text to the clipboard.")}}}return m.\u0275fac=function(T){return new(T||m)(s.Y36(a._W))},m.\u0275cmp=s.Xpm({type:m,selectors:[["cd-copy-2-clipboard-button"]],hostBindings:function(T,D){1&T&&s.NdJ("click",function(){return D.onClick()})},inputs:{source:"source",byId:"byId"},decls:2,vars:3,consts:function(){let b;return b="Copy to Clipboard",[["type","button","title",b,1,"btn","btn-light",3,"click"],[3,"ngClass"]]},template:function(T,D){1&T&&(s.TgZ(0,"button",0),s.NdJ("click",function(){return D.onClick()}),s._UZ(1,"i",1),s.qZA()),2&T&&(s.xp6(1),s.Q6J("ngClass",s.VKq(1,h,D.icons.clipboard)))},directives:[l.o,u.mk],styles:[""]}),m})()},30982:(Ge,g,o)=>{"use strict";o.d(g,{M:()=>fe});var t=o(24751),e=o(95463),s=o(39749),a=o(74788),l=o(38549),u=o(60312),h=o(12057),_=o(41582),m=o(56310),b=o(87925),T=o(94276),D=o(82945),R=o(30839);function j(ne,he){1&ne&&a.GkF(0)}function H(ne,he){1&ne&&a.GkF(0)}function z(ne,he){if(1&ne&&(a.TgZ(0,"p"),a.tHW(1,21),a.ALo(2,"lowercase"),a._UZ(3,"strong"),a.N_p(),a.qZA()),2&ne){const ce=a.oxw(2);a.xp6(3),a.pQV(a.lcZ(2,2,ce.actionDescription))(ce.itemNames[0]),a.QtT(1)}}function U(ne,he){if(1&ne&&(a.TgZ(0,"li"),a.TgZ(1,"strong"),a._uU(2),a.qZA(),a.qZA()),2&ne){const ce=he.$implicit;a.xp6(2),a.Oqu(ce)}}function M(ne,he){if(1&ne&&(a.TgZ(0,"p"),a.SDv(1,22),a.ALo(2,"lowercase"),a.qZA(),a.TgZ(3,"ul"),a.YNc(4,U,3,1,"li",23),a.qZA()),2&ne){const ce=a.oxw(2);a.xp6(2),a.pQV(a.lcZ(2,2,ce.actionDescription)),a.QtT(1),a.xp6(2),a.Q6J("ngForOf",ce.itemNames)}}function I(ne,he){if(1&ne&&(a.TgZ(0,"span"),a.YNc(1,z,4,4,"p",10),a.YNc(2,M,5,4,"ng-template",null,20,a.W1O),a.qZA()),2&ne){const ce=a.MAs(3),Ae=a.oxw();a.xp6(1),a.Q6J("ngIf",1===Ae.itemNames.length)("ngIfElse",ce)}}function J(ne,he){if(1&ne&&(a.TgZ(0,"p"),a.SDv(1,24),a.ALo(2,"lowercase"),a.qZA()),2&ne){const ce=a.oxw();a.xp6(2),a.pQV(a.lcZ(2,2,ce.actionDescription))(ce.itemDescription),a.QtT(1)}}function B(ne,he){1&ne&&a.GkF(0)}function ie(ne,he){if(1&ne&&(a._uU(0),a.ALo(1,"titlecase")),2&ne){const ce=a.oxw();a.AsE(" ",a.lcZ(1,2,ce.actionDescription)," ",ce.itemDescription,"\n")}}const oe=function(ne){return{form:ne}};let fe=(()=>{class ne{constructor(ce){this.activeModal=ce,this.actionDescription="delete"}ngOnInit(){const ce={confirmation:new t.NI(!1,[t.kI.requiredTrue])};if(this.childFormGroup&&(ce.child=this.childFormGroup),this.deletionForm=new e.d(ce),!this.submitAction&&!this.submitActionObservable)throw new Error("No submit action defined")}callSubmitAction(){this.submitActionObservable?this.submitActionObservable().subscribe({error:this.stopLoadingSpinner.bind(this),complete:this.hideModal.bind(this)}):this.submitAction()}hideModal(){this.activeModal.close()}stopLoadingSpinner(){this.deletionForm.setErrors({cdSubmitButton:!0})}}return ne.\u0275fac=function(ce){return new(ce||ne)(a.Y36(l.Kz))},ne.\u0275cmp=a.Xpm({type:ne,selectors:[["cd-deletion-modal"]],viewQuery:function(ce,Ae){if(1&ce&&a.Gf(s.w,7),2&ce){let Se;a.iGM(Se=a.CRH())&&(Ae.submitButton=Se.first)}},decls:24,vars:15,consts:function(){let he,ce,Ae,Se;return he="Yes, I am sure.",ce="Are you sure that you want to " + "\ufffd0\ufffd" + " " + "\ufffd#3\ufffd" + "" + "\ufffd1\ufffd" + "" + "\ufffd/#3\ufffd" + "?",Ae="Are you sure that you want to " + "\ufffd0\ufffd" + " the selected items?",Se="Are you sure that you want to " + "\ufffd0\ufffd" + " the selected " + "\ufffd1\ufffd" + "?",[[3,"modalRef"],["modal",""],[1,"modal-title"],[4,"ngTemplateOutlet"],[1,"modal-content"],["name","deletionForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"question"],[4,"ngIf","ngIfElse"],["noNames",""],[1,"form-group"],[1,"custom-control","custom-checkbox"],["type","checkbox","name","confirmation","id","confirmation","formControlName","confirmation","autofocus","",1,"custom-control-input"],["for","confirmation",1,"custom-control-label"],he,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["deletionHeading",""],["manyNames",""],ce,Ae,[4,"ngFor","ngForOf"],Se]},template:function(ce,Ae){if(1&ce&&(a.TgZ(0,"cd-modal",0,1),a.ynx(2,2),a.YNc(3,j,1,0,"ng-container",3),a.BQk(),a.ynx(4,4),a.TgZ(5,"form",5,6),a.TgZ(7,"div",7),a.YNc(8,H,1,0,"ng-container",8),a.TgZ(9,"div",9),a.YNc(10,I,4,2,"span",10),a.YNc(11,J,3,4,"ng-template",null,11,a.W1O),a.YNc(13,B,1,0,"ng-container",8),a.TgZ(14,"div",12),a.TgZ(15,"div",13),a._UZ(16,"input",14),a.TgZ(17,"label",15),a.SDv(18,16),a.qZA(),a.qZA(),a.qZA(),a.qZA(),a.qZA(),a.TgZ(19,"div",17),a.TgZ(20,"cd-form-button-panel",18),a.NdJ("submitActionEvent",function(){return Ae.callSubmitAction()}),a.ALo(21,"titlecase"),a.qZA(),a.qZA(),a.qZA(),a.BQk(),a.qZA(),a.YNc(22,ie,2,4,"ng-template",null,19,a.W1O)),2&ce){const Se=a.MAs(12),Oe=a.MAs(23);a.Q6J("modalRef",Ae.activeModal),a.xp6(3),a.Q6J("ngTemplateOutlet",Oe),a.xp6(2),a.Q6J("formGroup",Ae.deletionForm),a.xp6(3),a.Q6J("ngTemplateOutlet",Ae.bodyTemplate)("ngTemplateOutletContext",Ae.bodyContext),a.xp6(2),a.Q6J("ngIf",Ae.itemNames)("ngIfElse",Se),a.xp6(3),a.Q6J("ngTemplateOutlet",Ae.childFormGroupTemplate)("ngTemplateOutletContext",a.VKq(13,oe,Ae.deletionForm)),a.xp6(7),a.Q6J("form",Ae.deletionForm)("submitText",a.lcZ(21,11,Ae.actionDescription)+" "+Ae.itemDescription)}},directives:[u.z,h.tP,t._Y,t.JL,t.sg,_.V,h.O5,m.P,b.o,t.Wl,T.b,t.JJ,t.u,D.U,R.p,h.sg],pipes:[h.rS,h.i8],styles:[".modal-body[_ngcontent-%COMP%] .question[_ngcontent-%COMP%]{margin-top:1em}.modal-body[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:bold}.modal-body[_ngcontent-%COMP%] .question[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%]{padding-top:7px}"]}),ne})()},52266:(Ge,g,o)=>{"use strict";o.d(g,{J:()=>_});var t=o(16738),e=o.n(t),s=o(74788),a=o(38549),l=o(24751),u=o(12057);function h(m,b){if(1&m){const T=s.EpF();s.TgZ(0,"div",0),s.TgZ(1,"ngb-timepicker",4),s.NdJ("ngModelChange",function(R){return s.CHM(T),s.oxw().time=R})("ngModelChange",function(){return s.CHM(T),s.oxw().onModelChange()}),s.qZA(),s.qZA()}if(2&m){const T=s.oxw();s.xp6(1),s.Q6J("seconds",T.hasSeconds)("ngModel",T.time)}}let _=(()=>{class m{constructor(T){this.calendar=T,this.hasSeconds=!0,this.hasTime=!0}ngOnInit(){var T;this.minDate=this.calendar.getToday(),this.format=this.hasTime?this.hasSeconds?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD HH:mm":"YYYY-MM-DD";let D=e()(null===(T=this.control)||void 0===T?void 0:T.value,this.format);(!D.isValid()||D.isBefore(e()()))&&(D=e()()),this.date={year:D.year(),month:D.month()+1,day:D.date()},this.time={hour:D.hour(),minute:D.minute(),second:D.second()},this.onModelChange()}onModelChange(){if(this.date){const T=Object.assign({},this.date,this.time);T.month--,setTimeout(()=>{this.control.setValue(e()(T).format(this.format))})}else setTimeout(()=>{this.control.setValue("")})}}return m.\u0275fac=function(T){return new(T||m)(s.Y36(a.vL))},m.\u0275cmp=s.Xpm({type:m,selectors:[["cd-date-time-picker"]],inputs:{control:"control",hasSeconds:"hasSeconds",hasTime:"hasTime"},decls:4,vars:3,consts:[[1,"d-flex","justify-content-center"],[3,"ngModel","minDate","ngModelChange"],["dp",""],["class","d-flex justify-content-center",4,"ngIf"],[3,"seconds","ngModel","ngModelChange"]],template:function(T,D){1&T&&(s.TgZ(0,"div",0),s.TgZ(1,"ngb-datepicker",1,2),s.NdJ("ngModelChange",function(j){return D.date=j})("ngModelChange",function(){return D.onModelChange()}),s.qZA(),s.qZA(),s.YNc(3,h,2,2,"div",3)),2&T&&(s.xp6(1),s.Q6J("ngModel",D.date)("minDate",D.minDate),s.xp6(2),s.Q6J("ngIf",D.hasTime))},directives:[a.VL,l.JJ,l.On,u.O5,a.Pm],styles:[""]}),m})()},30490:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>s});var t=o(72625),e=o(74788);let s=(()=>{class a{constructor(u){this.docService=u,this.docText="documentation"}ngOnInit(){this.noSubscribe?this.docUrl=this.docService.urlGenerator(this.section):this.docService.subscribeOnce(this.section,u=>{this.docUrl=u})}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(t.R))},a.\u0275cmp=e.Xpm({type:a,selectors:[["cd-doc"]],inputs:{section:"section",docText:"docText",noSubscribe:"noSubscribe"},decls:2,vars:2,consts:[["target","_blank",3,"href"]],template:function(u,h){1&u&&(e.TgZ(0,"a",0),e._uU(1),e.qZA()),2&u&&(e.s9C("href",h.docUrl,e.LSH),e.xp6(1),e.Oqu(h.docText))},styles:[""]}),a})()},30839:(Ge,g,o)=>{"use strict";o.d(g,{p:()=>_});var t=o(74788),e=o(79512),s=o(39749),a=o(12057),l=o(63285),u=o(13472);function h(m,b){if(1&m){const T=t.EpF();t.TgZ(0,"cd-submit-button",2),t.NdJ("submitAction",function(){return t.CHM(T),t.oxw().submitAction()}),t._uU(1),t.qZA()}if(2&m){const T=t.oxw();t.Q6J("disabled",T.disabled)("form",T.form),t.xp6(1),t.Oqu(T.submitText)}}let _=(()=>{class m{constructor(T,D,R){this.location=T,this.actionLabels=D,this.modalService=R,this.submitActionEvent=new t.vpe,this.backActionEvent=new t.vpe,this.showSubmit=!0,this.wrappingClass="",this.btnClass="",this.submitText=this.actionLabels.CREATE,this.cancelText=this.actionLabels.CANCEL,this.disabled=!1}submitAction(){this.submitActionEvent.emit()}backAction(){0===this.backActionEvent.observers.length?this.modalService.hasOpenModals()?this.modalService.dismissAll():this.location.back():this.backActionEvent.emit()}}return m.\u0275fac=function(T){return new(T||m)(t.Y36(a.Ye),t.Y36(e.p4),t.Y36(l.Z))},m.\u0275cmp=t.Xpm({type:m,selectors:[["cd-form-button-panel"]],viewQuery:function(T,D){if(1&T&&t.Gf(s.w,5),2&T){let R;t.iGM(R=t.CRH())&&(D.submitButton=R.first)}},inputs:{form:"form",showSubmit:"showSubmit",wrappingClass:"wrappingClass",btnClass:"btnClass",submitText:"submitText",cancelText:"cancelText",disabled:"disabled"},outputs:{submitActionEvent:"submitActionEvent",backActionEvent:"backActionEvent"},decls:3,vars:4,consts:[[1,"m-2",3,"name","backAction"],["data-cy","submitBtn",3,"disabled","form","submitAction",4,"ngIf"],["data-cy","submitBtn",3,"disabled","form","submitAction"]],template:function(T,D){1&T&&(t.TgZ(0,"div"),t.TgZ(1,"cd-back-button",0),t.NdJ("backAction",function(){return D.backAction()}),t.qZA(),t.YNc(2,h,2,3,"cd-submit-button",1),t.qZA()),2&T&&(t.Tol(D.wrappingClass),t.xp6(1),t.Q6J("name",D.cancelText),t.xp6(1),t.Q6J("ngIf",D.showSubmit))},directives:[u.W,a.O5,s.w],styles:[""]}),m})()},65683:(Ge,g,o)=>{"use strict";o.d(g,{X:()=>be});var t=o(24751),e=o(23815),s=o.n(e),a=o(47557),l=o(28211),u=o(74788),h=o(38549),_=o(62862),m=o(60312),b=o(12057),T=o(41582),D=o(30839),R=o(87925),j=o(94276),H=o(17932),z=o(60192);function U(ue,He){if(1&ue&&(u.ynx(0,10),u._uU(1),u.BQk()),2&ue){const $e=u.oxw();u.xp6(1),u.hij(" ",$e.titleText," ")}}function M(ue,He){if(1&ue&&(u.TgZ(0,"p"),u._uU(1),u.qZA()),2&ue){const $e=u.oxw();u.xp6(1),u.Oqu($e.message)}}const I=function(ue){return{required:ue}};function J(ue,He){if(1&ue&&(u.TgZ(0,"label",18),u._uU(1),u.qZA()),2&ue){const $e=u.oxw().$implicit;u.Q6J("ngClass",u.VKq(3,I,!0===(null==$e?null:$e.required)))("for",$e.name),u.xp6(1),u.hij(" ",$e.label," ")}}function B(ue,He){if(1&ue&&u._UZ(0,"input",19),2&ue){const $e=u.oxw().$implicit;u.Q6J("type",$e.type)("id",$e.name)("name",$e.name)("formControlName",$e.name)}}function ie(ue,He){if(1&ue&&u._UZ(0,"input",20),2&ue){const $e=u.oxw().$implicit;u.Q6J("id",$e.name)("name",$e.name)("formControlName",$e.name)}}function oe(ue,He){if(1&ue&&(u.TgZ(0,"option",24),u._uU(1),u.qZA()),2&ue){const $e=u.oxw(2).$implicit;u.Q6J("ngValue",null),u.xp6(1),u.hij(" ",null==$e||null==$e.typeConfig?null:$e.typeConfig.placeholder," ")}}function fe(ue,He){if(1&ue&&(u.TgZ(0,"option",25),u._uU(1),u.qZA()),2&ue){const $e=He.$implicit;u.Q6J("value",$e.value),u.xp6(1),u.hij(" ",$e.text," ")}}function ne(ue,He){if(1&ue&&(u.TgZ(0,"select",21),u.YNc(1,oe,2,2,"option",22),u.YNc(2,fe,2,2,"option",23),u.qZA()),2&ue){const $e=u.oxw().$implicit;u.Q6J("id",$e.name)("formControlName",$e.name),u.xp6(1),u.Q6J("ngIf",null==$e||null==$e.typeConfig?null:$e.typeConfig.placeholder),u.xp6(1),u.Q6J("ngForOf",null==$e||null==$e.typeConfig?null:$e.typeConfig.options)}}function he(ue,He){if(1&ue&&u._UZ(0,"cd-select-badges",26),2&ue){const $e=u.oxw().$implicit;u.Q6J("id",$e.name)("data",$e.value)("customBadges",null==$e||null==$e.typeConfig?null:$e.typeConfig.customBadges)("options",null==$e||null==$e.typeConfig?null:$e.typeConfig.options)("messages",null==$e||null==$e.typeConfig?null:$e.typeConfig.messages)}}function ce(ue,He){if(1&ue&&(u.TgZ(0,"span",27),u._uU(1),u.qZA()),2&ue){const $e=u.oxw().$implicit,F=u.oxw();u.xp6(1),u.hij(" ",F.getError($e)," ")}}const Ae=function(ue,He){return{"cd-col-form-input":ue,"col-sm-12":He}},Se=function(){return["text","number"]};function Oe(ue,He){if(1&ue&&(u.ynx(0),u.TgZ(1,"div"),u.YNc(2,J,2,5,"label",11),u.TgZ(3,"div",12),u.YNc(4,B,1,4,"input",13),u.YNc(5,ie,1,3,"input",14),u.YNc(6,ne,3,4,"select",15),u.YNc(7,he,1,5,"cd-select-badges",16),u.YNc(8,ce,2,1,"span",17),u.qZA(),u.qZA(),u.BQk()),2&ue){const $e=He.$implicit,F=u.oxw(),je=u.MAs(4);u.xp6(1),u.Gre("form-group row cd-",$e.name,"-form-group"),u.xp6(1),u.Q6J("ngIf",$e.label),u.xp6(1),u.Q6J("ngClass",u.WLB(10,Ae,$e.label,!$e.label)),u.xp6(1),u.Q6J("ngIf",u.DdM(13,Se).includes($e.type)),u.xp6(1),u.Q6J("ngIf","binary"===$e.type),u.xp6(1),u.Q6J("ngIf","select"===$e.type),u.xp6(1),u.Q6J("ngIf","select-badges"===$e.type),u.xp6(1),u.Q6J("ngIf",F.formGroup.showError($e.name,je))}}let be=(()=>{class ue{constructor($e,F,je,Et){this.activeModal=$e,this.formBuilder=F,this.formatter=je,this.dimlessBinaryPipe=Et}ngOnInit(){this.createForm()}createForm(){const $e={};this.fields.forEach(F=>{$e[F.name]=this.createFormControl(F)}),this.formGroup=this.formBuilder.group($e)}createFormControl($e){let F=[];return s().isBoolean($e.required)&&$e.required&&F.push(t.kI.required),$e.validators&&(F=F.concat($e.validators)),new t.NI(s().defaultTo("binary"===$e.type?this.dimlessBinaryPipe.transform($e.value):$e.value,null),{validators:F})}getError($e){const F=this.formGroup.get($e.name).errors;return Object.keys(F).map(Et=>this.getErrorMessage(Et,F[Et],$e.errors)).join("<br>")}getErrorMessage($e,F,je){if(je){const Et=je[$e];if(Et)return Et}return["binaryMin","binaryMax"].includes($e)?F():"required"===$e?"This field is required.":"An error occurred."}onSubmitForm($e){this.fields.filter(je=>"binary"===je.type).map(je=>je.name).forEach(je=>{const Et=$e[je];Et&&($e[je]=this.formatter.toBytes(Et))}),this.activeModal.close(),s().isFunction(this.onSubmit)&&this.onSubmit($e)}}return ue.\u0275fac=function($e){return new($e||ue)(u.Y36(h.Kz),u.Y36(_.O),u.Y36(l.H),u.Y36(a.$))},ue.\u0275cmp=u.Xpm({type:ue,selectors:[["cd-form-modal"]],decls:10,vars:7,consts:[[3,"modalRef"],["class","modal-title",4,"ngIf"],[1,"modal-content"],["novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[4,"ngIf"],[4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"modal-title"],["class","cd-col-form-label",3,"ngClass","for",4,"ngIf"],[3,"ngClass"],["class","form-control",3,"type","id","name","formControlName",4,"ngIf"],["type","text","class","form-control","cdDimlessBinary","",3,"id","name","formControlName",4,"ngIf"],["class","form-control custom-select",3,"id","formControlName",4,"ngIf"],[3,"id","data","customBadges","options","messages",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],[1,"cd-col-form-label",3,"ngClass","for"],[1,"form-control",3,"type","id","name","formControlName"],["type","text","cdDimlessBinary","",1,"form-control",3,"id","name","formControlName"],[1,"form-control","custom-select",3,"id","formControlName"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],[3,"ngValue"],[3,"value"],[3,"id","data","customBadges","options","messages"],[1,"invalid-feedback"]],template:function($e,F){1&$e&&(u.TgZ(0,"cd-modal",0),u.YNc(1,U,2,1,"ng-container",1),u.ynx(2,2),u.TgZ(3,"form",3,4),u.TgZ(5,"div",5),u.YNc(6,M,2,1,"p",6),u.YNc(7,Oe,9,14,"ng-container",7),u.qZA(),u.TgZ(8,"div",8),u.TgZ(9,"cd-form-button-panel",9),u.NdJ("submitActionEvent",function(){return F.onSubmitForm(F.formGroup.value)}),u.qZA(),u.qZA(),u.qZA(),u.BQk(),u.qZA()),2&$e&&(u.Q6J("modalRef",F.activeModal),u.xp6(1),u.Q6J("ngIf",F.titleText),u.xp6(2),u.Q6J("formGroup",F.formGroup),u.xp6(3),u.Q6J("ngIf",F.message),u.xp6(1),u.Q6J("ngForOf",F.fields),u.xp6(2),u.Q6J("form",F.formGroup)("submitText",F.submitButtonText))},directives:[m.z,b.O5,t._Y,t.JL,t.sg,T.V,b.sg,D.p,b.mk,R.o,t.Fj,j.b,t.JJ,t.u,H.Q,t.EJ,t.YN,t.Kr,z.m],styles:[""]}),ue})()},76317:(Ge,g,o)=>{"use strict";o.d(g,{F:()=>U});var t=o(9837),e=o(65862),s=o(74788),a=o(91211),l=o(12057),u=o(8958),h=o(34501),_=o(30490),m=o(87925),b=o(24751);function T(M,I){1&M&&(s.TgZ(0,"cd-loading-panel"),s.SDv(1,2),s.qZA())}function D(M,I){1&M&&(s.TgZ(0,"cd-alert-panel",3),s.tHW(1,4),s._UZ(2,"cd-doc",5),s.N_p(),s.qZA())}function R(M,I){1&M&&(s.TgZ(0,"cd-alert-panel",3),s.tHW(1,6),s._UZ(2,"cd-doc",5),s.N_p(),s.qZA())}function j(M,I){if(1&M&&(s.TgZ(0,"option",19),s._uU(1),s.qZA()),2&M){const J=I.$implicit;s.Q6J("ngValue",J.value),s.xp6(1),s.hij("",J.name," ")}}const H=function(M){return[M]};function z(M,I){if(1&M){const J=s.EpF();s.ynx(0),s.TgZ(1,"div",7),s.TgZ(2,"div",8),s.TgZ(3,"div",9),s.TgZ(4,"label",10),s.SDv(5,11),s.qZA(),s.TgZ(6,"select",12),s.NdJ("ngModelChange",function(ie){return s.CHM(J),s.oxw().time=ie})("ngModelChange",function(ie){return s.CHM(J),s.oxw().onTimepickerChange(ie)}),s.YNc(7,j,2,2,"option",13),s.qZA(),s.TgZ(8,"button",14),s.NdJ("click",function(){return s.CHM(J),s.oxw().reset()}),s._UZ(9,"i",15),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(10,"div",7),s.TgZ(11,"div",8),s.TgZ(12,"div",16),s._UZ(13,"iframe",17,18),s.qZA(),s.qZA(),s.qZA(),s.BQk()}if(2&M){const J=s.oxw();s.xp6(6),s.Q6J("ngModel",J.time),s.xp6(1),s.Q6J("ngForOf",J.grafanaTimes),s.xp6(2),s.Q6J("ngClass",s.VKq(5,H,J.icons.undo)),s.xp6(4),s.Q6J("src",J.grafanaSrc,s.uOi)("ngClass",J.panelStyle)}}let U=(()=>{class M{constructor(J,B){this.sanitizer=J,this.settingsService=B,this.grafanaExist=!1,this.mode="&kiosk",this.datasource="Dashboard1",this.loading=!0,this.styles={},this.dashboardExist=!0,this.icons=e.P,this.DEFAULT_TIME="from=now-1h&to=now",this.grafanaTimes=[{name:"Last 5 minutes",value:"from=now-5m&to=now"},{name:"Last 15 minutes",value:"from=now-15m&to=now"},{name:"Last 30 minutes",value:"from=now-30m&to=now"},{name:"Last 1 hour (Default)",value:"from=now-1h&to=now"},{name:"Last 3 hours",value:"from=now-3h&to=now"},{name:"Last 6 hours",value:"from=now-6h&to=now"},{name:"Last 12 hours",value:"from=now-12h&to=now"},{name:"Last 24 hours",value:"from=now-24h&to=now"},{name:"Yesterday",value:"from=now-1d%2Fd&to=now-1d%2Fd"},{name:"Today so far",value:"from=now%2Fd&to=now"},{name:"Day before yesterday",value:"from=now-2d%2Fd&to=now-2d%2Fd"},{name:"Last 2 days",value:"from=now-2d&to=now"},{name:"This day last week",value:"from=now-7d%2Fd&to=now-7d%2Fd"},{name:"Previous week",value:"from=now-1w%2Fw&to=now-1w%2Fw"},{name:"This week so far",value:"from=now%2Fw&to=now"},{name:"Last 7 days",value:"from=now-7d&to=now"},{name:"Previous month",value:"from=now-1M%2FM&to=now-1M%2FM"},{name:"This month so far",value:"from=now%2FM&to=now"},{name:"Last 30 days",value:"from=now-30d&to=now"},{name:"Last 90 days",value:"from=now-90d&to=now"},{name:"Last 6 months",value:"from=now-6M&to=now"},{name:"Last 1 year",value:"from=now-1y&to=now"},{name:"Previous year",value:"from=now-1y%2Fy&to=now-1y%2Fy"},{name:"This year so far",value:"from=now%2Fy&to=now"},{name:"Last 2 years",value:"from=now-2y&to=now"},{name:"Last 5 years",value:"from=now-5y&to=now"}]}ngOnInit(){this.time=this.DEFAULT_TIME,this.styles={one:"grafana_one",two:"grafana_two",three:"grafana_three",four:"grafana_four"},this.settingsService.ifSettingConfigured("api/grafana/url",J=>{this.grafanaExist=!0,this.loading=!1,this.baseUrl=J+"/d/",this.getFrame()}),this.panelStyle=this.styles[this.grafanaStyle]}getFrame(){this.settingsService.validateGrafanaDashboardUrl(this.uid).subscribe(J=>this.dashboardExist=200===J),this.url=this.baseUrl+this.uid+"/"+this.grafanaPath+`&refresh=2s&var-datasource=${this.datasource}`+this.mode+"&"+this.time,this.grafanaSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.url)}onTimepickerChange(){this.grafanaExist&&this.getFrame()}reset(){this.time=this.DEFAULT_TIME,this.grafanaExist&&this.getFrame()}ngOnChanges(){this.grafanaExist&&this.getFrame()}}return M.\u0275fac=function(J){return new(J||M)(s.Y36(a.H7),s.Y36(t.g))},M.\u0275cmp=s.Xpm({type:M,selectors:[["cd-grafana"]],inputs:{grafanaPath:"grafanaPath",grafanaStyle:"grafanaStyle",uid:"uid"},features:[s.TTD],decls:4,vars:4,consts:function(){let I,J,B,ie,oe;return I="Loading panel data...",J="Please consult the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " on how to configure and enable the monitoring functionality.",B="Grafana Dashboard doesn't exist. Please refer to " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " on how to add dashboards to Grafana.",ie="Grafana Time Picker",oe="Reset Settings",[[4,"ngIf"],["type","info",4,"ngIf"],I,["type","info"],J,["section","grafana"],B,[1,"row"],[1,"col"],[1,"form-inline","timepicker"],["for","timepicker",1,"ml-1","my-1"],ie,["id","timepicker","name","timepicker",1,"custom-select","my-1","mx-3",3,"ngModel","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],["title",oe,1,"btn","btn-light","my-1",3,"click"],[3,"ngClass"],[1,"grafana-container"],["id","iframe","frameborder","0","scrolling","no",1,"grafana",3,"src","ngClass"],["iframe",""],[3,"ngValue"]]},template:function(J,B){1&J&&(s.YNc(0,T,2,0,"cd-loading-panel",0),s.YNc(1,D,3,0,"cd-alert-panel",1),s.YNc(2,R,3,0,"cd-alert-panel",1),s.YNc(3,z,15,7,"ng-container",0)),2&J&&(s.Q6J("ngIf",B.loading&&B.grafanaExist),s.xp6(1),s.Q6J("ngIf",!B.grafanaExist),s.xp6(1),s.Q6J("ngIf",!B.dashboardExist),s.xp6(1),s.Q6J("ngIf",B.grafanaExist&&B.dashboardExist))},directives:[l.O5,u.b,h.G,_.K,m.o,b.EJ,b.JJ,b.On,l.sg,l.mk,b.YN,b.Kr],styles:[".grafana[_ngcontent-%COMP%]{height:600px;width:100%;z-index:0}.grafana_one[_ngcontent-%COMP%]{height:400px}.grafana_two[_ngcontent-%COMP%]{height:750px}.grafana_three[_ngcontent-%COMP%]{height:900px}.grafana_four[_ngcontent-%COMP%]{height:1160px}.timepicker[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:700}.dropdown-menu[_ngcontent-%COMP%]{left:auto;right:20px;top:20px}"]}),M})()},18372:(Ge,g,o)=>{"use strict";o.d(g,{S:()=>_});var t=o(65862),e=o(74788),s=o(12057),a=o(38549);function l(m,b){if(1&m&&(e._UZ(0,"div",2),e.Hsn(1)),2&m){const T=e.oxw();e.Tol(T.class),e.Q6J("innerHtml",T.html,e.oJD)}}const u=function(m){return[m]},h=["*"];let _=(()=>{class m{constructor(){this.icons=t.P}}return m.\u0275fac=function(T){return new(T||m)},m.\u0275cmp=e.Xpm({type:m,selectors:[["cd-helper"]],inputs:{class:"class",html:"html"},ngContentSelectors:h,decls:3,vars:4,consts:[["popoverTpl",""],["aria-hidden","true",3,"ngClass","ngbPopover","click"],[3,"innerHtml"]],template:function(T,D){if(1&T&&(e.F$t(),e.YNc(0,l,2,3,"ng-template",null,0,e.W1O),e.TgZ(2,"i",1),e.NdJ("click",function(j){return j.preventDefault()}),e.qZA()),2&T){const R=e.MAs(1);e.xp6(2),e.Q6J("ngClass",e.VKq(2,u,D.icons.questionCircle))("ngbPopover",R)}},directives:[s.mk,a.o8],styles:["i[_ngcontent-%COMP%]{color:#2b99a8;cursor:pointer;padding-left:4px}"]}),m})()},8958:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>h});var t=o(65862),e=o(74788),s=o(38549),a=o(12057);const l=function(_,m){return[_,m]},u=["*"];let h=(()=>{class _{constructor(){this.icons=t.P}}return _.\u0275fac=function(b){return new(b||_)},_.\u0275cmp=e.Xpm({type:_,selectors:[["cd-loading-panel"]],ngContentSelectors:u,decls:4,vars:5,consts:[["type","info",3,"dismissible"],["aria-hidden","true",1,"mr-2",3,"ngClass"]],template:function(b,T){1&b&&(e.F$t(),e.TgZ(0,"ngb-alert",0),e.TgZ(1,"strong"),e._UZ(2,"i",1),e.qZA(),e.Hsn(3),e.qZA()),2&b&&(e.Q6J("dismissible",!1),e.xp6(2),e.Q6J("ngClass",e.WLB(2,l,T.icons.spinner,T.icons.spin)))},directives:[s.xm,a.mk],styles:[""]}),_})()},60312:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>h});var t=o(74788),e=o(6283),s=o(12057),a=o(87925);const l=[[["",8,"modal-title"]],[["",8,"modal-content"]]],u=[".modal-title",".modal-content"];let h=(()=>{class _{constructor(b){this.router=b,this.hide=new t.vpe}close(){var b;this.pageURL?this.router.navigate([this.pageURL,{outlets:{modal:null}}]):null===(b=this.modalRef)||void 0===b||b.close(),this.hide.emit()}}return _.\u0275fac=function(b){return new(b||_)(t.Y36(e.F0))},_.\u0275cmp=t.Xpm({type:_,selectors:[["cd-modal"]],inputs:{modalRef:"modalRef",pageURL:"pageURL"},outputs:{hide:"hide"},ngContentSelectors:u,decls:10,vars:2,consts:[[3,"ngClass"],[1,"modal-content"],[1,"modal-header"],[1,"modal-title","float-left"],["type","button","aria-label","Close",1,"close","float-right",3,"click"],["aria-hidden","true"]],template:function(b,T){1&b&&(t.F$t(l),t.TgZ(0,"div",0),t.TgZ(1,"div",0),t.TgZ(2,"div",1),t.TgZ(3,"div",2),t.TgZ(4,"h4",3),t.Hsn(5),t.qZA(),t.TgZ(6,"button",4),t.NdJ("click",function(){return T.close()}),t.TgZ(7,"span",5),t._uU(8,"\xd7"),t.qZA(),t.qZA(),t.qZA(),t.Hsn(9,1),t.qZA(),t.qZA(),t.qZA()),2&b&&(t.Q6J("ngClass",T.pageURL?"modal":""),t.xp6(1),t.Q6J("ngClass",T.pageURL?"modal-dialog":""))},directives:[s.mk,a.o],styles:[".modal-header[_ngcontent-%COMP%]{background-color:#e9ecef;border-bottom:1px solid #ced4da;border-radius:5px 5px 0 0} cd-modal .modal-footer{background-color:#e9ecef;border-bottom:1px solid #ced4da;border-radius:0 0 5px 5px} cd-modal .modal-body{max-height:70vh;overflow-x:hidden;overflow-y:auto}button.close[_ngcontent-%COMP%]{outline:none}"]}),_})()},60192:(Ge,g,o)=>{"use strict";o.d(g,{m:()=>m});var t=o(74788),e=o(65862),s=o(7022),a=o(39092),l=o(12057);const u=["cdSelect"],h=function(b){return[b]};function _(b,T){if(1&b){const D=t.EpF();t.TgZ(0,"span"),t.TgZ(1,"span",4),t.TgZ(2,"span",5),t._uU(3),t.qZA(),t.TgZ(4,"a",6),t.NdJ("click",function(){const H=t.CHM(D).$implicit;return t.oxw(),t.MAs(1).removeItem(H)}),t._UZ(5,"i",7),t.qZA(),t.qZA(),t.qZA()}if(2&b){const D=T.$implicit,R=t.oxw();t.xp6(3),t.Oqu(D),t.xp6(2),t.Q6J("ngClass",t.VKq(2,h,R.icons.destroy))}}let m=(()=>{class b{constructor(){this.data=[],this.options=[],this.messages=new s.a({}),this.customBadges=!1,this.customBadgeValidators=[],this.selection=new t.vpe,this.icons=e.P}}return b.\u0275fac=function(D){return new(D||b)},b.\u0275cmp=t.Xpm({type:b,selectors:[["cd-select-badges"]],viewQuery:function(D,R){if(1&D&&t.Gf(u,7),2&D){let j;t.iGM(j=t.CRH())&&(R.cdSelect=j.first)}},inputs:{data:"data",options:"options",messages:"messages",selectionLimit:"selectionLimit",customBadges:"customBadges",customBadgeValidators:"customBadgeValidators"},outputs:{selection:"selection"},decls:4,vars:10,consts:[["elemClass","mr-2 select-menu-edit",3,"data","options","messages","selectionLimit","customBadges","customBadgeValidators","selection"],["cdSelect",""],[3,"ngClass"],[4,"ngFor","ngForOf"],[1,"badge","badge-dark","mr-2"],[1,"mr-2"],[1,"badge-remove",3,"click"],["aria-hidden","true",3,"ngClass"]],template:function(D,R){1&D&&(t.TgZ(0,"cd-select",0,1),t.NdJ("selection",function(H){return R.selection.emit(H)}),t._UZ(2,"i",2),t.qZA(),t.YNc(3,_,6,4,"span",3)),2&D&&(t.Q6J("data",R.data)("options",R.options)("messages",R.messages)("selectionLimit",R.selectionLimit)("customBadges",R.customBadges)("customBadgeValidators",R.customBadgeValidators),t.xp6(2),t.Q6J("ngClass",t.VKq(8,h,R.icons.edit)),t.xp6(1),t.Q6J("ngForOf",R.data))},directives:[a.H,l.mk,l.sg],styles:[".badge-remove[_ngcontent-%COMP%]{color:#fff}i.fa-pencil[_ngcontent-%COMP%]{font-size:1.1rem}"]}),b})()},7022:(Ge,g,o)=>{"use strict";o.d(g,{a:()=>s});var t=o(23815),e=o.n(t);class s{constructor(l){this.customValidations={},this.empty="No items selected.",this.selectionLimit={tooltip:"Deselect item to select again",text:"Selection limit reached"},this.filter="Filter tags",this.add="Add badge",this.noOptions="There are no items available.",e().merge(this,l)}}},14745:(Ge,g,o)=>{"use strict";o.d(g,{$:()=>t});class t{constructor(s,a,l,u=!0){this.selected=s,this.name=a,this.description=l,this.enabled=u}}},39092:(Ge,g,o)=>{"use strict";o.d(g,{H:()=>Se});var t=o(74788),e=o(24751),s=o(23815),a=o.n(s),l=o(65862),u=o(95463),h=o(7022),_=o(14745),m=o(12057),b=o(41582),T=o(87925),D=o(94276),R=o(38549);function j(Oe,be){if(1&Oe&&(t.TgZ(0,"span",12),t._uU(1),t.qZA()),2&Oe){const ue=t.oxw().$implicit,He=t.oxw(2);t.xp6(1),t.hij(" ",He.messages.customValidations[ue]," ")}}function H(Oe,be){if(1&Oe&&(t.ynx(0),t.YNc(1,j,2,1,"span",11),t.BQk()),2&Oe){const ue=be.$implicit;t.oxw();const He=t.MAs(1),$e=t.oxw();t.xp6(1),t.Q6J("ngIf",$e.form.showError("filter",He)&&$e.filter.hasError(ue))}}const z=function(Oe){return[Oe]};function U(Oe,be){if(1&Oe&&t._UZ(0,"i",18),2&Oe){const ue=t.oxw(3);t.Q6J("ngClass",t.VKq(1,z,ue.icons.check))}}function M(Oe,be){if(1&Oe&&(t.ynx(0),t._UZ(1,"br"),t.TgZ(2,"small",19),t._uU(3),t.qZA(),t.BQk()),2&Oe){const ue=t.oxw().$implicit;t.xp6(3),t.hij(" ",ue.description,"\xa0 ")}}const I=function(Oe){return{"help-block disabled":Oe}};function J(Oe,be){if(1&Oe){const ue=t.EpF();t.TgZ(0,"div",13),t.NdJ("click",function(){const F=t.CHM(ue).$implicit;return t.oxw(2).triggerSelection(F)}),t.TgZ(1,"div",14),t.YNc(2,U,1,3,"i",15),t._uU(3," \xa0 "),t.qZA(),t.TgZ(4,"div",16),t._uU(5),t.YNc(6,M,4,1,"ng-container",17),t.qZA(),t.qZA()}if(2&Oe){const ue=be.$implicit,He=t.oxw(2);t.Q6J("ngClass",t.VKq(4,I,!(He.data.length!==He.selectionLimit&&ue.enabled||ue.selected))),t.xp6(2),t.Q6J("ngIf",ue.selected),t.xp6(3),t.hij(" ",ue.name," "),t.xp6(1),t.Q6J("ngIf",ue.description)}}function B(Oe,be){if(1&Oe){const ue=t.EpF();t.TgZ(0,"div",20),t.NdJ("click",function(){return t.CHM(ue),t.oxw(2).addCustomOption()}),t.TgZ(1,"div",14),t._UZ(2,"i",18),t._uU(3," \xa0 "),t.qZA(),t.TgZ(4,"div",16),t._uU(5),t.qZA(),t.qZA()}if(2&Oe){const ue=t.oxw(2);t.xp6(2),t.Q6J("ngClass",t.VKq(3,z,ue.icons.tag)),t.xp6(3),t.AsE(" ",ue.messages.add," '",ue.filter.value,"' ")}}function ie(Oe,be){if(1&Oe&&(t.TgZ(0,"span",23),t._uU(1),t.qZA()),2&Oe){const ue=t.oxw(3);t.Q6J("ngbTooltip",ue.messages.selectionLimit.tooltip),t.xp6(1),t.hij(" ",ue.messages.selectionLimit.text," ")}}function oe(Oe,be){if(1&Oe&&(t.TgZ(0,"div",21),t.YNc(1,ie,2,2,"span",22),t.qZA()),2&Oe){const ue=t.oxw(2);t.xp6(1),t.Q6J("ngIf",ue.data.length===ue.selectionLimit)}}function fe(Oe,be){if(1&Oe){const ue=t.EpF();t.TgZ(0,"form",4,5),t.TgZ(2,"div"),t.TgZ(3,"input",6),t.NdJ("keyup",function($e){t.CHM(ue);const F=t.oxw();return 13==$e.keyCode?F.selectOption():F.updateFilter()}),t.qZA(),t.YNc(4,H,2,1,"ng-container",7),t.qZA(),t.qZA(),t.YNc(5,J,7,6,"div",8),t.YNc(6,B,6,5,"div",9),t.YNc(7,oe,2,1,"div",10)}if(2&Oe){const ue=t.oxw();t.Q6J("formGroup",ue.form),t.xp6(3),t.Q6J("placeholder",ue.messages.filter),t.xp6(1),t.Q6J("ngForOf",ue.Object.keys(ue.messages.customValidations)),t.xp6(1),t.Q6J("ngForOf",ue.filteredOptions),t.xp6(1),t.Q6J("ngIf",ue.isCreatable()),t.xp6(1),t.Q6J("ngIf",ue.data.length===ue.selectionLimit)}}function ne(Oe,be){if(1&Oe&&(t.TgZ(0,"a",24),t.Hsn(1),t.qZA()),2&Oe){const ue=t.oxw(),He=t.MAs(1);t.Q6J("ngClass",ue.elemClass)("ngbPopover",He)}}function he(Oe,be){if(1&Oe&&(t.TgZ(0,"span",25),t._uU(1),t.qZA()),2&Oe){const ue=t.oxw();t.xp6(1),t.hij(" ",ue.messages.empty,"\n")}}function ce(Oe,be){if(1&Oe&&(t.TgZ(0,"span",25),t._uU(1),t.qZA()),2&Oe){const ue=t.oxw();t.xp6(1),t.hij(" ",ue.messages.noOptions,"\n")}}const Ae=["*"];let Se=(()=>{class Oe{constructor(){this.data=[],this.options=[],this.messages=new h.a({}),this.customBadges=!1,this.customBadgeValidators=[],this.selection=new t.vpe,this.Object=Object,this.filteredOptions=[],this.icons=l.P}ngOnInit(){this.initFilter(),this.data.length>0&&this.initMissingOptions(),this.options=a().sortBy(this.options,["name"]),this.updateOptions()}initFilter(){this.filter=new e.NI("",{validators:this.customBadgeValidators}),this.form=new u.d({filter:this.filter}),this.filteredOptions=[...this.options||[]]}initMissingOptions(){const ue=this.options.map($e=>$e.name);this.data.filter($e=>-1===ue.indexOf($e)).forEach($e=>this.addOption($e)),this.forceOptionsToReflectData()}addOption(ue){this.options.push(new _.$(!1,ue,"")),this.options=a().sortBy(this.options,["name"]),this.triggerSelection(this.options.find(He=>He.name===ue))}triggerSelection(ue){!ue||this.selectionLimit&&!ue.selected&&this.data.length>=this.selectionLimit||(ue.selected=!ue.selected,this.updateOptions(),this.selection.emit({option:ue}))}updateOptions(){this.data.splice(0,this.data.length),this.options.forEach(ue=>{ue.selected&&this.data.push(ue.name)}),this.updateFilter()}updateFilter(){this.filteredOptions=this.options.filter(ue=>ue.name.includes(this.filter.value))}forceOptionsToReflectData(){this.options.forEach(ue=>{-1!==this.data.indexOf(ue.name)&&(ue.selected=!0)})}ngOnChanges(){this.filter&&this.updateFilter(),this.options&&this.data&&0!==this.data.length&&this.forceOptionsToReflectData()}selectOption(){0===this.filteredOptions.length?this.addCustomOption():(this.triggerSelection(this.filteredOptions[0]),this.resetFilter())}addCustomOption(){!this.isCreatable()||(this.addOption(this.filter.value),this.resetFilter())}isCreatable(){return this.customBadges&&this.filter.valid&&this.filter.value.length>0&&this.filteredOptions.every(ue=>ue.name!==this.filter.value)}resetFilter(){this.filter.setValue(""),this.updateFilter()}removeItem(ue){this.triggerSelection(this.options.find(He=>He.name===ue&&He.selected))}}return Oe.\u0275fac=function(ue){return new(ue||Oe)},Oe.\u0275cmp=t.Xpm({type:Oe,selectors:[["cd-select"]],inputs:{elemClass:"elemClass",data:"data",options:"options",messages:"messages",selectionLimit:"selectionLimit",customBadges:"customBadges",customBadgeValidators:"customBadgeValidators"},outputs:{selection:"selection"},features:[t.TTD],ngContentSelectors:Ae,decls:5,vars:3,consts:[["popTemplate",""],["class","select-menu-edit float-left","data-testid","select-menu-edit",3,"ngClass","ngbPopover",4,"ngIf"],["class","form-text text-muted float-left",4,"ngIf"],["class","form-text text-muted float-left",4,"ngIf"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],["type","text","formControlName","filter",1,"form-control","text-center",3,"placeholder","keyup"],[4,"ngFor","ngForOf"],["class","select-menu-item",3,"ngClass","click",4,"ngFor","ngForOf"],["class","select-menu-item",3,"click",4,"ngIf"],["class","is-invalid",4,"ngIf"],["class","invalid-feedback text-center d-block",4,"ngIf"],[1,"invalid-feedback","text-center","d-block"],[1,"select-menu-item",3,"ngClass","click"],[1,"select-menu-item-icon"],["aria-hidden","true",3,"ngClass",4,"ngIf"],[1,"select-menu-item-content"],[4,"ngIf"],["aria-hidden","true",3,"ngClass"],[1,"form-text","text-muted"],[1,"select-menu-item",3,"click"],[1,"is-invalid"],["class","form-text text-muted text-center text-warning",3,"ngbTooltip",4,"ngIf"],[1,"form-text","text-muted","text-center","text-warning",3,"ngbTooltip"],["data-testid","select-menu-edit",1,"select-menu-edit","float-left",3,"ngClass","ngbPopover"],[1,"form-text","text-muted","float-left"]],template:function(ue,He){1&ue&&(t.F$t(),t.YNc(0,fe,8,6,"ng-template",null,0,t.W1O),t.YNc(2,ne,2,2,"a",1),t.YNc(3,he,2,1,"span",2),t.YNc(4,ce,2,1,"span",3)),2&ue&&(t.xp6(2),t.Q6J("ngIf",He.customBadges||He.options.length>0),t.xp6(1),t.Q6J("ngIf",0===He.data.length&&!(!He.customBadges&&0===He.options.length)),t.xp6(1),t.Q6J("ngIf",!He.customBadges&&0===He.options.length))},directives:[m.O5,e._Y,e.JL,e.sg,b.V,T.o,e.Fj,D.b,e.JJ,e.u,m.sg,m.mk,R._L,R.o8],styles:[".select-menu-item[_ngcontent-%COMP%]{border-bottom:1px solid rgba(0,0,0,.09);cursor:pointer;display:block;font-size:1rem}.select-menu-item[_ngcontent-%COMP%]:hover{background-color:#e9ecef}.select-menu-item-icon[_ngcontent-%COMP%]{float:left;padding:.5em;width:3em}.select-menu-item-content[_ngcontent-%COMP%]{padding:.5em}.select-menu-item-content[_ngcontent-%COMP%] .form-text[_ngcontent-%COMP%]{display:flex}"]}),Oe})()},76446:(Ge,g,o)=>{"use strict";o.d(g,{l:()=>_});var t=o(87311),e=o(47557),s=o(74788),a=o(12057),l=o(13788);const u=["sparkCanvas"],h=["sparkTooltip"];let _=(()=>{class m{constructor(T){this.dimlessBinaryPipe=T,this.style={height:"30px",width:"100px"},this.colors=[{backgroundColor:"rgba(40,140,234,0.2)",borderColor:"rgba(40,140,234,1)",pointBackgroundColor:"rgba(40,140,234,1)",pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:"rgba(40,140,234,0.8)"}],this.options={animation:{duration:0},responsive:!0,maintainAspectRatio:!1,legend:{display:!1},elements:{line:{borderWidth:1}},tooltips:{enabled:!1,mode:"index",intersect:!1,custom:void 0,callbacks:{label:D=>this.isBinary?this.dimlessBinaryPipe.transform(D.yLabel):D.yLabel,title:()=>""}},scales:{yAxes:[{display:!1}],xAxes:[{display:!1}]}},this.datasets=[{data:[]}],this.labels=[]}ngOnInit(){const R=new t.h(this.chartCanvasRef,this.chartTooltipRef,(j,H)=>H+j.caretX+"px",j=>j.caretY-j.height-j.yPadding-5+"px");R.customColors={backgroundColor:this.colors[0].pointBackgroundColor,borderColor:this.colors[0].pointBorderColor},this.options.tooltips.custom=j=>{R.customTooltips(j)}}ngOnChanges(T){this.datasets[0].data=T.data.currentValue,this.labels=[...Array(T.data.currentValue.length)]}}return m.\u0275fac=function(T){return new(T||m)(s.Y36(e.$))},m.\u0275cmp=s.Xpm({type:m,selectors:[["cd-sparkline"]],viewQuery:function(T,D){if(1&T&&(s.Gf(u,7),s.Gf(h,7)),2&T){let R;s.iGM(R=s.CRH())&&(D.chartCanvasRef=R.first),s.iGM(R=s.CRH())&&(D.chartTooltipRef=R.first)}},inputs:{data:"data",style:"style",isBinary:"isBinary"},features:[s.TTD],decls:6,vars:6,consts:[[1,"chart-container",3,"ngStyle"],["baseChart","",3,"labels","datasets","options","colors","chartType"],["sparkCanvas",""],[1,"chartjs-tooltip"],["sparkTooltip",""]],template:function(T,D){1&T&&(s.TgZ(0,"div",0),s._UZ(1,"canvas",1,2),s.TgZ(3,"div",3,4),s._UZ(5,"table"),s.qZA(),s.qZA()),2&T&&(s.Q6J("ngStyle",D.style),s.xp6(1),s.Q6J("labels",D.labels)("datasets",D.datasets)("options",D.options)("colors",D.colors)("chartType","line"))},directives:[a.PC,l.jh],styles:['.chart-container[_ngcontent-%COMP%]{cursor:pointer;margin:auto;overflow:visible;position:absolute}canvas[_ngcontent-%COMP%]{user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-family:"Helvetica Neue","Helvetica","Arial",sans-serif!important;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%);transition:all .1s ease}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]:after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]:after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]:after{border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px;content:" ";left:50%;margin-left:-5px;position:absolute;top:100%} .chartjs-tooltip-key{display:inline-block;height:10px;margin-right:10px;width:10px}.chart-container[_ngcontent-%COMP%]{position:static!important}']}),m})()},39749:(Ge,g,o)=>{"use strict";o.d(g,{w:()=>T});var t=o(74788),e=o(24751),s=o(23815),a=o.n(s),l=o(65862),u=o(87925),h=o(12057);const _=function(D,R){return[D,R]};function m(D,R){if(1&D&&(t.TgZ(0,"span"),t._UZ(1,"i",2),t.qZA()),2&D){const j=t.oxw();t.xp6(1),t.Q6J("ngClass",t.WLB(1,_,j.icons.spinner,j.icons.spin))}}const b=["*"];let T=(()=>{class D{constructor(j){this.elRef=j,this.type="submit",this.disabled=!1,this.submitAction=new t.vpe,this.loading=!1,this.icons=l.P}ngOnInit(){this.form.statusChanges.subscribe(()=>{a().has(this.form.errors,"cdSubmitButton")&&(this.loading=!1,a().unset(this.form.errors,"cdSubmitButton"),this.form instanceof e.TO&&this.form.updateValueAndValidity())})}submit(j){this.focusButton(),this.form instanceof e.sg&&this.form.onSubmit(j),this.form.invalid?this.focusInvalid():(this.loading=!0,this.submitAction.emit())}focusButton(){this.elRef.nativeElement.offsetParent.querySelector(`button[type="${this.type}"]`).focus()}focusInvalid(){const j=this.elRef.nativeElement.offsetParent.querySelector("input.ng-invalid, select.ng-invalid");j&&j.focus()}}return D.\u0275fac=function(j){return new(j||D)(t.Y36(t.SBq))},D.\u0275cmp=t.Xpm({type:D,selectors:[["cd-submit-button"]],inputs:{form:"form",type:"type",disabled:"disabled",btnClass:"btnClass"},outputs:{submitAction:"submitAction"},ngContentSelectors:b,decls:3,vars:4,consts:[[1,"btn","btn-accent","tc_submitButton",3,"type","ngClass","disabled","click"],[4,"ngIf"],[3,"ngClass"]],template:function(j,H){1&j&&(t.F$t(),t.TgZ(0,"button",0),t.NdJ("click",function(U){return H.submit(U)}),t.Hsn(1),t.YNc(2,m,2,4,"span",1),t.qZA()),2&j&&(t.Q6J("type",H.type)("ngClass",H.btnClass)("disabled",H.loading||H.disabled),t.xp6(2),t.Q6J("ngIf",H.loading))},directives:[u.o,h.mk,h.O5],styles:[""]}),D})()},60251:(Ge,g,o)=>{"use strict";o.d(g,{O:()=>_});var t=o(74788),e=o(38549),s=o(12057),a=o(47557),l=o(66369);function u(m,b){if(1&m&&(t.TgZ(0,"table"),t.TgZ(1,"tr"),t.TgZ(2,"td",4),t._uU(3,"Used:\xa0"),t.qZA(),t.TgZ(4,"td",5),t.TgZ(5,"strong"),t._uU(6),t.ALo(7,"dimlessBinary"),t.ALo(8,"dimless"),t.qZA(),t.qZA(),t.qZA(),t.TgZ(9,"tr"),t.TgZ(10,"td",4),t._uU(11,"Free:\xa0"),t.qZA(),t.TgZ(12,"td",6),t.TgZ(13,"strong"),t._uU(14),t.ALo(15,"dimlessBinary"),t.ALo(16,"dimless"),t.qZA(),t.qZA(),t.qZA(),t.qZA()),2&m){const T=t.oxw();t.xp6(6),t.hij(" ",T.isBinary?t.lcZ(7,2,T.used):t.lcZ(8,4,T.used),""),t.xp6(8),t.Oqu(T.isBinary?t.lcZ(15,6,T.total-T.used):t.lcZ(16,8,T.total-T.used))}}const h=function(m,b){return{"bg-warning":m,"bg-danger":b}};let _=(()=>{class m{constructor(){this.isBinary=!0,this.decimals=0}ngOnChanges(){this.usedPercentage=this.total>0?this.used/this.total*100:0,this.freePercentage=100-this.usedPercentage}}return m.\u0275fac=function(T){return new(T||m)},m.\u0275cmp=t.Xpm({type:m,selectors:[["cd-usage-bar"]],inputs:{total:"total",used:"used",warningThreshold:"warningThreshold",errorThreshold:"errorThreshold",isBinary:"isBinary",decimals:"decimals"},features:[t.TTD],decls:8,vars:13,consts:[["usageTooltipTpl",""],["data-placement","left",1,"progress",3,"ngbTooltip"],["role","progressbar",1,"progress-bar","bg-info",3,"ngClass"],["role","progressbar",1,"progress-bar","bg-freespace"],[1,"text-left"],[1,"text-right"],[1,"'text-right"]],template:function(T,D){if(1&T&&(t.YNc(0,u,17,10,"ng-template",null,0,t.W1O),t.TgZ(2,"div",1),t.TgZ(3,"div",2),t.TgZ(4,"span"),t._uU(5),t.ALo(6,"number"),t.qZA(),t.qZA(),t._UZ(7,"div",3),t.qZA()),2&T){const R=t.MAs(1);t.xp6(2),t.Q6J("ngbTooltip",R),t.xp6(1),t.Udp("width",D.usedPercentage+"%"),t.Q6J("ngClass",t.WLB(10,h,D.usedPercentage/100>=D.warningThreshold,D.usedPercentage/100>=D.errorThreshold)),t.xp6(2),t.hij("",t.xi3(6,7,D.usedPercentage,"1.0-"+D.decimals),"%"),t.xp6(2),t.Udp("width",D.freePercentage+"%")}},directives:[e._L,s.mk],pipes:[s.JJ,a.$,l.n],styles:[".bg-info[_ngcontent-%COMP%]{background-color:#2b99a8!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc200!important}.bg-danger[_ngcontent-%COMP%]{background-color:#ef5c55!important}.bg-freespace[_ngcontent-%COMP%]{background-color:#ced4da!important}.progress[_ngcontent-%COMP%]{height:20px;margin-bottom:0;position:relative}.progress[_ngcontent-%COMP%] div.progress-bar[_ngcontent-%COMP%]{position:static}.progress[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#000;display:block;font-weight:normal;position:absolute;width:100%}"]}),m})()},79512:(Ge,g,o)=>{"use strict";o.d(g,{$x:()=>s,MQ:()=>a,Qn:()=>l,p4:()=>u,aX:()=>h});var t=o(92340),e=o(74788);class s{}s.organization="ceph",s.projectName="Ceph Dashboard",s.license="Free software (LGPL 2.1).",s.copyright="Copyright(c) "+t.N.year+" Ceph contributors.",s.cephLogo="assets/Ceph_Logo.svg";var a=(()=>{return(_=a||(a={})).CREATE="create",_.EDIT="edit",_.UPDATE="update",_.REMOVE="remove",_.DELETE="delete",_.ADD="add",_.COPY="copy",_.CLONE="clone",_.RECREATE="recreate",_.EXPIRE="expire",_.RESTART="Restart",a;var _})(),l=(()=>{return(_=l||(l={})).CREATE="Create",_.DELETE="Delete",_.ADD="Add",_.REMOVE="Remove",_.EDIT="Edit",_.CANCEL="Cancel",_.COPY="Copy",_.CLONE="Clone",_.UPDATE="Update",_.EVICT="Evict",_.SHOW="Show",_.RECREATE="Recreate",_.EXPIRE="Expire",_.START="Start",_.STOP="Stop",_.REDEPLOY="Redeploy",_.RESTART="Restart",l;var _})();let u=(()=>{class _{constructor(){this.CREATE="Create",this.DELETE="Delete",this.ADD="Add",this.SET="Set",this.SUBMIT="Submit",this.REMOVE="Remove",this.UNSET="Unset",this.EDIT="Edit",this.UPDATE="Update",this.CANCEL="Cancel",this.PREVIEW="Preview",this.MOVE="Move",this.NEXT="Next",this.BACK="Back",this.CLONE="Clone",this.COPY="Copy",this.DEEP_SCRUB="Deep Scrub",this.DESTROY="Destroy",this.EVICT="Evict",this.FLATTEN="Flatten",this.MARK_DOWN="Mark Down",this.MARK_IN="Mark In",this.MARK_LOST="Mark Lost",this.MARK_OUT="Mark Out",this.PROTECT="Protect",this.PURGE="Purge",this.RENAME="Rename",this.RESTORE="Restore",this.REWEIGHT="Reweight",this.ROLLBACK="Rollback",this.SCRUB="Scrub",this.SHOW="Show",this.TRASH="Move to Trash",this.UNPROTECT="Unprotect",this.CHANGE="Change",this.FLAGS="Flags",this.ENTER_MAINTENANCE="Enter Maintenance",this.EXIT_MAINTENANCE="Exit Maintenance",this.START_DRAIN="Start Drain",this.STOP_DRAIN="Stop Drain",this.RECREATE="Recreate",this.EXPIRE="Expire",this.START="Start",this.STOP="Stop",this.REDEPLOY="Redeploy",this.RESTART="Restart"}}return _.\u0275fac=function(b){return new(b||_)},_.\u0275prov=e.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_})(),h=(()=>{class _{constructor(){this.CREATED="Created",this.DELETED="Deleted",this.ADDED="Added",this.REMOVED="Removed",this.EDITED="Edited",this.CANCELED="Canceled",this.PREVIEWED="Previewed",this.MOVED="Moved",this.CLONED="Cloned",this.COPIED="Copied",this.DEEP_SCRUBBED="Deep Scrubbed",this.DESTROYED="Destroyed",this.FLATTENED="Flattened",this.MARKED_DOWN="Marked Down",this.MARKED_IN="Marked In",this.MARKED_LOST="Marked Lost",this.MARKED_OUT="Marked Out",this.PROTECTED="Protected",this.PURGED="Purged",this.RENAMED="Renamed",this.RESTORED="Restored",this.REWEIGHTED="Reweighted",this.ROLLED_BACK="Rolled back",this.SCRUBBED="Scrubbed",this.SHOWED="Showed",this.TRASHED="Moved to Trash",this.UNPROTECTED="Unprotected",this.CHANGE="Change",this.RECREATED="Recreated",this.EXPIRED="Expired",this.START="Start",this.STOP="Stop",this.REDEPLOY="Redeploy",this.RESTART="Restart"}}return _.\u0275fac=function(b){return new(b||_)},_.\u0275prov=e.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_})()},2149:(Ge,g,o)=>{"use strict";o.d(g,{t:()=>b});var t=o(12057),e=o(24751),s=o(6283),a=o(38549),l=o(84051),u=o(37496),h=o(15626),_=o(85953),m=o(74788);let b=(()=>{class T{}return T.\u0275fac=function(R){return new(R||T)},T.\u0275mod=m.oAB({type:T}),T.\u0275inj=m.cJS({imports:[[t.ez,l.xD,u.b,e.u5,a.XC,a.HK,_.D,h.K,s.Bz],l.xD]}),T})()},94928:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>z});var t=o(23815),e=o.n(t),s=o(65862),a=o(74788),l=o(12057),u=o(6283),h=o(38549);const _=function(U){return{disabled:U}},m=function(U){return[U]};function b(U,M){if(1&U){const I=a.EpF();a.ynx(0),a.TgZ(1,"button",3),a.NdJ("click",function(){a.CHM(I);const B=a.oxw();return B.useClickAction(B.currentAction)}),a._UZ(2,"i",4),a.TgZ(3,"span"),a._uU(4),a.qZA(),a.qZA(),a.BQk()}if(2&U){const I=a.oxw();a.xp6(1),a.Gre("btn btn-",I.btnColor,""),a.s9C("title",I.useDisableDesc(I.currentAction)),a.Q6J("ngClass",a.VKq(9,_,I.disableSelectionAction(I.currentAction)))("routerLink",I.useRouterLink(I.currentAction))("preserveFragment",I.currentAction.preserveFragment?"":null),a.xp6(1),a.Q6J("ngClass",a.VKq(11,m,I.currentAction.icon)),a.xp6(2),a.Oqu(I.currentAction.name)}}function T(U,M){if(1&U&&(a.ynx(0),a._uU(1),a.BQk()),2&U){const I=a.oxw(2);a.xp6(1),a.hij("",I.dropDownOnly," ")}}function D(U,M){1&U&&a._UZ(0,"span",10)}const R=function(U){return[U,"action-icon"]};function j(U,M){if(1&U){const I=a.EpF();a.ynx(0),a.TgZ(1,"button",11),a.NdJ("click",function(){const ie=a.CHM(I).$implicit;return a.oxw(2).useClickAction(ie)}),a._UZ(2,"i",4),a.TgZ(3,"span"),a._uU(4),a.qZA(),a.qZA(),a.BQk()}if(2&U){const I=M.$implicit,J=a.oxw(2);a.xp6(1),a.Tol(J.toClassName(I)),a.s9C("title",J.useDisableDesc(I)),a.Q6J("routerLink",J.useRouterLink(I))("preserveFragment",I.preserveFragment?"":null)("disabled",J.disableSelectionAction(I)),a.xp6(1),a.Q6J("ngClass",a.VKq(9,R,I.icon)),a.xp6(2),a.Oqu(I.name)}}function H(U,M){if(1&U&&(a.TgZ(0,"div",5),a.TgZ(1,"button",6),a.YNc(2,T,2,1,"ng-container",1),a.YNc(3,D,1,0,"span",7),a.qZA(),a.TgZ(4,"div",8),a.YNc(5,j,5,11,"ng-container",9),a.qZA(),a.qZA()),2&U){const I=a.oxw();a.xp6(1),a.Gre("btn btn-",I.btnColor," dropdown-toggle-split"),a.xp6(1),a.Q6J("ngIf",I.dropDownOnly),a.xp6(1),a.Q6J("ngIf",!I.dropDownOnly),a.xp6(2),a.Q6J("ngForOf",I.dropDownActions)}}let z=(()=>{class U{constructor(){this.btnColor="accent",this.dropDownActions=[],this.icons=s.P}ngOnInit(){this.removeActionsWithNoPermissions(),this.onSelectionChange()}ngOnChanges(I){I.selection&&this.onSelectionChange()}onSelectionChange(){this.updateDropDownActions(),this.updateCurrentAction()}toClassName(I){return I.name.replace(/ /g,"-").replace(/[^a-z-]/gi,"").toLowerCase()}removeActionsWithNoPermissions(){if(!this.permission)return void(this.tableActions=[]);const I=Object.keys(this.permission).filter(J=>this.permission[J]);this.tableActions=this.tableActions.filter(J=>I.includes(J.permission))}updateDropDownActions(){this.dropDownActions=this.tableActions.filter(I=>I.visible?I.visible(this.selection):I)}updateCurrentAction(){if(this.dropDownOnly)return void(this.currentAction=void 0);let I=this.dropDownActions.find(J=>this.showableAction(J));!I&&this.dropDownActions.length>0&&(I=this.dropDownActions[0]),this.currentAction=I}showableAction(I){const J=I.canBePrimary,B=this.selection.hasSingleSelection,ie="create"===I.permission?!B:B;return J&&J(this.selection)||!J&&ie}useRouterLink(I){if(I.routerLink&&!this.disableSelectionAction(I))return e().isString(I.routerLink)?I.routerLink:I.routerLink()}disableSelectionAction(I){const J=I.disable;if(J)return Boolean(J(this.selection));const B=I.permission,ie=this.selection.hasSingleSelection&&this.selection.first();return Boolean(["update","delete"].includes(B)&&(!ie||ie.cdExecuting))}useClickAction(I){return!this.disableSelectionAction(I)&&I.click&&I.click()}useDisableDesc(I){if(I.disable){const J=I.disable(this.selection);return e().isString(J)?J:void 0}}}return U.\u0275fac=function(I){return new(I||U)},U.\u0275cmp=a.Xpm({type:U,selectors:[["cd-table-actions"]],inputs:{permission:"permission",selection:"selection",tableActions:"tableActions",btnColor:"btnColor",dropDownOnly:"dropDownOnly"},features:[a.TTD],decls:3,vars:2,consts:[[1,"btn-group"],[4,"ngIf"],["class","btn-group","ngbDropdown","","role","group","aria-label","Button group with nested dropdown",4,"ngIf"],["type","button","data-testid","table-action-button",3,"title","ngClass","routerLink","preserveFragment","click"],[3,"ngClass"],["ngbDropdown","","role","group","aria-label","Button group with nested dropdown",1,"btn-group"],["ngbDropdownToggle",""],["class","sr-only",4,"ngIf"],["ngbDropdownMenu","",1,"dropdown-menu"],[4,"ngFor","ngForOf"],[1,"sr-only"],["ngbDropdownItem","",3,"title","routerLink","preserveFragment","disabled","click"]],template:function(I,J){1&I&&(a.TgZ(0,"div",0),a.YNc(1,b,5,13,"ng-container",1),a.YNc(2,H,6,6,"div",2),a.qZA()),2&I&&(a.xp6(1),a.Q6J("ngIf",J.currentAction),a.xp6(1),a.Q6J("ngIf",J.dropDownActions.length>1))},directives:[l.O5,l.mk,u.rH,h.jt,h.iD,h.Vi,l.sg,h.TH],styles:["button.disabled[_ngcontent-%COMP%]{cursor:default!important;pointer-events:auto}.action-icon[_ngcontent-%COMP%]{padding-right:1.5rem}"]}),U})()},61350:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>h});var t=o(74788),e=o(23815),s=o.n(e),a=o(99466),l=o(64337),u=o(96102);let h=(()=>{class _{constructor(b){this.datePipe=b,this.autoReload=5e3,this.renderObjects=!1,this.appendParentKey=!0,this.hideEmpty=!1,this.hideKeys=[],this.columns=[],this.fetchData=new t.vpe}ngOnInit(){this.columns=[{prop:"key",flexGrow:1,cellTransformation:a.e.bold},{prop:"value",flexGrow:3}],this.customCss&&(this.columns[1].cellTransformation=a.e.classAdding),this.fetchData.observers.length>0&&this.table.fetchData.subscribe(()=>{this.fetchData.emit()}),this.useData()}ngOnChanges(){this.useData()}useData(){if(!this.data)return;let b=this.makePairs(this.data);this.hideKeys&&(b=b.filter(T=>!this.hideKeys.includes(T.key))),this.tableData=b}makePairs(b){let T=[];if(b){if(s().isArray(b))T=this.makePairsFromArray(b);else{if(!s().isObject(b))throw new Error("Wrong data format");T=this.makePairsFromObject(b)}return T=T.map(D=>(D.value=this.convertValue(D.value),D)).filter(D=>null!==D.value),s().sortBy(this.renderObjects?this.insertFlattenObjects(T):T,"key")}}makePairsFromArray(b){let T=[];const D=b[0];if(s().isArray(D)){if(2!==D.length)throw new Error(`Array contains too many elements (${D.length}). Needs to be of type [string, any][]`);T=b.map(R=>({key:R[0],value:R[1]}))}else s().isObject(D)&&(T=s().has(D,"key")&&s().has(D,"value")?[...b]:b.reduce((R,j)=>R.concat(this.makePairsFromObject(j)),T));return T}makePairsFromObject(b){return Object.keys(b).map(T=>({key:T,value:b[T]}))}insertFlattenObjects(b){return s().flattenDeep(b.map(T=>{const D=T.value,R=s().isObject(D);return!R||s().isEmpty(D)?(R&&(T.value=""),T):this.splitItemIntoItems(T)}))}splitItemIntoItems(b){return this.makePairs(b.value).map(T=>(this.appendParentKey&&(T.key=b.key+" "+T.key),T))}convertValue(b){if(s().isArray(b)){if(s().isEmpty(b)&&this.hideEmpty)return null;b=b.map(T=>s().isObject(T)?JSON.stringify(T):T).join(", ")}else if(s().isObject(b)){if(this.hideEmpty&&s().isEmpty(b)||!this.renderObjects)return null}else if(s().isString(b)){if(""===b&&this.hideEmpty)return null;this.isDate(b)&&(b=this.datePipe.transform(b)||b)}return b}isDate(b){const T="[ -:.TZ]",D="\\d{2}"+T;return b.match(new RegExp("^\\d{4}"+T+D+D+D+D+D+"\\d*Z?$"))}}return _.\u0275fac=function(b){return new(b||_)(t.Y36(u.N))},_.\u0275cmp=t.Xpm({type:_,selectors:[["cd-table-key-value"]],viewQuery:function(b,T){if(1&b&&t.Gf(l.a,7),2&b){let D;t.iGM(D=t.CRH())&&(T.table=D.first)}},inputs:{data:"data",autoReload:"autoReload",renderObjects:"renderObjects",appendParentKey:"appendParentKey",hideEmpty:"hideEmpty",hideKeys:"hideKeys",customCss:"customCss"},outputs:{fetchData:"fetchData"},features:[t.TTD],decls:2,vars:9,consts:[["columnMode","flex",3,"data","columns","toolHeader","autoReload","customCss","autoSave","header","footer","limit"],["table",""]],template:function(b,T){1&b&&t._UZ(0,"cd-table",0,1),2&b&&t.Q6J("data",T.tableData)("columns",T.columns)("toolHeader",!1)("autoReload",T.autoReload)("customCss",T.customCss)("autoSave",!1)("header",!1)("footer",!1)("limit",0)},directives:[l.a],styles:[""]}),_})()},64337:(Ge,g,o)=>{"use strict";o.d(g,{a:()=>mt});var t=o(74788),e=o(84051),s=o(23815),a=o.n(s),l=o(46797),u=o(18891),h=o(71225),_=o(99466),m=o(65862);class b{constructor(yn){this.errorConfig={resetData:!0,displayError:!0},this.error=yn}}var T=o(68774),D=o(12057),R=o(38549),j=o(24751),H=o(76446),z=o(6283),U=o(70442),M=o(66369),I=o(37496),J=o(47187),B=o(78877),ie=o(52821);const oe=["tableCellBoldTpl"],fe=["sparklineTpl"],ne=["routerLinkTpl"],he=["checkIconTpl"],ce=["perSecondTpl"],Ae=["executingTpl"],Se=["classAddingTpl"],Oe=["badgeTpl"],be=["mapTpl"],ue=["truncateTpl"],He=["rowDetailsTpl"];function $e(Tt,yn){1&Tt&&(t.TgZ(0,"div",20),t.TgZ(1,"div",21),t.Hsn(2),t.qZA(),t.qZA())}function F(Tt,yn){if(1&Tt){const et=t.EpF();t.ynx(0),t.TgZ(1,"button",36),t.NdJ("click",function(){const Qn=t.CHM(et).$implicit;return t.oxw(3).onSelectFilter(Qn),!1}),t._uU(2),t.qZA(),t.BQk()}if(2&Tt){const et=yn.$implicit;t.xp6(2),t.Oqu(et.column.name)}}const je=function(Tt){return[Tt]};function Et(Tt,yn){if(1&Tt&&t._UZ(0,"i",28),2&Tt){const et=t.oxw(4);t.Q6J("ngClass",t.VKq(1,je,et.icons.check))}}function lt(Tt,yn){if(1&Tt){const et=t.EpF();t.ynx(0),t.TgZ(1,"button",36),t.NdJ("click",function(){const Qn=t.CHM(et).$implicit,Ir=t.oxw(3);return Ir.onChangeFilter(Ir.selectedFilter,Qn),!1}),t._uU(2),t.YNc(3,Et,1,3,"i",37),t.qZA(),t.BQk()}if(2&Tt){const et=yn.$implicit,jt=t.oxw(3);t.xp6(2),t.hij(" ",et.formatted," "),t.xp6(1),t.Q6J("ngIf",void 0!==jt.selectedFilter.value&&jt.selectedFilter.value.raw===et.raw)}}const nn=function(Tt,yn){return[Tt,yn]};function St(Tt,yn){if(1&Tt&&(t.TgZ(0,"div",32),t.TgZ(1,"div",33),t.TgZ(2,"button",34),t._UZ(3,"i",28),t._uU(4),t.qZA(),t.TgZ(5,"div",29),t.YNc(6,F,3,1,"ng-container",30),t.qZA(),t.qZA(),t.TgZ(7,"div",35),t.TgZ(8,"button",34),t._uU(9),t.qZA(),t.TgZ(10,"div",29),t.YNc(11,lt,4,2,"ng-container",30),t.qZA(),t.qZA(),t.qZA()),2&Tt){const et=t.oxw(2);t.xp6(3),t.Q6J("ngClass",t.WLB(7,nn,et.icons.large,et.icons.filter)),t.xp6(1),t.hij(" ",et.selectedFilter.column.name," "),t.xp6(2),t.Q6J("ngForOf",et.columnFilters),t.xp6(2),t.ekj("disabled",0===et.selectedFilter.options.length),t.xp6(1),t.hij(" ",et.selectedFilter.value?et.selectedFilter.value.formatted:"Any"," "),t.xp6(2),t.Q6J("ngForOf",et.selectedFilter.options)}}function Ot(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",38),t.TgZ(1,"span",39),t.TgZ(2,"span",40),t._UZ(3,"i",28),t.qZA(),t.qZA(),t.TgZ(4,"input",41),t.NdJ("ngModelChange",function(hn){return t.CHM(et),t.oxw(2).search=hn})("keyup",function(){return t.CHM(et),t.oxw(2).updateFilter()}),t.qZA(),t.TgZ(5,"div",42),t.TgZ(6,"button",43),t.NdJ("click",function(){return t.CHM(et),t.oxw(2).onClearSearch()}),t._UZ(7,"i"),t.qZA(),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw(2);t.xp6(3),t.Q6J("ngClass",t.VKq(5,je,et.icons.search)),t.xp6(1),t.Q6J("ngModel",et.search),t.xp6(3),t.Gre("icon-prepend ",et.icons.destroy,"")}}function Qe(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",44),t.TgZ(1,"input",45),t.NdJ("click",function(hn){return t.CHM(et),t.oxw(2).setLimit(hn)})("keyup",function(hn){return t.CHM(et),t.oxw(2).setLimit(hn)})("blur",function(hn){return t.CHM(et),t.oxw(2).setLimit(hn)}),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw(2);t.xp6(1),t.Q6J("value",et.userConfig.limit)}}function It(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"button",36),t.NdJ("click",function(){t.CHM(et);const hn=t.oxw().$implicit;return t.oxw(2).toggleColumn(hn),!1}),t.TgZ(1,"div",47),t._UZ(2,"input",48),t.TgZ(3,"label",49),t._uU(4),t.qZA(),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw().$implicit;t.xp6(2),t.Q6J("name",et.prop)("id",et.prop)("checked",!et.isHidden),t.xp6(1),t.Q6J("for",et.prop),t.xp6(1),t.Oqu(et.name)}}function ae(Tt,yn){if(1&Tt&&(t.ynx(0),t.YNc(1,It,5,5,"button",46),t.BQk()),2&Tt){const et=yn.$implicit;t.xp6(1),t.Q6J("ngIf",""!==et.name)}}function Ie(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",50),t.TgZ(1,"button",51),t.NdJ("click",function(){return t.CHM(et),t.oxw(2).refreshBtn()}),t._UZ(2,"i",28),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw(2);t.xp6(1),t.Tol("btn btn-"+et.status.type),t.Q6J("ngbTooltip",et.status.msg),t.xp6(1),t.ekj("fa-spin",et.updating||et.loadingIndicator),t.Q6J("ngClass",t.WLB(6,nn,et.icons.large,et.icons.refresh))}}function dt(Tt,yn){if(1&Tt&&(t.TgZ(0,"div",20),t.TgZ(1,"div",21),t.Hsn(2,1),t.qZA(),t.YNc(3,St,12,10,"div",22),t.YNc(4,Ot,8,7,"div",23),t.YNc(5,Qe,2,1,"div",24),t.TgZ(6,"div",25),t.TgZ(7,"div",26),t.TgZ(8,"button",27),t._UZ(9,"i",28),t.qZA(),t.TgZ(10,"div",29),t.YNc(11,ae,2,1,"ng-container",30),t.qZA(),t.qZA(),t.qZA(),t.YNc(12,Ie,3,9,"div",31),t.qZA()),2&Tt){const et=t.oxw();t.xp6(3),t.Q6J("ngIf",0!==et.columnFilters.length),t.xp6(1),t.Q6J("ngIf",et.searchField),t.xp6(1),t.Q6J("ngIf",et.limit),t.xp6(4),t.Q6J("ngClass",t.WLB(6,nn,et.icons.large,et.icons.table)),t.xp6(2),t.Q6J("ngForOf",et.columns),t.xp6(1),t.Q6J("ngIf",et.fetchData.observers.length>0)}}function Jt(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"span",56),t.TgZ(1,"span",57),t._uU(2),t.qZA(),t.TgZ(3,"a",58),t.NdJ("click",function(){t.CHM(et);const hn=t.oxw().$implicit;return t.oxw(2).onChangeFilter(hn),!1}),t._UZ(4,"i",59),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw().$implicit,jt=t.oxw(2);t.xp6(2),t.AsE("",et.column.name,": ",et.value.formatted,""),t.xp6(2),t.Q6J("ngClass",t.VKq(3,je,jt.icons.destroy))}}function zt(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t.YNc(1,Jt,5,5,"span",55),t.qZA()),2&Tt){const et=yn.$implicit;t.xp6(1),t.Q6J("ngIf",et.value)}}function ln(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",20),t.TgZ(1,"div",52),t.YNc(2,zt,2,1,"span",30),t.TgZ(3,"a",53),t.NdJ("click",function(){return t.CHM(et),t.oxw().onClearFilters(),!1}),t.ynx(4),t.SDv(5,54),t.BQk(),t.qZA(),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw();t.xp6(2),t.Q6J("ngForOf",et.columnFilters)}}function ar(Tt,yn){1&Tt&&t.Hsn(0,2)}function Ln(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t._uU(1),t.ynx(2),t.SDv(3,64),t.BQk(),t._uU(4," / "),t.qZA()),2&Tt){const et=t.oxw().selectedCount;t.xp6(1),t.hij(" ",et," ")}}function Rn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t._uU(1),t.ynx(2),t.SDv(3,65),t.BQk(),t._uU(4," / "),t.qZA()),2&Tt){const et=t.oxw().rowCount;t.xp6(1),t.hij(" ",et," ")}}function er(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",60),t.YNc(1,Ln,5,1,"span",61),t.YNc(2,Rn,5,1,"span",61),t.TgZ(3,"span"),t._uU(4),t.ynx(5),t.SDv(6,62),t.BQk(),t.qZA(),t.qZA(),t.TgZ(7,"datatable-pager",63),t.NdJ("change",function(hn){return t.CHM(et),t.oxw(),t.MAs(5).onFooterPage(hn)}),t.qZA()}if(2&Tt){const et=yn.rowCount,jt=yn.pageSize,hn=yn.curPage,Qn=t.oxw();t.xp6(1),t.Q6J("ngIf",Qn.selectionType),t.xp6(1),t.Q6J("ngIf",et!=(null==Qn.data?null:Qn.data.length)),t.xp6(2),t.hij(" ",(null==Qn.data?null:Qn.data.length)||0," "),t.xp6(3),t.Q6J("pagerLeftArrowIcon",Qn.paginationClasses.pagerLeftArrow)("pagerRightArrowIcon",Qn.paginationClasses.pagerRightArrow)("pagerPreviousIcon",Qn.paginationClasses.pagerPrevious)("pagerNextIcon",Qn.paginationClasses.pagerNext)("page",hn)("size",jt)("count",et)("hidden",!(et/jt>1))}}function Mn(Tt,yn){if(1&Tt&&(t.TgZ(0,"strong"),t._uU(1),t.qZA()),2&Tt){const et=yn.value;t.xp6(1),t.Oqu(et)}}function Ht(Tt,yn){if(1&Tt&&t._UZ(0,"cd-sparkline",66),2&Tt){const et=yn.row;t.Q6J("data",yn.value)("isBinary",et.cdIsBinary)}}function tr(Tt,yn){if(1&Tt&&(t.TgZ(0,"a",67),t._uU(1),t.qZA()),2&Tt){const et=yn.row,jt=yn.value;t.Q6J("routerLink",t.VKq(3,je,et.cdLink))("queryParams",et.cdParams),t.xp6(1),t.Oqu(jt)}}function Yn(Tt,yn){if(1&Tt&&(t._UZ(0,"i",68),t.ALo(1,"boolean")),2&Tt){const et=yn.value,jt=t.oxw();t.Q6J("ngClass",t.VKq(4,je,jt.icons.check))("hidden",!t.lcZ(1,2,et))}}function Cn(Tt,yn){1&Tt&&(t._uU(0),t.ALo(1,"dimless")),2&Tt&&t.hij(" ",t.lcZ(1,1,yn.value)," /s\n")}function Kt(Tt,yn){if(1&Tt&&t._UZ(0,"i",28),2&Tt){const et=t.oxw(2);t.Q6J("ngClass",t.WLB(1,nn,et.icons.spinner,et.icons.spin))}}function dn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span",28),t._uU(1),t.qZA()),2&Tt){const et=t.oxw(),jt=et.column,hn=et.row;t.Q6J("ngClass",null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.executingClass?jt.customTemplateConfig.executingClass:"text-muted italic"),t.xp6(1),t.hij("(",hn.cdExecuting,")")}}function Kn(Tt,yn){if(1&Tt&&(t.YNc(0,Kt,1,4,"i",37),t.TgZ(1,"span",28),t._uU(2),t.qZA(),t.YNc(3,dn,2,2,"span",37)),2&Tt){const et=yn.column,jt=yn.row,hn=yn.value;t.Q6J("ngIf",jt.cdExecuting),t.xp6(1),t.Q6J("ngClass",null==et||null==et.customTemplateConfig?null:et.customTemplateConfig.valueClass),t.xp6(1),t.hij(" ",hn," "),t.xp6(1),t.Q6J("ngIf",jt.cdExecuting)}}function qn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t.ALo(1,"pipeFunction"),t._uU(2),t.qZA()),2&Tt){const et=yn.value,jt=t.oxw();t.Tol(t.Dn7(1,4,et,jt.useCustomClass,jt)),t.xp6(2),t.Oqu(et)}}function Sn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span",70),t._uU(1),t.qZA()),2&Tt){const et=t.oxw().$implicit,jt=t.oxw().column;t.Q6J("ngClass",null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.map&&null!=jt&&null!=jt.customTemplateConfig&&null!=jt.customTemplateConfig.map[et]&&jt.customTemplateConfig.map[et].class?jt.customTemplateConfig.map[et].class:null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.class?jt.customTemplateConfig.class:"badge-primary"),t.xp6(1),t.hij(" ",null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.map&&null!=jt&&null!=jt.customTemplateConfig&&null!=jt.customTemplateConfig.map[et]&&jt.customTemplateConfig.map[et].value?jt.customTemplateConfig.map[et].value:null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.prefix?jt.customTemplateConfig.prefix+et:et," ")}}function $n(Tt,yn){1&Tt&&(t.TgZ(0,"span"),t._uU(1,"\xa0"),t.qZA())}function En(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t.YNc(1,Sn,2,2,"span",69),t.YNc(2,$n,2,0,"span",61),t.qZA()),2&Tt){const et=yn.$implicit,jt=yn.last,hn=t.oxw().column;t.xp6(1),t.Q6J("ngIf",null!=hn&&null!=hn.customTemplateConfig&&hn.customTemplateConfig.map&&null!=hn&&null!=hn.customTemplateConfig&&null!=hn.customTemplateConfig.map[et]&&hn.customTemplateConfig.map[et].value?hn.customTemplateConfig.map[et].value:null!=hn&&null!=hn.customTemplateConfig&&hn.customTemplateConfig.prefix?hn.customTemplateConfig.prefix+et:et),t.xp6(1),t.Q6J("ngIf",!jt)}}function Fn(Tt,yn){1&Tt&&(t.YNc(0,En,3,2,"span",30),t.ALo(1,"array")),2&Tt&&t.Q6J("ngForOf",t.lcZ(1,1,yn.value))}function Dn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t._uU(1),t.ALo(2,"map"),t.qZA()),2&Tt){const et=yn.column,jt=yn.value;t.xp6(1),t.Oqu(t.xi3(2,1,jt,null==et?null:et.customTemplateConfig))}}function mn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span",71),t._uU(1),t.ALo(2,"truncate"),t.qZA()),2&Tt){const et=yn.column,jt=yn.value;t.Q6J("title",jt),t.xp6(1),t.Oqu(t.Dn7(2,2,jt,null==et||null==et.customTemplateConfig?null:et.customTemplateConfig.length,null==et||null==et.customTemplateConfig?null:et.customTemplateConfig.omission))}}function jn(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"a",72),t.NdJ("click",function(hn){const Qn=t.CHM(et),Ir=Qn.row,ht=Qn.expanded;return t.oxw().toggleExpandRow(Ir,ht,hn)}),t.qZA()}if(2&Tt){const et=yn.expanded;t.ekj("expand-collapse-icon-right",!et)("expand-collapse-icon-down",et)}}const Xt=[[["",8,"only-table-actions"]],[["",8,"table-actions"]],[["","cdTableDetail",""]]],ut=[".only-table-actions",".table-actions","[cdTableDetail]"];let mt=(()=>{class Tt{constructor(et,jt){this.ngZone=et,this.cdRef=jt,this.columnMode="flex",this.onlyActionHeader=!1,this.toolHeader=!0,this.searchField=!0,this.header=!0,this.footer=!0,this.limit=10,this.hasDetails=!1,this.autoReload=5e3,this.identifier="id",this.forceIdentifier=!1,this.selectionType=void 0,this.updateSelectionOnRefresh="onChange",this.updateExpandedOnRefresh="onChange",this.autoSave=!0,this.searchableObjects=!1,this.extraFilterableColumns=[],this.status=new h.c,this.fetchData=new t.vpe,this.updateSelection=new t.vpe,this.setExpandedRow=new t.vpe,this.columnFiltersChanged=new t.vpe,this.selection=new T.r,this.expanded=void 0,this.icons=m.P,this.cellTemplates={},this.search="",this.rows=[],this.loadingIndicator=!0,this.paginationClasses={pagerLeftArrow:m.P.leftArrowDouble,pagerRightArrow:m.P.rightArrowDouble,pagerPrevious:m.P.leftArrow,pagerNext:m.P.rightArrow},this.userConfig={},this.localStorage=window.localStorage,this.updating=!1,this.columnFilters=[]}get columnFiltered(){return a().some(this.columnFilters,et=>void 0!==et.value)}static prepareSearch(et){return(et=et.toLowerCase().replace(/,/g,"")).match(/['"][^'"]+['"]/)&&(et=et.replace(/['"][^'"]+['"]/g,jt=>jt.replace(/(['"])([^'"]+)(['"])/g,"$2").replace(/ /g,"+"))),et.split(" ").filter(jt=>jt)}ngOnInit(){if(this.localColumns=a().clone(this.columns),this.table.element.addEventListener("mouseenter",et=>et.stopPropagation()),this._addTemplates(),!this.sorts){const et=-1!==a().findIndex(this.localColumns,["prop",this.identifier]);this.sorts=this.createSortingDefinition(et?this.identifier:this.localColumns[0].prop+""),!et&&!this.forceIdentifier&&(this.identifier=this.localColumns[0].prop+"")}this.initUserConfig(),this.localColumns.forEach(et=>{et.cellTransformation&&(et.cellTemplate=this.cellTemplates[et.cellTransformation]),et.flexGrow||(et.flexGrow=et.prop+""===this.identifier?1:2),et.resizeable||(et.resizeable=!1)}),this.initExpandCollapseColumn(),this.initCheckboxColumn(),this.filterHiddenColumns(),this.initColumnFilters(),this.updateColumnFilterOptions(),this.updateSelection.emit(new T.r),this.fetchData.observers.length>0&&(this.loadingIndicator=!0),a().isInteger(this.autoReload)&&this.autoReload>0?this.ngZone.runOutsideAngular(()=>{this.reloadSubscriber=(0,l.H)(0,this.autoReload).subscribe(()=>{this.ngZone.run(()=>this.reloadData())})}):this.autoReload?this.useData():this.reloadData()}initUserConfig(){this.autoSave&&(this.tableName=this._calculateUniqueTableName(this.localColumns),this._loadUserConfig(),this._initUserConfigAutoSave()),this.userConfig.limit||(this.userConfig.limit=this.limit),this.userConfig.sorts||(this.userConfig.sorts=this.sorts),this.userConfig.columns?this.localColumns.forEach((et,jt)=>{et.isHidden=this.userConfig.columns[jt].isHidden}):this.updateUserColumns()}_calculateUniqueTableName(et){const jt=hn=>{if(!a().isString(hn))return 0;let Qn=0;for(let Ir=0;Ir<hn.length;Ir++)Qn+=hn.charCodeAt(Ir)*Ir;return Qn};return et.reduce((hn,Qn,Ir)=>(jt(Qn.prop)+jt(Qn.name))*(Ir+1)+hn,0).toString()}_loadUserConfig(){const et=this.localStorage.getItem(this.tableName);et&&(this.userConfig=JSON.parse(et))}_initUserConfigAutoSave(){const et=new u.y(this._initUserConfigProxy.bind(this));this.saveSubscriber=et.subscribe(this._saveUserConfig.bind(this))}_initUserConfigProxy(et){this.userConfig=new Proxy(this.userConfig,{set:(jt,hn,Qn)=>(jt[hn]=Qn,et.next(jt),!0)})}_saveUserConfig(et){this.localStorage.setItem(this.tableName,JSON.stringify(et))}updateUserColumns(){this.userConfig.columns=this.localColumns.map(et=>({prop:et.prop,name:et.name,isHidden:!!et.isHidden}))}initCheckboxColumn(){"multiClick"===this.selectionType&&this.localColumns.unshift({prop:void 0,resizeable:!1,sortable:!1,draggable:!1,checkboxable:!0,canAutoResize:!1,cellClass:"cd-datatable-checkbox",width:30})}initExpandCollapseColumn(){this.hasDetails&&this.localColumns.unshift({prop:void 0,resizeable:!1,sortable:!1,draggable:!1,isHidden:!1,canAutoResize:!1,cellClass:"cd-datatable-expand-collapse",width:40,cellTemplate:this.rowDetailsTpl})}filterHiddenColumns(){this.tableColumns=this.localColumns.filter(et=>!et.isHidden)}initColumnFilters(){let et=a().filter(this.localColumns,{filterable:!0});et=[...et,...this.extraFilterableColumns],this.columnFilters=et.map(jt=>({column:jt,options:[],value:jt.filterInitValue?this.createColumnFilterOption(jt.filterInitValue,jt.pipe):void 0})),this.selectedFilter=a().first(this.columnFilters)}createColumnFilterOption(et,jt){return{raw:a().toString(et),formatted:jt?jt.transform(et):a().toString(et)}}updateColumnFilterOptions(){this.columnFilters.forEach(et=>{let jt=[];if(a().isUndefined(et.column.filterOptions)){const Qn=a().filter(a().map(this.data,et.column.prop),Ir=>a().isString(Ir)&&""!==Ir||a().isBoolean(Ir)||a().isFinite(Ir)||a().isDate(Ir));jt=a().sortedUniq(Qn.sort())}else jt=et.column.filterOptions;const hn=jt.map(Qn=>this.createColumnFilterOption(Qn,et.column.pipe));et.value&&a().isUndefined(a().find(hn,{raw:et.value.raw}))&&(et.value=void 0),et.options=hn})}onSelectFilter(et){this.selectedFilter=et}onChangeFilter(et,jt){et.value=a().isEqual(et.value,jt)?void 0:jt,this.updateFilter()}doColumnFiltering(){const et=[];let jt=[...this.data],hn=[];return this.columnFilters.forEach(Qn=>{if(void 0===Qn.value)return;et.push({name:Qn.column.name,prop:Qn.column.prop,value:Qn.value});const Ir=a().partition(jt,ht=>{const Ue=(0,e.Hg)(Qn.column.prop)(ht,Qn.column.prop);return a().isUndefined(Qn.column.filterPredicate)?`${Ue}`===Qn.value.raw:Qn.column.filterPredicate(ht,Qn.value.raw)});jt=Ir[0],hn=[...hn,...Ir[1]]}),this.columnFiltersChanged.emit({filters:et,data:jt,dataOut:hn}),a().forEach(this.selection.selected,Qn=>{void 0===a().find(jt,{[this.identifier]:Qn[this.identifier]})&&(this.selection=new T.r,this.onSelect(this.selection))}),jt}ngOnDestroy(){this.reloadSubscriber&&this.reloadSubscriber.unsubscribe(),this.saveSubscriber&&this.saveSubscriber.unsubscribe()}ngAfterContentChecked(){this.table&&this.table.element.clientWidth!==this.currentWidth&&(this.currentWidth=this.table.element.clientWidth,this.table.recalculate(),a().get(this.table,"cd").markForCheck())}_addTemplates(){this.cellTemplates.bold=this.tableCellBoldTpl,this.cellTemplates.checkIcon=this.checkIconTpl,this.cellTemplates.sparkline=this.sparklineTpl,this.cellTemplates.routerLink=this.routerLinkTpl,this.cellTemplates.perSecond=this.perSecondTpl,this.cellTemplates.executing=this.executingTpl,this.cellTemplates.classAdding=this.classAddingTpl,this.cellTemplates.badge=this.badgeTpl,this.cellTemplates.map=this.mapTpl,this.cellTemplates.truncate=this.truncateTpl}useCustomClass(et){if(!this.customCss)throw new Error("Custom classes are not set!");const jt=Object.keys(this.customCss),hn=Object.values(this.customCss).map((Qn,Ir)=>(a().isFunction(Qn)&&Qn(et)||Qn===et)&&jt[Ir]).filter(Qn=>Qn).join(" ");return a().isEmpty(hn)?void 0:hn}ngOnChanges(et){et.data&&et.data.currentValue&&this.useData()}setLimit(et){const jt=parseInt(et.target.value,10);jt>0&&(this.userConfig.limit=jt)}reloadData(){if(!this.updating){this.status=new h.c;const et=new b(()=>{et.errorConfig.displayError&&(this.status=new h.c("danger","Failed to load data.")),et.errorConfig.resetData&&(this.data=[]),this.useData()});this.fetchData.emit(et),this.updating=!0}}refreshBtn(){this.loadingIndicator=!0,this.reloadData()}rowIdentity(){return et=>{const jt=et[this.identifier];if(a().isUndefined(jt))throw new Error(`Wrong identifier "${this.identifier}" -> "${jt}"`);return jt}}useData(){!this.data||(this.updateColumnFilterOptions(),this.updateFilter(),this.reset(),this.updateSelected(),this.updateExpanded())}reset(){this.loadingIndicator=!1,this.updating=!1}updateSelected(){if("never"===this.updateSelectionOnRefresh)return;const et=[];this.selection.selected.forEach(jt=>{for(const hn of this.data)jt[this.identifier]===hn[this.identifier]&&et.push(hn)}),("onChange"!==this.updateSelectionOnRefresh||!a().isEqual(this.selection.selected,et))&&(this.selection.selected=et,this.onSelect(this.selection))}updateExpanded(){if(a().isUndefined(this.expanded)||"never"===this.updateExpandedOnRefresh)return;const et=this.expanded[this.identifier],jt=a().find(this.data,hn=>et===hn[this.identifier]);"onChange"===this.updateExpandedOnRefresh&&a().isEqual(this.expanded,jt)||(this.expanded=jt,this.setExpandedRow.emit(jt))}onSelect(et){a().has(et,"selected")&&(this.selection.selected=et.selected),this.updateSelection.emit(a().clone(this.selection))}toggleColumn(et){const jt=et.prop,hn=!et.isHidden;hn&&1===this.tableColumns.length?et.isHidden=!0:(a().find(this.localColumns,Qn=>Qn.prop===jt).isHidden=hn,this.updateColumns())}updateColumns(){this.updateUserColumns(),this.filterHiddenColumns();const et=this.userConfig.sorts[0].prop;a().find(this.tableColumns,jt=>jt.prop===et)||(this.userConfig.sorts=this.createSortingDefinition(this.tableColumns[0].prop)),this.table.recalculate(),this.cdRef.detectChanges()}createSortingDefinition(et){return[{prop:et,dir:e.Sr.asc}]}changeSorting({sorts:et}){this.userConfig.sorts=et}onClearSearch(){this.search="",this.updateFilter()}onClearFilters(){this.columnFilters.forEach(et=>{et.value=void 0}),this.selectedFilter=a().first(this.columnFilters),this.updateFilter()}updateFilter(){let et=0!==this.columnFilters.length?this.doColumnFiltering():this.data;if(this.search.length>0&&et){const jt=this.localColumns.filter(hn=>hn.cellTransformation!==_.e.sparkline);et=this.subSearch(et,Tt.prepareSearch(this.search),jt),this.table.offset=0}this.rows=et}subSearch(et,jt,hn){if(0===jt.length||0===et.length)return et;const Qn=jt.pop().replace(/\+/g," ").split(":"),Ir=[...hn];return 2===Qn.length&&(hn=Ir.filter(ht=>-1!==ht.name.toLowerCase().indexOf(Qn[0]))),et=this.basicDataSearch(a().last(Qn),et,hn),this.subSearch(et,jt,Ir)}basicDataSearch(et,jt,hn){return 0===et.length?jt:jt.filter(Qn=>hn.filter(Ir=>{let ht=a().get(Qn,Ir.prop);if(a().isUndefined(Ir.pipe)||(ht=Ir.pipe.transform(ht)),a().isUndefined(ht)||a().isNull(ht))return!1;if(a().isArray(ht)?ht=ht.join(" "):(a().isNumber(ht)||a().isBoolean(ht))&&(ht=ht.toString()),a().isObjectLike(ht)){if(!this.searchableObjects)return!1;ht=JSON.stringify(ht)}return-1!==ht.toLowerCase().indexOf(et)}).length>0)}getRowClass(){return()=>({clickable:!a().isUndefined(this.selectionType)})}toggleExpandRow(et,jt,hn){hn.stopPropagation(),jt?(this.expanded=void 0,this.setExpandedRow.emit(void 0)):(this.expanded=et,this.table.rowDetail.collapseAllRows(),this.setExpandedRow.emit(et)),this.table.rowDetail.toggleExpandRow(et)}}return Tt.\u0275fac=function(et){return new(et||Tt)(t.Y36(t.R0b),t.Y36(t.sBO))},Tt.\u0275cmp=t.Xpm({type:Tt,selectors:[["cd-table"]],viewQuery:function(et,jt){if(1&et&&(t.Gf(e.nE,7),t.Gf(oe,7),t.Gf(fe,7),t.Gf(ne,7),t.Gf(he,7),t.Gf(ce,7),t.Gf(Ae,7),t.Gf(Se,7),t.Gf(Oe,7),t.Gf(be,7),t.Gf(ue,7),t.Gf(He,7)),2&et){let hn;t.iGM(hn=t.CRH())&&(jt.table=hn.first),t.iGM(hn=t.CRH())&&(jt.tableCellBoldTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.sparklineTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.routerLinkTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.checkIconTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.perSecondTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.executingTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.classAddingTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.badgeTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.mapTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.truncateTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.rowDetailsTpl=hn.first)}},inputs:{data:"data",columns:"columns",sorts:"sorts",columnMode:"columnMode",onlyActionHeader:"onlyActionHeader",toolHeader:"toolHeader",searchField:"searchField",header:"header",footer:"footer",limit:"limit",hasDetails:"hasDetails",autoReload:"autoReload",identifier:"identifier",forceIdentifier:"forceIdentifier",selectionType:"selectionType",updateSelectionOnRefresh:"updateSelectionOnRefresh",updateExpandedOnRefresh:"updateExpandedOnRefresh",autoSave:"autoSave",searchableObjects:"searchableObjects",customCss:"customCss",extraFilterableColumns:"extraFilterableColumns",status:"status"},outputs:{fetchData:"fetchData",updateSelection:"updateSelection",setExpandedRow:"setExpandedRow",columnFiltersChanged:"columnFiltersChanged"},features:[t.TTD],ngContentSelectors:ut,decls:33,vars:17,consts:function(){let yn,et,jt,hn,Qn;return yn="Clear filters",et="total",jt="selected",hn="found",Qn="Expand/Collapse Row",[[1,"dataTables_wrapper"],["class","dataTables_header clearfix",4,"ngIf"],[1,"bootstrap","cd-datatable",3,"cssClasses","selectionType","selected","sorts","columns","columnMode","rows","rowClass","headerHeight","footerHeight","limit","loadingIndicator","rowIdentity","rowHeight","select","sort"],["table",""],["rowHeight","auto"],["detailRow",""],["ngx-datatable-row-detail-template",""],["ngx-datatable-footer-template",""],["tableCellBoldTpl",""],["sparklineTpl",""],["routerLinkTpl",""],["checkIconTpl",""],["perSecondTpl",""],["executingTpl",""],["classAddingTpl",""],["badgeTpl",""],["mapTpl",""],["truncateTpl",""],["ngx-datatable-cell-template",""],["rowDetailsTpl",""],[1,"dataTables_header","clearfix"],[1,"cd-datatable-actions"],["class","btn-group widget-toolbar",4,"ngIf"],["class","input-group search",4,"ngIf"],["class","input-group dataTables_paginate",4,"ngIf"],[1,"widget-toolbar"],["ngbDropdown","","autoClose","outside",1,"tc_menuitem"],["ngbDropdownToggle","",1,"btn","btn-light","tc_columnBtn"],[3,"ngClass"],["ngbDropdownMenu",""],[4,"ngFor","ngForOf"],["class","widget-toolbar tc_refreshBtn",4,"ngIf"],[1,"btn-group","widget-toolbar"],["ngbDropdown","","placement","bottom-right",1,"tc_filter_name"],["ngbDropdownToggle","",1,"btn","btn-light"],["ngbDropdown","","placement","bottom-right",1,"tc_filter_option"],["ngbDropdownItem","",3,"click"],[3,"ngClass",4,"ngIf"],[1,"input-group","search"],[1,"input-group-prepend"],[1,"input-group-text"],["type","text",1,"form-control",3,"ngModel","ngModelChange","keyup"],[1,"input-group-append"],["type","button",1,"btn","btn-light",3,"click"],[1,"input-group","dataTables_paginate"],["type","number","min","1","max","9999",1,"form-control",3,"value","click","keyup","blur"],["ngbDropdownItem","",3,"click",4,"ngIf"],[1,"custom-control","custom-checkbox","py-0"],["type","checkbox",1,"custom-control-input",3,"name","id","checked"],[1,"custom-control-label",3,"for"],[1,"widget-toolbar","tc_refreshBtn"],["type","button",3,"ngbTooltip","click"],[1,"filter-chips"],["href","",1,"tc_clearSelections",3,"click"],yn,["class","badge badge-info mr-2",4,"ngIf"],[1,"badge","badge-info","mr-2"],[1,"mr-2"],[1,"badge-remove",3,"click"],["aria-hidden","true",3,"ngClass"],[1,"page-count"],[4,"ngIf"],et,[3,"pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","pagerNextIcon","page","size","count","hidden","change"],jt,hn,[3,"data","isBinary"],[3,"routerLink","queryParams"],[3,"ngClass","hidden"],["class","badge",3,"ngClass",4,"ngIf"],[1,"badge",3,"ngClass"],["data-toggle","tooltip",3,"title"],["href","javascript:void(0)","title",Qn,1,"expand-collapse-icon","tc_expand-collapse",3,"click"]]},template:function(et,jt){1&et&&(t.F$t(Xt),t.TgZ(0,"div",0),t.YNc(1,$e,3,0,"div",1),t.YNc(2,dt,13,9,"div",1),t.YNc(3,ln,6,1,"div",1),t.TgZ(4,"ngx-datatable",2,3),t.NdJ("select",function(Qn){return jt.onSelect(Qn)})("sort",function(Qn){return jt.changeSorting(Qn)}),t.TgZ(6,"ngx-datatable-row-detail",4,5),t.YNc(8,ar,1,0,"ng-template",6),t.qZA(),t.TgZ(9,"ngx-datatable-footer"),t.YNc(10,er,8,11,"ng-template",7),t.qZA(),t.qZA(),t.qZA(),t.YNc(11,Mn,2,1,"ng-template",null,8,t.W1O),t.YNc(13,Ht,1,2,"ng-template",null,9,t.W1O),t.YNc(15,tr,2,5,"ng-template",null,10,t.W1O),t.YNc(17,Yn,2,6,"ng-template",null,11,t.W1O),t.YNc(19,Cn,2,3,"ng-template",null,12,t.W1O),t.YNc(21,Kn,4,4,"ng-template",null,13,t.W1O),t.YNc(23,qn,3,8,"ng-template",null,14,t.W1O),t.YNc(25,Fn,2,3,"ng-template",null,15,t.W1O),t.YNc(27,Dn,3,4,"ng-template",null,16,t.W1O),t.YNc(29,mn,3,6,"ng-template",null,17,t.W1O),t.YNc(31,jn,1,4,"ng-template",18,19,t.W1O)),2&et&&(t.xp6(1),t.Q6J("ngIf",jt.onlyActionHeader),t.xp6(1),t.Q6J("ngIf",jt.toolHeader),t.xp6(1),t.Q6J("ngIf",jt.toolHeader&&jt.columnFiltered),t.xp6(1),t.Q6J("cssClasses",jt.paginationClasses)("selectionType",jt.selectionType)("selected",jt.selection.selected)("sorts",jt.userConfig.sorts)("columns",jt.tableColumns)("columnMode",jt.columnMode)("rows",jt.rows)("rowClass",jt.getRowClass())("headerHeight",jt.header?"auto":0)("footerHeight",jt.footer?"auto":0)("limit",jt.userConfig.limit>0?jt.userConfig.limit:void 0)("loadingIndicator",jt.loadingIndicator)("rowIdentity",jt.rowIdentity())("rowHeight","auto"))},directives:[D.O5,e.nE,e.$7,e.AR,e.dX,e.ii,e.vq,R.jt,R.iD,D.mk,R.Vi,D.sg,R.TH,j.Fj,j.JJ,j.On,R._L,e.Ke,H.l,z.yS],pipes:[U.i,M.n,I.i,J.I,B.b,ie.W],styles:['@charset "UTF-8";.dataTables_wrapper[_ngcontent-%COMP%]{margin-bottom:25px;max-width:99.9%}.dataTables_wrapper[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%]{border-left:1px solid rgba(0,0,0,.09);display:inline-block;height:30px;margin-left:5px;padding-left:5px;vertical-align:middle}.dataTables_wrapper[_ngcontent-%COMP%] .widget-toolbar[_ngcontent-%COMP%]{border-left:1px solid rgba(0,0,0,.09);float:right;padding:0 8px}.dataTables_wrapper[_ngcontent-%COMP%] .widget-toolbar[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%]{padding-left:0}.dataTables_wrapper[_ngcontent-%COMP%] .dataTables_length[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]{line-height:25px;text-align:right}.dataTables_header[_ngcontent-%COMP%]{background-color:#f8f9fa;border:1px solid #ced4da;border-bottom:0;padding:5px;position:relative}.dataTables_header[_ngcontent-%COMP%] .cd-datatable-actions[_ngcontent-%COMP%]{float:left}.dataTables_header[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{padding-left:8px}.dataTables_header[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%]{border-left:1px solid rgba(0,0,0,.09);float:right;max-width:250px;padding-left:8px;padding-right:8px;width:40%}.dataTables_header[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]{height:30px}.dataTables_header[_ngcontent-%COMP%] .input-group.dataTables_paginate[_ngcontent-%COMP%]{min-width:85px;padding-right:8px;width:8%}.dataTables_header[_ngcontent-%COMP%] .filter-chips[_ngcontent-%COMP%]{float:right;padding:0 8px}.dataTables_header[_ngcontent-%COMP%] .filter-chips[_ngcontent-%COMP%] .badge-remove[_ngcontent-%COMP%]{color:#fff} cd-table .cd-datatable{border:1px solid #ced4da;margin-bottom:0;max-width:none!important} cd-table .cd-datatable .progress-linear{display:block;height:5px;margin:0;padding:0;position:relative;width:100%} cd-table .cd-datatable .progress-linear .container{background-color:#2b99a8} cd-table .cd-datatable .progress-linear .container .bar{background-color:#2b99a8;height:100%;left:0;overflow:hidden;position:absolute;width:100%} cd-table .cd-datatable .progress-linear .container .bar:before{animation:progress-loading 3s linear infinite;background-color:#2b99a8;content:"";display:block;height:100%;left:-200px;position:absolute;width:200px} cd-table .cd-datatable .datatable-header{background-clip:padding-box;background-color:#f8f9fa;background-image:linear-gradient(to bottom,#f8f9fa 0,#e9ecef 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#fffafafa",endColorstr="#ffededed",GradientType=0)} cd-table .cd-datatable .datatable-header .sort-asc, cd-table .cd-datatable .datatable-header .sort-desc{color:#2b99a8} cd-table .cd-datatable .datatable-header .datatable-header-cell{border:0;border-bottom:1px solid #ced4da;border-left:1px solid #ced4da;padding:5px;font-weight:bold;text-align:left} cd-table .cd-datatable .datatable-header .datatable-header-cell .datatable-header-cell-label:after{font-family:ForkAwesome;font-weight:400;height:9px;left:10px;line-height:12px;position:relative;vertical-align:baseline;width:12px} cd-table .cd-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-label:after{content:" \\f0dc"} cd-table .cd-datatable .datatable-header .datatable-header-cell.sortable.sort-active.sort-asc .datatable-header-cell-label:after{content:" \\f160"} cd-table .cd-datatable .datatable-header .datatable-header-cell.sortable.sort-active.sort-desc .datatable-header-cell-label:after{content:" \\f161"} cd-table .cd-datatable .datatable-header .datatable-header-cell:first-child{border-left:0} cd-table .cd-datatable .datatable-body{margin-bottom:-6px} cd-table .cd-datatable .datatable-body .empty-row{background-color:#c8ecf1;font-style:italic;font-weight:bold;padding-bottom:5px;padding-top:5px;text-align:center} cd-table .cd-datatable .datatable-body .datatable-body-row.clickable:hover .datatable-row-group{background-color:#c8ecf1;transition-duration:.3s;transition-property:background;transition-timing-function:linear} cd-table .cd-datatable .datatable-body .datatable-body-row.datatable-row-even{background-color:#fff} cd-table .cd-datatable .datatable-body .datatable-body-row.datatable-row-odd{background-color:#f8f9fa} cd-table .cd-datatable .datatable-body .datatable-body-row.active, cd-table .cd-datatable .datatable-body .datatable-body-row.active:hover{background-color:#9fdee6} cd-table .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell{border:0;border-bottom:1px solid #ced4da;border-left:1px solid #ced4da;padding:5px} cd-table .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell:first-child{border-left:0} cd-table .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell .datatable-body-cell-label{display:block;height:100%} cd-table .cd-datatable .datatable-body .datatable-row-detail{border-bottom:2px solid #ced4da;overflow-y:visible!important;padding:20px} cd-table .cd-datatable .datatable-body .expand-collapse-icon{display:block;height:100%;text-align:center} cd-table .cd-datatable .datatable-body .expand-collapse-icon:hover{text-decoration:none} cd-table .cd-datatable .datatable-body .expand-collapse-icon-right:before{color:#212529;font-family:"ForkAwesome",sans-serif;font-size:1rem;line-height:1;content:"\\f105"} cd-table .cd-datatable .datatable-body .expand-collapse-icon-down:before{color:#212529;font-family:"ForkAwesome",sans-serif;font-size:1rem;line-height:1;content:"\\f107"} cd-table .cd-datatable .datatable-footer .selected-count, cd-table .cd-datatable .datatable-footer .page-count{font-style:italic;min-height:2rem;padding-left:.3rem;padding-top:.3rem} cd-table .cd-datatable .cd-datatable-checkbox{text-align:center}@keyframes progress-loading{0%{left:-200px;width:15%}50%{width:30%}70%{width:70%}80%{left:50%}95%{left:120%}to{left:100%}}'],changeDetection:0}),Tt})()},93523:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>s,G:()=>a});var t=o(23815),e=o.n(t);function s(...h){switch(h.length){case 1:return l.apply(void 0,h);case 3:return u.apply(void 0,h);default:throw new Error}}function a(h,_,m){const b=`__ignore_${_}`;Array.isArray(h[b])?h[b].push(m):h[b]=[m]}function l(h){for(const _ of Object.getOwnPropertyNames(h.prototype)){const m=Object.getOwnPropertyDescriptor(h.prototype,_);!(m.value instanceof Function)||"constructor"===_||(u(h.prototype,_,m),Object.defineProperty(h.prototype,_,m))}}function u(h,_,m){void 0===m&&(m=Object.getOwnPropertyDescriptor(h,_));const b=m.value;m.value=function(){const T=`__ignore_${_}`,D=h[T]||[],R=[];for(let H=0;H<arguments.length;H++)R[H]=e().isString(arguments[H])&&-1===D.indexOf(H)?encodeURIComponent(arguments[H]):arguments[H];return b.apply(this,R)}}},82945:(Ge,g,o)=>{"use strict";o.d(g,{U:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{constructor(h){this.elementRef=h,this.focus=!0}ngAfterViewInit(){const h=this.elementRef.nativeElement;this.focus&&e().isFunction(h.focus)&&h.focus()}set autofocus(h){e().isBoolean(h)?this.focus=h:e().isFunction(h)&&(this.focus=h())}}return l.\u0275fac=function(h){return new(h||l)(s.Y36(s.SBq))},l.\u0275dir=s.lG2({type:l,selectors:[["","autofocus",""]],inputs:{autofocus:"autofocus"}}),l})()},17932:(Ge,g,o)=>{"use strict";o.d(g,{Q:()=>h});var t=o(74788),e=o(23815),s=o.n(e),a=o(47557),l=o(28211),u=o(24751);let h=(()=>{class _{constructor(b,T,D,R){this.elementRef=b,this.control=T,this.dimlessBinaryPipe=D,this.formatter=R,this.ngModelChange=new t.vpe,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value)}setValue(b){/^[\d.]+$/.test(b)&&(b+=this.defaultUnit||"m");const T=this.formatter.toBytes(b),D=this.round(T);this.el.value=this.dimlessBinaryPipe.transform(D),null!==T?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(b){if(null!==b&&0!==b){if(!s().isUndefined(this.minBytes)&&b<this.minBytes)return this.minBytes;if(!s().isUndefined(this.maxBytes)&&b>this.maxBytes)return this.maxBytes;if(!s().isUndefined(this.roundPower)){const T=Math.round(Math.log(b)/Math.log(this.roundPower));return Math.pow(this.roundPower,T)}}return b}onBlur(b){this.setValue(b)}}return _.\u0275fac=function(b){return new(b||_)(t.Y36(t.SBq),t.Y36(u.a5),t.Y36(a.$),t.Y36(l.H))},_.\u0275dir=t.lG2({type:_,selectors:[["","cdDimlessBinary",""]],hostBindings:function(b,T){1&b&&t.NdJ("blur",function(R){return T.onBlur(R.target.value)})},inputs:{minBytes:"minBytes",maxBytes:"maxBytes",roundPower:"roundPower",defaultUnit:"defaultUnit"},outputs:{ngModelChange:"ngModelChange"}}),_})()},35540:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>e});var t=o(74788);let e=(()=>{class s{}return s.\u0275fac=function(l){return new(l||s)},s.\u0275mod=t.oAB({type:s}),s.\u0275inj=t.cJS({imports:[[]]}),s})()},87925:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>a});var t=o(74788),e=o(84333),s=o(74937);let a=(()=>{class l{constructor(h,_,m){this.formScope=h,this.authStorageService=_,this.elementRef=m}ngAfterViewInit(){var h,_,m;this.permissions=this.authStorageService.getPermissions();const b=null===(h=this.formScope)||void 0===h?void 0:h.cdFormScope;b&&!(null===(m=null===(_=this.permissions)||void 0===_?void 0:_[b])||void 0===m?void 0:m.update)&&(this.elementRef.nativeElement.disabled=!0)}}return l.\u0275fac=function(h){return new(h||l)(t.Y36(e.T,8),t.Y36(s.j),t.Y36(t.SBq))},l.\u0275dir=t.lG2({type:l,selectors:[["input",3,"cdNoFormInputDisable",""],["select",3,"cdNoFormInputDisable",""],["button",3,"cdNoFormInputDisable",""],["","cdFormInputDisable",""]]}),l})()},63622:(Ge,g,o)=>{"use strict";o.d(g,{y:()=>l});var t=o(34501),e=o(8958),s=o(93614),a=o(74788);let l=(()=>{class u{constructor(_,m,b){this.templateRef=_,this.viewContainer=m,this.componentFactoryResolver=b}set cdFormLoading(_){let m,b;switch(this.viewContainer.clear(),_){case s.Q.Loading:m=this.componentFactoryResolver.resolveComponentFactory(e.b),b=this.resolveNgContent("Loading form data..."),this.viewContainer.createComponent(m,null,null,b);break;case s.Q.Ready:this.viewContainer.createEmbeddedView(this.templateRef);break;case s.Q.Error:m=this.componentFactoryResolver.resolveComponentFactory(t.G),b=this.resolveNgContent("Form data could not be loaded."),this.viewContainer.createComponent(m,null,null,b).instance.type="error"}}resolveNgContent(_){return[[document.createTextNode(_)]]}}return u.\u0275fac=function(_){return new(_||u)(a.Y36(a.Rgc),a.Y36(a.s_b),a.Y36(a._Vd))},u.\u0275dir=a.lG2({type:u,selectors:[["","cdFormLoading",""]],inputs:{cdFormLoading:"cdFormLoading"}}),u})()},84333:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>e});var t=o(74788);let e=(()=>{class s{}return s.\u0275fac=function(l){return new(l||s)},s.\u0275dir=t.lG2({type:s,selectors:[["","cdFormScope",""]],inputs:{cdFormScope:"cdFormScope"}}),s})()},94276:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>a});var t=o(74788),e=o(24751);let a=(()=>{class l{constructor(h){this.parent=h}get validClass(){return!!this.control&&this.control.valid&&(this.control.touched||this.control.dirty)}get invalidClass(){return!!this.control&&this.control.invalid&&this.control.touched&&this.control.dirty}get path(){return function(l,u){return[...u.path,l]}(this.formControlName,this.parent)}get control(){return this.formDirective&&this.formDirective.getControl(this)}get formDirective(){return this.parent?this.parent.formDirective:null}}return l.\u0275fac=function(h){return new(h||l)(t.Y36(e.gN,13))},l.\u0275dir=t.lG2({type:l,selectors:[["",8,"form-control"],["",8,"form-check-input"],["",8,"custom-control-input"]],hostVars:4,hostBindings:function(h,_){2&h&&t.ekj("is-valid",_.validClass)("is-invalid",_.invalidClass)},inputs:{formControlName:"formControlName",formControl:"formControl"}}),l})()},56310:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>s});var t=o(24751),e=o(74788);let s=(()=>{class a{constructor(u){this.elRef=u,this.validationDisabled=!1}get hasErrors(){return this.formControlNames.some(u=>!u.valid&&u.dirty&&u.touched)&&!this.validationDisabled}get hasSuccess(){return!this.formControlNames.some(u=>!u.valid)&&this.formControlNames.some(u=>u.dirty&&u.touched)&&!this.validationDisabled}get label(){const u=this.elRef.nativeElement.querySelector("label");return u&&u.textContent?u.textContent.trim():"This field"}get isDirtyAndTouched(){return this.formControlNames.some(u=>u.dirty&&u.touched)}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(e.SBq))},a.\u0275dir=e.lG2({type:a,selectors:[["",8,"form-group"]],contentQueries:function(u,h,_){if(1&u&&e.Suo(_,t.u,4),2&u){let m;e.iGM(m=e.CRH())&&(h.formControlNames=m)}},hostVars:4,hostBindings:function(u,h){2&u&&e.ekj("has-error",h.hasErrors)("has-success",h.hasSuccess)},inputs:{validationDisabled:"validationDisabled"}}),a})()},41582:(Ge,g,o)=>{"use strict";o.d(g,{V:()=>s});var t=o(74788),e=o(24751);let s=(()=>{class a{constructor(){this.validSubmit=new t.vpe}onSubmit(){this.markAsTouchedAndDirty(this.formGroup),this.formGroup.valid&&this.validSubmit.emit(this.formGroup.value)}markAsTouchedAndDirty(u){u instanceof e.cw?Object.keys(u.controls).forEach(h=>this.markAsTouchedAndDirty(u.controls[h])):u instanceof e.Oe?u.controls.forEach(h=>this.markAsTouchedAndDirty(h)):u instanceof e.NI&&u.enabled&&(u.markAsDirty(),u.markAsTouched(),u.updateValueAndValidity())}}return a.\u0275fac=function(u){return new(u||a)},a.\u0275dir=t.lG2({type:a,selectors:[["","formGroup",""]],hostBindings:function(u,h){1&u&&t.NdJ("submit",function(){return h.onSubmit()})},inputs:{formGroup:"formGroup"},outputs:{validSubmit:"validSubmit"}}),a})()},4416:(Ge,g,o)=>{"use strict";o.d(g,{C:()=>e});var t=o(74788);let e=(()=>{class s{constructor(l,u){this.elementRef=l,this.renderer=u}ngOnInit(){this.renderer.setAttribute(this.elementRef.nativeElement,"tabindex","-1"),this.iElement=this.renderer.createElement("i"),this.renderer.addClass(this.iElement,"fa"),this.renderer.appendChild(this.elementRef.nativeElement,this.iElement),this.update()}getInputElement(){return document.getElementById(this.cdPasswordButton)}update(){const l=this.getInputElement();l&&"text"===l.type?(this.renderer.removeClass(this.iElement,"fa-eye"),this.renderer.addClass(this.iElement,"fa-eye-slash")):(this.renderer.removeClass(this.iElement,"fa-eye-slash"),this.renderer.addClass(this.iElement,"fa-eye"))}onClick(){const l=this.getInputElement();l.type="password"===l.type?"text":"password",this.update()}}return s.\u0275fac=function(l){return new(l||s)(t.Y36(t.SBq),t.Y36(t.Qsj))},s.\u0275dir=t.lG2({type:s,selectors:[["","cdPasswordButton",""]],hostBindings:function(l,u){1&l&&t.NdJ("click",function(){return u.onClick()})},inputs:{cdPasswordButton:"cdPasswordButton"}}),s})()},59376:(Ge,g,o)=>{"use strict";o.d(g,{m:()=>s});var t=o(74788),e=o(38549);let s=(()=>{class a{constructor(u){this.nav=u,this.localStorage=window.localStorage}ngOnInit(){const u=this.localStorage.getItem(`tabset_${this.cdStatefulTab}`);u&&this.nav.select(u)}onNavChange(u){this.cdStatefulTab&&u.nextId&&this.localStorage.setItem(`tabset_${this.cdStatefulTab}`,u.nextId)}}return a.\u0275fac=function(u){return new(u||a)(t.Y36(e.Pz,9))},a.\u0275dir=t.lG2({type:a,selectors:[["","cdStatefulTab",""]],hostBindings:function(u,h){1&u&&t.NdJ("navChange",function(m){return h.onNavChange(m)})},inputs:{cdStatefulTab:"cdStatefulTab"}}),a})()},99466:(Ge,g,o)=>{"use strict";o.d(g,{e:()=>t});var t=(()=>{return(e=t||(t={})).bold="bold",e.sparkline="sparkline",e.perSecond="perSecond",e.checkIcon="checkIcon",e.routerLink="routerLink",e.executing="executing",e.classAdding="classAdding",e.badge="badge",e.map="map",e.truncate="truncate",t;var e})()},65862:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>t});var t=(()=>{return(e=t||(t={})).add="fa fa-plus",e.addCircle="fa fa-plus-circle",e.minusCircle="fa fa-minus-circle",e.edit="fa fa-pencil",e.destroy="fa fa-times",e.destroyCircle="fa fa-times-circle",e.exchange="fa fa-exchange",e.copy="fa fa-copy",e.clipboard="fa fa-clipboard",e.flatten="fa fa-chain-broken",e.trash="fa fa-trash-o",e.lock="fa fa-lock",e.unlock="fa fa-unlock",e.clone="fa fa-clone",e.undo="fa fa-undo",e.search="fa fa-search",e.start="fa fa-play",e.stop="fa fa-stop",e.analyse="fa fa-stethoscope",e.deepCheck="fa fa-cog",e.reweight="fa fa-balance-scale",e.left="fa fa-arrow-left",e.right="fa fa-arrow-right",e.down="fa fa-arrow-down",e.erase="fa fa-eraser",e.user="fa fa-user",e.users="fa fa-users",e.share="fa fa-share-alt",e.key="fa fa-key-modern",e.warning="fa fa-exclamation-triangle",e.info="fa fa-info",e.infoCircle="fa fa-info-circle",e.questionCircle="fa fa-question-circle-o",e.check="fa fa-check",e.show="fa fa-eye",e.paragraph="fa fa-paragraph",e.terminal="fa fa-terminal",e.magic="fa fa-magic",e.hourglass="fa fa-hourglass-o",e.filledHourglass="fa fa-hourglass",e.table="fa fa-table",e.spinner="fa fa-spinner",e.refresh="fa fa-refresh",e.bullseye="fa fa-bullseye",e.disk="fa fa-hdd-o",e.server="fa fa-server",e.filter="fa fa-filter",e.lineChart="fa fa-line-chart",e.signOut="fa fa-sign-out",e.health="fa fa-heartbeat",e.circle="fa fa-circle",e.bell="fa fa-bell",e.tag="fa fa-tag",e.leftArrow="fa fa-angle-left",e.rightArrow="fa fa-angle-right",e.leftArrowDouble="fa fa-angle-double-left",e.rightArrowDouble="fa fa-angle-double-right",e.flag="fa fa-flag",e.clearFilters="fa fa-window-close",e.download="fa fa-download",e.upload="fa fa-upload",e.close="fa fa-times",e.json="fa fa-file-code-o",e.text="fa fa-file-text",e.wrench="fa fa-wrench",e.enter="fa fa-sign-in",e.exit="fa fa-sign-out",e.restart="fa fa-history",e.deploy="fa fa-cube",e.large="fa fa-lg",e.large2x="fa fa-2x",e.large3x="fa fa-3x",e.stack="fa fa-stack",e.stack1x="fa fa-stack-1x",e.stack2x="fa fa-stack-2x",e.pulse="fa fa-pulse",e.spin="fa fa-spin",e.inverse="fa fa-inverse",t;var e})()},18001:(Ge,g,o)=>{"use strict";o.d(g,{k:()=>t});var t=(()=>{return(e=t||(t={}))[e.error=0]="error",e[e.info=1]="info",e[e.success=2]="success",t;var e})()},91801:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>t});var t=(()=>{return(e=t||(t={}))[e.ValueOk=0]="ValueOk",e[e.ValueStale=1]="ValueStale",e[e.ValueNone=2]="ValueNone",e[e.ValueException=3]="ValueException",t;var e})()},62862:(Ge,g,o)=>{"use strict";o.d(g,{O:()=>a});var t=o(24751),e=o(95463),s=o(74788);let a=(()=>{class l extends t.qu{group(h,_=null){const m=super.group(h,_);return new e.d(m.controls,m.validator,m.asyncValidator)}}return l.\u0275fac=function(){let u;return function(_){return(u||(u=s.n5z(l)))(_||l)}}(),l.\u0275prov=s.Yz7({token:l,factory:l.\u0275fac,providedIn:"root"}),l})()},95463:(Ge,g,o)=>{"use strict";o.d(g,{d:()=>e});var t=o(24751);class e extends t.cw{constructor(a,l,u){super(a,l,u),this.controls=a}get(a){const l=this._get(a);if(!l)throw new Error(`Control '${a}' could not be found!`);return l}_get(a){return super.get(a)||Object.values(this.controls).filter(l=>l.get).map(l=>l instanceof e?l._get(a):l.get(a)).find(l=>Boolean(l))}getValue(a){return this.get(a).value}silentSet(a,l){this.get(a).setValue(l,{emitEvent:!1})}showError(a,l,u){const h=this.get(a);return(l.submitted||h.dirty)&&(u?h.hasError(u):h.invalid)}}},93614:(Ge,g,o)=>{"use strict";o.d(g,{Q:()=>t,E:()=>e});var t=(()=>{return(s=t||(t={}))[s.Loading=0]="Loading",s[s.Ready=1]="Ready",s[s.Error=2]="Error",s[s.None=3]="None",t;var s})();class e{constructor(){this.loading=t.Loading}loadingStart(){this.loading=t.Loading}loadingReady(){this.loading=t.Ready}loadingError(){this.loading=t.Error}loadingNone(){this.loading=t.None}}},77205:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>R,P:()=>D});var t=o(24751),e=o(23815),s=o.n(e),a=o(25917),l=o(46797),u=o(43190);function h(j,H){return H?(0,u.w)(()=>j,H):(0,u.w)(()=>j)}var _=o(88002),m=o(15257),b=o(47557),T=o(28211);function D(j){return null==j||0===j.length}class R{static email(H){return D(H.value)?null:t.kI.email(H)}static ip(H=0){const z=/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i,U=/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i;return t.kI.pattern(4===H?z:6===H?U:new RegExp(z.source+"|"+U.source))}static number(H=!0){return t.kI.pattern(H?/^-?[0-9]+$/i:/^[0-9]+$/i)}static decimalNumber(H=!0){return t.kI.pattern(H?/^-?[0-9]+(.[0-9]+)?$/i:/^[0-9]+(.[0-9]+)?$/i)}static sslCert(){return t.kI.pattern(/^-----BEGIN CERTIFICATE-----(\n|\r|\f)((.+)?((\n|\r|\f).+)*)(\n|\r|\f)-----END CERTIFICATE-----[\n\r\f]*$/)}static sslPrivKey(){return t.kI.pattern(/^-----BEGIN RSA PRIVATE KEY-----(\n|\r|\f)((.+)?((\n|\r|\f).+)*)(\n|\r|\f)-----END RSA PRIVATE KEY-----[\n\r\f]*$/)}static pemCert(){return t.kI.pattern(/^-----BEGIN .+-----$.+^-----END .+-----$/ms)}static requiredIf(H,z){let U=!1;return M=>(!U&&M.parent&&(Object.keys(H).forEach(J=>{M.parent.get(J).valueChanges.subscribe(()=>{M.updateValueAndValidity({emitEvent:!1})})}),U=!0),Object.keys(H).every(J=>{if(!M.parent)return!1;const B=M.parent.get(J).value,ie=H[J];if(s().isObjectLike(ie)){let oe=!1;switch(ie.op){case"empty":oe=s().isEmpty(B);break;case"!empty":oe=!s().isEmpty(B);break;case"equal":oe=B===ie.arg1;break;case"!equal":oe=B!==ie.arg1;break;case"minLength":s().isString(B)&&(oe=B.length>=ie.arg1)}return oe}return B===ie})&&(s().isFunction(z)?z.call(z,M.value):D(M.value))?{required:!0}:null)}static composeIf(H,z){let U=!1;return M=>(!U&&M.parent&&(Object.keys(H).forEach(I=>{M.parent.get(I).valueChanges.subscribe(()=>{M.updateValueAndValidity({emitEvent:!1})})}),U=!0),Object.keys(H).every(I=>M.parent&&M.parent.get(I).value===H[I])?t.kI.compose(z)(M):null)}static custom(H,z){return U=>{const M=z.call(this,U.value);return M?{[H]:M}:null}}static validateIf(H,z,U,M=[],I=[]){U=U.concat(M),H.setValidators(J=>z.call(this)?t.kI.compose(U)(J):M.length>0?t.kI.compose(M)(J):null),I.forEach(J=>{J.valueChanges.subscribe(()=>{H.updateValueAndValidity({emitEvent:!1})})})}static match(H,z){return U=>{const M=U.get(H),I=U.get(z);if(!M||!I)return null;if(M.value!==I.value)I.setErrors({match:!0});else if(I.hasError("match")){const B=I.errors;s().unset(B,"match"),I.setErrors(s().isEmpty(s().keys(B))?null:B)}return null}}static unique(H,z=null,U,M=!1){let I;return J=>J.pristine||D(J.value)?(0,a.of)(null):(I=J.value,s().isFunction(U)&&null!==U()&&""!==U()&&(I=M?`${J.value}$${U()}`:`${U()}$${J.value}`),(0,l.H)().pipe(h(H.call(z,I)),(0,_.U)(B=>B?{notUnique:!0}:null),(0,m.q)(1)))}static uuid(H=!1){const z=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;return U=>U.pristine&&U.untouched||!H&&!U.value||z.test(U.value)?null:{invalidUuid:"This is not a valid UUID"}}static binaryMin(H){return z=>{const U=new T.H,M=(new T.H).toBytes(z.value);if(H<=M)return null;const I=new b.$(U).transform(H);return{binaryMin:()=>"Size has to be at least " + I + " or more"}}}static binaryMax(H){return z=>{const U=new T.H,M=U.toBytes(z.value);if(H>=M)return null;const I=new b.$(U).transform(H);return{binaryMax:()=>"Size has to be at most " + I + " or less"}}}static passwordPolicy(H,z,U){return M=>{if(M.pristine||""===M.value)return s().isFunction(U)&&U(!0,0),(0,a.of)(null);let I;return s().isFunction(z)&&(I=z()),(0,l.H)(500).pipe(h(s().invoke(H,"validatePassword",M.value,I)),(0,_.U)(J=>(s().isFunction(U)&&U(J.valid,J.credits,J.valuation),J.valid?null:{passwordPolicy:!0})),(0,m.q)(1))}}static bucketName(){return H=>{if(H.pristine||!H.value)return(0,a.of)({required:!0});const z=[];let U;return z.push(()=>{const J=H.value;let B=!0;return(/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i.test(J)||/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i.test(J))&&(U="ipAddress",B=!1),B}),z.push(M=>s().inRange(M.length,3,64)?!!/^[0-9a-z.-]+$/.test(H.value)||(U="bucketNameInvalid",!1):(U="shouldBeInRange",!1)),z.push(M=>{const I=s().split(M,".");return s().every(I,J=>J!==s().toLower(J)||J.includes("_")?(U="containsUpperCase",!1):/^[0-9a-z-]+$/.test(J)?s().every([0,J.length-1],B=>(U="lowerCaseOrNumber",/[a-z]/.test(J[B])||s().isInteger(s().parseInt(J[B])))):(U="onlyLowerCaseAndNumbers",!1))}),s().every(z,M=>M(H.value))?(0,a.of)(null):(0,a.of)((()=>{switch(U){case"onlyLowerCaseAndNumbers":return{onlyLowerCaseAndNumbers:!0};case"shouldBeInRange":return{shouldBeInRange:!0};case"ipAddress":return{ipAddress:!0};case"containsUpperCase":return{containsUpperCase:!0};case"lowerCaseOrNumber":return{lowerCaseOrNumber:!0};default:return{bucketNameInvalid:!0}}})())}}static bucketExistence(H,z){return U=>U.pristine||!U.value?(0,a.of)({required:!0}):z.exists(U.value).pipe((0,_.U)(M=>M===H?null:{bucketNameNotAllowed:!0}))}}},61355:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>s,e:()=>a});var t=o(65862),e=o(18001);class s{constructor(u=e.k.info,h,_,m,b="Ceph"){this.type=u,this.title=h,this.message=_,this.options=m,this.application=b,this.isFinishedTask=!1,this.classes={Ceph:"ceph-icon",Prometheus:"prometheus-icon"},this.applicationClass=this.classes[this.application]}}class a extends s{constructor(u=new s){super(u.type,u.title,u.message,u.options,u.application),this.config=u,this.textClasses=["text-danger","text-info","text-success"],this.iconClasses=[t.P.warning,t.P.info,t.P.check],this.borderClasses=["border-danger","border-info","border-success"],delete this.config,this.timestamp=(new Date).toJSON(),this.iconClass=this.iconClasses[this.type],this.textClass=this.textClasses[this.type],this.borderClass=this.borderClasses[this.type],this.isFinishedTask=u.isFinishedTask}}},51907:(Ge,g,o)=>{"use strict";o.d(g,{G:()=>t});class t{constructor(s){this.pwdExpirationSpan=0,this.pwdExpirationSpan=s.user_pwd_expiration_span,this.pwdExpirationWarning1=s.user_pwd_expiration_warning_1,this.pwdExpirationWarning2=s.user_pwd_expiration_warning_2}}},68774:(Ge,g,o)=>{"use strict";o.d(g,{r:()=>t});class t{constructor(s){this._selected=[],s&&(this._selected=s),this.update()}update(){this.hasSelection=this._selected.length>0,this.hasSingleSelection=1===this._selected.length,this.hasMultiSelection=this._selected.length>1}set selected(s){this._selected=s,this.update()}get selected(){return this._selected}add(s){this._selected.push(s),this.update()}first(){return this.hasSelection?this._selected[0]:null}}},87311:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>t});class t{constructor(s,a,l,u){this.customColors={backgroundColor:void 0,borderColor:void 0},this.checkOffset=!1,this.chartEl=s.nativeElement,this.getStyleLeft=l,this.getStyleTop=u,this.tooltipEl=a.nativeElement}customTooltips(s){if(0===s.opacity)return void(this.tooltipEl.style.opacity=0);if(this.tooltipEl.classList.remove("above","below","no-transform"),this.tooltipEl.classList.add(s.yAlign?s.yAlign:"no-transform"),s.body){const u=s.title||[],h=s.body.map(b=>b.lines);let _="<thead>";u.forEach(b=>{_+="<tr><th>"+this.getTitle(b)+"</th></tr>"}),_+="</thead><tbody>",h.forEach((b,T)=>{const D=s.labelColors[T];let R="background:"+(this.customColors.backgroundColor||D.backgroundColor);R+="; border-color:"+(this.customColors.borderColor||D.borderColor),R+="; border-width: 2px",_+='<tr><td nowrap><span class="chartjs-tooltip-key" style="'+R+'"></span>'+this.getBody(b)+"</td></tr>"}),_+="</tbody>",this.tooltipEl.querySelector("table").innerHTML=_}const a=this.chartEl.offsetTop,l=this.chartEl.offsetLeft;if(this.checkOffset){const u=s.width/2;this.tooltipEl.classList.remove("transform-left"),this.tooltipEl.classList.remove("transform-right"),s.caretX-u<0?this.tooltipEl.classList.add("transform-left"):s.caretX+u>this.chartEl.width&&this.tooltipEl.classList.add("transform-right")}this.tooltipEl.style.left=this.getStyleLeft(s,l),this.tooltipEl.style.top=this.getStyleTop(s,a),this.tooltipEl.style.opacity=1,this.tooltipEl.style.fontFamily=s._fontFamily,this.tooltipEl.style.fontSize=s.fontSize,this.tooltipEl.style.fontStyle=s._fontStyle,this.tooltipEl.style.padding=s.yPadding+"px "+s.xPadding+"px"}getBody(s){return s}getTitle(s){return s}}},30633:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>t,r:()=>e});var t=(()=>{return(s=t||(t={}))[s.global=0]="global",s[s.pool=1]="pool",s[s.image=2]="image",t;var s})(),e=(()=>{return(s=e||(e={}))[s.bps=0]="bps",s[s.iops=1]="iops",s[s.milliseconds=2]="milliseconds",e;var s})()},60737:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>e});var t=o(29075);class e extends t.i{}},76111:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>e});var t=o(29075);class e extends t.i{}},19358:(Ge,g,o)=>{"use strict";o.d(g,{N:()=>t});class t{constructor(s,a,l){this.poolName=s,this.namespace=a,this.imageName=l}static fromString(s){const a=s.split("/");return new this(a[0],a.length>=3?a[1]:null,a.length>=3?a[2]:a[1])}getNameSpace(){return this.namespace?`${this.namespace}/`:""}toString(){return`${this.poolName}/${this.getNameSpace()}${this.imageName}`}toStringEncoded(){return encodeURIComponent(`${this.poolName}/${this.getNameSpace()}${this.imageName}`)}}},29075:(Ge,g,o)=>{"use strict";o.d(g,{i:()=>t});class t{constructor(s,a){this.name=s,this.metadata=a}}},47187:(Ge,g,o)=>{"use strict";o.d(g,{I:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h,_=!1){let m=h;return(!e().isArray(h)||e().isArray(h)&&_)&&(m=[h]),m}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"array",type:l,pure:!0}),l})()},68962:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>e});var t=o(74788);let e=(()=>{class s{transform(l,u="Yes",h="No"){return Boolean(l)?u:h}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"booleanText",type:s,pure:!0}),s})()},70442:(Ge,g,o)=>{"use strict";o.d(g,{i:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){let u=!1;switch(l){case!0:case 1:case"y":case"yes":case"t":case"true":case"on":case"1":u=!0}return u}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"boolean",type:s,pure:!0}),s})()},96102:(Ge,g,o)=>{"use strict";o.d(g,{N:()=>s});var t=o(74788),e=o(12057);let s=(()=>{class a{constructor(u){this.datePipe=u}transform(u){return null===u||""===u?"":this.datePipe.transform(u,"shortDate")+" "+this.datePipe.transform(u,"mediumTime")}}return a.\u0275fac=function(u){return new(u||a)(t.Y36(e.uU,16))},a.\u0275pipe=t.Yjl({name:"cdDate",type:a,pure:!0}),a})()},24310:(Ge,g,o)=>{"use strict";o.d(g,{t:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){const u=/ceph version\s+[^ ]+\s+\(.+\)\s+(.+)\s+\((.+)\)/.exec(l);return u?"dev"===u[2]?"master":u[1]:l}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"cephReleaseName",type:s,pure:!0}),s})()},58111:(Ge,g,o)=>{"use strict";o.d(g,{F:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){const u=/ceph version\s+([^ ]+)\s+\(.+\)/.exec(l);return u?u[1]:l}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"cephShortVersion",type:s,pure:!0}),s})()},20044:(Ge,g,o)=>{"use strict";o.d(g,{O:()=>s});var t=o(28211),e=o(74788);let s=(()=>{class a{constructor(u){this.formatter=u}transform(u){return this.formatter.format_number(u,1024,["B/s","kB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"])}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(t.H,16))},a.\u0275pipe=e.Yjl({name:"dimlessBinaryPerSecond",type:a,pure:!0}),a})()},47557:(Ge,g,o)=>{"use strict";o.d(g,{$:()=>s});var t=o(28211),e=o(74788);let s=(()=>{class a{constructor(u){this.formatter=u}transform(u){return this.formatter.format_number(u,1024,["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"])}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(t.H,16))},a.\u0275pipe=e.Yjl({name:"dimlessBinary",type:a,pure:!0}),a})()},66369:(Ge,g,o)=>{"use strict";o.d(g,{n:()=>s});var t=o(28211),e=o(74788);let s=(()=>{class a{constructor(u){this.formatter=u}transform(u){return this.formatter.format_number(u,1e3,["","k","M","G","T","P","E","Z","Y"])}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(t.H,16))},a.\u0275pipe=e.Yjl({name:"dimless",type:a,pure:!0}),a})()},94088:(Ge,g,o)=>{"use strict";o.d(g,{u:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){if(null===l||l<=0)return"";const u=[[`${Math.floor(l/31536e3)}`,"years"],[`${Math.floor(l%31536e3/86400)}`,"days"],[`${Math.floor(l%86400/3600)}`,"hours"],[`${Math.floor(l%3600/60)}`,"minutes"],[`${Math.floor(l%60)}`,"seconds"]];let h="";for(let _=0,m=u.length;_<m;_++)"0"!==u[_][0]&&(h+=" "+u[_][0]+" "+("1"===u[_][0]?u[_][1].substr(0,u[_][1].length-1):u[_][1]));return h.trim()||"1 second"}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"duration",type:s,pure:!1}),s})()},41039:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h){return e().isUndefined(h)||e().isNull(h)?"-":h}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"empty",type:l,pure:!0}),l})()},21766:(Ge,g,o)=>{"use strict";o.d(g,{A:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){return`${l} IOPS`}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"iops",type:s,pure:!0}),s})()},88820:(Ge,g,o)=>{"use strict";o.d(g,{V:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){switch(l){case"user:rbd":return"user:rbd (tcmu-runner)";default:return l}}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"iscsiBackstore",type:s,pure:!0}),s})()},86969:(Ge,g,o)=>{"use strict";o.d(g,{A:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){return l.join(", ")}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"join",type:s,pure:!0}),s})()},42746:(Ge,g,o)=>{"use strict";o.d(g,{e:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){return"[DBG]"===l?"debug":"[INF]"===l?"info":"[WRN]"===l?"warn":"[ERR]"===l?"err":""}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"logPriority",type:s,pure:!0}),s})()},78877:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h,_){return e().isPlainObject(_)?e().get(_,h,h):h}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"map",type:l,pure:!0}),l})()},48537:(Ge,g,o)=>{"use strict";o.d(g,{J:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){return`${l} ms`}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"milliseconds",type:s,pure:!0}),s})()},55657:(Ge,g,o)=>{"use strict";o.d(g,{g:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h,_){return""===h?e().defaultTo(_,"n/a"):h}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"notAvailable",type:l,pure:!0}),l})()},36569:(Ge,g,o)=>{"use strict";o.d(g,{f:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){const u=parseInt(l,10);return isNaN(u)?l:l+(1===Math.floor(u/10)?"th":u%10==1?"st":u%10==2?"nd":u%10==3?"rd":"th")}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"ordinal",type:s,pure:!0}),s})()},85953:(Ge,g,o)=>{"use strict";o.d(g,{D:()=>ce});var t=o(12057),e=o(47187),s=o(68962),a=o(70442),l=o(96102),u=o(24310),h=o(58111),_=o(20044),m=o(47557),b=o(66369),T=o(94088),D=o(41039),R=o(74788);let j=(()=>{class Ae{transform(Oe){return encodeURIComponent(Oe)}}return Ae.\u0275fac=function(Oe){return new(Oe||Ae)},Ae.\u0275pipe=R.Yjl({name:"encodeUri",type:Ae,pure:!0}),Ae})();var H=o(21766),z=o(88820),U=o(86969),M=o(42746),I=o(78877),J=o(48537),B=o(55657),ie=o(36569),oe=o(90068),fe=o(60793),ne=o(52821),he=o(10545);let ce=(()=>{class Ae{}return Ae.\u0275fac=function(Oe){return new(Oe||Ae)},Ae.\u0275mod=R.oAB({type:Ae}),Ae.\u0275inj=R.cJS({providers:[e.I,a.i,s.T,t.uU,h.F,u.t,m.$,_.O,b.n,oe.h,z.V,U.A,M.e,l.N,D.W,j,ie.f,H.A,J.J,B.g,he.m,T.u,I.b,ne.W,fe.A],imports:[[t.ez]]}),Ae})()},90068:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>u});var t=o(23815),e=o.n(t),s=o(16738),a=o.n(s),l=o(74788);a().updateLocale("en",{relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}});let u=(()=>{class h{transform(m,b=!0){let T;if(T=e().isNumber(m)?a().unix(m):a()(m),!T.isValid())return"";let D=T.fromNow();return b&&(D=e().upperFirst(D)),D}}return h.\u0275fac=function(m){return new(m||h)},h.\u0275pipe=l.Yjl({name:"relativeDate",type:h,pure:!1}),h})()},60793:(Ge,g,o)=>{"use strict";o.d(g,{A:()=>s});var t=o(74788),e=o(91211);let s=(()=>{class a{constructor(u){this.domSanitizer=u}transform(u){return this.domSanitizer.sanitize(t.q3G.HTML,u)}}return a.\u0275fac=function(u){return new(u||a)(t.Y36(e.H7,16))},a.\u0275pipe=t.Yjl({name:"sanitizeHtml",type:a,pure:!0}),a})()},52821:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h,_,m){return e().isString(h)?(m=e().defaultTo(m,""),e().truncate(h,{length:_,omission:m})):h}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"truncate",type:l,pure:!0}),l})()},10545:(Ge,g,o)=>{"use strict";o.d(g,{m:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h){return e().upperFirst(h)}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"upperFirst",type:l,pure:!0}),l})()},45510:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>a});var t=o(74788),e=o(6283),s=o(74937);let a=(()=>{class l{constructor(h,_){this.router=h,this.authStorageService=_}canActivate(h,_){return!!this.authStorageService.isLoggedIn()||(this.router.navigate(["/login"],{queryParams:{returnUrl:_.url}}),!1)}canActivateChild(h,_){return this.canActivate(h,_)}}return l.\u0275fac=function(h){return new(h||l)(t.LFG(e.F0),t.LFG(s.j))},l.\u0275prov=t.Yz7({token:l,factory:l.\u0275fac,providedIn:"root"}),l})()},74937:(Ge,g,o)=>{"use strict";o.d(g,{j:()=>l});var t=o(26215);class e{constructor(h=[]){["read","create","update","delete"].forEach(_=>this[_]=h.includes(_))}}class s{constructor(h){this.hosts=new e(h.hosts),this.configOpt=new e(h["config-opt"]),this.pool=new e(h.pool),this.osd=new e(h.osd),this.monitor=new e(h.monitor),this.rbdImage=new e(h["rbd-image"]),this.iscsi=new e(h.iscsi),this.rbdMirroring=new e(h["rbd-mirroring"]),this.rgw=new e(h.rgw),this.cephfs=new e(h.cephfs),this.manager=new e(h.manager),this.log=new e(h.log),this.user=new e(h.user),this.grafana=new e(h.grafana),this.prometheus=new e(h.prometheus),this.nfs=new e(h["nfs-ganesha"])}}var a=o(74788);let l=(()=>{class u{constructor(){this.isPwdDisplayedSource=new t.X(!1),this.isPwdDisplayed$=this.isPwdDisplayedSource.asObservable()}set(_,m={},b=!1,T=null,D=!1){localStorage.setItem("dashboard_username",_),localStorage.setItem("dashboard_permissions",JSON.stringify(new s(m))),localStorage.setItem("user_pwd_expiration_date",String(T)),localStorage.setItem("user_pwd_update_required",String(D)),localStorage.setItem("sso",String(b))}remove(){localStorage.removeItem("dashboard_username"),localStorage.removeItem("user_pwd_expiration_data"),localStorage.removeItem("user_pwd_update_required")}isLoggedIn(){return null!==localStorage.getItem("dashboard_username")}getUsername(){return localStorage.getItem("dashboard_username")}getPermissions(){return JSON.parse(localStorage.getItem("dashboard_permissions")||JSON.stringify(new s({})))}getPwdExpirationDate(){return Number(localStorage.getItem("user_pwd_expiration_date"))}getPwdUpdateRequired(){return"true"===localStorage.getItem("user_pwd_update_required")}isSSO(){return"true"===localStorage.getItem("sso")}}return u.\u0275fac=function(_){return new(_||u)},u.\u0275prov=a.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()},72625:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>_});var t=o(26215),e=o(45435),s=o(88002),a=o(28049),l=o(74255),u=o(74788),h=o(24310);let _=(()=>{class m{constructor(T,D){this.summaryservice=T,this.cephReleaseNamePipe=D,this.releaseDataSource=new t.X(null),this.releaseData$=this.releaseDataSource.asObservable(),this.summaryservice.subscribeOnce(R=>{const j=this.cephReleaseNamePipe.transform(R.version);this.releaseDataSource.next(j)})}urlGenerator(T,D="master"){const j=`https://docs.ceph.com/en/${"master"===D?"latest":D}/`,H="https://ceph.io/";return{iscsi:`${j}mgr/dashboard/#enabling-iscsi-management`,prometheus:`${j}mgr/dashboard/#enabling-prometheus-alerting`,"nfs-ganesha":`${j}mgr/dashboard/#configuring-nfs-ganesha-in-the-dashboard`,"rgw-nfs":`${j}radosgw/nfs`,rgw:`${j}mgr/dashboard/#enabling-the-object-gateway-management-frontend`,dashboard:`${j}mgr/dashboard`,grafana:`${j}mgr/dashboard/#enabling-the-embedding-of-grafana-dashboards`,orch:`${j}mgr/orchestrator`,pgs:`${H}pgcalc`,help:`${H}help/`,security:`${H}security/`,trademarks:`${H}legal-page/trademarks/`,"dashboard-landing-page-status":`${j}mgr/dashboard/#dashboard-landing-page-status`,"dashboard-landing-page-performance":`${j}mgr/dashboard/#dashboard-landing-page-performance`,"dashboard-landing-page-capacity":`${j}mgr/dashboard/#dashboard-landing-page-capacity`}[T]}subscribeOnce(T,D,R){return this.releaseData$.pipe((0,e.h)(j=>!!j),(0,s.U)(j=>this.urlGenerator(T,j)),(0,a.P)()).subscribe(D,R)}}return m.\u0275fac=function(T){return new(T||m)(u.LFG(l.J),u.LFG(h.t))},m.\u0275prov=u.Yz7({token:m,factory:m.\u0275fac,providedIn:"root"}),m})()},4222:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>l});var t=o(88002),e=o(26504),s=o(74788),a=o(89154);let l=(()=>{class u{constructor(_){this.featureToggles=_}canActivate(_){return this.featureToggles.get().pipe((0,t.U)(m=>{if(!1===m[_.routeConfig.path])throw new e._2;return!0}))}canActivateChild(_){return this.canActivate(_.parent)}}return u.\u0275fac=function(_){return new(_||u)(s.LFG(a.l))},u.\u0275prov=s.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()},89154:(Ge,g,o)=>{"use strict";o.d(g,{l:()=>l});var t=o(74788),e=o(58497),s=o(55358);let l=(()=>{class u{constructor(_,m){this.http=_,this.timerService=m,this.API_URL="api/feature_toggles",this.REFRESH_INTERVAL=3e4,this.featureToggleMap$=this.timerService.get(()=>this.http.get(this.API_URL),this.REFRESH_INTERVAL)}get(){return this.featureToggleMap$}}return u.\u0275fac=function(_){return new(_||u)(t.LFG(e.eN),t.LFG(s.f))},u.\u0275prov=t.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()},28211:(Ge,g,o)=>{"use strict";o.d(g,{H:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{format_number(h,_,m,b=1){if(e().isString(h)&&(h=Number(h)),!e().isNumber(h))return"-";let T=h<1?0:Math.floor(Math.log(h)/Math.log(_));T=T>=m.length?m.length-1:T;let D=e().round(h/Math.pow(_,T),b).toString();return""===D?"-":(""!==m[T]&&(D=`${D} ${m[T]}`),D)}toBytes(h,_=null){const b=["b","k","m","g","t","p","e","z","y"],T=RegExp("^(\\d+(.\\d+)?) ?(["+b.join("")+"]?(b|ib|B/s)?)?$","i").exec(h);if(null===T)return _;let D=parseFloat(T[1]);return e().isString(T[3])&&(D*=Math.pow(1024,b.indexOf(T[3].toLowerCase()[0]))),Math.round(D)}toMilliseconds(h){const m=/^\s*(\d+)\s*(ms)?\s*$/i.exec(h);return null!==m?+m[1]:0}toIops(h){const m=/^\s*(\d+)\s*(IOPS)?\s*$/i.exec(h);return null!==m?+m[1]:0}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275prov=s.Yz7({token:l,factory:l.\u0275fac,providedIn:"root"}),l})()},63285:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(74788),e=o(38549);let s=(()=>{class a{constructor(u){this.modal=u}show(u,h,_){const m=this.modal.open(u,_);return h&&Object.assign(m.componentInstance,h),m}dismissAll(){this.modal.dismissAll()}hasOpenModals(){return this.modal.hasOpenModals()}}return a.\u0275fac=function(u){return new(u||a)(t.LFG(e.FF))},a.\u0275prov=t.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},97161:(Ge,g,o)=>{"use strict";o.d(g,{g:()=>T});var t=o(23815),e=o.n(t),s=o(26215),a=o(79765),l=o(18001),u=o(61355),h=o(74788),_=o(91376),m=o(68879),b=o(96102);let T=(()=>{class D{constructor(j,H,z){this.toastr=j,this.taskMessageService=H,this.cdDatePipe=z,this.hideToasties=!1,this.dataSource=new s.X([]),this.data$=this.dataSource.asObservable(),this.sidebarSubject=new a.xQ,this.queued=[],this.KEY="cdNotifications";const U=localStorage.getItem(this.KEY);let M=[];e().isString(U)&&(M=JSON.parse(U,(I,J)=>e().isPlainObject(J)?e().assign(new u.e,J):J)),this.dataSource.next(M)}removeAll(){localStorage.removeItem(this.KEY),this.dataSource.next([])}remove(j){const H=this.dataSource.getValue();H.splice(j,1),this.dataSource.next(H),localStorage.setItem(this.KEY,JSON.stringify(H))}save(j){const H=this.dataSource.getValue();for(H.push(j),H.sort((z,U)=>z.timestamp>U.timestamp?-1:1);H.length>10;)H.pop();this.dataSource.next(H),localStorage.setItem(this.KEY,JSON.stringify(H))}show(j,H,z,U,M){return window.setTimeout(()=>{let I;I=e().isFunction(j)?j():e().isObject(j)?j:new u.T(j,H,z,U,M),this.queueToShow(I)},10)}queueToShow(j){this.cancel(this.queuedTimeoutId),this.queued.find(H=>e().isEqual(H,j))||this.queued.push(j),this.queuedTimeoutId=window.setTimeout(()=>{this.showQueued()},500)}showQueued(){this.getUnifiedTitleQueue().forEach(j=>{const H=new u.e(j);H.isFinishedTask||this.save(H),this.showToasty(H)})}getUnifiedTitleQueue(){return Object.values(this.queueShiftByTitle()).map(j=>{const H=j[0];return j.length>1&&(H.message="<ul>"+j.map(z=>`<li>${z.message}</li>`).join("")+"</ul>"),H})}queueShiftByTitle(){const j={};let H;for(;H=this.queued.shift();)j[H.title]||(j[H.title]=[]),j[H.title].push(H);return j}showToasty(j){this.hideToasties||this.toastr[["error","info","success"][j.type]]((j.message?j.message+"<br>":"")+this.renderTimeAndApplicationHtml(j),j.title,j.options)}renderTimeAndApplicationHtml(j){return`<small class="date">${this.cdDatePipe.transform(j.timestamp)}</small><i class="float-right custom-icon ${j.applicationClass}" title="${j.application}"></i>`}notifyTask(j,H=!0){const z=this.finishedTaskToNotification(j,H);return z.isFinishedTask=!0,this.show(z)}finishedTaskToNotification(j,H=!0){let z;return z=j.success&&H?new u.T(l.k.success,this.taskMessageService.getSuccessTitle(j)):new u.T(l.k.error,this.taskMessageService.getErrorTitle(j),this.taskMessageService.getErrorMessage(j)),z.isFinishedTask=!0,z}cancel(j){window.clearTimeout(j)}suspendToasties(j){this.hideToasties=j}toggleSidebar(j=!1){this.sidebarSubject.next(j)}}return D.\u0275fac=function(j){return new(j||D)(h.LFG(_._W),h.LFG(m.p),h.LFG(b.N))},D.\u0275prov=h.Yz7({token:D,factory:D.\u0275fac,providedIn:"root"}),D})()},33888:(Ge,g,o)=>{"use strict";o.d(g,{q:()=>h});var t=o(23815),e=o.n(t),s=o(88002),a=o(9837);class l{constructor(m){this.pwdPolicyEnabled=m.pwd_policy_enabled,this.pwdPolicyMinLength=m.pwd_policy_min_length,this.pwdPolicyCheckLengthEnabled=m.pwd_policy_check_length_enabled,this.pwdPolicyCheckOldpwdEnabled=m.pwd_policy_check_oldpwd_enabled,this.pwdPolicyCheckUsernameEnabled=m.pwd_policy_check_username_enabled,this.pwdPolicyCheckExclusionListEnabled=m.pwd_policy_check_exclusion_list_enabled,this.pwdPolicyCheckRepetitiveCharsEnabled=m.pwd_policy_check_repetitive_chars_enabled,this.pwdPolicyCheckSequentialCharsEnabled=m.pwd_policy_check_sequential_chars_enabled,this.pwdPolicyCheckComplexityEnabled=m.pwd_policy_check_complexity_enabled}}var u=o(74788);let h=(()=>{class _{constructor(b){this.settingsService=b}getHelpText(){return this.settingsService.getStandardSettings().pipe((0,s.U)(b=>{const T=new l(b);let D=[];if(T.pwdPolicyEnabled){D.push("Required rules for passwords:");const R={pwdPolicyCheckLengthEnabled:"Must contain at least " + T.pwdPolicyMinLength + " characters",pwdPolicyCheckOldpwdEnabled:"Must not be the same as the previous one",pwdPolicyCheckUsernameEnabled:"Cannot contain the username",pwdPolicyCheckExclusionListEnabled:"Cannot contain any configured keyword",pwdPolicyCheckRepetitiveCharsEnabled:"Cannot contain any repetitive characters e.g. \"aaa\"",pwdPolicyCheckSequentialCharsEnabled:"Cannot contain any sequential characters e.g. \"abc\"",pwdPolicyCheckComplexityEnabled:"Must consist of characters from the following groups:\n * Alphabetic a-z, A-Z\n * Numbers 0-9\n * Special chars: !\"#$%& '()*+,-./:;<=>?@[\\]^_`{{|}}~\n * Any other characters (signs)"};D=D.concat(e().keys(R).filter(j=>e().get(T,j)).map(j=>"- "+e().get(R,j)))}return D.join("\n")}))}mapCreditsToCssClass(b){let T="very-strong";return b<10?T="too-weak":b<15?T="weak":b<20?T="ok":b<25&&(T="strong"),T}}return _.\u0275fac=function(b){return new(b||_)(u.LFG(a.g))},_.\u0275prov=u.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_})()},34089:(Ge,g,o)=>{"use strict";o.d(g,{n:()=>s});var t=o(30633),e=o(74788);let s=(()=>{class a{constructor(){this.sections=[{heading:"Quality of Service",class:"quality-of-service",options:[{name:"rbd_qos_bps_limit",displayName:"BPS Limit",description:"The desired limit of IO bytes per second.",type:t.r.bps},{name:"rbd_qos_iops_limit",displayName:"IOPS Limit",description:"The desired limit of IO operations per second.",type:t.r.iops},{name:"rbd_qos_read_bps_limit",displayName:"Read BPS Limit",description:"The desired limit of read bytes per second.",type:t.r.bps},{name:"rbd_qos_read_iops_limit",displayName:"Read IOPS Limit",description:"The desired limit of read operations per second.",type:t.r.iops},{name:"rbd_qos_write_bps_limit",displayName:"Write BPS Limit",description:"The desired limit of write bytes per second.",type:t.r.bps},{name:"rbd_qos_write_iops_limit",displayName:"Write IOPS Limit",description:"The desired limit of write operations per second.",type:t.r.iops},{name:"rbd_qos_bps_burst",displayName:"BPS Burst",description:"The desired burst limit of IO bytes.",type:t.r.bps},{name:"rbd_qos_iops_burst",displayName:"IOPS Burst",description:"The desired burst limit of IO operations.",type:t.r.iops},{name:"rbd_qos_read_bps_burst",displayName:"Read BPS Burst",description:"The desired burst limit of read bytes.",type:t.r.bps},{name:"rbd_qos_read_iops_burst",displayName:"Read IOPS Burst",description:"The desired burst limit of read operations.",type:t.r.iops},{name:"rbd_qos_write_bps_burst",displayName:"Write BPS Burst",description:"The desired burst limit of write bytes.",type:t.r.bps},{name:"rbd_qos_write_iops_burst",displayName:"Write IOPS Burst",description:"The desired burst limit of write operations.",type:t.r.iops}]}]}static getOptionsFromSections(u){return u.map(h=>h.options).reduce((h,_)=>h.concat(_))}filterConfigOptionsByName(u){return a.getOptionsFromSections(this.sections).filter(h=>h.name===u)}getOptionValueByName(u,h,_=""){const m=this.filterConfigOptionsByName(u);return 1===m.length?m.pop()[h]:_}getWritableSections(){return this.sections.map(u=>(u.options=u.options.filter(h=>!h.readOnly),u))}getOptionFields(){return a.getOptionsFromSections(this.sections)}getWritableOptionFields(){return a.getOptionsFromSections(this.getWritableSections())}getOptionByName(u){return this.filterConfigOptionsByName(u).pop()}getDisplayName(u){return this.getOptionValueByName(u,"displayName")}getDescription(u){return this.getOptionValueByName(u,"description")}}return a.\u0275fac=function(u){return new(u||a)},a.\u0275prov=e.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},74255:(Ge,g,o)=>{"use strict";o.d(g,{J:()=>m});var t=o(23815),e=o.n(t),s=o(26215),a=o(45435),l=o(28049),u=o(74788),h=o(58497),_=o(55358);let m=(()=>{class b{constructor(D,R){this.http=D,this.timerService=R,this.REFRESH_INTERVAL=5e3,this.summaryDataSource=new s.X(null),this.summaryData$=this.summaryDataSource.asObservable()}startPolling(){return this.timerService.get(()=>this.retrieveSummaryObservable(),this.REFRESH_INTERVAL).subscribe(this.retrieveSummaryObserver())}refresh(){return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver())}retrieveSummaryObservable(){return this.http.get("api/summary")}retrieveSummaryObserver(){return D=>{this.summaryDataSource.next(D)}}subscribeOnce(D,R){return this.summaryData$.pipe((0,a.h)(j=>!!j),(0,l.P)()).subscribe(D,R)}subscribe(D,R){return this.summaryData$.pipe((0,a.h)(j=>!!j)).subscribe(D,R)}addRunningTask(D){const R=this.summaryDataSource.getValue();!R||(e().isArray(R.executing_tasks)?R.executing_tasks.find(H=>H.name===D.name&&e().isEqual(H.metadata,D.metadata))||R.executing_tasks.push(D):R.executing_tasks=[D],this.summaryDataSource.next(R))}}return b.\u0275fac=function(D){return new(D||b)(u.LFG(h.eN),u.LFG(_.f))},b.\u0275prov=u.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"}),b})()},38047:(Ge,g,o)=>{"use strict";o.d(g,{j:()=>a});var t=o(74255),e=o(74788),s=o(68879);let a=(()=>{class l{constructor(h,_){this.taskMessageService=h,this.summaryService=_}init(h,_,m,b,T,D,R){this.getUpdate=h,this.preProcessing=_,this.setList=m,this.onFetchError=b,this.taskFilter=T,this.itemFilter=D,this.builders=R||{},this.summaryDataSubscription=this.summaryService.subscribe(j=>{this.summary=j,this.fetch()},this.onFetchError)}fetch(){this.getUpdate().subscribe(h=>{this.updateData(h,this.summary.executing_tasks.filter(this.taskFilter))},this.onFetchError)}updateData(h,_){const m=this.preProcessing?this.preProcessing(h):h;this.addMissing(m,_),m.forEach(b=>{const T=_.filter(D=>this.itemFilter(b,D));b.cdExecuting=this.getTaskAction(T)}),this.setList(m)}addMissing(h,_){const m=this.builders.default;_.forEach(b=>{const T=h.find(R=>this.itemFilter(R,b)),D=this.builders[b.name];!T&&(D||m)&&h.push(D?D(b.metadata):m(b.metadata))})}getTaskAction(h){if(0!==h.length)return h.map(_=>{const m=_.progress?` ${_.progress}%`:"";return this.taskMessageService.getRunningText(_)+"..."+m}).join(", ")}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}}return l.\u0275fac=function(h){return new(h||l)(e.LFG(s.p),e.LFG(t.J))},l.\u0275prov=e.Yz7({token:l,factory:l.\u0275fac}),l})()},71099:(Ge,g,o)=>{"use strict";o.d(g,{k:()=>l});var t=o(23815),e=o.n(t),s=o(74788);class a{constructor(h,_,m){this.name=h,this.metadata=_,this.onTaskFinished=m}}let l=(()=>{class u{constructor(){this.subscriptions=[]}init(_){return _.subscribe(m=>{const b=m.executing_tasks,T=m.finished_tasks,D=[];for(const R of this.subscriptions){const j=this._getTask(R,T),H=this._getTask(R,b);null!==j&&null===H&&R.onTaskFinished(j),null!==H&&D.push(R),this.subscriptions=D}})}subscribe(_,m,b){this.subscriptions.push(new a(_,m,b))}_getTask(_,m){for(const b of m)if(b.name===_.name&&e().isEqual(b.metadata,_.metadata))return b;return null}}return u.\u0275fac=function(_){return new(_||u)},u.\u0275prov=s.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()},68879:(Ge,g,o)=>{"use strict";o.d(g,{p:()=>u});var t=(()=>{return(h=t||(t={})).auth="Login",h.cephfs="CephFS",h.rbd="RBD",h.pool="Pool",h.osd="OSD",h.role="Role",h.user="User",t;var h})(),e=o(19358),s=o(74788);class a{constructor(_,m,b){this.running=_,this.failure=m,this.success=b}}class l{constructor(_,m,b){this.operation=_,this.involves=m,this.errors=b||(()=>({}))}failure(_){return "Failed to " + this.operation.failure + " " + this.involves(_) + ""}running(_){return`${this.operation.running} ${this.involves(_)}`}success(_){return`${this.operation.success} ${this.involves(_)}`}}let u=(()=>{class h{constructor(){this.defaultMessage=this.newTaskMessage(new a("Executing","execute","Executed"),m=>m&&(t[m.component]||m.component)||"unknown task",()=>({})),this.commonOperations={create:new a("Creating","create","Created"),update:new a("Updating","update","Updated"),delete:new a("Deleting","delete","Deleted"),add:new a("Adding","add","Added"),remove:new a("Removing","remove","Removed"),import:new a("Importing","import","Imported")},this.rbd={default:m=>"RBD '" + m.image_spec + "'",create:m=>{const b=new e.N(m.pool_name,m.namespace,m.image_name).toString();return "RBD '" + b + "'"},child:m=>{const b=new e.N(m.child_pool_name,m.child_namespace,m.child_image_name).toString();return "RBD '" + b + "'"},destination:m=>{const b=new e.N(m.dest_pool_name,m.dest_namespace,m.dest_image_name).toString();return "RBD '" + b + "'"},snapshot:m=>"RBD snapshot '" + m.image_spec + "@" + m.snapshot_name + "'"},this.rbd_mirroring={site_name:()=>"mirroring site name",bootstrap:()=>"bootstrap token",pool:m=>"mirror mode for pool '" + m.pool_name + "'",pool_peer:m=>"mirror peer for pool '" + m.pool_name + "'"},this.grafana={update_dashboards:()=>"all dashboards"},this.messages={"host/add":this.newTaskMessage(this.commonOperations.add,m=>this.host(m)),"host/remove":this.newTaskMessage(this.commonOperations.remove,m=>this.host(m)),"host/identify_device":this.newTaskMessage(new a("Identifying","identify","Identified"),m=>"device '" + m.device + "' on host '" + m.hostname + "'"),"osd/create":this.newTaskMessage(this.commonOperations.create,m=>"OSDs (DriveGroups: " + m.tracking_id + ")"),"osd/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.osd(m)),"pool/create":this.newTaskMessage(this.commonOperations.create,m=>this.pool(m),m=>({17:"Name is already used by " + this.pool(m) + "."})),"pool/edit":this.newTaskMessage(this.commonOperations.update,m=>this.pool(m),m=>({17:"Name is already used by " + this.pool(m) + "."})),"pool/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.pool(m)),"ecp/create":this.newTaskMessage(this.commonOperations.create,m=>this.ecp(m),m=>({17:"Name is already used by " + this.ecp(m) + "."})),"ecp/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.ecp(m)),"crushRule/create":this.newTaskMessage(this.commonOperations.create,m=>this.crushRule(m),m=>({17:"Name is already used by " + this.crushRule(m) + "."})),"crushRule/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.crushRule(m)),"rbd/create":this.newTaskMessage(this.commonOperations.create,this.rbd.create,m=>({17:"Name is already used by " + this.rbd.create(m) + "."})),"rbd/edit":this.newTaskMessage(this.commonOperations.update,this.rbd.default,m=>({17:"Name is already used by " + this.rbd.default(m) + "."})),"rbd/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd.default,m=>({16:"" + this.rbd.default(m) + " is busy.",39:"" + this.rbd.default(m) + " contains snapshots."})),"rbd/clone":this.newTaskMessage(new a("Cloning","clone","Cloned"),this.rbd.child,m=>({17:"Name is already used by " + this.rbd.child(m) + ".",22:"Snapshot of " + this.rbd.child(m) + " must be protected."})),"rbd/copy":this.newTaskMessage(new a("Copying","copy","Copied"),this.rbd.destination,m=>({17:"Name is already used by " + this.rbd.destination(m) + "."})),"rbd/flatten":this.newTaskMessage(new a("Flattening","flatten","Flattened"),this.rbd.default),"rbd/snap/create":this.newTaskMessage(this.commonOperations.create,this.rbd.snapshot,m=>({17:"Name is already used by " + this.rbd.snapshot(m) + "."})),"rbd/snap/edit":this.newTaskMessage(this.commonOperations.update,this.rbd.snapshot,m=>({16:"Cannot unprotect " + this.rbd.snapshot(m) + " because it contains child images."})),"rbd/snap/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd.snapshot,m=>({16:"Cannot delete " + this.rbd.snapshot(m) + " because it's protected."})),"rbd/snap/rollback":this.newTaskMessage(new a("Rolling back","rollback","Rolled back"),this.rbd.snapshot),"rbd/trash/move":this.newTaskMessage(new a("Moving","move","Moved"),m=>"image '" + m.image_spec + "' to trash",()=>({2:"Could not find image."})),"rbd/trash/restore":this.newTaskMessage(new a("Restoring","restore","Restored"),m=>"image '" + m.image_id_spec + "' into '" + m.new_image_name + "'",m=>({17:"Image name '" + m.new_image_name + "' is already in use."})),"rbd/trash/remove":this.newTaskMessage(new a("Deleting","delete","Deleted"),m=>"image '" + m.image_id_spec + "'"),"rbd/trash/purge":this.newTaskMessage(new a("Purging","purge","Purged"),m=>{let b="all pools";return m.pool_name&&(b=`'${m.pool_name}'`),"images from " + b + ""}),"rbd/mirroring/site_name/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.site_name,()=>({})),"rbd/mirroring/bootstrap/create":this.newTaskMessage(this.commonOperations.create,this.rbd_mirroring.bootstrap,()=>({})),"rbd/mirroring/bootstrap/import":this.newTaskMessage(this.commonOperations.import,this.rbd_mirroring.bootstrap,()=>({})),"rbd/mirroring/pool/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.pool,()=>({16:"Cannot disable mirroring because it contains a peer."})),"rbd/mirroring/peer/add":this.newTaskMessage(this.commonOperations.create,this.rbd_mirroring.pool_peer,()=>({})),"rbd/mirroring/peer/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.pool_peer,()=>({})),"rbd/mirroring/peer/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd_mirroring.pool_peer,()=>({})),"iscsi/target/create":this.newTaskMessage(this.commonOperations.create,m=>this.iscsiTarget(m)),"iscsi/target/edit":this.newTaskMessage(this.commonOperations.update,m=>this.iscsiTarget(m)),"iscsi/target/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.iscsiTarget(m)),"nfs/create":this.newTaskMessage(this.commonOperations.create,m=>this.nfs(m)),"nfs/edit":this.newTaskMessage(this.commonOperations.update,m=>this.nfs(m)),"nfs/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.nfs(m)),"grafana/dashboards/update":this.newTaskMessage(this.commonOperations.update,this.grafana.update_dashboards,()=>({})),"service/create":this.newTaskMessage(this.commonOperations.create,m=>this.service(m)),"service/edit":this.newTaskMessage(this.commonOperations.update,m=>this.service(m)),"service/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.service(m))}}newTaskMessage(m,b,T){return new l(m,b,T)}host(m){return "host '" + m.hostname + "'"}osd(m){return "OSD '" + m.svc_id + "'"}pool(m){return "pool '" + m.pool_name + "'"}ecp(m){return "erasure code profile '" + m.name + "'"}crushRule(m){return "crush rule '" + m.name + "'"}iscsiTarget(m){return "target '" + m.target_iqn + "'"}nfs(m){return "NFS '" + m.cluster_id + ":" + (m.export_id ? m.export_id : m.path) + "'"}service(m){return "Service '" + m.service_name + "'"}_getTaskTitle(m){return m.name&&m.name.startsWith("progress/")?this.newTaskMessage(new a(m.name.replace("progress/",""),"",m.name.replace("progress/","")),b=>""):this.messages[m.name]||this.defaultMessage}getSuccessTitle(m){return this._getTaskTitle(m).success(m.metadata)}getErrorMessage(m){return this._getTaskTitle(m).errors(m.metadata)[m.exception.code]||m.exception.detail}getErrorTitle(m){return this._getTaskTitle(m).failure(m.metadata)}getRunningTitle(m){return this._getTaskTitle(m).running(m.metadata)}getRunningText(m){return this._getTaskTitle(m).operation.running}}return h.\u0275fac=function(m){return new(m||h)},h.\u0275prov=s.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"}),h})()},32337:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>b});var t=o(18891),e=o(18001),s=o(61355),a=o(60737),l=o(97161),u=o(74255),h=o(71099),_=o(74788),m=o(68879);let b=(()=>{class T{constructor(R,j,H,z){this.notificationService=R,this.summaryService=j,this.taskMessageService=H,this.taskManagerService=z}wrapTaskAroundCall({task:R,call:j}){return new t.y(H=>{j.subscribe(z=>{202===z.status?this._handleExecutingTasks(R):(this.summaryService.refresh(),R.success=!0,this.notificationService.notifyTask(R))},z=>{R.success=!1,R.exception=z.error,H.error(z)},()=>{H.complete()})})}_handleExecutingTasks(R){const j=new s.T(e.k.info,this.taskMessageService.getRunningTitle(R));j.isFinishedTask=!0,this.notificationService.show(j);const H=new a.o(R.name,R.metadata);this.summaryService.addRunningTask(H),this.taskManagerService.subscribe(H.name,H.metadata,z=>{this.notificationService.notifyTask(z)})}}return T.\u0275fac=function(R){return new(R||T)(_.LFG(l.g),_.LFG(u.J),_.LFG(m.p),_.LFG(h.k))},T.\u0275prov=_.Yz7({token:T,factory:T.\u0275fac,providedIn:"root"}),T})()},55358:(Ge,g,o)=>{"use strict";o.d(g,{f:()=>R});var t=o(46797),e=o(80226);var l=o(59746),u=o(43190),h=o(74788),_=o(33637);class m{constructor(H){this.zone=H,this.scheduler=_.z}now(){return this.scheduler.now()}}let b=(()=>{class j extends m{constructor(z){super(z)}schedule(...z){return this.zone.runOutsideAngular(()=>this.scheduler.schedule.apply(this.scheduler,z))}}return j.\u0275fac=function(z){return new(z||j)(h.LFG(h.R0b))},j.\u0275prov=h.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"}),j})(),T=(()=>{class j extends m{constructor(z){super(z)}schedule(...z){return this.zone.run(()=>this.scheduler.schedule.apply(this.scheduler,z))}}return j.\u0275fac=function(z){return new(z||j)(h.LFG(h.R0b))},j.\u0275prov=h.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"}),j})(),D=(()=>{class j{constructor(z,U){this.leave=z,this.enter=U}}return j.\u0275fac=function(z){return new(z||j)(h.LFG(b),h.LFG(T))},j.\u0275prov=h.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"}),j})(),R=(()=>{class j{constructor(z){this.ngZone=z,this.DEFAULT_REFRESH_INTERVAL=5e3,this.DEFAULT_DUE_TIME=0}get(z,U=this.DEFAULT_REFRESH_INTERVAL,M=this.DEFAULT_DUE_TIME){return(0,t.H)(M,U,this.ngZone.leave).pipe((0,l.QV)(this.ngZone.enter),(0,u.w)(z),function(j,H,z){let U;return U=j&&"object"==typeof j?j:{bufferSize:j,windowTime:H,refCount:!1,scheduler:z},M=>M.lift(function({bufferSize:j=Number.POSITIVE_INFINITY,windowTime:H=Number.POSITIVE_INFINITY,refCount:z,scheduler:U}){let M,J,I=0,B=!1,ie=!1;return function(fe){let ne;I++,!M||B?(B=!1,M=new e.t(j,H,U),ne=M.subscribe(this),J=fe.subscribe({next(he){M.next(he)},error(he){B=!0,M.error(he)},complete(){ie=!0,J=void 0,M.complete()}})):ne=M.subscribe(this),this.add(()=>{I--,ne.unsubscribe(),J&&!ie&&z&&0===I&&(J.unsubscribe(),J=void 0,M=void 0)})}}(U))}({refCount:!0,bufferSize:1}))}}return j.\u0275fac=function(z){return new(z||j)(h.LFG(D))},j.\u0275prov=h.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"}),j})()},51847:(Ge,g,o)=>{"use strict";o.d(g,{F:()=>s});var t=o(12057),e=o(79512);class s{constructor(l){this.base=l}static concatURLSegments(l){return l.reduce(t.Ye.joinWithSlash)}static buildURL(l,...u){return s.concatURLSegments([...l?["/"]:[],...u])}getURL(l,u=!0,...h){return s.buildURL(u,this.base,l,...h)}getCreate(l=!0){return this.getURL(e.MQ.CREATE,l)}getCreateFrom(l,u=!0){return this.getURL(e.MQ.CREATE,u,l)}getDelete(l=!0){return this.getURL(e.MQ.DELETE,l)}getEdit(l,u=!0){return this.getURL(e.MQ.EDIT,u,l)}getUpdate(l,u=!0){return this.getURL(e.MQ.UPDATE,u,l)}getAdd(l=!0){return this.getURL(e.MQ.ADD,l)}getRemove(l=!0){return this.getURL(e.MQ.REMOVE,l)}getRecreate(l,u=!0){return this.getURL(e.MQ.RECREATE,u,l)}}},44466:(Ge,g,o)=>{"use strict";o.d(g,{m:()=>T});var t=o(12057),e=o(99475),s=o(15626),a=o(2149),l=o(35540),u=o(85953),h=o(45510),_=o(74937),m=o(28211),b=o(74788);let T=(()=>{class D{}return D.\u0275fac=function(j){return new(j||D)},D.\u0275mod=b.oAB({type:D}),D.\u0275inj=b.cJS({providers:[_.j,h.P,m.H,e.P],imports:[[t.ez,u.D,s.K,a.t,l.o],s.K,u.D,a.t,l.o]}),D})()},92340:(Ge,g,o)=>{"use strict";o.d(g,{N:()=>t});const t={default_lang:"en-US",production:!0,year:"2022"}},18990:(Ge,g,o)=>{"use strict";var t=o(91211),e=o(74788),s=o(12057),a=o(58497),l=o(56083);function u(){return"undefined"!=typeof window&&void 0!==window.document}function h(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function _(f){switch(f.length){case 0:return new l.ZN;case 1:return f[0];default:return new l.ZE(f)}}function m(f,y,n,d,w={},re={}){const Ze=[],Lt=[];let Gt=-1,On=null;if(d.forEach(pr=>{const fr=pr.offset,ri=fr==Gt,Ii=ri&&On||{};Object.keys(pr).forEach(go=>{let co=go,zo=pr[go];if("offset"!==go)switch(co=y.normalizePropertyName(co,Ze),zo){case l.k1:zo=w[go];break;case l.l3:zo=re[go];break;default:zo=y.normalizeStyleValue(go,co,zo,Ze)}Ii[co]=zo}),ri||Lt.push(Ii),On=Ii,Gt=fr}),Ze.length){const pr="\n - ";throw new Error(`Unable to animate due to the following errors:${pr}${Ze.join(pr)}`)}return Lt}function b(f,y,n,d){switch(y){case"start":f.onStart(()=>d(n&&T(n,"start",f)));break;case"done":f.onDone(()=>d(n&&T(n,"done",f)));break;case"destroy":f.onDestroy(()=>d(n&&T(n,"destroy",f)))}}function T(f,y,n){const d=n.totalTime,re=D(f.element,f.triggerName,f.fromState,f.toState,y||f.phaseName,null==d?f.totalTime:d,!!n.disabled),Ze=f._data;return null!=Ze&&(re._data=Ze),re}function D(f,y,n,d,w="",re=0,Ze){return{element:f,triggerName:y,fromState:n,toState:d,phaseName:w,totalTime:re,disabled:!!Ze}}function R(f,y,n){let d;return f instanceof Map?(d=f.get(y),d||f.set(y,d=n)):(d=f[y],d||(d=f[y]=n)),d}function j(f){const y=f.indexOf(":");return[f.substring(1,y),f.substr(y+1)]}let H=(f,y)=>!1,U=(f,y)=>!1,I=(f,y,n)=>[];const B=h();(B||"undefined"!=typeof Element)&&(H=u()?(f,y)=>{for(;y&&y!==document.documentElement;){if(y===f)return!0;y=y.parentNode||y.host}return!1}:(f,y)=>f.contains(y),U=(()=>{if(B||Element.prototype.matches)return(f,y)=>f.matches(y);{const f=Element.prototype,y=f.matchesSelector||f.mozMatchesSelector||f.msMatchesSelector||f.oMatchesSelector||f.webkitMatchesSelector;return y?(n,d)=>y.apply(n,[d]):U}})(),I=(f,y,n)=>{let d=[];if(n){const w=f.querySelectorAll(y);for(let re=0;re<w.length;re++)d.push(w[re])}else{const w=f.querySelector(y);w&&d.push(w)}return d});let oe=null,fe=!1;function ne(f){oe||(oe=("undefined"!=typeof document?document.body:null)||{},fe=!!oe.style&&"WebkitAppearance"in oe.style);let y=!0;return oe.style&&!function(f){return"ebkit"==f.substring(1,6)}(f)&&(y=f in oe.style,!y&&fe&&(y="Webkit"+f.charAt(0).toUpperCase()+f.substr(1)in oe.style)),y}const ce=U,Ae=H,Se=I;function Oe(f){const y={};return Object.keys(f).forEach(n=>{const d=n.replace(/([a-z])([A-Z])/g,"$1-$2");y[d]=f[n]}),y}let be=(()=>{class f{validateStyleProperty(n){return ne(n)}matchesElement(n,d){return ce(n,d)}containsElement(n,d){return Ae(n,d)}query(n,d,w){return Se(n,d,w)}computeStyle(n,d,w){return w||""}animate(n,d,w,re,Ze,Lt=[],Gt){return new l.ZN(w,re)}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})(),ue=(()=>{class f{}return f.NOOP=new be,f})();const je="ng-enter",Et="ng-leave",St="ng-trigger",Ot=".ng-trigger",Qe="ng-animating",It=".ng-animating";function ae(f){if("number"==typeof f)return f;const y=f.match(/^(-?[\.\d]+)(m?s)/);return!y||y.length<2?0:Ie(parseFloat(y[1]),y[2])}function Ie(f,y){switch(y){case"s":return 1e3*f;default:return f}}function dt(f,y,n){return f.hasOwnProperty("duration")?f:function(f,y,n){let w,re=0,Ze="";if("string"==typeof f){const Lt=f.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===Lt)return y.push(`The provided timing value "${f}" is invalid.`),{duration:0,delay:0,easing:""};w=Ie(parseFloat(Lt[1]),Lt[2]);const Gt=Lt[3];null!=Gt&&(re=Ie(parseFloat(Gt),Lt[4]));const On=Lt[5];On&&(Ze=On)}else w=f;if(!n){let Lt=!1,Gt=y.length;w<0&&(y.push("Duration values below 0 are not allowed for this animation step."),Lt=!0),re<0&&(y.push("Delay values below 0 are not allowed for this animation step."),Lt=!0),Lt&&y.splice(Gt,0,`The provided timing value "${f}" is invalid.`)}return{duration:w,delay:re,easing:Ze}}(f,y,n)}function zt(f,y={}){return Object.keys(f).forEach(n=>{y[n]=f[n]}),y}function ar(f,y,n={}){if(y)for(let d in f)n[d]=f[d];else zt(f,n);return n}function Ln(f,y,n){return n?y+":"+n+";":""}function Rn(f){let y="";for(let n=0;n<f.style.length;n++){const d=f.style.item(n);y+=Ln(0,d,f.style.getPropertyValue(d))}for(const n in f.style)f.style.hasOwnProperty(n)&&!n.startsWith("_")&&(y+=Ln(0,Sn(n),f.style[n]));f.setAttribute("style",y)}function er(f,y,n){f.style&&(Object.keys(y).forEach(d=>{const w=qn(d);n&&!n.hasOwnProperty(d)&&(n[d]=f.style[w]),f.style[w]=y[d]}),h()&&Rn(f))}function Mn(f,y){f.style&&(Object.keys(y).forEach(n=>{const d=qn(n);f.style[d]=""}),h()&&Rn(f))}function Ht(f){return Array.isArray(f)?1==f.length?f[0]:(0,l.vP)(f):f}const Yn=new RegExp("{{\\s*(.+?)\\s*}}","g");function Cn(f){let y=[];if("string"==typeof f){let n;for(;n=Yn.exec(f);)y.push(n[1]);Yn.lastIndex=0}return y}function Kt(f,y,n){const d=f.toString(),w=d.replace(Yn,(re,Ze)=>{let Lt=y[Ze];return y.hasOwnProperty(Ze)||(n.push(`Please provide a value for the animation param ${Ze}`),Lt=""),Lt.toString()});return w==d?f:w}function dn(f){const y=[];let n=f.next();for(;!n.done;)y.push(n.value),n=f.next();return y}const Kn=/-+([a-z0-9])/g;function qn(f){return f.replace(Kn,(...y)=>y[1].toUpperCase())}function Sn(f){return f.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function $n(f,y){return 0===f||0===y}function En(f,y,n){const d=Object.keys(n);if(d.length&&y.length){let re=y[0],Ze=[];if(d.forEach(Lt=>{re.hasOwnProperty(Lt)||Ze.push(Lt),re[Lt]=n[Lt]}),Ze.length)for(var w=1;w<y.length;w++){let Lt=y[w];Ze.forEach(function(Gt){Lt[Gt]=Dn(f,Gt)})}}return y}function Fn(f,y,n){switch(y.type){case 7:return f.visitTrigger(y,n);case 0:return f.visitState(y,n);case 1:return f.visitTransition(y,n);case 2:return f.visitSequence(y,n);case 3:return f.visitGroup(y,n);case 4:return f.visitAnimate(y,n);case 5:return f.visitKeyframes(y,n);case 6:return f.visitStyle(y,n);case 8:return f.visitReference(y,n);case 9:return f.visitAnimateChild(y,n);case 10:return f.visitAnimateRef(y,n);case 11:return f.visitQuery(y,n);case 12:return f.visitStagger(y,n);default:throw new Error(`Unable to resolve animation metadata node #${y.type}`)}}function Dn(f,y){return window.getComputedStyle(f)[y]}function jn(f,y){const n=[];return"string"==typeof f?f.split(/\s*,\s*/).forEach(d=>function(f,y,n){if(":"==f[0]){const Gt=function(f,y){switch(f){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(n,d)=>parseFloat(d)>parseFloat(n);case":decrement":return(n,d)=>parseFloat(d)<parseFloat(n);default:return y.push(`The transition alias value "${f}" is not supported`),"* => *"}}(f,n);if("function"==typeof Gt)return void y.push(Gt);f=Gt}const d=f.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==d||d.length<4)return n.push(`The provided transition expression "${f}" is not supported`),y;const w=d[1],re=d[2],Ze=d[3];y.push(yn(w,Ze));"<"==re[0]&&!("*"==w&&"*"==Ze)&&y.push(yn(Ze,w))}(d,n,y)):n.push(f),n}const mt=new Set(["true","1"]),Tt=new Set(["false","0"]);function yn(f,y){const n=mt.has(f)||Tt.has(f),d=mt.has(y)||Tt.has(y);return(w,re)=>{let Ze="*"==f||f==w,Lt="*"==y||y==re;return!Ze&&n&&"boolean"==typeof w&&(Ze=w?mt.has(f):Tt.has(f)),!Lt&&d&&"boolean"==typeof re&&(Lt=re?mt.has(y):Tt.has(y)),Ze&&Lt}}const jt=new RegExp("s*:selfs*,?","g");function hn(f,y,n){return new Ir(f).build(y,n)}class Ir{constructor(y){this._driver=y}build(y,n){const d=new Ue(n);return this._resetContextStyleTimingState(d),Fn(this,Ht(y),d)}_resetContextStyleTimingState(y){y.currentQuerySelector="",y.collectedStyles={},y.collectedStyles[""]={},y.currentTime=0}visitTrigger(y,n){let d=n.queryCount=0,w=n.depCount=0;const re=[],Ze=[];return"@"==y.name.charAt(0)&&n.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),y.definitions.forEach(Lt=>{if(this._resetContextStyleTimingState(n),0==Lt.type){const Gt=Lt,On=Gt.name;On.toString().split(/\s*,\s*/).forEach(pr=>{Gt.name=pr,re.push(this.visitState(Gt,n))}),Gt.name=On}else if(1==Lt.type){const Gt=this.visitTransition(Lt,n);d+=Gt.queryCount,w+=Gt.depCount,Ze.push(Gt)}else n.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:y.name,states:re,transitions:Ze,queryCount:d,depCount:w,options:null}}visitState(y,n){const d=this.visitStyle(y.styles,n),w=y.options&&y.options.params||null;if(d.containsDynamicStyles){const re=new Set,Ze=w||{};if(d.styles.forEach(Lt=>{if(at(Lt)){const Gt=Lt;Object.keys(Gt).forEach(On=>{Cn(Gt[On]).forEach(pr=>{Ze.hasOwnProperty(pr)||re.add(pr)})})}}),re.size){const Lt=dn(re.values());n.errors.push(`state("${y.name}", ...) must define default values for all the following style substitutions: ${Lt.join(", ")}`)}}return{type:0,name:y.name,style:d,options:w?{params:w}:null}}visitTransition(y,n){n.queryCount=0,n.depCount=0;const d=Fn(this,Ht(y.animation),n);return{type:1,matchers:jn(y.expr,n.errors),animation:d,queryCount:n.queryCount,depCount:n.depCount,options:Pt(y.options)}}visitSequence(y,n){return{type:2,steps:y.steps.map(d=>Fn(this,d,n)),options:Pt(y.options)}}visitGroup(y,n){const d=n.currentTime;let w=0;const re=y.steps.map(Ze=>{n.currentTime=d;const Lt=Fn(this,Ze,n);return w=Math.max(w,n.currentTime),Lt});return n.currentTime=w,{type:3,steps:re,options:Pt(y.options)}}visitAnimate(y,n){const d=function(f,y){let n=null;if(f.hasOwnProperty("duration"))n=f;else if("number"==typeof f)return Ut(dt(f,y).duration,0,"");const d=f;if(d.split(/\s+/).some(re=>"{"==re.charAt(0)&&"{"==re.charAt(1))){const re=Ut(0,0,"");return re.dynamic=!0,re.strValue=d,re}return n=n||dt(d,y),Ut(n.duration,n.delay,n.easing)}(y.timings,n.errors);n.currentAnimateTimings=d;let w,re=y.styles?y.styles:(0,l.oB)({});if(5==re.type)w=this.visitKeyframes(re,n);else{let Ze=y.styles,Lt=!1;if(!Ze){Lt=!0;const On={};d.easing&&(On.easing=d.easing),Ze=(0,l.oB)(On)}n.currentTime+=d.duration+d.delay;const Gt=this.visitStyle(Ze,n);Gt.isEmptyStep=Lt,w=Gt}return n.currentAnimateTimings=null,{type:4,timings:d,style:w,options:null}}visitStyle(y,n){const d=this._makeStyleAst(y,n);return this._validateStyleAst(d,n),d}_makeStyleAst(y,n){const d=[];Array.isArray(y.styles)?y.styles.forEach(Ze=>{"string"==typeof Ze?Ze==l.l3?d.push(Ze):n.errors.push(`The provided style string value ${Ze} is not allowed.`):d.push(Ze)}):d.push(y.styles);let w=!1,re=null;return d.forEach(Ze=>{if(at(Ze)){const Lt=Ze,Gt=Lt.easing;if(Gt&&(re=Gt,delete Lt.easing),!w)for(let On in Lt)if(Lt[On].toString().indexOf("{{")>=0){w=!0;break}}}),{type:6,styles:d,easing:re,offset:y.offset,containsDynamicStyles:w,options:null}}_validateStyleAst(y,n){const d=n.currentAnimateTimings;let w=n.currentTime,re=n.currentTime;d&&re>0&&(re-=d.duration+d.delay),y.styles.forEach(Ze=>{"string"!=typeof Ze&&Object.keys(Ze).forEach(Lt=>{if(!this._driver.validateStyleProperty(Lt))return void n.errors.push(`The provided animation property "${Lt}" is not a supported CSS property for animations`);const Gt=n.collectedStyles[n.currentQuerySelector],On=Gt[Lt];let pr=!0;On&&(re!=w&&re>=On.startTime&&w<=On.endTime&&(n.errors.push(`The CSS property "${Lt}" that exists between the times of "${On.startTime}ms" and "${On.endTime}ms" is also being animated in a parallel animation between the times of "${re}ms" and "${w}ms"`),pr=!1),re=On.startTime),pr&&(Gt[Lt]={startTime:re,endTime:w}),n.options&&function(f,y,n){const d=y.params||{},w=Cn(f);w.length&&w.forEach(re=>{d.hasOwnProperty(re)||n.push(`Unable to resolve the local animation param ${re} in the given list of values`)})}(Ze[Lt],n.options,n.errors)})})}visitKeyframes(y,n){const d={type:5,styles:[],options:null};if(!n.currentAnimateTimings)return n.errors.push("keyframes() must be placed inside of a call to animate()"),d;let re=0;const Ze=[];let Lt=!1,Gt=!1,On=0;const pr=y.steps.map(Bs=>{const gs=this._makeStyleAst(Bs,n);let ks=null!=gs.offset?gs.offset:function(f){if("string"==typeof f)return null;let y=null;if(Array.isArray(f))f.forEach(n=>{if(at(n)&&n.hasOwnProperty("offset")){const d=n;y=parseFloat(d.offset),delete d.offset}});else if(at(f)&&f.hasOwnProperty("offset")){const n=f;y=parseFloat(n.offset),delete n.offset}return y}(gs.styles),ma=0;return null!=ks&&(re++,ma=gs.offset=ks),Gt=Gt||ma<0||ma>1,Lt=Lt||ma<On,On=ma,Ze.push(ma),gs});Gt&&n.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),Lt&&n.errors.push("Please ensure that all keyframe offsets are in order");const fr=y.steps.length;let ri=0;re>0&&re<fr?n.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==re&&(ri=1/(fr-1));const Ii=fr-1,go=n.currentTime,co=n.currentAnimateTimings,zo=co.duration;return pr.forEach((Bs,gs)=>{const ks=ri>0?gs==Ii?1:ri*gs:Ze[gs],ma=ks*zo;n.currentTime=go+co.delay+ma,co.duration=ma,this._validateStyleAst(Bs,n),Bs.offset=ks,d.styles.push(Bs)}),d}visitReference(y,n){return{type:8,animation:Fn(this,Ht(y.animation),n),options:Pt(y.options)}}visitAnimateChild(y,n){return n.depCount++,{type:9,options:Pt(y.options)}}visitAnimateRef(y,n){return{type:10,animation:this.visitReference(y.animation,n),options:Pt(y.options)}}visitQuery(y,n){const d=n.currentQuerySelector,w=y.options||{};n.queryCount++,n.currentQuery=y;const[re,Ze]=function(f){const y=!!f.split(/\s*,\s*/).find(n=>":self"==n);return y&&(f=f.replace(jt,"")),[f=f.replace(/@\*/g,Ot).replace(/@\w+/g,n=>Ot+"-"+n.substr(1)).replace(/:animating/g,It),y]}(y.selector);n.currentQuerySelector=d.length?d+" "+re:re,R(n.collectedStyles,n.currentQuerySelector,{});const Lt=Fn(this,Ht(y.animation),n);return n.currentQuery=null,n.currentQuerySelector=d,{type:11,selector:re,limit:w.limit||0,optional:!!w.optional,includeSelf:Ze,animation:Lt,originalSelector:y.selector,options:Pt(y.options)}}visitStagger(y,n){n.currentQuery||n.errors.push("stagger() can only be used inside of query()");const d="full"===y.timings?{duration:0,delay:0,easing:"full"}:dt(y.timings,n.errors,!0);return{type:12,animation:Fn(this,Ht(y.animation),n),timings:d,options:null}}}class Ue{constructor(y){this.errors=y,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function at(f){return!Array.isArray(f)&&"object"==typeof f}function Pt(f){return f?(f=zt(f)).params&&(f.params=function(f){return f?zt(f):null}(f.params)):f={},f}function Ut(f,y,n){return{duration:f,delay:y,easing:n}}function ot(f,y,n,d,w,re,Ze=null,Lt=!1){return{type:1,element:f,keyframes:y,preStyleProps:n,postStyleProps:d,duration:w,delay:re,totalTime:w+re,easing:Ze,subTimeline:Lt}}class Nn{constructor(){this._map=new Map}consume(y){let n=this._map.get(y);return n?this._map.delete(y):n=[],n}append(y,n){let d=this._map.get(y);d||this._map.set(y,d=[]),d.push(...n)}has(y){return this._map.has(y)}clear(){this._map.clear()}}const Bn=new RegExp(":enter","g"),mr=new RegExp(":leave","g");function _r(f,y,n,d,w,re={},Ze={},Lt,Gt,On=[]){return(new Nr).buildKeyframes(f,y,n,d,w,re,Ze,Lt,Gt,On)}class Nr{buildKeyframes(y,n,d,w,re,Ze,Lt,Gt,On,pr=[]){On=On||new Nn;const fr=new Jn(y,n,On,w,re,pr,[]);fr.options=Gt,fr.currentTimeline.setStyles([Ze],null,fr.errors,Gt),Fn(this,d,fr);const ri=fr.timelines.filter(Ii=>Ii.containsAnimation());if(ri.length&&Object.keys(Lt).length){const Ii=ri[ri.length-1];Ii.allowOnlyTimelineStyles()||Ii.setStyles([Lt],null,fr.errors,Gt)}return ri.length?ri.map(Ii=>Ii.buildKeyframes()):[ot(n,[],[],[],0,0,"",!1)]}visitTrigger(y,n){}visitState(y,n){}visitTransition(y,n){}visitAnimateChild(y,n){const d=n.subInstructions.consume(n.element);if(d){const w=n.createSubContext(y.options),re=n.currentTimeline.currentTime,Ze=this._visitSubInstructions(d,w,w.options);re!=Ze&&n.transformIntoNewTimeline(Ze)}n.previousNode=y}visitAnimateRef(y,n){const d=n.createSubContext(y.options);d.transformIntoNewTimeline(),this.visitReference(y.animation,d),n.transformIntoNewTimeline(d.currentTimeline.currentTime),n.previousNode=y}_visitSubInstructions(y,n,d){let re=n.currentTimeline.currentTime;const Ze=null!=d.duration?ae(d.duration):null,Lt=null!=d.delay?ae(d.delay):null;return 0!==Ze&&y.forEach(Gt=>{const On=n.appendInstructionToTimeline(Gt,Ze,Lt);re=Math.max(re,On.duration+On.delay)}),re}visitReference(y,n){n.updateOptions(y.options,!0),Fn(this,y.animation,n),n.previousNode=y}visitSequence(y,n){const d=n.subContextCount;let w=n;const re=y.options;if(re&&(re.params||re.delay)&&(w=n.createSubContext(re),w.transformIntoNewTimeline(),null!=re.delay)){6==w.previousNode.type&&(w.currentTimeline.snapshotCurrentStyles(),w.previousNode=br);const Ze=ae(re.delay);w.delayNextStep(Ze)}y.steps.length&&(y.steps.forEach(Ze=>Fn(this,Ze,w)),w.currentTimeline.applyStylesToKeyframe(),w.subContextCount>d&&w.transformIntoNewTimeline()),n.previousNode=y}visitGroup(y,n){const d=[];let w=n.currentTimeline.currentTime;const re=y.options&&y.options.delay?ae(y.options.delay):0;y.steps.forEach(Ze=>{const Lt=n.createSubContext(y.options);re&&Lt.delayNextStep(re),Fn(this,Ze,Lt),w=Math.max(w,Lt.currentTimeline.currentTime),d.push(Lt.currentTimeline)}),d.forEach(Ze=>n.currentTimeline.mergeTimelineCollectedStyles(Ze)),n.transformIntoNewTimeline(w),n.previousNode=y}_visitTiming(y,n){if(y.dynamic){const d=y.strValue;return dt(n.params?Kt(d,n.params,n.errors):d,n.errors)}return{duration:y.duration,delay:y.delay,easing:y.easing}}visitAnimate(y,n){const d=n.currentAnimateTimings=this._visitTiming(y.timings,n),w=n.currentTimeline;d.delay&&(n.incrementTime(d.delay),w.snapshotCurrentStyles());const re=y.style;5==re.type?this.visitKeyframes(re,n):(n.incrementTime(d.duration),this.visitStyle(re,n),w.applyStylesToKeyframe()),n.currentAnimateTimings=null,n.previousNode=y}visitStyle(y,n){const d=n.currentTimeline,w=n.currentAnimateTimings;!w&&d.getCurrentStyleProperties().length&&d.forwardFrame();const re=w&&w.easing||y.easing;y.isEmptyStep?d.applyEmptyStep(re):d.setStyles(y.styles,re,n.errors,n.options),n.previousNode=y}visitKeyframes(y,n){const d=n.currentAnimateTimings,w=n.currentTimeline.duration,re=d.duration,Lt=n.createSubContext().currentTimeline;Lt.easing=d.easing,y.styles.forEach(Gt=>{Lt.forwardTime((Gt.offset||0)*re),Lt.setStyles(Gt.styles,Gt.easing,n.errors,n.options),Lt.applyStylesToKeyframe()}),n.currentTimeline.mergeTimelineCollectedStyles(Lt),n.transformIntoNewTimeline(w+re),n.previousNode=y}visitQuery(y,n){const d=n.currentTimeline.currentTime,w=y.options||{},re=w.delay?ae(w.delay):0;re&&(6===n.previousNode.type||0==d&&n.currentTimeline.getCurrentStyleProperties().length)&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=br);let Ze=d;const Lt=n.invokeQuery(y.selector,y.originalSelector,y.limit,y.includeSelf,!!w.optional,n.errors);n.currentQueryTotal=Lt.length;let Gt=null;Lt.forEach((On,pr)=>{n.currentQueryIndex=pr;const fr=n.createSubContext(y.options,On);re&&fr.delayNextStep(re),On===n.element&&(Gt=fr.currentTimeline),Fn(this,y.animation,fr),fr.currentTimeline.applyStylesToKeyframe(),Ze=Math.max(Ze,fr.currentTimeline.currentTime)}),n.currentQueryIndex=0,n.currentQueryTotal=0,n.transformIntoNewTimeline(Ze),Gt&&(n.currentTimeline.mergeTimelineCollectedStyles(Gt),n.currentTimeline.snapshotCurrentStyles()),n.previousNode=y}visitStagger(y,n){const d=n.parentContext,w=n.currentTimeline,re=y.timings,Ze=Math.abs(re.duration),Lt=Ze*(n.currentQueryTotal-1);let Gt=Ze*n.currentQueryIndex;switch(re.duration<0?"reverse":re.easing){case"reverse":Gt=Lt-Gt;break;case"full":Gt=d.currentStaggerTime}const pr=n.currentTimeline;Gt&&pr.delayNextStep(Gt);const fr=pr.currentTime;Fn(this,y.animation,n),n.previousNode=y,d.currentStaggerTime=w.currentTime-fr+(w.startTime-d.currentTimeline.startTime)}}const br={};class Jn{constructor(y,n,d,w,re,Ze,Lt,Gt){this._driver=y,this.element=n,this.subInstructions=d,this._enterClassName=w,this._leaveClassName=re,this.errors=Ze,this.timelines=Lt,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=br,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=Gt||new rr(this._driver,n,0),Lt.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(y,n){if(!y)return;const d=y;let w=this.options;null!=d.duration&&(w.duration=ae(d.duration)),null!=d.delay&&(w.delay=ae(d.delay));const re=d.params;if(re){let Ze=w.params;Ze||(Ze=this.options.params={}),Object.keys(re).forEach(Lt=>{(!n||!Ze.hasOwnProperty(Lt))&&(Ze[Lt]=Kt(re[Lt],Ze,this.errors))})}}_copyOptions(){const y={};if(this.options){const n=this.options.params;if(n){const d=y.params={};Object.keys(n).forEach(w=>{d[w]=n[w]})}}return y}createSubContext(y=null,n,d){const w=n||this.element,re=new Jn(this._driver,w,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(w,d||0));return re.previousNode=this.previousNode,re.currentAnimateTimings=this.currentAnimateTimings,re.options=this._copyOptions(),re.updateOptions(y),re.currentQueryIndex=this.currentQueryIndex,re.currentQueryTotal=this.currentQueryTotal,re.parentContext=this,this.subContextCount++,re}transformIntoNewTimeline(y){return this.previousNode=br,this.currentTimeline=this.currentTimeline.fork(this.element,y),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(y,n,d){const w={duration:null!=n?n:y.duration,delay:this.currentTimeline.currentTime+(null!=d?d:0)+y.delay,easing:""},re=new Mr(this._driver,y.element,y.keyframes,y.preStyleProps,y.postStyleProps,w,y.stretchStartingKeyframe);return this.timelines.push(re),w}incrementTime(y){this.currentTimeline.forwardTime(this.currentTimeline.duration+y)}delayNextStep(y){y>0&&this.currentTimeline.delayNextStep(y)}invokeQuery(y,n,d,w,re,Ze){let Lt=[];if(w&&Lt.push(this.element),y.length>0){y=(y=y.replace(Bn,"."+this._enterClassName)).replace(mr,"."+this._leaveClassName);let On=this._driver.query(this.element,y,1!=d);0!==d&&(On=d<0?On.slice(On.length+d,On.length):On.slice(0,d)),Lt.push(...On)}return!re&&0==Lt.length&&Ze.push(`\`query("${n}")\` returned zero elements. (Use \`query("${n}", { optional: true })\` if you wish to allow this.)`),Lt}}class rr{constructor(y,n,d,w){this._driver=y,this.element=n,this.startTime=d,this._elementTimelineStylesLookup=w,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(n),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(n,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(y){const n=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||n?(this.forwardTime(this.currentTime+y),n&&this.snapshotCurrentStyles()):this.startTime+=y}fork(y,n){return this.applyStylesToKeyframe(),new rr(this._driver,y,n||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(y){this.applyStylesToKeyframe(),this.duration=y,this._loadKeyframe()}_updateStyle(y,n){this._localTimelineStyles[y]=n,this._globalTimelineStyles[y]=n,this._styleSummary[y]={time:this.currentTime,value:n}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(y){y&&(this._previousKeyframe.easing=y),Object.keys(this._globalTimelineStyles).forEach(n=>{this._backFill[n]=this._globalTimelineStyles[n]||l.l3,this._currentKeyframe[n]=l.l3}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(y,n,d,w){n&&(this._previousKeyframe.easing=n);const re=w&&w.params||{},Ze=function(f,y){const n={};let d;return f.forEach(w=>{"*"===w?(d=d||Object.keys(y),d.forEach(re=>{n[re]=l.l3})):ar(w,!1,n)}),n}(y,this._globalTimelineStyles);Object.keys(Ze).forEach(Lt=>{const Gt=Kt(Ze[Lt],re,d);this._pendingStyles[Lt]=Gt,this._localTimelineStyles.hasOwnProperty(Lt)||(this._backFill[Lt]=this._globalTimelineStyles.hasOwnProperty(Lt)?this._globalTimelineStyles[Lt]:l.l3),this._updateStyle(Lt,Gt)})}applyStylesToKeyframe(){const y=this._pendingStyles,n=Object.keys(y);0!=n.length&&(this._pendingStyles={},n.forEach(d=>{this._currentKeyframe[d]=y[d]}),Object.keys(this._localTimelineStyles).forEach(d=>{this._currentKeyframe.hasOwnProperty(d)||(this._currentKeyframe[d]=this._localTimelineStyles[d])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(y=>{const n=this._localTimelineStyles[y];this._pendingStyles[y]=n,this._updateStyle(y,n)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const y=[];for(let n in this._currentKeyframe)y.push(n);return y}mergeTimelineCollectedStyles(y){Object.keys(y._styleSummary).forEach(n=>{const d=this._styleSummary[n],w=y._styleSummary[n];(!d||w.time>d.time)&&this._updateStyle(n,w.value)})}buildKeyframes(){this.applyStylesToKeyframe();const y=new Set,n=new Set,d=1===this._keyframes.size&&0===this.duration;let w=[];this._keyframes.forEach((Lt,Gt)=>{const On=ar(Lt,!0);Object.keys(On).forEach(pr=>{const fr=On[pr];fr==l.k1?y.add(pr):fr==l.l3&&n.add(pr)}),d||(On.offset=Gt/this.duration),w.push(On)});const re=y.size?dn(y.values()):[],Ze=n.size?dn(n.values()):[];if(d){const Lt=w[0],Gt=zt(Lt);Lt.offset=0,Gt.offset=1,w=[Lt,Gt]}return ot(this.element,w,re,Ze,this.duration,this.startTime,this.easing,!1)}}class Mr extends rr{constructor(y,n,d,w,re,Ze,Lt=!1){super(y,n,Ze.delay),this.keyframes=d,this.preStyleProps=w,this.postStyleProps=re,this._stretchStartingKeyframe=Lt,this.timings={duration:Ze.duration,delay:Ze.delay,easing:Ze.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let y=this.keyframes,{delay:n,duration:d,easing:w}=this.timings;if(this._stretchStartingKeyframe&&n){const re=[],Ze=d+n,Lt=n/Ze,Gt=ar(y[0],!1);Gt.offset=0,re.push(Gt);const On=ar(y[0],!1);On.offset=yi(Lt),re.push(On);const pr=y.length-1;for(let fr=1;fr<=pr;fr++){let ri=ar(y[fr],!1);ri.offset=yi((n+ri.offset*d)/Ze),re.push(ri)}d=Ze,n=0,w="",y=re}return ot(this.element,y,this.preStyleProps,this.postStyleProps,d,n,w,!0)}}function yi(f,y=3){const n=Math.pow(10,y-1);return Math.round(f*n)/n}class Oi{}class Kr extends Oi{normalizePropertyName(y,n){return qn(y)}normalizeStyleValue(y,n,d,w){let re="";const Ze=d.toString().trim();if(se[n]&&0!==d&&"0"!==d)if("number"==typeof d)re="px";else{const Lt=d.match(/^[+-]?[\d\.]+([a-z]*)$/);Lt&&0==Lt[1].length&&w.push(`Please provide a CSS unit value for ${y}:${d}`)}return Ze+re}}const se=(()=>function(f){const y={};return f.forEach(n=>y[n]=!0),y}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function Ke(f,y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri){return{type:0,element:f,triggerName:y,isRemovalTransition:w,fromState:n,fromStyles:re,toState:d,toStyles:Ze,timelines:Lt,queriedElements:Gt,preStyleProps:On,postStyleProps:pr,totalTime:fr,errors:ri}}const Xe={};class Vt{constructor(y,n,d){this._triggerName=y,this.ast=n,this._stateStyles=d}match(y,n,d,w){return function(f,y,n,d,w){return f.some(re=>re(y,n,d,w))}(this.ast.matchers,y,n,d,w)}buildStyles(y,n,d){const w=this._stateStyles["*"],re=this._stateStyles[y],Ze=w?w.buildStyles(n,d):{};return re?re.buildStyles(n,d):Ze}build(y,n,d,w,re,Ze,Lt,Gt,On,pr){const fr=[],ri=this.ast.options&&this.ast.options.params||Xe,go=this.buildStyles(d,Lt&&Lt.params||Xe,fr),co=Gt&&Gt.params||Xe,zo=this.buildStyles(w,co,fr),Bs=new Set,gs=new Map,ks=new Map,ma="void"===w,Tl={params:Object.assign(Object.assign({},ri),co)},va=pr?[]:_r(y,n,this.ast.animation,re,Ze,go,zo,Tl,On,fr);let Wl=0;if(va.forEach(xo=>{Wl=Math.max(xo.duration+xo.delay,Wl)}),fr.length)return Ke(n,this._triggerName,d,w,ma,go,zo,[],[],gs,ks,Wl,fr);va.forEach(xo=>{const Du=xo.element,id=R(gs,Du,{});xo.preStyleProps.forEach(Vu=>id[Vu]=!0);const Ed=R(ks,Du,{});xo.postStyleProps.forEach(Vu=>Ed[Vu]=!0),Du!==n&&Bs.add(Du)});const Kc=dn(Bs.values());return Ke(n,this._triggerName,d,w,ma,go,zo,va,Kc,gs,ks,Wl)}}class rt{constructor(y,n,d){this.styles=y,this.defaultParams=n,this.normalizer=d}buildStyles(y,n){const d={},w=zt(this.defaultParams);return Object.keys(y).forEach(re=>{const Ze=y[re];null!=Ze&&(w[re]=Ze)}),this.styles.styles.forEach(re=>{if("string"!=typeof re){const Ze=re;Object.keys(Ze).forEach(Lt=>{let Gt=Ze[Lt];Gt.length>1&&(Gt=Kt(Gt,w,n));const On=this.normalizer.normalizePropertyName(Lt,n);Gt=this.normalizer.normalizeStyleValue(Lt,On,Gt,n),d[On]=Gt})}}),d}}class qe{constructor(y,n,d){this.name=y,this.ast=n,this._normalizer=d,this.transitionFactories=[],this.states={},n.states.forEach(w=>{this.states[w.name]=new rt(w.style,w.options&&w.options.params||{},d)}),or(this.states,"true","1"),or(this.states,"false","0"),n.transitions.forEach(w=>{this.transitionFactories.push(new Vt(y,w,this.states))}),this.fallbackTransition=function(f,y,n){return new Vt(f,{type:1,animation:{type:2,steps:[],options:null},matchers:[(Ze,Lt)=>!0],options:null,queryCount:0,depCount:0},y)}(y,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(y,n,d,w){return this.transitionFactories.find(Ze=>Ze.match(y,n,d,w))||null}matchStyles(y,n,d){return this.fallbackTransition.buildStyles(y,n,d)}}function or(f,y,n){f.hasOwnProperty(y)?f.hasOwnProperty(n)||(f[n]=f[y]):f.hasOwnProperty(n)&&(f[y]=f[n])}const Vn=new Nn;class Vr{constructor(y,n,d){this.bodyNode=y,this._driver=n,this._normalizer=d,this._animations={},this._playersById={},this.players=[]}register(y,n){const d=[],w=hn(this._driver,n,d);if(d.length)throw new Error(`Unable to build the animation due to the following errors: ${d.join("\n")}`);this._animations[y]=w}_buildPlayer(y,n,d){const w=y.element,re=m(0,this._normalizer,0,y.keyframes,n,d);return this._driver.animate(w,re,y.duration,y.delay,y.easing,[],!0)}create(y,n,d={}){const w=[],re=this._animations[y];let Ze;const Lt=new Map;if(re?(Ze=_r(this._driver,n,re,je,Et,{},{},d,Vn,w),Ze.forEach(pr=>{const fr=R(Lt,pr.element,{});pr.postStyleProps.forEach(ri=>fr[ri]=null)})):(w.push("The requested animation doesn't exist or has already been destroyed"),Ze=[]),w.length)throw new Error(`Unable to create the animation due to the following errors: ${w.join("\n")}`);Lt.forEach((pr,fr)=>{Object.keys(pr).forEach(ri=>{pr[ri]=this._driver.computeStyle(fr,ri,l.l3)})});const On=_(Ze.map(pr=>{const fr=Lt.get(pr.element);return this._buildPlayer(pr,{},fr)}));return this._playersById[y]=On,On.onDestroy(()=>this.destroy(y)),this.players.push(On),On}destroy(y){const n=this._getPlayer(y);n.destroy(),delete this._playersById[y];const d=this.players.indexOf(n);d>=0&&this.players.splice(d,1)}_getPlayer(y){const n=this._playersById[y];if(!n)throw new Error(`Unable to find the timeline player referenced by ${y}`);return n}listen(y,n,d,w){const re=D(n,"","","");return b(this._getPlayer(y),d,re,w),()=>{}}command(y,n,d,w){if("register"==d)return void this.register(y,w[0]);if("create"==d)return void this.create(y,n,w[0]||{});const re=this._getPlayer(y);switch(d){case"play":re.play();break;case"pause":re.pause();break;case"reset":re.reset();break;case"restart":re.restart();break;case"finish":re.finish();break;case"init":re.init();break;case"setPosition":re.setPosition(parseFloat(w[0]));break;case"destroy":this.destroy(y)}}}const Cr="ng-animate-queued",Dr="ng-animate-disabled",Jr=".ng-animate-disabled",Ei=[],wi={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},_o={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ki="__ng_removed";class to{constructor(y,n=""){this.namespaceId=n;const d=y&&y.hasOwnProperty("value");if(this.value=null!=(f=d?y.value:y)?f:null,d){const re=zt(y);delete re.value,this.options=re}else this.options={};var f;this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(y){const n=y.params;if(n){const d=this.options.params;Object.keys(n).forEach(w=>{null==d[w]&&(d[w]=n[w])})}}}const qi="void",Wi=new to(qi);class eo{constructor(y,n,d){this.id=y,this.hostElement=n,this._engine=d,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+y,st(n,this._hostClassName)}listen(y,n,d,w){if(!this._triggers.hasOwnProperty(n))throw new Error(`Unable to listen on the animation trigger event "${d}" because the animation trigger "${n}" doesn't exist!`);if(null==d||0==d.length)throw new Error(`Unable to listen on the animation trigger "${n}" because the provided event is undefined!`);if("start"!=(f=d)&&"done"!=f)throw new Error(`The provided animation trigger event "${d}" for the animation trigger "${n}" is not supported!`);var f;const re=R(this._elementListeners,y,[]),Ze={name:n,phase:d,callback:w};re.push(Ze);const Lt=R(this._engine.statesByElement,y,{});return Lt.hasOwnProperty(n)||(st(y,St),st(y,St+"-"+n),Lt[n]=Wi),()=>{this._engine.afterFlush(()=>{const Gt=re.indexOf(Ze);Gt>=0&&re.splice(Gt,1),this._triggers[n]||delete Lt[n]})}}register(y,n){return!this._triggers[y]&&(this._triggers[y]=n,!0)}_getTrigger(y){const n=this._triggers[y];if(!n)throw new Error(`The provided animation trigger "${y}" has not been registered!`);return n}trigger(y,n,d,w=!0){const re=this._getTrigger(n),Ze=new Wo(this.id,n,y);let Lt=this._engine.statesByElement.get(y);Lt||(st(y,St),st(y,St+"-"+n),this._engine.statesByElement.set(y,Lt={}));let Gt=Lt[n];const On=new to(d,this.id);if(!(d&&d.hasOwnProperty("value"))&&Gt&&On.absorbOptions(Gt.options),Lt[n]=On,Gt||(Gt=Wi),On.value!==qi&&Gt.value===On.value){if(!function(f,y){const n=Object.keys(f),d=Object.keys(y);if(n.length!=d.length)return!1;for(let w=0;w<n.length;w++){const re=n[w];if(!y.hasOwnProperty(re)||f[re]!==y[re])return!1}return!0}(Gt.params,On.params)){const co=[],zo=re.matchStyles(Gt.value,Gt.params,co),Bs=re.matchStyles(On.value,On.params,co);co.length?this._engine.reportError(co):this._engine.afterFlush(()=>{Mn(y,zo),er(y,Bs)})}return}const ri=R(this._engine.playersByElement,y,[]);ri.forEach(co=>{co.namespaceId==this.id&&co.triggerName==n&&co.queued&&co.destroy()});let Ii=re.matchTransition(Gt.value,On.value,y,On.params),go=!1;if(!Ii){if(!w)return;Ii=re.fallbackTransition,go=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:n,transition:Ii,fromState:Gt,toState:On,player:Ze,isFallbackTransition:go}),go||(st(y,Cr),Ze.onStart(()=>{pn(y,Cr)})),Ze.onDone(()=>{let co=this.players.indexOf(Ze);co>=0&&this.players.splice(co,1);const zo=this._engine.playersByElement.get(y);if(zo){let Bs=zo.indexOf(Ze);Bs>=0&&zo.splice(Bs,1)}}),this.players.push(Ze),ri.push(Ze),Ze}deregister(y){delete this._triggers[y],this._engine.statesByElement.forEach((n,d)=>{delete n[y]}),this._elementListeners.forEach((n,d)=>{this._elementListeners.set(d,n.filter(w=>w.name!=y))})}clearElementCache(y){this._engine.statesByElement.delete(y),this._elementListeners.delete(y);const n=this._engine.playersByElement.get(y);n&&(n.forEach(d=>d.destroy()),this._engine.playersByElement.delete(y))}_signalRemovalForInnerTriggers(y,n){const d=this._engine.driver.query(y,Ot,!0);d.forEach(w=>{if(w[ki])return;const re=this._engine.fetchNamespacesByElement(w);re.size?re.forEach(Ze=>Ze.triggerLeaveAnimation(w,n,!1,!0)):this.clearElementCache(w)}),this._engine.afterFlushAnimationsDone(()=>d.forEach(w=>this.clearElementCache(w)))}triggerLeaveAnimation(y,n,d,w){const re=this._engine.statesByElement.get(y);if(re){const Ze=[];if(Object.keys(re).forEach(Lt=>{if(this._triggers[Lt]){const Gt=this.trigger(y,Lt,qi,w);Gt&&Ze.push(Gt)}}),Ze.length)return this._engine.markElementAsRemoved(this.id,y,!0,n),d&&_(Ze).onDone(()=>this._engine.processLeaveNode(y)),!0}return!1}prepareLeaveAnimationListeners(y){const n=this._elementListeners.get(y),d=this._engine.statesByElement.get(y);if(n&&d){const w=new Set;n.forEach(re=>{const Ze=re.name;if(w.has(Ze))return;w.add(Ze);const Gt=this._triggers[Ze].fallbackTransition,On=d[Ze]||Wi,pr=new to(qi),fr=new Wo(this.id,Ze,y);this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:Ze,transition:Gt,fromState:On,toState:pr,player:fr,isFallbackTransition:!0})})}}removeNode(y,n){const d=this._engine;if(y.childElementCount&&this._signalRemovalForInnerTriggers(y,n),this.triggerLeaveAnimation(y,n,!0))return;let w=!1;if(d.totalAnimations){const re=d.players.length?d.playersByQueriedElement.get(y):[];if(re&&re.length)w=!0;else{let Ze=y;for(;Ze=Ze.parentNode;)if(d.statesByElement.get(Ze)){w=!0;break}}}if(this.prepareLeaveAnimationListeners(y),w)d.markElementAsRemoved(this.id,y,!1,n);else{const re=y[ki];(!re||re===wi)&&(d.afterFlush(()=>this.clearElementCache(y)),d.destroyInnerAnimations(y),d._onRemovalComplete(y,n))}}insertNode(y,n){st(y,this._hostClassName)}drainQueuedTransitions(y){const n=[];return this._queue.forEach(d=>{const w=d.player;if(w.destroyed)return;const re=d.element,Ze=this._elementListeners.get(re);Ze&&Ze.forEach(Lt=>{if(Lt.name==d.triggerName){const Gt=D(re,d.triggerName,d.fromState.value,d.toState.value);Gt._data=y,b(d.player,Lt.phase,Gt,Lt.callback)}}),w.markedForDestroy?this._engine.afterFlush(()=>{w.destroy()}):n.push(d)}),this._queue=[],n.sort((d,w)=>{const re=d.transition.ast.depCount,Ze=w.transition.ast.depCount;return 0==re||0==Ze?re-Ze:this._engine.driver.containsElement(d.element,w.element)?1:-1})}destroy(y){this.players.forEach(n=>n.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,y)}elementContainsData(y){let n=!1;return this._elementListeners.has(y)&&(n=!0),n=!!this._queue.find(d=>d.element===y)||n,n}}class Gi{constructor(y,n,d){this.bodyNode=y,this.driver=n,this._normalizer=d,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(w,re)=>{}}_onRemovalComplete(y,n){this.onRemovalComplete(y,n)}get queuedPlayers(){const y=[];return this._namespaceList.forEach(n=>{n.players.forEach(d=>{d.queued&&y.push(d)})}),y}createNamespace(y,n){const d=new eo(y,n,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,n)?this._balanceNamespaceList(d,n):(this.newHostElements.set(n,d),this.collectEnterElement(n)),this._namespaceLookup[y]=d}_balanceNamespaceList(y,n){const d=this._namespaceList.length-1;if(d>=0){let w=!1;for(let re=d;re>=0;re--)if(this.driver.containsElement(this._namespaceList[re].hostElement,n)){this._namespaceList.splice(re+1,0,y),w=!0;break}w||this._namespaceList.splice(0,0,y)}else this._namespaceList.push(y);return this.namespacesByHostElement.set(n,y),y}register(y,n){let d=this._namespaceLookup[y];return d||(d=this.createNamespace(y,n)),d}registerTrigger(y,n,d){let w=this._namespaceLookup[y];w&&w.register(n,d)&&this.totalAnimations++}destroy(y,n){if(!y)return;const d=this._fetchNamespace(y);this.afterFlush(()=>{this.namespacesByHostElement.delete(d.hostElement),delete this._namespaceLookup[y];const w=this._namespaceList.indexOf(d);w>=0&&this._namespaceList.splice(w,1)}),this.afterFlushAnimationsDone(()=>d.destroy(n))}_fetchNamespace(y){return this._namespaceLookup[y]}fetchNamespacesByElement(y){const n=new Set,d=this.statesByElement.get(y);if(d){const w=Object.keys(d);for(let re=0;re<w.length;re++){const Ze=d[w[re]].namespaceId;if(Ze){const Lt=this._fetchNamespace(Ze);Lt&&n.add(Lt)}}}return n}trigger(y,n,d,w){if(Ko(n)){const re=this._fetchNamespace(y);if(re)return re.trigger(n,d,w),!0}return!1}insertNode(y,n,d,w){if(!Ko(n))return;const re=n[ki];if(re&&re.setForRemoval){re.setForRemoval=!1,re.setForMove=!0;const Ze=this.collectedLeaveElements.indexOf(n);Ze>=0&&this.collectedLeaveElements.splice(Ze,1)}if(y){const Ze=this._fetchNamespace(y);Ze&&Ze.insertNode(n,d)}w&&this.collectEnterElement(n)}collectEnterElement(y){this.collectedEnterElements.push(y)}markElementAsDisabled(y,n){n?this.disabledNodes.has(y)||(this.disabledNodes.add(y),st(y,Dr)):this.disabledNodes.has(y)&&(this.disabledNodes.delete(y),pn(y,Dr))}removeNode(y,n,d,w){if(Ko(n)){const re=y?this._fetchNamespace(y):null;if(re?re.removeNode(n,w):this.markElementAsRemoved(y,n,!1,w),d){const Ze=this.namespacesByHostElement.get(n);Ze&&Ze.id!==y&&Ze.removeNode(n,w)}}else this._onRemovalComplete(n,w)}markElementAsRemoved(y,n,d,w){this.collectedLeaveElements.push(n),n[ki]={namespaceId:y,setForRemoval:w,hasAnimation:d,removedBeforeQueried:!1}}listen(y,n,d,w,re){return Ko(n)?this._fetchNamespace(y).listen(n,d,w,re):()=>{}}_buildInstruction(y,n,d,w,re){return y.transition.build(this.driver,y.element,y.fromState.value,y.toState.value,d,w,y.fromState.options,y.toState.options,n,re)}destroyInnerAnimations(y){let n=this.driver.query(y,Ot,!0);n.forEach(d=>this.destroyActiveAnimationsForElement(d)),0!=this.playersByQueriedElement.size&&(n=this.driver.query(y,It,!0),n.forEach(d=>this.finishActiveQueriedAnimationOnElement(d)))}destroyActiveAnimationsForElement(y){const n=this.playersByElement.get(y);n&&n.forEach(d=>{d.queued?d.markedForDestroy=!0:d.destroy()})}finishActiveQueriedAnimationOnElement(y){const n=this.playersByQueriedElement.get(y);n&&n.forEach(d=>d.finish())}whenRenderingDone(){return new Promise(y=>{if(this.players.length)return _(this.players).onDone(()=>y());y()})}processLeaveNode(y){const n=y[ki];if(n&&n.setForRemoval){if(y[ki]=wi,n.namespaceId){this.destroyInnerAnimations(y);const d=this._fetchNamespace(n.namespaceId);d&&d.clearElementCache(y)}this._onRemovalComplete(y,n.setForRemoval)}this.driver.matchesElement(y,Jr)&&this.markElementAsDisabled(y,!1),this.driver.query(y,Jr,!0).forEach(d=>{this.markElementAsDisabled(d,!1)})}flush(y=-1){let n=[];if(this.newHostElements.size&&(this.newHostElements.forEach((d,w)=>this._balanceNamespaceList(d,w)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let d=0;d<this.collectedEnterElements.length;d++)st(this.collectedEnterElements[d],"ng-star-inserted");if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const d=[];try{n=this._flushAnimations(d,y)}finally{for(let w=0;w<d.length;w++)d[w]()}}else for(let d=0;d<this.collectedLeaveElements.length;d++)this.processLeaveNode(this.collectedLeaveElements[d]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(d=>d()),this._flushFns=[],this._whenQuietFns.length){const d=this._whenQuietFns;this._whenQuietFns=[],n.length?_(n).onDone(()=>{d.forEach(w=>w())}):d.forEach(w=>w())}}reportError(y){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${y.join("\n")}`)}_flushAnimations(y,n){const d=new Nn,w=[],re=new Map,Ze=[],Lt=new Map,Gt=new Map,On=new Map,pr=new Set;this.disabledNodes.forEach(ls=>{pr.add(ls);const Ms=this.driver.query(ls,".ng-animate-queued",!0);for(let hs=0;hs<Ms.length;hs++)pr.add(Ms[hs])});const fr=this.bodyNode,ri=Array.from(this.statesByElement.keys()),Ii=qo(ri,this.collectedEnterElements),go=new Map;let co=0;Ii.forEach((ls,Ms)=>{const hs=je+co++;go.set(Ms,hs),ls.forEach($a=>st($a,hs))});const zo=[],Bs=new Set,gs=new Set;for(let ls=0;ls<this.collectedLeaveElements.length;ls++){const Ms=this.collectedLeaveElements[ls],hs=Ms[ki];hs&&hs.setForRemoval&&(zo.push(Ms),Bs.add(Ms),hs.hasAnimation?this.driver.query(Ms,".ng-star-inserted",!0).forEach($a=>Bs.add($a)):gs.add(Ms))}const ks=new Map,ma=qo(ri,Array.from(Bs));ma.forEach((ls,Ms)=>{const hs=Et+co++;ks.set(Ms,hs),ls.forEach($a=>st($a,hs))}),y.push(()=>{Ii.forEach((ls,Ms)=>{const hs=go.get(Ms);ls.forEach($a=>pn($a,hs))}),ma.forEach((ls,Ms)=>{const hs=ks.get(Ms);ls.forEach($a=>pn($a,hs))}),zo.forEach(ls=>{this.processLeaveNode(ls)})});const Tl=[],va=[];for(let ls=this._namespaceList.length-1;ls>=0;ls--)this._namespaceList[ls].drainQueuedTransitions(n).forEach(hs=>{const $a=hs.player,oc=hs.element;if(Tl.push($a),this.collectedEnterElements.length){const fu=oc[ki];if(fu&&fu.setForMove)return void $a.destroy()}const Gc=!fr||!this.driver.containsElement(fr,oc),Hc=ks.get(oc),du=go.get(oc),Pl=this._buildInstruction(hs,d,du,Hc,Gc);if(Pl.errors&&Pl.errors.length)va.push(Pl);else{if(Gc)return $a.onStart(()=>Mn(oc,Pl.fromStyles)),$a.onDestroy(()=>er(oc,Pl.toStyles)),void w.push($a);if(hs.isFallbackTransition)return $a.onStart(()=>Mn(oc,Pl.fromStyles)),$a.onDestroy(()=>er(oc,Pl.toStyles)),void w.push($a);Pl.timelines.forEach(fu=>fu.stretchStartingKeyframe=!0),d.append(oc,Pl.timelines),Ze.push({instruction:Pl,player:$a,element:oc}),Pl.queriedElements.forEach(fu=>R(Lt,fu,[]).push($a)),Pl.preStyleProps.forEach((fu,Td)=>{const od=Object.keys(fu);if(od.length){let Gu=Gt.get(Td);Gu||Gt.set(Td,Gu=new Set),od.forEach(Ys=>Gu.add(Ys))}}),Pl.postStyleProps.forEach((fu,Td)=>{const od=Object.keys(fu);let Gu=On.get(Td);Gu||On.set(Td,Gu=new Set),od.forEach(Ys=>Gu.add(Ys))})}});if(va.length){const ls=[];va.forEach(Ms=>{ls.push(`@${Ms.triggerName} has failed due to:\n`),Ms.errors.forEach(hs=>ls.push(`- ${hs}\n`))}),Tl.forEach(Ms=>Ms.destroy()),this.reportError(ls)}const Wl=new Map,Kc=new Map;Ze.forEach(ls=>{const Ms=ls.element;d.has(Ms)&&(Kc.set(Ms,Ms),this._beforeAnimationBuild(ls.player.namespaceId,ls.instruction,Wl))}),w.forEach(ls=>{const Ms=ls.element;this._getPreviousPlayers(Ms,!1,ls.namespaceId,ls.triggerName,null).forEach($a=>{R(Wl,Ms,[]).push($a),$a.destroy()})});const xo=zo.filter(ls=>$r(ls,Gt,On)),Du=new Map;ds(Du,this.driver,gs,On,l.l3).forEach(ls=>{$r(ls,Gt,On)&&xo.push(ls)});const Ed=new Map;Ii.forEach((ls,Ms)=>{ds(Ed,this.driver,new Set(ls),Gt,l.k1)}),xo.forEach(ls=>{const Ms=Du.get(ls),hs=Ed.get(ls);Du.set(ls,Object.assign(Object.assign({},Ms),hs))});const Vu=[],Rf=[],np={};Ze.forEach(ls=>{const{element:Ms,player:hs,instruction:$a}=ls;if(d.has(Ms)){if(pr.has(Ms))return hs.onDestroy(()=>er(Ms,$a.toStyles)),hs.disabled=!0,hs.overrideTotalTime($a.totalTime),void w.push(hs);let oc=np;if(Kc.size>1){let Hc=Ms;const du=[];for(;Hc=Hc.parentNode;){const Pl=Kc.get(Hc);if(Pl){oc=Pl;break}du.push(Hc)}du.forEach(Pl=>Kc.set(Pl,oc))}const Gc=this._buildAnimation(hs.namespaceId,$a,Wl,re,Ed,Du);if(hs.setRealPlayer(Gc),oc===np)Vu.push(hs);else{const Hc=this.playersByElement.get(oc);Hc&&Hc.length&&(hs.parentPlayer=_(Hc)),w.push(hs)}}else Mn(Ms,$a.fromStyles),hs.onDestroy(()=>er(Ms,$a.toStyles)),Rf.push(hs),pr.has(Ms)&&w.push(hs)}),Rf.forEach(ls=>{const Ms=re.get(ls.element);if(Ms&&Ms.length){const hs=_(Ms);ls.setRealPlayer(hs)}}),w.forEach(ls=>{ls.parentPlayer?ls.syncPlayerEvents(ls.parentPlayer):ls.destroy()});for(let ls=0;ls<zo.length;ls++){const Ms=zo[ls],hs=Ms[ki];if(pn(Ms,Et),hs&&hs.hasAnimation)continue;let $a=[];if(Lt.size){let Gc=Lt.get(Ms);Gc&&Gc.length&&$a.push(...Gc);let Hc=this.driver.query(Ms,It,!0);for(let du=0;du<Hc.length;du++){let Pl=Lt.get(Hc[du]);Pl&&Pl.length&&$a.push(...Pl)}}const oc=$a.filter(Gc=>!Gc.destroyed);oc.length?ee(this,Ms,oc):this.processLeaveNode(Ms)}return zo.length=0,Vu.forEach(ls=>{this.players.push(ls),ls.onDone(()=>{ls.destroy();const Ms=this.players.indexOf(ls);this.players.splice(Ms,1)}),ls.play()}),Vu}elementContainsData(y,n){let d=!1;const w=n[ki];return w&&w.setForRemoval&&(d=!0),this.playersByElement.has(n)&&(d=!0),this.playersByQueriedElement.has(n)&&(d=!0),this.statesByElement.has(n)&&(d=!0),this._fetchNamespace(y).elementContainsData(n)||d}afterFlush(y){this._flushFns.push(y)}afterFlushAnimationsDone(y){this._whenQuietFns.push(y)}_getPreviousPlayers(y,n,d,w,re){let Ze=[];if(n){const Lt=this.playersByQueriedElement.get(y);Lt&&(Ze=Lt)}else{const Lt=this.playersByElement.get(y);if(Lt){const Gt=!re||re==qi;Lt.forEach(On=>{On.queued||!Gt&&On.triggerName!=w||Ze.push(On)})}}return(d||w)&&(Ze=Ze.filter(Lt=>!(d&&d!=Lt.namespaceId||w&&w!=Lt.triggerName))),Ze}_beforeAnimationBuild(y,n,d){const re=n.element,Ze=n.isRemovalTransition?void 0:y,Lt=n.isRemovalTransition?void 0:n.triggerName;for(const Gt of n.timelines){const On=Gt.element,pr=On!==re,fr=R(d,On,[]);this._getPreviousPlayers(On,pr,Ze,Lt,n.toState).forEach(Ii=>{const go=Ii.getRealPlayer();go.beforeDestroy&&go.beforeDestroy(),Ii.destroy(),fr.push(Ii)})}Mn(re,n.fromStyles)}_buildAnimation(y,n,d,w,re,Ze){const Lt=n.triggerName,Gt=n.element,On=[],pr=new Set,fr=new Set,ri=n.timelines.map(go=>{const co=go.element;pr.add(co);const zo=co[ki];if(zo&&zo.removedBeforeQueried)return new l.ZN(go.duration,go.delay);const Bs=co!==Gt,gs=function(f){const y=[];return fn(f,y),y}((d.get(co)||Ei).map(Wl=>Wl.getRealPlayer())).filter(Wl=>!!Wl.element&&Wl.element===co),ks=re.get(co),ma=Ze.get(co),Tl=m(0,this._normalizer,0,go.keyframes,ks,ma),va=this._buildPlayer(go,Tl,gs);if(go.subTimeline&&w&&fr.add(co),Bs){const Wl=new Wo(y,Lt,co);Wl.setRealPlayer(va),On.push(Wl)}return va});On.forEach(go=>{R(this.playersByQueriedElement,go.element,[]).push(go),go.onDone(()=>function(f,y,n){let d;if(f instanceof Map){if(d=f.get(y),d){if(d.length){const w=d.indexOf(n);d.splice(w,1)}0==d.length&&f.delete(y)}}else if(d=f[y],d){if(d.length){const w=d.indexOf(n);d.splice(w,1)}0==d.length&&delete f[y]}return d}(this.playersByQueriedElement,go.element,go))}),pr.forEach(go=>st(go,Qe));const Ii=_(ri);return Ii.onDestroy(()=>{pr.forEach(go=>pn(go,Qe)),er(Gt,n.toStyles)}),fr.forEach(go=>{R(w,go,[]).push(Ii)}),Ii}_buildPlayer(y,n,d){return n.length>0?this.driver.animate(y.element,n,y.duration,y.delay,y.easing,d):new l.ZN(y.duration,y.delay)}}class Wo{constructor(y,n,d){this.namespaceId=y,this.triggerName=n,this.element=d,this._player=new l.ZN,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(y){this._containsRealPlayer||(this._player=y,Object.keys(this._queuedCallbacks).forEach(n=>{this._queuedCallbacks[n].forEach(d=>b(y,n,void 0,d))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(y.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(y){this.totalTime=y}syncPlayerEvents(y){const n=this._player;n.triggerCallback&&y.onStart(()=>n.triggerCallback("start")),y.onDone(()=>this.finish()),y.onDestroy(()=>this.destroy())}_queueEvent(y,n){R(this._queuedCallbacks,y,[]).push(n)}onDone(y){this.queued&&this._queueEvent("done",y),this._player.onDone(y)}onStart(y){this.queued&&this._queueEvent("start",y),this._player.onStart(y)}onDestroy(y){this.queued&&this._queueEvent("destroy",y),this._player.onDestroy(y)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(y){this.queued||this._player.setPosition(y)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(y){const n=this._player;n.triggerCallback&&n.triggerCallback(y)}}function Ko(f){return f&&1===f.nodeType}function ua(f,y){const n=f.style.display;return f.style.display=null!=y?y:"none",n}function ds(f,y,n,d,w){const re=[];n.forEach(Gt=>re.push(ua(Gt)));const Ze=[];d.forEach((Gt,On)=>{const pr={};Gt.forEach(fr=>{const ri=pr[fr]=y.computeStyle(On,fr,w);(!ri||0==ri.length)&&(On[ki]=_o,Ze.push(On))}),f.set(On,pr)});let Lt=0;return n.forEach(Gt=>ua(Gt,re[Lt++])),Ze}function qo(f,y){const n=new Map;if(f.forEach(Lt=>n.set(Lt,[])),0==y.length)return n;const w=new Set(y),re=new Map;function Ze(Lt){if(!Lt)return 1;let Gt=re.get(Lt);if(Gt)return Gt;const On=Lt.parentNode;return Gt=n.has(On)?On:w.has(On)?1:Ze(On),re.set(Lt,Gt),Gt}return y.forEach(Lt=>{const Gt=Ze(Lt);1!==Gt&&n.get(Gt).push(Lt)}),n}const oa="$$classes";function st(f,y){if(f.classList)f.classList.add(y);else{let n=f[oa];n||(n=f[oa]={}),n[y]=!0}}function pn(f,y){if(f.classList)f.classList.remove(y);else{let n=f[oa];n&&delete n[y]}}function ee(f,y,n){_(n).onDone(()=>f.processLeaveNode(y))}function fn(f,y){for(let n=0;n<f.length;n++){const d=f[n];d instanceof l.ZE?fn(d.players,y):y.push(d)}}function $r(f,y,n){const d=n.get(f);if(!d)return!1;let w=y.get(f);return w?d.forEach(re=>w.add(re)):y.set(f,d),n.delete(f),!0}class ti{constructor(y,n,d){this.bodyNode=y,this._driver=n,this._normalizer=d,this._triggerCache={},this.onRemovalComplete=(w,re)=>{},this._transitionEngine=new Gi(y,n,d),this._timelineEngine=new Vr(y,n,d),this._transitionEngine.onRemovalComplete=(w,re)=>this.onRemovalComplete(w,re)}registerTrigger(y,n,d,w,re){const Ze=y+"-"+w;let Lt=this._triggerCache[Ze];if(!Lt){const Gt=[],On=hn(this._driver,re,Gt);if(Gt.length)throw new Error(`The animation trigger "${w}" has failed to build due to the following errors:\n - ${Gt.join("\n - ")}`);Lt=function(f,y,n){return new qe(f,y,n)}(w,On,this._normalizer),this._triggerCache[Ze]=Lt}this._transitionEngine.registerTrigger(n,w,Lt)}register(y,n){this._transitionEngine.register(y,n)}destroy(y,n){this._transitionEngine.destroy(y,n)}onInsert(y,n,d,w){this._transitionEngine.insertNode(y,n,d,w)}onRemove(y,n,d,w){this._transitionEngine.removeNode(y,n,w||!1,d)}disableAnimations(y,n){this._transitionEngine.markElementAsDisabled(y,n)}process(y,n,d,w){if("@"==d.charAt(0)){const[re,Ze]=j(d);this._timelineEngine.command(re,n,Ze,w)}else this._transitionEngine.trigger(y,n,d,w)}listen(y,n,d,w,re){if("@"==d.charAt(0)){const[Ze,Lt]=j(d);return this._timelineEngine.listen(Ze,n,Lt,re)}return this._transitionEngine.listen(y,n,d,w,re)}flush(y=-1){this._transitionEngine.flush(y)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function Ri(f,y){let n=null,d=null;return Array.isArray(y)&&y.length?(n=gi(y[0]),y.length>1&&(d=gi(y[y.length-1]))):y&&(n=gi(y)),n||d?new wo(f,n,d):null}let wo=(()=>{class f{constructor(n,d,w){this._element=n,this._startStyles=d,this._endStyles=w,this._state=0;let re=f.initialStylesByElement.get(n);re||f.initialStylesByElement.set(n,re={}),this._initialStyles=re}start(){this._state<1&&(this._startStyles&&er(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(er(this._element,this._initialStyles),this._endStyles&&(er(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(f.initialStylesByElement.delete(this._element),this._startStyles&&(Mn(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Mn(this._element,this._endStyles),this._endStyles=null),er(this._element,this._initialStyles),this._state=3)}}return f.initialStylesByElement=new WeakMap,f})();function gi(f){let y=null;const n=Object.keys(f);for(let d=0;d<n.length;d++){const w=n[d];Hi(w)&&(y=y||{},y[w]=f[w])}return y}function Hi(f){return"display"===f||"position"===f}const cs="animation",ws="animationend";class xa{constructor(y,n,d,w,re,Ze,Lt){this._element=y,this._name=n,this._duration=d,this._delay=w,this._easing=re,this._fillMode=Ze,this._onDoneFn=Lt,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=Gt=>this._handleCallback(Gt)}apply(){(function(f,y){const n=Ma(f,"").trim();let d=0;n.length&&(function(f,y){let n=0;for(let d=0;d<f.length;d++)","===f.charAt(d)&&n++;return n}(n)+1,y=`${n}, ${y}`),tl(f,"",y)})(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),Fo(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){Ra(this._element,this._name,"paused")}resume(){Ra(this._element,this._name,"running")}setPosition(y){const n=Sa(this._element,this._name);this._position=y*this._duration,tl(this._element,"Delay",`-${this._position}ms`,n)}getPosition(){return this._position}_handleCallback(y){const n=y._ngTestManualTimestamp||Date.now(),d=1e3*parseFloat(y.elapsedTime.toFixed(3));y.animationName==this._name&&Math.max(n-this._startTime,0)>=this._delay&&d>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),Fo(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(f,y){const d=Ma(f,"").split(","),w=sa(d,y);w>=0&&(d.splice(w,1),tl(f,"",d.join(",")))}(this._element,this._name))}}function Ra(f,y,n){tl(f,"PlayState",n,Sa(f,y))}function Sa(f,y){const n=Ma(f,"");return n.indexOf(",")>0?sa(n.split(","),y):sa([n],y)}function sa(f,y){for(let n=0;n<f.length;n++)if(f[n].indexOf(y)>=0)return n;return-1}function Fo(f,y,n){n?f.removeEventListener(ws,y):f.addEventListener(ws,y)}function tl(f,y,n,d){const w=cs+y;if(null!=d){const re=f.style[w];if(re.length){const Ze=re.split(",");Ze[d]=n,n=Ze.join(",")}}f.style[w]=n}function Ma(f,y){return f.style[cs+y]||""}class pt{constructor(y,n,d,w,re,Ze,Lt,Gt){this.element=y,this.keyframes=n,this.animationName=d,this._duration=w,this._delay=re,this._finalStyles=Lt,this._specialStyles=Gt,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=Ze||"linear",this.totalTime=w+re,this._buildStyler()}onStart(y){this._onStartFns.push(y)}onDone(y){this._onDoneFns.push(y)}onDestroy(y){this._onDestroyFns.push(y)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(y=>y()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(y=>y()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(y=>y()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(y){this._styler.setPosition(y)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new xa(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(y){const n="start"==y?this._onStartFns:this._onDoneFns;n.forEach(d=>d()),n.length=0}beforeDestroy(){this.init();const y={};if(this.hasStarted()){const n=this._state>=3;Object.keys(this._finalStyles).forEach(d=>{"offset"!=d&&(y[d]=n?this._finalStyles[d]:Dn(this.element,d))})}this.currentSnapshot=y}}class an extends l.ZN{constructor(y,n){super(),this.element=y,this._startingStyles={},this.__initialized=!1,this._styles=Oe(n)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(y=>{this._startingStyles[y]=this.element.style[y]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(y=>this.element.style.setProperty(y,this._styles[y])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(y=>{const n=this._startingStyles[y];n?this.element.style.setProperty(y,n):this.element.style.removeProperty(y)}),this._startingStyles=null,super.destroy())}}class ye{constructor(){this._count=0}validateStyleProperty(y){return ne(y)}matchesElement(y,n){return ce(y,n)}containsElement(y,n){return Ae(y,n)}query(y,n,d){return Se(y,n,d)}computeStyle(y,n,d){return window.getComputedStyle(y)[n]}buildKeyframeElement(y,n,d){d=d.map(Lt=>Oe(Lt));let w=`@keyframes ${n} {\n`,re="";d.forEach(Lt=>{re=" ";const Gt=parseFloat(Lt.offset);w+=`${re}${100*Gt}% {\n`,re+=" ",Object.keys(Lt).forEach(On=>{const pr=Lt[On];switch(On){case"offset":return;case"easing":return void(pr&&(w+=`${re}animation-timing-function: ${pr};\n`));default:return void(w+=`${re}${On}: ${pr};\n`)}}),w+=`${re}}\n`}),w+="}\n";const Ze=document.createElement("style");return Ze.textContent=w,Ze}animate(y,n,d,w,re,Ze=[],Lt){const Gt=Ze.filter(zo=>zo instanceof pt),On={};$n(d,w)&&Gt.forEach(zo=>{let Bs=zo.currentSnapshot;Object.keys(Bs).forEach(gs=>On[gs]=Bs[gs])});const pr=function(f){let y={};return f&&(Array.isArray(f)?f:[f]).forEach(d=>{Object.keys(d).forEach(w=>{"offset"==w||"easing"==w||(y[w]=d[w])})}),y}(n=En(y,n,On));if(0==d)return new an(y,pr);const fr="gen_css_kf_"+this._count++,ri=this.buildKeyframeElement(y,fr,n);(function(f){var y;const n=null===(y=f.getRootNode)||void 0===y?void 0:y.call(f);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(y).appendChild(ri);const go=Ri(y,n),co=new pt(y,n,fr,d,w,re,pr,go);return co.onDestroy(()=>{var f;(f=ri).parentNode.removeChild(f)}),co}}class vs{constructor(y,n,d,w){this.element=y,this.keyframes=n,this.options=d,this._specialStyles=w,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=d.duration,this._delay=d.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(y=>y()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const y=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,y,this.options),this._finalKeyframe=y.length?y[y.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(y,n,d){return y.animate(n,d)}onStart(y){this._onStartFns.push(y)}onDone(y){this._onDoneFns.push(y)}onDestroy(y){this._onDestroyFns.push(y)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(y=>y()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(y=>y()),this._onDestroyFns=[])}setPosition(y){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=y*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const y={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(n=>{"offset"!=n&&(y[n]=this._finished?this._finalKeyframe[n]:Dn(this.element,n))}),this.currentSnapshot=y}triggerCallback(y){const n="start"==y?this._onStartFns:this._onDoneFns;n.forEach(d=>d()),n.length=0}}class as{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Zo().toString()),this._cssKeyframesDriver=new ye}validateStyleProperty(y){return ne(y)}matchesElement(y,n){return ce(y,n)}containsElement(y,n){return Ae(y,n)}query(y,n,d){return Se(y,n,d)}computeStyle(y,n,d){return window.getComputedStyle(y)[n]}overrideWebAnimationsSupport(y){this._isNativeImpl=y}animate(y,n,d,w,re,Ze=[],Lt){if(!Lt&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(y,n,d,w,re,Ze);const pr={duration:d,delay:w,fill:0==w?"both":"forwards"};re&&(pr.easing=re);const fr={},ri=Ze.filter(go=>go instanceof vs);$n(d,w)&&ri.forEach(go=>{let co=go.currentSnapshot;Object.keys(co).forEach(zo=>fr[zo]=co[zo])});const Ii=Ri(y,n=En(y,n=n.map(go=>ar(go,!1)),fr));return new vs(y,n,pr,Ii)}}function Zo(){return u()&&Element.prototype.animate||{}}let Ta=(()=>{class f extends l._j{constructor(n,d){super(),this._nextAnimationId=0,this._renderer=n.createRenderer(d.body,{id:"0",encapsulation:e.ifc.None,styles:[],data:{animation:[]}})}build(n){const d=this._nextAnimationId.toString();this._nextAnimationId++;const w=Array.isArray(n)?(0,l.vP)(n):n;return ba(this._renderer,null,d,"register",[w]),new hl(d,this._renderer)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(e.FYo),e.LFG(s.K0))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();class hl extends l.LC{constructor(y,n){super(),this._id=y,this._renderer=n}create(y,n){return new Oa(this._id,y,n||{},this._renderer)}}class Oa{constructor(y,n,d,w){this.id=y,this.element=n,this._renderer=w,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",d)}_listen(y,n){return this._renderer.listen(this.element,`@@${this.id}:${y}`,n)}_command(y,...n){return ba(this._renderer,this.element,this.id,y,n)}onDone(y){this._listen("done",y)}onStart(y){this._listen("start",y)}onDestroy(y){this._listen("destroy",y)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(y){this._command("setPosition",y)}getPosition(){var y,n;return null!==(n=null===(y=this._renderer.engine.players[+this.id])||void 0===y?void 0:y.getPosition())&&void 0!==n?n:0}}function ba(f,y,n,d,w){return f.setProperty(y,`@@${n}:${d}`,w)}const $o="@.disabled";let wl=(()=>{class f{constructor(n,d,w){this.delegate=n,this.engine=d,this._zone=w,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),d.onRemovalComplete=(re,Ze)=>{Ze&&Ze.parentNode(re)&&Ze.removeChild(re.parentNode,re)}}createRenderer(n,d){const re=this.delegate.createRenderer(n,d);if(!(n&&d&&d.data&&d.data.animation)){let pr=this._rendererCache.get(re);return pr||(pr=new _l("",re,this.engine),this._rendererCache.set(re,pr)),pr}const Ze=d.id,Lt=d.id+"-"+this._currentId;this._currentId++,this.engine.register(Lt,n);const Gt=pr=>{Array.isArray(pr)?pr.forEach(Gt):this.engine.registerTrigger(Ze,Lt,n,pr.name,pr)};return d.data.animation.forEach(Gt),new Qa(this,Lt,re,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(n,d,w){n>=0&&n<this._microtaskId?this._zone.run(()=>d(w)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(re=>{const[Ze,Lt]=re;Ze(Lt)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([d,w]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(e.FYo),e.LFG(ti),e.LFG(e.R0b))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();class _l{constructor(y,n,d){this.namespaceId=y,this.delegate=n,this.engine=d,this.destroyNode=this.delegate.destroyNode?w=>n.destroyNode(w):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(y,n){return this.delegate.createElement(y,n)}createComment(y){return this.delegate.createComment(y)}createText(y){return this.delegate.createText(y)}appendChild(y,n){this.delegate.appendChild(y,n),this.engine.onInsert(this.namespaceId,n,y,!1)}insertBefore(y,n,d,w=!0){this.delegate.insertBefore(y,n,d),this.engine.onInsert(this.namespaceId,n,y,w)}removeChild(y,n,d){this.engine.onRemove(this.namespaceId,n,this.delegate,d)}selectRootElement(y,n){return this.delegate.selectRootElement(y,n)}parentNode(y){return this.delegate.parentNode(y)}nextSibling(y){return this.delegate.nextSibling(y)}setAttribute(y,n,d,w){this.delegate.setAttribute(y,n,d,w)}removeAttribute(y,n,d){this.delegate.removeAttribute(y,n,d)}addClass(y,n){this.delegate.addClass(y,n)}removeClass(y,n){this.delegate.removeClass(y,n)}setStyle(y,n,d,w){this.delegate.setStyle(y,n,d,w)}removeStyle(y,n,d){this.delegate.removeStyle(y,n,d)}setProperty(y,n,d){"@"==n.charAt(0)&&n==$o?this.disableAnimations(y,!!d):this.delegate.setProperty(y,n,d)}setValue(y,n){this.delegate.setValue(y,n)}listen(y,n,d){return this.delegate.listen(y,n,d)}disableAnimations(y,n){this.engine.disableAnimations(y,n)}}class Qa extends _l{constructor(y,n,d,w){super(n,d,w),this.factory=y,this.namespaceId=n}setProperty(y,n,d){"@"==n.charAt(0)?"."==n.charAt(1)&&n==$o?this.disableAnimations(y,d=void 0===d||!!d):this.engine.process(this.namespaceId,y,n.substr(1),d):this.delegate.setProperty(y,n,d)}listen(y,n,d){if("@"==n.charAt(0)){const w=function(f){switch(f){case"body":return document.body;case"document":return document;case"window":return window;default:return f}}(y);let re=n.substr(1),Ze="";return"@"!=re.charAt(0)&&([re,Ze]=function(f){const y=f.indexOf(".");return[f.substring(0,y),f.substr(y+1)]}(re)),this.engine.listen(this.namespaceId,w,re,Ze,Lt=>{this.factory.scheduleListenerCallback(Lt._data||-1,d,Lt)})}return this.delegate.listen(y,n,d)}}let Yl=(()=>{class f extends ti{constructor(n,d,w){super(n.body,d,w)}ngOnDestroy(){this.flush()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(s.K0),e.LFG(ue),e.LFG(Oi))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();const pa=new e.OlP("AnimationModuleType"),Vo=[{provide:l._j,useClass:Ta},{provide:Oi,useFactory:function(){return new Kr}},{provide:ti,useClass:Yl},{provide:e.FYo,useFactory:function(f,y,n){return new wl(f,y,n)},deps:[t.se,ti,e.R0b]}],Ba=[{provide:ue,useFactory:function(){return"function"==typeof Zo()?new as:new ye}},{provide:pa,useValue:"BrowserAnimations"},...Vo],_s=[{provide:ue,useClass:be},{provide:pa,useValue:"NoopAnimations"},...Vo];let We=(()=>{class f{static withConfig(n){return{ngModule:f,providers:n.disableAnimations?_s:Ba}}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({providers:Ba,imports:[t.b2]}),f})();var kt=o(91376),tn=o(6283),ur=o(23815),gn=o.n(ur),xr=o(64762),Zr=o(93523);let Pr=class{constructor(y){this.http=y,this.baseURL="api/cephfs",this.baseUiURL="ui-api/cephfs"}list(){return this.http.get(`${this.baseURL}`)}lsDir(y,n){let d=`${this.baseUiURL}/${y}/ls_dir?depth=2`;return n&&(d+=`&path=${encodeURIComponent(n)}`),this.http.get(d)}getCephfs(y){return this.http.get(`${this.baseURL}/${y}`)}getTabs(y){return this.http.get(`ui-api/cephfs/${y}/tabs`)}getClients(y){return this.http.get(`${this.baseURL}/${y}/clients`)}evictClient(y,n){return this.http.delete(`${this.baseURL}/${y}/client/${n}`)}getMdsCounters(y){return this.http.get(`${this.baseURL}/${y}/mds_counters`)}mkSnapshot(y,n,d){let w=new a.LE;return w=w.append("path",n),gn().isUndefined(d)||(w=w.append("name",d)),this.http.post(`${this.baseURL}/${y}/snapshot`,null,{params:w})}rmSnapshot(y,n,d){let w=new a.LE;return w=w.append("path",n),w=w.append("name",d),this.http.delete(`${this.baseURL}/${y}/snapshot`,{params:w})}quota(y,n,d){let w=new a.LE;return w=w.append("path",n),this.http.put(`${this.baseURL}/${y}/quota`,d,{observe:"response",params:w})}};Pr.\u0275fac=function(y){return new(y||Pr)(e.LFG(a.eN))},Pr.\u0275prov=e.Yz7({token:Pr,factory:Pr.\u0275fac,providedIn:"root"}),Pr=(0,xr.gn)([Zr.o,(0,xr.w6)("design:paramtypes",[a.eN])],Pr);var mi=o(68136),ni=o(99466),si=o(68774),bi=o(96102),Ui=o(64337),ro=o(46797),mo=o(69158),Bi=o(91801),hi=o(74937),Br=o(38549),G=o(59376),Me=o(47557),ft=o(66369),Ft=o(61350),Bt=o(16738),In=o.n(Bt),Xn=o(87311),Sr=o(13788);const pi=["chartCanvas"],Fr=["chartTooltip"];let zr=(()=>{class f{constructor(){this.lhsCounter="mds_mem.ino",this.rhsCounter="mds_server.handle_client_request",this.chart={datasets:[{label:this.lhsCounter,yAxisID:"LHS",data:[],lineTension:.1},{label:this.rhsCounter,yAxisID:"RHS",data:[],lineTension:.1}],options:{title:{text:"",display:!0},responsive:!0,maintainAspectRatio:!1,legend:{position:"top"},scales:{xAxes:[{position:"top",type:"time",time:{displayFormats:{quarter:"MMM YYYY"}},ticks:{maxRotation:0}}],yAxes:[{id:"LHS",type:"linear",position:"left"},{id:"RHS",type:"linear",position:"right"}]},tooltips:{enabled:!1,mode:"index",intersect:!1,position:"nearest",callbacks:{title:(n,d)=>{let w=0;if(n.length>0){const re=n[0];w=d.datasets[re.datasetIndex].data[re.index].x}return w.toString()}}}},chartType:"line"}}ngOnInit(){gn().isUndefined(this.mdsCounter)||(this.setChartTooltip(),this.updateChart())}ngOnChanges(){gn().isUndefined(this.mdsCounter)||this.updateChart()}setChartTooltip(){const n=new Xn.h(this.chartCanvas,this.chartTooltip,w=>w.caretX+"px",w=>w.caretY-w.height-23+"px");n.getTitle=w=>In()(w,"x").format("LTS"),n.checkOffset=!0;const d={title:{text:this.mdsCounter.name},tooltips:{custom:w=>n.customTooltips(w)}};gn().merge(this.chart,{options:d})}updateChart(){const n=[{data:this.convertTimeSeries(this.mdsCounter[this.lhsCounter])},{data:this.deltaTimeSeries(this.mdsCounter[this.rhsCounter])}];gn().merge(this.chart,{datasets:n}),this.chart.datasets=[...this.chart.datasets]}convertTimeSeries(n){const d=[];return gn().each(n,w=>{d.push({x:1e3*w[0],y:w[1]})}),d.shift(),d}deltaTimeSeries(n){let d,w=n[0];const re=[];for(d=1;d<n.length;d++){const Ze=n[d];re.push({x:1e3*Ze[0],y:Ze[1]-w[1]}),w=Ze}return re}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-chart"]],viewQuery:function(n,d){if(1&n&&(e.Gf(pi,7),e.Gf(Fr,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.chartCanvas=w.first),e.iGM(w=e.CRH())&&(d.chartTooltip=w.first)}},inputs:{mdsCounter:"mdsCounter"},features:[e.TTD],decls:6,vars:3,consts:[[1,"chart-container"],["baseChart","",3,"datasets","options","chartType"],["chartCanvas",""],[1,"chartjs-tooltip"],["chartTooltip",""]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e._UZ(1,"canvas",1,2),e.TgZ(3,"div",3,4),e._UZ(5,"table"),e.qZA(),e.qZA()),2&n&&(e.xp6(1),e.Q6J("datasets",d.chart.datasets)("options",d.chart.options)("chartType",d.chart.chartType))},directives:[Sr.jh],styles:['.chart-container[_ngcontent-%COMP%]{cursor:pointer;margin:auto;overflow:visible;position:absolute}canvas[_ngcontent-%COMP%]{user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-family:"Helvetica Neue","Helvetica","Arial",sans-serif!important;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%);transition:all .1s ease}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]:after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]:after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]:after{border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px;content:" ";left:50%;margin-left:-5px;position:absolute;top:100%} .chartjs-tooltip-key{display:inline-block;height:10px;margin-right:10px;width:10px}.chart-container[_ngcontent-%COMP%]{height:500px;margin-bottom:20px;position:relative;width:100%}']}),f})();var Un=o(60251);const lr=["poolUsageTpl"],dr=["activityTmpl"];function li(f,y){if(1&f&&(e.TgZ(0,"div",0),e.TgZ(1,"div",11),e._UZ(2,"cd-cephfs-chart",12),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.Q6J("mdsCounter",n)}}function Ti(f,y){if(1&f&&e._UZ(0,"cd-usage-bar",13),2&f){const n=y.row;e.Q6J("total",n.size)("used",n.used)}}function Oo(f,y){1&f&&(e._uU(0),e.ALo(1,"dimless")),2&f&&e.AsE(" ","standby-replay"===y.row.state?"Evts":"Reqs",": ",e.lcZ(1,2,y.value)," /s\n")}let es=(()=>{class f{constructor(n,d){this.dimlessBinary=n,this.dimless=d,this.standbys=[],this.objectValues=Object.values}ngOnChanges(){this.setStandbys()}setStandbys(){this.standbys=[{key:"Standby daemons",value:this.data.standbys}]}ngOnInit(){this.columns={ranks:[{prop:"rank",name:"Rank"},{prop:"state",name:"State"},{prop:"mds",name:"Daemon"},{prop:"activity",name:"Activity",cellTemplate:this.activityTmpl},{prop:"dns",name:"Dentries",pipe:this.dimless},{prop:"inos",name:"Inodes",pipe:this.dimless},{prop:"dirs",name:"Dirs",pipe:this.dimless},{prop:"caps",name:"Caps",pipe:this.dimless}],pools:[{prop:"pool",name:"Pool"},{prop:"type",name:"Type"},{prop:"size",name:"Size",pipe:this.dimlessBinary},{name:"Usage",cellTemplate:this.poolUsageTpl,comparator:(n,d,w,re)=>{const Ze=w.used/w.avail,Lt=re.used/re.avail;return Ze===Lt?0:Ze>Lt?1:-1}}]}}trackByFn(n,d){return d.name}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Me.$),e.Y36(ft.n))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-detail"]],viewQuery:function(n,d){if(1&n&&(e.Gf(lr,7),e.Gf(dr,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.poolUsageTpl=w.first),e.iGM(w=e.CRH())&&(d.activityTmpl=w.first)}},inputs:{data:"data"},features:[e.TTD],decls:19,vars:9,consts:function(){let y,n,d,w;return y="Ranks",n="Standbys",d="Pools",w="MDS performance counters",[[1,"row"],[1,"col-sm-6"],y,[3,"data","columns","toolHeader"],n,[3,"data"],d,w,["class","row",4,"ngFor","ngForOf","ngForTrackBy"],["poolUsageTpl",""],["activityTmpl",""],[1,"col-md-12"],[3,"mdsCounter"],[3,"total","used"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"legend"),e.SDv(3,2),e.qZA(),e._UZ(4,"cd-table",3),e.TgZ(5,"legend"),e.SDv(6,4),e.qZA(),e._UZ(7,"cd-table-key-value",5),e.qZA(),e.TgZ(8,"div",1),e.TgZ(9,"legend"),e.SDv(10,6),e.qZA(),e._UZ(11,"cd-table",3),e.qZA(),e.qZA(),e.TgZ(12,"legend"),e.SDv(13,7),e.qZA(),e.YNc(14,li,3,1,"div",8),e.YNc(15,Ti,1,2,"ng-template",null,9,e.W1O),e.YNc(17,Oo,2,4,"ng-template",null,10,e.W1O)),2&n&&(e.xp6(4),e.Q6J("data",d.data.ranks)("columns",d.columns.ranks)("toolHeader",!1),e.xp6(3),e.Q6J("data",d.standbys),e.xp6(4),e.Q6J("data",d.data.pools)("columns",d.columns.pools)("toolHeader",!1),e.xp6(3),e.Q6J("ngForOf",d.objectValues(d.data.mdsCounters))("ngForTrackBy",d.trackByFn))},directives:[Ui.a,Ft.b,s.sg,zr,Un.O],pipes:[ft.n],styles:[".progress[_ngcontent-%COMP%]{margin-bottom:0}"]}),f})();var jo=o(30982),uo=o(79512),Ki=o(65862),Ho=o(18001),Yi=o(97161),na=o(63285),ha=o(94928);let gl=(()=>{class f{constructor(n,d,w,re,Ze){this.cephfsService=n,this.modalService=d,this.notificationService=w,this.authStorageService=re,this.actionLabels=Ze,this.triggerApiUpdate=new e.vpe,this.selection=new si.r,this.permission=this.authStorageService.getPermissions().cephfs,this.tableActions=[{permission:"update",icon:Ki.P.signOut,click:()=>this.evictClientModal(),name:this.actionLabels.EVICT}]}ngOnInit(){this.columns=[{prop:"id",name:"id"},{prop:"type",name:"type"},{prop:"state",name:"state"},{prop:"version",name:"version"},{prop:"hostname",name:"Host"},{prop:"root",name:"root"}]}updateSelection(n){this.selection=n}evictClient(n){this.cephfsService.evictClient(this.id,n).subscribe(()=>{this.triggerApiUpdate.emit(),this.modalRef.close(),this.notificationService.show(Ho.k.success,"Evicted client '" + n + "'")},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}evictClientModal(){const n=this.selection.first().id;this.modalRef=this.modalService.show(jo.M,{itemDescription:"client",itemNames:[n],actionDescription:"evict",submitAction:()=>this.evictClient(n)})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Pr),e.Y36(na.Z),e.Y36(Yi.g),e.Y36(hi.j),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-clients"]],inputs:{id:"id",clients:"clients"},outputs:{triggerApiUpdate:"triggerApiUpdate"},decls:2,vars:7,consts:[["selectionType","single",3,"data","columns","status","autoReload","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"]],template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return d.triggerApiUpdate.emit()})("updateSelection",function(re){return d.updateSelection(re)}),e._UZ(1,"cd-table-actions",1),e.qZA()),2&n&&(e.Q6J("data",d.clients.data)("columns",d.columns)("status",d.clients.status)("autoReload",-1),e.xp6(1),e.Q6J("permission",d.permission)("selection",d.selection)("tableActions",d.tableActions))},directives:[Ui.a,ha.K],styles:[""]}),f})();var Hn=o(24751),Ts=o(20356),Ll=o(36169),Hl=o(65683),vo=o(77205),Ds=o(87925);const zc=["origin"],vc=function(f,y){return[f,y]};function hc(f,y){if(1&f&&e._UZ(0,"i",5),2&f){const n=e.oxw(2);e.Q6J("ngClass",e.WLB(1,vc,n.icons.spinner,n.icons.spin))}}function Fl(f,y){if(1&f&&(e.TgZ(0,"tree-root",10),e.YNc(1,hc,1,4,"ng-template",null,11,e.W1O),e.qZA()),2&f){const n=e.oxw();e.Q6J("nodes",n.nodes)("options",n.treeOptions)}}function Cl(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"legend"),e.SDv(2,17),e.qZA(),e.TgZ(3,"cd-table",18),e.NdJ("updateSelection",function(w){return e.CHM(n),e.oxw(2).quota.updateSelection(w)}),e._UZ(4,"cd-table-actions",19),e.qZA(),e.BQk()}if(2&f){const n=e.oxw(2);e.xp6(3),e.Q6J("data",n.settings)("columns",n.quota.columns)("limit",0)("footer",!1)("onlyActionHeader",!0)("forceIdentifier",!0)("toolHeader",!1),e.xp6(1),e.Q6J("permission",n.permission)("selection",n.quota.selection)("tableActions",n.quota.tableActions)}}function ql(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",12),e.TgZ(1,"div",2),e.TgZ(2,"div",3),e._uU(3),e.qZA(),e.TgZ(4,"div",6),e.YNc(5,Cl,5,10,"ng-container",13),e.TgZ(6,"legend"),e.SDv(7,14),e.qZA(),e.TgZ(8,"cd-table",15),e.NdJ("updateSelection",function(w){return e.CHM(n),e.oxw().snapshot.updateSelection(w)}),e._UZ(9,"cd-table-actions",16),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(3),e.hij(" ",n.selectedDir.path," "),e.xp6(2),e.Q6J("ngIf","/"!==n.selectedDir.path),e.xp6(3),e.Q6J("data",n.selectedDir.snapshots)("columns",n.snapshot.columns),e.xp6(1),e.Q6J("permission",n.permission)("selection",n.snapshot.selection)("tableActions",n.snapshot.tableActions)}}function kl(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"span",20),e.NdJ("click",function(){const re=e.CHM(n).value;return e.oxw().selectOrigin(re)}),e._uU(1),e.qZA()}if(2&f){const n=y.value;e.xp6(1),e.Oqu(n)}}let eu=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt){this.authStorageService=n,this.modalService=d,this.cephfsService=w,this.cdDatePipe=re,this.actionLabels=Ze,this.notificationService=Lt,this.dimlessBinaryPipe=Gt,this.icons=Ki.P,this.loadingIndicator=!1,this.loading={},this.treeOptions={useVirtualScroll:!0,getChildren:On=>this.updateDirectory(On.id),actionMapping:{mouse:{click:this.selectAndShowNode.bind(this),expanderClick:this.selectAndShowNode.bind(this)}}}}selectAndShowNode(n,d,w){Ts.iM.TOGGLE_EXPANDED(n,d,w),this.selectNode(d)}selectNode(n){Ts.iM.TOGGLE_ACTIVE(void 0,n,void 0),this.selectedDir=this.getDirectory(n),"/"!==n.id&&this.setSettings(n)}ngOnInit(){this.permission=this.authStorageService.getPermissions().cephfs,this.setUpQuotaTable(),this.setUpSnapshotTable()}setUpQuotaTable(){this.quota={columns:[{prop:"row.name",name:"Name",flexGrow:1},{prop:"row.value",name:"Value",sortable:!1,flexGrow:1},{prop:"row.originPath",name:"Origin",sortable:!1,cellTemplate:this.originTmpl,flexGrow:1}],selection:new si.r,updateSelection:n=>{this.quota.selection=n},tableActions:[{name:this.actionLabels.SET,icon:Ki.P.edit,permission:"update",visible:n=>!n.hasSelection||n.first()&&0===n.first().dirValue,click:()=>this.updateQuotaModal()},{name:this.actionLabels.UPDATE,icon:Ki.P.edit,permission:"update",visible:n=>n.first()&&n.first().dirValue>0,click:()=>this.updateQuotaModal()},{name:this.actionLabels.UNSET,icon:Ki.P.destroy,permission:"update",disable:n=>!n.hasSelection||n.first()&&0===n.first().dirValue,click:()=>this.unsetQuotaModal()}]}}setUpSnapshotTable(){this.snapshot={columns:[{prop:"name",name:"Name",flexGrow:1},{prop:"path",name:"Path",isHidden:!0,flexGrow:2},{prop:"created",name:"Created",flexGrow:1,pipe:this.cdDatePipe}],selection:new si.r,updateSelection:n=>{this.snapshot.selection=n},tableActions:[{name:this.actionLabels.CREATE,icon:Ki.P.add,permission:"create",canBePrimary:n=>!n.hasSelection,click:()=>this.createSnapshot(),disable:()=>this.disableCreateSnapshot()},{name:this.actionLabels.DELETE,icon:Ki.P.destroy,permission:"delete",click:()=>this.deleteSnapshotModal(),canBePrimary:n=>n.hasSelection,disable:n=>!n.hasSelection}]}}disableCreateSnapshot(){const n=this.selectedDir.path.split("/").slice(1);return n.length>=4&&"volumes"===n[0]&&"Cannot create snapshots for files/folders in the subvolume " + n[2] + ""}ngOnChanges(){this.selectedDir=void 0,this.dirs=[],this.requestedPaths=[],this.nodeIds={},this.id&&(this.setRootNode(),this.firstCall())}setRootNode(){this.nodes=[{name:"/",id:"/",isExpanded:!0}]}firstCall(){setTimeout(()=>{this.getNode("/").loadNodeChildren()},10)}updateDirectory(n){if(this.unsetLoadingIndicator(),this.requestedPaths.includes(n)){if(!0===this.loading[n])return}else this.requestedPaths.push(n);return new Promise(d=>{this.setLoadingIndicator(n,!0),this.cephfsService.lsDir(this.id,n).subscribe(w=>{this.updateTreeStructure(w),this.updateQuotaTable(),this.updateTree(),d(this.getChildren(n)),this.setLoadingIndicator(n,!1)})})}setLoadingIndicator(n,d){this.loading[n]=d,this.unsetLoadingIndicator()}getSubDirectories(n,d=this.dirs){return d.filter(w=>w.parent===n)}getChildren(n){const d=this.getSubTree(n);return gn().sortBy(this.getSubDirectories(n),"path").map(w=>this.createNode(w,d))}createNode(n,d){return this.nodeIds[n.path]=n,d||this.getSubTree(n.parent),{name:n.name,id:n.path,hasChildren:this.getSubDirectories(n.path,d).length>0}}getSubTree(n){return this.dirs.filter(d=>d.parent&&d.parent.startsWith(n))}setSettings(n){const d=(w,re)=>w?re?re(w):w:"";this.settings=[this.getQuota(n,"max_files",d),this.getQuota(n,"max_bytes",w=>d(w,re=>this.dimlessBinaryPipe.transform(re)))]}getQuota(n,d,w){const re=n.id;n=this.getOrigin(n,d);const Ze=this.getDirectory(n),Lt=Ze.quotas[d];let Gt=Lt,On=Ze.path;if(n.id===re)if("/"===n.parent.id)Gt=0;else{const pr=this.getDirectory(this.getOrigin(n.parent,d));Gt=pr.quotas[d],On=pr.path}return{row:{name:"max_bytes"===d?"Max size":"Max files",value:w(Lt),originPath:Lt?Ze.path:""},quotaKey:d,dirValue:this.nodeIds[re].quotas[d],nextTreeMaximum:{value:Gt,path:Gt?On:""}}}getOrigin(n,d){if(n.parent&&"/"!==n.parent.id){const w=this.getQuotaFromTree(n,d),re=this.getOrigin(n.parent,d),Ze=this.getQuotaFromTree(re,d);return 0===w||0!==Ze&&Ze<w?re:n}return n}getQuotaFromTree(n,d){return this.getDirectory(n).quotas[d]}getDirectory(n){return this.nodeIds[n.id]}selectOrigin(n){this.selectNode(this.getNode(n))}getNode(n){return this.treeComponent.treeModel.getNodeById(n)}updateQuotaModal(){const n=this.selectedDir.path,d=this.quota.selection.first(),w=d.nextTreeMaximum,re=d.quotaKey,Ze=d.dirValue;this.modalService.show(Hl.X,{titleText:this.getModalQuotaTitle(0===Ze?this.actionLabels.SET:this.actionLabels.UPDATE,n),message:w.value?"The inherited " + this.getQuotaValueFromPathMsg(w.value, w.path) + " is the maximum value to be used.":void 0,fields:[this.getQuotaFormField(d.row.name,re,Ze,w.value)],submitButtonText:"Save",onSubmit:Lt=>this.updateQuota(Lt)})}getModalQuotaTitle(n,d){return "" + n + " CephFS " + this.getQuotaName() + " quota for '" + d + "'"}getQuotaName(){return this.isBytesQuotaSelected()?"size":"files"}isBytesQuotaSelected(){return"max_bytes"===this.quota.selection.first().quotaKey}getQuotaValueFromPathMsg(n,d){return n=this.isBytesQuotaSelected()?this.dimlessBinaryPipe.transform(n):n,"" + this.getQuotaName() + " quota " + n + " from '" + d + "'"}getQuotaFormField(n,d,w,re){const Ze="max_bytes"===d,Lt=[Ze?vo.h.binaryMin(0):Hn.kI.min(0)];re&&Lt.push(Ze?vo.h.binaryMax(re):Hn.kI.max(re));const Gt={type:Ze?"binary":"number",label:n,name:d,value:w,validators:Lt,required:!0};return Ze||(Gt.errors={min:"Value has to be at least 0 or more",max:"Value has to be at most " + re + " or less"}),Gt}updateQuota(n,d){const w=this.selectedDir.path,re=this.quota.selection.first().quotaKey,Ze=0===this.selectedDir.quotas[re]?this.actionLabels.SET:0===n[re]?this.actionLabels.UNSET:"Updated";this.cephfsService.quota(this.id,w,n).subscribe(()=>{d&&d(),this.notificationService.show(Ho.k.success,this.getModalQuotaTitle(Ze,w)),this.forceDirRefresh()})}unsetQuotaModal(){const n=this.selectedDir.path,d=this.quota.selection.first(),w=d.quotaKey,re=d.nextTreeMaximum,Ze=d.dirValue,Lt=this.getQuotaValueFromPathMsg(re.value,re.path),Gt=re.value>0?re.value>Ze?"in order to inherit " + Lt + "":"which isn't used because of the inheritance of " + Lt + "":"in order to have no quota on the directory";this.modalRef=this.modalService.show(Ll.Y,{titleText:this.getModalQuotaTitle(this.actionLabels.UNSET,n),buttonText:this.actionLabels.UNSET,description:"" + this.actionLabels.UNSET + " " + this.getQuotaValueFromPathMsg(Ze, n) + " " + Gt + ".",onSubmit:()=>this.updateQuota({[w]:0},()=>this.modalRef.close())})}createSnapshot(){const n=this.selectedDir.path;this.modalService.show(Hl.X,{titleText:"Create Snapshot",message:"Please enter the name of the snapshot.",fields:[{type:"text",name:"name",value:`${In()().toISOString(!0)}`,required:!0}],submitButtonText:"Create Snapshot",onSubmit:d=>{this.cephfsService.mkSnapshot(this.id,n,d.name).subscribe(w=>{this.notificationService.show(Ho.k.success,"Created snapshot '" + w + "' for '" + n + "'"),this.forceDirRefresh()})}})}forceDirRefresh(n){if(!n){const w=this.selectedDir;if(!w)throw new Error("This function can only be called without path if an selection was made");n=w.parent?w.parent:w.path}this.getNode(n).loadNodeChildren()}updateTreeStructure(n){const d=(re,Ze)=>{const Lt=re.filter(On=>On.parent===Ze),Gt=Lt.map(On=>On.path);return{children:Lt,paths:Gt}};gn().uniq(n.map(re=>re.parent).sort()).forEach(re=>{const Ze=d(n,re),Lt=d(this.dirs,re);Lt.children.forEach(Gt=>{Ze.paths.includes(Gt.path)||this.removeOldDirectory(Gt)}),Ze.children.forEach(Gt=>{Lt.paths.includes(Gt.path)?this.updateExistingDirectory(Lt.children,Gt):this.addNewDirectory(Gt)})})}removeOldDirectory(n){const d=n.path;gn().remove(this.dirs,w=>w.path===d),delete this.nodeIds[d],this.updateDirectoriesParentNode(n)}updateDirectoriesParentNode(n){const d=n.parent;if(!d)return;const w=this.getNode(d);if(!w)return;const re=this.getChildren(d);w.data.children=re,w.data.hasChildren=re.length>0,this.treeComponent.treeModel.update()}addNewDirectory(n){this.dirs.push(n),this.nodeIds[n.path]=n,this.updateDirectoriesParentNode(n)}updateExistingDirectory(n,d){const w=n.find(re=>re.path===d.path);Object.assign(w,d)}updateQuotaTable(){const n=this.selectedDir?this.getNode(this.selectedDir.path):void 0;n&&"/"!==n.id&&this.setSettings(n)}updateTree(n=!1){this.loadingIndicator&&!n||(this.treeComponent.treeModel.update(),this.nodes=[...this.nodes],this.treeComponent.sizeChanged())}deleteSnapshotModal(){this.modalRef=this.modalService.show(jo.M,{itemDescription:"CephFs Snapshot",itemNames:this.snapshot.selection.selected.map(n=>n.name),submitAction:()=>this.deleteSnapshot()})}deleteSnapshot(){const n=this.selectedDir.path;this.snapshot.selection.selected.forEach(d=>{const w=d.name;this.cephfsService.rmSnapshot(this.id,n,w).subscribe(()=>{this.notificationService.show(Ho.k.success,"Deleted snapshot '" + w + "' for '" + n + "'")})}),this.modalRef.close(),this.forceDirRefresh()}refreshAllDirectories(){this.loadingIndicator=!0,this.requestedPaths.map(d=>this.forceDirRefresh(d));const n=setInterval(()=>{this.updateTree(!0),this.loadingIndicator||clearInterval(n)},3e3)}unsetLoadingIndicator(){!this.loadingIndicator||(clearTimeout(this.loadingTimeout),this.loadingTimeout=setTimeout(()=>{if(Object.values(this.loading).some(d=>d))return this.unsetLoadingIndicator();this.loadingIndicator=!1,this.updateTree()},3e3))}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(na.Z),e.Y36(Pr),e.Y36(bi.N),e.Y36(uo.p4),e.Y36(Yi.g),e.Y36(Me.$))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-directories"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Ts.qr,5),e.Gf(zc,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.treeComponent=w.first),e.iGM(w=e.CRH())&&(d.originTmpl=w.first)}},inputs:{id:"id"},features:[e.TTD],decls:11,vars:10,consts:function(){let y,n;return y="Snapshots",n="Quotas",[[1,"row"],[1,"col-sm-4","pr-0"],[1,"card"],[1,"card-header"],["type","button",1,"btn","btn-light","pull-right",3,"click"],[3,"ngClass"],[1,"card-body"],[3,"nodes","options",4,"ngIf"],["class","col-sm-8 metadata",4,"ngIf"],["origin",""],[3,"nodes","options"],["loadingTemplate",""],[1,"col-sm-8","metadata"],[4,"ngIf"],y,["identifier","name","forceIdentifier","true","selectionType","multiClick",3,"data","columns","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],n,["selectionType","single","identifier","quotaKey",3,"data","columns","limit","footer","onlyActionHeader","forceIdentifier","toolHeader","updateSelection"],[1,"only-table-actions",3,"permission","selection","tableActions"],[1,"quota-origin",3,"click"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"div",2),e.TgZ(3,"div",3),e.TgZ(4,"button",4),e.NdJ("click",function(){return d.refreshAllDirectories()}),e._UZ(5,"i",5),e.qZA(),e.qZA(),e.TgZ(6,"div",6),e.YNc(7,Fl,3,2,"tree-root",7),e.qZA(),e.qZA(),e.qZA(),e.YNc(8,ql,10,7,"div",8),e.qZA(),e.YNc(9,kl,2,1,"ng-template",null,9,e.W1O)),2&n&&(e.xp6(4),e.ekj("disabled",d.loadingIndicator),e.xp6(1),e.ekj("fa-spin",d.loadingIndicator),e.Q6J("ngClass",e.WLB(7,vc,d.icons.large,d.icons.refresh)),e.xp6(2),e.Q6J("ngIf",d.nodes),e.xp6(1),e.Q6J("ngIf",d.selectedDir))},directives:[Ds.o,s.mk,s.O5,Ts.qr,Ui.a,ha.K],styles:["cd-cephfs-directories tree-root .tree-children{overflow:inherit}.quota-origin[_ngcontent-%COMP%]{color:#2b99a8;cursor:pointer}.quota-origin[_ngcontent-%COMP%]:hover{color:#212529}"]}),f})();var Je=o(76317);function Fe(f,y){if(1&f&&e._UZ(0,"cd-cephfs-detail",15),2&f){const n=e.oxw(2);e.Q6J("data",n.details)}}function we(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-cephfs-clients",16),e.NdJ("triggerApiUpdate",function(){return e.CHM(n),e.oxw(2).refresh()}),e.qZA()}if(2&f){const n=e.oxw(2);e.Q6J("id",n.id)("clients",n.clients)}}function Mt(f,y){if(1&f&&e._UZ(0,"cd-cephfs-directories",17),2&f){const n=e.oxw(2);e.Q6J("id",n.id)}}function xe(f,y){if(1&f&&e._UZ(0,"cd-grafana",18),2&f){const n=e.oxw(2);e.Q6J("grafanaPath","mds-performance?var-mds_servers=mds."+n.grafanaId)}}function ke(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"ul",1,2),e.NdJ("navChange",function(){return e.CHM(n),e.oxw().softRefresh()}),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,Fe,1,1,"ng-template",6),e.qZA(),e.TgZ(7,"li",7),e.TgZ(8,"a",4),e.ynx(9),e.SDv(10,8),e.BQk(),e.TgZ(11,"span",9),e._uU(12),e.qZA(),e.qZA(),e.YNc(13,we,1,2,"ng-template",6),e.qZA(),e.TgZ(14,"li",10),e.TgZ(15,"a",4),e.SDv(16,11),e.qZA(),e.YNc(17,Mt,1,1,"ng-template",6),e.qZA(),e.TgZ(18,"li",12),e.TgZ(19,"a",4),e.SDv(20,13),e.qZA(),e.YNc(21,xe,1,1,"ng-template",6),e.qZA(),e.qZA(),e._UZ(22,"div",14),e.BQk()}if(2&f){const n=e.MAs(2),d=e.oxw();e.xp6(12),e.Oqu(d.clients.data.length),e.xp6(10),e.Q6J("ngbNavOutlet",n)}}let Te=(()=>{class f{constructor(n,d,w){this.ngZone=n,this.authStorageService=d,this.cephfsService=w,this.clients={data:[],status:new mo.E(Bi.T.ValueNone)},this.details={standbys:"",pools:[],ranks:[],mdsCounters:{},name:""},this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selection?this.selection.id!==this.id&&this.setupSelected(this.selection.id,this.selection.mdsmap.info):this.unsubscribeInterval()}setupSelected(n,d){this.id=n;const w=gn().first(Object.values(d));this.grafanaId=w&&w.name,this.details={standbys:"",pools:[],ranks:[],mdsCounters:{},name:""},this.clients={data:[],status:new mo.E(Bi.T.ValueNone)},this.updateInterval()}updateInterval(){this.unsubscribeInterval(),this.subscribeInterval()}unsubscribeInterval(){this.reloadSubscriber&&this.reloadSubscriber.unsubscribe()}subscribeInterval(){this.ngZone.runOutsideAngular(()=>this.reloadSubscriber=(0,ro.H)(0,5e3).subscribe(()=>this.ngZone.run(()=>this.refresh())))}refresh(){this.cephfsService.getTabs(this.id).subscribe(n=>{this.data=n,this.softRefresh()},()=>{this.clients.status=new mo.E(Bi.T.ValueException)})}softRefresh(){const n=gn().cloneDeep(this.data);this.clients=n.clients,this.clients.status=new mo.E(this.clients.status),this.details={standbys:n.standbys,pools:n.pools,ranks:n.ranks,mdsCounters:n.mds_counters,name:n.name}}ngOnDestroy(){this.unsubscribeInterval()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(e.R0b),e.Y36(hi.j),e.Y36(Pr))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-tabs"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let y,n,d,w;return y="Details",n="Clients",d="Directories",w="Performance Details",[[4,"ngIf"],["ngbNav","","cdStatefulTab","cephfs-tabs",1,"nav-tabs",3,"navChange"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","clients"],n,[1,"badge","badge-pill","badge-tab","ml-1"],["ngbNavItem","directories"],d,["ngbNavItem","performance-details"],w,[3,"ngbNavOutlet"],[3,"data"],[3,"id","clients","triggerApiUpdate"],[3,"id"],["uid","tbO9LAiZz","grafanaStyle","one",3,"grafanaPath"]]},template:function(n,d){1&n&&e.YNc(0,ke,23,2,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,es,gl,eu,Je.F],styles:[""]}),f})(),ge=(()=>{class f extends mi.o{constructor(n,d){super(),this.cephfsService=n,this.cdDatePipe=d,this.filesystems=[],this.selection=new si.r}ngOnInit(){this.columns=[{name:"Name",prop:"mdsmap.fs_name",flexGrow:2},{name:"Created",prop:"mdsmap.created",flexGrow:2,pipe:this.cdDatePipe},{name:"Enabled",prop:"mdsmap.enabled",flexGrow:1,cellTransformation:ni.e.checkIcon}]}loadFilesystems(n){this.cephfsService.list().subscribe(d=>{this.filesystems=d},()=>{n.error()})}updateSelection(n){this.selection=n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Pr),e.Y36(bi.N))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-list"]],features:[e.qOj],decls:2,vars:4,consts:[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","fetchData","setExpandedRow","updateSelection"],["cdTableDetail","",3,"selection"]],template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(re){return d.loadFilesystems(re)})("setExpandedRow",function(re){return d.setExpandedRow(re)})("updateSelection",function(re){return d.updateSelection(re)}),e._UZ(1,"cd-cephfs-tabs",1),e.qZA()),2&n&&(e.Q6J("data",d.filesystems)("columns",d.columns)("hasDetails",!0),e.xp6(1),e.Q6J("selection",d.expandedRow))},directives:[Ui.a,Te],styles:[""]}),f})(),Re=(()=>{class f{static getType(n){const d=gn().find(this.knownTypes,w=>w.name===n);if(void 0!==d)return d;throw new Error('Found unknown type "'+n+'" for config option.')}static getTypeValidators(n){const d=f.getType(n.type);if("bool"===d.name||"str"===d.name)return;const w={validators:[],patternHelpText:d.patternHelpText};return d.isNumberType?(n.max&&""!==n.max&&(w.max=n.max,w.validators.push(Hn.kI.max(n.max))),n.min&&""!==n.min?(w.min=n.min,w.validators.push(Hn.kI.min(n.min))):"defaultMin"in d&&(w.min=d.defaultMin,w.validators.push(Hn.kI.min(d.defaultMin))),w.validators.push("float"===n.type?vo.h.decimalNumber():vo.h.number(d.allowsNegative))):"addr"===n.type?w.validators=[vo.h.ip()]:"uuid"===n.type&&(w.validators=[vo.h.uuid()]),w}static getTypeStep(n,d){if(["uint","int","size","secs"].includes(n))return 1;if("float"===n){if(null!==d&&-1!==d.toString().indexOf(".")){const Ze=d.toString().split(".");return Math.pow(10,-Ze[1].length)}return.1}}}return f.knownTypes=[{name:"uint",inputType:"number",humanReadable:"Unsigned integer value",defaultMin:0,patternHelpText:"The entered value needs to be an unsigned number.",isNumberType:!0,allowsNegative:!1},{name:"int",inputType:"number",humanReadable:"Integer value",patternHelpText:"The entered value needs to be a number.",isNumberType:!0,allowsNegative:!0},{name:"size",inputType:"number",humanReadable:"Unsigned integer value (>=16bit)",defaultMin:0,patternHelpText:"The entered value needs to be a unsigned number.",isNumberType:!0,allowsNegative:!1},{name:"secs",inputType:"number",humanReadable:"Number of seconds",defaultMin:1,patternHelpText:"The entered value needs to be a number >= 1.",isNumberType:!0,allowsNegative:!1},{name:"float",inputType:"number",humanReadable:"Double value",patternHelpText:"The entered value needs to be a number or decimal.",isNumberType:!0,allowsNegative:!0},{name:"str",inputType:"text",humanReadable:"Text",isNumberType:!1},{name:"addr",inputType:"text",humanReadable:"IPv4 or IPv6 address",patternHelpText:"The entered value needs to be a valid IP address.",isNumberType:!1},{name:"uuid",inputType:"text",humanReadable:"UUID",patternHelpText:"The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8",isNumberType:!1},{name:"bool",inputType:"checkbox",humanReadable:"Boolean value",isNumberType:!1}],f})();var Be=o(93614),xt=o(95463);class Dt{constructor(){this.value=[]}}var en=o(64724),vn=o(63622),Gn=o(41582),kn=o(56310),zn=o(94276),jr=o(30839);function kr(f,y){1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,20),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"textarea",21),e._uU(5," "),e.qZA(),e.qZA(),e.qZA())}function Gr(f,y){1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,22),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"textarea",23),e._uU(5," "),e.qZA(),e.qZA(),e.qZA())}function ci(f,y){1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,24),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",25),e.qZA(),e.qZA())}function Ci(f,y){1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,26),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",27),e.qZA(),e.qZA())}function vi(f,y){if(1&f&&(e.TgZ(0,"span",30),e.TgZ(1,"span",31),e._uU(2),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.Oqu(n)}}function Ai(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,28),e.qZA(),e.TgZ(3,"div",11),e.YNc(4,vi,3,1,"span",29),e.qZA(),e.qZA()),2&f){const n=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",n.configForm.getValue("services"))}}function fo(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",32),e._uU(2),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"select",33),e.TgZ(5,"option",34),e.SDv(6,35),e.qZA(),e.TgZ(7,"option",34),e.SDv(8,36),e.qZA(),e.TgZ(9,"option",34),e.SDv(10,37),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.Q6J("for",n),e.xp6(1),e.hij("",n," "),e.xp6(2),e.Q6J("formControlName",n),e.xp6(1),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngValue",!0),e.xp6(2),e.Q6J("ngValue",!1)}}function po(f,y){if(1&f&&(e.TgZ(0,"span",40),e._uU(1),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.hij(" ",n.patternHelpText," ")}}function No(f,y){if(1&f&&(e.TgZ(0,"span",40),e._uU(1),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.hij(" ",n.patternHelpText," ")}}function Ao(f,y){if(1&f&&(e.TgZ(0,"span",40),e.SDv(1,41),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.pQV(n.maxValue),e.QtT(1)}}function io(f,y){if(1&f&&(e.TgZ(0,"span",40),e.SDv(1,42),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.pQV(n.minValue),e.QtT(1)}}function So(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",32),e._uU(2),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",38),e.YNc(5,po,2,1,"span",39),e.YNc(6,No,2,1,"span",39),e.YNc(7,Ao,2,1,"span",39),e.YNc(8,io,2,1,"span",39),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.oxw();const d=e.MAs(2),w=e.oxw();e.xp6(1),e.Q6J("for",n),e.xp6(1),e.hij("",n," "),e.xp6(2),e.Q6J("type",w.inputType)("id",n)("placeholder",w.humanReadableType)("formControlName",n)("step",w.getStep(w.type,w.configForm.getValue(n))),e.xp6(1),e.Q6J("ngIf",w.configForm.showError(n,d,"pattern")),e.xp6(1),e.Q6J("ngIf",w.configForm.showError(n,d,"invalidUuid")),e.xp6(1),e.Q6J("ngIf",w.configForm.showError(n,d,"max")),e.xp6(1),e.Q6J("ngIf",w.configForm.showError(n,d,"min"))}}function Xi(f,y){if(1&f&&(e.ynx(0),e.YNc(1,fo,11,6,"div",13),e.YNc(2,So,9,11,"div",13),e.BQk()),2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("ngIf","bool"===n.type),e.xp6(1),e.Q6J("ngIf","bool"!==n.type)}}function Zi(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.ynx(5,6),e._uU(6,"Edit"),e.BQk(),e._uU(7),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",12),e.qZA(),e.qZA(),e.YNc(14,kr,6,0,"div",13),e.YNc(15,Gr,6,0,"div",13),e.YNc(16,ci,5,0,"div",13),e.YNc(17,Ci,5,0,"div",13),e.YNc(18,Ai,5,1,"div",13),e.TgZ(19,"div",14),e.TgZ(20,"h3",15),e.SDv(21,16),e.qZA(),e.YNc(22,Xi,3,2,"ng-container",17),e.qZA(),e.qZA(),e.TgZ(23,"div",18),e.TgZ(24,"cd-form-button-panel",19),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw().submit()}),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("formGroup",n.configForm),e.xp6(6),e.hij(" ",n.configForm.getValue("name")," "),e.xp6(7),e.Q6J("ngIf",n.configForm.getValue("desc")),e.xp6(1),e.Q6J("ngIf",n.configForm.getValue("long_desc")),e.xp6(1),e.Q6J("ngIf",""!==n.configForm.getValue("default")),e.xp6(1),e.Q6J("ngIf",""!==n.configForm.getValue("daemon_default")),e.xp6(1),e.Q6J("ngIf",n.configForm.getValue("services").length>0),e.xp6(4),e.Q6J("ngForOf",n.availSections),e.xp6(2),e.Q6J("form",n.configForm)("submitText",n.actionLabels.UPDATE)}}let Jo=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze){super(),this.actionLabels=n,this.route=d,this.router=w,this.configService=re,this.notificationService=Ze,this.availSections=["global","mon","mgr","osd","mds","client"],this.createForm()}createForm(){const n={name:new Hn.NI({value:null}),desc:new Hn.NI({value:null}),long_desc:new Hn.NI({value:null}),values:new Hn.cw({}),default:new Hn.NI({value:null}),daemon_default:new Hn.NI({value:null}),services:new Hn.NI([])};this.availSections.forEach(d=>{n.values.addControl(d,new Hn.NI(null))}),this.configForm=new xt.d(n)}ngOnInit(){this.route.params.subscribe(n=>{this.configService.get(n.name).subscribe(w=>{this.setResponse(w),this.loadingReady()})})}getValidators(n){const d=Re.getTypeValidators(n);if(d)return this.patternHelpText=d.patternHelpText,"max"in d&&""!==d.max&&(this.maxValue=d.max),"min"in d&&""!==d.min&&(this.minValue=d.min),d.validators}getStep(n,d){return Re.getTypeStep(n,d)}setResponse(n){this.response=n;const d=this.getValidators(n);this.configForm.get("name").setValue(n.name),this.configForm.get("desc").setValue(n.desc),this.configForm.get("long_desc").setValue(n.long_desc),this.configForm.get("default").setValue(n.default),this.configForm.get("daemon_default").setValue(n.daemon_default),this.configForm.get("services").setValue(n.services),this.response.value&&this.response.value.forEach(re=>{let Ze=null;Ze="true"===re.value||"false"!==re.value&&re.value,this.configForm.get("values").get(re.section).setValue(Ze)}),this.availSections.forEach(re=>{this.configForm.get("values").get(re).setValidators(d)});const w=Re.getType(n.type);this.type=w.name,this.inputType=w.inputType,this.humanReadableType=w.humanReadable}createRequest(){const n=[];if(this.availSections.forEach(d=>{const w=this.configForm.getValue(d);null!==w&&""!==w&&n.push({section:d,value:w})}),!gn().isEqual(this.response.value,n)){const d=new Dt;return d.name=this.configForm.getValue("name"),d.value=n,d}return null}submit(){const n=this.createRequest();n&&this.configService.create(n).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated config option " + n.name + ""),this.router.navigate(["/configuration"])},()=>{this.configForm.setErrors({cdSubmitButton:!0})}),this.router.navigate(["/configuration"])}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(tn.gz),e.Y36(tn.F0),e.Y36(en.e),e.Y36(Yi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-configuration-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri;return y="Name",n="Values",d="Description",w="Long description",re="Default",Ze="Daemon default",Lt="Services",Gt="-- Default --",On="true",pr="false",fr="The entered value is too high! It must not be greater than " + "\ufffd0\ufffd" + ".",ri="The entered value is too low! It must not be lower than " + "\ufffd0\ufffd" + ".",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","configForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],["i18",""],[1,"card-body"],[1,"form-group","row"],[1,"cd-col-form-label"],y,[1,"cd-col-form-input"],["type","text","id","name","formControlName","name","readonly","",1,"form-control"],["class","form-group row",4,"ngIf"],["formGroupName","values"],[1,"cd-header"],n,[4,"ngFor","ngForOf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],d,["id","desc","formControlName","desc","readonly","",1,"form-control","resize-vertical"],w,["id","long_desc","formControlName","long_desc","readonly","",1,"form-control","resize-vertical"],re,["type","text","id","default","formControlName","default","readonly","",1,"form-control"],Ze,["type","text","id","daemon_default","formControlName","daemon_default","readonly","",1,"form-control"],Lt,["class","form-component-badge",4,"ngFor","ngForOf"],[1,"form-component-badge"],[1,"badge","badge-dark"],[1,"cd-col-form-label",3,"for"],["id","pool","name","pool",1,"form-control","custom-select",3,"formControlName"],[3,"ngValue"],Gt,On,pr,[1,"form-control",3,"type","id","placeholder","formControlName","step"],["class","invalid-feedback",4,"ngIf"],[1,"invalid-feedback"],fr,ri]},template:function(n,d){1&n&&e.YNc(0,Zi,25,10,"div",0),2&n&&e.Q6J("cdFormLoading",d.loading)},directives:[vn.y,Hn._Y,Hn.JL,Gn.V,Hn.sg,kn.P,Ds.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,s.O5,Hn.x0,s.sg,jr.p,Hn.EJ,Hn.YN,Hn.Kr],styles:[".form-component-badge[_ngcontent-%COMP%]{display:block;height:34px}.form-component-badge[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-top:7px}.resize-vertical[_ngcontent-%COMP%]{resize:vertical}"]}),f})();var Po=o(68962);function ho(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e._UZ(2,"br"),e.qZA()),2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.lnq(" ",n.section,": ",n.value,"",d?"":",","")}}function Do(f,y){if(1&f&&(e.TgZ(0,"span"),e.TgZ(1,"span",23),e.TgZ(2,"span",24),e._uU(3),e.ALo(4,"uppercase"),e.qZA(),e.qZA(),e.qZA()),2&f){const n=y.$implicit,d=e.oxw(2);e.xp6(1),e.s9C("title",d.flags[n]),e.xp6(2),e.Oqu(e.lcZ(4,2,n))}}function Ls(f,y){if(1&f&&(e.TgZ(0,"span"),e.TgZ(1,"span",24),e._uU(2),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.Oqu(n)}}function _n(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"table",1),e.TgZ(2,"tbody"),e.TgZ(3,"tr"),e.TgZ(4,"td",2),e.SDv(5,3),e.qZA(),e.TgZ(6,"td",4),e._uU(7),e.qZA(),e.qZA(),e.TgZ(8,"tr"),e.TgZ(9,"td",5),e.SDv(10,6),e.qZA(),e.TgZ(11,"td"),e._uU(12),e.qZA(),e.qZA(),e.TgZ(13,"tr"),e.TgZ(14,"td",5),e.SDv(15,7),e.qZA(),e.TgZ(16,"td"),e._uU(17),e.qZA(),e.qZA(),e.TgZ(18,"tr"),e.TgZ(19,"td",5),e.SDv(20,8),e.qZA(),e.TgZ(21,"td"),e.YNc(22,ho,3,3,"span",9),e.qZA(),e.qZA(),e.TgZ(23,"tr"),e.TgZ(24,"td",5),e.SDv(25,10),e.qZA(),e.TgZ(26,"td"),e._uU(27),e.qZA(),e.qZA(),e.TgZ(28,"tr"),e.TgZ(29,"td",5),e.SDv(30,11),e.qZA(),e.TgZ(31,"td"),e._uU(32),e.qZA(),e.qZA(),e.TgZ(33,"tr"),e.TgZ(34,"td",5),e.SDv(35,12),e.qZA(),e.TgZ(36,"td"),e._uU(37),e.qZA(),e.qZA(),e.TgZ(38,"tr"),e.TgZ(39,"td",5),e.SDv(40,13),e.qZA(),e.TgZ(41,"td"),e._uU(42),e.qZA(),e.qZA(),e.TgZ(43,"tr"),e.TgZ(44,"td",5),e.SDv(45,14),e.qZA(),e.TgZ(46,"td"),e._uU(47),e.qZA(),e.qZA(),e.TgZ(48,"tr"),e.TgZ(49,"td",5),e.SDv(50,15),e.qZA(),e.TgZ(51,"td"),e.YNc(52,Do,5,4,"span",9),e.qZA(),e.qZA(),e.TgZ(53,"tr"),e.TgZ(54,"td",5),e.SDv(55,16),e.qZA(),e.TgZ(56,"td"),e.YNc(57,Ls,3,1,"span",9),e.qZA(),e.qZA(),e.TgZ(58,"tr"),e.TgZ(59,"td",5),e.SDv(60,17),e.qZA(),e.TgZ(61,"td"),e._uU(62),e.qZA(),e.qZA(),e.TgZ(63,"tr"),e.TgZ(64,"td",5),e.SDv(65,18),e.qZA(),e.TgZ(66,"td"),e._uU(67),e.qZA(),e.qZA(),e.TgZ(68,"tr"),e.TgZ(69,"td",5),e.SDv(70,19),e.qZA(),e.TgZ(71,"td"),e._uU(72),e.ALo(73,"booleanText"),e.qZA(),e.qZA(),e.TgZ(74,"tr"),e.TgZ(75,"td",5),e.SDv(76,20),e.qZA(),e.TgZ(77,"td"),e._uU(78),e.qZA(),e.qZA(),e.TgZ(79,"tr"),e.TgZ(80,"td",5),e.SDv(81,21),e.qZA(),e.TgZ(82,"td"),e._uU(83),e.qZA(),e.qZA(),e.TgZ(84,"tr"),e.TgZ(85,"td",5),e.SDv(86,22),e.qZA(),e.TgZ(87,"td"),e._uU(88),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw();e.xp6(7),e.Oqu(n.selection.name),e.xp6(5),e.Oqu(n.selection.desc),e.xp6(5),e.Oqu(n.selection.long_desc),e.xp6(5),e.Q6J("ngForOf",n.selection.value),e.xp6(5),e.Oqu(n.selection.default),e.xp6(5),e.Oqu(n.selection.daemon_default),e.xp6(5),e.Oqu(n.selection.type),e.xp6(5),e.Oqu(n.selection.min),e.xp6(5),e.Oqu(n.selection.max),e.xp6(5),e.Q6J("ngForOf",n.selection.flags),e.xp6(5),e.Q6J("ngForOf",n.selection.services),e.xp6(5),e.Oqu(n.selection.source),e.xp6(5),e.Oqu(n.selection.level),e.xp6(5),e.Oqu(e.lcZ(73,17,n.selection.can_update_at_runtime)),e.xp6(6),e.Oqu(n.selection.tags),e.xp6(5),e.Oqu(n.selection.enum_values),e.xp6(5),e.Oqu(n.selection.see_also)}}let Us=(()=>{class f{constructor(){this.flags={runtime:"The value can be updated at runtime.",no_mon_update:"Daemons/clients do not pull this value from the\n monitor config database. We disallow setting this option via 'ceph config\n set ...'. This option should be configured via ceph.conf or via the\n command line.",startup:"Option takes effect only during daemon startup.",cluster_create:"Option only affects cluster creation.",create:"Option only affects daemon creation."}}ngOnChanges(){this.selection&&(this.selection.services=gn().split(this.selection.services,","))}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-configuration-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co,zo,Bs;return y="Name",n="Description",d="Long description",w="Current values",re="Default",Ze="Daemon default",Lt="Type",Gt="Min",On="Max",pr="Flags",fr="Services",ri="Source",Ii="Level",go="Can be updated at runtime (editable)",co="Tags",zo="Enum values",Bs="See also",[[4,"ngIf"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],y,[1,"w-75"],[1,"bold"],n,d,w,[4,"ngFor","ngForOf"],re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co,zo,Bs,[3,"title"],[1,"badge","badge-dark","mr-2"]]},template:function(n,d){1&n&&e.YNc(0,_n,89,19,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,s.sg],pipes:[Po.T,s.gd],styles:[""]}),f})();const Pa=["confValTpl"],Aa=["confFlagTpl"];function so(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e._UZ(2,"br"),e.qZA()),2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.lnq(" ",n.section,": ",n.value,"",d?"":",","")}}function ra(f,y){if(1&f&&(e.TgZ(0,"span"),e.YNc(1,so,3,3,"span",5),e.qZA()),2&f){const n=e.oxw().value;e.xp6(1),e.Q6J("ngForOf",n)}}function rs(f,y){1&f&&e.YNc(0,ra,2,1,"span",4),2&f&&e.Q6J("ngIf",y.value)}let wa=(()=>{class f extends mi.o{constructor(n,d,w){super(),this.authStorageService=n,this.configurationService=d,this.actionLabels=w,this.data=[],this.icons=Ki.P,this.selection=new si.r,this.filters=[{name:"Level",prop:"level",filterOptions:["basic","advanced","dev"],filterInitValue:"basic",filterPredicate:(Lt,Gt)=>{let On;var fr;return(fr=On||(On={}))[fr.basic=0]="basic",fr[fr.advanced=1]="advanced",fr[fr.dev=2]="dev",On[Lt.level]<=On[Gt]}},{name:"Service",prop:"services",filterOptions:["mon","mgr","osd","mds","common","mds_client","rgw"],filterPredicate:(Lt,Gt)=>Lt.services.includes(Gt)},{name:"Source",prop:"source",filterOptions:["mon"],filterPredicate:(Lt,Gt)=>!!Lt.hasOwnProperty("source")&&Lt.source.includes(Gt)},{name:"Modified",prop:"modified",filterOptions:["yes","no"],filterPredicate:(Lt,Gt)=>!!("yes"===Gt&&Lt.hasOwnProperty("value")||"no"===Gt&&!Lt.hasOwnProperty("value"))}],this.permission=this.authStorageService.getPermissions().configOpt;const re=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().name)}`;this.tableActions=[{permission:"update",icon:Ki.P.edit,routerLink:()=>`/configuration/edit/${re()}`,name:this.actionLabels.EDIT,disable:()=>!this.isEditable(this.selection)}]}ngOnInit(){this.columns=[{canAutoResize:!0,prop:"name",name:"Name"},{prop:"desc",name:"Description",cellClass:"wrap"},{prop:"value",name:"Current value",cellClass:"wrap",cellTemplate:this.confValTpl},{prop:"default",name:"Default",cellClass:"wrap"},{prop:"can_update_at_runtime",name:"Editable",cellTransformation:ni.e.checkIcon,flexGrow:.4,cellClass:"text-center"}]}updateSelection(n){this.selection=n}getConfigurationList(n){this.configurationService.getConfigData().subscribe(d=>{this.data=d},()=>{n.error()})}isEditable(n){return 1===n.selected.length&&n.selected[0].can_update_at_runtime}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(en.e),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-configuration"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Pa,7),e.Gf(Aa,5)),2&n){let w;e.iGM(w=e.CRH())&&(d.confValTpl=w.first),e.iGM(w=e.CRH())&&(d.confFlagTpl=w.first)}},features:[e.qOj],decls:5,vars:8,consts:[["selectionType","single",3,"data","columns","extraFilterableColumns","hasDetails","fetchData","setExpandedRow","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["confValTpl",""],[4,"ngIf"],[4,"ngFor","ngForOf"]],template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(re){return d.getConfigurationList(re)})("setExpandedRow",function(re){return d.setExpandedRow(re)})("updateSelection",function(re){return d.updateSelection(re)}),e._UZ(1,"cd-table-actions",1),e._UZ(2,"cd-configuration-details",2),e.qZA(),e.YNc(3,rs,1,1,"ng-template",null,3,e.W1O)),2&n&&(e.Q6J("data",d.data)("columns",d.columns)("extraFilterableColumns",d.filters)("hasDetails",!0),e.xp6(1),e.Q6J("permission",d.permission)("selection",d.selection)("tableActions",d.tableActions),e.xp6(1),e.Q6J("selection",d.expandedRow))},directives:[Ui.a,ha.K,Us,s.O5,s.sg],styles:[".filter[_ngcontent-%COMP%]{padding-right:8px}.fa-stack[_ngcontent-%COMP%]{font-size:.79rem}.fa-stack[_ngcontent-%COMP%] .fa-stack-1x[_ngcontent-%COMP%]{margin-left:8px;margin-top:5px} cd-configuration datatable-body-cell.wrap{word-break:break-all}"]}),f})();var Ws=o(35758),Fa=o(68939),xs=o(25917),Rs=o(88002),qs=o(42145),Ya=o(548),Zs=o(95242),Za=o(34022);function Va(f,y,n){return 0===n?[y]:(f.push(y),f)}function Ua(){return function(f,y){return arguments.length>=2?function(d){return(0,Za.z)((0,qs.R)(f,y),(0,Ya.h)(1),(0,Zs.d)(y))(d)}:function(d){return(0,Za.z)((0,qs.R)((w,re,Ze)=>f(w,re,Ze+1)),(0,Ya.h)(1))(d)}}(Va,[])}var al=o(19773),js=o(76189),ll=o(51295);let sc=(()=>{class f{calculateAdditionalData(n){if(!n.life_expectancy_min||!n.life_expectancy_max)return n.state="unknown",n;const d=Gt=>!!Number.parseFloat(Gt),w=(Gt,On)=>Gt&&On&&d(Gt)&&d(On)?In().duration(In()(Gt).diff(In()(On))).asWeeks():null,re=In().duration(In()(In().now()).diff(In()(n.life_expectancy_stamp))).asWeeks(),Ze=w(n.life_expectancy_max,n.life_expectancy_stamp),Lt=w(n.life_expectancy_min,n.life_expectancy_stamp);return n.state=re>1?"stale":null!==Ze&&Ze<=2?"bad":null!==Lt&&Lt<=4?"warning":"good",n.life_expectancy_weeks={max:null!==Ze?Math.round(Ze):null,min:null!==Lt?Math.round(Lt):null},n}readable(n){return n.readableDaemons=n.daemons.join(" "),n}prepareDevice(n){return this.readable(this.calculateAdditionalData(n))}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),Vl=(()=>{class f extends js.S{constructor(n,d){super(),this.http=n,this.deviceService=d,this.baseURL="api/host",this.baseUIURL="ui-api/host",this.predefinedLabels=["mon","mgr","osd","mds","rgw","nfs","iscsi","rbd","grafana"]}list(n){return this.http.get(this.baseURL,{headers:{Accept:"application/vnd.ceph.api.v1.1+json"},params:{facts:n}})}create(n,d,w,re){return this.http.post(this.baseURL,{hostname:n,addr:d,labels:w,status:re},{observe:"response",headers:{Accept:ll.T.cdVersionHeader("0","1")}})}delete(n){return this.http.delete(`${this.baseURL}/${n}`,{observe:"response"})}getDevices(n){return this.http.get(`${this.baseURL}/${n}/devices`).pipe((0,Rs.U)(d=>d.map(w=>this.deviceService.prepareDevice(w))))}getSmartData(n){return this.http.get(`${this.baseURL}/${n}/smart`)}getDaemons(n){return this.http.get(`${this.baseURL}/${n}/daemons`)}getLabels(){return this.http.get(`${this.baseUIURL}/labels`)}update(n,d=!1,w=[],re=!1,Ze=!1,Lt=!1){return this.http.put(`${this.baseURL}/${n}`,{update_labels:d,labels:w,maintenance:re,force:Ze,drain:Lt},{headers:{Accept:this.getVersionHeaderValue(0,1)}})}identifyDevice(n,d,w){return this.http.post(`${this.baseURL}/${n}/identify_device`,{device:d,duration:w})}getInventoryParams(n){let d=new a.LE;return n&&(d=d.append("refresh",gn().toString(n))),d}getInventory(n,d){const w=this.getInventoryParams(d);return this.http.get(`${this.baseURL}/${n}/inventory`,{params:w})}inventoryList(n){const d=this.getInventoryParams(n);return this.http.get(`${this.baseUIURL}/inventory`,{params:d})}inventoryDeviceList(n,d){let w;return w=n?this.getInventory(n,d).pipe(Ua()):this.inventoryList(d),w.pipe((0,al.zg)(re=>{const Ze=gn().flatMap(re,Lt=>Lt.devices.map(Gt=>(Gt.hostname=Lt.name,Gt.uid=Gt.device_id?Gt.device_id:`${Gt.hostname}-${Gt.path}`,Gt)));return(0,xs.of)(Ze)}))}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(sc))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),ac=(()=>{class f{constructor(n,d){this.http=n,this.deviceService=d,this.path="api/osd",this.osdDevices=[],this.osdRecvSpeedModalPriorities={KNOWN_PRIORITIES:[{name:null,text:"-- Select the priority --",values:{osd_max_backfills:null,osd_recovery_max_active:null,osd_recovery_max_single_start:null,osd_recovery_sleep:null}},{name:"low",text:"Low",values:{osd_max_backfills:1,osd_recovery_max_active:1,osd_recovery_max_single_start:1,osd_recovery_sleep:.5}},{name:"default",text:"Default",values:{osd_max_backfills:1,osd_recovery_max_active:3,osd_recovery_max_single_start:1,osd_recovery_sleep:0}},{name:"high",text:"High",values:{osd_max_backfills:4,osd_recovery_max_active:4,osd_recovery_max_single_start:4,osd_recovery_sleep:0}}]}}create(n){const d={method:"drive_groups",data:n,tracking_id:gn().join(gn().map(n,"service_id"),", ")};return this.http.post(this.path,d,{observe:"response"})}getList(){return this.http.get(`${this.path}`)}getOsdSettings(){return this.http.get(`${this.path}/settings`,{headers:{Accept:"application/vnd.ceph.api.v0.1+json"}})}getDetails(n){return this.http.get(`${this.path}/${n}`)}getSmartData(n){return this.http.get(`${this.path}/${n}/smart`)}scrub(n,d){return this.http.post(`${this.path}/${n}/scrub?deep=${d}`,null)}getFlags(){return this.http.get(`${this.path}/flags`)}updateFlags(n){return this.http.put(`${this.path}/flags`,{flags:n})}updateIndividualFlags(n,d){return this.http.put(`${this.path}/flags/individual`,{flags:n,ids:d})}markOut(n){return this.http.put(`${this.path}/${n}/mark`,{action:"out"})}markIn(n){return this.http.put(`${this.path}/${n}/mark`,{action:"in"})}markDown(n){return this.http.put(`${this.path}/${n}/mark`,{action:"down"})}reweight(n,d){return this.http.post(`${this.path}/${n}/reweight`,{weight:d})}update(n,d){return this.http.put(`${this.path}/${n}`,{device_class:d})}markLost(n){return this.http.put(`${this.path}/${n}/mark`,{action:"lost"})}purge(n){return this.http.post(`${this.path}/${n}/purge`,null)}destroy(n){return this.http.post(`${this.path}/${n}/destroy`,null)}delete(n,d,w){return this.http.delete(`${this.path}/${n}`,{observe:"response",params:{preserve_id:d?"true":"false",force:w?"true":"false"}})}safeToDestroy(n){return this.http.get(`${this.path}/safe_to_destroy?ids=${n}`)}safeToDelete(n){return this.http.get(`${this.path}/safe_to_delete?svc_ids=${n}`)}getDevices(n){return this.http.get(`${this.path}/${n}/devices`).pipe((0,Rs.U)(d=>d.map(w=>this.deviceService.prepareDevice(w))))}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(sc))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var Ga=o(76111),$i=o(32337),Cc=o(26215);const _c=[{stepIndex:1,isComplete:!1}];let ml=(()=>{class f{constructor(){this.currentStep$=new Cc.X(null),this.steps$=new Cc.X(_c),this.currentStep$.next(this.steps$.value[0])}setTotalSteps(n){const d=[];for(let w=1;w<=n;w++)d.push({stepIndex:w,isComplete:!1});this.steps$=new Cc.X(d)}setCurrentStep(n){this.currentStep$.next(n)}getCurrentStep(){return this.currentStep$.asObservable()}getSteps(){return this.steps$.asObservable()}moveToNextStep(){this.currentStep$.next(this.steps$.value[this.currentStep$.value.stepIndex])}moveToPreviousStep(){this.currentStep$.next(this.steps$.value[this.currentStep$.value.stepIndex-1-1])}isLastStep(){return this.currentStep$.value.stepIndex===this.steps$.value.length}isFirstStep(){var n;return(null===(n=this.currentStep$.value)||void 0===n?void 0:n.stepIndex)-1==0}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var _a=o(28211);class tu{constructor(){this.reset(),this.formatterService=new _a.H,this.deviceSelectionAttrs={"sys_api.vendor":{name:"vendor"},"sys_api.model":{name:"model"},device_id:{name:"device_id"},human_readable_type:{name:"rotational",formatter:y=>"hdd"===y.toLowerCase()},"sys_api.size":{name:"size",formatter:y=>this.formatterService.format_number(y,1024,["B","KB","MB","GB","TB","PB"]).replace(" ","")}}}reset(){this.spec={service_type:"osd",service_id:`dashboard-${gn().now()}`}}setName(y){this.spec.service_id=y}setHostPattern(y){this.spec.host_pattern=y}setDeviceSelection(y,n){const d=`${y}_devices`;this.spec[d]={},n.forEach(w=>{const re=this.deviceSelectionAttrs[w.prop];re&&(this.spec[d][re.name]=re.formatter?re.formatter(w.value.raw):w.value.raw)})}clearDeviceSelection(y){delete this.spec[`${y}_devices`]}setSlots(y,n){const d=`${y}_slots`;0===n?delete this.spec[d]:this.spec[d]=n}setFeature(y,n){n?this.spec[y]=!0:delete this.spec[y]}}let lc=(()=>{class f{constructor(n){this.http=n,this.baseURL="api/cluster"}getStatus(){return this.http.get(`${this.baseURL}`,{headers:{Accept:"application/vnd.ceph.api.v0.1+json"}})}updateStatus(n){return this.http.put(`${this.baseURL}`,{status:n},{headers:{Accept:"application/vnd.ceph.api.v0.1+json"}})}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();const Sc=function(f){return{active:f}};function Tu(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"ul",4),e.TgZ(1,"li",5),e.TgZ(2,"a",6),e.NdJ("click",function(){const re=e.CHM(n).$implicit;return e.oxw().onStepClick(re)}),e.TgZ(3,"span",7),e.SDv(4,8),e.qZA(),e.TgZ(5,"span"),e.SDv(6,9),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=y.$implicit,d=y.index,w=e.oxw();e.xp6(2),e.Q6J("ngClass",e.VKq(4,Sc,w.currentStep.stepIndex===n.stepIndex)),e.xp6(1),e.Q6J("ngClass",e.VKq(6,Sc,w.currentStep.stepIndex===n.stepIndex)),e.xp6(1),e.pQV(n.stepIndex),e.QtT(4),e.xp6(2),e.pQV(w.stepsTitle[d]),e.QtT(6)}}let nu=(()=>{class f{constructor(n){this.stepsService=n}ngOnInit(){this.stepsService.setTotalSteps(this.stepsTitle.length),this.steps=this.stepsService.getSteps(),this.currentStepSub=this.stepsService.getCurrentStep().subscribe(n=>{this.currentStep=n})}onStepClick(n){this.stepsService.setCurrentStep(n)}ngOnDestroy(){this.currentStepSub.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(ml))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-wizard"]],inputs:{stepsTitle:"stepsTitle"},decls:5,vars:3,consts:function(){let y,n;return y="" + "\ufffd0\ufffd" + "",n="" + "\ufffd0\ufffd" + "",[[1,"card-body"],[1,"row","m-7"],[1,"col"],["class","nav nav-pills flex-column",4,"ngFor","ngForOf"],[1,"nav","nav-pills","flex-column"],[1,"nav-item"],[1,"nav-link",3,"ngClass","click"],[1,"circle-step",3,"ngClass"],y,n]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"nav",2),e.YNc(3,Tu,7,8,"ul",3),e.ALo(4,"async"),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(3),e.Q6J("ngForOf",e.lcZ(4,1,d.steps)))},directives:[s.sg,s.mk],pipes:[s.Ov],styles:[".card-body[_ngcontent-%COMP%]{padding-left:0}span.circle-step[_ngcontent-%COMP%]{background:#adb5bd;border-radius:.8em;color:#fff;display:inline-block;font-weight:bold;line-height:1.6em;margin-right:5px;text-align:center;width:1.6em}span.circle-step.active[_ngcontent-%COMP%]{background-color:#2b99a8}.nav-pills[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{background-color:#fff;color:#343a40}.nav-pills[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%]{color:#2b99a8}"]}),f})();var xl=o(13472),Gl=o(75319);let nl=(()=>{class f{constructor(n){this.http=n,this.url="api/orchestrator",this.disableMessages={noOrchestrator:"The feature is disabled because Orchestrator is not available.",missingFeature:"The Orchestrator backend doesn't support this feature."}}status(){return this.http.get(`${this.url}/status`)}hasFeature(n,d){return gn().every(d,w=>gn().get(n.features,`${w}.available`))}getTableActionDisableDesc(n,d){return!!n&&(n.available?!this.hasFeature(n,d)&&this.disableMessages.missingFeature:this.disableMessages.noOrchestrator)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var rl=o(7022),El=(()=>{return(f=El||(El={})).HOST_LIST="get_hosts",f.HOST_ADD="add_host",f.HOST_REMOVE="remove_host",f.HOST_LABEL_ADD="add_host_label",f.HOST_LABEL_REMOVE="remove_host_label",f.HOST_MAINTENANCE_ENTER="enter_host_maintenance",f.HOST_MAINTENANCE_EXIT="exit_host_maintenance",f.HOST_FACTS="get_facts",f.HOST_DRAIN="drain_host",f.SERVICE_LIST="describe_service",f.SERVICE_CREATE="apply",f.SERVICE_EDIT="apply",f.SERVICE_DELETE="remove_service",f.SERVICE_RELOAD="service_action",f.DAEMON_LIST="list_daemons",f.OSD_GET_REMOVE_STATUS="remove_osds_status",f.OSD_CREATE="apply_drivegroups",f.OSD_DELETE="remove_osds",f.DEVICE_LIST="get_inventory",f.DEVICE_BLINK_LIGHT="blink_device_light",El;var f})(),cl=o(51847),Rc=o(33512),cc=o.n(Rc),il=o(60312),ul=o(18372),Jl=o(82945),Rl=o(60192),p=o(10545);function E(f,y){1&f&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function N(f,y){1&f&&(e.TgZ(0,"span",29),e.SDv(1,31),e.qZA())}function $(f,y){1&f&&(e.TgZ(0,"span",29),e.SDv(1,35),e.qZA())}function Q(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",32),e.SDv(2,33),e.qZA(),e.TgZ(3,"div",15),e._UZ(4,"input",34),e.YNc(5,$,2,0,"span",17),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(5),e.Q6J("ngIf",d.hostForm.showError("addr",n,"pattern"))}}function de(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"form",5,6),e.TgZ(3,"div",7),e.TgZ(4,"div",8),e.TgZ(5,"label",9),e.ynx(6),e.SDv(7,10),e.BQk(),e.TgZ(8,"cd-helper"),e.TgZ(9,"p"),e.SDv(10,11),e.qZA(),e.TgZ(11,"ul"),e.TgZ(12,"li"),e.tHW(13,12),e._UZ(14,"samp"),e.N_p(),e.qZA(),e.TgZ(15,"li"),e.tHW(16,13),e._UZ(17,"samp"),e.N_p(),e.qZA(),e.TgZ(18,"li"),e.tHW(19,14),e._UZ(20,"samp"),e.N_p(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(21,"div",15),e.TgZ(22,"input",16),e.NdJ("keyup",function(){return e.CHM(n),e.oxw().checkHostNameValue()}),e.qZA(),e.YNc(23,E,2,0,"span",17),e.YNc(24,N,2,0,"span",17),e.qZA(),e.qZA(),e.YNc(25,Q,6,1,"div",18),e.TgZ(26,"div",8),e.TgZ(27,"label",19),e.SDv(28,20),e.qZA(),e.TgZ(29,"div",15),e._UZ(30,"cd-select-badges",21),e.qZA(),e.qZA(),e.TgZ(31,"div",8),e.TgZ(32,"div",22),e.TgZ(33,"div",23),e._UZ(34,"input",24),e.TgZ(35,"label",25),e.SDv(36,26),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(37,"div",27),e.TgZ(38,"cd-form-button-panel",28),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw().submit()}),e.ALo(39,"titlecase"),e.ALo(40,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.oxw();e.xp6(1),e.Q6J("formGroup",d.hostForm),e.xp6(22),e.Q6J("ngIf",d.hostForm.showError("hostname",n,"required")),e.xp6(1),e.Q6J("ngIf",d.hostForm.showError("hostname",n,"uniqueName")),e.xp6(1),e.Q6J("ngIf",!d.hostPattern),e.xp6(5),e.Q6J("data",d.hostForm.controls.labels.value)("options",d.labelsOption)("customBadges",!0)("messages",d.messages),e.xp6(8),e.Q6J("form",d.hostForm)("submitText",e.lcZ(39,10,d.action)+" "+e.lcZ(40,12,d.resource))}}let ve=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze){super(),this.router=n,this.actionLabels=d,this.hostService=w,this.taskWrapper=re,this.activeModal=Ze,this.hostnameArray=[],this.hostPattern=!1,this.labelsOption=[],this.messages=new rl.a({empty:"There are no labels.",filter:"Filter or add labels",add:"Add label"}),this.resource="host",this.action=this.actionLabels.ADD}ngOnInit(){this.router.url.includes("hosts")&&(this.pageURL="hosts"),this.createForm(),this.hostService.list("false").subscribe(n=>{this.hostnames=n.map(d=>d.hostname),this.loadingReady()}),this.hostService.getLabels().subscribe(n=>{const d=new Set(n.concat(this.hostService.predefinedLabels));this.labelsOption=Array.from(d).map(w=>({enabled:!0,name:w,selected:!1,description:null}))})}checkHostNameValue(){this.hostPattern=!!this.hostForm.get("hostname").value.match(/[()\[\]{},]/g)}createForm(){this.hostForm=new xt.d({hostname:new Hn.NI("",{validators:[Hn.kI.required,vo.h.custom("uniqueName",n=>this.hostnames&&-1!==this.hostnames.indexOf(n))]}),addr:new Hn.NI("",{validators:[vo.h.ip()]}),labels:new Hn.NI([]),maintenance:new Hn.NI({value:!1,disabled:"hosts"!==this.pageURL})})}isCommaSeparatedPattern(n){return n.includes(",")}isRangeTypePattern(n){return n.includes("[")&&n.includes("]")&&!n.match(/(?![^(]*\)),/g)}replaceBraces(n){return n.replace(/(\d)\s*-\s*(\d)/g,"$1..$2").replace(/\(/g,"{").replace(/\)/g,"}").replace(/\[/g,"{").replace(/]/g,"}")}checkHostNamePattern(n){if(this.isRangeTypePattern(n)){const d=this.replaceBraces(n);this.hostnameArray=cc()(d)}else if(this.isCommaSeparatedPattern(n)){let d=[];d=n.split(","),d.forEach(w=>{if(this.isRangeTypePattern(w)){const re=this.replaceBraces(w);this.hostnameArray=this.hostnameArray.concat(cc()(re))}else this.hostnameArray.push(w)})}else this.hostnameArray.push(n)}submit(){const n=this.hostForm.get("hostname").value;this.checkHostNamePattern(n),this.addr=this.hostForm.get("addr").value,this.status=this.hostForm.get("maintenance").value?"maintenance":"",this.allLabels=this.hostForm.get("labels").value,"hosts"!==this.pageURL&&!this.allLabels.includes("_no_schedule")&&this.allLabels.push("_no_schedule"),this.hostnameArray.forEach(d=>{this.taskWrapper.wrapTaskAroundCall({task:new Ga.R("host/"+uo.MQ.ADD,{hostname:d}),call:this.hostService.create(d,this.addr,this.allLabels,this.status)}).subscribe({error:()=>{this.hostForm.setErrors({cdSubmitButton:!0})},complete:()=>{"hosts"===this.pageURL?this.router.navigate([this.pageURL,{outlets:{modal:null}}]):this.activeModal.close()}})})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(uo.p4),e.Y36(Vl),e.Y36($i.P),e.Y36(Br.Kz))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-host-form"]],features:[e.qOj],decls:7,vars:9,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Hostname",d="To add multiple hosts at once, you can enter:",w="a comma-separated list of hostnames " + "\ufffd#14\ufffd" + "(e.g.: example-01,example-02,example-03)" + "\ufffd/#14\ufffd" + ",",re="a range expression " + "\ufffd#17\ufffd" + "(e.g.: example-[01-03].ceph)" + "\ufffd/#17\ufffd" + ",",Ze="a comma separated range expression " + "\ufffd#20\ufffd" + "(e.g.: example-[01-05].lab.com,example2-[1-4].lab.com,example3-[001-006].lab.com)" + "\ufffd/#20\ufffd" + "",Lt="Labels",Gt="Maintenance Mode",On="This field is required.",pr="The chosen hostname is already in use.",fr="Network address",ri="The value is not a valid IP address.",[[3,"pageURL","modalRef"],[1,"modal-title"],y,[1,"modal-content"],[4,"cdFormLoading"],["name","hostForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","hostname",1,"cd-col-form-label","required"],n,d,w,re,Ze,[1,"cd-col-form-input"],["type","text","placeholder","mon-123","id","hostname","name","hostname","formControlName","hostname","autofocus","",1,"form-control",3,"keyup"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],["for","labels",1,"cd-col-form-label"],Lt,["id","labels",3,"data","options","customBadges","messages"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","maintenance","type","checkbox","formControlName","maintenance",1,"custom-control-input"],["for","maintenance",1,"custom-control-label"],Gt,[1,"modal-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],On,pr,["for","addr",1,"cd-col-form-label"],fr,["type","text","placeholder","192.168.0.1","id","addr","name","addr","formControlName","addr",1,"form-control"],ri]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.qZA(),e.ynx(5,3),e.YNc(6,de,41,14,"div",4),e.BQk(),e.qZA()),2&n&&(e.Q6J("pageURL",d.pageURL)("modalRef",d.activeModal),e.xp6(4),e.pQV(e.lcZ(3,5,d.action))(e.lcZ(4,7,d.resource)),e.QtT(2),e.xp6(2),e.Q6J("cdFormLoading",d.loading))},directives:[il.z,vn.y,Hn._Y,Hn.JL,Gn.V,Hn.sg,kn.P,ul.S,Ds.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,Jl.U,s.O5,Rl.m,Hn.Wl,jr.p],pipes:[s.rS,p.m],styles:[""]}),f})();var ze=o(34501);const De=["deviceLocation"],_t=["lifeExpectancy"],Yt=["lifeExpectancyTimestamp"];function Zt(f,y){if(1&f&&e._UZ(0,"cd-table",5),2&f){const n=e.oxw();e.Q6J("data",n.devices)("columns",n.columns)}}function wn(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",6),e.SDv(1,7),e.qZA())}function cr(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.Oqu(n.dev)}}function sr(f,y){1&f&&e.YNc(0,cr,2,1,"span",8),2&f&&e.Q6J("ngForOf",y.value)}function Tr(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"i18nPlural"),e.qZA()),2&f){const n=e.oxw().value,d=e.oxw();e.xp6(1),e.hij("> ",e.xi3(2,1,n.min,d.translationMapping),"")}}function Yr(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"i18nPlural"),e.qZA()),2&f){const n=e.oxw().value,d=e.oxw();e.xp6(1),e.hij("< ",e.xi3(2,1,n.max,d.translationMapping),"")}}function Pi(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"i18nPlural"),e.qZA()),2&f){const n=e.oxw().value,d=e.oxw();e.xp6(1),e.AsE("",n.min," to ",e.xi3(2,2,n.max,d.translationMapping),"")}}function yo(f,y){if(1&f&&(e.YNc(0,Tr,3,4,"span",9),e.YNc(1,Yr,3,4,"span",9),e.YNc(2,Pi,3,5,"span",9)),2&f){const n=y.value;e.Q6J("ngIf",n.min&&!n.max),e.xp6(1),e.Q6J("ngIf",n.max&&!n.min),e.xp6(1),e.Q6J("ngIf",n.max&&n.min)}}function To(f,y){1&f&&e._uU(0),2&f&&e.hij(" ",y.value,"\n")}let Qo=(()=>{class f{constructor(n,d,w){this.hostService=n,this.datePipe=d,this.osdService=w,this.hostname="",this.osdId=null,this.devices=null,this.columns=[],this.translationMapping={"=1":"# week",other:"# weeks"}}ngOnInit(){this.columns=[{prop:"devid",name:"Device ID",minWidth:200},{prop:"state",name:"State of Health",flexGrow:1,cellTransformation:ni.e.badge,customTemplateConfig:{map:{good:{value:"Good",class:"badge-success"},warning:{value:"Warning",class:"badge-warning"},bad:{value:"Bad",class:"badge-danger"},stale:{value:"Stale",class:"badge-info"},unknown:{value:"Unknown",class:"badge-dark"}}}},{prop:"life_expectancy_weeks",name:"Life Expectancy",cellTemplate:this.lifeExpectancyTemplate},{prop:"life_expectancy_stamp",name:"Prediction Creation Date",cellTemplate:this.lifeExpectancyTimestampTemplate,pipe:this.datePipe,isHidden:!0},{prop:"location",name:"Device Name",cellTemplate:this.locationTemplate},{prop:"readableDaemons",name:"Daemons"}]}ngOnChanges(){const n=d=>this.devices=d;this.hostname?this.hostService.getDevices(this.hostname).subscribe(n):null!==this.osdId&&this.osdService.getDevices(this.osdId).subscribe(n)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Vl),e.Y36(s.uU),e.Y36(ac))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-device-list"]],viewQuery:function(n,d){if(1&n&&(e.Gf(De,7),e.Gf(_t,7),e.Gf(Yt,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.locationTemplate=w.first),e.iGM(w=e.CRH())&&(d.lifeExpectancyTemplate=w.first),e.iGM(w=e.CRH())&&(d.lifeExpectancyTimestampTemplate=w.first)}},inputs:{hostname:"hostname",osdId:"osdId"},features:[e.TTD],decls:8,vars:2,consts:function(){let y;return y="Neither hostname nor OSD ID given",[[3,"data","columns",4,"ngIf"],["type","warning",4,"ngIf"],["deviceLocation",""],["lifeExpectancy",""],["lifeExpectancyTimestamp",""],[3,"data","columns"],["type","warning"],y,[4,"ngFor","ngForOf"],[4,"ngIf"]]},template:function(n,d){1&n&&(e.YNc(0,Zt,1,2,"cd-table",0),e.YNc(1,wn,2,0,"cd-alert-panel",1),e.YNc(2,sr,1,1,"ng-template",null,2,e.W1O),e.YNc(4,yo,3,3,"ng-template",null,3,e.W1O),e.YNc(6,To,1,1,"ng-template",null,4,e.W1O)),2&n&&(e.Q6J("ngIf",d.hostname||null!==d.osdId),e.xp6(1),e.Q6J("ngIf",""===d.hostname&&null===d.osdId))},directives:[s.O5,Ui.a,ze.G,s.sg],pipes:[s.Gx],styles:[""]}),f})();var Go=o(30490);function As(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",2),e.SDv(1,3),e.qZA())}function Cs(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",2),e.tHW(1,4),e._UZ(2,"cd-doc",5),e.N_p(),e.qZA())}let Ss=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-orchestrator-doc-panel"]],inputs:{missingFeatures:"missingFeatures"},decls:3,vars:2,consts:function(){let y,n;return y="The feature is not supported in the current Orchestrator.",n="Orchestrator is not available. Please consult the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " on how to configure and enable the functionality.",[["type","info",4,"ngIf","ngIfElse"],["elseBlock",""],["type","info"],y,n,["section","orch"]]},template:function(n,d){if(1&n&&(e.YNc(0,As,2,0,"cd-alert-panel",0),e.YNc(1,Cs,3,0,"ng-template",null,1,e.W1O)),2&n){const w=e.MAs(2);e.Q6J("ngIf",d.missingFeatures)("ngIfElse",w)}},directives:[s.O5,ze.G,Go.K],styles:[""]}),f})(),Is=(()=>{class f{constructor(n,d,w,re,Ze,Lt){this.authStorageService=n,this.dimlessBinary=d,this.modalService=w,this.notificationService=re,this.orchService=Ze,this.hostService=Lt,this.devices=[],this.showAvailDeviceOnly=!1,this.hiddenColumns=[],this.filterColumns=["hostname","human_readable_type","available","sys_api.vendor","sys_api.model","sys_api.size"],this.selectionType=void 0,this.filterChange=new e.vpe,this.fetchInventory=new e.vpe,this.icons=Ki.P,this.columns=[],this.selection=new si.r,this.orchStatus=void 0,this.actionOrchFeatures={identify:[El.DEVICE_BLINK_LIGHT]}}ngOnInit(){this.permission=this.authStorageService.getPermissions().osd,this.tableActions=[{permission:"update",icon:Ki.P.show,click:()=>this.identifyDevice(),name:"Identify",disable:d=>this.getDisable("identify",d),canBePrimary:d=>!d.hasSingleSelection,visible:()=>gn().isString(this.selectionType)}];const n=[{name:"Hostname",prop:"hostname",flexGrow:1},{name:"Device path",prop:"path",flexGrow:1},{name:"Type",prop:"human_readable_type",flexGrow:1,cellTransformation:ni.e.badge,customTemplateConfig:{map:{hdd:{value:"HDD",class:"badge-hdd"},ssd:{value:"SSD",class:"badge-ssd"}}}},{name:"Available",prop:"available",flexGrow:1,cellClass:"text-center",cellTransformation:ni.e.checkIcon},{name:"Vendor",prop:"sys_api.vendor",flexGrow:1},{name:"Model",prop:"sys_api.model",flexGrow:1},{name:"Size",prop:"sys_api.size",flexGrow:1,pipe:this.dimlessBinary},{name:"OSDs",prop:"osd_ids",flexGrow:1,cellTransformation:ni.e.badge,customTemplateConfig:{class:"badge-dark",prefix:"osd."}}];this.columns=n.filter(d=>!this.hiddenColumns.includes(d.prop)),gn().forEach(this.filterColumns,d=>{const w=gn().find(this.columns,{prop:d});w&&(w.filterable=!0)}),this.fetchInventory.observers.length>0&&(this.fetchInventorySub=this.table.fetchData.subscribe(()=>{this.fetchInventory.emit()}))}getDevices(){this.showAvailDeviceOnly?this.hostService.inventoryDeviceList().subscribe(n=>{this.devices=gn().filter(n,"available"),this.devices=[...this.devices]},()=>{this.devices=[]}):this.devices=[...this.devices]}ngOnDestroy(){this.fetchInventorySub&&this.fetchInventorySub.unsubscribe()}onColumnFiltersChanged(n){this.filterChange.emit(n)}getDisable(n,d){return!d.hasSingleSelection||this.orchService.getTableActionDisableDesc(this.orchStatus,this.actionOrchFeatures[n])}updateSelection(n){this.selection=n}identifyDevice(){const n=this.selection.first(),d=n.hostname,w=n.path||n.device_id;this.modalService.show(Hl.X,{titleText:"Identify device " + w + "",message:"Please enter the duration how long to blink the LED.",fields:[{type:"select",name:"duration",value:300,required:!0,typeConfig:{options:[{text:"1 minute",value:60},{text:"2 minutes",value:120},{text:"5 minutes",value:300},{text:"10 minutes",value:600},{text:"15 minutes",value:900}]}}],submitButtonText:"Execute",onSubmit:re=>{this.hostService.identifyDevice(d,w,re.duration).subscribe(()=>{this.notificationService.show(Ho.k.success,"Identifying '" + w + "' started on host '" + d + "'")})}})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(Me.$),e.Y36(na.Z),e.Y36(Yi.g),e.Y36(nl),e.Y36(Vl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-inventory-devices"]],viewQuery:function(n,d){if(1&n&&e.Gf(Ui.a,7),2&n){let w;e.iGM(w=e.CRH())&&(d.table=w.first)}},inputs:{devices:"devices",showAvailDeviceOnly:"showAvailDeviceOnly",hiddenColumns:"hiddenColumns",filterColumns:"filterColumns",selectionType:"selectionType",orchStatus:"orchStatus"},outputs:{filterChange:"filterChange",fetchInventory:"fetchInventory"},decls:2,vars:8,consts:[["identifier","uid","columnMode","flex",3,"data","columns","forceIdentifier","selectionType","searchField","fetchData","updateSelection","columnFiltersChanged"],[1,"table-actions",3,"permission","selection","tableActions"]],template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return d.getDevices()})("updateSelection",function(re){return d.updateSelection(re)})("columnFiltersChanged",function(re){return d.onColumnFiltersChanged(re)}),e._UZ(1,"cd-table-actions",1),e.qZA()),2&n&&(e.Q6J("data",d.devices)("columns",d.columns)("forceIdentifier",!0)("selectionType",d.selectionType)("searchField",!1),e.xp6(1),e.Q6J("permission",d.permission)("selection",d.selection)("tableActions",d.tableActions))},directives:[Ui.a,ha.K],styles:[".filter[_ngcontent-%COMP%]{padding-right:8px}.fa-stack[_ngcontent-%COMP%]{font-size:.79rem}.fa-stack[_ngcontent-%COMP%] .fa-stack-1x[_ngcontent-%COMP%]{margin-left:8px;margin-top:5px}"]}),f})();function Da(f,y){1&f&&e._UZ(0,"cd-orchestrator-doc-panel")}const vl=function(){return[]},za=function(){return["hostname"]};function Xa(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"legend"),e.SDv(2,1),e.qZA(),e.TgZ(3,"div",2),e.TgZ(4,"div",3),e.TgZ(5,"cd-inventory-devices",4),e.NdJ("fetchInventory",function(){return e.CHM(n),e.oxw().refresh()}),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&f){const n=e.oxw();e.xp6(5),e.Q6J("devices",n.devices)("hiddenColumns",void 0===n.hostname?e.DdM(3,vl):e.DdM(4,za))("orchStatus",n.orchStatus)}}let Ka=(()=>{class f{constructor(n,d,w){this.orchService=n,this.hostService=d,this.ngZone=w,this.reloadInterval=5e3,this.firstRefresh=!0,this.icons=Ki.P,this.showDocPanel=!1,this.devices=[]}ngOnInit(){this.orchService.status().subscribe(n=>{this.orchStatus=n,this.showDocPanel=!n.available,n.available&&this.ngZone.runOutsideAngular(()=>{this.reloadSubscriber=(0,ro.H)(this.reloadInterval,this.reloadInterval).subscribe(()=>{this.ngZone.run(()=>{this.getInventory(!1)})})})})}ngOnDestroy(){var n;null===(n=this.reloadSubscriber)||void 0===n||n.unsubscribe()}ngOnChanges(){var n;(null===(n=this.orchStatus)||void 0===n?void 0:n.available)&&(this.devices=[],this.getInventory(!1))}getInventory(n){""!==this.hostname&&this.hostService.inventoryDeviceList(this.hostname,n).subscribe(d=>{this.devices=d},()=>{this.devices=[]})}refresh(){this.getInventory(!this.firstRefresh),this.firstRefresh=!1}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(nl),e.Y36(Vl),e.Y36(e.R0b))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-inventory"]],inputs:{hostname:"hostname"},features:[e.TTD],decls:2,vars:2,consts:function(){let y;return y="Physical Disks",[[4,"ngIf"],y,[1,"row"],[1,"col-md-12"],["selectionType","single",3,"devices","hiddenColumns","orchStatus","fetchInventory"]]},template:function(n,d){1&n&&(e.YNc(0,Da,1,0,"cd-orchestrator-doc-panel",0),e.YNc(1,Xa,6,5,"ng-container",0)),2&n&&(e.Q6J("ngIf",d.showDocPanel),e.xp6(1),e.Q6J("ngIf",null==d.orchStatus?null:d.orchStatus.available))},directives:[s.O5,Ss,Is],styles:[""]}),f})();var Ul=o(15257);let $l=class{constructor(y){this.http=y,this.url="api/daemon"}action(y,n){return this.http.put(`${this.url}/${y}`,{action:n,container_image:null},{headers:{Accept:"application/vnd.ceph.api.v0.1+json"},observe:"response"})}};$l.\u0275fac=function(y){return new(y||$l)(e.LFG(a.eN))},$l.\u0275prov=e.Yz7({token:$l,factory:$l.\u0275fac,providedIn:"root"}),$l=(0,xr.gn)([Zr.o,(0,xr.w6)("design:paramtypes",[a.eN])],$l);var Vs=o(90068);let X=(()=>{class f{constructor(n){this.http=n,this.url="api/service"}list(n){const d=n?{params:(new a.LE).set("service_name",n)}:{};return this.http.get(this.url,d)}getDaemons(n){return this.http.get(`${this.url}/${n}/daemons`)}create(n){return this.http.post(this.url,{service_name:n.service_id?`${n.service_type}.${n.service_id}`:n.service_type,service_spec:n},{observe:"response"})}delete(n){return this.http.delete(`${this.url}/${n}`,{observe:"response"})}getKnownTypes(){return this.http.get(`${this.url}/known_types`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var me=o(37496);const bt=["statusTpl"],qt=["listTpl"],xn=["daemonsTable"];function Ar(f,y){1&f&&e._UZ(0,"cd-orchestrator-doc-panel")}function xi(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",6,7),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw(2).getDaemons(w)}),e.qZA()}if(2&f){const n=e.oxw(2);e.Q6J("data",n.daemons)("columns",n.columns)}}function fs(f,y){if(1&f&&(e.TgZ(0,"div"),e.YNc(1,xi,2,2,"cd-table",5),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngIf",n.hasOrchestrator)}}function aa(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",18,7),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw(3).getDaemons(w)})("updateSelection",function(w){return e.CHM(n),e.oxw(3).updateSelection(w)}),e._UZ(2,"cd-table-actions",19),e.qZA()}if(2&f){const n=e.oxw(3);e.Q6J("data",n.daemons)("columns",n.columns),e.xp6(2),e.Q6J("selection",n.selection)("permission",n.permissions.hosts)("tableActions",n.tableActions)}}function Wa(f,y){if(1&f&&e.YNc(0,aa,3,5,"cd-table",17),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.hasOrchestrator)}}function gc(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",6,20),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw(3).getServices(w)}),e.qZA()}if(2&f){const n=e.oxw(3);e.Q6J("data",n.services)("columns",n.serviceColumns)}}function Ql(f,y){if(1&f&&e.YNc(0,gc,2,2,"cd-table",5),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.hasOrchestrator)}}function yc(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",8,9),e.TgZ(3,"li",10),e.TgZ(4,"a",11),e.SDv(5,12),e.qZA(),e.YNc(6,Wa,1,1,"ng-template",13),e.qZA(),e.TgZ(7,"li",14),e.TgZ(8,"a",11),e.SDv(9,15),e.qZA(),e.YNc(10,Ql,1,1,"ng-template",13),e.qZA(),e.qZA(),e._UZ(11,"div",16),e.BQk()),2&f){const n=e.MAs(2);e.xp6(11),e.Q6J("ngbNavOutlet",n)}}function qu(f,y){if(1&f&&(e.TgZ(0,"span",21),e.ALo(1,"pipeFunction"),e._uU(2),e.qZA()),2&f){const n=y.row,d=e.oxw();e.Q6J("ngClass",e.xi3(1,2,n,d.getStatusClass)),e.xp6(2),e.hij(" ",n.status_desc," ")}}const sd=function(f){return[f]};function op(f,y){if(1&f&&(e.TgZ(0,"span"),e._UZ(1,"i",28),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("ngClass",e.VKq(1,sd,n.icons.infoCircle))}}function kd(f,y){if(1&f&&(e.TgZ(0,"span"),e._UZ(1,"i",28),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("ngClass",e.VKq(1,sd,n.icons.warning))}}function ad(f,y){if(1&f&&(e.TgZ(0,"li",26),e.TgZ(1,"b"),e._uU(2),e.ALo(3,"relativeDate"),e.qZA(),e.TgZ(4,"span",27),e._uU(5),e.qZA(),e._UZ(6,"br"),e.YNc(7,op,2,3,"span",0),e.YNc(8,kd,2,3,"span",0),e._uU(9),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.hij("",e.lcZ(3,5,n.created)," - "),e.xp6(3),e.Oqu(n.subject),e.xp6(2),e.Q6J("ngIf","INFO"===n.level),e.xp6(1),e.Q6J("ngIf","ERROR"===n.level),e.xp6(1),e.hij(" ",n.message," ")}}function Nu(f,y){if(1&f&&(e.TgZ(0,"ul",24),e.YNc(1,ad,10,7,"li",25),e.qZA()),2&f){const n=e.oxw().value,d=e.oxw();e.xp6(1),e.Q6J("ngForOf",n)("ngForTrackBy",d.trackByFn)}}function sf(f,y){1&f&&(e.TgZ(0,"div"),e.TgZ(1,"span"),e._uU(2,"No data available"),e.qZA(),e.qZA())}function Cd(f,y){if(1&f&&e.YNc(0,sf,3,0,"div",0),2&f){const n=e.oxw().value;e.Q6J("ngIf",0===(null==n?null:n.length))}}function Cu(f,y){if(1&f&&(e.YNc(0,Nu,2,2,"ul",22),e.YNc(1,Cd,1,1,"ng-template",null,23,e.W1O)),2&f){const n=y.value,d=e.MAs(2);e.Q6J("ngIf",null==n?null:n.length)("ngIfElse",d)}}let $d=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On){this.hostService=n,this.cephServiceService=d,this.orchService=w,this.relativeDatePipe=re,this.actionLabels=Ze,this.authStorageService=Lt,this.daemonService=Gt,this.notificationService=On,this.icons=Ki.P,this.daemons=[],this.services=[],this.columns=[],this.serviceColumns=[],this.selection=new si.r,this.hasOrchestrator=!1,this.showDocPanel=!1}ngOnInit(){this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"update",icon:Ki.P.start,click:()=>this.daemonAction("start"),name:this.actionLabels.START,disable:()=>this.actionDisabled("start")},{permission:"update",icon:Ki.P.stop,click:()=>this.daemonAction("stop"),name:this.actionLabels.STOP,disable:()=>this.actionDisabled("stop")},{permission:"update",icon:Ki.P.restart,click:()=>this.daemonAction("restart"),name:this.actionLabels.RESTART,disable:()=>this.actionDisabled("restart")},{permission:"update",icon:Ki.P.deploy,click:()=>this.daemonAction("redeploy"),name:this.actionLabels.REDEPLOY,disable:()=>this.actionDisabled("redeploy")}],this.columns=[{name:"Hostname",prop:"hostname",flexGrow:2,filterable:!0},{name:"Daemon type",prop:"daemon_type",flexGrow:1,filterable:!0},{name:"Daemon ID",prop:"daemon_id",flexGrow:1,filterable:!0},{name:"Container ID",prop:"container_id",flexGrow:2,filterable:!0,cellTransformation:ni.e.truncate,customTemplateConfig:{length:12}},{name:"Container Image name",prop:"container_image_name",flexGrow:3,filterable:!0},{name:"Container Image ID",prop:"container_image_id",flexGrow:2,filterable:!0,cellTransformation:ni.e.truncate,customTemplateConfig:{length:12}},{name:"Version",prop:"version",flexGrow:1,filterable:!0},{name:"Status",prop:"status_desc",flexGrow:1,filterable:!0,cellTemplate:this.statusTpl},{name:"Last Refreshed",prop:"last_refresh",pipe:this.relativeDatePipe,flexGrow:1},{name:"Daemon Events",prop:"events",flexGrow:5,cellTemplate:this.listTpl}],this.serviceColumns=[{name:"Service Name",prop:"service_name",flexGrow:2,filterable:!0},{name:"Service Type",prop:"service_type",flexGrow:1,filterable:!0},{name:"Service Events",prop:"events",flexGrow:5,cellTemplate:this.listTpl}],this.orchService.status().subscribe(n=>{this.hasOrchestrator=n.available,this.showDocPanel=!n.available})}ngOnChanges(){gn().isUndefined(this.daemonsTable)||this.daemonsTable.reloadData()}ngAfterViewInit(){this.daemonsTableTplsSub=this.daemonsTableTpls.changes.subscribe(n=>{this.daemonsTable=n.first})}ngOnDestroy(){this.daemonsTableTplsSub&&this.daemonsTableTplsSub.unsubscribe(),this.serviceSub&&this.serviceSub.unsubscribe()}getStatusClass(n){return gn().get({"-1":"badge-danger",0:"badge-warning",1:"badge-success"},n.status,"badge-dark")}getDaemons(n){let d;if(this.hostname)d=this.hostService.getDaemons(this.hostname);else{if(!this.serviceName)return void(this.daemons=[]);d=this.cephServiceService.getDaemons(this.serviceName)}d.subscribe(w=>{this.daemons=w,this.sortDaemonEvents()},()=>{this.daemons=[],n.error()})}sortDaemonEvents(){this.daemons.forEach(n=>{var d;null===(d=n.events)||void 0===d||d.sort((w,re)=>new Date(re.created).getTime()-new Date(w.created).getTime())})}getServices(n){this.serviceSub=this.cephServiceService.list(this.serviceName).subscribe(d=>{this.services=d},()=>{this.services=[],n.error()})}trackByFn(n,d){return d.created}updateSelection(n){this.selection=n}daemonAction(n){var d;this.daemonService.action(null===(d=this.selection.first())||void 0===d?void 0:d.daemon_name,n).pipe((0,Ul.q)(1)).subscribe({next:w=>{this.notificationService.show(Ho.k.success,`Daemon ${n} scheduled`,w.body.toString())},error:w=>{this.notificationService.show(Ho.k.error,"Daemon action failed",w.body.toString())}})}actionDisabled(n){var d;if(null===(d=this.selection)||void 0===d?void 0:d.hasSelection){const w=this.selection.selected[0];if("mon"===w.daemon_type||"mgr"===w.daemon_type)return!0;switch(n){case"start":if("running"===w.status_desc)return!0;break;case"stop":if("stopped"===w.status_desc)return!0}return!1}return!0}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Vl),e.Y36(X),e.Y36(nl),e.Y36(Vs.h),e.Y36(uo.p4),e.Y36(hi.j),e.Y36($l),e.Y36(Yi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-service-daemon-list"]],viewQuery:function(n,d){if(1&n&&(e.Gf(bt,7),e.Gf(qt,7),e.Gf(xn,5)),2&n){let w;e.iGM(w=e.CRH())&&(d.statusTpl=w.first),e.iGM(w=e.CRH())&&(d.listTpl=w.first),e.iGM(w=e.CRH())&&(d.daemonsTableTpls=w)}},inputs:{serviceName:"serviceName",hostname:"hostname",flag:"flag"},features:[e.TTD],decls:8,vars:3,consts:function(){let y,n;return y="Details",n="Service Events",[[4,"ngIf"],[4,"ngIf","ngIfElse"],["serviceDetailsTpl",""],["statusTpl",""],["listTpl",""],["columnMode","flex",3,"data","columns","fetchData",4,"ngIf"],["columnMode","flex",3,"data","columns","fetchData"],["daemonsTable",""],["ngbNav","","cdStatefulTab","service-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","service_events"],n,[3,"ngbNavOutlet"],["selectionType","single","columnMode","flex","identifier","daemon_id",3,"data","columns","fetchData","updateSelection",4,"ngIf"],["selectionType","single","columnMode","flex","identifier","daemon_id",3,"data","columns","fetchData","updateSelection"],["id","service-daemon-list-actions",1,"table-actions",3,"selection","permission","tableActions"],["serviceTable",""],[1,"badge",3,"ngClass"],["class","list-group list-group-flush",4,"ngIf","ngIfElse"],["noEventsAvailable",""],[1,"list-group","list-group-flush"],["class","list-group-item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"list-group-item"],[1,"badge","badge-info"],["aria-hidden","true",3,"ngClass"]]},template:function(n,d){if(1&n&&(e.YNc(0,Ar,1,0,"cd-orchestrator-doc-panel",0),e.YNc(1,fs,2,1,"div",1),e.YNc(2,yc,12,1,"ng-template",null,2,e.W1O),e.YNc(4,qu,3,5,"ng-template",null,3,e.W1O),e.YNc(6,Cu,3,2,"ng-template",null,4,e.W1O)),2&n){const w=e.MAs(3);e.Q6J("ngIf",d.showDocPanel),e.xp6(1),e.Q6J("ngIf","hostDetails"===d.flag)("ngIfElse",w)}},directives:[s.O5,Ss,Ui.a,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,ha.K,s.mk,s.sg],pipes:[me.i,Vs.h],styles:[".fa-info-circle[_ngcontent-%COMP%]{color:#2b99a8}.fa-exclamation-triangle[_ngcontent-%COMP%]{color:#ef5c55}.list-group-item[_ngcontent-%COMP%]{background-color:transparent;border-width:0}"]}),f})();var Fs=o(8958);const Nc=["innerNav"];function Pf(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",5),e.SDv(1,6),e.qZA())}function ld(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",7),e.SDv(1,8),e.qZA())}function ru(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",10),e.SDv(1,11),e.qZA())}function Su(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"cd-alert-panel",20),e._uU(2),e.qZA(),e.BQk()),2&f){const n=e.oxw(2).$implicit;e.xp6(2),e.Oqu(n.value.userMessage)}}function af(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",23),e.SDv(1,24),e.qZA())}function Pc(f,y){1&f&&(e.ynx(0),e.TgZ(1,"cd-alert-panel",26),e.SDv(2,27),e.qZA(),e.BQk())}function If(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",28),e.SDv(1,29),e.qZA())}function cd(f,y){if(1&f&&(e.YNc(0,Pc,3,0,"ng-container",0),e.YNc(1,If,2,0,"ng-template",null,25,e.W1O)),2&f){const n=e.MAs(2),d=e.oxw(3).$implicit;e.Q6J("ngIf",d.value.info.smart_status.passed)("ngIfElse",n)}}function lf(f,y){if(1&f&&(e.YNc(0,af,2,0,"cd-alert-panel",21),e.ALo(1,"pipeFunction"),e.YNc(2,cd,3,2,"ng-template",null,22,e.W1O)),2&f){const n=e.MAs(3),d=e.oxw(2).$implicit,w=e.oxw(4);e.Q6J("ngIf",e.xi3(1,2,null==d.value.info?null:d.value.info.smart_status,w.isEmpty))("ngIfElse",n)}}function Hd(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",36),2&f){const n=e.oxw(4).$implicit;e.Q6J("renderObjects",!0)("data",n.value.info)}}function Sd(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",37),e.SDv(1,38),e.qZA())}function Ic(f,y){if(1&f&&(e.YNc(0,Hd,1,2,"cd-table-key-value",34),e.ALo(1,"pipeFunction"),e.YNc(2,Sd,2,0,"cd-alert-panel",35),e.ALo(3,"pipeFunction")),2&f){const n=e.oxw(3).$implicit,d=e.oxw(4);e.Q6J("ngIf",!e.xi3(1,2,n.value.info,d.isEmpty)),e.xp6(2),e.Q6J("ngIf",e.xi3(3,5,n.value.info,d.isEmpty))}}function pu(f,y){if(1&f&&e._UZ(0,"cd-table",42),2&f){const n=e.oxw(4).$implicit,d=e.oxw(4);e.Q6J("data",n.value.smart.attributes.table)("columns",d.smartDataColumns)}}function Ud(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",43),2&f){const n=e.oxw(4).$implicit;e.Q6J("renderObjects",!0)("data",n.value.smart.nvmeData)}}function ud(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",44),e.SDv(1,45),e.qZA())}function Md(f,y){if(1&f&&(e.YNc(0,pu,1,2,"cd-table",39),e.YNc(1,Ud,1,2,"cd-table-key-value",40),e.YNc(2,ud,2,0,"cd-alert-panel",41)),2&f){const n=e.oxw(3).$implicit;e.Q6J("ngIf",null==n.value.smart?null:n.value.smart.attributes),e.xp6(1),e.Q6J("ngIf",null==n.value.smart?null:n.value.smart.nvmeData),e.xp6(1),e.Q6J("ngIf",!(null!=n.value.smart&&n.value.smart.attributes||null!=n.value.smart&&n.value.smart.nvmeData))}}function Lf(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",12,30),e.TgZ(3,"li",31),e.TgZ(4,"a",17),e.SDv(5,32),e.qZA(),e.YNc(6,Ic,4,8,"ng-template",18),e.qZA(),e.TgZ(7,"li",31),e.TgZ(8,"a",17),e.SDv(9,33),e.qZA(),e.YNc(10,Md,3,3,"ng-template",18),e.qZA(),e.qZA(),e._UZ(11,"div",15),e.BQk()),2&f){const n=e.MAs(2);e.xp6(3),e.Q6J("ngbNavItem",1),e.xp6(4),e.Q6J("ngbNavItem",2),e.xp6(4),e.Q6J("ngbNavOutlet",n)}}function Mu(f,y){if(1&f&&(e.YNc(0,Su,3,1,"ng-container",0),e.YNc(1,lf,4,5,"ng-template",null,19,e.W1O),e.YNc(3,Lf,12,3,"ng-container",4),e.ALo(4,"pipeFunction"),e.ALo(5,"pipeFunction")),2&f){const n=e.MAs(2),d=e.oxw().$implicit,w=e.oxw(4);e.Q6J("ngIf",d.value.error)("ngIfElse",n),e.xp6(3),e.Q6J("ngIf",!e.xi3(4,3,d.value.info,w.isEmpty)||!e.xi3(5,6,d.value.smart,w.isEmpty))}}function dd(f,y){if(1&f&&(e.TgZ(0,"li",16),e.TgZ(1,"a",17),e._uU(2),e.qZA(),e.YNc(3,Mu,6,9,"ng-template",18),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.AsE("",n.value.device," (",n.value.identifier,")")}}function Lc(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",12,13),e.YNc(3,dd,4,2,"li",14),e.ALo(4,"keyvalue"),e.qZA(),e._UZ(5,"div",15),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw(3);e.xp6(3),e.Q6J("ngForOf",e.lcZ(4,2,d.data)),e.xp6(2),e.Q6J("ngbNavOutlet",n)}}function Mc(f,y){if(1&f&&(e.ynx(0),e.YNc(1,ru,2,0,"cd-alert-panel",9),e.ALo(2,"pipeFunction"),e.YNc(3,Lc,6,4,"ng-container",4),e.ALo(4,"pipeFunction"),e.BQk()),2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("ngIf",e.xi3(2,2,n.data,n.isEmpty)),e.xp6(2),e.Q6J("ngIf",!e.xi3(4,5,n.data,n.isEmpty))}}function Uc(f,y){if(1&f&&(e.ynx(0),e.YNc(1,Pf,2,0,"cd-alert-panel",2),e.YNc(2,ld,2,0,"cd-alert-panel",3),e.YNc(3,Mc,5,8,"ng-container",4),e.BQk()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngIf",n.error),e.xp6(1),e.Q6J("ngIf",n.incompatible),e.xp6(1),e.Q6J("ngIf",!n.error&&!n.incompatible)}}function Ff(f,y){1&f&&(e.TgZ(0,"cd-loading-panel"),e.SDv(1,46),e.qZA())}let hu=(()=>{class f{constructor(n,d){this.osdService=n,this.hostService=d,this.osdId=null,this.hostname=null,this.loading=!1,this.incompatible=!1,this.error=!1,this.data={},this.isEmpty=gn().isEmpty}isSmartError(n){return void 0!==gn().get(n,"error")}isNvmeSmartData(n){return"nvme"===gn().get(n,"device.protocol","").toLowerCase()}isHddSmartData(n){return"ata"===gn().get(n,"device.protocol","").toLowerCase()}fetchData(n){const d={};gn().each(n,(w,re)=>{if(this.isSmartError(w)){let Ze="";Ze=-22===w.smartctl_error_code?"Smartctl has received an unknown argument (error code " + w.smartctl_error_code + "). You may be using an incompatible version of smartmontools. Version >= 7.0 of smartmontools is required to successfully retrieve data.":"An error with error code " + w.smartctl_error_code + " occurred.",d[re]={error:w.error,smartctl_error_code:w.smartctl_error_code,smartctl_output:w.smartctl_output,userMessage:Ze,device:w.dev,identifier:w.nvme_vendor}}else 1!==w.json_format_version[0]?this.incompatible=!0:this.isHddSmartData(w)?d[re]=this.extractHddData(w):this.isNvmeSmartData(w)&&(d[re]=this.extractNvmeData(w))}),this.data=d,this.loading=!1}extractNvmeData(n){return{info:gn().omitBy(n,(w,re)=>["nvme_smart_health_information_log"].includes(re)),smart:{nvmeData:n.nvme_smart_health_information_log},device:n.device.name,identifier:n.serial_number}}extractHddData(n){const d=gn().omitBy(n,(w,re)=>["ata_smart_attributes","ata_smart_selective_self_test_log","ata_smart_data"].includes(re));return{info:d,smart:{attributes:n.ata_smart_attributes,data:n.ata_smart_data},device:d.device.name,identifier:d.serial_number}}updateData(){this.loading=!0,null!==this.osdId?this.osdService.getSmartData(this.osdId).subscribe({next:this.fetchData.bind(this),error:n=>{n.preventDefault(),this.error=n,this.loading=!1}}):null!==this.hostname&&this.hostService.getSmartData(this.hostname).subscribe({next:this.fetchData.bind(this),error:n=>{n.preventDefault(),this.error=n,this.loading=!1}})}ngOnInit(){this.smartDataColumns=[{prop:"id",name:"ID"},{prop:"name",name:"Name"},{prop:"raw.value",name:"Raw"},{prop:"thresh",name:"Threshold"},{prop:"value",name:"Value"},{prop:"when_failed",name:"When Failed"},{prop:"worst",name:"Worst"}]}ngOnChanges(n){this.data={},n.osdId?this.osdId=n.osdId.currentValue:n.hostname&&(this.hostname=n.hostname.currentValue),this.updateData()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(ac),e.Y36(Vl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-smart-list"]],viewQuery:function(n,d){if(1&n&&e.Gf(Nc,5),2&n){let w;e.iGM(w=e.CRH())&&(d.nav=w.first)}},inputs:{osdId:"osdId",hostname:"hostname"},features:[e.TTD],decls:3,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go;return y="Failed to retrieve SMART data.",n="The data received has the JSON format version 2.x and is currently incompatible with the dashboard.",d="No SMART data available.",w="SMART overall-health self-assessment test result",re="unknown",Ze="SMART overall-health self-assessment test result",Lt="passed",Gt="SMART overall-health self-assessment test result",On="failed",pr="Device Information",fr="SMART",ri="No device information available for this device.",Ii="No SMART data available for this device.",go="SMART data is loading.",[[4,"ngIf","ngIfElse"],["isLoading",""],["type","error",4,"ngIf"],["type","warning",4,"ngIf"],[4,"ngIf"],["type","error"],y,["type","warning"],n,["type","info",4,"ngIf"],["type","info"],d,["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","",4,"ngFor","ngForOf"],[3,"ngbNavOutlet"],["ngbNavItem",""],["ngbNavLink",""],["ngbNavContent",""],["noError",""],["id","alert-error","type","warning"],["id","alert-self-test-unknown","size","slim","type","warning","title",w,4,"ngIf","ngIfElse"],["hasSmartStatus",""],["id","alert-self-test-unknown","size","slim","type","warning","title",w],re,["selfTestFailed",""],["id","alert-self-test-passed","size","slim","type","info","title",Ze],Lt,["id","alert-self-test-failed","size","slim","type","warning","title",Gt],On,["innerNav","ngbNav"],[3,"ngbNavItem"],pr,fr,[3,"renderObjects","data",4,"ngIf"],["id","alert-device-info-unavailable","type","info",4,"ngIf"],[3,"renderObjects","data"],["id","alert-device-info-unavailable","type","info"],ri,["updateSelectionOnRefresh","never",3,"data","columns",4,"ngIf"],["updateSelectionOnRefresh","never",3,"renderObjects","data",4,"ngIf"],["id","alert-device-smart-data-unavailable","type","info",4,"ngIf"],["updateSelectionOnRefresh","never",3,"data","columns"],["updateSelectionOnRefresh","never",3,"renderObjects","data"],["id","alert-device-smart-data-unavailable","type","info"],Ii,go]},template:function(n,d){if(1&n&&(e.YNc(0,Uc,4,3,"ng-container",0),e.YNc(1,Ff,2,0,"ng-template",null,1,e.W1O)),2&n){const w=e.MAs(2);e.Q6J("ngIf",!d.loading)("ngIfElse",w)}},directives:[s.O5,ze.G,Br.Pz,s.sg,Br.tO,Br.nv,Br.Vx,Br.uN,Ft.b,Ui.a,Fs.b],pipes:[me.i,s.Nd],styles:[""]}),f})();function fd(f,y){if(1&f&&e._UZ(0,"cd-device-list",14),2&f){const n=e.oxw(2);e.Q6J("hostname",n.selection.hostname)}}function cf(f,y){if(1&f&&e._UZ(0,"cd-inventory",14),2&f){const n=e.oxw(3);e.Q6J("hostname",n.selectedHostname)}}function kf(f,y){1&f&&(e.TgZ(0,"li",15),e.TgZ(1,"a",5),e.SDv(2,16),e.qZA(),e.YNc(3,cf,1,1,"ng-template",7),e.qZA())}function V(f,y){if(1&f&&e._UZ(0,"cd-service-daemon-list",19),2&f){const n=e.oxw(3);e.Q6J("hostname",n.selectedHostname)}}function pe(f,y){1&f&&(e.TgZ(0,"li",17),e.TgZ(1,"a",5),e.SDv(2,18),e.qZA(),e.YNc(3,V,1,1,"ng-template",7),e.qZA())}function A(f,y){if(1&f&&e._UZ(0,"cd-grafana",22),2&f){const n=e.oxw(3);e.Q6J("grafanaPath","host-details?var-ceph_hosts="+n.selectedHostname)}}function K(f,y){1&f&&(e.TgZ(0,"li",20),e.TgZ(1,"a",5),e.SDv(2,21),e.qZA(),e.YNc(3,A,1,1,"ng-template",7),e.qZA())}function Ye(f,y){if(1&f&&e._UZ(0,"cd-smart-list",14),2&f){const n=e.oxw(3);e.Q6J("hostname",n.selectedHostname)}}function Rt(f,y){if(1&f&&e.YNc(0,Ye,1,1,"cd-smart-list",23),2&f){const n=e.oxw(2),d=e.MAs(2);e.Q6J("ngIf",n.selectedHostname)("ngIfElse",d)}}function vr(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",2,3),e.TgZ(3,"li",4),e.TgZ(4,"a",5),e.SDv(5,6),e.qZA(),e.YNc(6,fd,1,1,"ng-template",7),e.qZA(),e.YNc(7,kf,4,0,"li",8),e.YNc(8,pe,4,0,"li",9),e.YNc(9,K,4,0,"li",10),e.TgZ(10,"li",11),e.TgZ(11,"a",5),e.SDv(12,12),e.qZA(),e.YNc(13,Rt,1,2,"ng-template",7),e.qZA(),e.qZA(),e._UZ(14,"div",13),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw();e.xp6(7),e.Q6J("ngIf",d.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",d.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",d.permissions.grafana.read),e.xp6(5),e.Q6J("ngbNavOutlet",n)}}function Hr(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",24),e.SDv(1,25),e.qZA())}let _i=(()=>{class f{get selectedHostname(){return void 0!==this.selection?this.selection.hostname:null}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-host-details"]],inputs:{permissions:"permissions",selection:"selection"},decls:3,vars:1,consts:function(){let y,n,d,w,re,Ze;return y="Devices",n="Device health",d="Physical Disks",w="Daemons",re="Performance Details",Ze="No hostname found.",[[4,"ngIf"],["noHostname",""],["ngbNav","","cdStatefulTab","host-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","devices"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","inventory",4,"ngIf"],["ngbNavItem","daemons",4,"ngIf"],["ngbNavItem","performance-details",4,"ngIf"],["ngbNavItem","device-health"],n,[3,"ngbNavOutlet"],[3,"hostname"],["ngbNavItem","inventory"],d,["ngbNavItem","daemons"],w,["flag","hostDetails",3,"hostname"],["ngbNavItem","performance-details"],re,["uid","rtOg0AiWz","grafanaStyle","four",3,"grafanaPath"],[3,"hostname",4,"ngIf","ngIfElse"],["type","error"],Ze]},template:function(n,d){1&n&&(e.YNc(0,vr,15,4,"ng-container",0),e.YNc(1,Hr,2,0,"ng-template",null,1,e.W1O)),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,Qo,Ka,$d,Je.F,hu,ze.G],styles:[""]}),f})();const ji=["servicesTpl"],bo=["maintenanceConfirmTpl"],is=["orchTmpl"],Uo=["flashTmpl"];function us(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",13,14),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw().getHosts(w)})("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e.TgZ(2,"div",15),e._UZ(3,"cd-table-actions",16),e.qZA(),e._UZ(4,"cd-host-details",17),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.hosts)("columns",n.columns)("hasDetails",n.hasTableDetails)("toolHeader",!n.hideToolHeader),e.xp6(3),e.Q6J("permission",n.permissions.hosts)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("permissions",n.permissions)("selection",n.expandedRow)}}function Ks(f,y){1&f&&e._UZ(0,"cd-grafana",19),2&f&&e.Q6J("grafanaPath","host-overview?")}function bs(f,y){1&f&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,18),e.qZA(),e.YNc(3,Ks,1,1,"ng-template",5),e.qZA())}const Xl=function(f){return[f]};function Oc(f,y){if(1&f&&(e.TgZ(0,"a",23),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit,d=e.oxw(2);e.Q6J("routerLink",e.VKq(4,Xl,n.cdLink))("queryParams",d.cdParams),e.xp6(1),e.AsE("",n.type,".",n.id,"")}}function dl(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.AsE(" ",n.type,".",n.id," ")}}function iu(f,y){1&f&&(e.ynx(0),e._uU(1,", "),e.BQk())}function ea(f,y){if(1&f&&(e.TgZ(0,"span"),e.YNc(1,Oc,2,6,"a",21),e.YNc(2,dl,2,2,"span",22),e.YNc(3,iu,2,0,"ng-container",22),e.qZA()),2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.Q6J("ngIf",n.canRead),e.xp6(1),e.Q6J("ngIf",!n.canRead),e.xp6(1),e.Q6J("ngIf",!d)}}function Kl(f,y){1&f&&e.YNc(0,ea,4,3,"span",20),2&f&&e.Q6J("ngForOf",y.value)}function jl(f,y){if(1&f&&(e.TgZ(0,"ul"),e.TgZ(1,"li"),e.SDv(2,24),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(2),e.pQV(n),e.QtT(2)}}function zl(f,y){if(1&f&&(e.TgZ(0,"div"),e.YNc(1,jl,3,1,"ul",22),e.qZA()),2&f){const n=y.last,d=e.oxw(2);e.xp6(1),e.Q6J("ngIf",!n||"1"==d.errorMessage.length)}}function Ac(f,y){1&f&&(e.ynx(0),e.SDv(1,25),e.BQk())}function uf(f,y){if(1&f&&(e.YNc(0,zl,2,1,"div",20),e.YNc(1,Ac,2,0,"ng-container",22)),2&f){const n=e.oxw();e.Q6J("ngForOf",n.errorMessage),e.xp6(1),e.Q6J("ngIf",n.showSubmit)}}function bc(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,27),e.qZA())}function _u(f,y){1&f&&(e.TgZ(0,"span",28),e.SDv(1,29),e.qZA())}let Pu=(()=>{class f extends mi.o{constructor(n,d,w,re,Ze,Lt,Gt,On,pr){super(),this.authStorageService=n,this.dimlessBinary=d,this.hostService=w,this.actionLabels=re,this.modalService=Ze,this.taskWrapper=Lt,this.router=Gt,this.notificationService=On,this.orchService=pr,this.sub=new Gl.w,this.hiddenColumns=[],this.hideTitle=!1,this.hideSubmitBtn=!1,this.hasTableDetails=!0,this.hideToolHeader=!1,this.showGeneralActionsOnly=!1,this.columns=[],this.hosts=[],this.isLoadingHosts=!1,this.cdParams={fromLink:"/hosts"},this.selection=new si.r,this.isExecuting=!1,this.icons=Ki.P,this.messages={nonOrchHost:"The feature is disabled because the selected host is not managed by Orchestrator."},this.actionOrchFeatures={add:[El.HOST_ADD],edit:[El.HOST_LABEL_ADD,El.HOST_LABEL_REMOVE],remove:[El.HOST_REMOVE],maintenance:[El.HOST_MAINTENANCE_ENTER,El.HOST_MAINTENANCE_EXIT],drain:[El.HOST_DRAIN]},this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{name:this.actionLabels.ADD,permission:"create",icon:Ki.P.add,click:()=>this.router.url.includes("/hosts")?this.router.navigate(["hosts",{outlets:{modal:[uo.MQ.ADD]}}]):this.bsModalRef=this.modalService.show(ve),disable:fr=>this.getDisable("add",fr)},{name:this.actionLabels.EDIT,permission:"update",icon:Ki.P.edit,click:()=>this.editAction(),disable:fr=>this.getDisable("edit",fr)},{name:this.actionLabels.START_DRAIN,permission:"update",icon:Ki.P.exit,click:()=>this.hostDrain(),disable:fr=>this.getDisable("drain",fr)||!this.enableDrainBtn,visible:()=>!this.showGeneralActionsOnly&&this.enableDrainBtn},{name:this.actionLabels.STOP_DRAIN,permission:"update",icon:Ki.P.exit,click:()=>this.hostDrain(!0),disable:fr=>this.getDisable("drain",fr)||this.enableDrainBtn,visible:()=>!this.showGeneralActionsOnly&&!this.enableDrainBtn},{name:this.actionLabels.REMOVE,permission:"delete",icon:Ki.P.destroy,click:()=>this.deleteAction(),disable:fr=>this.getDisable("remove",fr)},{name:this.actionLabels.ENTER_MAINTENANCE,permission:"update",icon:Ki.P.enter,click:()=>this.hostMaintenance(),disable:fr=>this.getDisable("maintenance",fr)||this.isExecuting||this.enableMaintenanceBtn,visible:()=>!this.showGeneralActionsOnly&&!this.enableMaintenanceBtn},{name:this.actionLabels.EXIT_MAINTENANCE,permission:"update",icon:Ki.P.exit,click:()=>this.hostMaintenance(),disable:fr=>this.getDisable("maintenance",fr)||this.isExecuting||!this.enableMaintenanceBtn,visible:()=>!this.showGeneralActionsOnly&&this.enableMaintenanceBtn}]}ngOnInit(){this.columns=[{name:"Hostname",prop:"hostname",flexGrow:1},{name:"Services",prop:"services",flexGrow:2,cellTemplate:this.servicesTpl},{name:"Labels",prop:"labels",flexGrow:1,cellTransformation:ni.e.badge,customTemplateConfig:{class:"badge-dark"}},{name:"Status",prop:"status",flexGrow:1,cellTransformation:ni.e.badge,customTemplateConfig:{map:{maintenance:{class:"badge-warning"}}}},{name:"Model",prop:"model",flexGrow:1},{name:"CPUs",prop:"cpu_count",flexGrow:.3},{name:"Cores",prop:"cpu_cores",flexGrow:.3},{name:"Total Memory",prop:"memory_total_bytes",pipe:this.dimlessBinary,flexGrow:.4},{name:"Raw Capacity",prop:"raw_capacity",pipe:this.dimlessBinary,flexGrow:.5},{name:"HDDs",prop:"hdd_count",flexGrow:.3},{name:"Flash",prop:"flash_count",headerTemplate:this.flashTmpl,flexGrow:.3},{name:"NICs",prop:"nic_count",flexGrow:.3}],this.columns=this.columns.filter(n=>!this.hiddenColumns.includes(n.prop))}ngOnDestroy(){this.sub.unsubscribe()}updateSelection(n){this.selection=n,this.enableMaintenanceBtn=!1,this.enableDrainBtn=!1,this.selection.hasSelection&&("maintenance"===this.selection.first().status&&(this.enableMaintenanceBtn=!0),this.selection.first().labels.includes("_no_schedule")||(this.enableDrainBtn=!0))}editAction(){this.hostService.getLabels().subscribe(n=>{const d=this.selection.first(),w=new Set(n.concat(this.hostService.predefinedLabels)),re=Array.from(w).map(Ze=>({enabled:!0,name:Ze}));this.modalService.show(Hl.X,{titleText:"Edit Host: " + d.hostname + "",fields:[{type:"select-badges",name:"labels",value:d.labels,label:"Labels",typeConfig:{customBadges:!0,options:re,messages:new rl.a({empty:"There are no labels.",filter:"Filter or add labels",add:"Add label"})}}],submitButtonText:"Edit Host",onSubmit:Ze=>{this.hostService.update(d.hostname,!0,Ze.labels).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated Host \"" + d.hostname + "\""),this.table.refreshBtn()})}})})}hostMaintenance(){this.isExecuting=!0;const n=this.selection.first();"maintenance"!==n.status?this.hostService.update(n.hostname,!1,[],!0).subscribe(()=>{this.isExecuting=!1,this.notificationService.show(Ho.k.success,"\"" + n.hostname + "\" moved to maintenance"),this.table.refreshBtn()},d=>{if(this.isExecuting=!1,this.errorMessage=d.error.detail.split(/\n/),d.preventDefault(),!d.error.detail.includes("WARNING")||d.error.detail.includes("It is NOT safe to stop")||d.error.detail.includes("ALERT")||d.error.detail.includes("unsafe to stop"))this.notificationService.show(Ho.k.error,"\"" + n.hostname + "\" cannot be put into maintenance","" + d.error.detail + "");else{const w={titleText:"Warning",buttonText:"Continue",warning:!0,bodyTpl:this.maintenanceConfirmTpl,showSubmit:!0,onSubmit:()=>{this.hostService.update(n.hostname,!1,[],!0,!0).subscribe(()=>{this.modalRef.close()},()=>this.modalRef.close())}};this.modalRef=this.modalService.show(Ll.Y,w)}}):this.hostService.update(n.hostname,!1,[],!0).subscribe(()=>{this.isExecuting=!1,this.notificationService.show(Ho.k.success,"\"" + n.hostname + "\" has exited maintenance"),this.table.refreshBtn()})}hostDrain(n=!1){const d=this.selection.first();if(n){const w=d.labels.indexOf("_no_schedule",0);d.labels.splice(w,1),this.hostService.update(d.hostname,!0,d.labels).subscribe(()=>{this.notificationService.show(Ho.k.info,"\"" + d.hostname + "\" stopped draining"),this.table.refreshBtn()})}else this.hostService.update(d.hostname,!1,[],!1,!1,!0).subscribe(()=>{this.notificationService.show(Ho.k.info,"\"" + d.hostname + "\" started draining"),this.table.refreshBtn()})}getDisable(n,d){if("remove"===n||"edit"===n||"maintenance"===n||"drain"===n){if(!(null==d?void 0:d.hasSingleSelection))return!0;if(!gn().every(d.selected,"sources.orchestrator"))return this.messages.nonOrchHost}return this.orchService.getTableActionDisableDesc(this.orchStatus,this.actionOrchFeatures[n])}deleteAction(){const n=this.selection.first().hostname;this.modalRef=this.modalService.show(jo.M,{itemDescription:"Host",itemNames:[n],actionDescription:"remove",submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new Ga.R("host/remove",{hostname:n}),call:this.hostService.delete(n)})})}checkHostsFactsAvailable(){const n=this.orchStatus.features;return!gn().isEmpty(n)&&!!n.get_facts.available}transformHostsData(){if(this.checkHostsFactsAvailable())gn().forEach(this.hosts,n=>{n.memory_total_bytes=1024*n.memory_total_kb,n.raw_capacity=n.hdd_capacity_bytes+n.flash_capacity_bytes});else for(let n=4;n<this.columns.length;n++)this.columns[n].prop="",this.columns[n].cellTemplate=this.orchTmpl}getHosts(n){if(this.isLoadingHosts)return;const d={mds:"cephfs",mon:"monitor",osd:"osd",rgw:"rgw","rbd-mirror":"rbdMirroring",mgr:"manager","tcmu-runner":"iscsi"};this.isLoadingHosts=!0,this.sub=this.orchService.status().pipe((0,al.zg)(w=>{this.orchStatus=w;const re=this.checkHostsFactsAvailable();return this.hostService.list(`${re}`)}),(0,Rs.U)(w=>w.map(re=>(re.services.map(Ze=>{Ze.cdLink=`/perf_counters/${Ze.type}/${encodeURIComponent(Ze.id)}`;const Lt=this.permissions[d[Ze.type]];return Ze.canRead=!!Lt&&Lt.read,Ze}),re)))).subscribe(w=>{this.hosts=w,this.transformHostsData(),this.isLoadingHosts=!1},()=>{this.isLoadingHosts=!1,n.error()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(Me.$),e.Y36(Vl),e.Y36(uo.p4),e.Y36(na.Z),e.Y36($i.P),e.Y36(tn.F0),e.Y36(Yi.g),e.Y36(nl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-hosts"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Ui.a,5),e.Gf(ji,7),e.Gf(bo,7),e.Gf(is,7),e.Gf(Uo,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.table=w.first),e.iGM(w=e.CRH())&&(d.servicesTpl=w.first),e.iGM(w=e.CRH())&&(d.maintenanceConfirmTpl=w.first),e.iGM(w=e.CRH())&&(d.orchTmpl=w.first),e.iGM(w=e.CRH())&&(d.flashTmpl=w.first)}},inputs:{hiddenColumns:"hiddenColumns",hideTitle:"hideTitle",hideSubmitBtn:"hideSubmitBtn",hasTableDetails:"hasTableDetails",hideToolHeader:"hideToolHeader",showGeneralActionsOnly:"showGeneralActionsOnly"},features:[e._Bn([{provide:cl.F,useValue:new cl.F("hosts")}]),e.qOj],decls:17,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="Hosts List",n="Overall Performance",d="" + "\ufffd0\ufffd" + "",w="Are you sure you want to continue?",re="Data will be available only if Orchestrator is available.",Ze="N/A",Lt="SSD, NVMEs",Gt="Flash",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","",4,"ngIf"],[3,"ngbNavOutlet"],["servicesTpl",""],["maintenanceConfirmTpl",""],["orchTmpl",""],["flashTmpl",""],["name","modal"],["columnMode","flex","selectionType","single",3,"data","columns","hasDetails","toolHeader","fetchData","setExpandedRow","updateSelection"],["table",""],[1,"table-actions","btn-toolbar"],["id","host-actions",1,"btn-group",3,"permission","selection","tableActions"],["cdTableDetail","",3,"permissions","selection"],n,["uid","y0KGL0iZz","grafanaStyle","two",3,"grafanaPath"],[4,"ngFor","ngForOf"],["class","service-link",3,"routerLink","queryParams",4,"ngIf"],[4,"ngIf"],[1,"service-link",3,"routerLink","queryParams"],d,w,["ngbTooltip",re],Ze,["ngbTooltip",Lt],Gt]},template:function(n,d){if(1&n&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,us,5,9,"ng-template",5),e.qZA(),e.YNc(6,bs,4,0,"li",6),e.qZA(),e._UZ(7,"div",7),e.YNc(8,Kl,1,1,"ng-template",null,8,e.W1O),e.YNc(10,uf,2,2,"ng-template",null,9,e.W1O),e.YNc(12,bc,2,0,"ng-template",null,10,e.W1O),e.YNc(14,_u,2,0,"ng-template",null,11,e.W1O),e._UZ(16,"router-outlet",12)),2&n){const w=e.MAs(1);e.xp6(6),e.Q6J("ngIf",d.permissions.grafana.read),e.xp6(1),e.Q6J("ngbNavOutlet",w)}},directives:[Br.Pz,Br.nv,Br.Vx,Br.uN,s.O5,Br.tO,tn.lC,Ui.a,ha.K,_i,Je.F,s.sg,tn.yS,Br._L],styles:[""]}),f})();var uc=o(62862);let df=(()=>{class f{constructor(n,d,w,re,Ze){this.activeModal=n,this.actionLabels=d,this.formBuilder=w,this.osdService=re,this.taskWrapper=Ze,this.driveGroups=[],this.submitAction=new e.vpe,this.action=d.CREATE,this.createForm()}createForm(){this.formGroup=this.formBuilder.group({})}onSubmit(){this.taskWrapper.wrapTaskAroundCall({task:new Ga.R("osd/"+uo.MQ.CREATE,{tracking_id:gn().join(gn().map(this.driveGroups,"service_id"),", ")}),call:this.osdService.create(this.driveGroups)}).subscribe({error:()=>{this.formGroup.setErrors({cdSubmitButton:!0})},complete:()=>{this.submitAction.emit(),this.activeModal.close()}})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(uc.O),e.Y36(ac),e.Y36($i.P))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-creation-preview-modal"]],inputs:{driveGroups:"driveGroups"},outputs:{submitAction:"submitAction"},decls:15,vars:9,consts:function(){let y,n;return y="OSD creation preview",n="DriveGroups",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],n,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"]]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"h4"),e.SDv(8,7),e.qZA(),e.TgZ(9,"pre"),e._uU(10),e.ALo(11,"json"),e.qZA(),e.qZA(),e.TgZ(12,"div",8),e.TgZ(13,"cd-form-button-panel",9),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.ALo(14,"titlecase"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.formGroup),e.xp6(6),e.Oqu(e.lcZ(11,5,d.driveGroups)),e.xp6(3),e.Q6J("form",d.formGroup)("submitText",e.lcZ(14,7,d.action)))},directives:[il.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,jr.p],pipes:[s.Ts,s.rS],styles:[""]}),f})();const dc=["inventoryDevices"];function Od(f,y){if(1&f&&(e.TgZ(0,"span",16),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.hij(" ",n," ")}}function jd(f,y){if(1&f&&(e.TgZ(0,"cd-alert-panel",13),e.ynx(1),e.SDv(2,14),e.BQk(),e.YNc(3,Od,2,1,"span",15),e.qZA()),2&f){const n=e.oxw();e.Q6J("showTitle",!1),e.xp6(3),e.Q6J("ngForOf",n.requiredFilters)}}function Wc(f,y){if(1&f&&(e.TgZ(0,"div"),e.TgZ(1,"p",17),e.TgZ(2,"span"),e.SDv(3,18),e.ALo(4,"dimlessBinary"),e.qZA(),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(4),e.pQV(n.filteredDevices.length)(e.lcZ(4,2,n.capacity)),e.QtT(3)}}const sp=function(){return["available","osd_ids"]};let os=(()=>{class f{constructor(n,d,w,re){this.formBuilder=n,this.activeModal=d,this.actionLabels=w,this.wizardStepService=re,this.submitAction=new e.vpe,this.icons=Ki.P,this.filterColumns=[],this.devices=[],this.filteredDevices=[],this.capacity=0,this.canSubmit=!1,this.requiredFilters=[],this.action=w.ADD,this.createForm()}ngAfterViewInit(){const n=gn().filter(this.inventoryDevices.columns,d=>this.filterColumns.includes(d.prop)&&"hostname"!==d.prop);setTimeout(()=>{this.requiredFilters=gn().map(n,"name")},0)}createForm(){this.formGroup=this.formBuilder.group({})}onFilterChange(n){if(this.capacity=0,this.canSubmit=!1,gn().isEmpty(n.filters))this.filteredDevices=[],this.event=void 0;else{const d=n.filters.filter(w=>"hostname"!==w.prop);this.canSubmit=!gn().isEmpty(d),this.filteredDevices=n.data,this.capacity=gn().sumBy(this.filteredDevices,"sys_api.size"),this.event=n}}onSubmit(){this.submitAction.emit(this.event),this.activeModal.close()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uc.O),e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(ml))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-devices-selection-modal"]],viewQuery:function(n,d){if(1&n&&e.Gf(dc,5),2&n){let w;e.iGM(w=e.CRH())&&(d.inventoryDevices=w.first)}},outputs:{submitAction:"submitAction"},decls:14,vars:15,consts:function(){let y,n,d;return y="" + "\ufffd0\ufffd" + " devices",n="At least one of these filters must be applied in order to proceed:",d="Number of devices: " + "\ufffd0\ufffd" + ". Raw capacity: " + "\ufffd1\ufffd" + ".",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],["type","warning","size","slim",3,"showTitle",4,"ngIf"],[3,"devices","filterColumns","showAvailDeviceOnly","hiddenColumns","filterChange"],["inventoryDevices",""],[4,"ngIf"],[1,"modal-footer"],[3,"form","disabled","submitText","submitActionEvent"],["type","warning","size","slim",3,"showTitle"],n,["class","badge badge-dark ml-2",4,"ngFor","ngForOf"],[1,"badge","badge-dark","ml-2"],[1,"text-center"],d]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,jd,4,2,"cd-alert-panel",7),e.TgZ(8,"cd-inventory-devices",8,9),e.NdJ("filterChange",function(re){return d.onFilterChange(re)}),e.qZA(),e.YNc(10,Wc,5,4,"div",10),e.qZA(),e.TgZ(11,"div",11),e.TgZ(12,"cd-form-button-panel",12),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.ALo(13,"titlecase"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(2),e.pQV(d.deviceType),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.formGroup),e.xp6(3),e.Q6J("ngIf",!d.canSubmit),e.xp6(1),e.Q6J("devices",d.devices)("filterColumns",d.filterColumns)("showAvailDeviceOnly",!0)("hiddenColumns",e.DdM(14,sp)),e.xp6(2),e.Q6J("ngIf",d.canSubmit),e.xp6(2),e.Q6J("form",d.formGroup)("disabled",!d.canSubmit||0===d.filteredDevices.length)("submitText",e.lcZ(13,12,d.action)))},directives:[il.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,s.O5,Is,jr.p,ze.G,s.sg],pipes:[s.rS,Me.$],styles:[""]}),f})();function $f(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,7),e.qZA())}function pd(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,8),e.qZA())}function Iu(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,9),e.qZA())}const Lu=function(f){return[f]};function ou(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"button",10),e.NdJ("click",function(){return e.CHM(n),e.oxw().showSelectionModal()}),e._UZ(2,"i",11),e.ynx(3),e.SDv(4,12),e.BQk(),e.qZA(),e.BQk()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("title",n.addButtonTooltip)("disabled",0===n.availDevices.length||!n.canSelect||n.expansionCanSelect),e.xp6(1),e.Q6J("ngClass",e.VKq(3,Lu,n.icons.add))}}function Bd(f,y){if(1&f&&(e.TgZ(0,"span"),e.TgZ(1,"span",19),e._uU(2),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.AsE("",n.name,": ",n.value.formatted,"")}}function ff(f,y){if(1&f&&(e.TgZ(0,"div",20),e.TgZ(1,"span"),e.SDv(2,21),e.ALo(3,"dimlessBinary"),e.qZA(),e.qZA()),2&f){const n=e.oxw(2);e.xp6(3),e.pQV(e.lcZ(3,1,n.capacity)),e.QtT(2)}}const Ad=function(){return["available","osd_ids"]},qc=function(){return[]};function Ou(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",13),e.YNc(1,Bd,3,2,"span",14),e.TgZ(2,"a",15),e.NdJ("click",function(){return e.CHM(n),e.oxw().clearDevices(),!1}),e._UZ(3,"i",11),e.ynx(4),e.SDv(5,16),e.BQk(),e.qZA(),e.qZA(),e.TgZ(6,"div"),e._UZ(7,"cd-inventory-devices",17),e.qZA(),e.YNc(8,ff,4,3,"div",18)}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngForOf",n.appliedFilters),e.xp6(2),e.Q6J("ngClass",e.VKq(6,Lu,n.icons.clearFilters)),e.xp6(4),e.Q6J("devices",n.devices)("hiddenColumns",e.DdM(8,Ad))("filterColumns",e.DdM(9,qc)),e.xp6(1),e.Q6J("ngIf","data"===n.type)}}let Ns=(()=>{class f{constructor(n,d,w){this.modalService=n,this.osdService=d,this.router=w,this.selected=new e.vpe,this.cleared=new e.vpe,this.icons=Ki.P,this.devices=[],this.capacity=0,this.appliedFilters=new Array,this.expansionCanSelect=!1,this.tooltips={noAvailDevices:"No available devices",addPrimaryFirst:"Please add primary devices first",addByFilters:"Add devices by using filters"},this.isOsdPage=this.router.url.includes("/osd")}ngOnInit(){var n,d,w;this.isOsdPage||(this.devices=(null===(n=this.osdService)||void 0===n?void 0:n.osdDevices[this.type])?this.osdService.osdDevices[this.type]:[],this.capacity=gn().sumBy(this.devices,"sys_api.size"),this.expansionCanSelect=!!(null===(d=this.osdService)||void 0===d?void 0:d.osdDevices)&&(null===(w=this.osdService)||void 0===w?void 0:w.osdDevices.disableSelect)),this.updateAddButtonTooltip()}ngOnChanges(){this.updateAddButtonTooltip()}showSelectionModal(){let n=["human_readable_type","sys_api.vendor","sys_api.model","sys_api.size"];"data"===this.type&&(n=["hostname",...n]),this.modalService.show(os,{hostname:this.hostname,deviceType:this.name,devices:this.availDevices,filterColumns:n},{size:"xl"}).componentInstance.submitAction.subscribe(re=>{this.devices=re.data,this.capacity=gn().sumBy(this.devices,"sys_api.size"),this.appliedFilters=re.filters;const Ze=gn().assign({type:this.type},re);this.isOsdPage||(this.osdService.osdDevices[this.type]=this.devices,this.osdService.osdDevices.disableSelect=this.canSelect||this.devices.length===this.availDevices.length,this.osdService.osdDevices[this.type].capacity=this.capacity),this.selected.emit(Ze)})}updateAddButtonTooltip(){this.addButtonTooltip="data"===this.type&&0===this.availDevices.length?this.tooltips.noAvailDevices:this.canSelect?0===this.availDevices.length?this.tooltips.noAvailDevices:this.tooltips.addByFilters:this.tooltips.addPrimaryFirst}clearDevices(){this.isOsdPage||(this.expansionCanSelect=!1,this.osdService.osdDevices.disableSelect=!1,this.osdService.osdDevices=[]);const n={type:this.type,clearedDevices:[...this.devices]};this.devices=[],this.cleared.emit(n)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(na.Z),e.Y36(ac),e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-devices-selection-groups"]],inputs:{type:"type",name:"name",hostname:"hostname",availDevices:"availDevices",canSelect:"canSelect"},outputs:{selected:"selected",cleared:"cleared"},features:[e.TTD],decls:12,vars:6,consts:function(){let y,n,d,w,re,Ze,Lt;return y="" + "\ufffd0\ufffd" + " devices",n="The primary storage devices. These devices contain all OSD data.",d="Write-Ahead-Log devices. These devices are used for BlueStore\u2019s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.",w="DB devices can be used for storing BlueStore\u2019s internal metadata. It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).",re="Add",Ze="Clear",Lt="Raw capacity: " + "\ufffd0\ufffd" + "",[[1,"form-group","row"],["for","createDeleteButton",1,"cd-col-form-label"],y,[4,"ngIf"],[1,"cd-col-form-input"],[4,"ngIf","ngIfElse"],["blockClearDevices",""],n,d,w,["type","button","data-toggle","tooltip",1,"btn","btn-light",3,"title","disabled","click"],[3,"ngClass"],re,[1,"pb-2","my-2","border-bottom"],[4,"ngFor","ngForOf"],["href","",1,"tc_clearSelections",3,"click"],Ze,[3,"devices","hiddenColumns","filterColumns"],["class","float-right",4,"ngIf"],[1,"badge","badge-dark","mr-2"],[1,"float-right"],Lt]},template:function(n,d){if(1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"label",1),e.ynx(2),e.SDv(3,2),e.BQk(),e.TgZ(4,"cd-helper"),e.YNc(5,$f,2,0,"span",3),e.YNc(6,pd,2,0,"span",3),e.YNc(7,Iu,2,0,"span",3),e.qZA(),e.qZA(),e.TgZ(8,"div",4),e.YNc(9,ou,5,5,"ng-container",5),e.YNc(10,Ou,9,10,"ng-template",null,6,e.W1O),e.qZA(),e.qZA()),2&n){const w=e.MAs(11);e.xp6(3),e.pQV(d.name),e.QtT(3),e.xp6(2),e.Q6J("ngIf","data"===d.type),e.xp6(1),e.Q6J("ngIf","wal"===d.type),e.xp6(1),e.Q6J("ngIf","db"===d.type),e.xp6(2),e.Q6J("ngIf",0===d.devices.length)("ngIfElse",w)}},directives:[kn.P,ul.S,s.O5,Ds.o,s.mk,s.sg,Is],pipes:[Me.$],styles:[".tc_clearSelections[_ngcontent-%COMP%]{text-decoration:none}"]}),f})();const Yd=["dataDeviceSelectionGroups"],gu=["walDeviceSelectionGroups"],su=["dbDeviceSelectionGroups"],pf=["previewButtonPanel"];function Zd(f,y){1&f&&e._UZ(0,"cd-orchestrator-doc-panel")}function mc(f,y){if(1&f&&(e.TgZ(0,"div",23),e.SDv(1,24),e.ALo(2,"titlecase"),e.ALo(3,"upperFirst"),e.qZA()),2&f){const n=e.oxw(2);e.xp6(3),e.pQV(e.lcZ(2,2,n.action))(e.lcZ(3,4,n.resource)),e.QtT(1)}}function Bl(f,y){1&f&&(e.TgZ(0,"span",32),e.SDv(1,33),e.qZA())}function hd(f,y){if(1&f&&(e.TgZ(0,"div",25),e.TgZ(1,"label",26),e.ynx(2),e.SDv(3,27),e.BQk(),e.TgZ(4,"cd-helper"),e.TgZ(5,"span"),e.SDv(6,28),e.qZA(),e._UZ(7,"br"),e.TgZ(8,"span"),e.SDv(9,29),e.qZA(),e.qZA(),e.qZA(),e.TgZ(10,"div",20),e._UZ(11,"input",30),e.YNc(12,Bl,2,0,"span",31),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(12),e.Q6J("ngIf",d.form.showError("walSlots",n,"min"))}}function hf(f,y){1&f&&(e.TgZ(0,"span",32),e.SDv(1,39),e.qZA())}function au(f,y){if(1&f&&(e.TgZ(0,"div",25),e.TgZ(1,"label",34),e.ynx(2),e.SDv(3,35),e.BQk(),e.TgZ(4,"cd-helper"),e.TgZ(5,"span"),e.SDv(6,36),e.qZA(),e._UZ(7,"br"),e.TgZ(8,"span"),e.SDv(9,37),e.qZA(),e.qZA(),e.qZA(),e.TgZ(10,"div",20),e._UZ(11,"input",38),e.YNc(12,hf,2,0,"span",31),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(12),e.Q6J("ngIf",d.form.showError("dbSlots",n,"min"))}}function _f(f,y){if(1&f&&(e.TgZ(0,"div",40),e._UZ(1,"input",41),e.TgZ(2,"label",42),e._uU(3),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.s9C("id",n.key),e.s9C("name",n.key),e.s9C("formControlName",n.key),e.xp6(1),e.s9C("for",n.key),e.xp6(1),e.Oqu(n.desc)}}function Fu(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",43),e.TgZ(1,"cd-form-button-panel",44,45),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw(2).submit()}),e.qZA(),e.qZA()}if(2&f){e.oxw();const n=e.MAs(8),d=e.oxw();e.xp6(1),e.Q6J("form",d.form)("disabled",0===n.devices.length)("submitText",d.actionLabels.PREVIEW)}}function Jc(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",2),e.TgZ(1,"form",3,4),e.TgZ(3,"div",5),e.YNc(4,mc,4,6,"div",6),e.TgZ(5,"div",7),e.TgZ(6,"fieldset"),e.TgZ(7,"cd-osd-devices-selection-groups",8,9),e.NdJ("selected",function(w){return e.CHM(n),e.oxw().onDevicesSelected(w)})("cleared",function(w){return e.CHM(n),e.oxw().onDevicesCleared(w)}),e.qZA(),e.qZA(),e.TgZ(9,"fieldset"),e.TgZ(10,"legend"),e.SDv(11,10),e.qZA(),e.TgZ(12,"cd-osd-devices-selection-groups",11,12),e.NdJ("selected",function(w){return e.CHM(n),e.oxw().onDevicesSelected(w)})("cleared",function(w){return e.CHM(n),e.oxw().onDevicesCleared(w)}),e.qZA(),e.YNc(14,hd,13,1,"div",13),e.TgZ(15,"cd-osd-devices-selection-groups",14,15),e.NdJ("selected",function(w){return e.CHM(n),e.oxw().onDevicesSelected(w)})("cleared",function(w){return e.CHM(n),e.oxw().onDevicesCleared(w)}),e.qZA(),e.YNc(17,au,13,1,"div",13),e.qZA(),e.TgZ(18,"fieldset"),e.TgZ(19,"legend"),e.SDv(20,16),e.qZA(),e.TgZ(21,"div",17),e.TgZ(22,"label",18),e.SDv(23,19),e.qZA(),e.TgZ(24,"div",20),e.YNc(25,_f,4,5,"div",21),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(26,Fu,3,3,"div",22),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(8),d=e.MAs(13),w=e.MAs(16),re=e.oxw();e.xp6(1),e.Q6J("formGroup",re.form),e.xp6(3),e.Q6J("ngIf",!re.hideTitle),e.xp6(3),e.Q6J("availDevices",re.availDevices)("canSelect",0!==re.availDevices.length),e.xp6(5),e.Q6J("availDevices",re.availDevices)("canSelect",0!==n.devices.length),e.xp6(2),e.Q6J("ngIf",0!==d.devices.length),e.xp6(1),e.Q6J("availDevices",re.availDevices)("canSelect",0!==n.devices.length),e.xp6(2),e.Q6J("ngIf",0!==w.devices.length),e.xp6(8),e.Q6J("ngForOf",re.featureList),e.xp6(1),e.Q6J("ngIf",!re.hideSubmitBtn)}}let Hf=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt,Gt){super(),this.actionLabels=n,this.authStorageService=d,this.orchService=w,this.hostService=re,this.router=Ze,this.modalService=Lt,this.wizardStepService=Gt,this.hideTitle=!1,this.hideSubmitBtn=!1,this.emitDriveGroup=new e.vpe,this.icons=Ki.P,this.columns=[],this.allDevices=[],this.availDevices=[],this.dataDeviceFilters=[],this.dbDeviceFilters=[],this.walDeviceFilters=[],this.hostname="",this.driveGroup=new tu,this.featureList=[],this.hasOrchestrator=!0,this.resource="OSDs",this.action=this.actionLabels.CREATE,this.features={encrypted:{key:"encrypted",desc:"Encryption"}},this.featureList=gn().map(this.features,(On,pr)=>Object.assign(On,{key:pr})),this.createForm()}ngOnInit(){this.orchService.status().subscribe(n=>{this.hasOrchestrator=n.available,n.available?this.getDataDevices():this.loadingNone()}),this.form.get("walSlots").valueChanges.subscribe(n=>this.setSlots("wal",n)),this.form.get("dbSlots").valueChanges.subscribe(n=>this.setSlots("db",n)),gn().each(this.features,n=>{this.form.get("features").get(n.key).valueChanges.subscribe(d=>this.featureFormUpdate(n.key,d))})}createForm(){this.form=new xt.d({walSlots:new Hn.NI(0),dbSlots:new Hn.NI(0),features:new xt.d(this.featureList.reduce((n,d)=>(n[d.key]=new Hn.NI({value:!1,disabled:!0}),n),{}))})}getDataDevices(){this.hostService.inventoryDeviceList().subscribe(n=>{this.allDevices=gn().filter(n,"available"),this.availDevices=[...this.allDevices],this.loadingReady()},()=>{this.allDevices=[],this.availDevices=[],this.loadingError()})}setSlots(n,d){"number"==typeof d&&d>=0&&this.driveGroup.setSlots(n,d)}featureFormUpdate(n,d){this.driveGroup.setFeature(n,d)}enableFeatures(){this.featureList.forEach(n=>{this.form.get(n.key).enable({emitEvent:!1})})}disableFeatures(){this.featureList.forEach(n=>{const d=this.form.get(n.key);d.disable({emitEvent:!1}),d.setValue(!1,{emitEvent:!1})})}onDevicesSelected(n){if(this.availDevices=n.dataOut,"data"===n.type){const d=gn().find(n.filters,{prop:"hostname"});d?(this.hostname=d.value.raw,this.availDevices=n.dataOut.filter(w=>w.hostname===this.hostname),this.driveGroup.setHostPattern(this.hostname)):this.driveGroup.setHostPattern("*"),this.enableFeatures()}this.driveGroup.setDeviceSelection(n.type,n.filters),this.emitDriveGroup.emit(this.driveGroup)}onDevicesCleared(n){"data"===n.type?(this.availDevices=[...this.allDevices],this.walDeviceSelectionGroups.devices=[],this.dbDeviceSelectionGroups.devices=[],this.disableFeatures(),this.driveGroup.reset(),this.form.get("walSlots").setValue(0,{emitEvent:!1}),this.form.get("dbSlots").setValue(0,{emitEvent:!1})):(this.availDevices=[...this.availDevices,...n.clearedDevices],this.driveGroup.clearDeviceSelection(n.type),this.form.get(`${n.type}Slots`).setValue(0,{emitEvent:!1}))}submit(){const n=this.authStorageService.getUsername();this.driveGroup.setName(`dashboard-${n}-${gn().now()}`),this.modalService.show(df,{driveGroups:[this.driveGroup.spec]}).componentInstance.submitAction.subscribe(()=>{this.router.navigate(["/osd"])}),this.previewButtonPanel.submitButton.loading=!1}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(hi.j),e.Y36(nl),e.Y36(Vl),e.Y36(tn.F0),e.Y36(na.Z),e.Y36(ml))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-form"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Yd,5),e.Gf(gu,5),e.Gf(su,5),e.Gf(pf,5)),2&n){let w;e.iGM(w=e.CRH())&&(d.dataDeviceSelectionGroups=w.first),e.iGM(w=e.CRH())&&(d.walDeviceSelectionGroups=w.first),e.iGM(w=e.CRH())&&(d.dbDeviceSelectionGroups=w.first),e.iGM(w=e.CRH())&&(d.previewButtonPanel=w.first)}},inputs:{hideTitle:"hideTitle",hideSubmitBtn:"hideSubmitBtn"},outputs:{emitDriveGroup:"emitDriveGroup"},features:[e.qOj],decls:2,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri;return y="Shared devices",n="Configuration",d="Features",w="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",re="WAL slots",Ze="How many OSDs per WAL device.",Lt="Specify 0 to let Orchestrator backend decide it.",Gt="Value should be greater than or equal to 0",On="DB slots",pr="How many OSDs per DB device.",fr="Specify 0 to let Orchestrator backend decide it.",ri="Value should be greater than or equal to 0",[[4,"ngIf"],["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],["class","card-header",4,"ngIf"],[1,"card-body"],["name","Primary","type","data",3,"availDevices","canSelect","selected","cleared"],["dataDeviceSelectionGroups",""],y,["name","WAL","type","wal",3,"availDevices","canSelect","selected","cleared"],["walDeviceSelectionGroups",""],["class","form-group row",4,"ngIf"],["name","DB","type","db",3,"availDevices","canSelect","selected","cleared"],["dbDeviceSelectionGroups",""],n,["formGroupName","features",1,"form-group","row"],["for","features",1,"cd-col-form-label"],d,[1,"cd-col-form-input"],["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],["class","card-footer",4,"ngIf"],[1,"card-header"],w,[1,"form-group","row"],["for","walSlots",1,"cd-col-form-label"],re,Ze,Lt,["id","walSlots","name","walSlots","type","number","min","0","formControlName","walSlots",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"invalid-feedback"],Gt,["for","dbSlots",1,"cd-col-form-label"],On,pr,fr,["id","dbSlots","name","dbSlots","type","number","min","0","formControlName","dbSlots",1,"form-control"],ri,[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],[1,"card-footer"],["wrappingClass","text-right",3,"form","disabled","submitText","submitActionEvent"],["previewButtonPanel",""]]},template:function(n,d){1&n&&(e.YNc(0,Zd,1,0,"cd-orchestrator-doc-panel",0),e.YNc(1,Jc,27,12,"div",1)),2&n&&(e.Q6J("ngIf",!d.hasOrchestrator),e.xp6(1),e.Q6J("cdFormLoading",d.loading))},directives:[s.O5,vn.y,Ss,Hn._Y,Hn.JL,Gn.V,Hn.sg,Ns,kn.P,Hn.x0,s.sg,ul.S,Ds.o,Hn.qQ,Hn.wV,Hn.Fj,zn.b,Hn.JJ,Hn.u,Hn.Wl,jr.p],pipes:[s.rS,p.m],styles:[""]}),f})();var Uf=o(71289);let mu=(()=>{class f{transform(n){if(gn().isUndefined(n))return "no spec";if(gn().get(n,"unmanaged",!1))return "unmanaged";const d=[],w=gn().get(n,"placement.hosts"),re=gn().get(n,"placement.count"),Ze=gn().get(n,"placement.label"),Lt=gn().get(n,"placement.host_pattern");return gn().isArray(w)&&d.push(...w),gn().isNumber(re)&&d.push("count:" + re + ""),gn().isString(Ze)&&d.push("label:" + Ze + ""),gn().isString(Lt)&&d.push(Lt),d.join(";")}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"placement",type:f,pure:!0}),f})();var tc=o(79765),_d=o(66682),jf=o(77393),wd=o(33637);function gd(f,y=wd.P){return n=>n.lift(new ap(f,y))}class ap{constructor(y,n){this.dueTime=y,this.scheduler=n}call(y,n){return n.subscribe(new ku(y,this.dueTime,this.scheduler))}}class ku extends jf.L{constructor(y,n,d){super(y),this.dueTime=n,this.scheduler=d,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(y){this.clearDebounce(),this.lastValue=y,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(vu,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:y}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(y)}}clearDebounce(){const y=this.debouncedSubscription;null!==y&&(this.remove(y),y.unsubscribe(),this.debouncedSubscription=null)}}function vu(f){f.debouncedNext()}var gf=o(87519),Au=o(45435),Cp=o(80842),Sp=o(14745),nc=o(4416),Vd=o(58039);function mf(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.hij(" ",n," ")}}function Yp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,23),e.qZA())}function vf(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,28),e.qZA()),2&f&&e.Q6J("ngValue",null)}function Qc(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,29),e.qZA()),2&f&&e.Q6J("ngValue",null)}function Gd(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,30),e.qZA()),2&f&&e.Q6J("ngValue",null)}function Bf(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.service_name),e.xp6(1),e.Oqu(n.service_name)}}function lp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,31),e.qZA())}const Ec=function(){return["ingress"]},Xc=function(f){return{required:f}};function md(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",24),e.SDv(2,25),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"select",26),e.NdJ("change",function(){return e.CHM(n),e.oxw().prePopulateId()}),e.YNc(5,vf,2,1,"option",27),e.YNc(6,Qc,2,1,"option",27),e.YNc(7,Gd,2,1,"option",27),e.YNc(8,Bf,2,2,"option",14),e.qZA(),e.YNc(9,lp,2,0,"span",15),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(7,Xc,e.DdM(6,Ec).includes(n.serviceForm.controls.service_type.value))),e.xp6(4),e.Q6J("ngIf",null===n.services),e.xp6(1),e.Q6J("ngIf",null!==n.services&&0===n.services.length),e.xp6(1),e.Q6J("ngIf",null!==n.services&&n.services.length>0),e.xp6(1),e.Q6J("ngForOf",n.services),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("backend_service",d,"required"))}}function Tc(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,35),e.qZA())}function jc(f,y){1&f&&(e.TgZ(0,"span",22),e.tHW(1,36),e._UZ(2,"strong"),e.N_p(),e.qZA())}const Yf=function(){return["mds","rgw","nfs","iscsi","ingress"]};function Zf(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",32),e.SDv(2,33),e.qZA(),e.TgZ(3,"div",10),e._UZ(4,"input",34),e.YNc(5,Tc,2,0,"span",15),e.YNc(6,jc,3,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(4,Xc,e.DdM(3,Yf).includes(n.serviceForm.controls.service_type.value))),e.xp6(4),e.Q6J("ngIf",n.serviceForm.showError("service_id",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("service_id",d,"rgwPattern"))}}function Dd(f,y){1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"div",37),e.TgZ(2,"div",38),e._UZ(3,"input",39),e.TgZ(4,"label",40),e.SDv(5,41),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function Zp(f,y){1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",42),e.SDv(2,43),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"select",44),e.TgZ(5,"option",45),e.SDv(6,46),e.qZA(),e.TgZ(7,"option",47),e.SDv(8,48),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function Vp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,52),e.qZA())}function Vf(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",49),e.SDv(2,50),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"input",51),e.NdJ("focus",function(w){return e.CHM(n),e.oxw().labelFocus.next(w.target.value)})("click",function(w){return e.CHM(n),e.oxw().labelClick.next(w.target.value)}),e.qZA(),e.YNc(5,Vp,2,0,"span",15),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(4),e.Q6J("ngbTypeahead",n.searchLabels),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("label",d,"required"))}}function cp(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",53),e.SDv(2,54),e.qZA(),e.TgZ(3,"div",10),e._UZ(4,"cd-select-badges",55),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(4),e.Q6J("data",n.serviceForm.controls.hosts.value)("options",n.hosts.options)("messages",n.hosts.messages)}}function Mp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,60),e.qZA())}function up(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,61),e.qZA())}function Gf(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",56),e.TgZ(2,"span"),e.SDv(3,57),e.qZA(),e.TgZ(4,"cd-helper"),e.SDv(5,58),e.qZA(),e.qZA(),e.TgZ(6,"div",10),e._UZ(7,"input",59),e.YNc(8,Mp,2,0,"span",15),e.YNc(9,up,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("count",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("count",d,"pattern"))}}function xd(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,65),e.qZA())}function yf(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,66),e.qZA())}function zf(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,67),e.qZA())}function Op(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"label",62),e.SDv(3,63),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",64),e.YNc(6,xd,2,0,"span",15),e.YNc(7,yf,2,0,"span",15),e.YNc(8,zf,2,0,"span",15),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("rgw_frontend_port",d,"pattern")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("rgw_frontend_port",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("rgw_frontend_port",d,"max"))}}function zd(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,89),e.qZA()),2&f&&e.Q6J("ngValue",null)}function dp(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,90),e.qZA()),2&f&&e.Q6J("ngValue",null)}function bf(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,91),e.qZA()),2&f&&e.Q6J("ngValue",null)}function C(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.pool_name),e.xp6(1),e.Oqu(n.pool_name)}}function x(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,92),e.qZA())}function q(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,93),e.qZA())}function Pe(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,94),e.qZA())}function tt(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,95),e.qZA())}function on(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,96),e.qZA())}function bn(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,97),e.qZA())}const nr=function(){return["iscsi"]};function wr(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"label",68),e.SDv(3,69),e.qZA(),e.TgZ(4,"div",10),e.TgZ(5,"select",70),e.YNc(6,zd,2,1,"option",27),e.YNc(7,dp,2,1,"option",27),e.YNc(8,bf,2,1,"option",27),e.YNc(9,C,2,2,"option",14),e.qZA(),e.YNc(10,x,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(11,"div",7),e.TgZ(12,"label",71),e.TgZ(13,"span"),e.SDv(14,72),e.qZA(),e.TgZ(15,"cd-helper"),e.TgZ(16,"span"),e.SDv(17,73),e.qZA(),e._UZ(18,"br"),e.TgZ(19,"span"),e.tHW(20,74),e._UZ(21,"b"),e.N_p(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(22,"div",10),e._UZ(23,"input",75),e.qZA(),e.qZA(),e.TgZ(24,"div",7),e.TgZ(25,"label",76),e.SDv(26,77),e.qZA(),e.TgZ(27,"div",10),e._UZ(28,"input",78),e.YNc(29,q,2,0,"span",15),e.YNc(30,Pe,2,0,"span",15),e.YNc(31,tt,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(32,"div",7),e.TgZ(33,"label",79),e.SDv(34,80),e.qZA(),e.TgZ(35,"div",10),e._UZ(36,"input",81),e.YNc(37,on,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(38,"div",7),e.TgZ(39,"label",82),e.SDv(40,83),e.qZA(),e.TgZ(41,"div",10),e.TgZ(42,"div",84),e._UZ(43,"input",85),e.TgZ(44,"span",86),e._UZ(45,"button",87),e._UZ(46,"cd-copy-2-clipboard-button",88),e.qZA(),e.YNc(47,bn,2,0,"span",15),e.qZA(),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",null===n.pools),e.xp6(1),e.Q6J("ngIf",n.pools&&0===n.pools.length),e.xp6(1),e.Q6J("ngIf",n.pools&&n.pools.length>0),e.xp6(1),e.Q6J("ngForOf",n.pools),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("pool",d,"required")),e.xp6(19),e.Q6J("ngIf",n.serviceForm.showError("api_port",d,"pattern")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("api_port",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("api_port",d,"max")),e.xp6(2),e.Q6J("ngClass",e.VKq(13,Xc,e.DdM(12,nr).includes(n.serviceForm.controls.service_type.value))),e.xp6(4),e.Q6J("ngIf",n.serviceForm.showError("api_user",d,"required")),e.xp6(2),e.Q6J("ngClass",e.VKq(16,Xc,e.DdM(15,nr).includes(n.serviceForm.controls.service_type.value))),e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("api_password",d,"required"))}}function qr(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,114),e.qZA())}function ao(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,115),e.qZA())}function ns(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,116),e.qZA())}function oo(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,117),e.qZA())}function ms(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,118),e.qZA())}function Js(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,119),e.qZA())}function Gs(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,120),e.qZA())}function oi(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,121),e.qZA())}function Wr(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,122),e.qZA())}function ei(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"label",98),e.TgZ(3,"span"),e.SDv(4,99),e.qZA(),e.TgZ(5,"cd-helper"),e.TgZ(6,"span"),e.SDv(7,100),e.qZA(),e.qZA(),e.qZA(),e.TgZ(8,"div",10),e._UZ(9,"input",101),e.YNc(10,qr,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(11,"div",7),e.TgZ(12,"label",102),e.TgZ(13,"span"),e.SDv(14,103),e.qZA(),e.TgZ(15,"cd-helper"),e.TgZ(16,"span"),e.SDv(17,104),e.qZA(),e.qZA(),e.qZA(),e.TgZ(18,"div",10),e._UZ(19,"input",105),e.YNc(20,ao,2,0,"span",15),e.YNc(21,ns,2,0,"span",15),e.YNc(22,oo,2,0,"span",15),e.YNc(23,ms,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(24,"div",7),e.TgZ(25,"label",106),e.TgZ(26,"span"),e.SDv(27,107),e.qZA(),e.TgZ(28,"cd-helper"),e.TgZ(29,"span"),e.SDv(30,108),e.qZA(),e.qZA(),e.qZA(),e.TgZ(31,"div",10),e._UZ(32,"input",109),e.YNc(33,Js,2,0,"span",15),e.YNc(34,Gs,2,0,"span",15),e.YNc(35,oi,2,0,"span",15),e.YNc(36,Wr,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(37,"div",7),e.TgZ(38,"label",110),e.TgZ(39,"span"),e.SDv(40,111),e.qZA(),e.TgZ(41,"cd-helper"),e.TgZ(42,"span"),e.SDv(43,112),e.qZA(),e.qZA(),e.qZA(),e.TgZ(44,"div",10),e._UZ(45,"input",113),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(2),e.Q6J("ngClass",e.VKq(13,Xc,e.DdM(12,Ec).includes(n.serviceForm.controls.service_type.value))),e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("virtual_ip",d,"required")),e.xp6(2),e.Q6J("ngClass",e.VKq(16,Xc,e.DdM(15,Ec).includes(n.serviceForm.controls.service_type.value))),e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("frontend_port",d,"pattern")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("frontend_port",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("frontend_port",d,"max")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("frontend_port",d,"required")),e.xp6(2),e.Q6J("ngClass",e.VKq(19,Xc,e.DdM(18,Ec).includes(n.serviceForm.controls.service_type.value))),e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("monitor_port",d,"pattern")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("monitor_port",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("monitor_port",d,"max")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("monitor_port",d,"required"))}}function Vi(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function no(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,132),e.qZA())}function ia(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,133),e.qZA())}function ps(f,y){1&f&&(e.TgZ(0,"span",22),e.tHW(1,134),e._UZ(2,"strong"),e.N_p(),e.qZA())}function la(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,139),e.qZA())}function ka(f,y){1&f&&(e.TgZ(0,"span",22),e.tHW(1,140),e._UZ(2,"strong"),e.N_p(),e.qZA())}function zs(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",135),e.TgZ(2,"span"),e.SDv(3,136),e.qZA(),e.TgZ(4,"cd-helper"),e.TgZ(5,"span"),e.SDv(6,137),e.qZA(),e.qZA(),e.qZA(),e.TgZ(7,"div",10),e._UZ(8,"input",138),e.YNc(9,la,2,0,"span",15),e.YNc(10,ka,3,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(9),e.Q6J("ngIf",n.serviceForm.showError("engine_id",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("engine_id",d,"snmpEngineIdPattern"))}}function Sl(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.hij(" ",n," ")}}function Gp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,145),e.qZA())}const hh=function(){return["SHA","MD5"]};function n_(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",141),e.SDv(2,142),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"select",143),e.TgZ(5,"option",12),e.SDv(6,144),e.qZA(),e.YNc(7,Sl,2,2,"option",14),e.qZA(),e.YNc(8,Gp,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(5),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(3,hh)),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("auth_protocol",d,"required"))}}function r_(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.hij(" ",n," ")}}const $u=function(){return["DES","AES"]};function i_(f,y){1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",146),e.SDv(2,147),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"select",148),e.TgZ(5,"option",12),e.SDv(6,149),e.qZA(),e.YNc(7,r_,2,2,"option",14),e.qZA(),e.qZA(),e.qZA()),2&f&&(e.xp6(5),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(2,$u)))}function _h(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,153),e.qZA())}function o_(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",150),e.TgZ(2,"span"),e.SDv(3,151),e.qZA(),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",152),e.YNc(6,_h,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("snmp_community",d,"required"))}}function s_(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,157),e.qZA())}function a_(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",154),e.TgZ(2,"span"),e.SDv(3,155),e.qZA(),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",156),e.YNc(6,s_,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("snmp_v3_auth_username",d,"required"))}}function l_(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,161),e.qZA())}function gh(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",158),e.TgZ(2,"span"),e.SDv(3,159),e.qZA(),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",160),e.YNc(6,l_,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("snmp_v3_auth_password",d,"required"))}}function zp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,165),e.qZA())}function mh(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",162),e.TgZ(2,"span"),e.SDv(3,163),e.qZA(),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",164),e.YNc(6,zp,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("snmp_v3_priv_password",d,"required"))}}const c_=function(){return["V2c","V3"]};function ca(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"label",123),e.SDv(3,124),e.qZA(),e.TgZ(4,"div",10),e.TgZ(5,"select",125),e.NdJ("change",function(){return e.CHM(n),e.oxw().clearValidations()}),e.TgZ(6,"option",12),e.SDv(7,126),e.qZA(),e.YNc(8,Vi,2,2,"option",14),e.qZA(),e.YNc(9,no,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(10,"div",7),e.TgZ(11,"label",127),e.TgZ(12,"span"),e.SDv(13,128),e.qZA(),e.TgZ(14,"cd-helper"),e.TgZ(15,"span"),e.SDv(16,129),e.qZA(),e.qZA(),e.qZA(),e.TgZ(17,"div",10),e._UZ(18,"input",130),e.YNc(19,ia,2,0,"span",15),e.YNc(20,ps,3,0,"span",15),e.qZA(),e.qZA(),e.YNc(21,zs,11,2,"div",16),e.YNc(22,n_,9,4,"div",16),e.YNc(23,i_,8,3,"div",16),e.TgZ(24,"fieldset"),e.TgZ(25,"legend"),e.SDv(26,131),e.qZA(),e.YNc(27,o_,7,1,"div",16),e.YNc(28,a_,7,1,"div",16),e.YNc(29,gh,7,1,"div",16),e.YNc(30,mh,7,1,"div",16),e.qZA(),e.BQk()}if(2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(6),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(12,c_)),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("snmp_version",d,"required")),e.xp6(10),e.Q6J("ngIf",n.serviceForm.showError("snmp_destination",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("snmp_destination",d,"snmpDestinationPattern")),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(4),e.Q6J("ngIf","V2c"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value&&null!=n.serviceForm.controls.privacy_protocol.value)}}function vh(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,174),e.qZA())}function yh(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,175),e.qZA())}function Ap(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",169),e.TgZ(2,"span"),e.SDv(3,170),e.qZA(),e.TgZ(4,"cd-helper"),e.SDv(5,171),e.qZA(),e.qZA(),e.TgZ(6,"div",10),e.TgZ(7,"textarea",172),e._uU(8," "),e.qZA(),e.TgZ(9,"input",173),e.NdJ("change",function(w){return e.CHM(n),e.oxw(2).fileUpload(w.target.files,"ssl_cert")}),e.qZA(),e.YNc(10,vh,2,0,"span",15),e.YNc(11,yh,2,0,"span",15),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(10),e.Q6J("ngIf",n.serviceForm.showError("ssl_cert",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("ssl_cert",d,"pattern"))}}function Ju(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,180),e.qZA())}function Ef(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,181),e.qZA())}function vd(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",176),e.TgZ(2,"span"),e.SDv(3,177),e.qZA(),e.TgZ(4,"cd-helper"),e.SDv(5,178),e.qZA(),e.qZA(),e.TgZ(6,"div",10),e.TgZ(7,"textarea",179),e._uU(8," "),e.qZA(),e.TgZ(9,"input",173),e.NdJ("change",function(w){return e.CHM(n),e.oxw(2).fileUpload(w.target.files,"ssl_key")}),e.qZA(),e.YNc(10,Ju,2,0,"span",15),e.YNc(11,Ef,2,0,"span",15),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(10),e.Q6J("ngIf",n.serviceForm.showError("ssl_key",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("ssl_key",d,"pattern"))}}function Wp(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"div",37),e.TgZ(3,"div",38),e._UZ(4,"input",166),e.TgZ(5,"label",167),e.SDv(6,168),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(7,Ap,12,2,"div",16),e.YNc(8,vd,12,2,"div",16),e.BQk()),2&f){const n=e.oxw();e.xp6(7),e.Q6J("ngIf",n.serviceForm.controls.ssl.value),e.xp6(1),e.Q6J("ngIf",n.serviceForm.controls.ssl.value&&"rgw"!==n.serviceForm.controls.service_type.value)}}const Wd=function(){return["rgw","iscsi","ingress"]};let Tf=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt,Gt,On,pr){super(),this.actionLabels=n,this.cephServiceService=d,this.formBuilder=w,this.hostService=re,this.poolService=Ze,this.router=Lt,this.taskWrapperService=Gt,this.route=On,this.activeModal=pr,this.RGW_SVC_ID_PATTERN=/^([^.]+)(\.([^.]+)\.([^.]+))?$/,this.SNMP_DESTINATION_PATTERN=/^[^\:]+:[0-9]/,this.SNMP_ENGINE_ID_PATTERN=/^[0-9A-Fa-f]{10,64}/g,this.hiddenServices=[],this.editing=!1,this.serviceTypes=[],this.labelClick=new tc.xQ,this.labelFocus=new tc.xQ,this.services=[],this.searchLabels=fr=>(0,_d.T)(fr.pipe(gd(200),(0,gf.x)()),this.labelFocus,this.labelClick.pipe((0,Au.h)(()=>!this.typeahead.isPopupOpen()))).pipe((0,Rs.U)(ri=>this.labels.filter(Ii=>Ii.toLowerCase().indexOf(ri.toLowerCase())>-1).slice(0,10))),this.resource="service",this.hosts={options:[],messages:new rl.a({empty:"There are no hosts.",filter:"Filter hosts"})},this.createForm()}createForm(){this.serviceForm=this.formBuilder.group({service_type:[null,[Hn.kI.required]],service_id:[null,[vo.h.requiredIf({service_type:"mds"}),vo.h.requiredIf({service_type:"nfs"}),vo.h.requiredIf({service_type:"iscsi"}),vo.h.requiredIf({service_type:"ingress"}),vo.h.composeIf({service_type:"rgw"},[Hn.kI.required,vo.h.custom("rgwPattern",n=>!gn().isEmpty(n)&&!this.RGW_SVC_ID_PATTERN.test(n))])]],placement:["hosts"],label:[null,[vo.h.requiredIf({placement:"label",unmanaged:!1})]],hosts:[[]],count:[null,[vo.h.number(!1)]],unmanaged:[!1],pool:[null,[vo.h.requiredIf({service_type:"iscsi",unmanaged:!1})]],rgw_frontend_port:[null,[vo.h.number(!1)]],trusted_ip_list:[null],api_port:[null,[vo.h.number(!1)]],api_user:[null,[vo.h.requiredIf({service_type:"iscsi",unmanaged:!1})]],api_password:[null,[vo.h.requiredIf({service_type:"iscsi",unmanaged:!1})]],backend_service:[null,[vo.h.requiredIf({service_type:"ingress",unmanaged:!1})]],virtual_ip:[null,[vo.h.requiredIf({service_type:"ingress",unmanaged:!1})]],frontend_port:[null,[vo.h.number(!1)]],monitor_port:[null,[vo.h.number(!1)]],virtual_interface_networks:[null],ssl:[!1],ssl_cert:["",[vo.h.composeIf({service_type:"rgw",unmanaged:!1,ssl:!0},[Hn.kI.required,vo.h.pemCert()]),vo.h.composeIf({service_type:"iscsi",unmanaged:!1,ssl:!0},[Hn.kI.required,vo.h.sslCert()])]],ssl_key:["",[vo.h.composeIf({service_type:"iscsi",unmanaged:!1,ssl:!0},[Hn.kI.required,vo.h.sslPrivKey()])]],snmp_version:[null,[vo.h.requiredIf({service_type:"snmp-gateway"})]],snmp_destination:[null,{validators:[vo.h.requiredIf({service_type:"snmp-gateway"}),vo.h.custom("snmpDestinationPattern",n=>!gn().isEmpty(n)&&!this.SNMP_DESTINATION_PATTERN.test(n))]}],engine_id:[null,[vo.h.requiredIf({service_type:"snmp-gateway"}),vo.h.custom("snmpEngineIdPattern",n=>!gn().isEmpty(n)&&!this.SNMP_ENGINE_ID_PATTERN.test(n))]],auth_protocol:["SHA",[vo.h.requiredIf({service_type:"snmp-gateway"})]],privacy_protocol:[null],snmp_community:[null,[vo.h.requiredIf({snmp_version:"V2c"})]],snmp_v3_auth_username:[null,[vo.h.requiredIf({service_type:"snmp-gateway"})]],snmp_v3_auth_password:[null,[vo.h.requiredIf({service_type:"snmp-gateway"})]],snmp_v3_priv_password:[null,[vo.h.requiredIf({privacy_protocol:{op:"!empty"}})]]})}ngOnInit(){this.action=this.actionLabels.CREATE,this.router.url.includes("services/(modal:create")?this.pageURL="services":this.router.url.includes("services/(modal:edit")&&(this.editing=!0,this.pageURL="services",this.route.params.subscribe(n=>{this.serviceName=n.name,this.serviceType=n.type})),this.cephServiceService.getKnownTypes().subscribe(n=>{this.hiddenServices.push("osd","container"),this.serviceTypes=gn().difference(n,this.hiddenServices).sort()}),this.hostService.list("false").subscribe(n=>{const d=[];gn().forEach(n,w=>{if(gn().get(w,"sources.orchestrator",!1)){const re=new Sp.$(!1,gn().get(w,"hostname"),"");d.push(re)}}),this.hosts.options=[...d]}),this.hostService.getLabels().subscribe(n=>{this.labels=n}),this.poolService.getList().subscribe(n=>{this.pools=n}),this.cephServiceService.list().subscribe(n=>{this.services=n.filter(d=>"rgw"===d.service_type)}),this.editing&&(this.action=this.actionLabels.EDIT,this.disableForEditing(this.serviceType),this.cephServiceService.list(this.serviceName).subscribe(n=>{var d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co;if(["service_type","service_id","unmanaged"].forEach(Bs=>{this.serviceForm.get(Bs).setValue(n[0][Bs])}),!n[0].unmanaged){const Bs=Object.keys(n[0].placement)[0];let gs;gs=["hosts","label"].indexOf(Bs)>=0?Bs:"hosts",this.serviceForm.get("placement").setValue(gs),this.serviceForm.get("count").setValue(n[0].placement.count),(null===(d=n[0])||void 0===d?void 0:d.placement[gs])&&this.serviceForm.get(gs).setValue(null===(w=n[0])||void 0===w?void 0:w.placement[gs])}switch(this.serviceType){case"iscsi":["pool","api_password","api_user","trusted_ip_list","api_port"].forEach(ma=>{this.serviceForm.get(ma).setValue(n[0].spec[ma])}),this.serviceForm.get("ssl").setValue(null===(re=n[0].spec)||void 0===re?void 0:re.api_secure),(null===(Ze=n[0].spec)||void 0===Ze?void 0:Ze.api_secure)&&(this.serviceForm.get("ssl_cert").setValue(null===(Lt=n[0].spec)||void 0===Lt?void 0:Lt.ssl_cert),this.serviceForm.get("ssl_key").setValue(null===(Gt=n[0].spec)||void 0===Gt?void 0:Gt.ssl_key));break;case"rgw":this.serviceForm.get("rgw_frontend_port").setValue(null===(On=n[0].spec)||void 0===On?void 0:On.rgw_frontend_port),this.serviceForm.get("ssl").setValue(null===(pr=n[0].spec)||void 0===pr?void 0:pr.ssl),(null===(fr=n[0].spec)||void 0===fr?void 0:fr.ssl)&&this.serviceForm.get("ssl_cert").setValue(null===(ri=n[0].spec)||void 0===ri?void 0:ri.rgw_frontend_ssl_certificate);break;case"ingress":["backend_service","virtual_ip","frontend_port","monitor_port","virtual_interface_networks","ssl"].forEach(ma=>{this.serviceForm.get(ma).setValue(n[0].spec[ma])}),(null===(Ii=n[0].spec)||void 0===Ii?void 0:Ii.ssl)&&(this.serviceForm.get("ssl_cert").setValue(null===(go=n[0].spec)||void 0===go?void 0:go.ssl_cert),this.serviceForm.get("ssl_key").setValue(null===(co=n[0].spec)||void 0===co?void 0:co.ssl_key));break;case"snmp-gateway":["snmp_version","snmp_destination"].forEach(ma=>{this.serviceForm.get(ma).setValue(n[0].spec[ma])}),"V3"===this.serviceForm.getValue("snmp_version")?["engine_id","auth_protocol","privacy_protocol","snmp_v3_auth_username","snmp_v3_auth_password","snmp_v3_priv_password"].forEach(Tl=>{null!==Tl&&("snmp_v3_auth_username"===Tl||"snmp_v3_auth_password"===Tl||"snmp_v3_priv_password"===Tl?this.serviceForm.get(Tl).setValue(n[0].spec.credentials[Tl]):this.serviceForm.get(Tl).setValue(n[0].spec[Tl]))}):this.serviceForm.get("snmp_community").setValue(n[0].spec.credentials.snmp_community)}}))}disableForEditing(n){switch(["service_type","service_id"].forEach(w=>{this.serviceForm.get(w).disable()}),n){case"ingress":this.serviceForm.get("backend_service").disable()}}fileUpload(n,d){const w=n[0],re=new FileReader;re.addEventListener("load",Ze=>{const Lt=this.serviceForm.get(d);Lt.setValue(Ze.target.result),Lt.markAsDirty(),Lt.markAsTouched(),Lt.updateValueAndValidity()}),re.readAsText(w,"utf8")}prePopulateId(){const n=this.serviceForm.get("service_id"),d=this.serviceForm.getValue("backend_service");n.reset({value:d,disabled:!0})}onSubmit(){var n,d,w,re,Ze;const Lt=this,Gt=this.serviceForm.getRawValue(),On=Gt.service_type;let pr=`service/${uo.MQ.CREATE}`;this.editing&&(pr=`service/${uo.MQ.EDIT}`);const fr={service_type:On,placement:{},unmanaged:Gt.unmanaged};let ri;if("rgw"===On){const co=Gt.service_id.match(this.RGW_SVC_ID_PATTERN);ri=co[1],co[3]&&(fr.rgw_realm=co[3],fr.rgw_zone=co[4])}else ri=Gt.service_id;const Ii=ri;let go=On;if(gn().isString(Ii)&&!gn().isEmpty(Ii)&&(go=`${On}.${Ii}`,fr.service_id=Ii),!Gt.unmanaged){switch(Gt.placement){case"hosts":Gt.hosts.length>0&&(fr.placement.hosts=Gt.hosts);break;case"label":fr.placement.label=Gt.label}switch(gn().isNumber(Gt.count)&&Gt.count>0&&(fr.placement.count=Gt.count),On){case"rgw":gn().isNumber(Gt.rgw_frontend_port)&&Gt.rgw_frontend_port>0&&(fr.rgw_frontend_port=Gt.rgw_frontend_port),fr.ssl=Gt.ssl,Gt.ssl&&(fr.rgw_frontend_ssl_certificate=null===(n=Gt.ssl_cert)||void 0===n?void 0:n.trim());break;case"iscsi":fr.pool=Gt.pool,gn().isString(Gt.trusted_ip_list)&&!gn().isEmpty(Gt.trusted_ip_list)&&(fr.trusted_ip_list=Gt.trusted_ip_list.trim()),gn().isNumber(Gt.api_port)&&Gt.api_port>0&&(fr.api_port=Gt.api_port),fr.api_user=Gt.api_user,fr.api_password=Gt.api_password,fr.api_secure=Gt.ssl,Gt.ssl&&(fr.ssl_cert=null===(d=Gt.ssl_cert)||void 0===d?void 0:d.trim(),fr.ssl_key=null===(w=Gt.ssl_key)||void 0===w?void 0:w.trim());break;case"ingress":fr.backend_service=Gt.backend_service,fr.service_id=Gt.backend_service,gn().isString(Gt.virtual_ip)&&!gn().isEmpty(Gt.virtual_ip)&&(fr.virtual_ip=Gt.virtual_ip.trim()),gn().isNumber(Gt.frontend_port)&&Gt.frontend_port>0&&(fr.frontend_port=Gt.frontend_port),gn().isNumber(Gt.monitor_port)&&Gt.monitor_port>0&&(fr.monitor_port=Gt.monitor_port),fr.ssl=Gt.ssl,Gt.ssl&&(fr.ssl_cert=null===(re=Gt.ssl_cert)||void 0===re?void 0:re.trim(),fr.ssl_key=null===(Ze=Gt.ssl_key)||void 0===Ze?void 0:Ze.trim()),fr.virtual_interface_networks=Gt.virtual_interface_networks;break;case"snmp-gateway":fr.credentials={},fr.snmp_version=Gt.snmp_version,fr.snmp_destination=Gt.snmp_destination,"V3"===Gt.snmp_version?(fr.engine_id=Gt.engine_id,fr.auth_protocol=Gt.auth_protocol,fr.credentials.snmp_v3_auth_username=Gt.snmp_v3_auth_username,fr.credentials.snmp_v3_auth_password=Gt.snmp_v3_auth_password,null!==Gt.privacy_protocol&&(fr.privacy_protocol=Gt.privacy_protocol,fr.credentials.snmp_v3_priv_password=Gt.snmp_v3_priv_password)):fr.credentials.snmp_community=Gt.snmp_community}}this.taskWrapperService.wrapTaskAroundCall({task:new Ga.R(pr,{service_name:go}),call:this.cephServiceService.create(fr)}).subscribe({error(){Lt.serviceForm.setErrors({cdSubmitButton:!0})},complete:()=>{"services"===this.pageURL?this.router.navigate([this.pageURL,{outlets:{modal:null}}]):this.activeModal.close()}})}clearValidations(){const n=this.serviceForm.getValue("snmp_version"),d=this.serviceForm.getValue("privacy_protocol");"V3"===n?this.serviceForm.get("snmp_community").clearValidators():(this.serviceForm.get("engine_id").clearValidators(),this.serviceForm.get("auth_protocol").clearValidators(),this.serviceForm.get("privacy_protocol").clearValidators(),this.serviceForm.get("snmp_v3_auth_username").clearValidators(),this.serviceForm.get("snmp_v3_auth_password").clearValidators()),null===d&&this.serviceForm.get("snmp_v3_priv_password").clearValidators()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(X),e.Y36(uc.O),e.Y36(Vl),e.Y36(Cp.q),e.Y36(tn.F0),e.Y36($i.P),e.Y36(tn.gz),e.Y36(Br.Kz))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-service-form"]],viewQuery:function(n,d){if(1&n&&e.Gf(Br.dR,5),2&n){let w;e.iGM(w=e.CRH())&&(d.typeahead=w.first)}},inputs:{hiddenServices:"hiddenServices",editing:"editing",serviceName:"serviceName",serviceType:"serviceType"},features:[e.qOj],decls:35,vars:31,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co,zo,Bs,gs,ks,ma,Tl,va,Wl,Kc,xo,Du,id,Ed,Vu,Rf,np,ls,Ms,hs,$a,oc,Gc,Hc,du,Pl,rp,fu,Td,od,Gu,Ys,Kh,dh,X_,pm,K_,eg,tg,ng,rg,ig,yp,Ps,Ry,tv,e_,TT,nv,Ny,Py,Iy,Ly,Fy,rv,ky,$y,CT,ST,MT,hm,Hy,Uy,jy,By,Yy,Zy,iv,_m,Vy,fh,xu,ov,of,gm,Gy,sv,av,lv,zy;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Type",d="-- Select a service type --",w="This field is required.",re="Backend Service",Ze="Loading...",Lt="-- No service available --",Gt="-- Select an existing RGW service --",On="This field is required.",pr="Id",fr="This field is required.",ri="The value does not match the pattern " + "\ufffd#2\ufffd" + "<service_id>[.<realm_name>.<zone_name>]" + "\ufffd/#2\ufffd" + ".",Ii="Unmanaged",go="Placement",co="Hosts",zo="Label",Bs="Label",gs="This field is required.",ks="Hosts",ma="Count",Tl="Only that number of daemons will be created.",va="The value must be at least 1.",Wl="The entered value needs to be a number.",Kc="Port",xo="The entered value needs to be a number.",Du="The value must be at least 1.",id="The value cannot exceed 65535.",Ed="Pool",Vu="Trusted IPs",Rf="Comma separated list of IP addresses.",np="Please add the " + "\ufffd#21\ufffd" + "Ceph Manager" + "\ufffd/#21\ufffd" + " IP addresses here, otherwise the iSCSI gateways can't be reached.",ls="Port",Ms="User",hs="Password",$a="Loading...",oc="-- No pools available --",Gc="-- Select a pool --",Hc="This field is required.",du="The entered value needs to be a number.",Pl="The value must be at least 1.",rp="The value cannot exceed 65535.",fu="This field is required.",Td="This field is required.",od="Virtual IP",Gu="The virtual IP address and subnet (in CIDR notation) where the ingress service will be available.",Ys="Frontend Port",Kh="The port used to access the ingress service.",dh="Monitor Port",X_="The port used by haproxy for load balancer status.",pm="CIDR Networks",K_="A list of networks to identify which network interface to use for the virtual IP address.",eg="This field is required.",tg="The entered value needs to be a number.",ng="The value must be at least 1.",rg="The value cannot exceed 65535.",ig="This field is required.",yp="The entered value needs to be a number.",Ps="The value must be at least 1.",Ry="The value cannot exceed 65535.",tv="This field is required.",e_="Version",TT="-- Select SNMP version --",nv="Destination",Ny="Must be of the format hostname:port.",Py="Credentials",Iy="This field is required.",Ly="This field is required.",Fy="The value does not match the pattern: " + "\ufffd#2\ufffd" + "hostname:port" + "\ufffd/#2\ufffd" + "",rv="Engine Id",ky="Unique identifier for the device (in hex).",$y="This field is required.",CT="The value does not match the pattern: " + "\ufffd#2\ufffd" + "Must be in hexadecimal and length must be multiple of 2 with min value = 10 amd max value = 64." + "\ufffd/#2\ufffd" + "",ST="Auth Protocol",MT="-- Select auth protocol --",hm="This field is required.",Hy="Privacy Protocol",Uy="-- Select privacy protocol --",jy="SNMP Community",By="This field is required.",Yy="Username",Zy="This field is required.",iv="Password",_m="This field is required.",Vy="Encryption",fh="This field is required.",xu="SSL",ov="Certificate",of="The SSL certificate in PEM format.",gm="This field is required.",Gy="Invalid SSL certificate.",sv="Private key",av="The SSL private key in PEM format.",lv="This field is required.",zy="Invalid SSL private key.",[[3,"pageURL","modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","service_type",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],["id","service_type","name","service_type","formControlName","service_type",1,"form-control","custom-select"],[3,"ngValue"],d,[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],[4,"ngIf"],[1,"modal-footer"],[1,"text-right"],[3,"form","submitText","submitActionEvent"],[3,"value"],[1,"invalid-feedback"],w,["for","backend_service",1,"cd-col-form-label",3,"ngClass"],re,["id","backend_service","name","backend_service","formControlName","backend_service",1,"form-control","custom-select",3,"change"],[3,"ngValue",4,"ngIf"],Ze,Lt,Gt,On,["for","service_id",1,"cd-col-form-label",3,"ngClass"],pr,["id","service_id","type","text","formControlName","service_id",1,"form-control"],fr,ri,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","unmanaged","type","checkbox","formControlName","unmanaged",1,"custom-control-input"],["for","unmanaged",1,"custom-control-label"],Ii,["for","placement",1,"cd-col-form-label"],go,["id","placement","formControlName","placement",1,"form-control","custom-select"],["value","hosts"],co,["value","label"],zo,["for","label",1,"cd-col-form-label"],Bs,["id","label","type","text","formControlName","label",1,"form-control",3,"ngbTypeahead","focus","click"],gs,["for","hosts",1,"cd-col-form-label"],ks,["id","hosts",3,"data","options","messages"],["for","count",1,"cd-col-form-label"],ma,Tl,["id","count","type","number","formControlName","count","min","1",1,"form-control"],va,Wl,["for","rgw_frontend_port",1,"cd-col-form-label"],Kc,["id","rgw_frontend_port","type","number","formControlName","rgw_frontend_port","min","1","max","65535",1,"form-control"],xo,Du,id,["for","pool",1,"cd-col-form-label","required"],Ed,["id","pool","name","pool","formControlName","pool",1,"form-control","custom-select"],["for","trusted_ip_list",1,"cd-col-form-label"],Vu,Rf,np,["id","trusted_ip_list","type","text","formControlName","trusted_ip_list",1,"form-control"],["for","api_port",1,"cd-col-form-label"],ls,["id","api_port","type","number","formControlName","api_port","min","1","max","65535",1,"form-control"],["for","api_user",1,"cd-col-form-label",3,"ngClass"],Ms,["id","api_user","type","text","formControlName","api_user",1,"form-control"],["for","api_password",1,"cd-col-form-label",3,"ngClass"],hs,[1,"input-group"],["id","api_password","type","password","autocomplete","new-password","formControlName","api_password",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","api_password",1,"btn","btn-light"],["source","api_password"],$a,oc,Gc,Hc,du,Pl,rp,fu,Td,["for","virtual_ip",1,"cd-col-form-label",3,"ngClass"],od,Gu,["id","virtual_ip","type","text","formControlName","virtual_ip",1,"form-control"],["for","frontend_port",1,"cd-col-form-label",3,"ngClass"],Ys,Kh,["id","frontend_port","type","number","formControlName","frontend_port","min","1","max","65535",1,"form-control"],["for","monitor_port",1,"cd-col-form-label",3,"ngClass"],dh,X_,["id","monitor_port","type","number","formControlName","monitor_port","min","1","max","65535",1,"form-control"],["for","virtual_interface_networks",1,"cd-col-form-label"],pm,K_,["id","virtual_interface_networks","type","text","formControlName","virtual_interface_networks",1,"form-control"],eg,tg,ng,rg,ig,yp,Ps,Ry,tv,["for","snmp_version",1,"cd-col-form-label","required"],e_,["id","snmp_version","name","snmp_version","formControlName","snmp_version",1,"form-control","custom-select",3,"change"],TT,["for","snmp_destination",1,"cd-col-form-label","required"],nv,Ny,["id","snmp_destination","type","text","formControlName","snmp_destination",1,"form-control"],Py,Iy,Ly,Fy,["for","engine_id",1,"cd-col-form-label","required"],rv,ky,["id","engine_id","type","text","formControlName","engine_id",1,"form-control"],$y,CT,["for","auth_protocol",1,"cd-col-form-label","required"],ST,["id","auth_protocol","name","auth_protocol","formControlName","auth_protocol",1,"form-control","custom-select"],MT,hm,["for","privacy_protocol",1,"cd-col-form-label"],Hy,["id","privacy_protocol","name","privacy_protocol","formControlName","privacy_protocol",1,"form-control","custom-select"],Uy,["for","snmp_community",1,"cd-col-form-label","required"],jy,["id","snmp_community","type","text","formControlName","snmp_community",1,"form-control"],By,["for","snmp_v3_auth_username",1,"cd-col-form-label","required"],Yy,["id","snmp_v3_auth_username","type","text","formControlName","snmp_v3_auth_username",1,"form-control"],Zy,["for","snmp_v3_auth_password",1,"cd-col-form-label","required"],iv,["id","snmp_v3_auth_password","type","password","formControlName","snmp_v3_auth_password",1,"form-control"],_m,["for","snmp_v3_priv_password",1,"cd-col-form-label","required"],Vy,["id","snmp_v3_priv_password","type","password","formControlName","snmp_v3_priv_password",1,"form-control"],fh,["id","ssl","type","checkbox","formControlName","ssl",1,"custom-control-input"],["for","ssl",1,"custom-control-label"],xu,["for","ssl_cert",1,"cd-col-form-label"],ov,of,["id","ssl_cert","formControlName","ssl_cert","rows","5",1,"form-control","resize-vertical","text-monospace","text-pre"],["type","file",3,"change"],gm,Gy,["for","ssl_key",1,"cd-col-form-label"],sv,av,["id","ssl_key","formControlName","ssl_key","rows","5",1,"form-control","resize-vertical","text-monospace","text-pre"],lv,zy]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.qZA(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.TgZ(13,"select",11),e.TgZ(14,"option",12),e.SDv(15,13),e.qZA(),e.YNc(16,mf,2,2,"option",14),e.qZA(),e.YNc(17,Yp,2,0,"span",15),e.qZA(),e.qZA(),e.YNc(18,md,10,9,"div",16),e.YNc(19,Zf,7,6,"div",16),e.YNc(20,Dd,6,0,"div",16),e.YNc(21,Zp,9,0,"div",16),e.YNc(22,Vf,6,2,"div",16),e.YNc(23,cp,5,3,"div",16),e.YNc(24,Gf,10,2,"div",16),e.YNc(25,Op,9,3,"ng-container",17),e.YNc(26,wr,48,18,"ng-container",17),e.YNc(27,ei,46,21,"ng-container",17),e.YNc(28,ca,31,13,"ng-container",17),e.YNc(29,Wp,9,2,"ng-container",17),e.qZA(),e.TgZ(30,"div",18),e.TgZ(31,"div",19),e.TgZ(32,"cd-form-button-panel",20),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.ALo(33,"titlecase"),e.ALo(34,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n){const w=e.MAs(7);e.Q6J("pageURL",d.pageURL)("modalRef",d.activeModal),e.xp6(4),e.pQV(e.lcZ(3,22,d.action))(e.lcZ(4,24,d.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.serviceForm),e.xp6(8),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",d.serviceTypes),e.xp6(1),e.Q6J("ngIf",d.serviceForm.showError("service_type",w,"required")),e.xp6(1),e.Q6J("ngIf","ingress"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf","snmp-gateway"!==d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf","snmp-gateway"!==d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"label"===d.serviceForm.controls.placement.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"hosts"===d.serviceForm.controls.placement.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"rgw"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"iscsi"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"ingress"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"snmp-gateway"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&e.DdM(30,Wd).includes(d.serviceForm.controls.service_type.value)),e.xp6(3),e.Q6J("form",d.serviceForm)("submitText",e.lcZ(33,26,d.action)+" "+e.lcZ(34,28,d.resource))}},directives:[il.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,kn.P,Ds.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,Hn.YN,Hn.Kr,s.sg,s.O5,jr.p,s.mk,Hn.Fj,Hn.Wl,Br.dR,Rl.m,ul.S,Hn.wV,Hn.qQ,Hn.Fd,nc.C,Vd.s],pipes:[s.rS,p.m],styles:[""]}),f})();function u_(f,y){if(1&f&&(e.ynx(0),e._UZ(1,"cd-service-daemon-list",1),e.BQk()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("serviceName",n.selection.service_name)}}let bh=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-service-details"]],inputs:{permissions:"permissions",selection:"selection"},decls:1,vars:1,consts:[[4,"ngIf"],[3,"serviceName"]],template:function(n,d){1&n&&e.YNc(0,u_,2,1,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,$d],styles:[""]}),f})();function Mm(f,y){1&f&&e._UZ(0,"cd-orchestrator-doc-panel")}function d_(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"cd-table",2),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw().getServices(w)})("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e._UZ(2,"cd-table-actions",3),e._UZ(3,"cd-service-details",4),e.qZA(),e.BQk()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("data",n.services)("columns",n.columns)("autoReload",5e3)("hasDetails",n.hasDetails),e.xp6(1),e.Q6J("permission",n.permissions.hosts)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("permissions",n.permissions)("selection",n.expandedRow)}}const f_="services";let Rd=(()=>{class f extends mi.o{constructor(n,d,w,re,Ze,Lt,Gt,On){super(),this.actionLabels=n,this.authStorageService=d,this.modalService=w,this.orchService=re,this.cephServiceService=Ze,this.relativeDatePipe=Lt,this.taskWrapperService=Gt,this.router=On,this.hiddenColumns=[],this.hiddenServices=[],this.hasDetails=!0,this.routedModal=!0,this.showDocPanel=!1,this.actionOrchFeatures={create:[El.SERVICE_CREATE],update:[El.SERVICE_EDIT],delete:[El.SERVICE_DELETE]},this.columns=[],this.services=[],this.isLoadingServices=!1,this.selection=new si.r,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"create",icon:Ki.P.add,click:()=>this.openModal(),name:this.actionLabels.CREATE,canBePrimary:pr=>!pr.hasSelection,disable:pr=>this.getDisable("create",pr)},{permission:"update",icon:Ki.P.edit,click:()=>this.openModal(!0),name:this.actionLabels.EDIT,disable:pr=>this.getDisable("update",pr)},{permission:"delete",icon:Ki.P.destroy,click:()=>this.deleteAction(),name:this.actionLabels.DELETE,disable:pr=>this.getDisable("delete",pr)}]}openModal(n=!1){var d,w,re;if(this.routedModal)this.router.navigate(n?[f_,{outlets:{modal:[uo.MQ.EDIT,this.selection.first().service_type,this.selection.first().service_name]}}]:[f_,{outlets:{modal:[uo.MQ.CREATE]}}]);else{let Ze={};Ze=n?{serviceName:null===(d=this.selection.first())||void 0===d?void 0:d.service_name,serviceType:null===(re=null===(w=this.selection)||void 0===w?void 0:w.first())||void 0===re?void 0:re.service_type,hiddenServices:this.hiddenServices,editing:n}:{hiddenServices:this.hiddenServices,editing:n},this.bsModalRef=this.modalService.show(Tf,Ze,{size:"lg"})}}ngOnInit(){const n=[{name:"Service",prop:"service_name",flexGrow:1},{name:"Placement",prop:"",pipe:new mu,flexGrow:2},{name:"Running",prop:"status.running",flexGrow:1},{name:"Size",prop:"status.size",flexGrow:1},{name:"Last Refreshed",prop:"status.last_refresh",pipe:this.relativeDatePipe,flexGrow:1}];this.columns=n.filter(d=>!this.hiddenColumns.includes(d.prop)),this.orchService.status().subscribe(d=>{this.orchStatus=d,this.showDocPanel=!d.available})}ngOnChanges(){var n;(null===(n=this.orchStatus)||void 0===n?void 0:n.available)&&(this.services=[],this.table.reloadData())}getDisable(n,d){var w;return"delete"===n&&!(null==d?void 0:d.hasSingleSelection)||"update"===n&&["osd","container"].indexOf(null===(w=this.selection.first())||void 0===w?void 0:w.service_type)>=0||this.orchService.getTableActionDisableDesc(this.orchStatus,this.actionOrchFeatures[n])}getServices(n){this.isLoadingServices||(this.isLoadingServices=!0,this.cephServiceService.list().subscribe(d=>{this.services=d,this.services=this.services.filter(w=>!this.hiddenServices.includes(w.service_name)),this.isLoadingServices=!1},()=>{this.isLoadingServices=!1,this.services=[],n.error()}))}updateSelection(n){this.selection=n}deleteAction(){const n=this.selection.first();this.modalService.show(jo.M,{itemDescription:"Service",itemNames:[n.service_name],actionDescription:"delete",submitActionObservable:()=>this.taskWrapperService.wrapTaskAroundCall({task:new Ga.R(`service/${uo.MQ.DELETE}`,{service_name:n.service_name}),call:this.cephServiceService.delete(n.service_name)}).pipe((0,Uf.g)(5e3))})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(hi.j),e.Y36(na.Z),e.Y36(nl),e.Y36(X),e.Y36(Vs.h),e.Y36($i.P),e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-services"]],viewQuery:function(n,d){if(1&n&&e.Gf(Ui.a,7),2&n){let w;e.iGM(w=e.CRH())&&(d.table=w.first)}},inputs:{hostname:"hostname",hiddenColumns:"hiddenColumns",hiddenServices:"hiddenServices",hasDetails:"hasDetails",routedModal:"routedModal"},features:[e._Bn([{provide:cl.F,useValue:new cl.F(f_)}]),e.qOj,e.TTD],decls:3,vars:2,consts:[[4,"ngIf"],["name","modal"],["identifier","service_name","forceIdentifier","true","columnMode","flex","selectionType","single",3,"data","columns","autoReload","hasDetails","fetchData","setExpandedRow","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"permissions","selection"]],template:function(n,d){1&n&&(e.YNc(0,Mm,1,0,"cd-orchestrator-doc-panel",0),e.YNc(1,d_,4,9,"ng-container",0),e._UZ(2,"router-outlet",1)),2&n&&(e.Q6J("ngIf",d.showDocPanel),e.xp6(1),e.Q6J("ngIf",null==d.orchStatus?null:d.orchStatus.available))},directives:[s.O5,tn.lC,Ss,Ui.a,ha.K,bh],styles:[""]}),f})();const qp=function(){return["services","status"]};let Jp=(()=>{class f{constructor(n,d,w,re,Ze){this.wizardStepsService=n,this.cephServiceService=d,this.dimlessBinary=w,this.hostService=re,this.osdService=Ze,this.hosts=[],this.totalCapacity=0,this.services=[],this.totalCPUs=0,this.totalMemory=0}ngOnInit(){var n,d,w;let re=0,Ze=0,Lt=0,Gt=0,On=0,pr=0;this.hostService.list("true").subscribe(fr=>{this.hosts=fr,this.hostsCount=this.hosts.length,gn().forEach(this.hosts,ri=>{this.totalCPUs=this.totalCPUs+ri.cpu_count,this.totalMemory=this.totalMemory+1024*ri.memory_total_kb}),this.totalMemory=this.dimlessBinary.transform(this.totalMemory)}),this.osdService.osdDevices.data&&(re=null===(n=this.osdService.osdDevices.data)||void 0===n?void 0:n.length,Ze=this.osdService.osdDevices.data.capacity),this.osdService.osdDevices.wal&&(Lt=null===(d=this.osdService.osdDevices.wal)||void 0===d?void 0:d.length,Gt=this.osdService.osdDevices.wal.capacity),this.osdService.osdDevices.db&&(On=null===(w=this.osdService.osdDevices.db)||void 0===w?void 0:w.length,pr=this.osdService.osdDevices.db.capacity),this.totalDevices=re+Lt+On,this.osdService.osdDevices.totalDevices=this.totalDevices,this.totalCapacity=Ze+Gt+pr}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(ml),e.Y36(X),e.Y36(Me.$),e.Y36(Vl),e.Y36(ac))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-create-cluster-review"]],decls:43,vars:14,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="Cluster Resources",n="Hosts",d="Storage Capacity",w="Number of devices",re="Raw capacity",Ze="CPUs",Lt="Memory",Gt="Host Details",[[1,"row"],[1,"col-lg-3"],[1,"cd-header"],y,[1,"table","table-striped"],[1,"bold"],n,d,w,re,[1,"pt-5"],Ze,Lt,[1,"col-lg-9"],Gt,[3,"hiddenColumns","hideToolHeader","hideTitle","hideSubmitBtn","hasTableDetails","showGeneralActionsOnly"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"fieldset"),e.TgZ(3,"legend",2),e.SDv(4,3),e.qZA(),e.TgZ(5,"table",4),e.TgZ(6,"tr"),e.TgZ(7,"td",5),e.SDv(8,6),e.qZA(),e.TgZ(9,"td"),e._uU(10),e.qZA(),e.qZA(),e.TgZ(11,"tr"),e.TgZ(12,"td"),e.TgZ(13,"dl"),e.TgZ(14,"dt"),e.TgZ(15,"p"),e.SDv(16,7),e.qZA(),e.qZA(),e.TgZ(17,"dd"),e.TgZ(18,"p"),e.SDv(19,8),e.qZA(),e.qZA(),e.TgZ(20,"dd"),e.TgZ(21,"p"),e.SDv(22,9),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(23,"td",10),e.TgZ(24,"p"),e._uU(25),e.qZA(),e.TgZ(26,"p"),e._uU(27),e.ALo(28,"dimlessBinary"),e.qZA(),e.qZA(),e.qZA(),e.TgZ(29,"tr"),e.TgZ(30,"td",5),e.SDv(31,11),e.qZA(),e.TgZ(32,"td"),e._uU(33),e.qZA(),e.qZA(),e.TgZ(34,"tr"),e.TgZ(35,"td",5),e.SDv(36,12),e.qZA(),e.TgZ(37,"td"),e._uU(38),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(39,"div",13),e.TgZ(40,"legend",2),e.SDv(41,14),e.qZA(),e._UZ(42,"cd-hosts",15),e.qZA(),e.qZA()),2&n&&(e.xp6(10),e.Oqu(d.hostsCount),e.xp6(15),e.Oqu(d.totalDevices),e.xp6(2),e.hij(" ",e.lcZ(28,11,d.totalCapacity),""),e.xp6(6),e.Oqu(d.totalCPUs),e.xp6(5),e.Oqu(d.totalMemory),e.xp6(4),e.Q6J("hiddenColumns",e.DdM(13,qp))("hideToolHeader",!0)("hideTitle",!0)("hideSubmitBtn",!0)("hasTableDetails",!1)("showGeneralActionsOnly",!0))},directives:[Pu],pipes:[Me.$],styles:["cd-hosts[_ngcontent-%COMP%] .nav{display:none}"]}),f})();const Eh=["skipConfirmTpl"];function Om(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",3),e.TgZ(1,"div",4),e.TgZ(2,"div",5),e._UZ(3,"img",6),e.TgZ(4,"h3",7),e.SDv(5,8),e.qZA(),e.TgZ(6,"div",9),e.TgZ(7,"h4",10),e.SDv(8,11),e.qZA(),e.TgZ(9,"div",12),e.TgZ(10,"button",13),e.NdJ("click",function(){return e.CHM(n),e.oxw().createCluster()}),e.SDv(11,14),e.qZA(),e.TgZ(12,"button",15),e.NdJ("click",function(){return e.CHM(n),e.oxw().skipClusterCreation()}),e.SDv(13,16),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(3),e.Q6J("src",n.projectConstants.cephLogo,e.LSH),e.xp6(2),e.pQV(n.projectConstants.projectName),e.QtT(5)}}const ag=function(){return["services"]};function p_(f,y){1&f&&(e.TgZ(0,"div",29),e.TgZ(1,"h4",30),e.SDv(2,31),e.qZA(),e._UZ(3,"br"),e._UZ(4,"cd-hosts",32),e.qZA()),2&f&&(e.xp6(4),e.Q6J("hiddenColumns",e.DdM(5,ag))("hideTitle",!0)("hideSubmitBtn",!0)("hasTableDetails",!1)("showGeneralActionsOnly",!0))}function Am(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",29),e.TgZ(1,"h4",30),e.SDv(2,33),e.qZA(),e._UZ(3,"br"),e.TgZ(4,"div",34),e.TgZ(5,"cd-osd-form",35),e.NdJ("emitDriveGroup",function(w){return e.CHM(n),e.oxw(2).getDriveGroup(w)}),e.qZA(),e.qZA(),e.qZA()}2&f&&(e.xp6(5),e.Q6J("hideTitle",!0)("hideSubmitBtn",!0))}const lg=function(){return["mon","mgr","crash","agent"]},Hu=function(){return["status.running","status.size","status.last_refresh"]};function Th(f,y){1&f&&(e.TgZ(0,"div",29),e.TgZ(1,"h4",30),e.SDv(2,36),e.qZA(),e._UZ(3,"br"),e._UZ(4,"cd-services",37),e.qZA()),2&f&&(e.xp6(4),e.Q6J("hasDetails",!1)("hiddenServices",e.DdM(4,lg))("hiddenColumns",e.DdM(5,Hu))("routedModal",!1))}function Ch(f,y){1&f&&(e.TgZ(0,"div",29),e._UZ(1,"cd-create-cluster-review"),e.qZA())}function Qp(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",17),e.TgZ(1,"div",18),e.SDv(2,19),e.qZA(),e.TgZ(3,"div",20),e._UZ(4,"cd-wizard",21),e.TgZ(5,"div",22),e.ynx(6,23),e.YNc(7,p_,5,6,"div",24),e.YNc(8,Am,6,2,"div",24),e.YNc(9,Th,5,6,"div",24),e.YNc(10,Ch,2,0,"div",24),e.BQk(),e.qZA(),e.qZA(),e.TgZ(11,"div",25),e.TgZ(12,"button",26),e.NdJ("click",function(){return e.CHM(n),e.oxw().onNextStep()}),e.SDv(13,27),e.qZA(),e.TgZ(14,"cd-back-button",28),e.NdJ("backAction",function(){return e.CHM(n),e.oxw().onPreviousStep()}),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(4),e.Q6J("stepsTitle",n.stepTitles),e.xp6(2),e.Q6J("ngSwitch",null==n.currentStep?null:n.currentStep.stepIndex),e.xp6(1),e.Q6J("ngSwitchCase","1"),e.xp6(1),e.Q6J("ngSwitchCase","2"),e.xp6(1),e.Q6J("ngSwitchCase","3"),e.xp6(1),e.Q6J("ngSwitchCase","4"),e.xp6(3),e.pQV(n.showSubmitButtonLabel()),e.QtT(13),e.xp6(1),e.Q6J("name",n.showCancelButtonLabel())}}function rc(f,y){1&f&&(e.TgZ(0,"span"),e.tHW(1,38),e._UZ(2,"strong"),e.N_p(),e.qZA(),e.TgZ(3,"div",39),e.SDv(4,40),e.qZA())}let lu=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On,pr,fr){this.authStorageService=n,this.wizardStepsService=d,this.router=w,this.hostService=re,this.notificationService=Ze,this.actionLabels=Lt,this.clusterService=Gt,this.modalService=On,this.taskWrapper=pr,this.osdService=fr,this.projectConstants=uo.$x,this.stepTitles=["Add Hosts","Create OSDs","Create Services","Review"],this.startClusterCreation=!1,this.observables=[],this.driveGroup=new tu,this.driveGroups=[],this.submitAction=new e.vpe,this.permissions=this.authStorageService.getPermissions(),this.currentStepSub=this.wizardStepsService.getCurrentStep().subscribe(ri=>{this.currentStep=ri}),this.currentStep.stepIndex=1}createCluster(){this.startClusterCreation=!0}skipClusterCreation(){const n={titleText:"Warning",buttonText:"Continue",warning:!0,bodyTpl:this.skipConfirmTpl,showSubmit:!0,onSubmit:()=>{this.clusterService.updateStatus("POST_INSTALLED").subscribe({error:()=>this.modalRef.close(),complete:()=>{this.notificationService.show(Ho.k.info,"Cluster expansion skipped by user"),this.router.navigate(["/dashboard"]),this.modalRef.close()}})}};this.modalRef=this.modalService.show(Ll.Y,n)}onSubmit(){if(this.hostService.list("false").subscribe(n=>{n.forEach(d=>{const w=d.labels.indexOf("_no_schedule",0);w>-1&&(d.labels.splice(w,1),this.observables.push(this.hostService.update(d.hostname,!0,d.labels)))}),(0,Ws.D)(this.observables).pipe((0,Fa.x)(()=>this.clusterService.updateStatus("POST_INSTALLED").subscribe(()=>{this.notificationService.show(Ho.k.success,"Cluster expansion was successful"),this.router.navigate(["/dashboard"])}))).subscribe({error:d=>d.preventDefault()})}),this.driveGroup){const n=this.authStorageService.getUsername();this.driveGroup.setName(`dashboard-${n}-${gn().now()}`),this.driveGroups.push(this.driveGroup.spec)}this.osdService.osdDevices.totalDevices>0&&this.taskWrapper.wrapTaskAroundCall({task:new Ga.R("osd/"+uo.MQ.CREATE,{tracking_id:gn().join(gn().map(this.driveGroups,"service_id"),", ")}),call:this.osdService.create(this.driveGroups)}).subscribe({error:n=>n.preventDefault(),complete:()=>{this.submitAction.emit(),this.osdService.osdDevices=[]}})}getDriveGroup(n){this.driveGroup=n}onNextStep(){this.wizardStepsService.isLastStep()?this.onSubmit():(this.wizardStepsService.getCurrentStep().subscribe(n=>{this.currentStep=n}),this.wizardStepsService.moveToNextStep())}onPreviousStep(){this.wizardStepsService.isFirstStep()?this.router.navigate(["/dashboard"]):this.wizardStepsService.moveToPreviousStep()}showSubmitButtonLabel(){return this.wizardStepsService.isLastStep()?"Expand Cluster":this.actionLabels.NEXT}showCancelButtonLabel(){return this.wizardStepsService.isFirstStep()?this.actionLabels.CANCEL:this.actionLabels.BACK}ngOnDestroy(){this.currentStepSub.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(ml),e.Y36(tn.F0),e.Y36(Vl),e.Y36(Yi.g),e.Y36(uo.p4),e.Y36(lc),e.Y36(na.Z),e.Y36($i.P),e.Y36(ac))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-create-cluster"]],viewQuery:function(n,d){if(1&n&&e.Gf(Eh,7),2&n){let w;e.iGM(w=e.CRH())&&(d.skipConfirmTpl=w.first)}},outputs:{submitAction:"submitAction"},decls:4,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr;return y="Welcome to " + "\ufffd0\ufffd" + "",n="Please expand your cluster first",d="Expand Cluster",w="Skip",re="Expand Cluster",Ze="" + "\ufffd0\ufffd" + "",Lt="Add Hosts",Gt="Create OSDs",On="Create Services",pr="You are about to skip the cluster expansion process. You\u2019ll need to " + "\ufffd#2\ufffd" + "navigate through the menu to add hosts and services." + "\ufffd/#2\ufffd" + "",fr="Are you sure you want to continue?",[["class","container h-75",4,"ngIf"],["class","card",4,"ngIf"],["skipConfirmTpl",""],[1,"container","h-75"],[1,"row","h-100","justify-content-center","align-items-center"],[1,"blank-page"],["alt","Ceph",1,"img-fluid","mx-auto","d-block",3,"src"],[1,"text-center","m-2"],y,[1,"m-4"],[1,"text-center"],n,[1,"offset-md-2"],["name","expand-cluster",1,"btn","btn-accent","m-2",3,"click"],d,["name","skip-cluster-creation",1,"btn","btn-light",3,"click"],w,[1,"card"],[1,"card-header"],re,[1,"container-fluid"],[3,"stepsTitle"],[1,"card-body","vertical-line"],[3,"ngSwitch"],["class","ml-5",4,"ngSwitchCase"],[1,"card-footer"],["aria-label","Next",1,"btn","btn-accent","m-2","float-right",3,"click"],Ze,["aria-label","Close",1,"m-2","float-right",3,"name","backAction"],[1,"ml-5"],[1,"title"],Lt,[3,"hiddenColumns","hideTitle","hideSubmitBtn","hasTableDetails","showGeneralActionsOnly"],Gt,[1,"alignForm"],[3,"hideTitle","hideSubmitBtn","emitDriveGroup"],On,[3,"hasDetails","hiddenServices","hiddenColumns","routedModal"],pr,[1,"mt-4"],fr]},template:function(n,d){1&n&&(e.YNc(0,Om,14,2,"div",0),e.YNc(1,Qp,15,8,"div",1),e.YNc(2,rc,5,0,"ng-template",null,2,e.W1O)),2&n&&(e.Q6J("ngIf",!d.startClusterCreation),e.xp6(1),e.Q6J("ngIf",d.startClusterCreation))},directives:[s.O5,Ds.o,nu,s.RF,s.n9,xl.W,Pu,Hf,Rd,Jp],styles:[".container-fluid[_ngcontent-%COMP%]{align-items:flex-start;display:flex;padding-left:0;width:100%}.card-body[_ngcontent-%COMP%]{max-width:85%}.vertical-line[_ngcontent-%COMP%]{border-left:1px solid #ced4da}cd-wizard[_ngcontent-%COMP%]{width:15%}cd-hosts[_ngcontent-%COMP%] .nav{display:none}.alignForm[_ngcontent-%COMP%]{margin-left:-1%}"]}),f})();var Ml=o(83608),Sh=o(55358);const Xp=["tree"],fl=function(f,y,n){return[f,y,n]};function ko(f,y){if(1&f&&e._UZ(0,"i",12),2&f){const n=e.oxw();e.Q6J("ngClass",e.kEZ(1,fl,n.icons.large,n.icons.spinner,n.icons.spin))}}const qa=function(){return["in","up"]},Mh=function(){return["down","out","destroyed"]},qd=function(f,y){return{"badge-success":f,"badge-danger":y}};function Fc(f,y){if(1&f&&(e.TgZ(0,"span",15),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.Q6J("ngClass",e.WLB(4,qd,e.DdM(2,qa).includes(n.data.status),e.DdM(3,Mh).includes(n.data.status))),e.xp6(1),e.hij(" ",n.data.status," ")}}const Oh=function(f){return{"type-osd":f}};function Qu(f,y){if(1&f&&(e.YNc(0,Fc,2,7,"span",13),e.TgZ(1,"span"),e._uU(2,"\xa0"),e.qZA(),e._UZ(3,"span",14)),2&f){const n=y.$implicit;e.Q6J("ngIf",n.data.status),e.xp6(3),e.Q6J("ngClass",e.VKq(3,Oh,"osd"===n.data.type))("innerHTML",n.data.name,e.oJD)}}function wu(f,y){if(1&f&&(e.TgZ(0,"div",16),e.TgZ(1,"legend"),e._uU(2),e.qZA(),e._UZ(3,"cd-table-key-value",17),e.qZA()),2&f){const n=e.oxw();e.xp6(2),e.Oqu(n.metadataTitle),e.xp6(1),e.Q6J("data",n.metadata)}}let Ah=(()=>{class f{constructor(n,d){this.crushRuleService=n,this.timerService=d,this.sub=new Gl.w,this.icons=Ki.P,this.loadingIndicator=!0,this.nodes=[],this.treeOptions={useVirtualScroll:!0,nodeHeight:22,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}},this.metadataKeyMap={}}ngOnInit(){this.sub=this.timerService.get(()=>this.crushRuleService.getInfo(),5e3).subscribe(n=>{this.loadingIndicator=!1,this.nodes=this.abstractTreeData(n)})}ngOnDestroy(){this.sub.unsubscribe()}abstractTreeData(n){const d=n.nodes||[],w=n.roots||[],re={};if(0===d.length)return[{name:"No nodes!"}];const Ze=[];return d.reverse().forEach(Gt=>{w.includes(Gt.id)&&Ze.push(Gt.id),re[Gt.id]=this.generateTreeLeaf(Gt,re)}),Ze.map(Gt=>re[Gt])}generateTreeLeaf(n,d){const w=n.id;this.metadataKeyMap[w]=n;const Lt=[],Gt={name:n.name+" ("+n.type+")",status:n.status,cdId:w,type:n.type};return n.children&&(n.children.sort().forEach(On=>{Lt.push(d[On])}),Gt.children=Lt),Gt}onNodeSelected(n,d){if(Ts.iM.ACTIVATE(n,d,!0),void 0!==d.data.cdId){const w=this.metadataKeyMap[d.data.cdId],{name:re,type:Ze}=w,Gt=(0,xr._T)(w,["name","type","status"]);this.metadata=Gt,this.metadataTitle=re+" ("+Ze+")"}else delete this.metadata,delete this.metadataTitle}onUpdateData(){this.tree.treeModel.expandAll()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Ml.H),e.Y36(Sh.f))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-crushmap"]],viewQuery:function(n,d){if(1&n&&e.Gf(Xp,5),2&n){let w;e.iGM(w=e.CRH())&&(d.tree=w.first)}},decls:14,vars:4,consts:function(){let y;return y="CRUSH map viewer",[[1,"row"],[1,"col-sm-12","col-lg-12"],[1,"card"],[1,"card-header"],y,[1,"card-body"],[1,"col-sm-6","col-lg-6","tree-container"],[3,"ngClass",4,"ngIf"],[3,"nodes","options","updateData"],["tree",""],["treeNodeTemplate",""],["class","col-sm-6 col-lg-6 metadata",4,"ngIf"],[3,"ngClass"],["class","badge",3,"ngClass",4,"ngIf"],[1,"node-name",3,"ngClass","innerHTML"],[1,"badge",3,"ngClass"],[1,"col-sm-6","col-lg-6","metadata"],[3,"data"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"div",2),e.TgZ(3,"div",3),e.SDv(4,4),e.qZA(),e.TgZ(5,"div",5),e.TgZ(6,"div",0),e.TgZ(7,"div",6),e.YNc(8,ko,1,5,"i",7),e.TgZ(9,"tree-root",8,9),e.NdJ("updateData",function(){return d.onUpdateData()}),e.YNc(11,Qu,4,5,"ng-template",null,10,e.W1O),e.qZA(),e.qZA(),e.YNc(13,wu,4,2,"div",11),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(8),e.Q6J("ngIf",d.loadingIndicator),e.xp6(1),e.Q6J("nodes",d.nodes)("options",d.treeOptions),e.xp6(4),e.Q6J("ngIf",d.metadata))},directives:[s.O5,Ts.qr,s.mk,Ft.b],styles:[".tree-container[_ngcontent-%COMP%]{height:calc(100vh - 200px)}"]}),f})(),wh=(()=>{class f{constructor(n){this.http=n}getLogs(){return this.http.get("api/logs/all")}validateDashboardUrl(n){return this.http.get(`api/grafana/validation/${n}`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var Wf=o(49457);let Dh=(()=>{class f{download(n,d){(0,Wf.saveAs)(new Blob([n]),d)}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();const qf=function(f){return[f]};function xh(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"button",5),e.NdJ("click",function(){return e.CHM(n),e.oxw().download("json")}),e._UZ(1,"i",2),e.TgZ(2,"span"),e._uU(3,"JSON"),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(1,qf,n.icons.json))}}function Xu(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"button",5),e.NdJ("click",function(){return e.CHM(n),e.oxw().download()}),e._UZ(1,"i",2),e.TgZ(2,"span"),e._uU(3,"Text"),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(1,qf,n.icons.text))}}let wp=(()=>{class f{constructor(n){this.textToDownloadService=n,this.title="Download",this.icons=Ki.P}download(n){this.fileName=`${this.fileName}_${(new Date).toLocaleDateString()}`,"json"===n?this.textToDownloadService.download(JSON.stringify(this.objectItem,null,2),`${this.fileName}.json`):this.textToDownloadService.download(this.textItem,`${this.fileName}.txt`)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Dh))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-download-button"]],inputs:{objectItem:"objectItem",textItem:"textItem",fileName:"fileName",title:"title"},decls:6,vars:6,consts:[["ngbDropdown","","placement","bottom-right"],["type","button","ngbDropdownToggle","",1,"btn","btn-light","dropdown-toggle-split",3,"title"],[3,"ngClass"],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"click",4,"ngIf"],["ngbDropdownItem","",3,"click"]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"button",1),e._UZ(2,"i",2),e.qZA(),e.TgZ(3,"div",3),e.YNc(4,xh,4,3,"button",4),e.YNc(5,Xu,4,3,"button",4),e.qZA(),e.qZA()),2&n&&(e.xp6(1),e.Q6J("title",d.title),e.xp6(1),e.Q6J("ngClass",e.VKq(4,qf,d.icons.download)),e.xp6(2),e.Q6J("ngIf",d.objectItem),e.xp6(1),e.Q6J("ngIf",d.textItem))},directives:[Br.jt,Ds.o,Br.iD,s.mk,Br.Vi,s.O5,Br.TH],styles:[""]}),f})();var Rh=o(42746);function h_(f,y){1&f&&e.GkF(0)}function Dp(f,y){if(1&f&&(e.TgZ(0,"div",19),e._UZ(1,"cd-download-button",20),e._UZ(2,"cd-copy-2-clipboard-button",21),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("objectItem",n.clog)("textItem",n.clogText),e.xp6(1),e.Q6J("source",n.clogText)("byId",!1)}}function __(f,y){if(1&f&&(e.TgZ(0,"p"),e.TgZ(1,"span",22),e._uU(2),e.ALo(3,"cdDate"),e.qZA(),e.TgZ(4,"span"),e.ALo(5,"logPriority"),e._uU(6),e.qZA(),e.TgZ(7,"span",23),e._uU(8),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.Oqu(e.lcZ(3,6,n.stamp)),e.xp6(2),e.Gre("priority ",e.lcZ(5,8,n.priority),""),e.xp6(2),e.Oqu(n.priority),e.xp6(2),e.Oqu(n.message)}}function Nh(f,y){1&f&&e.GkF(0)}function g_(f,y){if(1&f&&(e.TgZ(0,"div",14),e.YNc(1,Dp,3,4,"div",15),e.TgZ(2,"div",16),e.YNc(3,__,9,10,"p",17),e.YNc(4,Nh,1,0,"ng-container",18),e.qZA(),e.qZA()),2&f){const n=e.oxw(3),d=e.MAs(4);e.xp6(1),e.Q6J("ngIf",n.clog.length),e.xp6(2),e.Q6J("ngForOf",n.clog),e.xp6(1),e.Q6J("ngIf",0!=n.clog.length)("ngIfElse",d)}}function fp(f,y){if(1&f&&e.YNc(0,g_,5,4,"div",13),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.clog)}}function Ku(f,y){if(1&f&&(e.TgZ(0,"div",19),e._UZ(1,"cd-download-button",24),e._UZ(2,"cd-copy-2-clipboard-button",21),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("objectItem",n.audit_log)("textItem",n.auditLogText),e.xp6(1),e.Q6J("source",n.auditLogText)("byId",!1)}}function Uu(f,y){if(1&f&&(e.TgZ(0,"p"),e.TgZ(1,"span",22),e._uU(2),e.ALo(3,"cdDate"),e.qZA(),e.TgZ(4,"span"),e.ALo(5,"logPriority"),e._uU(6),e.qZA(),e.TgZ(7,"span",23),e._uU(8),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.Oqu(e.lcZ(3,6,n.stamp)),e.xp6(2),e.Gre("priority ",e.lcZ(5,8,n.priority),""),e.xp6(2),e.Oqu(n.priority),e.xp6(2),e.Oqu(n.message)}}function Jd(f,y){1&f&&e.GkF(0)}function Qd(f,y){if(1&f&&(e.TgZ(0,"div",14),e.YNc(1,Ku,3,4,"div",15),e.TgZ(2,"div",16),e.YNc(3,Uu,9,10,"p",17),e.YNc(4,Jd,1,0,"ng-container",18),e.qZA(),e.qZA()),2&f){const n=e.oxw(3),d=e.MAs(4);e.xp6(1),e.Q6J("ngIf",n.audit_log.length),e.xp6(2),e.Q6J("ngForOf",n.audit_log),e.xp6(1),e.Q6J("ngIf",0!=n.audit_log.length)("ngIfElse",d)}}function Jf(f,y){if(1&f&&e.YNc(0,Qd,5,4,"div",13),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.audit_log)}}function Cf(f,y){if(1&f&&(e.TgZ(0,"div"),e.YNc(1,h_,1,0,"ng-container",3),e.TgZ(2,"ul",4,5),e.TgZ(4,"li",6),e.TgZ(5,"a",7),e.SDv(6,8),e.qZA(),e.YNc(7,fp,1,1,"ng-template",9),e.qZA(),e.TgZ(8,"li",10),e.TgZ(9,"a",7),e.SDv(10,11),e.qZA(),e.YNc(11,Jf,1,1,"ng-template",9),e.qZA(),e.qZA(),e._UZ(12,"div",12),e.qZA()),2&f){const n=e.MAs(3);e.oxw();const d=e.MAs(2);e.xp6(1),e.Q6J("ngTemplateOutlet",d),e.xp6(11),e.Q6J("ngbNavOutlet",n)}}function Ph(f,y){if(1&f&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.value),e.xp6(1),e.Oqu(n.name)}}const Kp=function(f){return[f]};function m_(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",25),e.TgZ(1,"div",26),e.TgZ(2,"label",27),e.SDv(3,28),e.qZA(),e.TgZ(4,"select",29),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().priority=w})("ngModelChange",function(){return e.CHM(n),e.oxw().filterLogs()}),e.YNc(5,Ph,2,2,"option",30),e.qZA(),e.qZA(),e.TgZ(6,"div",26),e.TgZ(7,"label",31),e.SDv(8,32),e.qZA(),e.TgZ(9,"div",33),e.TgZ(10,"div",34),e.TgZ(11,"span",35),e._UZ(12,"i",36),e.qZA(),e.qZA(),e.TgZ(13,"input",37),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().search=w})("keyup",function(){return e.CHM(n),e.oxw().filterLogs()}),e.qZA(),e.TgZ(14,"div",38),e.TgZ(15,"button",39),e.NdJ("click",function(){return e.CHM(n),e.oxw().clearSearchKey()}),e._UZ(16,"i"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(17,"div",26),e.TgZ(18,"label",40),e.SDv(19,41),e.qZA(),e.TgZ(20,"div",33),e.TgZ(21,"input",42,43),e.NdJ("click",function(){return e.CHM(n),e.MAs(22).open()})("ngModelChange",function(w){return e.CHM(n),e.oxw().selectedDate=w})("ngModelChange",function(){return e.CHM(n),e.oxw().filterLogs()}),e.qZA(),e.TgZ(23,"span",38),e.TgZ(24,"button",39),e.NdJ("click",function(){return e.CHM(n),e.oxw().clearDate()}),e._UZ(25,"i"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(26,"div",26),e.TgZ(27,"label"),e.SDv(28,44),e.qZA(),e.TgZ(29,"ngb-timepicker",45),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().startTime=w})("ngModelChange",function(){return e.CHM(n),e.oxw().filterLogs()}),e.qZA(),e.TgZ(30,"span"),e._uU(31,"\xa0\u2014\xa0"),e.qZA(),e.TgZ(32,"ngb-timepicker",45),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().endTime=w})("ngModelChange",function(){return e.CHM(n),e.oxw().filterLogs()}),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(4),e.Q6J("ngModel",n.priority),e.xp6(1),e.Q6J("ngForOf",n.priorities),e.xp6(7),e.Q6J("ngClass",e.VKq(16,Kp,n.icons.search)),e.xp6(1),e.Q6J("ngModel",n.search),e.xp6(3),e.Gre("icon-prepend ",n.icons.destroy,""),e.xp6(5),e.Q6J("maxDate",n.maxDate)("ngModel",n.selectedDate),e.xp6(4),e.Gre("icon-prepend ",n.icons.destroy,""),e.xp6(4),e.Q6J("spinners",!1)("ngModel",n.startTime),e.xp6(3),e.Q6J("spinners",!1)("ngModel",n.endTime)}}function eh(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"span"),e.SDv(1,47),e.qZA(),e.TgZ(2,"span"),e._uU(3,"\xa0"),e.qZA(),e.TgZ(4,"a",48),e.NdJ("click",function(){return e.CHM(n),e.oxw().resetFilter()}),e.SDv(5,49),e.qZA()}}let xp=(()=>{class f{constructor(n,d,w){this.logsService=n,this.datePipe=d,this.ngZone=w,this.icons=Ki.P,this.priorities=[{name:"Debug",value:"[DBG]"},{name:"Info",value:"[INF]"},{name:"Warning",value:"[WRN]"},{name:"Error",value:"[ERR]"},{name:"All",value:"All"}],this.priority="All",this.search="",this.startTime={hour:0,minute:0},this.endTime={hour:23,minute:59},this.maxDate={year:(new Date).getFullYear(),month:(new Date).getMonth()+1,day:(new Date).getDate()}}ngOnInit(){this.getInfo(),this.ngZone.runOutsideAngular(()=>{this.interval=window.setInterval(()=>{this.ngZone.run(()=>{this.getInfo()})},5e3)})}ngOnDestroy(){clearInterval(this.interval)}getInfo(){this.logsService.getLogs().subscribe(n=>{this.contentData=n,this.clogText=this.logToText(this.contentData.clog),this.auditLogText=this.logToText(this.contentData.audit_log),this.filterLogs()})}abstractFilters(){var n,d,w,re,Ze,Lt,Gt,On;const pr=this.priority,fr=this.search.toLowerCase().replace(/,/g,"");let ri;if(this.selectedDate){const ks=this.selectedDate.month,ma=this.selectedDate.day;ri=`${this.selectedDate.year}-${ks<=9?`0${ks}`:`${ks}`}-${ma<=9?`0${ma}`:`${ma}`}`}else ri="";return{priority:pr,key:fr,yearMonthDay:ri,sTime:60*(null!==(d=null===(n=this.startTime)||void 0===n?void 0:n.hour)&&void 0!==d?d:0)+(null!==(re=null===(w=this.startTime)||void 0===w?void 0:w.minute)&&void 0!==re?re:0),eTime:60*(null!==(Lt=null===(Ze=this.endTime)||void 0===Ze?void 0:Ze.hour)&&void 0!==Lt?Lt:23)+(null!==(On=null===(Gt=this.endTime)||void 0===Gt?void 0:Gt.minute)&&void 0!==On?On:59)}}filterExecutor(n,d){return n.filter(w=>{const re=this.datePipe.transform(w.stamp,"mediumTime"),Ze=parseInt(re.split(":")[0],10),Lt=parseInt(re.split(":")[1],10);let Gt,On,pr;return Gt="All"===d.priority?w.priority:d.priority,On=d.yearMonthDay?d.yearMonthDay:w.stamp,pr=60*Ze+Lt,w.priority===Gt&&-1!==w.message.toLowerCase().indexOf(d.key)&&-1!==w.stamp.indexOf(On)&&pr>=d.sTime&&pr<=d.eTime})}filterLogs(){const n=this.abstractFilters();this.clog=this.filterExecutor(this.contentData.clog,n),this.audit_log=this.filterExecutor(this.contentData.audit_log,n)}clearSearchKey(){this.search="",this.filterLogs()}clearDate(){this.selectedDate=null,this.filterLogs()}resetFilter(){return this.priority="All",this.search="",this.selectedDate=null,this.startTime={hour:0,minute:0},this.endTime={hour:23,minute:59},this.filterLogs(),!1}logToText(n){let d="";for(const w of Object.keys(n))d=d+this.datePipe.transform(n[w].stamp,"medium")+"\t"+n[w].priority+"\t"+n[w].message+"\n";return d}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(wh),e.Y36(s.uU),e.Y36(e.R0b))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-logs"]],decls:5,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="Cluster Logs",n="Audit Logs",d="Priority:",w="Keyword:",re="Date:",Ze="Time range:",Lt="No log entries found. Please try to select different filter options.",Gt="Reset filter.",[[4,"ngIf"],["logFiltersTpl",""],["noEntriesTpl",""],[4,"ngTemplateOutlet"],["ngbNav","","cdStatefulTab","logs",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","cluster-logs"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","audit-logs"],n,[3,"ngbNavOutlet"],["class","card bg-light mb-3",4,"ngIf"],[1,"card","bg-light","mb-3"],["class","btn-group","role","group",4,"ngIf"],[1,"card-body"],[4,"ngFor","ngForOf"],[4,"ngIf","ngIfElse"],["role","group",1,"btn-group"],["fileName","cluster_log",3,"objectItem","textItem"],[3,"source","byId"],[1,"timestamp"],[1,"message"],["fileName","audit_log",3,"objectItem","textItem"],[1,"form-inline"],[1,"form-group"],["for","logs-priority"],d,["id","logs-priority",1,"form-control","custom-select",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],["for","logs-keyword"],w,[1,"input-group"],[1,"input-group-prepend"],[1,"input-group-text"],[3,"ngClass"],["id","logs-keyword","type","text",1,"form-control",3,"ngModel","ngModelChange","keyup"],[1,"input-group-append"],["type","button",1,"btn","btn-light",3,"click"],["for","logs-date"],re,["id","logs-date","placeholder","YYYY-MM-DD","ngbDatepicker","",1,"form-control",3,"maxDate","ngModel","click","ngModelChange"],["d","ngbDatepicker"],Ze,[3,"spinners","ngModel","ngModelChange"],[3,"value"],Lt,["href","#",3,"click"],Gt]},template:function(n,d){1&n&&(e.YNc(0,Cf,13,2,"div",0),e.YNc(1,m_,33,18,"ng-template",null,1,e.W1O),e.YNc(3,eh,6,0,"ng-template",null,2,e.W1O)),2&n&&e.Q6J("ngIf",d.contentData)},directives:[s.O5,s.tP,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,s.sg,wp,Vd.s,kn.P,Ds.o,Hn.EJ,zn.b,Hn.JJ,Hn.On,s.mk,Hn.Fj,Br.J4,Br.Pm,Hn.YN,Hn.Kr],pipes:[bi.N,Rh.e],styles:["p[_ngcontent-%COMP%]{font-family:monospace}.card[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%]{margin-top:-45px;position:absolute;right:0}.card[_ngcontent-%COMP%] div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:flex}.card[_ngcontent-%COMP%] div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card[_ngcontent-%COMP%] .timestamp[_ngcontent-%COMP%]{flex-shrink:0;font-weight:bold}.card[_ngcontent-%COMP%] .priority[_ngcontent-%COMP%]{margin-left:.5rem}.card[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{margin-left:1rem}.card[_ngcontent-%COMP%] .err[_ngcontent-%COMP%]{color:#ef5c55}.card[_ngcontent-%COMP%] .warn[_ngcontent-%COMP%]{color:#ffc200}.card[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{color:#2b99a8}.card[_ngcontent-%COMP%] .debug[_ngcontent-%COMP%]{color:#495057} cd-logs ngb-timepicker input.ngb-tp-input{width:3.5rem!important}"]}),f})(),Sf=(()=>{class f{constructor(n){this.http=n,this.url="api/mgr/module"}list(){return this.http.get(`${this.url}`)}getConfig(n){return this.http.get(`${this.url}/${n}`)}updateConfig(n,d){return this.http.put(`${this.url}/${n}`,{config:d})}enable(n){return this.http.post(`${this.url}/${n}/enable`,null)}disable(n){return this.http.post(`${this.url}/${n}/disable`,null)}getOptions(n){return this.http.get(`${this.url}/${n}/options`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function Rp(f,y){if(1&f&&(e.TgZ(0,"cd-helper"),e._uU(1),e.ALo(2,"upperFirst"),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.hij(" ",e.lcZ(2,1,n.value.long_desc||n.value.desc)," ")}}function P(f,y){if(1&f&&(e.TgZ(0,"div",15),e.TgZ(1,"div",16),e._UZ(2,"input",17),e._UZ(3,"label",18),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(2),e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name),e.xp6(1),e.s9C("for",n.value.name)}}function W(f,y){if(1&f&&e._UZ(0,"input",22),2&f){const n=e.oxw(2).$implicit;e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name)}}function Z(f,y){if(1&f&&(e.TgZ(0,"option",25),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("ngValue",n),e.xp6(1),e.hij(" ",n," ")}}function Ee(f,y){if(1&f&&(e.TgZ(0,"select",23),e.YNc(1,Z,2,2,"option",24),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name),e.xp6(1),e.Q6J("ngForOf",n.value.enum_allowed)}}function At(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,27),e.qZA())}function cn(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,28),e.qZA())}function hr(f,y){if(1&f&&(e.TgZ(0,"div",15),e.YNc(1,W,1,2,"input",19),e.YNc(2,Ee,2,3,"select",20),e.YNc(3,At,2,0,"span",21),e.YNc(4,cn,2,0,"span",21),e.qZA()),2&f){const n=e.oxw().$implicit;e.oxw();const d=e.MAs(2),w=e.oxw();e.xp6(1),e.Q6J("ngIf",0===n.value.enum_allowed.length),e.xp6(1),e.Q6J("ngIf",n.value.enum_allowed.length>0),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"invalidUuid")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"pattern"))}}function Rr(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,30),e.qZA())}function ui(f,y){if(1&f&&(e.TgZ(0,"span",26),e.SDv(1,31),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.pQV(n.value.max),e.QtT(1)}}function Eo(f,y){if(1&f&&(e.TgZ(0,"span",26),e.SDv(1,32),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.pQV(n.value.min),e.QtT(1)}}function Io(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,33),e.qZA())}function ss(f,y){if(1&f&&(e.TgZ(0,"div",15),e._UZ(1,"input",29),e.YNc(2,Rr,2,0,"span",21),e.YNc(3,ui,2,1,"span",21),e.YNc(4,Eo,2,1,"span",21),e.YNc(5,Io,2,0,"span",21),e.qZA()),2&f){const n=e.oxw().$implicit;e.oxw();const d=e.MAs(2),w=e.oxw();e.xp6(1),e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name),e.s9C("min",n.value.min),e.s9C("max",n.value.max),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"required")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"max")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"min")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"pattern"))}}function Ca(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,35),e.qZA())}function yl(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,36),e.qZA())}function Ja(f,y){if(1&f&&(e.TgZ(0,"div",15),e._UZ(1,"input",34),e.YNc(2,Ca,2,0,"span",21),e.YNc(3,yl,2,0,"span",21),e.qZA()),2&f){const n=e.oxw().$implicit;e.oxw();const d=e.MAs(2),w=e.oxw();e.xp6(1),e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"required")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"pattern"))}}const Nl=function(){return["addr","str","uuid"]},Bc=function(){return["uint","int","size","secs"]};function kc(f,y){if(1&f&&(e.TgZ(0,"div",11),e.TgZ(1,"label",12),e._uU(2),e.YNc(3,Rp,3,3,"cd-helper",13),e.qZA(),e.YNc(4,P,4,3,"div",14),e.YNc(5,hr,5,4,"div",14),e.YNc(6,ss,6,8,"div",14),e.YNc(7,Ja,4,4,"div",14),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.s9C("for",n.value.name),e.xp6(1),e.hij(" ",n.value.name," "),e.xp6(1),e.Q6J("ngIf",n.value.long_desc||n.value.desc),e.xp6(1),e.Q6J("ngIf","bool"===n.value.type),e.xp6(1),e.Q6J("ngIf",e.DdM(7,Nl).includes(n.value.type)),e.xp6(1),e.Q6J("ngIf",e.DdM(8,Bc).includes(n.value.type)),e.xp6(1),e.Q6J("ngIf","float"===n.value.type)}}function ed(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.qZA(),e.TgZ(6,"div",7),e.YNc(7,kc,8,9,"div",8),e.ALo(8,"keyvalue"),e.qZA(),e.TgZ(9,"div",9),e.TgZ(10,"cd-form-button-panel",10),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw().onSubmit()}),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("formGroup",n.mgrModuleForm),e.xp6(6),e.Q6J("ngForOf",e.lcZ(8,4,n.moduleOptions)),e.xp6(3),e.Q6J("form",n.mgrModuleForm)("submitText",n.actionLabels.UPDATE)}}let Qf=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt){super(),this.actionLabels=n,this.route=d,this.router=w,this.formBuilder=re,this.mgrModuleService=Ze,this.notificationService=Lt,this.moduleName="",this.moduleOptions=[]}ngOnInit(){this.route.params.subscribe(n=>{this.moduleName=decodeURIComponent(n.name);const d=[this.mgrModuleService.getOptions(this.moduleName),this.mgrModuleService.getConfig(this.moduleName)];(0,Ws.D)(d).subscribe(w=>{this.moduleOptions=w[0],this.createForm(),this.mgrModuleForm.setValue(w[1]),this.loadingReady()},w=>{this.loadingError()})})}getValidators(n){const d=[];switch(n.type){case"addr":d.push(vo.h.ip());break;case"uint":case"int":case"size":case"secs":d.push(Hn.kI.required);break;case"str":gn().isNumber(n.min)&&d.push(Hn.kI.minLength(n.min)),gn().isNumber(n.max)&&d.push(Hn.kI.maxLength(n.max));break;case"float":d.push(Hn.kI.required),d.push(vo.h.decimalNumber());break;case"uuid":d.push(vo.h.uuid())}return d}createForm(){const n={};gn().forEach(this.moduleOptions,d=>{n[d.name]=[d.default_value,this.getValidators(d)]}),this.mgrModuleForm=this.formBuilder.group(n)}goToListView(){this.router.navigate(["/mgr-modules"])}onSubmit(){if(this.mgrModuleForm.pristine)return void this.goToListView();const n={};gn().forEach(this.moduleOptions,d=>{const w=this.mgrModuleForm.get(d.name);w.dirty&&w.valid&&(n[d.name]=w.value)}),this.mgrModuleService.updateConfig(this.moduleName,n).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated options for module '" + this.moduleName + "'."),this.goToListView()},()=>{this.mgrModuleForm.setErrors({cdSubmitButton:!0})})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(tn.gz),e.Y36(tn.F0),e.Y36(uc.O),e.Y36(Sf),e.Y36(Yi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-mgr-module-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On;return y="Edit Manager module",n="The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8",d="The entered value needs to be a valid IP address.",w="This field is required.",re="The entered value is too high! It must be lower or equal to " + "\ufffd0\ufffd" + ".",Ze="The entered value is too low! It must be greater or equal to " + "\ufffd0\ufffd" + ".",Lt="The entered value needs to be a number.",Gt="This field is required.",On="The entered value needs to be a number or decimal.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","mgrModuleForm","novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],y,[1,"card-body"],["class","form-group row",4,"ngFor","ngForOf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"form-group","row"],[1,"cd-col-form-label",3,"for"],[4,"ngIf"],["class","cd-col-form-input",4,"ngIf"],[1,"cd-col-form-input"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","formControlName"],[1,"custom-control-label",3,"for"],["class","form-control","type","text",3,"id","formControlName",4,"ngIf"],["class","form-control custom-select",3,"id","formControlName",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["type","text",1,"form-control",3,"id","formControlName"],[1,"form-control","custom-select",3,"id","formControlName"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],[1,"invalid-feedback"],n,d,["type","number",1,"form-control",3,"id","formControlName","min","max"],w,re,Ze,Lt,["type","number",1,"form-control",3,"id","formControlName"],Gt,On]},template:function(n,d){1&n&&e.YNc(0,ed,11,6,"div",0),2&n&&e.Q6J("cdFormLoading",d.loading)},directives:[vn.y,Hn._Y,Hn.JL,Hn.sg,Gn.V,s.sg,jr.p,kn.P,s.O5,ul.S,Ds.o,Hn.Wl,zn.b,Hn.JJ,Hn.u,Hn.Fj,Hn.EJ,Hn.YN,Hn.Kr,Hn.wV,Hn.qQ,Hn.Fd],pipes:[s.Nd,p.m],styles:[""]}),f})();function ga(f,y,n,d){var Ze,w=arguments.length,re=w<3?y:null===d?d=Object.getOwnPropertyDescriptor(y,n):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)re=Reflect.decorate(f,y,n,d);else for(var Lt=f.length-1;Lt>=0;Lt--)(Ze=f[Lt])&&(re=(w<3?Ze(re):w>3?Ze(y,n,re):Ze(y,n))||re);return w>3&&re&&Object.defineProperty(y,n,re),re}var Im=o(80226);const E_=["*"],Lh=["templateOutlet"];function Kd(f,y){if(1&f&&(e.TgZ(0,"div",6),e._uU(1),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.hij(" ",n.message||n.defaultMessage," ")}}function Ia(f,y){if(1&f&&(e.TgZ(0,"div",3),e._UZ(1,"div",4),e.YNc(2,Kd,2,1,"div",5),e.qZA()),2&f){const n=e.oxw();e.xp6(2),e.Q6J("ngIf",n.message||n.defaultMessage)}}function ug(f,y){}function Bu(f,y){1&f&&e.YNc(0,ug,0,0,"ng-template",null,7,e.W1O)}const Lm=function(f){return{active:f}};let wc=(()=>{class f{}return f.START="start",f.STOP="stop",f.UPDATE="update",f.RESET="reset",f.RESET_GLOBAL="reset_global",f.UNSUBSCRIBE="unsubscribe",f})();const ol="block-ui-main";let hp=(()=>{let f=class{constructor(){this.blockUISettings={},this.blockUIInstances={},this.blockUISubject=new Im.t(1),this.blockUIObservable=this.blockUISubject.asObservable(),this.blockUIObservable.subscribe(this.blockUIMiddleware.bind(this))}getSettings(){return this.blockUISettings}updateSettings(n={}){this.blockUISettings=Object.assign(Object.assign({},this.blockUISettings),n)}decorate(n=ol){const d={name:n,isActive:!1,blockCount:0,start:this.dispatch(this.blockUISubject,wc.START,n),update:this.dispatch(this.blockUISubject,wc.UPDATE,n),stop:this.dispatch(this.blockUISubject,wc.STOP,n),reset:this.dispatch(this.blockUISubject,wc.RESET,n),resetGlobal:this.dispatch(this.blockUISubject,wc.RESET_GLOBAL,n),unsubscribe:this.dispatch(this.blockUISubject,wc.UNSUBSCRIBE,n)};return this.blockUIInstances[n]=this.blockUIInstances[n]||d,d}observe(){return this.blockUIObservable}clearInstance(n){this.dispatch(this.blockUISubject,wc.RESET,n)}blockUIMiddleware({action:n,name:d}){let w=null;switch(n){case wc.START:w=!0;break;case wc.STOP:case wc.RESET:w=!1}null!==w&&(this.blockUIInstances[d].isActive=w)}dispatch(n,d,w=ol){return re=>{n.next({name:w,action:d,message:re})}}};return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:function(y){return f.\u0275fac(y)}}),f})(),T_=(()=>{let f=class{constructor(n){this.blockUI=n}ngOnInit(){this.name=this.name||ol,this.template=this.template||this.blockUI.blockUISettings.template}};return f.\u0275fac=function(n){return new(n||f)(e.Y36(hp))},f.\u0275cmp=e.Xpm({type:f,selectors:[["block-ui"]],inputs:{name:"name",template:"template",message:"message",delayStart:"delayStart",delayStop:"delayStop"},ngContentSelectors:E_,decls:2,vars:5,consts:[[3,"name","message","template","delayStart","delayStop"]],template:function(n,d){1&n&&(e.F$t(),e.Hsn(0),e._UZ(1,"block-ui-content",0)),2&n&&(e.xp6(1),e.Q6J("name",d.name)("message",d.message)("template",d.template)("delayStart",d.delayStart)("delayStop",d.delayStop))},directives:function(){return[ef]},encapsulation:2}),ga([(0,e.IIB)()],f.prototype,"name",void 0),ga([(0,e.IIB)()],f.prototype,"message",void 0),ga([(0,e.IIB)()],f.prototype,"delayStart",void 0),ga([(0,e.IIB)()],f.prototype,"delayStop",void 0),ga([(0,e.IIB)()],f.prototype,"template",void 0),f})(),ef=(()=>{let f=class{constructor(n,d,w){this.blockUI=n,this.resolver=d,this.changeDetectionRef=w,this.name=ol,this.defaultBlockState={startTimeouts:[],stopTimeouts:[],updateTimeouts:[],blockCount:0,startCallCount:0,stopCallCount:0},this.state=Object.assign({},this.defaultBlockState)}ngOnInit(){this.settings=this.blockUI.getSettings(),this.blockUISubscription=this.subscribeToBlockUI(this.blockUI.observe())}ngAfterViewInit(){try{if(!this.templateCmp)return!1;if(this.templateCmp instanceof e.Rgc)this.templateOutlet.createEmbeddedView(this.templateCmp);else{const n=this.resolver.resolveComponentFactory(this.templateCmp);this.templateCompRef=this.templateOutlet.createComponent(n),this.updateBlockTemplate(this.message)}}catch(n){console.error("ng-block-ui:",n)}}ngAfterViewChecked(){this.detectChanges()}subscribeToBlockUI(n){return n.subscribe(d=>this.onDispatchedEvent(d))}onDispatchedEvent(n){switch(n.action){case wc.START:this.onStart(n);break;case wc.STOP:this.onStop(n);break;case wc.UPDATE:this.onUpdate(n);break;case wc.RESET:this.onReset(n);break;case wc.RESET_GLOBAL:this.resetState();break;case wc.UNSUBSCRIBE:this.onStop(n),this.onUnsubscribe(n.name)}}onStart({name:n,message:d}){if(n===this.name){const w=this.delayStart||this.settings.delayStart||0;this.state.startCallCount+=1;const re=setTimeout(()=>{this.state.blockCount+=1,this.showBlock(d),this.updateInstanceBlockCount()},w);this.state.startTimeouts.push(re)}}onStop({name:n}){if(n===this.name){const d=this.state.stopCallCount+1;if(this.state.startCallCount-d>=0){const w=this.delayStop||this.settings.delayStop||0;this.state.stopCallCount=d;const re=setTimeout(()=>{this.state.blockCount-=1,this.updateInstanceBlockCount(),this.detectChanges()},w);this.state.stopTimeouts.push(re)}}}onUpdate({name:n,message:d}){if(n===this.name){const w=this.delayStart||this.settings.delayStart||0;clearTimeout(this.state.updateTimeouts[0]);const re=setTimeout(()=>{this.updateMessage(d)},w);this.state.updateTimeouts.push(re)}}onReset({name:n}){n===this.name&&this.resetState()}updateMessage(n){this.showBlock(n)}showBlock(n){this.message=n||this.defaultMessage||this.settings.message,this.updateBlockTemplate(this.message),this.detectChanges()}updateBlockTemplate(n){this.templateCompRef&&this.templateCompRef instanceof e.UuU&&(this.templateCompRef.instance.message=n)}resetState(){[...this.state.startTimeouts,...this.state.stopTimeouts,...this.state.updateTimeouts].forEach(clearTimeout),this.state=Object.assign({},this.defaultBlockState),this.updateInstanceBlockCount(),this.detectChanges()}onUnsubscribe(n){this.blockUISubscription&&n===this.name&&this.blockUISubscription.unsubscribe()}updateInstanceBlockCount(){if(this.blockUI.blockUIInstances[this.name]){const{blockCount:n}=this.state;this.blockUI.blockUIInstances[this.name].blockCount=n}}detectChanges(){this.changeDetectionRef.destroyed||this.changeDetectionRef.detectChanges()}ngOnDestroy(){this.resetState(),this.onUnsubscribe(this.name),this.blockUI.clearInstance(this.name)}};return f.\u0275fac=function(n){return new(n||f)(e.Y36(hp),e.Y36(e._Vd),e.Y36(e.sBO))},f.\u0275cmp=e.Xpm({type:f,selectors:[["block-ui-content"]],viewQuery:function(n,d){if(1&n&&e.Gf(Lh,5,e.s_b),2&n){let w;e.iGM(w=e.CRH())&&(d.templateOutlet=w.first)}},inputs:{name:"name",delayStart:"delayStart",delayStop:"delayStop",defaultMessage:["message","defaultMessage"],templateCmp:["template","templateCmp"]},decls:3,vars:9,consts:[[3,"ngClass"],["class","block-ui-spinner",4,"ngIf"],[4,"ngIf"],[1,"block-ui-spinner"],[1,"loader"],["class","message",4,"ngIf"],[1,"message"],["templateOutlet",""]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.YNc(1,Ia,3,1,"div",1),e.YNc(2,Bu,2,0,void 0,2),e.qZA()),2&n&&(e.MT6("block-ui-wrapper ",d.name," ",d.className,""),e.Q6J("ngClass",e.VKq(7,Lm,d.state.blockCount>0)),e.xp6(1),e.Q6J("ngIf",!d.templateCmp),e.xp6(1),e.Q6J("ngIf",d.templateCmp))},directives:[s.mk,s.O5],styles:["\n.block-ui-wrapper {\n display: none;\n position: fixed;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: rgba(0, 0, 0, 0.70);\n z-index: 30000;\n cursor: wait;\n}\n\n.block-ui-wrapper.block-ui-wrapper--element {\n position: absolute;\n}\n\n.block-ui-wrapper.active {\n display: block;\n}\n\n.block-ui-wrapper.block-ui-main {\n position: fixed;\n}\n\n.block-ui-spinner,\n.block-ui-template {\n position: absolute;\n top: 40%;\n margin: 0 auto;\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n\n.block-ui-spinner > .message {\n font-size: 1.3em;\n text-align: center;\n color: #fff;\n}\n\n.block-ui__element {\n position: relative;\n}\n\n.loader,\n.loader:after {\n border-radius: 50%;\n width: 10em;\n height: 10em;\n}\n.loader {\n margin: 7px auto;\n font-size: 5px;\n position: relative;\n text-indent: -9999em;\n border-top: 1.1em solid rgba(255, 255, 255, 0.2);\n border-right: 1.1em solid rgba(255, 255, 255, 0.2);\n border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);\n border-left: 1.1em solid #ffffff;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-animation: load8 1.1s infinite linear;\n animation: load8 1.1s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n"],encapsulation:2}),ga([(0,e.IIB)()],f.prototype,"name",void 0),ga([(0,e.IIB)()],f.prototype,"delayStart",void 0),ga([(0,e.IIB)()],f.prototype,"delayStop",void 0),ga([(0,e.IIB)("message")],f.prototype,"defaultMessage",void 0),ga([(0,e.IIB)("template")],f.prototype,"templateCmp",void 0),ga([(0,e.i9L)("templateOutlet",{read:e.s_b})],f.prototype,"templateOutlet",void 0),f})(),nh=(()=>{let f=class{constructor(n){this.blockUIInstance=n,this.globalDispatch=this.blockUIInstance.decorate()}start(n,d){this.dispatch(n,wc.START,d)}stop(n){this.dispatch(n,wc.STOP)}reset(n){this.dispatch(n,wc.RESET)}resetGlobal(){this.globalDispatch.resetGlobal()}update(n,d){this.dispatch(n,wc.UPDATE,d)}unsubscribe(n){this.dispatch(n,wc.UNSUBSCRIBE)}isActive(n=null){const d=n?this.toArray(n):null,w=this.blockUIInstance.blockUIInstances;return Object.keys(w).some(re=>d?d.indexOf(w[re].name)>=0&&w[re].isActive:w[re].isActive)}dispatch(n=[],d,w){this.toArray(n).forEach(Ze=>this.blockUIInstance.decorate(Ze)[d](w))}toArray(n=[]){return"string"==typeof n?[n]:n}};return f.\u0275fac=function(n){return new(n||f)(e.LFG(hp))},f.\u0275prov=e.Yz7({token:f,factory:function(y){return f.\u0275fac(y)}}),f})();var dg;const C_=new hp,_p=new e.OlP("BlockUIModuleSettings");function fg(f){return C_.updateSettings(f),C_}let tf=dg=class{static forRoot(y={}){return{ngModule:dg,providers:[{provide:_p,useValue:y},{provide:hp,useFactory:fg,deps:[_p]},nh]}}};tf.\u0275fac=function(y){return new(y||tf)},tf.\u0275mod=e.oAB({type:tf}),tf.\u0275inj=e.cJS({imports:[[s.ez]]});let rh=1;function S_(f,y){if(1&f&&(e.ynx(0),e._UZ(1,"cd-table-key-value",1),e.BQk()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("data",n.module_config)}}let pg=(()=>{class f{constructor(n){this.mgrModuleService=n}ngOnChanges(){this.selection&&this.mgrModuleService.getConfig(this.selection.name).subscribe(n=>{this.module_config=n})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Sf))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-mgr-module-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:[[4,"ngIf"],[3,"data"]],template:function(n,d){1&n&&e.YNc(0,S_,2,1,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Ft.b],styles:[""]}),f})();class Xf extends mi.o{constructor(y,n,d){super(),this.authStorageService=y,this.mgrModuleService=n,this.notificationService=d,this.columns=[],this.modules=[],this.selection=new si.r,this.permission=this.authStorageService.getPermissions().configOpt,this.columns=[{name:"Name",prop:"name",flexGrow:1},{name:"Enabled",prop:"enabled",flexGrow:1,cellClass:"text-center",cellTransformation:ni.e.checkIcon},{name:"Always-On",prop:"always_on",flexGrow:1,cellClass:"text-center",cellTransformation:ni.e.checkIcon}];const w=()=>this.selection.first()&&encodeURIComponent(this.selection.first().name);this.tableActions=[{name:"Edit",permission:"update",disable:()=>!this.selection.hasSelection||0===Object.values(this.selection.first().options).length,routerLink:()=>`/mgr-modules/edit/${w()}`,icon:Ki.P.edit},{name:"Enable",permission:"update",click:()=>this.updateModuleState(),disable:()=>this.isTableActionDisabled("enabled"),icon:Ki.P.start},{name:"Disable",permission:"update",click:()=>this.updateModuleState(),disable:()=>this.getTableActionDisabledDesc(),icon:Ki.P.stop}]}getModuleList(y){this.mgrModuleService.list().subscribe(n=>{this.modules=n},()=>{y.error()})}updateSelection(y){this.selection=y}isTableActionDisabled(y){if(!this.selection.hasSelection)return!0;const n=this.selection.first();if("dashboard"===n.name||n.always_on)return!0;switch(y){case"enabled":return n.enabled;case"disabled":return!n.enabled}}getTableActionDisabledDesc(){var y;return(null===(y=this.selection.first())||void 0===y?void 0:y.always_on)?"This Manager module is always on.":this.isTableActionDisabled("disabled")}updateModuleState(){if(!this.selection.hasSelection)return;let y;const n=()=>{(0,ro.H)(2e3).subscribe(()=>{this.mgrModuleService.list().subscribe(()=>{this.notificationService.suspendToasties(!1),this.blockUI.stop(),this.table.refreshBtn()},()=>{n()})})},d=this.selection.first();y=d.enabled?this.mgrModuleService.disable(d.name):this.mgrModuleService.enable(d.name),y.subscribe(()=>{},()=>{this.notificationService.suspendToasties(!0),this.blockUI.start("Reconnecting, please wait ..."),n()})}}Xf.\u0275fac=function(y){return new(y||Xf)(e.Y36(hi.j),e.Y36(Sf),e.Y36(Yi.g))},Xf.\u0275cmp=e.Xpm({type:Xf,selectors:[["cd-mgr-module-list"]],viewQuery:function(y,n){if(1&y&&e.Gf(Ui.a,7),2&y){let d;e.iGM(d=e.CRH())&&(n.table=d.first)}},features:[e.qOj],decls:4,vars:8,consts:[["columnMode","flex","selectionType","single","identifier","module",3,"autoReload","data","columns","hasDetails","setExpandedRow","updateSelection","fetchData"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"]],template:function(y,n){1&y&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(w){return n.setExpandedRow(w)})("updateSelection",function(w){return n.updateSelection(w)})("fetchData",function(w){return n.getModuleList(w)}),e._UZ(2,"cd-table-actions",2),e._UZ(3,"cd-mgr-module-details",3),e.qZA()),2&y&&(e.Q6J("autoReload",!1)("data",n.modules)("columns",n.columns)("hasDetails",!0),e.xp6(2),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("selection",n.expandedRow))},directives:[Ui.a,ha.K,pg],styles:[""]}),(0,xr.gn)([function(f,y={}){return y.scopeToInstance?function(n,d){const w=`_${d}-block-ui`;Object.defineProperty(n,d,{get:function(){if(this[w])return this[w];const re=`${f}-${rh++}`;return this[w]=C_.decorate(re),this[w]},set:function(re){this[w]=re}})}:function(n,d){n[d]=C_.decorate(f)}}(),(0,xr.w6)("design:type",Object)],Xf.prototype,"blockUI",void 0);let hg=(()=>{class f{constructor(n){this.http=n}getMonitor(){return this.http.get("api/monitor")}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function M_(f,y){if(1&f&&(e.TgZ(0,"table",11),e.TgZ(1,"tr"),e.TgZ(2,"td",12),e.SDv(3,13),e.qZA(),e.TgZ(4,"td"),e._uU(5),e.qZA(),e.qZA(),e.TgZ(6,"tr"),e.TgZ(7,"td",12),e.SDv(8,14),e.qZA(),e.TgZ(9,"td"),e._uU(10),e.ALo(11,"relativeDate"),e.qZA(),e.qZA(),e.TgZ(12,"tr"),e.TgZ(13,"td",12),e.SDv(14,15),e.qZA(),e.TgZ(15,"td"),e._uU(16),e.qZA(),e.qZA(),e.TgZ(17,"tr"),e.TgZ(18,"td",12),e.SDv(19,16),e.qZA(),e.TgZ(20,"td"),e._uU(21),e.qZA(),e.qZA(),e.TgZ(22,"tr"),e.TgZ(23,"td",12),e.SDv(24,17),e.qZA(),e.TgZ(25,"td"),e._uU(26),e.qZA(),e.qZA(),e.TgZ(27,"tr"),e.TgZ(28,"td",12),e.SDv(29,18),e.qZA(),e.TgZ(30,"td"),e._uU(31),e.qZA(),e.qZA(),e.TgZ(32,"tr"),e.TgZ(33,"td",12),e.SDv(34,19),e.qZA(),e.TgZ(35,"td"),e._uU(36),e.qZA(),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(5),e.Oqu(n.mon_status.monmap.fsid),e.xp6(5),e.Oqu(e.lcZ(11,7,n.mon_status.monmap.modified)),e.xp6(6),e.Oqu(n.mon_status.monmap.epoch),e.xp6(5),e.Oqu(n.mon_status.features.quorum_con),e.xp6(5),e.Oqu(n.mon_status.features.quorum_mon),e.xp6(5),e.Oqu(n.mon_status.features.required_con),e.xp6(5),e.Oqu(n.mon_status.features.required_mon)}}let O_=(()=>{class f{constructor(n){this.monitorService=n,this.inQuorum={columns:[{prop:"name",name:"Name",cellTransformation:ni.e.routerLink},{prop:"rank",name:"Rank"},{prop:"public_addr",name:"Public Address"},{prop:"cdOpenSessions",name:"Open Sessions",cellTransformation:ni.e.sparkline,comparator:(d,w)=>{const re=gn().last(d),Ze=gn().last(w);return re&&Ze&&re!==Ze?re>Ze?1:-1:0}}]},this.notInQuorum={columns:[{prop:"name",name:"Name",cellTransformation:ni.e.routerLink},{prop:"rank",name:"Rank"},{prop:"public_addr",name:"Public Address"}]}}refresh(){this.monitorService.getMonitor().subscribe(n=>{n.in_quorum.map(d=>(d.cdOpenSessions=d.stats.num_sessions.map(w=>w[1]),d.cdLink="/perf_counters/mon/"+d.name,d.cdParams={fromLink:"/monitor"},d)),n.out_quorum.map(d=>(d.cdLink="/perf_counters/mon/"+d.name,d.cdParams={fromLink:"/monitor"},d)),this.inQuorum.data=[...n.in_quorum],this.notInQuorum.data=[...n.out_quorum],this.mon_status=n.mon_status})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hg))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-monitor"]],decls:13,vars:5,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr;return y="Status",n="In Quorum",d="Not In Quorum",w="Cluster ID",re="monmap modified",Ze="monmap epoch",Lt="quorum con",Gt="quorum mon",On="required con",pr="required mon",[[1,"row"],[1,"col-lg-4"],[1,"cd-header"],y,["class","table table-striped",4,"ngIf"],[1,"col-lg-8"],[1,"in-quorum","cd-header"],n,[3,"data","columns"],d,[3,"data","columns","fetchData"],[1,"table","table-striped"],[1,"bold"],w,re,Ze,Lt,Gt,On,pr]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"fieldset"),e.TgZ(3,"legend",2),e.SDv(4,3),e.qZA(),e.YNc(5,M_,37,9,"table",4),e.qZA(),e.qZA(),e.TgZ(6,"div",5),e.TgZ(7,"legend",6),e.SDv(8,7),e.qZA(),e._UZ(9,"cd-table",8),e.TgZ(10,"legend",6),e.SDv(11,9),e.qZA(),e.TgZ(12,"cd-table",10),e.NdJ("fetchData",function(){return d.refresh()}),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(5),e.Q6J("ngIf",d.mon_status),e.xp6(4),e.Q6J("data",d.inQuorum.data)("columns",d.inQuorum.columns),e.xp6(3),e.Q6J("data",d.notInQuorum.data)("columns",d.notInQuorum.columns))},directives:[s.O5,Ui.a],pipes:[Vs.h],styles:[""]}),f})();class _g{}function $m(f,y){if(1&f&&(e.TgZ(0,"span",18),e.SDv(1,19),e.qZA()),2&f){const n=e.oxw(2);e.Q6J("ngbTooltip",n.clusterWideTooltip)}}function Yc(f,y){1&f&&e._UZ(0,"hr",20)}function Zc(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",12),e.TgZ(1,"input",13),e.NdJ("change",function(){const re=e.CHM(n).$implicit;return e.oxw().changeValue(re)}),e.qZA(),e.TgZ(2,"label",14),e.TgZ(3,"strong"),e._uU(4),e.qZA(),e.YNc(5,$m,2,1,"span",15),e._UZ(6,"br"),e.TgZ(7,"span",16),e._uU(8),e.qZA(),e.qZA(),e.YNc(9,Yc,1,0,"hr",17),e.qZA()}if(2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.Q6J("checked",n.value)("indeterminate",n.indeterminate)("name",n.code)("id",n.code),e.xp6(1),e.Q6J("for",n.code),e.xp6(2),e.Oqu(n.name),e.xp6(1),e.Q6J("ngIf",n.clusterWide),e.xp6(3),e.Oqu(n.description),e.xp6(1),e.Q6J("ngIf",!d)}}let gg=(()=>{class f{constructor(n,d,w,re,Ze){this.activeModal=n,this.actionLabels=d,this.authStorageService=w,this.osdService=re,this.notificationService=Ze,this.initialSelection=[],this.osdFlagsForm=new Hn.cw({}),this.flags=[{code:"noup",name:"No Up",description:"OSDs are not allowed to start",value:!1,clusterWide:!1,indeterminate:!1},{code:"nodown",name:"No Down",description:"OSD failure reports are being ignored, such that the monitors will not mark OSDs down",value:!1,clusterWide:!1,indeterminate:!1},{code:"noin",name:"No In",description:"OSDs that were previously marked out will not be marked back in when they start",value:!1,clusterWide:!1,indeterminate:!1},{code:"noout",name:"No Out",description:"OSDs will not automatically be marked out after the configured interval",value:!1,clusterWide:!1,indeterminate:!1}],this.clusterWideTooltip="The flag has been enabled for the entire cluster.",this.permissions=this.authStorageService.getPermissions()}ngOnInit(){const n=this.selected.length;this.osdService.getFlags().subscribe(d=>{const w=this.getActivatedIndivFlags();this.flags.forEach(re=>{const Ze=w[re.code];d.includes(re.code)&&(re.clusterWide=!0),Ze===n?re.value=!0:Ze>0&&(re.indeterminate=!0)}),this.initialSelection=gn().cloneDeep(this.flags)})}getActivatedIndivFlags(){const n={};return this.flags.forEach(d=>{n[d.code]=0}),[].concat(...this.selected.map(d=>d.state)).map(d=>{Object.keys(n).includes(d)&&(n[d]=n[d]+1)}),n}changeValue(n){n.value=!n.value,n.indeterminate=!1}resetSelection(){this.flags=gn().cloneDeep(this.initialSelection)}submitAction(){const n={};this.flags.forEach(w=>{n[w.code]=w.indeterminate?null:w.value});const d=this.selected.map(w=>w.osd);this.osdService.updateIndividualFlags(n,d).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated OSD Flags"),this.activeModal.close()},()=>{this.activeModal.close()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(hi.j),e.Y36(ac),e.Y36(Yi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-flags-indiv-modal"]],decls:12,vars:6,consts:function(){let y,n,d;return y="Individual OSD Flags",n="Restore previous selection",d="Cluster-wide",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["name","osdFlagsForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body","osd-modal"],["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"modal-footer"],["type","button",1,"btn","btn-light",3,"click"],n,[3,"form","showSubmit","submitText","submitActionEvent"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"checked","indeterminate","name","id","change"],["ng-class","['tc_' + key]",1,"custom-control-label",3,"for"],["class","badge badge-hdd ml-2",3,"ngbTooltip",4,"ngIf"],[1,"form-text","text-muted"],["class","m-1",4,"ngIf"],[1,"badge","badge-hdd","ml-2",3,"ngbTooltip"],d,[1,"m-1"]]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,Zc,10,9,"div",7),e.qZA(),e.TgZ(8,"div",8),e.TgZ(9,"button",9),e.NdJ("click",function(){return d.resetSelection()}),e.SDv(10,10),e.qZA(),e.TgZ(11,"cd-form-button-panel",11),e.NdJ("submitActionEvent",function(){return d.submitAction()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.osdFlagsForm),e.xp6(3),e.Q6J("ngForOf",d.flags),e.xp6(4),e.Q6J("form",d.osdFlagsForm)("showSubmit",d.permissions.osd.update)("submitText",d.actionLabels.UPDATE))},directives:[il.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,s.sg,Ds.o,jr.p,zn.b,s.O5,Br._L],styles:[""]}),f})();var A_=o(84333);function Hm(f,y){1&f&&e._UZ(0,"hr",15)}function gp(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",10),e.TgZ(1,"input",11),e.NdJ("change",function(){const re=e.CHM(n).$implicit;return re.value=!re.value}),e.qZA(),e.TgZ(2,"label",12),e.TgZ(3,"strong"),e._uU(4),e.qZA(),e._UZ(5,"br"),e.TgZ(6,"span",13),e._uU(7),e.qZA(),e.qZA(),e.YNc(8,Hm,1,0,"hr",14),e.qZA()}if(2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.Q6J("checked",n.value)("name",n.code)("id",n.code)("disabled",n.disabled),e.xp6(1),e.Q6J("for",n.code),e.xp6(2),e.Oqu(n.name),e.xp6(3),e.Oqu(n.description),e.xp6(1),e.Q6J("ngIf",!d)}}let Um=(()=>{class f{constructor(n,d,w,re,Ze){this.activeModal=n,this.actionLabels=d,this.authStorageService=w,this.osdService=re,this.notificationService=Ze,this.osdFlagsForm=new Hn.cw({}),this.allFlags={noin:{code:"noin",name:"No In",value:!1,description:"OSDs that were previously marked out will not be marked back in when they start"},noout:{code:"noout",name:"No Out",value:!1,description:"OSDs will not automatically be marked out after the configured interval"},noup:{code:"noup",name:"No Up",value:!1,description:"OSDs are not allowed to start"},nodown:{code:"nodown",name:"No Down",value:!1,description:"OSD failure reports are being ignored, such that the monitors will not mark OSDs down"},pause:{code:"pause",name:"Pause",value:!1,description:"Pauses reads and writes"},noscrub:{code:"noscrub",name:"No Scrub",value:!1,description:"Scrubbing is disabled"},"nodeep-scrub":{code:"nodeep-scrub",name:"No Deep Scrub",value:!1,description:"Deep Scrubbing is disabled"},nobackfill:{code:"nobackfill",name:"No Backfill",value:!1,description:"Backfilling of PGs is suspended"},norebalance:{code:"norebalance",name:"No Rebalance",value:!1,description:"OSD will choose not to backfill unless PG is also degraded"},norecover:{code:"norecover",name:"No Recover",value:!1,description:"Recovery of PGs is suspended"},sortbitwise:{code:"sortbitwise",name:"Bitwise Sort",value:!1,description:"Use bitwise sort",disabled:!0},purged_snapdirs:{code:"purged_snapdirs",name:"Purged Snapdirs",value:!1,description:"OSDs have converted snapsets",disabled:!0},recovery_deletes:{code:"recovery_deletes",name:"Recovery Deletes",value:!1,description:"Deletes performed during recovery instead of peering",disabled:!0},pglog_hardlimit:{code:"pglog_hardlimit",name:"PG Log Hard Limit",value:!1,description:"Puts a hard limit on pg log length",disabled:!0}},this.unknownFlags=[],this.permissions=this.authStorageService.getPermissions()}ngOnInit(){this.osdService.getFlags().subscribe(n=>{n.forEach(d=>{this.allFlags[d]?this.allFlags[d].value=!0:this.unknownFlags.push(d)}),this.flags=gn().toArray(this.allFlags)})}submitAction(){const n=this.flags.filter(d=>d.value).map(d=>d.code).concat(this.unknownFlags);this.osdService.updateFlags(n).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated OSD Flags"),this.activeModal.close()},()=>{this.activeModal.close()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(hi.j),e.Y36(ac),e.Y36(Yi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-flags-modal"]],decls:10,vars:6,consts:function(){let y;return y="Cluster-wide OSD Flags",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["name","osdFlagsForm","novalidate","","cdFormScope","osd",3,"formGroup"],["formDir","ngForm"],[1,"modal-body","osd-modal"],["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","showSubmit","submitText","submitActionEvent"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"checked","name","id","disabled","change"],["ng-class","['tc_' + key]",1,"custom-control-label",3,"for"],[1,"form-text","text-muted"],["class","m-1",4,"ngIf"],[1,"m-1"]]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,gp,9,8,"div",7),e.qZA(),e.TgZ(8,"div",8),e.TgZ(9,"cd-form-button-panel",9),e.NdJ("submitActionEvent",function(){return d.submitAction()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.osdFlagsForm),e.xp6(3),e.Q6J("ngForOf",d.flags),e.xp6(2),e.Q6J("form",d.osdFlagsForm)("showSubmit",d.permissions.osd.update)("submitText",d.actionLabels.UPDATE))},directives:[il.z,Hn._Y,Hn.JL,A_.T,Gn.V,Hn.sg,s.sg,jr.p,Ds.o,zn.b,s.O5],styles:[""]}),f})();function jm(f,y){if(1&f&&(e.TgZ(0,"cd-helper"),e._uU(1),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.hij(" ",n.long_desc,"")}}function Bm(f,y){if(1&f&&(e.TgZ(0,"div",4),e.TgZ(1,"label",5),e.TgZ(2,"b"),e._uU(3),e.qZA(),e._UZ(4,"br"),e.TgZ(5,"span",6),e._uU(6),e.YNc(7,jm,2,1,"cd-helper",7),e.qZA(),e.qZA(),e.TgZ(8,"div",8),e.TgZ(9,"div",9),e._UZ(10,"input",10),e._UZ(11,"label",11),e.qZA(),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.Q6J("for",n.name),e.xp6(2),e.Oqu(n.text),e.xp6(3),e.hij(" ",n.desc," "),e.xp6(1),e.Q6J("ngIf",n.long_desc),e.xp6(3),e.Q6J("id",n.name)("formControlName",n.name),e.xp6(1),e.Q6J("for",n.name)}}function mg(f,y){if(1&f&&(e.TgZ(0,"cd-helper"),e._uU(1),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.hij(" ",n.long_desc,"")}}const Sv=function(f){return[f]};function Ym(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",16),e.TgZ(1,"button",17),e.NdJ("click",function(){e.CHM(n);const w=e.oxw(2).$implicit;return e.oxw().resetValue(w.name)}),e._UZ(2,"i",18),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(2),e.Q6J("ngClass",e.VKq(1,Sv,n.icons.erase))}}function vg(f,y){if(1&f&&(e.TgZ(0,"span",19),e._uU(1),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.hij(" ",n.additionalTypeInfo.patternHelpText,"")}}function ic(f,y){if(1&f&&(e.TgZ(0,"span",19),e._uU(1),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.hij(" ",n.additionalTypeInfo.patternHelpText,"")}}function kh(f,y){if(1&f&&(e.TgZ(0,"span",19),e.SDv(1,20),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.pQV(n.maxValue),e.QtT(1)}}function Mv(f,y){if(1&f&&(e.TgZ(0,"span",19),e.SDv(1,21),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.pQV(n.minValue),e.QtT(1)}}function Of(f,y){if(1&f&&(e.TgZ(0,"div",4),e.TgZ(1,"label",5),e._uU(2),e._UZ(3,"br"),e.TgZ(4,"span",6),e._uU(5),e.YNc(6,mg,2,1,"cd-helper",7),e.qZA(),e.qZA(),e.TgZ(7,"div",8),e.TgZ(8,"div",12),e._UZ(9,"input",13),e.YNc(10,Ym,3,3,"div",14),e.qZA(),e.YNc(11,vg,2,1,"span",15),e.YNc(12,ic,2,1,"span",15),e.YNc(13,kh,2,1,"span",15),e.YNc(14,Mv,2,1,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit,d=e.oxw();e.xp6(1),e.Q6J("for",n.name),e.xp6(1),e.hij("",n.text," "),e.xp6(3),e.hij(" ",n.desc," "),e.xp6(1),e.Q6J("ngIf",n.long_desc),e.xp6(3),e.Q6J("type",n.additionalTypeInfo.inputType)("id",n.name)("placeholder",n.additionalTypeInfo.humanReadable)("formControlName",n.name)("step",d.getStep(n.type,d.optionsForm.getValue(n.name))),e.xp6(1),e.Q6J("ngIf",d.optionsFormShowReset),e.xp6(1),e.Q6J("ngIf",d.optionsForm.showError(n.name,d.optionsFormDir,"pattern")),e.xp6(1),e.Q6J("ngIf",d.optionsForm.showError(n.name,d.optionsFormDir,"invalidUuid")),e.xp6(1),e.Q6J("ngIf",d.optionsForm.showError(n.name,d.optionsFormDir,"max")),e.xp6(1),e.Q6J("ngIf",d.optionsForm.showError(n.name,d.optionsFormDir,"min"))}}function w_(f,y){1&f&&e._UZ(0,"hr",22)}function D_(f,y){if(1&f&&(e.TgZ(0,"div"),e.YNc(1,Bm,12,7,"div",2),e.YNc(2,Of,15,14,"div",2),e.YNc(3,w_,1,0,"hr",3),e.qZA()),2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.Q6J("ngIf","bool"===n.type),e.xp6(1),e.Q6J("ngIf","bool"!==n.type),e.xp6(1),e.Q6J("ngIf",!d)}}let ih=(()=>{class f{constructor(n){this.configService=n,this.optionNames=[],this.optionsForm=new xt.d({}),this.optionsFormDir=new Hn.F([],[]),this.optionsFormGroupName="",this.optionsFormShowReset=!0,this.icons=Ki.P,this.options=[],this.optionsFormGroup=new xt.d({})}static optionNameToText(n){const d=["mon","mgr","osd","mds","client"];return n.split("_").filter((w,re)=>0!==re||!d.includes(w)).map(w=>w.charAt(0).toUpperCase()+w.substring(1)).join(" ")}ngOnInit(){this.createForm(),this.loadStoredData()}createForm(){this.optionsForm.addControl(this.optionsFormGroupName,this.optionsFormGroup),this.optionNames.forEach(n=>{this.optionsFormGroup.addControl(n,new Hn.NI(null))})}getStep(n,d){return Re.getTypeStep(n,d)}loadStoredData(){this.configService.filter(this.optionNames).subscribe(n=>{this.options=n.map(d=>{const w=this.optionsForm.get(d.name),re=Re.getTypeValidators(d);return d.additionalTypeInfo=Re.getType(d.type),d.text=f.optionNameToText(d.name),d.value=gn().find(d.value,Ze=>"osd"===Ze.section),d.value&&w.setValue("bool"===d.additionalTypeInfo.name?"true"===d.value.value:d.value.value),re&&(d.patternHelpText=re.patternHelpText,"max"in re&&""!==re.max&&(d.maxValue=re.max),"min"in re&&""!==re.min&&(d.minValue=re.min),w.setValidators(re.validators)),d})})}saveValues(){const n={};return this.optionNames.forEach(d=>{const w=this.optionsForm.getValue(d);null!==w&&""!==w&&(n[d]={section:"osd",value:w})}),this.configService.bulkCreate({options:n})}resetValue(n){this.configService.delete(n,"osd").subscribe(()=>{this.optionsForm.get(n).reset()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(en.e))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-config-option"]],inputs:{optionNames:"optionNames",optionsForm:"optionsForm",optionsFormDir:"optionsFormDir",optionsFormGroupName:"optionsFormGroupName",optionsFormShowReset:"optionsFormShowReset"},decls:2,vars:2,consts:function(){let y,n,d;return y="Remove the custom configuration value. The default configuration will be inherited and used instead.",n="The entered value is too high! It must not be greater than " + "\ufffd0\ufffd" + ".",d="The entered value is too low! It must not be lower than " + "\ufffd0\ufffd" + ".",[[3,"formGroup"],[4,"ngFor","ngForOf"],["class","form-group row pt-2",4,"ngIf"],["class","my-2",4,"ngIf"],[1,"form-group","row","pt-2"],[1,"cd-col-form-label",3,"for"],[1,"text-muted"],[4,"ngIf"],[1,"cd-col-form-input"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","formControlName"],[1,"custom-control-label",3,"for"],[1,"input-group"],[1,"form-control",3,"type","id","placeholder","formControlName","step"],["class","input-group-append",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],[1,"input-group-append"],["type","button","data-toggle","button","title",y,1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],[1,"invalid-feedback"],n,d,[1,"my-2"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.YNc(1,D_,4,3,"div",1),e.qZA()),2&n&&(e.Q6J("formGroup",d.optionsFormGroup),e.xp6(1),e.Q6J("ngForOf",d.options))},directives:[Hn.JL,Hn.sg,Gn.V,s.sg,s.O5,kn.P,Ds.o,Hn.Wl,zn.b,Hn.JJ,Hn.u,ul.S,Hn.Fj,s.mk],styles:[".custom-checkbox[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .custom-checkbox[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{cursor:pointer}.col-form-label[_ngcontent-%COMP%]{text-align:left}"]}),f})(),yg=(()=>{class f{}return f.basicOptions=["osd_scrub_during_recovery","osd_scrub_begin_hour","osd_scrub_end_hour","osd_scrub_begin_week_day","osd_scrub_end_week_day","osd_scrub_min_interval","osd_scrub_max_interval","osd_deep_scrub_interval","osd_scrub_auto_repair","osd_max_scrubs","osd_scrub_priority","osd_scrub_sleep"],f.advancedOptions=["osd_scrub_auto_repair_num_errors","osd_debug_deep_scrub_sleep","osd_deep_scrub_keys","osd_deep_scrub_large_omap_object_key_threshold","osd_deep_scrub_large_omap_object_value_sum_threshold","osd_deep_scrub_randomize_ratio","osd_deep_scrub_stride","osd_deep_scrub_update_digest_min_age","osd_requested_scrub_priority","osd_scrub_backoff_ratio","osd_scrub_chunk_max","osd_scrub_chunk_min","osd_scrub_cost","osd_scrub_interval_randomize_ratio","osd_scrub_invalid_stats","osd_scrub_load_threshold","osd_scrub_max_preemptions"],f})();const Zm=["basicOptionsValues"],bg=["advancedOptionsValues"];function Eg(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"a",15),e.NdJ("click",function(){return e.CHM(n),e.oxw().advancedEnabled=!0}),e.SDv(1,16),e.qZA()}}function Tg(f,y){if(1&f&&(e.TgZ(0,"div"),e.TgZ(1,"h3",17),e.SDv(2,18),e.qZA(),e._UZ(3,"cd-config-option",7,19),e.qZA()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(3),e.Q6J("optionNames",n.advancedOptions)("optionsForm",n.osdPgScrubForm)("optionsFormDir",d)("optionsFormGroupName","advancedFormGroup")}}let x_=(()=>{class f{constructor(n,d,w,re){this.activeModal=n,this.authStorageService=d,this.notificationService=w,this.actionLabels=re,this.basicOptions=yg.basicOptions,this.advancedOptions=yg.advancedOptions,this.advancedEnabled=!1,this.osdPgScrubForm=new xt.d({}),this.resource="PG scrub options",this.action=this.actionLabels.EDIT,this.permissions=this.authStorageService.getPermissions()}submitAction(){const n=[this.basicOptionsValues.saveValues()];this.advancedOptionsValues&&n.push(this.advancedOptionsValues.saveValues()),(0,Ws.D)(n).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated PG scrub options"),this.activeModal.close()},()=>{this.activeModal.close()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(hi.j),e.Y36(Yi.g),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-pg-scrub-modal"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Zm,7),e.Gf(bg,5)),2&n){let w;e.iGM(w=e.CRH())&&(d.basicOptionsValues=w.first),e.iGM(w=e.CRH())&&(d.advancedOptionsValues=w.first)}},decls:19,vars:21,consts:function(){let y,n,d;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Advanced...",d="Advanced configuration options",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","","cdFormScope","osd",3,"formGroup"],["formDir","ngForm"],[1,"modal-body","osd-modal"],[3,"optionNames","optionsForm","optionsFormDir","optionsFormGroupName"],["basicOptionsValues",""],[1,"row"],[1,"col-sm-12"],["class","pull-right margin-right-md",3,"click",4,"ngIf"],[4,"ngIf"],[1,"modal-footer"],[3,"form","showSubmit","submitText","submitActionEvent"],[1,"pull-right","margin-right-md",3,"click"],n,[1,"page-header"],d,["advancedOptionsValues",""]]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e._UZ(9,"cd-config-option",7,8),e.TgZ(11,"div",9),e.TgZ(12,"div",10),e.YNc(13,Eg,2,0,"a",11),e.qZA(),e.qZA(),e.YNc(14,Tg,5,4,"div",12),e.qZA(),e.TgZ(15,"div",13),e.TgZ(16,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return d.submitAction()}),e.ALo(17,"titlecase"),e.ALo(18,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n){const w=e.MAs(7);e.Q6J("modalRef",d.activeModal),e.xp6(4),e.pQV(e.lcZ(3,13,d.action))(e.lcZ(4,15,d.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.osdPgScrubForm),e.xp6(3),e.Q6J("optionNames",d.basicOptions)("optionsForm",d.osdPgScrubForm)("optionsFormDir",w)("optionsFormGroupName","basicFormGroup"),e.xp6(4),e.Q6J("ngIf",!d.advancedEnabled),e.xp6(1),e.Q6J("ngIf",d.advancedEnabled),e.xp6(2),e.Q6J("form",d.osdPgScrubForm)("showSubmit",d.permissions.configOpt.update)("submitText",e.lcZ(17,17,d.action)+" "+e.lcZ(18,19,d.resource))}},directives:[il.z,Hn._Y,Hn.JL,A_.T,Gn.V,Hn.sg,ih,s.O5,jr.p],pipes:[s.rS,p.m],styles:[""]}),f})();function Cg(f,y){if(1&f&&(e.TgZ(0,"option",22),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.name),e.xp6(1),e.hij(" ",n.text," ")}}function Vm(f,y){1&f&&(e.TgZ(0,"span",23),e.SDv(1,24),e.qZA())}function oh(f,y){if(1&f&&(e.TgZ(0,"cd-helper"),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.Oqu(n.value.desc)}}function R_(f,y){1&f&&(e.TgZ(0,"span",23),e.SDv(1,29),e.qZA())}function Sg(f,y){if(1&f&&(e.TgZ(0,"span",23),e.SDv(1,30),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.pQV(n.value.patternHelpText),e.QtT(1)}}function Mg(f,y){if(1&f&&(e.TgZ(0,"span",23),e.SDv(1,31),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.pQV(n.value.maxValue),e.QtT(1)}}function Og(f,y){if(1&f&&(e.TgZ(0,"span",23),e.SDv(1,32),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.pQV(n.value.minValue),e.QtT(1)}}const Ag=function(f){return{required:f}};function Gm(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",25),e.TgZ(2,"span",26),e._uU(3),e.qZA(),e.YNc(4,oh,2,1,"cd-helper",27),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",28),e.YNc(7,R_,2,0,"span",13),e.YNc(8,Sg,2,1,"span",13),e.YNc(9,Mg,2,1,"span",13),e.YNc(10,Og,2,1,"span",13),e.qZA(),e.qZA()),2&f){const n=y.$implicit,d=e.oxw(),w=e.MAs(5);e.xp6(1),e.Q6J("for",n.key),e.xp6(1),e.Q6J("ngClass",e.VKq(11,Ag,d.osdRecvSpeedForm.getValue("customizePriority"))),e.xp6(1),e.hij(" ",n.value.text," "),e.xp6(1),e.Q6J("ngIf",n.value.desc),e.xp6(2),e.Q6J("id",n.key)("formControlName",n.key)("readonly",!d.osdRecvSpeedForm.getValue("customizePriority")),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.getValue("customizePriority")&&d.osdRecvSpeedForm.showError(n.key,w,"required")),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.getValue("customizePriority")&&d.osdRecvSpeedForm.showError(n.key,w,"pattern")),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.getValue("customizePriority")&&d.osdRecvSpeedForm.showError(n.key,w,"max")),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.getValue("customizePriority")&&d.osdRecvSpeedForm.showError(n.key,w,"min"))}}let zm=(()=>{class f{constructor(n,d,w,re,Ze,Lt){this.activeModal=n,this.actionLabels=d,this.authStorageService=w,this.configService=re,this.notificationService=Ze,this.osdService=Lt,this.priorities=[],this.priorityAttrs={},this.permissions=this.authStorageService.getPermissions(),this.priorities=this.osdService.osdRecvSpeedModalPriorities.KNOWN_PRIORITIES,this.osdRecvSpeedForm=new xt.d({priority:new Hn.NI(null,{validators:[Hn.kI.required]}),customizePriority:new Hn.NI(!1)}),this.priorityAttrs={osd_max_backfills:{text:"Max Backfills",desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_max_active:{text:"Recovery Max Active",desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_max_single_start:{text:"Recovery Max Single Start",desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_sleep:{text:"Recovery Sleep",desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0}},Object.keys(this.priorityAttrs).forEach(Gt=>{this.osdRecvSpeedForm.addControl(Gt,new Hn.NI(null,{validators:[Hn.kI.required]}))})}ngOnInit(){this.configService.filter(Object.keys(this.priorityAttrs)).subscribe(n=>{const d=this.getCurrentValues(n);this.detectPriority(d.values,w=>{this.setPriority(w)}),this.setDescription(d.configOptions),this.setValidators(d.configOptions)})}detectPriority(n,d){const w=gn().find(this.priorities,re=>gn().isEqual(re.values,n));return this.osdRecvSpeedForm.controls.customizePriority.setValue(!1),w?d(w):4===Object.entries(n).length?(this.osdRecvSpeedForm.controls.customizePriority.setValue(!0),d(Object({name:"custom",text:"Custom",values:n}))):d(this.priorities[0])}getCurrentValues(n){const d={values:{},configOptions:[]};return n.forEach(w=>{d.configOptions.push(w),"value"in w?w.value.forEach(re=>{"osd"===re.section&&(d.values[w.name]=Number(re.value))}):"default"in w&&null!==w.default&&(d.values[w.name]=Number(w.default))}),d}setDescription(n){n.forEach(d=>{""!==d.desc&&(this.priorityAttrs[d.name].desc=d.desc)})}setPriority(n){const d=gn().find(this.priorities,w=>"custom"===w.name);"custom"===n.name?d||this.priorities.push(n):d&&this.priorities.splice(this.priorities.indexOf(d),1),this.osdRecvSpeedForm.controls.priority.setValue(n.name),Object.entries(n.values).forEach(([w,re])=>{this.osdRecvSpeedForm.controls[w].setValue(re)})}setValidators(n){n.forEach(d=>{const w=Re.getTypeValidators(d);w?(w.validators.push(Hn.kI.required),"max"in w&&""!==w.max&&(this.priorityAttrs[d.name].maxValue=w.max),"min"in w&&""!==w.min&&(this.priorityAttrs[d.name].minValue=w.min),this.priorityAttrs[d.name].patternHelpText=w.patternHelpText,this.osdRecvSpeedForm.controls[d.name].setValidators(w.validators)):this.osdRecvSpeedForm.controls[d.name].setValidators(Hn.kI.required)})}onCustomizePriorityChange(){const n={};if(Object.keys(this.priorityAttrs).forEach(d=>{n[d]=this.osdRecvSpeedForm.getValue(d)}),this.osdRecvSpeedForm.getValue("customizePriority")){const d={name:"custom",text:"Custom",values:n};this.setPriority(d)}else this.detectPriority(n,d=>{this.setPriority(d)})}onPriorityChange(n){const d=gn().find(this.priorities,w=>w.name===n)||this.priorities[0];this.osdRecvSpeedForm.get("customizePriority").setValue(!1),this.setPriority(d)}submitAction(){const n={};Object.keys(this.priorityAttrs).forEach(d=>{n[d]={section:"osd",value:this.osdRecvSpeedForm.getValue(d)}}),this.configService.bulkCreate({options:n}).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated OSD recovery speed priority '" + this.osdRecvSpeedForm.getValue("priority") + "'"),this.activeModal.close()},()=>{this.activeModal.close()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(hi.j),e.Y36(en.e),e.Y36(Yi.g),e.Y36(ac))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-recv-speed-modal"]],decls:24,vars:10,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="OSD Recovery Priority",n="Priority",d="Customize priority values",w="This field is required.",re="This field is required!",Ze="" + "\ufffd0\ufffd" + "",Lt="The entered value is too high! It must not be greater than " + "\ufffd0\ufffd" + ".",Gt="The entered value is too low! It must not be lower than " + "\ufffd0\ufffd" + ".",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","","cdFormScope","osd",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","priority",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],["formControlName","priority","id","priority",1,"form-control","custom-select",3,"change"],[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["formControlName","customizePriority","id","customizePriority","name","customizePriority","type","checkbox",1,"custom-control-input",3,"change"],["for","customizePriority",1,"custom-control-label"],d,["class","form-group row",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","showSubmit","submitActionEvent"],[3,"value"],[1,"invalid-feedback"],w,[1,"cd-col-form-label",3,"for"],[3,"ngClass"],[4,"ngIf"],["type","number",1,"form-control",3,"id","formControlName","readonly"],re,Ze,Lt,Gt]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"div",7),e.TgZ(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e.TgZ(11,"select",11),e.NdJ("change",function(re){return d.onPriorityChange(re.target.value)}),e.YNc(12,Cg,2,2,"option",12),e.qZA(),e.YNc(13,Vm,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(14,"div",7),e.TgZ(15,"div",14),e.TgZ(16,"div",15),e.TgZ(17,"input",16),e.NdJ("change",function(){return d.onCustomizePriorityChange()}),e.qZA(),e.TgZ(18,"label",17),e.SDv(19,18),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(20,Gm,11,13,"div",19),e.ALo(21,"keyvalue"),e.qZA(),e.TgZ(22,"div",20),e.TgZ(23,"cd-form-button-panel",21),e.NdJ("submitActionEvent",function(){return d.submitAction()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n){const w=e.MAs(5);e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.osdRecvSpeedForm),e.xp6(8),e.Q6J("ngForOf",d.priorities),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.showError("priority",w,"required")),e.xp6(7),e.Q6J("ngForOf",e.lcZ(21,8,d.priorityAttrs)),e.xp6(3),e.Q6J("form",d.osdRecvSpeedForm)("submitText",d.actionLabels.UPDATE)("showSubmit",d.permissions.configOpt.update)}},directives:[il.z,Hn._Y,Hn.JL,A_.T,Gn.V,Hn.sg,kn.P,Ds.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,s.sg,s.O5,Hn.Wl,jr.p,Hn.YN,Hn.Kr,s.mk,Hn.wV,Hn.Fj,ul.S],pipes:[s.Nd],styles:[""]}),f})();function Wm(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,15),e.qZA())}function qm(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,16),e.qZA())}function wg(f,y){if(1&f&&(e.TgZ(0,"span",13),e.YNc(1,Wm,2,0,"span",14),e.YNc(2,qm,2,0,"span",14),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngIf",null==n.weight.errors?null:n.weight.errors.required),e.xp6(1),e.Q6J("ngIf",(null==n.weight.errors?null:n.weight.errors.max)||(null==n.weight.errors?null:n.weight.errors.min))}}let Ov=(()=>{class f{constructor(n,d,w,re){this.actionLabels=n,this.activeModal=d,this.osdService=w,this.fb=re,this.currentWeight=1}get weight(){return this.reweightForm.get("weight")}ngOnInit(){this.reweightForm=this.fb.group({weight:this.fb.control(this.currentWeight,[Hn.kI.required])})}reweight(){this.osdService.reweight(this.osdId,this.reweightForm.value.weight).subscribe(()=>this.activeModal.close())}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(Br.Kz),e.Y36(ac),e.Y36(uc.O))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-reweight-modal"]],decls:14,vars:7,consts:function(){let y,n,d;return y="Reweight OSD: " + "\ufffd0\ufffd" + "",n="This field is required.",d="The value needs to be between 0 and 1.",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],[3,"formGroup"],[1,"modal-body"],[1,"row"],["for","weight",1,"cd-col-form-label"],[1,"cd-col-form-input"],["id","weight","type","number","step","0.1","formControlName","weight","min","0","max","1",1,"form-control",3,"value"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],[4,"ngIf"],n,d]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4),e.TgZ(5,"div",5),e.TgZ(6,"div",6),e.TgZ(7,"label",7),e._uU(8,"Weight"),e.qZA(),e.TgZ(9,"div",8),e._UZ(10,"input",9),e.YNc(11,wg,3,2,"span",10),e.qZA(),e.qZA(),e.qZA(),e.TgZ(12,"div",11),e.TgZ(13,"cd-form-button-panel",12),e.NdJ("submitActionEvent",function(){return d.reweight()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(2),e.pQV(d.osdId),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.reweightForm),e.xp6(6),e.Q6J("value",d.currentWeight),e.xp6(1),e.Q6J("ngIf",d.weight.errors),e.xp6(2),e.Q6J("form",d.reweightForm)("submitText",d.actionLabels.REWEIGHT))},directives:[il.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,Ds.o,Hn.wV,Hn.qQ,Hn.Fd,Hn.Fj,zn.b,Hn.JJ,Hn.u,s.O5,jr.p],styles:[""]}),f})();var $h=o(86969);let Jm=(()=>{class f{constructor(n,d,w,re,Ze){this.activeModal=n,this.actionLabels=d,this.osdService=w,this.notificationService=re,this.joinPipe=Ze,this.selected=[]}ngOnInit(){this.scrubForm=new Hn.cw({})}scrub(){(0,Ws.D)(this.selected.map(n=>this.osdService.scrub(n,this.deep))).subscribe(()=>{this.notificationService.show(Ho.k.success,"" + (this.deep ? "Deep scrub" : "Scrub") + " was initialized in the following OSD(s): " + this.joinPipe.transform(this.selected) + ""),this.activeModal.close()},()=>this.activeModal.close())}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(ac),e.Y36(Yi.g),e.Y36($h.A))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-scrub-modal"]],decls:13,vars:9,consts:function(){let y,n,d,w;return y="{VAR_SELECT, select, true {Deep } other {}}",y=e.Zx4(y,{VAR_SELECT:"\ufffd0\ufffd"}),n="OSDs " + y + "Scrub",d="{VAR_SELECT, select, true {deep } other {}}",d=e.Zx4(d,{VAR_SELECT:"\ufffd0\ufffd"}),w="You are about to apply a " + d + "scrub to the OSD(s): " + "\ufffd#9\ufffd" + "" + "\ufffd1\ufffd" + "" + "\ufffd/#9\ufffd" + ".",[[3,"modalRef"],[1,"modal-title"],n,[1,"modal-content"],["name","scrubForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],w,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"]]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.qZA(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.tHW(8,7),e._UZ(9,"strong"),e.ALo(10,"join"),e.N_p(),e.qZA(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"cd-form-button-panel",9),e.NdJ("submitActionEvent",function(){return d.scrub()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(2),e.pQV(d.deep),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.scrubForm),e.xp6(6),e.pQV(d.deep)(e.lcZ(10,7,d.selected)),e.QtT(8),e.xp6(2),e.Q6J("form",d.scrubForm)("submitText",d.actionLabels.UPDATE))},directives:[il.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,jr.p],pipes:[$h.A],styles:[""]}),f})();var Dg=o(98056);function Av(f,y){if(1&f&&e._UZ(0,"cd-device-list",17),2&f){const n=e.oxw(2);e.Q6J("osdId",null==n.osd?null:n.osd.id)}}function wv(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",18),2&f){const n=e.oxw(2);e.Q6J("data",null==n.osd||null==n.osd.details?null:n.osd.details.osd_map)}}function N_(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table-key-value",21),e.NdJ("fetchData",function(){return e.CHM(n),e.oxw(3).refresh()}),e.qZA()}if(2&f){const n=e.oxw(3);e.Q6J("data",null==n.osd||null==n.osd.details?null:n.osd.details.osd_metadata)}}function Qm(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",22),e.SDv(1,23),e.qZA())}function xg(f,y){if(1&f&&(e.YNc(0,N_,1,1,"cd-table-key-value",19),e.YNc(1,Qm,2,0,"ng-template",null,20,e.W1O)),2&f){const n=e.MAs(2),d=e.oxw(2);e.Q6J("ngIf",null==d.osd||null==d.osd.details?null:d.osd.details.osd_metadata)("ngIfElse",n)}}function Rg(f,y){if(1&f&&e._UZ(0,"cd-smart-list",17),2&f){const n=e.oxw(2);e.Q6J("osdId",null==n.osd?null:n.osd.id)}}function Dv(f,y){if(1&f&&e._UZ(0,"cd-table-performance-counter",25),2&f){const n=e.oxw(3);e.Q6J("serviceId",null==n.osd?null:n.osd.id)}}function Nd(f,y){if(1&f&&e.YNc(0,Dv,1,1,"cd-table-performance-counter",24),2&f){const n=e.oxw(2);e.Q6J("ngIf",null==n.osd?null:n.osd.details)}}function xv(f,y){if(1&f&&e._UZ(0,"cd-grafana",28),2&f){const n=e.oxw(3);e.Q6J("grafanaPath","osd-device-details?var-osd=osd."+n.osd.id)}}function Ng(f,y){1&f&&(e.TgZ(0,"li",26),e.TgZ(1,"a",4),e.SDv(2,27),e.qZA(),e.YNc(3,xv,1,1,"ng-template",6),e.qZA())}function Xm(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,Av,1,1,"ng-template",6),e.qZA(),e.TgZ(7,"li",7),e.TgZ(8,"a",4),e.SDv(9,8),e.qZA(),e.YNc(10,wv,1,1,"ng-template",6),e.qZA(),e.TgZ(11,"li",9),e.TgZ(12,"a",4),e.SDv(13,10),e.qZA(),e.YNc(14,xg,3,2,"ng-template",6),e.qZA(),e.TgZ(15,"li",11),e.TgZ(16,"a",4),e.SDv(17,12),e.qZA(),e.YNc(18,Rg,1,1,"ng-template",6),e.qZA(),e.TgZ(19,"li",13),e.TgZ(20,"a",4),e.SDv(21,14),e.qZA(),e.YNc(22,Nd,1,1,"ng-template",6),e.qZA(),e.YNc(23,Ng,4,0,"li",15),e.qZA(),e._UZ(24,"div",16),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw();e.xp6(23),e.Q6J("ngIf",d.grafanaPermission.read),e.xp6(1),e.Q6J("ngbNavOutlet",n)}}let P_=(()=>{class f{constructor(n,d){this.osdService=n,this.authStorageService=d,this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){var n,d,w;(null===(n=this.osd)||void 0===n?void 0:n.id)!==(null===(d=this.selection)||void 0===d?void 0:d.id)&&(this.osd=this.selection),gn().isNumber(null===(w=this.osd)||void 0===w?void 0:w.id)&&this.refresh()}refresh(){this.osdService.getDetails(this.osd.id).subscribe(n=>{this.osd.details=n})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(ac),e.Y36(hi.j))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt;return y="Devices",n="Attributes (OSD map)",d="Metadata",w="Device health",re="Performance counter",Ze="Metadata not available",Lt="Performance Details",[[4,"ngIf"],["ngbNav","","id","tabset-osd-details","cdStatefulTab","osd-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","devices"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","attributes"],n,["ngbNavItem","metadata"],d,["ngbNavItem","device-health"],w,["ngbNavItem","performance-counter"],re,["ngbNavItem","performance-details",4,"ngIf"],[3,"ngbNavOutlet"],[3,"osdId"],[3,"data"],[3,"data","fetchData",4,"ngIf","ngIfElse"],["noMetaData",""],[3,"data","fetchData"],["type","warning"],Ze,["serviceType","osd",3,"serviceId",4,"ngIf"],["serviceType","osd",3,"serviceId"],["ngbNavItem","performance-details"],Lt,["uid","CrAHE0iZz","grafanaStyle","three",3,"grafanaPath"]]},template:function(n,d){1&n&&e.YNc(0,Xm,25,2,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,Qo,Ft.b,ze.G,hu,Dg.p,Je.F],styles:[""]}),f})();const Pg=["osdUsageTpl"],Ig=["markOsdConfirmationTpl"],Km=["criticalConfirmationTpl"],Lg=["reweightBodyTpl"],Fg=["safeToDestroyBodyTpl"],I_=["deleteOsdExtraTpl"],e1=["flagsTpl"],yu=function(){return{read:!0}};function L_(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",13),e.NdJ("fetchData",function(){return e.CHM(n),e.oxw().getOsdList()})("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e.TgZ(1,"div",14),e._UZ(2,"cd-table-actions",15),e._UZ(3,"cd-table-actions",16),e.qZA(),e._UZ(4,"cd-osd-details",17),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.osds)("columns",n.columns)("hasDetails",!0)("updateSelectionOnRefresh","never"),e.xp6(2),e.Q6J("permission",n.permissions.osd)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("permission",e.DdM(11,yu))("selection",n.selection)("tableActions",n.clusterWideActions),e.xp6(1),e.Q6J("selection",n.expandedRow)}}function t1(f,y){1&f&&e._UZ(0,"cd-grafana",19),2&f&&e.Q6J("grafanaPath","osd-overview?")}function n1(f,y){1&f&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,18),e.qZA(),e.YNc(3,t1,1,1,"ng-template",5),e.qZA())}function r1(f,y){if(1&f&&(e.ynx(0),e.tHW(1,20),e._UZ(2,"strong"),e.ALo(3,"join"),e._UZ(4,"strong"),e.N_p(),e.BQk()),2&f){const n=y.markActionDescription,d=y.osdIds;e.xp6(4),e.pQV(e.lcZ(3,2,d))(n),e.QtT(1)}}function i1(f,y){if(1&f&&(e.TgZ(0,"div",23),e.TgZ(1,"cd-alert-panel",24),e.SDv(2,25),e.qZA(),e.qZA()),2&f){const n=e.oxw(),d=n.actionDescription,w=n.message,re=e.oxw();e.xp6(2),e.pQV(re.selection.hasSingleSelection)(d)(w),e.QtT(2)}}function F_(f,y){if(1&f&&(e.YNc(0,i1,3,3,"div",21),e.ynx(1),e.tHW(2,22),e._UZ(3,"strong"),e.ALo(4,"join"),e._UZ(5,"strong"),e.N_p(),e.BQk()),2&f){const d=y.actionDescription,w=y.osdIds;e.Q6J("ngIf",!y.safeToPerform),e.xp6(5),e.pQV(e.lcZ(4,3,w))(d),e.QtT(2)}}function Hh(f,y){if(1&f&&(e.TgZ(0,"span",28),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.Oqu(n)}}function Kf(f,y){if(1&f&&(e.TgZ(0,"span",29),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.Oqu(n)}}function kg(f,y){if(1&f&&(e.YNc(0,Hh,2,1,"span",26),e.YNc(1,Kf,2,1,"span",27)),2&f){const n=y.row;e.Q6J("ngForOf",n.cdClusterFlags),e.xp6(1),e.Q6J("ngForOf",n.cdIndivFlags)}}function Pd(f,y){if(1&f&&e._UZ(0,"cd-usage-bar",30),2&f){const n=y.row,d=e.oxw();e.Q6J("total",n.stats.stat_bytes)("used",n.stats.stat_bytes_used)("warningThreshold",d.osdSettings.nearfull_ratio)("errorThreshold",d.osdSettings.full_ratio)}}function sh(f,y){1&f&&(e.ynx(0,31),e.ynx(1,32),e.TgZ(2,"div",33),e.TgZ(3,"div",34),e._UZ(4,"input",35),e.TgZ(5,"label",36),e.SDv(6,37),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.BQk()),2&f&&e.Q6J("formGroup",y.form)}let $g=(()=>{class f extends mi.o{constructor(n,d,w,re,Ze,Lt,Gt,On,pr,fr){super(),this.authStorageService=n,this.osdService=d,this.dimlessBinaryPipe=w,this.modalService=re,this.urlBuilder=Ze,this.router=Lt,this.taskWrapper=Gt,this.actionLabels=On,this.notificationService=pr,this.orchService=fr,this.icons=Ki.P,this.osdSettings=new _g,this.selection=new si.r,this.osds=[],this.disabledFlags=["sortbitwise","purged_snapdirs","recovery_deletes","pglog_hardlimit"],this.indivFlagNames=["noup","nodown","noin","noout"],this.actionOrchFeatures={create:[El.OSD_CREATE],delete:[El.OSD_DELETE]},this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{name:this.actionLabels.CREATE,permission:"create",icon:Ki.P.add,click:()=>this.router.navigate([this.urlBuilder.getCreate()]),disable:ri=>this.getDisable("create",ri),canBePrimary:ri=>!ri.hasSelection},{name:this.actionLabels.EDIT,permission:"update",icon:Ki.P.edit,click:()=>this.editAction()},{name:this.actionLabels.FLAGS,permission:"update",icon:Ki.P.flag,click:()=>this.configureFlagsIndivAction(),disable:()=>!this.hasOsdSelected},{name:this.actionLabels.SCRUB,permission:"update",icon:Ki.P.analyse,click:()=>this.scrubAction(!1),disable:()=>!this.hasOsdSelected,canBePrimary:ri=>ri.hasSelection},{name:this.actionLabels.DEEP_SCRUB,permission:"update",icon:Ki.P.deepCheck,click:()=>this.scrubAction(!0),disable:()=>!this.hasOsdSelected},{name:this.actionLabels.REWEIGHT,permission:"update",click:()=>this.reweight(),disable:()=>!this.hasOsdSelected||!this.selection.hasSingleSelection,icon:Ki.P.reweight},{name:this.actionLabels.MARK_OUT,permission:"update",click:()=>this.showConfirmationModal("out",this.osdService.markOut),disable:()=>this.isNotSelectedOrInState("out"),icon:Ki.P.left},{name:this.actionLabels.MARK_IN,permission:"update",click:()=>this.showConfirmationModal("in",this.osdService.markIn),disable:()=>this.isNotSelectedOrInState("in"),icon:Ki.P.right},{name:this.actionLabels.MARK_DOWN,permission:"update",click:()=>this.showConfirmationModal("down",this.osdService.markDown),disable:()=>this.isNotSelectedOrInState("down"),icon:Ki.P.down},{name:this.actionLabels.MARK_LOST,permission:"delete",click:()=>this.showCriticalConfirmationModal("Mark","OSD lost","marked lost",ri=>this.osdService.safeToDestroy(JSON.stringify(ri)),"is_safe_to_destroy",this.osdService.markLost),disable:()=>this.isNotSelectedOrInState("up"),icon:Ki.P.flatten},{name:this.actionLabels.PURGE,permission:"delete",click:()=>this.showCriticalConfirmationModal("Purge","OSD","purged",ri=>this.osdService.safeToDestroy(JSON.stringify(ri)),"is_safe_to_destroy",ri=>(this.selection=new si.r,this.osdService.purge(ri))),disable:()=>this.isNotSelectedOrInState("up"),icon:Ki.P.erase},{name:this.actionLabels.DESTROY,permission:"delete",click:()=>this.showCriticalConfirmationModal("destroy","OSD","destroyed",ri=>this.osdService.safeToDestroy(JSON.stringify(ri)),"is_safe_to_destroy",ri=>(this.selection=new si.r,this.osdService.destroy(ri))),disable:()=>this.isNotSelectedOrInState("up"),icon:Ki.P.destroyCircle},{name:this.actionLabels.DELETE,permission:"delete",click:()=>this.delete(),disable:ri=>this.getDisable("delete",ri),icon:Ki.P.destroy}]}static collectStates(n){const d=[n.in?"in":"out"];return n.up?d.push("up"):n.state.includes("destroyed")?d.push("destroyed"):d.push("down"),d}ngOnInit(){this.clusterWideActions=[{name:"Flags",icon:Ki.P.flag,click:()=>this.configureFlagsAction(),permission:"read",visible:()=>this.permissions.osd.read},{name:"Recovery Priority",icon:Ki.P.deepCheck,click:()=>this.configureQosParamsAction(),permission:"read",visible:()=>this.permissions.configOpt.read},{name:"PG scrub",icon:Ki.P.analyse,click:()=>this.configurePgScrubAction(),permission:"read",visible:()=>this.permissions.configOpt.read}],this.columns=[{prop:"id",name:"ID",flexGrow:1,cellTransformation:ni.e.executing,customTemplateConfig:{valueClass:"bold"}},{prop:"host.name",name:"Host"},{prop:"collectedStates",name:"Status",flexGrow:1,cellTransformation:ni.e.badge,customTemplateConfig:{map:{in:{class:"badge-success"},up:{class:"badge-success"},down:{class:"badge-danger"},out:{class:"badge-danger"},destroyed:{class:"badge-danger"}}}},{prop:"tree.device_class",name:"Device class",flexGrow:1.2,cellTransformation:ni.e.badge,customTemplateConfig:{map:{hdd:{class:"badge-hdd"},ssd:{class:"badge-ssd"}}}},{prop:"stats.numpg",name:"PGs",flexGrow:1},{prop:"stats.stat_bytes",name:"Size",flexGrow:1,pipe:this.dimlessBinaryPipe},{prop:"state",name:"Flags",cellTemplate:this.flagsTpl},{prop:"stats.usage",name:"Usage",cellTemplate:this.osdUsageTpl},{prop:"stats_history.out_bytes",name:"Read bytes",cellTransformation:ni.e.sparkline},{prop:"stats_history.in_bytes",name:"Write bytes",cellTransformation:ni.e.sparkline},{prop:"stats.op_r",name:"Read ops",cellTransformation:ni.e.perSecond},{prop:"stats.op_w",name:"Write ops",cellTransformation:ni.e.perSecond}],this.orchService.status().subscribe(n=>this.orchStatus=n),this.osdService.getOsdSettings().pipe((0,Ul.q)(1)).subscribe(n=>{this.osdSettings=n})}getDisable(n,d){if("delete"===n){if(!d.hasSelection)return!0;if(gn().some(this.getSelectedOsds(),re=>{const Ze=gn().get(re,"operational_status");return"deleting"===Ze||"unmanaged"===Ze}))return!0}return this.orchService.getTableActionDisableDesc(this.orchStatus,this.actionOrchFeatures[n])}getSelectedOsdIds(){const n=this.osds.map(d=>d.id);return this.selection.selected.map(d=>d.id).filter(d=>n.includes(d)).sort()}getSelectedOsds(){return this.osds.filter(n=>!gn().isUndefined(n)&&this.getSelectedOsdIds().includes(n.id))}get hasOsdSelected(){return this.getSelectedOsdIds().length>0}updateSelection(n){this.selection=n}isNotSelectedOrInState(n){const d=this.getSelectedOsds();if(0===d.length)return!0;switch(n){case"in":return d.some(w=>1===w.in);case"out":return d.some(w=>1!==w.in);case"down":return d.some(w=>1!==w.up);case"up":return d.some(w=>1===w.up)}}getOsdList(){const n=[this.osdService.getList(),this.osdService.getFlags()];(0,Ws.D)(n).subscribe(d=>{this.osds=d[0].map(w=>{w.collectedStates=f.collectStates(w),w.stats_history.out_bytes=w.stats_history.op_out_bytes.map(Ze=>Ze[1]),w.stats_history.in_bytes=w.stats_history.op_in_bytes.map(Ze=>Ze[1]),w.stats.usage=w.stats.stat_bytes_used/w.stats.stat_bytes,w.cdIsBinary=!0,w.cdIndivFlags=w.state.filter(Ze=>this.indivFlagNames.includes(Ze)),w.cdClusterFlags=d[1].filter(Ze=>!this.disabledFlags.includes(Ze));const re=gn().get(w,"operational_status","unmanaged");return"unmanaged"!==re&&"working"!==re&&(w.cdExecuting=re),w})})}editAction(){const n=gn().filter(this.osds,["id",this.selection.first().id]).pop();this.modalService.show(Hl.X,{titleText:"Edit OSD: " + n.id + "",fields:[{type:"text",name:"deviceClass",value:n.tree.device_class,label:"Device class",required:!0}],submitButtonText:"Edit OSD",onSubmit:d=>{this.osdService.update(n.id,d.deviceClass).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated OSD '" + n.id + "'"),this.getOsdList()})}})}scrubAction(n){if(!this.hasOsdSelected)return;const d={selected:this.getSelectedOsdIds(),deep:n};this.bsModalRef=this.modalService.show(Jm,d)}configureFlagsAction(){this.bsModalRef=this.modalService.show(Um)}configureFlagsIndivAction(){const n={selected:this.getSelectedOsds()};this.bsModalRef=this.modalService.show(gg,n)}showConfirmationModal(n,d){const w=this.getSelectedOsdIds();this.bsModalRef=this.modalService.show(Ll.Y,{titleText:"Mark OSD " + n + "",buttonText:"Mark " + n + "",bodyTpl:this.markOsdConfirmationTpl,bodyContext:{markActionDescription:n,osdIds:w},onSubmit:()=>{(0,Ws.D)(this.getSelectedOsdIds().map(re=>d.call(this.osdService,re))).subscribe(()=>this.bsModalRef.close())}})}reweight(){const n=this.osds.filter(d=>d.id===this.selection.first().id).pop();this.bsModalRef=this.modalService.show(Ov,{currentWeight:n.weight,osdId:n.id})}delete(){const n=new xt.d({preserve:new Hn.NI(!1)});this.showCriticalConfirmationModal("delete","OSD","deleted",d=>this.osdService.safeToDelete(JSON.stringify(d)),"is_safe_to_delete",d=>(this.selection=new si.r,this.taskWrapper.wrapTaskAroundCall({task:new Ga.R("osd/"+uo.MQ.DELETE,{svc_id:d}),call:this.osdService.delete(d,n.value.preserve,!0)})),!0,n,this.deleteOsdExtraTpl)}showCriticalConfirmationModal(n,d,w,re,Ze,Lt,Gt=!1,On,pr){re(this.getSelectedOsdIds()).subscribe(fr=>{const ri=this.modalService.show(jo.M,{actionDescription:n,itemDescription:d,bodyTemplate:this.criticalConfirmationTpl,bodyContext:{safeToPerform:fr[Ze],message:fr.message,actionDescription:w,osdIds:this.getSelectedOsdIds()},childFormGroup:On,childFormGroupTemplate:pr,submitAction:()=>{const Ii=(0,Ws.D)(this.getSelectedOsdIds().map(go=>Lt.call(this.osdService,go)));Gt?Ii.subscribe({error:()=>{this.getOsdList(),ri.close()},complete:()=>ri.close()}):Ii.subscribe(()=>{this.getOsdList(),ri.close()},()=>ri.close())}})})}configureQosParamsAction(){this.bsModalRef=this.modalService.show(zm)}configurePgScrubAction(){this.bsModalRef=this.modalService.show(x_,void 0,{size:"lg"})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(ac),e.Y36(Me.$),e.Y36(na.Z),e.Y36(cl.F),e.Y36(tn.F0),e.Y36($i.P),e.Y36(uo.p4),e.Y36(Yi.g),e.Y36(nl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-list"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Pg,7),e.Gf(Ig,7),e.Gf(Km,7),e.Gf(Lg,5),e.Gf(Fg,5),e.Gf(I_,5),e.Gf(e1,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.osdUsageTpl=w.first),e.iGM(w=e.CRH())&&(d.markOsdConfirmationTpl=w.first),e.iGM(w=e.CRH())&&(d.criticalConfirmationTpl=w.first),e.iGM(w=e.CRH())&&(d.reweightBodyTpl=w.first),e.iGM(w=e.CRH())&&(d.safeToDestroyBodyTpl=w.first),e.iGM(w=e.CRH())&&(d.deleteOsdExtraTpl=w.first),e.iGM(w=e.CRH())&&(d.flagsTpl=w.first)}},features:[e._Bn([{provide:cl.F,useValue:new cl.F("osd")}]),e.qOj],decls:18,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt;return y="OSDs List",n="Overall Performance",d="" + "[\ufffd#2\ufffd|\ufffd#4\ufffd]" + "OSD(s) " + "\ufffd0\ufffd" + "" + "[\ufffd/#2\ufffd|\ufffd/#4\ufffd]" + " will be marked " + "[\ufffd#2\ufffd|\ufffd#4\ufffd]" + "" + "\ufffd1\ufffd" + "" + "[\ufffd/#2\ufffd|\ufffd/#4\ufffd]" + " if you proceed.",d=e.Zx4(d),w="" + "[\ufffd#3\ufffd|\ufffd#5\ufffd]" + "OSD " + "\ufffd0\ufffd" + "" + "[\ufffd/#3\ufffd|\ufffd/#5\ufffd]" + " will be " + "[\ufffd#3\ufffd|\ufffd#5\ufffd]" + "" + "\ufffd1\ufffd" + "" + "[\ufffd/#3\ufffd|\ufffd/#5\ufffd]" + " if you proceed.",w=e.Zx4(w),re="{VAR_SELECT, select, true {OSD is} other {OSDs are}}",re=e.Zx4(re,{VAR_SELECT:"\ufffd0\ufffd"}),Ze="The " + re + " not safe to be " + "\ufffd1\ufffd" + "! " + "\ufffd2\ufffd" + "",Lt="Preserve OSD ID(s) for replacement.",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","",4,"ngIf"],[3,"ngbNavOutlet"],["markOsdConfirmationTpl",""],["criticalConfirmationTpl",""],["flagsTpl",""],["osdUsageTpl",""],["deleteOsdExtraTpl",""],["selectionType","multiClick",3,"data","columns","hasDetails","updateSelectionOnRefresh","fetchData","setExpandedRow","updateSelection"],[1,"table-actions","btn-toolbar"],["id","osd-actions",1,"btn-group",3,"permission","selection","tableActions"],["dropDownOnly","Cluster-wide configuration","btnColor","light","id","cluster-wide-actions",1,"btn-group",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],n,["uid","lo02I1Aiz","grafanaStyle","four",3,"grafanaPath"],d,["class","danger",4,"ngIf"],w,[1,"danger"],["type","warning"],Ze,["class","badge badge-hdd mr-1",4,"ngFor","ngForOf"],["class","badge badge-info mr-1",4,"ngFor","ngForOf"],[1,"badge","badge-hdd","mr-1"],[1,"badge","badge-info","mr-1"],[3,"total","used","warningThreshold","errorThreshold"],[3,"formGroup"],["formGroupName","child"],[1,"form-group"],[1,"custom-control","custom-checkbox"],["type","checkbox","name","preserve","id","preserve","formControlName","preserve",1,"custom-control-input"],["for","preserve",1,"custom-control-label"],Lt]},template:function(n,d){if(1&n&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,L_,5,12,"ng-template",5),e.qZA(),e.YNc(6,n1,4,0,"li",6),e.qZA(),e._UZ(7,"div",7),e.YNc(8,r1,5,4,"ng-template",null,8,e.W1O),e.YNc(10,F_,6,5,"ng-template",null,9,e.W1O),e.YNc(12,kg,2,2,"ng-template",null,10,e.W1O),e.YNc(14,Pd,1,4,"ng-template",null,11,e.W1O),e.YNc(16,sh,7,1,"ng-template",null,12,e.W1O)),2&n){const w=e.MAs(1);e.xp6(6),e.Q6J("ngIf",d.permissions.grafana.read),e.xp6(1),e.Q6J("ngbNavOutlet",w)}},directives:[Br.Pz,Br.nv,Br.Vx,Br.uN,s.O5,Br.tO,Ui.a,ha.K,P_,Je.F,ze.G,s.sg,Un.O,Gn.V,Hn.JL,Hn.sg,Hn.x0,kn.P,Ds.o,Hn.Wl,zn.b,Hn.JJ,Hn.u],pipes:[$h.A],styles:[""]}),f})();var Uh=o(9837);let bu=(()=>{class f{constructor(n,d){this.http=n,this.settingsService=d,this.baseURL="api/prometheus",this.settingsKey={alertmanager:"api/settings/alertmanager-api-host",prometheus:"api/settings/prometheus-api-host"}}ifAlertmanagerConfigured(n,d){this.settingsService.ifSettingConfigured(this.settingsKey.alertmanager,n,d)}disableAlertmanagerConfig(){this.settingsService.disableSetting(this.settingsKey.alertmanager)}ifPrometheusConfigured(n,d){this.settingsService.ifSettingConfigured(this.settingsKey.prometheus,n,d)}disablePrometheusConfig(){this.settingsService.disableSetting(this.settingsKey.prometheus)}getAlerts(n={}){return this.http.get(this.baseURL,{params:n})}getSilences(n={}){return this.http.get(`${this.baseURL}/silences`,{params:n})}getRules(n="all"){return this.http.get(`${this.baseURL}/rules`).pipe((0,Rs.U)(d=>(["alerting","rewrites"].includes(n)&&d.groups.map(w=>{w.rules=w.rules.filter(re=>re.type===n)}),d)))}setSilence(n){return this.http.post(`${this.baseURL}/silence`,n,{observe:"response"})}expireSilence(n){return this.http.delete(`${this.baseURL}/silence/${n}`,{observe:"response"})}getNotifications(n){return this.http.get(`${this.baseURL}/notifications?from=${n&&n.id?n.id:"last"}`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(Uh.g))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var mp=o(61355);let Vc=(()=>{class f{constructor(n){this.notificationService=n}sendNotifications(n){n.forEach(d=>this.notificationService.show(d))}convertToCustomAlerts(n){return gn().uniqWith(n.map(d=>({status:gn().isObject(d.status)?d.status.state:this.getPrometheusNotificationStatus(d),name:d.labels.alertname,url:d.generatorURL,description:d.annotations.description,fingerprint:gn().isObject(d.status)&&d.fingerprint})),gn().isEqual)}getPrometheusNotificationStatus(n){const d=n.status;return"firing"===d?"active":d}convertAlertToNotification(n){return new mp.T(this.formatType(n.status),`${n.name} (${n.status})`,this.appendSourceLink(n,n.description),void 0,"Prometheus")}formatType(n){return Ho.k[gn().findKey({error:["firing","active"],info:["suppressed","unprocessed"],success:["resolved"]},w=>w.includes(n))]}appendSourceLink(n,d){return`${d} <a href="${n.url}" target="_blank"><i class="${Ki.P.lineChart}"></i></a>`}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(Yi.g))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),bd=(()=>{class f{constructor(n,d){this.alertFormatter=n,this.prometheusService=d,this.canAlertsBeNotified=!1,this.alerts=[],this.rules=[]}getAlerts(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.prometheusService.getAlerts().subscribe(n=>this.handleAlerts(n),n=>{[404,504].includes(n.status)&&this.prometheusService.disableAlertmanagerConfig()})})}getRules(){this.prometheusService.ifPrometheusConfigured(()=>{this.prometheusService.getRules("alerting").subscribe(n=>{this.rules=n.groups.reduce((d,w)=>d.concat(w.rules.map(re=>(re.group=w.name,re))),[])})})}refresh(){this.getAlerts(),this.getRules()}handleAlerts(n){this.canAlertsBeNotified&&this.notifyOnAlertChanges(n,this.alerts),this.activeAlerts=gn().reduce(this.alerts,(d,w)=>"active"===w.status.state?++d:d,0),this.alerts=n,this.canAlertsBeNotified=!0}notifyOnAlertChanges(n,d){const w=this.getChangedAlerts(this.alertFormatter.convertToCustomAlerts(n),this.alertFormatter.convertToCustomAlerts(d)),Ze=gn().filter(w,Lt=>"suppressed"!==Lt.status).map(Lt=>this.alertFormatter.convertAlertToNotification(Lt));this.alertFormatter.sendNotifications(Ze)}getChangedAlerts(n,d){return gn().differenceWith(n,d,gn().isEqual).concat(this.getVanishedAlerts(n,d))}getVanishedAlerts(n,d){return gn().differenceWith(d,n,(w,re)=>w.fingerprint===re.fingerprint).map(w=>(w.status="resolved",w))}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(Vc),e.LFG(bu))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),Np=(()=>{class f extends mi.o{constructor(n){super(),this.prometheusService=n,this.isPrometheusConfigured=!1,this.isAlertmanagerConfigured=!1}ngOnInit(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.isAlertmanagerConfigured=!0}),this.prometheusService.ifPrometheusConfigured(()=>{this.isPrometheusConfigured=!0})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(bu))},f.\u0275dir=e.lG2({type:f,features:[e.qOj]}),f})(),Yu=(()=>{class f{constructor(n){this.router=n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-prometheus-tabs"]],decls:11,vars:1,consts:function(){let y,n,d;return y="Active Alerts",n="Alerts",d="Silences",[["ngbNav","",1,"nav-tabs",3,"activeId","navChange"],["nav","ngbNav"],["ngbNavItem","/monitoring/active-alerts"],["ngbNavLink",""],y,["ngbNavItem","/monitoring/alerts"],n,["ngbNavItem","/monitoring/silences"],d]},template:function(n,d){1&n&&(e.TgZ(0,"ul",0,1),e.NdJ("navChange",function(re){return d.router.navigate([re.nextId])}),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"li",5),e.TgZ(6,"a",3),e.SDv(7,6),e.qZA(),e.qZA(),e.TgZ(8,"li",7),e.TgZ(9,"a",3),e.SDv(10,8),e.qZA(),e.qZA(),e.qZA()),2&n&&e.Q6J("activeId",d.router.url)},directives:[Br.Pz,Br.nv,Br.Vx],styles:[""]}),f})();const k_=["externalLinkTpl"];function Pp(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",3),e.tHW(1,4),e._UZ(2,"cd-doc",5),e.N_p(),e.qZA())}function Ip(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",9),2&f){const n=e.oxw(2);e.Q6J("renderObjects",!0)("hideEmpty",!0)("appendParentKey",!1)("data",n.expandedRow)("customCss",n.customCss)("autoReload",!1)}}function Lp(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",6),e.NdJ("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e._UZ(1,"cd-table-actions",7),e.YNc(2,Ip,1,6,"cd-table-key-value",8),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.prometheusAlertService.alerts)("columns",n.columns)("forceIdentifier",!0)("customCss",n.customCss)("hasDetails",!0),e.xp6(1),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("ngIf",n.expandedRow)}}const Fp=function(f){return[f]};function kp(f,y){if(1&f&&(e.TgZ(0,"a",10),e._UZ(1,"i",11),e._uU(2," Source"),e.qZA()),2&f){const n=y.value,d=e.oxw();e.Q6J("href",n,e.LSH),e.xp6(1),e.Q6J("ngClass",e.VKq(2,Fp,d.icons.lineChart))}}let Hp=(()=>{class f extends Np{constructor(n,d,w,re,Ze){super(Ze),this.authStorageService=n,this.prometheusAlertService=d,this.urlBuilder=w,this.cdDatePipe=re,this.selection=new si.r,this.icons=Ki.P,this.customCss={"badge badge-danger":"active","badge badge-warning":"unprocessed","badge badge-info":"suppressed"},this.permission=this.authStorageService.getPermissions().prometheus,this.tableActions=[{permission:"create",canBePrimary:Lt=>Lt.hasSingleSelection,disable:Lt=>!Lt.hasSingleSelection||Lt.first().cdExecuting,icon:Ki.P.add,routerLink:()=>"/monitoring"+this.urlBuilder.getCreateFrom(this.selection.first().fingerprint),name:"Create Silence"}]}ngOnInit(){super.ngOnInit(),this.columns=[{name:"Name",prop:"labels.alertname",flexGrow:2},{name:"Job",prop:"labels.job",flexGrow:2},{name:"Severity",prop:"labels.severity"},{name:"State",prop:"status.state",cellTransformation:ni.e.classAdding},{name:"Started",prop:"startsAt",pipe:this.cdDatePipe},{name:"URL",prop:"generatorURL",sortable:!1,cellTemplate:this.externalLinkTpl}]}updateSelection(n){this.selection=n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(bd),e.Y36(cl.F),e.Y36(bi.N),e.Y36(bu))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-active-alert-list"]],viewQuery:function(n,d){if(1&n&&e.Gf(k_,7),2&n){let w;e.iGM(w=e.CRH())&&(d.externalLinkTpl=w.first)}},features:[e._Bn([{provide:cl.F,useValue:new cl.F("silences")}]),e.qOj],decls:5,vars:2,consts:function(){let y;return y="To see all active Prometheus alerts, please provide the URL to the API of Prometheus' Alertmanager as described in the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + ".",[["type","info",4,"ngIf"],["identifier","fingerprint","selectionType","single",3,"data","columns","forceIdentifier","customCss","hasDetails","setExpandedRow","updateSelection",4,"ngIf"],["externalLinkTpl",""],["type","info"],y,["section","prometheus"],["identifier","fingerprint","selectionType","single",3,"data","columns","forceIdentifier","customCss","hasDetails","setExpandedRow","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"renderObjects","hideEmpty","appendParentKey","data","customCss","autoReload",4,"ngIf"],["cdTableDetail","",3,"renderObjects","hideEmpty","appendParentKey","data","customCss","autoReload"],["target","_blank",3,"href"],[3,"ngClass"]]},template:function(n,d){1&n&&(e._UZ(0,"cd-prometheus-tabs"),e.YNc(1,Pp,3,0,"cd-alert-panel",0),e.YNc(2,Lp,3,9,"cd-table",1),e.YNc(3,kp,3,4,"ng-template",null,2,e.W1O)),2&n&&(e.xp6(1),e.Q6J("ngIf",!d.isAlertmanagerConfigured),e.xp6(1),e.Q6J("ngIf",d.isAlertmanagerConfigured))},directives:[Yu,s.O5,ze.G,Go.K,Ui.a,ha.K,Ft.b,s.mk],styles:[""]}),f})();var vp=o(94088);function Up(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",2),e.tHW(1,3),e._UZ(2,"cd-doc",4),e.N_p(),e.qZA())}function Hg(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",7),2&f){const n=e.oxw(2);e.Q6J("data",n.expandedRow)("renderObjects",!0)("hideKeys",n.hideKeys)}}function Ug(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",5),e.NdJ("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e.YNc(1,Hg,1,3,"cd-table-key-value",6),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.prometheusAlertService.rules)("columns",n.columns)("selectionType","single")("hasDetails",!0),e.xp6(1),e.Q6J("ngIf",n.expandedRow)}}let jg=(()=>{class f extends Np{constructor(n,d){super(d),this.prometheusAlertService=n,this.hideKeys=["alerts","type"]}ngOnInit(){super.ngOnInit(),this.columns=[{prop:"name",name:"Name"},{prop:"labels.severity",name:"Severity"},{prop:"group",name:"Group"},{prop:"duration",name:"Duration",pipe:new vp.u},{prop:"query",name:"Query",isHidden:!0},{prop:"annotations.description",name:"Description"}]}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(bd),e.Y36(bu))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-rules-list"]],features:[e.qOj],decls:3,vars:2,consts:function(){let y;return y="To see all configured Prometheus alerts, please provide the URL to the API of Prometheus as described in the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + ".",[["type","info",4,"ngIf"],[3,"data","columns","selectionType","hasDetails","setExpandedRow","updateSelection",4,"ngIf"],["type","info"],y,["section","prometheus"],[3,"data","columns","selectionType","hasDetails","setExpandedRow","updateSelection"],["cdTableDetail","",3,"data","renderObjects","hideKeys",4,"ngIf"],["cdTableDetail","",3,"data","renderObjects","hideKeys"]]},template:function(n,d){1&n&&(e._UZ(0,"cd-prometheus-tabs"),e.YNc(1,Up,3,0,"cd-alert-panel",0),e.YNc(2,Ug,2,5,"cd-table",1)),2&n&&(e.xp6(1),e.Q6J("ngIf",!d.isPrometheusConfigured),e.xp6(1),e.Q6J("ngIf",d.isPrometheusConfigured))},directives:[Yu,s.O5,ze.G,Go.K,Ui.a,Ft.b],styles:[""]}),f})();var jh=o(26504);let $_=(()=>{class f{constructor(){this.valueAttributePath={alertname:"name",instance:"alerts.0.labels.instance",job:"alerts.0.labels.job",severity:"labels.severity"}}singleMatch(n,d){return this.multiMatch([n],d)}multiMatch(n,d){if(!n.some(w=>w.isRegex))return n.forEach(w=>{d=this.getMatchedRules(w,d)}),this.describeMatch(d)}getMatchedRules(n,d){const w=this.getAttributePath(n.name);return d.filter(re=>gn().get(re,w)===n.value)}describeMatch(n){let d=0;return n.forEach(w=>d+=w.alerts.length),{status:this.getMatchText(n.length,d),cssClass:d?"has-success":"has-warning"}}getAttributePath(n){return this.valueAttributePath[n]}getMatchText(n,d){const w={noRule:"Your matcher seems to match no currently defined rule or active alert.",noAlerts:"no active alerts",alert:"1 active alert",alerts:"" + d + " active alerts",rule:"Matches 1 rule",rules:"Matches " + n + " rules"};return n?"" + (n > 1 ? w.rules : w.rule) + " with " + (d ? d > 1 ? w.alerts : w.alert : w.noAlerts) + ".":w.noRule}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),Bg=(()=>{class f{calculateDuration(n,d){const w=+n,re=+d,Ze=this.getDuration(Math.abs(w-re));return w>re?"-"+Ze:Ze}getDuration(n){const d=new Date(n),w=d.getUTCHours(),re=d.getUTCMinutes(),Lt=(Gt,On)=>Gt&&Gt+On;return[Lt(Math.floor(n/864e5),"d"),Lt(w,"h"),Lt(re,"m")].filter(Gt=>Gt).join(" ")}calculateDate(n,d,w){const re=+n;if(gn().isNaN(re))return;const Ze=this.getDurationMs(d)*(w?-1:1);return new Date(re+Ze)}getDurationMs(n){return 6e4*(60*(24*this.getNumbersFromString(n,"d")+this.getNumbersFromString(n,"h"))+this.getNumbersFromString(n,"m"))}getNumbersFromString(n,d){const w=n.match(new RegExp(`[0-9 ]+${d}`,"i"));return w?parseInt(w[0],10):0}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function Yg(f,y){if(1&f&&(e.TgZ(0,"option",27),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.hij(" ",n," ")}}function Zg(f,y){1&f&&(e.TgZ(0,"span",28),e.SDv(1,29),e.qZA())}function Vg(f,y){1&f&&(e.TgZ(0,"span",28),e.SDv(1,30),e.qZA())}function O(f,y){if(1&f&&(e.TgZ(0,"div",31),e.TgZ(1,"span"),e._uU(2),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.Gre("cd-col-form-offset ",n.matcherMatch.cssClass,""),e.xp6(1),e.Gre("text-muted ",n.matcherMatch.cssClass,""),e.xp6(1),e.hij(" ",n.matcherMatch.status," ")}}let Y=(()=>{class f{constructor(n,d,w,re){this.formBuilder=n,this.silenceMatcher=d,this.activeModal=w,this.actionLabels=re,this.submitAction=new e.vpe,this.editMode=!1,this.nameAttributes=["alertname","instance","job","severity"],this.possibleValues=[],this.matcherMatch=void 0,this.valueClick=new tc.xQ,this.valueFocus=new tc.xQ,this.search=Ze=>(0,_d.T)(Ze.pipe(gd(200),(0,gf.x)()),this.valueFocus,this.valueClick.pipe((0,Au.h)(()=>!this.typeahead.isPopupOpen()))).pipe((0,Rs.U)(Lt=>(""===Lt?this.possibleValues:this.possibleValues.filter(Gt=>Gt.toLowerCase().indexOf(Lt.toLowerCase())>-1)).slice(0,10))),this.createForm(),this.subscribeToChanges()}createForm(){this.form=this.formBuilder.group({name:[null,[Hn.kI.required]],value:[{value:"",disabled:!0},[Hn.kI.required]],isRegex:new Hn.NI(!1)})}subscribeToChanges(){this.form.get("name").valueChanges.subscribe(n=>{null!==n?(this.setPossibleValues(n),this.form.get("value").enable()):this.form.get("value").disable()}),this.form.get("value").valueChanges.subscribe(n=>{const d=this.form.value;d.value=n,this.matcherMatch=this.silenceMatcher.singleMatch(d,this.rules)})}setPossibleValues(n){this.possibleValues=gn().sortedUniq(this.rules.map(d=>gn().get(d,this.silenceMatcher.getAttributePath(n))).filter(d=>d))}getMode(){return this.editMode?this.actionLabels.EDIT:this.actionLabels.ADD}preFillControls(n){this.form.setValue(n)}onSubmit(){this.submitAction.emit(this.form.value),this.activeModal.close()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uc.O),e.Y36($_),e.Y36(Br.Kz),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-silence-matcher-modal"]],viewQuery:function(n,d){if(1&n&&e.Gf(Br.dR,7),2&n){let w;e.iGM(w=e.CRH())&&(d.typeahead=w.first)}},outputs:{submitAction:"submitAction"},decls:31,vars:11,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="{VAR_SELECT, select, true {Edit} other {Add}}",y=e.Zx4(y,{VAR_SELECT:"\ufffd0\ufffd"}),n="" + y + " Matcher",d="Name",w="-- Select an attribute to match against --",re="Value",Ze="Use regular expression",Lt="This field is required!",Gt="This field is required!",[[3,"modalRef"],[1,"modal-title"],n,[1,"modal-content"],["novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label","required"],d,[1,"cd-col-form-input"],["id","name","formControlName","name","name","name",1,"form-control"],[3,"ngValue"],w,[3,"value",4,"ngFor","ngForOf"],["class","help-block",4,"ngIf"],["for","value",1,"cd-col-form-label","required"],re,["id","value","container","body","type","text","formControlName","value",1,"form-control",3,"ngbTypeahead","focus","click"],["id","match-state",3,"class",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","formControlName","isRegex","name","is-regex","id","is-regex",1,"custom-control-input"],["for","is-regex",1,"custom-control-label"],Ze,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[3,"value"],[1,"help-block"],Lt,Gt,["id","match-state"]]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.qZA(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"div",7),e.TgZ(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e.TgZ(11,"select",11),e.TgZ(12,"option",12),e.SDv(13,13),e.qZA(),e.YNc(14,Yg,2,2,"option",14),e.qZA(),e.YNc(15,Zg,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(16,"div",7),e.TgZ(17,"label",16),e.SDv(18,17),e.qZA(),e.TgZ(19,"div",10),e.TgZ(20,"input",18),e.NdJ("focus",function(re){return d.valueFocus.next(re.target.value)})("click",function(re){return d.valueClick.next(re.target.value)}),e.qZA(),e.YNc(21,Vg,2,0,"span",15),e.qZA(),e.YNc(22,O,3,7,"div",19),e.qZA(),e.TgZ(23,"div",7),e.TgZ(24,"div",20),e.TgZ(25,"div",21),e._UZ(26,"input",22),e.TgZ(27,"label",23),e.SDv(28,24),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(29,"div",25),e.TgZ(30,"cd-form-button-panel",26),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n){const w=e.MAs(5);e.Q6J("modalRef",d.activeModal),e.xp6(2),e.pQV(d.editMode),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.form),e.xp6(8),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",d.nameAttributes),e.xp6(1),e.Q6J("ngIf",d.form.showError("name",w,"required")),e.xp6(5),e.Q6J("ngbTypeahead",d.search),e.xp6(1),e.Q6J("ngIf",d.form.showError("value",w,"required")),e.xp6(1),e.Q6J("ngIf",d.form.getValue("value")&&!d.form.getValue("isRegex")&&d.matcherMatch),e.xp6(8),e.Q6J("form",d.form)("submitText",d.getMode())}},directives:[il.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,kn.P,Ds.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,Hn.YN,Hn.Kr,s.sg,s.O5,Hn.Fj,Br.dR,Hn.Wl,jr.p],styles:[""]}),f})();var _e=o(52266);function gt(f,y){if(1&f&&(e.ynx(0),e._UZ(1,"input",53),e.BQk()),2&f){const n=e.oxw().$implicit,d=e.oxw(),w=d.index,re=d.matcher;e.xp6(1),e.hYB("id","matcher-",n.attribute,"-",w,""),e.Q6J("value",re[n.attribute])}}function un(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",47),e.TgZ(2,"div",54),e._UZ(3,"input",55),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw().$implicit,d=e.oxw(),w=d.index,re=d.matcher;e.xp6(3),e.hYB("id","matcher-",n.attribute,"-",w,""),e.Q6J("checked",re[n.attribute])}}const Zn=function(f){return[f]};function gr(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",51),e.TgZ(2,"span",52),e._UZ(3,"i",38),e.qZA(),e.qZA(),e.YNc(4,gt,2,3,"ng-container",7),e.YNc(5,un,4,3,"ng-container",7),e.BQk()),2&f){const n=y.$implicit;e.xp6(2),e.Q6J("ngbTooltip",n.tooltip),e.xp6(1),e.Q6J("ngClass",e.VKq(4,Zn,n.icon)),e.xp6(1),e.Q6J("ngIf","isRegex"!==n.attribute),e.xp6(1),e.Q6J("ngIf","isRegex"===n.attribute)}}function Lr(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",46),e.YNc(1,gr,6,6,"ng-container",34),e.TgZ(2,"span",47),e.TgZ(3,"button",48),e.NdJ("click",function(){const re=e.CHM(n).index;return e.oxw().showMatcherModal(re)}),e._UZ(4,"i",38),e.qZA(),e.TgZ(5,"button",49),e.NdJ("click",function(){const re=e.CHM(n).index;return e.oxw().deleteMatcher(re)}),e._UZ(6,"i",38),e.qZA(),e.qZA(),e.qZA(),e._UZ(7,"span",50)}if(2&f){const n=y.index,d=e.oxw();e.xp6(1),e.Q6J("ngForOf",d.matcherConfig),e.xp6(2),e.MGl("id","matcher-edit-",n,""),e.xp6(1),e.Q6J("ngClass",e.VKq(5,Zn,d.icons.edit)),e.xp6(1),e.MGl("id","matcher-delete-",n,""),e.xp6(1),e.Q6J("ngClass",e.VKq(7,Zn,d.icons.trash))}}function Qr(f,y){1&f&&(e.TgZ(0,"cd-helper"),e.SDv(1,56),e.qZA())}function Ji(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,58),e.qZA())}function Qi(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,59),e.qZA())}function lo(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,60),e.qZA())}function Xo(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,61),e.qZA())}function Os(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,62),e.qZA())}const Qs=function(f,y){return{"text-warning":f,"text-danger":y}};function La(f,y){if(1&f&&(e.TgZ(0,"h5",38),e.TgZ(1,"strong"),e.SDv(2,63),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(4);e.Q6J("ngClass",e.WLB(1,Qs,!n.submitted,n.submitted))}}function ta(f,y){1&f&&e.GkF(0)}const el=function(f,y){return{index:f,matcher:y}};function pl(f,y){if(1&f&&(e.TgZ(0,"span"),e.YNc(1,ta,1,0,"ng-container",64),e.qZA()),2&f){const n=y.$implicit,d=y.index;e.oxw();const w=e.MAs(1);e.xp6(1),e.Q6J("ngTemplateOutlet",w)("ngTemplateOutletContext",e.WLB(2,el,d,n))}}function td(f,y){if(1&f&&(e.TgZ(0,"div",65),e.TgZ(1,"span"),e._uU(2),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.Gre("cd-col-form-offset ",n.matcherMatch.cssClass,""),e.xp6(1),e.Gre("text-muted ",n.matcherMatch.cssClass,""),e.xp6(1),e.hij(" ",n.matcherMatch.status," ")}}function Zu(f,y){if(1&f&&e._UZ(0,"cd-date-time-picker",66),2&f){const n=e.oxw();e.Q6J("control",n.form.get("startsAt"))("hasSeconds",!1)}}function nd(f,y){if(1&f&&e._UZ(0,"cd-date-time-picker",66),2&f){const n=e.oxw();e.Q6J("control",n.form.get("endsAt"))("hasSeconds",!1)}}const Dc=function(f){return{"btn-warning":f}};let Eu=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri){this.router=n,this.authStorageService=d,this.formBuilder=w,this.prometheusService=re,this.notificationService=Ze,this.route=Lt,this.timeDiff=Gt,this.modalService=On,this.silenceMatcher=pr,this.actionLabels=fr,this.succeededLabels=ri,this.icons=Ki.P,this.recreate=!1,this.edit=!1,this.resource="silence",this.matchers=[],this.matcherMatch=void 0,this.matcherConfig=[{tooltip:"Attribute name",icon:this.icons.paragraph,attribute:"name"},{tooltip:"Value",icon:this.icons.terminal,attribute:"value"},{tooltip:"Regular expression",icon:this.icons.magic,attribute:"isRegex"}],this.datetimeFormat="YYYY-MM-DD HH:mm",this.init()}init(){this.chooseMode(),this.authenticate(),this.createForm(),this.setupDates(),this.getData()}chooseMode(){this.edit=this.router.url.startsWith("/monitoring/silences/edit"),this.recreate=this.router.url.startsWith("/monitoring/silences/recreate"),this.action=this.edit?this.actionLabels.EDIT:this.recreate?this.actionLabels.RECREATE:this.actionLabels.CREATE}authenticate(){if(this.permission=this.authStorageService.getPermissions().prometheus,!this.permission.read||!(this.edit?this.permission.update:this.permission.create))throw new jh._2}createForm(){const n=vo.h.custom("format",d=>!(""===d||In()(d,this.datetimeFormat).isValid()));this.form=this.formBuilder.group({startsAt:["",[Hn.kI.required,n]],duration:["2h",[Hn.kI.min(1)]],endsAt:["",[Hn.kI.required,n]],createdBy:[this.authStorageService.getUsername(),[Hn.kI.required]],comment:[null,[Hn.kI.required]]},{validators:vo.h.custom("matcherRequired",()=>0===this.matchers.length)})}setupDates(){const n=In()().format(this.datetimeFormat);this.form.silentSet("startsAt",n),this.updateDate(),this.subscribeDateChanges()}updateDate(n){const d=In()(this.form.getValue(n?"endsAt":"startsAt"),this.datetimeFormat).toDate(),w=this.timeDiff.calculateDate(d,this.form.getValue("duration"),n);if(w){const re=In()(w).format(this.datetimeFormat);this.form.silentSet(n?"startsAt":"endsAt",re)}}subscribeDateChanges(){this.form.get("startsAt").valueChanges.subscribe(()=>{this.onDateChange()}),this.form.get("duration").valueChanges.subscribe(()=>{this.updateDate()}),this.form.get("endsAt").valueChanges.subscribe(()=>{this.onDateChange(!0)})}onDateChange(n){const d=In()(this.form.getValue("startsAt"),this.datetimeFormat),w=In()(this.form.getValue("endsAt"),this.datetimeFormat);d.isBefore(w)?this.updateDuration():this.updateDate(n)}updateDuration(){const n=In()(this.form.getValue("startsAt"),this.datetimeFormat).toDate(),d=In()(this.form.getValue("endsAt"),this.datetimeFormat).toDate();this.form.silentSet("duration",this.timeDiff.calculateDuration(n,d))}getData(){this.getRules(),this.getModeSpecificData()}getRules(){this.prometheusService.ifPrometheusConfigured(()=>this.prometheusService.getRules().subscribe(n=>{this.rules=n.groups.reduce((d,w)=>gn().concat(d,w.rules),[])},()=>{this.prometheusService.disablePrometheusConfig(),this.rules=[]}),()=>{this.rules=[],this.notificationService.show(Ho.k.info,"Please add your Prometheus host to the dashboard configuration and refresh the page",void 0,void 0,"Prometheus")})}getModeSpecificData(){this.route.params.subscribe(n=>{!n.id||(this.edit||this.recreate?this.prometheusService.getSilences(n).subscribe(d=>{this.fillFormWithSilence(d[0])}):this.prometheusService.getAlerts(n).subscribe(d=>{this.fillFormByAlert(d[0])}))})}fillFormWithSilence(n){this.id=n.id,this.edit&&(["startsAt","endsAt"].forEach(d=>this.form.silentSet(d,In()(n[d]).format(this.datetimeFormat))),this.updateDuration()),["createdBy","comment"].forEach(d=>this.form.silentSet(d,n[d])),this.matchers=n.matchers,this.validateMatchers()}validateMatchers(){this.rules?(this.matcherMatch=this.silenceMatcher.multiMatch(this.matchers,this.rules),this.form.markAsDirty(),this.form.updateValueAndValidity()):window.setTimeout(()=>this.validateMatchers(),100)}fillFormByAlert(n){const d=n.labels;Object.keys(d).forEach(w=>this.setMatcher({name:w,value:d[w],isRegex:!1}))}setMatcher(n,d){gn().isNumber(d)?this.matchers[d]=n:this.matchers.push(n),this.validateMatchers()}showMatcherModal(n){const w=this.modalService.show(Y).componentInstance;w.rules=this.rules,gn().isNumber(n)&&(w.editMode=!0,w.preFillControls(this.matchers[n])),w.submitAction.subscribe(re=>{this.setMatcher(re,n)})}deleteMatcher(n){this.matchers.splice(n,1),this.validateMatchers()}submit(){this.form.invalid||this.prometheusService.setSilence(this.getSubmitData()).subscribe(n=>{this.router.navigate(["/monitoring/silences"]),this.notificationService.show(Ho.k.success,this.getNotificationTile(n.body.silenceId),void 0,void 0,"Prometheus")},()=>this.form.setErrors({cdSubmitButton:!0}))}getSubmitData(){const n=this.form.value;return delete n.duration,n.startsAt=In()(n.startsAt,this.datetimeFormat).toISOString(),n.endsAt=In()(n.endsAt,this.datetimeFormat).toISOString(),n.matchers=this.matchers,this.edit&&(n.id=this.id),n}getNotificationTile(n){let d;return d=this.edit?this.succeededLabels.EDITED:this.recreate?this.succeededLabels.RECREATED:this.succeededLabels.CREATED,`${d} ${this.resource} ${n}`}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(hi.j),e.Y36(uc.O),e.Y36(bu),e.Y36(Yi.g),e.Y36(tn.gz),e.Y36(Bg),e.Y36(na.Z),e.Y36($_),e.Y36(uo.p4),e.Y36(uo.aX))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-prometheus-form"]],decls:71,vars:30,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co,zo,Bs,gs;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Creator",d="Comment",w="Start time",re="If the start time lies in the past the creation time will be used",Ze="Duration",Lt="End time",Gt="Matchers",On="Add matcher",pr="Edit",fr="Delete",ri="Editing a silence will expire the old silence and recreate it as a new silence",Ii="This field is required!",go="This field is required!",co="This field is required!",zo="This field is required!",Bs="This field is required!",gs="A silence requires at least one matcher",[["matcherTpl",""],[1,"cd-col-form"],["name","form","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],y,[4,"ngIf"],[1,"card-body"],[1,"form-group","row"],["for","created-by",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],["formControlName","createdBy","id","created-by","name","created-by","type","text",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","comment",1,"cd-col-form-label","required"],d,["formControlName","comment","id","comment","name","comment","type","text",1,"form-control"],["for","starts-at",1,"cd-col-form-label"],[1,"required"],w,re,["formControlName","startsAt","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["ps","ngbPopover"],["for","duration",1,"cd-col-form-label","required"],Ze,["formControlName","duration","id","duration","name","duration","type","text",1,"form-control"],["for","ends-at",1,"cd-col-form-label","required"],Lt,["formControlName","endsAt","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["pe","ngbPopover"],Gt,[1,"cd-col-form-offset"],[3,"ngClass",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"row"],[1,"col-12"],["type","button","id","add-matcher",1,"btn","btn-light","float-right","my-3",3,"ngClass","click"],[3,"ngClass"],On,["id","match-state",3,"class",4,"ngIf"],[1,"card-footer"],[1,"text-right"],[3,"form","submitText","submitActionEvent"],["popStart",""],["popEnd",""],[1,"input-group","my-2"],[1,"input-group-append"],["type","button","ngbTooltip",pr,1,"btn","btn-light",3,"id","click"],["type","button","ngbTooltip",fr,1,"btn","btn-light",3,"id","click"],[1,"help-block"],[1,"input-group-prepend"],[1,"input-group-text",3,"ngbTooltip"],["type","text","disabled","","readonly","",1,"form-control",3,"id","value"],[1,"input-group-text"],["type","checkbox","disabled","","readonly","",3,"id","checked"],ri,[1,"invalid-feedback"],Ii,go,co,zo,Bs,gs,[4,"ngTemplateOutlet","ngTemplateOutletContext"],["id","match-state"],[3,"control","hasSeconds"]]},template:function(n,d){if(1&n){const w=e.EpF();e.YNc(0,Lr,8,9,"ng-template",null,0,e.W1O),e.TgZ(2,"div",1),e.TgZ(3,"form",2,3),e.TgZ(5,"div",4),e.TgZ(6,"div",5),e.TgZ(7,"span"),e.SDv(8,6),e.ALo(9,"titlecase"),e.ALo(10,"upperFirst"),e.qZA(),e.YNc(11,Qr,2,0,"cd-helper",7),e.qZA(),e.TgZ(12,"div",8),e.TgZ(13,"div",9),e.TgZ(14,"label",10),e.SDv(15,11),e.qZA(),e.TgZ(16,"div",12),e._UZ(17,"input",13),e.YNc(18,Ji,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(19,"div",9),e.TgZ(20,"label",15),e.SDv(21,16),e.qZA(),e.TgZ(22,"div",12),e.TgZ(23,"textarea",17),e._uU(24," "),e.qZA(),e.YNc(25,Qi,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(26,"div",9),e.TgZ(27,"label",18),e.TgZ(28,"span",19),e.SDv(29,20),e.qZA(),e.TgZ(30,"cd-helper"),e.SDv(31,21),e.qZA(),e.qZA(),e.TgZ(32,"div",12),e.TgZ(33,"input",22,23),e.NdJ("click",function(){return e.CHM(w),e.MAs(34).open()})("keypress",function(){return e.CHM(w),e.MAs(34).close()}),e.qZA(),e.YNc(35,lo,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(36,"div",9),e.TgZ(37,"label",24),e.SDv(38,25),e.qZA(),e.TgZ(39,"div",12),e._UZ(40,"input",26),e.YNc(41,Xo,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(42,"div",9),e.TgZ(43,"label",27),e.SDv(44,28),e.qZA(),e.TgZ(45,"div",12),e.TgZ(46,"input",29,30),e.NdJ("click",function(){return e.CHM(w),e.MAs(47).open()})("keypress",function(){return e.CHM(w),e.MAs(47).close()}),e.qZA(),e.YNc(48,Os,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(49,"fieldset"),e.TgZ(50,"legend",19),e.SDv(51,31),e.qZA(),e.TgZ(52,"div",32),e.YNc(53,La,3,4,"h5",33),e.YNc(54,pl,2,5,"span",34),e.TgZ(55,"div",35),e.TgZ(56,"div",36),e.TgZ(57,"button",37),e.NdJ("click",function(){return d.showMatcherModal()}),e._UZ(58,"i",38),e.ynx(59),e.SDv(60,39),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(61,td,3,7,"div",40),e.qZA(),e.qZA(),e.TgZ(62,"div",41),e.TgZ(63,"div",42),e.TgZ(64,"cd-form-button-panel",43),e.NdJ("submitActionEvent",function(){return d.submit()}),e.ALo(65,"titlecase"),e.ALo(66,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(67,Zu,1,2,"ng-template",null,44,e.W1O),e.YNc(69,nd,1,2,"ng-template",null,45,e.W1O)}if(2&n){const w=e.MAs(4),re=e.MAs(68),Ze=e.MAs(70);e.xp6(3),e.Q6J("formGroup",d.form),e.xp6(7),e.pQV(e.lcZ(9,18,d.action))(e.lcZ(10,20,d.resource)),e.QtT(8),e.xp6(1),e.Q6J("ngIf",d.edit),e.xp6(7),e.Q6J("ngIf",d.form.showError("createdBy",w,"required")),e.xp6(7),e.Q6J("ngIf",d.form.showError("comment",w,"required")),e.xp6(8),e.Q6J("ngbPopover",re),e.xp6(2),e.Q6J("ngIf",d.form.showError("startsAt",w,"required")),e.xp6(6),e.Q6J("ngIf",d.form.showError("duration",w,"required")),e.xp6(5),e.Q6J("ngbPopover",Ze),e.xp6(2),e.Q6J("ngIf",d.form.showError("endsAt",w,"required")),e.xp6(5),e.Q6J("ngIf",0===d.matchers.length),e.xp6(1),e.Q6J("ngForOf",d.matchers),e.xp6(3),e.Q6J("ngClass",e.VKq(26,Dc,w.submitted&&0===d.matchers.length)),e.xp6(1),e.Q6J("ngClass",e.VKq(28,Zn,d.icons.add)),e.xp6(3),e.Q6J("ngIf",d.matchers.length&&d.matcherMatch),e.xp6(3),e.Q6J("form",d.form)("submitText",e.lcZ(65,22,d.action)+" "+e.lcZ(66,24,d.resource))}},directives:[Hn._Y,Hn.JL,Gn.V,Hn.sg,s.O5,kn.P,Ds.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,ul.S,Br.o8,s.sg,s.mk,jr.p,Br._L,s.tP,_e.J],pipes:[s.rS,p.m],styles:["textarea[_ngcontent-%COMP%]{resize:vertical}"]}),f})();var Id=o(84051),Bh=o(18891);function fC(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",2),e.tHW(1,3),e._UZ(2,"cd-doc",4),e.N_p(),e.qZA())}function pC(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",8),2&f){const n=e.oxw(2);e.Q6J("renderObjects",!0)("hideEmpty",!0)("appendParentKey",!1)("data",n.expandedRow)("customCss",n.customCss)("autoReload",!1)}}function hC(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",5),e.NdJ("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("fetchData",function(){return e.CHM(n),e.oxw().refresh()})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e._UZ(1,"cd-table-actions",6),e.YNc(2,pC,1,6,"cd-table-key-value",7),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.silences)("columns",n.columns)("forceIdentifier",!0)("customCss",n.customCss)("sorts",n.sorts)("hasDetails",!0),e.xp6(1),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("ngIf",n.expandedRow)}}let Rv=(()=>{class f extends Np{constructor(n,d,w,re,Ze,Lt,Gt,On){super(On),this.authStorageService=n,this.cdDatePipe=d,this.modalService=w,this.notificationService=re,this.urlBuilder=Ze,this.actionLabels=Lt,this.succeededLabels=Gt,this.silences=[],this.selection=new si.r,this.customCss={"badge badge-danger":"active","badge badge-warning":"pending","badge badge-default":"expired"},this.sorts=[{prop:"endsAt",dir:Id.Sr.desc}],this.permission=this.authStorageService.getPermissions().prometheus;const pr=fr=>fr.first()&&fr.first().status&&"expired"===fr.first().status.state;this.tableActions=[{permission:"create",icon:Ki.P.add,routerLink:()=>this.urlBuilder.getCreate(),canBePrimary:fr=>!fr.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"create",canBePrimary:fr=>fr.hasSingleSelection&&pr(fr),disable:fr=>!fr.hasSingleSelection||fr.first().cdExecuting||fr.first().cdExecuting&&pr(fr)||!pr(fr),icon:Ki.P.copy,routerLink:()=>this.urlBuilder.getRecreate(this.selection.first().id),name:this.actionLabels.RECREATE},{permission:"update",icon:Ki.P.edit,canBePrimary:fr=>fr.hasSingleSelection&&!pr(fr),disable:fr=>!fr.hasSingleSelection||fr.first().cdExecuting||fr.first().cdExecuting&&!pr(fr)||pr(fr),routerLink:()=>this.urlBuilder.getEdit(this.selection.first().id),name:this.actionLabels.EDIT},{permission:"delete",icon:Ki.P.trash,canBePrimary:fr=>fr.hasSingleSelection&&!pr(fr),disable:fr=>!fr.hasSingleSelection||fr.first().cdExecuting||pr(fr),click:()=>this.expireSilence(),name:this.actionLabels.EXPIRE}],this.columns=[{name:"ID",prop:"id",flexGrow:3},{name:"Created by",prop:"createdBy",flexGrow:2},{name:"Started",prop:"startsAt",pipe:this.cdDatePipe},{name:"Updated",prop:"updatedAt",pipe:this.cdDatePipe},{name:"Ends",prop:"endsAt",pipe:this.cdDatePipe},{name:"Status",prop:"status.state",cellTransformation:ni.e.classAdding}]}refresh(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.prometheusService.getSilences().subscribe(n=>{this.silences=n},()=>{this.prometheusService.disableAlertmanagerConfig()})})}updateSelection(n){this.selection=n}expireSilence(){const n=this.selection.first().id,d="Silence",w="Prometheus";this.modalRef=this.modalService.show(jo.M,{itemDescription:d,itemNames:[n],actionDescription:this.actionLabels.EXPIRE,submitActionObservable:()=>new Bh.y(re=>{this.prometheusService.expireSilence(n).subscribe(()=>{this.notificationService.show(Ho.k.success,`${this.succeededLabels.EXPIRED} ${d} ${n}`,void 0,void 0,w)},Ze=>{Ze.application=w,re.error(Ze)},()=>{re.complete(),this.refresh()})})})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(bi.N),e.Y36(na.Z),e.Y36(Yi.g),e.Y36(cl.F),e.Y36(uo.p4),e.Y36(uo.aX),e.Y36(bu))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-silences-list"]],features:[e._Bn([{provide:cl.F,useValue:new cl.F("monitoring/silences")}]),e.qOj],decls:3,vars:2,consts:function(){let y;return y="To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as described in the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + ".",[["type","info",4,"ngIf"],["selectionType","single",3,"data","columns","forceIdentifier","customCss","sorts","hasDetails","setExpandedRow","fetchData","updateSelection",4,"ngIf"],["type","info"],y,["section","prometheus"],["selectionType","single",3,"data","columns","forceIdentifier","customCss","sorts","hasDetails","setExpandedRow","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"renderObjects","hideEmpty","appendParentKey","data","customCss","autoReload",4,"ngIf"],["cdTableDetail","",3,"renderObjects","hideEmpty","appendParentKey","data","customCss","autoReload"]]},template:function(n,d){1&n&&(e._UZ(0,"cd-prometheus-tabs"),e.YNc(1,fC,3,0,"cd-alert-panel",0),e.YNc(2,hC,3,10,"cd-table",1)),2&n&&(e.xp6(1),e.Q6J("ngIf",!d.isAlertmanagerConfigured),e.xp6(1),e.Q6J("ngIf",d.isAlertmanagerConfigured))},directives:[Yu,s.O5,ze.G,Go.K,Ui.a,ha.K,Ft.b],styles:[""]}),f})(),_C=(()=>{class f{constructor(n){this.http=n,this.url="api/telemetry"}getReport(){return this.http.get(`${this.url}/report`)}enable(n=!0){const d={enable:n};return n&&(d.license_name="sharing-1-0"),this.http.put(`${this.url}`,d)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),s1=(()=>{class f{constructor(){this.visible=!1,this.update=new e.vpe}setVisibility(n){this.visible=n,this.update.emit(n)}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function Yh(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e._uU(1," The plugin is already "),e.TgZ(2,"b"),e._uU(3,"enabled"),e.qZA(),e._uU(4,". Click "),e.TgZ(5,"b"),e._uU(6,"Deactivate"),e.qZA(),e._uU(7," to disable it.\xa0 "),e.TgZ(8,"button",66),e.NdJ("click",function(){return e.CHM(n),e.oxw(3).disableModule("The Telemetry module has been disabled successfully.")}),e.SDv(9,67),e.qZA(),e.qZA()}}function cb(f,y){1&f&&(e.ynx(0),e.TgZ(1,"legend"),e.ynx(2),e.SDv(3,68),e.BQk(),e.TgZ(4,"cd-helper"),e.SDv(5,69),e.qZA(),e.qZA(),e.TgZ(6,"div",15),e.TgZ(7,"label",70),e.SDv(8,71),e.qZA(),e.TgZ(9,"div",24),e._UZ(10,"input",72),e.qZA(),e.qZA(),e.TgZ(11,"div",15),e.TgZ(12,"label",73),e.SDv(13,74),e.qZA(),e.TgZ(14,"div",24),e._UZ(15,"input",75),e.qZA(),e.qZA(),e.TgZ(16,"div",15),e.TgZ(17,"label",76),e.SDv(18,77),e.qZA(),e.TgZ(19,"div",24),e._UZ(20,"input",78),e.qZA(),e.qZA(),e.BQk())}function Nv(f,y){1&f&&(e.TgZ(0,"span",79),e.SDv(1,80),e.qZA())}function ub(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"form",4,5),e.TgZ(3,"div",6),e.TgZ(4,"div",7),e.SDv(5,8),e.qZA(),e.TgZ(6,"div",9),e.TgZ(7,"p"),e.tHW(8,10),e._UZ(9,"br"),e._UZ(10,"a",11),e._UZ(11,"br"),e._UZ(12,"br"),e._UZ(13,"b"),e.N_p(),e.qZA(),e.YNc(14,Yh,10,0,"div",12),e.TgZ(15,"legend"),e.SDv(16,13),e.qZA(),e.TgZ(17,"p"),e.SDv(18,14),e.qZA(),e.TgZ(19,"div",15),e.TgZ(20,"label",16),e.ynx(21),e.SDv(22,17),e.BQk(),e.TgZ(23,"cd-helper"),e.ynx(24),e.SDv(25,18),e.BQk(),e.TgZ(26,"ul"),e.TgZ(27,"li"),e.SDv(28,19),e.qZA(),e.TgZ(29,"li"),e.SDv(30,20),e.qZA(),e.TgZ(31,"li"),e.SDv(32,21),e.qZA(),e.TgZ(33,"li"),e.SDv(34,22),e.qZA(),e.TgZ(35,"li"),e.SDv(36,23),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(37,"div",24),e.TgZ(38,"div",25),e._UZ(39,"input",26),e._UZ(40,"label",27),e.qZA(),e.qZA(),e.qZA(),e.TgZ(41,"div",15),e.TgZ(42,"label",28),e.ynx(43),e.SDv(44,29),e.BQk(),e.TgZ(45,"cd-helper"),e.ynx(46),e.SDv(47,30),e.BQk(),e.TgZ(48,"ul"),e.TgZ(49,"li"),e.SDv(50,31),e.qZA(),e.TgZ(51,"li"),e.SDv(52,32),e.qZA(),e.TgZ(53,"li"),e.SDv(54,33),e.qZA(),e.TgZ(55,"li"),e.SDv(56,34),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(57,"div",24),e.TgZ(58,"div",25),e._UZ(59,"input",35),e._UZ(60,"label",36),e.qZA(),e.qZA(),e.qZA(),e.TgZ(61,"div",15),e.TgZ(62,"label",37),e.ynx(63),e.SDv(64,38),e.BQk(),e._UZ(65,"cd-helper",39),e.qZA(),e.TgZ(66,"div",24),e.TgZ(67,"div",25),e._UZ(68,"input",40),e._UZ(69,"label",41),e.qZA(),e.qZA(),e.qZA(),e.TgZ(70,"div",15),e.TgZ(71,"label",42),e.ynx(72),e.SDv(73,43),e.BQk(),e.TgZ(74,"cd-helper"),e.ynx(75),e.SDv(76,44),e.BQk(),e.TgZ(77,"ul"),e.TgZ(78,"li"),e._uU(79,"Cluster description"),e.qZA(),e.TgZ(80,"li"),e._uU(81,"Contact email address"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(82,"div",24),e.TgZ(83,"div",25),e.TgZ(84,"input",45),e.NdJ("click",function(){return e.CHM(n),e.oxw(2).toggleIdent()}),e.qZA(),e._UZ(85,"label",46),e.qZA(),e.qZA(),e.qZA(),e.TgZ(86,"div",15),e.TgZ(87,"label",47),e.ynx(88),e.SDv(89,48),e.BQk(),e.TgZ(90,"cd-helper"),e.ynx(91),e.SDv(92,49),e.BQk(),e.qZA(),e.qZA(),e.TgZ(93,"div",24),e.TgZ(94,"div",25),e._UZ(95,"input",50),e._UZ(96,"label",51),e.qZA(),e.qZA(),e.qZA(),e.YNc(97,cb,21,0,"ng-container",12),e.TgZ(98,"legend"),e.SDv(99,52),e.qZA(),e.TgZ(100,"div",15),e.TgZ(101,"label",53),e.ynx(102),e.SDv(103,54),e.BQk(),e.TgZ(104,"cd-helper"),e.SDv(105,55),e.qZA(),e.qZA(),e.TgZ(106,"div",24),e._UZ(107,"input",56),e.YNc(108,Nv,2,0,"span",57),e.qZA(),e.qZA(),e.TgZ(109,"div",15),e.TgZ(110,"label",58),e.ynx(111),e.SDv(112,59),e.BQk(),e.TgZ(113,"cd-helper"),e.TgZ(114,"p"),e.SDv(115,60),e.qZA(),e.TgZ(116,"p"),e.SDv(117,61),e.qZA(),e.qZA(),e.qZA(),e.TgZ(118,"div",24),e._UZ(119,"input",62),e.qZA(),e.qZA(),e._UZ(120,"br"),e.TgZ(121,"p"),e.tHW(122,63),e._UZ(123,"b"),e.N_p(),e.qZA(),e.qZA(),e.TgZ(124,"div",64),e.TgZ(125,"div",65),e.TgZ(126,"button",66),e.NdJ("click",function(){return e.CHM(n),e.oxw(2).next()}),e.ynx(127),e._uU(128),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.oxw(2);e.xp6(1),e.Q6J("formGroup",d.configForm),e.xp6(4),e.pQV(d.step),e.QtT(5),e.xp6(8),e.pQV(d.sendToUrl)(d.sendToDeviceUrl),e.QtT(8),e.xp6(1),e.Q6J("ngIf",d.moduleEnabled),e.xp6(83),e.Q6J("ngIf",d.showContactInfo),e.xp6(11),e.Q6J("ngIf",d.configForm.showError("interval",n,"min")),e.xp6(20),e.Oqu(d.actionLabels.NEXT)}}function Pv(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"form",81,82),e.TgZ(3,"div",6),e.TgZ(4,"div",7),e.SDv(5,83),e.qZA(),e.TgZ(6,"div",9),e.TgZ(7,"div",15),e.TgZ(8,"label",84),e.tHW(9,85),e._UZ(10,"cd-helper",86),e.N_p(),e.qZA(),e.TgZ(11,"div",24),e._UZ(12,"input",87),e.qZA(),e.qZA(),e.TgZ(13,"div",15),e.TgZ(14,"label",88),e.tHW(15,89),e.TgZ(16,"cd-helper",90),e._UZ(17,"em"),e.qZA(),e.N_p(),e.qZA(),e.TgZ(18,"div",24),e._UZ(19,"textarea",91),e.qZA(),e.qZA(),e.TgZ(20,"div",15),e.TgZ(21,"div",92),e.TgZ(22,"div",93),e._UZ(23,"cd-download-button",94),e._UZ(24,"cd-copy-2-clipboard-button",95),e.qZA(),e.qZA(),e.qZA(),e.TgZ(25,"div",15),e.TgZ(26,"div",92),e.TgZ(27,"div",25),e._UZ(28,"input",96),e.TgZ(29,"label",97),e.tHW(30,98),e._UZ(31,"a",99),e.N_p(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(32,"div",64),e.TgZ(33,"div",65),e.TgZ(34,"cd-form-button-panel",100),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw(2).onSubmit()})("backActionEvent",function(){return e.CHM(n),e.oxw(2).back()}),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("formGroup",n.previewForm),e.xp6(4),e.pQV(n.step),e.QtT(5),e.xp6(18),e.Q6J("objectItem",n.report),e.xp6(11),e.Q6J("form",n.previewForm)("submitText",n.actionLabels.UPDATE)("cancelText",n.actionLabels.BACK)}}function Gg(f,y){if(1&f&&(e.TgZ(0,"div",1),e.ynx(1,2),e.YNc(2,ub,129,8,"div",3),e.YNc(3,Pv,35,6,"div",3),e.BQk(),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngSwitch",n.step),e.xp6(1),e.Q6J("ngSwitchCase",1),e.xp6(1),e.Q6J("ngSwitchCase",2)}}let db=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt,Gt){super(),this.actionLabels=n,this.formBuilder=d,this.mgrModuleService=w,this.notificationService=re,this.router=Ze,this.telemetryService=Lt,this.telemetryNotificationService=Gt,this.licenseAgrmt=!1,this.options={},this.newConfig={},this.configResp={},this.requiredFields=["channel_basic","channel_crash","channel_device","channel_ident","channel_perf","interval","proxy","contact","description","organization"],this.contactInfofields=["contact","description","organization"],this.report=void 0,this.reportId=void 0,this.sendToUrl="",this.sendToDeviceUrl="",this.step=1}ngOnInit(){const n=[this.mgrModuleService.getOptions("telemetry"),this.mgrModuleService.getConfig("telemetry")];(0,Ws.D)(n).subscribe(d=>{const w=d[1];this.moduleEnabled=w.enabled,this.sendToUrl=w.url,this.sendToDeviceUrl=w.device_url,this.showContactInfo=w.channel_ident,this.options=gn().pick(d[0],this.requiredFields),this.configResp=gn().pick(w,this.requiredFields),this.createConfigForm(),this.configForm.setValue(this.configResp),this.loadingReady()},d=>{this.loadingError()})}createConfigForm(){const n={};gn().forEach(Object.values(this.options),d=>{n[d.name]=[d.default_value,this.getValidators(d)]}),this.configForm=this.formBuilder.group(n)}replacer(n,d){if(("ranges"===n||"values"===n)&&Array.isArray(d)){const w=[];for(let re=0;re<d.length;re++)w.push(JSON.stringify(d[re]));return w}return d}replacerTest(n){return JSON.stringify(n,this.replacer,2)}formatReport(){let n={};n=JSON.parse(JSON.stringify(this.report));const d=["perf_counters","stats_per_pool","stats_per_pg","io_rate","osd_perf_histograms","mempool","heap_stats","rocksdb_stats"];for(let w=0;w<d.length;w++){const re=d[w];re in n.report&&delete n.report[re]}return JSON.stringify(n,null,2)}formatReportTest(n){let d={};d=JSON.parse(JSON.stringify(n));const w=["perf_counters","stats_per_pool","stats_per_pg","io_rate","osd_perf_histograms","mempool","heap_stats","rocksdb_stats"];for(let re=0;re<w.length;re++){const Ze=w[re];Ze in d&&delete d[Ze]}return JSON.stringify(d,null,2)}createPreviewForm(){const n={report:this.formatReport(),reportId:this.reportId,licenseAgrmt:[this.licenseAgrmt,Hn.kI.requiredTrue]};this.previewForm=this.formBuilder.group(n)}getValidators(n){const d=[];switch(n.type){case"int":d.push(Hn.kI.required);break;case"str":gn().isNumber(n.min)&&d.push(Hn.kI.minLength(n.min)),gn().isNumber(n.max)&&d.push(Hn.kI.maxLength(n.max))}return d}updateReportFromConfig(n={}){const d=this.report.report.channels_available,w=[];for(const re of d)n[`channel_${re}`]&&w.push(re);this.report.report.channels=w;for(const re of this.contactInfofields)this.report.report[re]=n[re]}getReport(){this.loadingStart(),this.telemetryService.getReport().subscribe(n=>{this.report=n,this.reportId=n.report.report_id,this.updateReportFromConfig(this.newConfig),this.createPreviewForm(),this.loadingReady(),this.step++},n=>{this.loadingError()})}toggleIdent(){this.showContactInfo=!this.showContactInfo}buildReport(){this.newConfig={};for(const n of Object.values(this.options)){const d=this.configForm.get(n.name);if(!d.valid)return void this.configForm.setErrors({cdSubmitButton:!0});this.newConfig[n.name]=d.value}if(!this.newConfig.channel_ident)for(const n of this.contactInfofields)this.newConfig[n]="";this.getReport()}disableModule(n=null,d=null){this.telemetryService.enable(!1).subscribe(()=>{this.telemetryNotificationService.setVisibility(!0),n&&this.notificationService.show(Ho.k.success,n),d?d():this.router.navigate([""])})}next(){this.buildReport()}back(){this.step--}getChangedConfig(){const n={};return gn().forEach(this.requiredFields,d=>{gn().isEqual(this.configResp[d],this.newConfig[d])||(n[d]=this.newConfig[d])}),n}onSubmit(){const n=this.getChangedConfig(),d=[this.telemetryService.enable(),this.mgrModuleService.updateConfig("telemetry",n)];(0,Ws.D)(d).subscribe(()=>{this.telemetryNotificationService.setVisibility(!1),this.notificationService.show(Ho.k.success,"The Telemetry module has been configured and activated successfully.")},()=>{this.telemetryNotificationService.setVisibility(!1),this.notificationService.show(Ho.k.error,"An Error occurred while updating the Telemetry module configuration. Please Try again"),this.previewForm.setErrors({cdSubmitButton:!0})},()=>{this.newConfig={},this.router.navigate([""])})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(uc.O),e.Y36(Sf),e.Y36(Yi.g),e.Y36(tn.F0),e.Y36(_C),e.Y36(s1))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-telemetry"]],features:[e.qOj],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co,zo,Bs,gs,ks,ma,Tl,va,Wl,Kc,xo,Du,id,Ed,Vu,Rf,np,ls,Ms,hs,$a,oc,Gc,Hc,du,Pl,rp,fu,Td,od,Gu;return y="Step " + "\ufffd0\ufffd" + " of 2: Telemetry report configuration",n="The telemetry module sends anonymous data about this Ceph cluster back to the Ceph developers to help understand how Ceph is used and what problems users may be experiencing." + "[\ufffd#9\ufffd\ufffd/#9\ufffd|\ufffd#11\ufffd\ufffd/#11\ufffd|\ufffd#12\ufffd\ufffd/#12\ufffd]" + " This data is visualized on " + "\ufffd#10\ufffd" + "public dashboards" + "\ufffd/#10\ufffd" + " that allow the community to quickly see summary statistics on how many clusters are reporting, their total capacity and OSD count, and version distribution trends." + "[\ufffd#9\ufffd\ufffd/#9\ufffd|\ufffd#11\ufffd\ufffd/#11\ufffd|\ufffd#12\ufffd\ufffd/#12\ufffd]" + "" + "[\ufffd#9\ufffd\ufffd/#9\ufffd|\ufffd#11\ufffd\ufffd/#11\ufffd|\ufffd#12\ufffd\ufffd/#12\ufffd]" + " The data being reported does " + "\ufffd#13\ufffd" + "not" + "\ufffd/#13\ufffd" + " contain any sensitive data like pool names, object names, object contents, hostnames, or device serial numbers. It contains counters and statistics on how the cluster has been deployed, the version of Ceph, the distribution of the hosts and other parameters which help the project to gain a better understanding of the way Ceph is used. The data is sent secured to " + "\ufffd0\ufffd" + " and " + "\ufffd1\ufffd" + " (device report).",n=e.Zx4(n),d="Channels",w="The telemetry report is broken down into several \"channels\", each with a different type of information that can be configured below.",re="Basic",Ze="Includes basic information about the cluster:",Lt="Capacity of the cluster",Gt="Number of monitors, managers, OSDs, MDSs, object gateways, or other daemons",On="Software version currently being used",pr="Number and types of RADOS pools and CephFS file systems",fr="Names of configuration options that have been changed from their default (but not their values)",ri="Crash",Ii="Includes information about daemon crashes:",go="Type of daemon",co="Version of the daemon",zo="Operating system (OS distribution, kernel version)",Bs="Stack trace identifying where in the Ceph code the crash occurred",gs="Device",ks="Includes information about device metrics like anonymized SMART metrics.",ma="Ident",Tl="Includes user-provided identifying information about the cluster:",va="Perf",Wl="Includes various performance metrics of a cluster.",Kc="Advanced Settings",xo="Interval",Du="The module compiles and sends a new report every 24 hours by default. You can adjust this interval by setting a different number of hours.",id="Proxy",Ed="If the cluster cannot directly connect to the configured telemetry endpoint (default telemetry.ceph.com), you can configure a HTTP/HTTPS proxy server by e.g. adding https://10.0.0.1:8080",Vu="You can also include a user:pass if needed e.g. https://ceph:telemetry@10.0.0.1:8080",Rf="" + "\ufffd#123\ufffd" + "Note:" + "\ufffd/#123\ufffd" + " By clicking 'Next' you will first see a preview of the report content before you can activate the automatic submission of your data.",np="Deactivate",ls="Contact Information",Ms="Submitting any contact information is completely optional and disabled by default.",hs="Contact",$a="Description",oc="My first Ceph cluster",Gc="Organization",Hc="Organization name",du="The entered value is too low! It must be greater or equal to 8.",Pl="Step " + "\ufffd0\ufffd" + " of 2: Telemetry report preview",rp="A randomized UUID to identify a particular cluster over the course of several telemetry reports.",fu="Report ID " + "\ufffd#10\ufffd" + "" + "\ufffd/#10\ufffd" + "",Td="The actual telemetry data that will be submitted.",od="Report preview " + "\ufffd#16\ufffd" + "" + "\ufffd#17\ufffd" + "Note: Please select 'Download' to view the full report, including metrics from the perf channel." + "\ufffd/#17\ufffd" + "" + "\ufffd/#16\ufffd" + "",Gu="I agree to my telemetry data being submitted under the " + "\ufffd#31\ufffd" + "Community Data License Agreement - Sharing - Version 1.0" + "\ufffd/#31\ufffd" + "",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],[3,"ngSwitch"],[4,"ngSwitchCase"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],y,[1,"card-body"],n,["href","https://telemetry-public.ceph.com/"],[4,"ngIf"],d,w,[1,"form-group","row"],["for","channel_basic",1,"cd-col-form-label"],re,Ze,Lt,Gt,On,pr,fr,[1,"cd-col-form-input"],[1,"custom-control","custom-checkbox"],["type","checkbox","id","channel_basic","formControlName","channel_basic",1,"custom-control-input"],["for","channel_basic",1,"custom-control-label"],["for","channel_crash",1,"cd-col-form-label"],ri,Ii,go,co,zo,Bs,["type","checkbox","id","channel_crash","formControlName","channel_crash",1,"custom-control-input"],["for","channel_crash",1,"custom-control-label"],["for","channel_device",1,"cd-col-form-label"],gs,["html",ks],["type","checkbox","id","channel_device","formControlName","channel_device",1,"custom-control-input"],["for","channel_device",1,"custom-control-label"],["for","channel_ident",1,"cd-col-form-label"],ma,Tl,["type","checkbox","id","channel_ident","formControlName","channel_ident",1,"custom-control-input",3,"click"],["for","channel_ident",1,"custom-control-label"],["for","channel_perf",1,"cd-col-form-label"],va,Wl,["type","checkbox","id","channel_perf","formControlName","channel_perf",1,"custom-control-input"],["for","channel_perf",1,"custom-control-label"],Kc,["for","interval",1,"cd-col-form-label"],xo,Du,["id","interval","type","number","formControlName","interval","min","8",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","proxy",1,"cd-col-form-label"],id,Ed,Vu,["id","proxy","type","text","formControlName","proxy","placeholder","https://10.0.0.1:8080",1,"form-control"],Rf,[1,"card-footer"],[1,"button-group","text-right"],["type","button",1,"btn","btn-light",3,"click"],np,ls,Ms,["for","contact",1,"cd-col-form-label"],hs,["id","contact","type","text","formControlName","contact","placeholder","Example User <user@example.com>",1,"form-control"],["for","description",1,"cd-col-form-label"],$a,["id","description","type","text","formControlName","description","placeholder",oc,1,"form-control"],["for","organization",1,"cd-col-form-label"],Gc,["id","organization","type","text","formControlName","organization","placeholder",Hc,1,"form-control"],[1,"invalid-feedback"],du,["name","previewForm","novalidate","",3,"formGroup"],["frm","ngForm"],Pl,["for","reportId",1,"cd-col-form-label"],fu,["html",rp],["type","text","id","reportId","formControlName","reportId","readonly","",1,"form-control"],["for","report",1,"cd-col-form-label"],od,["html",Td],["id","report","formControlName","report","rows","15","readonly","",1,"form-control"],[1,"cd-col-form-offset"],["role","group",1,"btn-group"],["fileName","telemetry_report",3,"objectItem"],["source","report"],["type","checkbox","id","licenseAgrmt","name","licenseAgrmt","formControlName","licenseAgrmt",1,"custom-control-input"],["for","licenseAgrmt",1,"custom-control-label"],Gu,["href","https://cdla.io/sharing-1-0/"],[3,"form","submitText","cancelText","submitActionEvent","backActionEvent"]]},template:function(n,d){1&n&&e.YNc(0,Gg,4,3,"div",0),2&n&&e.Q6J("cdFormLoading",d.loading)},directives:[vn.y,s.RF,s.n9,Hn._Y,Hn.JL,Gn.V,Hn.sg,s.O5,kn.P,ul.S,Ds.o,Hn.Wl,zn.b,Hn.JJ,Hn.u,Hn.wV,Hn.qQ,Hn.Fj,wp,Vd.s,jr.p],styles:[""]}),f})();var Iv=o(26561);function pb(f){const{subscriber:y,counter:n,period:d}=f;y.next(n),this.schedule({subscriber:y,counter:n+1,period:d},d)}let Lv=(()=>{class f{constructor(n){this.ngZone=n,this.intervalDataSource=new Cc.X(null),this.intervalData$=this.intervalDataSource.asObservable();const d=parseInt(sessionStorage.getItem("dashboard_interval"),10)||5e3;this.setRefreshInterval(d)}setRefreshInterval(n){this.intervalTime=n,sessionStorage.setItem("dashboard_interval",n.toString()),this.intervalSubscription&&this.intervalSubscription.unsubscribe(),this.ngZone.runOutsideAngular(()=>{this.intervalSubscription=function(f=0,y=wd.P){return(!(0,Iv.k)(f)||f<0)&&(f=0),(!y||"function"!=typeof y.schedule)&&(y=wd.P),new Bh.y(n=>(n.add(y.schedule(pb,f,{subscriber:n,counter:0,period:f})),n))}(this.intervalTime).subscribe(()=>this.ngZone.run(()=>{this.intervalDataSource.next(this.intervalTime)}))})}getRefreshInterval(){return this.intervalTime}ngOnDestroy(){this.intervalSubscription&&this.intervalSubscription.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(e.R0b))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function hb(f,y){if(1&f&&(e.TgZ(0,"option",8),e._uU(1),e.qZA()),2&f){const n=y.$implicit,d=e.oxw();e.Q6J("value",d.intervalList[n]),e.xp6(1),e.Oqu(n)}}let _b=(()=>{class f{constructor(n){this.refreshIntervalService=n,this.intervalList={"5 s":5e3,"10 s":1e4,"15 s":15e3,"30 s":3e4,"1 min":6e4,"3 min":18e4,"5 min":3e5},this.intervalKeys=Object.keys(this.intervalList)}ngOnInit(){this.selectedInterval=this.refreshIntervalService.getRefreshInterval()||5e3}changeRefreshInterval(n){this.refreshIntervalService.setRefreshInterval(n)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Lv))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-refresh-selector"]],decls:8,vars:2,consts:function(){let y;return y="Refresh",[[1,"container-fluid"],[1,"row"],[1,"col","d-flex","justify-content-end"],[1,"form-inline"],["for","refreshInterval",1,"col-form-label","my-0","mx-2"],y,["id","refreshInterval","name","refreshInterval",1,"form-control","custom-select",3,"ngModel","change","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"div",2),e.TgZ(3,"form",3),e.TgZ(4,"label",4),e.SDv(5,5),e.qZA(),e.TgZ(6,"select",6),e.NdJ("change",function(re){return d.changeRefreshInterval(re.target.value)})("ngModelChange",function(re){return d.selectedInterval=re}),e.YNc(7,hb,2,2,"option",7),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(6),e.Q6J("ngModel",d.selectedInterval),e.xp6(1),e.Q6J("ngForOf",d.intervalKeys))},directives:[Hn._Y,Hn.JL,Hn.F,Ds.o,Hn.EJ,zn.b,Hn.JJ,Hn.On,s.sg,Hn.YN,Hn.Kr],styles:[""]}),f})();var Fv=o(49671);let gb=(()=>{class f{constructor(n){this.http=n}getFullHealth(){return this.http.get("api/health/full")}getMinimalHealth(){return this.http.get("api/health/minimal")}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var zg=o(89154),Zh=o(99475);function a1(f,y){if(1&f&&(e.TgZ(0,"div",6),e.tHW(1,7),e.ALo(2,"lowercase"),e._UZ(3,"cd-doc",8),e.ALo(4,"lowercase"),e.N_p(),e.qZA()),2&f){const n=e.oxw();e.xp6(3),e.MGl("section","dashboard-landing-page-",e.lcZ(4,4,n.groupTitle),""),e.xp6(1),e.pQV(e.lcZ(2,2,n.groupTitle)),e.QtT(1)}}const gC=function(f,y){return[f,y]},l1=["*"];let mb=(()=>{class f{constructor(){this.icons=Ki.P}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-info-group"]],inputs:{groupTitle:"groupTitle"},ngContentSelectors:l1,decls:11,vars:6,consts:function(){let y,n;return y="here",n="For an overview of " + "\ufffd0\ufffd" + " widgets click " + "\ufffd#3\ufffd" + "" + "\ufffd/#3\ufffd" + "",[[1,"row"],["triggers","",1,"info-group-title",3,"ngbPopover"],["popInfo","ngbPopover"],["type","button",1,"popover-icon","btn","btn-link","p-0",3,"click"],[3,"ngClass"],["popInfoTemplate",""],[1,"text-center"],n,["docText",y,3,"section"]]},template:function(n,d){if(1&n){const w=e.EpF();e.F$t(),e.TgZ(0,"div",0),e.TgZ(1,"div",1,2),e.TgZ(3,"span"),e._uU(4),e.qZA(),e.TgZ(5,"button",3),e.NdJ("click",function(){return e.CHM(w),e.MAs(2).toggle()}),e._UZ(6,"i",4),e.qZA(),e.qZA(),e.qZA(),e.TgZ(7,"div",0),e.Hsn(8),e.qZA(),e.YNc(9,a1,5,6,"ng-template",null,5,e.W1O)}if(2&n){const w=e.MAs(10);e.xp6(1),e.Q6J("ngbPopover",w),e.xp6(3),e.Oqu(d.groupTitle),e.xp6(2),e.Q6J("ngClass",e.WLB(3,gC,d.icons.infoCircle,d.icons.large))}},directives:[Br.o8,Ds.o,s.mk,Go.K],pipes:[s.i8],styles:[".info-group-title[_ngcontent-%COMP%]{font-size:1.75rem;margin:0 0 .5vw .5vw}.popover-icon[_ngcontent-%COMP%]:focus{box-shadow:none}"]}),f})();function mC(f,y){if(1&f&&(e.TgZ(0,"a",6),e._uU(1),e.qZA()),2&f){const n=e.oxw();e.Q6J("routerLink",n.link),e.xp6(1),e.Oqu(n.cardTitle)}}function H_(f,y){if(1&f&&e._uU(0),2&f){const n=e.oxw();e.hij(" ",n.cardTitle," ")}}const vb=["*"];let c1=(()=>{class f{constructor(){this.cardClass=""}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-info-card"]],inputs:{cardTitle:"cardTitle",link:"link",cardClass:"cardClass",contentClass:"contentClass"},ngContentSelectors:vb,decls:8,vars:4,consts:[[1,"card","shadow-sm",3,"ngClass"],[1,"card-body","d-flex","align-items-center","justify-content-center"],[1,"card-title","m-4"],[3,"routerLink",4,"ngIf","ngIfElse"],["noLinkTitle",""],[1,"card-text","text-center",3,"ngClass"],[3,"routerLink"]],template:function(n,d){if(1&n&&(e.F$t(),e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"h4",2),e.YNc(3,mC,2,2,"a",3),e.YNc(4,H_,1,1,"ng-template",null,4,e.W1O),e.qZA(),e.TgZ(6,"div",5),e.Hsn(7),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(5);e.Q6J("ngClass",d.cardClass),e.xp6(3),e.Q6J("ngIf",d.link)("ngIfElse",w),e.xp6(3),e.Q6J("ngClass",d.contentClass)}},directives:[s.mk,s.O5,tn.yS],styles:[".card[_ngcontent-%COMP%]{font-size:12px;border:.5px solid #dee2e6;border-radius:3px;height:100%}@media screen and (min-width: 320px){.card[_ngcontent-%COMP%]{font-size:calc(12px + 9 * ((100vw - 320px) / 1728))}}@media screen and (min-width: 2048px){.card[_ngcontent-%COMP%]{font-size:21px}}.card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%]{padding-top:40px!important}.card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%] .card-title[_ngcontent-%COMP%]{left:-.6rem;position:absolute;top:-.3rem}.no-center[_ngcontent-%COMP%]{left:unset;position:unset;top:unset;transform:unset}.content-highlight[_ngcontent-%COMP%]{font-weight:bold}"]}),f})();var u1=o(6823);const yb=["chartCanvas"],d1=["chartTooltip"];let f1=(()=>{class f{constructor(n,d,w){this.dimlessBinary=n,this.dimless=d,this.cssHelper=w,this.config={},this.isBytesData=!1,this.showLabelAsTooltip=!1,this.prepareFn=new e.vpe,this.chartConfig={chartType:"doughnut",dataset:[{label:null,borderWidth:0}],colors:[{backgroundColor:[this.cssHelper.propertyValue("chart-color-green"),this.cssHelper.propertyValue("chart-color-yellow"),this.cssHelper.propertyValue("chart-color-orange"),this.cssHelper.propertyValue("chart-color-red"),this.cssHelper.propertyValue("chart-color-blue")]}],options:{cutoutPercentage:90,events:["click","mouseout","touchstart"],legend:{display:!0,position:"right",labels:{boxWidth:10,usePointStyle:!1}},plugins:{center_text:!0},tooltips:{enabled:!0,displayColors:!1,backgroundColor:this.cssHelper.propertyValue("chart-color-tooltip-background"),cornerRadius:0,bodyFontSize:14,bodyFontStyle:"600",position:"nearest",xPadding:12,yPadding:12,callbacks:{label:(re,Ze)=>{let Lt=Ze.labels[re.index];return Lt.includes("%")||(Lt=`${Lt} (${Ze.datasets[re.datasetIndex].data[re.index]}%)`),Lt}}},title:{display:!1}}},this.doughnutChartPlugins=[{id:"center_text",beforeDraw(re){const Ze=new Zh.P,Lt="Helvetica Neue, Helvetica, Arial, sans-serif";u1.defaults.global.defaultFontFamily=Lt;const Gt=re.ctx;if(!re.options.plugins.center_text||!re.data.datasets[0].label)return;Gt.save();const On=re.data.datasets[0].label.split("\n"),pr=(re.chartArea.left+re.chartArea.right)/2,fr=(re.chartArea.top+re.chartArea.bottom)/2;Gt.textAlign="center",Gt.textBaseline="middle",Gt.font=`24px ${Lt}`,Gt.fillStyle=Ze.propertyValue("chart-color-center-text"),Gt.fillText(On[0],pr,fr-10),On.length>1&&(Gt.font=`14px ${Lt}`,Gt.fillStyle=Ze.propertyValue("chart-color-center-text-description"),Gt.fillText(On[1],pr,fr+10)),Gt.restore()}}]}ngOnInit(){new Xn.h(this.chartCanvasRef,this.chartTooltipRef,(re,Ze)=>Ze+re.caretX+"px",(re,Ze)=>Ze+re.caretY-re.height-10+"px").getBody=re=>this.getChartTooltipBody(re),gn().merge(this.chartConfig,this.config),this.prepareFn.emit([this.chartConfig,this.data])}ngOnChanges(){this.prepareFn.emit([this.chartConfig,this.data]),this.setChartSliceBorderWidth()}getChartTooltipBody(n){const d=n[0].split(": ");return this.showLabelAsTooltip?d[0]:(d[1]=this.isBytesData?this.dimlessBinary.transform(d[1]):this.dimless.transform(d[1]),d.join(": "))}setChartSliceBorderWidth(){let n=0;gn().forEach(this.chartConfig.dataset[0].data,function(d){d>0&&(n+=1)}),this.chartConfig.dataset[0].borderWidth=n>1?1:0}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Me.$),e.Y36(ft.n),e.Y36(Zh.P))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-health-pie"]],viewQuery:function(n,d){if(1&n&&(e.Gf(yb,7),e.Gf(d1,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.chartCanvasRef=w.first),e.iGM(w=e.CRH())&&(d.chartTooltipRef=w.first)}},inputs:{data:"data",config:"config",isBytesData:"isBytesData",tooltipFn:"tooltipFn",showLabelAsTooltip:"showLabelAsTooltip"},outputs:{prepareFn:"prepareFn"},features:[e.TTD],decls:6,vars:6,consts:[[1,"chart-container"],["baseChart","",1,"chart-canvas",3,"datasets","chartType","options","labels","colors","plugins"],["chartCanvas",""],[1,"chartjs-tooltip"],["chartTooltip",""]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e._UZ(1,"canvas",1,2),e.TgZ(3,"div",3,4),e._UZ(5,"table"),e.qZA(),e.qZA()),2&n&&(e.xp6(1),e.Q6J("datasets",d.chartConfig.dataset)("chartType",d.chartConfig.chartType)("options",d.chartConfig.options)("labels",d.chartConfig.labels)("colors",d.chartConfig.colors)("plugins",d.doughnutChartPlugins))},directives:[Sr.jh],styles:['.chart-container[_ngcontent-%COMP%]{cursor:pointer;margin:auto;overflow:visible;position:absolute}canvas[_ngcontent-%COMP%]{user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-family:"Helvetica Neue","Helvetica","Arial",sans-serif!important;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%);transition:all .1s ease}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]:after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]:after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]:after{border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px;content:" ";left:50%;margin-left:-5px;position:absolute;top:100%} .chartjs-tooltip-key{display:inline-block;height:10px;margin-right:10px;width:10px}.chart-container[_ngcontent-%COMP%]{height:100%;margin-left:auto;margin-right:auto;position:unset;width:100%}.chart-canvas[_ngcontent-%COMP%]{height:100%;margin-left:auto;margin-right:auto;max-height:100%;max-width:100%;position:unset;width:100%}']}),f})(),kv=(()=>{class f{transform(n){if(!n)return"";let d=0,w=0,re=0,Ze=0;gn().each(n.osds,pr=>{pr.in&&d++,pr.up&&w++,pr.state.includes("nearfull")&&re++,pr.state.includes("full")&&Ze++});const Lt=[{content:`${n.osds.length} ${"total"}`,class:""}];Lt.push({content:"",class:"card-text-line-break"}),Lt.push({content:`${w} ${"up"}, ${d} ${"in"}`,class:""});const Gt=n.osds.length-w,On=n.osds.length-d;if(Gt>0||On>0){Lt.push({content:"",class:"card-text-line-break"});const pr=Gt>0?`${Gt} ${"down"}`:"",ri=On>0?`${On} ${"out"}`:"";Lt.push({content:`${pr}${Gt>0&&On>0?", ":""}${ri}`,class:"card-text-error"})}return re>0&&Lt.push({content:"",class:"card-text-line-break"},{content:`${re} ${"near full"}`,class:"card-text-error"},{content:"",class:"card-text-line-break"}),Ze>0&&Lt.push({content:`${Ze} ${"full"}`,class:"card-text-error"}),Lt}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"osdSummary",type:f,pure:!0}),f})(),vC=(()=>{class f{transform(n){if(!n)return"";let d="",w="",re=0,Ze=0,Lt=0;gn().each(n.standbys,()=>{re+=1}),n.standbys&&!n.filesystems?(d=`${re} ${"up"}`,w="no filesystems"):0===n.filesystems.length?d="no filesystems":(gn().each(n.filesystems,co=>{gn().each(co.mdsmap.info,zo=>{"up:standby-replay"===zo.state?Lt+=1:Ze+=1})}),d=`${Ze} ${"active"}`,w=`${re+Lt} ${"standby"}`);const Gt=n.standbys.map(co=>co.name).join(", "),On=Gt?`${"standby daemons"}: ${Gt}`:"",pr=n.filesystems?n.filesystems.length:0,ri=Object.values(pr>0?n.filesystems[0].mdsmap.info:{}).map(co=>co.name).join(", ");let Ii=ri?`${"active daemon"}: ${ri}`:"";!Ze&&pr>0&&(Ii=`${Lt} ${"standbyReplay"}`);const go=[{content:d,class:"popover-info",titleText:Ii}];return w&&(go.push({content:"",class:"card-text-line-break",titleText:""}),go.push({content:w,class:"popover-info",titleText:On})),go}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"mdsSummary",type:f,pure:!0}),f})();var ah=(()=>{return(f=ah||(ah={})).HEALTH_ERR="health-color-error",f.HEALTH_WARN="health-color-warning",f.HEALTH_OK="health-color-healthy",ah;var f})();let Wg=(()=>{class f{constructor(n){this.cssHelper=n}transform(n){return Object.keys(ah).includes(n)?{color:this.cssHelper.propertyValue(ah[n])}:null}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Zh.P,16))},f.\u0275pipe=e.Yjl({name:"healthColor",type:f,pure:!0}),f})(),p1=(()=>{class f{transform(n){return n?"" + n.monmap.mons.length.toString() + " (quorum " + n.quorum.join(", ") + ")":""}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"monSummary",type:f,pure:!0}),f})(),$v=(()=>{class f{transform(n){if(!n)return"";let d="n/a";const w=gn().isUndefined(n.active_name)?"":`${"active daemon"}: ${n.active_name}`;w.length>0&&(d="1");const re=n.standbys.map(On=>On.name).join(", "),Ze=re?`${"standby daemons"}: ${re}`:"",Lt=n.standbys.length,Gt=[{content:`${d} ${"active"}`,class:"popover-info",titleText:w}];return Gt.push({content:"",class:"card-text-line-break",titleText:""}),Gt.push({content:`${Lt} ${"standby"}`,class:"popover-info",titleText:Ze}),Gt}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"mgrSummary",type:f,pure:!0}),f})();function Hv(f,y){1&f&&e.GkF(0)}function h1(f,y){if(1&f&&(e.TgZ(0,"li"),e.TgZ(1,"span",22),e.ALo(2,"healthColor"),e._uU(3),e.qZA(),e._uU(4),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.Q6J("ngStyle",e.lcZ(2,3,n.severity)),e.xp6(2),e.Oqu(n.type),e.xp6(1),e.hij(": ",n.summary.message," ")}}function Uv(f,y){if(1&f&&(e.YNc(0,Hv,1,0,"ng-container",20),e.TgZ(1,"ul"),e.YNc(2,h1,5,5,"li",21),e.qZA()),2&f){e.oxw(4);const n=e.MAs(5),d=e.oxw();e.Q6J("ngTemplateOutlet",n),e.xp6(2),e.Q6J("ngForOf",d.healthData.health.checks)}}function _1(f,y){1&f&&e._UZ(0,"i",23)}function g1(f,y){if(1&f&&(e.ynx(0),e.YNc(1,Uv,3,2,"ng-template",null,17,e.W1O),e.TgZ(3,"div",18),e.ALo(4,"healthColor"),e._uU(5),e.YNc(6,_1,1,0,"i",19),e.qZA(),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw(4);e.xp6(3),e.Q6J("ngStyle",e.lcZ(4,4,d.healthData.health.status))("ngbPopover",n),e.xp6(2),e.hij(" ",d.healthData.health.status," "),e.xp6(1),e.Q6J("ngIf","HEALTH_OK"!=(null==d.healthData.health?null:d.healthData.health.status))}}function jv(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",22),e.ALo(2,"healthColor"),e._uU(3),e.qZA(),e.BQk()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("ngStyle",e.lcZ(2,2,n.healthData.health.status)),e.xp6(2),e.hij(" ",n.healthData.health.status," ")}}function bb(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",15),e.YNc(1,g1,7,6,"ng-container",16),e.YNc(2,jv,4,4,"ng-container",16),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("ngIf",(null==n.healthData.health||null==n.healthData.health.checks?null:n.healthData.health.checks.length)>0),e.xp6(1),e.Q6J("ngIf",!(null!=n.healthData.health&&null!=n.healthData.health.checks&&n.healthData.health.checks.length))}}function Bv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",24),e._uU(1),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.hosts," total ")}}function Yv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",25),e._uU(1),e.ALo(2,"monSummary"),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,n.healthData.mon_status)," ")}}function m1(f,y){if(1&f&&(e.TgZ(0,"span",28),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("ngClass",n.class),e.xp6(1),e.hij(" ",n.content," ")}}function Zv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",26),e.YNc(1,m1,2,2,"span",27),e.qZA()),2&f){const n=y.ngIf;e.xp6(1),e.Q6J("ngForOf",n)}}function Eb(f,y){if(1&f&&(e.TgZ(0,"span",31),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("ngClass",n.class)("title",null!=n.titleText?n.titleText:""),e.xp6(1),e.hij(" ",n.content," ")}}function Vv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",29),e.YNc(1,Eb,2,3,"span",30),e.ALo(2,"mgrSummary"),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("ngForOf",e.lcZ(2,1,n.healthData.mgr_map))}}function Gv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",32),e._uU(1),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.rgw," total ")}}function v1(f,y){if(1&f&&(e.TgZ(0,"span",31),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("ngClass",n.class)("title",null!=n.titleText?n.titleText:""),e.xp6(1),e.hij(" ",n.content," ")}}function qg(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",33),e.YNc(1,v1,2,3,"span",30),e.qZA()),2&f){const n=y.ngIf;e.Q6J("contentClass",(n.length>1?"text-area-size-2":"")+" content-highlight"),e.xp6(1),e.Q6J("ngForOf",n)}}const y1=function(f){return{"card-text-error":f}};function zv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",34),e._uU(1),e._UZ(2,"span",35),e._uU(3),e.TgZ(4,"span",28),e._uU(5),e.qZA(),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.iscsi_daemons.up+n.healthData.iscsi_daemons.down," total "),e.xp6(2),e.hij(" ",n.healthData.iscsi_daemons.up," up, "),e.xp6(1),e.Q6J("ngClass",e.VKq(4,y1,n.healthData.iscsi_daemons.down>0)),e.xp6(1),e.hij("",n.healthData.iscsi_daemons.down," down")}}function Wv(f,y){if(1&f&&(e.TgZ(0,"cd-info-group",6),e.YNc(1,bb,3,2,"cd-info-card",7),e.YNc(2,Bv,2,1,"cd-info-card",8),e.YNc(3,Yv,3,3,"cd-info-card",9),e.YNc(4,Zv,2,1,"cd-info-card",10),e.ALo(5,"osdSummary"),e.YNc(6,Vv,3,3,"cd-info-card",11),e.YNc(7,Gv,2,1,"cd-info-card",12),e.YNc(8,qg,2,2,"cd-info-card",13),e.ALo(9,"mdsSummary"),e.YNc(10,zv,6,6,"cd-info-card",14),e.qZA()),2&f){const n=e.oxw().ngIf,d=e.oxw();e.xp6(1),e.Q6J("ngIf",null==d.healthData.health?null:d.healthData.health.status),e.xp6(1),e.Q6J("ngIf",null!=d.healthData.hosts),e.xp6(1),e.Q6J("ngIf",d.healthData.mon_status),e.xp6(1),e.Q6J("ngIf",e.lcZ(5,8,d.healthData.osd_map)),e.xp6(2),e.Q6J("ngIf",d.healthData.mgr_map),e.xp6(1),e.Q6J("ngIf",n.rgw&&null!=d.healthData.rgw),e.xp6(1),e.Q6J("ngIf",e.lcZ(9,10,n.cephfs&&d.healthData.fs_map)),e.xp6(2),e.Q6J("ngIf",n.iscsi&&null!=d.healthData.iscsi_daemons)}}function qv(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",42),e.TgZ(1,"cd-health-pie",43),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).prepareRawUsage(w[0],w[1])}),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("data",n.healthData)("config",n.rawCapacityChartConfig)("isBytesData",!0)}}function Jv(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",44),e.TgZ(1,"cd-health-pie",45),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).prepareObjects(w[0],w[1])}),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("data",n.healthData)}}function Qv(f,y){1&f&&e.GkF(0)}function Xv(f,y){if(1&f&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.AsE(" ",n.key,": ",n.value," ")}}function Kv(f,y){if(1&f&&(e.YNc(0,Qv,1,0,"ng-container",20),e.TgZ(1,"ul"),e.YNc(2,Xv,2,2,"li",21),e.ALo(3,"keyvalue"),e.qZA()),2&f){e.oxw(3);const n=e.MAs(5),d=e.oxw();e.Q6J("ngTemplateOutlet",n),e.xp6(2),e.Q6J("ngForOf",e.lcZ(3,2,d.healthData.pg_info.statuses))}}function yC(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",46),e.YNc(1,Kv,4,4,"ng-template",null,47,e.W1O),e.TgZ(3,"div",48),e.TgZ(4,"div",49),e.TgZ(5,"cd-health-pie",50),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).preparePgStatus(w[0],w[1])}),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.oxw(3);e.xp6(4),e.Q6J("ngbPopover",n),e.xp6(1),e.Q6J("data",d.healthData)("config",d.pgStatusChartConfig)}}function Tb(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",51),e._uU(1),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.pools.length," ")}}function Cb(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",52),e._uU(1),e.ALo(2,"dimless"),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,n.healthData.pg_info.pgs_per_osd)," ")}}function e0(f,y){if(1&f&&(e.TgZ(0,"cd-info-group",36),e.YNc(1,qv,2,3,"cd-info-card",37),e.YNc(2,Jv,2,1,"cd-info-card",38),e.YNc(3,yC,6,3,"cd-info-card",39),e.YNc(4,Tb,2,1,"cd-info-card",40),e.YNc(5,Cb,3,3,"cd-info-card",41),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("ngIf",n.healthData.df),e.xp6(1),e.Q6J("ngIf",null!=(null==n.healthData.pg_info||null==n.healthData.pg_info.object_stats?null:n.healthData.pg_info.object_stats.num_objects)),e.xp6(1),e.Q6J("ngIf",n.healthData.pg_info),e.xp6(1),e.Q6J("ngIf",n.healthData.pools),e.xp6(1),e.Q6J("ngIf",n.healthData.pg_info)}}function Sb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",58),e.TgZ(1,"cd-health-pie",50),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).prepareReadWriteRatio(w[0],w[1])}),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("data",n.healthData)("config",n.clientStatsConfig)}}function uu(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",59),e.TgZ(1,"cd-health-pie",50),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).prepareClientThroughput(w[0],w[1])}),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("data",n.healthData)("config",n.clientStatsConfig)}}function t0(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",60),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,n.healthData.client_perf.recovering_bytes_per_sec)+"/s"," ")}}function Mb(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",61),e._uU(1),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.scrub_status," ")}}function Ob(f,y){if(1&f&&(e.TgZ(0,"cd-info-group",53),e.YNc(1,Sb,2,2,"cd-info-card",54),e.YNc(2,uu,2,2,"cd-info-card",55),e.YNc(3,t0,3,3,"cd-info-card",56),e.YNc(4,Mb,2,1,"cd-info-card",57),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("ngIf",n.healthData.client_perf),e.xp6(1),e.Q6J("ngIf",n.healthData.client_perf),e.xp6(1),e.Q6J("ngIf",n.healthData.client_perf),e.xp6(1),e.Q6J("ngIf",n.healthData.scrub_status)}}const n0=function(f){return[f]};function Ab(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"p",62),e.tHW(2,63),e._UZ(3,"i",28),e._UZ(4,"a",64),e.N_p(),e.qZA(),e.BQk()),2&f){const n=e.oxw(3);e.xp6(3),e.Q6J("ngClass",e.VKq(1,n0,n.icons.infoCircle))}}function r0(f,y){if(1&f&&e.YNc(0,Ab,5,3,"ng-container",16),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.permissions.log.read)}}function i0(f,y){if(1&f&&(e.TgZ(0,"div",1),e.YNc(1,Wv,11,12,"cd-info-group",2),e.YNc(2,e0,6,5,"cd-info-group",3),e.YNc(3,Ob,5,4,"cd-info-group",4),e.YNc(4,r0,1,1,"ng-template",null,5,e.W1O),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngIf",(null==n.healthData.health?null:n.healthData.health.status)||n.healthData.mon_status||n.healthData.osd_map||n.healthData.mgr_map||null!=n.healthData.hosts||null!=n.healthData.rgw||n.healthData.fs_map||null!=n.healthData.iscsi_daemons),e.xp6(1),e.Q6J("ngIf",n.healthData.pools||n.healthData.df||n.healthData.pg_info),e.xp6(1),e.Q6J("ngIf",n.healthData.client_perf||n.healthData.scrub_status)}}let Vh=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On,pr){this.healthService=n,this.osdService=d,this.authStorageService=w,this.pgCategoryService=re,this.featureToggles=Ze,this.refreshIntervalService=Lt,this.dimlessBinary=Gt,this.dimless=On,this.cssHelper=pr,this.osdSettings=new _g,this.interval=new Gl.w,this.icons=Ki.P,this.clientStatsConfig={colors:[{backgroundColor:[this.cssHelper.propertyValue("chart-color-cyan"),this.cssHelper.propertyValue("chart-color-purple")]}]},this.rawCapacityChartConfig={colors:[{backgroundColor:[this.cssHelper.propertyValue("chart-color-blue"),this.cssHelper.propertyValue("chart-color-gray")]}]},this.pgStatusChartConfig={options:{events:[""]}},this.permissions=this.authStorageService.getPermissions(),this.enabledFeature$=this.featureToggles.get()}ngOnInit(){this.interval=this.refreshIntervalService.intervalData$.subscribe(()=>{this.getHealth()}),this.osdService.getOsdSettings().pipe((0,Ul.q)(1)).subscribe(n=>{this.osdSettings=n})}ngOnDestroy(){this.interval.unsubscribe()}getHealth(){this.healthService.getMinimalHealth().subscribe(n=>{this.healthData=n})}prepareReadWriteRatio(n){const d=[],w=[],re=this.healthData.client_perf.write_op_per_sec+this.healthData.client_perf.read_op_per_sec;d.push(`${"Reads"}: ${this.dimless.transform(this.healthData.client_perf.read_op_per_sec)} ${"/s"}`),w.push(this.calcPercentage(this.healthData.client_perf.read_op_per_sec,re)),d.push(`${"Writes"}: ${this.dimless.transform(this.healthData.client_perf.write_op_per_sec)} ${"/s"}`),w.push(this.calcPercentage(this.healthData.client_perf.write_op_per_sec,re)),n.labels=d,n.dataset[0].data=w,n.dataset[0].label=`${this.dimless.transform(re)}\n${"IOPS"}`}prepareClientThroughput(n){const d=[],w=[],re=this.healthData.client_perf.read_bytes_sec+this.healthData.client_perf.write_bytes_sec;d.push(`${"Reads"}: ${this.dimlessBinary.transform(this.healthData.client_perf.read_bytes_sec)}${"/s"}`),w.push(this.calcPercentage(this.healthData.client_perf.read_bytes_sec,re)),d.push(`${"Writes"}: ${this.dimlessBinary.transform(this.healthData.client_perf.write_bytes_sec)}${"/s"}`),w.push(this.calcPercentage(this.healthData.client_perf.write_bytes_sec,re)),n.labels=d,n.dataset[0].data=w,n.dataset[0].label=`${this.dimlessBinary.transform(re).replace(" ","\n")}${"/s"}`}prepareRawUsage(n,d){const w=this.calcPercentage(d.df.stats.total_bytes-d.df.stats.total_used_raw_bytes,d.df.stats.total_bytes),re=this.calcPercentage(d.df.stats.total_used_raw_bytes,d.df.stats.total_bytes);this.color=re/100>=this.osdSettings.nearfull_ratio?"chart-color-red":re/100>=this.osdSettings.full_ratio?"chart-color-yellow":"chart-color-blue",this.rawCapacityChartConfig.colors[0].backgroundColor[0]=this.cssHelper.propertyValue(this.color),n.dataset[0].data=[re,w],n.labels=[`${"Used"}: ${this.dimlessBinary.transform(d.df.stats.total_used_raw_bytes)}`,`${"Avail."}: ${this.dimlessBinary.transform(d.df.stats.total_bytes-d.df.stats.total_used_raw_bytes)}`],n.dataset[0].label=`${re}%\nof ${this.dimlessBinary.transform(d.df.stats.total_bytes)}`}preparePgStatus(n,d){const w={};let re=0;gn().forEach(d.pg_info.statuses,(Ze,Lt)=>{const Gt=this.pgCategoryService.getTypeByStates(Lt);gn().isUndefined(w[Gt])&&(w[Gt]=0),w[Gt]+=Ze,re+=Ze});for(const Ze of this.pgCategoryService.getAllTypes())gn().isUndefined(w[Ze])&&(w[Ze]=0);n.dataset[0].data=this.pgCategoryService.getAllTypes().map(Ze=>this.calcPercentage(w[Ze],re)),n.labels=[`${"Clean"}: ${this.dimless.transform(w.clean)}`,`${"Working"}: ${this.dimless.transform(w.working)}`,`${"Warning"}: ${this.dimless.transform(w.warning)}`,`${"Unknown"}: ${this.dimless.transform(w.unknown)}`],n.dataset[0].label=`${re}\n${"PGs"}`}prepareObjects(n,d){const w=d.pg_info.object_stats.num_object_copies,Ze=this.calcPercentage(w-d.pg_info.object_stats.num_objects_misplaced-d.pg_info.object_stats.num_objects_degraded-d.pg_info.object_stats.num_objects_unfound,w),Lt=this.calcPercentage(d.pg_info.object_stats.num_objects_misplaced,w),Gt=this.calcPercentage(d.pg_info.object_stats.num_objects_degraded,w),On=this.calcPercentage(d.pg_info.object_stats.num_objects_unfound,w);n.labels=[`${"Healthy"}: ${Ze}%`,`${"Misplaced"}: ${Lt}%`,`${"Degraded"}: ${Gt}%`,`${"Unfound"}: ${On}%`],n.dataset[0].data=[Ze,Lt,Gt,On],n.dataset[0].label=`${this.dimless.transform(d.pg_info.object_stats.num_objects)}\n${"objects"}`}isClientReadWriteChartShowable(){return(this.healthData.client_perf.read_op_per_sec||0)+(this.healthData.client_perf.write_op_per_sec||0)>0}calcPercentage(n,d){return gn().isNumber(n)&&gn().isNumber(d)&&0!==d?Math.ceil(n/d*100*100)/100:0}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(gb),e.Y36(ac),e.Y36(hi.j),e.Y36(Fv.j),e.Y36(zg.l),e.Y36(Lv),e.Y36(Me.$),e.Y36(ft.n),e.Y36(Zh.P))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-health"]],decls:2,vars:3,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co,zo,Bs,gs,ks,ma,Tl;return y="Status",n="Capacity",d="Performance",w="Cluster Status",re="Hosts",Ze="Monitors",Lt="OSDs",Gt="Managers",On="Object Gateways",pr="Metadata Servers",fr="iSCSI Gateways",ri="Raw Capacity",Ii="Objects",go="PG Status",co="Pools",zo="PGs per OSD",Bs="Client Read/Write",gs="Client Throughput",ks="Recovery Throughput",ma="Scrubbing",Tl="" + "\ufffd#3\ufffd" + "" + "\ufffd/#3\ufffd" + " See " + "\ufffd#4\ufffd" + "Logs" + "\ufffd/#4\ufffd" + " for more details.",[["class","container-fluid",4,"ngIf"],[1,"container-fluid"],["groupTitle",y,4,"ngIf"],["groupTitle",n,4,"ngIf"],["groupTitle",d,4,"ngIf"],["logsLink",""],["groupTitle",y],["cardTitle",w,"class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",re,"link","/hosts","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Ze,"link","/monitor","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Lt,"link","/osd","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Gt,"class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",On,"link","/rgw/daemon","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",pr,"class","cd-status-card",3,"contentClass",4,"ngIf"],["cardTitle",fr,"link","/block/iscsi","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",w,"contentClass","content-highlight",1,"cd-status-card"],[4,"ngIf"],["healthChecks",""],["popoverClass","info-card-popover-cluster-status",1,"info-card-content-clickable",3,"ngStyle","ngbPopover"],["class","fa fa-exclamation-triangle",4,"ngIf"],[4,"ngTemplateOutlet"],[4,"ngFor","ngForOf"],[3,"ngStyle"],[1,"fa","fa-exclamation-triangle"],["cardTitle",re,"link","/hosts","contentClass","content-highlight",1,"cd-status-card"],["cardTitle",Ze,"link","/monitor","contentClass","content-highlight",1,"cd-status-card"],["cardTitle",Lt,"link","/osd","contentClass","content-highlight",1,"cd-status-card"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],["cardTitle",Gt,"contentClass","content-highlight",1,"cd-status-card"],[3,"ngClass","title",4,"ngFor","ngForOf"],[3,"ngClass","title"],["cardTitle",On,"link","/rgw/daemon","contentClass","content-highlight",1,"cd-status-card"],["cardTitle",pr,1,"cd-status-card",3,"contentClass"],["cardTitle",fr,"link","/block/iscsi","contentClass","content-highlight",1,"cd-status-card"],[1,"card-text-line-break"],["groupTitle",n],["cardTitle",ri,"class","cd-capacity-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",Ii,"class","cd-capacity-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",go,"class","cd-capacity-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",co,"link","/pool","class","cd-capacity-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",zo,"class","cd-capacity-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",ri,"contentClass","content-chart",1,"cd-capacity-card","cd-chart-card"],[3,"data","config","isBytesData","prepareFn"],["cardTitle",Ii,"contentClass","content-chart",1,"cd-capacity-card","cd-chart-card"],[3,"data","prepareFn"],["cardTitle",go,"contentClass","content-chart",1,"cd-capacity-card","cd-chart-card"],["pgStatus",""],[1,"pg-status-popover-wrapper"],[3,"ngbPopover"],[3,"data","config","prepareFn"],["cardTitle",co,"link","/pool","contentClass","content-highlight",1,"cd-capacity-card"],["cardTitle",zo,"contentClass","content-highlight",1,"cd-capacity-card"],["groupTitle",d],["cardTitle",Bs,"class","cd-performance-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",gs,"class","cd-performance-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",ks,"class","cd-performance-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",ma,"class","cd-performance-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Bs,"contentClass","content-chart",1,"cd-performance-card","cd-chart-card"],["cardTitle",gs,"contentClass","content-chart",1,"cd-performance-card","cd-chart-card"],["cardTitle",ks,"contentClass","content-highlight",1,"cd-performance-card"],["cardTitle",ma,"contentClass","content-highlight",1,"cd-performance-card"],[1,"logs-link"],Tl,["routerLink","/logs"]]},template:function(n,d){1&n&&(e.YNc(0,i0,6,3,"div",0),e.ALo(1,"async")),2&n&&e.Q6J("ngIf",e.lcZ(1,1,d.healthData&&d.enabledFeature$))},directives:[s.O5,mb,c1,s.PC,Br.o8,s.tP,s.sg,s.mk,f1,tn.yS],pipes:[s.Ov,kv,vC,Wg,p1,$v,s.Nd,ft.n,Me.$],styles:['cd-info-card[_ngcontent-%COMP%]{padding:0 .5vw} cd-health .pg-status-popover-wrapper{position:relative} cd-health .pg-status-popover-wrapper .popover{max-height:20vh;max-width:unset!important;min-width:unset!important;position:absolute;width:116%} cd-health .pg-status-popover-wrapper .popover .popover-body{font-size:1rem;max-height:19vh;max-width:100%}.logs-link[_ngcontent-%COMP%]{text-align:center}.card-text-error[_ngcontent-%COMP%]{color:#c9190b;display:inline}.card-text-line-break[_ngcontent-%COMP%]:after{content:"\\a";white-space:pre}.popover-info[_ngcontent-%COMP%]:hover{cursor:pointer}']}),f})();function wb(f,y){1&f&&e._UZ(0,"cd-health")}function Db(f,y){}function o0(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,wb,1,0,"ng-template",6),e.qZA(),e.TgZ(7,"li",3),e.TgZ(8,"a",4),e.SDv(9,7),e.qZA(),e.YNc(10,Db,0,0,"ng-template",6),e.qZA(),e.qZA(),e._UZ(11,"div",8),e.BQk()),2&f){const n=e.MAs(2);e.xp6(11),e.Q6J("ngbNavOutlet",n)}}function xb(f,y){1&f&&e._UZ(0,"cd-health")}let s0=(()=>{class f{constructor(){this.hasGrafana=!1}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-dashboard"]],decls:4,vars:2,consts:function(){let y,n;return y="Health",n="Statistics",[[4,"ngIf"],["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],y,["ngbNavContent",""],n,[3,"ngbNavOutlet"]]},template:function(n,d){1&n&&(e.TgZ(0,"div"),e._UZ(1,"cd-refresh-selector"),e.YNc(2,o0,12,1,"ng-container",0),e.YNc(3,xb,1,0,"cd-health",0),e.qZA()),2&n&&(e.xp6(2),e.Q6J("ngIf",d.hasGrafana),e.xp6(1),e.Q6J("ngIf",!d.hasGrafana))},directives:[_b,s.O5,Br.Pz,Br.nv,Br.Vx,Br.uN,Br.tO,Vh],styles:["div[_ngcontent-%COMP%]{padding-top:20px}"]}),f})();var U_=o(5304),b1=o(95152),E1=o(33394),Af=o(40205);let T1=(()=>{class f extends js.S{constructor(n){super(),this.http=n,this.apiPath="api/nfs-ganesha",this.uiApiPath="ui-api/nfs-ganesha",this.nfsAccessType=[{value:"RW",help:"Allows all operations"},{value:"RO",help:"Allows only operations that do not modify the server"},{value:"NONE",help:"Allows no access at all"}],this.nfsFsal=[{value:"CEPH",descr:"CephFS",disabled:!1},{value:"RGW",descr:"Object Gateway",disabled:!1}],this.nfsSquash=["no_root_squash","root_id_squash","root_squash","all_squash"]}list(){return this.http.get(`${this.apiPath}/export`)}get(n,d){return this.http.get(`${this.apiPath}/export/${n}/${d}`)}create(n){return this.http.post(`${this.apiPath}/export`,n,{headers:{Accept:this.getVersionHeaderValue(2,0)},observe:"response"})}update(n,d,w){return this.http.put(`${this.apiPath}/export/${n}/${d}`,w,{headers:{Accept:this.getVersionHeaderValue(2,0)},observe:"response"})}delete(n,d){return this.http.delete(`${this.apiPath}/export/${n}/${d}`,{headers:{Accept:this.getVersionHeaderValue(2,0)},observe:"response"})}listClusters(){return this.http.get(`${this.apiPath}/cluster`,{headers:{Accept:this.getVersionHeaderValue(0,1)}})}lsDir(n,d){return n?this.http.get(`${this.uiApiPath}/lsdir/${n}?root_dir=${d}`):(0,Af._)("Please specify a filesystem volume.")}fsals(){return this.http.get(`${this.uiApiPath}/fsals`)}filesystems(){return this.http.get(`${this.uiApiPath}/cephfs/filesystems`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var a0=o(36569);const ep=["squashHelper"];function wf(f,y){1&f&&(e.TgZ(0,"span",14),e.TgZ(1,"span",15),e.SDv(2,16),e.qZA(),e.qZA())}function Df(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,37),e.qZA())}function l0(f,y){1&f&&(e.TgZ(0,"span"),e.ynx(1),e.SDv(2,38),e.BQk(),e._UZ(3,"br"),e.ynx(4),e.SDv(5,39),e.BQk(),e._uU(6," 192.168.0.10, 192.168.1.0/8 "),e.qZA())}function c0(f,y){if(1&f&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.value),e.xp6(1),e.Oqu(n.value)}}function Rb(f,y){if(1&f&&(e.TgZ(0,"span",15),e._uU(1),e.qZA()),2&f){const n=e.oxw().index,d=e.oxw();e.xp6(1),e.hij(" ",d.getAccessTypeHelp(n)," ")}}function Nb(f,y){1&f&&e.GkF(0)}function Pb(f,y){if(1&f&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function Ib(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"div",17),e.TgZ(2,"div",18),e._uU(3),e.ALo(4,"ordinal"),e.TgZ(5,"span",19),e.NdJ("click",function(){const re=e.CHM(n).index;return e.oxw().removeClient(re)}),e._uU(6,"\xd7"),e.qZA(),e.qZA(),e.TgZ(7,"div",20),e.TgZ(8,"div",0),e.TgZ(9,"label",21),e.SDv(10,22),e.qZA(),e.TgZ(11,"div",23),e._UZ(12,"input",24),e.TgZ(13,"span",25),e.YNc(14,Df,2,0,"span",26),e.YNc(15,l0,7,0,"span",26),e.qZA(),e.qZA(),e.qZA(),e.TgZ(16,"div",0),e.TgZ(17,"label",27),e.SDv(18,28),e.qZA(),e.TgZ(19,"div",23),e.TgZ(20,"select",29),e.TgZ(21,"option",30),e._uU(22),e.qZA(),e.YNc(23,c0,2,2,"option",31),e.qZA(),e.YNc(24,Rb,2,1,"span",32),e.qZA(),e.qZA(),e.TgZ(25,"div",0),e.TgZ(26,"label",33),e.TgZ(27,"span"),e.SDv(28,34),e.qZA(),e.YNc(29,Nb,1,0,"ng-container",35),e.qZA(),e.TgZ(30,"div",23),e.TgZ(31,"select",36),e.TgZ(32,"option",30),e._uU(33),e.qZA(),e.YNc(34,Pb,2,2,"option",31),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=y.$implicit,d=y.index,w=e.oxw(),re=e.MAs(4);e.xp6(1),e.Q6J("formGroup",n),e.xp6(2),e.hij(" ",e.lcZ(4,10,d+1)," "),e.xp6(11),e.Q6J("ngIf",w.showError(d,"addresses",re,"required")),e.xp6(1),e.Q6J("ngIf",w.showError(d,"addresses",re,"pattern")),e.xp6(7),e.Oqu(w.getNoAccessTypeDescr()),e.xp6(1),e.Q6J("ngForOf",w.nfsAccessType),e.xp6(1),e.Q6J("ngIf",w.getValue(d,"access_type")),e.xp6(5),e.Q6J("ngTemplateOutlet",w.squashHelperTpl),e.xp6(4),e.Oqu(w.getNoSquashDescr()),e.xp6(1),e.Q6J("ngForOf",w.nfsSquash)}}const C1=function(f){return[f]};let j_=(()=>{class f{constructor(n){this.nfsService=n,this.nfsSquash=this.nfsService.nfsSquash,this.nfsAccessType=this.nfsService.nfsAccessType,this.icons=Ki.P}ngOnInit(){gn().forEach(this.clients,n=>{this.addClient().patchValue(n)}),this.clientsFormArray=this.form.get("clients")}getNoAccessTypeDescr(){return this.form.getValue("access_type")?`${this.form.getValue("access_type")} ${"(inherited from global config)"}`:"-- Select the access type --"}getAccessTypeHelp(n){const d=this.nfsAccessType.find(w=>this.getValue(n,"access_type")===w.value);return gn().isObjectLike(d)?d.help:""}getNoSquashDescr(){return this.form.getValue("squash")?`${this.form.getValue("squash")} (${"inherited from global config"})`:"-- Select what kind of user id squashing is performed --"}addClient(){this.clientsFormArray=this.form.get("clients");const n="(([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3}).([0-9]{1,3})([/](\\d|[1-2]\\d|3[0-2]))?)",w=new xt.d({addresses:new Hn.NI("",{validators:[Hn.kI.required,Hn.kI.pattern(`${n}([ ,]{1,2}${n})*`)]}),access_type:new Hn.NI(""),squash:new Hn.NI("")});return this.clientsFormArray.push(w),w}removeClient(n){this.clientsFormArray=this.form.get("clients"),this.clientsFormArray.removeAt(n)}showError(n,d,w,re){return this.form.controls.clients.controls[n].showError(d,w,re)}getValue(n,d){return this.clientsFormArray=this.form.get("clients"),this.clientsFormArray.at(n).getValue(d)}trackByFn(n){return n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(T1))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-nfs-form-client"]],contentQueries:function(n,d,w){if(1&n&&e.Suo(w,ep,7),2&n){let re;e.iGM(re=e.CRH())&&(d.squashHelperTpl=re.first)}},inputs:{form:"form",clients:"clients"},decls:15,vars:7,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On;return y="Clients",n="Add clients",d="Any client can access",w="Addresses",re="Access Type",Ze="Squash",Lt="This field is required.",Gt="Must contain one or more comma-separated values",On="For example:",[[1,"form-group","row"],[1,"cd-col-form-label"],y,[1,"cd-col-form-input",3,"formGroup"],["formDir","ngForm"],["class","no-border text-muted",4,"ngIf"],["formArrayName","clients"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"row"],[1,"col-12"],[1,"float-right"],["name","add_client",1,"btn","btn-light",3,"click"],[3,"ngClass"],n,[1,"no-border","text-muted"],[1,"form-text","text-muted"],d,[1,"card",3,"formGroup"],[1,"card-header"],["name","remove_client","ngbTooltip","Remove",1,"float-right","clickable",3,"click"],[1,"card-body"],["for","addresses",1,"cd-col-form-label","required"],w,[1,"cd-col-form-input"],["type","text","name","addresses","id","addresses","formControlName","addresses","placeholder","192.168.0.10, 192.168.1.0/8",1,"form-control"],[1,"invalid-feedback"],[4,"ngIf"],["for","access_type",1,"cd-col-form-label"],re,["name","access_type","id","access_type","formControlName","access_type",1,"form-control","custom-select"],["value",""],[3,"value",4,"ngFor","ngForOf"],["class","form-text text-muted",4,"ngIf"],["for","squash",1,"cd-col-form-label"],Ze,[4,"ngTemplateOutlet"],["name","squash","id","squash","formControlName","squash",1,"form-control","custom-select"],Lt,Gt,On,[3,"value"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"label",1),e.SDv(2,2),e.qZA(),e.TgZ(3,"div",3,4),e.YNc(5,wf,3,0,"span",5),e.ynx(6,6),e.YNc(7,Ib,35,12,"div",7),e.BQk(),e.TgZ(8,"div",8),e.TgZ(9,"div",9),e.TgZ(10,"div",10),e.TgZ(11,"button",11),e.NdJ("click",function(){return d.addClient()}),e._UZ(12,"i",12),e.ynx(13),e.SDv(14,13),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(3),e.Q6J("formGroup",d.form),e.xp6(2),e.Q6J("ngIf",0===d.form.get("clients").value.length),e.xp6(2),e.Q6J("ngForOf",d.clientsFormArray.controls)("ngForTrackBy",d.trackByFn),e.xp6(5),e.Q6J("ngClass",e.VKq(5,C1,d.icons.add)))},directives:[kn.P,Hn.JL,Hn.sg,Gn.V,s.O5,Hn.CE,s.sg,Ds.o,s.mk,Br._L,Hn.Fj,zn.b,Hn.JJ,Hn.u,Hn.EJ,Hn.YN,Hn.Kr,s.tP],pipes:[a0.f],styles:[""]}),f})();const Lb=["nfsClients"];function u0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,53),e.qZA())}function Fb(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,54),e.qZA())}function d0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,55),e.qZA())}function f0(f,y){if(1&f&&(e.TgZ(0,"option",56),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.cluster_id),e.xp6(1),e.Oqu(n.cluster_id)}}const Jg=function(){return["create"]},kb=function(f){return{modal:f}},p0=function(f){return{outlets:f}},h0=function(f){return["/services",f]};function S1(f,y){1&f&&(e.TgZ(0,"span",57),e.tHW(1,58),e._UZ(2,"a",59),e.N_p(),e.qZA()),2&f&&(e.xp6(2),e.Q6J("routerLink",e.VKq(6,h0,e.VKq(4,p0,e.VKq(2,kb,e.DdM(1,Jg))))))}function Qg(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,60),e.qZA())}function M1(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,61),e.qZA())}function O1(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,62),e.qZA())}function _0(f,y){if(1&f&&(e.TgZ(0,"option",63),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.value)("disabled",n.disabled),e.xp6(1),e.Oqu(n.descr)}}function g0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,64),e.qZA())}function m0(f,y){if(1&f&&(e.TgZ(0,"span",57),e.SDv(1,65),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.pQV(n.fsalAvailabilityError),e.QtT(1)}}function v0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,69),e.qZA())}function y0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,70),e.qZA())}function b0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,71),e.qZA())}function E0(f,y){if(1&f&&(e.TgZ(0,"option",56),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.name),e.xp6(1),e.Oqu(n.name)}}function T0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,72),e.qZA())}function $b(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",66),e.SDv(2,67),e.qZA(),e.TgZ(3,"div",13),e.TgZ(4,"select",68),e.NdJ("change",function(){return e.CHM(n),e.oxw(2).pathChangeHandler()}),e.YNc(5,v0,2,0,"option",15),e.YNc(6,y0,2,0,"option",15),e.YNc(7,b0,2,0,"option",15),e.YNc(8,E0,2,2,"option",16),e.qZA(),e.YNc(9,T0,2,0,"span",17),e.qZA(),e.qZA()}if(2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(5),e.Q6J("ngIf",null===d.allFsNames),e.xp6(1),e.Q6J("ngIf",null!==d.allFsNames&&0===d.allFsNames.length),e.xp6(1),e.Q6J("ngIf",null!==d.allFsNames&&d.allFsNames.length>0),e.xp6(1),e.Q6J("ngForOf",d.allFsNames),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("fs_name",n,"required"))}}function C0(f,y){1&f&&e._UZ(0,"input",79)}function Hb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,80),e.qZA())}const Ub=function(f){return{required:f}};function jb(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",73),e.SDv(2,74),e.qZA(),e.TgZ(3,"div",13),e.TgZ(4,"div",26),e._UZ(5,"input",75),e.TgZ(6,"label",76),e.SDv(7,77),e.qZA(),e.qZA(),e._UZ(8,"br"),e.YNc(9,C0,1,0,"input",78),e.YNc(10,Hb,2,0,"span",17),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(3,Ub,d.nfsForm.getValue("security_label"))),e.xp6(8),e.Q6J("ngIf",d.nfsForm.getValue("security_label")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("sec_label_xattr",n,"required"))}}function Bb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,85),e.qZA())}function Yb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,86),e.qZA())}function Zb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,87),e.qZA())}function Vb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",81),e.TgZ(2,"span",10),e.SDv(3,82),e.qZA(),e.TgZ(4,"cd-helper"),e.TgZ(5,"p"),e.SDv(6,83),e.qZA(),e.qZA(),e.qZA(),e.TgZ(7,"div",13),e.TgZ(8,"input",84),e.NdJ("selectItem",function(){return e.CHM(n),e.oxw(2).pathChangeHandler()})("blur",function(){return e.CHM(n),e.oxw(2).pathChangeHandler()}),e.qZA(),e.YNc(9,Bb,2,0,"span",17),e.YNc(10,Yb,2,0,"span",17),e.YNc(11,Zb,2,0,"span",17),e.qZA(),e.qZA()}if(2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(8),e.Q6J("ngbTypeahead",d.pathDataSource),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"required")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"pattern")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"pathNameNotAllowed"))}}function Gb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,90),e.qZA())}function zb(f,y){1&f&&(e.TgZ(0,"span",57),e.tHW(1,91),e._UZ(2,"a",92),e.N_p(),e.qZA())}function Wb(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",81),e.TgZ(2,"span",10),e.SDv(3,88),e.qZA(),e.qZA(),e.TgZ(4,"div",13),e._UZ(5,"input",89),e.YNc(6,Gb,2,0,"span",17),e.YNc(7,zb,3,0,"span",17),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(5),e.Q6J("ngbTypeahead",d.bucketDataSource),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"required")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"bucketNameNotAllowed"))}}function qb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,93),e.qZA())}function Jb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,99),e.qZA())}function Qb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,100),e.qZA())}function Xb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,101),e.qZA())}function S0(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",94),e.TgZ(2,"span",10),e.SDv(3,95),e.qZA(),e.TgZ(4,"cd-helper"),e.TgZ(5,"p"),e.tHW(6,96),e._UZ(7,"strong"),e._UZ(8,"strong"),e.N_p(),e.qZA(),e.TgZ(9,"p"),e.SDv(10,97),e.qZA(),e.qZA(),e.qZA(),e.TgZ(11,"div",13),e._UZ(12,"input",98),e.YNc(13,Jb,2,0,"span",17),e.YNc(14,Qb,2,0,"span",17),e.YNc(15,Xb,2,0,"span",17),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(13),e.Q6J("ngIf",d.nfsForm.showError("pseudo",n,"required")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("pseudo",n,"pseudoAlreadyExists")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("pseudo",n,"pattern"))}}function M0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,102),e.qZA())}function O0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,103),e.qZA())}function A0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,104),e.qZA())}function w0(f,y){if(1&f&&(e.TgZ(0,"option",56),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.value),e.xp6(1),e.Oqu(n.value)}}function D0(f,y){if(1&f&&(e.TgZ(0,"span",105),e._uU(1),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.hij(" ",n.getAccessTypeHelp(n.nfsForm.getValue("access_type"))," ")}}function x0(f,y){1&f&&(e.TgZ(0,"span",106),e.tHW(1,107),e._UZ(2,"cd-doc",108),e.N_p(),e.qZA())}function R0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,109),e.qZA())}function N0(f,y){1&f&&e.GkF(0)}function A1(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,110),e.qZA())}function w1(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,111),e.qZA())}function lh(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,112),e.qZA())}function Kb(f,y){if(1&f&&(e.TgZ(0,"option",56),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function eE(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,113),e.qZA())}function Gh(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,114),e.qZA())}function bC(f,y){1&f&&(e.TgZ(0,"cd-helper"),e.TgZ(1,"ul",115),e.TgZ(2,"li"),e.TgZ(3,"span",116),e._uU(4,"no_root_squash: "),e.qZA(),e.TgZ(5,"span"),e.SDv(6,117),e.qZA(),e.qZA(),e.TgZ(7,"li"),e.TgZ(8,"span",116),e._uU(9,"root_id_squash: "),e.qZA(),e.TgZ(10,"span"),e.SDv(11,118),e.qZA(),e.qZA(),e.TgZ(12,"li"),e.TgZ(13,"span",116),e._uU(14,"root_squash: "),e.qZA(),e.TgZ(15,"span"),e.SDv(16,119),e.qZA(),e.qZA(),e.TgZ(17,"li"),e.TgZ(18,"span",116),e._uU(19,"all_squash: "),e.qZA(),e.TgZ(20,"span"),e.SDv(21,120),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function D1(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.TgZ(11,"span",10),e.SDv(12,11),e.qZA(),e.TgZ(13,"cd-helper"),e.TgZ(14,"p"),e.SDv(15,12),e.qZA(),e.qZA(),e.qZA(),e.TgZ(16,"div",13),e.TgZ(17,"select",14),e.YNc(18,u0,2,0,"option",15),e.YNc(19,Fb,2,0,"option",15),e.YNc(20,d0,2,0,"option",15),e.YNc(21,f0,2,2,"option",16),e.qZA(),e.YNc(22,S1,3,8,"span",17),e.qZA(),e.qZA(),e.TgZ(23,"div",18),e.TgZ(24,"div",8),e.TgZ(25,"label",19),e.SDv(26,20),e.qZA(),e.TgZ(27,"div",13),e.TgZ(28,"select",21),e.NdJ("change",function(){return e.CHM(n),e.oxw().fsalChangeHandler()}),e.YNc(29,Qg,2,0,"option",15),e.YNc(30,M1,2,0,"option",15),e.YNc(31,O1,2,0,"option",15),e.YNc(32,_0,2,3,"option",22),e.qZA(),e.YNc(33,g0,2,0,"span",17),e.YNc(34,m0,2,1,"span",17),e.qZA(),e.qZA(),e.YNc(35,$b,10,5,"div",23),e.qZA(),e.YNc(36,jb,11,5,"div",23),e.YNc(37,Vb,12,4,"div",23),e.YNc(38,Wb,8,3,"div",23),e.TgZ(39,"div",8),e.TgZ(40,"label",24),e.SDv(41,25),e.qZA(),e.TgZ(42,"div",13),e.TgZ(43,"div",26),e._UZ(44,"input",27),e.TgZ(45,"label",28),e.SDv(46,29),e.qZA(),e.qZA(),e.YNc(47,qb,2,0,"span",17),e.qZA(),e.qZA(),e.YNc(48,S0,16,3,"div",23),e.TgZ(49,"div",8),e.TgZ(50,"label",30),e.SDv(51,31),e.qZA(),e.TgZ(52,"div",13),e.TgZ(53,"select",32),e.NdJ("change",function(){return e.CHM(n),e.oxw().accessTypeChangeHandler()}),e.YNc(54,M0,2,0,"option",15),e.YNc(55,O0,2,0,"option",15),e.YNc(56,A0,2,0,"option",15),e.YNc(57,w0,2,2,"option",16),e.qZA(),e.YNc(58,D0,2,1,"span",33),e.YNc(59,x0,3,0,"span",34),e.YNc(60,R0,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(61,"div",8),e.TgZ(62,"label",35),e.TgZ(63,"span",10),e.SDv(64,36),e.qZA(),e.YNc(65,N0,1,0,"ng-container",37),e.qZA(),e.TgZ(66,"div",13),e.TgZ(67,"select",38),e.YNc(68,A1,2,0,"option",15),e.YNc(69,w1,2,0,"option",15),e.YNc(70,lh,2,0,"option",15),e.YNc(71,Kb,2,2,"option",16),e.qZA(),e.YNc(72,eE,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(73,"div",8),e.TgZ(74,"label",39),e.SDv(75,40),e.qZA(),e.TgZ(76,"div",13),e.TgZ(77,"div",26),e._UZ(78,"input",41),e.TgZ(79,"label",42),e.SDv(80,43),e.qZA(),e.qZA(),e.TgZ(81,"div",26),e._UZ(82,"input",44),e.TgZ(83,"label",45),e.SDv(84,46),e.qZA(),e.qZA(),e.YNc(85,Gh,2,0,"span",17),e._UZ(86,"hr"),e.qZA(),e.qZA(),e.TgZ(87,"cd-nfs-form-client",47,48),e.YNc(89,bC,22,0,"ng-template",null,49,e.W1O),e.qZA(),e.qZA(),e.TgZ(91,"div",50),e.TgZ(92,"cd-form-button-panel",51),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw().submitAction()}),e.ALo(93,"titlecase"),e.ALo(94,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.MAs(90),w=e.oxw();e.xp6(1),e.Q6J("formGroup",w.nfsForm),e.xp6(6),e.pQV(e.lcZ(6,38,w.action))(e.lcZ(7,40,w.resource)),e.QtT(5),e.xp6(11),e.Q6J("ngIf",null===w.allClusters),e.xp6(1),e.Q6J("ngIf",null!==w.allClusters&&0===w.allClusters.length),e.xp6(1),e.Q6J("ngIf",null!==w.allClusters&&w.allClusters.length>0),e.xp6(1),e.Q6J("ngForOf",w.allClusters),e.xp6(1),e.Q6J("ngIf",w.nfsForm.showError("cluster_id",n,"required")||0===(null==w.allClusters?null:w.allClusters.length)),e.xp6(7),e.Q6J("ngIf",null===w.allFsals),e.xp6(1),e.Q6J("ngIf",null!==w.allFsals&&0===w.allFsals.length),e.xp6(1),e.Q6J("ngIf",null!==w.allFsals&&w.allFsals.length>0),e.xp6(1),e.Q6J("ngForOf",w.allFsals),e.xp6(1),e.Q6J("ngIf",w.nfsForm.showError("name",n,"required")),e.xp6(1),e.Q6J("ngIf",w.fsalAvailabilityError),e.xp6(1),e.Q6J("ngIf","CEPH"===w.nfsForm.getValue("name")),e.xp6(1),e.Q6J("ngIf","CEPH"===w.nfsForm.getValue("name")),e.xp6(1),e.Q6J("ngIf","CEPH"===w.nfsForm.getValue("name")),e.xp6(1),e.Q6J("ngIf","RGW"===w.nfsForm.getValue("name")),e.xp6(9),e.Q6J("ngIf",w.nfsForm.showError("protocolNfsv4",n,"required")),e.xp6(1),e.Q6J("ngIf",w.nfsForm.getValue("protocolNfsv4")),e.xp6(6),e.Q6J("ngIf",null===w.nfsAccessType),e.xp6(1),e.Q6J("ngIf",null!==w.nfsAccessType&&0===w.nfsAccessType.length),e.xp6(1),e.Q6J("ngIf",null!==w.nfsAccessType&&w.nfsAccessType.length>0),e.xp6(1),e.Q6J("ngForOf",w.nfsAccessType),e.xp6(1),e.Q6J("ngIf",w.nfsForm.getValue("access_type")),e.xp6(1),e.Q6J("ngIf","RW"===w.nfsForm.getValue("access_type")&&"RGW"===w.nfsForm.getValue("name")),e.xp6(1),e.Q6J("ngIf",w.nfsForm.showError("access_type",n,"required")),e.xp6(5),e.Q6J("ngTemplateOutlet",d),e.xp6(3),e.Q6J("ngIf",null===w.nfsSquash),e.xp6(1),e.Q6J("ngIf",null!==w.nfsSquash&&0===w.nfsSquash.length),e.xp6(1),e.Q6J("ngIf",null!==w.nfsSquash&&w.nfsSquash.length>0),e.xp6(1),e.Q6J("ngForOf",w.nfsSquash),e.xp6(1),e.Q6J("ngIf",w.nfsForm.showError("squash",n,"required")),e.xp6(13),e.Q6J("ngIf",w.nfsForm.showError("transportUDP",n,"required")||w.nfsForm.showError("transportTCP",n,"required")),e.xp6(2),e.Q6J("form",w.nfsForm)("clients",w.clients),e.xp6(5),e.Q6J("form",w.nfsForm)("submitText",e.lcZ(93,42,w.action)+" "+e.lcZ(94,44,w.resource))}}let tE=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt,Gt,On,pr,fr){super(),this.authStorageService=n,this.nfsService=d,this.route=w,this.router=re,this.rgwBucketService=Ze,this.rgwSiteService=Lt,this.formBuilder=Gt,this.taskWrapper=On,this.cdRef=pr,this.actionLabels=fr,this.clients=[],this.isEdit=!1,this.cluster_id=null,this.export_id=null,this.allClusters=null,this.icons=Ki.P,this.allFsals=[],this.allFsNames=null,this.fsalAvailabilityError=null,this.defaultAccessType={RGW:"RO"},this.nfsAccessType=this.nfsService.nfsAccessType,this.nfsSquash=this.nfsService.nfsSquash,this.pathDataSource=ri=>ri.pipe(gd(200),(0,gf.x)(),(0,al.zg)(Ii=>this.getPathTypeahead(Ii)),(0,Rs.U)(Ii=>Ii)),this.bucketDataSource=ri=>ri.pipe(gd(200),(0,gf.x)(),(0,al.zg)(Ii=>this.getBucketTypeahead(Ii))),this.permission=this.authStorageService.getPermissions().pool,this.resource="NFS export",this.createForm()}ngOnInit(){const n=[this.nfsService.listClusters(),this.nfsService.fsals(),this.nfsService.filesystems()];this.router.url.startsWith("/nfs/edit")&&(this.isEdit=!0),this.isEdit?(this.action=this.actionLabels.EDIT,this.route.params.subscribe(d=>{this.cluster_id=decodeURIComponent(d.cluster_id),this.export_id=decodeURIComponent(d.export_id),n.push(this.nfsService.get(this.cluster_id,this.export_id)),this.getData(n)}),this.nfsForm.get("cluster_id").disable()):(this.action=this.actionLabels.CREATE,this.getData(n))}getData(n){(0,Ws.D)(n).subscribe(d=>{this.resolveClusters(d[0]),this.resolveFsals(d[1]),this.resolveFilesystems(d[2]),d[3]&&this.resolveModel(d[3]),this.loadingReady()})}createForm(){this.nfsForm=new xt.d({cluster_id:new Hn.NI("",{validators:[Hn.kI.required]}),fsal:new xt.d({name:new Hn.NI("",{validators:[Hn.kI.required]}),fs_name:new Hn.NI("",{validators:[vo.h.requiredIf({name:"CEPH"})]})}),path:new Hn.NI("/"),protocolNfsv4:new Hn.NI(!0),pseudo:new Hn.NI("",{validators:[vo.h.requiredIf({protocolNfsv4:!0}),Hn.kI.pattern("^/[^><|&()]*$")]}),access_type:new Hn.NI("RW",{validators:[Hn.kI.required]}),squash:new Hn.NI(this.nfsSquash[0],{validators:[Hn.kI.required]}),transportUDP:new Hn.NI(!0,{validators:[vo.h.requiredIf({transportTCP:!1},n=>!n)]}),transportTCP:new Hn.NI(!0,{validators:[vo.h.requiredIf({transportUDP:!1},n=>!n)]}),clients:this.formBuilder.array([]),security_label:new Hn.NI(!1),sec_label_xattr:new Hn.NI("security.selinux",vo.h.requiredIf({security_label:!0,"fsal.name":"CEPH"}))})}resolveModel(n){"CEPH"===n.fsal.name&&(n.sec_label_xattr=n.fsal.sec_label_xattr),n.protocolNfsv4=-1!==n.protocols.indexOf(4),delete n.protocols,n.transportTCP=-1!==n.transports.indexOf("TCP"),n.transportUDP=-1!==n.transports.indexOf("UDP"),delete n.transports,n.clients.forEach(d=>{let w="";d.addresses.forEach(re=>{w+=re+", "}),w.length>=2&&(w=w.substring(0,w.length-2)),d.addresses=w}),this.nfsForm.patchValue(n),this.setPathValidation(),this.clients=n.clients}resolveClusters(n){this.allClusters=[];for(const d of n)this.allClusters.push({cluster_id:d});!this.isEdit&&this.allClusters.length>0&&this.nfsForm.get("cluster_id").setValue(this.allClusters[0].cluster_id)}resolveFsals(n){n.forEach(d=>{const w=this.nfsService.nfsFsal.find(re=>d===re.value);gn().isObjectLike(w)&&this.allFsals.push(w)}),!this.isEdit&&this.allFsals.length>0&&this.nfsForm.patchValue({fsal:{name:this.allFsals[0].value}})}resolveFilesystems(n){this.allFsNames=n,!this.isEdit&&n.length>0&&this.nfsForm.patchValue({fsal:{fs_name:n[0].name}})}fsalChangeHandler(){this.setPathValidation();const n=this.nfsForm.getValue("name");("RGW"===n?this.rgwSiteService.get("realms").pipe((0,al.zg)(w=>0===w.length?(0,xs.of)(!0):this.rgwSiteService.isDefaultRealm().pipe((0,al.zg)(re=>{if(!re)throw new Error("Selected realm is not the default.");return(0,xs.of)(!0)})))):this.nfsService.filesystems()).subscribe({next:()=>{this.setFsalAvailability(n,!0),this.isEdit||this.nfsForm.patchValue({path:"RGW"===n?"":"/",pseudo:this.generatePseudo(),access_type:this.updateAccessType()}),this.cdRef.detectChanges()},error:w=>{this.setFsalAvailability(n,!1,w),this.nfsForm.get("name").setValue("")}})}setFsalAvailability(n,d,w=""){this.allFsals=this.allFsals.map(re=>(re.value===n&&(re.disabled=!d,this.fsalAvailabilityError=re.disabled?"" + re.descr + " backend is not available. " + w + "":null),re))}accessTypeChangeHandler(){const n=this.nfsForm.getValue("name"),d=this.nfsForm.getValue("access_type");this.defaultAccessType[n]=d}setPathValidation(){const n=this.nfsForm.get("path");n.setValidators([Hn.kI.required]),"RGW"===this.nfsForm.getValue("name")?n.setAsyncValidators([vo.h.bucketExistence(!0,this.rgwBucketService)]):n.setAsyncValidators([this.pathExistence(!0)]),this.isEdit&&n.markAsDirty()}getAccessTypeHelp(n){const d=this.nfsAccessType.find(w=>{if(n===w.value)return w});return gn().isObjectLike(d)?d.help:""}getId(){return gn().isString(this.nfsForm.getValue("cluster_id"))&&gn().isString(this.nfsForm.getValue("path"))?this.nfsForm.getValue("cluster_id")+":"+this.nfsForm.getValue("path"):""}getPathTypeahead(n){if(!gn().isString(n)||"/"===n)return(0,xs.of)([]);const d=this.nfsForm.getValue("fsal").fs_name;return this.nfsService.lsDir(d,n).pipe((0,Rs.U)(w=>w.paths.filter(re=>re.toLowerCase().includes(n)).slice(0,15)),(0,U_.K)(()=>(0,xs.of)(["Error while retrieving paths."])))}pathChangeHandler(){this.isEdit||this.nfsForm.patchValue({pseudo:this.generatePseudo()})}getBucketTypeahead(n){return gn().isString(n)&&"/"!==n&&""!==n?this.rgwBucketService.list().pipe((0,Rs.U)(d=>d.filter(w=>w.toLowerCase().includes(n)).slice(0,15)),(0,U_.K)(()=>(0,xs.of)(["Error while retrieving bucket names."]))):(0,xs.of)([])}generatePseudo(){let n=this.nfsForm.getValue("pseudo");return this.nfsForm.get("pseudo")&&!this.nfsForm.get("pseudo").dirty&&(n=void 0,"CEPH"===this.nfsForm.getValue("fsal")&&(n="/cephfs",gn().isString(this.nfsForm.getValue("path"))&&(n+=this.nfsForm.getValue("path")))),n}updateAccessType(){const n=this.nfsForm.getValue("name");let d=this.defaultAccessType[n];return d||(d="RW"),d}submitAction(){let n;const d=this.buildRequest();n=this.taskWrapper.wrapTaskAroundCall(this.isEdit?{task:new Ga.R("nfs/edit",{cluster_id:this.cluster_id,export_id:gn().parseInt(this.export_id)}),call:this.nfsService.update(this.cluster_id,gn().parseInt(this.export_id),d)}:{task:new Ga.R("nfs/create",{path:d.path,fsal:d.fsal,cluster_id:d.cluster_id}),call:this.nfsService.create(d)}),n.subscribe({error:w=>this.setFormErrors(w),complete:()=>this.router.navigate(["/nfs"])})}setFormErrors(n){n.error.detail&&n.error.detail.toString().includes(`Pseudo ${this.nfsForm.getValue("pseudo")} is already in use`)&&this.nfsForm.get("pseudo").setErrors({pseudoAlreadyExists:!0}),this.nfsForm.setErrors({cdSubmitButton:!0})}buildRequest(){const n=gn().cloneDeep(this.nfsForm.value);return this.isEdit&&(n.export_id=gn().parseInt(this.export_id)),"RGW"===n.fsal.name&&delete n.fsal.fs_name,n.protocols=[],n.protocolNfsv4?n.protocols.push(4):n.pseudo=null,delete n.protocolNfsv4,n.transports=[],n.transportTCP&&n.transports.push("TCP"),delete n.transportTCP,n.transportUDP&&n.transports.push("UDP"),delete n.transportUDP,n.clients.forEach(d=>{d.addresses=gn().isString(d.addresses)?gn()(d.addresses).split(/[ ,]+/).uniq().filter(w=>""!==w).value():[],d.squash||(d.squash=n.squash),d.access_type||(d.access_type=n.access_type)}),n.fsal.sec_label_xattr=!1===n.security_label||"RGW"===n.fsal.name?null:n.sec_label_xattr,delete n.sec_label_xattr,n}pathExistence(n){return d=>{if(d.pristine||!d.value)return(0,xs.of)({required:!0});const w=this.nfsForm.getValue("fsal").fs_name;return this.nfsService.lsDir(w,d.value).pipe((0,Rs.U)(re=>re.paths.includes(d.value)===n?null:{pathNameNotAllowed:!0}),(0,U_.K)(()=>(0,xs.of)({pathNameNotAllowed:!0})))}}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(T1),e.Y36(tn.gz),e.Y36(tn.F0),e.Y36(b1.o),e.Y36(E1.I),e.Y36(uc.O),e.Y36($i.P),e.Y36(e.sBO),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-nfs-form"]],viewQuery:function(n,d){if(1&n&&e.Gf(Lb,7),2&n){let w;e.iGM(w=e.CRH())&&(d.nfsClients=w.first)}},features:[e.qOj],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co,zo,Bs,gs,ks,ma,Tl,va,Wl,Kc,xo,Du,id,Ed,Vu,Rf,np,ls,Ms,hs,$a,oc,Gc,Hc,du,Pl,rp,fu,Td,od,Gu,Ys,Kh,dh,X_,pm,K_,eg,tg,ng,rg,ig,yp;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Cluster",d="This is the ID of an NFS Service.",w="Storage Backend",re="NFS Protocol",Ze="NFSv4",Lt="Access Type",Gt="Squash",On="Transport Protocol",pr="UDP",fr="TCP",ri="Loading...",Ii="-- No cluster available --",go="-- Select the cluster --",co="This field is required. To create a new NFS cluster, " + "\ufffd#2\ufffd" + "add a new NFS Service" + "\ufffd/#2\ufffd" + ".",zo="Loading...",Bs="-- No data pools available --",gs="-- Select the storage backend --",ks="This field is required.",ma="" + "\ufffd0\ufffd" + "",Tl="Volume",va="Loading...",Wl="-- No CephFS filesystem available --",Kc="-- Select the CephFS filesystem --",xo="This field is required.",Du="Security Label",id="Enable security label",Ed="This field is required.",Vu="CephFS Path",Rf="A path in a CephFS file system.",np="This field is required.",ls="Path need to start with a '/' and can be followed by a word",Ms="The path does not exist in the selected volume.",hs="Bucket",$a="This field is required.",oc="The bucket does not exist or is not in the default realm (if multiple realms are configured). To continue, " + "\ufffd#2\ufffd" + "create a new bucket" + "\ufffd/#2\ufffd" + ".",Gc="This field is required.",Hc="Pseudo",du="The position that this " + "[\ufffd#7\ufffd|\ufffd#8\ufffd]" + "NFS v4" + "[\ufffd/#7\ufffd|\ufffd/#8\ufffd]" + " export occupies in the " + "[\ufffd#7\ufffd|\ufffd#8\ufffd]" + "Pseudo FS" + "[\ufffd/#7\ufffd|\ufffd/#8\ufffd]" + " (it must be unique).",du=e.Zx4(du),Pl="By using different Pseudo options, the same Path may be exported multiple times.",rp="This field is required.",fu="The pseudo is already in use by another export.",Td="Pseudo needs to start with a '/' and can't contain any of the following: >, <, |, &, ( or ).",od="Loading...",Gu="-- No access type available --",Ys="-- Select the access type --",Kh="The Object Gateway NFS backend has a number of limitations which will seriously affect applications writing to the share. Please consult the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " for details before enabling write access.",dh="This field is required.",X_="Loading...",pm="-- No squash available --",K_="--Select what kind of user id squashing is performed --",eg="This field is required.",tg="This field is required.",ng="No user id squashing is performed.",rg="uid 0 and gid 0 are squashed to the Anonymous_Uid and Anonymous_Gid gid 0 in alt_groups lists is also squashed.",ig="uid 0 and gid of any value are squashed to the Anonymous_Uid and Anonymous_Gid alt_groups lists is discarded.",yp="All users are squashed.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","nfsForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],y,[1,"card-body"],[1,"form-group","row"],["for","cluster_id",1,"cd-col-form-label"],[1,"required"],n,d,[1,"cd-col-form-input"],["formControlName","cluster_id","name","cluster_id","id","cluster_id",1,"form-control","custom-select"],["value","",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],["formGroupName","fsal"],["for","name",1,"cd-col-form-label","required"],w,["formControlName","name","name","name","id","name",1,"form-control","custom-select",3,"change"],[3,"value","disabled",4,"ngFor","ngForOf"],["class","form-group row",4,"ngIf"],["for","protocols",1,"cd-col-form-label","required"],re,[1,"custom-control","custom-checkbox"],["type","checkbox","formControlName","protocolNfsv4","name","protocolNfsv4","id","protocolNfsv4","disabled","",1,"custom-control-input"],["for","protocolNfsv4",1,"custom-control-label"],Ze,["for","access_type",1,"cd-col-form-label","required"],Lt,["formControlName","access_type","name","access_type","id","access_type",1,"form-control","custom-select",3,"change"],["class","form-text text-muted",4,"ngIf"],["class","form-text text-warning",4,"ngIf"],["for","squash",1,"cd-col-form-label"],Gt,[4,"ngTemplateOutlet"],["name","squash","formControlName","squash","id","squash",1,"form-control","custom-select"],["for","transports",1,"cd-col-form-label","required"],On,["type","checkbox","formControlName","transportUDP","name","transportUDP","id","transportUDP",1,"custom-control-input"],["for","transportUDP",1,"custom-control-label"],pr,["type","checkbox","formControlName","transportTCP","name","transportTCP","id","transportTCP",1,"custom-control-input"],["for","transportTCP",1,"custom-control-label"],fr,[3,"form","clients"],["nfsClients",""],["squashHelper",""],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["value",""],ri,Ii,go,[3,"value"],[1,"invalid-feedback"],co,[1,"btn-link",3,"routerLink"],zo,Bs,gs,[3,"value","disabled"],ks,ma,["for","fs_name",1,"cd-col-form-label","required"],Tl,["formControlName","fs_name","name","fs_name","id","fs_name",1,"form-control","custom-select",3,"change"],va,Wl,Kc,xo,["for","security_label",1,"cd-col-form-label",3,"ngClass"],Du,["type","checkbox","formControlName","security_label","name","security_label","id","security_label",1,"custom-control-input"],["for","security_label",1,"custom-control-label"],id,["type","text","class","form-control","name","sec_label_xattr","id","sec_label_xattr","formControlName","sec_label_xattr",4,"ngIf"],["type","text","name","sec_label_xattr","id","sec_label_xattr","formControlName","sec_label_xattr",1,"form-control"],Ed,["for","path",1,"cd-col-form-label"],Vu,Rf,["type","text","name","path","id","path","data-testid","fs_path","formControlName","path",1,"form-control",3,"ngbTypeahead","selectItem","blur"],np,ls,Ms,hs,["type","text","name","path","id","path","data-testid","rgw_path","formControlName","path",1,"form-control",3,"ngbTypeahead"],$a,oc,["routerLink","/rgw/bucket/create",1,"btn-link"],Gc,["for","pseudo",1,"cd-col-form-label"],Hc,du,Pl,["type","text","name","pseudo","id","pseudo","formControlName","pseudo",1,"form-control"],rp,fu,Td,od,Gu,Ys,[1,"form-text","text-muted"],[1,"form-text","text-warning"],Kh,["section","rgw-nfs"],dh,X_,pm,K_,eg,tg,[1,"squash-helper"],[1,"squash-helper-item-value"],ng,rg,ig,yp]},template:function(n,d){1&n&&e.YNc(0,D1,95,46,"div",0),2&n&&e.Q6J("cdFormLoading",d.loading)},directives:[vn.y,Hn._Y,Hn.JL,Hn.sg,Gn.V,kn.P,ul.S,Ds.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,s.O5,s.sg,Hn.x0,Hn.Wl,s.tP,j_,jr.p,Hn.YN,Hn.Kr,tn.yS,s.mk,Hn.Fj,Br.dR,Go.K],pipes:[s.rS,p.m],styles:[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}.squash-helper[_ngcontent-%COMP%]{padding-left:1rem}.squash-helper-item-value[_ngcontent-%COMP%]{font-weight:bold}"]}),f})();var x1=o(38047);function P0(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",10),2&f){const n=e.oxw(2);e.Q6J("data",n.data)}}function EC(f,y){if(1&f&&e._UZ(0,"cd-table",11,12),2&f){const n=e.oxw(2);e.Q6J("data",n.clients)("columns",n.clientsColumns)}}function Xs(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,P0,1,1,"ng-template",6),e.qZA(),e.TgZ(7,"li",7),e.TgZ(8,"a",4),e.SDv(9,8),e.qZA(),e.YNc(10,EC,2,2,"ng-template",6),e.qZA(),e.qZA(),e._UZ(11,"div",9),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw();e.xp6(9),e.pQV(d.clients.length),e.QtT(9),e.xp6(2),e.Q6J("ngbNavOutlet",n)}}let nE=(()=>{class f{constructor(){this.clients=[],this.clientsColumns=[{name:"Addresses",prop:"addresses",flexGrow:2},{name:"Access Type",prop:"access_type",flexGrow:1},{name:"Squash",prop:"squash",flexGrow:1}]}ngOnChanges(){this.selection&&(this.selectedItem=this.selection,this.clients=this.selectedItem.clients,this.data={},this.data["Cluster"]=this.selectedItem.cluster_id,this.data["NFS Protocol"]=this.selectedItem.protocols.map(n=>"NFSv"+n),this.data["Pseudo"]=this.selectedItem.pseudo,this.data["Access Type"]=this.selectedItem.access_type,this.data["Squash"]=this.selectedItem.squash,this.data["Transport"]=this.selectedItem.transports,this.data["Path"]=this.selectedItem.path,"CEPH"===this.selectedItem.fsal.name?(this.data["Storage Backend"]="CephFS",this.data["CephFS User"]=this.selectedItem.fsal.user_id,this.data["CephFS Filesystem"]=this.selectedItem.fsal.fs_name,this.data["Security Label"]=this.selectedItem.fsal.sec_label_xattr):(this.data["Storage Backend"]="Object Gateway",this.data["Object Gateway User"]=this.selectedItem.fsal.user_id))}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-nfs-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let y,n;return y="Details",n="Clients (" + "\ufffd0\ufffd" + ")",[[4,"ngIf"],["ngbNav","","cdStatefulTab","nfs-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","clients"],n,[3,"ngbNavOutlet"],[3,"data"],["columnMode","flex","identifier","addresses","forceIdentifier","true","selectionType","",3,"data","columns"],["table",""]]},template:function(n,d){1&n&&e.YNc(0,Xs,12,2,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,Ft.b,Ui.a],styles:[""]}),f})();const rE=["nfsState"],iE=["nfsFsal"],Xg=["table"];function oE(f,y){1&f&&(e.ynx(0),e.SDv(1,7),e.BQk())}function Kg(f,y){1&f&&(e.ynx(0),e.SDv(1,8),e.BQk())}function em(f,y){if(1&f&&(e.YNc(0,oE,2,0,"ng-container",6),e.YNc(1,Kg,2,0,"ng-container",6)),2&f){const n=y.value;e.Q6J("ngIf","CEPH"===n.name),e.xp6(1),e.Q6J("ngIf","RGW"===n.name)}}let $c=(()=>{class f extends mi.o{constructor(n,d,w,re,Ze,Lt){super(),this.authStorageService=n,this.modalService=d,this.nfsService=w,this.taskListService=re,this.taskWrapper=Ze,this.actionLabels=Lt,this.selection=new si.r,this.isDefaultCluster=!1,this.builders={"nfs/create":ri=>({path:ri.path,cluster_id:ri.cluster_id,fsal:ri.fsal})},this.permission=this.authStorageService.getPermissions().nfs;const Gt=()=>this.selection.first()&&`${encodeURI(this.selection.first().cluster_id)}/${encodeURI(this.selection.first().export_id)}`;this.tableActions=[{permission:"create",icon:Ki.P.add,routerLink:()=>"/nfs/create",canBePrimary:ri=>!ri.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:Ki.P.edit,routerLink:()=>`/nfs/edit/${Gt()}`,name:this.actionLabels.EDIT},{permission:"delete",icon:Ki.P.destroy,click:()=>this.deleteNfsModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"Path",prop:"path",flexGrow:2,cellTransformation:ni.e.executing},{name:"Pseudo",prop:"pseudo",flexGrow:2},{name:"Cluster",prop:"cluster_id",flexGrow:2},{name:"Storage Backend",prop:"fsal",flexGrow:2,cellTemplate:this.nfsFsal},{name:"Access Type",prop:"access_type",flexGrow:2}],this.taskListService.init(()=>this.nfsService.list(),n=>this.prepareResponse(n),n=>this.exports=n,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders)}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}prepareResponse(n){let d=[];return n.forEach(w=>{w.id=`${w.cluster_id}:${w.export_id}`,w.state="LOADING",d=d.concat(w)}),d}onFetchError(){this.table.reset(),this.viewCacheStatus={status:Bi.T.ValueException}}itemFilter(n,d){return n.cluster_id===d.metadata.cluster_id&&n.export_id===d.metadata.export_id}taskFilter(n){return["nfs/create","nfs/delete","nfs/edit"].includes(n.name)}updateSelection(n){this.selection=n}deleteNfsModal(){const n=this.selection.first().cluster_id,d=this.selection.first().export_id;this.modalRef=this.modalService.show(jo.M,{itemDescription:"NFS export",itemNames:[`${n}:${d}`],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new Ga.R("nfs/delete",{cluster_id:n,export_id:d}),call:this.nfsService.delete(n,d)})})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(na.Z),e.Y36(T1),e.Y36(x1.j),e.Y36($i.P),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-nfs-list"]],viewQuery:function(n,d){if(1&n&&(e.Gf(rE,5),e.Gf(iE,7),e.Gf(Xg,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.nfsState=w.first),e.iGM(w=e.CRH())&&(d.nfsFsal=w.first),e.iGM(w=e.CRH())&&(d.table=w.first)}},features:[e._Bn([x1.j]),e.qOj],decls:7,vars:7,consts:function(){let y,n;return y="CephFS",n="Object Gateway",[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","setExpandedRow","updateSelection"],["table",""],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["nfsFsal",""],[4,"ngIf"],y,n]},template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(re){return d.setExpandedRow(re)})("updateSelection",function(re){return d.updateSelection(re)}),e.TgZ(2,"div",2),e._UZ(3,"cd-table-actions",3),e.qZA(),e._UZ(4,"cd-nfs-details",4),e.qZA(),e.YNc(5,em,2,2,"ng-template",null,5,e.W1O)),2&n&&(e.Q6J("data",d.exports)("columns",d.columns)("hasDetails",!0),e.xp6(3),e.Q6J("permission",d.permission)("selection",d.selection)("tableActions",d.tableActions),e.xp6(1),e.Q6J("selection",d.expandedRow))},directives:[Ui.a,ha.K,nE,s.O5],styles:[""]}),f})(),TC=(()=>{class f{constructor(n){this.route=n,this.route.queryParams.subscribe(d=>{this.fromLink=d.fromLink||f.defaultFromLink}),this.route.params.subscribe(d=>{this.serviceId=decodeURIComponent(d.id),this.serviceType=d.type})}}return f.defaultFromLink="/hosts",f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.gz))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-performance-counter"]],decls:3,vars:4,consts:[[3,"serviceType","serviceId"]],template:function(n,d){1&n&&(e.TgZ(0,"legend"),e._uU(1),e.qZA(),e._UZ(2,"cd-table-performance-counter",0)),2&n&&(e.xp6(1),e.AsE("",d.serviceType,".",d.serviceId,""),e.xp6(1),e.Q6J("serviceType",d.serviceType)("serviceId",d.serviceId))},directives:[Dg.p],styles:[""]}),f})();var tm=o(39219),nm=o(33888),R1=o(32057);function I0(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,31),e.qZA())}function L0(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,32),e.qZA())}function F0(f,y){if(1&f&&e._UZ(0,"cd-helper",33),2&f){const n=e.oxw();e.s9C("html",n.passwordPolicyHelpText)}}function k0(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,34),e.qZA())}function sE(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,35),e.qZA())}function aE(f,y){if(1&f&&(e.TgZ(0,"span",30),e._uU(1),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.hij(" ",n.passwordValuation," ")}}function lE(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,36),e.qZA())}function B_(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,37),e.qZA())}let $0=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt){this.actionLabels=n,this.notificationService=d,this.userService=w,this.authStorageService=re,this.formBuilder=Ze,this.router=Lt,this.passwordPolicyService=Gt,this.passwordPolicyHelpText="",this.icons=Ki.P,this.action=this.actionLabels.CHANGE,this.resource="password",this.createForm()}createForm(){this.passwordPolicyService.getHelpText().subscribe(n=>{this.passwordPolicyHelpText=n}),this.userForm=this.formBuilder.group({oldpassword:[null,[Hn.kI.required,vo.h.custom("notmatch",()=>this.userForm&&this.userForm.getValue("newpassword")===this.userForm.getValue("oldpassword"))]],newpassword:[null,[Hn.kI.required,vo.h.custom("notmatch",()=>this.userForm&&this.userForm.getValue("oldpassword")===this.userForm.getValue("newpassword"))],[vo.h.passwordPolicy(this.userService,()=>this.authStorageService.getUsername(),(n,d,w)=>{this.passwordStrengthLevelClass=this.passwordPolicyService.mapCreditsToCssClass(d),this.passwordValuation=gn().defaultTo(w,"")})]],confirmnewpassword:[null,[Hn.kI.required]]},{validators:[vo.h.match("newpassword","confirmnewpassword")]})}onSubmit(){if(this.userForm.pristine)return;const n=this.authStorageService.getUsername(),d=this.userForm.getValue("oldpassword"),w=this.userForm.getValue("newpassword");this.userService.changePassword(n,d,w).subscribe(()=>this.onPasswordChange(),()=>{this.userForm.setErrors({cdSubmitButton:!0})})}onPasswordChange(){this.notificationService.show(Ho.k.success,"Updated user password\""),this.router.navigate(["/login"])}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(Yi.g),e.Y36(R1.K),e.Y36(hi.j),e.Y36(uc.O),e.Y36(tn.F0),e.Y36(nm.q))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-user-password-form"]],decls:48,vars:25,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Old password",d="New password",w="Confirm new password",re="This field is required.",Ze="The old and new passwords must be different.",Lt="This field is required.",Gt="The old and new passwords must be different.",On="This field is required.",pr="Password confirmation doesn't match the new password.",[[1,"cd-col-form"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],y,[1,"card-body"],[1,"form-group","row"],["for","oldpassword",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],[1,"input-group"],["type","password","placeholder","Old password...","id","oldpassword","formControlName","oldpassword","autocomplete","new-password","autofocus","",1,"form-control"],[1,"input-group-append"],["cdPasswordButton","oldpassword",1,"btn","btn-light"],["class","invalid-feedback",4,"ngIf"],["for","newpassword",1,"cd-col-form-label"],[1,"required"],d,["class","text-pre-wrap",3,"html",4,"ngIf"],["type","password","placeholder","Password...","id","newpassword","autocomplete","new-password","formControlName","newpassword",1,"form-control"],["type","button","cdPasswordButton","newpassword",1,"btn","btn-light"],[1,"password-strength-level"],["data-toggle","tooltip",3,"title"],["for","confirmnewpassword",1,"cd-col-form-label","required"],w,["type","password","autocomplete","new-password","placeholder","Confirm new password...","id","confirmnewpassword","formControlName","confirmnewpassword",1,"form-control"],["cdPasswordButton","confirmnewpassword",1,"btn","btn-light"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],re,Ze,[1,"text-pre-wrap",3,"html"],Lt,Gt,On,pr]},template:function(n,d){if(1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"form",1,2),e.TgZ(3,"div",3),e.TgZ(4,"div",4),e.SDv(5,5),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.TgZ(13,"div",11),e._UZ(14,"input",12),e.TgZ(15,"span",13),e._UZ(16,"button",14),e.qZA(),e.qZA(),e.YNc(17,I0,2,0,"span",15),e.YNc(18,L0,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(19,"div",7),e.TgZ(20,"label",16),e.TgZ(21,"span",17),e.SDv(22,18),e.qZA(),e.YNc(23,F0,1,1,"cd-helper",19),e.qZA(),e.TgZ(24,"div",10),e.TgZ(25,"div",11),e._UZ(26,"input",20),e.TgZ(27,"span",13),e._UZ(28,"button",21),e.qZA(),e.qZA(),e.TgZ(29,"div",22),e._UZ(30,"div",23),e.qZA(),e.YNc(31,k0,2,0,"span",15),e.YNc(32,sE,2,0,"span",15),e.YNc(33,aE,2,1,"span",15),e.qZA(),e.qZA(),e.TgZ(34,"div",7),e.TgZ(35,"label",24),e.SDv(36,25),e.qZA(),e.TgZ(37,"div",10),e.TgZ(38,"div",11),e._UZ(39,"input",26),e.TgZ(40,"span",13),e._UZ(41,"button",27),e.qZA(),e.qZA(),e.YNc(42,lE,2,0,"span",15),e.YNc(43,B_,2,0,"span",15),e.qZA(),e.qZA(),e.qZA(),e.TgZ(44,"div",28),e.TgZ(45,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.ALo(46,"titlecase"),e.ALo(47,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(2);e.xp6(1),e.Q6J("formGroup",d.userForm),e.xp6(6),e.pQV(e.lcZ(6,17,d.action))(e.lcZ(7,19,d.resource)),e.QtT(5),e.xp6(10),e.Q6J("ngIf",d.userForm.showError("oldpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("oldpassword",w,"notmatch")),e.xp6(5),e.Q6J("ngIf",d.passwordPolicyHelpText.length>0),e.xp6(7),e.Tol(d.passwordStrengthLevelClass),e.s9C("title",d.passwordValuation),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"notmatch")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"passwordPolicy")),e.xp6(9),e.Q6J("ngIf",d.userForm.showError("confirmnewpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("confirmnewpassword",w,"match")),e.xp6(2),e.Q6J("form",d.userForm)("submitText",e.lcZ(46,21,d.action)+" "+e.lcZ(47,23,d.resource))}},directives:[Hn._Y,Hn.JL,Hn.sg,Gn.V,kn.P,Ds.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,Jl.U,nc.C,s.O5,jr.p,ul.S],pipes:[s.rS,p.m],styles:[""]}),f})();function cE(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,18),e.qZA())}function uE(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,19),e.qZA())}function rm(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,20),e.qZA())}function H0(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,21),e.qZA())}function U0(f,y){if(1&f&&(e.TgZ(0,"span",17),e._uU(1),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.hij(" ",n.passwordValuation," ")}}function j0(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,22),e.qZA())}function dE(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,23),e.qZA())}let Y_=(()=>{class f extends $0{constructor(n,d,w,re,Ze,Lt,Gt,On){super(n,d,w,re,Ze,Lt,Gt),this.actionLabels=n,this.notificationService=d,this.userService=w,this.authStorageService=re,this.formBuilder=Ze,this.router=Lt,this.passwordPolicyService=Gt,this.authService=On}onPasswordChange(){this.authService.logout()}onCancel(){this.authService.logout()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(Yi.g),e.Y36(R1.K),e.Y36(hi.j),e.Y36(uc.O),e.Y36(tn.F0),e.Y36(nm.q),e.Y36(tm.e))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-login-password-form"]],features:[e.qOj],decls:34,vars:19,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="Please set a new password.",n="You will be redirected to the login page afterwards.",d="This field is required.",w="The old and new passwords must be different.",re="This field is required.",Ze="The old and new passwords must be different.",Lt="This field is required.",Gt="Password confirmation doesn't match the new password.",[y,n,["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"form-group","has-feedback"],[1,"input-group"],["type","password","placeholder","Old password...","id","oldpassword","formControlName","oldpassword","autocomplete","new-password","autofocus","",1,"form-control"],[1,"input-group-append"],["cdPasswordButton","oldpassword",1,"btn","btn-outline-light","btn-password"],["class","invalid-feedback",4,"ngIf"],["type","password","placeholder","New password...","id","newpassword","autocomplete","new-password","formControlName","newpassword",1,"form-control"],["type","button","cdPasswordButton","newpassword",1,"btn","btn-outline-light","btn-password"],[1,"password-strength-level"],["data-toggle","tooltip",3,"title"],["type","password","autocomplete","new-password","placeholder","Confirm new password...","id","confirmnewpassword","formControlName","confirmnewpassword",1,"form-control"],["cdPasswordButton","confirmnewpassword",1,"btn","btn-outline-light","btn-password"],["wrappingClass","text-right",3,"form","disabled","submitText","submitActionEvent","backActionEvent"],[1,"invalid-feedback"],d,w,re,Ze,Lt,Gt]},template:function(n,d){if(1&n&&(e.TgZ(0,"div"),e.TgZ(1,"h2"),e.SDv(2,0),e.qZA(),e.TgZ(3,"h4"),e.SDv(4,1),e.qZA(),e.TgZ(5,"form",2,3),e.TgZ(7,"div",4),e.TgZ(8,"div",5),e._UZ(9,"input",6),e.TgZ(10,"span",7),e._UZ(11,"button",8),e.qZA(),e.qZA(),e.YNc(12,cE,2,0,"span",9),e.YNc(13,uE,2,0,"span",9),e.qZA(),e.TgZ(14,"div",4),e.TgZ(15,"div",5),e._UZ(16,"input",10),e.TgZ(17,"span",7),e._UZ(18,"button",11),e.qZA(),e.qZA(),e.TgZ(19,"div",12),e._UZ(20,"div",13),e.qZA(),e.YNc(21,rm,2,0,"span",9),e.YNc(22,H0,2,0,"span",9),e.YNc(23,U0,2,1,"span",9),e.qZA(),e.TgZ(24,"div",4),e.TgZ(25,"div",5),e._UZ(26,"input",14),e.TgZ(27,"span",7),e._UZ(28,"button",15),e.qZA(),e.qZA(),e.YNc(29,j0,2,0,"span",9),e.YNc(30,dE,2,0,"span",9),e.qZA(),e.TgZ(31,"cd-form-button-panel",16),e.NdJ("submitActionEvent",function(){return d.onSubmit()})("backActionEvent",function(){return d.onCancel()}),e.ALo(32,"titlecase"),e.ALo(33,"upperFirst"),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(6);e.xp6(5),e.Q6J("formGroup",d.userForm),e.xp6(7),e.Q6J("ngIf",d.userForm.showError("oldpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("oldpassword",w,"notmatch")),e.xp6(7),e.Tol(d.passwordStrengthLevelClass),e.s9C("title",d.passwordValuation),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"notmatch")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"passwordPolicy")),e.xp6(6),e.Q6J("ngIf",d.userForm.showError("confirmnewpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("confirmnewpassword",w,"match")),e.xp6(1),e.Q6J("form",d.userForm)("disabled",d.userForm.invalid)("submitText",e.lcZ(32,15,d.action)+" "+e.lcZ(33,17,d.resource))}},directives:[Hn._Y,Hn.JL,Hn.sg,Gn.V,kn.P,Ds.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,Jl.U,nc.C,s.O5,jr.p],pipes:[s.rS,p.m],styles:["cd-login-password-form h4{margin:0 0 30px} cd-login-password-form .form-group{background-color:#2e373d;border-left:4px solid #fff} cd-login-password-form .form-group:focus-within{border-left:4px solid #ef5c55} cd-login-password-form .btn-password, cd-login-password-form .btn-password:focus, cd-login-password-form .form-control, cd-login-password-form .form-control:focus{background-color:#2e373d;border:0;box-shadow:none;color:#f8f9fa;filter:none;outline:none} cd-login-password-form .form-control::placeholder{color:#6c757d} cd-login-password-form .btn-password:focus{outline-color:#2b99a8} cd-login-password-form button.btn:not(:first-child){margin-left:5px}@keyframes autofill{to{background-color:#2e373d;color:#f8f9fa}}input[_ngcontent-%COMP%]:-webkit-autofill{animation-fill-mode:both;animation-name:autofill;border-radius:0;box-shadow:0 0 0 1000px #2e373d inset;-webkit-text-fill-color:#f8f9fa;-webkit-transition-property:none;transition-property:none}.invalid-feedback[_ngcontent-%COMP%]{padding-left:9px}.is-invalid.cd-form-control[_ngcontent-%COMP%]{border-color:transparent}"]}),f})();class Z_{}function fE(f,y){1&f&&(e.TgZ(0,"div",20),e.SDv(1,21),e.qZA())}function pE(f,y){1&f&&(e.TgZ(0,"div",20),e.SDv(1,22),e.qZA())}function hE(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.NdJ("ngSubmit",function(){return e.CHM(n),e.oxw().login()}),e.TgZ(3,"div",4),e.TgZ(4,"label",5),e.SDv(5,6),e.qZA(),e.TgZ(6,"input",7,8),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().model.username=w}),e.qZA(),e.YNc(8,fE,2,0,"div",9),e.qZA(),e.TgZ(9,"div",10),e.TgZ(10,"div",11),e.TgZ(11,"div",12),e.TgZ(12,"label",13),e.SDv(13,14),e.qZA(),e.TgZ(14,"input",15,16),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().model.password=w}),e.qZA(),e.YNc(16,pE,2,0,"div",9),e.qZA(),e.TgZ(17,"span",17),e._UZ(18,"button",18),e.qZA(),e.qZA(),e.qZA(),e._UZ(19,"input",19),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.MAs(7),w=e.MAs(15),re=e.oxw();e.xp6(6),e.Q6J("ngModel",re.model.username),e.uIk("aria-invalid",d.invalid),e.xp6(2),e.Q6J("ngIf",(n.submitted||d.dirty)&&d.invalid),e.xp6(6),e.Q6J("ngModel",re.model.password),e.uIk("aria-invalid",w.invalid),e.xp6(2),e.Q6J("ngIf",(n.submitted||w.dirty)&&w.invalid),e.xp6(3),e.Q6J("disabled",n.invalid)}}let B0=(()=>{class f{constructor(n,d,w,re,Ze){this.authService=n,this.authStorageService=d,this.modalService=w,this.route=re,this.router=Ze,this.model=new Z_,this.isLoginActive=!1,this.postInstalled=!1}ngOnInit(){if(this.authStorageService.isLoggedIn())this.router.navigate([""]);else{this.modalService.dismissAll();let n=null;if(-1!==window.location.hash.indexOf("access_token=")){n=window.location.hash.split("access_token=")[1];const d=window.location.toString();window.history.replaceState({},document.title,d.split("?")[0])}this.authService.check(n).subscribe(d=>{d.login_url?(this.postInstalled="POST_INSTALLED"===d.cluster_status,"#/login"===d.login_url?this.isLoginActive=!0:window.location.replace(d.login_url)):(this.authStorageService.set(d.username,d.permissions,d.sso,d.pwdExpirationDate),this.router.navigate([""]))})}}login(){this.authService.login(this.model).subscribe(()=>{const n=this.postInstalled?"/":"/expand-cluster";let d=gn().get(this.route.snapshot.queryParams,"returnUrl",n);!this.postInstalled&&"/dashboard"===this.route.snapshot.queryParams.returnUrl&&(d="/expand-cluster"),this.router.navigate([d])})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tm.e),e.Y36(hi.j),e.Y36(na.Z),e.Y36(tn.gz),e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-login"]],decls:1,vars:1,consts:function(){let y,n,d,w,re;return y="Username",n="Password",d="Log in",w="Username is required",re="Password is required",[["class","container",4,"ngIf"],[1,"container"],["name","loginForm","novalidate","",3,"ngSubmit"],["loginForm","ngForm"],[1,"form-group","has-feedback","d-flex","flex-column","py-3"],["for","username",1,"placeholder","pl-4"],y,["id","username","name","username","type","text","aria-labelledby","username","required","","autofocus","",1,"form-control","pl-4",3,"ngModel","ngModelChange"],["username","ngModel"],["class","invalid-feedback pl-4",4,"ngIf"],["id","password-div",1,"form-group","has-feedback"],[1,"input-group","d-flex","flex-nowrap"],[1,"d-flex","flex-column","flex-grow-1","py-3"],["for","password",1,"placeholder","pl-4"],n,["id","password","name","password","type","password","aria-labelledby","password","required","",1,"form-control","pl-4",3,"ngModel","ngModelChange"],["password","ngModel"],[1,"form-group-append"],["type","button","cdPasswordButton","password",1,"btn","btn-outline-light","btn-password","h-100","px-4"],["type","submit","value",d,1,"btn","btn-accent","px-5","py-2",3,"disabled"],[1,"invalid-feedback","pl-4"],w,re]},template:function(n,d){1&n&&e.YNc(0,hE,20,7,"div",0),2&n&&e.Q6J("ngIf",d.isLoginActive)},directives:[s.O5,Hn._Y,Hn.JL,Hn.F,kn.P,Ds.o,Hn.Fj,zn.b,Hn.Q7,Jl.U,Hn.JJ,Hn.On,nc.C],styles:["cd-login .form-group{background-color:#2e373d;border-left:4px solid #fff;height:auto;margin-bottom:2rem} cd-login .form-group:focus-within{border-left:4px solid #ef5c55} cd-login .btn-password, cd-login .btn-password:focus, cd-login .form-control, cd-login .form-control:focus{background-color:#2e373d;border:0;box-shadow:none;color:#f8f9fa;filter:none;outline:none} cd-login .placeholder{color:#6c757d} cd-login .btn-password:focus{outline-color:#2b99a8}@keyframes autofill{to{background-color:#2e373d;color:#f8f9fa}}input[_ngcontent-%COMP%]:-webkit-autofill{animation-fill-mode:both;animation-name:autofill;border-radius:0;box-shadow:0 0 0 1000px #2e373d inset;-webkit-text-fill-color:#f8f9fa;-webkit-transition-property:none;transition-property:none}"]}),f})();var N1=o(72625);function Y0(f,y){if(1&f&&(e.TgZ(0,"div"),e._UZ(1,"i",8),e._UZ(2,"br"),e._UZ(3,"br"),e._UZ(4,"br"),e.TgZ(5,"h3"),e.TgZ(6,"b"),e._uU(7),e.qZA(),e.qZA(),e._UZ(8,"br"),e.TgZ(9,"h4"),e._uU(10),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Tol(n.icon),e.xp6(6),e.Oqu(n.header),e.xp6(3),e.Oqu(n.message)}}function _E(f,y){1&f&&(e._UZ(0,"i",9),e._UZ(1,"br"),e._UZ(2,"br"),e._UZ(3,"br"),e.TgZ(4,"h3"),e.tHW(5,10),e._UZ(6,"b"),e.N_p(),e.qZA(),e._UZ(7,"br"),e.TgZ(8,"h4"),e.SDv(9,11),e.qZA())}function Z0(f,y){if(1&f&&(e.TgZ(0,"div"),e.TgZ(1,"h4"),e.tHW(2,12),e._UZ(3,"a",13),e.N_p(),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(3),e.s9C("href",n.docUrl,e.LSH),e.pQV(n.section_info),e.QtT(2)}}let gE=(()=>{class f{constructor(n,d){this.router=n,this.docService=d}ngOnInit(){this.fetchData(),this.routerSubscription=this.router.events.pipe((0,Au.h)(n=>n instanceof tn.m2)).subscribe(()=>{this.fetchData()})}unloadHandler(n){n.returnValue=!1}fetchData(){try{this.router.onSameUrlNavigation="reload",this.message=history.state.message,this.header=history.state.header,this.section=history.state.section,this.section_info=history.state.section_info,this.icon=history.state.icon,this.source=history.state.source,this.docUrl=this.docService.urlGenerator(this.section)}catch(n){this.router.navigate(["/error"])}}ngOnDestroy(){this.routerSubscription&&this.routerSubscription.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(N1.R))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-error"]],hostBindings:function(n,d){1&n&&e.NdJ("beforeunload",function(re){return d.unloadHandler(re)},!1,e.Jf7)},decls:16,vars:4,consts:function(){let y,n,d,w;return y="Go To Dashboard",n="" + "\ufffd#6\ufffd" + "Page not Found" + "\ufffd/#6\ufffd" + "",d="Sorry, we couldn\u2019t find what you were looking for. The page you requested may have been changed or moved.",w="Please consult the " + "\ufffd#3\ufffd" + "documentation" + "\ufffd/#3\ufffd" + " on how to configure and enable the " + "\ufffd0\ufffd" + " management functionality.",[["target","_blank"],[1,"dashboard","row"],[1,"text-center","content"],[4,"ngIf","ngIfElse"],["elseBlock",""],[4,"ngIf"],[1,"btn","btn-primary",3,"routerLink"],y,["aria-hidden","true"],["aria-hidden","true",1,"fa","fa-exclamation-triangle"],n,d,w,[3,"href"]]},template:function(n,d){if(1&n&&(e.TgZ(0,"head"),e.TgZ(1,"title"),e._uU(2,"Error Page"),e.qZA(),e._UZ(3,"base",0),e.qZA(),e.TgZ(4,"div",1),e.TgZ(5,"div",2),e._UZ(6,"br"),e.YNc(7,Y0,11,5,"div",3),e.YNc(8,_E,10,0,"ng-template",null,4,e.W1O),e.YNc(10,Z0,4,2,"div",5),e._UZ(11,"br"),e._UZ(12,"br"),e.TgZ(13,"div"),e.TgZ(14,"button",6),e.SDv(15,7),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(9);e.xp6(7),e.Q6J("ngIf",d.header&&d.message)("ngIfElse",w),e.xp6(3),e.Q6J("ngIf",d.section),e.xp6(4),e.Q6J("routerLink","/dashboard")}},directives:[s.O5,Ds.o,tn.rH],styles:["h4[_ngcontent-%COMP%]{color:#495057}i[_ngcontent-%COMP%]{font-size:6em;margin-top:120px}.text-center[_ngcontent-%COMP%]{background-color:#e9ecef}.dashboard[_ngcontent-%COMP%]{background-color:#e9ecef;height:100%;position:relative}.content[_ngcontent-%COMP%]{left:50%;position:absolute;top:40%;transform:translate(-50%,-50%);width:100%}.row[_ngcontent-%COMP%]{display:block;margin-left:-29px;margin-right:-29px;padding-top:10em}.fa-exclamation-triangle[_ngcontent-%COMP%]{color:#ef5c55}.fa-lock[_ngcontent-%COMP%]{color:#ef5c55}.fa-wrench[_ngcontent-%COMP%]{color:#2b99a8}"]}),f})(),mE=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-blank-layout"]],decls:1,vars:0,template:function(n,d){1&n&&e._UZ(0,"router-outlet")},directives:[tn.lC],styles:[""]}),f})();var vE=o(92340);let CC=(()=>{class f{constructor(n,d){this.http=n,this.localeId=d}getLocale(){return this.localeId||vE.N.default_lang}setLocale(n){document.cookie=`cd-lang=${n}`}getLanguages(){return this.http.get("ui-api/langs")}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(e.soG))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var im=(()=>{return(f=im||(im={})).cs="\u010ce\u0161tina",f.de="Deutsch",f["en-US"]="English",f.es="Espa\xf1ol",f.fr="Fran\xe7ais",f.id="Bahasa Indonesia",f.it="Italiano",f.ja="\u65e5\u672c\u8a9e",f.ko="\ud55c\uad6d\uc5b4",f.pl="Polski",f.pt="Portugu\xeas (brasileiro)",f["zh-Hans"]="\u4e2d\u6587 (\u7b80\u4f53)",f["zh-Hant"]="\u4e2d\u6587 (\u7e41\u9ad4\uff09",im;var f})();function SC(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"button",4),e.NdJ("click",function(){const re=e.CHM(n).$implicit;return e.oxw().changeLanguage(re.key)}),e._uU(2),e.qZA(),e.BQk()}if(2&f){const n=y.$implicit;e.xp6(2),e.hij(" ",n.value," ")}}let P1=(()=>{class f{constructor(n){this.languageService=n,this.allLanguages=im,this.supportedLanguages={}}ngOnInit(){this.selectedLanguage=this.languageService.getLocale(),this.languageService.getLanguages().subscribe(n=>{this.supportedLanguages=gn().pick(im,n)})}reloadWindow(){window.location.reload()}changeLanguage(n){this.languageService.setLocale(n),this.reloadWindow()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(CC))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-language-selector"]],decls:6,vars:4,consts:function(){let y;return y="Select a Language",[["ngbDropdown","","placement","bottom-right"],["ngbDropdownToggle","","title",y],["ngbDropdownMenu",""],[4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"click"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"a",1),e._uU(2),e.qZA(),e.TgZ(3,"div",2),e.YNc(4,SC,3,1,"ng-container",3),e.ALo(5,"keyvalue"),e.qZA(),e.qZA()),2&n&&(e.xp6(2),e.hij(" ",d.allLanguages[d.selectedLanguage]," "),e.xp6(2),e.Q6J("ngForOf",e.lcZ(5,2,d.supportedLanguages)))},directives:[Br.jt,Br.iD,Br.Vi,s.sg,Ds.o,Br.TH],pipes:[s.Nd],styles:[""]}),f})();function om(f,y){if(1&f&&(e.TgZ(0,"li",10),e.TgZ(1,"cd-doc",11),e.DtL(2,12),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.pQV(n.text),e.QtT(2),e.s9C("section",n.section)}}let yE=(()=>{class f{constructor(){this.docItems=[{section:"help",text:"Help"},{section:"security",text:"Security"},{section:"trademarks",text:"Trademarks"}]}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-login-layout"]],decls:15,vars:1,consts:function(){let y;return y="" + "\ufffd0\ufffd" + "",[[1,"login","full-height"],[1,"navbar","p-4"],[1,"navbar-brand"],[1,"form-inline"],[1,"container"],[1,"row","full-height","vertical-align"],[1,"col-sm-12","col-md-6","d-sm-block"],["src","assets/Ceph_Ceph_Logo_with_text_white.svg","alt","Ceph",1,"img-fluid"],[1,"list-inline"],["class","list-inline-item p-3",4,"ngFor","ngForOf"],[1,"list-inline-item","p-3"],["noSubscribe","true",3,"section",6,"docText"],["docText",y]]},template:function(n,d){1&n&&(e.TgZ(0,"main",0),e.TgZ(1,"header"),e.TgZ(2,"nav",1),e._UZ(3,"a",2),e.TgZ(4,"div",3),e._UZ(5,"cd-language-selector"),e.qZA(),e.qZA(),e.qZA(),e.TgZ(6,"section"),e.TgZ(7,"div",4),e.TgZ(8,"div",5),e.TgZ(9,"div",6),e._UZ(10,"router-outlet"),e.qZA(),e.TgZ(11,"div",6),e._UZ(12,"img",7),e.TgZ(13,"ul",8),e.YNc(14,om,3,2,"li",9),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(14),e.Q6J("ngForOf",d.docItems))},directives:[Br.M2,P1,tn.lC,s.sg,Go.K],styles:["cd-login-layout .login{background-color:#374249;background-image:url(ceph_background.e82dd79127290ddbe8cb.gif);background-position:right bottom;background-repeat:no-repeat;color:#f8f9fa} cd-login-layout .login header{position:absolute;width:100vw} cd-login-layout .login header .navbar .dropdown-menu{margin-top:.2rem} cd-login-layout .login header .navbar .dropdown-menu li a:hover{background-color:#2b99a8} cd-login-layout .login section{display:inline-flex;min-height:100vh;width:100vw} cd-login-layout .login .list-inline{margin-bottom:20%;margin-left:20%} cd-login-layout .login a{color:#fff} cd-login-layout .login a:hover{color:#adb5bd}"]}),f})();var zh=o(74255);let I1=(()=>{class f{constructor(n,d,w){this.document=n,this.summaryService=d,this.cssHelper=w}init(){var n;this.url=null===(n=this.document.getElementById("cdFavicon"))||void 0===n?void 0:n.getAttribute("href"),this.sub=this.summaryService.subscribe(d=>{this.changeIcon(d.health_status)})}changeIcon(n){if(n===this.oldStatus)return;this.oldStatus=n;const d=this.document.getElementById("cdFavicon"),Ze=this.document.createElement("canvas");Ze.width=16,Ze.height=16;const Lt=Ze.getContext("2d"),Gt=this.document.createElement("img");Gt.src=this.url,Gt.onload=()=>{Lt.drawImage(Gt,0,0,16,16),Object.keys(ah).includes(n)&&(Lt.save(),Lt.globalCompositeOperation="destination-out",Lt.beginPath(),Lt.arc(Ze.width-4,4,6,0,2*Math.PI),Lt.fill(),Lt.restore(),Lt.beginPath(),Lt.arc(Ze.width-4,4,4,0,2*Math.PI),Lt.fillStyle=this.cssHelper.propertyValue(ah[n]),Lt.fill()),d.setAttribute("href",Ze.toDataURL("image/png"))}}ngOnDestroy(){var n;this.changeIcon(),null===(n=this.sub)||void 0===n||n.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(s.K0),e.LFG(zh.J),e.LFG(Zh.P))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();var V_=o(71099),V0=o(59193),bE=o(68307);class G0{constructor(y,n){this.count=y,this.source=n}call(y,n){return n.subscribe(new TE(y,this.count,this.source))}}class TE extends jf.L{constructor(y,n,d){super(y),this.count=n,this.source=d}complete(){if(!this.isStopped){const{source:y,count:n}=this;if(0===n)return super.complete();n>-1&&(this.count=n-1),y.subscribe(this._unsubscribeAndRecycle())}}}let z0=(()=>{class f{constructor(n){this.http=n,this.url="ui-api/motd"}get(){return this.http.get(this.url)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),W0=(()=>{class f{constructor(n){this.motdService=n,this.motdSource=new Cc.X(null),this.localStorageKey="dashboard_motd_hidden",this.motd$=this.motdSource.asObservable(),this.subscription=(0,xs.of)(!0).pipe((0,al.zg)(()=>this.motdService.get()),(0,U_.K)(d=>(ur.isFunction(d.preventDefault)&&d.preventDefault(),V0.E)),(0,bE.b)(d=>this.processResponse(d)),(0,Uf.g)(6e4),function(f=-1){return y=>0===f?(0,V0.c)():y.lift(new G0(f<0?-1:f-1,y))}()).subscribe()}ngOnDestroy(){this.subscription.unsubscribe()}hide(){const n=this.motdSource.getValue();if(n){const d=`${n.severity}:${n.md5}`;switch(n.severity){case"info":localStorage.setItem(this.localStorageKey,d),sessionStorage.removeItem(this.localStorageKey);break;case"warning":sessionStorage.setItem(this.localStorageKey,d),localStorage.removeItem(this.localStorageKey)}}this.motdSource.next(null)}processResponse(n){const d=sessionStorage.getItem(this.localStorageKey)||localStorage.getItem(this.localStorageKey);let w=ur.isNull(d);if(!w&&n){const[re,Ze]=d.split(":");(re!==n.severity||Ze!==n.md5)&&(w=!0,sessionStorage.removeItem(this.localStorageKey),localStorage.removeItem(this.localStorageKey))}w&&this.motdSource.next(n)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(z0))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var CE=o(51907);function Wh(f,y){1&f&&(e.TgZ(0,"div"),e.tHW(1,3),e._UZ(2,"strong"),e._UZ(3,"a",4),e.N_p(),e.qZA())}function SE(f,y){if(1&f&&(e.TgZ(0,"div"),e.tHW(1,5),e._UZ(2,"strong"),e._UZ(3,"a",4),e.N_p(),e.qZA()),2&f){const n=e.oxw(2);e.xp6(3),e.pQV(n.expirationDays),e.QtT(1)}}function q0(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-alert-panel",1),e.NdJ("dismissed",function(){return e.CHM(n),e.oxw().onDismissed()}),e.YNc(1,Wh,4,0,"div",2),e.YNc(2,SE,4,1,"div",2),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("type",n.alertType)("showTitle",!1)("dismissible","danger"!==n.alertType),e.xp6(1),e.Q6J("ngIf",0===n.expirationDays),e.xp6(1),e.Q6J("ngIf",n.expirationDays>0)}}let ME=(()=>{class f{constructor(n,d){this.settingsService=n,this.authStorageService=d,this.displayNotification=!1}ngOnInit(){this.settingsService.getStandardSettings().subscribe(n=>{this.pwdExpirationSettings=new CE.G(n);const d=this.authStorageService.getPwdExpirationDate();d&&(this.expirationDays=this.getExpirationDays(d),this.alertType=this.expirationDays<=this.pwdExpirationSettings.pwdExpirationWarning2?"danger":"warning",this.displayNotification=this.expirationDays<=this.pwdExpirationSettings.pwdExpirationWarning1,this.authStorageService.isPwdDisplayedSource.next(this.displayNotification))})}ngOnDestroy(){this.authStorageService.isPwdDisplayedSource.next(!1)}getExpirationDays(n){const d=new Date,w=new Date(1e3*n);return Math.floor((w.valueOf()-d.valueOf())/864e5)}onDismissed(){this.authStorageService.isPwdDisplayedSource.next(!1),this.displayNotification=!1}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Uh.g),e.Y36(hi.j))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-pwd-expiration-notification"]],decls:1,vars:1,consts:function(){let y,n;return y="Your password will expire in " + "\ufffd#2\ufffd" + "less than 1" + "\ufffd/#2\ufffd" + " day. Click " + "\ufffd#3\ufffd" + "here" + "\ufffd/#3\ufffd" + " to change it now.",n="Your password will expire in " + "\ufffd#2\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#2\ufffd" + " day(s). Click " + "\ufffd#3\ufffd" + "here" + "\ufffd/#3\ufffd" + " to change it now.",[["class","no-margin-bottom","size","slim",3,"type","showTitle","dismissible","dismissed",4,"ngIf"],["size","slim",1,"no-margin-bottom",3,"type","showTitle","dismissible","dismissed"],[4,"ngIf"],y,["routerLink","/user-profile/edit",1,"alert-link"],n]},template:function(n,d){1&n&&e.YNc(0,q0,3,5,"cd-alert-panel",0),2&n&&e.Q6J("ngIf",d.displayNotification)},directives:[s.O5,ze.G,tn.yS],styles:[".no-margin-bottom[_ngcontent-%COMP%]{margin-bottom:0}"]}),f})();function J0(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-alert-panel",1),e.NdJ("dismissed",function(){return e.CHM(n),e.oxw().onDismissed()}),e.TgZ(1,"div"),e.tHW(2,2),e._UZ(3,"a",3),e._UZ(4,"a",4),e.N_p(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("showTitle",!1)("type",n.notificationSeverity)("dismissible","danger"!==n.notificationSeverity)}}let OE=(()=>{class f{constructor(n,d,w,re){this.mgrModuleService=n,this.authStorageService=d,this.notificationService=w,this.telemetryNotificationService=re,this.displayNotification=!1,this.notificationSeverity="warning"}ngOnInit(){if(this.telemetryNotificationService.update.subscribe(n=>{this.displayNotification=n}),!this.isNotificationHidden()){const n=this.authStorageService.getPermissions().configOpt;gn().every(Object.values(n))&&this.mgrModuleService.getConfig("telemetry").subscribe(d=>{d.enabled||this.telemetryNotificationService.setVisibility(!0)})}}ngOnDestroy(){this.telemetryNotificationService.setVisibility(!1)}isNotificationHidden(){return"true"===localStorage.getItem("telemetry_notification_hidden")}onDismissed(){this.telemetryNotificationService.setVisibility(!1),localStorage.setItem("telemetry_notification_hidden","true"),this.notificationService.show(Ho.k.success,"Telemetry activation reminder muted","You can activate the module on the Telemetry configuration page (<b>Dashboard Settings</b> -> <b>Telemetry configuration</b>) at any time.")}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Sf),e.Y36(hi.j),e.Y36(Yi.g),e.Y36(s1))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-telemetry-notification"]],decls:1,vars:1,consts:function(){let y;return y="The Ceph community needs your help to continue improving: please " + "\ufffd#3\ufffd" + "Activate" + "[\ufffd/#3\ufffd|\ufffd/#4\ufffd]" + " the " + "\ufffd#4\ufffd" + "Telemetry" + "[\ufffd/#3\ufffd|\ufffd/#4\ufffd]" + " module.",y=e.Zx4(y),[["class","no-margin-bottom","size","slim",3,"showTitle","type","dismissible","dismissed",4,"ngIf"],["size","slim",1,"no-margin-bottom",3,"showTitle","type","dismissible","dismissed"],y,["routerLink","/telemetry",1,"btn","activate-button","alert-link","activate-text"],["href","https://docs.ceph.com/en/latest/mgr/telemetry/"]]},template:function(n,d){1&n&&e.YNc(0,J0,5,3,"cd-alert-panel",0),2&n&&e.Q6J("ngIf",d.displayNotification)},directives:[s.O5,ze.G,tn.yS],styles:[".no-margin-bottom[_ngcontent-%COMP%]{margin-bottom:0}.activate-button[_ngcontent-%COMP%]{background-color:#fcecba;border:#495057 solid .5px;border-radius:10%;padding:.1rem .4rem}.activate-text[_ngcontent-%COMP%]{color:#495057;font-weight:bold}"]}),f})();var Q0=o(60793);function AE(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-alert-panel",1),e.NdJ("dismissed",function(){return e.CHM(n),e.oxw().onDismissed()}),e._UZ(1,"span",2),e.ALo(2,"sanitizeHtml"),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("showTitle",!1)("type",n.motd.severity)("dismissible","danger"!==n.motd.severity),e.xp6(1),e.Q6J("innerHTML",e.lcZ(2,4,n.motd.message),e.oJD)}}let L1=(()=>{class f{constructor(n){this.motdNotificationService=n,this.motd=void 0}ngOnInit(){this.subscription=this.motdNotificationService.motd$.subscribe(n=>{this.motd=n})}ngOnDestroy(){this.subscription.unsubscribe()}onDismissed(){this.motdNotificationService.hide()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(W0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-motd"]],decls:1,vars:1,consts:[["size","slim",3,"showTitle","type","dismissible","dismissed",4,"ngIf"],["size","slim",3,"showTitle","type","dismissible","dismissed"],[3,"innerHTML"]],template:function(n,d){1&n&&e.YNc(0,AE,3,6,"cd-alert-panel",0),2&n&&e.Q6J("ngIf",d.motd)},directives:[s.O5,ze.G],pipes:[Q0.A],styles:[""]}),f})();class X0{constructor(y){if(this._maxConcurrency=y,this._queue=[],y<=0)throw new Error("semaphore must be initialized to a positive value");this._value=y}acquire(){const y=this.isLocked(),n=new Promise(d=>this._queue.push(d));return y||this._dispatch(),n}runExclusive(y){return function(f,y,n,d){return new(n||(n=Promise))(function(re,Ze){function Lt(pr){try{On(d.next(pr))}catch(fr){Ze(fr)}}function Gt(pr){try{On(d.throw(pr))}catch(fr){Ze(fr)}}function On(pr){pr.done?re(pr.value):function(re){return re instanceof n?re:new n(function(Ze){Ze(re)})}(pr.value).then(Lt,Gt)}On((d=d.apply(f,y||[])).next())})}(this,void 0,void 0,function*(){const[n,d]=yield this.acquire();try{return yield y(n)}finally{d()}})}isLocked(){return this._value<=0}release(){if(this._maxConcurrency>1)throw new Error("this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead");this._currentReleaser&&(this._currentReleaser(),this._currentReleaser=void 0)}_dispatch(){const y=this._queue.shift();if(!y)return;let n=!1;this._currentReleaser=()=>{n||(n=!0,this._value++,this._dispatch())},y([this._value--,this._currentReleaser])}}class DE{constructor(){this._semaphore=new X0(1)}acquire(){return f=this,y=void 0,d=function*(){const[,y]=yield this._semaphore.acquire();return y},new((n=void 0)||(n=Promise))(function(re,Ze){function Lt(pr){try{On(d.next(pr))}catch(fr){Ze(fr)}}function Gt(pr){try{On(d.throw(pr))}catch(fr){Ze(fr)}}function On(pr){pr.done?re(pr.value):function(re){return re instanceof n?re:new n(function(Ze){Ze(re)})}(pr.value).then(Lt,Gt)}On((d=d.apply(f,y||[])).next())});var f,y,n,d}runExclusive(y){return this._semaphore.runExclusive(()=>y())}isLocked(){return this._semaphore.isLocked()}release(){this._semaphore.release()}}let F1=(()=>{class f{constructor(n,d){this.alertFormatter=n,this.prometheusService=d,this.backendFailure=!1,this.notifications=[]}refresh(){this.backendFailure||this.prometheusService.getNotifications(gn().last(this.notifications)).subscribe(n=>this.handleNotifications(n),()=>this.backendFailure=!0)}handleNotifications(n){0!==n.length&&(this.notifications.length>0&&this.alertFormatter.sendNotifications(gn().flatten(n.map(d=>this.formatNotification(d)))),this.notifications=this.notifications.concat(n))}formatNotification(n){return this.alertFormatter.convertToCustomAlerts(n.alerts).map(d=>this.alertFormatter.convertAlertToNotification(d))}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(Vc),e.LFG(bu))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var xE=o(68879),ty=o(11971),k1=o(34863);const $1=function(f,y){return[f,y]},RE=function(f,y,n,d){return[f,y,n,d]};function NE(f,y){if(1&f&&(e.TgZ(0,"div"),e.TgZ(1,"div",12),e.TgZ(2,"div",13),e.TgZ(3,"div",14),e.TgZ(4,"span",15),e._UZ(5,"i",7),e._UZ(6,"i",7),e.qZA(),e.qZA(),e.TgZ(7,"div",16),e.TgZ(8,"div",17),e.TgZ(9,"h6",18),e._uU(10),e.qZA(),e.TgZ(11,"div",19),e._UZ(12,"ngb-progressbar",20),e.qZA(),e.TgZ(13,"p",21),e.TgZ(14,"small",22),e._uU(15),e.ALo(16,"cdDate"),e.qZA(),e.TgZ(17,"span",23),e._uU(18),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e._UZ(19,"hr"),e.qZA()),2&f){const n=y.$implicit,d=e.oxw(2);e.xp6(4),e.Q6J("ngClass",e.WLB(11,$1,d.icons.stack,d.icons.large2x)),e.xp6(1),e.Q6J("ngClass",e.WLB(14,$1,d.icons.stack2x,d.icons.circle)),e.xp6(1),e.Q6J("ngClass",e.l5B(17,RE,d.icons.stack1x,d.icons.spinner,d.icons.spin,d.icons.inverse)),e.xp6(4),e.Oqu(n.description),e.xp6(2),e.Q6J("value",null==n?null:n.progress)("striped",!0)("animated",!0),e.xp6(3),e.hij(" ",e.lcZ(16,9,n.begin_time)," "),e.xp6(3),e.hij(" ",n.progress||0," % ")}}function PE(f,y){if(1&f&&e.YNc(0,NE,20,22,"div",11),2&f){const n=e.oxw();e.Q6J("ngForOf",n.executingTasks)("ngForTrackBy",n.trackByFn)}}function IE(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"small"),e.ynx(2),e.SDv(3,35),e.BQk(),e._uU(4),e.ALo(5,"duration"),e.qZA(),e._UZ(6,"br"),e.BQk()),2&f){const n=e.oxw().$implicit;e.xp6(4),e.hij(" ",e.lcZ(5,1,n.duration)," ")}}const ny=function(f,y,n){return[f,y,n]},H1=function(f){return[f]};function U1(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"div",29),e.TgZ(2,"div",13),e.TgZ(3,"div",14),e.TgZ(4,"span",7),e._UZ(5,"i",7),e._UZ(6,"i",7),e.qZA(),e.qZA(),e.TgZ(7,"div",30),e.TgZ(8,"div",17),e.TgZ(9,"button",31),e.NdJ("click",function(w){const Ze=e.CHM(n).index;return e.oxw(3).remove(Ze),w.stopPropagation()}),e._UZ(10,"i",7),e.qZA(),e.TgZ(11,"h6",18),e._uU(12),e.qZA(),e._UZ(13,"p",32),e.TgZ(14,"p",21),e.YNc(15,IE,7,3,"ng-container",24),e.TgZ(16,"small",33),e.ALo(17,"cdDate"),e._uU(18),e.ALo(19,"relativeDate"),e.qZA(),e._UZ(20,"i",34),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e._UZ(21,"hr"),e.qZA()}if(2&f){const n=y.$implicit,d=e.oxw(3);e.Q6J("ngClass",n.borderClass),e.xp6(4),e.Q6J("ngClass",e.kEZ(16,ny,d.icons.stack,d.icons.large2x,n.textClass)),e.xp6(1),e.Q6J("ngClass",e.WLB(20,$1,d.icons.circle,d.icons.stack2x)),e.xp6(1),e.Q6J("ngClass",e.kEZ(23,ny,d.icons.stack1x,d.icons.inverse,n.iconClass)),e.xp6(4),e.Q6J("ngClass",e.VKq(27,H1,d.icons.trash)),e.xp6(2),e.Oqu(n.title),e.xp6(1),e.Q6J("innerHtml",n.message,e.oJD),e.xp6(2),e.Q6J("ngIf",n.duration),e.xp6(1),e.Q6J("title",e.lcZ(17,12,n.timestamp)),e.xp6(2),e.Oqu(e.lcZ(19,14,n.timestamp)),e.xp6(2),e.Q6J("ngClass",e.VKq(29,H1,n.applicationClass))("title",n.application)}}function j1(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"button",25),e.NdJ("click",function(w){return e.CHM(n),e.oxw(2).removeAll(),w.stopPropagation()}),e._UZ(2,"i",26),e._uU(3," \xa0 "),e.ynx(4),e.SDv(5,27),e.BQk(),e.qZA(),e._UZ(6,"hr"),e.YNc(7,U1,22,31,"div",28),e.BQk()}if(2&f){const n=e.oxw(2);e.xp6(2),e.Q6J("ngClass",e.VKq(2,H1,n.icons.trash)),e.xp6(5),e.Q6J("ngForOf",n.notifications)}}function ry(f,y){if(1&f&&e.YNc(0,j1,8,4,"ng-container",24),2&f){const n=e.oxw();e.Q6J("ngIf",n.notifications.length>0)}}function iy(f,y){1&f&&(e.TgZ(0,"div"),e.TgZ(1,"div",36),e.SDv(2,37),e.qZA(),e.qZA())}function B1(f,y){if(1&f&&e.YNc(0,iy,3,0,"div",24),2&f){const n=e.oxw();e.Q6J("ngIf",0===n.notifications.length&&0===n.executingTasks.length)}}function oy(f,y){1&f&&e.GkF(0)}function sy(f,y){1&f&&e.GkF(0)}function LE(f,y){1&f&&e.GkF(0)}let Y1=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On){this.notificationService=n,this.summaryService=d,this.taskMessageService=w,this.prometheusNotificationService=re,this.authStorageService=Ze,this.prometheusAlertService=Lt,this.ngZone=Gt,this.cdRef=On,this.isSidebarOpened=!1,this.executingTasks=[],this.subs=new Gl.w,this.icons=Ki.P,this.last_task="",this.mutex=new DE,this.simplebar={autoHide:!1},this.notifications=[]}ngOnDestroy(){window.clearInterval(this.interval),window.clearTimeout(this.timeout),this.subs.unsubscribe()}ngOnInit(){this.last_task=window.localStorage.getItem("last_task");const n=this.authStorageService.getPermissions();n.prometheus.read&&n.configOpt.read&&(this.triggerPrometheusAlerts(),this.ngZone.runOutsideAngular(()=>{this.interval=window.setInterval(()=>{this.ngZone.run(()=>{this.triggerPrometheusAlerts()})},5e3)})),this.subs.add(this.notificationService.data$.subscribe(d=>{this.notifications=gn().orderBy(d,["timestamp"],["desc"]),this.cdRef.detectChanges()})),this.subs.add(this.notificationService.sidebarSubject.subscribe(d=>{this.isSidebarOpened=!d&&!this.isSidebarOpened,window.clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{this.cdRef.detectChanges()},0)})),this.subs.add(this.summaryService.subscribe(d=>{this._handleTasks(d.executing_tasks),this.mutex.acquire().then(w=>{gn().filter(d.finished_tasks,re=>!this.last_task||In()(re.end_time).isAfter(this.last_task)).forEach(re=>{const Ze=this.notificationService.finishedTaskToNotification(re,re.success),Lt=new mp.e(Ze);Lt.timestamp=re.end_time,Lt.duration=re.duration,(!this.last_task||In()(re.end_time).isAfter(this.last_task))&&(this.last_task=re.end_time,window.localStorage.setItem("last_task",this.last_task)),this.notificationService.save(Lt)}),this.cdRef.detectChanges(),w()})}))}_handleTasks(n){for(const d of n)d.description=this.taskMessageService.getRunningTitle(d);this.executingTasks=n}triggerPrometheusAlerts(){this.prometheusAlertService.refresh(),this.prometheusNotificationService.refresh()}removeAll(){this.notificationService.removeAll()}remove(n){this.notificationService.remove(n)}closeSidebar(){this.isSidebarOpened=!1}trackByFn(n){return n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Yi.g),e.Y36(zh.J),e.Y36(xE.p),e.Y36(F1),e.Y36(hi.j),e.Y36(bd),e.Y36(e.R0b),e.Y36(e.sBO))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-notifications-sidebar"]],hostVars:2,hostBindings:function(n,d){2&n&&e.ekj("active",d.isSidebarOpened)},decls:18,vars:6,consts:function(){let y,n,d,w,re;return y="Tasks and Notifications",n="Clear notifications",d="Remove notification",w="Duration:",re="There are no notifications.",[["tasksTpl",""],["notificationsTpl",""],["emptyTpl",""],[1,"card",3,"clickOutsideEnabled","clickOutside"],[1,"card-header"],y,["tabindex","-1","type","button",1,"close","float-right",3,"click"],[3,"ngClass"],[3,"options"],[1,"card-body"],[4,"ngTemplateOutlet"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"card","tc_task","border-0"],[1,"row","no-gutters"],[1,"col-md-2","text-center"],[1,"text-info",3,"ngClass"],[1,"col-md-9"],[1,"card-body","p-1"],[1,"card-title","bold"],[1,"mb-1"],["type","info",3,"value","striped","animated"],[1,"card-text","text-muted"],[1,"date","float-left"],[1,"float-right"],[4,"ngIf"],["type","button",1,"btn","btn-light","btn-block",3,"click"],["aria-hidden","true",3,"ngClass"],n,[3,"ngClass",4,"ngFor","ngForOf"],[1,"card","tc_notification","border-0"],[1,"col-md-10"],["title",d,1,"btn","btn-link","float-right","mt-0","pt-0",3,"click"],[1,"card-text",3,"innerHtml"],[1,"date",3,"title"],[1,"float-right","custom-icon",3,"ngClass","title"],w,[1,"message","text-center"],re]},template:function(n,d){if(1&n&&(e.YNc(0,PE,1,2,"ng-template",null,0,e.W1O),e.YNc(2,ry,1,1,"ng-template",null,1,e.W1O),e.YNc(4,B1,1,1,"ng-template",null,2,e.W1O),e.TgZ(6,"div",3),e.NdJ("clickOutside",function(){return d.closeSidebar()}),e.TgZ(7,"div",4),e.ynx(8),e.SDv(9,5),e.BQk(),e.TgZ(10,"button",6),e.NdJ("click",function(){return d.closeSidebar()}),e.TgZ(11,"span"),e._UZ(12,"i",7),e.qZA(),e.qZA(),e.qZA(),e.TgZ(13,"ngx-simplebar",8),e.TgZ(14,"div",9),e.YNc(15,oy,1,0,"ng-container",10),e.YNc(16,sy,1,0,"ng-container",10),e.YNc(17,LE,1,0,"ng-container",10),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(1),re=e.MAs(3),Ze=e.MAs(5);e.xp6(6),e.Q6J("clickOutsideEnabled",d.isSidebarOpened),e.xp6(6),e.Q6J("ngClass",d.icons.close),e.xp6(1),e.Q6J("options",d.simplebar),e.xp6(2),e.Q6J("ngTemplateOutlet",w),e.xp6(1),e.Q6J("ngTemplateOutlet",re),e.xp6(1),e.Q6J("ngTemplateOutlet",Ze)}},directives:[ty._,Ds.o,s.mk,k1.M,s.tP,s.sg,Br.Ly,s.O5],pipes:[bi.N,Vs.h,vp.u],styles:["[_nghost-%COMP%]{bottom:10px;max-width:90vw;position:fixed;right:-350px;top:53px;transition:all .6s;width:350px;z-index:9}.active[_nghost-%COMP%]{right:20px}.card[_ngcontent-%COMP%]{height:100%}.card-body[_ngcontent-%COMP%]{padding-left:0;padding-right:5px;padding-top:3px}ngx-simplebar[_ngcontent-%COMP%]{height:calc(100% - 42.2px)}.separator[_ngcontent-%COMP%]{background-color:#e9ecef;color:#6c757d;font-size:1rem;padding:5px 12px}.btn-block[_ngcontent-%COMP%]{width:98%}.btn-link[_ngcontent-%COMP%] .fa-trash-o[_ngcontent-%COMP%]{color:#000}table[_ngcontent-%COMP%]{width:100%}.row[_ngcontent-%COMP%]{margin-left:0;margin-right:0;padding-bottom:1rem;padding-top:1rem}hr[_ngcontent-%COMP%]{margin-bottom:2px;margin-top:2px}.card-text[_ngcontent-%COMP%]{margin-right:15px}"],changeDetection:0}),f})();function Z1(f,y){1&f&&e._UZ(0,"span",5)}const ay=function(f){return{running:f}},V1=function(f){return[f]};let FE=(()=>{class f{constructor(n,d){this.notificationService=n,this.summaryService=d,this.icons=Ki.P,this.hasRunningTasks=!1,this.hasNotifications=!1,this.subs=new Gl.w}ngOnInit(){this.subs.add(this.summaryService.subscribe(n=>{this.hasRunningTasks=n.executing_tasks.length>0})),this.subs.add(this.notificationService.data$.subscribe(n=>{this.hasNotifications=n.length>0}))}ngOnDestroy(){this.subs.unsubscribe()}toggleSidebar(){this.notificationService.toggleSidebar()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Yi.g),e.Y36(zh.J))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-notifications"]],decls:5,vars:7,consts:function(){let y,n;return y="Tasks and Notifications",n="Tasks and Notifications",[["title",y,3,"ngClass","click"],[3,"ngClass"],["class","dot",4,"ngIf"],[1,"d-md-none"],n,[1,"dot"]]},template:function(n,d){1&n&&(e.TgZ(0,"a",0),e.NdJ("click",function(){return d.toggleSidebar()}),e._UZ(1,"i",1),e.YNc(2,Z1,1,0,"span",2),e.TgZ(3,"span",3),e.SDv(4,4),e.qZA(),e.qZA()),2&n&&(e.Q6J("ngClass",e.VKq(3,ay,d.hasRunningTasks)),e.xp6(1),e.Q6J("ngClass",e.VKq(5,V1,d.icons.bell)),e.xp6(1),e.Q6J("ngIf",d.hasNotifications))},directives:[s.mk,s.O5],styles:[".running[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#2b99a8}.running[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%]{color:#fff}a[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{background-color:#2b99a8;border:2px solid #374249;border-radius:50%;height:11px;position:absolute;right:17px;top:10px;width:10px}a[_ngcontent-%COMP%]:hover .dot[_ngcontent-%COMP%]{background-color:#fff;border-color:#2b99a8}"]}),f})(),kE=(()=>{class f{constructor(n){this.http=n,this.baseUIURL="api/feedback"}isKeyExist(){return this.http.get("ui-api/feedback/api_key/exist")}createIssue(n,d,w,re,Ze){return this.http.post("api/feedback",{project:n,tracker:d,subject:w,description:re,api_key:Ze},{headers:{Accept:"application/vnd.ceph.api.v0.1+json"}})}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function G1(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-alert-panel",30),e.tHW(1,31),e.TgZ(2,"a",32),e.NdJ("click",function(){return e.CHM(n),e.oxw().redirect()}),e.qZA(),e.N_p(),e.qZA()}}function $E(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,37),e.qZA())}function ly(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,38),e.qZA())}function cy(f,y){if(1&f&&(e.TgZ(0,"div",9),e.TgZ(1,"label",33),e.SDv(2,34),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",35),e.YNc(5,$E,2,0,"span",17),e.YNc(6,ly,2,0,"span",17),e.qZA(),e.qZA()),2&f){const n=e.oxw(),d=e.MAs(5);e.xp6(5),e.Q6J("ngIf",n.feedbackForm.showError("api_key",d,"required")),e.xp6(1),e.Q6J("ngIf",n.feedbackForm.showError("api_key",d,"invalidApiKey"))}}function uy(f,y){if(1&f&&(e.TgZ(0,"option",39),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function dy(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,40),e.qZA())}function fy(f,y){if(1&f&&(e.TgZ(0,"option",39),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function OC(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,41),e.qZA())}function HE(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,42),e.qZA())}function qh(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,43),e.qZA())}let AC=(()=>{class f{constructor(n,d,w,re,Ze,Lt){this.feedbackService=n,this.activeModal=d,this.actionLabels=w,this.secondaryModal=re,this.notificationService=Ze,this.router=Lt,this.title="Feedback",this.project=["dashboard","block","objects","file_system","ceph_manager","orchestrator","ceph_volume","core_ceph"],this.tracker=["bug","feature"],this.isAPIKeySet=!1,this.isFeedbackEnabled=!0}ngOnInit(){this.createForm(),this.keySub=this.feedbackService.isKeyExist().subscribe({next:n=>{this.isAPIKeySet=n,this.isAPIKeySet&&this.feedbackForm.get("api_key").clearValidators()},error:()=>{this.isFeedbackEnabled=!1,this.feedbackForm.disable()}})}createForm(){this.feedbackForm=new xt.d({project:new Hn.NI("",Hn.kI.required),tracker:new Hn.NI("",Hn.kI.required),subject:new Hn.NI("",Hn.kI.required),description:new Hn.NI("",Hn.kI.required),api_key:new Hn.NI("",Hn.kI.required)})}ngOnDestroy(){this.keySub.unsubscribe()}onSubmit(){this.feedbackService.createIssue(this.feedbackForm.controls.project.value,this.feedbackForm.controls.tracker.value,this.feedbackForm.controls.subject.value,this.feedbackForm.controls.description.value,this.feedbackForm.controls.api_key.value).subscribe({next:n=>{this.notificationService.show(Ho.k.success,"Issue successfully created on Ceph Issue tracker",`Go to the tracker: <a href="https://tracker.ceph.com/issues/${n.message.issue.id}" target="_blank"> ${n.message.issue.id} </a>`)},error:()=>{this.feedbackForm.get("api_key").setErrors({invalidApiKey:!0}),this.feedbackForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close()}})}redirect(){this.activeModal.close(),this.router.navigate(["/mgr-modules"])}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(kE),e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(Br.FF),e.Y36(Yi.g),e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-feedback"]],decls:42,vars:12,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co;return y="Report an issue",n="Project name",d="-- Select a project --",w="Tracker",re="-- Select a tracker --",Ze="Subject",Lt="Description",Gt="Feedback module is not enabled. Please enable it from " + "\ufffd#2\ufffd" + "Cluster-> Manager Modules." + "\ufffd/#2\ufffd" + "",On="Ceph Tracker API Key",pr="Ceph Tracker API key is required.",fr="Ceph Tracker API key is invalid.",ri="Project name is required.",Ii="Tracker name is required.",go="Subject is required.",co="Description is required.",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["name","feedbackForm",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],["type","error",4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"form-group","row"],["for","project",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],["id","project","formControlName","project",1,"form-control","custom-select"],["ngValue",""],d,[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],["for","tracker",1,"cd-col-form-label","required"],w,["id","tracker","formControlName","tracker",1,"form-control","custom-select"],re,["for","subject",1,"cd-col-form-label","required"],Ze,["id","subject","type","text","formControlName","subject","placeholder","Add issue title",1,"form-control"],["for","description",1,"cd-col-form-label","required"],Lt,["id","description","type","text","formControlName","description","placeholder","Add issue description",1,"form-control"],[1,"modal-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["type","error"],Gt,[3,"click"],["for","api_key",1,"cd-col-form-label","required"],On,["id","api_key","type","password","formControlName","api_key","placeholder","Add Ceph tracker API key",1,"form-control"],[1,"invalid-feedback"],pr,fr,[3,"value"],ri,Ii,go,co]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"div",1),e.SDv(2,2),e.qZA(),e.TgZ(3,"div",3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,G1,3,0,"cd-alert-panel",7),e.YNc(8,cy,7,2,"div",8),e.TgZ(9,"div",9),e.TgZ(10,"label",10),e.SDv(11,11),e.qZA(),e.TgZ(12,"div",12),e.TgZ(13,"select",13),e.TgZ(14,"option",14),e.SDv(15,15),e.qZA(),e.YNc(16,uy,2,2,"option",16),e.qZA(),e.YNc(17,dy,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(18,"div",9),e.TgZ(19,"label",18),e.SDv(20,19),e.qZA(),e.TgZ(21,"div",12),e.TgZ(22,"select",20),e.TgZ(23,"option",14),e.SDv(24,21),e.qZA(),e.YNc(25,fy,2,2,"option",16),e.qZA(),e.YNc(26,OC,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(27,"div",9),e.TgZ(28,"label",22),e.SDv(29,23),e.qZA(),e.TgZ(30,"div",12),e._UZ(31,"input",24),e.YNc(32,HE,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(33,"div",9),e.TgZ(34,"label",25),e.SDv(35,26),e.qZA(),e.TgZ(36,"div",12),e.TgZ(37,"textarea",27),e._uU(38," "),e.qZA(),e.YNc(39,qh,2,0,"span",17),e.qZA(),e.qZA(),e.qZA(),e.TgZ(40,"div",28),e.TgZ(41,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(5);e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.feedbackForm),e.xp6(3),e.Q6J("ngIf",!d.isFeedbackEnabled),e.xp6(1),e.Q6J("ngIf",!d.isAPIKeySet),e.xp6(8),e.Q6J("ngForOf",d.project),e.xp6(1),e.Q6J("ngIf",d.feedbackForm.showError("project",w,"required")),e.xp6(8),e.Q6J("ngForOf",d.tracker),e.xp6(1),e.Q6J("ngIf",d.feedbackForm.showError("tracker",w,"required")),e.xp6(6),e.Q6J("ngIf",d.feedbackForm.showError("subject",w,"required")),e.xp6(7),e.Q6J("ngIf",d.feedbackForm.showError("description",w,"required")),e.xp6(2),e.Q6J("form",d.feedbackForm)("submitText",d.actionLabels.SUBMIT)}},directives:[il.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,s.O5,kn.P,Ds.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,Hn.YN,Hn.Kr,s.sg,Hn.Fj,jr.p,ze.G],styles:[""]}),f})();var z1=o(97057);let sm=(()=>{class f{constructor(n,d,w,re){this.activeModal=n,this.summaryService=d,this.userService=w,this.authStorageService=re,this.userPermission=this.authStorageService.getPermissions().user}ngOnInit(){this.projectConstants=uo.$x,this.hostAddr=window.location.hostname,this.modalVariables=this.setVariables(),this.subs=this.summaryService.subscribe(n=>{const d=n.version.replace("ceph version ","").split(" ");this.hostAddr=n.mgr_host.replace(/(^\w+:|^)\/\//,"").replace(/\/$/,""),this.versionNumber=d[0],this.versionHash=d[1],this.versionName=d.slice(2,d.length).join(" ")})}ngOnDestroy(){this.subs.unsubscribe()}setVariables(){const n={};n.user=localStorage.getItem("dashboard_username"),n.role="user",this.userPermission.read&&this.userService.get(n.user).subscribe(w=>{n.role=w.roles});const d=(0,z1.qY)();return n.browserName=d&&d.name?d.name:"Not detected",n.browserVersion=d&&d.version?d.version:"Not detected",n.browserOS=d&&d.os?d.os:"Not detected",n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(zh.J),e.Y36(R1.K),e.Y36(hi.j))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-about"]],decls:46,vars:13,consts:[[1,"about-container"],[1,"modal-header"],["type","button","aria-label","Close",1,"close","float-right",3,"click"],["aria-hidden","true"],[1,"modal-body"],["src","assets/Ceph_Ceph_Logo_with_text_red_white.svg",1,"ceph-logo",3,"alt"],[1,"product-versions"],[1,"modal-footer"],[1,"text-left"]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"button",2),e.NdJ("click",function(){return d.activeModal.close()}),e.TgZ(3,"span",3),e._uU(4,"\xd7"),e.qZA(),e.qZA(),e.qZA(),e.TgZ(5,"div",4),e._UZ(6,"img",5),e.TgZ(7,"h3"),e.TgZ(8,"strong"),e._uU(9),e.qZA(),e.qZA(),e.TgZ(10,"div",6),e.TgZ(11,"strong"),e._uU(12,"Version"),e.qZA(),e._UZ(13,"br"),e._uU(14),e._UZ(15,"br"),e._uU(16),e.qZA(),e._UZ(17,"br"),e.TgZ(18,"dl"),e.TgZ(19,"dt"),e._uU(20,"Ceph Manager"),e.qZA(),e.TgZ(21,"dd"),e._uU(22),e.qZA(),e.TgZ(23,"dt"),e._uU(24,"User"),e.qZA(),e.TgZ(25,"dd"),e._uU(26),e.qZA(),e.TgZ(27,"dt"),e._uU(28,"User Role"),e.qZA(),e.TgZ(29,"dd"),e._uU(30),e.qZA(),e.TgZ(31,"dt"),e._uU(32,"Browser"),e.qZA(),e.TgZ(33,"dd"),e._uU(34),e.qZA(),e.TgZ(35,"dt"),e._uU(36,"Browser Version"),e.qZA(),e.TgZ(37,"dd"),e._uU(38),e.qZA(),e.TgZ(39,"dt"),e._uU(40,"Browser OS"),e.qZA(),e.TgZ(41,"dd"),e._uU(42),e.qZA(),e.qZA(),e.qZA(),e.TgZ(43,"div",7),e.TgZ(44,"div",8),e._uU(45),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(6),e.s9C("alt",d.projectConstants.organization),e.xp6(3),e.Oqu(d.projectConstants.projectName),e.xp6(5),e.AsE(" ",d.versionNumber," ",d.versionHash," "),e.xp6(2),e.hij(" ",d.versionName," "),e.xp6(6),e.Oqu(d.hostAddr),e.xp6(4),e.Oqu(d.modalVariables.user),e.xp6(4),e.Oqu(d.modalVariables.role),e.xp6(4),e.Oqu(d.modalVariables.browserName),e.xp6(4),e.Oqu(d.modalVariables.browserVersion),e.xp6(4),e.Oqu(d.modalVariables.browserOS),e.xp6(3),e.AsE(" ",d.projectConstants.copyright," ",d.projectConstants.license," "))},directives:[Ds.o],styles:[".about-container[_ngcontent-%COMP%]{background-color:#374249;background-image:url(ceph_background.e82dd79127290ddbe8cb.gif);background-position:right bottom;background-repeat:no-repeat;color:#fff;text-shadow:1px 1px #374249}.product-versions[_ngcontent-%COMP%]{margin-top:30px}.product-versions[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{margin-right:10px}.modal-header[_ngcontent-%COMP%]{border-bottom:0}.modal-header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{color:#fff;font-size:2em}.modal-body[_ngcontent-%COMP%]{padding-left:80px;padding-right:80px}.ceph-logo[_ngcontent-%COMP%]{margin-bottom:30px;width:25%}.modal-footer[_ngcontent-%COMP%]{border-top:0;display:block;padding:15px 80px 35px}"]}),f})();const UE=function(f){return[f]},Jh=function(f){return{disabled:f}};let jE=(()=>{class f{constructor(n,d){this.modalService=n,this.docService=d,this.icons=Ki.P}ngOnInit(){this.docService.subscribeOnce("dashboard",n=>{this.docsUrl=n})}openAboutModal(){this.modalRef=this.modalService.show(sm,null,{size:"lg"})}openFeedbackModal(){this.bsModalRef=this.modalService.show(AC,null,{size:"lg"})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(na.Z),e.Y36(N1.R))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-dashboard-help"]],decls:14,vars:7,consts:function(){let y,n,d,w,re,Ze;return y="Help",n="Help",d="documentation",w="API",re="About",Ze="Report an issue...",[["ngbDropdown","","placement","bottom-right"],["ngbDropdownToggle","","title",y],[3,"ngClass"],[1,"d-md-none"],n,["ngbDropdownMenu",""],["ngbDropdownItem","","target","_blank",1,"text-capitalize",3,"ngClass","href"],d,["ngbDropdownItem","","routerLink","/api-docs","target","_blank"],w,["ngbDropdownItem","",3,"click"],re,Ze]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"a",1),e._UZ(2,"i",2),e.TgZ(3,"span",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"div",5),e.TgZ(6,"a",6),e.SDv(7,7),e.qZA(),e.TgZ(8,"a",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"button",10),e.NdJ("click",function(){return d.openAboutModal()}),e.SDv(11,11),e.qZA(),e.TgZ(12,"button",10),e.NdJ("click",function(){return d.openFeedbackModal()}),e.SDv(13,12),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(2),e.Q6J("ngClass",e.VKq(3,UE,d.icons.questionCircle)),e.xp6(4),e.s9C("href",d.docsUrl,e.LSH),e.Q6J("ngClass",e.VKq(5,Jh,!d.docsUrl)))},directives:[Br.jt,Br.iD,s.mk,Br.Vi,Br.TH,tn.yS,Ds.o],styles:[""]}),f})();function wC(f,y){1&f&&(e.TgZ(0,"button",9),e.SDv(1,10),e.qZA())}function BE(f,y){1&f&&(e.TgZ(0,"button",11),e.SDv(1,12),e.qZA())}const tp=function(f){return[f]};function py(f,y){if(1&f&&(e.TgZ(0,"div",1),e.TgZ(1,"a",2),e._UZ(2,"i",3),e.TgZ(3,"span",4),e.SDv(4,5),e.qZA(),e.qZA(),e.TgZ(5,"div",6),e.YNc(6,wC,2,0,"button",7),e.YNc(7,BE,2,0,"button",8),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(2),e.Q6J("ngClass",e.VKq(3,tp,n.icons.deepCheck)),e.xp6(4),e.Q6J("ngIf",n.userPermission.read),e.xp6(1),e.Q6J("ngIf",n.configOptPermission.read)}}let DC=(()=>{class f{constructor(n){this.authStorageService=n,this.icons=Ki.P;const d=this.authStorageService.getPermissions();this.userPermission=d.user,this.configOptPermission=d.configOpt}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-administration"]],decls:1,vars:1,consts:function(){let y,n,d,w;return y="Dashboard Settings",n="Dashboard Settings",d="User management",w="Telemetry configuration",[["ngbDropdown","","placement","bottom-right",4,"ngIf"],["ngbDropdown","","placement","bottom-right"],["ngbDropdownToggle","","title",y,1,"dropdown-toggle"],[3,"ngClass"],[1,"d-md-none"],n,["ngbDropdownMenu",""],["ngbDropdownItem","","routerLink","/user-management",4,"ngIf"],["ngbDropdownItem","","routerLink","/telemetry",4,"ngIf"],["ngbDropdownItem","","routerLink","/user-management"],d,["ngbDropdownItem","","routerLink","/telemetry"],w]},template:function(n,d){1&n&&e.YNc(0,py,8,5,"div",0),2&n&&e.Q6J("ngIf",d.userPermission.read)},directives:[s.O5,Br.jt,Br.iD,s.mk,Br.Vi,Ds.o,Br.TH,tn.rH],styles:[""]}),f})();const Qh=function(f){return[f]};function YE(f,y){if(1&f&&(e.TgZ(0,"button",12),e._UZ(1,"i",2),e.TgZ(2,"span"),e.SDv(3,13),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(1,Qh,n.icons.lock))}}let ZE=(()=>{class f{constructor(n,d){this.authStorageService=n,this.authService=d,this.icons=Ki.P}ngOnInit(){this.username=this.authStorageService.getUsername(),this.sso=this.authStorageService.isSSO()}logout(){this.authService.logout()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(tm.e))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-identity"]],decls:15,vars:8,consts:function(){let y,n,d,w,re;return y="Logged in user",n="Logged in user",d="Signed in as " + "\ufffd#8\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#8\ufffd" + "",w="Sign out",re="Change password",[["ngbDropdown","","placement","bottom-right"],["ngbDropdownToggle","","title",y],[3,"ngClass"],[1,"d-md-none"],n,["ngbDropdownMenu",""],["ngbDropdownItem","","disabled",""],d,[1,"dropdown-divider"],["ngbDropdownItem","","routerLink","/user-profile/edit",4,"ngIf"],["ngbDropdownItem","",3,"click"],w,["ngbDropdownItem","","routerLink","/user-profile/edit"],re]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"a",1),e._UZ(2,"i",2),e.TgZ(3,"span",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"div",5),e.TgZ(6,"button",6),e.tHW(7,7),e._UZ(8,"strong"),e.N_p(),e.qZA(),e._UZ(9,"li",8),e.YNc(10,YE,4,3,"button",9),e.TgZ(11,"button",10),e.NdJ("click",function(){return d.logout()}),e._UZ(12,"i",2),e.TgZ(13,"span"),e.SDv(14,11),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(2),e.Q6J("ngClass",e.VKq(4,Qh,d.icons.user)),e.xp6(6),e.pQV(d.username),e.QtT(7),e.xp6(2),e.Q6J("ngIf",!d.sso),e.xp6(2),e.Q6J("ngClass",e.VKq(6,Qh,d.icons.signOut)))},directives:[Br.jt,Br.iD,s.mk,Br.Vi,Ds.o,Br.TH,s.O5,tn.rH],styles:[""]}),f})();function xC(f,y){1&f&&e.GkF(0)}function VE(f,y){1&f&&e.GkF(0)}function GE(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"li",22),e._UZ(1,"cd-language-selector",23),e.qZA(),e.TgZ(2,"li",22),e.TgZ(3,"cd-notifications",24),e.NdJ("click",function(){return e.CHM(n),e.oxw().toggleRightSidebar()}),e.qZA(),e.qZA(),e.TgZ(4,"li",22),e._UZ(5,"cd-dashboard-help",23),e.qZA(),e.TgZ(6,"li",22),e._UZ(7,"cd-administration",23),e.qZA(),e.TgZ(8,"li",22),e._UZ(9,"cd-identity",23),e.qZA()}}function zE(f,y){1&f&&(e.TgZ(0,"li",50),e.TgZ(1,"a",51),e.SDv(2,52),e.qZA(),e.qZA())}function W1(f,y){1&f&&(e.TgZ(0,"li",53),e.TgZ(1,"a",54),e.SDv(2,55),e.qZA(),e.qZA())}function hy(f,y){1&f&&(e.TgZ(0,"li",56),e.TgZ(1,"a",57),e.SDv(2,58),e.qZA(),e.qZA())}function _y(f,y){1&f&&(e.TgZ(0,"li",59),e.TgZ(1,"a",60),e.SDv(2,61),e.qZA(),e.qZA())}function gy(f,y){1&f&&(e.TgZ(0,"li",62),e.TgZ(1,"a",63),e.SDv(2,64),e.qZA(),e.qZA())}function WE(f,y){1&f&&(e.TgZ(0,"li",65),e.TgZ(1,"a",66),e.SDv(2,67),e.qZA(),e.qZA())}function RC(f,y){1&f&&(e.TgZ(0,"li",68),e.TgZ(1,"a",69),e.SDv(2,70),e.qZA(),e.qZA())}function qE(f,y){1&f&&(e.TgZ(0,"li",71),e.TgZ(1,"a",72),e.SDv(2,73),e.qZA(),e.qZA())}function JE(f,y){1&f&&(e.TgZ(0,"li",74),e.TgZ(1,"a",75),e.SDv(2,76),e.qZA(),e.qZA())}function QE(f,y){if(1&f&&(e.TgZ(0,"small",81),e._uU(1),e.qZA()),2&f){const n=e.oxw(5);e.xp6(1),e.Oqu(n.prometheusAlertService.activeAlerts)}}function my(f,y){if(1&f&&(e.TgZ(0,"li",77),e.TgZ(1,"a",78),e.ynx(2),e.SDv(3,79),e.BQk(),e.YNc(4,QE,2,1,"small",80),e.qZA(),e.qZA()),2&f){const n=e.oxw(4);e.xp6(4),e.Q6J("ngIf",n.prometheusAlertService.activeAlerts>0)}}function vy(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"li",36),e.TgZ(1,"a",37),e.NdJ("click",function(){return e.CHM(n),e.oxw(3).toggleSubMenu("cluster")}),e.ynx(2),e.SDv(3,38),e.BQk(),e.qZA(),e.TgZ(4,"ul",39),e.YNc(5,zE,3,0,"li",40),e.YNc(6,W1,3,0,"li",41),e.YNc(7,hy,3,0,"li",42),e.YNc(8,_y,3,0,"li",43),e.YNc(9,gy,3,0,"li",44),e.YNc(10,WE,3,0,"li",45),e.YNc(11,RC,3,0,"li",46),e.YNc(12,qE,3,0,"li",47),e.YNc(13,JE,3,0,"li",48),e.YNc(14,my,5,1,"li",49),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.uIk("aria-expanded","cluster"==n.displayedSubMenu),e.xp6(3),e.Q6J("ngbCollapse","cluster"!==n.displayedSubMenu),e.xp6(1),e.Q6J("ngIf",n.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",n.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",n.permissions.monitor.read),e.xp6(1),e.Q6J("ngIf",n.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",n.permissions.osd.read),e.xp6(1),e.Q6J("ngIf",n.permissions.configOpt.read),e.xp6(1),e.Q6J("ngIf",n.permissions.osd.read),e.xp6(1),e.Q6J("ngIf",n.permissions.configOpt.read),e.xp6(1),e.Q6J("ngIf",n.permissions.log.read),e.xp6(1),e.Q6J("ngIf",n.permissions.prometheus.read)}}function yy(f,y){1&f&&(e.TgZ(0,"li",82),e.TgZ(1,"a",83),e.SDv(2,84),e.qZA(),e.qZA())}function XE(f,y){1&f&&(e.TgZ(0,"li",91),e.TgZ(1,"a",92),e.SDv(2,93),e.qZA(),e.qZA())}function KE(f,y){if(1&f&&(e.TgZ(0,"small",98),e._uU(1),e.qZA()),2&f){const n=e.oxw(5);e.xp6(1),e.Oqu(null==n.summaryData||null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.warnings)}}function by(f,y){if(1&f&&(e.TgZ(0,"small",81),e._uU(1),e.qZA()),2&f){const n=e.oxw(5);e.xp6(1),e.Oqu(null==n.summaryData||null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.errors)}}function am(f,y){if(1&f&&(e.TgZ(0,"li",94),e.TgZ(1,"a",95),e.ynx(2),e.SDv(3,96),e.BQk(),e.YNc(4,KE,2,1,"small",97),e.YNc(5,by,2,1,"small",80),e.qZA(),e.qZA()),2&f){const n=e.oxw(4);e.xp6(4),e.Q6J("ngIf",0!==(null==n.summaryData||null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.warnings)),e.xp6(1),e.Q6J("ngIf",0!==(null==n.summaryData||null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.errors))}}function eT(f,y){1&f&&(e.TgZ(0,"li",99),e.TgZ(1,"a",100),e.SDv(2,101),e.qZA(),e.qZA())}function Ey(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"li",85),e.TgZ(1,"a",86),e.NdJ("click",function(){return e.CHM(n),e.oxw(3).toggleSubMenu("block")}),e.ynx(2),e.SDv(3,87),e.BQk(),e.qZA(),e.TgZ(4,"ul",39),e.YNc(5,XE,3,0,"li",88),e.YNc(6,am,6,2,"li",89),e.YNc(7,eT,3,0,"li",90),e.qZA(),e.qZA()}if(2&f){const n=e.oxw().ngIf,d=e.oxw(2);e.xp6(1),e.Q6J("ngStyle",d.blockHealthColor()),e.uIk("aria-expanded","block"==d.displayedSubMenu),e.xp6(3),e.Q6J("ngbCollapse","block"!==d.displayedSubMenu),e.xp6(1),e.Q6J("ngIf",d.permissions.rbdImage.read&&n.rbd),e.xp6(1),e.Q6J("ngIf",d.permissions.rbdMirroring.read&&n.mirroring),e.xp6(1),e.Q6J("ngIf",d.permissions.iscsi.read&&n.iscsi)}}function lm(f,y){1&f&&(e.TgZ(0,"li",102),e.TgZ(1,"a",103),e.SDv(2,104),e.qZA(),e.qZA())}function cm(f,y){1&f&&(e.TgZ(0,"li",105),e.TgZ(1,"a",106),e.SDv(2,107),e.qZA(),e.qZA())}function G_(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"li",108),e.TgZ(1,"a",37),e.NdJ("click",function(){return e.CHM(n),e.oxw(3).toggleSubMenu("rgw")}),e.ynx(2),e.SDv(3,109),e.BQk(),e.qZA(),e.TgZ(4,"ul",39),e.TgZ(5,"li",110),e.TgZ(6,"a",111),e.SDv(7,112),e.qZA(),e.qZA(),e.TgZ(8,"li",113),e.TgZ(9,"a",114),e.SDv(10,115),e.qZA(),e.qZA(),e.TgZ(11,"li",116),e.TgZ(12,"a",117),e.SDv(13,118),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.uIk("aria-expanded","rgw"==n.displayedSubMenu),e.xp6(3),e.Q6J("ngbCollapse","rgw"!==n.displayedSubMenu)}}const tT=function(f){return[f]};function nT(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"li",26),e.TgZ(2,"a",27),e.TgZ(3,"span"),e.SDv(4,28),e.qZA(),e._uU(5,"\xa0 "),e._UZ(6,"i",29),e.ALo(7,"healthColor"),e.qZA(),e.qZA(),e.YNc(8,vy,15,12,"li",30),e.YNc(9,yy,3,0,"li",31),e.YNc(10,Ey,8,6,"li",32),e.YNc(11,lm,3,0,"li",33),e.YNc(12,cm,3,0,"li",34),e.YNc(13,G_,14,2,"li",35),e.BQk()),2&f){const n=y.ngIf,d=e.oxw(2);e.xp6(6),e.Q6J("ngClass",e.VKq(10,tT,d.icons.health))("ngStyle",e.lcZ(7,8,null==d.summaryData?null:d.summaryData.health_status)),e.xp6(2),e.Q6J("ngIf",d.permissions.hosts.read||d.permissions.monitor.read||d.permissions.osd.read||d.permissions.configOpt.read||d.permissions.log.read||d.permissions.prometheus.read),e.xp6(1),e.Q6J("ngIf",d.permissions.pool.read),e.xp6(1),e.Q6J("ngIf",(d.permissions.rbdImage.read||d.permissions.rbdMirroring.read||d.permissions.iscsi.read)&&(n.rbd||n.mirroring||n.iscsi)),e.xp6(1),e.Q6J("ngIf",d.permissions.nfs.read&&n.nfs),e.xp6(1),e.Q6J("ngIf",d.permissions.cephfs.read&&n.cephfs),e.xp6(1),e.Q6J("ngIf",d.permissions.rgw.read&&n.rgw)}}function NC(f,y){if(1&f&&(e.YNc(0,nT,14,12,"ng-container",25),e.ALo(1,"async")),2&f){const n=e.oxw();e.Q6J("ngIf",e.lcZ(1,1,n.enabledFeature$))}}const rT=function(f){return{show:f}},Ty=function(f){return{active:f}},iT=["*"];let oT=(()=>{class f{constructor(n,d,w,re,Ze,Lt){this.authStorageService=n,this.summaryService=d,this.featureToggles=w,this.telemetryNotificationService=re,this.prometheusAlertService=Ze,this.motdNotificationService=Lt,this.notifications=[],this.icons=Ki.P,this.rightSidebarOpen=!1,this.showMenuSidebar=!0,this.displayedSubMenu="",this.simplebar={autoHide:!1},this.subs=new Gl.w,this.permissions=this.authStorageService.getPermissions(),this.enabledFeature$=this.featureToggles.get()}get class(){return"top-notification-"+this.notifications.length}ngOnInit(){this.subs.add(this.summaryService.subscribe(n=>{this.summaryData=n})),this.subs.add(this.authStorageService.isPwdDisplayed$.subscribe(n=>{this.showTopNotification("isPwdDisplayed",n)})),this.subs.add(this.telemetryNotificationService.update.subscribe(n=>{this.showTopNotification("telemetryNotificationEnabled",n)})),this.subs.add(this.motdNotificationService.motd$.subscribe(n=>{this.showTopNotification("motdNotificationEnabled",ur.isPlainObject(n))}))}ngOnDestroy(){this.subs.unsubscribe()}blockHealthColor(){if(this.summaryData&&this.summaryData.rbd_mirroring){if(this.summaryData.rbd_mirroring.errors>0)return{color:"#d9534f"};if(this.summaryData.rbd_mirroring.warnings>0)return{color:"#f0ad4e"}}}toggleSubMenu(n){this.displayedSubMenu=this.displayedSubMenu===n?"":n}toggleRightSidebar(){this.rightSidebarOpen=!this.rightSidebarOpen}showTopNotification(n,d){if(d)this.notifications.includes(n)||this.notifications.push(n);else{const w=this.notifications.indexOf(n);w>=0&&this.notifications.splice(w,1)}}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(zh.J),e.Y36(zg.l),e.Y36(s1),e.Y36(bd),e.Y36(W0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-navigation"]],hostVars:2,hostBindings:function(n,d){2&n&&e.Tol(d.class)},ngContentSelectors:iT,decls:30,vars:12,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,pr,fr,ri,Ii,go,co,zo,Bs,gs,ks,ma,Tl,va,Wl,Kc;return y="Toggle navigation",n="Dashboard",d="Cluster",w="Hosts",re="Physical Disks",Ze="Monitors",Lt="Services",Gt="OSDs",On="Configuration",pr="CRUSH map",fr="Manager Modules",ri="Logs",Ii="Monitoring",go="Pools",co="Block",zo="Images",Bs="Mirroring",gs="iSCSI",ks="NFS",ma="File Systems",Tl="Object Gateway",va="Daemons",Wl="Users",Kc="Buckets",[[1,"cd-navbar-main"],[1,"cd-navbar-top"],[1,"navbar","navbar-expand-md","navbar-dark","cd-navbar-brand"],["aria-label","toggle sidebar visibility",1,"btn","btn-link","py-0",3,"click"],["aria-hidden","true",1,"fa","fa-bars","fa-2x"],["href","#",1,"navbar-brand","ml-2"],["src","assets/Ceph_Ceph_Logo_with_text_white.svg","alt","Ceph"],["type","button",1,"navbar-toggler",3,"click"],[1,"sr-only"],y,[1,""],[1,"fa","fa-navicon","fa-lg"],[1,"collapse","navbar-collapse",3,"ngClass"],[1,"nav","navbar-nav","cd-navbar-utility","my-2","my-md-0"],[4,"ngTemplateOutlet"],[1,"wrapper"],["id","sidebar",3,"ngClass"],[3,"options"],[1,"list-unstyled","components","cd-navbar-primary"],["id","content",3,"ngClass"],["cd_utilities",""],["cd_menu",""],[1,"nav-item"],[1,"cd-navbar"],[1,"cd-navbar",3,"click"],[4,"ngIf"],["routerLinkActive","active",1,"nav-item","tc_menuitem_dashboard"],["routerLink","/dashboard",1,"nav-link"],n,[3,"ngClass","ngStyle"],["routerLinkActive","active","class","nav-item tc_menuitem_cluster",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_pool",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_block",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_nfs",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_cephfs",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_rgw",4,"ngIf"],["routerLinkActive","active",1,"nav-item","tc_menuitem_cluster"],["aria-controls","collapseBasic",1,"nav-link","dropdown-toggle",3,"click"],d,[1,"list-unstyled",3,"ngbCollapse"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_hosts",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_cluster_inventory",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_cluster_monitor",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_cluster_services",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_osds",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_configuration",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_crush",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_modules",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_log",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_monitoring",4,"ngIf"],["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_hosts"],["routerLink","/hosts"],w,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_cluster_inventory"],["routerLink","/inventory"],re,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_cluster_monitor"],["routerLink","/monitor/"],Ze,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_cluster_services"],["routerLink","/services/"],Lt,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_osds"],["routerLink","/osd"],Gt,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_configuration"],["routerLink","/configuration"],On,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_crush"],["routerLink","/crush-map"],pr,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_modules"],["routerLink","/mgr-modules"],fr,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_log"],["routerLink","/logs"],ri,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_monitoring"],["routerLink","/monitoring"],Ii,["class","badge badge-danger",4,"ngIf"],[1,"badge","badge-danger"],["routerLinkActive","active",1,"nav-item","tc_menuitem_pool"],["routerLink","/pool",1,"nav-link"],go,["routerLinkActive","active",1,"nav-item","tc_menuitem_block"],["aria-controls","collapseBasic",1,"nav-link","dropdown-toggle",3,"ngStyle","click"],co,["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_block_images",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_block_mirroring",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_block_iscsi",4,"ngIf"],["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_block_images"],["routerLink","/block/rbd"],zo,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_block_mirroring"],["routerLink","/block/mirroring"],Bs,["class","badge badge-warning",4,"ngIf"],[1,"badge","badge-warning"],["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_block_iscsi"],["routerLink","/block/iscsi"],gs,["routerLinkActive","active",1,"nav-item","tc_menuitem_nfs"],["routerLink","/nfs",1,"nav-link"],ks,["routerLinkActive","active",1,"nav-item","tc_menuitem_cephfs"],["routerLink","/cephfs",1,"nav-link"],ma,["routerLinkActive","active",1,"nav-item","tc_menuitem_rgw"],Tl,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_rgw_daemons"],["routerLink","/rgw/daemon"],va,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_rgw_users"],["routerLink","/rgw/user"],Wl,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_rgw_buckets"],["routerLink","/rgw/bucket"],Kc]},template:function(n,d){if(1&n&&(e.F$t(),e.TgZ(0,"div",0),e._UZ(1,"cd-pwd-expiration-notification"),e._UZ(2,"cd-telemetry-notification"),e._UZ(3,"cd-motd"),e._UZ(4,"cd-notifications-sidebar"),e.TgZ(5,"div",1),e.TgZ(6,"nav",2),e.TgZ(7,"button",3),e.NdJ("click",function(){return d.showMenuSidebar=!d.showMenuSidebar}),e._UZ(8,"i",4),e.qZA(),e.TgZ(9,"a",5),e._UZ(10,"img",6),e.qZA(),e.TgZ(11,"button",7),e.NdJ("click",function(){return d.toggleRightSidebar()}),e.TgZ(12,"span",8),e.SDv(13,9),e.qZA(),e.TgZ(14,"span",10),e._UZ(15,"i",11),e.qZA(),e.qZA(),e.TgZ(16,"div",12),e.TgZ(17,"ul",13),e.YNc(18,xC,1,0,"ng-container",14),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(19,"div",15),e.TgZ(20,"nav",16),e.TgZ(21,"ngx-simplebar",17),e.TgZ(22,"ul",18),e.YNc(23,VE,1,0,"ng-container",14),e.qZA(),e.qZA(),e.qZA(),e.TgZ(24,"div",19),e.Hsn(25),e.qZA(),e.qZA(),e.YNc(26,GE,10,0,"ng-template",null,20,e.W1O),e.YNc(28,NC,2,3,"ng-template",null,21,e.W1O),e.qZA()),2&n){const w=e.MAs(27),re=e.MAs(29);e.xp6(16),e.Q6J("ngClass",e.VKq(6,rT,d.rightSidebarOpen)),e.xp6(2),e.Q6J("ngTemplateOutlet",w),e.xp6(2),e.Q6J("ngClass",e.VKq(8,Ty,!d.showMenuSidebar)),e.xp6(1),e.Q6J("options",d.simplebar),e.xp6(2),e.Q6J("ngTemplateOutlet",re),e.xp6(1),e.Q6J("ngClass",e.VKq(10,Ty,!d.showMenuSidebar))}},directives:[ME,OE,L1,Y1,Br.M2,Ds.o,s.mk,s.tP,k1.M,P1,FE,jE,DC,ZE,s.O5,tn.Od,tn.yS,s.PC,Br._D],pipes:[s.Ov,Wg],styles:['@charset "UTF-8";.cd-navbar-main[_ngcontent-%COMP%]{display:flex;flex:1;flex-direction:column;height:100%} cd-navigation .cd-navbar-top .cd-navbar-brand{background:#374249;border-top:4px solid #2b99a8} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-brand, cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-brand:hover{color:#e9ecef;height:auto;padding:0} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-brand>img{height:25px} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-toggler{border:0} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-toggler:focus, cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-toggler:hover{outline:0} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-toggler .fa-navicon{color:#e9ecef} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-collapse{padding:0} cd-navigation .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>.active>a{background-color:#2b99a8;color:#e9ecef} cd-navigation .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a, cd-navigation .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a:focus, cd-navigation .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a:hover{background-color:transparent;border-color:transparent;color:#e9ecef} cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>[ngbDropdown]>a, cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>a, cd-navigation .cd-navbar-top .navbar-nav>li>a{color:#e9ecef;display:block;line-height:1;padding:13.5px 18px!important;position:relative;text-decoration:none} cd-navigation .cd-navbar-top .navbar-nav .nav-link, cd-navigation .cd-navbar-top .navbar-nav .nav-link:hover{color:#e9ecef} cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>[ngbDropdown]>a:hover, cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>[ngbDropdown].open>a, cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>a:hover, cd-navigation .cd-navbar-top .navbar-nav>li>a:hover, cd-navigation .cd-navbar-top .navbar-nav>li:hover{background-color:#2b99a8} cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>[ngbDropdown]>a, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>[ngbDropdown]>a:hover, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>a, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>a:focus, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>a:hover, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>li>a:focus, cd-navigation .cd-navbar-top .navbar-nav>.open>a, cd-navigation .cd-navbar-top .navbar-nav>.open>a:focus, cd-navigation .cd-navbar-top .navbar-nav>.open>a:hover{background-color:transparent;border-color:transparent;color:#e9ecef}@media (min-width: 768px){ cd-navigation .cd-navbar-top .cd-navbar-utility{border-bottom:0;font-size:1.1rem;position:absolute;right:0;top:0}}@media (max-width: calc(768px - 1px)){ cd-navigation .cd-navbar-top .navbar-nav{margin:0} cd-navigation .cd-navbar-top .navbar-nav .fa{margin-right:.5em} cd-navigation .cd-navbar-top .navbar-nav .open .dropdown-menu{background-color:#2b99a8;border:0;padding-bottom:0;padding-top:0} cd-navigation .cd-navbar-top .navbar-nav .open .dropdown-menu>li>a{color:#e9ecef;padding:5px 15px 5px 35px} cd-navigation .cd-navbar-top .navbar-nav .open .dropdown-menu>.active>a{background-color:#2b99a8} cd-navigation .cd-navbar-top .navbar-nav>li>a:hover{background-color:#2b99a8}}.cd-navbar-primary[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .cd-navbar-primary[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .cd-navbar-primary[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#2b99a8!important;border:0!important;color:#e9ecef!important}.wrapper[_ngcontent-%COMP%]{display:flex;height:100%;width:100%}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%]{background:#374249;bottom:0;color:#fff;height:auto;left:0;overflow-y:auto;position:relative;transition:all .3s;width:200px;z-index:999}.wrapper[_ngcontent-%COMP%] #sidebar.active[_ngcontent-%COMP%]{margin-left:-200px}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul.component[_ngcontent-%COMP%]{margin:0;padding:20px 0}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#fff;padding:10px}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;display:block;font-size:1.1em;padding:10px 10px 10px 27px;text-decoration:none}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:#2b99a8;color:#fff}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] > .badge[_ngcontent-%COMP%]{margin-left:5px}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] a[aria-expanded=true][_ngcontent-%COMP%]{color:#fff}.wrapper[_ngcontent-%COMP%] a.dropdown-toggle[_ngcontent-%COMP%]{position:relative}.wrapper[_ngcontent-%COMP%] a.dropdown-toggle[_ngcontent-%COMP%]:after{border:0;content:"\\f054";font-family:"ForkAwesome";font-size:1rem;position:absolute;right:20px;transition:transform .3s ease-in-out}.wrapper[_ngcontent-%COMP%] a.dropdown-toggle[aria-expanded=true][_ngcontent-%COMP%]:after{transform:rotate(90deg)}.wrapper[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{background:#4d5c66;font-size:.9em!important;padding-left:40px!important}.wrapper[_ngcontent-%COMP%] .cd-navbar-primary[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus{outline:none}.wrapper[_ngcontent-%COMP%] ngx-simplebar[_ngcontent-%COMP%]{height:100%}#content[_ngcontent-%COMP%]{bottom:0;position:relative;right:0;transition:all .3s;width:calc(100% - 200px)}#content.active[_ngcontent-%COMP%]{width:100vw}']}),f})();var sT=o(17757),aT=o(20523);function lT(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"button",8),e.NdJ("click",function(){const re=e.CHM(n).$implicit;return e.oxw(3).onDaemonSelection(re)}),e._uU(2),e.qZA(),e.BQk()}if(2&f){const n=y.$implicit;e.xp6(2),e.AsE(" ",n.id," ( ",n.zonegroup_name," ) ")}}function cT(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",1),e.TgZ(2,"span",2),e.SDv(3,3),e.qZA(),e.TgZ(4,"div",4),e.TgZ(5,"button",5),e._uU(6),e.qZA(),e.TgZ(7,"div",6),e.YNc(8,lT,3,2,"ng-container",7),e.qZA(),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw().ngIf;e.xp6(6),e.AsE(" ",n.selectedDaemon.id," ( ",n.selectedDaemon.zonegroup_name," ) "),e.xp6(2),e.Q6J("ngForOf",n.daemons)}}function uT(f,y){if(1&f&&(e.ynx(0),e.YNc(1,cT,9,3,"ng-container",0),e.BQk()),2&f){const n=y.ngIf,d=e.oxw();e.xp6(1),e.Q6J("ngIf",n.ftMap&&n.ftMap.rgw&&d.permissions.rgw.read&&d.isRgwRoute&&n.daemons.length>1)}}const PC=function(f,y,n){return{ftMap:f,daemons:y,selectedDaemon:n}};let dT=(()=>{class f{constructor(n,d,w,re,Ze){this.authStorageService=n,this.featureToggles=d,this.router=w,this.timerService=re,this.rgwDaemonService=Ze,this.REFRESH_INTERVAL=5e3,this.subs=new Gl.w,this.rgwUrlPrefix="/rgw",this.isRgwRoute=document.location.href.includes(this.rgwUrlPrefix)}ngOnInit(){this.permissions=this.authStorageService.getPermissions(),this.featureToggleMap$=this.featureToggles.get(),this.subs.add(this.router.events.pipe((0,Au.h)(n=>n instanceof tn.m2)).subscribe(()=>this.isRgwRoute=this.router.url.startsWith(this.rgwUrlPrefix))),this.subs.add(this.timerService.get(()=>this.isRgwRoute?this.rgwDaemonService.list():sT.C,this.REFRESH_INTERVAL).subscribe())}ngOnDestroy(){this.subs.unsubscribe()}onDaemonSelection(n){this.rgwDaemonService.selectDaemon(n),this.reloadData()}reloadData(){const n=this.router.url;this.router.navigateByUrl(this.rgwUrlPrefix,{skipLocationChange:!0}).finally(()=>{this.router.navigate([n])})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(zg.l),e.Y36(tn.F0),e.Y36(Sh.f),e.Y36(aT.b))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-context"]],decls:4,vars:11,consts:function(){let y,n;return y="Selected Object Gateway:",n="Select Object Gateway",[[4,"ngIf"],[1,"cd-context-bar","pt-3","pb-3"],[1,"mr-1"],y,["ngbDropdown","","placement","bottom-left",1,"d-inline-block","ml-2"],["ngbDropdownToggle","","title",n,1,"btn","btn-outline-info","ctx-bar-selected-rgw-daemon"],["ngbDropdownMenu",""],[4,"ngFor","ngForOf"],["ngbDropdownItem","",1,"ctx-bar-available-rgw-daemon",3,"click"]]},template:function(n,d){1&n&&(e.YNc(0,uT,2,1,"ng-container",0),e.ALo(1,"async"),e.ALo(2,"async"),e.ALo(3,"async")),2&n&&e.Q6J("ngIf",e.kEZ(7,PC,e.lcZ(1,1,d.featureToggleMap$),e.lcZ(2,3,d.rgwDaemonService.daemons$),e.lcZ(3,5,d.rgwDaemonService.selectedDaemon$)))},directives:[s.O5,Br.jt,Ds.o,Br.iD,Br.Vi,s.sg,Br.TH],pipes:[s.Ov],styles:[".cd-context-bar[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}"]}),f})();var z_=o(58071),fT=o(94402),q1=o(85345);class um{constructor(y,n){this.keySelector=y,this.flushes=n}call(y,n){return n.subscribe(new ch(y,this.keySelector,this.flushes))}}class ch extends q1.Ds{constructor(y,n,d){super(y),this.keySelector=n,this.values=new Set,d&&this.add((0,q1.ft)(d,new q1.IY(this)))}notifyNext(){this.values.clear()}notifyError(y){this._error(y)}_next(y){this.keySelector?this._useKeySelector(y):this._finalizeNext(y,y)}_useKeySelector(y){let n;const{destination:d}=this;try{n=this.keySelector(y)}catch(w){return void d.error(w)}this._finalizeNext(n,y)}_finalizeNext(y,n){const{values:d}=this;d.has(y)||(d.add(y),this.destination.next(n))}}var J1=o(28049);class dm{resolve(y){const n=y.routeConfig.data,d=null===n.path?null:this.getFullPath(y);return(0,xs.of)([{text:"string"==typeof n.breadcrumbs?n.breadcrumbs:n.breadcrumbs.text||n.text||d,path:d}])}getFullPath(y){return y.pathFromRoot.reduce((re,Ze)=>re+Ze.url.reduce((re,Ze)=>re+"/"+Ze.path,""),"")}}function IC(f,y){if(1&f&&(e.TgZ(0,"a",6),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.Q6J("routerLink",n.path),e.xp6(1),e.Oqu(n.text)}}function hT(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.Oqu(n.text)}}const fm=function(f){return{active:f}};function _T(f,y){if(1&f&&(e.TgZ(0,"li",3),e.YNc(1,IC,2,2,"a",4),e.YNc(2,hT,2,1,"span",5),e.qZA()),2&f){const n=y.$implicit,d=y.last,w=e.oxw(2);e.Q6J("ngClass",e.VKq(3,fm,d&&w.finished)),e.xp6(1),e.Q6J("ngIf",!d&&null!==n.path),e.xp6(1),e.Q6J("ngIf",d||null===n.path)}}function gT(f,y){if(1&f&&(e.TgZ(0,"ol",1),e.YNc(1,_T,3,5,"li",2),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngForOf",n.crumbs)}}let Cy=(()=>{class f{constructor(n,d){this.router=n,this.injector=d,this.crumbs=[],this.finished=!1,this.defaultResolver=new dm,this.subscription=this.router.events.pipe((0,Au.h)(w=>w instanceof tn.OD)).subscribe(()=>{this.finished=!1}),this.subscription=this.router.events.pipe((0,Au.h)(w=>w instanceof tn.m2)).subscribe(()=>{this._resolveCrumbs(n.routerState.snapshot.root).pipe((0,al.zg)(re=>re),function(f,y){return n=>n.lift(new um(f,undefined))}(re=>re.text),Ua(),(0,al.zg)(re=>{const Ze=this.postProcess(re);return this.wrapIntoObservable(Ze).pipe((0,J1.P)())})).subscribe(re=>{this.finished=!0,this.crumbs=re})})}ngOnDestroy(){this.subscription.unsubscribe()}_resolveCrumbs(n){let d;const w=n.routeConfig&&n.routeConfig.data;if(w&&w.breadcrumbs){let re;re=w.breadcrumbs.prototype instanceof dm?this.injector.get(w.breadcrumbs):this.defaultResolver;const Ze=re.resolve(n);d=this.wrapIntoObservable(Ze).pipe((0,J1.P)())}else d=(0,xs.of)([]);return n.firstChild&&(d=(0,z_.z)(d,this._resolveCrumbs(n.firstChild))),d}postProcess(n){const d=[];return n.forEach(w=>{const re=w.text.split("/");if(re.length>1){w.text=re[re.length-1];for(let Ze=0;Ze<re.length-1;Ze++)d.push({text:re[Ze],path:null})}d.push(w)}),d}isPromise(n){return n&&"function"==typeof n.then}wrapIntoObservable(n){return n instanceof Bh.y?n:this.isPromise(n)?(0,fT.D)(Promise.resolve(n)):(0,xs.of)(n)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(e.zs3))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-breadcrumbs"]],decls:1,vars:1,consts:[["class","breadcrumb",4,"ngIf"],[1,"breadcrumb"],["class","breadcrumb-item",3,"ngClass",4,"ngFor","ngForOf"],[1,"breadcrumb-item",3,"ngClass"],["preserveFragment","",3,"routerLink",4,"ngIf"],[4,"ngIf"],["preserveFragment","",3,"routerLink"]],template:function(n,d){1&n&&e.YNc(0,gT,2,1,"ol",0),2&n&&e.Q6J("ngIf",d.crumbs.length)},directives:[s.O5,s.sg,s.mk,tn.yS],styles:['@charset "UTF-8";.breadcrumb[_ngcontent-%COMP%]{background-color:transparent;border-radius:0;margin-top:8px;padding:8px 0}.breadcrumb[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]:before{content:"\\f101";font-family:"ForkAwesome";padding:0 5px 0 7px}']}),f})();const Sy=function(f){return{dashboard:f}};let Q1=(()=>{class f{constructor(n,d,w,re){this.router=n,this.summaryService=d,this.taskManagerService=w,this.faviconService=re,this.subs=new Gl.w}ngOnInit(){this.subs.add(this.summaryService.startPolling()),this.subs.add(this.taskManagerService.init(this.summaryService)),this.faviconService.init()}ngOnDestroy(){this.subs.unsubscribe()}isDashboardPage(){return"/dashboard"===this.router.url}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(zh.J),e.Y36(V_.k),e.Y36(I1))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-workbench-layout"]],features:[e._Bn([I1])],decls:6,vars:3,consts:[[1,"container-fluid","h-100",3,"ngClass"]],template:function(n,d){1&n&&(e.TgZ(0,"block-ui"),e.TgZ(1,"cd-navigation"),e.TgZ(2,"div",0),e._UZ(3,"cd-context"),e._UZ(4,"cd-breadcrumbs"),e._UZ(5,"router-outlet"),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(2),e.Q6J("ngClass",e.VKq(1,Sy,d.isDashboardPage())))},directives:[T_,oT,s.mk,dT,Cy,tn.lC],styles:[".dashboard[_ngcontent-%COMP%]{background-color:#e9ecef;margin:0;padding:0}.container-fluid[_ngcontent-%COMP%]{overflow:auto;position:absolute}"]}),f})();var My=o(11642),Oy=o.n(My);let mT=(()=>{class f{ngOnInit(){Oy()({url:window.location.origin+"/docs/openapi.json",dom_id:"#swagger-ui",layout:"BaseLayout"})}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-api-docs"]],decls:1,vars:0,consts:[["id","swagger-ui",1,"apiDocs"]],template:function(n,d){1&n&&e._UZ(0,"div",0)},styles:[".apiDocs[_ngcontent-%COMP%]{background:#f8f9fa;font-size:18px!important;margin-top:-48px!important}"]}),f})();var Ay=o(45510);let X1=(()=>{class f{constructor(n,d){this.router=n,this.authStorageService=d}canActivate(n,d){return!(this.authStorageService.isLoggedIn()&&!this.authStorageService.isSSO()&&this.authStorageService.getPwdUpdateRequired()&&(this.router.navigate(["/login-change-password"],{queryParams:{returnUrl:d.url}}),1))}canActivateChild(n,d){return this.canActivate(n,d)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(tn.F0),e.LFG(hi.j))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var K1=o(4222);let Xh=(()=>{class f{constructor(n,d,w){this.http=n,this.router=d,this.mgrModuleService=w}canActivate(n){return this.doCheck(n)}canActivateChild(n){return this.doCheck(n)}doCheck(n){if(n.url.length>0&&f.ALLOWLIST.includes(n.url[0].path))return(0,xs.of)(!0);const d=n.data.moduleStatusGuardConfig;let w=!1;return d.backend&&this.mgrModuleService.getConfig("orchestrator").subscribe(re=>{w=d.backend===re.orchestrator},()=>(this.router.navigate([d.redirectTo]),(0,xs.of)(!1))),this.http.get(`api/${d.apiPath}/status`).pipe((0,Rs.U)(re=>(!re.available&&!w&&this.router.navigate([d.redirectTo||""],{state:{header:d.header,message:re.message,section:d.section,section_info:d.section_info,icon:Ki.P.wrench}}),re.available)),(0,U_.K)(()=>(this.router.navigate([d.redirectTo]),(0,xs.of)(!1))))}}return f.ALLOWLIST=["501"],f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(tn.F0),e.LFG(Sf))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),W_=(()=>{class f{constructor(n){this.authStorageService=n}canActivate(){if(!this.authStorageService.isSSO())return!0;throw new jh.mM}canActivateChild(){return this.canActivate()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(hi.j))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),q_=(()=>{class f extends dm{resolve(n){const d=[],w=n.queryParams.fromLink||null;let re="";switch(w){case"/monitor":re="Monitors";break;case"/hosts":re="Hosts"}return d.push({text:"Cluster",path:null}),d.push({text:re,path:w}),d.push({text:"Performance Counters",path:""}),d}}return f.\u0275fac=function(){let y;return function(d){return(y||(y=e.n5z(f)))(d||f)}}(),f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})(),vT=(()=>{class f extends dm{resolve(n){const d=n.params.name;return[{text:`${gn().startCase(d)}/Edit`,path:d}]}}return f.\u0275fac=function(){let y;return function(d){return(y||(y=e.n5z(f)))(d||f)}}(),f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();const J_=[{path:"",redirectTo:"dashboard",pathMatch:"full"},{path:"api-docs",component:mT},{path:"",component:Q1,canActivate:[Ay.P,X1],canActivateChild:[Ay.P,X1],children:[{path:"dashboard",component:s0},{path:"error",component:gE},{path:"expand-cluster",component:lu,canActivate:[Xh],data:{moduleStatusGuardConfig:{apiPath:"orchestrator",redirectTo:"dashboard",backend:"cephadm"},breadcrumbs:"Expand Cluster"}},{path:"hosts",component:Pu,data:{breadcrumbs:"Cluster/Hosts"},children:[{path:uo.MQ.ADD,component:ve,outlet:"modal"}]},{path:"monitor",component:O_,data:{breadcrumbs:"Cluster/Monitors"}},{path:"services",component:Rd,canActivate:[Xh],data:{moduleStatusGuardConfig:{apiPath:"orchestrator",redirectTo:"error",section:"orch",section_info:"Orchestrator",header:"Orchestrator is not available"},breadcrumbs:"Cluster/Services"},children:[{path:uo.MQ.CREATE,component:Tf,outlet:"modal"},{path:`${uo.MQ.EDIT}/:type/:name`,component:Tf,outlet:"modal"}]},{path:"inventory",canActivate:[Xh],component:Ka,data:{moduleStatusGuardConfig:{apiPath:"orchestrator",redirectTo:"error",section:"orch",section_info:"Orchestrator",header:"Orchestrator is not available"},breadcrumbs:"Cluster/Physical Disks"}},{path:"osd",data:{breadcrumbs:"Cluster/OSDs"},children:[{path:"",component:$g},{path:uo.MQ.CREATE,component:Hf,data:{breadcrumbs:uo.Qn.CREATE}}]},{path:"configuration",data:{breadcrumbs:"Cluster/Configuration"},children:[{path:"",component:wa},{path:"edit/:name",component:Jo,data:{breadcrumbs:uo.Qn.EDIT}}]},{path:"crush-map",component:Ah,data:{breadcrumbs:"Cluster/CRUSH map"}},{path:"logs",component:xp,data:{breadcrumbs:"Cluster/Logs"}},{path:"telemetry",component:db,data:{breadcrumbs:"Telemetry configuration"}},{path:"monitoring",data:{breadcrumbs:"Cluster/Monitoring"},children:[{path:"",redirectTo:"active-alerts",pathMatch:"full"},{path:"active-alerts",data:{breadcrumbs:"Active Alerts"},component:Hp},{path:"alerts",data:{breadcrumbs:"Alerts"},component:jg},{path:"silences",data:{breadcrumbs:"Silences"},children:[{path:"",component:Rv},{path:uo.MQ.CREATE,component:Eu,data:{breadcrumbs:`${uo.Qn.CREATE} Silence`}},{path:`${uo.MQ.CREATE}/:id`,component:Eu,data:{breadcrumbs:uo.Qn.CREATE}},{path:`${uo.MQ.EDIT}/:id`,component:Eu,data:{breadcrumbs:uo.Qn.EDIT}},{path:`${uo.MQ.RECREATE}/:id`,component:Eu,data:{breadcrumbs:uo.Qn.RECREATE}}]}]},{path:"perf_counters/:type/:id",component:TC,data:{breadcrumbs:q_}},{path:"mgr-modules",data:{breadcrumbs:"Cluster/Manager Modules"},children:[{path:"",component:Xf},{path:"edit/:name",component:Qf,data:{breadcrumbs:vT}}]},{path:"pool",data:{breadcrumbs:"Pools"},loadChildren:()=>Promise.all([o.e(330),o.e(585)]).then(o.bind(o,24585)).then(f=>f.RoutedPoolModule)},{path:"block",data:{breadcrumbs:!0,text:"Block",path:null},loadChildren:()=>o.e(330).then(o.bind(o,91330)).then(f=>f.RoutedBlockModule)},{path:"cephfs",component:ge,canActivate:[K1.T],data:{breadcrumbs:"File Systems"}},{path:"rgw",canActivateChild:[K1.T,Xh],data:{moduleStatusGuardConfig:{apiPath:"rgw",redirectTo:"error",section:"rgw",section_info:"Object Gateway",header:"The Object Gateway Service is not configured"},breadcrumbs:!0,text:"Object Gateway",path:null},loadChildren:()=>o.e(281).then(o.bind(o,59281)).then(f=>f.RoutedRgwModule)},{path:"user-management",data:{breadcrumbs:"User management",path:null},loadChildren:()=>Promise.resolve().then(o.bind(o,49552)).then(f=>f.RoutedAuthModule)},{path:"user-profile",data:{breadcrumbs:"User profile",path:null},children:[{path:uo.MQ.EDIT,component:$0,canActivate:[W_],data:{breadcrumbs:uo.Qn.EDIT}}]},{path:"nfs",canActivateChild:[K1.T,Xh],data:{moduleStatusGuardConfig:{apiPath:"nfs-ganesha",redirectTo:"error",section:"nfs-ganesha",section_info:"NFS GANESHA",header:"NFS-Ganesha is not configured"},breadcrumbs:"NFS"},children:[{path:"",component:$c},{path:uo.MQ.CREATE,component:tE,data:{breadcrumbs:uo.Qn.CREATE}},{path:`${uo.MQ.EDIT}/:cluster_id/:export_id`,component:tE,data:{breadcrumbs:uo.Qn.EDIT}}]}]},{path:"",component:yE,children:[{path:"login",component:B0},{path:"login-change-password",component:Y_,canActivate:[W_]}]},{path:"",component:mE,children:[{path:"**",redirectTo:"/error"}]}];let Ol=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({providers:[vT,q_],imports:[[tn.Bz.forRoot(J_,{useHash:!0,preloadingStrategy:tn.wm,relativeLinkResolution:"legacy"})],tn.Bz]}),f})(),jp=(()=>{class f{constructor(n,d){n.autoClose="outside",n.container="body",n.placement="bottom",d.container="body"}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.AX),e.Y36(Br.xI))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-root"]],decls:1,vars:0,template:function(n,d){1&n&&e._UZ(0,"router-outlet")},directives:[tn.lC],styles:[""]}),f})();var rd=o(44466);let Q_=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[s.ez,rd.m,Ol,Sr.m9,Ts.xc,Br.Oz]]}),f})();var yT=o(66265),Ea=o(370);let nf=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[Ol,s.ez,Hn.UX,rd.m,Br.Oz]]}),f})(),ev=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({providers:[Br.Kz],imports:[[s.ez,yT.B,Br.Oz,rd.m,tn.Bz,Hn.u5,Hn.UX,Br.HK,nf,Br.ZS,Br.UL,Ts.xc,Ea.t,Br.M,Br.dT,Br.XC,me.b]]}),f})(),uh=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[Ea.t,s.ez,Br.Oz,rd.m,Sr.m9,tn.Bz,Br.dT,Hn.u5,Hn.UX]]}),f})(),LC=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[Hn.UX,tn.Bz,rd.m,Br.Oz,s.ez,Br.ZS,Br.HK]]}),f})(),wy=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[s.ez,ev,uh,yT.B,Q_,LC,rd.m]]}),f})();var Dy=o(49552);let bT=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[s.ez,Dy.AuthModule,Br.lQ,Br.XC,Ol,rd.m,k1.t,tn.Bz]]}),f})(),ET=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[tf.forRoot(),s.ez,bT,Br.XC,tn.Bz,rd.m],bT]}),f})(),rf=(()=>{class f{constructor(n,d,w){this.router=n,this.authStorageService=d,this.notificationService=w}intercept(n,d){const w=n.headers.get("Accept");let re;return re=w&&w.startsWith("application/vnd.ceph.api.v")?n.clone():n.clone({setHeaders:{Accept:ll.T.cdVersionHeader("1","0")}}),d.handle(re).pipe((0,U_.K)(Ze=>{if(Ze instanceof a.UA){let Lt;switch(Ze.status){case 400:const Gt=new Ga.R,On=Ze.error.task;gn().isPlainObject(On)?(On.metadata.component=On.metadata.component||Ze.error.component,Gt.name=On.name,Gt.metadata=On.metadata):Gt.metadata=Ze.error,Gt.success=!1,Gt.exception=Ze.error,Lt=this.notificationService.notifyTask(Gt);break;case 401:this.authStorageService.remove(),this.router.navigate(["/login"]);break;case 403:this.router.navigate(["error"],{state:{message:"Sorry, you don\u2019t have permission to view this page or resource.",header:"Access Denied",icon:"fa fa-lock",source:"forbidden"}});break;default:Lt=this.prepareNotification(Ze)}Ze.preventDefault=()=>{this.notificationService.cancel(Lt)},Ze.ignoreStatusCode=function(Gt){this.status===Gt&&this.preventDefault()}}return(0,Af._)(Ze)}))}prepareNotification(n){return this.notificationService.show(()=>{let d="";return gn().isPlainObject(n.error)&&gn().isString(n.error.detail)?d=n.error.detail:gn().isString(n.error)?d=n.error:gn().isString(n.message)&&(d=n.message),new mp.T(Ho.k.error,`${n.status} - ${n.statusText}`,d,void 0,n.application)})}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(tn.F0),e.LFG(hi.j),e.LFG(Yi.g))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),xc=(()=>{class f{constructor(n){this.http=n}jsError(n,d,w){return this.http.post("ui-api/logging/js-error",{url:n,message:d,stack:w})}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),xf=(()=>{class f{constructor(n,d){this.injector=n,this.router=d}handleError(n){const d=this.injector.get(xc),w=window.location.href;if(d.jsError(w,n&&n.message,n&&n.stack).subscribe(),!(n.rejection instanceof jh.s9))throw n;setTimeout(()=>this.router.navigate(["error"],{state:{message:n.rejection.message,header:n.rejection.header,icon:n.rejection.icon}}),50)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(e.zs3),e.LFG(tn.F0))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})(),xy=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f,bootstrap:[jp]}),f.\u0275inj=e.cJS({providers:[{provide:e.qLn,useClass:xf},{provide:a.TP,useClass:rf,multi:!0},{provide:s.mr,useValue:"/"+(window.location.pathname.split("/",1)[1]||"")}],imports:[[a.JF,t.b2,We,kt.Rh.forRoot({positionClass:"toast-top-right",preventDuplicates:!0,enableHtml:!0}),Ol,ET,rd.m,wy],rd.m]}),f})();vE.N.production&&(0,e.G48)(),t.q6().bootstrapModule(xy).then(f=>{if((0,e.X6Q)()){const n=f.injector.get(e.z2F).components[0];(0,t.HJ)(n)}}).catch(f=>console.log(f))},77340:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=o(60802),a=t.TypeError;Ge.exports=function(l){if(e(l))return l;throw a(s(l)+" is not a function")}},95143:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=t.String,a=t.TypeError;Ge.exports=function(l){if("object"==typeof l||e(l))return l;throw a("Can't set "+s(l)+" as a prototype")}},24094:(Ge,g,o)=>{var t=o(84563),e=o(38724),s=o(52975),a=t("unscopables"),l=Array.prototype;null==l[a]&&s.f(l,a,{configurable:!0,value:e(null)}),Ge.exports=function(u){l[a][u]=!0}},27678:(Ge,g,o)=>{"use strict";var t=o(64487).charAt;Ge.exports=function(e,s,a){return s+(a?t(e,s).length:1)}},86063:(Ge,g,o)=>{var t=o(31864),e=o(93290),s=t.TypeError;Ge.exports=function(a,l){if(e(l,a))return a;throw s("Incorrect invocation")}},21099:(Ge,g,o)=>{var t=o(31864),e=o(60726),s=t.String,a=t.TypeError;Ge.exports=function(l){if(e(l))return l;throw a(s(l)+" is not an object")}},93241:(Ge,g,o)=>{var t=o(8597);Ge.exports=t(function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})},17462:(Ge,g,o)=>{"use strict";var t=o(94115).forEach,s=o(47051)("forEach");Ge.exports=s?[].forEach:function(l){return t(this,l,arguments.length>1?arguments[1]:void 0)}},70452:(Ge,g,o)=>{var t=o(8643),e=o(20222),s=o(24196),a=function(l){return function(u,h,_){var D,m=t(u),b=s(m),T=e(_,b);if(l&&h!=h){for(;b>T;)if((D=m[T++])!=D)return!0}else for(;b>T;T++)if((l||T in m)&&m[T]===h)return l||T||0;return!l&&-1}};Ge.exports={includes:a(!0),indexOf:a(!1)}},94115:(Ge,g,o)=>{var t=o(29727),e=o(47964),s=o(56169),a=o(16174),l=o(24196),u=o(62889),h=e([].push),_=function(m){var b=1==m,T=2==m,D=3==m,R=4==m,j=6==m,H=7==m,z=5==m||j;return function(U,M,I,J){for(var Ae,Se,B=a(U),ie=s(B),oe=t(M,I),fe=l(ie),ne=0,he=J||u,ce=b?he(U,fe):T||H?he(U,0):void 0;fe>ne;ne++)if((z||ne in ie)&&(Se=oe(Ae=ie[ne],ne,B),m))if(b)ce[ne]=Se;else if(Se)switch(m){case 3:return!0;case 5:return Ae;case 6:return ne;case 2:h(ce,Ae)}else switch(m){case 4:return!1;case 7:h(ce,Ae)}return j?-1:D||R?R:ce}};Ge.exports={forEach:_(0),map:_(1),filter:_(2),some:_(3),every:_(4),find:_(5),findIndex:_(6),filterReject:_(7)}},37394:(Ge,g,o)=>{var t=o(8597),e=o(84563),s=o(17189),a=e("species");Ge.exports=function(l){return s>=51||!t(function(){var u=[];return(u.constructor={})[a]=function(){return{foo:1}},1!==u[l](Boolean).foo})}},47051:(Ge,g,o)=>{"use strict";var t=o(8597);Ge.exports=function(e,s){var a=[][e];return!!a&&t(function(){a.call(null,s||function(){throw 1},1)})}},14716:(Ge,g,o)=>{var t=o(31864),e=o(77340),s=o(16174),a=o(56169),l=o(24196),u=t.TypeError,h=function(_){return function(m,b,T,D){e(b);var R=s(m),j=a(R),H=l(R),z=_?H-1:0,U=_?-1:1;if(T<2)for(;;){if(z in j){D=j[z],z+=U;break}if(z+=U,_?z<0:H<=z)throw u("Reduce of empty array with no initial value")}for(;_?z>=0:H>z;z+=U)z in j&&(D=b(D,j[z],z,R));return D}};Ge.exports={left:h(!1),right:h(!0)}},32342:(Ge,g,o)=>{var t=o(31864),e=o(20222),s=o(24196),a=o(45347),l=t.Array,u=Math.max;Ge.exports=function(h,_,m){for(var b=s(h),T=e(_,b),D=e(void 0===m?b:m,b),R=l(u(D-T,0)),j=0;T<D;T++,j++)a(R,j,h[T]);return R.length=j,R}},71497:(Ge,g,o)=>{var t=o(31864),e=o(47883),s=o(57995),a=o(60726),u=o(84563)("species"),h=t.Array;Ge.exports=function(_){var m;return e(_)&&(s(m=_.constructor)&&(m===h||e(m.prototype))||a(m)&&null===(m=m[u]))&&(m=void 0),void 0===m?h:m}},62889:(Ge,g,o)=>{var t=o(71497);Ge.exports=function(e,s){return new(t(e))(0===s?0:s)}},56297:(Ge,g,o)=>{var e=o(84563)("iterator"),s=!1;try{var a=0,l={next:function(){return{done:!!a++}},return:function(){s=!0}};l[e]=function(){return this},Array.from(l,function(){throw 2})}catch(u){}Ge.exports=function(u,h){if(!h&&!s)return!1;var _=!1;try{var m={};m[e]=function(){return{next:function(){return{done:_=!0}}}},u(m)}catch(b){}return _}},96644:(Ge,g,o)=>{var t=o(47964),e=t({}.toString),s=t("".slice);Ge.exports=function(a){return s(e(a),8,-1)}},99420:(Ge,g,o)=>{var t=o(31864),e=o(72900),s=o(25591),a=o(96644),u=o(84563)("toStringTag"),h=t.Object,_="Arguments"==a(function(){return arguments}());Ge.exports=e?a:function(b){var T,D,R;return void 0===b?"Undefined":null===b?"Null":"string"==typeof(D=function(b,T){try{return b[T]}catch(D){}}(T=h(b),u))?D:_?a(T):"Object"==(R=a(T))&&s(T.callee)?"Arguments":R}},96491:(Ge,g,o)=>{"use strict";var t=o(47964),e=o(78715),s=o(64238).getWeakData,a=o(21099),l=o(60726),u=o(86063),h=o(53284),_=o(94115),m=o(62445),b=o(52493),T=b.set,D=b.getterFor,R=_.find,j=_.findIndex,H=t([].splice),z=0,U=function(J){return J.frozen||(J.frozen=new M)},M=function(){this.entries=[]},I=function(J,B){return R(J.entries,function(ie){return ie[0]===B})};M.prototype={get:function(J){var B=I(this,J);if(B)return B[1]},has:function(J){return!!I(this,J)},set:function(J,B){var ie=I(this,J);ie?ie[1]=B:this.entries.push([J,B])},delete:function(J){var B=j(this.entries,function(ie){return ie[0]===J});return~B&&H(this.entries,B,1),!!~B}},Ge.exports={getConstructor:function(J,B,ie,oe){var fe=J(function(Ae,Se){u(Ae,ne),T(Ae,{type:B,id:z++,frozen:void 0}),null!=Se&&h(Se,Ae[oe],{that:Ae,AS_ENTRIES:ie})}),ne=fe.prototype,he=D(B),ce=function(Ae,Se,Oe){var be=he(Ae),ue=s(a(Se),!0);return!0===ue?U(be).set(Se,Oe):ue[be.id]=Oe,Ae};return e(ne,{delete:function(Ae){var Se=he(this);if(!l(Ae))return!1;var Oe=s(Ae);return!0===Oe?U(Se).delete(Ae):Oe&&m(Oe,Se.id)&&delete Oe[Se.id]},has:function(Se){var Oe=he(this);if(!l(Se))return!1;var be=s(Se);return!0===be?U(Oe).has(Se):be&&m(be,Oe.id)}}),e(ne,ie?{get:function(Se){var Oe=he(this);if(l(Se)){var be=s(Se);return!0===be?U(Oe).get(Se):be?be[Oe.id]:void 0}},set:function(Se,Oe){return ce(this,Se,Oe)}}:{add:function(Se){return ce(this,Se,!0)}}),fe}}},41603:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(31864),s=o(47964),a=o(87215),l=o(87763),u=o(64238),h=o(53284),_=o(86063),m=o(25591),b=o(60726),T=o(8597),D=o(56297),R=o(58242),j=o(38267);Ge.exports=function(H,z,U){var M=-1!==H.indexOf("Map"),I=-1!==H.indexOf("Weak"),J=M?"set":"add",B=e[H],ie=B&&B.prototype,oe=B,fe={},ne=function(ue){var He=s(ie[ue]);l(ie,ue,"add"==ue?function(F){return He(this,0===F?0:F),this}:"delete"==ue?function($e){return!(I&&!b($e))&&He(this,0===$e?0:$e)}:"get"==ue?function(F){return I&&!b(F)?void 0:He(this,0===F?0:F)}:"has"==ue?function(F){return!(I&&!b(F))&&He(this,0===F?0:F)}:function(F,je){return He(this,0===F?0:F,je),this})};if(a(H,!m(B)||!(I||ie.forEach&&!T(function(){(new B).entries().next()}))))oe=U.getConstructor(z,H,M,J),u.enable();else if(a(H,!0)){var ce=new oe,Ae=ce[J](I?{}:-0,1)!=ce,Se=T(function(){ce.has(1)}),Oe=D(function(ue){new B(ue)}),be=!I&&T(function(){for(var ue=new B,He=5;He--;)ue[J](He,He);return!ue.has(-0)});Oe||((oe=z(function(ue,He){_(ue,ie);var $e=j(new B,ue,oe);return null!=He&&h(He,$e[J],{that:$e,AS_ENTRIES:M}),$e})).prototype=ie,ie.constructor=oe),(Se||be)&&(ne("delete"),ne("has"),M&&ne("get")),(be||Ae)&&ne(J),I&&ie.clear&&delete ie.clear}return fe[H]=oe,t({global:!0,forced:oe!=B},fe),R(oe,H),I||U.setStrong(oe,H,M),oe}},30009:(Ge,g,o)=>{var t=o(62445),e=o(99376),s=o(93099),a=o(52975);Ge.exports=function(l,u,h){for(var _=e(u),m=a.f,b=s.f,T=0;T<_.length;T++){var D=_[T];!t(l,D)&&(!h||!t(h,D))&&m(l,D,b(u,D))}}},51335:(Ge,g,o)=>{var t=o(8597);Ge.exports=!t(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},17453:(Ge,g,o)=>{"use strict";var t=o(92053).IteratorPrototype,e=o(38724),s=o(53203),a=o(58242),l=o(72339),u=function(){return this};Ge.exports=function(h,_,m,b){var T=_+" Iterator";return h.prototype=e(t,{next:s(+!b,m)}),a(h,T,!1,!0),l[T]=u,h}},815:(Ge,g,o)=>{var t=o(47012),e=o(52975),s=o(53203);Ge.exports=t?function(a,l,u){return e.f(a,l,s(1,u))}:function(a,l,u){return a[l]=u,a}},53203:Ge=>{Ge.exports=function(g,o){return{enumerable:!(1&g),configurable:!(2&g),writable:!(4&g),value:o}}},45347:(Ge,g,o)=>{"use strict";var t=o(16582),e=o(52975),s=o(53203);Ge.exports=function(a,l,u){var h=t(l);h in a?e.f(a,h,s(0,u)):a[h]=u}},66038:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(757),s=o(97515),a=o(20538),l=o(25591),u=o(17453),h=o(3963),_=o(91464),m=o(58242),b=o(815),T=o(87763),D=o(84563),R=o(72339),j=o(92053),H=a.PROPER,z=a.CONFIGURABLE,U=j.IteratorPrototype,M=j.BUGGY_SAFARI_ITERATORS,I=D("iterator"),J="keys",B="values",ie="entries",oe=function(){return this};Ge.exports=function(fe,ne,he,ce,Ae,Se,Oe){u(he,ne,ce);var lt,nn,St,be=function(Ot){if(Ot===Ae&&je)return je;if(!M&&Ot in $e)return $e[Ot];switch(Ot){case J:case B:case ie:return function(){return new he(this,Ot)}}return function(){return new he(this)}},ue=ne+" Iterator",He=!1,$e=fe.prototype,F=$e[I]||$e["@@iterator"]||Ae&&$e[Ae],je=!M&&F||be(Ae),Et="Array"==ne&&$e.entries||F;if(Et&&(lt=h(Et.call(new fe)))!==Object.prototype&<.next&&(!s&&h(lt)!==U&&(_?_(lt,U):l(lt[I])||T(lt,I,oe)),m(lt,ue,!0,!0),s&&(R[ue]=oe)),H&&Ae==B&&F&&F.name!==B&&(!s&&z?b($e,"name",B):(He=!0,je=function(){return e(F,this)})),Ae)if(nn={values:be(B),keys:Se?je:be(J),entries:be(ie)},Oe)for(St in nn)(M||He||!(St in $e))&&T($e,St,nn[St]);else t({target:ne,proto:!0,forced:M||He},nn);return(!s||Oe)&&$e[I]!==je&&T($e,I,je,{name:Ae}),R[ne]=je,nn}},47012:(Ge,g,o)=>{var t=o(8597);Ge.exports=!t(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},85815:(Ge,g,o)=>{var t=o(31864),e=o(60726),s=t.document,a=e(s)&&e(s.createElement);Ge.exports=function(l){return a?s.createElement(l):{}}},26877:Ge=>{Ge.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},20713:(Ge,g,o)=>{var e=o(85815)("span").classList,s=e&&e.constructor&&e.constructor.prototype;Ge.exports=s===Object.prototype?void 0:s},32002:(Ge,g,o)=>{var t=o(96644),e=o(31864);Ge.exports="process"==t(e.process)},73792:(Ge,g,o)=>{var t=o(73626);Ge.exports=t("navigator","userAgent")||""},17189:(Ge,g,o)=>{var h,_,t=o(31864),e=o(73792),s=t.process,a=t.Deno,l=s&&s.versions||a&&a.version,u=l&&l.v8;u&&(_=(h=u.split("."))[0]>0&&h[0]<4?1:+(h[0]+h[1])),!_&&e&&(!(h=e.match(/Edge\/(\d+)/))||h[1]>=74)&&(h=e.match(/Chrome\/(\d+)/))&&(_=+h[1]),Ge.exports=_},71001:Ge=>{Ge.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},51163:(Ge,g,o)=>{var t=o(31864),e=o(93099).f,s=o(815),a=o(87763),l=o(22341),u=o(30009),h=o(87215);Ge.exports=function(_,m){var j,H,z,U,M,b=_.target,T=_.global,D=_.stat;if(j=T?t:D?t[b]||l(b,{}):(t[b]||{}).prototype)for(H in m){if(U=m[H],z=_.noTargetGet?(M=e(j,H))&&M.value:j[H],!h(T?H:b+(D?".":"#")+H,_.forced)&&void 0!==z){if(typeof U==typeof z)continue;u(U,z)}(_.sham||z&&z.sham)&&s(U,"sham",!0),a(j,H,U,_)}}},8597:Ge=>{Ge.exports=function(g){try{return!!g()}catch(o){return!0}}},9357:(Ge,g,o)=>{"use strict";o(69665);var t=o(47964),e=o(87763),s=o(93084),a=o(8597),l=o(84563),u=o(815),h=l("species"),_=RegExp.prototype;Ge.exports=function(m,b,T,D){var R=l(m),j=!a(function(){var M={};return M[R]=function(){return 7},7!=""[m](M)}),H=j&&!a(function(){var M=!1,I=/a/;return"split"===m&&((I={}).constructor={},I.constructor[h]=function(){return I},I.flags="",I[R]=/./[R]),I.exec=function(){return M=!0,null},I[R](""),!M});if(!j||!H||T){var z=t(/./[R]),U=b(R,""[m],function(M,I,J,B,ie){var oe=t(M),fe=I.exec;return fe===s||fe===_.exec?j&&!ie?{done:!0,value:z(I,J,B)}:{done:!0,value:oe(J,I,B)}:{done:!1}});e(String.prototype,m,U[0]),e(_,R,U[1])}D&&u(_[R],"sham",!0)}},39352:(Ge,g,o)=>{var t=o(8597);Ge.exports=!t(function(){return Object.isExtensible(Object.preventExtensions({}))})},32328:Ge=>{var g=Function.prototype,o=g.apply,e=g.call;Ge.exports="object"==typeof Reflect&&Reflect.apply||(g.bind?e.bind(o):function(){return e.apply(o,arguments)})},29727:(Ge,g,o)=>{var t=o(47964),e=o(77340),s=t(t.bind);Ge.exports=function(a,l){return e(a),void 0===l?a:s?s(a,l):function(){return a.apply(l,arguments)}}},757:Ge=>{var g=Function.prototype.call;Ge.exports=g.bind?g.bind(g):function(){return g.apply(g,arguments)}},20538:(Ge,g,o)=>{var t=o(47012),e=o(62445),s=Function.prototype,a=t&&Object.getOwnPropertyDescriptor,l=e(s,"name"),u=l&&"something"===function(){}.name,h=l&&(!t||t&&a(s,"name").configurable);Ge.exports={EXISTS:l,PROPER:u,CONFIGURABLE:h}},47964:Ge=>{var g=Function.prototype,o=g.bind,t=g.call,e=o&&o.bind(t,t);Ge.exports=o?function(s){return s&&e(s)}:function(s){return s&&function(){return t.apply(s,arguments)}}},73626:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=function(a){return e(a)?a:void 0};Ge.exports=function(a,l){return arguments.length<2?s(t[a]):t[a]&&t[a][l]}},63076:(Ge,g,o)=>{var t=o(99420),e=o(35642),s=o(72339),l=o(84563)("iterator");Ge.exports=function(u){if(null!=u)return e(u,l)||e(u,"@@iterator")||s[t(u)]}},36414:(Ge,g,o)=>{var t=o(31864),e=o(757),s=o(77340),a=o(21099),l=o(60802),u=o(63076),h=t.TypeError;Ge.exports=function(_,m){var b=arguments.length<2?u(_):m;if(s(b))return a(e(b,_));throw h(l(_)+" is not iterable")}},35642:(Ge,g,o)=>{var t=o(77340);Ge.exports=function(e,s){var a=e[s];return null==a?void 0:t(a)}},16162:(Ge,g,o)=>{var t=o(47964),e=o(16174),s=Math.floor,a=t("".charAt),l=t("".replace),u=t("".slice),h=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,_=/\$([$&'`]|\d{1,2})/g;Ge.exports=function(m,b,T,D,R,j){var H=T+m.length,z=D.length,U=_;return void 0!==R&&(R=e(R),U=h),l(j,U,function(M,I){var J;switch(a(I,0)){case"$":return"$";case"&":return m;case"`":return u(b,0,T);case"'":return u(b,H);case"<":J=R[u(I,1,-1)];break;default:var B=+I;if(0===B)return M;if(B>z){var ie=s(B/10);return 0===ie?M:ie<=z?void 0===D[ie-1]?a(I,1):D[ie-1]+a(I,1):M}J=D[B-1]}return void 0===J?"":J})}},31864:Ge=>{var g=function(o){return o&&o.Math==Math&&o};Ge.exports=g("object"==typeof globalThis&&globalThis)||g("object"==typeof window&&window)||g("object"==typeof self&&self)||g("object"==typeof global&&global)||function(){return this}()||Function("return this")()},62445:(Ge,g,o)=>{var t=o(47964),e=o(16174),s=t({}.hasOwnProperty);Ge.exports=Object.hasOwn||function(l,u){return s(e(l),u)}},3536:Ge=>{Ge.exports={}},67538:(Ge,g,o)=>{var t=o(73626);Ge.exports=t("document","documentElement")},27091:(Ge,g,o)=>{var t=o(47012),e=o(8597),s=o(85815);Ge.exports=!t&&!e(function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a})},56169:(Ge,g,o)=>{var t=o(31864),e=o(47964),s=o(8597),a=o(96644),l=t.Object,u=e("".split);Ge.exports=s(function(){return!l("z").propertyIsEnumerable(0)})?function(h){return"String"==a(h)?u(h,""):l(h)}:l},38267:(Ge,g,o)=>{var t=o(25591),e=o(60726),s=o(91464);Ge.exports=function(a,l,u){var h,_;return s&&t(h=l.constructor)&&h!==u&&e(_=h.prototype)&&_!==u.prototype&&s(a,_),a}},87720:(Ge,g,o)=>{var t=o(47964),e=o(25591),s=o(59941),a=t(Function.toString);e(s.inspectSource)||(s.inspectSource=function(l){return a(l)}),Ge.exports=s.inspectSource},64238:(Ge,g,o)=>{var t=o(51163),e=o(47964),s=o(3536),a=o(60726),l=o(62445),u=o(52975).f,h=o(94564),_=o(7388),m=o(67117),b=o(94295),T=o(39352),D=!1,R=b("meta"),j=0,H=function(B){u(B,R,{value:{objectID:"O"+j++,weakData:{}}})},J=Ge.exports={enable:function(){J.enable=function(){},D=!0;var B=h.f,ie=e([].splice),oe={};oe[R]=1,B(oe).length&&(h.f=function(fe){for(var ne=B(fe),he=0,ce=ne.length;he<ce;he++)if(ne[he]===R){ie(ne,he,1);break}return ne},t({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:_.f}))},fastKey:function(B,ie){if(!a(B))return"symbol"==typeof B?B:("string"==typeof B?"S":"P")+B;if(!l(B,R)){if(!m(B))return"F";if(!ie)return"E";H(B)}return B[R].objectID},getWeakData:function(B,ie){if(!l(B,R)){if(!m(B))return!0;if(!ie)return!1;H(B)}return B[R].weakData},onFreeze:function(B){return T&&D&&m(B)&&!l(B,R)&&H(B),B}};s[R]=!0},52493:(Ge,g,o)=>{var R,j,H,t=o(51635),e=o(31864),s=o(47964),a=o(60726),l=o(815),u=o(62445),h=o(59941),_=o(42650),m=o(3536),b="Object already initialized",T=e.TypeError;if(t||h.state){var M=h.state||(h.state=new(0,e.WeakMap)),I=s(M.get),J=s(M.has),B=s(M.set);R=function(oe,fe){if(J(M,oe))throw new T(b);return fe.facade=oe,B(M,oe,fe),fe},j=function(oe){return I(M,oe)||{}},H=function(oe){return J(M,oe)}}else{var ie=_("state");m[ie]=!0,R=function(oe,fe){if(u(oe,ie))throw new T(b);return fe.facade=oe,l(oe,ie,fe),fe},j=function(oe){return u(oe,ie)?oe[ie]:{}},H=function(oe){return u(oe,ie)}}Ge.exports={set:R,get:j,has:H,enforce:function(oe){return H(oe)?j(oe):R(oe,{})},getterFor:function(oe){return function(fe){var ne;if(!a(fe)||(ne=j(fe)).type!==oe)throw T("Incompatible receiver, "+oe+" required");return ne}}}},81643:(Ge,g,o)=>{var t=o(84563),e=o(72339),s=t("iterator"),a=Array.prototype;Ge.exports=function(l){return void 0!==l&&(e.Array===l||a[s]===l)}},47883:(Ge,g,o)=>{var t=o(96644);Ge.exports=Array.isArray||function(s){return"Array"==t(s)}},25591:Ge=>{Ge.exports=function(g){return"function"==typeof g}},57995:(Ge,g,o)=>{var t=o(47964),e=o(8597),s=o(25591),a=o(99420),l=o(73626),u=o(87720),h=function(){},_=[],m=l("Reflect","construct"),b=/^\s*(?:class|function)\b/,T=t(b.exec),D=!b.exec(h),R=function(z){if(!s(z))return!1;try{return m(h,_,z),!0}catch(U){return!1}},j=function(z){if(!s(z))return!1;switch(a(z)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return D||!!T(b,u(z))}catch(U){return!0}};j.sham=!0,Ge.exports=!m||e(function(){var H;return R(R.call)||!R(Object)||!R(function(){H=!0})||H})?j:R},87215:(Ge,g,o)=>{var t=o(8597),e=o(25591),s=/#|\.prototype\./,a=function(m,b){var T=u[l(m)];return T==_||T!=h&&(e(b)?t(b):!!b)},l=a.normalize=function(m){return String(m).replace(s,".").toLowerCase()},u=a.data={},h=a.NATIVE="N",_=a.POLYFILL="P";Ge.exports=a},60726:(Ge,g,o)=>{var t=o(25591);Ge.exports=function(e){return"object"==typeof e?null!==e:t(e)}},97515:Ge=>{Ge.exports=!1},26186:(Ge,g,o)=>{var t=o(31864),e=o(73626),s=o(25591),a=o(93290),l=o(24431),u=t.Object;Ge.exports=l?function(h){return"symbol"==typeof h}:function(h){var _=e("Symbol");return s(_)&&a(_.prototype,u(h))}},53284:(Ge,g,o)=>{var t=o(31864),e=o(29727),s=o(757),a=o(21099),l=o(60802),u=o(81643),h=o(24196),_=o(93290),m=o(36414),b=o(63076),T=o(87883),D=t.TypeError,R=function(H,z){this.stopped=H,this.result=z},j=R.prototype;Ge.exports=function(H,z,U){var oe,fe,ne,he,ce,Ae,Se,I=!(!U||!U.AS_ENTRIES),J=!(!U||!U.IS_ITERATOR),B=!(!U||!U.INTERRUPTED),ie=e(z,U&&U.that),Oe=function(ue){return oe&&T(oe,"normal",ue),new R(!0,ue)},be=function(ue){return I?(a(ue),B?ie(ue[0],ue[1],Oe):ie(ue[0],ue[1])):B?ie(ue,Oe):ie(ue)};if(J)oe=H;else{if(!(fe=b(H)))throw D(l(H)+" is not iterable");if(u(fe)){for(ne=0,he=h(H);he>ne;ne++)if((ce=be(H[ne]))&&_(j,ce))return ce;return new R(!1)}oe=m(H,fe)}for(Ae=oe.next;!(Se=s(Ae,oe)).done;){try{ce=be(Se.value)}catch(ue){T(oe,"throw",ue)}if("object"==typeof ce&&ce&&_(j,ce))return ce}return new R(!1)}},87883:(Ge,g,o)=>{var t=o(757),e=o(21099),s=o(35642);Ge.exports=function(a,l,u){var h,_;e(a);try{if(!(h=s(a,"return"))){if("throw"===l)throw u;return u}h=t(h,a)}catch(m){_=!0,h=m}if("throw"===l)throw u;if(_)throw h;return e(h),u}},92053:(Ge,g,o)=>{"use strict";var b,T,D,t=o(8597),e=o(25591),s=o(38724),a=o(3963),l=o(87763),u=o(84563),h=o(97515),_=u("iterator"),m=!1;[].keys&&("next"in(D=[].keys())?(T=a(a(D)))!==Object.prototype&&(b=T):m=!0),null==b||t(function(){var j={};return b[_].call(j)!==j})?b={}:h&&(b=s(b)),e(b[_])||l(b,_,function(){return this}),Ge.exports={IteratorPrototype:b,BUGGY_SAFARI_ITERATORS:m}},72339:Ge=>{Ge.exports={}},24196:(Ge,g,o)=>{var t=o(15902);Ge.exports=function(e){return t(e.length)}},77040:(Ge,g,o)=>{var t=o(17189),e=o(8597);Ge.exports=!!Object.getOwnPropertySymbols&&!e(function(){var s=Symbol();return!String(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&t&&t<41})},51635:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=o(87720),a=t.WeakMap;Ge.exports=e(a)&&/native code/.test(s(a))},43656:(Ge,g,o)=>{var t=o(31864),e=o(8597),s=o(47964),a=o(73574),l=o(51664).trim,u=o(48004),h=t.parseInt,_=t.Symbol,m=_&&_.iterator,b=/^[+-]?0x/i,T=s(b.exec),D=8!==h(u+"08")||22!==h(u+"0x16")||m&&!e(function(){h(Object(m))});Ge.exports=D?function(j,H){var z=l(a(j));return h(z,H>>>0||(T(b,z)?16:10))}:h},51746:(Ge,g,o)=>{"use strict";var t=o(47012),e=o(47964),s=o(757),a=o(8597),l=o(68032),u=o(77593),h=o(5600),_=o(16174),m=o(56169),b=Object.assign,T=Object.defineProperty,D=e([].concat);Ge.exports=!b||a(function(){if(t&&1!==b({b:1},b(T({},"a",{enumerable:!0,get:function(){T(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var R={},j={},H=Symbol(),z="abcdefghijklmnopqrst";return R[H]=7,z.split("").forEach(function(U){j[U]=U}),7!=b({},R)[H]||l(b({},j)).join("")!=z})?function(j,H){for(var z=_(j),U=arguments.length,M=1,I=u.f,J=h.f;U>M;)for(var ne,B=m(arguments[M++]),ie=I?D(l(B),I(B)):l(B),oe=ie.length,fe=0;oe>fe;)ne=ie[fe++],(!t||s(J,B,ne))&&(z[ne]=B[ne]);return z}:b},38724:(Ge,g,o)=>{var U,t=o(21099),e=o(10988),s=o(71001),a=o(3536),l=o(67538),u=o(85815),h=o(42650),b="prototype",T="script",D=h("IE_PROTO"),R=function(){},j=function(I){return"<"+T+">"+I+"</"+T+">"},H=function(I){I.write(j("")),I.close();var J=I.parentWindow.Object;return I=null,J},M=function(){try{U=new ActiveXObject("htmlfile")}catch(J){}M="undefined"!=typeof document?document.domain&&U?H(U):function(){var B,I=u("iframe");return I.style.display="none",l.appendChild(I),I.src=String("javascript:"),(B=I.contentWindow.document).open(),B.write(j("document.F=Object")),B.close(),B.F}():H(U);for(var I=s.length;I--;)delete M[b][s[I]];return M()};a[D]=!0,Ge.exports=Object.create||function(J,B){var ie;return null!==J?(R[b]=t(J),ie=new R,R[b]=null,ie[D]=J):ie=M(),void 0===B?ie:e.f(ie,B)}},10988:(Ge,g,o)=>{var t=o(47012),e=o(52339),s=o(52975),a=o(21099),l=o(8643),u=o(68032);g.f=t&&!e?Object.defineProperties:function(_,m){a(_);for(var j,b=l(m),T=u(m),D=T.length,R=0;D>R;)s.f(_,j=T[R++],b[j]);return _}},52975:(Ge,g,o)=>{var t=o(31864),e=o(47012),s=o(27091),a=o(52339),l=o(21099),u=o(16582),h=t.TypeError,_=Object.defineProperty,m=Object.getOwnPropertyDescriptor,b="enumerable",T="configurable",D="writable";g.f=e?a?function(j,H,z){if(l(j),H=u(H),l(z),"function"==typeof j&&"prototype"===H&&"value"in z&&D in z&&!z[D]){var U=m(j,H);U&&U[D]&&(j[H]=z.value,z={configurable:T in z?z[T]:U[T],enumerable:b in z?z[b]:U[b],writable:!1})}return _(j,H,z)}:_:function(j,H,z){if(l(j),H=u(H),l(z),s)try{return _(j,H,z)}catch(U){}if("get"in z||"set"in z)throw h("Accessors not supported");return"value"in z&&(j[H]=z.value),j}},93099:(Ge,g,o)=>{var t=o(47012),e=o(757),s=o(5600),a=o(53203),l=o(8643),u=o(16582),h=o(62445),_=o(27091),m=Object.getOwnPropertyDescriptor;g.f=t?m:function(T,D){if(T=l(T),D=u(D),_)try{return m(T,D)}catch(R){}if(h(T,D))return a(!e(s.f,T,D),T[D])}},7388:(Ge,g,o)=>{var t=o(96644),e=o(8643),s=o(94564).f,a=o(32342),l="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];Ge.exports.f=function(_){return l&&"Window"==t(_)?function(h){try{return s(h)}catch(_){return a(l)}}(_):s(e(_))}},94564:(Ge,g,o)=>{var t=o(77759),s=o(71001).concat("length","prototype");g.f=Object.getOwnPropertyNames||function(l){return t(l,s)}},77593:(Ge,g)=>{g.f=Object.getOwnPropertySymbols},3963:(Ge,g,o)=>{var t=o(31864),e=o(62445),s=o(25591),a=o(16174),l=o(42650),u=o(51335),h=l("IE_PROTO"),_=t.Object,m=_.prototype;Ge.exports=u?_.getPrototypeOf:function(b){var T=a(b);if(e(T,h))return T[h];var D=T.constructor;return s(D)&&T instanceof D?D.prototype:T instanceof _?m:null}},67117:(Ge,g,o)=>{var t=o(8597),e=o(60726),s=o(96644),a=o(93241),l=Object.isExtensible,u=t(function(){l(1)});Ge.exports=u||a?function(_){return!(!e(_)||a&&"ArrayBuffer"==s(_))&&(!l||l(_))}:l},93290:(Ge,g,o)=>{var t=o(47964);Ge.exports=t({}.isPrototypeOf)},77759:(Ge,g,o)=>{var t=o(47964),e=o(62445),s=o(8643),a=o(70452).indexOf,l=o(3536),u=t([].push);Ge.exports=function(h,_){var D,m=s(h),b=0,T=[];for(D in m)!e(l,D)&&e(m,D)&&u(T,D);for(;_.length>b;)e(m,D=_[b++])&&(~a(T,D)||u(T,D));return T}},68032:(Ge,g,o)=>{var t=o(77759),e=o(71001);Ge.exports=Object.keys||function(a){return t(a,e)}},5600:(Ge,g)=>{"use strict";var o={}.propertyIsEnumerable,t=Object.getOwnPropertyDescriptor,e=t&&!o.call({1:2},1);g.f=e?function(a){var l=t(this,a);return!!l&&l.enumerable}:o},91464:(Ge,g,o)=>{var t=o(47964),e=o(21099),s=o(95143);Ge.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var u,a=!1,l={};try{(u=t(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(l,[]),a=l instanceof Array}catch(h){}return function(_,m){return e(_),s(m),a?u(_,m):_.__proto__=m,_}}():void 0)},83119:(Ge,g,o)=>{"use strict";var t=o(72900),e=o(99420);Ge.exports=t?{}.toString:function(){return"[object "+e(this)+"]"}},48297:(Ge,g,o)=>{var t=o(31864),e=o(757),s=o(25591),a=o(60726),l=t.TypeError;Ge.exports=function(u,h){var _,m;if("string"===h&&s(_=u.toString)&&!a(m=e(_,u))||s(_=u.valueOf)&&!a(m=e(_,u))||"string"!==h&&s(_=u.toString)&&!a(m=e(_,u)))return m;throw l("Can't convert object to primitive value")}},99376:(Ge,g,o)=>{var t=o(73626),e=o(47964),s=o(94564),a=o(77593),l=o(21099),u=e([].concat);Ge.exports=t("Reflect","ownKeys")||function(_){var m=s.f(l(_)),b=a.f;return b?u(m,b(_)):m}},78715:(Ge,g,o)=>{var t=o(87763);Ge.exports=function(e,s,a){for(var l in s)t(e,l,s[l],a);return e}},87763:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=o(62445),a=o(815),l=o(22341),u=o(87720),h=o(52493),_=o(20538).CONFIGURABLE,m=h.get,b=h.enforce,T=String(String).split("String");(Ge.exports=function(D,R,j,H){var J,z=!!H&&!!H.unsafe,U=!!H&&!!H.enumerable,M=!!H&&!!H.noTargetGet,I=H&&void 0!==H.name?H.name:R;e(j)&&("Symbol("===String(I).slice(0,7)&&(I="["+String(I).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!s(j,"name")||_&&j.name!==I)&&a(j,"name",I),(J=b(j)).source||(J.source=T.join("string"==typeof I?I:""))),D!==t?(z?!M&&D[R]&&(U=!0):delete D[R],U?D[R]=j:a(D,R,j)):U?D[R]=j:l(R,j)})(Function.prototype,"toString",function(){return e(this)&&m(this).source||u(this)})},53793:(Ge,g,o)=>{var t=o(31864),e=o(757),s=o(21099),a=o(25591),l=o(96644),u=o(93084),h=t.TypeError;Ge.exports=function(_,m){var b=_.exec;if(a(b)){var T=e(b,_,m);return null!==T&&s(T),T}if("RegExp"===l(_))return e(u,_,m);throw h("RegExp#exec called on incompatible receiver")}},93084:(Ge,g,o)=>{"use strict";var ie,oe,t=o(757),e=o(47964),s=o(73574),a=o(41891),l=o(29895),u=o(77719),h=o(38724),_=o(52493).get,m=o(38126),b=o(31053),T=u("native-string-replace",String.prototype.replace),D=RegExp.prototype.exec,R=D,j=e("".charAt),H=e("".indexOf),z=e("".replace),U=e("".slice),M=(oe=/b*/g,t(D,ie=/a/,"a"),t(D,oe,"a"),0!==ie.lastIndex||0!==oe.lastIndex),I=l.BROKEN_CARET,J=void 0!==/()??/.exec("")[1];(M||J||I||m||b)&&(R=function(oe){var Ae,Se,Oe,be,ue,He,$e,fe=this,ne=_(fe),he=s(oe),ce=ne.raw;if(ce)return ce.lastIndex=fe.lastIndex,Ae=t(R,ce,he),fe.lastIndex=ce.lastIndex,Ae;var F=ne.groups,je=I&&fe.sticky,Et=t(a,fe),lt=fe.source,nn=0,St=he;if(je&&(Et=z(Et,"y",""),-1===H(Et,"g")&&(Et+="g"),St=U(he,fe.lastIndex),fe.lastIndex>0&&(!fe.multiline||fe.multiline&&"\n"!==j(he,fe.lastIndex-1))&&(lt="(?: "+lt+")",St=" "+St,nn++),Se=new RegExp("^(?:"+lt+")",Et)),J&&(Se=new RegExp("^"+lt+"$(?!\\s)",Et)),M&&(Oe=fe.lastIndex),be=t(D,je?Se:fe,St),je?be?(be.input=U(be.input,nn),be[0]=U(be[0],nn),be.index=fe.lastIndex,fe.lastIndex+=be[0].length):fe.lastIndex=0:M&&be&&(fe.lastIndex=fe.global?be.index+be[0].length:Oe),J&&be&&be.length>1&&t(T,be[0],Se,function(){for(ue=1;ue<arguments.length-2;ue++)void 0===arguments[ue]&&(be[ue]=void 0)}),be&&F)for(be.groups=He=h(null),ue=0;ue<F.length;ue++)He[($e=F[ue])[0]]=be[$e[1]];return be}),Ge.exports=R},41891:(Ge,g,o)=>{"use strict";var t=o(21099);Ge.exports=function(){var e=t(this),s="";return e.global&&(s+="g"),e.ignoreCase&&(s+="i"),e.multiline&&(s+="m"),e.dotAll&&(s+="s"),e.unicode&&(s+="u"),e.sticky&&(s+="y"),s}},29895:(Ge,g,o)=>{var t=o(8597),s=o(31864).RegExp,a=t(function(){var h=s("a","y");return h.lastIndex=2,null!=h.exec("abcd")}),l=a||t(function(){return!s("a","y").sticky}),u=a||t(function(){var h=s("^r","gy");return h.lastIndex=2,null!=h.exec("str")});Ge.exports={BROKEN_CARET:u,MISSED_STICKY:l,UNSUPPORTED_Y:a}},38126:(Ge,g,o)=>{var t=o(8597),s=o(31864).RegExp;Ge.exports=t(function(){var a=s(".","s");return!(a.dotAll&&a.exec("\n")&&"s"===a.flags)})},31053:(Ge,g,o)=>{var t=o(8597),s=o(31864).RegExp;Ge.exports=t(function(){var a=s("(?<a>b)","g");return"b"!==a.exec("b").groups.a||"bc"!=="b".replace(a,"$<a>c")})},95025:(Ge,g,o)=>{var e=o(31864).TypeError;Ge.exports=function(s){if(null==s)throw e("Can't call method on "+s);return s}},22341:(Ge,g,o)=>{var t=o(31864),e=Object.defineProperty;Ge.exports=function(s,a){try{e(t,s,{value:a,configurable:!0,writable:!0})}catch(l){t[s]=a}return a}},58242:(Ge,g,o)=>{var t=o(52975).f,e=o(62445),a=o(84563)("toStringTag");Ge.exports=function(l,u,h){l&&!h&&(l=l.prototype),l&&!e(l,a)&&t(l,a,{configurable:!0,value:u})}},42650:(Ge,g,o)=>{var t=o(77719),e=o(94295),s=t("keys");Ge.exports=function(a){return s[a]||(s[a]=e(a))}},59941:(Ge,g,o)=>{var t=o(31864),e=o(22341),s="__core-js_shared__",a=t[s]||e(s,{});Ge.exports=a},77719:(Ge,g,o)=>{var t=o(97515),e=o(59941);(Ge.exports=function(s,a){return e[s]||(e[s]=void 0!==a?a:{})})("versions",[]).push({version:"3.20.2",mode:t?"pure":"global",copyright:"\xa9 2022 Denis Pushkarev (zloirock.ru)"})},64487:(Ge,g,o)=>{var t=o(47964),e=o(22157),s=o(73574),a=o(95025),l=t("".charAt),u=t("".charCodeAt),h=t("".slice),_=function(m){return function(b,T){var H,z,D=s(a(b)),R=e(T),j=D.length;return R<0||R>=j?m?"":void 0:(H=u(D,R))<55296||H>56319||R+1===j||(z=u(D,R+1))<56320||z>57343?m?l(D,R):H:m?h(D,R,R+2):z-56320+(H-55296<<10)+65536}};Ge.exports={codeAt:_(!1),charAt:_(!0)}},51664:(Ge,g,o)=>{var t=o(47964),e=o(95025),s=o(73574),a=o(48004),l=t("".replace),u="["+a+"]",h=RegExp("^"+u+u+"*"),_=RegExp(u+u+"*$"),m=function(b){return function(T){var D=s(e(T));return 1&b&&(D=l(D,h,"")),2&b&&(D=l(D,_,"")),D}};Ge.exports={start:m(1),end:m(2),trim:m(3)}},20222:(Ge,g,o)=>{var t=o(22157),e=Math.max,s=Math.min;Ge.exports=function(a,l){var u=t(a);return u<0?e(u+l,0):s(u,l)}},8643:(Ge,g,o)=>{var t=o(56169),e=o(95025);Ge.exports=function(s){return t(e(s))}},22157:Ge=>{var g=Math.ceil,o=Math.floor;Ge.exports=function(t){var e=+t;return e!=e||0===e?0:(e>0?o:g)(e)}},15902:(Ge,g,o)=>{var t=o(22157),e=Math.min;Ge.exports=function(s){return s>0?e(t(s),9007199254740991):0}},16174:(Ge,g,o)=>{var t=o(31864),e=o(95025),s=t.Object;Ge.exports=function(a){return s(e(a))}},28495:(Ge,g,o)=>{var t=o(31864),e=o(757),s=o(60726),a=o(26186),l=o(35642),u=o(48297),h=o(84563),_=t.TypeError,m=h("toPrimitive");Ge.exports=function(b,T){if(!s(b)||a(b))return b;var R,D=l(b,m);if(D){if(void 0===T&&(T="default"),R=e(D,b,T),!s(R)||a(R))return R;throw _("Can't convert object to primitive value")}return void 0===T&&(T="number"),u(b,T)}},16582:(Ge,g,o)=>{var t=o(28495),e=o(26186);Ge.exports=function(s){var a=t(s,"string");return e(a)?a:a+""}},72900:(Ge,g,o)=>{var s={};s[o(84563)("toStringTag")]="z",Ge.exports="[object z]"===String(s)},73574:(Ge,g,o)=>{var t=o(31864),e=o(99420),s=t.String;Ge.exports=function(a){if("Symbol"===e(a))throw TypeError("Cannot convert a Symbol value to a string");return s(a)}},60802:(Ge,g,o)=>{var e=o(31864).String;Ge.exports=function(s){try{return e(s)}catch(a){return"Object"}}},94295:(Ge,g,o)=>{var t=o(47964),e=0,s=Math.random(),a=t(1..toString);Ge.exports=function(l){return"Symbol("+(void 0===l?"":l)+")_"+a(++e+s,36)}},24431:(Ge,g,o)=>{var t=o(77040);Ge.exports=t&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},52339:(Ge,g,o)=>{var t=o(47012),e=o(8597);Ge.exports=t&&e(function(){return 42!=Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},84563:(Ge,g,o)=>{var t=o(31864),e=o(77719),s=o(62445),a=o(94295),l=o(77040),u=o(24431),h=e("wks"),_=t.Symbol,m=_&&_.for,b=u?_:_&&_.withoutSetter||a;Ge.exports=function(T){if(!s(h,T)||!l&&"string"!=typeof h[T]){var D="Symbol."+T;h[T]=l&&s(_,T)?_[T]:u&&m?m(D):b(D)}return h[T]}},48004:Ge=>{Ge.exports="\t\n\v\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},85443:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(94115).filter;t({target:"Array",proto:!0,forced:!o(37394)("filter")},{filter:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}})},4690:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(17462);t({target:"Array",proto:!0,forced:[].forEach!=e},{forEach:e})},66837:(Ge,g,o)=>{"use strict";var t=o(8643),e=o(24094),s=o(72339),a=o(52493),l=o(52975).f,u=o(66038),h=o(97515),_=o(47012),m="Array Iterator",b=a.set,T=a.getterFor(m);Ge.exports=u(Array,"Array",function(R,j){b(this,{type:m,target:t(R),index:0,kind:j})},function(){var R=T(this),j=R.target,H=R.kind,z=R.index++;return!j||z>=j.length?(R.target=void 0,{value:void 0,done:!0}):"keys"==H?{value:z,done:!1}:"values"==H?{value:j[z],done:!1}:{value:[z,j[z]],done:!1}},"values");var D=s.Arguments=s.Array;if(e("keys"),e("values"),e("entries"),!h&&_&&"values"!==D.name)try{l(D,"name",{value:"values"})}catch(R){}},35319:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(14716).left,s=o(47051),a=o(17189),l=o(32002);t({target:"Array",proto:!0,forced:!s("reduce")||!l&&a>79&&a<83},{reduce:function(m){var b=arguments.length;return e(this,m,b,b>1?arguments[1]:void 0)}})},80477:(Ge,g,o)=>{var t=o(47012),e=o(20538).EXISTS,s=o(47964),a=o(52975).f,l=Function.prototype,u=s(l.toString),h=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,_=s(h.exec);t&&!e&&a(l,"name",{configurable:!0,get:function(){try{return _(h,u(this))[1]}catch(b){return""}}})},8868:(Ge,g,o)=>{var t=o(51163),e=o(51746);t({target:"Object",stat:!0,forced:Object.assign!==e},{assign:e})},35704:(Ge,g,o)=>{var t=o(72900),e=o(87763),s=o(83119);t||e(Object.prototype,"toString",s,{unsafe:!0})},21581:(Ge,g,o)=>{var t=o(51163),e=o(43656);t({global:!0,forced:parseInt!=e},{parseInt:e})},69665:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(93084);t({target:"RegExp",proto:!0,forced:/./.exec!==e},{exec:e})},13744:(Ge,g,o)=>{"use strict";var t=o(64487).charAt,e=o(73574),s=o(52493),a=o(66038),l="String Iterator",u=s.set,h=s.getterFor(l);a(String,"String",function(_){u(this,{type:l,string:e(_),index:0})},function(){var D,m=h(this),b=m.string,T=m.index;return T>=b.length?{value:void 0,done:!0}:(D=t(b,T),m.index+=D.length,{value:D,done:!1})})},26954:(Ge,g,o)=>{"use strict";var t=o(757),e=o(9357),s=o(21099),a=o(15902),l=o(73574),u=o(95025),h=o(35642),_=o(27678),m=o(53793);e("match",function(b,T,D){return[function(j){var H=u(this),z=null==j?void 0:h(j,b);return z?t(z,j,H):new RegExp(j)[b](l(H))},function(R){var j=s(this),H=l(R),z=D(T,j,H);if(z.done)return z.value;if(!j.global)return m(j,H);var U=j.unicode;j.lastIndex=0;for(var J,M=[],I=0;null!==(J=m(j,H));){var B=l(J[0]);M[I]=B,""===B&&(j.lastIndex=_(H,a(j.lastIndex),U)),I++}return 0===I?null:M}]})},66262:(Ge,g,o)=>{"use strict";var t=o(32328),e=o(757),s=o(47964),a=o(9357),l=o(8597),u=o(21099),h=o(25591),_=o(22157),m=o(15902),b=o(73574),T=o(95025),D=o(27678),R=o(35642),j=o(16162),H=o(53793),U=o(84563)("replace"),M=Math.max,I=Math.min,J=s([].concat),B=s([].push),ie=s("".indexOf),oe=s("".slice),fe=function(Ae){return void 0===Ae?Ae:String(Ae)},ne="$0"==="a".replace(/./,"$0"),he=!!/./[U]&&""===/./[U]("a","$0");a("replace",function(Ae,Se,Oe){var be=he?"$":"$0";return[function(He,$e){var F=T(this),je=null==He?void 0:R(He,U);return je?e(je,He,F,$e):e(Se,b(F),He,$e)},function(ue,He){var $e=u(this),F=b(ue);if("string"==typeof He&&-1===ie(He,be)&&-1===ie(He,"$<")){var je=Oe(Se,$e,F,He);if(je.done)return je.value}var Et=h(He);Et||(He=b(He));var lt=$e.global;if(lt){var nn=$e.unicode;$e.lastIndex=0}for(var St=[];;){var Ot=H($e,F);if(null===Ot||(B(St,Ot),!lt))break;""===b(Ot[0])&&($e.lastIndex=D(F,m($e.lastIndex),nn))}for(var It="",ae=0,Ie=0;Ie<St.length;Ie++){for(var dt=b((Ot=St[Ie])[0]),Jt=M(I(_(Ot.index),F.length),0),zt=[],ln=1;ln<Ot.length;ln++)B(zt,fe(Ot[ln]));var ar=Ot.groups;if(Et){var Ln=J([dt],zt,Jt,F);void 0!==ar&&B(Ln,ar);var Rn=b(t(He,void 0,Ln))}else Rn=j(dt,F,Jt,zt,ar,He);Jt>=ae&&(It+=oe(F,ae,Jt)+Rn,ae=Jt+dt.length)}return It+oe(F,ae)}]},!!l(function(){var Ae=/./;return Ae.exec=function(){var Se=[];return Se.groups={a:"7"},Se},"7"!=="".replace(Ae,"$<a>")})||!ne||he)},63438:(Ge,g,o)=>{"use strict";var D,t=o(31864),e=o(47964),s=o(78715),a=o(64238),l=o(41603),u=o(96491),h=o(60726),_=o(67117),m=o(52493).enforce,b=o(51635),T=!t.ActiveXObject&&"ActiveXObject"in t,R=function(J){return function(){return J(this,arguments.length?arguments[0]:void 0)}},j=l("WeakMap",R,u);if(b&&T){D=u.getConstructor(R,"WeakMap",!0),a.enable();var H=j.prototype,z=e(H.delete),U=e(H.has),M=e(H.get),I=e(H.set);s(H,{delete:function(J){if(h(J)&&!_(J)){var B=m(this);return B.frozen||(B.frozen=new D),z(this,J)||B.frozen.delete(J)}return z(this,J)},has:function(B){if(h(B)&&!_(B)){var ie=m(this);return ie.frozen||(ie.frozen=new D),U(this,B)||ie.frozen.has(B)}return U(this,B)},get:function(B){if(h(B)&&!_(B)){var ie=m(this);return ie.frozen||(ie.frozen=new D),U(this,B)?M(this,B):ie.frozen.get(B)}return M(this,B)},set:function(B,ie){if(h(B)&&!_(B)){var oe=m(this);oe.frozen||(oe.frozen=new D),U(this,B)?I(this,B,ie):oe.frozen.set(B,ie)}else I(this,B,ie);return this}})}},22603:(Ge,g,o)=>{var t=o(31864),e=o(26877),s=o(20713),a=o(66837),l=o(815),u=o(84563),h=u("iterator"),_=u("toStringTag"),m=a.values,b=function(D,R){if(D){if(D[h]!==m)try{l(D,h,m)}catch(H){D[h]=m}if(D[_]||l(D,_,R),e[R])for(var j in a)if(D[j]!==a[j])try{l(D,j,a[j])}catch(H){D[j]=a[j]}}};for(var T in e)b(t[T]&&t[T].prototype,T);b(s,"DOMTokenList")},64762:(Ge,g,o)=>{"use strict";function a(ce,Ae){var Se={};for(var Oe in ce)Object.prototype.hasOwnProperty.call(ce,Oe)&&Ae.indexOf(Oe)<0&&(Se[Oe]=ce[Oe]);if(null!=ce&&"function"==typeof Object.getOwnPropertySymbols){var be=0;for(Oe=Object.getOwnPropertySymbols(ce);be<Oe.length;be++)Ae.indexOf(Oe[be])<0&&Object.prototype.propertyIsEnumerable.call(ce,Oe[be])&&(Se[Oe[be]]=ce[Oe[be]])}return Se}function l(ce,Ae,Se,Oe){var He,be=arguments.length,ue=be<3?Ae:null===Oe?Oe=Object.getOwnPropertyDescriptor(Ae,Se):Oe;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)ue=Reflect.decorate(ce,Ae,Se,Oe);else for(var $e=ce.length-1;$e>=0;$e--)(He=ce[$e])&&(ue=(be<3?He(ue):be>3?He(Ae,Se,ue):He(Ae,Se))||ue);return be>3&&ue&&Object.defineProperty(Ae,Se,ue),ue}function u(ce,Ae){return function(Se,Oe){Ae(Se,Oe,ce)}}function h(ce,Ae){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(ce,Ae)}o.d(g,{_T:()=>a,gn:()=>l,fM:()=>u,w6:()=>h})},46700:(Ge,g,o)=>{var t={"./af":26431,"./af.js":26431,"./ar":81286,"./ar-dz":1616,"./ar-dz.js":1616,"./ar-kw":9759,"./ar-kw.js":9759,"./ar-ly":43160,"./ar-ly.js":43160,"./ar-ma":62551,"./ar-ma.js":62551,"./ar-sa":79989,"./ar-sa.js":79989,"./ar-tn":6962,"./ar-tn.js":6962,"./ar.js":81286,"./az":15887,"./az.js":15887,"./be":14572,"./be.js":14572,"./bg":3276,"./bg.js":3276,"./bm":93344,"./bm.js":93344,"./bn":58985,"./bn-bd":83990,"./bn-bd.js":83990,"./bn.js":58985,"./bo":94391,"./bo.js":94391,"./br":46728,"./br.js":46728,"./bs":5536,"./bs.js":5536,"./ca":41043,"./ca.js":41043,"./cs":70420,"./cs.js":70420,"./cv":33513,"./cv.js":33513,"./cy":6771,"./cy.js":6771,"./da":47978,"./da.js":47978,"./de":46061,"./de-at":25204,"./de-at.js":25204,"./de-ch":2653,"./de-ch.js":2653,"./de.js":46061,"./dv":85,"./dv.js":85,"./el":8579,"./el.js":8579,"./en-au":25724,"./en-au.js":25724,"./en-ca":10525,"./en-ca.js":10525,"./en-gb":52847,"./en-gb.js":52847,"./en-ie":67216,"./en-ie.js":67216,"./en-il":39305,"./en-il.js":39305,"./en-in":73364,"./en-in.js":73364,"./en-nz":79130,"./en-nz.js":79130,"./en-sg":11161,"./en-sg.js":11161,"./eo":50802,"./eo.js":50802,"./es":40328,"./es-do":45551,"./es-do.js":45551,"./es-mx":75615,"./es-mx.js":75615,"./es-us":64790,"./es-us.js":64790,"./es.js":40328,"./et":96389,"./et.js":96389,"./eu":52961,"./eu.js":52961,"./fa":26151,"./fa.js":26151,"./fi":7997,"./fi.js":7997,"./fil":58898,"./fil.js":58898,"./fo":37779,"./fo.js":37779,"./fr":28174,"./fr-ca":3287,"./fr-ca.js":3287,"./fr-ch":38867,"./fr-ch.js":38867,"./fr.js":28174,"./fy":50452,"./fy.js":50452,"./ga":45014,"./ga.js":45014,"./gd":74127,"./gd.js":74127,"./gl":72124,"./gl.js":72124,"./gom-deva":6444,"./gom-deva.js":6444,"./gom-latn":37953,"./gom-latn.js":37953,"./gu":76604,"./gu.js":76604,"./he":1222,"./he.js":1222,"./hi":74235,"./hi.js":74235,"./hr":622,"./hr.js":622,"./hu":37735,"./hu.js":37735,"./hy-am":90402,"./hy-am.js":90402,"./id":59187,"./id.js":59187,"./is":30536,"./is.js":30536,"./it":35007,"./it-ch":94667,"./it-ch.js":94667,"./it.js":35007,"./ja":62093,"./ja.js":62093,"./jv":80059,"./jv.js":80059,"./ka":66870,"./ka.js":66870,"./kk":80880,"./kk.js":80880,"./km":1083,"./km.js":1083,"./kn":68785,"./kn.js":68785,"./ko":21721,"./ko.js":21721,"./ku":37851,"./ku.js":37851,"./ky":1727,"./ky.js":1727,"./lb":40346,"./lb.js":40346,"./lo":93002,"./lo.js":93002,"./lt":64035,"./lt.js":64035,"./lv":56927,"./lv.js":56927,"./me":5634,"./me.js":5634,"./mi":94173,"./mi.js":94173,"./mk":86320,"./mk.js":86320,"./ml":11705,"./ml.js":11705,"./mn":31062,"./mn.js":31062,"./mr":92805,"./mr.js":92805,"./ms":11341,"./ms-my":59900,"./ms-my.js":59900,"./ms.js":11341,"./mt":37734,"./mt.js":37734,"./my":19034,"./my.js":19034,"./nb":9324,"./nb.js":9324,"./ne":46495,"./ne.js":46495,"./nl":70673,"./nl-be":76272,"./nl-be.js":76272,"./nl.js":70673,"./nn":72486,"./nn.js":72486,"./oc-lnc":46219,"./oc-lnc.js":46219,"./pa-in":2829,"./pa-in.js":2829,"./pl":78444,"./pl.js":78444,"./pt":53170,"./pt-br":66117,"./pt-br.js":66117,"./pt.js":53170,"./ro":96587,"./ro.js":96587,"./ru":39264,"./ru.js":39264,"./sd":42135,"./sd.js":42135,"./se":95366,"./se.js":95366,"./si":93379,"./si.js":93379,"./sk":46143,"./sk.js":46143,"./sl":196,"./sl.js":196,"./sq":21082,"./sq.js":21082,"./sr":91621,"./sr-cyrl":98963,"./sr-cyrl.js":98963,"./sr.js":91621,"./ss":41404,"./ss.js":41404,"./sv":55685,"./sv.js":55685,"./sw":3872,"./sw.js":3872,"./ta":54106,"./ta.js":54106,"./te":39204,"./te.js":39204,"./tet":83692,"./tet.js":83692,"./tg":86361,"./tg.js":86361,"./th":31735,"./th.js":31735,"./tk":1568,"./tk.js":1568,"./tl-ph":96129,"./tl-ph.js":96129,"./tlh":13759,"./tlh.js":13759,"./tr":81644,"./tr.js":81644,"./tzl":90875,"./tzl.js":90875,"./tzm":16878,"./tzm-latn":11041,"./tzm-latn.js":11041,"./tzm.js":16878,"./ug-cn":74357,"./ug-cn.js":74357,"./uk":74810,"./uk.js":74810,"./ur":86794,"./ur.js":86794,"./uz":28966,"./uz-latn":77959,"./uz-latn.js":77959,"./uz.js":28966,"./vi":35386,"./vi.js":35386,"./x-pseudo":23156,"./x-pseudo.js":23156,"./yo":68028,"./yo.js":68028,"./zh-cn":9330,"./zh-cn.js":9330,"./zh-hk":89380,"./zh-hk.js":89380,"./zh-mo":60874,"./zh-mo.js":60874,"./zh-tw":96508,"./zh-tw.js":96508};function e(a){var l=s(a);return o(l)}function s(a){if(!o.o(t,a)){var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}return t[a]}e.keys=function(){return Object.keys(t)},e.resolve=s,Ge.exports=e,e.id=46700},64617:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>U});var s=o(66224);const l=function(M,I){for(var J=M.length;J--;)if((0,s.Z)(M[J][0],I))return J;return-1};var h=Array.prototype.splice;function z(M){var I=-1,J=null==M?0:M.length;for(this.clear();++I<J;){var B=M[I];this.set(B[0],B[1])}}z.prototype.clear=function(){this.__data__=[],this.size=0},z.prototype.delete=function(M){var I=this.__data__,J=l(I,M);return!(J<0||(J==I.length-1?I.pop():h.call(I,J,1),--this.size,0))},z.prototype.get=function(M){var I=this.__data__,J=l(I,M);return J<0?void 0:I[J][1]},z.prototype.has=function(M){return l(this.__data__,M)>-1},z.prototype.set=function(M,I){var J=this.__data__,B=l(J,M);return B<0?(++this.size,J.push([M,I])):J[B][1]=I,this};const U=z},54673:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(86296),e=o(40309);const a=(0,t.Z)(e.Z,"Map")},12274:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>nn});const s=(0,o(86296).Z)(Object,"create");var b=Object.prototype.hasOwnProperty;var j=Object.prototype.hasOwnProperty;function J(St){var Ot=-1,Qe=null==St?0:St.length;for(this.clear();++Ot<Qe;){var It=St[Ot];this.set(It[0],It[1])}}J.prototype.clear=function(){this.__data__=s?s(null):{},this.size=0},J.prototype.delete=function(St){var Ot=this.has(St)&&delete this.__data__[St];return this.size-=Ot?1:0,Ot},J.prototype.get=function(St){var Ot=this.__data__;if(s){var Qe=Ot[St];return"__lodash_hash_undefined__"===Qe?void 0:Qe}return b.call(Ot,St)?Ot[St]:void 0},J.prototype.has=function(St){var Ot=this.__data__;return s?void 0!==Ot[St]:j.call(Ot,St)},J.prototype.set=function(St,Ot){var Qe=this.__data__;return this.size+=this.has(St)?0:1,Qe[St]=s&&void 0===Ot?"__lodash_hash_undefined__":Ot,this};const B=J;var ie=o(64617),oe=o(54673);const Se=function(St,Ot){var Qe=St.__data__;return function(St){var Ot=typeof St;return"string"==Ot||"number"==Ot||"symbol"==Ot||"boolean"==Ot?"__proto__"!==St:null===St}(Ot)?Qe["string"==typeof Ot?"string":"hash"]:Qe.map};function lt(St){var Ot=-1,Qe=null==St?0:St.length;for(this.clear();++Ot<Qe;){var It=St[Ot];this.set(It[0],It[1])}}lt.prototype.clear=function(){this.size=0,this.__data__={hash:new B,map:new(oe.Z||ie.Z),string:new B}},lt.prototype.delete=function(St){var Ot=Se(this,St).delete(St);return this.size-=Ot?1:0,Ot},lt.prototype.get=function(St){return Se(this,St).get(St)},lt.prototype.has=function(St){return Se(this,St).has(St)},lt.prototype.set=function(St,Ot){var Qe=Se(this,St),It=Qe.size;return Qe.set(St,Ot),this.size+=Qe.size==It?0:1,this};const nn=lt},86287:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>z});var t=o(64617);var b=o(54673),T=o(12274);function H(U){var M=this.__data__=new t.Z(U);this.size=M.size}H.prototype.clear=function(){this.__data__=new t.Z,this.size=0},H.prototype.delete=function(U){var M=this.__data__,I=M.delete(U);return this.size=M.size,I},H.prototype.get=function(U){return this.__data__.get(U)},H.prototype.has=function(U){return this.__data__.has(U)},H.prototype.set=function(U,M){var I=this.__data__;if(I instanceof t.Z){var J=I.__data__;if(!b.Z||J.length<199)return J.push([U,M]),this.size=++I.size,this;I=this.__data__=new T.Z(J)}return I.set(U,M),this.size=I.size,this};const z=H},35770:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});const s=o(40309).Z.Symbol},83345:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});const s=o(40309).Z.Uint8Array},54160:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>T});var s=o(47481),a=o(34654),l=o(72170),u=o(28078),h=o(8736),m=Object.prototype.hasOwnProperty;const T=function(D,R){var j=(0,a.Z)(D),H=!j&&(0,s.Z)(D),z=!j&&!H&&(0,l.Z)(D),U=!j&&!H&&!z&&(0,h.Z)(D),M=j||H||z||U,I=M?function(D,R){for(var j=-1,H=Array(D);++j<D;)H[j]=R(j);return H}(D.length,String):[],J=I.length;for(var B in D)(R||m.call(D,B))&&(!M||!("length"==B||z&&("offset"==B||"parent"==B)||U&&("buffer"==B||"byteLength"==B||"byteOffset"==B)||(0,u.Z)(B,J)))&&I.push(B);return I}},57052:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s,a){for(var l=-1,u=a.length,h=s.length;++l<u;)s[h+l]=a[l];return s}},15427:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>u});var t=o(2951),e=o(66224),a=Object.prototype.hasOwnProperty;const u=function(h,_,m){var b=h[_];(!a.call(h,_)||!(0,e.Z)(b,m)||void 0===m&&!(_ in h))&&(0,t.Z)(h,_,m)}},2951:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(99567);const s=function(a,l,u){"__proto__"==l&&t.Z?(0,t.Z)(a,l,{configurable:!0,enumerable:!0,value:u,writable:!0}):a[l]=u}},5867:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>Ke});var t=o(86287);var a=o(15427),l=o(57640),u=o(57618);var m=o(22712);var D=o(27672),R=o(36889),j=o(43590);var U=o(74202);var J=o(22018),B=o(23359),ie=o(91978),fe=Object.prototype.hasOwnProperty;var ce=o(80609);var Oe=/\w*$/;var He=o(35770),$e=He.Z?He.Z.prototype:void 0,F=$e?$e.valueOf:void 0;var lt=o(1044);const Kt=function(Xe,Vt,Ct){var rt=Xe.constructor;switch(Vt){case"[object ArrayBuffer]":return(0,ce.Z)(Xe);case"[object Boolean]":case"[object Date]":return new rt(+Xe);case"[object DataView]":return function(Xe,Vt){var Ct=Vt?(0,ce.Z)(Xe.buffer):Xe.buffer;return new Xe.constructor(Ct,Xe.byteOffset,Xe.byteLength)}(Xe,Ct);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,lt.Z)(Xe,Ct);case"[object Map]":return new rt;case"[object Number]":case"[object String]":return new rt(Xe);case"[object RegExp]":return function(Xe){var Vt=new Xe.constructor(Xe.source,Oe.exec(Xe));return Vt.lastIndex=Xe.lastIndex,Vt}(Xe);case"[object Set]":return new rt;case"[object Symbol]":return function(Xe){return F?Object(F.call(Xe)):{}}(Xe)}};var dn=o(11237),Kn=o(34654),qn=o(72170),Sn=o(6539);var Dn=o(21162),mn=o(48514),jn=mn.Z&&mn.Z.isMap;const ut=jn?(0,Dn.Z)(jn):function(Xe){return(0,Sn.Z)(Xe)&&"[object Map]"==(0,ie.Z)(Xe)};var mt=o(4214);var jt=mn.Z&&mn.Z.isSet;const Qn=jt?(0,Dn.Z)(jt):function(Xe){return(0,Sn.Z)(Xe)&&"[object Set]"==(0,ie.Z)(Xe)};var Ue="[object Arguments]",Ut="[object Function]",An="[object Object]",se={};se[Ue]=se["[object Array]"]=se["[object ArrayBuffer]"]=se["[object DataView]"]=se["[object Boolean]"]=se["[object Date]"]=se["[object Float32Array]"]=se["[object Float64Array]"]=se["[object Int8Array]"]=se["[object Int16Array]"]=se["[object Int32Array]"]=se["[object Map]"]=se["[object Number]"]=se[An]=se["[object RegExp]"]=se["[object Set]"]=se["[object String]"]=se["[object Symbol]"]=se["[object Uint8Array]"]=se["[object Uint8ClampedArray]"]=se["[object Uint16Array]"]=se["[object Uint32Array]"]=!0,se["[object Error]"]=se[Ut]=se["[object WeakMap]"]=!1;const Ke=function ct(Xe,Vt,Ct,rt,yt,qe){var $t,or=1&Vt,Vn=2&Vt,Vr=4&Vt;if(Ct&&($t=yt?Ct(Xe,rt,yt,qe):Ct(Xe)),void 0!==$t)return $t;if(!(0,mt.Z)(Xe))return Xe;var Cr=(0,Kn.Z)(Xe);if(Cr){if($t=function(Xe){var Vt=Xe.length,Ct=new Xe.constructor(Vt);return Vt&&"string"==typeof Xe[0]&&fe.call(Xe,"index")&&(Ct.index=Xe.index,Ct.input=Xe.input),Ct}(Xe),!or)return(0,R.Z)(Xe,$t)}else{var ai=(0,ie.Z)(Xe),Dr=ai==Ut||"[object GeneratorFunction]"==ai;if((0,qn.Z)(Xe))return(0,D.Z)(Xe,or);if(ai==An||ai==Ue||Dr&&!yt){if($t=Vn||Dr?{}:(0,dn.Z)(Xe),!or)return Vn?function(Xe,Vt){return(0,l.Z)(Xe,(0,U.Z)(Xe),Vt)}(Xe,function(Xe,Vt){return Xe&&(0,l.Z)(Vt,(0,m.Z)(Vt),Xe)}($t,Xe)):function(Xe,Vt){return(0,l.Z)(Xe,(0,j.Z)(Xe),Vt)}(Xe,function(Xe,Vt){return Xe&&(0,l.Z)(Vt,(0,u.Z)(Vt),Xe)}($t,Xe))}else{if(!se[ai])return yt?Xe:{};$t=Kt(Xe,ai,or)}}qe||(qe=new t.Z);var Jr=qe.get(Xe);if(Jr)return Jr;qe.set(Xe,$t),Qn(Xe)?Xe.forEach(function(Ei){$t.add(ct(Ei,Vt,Ct,Ei,Xe,qe))}):ut(Xe)&&Xe.forEach(function(Ei,wi){$t.set(wi,ct(Ei,Vt,Ct,wi,Xe,qe))});var fi=Cr?void 0:(Vr?Vn?B.Z:J.Z:Vn?m.Z:u.Z)(Xe);return function(Xe,Vt){for(var Ct=-1,rt=null==Xe?0:Xe.length;++Ct<rt&&!1!==Vt(Xe[Ct],Ct,Xe););}(fi||Xe,function(Ei,wi){fi&&(Ei=Xe[wi=Ei]),(0,a.Z)($t,wi,ct(Ei,Vt,Ct,wi,Xe,qe))}),$t}},49137:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(57052),e=o(34654);const a=function(l,u,h){var _=u(l);return(0,e.Z)(l)?_:(0,t.Z)(_,h(l))}},13305:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>z});var t=o(35770),e=Object.prototype,s=e.hasOwnProperty,a=e.toString,l=t.Z?t.Z.toStringTag:void 0;var m=Object.prototype.toString;var j=t.Z?t.Z.toStringTag:void 0;const z=function(U){return null==U?void 0===U?"[object Undefined]":"[object Null]":j&&j in Object(U)?function(U){var M=s.call(U,l),I=U[l];try{U[l]=void 0;var J=!0}catch(ie){}var B=a.call(U);return J&&(M?U[l]=I:delete U[l]),B}(U):function(U){return m.call(U)}(U)}},21162:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s){return function(a){return s(a)}}},80609:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(83345);const s=function(a){var l=new a.constructor(a.byteLength);return new t.Z(l).set(new t.Z(a)),l}},27672:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>_});var t=o(40309),e="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=e&&"object"==typeof module&&module&&!module.nodeType&&module,l=s&&s.exports===e?t.Z.Buffer:void 0,u=l?l.allocUnsafe:void 0;const _=function(m,b){if(b)return m.slice();var T=m.length,D=u?u(T):new m.constructor(T);return m.copy(D),D}},1044:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(80609);const s=function(a,l){var u=l?(0,t.Z)(a.buffer):a.buffer;return new a.constructor(u,a.byteOffset,a.length)}},36889:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s,a){var l=-1,u=s.length;for(a||(a=Array(u));++l<u;)a[l]=s[l];return a}},57640:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(15427),e=o(2951);const a=function(l,u,h,_){var m=!h;h||(h={});for(var b=-1,T=u.length;++b<T;){var D=u[b],R=_?_(h[D],l[D],D,h,l):void 0;void 0===R&&(R=l[D]),m?(0,e.Z)(h,D,R):(0,t.Z)(h,D,R)}return h}},99567:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(86296);const s=function(){try{var a=(0,t.Z)(Object,"defineProperty");return a({},"",{}),a}catch(l){}}()},7746:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e="object"==typeof global&&global&&global.Object===Object&&global},22018:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>l});var t=o(49137),e=o(43590),s=o(57618);const l=function(u){return(0,t.Z)(u,s.Z,e.Z)}},23359:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>l});var t=o(49137),e=o(74202),s=o(22712);const l=function(u){return(0,t.Z)(u,s.Z,e.Z)}},86296:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>ie});var oe,t=o(58209),s=o(40309).Z["__core-js_shared__"],l=(oe=/[^.]+$/.exec(s&&s.keys&&s.keys.IE_PROTO||""))?"Symbol(src)_1."+oe:"";var _=o(4214),m=o(22035),T=/^\[object .+?Constructor\]$/,z=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const M=function(oe){return!(!(0,_.Z)(oe)||function(oe){return!!l&&l in oe}(oe))&&((0,t.Z)(oe)?z:T).test((0,m.Z)(oe))},ie=function(oe,fe){var ne=function(oe,fe){return null==oe?void 0:oe[fe]}(oe,fe);return M(ne)?ne:void 0}},11595:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});const s=(0,o(24184).Z)(Object.getPrototypeOf,Object)},43590:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>_});var s=o(38387),l=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;const _=u?function(m){return null==m?[]:(m=Object(m),function(m,b){for(var T=-1,D=null==m?0:m.length,R=0,j=[];++T<D;){var H=m[T];b(H,T,m)&&(j[R++]=H)}return j}(u(m),function(b){return l.call(m,b)}))}:s.Z},74202:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>h});var t=o(57052),e=o(11595),s=o(43590),a=o(38387);const h=Object.getOwnPropertySymbols?function(_){for(var m=[];_;)(0,t.Z)(m,(0,s.Z)(_)),_=(0,e.Z)(_);return m}:a.Z},91978:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>he});var t=o(86296),e=o(40309);const a=(0,t.Z)(e.Z,"DataView");var l=o(54673);const h=(0,t.Z)(e.Z,"Promise"),m=(0,t.Z)(e.Z,"Set"),T=(0,t.Z)(e.Z,"WeakMap");var D=o(13305),R=o(22035),j="[object Map]",z="[object Promise]",U="[object Set]",M="[object WeakMap]",I="[object DataView]",J=(0,R.Z)(a),B=(0,R.Z)(l.Z),ie=(0,R.Z)(h),oe=(0,R.Z)(m),fe=(0,R.Z)(T),ne=D.Z;(a&&ne(new a(new ArrayBuffer(1)))!=I||l.Z&&ne(new l.Z)!=j||h&&ne(h.resolve())!=z||m&&ne(new m)!=U||T&&ne(new T)!=M)&&(ne=function(ce){var Ae=(0,D.Z)(ce),Se="[object Object]"==Ae?ce.constructor:void 0,Oe=Se?(0,R.Z)(Se):"";if(Oe)switch(Oe){case J:return I;case B:return j;case ie:return z;case oe:return U;case fe:return M}return Ae});const he=ne},11237:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>_});var t=o(4214),e=Object.create;const a=function(){function m(){}return function(b){if(!(0,t.Z)(b))return{};if(e)return e(b);m.prototype=b;var T=new m;return m.prototype=void 0,T}}();var l=o(11595),u=o(31550);const _=function(m){return"function"!=typeof m.constructor||(0,u.Z)(m)?{}:a((0,l.Z)(m))}},28078:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var e=/^(?:0|[1-9]\d*)$/;const a=function(l,u){var h=typeof l;return!!(u=null==u?9007199254740991:u)&&("number"==h||"symbol"!=h&&e.test(l))&&l>-1&&l%1==0&&l<u}},31550:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=Object.prototype;const s=function(a){var l=a&&a.constructor;return a===("function"==typeof l&&l.prototype||t)}},48514:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>h});var t=o(7746),e="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=e&&"object"==typeof module&&module&&!module.nodeType&&module,l=s&&s.exports===e&&t.Z.process;const h=function(){try{return s&&s.require&&s.require("util").types||l&&l.binding&&l.binding("util")}catch(m){}}()},24184:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s,a){return function(l){return s(a(l))}}},40309:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(7746),e="object"==typeof self&&self&&self.Object===Object&&self;const a=t.Z||e||Function("return this")()},22035:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var e=Function.prototype.toString;const a=function(l){if(null!=l){try{return e.call(l)}catch(u){}try{return l+""}catch(u){}}return""}},66224:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s,a){return s===a||s!=s&&a!=a}},47481:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>b});var t=o(13305),e=o(6539);const l=function(T){return(0,e.Z)(T)&&"[object Arguments]"==(0,t.Z)(T)};var u=Object.prototype,h=u.hasOwnProperty,_=u.propertyIsEnumerable;const b=l(function(){return arguments}())?l:function(T){return(0,e.Z)(T)&&h.call(T,"callee")&&!_.call(T,"callee")}},34654:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=Array.isArray},18402:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(58209),e=o(19238);const a=function(l){return null!=l&&(0,e.Z)(l.length)&&!(0,t.Z)(l)}},72170:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>b});var t=o(40309),a="object"==typeof exports&&exports&&!exports.nodeType&&exports,l=a&&"object"==typeof module&&module&&!module.nodeType&&module,h=l&&l.exports===a?t.Z.Buffer:void 0;const b=(h?h.isBuffer:void 0)||function(){return!1}},58209:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>_});var t=o(13305),e=o(4214);const _=function(m){if(!(0,e.Z)(m))return!1;var b=(0,t.Z)(m);return"[object Function]"==b||"[object GeneratorFunction]"==b||"[object AsyncFunction]"==b||"[object Proxy]"==b}},19238:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});const s=function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=9007199254740991}},4214:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s){var a=typeof s;return null!=s&&("object"==a||"function"==a)}},6539:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s){return null!=s&&"object"==typeof s}},8736:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>F});var t=o(13305),e=o(19238),s=o(6539),Ae={};Ae["[object Float32Array]"]=Ae["[object Float64Array]"]=Ae["[object Int8Array]"]=Ae["[object Int16Array]"]=Ae["[object Int32Array]"]=Ae["[object Uint8Array]"]=Ae["[object Uint8ClampedArray]"]=Ae["[object Uint16Array]"]=Ae["[object Uint32Array]"]=!0,Ae["[object Arguments]"]=Ae["[object Array]"]=Ae["[object ArrayBuffer]"]=Ae["[object Boolean]"]=Ae["[object DataView]"]=Ae["[object Date]"]=Ae["[object Error]"]=Ae["[object Function]"]=Ae["[object Map]"]=Ae["[object Number]"]=Ae["[object Object]"]=Ae["[object RegExp]"]=Ae["[object Set]"]=Ae["[object String]"]=Ae["[object WeakMap]"]=!1;var be=o(21162),ue=o(48514),He=ue.Z&&ue.Z.isTypedArray;const F=He?(0,be.Z)(He):function(je){return(0,s.Z)(je)&&(0,e.Z)(je.length)&&!!Ae[(0,t.Z)(je)]}},57618:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>D});var t=o(54160),e=o(31550);const l=(0,o(24184).Z)(Object.keys,Object);var h=Object.prototype.hasOwnProperty;var b=o(18402);const D=function(R){return(0,b.Z)(R)?(0,t.Z)(R):function(R){if(!(0,e.Z)(R))return l(R);var j=[];for(var H in Object(R))h.call(R,H)&&"constructor"!=H&&j.push(H);return j}(R)}},22712:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>D});var t=o(54160),e=o(4214),s=o(31550);var h=Object.prototype.hasOwnProperty;const m=function(R){if(!(0,e.Z)(R))return function(R){var j=[];if(null!=R)for(var H in Object(R))j.push(H);return j}(R);var j=(0,s.Z)(R),H=[];for(var z in R)"constructor"==z&&(j||!h.call(R,z))||H.push(z);return H};var b=o(18402);const D=function(R){return(0,b.Z)(R)?(0,t.Z)(R,!0):m(R)}},38387:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(){return[]}}},Ge=>{Ge(Ge.s=18990)}]);
\ No newline at end of file
--- /dev/null
+var $localize=Object.assign(void 0===$localize?{}:$localize,{locale:"en-US"});
+"use strict";(function(global){global.ng=global.ng||{};global.ng.common=global.ng.common||{};global.ng.common.locales=global.ng.common.locales||{};const u=undefined;function plural(n){const i=Math.floor(Math.abs(n)),v=n.toString().replace(/^[^.]*\.?/,"").length;if(i===1&&v===0)return 1;return 5}global.ng.common.locales["en-us-posix"]=["en-US-POSIX",[["a","p"],["AM","PM"],u],[["AM","PM"],u,u],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],u,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],u,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",u,"{1} 'at' {0}",u],[".",",",";","%","+","-","E","\xD7","0/00","INF","NaN",":"],["0.######","0%","\xA4\xA00.00","0.000000E+000"],"USD","$","US Dollar",{},"ltr",plural,[[["mi","n","in the morning","in the afternoon","in the evening","at night"],["midnight","noon","in the morning","in the afternoon","in the evening","at night"],u],[["midnight","noon","morning","afternoon","evening","night"],u,u],["00:00","12:00",["06:00","12:00"],["12:00","18:00"],["18:00","21:00"],["21:00","06:00"]]]]})(typeof globalThis!=="undefined"&&globalThis||typeof global!=="undefined"&&global||typeof window!=="undefined"&&window);;
+(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[179],{98255:Ge=>{function g(o){return Promise.resolve().then(()=>{var t=new Error("Cannot find module '"+o+"'");throw t.code="MODULE_NOT_FOUND",t})}g.keys=()=>[],g.resolve=g,g.id=98255,Ge.exports=g},56083:(Ge,g,o)=>{"use strict";o.d(g,{l3:()=>s,_j:()=>t,LC:()=>e,ZN:()=>M,jt:()=>l,vP:()=>h,SB:()=>m,oB:()=>_,eR:()=>C,X$:()=>a,ZE:()=>I,k1:()=>J});class t{}class e{}const s="*";function a(Y,ie){return{type:7,name:Y,definitions:ie,options:{}}}function l(Y,ie=null){return{type:4,styles:ie,timings:Y}}function h(Y,ie=null){return{type:2,steps:Y,options:ie}}function _(Y){return{type:6,styles:Y,offset:null}}function m(Y,ie,oe){return{type:0,name:Y,styles:ie,options:oe}}function C(Y,ie,oe=null){return{type:1,expr:Y,animation:ie,options:oe}}function U(Y){Promise.resolve(null).then(Y)}class M{constructor(ie=0,oe=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=ie+oe}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(ie=>ie()),this._onDoneFns=[])}onStart(ie){this._onStartFns.push(ie)}onDone(ie){this._onDoneFns.push(ie)}onDestroy(ie){this._onDestroyFns.push(ie)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){U(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(ie=>ie()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(ie=>ie()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(ie){this._position=this.totalTime?ie*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(ie){const oe="start"==ie?this._onStartFns:this._onDoneFns;oe.forEach(fe=>fe()),oe.length=0}}class I{constructor(ie){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=ie;let oe=0,fe=0,ne=0;const he=this.players.length;0==he?U(()=>this._onFinish()):this.players.forEach(ce=>{ce.onDone(()=>{++oe==he&&this._onFinish()}),ce.onDestroy(()=>{++fe==he&&this._onDestroy()}),ce.onStart(()=>{++ne==he&&this._onStart()})}),this.totalTime=this.players.reduce((ce,Ae)=>Math.max(ce,Ae.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(ie=>ie()),this._onDoneFns=[])}init(){this.players.forEach(ie=>ie.init())}onStart(ie){this._onStartFns.push(ie)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(ie=>ie()),this._onStartFns=[])}onDone(ie){this._onDoneFns.push(ie)}onDestroy(ie){this._onDestroyFns.push(ie)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(ie=>ie.play())}pause(){this.players.forEach(ie=>ie.pause())}restart(){this.players.forEach(ie=>ie.restart())}finish(){this._onFinish(),this.players.forEach(ie=>ie.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(ie=>ie.destroy()),this._onDestroyFns.forEach(ie=>ie()),this._onDestroyFns=[])}reset(){this.players.forEach(ie=>ie.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(ie){const oe=ie*this.totalTime;this.players.forEach(fe=>{const ne=fe.totalTime?Math.min(1,oe/fe.totalTime):1;fe.setPosition(ne)})}getPosition(){const ie=this.players.reduce((oe,fe)=>null===oe||fe.totalTime>oe.totalTime?fe:oe,null);return null!=ie?ie.getPosition():0}beforeDestroy(){this.players.forEach(ie=>{ie.beforeDestroy&&ie.beforeDestroy()})}triggerCallback(ie){const oe="start"==ie?this._onStartFns:this._onDoneFns;oe.forEach(fe=>fe()),oe.length=0}}const J="!"},12057:(Ge,g,o)=>{"use strict";o.d(g,{mr:()=>I,Ov:()=>Bo,ez:()=>Li,K0:()=>h,uU:()=>zo,JJ:()=>Tn,x:()=>Me,Do:()=>Y,Gx:()=>Er,Ts:()=>pn,Nd:()=>Ve,V_:()=>b,Ye:()=>ie,S$:()=>U,i8:()=>Jo,mk:()=>rt,sg:()=>$t,O5:()=>Vr,PC:()=>Fi,RF:()=>Qr,n9:()=>rn,ED:()=>fi,tP:()=>no,b0:()=>J,Zx:()=>$r,lw:()=>_,rS:()=>ua,Tn:()=>Oe,gd:()=>ds,EM:()=>Fo,JF:()=>Ua,p6:()=>Fn,Mn:()=>je,ol:()=>F,UT:()=>Et,NF:()=>Ra,w_:()=>u,bD:()=>cs,q:()=>s,Mx:()=>Ct,HT:()=>l});var t=o(74788);let e=null;function s(){return e}function l(pt){e||(e=pt)}class u{}const h=new t.OlP("DocumentToken");let _=(()=>{class pt{historyGo(Nt){throw new Error("Not implemented")}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275prov=(0,t.Yz7)({factory:m,token:pt,providedIn:"platform"}),pt})();function m(){return(0,t.LFG)(C)}const b=new t.OlP("Location Initialized");let C=(()=>{class pt extends _{constructor(Nt){super(),this._doc=Nt,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return s().getBaseHref(this._doc)}onPopState(Nt){const Ce=s().getGlobalEventTarget(this._doc,"window");return Ce.addEventListener("popstate",Nt,!1),()=>Ce.removeEventListener("popstate",Nt)}onHashChange(Nt){const Ce=s().getGlobalEventTarget(this._doc,"window");return Ce.addEventListener("hashchange",Nt,!1),()=>Ce.removeEventListener("hashchange",Nt)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(Nt){this.location.pathname=Nt}pushState(Nt,Ce,ye){D()?this._history.pushState(Nt,Ce,ye):this.location.hash=ye}replaceState(Nt,Ce,ye){D()?this._history.replaceState(Nt,Ce,ye):this.location.hash=ye}forward(){this._history.forward()}back(){this._history.back()}historyGo(Nt=0){this._history.go(Nt)}getState(){return this._history.state}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(h))},pt.\u0275prov=(0,t.Yz7)({factory:x,token:pt,providedIn:"platform"}),pt})();function D(){return!!window.history.pushState}function x(){return new C((0,t.LFG)(h))}function j(pt,an){if(0==pt.length)return an;if(0==an.length)return pt;let Nt=0;return pt.endsWith("/")&&Nt++,an.startsWith("/")&&Nt++,2==Nt?pt+an.substring(1):1==Nt?pt+an:pt+"/"+an}function H(pt){const an=pt.match(/#|\?|$/),Nt=an&&an.index||pt.length;return pt.slice(0,Nt-("/"===pt[Nt-1]?1:0))+pt.slice(Nt)}function z(pt){return pt&&"?"!==pt[0]?"?"+pt:pt}let U=(()=>{class pt{historyGo(Nt){throw new Error("Not implemented")}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275prov=(0,t.Yz7)({factory:M,token:pt,providedIn:"root"}),pt})();function M(pt){const an=(0,t.LFG)(h).location;return new J((0,t.LFG)(_),an&&an.origin||"")}const I=new t.OlP("appBaseHref");let J=(()=>{class pt extends U{constructor(Nt,Ce){if(super(),this._platformLocation=Nt,this._removeListenerFns=[],null==Ce&&(Ce=this._platformLocation.getBaseHrefFromDOM()),null==Ce)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=Ce}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Nt){this._removeListenerFns.push(this._platformLocation.onPopState(Nt),this._platformLocation.onHashChange(Nt))}getBaseHref(){return this._baseHref}prepareExternalUrl(Nt){return j(this._baseHref,Nt)}path(Nt=!1){const Ce=this._platformLocation.pathname+z(this._platformLocation.search),ye=this._platformLocation.hash;return ye&&Nt?`${Ce}${ye}`:Ce}pushState(Nt,Ce,ye,Ne){const Wt=this.prepareExternalUrl(ye+z(Ne));this._platformLocation.pushState(Nt,Ce,Wt)}replaceState(Nt,Ce,ye,Ne){const Wt=this.prepareExternalUrl(ye+z(Ne));this._platformLocation.replaceState(Nt,Ce,Wt)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(Nt=0){var Ce,ye;null===(ye=(Ce=this._platformLocation).historyGo)||void 0===ye||ye.call(Ce,Nt)}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(_),t.LFG(I,8))},pt.\u0275prov=t.Yz7({token:pt,factory:pt.\u0275fac}),pt})(),Y=(()=>{class pt extends U{constructor(Nt,Ce){super(),this._platformLocation=Nt,this._baseHref="",this._removeListenerFns=[],null!=Ce&&(this._baseHref=Ce)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Nt){this._removeListenerFns.push(this._platformLocation.onPopState(Nt),this._platformLocation.onHashChange(Nt))}getBaseHref(){return this._baseHref}path(Nt=!1){let Ce=this._platformLocation.hash;return null==Ce&&(Ce="#"),Ce.length>0?Ce.substring(1):Ce}prepareExternalUrl(Nt){const Ce=j(this._baseHref,Nt);return Ce.length>0?"#"+Ce:Ce}pushState(Nt,Ce,ye,Ne){let Wt=this.prepareExternalUrl(ye+z(Ne));0==Wt.length&&(Wt=this._platformLocation.pathname),this._platformLocation.pushState(Nt,Ce,Wt)}replaceState(Nt,Ce,ye,Ne){let Wt=this.prepareExternalUrl(ye+z(Ne));0==Wt.length&&(Wt=this._platformLocation.pathname),this._platformLocation.replaceState(Nt,Ce,Wt)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(Nt=0){var Ce,ye;null===(ye=(Ce=this._platformLocation).historyGo)||void 0===ye||ye.call(Ce,Nt)}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(_),t.LFG(I,8))},pt.\u0275prov=t.Yz7({token:pt,factory:pt.\u0275fac}),pt})(),ie=(()=>{class pt{constructor(Nt,Ce){this._subject=new t.vpe,this._urlChangeListeners=[],this._platformStrategy=Nt;const ye=this._platformStrategy.getBaseHref();this._platformLocation=Ce,this._baseHref=H(ne(ye)),this._platformStrategy.onPopState(Ne=>{this._subject.emit({url:this.path(!0),pop:!0,state:Ne.state,type:Ne.type})})}path(Nt=!1){return this.normalize(this._platformStrategy.path(Nt))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(Nt,Ce=""){return this.path()==this.normalize(Nt+z(Ce))}normalize(Nt){return pt.stripTrailingSlash(function(pt,an){return pt&&an.startsWith(pt)?an.substring(pt.length):an}(this._baseHref,ne(Nt)))}prepareExternalUrl(Nt){return Nt&&"/"!==Nt[0]&&(Nt="/"+Nt),this._platformStrategy.prepareExternalUrl(Nt)}go(Nt,Ce="",ye=null){this._platformStrategy.pushState(ye,"",Nt,Ce),this._notifyUrlChangeListeners(this.prepareExternalUrl(Nt+z(Ce)),ye)}replaceState(Nt,Ce="",ye=null){this._platformStrategy.replaceState(ye,"",Nt,Ce),this._notifyUrlChangeListeners(this.prepareExternalUrl(Nt+z(Ce)),ye)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(Nt=0){var Ce,ye;null===(ye=(Ce=this._platformStrategy).historyGo)||void 0===ye||ye.call(Ce,Nt)}onUrlChange(Nt){this._urlChangeListeners.push(Nt),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(Ce=>{this._notifyUrlChangeListeners(Ce.url,Ce.state)}))}_notifyUrlChangeListeners(Nt="",Ce){this._urlChangeListeners.forEach(ye=>ye(Nt,Ce))}subscribe(Nt,Ce,ye){return this._subject.subscribe({next:Nt,error:Ce,complete:ye})}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(U),t.LFG(_))},pt.normalizeQueryParams=z,pt.joinWithSlash=j,pt.stripTrailingSlash=H,pt.\u0275prov=(0,t.Yz7)({factory:oe,token:pt,providedIn:"root"}),pt})();function oe(){return new ie((0,t.LFG)(U),(0,t.LFG)(_))}function ne(pt){return pt.replace(/\/index.html$/,"")}var ce=(()=>((ce=ce||{})[ce.Decimal=0]="Decimal",ce[ce.Percent=1]="Percent",ce[ce.Currency=2]="Currency",ce[ce.Scientific=3]="Scientific",ce))(),Ae=(()=>((Ae=Ae||{})[Ae.Zero=0]="Zero",Ae[Ae.One=1]="One",Ae[Ae.Two=2]="Two",Ae[Ae.Few=3]="Few",Ae[Ae.Many=4]="Many",Ae[Ae.Other=5]="Other",Ae))(),Me=(()=>((Me=Me||{})[Me.Format=0]="Format",Me[Me.Standalone=1]="Standalone",Me))(),Oe=(()=>((Oe=Oe||{})[Oe.Narrow=0]="Narrow",Oe[Oe.Abbreviated=1]="Abbreviated",Oe[Oe.Wide=2]="Wide",Oe[Oe.Short=3]="Short",Oe))(),be=(()=>((be=be||{})[be.Short=0]="Short",be[be.Medium=1]="Medium",be[be.Long=2]="Long",be[be.Full=3]="Full",be))(),ue=(()=>((ue=ue||{})[ue.Decimal=0]="Decimal",ue[ue.Group=1]="Group",ue[ue.List=2]="List",ue[ue.PercentSign=3]="PercentSign",ue[ue.PlusSign=4]="PlusSign",ue[ue.MinusSign=5]="MinusSign",ue[ue.Exponential=6]="Exponential",ue[ue.SuperscriptingExponent=7]="SuperscriptingExponent",ue[ue.PerMille=8]="PerMille",ue[ue.Infinity=9]="Infinity",ue[ue.NaN=10]="NaN",ue[ue.TimeSeparator=11]="TimeSeparator",ue[ue.CurrencyDecimal=12]="CurrencyDecimal",ue[ue.CurrencyGroup=13]="CurrencyGroup",ue))();function F(pt,an,Nt){const Ce=(0,t.cg1)(pt),Ne=Ht([Ce[t.wAp.DayPeriodsFormat],Ce[t.wAp.DayPeriodsStandalone]],an);return Ht(Ne,Nt)}function je(pt,an,Nt){const Ce=(0,t.cg1)(pt),Ne=Ht([Ce[t.wAp.DaysFormat],Ce[t.wAp.DaysStandalone]],an);return Ht(Ne,Nt)}function Et(pt,an,Nt){const Ce=(0,t.cg1)(pt),Ne=Ht([Ce[t.wAp.MonthsFormat],Ce[t.wAp.MonthsStandalone]],an);return Ht(Ne,Nt)}function At(pt,an){return Ht((0,t.cg1)(pt)[t.wAp.DateFormat],an)}function Qe(pt,an){return Ht((0,t.cg1)(pt)[t.wAp.TimeFormat],an)}function It(pt,an){return Ht((0,t.cg1)(pt)[t.wAp.DateTimeFormat],an)}function ae(pt,an){const Nt=(0,t.cg1)(pt),Ce=Nt[t.wAp.NumberSymbols][an];if(void 0===Ce){if(an===ue.CurrencyDecimal)return Nt[t.wAp.NumberSymbols][ue.Decimal];if(an===ue.CurrencyGroup)return Nt[t.wAp.NumberSymbols][ue.Group]}return Ce}function Ie(pt,an){return(0,t.cg1)(pt)[t.wAp.NumberFormats][an]}const ar=t.kL8;function Ln(pt){if(!pt[t.wAp.ExtraData])throw new Error(`Missing extra locale data for the locale "${pt[t.wAp.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Ht(pt,an){for(let Nt=an;Nt>-1;Nt--)if(void 0!==pt[Nt])return pt[Nt];throw new Error("Locale data API: locale data undefined")}function tr(pt){const[an,Nt]=pt.split(":");return{hours:+an,minutes:+Nt}}const dn=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Kn={},qn=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var Sn=(()=>((Sn=Sn||{})[Sn.Short=0]="Short",Sn[Sn.ShortGMT=1]="ShortGMT",Sn[Sn.Long=2]="Long",Sn[Sn.Extended=3]="Extended",Sn))(),$n=(()=>(($n=$n||{})[$n.FullYear=0]="FullYear",$n[$n.Month=1]="Month",$n[$n.Date=2]="Date",$n[$n.Hours=3]="Hours",$n[$n.Minutes=4]="Minutes",$n[$n.Seconds=5]="Seconds",$n[$n.FractionalSeconds=6]="FractionalSeconds",$n[$n.Day=7]="Day",$n))(),En=(()=>((En=En||{})[En.DayPeriods=0]="DayPeriods",En[En.Days=1]="Days",En[En.Months=2]="Months",En[En.Eras=3]="Eras",En))();function Fn(pt,an,Nt,Ce){let ye=function(pt){if(sn(pt))return pt;if("number"==typeof pt&&!isNaN(pt))return new Date(pt);if("string"==typeof pt){if(pt=pt.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(pt)){const[ye,Ne=1,Wt=1]=pt.split("-").map(Or=>+Or);return Dn(ye,Ne-1,Wt)}const Nt=parseFloat(pt);if(!isNaN(pt-Nt))return new Date(Nt);let Ce;if(Ce=pt.match(dn))return function(pt){const an=new Date(0);let Nt=0,Ce=0;const ye=pt[8]?an.setUTCFullYear:an.setFullYear,Ne=pt[8]?an.setUTCHours:an.setHours;pt[9]&&(Nt=Number(pt[9]+pt[10]),Ce=Number(pt[9]+pt[11])),ye.call(an,Number(pt[1]),Number(pt[2])-1,Number(pt[3]));const Wt=Number(pt[4]||0)-Nt,Or=Number(pt[5]||0)-Ce,Ni=Number(pt[6]||0),Yo=Math.floor(1e3*parseFloat("0."+(pt[7]||0)));return Ne.call(an,Wt,Or,Ni,Yo),an}(Ce)}const an=new Date(pt);if(!sn(an))throw new Error(`Unable to convert "${pt}" into a date`);return an}(pt);an=mn(Nt,an)||an;let Or,Wt=[];for(;an;){if(Or=qn.exec(an),!Or){Wt.push(an);break}{Wt=Wt.concat(Or.slice(1));const ms=Wt.pop();if(!ms)break;an=ms}}let Ni=ye.getTimezoneOffset();Ce&&(Ni=it(Ce,Ni),ye=function(pt,an,Nt){const ye=pt.getTimezoneOffset();return function(pt,an){return(pt=new Date(pt.getTime())).setMinutes(pt.getMinutes()+an),pt}(pt,-1*(it(an,ye)-ye))}(ye,Ce));let Yo="";return Wt.forEach(ms=>{const ss=function(pt){if(nt[pt])return nt[pt];let an;switch(pt){case"G":case"GG":case"GGG":an=yn(En.Eras,Oe.Abbreviated);break;case"GGGG":an=yn(En.Eras,Oe.Wide);break;case"GGGGG":an=yn(En.Eras,Oe.Narrow);break;case"y":an=mt($n.FullYear,1,0,!1,!0);break;case"yy":an=mt($n.FullYear,2,0,!0,!0);break;case"yyy":an=mt($n.FullYear,3,0,!1,!0);break;case"yyyy":an=mt($n.FullYear,4,0,!1,!0);break;case"Y":an=Ue(1);break;case"YY":an=Ue(2,!0);break;case"YYY":an=Ue(3);break;case"YYYY":an=Ue(4);break;case"M":case"L":an=mt($n.Month,1,1);break;case"MM":case"LL":an=mt($n.Month,2,1);break;case"MMM":an=yn(En.Months,Oe.Abbreviated);break;case"MMMM":an=yn(En.Months,Oe.Wide);break;case"MMMMM":an=yn(En.Months,Oe.Narrow);break;case"LLL":an=yn(En.Months,Oe.Abbreviated,Me.Standalone);break;case"LLLL":an=yn(En.Months,Oe.Wide,Me.Standalone);break;case"LLLLL":an=yn(En.Months,Oe.Narrow,Me.Standalone);break;case"w":an=L(1);break;case"ww":an=L(2);break;case"W":an=L(1,!0);break;case"d":an=mt($n.Date,1);break;case"dd":an=mt($n.Date,2);break;case"c":case"cc":an=mt($n.Day,1);break;case"ccc":an=yn(En.Days,Oe.Abbreviated,Me.Standalone);break;case"cccc":an=yn(En.Days,Oe.Wide,Me.Standalone);break;case"ccccc":an=yn(En.Days,Oe.Narrow,Me.Standalone);break;case"cccccc":an=yn(En.Days,Oe.Short,Me.Standalone);break;case"E":case"EE":case"EEE":an=yn(En.Days,Oe.Abbreviated);break;case"EEEE":an=yn(En.Days,Oe.Wide);break;case"EEEEE":an=yn(En.Days,Oe.Narrow);break;case"EEEEEE":an=yn(En.Days,Oe.Short);break;case"a":case"aa":case"aaa":an=yn(En.DayPeriods,Oe.Abbreviated);break;case"aaaa":an=yn(En.DayPeriods,Oe.Wide);break;case"aaaaa":an=yn(En.DayPeriods,Oe.Narrow);break;case"b":case"bb":case"bbb":an=yn(En.DayPeriods,Oe.Abbreviated,Me.Standalone,!0);break;case"bbbb":an=yn(En.DayPeriods,Oe.Wide,Me.Standalone,!0);break;case"bbbbb":an=yn(En.DayPeriods,Oe.Narrow,Me.Standalone,!0);break;case"B":case"BB":case"BBB":an=yn(En.DayPeriods,Oe.Abbreviated,Me.Format,!0);break;case"BBBB":an=yn(En.DayPeriods,Oe.Wide,Me.Format,!0);break;case"BBBBB":an=yn(En.DayPeriods,Oe.Narrow,Me.Format,!0);break;case"h":an=mt($n.Hours,1,-12);break;case"hh":an=mt($n.Hours,2,-12);break;case"H":an=mt($n.Hours,1);break;case"HH":an=mt($n.Hours,2);break;case"m":an=mt($n.Minutes,1);break;case"mm":an=mt($n.Minutes,2);break;case"s":an=mt($n.Seconds,1);break;case"ss":an=mt($n.Seconds,2);break;case"S":an=mt($n.FractionalSeconds,1);break;case"SS":an=mt($n.FractionalSeconds,2);break;case"SSS":an=mt($n.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":an=jt(Sn.Short);break;case"ZZZZZ":an=jt(Sn.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":an=jt(Sn.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":an=jt(Sn.Long);break;default:return null}return nt[pt]=an,an}(ms);Yo+=ss?ss(ye,Nt,Ni):"''"===ms?"'":ms.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),Yo}function Dn(pt,an,Nt){const Ce=new Date(0);return Ce.setFullYear(pt,an,Nt),Ce.setHours(0,0,0),Ce}function mn(pt,an){const Nt=function(pt){return(0,t.cg1)(pt)[t.wAp.LocaleId]}(pt);if(Kn[Nt]=Kn[Nt]||{},Kn[Nt][an])return Kn[Nt][an];let Ce="";switch(an){case"shortDate":Ce=At(pt,be.Short);break;case"mediumDate":Ce=At(pt,be.Medium);break;case"longDate":Ce=At(pt,be.Long);break;case"fullDate":Ce=At(pt,be.Full);break;case"shortTime":Ce=Qe(pt,be.Short);break;case"mediumTime":Ce=Qe(pt,be.Medium);break;case"longTime":Ce=Qe(pt,be.Long);break;case"fullTime":Ce=Qe(pt,be.Full);break;case"short":const ye=mn(pt,"shortTime"),Ne=mn(pt,"shortDate");Ce=jn(It(pt,be.Short),[ye,Ne]);break;case"medium":const Wt=mn(pt,"mediumTime"),Or=mn(pt,"mediumDate");Ce=jn(It(pt,be.Medium),[Wt,Or]);break;case"long":const Ni=mn(pt,"longTime"),Yo=mn(pt,"longDate");Ce=jn(It(pt,be.Long),[Ni,Yo]);break;case"full":const ms=mn(pt,"fullTime"),ss=mn(pt,"fullDate");Ce=jn(It(pt,be.Full),[ms,ss])}return Ce&&(Kn[Nt][an]=Ce),Ce}function jn(pt,an){return an&&(pt=pt.replace(/\{([^}]+)}/g,function(Nt,Ce){return null!=an&&Ce in an?an[Ce]:Nt})),pt}function Xt(pt,an,Nt="-",Ce,ye){let Ne="";(pt<0||ye&&pt<=0)&&(ye?pt=1-pt:(pt=-pt,Ne=Nt));let Wt=String(pt);for(;Wt.length<an;)Wt="0"+Wt;return Ce&&(Wt=Wt.substr(Wt.length-an)),Ne+Wt}function mt(pt,an,Nt=0,Ce=!1,ye=!1){return function(Ne,Wt){let Or=function(pt,an){switch(pt){case $n.FullYear:return an.getFullYear();case $n.Month:return an.getMonth();case $n.Date:return an.getDate();case $n.Hours:return an.getHours();case $n.Minutes:return an.getMinutes();case $n.Seconds:return an.getSeconds();case $n.FractionalSeconds:return an.getMilliseconds();case $n.Day:return an.getDay();default:throw new Error(`Unknown DateType value "${pt}".`)}}(pt,Ne);if((Nt>0||Or>-Nt)&&(Or+=Nt),pt===$n.Hours)0===Or&&-12===Nt&&(Or=12);else if(pt===$n.FractionalSeconds)return function(pt,an){return Xt(pt,3).substr(0,an)}(Or,an);const Ni=ae(Wt,ue.MinusSign);return Xt(Or,an,Ni,Ce,ye)}}function yn(pt,an,Nt=Me.Format,Ce=!1){return function(ye,Ne){return function(pt,an,Nt,Ce,ye,Ne){switch(Nt){case En.Months:return Et(an,ye,Ce)[pt.getMonth()];case En.Days:return je(an,ye,Ce)[pt.getDay()];case En.DayPeriods:const Wt=pt.getHours(),Or=pt.getMinutes();if(Ne){const Yo=function(pt){const an=(0,t.cg1)(pt);return Ln(an),(an[t.wAp.ExtraData][2]||[]).map(Ce=>"string"==typeof Ce?tr(Ce):[tr(Ce[0]),tr(Ce[1])])}(an),ms=function(pt,an,Nt){const Ce=(0,t.cg1)(pt);Ln(Ce);const Ne=Ht([Ce[t.wAp.ExtraData][0],Ce[t.wAp.ExtraData][1]],an)||[];return Ht(Ne,Nt)||[]}(an,ye,Ce),ss=Yo.findIndex(Lo=>{if(Array.isArray(Lo)){const[Zo,Ea]=Lo,ul=Wt>=Zo.hours&&Or>=Zo.minutes,Ma=Wt<Ea.hours||Wt===Ea.hours&&Or<Ea.minutes;if(Zo.hours<Ea.hours){if(ul&&Ma)return!0}else if(ul||Ma)return!0}else if(Lo.hours===Wt&&Lo.minutes===Or)return!0;return!1});if(-1!==ss)return ms[ss]}return F(an,ye,Ce)[Wt<12?0:1];case En.Eras:return function(pt,an){return Ht((0,t.cg1)(pt)[t.wAp.Eras],an)}(an,Ce)[pt.getFullYear()<=0?0:1];default:throw new Error(`unexpected translation type ${Nt}`)}}(ye,Ne,pt,an,Nt,Ce)}}function jt(pt){return function(an,Nt,Ce){const ye=-1*Ce,Ne=ae(Nt,ue.MinusSign),Wt=ye>0?Math.floor(ye/60):Math.ceil(ye/60);switch(pt){case Sn.Short:return(ye>=0?"+":"")+Xt(Wt,2,Ne)+Xt(Math.abs(ye%60),2,Ne);case Sn.ShortGMT:return"GMT"+(ye>=0?"+":"")+Xt(Wt,1,Ne);case Sn.Long:return"GMT"+(ye>=0?"+":"")+Xt(Wt,2,Ne)+":"+Xt(Math.abs(ye%60),2,Ne);case Sn.Extended:return 0===Ce?"Z":(ye>=0?"+":"")+Xt(Wt,2,Ne)+":"+Xt(Math.abs(ye%60),2,Ne);default:throw new Error(`Unknown zone width "${pt}"`)}}}function ht(pt){return Dn(pt.getFullYear(),pt.getMonth(),pt.getDate()+(4-pt.getDay()))}function L(pt,an=!1){return function(Nt,Ce){let ye;if(an){const Ne=new Date(Nt.getFullYear(),Nt.getMonth(),1).getDay()-1,Wt=Nt.getDate();ye=1+Math.floor((Wt+Ne)/7)}else{const Ne=ht(Nt),Wt=function(pt){const an=Dn(pt,0,1).getDay();return Dn(pt,0,1+(an<=4?4:11)-an)}(Ne.getFullYear()),Or=Ne.getTime()-Wt.getTime();ye=1+Math.round(Or/6048e5)}return Xt(ye,pt,ae(Ce,ue.MinusSign))}}function Ue(pt,an=!1){return function(Nt,Ce){return Xt(ht(Nt).getFullYear(),pt,ae(Ce,ue.MinusSign),an)}}const nt={};function it(pt,an){pt=pt.replace(/:/g,"");const Nt=Date.parse("Jan 01, 1970 00:00:00 "+pt)/6e4;return isNaN(Nt)?an:Nt}function sn(pt){return pt instanceof Date&&!isNaN(pt.valueOf())}const An=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Mr(pt,an,Nt,Ce,ye,Ne,Wt=!1){let Or="",Ni=!1;if(isFinite(pt)){let Yo=function(pt){let Ce,ye,Ne,Wt,Or,an=Math.abs(pt)+"",Nt=0;for((ye=an.indexOf("."))>-1&&(an=an.replace(".","")),(Ne=an.search(/e/i))>0?(ye<0&&(ye=Ne),ye+=+an.slice(Ne+1),an=an.substring(0,Ne)):ye<0&&(ye=an.length),Ne=0;"0"===an.charAt(Ne);Ne++);if(Ne===(Or=an.length))Ce=[0],ye=1;else{for(Or--;"0"===an.charAt(Or);)Or--;for(ye-=Ne,Ce=[],Wt=0;Ne<=Or;Ne++,Wt++)Ce[Wt]=Number(an.charAt(Ne))}return ye>22&&(Ce=Ce.splice(0,21),Nt=ye-1,ye=1),{digits:Ce,exponent:Nt,integerLen:ye}}(pt);Wt&&(Yo=function(pt){if(0===pt.digits[0])return pt;const an=pt.digits.length-pt.integerLen;return pt.exponent?pt.exponent+=2:(0===an?pt.digits.push(0,0):1===an&&pt.digits.push(0),pt.integerLen+=2),pt}(Yo));let ms=an.minInt,ss=an.minFrac,Lo=an.maxFrac;if(Ne){const bs=Ne.match(An);if(null===bs)throw new Error(`${Ne} is not a valid digit info`);const $o=bs[1],Ol=bs[3],dl=bs[5];null!=$o&&(ms=se($o)),null!=Ol&&(ss=se(Ol)),null!=dl?Lo=se(dl):null!=Ol&&ss>Lo&&(Lo=ss)}!function(pt,an,Nt){if(an>Nt)throw new Error(`The minimum number of digits after fraction (${an}) is higher than the maximum (${Nt}).`);let Ce=pt.digits,ye=Ce.length-pt.integerLen;const Ne=Math.min(Math.max(an,ye),Nt);let Wt=Ne+pt.integerLen,Or=Ce[Wt];if(Wt>0){Ce.splice(Math.max(pt.integerLen,Wt));for(let ss=Wt;ss<Ce.length;ss++)Ce[ss]=0}else{ye=Math.max(0,ye),pt.integerLen=1,Ce.length=Math.max(1,Wt=Ne+1),Ce[0]=0;for(let ss=1;ss<Wt;ss++)Ce[ss]=0}if(Or>=5)if(Wt-1<0){for(let ss=0;ss>Wt;ss--)Ce.unshift(0),pt.integerLen++;Ce.unshift(1),pt.integerLen++}else Ce[Wt-1]++;for(;ye<Math.max(0,Ne);ye++)Ce.push(0);let Ni=0!==Ne;const Yo=an+pt.integerLen,ms=Ce.reduceRight(function(ss,Lo,Zo,Ea){return Ea[Zo]=(Lo+=ss)<10?Lo:Lo-10,Ni&&(0===Ea[Zo]&&Zo>=Yo?Ea.pop():Ni=!1),Lo>=10?1:0},0);ms&&(Ce.unshift(ms),pt.integerLen++)}(Yo,ss,Lo);let Zo=Yo.digits,Ea=Yo.integerLen;const ul=Yo.exponent;let Ma=[];for(Ni=Zo.every(bs=>!bs);Ea<ms;Ea++)Zo.unshift(0);for(;Ea<0;Ea++)Zo.unshift(0);Ea>0?Ma=Zo.splice(Ea,Zo.length):(Ma=Zo,Zo=[0]);const va=[];for(Zo.length>=an.lgSize&&va.unshift(Zo.splice(-an.lgSize,Zo.length).join(""));Zo.length>an.gSize;)va.unshift(Zo.splice(-an.gSize,Zo.length).join(""));Zo.length&&va.unshift(Zo.join("")),Or=va.join(ae(Nt,Ce)),Ma.length&&(Or+=ae(Nt,ye)+Ma.join("")),ul&&(Or+=ae(Nt,ue.Exponential)+"+"+ul)}else Or=ae(Nt,ue.Infinity);return Or=pt<0&&!Ni?an.negPre+Or+an.negSuf:an.posPre+Or+an.posSuf,Or}function Oi(pt,an="-"){const Nt={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},Ce=pt.split(";"),ye=Ce[0],Ne=Ce[1],Wt=-1!==ye.indexOf(".")?ye.split("."):[ye.substring(0,ye.lastIndexOf("0")+1),ye.substring(ye.lastIndexOf("0")+1)],Or=Wt[0],Ni=Wt[1]||"";Nt.posPre=Or.substr(0,Or.indexOf("#"));for(let ms=0;ms<Ni.length;ms++){const ss=Ni.charAt(ms);"0"===ss?Nt.minFrac=Nt.maxFrac=ms+1:"#"===ss?Nt.maxFrac=ms+1:Nt.posSuf+=ss}const Yo=Or.split(",");if(Nt.gSize=Yo[1]?Yo[1].length:0,Nt.lgSize=Yo[2]||Yo[1]?(Yo[2]||Yo[1]).length:0,Ne){const ms=ye.length-Nt.posPre.length-Nt.posSuf.length,ss=Ne.indexOf("#");Nt.negPre=Ne.substr(0,ss).replace(/'/g,""),Nt.negSuf=Ne.substr(ss+ms).replace(/'/g,"")}else Nt.negPre=an+Nt.posPre,Nt.negSuf=Nt.posSuf;return Nt}function se(pt){const an=parseInt(pt);if(isNaN(an))throw new Error("Invalid integer literal when parsing "+pt);return an}class ct{}let Xe=(()=>{class pt extends ct{constructor(Nt){super(),this.locale=Nt}getPluralCategory(Nt,Ce){switch(ar(Ce||this.locale)(Nt)){case Ae.Zero:return"zero";case Ae.One:return"one";case Ae.Two:return"two";case Ae.Few:return"few";case Ae.Many:return"many";default:return"other"}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.LFG(t.soG))},pt.\u0275prov=t.Yz7({token:pt,factory:pt.\u0275fac}),pt})();function Ct(pt,an){an=encodeURIComponent(an);for(const Nt of pt.split(";")){const Ce=Nt.indexOf("="),[ye,Ne]=-1==Ce?[Nt,""]:[Nt.slice(0,Ce),Nt.slice(Ce+1)];if(ye.trim()===an)return decodeURIComponent(Ne)}return null}let rt=(()=>{class pt{constructor(Nt,Ce,ye,Ne){this._iterableDiffers=Nt,this._keyValueDiffers=Ce,this._ngEl=ye,this._renderer=Ne,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(Nt){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof Nt?Nt.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(Nt){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof Nt?Nt.split(/\s+/):Nt,this._rawClass&&((0,t.sIi)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const Nt=this._iterableDiffer.diff(this._rawClass);Nt&&this._applyIterableChanges(Nt)}else if(this._keyValueDiffer){const Nt=this._keyValueDiffer.diff(this._rawClass);Nt&&this._applyKeyValueChanges(Nt)}}_applyKeyValueChanges(Nt){Nt.forEachAddedItem(Ce=>this._toggleClass(Ce.key,Ce.currentValue)),Nt.forEachChangedItem(Ce=>this._toggleClass(Ce.key,Ce.currentValue)),Nt.forEachRemovedItem(Ce=>{Ce.previousValue&&this._toggleClass(Ce.key,!1)})}_applyIterableChanges(Nt){Nt.forEachAddedItem(Ce=>{if("string"!=typeof Ce.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${(0,t.AaK)(Ce.item)}`);this._toggleClass(Ce.item,!0)}),Nt.forEachRemovedItem(Ce=>this._toggleClass(Ce.item,!1))}_applyClasses(Nt){Nt&&(Array.isArray(Nt)||Nt instanceof Set?Nt.forEach(Ce=>this._toggleClass(Ce,!0)):Object.keys(Nt).forEach(Ce=>this._toggleClass(Ce,!!Nt[Ce])))}_removeClasses(Nt){Nt&&(Array.isArray(Nt)||Nt instanceof Set?Nt.forEach(Ce=>this._toggleClass(Ce,!1)):Object.keys(Nt).forEach(Ce=>this._toggleClass(Ce,!1)))}_toggleClass(Nt,Ce){(Nt=Nt.trim())&&Nt.split(/\s+/g).forEach(ye=>{Ce?this._renderer.addClass(this._ngEl.nativeElement,ye):this._renderer.removeClass(this._ngEl.nativeElement,ye)})}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.ZZ4),t.Y36(t.aQg),t.Y36(t.SBq),t.Y36(t.Qsj))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),pt})();class We{constructor(an,Nt,Ce,ye){this.$implicit=an,this.ngForOf=Nt,this.index=Ce,this.count=ye}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let $t=(()=>{class pt{constructor(Nt,Ce,ye){this._viewContainer=Nt,this._template=Ce,this._differs=ye,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(Nt){this._ngForOf=Nt,this._ngForOfDirty=!0}set ngForTrackBy(Nt){this._trackByFn=Nt}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(Nt){Nt&&(this._template=Nt)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const Nt=this._ngForOf;if(!this._differ&&Nt)try{this._differ=this._differs.find(Nt).create(this.ngForTrackBy)}catch(Ce){throw new Error(`Cannot find a differ supporting object '${Nt}' of type '${function(pt){return pt.name||typeof pt}(Nt)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const Nt=this._differ.diff(this._ngForOf);Nt&&this._applyChanges(Nt)}}_applyChanges(Nt){const Ce=[];Nt.forEachOperation((ye,Ne,Wt)=>{if(null==ye.previousIndex){const Or=this._viewContainer.createEmbeddedView(this._template,new We(null,this._ngForOf,-1,-1),null===Wt?void 0:Wt),Ni=new or(ye,Or);Ce.push(Ni)}else if(null==Wt)this._viewContainer.remove(null===Ne?void 0:Ne);else if(null!==Ne){const Or=this._viewContainer.get(Ne);this._viewContainer.move(Or,Wt);const Ni=new or(ye,Or);Ce.push(Ni)}});for(let ye=0;ye<Ce.length;ye++)this._perViewChange(Ce[ye].view,Ce[ye].record);for(let ye=0,Ne=this._viewContainer.length;ye<Ne;ye++){const Wt=this._viewContainer.get(ye);Wt.context.index=ye,Wt.context.count=Ne,Wt.context.ngForOf=this._ngForOf}Nt.forEachIdentityChange(ye=>{this._viewContainer.get(ye.currentIndex).context.$implicit=ye.item})}_perViewChange(Nt,Ce){Nt.context.$implicit=Ce.item}static ngTemplateContextGuard(Nt,Ce){return!0}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b),t.Y36(t.Rgc),t.Y36(t.ZZ4))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),pt})();class or{constructor(an,Nt){this.record=an,this.view=Nt}}let Vr=(()=>{class pt{constructor(Nt,Ce){this._viewContainer=Nt,this._context=new Cr,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=Ce}set ngIf(Nt){this._context.$implicit=this._context.ngIf=Nt,this._updateView()}set ngIfThen(Nt){ai("ngIfThen",Nt),this._thenTemplateRef=Nt,this._thenViewRef=null,this._updateView()}set ngIfElse(Nt){ai("ngIfElse",Nt),this._elseTemplateRef=Nt,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(Nt,Ce){return!0}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b),t.Y36(t.Rgc))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),pt})();class Cr{constructor(){this.$implicit=null,this.ngIf=null}}function ai(pt,an){if(an&&!an.createEmbeddedView)throw new Error(`${pt} must be a TemplateRef, but received '${(0,t.AaK)(an)}'.`)}class Dr{constructor(an,Nt){this._viewContainerRef=an,this._templateRef=Nt,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(an){an&&!this._created?this.create():!an&&this._created&&this.destroy()}}let Qr=(()=>{class pt{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(Nt){this._ngSwitch=Nt,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(Nt){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(Nt)}_matchCase(Nt){const Ce=Nt==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||Ce,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),Ce}_updateDefaultCases(Nt){if(this._defaultViews&&Nt!==this._defaultUsed){this._defaultUsed=Nt;for(let Ce=0;Ce<this._defaultViews.length;Ce++)this._defaultViews[Ce].enforceState(Nt)}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"}}),pt})(),rn=(()=>{class pt{constructor(Nt,Ce,ye){this.ngSwitch=ye,ye._addCase(),this._view=new Dr(Nt,Ce)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b),t.Y36(t.Rgc),t.Y36(Qr,9))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),pt})(),fi=(()=>{class pt{constructor(Nt,Ce,ye){ye._addDefault(new Dr(Nt,Ce))}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b),t.Y36(t.Rgc),t.Y36(Qr,9))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngSwitchDefault",""]]}),pt})(),Fi=(()=>{class pt{constructor(Nt,Ce,ye){this._ngEl=Nt,this._differs=Ce,this._renderer=ye,this._ngStyle=null,this._differ=null}set ngStyle(Nt){this._ngStyle=Nt,!this._differ&&Nt&&(this._differ=this._differs.find(Nt).create())}ngDoCheck(){if(this._differ){const Nt=this._differ.diff(this._ngStyle);Nt&&this._applyChanges(Nt)}}_setStyle(Nt,Ce){const[ye,Ne]=Nt.split(".");null!=(Ce=null!=Ce&&Ne?`${Ce}${Ne}`:Ce)?this._renderer.setStyle(this._ngEl.nativeElement,ye,Ce):this._renderer.removeStyle(this._ngEl.nativeElement,ye)}_applyChanges(Nt){Nt.forEachRemovedItem(Ce=>this._setStyle(Ce.key,null)),Nt.forEachAddedItem(Ce=>this._setStyle(Ce.key,Ce.currentValue)),Nt.forEachChangedItem(Ce=>this._setStyle(Ce.key,Ce.currentValue))}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.SBq),t.Y36(t.aQg),t.Y36(t.Qsj))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),pt})(),no=(()=>{class pt{constructor(Nt){this._viewContainerRef=Nt,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(Nt){if(Nt.ngTemplateOutlet){const Ce=this._viewContainerRef;this._viewRef&&Ce.remove(Ce.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?Ce.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&Nt.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.s_b))},pt.\u0275dir=t.lG2({type:pt,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[t.TTD]}),pt})();function qi(pt,an){return Error(`InvalidPipeArgument: '${an}' for pipe '${(0,t.AaK)(pt)}'`)}class to{createSubscription(an,Nt){return an.subscribe({next:Nt,error:Ce=>{throw Ce}})}dispose(an){an.unsubscribe()}onDestroy(an){an.unsubscribe()}}class zi{createSubscription(an,Nt){return an.then(Nt,Ce=>{throw Ce})}dispose(an){}onDestroy(an){}}const Go=new zi,Ro=new to;let Bo=(()=>{class pt{constructor(Nt){this._ref=Nt,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(Nt){return this._obj?Nt!==this._obj?(this._dispose(),this.transform(Nt)):this._latestValue:(Nt&&this._subscribe(Nt),this._latestValue)}_subscribe(Nt){this._obj=Nt,this._strategy=this._selectStrategy(Nt),this._subscription=this._strategy.createSubscription(Nt,Ce=>this._updateLatestValue(Nt,Ce))}_selectStrategy(Nt){if((0,t.QGY)(Nt))return Go;if((0,t.F4k)(Nt))return Ro;throw qi(pt,Nt)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(Nt,Ce){Nt===this._obj&&(this._latestValue=Ce,this._ref.markForCheck())}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.sBO,16))},pt.\u0275pipe=t.Yjl({name:"async",type:pt,pure:!1}),pt})(),Jo=(()=>{class pt{transform(Nt){if(null==Nt)return null;if("string"!=typeof Nt)throw qi(pt,Nt);return Nt.toLowerCase()}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275pipe=t.Yjl({name:"lowercase",type:pt,pure:!0}),pt})();const es=/(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])\S*/g;let ua=(()=>{class pt{transform(Nt){if(null==Nt)return null;if("string"!=typeof Nt)throw qi(pt,Nt);return Nt.replace(es,Ce=>Ce[0].toUpperCase()+Ce.substr(1).toLowerCase())}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275pipe=t.Yjl({name:"titlecase",type:pt,pure:!0}),pt})(),ds=(()=>{class pt{transform(Nt){if(null==Nt)return null;if("string"!=typeof Nt)throw qi(pt,Nt);return Nt.toUpperCase()}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275pipe=t.Yjl({name:"uppercase",type:pt,pure:!0}),pt})(),zo=(()=>{class pt{constructor(Nt){this.locale=Nt}transform(Nt,Ce="mediumDate",ye,Ne){if(null==Nt||""===Nt||Nt!=Nt)return null;try{return Fn(Nt,Ce,Ne||this.locale,ye)}catch(Wt){throw qi(pt,Wt.message)}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.soG,16))},pt.\u0275pipe=t.Yjl({name:"date",type:pt,pure:!0}),pt})();const oa=/#/g;let Er=(()=>{class pt{constructor(Nt){this._localization=Nt}transform(Nt,Ce,ye){if(null==Nt)return"";if("object"!=typeof Ce||null===Ce)throw qi(pt,Ce);return Ce[function(pt,an,Nt,Ce){let ye=`=${pt}`;if(an.indexOf(ye)>-1||(ye=Nt.getPluralCategory(pt,Ce),an.indexOf(ye)>-1))return ye;if(an.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${pt}"`)}(Nt,Object.keys(Ce),this._localization,ye)].replace(oa,Nt.toString())}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(ct,16))},pt.\u0275pipe=t.Yjl({name:"i18nPlural",type:pt,pure:!0}),pt})(),pn=(()=>{class pt{transform(Nt){return JSON.stringify(Nt,null,2)}}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275pipe=t.Yjl({name:"json",type:pt,pure:!1}),pt})(),Ve=(()=>{class pt{constructor(Nt){this.differs=Nt,this.keyValues=[],this.compareFn=fn}transform(Nt,Ce=fn){if(!Nt||!(Nt instanceof Map)&&"object"!=typeof Nt)return null;this.differ||(this.differ=this.differs.find(Nt).create());const ye=this.differ.diff(Nt),Ne=Ce!==this.compareFn;return ye&&(this.keyValues=[],ye.forEachItem(Wt=>{this.keyValues.push(function(pt,an){return{key:pt,value:an}}(Wt.key,Wt.currentValue))})),(ye||Ne)&&(this.keyValues.sort(Ce),this.compareFn=Ce),this.keyValues}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.aQg,16))},pt.\u0275pipe=t.Yjl({name:"keyvalue",type:pt,pure:!1}),pt})();function fn(pt,an){const Nt=pt.key,Ce=an.key;if(Nt===Ce)return 0;if(void 0===Nt)return 1;if(void 0===Ce)return-1;if(null===Nt)return 1;if(null===Ce)return-1;if("string"==typeof Nt&&"string"==typeof Ce)return Nt<Ce?-1:1;if("number"==typeof Nt&&"number"==typeof Ce)return Nt-Ce;if("boolean"==typeof Nt&&"boolean"==typeof Ce)return Nt<Ce?-1:1;const ye=String(Nt),Ne=String(Ce);return ye==Ne?0:ye<Ne?-1:1}let Tn=(()=>{class pt{constructor(Nt){this._locale=Nt}transform(Nt,Ce,ye){if(!Ri(Nt))return null;ye=ye||this._locale;try{return function(pt,an,Nt){return Mr(pt,Oi(Ie(an,ce.Decimal),ae(an,ue.MinusSign)),an,ue.Group,ue.Decimal,Nt)}(Do(Nt),ye,Ce)}catch(Ne){throw qi(pt,Ne.message)}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.soG,16))},pt.\u0275pipe=t.Yjl({name:"number",type:pt,pure:!0}),pt})(),$r=(()=>{class pt{constructor(Nt){this._locale=Nt}transform(Nt,Ce,ye){if(!Ri(Nt))return null;ye=ye||this._locale;try{return function(pt,an,Nt){return Mr(pt,Oi(Ie(an,ce.Percent),ae(an,ue.MinusSign)),an,ue.Group,ue.Decimal,Nt,!0).replace(new RegExp("%","g"),ae(an,ue.PercentSign))}(Do(Nt),ye,Ce)}catch(Ne){throw qi(pt,Ne.message)}}}return pt.\u0275fac=function(Nt){return new(Nt||pt)(t.Y36(t.soG,16))},pt.\u0275pipe=t.Yjl({name:"percent",type:pt,pure:!0}),pt})();function Ri(pt){return!(null==pt||""===pt||pt!=pt)}function Do(pt){if("string"==typeof pt&&!isNaN(Number(pt)-parseFloat(pt)))return Number(pt);if("number"!=typeof pt)throw new Error(`${pt} is not a number`);return pt}let Li=(()=>{class pt{}return pt.\u0275fac=function(Nt){return new(Nt||pt)},pt.\u0275mod=t.oAB({type:pt}),pt.\u0275inj=t.cJS({providers:[{provide:ct,useClass:Xe}]}),pt})();const cs="browser";function Ra(pt){return pt===cs}let Fo=(()=>{class pt{}return pt.\u0275prov=(0,t.Yz7)({token:pt,providedIn:"root",factory:()=>new Ka((0,t.LFG)(h),window)}),pt})();class Ka{constructor(an,Nt){this.document=an,this.window=Nt,this.offset=()=>[0,0]}setOffset(an){this.offset=Array.isArray(an)?()=>an:an}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(an){this.supportsScrolling()&&this.window.scrollTo(an[0],an[1])}scrollToAnchor(an){if(!this.supportsScrolling())return;const Nt=function(pt,an){const Nt=pt.getElementById(an)||pt.getElementsByName(an)[0];if(Nt)return Nt;if("function"==typeof pt.createTreeWalker&&pt.body&&(pt.body.createShadowRoot||pt.body.attachShadow)){const Ce=pt.createTreeWalker(pt.body,NodeFilter.SHOW_ELEMENT);let ye=Ce.currentNode;for(;ye;){const Ne=ye.shadowRoot;if(Ne){const Wt=Ne.getElementById(an)||Ne.querySelector(`[name="${an}"]`);if(Wt)return Wt}ye=Ce.nextNode()}}return null}(this.document,an);Nt&&(this.scrollToElement(Nt),this.attemptFocus(Nt))}setHistoryScrollRestoration(an){if(this.supportScrollRestoration()){const Nt=this.window.history;Nt&&Nt.scrollRestoration&&(Nt.scrollRestoration=an)}}scrollToElement(an){const Nt=an.getBoundingClientRect(),Ce=Nt.left+this.window.pageXOffset,ye=Nt.top+this.window.pageYOffset,Ne=this.offset();this.window.scrollTo(Ce-Ne[0],ye-Ne[1])}attemptFocus(an){return an.focus(),this.document.activeElement===an}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const an=Sa(this.window.history)||Sa(Object.getPrototypeOf(this.window.history));return!(!an||!an.writable&&!an.set)}catch(an){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(an){return!1}}}function Sa(pt){return Object.getOwnPropertyDescriptor(pt,"scrollRestoration")}class Ua{}},58497:(Ge,g,o)=>{"use strict";o.d(g,{TP:()=>$e,eN:()=>ue,JF:()=>Ht,UA:()=>Oe,LE:()=>U});var t=o(12057),e=o(74788),s=o(25917),a=o(18891),l=o(94612),u=o(45435),h=o(88002);class _{}class m{}class b{constructor(Kt){this.normalizedNames=new Map,this.lazyUpdate=null,Kt?this.lazyInit="string"==typeof Kt?()=>{this.headers=new Map,Kt.split("\n").forEach(dn=>{const Kn=dn.indexOf(":");if(Kn>0){const qn=dn.slice(0,Kn),Sn=qn.toLowerCase(),$n=dn.slice(Kn+1).trim();this.maybeSetNormalizedName(qn,Sn),this.headers.has(Sn)?this.headers.get(Sn).push($n):this.headers.set(Sn,[$n])}})}:()=>{this.headers=new Map,Object.keys(Kt).forEach(dn=>{let Kn=Kt[dn];const qn=dn.toLowerCase();"string"==typeof Kn&&(Kn=[Kn]),Kn.length>0&&(this.headers.set(qn,Kn),this.maybeSetNormalizedName(dn,qn))})}:this.headers=new Map}has(Kt){return this.init(),this.headers.has(Kt.toLowerCase())}get(Kt){this.init();const dn=this.headers.get(Kt.toLowerCase());return dn&&dn.length>0?dn[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(Kt){return this.init(),this.headers.get(Kt.toLowerCase())||null}append(Kt,dn){return this.clone({name:Kt,value:dn,op:"a"})}set(Kt,dn){return this.clone({name:Kt,value:dn,op:"s"})}delete(Kt,dn){return this.clone({name:Kt,value:dn,op:"d"})}maybeSetNormalizedName(Kt,dn){this.normalizedNames.has(dn)||this.normalizedNames.set(dn,Kt)}init(){this.lazyInit&&(this.lazyInit instanceof b?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(Kt=>this.applyUpdate(Kt)),this.lazyUpdate=null))}copyFrom(Kt){Kt.init(),Array.from(Kt.headers.keys()).forEach(dn=>{this.headers.set(dn,Kt.headers.get(dn)),this.normalizedNames.set(dn,Kt.normalizedNames.get(dn))})}clone(Kt){const dn=new b;return dn.lazyInit=this.lazyInit&&this.lazyInit instanceof b?this.lazyInit:this,dn.lazyUpdate=(this.lazyUpdate||[]).concat([Kt]),dn}applyUpdate(Kt){const dn=Kt.name.toLowerCase();switch(Kt.op){case"a":case"s":let Kn=Kt.value;if("string"==typeof Kn&&(Kn=[Kn]),0===Kn.length)return;this.maybeSetNormalizedName(Kt.name,dn);const qn=("a"===Kt.op?this.headers.get(dn):void 0)||[];qn.push(...Kn),this.headers.set(dn,qn);break;case"d":const Sn=Kt.value;if(Sn){let $n=this.headers.get(dn);if(!$n)return;$n=$n.filter(En=>-1===Sn.indexOf(En)),0===$n.length?(this.headers.delete(dn),this.normalizedNames.delete(dn)):this.headers.set(dn,$n)}else this.headers.delete(dn),this.normalizedNames.delete(dn)}}forEach(Kt){this.init(),Array.from(this.normalizedNames.keys()).forEach(dn=>Kt(this.normalizedNames.get(dn),this.headers.get(dn)))}}class C{encodeKey(Kt){return H(Kt)}encodeValue(Kt){return H(Kt)}decodeKey(Kt){return decodeURIComponent(Kt)}decodeValue(Kt){return decodeURIComponent(Kt)}}const x=/%(\d[a-f0-9])/gi,j={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function H(Cn){return encodeURIComponent(Cn).replace(x,(Kt,dn)=>{var Kn;return null!==(Kn=j[dn])&&void 0!==Kn?Kn:Kt})}function z(Cn){return`${Cn}`}class U{constructor(Kt={}){if(this.updates=null,this.cloneFrom=null,this.encoder=Kt.encoder||new C,Kt.fromString){if(Kt.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(Cn,Kt){const dn=new Map;return Cn.length>0&&Cn.replace(/^\?/,"").split("&").forEach(qn=>{const Sn=qn.indexOf("="),[$n,En]=-1==Sn?[Kt.decodeKey(qn),""]:[Kt.decodeKey(qn.slice(0,Sn)),Kt.decodeValue(qn.slice(Sn+1))],Fn=dn.get($n)||[];Fn.push(En),dn.set($n,Fn)}),dn}(Kt.fromString,this.encoder)}else Kt.fromObject?(this.map=new Map,Object.keys(Kt.fromObject).forEach(dn=>{const Kn=Kt.fromObject[dn];this.map.set(dn,Array.isArray(Kn)?Kn:[Kn])})):this.map=null}has(Kt){return this.init(),this.map.has(Kt)}get(Kt){this.init();const dn=this.map.get(Kt);return dn?dn[0]:null}getAll(Kt){return this.init(),this.map.get(Kt)||null}keys(){return this.init(),Array.from(this.map.keys())}append(Kt,dn){return this.clone({param:Kt,value:dn,op:"a"})}appendAll(Kt){const dn=[];return Object.keys(Kt).forEach(Kn=>{const qn=Kt[Kn];Array.isArray(qn)?qn.forEach(Sn=>{dn.push({param:Kn,value:Sn,op:"a"})}):dn.push({param:Kn,value:qn,op:"a"})}),this.clone(dn)}set(Kt,dn){return this.clone({param:Kt,value:dn,op:"s"})}delete(Kt,dn){return this.clone({param:Kt,value:dn,op:"d"})}toString(){return this.init(),this.keys().map(Kt=>{const dn=this.encoder.encodeKey(Kt);return this.map.get(Kt).map(Kn=>dn+"="+this.encoder.encodeValue(Kn)).join("&")}).filter(Kt=>""!==Kt).join("&")}clone(Kt){const dn=new U({encoder:this.encoder});return dn.cloneFrom=this.cloneFrom||this,dn.updates=(this.updates||[]).concat(Kt),dn}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(Kt=>this.map.set(Kt,this.cloneFrom.map.get(Kt))),this.updates.forEach(Kt=>{switch(Kt.op){case"a":case"s":const dn=("a"===Kt.op?this.map.get(Kt.param):void 0)||[];dn.push(z(Kt.value)),this.map.set(Kt.param,dn);break;case"d":if(void 0===Kt.value){this.map.delete(Kt.param);break}{let Kn=this.map.get(Kt.param)||[];const qn=Kn.indexOf(z(Kt.value));-1!==qn&&Kn.splice(qn,1),Kn.length>0?this.map.set(Kt.param,Kn):this.map.delete(Kt.param)}}}),this.cloneFrom=this.updates=null)}}class I{constructor(){this.map=new Map}set(Kt,dn){return this.map.set(Kt,dn),this}get(Kt){return this.map.has(Kt)||this.map.set(Kt,Kt.defaultValue()),this.map.get(Kt)}delete(Kt){return this.map.delete(Kt),this}keys(){return this.map.keys()}}function Y(Cn){return"undefined"!=typeof ArrayBuffer&&Cn instanceof ArrayBuffer}function ie(Cn){return"undefined"!=typeof Blob&&Cn instanceof Blob}function oe(Cn){return"undefined"!=typeof FormData&&Cn instanceof FormData}class ne{constructor(Kt,dn,Kn,qn){let Sn;if(this.url=dn,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=Kt.toUpperCase(),function(Cn){switch(Cn){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||qn?(this.body=void 0!==Kn?Kn:null,Sn=qn):Sn=Kn,Sn&&(this.reportProgress=!!Sn.reportProgress,this.withCredentials=!!Sn.withCredentials,Sn.responseType&&(this.responseType=Sn.responseType),Sn.headers&&(this.headers=Sn.headers),Sn.context&&(this.context=Sn.context),Sn.params&&(this.params=Sn.params)),this.headers||(this.headers=new b),this.context||(this.context=new I),this.params){const $n=this.params.toString();if(0===$n.length)this.urlWithParams=dn;else{const En=dn.indexOf("?");this.urlWithParams=dn+(-1===En?"?":En<dn.length-1?"&":"")+$n}}else this.params=new U,this.urlWithParams=dn}serializeBody(){return null===this.body?null:Y(this.body)||ie(this.body)||oe(this.body)||"undefined"!=typeof URLSearchParams&&this.body instanceof URLSearchParams||"string"==typeof this.body?this.body:this.body instanceof U?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||oe(this.body)?null:ie(this.body)?this.body.type||null:Y(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof U?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(Kt={}){var dn;const Kn=Kt.method||this.method,qn=Kt.url||this.url,Sn=Kt.responseType||this.responseType,$n=void 0!==Kt.body?Kt.body:this.body,En=void 0!==Kt.withCredentials?Kt.withCredentials:this.withCredentials,Fn=void 0!==Kt.reportProgress?Kt.reportProgress:this.reportProgress;let Dn=Kt.headers||this.headers,mn=Kt.params||this.params;const jn=null!==(dn=Kt.context)&&void 0!==dn?dn:this.context;return void 0!==Kt.setHeaders&&(Dn=Object.keys(Kt.setHeaders).reduce((Xt,ut)=>Xt.set(ut,Kt.setHeaders[ut]),Dn)),Kt.setParams&&(mn=Object.keys(Kt.setParams).reduce((Xt,ut)=>Xt.set(ut,Kt.setParams[ut]),mn)),new ne(Kn,qn,$n,{params:mn,headers:Dn,context:jn,reportProgress:Fn,responseType:Sn,withCredentials:En})}}var he=(()=>((he=he||{})[he.Sent=0]="Sent",he[he.UploadProgress=1]="UploadProgress",he[he.ResponseHeader=2]="ResponseHeader",he[he.DownloadProgress=3]="DownloadProgress",he[he.Response=4]="Response",he[he.User=5]="User",he))();class ce{constructor(Kt,dn=200,Kn="OK"){this.headers=Kt.headers||new b,this.status=void 0!==Kt.status?Kt.status:dn,this.statusText=Kt.statusText||Kn,this.url=Kt.url||null,this.ok=this.status>=200&&this.status<300}}class Ae extends ce{constructor(Kt={}){super(Kt),this.type=he.ResponseHeader}clone(Kt={}){return new Ae({headers:Kt.headers||this.headers,status:void 0!==Kt.status?Kt.status:this.status,statusText:Kt.statusText||this.statusText,url:Kt.url||this.url||void 0})}}class Me extends ce{constructor(Kt={}){super(Kt),this.type=he.Response,this.body=void 0!==Kt.body?Kt.body:null}clone(Kt={}){return new Me({body:void 0!==Kt.body?Kt.body:this.body,headers:Kt.headers||this.headers,status:void 0!==Kt.status?Kt.status:this.status,statusText:Kt.statusText||this.statusText,url:Kt.url||this.url||void 0})}}class Oe extends ce{constructor(Kt){super(Kt,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${Kt.url||"(unknown url)"}`:`Http failure response for ${Kt.url||"(unknown url)"}: ${Kt.status} ${Kt.statusText}`,this.error=Kt.error||null}}function be(Cn,Kt){return{body:Kt,headers:Cn.headers,context:Cn.context,observe:Cn.observe,params:Cn.params,reportProgress:Cn.reportProgress,responseType:Cn.responseType,withCredentials:Cn.withCredentials}}let ue=(()=>{class Cn{constructor(dn){this.handler=dn}request(dn,Kn,qn={}){let Sn;if(dn instanceof ne)Sn=dn;else{let Fn,Dn;Fn=qn.headers instanceof b?qn.headers:new b(qn.headers),qn.params&&(Dn=qn.params instanceof U?qn.params:new U({fromObject:qn.params})),Sn=new ne(dn,Kn,void 0!==qn.body?qn.body:null,{headers:Fn,context:qn.context,params:Dn,reportProgress:qn.reportProgress,responseType:qn.responseType||"json",withCredentials:qn.withCredentials})}const $n=(0,s.of)(Sn).pipe((0,l.b)(Fn=>this.handler.handle(Fn)));if(dn instanceof ne||"events"===qn.observe)return $n;const En=$n.pipe((0,u.h)(Fn=>Fn instanceof Me));switch(qn.observe||"body"){case"body":switch(Sn.responseType){case"arraybuffer":return En.pipe((0,h.U)(Fn=>{if(null!==Fn.body&&!(Fn.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return Fn.body}));case"blob":return En.pipe((0,h.U)(Fn=>{if(null!==Fn.body&&!(Fn.body instanceof Blob))throw new Error("Response is not a Blob.");return Fn.body}));case"text":return En.pipe((0,h.U)(Fn=>{if(null!==Fn.body&&"string"!=typeof Fn.body)throw new Error("Response is not a string.");return Fn.body}));case"json":default:return En.pipe((0,h.U)(Fn=>Fn.body))}case"response":return En;default:throw new Error(`Unreachable: unhandled observe type ${qn.observe}}`)}}delete(dn,Kn={}){return this.request("DELETE",dn,Kn)}get(dn,Kn={}){return this.request("GET",dn,Kn)}head(dn,Kn={}){return this.request("HEAD",dn,Kn)}jsonp(dn,Kn){return this.request("JSONP",dn,{params:(new U).append(Kn,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(dn,Kn={}){return this.request("OPTIONS",dn,Kn)}patch(dn,Kn,qn={}){return this.request("PATCH",dn,be(qn,Kn))}post(dn,Kn,qn={}){return this.request("POST",dn,be(qn,Kn))}put(dn,Kn,qn={}){return this.request("PUT",dn,be(qn,Kn))}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(_))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})();class He{constructor(Kt,dn){this.next=Kt,this.interceptor=dn}handle(Kt){return this.interceptor.intercept(Kt,this.next)}}const $e=new e.OlP("HTTP_INTERCEPTORS");let F=(()=>{class Cn{intercept(dn,Kn){return Kn.handle(dn)}}return Cn.\u0275fac=function(dn){return new(dn||Cn)},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})();const It=/^\)\]\}',?\n/;let Ie=(()=>{class Cn{constructor(dn){this.xhrFactory=dn}handle(dn){if("JSONP"===dn.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new a.y(Kn=>{const qn=this.xhrFactory.build();if(qn.open(dn.method,dn.urlWithParams),dn.withCredentials&&(qn.withCredentials=!0),dn.headers.forEach((ut,mt)=>qn.setRequestHeader(ut,mt.join(","))),dn.headers.has("Accept")||qn.setRequestHeader("Accept","application/json, text/plain, */*"),!dn.headers.has("Content-Type")){const ut=dn.detectContentTypeHeader();null!==ut&&qn.setRequestHeader("Content-Type",ut)}if(dn.responseType){const ut=dn.responseType.toLowerCase();qn.responseType="json"!==ut?ut:"text"}const Sn=dn.serializeBody();let $n=null;const En=()=>{if(null!==$n)return $n;const ut=1223===qn.status?204:qn.status,mt=qn.statusText||"OK",Tt=new b(qn.getAllResponseHeaders()),yn=function(Cn){return"responseURL"in Cn&&Cn.responseURL?Cn.responseURL:/^X-Request-URL:/m.test(Cn.getAllResponseHeaders())?Cn.getResponseHeader("X-Request-URL"):null}(qn)||dn.url;return $n=new Ae({headers:Tt,status:ut,statusText:mt,url:yn}),$n},Fn=()=>{let{headers:ut,status:mt,statusText:Tt,url:yn}=En(),et=null;204!==mt&&(et=void 0===qn.response?qn.responseText:qn.response),0===mt&&(mt=et?200:0);let jt=mt>=200&&mt<300;if("json"===dn.responseType&&"string"==typeof et){const hn=et;et=et.replace(It,"");try{et=""!==et?JSON.parse(et):null}catch(Qn){et=hn,jt&&(jt=!1,et={error:Qn,text:et})}}jt?(Kn.next(new Me({body:et,headers:ut,status:mt,statusText:Tt,url:yn||void 0})),Kn.complete()):Kn.error(new Oe({error:et,headers:ut,status:mt,statusText:Tt,url:yn||void 0}))},Dn=ut=>{const{url:mt}=En(),Tt=new Oe({error:ut,status:qn.status||0,statusText:qn.statusText||"Unknown Error",url:mt||void 0});Kn.error(Tt)};let mn=!1;const jn=ut=>{mn||(Kn.next(En()),mn=!0);let mt={type:he.DownloadProgress,loaded:ut.loaded};ut.lengthComputable&&(mt.total=ut.total),"text"===dn.responseType&&!!qn.responseText&&(mt.partialText=qn.responseText),Kn.next(mt)},Xt=ut=>{let mt={type:he.UploadProgress,loaded:ut.loaded};ut.lengthComputable&&(mt.total=ut.total),Kn.next(mt)};return qn.addEventListener("load",Fn),qn.addEventListener("error",Dn),qn.addEventListener("timeout",Dn),qn.addEventListener("abort",Dn),dn.reportProgress&&(qn.addEventListener("progress",jn),null!==Sn&&qn.upload&&qn.upload.addEventListener("progress",Xt)),qn.send(Sn),Kn.next({type:he.Sent}),()=>{qn.removeEventListener("error",Dn),qn.removeEventListener("abort",Dn),qn.removeEventListener("load",Fn),qn.removeEventListener("timeout",Dn),dn.reportProgress&&(qn.removeEventListener("progress",jn),null!==Sn&&qn.upload&&qn.upload.removeEventListener("progress",Xt)),qn.readyState!==qn.DONE&&qn.abort()}})}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(t.JF))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})();const dt=new e.OlP("XSRF_COOKIE_NAME"),Jt=new e.OlP("XSRF_HEADER_NAME");class zt{}let ln=(()=>{class Cn{constructor(dn,Kn,qn){this.doc=dn,this.platform=Kn,this.cookieName=qn,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const dn=this.doc.cookie||"";return dn!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,t.Mx)(dn,this.cookieName),this.lastCookieString=dn),this.lastToken}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(t.K0),e.LFG(e.Lbi),e.LFG(dt))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})(),ar=(()=>{class Cn{constructor(dn,Kn){this.tokenService=dn,this.headerName=Kn}intercept(dn,Kn){const qn=dn.url.toLowerCase();if("GET"===dn.method||"HEAD"===dn.method||qn.startsWith("http://")||qn.startsWith("https://"))return Kn.handle(dn);const Sn=this.tokenService.getToken();return null!==Sn&&!dn.headers.has(this.headerName)&&(dn=dn.clone({headers:dn.headers.set(this.headerName,Sn)})),Kn.handle(dn)}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(zt),e.LFG(Jt))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})(),Ln=(()=>{class Cn{constructor(dn,Kn){this.backend=dn,this.injector=Kn,this.chain=null}handle(dn){if(null===this.chain){const Kn=this.injector.get($e,[]);this.chain=Kn.reduceRight((qn,Sn)=>new He(qn,Sn),this.backend)}return this.chain.handle(dn)}}return Cn.\u0275fac=function(dn){return new(dn||Cn)(e.LFG(m),e.LFG(e.zs3))},Cn.\u0275prov=e.Yz7({token:Cn,factory:Cn.\u0275fac}),Cn})(),Mn=(()=>{class Cn{static disable(){return{ngModule:Cn,providers:[{provide:ar,useClass:F}]}}static withOptions(dn={}){return{ngModule:Cn,providers:[dn.cookieName?{provide:dt,useValue:dn.cookieName}:[],dn.headerName?{provide:Jt,useValue:dn.headerName}:[]]}}}return Cn.\u0275fac=function(dn){return new(dn||Cn)},Cn.\u0275mod=e.oAB({type:Cn}),Cn.\u0275inj=e.cJS({providers:[ar,{provide:$e,useExisting:ar,multi:!0},{provide:zt,useClass:ln},{provide:dt,useValue:"XSRF-TOKEN"},{provide:Jt,useValue:"X-XSRF-TOKEN"}]}),Cn})(),Ht=(()=>{class Cn{}return Cn.\u0275fac=function(dn){return new(dn||Cn)},Cn.\u0275mod=e.oAB({type:Cn}),Cn.\u0275inj=e.cJS({providers:[ue,{provide:_,useClass:Ln},Ie,{provide:m,useExisting:Ie}],imports:[[Mn.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),Cn})()},74788:(Ge,g,o)=>{"use strict";o.d(g,{deG:()=>Aa,tb:()=>kS,AFp:()=>IS,ip1:()=>VT,CZH:()=>Dm,hGG:()=>_O,z2F:()=>uv,sBO:()=>lT,Sil:()=>cv,_Vd:()=>Kh,UuU:()=>ly,EJc:()=>HS,SBq:()=>tp,qLn:()=>mc,vpe:()=>jp,gxx:()=>sh,tBr:()=>Ts,XFs:()=>Mn,OlP:()=>ns,zs3:()=>oc,IIB:()=>a2,ZZ4:()=>fm,aQg:()=>pm,soG:()=>Ky,YKP:()=>Ey,v3s:()=>W2,h0i:()=>fh,PXZ:()=>B2,R0b:()=>Rf,FiY:()=>Ms,r_U:()=>l2,Lbi:()=>FS,g9A:()=>LS,Qsj:()=>zE,FYo:()=>um,JOm:()=>tc,Tiy:()=>q1,q3G:()=>ys,tp0:()=>ya,EAV:()=>X2,Rgc:()=>rg,dDg:()=>YS,DyG:()=>sl,GfV:()=>py,i9L:()=>Za,s_b:()=>gm,ifc:()=>$n,eFA:()=>WS,G48:()=>L2,Gpc:()=>C,X6Q:()=>XT,_c5:()=>lO,VLi:()=>I2,c2e:()=>$S,zSh:()=>Ip,wAp:()=>Qs,vHH:()=>H,EiD:()=>Uo,mCW:()=>Cu,qzn:()=>Tu,JVY:()=>Lc,pB0:()=>$d,eBb:()=>cd,L6k:()=>Pf,LAX:()=>rf,cg1:()=>F1,Tjo:()=>sO,kL8:()=>w0,yhl:()=>nf,dqk:()=>jn,sIi:()=>ch,CqO:()=>Qg,QGY:()=>T1,F4k:()=>Up,RDi:()=>fa,AaK:()=>_,z3N:()=>Jc,qOj:()=>Z_,TTD:()=>Li,_Bn:()=>ay,xp6:()=>Sh,uIk:()=>Tf,Tol:()=>i0,Gre:()=>g0,MT6:()=>m0,DjV:()=>v0,ekj:()=>w1,Suo:()=>dS,Xpm:()=>Ue,lG2:()=>sn,Yz7:()=>Qe,cJS:()=>ae,oAB:()=>Ut,Yjl:()=>An,Y36:()=>gp,_UZ:()=>Lv,GkF:()=>Fv,BQk:()=>E1,ynx:()=>b1,qZA:()=>y1,TgZ:()=>v1,EpF:()=>kv,n5z:()=>Oo,Ikx:()=>I1,SDv:()=>lm,QtT:()=>ry,DtL:()=>ny,N_p:()=>eg,pQV:()=>Z1,Zx4:()=>iy,tHW:()=>Y1,LFG:()=>sr,$8M:()=>Vi,NdJ:()=>C1,CRH:()=>fS,oxw:()=>jv,ALo:()=>rS,lcZ:()=>iS,xi3:()=>oS,Dn7:()=>sS,Hsn:()=>Yv,F$t:()=>Bv,Q6J:()=>g1,s9C:()=>M1,MGl:()=>Xg,hYB:()=>O1,DdM:()=>GC,VKq:()=>zC,WLB:()=>WC,kEZ:()=>qC,l5B:()=>JC,qbA:()=>QC,iGM:()=>cS,MAs:()=>gt,pYS:()=>Hf,Jf7:()=>ff,CHM:()=>pa,oJD:()=>Xl,uOi:()=>su,LSH:()=>al,kYT:()=>ot,Udp:()=>A1,d8E:()=>L1,YNc:()=>B,W1O:()=>gS,_uU:()=>c0,Oqu:()=>R1,hij:()=>tm,AsE:()=>N1,lnq:()=>P1,Gf:()=>uS});var t=o(79765),e=o(75319),s=o(18891),a=o(66682),l=o(18819);function u(r){for(let i in r)if(r[i]===u)return i;throw Error("Could not find renamed property on target object.")}function h(r,i){for(const c in i)i.hasOwnProperty(c)&&!r.hasOwnProperty(c)&&(r[c]=i[c])}function _(r){if("string"==typeof r)return r;if(Array.isArray(r))return"["+r.map(_).join(", ")+"]";if(null==r)return""+r;if(r.overriddenName)return`${r.overriddenName}`;if(r.name)return`${r.name}`;const i=r.toString();if(null==i)return""+i;const c=i.indexOf("\n");return-1===c?i:i.substring(0,c)}function m(r,i){return null==r||""===r?null===i?"":i:null==i||""===i?r:r+" "+i}const b=u({__forward_ref__:u});function C(r){return r.__forward_ref__=C,r.toString=function(){return _(this())},r}function D(r){return x(r)?r():r}function x(r){return"function"==typeof r&&r.hasOwnProperty(b)&&r.__forward_ref__===C}class H extends Error{constructor(i,c){super(function(r,i){return`${r?`NG0${r}: `:""}${i}`}(i,c)),this.code=i}}function M(r){return"string"==typeof r?r:null==r?"":String(r)}function I(r){return"function"==typeof r?r.name||r.toString():"object"==typeof r&&null!=r&&"function"==typeof r.type?r.type.name||r.type.toString():M(r)}function oe(r,i){const c=i?` in ${i}`:"";throw new H("201",`No provider for ${I(r)} found${c}`)}function lt(r,i,c,v){throw new Error(`ASSERTION ERROR: ${r}`+(null==v?"":` [Expected=> ${c} ${v} ${i} <=Actual]`))}function Qe(r){return{token:r.token,providedIn:r.providedIn||null,factory:r.factory,value:void 0}}function ae(r){return{providers:r.providers||[],imports:r.imports||[]}}function Ie(r){return dt(r,ar)||dt(r,Rn)}function dt(r,i){return r.hasOwnProperty(i)?r[i]:null}function ln(r){return r&&(r.hasOwnProperty(Ln)||r.hasOwnProperty(er))?r[Ln]:null}const ar=u({\u0275prov:u}),Ln=u({\u0275inj:u}),Rn=u({ngInjectableDef:u}),er=u({ngInjectorDef:u});var Mn=(()=>((Mn=Mn||{})[Mn.Default=0]="Default",Mn[Mn.Host=1]="Host",Mn[Mn.Self=2]="Self",Mn[Mn.SkipSelf=4]="SkipSelf",Mn[Mn.Optional=8]="Optional",Mn))();let Ht;function Yn(r){const i=Ht;return Ht=r,i}function Cn(r,i,c){const v=Ie(r);return v&&"root"==v.providedIn?void 0===v.value?v.value=v.factory():v.value:c&Mn.Optional?null:void 0!==i?i:void oe(_(r),"Injector")}function dn(r){return{toString:r}.toString()}var Kn=(()=>((Kn=Kn||{})[Kn.OnPush=0]="OnPush",Kn[Kn.Default=1]="Default",Kn))(),$n=(()=>(($n=$n||{})[$n.Emulated=0]="Emulated",$n[$n.None=2]="None",$n[$n.ShadowDom=3]="ShadowDom",$n))();const En="undefined"!=typeof globalThis&&globalThis,Fn="undefined"!=typeof window&&window,Dn="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,jn=En||"undefined"!=typeof global&&global||Fn||Dn,mt={},Tt=[],yn=u({\u0275cmp:u}),et=u({\u0275dir:u}),jt=u({\u0275pipe:u}),hn=u({\u0275mod:u}),Qn=u({\u0275loc:u}),Ir=u({\u0275fac:u}),ht=u({__NG_ELEMENT_ID__:u});let L=0;function Ue(r){return dn(()=>{const c={},v={type:r.type,providersResolver:null,decls:r.decls,vars:r.vars,factory:null,template:r.template||null,consts:r.consts||null,ngContentSelectors:r.ngContentSelectors,hostBindings:r.hostBindings||null,hostVars:r.hostVars||0,hostAttrs:r.hostAttrs||null,contentQueries:r.contentQueries||null,declaredInputs:c,inputs:null,outputs:null,exportAs:r.exportAs||null,onPush:r.changeDetection===Kn.OnPush,directiveDefs:null,pipeDefs:null,selectors:r.selectors||Tt,viewQuery:r.viewQuery||null,features:r.features||null,data:r.data||{},encapsulation:r.encapsulation||$n.Emulated,id:"c",styles:r.styles||Tt,_:null,setInput:null,schemas:r.schemas||null,tView:null},S=r.directives,k=r.features,te=r.pipes;return v.id+=L++,v.inputs=Nn(r.inputs,c),v.outputs=Nn(r.outputs),k&&k.forEach(le=>le(v)),v.directiveDefs=S?()=>("function"==typeof S?S():S).map(at):null,v.pipeDefs=te?()=>("function"==typeof te?te():te).map(it):null,v})}function at(r){return Bn(r)||function(r){return r[et]||null}(r)}function it(r){return function(r){return r[jt]||null}(r)}const Pt={};function Ut(r){return dn(()=>{const i={type:r.type,bootstrap:r.bootstrap||Tt,declarations:r.declarations||Tt,imports:r.imports||Tt,exports:r.exports||Tt,transitiveCompileScopes:null,schemas:r.schemas||null,id:r.id||null};return null!=r.id&&(Pt[r.id]=r.type),i})}function ot(r,i){return dn(()=>{const c=_r(r,!0);c.declarations=i.declarations||Tt,c.imports=i.imports||Tt,c.exports=i.exports||Tt})}function Nn(r,i){if(null==r)return mt;const c={};for(const v in r)if(r.hasOwnProperty(v)){let S=r[v],k=S;Array.isArray(S)&&(k=S[1],S=S[0]),c[S]=v,i&&(i[S]=k)}return c}const sn=Ue;function An(r){return{type:r.type,name:r.name,factory:null,pure:!1!==r.pure,onDestroy:r.type.prototype.ngOnDestroy||null}}function Bn(r){return r[yn]||null}function _r(r,i){const c=r[hn]||null;if(!c&&!0===i)throw new Error(`Type ${_(r)} does not have '\u0275mod' property.`);return c}function Ei(r){return Array.isArray(r)&&"object"==typeof r[1]}function wi(r){return Array.isArray(r)&&!0===r[1]}function go(r){return 0!=(8&r.flags)}function Fi(r){return 2==(2&r.flags)}function no(r){return 1==(1&r.flags)}function Ji(r){return null!==r.template}function qi(r){return 0!=(512&r[2])}function gi(r,i){return r.hasOwnProperty(Ir)?r[Ir]:null}class Hi{constructor(i,c,v){this.previousValue=i,this.currentValue=c,this.firstChange=v}isFirstChange(){return this.firstChange}}function Li(){return cs}function cs(r){return r.type.prototype.ngOnChanges&&(r.setInput=da),Os}function Os(){const r=Ra(this),i=null==r?void 0:r.current;if(i){const c=r.previous;if(c===mt)r.previous=i;else for(let v in i)c[v]=i[v];r.current=null,this.ngOnChanges(i)}}function da(r,i,c,v){const S=Ra(r)||function(r,i){return r[xa]=i}(r,{previous:mt,current:null}),k=S.current||(S.current={}),te=S.previous,le=this.declaredInputs[c],Le=te[le];k[le]=new Hi(Le&&Le.currentValue,i,te===mt),r[v]=i}Li.ngInherit=!0;const xa="__ngSimpleChanges__";function Ra(r){return r[xa]||null}let Sa;function fa(r){Sa=r}function ks(){return void 0!==Sa?Sa:"undefined"!=typeof document?document:void 0}function pt(r){return!!r.listen}const Nt={createRenderer:(r,i)=>ks()};function ye(r){for(;Array.isArray(r);)r=r[0];return r}function Or(r,i){return ye(i[r])}function Ni(r,i){return ye(i[r.index])}function ms(r,i){return r.data[i]}function ss(r,i){return r[i]}function Lo(r,i){const c=i[r];return Ei(c)?c:c[0]}function Zo(r){return 4==(4&r[2])}function Ea(r){return 128==(128&r[2])}function Ma(r,i){return null==i?null:r[i]}function va(r){r[18]=0}function bs(r,i){r[5]+=i;let c=r,v=r[3];for(;null!==v&&(1===i&&1===c[5]||-1===i&&0===c[5]);)v[5]+=i,c=v,v=v[3]}const $o={lFrame:In(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function Il(){return $o.bindingsEnabled}function Di(){return $o.lFrame.lView}function vs(){return $o.lFrame.tView}function pa(r){return $o.lFrame.contextLView=r,r[8]}function Vo(){let r=ja();for(;null!==r&&64===r.type;)r=r.parent;return r}function ja(){return $o.lFrame.currentTNode}function hs(){const r=$o.lFrame,i=r.currentTNode;return r.isParent?i:i.parent}function ze(r,i){const c=$o.lFrame;c.currentTNode=r,c.isParent=i}function wt(){return $o.lFrame.isParent}function kt(){$o.lFrame.isParent=!1}function gn(){return $o.isInCheckNoChangesMode}function xr(r){$o.isInCheckNoChangesMode=r}function Zr(){const r=$o.lFrame;let i=r.bindingRootIndex;return-1===i&&(i=r.bindingRootIndex=r.tView.bindingStartIndex),i}function Pr(){return $o.lFrame.bindingIndex}function ii(){return $o.lFrame.bindingIndex++}function si(r){const i=$o.lFrame,c=i.bindingIndex;return i.bindingIndex=i.bindingIndex+r,c}function Ui(r){$o.lFrame.inI18n=r}function io(r,i){const c=$o.lFrame;c.bindingIndex=c.bindingRootIndex=r,Bi(i)}function Bi(r){$o.lFrame.currentDirectiveIndex=r}function hi(r){const i=$o.lFrame.currentDirectiveIndex;return-1===i?null:r[i]}function Br(){return $o.lFrame.currentQueryIndex}function G(r){$o.lFrame.currentQueryIndex=r}function Se(r){const i=r[1];return 2===i.type?i.declTNode:1===i.type?r[6]:null}function ft(r,i,c){if(c&Mn.SkipSelf){let S=i,k=r;for(;!(S=S.parent,null!==S||c&Mn.Host||(S=Se(k),null===S||(k=k[15],10&S.type))););if(null===S)return!1;i=S,r=k}const v=$o.lFrame=Bt();return v.currentTNode=i,v.lView=r,!0}function Ft(r){const i=Bt(),c=r[1];$o.lFrame=i,i.currentTNode=c.firstChild,i.lView=r,i.tView=c,i.contextLView=r,i.bindingIndex=c.bindingStartIndex,i.inI18n=!1}function Bt(){const r=$o.lFrame,i=null===r?null:r.child;return null===i?In(r):i}function In(r){const i={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:r,child:null,inI18n:!1};return null!==r&&(r.child=i),i}function Xn(){const r=$o.lFrame;return $o.lFrame=r.parent,r.currentTNode=null,r.lView=null,r}const Sr=Xn;function pi(){const r=Xn();r.isParent=!0,r.tView=null,r.selectedIndex=-1,r.contextLView=null,r.elementDepthCount=0,r.currentDirectiveIndex=-1,r.currentNamespace=null,r.bindingRootIndex=-1,r.bindingIndex=-1,r.currentQueryIndex=0}function Un(){return $o.lFrame.selectedIndex}function lr(r){$o.lFrame.selectedIndex=r}function dr(){const r=$o.lFrame;return ms(r.tView,r.selectedIndex)}function eo(r,i){for(let c=i.directiveStart,v=i.directiveEnd;c<v;c++){const k=r.data[c].type.prototype,{ngAfterContentInit:te,ngAfterContentChecked:le,ngAfterViewInit:Le,ngAfterViewChecked:vt,ngOnDestroy:Qt}=k;te&&(r.contentHooks||(r.contentHooks=[])).push(-c,te),le&&((r.contentHooks||(r.contentHooks=[])).push(c,le),(r.contentCheckHooks||(r.contentCheckHooks=[])).push(c,le)),Le&&(r.viewHooks||(r.viewHooks=[])).push(-c,Le),vt&&((r.viewHooks||(r.viewHooks=[])).push(c,vt),(r.viewCheckHooks||(r.viewCheckHooks=[])).push(c,vt)),null!=Qt&&(r.destroyHooks||(r.destroyHooks=[])).push(c,Qt)}}function Ho(r,i,c){ha(r,i,3,c)}function Zi(r,i,c,v){(3&r[2])===c&&ha(r,i,c,v)}function na(r,i){let c=r[2];(3&c)===i&&(c&=2047,c+=1,r[2]=c)}function ha(r,i,c,v){const k=null!=v?v:-1,te=i.length-1;let le=0;for(let Le=void 0!==v?65535&r[18]:0;Le<te;Le++)if("number"==typeof i[Le+1]){if(le=i[Le],null!=v&&le>=v)break}else i[Le]<0&&(r[18]+=65536),(le<k||-1==k)&&(fl(r,c,i,Le),r[18]=(4294901760&r[18])+Le+2),Le++}function fl(r,i,c,v){const S=c[v]<0,k=c[v+1],le=r[S?-c[v]:c[v]];if(S){if(r[2]>>11<r[18]>>16&&(3&r[2])===i){r[2]+=2048;try{k.call(le)}finally{}}}else try{k.call(le)}finally{}}class Es{constructor(i,c,v){this.factory=i,this.resolving=!1,this.canSeeViewProviders=c,this.injectImpl=v}}function bl(r,i,c){const v=pt(r);let S=0;for(;S<c.length;){const k=c[S];if("number"==typeof k){if(0!==k)break;S++;const te=c[S++],le=c[S++],Le=c[S++];v?r.setAttribute(i,le,Le,te):i.setAttributeNS(te,le,Le)}else{const te=k,le=c[++S];kl(te)?v&&r.setProperty(i,te,le):v?r.setAttribute(i,te,le):i.setAttribute(te,le),S++}}return S}function ql(r){return 3===r||4===r||6===r}function kl(r){return 64===r.charCodeAt(0)}function Yl(r,i){if(null!==i&&0!==i.length)if(null===r||0===r.length)r=i.slice();else{let c=-1;for(let v=0;v<i.length;v++){const S=i[v];"number"==typeof S?c=S:0===c||ru(r,c,S,null,-1===c||2===c?i[++v]:null)}}return r}function ru(r,i,c,v,S){let k=0,te=r.length;if(-1===i)te=-1;else for(;k<r.length;){const le=r[k++];if("number"==typeof le){if(le===i){te=-1;break}if(le>i){te=k-1;break}}}for(;k<r.length;){const le=r[k];if("number"==typeof le)break;if(le===c){if(null===v)return void(null!==S&&(r[k+1]=S));if(v===r[k+1])return void(r[k+2]=S)}k++,null!==v&&k++,null!==S&&k++}-1!==te&&(r.splice(te,0,i),k=te+1),r.splice(k++,0,c),null!==v&&r.splice(k++,0,v),null!==S&&r.splice(k++,0,S)}function Je(r){return-1!==r}function Fe(r){return 32767&r}function Ot(r,i){let c=function(r){return r>>16}(r),v=i;for(;c>0;)v=v[15],c--;return v}let xe=!0;function ke(r){const i=xe;return xe=r,i}let Be=0;function Dt(r,i){const c=vn(r,i);if(-1!==c)return c;const v=i[1];v.firstCreatePass&&(r.injectorIndex=i.length,en(v.data,r),en(i,null),en(v.blueprint,null));const S=Gn(r,i),k=r.injectorIndex;if(Je(S)){const te=Fe(S),le=Ot(S,i),Le=le[1].data;for(let vt=0;vt<8;vt++)i[k+vt]=le[te+vt]|Le[te+vt]}return i[k+8]=S,k}function en(r,i){r.push(0,0,0,0,0,0,0,0,i)}function vn(r,i){return-1===r.injectorIndex||r.parent&&r.parent.injectorIndex===r.injectorIndex||null===i[r.injectorIndex+8]?-1:r.injectorIndex}function Gn(r,i){if(r.parent&&-1!==r.parent.injectorIndex)return r.parent.injectorIndex;let c=0,v=null,S=i;for(;null!==S;){const k=S[1],te=k.type;if(v=2===te?k.declTNode:1===te?S[6]:null,null===v)return-1;if(c++,S=S[15],-1!==v.injectorIndex)return v.injectorIndex|c<<16}return-1}function kn(r,i,c){!function(r,i,c){let v;"string"==typeof c?v=c.charCodeAt(0)||0:c.hasOwnProperty(ht)&&(v=c[ht]),null==v&&(v=c[ht]=Be++);const S=255&v;i.data[r+(S>>5)]|=1<<S}(r,i,c)}function jr(r,i,c){if(c&Mn.Optional)return r;oe(i,"NodeInjector")}function kr(r,i,c,v){if(c&Mn.Optional&&void 0===v&&(v=null),0==(c&(Mn.Self|Mn.Host))){const S=r[9],k=Yn(void 0);try{return S?S.get(i,v,c&Mn.Optional):Cn(i,v,c&Mn.Optional)}finally{Yn(k)}}return jr(v,i,c)}function Gr(r,i,c,v=Mn.Default,S){if(null!==r){const k=function(r){if("string"==typeof r)return r.charCodeAt(0)||0;const i=r.hasOwnProperty(ht)?r[ht]:void 0;return"number"==typeof i?i>=0?255&i:Ci:i}(c);if("function"==typeof k){if(!ft(i,r,v))return v&Mn.Host?jr(S,c,v):kr(i,c,v,S);try{const te=k(v);if(null!=te||v&Mn.Optional)return te;oe(c)}finally{Sr()}}else if("number"==typeof k){let te=null,le=vn(r,i),Le=-1,vt=v&Mn.Host?i[16][6]:null;for((-1===le||v&Mn.SkipSelf)&&(Le=-1===le?Gn(r,i):i[le+8],-1!==Le&&wo(v,!1)?(te=i[1],le=Fe(Le),i=Ot(Le,i)):le=-1);-1!==le;){const Qt=i[1];if(No(k,le,Qt.data)){const Pn=vi(le,i,c,te,v,vt);if(Pn!==ci)return Pn}Le=i[le+8],-1!==Le&&wo(v,i[1].data[le+8]===vt)&&No(k,le,i)?(te=Qt,le=Fe(Le),i=Ot(Le,i)):le=-1}}}return kr(i,c,v,S)}const ci={};function Ci(){return new oo(Vo(),Di())}function vi(r,i,c,v,S,k){const te=i[1],le=te.data[r+8],Qt=Ai(le,te,c,null==v?Fi(le)&&xe:v!=te&&0!=(3&le.type),S&Mn.Host&&k===le);return null!==Qt?fo(i,te,Qt,le):ci}function Ai(r,i,c,v,S){const k=r.providerIndexes,te=i.data,le=1048575&k,Le=r.directiveStart,Qt=k>>20,Wn=S?le+Qt:r.directiveEnd;for(let yr=v?le:le+Qt;yr<Wn;yr++){const Ur=te[yr];if(yr<Le&&c===Ur||yr>=Le&&Ur.type===c)return yr}if(S){const yr=te[Le];if(yr&&Ji(yr)&&yr.type===c)return Le}return null}function fo(r,i,c,v){let S=r[c];const k=i.data;if(function(r){return r instanceof Es}(S)){const te=S;te.resolving&&function(r,i){throw new H("200",`Circular dependency in DI detected for ${r}`)}(I(k[c]));const le=ke(te.canSeeViewProviders);te.resolving=!0;const Le=te.injectImpl?Yn(te.injectImpl):null;ft(r,v,Mn.Default);try{S=r[c]=te.factory(void 0,k,r,v),i.firstCreatePass&&c>=v.directiveStart&&function(r,i,c){const{ngOnChanges:v,ngOnInit:S,ngDoCheck:k}=i.type.prototype;if(v){const te=cs(i);(c.preOrderHooks||(c.preOrderHooks=[])).push(r,te),(c.preOrderCheckHooks||(c.preOrderCheckHooks=[])).push(r,te)}S&&(c.preOrderHooks||(c.preOrderHooks=[])).push(0-r,S),k&&((c.preOrderHooks||(c.preOrderHooks=[])).push(r,k),(c.preOrderCheckHooks||(c.preOrderCheckHooks=[])).push(r,k))}(c,k[c],i)}finally{null!==Le&&Yn(Le),ke(le),te.resolving=!1,Sr()}}return S}function No(r,i,c){return!!(c[i+(r>>5)]&1<<r)}function wo(r,i){return!(r&Mn.Self||r&Mn.Host&&i)}class oo{constructor(i,c){this._tNode=i,this._lView=c}get(i,c,v){return Gr(this._tNode,this._lView,i,v,c)}}function Oo(r){return dn(()=>{const i=r.prototype.constructor,c=i[Ir]||Ki(i),v=Object.prototype;let S=Object.getPrototypeOf(r.prototype).constructor;for(;S&&S!==v;){const k=S[Ir]||Ki(S);if(k&&k!==c)return k;S=Object.getPrototypeOf(S)}return k=>new k})}function Ki(r){return x(r)?()=>{const i=Ki(D(r));return i&&i()}:gi(r)}function Vi(r){return function(r,i){if("class"===i)return r.classes;if("style"===i)return r.styles;const c=r.attrs;if(c){const v=c.length;let S=0;for(;S<v;){const k=c[S];if(ql(k))break;if(0===k)S+=2;else if("number"==typeof k)for(S++;S<v&&"string"==typeof c[S];)S++;else{if(k===i)return c[S+1];S+=2}}}return null}(Vo(),r)}const Po="__parameters__",ho="__prop__metadata__";function Ps(r){return function(...c){if(r){const v=r(...c);for(const S in v)this[S]=v[S]}}}function _n(r,i,c){return dn(()=>{const v=Ps(i);function S(...k){if(this instanceof S)return v.apply(this,k),this;const te=new S(...k);return le.annotation=te,le;function le(Le,vt,Qt){const Pn=Le.hasOwnProperty(Po)?Le[Po]:Object.defineProperty(Le,Po,{value:[]})[Po];for(;Pn.length<=Qt;)Pn.push(null);return(Pn[Qt]=Pn[Qt]||[]).push(te),Le}}return c&&(S.prototype=Object.create(c.prototype)),S.prototype.ngMetadataName=r,S.annotationCls=S,S})}function Hs(r,i,c,v){return dn(()=>{const S=Ps(i);function k(...te){if(this instanceof k)return S.apply(this,te),this;const le=new k(...te);return function(vt,Qt){const Pn=vt.constructor,Wn=Pn.hasOwnProperty(ho)?Pn[ho]:Object.defineProperty(Pn,ho,{value:{}})[ho];Wn[Qt]=Wn.hasOwnProperty(Qt)&&Wn[Qt]||[],Wn[Qt].unshift(le),v&&v(vt,Qt,...te)}}return c&&(k.prototype=Object.create(c.prototype)),k.prototype.ngMetadataName=r,k.annotationCls=k,k})}class ns{constructor(i,c){this._desc=i,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof c?this.__NG_ELEMENT_ID__=c:void 0!==c&&(this.\u0275prov=Qe({token:this,providedIn:c.providedIn||"root",factory:c.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Aa=new ns("AnalyzeForEntryComponents");class La{}const Za=Hs("ViewChild",(r,i)=>Object.assign({selector:r,first:!0,isViewQuery:!0,descendants:!0},i),La),sl=Function;function Va(r,i){void 0===i&&(i=r);for(let c=0;c<r.length;c++){let v=r[c];Array.isArray(v)?(i===r&&(i=r.slice(0,c)),Va(v,i)):i!==r&&i.push(v)}return i}function ki(r,i){r.forEach(c=>Array.isArray(c)?ki(c,i):i(c))}function Oc(r,i,c){i>=r.length?r.push(c):r.splice(i,0,c)}function pc(r,i){return i>=r.length-1?r.pop():r.splice(i,1)[0]}function pl(r,i){const c=[];for(let v=0;v<r;v++)c.push(i);return c}function xl(r,i,c){let v=el(r,i);return v>=0?r[1|v]=c:(v=~v,function(r,i,c,v){let S=r.length;if(S==i)r.push(c,v);else if(1===S)r.push(v,r[0]),r[0]=c;else{for(S--,r.push(r[S-1],r[S]);S>i;)r[S]=r[S-2],S--;r[i]=c,r[i+1]=v}}(r,v,i,c)),v}function Vl(r,i){const c=el(r,i);if(c>=0)return r[1|c]}function el(r,i){return function(r,i,c){let v=0,S=r.length>>c;for(;S!==v;){const k=v+(S-v>>1),te=r[k<<c];if(i===te)return k<<c;te>i?S=k:v=k+1}return~(S<<c)}(r,i,1)}const N={},$="__NG_DI_FLAG__",Q="ngTempTokenPath",ve=/\n/gm,De="__source",Yt=u({provide:String,useValue:u});let Zt;function wn(r){const i=Zt;return Zt=r,i}function cr(r,i=Mn.Default){if(void 0===Zt)throw new Error("inject() must be called from an injection context");return null===Zt?Cn(r,void 0,i):Zt.get(r,i&Mn.Optional?null:void 0,i)}function sr(r,i=Mn.Default){return(Ht||cr)(D(r),i)}function Pi(r){const i=[];for(let c=0;c<r.length;c++){const v=D(r[c]);if(Array.isArray(v)){if(0===v.length)throw new Error("Arguments array must have arguments.");let S,k=Mn.Default;for(let te=0;te<v.length;te++){const le=v[te],Le=Co(le);"number"==typeof Le?-1===Le?S=le.token:k|=Le:S=le}i.push(sr(S,k))}else i.push(sr(v))}return i}function yo(r,i){return r[$]=i,r.prototype[$]=i,r}function Co(r){return r[$]}function Xo(r,i,c,v){const S=r[Q];throw i[De]&&S.unshift(i[De]),r.message=function(r,i,c,v=null){r=r&&"\n"===r.charAt(0)&&"\u0275"==r.charAt(1)?r.substr(2):r;let S=_(i);if(Array.isArray(i))S=i.map(_).join(" -> ");else if("object"==typeof i){let k=[];for(let te in i)if(i.hasOwnProperty(te)){let le=i[te];k.push(te+":"+("string"==typeof le?JSON.stringify(le):_(le)))}S=`{${k.join(", ")}}`}return`${c}${v?"("+v+")":""}[${S}]: ${r.replace(ve,"\n ")}`}("\n"+r.message,S,c,v),r.ngTokenPath=S,r[Q]=null,r}const Ts=yo(_n("Inject",r=>({token:r})),-1),Ms=yo(_n("Optional"),8),ya=yo(_n("SkipSelf"),4);let gc,Md;function Ec(r){var i;return(null===(i=function(){if(void 0===gc&&(gc=null,jn.trustedTypes))try{gc=jn.trustedTypes.createPolicy("angular",{createHTML:r=>r,createScript:r=>r,createScriptURL:r=>r})}catch(r){}return gc}())||void 0===i?void 0:i.createHTML(r))||r}function ad(){if(void 0===Md&&(Md=null,jn.trustedTypes))try{Md=jn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:r=>r,createScript:r=>r,createScriptURL:r=>r})}catch(r){}return Md}function xu(r){var i;return(null===(i=ad())||void 0===i?void 0:i.createHTML(r))||r}function Od(r){var i;return(null===(i=ad())||void 0===i?void 0:i.createScriptURL(r))||r}class Eu{constructor(i){this.changingThisBreaksApplicationSecurity=i}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class tf extends Eu{getTypeName(){return"HTML"}}class Is extends Eu{getTypeName(){return"Style"}}class Ic extends Eu{getTypeName(){return"Script"}}class Nf extends Eu{getTypeName(){return"URL"}}class ld extends Eu{getTypeName(){return"ResourceURL"}}function Jc(r){return r instanceof Eu?r.changingThisBreaksApplicationSecurity:r}function Tu(r,i){const c=nf(r);if(null!=c&&c!==i){if("ResourceURL"===c&&"URL"===i)return!0;throw new Error(`Required a safe ${i}, got a ${c} (see https://g.co/ng/security#xss)`)}return c===i}function nf(r){return r instanceof Eu&&r.getTypeName()||null}function Lc(r){return new tf(r)}function Pf(r){return new Is(r)}function cd(r){return new Ic(r)}function rf(r){return new Nf(r)}function $d(r){return new ld(r)}function Ad(r){const i=new hu(r);return function(){try{return!!(new window.DOMParser).parseFromString(Ec(""),"text/html")}catch(r){return!1}}()?new Fc(i):i}class Fc{constructor(i){this.inertDocumentHelper=i}getInertBodyElement(i){i="<body><remove></remove>"+i;try{const c=(new window.DOMParser).parseFromString(Ec(i),"text/html").body;return null===c?this.inertDocumentHelper.getInertBodyElement(i):(c.removeChild(c.firstChild),c)}catch(c){return null}}}class hu{constructor(i){if(this.defaultDoc=i,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const c=this.inertDocument.createElement("html");this.inertDocument.appendChild(c);const v=this.inertDocument.createElement("body");c.appendChild(v)}}getInertBodyElement(i){const c=this.inertDocument.createElement("template");if("content"in c)return c.innerHTML=Ec(i),c;const v=this.inertDocument.createElement("body");return v.innerHTML=Ec(i),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(v),v}stripCustomNsAttrs(i){const c=i.attributes;for(let S=c.length-1;0<S;S--){const te=c.item(S).name;("xmlns:ns1"===te||0===te.indexOf("ns1:"))&&i.removeAttribute(te)}let v=i.firstChild;for(;v;)v.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(v),v=v.nextSibling}}const ud=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi,If=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Cu(r){return(r=String(r)).match(ud)||r.match(If)?r:"unsafe:"+r}function dd(r){return(r=String(r)).split(",").map(i=>Cu(i.trim())).join(", ")}function kc(r){const i={};for(const c of r.split(","))i[c]=!0;return i}function wc(...r){const i={};for(const c of r)for(const v in c)c.hasOwnProperty(v)&&(i[v]=!0);return i}const Yc=kc("area,br,col,hr,img,wbr"),Lf=kc("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Su=kc("rp,rt"),V=wc(Yc,wc(Lf,kc("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),wc(Su,kc("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),wc(Su,Lf)),pe=kc("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),A=kc("srcset"),Rt=wc(pe,A,kc("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),kc("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vr=kc("script,style,template");class Hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(i){let c=i.firstChild,v=!0;for(;c;)if(c.nodeType===Node.ELEMENT_NODE?v=this.startElement(c):c.nodeType===Node.TEXT_NODE?this.chars(c.nodeValue):this.sanitizedSomething=!0,v&&c.firstChild)c=c.firstChild;else for(;c;){c.nodeType===Node.ELEMENT_NODE&&this.endElement(c);let S=this.checkClobberedElement(c,c.nextSibling);if(S){c=S;break}c=this.checkClobberedElement(c,c.parentNode)}return this.buf.join("")}startElement(i){const c=i.nodeName.toLowerCase();if(!V.hasOwnProperty(c))return this.sanitizedSomething=!0,!vr.hasOwnProperty(c);this.buf.push("<"),this.buf.push(c);const v=i.attributes;for(let S=0;S<v.length;S++){const k=v.item(S),te=k.name,le=te.toLowerCase();if(!Rt.hasOwnProperty(le)){this.sanitizedSomething=!0;continue}let Le=k.value;pe[le]&&(Le=Cu(Le)),A[le]&&(Le=dd(Le)),this.buf.push(" ",te,'="',Eo(Le),'"')}return this.buf.push(">"),!0}endElement(i){const c=i.nodeName.toLowerCase();V.hasOwnProperty(c)&&!Yc.hasOwnProperty(c)&&(this.buf.push("</"),this.buf.push(c),this.buf.push(">"))}chars(i){this.buf.push(Eo(i))}checkClobberedElement(i,c){if(c&&(i.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${i.outerHTML}`);return c}}const _i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ji=/([^\#-~ |!])/g;function Eo(r){return r.replace(/&/g,"&").replace(_i,function(i){return"&#"+(1024*(i.charCodeAt(0)-55296)+(i.charCodeAt(1)-56320)+65536)+";"}).replace(ji,function(i){return"&#"+i.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}let rs;function Uo(r,i){let c=null;try{rs=rs||Ad(r);let v=i?String(i):"";c=rs.getInertBodyElement(v);let S=5,k=v;do{if(0===S)throw new Error("Failed to sanitize html because the input is unstable");S--,v=k,k=c.innerHTML,c=rs.getInertBodyElement(v)}while(v!==k);return Ec((new Hr).sanitizeChildren(us(c)||c))}finally{if(c){const v=us(c)||c;for(;v.firstChild;)v.removeChild(v.firstChild)}}}function us(r){return"content"in r&&function(r){return r.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===r.nodeName}(r)?r.content:null}var ys=(()=>((ys=ys||{})[ys.NONE=0]="NONE",ys[ys.HTML=1]="HTML",ys[ys.STYLE=2]="STYLE",ys[ys.SCRIPT=3]="SCRIPT",ys[ys.URL=4]="URL",ys[ys.RESOURCE_URL=5]="RESOURCE_URL",ys))();function Xl(r){const i=_u();return i?xu(i.sanitize(ys.HTML,r)||""):Tu(r,"HTML")?xu(Jc(r)):Uo(ks(),M(r))}function al(r){const i=_u();return i?i.sanitize(ys.URL,r)||"":Tu(r,"URL")?Jc(r):Cu(M(r))}function su(r){const i=_u();if(i)return Od(i.sanitize(ys.RESOURCE_URL,r)||"");if(Tu(r,"ResourceURL"))return Od(Jc(r));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function _u(){const r=Di();return r&&r[12]}const af="__ngContext__";function ec(r,i){r[af]=i}function $c(r){const i=function(r){return r[af]||null}(r);return i?Array.isArray(i)?i:i.lView:null}function lu(r){return r.ngOriginalError}function Bd(r,...i){r.error(...i)}class mc{constructor(){this._console=console}handleError(i){const c=this._findOriginalError(i),v=this._findContext(i),S=(r=i)&&r.ngErrorLogger||Bd;var r;S(this._console,"ERROR",i),c&&S(this._console,"ORIGINAL ERROR",c),v&&S(this._console,"ERROR CONTEXT",v)}_findContext(i){return i?i.ngDebugContext||this._findContext(lu(i)):null}_findOriginalError(i){let c=i&&lu(i);for(;c&&lu(c);)c=lu(c);return c||null}}const uf=/^>|^->|<!--|-->|--!>|<!-$/g,cu=/(<|>)/;const $f=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(jn))();function ff(r){return r.ownerDocument.defaultView}function Hf(r){return r.ownerDocument.body}function eu(r){return r instanceof Function?r():r}var tc=(()=>((tc=tc||{})[tc.Important=1]="Important",tc[tc.DashCase=2]="DashCase",tc))();let qu;function hf(r,i){return qu(r,i)}function Hc(r){const i=r[3];return wi(i)?i[3]:i}function ap(r){return bd(r[13])}function Zc(r){return bd(r[4])}function bd(r){for(;null!==r&&!wi(r);)r=r[4];return r}function Sc(r,i,c,v,S){if(null!=v){let k,te=!1;wi(v)?k=v:Ei(v)&&(te=!0,v=v[0]);const le=ye(v);0===r&&null!==c?null==S?R(i,c,le):T(i,c,le,S||null,!0):1===r&&null!==c?T(i,c,le,S||null,!0):2===r?Vs(i,le,te):3===r&&i.destroyNode(le),null!=k&&function(r,i,c,v,S){const k=c[7];k!==ye(c)&&Sc(i,r,v,k,S);for(let le=10;le<c.length;le++){const Le=c[le];Wr(Le[1],Le,r,i,v,k)}}(i,r,k,c,S)}}function Mc(r,i){return pt(r)?r.createText(i):r.createTextNode(i)}function Iu(r,i,c){pt(r)?r.setValue(i,c):i.textContent=c}function jf(r,i){return r.createComment(function(r){return r.replace(uf,i=>i.replace(cu,"\u200b$1\u200b"))}(i))}function Dd(r,i,c){return pt(r)?r.createElement(i,c):null===c?r.createElement(i):r.createElementNS(c,i)}function Yf(r,i){const c=r[9],v=c.indexOf(i),S=i[3];1024&i[2]&&(i[2]&=-1025,bs(S,-1)),c.splice(v,1)}function xd(r,i){if(r.length<=10)return;const c=10+i,v=r[c];if(v){const S=v[17];null!==S&&S!==r&&Yf(S,v),i>0&&(r[c-1][4]=v[4]);const k=pc(r,10+i);!function(r,i){Wr(r,i,i[11],2,null,null),i[0]=null,i[6]=null}(v[1],v);const te=k[19];null!==te&&te.detachView(k[1]),v[3]=null,v[4]=null,v[2]&=-129}return v}function _f(r,i){if(!(256&i[2])){const c=i[11];pt(c)&&c.destroyNode&&Wr(r,i,c,3,null,null),function(r){let i=r[13];if(!i)return Zf(r[1],r);for(;i;){let c=null;if(Ei(i))c=i[13];else{const v=i[10];v&&(c=v)}if(!c){for(;i&&!i[4]&&i!==r;)Ei(i)&&Zf(i[1],i),i=i[3];null===i&&(i=r),Ei(i)&&Zf(i[1],i),c=i&&i[4]}i=c}}(i)}}function Zf(r,i){if(!(256&i[2])){i[2]&=-129,i[2]|=256,function(r,i){let c;if(null!=r&&null!=(c=r.destroyHooks))for(let v=0;v<c.length;v+=2){const S=i[c[v]];if(!(S instanceof Es)){const k=c[v+1];if(Array.isArray(k))for(let te=0;te<k.length;te+=2){const le=S[k[te]],Le=k[te+1];try{Le.call(le)}finally{}}else try{k.call(S)}finally{}}}}(r,i),function(r,i){const c=r.cleanup,v=i[7];let S=-1;if(null!==c)for(let k=0;k<c.length-1;k+=2)if("string"==typeof c[k]){const te=c[k+1],le="function"==typeof te?te(i):ye(i[te]),Le=v[S=c[k+2]],vt=c[k+3];"boolean"==typeof vt?le.removeEventListener(c[k],Le,vt):vt>=0?v[S=vt]():v[S=-vt].unsubscribe(),k+=2}else{const te=v[S=c[k+1]];c[k].call(te)}if(null!==v){for(let k=S+1;k<v.length;k++)v[k]();i[7]=null}}(r,i),1===i[1].type&&pt(i[11])&&i[11].destroy();const c=i[17];if(null!==c&&wi(i[3])){c!==i[3]&&Yf(c,i);const v=i[19];null!==v&&v.detachView(r)}}}function up(r,i,c){return gf(r,i.parent,c)}function gf(r,i,c){let v=i;for(;null!==v&&40&v.type;)v=(i=v).parent;if(null===v)return c[0];if(2&v.flags){const S=r.data[v.directiveStart].encapsulation;if(S===$n.None||S===$n.Emulated)return null}return Ni(v,c)}function T(r,i,c,v,S){pt(r)?r.insertBefore(i,c,v,S):i.insertBefore(c,v,S)}function R(r,i,c){pt(r)?r.appendChild(i,c):i.appendChild(c)}function q(r,i,c,v,S){null!==v?T(r,i,c,v,S):R(r,i,c)}function tt(r,i){return pt(r)?r.parentNode(i):i.parentNode}function bn(r,i,c){return wr(r,i,c)}function rr(r,i,c){return 40&r.type?Ni(r,c):null}let qr,wr=rr;function co(r,i){wr=r,qr=i}function Ko(r,i,c,v){const S=up(r,v,i),k=i[11],le=bn(v.parent||i[6],v,i);if(null!=S)if(Array.isArray(c))for(let Le=0;Le<c.length;Le++)q(k,S,c[Le],le,!1);else q(k,S,c,le,!1);void 0!==qr&&qr(k,v,i,c,S)}function so(r,i){if(null!==i){const c=i.type;if(3&c)return Ni(i,r);if(4&c)return qs(-1,r[i.index]);if(8&c){const v=i.child;if(null!==v)return so(r,v);{const S=r[i.index];return wi(S)?qs(-1,S):ye(S)}}if(32&c)return hf(i,r)()||ye(r[i.index]);{const v=gs(r,i);return null!==v?Array.isArray(v)?v[0]:so(Hc(r[16]),v):so(r,i.next)}}return null}function gs(r,i){return null!==i?r[16][6].projection[i.projection]:null}function qs(r,i){const c=10+r+1;if(c<i.length){const v=i[c],S=v[1].firstChild;if(null!==S)return so(v,S)}return i[7]}function Vs(r,i,c){const v=tt(r,i);v&&function(r,i,c,v){pt(r)?r.removeChild(i,c,v):i.removeChild(c)}(r,v,i,c)}function oi(r,i,c,v,S,k,te){for(;null!=c;){const le=v[c.index],Le=c.type;if(te&&0===i&&(le&&ec(ye(le),v),c.flags|=4),64!=(64&c.flags))if(8&Le)oi(r,i,c.child,v,S,k,!1),Sc(i,r,S,le,k);else if(32&Le){const vt=hf(c,v);let Qt;for(;Qt=vt();)Sc(i,r,S,Qt,k);Sc(i,r,S,le,k)}else 16&Le?Gi(r,i,v,c,S,k):Sc(i,r,S,le,k);c=te?c.projectionNext:c.next}}function Wr(r,i,c,v,S,k){oi(c,v,r.firstChild,i,S,k,!1)}function Gi(r,i,c,v,S,k){const te=c[16],Le=te[6].projection[v.projection];if(Array.isArray(Le))for(let vt=0;vt<Le.length;vt++)Sc(i,r,S,Le[vt],k);else oi(r,i,Le,te[3],S,k,!0)}function ps(r,i,c){pt(r)?r.setAttribute(i,"style",c):i.style.cssText=c}function la(r,i,c){pt(r)?""===c?r.removeAttribute(i,"class"):r.setAttribute(i,"class",c):i.className=c}function Fa(r,i,c){let v=r.length;for(;;){const S=r.indexOf(i,c);if(-1===S)return S;if(0===S||r.charCodeAt(S-1)<=32){const k=i.length;if(S+k===v||r.charCodeAt(S+k)<=32)return S}c=S+1}}const Tl="ng-template";function Vp(r,i,c){let v=0;for(;v<r.length;){let S=r[v++];if(c&&"class"===S){if(S=r[v],-1!==Fa(S.toLowerCase(),i,0))return!0}else if(1===S){for(;v<r.length&&"string"==typeof(S=r[v++]);)if(S.toLowerCase()===i)return!0;return!1}}return!1}function bh(r){return 4===r.type&&r.value!==Tl}function o_(r,i,c){return i===(4!==r.type||c?r.value:Tl)}function s_(r,i,c){let v=4;const S=r.attrs||[],k=function(r){for(let i=0;i<r.length;i++)if(ql(r[i]))return i;return r.length}(S);let te=!1;for(let le=0;le<i.length;le++){const Le=i[le];if("number"!=typeof Le){if(!te)if(4&v){if(v=2|1&v,""!==Le&&!o_(r,Le,c)||""===Le&&1===i.length){if(Lu(v))return!1;te=!0}}else{const vt=8&v?Le:i[++le];if(8&v&&null!==r.attrs){if(!Vp(r.attrs,vt,c)){if(Lu(v))return!1;te=!0}continue}const Pn=a_(8&v?"class":Le,S,bh(r),c);if(-1===Pn){if(Lu(v))return!1;te=!0;continue}if(""!==vt){let Wn;Wn=Pn>k?"":S[Pn+1].toLowerCase();const yr=8&v?Wn:null;if(yr&&-1!==Fa(yr,vt,0)||2&v&&vt!==Wn){if(Lu(v))return!1;te=!0}}}}else{if(!te&&!Lu(v)&&!Lu(Le))return!1;if(te&&Lu(Le))continue;te=!1,v=Le|1&v}}return Lu(v)||te}function Lu(r){return 0==(1&r)}function a_(r,i,c,v){if(null===i)return-1;let S=0;if(v||!c){let k=!1;for(;S<i.length;){const te=i[S];if(te===r)return S;if(3===te||6===te)k=!0;else{if(1===te||2===te){let le=i[++S];for(;"string"==typeof le;)le=i[++S];continue}if(4===te)break;if(0===te){S+=4;continue}}S+=k?1:2}return-1}return function(r,i){let c=r.indexOf(4);if(c>-1)for(c++;c<r.length;){const v=r[c];if("number"==typeof v)return-1;if(v===i)return c;c++}return-1}(i,r)}function Eh(r,i,c=!1){for(let v=0;v<i.length;v++)if(s_(r,i[v],c))return!0;return!1}function d_(r,i){e:for(let c=0;c<i.length;c++){const v=i[c];if(r.length===v.length){for(let S=0;S<r.length;S++)if(r[S]!==v[S])continue e;return!0}}return!1}function Th(r,i){return r?":not("+i.trim()+")":i}function Gp(r){let i=r[0],c=1,v=2,S="",k=!1;for(;c<r.length;){let te=r[c];if("string"==typeof te)if(2&v){const le=r[++c];S+="["+te+(le.length>0?'="'+le+'"':"")+"]"}else 8&v?S+="."+te:4&v&&(S+=" "+te);else""!==S&&!Lu(te)&&(i+=Th(k,S),S=""),v=te,k=k||!Lu(v);c++}return""!==S&&(i+=Th(k,S)),i}const ca={};function Sh(r){Mh(vs(),Di(),Un()+r,gn())}function Mh(r,i,c,v){if(!v)if(3==(3&i[2])){const k=r.preOrderCheckHooks;null!==k&&Ho(i,k,c)}else{const k=r.preOrderHooks;null!==k&&Zi(i,k,0,c)}lr(c)}function wp(r,i){return r<<17|i<<2}function Ju(r){return r>>17&32767}function zp(r){return 2|r}function Gd(r){return(131068&r)>>2}function dp(r,i){return-131069&r|i<<2}function Oh(r){return 1|r}function th(r,i){const c=r.contentQueries;if(null!==c)for(let v=0;v<c.length;v+=2){const S=c[v],k=c[v+1];if(-1!==k){const te=r.data[k];G(S),te.contentQueries(2,i[k],k)}}}function Ku(r,i,c,v,S,k,te,le,Le,vt){const Qt=i.blueprint.slice();return Qt[0]=S,Qt[2]=140|v,va(Qt),Qt[3]=Qt[15]=r,Qt[8]=c,Qt[10]=te||r&&r[10],Qt[11]=le||r&&r[11],Qt[12]=Le||r&&r[12]||null,Qt[9]=vt||r&&r[9]||null,Qt[6]=k,Qt[16]=2==i.type?r[16]:Qt,Qt}function ku(r,i,c,v,S){let k=r.data[i];if(null===k)k=qd(r,i,c,v,S),$o.lFrame.inI18n&&(k.flags|=64);else if(64&k.type){k.type=c,k.value=v,k.attrs=S;const te=hs();k.injectorIndex=null===te?-1:te.injectorIndex}return ze(k,!0),k}function qd(r,i,c,v,S){const k=ja(),te=wt(),Le=r.data[i]=function(r,i,c,v,S,k){return{type:c,index:v,insertBeforeIndex:null,injectorIndex:i?i.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:S,attrs:k,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:i,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,te?k:k&&k.parent,c,i,v,S);return null===r.firstChild&&(r.firstChild=Le),null!==k&&(te?null==k.child&&null!==Le.parent&&(k.child=Le):null===k.next&&(k.next=Le)),Le}function Jd(r,i,c,v){if(0===c)return-1;const S=i.length;for(let k=0;k<c;k++)i.push(v),r.blueprint.push(v),r.data.push(null);return S}function Gf(r,i,c){Ft(i);try{const v=r.viewQuery;null!==v&&Hu(1,v,c);const S=r.template;null!==S&&nh(r,i,S,1,c),r.firstCreatePass&&(r.firstCreatePass=!1),r.staticContentQueries&&th(r,i),r.staticViewQueries&&Hu(2,r.viewQuery,c);const k=r.components;null!==k&&function(r,i){for(let c=0;c<i.length;c++)ih(r,i[c])}(i,k)}catch(v){throw r.firstCreatePass&&(r.incompleteFirstPass=!0,r.firstCreatePass=!1),v}finally{i[2]&=-5,pi()}}function vf(r,i,c,v){const S=i[2];if(256==(256&S))return;Ft(i);const k=gn();try{va(i),function(r){$o.lFrame.bindingIndex=r}(r.bindingStartIndex),null!==c&&nh(r,i,c,2,v);const te=3==(3&S);if(!k)if(te){const vt=r.preOrderCheckHooks;null!==vt&&Ho(i,vt,null)}else{const vt=r.preOrderHooks;null!==vt&&Zi(i,vt,0,null),na(i,0)}if(function(r){for(let i=ap(r);null!==i;i=Zc(i)){if(!i[2])continue;const c=i[9];for(let v=0;v<c.length;v++){const S=c[v],k=S[3];0==(1024&S[2])&&bs(k,1),S[2]|=1024}}}(i),function(r){for(let i=ap(r);null!==i;i=Zc(i))for(let c=10;c<i.length;c++){const v=i[c],S=v[1];Ea(v)&&vf(S,v,S.template,v[8])}}(i),null!==r.contentQueries&&th(r,i),!k)if(te){const vt=r.contentCheckHooks;null!==vt&&Ho(i,vt)}else{const vt=r.contentHooks;null!==vt&&Zi(i,vt,1),na(i,1)}!function(r,i){const c=r.hostBindingOpCodes;if(null!==c)try{for(let v=0;v<c.length;v++){const S=c[v];if(S<0)lr(~S);else{const k=S,te=c[++v],le=c[++v];io(te,k),le(2,i[k])}}}finally{lr(-1)}}(r,i);const le=r.components;null!==le&&function(r,i){for(let c=0;c<i.length;c++)Hh(r,i[c])}(i,le);const Le=r.viewQuery;if(null!==Le&&Hu(2,Le,v),!k)if(te){const vt=r.viewCheckHooks;null!==vt&&Ho(i,vt)}else{const vt=r.viewHooks;null!==vt&&Zi(i,vt,2),na(i,2)}!0===r.firstUpdatePass&&(r.firstUpdatePass=!1),k||(i[2]&=-73),1024&i[2]&&(i[2]&=-1025,bs(i[3],-1))}finally{pi()}}function Fh(r,i,c,v){const S=i[10],k=!gn(),te=Zo(i);try{k&&!te&&S.begin&&S.begin(),te&&Gf(r,i,v),vf(r,i,c,v)}finally{k&&!te&&S.end&&S.end()}}function nh(r,i,c,v,S){const k=Un(),te=2&v;try{lr(-1),te&&i.length>20&&Mh(r,i,20,gn()),c(v,S)}finally{lr(k)}}function T_(r,i,c){if(go(i)){const S=i.directiveEnd;for(let k=i.directiveStart;k<S;k++){const te=r.data[k];te.contentQueries&&te.contentQueries(1,c[k],k)}}}function rh(r,i,c){!Il()||(function(r,i,c,v){const S=c.directiveStart,k=c.directiveEnd;r.firstCreatePass||Dt(c,i),ec(v,i);const te=c.initialInputs;for(let le=S;le<k;le++){const Le=r.data[le],vt=Ji(Le);vt&&gv(i,c,Le);const Qt=fo(i,r,le,c);ec(Qt,i),null!==te&&mv(0,le-S,Qt,Le,0,te),vt&&(Lo(c.index,i)[8]=Qt)}}(r,i,c,Ni(c,i)),128==(128&c.flags)&&function(r,i,c){const v=c.directiveStart,S=c.directiveEnd,te=c.index,le=$o.lFrame.currentDirectiveIndex;try{lr(te);for(let Le=v;Le<S;Le++){const vt=r.data[Le],Qt=i[Le];Bi(Le),(null!==vt.hostBindings||0!==vt.hostVars||null!==vt.hostAttrs)&&vc(vt,Qt)}}finally{lr(-1),Bi(le)}}(r,i,c))}function Rp(r,i,c=Ni){const v=i.localNames;if(null!==v){let S=i.index+1;for(let k=0;k<v.length;k+=2){const te=v[k+1],le=-1===te?c(i,r):r[te];r[S++]=le}}}function kh(r){const i=r.tView;return null===i||i.incompleteFirstPass?r.tView=Np(1,null,r.template,r.decls,r.vars,r.directiveDefs,r.pipeDefs,r.viewQuery,r.schemas,r.consts):i}function Np(r,i,c,v,S,k,te,le,Le,vt){const Qt=20+v,Pn=Qt+S,Wn=function(r,i){const c=[];for(let v=0;v<i;v++)c.push(v<r?null:ca);return c}(Qt,Pn),yr="function"==typeof vt?vt():vt;return Wn[1]={type:r,blueprint:Wn,template:c,queries:null,viewQuery:le,declTNode:i,data:Wn.slice().fill(null,Qt),bindingStartIndex:Qt,expandoStartIndex:Pn,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof k?k():k,pipeRegistry:"function"==typeof te?te():te,firstChild:null,schemas:Le,consts:yr,incompleteFirstPass:!1}}function Mt(r,i,c,v){const S=Sl(i);null===c?S.push(v):(S.push(c),r.firstCreatePass&&vg(r).push(v,S.length-1))}function pr(r,i,c){for(let v in r)if(r.hasOwnProperty(v)){const S=r[v];(c=null===c?{}:c).hasOwnProperty(v)?c[v].push(i,S):c[v]=[i,S]}return c}function To(r,i,c,v,S,k,te,le){const Le=Ni(i,c);let Qt,vt=i.inputs;!le&&null!=vt&&(Qt=vt[v])?(yg(r,c,Qt,v,S),Fi(i)&&function(r,i){const c=Lo(i,r);16&c[2]||(c[2]|=64)}(c,i.index)):3&i.type&&(v=function(r){return"class"===r?"className":"for"===r?"htmlFor":"formaction"===r?"formAction":"innerHtml"===r?"innerHTML":"readonly"===r?"readOnly":"tabindex"===r?"tabIndex":r}(v),S=null!=te?te(S,i.value||"",v):S,pt(k)?k.setProperty(Le,v,S):kl(v)||(Le.setProperty?Le.setProperty(v,S):Le[v]=S))}function jc(r,i,c,v){let S=!1;if(Il()){const k=function(r,i,c){const v=r.directiveRegistry;let S=null;if(v)for(let k=0;k<v.length;k++){const te=v[k];Eh(c,te.selectors,!1)&&(S||(S=[]),kn(Dt(c,i),r,te.type),Ji(te)?(Al(r,c),S.unshift(te)):S.push(te))}return S}(r,i,c),te=null===v?null:{"":-1};if(null!==k){S=!0,km(c,r.data.length,k.length);for(let Qt=0;Qt<k.length;Qt++){const Pn=k[Qt];Pn.providersResolver&&Pn.providersResolver(Pn)}let le=!1,Le=!1,vt=Jd(r,i,k.length,null);for(let Qt=0;Qt<k.length;Qt++){const Pn=k[Qt];c.mergedAttrs=Yl(c.mergedAttrs,Pn.hostAttrs),C_(r,c,i,vt,Pn),$h(vt,Pn,te),null!==Pn.contentQueries&&(c.flags|=8),(null!==Pn.hostBindings||null!==Pn.hostAttrs||0!==Pn.hostVars)&&(c.flags|=128);const Wn=Pn.type.prototype;!le&&(Wn.ngOnChanges||Wn.ngOnInit||Wn.ngDoCheck)&&((r.preOrderHooks||(r.preOrderHooks=[])).push(c.index),le=!0),!Le&&(Wn.ngOnChanges||Wn.ngDoCheck)&&((r.preOrderCheckHooks||(r.preOrderCheckHooks=[])).push(c.index),Le=!0),vt++}!function(r,i){const v=i.directiveEnd,S=r.data,k=i.attrs,te=[];let le=null,Le=null;for(let vt=i.directiveStart;vt<v;vt++){const Qt=S[vt],Pn=Qt.inputs,Wn=null===k||bh(i)?null:$m(Pn,k);te.push(Wn),le=pr(Pn,vt,le),Le=pr(Qt.outputs,vt,Le)}null!==le&&(le.hasOwnProperty("class")&&(i.flags|=16),le.hasOwnProperty("style")&&(i.flags|=32)),i.initialInputs=te,i.inputs=le,i.outputs=Le}(r,c)}te&&function(r,i,c){if(i){const v=r.localNames=[];for(let S=0;S<i.length;S+=2){const k=c[i[S+1]];if(null==k)throw new H("301",`Export of name '${i[S+1]}' not found!`);v.push(i[S],k)}}}(c,v,te)}return c.mergedAttrs=Yl(c.mergedAttrs,c.attrs),S}function ed(r,i,c,v,S,k){const te=k.hostBindings;if(te){let le=r.hostBindingOpCodes;null===le&&(le=r.hostBindingOpCodes=[]);const Le=~i.index;(function(r){let i=r.length;for(;i>0;){const c=r[--i];if("number"==typeof c&&c<0)return c}return 0})(le)!=Le&&le.push(Le),le.push(v,S,te)}}function vc(r,i){null!==r.hostBindings&&r.hostBindings(1,i)}function Al(r,i){i.flags|=2,(r.components||(r.components=[])).push(i.index)}function $h(r,i,c){if(c){if(i.exportAs)for(let v=0;v<i.exportAs.length;v++)c[i.exportAs[v]]=r;Ji(i)&&(c[""]=r)}}function km(r,i,c){r.flags|=1,r.directiveStart=i,r.directiveEnd=i+c,r.providerIndexes=i}function C_(r,i,c,v,S){r.data[v]=S;const k=S.factory||(S.factory=gi(S.type)),te=new Es(k,Ji(S),null);r.blueprint[v]=te,c[v]=te,ed(r,i,0,v,Jd(r,c,S.hostVars,ca),S)}function gv(r,i,c){const v=Ni(i,r),S=kh(c),k=r[10],te=A_(r,Ku(r,S,null,c.onPush?64:16,v,i,k,k.createRenderer(v,c),null,null));r[i.index]=te}function _g(r,i,c,v,S,k,te){if(null==k)pt(r)?r.removeAttribute(i,S,c):i.removeAttribute(S);else{const le=null==te?M(k):te(k,v||"",S);pt(r)?r.setAttribute(i,S,le,c):c?i.setAttributeNS(c,S,le):i.setAttribute(S,le)}}function mv(r,i,c,v,S,k){const te=k[i];if(null!==te){const le=v.setInput;for(let Le=0;Le<te.length;){const vt=te[Le++],Qt=te[Le++],Pn=te[Le++];null!==le?v.setInput(c,Pn,vt,Qt):c[Qt]=Pn}}}function $m(r,i){let c=null,v=0;for(;v<i.length;){const S=i[v];if(0!==S)if(5!==S){if("number"==typeof S)break;r.hasOwnProperty(S)&&(null===c&&(c=[]),c.push(S,r[S],i[v+1])),v+=2}else v+=2;else v+=4}return c}function M_(r,i,c,v){return new Array(r,!0,!1,i,null,0,v,c,null,null)}function Hh(r,i){const c=Lo(i,r);if(Ea(c)){const v=c[1];80&c[2]?vf(v,c,v.template,c[8]):c[5]>0&&$u(c)}}function $u(r){for(let v=ap(r);null!==v;v=Zc(v))for(let S=10;S<v.length;S++){const k=v[S];if(1024&k[2]){const te=k[1];vf(te,k,te.template,k[8])}else k[5]>0&&$u(k)}const c=r[1].components;if(null!==c)for(let v=0;v<c.length;v++){const S=Lo(c[v],r);Ea(S)&&S[5]>0&&$u(S)}}function ih(r,i){const c=Lo(i,r),v=c[1];(function(r,i){for(let c=i.length;c<r.blueprint.length;c++)i.push(r.blueprint[c])})(v,c),Gf(v,c,c[8])}function A_(r,i){return r[13]?r[14][4]=i:r[13]=i,r[14]=i,i}function gg(r){for(;r;){r[2]|=64;const i=Hc(r);if(qi(r)&&!i)return r;r=i}return null}function w_(r,i,c){const v=i[10];v.begin&&v.begin();try{vf(r,i,r.template,c)}catch(S){throw oh(i,S),S}finally{v.end&&v.end()}}function yf(r){!function(r){for(let i=0;i<r.components.length;i++){const c=r.components[i],v=$c(c),S=v[1];Fh(S,v,S.template,c)}}(r[8])}function Hu(r,i,c){G(0),i(r,c)}const jm=(()=>Promise.resolve(null))();function Sl(r){return r[7]||(r[7]=[])}function vg(r){return r.cleanup||(r.cleanup=[])}function oh(r,i){const c=r[9],v=c?c.get(mc,null):null;v&&v.handleError(i)}function yg(r,i,c,v,S){for(let k=0;k<c.length;){const te=c[k++],le=c[k++],Le=i[te],vt=r.data[te];null!==vt.setInput?vt.setInput(Le,S,v,le):Le[le]=S}}function Nl(r,i,c){const v=Or(i,r);Iu(r[11],v,c)}function qf(r,i,c){let v=c?r.styles:null,S=c?r.classes:null,k=0;if(null!==i)for(let te=0;te<i.length;te++){const le=i[te];"number"==typeof le?k=le:1==k?S=m(S,le):2==k&&(v=m(v,le+": "+i[++te]+";"))}c?r.styles=v:r.stylesWithoutHost=v,c?r.classes=S:r.classesWithoutHost=S}const sh=new ns("INJECTOR",-1);class x_{get(i,c=N){if(c===N){const v=new Error(`NullInjectorError: No provider for ${_(i)}!`);throw v.name="NullInjectorError",v}return c}}const Ip=new ns("Set Injector scope."),jh={},bg={};let Lp;function R_(){return void 0===Lp&&(Lp=new x_),Lp}function pp(r,i=null,c=null,v){return new P_(r,c,i||R_(),v)}class P_{constructor(i,c,v,S=null){this.parent=v,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const k=[];c&&ki(c,le=>this.processProvider(le,i,c)),ki([i],le=>this.processInjectorType(le,[],k)),this.records.set(sh,Gc(void 0,this));const te=this.records.get(Ip);this.scope=null!=te?te.value:null,this.source=S||("object"==typeof i?null:_(i))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(i=>i.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(i,c=N,v=Mn.Default){this.assertNotDestroyed();const S=wn(this),k=Yn(void 0);try{if(!(v&Mn.SkipSelf)){let le=this.records.get(i);if(void 0===le){const Le=("function"==typeof(r=i)||"object"==typeof r&&r instanceof ns)&&Ie(i);le=Le&&this.injectableDefInScope(Le)?Gc(I_(i),jh):null,this.records.set(i,le)}if(null!=le)return this.hydrate(i,le)}return(v&Mn.Self?R_():this.parent).get(i,c=v&Mn.Optional&&c===N?null:c)}catch(te){if("NullInjectorError"===te.name){if((te[Q]=te[Q]||[]).unshift(_(i)),S)throw te;return Xo(te,i,"R3InjectorError",this.source)}throw te}finally{Yn(k),wn(S)}var r}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(i=>this.get(i))}toString(){const i=[];return this.records.forEach((v,S)=>i.push(_(S))),`R3Injector[${i.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(i,c,v){if(!(i=D(i)))return!1;let S=ln(i);const k=null==S&&i.ngModule||void 0,te=void 0===k?i:k,le=-1!==v.indexOf(te);if(void 0!==k&&(S=ln(k)),null==S)return!1;if(null!=S.imports&&!le){let Qt;v.push(te);try{ki(S.imports,Pn=>{this.processInjectorType(Pn,c,v)&&(void 0===Qt&&(Qt=[]),Qt.push(Pn))})}finally{}if(void 0!==Qt)for(let Pn=0;Pn<Qt.length;Pn++){const{ngModule:Wn,providers:yr}=Qt[Pn];ki(yr,Ur=>this.processProvider(Ur,Wn,yr||Tt))}}this.injectorDefTypes.add(te);const Le=gi(te)||(()=>new te);this.records.set(te,Gc(Le,jh));const vt=S.providers;if(null!=vt&&!le){const Qt=i;ki(vt,Pn=>this.processProvider(Pn,Qt,vt))}return void 0!==k&&void 0!==i.providers}processProvider(i,c,v){let S=hp(i=D(i))?i:D(i&&i.provide);const k=Eg(r=i)?Gc(void 0,r.useValue):Gc(dc(r),jh);var r;if(hp(i)||!0!==i.multi)this.records.get(S);else{let te=this.records.get(S);te||(te=Gc(void 0,jh,!0),te.factory=()=>Pi(te.multi),this.records.set(S,te)),S=i,te.multi.push(i)}this.records.set(S,k)}hydrate(i,c){return c.value===jh&&(c.value=bg,c.value=c.factory()),"object"==typeof c.value&&c.value&&null!==(r=c.value)&&"object"==typeof r&&"function"==typeof r.ngOnDestroy&&this.onDestroy.add(c.value),c.value;var r}injectableDefInScope(i){if(!i.providedIn)return!1;const c=D(i.providedIn);return"string"==typeof c?"any"===c||c===this.scope:this.injectorDefTypes.has(c)}}function I_(r){const i=Ie(r),c=null!==i?i.factory:gi(r);if(null!==c)return c;if(r instanceof ns)throw new Error(`Token ${_(r)} is missing a \u0275prov definition.`);if(r instanceof Function)return function(r){const i=r.length;if(i>0){const v=pl(i,"?");throw new Error(`Can't resolve all parameters for ${_(r)}: (${v.join(", ")}).`)}const c=function(r){const i=r&&(r[ar]||r[Rn]);if(i){const c=function(r){if(r.hasOwnProperty("name"))return r.name;const i=(""+r).match(/^function\s*([^\s(]+)/);return null===i?"":i[1]}(r);return console.warn(`DEPRECATED: DI is instantiating a token "${c}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${c}" class.`),i}return null}(r);return null!==c?()=>c.factory(r):()=>new r}(r);throw new Error("unreachable")}function dc(r,i,c){let v;if(hp(r)){const S=D(r);return gi(S)||I_(S)}if(Eg(r))v=()=>D(r.useValue);else if(function(r){return!(!r||!r.useFactory)}(r))v=()=>r.useFactory(...Pi(r.deps||[]));else if(function(r){return!(!r||!r.useExisting)}(r))v=()=>sr(D(r.useExisting));else{const S=D(r&&(r.useClass||r.provide));if(!function(r){return!!r.deps}(r))return gi(S)||I_(S);v=()=>new S(...Pi(r.deps))}return v}function Gc(r,i,c=!1){return{factory:r,value:i,multi:c?[]:void 0}}function Eg(r){return null!==r&&"object"==typeof r&&Yt in r}function hp(r){return"function"==typeof r}const Cg=function(r,i,c){return function(r,i=null,c=null,v){const S=pp(r,i,c,v);return S._resolveInjectorDefTypes(),S}({name:c},i,r,c)};let oc=(()=>{class r{static create(c,v){return Array.isArray(c)?Cg(c,v,""):Cg(c.providers,c.parent,c.name||"")}}return r.THROW_IF_NOT_FOUND=N,r.NULL=new x_,r.\u0275prov=Qe({token:r,providedIn:"any",factory:()=>sr(sh)}),r.__NG_ELEMENT_ID__=-1,r})();function s1(r,i){eo($c(r)[1],Vo())}function Z_(r){let i=function(r){return Object.getPrototypeOf(r.prototype).constructor}(r.type),c=!0;const v=[r];for(;i;){let S;if(Ji(r))S=i.\u0275cmp||i.\u0275dir;else{if(i.\u0275cmp)throw new Error("Directives cannot inherit Components");S=i.\u0275dir}if(S){if(c){v.push(S);const te=r;te.inputs=vu(r.inputs),te.declaredInputs=vu(r.declaredInputs),te.outputs=vu(r.outputs);const le=S.hostBindings;le&&c1(r,le);const Le=S.viewQuery,vt=S.contentQueries;if(Le&&V_(r,Le),vt&&l1(r,vt),h(r.inputs,S.inputs),h(r.declaredInputs,S.declaredInputs),h(r.outputs,S.outputs),Ji(S)&&S.data.animation){const Qt=r.data;Qt.animation=(Qt.animation||[]).concat(S.data.animation)}}const k=S.features;if(k)for(let te=0;te<k.length;te++){const le=k[te];le&&le.ngInherit&&le(r),le===Z_&&(c=!1)}}i=Object.getPrototypeOf(i)}!function(r){let i=0,c=null;for(let v=r.length-1;v>=0;v--){const S=r[v];S.hostVars=i+=S.hostVars,S.hostAttrs=Yl(S.hostAttrs,c=Yl(c,S.hostAttrs))}}(v)}function vu(r){return r===mt?{}:r===Tt?[]:r}function V_(r,i){const c=r.viewQuery;r.viewQuery=c?(v,S)=>{i(v,S),c(v,S)}:i}function l1(r,i){const c=r.contentQueries;r.contentQueries=c?(v,S,k)=>{i(v,S,k),c(v,S,k)}:i}function c1(r,i){const c=r.hostBindings;r.hostBindings=c?(v,S)=>{i(v,S),c(v,S)}:i}let Zh=null;function Jf(){if(!Zh){const r=jn.Symbol;if(r&&r.iterator)Zh=r.iterator;else{const i=Object.getOwnPropertyNames(Map.prototype);for(let c=0;c<i.length;++c){const v=i[c];"entries"!==v&&"size"!==v&&Map.prototype[v]===Map.prototype.entries&&(Zh=v)}}}return Zh}class Nd{constructor(i){this.wrapped=i}static wrap(i){return new Nd(i)}static unwrap(i){return Nd.isWrapped(i)?i.wrapped:i}static isWrapped(i){return i instanceof Nd}}function ch(r){return!!z_(r)&&(Array.isArray(r)||!(r instanceof Map)&&Jf()in r)}function z_(r){return null!==r&&("function"==typeof r||"object"==typeof r)}function Qd(r,i,c){return r[i]=c}function uh(r,i){return r[i]}function nu(r,i,c){return!Object.is(r[i],c)&&(r[i]=c,!0)}function Ef(r,i,c,v){const S=nu(r,i,c);return nu(r,i+1,v)||S}function Vh(r,i,c,v,S){const k=Ef(r,i,c,v);return nu(r,i+2,S)||k}function nd(r,i,c,v,S,k){const te=Ef(r,i,c,v);return Ef(r,i+2,S,k)||te}function Tf(r,i,c,v){const S=Di();return nu(S,ii(),i)&&(vs(),function(r,i,c,v,S,k){const te=Ni(r,i);_g(i[11],te,k,r.value,c,v,S)}(dr(),S,r,i,c,v)),Tf}function _p(r,i,c,v){return nu(r,ii(),c)?i+M(c)+v:ca}function Cf(r,i,c,v,S,k){const le=Ef(r,Pr(),c,S);return si(2),le?i+M(c)+v+M(S)+k:ca}function B(r,i,c,v,S,k,te,le){const Le=Di(),vt=vs(),Qt=r+20,Pn=vt.firstCreatePass?function(r,i,c,v,S,k,te,le,Le){const vt=i.consts,Qt=ku(i,r,4,te||null,Ma(vt,le));jc(i,c,Qt,Ma(vt,Le)),eo(i,Qt);const Pn=Qt.tViews=Np(2,Qt,v,S,k,i.directiveRegistry,i.pipeRegistry,null,i.schemas,vt);return null!==i.queries&&(i.queries.template(i,Qt),Pn.queries=i.queries.embeddedTView(Qt)),Qt}(Qt,vt,Le,i,c,v,S,k,te):vt.data[Qt];ze(Pn,!1);const Wn=Le[11].createComment("");Ko(vt,Le,Wn,Pn),ec(Wn,Le),A_(Le,Le[Qt]=M_(Wn,Le,Wn,Pn)),no(Pn)&&rh(vt,Le,Pn),null!=te&&Rp(Le,Pn,le)}function gt(r){return ss($o.lFrame.contextLView,20+r)}function gp(r,i=Mn.Default){const c=Di();return null===c?sr(r,i):Gr(Vo(),c,D(r),i)}function g1(r,i,c){const v=Di();return nu(v,ii(),i)&&To(vs(),dr(),v,r,i,v[11],c,!1),g1}function m1(r,i,c,v,S){const te=S?"class":"style";yg(r,c,i.inputs[te],te,v)}function v1(r,i,c,v){const S=Di(),k=vs(),te=20+r,le=S[11],Le=S[te]=Dd(le,i,$o.lFrame.currentNamespace),vt=k.firstCreatePass?function(r,i,c,v,S,k,te){const le=i.consts,vt=ku(i,r,2,S,Ma(le,k));return jc(i,c,vt,Ma(le,te)),null!==vt.attrs&&qf(vt,vt.attrs,!1),null!==vt.mergedAttrs&&qf(vt,vt.mergedAttrs,!0),null!==i.queries&&i.queries.elementStart(i,vt),vt}(te,k,S,0,i,c,v):k.data[te];ze(vt,!0);const Qt=vt.mergedAttrs;null!==Qt&&bl(le,Le,Qt);const Pn=vt.classes;null!==Pn&&la(le,Le,Pn);const Wn=vt.styles;null!==Wn&&ps(le,Le,Wn),64!=(64&vt.flags)&&Ko(k,S,Le,vt),0===$o.lFrame.elementDepthCount&&ec(Le,S),$o.lFrame.elementDepthCount++,no(vt)&&(rh(k,S,vt),T_(k,vt,S)),null!==v&&Rp(S,vt)}function y1(){let r=Vo();wt()?kt():(r=r.parent,ze(r,!1));const i=r;$o.lFrame.elementDepthCount--;const c=vs();c.firstCreatePass&&(eo(c,r),go(r)&&c.queries.elementEnd(r)),null!=i.classesWithoutHost&&function(r){return 0!=(16&r.flags)}(i)&&m1(c,i,Di(),i.classesWithoutHost,!0),null!=i.stylesWithoutHost&&function(r){return 0!=(32&r.flags)}(i)&&m1(c,i,Di(),i.stylesWithoutHost,!1)}function Lv(r,i,c,v){v1(r,i,c,v),y1()}function b1(r,i,c){const v=Di(),S=vs(),k=r+20,te=S.firstCreatePass?function(r,i,c,v,S){const k=i.consts,te=Ma(k,v),le=ku(i,r,8,"ng-container",te);return null!==te&&qf(le,te,!0),jc(i,c,le,Ma(k,S)),null!==i.queries&&i.queries.elementStart(i,le),le}(k,S,v,i,c):S.data[k];ze(te,!0);const le=v[k]=v[11].createComment("");Ko(S,v,le,te),ec(le,v),no(te)&&(rh(S,v,te),T_(S,te,v)),null!=c&&Rp(v,te)}function E1(){let r=Vo();const i=vs();wt()?kt():(r=r.parent,ze(r,!1)),i.firstCreatePass&&(eo(i,r),go(r)&&i.queries.elementEnd(r))}function Fv(r,i,c){b1(r,i,c),E1()}function kv(){return Di()}function T1(r){return!!r&&"function"==typeof r.then}function Up(r){return!!r&&"function"==typeof r.subscribe}const Qg=Up;function C1(r,i,c,v){const S=Di(),k=vs(),te=Vo();return function(r,i,c,v,S,k,te,le){const Le=no(v),Qt=r.firstCreatePass&&vg(r),Pn=i[8],Wn=Sl(i);let yr=!0;if(3&v.type||le){const ri=Ni(v,i),So=le?le(ri):ri,Wi=Wn.length,Fs=le?ma=>le(ye(ma[v.index])):v.index;if(pt(c)){let ma=null;if(!le&&Le&&(ma=function(r,i,c,v){const S=r.cleanup;if(null!=S)for(let k=0;k<S.length-1;k+=2){const te=S[k];if(te===c&&S[k+1]===v){const le=i[7],Le=S[k+2];return le.length>Le?le[Le]:null}"string"==typeof te&&(k+=2)}return null}(r,i,S,v.index)),null!==ma)(ma.__ngLastListenerFn__||ma).__ngNextListenerFn__=k,ma.__ngLastListenerFn__=k,yr=!1;else{k=S1(v,i,Pn,k,!1);const gl=c.listen(So,S,k);Wn.push(k,gl),Qt&&Qt.push(S,Fs,Wi,Wi+1)}}else k=S1(v,i,Pn,k,!0),So.addEventListener(S,k,te),Wn.push(k),Qt&&Qt.push(S,Fs,Wi,te)}else k=S1(v,i,Pn,k,!1);const Ur=v.outputs;let Si;if(yr&&null!==Ur&&(Si=Ur[S])){const ri=Si.length;if(ri)for(let So=0;So<ri;So+=2){const Du=i[Si[So]][Si[So+1]].subscribe(k),np=Wn.length;Wn.push(k,Du),Qt&&Qt.push(S,v.index,np,-(np+1))}}}(k,S,S[11],te,r,i,!!c,v),C1}function Uv(r,i,c,v){try{return!1!==c(v)}catch(S){return oh(r,S),!1}}function S1(r,i,c,v,S){return function k(te){if(te===Function)return v;const le=2&r.flags?Lo(r.index,i):i;0==(32&i[2])&&gg(le);let Le=Uv(i,0,v,te),vt=k.__ngNextListenerFn__;for(;vt;)Le=Uv(i,0,vt,te)&&Le,vt=vt.__ngNextListenerFn__;return S&&!1===Le&&(te.preventDefault(),te.returnValue=!1),Le}}function jv(r=1){return function(r){return($o.lFrame.contextLView=function(r,i){for(;r>0;)i=i[15],r--;return i}(r,$o.lFrame.contextLView))[8]}(r)}function Ob(r,i){let c=null;const v=function(r){const i=r.attrs;if(null!=i){const c=i.indexOf(5);if(0==(1&c))return i[c+1]}return null}(r);for(let S=0;S<i.length;S++){const k=i[S];if("*"!==k){if(null===v?Eh(r,k,!0):d_(v,k))return S}else c=S}return c}function Bv(r){const i=Di()[16][6];if(!i.projection){const v=i.projection=pl(r?r.length:1,null),S=v.slice();let k=i.child;for(;null!==k;){const te=r?Ob(k,r):0;null!==te&&(S[te]?S[te].projectionNext=k:v[te]=k,S[te]=k),k=k.next}}}function Yv(r,i=0,c){const v=Di(),S=vs(),k=ku(S,20+r,16,null,c||null);null===k.projection&&(k.projection=i),kt(),64!=(64&k.flags)&&function(r,i,c){Gi(i[11],0,i,c,up(r,c,i),bn(c.parent||i[6],c,i))}(S,v,k)}function M1(r,i,c){return Xg(r,"",i,"",c),M1}function Xg(r,i,c,v,S){const k=Di(),te=_p(k,i,c,v);return te!==ca&&To(vs(),dr(),k,r,te,k[11],S,!1),Xg}function O1(r,i,c,v,S,k,te){const le=Di(),Le=Cf(le,i,c,v,S,k);return Le!==ca&&To(vs(),dr(),le,r,Le,le[11],te,!1),O1}function Qv(r,i,c,v,S){const k=r[c+1],te=null===i;let le=v?Ju(k):Gd(k),Le=!1;for(;0!==le&&(!1===Le||te);){const Qt=r[le+1];Db(r[le],i)&&(Le=!0,r[le+1]=v?Oh(Qt):zp(Qt)),le=v?Ju(Qt):Gd(Qt)}Le&&(r[c+1]=v?zp(k):Oh(k))}function Db(r,i){return null===r||null==i||(Array.isArray(r)?r[1]:r)===i||!(!Array.isArray(r)||"string"!=typeof i)&&el(r,i)>=0}const du={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Xv(r){return r.substring(du.key,du.keyEnd)}function Kv(r,i){const c=du.textEnd;return c===i?-1:(i=du.keyEnd=function(r,i,c){for(;i<c&&r.charCodeAt(i)>32;)i++;return i}(r,du.key=i,c),Wh(r,i,c))}function Wh(r,i,c){for(;i<c&&r.charCodeAt(i)<=32;)i++;return i}function A1(r,i,c){return Sf(r,i,c,!1),A1}function w1(r,i){return Sf(r,i,null,!0),w1}function i0(r){Mf(xl,sd,r,!0)}function sd(r,i){for(let c=function(r){return function(r){du.key=0,du.keyEnd=0,du.value=0,du.valueEnd=0,du.textEnd=r.length}(r),Kv(r,Wh(r,0,du.textEnd))}(i);c>=0;c=Kv(i,c))xl(r,Xv(i),!0)}function Sf(r,i,c,v){const S=Di(),k=vs(),te=si(2);k.firstUpdatePass&&Kg(k,r,te,v),i!==ca&&nu(S,te,i)&&s0(k,k.data[Un()],S,S[11],r,S[te+1]=function(r,i){return null==r||("string"==typeof i?r+=i:"object"==typeof r&&(r=_(Jc(r)))),r}(i,c),v,te)}function Mf(r,i,c,v){const S=vs(),k=si(2);S.firstUpdatePass&&Kg(S,null,k,v);const te=Di();if(c!==ca&&nu(te,k,c)){const le=S.data[Un()];if(l0(le,v)&&!D1(S,k)){let Le=v?le.classesWithoutHost:le.stylesWithoutHost;null!==Le&&(c=m(Le,c||"")),m1(S,le,te,c,v)}else!function(r,i,c,v,S,k,te,le){S===ca&&(S=Tt);let Le=0,vt=0,Qt=0<S.length?S[0]:null,Pn=0<k.length?k[0]:null;for(;null!==Qt||null!==Pn;){const Wn=Le<S.length?S[Le+1]:void 0,yr=vt<k.length?k[vt+1]:void 0;let Si,Ur=null;Qt===Pn?(Le+=2,vt+=2,Wn!==yr&&(Ur=Pn,Si=yr)):null===Pn||null!==Qt&&Qt<Pn?(Le+=2,Ur=Qt):(vt+=2,Ur=Pn,Si=yr),null!==Ur&&s0(r,i,c,v,Ur,Si,te,le),Qt=Le<S.length?S[Le]:null,Pn=vt<k.length?k[vt]:null}}(S,le,te,te[11],te[k+1],te[k+1]=function(r,i,c){if(null==c||""===c)return Tt;const v=[],S=Jc(c);if(Array.isArray(S))for(let k=0;k<S.length;k++)r(v,S[k],!0);else if("object"==typeof S)for(const k in S)S.hasOwnProperty(k)&&r(v,k,S[k]);else"string"==typeof S&&i(v,S);return v}(r,i,c),v,k)}}function D1(r,i){return i>=r.expandoStartIndex}function Kg(r,i,c,v){const S=r.data;if(null===S[c+1]){const k=S[Un()],te=D1(r,c);l0(k,v)&&null===i&&!te&&(i=!1),i=function(r,i,c,v){const S=hi(r);let k=v?i.residualClasses:i.residualStyles;if(null===S)0===(v?i.classBindings:i.styleBindings)&&(c=q_(c=x1(null,r,i,c,v),i.attrs,v),k=null);else{const te=i.directiveStylingLast;if(-1===te||r[te]!==S)if(c=x1(S,r,i,c,v),null===k){let Le=function(r,i,c){const v=c?i.classBindings:i.styleBindings;if(0!==Gd(v))return r[Ju(v)]}(r,i,v);void 0!==Le&&Array.isArray(Le)&&(Le=x1(null,r,i,Le[1],v),Le=q_(Le,i.attrs,v),function(r,i,c,v){r[Ju(c?i.classBindings:i.styleBindings)]=v}(r,i,v,Le))}else k=function(r,i,c){let v;const S=i.directiveEnd;for(let k=1+i.directiveStylingLast;k<S;k++)v=q_(v,r[k].hostAttrs,c);return q_(v,i.attrs,c)}(r,i,v)}return void 0!==k&&(v?i.residualClasses=k:i.residualStyles=k),c}(S,k,i,v),function(r,i,c,v,S,k){let te=k?i.classBindings:i.styleBindings,le=Ju(te),Le=Gd(te);r[v]=c;let Qt,vt=!1;if(Array.isArray(c)){const Pn=c;Qt=Pn[1],(null===Qt||el(Pn,Qt)>0)&&(vt=!0)}else Qt=c;if(S)if(0!==Le){const Wn=Ju(r[le+1]);r[v+1]=wp(Wn,le),0!==Wn&&(r[Wn+1]=dp(r[Wn+1],v)),r[le+1]=function(r,i){return 131071&r|i<<17}(r[le+1],v)}else r[v+1]=wp(le,0),0!==le&&(r[le+1]=dp(r[le+1],v)),le=v;else r[v+1]=wp(Le,0),0===le?le=v:r[Le+1]=dp(r[Le+1],v),Le=v;vt&&(r[v+1]=zp(r[v+1])),Qv(r,Qt,v,!0),Qv(r,Qt,v,!1),function(r,i,c,v,S){const k=S?r.residualClasses:r.residualStyles;null!=k&&"string"==typeof i&&el(k,i)>=0&&(c[v+1]=Oh(c[v+1]))}(i,Qt,r,v,k),te=wp(le,Le),k?i.classBindings=te:i.styleBindings=te}(S,k,i,c,te,v)}}function x1(r,i,c,v,S){let k=null;const te=c.directiveEnd;let le=c.directiveStylingLast;for(-1===le?le=c.directiveStart:le++;le<te&&(k=i[le],v=q_(v,k.hostAttrs,S),k!==r);)le++;return null!==r&&(c.directiveStylingLast=le),v}function q_(r,i,c){const v=c?1:2;let S=-1;if(null!==i)for(let k=0;k<i.length;k++){const te=i[k];"number"==typeof te?S=te:S===v&&(Array.isArray(r)||(r=void 0===r?[]:["",r]),xl(r,te,!!c||i[++k]))}return void 0===r?null:r}function s0(r,i,c,v,S,k,te,le){if(!(3&i.type))return;const Le=r.data,vt=Le[le+1];em(function(r){return 1==(1&r)}(vt)?a0(Le,i,c,S,Gd(vt),te):void 0)||(em(k)||function(r){return 2==(2&r)}(vt)&&(k=a0(Le,null,c,S,le,te)),function(r,i,c,v,S){const k=pt(r);if(i)S?k?r.addClass(c,v):c.classList.add(v):k?r.removeClass(c,v):c.classList.remove(v);else{let te=-1===v.indexOf("-")?void 0:tc.DashCase;if(null==S)k?r.removeStyle(c,v,te):c.style.removeProperty(v);else{const le="string"==typeof S&&S.endsWith("!important");le&&(S=S.slice(0,-10),te|=tc.Important),k?r.setStyle(c,v,S,te):c.style.setProperty(v,S,le?"important":"")}}}(v,te,Or(Un(),c),S,k))}function a0(r,i,c,v,S,k){const te=null===i;let le;for(;S>0;){const Le=r[S],vt=Array.isArray(Le),Qt=vt?Le[1]:Le,Pn=null===Qt;let Wn=c[S+1];Wn===ca&&(Wn=Pn?Tt:void 0);let yr=Pn?Vl(Wn,v):Qt===v?Wn:void 0;if(vt&&!em(yr)&&(yr=Vl(Le,v)),em(yr)&&(le=yr,te))return le;const Ur=r[S+1];S=te?Ju(Ur):Gd(Ur)}if(null!==i){let Le=k?i.residualClasses:i.residualStyles;null!=Le&&(le=Vl(Le,v))}return le}function em(r){return void 0!==r}function l0(r,i){return 0!=(r.flags&(i?16:32))}function c0(r,i=""){const c=Di(),v=vs(),S=r+20,k=v.firstCreatePass?ku(v,S,1,i,null):v.data[S],te=c[S]=Mc(c[11],i);Ko(v,c,te,k),ze(k,!1)}function R1(r){return tm("",r,""),R1}function tm(r,i,c){const v=Di(),S=_p(v,r,i,c);return S!==ca&&Nl(v,Un(),S),tm}function N1(r,i,c,v,S){const k=Di(),te=Cf(k,r,i,c,v,S);return te!==ca&&Nl(k,Un(),te),N1}function P1(r,i,c,v,S,k,te){const le=Di(),Le=function(r,i,c,v,S,k,te,le){const vt=Vh(r,Pr(),c,S,te);return si(3),vt?i+M(c)+v+M(S)+k+M(te)+le:ca}(le,r,i,c,v,S,k,te);return Le!==ca&&Nl(le,Un(),Le),P1}function g0(r,i,c){Mf(xl,sd,_p(Di(),r,i,c),!0)}function m0(r,i,c,v,S){Mf(xl,sd,Cf(Di(),r,i,c,v,S),!0)}function v0(r,i,c,v,S,k,te,le,Le){Mf(xl,sd,function(r,i,c,v,S,k,te,le,Le,vt){const Pn=nd(r,Pr(),c,S,te,Le);return si(4),Pn?i+M(c)+v+M(S)+k+M(te)+le+M(Le)+vt:ca}(Di(),r,i,c,v,S,k,te,le,Le),!0)}function I1(r,i,c){const v=Di();return nu(v,ii(),i)&&To(vs(),dr(),v,r,i,v[11],c,!0),I1}function L1(r,i,c){const v=Di();if(nu(v,ii(),i)){const k=vs(),te=dr();To(k,te,v,r,i,function(r,i,c){return(null===r||Ji(r))&&(c=function(r){for(;Array.isArray(r);){if("object"==typeof r[1])return r;r=r[0]}return null}(c[i.index])),c[11]}(hi(k.data),te,v),c,!0)}return L1}const dh=void 0;var sE=["en",[["a","p"],["AM","PM"],dh],[["AM","PM"],dh,dh],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],dh,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],dh,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",dh,"{1} 'at' {0}",dh],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(r){const i=Math.floor(Math.abs(r)),c=r.toString().replace(/^[^.]*\.?/,"").length;return 1===i&&0===c?1:5}];let qh={};function F1(r){const i=function(r){return r.toLowerCase().replace(/_/g,"-")}(r);let c=D0(i);if(c)return c;const v=i.split("-")[0];if(c=D0(v),c)return c;if("en"===v)return sE;throw new Error(`Missing locale data for the locale "${r}".`)}function w0(r){return F1(r)[Qs.PluralCase]}function D0(r){return r in qh||(qh[r]=jn.ng&&jn.ng.common&&jn.ng.common.locales&&jn.ng.common.locales[r]),qh[r]}var Qs=(()=>((Qs=Qs||{})[Qs.LocaleId=0]="LocaleId",Qs[Qs.DayPeriodsFormat=1]="DayPeriodsFormat",Qs[Qs.DayPeriodsStandalone=2]="DayPeriodsStandalone",Qs[Qs.DaysFormat=3]="DaysFormat",Qs[Qs.DaysStandalone=4]="DaysStandalone",Qs[Qs.MonthsFormat=5]="MonthsFormat",Qs[Qs.MonthsStandalone=6]="MonthsStandalone",Qs[Qs.Eras=7]="Eras",Qs[Qs.FirstDayOfWeek=8]="FirstDayOfWeek",Qs[Qs.WeekendRange=9]="WeekendRange",Qs[Qs.DateFormat=10]="DateFormat",Qs[Qs.TimeFormat=11]="TimeFormat",Qs[Qs.DateTimeFormat=12]="DateTimeFormat",Qs[Qs.NumberSymbols=13]="NumberSymbols",Qs[Qs.NumberFormats=14]="NumberFormats",Qs[Qs.CurrencyCode=15]="CurrencyCode",Qs[Qs.CurrencySymbol=16]="CurrencySymbol",Qs[Qs.CurrencyName=17]="CurrencyName",Qs[Qs.Currencies=18]="Currencies",Qs[Qs.Directionality=19]="Directionality",Qs[Qs.PluralCase=20]="PluralCase",Qs[Qs.ExtraData=21]="ExtraData",Qs))();const x0=["zero","one","two","few","many"],nm="en-US",rm={marker:"element"},im={marker:"ICU"};var Bc=(()=>((Bc=Bc||{})[Bc.SHIFT=2]="SHIFT",Bc[Bc.APPEND_EAGERLY=1]="APPEND_EAGERLY",Bc[Bc.COMMENT=2]="COMMENT",Bc))();let N0=nm;function k1(r){(function(r,i){null==r&<(i,r,null,"!=")})(r,"Expected localeId to be defined"),"string"==typeof r&&(N0=r.toLowerCase().replace(/_/g,"-"))}function P0(r,i,c){const v=i.insertBeforeIndex,S=Array.isArray(v)?v[0]:v;return null===S?rr(r,0,c):ye(c[S])}function I0(r,i,c,v,S){const k=i.insertBeforeIndex;if(Array.isArray(k)){let te=v,le=null;if(3&i.type||(le=te,te=S),null!==te&&0==(2&i.flags))for(let Le=1;Le<k.length;Le++)T(r,te,c[k[Le]],le,!1)}}function L0(r,i){if(r.push(i),r.length>1)for(let c=r.length-2;c>=0;c--){const v=r[c];om(v)||F0(v,i)&&null===$1(v)&&uE(v,i.index)}}function om(r){return!(64&r.type)}function F0(r,i){return om(i)||r.index>i.index}function $1(r){const i=r.insertBeforeIndex;return Array.isArray(i)?i[0]:i}function uE(r,i){const c=r.insertBeforeIndex;Array.isArray(c)?c[0]=i:(co(P0,I0),r.insertBeforeIndex=i)}function J_(r,i){const c=r.data[i];return null===c||"string"==typeof c?null:c.hasOwnProperty("currentCaseLViewIndex")?c:c.value}function pE(r,i,c){const v=qd(r,c,64,null,null);return L0(i,v),v}function sm(r,i){const c=i[r.currentCaseLViewIndex];return null===c?c:c<0?~c:c}function k0(r){return r>>>17}function $0(r){return(131070&r)>>>1}let Q_=0,X_=0;function H0(r,i,c,v){const S=c[11];let te,k=null;for(let le=0;le<i.length;le++){const Le=i[le];if("string"==typeof Le){const vt=i[++le];null===c[vt]&&(c[vt]=Mc(S,Le))}else if("number"==typeof Le)switch(1&Le){case 0:const vt=k0(Le);let Qt,Pn;if(null===k&&(k=vt,te=tt(S,v)),vt===k?(Qt=v,Pn=te):(Qt=null,Pn=ye(c[vt])),null!==Pn){const Si=$0(Le);T(S,Pn,c[Si],Qt,!1);const So=J_(r,Si);if(null!==So&&"object"==typeof So){const Wi=sm(So,c);null!==Wi&&H0(r,So.create[Wi],c,c[So.anchorIdx])}}break;case 1:const yr=i[++le],Ur=i[++le];_g(S,Or(Le>>>1,c),null,null,yr,Ur,null);break;default:throw new Error(`Unable to determine the type of mutate operation for "${Le}"`)}else switch(Le){case im:const vt=i[++le],Qt=i[++le];null===c[Qt]&&ec(c[Qt]=jf(S,vt),c);break;case rm:const Pn=i[++le],Wn=i[++le];null===c[Wn]&&ec(c[Wn]=Dd(S,Pn,null),c)}}}function U0(r,i,c,v,S){for(let k=0;k<c.length;k++){const te=c[k],le=c[++k];if(te&S){let Le="";for(let vt=k+1;vt<=k+le;vt++){const Qt=c[vt];if("string"==typeof Qt)Le+=Qt;else if("number"==typeof Qt)if(Qt<0)Le+=M(i[v-Qt]);else{const Pn=Qt>>>2;switch(3&Qt){case 1:const Wn=c[++vt],yr=c[++vt],Ur=r.data[Pn];"string"==typeof Ur?_g(i[11],i[Pn],null,Ur,Wn,Le,yr):To(r,Ur,i,Wn,Le,i[11],yr,!1);break;case 0:const Si=i[Pn];null!==Si&&Iu(i[11],Si,Le);break;case 2:vE(r,J_(r,Pn),i,Le);break;case 3:j0(r,J_(r,Pn),v,i)}}}}else{const Le=c[k+1];if(Le>0&&3==(3&Le)){const Qt=J_(r,Le>>>2);i[Qt.currentCaseLViewIndex]<0&&j0(r,Qt,v,i)}}k+=le}}function j0(r,i,c,v){let S=v[i.currentCaseLViewIndex];if(null!==S){let k=Q_;S<0&&(S=v[i.currentCaseLViewIndex]=~S,k=-1),U0(r,v,i.update[S],c,k)}}function vE(r,i,c,v){const S=function(r,i){let c=r.cases.indexOf(i);if(-1===c)switch(r.type){case 1:{const v=function(r,i){const c=w0(i)(parseInt(r,10)),v=x0[c];return void 0!==v?v:"other"}(i,N0);c=r.cases.indexOf(v),-1===c&&"other"!==v&&(c=r.cases.indexOf("other"));break}case 0:c=r.cases.indexOf("other")}return-1===c?null:c}(i,v);if(sm(i,c)!==S&&(B0(r,i,c),c[i.currentCaseLViewIndex]=null===S?null:~S,null!==S)){const te=c[i.anchorIdx];te&&H0(r,i.create[S],c,te)}}function B0(r,i,c){let v=sm(i,c);if(null!==v){const S=i.remove[v];for(let k=0;k<S.length;k++){const te=S[k];if(te>0){const le=Or(te,c);null!==le&&Vs(c[11],le)}else B0(r,J_(r,~te),c)}}}function bE(){const r=[];let c,v,i=-1;function k(le,Le){i=0;const vt=sm(le,Le);v=null!==vt?le.remove[vt]:Tt}function te(){if(i<v.length){const le=v[i++];return le>0?c[le]:(r.push(i,v),k(c[1].data[~le],c),te())}return 0===r.length?null:(v=r.pop(),i=r.pop(),te())}return function(le,Le){for(c=Le;r.length;)r.pop();return k(le.value,Le),te}}const am=/\ufffd(\d+):?\d*\ufffd/gi,Z0=/({\s*\ufffd\d+:?\d*\ufffd\s*,\s*\S{6}\s*,[\s\S]*})/gi,TE=/\ufffd(\d+)\ufffd/,Jh=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,V0=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,CE=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,SE=/\uE500/g;function G0(r,i,c,v,S,k,te){const le=Jd(r,v,1,null);let Le=le<<Bc.SHIFT,vt=hs();i===vt&&(vt=null),null===vt&&(Le|=Bc.APPEND_EAGERLY),te&&(Le|=Bc.COMMENT,function(r){void 0===qu&&(qu=r())}(bE)),S.push(Le,null===k?"":k);const Qt=qd(r,le,te?32:1,null===k?"":k,null);L0(c,Qt);const Pn=Qt.index;return ze(Qt,!1),null!==vt&&i!==vt&&function(r,i){let c=r.insertBeforeIndex;null===c?(co(P0,I0),c=r.insertBeforeIndex=[null,i]):(function(r,i,c){r!=i&<(c,r,i,"==")}(Array.isArray(c),!0,"Expecting array here"),c.push(i))}(vt,Pn),Qt}function Qh(r,i,c,v,S,k,te){const le=te.match(am),Le=G0(r,i,c,k,v,le?null:te,!1);le&&Xh(S,te,Le.index,null,0,null)}function Xh(r,i,c,v,S,k){const te=r.length,le=te+1;r.push(null,null);const Le=te+2,vt=i.split(am);let Qt=0;for(let Pn=0;Pn<vt.length;Pn++){const Wn=vt[Pn];if(1&Pn){const yr=S+parseInt(Wn,10);r.push(-1-yr),Qt|=q0(yr)}else""!==Wn&&r.push(Wn)}return r.push(c<<2|(v?1:0)),v&&r.push(v,k),r[te]=Qt,r[le]=r.length-Le,Qt}function W0(r){let i=0;for(let c=0;c<r.length;c++){const v=r[c];"number"==typeof v&&v<0&&i++}return i}function q0(r){return 1<<Math.min(r,31)}function U1(r){let i,k,c="",v=0,S=!1;for(;null!==(i=V0.exec(r));)S?i[0]===`\ufffd/*${k}\ufffd`&&(v=i.index,S=!1):(c+=r.substring(v,i.index+i[0].length),k=i[1],S=!0);return c+=r.substr(v),c}function J0(r,i,c,v,S,k){let te=0;const le={type:S.type,currentCaseLViewIndex:Jd(r,i,1,null),anchorIdx:k,cases:[],create:[],remove:[],update:[]};(function(r,i,c){r.push(q0(i.mainBinding),2,-1-i.mainBinding,c<<2|2)})(c,S,k),function(r,i,c){const v=r.data[i];null===v?r.data[i]=c:v.value=c}(r,k,le);const Le=S.values;for(let vt=0;vt<Le.length;vt++){const Qt=Le[vt],Pn=[];for(let Wn=0;Wn<Qt.length;Wn++){const yr=Qt[Wn];if("string"!=typeof yr){const Ur=Pn.push(yr)-1;Qt[Wn]=`\x3c!--\ufffd${Ur}\ufffd--\x3e`}}te=DE(r,le,i,c,v,S.cases[vt],Qt.join(""),Pn)|te}te&&function(r,i,c){r.push(i,1,c<<2|3)}(c,te,k)}function Q0(r){const i=[],c=[];let v=1,S=0;const k=j1(r=r.replace(Jh,function(te,le,Le){return v="select"===Le?0:1,S=parseInt(le.substr(1),10),""}));for(let te=0;te<k.length;){let le=k[te++].trim();1===v&&(le=le.replace(/\s*(?:=)?(\w+)\s*/,"$1")),le.length&&i.push(le);const Le=j1(k[te++]);i.length>c.length&&c.push(Le)}return{type:v,mainBinding:S,cases:i,values:c}}function j1(r){if(!r)return[];let i=0;const c=[],v=[],S=/[{}]/g;let k;for(S.lastIndex=0;k=S.exec(r);){const le=k.index;if("}"==k[0]){if(c.pop(),0==c.length){const Le=r.substring(i,le);Jh.test(Le)?v.push(Q0(Le)):v.push(Le),i=le+1}}else{if(0==c.length){const Le=r.substring(i,le);v.push(Le),i=le+1}c.push("{")}}const te=r.substring(i);return v.push(te),v}function DE(r,i,c,v,S,k,te,le){const Le=[],vt=[],Qt=[];i.cases.push(k),i.create.push(Le),i.remove.push(vt),i.update.push(Qt);const Wn=Ad(ks()).getInertBodyElement(te),yr=us(Wn)||Wn;return yr?X0(r,i,c,v,Le,vt,Qt,yr,S,le,0):0}function X0(r,i,c,v,S,k,te,le,Le,vt,Qt){let Pn=0,Wn=le.firstChild;for(;Wn;){const yr=Jd(r,c,1,null);switch(Wn.nodeType){case Node.ELEMENT_NODE:const Ur=Wn,Si=Ur.tagName.toLowerCase();if(V.hasOwnProperty(Si)){B1(S,rm,Si,Le,yr),r.data[yr]=Si;const Fs=Ur.attributes;for(let ma=0;ma<Fs.length;ma++){const gl=Fs.item(ma),Du=gl.name.toLowerCase();gl.value.match(am)?Rt.hasOwnProperty(Du)&&Xh(te,gl.value,yr,gl.name,0,pe[Du]?Cu:A[Du]?dd:null):PE(S,yr,gl)}Pn=X0(r,i,c,v,S,k,te,Wn,yr,vt,Qt+1)|Pn,K0(k,yr,Qt)}break;case Node.TEXT_NODE:const ri=Wn.textContent||"",So=ri.match(am);B1(S,null,So?"":ri,Le,yr),K0(k,yr,Qt),So&&(Pn=Xh(te,ri,yr,null,0,null)|Pn);break;case Node.COMMENT_NODE:const Wi=TE.exec(Wn.textContent||"");if(Wi){const ma=vt[parseInt(Wi[1],10)];B1(S,im,"",Le,yr),J0(r,c,v,Le,ma,yr),xE(k,yr,Qt)}}Wn=Wn.nextSibling}return Pn}function K0(r,i,c){0===c&&r.push(i)}function xE(r,i,c){0===c&&(r.push(~i),r.push(i))}function B1(r,i,c,v,S){null!==i&&r.push(i),r.push(c,S,function(r,i,c){return 0|i<<17|c<<1}(0,v,S))}function PE(r,i,c){r.push(i<<1|1,c.name,c.value)}const IE=/\[(\ufffd.+?\ufffd?)\]/,LE=/\[(\ufffd.+?\ufffd?)\]|(\ufffd\/?\*\d+:\d+\ufffd)/g,FE=/({\s*)(VAR_(PLURAL|SELECT)(_\d+)?)(\s*,)/g,kE=/{([A-Z0-9_]+)}/g,ty=/\ufffdI18N_EXP_(ICU(_\d+)?)\ufffd/g,PC=/\/\*/,$E=/\d+\:(\d+)/;function Y1(r,i,c=-1){const v=vs(),S=Di(),k=20+r,te=Ma(v.consts,i),le=hs();v.firstCreatePass&&function(r,i,c,v,S,k){const te=hs(),le=[],Le=[],vt=[[]],Qt=function(r){return r.replace(SE," ")}(S=function(r,i){if(function(r){return-1===r}(i))return U1(r);{const c=r.indexOf(`:${i}\ufffd`)+2+i.toString().length,v=r.search(new RegExp(`\ufffd\\/\\*\\d+:${i}\ufffd`));return U1(r.substring(c,v))}}(S,k)).split(CE);for(let Pn=0;Pn<Qt.length;Pn++){let Wn=Qt[Pn];if(0==(1&Pn)){const yr=j1(Wn);for(let Ur=0;Ur<yr.length;Ur++){let Si=yr[Ur];if(0==(1&Ur)){const ri=Si;""!==ri&&Qh(r,te,vt[0],le,Le,c,ri)}else{const ri=Si;if("object"!=typeof ri)throw new Error(`Unable to parse ICU expression in "${S}" message.`);J0(r,c,Le,i,ri,G0(r,te,vt[0],c,le,"",!0).index)}}}else{const yr=47===Wn.charCodeAt(0),Si=(Wn.charCodeAt(yr?1:0),20+Number.parseInt(Wn.substring(yr?2:1)));if(yr)vt.shift(),ze(hs(),!1);else{const ri=pE(r,vt[0],Si);vt.unshift([]),ze(ri,!0)}}}r.data[v]={create:le,update:Le}}(v,null===le?0:le.index,S,k,te,c);const Le=v.data[k],Qt=gf(v,le===S[6]?null:le,S);(function(r,i,c,v){const S=r[11];for(let k=0;k<i.length;k++){const te=i[k++],le=i[k],Le=(te&Bc.COMMENT)===Bc.COMMENT,vt=(te&Bc.APPEND_EAGERLY)===Bc.APPEND_EAGERLY,Qt=te>>>Bc.SHIFT;let Pn=r[Qt];null===Pn&&(Pn=r[Qt]=Le?S.createComment(le):Mc(S,le)),vt&&null!==c&&T(S,c,Pn,v,!1)}})(S,Le.create,Qt,le&&8&le.type?S[le.index]:null),Ui(!0)}function eg(){Ui(!1)}function lm(r,i,c){Y1(r,i,c),eg()}function ny(r,i){const c=vs();!function(r,i,c){const S=Vo().index,k=[];if(r.firstCreatePass&&null===r.data[i]){for(let te=0;te<c.length;te+=2){const le=c[te],Le=c[te+1];if(""!==Le){if(Z0.test(Le))throw new Error(`ICU expressions are not supported in attributes. Message: "${Le}".`);Xh(k,Le,S,le,W0(k),null)}}r.data[i]=k}}(c,r+20,Ma(c.consts,i))}function Z1(r){return function(r){r&&(Q_|=1<<Math.min(X_,31)),X_++}(nu(Di(),ii(),r)),Z1}function ry(r){!function(r,i,c){if(X_>0){const v=r.data[c];U0(r,i,Array.isArray(v)?v:v.update,Pr()-X_-1,Q_)}Q_=0,X_=0}(vs(),Di(),r+20)}function iy(r,i={}){return function(r,i={}){let c=r;if(IE.test(r)){const v={},S=[0];c=c.replace(LE,(k,te,le)=>{const Le=te||le,vt=v[Le]||[];if(vt.length||(Le.split("|").forEach(Si=>{const ri=Si.match($E),So=ri?parseInt(ri[1],10):0,Wi=PC.test(Si);vt.push([So,Wi,Si])}),v[Le]=vt),!vt.length)throw new Error(`i18n postprocess: unmatched placeholder - ${Le}`);const Qt=S[S.length-1];let Pn=0;for(let Si=0;Si<vt.length;Si++)if(vt[Si][0]===Qt){Pn=Si;break}const[Wn,yr,Ur]=vt[Pn];return yr?S.pop():Qt!==Wn&&S.push(Wn),vt.splice(Pn,1),Ur})}return Object.keys(i).length&&(c=c.replace(FE,(v,S,k,te,le,Le)=>i.hasOwnProperty(k)?`${S}${i[k]}${Le}`:v),c=c.replace(kE,(v,S)=>i.hasOwnProperty(S)?i[S]:v),c=c.replace(ty,(v,S)=>{if(i.hasOwnProperty(S)){const k=i[S];if(!k.length)throw new Error(`i18n postprocess: unmatched ICU - ${v} with key: ${S}`);return k.shift()}return v})),c}(r,i)}function tg(r,i,c,v,S){if(r=D(r),Array.isArray(r))for(let k=0;k<r.length;k++)tg(r[k],i,c,v,S);else{const k=vs(),te=Di();let le=hp(r)?r:D(r.provide),Le=dc(r);const vt=Vo(),Qt=1048575&vt.providerIndexes,Pn=vt.directiveStart,Wn=vt.providerIndexes>>20;if(hp(r)||!r.multi){const yr=new Es(Le,S,gp),Ur=G1(le,i,S?Qt:Qt+Wn,Pn);-1===Ur?(kn(Dt(vt,te),k,le),V1(k,r,i.length),i.push(le),vt.directiveStart++,vt.directiveEnd++,S&&(vt.providerIndexes+=1048576),c.push(yr),te.push(yr)):(c[Ur]=yr,te[Ur]=yr)}else{const yr=G1(le,i,Qt+Wn,Pn),Ur=G1(le,i,Qt,Qt+Wn),Si=yr>=0&&c[yr],ri=Ur>=0&&c[Ur];if(S&&!ri||!S&&!Si){kn(Dt(vt,te),k,le);const So=function(r,i,c,v,S){const k=new Es(r,c,gp);return k.multi=[],k.index=i,k.componentProviders=0,sy(k,S,v&&!c),k}(S?jE:UE,c.length,S,v,Le);!S&&ri&&(c[Ur].providerFactory=So),V1(k,r,i.length,0),i.push(le),vt.directiveStart++,vt.directiveEnd++,S&&(vt.providerIndexes+=1048576),c.push(So),te.push(So)}else V1(k,r,yr>-1?yr:Ur,sy(c[S?Ur:yr],Le,!S&&v));!S&&v&&ri&&c[Ur].componentProviders++}}}function V1(r,i,c,v){const S=hp(i);if(S||function(r){return!!r.useClass}(i)){const te=(i.useClass||i).prototype.ngOnDestroy;if(te){const le=r.destroyHooks||(r.destroyHooks=[]);if(!S&&i.multi){const Le=le.indexOf(c);-1===Le?le.push(c,[v,te]):le[Le+1].push(v,te)}else le.push(c,te)}}}function sy(r,i,c){return c&&r.componentProviders++,r.multi.push(i)-1}function G1(r,i,c,v){for(let S=c;S<v;S++)if(i[S]===r)return S;return-1}function UE(r,i,c,v){return z1(this.multi,[])}function jE(r,i,c,v){const S=this.multi;let k;if(this.providerFactory){const te=this.providerFactory.componentProviders,le=fo(c,c[1],this.providerFactory.index,v);k=le.slice(0,te),z1(S,k);for(let Le=te;Le<le.length;Le++)k.push(le[Le])}else k=[],z1(S,k);return k}function z1(r,i){for(let c=0;c<r.length;c++)i.push((0,r[c])());return i}function ay(r,i=[]){return c=>{c.providersResolver=(v,S)=>function(r,i,c){const v=vs();if(v.firstCreatePass){const S=Ji(r);tg(c,v.data,v.blueprint,S,!0),tg(i,v.data,v.blueprint,S,!1)}}(v,S?S(r):r,i)}}class ly{}class cy{}const dy="ngComponent";class YE{resolveComponentFactory(i){throw function(r){const i=Error(`No component factory found for ${_(r)}. Did you add it to @NgModule.entryComponents?`);return i[dy]=r,i}(i)}}let Kh=(()=>{class r{}return r.NULL=new YE,r})();function cm(...r){}function e_(r,i){return new tp(Ni(r,i))}const GE=function(){return e_(Vo(),Di())};let tp=(()=>{class r{constructor(c){this.nativeElement=c}}return r.__NG_ELEMENT_ID__=GE,r})();function fy(r){return r instanceof tp?r.nativeElement:r}class um{}let zE=(()=>{class r{}return r.__NG_ELEMENT_ID__=()=>qE(),r})();const qE=function(){const r=Di(),c=Lo(Vo().index,r);return function(r){return r[11]}(Ei(c)?c:r)};let q1=(()=>{class r{}return r.\u0275prov=Qe({token:r,providedIn:"root",factory:()=>null}),r})();class py{constructor(i){this.full=i,this.major=i.split(".")[0],this.minor=i.split(".")[1],this.patch=i.split(".").slice(2).join(".")}}const dm=new py("12.2.13");class hy{constructor(){}supports(i){return ch(i)}create(i){return new KE(i)}}const XE=(r,i)=>i;class KE{constructor(i){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=i||XE}forEachItem(i){let c;for(c=this._itHead;null!==c;c=c._next)i(c)}forEachOperation(i){let c=this._itHead,v=this._removalsHead,S=0,k=null;for(;c||v;){const te=!v||c&&c.currentIndex<gy(v,S,k)?c:v,le=gy(te,S,k),Le=te.currentIndex;if(te===v)S--,v=v._nextRemoved;else if(c=c._next,null==te.previousIndex)S++;else{k||(k=[]);const vt=le-S,Qt=Le-S;if(vt!=Qt){for(let Wn=0;Wn<vt;Wn++){const yr=Wn<k.length?k[Wn]:k[Wn]=0,Ur=yr+Wn;Qt<=Ur&&Ur<vt&&(k[Wn]=yr+1)}k[te.previousIndex]=Qt-vt}}le!==Le&&i(te,le,Le)}}forEachPreviousItem(i){let c;for(c=this._previousItHead;null!==c;c=c._nextPrevious)i(c)}forEachAddedItem(i){let c;for(c=this._additionsHead;null!==c;c=c._nextAdded)i(c)}forEachMovedItem(i){let c;for(c=this._movesHead;null!==c;c=c._nextMoved)i(c)}forEachRemovedItem(i){let c;for(c=this._removalsHead;null!==c;c=c._nextRemoved)i(c)}forEachIdentityChange(i){let c;for(c=this._identityChangesHead;null!==c;c=c._nextIdentityChange)i(c)}diff(i){if(null==i&&(i=[]),!ch(i))throw new Error(`Error trying to diff '${_(i)}'. Only arrays and iterables are allowed`);return this.check(i)?this:null}onDestroy(){}check(i){this._reset();let S,k,te,c=this._itHead,v=!1;if(Array.isArray(i)){this.length=i.length;for(let le=0;le<this.length;le++)k=i[le],te=this._trackByFn(le,k),null!==c&&Object.is(c.trackById,te)?(v&&(c=this._verifyReinsertion(c,k,te,le)),Object.is(c.item,k)||this._addIdentityChange(c,k)):(c=this._mismatch(c,k,te,le),v=!0),c=c._next}else S=0,function(r,i){if(Array.isArray(r))for(let c=0;c<r.length;c++)i(r[c]);else{const c=r[Jf()]();let v;for(;!(v=c.next()).done;)i(v.value)}}(i,le=>{te=this._trackByFn(S,le),null!==c&&Object.is(c.trackById,te)?(v&&(c=this._verifyReinsertion(c,le,te,S)),Object.is(c.item,le)||this._addIdentityChange(c,le)):(c=this._mismatch(c,le,te,S),v=!0),c=c._next,S++}),this.length=S;return this._truncate(c),this.collection=i,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let i;for(i=this._previousItHead=this._itHead;null!==i;i=i._next)i._nextPrevious=i._next;for(i=this._additionsHead;null!==i;i=i._nextAdded)i.previousIndex=i.currentIndex;for(this._additionsHead=this._additionsTail=null,i=this._movesHead;null!==i;i=i._nextMoved)i.previousIndex=i.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(i,c,v,S){let k;return null===i?k=this._itTail:(k=i._prev,this._remove(i)),null!==(i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(v,null))?(Object.is(i.item,c)||this._addIdentityChange(i,c),this._reinsertAfter(i,k,S)):null!==(i=null===this._linkedRecords?null:this._linkedRecords.get(v,S))?(Object.is(i.item,c)||this._addIdentityChange(i,c),this._moveAfter(i,k,S)):i=this._addAfter(new eT(c,v),k,S),i}_verifyReinsertion(i,c,v,S){let k=null===this._unlinkedRecords?null:this._unlinkedRecords.get(v,null);return null!==k?i=this._reinsertAfter(k,i._prev,S):i.currentIndex!=S&&(i.currentIndex=S,this._addToMoves(i,S)),i}_truncate(i){for(;null!==i;){const c=i._next;this._addToRemovals(this._unlink(i)),i=c}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(i,c,v){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(i);const S=i._prevRemoved,k=i._nextRemoved;return null===S?this._removalsHead=k:S._nextRemoved=k,null===k?this._removalsTail=S:k._prevRemoved=S,this._insertAfter(i,c,v),this._addToMoves(i,v),i}_moveAfter(i,c,v){return this._unlink(i),this._insertAfter(i,c,v),this._addToMoves(i,v),i}_addAfter(i,c,v){return this._insertAfter(i,c,v),this._additionsTail=null===this._additionsTail?this._additionsHead=i:this._additionsTail._nextAdded=i,i}_insertAfter(i,c,v){const S=null===c?this._itHead:c._next;return i._next=S,i._prev=c,null===S?this._itTail=i:S._prev=i,null===c?this._itHead=i:c._next=i,null===this._linkedRecords&&(this._linkedRecords=new _y),this._linkedRecords.put(i),i.currentIndex=v,i}_remove(i){return this._addToRemovals(this._unlink(i))}_unlink(i){null!==this._linkedRecords&&this._linkedRecords.remove(i);const c=i._prev,v=i._next;return null===c?this._itHead=v:c._next=v,null===v?this._itTail=c:v._prev=c,i}_addToMoves(i,c){return i.previousIndex===c||(this._movesTail=null===this._movesTail?this._movesHead=i:this._movesTail._nextMoved=i),i}_addToRemovals(i){return null===this._unlinkedRecords&&(this._unlinkedRecords=new _y),this._unlinkedRecords.put(i),i.currentIndex=null,i._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=i,i._prevRemoved=null):(i._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=i),i}_addIdentityChange(i,c){return i.item=c,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=i:this._identityChangesTail._nextIdentityChange=i,i}}class eT{constructor(i,c){this.item=i,this.trackById=c,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class tT{constructor(){this._head=null,this._tail=null}add(i){null===this._head?(this._head=this._tail=i,i._nextDup=null,i._prevDup=null):(this._tail._nextDup=i,i._prevDup=this._tail,i._nextDup=null,this._tail=i)}get(i,c){let v;for(v=this._head;null!==v;v=v._nextDup)if((null===c||c<=v.currentIndex)&&Object.is(v.trackById,i))return v;return null}remove(i){const c=i._prevDup,v=i._nextDup;return null===c?this._head=v:c._nextDup=v,null===v?this._tail=c:v._prevDup=c,null===this._head}}class _y{constructor(){this.map=new Map}put(i){const c=i.trackById;let v=this.map.get(c);v||(v=new tT,this.map.set(c,v)),v.add(i)}get(i,c){const S=this.map.get(i);return S?S.get(i,c):null}remove(i){const c=i.trackById;return this.map.get(c).remove(i)&&this.map.delete(c),i}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function gy(r,i,c){const v=r.previousIndex;if(null===v)return v;let S=0;return c&&v<c.length&&(S=c[v]),v+i+S}class my{constructor(){}supports(i){return i instanceof Map||z_(i)}create(){return new nT}}class nT{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(i){let c;for(c=this._mapHead;null!==c;c=c._next)i(c)}forEachPreviousItem(i){let c;for(c=this._previousMapHead;null!==c;c=c._nextPrevious)i(c)}forEachChangedItem(i){let c;for(c=this._changesHead;null!==c;c=c._nextChanged)i(c)}forEachAddedItem(i){let c;for(c=this._additionsHead;null!==c;c=c._nextAdded)i(c)}forEachRemovedItem(i){let c;for(c=this._removalsHead;null!==c;c=c._nextRemoved)i(c)}diff(i){if(i){if(!(i instanceof Map||z_(i)))throw new Error(`Error trying to diff '${_(i)}'. Only maps and objects are allowed`)}else i=new Map;return this.check(i)?this:null}onDestroy(){}check(i){this._reset();let c=this._mapHead;if(this._appendAfter=null,this._forEach(i,(v,S)=>{if(c&&c.key===S)this._maybeAddToChanges(c,v),this._appendAfter=c,c=c._next;else{const k=this._getOrCreateRecordForKey(S,v);c=this._insertBeforeOrAppend(c,k)}}),c){c._prev&&(c._prev._next=null),this._removalsHead=c;for(let v=c;null!==v;v=v._nextRemoved)v===this._mapHead&&(this._mapHead=null),this._records.delete(v.key),v._nextRemoved=v._next,v.previousValue=v.currentValue,v.currentValue=null,v._prev=null,v._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(i,c){if(i){const v=i._prev;return c._next=i,c._prev=v,i._prev=c,v&&(v._next=c),i===this._mapHead&&(this._mapHead=c),this._appendAfter=i,i}return this._appendAfter?(this._appendAfter._next=c,c._prev=this._appendAfter):this._mapHead=c,this._appendAfter=c,null}_getOrCreateRecordForKey(i,c){if(this._records.has(i)){const S=this._records.get(i);this._maybeAddToChanges(S,c);const k=S._prev,te=S._next;return k&&(k._next=te),te&&(te._prev=k),S._next=null,S._prev=null,S}const v=new rT(i);return this._records.set(i,v),v.currentValue=c,this._addToAdditions(v),v}_reset(){if(this.isDirty){let i;for(this._previousMapHead=this._mapHead,i=this._previousMapHead;null!==i;i=i._next)i._nextPrevious=i._next;for(i=this._changesHead;null!==i;i=i._nextChanged)i.previousValue=i.currentValue;for(i=this._additionsHead;null!=i;i=i._nextAdded)i.previousValue=i.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(i,c){Object.is(c,i.currentValue)||(i.previousValue=i.currentValue,i.currentValue=c,this._addToChanges(i))}_addToAdditions(i){null===this._additionsHead?this._additionsHead=this._additionsTail=i:(this._additionsTail._nextAdded=i,this._additionsTail=i)}_addToChanges(i){null===this._changesHead?this._changesHead=this._changesTail=i:(this._changesTail._nextChanged=i,this._changesTail=i)}_forEach(i,c){i instanceof Map?i.forEach(c):Object.keys(i).forEach(v=>c(i[v],v))}}class rT{constructor(i){this.key=i,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function vy(){return new fm([new hy])}let fm=(()=>{class r{constructor(c){this.factories=c}static create(c,v){if(null!=v){const S=v.factories.slice();c=c.concat(S)}return new r(c)}static extend(c){return{provide:r,useFactory:v=>r.create(c,v||vy()),deps:[[r,new ya,new Ms]]}}find(c){const v=this.factories.find(S=>S.supports(c));if(null!=v)return v;throw new Error(`Cannot find a differ supporting object '${c}' of type '${function(r){return r.name||typeof r}(c)}'`)}}return r.\u0275prov=Qe({token:r,providedIn:"root",factory:vy}),r})();function yy(){return new pm([new my])}let pm=(()=>{class r{constructor(c){this.factories=c}static create(c,v){if(v){const S=v.factories.slice();c=c.concat(S)}return new r(c)}static extend(c){return{provide:r,useFactory:v=>r.create(c,v||yy()),deps:[[r,new ya,new Ms]]}}find(c){const v=this.factories.find(S=>S.supports(c));if(v)return v;throw new Error(`Cannot find a differ supporting object '${c}'`)}}return r.\u0275prov=Qe({token:r,providedIn:"root",factory:yy}),r})();function hm(r,i,c,v,S=!1){for(;null!==c;){const k=i[c.index];if(null!==k&&v.push(ye(k)),wi(k))for(let le=10;le<k.length;le++){const Le=k[le],vt=Le[1].firstChild;null!==vt&&hm(Le[1],Le,vt,v)}const te=c.type;if(8&te)hm(r,i,c.child,v);else if(32&te){const le=hf(c,i);let Le;for(;Le=le();)v.push(Le)}else if(16&te){const le=gs(i,c);if(Array.isArray(le))v.push(...le);else{const Le=Hc(i[16]);hm(Le[1],Le,le,v,!0)}}c=S?c.projectionNext:c.next}return v}class ng{constructor(i,c){this._lView=i,this._cdRefInjectingView=c,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const i=this._lView,c=i[1];return hm(c,i,c.firstChild,[])}get context(){return this._lView[8]}set context(i){this._lView[8]=i}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const i=this._lView[3];if(wi(i)){const c=i[8],v=c?c.indexOf(this):-1;v>-1&&(xd(i,v),pc(c,v))}this._attachedToViewContainer=!1}_f(this._lView[1],this._lView)}onDestroy(i){Mt(this._lView[1],this._lView,null,i)}markForCheck(){gg(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){w_(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(r,i,c){xr(!0);try{w_(r,i,c)}finally{xr(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var i;this._appRef=null,Wr(this._lView[1],i=this._lView,i[11],2,null,null)}attachToAppRef(i){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=i}}class oT extends ng{constructor(i){super(i),this._view=i}detectChanges(){yf(this._view)}checkNoChanges(){!function(r){xr(!0);try{yf(r)}finally{xr(!1)}}(this._view)}get context(){return null}}const aT=function(r){return function(r,i,c){if(Fi(r)&&!c){const v=Lo(r.index,i);return new ng(v,v)}return 47&r.type?new ng(i[16],i):null}(Vo(),Di(),16==(16&r))};let lT=(()=>{class r{}return r.__NG_ELEMENT_ID__=aT,r})();const dT=[new my],pT=new fm([new hy]),hT=new pm(dT),by=function(){return _m(Vo(),Di())};let rg=(()=>{class r{}return r.__NG_ELEMENT_ID__=by,r})();const gT=rg,mT=class extends gT{constructor(i,c,v){super(),this._declarationLView=i,this._declarationTContainer=c,this.elementRef=v}createEmbeddedView(i){const c=this._declarationTContainer.tViews,v=Ku(this._declarationLView,c,i,16,null,c.declTNode,null,null,null,null);v[17]=this._declarationLView[this._declarationTContainer.index];const k=this._declarationLView[19];return null!==k&&(v[19]=k.createEmbeddedView(c)),Gf(c,v,i),new ng(v)}};function _m(r,i){return 4&r.type?new mT(i,r,e_(r,i)):null}class fh{}class Ey{}const bT=function(){return ig(Vo(),Di())};let gm=(()=>{class r{}return r.__NG_ELEMENT_ID__=bT,r})();const ET=gm,Ty=class extends ET{constructor(i,c,v){super(),this._lContainer=i,this._hostTNode=c,this._hostLView=v}get element(){return e_(this._hostTNode,this._hostLView)}get injector(){return new oo(this._hostTNode,this._hostLView)}get parentInjector(){const i=Gn(this._hostTNode,this._hostLView);if(Je(i)){const c=Ot(i,this._hostLView),v=Fe(i);return new oo(c[1].data[v+8],c)}return new oo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(i){const c=Cy(this._lContainer);return null!==c&&c[i]||null}get length(){return this._lContainer.length-10}createEmbeddedView(i,c,v){const S=i.createEmbeddedView(c||{});return this.insert(S,v),S}createComponent(i,c,v,S,k){const te=v||this.parentInjector;if(!k&&null==i.ngModule&&te){const Le=te.get(fh,null);Le&&(k=Le)}const le=i.create(te,S,void 0,k);return this.insert(le.hostView,c),le}insert(i,c){const v=i._lView,S=v[1];if(wi(v[3])){const Qt=this.indexOf(i);if(-1!==Qt)this.detach(Qt);else{const Pn=v[3],Wn=new Ty(Pn,Pn[6],Pn[3]);Wn.detach(Wn.indexOf(i))}}const k=this._adjustIndex(c),te=this._lContainer;!function(r,i,c,v){const S=10+v,k=c.length;v>0&&(c[S-1][4]=i),v<k-10?(i[4]=c[S],Oc(c,10+v,i)):(c.push(i),i[4]=null),i[3]=c;const te=i[17];null!==te&&c!==te&&function(r,i){const c=r[9];i[16]!==i[3][3][16]&&(r[2]=!0),null===c?r[9]=[i]:c.push(i)}(te,i);const le=i[19];null!==le&&le.insertView(r),i[2]|=128}(S,v,te,k);const le=qs(k,te),Le=v[11],vt=tt(Le,te[7]);return null!==vt&&function(r,i,c,v,S,k){v[0]=S,v[6]=i,Wr(r,v,c,1,S,k)}(S,te[6],Le,v,vt,le),i.attachToViewContainerRef(),Oc(mm(te),k,i),i}move(i,c){return this.insert(i,c)}indexOf(i){const c=Cy(this._lContainer);return null!==c?c.indexOf(i):-1}remove(i){const c=this._adjustIndex(i,-1),v=xd(this._lContainer,c);v&&(pc(mm(this._lContainer),c),_f(v[1],v))}detach(i){const c=this._adjustIndex(i,-1),v=xd(this._lContainer,c);return v&&null!=pc(mm(this._lContainer),c)?new ng(v):null}_adjustIndex(i,c=0){return null==i?this.length+c:i}};function Cy(r){return r[8]}function mm(r){return r[8]||(r[8]=[])}function ig(r,i){let c;const v=i[r.index];if(wi(v))c=v;else{let S;if(8&r.type)S=ye(v);else{const k=i[11];S=k.createComment("");const te=Ni(r,i);T(k,tt(k,te),S,function(r,i){return pt(r)?r.nextSibling(i):i.nextSibling}(k,te),!1)}i[r.index]=c=M_(v,i,S,r),A_(i,c)}return new Ty(c,r,i)}const mh={};class nv extends Kh{constructor(i){super(),this.ngModule=i}resolveComponentFactory(i){const c=Bn(i);return new iv(c,this.ngModule)}}function rv(r){const i=[];for(let c in r)r.hasOwnProperty(c)&&i.push({propName:r[c],templateName:c});return i}const Vy=new ns("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>$f});class iv extends cy{constructor(i,c){super(),this.componentDef=i,this.ngModule=c,this.componentType=i.type,this.selector=i.selectors.map(Gp).join(","),this.ngContentSelectors=i.ngContentSelectors?i.ngContentSelectors:[],this.isBoundToModule=!!c}get inputs(){return rv(this.componentDef.inputs)}get outputs(){return rv(this.componentDef.outputs)}create(i,c,v,S){const k=(S=S||this.ngModule)?function(r,i){return{get:(c,v,S)=>{const k=r.get(c,mh,S);return k!==mh||v===mh?k:i.get(c,v,S)}}}(i,S.injector):i,te=k.get(um,Nt),le=k.get(q1,null),Le=te.createRenderer(null,this.componentDef),vt=this.componentDef.selectors[0][0]||"div",Qt=v?function(r,i,c){if(pt(r))return r.selectRootElement(i,c===$n.ShadowDom);let v="string"==typeof i?r.querySelector(i):i;return v.textContent="",v}(Le,v,this.componentDef.encapsulation):Dd(te.createRenderer(null,this.componentDef),vt,function(r){const i=r.toLowerCase();return"svg"===i?"http://www.w3.org/2000/svg":"math"===i?"http://www.w3.org/1998/MathML/":null}(vt)),Pn=this.componentDef.onPush?576:528,Wn=function(r,i){return{components:[],scheduler:r||$f,clean:jm,playerHandler:i||null,flags:0}}(),yr=Np(0,null,null,1,0,null,null,null,null,null),Ur=Ku(null,yr,Wn,Pn,null,null,te,Le,le,k);let Si,ri;Ft(Ur);try{const So=function(r,i,c,v,S,k){const te=c[1];c[20]=r;const Le=ku(te,20,2,"#host",null),vt=Le.mergedAttrs=i.hostAttrs;null!==vt&&(qf(Le,vt,!0),null!==r&&(bl(S,r,vt),null!==Le.classes&&la(S,r,Le.classes),null!==Le.styles&&ps(S,r,Le.styles)));const Qt=v.createRenderer(r,i),Pn=Ku(c,kh(i),null,i.onPush?64:16,c[20],Le,v,Qt,k||null,null);return te.firstCreatePass&&(kn(Dt(Le,c),te,i.type),Al(te,Le),km(Le,c.length,1)),A_(c,Pn),c[20]=Pn}(Qt,this.componentDef,Ur,te,Le);if(Qt)if(v)bl(Le,Qt,["ng-version",dm.full]);else{const{attrs:Wi,classes:Fs}=function(r){const i=[],c=[];let v=1,S=2;for(;v<r.length;){let k=r[v];if("string"==typeof k)2===S?""!==k&&i.push(k,r[++v]):8===S&&c.push(k);else{if(!Lu(S))break;S=k}v++}return{attrs:i,classes:c}}(this.componentDef.selectors[0]);Wi&&bl(Le,Qt,Wi),Fs&&Fs.length>0&&la(Le,Qt,Fs.join(" "))}if(ri=ms(yr,20),void 0!==c){const Wi=ri.projection=[];for(let Fs=0;Fs<this.ngContentSelectors.length;Fs++){const ma=c[Fs];Wi.push(null!=ma?Array.from(ma):null)}}Si=function(r,i,c,v,S){const k=c[1],te=function(r,i,c){const v=Vo();r.firstCreatePass&&(c.providersResolver&&c.providersResolver(c),C_(r,v,i,Jd(r,i,1,null),c));const S=fo(i,r,v.directiveStart,v);ec(S,i);const k=Ni(v,i);return k&&ec(k,i),S}(k,c,i);if(v.components.push(te),r[8]=te,S&&S.forEach(Le=>Le(te,i)),i.contentQueries){const Le=Vo();i.contentQueries(1,te,Le.directiveStart)}const le=Vo();return!k.firstCreatePass||null===i.hostBindings&&null===i.hostAttrs||(lr(le.index),ed(c[1],le,0,le.directiveStart,le.directiveEnd,i),vc(i,te)),te}(So,this.componentDef,Ur,Wn,[s1]),Gf(yr,Ur,null)}finally{pi()}return new Wy(this.componentType,Si,e_(ri,Ur),Ur,ri)}}class Wy extends ly{constructor(i,c,v,S,k){super(),this.location=v,this._rootLView=S,this._tNode=k,this.instance=c,this.hostView=this.changeDetectorRef=new oT(S),this.componentType=i}get injector(){return new oo(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(i){this.hostView.onDestroy(i)}}const vh=new Map;class OM extends fh{constructor(i,c){super(),this._parent=c,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new nv(this);const v=_r(i),S=i[Qn]||null;S&&k1(S),this._bootstrapComponents=eu(v.bootstrap),this._r3Injector=pp(i,c,[{provide:fh,useValue:this},{provide:Kh,useValue:this.componentFactoryResolver}],_(i)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(i)}get(i,c=oc.THROW_IF_NOT_FOUND,v=Mn.Default){return i===oc||i===fh||i===sh?this:this._r3Injector.get(i,c,v)}destroy(){const i=this._r3Injector;!i.destroyed&&i.destroy(),this.destroyCbs.forEach(c=>c()),this.destroyCbs=null}onDestroy(i){this.destroyCbs.push(i)}}class PT extends Ey{constructor(i){super(),this.moduleType=i,null!==_r(i)&&function(r){const i=new Set;!function c(v){const S=_r(v,!0),k=S.id;null!==k&&(function(r,i,c){if(i&&i!==c)throw new Error(`Duplicate module registered for ${r} - ${_(i)} vs ${_(i.name)}`)}(k,vh.get(k),v),vh.set(k,v));const te=eu(S.imports);for(const le of te)i.has(le)||(i.add(le),c(le))}(r)}(i)}create(i){return new OM(this.moduleType,i)}}function GC(r,i,c){const v=Zr()+r,S=Di();return S[v]===ca?Qd(S,v,c?i.call(c):i()):uh(S,v)}function zC(r,i,c,v){return XC(Di(),Zr(),r,i,c,v)}function WC(r,i,c,v,S){return KC(Di(),Zr(),r,i,c,v,S)}function qC(r,i,c,v,S,k){return eS(Di(),Zr(),r,i,c,v,S,k)}function JC(r,i,c,v,S,k,te){return function(r,i,c,v,S,k,te,le,Le){const vt=i+c;return nd(r,vt,S,k,te,le)?Qd(r,vt+4,Le?v.call(Le,S,k,te,le):v(S,k,te,le)):ov(r,vt+4)}(Di(),Zr(),r,i,c,v,S,k,te)}function QC(r,i,c,v,S,k,te,le){const Le=Zr()+r,vt=Di(),Qt=nd(vt,Le,c,v,S,k);return nu(vt,Le+4,te)||Qt?Qd(vt,Le+5,le?i.call(le,c,v,S,k,te):i(c,v,S,k,te)):uh(vt,Le+5)}function ov(r,i){const c=r[i];return c===ca?void 0:c}function XC(r,i,c,v,S,k){const te=i+c;return nu(r,te,S)?Qd(r,te+1,k?v.call(k,S):v(S)):ov(r,te+1)}function KC(r,i,c,v,S,k,te){const le=i+c;return Ef(r,le,S,k)?Qd(r,le+2,te?v.call(te,S,k):v(S,k)):ov(r,le+2)}function eS(r,i,c,v,S,k,te,le){const Le=i+c;return Vh(r,Le,S,k,te)?Qd(r,Le+3,le?v.call(le,S,k,te):v(S,k,te)):ov(r,Le+3)}function rS(r,i){const c=vs();let v;const S=r+20;c.firstCreatePass?(v=function(r,i){if(i)for(let c=i.length-1;c>=0;c--){const v=i[c];if(r===v.name)return v}throw new H("302",`The pipe '${r}' could not be found!`)}(i,c.pipeRegistry),c.data[S]=v,v.onDestroy&&(c.destroyHooks||(c.destroyHooks=[])).push(S,v.onDestroy)):v=c.data[S];const k=v.factory||(v.factory=gi(v.type)),te=Yn(gp);try{const le=ke(!1),Le=k();return ke(le),function(r,i,c,v){c>=r.data.length&&(r.data[c]=null,r.blueprint[c]=null),i[c]=v}(c,Di(),S,Le),Le}finally{Yn(te)}}function iS(r,i,c){const v=r+20,S=Di(),k=ss(S,v);return av(S,sv(S,v)?XC(S,Zr(),i,k.transform,c,k):k.transform(c))}function oS(r,i,c,v){const S=r+20,k=Di(),te=ss(k,S);return av(k,sv(k,S)?KC(k,Zr(),i,te.transform,c,v,te):te.transform(c,v))}function sS(r,i,c,v,S){const k=r+20,te=Di(),le=ss(te,k);return av(te,sv(te,k)?eS(te,Zr(),i,le.transform,c,v,S,le):le.transform(c,v,S))}function sv(r,i){return r[1].data[i].pure}function av(r,i){return Nd.isWrapped(i)&&(i=Nd.unwrap(i),r[Pr()]=ca),i}function IT(r){return i=>{setTimeout(r,void 0,i)}}const jp=class extends t.xQ{constructor(i=!1){super(),this.__isAsync=i}emit(i){super.next(i)}subscribe(i,c,v){var S,k,te;let le=i,Le=c||(()=>null),vt=v;if(i&&"object"==typeof i){const Pn=i;le=null===(S=Pn.next)||void 0===S?void 0:S.bind(Pn),Le=null===(k=Pn.error)||void 0===k?void 0:k.bind(Pn),vt=null===(te=Pn.complete)||void 0===te?void 0:te.bind(Pn)}this.__isAsync&&(Le=IT(Le),le&&(le=IT(le)),vt&&(vt=IT(vt)));const Qt=super.subscribe({next:le,error:Le,complete:vt});return i instanceof e.w&&i.add(Qt),Qt}};function LM(){return this._results[Jf()]()}class Jy{constructor(i=!1){this._emitDistinctChangesOnly=i,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const c=Jf(),v=Jy.prototype;v[c]||(v[c]=LM)}get changes(){return this._changes||(this._changes=new jp)}get(i){return this._results[i]}map(i){return this._results.map(i)}filter(i){return this._results.filter(i)}find(i){return this._results.find(i)}reduce(i,c){return this._results.reduce(i,c)}forEach(i){this._results.forEach(i)}some(i){return this._results.some(i)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(i,c){const v=this;v.dirty=!1;const S=Va(i);(this._changesDetected=!function(r,i,c){if(r.length!==i.length)return!1;for(let v=0;v<r.length;v++){let S=r[v],k=i[v];if(c&&(S=c(S),k=c(k)),k!==S)return!1}return!0}(v._results,S,c))&&(v._results=S,v.length=S.length,v.last=S[this.length-1],v.first=S[0])}notifyOnChanges(){this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}Symbol;class LT{constructor(i){this.queryList=i,this.matches=null}clone(){return new LT(this.queryList)}setDirty(){this.queryList.setDirty()}}class FT{constructor(i=[]){this.queries=i}createEmbeddedView(i){const c=i.queries;if(null!==c){const v=null!==i.contentQueries?i.contentQueries[0]:c.length,S=[];for(let k=0;k<v;k++){const te=c.getByIndex(k);S.push(this.queries[te.indexInDeclarationView].clone())}return new FT(S)}return null}insertView(i){this.dirtyQueriesWithMatches(i)}detachView(i){this.dirtyQueriesWithMatches(i)}dirtyQueriesWithMatches(i){for(let c=0;c<this.queries.length;c++)null!==_S(i,c).matches&&this.queries[c].setDirty()}}class aS{constructor(i,c,v=null){this.predicate=i,this.flags=c,this.read=v}}class kT{constructor(i=[]){this.queries=i}elementStart(i,c){for(let v=0;v<this.queries.length;v++)this.queries[v].elementStart(i,c)}elementEnd(i){for(let c=0;c<this.queries.length;c++)this.queries[c].elementEnd(i)}embeddedTView(i){let c=null;for(let v=0;v<this.length;v++){const S=null!==c?c.length:0,k=this.getByIndex(v).embeddedTView(i,S);k&&(k.indexInDeclarationView=v,null!==c?c.push(k):c=[k])}return null!==c?new kT(c):null}template(i,c){for(let v=0;v<this.queries.length;v++)this.queries[v].template(i,c)}getByIndex(i){return this.queries[i]}get length(){return this.queries.length}track(i){this.queries.push(i)}}class $T{constructor(i,c=-1){this.metadata=i,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=c}elementStart(i,c){this.isApplyingToNode(c)&&this.matchTNode(i,c)}elementEnd(i){this._declarationNodeIndex===i.index&&(this._appliesToNextNode=!1)}template(i,c){this.elementStart(i,c)}embeddedTView(i,c){return this.isApplyingToNode(i)?(this.crossesNgTemplate=!0,this.addMatch(-i.index,c),new $T(this.metadata)):null}isApplyingToNode(i){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const c=this._declarationNodeIndex;let v=i.parent;for(;null!==v&&8&v.type&&v.index!==c;)v=v.parent;return c===(null!==v?v.index:-1)}return this._appliesToNextNode}matchTNode(i,c){const v=this.metadata.predicate;if(Array.isArray(v))for(let S=0;S<v.length;S++){const k=v[S];this.matchTNodeWithReadOption(i,c,$M(c,k)),this.matchTNodeWithReadOption(i,c,Ai(c,i,k,!1,!1))}else v===rg?4&c.type&&this.matchTNodeWithReadOption(i,c,-1):this.matchTNodeWithReadOption(i,c,Ai(c,i,v,!1,!1))}matchTNodeWithReadOption(i,c,v){if(null!==v){const S=this.metadata.read;if(null!==S)if(S===tp||S===gm||S===rg&&4&c.type)this.addMatch(c.index,-2);else{const k=Ai(c,i,S,!1,!1);null!==k&&this.addMatch(c.index,k)}else this.addMatch(c.index,v)}}addMatch(i,c){null===this.matches?this.matches=[i,c]:this.matches.push(i,c)}}function $M(r,i){const c=r.localNames;if(null!==c)for(let v=0;v<c.length;v+=2)if(c[v]===i)return c[v+1];return null}function UM(r,i,c,v){return-1===c?function(r,i){return 11&r.type?e_(r,i):4&r.type?_m(r,i):null}(i,r):-2===c?function(r,i,c){return c===tp?e_(i,r):c===rg?_m(i,r):c===gm?ig(i,r):void 0}(r,i,v):fo(r,r[1],c,i)}function lS(r,i,c,v){const S=i[19].queries[v];if(null===S.matches){const k=r.data,te=c.matches,le=[];for(let Le=0;Le<te.length;Le+=2){const vt=te[Le];le.push(vt<0?null:UM(i,k[vt],te[Le+1],c.metadata.read))}S.matches=le}return S.matches}function HT(r,i,c,v){const S=r.queries.getByIndex(c),k=S.matches;if(null!==k){const te=lS(r,i,S,c);for(let le=0;le<k.length;le+=2){const Le=k[le];if(Le>0)v.push(te[le/2]);else{const vt=k[le+1],Qt=i[-Le];for(let Pn=10;Pn<Qt.length;Pn++){const Wn=Qt[Pn];Wn[17]===Wn[3]&&HT(Wn[1],Wn,vt,v)}if(null!==Qt[9]){const Pn=Qt[9];for(let Wn=0;Wn<Pn.length;Wn++){const yr=Pn[Wn];HT(yr[1],yr,vt,v)}}}}}return v}function cS(r){const i=Di(),c=vs(),v=Br();G(v+1);const S=_S(c,v);if(r.dirty&&Zo(i)===(2==(2&S.metadata.flags))){if(null===S.matches)r.reset([]);else{const k=S.crossesNgTemplate?HT(c,i,v,[]):lS(c,i,S,v);r.reset(k,fy),r.notifyOnChanges()}return!0}return!1}function uS(r,i,c){const v=vs();v.firstCreatePass&&(hS(v,new aS(r,i,c),-1),2==(2&i)&&(v.staticViewQueries=!0)),pS(v,Di(),i)}function dS(r,i,c,v){const S=vs();if(S.firstCreatePass){const k=Vo();hS(S,new aS(i,c,v),k.index),function(r,i){const c=r.contentQueries||(r.contentQueries=[]);i!==(c.length?c[c.length-1]:-1)&&c.push(r.queries.length-1,i)}(S,r),2==(2&c)&&(S.staticContentQueries=!0)}pS(S,Di(),c)}function fS(){return r=Di(),i=Br(),r[19].queries[i].queryList;var r,i}function pS(r,i,c){const v=new Jy(4==(4&c));Mt(r,i,v,v.destroy),null===i[19]&&(i[19]=new FT),i[19].queries.push(new LT(v))}function hS(r,i,c){null===r.queries&&(r.queries=new kT),r.queries.track(new $T(i,c))}function _S(r,i){return r.queries.getByIndex(i)}function gS(r,i){return _m(r,i)}const a2=Hs("Input",r=>({bindingPropertyName:r})),l2=Hs("Output",r=>({bindingPropertyName:r})),VT=new ns("Application Initializer");let Dm=(()=>{class r{constructor(c){this.appInits=c,this.resolve=cm,this.reject=cm,this.initialized=!1,this.done=!1,this.donePromise=new Promise((v,S)=>{this.resolve=v,this.reject=S})}runInitializers(){if(this.initialized)return;const c=[],v=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let S=0;S<this.appInits.length;S++){const k=this.appInits[S]();if(T1(k))c.push(k);else if(Qg(k)){const te=new Promise((le,Le)=>{k.subscribe({complete:le,error:Le})});c.push(te)}}Promise.all(c).then(()=>{v()}).catch(S=>{this.reject(S)}),0===c.length&&v(),this.initialized=!0}}return r.\u0275fac=function(c){return new(c||r)(sr(VT,8))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();const IS=new ns("AppId"),v2={provide:IS,useFactory:function(){return`${GT()}${GT()}${GT()}`},deps:[]};function GT(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const LS=new ns("Platform Initializer"),FS=new ns("Platform ID"),kS=new ns("appBootstrapListener");let $S=(()=>{class r{log(c){console.log(c)}warn(c){console.warn(c)}}return r.\u0275fac=function(c){return new(c||r)},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();const Ky=new ns("LocaleId"),HS=new ns("DefaultCurrencyCode");class b2{constructor(i,c){this.ngModuleFactory=i,this.componentFactories=c}}const zT=function(r){return new PT(r)},E2=zT,T2=function(r){return Promise.resolve(zT(r))},US=function(r){const i=zT(r),v=eu(_r(r).declarations).reduce((S,k)=>{const te=Bn(k);return te&&S.push(new iv(te)),S},[]);return new b2(i,v)},C2=US,S2=function(r){return Promise.resolve(US(r))};let cv=(()=>{class r{constructor(){this.compileModuleSync=E2,this.compileModuleAsync=T2,this.compileModuleAndAllComponentsSync=C2,this.compileModuleAndAllComponentsAsync=S2}clearCache(){}clearCacheFor(c){}getModuleId(c){}}return r.\u0275fac=function(c){return new(c||r)},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();const A2=(()=>Promise.resolve(0))();function WT(r){"undefined"==typeof Zone?A2.then(()=>{r&&r.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",r)}class Rf{constructor({enableLongStackTrace:i=!1,shouldCoalesceEventChangeDetection:c=!1,shouldCoalesceRunChangeDetection:v=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new jp(!1),this.onMicrotaskEmpty=new jp(!1),this.onStable=new jp(!1),this.onError=new jp(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const S=this;S._nesting=0,S._outer=S._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(S._inner=S._inner.fork(new Zone.TaskTrackingZoneSpec)),i&&Zone.longStackTraceZoneSpec&&(S._inner=S._inner.fork(Zone.longStackTraceZoneSpec)),S.shouldCoalesceEventChangeDetection=!v&&c,S.shouldCoalesceRunChangeDetection=v,S.lastRequestAnimationFrameId=-1,S.nativeRequestAnimationFrame=function(){let r=jn.requestAnimationFrame,i=jn.cancelAnimationFrame;if("undefined"!=typeof Zone&&r&&i){const c=r[Zone.__symbol__("OriginalDelegate")];c&&(r=c);const v=i[Zone.__symbol__("OriginalDelegate")];v&&(i=v)}return{nativeRequestAnimationFrame:r,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function(r){const i=()=>{!function(r){r.isCheckStableRunning||-1!==r.lastRequestAnimationFrameId||(r.lastRequestAnimationFrameId=r.nativeRequestAnimationFrame.call(jn,()=>{r.fakeTopEventTask||(r.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{r.lastRequestAnimationFrameId=-1,JT(r),r.isCheckStableRunning=!0,qT(r),r.isCheckStableRunning=!1},void 0,()=>{},()=>{})),r.fakeTopEventTask.invoke()}),JT(r))}(r)};r._inner=r._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(c,v,S,k,te,le)=>{try{return jS(r),c.invokeTask(S,k,te,le)}finally{(r.shouldCoalesceEventChangeDetection&&"eventTask"===k.type||r.shouldCoalesceRunChangeDetection)&&i(),BS(r)}},onInvoke:(c,v,S,k,te,le,Le)=>{try{return jS(r),c.invoke(S,k,te,le,Le)}finally{r.shouldCoalesceRunChangeDetection&&i(),BS(r)}},onHasTask:(c,v,S,k)=>{c.hasTask(S,k),v===S&&("microTask"==k.change?(r._hasPendingMicrotasks=k.microTask,JT(r),qT(r)):"macroTask"==k.change&&(r.hasPendingMacrotasks=k.macroTask))},onHandleError:(c,v,S,k)=>(c.handleError(S,k),r.runOutsideAngular(()=>r.onError.emit(k)),!1)})}(S)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Rf.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Rf.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(i,c,v){return this._inner.run(i,c,v)}runTask(i,c,v,S){const k=this._inner,te=k.scheduleEventTask("NgZoneEvent: "+S,i,D2,cm,cm);try{return k.runTask(te,c,v)}finally{k.cancelTask(te)}}runGuarded(i,c,v){return this._inner.runGuarded(i,c,v)}runOutsideAngular(i){return this._outer.run(i)}}const D2={};function qT(r){if(0==r._nesting&&!r.hasPendingMicrotasks&&!r.isStable)try{r._nesting++,r.onMicrotaskEmpty.emit(null)}finally{if(r._nesting--,!r.hasPendingMicrotasks)try{r.runOutsideAngular(()=>r.onStable.emit(null))}finally{r.isStable=!0}}}function JT(r){r.hasPendingMicrotasks=!!(r._hasPendingMicrotasks||(r.shouldCoalesceEventChangeDetection||r.shouldCoalesceRunChangeDetection)&&-1!==r.lastRequestAnimationFrameId)}function jS(r){r._nesting++,r.isStable&&(r.isStable=!1,r.onUnstable.emit(null))}function BS(r){r._nesting--,qT(r)}class N2{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new jp,this.onMicrotaskEmpty=new jp,this.onStable=new jp,this.onError=new jp}run(i,c,v){return i.apply(c,v)}runGuarded(i,c,v){return i.apply(c,v)}runOutsideAngular(i){return i()}runTask(i,c,v,S){return i.apply(c,v)}}let YS=(()=>{class r{constructor(c){this._ngZone=c,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),c.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Rf.assertNotInAngularZone(),WT(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())WT(()=>{for(;0!==this._callbacks.length;){let c=this._callbacks.pop();clearTimeout(c.timeoutId),c.doneCb(this._didWork)}this._didWork=!1});else{let c=this.getPendingTasks();this._callbacks=this._callbacks.filter(v=>!v.updateCb||!v.updateCb(c)||(clearTimeout(v.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(c=>({source:c.source,creationLocation:c.creationLocation,data:c.data})):[]}addCallback(c,v,S){let k=-1;v&&v>0&&(k=setTimeout(()=>{this._callbacks=this._callbacks.filter(te=>te.timeoutId!==k),c(this._didWork,this.getPendingTasks())},v)),this._callbacks.push({doneCb:c,timeoutId:k,updateCb:S})}whenStable(c,v,S){if(S&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(c,v,S),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(c,v,S){return[]}}return r.\u0275fac=function(c){return new(c||r)(sr(Rf))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})(),ZS=(()=>{class r{constructor(){this._applications=new Map,QT.addToWindow(this)}registerApplication(c,v){this._applications.set(c,v)}unregisterApplication(c){this._applications.delete(c)}unregisterAllApplications(){this._applications.clear()}getTestability(c){return this._applications.get(c)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(c,v=!0){return QT.findTestabilityInTree(this,c,v)}}return r.\u0275fac=function(c){return new(c||r)},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();class P2{addToWindow(i){}findTestabilityInTree(i,c,v){return null}}function I2(r){QT=r}let QT=new P2,VS=!0,GS=!1;function XT(){return GS=!0,VS}function L2(){if(GS)throw new Error("Cannot enable prod mode after platform setup.");VS=!1}let Ep;const zS=new ns("AllowMultipleToken");class B2{constructor(i,c){this.name=i,this.token=c}}function WS(r,i,c=[]){const v=`Platform: ${i}`,S=new ns(v);return(k=[])=>{let te=qS();if(!te||te.injector.get(zS,!1))if(r)r(c.concat(k).concat({provide:S,useValue:!0}));else{const le=c.concat(k).concat({provide:S,useValue:!0},{provide:Ip,useValue:"platform"});!function(r){if(Ep&&!Ep.destroyed&&!Ep.injector.get(zS,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Ep=r.get(JS);const i=r.get(LS,null);i&&i.forEach(c=>c())}(oc.create({providers:le,name:v}))}return function(r){const i=qS();if(!i)throw new Error("No platform exists!");if(!i.injector.get(r,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return i}(S)}}function qS(){return Ep&&!Ep.destroyed?Ep:null}let JS=(()=>{class r{constructor(c){this._injector=c,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(c,v){const le=function(r,i){let c;return c="noop"===r?new N2:("zone.js"===r?void 0:r)||new Rf({enableLongStackTrace:XT(),shouldCoalesceEventChangeDetection:!!(null==i?void 0:i.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==i?void 0:i.ngZoneRunCoalescing)}),c}(v?v.ngZone:void 0,{ngZoneEventCoalescing:v&&v.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:v&&v.ngZoneRunCoalescing||!1}),Le=[{provide:Rf,useValue:le}];return le.run(()=>{const vt=oc.create({providers:Le,parent:this.injector,name:c.moduleType.name}),Qt=c.create(vt),Pn=Qt.injector.get(mc,null);if(!Pn)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return le.runOutsideAngular(()=>{const Wn=le.onError.subscribe({next:yr=>{Pn.handleError(yr)}});Qt.onDestroy(()=>{KT(this._modules,Qt),Wn.unsubscribe()})}),function(r,i,c){try{const v=c();return T1(v)?v.catch(S=>{throw i.runOutsideAngular(()=>r.handleError(S)),S}):v}catch(v){throw i.runOutsideAngular(()=>r.handleError(v)),v}}(Pn,le,()=>{const Wn=Qt.injector.get(Dm);return Wn.runInitializers(),Wn.donePromise.then(()=>(k1(Qt.injector.get(Ky,nm)||nm),this._moduleDoBootstrap(Qt),Qt))})})}bootstrapModule(c,v=[]){const S=QS({},v);return function(r,i,c){const v=new PT(c);return Promise.resolve(v)}(0,0,c).then(k=>this.bootstrapModuleFactory(k,S))}_moduleDoBootstrap(c){const v=c.injector.get(uv);if(c._bootstrapComponents.length>0)c._bootstrapComponents.forEach(S=>v.bootstrap(S));else{if(!c.instance.ngDoBootstrap)throw new Error(`The module ${_(c.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);c.instance.ngDoBootstrap(v)}this._modules.push(c)}onDestroy(c){this._destroyListeners.push(c)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(c=>c.destroy()),this._destroyListeners.forEach(c=>c()),this._destroyed=!0}get destroyed(){return this._destroyed}}return r.\u0275fac=function(c){return new(c||r)(sr(oc))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();function QS(r,i){return Array.isArray(i)?i.reduce(QS,r):Object.assign(Object.assign({},r),i)}let uv=(()=>{class r{constructor(c,v,S,k,te){this._zone=c,this._injector=v,this._exceptionHandler=S,this._componentFactoryResolver=k,this._initStatus=te,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const le=new s.y(vt=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{vt.next(this._stable),vt.complete()})}),Le=new s.y(vt=>{let Qt;this._zone.runOutsideAngular(()=>{Qt=this._zone.onStable.subscribe(()=>{Rf.assertNotInAngularZone(),WT(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,vt.next(!0))})})});const Pn=this._zone.onUnstable.subscribe(()=>{Rf.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{vt.next(!1)}))});return()=>{Qt.unsubscribe(),Pn.unsubscribe()}});this.isStable=(0,a.T)(le,Le.pipe((0,l.B)()))}bootstrap(c,v){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let S;S=c instanceof cy?c:this._componentFactoryResolver.resolveComponentFactory(c),this.componentTypes.push(S.componentType);const k=function(r){return r.isBoundToModule}(S)?void 0:this._injector.get(fh),le=S.create(oc.NULL,[],v||S.selector,k),Le=le.location.nativeElement,vt=le.injector.get(YS,null),Qt=vt&&le.injector.get(ZS);return vt&&Qt&&Qt.registerApplication(Le,vt),le.onDestroy(()=>{this.detachView(le.hostView),KT(this.components,le),Qt&&Qt.unregisterApplication(Le)}),this._loadComponent(le),le}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let c of this._views)c.detectChanges()}catch(c){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(c))}finally{this._runningTick=!1}}attachView(c){const v=c;this._views.push(v),v.attachToAppRef(this)}detachView(c){const v=c;KT(this._views,v),v.detachFromAppRef()}_loadComponent(c){this.attachView(c.hostView),this.tick(),this.components.push(c),this._injector.get(kS,[]).concat(this._bootstrapListeners).forEach(S=>S(c))}ngOnDestroy(){this._views.slice().forEach(c=>c.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return r.\u0275fac=function(c){return new(c||r)(sr(Rf),sr(oc),sr(mc),sr(Kh),sr(Dm))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();function KT(r,i){const c=r.indexOf(i);c>-1&&r.splice(c,1)}class W2{}class J2{}const Q2={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};let X2=(()=>{class r{constructor(c,v){this._compiler=c,this._config=v||Q2}load(c){return this.loadAndCompile(c)}loadAndCompile(c){let[v,S]=c.split("#");return void 0===S&&(S="default"),o(98255)(v).then(k=>k[S]).then(k=>tM(k,v,S)).then(k=>this._compiler.compileModuleAsync(k))}loadFactory(c){let[v,S]=c.split("#"),k="NgFactory";return void 0===S&&(S="default",k=""),o(98255)(this._config.factoryPathPrefix+v+this._config.factoryPathSuffix).then(te=>te[S+k]).then(te=>tM(te,v,S))}}return r.\u0275fac=function(c){return new(c||r)(sr(cv),sr(J2,8))},r.\u0275prov=Qe({token:r,factory:r.\u0275fac}),r})();function tM(r,i,c){if(!r)throw new Error(`Cannot find '${c}' in '${i}'`);return r}const sO=function(r){return null},lO=WS(null,"core",[{provide:FS,useValue:"unknown"},{provide:JS,deps:[oc]},{provide:ZS,deps:[]},{provide:$S,deps:[]}]),pO=[{provide:uv,useClass:uv,deps:[Rf,oc,mc,Kh,Dm]},{provide:Vy,deps:[Rf],useFactory:function(r){let i=[];return r.onStable.subscribe(()=>{for(;i.length;)i.pop()()}),function(c){i.push(c)}}},{provide:Dm,useClass:Dm,deps:[[new Ms,VT]]},{provide:cv,useClass:cv,deps:[]},v2,{provide:fm,useFactory:function(){return pT},deps:[]},{provide:pm,useFactory:function(){return hT},deps:[]},{provide:Ky,useFactory:function(r){return k1(r=r||"undefined"!=typeof $localize&&$localize.locale||nm),r},deps:[[new Ts(Ky),new Ms,new ya]]},{provide:HS,useValue:"USD"}];let _O=(()=>{class r{constructor(c){}}return r.\u0275fac=function(c){return new(c||r)(sr(uv))},r.\u0275mod=Ut({type:r}),r.\u0275inj=ae({providers:pO}),r})()},24751:(Ge,g,o)=>{"use strict";o.d(g,{TO:()=>Jn,Wl:()=>b,gN:()=>zt,Fj:()=>j,Oe:()=>yi,CE:()=>zi,qu:()=>an,NI:()=>nr,u:()=>Bo,cw:()=>Mr,sg:()=>no,x0:()=>qi,u5:()=>ks,Fd:()=>ni,qQ:()=>Do,Cf:()=>U,JU:()=>_,a5:()=>ln,JJ:()=>er,JL:()=>Mn,F:()=>Kr,On:()=>We,YN:()=>zo,wV:()=>Zn,_:()=>Qr,UX:()=>Ua,Q7:()=>Li,EJ:()=>ds,kI:()=>J,_Y:()=>$t,Kr:()=>Ve});var t=o(74788),e=o(12057),s=o(94402),a=o(35758),l=o(88002);let u=(()=>{class Ce{constructor(Ne,Wt){this._renderer=Ne,this._elementRef=Wt,this.onChange=Or=>{},this.onTouched=()=>{}}setProperty(Ne,Wt){this._renderer.setProperty(this._elementRef.nativeElement,Ne,Wt)}registerOnTouched(Ne){this.onTouched=Ne}registerOnChange(Ne){this.onChange=Ne}setDisabledState(Ne){this.setProperty("disabled",Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.Qsj),t.Y36(t.SBq))},Ce.\u0275dir=t.lG2({type:Ce}),Ce})(),h=(()=>{class Ce extends u{}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,features:[t.qOj]}),Ce})();const _=new t.OlP("NgValueAccessor"),m={provide:_,useExisting:(0,t.Gpc)(()=>b),multi:!0};let b=(()=>{class Ce extends h{writeValue(Ne){this.setProperty("checked",Ne)}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("change",function(Ni){return Wt.onChange(Ni.target.checked)})("blur",function(){return Wt.onTouched()})},features:[t._Bn([m]),t.qOj]}),Ce})();const C={provide:_,useExisting:(0,t.Gpc)(()=>j),multi:!0},x=new t.OlP("CompositionEventMode");let j=(()=>{class Ce extends u{constructor(Ne,Wt,Or){super(Ne,Wt),this._compositionMode=Or,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const Ce=(0,e.q)()?(0,e.q)().getUserAgent():"";return/android (\d+)/.test(Ce.toLowerCase())}())}writeValue(Ne){this.setProperty("value",null==Ne?"":Ne)}_handleInput(Ne){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(Ne)}_compositionStart(){this._composing=!0}_compositionEnd(Ne){this._composing=!1,this._compositionMode&&this.onChange(Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.Qsj),t.Y36(t.SBq),t.Y36(x,8))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("input",function(Ni){return Wt._handleInput(Ni.target.value)})("blur",function(){return Wt.onTouched()})("compositionstart",function(){return Wt._compositionStart()})("compositionend",function(Ni){return Wt._compositionEnd(Ni.target.value)})},features:[t._Bn([C]),t.qOj]}),Ce})();function H(Ce){return null==Ce||0===Ce.length}function z(Ce){return null!=Ce&&"number"==typeof Ce.length}const U=new t.OlP("NgValidators"),M=new t.OlP("NgAsyncValidators"),I=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class J{static min(ye){return Y(ye)}static max(ye){return ie(ye)}static required(ye){return oe(ye)}static requiredTrue(ye){return!0===ye.value?null:{required:!0}}static email(ye){return H((Ce=ye).value)||I.test(Ce.value)?null:{email:!0};var Ce}static minLength(ye){return Ce=ye,ye=>H(ye.value)||!z(ye.value)?null:ye.value.length<Ce?{minlength:{requiredLength:Ce,actualLength:ye.value.length}}:null;var Ce}static maxLength(ye){return Ce=ye,ye=>z(ye.value)&&ye.value.length>Ce?{maxlength:{requiredLength:Ce,actualLength:ye.value.length}}:null;var Ce}static pattern(ye){return function(Ce){if(!Ce)return Me;let ye,Ne;return"string"==typeof Ce?(Ne="","^"!==Ce.charAt(0)&&(Ne+="^"),Ne+=Ce,"$"!==Ce.charAt(Ce.length-1)&&(Ne+="$"),ye=new RegExp(Ne)):(Ne=Ce.toString(),ye=Ce),Wt=>{if(H(Wt.value))return null;const Or=Wt.value;return ye.test(Or)?null:{pattern:{requiredPattern:Ne,actualValue:Or}}}}(ye)}static nullValidator(ye){return null}static compose(ye){return je(ye)}static composeAsync(ye){return lt(ye)}}function Y(Ce){return ye=>{if(H(ye.value)||H(Ce))return null;const Ne=parseFloat(ye.value);return!isNaN(Ne)&&Ne<Ce?{min:{min:Ce,actual:ye.value}}:null}}function ie(Ce){return ye=>{if(H(ye.value)||H(Ce))return null;const Ne=parseFloat(ye.value);return!isNaN(Ne)&&Ne>Ce?{max:{max:Ce,actual:ye.value}}:null}}function oe(Ce){return H(Ce.value)?{required:!0}:null}function Me(Ce){return null}function Oe(Ce){return null!=Ce}function be(Ce){const ye=(0,t.QGY)(Ce)?(0,s.D)(Ce):Ce;return(0,t.CqO)(ye),ye}function ue(Ce){let ye={};return Ce.forEach(Ne=>{ye=null!=Ne?Object.assign(Object.assign({},ye),Ne):ye}),0===Object.keys(ye).length?null:ye}function He(Ce,ye){return ye.map(Ne=>Ne(Ce))}function F(Ce){return Ce.map(ye=>function(Ce){return!Ce.validate}(ye)?ye:Ne=>ye.validate(Ne))}function je(Ce){if(!Ce)return null;const ye=Ce.filter(Oe);return 0==ye.length?null:function(Ne){return ue(He(Ne,ye))}}function Et(Ce){return null!=Ce?je(F(Ce)):null}function lt(Ce){if(!Ce)return null;const ye=Ce.filter(Oe);return 0==ye.length?null:function(Ne){const Wt=He(Ne,ye).map(be);return(0,a.D)(Wt).pipe((0,l.U)(ue))}}function nn(Ce){return null!=Ce?lt(F(Ce)):null}function St(Ce,ye){return null===Ce?[ye]:Array.isArray(Ce)?[...Ce,ye]:[Ce,ye]}function At(Ce){return Ce._rawValidators}function Qe(Ce){return Ce._rawAsyncValidators}function It(Ce){return Ce?Array.isArray(Ce)?Ce:[Ce]:[]}function ae(Ce,ye){return Array.isArray(Ce)?Ce.includes(ye):Ce===ye}function Ie(Ce,ye){const Ne=It(ye);return It(Ce).forEach(Or=>{ae(Ne,Or)||Ne.push(Or)}),Ne}function dt(Ce,ye){return It(ye).filter(Ne=>!ae(Ce,Ne))}let Jt=(()=>{class Ce{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(Ne){this._rawValidators=Ne||[],this._composedValidatorFn=Et(this._rawValidators)}_setAsyncValidators(Ne){this._rawAsyncValidators=Ne||[],this._composedAsyncValidatorFn=nn(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(Ne){this._onDestroyCallbacks.push(Ne)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(Ne=>Ne()),this._onDestroyCallbacks=[]}reset(Ne){this.control&&this.control.reset(Ne)}hasError(Ne,Wt){return!!this.control&&this.control.hasError(Ne,Wt)}getError(Ne,Wt){return this.control?this.control.getError(Ne,Wt):null}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275dir=t.lG2({type:Ce}),Ce})(),zt=(()=>{class Ce extends Jt{get formDirective(){return null}get path(){return null}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,features:[t.qOj]}),Ce})();class ln extends Jt{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ar{constructor(ye){this._cd=ye}is(ye){var Ne,Wt,Or;return"submitted"===ye?!!(null===(Ne=this._cd)||void 0===Ne?void 0:Ne.submitted):!!(null===(Or=null===(Wt=this._cd)||void 0===Wt?void 0:Wt.control)||void 0===Or?void 0:Or[ye])}}let er=(()=>{class Ce extends ar{constructor(Ne){super(Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(ln,2))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(Ne,Wt){2&Ne&&t.ekj("ng-untouched",Wt.is("untouched"))("ng-touched",Wt.is("touched"))("ng-pristine",Wt.is("pristine"))("ng-dirty",Wt.is("dirty"))("ng-valid",Wt.is("valid"))("ng-invalid",Wt.is("invalid"))("ng-pending",Wt.is("pending"))},features:[t.qOj]}),Ce})(),Mn=(()=>{class Ce extends ar{constructor(Ne){super(Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(Ne,Wt){2&Ne&&t.ekj("ng-untouched",Wt.is("untouched"))("ng-touched",Wt.is("touched"))("ng-pristine",Wt.is("pristine"))("ng-dirty",Wt.is("dirty"))("ng-valid",Wt.is("valid"))("ng-invalid",Wt.is("invalid"))("ng-pending",Wt.is("pending"))("ng-submitted",Wt.is("submitted"))},features:[t.qOj]}),Ce})();function Dn(Ce,ye){return[...ye.path,Ce]}function mn(Ce,ye){mt(Ce,ye),ye.valueAccessor.writeValue(Ce.value),function(Ce,ye){ye.valueAccessor.registerOnChange(Ne=>{Ce._pendingValue=Ne,Ce._pendingChange=!0,Ce._pendingDirty=!0,"change"===Ce.updateOn&&jt(Ce,ye)})}(Ce,ye),function(Ce,ye){const Ne=(Wt,Or)=>{ye.valueAccessor.writeValue(Wt),Or&&ye.viewToModelUpdate(Wt)};Ce.registerOnChange(Ne),ye._registerOnDestroy(()=>{Ce._unregisterOnChange(Ne)})}(Ce,ye),function(Ce,ye){ye.valueAccessor.registerOnTouched(()=>{Ce._pendingTouched=!0,"blur"===Ce.updateOn&&Ce._pendingChange&&jt(Ce,ye),"submit"!==Ce.updateOn&&Ce.markAsTouched()})}(Ce,ye),function(Ce,ye){if(ye.valueAccessor.setDisabledState){const Ne=Wt=>{ye.valueAccessor.setDisabledState(Wt)};Ce.registerOnDisabledChange(Ne),ye._registerOnDestroy(()=>{Ce._unregisterOnDisabledChange(Ne)})}}(Ce,ye)}function jn(Ce,ye,Ne=!0){const Wt=()=>{};ye.valueAccessor&&(ye.valueAccessor.registerOnChange(Wt),ye.valueAccessor.registerOnTouched(Wt)),Tt(Ce,ye),Ce&&(ye._invokeOnDestroyCallbacks(),Ce._registerOnCollectionChange(()=>{}))}function Xt(Ce,ye){Ce.forEach(Ne=>{Ne.registerOnValidatorChange&&Ne.registerOnValidatorChange(ye)})}function mt(Ce,ye){const Ne=At(Ce);null!==ye.validator?Ce.setValidators(St(Ne,ye.validator)):"function"==typeof Ne&&Ce.setValidators([Ne]);const Wt=Qe(Ce);null!==ye.asyncValidator?Ce.setAsyncValidators(St(Wt,ye.asyncValidator)):"function"==typeof Wt&&Ce.setAsyncValidators([Wt]);const Or=()=>Ce.updateValueAndValidity();Xt(ye._rawValidators,Or),Xt(ye._rawAsyncValidators,Or)}function Tt(Ce,ye){let Ne=!1;if(null!==Ce){if(null!==ye.validator){const Or=At(Ce);if(Array.isArray(Or)&&Or.length>0){const Ni=Or.filter(Yo=>Yo!==ye.validator);Ni.length!==Or.length&&(Ne=!0,Ce.setValidators(Ni))}}if(null!==ye.asyncValidator){const Or=Qe(Ce);if(Array.isArray(Or)&&Or.length>0){const Ni=Or.filter(Yo=>Yo!==ye.asyncValidator);Ni.length!==Or.length&&(Ne=!0,Ce.setAsyncValidators(Ni))}}}const Wt=()=>{};return Xt(ye._rawValidators,Wt),Xt(ye._rawAsyncValidators,Wt),Ne}function jt(Ce,ye){Ce._pendingDirty&&Ce.markAsDirty(),Ce.setValue(Ce._pendingValue,{emitModelToViewChange:!1}),ye.viewToModelUpdate(Ce._pendingValue),Ce._pendingChange=!1}function Qn(Ce,ye){mt(Ce,ye)}function Ue(Ce,ye){if(!Ce.hasOwnProperty("model"))return!1;const Ne=Ce.model;return!!Ne.isFirstChange()||!Object.is(ye,Ne.currentValue)}function at(Ce,ye){Ce._syncPendingControls(),ye.forEach(Ne=>{const Wt=Ne.control;"submit"===Wt.updateOn&&Wt._pendingChange&&(Ne.viewToModelUpdate(Wt._pendingValue),Wt._pendingChange=!1)})}function it(Ce,ye){if(!ye)return null;let Ne,Wt,Or;return Array.isArray(ye),ye.forEach(Ni=>{Ni.constructor===j?Ne=Ni:function(Ce){return Object.getPrototypeOf(Ce.constructor)===h}(Ni)?Wt=Ni:Or=Ni}),Or||Wt||Ne||null}function Pt(Ce,ye){const Ne=Ce.indexOf(ye);Ne>-1&&Ce.splice(Ne,1)}const ot="VALID",Nn="INVALID",sn="PENDING",An="DISABLED";function ir(Ce){return(br(Ce)?Ce.validators:Ce)||null}function mr(Ce){return Array.isArray(Ce)?Et(Ce):Ce||null}function _r(Ce,ye){return(br(ye)?ye.asyncValidators:Ce)||null}function Nr(Ce){return Array.isArray(Ce)?nn(Ce):Ce||null}function br(Ce){return null!=Ce&&!Array.isArray(Ce)&&"object"==typeof Ce}class Jn{constructor(ye,Ne){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=ye,this._rawAsyncValidators=Ne,this._composedValidatorFn=mr(this._rawValidators),this._composedAsyncValidatorFn=Nr(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(ye){this._rawValidators=this._composedValidatorFn=ye}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(ye){this._rawAsyncValidators=this._composedAsyncValidatorFn=ye}get parent(){return this._parent}get valid(){return this.status===ot}get invalid(){return this.status===Nn}get pending(){return this.status==sn}get disabled(){return this.status===An}get enabled(){return this.status!==An}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(ye){this._rawValidators=ye,this._composedValidatorFn=mr(ye)}setAsyncValidators(ye){this._rawAsyncValidators=ye,this._composedAsyncValidatorFn=Nr(ye)}addValidators(ye){this.setValidators(Ie(ye,this._rawValidators))}addAsyncValidators(ye){this.setAsyncValidators(Ie(ye,this._rawAsyncValidators))}removeValidators(ye){this.setValidators(dt(ye,this._rawValidators))}removeAsyncValidators(ye){this.setAsyncValidators(dt(ye,this._rawAsyncValidators))}hasValidator(ye){return ae(this._rawValidators,ye)}hasAsyncValidator(ye){return ae(this._rawAsyncValidators,ye)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(ye={}){this.touched=!0,this._parent&&!ye.onlySelf&&this._parent.markAsTouched(ye)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(ye=>ye.markAllAsTouched())}markAsUntouched(ye={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(Ne=>{Ne.markAsUntouched({onlySelf:!0})}),this._parent&&!ye.onlySelf&&this._parent._updateTouched(ye)}markAsDirty(ye={}){this.pristine=!1,this._parent&&!ye.onlySelf&&this._parent.markAsDirty(ye)}markAsPristine(ye={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(Ne=>{Ne.markAsPristine({onlySelf:!0})}),this._parent&&!ye.onlySelf&&this._parent._updatePristine(ye)}markAsPending(ye={}){this.status=sn,!1!==ye.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!ye.onlySelf&&this._parent.markAsPending(ye)}disable(ye={}){const Ne=this._parentMarkedDirty(ye.onlySelf);this.status=An,this.errors=null,this._forEachChild(Wt=>{Wt.disable(Object.assign(Object.assign({},ye),{onlySelf:!0}))}),this._updateValue(),!1!==ye.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},ye),{skipPristineCheck:Ne})),this._onDisabledChange.forEach(Wt=>Wt(!0))}enable(ye={}){const Ne=this._parentMarkedDirty(ye.onlySelf);this.status=ot,this._forEachChild(Wt=>{Wt.enable(Object.assign(Object.assign({},ye),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:ye.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},ye),{skipPristineCheck:Ne})),this._onDisabledChange.forEach(Wt=>Wt(!1))}_updateAncestors(ye){this._parent&&!ye.onlySelf&&(this._parent.updateValueAndValidity(ye),ye.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(ye){this._parent=ye}updateValueAndValidity(ye={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ot||this.status===sn)&&this._runAsyncValidator(ye.emitEvent)),!1!==ye.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!ye.onlySelf&&this._parent.updateValueAndValidity(ye)}_updateTreeValidity(ye={emitEvent:!0}){this._forEachChild(Ne=>Ne._updateTreeValidity(ye)),this.updateValueAndValidity({onlySelf:!0,emitEvent:ye.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?An:ot}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(ye){if(this.asyncValidator){this.status=sn,this._hasOwnPendingAsyncValidator=!0;const Ne=be(this.asyncValidator(this));this._asyncValidationSubscription=Ne.subscribe(Wt=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(Wt,{emitEvent:ye})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(ye,Ne={}){this.errors=ye,this._updateControlsErrors(!1!==Ne.emitEvent)}get(ye){return function(Ce,ye,Ne){if(null==ye||(Array.isArray(ye)||(ye=ye.split(".")),Array.isArray(ye)&&0===ye.length))return null;let Wt=Ce;return ye.forEach(Or=>{Wt=Wt instanceof Mr?Wt.controls.hasOwnProperty(Or)?Wt.controls[Or]:null:Wt instanceof yi&&Wt.at(Or)||null}),Wt}(this,ye)}getError(ye,Ne){const Wt=Ne?this.get(Ne):this;return Wt&&Wt.errors?Wt.errors[ye]:null}hasError(ye,Ne){return!!this.getError(ye,Ne)}get root(){let ye=this;for(;ye._parent;)ye=ye._parent;return ye}_updateControlsErrors(ye){this.status=this._calculateStatus(),ye&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(ye)}_initObservables(){this.valueChanges=new t.vpe,this.statusChanges=new t.vpe}_calculateStatus(){return this._allControlsDisabled()?An:this.errors?Nn:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(sn)?sn:this._anyControlsHaveStatus(Nn)?Nn:ot}_anyControlsHaveStatus(ye){return this._anyControls(Ne=>Ne.status===ye)}_anyControlsDirty(){return this._anyControls(ye=>ye.dirty)}_anyControlsTouched(){return this._anyControls(ye=>ye.touched)}_updatePristine(ye={}){this.pristine=!this._anyControlsDirty(),this._parent&&!ye.onlySelf&&this._parent._updatePristine(ye)}_updateTouched(ye={}){this.touched=this._anyControlsTouched(),this._parent&&!ye.onlySelf&&this._parent._updateTouched(ye)}_isBoxedValue(ye){return"object"==typeof ye&&null!==ye&&2===Object.keys(ye).length&&"value"in ye&&"disabled"in ye}_registerOnCollectionChange(ye){this._onCollectionChange=ye}_setUpdateStrategy(ye){br(ye)&&null!=ye.updateOn&&(this._updateOn=ye.updateOn)}_parentMarkedDirty(ye){return!ye&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class nr extends Jn{constructor(ye=null,Ne,Wt){super(ir(Ne),_r(Wt,Ne)),this._onChange=[],this._applyFormState(ye),this._setUpdateStrategy(Ne),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(ye,Ne={}){this.value=this._pendingValue=ye,this._onChange.length&&!1!==Ne.emitModelToViewChange&&this._onChange.forEach(Wt=>Wt(this.value,!1!==Ne.emitViewToModelChange)),this.updateValueAndValidity(Ne)}patchValue(ye,Ne={}){this.setValue(ye,Ne)}reset(ye=null,Ne={}){this._applyFormState(ye),this.markAsPristine(Ne),this.markAsUntouched(Ne),this.setValue(this.value,Ne),this._pendingChange=!1}_updateValue(){}_anyControls(ye){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(ye){this._onChange.push(ye)}_unregisterOnChange(ye){Pt(this._onChange,ye)}registerOnDisabledChange(ye){this._onDisabledChange.push(ye)}_unregisterOnDisabledChange(ye){Pt(this._onDisabledChange,ye)}_forEachChild(ye){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(ye){this._isBoxedValue(ye)?(this.value=this._pendingValue=ye.value,ye.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=ye}}class Mr extends Jn{constructor(ye,Ne,Wt){super(ir(Ne),_r(Wt,Ne)),this.controls=ye,this._initObservables(),this._setUpdateStrategy(Ne),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(ye,Ne){return this.controls[ye]?this.controls[ye]:(this.controls[ye]=Ne,Ne.setParent(this),Ne._registerOnCollectionChange(this._onCollectionChange),Ne)}addControl(ye,Ne,Wt={}){this.registerControl(ye,Ne),this.updateValueAndValidity({emitEvent:Wt.emitEvent}),this._onCollectionChange()}removeControl(ye,Ne={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),delete this.controls[ye],this.updateValueAndValidity({emitEvent:Ne.emitEvent}),this._onCollectionChange()}setControl(ye,Ne,Wt={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),delete this.controls[ye],Ne&&this.registerControl(ye,Ne),this.updateValueAndValidity({emitEvent:Wt.emitEvent}),this._onCollectionChange()}contains(ye){return this.controls.hasOwnProperty(ye)&&this.controls[ye].enabled}setValue(ye,Ne={}){this._checkAllValuesPresent(ye),Object.keys(ye).forEach(Wt=>{this._throwIfControlMissing(Wt),this.controls[Wt].setValue(ye[Wt],{onlySelf:!0,emitEvent:Ne.emitEvent})}),this.updateValueAndValidity(Ne)}patchValue(ye,Ne={}){null!=ye&&(Object.keys(ye).forEach(Wt=>{this.controls[Wt]&&this.controls[Wt].patchValue(ye[Wt],{onlySelf:!0,emitEvent:Ne.emitEvent})}),this.updateValueAndValidity(Ne))}reset(ye={},Ne={}){this._forEachChild((Wt,Or)=>{Wt.reset(ye[Or],{onlySelf:!0,emitEvent:Ne.emitEvent})}),this._updatePristine(Ne),this._updateTouched(Ne),this.updateValueAndValidity(Ne)}getRawValue(){return this._reduceChildren({},(ye,Ne,Wt)=>(ye[Wt]=Ne instanceof nr?Ne.value:Ne.getRawValue(),ye))}_syncPendingControls(){let ye=this._reduceChildren(!1,(Ne,Wt)=>!!Wt._syncPendingControls()||Ne);return ye&&this.updateValueAndValidity({onlySelf:!0}),ye}_throwIfControlMissing(ye){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[ye])throw new Error(`Cannot find form control with name: ${ye}.`)}_forEachChild(ye){Object.keys(this.controls).forEach(Ne=>{const Wt=this.controls[Ne];Wt&&ye(Wt,Ne)})}_setUpControls(){this._forEachChild(ye=>{ye.setParent(this),ye._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(ye){for(const Ne of Object.keys(this.controls)){const Wt=this.controls[Ne];if(this.contains(Ne)&&ye(Wt))return!0}return!1}_reduceValue(){return this._reduceChildren({},(ye,Ne,Wt)=>((Ne.enabled||this.disabled)&&(ye[Wt]=Ne.value),ye))}_reduceChildren(ye,Ne){let Wt=ye;return this._forEachChild((Or,Ni)=>{Wt=Ne(Wt,Or,Ni)}),Wt}_allControlsDisabled(){for(const ye of Object.keys(this.controls))if(this.controls[ye].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(ye){this._forEachChild((Ne,Wt)=>{if(void 0===ye[Wt])throw new Error(`Must supply a value for form control with name: '${Wt}'.`)})}}class yi extends Jn{constructor(ye,Ne,Wt){super(ir(Ne),_r(Wt,Ne)),this.controls=ye,this._initObservables(),this._setUpdateStrategy(Ne),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(ye){return this.controls[ye]}push(ye,Ne={}){this.controls.push(ye),this._registerControl(ye),this.updateValueAndValidity({emitEvent:Ne.emitEvent}),this._onCollectionChange()}insert(ye,Ne,Wt={}){this.controls.splice(ye,0,Ne),this._registerControl(Ne),this.updateValueAndValidity({emitEvent:Wt.emitEvent})}removeAt(ye,Ne={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),this.controls.splice(ye,1),this.updateValueAndValidity({emitEvent:Ne.emitEvent})}setControl(ye,Ne,Wt={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),this.controls.splice(ye,1),Ne&&(this.controls.splice(ye,0,Ne),this._registerControl(Ne)),this.updateValueAndValidity({emitEvent:Wt.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(ye,Ne={}){this._checkAllValuesPresent(ye),ye.forEach((Wt,Or)=>{this._throwIfControlMissing(Or),this.at(Or).setValue(Wt,{onlySelf:!0,emitEvent:Ne.emitEvent})}),this.updateValueAndValidity(Ne)}patchValue(ye,Ne={}){null!=ye&&(ye.forEach((Wt,Or)=>{this.at(Or)&&this.at(Or).patchValue(Wt,{onlySelf:!0,emitEvent:Ne.emitEvent})}),this.updateValueAndValidity(Ne))}reset(ye=[],Ne={}){this._forEachChild((Wt,Or)=>{Wt.reset(ye[Or],{onlySelf:!0,emitEvent:Ne.emitEvent})}),this._updatePristine(Ne),this._updateTouched(Ne),this.updateValueAndValidity(Ne)}getRawValue(){return this.controls.map(ye=>ye instanceof nr?ye.value:ye.getRawValue())}clear(ye={}){this.controls.length<1||(this._forEachChild(Ne=>Ne._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:ye.emitEvent}))}_syncPendingControls(){let ye=this.controls.reduce((Ne,Wt)=>!!Wt._syncPendingControls()||Ne,!1);return ye&&this.updateValueAndValidity({onlySelf:!0}),ye}_throwIfControlMissing(ye){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(ye))throw new Error(`Cannot find form control at index ${ye}`)}_forEachChild(ye){this.controls.forEach((Ne,Wt)=>{ye(Ne,Wt)})}_updateValue(){this.value=this.controls.filter(ye=>ye.enabled||this.disabled).map(ye=>ye.value)}_anyControls(ye){return this.controls.some(Ne=>Ne.enabled&&ye(Ne))}_setUpControls(){this._forEachChild(ye=>this._registerControl(ye))}_checkAllValuesPresent(ye){this._forEachChild((Ne,Wt)=>{if(void 0===ye[Wt])throw new Error(`Must supply a value for form control at index: ${Wt}.`)})}_allControlsDisabled(){for(const ye of this.controls)if(ye.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(ye){ye.setParent(this),ye._registerOnCollectionChange(this._onCollectionChange)}}const Ii={provide:zt,useExisting:(0,t.Gpc)(()=>Kr)},Oi=(()=>Promise.resolve(null))();let Kr=(()=>{class Ce extends zt{constructor(Ne,Wt){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new t.vpe,this.form=new Mr({},Et(Ne),nn(Wt))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(Ne){Oi.then(()=>{const Wt=this._findContainer(Ne.path);Ne.control=Wt.registerControl(Ne.name,Ne.control),mn(Ne.control,Ne),Ne.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(Ne)})}getControl(Ne){return this.form.get(Ne.path)}removeControl(Ne){Oi.then(()=>{const Wt=this._findContainer(Ne.path);Wt&&Wt.removeControl(Ne.name),Pt(this._directives,Ne)})}addFormGroup(Ne){Oi.then(()=>{const Wt=this._findContainer(Ne.path),Or=new Mr({});Qn(Or,Ne),Wt.registerControl(Ne.name,Or),Or.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(Ne){Oi.then(()=>{const Wt=this._findContainer(Ne.path);Wt&&Wt.removeControl(Ne.name)})}getFormGroup(Ne){return this.form.get(Ne.path)}updateModel(Ne,Wt){Oi.then(()=>{this.form.get(Ne.path).setValue(Wt)})}setValue(Ne){this.control.setValue(Ne)}onSubmit(Ne){return this.submitted=!0,at(this.form,this._directives),this.ngSubmit.emit(Ne),!1}onReset(){this.resetForm()}resetForm(Ne){this.form.reset(Ne),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(Ne){return Ne.pop(),Ne.length?this.form.get(Ne):this.form}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(U,10),t.Y36(M,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("submit",function(Ni){return Wt.onSubmit(Ni)})("reset",function(){return Wt.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[t._Bn([Ii]),t.qOj]}),Ce})(),ei=(()=>{class Ce extends zt{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Dn(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,features:[t.qOj]}),Ce})();const Ct={provide:ln,useExisting:(0,t.Gpc)(()=>We)},bt=(()=>Promise.resolve(null))();let We=(()=>{class Ce extends ln{constructor(Ne,Wt,Or,Ni){super(),this.control=new nr,this._registered=!1,this.update=new t.vpe,this._parent=Ne,this._setValidators(Wt),this._setAsyncValidators(Or),this.valueAccessor=it(0,Ni)}ngOnChanges(Ne){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in Ne&&this._updateDisabled(Ne),Ue(Ne,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?Dn(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(Ne){this.viewModel=Ne,this.update.emit(Ne)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){mn(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(Ne){bt.then(()=>{this.control.setValue(Ne,{emitViewToModelChange:!1})})}_updateDisabled(Ne){const Wt=Ne.isDisabled.currentValue,Or=""===Wt||Wt&&"false"!==Wt;bt.then(()=>{Or&&!this.control.disabled?this.control.disable():!Or&&this.control.disabled&&this.control.enable()})}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,9),t.Y36(U,10),t.Y36(M,10),t.Y36(_,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[t._Bn([Ct]),t.qOj,t.TTD]}),Ce})(),$t=(()=>{class Ce{}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),Ce})();const or={provide:_,useExisting:(0,t.Gpc)(()=>Zn),multi:!0};let Zn=(()=>{class Ce extends h{writeValue(Ne){this.setProperty("value",null==Ne?"":Ne)}registerOnChange(Ne){this.onChange=Wt=>{Ne(""==Wt?null:parseFloat(Wt))}}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("input",function(Ni){return Wt.onChange(Ni.target.value)})("blur",function(){return Wt.onTouched()})},features:[t._Bn([or]),t.qOj]}),Ce})();const Vr={provide:_,useExisting:(0,t.Gpc)(()=>Qr),multi:!0};let ai=(()=>{class Ce{}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({}),Ce})(),Dr=(()=>{class Ce{constructor(){this._accessors=[]}add(Ne,Wt){this._accessors.push([Ne,Wt])}remove(Ne){for(let Wt=this._accessors.length-1;Wt>=0;--Wt)if(this._accessors[Wt][1]===Ne)return void this._accessors.splice(Wt,1)}select(Ne){this._accessors.forEach(Wt=>{this._isSameGroup(Wt,Ne)&&Wt[1]!==Ne&&Wt[1].fireUncheck(Ne.value)})}_isSameGroup(Ne,Wt){return!!Ne[0].control&&Ne[0]._parent===Wt._control._parent&&Ne[1].name===Wt.name}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275prov=(0,t.Yz7)({factory:function(){return new Ce},token:Ce,providedIn:ai}),Ce})(),Qr=(()=>{class Ce extends h{constructor(Ne,Wt,Or,Ni){super(Ne,Wt),this._registry=Or,this._injector=Ni,this.onChange=()=>{}}ngOnInit(){this._control=this._injector.get(ln),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(Ne){this._state=Ne===this.value,this.setProperty("checked",this._state)}registerOnChange(Ne){this._fn=Ne,this.onChange=()=>{Ne(this.value),this._registry.select(this)}}fireUncheck(Ne){this.writeValue(Ne)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.Qsj),t.Y36(t.SBq),t.Y36(Dr),t.Y36(t.zs3))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("change",function(){return Wt.onChange()})("blur",function(){return Wt.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[t._Bn([Vr]),t.qOj]}),Ce})();const Ei=new t.OlP("NgModelWithFormControlWarning"),Fi={provide:zt,useExisting:(0,t.Gpc)(()=>no)};let no=(()=>{class Ce extends zt{constructor(Ne,Wt){super(),this.validators=Ne,this.asyncValidators=Wt,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new t.vpe,this._setValidators(Ne),this._setAsyncValidators(Wt)}ngOnChanges(Ne){this._checkFormPresent(),Ne.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Tt(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(Ne){const Wt=this.form.get(Ne.path);return mn(Wt,Ne),Wt.updateValueAndValidity({emitEvent:!1}),this.directives.push(Ne),Wt}getControl(Ne){return this.form.get(Ne.path)}removeControl(Ne){jn(Ne.control||null,Ne,!1),Pt(this.directives,Ne)}addFormGroup(Ne){this._setUpFormContainer(Ne)}removeFormGroup(Ne){this._cleanUpFormContainer(Ne)}getFormGroup(Ne){return this.form.get(Ne.path)}addFormArray(Ne){this._setUpFormContainer(Ne)}removeFormArray(Ne){this._cleanUpFormContainer(Ne)}getFormArray(Ne){return this.form.get(Ne.path)}updateModel(Ne,Wt){this.form.get(Ne.path).setValue(Wt)}onSubmit(Ne){return this.submitted=!0,at(this.form,this.directives),this.ngSubmit.emit(Ne),!1}onReset(){this.resetForm()}resetForm(Ne){this.form.reset(Ne),this.submitted=!1}_updateDomValue(){this.directives.forEach(Ne=>{const Wt=Ne.control,Or=this.form.get(Ne.path);Wt!==Or&&(jn(Wt||null,Ne),Or instanceof nr&&(mn(Or,Ne),Ne.control=Or))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(Ne){const Wt=this.form.get(Ne.path);Qn(Wt,Ne),Wt.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(Ne){if(this.form){const Wt=this.form.get(Ne.path);Wt&&function(Ce,ye){return Tt(Ce,ye)}(Wt,Ne)&&Wt.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){mt(this.form,this),this._oldForm&&Tt(this._oldForm,this)}_checkFormPresent(){}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(U,10),t.Y36(M,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formGroup",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("submit",function(Ni){return Wt.onSubmit(Ni)})("reset",function(){return Wt.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[t._Bn([Fi]),t.qOj,t.TTD]}),Ce})();const Ji={provide:zt,useExisting:(0,t.Gpc)(()=>qi)};let qi=(()=>{class Ce extends ei{constructor(Ne,Wt,Or){super(),this._parent=Ne,this._setValidators(Wt),this._setAsyncValidators(Or)}_checkParentType(){Go(this._parent)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,13),t.Y36(U,10),t.Y36(M,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[t._Bn([Ji]),t.qOj]}),Ce})();const to={provide:zt,useExisting:(0,t.Gpc)(()=>zi)};let zi=(()=>{class Ce extends zt{constructor(Ne,Wt,Or){super(),this._parent=Ne,this._setValidators(Wt),this._setAsyncValidators(Or)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Dn(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){Go(this._parent)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,13),t.Y36(U,10),t.Y36(M,10))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[t._Bn([to]),t.qOj]}),Ce})();function Go(Ce){return!(Ce instanceof qi||Ce instanceof no||Ce instanceof zi)}const Ro={provide:ln,useExisting:(0,t.Gpc)(()=>Bo)};let Bo=(()=>{class Ce extends ln{constructor(Ne,Wt,Or,Ni,Yo){super(),this._ngModelWarningConfig=Yo,this._added=!1,this.update=new t.vpe,this._ngModelWarningSent=!1,this._parent=Ne,this._setValidators(Wt),this._setAsyncValidators(Or),this.valueAccessor=it(0,Ni)}set isDisabled(Ne){}ngOnChanges(Ne){this._added||this._setUpControl(),Ue(Ne,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(Ne){this.viewModel=Ne,this.update.emit(Ne)}get path(){return Dn(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(zt,13),t.Y36(U,10),t.Y36(M,10),t.Y36(_,10),t.Y36(Ei,8))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","formControlName",""]],inputs:{isDisabled:["disabled","isDisabled"],name:["formControlName","name"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[t._Bn([Ro]),t.qOj,t.TTD]}),Ce._ngModelWarningSentOnce=!1,Ce})();const Jo={provide:_,useExisting:(0,t.Gpc)(()=>ds),multi:!0};function es(Ce,ye){return null==Ce?`${ye}`:(ye&&"object"==typeof ye&&(ye="Object"),`${Ce}: ${ye}`.slice(0,50))}let ds=(()=>{class Ce extends h{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(Ne){this._compareWith=Ne}writeValue(Ne){this.value=Ne;const Wt=this._getOptionId(Ne);null==Wt&&this.setProperty("selectedIndex",-1);const Or=es(Wt,Ne);this.setProperty("value",Or)}registerOnChange(Ne){this.onChange=Wt=>{this.value=this._getOptionValue(Wt),Ne(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(Ne){for(const Wt of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(Wt),Ne))return Wt;return null}_getOptionValue(Ne){const Wt=function(Ce){return Ce.split(":")[0]}(Ne);return this._optionMap.has(Wt)?this._optionMap.get(Wt):Ne}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("change",function(Ni){return Wt.onChange(Ni.target.value)})("blur",function(){return Wt.onTouched()})},inputs:{compareWith:"compareWith"},features:[t._Bn([Jo]),t.qOj]}),Ce})(),zo=(()=>{class Ce{constructor(Ne,Wt,Or){this._element=Ne,this._renderer=Wt,this._select=Or,this._select&&(this.id=this._select._registerOption())}set ngValue(Ne){null!=this._select&&(this._select._optionMap.set(this.id,Ne),this._setElementValue(es(this.id,Ne)),this._select.writeValue(this._select.value))}set value(Ne){this._setElementValue(Ne),this._select&&this._select.writeValue(this._select.value)}_setElementValue(Ne){this._renderer.setProperty(this._element.nativeElement,"value",Ne)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(ds,9))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),Ce})();const oa={provide:_,useExisting:(0,t.Gpc)(()=>ee),multi:!0};function Er(Ce,ye){return null==Ce?`${ye}`:("string"==typeof ye&&(ye=`'${ye}'`),ye&&"object"==typeof ye&&(ye="Object"),`${Ce}: ${ye}`.slice(0,50))}let ee=(()=>{class Ce extends h{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(Ne){this._compareWith=Ne}writeValue(Ne){let Wt;if(this.value=Ne,Array.isArray(Ne)){const Or=Ne.map(Ni=>this._getOptionId(Ni));Wt=(Ni,Yo)=>{Ni._setSelected(Or.indexOf(Yo.toString())>-1)}}else Wt=(Or,Ni)=>{Or._setSelected(!1)};this._optionMap.forEach(Wt)}registerOnChange(Ne){this.onChange=Wt=>{const Or=[];if(void 0!==Wt.selectedOptions){const Ni=Wt.selectedOptions;for(let Yo=0;Yo<Ni.length;Yo++){const ms=Ni.item(Yo),ss=this._getOptionValue(ms.value);Or.push(ss)}}else{const Ni=Wt.options;for(let Yo=0;Yo<Ni.length;Yo++){const ms=Ni.item(Yo);if(ms.selected){const ss=this._getOptionValue(ms.value);Or.push(ss)}}}this.value=Or,Ne(Or)}}_registerOption(Ne){const Wt=(this._idCounter++).toString();return this._optionMap.set(Wt,Ne),Wt}_getOptionId(Ne){for(const Wt of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(Wt)._value,Ne))return Wt;return null}_getOptionValue(Ne){const Wt=function(Ce){return Ce.split(":")[0]}(Ne);return this._optionMap.has(Wt)?this._optionMap.get(Wt)._value:Ne}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(Ne,Wt){1&Ne&&t.NdJ("change",function(Ni){return Wt.onChange(Ni.target)})("blur",function(){return Wt.onTouched()})},inputs:{compareWith:"compareWith"},features:[t._Bn([oa]),t.qOj]}),Ce})(),Ve=(()=>{class Ce{constructor(Ne,Wt,Or){this._element=Ne,this._renderer=Wt,this._select=Or,this._select&&(this.id=this._select._registerOption(this))}set ngValue(Ne){null!=this._select&&(this._value=Ne,this._setElementValue(Er(this.id,Ne)),this._select.writeValue(this._select.value))}set value(Ne){this._select?(this._value=Ne,this._setElementValue(Er(this.id,Ne)),this._select.writeValue(this._select.value)):this._setElementValue(Ne)}_setElementValue(Ne){this._renderer.setProperty(this._element.nativeElement,"value",Ne)}_setSelected(Ne){this._renderer.setProperty(this._element.nativeElement,"selected",Ne)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(ee,9))},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),Ce})(),Tn=(()=>{class Ce{constructor(){this._validator=Me}handleChanges(Ne){if(this.inputName in Ne){const Wt=this.normalizeInput(Ne[this.inputName].currentValue);this._validator=this.createValidator(Wt),this._onChange&&this._onChange()}}validate(Ne){return this._validator(Ne)}registerOnValidatorChange(Ne){this._onChange=Ne}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275dir=t.lG2({type:Ce}),Ce})();const $r={provide:U,useExisting:(0,t.Gpc)(()=>ni),multi:!0};let ni=(()=>{class Ce extends Tn{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=Ne=>parseFloat(Ne),this.createValidator=Ne=>ie(Ne)}ngOnChanges(Ne){this.handleChanges(Ne)}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(Ne,Wt){if(2&Ne){let Or;t.uIk("max",null!==(Or=Wt.max)&&void 0!==Or?Or:null)}},inputs:{max:"max"},features:[t._Bn([$r]),t.qOj,t.TTD]}),Ce})();const Ri={provide:U,useExisting:(0,t.Gpc)(()=>Do),multi:!0};let Do=(()=>{class Ce extends Tn{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=Ne=>parseFloat(Ne),this.createValidator=Ne=>Y(Ne)}ngOnChanges(Ne){this.handleChanges(Ne)}}return Ce.\u0275fac=function(){let ye;return function(Wt){return(ye||(ye=t.n5z(Ce)))(Wt||Ce)}}(),Ce.\u0275dir=t.lG2({type:Ce,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(Ne,Wt){if(2&Ne){let Or;t.uIk("min",null!==(Or=Wt.min)&&void 0!==Or?Or:null)}},inputs:{min:"min"},features:[t._Bn([Ri]),t.qOj,t.TTD]}),Ce})();const gi={provide:U,useExisting:(0,t.Gpc)(()=>Li),multi:!0};let Li=(()=>{class Ce{constructor(){this._required=!1}get required(){return this._required}set required(Ne){this._required=null!=Ne&&!1!==Ne&&"false"!=`${Ne}`,this._onChange&&this._onChange()}validate(Ne){return this.required?oe(Ne):null}registerOnValidatorChange(Ne){this._onChange=Ne}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275dir=t.lG2({type:Ce,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(Ne,Wt){2&Ne&&t.uIk("required",Wt.required?"":null)},inputs:{required:"required"},features:[t._Bn([gi])]}),Ce})(),fa=(()=>{class Ce{}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({imports:[[ai]]}),Ce})(),ks=(()=>{class Ce{}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({imports:[fa]}),Ce})(),Ua=(()=>{class Ce{static withConfig(Ne){return{ngModule:Ce,providers:[{provide:Ei,useValue:Ne.warnOnNgModelWithFormControl}]}}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({imports:[fa]}),Ce})(),an=(()=>{class Ce{group(Ne,Wt=null){const Or=this._reduceControls(Ne);let ms,Ni=null,Yo=null;return null!=Wt&&(function(Ce){return void 0!==Ce.asyncValidators||void 0!==Ce.validators||void 0!==Ce.updateOn}(Wt)?(Ni=null!=Wt.validators?Wt.validators:null,Yo=null!=Wt.asyncValidators?Wt.asyncValidators:null,ms=null!=Wt.updateOn?Wt.updateOn:void 0):(Ni=null!=Wt.validator?Wt.validator:null,Yo=null!=Wt.asyncValidator?Wt.asyncValidator:null)),new Mr(Or,{asyncValidators:Yo,updateOn:ms,validators:Ni})}control(Ne,Wt,Or){return new nr(Ne,Wt,Or)}array(Ne,Wt,Or){const Ni=Ne.map(Yo=>this._createControl(Yo));return new yi(Ni,Wt,Or)}_reduceControls(Ne){const Wt={};return Object.keys(Ne).forEach(Or=>{Wt[Or]=this._createControl(Ne[Or])}),Wt}_createControl(Ne){return Ne instanceof nr||Ne instanceof Mr||Ne instanceof yi?Ne:Array.isArray(Ne)?this.control(Ne[0],Ne.length>1?Ne[1]:null,Ne.length>2?Ne[2]:null):this.control(Ne)}}return Ce.\u0275fac=function(Ne){return new(Ne||Ce)},Ce.\u0275prov=(0,t.Yz7)({factory:function(){return new Ce},token:Ce,providedIn:Ua}),Ce})()},91211:(Ge,g,o)=>{"use strict";o.d(g,{b2:()=>Ut,H7:()=>yn,HJ:()=>Jn,q6:()=>it,se:()=>dt});var t=o(12057),e=o(74788);class s extends t.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class a extends s{static makeCurrent(){(0,t.HT)(new a)}onAndCancel(Ke,Xe,Vt){return Ke.addEventListener(Xe,Vt,!1),()=>{Ke.removeEventListener(Xe,Vt,!1)}}dispatchEvent(Ke,Xe){Ke.dispatchEvent(Xe)}remove(Ke){Ke.parentNode&&Ke.parentNode.removeChild(Ke)}createElement(Ke,Xe){return(Xe=Xe||this.getDefaultDocument()).createElement(Ke)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(Ke){return Ke.nodeType===Node.ELEMENT_NODE}isShadowRoot(Ke){return Ke instanceof DocumentFragment}getGlobalEventTarget(Ke,Xe){return"window"===Xe?window:"document"===Xe?Ke:"body"===Xe?Ke.body:null}getBaseHref(Ke){const Xe=(l=l||document.querySelector("base"),l?l.getAttribute("href"):null);return null==Xe?null:function(ct){h=h||document.createElement("a"),h.setAttribute("href",ct);const Ke=h.pathname;return"/"===Ke.charAt(0)?Ke:`/${Ke}`}(Xe)}resetBaseElement(){l=null}getUserAgent(){return window.navigator.userAgent}getCookie(Ke){return(0,t.Mx)(document.cookie,Ke)}}let h,l=null;const m=new e.OlP("TRANSITION_ID"),C=[{provide:e.ip1,useFactory:function(ct,Ke,Xe){return()=>{Xe.get(e.CZH).donePromise.then(()=>{const Vt=(0,t.q)(),Ct=Ke.querySelectorAll(`style[ng-transition="${ct}"]`);for(let rt=0;rt<Ct.length;rt++)Vt.remove(Ct[rt])})}},deps:[m,t.K0,e.zs3],multi:!0}];class D{static init(){(0,e.VLi)(new D)}addToWindow(Ke){e.dqk.getAngularTestability=(Vt,Ct=!0)=>{const rt=Ke.findTestabilityInTree(Vt,Ct);if(null==rt)throw new Error("Could not find testability for element.");return rt},e.dqk.getAllAngularTestabilities=()=>Ke.getAllTestabilities(),e.dqk.getAllAngularRootElements=()=>Ke.getAllRootElements(),e.dqk.frameworkStabilizers||(e.dqk.frameworkStabilizers=[]),e.dqk.frameworkStabilizers.push(Vt=>{const Ct=e.dqk.getAllAngularTestabilities();let rt=Ct.length,bt=!1;const We=function($t){bt=bt||$t,rt--,0==rt&&Vt(bt)};Ct.forEach(function($t){$t.whenStable(We)})})}findTestabilityInTree(Ke,Xe,Vt){if(null==Xe)return null;const Ct=Ke.getTestability(Xe);return null!=Ct?Ct:Vt?(0,t.q)().isShadowRoot(Xe)?this.findTestabilityInTree(Ke,Xe.host,!0):this.findTestabilityInTree(Ke,Xe.parentElement,!0):null}}let x=(()=>{class ct{build(){return new XMLHttpRequest}}return ct.\u0275fac=function(Xe){return new(Xe||ct)},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();const Me=new e.OlP("EventManagerPlugins");let Oe=(()=>{class ct{constructor(Xe,Vt){this._zone=Vt,this._eventNameToPlugin=new Map,Xe.forEach(Ct=>Ct.manager=this),this._plugins=Xe.slice().reverse()}addEventListener(Xe,Vt,Ct){return this._findPluginFor(Vt).addEventListener(Xe,Vt,Ct)}addGlobalEventListener(Xe,Vt,Ct){return this._findPluginFor(Vt).addGlobalEventListener(Xe,Vt,Ct)}getZone(){return this._zone}_findPluginFor(Xe){const Vt=this._eventNameToPlugin.get(Xe);if(Vt)return Vt;const Ct=this._plugins;for(let rt=0;rt<Ct.length;rt++){const bt=Ct[rt];if(bt.supports(Xe))return this._eventNameToPlugin.set(Xe,bt),bt}throw new Error(`No event manager plugin found for event ${Xe}`)}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(Me),e.LFG(e.R0b))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();class be{constructor(Ke){this._doc=Ke}addGlobalEventListener(Ke,Xe,Vt){const Ct=(0,t.q)().getGlobalEventTarget(this._doc,Ke);if(!Ct)throw new Error(`Unsupported event target ${Ct} for event ${Xe}`);return this.addEventListener(Ct,Xe,Vt)}}let ue=(()=>{class ct{constructor(){this._stylesSet=new Set}addStyles(Xe){const Vt=new Set;Xe.forEach(Ct=>{this._stylesSet.has(Ct)||(this._stylesSet.add(Ct),Vt.add(Ct))}),this.onStylesAdded(Vt)}onStylesAdded(Xe){}getAllStyles(){return Array.from(this._stylesSet)}}return ct.\u0275fac=function(Xe){return new(Xe||ct)},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})(),He=(()=>{class ct extends ue{constructor(Xe){super(),this._doc=Xe,this._hostNodes=new Map,this._hostNodes.set(Xe.head,[])}_addStylesToHost(Xe,Vt,Ct){Xe.forEach(rt=>{const bt=this._doc.createElement("style");bt.textContent=rt,Ct.push(Vt.appendChild(bt))})}addHost(Xe){const Vt=[];this._addStylesToHost(this._stylesSet,Xe,Vt),this._hostNodes.set(Xe,Vt)}removeHost(Xe){const Vt=this._hostNodes.get(Xe);Vt&&Vt.forEach($e),this._hostNodes.delete(Xe)}onStylesAdded(Xe){this._hostNodes.forEach((Vt,Ct)=>{this._addStylesToHost(Xe,Ct,Vt)})}ngOnDestroy(){this._hostNodes.forEach(Xe=>Xe.forEach($e))}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(t.K0))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();function $e(ct){(0,t.q)().remove(ct)}const F={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},je=/%COMP%/g;function It(ct,Ke,Xe){for(let Vt=0;Vt<Ke.length;Vt++){let Ct=Ke[Vt];Array.isArray(Ct)?It(ct,Ct,Xe):(Ct=Ct.replace(je,ct),Xe.push(Ct))}return Xe}function ae(ct){return Ke=>{if("__ngUnwrap__"===Ke)return ct;!1===ct(Ke)&&(Ke.preventDefault(),Ke.returnValue=!1)}}let dt=(()=>{class ct{constructor(Xe,Vt,Ct){this.eventManager=Xe,this.sharedStylesHost=Vt,this.appId=Ct,this.rendererByCompId=new Map,this.defaultRenderer=new Jt(Xe)}createRenderer(Xe,Vt){if(!Xe||!Vt)return this.defaultRenderer;switch(Vt.encapsulation){case e.ifc.Emulated:{let Ct=this.rendererByCompId.get(Vt.id);return Ct||(Ct=new Ln(this.eventManager,this.sharedStylesHost,Vt,this.appId),this.rendererByCompId.set(Vt.id,Ct)),Ct.applyToHost(Xe),Ct}case 1:case e.ifc.ShadowDom:return new Rn(this.eventManager,this.sharedStylesHost,Xe,Vt);default:if(!this.rendererByCompId.has(Vt.id)){const Ct=It(Vt.id,Vt.styles,[]);this.sharedStylesHost.addStyles(Ct),this.rendererByCompId.set(Vt.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(Oe),e.LFG(He),e.LFG(e.AFp))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();class Jt{constructor(Ke){this.eventManager=Ke,this.data=Object.create(null)}destroy(){}createElement(Ke,Xe){return Xe?document.createElementNS(F[Xe]||Xe,Ke):document.createElement(Ke)}createComment(Ke){return document.createComment(Ke)}createText(Ke){return document.createTextNode(Ke)}appendChild(Ke,Xe){Ke.appendChild(Xe)}insertBefore(Ke,Xe,Vt){Ke&&Ke.insertBefore(Xe,Vt)}removeChild(Ke,Xe){Ke&&Ke.removeChild(Xe)}selectRootElement(Ke,Xe){let Vt="string"==typeof Ke?document.querySelector(Ke):Ke;if(!Vt)throw new Error(`The selector "${Ke}" did not match any elements`);return Xe||(Vt.textContent=""),Vt}parentNode(Ke){return Ke.parentNode}nextSibling(Ke){return Ke.nextSibling}setAttribute(Ke,Xe,Vt,Ct){if(Ct){Xe=Ct+":"+Xe;const rt=F[Ct];rt?Ke.setAttributeNS(rt,Xe,Vt):Ke.setAttribute(Xe,Vt)}else Ke.setAttribute(Xe,Vt)}removeAttribute(Ke,Xe,Vt){if(Vt){const Ct=F[Vt];Ct?Ke.removeAttributeNS(Ct,Xe):Ke.removeAttribute(`${Vt}:${Xe}`)}else Ke.removeAttribute(Xe)}addClass(Ke,Xe){Ke.classList.add(Xe)}removeClass(Ke,Xe){Ke.classList.remove(Xe)}setStyle(Ke,Xe,Vt,Ct){Ct&(e.JOm.DashCase|e.JOm.Important)?Ke.style.setProperty(Xe,Vt,Ct&e.JOm.Important?"important":""):Ke.style[Xe]=Vt}removeStyle(Ke,Xe,Vt){Vt&e.JOm.DashCase?Ke.style.removeProperty(Xe):Ke.style[Xe]=""}setProperty(Ke,Xe,Vt){Ke[Xe]=Vt}setValue(Ke,Xe){Ke.nodeValue=Xe}listen(Ke,Xe,Vt){return"string"==typeof Ke?this.eventManager.addGlobalEventListener(Ke,Xe,ae(Vt)):this.eventManager.addEventListener(Ke,Xe,ae(Vt))}}class Ln extends Jt{constructor(Ke,Xe,Vt,Ct){super(Ke),this.component=Vt;const rt=It(Ct+"-"+Vt.id,Vt.styles,[]);Xe.addStyles(rt),this.contentAttr="_ngcontent-%COMP%".replace(je,Ct+"-"+Vt.id),this.hostAttr="_nghost-%COMP%".replace(je,Ct+"-"+Vt.id)}applyToHost(Ke){super.setAttribute(Ke,this.hostAttr,"")}createElement(Ke,Xe){const Vt=super.createElement(Ke,Xe);return super.setAttribute(Vt,this.contentAttr,""),Vt}}class Rn extends Jt{constructor(Ke,Xe,Vt,Ct){super(Ke),this.sharedStylesHost=Xe,this.hostEl=Vt,this.shadowRoot=Vt.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const rt=It(Ct.id,Ct.styles,[]);for(let bt=0;bt<rt.length;bt++){const We=document.createElement("style");We.textContent=rt[bt],this.shadowRoot.appendChild(We)}}nodeOrShadowRoot(Ke){return Ke===this.hostEl?this.shadowRoot:Ke}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(Ke,Xe){return super.appendChild(this.nodeOrShadowRoot(Ke),Xe)}insertBefore(Ke,Xe,Vt){return super.insertBefore(this.nodeOrShadowRoot(Ke),Xe,Vt)}removeChild(Ke,Xe){return super.removeChild(this.nodeOrShadowRoot(Ke),Xe)}parentNode(Ke){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(Ke)))}}let er=(()=>{class ct extends be{constructor(Xe){super(Xe)}supports(Xe){return!0}addEventListener(Xe,Vt,Ct){return Xe.addEventListener(Vt,Ct,!1),()=>this.removeEventListener(Xe,Vt,Ct)}removeEventListener(Xe,Vt,Ct){return Xe.removeEventListener(Vt,Ct)}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(t.K0))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})();const Sn=["alt","control","meta","shift"],En={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Fn={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},ut={alt:ct=>ct.altKey,control:ct=>ct.ctrlKey,meta:ct=>ct.metaKey,shift:ct=>ct.shiftKey};let mt=(()=>{class ct extends be{constructor(Xe){super(Xe)}supports(Xe){return null!=ct.parseEventName(Xe)}addEventListener(Xe,Vt,Ct){const rt=ct.parseEventName(Vt),bt=ct.eventCallback(rt.fullKey,Ct,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,t.q)().onAndCancel(Xe,rt.domEventName,bt))}static parseEventName(Xe){const Vt=Xe.toLowerCase().split("."),Ct=Vt.shift();if(0===Vt.length||"keydown"!==Ct&&"keyup"!==Ct)return null;const rt=ct._normalizeKey(Vt.pop());let bt="";if(Sn.forEach($t=>{const or=Vt.indexOf($t);or>-1&&(Vt.splice(or,1),bt+=$t+".")}),bt+=rt,0!=Vt.length||0===rt.length)return null;const We={};return We.domEventName=Ct,We.fullKey=bt,We}static getEventFullKey(Xe){let Vt="",Ct=function(ct){let Ke=ct.key;if(null==Ke){if(Ke=ct.keyIdentifier,null==Ke)return"Unidentified";Ke.startsWith("U+")&&(Ke=String.fromCharCode(parseInt(Ke.substring(2),16)),3===ct.location&&Fn.hasOwnProperty(Ke)&&(Ke=Fn[Ke]))}return En[Ke]||Ke}(Xe);return Ct=Ct.toLowerCase()," "===Ct?Ct="space":"."===Ct&&(Ct="dot"),Sn.forEach(rt=>{rt!=Ct&&ut[rt](Xe)&&(Vt+=rt+".")}),Vt+=Ct,Vt}static eventCallback(Xe,Vt,Ct){return rt=>{ct.getEventFullKey(rt)===Xe&&Ct.runGuarded(()=>Vt(rt))}}static _normalizeKey(Xe){switch(Xe){case"esc":return"escape";default:return Xe}}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(t.K0))},ct.\u0275prov=e.Yz7({token:ct,factory:ct.\u0275fac}),ct})(),yn=(()=>{class ct{}return ct.\u0275fac=function(Xe){return new(Xe||ct)},ct.\u0275prov=(0,e.Yz7)({factory:function(){return(0,e.LFG)(jt)},token:ct,providedIn:"root"}),ct})(),jt=(()=>{class ct extends yn{constructor(Xe){super(),this._doc=Xe}sanitize(Xe,Vt){if(null==Vt)return null;switch(Xe){case e.q3G.NONE:return Vt;case e.q3G.HTML:return(0,e.qzn)(Vt,"HTML")?(0,e.z3N)(Vt):(0,e.EiD)(this._doc,String(Vt)).toString();case e.q3G.STYLE:return(0,e.qzn)(Vt,"Style")?(0,e.z3N)(Vt):Vt;case e.q3G.SCRIPT:if((0,e.qzn)(Vt,"Script"))return(0,e.z3N)(Vt);throw new Error("unsafe value used in a script context");case e.q3G.URL:return(0,e.yhl)(Vt),(0,e.qzn)(Vt,"URL")?(0,e.z3N)(Vt):(0,e.mCW)(String(Vt));case e.q3G.RESOURCE_URL:if((0,e.qzn)(Vt,"ResourceURL"))return(0,e.z3N)(Vt);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${Xe} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(Xe){return(0,e.JVY)(Xe)}bypassSecurityTrustStyle(Xe){return(0,e.L6k)(Xe)}bypassSecurityTrustScript(Xe){return(0,e.eBb)(Xe)}bypassSecurityTrustUrl(Xe){return(0,e.LAX)(Xe)}bypassSecurityTrustResourceUrl(Xe){return(0,e.pB0)(Xe)}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(t.K0))},ct.\u0275prov=(0,e.Yz7)({factory:function(){return function(ct){return new jt(ct.get(t.K0))}((0,e.LFG)(e.gxx))},token:ct,providedIn:"root"}),ct})();const it=(0,e.eFA)(e._c5,"browser",[{provide:e.Lbi,useValue:t.bD},{provide:e.g9A,useValue:function(){a.makeCurrent(),D.init()},multi:!0},{provide:t.K0,useFactory:function(){return(0,e.RDi)(document),document},deps:[]}]),Pt=[[],{provide:e.zSh,useValue:"root"},{provide:e.qLn,useFactory:function(){return new e.qLn},deps:[]},{provide:Me,useClass:er,multi:!0,deps:[t.K0,e.R0b,e.Lbi]},{provide:Me,useClass:mt,multi:!0,deps:[t.K0]},[],{provide:dt,useClass:dt,deps:[Oe,He,e.AFp]},{provide:e.FYo,useExisting:dt},{provide:ue,useExisting:He},{provide:He,useClass:He,deps:[t.K0]},{provide:e.dDg,useClass:e.dDg,deps:[e.R0b]},{provide:Oe,useClass:Oe,deps:[Me,e.R0b]},{provide:t.JF,useClass:x,deps:[]},[]];let Ut=(()=>{class ct{constructor(Xe){if(Xe)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(Xe){return{ngModule:ct,providers:[{provide:e.AFp,useValue:Xe.appId},{provide:m,useExisting:e.AFp},C]}}}return ct.\u0275fac=function(Xe){return new(Xe||ct)(e.LFG(ct,12))},ct.\u0275mod=e.oAB({type:ct}),ct.\u0275inj=e.cJS({providers:Pt,imports:[t.ez,e.hGG]}),ct})();const ir="undefined"!=typeof window&&window||{};class mr{constructor(Ke,Xe){this.msPerTick=Ke,this.numTicks=Xe}}class _r{constructor(Ke){this.appRef=Ke.injector.get(e.z2F)}timeChangeDetection(Ke){const Xe=Ke&&Ke.record,Vt="Change Detection",Ct=null!=ir.console.profile;Xe&&Ct&&ir.console.profile(Vt);const rt=Nr();let bt=0;for(;bt<5||Nr()-rt<500;)this.appRef.tick(),bt++;const We=Nr();Xe&&Ct&&ir.console.profileEnd(Vt);const $t=(We-rt)/bt;return ir.console.log(`ran ${bt} change detection cycles`),ir.console.log(`${$t.toFixed(2)} ms per check`),new mr($t,bt)}}function Nr(){return ir.performance&&ir.performance.now?ir.performance.now():(new Date).getTime()}function Jn(ct){return function(ct,Ke){"undefined"!=typeof COMPILED&&COMPILED||((e.dqk.ng=e.dqk.ng||{})[ct]=Ke)}("profiler",new _r(ct)),ct}},6283:(Ge,g,o)=>{"use strict";o.d(g,{gz:()=>di,m2:()=>ue,OD:()=>be,wm:()=>Qo,F0:()=>Xn,rH:()=>Fr,Od:()=>lr,yS:()=>zr,Bz:()=>Es,lC:()=>li});var t=o(12057),e=o(74788),s=o(18891),a=o(94402),l=o(59193);function u(Je){return new s.y(Fe=>{let we;try{we=Je()}catch(xe){return void Fe.error(xe)}return(we?(0,a.D)(we):(0,l.c)()).subscribe(Fe)})}var h=o(25917),_=o(26215),m=o(9112),b=o(13410),C=o(58071),D=o(52441),x=o(79765),j=o(88002),H=o(43190),z=o(15257),U=o(39761),M=o(42145),I=o(45435),J=o(5304),Y=o(94612),ie=o(12627),oe=o(28049),fe=o(19773),ne=o(68307),he=o(548),ce=o(51307),Ae=o(68939),Me=o(63282);class Oe{constructor(Fe,we){this.id=Fe,this.url=we}}class be extends Oe{constructor(Fe,we,Ot="imperative",xe=null){super(Fe,we),this.navigationTrigger=Ot,this.restoredState=xe}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class ue extends Oe{constructor(Fe,we,Ot){super(Fe,we),this.urlAfterRedirects=Ot}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class He extends Oe{constructor(Fe,we,Ot){super(Fe,we),this.reason=Ot}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class $e extends Oe{constructor(Fe,we,Ot){super(Fe,we),this.error=Ot}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class F extends Oe{constructor(Fe,we,Ot,xe){super(Fe,we),this.urlAfterRedirects=Ot,this.state=xe}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class je extends Oe{constructor(Fe,we,Ot,xe){super(Fe,we),this.urlAfterRedirects=Ot,this.state=xe}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Et extends Oe{constructor(Fe,we,Ot,xe,ke){super(Fe,we),this.urlAfterRedirects=Ot,this.state=xe,this.shouldActivate=ke}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class lt extends Oe{constructor(Fe,we,Ot,xe){super(Fe,we),this.urlAfterRedirects=Ot,this.state=xe}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class nn extends Oe{constructor(Fe,we,Ot,xe){super(Fe,we),this.urlAfterRedirects=Ot,this.state=xe}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class St{constructor(Fe){this.route=Fe}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class At{constructor(Fe){this.route=Fe}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class Qe{constructor(Fe){this.snapshot=Fe}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class It{constructor(Fe){this.snapshot=Fe}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ae{constructor(Fe){this.snapshot=Fe}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ie{constructor(Fe){this.snapshot=Fe}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class dt{constructor(Fe,we,Ot){this.routerEvent=Fe,this.position=we,this.anchor=Ot}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const Jt="primary";class zt{constructor(Fe){this.params=Fe||{}}has(Fe){return Object.prototype.hasOwnProperty.call(this.params,Fe)}get(Fe){if(this.has(Fe)){const we=this.params[Fe];return Array.isArray(we)?we[0]:we}return null}getAll(Fe){if(this.has(Fe)){const we=this.params[Fe];return Array.isArray(we)?we:[we]}return[]}get keys(){return Object.keys(this.params)}}function ln(Je){return new zt(Je)}const ar="ngNavigationCancelingError";function Ln(Je){const Fe=Error("NavigationCancelingError: "+Je);return Fe[ar]=!0,Fe}function er(Je,Fe,we){const Ot=we.path.split("/");if(Ot.length>Je.length||"full"===we.pathMatch&&(Fe.hasChildren()||Ot.length<Je.length))return null;const xe={};for(let ke=0;ke<Ot.length;ke++){const Te=Ot[ke],ge=Je[ke];if(Te.startsWith(":"))xe[Te.substring(1)]=ge;else if(Te!==ge.path)return null}return{consumed:Je.slice(0,Ot.length),posParams:xe}}function Ht(Je,Fe){const we=Je?Object.keys(Je):void 0,Ot=Fe?Object.keys(Fe):void 0;if(!we||!Ot||we.length!=Ot.length)return!1;let xe;for(let ke=0;ke<we.length;ke++)if(xe=we[ke],!tr(Je[xe],Fe[xe]))return!1;return!0}function tr(Je,Fe){if(Array.isArray(Je)&&Array.isArray(Fe)){if(Je.length!==Fe.length)return!1;const we=[...Je].sort(),Ot=[...Fe].sort();return we.every((xe,ke)=>Ot[ke]===xe)}return Je===Fe}function Yn(Je){return Array.prototype.concat.apply([],Je)}function Cn(Je){return Je.length>0?Je[Je.length-1]:null}function dn(Je,Fe){for(const we in Je)Je.hasOwnProperty(we)&&Fe(Je[we],we)}function Kn(Je){return(0,e.CqO)(Je)?Je:(0,e.QGY)(Je)?(0,a.D)(Promise.resolve(Je)):(0,h.of)(Je)}const Sn={exact:function Dn(Je,Fe,we){if(!jt(Je.segments,Fe.segments)||!ut(Je.segments,Fe.segments,we)||Je.numberOfChildren!==Fe.numberOfChildren)return!1;for(const Ot in Fe.children)if(!Je.children[Ot]||!Dn(Je.children[Ot],Fe.children[Ot],we))return!1;return!0},subset:jn},$n={exact:function(Je,Fe){return Ht(Je,Fe)},subset:function(Je,Fe){return Object.keys(Fe).length<=Object.keys(Je).length&&Object.keys(Fe).every(we=>tr(Je[we],Fe[we]))},ignored:()=>!0};function En(Je,Fe,we){return Sn[we.paths](Je.root,Fe.root,we.matrixParams)&&$n[we.queryParams](Je.queryParams,Fe.queryParams)&&!("exact"===we.fragment&&Je.fragment!==Fe.fragment)}function jn(Je,Fe,we){return Xt(Je,Fe,Fe.segments,we)}function Xt(Je,Fe,we,Ot){if(Je.segments.length>we.length){const xe=Je.segments.slice(0,we.length);return!(!jt(xe,we)||Fe.hasChildren()||!ut(xe,we,Ot))}if(Je.segments.length===we.length){if(!jt(Je.segments,we)||!ut(Je.segments,we,Ot))return!1;for(const xe in Fe.children)if(!Je.children[xe]||!jn(Je.children[xe],Fe.children[xe],Ot))return!1;return!0}{const xe=we.slice(0,Je.segments.length),ke=we.slice(Je.segments.length);return!!(jt(Je.segments,xe)&&ut(Je.segments,xe,Ot)&&Je.children[Jt])&&Xt(Je.children[Jt],Fe,ke,Ot)}}function ut(Je,Fe,we){return Fe.every((Ot,xe)=>$n[we](Je[xe].parameters,Ot.parameters))}class mt{constructor(Fe,we,Ot){this.root=Fe,this.queryParams=we,this.fragment=Ot}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ln(this.queryParams)),this._queryParamMap}toString(){return ht.serialize(this)}}class Tt{constructor(Fe,we){this.segments=Fe,this.children=we,this.parent=null,dn(we,(Ot,xe)=>Ot.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return L(this)}}class yn{constructor(Fe,we){this.path=Fe,this.parameters=we}get parameterMap(){return this._parameterMap||(this._parameterMap=ln(this.parameters)),this._parameterMap}toString(){return Nn(this)}}function jt(Je,Fe){return Je.length===Fe.length&&Je.every((we,Ot)=>we.path===Fe[Ot].path)}class Qn{}class Ir{parse(Fe){const we=new Jn(Fe);return new mt(we.parseRootSegment(),we.parseQueryParams(),we.parseFragment())}serialize(Fe){var Je;return`${`/${Ue(Fe.root,!0)}`}${function(Je){const Fe=Object.keys(Je).map(we=>{const Ot=Je[we];return Array.isArray(Ot)?Ot.map(xe=>`${at(we)}=${at(xe)}`).join("&"):`${at(we)}=${at(Ot)}`}).filter(we=>!!we);return Fe.length?`?${Fe.join("&")}`:""}(Fe.queryParams)}${"string"==typeof Fe.fragment?`#${Je=Fe.fragment,encodeURI(Je)}`:""}`}}const ht=new Ir;function L(Je){return Je.segments.map(Fe=>Nn(Fe)).join("/")}function Ue(Je,Fe){if(!Je.hasChildren())return L(Je);if(Fe){const we=Je.children[Jt]?Ue(Je.children[Jt],!1):"",Ot=[];return dn(Je.children,(xe,ke)=>{ke!==Jt&&Ot.push(`${ke}:${Ue(xe,!1)}`)}),Ot.length>0?`${we}(${Ot.join("//")})`:we}{const we=function(Je,Fe){let we=[];return dn(Je.children,(Ot,xe)=>{xe===Jt&&(we=we.concat(Fe(Ot,xe)))}),dn(Je.children,(Ot,xe)=>{xe!==Jt&&(we=we.concat(Fe(Ot,xe)))}),we}(Je,(Ot,xe)=>xe===Jt?[Ue(Je.children[Jt],!1)]:[`${xe}:${Ue(Ot,!1)}`]);return 1===Object.keys(Je.children).length&&null!=Je.children[Jt]?`${L(Je)}/${we[0]}`:`${L(Je)}/(${we.join("//")})`}}function nt(Je){return encodeURIComponent(Je).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function at(Je){return nt(Je).replace(/%3B/gi,";")}function Pt(Je){return nt(Je).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ut(Je){return decodeURIComponent(Je)}function ot(Je){return Ut(Je.replace(/\+/g,"%20"))}function Nn(Je){return`${Pt(Je.path)}${function(Je){return Object.keys(Je).map(Fe=>`;${Pt(Fe)}=${Pt(Je[Fe])}`).join("")}(Je.parameters)}`}const Bn=/^[^\/()?;=#]+/;function ir(Je){const Fe=Je.match(Bn);return Fe?Fe[0]:""}const mr=/^[^=?&#]+/,Nr=/^[^?&#]+/;class Jn{constructor(Fe){this.url=Fe,this.remaining=Fe}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Tt([],{}):new Tt([],this.parseChildren())}parseQueryParams(){const Fe={};if(this.consumeOptional("?"))do{this.parseQueryParam(Fe)}while(this.consumeOptional("&"));return Fe}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const Fe=[];for(this.peekStartsWith("(")||Fe.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),Fe.push(this.parseSegment());let we={};this.peekStartsWith("/(")&&(this.capture("/"),we=this.parseParens(!0));let Ot={};return this.peekStartsWith("(")&&(Ot=this.parseParens(!1)),(Fe.length>0||Object.keys(we).length>0)&&(Ot[Jt]=new Tt(Fe,we)),Ot}parseSegment(){const Fe=ir(this.remaining);if(""===Fe&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(Fe),new yn(Ut(Fe),this.parseMatrixParams())}parseMatrixParams(){const Fe={};for(;this.consumeOptional(";");)this.parseParam(Fe);return Fe}parseParam(Fe){const we=ir(this.remaining);if(!we)return;this.capture(we);let Ot="";if(this.consumeOptional("=")){const xe=ir(this.remaining);xe&&(Ot=xe,this.capture(Ot))}Fe[Ut(we)]=Ut(Ot)}parseQueryParam(Fe){const we=function(Je){const Fe=Je.match(mr);return Fe?Fe[0]:""}(this.remaining);if(!we)return;this.capture(we);let Ot="";if(this.consumeOptional("=")){const Te=function(Je){const Fe=Je.match(Nr);return Fe?Fe[0]:""}(this.remaining);Te&&(Ot=Te,this.capture(Ot))}const xe=ot(we),ke=ot(Ot);if(Fe.hasOwnProperty(xe)){let Te=Fe[xe];Array.isArray(Te)||(Te=[Te],Fe[xe]=Te),Te.push(ke)}else Fe[xe]=ke}parseParens(Fe){const we={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const Ot=ir(this.remaining),xe=this.remaining[Ot.length];if("/"!==xe&&")"!==xe&&";"!==xe)throw new Error(`Cannot parse url '${this.url}'`);let ke;Ot.indexOf(":")>-1?(ke=Ot.substr(0,Ot.indexOf(":")),this.capture(ke),this.capture(":")):Fe&&(ke=Jt);const Te=this.parseChildren();we[ke]=1===Object.keys(Te).length?Te[Jt]:new Tt([],Te),this.consumeOptional("//")}return we}peekStartsWith(Fe){return this.remaining.startsWith(Fe)}consumeOptional(Fe){return!!this.peekStartsWith(Fe)&&(this.remaining=this.remaining.substring(Fe.length),!0)}capture(Fe){if(!this.consumeOptional(Fe))throw new Error(`Expected "${Fe}".`)}}class nr{constructor(Fe){this._root=Fe}get root(){return this._root.value}parent(Fe){const we=this.pathFromRoot(Fe);return we.length>1?we[we.length-2]:null}children(Fe){const we=Mr(Fe,this._root);return we?we.children.map(Ot=>Ot.value):[]}firstChild(Fe){const we=Mr(Fe,this._root);return we&&we.children.length>0?we.children[0].value:null}siblings(Fe){const we=yi(Fe,this._root);return we.length<2?[]:we[we.length-2].children.map(xe=>xe.value).filter(xe=>xe!==Fe)}pathFromRoot(Fe){return yi(Fe,this._root).map(we=>we.value)}}function Mr(Je,Fe){if(Je===Fe.value)return Fe;for(const we of Fe.children){const Ot=Mr(Je,we);if(Ot)return Ot}return null}function yi(Je,Fe){if(Je===Fe.value)return[Fe];for(const we of Fe.children){const Ot=yi(Je,we);if(Ot.length)return Ot.unshift(Fe),Ot}return[]}class Ii{constructor(Fe,we){this.value=Fe,this.children=we}toString(){return`TreeNode(${this.value})`}}function Mi(Je){const Fe={};return Je&&Je.children.forEach(we=>Fe[we.value.outlet]=we),Fe}class Oi extends nr{constructor(Fe,we){super(Fe),this.snapshot=we,Vt(this,Fe)}toString(){return this.snapshot.toString()}}function Kr(Je,Fe){const we=function(Je,Fe){const Te=new Ke([],{},{},"",{},Jt,Fe,null,Je.root,-1,{});return new Xe("",new Ii(Te,[]))}(Je,Fe),Ot=new _.X([new yn("",{})]),xe=new _.X({}),ke=new _.X({}),Te=new _.X({}),ge=new _.X(""),Re=new di(Ot,xe,Te,ge,ke,Jt,Fe,we.root);return Re.snapshot=we.root,new Oi(new Ii(Re,[]),we)}class di{constructor(Fe,we,Ot,xe,ke,Te,ge,Re){this.url=Fe,this.params=we,this.queryParams=Ot,this.fragment=xe,this.data=ke,this.outlet=Te,this.component=ge,this._futureSnapshot=Re}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,j.U)(Fe=>ln(Fe)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,j.U)(Fe=>ln(Fe)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function se(Je,Fe="emptyOnly"){const we=Je.pathFromRoot;let Ot=0;if("always"!==Fe)for(Ot=we.length-1;Ot>=1;){const xe=we[Ot],ke=we[Ot-1];if(xe.routeConfig&&""===xe.routeConfig.path)Ot--;else{if(ke.component)break;Ot--}}return function(Je){return Je.reduce((Fe,we)=>({params:Object.assign(Object.assign({},Fe.params),we.params),data:Object.assign(Object.assign({},Fe.data),we.data),resolve:Object.assign(Object.assign({},Fe.resolve),we._resolvedData)}),{params:{},data:{},resolve:{}})}(we.slice(Ot))}class Ke{constructor(Fe,we,Ot,xe,ke,Te,ge,Re,Be,xt,Dt){this.url=Fe,this.params=we,this.queryParams=Ot,this.fragment=xe,this.data=ke,this.outlet=Te,this.component=ge,this.routeConfig=Re,this._urlSegment=Be,this._lastPathIndex=xt,this._resolve=Dt}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=ln(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ln(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(Ot=>Ot.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Xe extends nr{constructor(Fe,we){super(we),this.url=Fe,Vt(this,we)}toString(){return Ct(this._root)}}function Vt(Je,Fe){Fe.value._routerState=Je,Fe.children.forEach(we=>Vt(Je,we))}function Ct(Je){const Fe=Je.children.length>0?` { ${Je.children.map(Ct).join(", ")} } `:"";return`${Je.value}${Fe}`}function rt(Je){if(Je.snapshot){const Fe=Je.snapshot,we=Je._futureSnapshot;Je.snapshot=we,Ht(Fe.queryParams,we.queryParams)||Je.queryParams.next(we.queryParams),Fe.fragment!==we.fragment&&Je.fragment.next(we.fragment),Ht(Fe.params,we.params)||Je.params.next(we.params),function(Je,Fe){if(Je.length!==Fe.length)return!1;for(let we=0;we<Je.length;++we)if(!Ht(Je[we],Fe[we]))return!1;return!0}(Fe.url,we.url)||Je.url.next(we.url),Ht(Fe.data,we.data)||Je.data.next(we.data)}else Je.snapshot=Je._futureSnapshot,Je.data.next(Je._futureSnapshot.data)}function bt(Je,Fe){return Ht(Je.params,Fe.params)&&function(Je,Fe){return jt(Je,Fe)&&Je.every((we,Ot)=>Ht(we.parameters,Fe[Ot].parameters))}(Je.url,Fe.url)&&!(!Je.parent!=!Fe.parent)&&(!Je.parent||bt(Je.parent,Fe.parent))}function $t(Je,Fe,we){if(we&&Je.shouldReuseRoute(Fe.value,we.value.snapshot)){const Ot=we.value;Ot._futureSnapshot=Fe.value;const xe=function(Je,Fe,we){return Fe.children.map(Ot=>{for(const xe of we.children)if(Je.shouldReuseRoute(Ot.value,xe.value.snapshot))return $t(Je,Ot,xe);return $t(Je,Ot)})}(Je,Fe,we);return new Ii(Ot,xe)}{if(Je.shouldAttach(Fe.value)){const ke=Je.retrieve(Fe.value);if(null!==ke){const Te=ke.route;return or(Fe,Te),Te}}const Ot=function(Je){return new di(new _.X(Je.url),new _.X(Je.params),new _.X(Je.queryParams),new _.X(Je.fragment),new _.X(Je.data),Je.outlet,Je.component,Je)}(Fe.value),xe=Fe.children.map(ke=>$t(Je,ke));return new Ii(Ot,xe)}}function or(Je,Fe){if(Je.value.routeConfig!==Fe.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(Je.children.length!==Fe.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");Fe.value._futureSnapshot=Je.value;for(let we=0;we<Je.children.length;++we)or(Je.children[we],Fe.children[we])}function ai(Je){return"object"==typeof Je&&null!=Je&&!Je.outlets&&!Je.segmentPath}function Dr(Je){return"object"==typeof Je&&null!=Je&&Je.outlets}function Qr(Je,Fe,we,Ot,xe){let ke={};return Ot&&dn(Ot,(Te,ge)=>{ke[ge]=Array.isArray(Te)?Te.map(Re=>`${Re}`):`${Te}`}),new mt(we.root===Je?Fe:rn(we.root,Je,Fe),ke,xe)}function rn(Je,Fe,we){const Ot={};return dn(Je.children,(xe,ke)=>{Ot[ke]=xe===Fe?we:rn(xe,Fe,we)}),new Tt(Je.segments,Ot)}class fi{constructor(Fe,we,Ot){if(this.isAbsolute=Fe,this.numberOfDoubleDots=we,this.commands=Ot,Fe&&Ot.length>0&&ai(Ot[0]))throw new Error("Root segment cannot have matrix parameters");const xe=Ot.find(Dr);if(xe&&xe!==Cn(Ot))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class wi{constructor(Fe,we,Ot){this.segmentGroup=Fe,this.processChildren=we,this.index=Ot}}function Ji(Je,Fe,we){if(Je||(Je=new Tt([],{})),0===Je.segments.length&&Je.hasChildren())return qi(Je,Fe,we);const Ot=function(Je,Fe,we){let Ot=0,xe=Fe;const ke={match:!1,pathIndex:0,commandIndex:0};for(;xe<Je.segments.length;){if(Ot>=we.length)return ke;const Te=Je.segments[xe],ge=we[Ot];if(Dr(ge))break;const Re=`${ge}`,Be=Ot<we.length-1?we[Ot+1]:null;if(xe>0&&void 0===Re)break;if(Re&&Be&&"object"==typeof Be&&void 0===Be.outlets){if(!Bo(Re,Be,Te))return ke;Ot+=2}else{if(!Bo(Re,{},Te))return ke;Ot++}xe++}return{match:!0,pathIndex:xe,commandIndex:Ot}}(Je,Fe,we),xe=we.slice(Ot.commandIndex);if(Ot.match&&Ot.pathIndex<Je.segments.length){const ke=new Tt(Je.segments.slice(0,Ot.pathIndex),{});return ke.children[Jt]=new Tt(Je.segments.slice(Ot.pathIndex),Je.children),qi(ke,0,xe)}return Ot.match&&0===xe.length?new Tt(Je.segments,{}):Ot.match&&!Je.hasChildren()?zi(Je,Fe,we):Ot.match?qi(Je,0,xe):zi(Je,Fe,we)}function qi(Je,Fe,we){if(0===we.length)return new Tt(Je.segments,{});{const Ot=function(Je){return Dr(Je[0])?Je[0].outlets:{[Jt]:Je}}(we),xe={};return dn(Ot,(ke,Te)=>{"string"==typeof ke&&(ke=[ke]),null!==ke&&(xe[Te]=Ji(Je.children[Te],Fe,ke))}),dn(Je.children,(ke,Te)=>{void 0===Ot[Te]&&(xe[Te]=ke)}),new Tt(Je.segments,xe)}}function zi(Je,Fe,we){const Ot=Je.segments.slice(0,Fe);let xe=0;for(;xe<we.length;){const ke=we[xe];if(Dr(ke)){const Re=Go(ke.outlets);return new Tt(Ot,Re)}if(0===xe&&ai(we[0])){Ot.push(new yn(Je.segments[Fe].path,Ro(we[0]))),xe++;continue}const Te=Dr(ke)?ke.outlets[Jt]:`${ke}`,ge=xe<we.length-1?we[xe+1]:null;Te&&ge&&ai(ge)?(Ot.push(new yn(Te,Ro(ge))),xe+=2):(Ot.push(new yn(Te,{})),xe++)}return new Tt(Ot,{})}function Go(Je){const Fe={};return dn(Je,(we,Ot)=>{"string"==typeof we&&(we=[we]),null!==we&&(Fe[Ot]=zi(new Tt([],{}),0,we))}),Fe}function Ro(Je){const Fe={};return dn(Je,(we,Ot)=>Fe[Ot]=`${we}`),Fe}function Bo(Je,Fe,we){return Je==we.path&&Ht(Fe,we.parameters)}class es{constructor(Fe,we,Ot,xe){this.routeReuseStrategy=Fe,this.futureState=we,this.currState=Ot,this.forwardEvent=xe}activate(Fe){const we=this.futureState._root,Ot=this.currState?this.currState._root:null;this.deactivateChildRoutes(we,Ot,Fe),rt(this.futureState.root),this.activateChildRoutes(we,Ot,Fe)}deactivateChildRoutes(Fe,we,Ot){const xe=Mi(we);Fe.children.forEach(ke=>{const Te=ke.value.outlet;this.deactivateRoutes(ke,xe[Te],Ot),delete xe[Te]}),dn(xe,(ke,Te)=>{this.deactivateRouteAndItsChildren(ke,Ot)})}deactivateRoutes(Fe,we,Ot){const xe=Fe.value,ke=we?we.value:null;if(xe===ke)if(xe.component){const Te=Ot.getContext(xe.outlet);Te&&this.deactivateChildRoutes(Fe,we,Te.children)}else this.deactivateChildRoutes(Fe,we,Ot);else ke&&this.deactivateRouteAndItsChildren(we,Ot)}deactivateRouteAndItsChildren(Fe,we){this.routeReuseStrategy.shouldDetach(Fe.value.snapshot)?this.detachAndStoreRouteSubtree(Fe,we):this.deactivateRouteAndOutlet(Fe,we)}detachAndStoreRouteSubtree(Fe,we){const Ot=we.getContext(Fe.value.outlet);if(Ot&&Ot.outlet){const xe=Ot.outlet.detach(),ke=Ot.children.onOutletDeactivated();this.routeReuseStrategy.store(Fe.value.snapshot,{componentRef:xe,route:Fe,contexts:ke})}}deactivateRouteAndOutlet(Fe,we){const Ot=we.getContext(Fe.value.outlet),xe=Ot&&Fe.value.component?Ot.children:we,ke=Mi(Fe);for(const Te of Object.keys(ke))this.deactivateRouteAndItsChildren(ke[Te],xe);Ot&&Ot.outlet&&(Ot.outlet.deactivate(),Ot.children.onOutletDeactivated(),Ot.attachRef=null,Ot.resolver=null,Ot.route=null)}activateChildRoutes(Fe,we,Ot){const xe=Mi(we);Fe.children.forEach(ke=>{this.activateRoutes(ke,xe[ke.value.outlet],Ot),this.forwardEvent(new Ie(ke.value.snapshot))}),Fe.children.length&&this.forwardEvent(new It(Fe.value.snapshot))}activateRoutes(Fe,we,Ot){const xe=Fe.value,ke=we?we.value:null;if(rt(xe),xe===ke)if(xe.component){const Te=Ot.getOrCreateContext(xe.outlet);this.activateChildRoutes(Fe,we,Te.children)}else this.activateChildRoutes(Fe,we,Ot);else if(xe.component){const Te=Ot.getOrCreateContext(xe.outlet);if(this.routeReuseStrategy.shouldAttach(xe.snapshot)){const ge=this.routeReuseStrategy.retrieve(xe.snapshot);this.routeReuseStrategy.store(xe.snapshot,null),Te.children.onOutletReAttached(ge.contexts),Te.attachRef=ge.componentRef,Te.route=ge.route.value,Te.outlet&&Te.outlet.attach(ge.componentRef,ge.route.value),ua(ge.route)}else{const ge=function(Je){for(let Fe=Je.parent;Fe;Fe=Fe.parent){const we=Fe.routeConfig;if(we&&we._loadedConfig)return we._loadedConfig;if(we&&we.component)return null}return null}(xe.snapshot),Re=ge?ge.module.componentFactoryResolver:null;Te.attachRef=null,Te.route=xe,Te.resolver=Re,Te.outlet&&Te.outlet.activateWith(xe,Re),this.activateChildRoutes(Fe,null,Te.children)}}else this.activateChildRoutes(Fe,null,Ot)}}function ua(Je){rt(Je.value),Je.children.forEach(ua)}class zo{constructor(Fe,we){this.routes=Fe,this.module=we}}function oa(Je){return"function"==typeof Je}function st(Je){return Je instanceof mt}const Tn=Symbol("INITIAL_VALUE");function $r(){return(0,H.w)(Je=>(0,m.aj)(Je.map(Fe=>Fe.pipe((0,z.q)(1),(0,U.O)(Tn)))).pipe((0,M.R)((Fe,we)=>{let Ot=!1;return we.reduce((xe,ke,Te)=>xe!==Tn?xe:(ke===Tn&&(Ot=!0),Ot||!1!==ke&&Te!==we.length-1&&!st(ke)?xe:ke),Fe)},Tn),(0,I.h)(Fe=>Fe!==Tn),(0,j.U)(Fe=>st(Fe)?Fe:!0===Fe),(0,z.q)(1)))}let ni=(()=>{class Je{}return Je.\u0275fac=function(we){return new(we||Je)},Je.\u0275cmp=e.Xpm({type:Je,selectors:[["ng-component"]],decls:1,vars:0,template:function(we,Ot){1&we&&e._UZ(0,"router-outlet")},directives:function(){return[li]},encapsulation:2}),Je})();function Ri(Je,Fe=""){for(let we=0;we<Je.length;we++){const Ot=Je[we];Do(Ot,gi(Fe,Ot))}}function Do(Je,Fe){Je.children&&Ri(Je.children,Fe)}function gi(Je,Fe){return Fe?Je||Fe.path?Je&&!Fe.path?`${Je}/`:!Je&&Fe.path?Fe.path:`${Je}/${Fe.path}`:"":Je}function Hi(Je){const Fe=Je.children&&Je.children.map(Hi),we=Fe?Object.assign(Object.assign({},Je),{children:Fe}):Object.assign({},Je);return!we.component&&(Fe||we.loadChildren)&&we.outlet&&we.outlet!==Jt&&(we.component=ni),we}function Li(Je){return Je.outlet||Jt}function cs(Je,Fe){const we=Je.filter(Ot=>Li(Ot)===Fe);return we.push(...Je.filter(Ot=>Li(Ot)!==Fe)),we}const Os={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function da(Je,Fe,we){var Ot;if(""===Fe.path)return"full"===Fe.pathMatch&&(Je.hasChildren()||we.length>0)?Object.assign({},Os):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const ke=(Fe.matcher||er)(we,Je,Fe);if(!ke)return Object.assign({},Os);const Te={};dn(ke.posParams,(Re,Be)=>{Te[Be]=Re.path});const ge=ke.consumed.length>0?Object.assign(Object.assign({},Te),ke.consumed[ke.consumed.length-1].parameters):Te;return{matched:!0,consumedSegments:ke.consumed,lastChild:ke.consumed.length,parameters:ge,positionalParamSegments:null!==(Ot=ke.posParams)&&void 0!==Ot?Ot:{}}}function xa(Je,Fe,we,Ot,xe="corrected"){if(we.length>0&&function(Je,Fe,we){return we.some(Ot=>sa(Je,Fe,Ot)&&Li(Ot)!==Jt)}(Je,we,Ot)){const Te=new Tt(Fe,function(Je,Fe,we,Ot){const xe={};xe[Jt]=Ot,Ot._sourceSegment=Je,Ot._segmentIndexShift=Fe.length;for(const ke of we)if(""===ke.path&&Li(ke)!==Jt){const Te=new Tt([],{});Te._sourceSegment=Je,Te._segmentIndexShift=Fe.length,xe[Li(ke)]=Te}return xe}(Je,Fe,Ot,new Tt(we,Je.children)));return Te._sourceSegment=Je,Te._segmentIndexShift=Fe.length,{segmentGroup:Te,slicedSegments:[]}}if(0===we.length&&function(Je,Fe,we){return we.some(Ot=>sa(Je,Fe,Ot))}(Je,we,Ot)){const Te=new Tt(Je.segments,function(Je,Fe,we,Ot,xe,ke){const Te={};for(const ge of Ot)if(sa(Je,we,ge)&&!xe[Li(ge)]){const Re=new Tt([],{});Re._sourceSegment=Je,Re._segmentIndexShift="legacy"===ke?Je.segments.length:Fe.length,Te[Li(ge)]=Re}return Object.assign(Object.assign({},xe),Te)}(Je,Fe,we,Ot,Je.children,xe));return Te._sourceSegment=Je,Te._segmentIndexShift=Fe.length,{segmentGroup:Te,slicedSegments:we}}const ke=new Tt(Je.segments,Je.children);return ke._sourceSegment=Je,ke._segmentIndexShift=Fe.length,{segmentGroup:ke,slicedSegments:we}}function sa(Je,Fe,we){return(!(Je.hasChildren()||Fe.length>0)||"full"!==we.pathMatch)&&""===we.path}function Fo(Je,Fe,we,Ot){return!!(Li(Je)===Ot||Ot!==Jt&&sa(Fe,we,Je))&&("**"===Je.path||da(Fe,Je,we).matched)}function Ka(Je,Fe,we){return 0===Fe.length&&!Je.children[we]}class Sa{constructor(Fe){this.segmentGroup=Fe||null}}class fa{constructor(Fe){this.urlTree=Fe}}function ks(Je){return new s.y(Fe=>Fe.error(new Sa(Je)))}function Ua(Je){return new s.y(Fe=>Fe.error(new fa(Je)))}function pt(Je){return new s.y(Fe=>Fe.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${Je}'`)))}class Ce{constructor(Fe,we,Ot,xe,ke){this.configLoader=we,this.urlSerializer=Ot,this.urlTree=xe,this.config=ke,this.allowRedirects=!0,this.ngModule=Fe.get(e.h0i)}apply(){const Fe=xa(this.urlTree.root,[],[],this.config).segmentGroup,we=new Tt(Fe.segments,Fe.children);return this.expandSegmentGroup(this.ngModule,this.config,we,Jt).pipe((0,j.U)(ke=>this.createUrlTree(Ne(ke),this.urlTree.queryParams,this.urlTree.fragment))).pipe((0,J.K)(ke=>{if(ke instanceof fa)return this.allowRedirects=!1,this.match(ke.urlTree);throw ke instanceof Sa?this.noMatchError(ke):ke}))}match(Fe){return this.expandSegmentGroup(this.ngModule,this.config,Fe.root,Jt).pipe((0,j.U)(xe=>this.createUrlTree(Ne(xe),Fe.queryParams,Fe.fragment))).pipe((0,J.K)(xe=>{throw xe instanceof Sa?this.noMatchError(xe):xe}))}noMatchError(Fe){return new Error(`Cannot match any routes. URL Segment: '${Fe.segmentGroup}'`)}createUrlTree(Fe,we,Ot){const xe=Fe.segments.length>0?new Tt([],{[Jt]:Fe}):Fe;return new mt(xe,we,Ot)}expandSegmentGroup(Fe,we,Ot,xe){return 0===Ot.segments.length&&Ot.hasChildren()?this.expandChildren(Fe,we,Ot).pipe((0,j.U)(ke=>new Tt([],ke))):this.expandSegment(Fe,Ot,we,Ot.segments,xe,!0)}expandChildren(Fe,we,Ot){const xe=[];for(const ke of Object.keys(Ot.children))"primary"===ke?xe.unshift(ke):xe.push(ke);return(0,a.D)(xe).pipe((0,Y.b)(ke=>{const Te=Ot.children[ke],ge=cs(we,ke);return this.expandSegmentGroup(Fe,ge,Te,ke).pipe((0,j.U)(Re=>({segment:Re,outlet:ke})))}),(0,M.R)((ke,Te)=>(ke[Te.outlet]=Te.segment,ke),{}),(0,ie.Z)())}expandSegment(Fe,we,Ot,xe,ke,Te){return(0,a.D)(Ot).pipe((0,Y.b)(ge=>this.expandSegmentAgainstRoute(Fe,we,Ot,ge,xe,ke,Te).pipe((0,J.K)(Be=>{if(Be instanceof Sa)return(0,h.of)(null);throw Be}))),(0,oe.P)(ge=>!!ge),(0,J.K)((ge,Re)=>{if(ge instanceof b.K||"EmptyError"===ge.name){if(Ka(we,xe,ke))return(0,h.of)(new Tt([],{}));throw new Sa(we)}throw ge}))}expandSegmentAgainstRoute(Fe,we,Ot,xe,ke,Te,ge){return Fo(xe,we,ke,Te)?void 0===xe.redirectTo?this.matchSegmentAgainstRoute(Fe,we,xe,ke,Te):ge&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(Fe,we,Ot,xe,ke,Te):ks(we):ks(we)}expandSegmentAgainstRouteUsingRedirect(Fe,we,Ot,xe,ke,Te){return"**"===xe.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(Fe,Ot,xe,Te):this.expandRegularSegmentAgainstRouteUsingRedirect(Fe,we,Ot,xe,ke,Te)}expandWildCardWithParamsAgainstRouteUsingRedirect(Fe,we,Ot,xe){const ke=this.applyRedirectCommands([],Ot.redirectTo,{});return Ot.redirectTo.startsWith("/")?Ua(ke):this.lineralizeSegments(Ot,ke).pipe((0,fe.zg)(Te=>{const ge=new Tt(Te,{});return this.expandSegment(Fe,ge,we,Te,xe,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(Fe,we,Ot,xe,ke,Te){const{matched:ge,consumedSegments:Re,lastChild:Be,positionalParamSegments:xt}=da(we,xe,ke);if(!ge)return ks(we);const Dt=this.applyRedirectCommands(Re,xe.redirectTo,xt);return xe.redirectTo.startsWith("/")?Ua(Dt):this.lineralizeSegments(xe,Dt).pipe((0,fe.zg)(en=>this.expandSegment(Fe,we,Ot,en.concat(ke.slice(Be)),Te,!1)))}matchSegmentAgainstRoute(Fe,we,Ot,xe,ke){if("**"===Ot.path)return Ot.loadChildren?(Ot._loadedConfig?(0,h.of)(Ot._loadedConfig):this.configLoader.load(Fe.injector,Ot)).pipe((0,j.U)(en=>(Ot._loadedConfig=en,new Tt(xe,{})))):(0,h.of)(new Tt(xe,{}));const{matched:Te,consumedSegments:ge,lastChild:Re}=da(we,Ot,xe);if(!Te)return ks(we);const Be=xe.slice(Re);return this.getChildConfig(Fe,Ot,xe).pipe((0,fe.zg)(Dt=>{const en=Dt.module,vn=Dt.routes,{segmentGroup:Gn,slicedSegments:kn}=xa(we,ge,Be,vn),zn=new Tt(Gn.segments,Gn.children);if(0===kn.length&&zn.hasChildren())return this.expandChildren(en,vn,zn).pipe((0,j.U)(ci=>new Tt(ge,ci)));if(0===vn.length&&0===kn.length)return(0,h.of)(new Tt(ge,{}));const jr=Li(Ot)===ke;return this.expandSegment(en,zn,vn,kn,jr?Jt:ke,!0).pipe((0,j.U)(Gr=>new Tt(ge.concat(Gr.segments),Gr.children)))}))}getChildConfig(Fe,we,Ot){return we.children?(0,h.of)(new zo(we.children,Fe)):we.loadChildren?void 0!==we._loadedConfig?(0,h.of)(we._loadedConfig):this.runCanLoadGuards(Fe.injector,we,Ot).pipe((0,fe.zg)(xe=>{return xe?this.configLoader.load(Fe.injector,we).pipe((0,j.U)(ke=>(we._loadedConfig=ke,ke))):(Je=we,new s.y(Fe=>Fe.error(Ln(`Cannot load children because the guard of the route "path: '${Je.path}'" returned false`))));var Je})):(0,h.of)(new zo([],Fe))}runCanLoadGuards(Fe,we,Ot){const xe=we.canLoad;if(!xe||0===xe.length)return(0,h.of)(!0);const ke=xe.map(Te=>{const ge=Fe.get(Te);let Re;if((Je=ge)&&oa(Je.canLoad))Re=ge.canLoad(we,Ot);else{if(!oa(ge))throw new Error("Invalid CanLoad guard");Re=ge(we,Ot)}var Je;return Kn(Re)});return(0,h.of)(ke).pipe($r(),(0,ne.b)(Te=>{if(!st(Te))return;const ge=Ln(`Redirecting to "${this.urlSerializer.serialize(Te)}"`);throw ge.url=Te,ge}),(0,j.U)(Te=>!0===Te))}lineralizeSegments(Fe,we){let Ot=[],xe=we.root;for(;;){if(Ot=Ot.concat(xe.segments),0===xe.numberOfChildren)return(0,h.of)(Ot);if(xe.numberOfChildren>1||!xe.children[Jt])return pt(Fe.redirectTo);xe=xe.children[Jt]}}applyRedirectCommands(Fe,we,Ot){return this.applyRedirectCreatreUrlTree(we,this.urlSerializer.parse(we),Fe,Ot)}applyRedirectCreatreUrlTree(Fe,we,Ot,xe){const ke=this.createSegmentGroup(Fe,we.root,Ot,xe);return new mt(ke,this.createQueryParams(we.queryParams,this.urlTree.queryParams),we.fragment)}createQueryParams(Fe,we){const Ot={};return dn(Fe,(xe,ke)=>{if("string"==typeof xe&&xe.startsWith(":")){const ge=xe.substring(1);Ot[ke]=we[ge]}else Ot[ke]=xe}),Ot}createSegmentGroup(Fe,we,Ot,xe){const ke=this.createSegments(Fe,we.segments,Ot,xe);let Te={};return dn(we.children,(ge,Re)=>{Te[Re]=this.createSegmentGroup(Fe,ge,Ot,xe)}),new Tt(ke,Te)}createSegments(Fe,we,Ot,xe){return we.map(ke=>ke.path.startsWith(":")?this.findPosParam(Fe,ke,xe):this.findOrReturn(ke,Ot))}findPosParam(Fe,we,Ot){const xe=Ot[we.path.substring(1)];if(!xe)throw new Error(`Cannot redirect to '${Fe}'. Cannot find '${we.path}'.`);return xe}findOrReturn(Fe,we){let Ot=0;for(const xe of we){if(xe.path===Fe.path)return we.splice(Ot),xe;Ot++}return Fe}}function Ne(Je){const Fe={};for(const Ot of Object.keys(Je.children)){const ke=Ne(Je.children[Ot]);(ke.segments.length>0||ke.hasChildren())&&(Fe[Ot]=ke)}return function(Je){if(1===Je.numberOfChildren&&Je.children[Jt]){const Fe=Je.children[Jt];return new Tt(Je.segments.concat(Fe.segments),Fe.children)}return Je}(new Tt(Je.segments,Fe))}class Or{constructor(Fe){this.path=Fe,this.route=this.path[this.path.length-1]}}class Ni{constructor(Fe,we){this.component=Fe,this.route=we}}function Yo(Je,Fe,we){const Ot=Je._root;return Zo(Ot,Fe?Fe._root:null,we,[Ot.value])}function ss(Je,Fe,we){const Ot=function(Je){if(!Je)return null;for(let Fe=Je.parent;Fe;Fe=Fe.parent){const we=Fe.routeConfig;if(we&&we._loadedConfig)return we._loadedConfig}return null}(Fe);return(Ot?Ot.module.injector:we).get(Je)}function Zo(Je,Fe,we,Ot,xe={canDeactivateChecks:[],canActivateChecks:[]}){const ke=Mi(Fe);return Je.children.forEach(Te=>{(function(Je,Fe,we,Ot,xe={canDeactivateChecks:[],canActivateChecks:[]}){const ke=Je.value,Te=Fe?Fe.value:null,ge=we?we.getContext(Je.value.outlet):null;if(Te&&ke.routeConfig===Te.routeConfig){const Re=function(Je,Fe,we){if("function"==typeof we)return we(Je,Fe);switch(we){case"pathParamsChange":return!jt(Je.url,Fe.url);case"pathParamsOrQueryParamsChange":return!jt(Je.url,Fe.url)||!Ht(Je.queryParams,Fe.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!bt(Je,Fe)||!Ht(Je.queryParams,Fe.queryParams);case"paramsChange":default:return!bt(Je,Fe)}}(Te,ke,ke.routeConfig.runGuardsAndResolvers);Re?xe.canActivateChecks.push(new Or(Ot)):(ke.data=Te.data,ke._resolvedData=Te._resolvedData),Zo(Je,Fe,ke.component?ge?ge.children:null:we,Ot,xe),Re&&ge&&ge.outlet&&ge.outlet.isActivated&&xe.canDeactivateChecks.push(new Ni(ge.outlet.component,Te))}else Te&&Ma(Fe,ge,xe),xe.canActivateChecks.push(new Or(Ot)),Zo(Je,null,ke.component?ge?ge.children:null:we,Ot,xe)})(Te,ke[Te.value.outlet],we,Ot.concat([Te.value]),xe),delete ke[Te.value.outlet]}),dn(ke,(Te,ge)=>Ma(Te,we.getContext(ge),xe)),xe}function Ma(Je,Fe,we){const Ot=Mi(Je),xe=Je.value;dn(Ot,(ke,Te)=>{Ma(ke,xe.component?Fe?Fe.children.getContext(Te):null:Fe,we)}),we.canDeactivateChecks.push(new Ni(xe.component&&Fe&&Fe.outlet&&Fe.outlet.isActivated?Fe.outlet.component:null,xe))}class Bl{}function Na(Je){return new s.y(Fe=>Fe.error(Je))}class vs{constructor(Fe,we,Ot,xe,ke,Te){this.rootComponentType=Fe,this.config=we,this.urlTree=Ot,this.url=xe,this.paramsInheritanceStrategy=ke,this.relativeLinkResolution=Te}recognize(){const Fe=xa(this.urlTree.root,[],[],this.config.filter(Te=>void 0===Te.redirectTo),this.relativeLinkResolution).segmentGroup,we=this.processSegmentGroup(this.config,Fe,Jt);if(null===we)return null;const Ot=new Ke([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},Jt,this.rootComponentType,null,this.urlTree.root,-1,{}),xe=new Ii(Ot,we),ke=new Xe(this.url,xe);return this.inheritParamsAndData(ke._root),ke}inheritParamsAndData(Fe){const we=Fe.value,Ot=se(we,this.paramsInheritanceStrategy);we.params=Object.freeze(Ot.params),we.data=Object.freeze(Ot.data),Fe.children.forEach(xe=>this.inheritParamsAndData(xe))}processSegmentGroup(Fe,we,Ot){return 0===we.segments.length&&we.hasChildren()?this.processChildren(Fe,we):this.processSegment(Fe,we,we.segments,Ot)}processChildren(Fe,we){const Ot=[];for(const ke of Object.keys(we.children)){const Te=we.children[ke],ge=cs(Fe,ke),Re=this.processSegmentGroup(ge,Te,ke);if(null===Re)return null;Ot.push(...Re)}const xe=hs(Ot);return xe.sort((Fe,we)=>Fe.value.outlet===Jt?-1:we.value.outlet===Jt?1:Fe.value.outlet.localeCompare(we.value.outlet)),xe}processSegment(Fe,we,Ot,xe){for(const ke of Fe){const Te=this.processSegmentAgainstRoute(ke,we,Ot,xe);if(null!==Te)return Te}return Ka(we,Ot,xe)?[]:null}processSegmentAgainstRoute(Fe,we,Ot,xe){if(Fe.redirectTo||!Fo(Fe,we,Ot,xe))return null;let ke,Te=[],ge=[];if("**"===Fe.path){const vn=Ot.length>0?Cn(Ot).parameters:{};ke=new Ke(Ot,vn,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,tn(Fe),Li(Fe),Fe.component,Fe,wt(we),kt(we)+Ot.length,ur(Fe))}else{const vn=da(we,Fe,Ot);if(!vn.matched)return null;Te=vn.consumedSegments,ge=Ot.slice(vn.lastChild),ke=new Ke(Te,vn.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,tn(Fe),Li(Fe),Fe.component,Fe,wt(we),kt(we)+Te.length,ur(Fe))}const Re=(Je=Fe).children?Je.children:Je.loadChildren?Je._loadedConfig.routes:[],{segmentGroup:Be,slicedSegments:xt}=xa(we,Te,ge,Re.filter(vn=>void 0===vn.redirectTo),this.relativeLinkResolution);var Je;if(0===xt.length&&Be.hasChildren()){const vn=this.processChildren(Re,Be);return null===vn?null:[new Ii(ke,vn)]}if(0===Re.length&&0===xt.length)return[new Ii(ke,[])];const Dt=Li(Fe)===xe,en=this.processSegment(Re,Be,xt,Dt?Jt:xe);return null===en?null:[new Ii(ke,en)]}}function ja(Je){const Fe=Je.value.routeConfig;return Fe&&""===Fe.path&&void 0===Fe.redirectTo}function hs(Je){const Fe=[],we=new Set;for(const Ot of Je){if(!ja(Ot)){Fe.push(Ot);continue}const xe=Fe.find(ke=>Ot.value.routeConfig===ke.value.routeConfig);void 0!==xe?(xe.children.push(...Ot.children),we.add(xe)):Fe.push(Ot)}for(const Ot of we){const xe=hs(Ot.children);Fe.push(new Ii(Ot.value,xe))}return Fe.filter(Ot=>!we.has(Ot))}function wt(Je){let Fe=Je;for(;Fe._sourceSegment;)Fe=Fe._sourceSegment;return Fe}function kt(Je){let Fe=Je,we=Fe._segmentIndexShift?Fe._segmentIndexShift:0;for(;Fe._sourceSegment;)Fe=Fe._sourceSegment,we+=Fe._segmentIndexShift?Fe._segmentIndexShift:0;return we-1}function tn(Je){return Je.data||{}}function ur(Je){return Je.resolve||{}}function ii(Je){return(0,H.w)(Fe=>{const we=Je(Fe);return we?(0,a.D)(we).pipe((0,j.U)(()=>Fe)):(0,h.of)(Fe)})}class Ui extends class{shouldDetach(Fe){return!1}store(Fe,we){}shouldAttach(Fe){return!1}retrieve(Fe){return null}shouldReuseRoute(Fe,we){return Fe.routeConfig===we.routeConfig}}{}const io=new e.OlP("ROUTES");class vo{constructor(Fe,we,Ot,xe){this.loader=Fe,this.compiler=we,this.onLoadStartListener=Ot,this.onLoadEndListener=xe}load(Fe,we){if(we._loader$)return we._loader$;this.onLoadStartListener&&this.onLoadStartListener(we);const xe=this.loadModuleFactory(we.loadChildren).pipe((0,j.U)(ke=>{this.onLoadEndListener&&this.onLoadEndListener(we);const Te=ke.create(Fe);return new zo(Yn(Te.injector.get(io,void 0,e.XFs.Self|e.XFs.Optional)).map(Hi),Te)}),(0,J.K)(ke=>{throw we._loader$=void 0,ke}));return we._loader$=new D.c(xe,()=>new x.xQ).pipe((0,ce.x)()),we._loader$}loadModuleFactory(Fe){return"string"==typeof Fe?(0,a.D)(this.loader.load(Fe)):Kn(Fe()).pipe((0,fe.zg)(we=>we instanceof e.YKP?(0,h.of)(we):(0,a.D)(this.compiler.compileModuleAsync(we))))}}class Bi{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new hi,this.attachRef=null}}class hi{constructor(){this.contexts=new Map}onChildOutletCreated(Fe,we){const Ot=this.getOrCreateContext(Fe);Ot.outlet=we,this.contexts.set(Fe,Ot)}onChildOutletDestroyed(Fe){const we=this.getContext(Fe);we&&(we.outlet=null,we.attachRef=null)}onOutletDeactivated(){const Fe=this.contexts;return this.contexts=new Map,Fe}onOutletReAttached(Fe){this.contexts=Fe}getOrCreateContext(Fe){let we=this.getContext(Fe);return we||(we=new Bi,this.contexts.set(Fe,we)),we}getContext(Fe){return this.contexts.get(Fe)||null}}class G{shouldProcessUrl(Fe){return!0}extract(Fe){return Fe}merge(Fe,we){return Fe}}function Se(Je){throw Je}function ft(Je,Fe,we){return Fe.parse("/")}function Ft(Je,Fe){return(0,h.of)(null)}const Bt={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},In={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Xn=(()=>{class Je{constructor(we,Ot,xe,ke,Te,ge,Re,Be){this.rootComponentType=we,this.urlSerializer=Ot,this.rootContexts=xe,this.location=ke,this.config=Be,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.lastLocationChangeInfo=null,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new x.xQ,this.errorHandler=Se,this.malformedUriErrorHandler=ft,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Ft,afterPreactivation:Ft},this.urlHandlingStrategy=new G,this.routeReuseStrategy=new Ui,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=Te.get(e.h0i),this.console=Te.get(e.c2e);const en=Te.get(e.R0b);this.isNgZoneEnabled=en instanceof e.R0b&&e.R0b.isInAngularZone(),this.resetConfig(Be),this.currentUrlTree=new mt(new Tt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new vo(ge,Re,vn=>this.triggerEvent(new St(vn)),vn=>this.triggerEvent(new At(vn))),this.routerState=Kr(this.currentUrlTree,this.rootComponentType),this.transitions=new _.X({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var we;return null===(we=this.location.getState())||void 0===we?void 0:we.\u0275routerPageId}setupNavigations(we){const Ot=this.events;return we.pipe((0,I.h)(xe=>0!==xe.id),(0,j.U)(xe=>Object.assign(Object.assign({},xe),{extractedUrl:this.urlHandlingStrategy.extract(xe.rawUrl)})),(0,H.w)(xe=>{let ke=!1,Te=!1;return(0,h.of)(xe).pipe((0,ne.b)(ge=>{this.currentNavigation={id:ge.id,initialUrl:ge.currentRawUrl,extractedUrl:ge.extractedUrl,trigger:ge.source,extras:ge.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),(0,H.w)(ge=>{const Re=this.browserUrlTree.toString(),Be=!this.navigated||ge.extractedUrl.toString()!==Re||Re!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||Be)&&this.urlHandlingStrategy.shouldProcessUrl(ge.rawUrl))return pi(ge.source)&&(this.browserUrlTree=ge.extractedUrl),(0,h.of)(ge).pipe((0,H.w)(Dt=>{const en=this.transitions.getValue();return Ot.next(new be(Dt.id,this.serializeUrl(Dt.extractedUrl),Dt.source,Dt.restoredState)),en!==this.transitions.getValue()?l.E:Promise.resolve(Dt)}),function(Je,Fe,we,Ot){return(0,H.w)(xe=>function(Je,Fe,we,Ot,xe){return new Ce(Je,Fe,we,Ot,xe).apply()}(Je,Fe,we,xe.extractedUrl,Ot).pipe((0,j.U)(ke=>Object.assign(Object.assign({},xe),{urlAfterRedirects:ke}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),(0,ne.b)(Dt=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:Dt.urlAfterRedirects})}),function(Je,Fe,we,Ot,xe){return(0,fe.zg)(ke=>function(Je,Fe,we,Ot,xe="emptyOnly",ke="legacy"){try{const Te=new vs(Je,Fe,we,Ot,xe,ke).recognize();return null===Te?Na(new Bl):(0,h.of)(Te)}catch(Te){return Na(Te)}}(Je,Fe,ke.urlAfterRedirects,we(ke.urlAfterRedirects),Ot,xe).pipe((0,j.U)(Te=>Object.assign(Object.assign({},ke),{targetSnapshot:Te}))))}(this.rootComponentType,this.config,Dt=>this.serializeUrl(Dt),this.paramsInheritanceStrategy,this.relativeLinkResolution),(0,ne.b)(Dt=>{"eager"===this.urlUpdateStrategy&&(Dt.extras.skipLocationChange||this.setBrowserUrl(Dt.urlAfterRedirects,Dt),this.browserUrlTree=Dt.urlAfterRedirects);const en=new F(Dt.id,this.serializeUrl(Dt.extractedUrl),this.serializeUrl(Dt.urlAfterRedirects),Dt.targetSnapshot);Ot.next(en)}));if(Be&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:en,extractedUrl:vn,source:Gn,restoredState:kn,extras:zn}=ge,jr=new be(en,this.serializeUrl(vn),Gn,kn);Ot.next(jr);const kr=Kr(vn,this.rootComponentType).snapshot;return(0,h.of)(Object.assign(Object.assign({},ge),{targetSnapshot:kr,urlAfterRedirects:vn,extras:Object.assign(Object.assign({},zn),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=ge.rawUrl,this.browserUrlTree=ge.urlAfterRedirects,ge.resolve(null),l.E}),ii(ge=>{const{targetSnapshot:Re,id:Be,extractedUrl:xt,rawUrl:Dt,extras:{skipLocationChange:en,replaceUrl:vn}}=ge;return this.hooks.beforePreactivation(Re,{navigationId:Be,appliedUrlTree:xt,rawUrlTree:Dt,skipLocationChange:!!en,replaceUrl:!!vn})}),(0,ne.b)(ge=>{const Re=new je(ge.id,this.serializeUrl(ge.extractedUrl),this.serializeUrl(ge.urlAfterRedirects),ge.targetSnapshot);this.triggerEvent(Re)}),(0,j.U)(ge=>Object.assign(Object.assign({},ge),{guards:Yo(ge.targetSnapshot,ge.currentSnapshot,this.rootContexts)})),function(Je,Fe){return(0,fe.zg)(we=>{const{targetSnapshot:Ot,currentSnapshot:xe,guards:{canActivateChecks:ke,canDeactivateChecks:Te}}=we;return 0===Te.length&&0===ke.length?(0,h.of)(Object.assign(Object.assign({},we),{guardsResult:!0})):function(Je,Fe,we,Ot){return(0,a.D)(Je).pipe((0,fe.zg)(xe=>function(Je,Fe,we,Ot,xe){const ke=Fe&&Fe.routeConfig?Fe.routeConfig.canDeactivate:null;if(!ke||0===ke.length)return(0,h.of)(!0);const Te=ke.map(ge=>{const Re=ss(ge,Fe,xe);let Be;if(function(Je){return Je&&oa(Je.canDeactivate)}(Re))Be=Kn(Re.canDeactivate(Je,Fe,we,Ot));else{if(!oa(Re))throw new Error("Invalid CanDeactivate guard");Be=Kn(Re(Je,Fe,we,Ot))}return Be.pipe((0,oe.P)())});return(0,h.of)(Te).pipe($r())}(xe.component,xe.route,we,Fe,Ot)),(0,oe.P)(xe=>!0!==xe,!0))}(Te,Ot,xe,Je).pipe((0,fe.zg)(ge=>ge&&function(Je){return"boolean"==typeof Je}(ge)?function(Je,Fe,we,Ot){return(0,a.D)(Fe).pipe((0,Y.b)(xe=>(0,C.z)(function(Je,Fe){return null!==Je&&Fe&&Fe(new Qe(Je)),(0,h.of)(!0)}(xe.route.parent,Ot),function(Je,Fe){return null!==Je&&Fe&&Fe(new ae(Je)),(0,h.of)(!0)}(xe.route,Ot),function(Je,Fe,we){const Ot=Fe[Fe.length-1],ke=Fe.slice(0,Fe.length-1).reverse().map(Te=>function(Je){const Fe=Je.routeConfig?Je.routeConfig.canActivateChild:null;return Fe&&0!==Fe.length?{node:Je,guards:Fe}:null}(Te)).filter(Te=>null!==Te).map(Te=>u(()=>{const ge=Te.guards.map(Re=>{const Be=ss(Re,Te.node,we);let xt;if(function(Je){return Je&&oa(Je.canActivateChild)}(Be))xt=Kn(Be.canActivateChild(Ot,Je));else{if(!oa(Be))throw new Error("Invalid CanActivateChild guard");xt=Kn(Be(Ot,Je))}return xt.pipe((0,oe.P)())});return(0,h.of)(ge).pipe($r())}));return(0,h.of)(ke).pipe($r())}(Je,xe.path,we),function(Je,Fe,we){const Ot=Fe.routeConfig?Fe.routeConfig.canActivate:null;if(!Ot||0===Ot.length)return(0,h.of)(!0);const xe=Ot.map(ke=>u(()=>{const Te=ss(ke,Fe,we);let ge;if(function(Je){return Je&&oa(Je.canActivate)}(Te))ge=Kn(Te.canActivate(Fe,Je));else{if(!oa(Te))throw new Error("Invalid CanActivate guard");ge=Kn(Te(Fe,Je))}return ge.pipe((0,oe.P)())}));return(0,h.of)(xe).pipe($r())}(Je,xe.route,we))),(0,oe.P)(xe=>!0!==xe,!0))}(Ot,ke,Je,Fe):(0,h.of)(ge)),(0,j.U)(ge=>Object.assign(Object.assign({},we),{guardsResult:ge})))})}(this.ngModule.injector,ge=>this.triggerEvent(ge)),(0,ne.b)(ge=>{if(st(ge.guardsResult)){const Be=Ln(`Redirecting to "${this.serializeUrl(ge.guardsResult)}"`);throw Be.url=ge.guardsResult,Be}const Re=new Et(ge.id,this.serializeUrl(ge.extractedUrl),this.serializeUrl(ge.urlAfterRedirects),ge.targetSnapshot,!!ge.guardsResult);this.triggerEvent(Re)}),(0,I.h)(ge=>!!ge.guardsResult||(this.restoreHistory(ge),this.cancelNavigationTransition(ge,""),!1)),ii(ge=>{if(ge.guards.canActivateChecks.length)return(0,h.of)(ge).pipe((0,ne.b)(Re=>{const Be=new lt(Re.id,this.serializeUrl(Re.extractedUrl),this.serializeUrl(Re.urlAfterRedirects),Re.targetSnapshot);this.triggerEvent(Be)}),(0,H.w)(Re=>{let Be=!1;return(0,h.of)(Re).pipe(function(Je,Fe){return(0,fe.zg)(we=>{const{targetSnapshot:Ot,guards:{canActivateChecks:xe}}=we;if(!xe.length)return(0,h.of)(we);let ke=0;return(0,a.D)(xe).pipe((0,Y.b)(Te=>function(Je,Fe,we,Ot){return function(Je,Fe,we,Ot){const xe=Object.keys(Je);if(0===xe.length)return(0,h.of)({});const ke={};return(0,a.D)(xe).pipe((0,fe.zg)(Te=>function(Je,Fe,we,Ot){const xe=ss(Je,Fe,Ot);return Kn(xe.resolve?xe.resolve(Fe,we):xe(Fe,we))}(Je[Te],Fe,we,Ot).pipe((0,ne.b)(ge=>{ke[Te]=ge}))),(0,he.h)(1),(0,fe.zg)(()=>Object.keys(ke).length===xe.length?(0,h.of)(ke):l.E))}(Je._resolve,Je,Fe,Ot).pipe((0,j.U)(ke=>(Je._resolvedData=ke,Je.data=Object.assign(Object.assign({},Je.data),se(Je,we).resolve),null)))}(Te.route,Ot,Je,Fe)),(0,ne.b)(()=>ke++),(0,he.h)(1),(0,fe.zg)(Te=>ke===xe.length?(0,h.of)(we):l.E))})}(this.paramsInheritanceStrategy,this.ngModule.injector),(0,ne.b)({next:()=>Be=!0,complete:()=>{Be||(this.restoreHistory(Re),this.cancelNavigationTransition(Re,"At least one route resolver didn't emit any value."))}}))}),(0,ne.b)(Re=>{const Be=new nn(Re.id,this.serializeUrl(Re.extractedUrl),this.serializeUrl(Re.urlAfterRedirects),Re.targetSnapshot);this.triggerEvent(Be)}))}),ii(ge=>{const{targetSnapshot:Re,id:Be,extractedUrl:xt,rawUrl:Dt,extras:{skipLocationChange:en,replaceUrl:vn}}=ge;return this.hooks.afterPreactivation(Re,{navigationId:Be,appliedUrlTree:xt,rawUrlTree:Dt,skipLocationChange:!!en,replaceUrl:!!vn})}),(0,j.U)(ge=>{const Re=function(Je,Fe,we){const Ot=$t(Je,Fe._root,we?we._root:void 0);return new Oi(Ot,Fe)}(this.routeReuseStrategy,ge.targetSnapshot,ge.currentRouterState);return Object.assign(Object.assign({},ge),{targetRouterState:Re})}),(0,ne.b)(ge=>{this.currentUrlTree=ge.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(ge.urlAfterRedirects,ge.rawUrl),this.routerState=ge.targetRouterState,"deferred"===this.urlUpdateStrategy&&(ge.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,ge),this.browserUrlTree=ge.urlAfterRedirects)}),((Je,Fe,we)=>(0,j.U)(Ot=>(new es(Fe,Ot.targetRouterState,Ot.currentRouterState,we).activate(Je),Ot)))(this.rootContexts,this.routeReuseStrategy,ge=>this.triggerEvent(ge)),(0,ne.b)({next(){ke=!0},complete(){ke=!0}}),(0,Ae.x)(()=>{var ge;if(!ke&&!Te){const Re=`Navigation ID ${xe.id} is not equal to the current navigation id ${this.navigationId}`;"replace"===this.canceledNavigationResolution?(this.restoreHistory(xe),this.cancelNavigationTransition(xe,Re)):this.cancelNavigationTransition(xe,Re)}(null===(ge=this.currentNavigation)||void 0===ge?void 0:ge.id)===xe.id&&(this.currentNavigation=null)}),(0,J.K)(ge=>{if(Te=!0,function(Je){return Je&&Je[ar]}(ge)){const Re=st(ge.url);Re||(this.navigated=!0,this.restoreHistory(xe,!0));const Be=new He(xe.id,this.serializeUrl(xe.extractedUrl),ge.message);Ot.next(Be),Re?setTimeout(()=>{const xt=this.urlHandlingStrategy.merge(ge.url,this.rawUrlTree),Dt={skipLocationChange:xe.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||pi(xe.source)};this.scheduleNavigation(xt,"imperative",null,Dt,{resolve:xe.resolve,reject:xe.reject,promise:xe.promise})},0):xe.resolve(!1)}else{this.restoreHistory(xe,!0);const Re=new $e(xe.id,this.serializeUrl(xe.extractedUrl),ge);Ot.next(Re);try{xe.resolve(this.errorHandler(ge))}catch(Be){xe.reject(Be)}}return l.E}))}))}resetRootComponentType(we){this.rootComponentType=we,this.routerState.root.component=this.rootComponentType}getTransition(){const we=this.transitions.value;return we.urlAfterRedirects=this.browserUrlTree,we}setTransition(we){this.transitions.next(Object.assign(Object.assign({},this.getTransition()),we))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(we=>{const Ot=this.extractLocationChangeInfoFromEvent(we);this.shouldScheduleNavigation(this.lastLocationChangeInfo,Ot)&&setTimeout(()=>{const{source:xe,state:ke,urlTree:Te}=Ot,ge={replaceUrl:!0};if(ke){const Re=Object.assign({},ke);delete Re.navigationId,delete Re.\u0275routerPageId,0!==Object.keys(Re).length&&(ge.state=Re)}this.scheduleNavigation(Te,xe,ke,ge)},0),this.lastLocationChangeInfo=Ot}))}extractLocationChangeInfoFromEvent(we){var Ot;return{source:"popstate"===we.type?"popstate":"hashchange",urlTree:this.parseUrl(we.url),state:(null===(Ot=we.state)||void 0===Ot?void 0:Ot.navigationId)?we.state:null,transitionId:this.getTransition().id}}shouldScheduleNavigation(we,Ot){if(!we)return!0;const xe=Ot.urlTree.toString()===we.urlTree.toString();return Ot.transitionId!==we.transitionId||!xe||!("hashchange"===Ot.source&&"popstate"===we.source||"popstate"===Ot.source&&"hashchange"===we.source)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(we){this.events.next(we)}resetConfig(we){Ri(we),this.config=we.map(Hi),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(we,Ot={}){const{relativeTo:xe,queryParams:ke,fragment:Te,queryParamsHandling:ge,preserveFragment:Re}=Ot,Be=xe||this.routerState.root,xt=Re?this.currentUrlTree.fragment:Te;let Dt=null;switch(ge){case"merge":Dt=Object.assign(Object.assign({},this.currentUrlTree.queryParams),ke);break;case"preserve":Dt=this.currentUrlTree.queryParams;break;default:Dt=ke||null}return null!==Dt&&(Dt=this.removeEmptyProps(Dt)),function(Je,Fe,we,Ot,xe){if(0===we.length)return Qr(Fe.root,Fe.root,Fe,Ot,xe);const ke=function(Je){if("string"==typeof Je[0]&&1===Je.length&&"/"===Je[0])return new fi(!0,0,Je);let Fe=0,we=!1;const Ot=Je.reduce((xe,ke,Te)=>{if("object"==typeof ke&&null!=ke){if(ke.outlets){const ge={};return dn(ke.outlets,(Re,Be)=>{ge[Be]="string"==typeof Re?Re.split("/"):Re}),[...xe,{outlets:ge}]}if(ke.segmentPath)return[...xe,ke.segmentPath]}return"string"!=typeof ke?[...xe,ke]:0===Te?(ke.split("/").forEach((ge,Re)=>{0==Re&&"."===ge||(0==Re&&""===ge?we=!0:".."===ge?Fe++:""!=ge&&xe.push(ge))}),xe):[...xe,ke]},[]);return new fi(we,Fe,Ot)}(we);if(ke.toRoot())return Qr(Fe.root,new Tt([],{}),Fe,Ot,xe);const Te=function(Je,Fe,we){if(Je.isAbsolute)return new wi(Fe.root,!0,0);if(-1===we.snapshot._lastPathIndex){const ke=we.snapshot._urlSegment;return new wi(ke,ke===Fe.root,0)}const Ot=ai(Je.commands[0])?0:1;return function(Je,Fe,we){let Ot=Je,xe=Fe,ke=we;for(;ke>xe;){if(ke-=xe,Ot=Ot.parent,!Ot)throw new Error("Invalid number of '../'");xe=Ot.segments.length}return new wi(Ot,!1,xe-ke)}(we.snapshot._urlSegment,we.snapshot._lastPathIndex+Ot,Je.numberOfDoubleDots)}(ke,Fe,Je),ge=Te.processChildren?qi(Te.segmentGroup,Te.index,ke.commands):Ji(Te.segmentGroup,Te.index,ke.commands);return Qr(Te.segmentGroup,ge,Fe,Ot,xe)}(Be,this.currentUrlTree,we,Dt,null!=xt?xt:null)}navigateByUrl(we,Ot={skipLocationChange:!1}){const xe=st(we)?we:this.parseUrl(we),ke=this.urlHandlingStrategy.merge(xe,this.rawUrlTree);return this.scheduleNavigation(ke,"imperative",null,Ot)}navigate(we,Ot={skipLocationChange:!1}){return function(Je){for(let Fe=0;Fe<Je.length;Fe++){const we=Je[Fe];if(null==we)throw new Error(`The requested path contains ${we} segment at index ${Fe}`)}}(we),this.navigateByUrl(this.createUrlTree(we,Ot),Ot)}serializeUrl(we){return this.urlSerializer.serialize(we)}parseUrl(we){let Ot;try{Ot=this.urlSerializer.parse(we)}catch(xe){Ot=this.malformedUriErrorHandler(xe,this.urlSerializer,we)}return Ot}isActive(we,Ot){let xe;if(xe=!0===Ot?Object.assign({},Bt):!1===Ot?Object.assign({},In):Ot,st(we))return En(this.currentUrlTree,we,xe);const ke=this.parseUrl(we);return En(this.currentUrlTree,ke,xe)}removeEmptyProps(we){return Object.keys(we).reduce((Ot,xe)=>{const ke=we[xe];return null!=ke&&(Ot[xe]=ke),Ot},{})}processNavigations(){this.navigations.subscribe(we=>{this.navigated=!0,this.lastSuccessfulId=we.id,this.currentPageId=we.targetPageId,this.events.next(new ue(we.id,this.serializeUrl(we.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,we.resolve(!0)},we=>{this.console.warn(`Unhandled Navigation Error: ${we}`)})}scheduleNavigation(we,Ot,xe,ke,Te){var ge,Re;if(this.disposed)return Promise.resolve(!1);const Be=this.getTransition(),xt=pi(Ot)&&Be&&!pi(Be.source),vn=(this.lastSuccessfulId===Be.id||this.currentNavigation?Be.rawUrl:Be.urlAfterRedirects).toString()===we.toString();if(xt&&vn)return Promise.resolve(!0);let Gn,kn,zn;Te?(Gn=Te.resolve,kn=Te.reject,zn=Te.promise):zn=new Promise((Gr,ci)=>{Gn=Gr,kn=ci});const jr=++this.navigationId;let kr;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(xe=this.location.getState()),kr=xe&&xe.\u0275routerPageId?xe.\u0275routerPageId:ke.replaceUrl||ke.skipLocationChange?null!==(ge=this.browserPageId)&&void 0!==ge?ge:0:(null!==(Re=this.browserPageId)&&void 0!==Re?Re:0)+1):kr=0,this.setTransition({id:jr,targetPageId:kr,source:Ot,restoredState:xe,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:we,extras:ke,resolve:Gn,reject:kn,promise:zn,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),zn.catch(Gr=>Promise.reject(Gr))}setBrowserUrl(we,Ot){const xe=this.urlSerializer.serialize(we),ke=Object.assign(Object.assign({},Ot.extras.state),this.generateNgRouterState(Ot.id,Ot.targetPageId));this.location.isCurrentPathEqualTo(xe)||Ot.extras.replaceUrl?this.location.replaceState(xe,"",ke):this.location.go(xe,"",ke)}restoreHistory(we,Ot=!1){var xe,ke;if("computed"===this.canceledNavigationResolution){const Te=this.currentPageId-we.targetPageId;"popstate"!==we.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(xe=this.currentNavigation)||void 0===xe?void 0:xe.finalUrl)||0===Te?this.currentUrlTree===(null===(ke=this.currentNavigation)||void 0===ke?void 0:ke.finalUrl)&&0===Te&&(this.resetState(we),this.browserUrlTree=we.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(Te)}else"replace"===this.canceledNavigationResolution&&(Ot&&this.resetState(we),this.resetUrlToCurrentUrlTree())}resetState(we){this.routerState=we.currentRouterState,this.currentUrlTree=we.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,we.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(we,Ot){const xe=new He(we.id,this.serializeUrl(we.extractedUrl),Ot);this.triggerEvent(xe),we.resolve(!1)}generateNgRouterState(we,Ot){return"computed"===this.canceledNavigationResolution?{navigationId:we,\u0275routerPageId:Ot}:{navigationId:we}}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(e.DyG),e.LFG(Qn),e.LFG(hi),e.LFG(t.Ye),e.LFG(e.zs3),e.LFG(e.v3s),e.LFG(e.Sil),e.LFG(void 0))},Je.\u0275prov=e.Yz7({token:Je,factory:Je.\u0275fac}),Je})();function pi(Je){return"imperative"!==Je}let Fr=(()=>{class Je{constructor(we,Ot,xe,ke,Te){this.router=we,this.route=Ot,this.commands=[],this.onChanges=new x.xQ,null==xe&&ke.setAttribute(Te.nativeElement,"tabindex","0")}ngOnChanges(we){this.onChanges.next(this)}set routerLink(we){this.commands=null!=we?Array.isArray(we)?we:[we]:[]}onClick(){const we={skipLocationChange:Un(this.skipLocationChange),replaceUrl:Un(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,we),!0}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Un(this.preserveFragment)})}}return Je.\u0275fac=function(we){return new(we||Je)(e.Y36(Xn),e.Y36(di),e.$8M("tabindex"),e.Y36(e.Qsj),e.Y36(e.SBq))},Je.\u0275dir=e.lG2({type:Je,selectors:[["","routerLink","",5,"a",5,"area"]],hostBindings:function(we,Ot){1&we&&e.NdJ("click",function(){return Ot.onClick()})},inputs:{routerLink:"routerLink",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[e.TTD]}),Je})(),zr=(()=>{class Je{constructor(we,Ot,xe){this.router=we,this.route=Ot,this.locationStrategy=xe,this.commands=[],this.onChanges=new x.xQ,this.subscription=we.events.subscribe(ke=>{ke instanceof ue&&this.updateTargetUrlAndHref()})}set routerLink(we){this.commands=null!=we?Array.isArray(we)?we:[we]:[]}ngOnChanges(we){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(we,Ot,xe,ke,Te){if(0!==we||Ot||xe||ke||Te||"string"==typeof this.target&&"_self"!=this.target)return!0;const ge={skipLocationChange:Un(this.skipLocationChange),replaceUrl:Un(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,ge),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:Un(this.preserveFragment)})}}return Je.\u0275fac=function(we){return new(we||Je)(e.Y36(Xn),e.Y36(di),e.Y36(t.S$))},Je.\u0275dir=e.lG2({type:Je,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(we,Ot){1&we&&e.NdJ("click",function(ke){return Ot.onClick(ke.button,ke.ctrlKey,ke.shiftKey,ke.altKey,ke.metaKey)}),2&we&&(e.Ikx("href",Ot.href,e.LSH),e.uIk("target",Ot.target))},inputs:{routerLink:"routerLink",target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[e.TTD]}),Je})();function Un(Je){return""===Je||!!Je}let lr=(()=>{class Je{constructor(we,Ot,xe,ke,Te,ge){this.router=we,this.element=Ot,this.renderer=xe,this.cdr=ke,this.link=Te,this.linkWithHref=ge,this.classes=[],this.isActive=!1,this.routerLinkActiveOptions={exact:!1},this.routerEventsSubscription=we.events.subscribe(Re=>{Re instanceof ue&&this.update()})}ngAfterContentInit(){(0,h.of)(this.links.changes,this.linksWithHrefs.changes,(0,h.of)(null)).pipe((0,Me.J)()).subscribe(we=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){var we;null===(we=this.linkInputChangesSubscription)||void 0===we||we.unsubscribe();const Ot=[...this.links.toArray(),...this.linksWithHrefs.toArray(),this.link,this.linkWithHref].filter(xe=>!!xe).map(xe=>xe.onChanges);this.linkInputChangesSubscription=(0,a.D)(Ot).pipe((0,Me.J)()).subscribe(xe=>{this.isActive!==this.isLinkActive(this.router)(xe)&&this.update()})}set routerLinkActive(we){const Ot=Array.isArray(we)?we:we.split(" ");this.classes=Ot.filter(xe=>!!xe)}ngOnChanges(we){this.update()}ngOnDestroy(){var we;this.routerEventsSubscription.unsubscribe(),null===(we=this.linkInputChangesSubscription)||void 0===we||we.unsubscribe()}update(){!this.links||!this.linksWithHrefs||!this.router.navigated||Promise.resolve().then(()=>{const we=this.hasActiveLinks();this.isActive!==we&&(this.isActive=we,this.cdr.markForCheck(),this.classes.forEach(Ot=>{we?this.renderer.addClass(this.element.nativeElement,Ot):this.renderer.removeClass(this.element.nativeElement,Ot)}))})}isLinkActive(we){const Ot=function(Je){return!!Je.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return xe=>we.isActive(xe.urlTree,Ot)}hasActiveLinks(){const we=this.isLinkActive(this.router);return this.link&&we(this.link)||this.linkWithHref&&we(this.linkWithHref)||this.links.some(we)||this.linksWithHrefs.some(we)}}return Je.\u0275fac=function(we){return new(we||Je)(e.Y36(Xn),e.Y36(e.SBq),e.Y36(e.Qsj),e.Y36(e.sBO),e.Y36(Fr,8),e.Y36(zr,8))},Je.\u0275dir=e.lG2({type:Je,selectors:[["","routerLinkActive",""]],contentQueries:function(we,Ot,xe){if(1&we&&(e.Suo(xe,Fr,5),e.Suo(xe,zr,5)),2&we){let ke;e.iGM(ke=e.CRH())&&(Ot.links=ke),e.iGM(ke=e.CRH())&&(Ot.linksWithHrefs=ke)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",routerLinkActive:"routerLinkActive"},exportAs:["routerLinkActive"],features:[e.TTD]}),Je})(),li=(()=>{class Je{constructor(we,Ot,xe,ke,Te){this.parentContexts=we,this.location=Ot,this.resolver=xe,this.changeDetector=Te,this.activated=null,this._activatedRoute=null,this.activateEvents=new e.vpe,this.deactivateEvents=new e.vpe,this.name=ke||Jt,we.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const we=this.parentContexts.getContext(this.name);we&&we.route&&(we.attachRef?this.attach(we.attachRef,we.route):this.activateWith(we.route,we.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const we=this.activated;return this.activated=null,this._activatedRoute=null,we}attach(we,Ot){this.activated=we,this._activatedRoute=Ot,this.location.insert(we.hostView)}deactivate(){if(this.activated){const we=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(we)}}activateWith(we,Ot){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=we;const Te=(Ot=Ot||this.resolver).resolveComponentFactory(we._futureSnapshot.routeConfig.component),ge=this.parentContexts.getOrCreateContext(this.name).children,Re=new Ti(we,ge,this.location.injector);this.activated=this.location.createComponent(Te,this.location.length,Re),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return Je.\u0275fac=function(we){return new(we||Je)(e.Y36(hi),e.Y36(e.s_b),e.Y36(e._Vd),e.$8M("name"),e.Y36(e.sBO))},Je.\u0275dir=e.lG2({type:Je,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate"},exportAs:["outlet"]}),Je})();class Ti{constructor(Fe,we,Ot){this.route=Fe,this.childContexts=we,this.parent=Ot}get(Fe,we){return Fe===di?this.route:Fe===hi?this.childContexts:this.parent.get(Fe,we)}}class Ao{}class Qo{preload(Fe,we){return we().pipe((0,J.K)(()=>(0,h.of)(null)))}}class jo{preload(Fe,we){return(0,h.of)(null)}}let uo=(()=>{class Je{constructor(we,Ot,xe,ke,Te){this.router=we,this.injector=ke,this.preloadingStrategy=Te,this.loader=new vo(Ot,xe,Be=>we.triggerEvent(new St(Be)),Be=>we.triggerEvent(new At(Be)))}setUpPreloading(){this.subscription=this.router.events.pipe((0,I.h)(we=>we instanceof ue),(0,Y.b)(()=>this.preload())).subscribe(()=>{})}preload(){const we=this.injector.get(e.h0i);return this.processRoutes(we,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(we,Ot){const xe=[];for(const ke of Ot)if(ke.loadChildren&&!ke.canLoad&&ke._loadedConfig){const Te=ke._loadedConfig;xe.push(this.processRoutes(Te.module,Te.routes))}else ke.loadChildren&&!ke.canLoad?xe.push(this.preloadConfig(we,ke)):ke.children&&xe.push(this.processRoutes(we,ke.children));return(0,a.D)(xe).pipe((0,Me.J)(),(0,j.U)(ke=>{}))}preloadConfig(we,Ot){return this.preloadingStrategy.preload(Ot,()=>(Ot._loadedConfig?(0,h.of)(Ot._loadedConfig):this.loader.load(we.injector,Ot)).pipe((0,fe.zg)(ke=>(Ot._loadedConfig=ke,this.processRoutes(ke.module,ke.routes)))))}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(Xn),e.LFG(e.v3s),e.LFG(e.Sil),e.LFG(e.zs3),e.LFG(Ao))},Je.\u0275prov=e.Yz7({token:Je,factory:Je.\u0275fac}),Je})(),eo=(()=>{class Je{constructor(we,Ot,xe={}){this.router=we,this.viewportScroller=Ot,this.options=xe,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},xe.scrollPositionRestoration=xe.scrollPositionRestoration||"disabled",xe.anchorScrolling=xe.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(we=>{we instanceof be?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=we.navigationTrigger,this.restoredId=we.restoredState?we.restoredState.navigationId:0):we instanceof ue&&(this.lastId=we.id,this.scheduleScrollEvent(we,this.router.parseUrl(we.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(we=>{we instanceof dt&&(we.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(we.position):we.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(we.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(we,Ot){this.router.triggerEvent(new dt(we,"popstate"===this.lastSource?this.store[this.restoredId]:null,Ot))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(Xn),e.LFG(t.EM),e.LFG(void 0))},Je.\u0275prov=e.Yz7({token:Je,factory:Je.\u0275fac}),Je})();const Zi=new e.OlP("ROUTER_CONFIGURATION"),na=new e.OlP("ROUTER_FORROOT_GUARD"),fl=[t.Ye,{provide:Qn,useClass:Ir},{provide:Xn,useFactory:function(Je,Fe,we,Ot,xe,ke,Te,ge={},Re,Be){const xt=new Xn(null,Je,Fe,we,Ot,xe,ke,Yn(Te));return Re&&(xt.urlHandlingStrategy=Re),Be&&(xt.routeReuseStrategy=Be),function(Je,Fe){Je.errorHandler&&(Fe.errorHandler=Je.errorHandler),Je.malformedUriErrorHandler&&(Fe.malformedUriErrorHandler=Je.malformedUriErrorHandler),Je.onSameUrlNavigation&&(Fe.onSameUrlNavigation=Je.onSameUrlNavigation),Je.paramsInheritanceStrategy&&(Fe.paramsInheritanceStrategy=Je.paramsInheritanceStrategy),Je.relativeLinkResolution&&(Fe.relativeLinkResolution=Je.relativeLinkResolution),Je.urlUpdateStrategy&&(Fe.urlUpdateStrategy=Je.urlUpdateStrategy)}(ge,xt),ge.enableTracing&&xt.events.subscribe(Dt=>{var en,vn;null===(en=console.group)||void 0===en||en.call(console,`Router Event: ${Dt.constructor.name}`),console.log(Dt.toString()),console.log(Dt),null===(vn=console.groupEnd)||void 0===vn||vn.call(console)}),xt},deps:[Qn,hi,t.Ye,e.zs3,e.v3s,e.Sil,io,Zi,[class{},new e.FiY],[class{},new e.FiY]]},hi,{provide:di,useFactory:function(Je){return Je.routerState.root},deps:[Xn]},{provide:e.v3s,useClass:e.EAV},uo,jo,Qo,{provide:Zi,useValue:{enableTracing:!1}}];function Hn(){return new e.PXZ("Router",Xn)}let Es=(()=>{class Je{constructor(we,Ot){}static forRoot(we,Ot){return{ngModule:Je,providers:[fl,As(we),{provide:na,useFactory:mo,deps:[[Xn,new e.FiY,new e.tp0]]},{provide:Zi,useValue:Ot||{}},{provide:t.S$,useFactory:Hl,deps:[t.lw,[new e.tBr(t.mr),new e.FiY],Zi]},{provide:eo,useFactory:Ll,deps:[Xn,t.EM,Zi]},{provide:Ao,useExisting:Ot&&Ot.preloadingStrategy?Ot.preloadingStrategy:jo},{provide:e.PXZ,multi:!0,useFactory:Hn},[Fl,{provide:e.ip1,multi:!0,useFactory:bl,deps:[Fl]},{provide:kl,useFactory:ql,deps:[Fl]},{provide:e.tb,multi:!0,useExisting:kl}]]}}static forChild(we){return{ngModule:Je,providers:[As(we)]}}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(na,8),e.LFG(Xn,8))},Je.\u0275mod=e.oAB({type:Je}),Je.\u0275inj=e.cJS({}),Je})();function Ll(Je,Fe,we){return we.scrollOffset&&Fe.setOffset(we.scrollOffset),new eo(Je,Fe,we)}function Hl(Je,Fe,we={}){return we.useHash?new t.Do(Je,Fe):new t.b0(Je,Fe)}function mo(Je){return"guarded"}function As(Je){return[{provide:e.deG,multi:!0,useValue:Je},{provide:io,multi:!0,useValue:Je}]}let Fl=(()=>{class Je{constructor(we){this.injector=we,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new x.xQ}appInitializer(){return this.injector.get(t.V_,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let Ot=null;const xe=new Promise(ge=>Ot=ge),ke=this.injector.get(Xn),Te=this.injector.get(Zi);return"disabled"===Te.initialNavigation?(ke.setUpLocationChangeListener(),Ot(!0)):"enabled"===Te.initialNavigation||"enabledBlocking"===Te.initialNavigation?(ke.hooks.afterPreactivation=()=>this.initNavigation?(0,h.of)(null):(this.initNavigation=!0,Ot(!0),this.resultOfPreactivationDone),ke.initialNavigation()):Ot(!0),xe})}bootstrapListener(we){const Ot=this.injector.get(Zi),xe=this.injector.get(uo),ke=this.injector.get(eo),Te=this.injector.get(Xn),ge=this.injector.get(e.z2F);we===ge.components[0]&&(("enabledNonBlocking"===Ot.initialNavigation||void 0===Ot.initialNavigation)&&Te.initialNavigation(),xe.setUpPreloading(),ke.init(),Te.resetRootComponentType(ge.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return Je.\u0275fac=function(we){return new(we||Je)(e.LFG(e.zs3))},Je.\u0275prov=e.Yz7({token:Je,factory:Je.\u0275fac}),Je})();function bl(Je){return Je.appInitializer.bind(Je)}function ql(Je){return Je.bootstrapListener.bind(Je)}const kl=new e.OlP("Router Initializer")},19723:(Ge,g,o)=>{"use strict";o.d(g,{iM:()=>Fu,qr:()=>Ph,xc:()=>Np});var t=o(74788),e=o(12057),s=function(P,W){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,Ee){Z.__proto__=Ee}||function(Z,Ee){for(var Mt in Ee)Ee.hasOwnProperty(Mt)&&(Z[Mt]=Ee[Mt])})(P,W)};function a(P,W){function Z(){this.constructor=P}s(P,W),P.prototype=null===W?Object.create(W):(Z.prototype=W.prototype,new Z)}var l=function(){return(l=Object.assign||function(W){for(var Z,Ee=1,Mt=arguments.length;Ee<Mt;Ee++)for(var cn in Z=arguments[Ee])Object.prototype.hasOwnProperty.call(Z,cn)&&(W[cn]=Z[cn]);return W}).apply(this,arguments)};function u(P,W){var Z="function"==typeof Symbol&&P[Symbol.iterator];if(!Z)return P;var Mt,pr,Ee=Z.call(P),cn=[];try{for(;(void 0===W||W-- >0)&&!(Mt=Ee.next()).done;)cn.push(Mt.value)}catch(Rr){pr={error:Rr}}finally{try{Mt&&!Mt.done&&(Z=Ee.return)&&Z.call(Ee)}finally{if(pr)throw pr.error}}return cn}function h(){for(var P=[],W=0;W<arguments.length;W++)P=P.concat(u(arguments[W]));return P}var m=[];Object.freeze(m);var b={};Object.freeze(b);var C={};function D(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:C}function x(){return++Ct.mobxGuid}function j(P){throw H(!1,P),"X"}function H(P,W){if(!P)throw new Error("[mobx] "+(W||"An invariant failed, however the error is obfuscated because this is an production build."))}function M(P){var W=!1;return function(){if(!W)return W=!0,P.apply(this,arguments)}}var I=function(){};function Y(P){return null!==P&&"object"==typeof P}function ie(P){if(null===P||"object"!=typeof P)return!1;var W=Object.getPrototypeOf(P);return W===Object.prototype||null===W}function ne(P,W,Z){Object.defineProperty(P,W,{enumerable:!1,writable:!0,configurable:!0,value:Z})}function he(P,W,Z){Object.defineProperty(P,W,{enumerable:!1,writable:!1,configurable:!0,value:Z})}function Me(P,W){var Z="isMobX"+P;return W.prototype[Z]=!0,function(Ee){return Y(Ee)&&!0===Ee[Z]}}function ue(P){return void 0!==D().Map&&P instanceof D().Map}function He(P){return P instanceof Set}function $e(P){for(var W=[];;){var Z=P.next();if(Z.done)break;W.push(Z.value)}return W}function F(){return"function"==typeof Symbol&&Symbol.toPrimitive||"@@toPrimitive"}function je(P){return null===P?null:"object"==typeof P?""+P:P}function Et(){return"function"==typeof Symbol&&Symbol.iterator||"@@iterator"}function lt(P,W){he(P,Et(),W)}function nn(P){return P[Et()]=At,P}function St(){return"function"==typeof Symbol&&Symbol.toStringTag||"@@toStringTag"}function At(){return this}var Qe=function(){function P(W){void 0===W&&(W="Atom@"+x()),this.name=W,this.isPendingUnobservation=!1,this.isBeingObserved=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=hn.NOT_TRACKING}return P.prototype.onBecomeUnobserved=function(){},P.prototype.onBecomeObserved=function(){},P.prototype.reportObserved=function(){return Qr(this)},P.prototype.reportChanged=function(){ai(),function(P){if(P.lowestObserverState!==hn.STALE){P.lowestObserverState=hn.STALE;for(var W=P.observers,Z=W.length;Z--;){var Ee=W[Z];Ee.dependenciesState===hn.UP_TO_DATE&&(Ee.isTracing!==Qn.NONE&&wi(Ee,P),Ee.onBecomeStale()),Ee.dependenciesState=hn.STALE}}}(this),Dr()},P.prototype.toString=function(){return this.name},P}(),It=Me("Atom",Qe);function Ie(P,W){return P===W}var ln={identity:Ie,structural:function(P,W){return Qo(P,W)},default:function(P,W){return function(P,W){return"number"==typeof P&&"number"==typeof W&&isNaN(P)&&isNaN(W)}(P,W)||Ie(P,W)},shallow:function(P,W){return Qo(P,W,1)}},ar={},Ln={};function Rn(P,W){var Z=W?ar:Ln;return Z[P]||(Z[P]={configurable:!0,enumerable:W,get:function(){return er(this),this[P]},set:function(Ee){er(this),this[P]=Ee}})}function er(P){if(!0!==P.__mobxDidRunLazyInitializers){var W=P.__mobxDecorators;if(W)for(var Z in ne(P,"__mobxDidRunLazyInitializers",!0),W){var Ee=W[Z];Ee.propertyCreator(P,Ee.prop,Ee.descriptor,Ee.decoratorTarget,Ee.decoratorArguments)}}}function Mn(P,W){return function(){var Ee,Mt=function(pr,Rr,ui,To){return!0===To?(W(pr,Rr,ui,pr,Ee),null):(Object.prototype.hasOwnProperty.call(pr,"__mobxDecorators")||ne(pr,"__mobxDecorators",l({},pr.__mobxDecorators)),pr.__mobxDecorators[Rr]={prop:Rr,propertyCreator:W,descriptor:ui,decoratorTarget:pr,decoratorArguments:Ee},Rn(Rr,P))};return Ht(arguments)?(Ee=m,Mt.apply(null,arguments)):(Ee=Array.prototype.slice.call(arguments),Mt)}}function Ht(P){return(2===P.length||3===P.length)&&"string"==typeof P[1]||4===P.length&&!0===P[3]}function tr(P,W,Z){return Ne(P)?P:Array.isArray(P)?mt.array(P,{name:Z}):ie(P)?mt.object(P,void 0,{name:Z}):ue(P)?mt.map(P,{name:Z}):He(P)?mt.set(P,{name:Z}):P}function Cn(P){return P}function dn(P){var W=Mn(!0,function(Ee,Mt,cn,pr,Rr){!function(P,W,Z,Ee){var Mt=ft(P);if(Di(Mt)){var cn=pa(Mt,{object:P,name:W,type:"add",newValue:Z});if(!cn)return;Z=cn.newValue}Z=(Mt.values[W]=new Kr(Z,Ee,Mt.name+"."+W,!1)).value,Object.defineProperty(P,W,function(P){return In[P]||(In[P]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.read(this,P)},set:function(W){this.$mobx.write(this,P,W)}})}(W)),Mt.keys&&Mt.keys.push(W),function(P,W,Z,Ee){var Mt=Vo(P),cn=Bo(),pr=Mt||cn?{type:"add",object:W,name:Z,newValue:Ee}:null;cn&&es(l({},pr,{name:P.name,key:Z})),Mt&&hs(P,pr),cn&&ds()}(Mt,P,W,Z)}(Ee,Mt,cn?cn.initializer?cn.initializer.call(Ee):cn.value:void 0,P)}),Z=("undefined"!=typeof process&&process,W);return Z.enhancer=P,Z}var Kn={deep:!0,name:void 0,defaultDecorator:void 0};function $n(P){return null==P?Kn:"string"==typeof P?{name:P,deep:!0}:P}function En(P){return P.defaultDecorator?P.defaultDecorator.enhancer:!1===P.deep?Cn:tr}Object.freeze(Kn),Object.freeze({deep:!1,name:void 0,defaultDecorator:void 0});var Fn=dn(tr),Dn=dn(function(P,W,Z){return null==P||lr(P)||bi(P)||Bi(P)||G(P)?P:Array.isArray(P)?mt.array(P,{name:Z,deep:!1}):ie(P)?mt.object(P,void 0,{name:Z,deep:!1}):ue(P)?mt.map(P,{name:Z,deep:!1}):He(P)?mt.set(P,{name:Z,deep:!1}):j(!1)}),mn=dn(Cn),jn=dn(function(P,W,Z){return Qo(P,W)?W:P}),ut={box:function(P,W){arguments.length>2&&Tt("box");var Z=$n(W);return new Kr(P,En(Z),Z.name,!0,Z.equals)},shallowBox:function(P,W){return arguments.length>2&&Tt("shallowBox"),mt.box(P,{name:W,deep:!1})},array:function(P,W){arguments.length>2&&Tt("array");var Z=$n(W);return new xr(P,En(Z),Z.name)},shallowArray:function(P,W){return arguments.length>2&&Tt("shallowArray"),mt.array(P,{name:W,deep:!1})},map:function(P,W){arguments.length>2&&Tt("map");var Z=$n(W);return new io(P,En(Z),Z.name)},shallowMap:function(P,W){return arguments.length>2&&Tt("shallowMap"),mt.map(P,{name:W,deep:!1})},set:function(P,W){arguments.length>2&&Tt("set");var Z=$n(W);return new Br(P,En(Z),Z.name)},object:function(P,W,Z){"string"==typeof arguments[1]&&Tt("object");var Ee=$n(Z);return Ra({},P,W,Ee)},shallowObject:function(P,W){return"string"==typeof arguments[1]&&Tt("shallowObject"),mt.object(P,{},{name:W,deep:!1})},ref:mn,shallow:Dn,deep:Fn,struct:jn},mt=function(P,W,Z){if("string"==typeof arguments[1])return Fn.apply(null,arguments);if(Ne(P))return P;var Ee=ie(P)?mt.object(P,W,Z):Array.isArray(P)?mt.array(P,W):ue(P)?mt.map(P,W):He(P)?mt.set(P,W):P;if(Ee!==P)return Ee;j(!1)};function Tt(P){j("Expected one or two arguments to observable."+P+". Did you accidentally try to use observable."+P+" as decorator?")}Object.keys(ut).forEach(function(P){return mt[P]=ut[P]});var yn=Mn(!1,function(P,W,Z,Ee,Mt){!function(P,W,Z){var Ee=ft(P);Z.name=Ee.name+"."+W,Z.context=P,Ee.values[W]=new di(Z),Object.defineProperty(P,W,function(P){return Xn[P]||(Xn[P]={configurable:Ct.computedConfigurable,enumerable:!1,get:function(){return pi(this).read(this,P)},set:function(W){pi(this).write(this,P,W)}})}(W))}(P,W,l({get:Z.get,set:Z.set},Mt[0]||{}))}),et=yn({equals:ln.structural}),jt=function(W,Z,Ee){if("string"==typeof Z||null!==W&&"object"==typeof W&&1===arguments.length)return yn.apply(null,arguments);var Mt="object"==typeof Z?Z:{};return Mt.get=W,Mt.set="function"==typeof Z?Z:Mt.set,Mt.name=Mt.name||W.name||"",new di(Mt)};jt.struct=et;var hn=(()=>{return(P=hn||(hn={}))[P.NOT_TRACKING=-1]="NOT_TRACKING",P[P.UP_TO_DATE=0]="UP_TO_DATE",P[P.POSSIBLY_STALE=1]="POSSIBLY_STALE",P[P.STALE=2]="STALE",hn;var P})(),Qn=(()=>{return(P=Qn||(Qn={}))[P.NONE=0]="NONE",P[P.LOG=1]="LOG",P[P.BREAK=2]="BREAK",Qn;var P})(),Ir=function(W){this.cause=W};function ht(P){return P instanceof Ir}function L(P){switch(P.dependenciesState){case hn.UP_TO_DATE:return!1;case hn.NOT_TRACKING:case hn.STALE:return!0;case hn.POSSIBLY_STALE:for(var W=sn(),Z=P.observing,Ee=Z.length,Mt=0;Mt<Ee;Mt++){var cn=Z[Mt];if(se(cn)){if(Ct.disableErrorBoundaries)cn.get();else try{cn.get()}catch(pr){return An(W),!0}if(P.dependenciesState===hn.STALE)return An(W),!0}}return mr(P),An(W),!1}}function nt(P){var W=P.observers.length>0;Ct.computationDepth>0&&W&&j(!1),!Ct.allowStateChanges&&(W||"strict"===Ct.enforceActions)&&j(!1)}function it(P,W,Z){var Ee=Bn(!0);mr(P),P.newObserving=new Array(P.observing.length+100),P.unboundDepsCount=0,P.runId=++Ct.runId;var cn,Mt=Ct.trackingDerivation;if(Ct.trackingDerivation=P,!0===Ct.disableErrorBoundaries)cn=W.call(Z);else try{cn=W.call(Z)}catch(pr){cn=new Ir(pr)}return Ct.trackingDerivation=Mt,function(P){for(var W=P.observing,Z=P.observing=P.newObserving,Ee=hn.UP_TO_DATE,Mt=0,cn=P.unboundDepsCount,pr=0;pr<cn;pr++)0===(Rr=Z[pr]).diffValue&&(Rr.diffValue=1,Mt!==pr&&(Z[Mt]=Rr),Mt++),Rr.dependenciesState>Ee&&(Ee=Rr.dependenciesState);for(Z.length=Mt,P.newObserving=null,cn=W.length;cn--;)0===(Rr=W[cn]).diffValue&&Vr(Rr,P),Rr.diffValue=0;for(;Mt--;){var Rr;1===(Rr=Z[Mt]).diffValue&&(Rr.diffValue=0,Zn(Rr,P))}Ee!==hn.UP_TO_DATE&&(P.dependenciesState=Ee,P.onBecomeStale())}(P),ir(Ee),cn}function ot(P){var W=P.observing;P.observing=[];for(var Z=W.length;Z--;)Vr(W[Z],P);P.dependenciesState=hn.NOT_TRACKING}function Nn(P){var W=sn(),Z=P();return An(W),Z}function sn(){var P=Ct.trackingDerivation;return Ct.trackingDerivation=null,P}function An(P){Ct.trackingDerivation=P}function Bn(P){var W=Ct.allowStateReads;return Ct.allowStateReads=P,W}function ir(P){Ct.allowStateReads=P}function mr(P){if(P.dependenciesState!==hn.UP_TO_DATE){P.dependenciesState=hn.UP_TO_DATE;for(var W=P.observing,Z=W.length;Z--;)W[Z].lowestObserverState=hn.UP_TO_DATE}}var _r=0,Nr=1;function br(P,W){var Z=function(){return Jn(P,W,this,arguments)};return Z.isMobxAction=!0,Z}function Jn(P,W,Z,Ee){var Mt=function(P,W,Z){var Ee=Bo()&&!!P,Mt=0;if(Ee){Mt=Date.now();var cn=Z&&Z.length||0,pr=new Array(cn);if(cn>0)for(var Rr=0;Rr<cn;Rr++)pr[Rr]=Z[Rr];es({type:"action",name:P,object:W,arguments:pr})}var ui=sn();ai();var os={prevDerivation:ui,prevAllowStateChanges:Ii(!0),prevAllowStateReads:Bn(!0),notifySpy:Ee,startTime:Mt,actionId:Nr++,parentActionId:_r};return _r=os.actionId,os}(P,Z,Ee);try{return W.apply(Z,Ee)}catch(cn){throw Mt.error=cn,cn}finally{!function(P){_r!==P.actionId&&j("invalid action stack. did you forget to finish an action?"),_r=P.parentActionId,void 0!==P.error&&(Ct.suppressReactionErrors=!0),Mi(P.prevAllowStateChanges),ir(P.prevAllowStateReads),Dr(),An(P.prevDerivation),P.notifySpy&&ds({time:Date.now()-P.startTime}),Ct.suppressReactionErrors=!1}(Mt)}}function Ii(P){var W=Ct.allowStateChanges;return Ct.allowStateChanges=P,W}function Mi(P){Ct.allowStateChanges=P}var Kr=function(P){function W(Z,Ee,Mt,cn,pr){void 0===Mt&&(Mt="ObservableValue@"+x()),void 0===cn&&(cn=!0),void 0===pr&&(pr=ln.default);var Rr=P.call(this,Mt)||this;return Rr.enhancer=Ee,Rr.name=Mt,Rr.equals=pr,Rr.hasUnreportedChange=!1,Rr.value=Ee(Z,void 0,Mt),cn&&Bo()&&Jo({type:"create",name:Rr.name,newValue:""+Rr.value}),Rr}return a(W,P),W.prototype.dehanceValue=function(Z){return void 0!==this.dehancer?this.dehancer(Z):Z},W.prototype.set=function(Z){var Ee=this.value;if((Z=this.prepareNewValue(Z))!==Ct.UNCHANGED){var Mt=Bo();Mt&&es({type:"update",name:this.name,newValue:Z,oldValue:Ee}),this.setNewValue(Z),Mt&&ds()}},W.prototype.prepareNewValue=function(Z){if(nt(this),Di(this)){var Ee=pa(this,{object:this,type:"update",newValue:Z});if(!Ee)return Ct.UNCHANGED;Z=Ee.newValue}return Z=this.enhancer(Z,this.value,this.name),this.equals(this.value,Z)?Ct.UNCHANGED:Z},W.prototype.setNewValue=function(Z){var Ee=this.value;this.value=Z,this.reportChanged(),Vo(this)&&hs(this,{type:"update",object:this,newValue:Z,oldValue:Ee})},W.prototype.get=function(){return this.reportObserved(),this.dehanceValue(this.value)},W.prototype.intercept=function(Z){return vs(this,Z)},W.prototype.observe=function(Z,Ee){return Ee&&Z({object:this,type:"update",newValue:this.value,oldValue:void 0}),ja(this,Z)},W.prototype.toJSON=function(){return this.get()},W.prototype.toString=function(){return this.name+"["+this.value+"]"},W.prototype.valueOf=function(){return je(this.get())},W}(Qe);Kr.prototype[F()]=Kr.prototype.valueOf,Me("ObservableValue",Kr);var di=function(){function P(W){this.dependenciesState=hn.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isBeingObserved=!1,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=hn.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+x(),this.value=new Ir(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=Qn.NONE,this.derivation=W.get,this.name=W.name||"ComputedValue@"+x(),W.set&&(this.setter=br(this.name+"-setter",W.set)),this.equals=W.equals||(W.compareStructural||W.struct?ln.structural:ln.default),this.scope=W.context,this.requiresReaction=!!W.requiresReaction,this.keepAlive=!!W.keepAlive}return P.prototype.onBecomeStale=function(){!function(P){if(P.lowestObserverState===hn.UP_TO_DATE){P.lowestObserverState=hn.POSSIBLY_STALE;for(var W=P.observers,Z=W.length;Z--;){var Ee=W[Z];Ee.dependenciesState===hn.UP_TO_DATE&&(Ee.dependenciesState=hn.POSSIBLY_STALE,Ee.isTracing!==Qn.NONE&&wi(Ee,P),Ee.onBecomeStale())}}}(this)},P.prototype.onBecomeUnobserved=function(){},P.prototype.onBecomeObserved=function(){},P.prototype.get=function(){this.isComputing&&j("Cycle detected in computation "+this.name+": "+this.derivation),0!==Ct.inBatch||0!==this.observers.length||this.keepAlive?(Qr(this),L(this)&&this.trackAndCompute()&&function(P){if(P.lowestObserverState!==hn.STALE){P.lowestObserverState=hn.STALE;for(var W=P.observers,Z=W.length;Z--;){var Ee=W[Z];Ee.dependenciesState===hn.POSSIBLY_STALE?Ee.dependenciesState=hn.STALE:Ee.dependenciesState===hn.UP_TO_DATE&&(P.lowestObserverState=hn.UP_TO_DATE)}}}(this)):L(this)&&(this.warnAboutUntrackedRead(),ai(),this.value=this.computeValue(!1),Dr());var W=this.value;if(ht(W))throw W.cause;return W},P.prototype.peek=function(){var W=this.computeValue(!1);if(ht(W))throw W.cause;return W},P.prototype.set=function(W){if(this.setter){H(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,W)}finally{this.isRunningSetter=!1}}else H(!1,!1)},P.prototype.trackAndCompute=function(){Bo()&&Jo({object:this.scope,type:"compute",name:this.name});var W=this.value,Z=this.dependenciesState===hn.NOT_TRACKING,Ee=this.computeValue(!0),Mt=Z||ht(W)||ht(Ee)||!this.equals(W,Ee);return Mt&&(this.value=Ee),Mt},P.prototype.computeValue=function(W){var Z;if(this.isComputing=!0,Ct.computationDepth++,W)Z=it(this,this.derivation,this.scope);else if(!0===Ct.disableErrorBoundaries)Z=this.derivation.call(this.scope);else try{Z=this.derivation.call(this.scope)}catch(Ee){Z=new Ir(Ee)}return Ct.computationDepth--,this.isComputing=!1,Z},P.prototype.suspend=function(){this.keepAlive||(ot(this),this.value=void 0)},P.prototype.observe=function(W,Z){var Ee=this,Mt=!0,cn=void 0;return $r(function(){var pr=Ee.get();if(!Mt||Z){var Rr=sn();W({type:"update",object:Ee,newValue:pr,oldValue:cn}),An(Rr)}Mt=!1,cn=pr})},P.prototype.warnAboutUntrackedRead=function(){},P.prototype.toJSON=function(){return this.get()},P.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},P.prototype.valueOf=function(){return je(this.get())},P}();di.prototype[F()]=di.prototype.valueOf;var P,se=Me("ComputedValue",di),Ke=function(){this.version=5,this.UNCHANGED={},this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.allowStateReads=!0,this.enforceActions=!1,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.computedConfigurable=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1},Xe=!0,Ct=((P=D()).__mobxInstanceCount>0&&!P.__mobxGlobals&&(Xe=!1),P.__mobxGlobals&&P.__mobxGlobals.version!==(new Ke).version&&(Xe=!1),Xe?P.__mobxGlobals?(P.__mobxInstanceCount+=1,P.__mobxGlobals.UNCHANGED||(P.__mobxGlobals.UNCHANGED={}),P.__mobxGlobals):(P.__mobxInstanceCount=1,P.__mobxGlobals=new Ke):(setTimeout(function(){j("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")},1),new Ke));function Zn(P,W){var Z=P.observers.length;Z&&(P.observersIndexes[W.__mapid]=Z),P.observers[Z]=W,P.lowestObserverState>W.dependenciesState&&(P.lowestObserverState=W.dependenciesState)}function Vr(P,W){if(1===P.observers.length)P.observers.length=0,Cr(P);else{var Z=P.observers,Ee=P.observersIndexes,Mt=Z.pop();if(Mt!==W){var cn=Ee[W.__mapid]||0;cn?Ee[Mt.__mapid]=cn:delete Ee[Mt.__mapid],Z[cn]=Mt}delete Ee[W.__mapid]}}function Cr(P){!1===P.isPendingUnobservation&&(P.isPendingUnobservation=!0,Ct.pendingUnobservations.push(P))}function ai(){Ct.inBatch++}function Dr(){if(0==--Ct.inBatch){to();for(var P=Ct.pendingUnobservations,W=0;W<P.length;W++){var Z=P[W];Z.isPendingUnobservation=!1,0===Z.observers.length&&(Z.isBeingObserved&&(Z.isBeingObserved=!1,Z.onBecomeUnobserved()),Z instanceof di&&Z.suspend())}Ct.pendingUnobservations=[]}}function Qr(P){var W=Ct.trackingDerivation;return null!==W?(W.runId!==P.lastAccessedBy&&(P.lastAccessedBy=W.runId,W.newObserving[W.unboundDepsCount++]=P,P.isBeingObserved||(P.isBeingObserved=!0,P.onBecomeObserved())),!0):(0===P.observers.length&&Ct.inBatch>0&&Cr(P),!1)}function wi(P,W){if(console.log("[mobx.trace] '"+P.name+"' is invalidated due to a change in: '"+W.name+"'"),P.isTracing===Qn.BREAK){var Z=[];go(function(P,W){return Dl(dr(P,void 0))}(P),Z,1),new Function("debugger;\n/*\nTracing '"+P.name+"'\n\nYou are entering this break point because derivation '"+P.name+"' is being traced and '"+W.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(P instanceof di?P.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+Z.join("\n")+"\n*/\n ")()}}function go(P,W,Z){W.length>=1e3?W.push("(and many more)"):(W.push(""+new Array(Z).join("\t")+P.name),P.dependencies&&P.dependencies.forEach(function(Ee){return go(Ee,W,Z+1)}))}var Fi=function(){function P(W,Z,Ee,Mt){void 0===W&&(W="Reaction@"+x()),void 0===Mt&&(Mt=!1),this.name=W,this.onInvalidate=Z,this.errorHandler=Ee,this.requiresObservable=Mt,this.observing=[],this.newObserving=[],this.dependenciesState=hn.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+x(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=Qn.NONE}return P.prototype.onBecomeStale=function(){this.schedule()},P.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,Ct.pendingReactions.push(this),to())},P.prototype.isScheduled=function(){return this._isScheduled},P.prototype.runReaction=function(){if(!this.isDisposed){if(ai(),this._isScheduled=!1,L(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending&&Bo()&&Jo({name:this.name,type:"scheduled-reaction"})}catch(W){this.reportExceptionInDerivation(W)}}Dr()}},P.prototype.track=function(W){ai();var Ee,Z=Bo();Z&&(Ee=Date.now(),es({name:this.name,type:"reaction"})),this._isRunning=!0;var Mt=it(this,W,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ot(this),ht(Mt)&&this.reportExceptionInDerivation(Mt.cause),Z&&ds({time:Date.now()-Ee}),Dr()},P.prototype.reportExceptionInDerivation=function(W){var Z=this;if(this.errorHandler)this.errorHandler(W,this);else{if(Ct.disableErrorBoundaries)throw W;var Ee="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";Ct.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(Ee,W),Bo()&&Jo({type:"error",name:this.name,message:Ee,error:""+W}),Ct.globalReactionErrorHandlers.forEach(function(Mt){return Mt(W,Z)})}},P.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(ai(),ot(this),Dr()))},P.prototype.getDisposer=function(){var W=this.dispose.bind(this);return W.$mobx=this,W},P.prototype.toString=function(){return"Reaction["+this.name+"]"},P.prototype.trace=function(W){void 0===W&&(W=!1),function(){for(var P=[],W=0;W<arguments.length;W++)P[W]=arguments[W];var Z=!1;"boolean"==typeof P[P.length-1]&&(Z=P.pop());var Ee=Ja(P);if(!Ee)return j(!1);Ee.isTracing===Qn.NONE&&console.log("[mobx.trace] '"+Ee.name+"' tracing enabled"),Ee.isTracing=Z?Qn.BREAK:Qn.LOG}(this,W)},P}();function to(){Ct.inBatch>0||Ct.isRunningReactions||function(P){P()}(zi)}function zi(){Ct.isRunningReactions=!0;for(var P=Ct.pendingReactions,W=0;P.length>0;){100==++W&&(console.error("Reaction doesn't converge to a stable state after 100 iterations. Probably there is a cycle in the reactive function: "+P[0]),P.splice(0));for(var Z=P.splice(0),Ee=0,Mt=Z.length;Ee<Mt;Ee++)Z[Ee].runReaction()}Ct.isRunningReactions=!1}var Go=Me("Reaction",Fi);function Bo(){return!!Ct.spyListeners.length}function Jo(P){if(Ct.spyListeners.length)for(var W=Ct.spyListeners,Z=0,Ee=W.length;Z<Ee;Z++)W[Z](P)}function es(P){Jo(l({},P,{spyReportStart:!0}))}var ua={spyReportEnd:!0};function ds(P){Jo(P?l({},P,{spyReportEnd:!0}):ua)}function oa(){j(!1)}function Er(P){return function(W,Z,Ee){if(Ee){if(Ee.value)return{value:br(P,Ee.value),enumerable:!1,configurable:!0,writable:!0};var Mt=Ee.initializer;return{enumerable:!1,configurable:!0,writable:!0,initializer:function(){return br(P,Mt.call(this))}}}return st(P).apply(this,arguments)}}function st(P){return function(W,Z,Ee){Object.defineProperty(W,Z,{configurable:!0,enumerable:!1,get:function(){},set:function(Mt){ne(this,Z,ee(P,Mt))}})}}var ee=function(W,Z,Ee,Mt){return 1===arguments.length&&"function"==typeof W?br(W.name||"<unnamed action>",W):2===arguments.length&&"function"==typeof Z?br(W,Z):1===arguments.length&&"string"==typeof W?Er(W):!0!==Mt?Er(Z).apply(null,arguments):void(W[Z]=br(W.name||Z,Ee.value))};function Tn(P,W,Z){ne(P,W,br(W,Z.bind(P)))}function $r(P,W){void 0===W&&(W=b);var Mt,Z=W&&W.name||P.name||"Autorun@"+x();if(W.scheduler||W.delay){var cn=Ri(W),pr=!1;Mt=new Fi(Z,function(){pr||(pr=!0,cn(function(){pr=!1,Mt.isDisposed||Mt.track(Rr)}))},W.onError,W.requiresObservable)}else Mt=new Fi(Z,function(){this.track(Rr)},W.onError,W.requiresObservable);function Rr(){P(Mt)}return Mt.schedule(),Mt.getDisposer()}ee.bound=function(P,W,Z,Ee){return!0===Ee?(Tn(P,W,Z.value),null):Z?{configurable:!0,enumerable:!1,get:function(){return Tn(this,W,Z.value||Z.initializer.call(this)),this[W]},set:oa}:{enumerable:!1,configurable:!0,set:function(Mt){Tn(this,W,Mt)},get:function(){}}};var ni=function(P){return P()};function Ri(P){return P.scheduler?P.scheduler:P.delay?function(W){return setTimeout(W,P.delay)}:ni}function Do(P,W,Z){void 0===Z&&(Z=b),"boolean"==typeof Z&&(Z={fireImmediately:Z});var To,Ee=Z.name||"Reaction@"+x(),Mt=ee(Ee,Z.onError?function(P,W){return function(){try{return W.apply(this,arguments)}catch(Z){P.call(this,Z)}}}(Z.onError,W):W),cn=!Z.scheduler&&!Z.delay,pr=Ri(Z),Rr=!0,ui=!1,Io=Z.compareStructural?ln.structural:Z.equals||ln.default,os=new Fi(Ee,function(){Rr||cn?Ta():ui||(ui=!0,pr(Ta))},Z.onError,Z.requiresObservable);function Ta(){if(ui=!1,!os.isDisposed){var _l=!1;os.track(function(){var qa=P(os);_l=Rr||!Io(To,qa),To=qa}),Rr&&Z.fireImmediately&&Mt(To,os),!Rr&&!0===_l&&Mt(To,os),Rr&&(Rr=!1)}}return os.schedule(),os.getDisposer()}function Li(P,W,Z){return cs("onBecomeUnobserved",P,W,Z)}function cs(P,W,Z,Ee){var Mt="function"==typeof Ee?dr(W,Z):dr(W),cn="function"==typeof Ee?Ee:Z,pr=Mt[P];return"function"!=typeof pr?j(!1):(Mt[P]=function(){pr.call(this),cn.call(this)},function(){Mt[P]=pr})}function Ra(P,W,Z,Ee){var cn=(Ee=$n(Ee)).defaultDecorator||(!1===Ee.deep?mn:Fn);er(P),ft(P,Ee.name,cn.enhancer),ai();try{for(var Mt in W){var pr=Object.getOwnPropertyDescriptor(W,Mt),ui=(Z&&Mt in Z?Z[Mt]:pr.get?yn:cn)(P,Mt,pr,!0);ui&&Object.defineProperty(P,Mt,ui)}}finally{Dr()}return P}function Dl(P){var W={name:P.name};return P.observing&&P.observing.length>0&&(W.dependencies=function(P){var W=[];return P.forEach(function(Z){-1===W.indexOf(Z)&&W.push(Z)}),W}(P.observing).map(Dl)),W}function ye(P,W){if(null==P)return!1;if(void 0!==W){if(lr(P)){var Z=P.$mobx;return Z.values&&!!Z.values[W]}return!1}return lr(P)||!!P.$mobx||It(P)||Go(P)||se(P)}function Ne(P){return 1!==arguments.length&&j(!1),ye(P)}function Ja(P){switch(P.length){case 0:return Ct.trackingDerivation;case 1:return dr(P[0]);case 2:return dr(P[0],P[1])}}function il(P,W){void 0===W&&(W=void 0),ai();try{return P.apply(W)}finally{Dr()}}function Di(P){return void 0!==P.interceptors&&P.interceptors.length>0}function vs(P,W){var Z=P.interceptors||(P.interceptors=[]);return Z.push(W),M(function(){var Ee=Z.indexOf(W);-1!==Ee&&Z.splice(Ee,1)})}function pa(P,W){var Z=sn();try{var Ee=P.interceptors;if(Ee)for(var Mt=0,cn=Ee.length;Mt<cn&&(H(!(W=Ee[Mt](W))||W.type,"Intercept handlers should return nothing or a change object"),W);Mt++);return W}finally{An(Z)}}function Vo(P){return void 0!==P.changeListeners&&P.changeListeners.length>0}function ja(P,W){var Z=P.changeListeners||(P.changeListeners=[]);return Z.push(W),M(function(){var Ee=Z.indexOf(W);-1!==Ee&&Z.splice(Ee,1)})}function hs(P,W){var Z=sn(),Ee=P.changeListeners;if(Ee){for(var Mt=0,cn=(Ee=Ee.slice()).length;Mt<cn;Mt++)Ee[Mt](W);An(Z)}}var wt=function(){var P=!1,W={};return Object.defineProperty(W,"0",{set:function(){P=!0}}),Object.create(W)[0]=1,!1===P}(),kt=0,tn=function(){};(function(P,W){void 0!==Object.setPrototypeOf?Object.setPrototypeOf(P.prototype,W):void 0!==P.prototype.__proto__?P.prototype.__proto__=W:P.prototype=W})(tn,Array.prototype),Object.isFrozen(Array)&&["constructor","push","shift","concat","pop","unshift","replace","find","findIndex","splice","reverse","sort"].forEach(function(P){Object.defineProperty(tn.prototype,P,{configurable:!0,writable:!0,value:Array.prototype[P]})});var gn=function(){function P(W,Z,Ee,Mt){this.array=Ee,this.owned=Mt,this.values=[],this.lastKnownLength=0,this.atom=new Qe(W||"ObservableArray@"+x()),this.enhancer=function(cn,pr){return Z(cn,pr,W+"[..]")}}return P.prototype.dehanceValue=function(W){return void 0!==this.dehancer?this.dehancer(W):W},P.prototype.dehanceValues=function(W){return void 0!==this.dehancer&&W.length>0?W.map(this.dehancer):W},P.prototype.intercept=function(W){return vs(this,W)},P.prototype.observe=function(W,Z){return void 0===Z&&(Z=!1),Z&&W({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),ja(this,W)},P.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},P.prototype.setArrayLength=function(W){if("number"!=typeof W||W<0)throw new Error("[mobx.array] Out of range: "+W);var Z=this.values.length;if(W!==Z)if(W>Z){for(var Ee=new Array(W-Z),Mt=0;Mt<W-Z;Mt++)Ee[Mt]=void 0;this.spliceWithArray(Z,0,Ee)}else this.spliceWithArray(W,Z-W)},P.prototype.updateArrayLength=function(W,Z){if(W!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?");this.lastKnownLength+=Z,Z>0&&W+Z+1>kt&&ii(W+Z+1)},P.prototype.spliceWithArray=function(W,Z,Ee){var Mt=this;nt(this.atom);var cn=this.values.length;if(void 0===W?W=0:W>cn?W=cn:W<0&&(W=Math.max(0,cn+W)),Z=1===arguments.length?cn-W:null==Z?0:Math.max(0,Math.min(Z,cn-W)),void 0===Ee&&(Ee=m),Di(this)){var pr=pa(this,{object:this.array,type:"splice",index:W,removedCount:Z,added:Ee});if(!pr)return m;Z=pr.removedCount,Ee=pr.added}var Rr=(Ee=0===Ee.length?Ee:Ee.map(function(To){return Mt.enhancer(To,void 0)})).length-Z;this.updateArrayLength(cn,Rr);var ui=this.spliceItemsIntoValues(W,Z,Ee);return(0!==Z||0!==Ee.length)&&this.notifyArraySplice(W,Ee,ui),this.dehanceValues(ui)},P.prototype.spliceItemsIntoValues=function(W,Z,Ee){var Mt;if(Ee.length<1e4)return(Mt=this.values).splice.apply(Mt,h([W,Z],Ee));var cn=this.values.slice(W,W+Z);return this.values=this.values.slice(0,W).concat(Ee,this.values.slice(W+Z)),cn},P.prototype.notifyArrayChildUpdate=function(W,Z,Ee){var Mt=!this.owned&&Bo(),cn=Vo(this),pr=cn||Mt?{object:this.array,type:"update",index:W,newValue:Z,oldValue:Ee}:null;Mt&&es(l({},pr,{name:this.atom.name})),this.atom.reportChanged(),cn&&hs(this,pr),Mt&&ds()},P.prototype.notifyArraySplice=function(W,Z,Ee){var Mt=!this.owned&&Bo(),cn=Vo(this),pr=cn||Mt?{object:this.array,type:"splice",index:W,removed:Ee,added:Z,removedCount:Ee.length,addedCount:Z.length}:null;Mt&&es(l({},pr,{name:this.atom.name})),this.atom.reportChanged(),cn&&hs(this,pr),Mt&&ds()},P}(),xr=function(P){function W(Z,Ee,Mt,cn){void 0===Mt&&(Mt="ObservableArray@"+x()),void 0===cn&&(cn=!1);var pr=P.call(this)||this,Rr=new gn(Mt,Ee,pr,cn);if(he(pr,"$mobx",Rr),Z&&Z.length){var ui=Ii(!0);pr.spliceWithArray(0,0,Z),Mi(ui)}return wt&&Object.defineProperty(Rr.array,"0",Zr),pr}return a(W,P),W.prototype.intercept=function(Z){return this.$mobx.intercept(Z)},W.prototype.observe=function(Z,Ee){return void 0===Ee&&(Ee=!1),this.$mobx.observe(Z,Ee)},W.prototype.clear=function(){return this.splice(0)},W.prototype.concat=function(){for(var Z=[],Ee=0;Ee<arguments.length;Ee++)Z[Ee]=arguments[Ee];return this.$mobx.atom.reportObserved(),Array.prototype.concat.apply(this.peek(),Z.map(function(Mt){return bi(Mt)?Mt.peek():Mt}))},W.prototype.replace=function(Z){return this.$mobx.spliceWithArray(0,this.$mobx.values.length,Z)},W.prototype.toJS=function(){return this.slice()},W.prototype.toJSON=function(){return this.toJS()},W.prototype.peek=function(){return this.$mobx.atom.reportObserved(),this.$mobx.dehanceValues(this.$mobx.values)},W.prototype.find=function(Z,Ee,Mt){void 0===Mt&&(Mt=0);var cn=this.findIndex.apply(this,arguments);return-1===cn?void 0:this.get(cn)},W.prototype.findIndex=function(Z,Ee,Mt){void 0===Mt&&(Mt=0);for(var cn=this.peek(),pr=cn.length,Rr=Mt;Rr<pr;Rr++)if(Z.call(Ee,cn[Rr],Rr,this))return Rr;return-1},W.prototype.splice=function(Z,Ee){for(var Mt=[],cn=2;cn<arguments.length;cn++)Mt[cn-2]=arguments[cn];switch(arguments.length){case 0:return[];case 1:return this.$mobx.spliceWithArray(Z);case 2:return this.$mobx.spliceWithArray(Z,Ee)}return this.$mobx.spliceWithArray(Z,Ee,Mt)},W.prototype.spliceWithArray=function(Z,Ee,Mt){return this.$mobx.spliceWithArray(Z,Ee,Mt)},W.prototype.push=function(){for(var Z=[],Ee=0;Ee<arguments.length;Ee++)Z[Ee]=arguments[Ee];var Mt=this.$mobx;return Mt.spliceWithArray(Mt.values.length,0,Z),Mt.values.length},W.prototype.pop=function(){return this.splice(Math.max(this.$mobx.values.length-1,0),1)[0]},W.prototype.shift=function(){return this.splice(0,1)[0]},W.prototype.unshift=function(){for(var Z=[],Ee=0;Ee<arguments.length;Ee++)Z[Ee]=arguments[Ee];var Mt=this.$mobx;return Mt.spliceWithArray(0,0,Z),Mt.values.length},W.prototype.reverse=function(){var Z=this.slice();return Z.reverse.apply(Z,arguments)},W.prototype.sort=function(Z){var Ee=this.slice();return Ee.sort.apply(Ee,arguments)},W.prototype.remove=function(Z){var Ee=this.$mobx.dehanceValues(this.$mobx.values).indexOf(Z);return Ee>-1&&(this.splice(Ee,1),!0)},W.prototype.move=function(Z,Ee){function Mt(Rr){if(Rr<0)throw new Error("[mobx.array] Index out of bounds: "+Rr+" is negative");var ui=this.$mobx.values.length;if(Rr>=ui)throw new Error("[mobx.array] Index out of bounds: "+Rr+" is not smaller than "+ui)}if(Mt.call(this,Z),Mt.call(this,Ee),Z!==Ee){var pr,cn=this.$mobx.values;pr=Z<Ee?h(cn.slice(0,Z),cn.slice(Z+1,Ee+1),[cn[Z]],cn.slice(Ee+1)):h(cn.slice(0,Ee),[cn[Z]],cn.slice(Ee,Z),cn.slice(Z+1)),this.replace(pr)}},W.prototype.get=function(Z){var Ee=this.$mobx;if(Ee){if(Z<Ee.values.length)return Ee.atom.reportObserved(),Ee.dehanceValue(Ee.values[Z]);console.warn("[mobx.array] Attempt to read an array index ("+Z+") that is out of bounds ("+Ee.values.length+"). Please check length first. Out of bound indices will not be tracked by MobX")}},W.prototype.set=function(Z,Ee){var Mt=this.$mobx,cn=Mt.values;if(Z<cn.length){nt(Mt.atom);var pr=cn[Z];if(Di(Mt)){var Rr=pa(Mt,{type:"update",object:this,index:Z,newValue:Ee});if(!Rr)return;Ee=Rr.newValue}(Ee=Mt.enhancer(Ee,pr))!==pr&&(cn[Z]=Ee,Mt.notifyArrayChildUpdate(Z,Ee,pr))}else{if(Z!==cn.length)throw new Error("[mobx.array] Index out of bounds, "+Z+" is larger than "+cn.length);Mt.spliceWithArray(Z,0,[Ee])}},W}(tn);lt(xr.prototype,function(){this.$mobx.atom.reportObserved();var P=this,W=0;return nn({next:function(){return W<P.length?{value:P[W++],done:!1}:{done:!0,value:void 0}}})}),Object.defineProperty(xr.prototype,"length",{enumerable:!1,configurable:!0,get:function(){return this.$mobx.getArrayLength()},set:function(P){this.$mobx.setArrayLength(P)}}),ne(xr.prototype,St(),"Array"),["every","filter","forEach","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some","toString","toLocaleString"].forEach(function(P){var W=Array.prototype[P];H("function"==typeof W,"Base function not defined on Array prototype: '"+P+"'"),ne(xr.prototype,P,function(){return W.apply(this.peek(),arguments)})}),function(P,W){for(var Z=0;Z<W.length;Z++)ne(P,W[Z],P[W[Z]])}(xr.prototype,["constructor","intercept","observe","clear","concat","get","replace","toJS","toJSON","peek","find","findIndex","splice","spliceWithArray","push","pop","set","shift","unshift","reverse","sort","remove","move","toString","toLocaleString"]);var Zr=Pr(0);function Pr(P){return{enumerable:!1,configurable:!1,get:function(){return this.get(P)},set:function(W){this.set(P,W)}}}function mi(P){Object.defineProperty(xr.prototype,""+P,Pr(P))}function ii(P){for(var W=kt;W<P;W++)mi(W);kt=P}ii(1e3);var si=Me("ObservableArrayAdministration",gn);function bi(P){return Y(P)&&si(P.$mobx)}var Ui={},io=function(){function P(W,Z,Ee){if(void 0===Z&&(Z=tr),void 0===Ee&&(Ee="ObservableMap@"+x()),this.enhancer=Z,this.name=Ee,this.$mobx=Ui,this._keys=new xr(void 0,Cn,this.name+".keys()",!0),"function"!=typeof Map)throw new Error("mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js");this._data=new Map,this._hasMap=new Map,this.merge(W)}return P.prototype._has=function(W){return this._data.has(W)},P.prototype.has=function(W){var Z=this;if(!Ct.trackingDerivation)return this._has(W);var Ee=this._hasMap.get(W);if(!Ee){var Mt=Ee=new Kr(this._has(W),Cn,this.name+"."+vo(W)+"?",!1);this._hasMap.set(W,Mt),Li(Mt,function(){return Z._hasMap.delete(W)})}return Ee.get()},P.prototype.set=function(W,Z){var Ee=this._has(W);if(Di(this)){var Mt=pa(this,{type:Ee?"update":"add",object:this,newValue:Z,name:W});if(!Mt)return this;Z=Mt.newValue}return Ee?this._updateValue(W,Z):this._addValue(W,Z),this},P.prototype.delete=function(W){var Z=this;if(Di(this)&&!(Ee=pa(this,{type:"delete",object:this,name:W})))return!1;if(this._has(W)){var Mt=Bo(),cn=Vo(this),Ee=cn||Mt?{type:"delete",object:this,oldValue:this._data.get(W).value,name:W}:null;return Mt&&es(l({},Ee,{name:this.name,key:W})),il(function(){Z._keys.remove(W),Z._updateHasMapEntry(W,!1),Z._data.get(W).setNewValue(void 0),Z._data.delete(W)}),cn&&hs(this,Ee),Mt&&ds(),!0}return!1},P.prototype._updateHasMapEntry=function(W,Z){var Ee=this._hasMap.get(W);Ee&&Ee.setNewValue(Z)},P.prototype._updateValue=function(W,Z){var Ee=this._data.get(W);if((Z=Ee.prepareNewValue(Z))!==Ct.UNCHANGED){var Mt=Bo(),cn=Vo(this),pr=cn||Mt?{type:"update",object:this,oldValue:Ee.value,name:W,newValue:Z}:null;Mt&&es(l({},pr,{name:this.name,key:W})),Ee.setNewValue(Z),cn&&hs(this,pr),Mt&&ds()}},P.prototype._addValue=function(W,Z){var Ee=this;il(function(){var Rr=new Kr(Z,Ee.enhancer,Ee.name+"."+vo(W),!1);Ee._data.set(W,Rr),Z=Rr.value,Ee._updateHasMapEntry(W,!0),Ee._keys.push(W)});var Mt=Bo(),cn=Vo(this),pr=cn||Mt?{type:"add",object:this,name:W,newValue:Z}:null;Mt&&es(l({},pr,{name:this.name,key:W})),cn&&hs(this,pr),Mt&&ds()},P.prototype.get=function(W){return this.has(W)?this.dehanceValue(this._data.get(W).get()):this.dehanceValue(void 0)},P.prototype.dehanceValue=function(W){return void 0!==this.dehancer?this.dehancer(W):W},P.prototype.keys=function(){return this._keys[Et()]()},P.prototype.values=function(){var W=this,Z=0;return nn({next:function(){return Z<W._keys.length?{value:W.get(W._keys[Z++]),done:!1}:{value:void 0,done:!0}}})},P.prototype.entries=function(){var W=this,Z=0;return nn({next:function(){if(Z<W._keys.length){var Ee=W._keys[Z++];return{value:[Ee,W.get(Ee)],done:!1}}return{done:!0}}})},P.prototype.forEach=function(W,Z){var Ee=this;this._keys.forEach(function(Mt){return W.call(Z,Ee.get(Mt),Mt,Ee)})},P.prototype.merge=function(W){var Z=this;return Bi(W)&&(W=W.toJS()),il(function(){ie(W)?Object.keys(W).forEach(function(Ee){return Z.set(Ee,W[Ee])}):Array.isArray(W)?W.forEach(function(Ee){var Mt=u(Ee,2);return Z.set(Mt[0],Mt[1])}):ue(W)?W.constructor!==Map?j("Cannot initialize from classes that inherit from Map: "+W.constructor.name):W.forEach(function(Ee,Mt){return Z.set(Mt,Ee)}):null!=W&&j("Cannot initialize map from "+W)}),this},P.prototype.clear=function(){var W=this;il(function(){Nn(function(){W._keys.slice().forEach(function(Z){return W.delete(Z)})})})},P.prototype.replace=function(W){var Z=this;return il(function(){for(var Ee=function(P){return ue(P)||Bi(P)?P:Array.isArray(P)?new Map(P):ie(P)?new Map(Object.entries(P)):j("Cannot convert to map from '"+P+"'")}(W),Mt=Z._keys,cn=Array.from(Ee.keys()),pr=!1,Rr=0;Rr<Mt.length;Rr++){var ui=Mt[Rr];Mt.length===cn.length&&ui!==cn[Rr]&&(pr=!0),Ee.has(ui)||(pr=!0,Z.delete(ui))}Ee.forEach(function(To,Io){Z._data.has(Io)||(pr=!0),Z.set(Io,To)}),pr&&Z._keys.replace(cn)}),this},Object.defineProperty(P.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),P.prototype.toPOJO=function(){var W=this,Z={};return this._keys.forEach(function(Ee){return Z["symbol"==typeof Ee?Ee:vo(Ee)]=W.get(Ee)}),Z},P.prototype.toJS=function(){var W=this,Z=new Map;return this._keys.forEach(function(Ee){return Z.set(Ee,W.get(Ee))}),Z},P.prototype.toJSON=function(){return this.toPOJO()},P.prototype.toString=function(){var W=this;return this.name+"[{ "+this._keys.map(function(Z){return vo(Z)+": "+W.get(Z)}).join(", ")+" }]"},P.prototype.observe=function(W,Z){return ja(this,W)},P.prototype.intercept=function(W){return vs(this,W)},P}();function vo(P){return P&&P.toString?P.toString():new String(P).toString()}lt(io.prototype,function(){return this.entries()}),he(io.prototype,St(),"Map");var Bi=Me("ObservableMap",io),hi={},Br=function(){function P(W,Z,Ee){if(void 0===Z&&(Z=tr),void 0===Ee&&(Ee="ObservableSet@"+x()),this.name=Ee,this.$mobx=hi,this._data=new Set,this._atom=function(P,W,Z){void 0===W&&(W=I),void 0===Z&&(Z=I);var Ee=new Qe(P);return function(P,W,Z){cs("onBecomeObserved",P,W,void 0)}(Ee,W),Li(Ee,Z),Ee}(this.name),"function"!=typeof Set)throw new Error("mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js");this.enhancer=function(Mt,cn){return Z(Mt,cn,Ee)},W&&this.replace(W)}return P.prototype.dehanceValue=function(W){return void 0!==this.dehancer?this.dehancer(W):W},P.prototype.clear=function(){var W=this;il(function(){Nn(function(){W._data.forEach(function(Z){W.delete(Z)})})})},P.prototype.forEach=function(W,Z){var Ee=this;this._data.forEach(function(Mt){W.call(Z,Mt,Mt,Ee)})},Object.defineProperty(P.prototype,"size",{get:function(){return this._atom.reportObserved(),this._data.size},enumerable:!0,configurable:!0}),P.prototype.add=function(W){var Z=this;if(nt(this._atom),Di(this)&&!(Ee=pa(this,{type:"add",object:this,newValue:W})))return this;if(!this.has(W)){il(function(){Z._data.add(Z.enhancer(W,void 0)),Z._atom.reportChanged()});var Mt=Bo(),cn=Vo(this),Ee=cn||Mt?{type:"add",object:this,newValue:W}:null;cn&&hs(this,Ee)}return this},P.prototype.delete=function(W){var Z=this;if(Di(this)&&!(Ee=pa(this,{type:"delete",object:this,oldValue:W})))return!1;if(this.has(W)){var Mt=Bo(),cn=Vo(this),Ee=cn||Mt?{type:"delete",object:this,oldValue:W}:null;return il(function(){Z._atom.reportChanged(),Z._data.delete(W)}),cn&&hs(this,Ee),!0}return!1},P.prototype.has=function(W){return this._atom.reportObserved(),this._data.has(this.dehanceValue(W))},P.prototype.entries=function(){var W=0,Z=$e(this.keys()),Ee=$e(this.values());return nn({next:function(){var Mt=W;return W+=1,Mt<Ee.length?{value:[Z[Mt],Ee[Mt]],done:!1}:{done:!0}}})},P.prototype.keys=function(){return this.values()},P.prototype.values=function(){this._atom.reportObserved();var Ee,W=this,Z=0;return void 0!==this._data.values?Ee=$e(this._data.values()):(Ee=[],this._data.forEach(function(Mt){return Ee.push(Mt)})),nn({next:function(){return Z<Ee.length?{value:W.dehanceValue(Ee[Z++]),done:!1}:{done:!0}}})},P.prototype.replace=function(W){var Z=this;return G(W)&&(W=W.toJS()),il(function(){Array.isArray(W)||He(W)?(Z.clear(),W.forEach(function(Ee){return Z.add(Ee)})):null!=W&&j("Cannot initialize set from "+W)}),this},P.prototype.observe=function(W,Z){return ja(this,W)},P.prototype.intercept=function(W){return vs(this,W)},P.prototype.toJS=function(){return new Set(this)},P.prototype.toString=function(){return this.name+"[ "+$e(this.keys()).join(", ")+" ]"},P}();lt(Br.prototype,function(){return this.values()}),he(Br.prototype,St(),"Set");var G=Me("ObservableSet",Br),Se=function(){function P(W,Z,Ee){this.target=W,this.name=Z,this.defaultEnhancer=Ee,this.values={}}return P.prototype.read=function(W,Z){if(this.target===W||(this.illegalAccess(W,Z),this.values[Z]))return this.values[Z].get()},P.prototype.write=function(W,Z,Ee){var Mt=this.target;Mt!==W&&this.illegalAccess(W,Z);var cn=this.values[Z];if(cn instanceof di)cn.set(Ee);else{if(Di(this)){if(!(pr=pa(this,{type:"update",object:Mt,name:Z,newValue:Ee})))return;Ee=pr.newValue}if((Ee=cn.prepareNewValue(Ee))!==Ct.UNCHANGED){var Rr=Vo(this),ui=Bo(),pr=Rr||ui?{type:"update",object:Mt,oldValue:cn.value,name:Z,newValue:Ee}:null;ui&&es(l({},pr,{name:this.name,key:Z})),cn.setNewValue(Ee),Rr&&hs(this,pr),ui&&ds()}}},P.prototype.remove=function(W){if(this.values[W]){var Z=this.target;if(Di(this)&&!(Ee=pa(this,{object:Z,name:W,type:"remove"})))return;try{ai();var Mt=Vo(this),cn=Bo(),pr=this.values[W].get();this.keys&&this.keys.remove(W),delete this.values[W],delete this.target[W];var Ee=Mt||cn?{type:"remove",object:Z,oldValue:pr,name:W}:null;cn&&es(l({},Ee,{name:this.name,key:W})),Mt&&hs(this,Ee),cn&&ds()}finally{Dr()}}},P.prototype.illegalAccess=function(W,Z){console.warn("Property '"+Z+"' of '"+W+"' was accessed through the prototype chain. Use 'decorate' instead to declare the prop or access it statically through it's owner")},P.prototype.observe=function(W,Z){return ja(this,W)},P.prototype.intercept=function(W){return vs(this,W)},P.prototype.getKeys=function(){var W=this;return void 0===this.keys&&(this.keys=new xr(Object.keys(this.values).filter(function(Z){return W.values[Z]instanceof Kr}),Cn,"keys("+this.name+")",!0)),this.keys.slice()},P}();function ft(P,W,Z){void 0===W&&(W=""),void 0===Z&&(Z=tr);var Ee=P.$mobx;return Ee||(ie(P)||(W=(P.constructor.name||"ObservableObject")+"@"+x()),W||(W="ObservableObject@"+x()),he(P,"$mobx",Ee=new Se(P,W,Z)),Ee)}var In=Object.create(null),Xn=Object.create(null);function pi(P){return P.$mobx||(er(P),P.$mobx)}var Un=Me("ObservableObjectAdministration",Se);function lr(P){return!!Y(P)&&(er(P),Un(P.$mobx))}function dr(P,W){if("object"==typeof P&&null!==P){if(bi(P))return void 0!==W&&j(!1),P.$mobx.atom;if(G(P))return P.$mobx;if(Bi(P)){var Z=P;return void 0===W?dr(Z._keys):((Ee=Z._data.get(W)||Z._hasMap.get(W))||j(!1),Ee)}var Ee;if(er(P),lr(P))return W?((Ee=P.$mobx.values[W])||j(!1),Ee):j(!1);if(It(P)||se(P)||Go(P))return P}else if("function"==typeof P&&Go(P.$mobx))return P.$mobx;return j(!1)}function li(P,W){return P||j("Expecting some object"),void 0!==W?li(dr(P,W)):It(P)||se(P)||Go(P)||Bi(P)||G(P)?P:(er(P),P.$mobx?P.$mobx:void j(!1))}var Ao=Object.prototype.toString;function Qo(P,W,Z){return void 0===Z&&(Z=-1),jo(P,W,Z)}function jo(P,W,Z,Ee,Mt){if(P===W)return 0!==P||1/P==1/W;if(null==P||null==W)return!1;if(P!=P)return W!=W;var cn=typeof P;if("function"!==cn&&"object"!==cn&&"object"!=typeof W)return!1;P=uo(P),W=uo(W);var pr=Ao.call(P);if(pr!==Ao.call(W))return!1;switch(pr){case"[object RegExp]":case"[object String]":return""+P==""+W;case"[object Number]":return+P!=+P?+W!=+W:0==+P?1/+P==1/W:+P==+W;case"[object Date]":case"[object Boolean]":return+P==+W;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(P)===Symbol.valueOf.call(W)}var Rr="[object Array]"===pr;if(!Rr){if("object"!=typeof P||"object"!=typeof W)return!1;var ui=P.constructor,To=W.constructor;if(ui!==To&&!("function"==typeof ui&&ui instanceof ui&&"function"==typeof To&&To instanceof To)&&"constructor"in P&&"constructor"in W)return!1}if(0===Z)return!1;Z<0&&(Z=-1),Mt=Mt||[];for(var Io=(Ee=Ee||[]).length;Io--;)if(Ee[Io]===P)return Mt[Io]===W;if(Ee.push(P),Mt.push(W),Rr){if((Io=P.length)!==W.length)return!1;for(;Io--;)if(!jo(P[Io],W[Io],Z-1,Ee,Mt))return!1}else{var os=Object.keys(P),Ta=void 0;if(Io=os.length,Object.keys(W).length!==Io)return!1;for(;Io--;)if(!eo(W,Ta=os[Io])||!jo(P[Ta],W[Ta],Z-1,Ee,Mt))return!1}return Ee.pop(),Mt.pop(),!0}function uo(P){return bi(P)?P.peek():ue(P)||Bi(P)||He(P)||G(P)?$e(P.entries()):P}function eo(P,W){return Object.prototype.hasOwnProperty.call(P,W)}"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(P){return Ct.spyListeners.push(P),M(function(){Ct.spyListeners=Ct.spyListeners.filter(function(W){return W!==P})})},extras:{getDebugName:function(P,W){return(void 0!==W?dr(P,W):lr(P)||Bi(P)||G(P)?li(P):dr(P)).name}},$mobx:"$mobx"});const fl=function(P,W,Z){switch(Z.length){case 0:return P.call(W);case 1:return P.call(W,Z[0]);case 2:return P.call(W,Z[0],Z[1]);case 3:return P.call(W,Z[0],Z[1],Z[2])}return P.apply(W,Z)},Es=function(P){return P};var Ll=Math.max;const mo=function(P,W,Z){return W=Ll(void 0===W?P.length-1:W,0),function(){for(var Ee=arguments,Mt=-1,cn=Ll(Ee.length-W,0),pr=Array(cn);++Mt<cn;)pr[Mt]=Ee[W+Mt];Mt=-1;for(var Rr=Array(W+1);++Mt<W;)Rr[Mt]=Ee[Mt];return Rr[W]=Z(pr),fl(P,this,Rr)}},qc=function(P){return function(){return P}};var yc=o(99567),kl=Date.now;const Fe=function(P){var W=0,Z=0;return function(){var Ee=kl(),Mt=16-(Ee-Z);if(Z=Ee,Mt>0){if(++W>=800)return arguments[0]}else W=0;return P.apply(void 0,arguments)}}(yc.Z?function(P,W){return(0,yc.Z)(P,"toString",{configurable:!0,enumerable:!1,value:qc(W),writable:!0})}:Es),Ot=function(P,W){return Fe(mo(P,W,Es),P+"")};var xe=o(7475),ke=o(2951),Te=o(66224);const Re=function(P,W,Z){(void 0!==Z&&!(0,Te.Z)(P[W],Z)||void 0===Z&&!(W in P))&&(0,ke.Z)(P,W,Z)},en=function(W,Z,Ee){for(var Mt=-1,cn=Object(W),pr=Ee(W),Rr=pr.length;Rr--;){var ui=pr[++Mt];if(!1===Z(cn[ui],ui,cn))break}return W};var vn=o(27672),Gn=o(1044),kn=o(36889),zn=o(22595),jr=o(2172),kr=o(34654),Gr=o(18402),ci=o(6539);var Ai=o(12434),fo=o(58209),po=o(4214),No=o(46382),wo=o(11595),Vi=Function.prototype.toString,Wo=Object.prototype.hasOwnProperty,Po=Vi.call(Object);const xo=function(P){if(!(0,ci.Z)(P)||"[object Object]"!=(0,No.Z)(P))return!1;var W=(0,wo.Z)(P);if(null===W)return!0;var Z=Wo.call(W,"constructor")&&W.constructor;return"function"==typeof Z&&Z instanceof Z&&Vi.call(Z)==Po};var Ps=o(99436);const Hs=function(P,W){if(("constructor"!==W||"function"!=typeof P[W])&&"__proto__"!=W)return P[W]};var Pa=o(57640),Oa=o(76212);const Aa=function(P,W,Z,Ee,Mt,cn,pr){var Rr=Hs(P,Z),ui=Hs(W,Z),To=pr.get(ui);if(To)Re(P,Z,To);else{var Io=cn?cn(Rr,ui,Z+"",P,W,pr):void 0,os=void 0===Io;if(os){var Ta=(0,kr.Z)(ui),_l=!Ta&&(0,Ai.Z)(ui),qa=!Ta&&!_l&&(0,Ps.Z)(ui);Io=ui,Ta||_l||qa?(0,kr.Z)(Rr)?Io=Rr:function(P){return(0,ci.Z)(P)&&(0,Gr.Z)(P)}(Rr)?Io=(0,kn.Z)(Rr):_l?(os=!1,Io=(0,vn.Z)(ui,!0)):qa?(os=!1,Io=(0,Gn.Z)(ui,!0)):Io=[]:xo(ui)||(0,jr.Z)(ui)?(Io=Rr,(0,jr.Z)(Rr)?Io=function(P){return(0,Pa.Z)(P,(0,Oa.Z)(P))}(Rr):(!(0,po.Z)(Rr)||(0,fo.Z)(Rr))&&(Io=(0,zn.Z)(ui))):os=!1}os&&(pr.set(ui,Io),Mt(Io,ui,Ee,cn,pr),pr.delete(ui)),Re(P,Z,Io)}},La=function zs(P,W,Z,Ee,Mt){P!==W&&en(W,function(cn,pr){if(Mt||(Mt=new xe.Z),(0,po.Z)(cn))Aa(P,W,pr,Z,zs,Ee,Mt);else{var Rr=Ee?Ee(Hs(P,pr),cn,pr+"",P,W,Mt):void 0;void 0===Rr&&(Rr=cn),Re(P,pr,Rr)}},Oa.Z)},Ds=function ws(P,W,Z,Ee,Mt,cn){return(0,po.Z)(P)&&(0,po.Z)(W)&&(cn.set(W,P),La(P,W,void 0,ws,cn),cn.delete(W)),P};var Ws=o(28078);const Zs=function(P,W,Z){if(!(0,po.Z)(Z))return!1;var Ee=typeof W;return!!("number"==Ee?(0,Gr.Z)(Z)&&(0,Ws.Z)(W,Z.length):"string"==Ee&&W in Z)&&(0,Te.Z)(Z[W],P)},Ha=function(P){return Ot(function(W,Z){var Ee=-1,Mt=Z.length,cn=Mt>1?Z[Mt-1]:void 0,pr=Mt>2?Z[2]:void 0;for(cn=P.length>3&&"function"==typeof cn?(Mt--,cn):void 0,pr&&Zs(Z[0],Z[1],pr)&&(cn=Mt<3?void 0:cn,Mt=1),W=Object(W);++Ee<Mt;){var Rr=Z[Ee];Rr&&P(W,Rr,Ee,cn)}return W})}(function(P,W,Z,Ee){La(P,W,Z,Ee)}),Us=Ot(function(P){return P.push(void 0,Ds),fl(Ha,void 0,P)}),Zl=function(P){return"symbol"==typeof P||(0,ci.Z)(P)&&"[object Symbol]"==(0,No.Z)(P)};var lc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Va=/^\w*$/;const Oc=function(P,W){if((0,kr.Z)(P))return!1;var Z=typeof P;return!("number"!=Z&&"symbol"!=Z&&"boolean"!=Z&&null!=P&&!Zl(P))||Va.test(P)||!lc.test(P)||null!=W&&P in Object(W)};var pc=o(79489);function _a(P,W){if("function"!=typeof P||null!=W&&"function"!=typeof W)throw new TypeError("Expected a function");var Z=function(){var Ee=arguments,Mt=W?W.apply(this,Ee):Ee[0],cn=Z.cache;if(cn.has(Mt))return cn.get(Mt);var pr=P.apply(this,Ee);return Z.cache=cn.set(Mt,pr)||cn,pr};return Z.cache=new(_a.Cache||pc.Z),Z}_a.Cache=pc.Z;var ou=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xl=/\\(\\)?/g;const el=(W=_a(function(P){var W=[];return 46===P.charCodeAt(0)&&W.push(""),P.replace(ou,function(Z,Ee,Mt,cn){W.push(Mt?cn.replace(xl,"$1"):Ee||Z)}),W},function(Ee){return 500===Z.size&&Z.clear(),Ee}),Z=W.cache,W);var W,Z,tl=o(35770);const bc=function(P,W){for(var Z=-1,Ee=null==P?0:P.length,Mt=Array(Ee);++Z<Ee;)Mt[Z]=W(P[Z],Z,P);return Mt};var hc=tl.Z?tl.Z.prototype:void 0,Jl=hc?hc.toString:void 0;const yl=function nl(P){if("string"==typeof P)return P;if((0,kr.Z)(P))return bc(P,nl)+"";if(Zl(P))return Jl?Jl.call(P):"";var W=P+"";return"0"==W&&1/P==-1/0?"-0":W},p=function(P){return null==P?"":yl(P)},N=function(P,W){return(0,kr.Z)(P)?P:Oc(P,W)?[P]:el(p(P))},de=function(P){if("string"==typeof P||Zl(P))return P;var W=P+"";return"0"==W&&1/P==-1/0?"-0":W},qe=function(P,W){for(var Z=0,Ee=(W=N(W,P)).length;null!=P&&Z<Ee;)P=P[de(W[Z++])];return Z&&Z==Ee?P:void 0},_t=function(P,W,Z){var Ee=null==P?void 0:qe(P,W);return void 0===Ee?Z:Ee};var Yt=o(57765);const wn=function(P){var W=null==P?0:P.length;return W?P[W-1]:void 0},Yr=function(P,W){return W.length<2?P:qe(P,function(P,W,Z){var Ee=-1,Mt=P.length;W<0&&(W=-W>Mt?0:Mt+W),(Z=Z>Mt?Mt:Z)<0&&(Z+=Mt),Mt=W>Z?0:Z-W>>>0,W>>>=0;for(var cn=Array(Mt);++Ee<Mt;)cn[Ee]=P[Ee+W];return cn}(W,0,-1))},yo=function(P,W){return W=N(W,P),null==(P=Yr(P,W))||delete P[de(wn(W))]},Xo=function(P){return xo(P)?void 0:P};var ts=o(57052),_s=tl.Z?tl.Z.isConcatSpreadable:void 0;const Ms=function(P){return(0,kr.Z)(P)||(0,jr.Z)(P)||!!(_s&&P&&P[_s])},ya=function xs(P,W,Z,Ee,Mt){var cn=-1,pr=P.length;for(Z||(Z=Ms),Mt||(Mt=[]);++cn<pr;){var Rr=P[cn];W>0&&Z(Rr)?W>1?xs(Rr,W-1,Z,Ee,Mt):(0,ts.Z)(Mt,Rr):Ee||(Mt[Mt.length]=Rr)}return Mt},Ga=function(P){return null!=P&&P.length?ya(P,1):[]},rl=function(P){return Fe(mo(P,void 0,Ga),P+"")};var Gl=o(23359);const yt=rl(function(P,W){var Z={};if(null==P)return Z;var Ee=!1;W=bc(W,function(cn){return cn=N(cn,P),Ee||(Ee=cn.length>1),cn}),(0,Pa.Z)(P,(0,Gl.Z)(P),Z),Ee&&(Z=(0,Yt.Z)(Z,7,Xo));for(var Mt=W.length;Mt--;)yo(Z,W[Mt]);return Z}),fs=function(P,W){for(var Z=-1,Ee=null==P?0:P.length;++Z<Ee;)if(W(P[Z],Z,P))return!0;return!1};function Gu(P){var W=-1,Z=null==P?0:P.length;for(this.__data__=new pc.Z;++W<Z;)this.add(P[W])}Gu.prototype.add=Gu.prototype.push=function(P){return this.__data__.set(P,"__lodash_hash_undefined__"),this},Gu.prototype.has=function(P){return this.__data__.has(P)};const Sd=Gu,Md=function(P,W){return P.has(W)},Od=function(P,W,Z,Ee,Mt,cn){var pr=1&Z,Rr=P.length,ui=W.length;if(Rr!=ui&&!(pr&&ui>Rr))return!1;var To=cn.get(P),Io=cn.get(W);if(To&&Io)return To==W&&Io==P;var os=-1,Ta=!0,_l=2&Z?new Sd:void 0;for(cn.set(P,W),cn.set(W,P);++os<Rr;){var qa=P[os],Rl=W[os];if(Ee)var Vc=pr?Ee(Rl,qa,os,W,P,cn):Ee(qa,Rl,os,P,W,cn);if(void 0!==Vc){if(Vc)continue;Ta=!1;break}if(_l){if(!fs(W,function(jc,ed){if(!Md(_l,ed)&&(qa===jc||Mt(qa,jc,Z,Ee,cn)))return _l.push(ed)})){Ta=!1;break}}else if(qa!==Rl&&!Mt(qa,Rl,Z,Ee,cn)){Ta=!1;break}}return cn.delete(P),cn.delete(W),Ta};var Eu=o(83345);const Is=function(P){var W=-1,Z=Array(P.size);return P.forEach(function(Ee,Mt){Z[++W]=[Mt,Ee]}),Z},Nf=function(P){var W=-1,Z=Array(P.size);return P.forEach(function(Ee){Z[++W]=Ee}),Z};var ud=tl.Z?tl.Z.prototype:void 0,wd=ud?ud.valueOf:void 0;var dd=o(22018),Yc=Object.prototype.hasOwnProperty;var fd=o(81901),Ff="[object Arguments]",V="[object Array]",pe="[object Object]",K=Object.prototype.hasOwnProperty;const Rt=function(P,W,Z,Ee,Mt,cn){var pr=(0,kr.Z)(P),Rr=(0,kr.Z)(W),ui=pr?V:(0,fd.Z)(P),To=Rr?V:(0,fd.Z)(W),Io=(ui=ui==Ff?pe:ui)==pe,os=(To=To==Ff?pe:To)==pe,Ta=ui==To;if(Ta&&(0,Ai.Z)(P)){if(!(0,Ai.Z)(W))return!1;pr=!0,Io=!1}if(Ta&&!Io)return cn||(cn=new xe.Z),pr||(0,Ps.Z)(P)?Od(P,W,Z,Ee,Mt,cn):function(P,W,Z,Ee,Mt,cn,pr){switch(Z){case"[object DataView]":if(P.byteLength!=W.byteLength||P.byteOffset!=W.byteOffset)return!1;P=P.buffer,W=W.buffer;case"[object ArrayBuffer]":return!(P.byteLength!=W.byteLength||!cn(new Eu.Z(P),new Eu.Z(W)));case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,Te.Z)(+P,+W);case"[object Error]":return P.name==W.name&&P.message==W.message;case"[object RegExp]":case"[object String]":return P==W+"";case"[object Map]":var Rr=Is;case"[object Set]":if(Rr||(Rr=Nf),P.size!=W.size&&!(1&Ee))return!1;var To=pr.get(P);if(To)return To==W;Ee|=2,pr.set(P,W);var Io=Od(Rr(P),Rr(W),Ee,Mt,cn,pr);return pr.delete(P),Io;case"[object Symbol]":if(wd)return wd.call(P)==wd.call(W)}return!1}(P,W,ui,Z,Ee,Mt,cn);if(!(1&Z)){var _l=Io&&K.call(P,"__wrapped__"),qa=os&&K.call(W,"__wrapped__");if(_l||qa){var Rl=_l?P.value():P,Vc=qa?W.value():W;return cn||(cn=new xe.Z),Mt(Rl,Vc,Z,Ee,cn)}}return!!Ta&&(cn||(cn=new xe.Z),function(P,W,Z,Ee,Mt,cn){var pr=1&Z,Rr=(0,dd.Z)(P),ui=Rr.length;if(ui!=(0,dd.Z)(W).length&&!pr)return!1;for(var os=ui;os--;){var Ta=Rr[os];if(!(pr?Ta in W:Yc.call(W,Ta)))return!1}var _l=cn.get(P),qa=cn.get(W);if(_l&&qa)return _l==W&&qa==P;var Rl=!0;cn.set(P,W),cn.set(W,P);for(var Vc=pr;++os<ui;){var jc=P[Ta=Rr[os]],ed=W[Ta];if(Ee)var zf=pr?Ee(ed,jc,Ta,W,P,cn):Ee(jc,ed,Ta,P,W,cn);if(!(void 0===zf?jc===ed||Mt(jc,ed,Z,Ee,cn):zf)){Rl=!1;break}Vc||(Vc="constructor"==Ta)}if(Rl&&!Vc){var Wf=P.constructor,tu=W.constructor;Wf!=tu&&"constructor"in P&&"constructor"in W&&!("function"==typeof Wf&&Wf instanceof Wf&&"function"==typeof tu&&tu instanceof tu)&&(Rl=!1)}return cn.delete(P),cn.delete(W),Rl}(P,W,Z,Ee,Mt,cn))},Hr=function vr(P,W,Z,Ee,Mt){return P===W||(null==P||null==W||!(0,ci.Z)(P)&&!(0,ci.Z)(W)?P!=P&&W!=W:Rt(P,W,Z,Ee,vr,Mt))},us=function(P){return P==P&&!(0,po.Z)(P)};var Ks=o(6251);const al=function(P,W){return function(Z){return null!=Z&&Z[P]===W&&(void 0!==W||P in Object(Z))}},ea=function(P){var W=function(P){for(var W=(0,Ks.Z)(P),Z=W.length;Z--;){var Ee=W[Z],Mt=P[Ee];W[Z]=[Ee,Mt,us(Mt)]}return W}(P);return 1==W.length&&W[0][2]?al(W[0][0],W[0][1]):function(Z){return Z===P||function(P,W,Z,Ee){var Mt=Z.length,cn=Mt,pr=!Ee;if(null==P)return!cn;for(P=Object(P);Mt--;){var Rr=Z[Mt];if(pr&&Rr[2]?Rr[1]!==P[Rr[0]]:!(Rr[0]in P))return!1}for(;++Mt<cn;){var ui=(Rr=Z[Mt])[0],To=P[ui],Io=Rr[1];if(pr&&Rr[2]){if(void 0===To&&!(ui in P))return!1}else{var os=new xe.Z;if(Ee)var Ta=Ee(To,Io,ui,P,W,os);if(!(void 0===Ta?Hr(Io,To,3,Ee,os):Ta))return!1}}return!0}(Z,P,W)}},Ul=function(P,W){return null!=P&&W in Object(P)};var zl=o(19238);const _u=function(P,W){return null!=P&&function(P,W,Z){for(var Ee=-1,Mt=(W=N(W,P)).length,cn=!1;++Ee<Mt;){var pr=de(W[Ee]);if(!(cn=null!=P&&Z(P,pr)))break;P=P[pr]}return cn||++Ee!=Mt?cn:!!(Mt=null==P?0:P.length)&&(0,zl.Z)(Mt)&&(0,Ws.Z)(pr,Mt)&&((0,kr.Z)(P)||(0,jr.Z)(P))}(P,W,Ul)},is=function(P){return Oc(P)?function(P){return function(W){return null==W?void 0:W[P]}}(de(P)):function(P){return function(W){return qe(W,P)}}(P)},hd=function(P){return"function"==typeof P?P:null==P?Es:"object"==typeof P?(0,kr.Z)(P)?function(P,W){return Oc(P)&&us(W)?al(de(P),W):function(Z){var Ee=_t(Z,P);return void 0===Ee&&Ee===W?_u(Z,P):Hr(W,Ee,3)}}(P[0],P[1]):ea(P):is(P)},_d=function(Z,Ee){if(null==Z)return Z;if(!(0,Gr.Z)(Z))return function(P,W){return P&&en(P,W,Ks.Z)}(Z,Ee);for(var Mt=Z.length,cn=-1,pr=Object(Z);++cn<Mt&&!1!==Ee(pr[cn],cn,pr););return Z},Mu=function(P,W){var Z;return _d(P,function(Ee,Mt,cn){return!(Z=W(Ee,Mt,cn))}),!!Z},lu=function(P,W){for(var Z=-1,Ee=null==P?0:P.length;++Z<Ee;)if(!W(P[Z],Z,P))return!1;return!0},Bd=function(P,W){var Z=!0;return _d(P,function(Ee,Mt,cn){return Z=!!W(Ee,Mt,cn)}),Z},uf=function(P){return P&&P.length?P[0]:void 0},df=function(P){for(var W=-1,Z=null==P?0:P.length,Ee=0,Mt=[];++W<Z;){var cn=P[W];cn&&(Mt[Ee++]=cn)}return Mt},sp=function(P,W,Z,Ee){for(var Mt=P.length,cn=Z+(Ee?1:-1);Ee?cn--:++cn<Mt;)if(W(P[cn],cn,P))return cn;return-1};var mu=/\s/;var $f=/^\s+/;const vd=function(P){return P&&P.slice(0,function(P){for(var W=P.length;W--&&mu.test(P.charAt(W)););return W}(P)+1).replace($f,"")};var Ou=/^[-+]0x[0-9a-f]+$/i,eu=/^0b[01]+$/i,pf=/^0o[0-7]+$/i,Yd=parseInt;const Mp=function(P){if("number"==typeof P)return P;if(Zl(P))return NaN;if((0,po.Z)(P)){var W="function"==typeof P.valueOf?P.valueOf():P;P=(0,po.Z)(W)?W+"":W}if("string"!=typeof P)return 0===P?P:+P;P=vd(P);var Z=eu.test(P);return Z||pf.test(P)?Yd(P.slice(2),Z?2:8):Ou.test(P)?NaN:+P},Hc=function(P){var W=function(P){return P?1/0===(P=Mp(P))||-1/0===P?17976931348623157e292*(P<0?-1:1):P==P?P:0:0===P?P:0}(P),Z=W%1;return W==W?Z?W-Z:W:0};var Zd=Math.max;const bd=function(W,Z,Ee){var Mt=Object(W);if(!(0,Gr.Z)(W)){var cn=hd(Z);W=(0,Ks.Z)(W),Z=function(Rr){return cn(Mt[Rr],Rr,Mt)}}var pr=function(P,W,Z){var Ee=null==P?0:P.length;if(!Ee)return-1;var Mt=null==Z?0:Hc(Z);return Mt<0&&(Mt=Zd(Ee+Mt,0)),sp(P,hd(W),Mt)}(W,Z,Ee);return pr>-1?Mt[cn?W[pr]:pr]:void 0},Mc=function(P){return"string"==typeof P||!(0,kr.Z)(P)&&(0,ci.Z)(P)&&"[object String]"==(0,No.Z)(P)};var Iu=o(40309);const Dd=function(){return Iu.Z.Date.now()};var Zp=Math.max,Bf=Math.min;const xd=function(P,W,Z){var Ee=!0,Mt=!0;if("function"!=typeof P)throw new TypeError("Expected a function");return(0,po.Z)(Z)&&(Ee="leading"in Z?!!Z.leading:Ee,Mt="trailing"in Z?!!Z.trailing:Mt),function(P,W,Z){var Ee,Mt,cn,pr,Rr,ui,To=0,Io=!1,os=!1,Ta=!0;if("function"!=typeof P)throw new TypeError("Expected a function");function _l(vc){var td=Ee,Al=Mt;return Ee=Mt=void 0,To=vc,pr=P.apply(Al,td)}function qa(vc){return To=vc,Rr=setTimeout(jc,W),Io?_l(vc):pr}function Vc(vc){var td=vc-ui;return void 0===ui||td>=W||td<0||os&&vc-To>=cn}function jc(){var vc=Dd();if(Vc(vc))return ed(vc);Rr=setTimeout(jc,function(vc){var rc=W-(vc-ui);return os?Bf(rc,cn-(vc-To)):rc}(vc))}function ed(vc){return Rr=void 0,Ta&&Ee?_l(vc):(Ee=Mt=void 0,pr)}function tu(){var vc=Dd(),td=Vc(vc);if(Ee=arguments,Mt=this,ui=vc,td){if(void 0===Rr)return qa(ui);if(os)return clearTimeout(Rr),Rr=setTimeout(jc,W),_l(ui)}return void 0===Rr&&(Rr=setTimeout(jc,W)),pr}return W=Mp(W)||0,(0,po.Z)(Z)&&(Io=!!Z.leading,cn=(os="maxWait"in Z)?Zp(Mp(Z.maxWait)||0,W):cn,Ta="trailing"in Z?!!Z.trailing:Ta),tu.cancel=function(){void 0!==Rr&&clearTimeout(Rr),To=0,Ee=ui=Mt=Rr=void 0},tu.flush=function(){return void 0===Rr?pr:ed(Dd())},tu}(P,W,{leading:Ee,maxWait:W,trailing:Mt})},Zf=function(P){return P!=P},Pe=function(P){return null==P?[]:function(P,W){return bc(W,function(Z){return P[Z]})}(P,(0,Ks.Z)(P))};var tt=Math.max;const bn=function(P,W,Z,Ee){P=(0,Gr.Z)(P)?P:Pe(P),Z=Z&&!Ee?Hc(Z):0;var Mt=P.length;return Z<0&&(Z=tt(Mt+Z,0)),Mc(P)?Z<=Mt&&P.indexOf(W,Z)>-1:!!Mt&&function(P,W,Z){return W==W?function(P,W,Z){for(var Ee=Z-1,Mt=P.length;++Ee<Mt;)if(P[Ee]===W)return Ee;return-1}(P,W,Z):sp(P,Zf,Z)}(P,W,Z)>-1};var rr=o(15427);const qr=function(P,W,Z,Ee){if(!(0,po.Z)(P))return P;for(var Mt=-1,cn=(W=N(W,P)).length,pr=cn-1,Rr=P;null!=Rr&&++Mt<cn;){var ui=de(W[Mt]),To=Z;if("__proto__"===ui||"constructor"===ui||"prototype"===ui)return P;if(Mt!=pr){var Io=Rr[ui];void 0===(To=Ee?Ee(Io,ui,Rr):void 0)&&(To=(0,po.Z)(Io)?Io:(0,Ws.Z)(W[Mt+1])?[]:{})}(0,rr.Z)(Rr,ui,To),Rr=Rr[ui]}return P},gs=function(P,W){return function(P,W,Z){for(var Ee=-1,Mt=W.length,cn={};++Ee<Mt;){var pr=W[Ee],Rr=qe(P,pr);Z(Rr,pr)&&qr(cn,N(pr,P),Rr)}return cn}(P,W,function(Z,Ee){return _u(P,Ee)})},Vs=rl(function(P,W){return null==P?{}:gs(P,W)});function oi(P,W){1&P&&(t.TgZ(0,"span"),t._uU(1,"loading..."),t.qZA())}const Wr=function(P){return{$implicit:P}};function ti(P,W){if(1&P&&(t.ynx(0),t.TgZ(1,"div"),t.Hsn(2),t.qZA(),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Udp("height",Z.getTotalHeight())}}const Gi=function(){return{dontDetach:!0}},ro=["*"],ia=["loadingTemplate"],ps=["treeNodeTemplate"],la=["treeNodeWrapperTemplate"],Fa=["treeNodeFullTemplate"],Gs=["viewport"],Tl=function(P,W,Z,Ee){return{loadingTemplate:P,treeNodeTemplate:W,treeNodeWrapperTemplate:Z,treeNodeFullTemplate:Ee}};function Vp(P,W){if(1&P&&t._UZ(0,"tree-node-collection",4),2&P){const Z=t.oxw();t.Q6J("nodes",Z.treeModel.roots)("treeModel",Z.treeModel)("templates",t.l5B(3,Tl,Z.loadingTemplate,Z.treeNodeTemplate,Z.treeNodeWrapperTemplate,Z.treeNodeFullTemplate))}}function bh(P,W){if(1&P&&t._UZ(0,"tree-node-drop-slot",5),2&P){const Z=t.oxw();t.Q6J("dropIndex",0)("node",Z.treeModel.virtualRoot)}}function o_(P,W){if(1&P&&t._UZ(0,"tree-node-drop-slot",6),2&P){const Z=t.oxw(3);t.Q6J("dropIndex",Z.node.index)("node",Z.node.parent)}}function s_(P,W){if(1&P&&(t.TgZ(0,"div"),t.YNc(1,o_,1,2,"tree-node-drop-slot",3),t._UZ(2,"tree-node-wrapper",4),t._UZ(3,"tree-node-children",5),t._UZ(4,"tree-node-drop-slot",6),t.qZA()),2&P){const Z=t.oxw(2);t.Tol(Z.node.getClass()),t.ekj("tree-node",!0)("tree-node-expanded",Z.node.isExpanded&&Z.node.hasChildren)("tree-node-collapsed",Z.node.isCollapsed&&Z.node.hasChildren)("tree-node-leaf",Z.node.isLeaf)("tree-node-active",Z.node.isActive)("tree-node-focused",Z.node.isFocused),t.xp6(1),t.Q6J("ngIf",0===Z.index),t.xp6(1),t.Q6J("node",Z.node)("index",Z.index)("templates",Z.templates),t.xp6(1),t.Q6J("node",Z.node)("templates",Z.templates),t.xp6(1),t.Q6J("dropIndex",Z.node.index+1)("node",Z.node.parent)}}const Lu=function(P,W,Z,Ee){return{$implicit:P,node:W,index:Z,templates:Ee}};function a_(P,W){if(1&P&&(t.ynx(0),t.YNc(1,s_,5,22,"div",1),t.GkF(2,2),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Q6J("ngIf",!Z.templates.treeNodeFullTemplate),t.xp6(1),t.Q6J("ngTemplateOutlet",Z.templates.treeNodeFullTemplate)("ngTemplateOutletContext",t.l5B(3,Lu,Z.node,Z.node,Z.index,Z.templates))}}function Eh(P,W){if(1&P&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&P){const Z=t.oxw();t.xp6(1),t.Oqu(Z.node.displayField)}}const l_=function(P,W,Z){return{$implicit:P,node:W,index:Z}};function c_(P,W){if(1&P){const Z=t.EpF();t.TgZ(0,"span",3),t.NdJ("click",function(Mt){return t.CHM(Z),t.oxw(2).node.mouseAction("expanderClick",Mt)}),t._UZ(1,"span",4),t.qZA()}if(2&P){const Z=t.oxw(2);t.ekj("toggle-children-wrapper-expanded",Z.node.isExpanded)("toggle-children-wrapper-collapsed",Z.node.isCollapsed)}}function u_(P,W){1&P&&t._UZ(0,"span",5)}function d_(P,W){if(1&P&&(t.ynx(0),t.YNc(1,c_,2,4,"span",1),t.YNc(2,u_,1,0,"span",2),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Q6J("ngIf",Z.node.hasChildren),t.xp6(1),t.Q6J("ngIf",!Z.node.hasChildren)}}function Th(P,W){if(1&P&&t._UZ(0,"tree-node-collection",4),2&P){const Z=t.oxw(3);t.Q6J("nodes",Z.node.children)("templates",Z.templates)("treeModel",Z.node.treeModel)}}function Gp(P,W){if(1&P&&t._UZ(0,"tree-loading-component",5),2&P){const Z=t.oxw(3);t.Udp("padding-left",Z.node.getNodePadding()),t.Q6J("template",Z.templates.loadingTemplate)("node",Z.node)}}function Ch(P,W){if(1&P&&(t.TgZ(0,"div"),t.YNc(1,Th,1,3,"tree-node-collection",2),t.YNc(2,Gp,1,4,"tree-loading-component",3),t.qZA()),2&P){const Z=t.oxw(2);t.ekj("tree-children",!0)("tree-children-no-padding",Z.node.options.levelPadding),t.xp6(1),t.Q6J("ngIf",Z.node.children),t.xp6(1),t.Q6J("ngIf",!Z.node.children)}}function f_(P,W){if(1&P&&(t.ynx(0),t.YNc(1,Ch,3,6,"div",1),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Q6J("treeAnimateOpen",Z.node.isExpanded)("treeAnimateOpenSpeed",Z.node.options.animateSpeed)("treeAnimateOpenAcceleration",Z.node.options.animateAcceleration)("treeAnimateOpenEnabled",Z.node.options.animateExpand)}}function ca(P,W){if(1&P&&t._UZ(0,"tree-node",2),2&P){const Z=W.$implicit,Ee=W.index,Mt=t.oxw(2);t.Q6J("node",Z)("index",Ee)("templates",Mt.templates)}}function Sh(P,W){if(1&P&&(t.ynx(0),t.TgZ(1,"div"),t.YNc(2,ca,1,3,"tree-node",1),t.qZA(),t.BQk()),2&P){const Z=t.oxw();t.xp6(1),t.Udp("margin-top",Z.marginTop),t.xp6(1),t.Q6J("ngForOf",Z.viewportNodes)("ngForTrackBy",Z.trackNode)}}function Mh(P,W){if(1&P&&t._UZ(0,"tree-node-checkbox",4),2&P){const Z=t.oxw(2);t.Q6J("node",Z.node)}}function wp(P,W){if(1&P){const Z=t.EpF();t.TgZ(0,"div",2),t.YNc(1,Mh,1,1,"tree-node-checkbox",3),t._UZ(2,"tree-node-expander",4),t.TgZ(3,"div",5),t.NdJ("click",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("click",Mt)})("dblclick",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("dblClick",Mt)})("mouseover",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("mouseOver",Mt)})("mouseout",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("mouseOut",Mt)})("contextmenu",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("contextMenu",Mt)})("treeDrop",function(Mt){return t.CHM(Z),t.oxw().node.onDrop(Mt)})("treeDropDragOver",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("dragOver",Mt)})("treeDropDragLeave",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("dragLeave",Mt)})("treeDropDragEnter",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("dragEnter",Mt)}),t._UZ(4,"tree-node-content",6),t.qZA(),t.qZA()}if(2&P){const Z=t.oxw();t.Udp("padding-left",Z.node.getNodePadding()),t.xp6(1),t.Q6J("ngIf",Z.node.options.useCheckbox),t.xp6(1),t.Q6J("node",Z.node),t.xp6(1),t.ekj("node-content-wrapper-active",Z.node.isActive)("node-content-wrapper-focused",Z.node.isFocused),t.Q6J("treeAllowDrop",Z.node.allowDrop)("allowDragoverStyling",Z.node.allowDragoverStyling())("treeDrag",Z.node)("treeDragEnabled",Z.node.allowDrag()),t.xp6(1),t.Q6J("node",Z.node)("index",Z.index)("template",Z.templates.treeNodeTemplate)}}function Ju(P,W){if(1&P){const Z=t.EpF();t.ynx(0),t.TgZ(1,"input",1),t.NdJ("click",function(Mt){return t.CHM(Z),t.oxw().node.mouseAction("checkboxClick",Mt)}),t.qZA(),t.BQk()}if(2&P){const Z=t.oxw();t.xp6(1),t.Q6J("checked",Z.node.isSelected)("indeterminate",Z.node.isPartiallySelected)}}let mf=(()=>{class P{constructor(Z,Ee){this.templateRef=Z,this.viewContainer=Ee,this.templateBindings={}}ngOnInit(){this.view=this.viewContainer.createEmbeddedView(this.templateRef),this.dispose&&this.dispose(),this.shouldDetach()&&this.view.detach(),this.autoDetect(this.view)}shouldDetach(){return this.treeMobxAutorun&&this.treeMobxAutorun.detach}autoDetect(Z){this.dispose=$r(()=>Z.detectChanges())}ngOnDestroy(){this.dispose&&this.dispose()}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.Rgc),t.Y36(t.s_b))},P.\u0275dir=t.lG2({type:P,selectors:[["","treeMobxAutorun",""]],inputs:{treeMobxAutorun:"treeMobxAutorun"}}),P})();const Fu={TOGGLE_ACTIVE:(P,W,Z)=>W&&W.toggleActivated(),TOGGLE_ACTIVE_MULTI:(P,W,Z)=>W&&W.toggleActivated(!0),TOGGLE_SELECTED:(P,W,Z)=>W&&W.toggleSelected(),ACTIVATE:(P,W,Z)=>W.setIsActive(!0),DEACTIVATE:(P,W,Z)=>W.setIsActive(!1),SELECT:(P,W,Z)=>W.setIsSelected(!0),DESELECT:(P,W,Z)=>W.setIsSelected(!1),FOCUS:(P,W,Z)=>W.focus(),TOGGLE_EXPANDED:(P,W,Z)=>W.hasChildren&&W.toggleExpanded(),EXPAND:(P,W,Z)=>W.expand(),COLLAPSE:(P,W,Z)=>W.collapse(),DRILL_DOWN:(P,W,Z)=>P.focusDrillDown(),DRILL_UP:(P,W,Z)=>P.focusDrillUp(),NEXT_NODE:(P,W,Z)=>P.focusNextNode(),PREVIOUS_NODE:(P,W,Z)=>P.focusPreviousNode(),MOVE_NODE:(P,W,Z,{from:Ee,to:Mt})=>{Z.ctrlKey?P.copyNode(Ee,Mt):P.moveNode(Ee,Mt)}},wh={mouse:{click:Fu.TOGGLE_ACTIVE,dblClick:null,contextMenu:null,expanderClick:Fu.TOGGLE_EXPANDED,checkboxClick:Fu.TOGGLE_SELECTED,drop:Fu.MOVE_NODE},keys:{39:Fu.DRILL_DOWN,37:Fu.DRILL_UP,40:Fu.NEXT_NODE,38:Fu.PREVIOUS_NODE,32:Fu.TOGGLE_ACTIVE,13:Fu.TOGGLE_ACTIVE}};class Jp{constructor(W={}){this.options=W,this.actionMapping=Us({},this.options.actionMapping,wh),W.rtl&&(this.actionMapping.keys[39]=_t(W,["actionMapping","keys",39])||Fu.DRILL_UP,this.actionMapping.keys[37]=_t(W,["actionMapping","keys",37])||Fu.DRILL_DOWN)}get hasChildrenField(){return this.options.hasChildrenField||"hasChildren"}get childrenField(){return this.options.childrenField||"children"}get displayField(){return this.options.displayField||"name"}get idField(){return this.options.idField||"id"}get isExpandedField(){return this.options.isExpandedField||"isExpanded"}get getChildren(){return this.options.getChildren}get levelPadding(){return this.options.levelPadding||0}get useVirtualScroll(){return this.options.useVirtualScroll}get animateExpand(){return this.options.animateExpand}get animateSpeed(){return this.options.animateSpeed||1}get animateAcceleration(){return this.options.animateAcceleration||1.2}get scrollOnActivate(){return void 0===this.options.scrollOnActivate||this.options.scrollOnActivate}get rtl(){return!!this.options.rtl}get rootId(){return this.options.rootId}get useCheckbox(){return this.options.useCheckbox}get useTriState(){return void 0===this.options.useTriState||this.options.useTriState}get scrollContainer(){return this.options.scrollContainer}get allowDragoverStyling(){return void 0===this.options.allowDragoverStyling||this.options.allowDragoverStyling}getNodeClone(W){return this.options.getNodeClone?this.options.getNodeClone(W):yt(Object.assign({},W.data),["id"])}allowDrop(W,Z,Ee){return this.options.allowDrop instanceof Function?this.options.allowDrop(W,Z,Ee):void 0===this.options.allowDrop||this.options.allowDrop}allowDrag(W){return this.options.allowDrag instanceof Function?this.options.allowDrag(W):this.options.allowDrag}nodeClass(W){return this.options.nodeClass?this.options.nodeClass(W):""}nodeHeight(W){if(W.data.virtual)return 0;let Z=this.options.nodeHeight||22;return"function"==typeof Z&&(Z=Z(W)),Z+(0===W.index?2:1)*this.dropSlotHeight}get dropSlotHeight(){return function(P){return"number"==typeof P||(0,ci.Z)(P)&&"[object Number]"==(0,No.Z)(P)}(this.options.dropSlotHeight)?this.options.dropSlotHeight:2}}const nc={toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",initialized:"initialized",updateData:"updateData",moveNode:"moveNode",copyNode:"copyNode",event:"event",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",stateChange:"stateChange"};var uu=function(P,W,Z,Ee){var pr,Mt=arguments.length,cn=Mt<3?W:null===Ee?Ee=Object.getOwnPropertyDescriptor(W,Z):Ee;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)cn=Reflect.decorate(P,W,Z,Ee);else for(var Rr=P.length-1;Rr>=0;Rr--)(pr=P[Rr])&&(cn=(Mt<3?pr(cn):Mt>3?pr(W,Z,cn):pr(W,Z))||cn);return Mt>3&&cn&&Object.defineProperty(W,Z,cn),cn},Cl=function(P,W){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(P,W)};let y_=(()=>{class P{constructor(Z,Ee,Mt,cn){this.data=Z,this.parent=Ee,this.treeModel=Mt,this.position=0,this.allowDrop=(pr,Rr)=>this.options.allowDrop(pr,{parent:this,index:0},Rr),this.allowDragoverStyling=()=>this.options.allowDragoverStyling,null==this.id&&(this.id=Math.floor(1e13*Math.random())),this.index=cn,this.getField("children")&&this._initChildren(),this.autoLoadChildren()}get isHidden(){return this.treeModel.isHidden(this)}get isExpanded(){return this.treeModel.isExpanded(this)}get isActive(){return this.treeModel.isActive(this)}get isFocused(){return this.treeModel.isNodeFocused(this)}get isSelected(){return this.isSelectable()?this.treeModel.isSelected(this):function(P,W,Z){var Ee=(0,kr.Z)(P)?fs:Mu;return Z&&Zs(P,W,Z)&&(W=void 0),Ee(P,hd(W))}(this.children,Z=>Z.isSelected)}get isAllSelected(){return this.isSelectable()?this.treeModel.isSelected(this):function(P,W,Z){var Ee=(0,kr.Z)(P)?lu:Bd;return Z&&Zs(P,W,Z)&&(W=void 0),Ee(P,hd(W))}(this.children,Z=>Z.isAllSelected)}get isPartiallySelected(){return this.isSelected&&!this.isAllSelected}get level(){return this.parent?this.parent.level+1:0}get path(){return this.parent?[...this.parent.path,this.id]:[]}get elementRef(){throw"Element Ref is no longer supported since introducing virtual scroll\n\n You may use a template to obtain a reference to the element"}get originalNode(){return this._originalNode}get hasChildren(){return!!(this.getField("hasChildren")||this.children&&this.children.length>0)}get isCollapsed(){return!this.isExpanded}get isLeaf(){return!this.hasChildren}get isRoot(){return this.parent.data.virtual}get realParent(){return this.isRoot?null:this.parent}get options(){return this.treeModel.options}fireEvent(Z){this.treeModel.fireEvent(Z)}get displayField(){return this.getField("display")}get id(){return this.getField("id")}set id(Z){this.setField("id",Z)}getField(Z){return this.data[this.options[`${Z}Field`]]}setField(Z,Ee){this.data[this.options[`${Z}Field`]]=Ee}_findAdjacentSibling(Z,Ee=!1){const Mt=this._getParentsChildren(Ee),cn=Mt.indexOf(this);return Mt.length>cn+Z?Mt[cn+Z]:null}findNextSibling(Z=!1){return this._findAdjacentSibling(1,Z)}findPreviousSibling(Z=!1){return this._findAdjacentSibling(-1,Z)}getVisibleChildren(){return this.visibleChildren}get visibleChildren(){return(this.children||[]).filter(Z=>!Z.isHidden)}getFirstChild(Z=!1){return uf((Z?this.visibleChildren:this.children)||[])}getLastChild(Z=!1){return wn((Z?this.visibleChildren:this.children)||[])}findNextNode(Z=!0,Ee=!1){return Z&&this.isExpanded&&this.getFirstChild(Ee)||this.findNextSibling(Ee)||this.parent&&this.parent.findNextNode(!1,Ee)}findPreviousNode(Z=!1){let Ee=this.findPreviousSibling(Z);return Ee?Ee._getLastOpenDescendant(Z):this.realParent}_getLastOpenDescendant(Z=!1){const Ee=this.getLastChild(Z);return this.isCollapsed||!Ee?this:Ee._getLastOpenDescendant(Z)}_getParentsChildren(Z=!1){return this.parent&&(Z?this.parent.getVisibleChildren():this.parent.children)||[]}getIndexInParent(Z=!1){return this._getParentsChildren(Z).indexOf(this)}isDescendantOf(Z){return this===Z||this.parent&&this.parent.isDescendantOf(Z)}getNodePadding(){return this.options.levelPadding*(this.level-1)+"px"}getClass(){return[this.options.nodeClass(this),`tree-node-level-${this.level}`].join(" ")}onDrop(Z){this.mouseAction("drop",Z.event,{from:Z.element,to:{parent:this,index:0,dropOnNode:!0}})}allowDrag(){return this.options.allowDrag(this)}loadNodeChildren(){return this.options.getChildren?Promise.resolve(this.options.getChildren(this)).then(Z=>{Z&&(this.setField("children",Z),this._initChildren(),this.options.useTriState&&this.treeModel.isSelected(this)&&this.setIsSelected(!0),this.children.forEach(Ee=>{Ee.getField("isExpanded")&&Ee.hasChildren&&Ee.expand()}))}).then(()=>{this.fireEvent({eventName:nc.loadNodeChildren,node:this})}):Promise.resolve()}expand(){return this.isExpanded||this.toggleExpanded(),this}collapse(){return this.isExpanded&&this.toggleExpanded(),this}doForAll(Z){Promise.resolve(Z(this)).then(()=>{this.children&&this.children.forEach(Ee=>Ee.doForAll(Z))})}expandAll(){this.doForAll(Z=>Z.expand())}collapseAll(){this.doForAll(Z=>Z.collapse())}ensureVisible(){return this.realParent&&(this.realParent.expand(),this.realParent.ensureVisible()),this}toggleExpanded(){return this.setIsExpanded(!this.isExpanded),this}setIsExpanded(Z){return this.hasChildren&&this.treeModel.setExpandedNode(this,Z),this}autoLoadChildren(){this.handler=Do(()=>this.isExpanded,Z=>{!this.children&&this.hasChildren&&Z&&this.loadNodeChildren()},{fireImmediately:!0})}dispose(){this.children&&this.children.forEach(Z=>Z.dispose()),this.handler&&this.handler(),this.parent=null,this.children=null}setIsActive(Z,Ee=!1){return this.treeModel.setActiveNode(this,Z,Ee),Z&&this.focus(this.options.scrollOnActivate),this}isSelectable(){return this.isLeaf||!this.children||!this.options.useTriState}setIsSelected(Z){return this.isSelectable()?this.treeModel.setSelectedNode(this,Z):this.visibleChildren.forEach(Ee=>Ee.setIsSelected(Z)),this}toggleSelected(){return this.setIsSelected(!this.isSelected),this}toggleActivated(Z=!1){return this.setIsActive(!this.isActive,Z),this}setActiveAndVisible(Z=!1){return this.setIsActive(!0,Z).ensureVisible(),setTimeout(this.scrollIntoView.bind(this)),this}scrollIntoView(Z=!1){this.treeModel.virtualScroll.scrollIntoView(this,Z)}focus(Z=!0){let Ee=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(this),Z&&this.scrollIntoView(),Ee&&this.fireEvent({eventName:nc.blur,node:Ee}),this.fireEvent({eventName:nc.focus,node:this}),this}blur(){let Z=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(null),Z&&this.fireEvent({eventName:nc.blur,node:this}),this}setIsHidden(Z){this.treeModel.setIsHidden(this,Z)}hide(){this.setIsHidden(!0)}show(){this.setIsHidden(!1)}mouseAction(Z,Ee,Mt=null){this.treeModel.setFocus(!0);const pr=this.options.actionMapping.mouse[Z];pr&&pr(this.treeModel,this,Ee,Mt)}getSelfHeight(){return this.options.nodeHeight(this)}_initChildren(){this.children=this.getField("children").map((Z,Ee)=>new P(Z,this,this.treeModel,Ee))}}return uu([jt,Cl("design:type",Object),Cl("design:paramtypes",[])],P.prototype,"isHidden",null),uu([jt,Cl("design:type",Object),Cl("design:paramtypes",[])],P.prototype,"isExpanded",null),uu([jt,Cl("design:type",Object),Cl("design:paramtypes",[])],P.prototype,"isActive",null),uu([jt,Cl("design:type",Object),Cl("design:paramtypes",[])],P.prototype,"isFocused",null),uu([jt,Cl("design:type",Object),Cl("design:paramtypes",[])],P.prototype,"isSelected",null),uu([jt,Cl("design:type",Object),Cl("design:paramtypes",[])],P.prototype,"isAllSelected",null),uu([jt,Cl("design:type",Object),Cl("design:paramtypes",[])],P.prototype,"isPartiallySelected",null),uu([mt,Cl("design:type",Array)],P.prototype,"children",void 0),uu([mt,Cl("design:type",Number)],P.prototype,"index",void 0),uu([mt,Cl("design:type",Object)],P.prototype,"position",void 0),uu([mt,Cl("design:type",Number)],P.prototype,"height",void 0),uu([jt,Cl("design:type",Number),Cl("design:paramtypes",[])],P.prototype,"level",null),uu([jt,Cl("design:type",Array),Cl("design:paramtypes",[])],P.prototype,"path",null),uu([jt,Cl("design:type",Object),Cl("design:paramtypes",[])],P.prototype,"visibleChildren",null),uu([ee,Cl("design:type",Function),Cl("design:paramtypes",[Object]),Cl("design:returntype",void 0)],P.prototype,"setIsSelected",null),uu([ee,Cl("design:type",Function),Cl("design:paramtypes",[]),Cl("design:returntype",void 0)],P.prototype,"_initChildren",null),P})();var ll=function(P,W,Z,Ee){var pr,Mt=arguments.length,cn=Mt<3?W:null===Ee?Ee=Object.getOwnPropertyDescriptor(W,Z):Ee;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)cn=Reflect.decorate(P,W,Z,Ee);else for(var Rr=P.length-1;Rr>=0;Rr--)(pr=P[Rr])&&(cn=(Mt<3?pr(cn):Mt>3?pr(W,Z,cn):pr(W,Z))||cn);return Mt>3&&cn&&Object.defineProperty(W,Z,cn),cn},ko=function(P,W){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(P,W)};let Wa=(()=>{class P{constructor(){this.options=new Jp,this.eventNames=Object.keys(nc),this.expandedNodeIds={},this.selectedLeafNodeIds={},this.activeNodeIds={},this.hiddenNodeIds={},this.focusedNodeId=null,this.firstUpdate=!0,this.subscriptions=[]}fireEvent(Z){Z.treeModel=this,this.events[Z.eventName].emit(Z),this.events.event.emit(Z)}subscribe(Z,Ee){const Mt=this.events[Z].subscribe(Ee);this.subscriptions.push(Mt)}getFocusedNode(){return this.focusedNode}getActiveNode(){return this.activeNodes[0]}getActiveNodes(){return this.activeNodes}getVisibleRoots(){return this.virtualRoot.visibleChildren}getFirstRoot(Z=!1){return uf(Z?this.getVisibleRoots():this.roots)}getLastRoot(Z=!1){return wn(Z?this.getVisibleRoots():this.roots)}get isFocused(){return P.focusedTree===this}isNodeFocused(Z){return this.focusedNode===Z}isEmptyTree(){return this.roots&&0===this.roots.length}get focusedNode(){return this.focusedNodeId?this.getNodeById(this.focusedNodeId):null}get expandedNodes(){const Z=Object.keys(this.expandedNodeIds).filter(Ee=>this.expandedNodeIds[Ee]).map(Ee=>this.getNodeById(Ee));return df(Z)}get activeNodes(){const Z=Object.keys(this.activeNodeIds).filter(Ee=>this.activeNodeIds[Ee]).map(Ee=>this.getNodeById(Ee));return df(Z)}get hiddenNodes(){const Z=Object.keys(this.hiddenNodeIds).filter(Ee=>this.hiddenNodeIds[Ee]).map(Ee=>this.getNodeById(Ee));return df(Z)}get selectedLeafNodes(){const Z=Object.keys(this.selectedLeafNodeIds).filter(Ee=>this.selectedLeafNodeIds[Ee]).map(Ee=>this.getNodeById(Ee));return df(Z)}getNodeByPath(Z,Ee=null){if(!Z)return null;if(Ee=Ee||this.virtualRoot,0===Z.length)return Ee;if(!Ee.children)return null;const Mt=Z.shift(),cn=bd(Ee.children,{id:Mt});return cn?this.getNodeByPath(Z,cn):null}getNodeById(Z){const Ee=Z.toString();return this.getNodeBy(Mt=>Mt.id.toString()===Ee)}getNodeBy(Z,Ee=null){if(!(Ee=Ee||this.virtualRoot).children)return null;const Mt=bd(Ee.children,Z);if(Mt)return Mt;for(let cn of Ee.children){const pr=this.getNodeBy(Z,cn);if(pr)return pr}}isExpanded(Z){return this.expandedNodeIds[Z.id]}isHidden(Z){return this.hiddenNodeIds[Z.id]}isActive(Z){return this.activeNodeIds[Z.id]}isSelected(Z){return this.selectedLeafNodeIds[Z.id]}ngOnDestroy(){this.dispose(),this.unsubscribeAll()}dispose(){this.virtualRoot&&this.virtualRoot.dispose()}unsubscribeAll(){this.subscriptions.forEach(Z=>Z.unsubscribe()),this.subscriptions=[]}setData({nodes:Z,options:Ee=null,events:Mt=null}){Ee&&(this.options=new Jp(Ee)),Mt&&(this.events=Mt),Z&&(this.nodes=Z),this.update()}update(){let Z={id:this.options.rootId,virtual:!0,[this.options.childrenField]:this.nodes};this.dispose(),this.virtualRoot=new y_(Z,null,this,0),this.roots=this.virtualRoot.children,this.firstUpdate?this.roots&&(this.firstUpdate=!1,this._calculateExpandedNodes()):this.fireEvent({eventName:nc.updateData})}setFocusedNode(Z){this.focusedNodeId=Z?Z.id:null}setFocus(Z){P.focusedTree=Z?this:null}doForAll(Z){this.roots.forEach(Ee=>Ee.doForAll(Z))}focusNextNode(){let Z=this.getFocusedNode(),Ee=Z?Z.findNextNode(!0,!0):this.getFirstRoot(!0);Ee&&Ee.focus()}focusPreviousNode(){let Z=this.getFocusedNode(),Ee=Z?Z.findPreviousNode(!0):this.getLastRoot(!0);Ee&&Ee.focus()}focusDrillDown(){let Z=this.getFocusedNode();if(Z&&Z.isCollapsed&&Z.hasChildren)Z.toggleExpanded();else{let Ee=Z?Z.getFirstChild(!0):this.getFirstRoot(!0);Ee&&Ee.focus()}}focusDrillUp(){let Z=this.getFocusedNode();if(Z)if(Z.isExpanded)Z.toggleExpanded();else{let Ee=Z.realParent;Ee&&Ee.focus()}}setActiveNode(Z,Ee,Mt=!1){Mt?this._setActiveNodeMulti(Z,Ee):this._setActiveNodeSingle(Z,Ee),Ee?(Z.focus(this.options.scrollOnActivate),this.fireEvent({eventName:nc.activate,node:Z}),this.fireEvent({eventName:nc.nodeActivate,node:Z})):(this.fireEvent({eventName:nc.deactivate,node:Z}),this.fireEvent({eventName:nc.nodeDeactivate,node:Z}))}setSelectedNode(Z,Ee){this.selectedLeafNodeIds=Object.assign({},this.selectedLeafNodeIds,{[Z.id]:Ee}),Ee?(Z.focus(),this.fireEvent({eventName:nc.select,node:Z})):this.fireEvent({eventName:nc.deselect,node:Z})}setExpandedNode(Z,Ee){this.expandedNodeIds=Object.assign({},this.expandedNodeIds,{[Z.id]:Ee}),this.fireEvent({eventName:nc.toggleExpanded,node:Z,isExpanded:Ee})}expandAll(){this.roots.forEach(Z=>Z.expandAll())}collapseAll(){this.roots.forEach(Z=>Z.collapseAll())}setIsHidden(Z,Ee){this.hiddenNodeIds=Object.assign({},this.hiddenNodeIds,{[Z.id]:Ee})}setHiddenNodeIds(Z){this.hiddenNodeIds=Z.reduce((Ee,Mt)=>Object.assign(Ee,{[Mt]:!0}),{})}performKeyAction(Z,Ee){const Mt=this.options.actionMapping.keys[Ee.keyCode];return!!Mt&&(Ee.preventDefault(),Mt(this,Z,Ee),!0)}filterNodes(Z,Ee=!0){let Mt;if(!Z)return this.clearFilter();if(Mc(Z))Mt=pr=>-1!==pr.displayField.toLowerCase().indexOf(Z.toLowerCase());else{if(!(0,fo.Z)(Z))return console.error("Don't know what to do with filter",Z),void console.error("Should be either a string or function");Mt=Z}const cn={};this.roots.forEach(pr=>this._filterNode(cn,pr,Mt,Ee)),this.hiddenNodeIds=cn,this.fireEvent({eventName:nc.changeFilter})}clearFilter(){this.hiddenNodeIds={},this.fireEvent({eventName:nc.changeFilter})}moveNode(Z,Ee){const Mt=Z.getIndexInParent(),cn=Z.parent;if(!this.canMoveNode(Z,Ee,Mt))return;const pr=cn.getField("children");Ee.parent.getField("children")||Ee.parent.setField("children",[]);const Rr=Ee.parent.getField("children"),ui=pr.splice(Mt,1)[0];let To=cn===Ee.parent&&Ee.index>Mt?Ee.index-1:Ee.index;Rr.splice(To,0,ui),cn.treeModel.update(),Ee.parent.treeModel!==cn.treeModel&&Ee.parent.treeModel.update(),this.fireEvent({eventName:nc.moveNode,node:ui,to:{parent:Ee.parent.data,index:To},from:{parent:cn.data,index:Mt}})}copyNode(Z,Ee){const Mt=Z.getIndexInParent();if(!this.canMoveNode(Z,Ee,Mt))return;Ee.parent.getField("children")||Ee.parent.setField("children",[]);const cn=Ee.parent.getField("children"),pr=this.options.getNodeClone(Z);cn.splice(Ee.index,0,pr),Z.treeModel.update(),Ee.parent.treeModel!==Z.treeModel&&Ee.parent.treeModel.update(),this.fireEvent({eventName:nc.copyNode,node:pr,to:{parent:Ee.parent.data,index:Ee.index}})}getState(){return{expandedNodeIds:this.expandedNodeIds,selectedLeafNodeIds:this.selectedLeafNodeIds,activeNodeIds:this.activeNodeIds,hiddenNodeIds:this.hiddenNodeIds,focusedNodeId:this.focusedNodeId}}setState(Z){!Z||Object.assign(this,{expandedNodeIds:Z.expandedNodeIds||{},selectedLeafNodeIds:Z.selectedLeafNodeIds||{},activeNodeIds:Z.activeNodeIds||{},hiddenNodeIds:Z.hiddenNodeIds||{},focusedNodeId:Z.focusedNodeId})}subscribeToState(Z){$r(()=>Z(this.getState()))}canMoveNode(Z,Ee,Mt){return Mt||Z.getIndexInParent(),(Z.parent!==Ee.parent||Mt!==Ee.index)&&!Ee.parent.isDescendantOf(Z)}calculateExpandedNodes(){this._calculateExpandedNodes()}_filterNode(Z,Ee,Mt,cn){let pr=Mt(Ee);return Ee.children&&Ee.children.forEach(Rr=>{this._filterNode(Z,Rr,Mt,cn)&&(pr=!0)}),pr||(Z[Ee.id]=!0),cn&&pr&&Ee.ensureVisible(),pr}_calculateExpandedNodes(Z=null){(Z=Z||this.virtualRoot).data[this.options.isExpandedField]&&(this.expandedNodeIds=Object.assign({},this.expandedNodeIds,{[Z.id]:!0})),Z.children&&Z.children.forEach(Ee=>this._calculateExpandedNodes(Ee))}_setActiveNodeSingle(Z,Ee){this.activeNodes.filter(Mt=>Mt!==Z).forEach(Mt=>{this.fireEvent({eventName:nc.deactivate,node:Mt}),this.fireEvent({eventName:nc.nodeDeactivate,node:Mt})}),this.activeNodeIds=Ee?{[Z.id]:!0}:{}}_setActiveNodeMulti(Z,Ee){this.activeNodeIds=Object.assign({},this.activeNodeIds,{[Z.id]:Ee})}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275prov=t.Yz7({token:P,factory:P.\u0275fac}),P.focusedTree=null,P})();ll([mt,ko("design:type",Array)],Wa.prototype,"roots",void 0),ll([mt,ko("design:type",Object)],Wa.prototype,"expandedNodeIds",void 0),ll([mt,ko("design:type",Object)],Wa.prototype,"selectedLeafNodeIds",void 0),ll([mt,ko("design:type",Object)],Wa.prototype,"activeNodeIds",void 0),ll([mt,ko("design:type",Object)],Wa.prototype,"hiddenNodeIds",void 0),ll([mt,ko("design:type",Object)],Wa.prototype,"focusedNodeId",void 0),ll([mt,ko("design:type",y_)],Wa.prototype,"virtualRoot",void 0),ll([jt,ko("design:type",Object),ko("design:paramtypes",[])],Wa.prototype,"focusedNode",null),ll([jt,ko("design:type",Object),ko("design:paramtypes",[])],Wa.prototype,"expandedNodes",null),ll([jt,ko("design:type",Object),ko("design:paramtypes",[])],Wa.prototype,"activeNodes",null),ll([jt,ko("design:type",Object),ko("design:paramtypes",[])],Wa.prototype,"hiddenNodes",null),ll([jt,ko("design:type",Object),ko("design:paramtypes",[])],Wa.prototype,"selectedLeafNodes",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],Wa.prototype,"setData",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],Wa.prototype,"update",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],Wa.prototype,"setFocusedNode",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],Wa.prototype,"setFocus",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],Wa.prototype,"doForAll",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],Wa.prototype,"focusNextNode",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],Wa.prototype,"focusPreviousNode",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],Wa.prototype,"focusDrillDown",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],Wa.prototype,"focusDrillUp",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object,Object]),ko("design:returntype",void 0)],Wa.prototype,"setActiveNode",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],Wa.prototype,"setSelectedNode",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],Wa.prototype,"setExpandedNode",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],Wa.prototype,"expandAll",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],Wa.prototype,"collapseAll",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],Wa.prototype,"setIsHidden",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],Wa.prototype,"setHiddenNodeIds",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],Wa.prototype,"filterNodes",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[]),ko("design:returntype",void 0)],Wa.prototype,"clearFilter",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],Wa.prototype,"moveNode",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object,Object]),ko("design:returntype",void 0)],Wa.prototype,"copyNode",null),ll([ee,ko("design:type",Function),ko("design:paramtypes",[Object]),ko("design:returntype",void 0)],Wa.prototype,"setState",null);let Xp=(()=>{class P{constructor(){this._draggedElement=null}set(Z){this._draggedElement=Z}get(){return this._draggedElement}isDragging(){return!!this.get()}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275prov=(0,t.Yz7)({factory:function(){return new P},token:P,providedIn:"root"}),P})();var Wd=function(P,W,Z,Ee){var pr,Mt=arguments.length,cn=Mt<3?W:null===Ee?Ee=Object.getOwnPropertyDescriptor(W,Z):Ee;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)cn=Reflect.decorate(P,W,Z,Ee);else for(var Rr=P.length-1;Rr>=0;Rr--)(pr=P[Rr])&&(cn=(Mt<3?pr(cn):Mt>3?pr(W,Z,cn):pr(W,Z))||cn);return Mt>3&&cn&&Object.defineProperty(W,Z,cn),cn},Uc=function(P,W){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(P,W)};let Au=(()=>{class P{constructor(Z){this.treeModel=Z,this.yBlocks=0,this.x=0,this.viewportHeight=null,this.viewport=null,Z.virtualScroll=this,this._dispose=[$r(()=>this.fixScroll())]}get y(){return 150*this.yBlocks}get totalHeight(){return this.treeModel.virtualRoot?this.treeModel.virtualRoot.height:0}fireEvent(Z){this.treeModel.fireEvent(Z)}init(){const Z=this.recalcPositions.bind(this);Z(),this._dispose=[...this._dispose,Do(()=>this.treeModel.roots,Z),Do(()=>this.treeModel.expandedNodeIds,Z),Do(()=>this.treeModel.hiddenNodeIds,Z)],this.treeModel.subscribe(nc.loadNodeChildren,Z)}isEnabled(){return this.treeModel.options.useVirtualScroll}_setYBlocks(Z){this.yBlocks=Z}recalcPositions(){this.treeModel.virtualRoot.height=this._getPositionAfter(this.treeModel.getVisibleRoots(),0)}_getPositionAfter(Z,Ee){let Mt=Ee;return Z.forEach(cn=>{cn.position=Mt,Mt=this._getPositionAfterNode(cn,Mt)}),Mt}_getPositionAfterNode(Z,Ee){let Mt=Z.getSelfHeight()+Ee;return Z.children&&Z.isExpanded&&(Mt=this._getPositionAfter(Z.visibleChildren,Mt)),Z.height=Mt-Ee,Mt}clear(){this._dispose.forEach(Z=>Z())}setViewport(Z){Object.assign(this,{viewport:Z,x:Z.scrollLeft,yBlocks:Math.round(Z.scrollTop/150),viewportHeight:Z.getBoundingClientRect?Z.getBoundingClientRect().height:0})}scrollIntoView(Z,Ee,Mt=!0){if(Z.options.scrollContainer){const cn=Z.options.scrollContainer,pr=cn.getBoundingClientRect().height,Rr=cn.getBoundingClientRect().top,ui=this.viewport.getBoundingClientRect().top+Z.position-Rr;(Ee||ui<cn.scrollTop||ui+Z.getSelfHeight()>cn.scrollTop+pr)&&(cn.scrollTop=Mt?ui-pr/2:ui)}else(Ee||Z.position<this.y||Z.position+Z.getSelfHeight()>this.y+this.viewportHeight)&&this.viewport&&(this.viewport.scrollTop=Mt?Z.position-this.viewportHeight/2:Z.position,this._setYBlocks(Math.floor(this.viewport.scrollTop/150)))}getViewportNodes(Z){if(!Z)return[];const Ee=Z.filter(To=>!To.isHidden);if(!this.isEnabled())return Ee;if(!this.viewportHeight||!Ee.length)return[];const Mt=Rh(Ee,To=>To.position+500>this.y||To.position+To.height>this.y),cn=Rh(Ee,To=>To.position-500>this.y+this.viewportHeight,Mt),pr=[];if(cn-Mt>(1e3+this.viewportHeight)/Ee[0].treeModel.options.options.nodeHeight)return[];for(let To=Mt;To<=cn;To++)pr.push(Ee[To]);return pr}fixScroll(){const Z=Math.max(0,this.totalHeight-this.viewportHeight);this.y<0&&this._setYBlocks(0),this.y>Z&&this._setYBlocks(Z/150)}}return P.\u0275fac=function(Z){return new(Z||P)(t.LFG(Wa))},P.\u0275prov=t.Yz7({token:P,factory:P.\u0275fac}),P})();function Rh(P,W,Z=0){let Ee=Z,Mt=P.length-1;for(;Ee!==Mt;){let cn=Math.floor((Ee+Mt)/2);W(P[cn])?Mt=cn:Ee=Ee===cn?Mt:cn}return Ee}Wd([mt,Uc("design:type",Object)],Au.prototype,"yBlocks",void 0),Wd([mt,Uc("design:type",Object)],Au.prototype,"x",void 0),Wd([mt,Uc("design:type",Object)],Au.prototype,"viewportHeight",void 0),Wd([jt,Uc("design:type",Object),Uc("design:paramtypes",[])],Au.prototype,"y",null),Wd([jt,Uc("design:type",Object),Uc("design:paramtypes",[])],Au.prototype,"totalHeight",null),Wd([ee,Uc("design:type",Function),Uc("design:paramtypes",[Object]),Uc("design:returntype",void 0)],Au.prototype,"_setYBlocks",null),Wd([ee,Uc("design:type",Function),Uc("design:paramtypes",[]),Uc("design:returntype",void 0)],Au.prototype,"recalcPositions",null),Wd([ee,Uc("design:type",Function),Uc("design:paramtypes",[Object]),Uc("design:returntype",void 0)],Au.prototype,"setViewport",null),Wd([ee,Uc("design:type",Function),Uc("design:paramtypes",[Object,Object,Object]),Uc("design:returntype",void 0)],Au.prototype,"scrollIntoView",null);let Nh=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-loading-component"]],inputs:{template:"template",node:"node"},decls:2,vars:5,consts:[[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(Z,Ee){1&Z&&(t.YNc(0,oi,2,0,"span",0),t.GkF(1,1)),2&Z&&(t.Q6J("ngIf",!Ee.template),t.xp6(1),t.Q6J("ngTemplateOutlet",Ee.template)("ngTemplateOutletContext",t.VKq(3,Wr,Ee.node)))},directives:[e.O5,e.tP],encapsulation:2}),P})(),Vf=(()=>{class P{constructor(Z,Ee,Mt){this.elementRef=Z,this.ngZone=Ee,this.virtualScroll=Mt,this.setViewport=xd(()=>{this.virtualScroll.setViewport(this.elementRef.nativeElement)},17),this.scrollEventHandler=this.setViewport.bind(this)}ngOnInit(){this.virtualScroll.init()}ngAfterViewInit(){setTimeout(()=>{this.setViewport(),this.virtualScroll.fireEvent({eventName:nc.initialized})});let Z=this.elementRef.nativeElement;this.ngZone.runOutsideAngular(()=>{Z.addEventListener("scroll",this.scrollEventHandler)})}ngOnDestroy(){this.virtualScroll.clear(),this.elementRef.nativeElement.removeEventListener("scroll",this.scrollEventHandler)}getTotalHeight(){return this.virtualScroll.isEnabled()&&this.virtualScroll.totalHeight+"px"||"auto"}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.SBq),t.Y36(t.R0b),t.Y36(Au))},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-viewport"]],features:[t._Bn([Au])],ngContentSelectors:ro,decls:1,vars:2,consts:[[4,"treeMobxAutorun"]],template:function(Z,Ee){1&Z&&(t.F$t(),t.YNc(0,ti,3,2,"ng-container",0)),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Gi))},directives:[mf],encapsulation:2}),P})(),Ph=(()=>{class P{constructor(Z,Ee){this.treeModel=Z,this.treeDraggedElement=Ee,Z.eventNames.forEach(Mt=>this[Mt]=new t.vpe),Z.subscribeToState(Mt=>this.stateChange.emit(Mt))}set nodes(Z){}set options(Z){}set focused(Z){this.treeModel.setFocus(Z)}set state(Z){this.treeModel.setState(Z)}onKeydown(Z){if(!this.treeModel.isFocused||bn(["input","textarea"],document.activeElement.tagName.toLowerCase()))return;const Ee=this.treeModel.getFocusedNode();this.treeModel.performKeyAction(Ee,Z)}onMousedown(Z){(function Ee(Mt,cn){return!Mt||Mt.localName!==cn&&Ee(Mt.parentElement,cn)})(Z.target,"tree-root")&&this.treeModel.setFocus(!1)}ngOnChanges(Z){(Z.options||Z.nodes)&&this.treeModel.setData({options:Z.options&&Z.options.currentValue,nodes:Z.nodes&&Z.nodes.currentValue,events:Vs(this,this.treeModel.eventNames)})}sizeChanged(){this.viewportComponent.setViewport()}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(Wa),t.Y36(Xp))},P.\u0275cmp=t.Xpm({type:P,selectors:[["Tree"],["tree-root"]],contentQueries:function(Z,Ee,Mt){if(1&Z&&(t.Suo(Mt,ia,5),t.Suo(Mt,ps,5),t.Suo(Mt,la,5),t.Suo(Mt,Fa,5)),2&Z){let cn;t.iGM(cn=t.CRH())&&(Ee.loadingTemplate=cn.first),t.iGM(cn=t.CRH())&&(Ee.treeNodeTemplate=cn.first),t.iGM(cn=t.CRH())&&(Ee.treeNodeWrapperTemplate=cn.first),t.iGM(cn=t.CRH())&&(Ee.treeNodeFullTemplate=cn.first)}},viewQuery:function(Z,Ee){if(1&Z&&t.Gf(Gs,5),2&Z){let Mt;t.iGM(Mt=t.CRH())&&(Ee.viewportComponent=Mt.first)}},hostBindings:function(Z,Ee){1&Z&&t.NdJ("keydown",function(cn){return Ee.onKeydown(cn)},!1,t.pYS)("mousedown",function(cn){return Ee.onMousedown(cn)},!1,t.pYS)},inputs:{nodes:"nodes",options:"options",focused:"focused",state:"state"},outputs:{toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",updateData:"updateData",initialized:"initialized",moveNode:"moveNode",copyNode:"copyNode",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",event:"event",stateChange:"stateChange"},features:[t._Bn([Wa]),t.TTD],decls:5,vars:6,consts:[["viewport",""],[1,"angular-tree-component"],[3,"nodes","treeModel","templates",4,"ngIf"],["class","empty-tree-drop-slot",3,"dropIndex","node",4,"ngIf"],[3,"nodes","treeModel","templates"],[1,"empty-tree-drop-slot",3,"dropIndex","node"]],template:function(Z,Ee){1&Z&&(t.TgZ(0,"tree-viewport",null,0),t.TgZ(2,"div",1),t.YNc(3,Vp,1,8,"tree-node-collection",2),t.YNc(4,bh,1,2,"tree-node-drop-slot",3),t.qZA(),t.qZA()),2&Z&&(t.xp6(2),t.ekj("node-dragging",Ee.treeDraggedElement.isDragging())("angular-tree-component-rtl",Ee.treeModel.options.rtl),t.xp6(1),t.Q6J("ngIf",Ee.treeModel.roots),t.xp6(1),t.Q6J("ngIf",Ee.treeModel.isEmptyTree()))},directives:function(){return[Vf,e.O5,qd,Xu]},encapsulation:2}),P})(),Dp=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["TreeNode"],["tree-node"]],inputs:{node:"node",index:"index",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"class","tree-node","tree-node-expanded","tree-node-collapsed","tree-node-leaf","tree-node-active","tree-node-focused",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"dropIndex","node",4,"ngIf"],[3,"node","index","templates"],[3,"node","templates"],[3,"dropIndex","node"]],template:function(Z,Ee){1&Z&&t.YNc(0,a_,3,8,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Gi))},directives:function(){return[mf,e.O5,e.tP,Jd,Lh,Xu]},encapsulation:2}),P})(),Ih=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-content"]],inputs:{node:"node",index:"index",template:"template"},decls:2,vars:7,consts:[[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(Z,Ee){1&Z&&(t.YNc(0,Eh,2,1,"span",0),t.GkF(1,1)),2&Z&&(t.Q6J("ngIf",!Ee.template),t.xp6(1),t.Q6J("ngTemplateOutlet",Ee.template)("ngTemplateOutletContext",t.kEZ(3,l_,Ee.node,Ee.node,Ee.index)))},directives:[e.O5,e.tP],encapsulation:2}),P})(),Xu=(()=>{class P{onDrop(Z){this.node.mouseAction("drop",Z.event,{from:Z.element,to:{parent:this.node,index:this.dropIndex}})}allowDrop(Z,Ee){return this.node.options.allowDrop(Z,{parent:this.node,index:this.dropIndex},Ee)}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["TreeNodeDropSlot"],["tree-node-drop-slot"]],inputs:{node:"node",dropIndex:"dropIndex"},decls:1,vars:2,consts:[[1,"node-drop-slot",3,"treeAllowDrop","allowDragoverStyling","treeDrop"]],template:function(Z,Ee){1&Z&&(t.TgZ(0,"div",0),t.NdJ("treeDrop",function(cn){return Ee.onDrop(cn)}),t.qZA()),2&Z&&t.Q6J("treeAllowDrop",Ee.allowDrop.bind(Ee))("allowDragoverStyling",!0)},directives:function(){return[nh]},encapsulation:2}),P})(),Kp=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-expander"]],inputs:{node:"node"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],["class","toggle-children-wrapper",3,"toggle-children-wrapper-expanded","toggle-children-wrapper-collapsed","click",4,"ngIf"],["class","toggle-children-placeholder",4,"ngIf"],[1,"toggle-children-wrapper",3,"click"],[1,"toggle-children"],[1,"toggle-children-placeholder"]],template:function(Z,Ee){1&Z&&t.YNc(0,d_,3,2,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Gi))},directives:[mf,e.O5],encapsulation:2}),P})(),Lh=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-children"]],inputs:{node:"node",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"tree-children","tree-children-no-padding",4,"treeAnimateOpen","treeAnimateOpenSpeed","treeAnimateOpenAcceleration","treeAnimateOpenEnabled"],[3,"nodes","templates","treeModel",4,"ngIf"],["class","tree-node-loading",3,"padding-left","template","node",4,"ngIf"],[3,"nodes","templates","treeModel"],[1,"tree-node-loading",3,"template","node"]],template:function(Z,Ee){1&Z&&t.YNc(0,f_,2,4,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Gi))},directives:function(){return[mf,kh,e.O5,qd,Nh]},encapsulation:2}),P})();const xp=Object.assign(function(...P){return ee(...P)},ee),th=Object.assign(function(...P){return jt(...P)},jt),fp=Object.assign(function(...P){return mt(...P)},mt);var Ku=function(P,W,Z,Ee){var pr,Mt=arguments.length,cn=Mt<3?W:null===Ee?Ee=Object.getOwnPropertyDescriptor(W,Z):Ee;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)cn=Reflect.decorate(P,W,Z,Ee);else for(var Rr=P.length-1;Rr>=0;Rr--)(pr=P[Rr])&&(cn=(Mt<3?pr(cn):Mt>3?pr(W,Z,cn):pr(W,Z))||cn);return Mt>3&&cn&&Object.defineProperty(W,Z,cn),cn},ku=function(P,W){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(P,W)};let qd=(()=>{class P{constructor(){this._dispose=[]}get nodes(){return this._nodes}set nodes(Z){this.setNodes(Z)}get marginTop(){const Z=this.viewportNodes&&this.viewportNodes.length&&this.viewportNodes[0];return(Z&&Z.parent?Z.position-Z.parent.position-Z.parent.getSelfHeight():0)+"px"}setNodes(Z){this._nodes=Z}ngOnInit(){this.virtualScroll=this.treeModel.virtualScroll,this._dispose=[Do(()=>this.virtualScroll.getViewportNodes(this.nodes).map(Z=>Z.index),Z=>{this.viewportNodes=Z.map(Ee=>this.nodes[Ee])},{compareStructural:!0,fireImmediately:!0}),Do(()=>this.nodes,Z=>{this.viewportNodes=this.virtualScroll.getViewportNodes(Z)})]}ngOnDestroy(){this._dispose.forEach(Z=>Z())}trackNode(Z,Ee){return Ee.id}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-collection"]],inputs:{nodes:"nodes",treeModel:"treeModel",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"node","index","templates",4,"ngFor","ngForOf","ngForTrackBy"],[3,"node","index","templates"]],template:function(Z,Ee){1&Z&&t.YNc(0,Sh,3,4,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Gi))},directives:[mf,e.sg,Dp],encapsulation:2}),P})();Ku([fp,ku("design:type",Object)],qd.prototype,"_nodes",void 0),Ku([fp,ku("design:type",Array)],qd.prototype,"viewportNodes",void 0),Ku([th,ku("design:type",String),ku("design:paramtypes",[])],qd.prototype,"marginTop",null),Ku([xp,ku("design:type",Function),ku("design:paramtypes",[Object]),ku("design:returntype",void 0)],qd.prototype,"setNodes",null);let Jd=(()=>{class P{constructor(){}}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-wrapper"]],inputs:{node:"node",index:"index",templates:"templates"},decls:2,vars:8,consts:[["class","node-wrapper",3,"padding-left",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"node-wrapper"],[3,"node",4,"ngIf"],[3,"node"],[1,"node-content-wrapper",3,"treeAllowDrop","allowDragoverStyling","treeDrag","treeDragEnabled","click","dblclick","mouseover","mouseout","contextmenu","treeDrop","treeDropDragOver","treeDropDragLeave","treeDropDragEnter"],[3,"node","index","template"]],template:function(Z,Ee){1&Z&&(t.YNc(0,wp,5,15,"div",0),t.GkF(1,1)),2&Z&&(t.Q6J("ngIf",!Ee.templates.treeNodeWrapperTemplate),t.xp6(1),t.Q6J("ngTemplateOutlet",Ee.templates.treeNodeWrapperTemplate)("ngTemplateOutletContext",t.l5B(3,Lu,Ee.node,Ee.node,Ee.index,Ee.templates)))},directives:function(){return[e.O5,e.tP,Kp,rh,nh,Ih,Gf]},encapsulation:2}),P})(),Gf=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275cmp=t.Xpm({type:P,selectors:[["tree-node-checkbox"]],inputs:{node:"node"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],["type","checkbox",1,"tree-node-checkbox",3,"checked","indeterminate","click"]],template:function(Z,Ee){1&Z&&t.YNc(0,Ju,2,2,"ng-container",0),2&Z&&t.Q6J("treeMobxAutorun",t.DdM(1,Gi))},directives:[mf],encapsulation:2}),P})();const vf="is-dragging-over",Fh="is-dragging-over-disabled";let nh=(()=>{class P{constructor(Z,Ee,Mt,cn){this.el=Z,this.renderer=Ee,this.treeDraggedElement=Mt,this.ngZone=cn,this.allowDragoverStyling=!0,this.onDropCallback=new t.vpe,this.onDragOverCallback=new t.vpe,this.onDragLeaveCallback=new t.vpe,this.onDragEnterCallback=new t.vpe,this._allowDrop=(pr,Rr)=>!0,this.dragOverEventHandler=this.onDragOver.bind(this),this.dragEnterEventHandler=this.onDragEnter.bind(this),this.dragLeaveEventHandler=this.onDragLeave.bind(this)}set treeAllowDrop(Z){this._allowDrop=Z instanceof Function?Z:(Ee,Mt)=>Z}allowDrop(Z){return this._allowDrop(this.treeDraggedElement.get(),Z)}ngAfterViewInit(){let Z=this.el.nativeElement;this.ngZone.runOutsideAngular(()=>{Z.addEventListener("dragover",this.dragOverEventHandler),Z.addEventListener("dragenter",this.dragEnterEventHandler),Z.addEventListener("dragleave",this.dragLeaveEventHandler)})}ngOnDestroy(){let Z=this.el.nativeElement;Z.removeEventListener("dragover",this.dragOverEventHandler),Z.removeEventListener("dragenter",this.dragEnterEventHandler),Z.removeEventListener("dragleave",this.dragLeaveEventHandler)}onDragOver(Z){if(!this.allowDrop(Z))return this.allowDragoverStyling?this.addDisabledClass():void 0;this.onDragOverCallback.emit({event:Z,element:this.treeDraggedElement.get()}),Z.preventDefault(),this.allowDragoverStyling&&this.addClass()}onDragEnter(Z){!this.allowDrop(Z)||(Z.preventDefault(),this.onDragEnterCallback.emit({event:Z,element:this.treeDraggedElement.get()}))}onDragLeave(Z){if(!this.allowDrop(Z))return this.allowDragoverStyling?this.removeDisabledClass():void 0;this.onDragLeaveCallback.emit({event:Z,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass()}onDrop(Z){!this.allowDrop(Z)||(Z.preventDefault(),this.onDropCallback.emit({event:Z,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass(),this.treeDraggedElement.set(null))}addClass(){this.renderer.addClass(this.el.nativeElement,vf)}removeClass(){this.renderer.removeClass(this.el.nativeElement,vf)}addDisabledClass(){this.renderer.addClass(this.el.nativeElement,Fh)}removeDisabledClass(){this.renderer.removeClass(this.el.nativeElement,Fh)}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(Xp),t.Y36(t.R0b))},P.\u0275dir=t.lG2({type:P,selectors:[["","treeDrop",""]],hostBindings:function(Z,Ee){1&Z&&t.NdJ("drop",function(cn){return Ee.onDrop(cn)})},inputs:{allowDragoverStyling:"allowDragoverStyling",treeAllowDrop:"treeAllowDrop"},outputs:{onDropCallback:"treeDrop",onDragOverCallback:"treeDropDragOver",onDragLeaveCallback:"treeDropDragLeave",onDragEnterCallback:"treeDropDragEnter"}}),P})(),rh=(()=>{class P{constructor(Z,Ee,Mt,cn){this.el=Z,this.renderer=Ee,this.treeDraggedElement=Mt,this.ngZone=cn,this.dragEventHandler=this.onDrag.bind(this)}ngAfterViewInit(){let Z=this.el.nativeElement;this.ngZone.runOutsideAngular(()=>{Z.addEventListener("drag",this.dragEventHandler)})}ngDoCheck(){this.renderer.setAttribute(this.el.nativeElement,"draggable",this.treeDragEnabled?"true":"false")}ngOnDestroy(){this.el.nativeElement.removeEventListener("drag",this.dragEventHandler)}onDragStart(Z){Z.dataTransfer.setData("text",Z.target.id),this.treeDraggedElement.set(this.draggedElement),this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragStart",Z)}onDrag(Z){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("drag",Z)}onDragEnd(){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragEnd"),this.treeDraggedElement.set(null)}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(Xp),t.Y36(t.R0b))},P.\u0275dir=t.lG2({type:P,selectors:[["","treeDrag",""]],hostBindings:function(Z,Ee){1&Z&&t.NdJ("dragstart",function(cn){return Ee.onDragStart(cn)})("dragend",function(){return Ee.onDragEnd()})},inputs:{draggedElement:["treeDrag","draggedElement"],treeDragEnabled:"treeDragEnabled"}}),P})(),kh=(()=>{class P{constructor(Z,Ee,Mt){this.renderer=Z,this.templateRef=Ee,this.viewContainerRef=Mt}set isOpen(Z){Z?(this._show(),this.isEnabled&&!1===this._isOpen&&this._animateOpen()):this.isEnabled?this._animateClose():this._hide(),this._isOpen=!!Z}_show(){this.innerElement||(this.innerElement=this.viewContainerRef.createEmbeddedView(this.templateRef).rootNodes[0])}_hide(){this.viewContainerRef.clear(),this.innerElement=null}_animateOpen(){let Z=this.animateSpeed,Ee=this.animateAcceleration,Mt=0;this.renderer.setStyle(this.innerElement,"max-height","0"),setTimeout(()=>{const cn=setInterval(()=>{if(!this._isOpen||!this.innerElement)return clearInterval(cn);Mt+=Z;const pr=Math.round(Mt);this.renderer.setStyle(this.innerElement,"max-height",`${pr}px`);const Rr=this.innerElement.getBoundingClientRect?this.innerElement.getBoundingClientRect().height:0;Z*=Ee,Ee*=1.005,Rr<pr&&(this.renderer.setStyle(this.innerElement,"max-height",null),clearInterval(cn))},17)})}_animateClose(){if(!this.innerElement)return;let Z=this.animateSpeed,Ee=this.animateAcceleration,Mt=this.innerElement.getBoundingClientRect().height;const cn=setInterval(()=>{if(this._isOpen||!this.innerElement)return clearInterval(cn);Mt-=Z,this.renderer.setStyle(this.innerElement,"max-height",`${Mt}px`),Z*=Ee,Ee*=1.005,Mt<=0&&(this.viewContainerRef.clear(),this.innerElement=null,clearInterval(cn))},17)}}return P.\u0275fac=function(Z){return new(Z||P)(t.Y36(t.Qsj),t.Y36(t.Rgc),t.Y36(t.s_b))},P.\u0275dir=t.lG2({type:P,selectors:[["","treeAnimateOpen",""]],inputs:{isOpen:["treeAnimateOpen","isOpen"],animateSpeed:["treeAnimateOpenSpeed","animateSpeed"],animateAcceleration:["treeAnimateOpenAcceleration","animateAcceleration"],isEnabled:["treeAnimateOpenEnabled","isEnabled"]}}),P})(),Np=(()=>{class P{}return P.\u0275fac=function(Z){return new(Z||P)},P.\u0275mod=t.oAB({type:P}),P.\u0275inj=t.cJS({providers:[],imports:[[e.ez]]}),P})()},38549:(Ge,g,o)=>{"use strict";o.d(g,{Kz:()=>E,xm:()=>Ma,_A:()=>va,vL:()=>vo,_D:()=>mi,lQ:()=>ii,VL:()=>Ho,M:()=>cc,jt:()=>tl,TH:()=>ou,Vi:()=>xl,XC:()=>bc,iD:()=>el,J4:()=>ke,FF:()=>ve,Pz:()=>sr,uN:()=>wn,nv:()=>cr,Vx:()=>Tr,Oz:()=>ts,tO:()=>Co,M2:()=>bu,o8:()=>gc,AX:()=>fs,dT:()=>Ql,Ly:()=>Gu,ZQ:()=>Sd,Pm:()=>Jc,UL:()=>Tu,_L:()=>Hd,xI:()=>Ad,HK:()=>ud,dR:()=>Su,ZS:()=>fd});var t=o(74788),e=o(12057),s=o(59796),a=o(56693),l=o(55197),u=o(20509);function h(...V){if(1===V.length){if(!(0,s.k)(V[0]))return V[0];V=V[0]}return(0,a.n)(V,void 0).lift(new _)}class _{call(pe,A){return A.subscribe(new m(pe))}}class m extends l.L{constructor(pe){super(pe),this.hasFirst=!1,this.observables=[],this.subscriptions=[]}_next(pe){this.observables.push(pe)}_complete(){const pe=this.observables,A=pe.length;if(0===A)this.destination.complete();else{for(let K=0;K<A&&!this.hasFirst;K++){const Rt=(0,u.D)(this,pe[K],void 0,K);this.subscriptions&&this.subscriptions.push(Rt),this.add(Rt)}this.observables=null}}notifyNext(pe,A,K){if(!this.hasFirst){this.hasFirst=!0;for(let Ye=0;Ye<this.subscriptions.length;Ye++)if(Ye!==K){let Rt=this.subscriptions[Ye];Rt.unsubscribe(),this.remove(Rt)}this.subscriptions=null}this.destination.next(A)}}var b=o(77393),C=o(20377),D=o(85345);function x(...V){const pe=V[V.length-1];return"function"==typeof pe&&V.pop(),(0,a.n)(V,void 0).lift(new j(pe))}class j{constructor(pe){this.resultSelector=pe}call(pe,A){return A.subscribe(new H(pe,this.resultSelector))}}class H extends b.L{constructor(pe,A,K=Object.create(null)){super(pe),this.resultSelector=A,this.iterators=[],this.active=0,this.resultSelector="function"==typeof A?A:void 0}_next(pe){const A=this.iterators;(0,s.k)(pe)?A.push(new U(pe)):A.push("function"==typeof pe[C.hZ]?new z(pe[C.hZ]()):new M(this.destination,this,pe))}_complete(){const pe=this.iterators,A=pe.length;if(this.unsubscribe(),0!==A){this.active=A;for(let K=0;K<A;K++){let Ye=pe[K];Ye.stillUnsubscribed?this.destination.add(Ye.subscribe()):this.active--}}else this.destination.complete()}notifyInactive(){this.active--,0===this.active&&this.destination.complete()}checkIterators(){const pe=this.iterators,A=pe.length,K=this.destination;for(let vr=0;vr<A;vr++){let Hr=pe[vr];if("function"==typeof Hr.hasValue&&!Hr.hasValue())return}let Ye=!1;const Rt=[];for(let vr=0;vr<A;vr++){let Hr=pe[vr],_i=Hr.next();if(Hr.hasCompleted()&&(Ye=!0),_i.done)return void K.complete();Rt.push(_i.value)}this.resultSelector?this._tryresultSelector(Rt):K.next(Rt),Ye&&K.complete()}_tryresultSelector(pe){let A;try{A=this.resultSelector.apply(this,pe)}catch(K){return void this.destination.error(K)}this.destination.next(A)}}class z{constructor(pe){this.iterator=pe,this.nextResult=pe.next()}hasValue(){return!0}next(){const pe=this.nextResult;return this.nextResult=this.iterator.next(),pe}hasCompleted(){const pe=this.nextResult;return Boolean(pe&&pe.done)}}class U{constructor(pe){this.array=pe,this.index=0,this.length=0,this.length=pe.length}[C.hZ](){return this}next(pe){const A=this.index++;return A<this.length?{value:this.array[A],done:!1}:{value:null,done:!0}}hasValue(){return this.array.length>this.index}hasCompleted(){return this.array.length===this.index}}class M extends D.Ds{constructor(pe,A,K){super(pe),this.parent=A,this.observable=K,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}[C.hZ](){return this}next(){const pe=this.buffer;return 0===pe.length&&this.isComplete?{value:null,done:!0}:{value:pe.shift(),done:!1}}hasValue(){return this.buffer.length>0}hasCompleted(){return 0===this.buffer.length&&this.isComplete}notifyComplete(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()}notifyNext(pe){this.buffer.push(pe),this.parent.checkIterators()}subscribe(){return(0,D.ft)(this.observable,new D.IY(this))}}var I=o(18891),J=o(59193),Y=o(25917),ie=o(79765),oe=o(22759),fe=o(46797),ne=o(26215),Ae=(o(9112),o(17757),o(66682)),Me=o(58071);function be(...V){return pe=>{let A;return"function"==typeof V[V.length-1]&&(A=V.pop()),pe.lift(new ue(V,A))}}class ue{constructor(pe,A){this.observables=pe,this.project=A}call(pe,A){return A.subscribe(new He(pe,this.observables,this.project))}}class He extends l.L{constructor(pe,A,K){super(pe),this.observables=A,this.project=K,this.toRespond=[];const Ye=A.length;this.values=new Array(Ye);for(let Rt=0;Rt<Ye;Rt++)this.toRespond.push(Rt);for(let Rt=0;Rt<Ye;Rt++)this.add((0,u.D)(this,A[Rt],void 0,Rt))}notifyNext(pe,A,K){this.values[K]=A;const Ye=this.toRespond;if(Ye.length>0){const Rt=Ye.indexOf(K);-1!==Rt&&Ye.splice(Rt,1)}}notifyComplete(){}_next(pe){if(0===this.toRespond.length){const A=[pe,...this.values];this.project?this._tryProject(A):this.destination.next(A)}}_tryProject(pe){let A;try{A=this.project.apply(this,pe)}catch(K){return void this.destination.error(K)}this.destination.next(A)}}class F{constructor(pe){this.total=pe}call(pe,A){return A.subscribe(new je(pe,this.total))}}class je extends b.L{constructor(pe,A){super(pe),this.total=A,this.count=0}_next(pe){++this.count>this.total&&this.destination.next(pe)}}var Et=o(46782),lt=o(45435),nn=o(15257),St=o(88002),At=o(39761),Qe=o(87519),It=o(43190),ae=o(68307),Ie=o(71289),dt=o(19773),Jt=o(18819),zt=o(24751);function tr(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",1),t.NdJ("click",function(){return t.CHM(A),t.oxw().close()}),t.TgZ(1,"span",2),t._uU(2,"\xd7"),t.qZA(),t.qZA()}}const Yn=["*"],Sn=["defaultDayTemplate"],$n=["content"];function En(V,pe){if(1&V&&t._UZ(0,"div",7),2&V){const K=pe.currentMonth,Ye=pe.selected,Rt=pe.disabled,vr=pe.focused;t.Q6J("date",pe.date)("currentMonth",K)("selected",Ye)("disabled",Rt)("focused",vr)}}function Fn(V,pe){if(1&V&&(t.TgZ(0,"div",12),t._uU(1),t.qZA()),2&V){const A=t.oxw().$implicit,K=t.oxw(2);t.xp6(1),t.hij(" ",K.i18n.getMonthLabel(A.firstDate)," ")}}function Dn(V,pe){if(1&V&&(t.TgZ(0,"div",9),t.YNc(1,Fn,2,1,"div",10),t._UZ(2,"ngb-datepicker-month",11),t.qZA()),2&V){const A=pe.$implicit,K=t.oxw(2);t.xp6(1),t.Q6J("ngIf","none"===K.navigation||K.displayMonths>1&&"select"===K.navigation),t.xp6(1),t.Q6J("month",A.firstDate)}}function mn(V,pe){if(1&V&&t.YNc(0,Dn,3,2,"div",8),2&V){const A=t.oxw();t.Q6J("ngForOf",A.model.months)}}function jn(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"ngb-datepicker-navigation",13),t.NdJ("navigate",function(Ye){return t.CHM(A),t.oxw().onNavigateEvent(Ye)})("select",function(Ye){return t.CHM(A),t.oxw().onNavigateDateSelect(Ye)}),t.qZA()}if(2&V){const A=t.oxw();t.Q6J("date",A.model.firstDate)("months",A.model.months)("disabled",A.model.disabled)("showSelect","select"===A.model.navigation)("prevDisabled",A.model.prevDisabled)("nextDisabled",A.model.nextDisabled)("selectBoxes",A.model.selectBoxes)}}function Xt(V,pe){}function ut(V,pe){}function mt(V,pe){if(1&V&&(t.TgZ(0,"div",5),t._uU(1),t.qZA()),2&V){const A=t.oxw(2);t.xp6(1),t.Oqu(A.i18n.getWeekLabel())}}function Tt(V,pe){if(1&V&&(t.TgZ(0,"div",6),t._uU(1),t.qZA()),2&V){const A=pe.$implicit;t.xp6(1),t.Oqu(A)}}function yn(V,pe){if(1&V&&(t.TgZ(0,"div",2),t.YNc(1,mt,2,1,"div",3),t.YNc(2,Tt,2,1,"div",4),t.qZA()),2&V){const A=t.oxw();t.xp6(1),t.Q6J("ngIf",A.datepicker.showWeekNumbers),t.xp6(1),t.Q6J("ngForOf",A.viewModel.weekdays)}}function et(V,pe){if(1&V&&(t.TgZ(0,"div",11),t._uU(1),t.qZA()),2&V){const A=t.oxw(2).$implicit,K=t.oxw();t.xp6(1),t.Oqu(K.i18n.getWeekNumerals(A.number))}}function jt(V,pe){}function hn(V,pe){if(1&V&&t.YNc(0,jt,0,0,"ng-template",14),2&V){const A=t.oxw().$implicit,K=t.oxw(3);t.Q6J("ngTemplateOutlet",K.datepicker.dayTemplate)("ngTemplateOutletContext",A.context)}}function Qn(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"div",12),t.NdJ("click",function(Ye){const vr=t.CHM(A).$implicit;return t.oxw(3).doSelect(vr),Ye.preventDefault()}),t.YNc(1,hn,1,2,"ng-template",13),t.qZA()}if(2&V){const A=pe.$implicit;t.ekj("disabled",A.context.disabled)("hidden",A.hidden)("ngb-dp-today",A.context.today),t.Q6J("tabindex",A.tabindex),t.uIk("aria-label",A.ariaLabel),t.xp6(1),t.Q6J("ngIf",!A.hidden)}}function Ir(V,pe){if(1&V&&(t.TgZ(0,"div",8),t.YNc(1,et,2,1,"div",9),t.YNc(2,Qn,2,9,"div",10),t.qZA()),2&V){const A=t.oxw().$implicit,K=t.oxw();t.xp6(1),t.Q6J("ngIf",K.datepicker.showWeekNumbers),t.xp6(1),t.Q6J("ngForOf",A.days)}}function ht(V,pe){1&V&&t.YNc(0,Ir,3,2,"div",7),2&V&&t.Q6J("ngIf",!pe.$implicit.collapsed)}function L(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"ngb-datepicker-navigation-select",7),t.NdJ("select",function(Ye){return t.CHM(A),t.oxw().select.emit(Ye)}),t.qZA()}if(2&V){const A=t.oxw();t.Q6J("date",A.date)("disabled",A.disabled)("months",A.selectBoxes.months)("years",A.selectBoxes.years)}}function Ue(V,pe){1&V&&t._UZ(0,"div",0)}function nt(V,pe){1&V&&t._UZ(0,"div",0)}function at(V,pe){if(1&V&&(t.YNc(0,Ue,1,0,"div",9),t.TgZ(1,"div",10),t._uU(2),t.qZA(),t.YNc(3,nt,1,0,"div",9)),2&V){const A=pe.$implicit,K=pe.index,Ye=t.oxw(2);t.Q6J("ngIf",K>0),t.xp6(2),t.hij(" ",Ye.i18n.getMonthLabel(A.firstDate)," "),t.xp6(1),t.Q6J("ngIf",K!==Ye.months.length-1)}}function it(V,pe){if(1&V&&t.YNc(0,at,4,3,"ng-template",8),2&V){const A=t.oxw();t.Q6J("ngForOf",A.months)}}const Pt=["ngbDatepickerDayView",""],Ut=["month"],ot=["year"];function Nn(V,pe){if(1&V&&(t.TgZ(0,"option",5),t._uU(1),t.qZA()),2&V){const A=pe.$implicit,K=t.oxw();t.Q6J("value",A),t.uIk("aria-label",K.i18n.getMonthFullName(A,null==K.date?null:K.date.year)),t.xp6(1),t.Oqu(K.i18n.getMonthShortName(A,null==K.date?null:K.date.year))}}function sn(V,pe){if(1&V&&(t.TgZ(0,"option",5),t._uU(1),t.qZA()),2&V){const A=pe.$implicit,K=t.oxw();t.Q6J("value",A),t.xp6(1),t.Oqu(K.i18n.getYearNumerals(A))}}const An=["dialog"],Bn=["ngbNavOutlet",""];function ir(V,pe){}const mr=function(V){return{$implicit:V}};function _r(V,pe){if(1&V&&(t.TgZ(0,"div",2),t.YNc(1,ir,0,0,"ng-template",3),t.qZA()),2&V){const A=t.oxw().$implicit,K=t.oxw();t.Q6J("item",A)("nav",K.nav)("role",K.paneRole),t.xp6(1),t.Q6J("ngTemplateOutlet",(null==A.contentTpl?null:A.contentTpl.templateRef)||null)("ngTemplateOutletContext",t.VKq(5,mr,A.active||K.isPanelTransitioning(A)))}}function Nr(V,pe){if(1&V&&t.YNc(0,_r,2,7,"div",1),2&V){const A=pe.$implicit,K=t.oxw();t.Q6J("ngIf",A.isPanelInDom()||K.isPanelTransitioning(A))}}function Qr(V,pe){if(1&V&&t._uU(0),2&V){const A=t.oxw(2);t.Oqu(A.title)}}function rn(V,pe){}function fi(V,pe){if(1&V&&(t.TgZ(0,"h3",3),t.YNc(1,Qr,1,1,"ng-template",null,4,t.W1O),t.YNc(3,rn,0,0,"ng-template",5),t.qZA()),2&V){const A=t.MAs(2),K=t.oxw();t.xp6(3),t.Q6J("ngTemplateOutlet",K.isTitleTemplate()?K.title:A)("ngTemplateOutletContext",K.context)}}function Ei(V,pe){if(1&V&&(t.TgZ(0,"span"),t.SDv(1,2),t.ALo(2,"percent"),t.qZA()),2&V){const A=t.oxw();t.xp6(2),t.pQV(t.lcZ(2,1,A.getValue()/A.max)),t.QtT(1)}}function no(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw();return Ye.changeHour(Ye.hourStep)}),t._UZ(1,"span",12),t.TgZ(2,"span",13),t.SDv(3,14),t.qZA(),t.qZA()}if(2&V){const A=t.oxw();t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function Ji(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw();return Ye.changeHour(-Ye.hourStep)}),t._UZ(1,"span",15),t.TgZ(2,"span",13),t.SDv(3,16),t.qZA(),t.qZA()}if(2&V){const A=t.oxw();t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function qi(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw();return Ye.changeMinute(Ye.minuteStep)}),t._UZ(1,"span",12),t.TgZ(2,"span",13),t.SDv(3,17),t.qZA(),t.qZA()}if(2&V){const A=t.oxw();t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function to(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw();return Ye.changeMinute(-Ye.minuteStep)}),t._UZ(1,"span",15),t.TgZ(2,"span",13),t.SDv(3,18),t.qZA(),t.qZA()}if(2&V){const A=t.oxw();t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function zi(V,pe){1&V&&(t.TgZ(0,"div",5),t._uU(1,":"),t.qZA())}function Go(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw(2);return Ye.changeSecond(Ye.secondStep)}),t._UZ(1,"span",12),t.TgZ(2,"span",13),t.SDv(3,21),t.qZA(),t.qZA()}if(2&V){const A=t.oxw(2);t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function Ro(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",11),t.NdJ("click",function(){t.CHM(A);const Ye=t.oxw(2);return Ye.changeSecond(-Ye.secondStep)}),t._UZ(1,"span",15),t.TgZ(2,"span",13),t.SDv(3,22),t.qZA(),t.qZA()}if(2&V){const A=t.oxw(2);t.ekj("btn-sm",A.isSmallSize)("btn-lg",A.isLargeSize)("disabled",A.disabled),t.Q6J("disabled",A.disabled)}}function Bo(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"div",19),t.YNc(1,Go,4,7,"button",3),t.TgZ(2,"input",20),t.NdJ("change",function(Ye){return t.CHM(A),t.oxw().updateSecond(Ye.target.value)})("blur",function(){return t.CHM(A),t.oxw().handleBlur()})("input",function(Ye){return t.CHM(A),t.oxw().formatInput(Ye.target)})("keydown.ArrowUp",function(Ye){t.CHM(A);const Rt=t.oxw();return Rt.changeSecond(Rt.secondStep),Ye.preventDefault()})("keydown.ArrowDown",function(Ye){t.CHM(A);const Rt=t.oxw();return Rt.changeSecond(-Rt.secondStep),Ye.preventDefault()}),t.qZA(),t.YNc(3,Ro,4,7,"button",3),t.qZA()}if(2&V){const A=t.oxw();t.xp6(1),t.Q6J("ngIf",A.spinners),t.xp6(1),t.ekj("form-control-sm",A.isSmallSize)("form-control-lg",A.isLargeSize),t.Q6J("value",A.formatMinSec(null==A.model?null:A.model.second))("readOnly",A.readonlyInputs)("disabled",A.disabled),t.xp6(1),t.Q6J("ngIf",A.spinners)}}function Jo(V,pe){1&V&&t._UZ(0,"div",5)}function es(V,pe){if(1&V&&(t.ynx(0),t.SDv(1,27),t.BQk()),2&V){const A=t.oxw(2);t.xp6(1),t.pQV(A.i18n.getAfternoonPeriod()),t.QtT(1)}}function ua(V,pe){if(1&V&&t.SDv(0,28),2&V){const A=t.oxw(2);t.pQV(A.i18n.getMorningPeriod()),t.QtT(0)}}function ds(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"div",23),t.TgZ(1,"button",24),t.NdJ("click",function(){return t.CHM(A),t.oxw().toggleMeridian()}),t.YNc(2,es,2,1,"ng-container",25),t.YNc(3,ua,1,1,"ng-template",null,26,t.W1O),t.qZA(),t.qZA()}if(2&V){const A=t.MAs(4),K=t.oxw();t.xp6(1),t.ekj("btn-sm",K.isSmallSize)("btn-lg",K.isLargeSize)("disabled",K.disabled),t.Q6J("disabled",K.disabled),t.xp6(1),t.Q6J("ngIf",K.model&&K.model.hour>=12)("ngIfElse",A)}}function st(V,pe){if(1&V&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&V){const A=t.oxw().$implicit,K=t.oxw();t.Tol(K.highlightClass),t.xp6(1),t.Oqu(A)}}function pn(V,pe){if(1&V&&t._uU(0),2&V){const A=t.oxw().$implicit;t.Oqu(A)}}function ee(V,pe){if(1&V&&(t.YNc(0,st,2,3,"span",1),t.YNc(1,pn,1,1,"ng-template",null,2,t.W1O)),2&V){const A=pe.odd,K=t.MAs(2);t.Q6J("ngIf",A)("ngIfElse",K)}}function Ve(V,pe){if(1&V&&t._UZ(0,"ngb-highlight",2),2&V){const K=pe.term;t.Q6J("result",(0,pe.formatter)(pe.result))("term",K)}}function fn(V,pe){}const Tn=function(V,pe,A){return{result:V,term:pe,formatter:A}};function $r(V,pe){if(1&V){const A=t.EpF();t.TgZ(0,"button",3),t.NdJ("mouseenter",function(){const Rt=t.CHM(A).index;return t.oxw().markActive(Rt)})("click",function(){const Rt=t.CHM(A).$implicit;return t.oxw().select(Rt)}),t.YNc(1,fn,0,0,"ng-template",4),t.qZA()}if(2&V){const A=pe.$implicit,K=pe.index,Ye=t.oxw(),Rt=t.MAs(1);t.ekj("active",K===Ye.activeIdx),t.Q6J("id",Ye.id+"-"+K),t.xp6(1),t.Q6J("ngTemplateOutlet",Ye.resultTemplate||Rt)("ngTemplateOutletContext",t.kEZ(5,Tn,A,Ye.term,Ye.formatter))}}function ni(V){return parseInt(`${V}`,10)}function Ri(V){return null!=V?`${V}`:""}function gi(V){return"string"==typeof V}function Hi(V){return!isNaN(ni(V))}function Li(V){return"number"==typeof V&&isFinite(V)&&Math.floor(V)===V}function cs(V){return null!=V}function Os(V){return Hi(V)?`0${V}`.slice(-2):""}function xa(V,pe){return V&&V.className&&V.className.split&&V.className.split(/\s+/).indexOf(pe)>=0}function Ml(V){return(V||document.body).getBoundingClientRect()}function Ca(V){return V.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}"undefined"!=typeof Element&&!Element.prototype.closest&&(Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest=function(V){let pe=this;if(!document.documentElement.contains(pe))return null;do{if(pe.matches(V))return pe;pe=pe.parentElement||pe.parentNode}while(null!==pe&&1===pe.nodeType);return null});const sa={animation:!0,transitionTimerDelayMs:5};let Fo=(()=>{class V{constructor(){this.animation=sa.animation}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})();const fa=()=>{},{transitionTimerDelayMs:Ua}=sa,pt=new Map,an=(V,pe,A,K)=>{let Ye=K.context||{};const Rt=pt.get(pe);if(Rt)switch(K.runningTransition){case"continue":return J.E;case"stop":V.run(()=>Rt.transition$.complete()),Ye=Object.assign(Rt.context,Ye),pt.delete(pe)}const vr=A(pe,K.animation,Ye)||fa;if(!K.animation||"none"===window.getComputedStyle(pe).transitionProperty)return V.run(()=>vr()),(0,Y.of)(void 0).pipe(function(V){return pe=>new I.y(A=>pe.subscribe(vr=>V.run(()=>A.next(vr)),vr=>V.run(()=>A.error(vr)),()=>V.run(()=>A.complete())))}(V));const Hr=new ie.xQ,_i=new ie.xQ,ji=Hr.pipe(function(...V){return pe=>(0,Me.z)(pe,(0,Y.of)(...V))}(!0));pt.set(pe,{transition$:Hr,complete:()=>{_i.next(),_i.complete()},context:Ye});const Eo=function(V){const{transitionDelay:pe,transitionDuration:A}=window.getComputedStyle(V);return 1e3*(parseFloat(pe)+parseFloat(A))}(pe);return V.runOutsideAngular(()=>{const rs=(0,oe.R)(pe,"transitionend").pipe((0,Et.R)(ji),(0,lt.h)(({target:us})=>us===pe));h((0,fe.H)(Eo+Ua).pipe((0,Et.R)(ji)),rs,_i).pipe((0,Et.R)(ji)).subscribe(()=>{pt.delete(pe),V.run(()=>{vr(),Hr.next(),Hr.complete()})})}),Hr.asObservable()},ye=(V,pe,A)=>{let{direction:K,maxHeight:Ye}=A;const{classList:Rt}=V;function vr(){Rt.add("collapse"),"show"===K?Rt.add("show"):Rt.remove("show")}if(pe)return Ye||(Ye=function(V){if("undefined"==typeof navigator)return"0px";const{classList:pe}=V,A=pe.contains("show");A||pe.add("show"),V.style.height="";const K=V.getBoundingClientRect().height+"px";return A||pe.remove("show"),K}(V),A.maxHeight=Ye,V.style.height="show"!==K?Ye:"0px",Rt.remove("collapse"),Rt.remove("collapsing"),Rt.remove("show"),Ml(V),Rt.add("collapsing")),V.style.height="show"===K?Ye:"0px",()=>{vr(),Rt.remove("collapsing"),V.style.height=""};vr()};let Ea=(()=>{class V{constructor(A){this._ngbConfig=A,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})();const ul=({classList:V})=>{V.remove("show")};let Ma=(()=>{class V{constructor(A,K,Ye,Rt){this._renderer=K,this._element=Ye,this._zone=Rt,this.closed=new t.vpe,this.dismissible=A.dismissible,this.type=A.type,this.animation=A.animation}close(){const A=an(this._zone,this._element.nativeElement,ul,{animation:this.animation,runningTransition:"continue"});return A.subscribe(()=>this.closed.emit()),A}ngOnChanges(A){const K=A.type;K&&!K.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${K.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${K.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(Ea),t.Y36(t.Qsj),t.Y36(t.SBq),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(A,K){2&A&&t.ekj("fade",K.animation)("alert-dismissible",K.dismissible)},inputs:{dismissible:"dismissible",type:"type",animation:"animation"},outputs:{closed:"closed"},exportAs:["ngbAlert"],features:[t.TTD],ngContentSelectors:Yn,decls:2,vars:1,consts:function(){let pe;return pe="Close",[["type","button","class","close","aria-label",pe,3,"click",4,"ngIf"],["type","button","aria-label",pe,1,"close",3,"click"],["aria-hidden","true"]]},template:function(A,K){1&A&&(t.F$t(),t.Hsn(0),t.YNc(1,tr,3,0,"button",0)),2&A&&(t.xp6(1),t.Q6J("ngIf",K.dismissible))},directives:[e.O5],styles:["ngb-alert{display:block}"],encapsulation:2,changeDetection:0}),V})(),va=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})(),Pr=(()=>{class V{constructor(A){this._ngbConfig=A}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})(),mi=(()=>{class V{constructor(A,K,Ye){this._element=A,this._zone=Ye,this.collapsed=!1,this.ngbCollapseChange=new t.vpe,this.shown=new t.vpe,this.hidden=new t.vpe,this.animation=K.animation}ngOnInit(){this._runTransition(this.collapsed,!1)}ngOnChanges({collapsed:A}){A.firstChange||this._runTransitionWithEvents(this.collapsed,this.animation)}toggle(A=this.collapsed){this.collapsed=!A,this.ngbCollapseChange.next(this.collapsed),this._runTransitionWithEvents(this.collapsed,this.animation)}_runTransition(A,K){return an(this._zone,this._element.nativeElement,ye,{animation:K,runningTransition:"stop",context:{direction:A?"hide":"show"}})}_runTransitionWithEvents(A,K){this._runTransition(A,K).subscribe(()=>{A?this.hidden.emit():this.shown.emit()})}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(Pr),t.Y36(t.R0b))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbCollapse",""]],inputs:{collapsed:["ngbCollapse","collapsed"],animation:"animation"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"],features:[t.TTD]}),V})(),ii=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({}),V})();class si{constructor(pe,A,K){this.year=Li(pe)?pe:null,this.month=Li(A)?A:null,this.day=Li(K)?K:null}static from(pe){return pe instanceof si?pe:pe?new si(pe.year,pe.month,pe.day):null}equals(pe){return null!=pe&&this.year===pe.year&&this.month===pe.month&&this.day===pe.day}before(pe){return!!pe&&(this.year===pe.year?this.month===pe.month?this.day!==pe.day&&this.day<pe.day:this.month<pe.month:this.year<pe.year)}after(pe){return!!pe&&(this.year===pe.year?this.month===pe.month?this.day!==pe.day&&this.day>pe.day:this.month>pe.month:this.year>pe.year)}}function bi(V){return new si(V.getFullYear(),V.getMonth()+1,V.getDate())}function Ui(V){const pe=new Date(V.year,V.month-1,V.day,12);return isNaN(pe.getTime())||pe.setFullYear(V.year),pe}function io(){return new Bi}let vo=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:io,token:V,providedIn:"root"}),V})(),Bi=(()=>{class V extends vo{getDaysPerWeek(){return 7}getMonths(){return[1,2,3,4,5,6,7,8,9,10,11,12]}getWeeksPerMonth(){return 6}getNext(A,K="d",Ye=1){let Rt=Ui(A),vr=!0,Hr=Rt.getMonth();switch(K){case"y":Rt.setFullYear(Rt.getFullYear()+Ye);break;case"m":Hr+=Ye,Rt.setMonth(Hr),Hr%=12,Hr<0&&(Hr+=12);break;case"d":Rt.setDate(Rt.getDate()+Ye),vr=!1;break;default:return A}return vr&&Rt.getMonth()!==Hr&&Rt.setDate(0),bi(Rt)}getPrev(A,K="d",Ye=1){return this.getNext(A,K,-Ye)}getWeekday(A){let Ye=Ui(A).getDay();return 0===Ye?7:Ye}getWeekNumber(A,K){7===K&&(K=0);const vr=Ui(A[(11-K)%7]);vr.setDate(vr.getDate()+4-(vr.getDay()||7));const Hr=vr.getTime();return vr.setMonth(0),vr.setDate(1),Math.floor(Math.round((Hr-vr.getTime())/864e5)/7)+1}getToday(){return bi(new Date)}isValid(A){if(!(A&&Li(A.year)&&Li(A.month)&&Li(A.day)&&0!==A.year))return!1;const K=Ui(A);return!isNaN(K.getTime())&&K.getFullYear()===A.year&&K.getMonth()+1===A.month&&K.getDate()===A.day}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})();function hi(V,pe){return!function(V,pe){return!V&&!pe||!!V&&!!pe&&V.equals(pe)}(V,pe)}function Br(V,pe){return!(!V&&!pe||V&&pe&&V.year===pe.year&&V.month===pe.month)}function ft(V,pe,A){return V&&pe&&V.before(pe)?pe:V&&A&&V.after(A)?A:V||null}function Ft(V,pe){const{minDate:A,maxDate:K,disabled:Ye,markDisabled:Rt}=pe;return!(null==V||Ye||Rt&&Rt(V,{year:V.year,month:V.month})||A&&V.before(A)||K&&V.after(K))}let lr=(()=>{class V{getMonthLabel(A){return`${this.getMonthFullName(A.month,A.year)} ${this.getYearNumerals(A.year)}`}getDayNumerals(A){return`${A.day}`}getWeekNumerals(A){return`${A}`}getYearNumerals(A){return`${A}`}getWeekLabel(){return""}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return function(V){return new dr(V)}(t.LFG(t.soG))},token:V,providedIn:"root"}),V})(),dr=(()=>{class V extends lr{constructor(A){super(),this._locale=A,this._monthsShort=(0,e.UT)(A,e.x.Standalone,e.Tn.Abbreviated),this._monthsFull=(0,e.UT)(A,e.x.Standalone,e.Tn.Wide)}getWeekdayLabel(A,K){const Ye=(0,e.Mn)(this._locale,e.x.Standalone,void 0===K?e.Tn.Short:K);return Ye.map((vr,Hr)=>Ye[(Hr+1)%7])[A-1]||""}getMonthShortName(A){return this._monthsShort[A-1]||""}getMonthFullName(A){return this._monthsFull[A-1]||""}getDayAriaLabel(A){const K=new Date(A.year,A.month-1,A.day);return(0,e.p6)(K,"fullDate",this._locale)}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(t.soG))},V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})(),li=(()=>{class V{constructor(A,K){this._calendar=A,this._i18n=K,this._VALIDATORS={dayTemplateData:Ye=>{if(this._state.dayTemplateData!==Ye)return{dayTemplateData:Ye}},displayMonths:Ye=>{if(Li(Ye=ni(Ye))&&Ye>0&&this._state.displayMonths!==Ye)return{displayMonths:Ye}},disabled:Ye=>{if(this._state.disabled!==Ye)return{disabled:Ye}},firstDayOfWeek:Ye=>{if(Li(Ye=ni(Ye))&&Ye>=0&&this._state.firstDayOfWeek!==Ye)return{firstDayOfWeek:Ye}},focusVisible:Ye=>{if(this._state.focusVisible!==Ye&&!this._state.disabled)return{focusVisible:Ye}},markDisabled:Ye=>{if(this._state.markDisabled!==Ye)return{markDisabled:Ye}},maxDate:Ye=>{const Rt=this.toValidDate(Ye,null);if(hi(this._state.maxDate,Rt))return{maxDate:Rt}},minDate:Ye=>{const Rt=this.toValidDate(Ye,null);if(hi(this._state.minDate,Rt))return{minDate:Rt}},navigation:Ye=>{if(this._state.navigation!==Ye)return{navigation:Ye}},outsideDays:Ye=>{if(this._state.outsideDays!==Ye)return{outsideDays:Ye}},weekdays:Ye=>{const Rt=!0===Ye||!1===Ye?e.Tn.Short:Ye,vr=!0!==Ye&&!1!==Ye||Ye;if(this._state.weekdayWidth!==Rt||this._state.weekdaysVisible!==vr)return{weekdayWidth:Rt,weekdaysVisible:vr}}},this._model$=new ie.xQ,this._dateSelect$=new ie.xQ,this._state={dayTemplateData:null,markDisabled:null,maxDate:null,minDate:null,disabled:!1,displayMonths:1,firstDate:null,firstDayOfWeek:1,lastDate:null,focusDate:null,focusVisible:!1,months:[],navigation:"select",outsideDays:"visible",prevDisabled:!1,nextDisabled:!1,selectedDate:null,selectBoxes:{years:[],months:[]},weekdayWidth:e.Tn.Short,weekdaysVisible:!0}}get model$(){return this._model$.pipe((0,lt.h)(A=>A.months.length>0))}get dateSelect$(){return this._dateSelect$.pipe((0,lt.h)(A=>null!==A))}set(A){let K=Object.keys(A).map(Ye=>this._VALIDATORS[Ye](A[Ye])).reduce((Ye,Rt)=>Object.assign(Object.assign({},Ye),Rt),{});Object.keys(K).length>0&&this._nextState(K)}focus(A){const K=this.toValidDate(A,null);null!=K&&!this._state.disabled&&hi(this._state.focusDate,K)&&this._nextState({focusDate:A})}focusSelect(){Ft(this._state.focusDate,this._state)&&this.select(this._state.focusDate,{emitEvent:!0})}open(A){const K=this.toValidDate(A,this._calendar.getToday());null!=K&&!this._state.disabled&&(!this._state.firstDate||Br(this._state.firstDate,K))&&this._nextState({firstDate:K})}select(A,K={}){const Ye=this.toValidDate(A,null);null!=Ye&&!this._state.disabled&&(hi(this._state.selectedDate,Ye)&&this._nextState({selectedDate:Ye}),K.emitEvent&&Ft(Ye,this._state)&&this._dateSelect$.next(Ye))}toValidDate(A,K){const Ye=si.from(A);return void 0===K&&(K=this._calendar.getToday()),this._calendar.isValid(Ye)?Ye:K}getMonth(A){for(let K of this._state.months)if(A.month===K.number&&A.year===K.year)return K;throw new Error(`month ${A.month} of year ${A.year} not found`)}_nextState(A){const K=this._updateState(A);this._patchContexts(K),this._state=K,this._model$.next(this._state)}_patchContexts(A){const{months:K,displayMonths:Ye,selectedDate:Rt,focusDate:vr,focusVisible:Hr,disabled:_i,outsideDays:ji}=A;A.months.forEach(Eo=>{Eo.weeks.forEach(rs=>{rs.days.forEach(Uo=>{vr&&(Uo.context.focused=vr.equals(Uo.date)&&Hr),Uo.tabindex=!_i&&vr&&Uo.date.equals(vr)&&vr.month===Eo.number?0:-1,!0===_i&&(Uo.context.disabled=!0),void 0!==Rt&&(Uo.context.selected=null!==Rt&&Rt.equals(Uo.date)),Eo.number!==Uo.date.month&&(Uo.hidden="hidden"===ji||"collapsed"===ji||Ye>1&&Uo.date.after(K[0].firstDate)&&Uo.date.before(K[Ye-1].lastDate))})})})}_updateState(A){const K=Object.assign({},this._state,A);let Ye=K.firstDate;if(("minDate"in A||"maxDate"in A)&&(function(V,pe){if(pe&&V&&pe.before(V))throw new Error(`'maxDate' ${pe} should be greater than 'minDate' ${V}`)}(K.minDate,K.maxDate),K.focusDate=ft(K.focusDate,K.minDate,K.maxDate),K.firstDate=ft(K.firstDate,K.minDate,K.maxDate),Ye=K.focusDate),"disabled"in A&&(K.focusVisible=!1),"selectedDate"in A&&0===this._state.months.length&&(Ye=K.selectedDate),"focusVisible"in A||"focusDate"in A&&(K.focusDate=ft(K.focusDate,K.minDate,K.maxDate),Ye=K.focusDate,0!==K.months.length&&K.focusDate&&!K.focusDate.before(K.firstDate)&&!K.focusDate.after(K.lastDate)))return K;if("firstDate"in A&&(K.firstDate=ft(K.firstDate,K.minDate,K.maxDate),Ye=K.firstDate),Ye){const vr=function(V,pe,A,K,Ye){const{displayMonths:Rt,months:vr}=A,Hr=vr.splice(0,vr.length);return Array.from({length:Rt},(ji,Eo)=>{const rs=Object.assign(V.getNext(pe,"m",Eo),{day:1});if(vr[Eo]=null,!Ye){const Uo=Hr.findIndex(us=>us.firstDate.equals(rs));-1!==Uo&&(vr[Eo]=Hr.splice(Uo,1)[0])}return rs}).forEach((ji,Eo)=>{null===vr[Eo]&&(vr[Eo]=function(V,pe,A,K,Ye={}){const{dayTemplateData:Rt,minDate:vr,maxDate:Hr,firstDayOfWeek:_i,markDisabled:ji,outsideDays:Eo,weekdayWidth:rs,weekdaysVisible:Uo}=A,us=V.getToday();Ye.firstDate=null,Ye.lastDate=null,Ye.number=pe.month,Ye.year=pe.year,Ye.weeks=Ye.weeks||[],Ye.weekdays=Ye.weekdays||[],pe=function(V,pe,A){const K=V.getDaysPerWeek(),Ye=new si(pe.year,pe.month,1),Rt=V.getWeekday(Ye)%K;return V.getPrev(Ye,"d",(K+Rt-A)%K)}(V,pe,_i),Uo||(Ye.weekdays.length=0);for(let Ks=0;Ks<V.getWeeksPerMonth();Ks++){let ys=Ye.weeks[Ks];ys||(ys=Ye.weeks[Ks]={number:0,days:[],collapsed:!0});const Xl=ys.days;for(let Dc=0;Dc<V.getDaysPerWeek();Dc++){0===Ks&&Uo&&(Ye.weekdays[Dc]=K.getWeekdayLabel(V.getWeekday(pe),rs));const al=new si(pe.year,pe.month,pe.day),su=V.getNext(al),ea=K.getDayAriaLabel(al);let Kl=!!(vr&&al.before(vr)||Hr&&al.after(Hr));!Kl&&ji&&(Kl=ji(al,{month:Ye.number,year:Ye.year}));let Ul=al.equals(us),zl=Rt?Rt(al,{month:Ye.number,year:Ye.year}):void 0;null===Ye.firstDate&&al.month===Ye.number&&(Ye.firstDate=al),al.month===Ye.number&&su.month!==Ye.number&&(Ye.lastDate=al);let xc=Xl[Dc];xc||(xc=Xl[Dc]={}),xc.date=al,xc.context=Object.assign(xc.context||{},{$implicit:al,date:al,data:zl,currentMonth:Ye.number,currentYear:Ye.year,disabled:Kl,focused:!1,selected:!1,today:Ul}),xc.tabindex=-1,xc.ariaLabel=ea,xc.hidden=!1,pe=su}ys.number=V.getWeekNumber(Xl.map(Dc=>Dc.date),_i),ys.collapsed="collapsed"===Eo&&Xl[0].date.month!==Ye.number&&Xl[Xl.length-1].date.month!==Ye.number}return Ye}(V,ji,A,K,Hr.shift()||{}))}),vr}(this._calendar,Ye,K,this._i18n,"dayTemplateData"in A||"firstDayOfWeek"in A||"markDisabled"in A||"minDate"in A||"maxDate"in A||"disabled"in A||"outsideDays"in A||"weekdaysVisible"in A);K.months=vr,K.firstDate=vr[0].firstDate,K.lastDate=vr[vr.length-1].lastDate,"selectedDate"in A&&!Ft(K.selectedDate,K)&&(K.selectedDate=null),"firstDate"in A&&(!K.focusDate||K.focusDate.before(K.firstDate)||K.focusDate.after(K.lastDate))&&(K.focusDate=Ye);const Hr=!this._state.firstDate||this._state.firstDate.year!==K.firstDate.year,_i=!this._state.firstDate||this._state.firstDate.month!==K.firstDate.month;"select"===K.navigation?(("minDate"in A||"maxDate"in A||0===K.selectBoxes.years.length||Hr)&&(K.selectBoxes.years=function(V,pe,A){if(!V)return[];const K=pe?Math.max(pe.year,V.year-500):V.year-10,Rt=(A?Math.min(A.year,V.year+500):V.year+10)-K+1,vr=Array(Rt);for(let Hr=0;Hr<Rt;Hr++)vr[Hr]=K+Hr;return vr}(K.firstDate,K.minDate,K.maxDate)),("minDate"in A||"maxDate"in A||0===K.selectBoxes.months.length||Hr)&&(K.selectBoxes.months=function(V,pe,A,K){if(!pe)return[];let Ye=V.getMonths(pe.year);if(A&&pe.year===A.year){const Rt=Ye.findIndex(vr=>vr===A.month);Ye=Ye.slice(Rt)}if(K&&pe.year===K.year){const Rt=Ye.findIndex(vr=>vr===K.month);Ye=Ye.slice(0,Rt+1)}return Ye}(this._calendar,K.firstDate,K.minDate,K.maxDate))):K.selectBoxes={years:[],months:[]},("arrows"===K.navigation||"select"===K.navigation)&&(_i||Hr||"minDate"in A||"maxDate"in A||"disabled"in A)&&(K.prevDisabled=K.disabled||function(V,pe,A){const K=Object.assign(V.getPrev(pe,"m"),{day:1});return null!=A&&(K.year===A.year&&K.month<A.month||K.year<A.year&&1===A.month)}(this._calendar,K.firstDate,K.minDate),K.nextDisabled=K.disabled||function(V,pe,A){const K=Object.assign(V.getNext(pe,"m"),{day:1});return null!=A&&K.after(A)}(this._calendar,K.lastDate,K.maxDate))}return K}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(vo),t.LFG(lr))},V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})();var Ti=(()=>{return(V=Ti||(Ti={}))[V.PREV=0]="PREV",V[V.NEXT=1]="NEXT",Ti;var V})();let Ao=(()=>{class V{constructor(){this.displayMonths=1,this.firstDayOfWeek=1,this.navigation="select",this.outsideDays="visible",this.showWeekNumbers=!1,this.weekdays=e.Tn.Short}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})();function Qo(){return new uo}let jo=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:Qo,token:V,providedIn:"root"}),V})(),uo=(()=>{class V extends jo{fromModel(A){return A&&Li(A.year)&&Li(A.month)&&Li(A.day)?{year:A.year,month:A.month,day:A.day}:null}toModel(A){return A&&Li(A.year)&&Li(A.month)&&Li(A.day)?{year:A.year,month:A.month,day:A.day}:null}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})(),eo=(()=>{class V{constructor(A){this.templateRef=A}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.Rgc))},V.\u0275dir=t.lG2({type:V,selectors:[["ng-template","ngbDatepickerContent",""]]}),V})(),Ho=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji){this._service=A,this._calendar=K,this.i18n=Ye,this._elementRef=Hr,this._ngbDateAdapter=_i,this._ngZone=ji,this._controlValue=null,this._destroyed$=new ie.xQ,this._publicState={},this.navigate=new t.vpe,this.dateSelect=new t.vpe,this.onChange=Eo=>{},this.onTouched=()=>{},["dayTemplate","dayTemplateData","displayMonths","firstDayOfWeek","footerTemplate","markDisabled","minDate","maxDate","navigation","outsideDays","showWeekNumbers","startDate","weekdays"].forEach(Eo=>this[Eo]=Rt[Eo]),A.dateSelect$.pipe((0,Et.R)(this._destroyed$)).subscribe(Eo=>{this.dateSelect.emit(Eo)}),A.model$.pipe((0,Et.R)(this._destroyed$)).subscribe(Eo=>{const rs=Eo.firstDate,Uo=this.model?this.model.firstDate:null;this._publicState={maxDate:Eo.maxDate,minDate:Eo.minDate,firstDate:Eo.firstDate,lastDate:Eo.lastDate,focusedDate:Eo.focusDate,months:Eo.months.map(Dc=>Dc.firstDate)};let us=!1;if(!rs.equals(Uo)&&(this.navigate.emit({current:Uo?{year:Uo.year,month:Uo.month}:null,next:{year:rs.year,month:rs.month},preventDefault:()=>us=!0}),us&&null!==Uo))return void this._service.open(Uo);const Ks=Eo.selectedDate,ys=Eo.focusDate,Xl=this.model?this.model.focusDate:null;this.model=Eo,hi(Ks,this._controlValue)&&(this._controlValue=Ks,this.onTouched(),this.onChange(this._ngbDateAdapter.toModel(Ks))),hi(ys,Xl)&&Xl&&Eo.focusVisible&&this.focus(),vr.markForCheck()})}get state(){return this._publicState}get calendar(){return this._calendar}focusDate(A){this._service.focus(si.from(A))}focusSelect(){this._service.focusSelect()}focus(){this._ngZone.onStable.asObservable().pipe((0,nn.q)(1)).subscribe(()=>{const A=this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex="0"]');A&&A.focus()})}navigateTo(A){this._service.open(si.from(A?A.day?A:Object.assign(Object.assign({},A),{day:1}):null))}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const A=(0,oe.R)(this._contentEl.nativeElement,"focusin"),K=(0,oe.R)(this._contentEl.nativeElement,"focusout"),{nativeElement:Ye}=this._elementRef;(0,Ae.T)(A,K).pipe((0,lt.h)(({target:Rt,relatedTarget:vr})=>!(xa(Rt,"ngb-dp-day")&&xa(vr,"ngb-dp-day")&&Ye.contains(Rt)&&Ye.contains(vr))),(0,Et.R)(this._destroyed$)).subscribe(({type:Rt})=>this._ngZone.run(()=>this._service.set({focusVisible:"focusin"===Rt})))})}ngOnDestroy(){this._destroyed$.next()}ngOnInit(){if(void 0===this.model){const A={};["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays","weekdays"].forEach(K=>A[K]=this[K]),this._service.set(A),this.navigateTo(this.startDate)}this.dayTemplate||(this.dayTemplate=this._defaultDayTemplate)}ngOnChanges(A){const K={};if(["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays","weekdays"].filter(Ye=>Ye in A).forEach(Ye=>K[Ye]=this[Ye]),this._service.set(K),"startDate"in A){const{currentValue:Ye,previousValue:Rt}=A.startDate;Br(Rt,Ye)&&this.navigateTo(this.startDate)}}onDateSelect(A){this._service.focus(A),this._service.select(A,{emitEvent:!0})}onNavigateDateSelect(A){this._service.open(A)}onNavigateEvent(A){switch(A){case Ti.PREV:this._service.open(this._calendar.getPrev(this.model.firstDate,"m",1));break;case Ti.NEXT:this._service.open(this._calendar.getNext(this.model.firstDate,"m",1))}}registerOnChange(A){this.onChange=A}registerOnTouched(A){this.onTouched=A}setDisabledState(A){this._service.set({disabled:A})}writeValue(A){this._controlValue=si.from(this._ngbDateAdapter.fromModel(A)),this._service.select(this._controlValue)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(li),t.Y36(vo),t.Y36(lr),t.Y36(Ao),t.Y36(t.sBO),t.Y36(t.SBq),t.Y36(jo),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-datepicker"]],contentQueries:function(A,K,Ye){if(1&A&&t.Suo(Ye,eo,7),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K.contentTemplate=Rt.first)}},viewQuery:function(A,K){if(1&A&&(t.Gf(Sn,7),t.Gf($n,7)),2&A){let Ye;t.iGM(Ye=t.CRH())&&(K._defaultDayTemplate=Ye.first),t.iGM(Ye=t.CRH())&&(K._contentEl=Ye.first)}},inputs:{dayTemplate:"dayTemplate",dayTemplateData:"dayTemplateData",displayMonths:"displayMonths",firstDayOfWeek:"firstDayOfWeek",footerTemplate:"footerTemplate",markDisabled:"markDisabled",maxDate:"maxDate",minDate:"minDate",navigation:"navigation",outsideDays:"outsideDays",showWeekNumbers:"showWeekNumbers",startDate:"startDate",weekdays:"weekdays"},outputs:{navigate:"navigate",dateSelect:"dateSelect"},exportAs:["ngbDatepicker"],features:[t._Bn([{provide:zt.JU,useExisting:(0,t.Gpc)(()=>V),multi:!0},li]),t.TTD],decls:10,vars:5,consts:[["defaultDayTemplate",""],["defaultContentTemplate",""],[1,"ngb-dp-header"],[3,"date","months","disabled","showSelect","prevDisabled","nextDisabled","selectBoxes","navigate","select",4,"ngIf"],[1,"ngb-dp-content"],["content",""],[3,"ngTemplateOutlet"],["ngbDatepickerDayView","",3,"date","currentMonth","selected","disabled","focused"],["class","ngb-dp-month",4,"ngFor","ngForOf"],[1,"ngb-dp-month"],["class","ngb-dp-month-name",4,"ngIf"],[3,"month"],[1,"ngb-dp-month-name"],[3,"date","months","disabled","showSelect","prevDisabled","nextDisabled","selectBoxes","navigate","select"]],template:function(A,K){if(1&A&&(t.YNc(0,En,1,5,"ng-template",null,0,t.W1O),t.YNc(2,mn,1,1,"ng-template",null,1,t.W1O),t.TgZ(4,"div",2),t.YNc(5,jn,1,7,"ngb-datepicker-navigation",3),t.qZA(),t.TgZ(6,"div",4,5),t.YNc(8,Xt,0,0,"ng-template",6),t.qZA(),t.YNc(9,ut,0,0,"ng-template",6)),2&A){const Ye=t.MAs(3);t.xp6(5),t.Q6J("ngIf","none"!==K.navigation),t.xp6(1),t.ekj("ngb-dp-months",!K.contentTemplate),t.xp6(2),t.Q6J("ngTemplateOutlet",(null==K.contentTemplate?null:K.contentTemplate.templateRef)||Ye),t.xp6(1),t.Q6J("ngTemplateOutlet",K.footerTemplate)}},directives:function(){return[e.O5,e.tP,Te,e.sg,ha,fl]},styles:["ngb-datepicker{border:1px solid #dfdfdf;border-radius:.25rem;display:inline-block}ngb-datepicker-month{pointer-events:auto}ngb-datepicker.dropdown-menu{padding:0}.ngb-dp-body{z-index:1050}.ngb-dp-header{border-bottom:0;border-radius:.25rem .25rem 0 0;padding-top:.25rem;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-months{display:flex}.ngb-dp-month{pointer-events:none}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,.ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-left:1rem}.ngb-dp-month:last-child .ngb-dp-week{padding-right:.25rem}.ngb-dp-month:first-child .ngb-dp-week{padding-left:.25rem}.ngb-dp-month .ngb-dp-week:last-child{padding-bottom:.25rem}"],encapsulation:2,changeDetection:0}),V})();var Zi=(()=>{return(V=Zi||(Zi={}))[V.Tab=9]="Tab",V[V.Enter=13]="Enter",V[V.Escape=27]="Escape",V[V.Space=32]="Space",V[V.PageUp=33]="PageUp",V[V.PageDown=34]="PageDown",V[V.End=35]="End",V[V.Home=36]="Home",V[V.ArrowLeft=37]="ArrowLeft",V[V.ArrowUp=38]="ArrowUp",V[V.ArrowRight=39]="ArrowRight",V[V.ArrowDown=40]="ArrowDown",Zi;var V})();let na=(()=>{class V{processKey(A,K){const{state:Ye,calendar:Rt}=K;switch(A.which){case Zi.PageUp:K.focusDate(Rt.getPrev(Ye.focusedDate,A.shiftKey?"y":"m",1));break;case Zi.PageDown:K.focusDate(Rt.getNext(Ye.focusedDate,A.shiftKey?"y":"m",1));break;case Zi.End:K.focusDate(A.shiftKey?Ye.maxDate:Ye.lastDate);break;case Zi.Home:K.focusDate(A.shiftKey?Ye.minDate:Ye.firstDate);break;case Zi.ArrowLeft:K.focusDate(Rt.getPrev(Ye.focusedDate,"d",1));break;case Zi.ArrowUp:K.focusDate(Rt.getPrev(Ye.focusedDate,"d",Rt.getDaysPerWeek()));break;case Zi.ArrowRight:K.focusDate(Rt.getNext(Ye.focusedDate,"d",1));break;case Zi.ArrowDown:K.focusDate(Rt.getNext(Ye.focusedDate,"d",Rt.getDaysPerWeek()));break;case Zi.Enter:case Zi.Space:K.focusSelect();break;default:return}A.preventDefault(),A.stopPropagation()}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),ha=(()=>{class V{constructor(A,K,Ye,Rt){this.i18n=A,this.datepicker=K,this._keyboardService=Ye,this._service=Rt}set month(A){this.viewModel=this._service.getMonth(A)}onKeyDown(A){this._keyboardService.processKey(A,this.datepicker)}doSelect(A){!A.context.disabled&&!A.hidden&&this.datepicker.onDateSelect(A.date)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(lr),t.Y36(Ho),t.Y36(na),t.Y36(li))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-datepicker-month"]],hostAttrs:["role","grid"],hostBindings:function(A,K){1&A&&t.NdJ("keydown",function(Rt){return K.onKeyDown(Rt)})},inputs:{month:"month"},decls:2,vars:2,consts:[["class","ngb-dp-week ngb-dp-weekdays","role","row",4,"ngIf"],["ngFor","",3,"ngForOf"],["role","row",1,"ngb-dp-week","ngb-dp-weekdays"],["class","ngb-dp-weekday ngb-dp-showweek small",4,"ngIf"],["class","ngb-dp-weekday small","role","columnheader",4,"ngFor","ngForOf"],[1,"ngb-dp-weekday","ngb-dp-showweek","small"],["role","columnheader",1,"ngb-dp-weekday","small"],["class","ngb-dp-week","role","row",4,"ngIf"],["role","row",1,"ngb-dp-week"],["class","ngb-dp-week-number small text-muted",4,"ngIf"],["class","ngb-dp-day","role","gridcell",3,"disabled","tabindex","hidden","ngb-dp-today","click",4,"ngFor","ngForOf"],[1,"ngb-dp-week-number","small","text-muted"],["role","gridcell",1,"ngb-dp-day",3,"tabindex","click"],[3,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(A,K){1&A&&(t.YNc(0,yn,3,2,"div",0),t.YNc(1,ht,1,1,"ng-template",1)),2&A&&(t.Q6J("ngIf",K.viewModel.weekdays.length>0),t.xp6(1),t.Q6J("ngForOf",K.viewModel.weeks))},directives:[e.O5,e.sg,e.tP],styles:['ngb-datepicker-month{display:block}.ngb-dp-week-number,.ngb-dp-weekday{line-height:2rem;text-align:center;font-style:italic}.ngb-dp-weekday{color:#5bc0de;color:var(--info)}.ngb-dp-week{border-radius:.25rem;display:flex}.ngb-dp-weekdays{border-bottom:1px solid rgba(0,0,0,.125);border-radius:0;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-day,.ngb-dp-week-number,.ngb-dp-weekday{width:2rem;height:2rem}.ngb-dp-day{cursor:pointer}.ngb-dp-day.disabled,.ngb-dp-day.hidden{cursor:default;pointer-events:none}.ngb-dp-day[tabindex="0"]{z-index:1}'],encapsulation:2}),V})(),fl=(()=>{class V{constructor(A){this.i18n=A,this.navigation=Ti,this.months=[],this.navigate=new t.vpe,this.select=new t.vpe}onClickPrev(A){A.currentTarget.focus(),this.navigate.emit(this.navigation.PREV)}onClickNext(A){A.currentTarget.focus(),this.navigate.emit(this.navigation.NEXT)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(lr))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-datepicker-navigation"]],inputs:{months:"months",date:"date",disabled:"disabled",showSelect:"showSelect",prevDisabled:"prevDisabled",nextDisabled:"nextDisabled",selectBoxes:"selectBoxes"},outputs:{navigate:"navigate",select:"select"},decls:8,vars:4,consts:function(){let pe,A,K,Ye;return pe="Previous month",A="Previous month",K="Next month",Ye="Next month",[[1,"ngb-dp-arrow"],["type","button","aria-label",pe,"title",A,1,"btn","btn-link","ngb-dp-arrow-btn",3,"disabled","click"],[1,"ngb-dp-navigation-chevron"],["class","ngb-dp-navigation-select",3,"date","disabled","months","years","select",4,"ngIf"],[4,"ngIf"],[1,"ngb-dp-arrow","right"],["type","button","aria-label",K,"title",Ye,1,"btn","btn-link","ngb-dp-arrow-btn",3,"disabled","click"],[1,"ngb-dp-navigation-select",3,"date","disabled","months","years","select"],["ngFor","",3,"ngForOf"],["class","ngb-dp-arrow",4,"ngIf"],[1,"ngb-dp-month-name"]]},template:function(A,K){1&A&&(t.TgZ(0,"div",0),t.TgZ(1,"button",1),t.NdJ("click",function(Rt){return K.onClickPrev(Rt)}),t._UZ(2,"span",2),t.qZA(),t.qZA(),t.YNc(3,L,1,4,"ngb-datepicker-navigation-select",3),t.YNc(4,it,1,1,void 0,4),t.TgZ(5,"div",5),t.TgZ(6,"button",6),t.NdJ("click",function(Rt){return K.onClickNext(Rt)}),t._UZ(7,"span",2),t.qZA(),t.qZA()),2&A&&(t.xp6(1),t.Q6J("disabled",K.prevDisabled),t.xp6(2),t.Q6J("ngIf",K.showSelect),t.xp6(1),t.Q6J("ngIf",!K.showSelect),t.xp6(2),t.Q6J("disabled",K.nextDisabled))},directives:function(){return[e.O5,ge,e.sg]},styles:["ngb-datepicker-navigation{display:flex;align-items:center}.ngb-dp-navigation-chevron{border-style:solid;border-width:.2em .2em 0 0;display:inline-block;width:.75em;height:.75em;margin-left:.25em;margin-right:.15em;transform:rotate(-135deg)}.ngb-dp-arrow{display:flex;flex:1 1 auto;padding-right:0;padding-left:0;margin:0;width:2rem;height:2rem}.ngb-dp-arrow.right{justify-content:flex-end}.ngb-dp-arrow.right .ngb-dp-navigation-chevron{transform:rotate(45deg);margin-left:.15em;margin-right:.25em}.ngb-dp-arrow-btn{padding:0 .25rem;margin:0 .5rem;border:none;background-color:transparent;z-index:1}.ngb-dp-arrow-btn:focus{outline-width:1px;outline-style:auto}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.ngb-dp-arrow-btn:focus{outline-style:solid}}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center}.ngb-dp-navigation-select{display:flex;flex:1 1 9rem}"],encapsulation:2,changeDetection:0}),V})();const Hn=(V,pe)=>!!pe&&pe.some(A=>A.contains(V)),Ll=(V,pe)=>!pe||null!=function(V,pe){return pe&&void 0!==V.closest?V.closest(pe):null}(V,pe),As="undefined"!=typeof navigator&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function fc(V,pe,A,K,Ye,Rt,vr,Hr){A&&V.runOutsideAngular((V=>As?()=>setTimeout(()=>V(),100):V)(()=>{const ji=(0,oe.R)(pe,"keydown").pipe((0,Et.R)(Ye),(0,lt.h)(Uo=>Uo.which===Zi.Escape),(0,ae.b)(Uo=>Uo.preventDefault())),Eo=(0,oe.R)(pe,"mousedown").pipe((0,St.U)(Uo=>{const us=Uo.target;return 2!==Uo.button&&!Hn(us,vr)&&("inside"===A?Hn(us,Rt)&&Ll(us,Hr):"outside"===A?!Hn(us,Rt):Ll(us,Hr)||!Hn(us,Rt))}),(0,Et.R)(Ye)),rs=(0,oe.R)(pe,"mouseup").pipe(be(Eo),(0,lt.h)(([Uo,us])=>us),(0,Ie.g)(0),(0,Et.R)(Ye));h([ji.pipe((0,St.U)(Uo=>0)),rs.pipe((0,St.U)(Uo=>1))]).subscribe(Uo=>V.run(()=>K(Uo)))}))}const Fl=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function bl(V){const pe=Array.from(V.querySelectorAll(Fl)).filter(A=>-1!==A.tabIndex);return[pe[0],pe[pe.length-1]]}const ql=(V,pe,A,K=!1)=>{V.runOutsideAngular(()=>{const Ye=(0,oe.R)(pe,"focusin").pipe((0,Et.R)(A),(0,St.U)(Rt=>Rt.target));(0,oe.R)(pe,"keydown").pipe((0,Et.R)(A),(0,lt.h)(Rt=>Rt.which===Zi.Tab),be(Ye)).subscribe(([Rt,vr])=>{const[Hr,_i]=bl(pe);(vr===Hr||vr===pe)&&Rt.shiftKey&&(_i.focus(),Rt.preventDefault()),vr===_i&&!Rt.shiftKey&&(Hr.focus(),Rt.preventDefault())}),K&&(0,oe.R)(pe,"click").pipe((0,Et.R)(A),be(Ye),(0,St.U)(Rt=>Rt[1])).subscribe(Rt=>Rt.focus())})},Yl=/\s+/,ru=new class{getAllStyles(pe){return window.getComputedStyle(pe)}getStyle(pe,A){return this.getAllStyles(pe)[A]}isStaticPositioned(pe){return"static"===(this.getStyle(pe,"position")||"static")}offsetParent(pe){let A=pe.offsetParent||document.documentElement;for(;A&&A!==document.documentElement&&this.isStaticPositioned(A);)A=A.offsetParent;return A||document.documentElement}position(pe,A=!0){let K,Ye={width:0,height:0,top:0,bottom:0,left:0,right:0};if("fixed"===this.getStyle(pe,"position"))K=pe.getBoundingClientRect(),K={top:K.top,bottom:K.bottom,left:K.left,right:K.right,height:K.height,width:K.width};else{const Rt=this.offsetParent(pe);K=this.offset(pe,!1),Rt!==document.documentElement&&(Ye=this.offset(Rt,!1)),Ye.top+=Rt.clientTop,Ye.left+=Rt.clientLeft}return K.top-=Ye.top,K.bottom-=Ye.top,K.left-=Ye.left,K.right-=Ye.left,A&&(K.top=Math.round(K.top),K.bottom=Math.round(K.bottom),K.left=Math.round(K.left),K.right=Math.round(K.right)),K}offset(pe,A=!0){const K=pe.getBoundingClientRect(),Ye_top=window.pageYOffset-document.documentElement.clientTop,Ye_left=window.pageXOffset-document.documentElement.clientLeft;let Rt={height:K.height||pe.offsetHeight,width:K.width||pe.offsetWidth,top:K.top+Ye_top,bottom:K.bottom+Ye_top,left:K.left+Ye_left,right:K.right+Ye_left};return A&&(Rt.height=Math.round(Rt.height),Rt.width=Math.round(Rt.width),Rt.top=Math.round(Rt.top),Rt.bottom=Math.round(Rt.bottom),Rt.left=Math.round(Rt.left),Rt.right=Math.round(Rt.right)),Rt}positionElements(pe,A,K,Ye){const[Rt="top",vr="center"]=K.split("-"),Hr=Ye?this.offset(pe,!1):this.position(pe,!1),_i=this.getAllStyles(A),ji=parseFloat(_i.marginTop),Eo=parseFloat(_i.marginBottom),rs=parseFloat(_i.marginLeft),Uo=parseFloat(_i.marginRight);let us=0,Ks=0;switch(Rt){case"top":us=Hr.top-(A.offsetHeight+ji+Eo);break;case"bottom":us=Hr.top+Hr.height;break;case"left":Ks=Hr.left-(A.offsetWidth+rs+Uo);break;case"right":Ks=Hr.left+Hr.width}switch(vr){case"top":us=Hr.top;break;case"bottom":us=Hr.top+Hr.height-A.offsetHeight;break;case"left":Ks=Hr.left;break;case"right":Ks=Hr.left+Hr.width-A.offsetWidth;break;case"center":"top"===Rt||"bottom"===Rt?Ks=Hr.left+Hr.width/2-A.offsetWidth/2:us=Hr.top+Hr.height/2-A.offsetHeight/2}A.style.transform=`translate(${Math.round(Ks)}px, ${Math.round(us)}px)`;const ys=A.getBoundingClientRect(),Xl=document.documentElement,Dc=window.innerHeight||Xl.clientHeight,al=window.innerWidth||Xl.clientWidth;return ys.left>=0&&ys.top>=0&&ys.right<=al&&ys.bottom<=Dc}};function Je(V,pe,A,K,Ye){let Rt=Array.isArray(A)?A:A.split(Yl);const vr=["top","bottom","left","right","top-left","top-right","bottom-left","bottom-right","left-top","left-bottom","right-top","right-bottom"],Hr=pe.classList,_i=us=>{const[Ks,ys]=us.split("-"),Xl=[];return Ye&&(Xl.push(`${Ye}-${Ks}`),ys&&Xl.push(`${Ye}-${Ks}-${ys}`),Xl.forEach(Dc=>{Hr.add(Dc)})),Xl};Ye&&vr.forEach(us=>{Hr.remove(`${Ye}-${us}`)});let ji=Rt.findIndex(us=>"auto"===us);ji>=0&&vr.forEach(function(us){null==Rt.find(Ks=>-1!==Ks.search("^"+us))&&Rt.splice(ji++,1,us)});const Eo=pe.style;Eo.position="absolute",Eo.top="0",Eo.left="0",Eo["will-change"]="transform";let rs=null,Uo=!1;for(rs of Rt){let us=_i(rs);if(ru.positionElements(V,pe,rs,K)){Uo=!0;break}Ye&&us.forEach(Ks=>{Hr.remove(Ks)})}return Uo||(rs=Rt[0],_i(rs),ru.positionElements(V,pe,rs,K)),rs}function Fe(){return new Ot}let we=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:Fe,token:V,providedIn:"root"}),V})(),Ot=(()=>{class V extends we{parse(A){if(null!=A){const K=A.trim().split("-");if(1===K.length&&Hi(K[0]))return{year:ni(K[0]),month:null,day:null};if(2===K.length&&Hi(K[0])&&Hi(K[1]))return{year:ni(K[0]),month:ni(K[1]),day:null};if(3===K.length&&Hi(K[0])&&Hi(K[1])&&Hi(K[2]))return{year:ni(K[0]),month:ni(K[1]),day:ni(K[2])}}return null}format(A){return A?`${A.year}-${Hi(A.month)?Os(A.month):""}-${Hi(A.day)?Os(A.day):""}`:""}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})(),xe=(()=>{class V extends Ao{constructor(){super(...arguments),this.autoClose=!0,this.placement=["bottom-left","bottom-right","top-left","top-right"],this.restoreFocus=!0}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),ke=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji,Eo,rs,Uo){this._parserFormatter=A,this._elRef=K,this._vcRef=Ye,this._renderer=Rt,this._cfr=vr,this._ngZone=Hr,this._calendar=_i,this._dateAdapter=ji,this._document=Eo,this._changeDetector=rs,this._cRef=null,this._disabled=!1,this._elWithFocus=null,this._model=null,this.dateSelect=new t.vpe,this.navigate=new t.vpe,this.closed=new t.vpe,this._onChange=us=>{},this._onTouched=()=>{},this._validatorChange=()=>{},["autoClose","container","positionTarget","placement"].forEach(us=>this[us]=Uo[us]),this._zoneSubscription=Hr.onStable.subscribe(()=>this._updatePopupPosition())}get disabled(){return this._disabled}set disabled(A){this._disabled=""===A||A&&"false"!==A,this.isOpen()&&this._cRef.instance.setDisabledState(this._disabled)}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}registerOnValidatorChange(A){this._validatorChange=A}setDisabledState(A){this.disabled=A}validate(A){const{value:K}=A;if(null!=K){const Ye=this._fromDateStruct(this._dateAdapter.fromModel(K));if(!Ye)return{ngbDate:{invalid:K}};if(this.minDate&&Ye.before(si.from(this.minDate)))return{ngbDate:{minDate:{minDate:this.minDate,actual:K}}};if(this.maxDate&&Ye.after(si.from(this.maxDate)))return{ngbDate:{maxDate:{maxDate:this.maxDate,actual:K}}}}return null}writeValue(A){this._model=this._fromDateStruct(this._dateAdapter.fromModel(A)),this._writeModelValue(this._model)}manualDateChange(A,K=!1){const Ye=A!==this._inputValue;Ye&&(this._inputValue=A,this._model=this._fromDateStruct(this._parserFormatter.parse(A))),(Ye||!K)&&this._onChange(this._model?this._dateAdapter.toModel(this._model):""===A?null:A),K&&this._model&&this._writeModelValue(this._model)}isOpen(){return!!this._cRef}open(){if(!this.isOpen()){const A=this._cfr.resolveComponentFactory(Ho);this._cRef=this._vcRef.createComponent(A),this._applyPopupStyling(this._cRef.location.nativeElement),this._applyDatepickerInputs(this._cRef.instance),this._subscribeForDatepickerOutputs(this._cRef.instance),this._cRef.instance.ngOnInit(),this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model)),this._cRef.instance.registerOnChange(K=>{this.writeValue(K),this._onChange(K),this._onTouched()}),this._cRef.changeDetectorRef.detectChanges(),this._cRef.instance.setDisabledState(this.disabled),"body"===this.container&&this._document.querySelector(this.container).appendChild(this._cRef.location.nativeElement),this._elWithFocus=this._document.activeElement,ql(this._ngZone,this._cRef.location.nativeElement,this.closed,!0),this._cRef.instance.focus(),fc(this._ngZone,this._document,this.autoClose,()=>this.close(),this.closed,[],[this._elRef.nativeElement,this._cRef.location.nativeElement])}}close(){if(this.isOpen()){this._vcRef.remove(this._vcRef.indexOf(this._cRef.hostView)),this._cRef=null,this.closed.emit(),this._changeDetector.markForCheck();let A=this._elWithFocus;gi(this.restoreFocus)?A=this._document.querySelector(this.restoreFocus):void 0!==this.restoreFocus&&(A=this.restoreFocus),A&&A.focus?A.focus():this._document.body.focus()}}toggle(){this.isOpen()?this.close():this.open()}navigateTo(A){this.isOpen()&&this._cRef.instance.navigateTo(A)}onBlur(){this._onTouched()}onFocus(){this._elWithFocus=this._elRef.nativeElement}ngOnChanges(A){if((A.minDate||A.maxDate)&&(this._validatorChange(),this.isOpen()&&(A.minDate&&(this._cRef.instance.minDate=this.minDate),A.maxDate&&(this._cRef.instance.maxDate=this.maxDate),this._cRef.instance.ngOnChanges(A))),A.datepickerClass){const{currentValue:K,previousValue:Ye}=A.datepickerClass;this._applyPopupClass(K,Ye)}}ngOnDestroy(){this.close(),this._zoneSubscription.unsubscribe()}_applyDatepickerInputs(A){["dayTemplate","dayTemplateData","displayMonths","firstDayOfWeek","footerTemplate","markDisabled","minDate","maxDate","navigation","outsideDays","showNavigation","showWeekNumbers","weekdays"].forEach(K=>{void 0!==this[K]&&(A[K]=this[K])}),A.startDate=this.startDate||this._model}_applyPopupClass(A,K){var Ye;const Rt=null===(Ye=this._cRef)||void 0===Ye?void 0:Ye.location.nativeElement;Rt&&(A&&this._renderer.addClass(Rt,A),K&&this._renderer.removeClass(Rt,K))}_applyPopupStyling(A){this._renderer.addClass(A,"dropdown-menu"),this._renderer.addClass(A,"show"),"body"===this.container&&this._renderer.addClass(A,"ngb-dp-body"),this._applyPopupClass(this.datepickerClass)}_subscribeForDatepickerOutputs(A){A.navigate.subscribe(K=>this.navigate.emit(K)),A.dateSelect.subscribe(K=>{this.dateSelect.emit(K),(!0===this.autoClose||"inside"===this.autoClose)&&this.close()})}_writeModelValue(A){const K=this._parserFormatter.format(A);this._inputValue=K,this._renderer.setProperty(this._elRef.nativeElement,"value",K),this.isOpen()&&(this._cRef.instance.writeValue(this._dateAdapter.toModel(A)),this._onTouched())}_fromDateStruct(A){const K=A?new si(A.year,A.month,A.day):null;return this._calendar.isValid(K)?K:null}_updatePopupPosition(){if(!this._cRef)return;let A;if(A=gi(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget instanceof HTMLElement?this.positionTarget:this._elRef.nativeElement,this.positionTarget&&!A)throw new Error("ngbDatepicker could not find element declared in [positionTarget] to position against.");Je(A,this._cRef.location.nativeElement,this.placement,"body"===this.container)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(we),t.Y36(t.SBq),t.Y36(t.s_b),t.Y36(t.Qsj),t.Y36(t._Vd),t.Y36(t.R0b),t.Y36(vo),t.Y36(jo),t.Y36(e.K0),t.Y36(t.sBO),t.Y36(xe))},V.\u0275dir=t.lG2({type:V,selectors:[["input","ngbDatepicker",""]],hostVars:1,hostBindings:function(A,K){1&A&&t.NdJ("input",function(Rt){return K.manualDateChange(Rt.target.value)})("change",function(Rt){return K.manualDateChange(Rt.target.value,!0)})("focus",function(){return K.onFocus()})("blur",function(){return K.onBlur()}),2&A&&t.Ikx("disabled",K.disabled)},inputs:{disabled:"disabled",autoClose:"autoClose",datepickerClass:"datepickerClass",dayTemplate:"dayTemplate",dayTemplateData:"dayTemplateData",displayMonths:"displayMonths",firstDayOfWeek:"firstDayOfWeek",footerTemplate:"footerTemplate",markDisabled:"markDisabled",minDate:"minDate",maxDate:"maxDate",navigation:"navigation",outsideDays:"outsideDays",placement:"placement",restoreFocus:"restoreFocus",showWeekNumbers:"showWeekNumbers",startDate:"startDate",container:"container",positionTarget:"positionTarget",weekdays:"weekdays"},outputs:{dateSelect:"dateSelect",navigate:"navigate",closed:"closed"},exportAs:["ngbDatepicker"],features:[t._Bn([{provide:zt.JU,useExisting:(0,t.Gpc)(()=>V),multi:!0},{provide:zt.Cf,useExisting:(0,t.Gpc)(()=>V),multi:!0},{provide:Ao,useExisting:xe}]),t.TTD]}),V})(),Te=(()=>{class V{constructor(A){this.i18n=A}isMuted(){return!this.selected&&(this.date.month!==this.currentMonth||this.disabled)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(lr))},V.\u0275cmp=t.Xpm({type:V,selectors:[["","ngbDatepickerDayView",""]],hostAttrs:[1,"btn-light"],hostVars:10,hostBindings:function(A,K){2&A&&t.ekj("bg-primary",K.selected)("text-white",K.selected)("text-muted",K.isMuted())("outside",K.isMuted())("active",K.focused)},inputs:{currentMonth:"currentMonth",date:"date",disabled:"disabled",focused:"focused",selected:"selected"},attrs:Pt,decls:1,vars:1,template:function(A,K){1&A&&t._uU(0),2&A&&t.Oqu(K.i18n.getDayNumerals(K.date))},styles:["[ngbDatepickerDayView]{text-align:center;width:2rem;height:2rem;line-height:2rem;border-radius:.25rem;background:transparent}[ngbDatepickerDayView].outside{opacity:.5}"],encapsulation:2,changeDetection:0}),V})(),ge=(()=>{class V{constructor(A,K){this.i18n=A,this._renderer=K,this.select=new t.vpe,this._month=-1,this._year=-1}changeMonth(A){this.select.emit(new si(this.date.year,ni(A),1))}changeYear(A){this.select.emit(new si(ni(A),this.date.month,1))}ngAfterViewChecked(){this.date&&(this.date.month!==this._month&&(this._month=this.date.month,this._renderer.setProperty(this.monthSelect.nativeElement,"value",this._month)),this.date.year!==this._year&&(this._year=this.date.year,this._renderer.setProperty(this.yearSelect.nativeElement,"value",this._year)))}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(lr),t.Y36(t.Qsj))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-datepicker-navigation-select"]],viewQuery:function(A,K){if(1&A&&(t.Gf(Ut,7,t.SBq),t.Gf(ot,7,t.SBq)),2&A){let Ye;t.iGM(Ye=t.CRH())&&(K.monthSelect=Ye.first),t.iGM(Ye=t.CRH())&&(K.yearSelect=Ye.first)}},inputs:{date:"date",disabled:"disabled",months:"months",years:"years"},outputs:{select:"select"},decls:6,vars:4,consts:function(){let pe,A,K,Ye;return pe="Select month",A="Select month",K="Select year",Ye="Select year",[["aria-label",pe,"title",A,1,"custom-select",3,"disabled","change"],["month",""],[3,"value",4,"ngFor","ngForOf"],["aria-label",K,"title",Ye,1,"custom-select",3,"disabled","change"],["year",""],[3,"value"]]},template:function(A,K){1&A&&(t.TgZ(0,"select",0,1),t.NdJ("change",function(Rt){return K.changeMonth(Rt.target.value)}),t.YNc(2,Nn,2,3,"option",2),t.qZA(),t.TgZ(3,"select",3,4),t.NdJ("change",function(Rt){return K.changeYear(Rt.target.value)}),t.YNc(5,sn,2,2,"option",2),t.qZA()),2&A&&(t.Q6J("disabled",K.disabled),t.xp6(2),t.Q6J("ngForOf",K.months),t.xp6(1),t.Q6J("disabled",K.disabled),t.xp6(2),t.Q6J("ngForOf",K.years))},directives:[e.sg,zt.YN,zt.Kr],styles:["ngb-datepicker-navigation-select>.custom-select{flex:1 1 auto;padding:0 .5rem;font-size:.875rem;height:1.85rem}ngb-datepicker-navigation-select>.custom-select:focus{z-index:1}ngb-datepicker-navigation-select>.custom-select::-ms-value{background-color:transparent!important}"],encapsulation:2,changeDetection:0}),V})();new Date(1882,10,12),new Date(2174,10,25);let cc=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez,zt.u5]]}),V})(),Ac=(()=>{class V{constructor(){this.autoClose=!0,this.placement=["bottom-left","bottom-right","top-left","top-right"]}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),bu=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275dir=t.lG2({type:V,selectors:[["",8,"navbar"]]}),V})(),ou=(()=>{class V{constructor(A){this.elementRef=A,this._disabled=!1}set disabled(A){this._disabled=""===A||!0===A}get disabled(){return this._disabled}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:2,hostBindings:function(A,K){2&A&&t.ekj("disabled",K.disabled)},inputs:{disabled:"disabled"}}),V})(),xl=(()=>{class V{constructor(A,K){this.dropdown=A,this.placement="bottom",this.isOpen=!1,this.nativeElement=K.nativeElement}}return V.\u0275fac=function(A){return new(A||V)(t.Y36((0,t.Gpc)(()=>tl)),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(A,K,Ye){if(1&A&&t.Suo(Ye,ou,4),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K.menuItems=Rt)}},hostVars:5,hostBindings:function(A,K){1&A&&t.NdJ("keydown.ArrowUp",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.ArrowDown",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Home",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.End",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Enter",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Space",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Tab",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Shift.Tab",function(Rt){return K.dropdown.onKeyDown(Rt)}),2&A&&(t.uIk("x-placement",K.placement),t.ekj("dropdown-menu",!0)("show",K.dropdown.isOpen()))}}),V})(),Vl=(()=>{class V{constructor(A,K){this.dropdown=A,this.nativeElement=K.nativeElement}}return V.\u0275fac=function(A){return new(A||V)(t.Y36((0,t.Gpc)(()=>tl)),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(A,K){2&A&&t.uIk("aria-expanded",K.dropdown.isOpen())}}),V})(),el=(()=>{class V extends Vl{constructor(A,K){super(A,K)}}return V.\u0275fac=function(A){return new(A||V)(t.Y36((0,t.Gpc)(()=>tl)),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(A,K){1&A&&t.NdJ("click",function(){return K.dropdown.toggle()})("keydown.ArrowUp",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.ArrowDown",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Home",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.End",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Tab",function(Rt){return K.dropdown.onKeyDown(Rt)})("keydown.Shift.Tab",function(Rt){return K.dropdown.onKeyDown(Rt)}),2&A&&t.uIk("aria-expanded",K.dropdown.isOpen())},features:[t._Bn([{provide:Vl,useExisting:(0,t.Gpc)(()=>V)}]),t.qOj]}),V})(),tl=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i){this._changeDetector=A,this._document=Ye,this._ngZone=Rt,this._elementRef=vr,this._renderer=Hr,this._closed$=new ie.xQ,this._bodyContainer=null,this._open=!1,this.openChange=new t.vpe,this.placement=K.placement,this.container=K.container,this.autoClose=K.autoClose,this.display=_i?"static":"dynamic",this._zoneSubscription=Rt.onStable.subscribe(()=>{this._positionMenu()})}ngAfterContentInit(){this._ngZone.onStable.pipe((0,nn.q)(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(A){if(A.container&&this._open&&this._applyContainer(this.container),A.placement&&!A.placement.isFirstChange&&this._applyPlacementClasses(),A.dropdownClass){const{currentValue:K,previousValue:Ye}=A.dropdownClass;this._applyCustomDropdownClass(K,Ye)}}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&this._anchor.nativeElement.focus())}_setCloseHandlers(){fc(this._ngZone,this._document,this.autoClose,A=>{this.close(),0===A&&this._anchor.nativeElement.focus()},this._closed$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._closed$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this._resetContainer(),this._closed$.next(),this._zoneSubscription.unsubscribe()}onKeyDown(A){const K=A.which,Ye=this._getMenuElements();let Rt=-1,vr=null;const Hr=this._isEventFromToggle(A);if(!Hr&&Ye.length&&Ye.forEach((_i,ji)=>{_i.contains(A.target)&&(vr=_i),_i===this._document.activeElement&&(Rt=ji)}),K!==Zi.Space&&K!==Zi.Enter){if(K!==Zi.Tab){if(Hr||vr){if(this.open(),Ye.length){switch(K){case Zi.ArrowDown:Rt=Math.min(Rt+1,Ye.length-1);break;case Zi.ArrowUp:if(this._isDropup()&&-1===Rt){Rt=Ye.length-1;break}Rt=Math.max(Rt-1,0);break;case Zi.Home:Rt=0;break;case Zi.End:Rt=Ye.length-1}Ye[Rt].focus()}A.preventDefault()}}else if(A.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===A.target)return void("body"!==this.container||A.shiftKey?A.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const _i=this._menu.nativeElement.querySelectorAll(Fl);A.shiftKey&&A.target===_i[0]?(this._anchor.nativeElement.focus(),A.preventDefault()):!A.shiftKey&&A.target===_i[_i.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else(0,oe.R)(A.target,"focusout").pipe((0,nn.q)(1)).subscribe(({relatedTarget:_i})=>{this._elementRef.nativeElement.contains(_i)||this.close()})}}else vr&&(!0===this.autoClose||"inside"===this.autoClose)&&(0,oe.R)(vr,"click").pipe((0,nn.q)(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(A){return this._anchor.nativeElement.contains(A.target)}_getMenuElements(){const A=this._menu;return null==A?[]:A.menuItems.filter(K=>!K.disabled).map(K=>K.elementRef.nativeElement)}_positionMenu(){const A=this._menu;this.isOpen()&&A&&this._applyPlacementClasses("dynamic"===this.display?Je(this._anchor.nativeElement,this._bodyContainer||this._menu.nativeElement,this.placement,"body"===this.container):this._getFirstPlacement(this.placement))}_getFirstPlacement(A){return Array.isArray(A)?A[0]:A.split(" ")[0]}_resetContainer(){const A=this._renderer;if(this._menu){const Ye=this._menu.nativeElement;A.appendChild(this._elementRef.nativeElement,Ye),A.removeStyle(Ye,"position"),A.removeStyle(Ye,"transform")}this._bodyContainer&&(A.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(A=null){if(this._resetContainer(),"body"===A){const K=this._renderer,Ye=this._menu.nativeElement,Rt=this._bodyContainer=this._bodyContainer||K.createElement("div");K.setStyle(Rt,"position","absolute"),K.setStyle(Ye,"position","static"),K.setStyle(Rt,"z-index","1050"),K.appendChild(Rt,Ye),K.appendChild(this._document.body,Rt)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(A,K){const Ye="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;Ye&&(K&&this._renderer.removeClass(Ye,K),A&&this._renderer.addClass(Ye,A))}_applyPlacementClasses(A){const K=this._menu;if(K){A||(A=this._getFirstPlacement(this.placement));const Ye=this._renderer,Rt=this._elementRef.nativeElement;Ye.removeClass(Rt,"dropup"),Ye.removeClass(Rt,"dropdown"),K.placement="static"===this.display?null:A;const vr=-1!==A.search("^top")?"dropup":"dropdown";Ye.addClass(Rt,vr);const Hr=this._bodyContainer;Hr&&(Ye.removeClass(Hr,"dropup"),Ye.removeClass(Hr,"dropdown"),Ye.addClass(Hr,vr))}}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.sBO),t.Y36(Ac),t.Y36(e.K0),t.Y36(t.R0b),t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(bu,8))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbDropdown",""]],contentQueries:function(A,K,Ye){if(1&A&&(t.Suo(Ye,xl,5),t.Suo(Ye,Vl,5)),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K._menu=Rt.first),t.iGM(Rt=t.CRH())&&(K._anchor=Rt.first)}},hostVars:2,hostBindings:function(A,K){2&A&&t.ekj("show",K.isOpen())},inputs:{_open:["open","_open"],placement:"placement",container:"container",autoClose:"autoClose",display:"display",dropdownClass:"dropdownClass"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],features:[t.TTD]}),V})(),bc=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({}),V})(),vl=(()=>{class V{constructor(A){this._ngbConfig=A,this.backdrop=!0,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})();class hc{constructor(pe,A,K){this.nodes=pe,this.viewRef=A,this.componentRef=K}}class Jl{constructor(pe,A,K,Ye,Rt,vr,Hr){this._type=pe,this._injector=A,this._viewContainerRef=K,this._renderer=Ye,this._ngZone=Rt,this._componentFactoryResolver=vr,this._applicationRef=Hr,this._windowRef=null,this._contentRef=null}open(pe,A,K=!1){this._windowRef||(this._contentRef=this._getContentRef(pe,A),this._windowRef=this._viewContainerRef.createComponent(this._componentFactoryResolver.resolveComponentFactory(this._type),this._viewContainerRef.length,this._injector,this._contentRef.nodes));const{nativeElement:Ye}=this._windowRef.location,Rt=this._ngZone.onStable.pipe((0,nn.q)(1),(0,dt.zg)(()=>an(this._ngZone,Ye,({classList:vr})=>vr.add("show"),{animation:K,runningTransition:"continue"})));return{windowRef:this._windowRef,transition$:Rt}}close(pe=!1){return this._windowRef?an(this._ngZone,this._windowRef.location.nativeElement,({classList:A})=>A.remove("show"),{animation:pe,runningTransition:"stop"}).pipe((0,ae.b)(()=>{var A;this._windowRef&&(this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)),this._windowRef=null),(null===(A=this._contentRef)||void 0===A?void 0:A.viewRef)&&(this._applicationRef.detachView(this._contentRef.viewRef),this._contentRef.viewRef.destroy(),this._contentRef=null)})):(0,Y.of)(void 0)}_getContentRef(pe,A){if(pe){if(pe instanceof t.Rgc){const K=pe.createEmbeddedView(A);return this._applicationRef.attachView(K),new hc([K.rootNodes],K)}return new hc([[this._renderer.createText(`${pe}`)]])}return new hc([])}}const nl=()=>{};let El=(()=>{class V{constructor(A){this._document=A}compensate(){const A=this._getWidth();return this._isPresent(A)?this._adjustBody(A):nl}_adjustBody(A){const K=this._document.body,Ye=K.style.paddingRight,Rt=parseFloat(window.getComputedStyle(K)["padding-right"]);return K.style["padding-right"]=`${Rt+A}px`,()=>K.style["padding-right"]=Ye}_isPresent(A){const K=this._document.body.getBoundingClientRect();return window.innerWidth-(K.left+K.right)>=A-.1*A}_getWidth(){const A=this._document.createElement("div");A.className="modal-scrollbar-measure";const K=this._document.body;K.appendChild(A);const Ye=A.getBoundingClientRect().width-A.clientWidth;return K.removeChild(A),Ye}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(e.K0))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(e.K0))},token:V,providedIn:"root"}),V})(),p=(()=>{class V{constructor(A,K){this._el=A,this._zone=K}ngOnInit(){this._zone.onStable.asObservable().pipe((0,nn.q)(1)).subscribe(()=>{an(this._zone,this._el.nativeElement,(A,K)=>{K&&Ml(A),A.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return an(this._zone,this._el.nativeElement,({classList:A})=>A.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1050"],hostVars:6,hostBindings:function(A,K){2&A&&(t.Tol("modal-backdrop"+(K.backdropClass?" "+K.backdropClass:"")),t.ekj("show",!K.animation)("fade",K.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},decls:0,vars:0,template:function(A,K){},encapsulation:2}),V})();class E{close(pe){}dismiss(pe){}}class N{constructor(pe,A,K,Ye){this._windowCmptRef=pe,this._contentRef=A,this._backdropCmptRef=K,this._beforeDismiss=Ye,this._closed=new ie.xQ,this._dismissed=new ie.xQ,this._hidden=new ie.xQ,pe.instance.dismissEvent.subscribe(Rt=>{this.dismiss(Rt)}),this.result=new Promise((Rt,vr)=>{this._resolve=Rt,this._reject=vr}),this.result.then(null,()=>{})}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe((0,Et.R)(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe((0,Et.R)(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}close(pe){this._windowCmptRef&&(this._closed.next(pe),this._resolve(pe),this._removeModalElements())}_dismiss(pe){this._dismissed.next(pe),this._reject(pe),this._removeModalElements()}dismiss(pe){if(this._windowCmptRef)if(this._beforeDismiss){const A=this._beforeDismiss();A&&A.then?A.then(K=>{!1!==K&&this._dismiss(pe)},()=>{}):!1!==A&&this._dismiss(pe)}else this._dismiss(pe)}_removeModalElements(){const pe=this._windowCmptRef.instance.hide(),A=this._backdropCmptRef?this._backdropCmptRef.instance.hide():(0,Y.of)(void 0);pe.subscribe(()=>{const{nativeElement:K}=this._windowCmptRef.location;K.parentNode.removeChild(K),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),A.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:K}=this._backdropCmptRef.location;K.parentNode.removeChild(K),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),x(pe,A).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var $=(()=>{return(V=$||($={}))[V.BACKDROP_CLICK=0]="BACKDROP_CLICK",V[V.ESC=1]="ESC",$;var V})();let Q=(()=>{class V{constructor(A,K,Ye){this._document=A,this._elRef=K,this._zone=Ye,this._closed$=new ie.xQ,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new t.vpe,this.shown=new ie.xQ,this.hidden=new ie.xQ}dismiss(A){this.dismissEvent.emit(A)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe((0,nn.q)(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:A}=this._elRef,K={animation:this.animation,runningTransition:"stop"},vr=x(an(this._zone,A,()=>A.classList.remove("show"),K),an(this._zone,this._dialogEl.nativeElement,()=>{},K));return vr.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),vr}_show(){const A={animation:this.animation,runningTransition:"continue"};x(an(this._zone,this._elRef.nativeElement,(Rt,vr)=>{vr&&Ml(Rt),Rt.classList.add("show")},A),an(this._zone,this._dialogEl.nativeElement,()=>{},A)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:A}=this._elRef;this._zone.runOutsideAngular(()=>{(0,oe.R)(A,"keydown").pipe((0,Et.R)(this._closed$),(0,lt.h)(Ye=>Ye.which===Zi.Escape)).subscribe(Ye=>{this.keyboard?requestAnimationFrame(()=>{Ye.defaultPrevented||this._zone.run(()=>this.dismiss($.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let K=!1;(0,oe.R)(this._dialogEl.nativeElement,"mousedown").pipe((0,Et.R)(this._closed$),(0,ae.b)(()=>K=!1),(0,It.w)(()=>(0,oe.R)(A,"mouseup").pipe((0,Et.R)(this._closed$),(0,nn.q)(1))),(0,lt.h)(({target:Ye})=>A===Ye)).subscribe(()=>{K=!0}),(0,oe.R)(A,"click").pipe((0,Et.R)(this._closed$)).subscribe(({target:Ye})=>{A===Ye&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!K&&this._zone.run(()=>this.dismiss($.BACKDROP_CLICK))),K=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:A}=this._elRef;if(!A.contains(document.activeElement)){const K=A.querySelector("[ngbAutofocus]"),Ye=bl(A)[0];(K||Ye||A).focus()}}_restoreFocus(){const A=this._document.body,K=this._elWithFocus;let Ye;Ye=K&&K.focus&&A.contains(K)?K:A,this._zone.runOutsideAngular(()=>{setTimeout(()=>Ye.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&an(this._zone,this._elRef.nativeElement,({classList:A})=>(A.add("modal-static"),()=>A.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(e.K0),t.Y36(t.SBq),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-modal-window"]],viewQuery:function(A,K){if(1&A&&t.Gf(An,7),2&A){let Ye;t.iGM(Ye=t.CRH())&&(K._dialogEl=Ye.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(A,K){2&A&&(t.uIk("aria-modal",!0)("aria-labelledby",K.ariaLabelledBy)("aria-describedby",K.ariaDescribedBy),t.Tol("modal d-block"+(K.windowClass?" "+K.windowClass:"")),t.ekj("fade",K.animation))},inputs:{backdrop:"backdrop",keyboard:"keyboard",animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",centered:"centered",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},ngContentSelectors:Yn,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(A,K){1&A&&(t.F$t(),t.TgZ(0,"div",0,1),t.TgZ(2,"div",2),t.Hsn(3),t.qZA(),t.qZA()),2&A&&t.Tol("modal-dialog"+(K.size?" modal-"+K.size:"")+(K.centered?" modal-dialog-centered":"")+(K.scrollable?" modal-dialog-scrollable":"")+(K.modalDialogClass?" "+K.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}"],encapsulation:2}),V})(),de=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr){this._applicationRef=A,this._injector=K,this._document=Ye,this._scrollBar=Rt,this._rendererFactory=vr,this._ngZone=Hr,this._activeWindowCmptHasChanged=new ie.xQ,this._ariaHiddenValues=new Map,this._backdropAttributes=["animation","backdropClass"],this._modalRefs=[],this._windowAttributes=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","keyboard","scrollable","size","windowClass","modalDialogClass"],this._windowCmpts=[],this._activeInstances=new t.vpe,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const _i=this._windowCmpts[this._windowCmpts.length-1];ql(this._ngZone,_i.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(_i.location.nativeElement)}})}open(A,K,Ye,Rt){const vr=Rt.container instanceof HTMLElement?Rt.container:cs(Rt.container)?this._document.querySelector(Rt.container):this._document.body,Hr=this._rendererFactory.createRenderer(null,null),_i=this._scrollBar.compensate(),ji=()=>{this._modalRefs.length||(Hr.removeClass(this._document.body,"modal-open"),this._revertAriaHidden())};if(!vr)throw new Error(`The specified modal container "${Rt.container||"body"}" was not found in the DOM.`);const Eo=new E,rs=this._getContentRef(A,Rt.injector||K,Ye,Eo,Rt);let Uo=!1!==Rt.backdrop?this._attachBackdrop(A,vr):void 0,us=this._attachWindowComponent(A,vr,rs),Ks=new N(us,rs,Uo,Rt.beforeDismiss);return this._registerModalRef(Ks),this._registerWindowCmpt(us),Ks.result.then(_i,_i),Ks.result.then(ji,ji),Eo.close=ys=>{Ks.close(ys)},Eo.dismiss=ys=>{Ks.dismiss(ys)},this._applyWindowOptions(us.instance,Rt),1===this._modalRefs.length&&Hr.addClass(this._document.body,"modal-open"),Uo&&Uo.instance&&(this._applyBackdropOptions(Uo.instance,Rt),Uo.changeDetectorRef.detectChanges()),us.changeDetectorRef.detectChanges(),Ks}get activeInstances(){return this._activeInstances}dismissAll(A){this._modalRefs.forEach(K=>K.dismiss(A))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(A,K){let Rt=A.resolveComponentFactory(p).create(this._injector);return this._applicationRef.attachView(Rt.hostView),K.appendChild(Rt.location.nativeElement),Rt}_attachWindowComponent(A,K,Ye){let vr=A.resolveComponentFactory(Q).create(this._injector,Ye.nodes);return this._applicationRef.attachView(vr.hostView),K.appendChild(vr.location.nativeElement),vr}_applyWindowOptions(A,K){this._windowAttributes.forEach(Ye=>{cs(K[Ye])&&(A[Ye]=K[Ye])})}_applyBackdropOptions(A,K){this._backdropAttributes.forEach(Ye=>{cs(K[Ye])&&(A[Ye]=K[Ye])})}_getContentRef(A,K,Ye,Rt,vr){return Ye?Ye instanceof t.Rgc?this._createFromTemplateRef(Ye,Rt):gi(Ye)?this._createFromString(Ye):this._createFromComponent(A,K,Ye,Rt,vr):new hc([])}_createFromTemplateRef(A,K){const Rt=A.createEmbeddedView({$implicit:K,close(vr){K.close(vr)},dismiss(vr){K.dismiss(vr)}});return this._applicationRef.attachView(Rt),new hc([Rt.rootNodes],Rt)}_createFromString(A){const K=this._document.createTextNode(`${A}`);return new hc([[K]])}_createFromComponent(A,K,Ye,Rt,vr){const Hr=A.resolveComponentFactory(Ye),_i=t.zs3.create({providers:[{provide:E,useValue:Rt}],parent:K}),ji=Hr.create(_i),Eo=ji.location.nativeElement;return vr.scrollable&&Eo.classList.add("component-host-scrollable"),this._applicationRef.attachView(ji.hostView),new hc([[Eo]],ji.hostView,ji)}_setAriaHidden(A){const K=A.parentElement;K&&A!==this._document.body&&(Array.from(K.children).forEach(Ye=>{Ye!==A&&"SCRIPT"!==Ye.nodeName&&(this._ariaHiddenValues.set(Ye,Ye.getAttribute("aria-hidden")),Ye.setAttribute("aria-hidden","true"))}),this._setAriaHidden(K))}_revertAriaHidden(){this._ariaHiddenValues.forEach((A,K)=>{A?K.setAttribute("aria-hidden",A):K.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(A){const K=()=>{const Ye=this._modalRefs.indexOf(A);Ye>-1&&(this._modalRefs.splice(Ye,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(A),this._activeInstances.emit(this._modalRefs),A.result.then(K,K)}_registerWindowCmpt(A){this._windowCmpts.push(A),this._activeWindowCmptHasChanged.next(),A.onDestroy(()=>{const K=this._windowCmpts.indexOf(A);K>-1&&(this._windowCmpts.splice(K,1),this._activeWindowCmptHasChanged.next())})}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(t.z2F),t.LFG(t.zs3),t.LFG(e.K0),t.LFG(El),t.LFG(t.FYo),t.LFG(t.R0b))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(t.z2F),t.LFG(t.gxx),t.LFG(e.K0),t.LFG(El),t.LFG(t.FYo),t.LFG(t.R0b))},token:V,providedIn:"root"}),V})(),ve=(()=>{class V{constructor(A,K,Ye,Rt){this._moduleCFR=A,this._injector=K,this._modalStack=Ye,this._config=Rt}open(A,K={}){const Ye=Object.assign(Object.assign(Object.assign({},this._config),{animation:this._config.animation}),K);return this._modalStack.open(this._moduleCFR,this._injector,A,Ye)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(A){this._modalStack.dismissAll(A)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(t._Vd),t.LFG(t.zs3),t.LFG(de),t.LFG(vl))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(t._Vd),t.LFG(t.gxx),t.LFG(de),t.LFG(vl))},token:V,providedIn:"root"}),V})(),De=(()=>{class V{constructor(A){this._ngbConfig=A,this.destroyOnHide=!0,this.orientation="horizontal",this.roles="tablist",this.keyboard=!1}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})();const _t=V=>cs(V)&&""!==V;let Zt=0,wn=(()=>{class V{constructor(A){this.templateRef=A}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.Rgc))},V.\u0275dir=t.lG2({type:V,selectors:[["ng-template","ngbNavContent",""]]}),V})(),cr=(()=>{class V{constructor(A,K){this.elementRef=K,this.disabled=!1,this.shown=new t.vpe,this.hidden=new t.vpe,this._nav=A}ngAfterContentChecked(){this.contentTpl=this.contentTpls.first}ngOnInit(){cs(this.domId)||(this.domId="ngb-nav-"+Zt++)}get active(){return this._nav.activeId===this.id}get id(){return _t(this._id)?this._id:this.domId}get panelDomId(){return`${this.domId}-panel`}isPanelInDom(){return(cs(this.destroyOnHide)?!this.destroyOnHide:!this._nav.destroyOnHide)||this.active}}return V.\u0275fac=function(A){return new(A||V)(t.Y36((0,t.Gpc)(()=>sr)),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbNavItem",""]],contentQueries:function(A,K,Ye){if(1&A&&t.Suo(Ye,wn,4),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K.contentTpls=Rt)}},hostVars:2,hostBindings:function(A,K){2&A&&t.ekj("nav-item",!0)},inputs:{disabled:"disabled",domId:"domId",destroyOnHide:"destroyOnHide",_id:["ngbNavItem","_id"]},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbNavItem"]}),V})(),sr=(()=>{class V{constructor(A,K,Ye,Rt){this.role=A,this._cd=Ye,this._document=Rt,this.activeIdChange=new t.vpe,this.shown=new t.vpe,this.hidden=new t.vpe,this.destroy$=new ie.xQ,this.navItemChange$=new ie.xQ,this.navChange=new t.vpe,this.animation=K.animation,this.destroyOnHide=K.destroyOnHide,this.orientation=K.orientation,this.roles=K.roles,this.keyboard=K.keyboard}click(A){A.disabled||this._updateActiveId(A.id)}onKeyDown(A){if("tablist"!==this.roles||!this.keyboard)return;const K=A.which,Ye=this.links.filter(Hr=>!Hr.navItem.disabled),{length:Rt}=Ye;let vr=-1;if(Ye.forEach((Hr,_i)=>{Hr.elRef.nativeElement===this._document.activeElement&&(vr=_i)}),Rt){switch(K){case Zi.ArrowLeft:if("vertical"===this.orientation)return;vr=(vr-1+Rt)%Rt;break;case Zi.ArrowRight:if("vertical"===this.orientation)return;vr=(vr+1)%Rt;break;case Zi.ArrowDown:if("horizontal"===this.orientation)return;vr=(vr+1)%Rt;break;case Zi.ArrowUp:if("horizontal"===this.orientation)return;vr=(vr-1+Rt)%Rt;break;case Zi.Home:vr=0;break;case Zi.End:vr=Rt-1}"changeWithArrows"===this.keyboard&&this.select(Ye[vr].navItem.id),Ye[vr].elRef.nativeElement.focus(),A.preventDefault()}}select(A){this._updateActiveId(A,!1)}ngAfterContentInit(){if(!cs(this.activeId)){const A=this.items.first?this.items.first.id:null;_t(A)&&(this._updateActiveId(A,!1),this._cd.detectChanges())}this.items.changes.pipe((0,Et.R)(this.destroy$)).subscribe(()=>this._notifyItemChanged(this.activeId))}ngOnChanges({activeId:A}){A&&!A.firstChange&&this._notifyItemChanged(A.currentValue)}ngOnDestroy(){this.destroy$.next()}_updateActiveId(A,K=!0){if(this.activeId!==A){let Ye=!1;K&&this.navChange.emit({activeId:this.activeId,nextId:A,preventDefault:()=>{Ye=!0}}),Ye||(this.activeId=A,this.activeIdChange.emit(A),this._notifyItemChanged(A))}}_notifyItemChanged(A){this.navItemChange$.next(this._getItemById(A))}_getItemById(A){return this.items&&this.items.find(K=>K.id===A)||null}}return V.\u0275fac=function(A){return new(A||V)(t.$8M("role"),t.Y36(De),t.Y36(t.sBO),t.Y36(e.K0))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbNav",""]],contentQueries:function(A,K,Ye){if(1&A&&(t.Suo(Ye,cr,4),t.Suo(Ye,Tr,5)),2&A){let Rt;t.iGM(Rt=t.CRH())&&(K.items=Rt),t.iGM(Rt=t.CRH())&&(K.links=Rt)}},hostVars:6,hostBindings:function(A,K){1&A&&t.NdJ("keydown.arrowLeft",function(Rt){return K.onKeyDown(Rt)})("keydown.arrowRight",function(Rt){return K.onKeyDown(Rt)})("keydown.arrowDown",function(Rt){return K.onKeyDown(Rt)})("keydown.arrowUp",function(Rt){return K.onKeyDown(Rt)})("keydown.Home",function(Rt){return K.onKeyDown(Rt)})("keydown.End",function(Rt){return K.onKeyDown(Rt)}),2&A&&(t.uIk("aria-orientation","vertical"===K.orientation&&"tablist"===K.roles?"vertical":void 0)("role",K.role?K.role:K.roles?"tablist":void 0),t.ekj("nav",!0)("flex-column","vertical"===K.orientation))},inputs:{animation:"animation",destroyOnHide:"destroyOnHide",orientation:"orientation",roles:"roles",keyboard:"keyboard",activeId:"activeId"},outputs:{activeIdChange:"activeIdChange",shown:"shown",hidden:"hidden",navChange:"navChange"},exportAs:["ngbNav"],features:[t.TTD]}),V})(),Tr=(()=>{class V{constructor(A,K,Ye,Rt){this.role=A,this.navItem=K,this.nav=Ye,this.elRef=Rt}hasNavItemClass(){return this.navItem.elementRef.nativeElement.nodeType===Node.COMMENT_NODE}}return V.\u0275fac=function(A){return new(A||V)(t.$8M("role"),t.Y36(cr),t.Y36(sr),t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["a","ngbNavLink",""]],hostAttrs:["href",""],hostVars:14,hostBindings:function(A,K){1&A&&t.NdJ("click",function(Rt){return K.nav.click(K.navItem),Rt.preventDefault()}),2&A&&(t.Ikx("id",K.navItem.domId),t.uIk("role",K.role?K.role:K.nav.roles?"tab":void 0)("tabindex",K.navItem.disabled?-1:void 0)("aria-controls",K.navItem.isPanelInDom()?K.navItem.panelDomId:null)("aria-selected",K.navItem.active)("aria-disabled",K.navItem.disabled),t.ekj("nav-link",!0)("nav-item",K.hasNavItemClass())("active",K.navItem.active)("disabled",K.navItem.disabled))}}),V})();const Yr=({classList:V})=>(V.remove("show"),()=>V.remove("active")),Pi=(V,pe)=>{pe&&Ml(V),V.classList.add("show")};let yo=(()=>{class V{constructor(A){this.elRef=A}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbNavPane",""]],hostAttrs:[1,"tab-pane"],hostVars:5,hostBindings:function(A,K){2&A&&(t.Ikx("id",K.item.panelDomId),t.uIk("role",K.role?K.role:K.nav.roles?"tabpanel":void 0)("aria-labelledby",K.item.domId),t.ekj("fade",K.nav.animation))},inputs:{item:"item",nav:"nav",role:"role"}}),V})(),Co=(()=>{class V{constructor(A,K){this._cd=A,this._ngZone=K,this._activePane=null}isPanelTransitioning(A){var K;return(null===(K=this._activePane)||void 0===K?void 0:K.item)===A}ngAfterViewInit(){var A;this._updateActivePane(),this.nav.navItemChange$.pipe((0,Et.R)(this.nav.destroy$),(0,At.O)((null===(A=this._activePane)||void 0===A?void 0:A.item)||null),(0,Qe.x)(),pe=>pe.lift(new F(1))).subscribe(K=>{const Ye={animation:this.nav.animation,runningTransition:"stop"};this._cd.detectChanges(),this._activePane?an(this._ngZone,this._activePane.elRef.nativeElement,Yr,Ye).subscribe(()=>{var Rt;const vr=null===(Rt=this._activePane)||void 0===Rt?void 0:Rt.item;this._activePane=this._getPaneForItem(K),this._cd.markForCheck(),this._activePane&&(this._activePane.elRef.nativeElement.classList.add("active"),an(this._ngZone,this._activePane.elRef.nativeElement,Pi,Ye).subscribe(()=>{K&&(K.shown.emit(),this.nav.shown.emit(K.id))})),vr&&(vr.hidden.emit(),this.nav.hidden.emit(vr.id))}):this._updateActivePane()})}_updateActivePane(){var A,K;this._activePane=this._getActivePane(),null===(A=this._activePane)||void 0===A||A.elRef.nativeElement.classList.add("show"),null===(K=this._activePane)||void 0===K||K.elRef.nativeElement.classList.add("active")}_getPaneForItem(A){return this._panes&&this._panes.find(K=>K.item===A)||null}_getActivePane(){return this._panes&&this._panes.find(A=>A.item.active)||null}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.sBO),t.Y36(t.R0b))},V.\u0275cmp=t.Xpm({type:V,selectors:[["","ngbNavOutlet",""]],viewQuery:function(A,K){if(1&A&&t.Gf(yo,5),2&A){let Ye;t.iGM(Ye=t.CRH())&&(K._panes=Ye)}},hostVars:2,hostBindings:function(A,K){2&A&&t.ekj("tab-content",!0)},inputs:{paneRole:"paneRole",nav:["ngbNavOutlet","nav"]},attrs:Bn,decls:1,vars:1,consts:[["ngFor","",3,"ngForOf"],["ngbNavPane","",3,"item","nav","role",4,"ngIf"],["ngbNavPane","",3,"item","nav","role"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(A,K){1&A&&t.YNc(0,Nr,1,1,"ng-template",0),2&A&&t.Q6J("ngForOf",K.nav.items)},directives:[e.sg,e.O5,yo,e.tP],encapsulation:2,changeDetection:0}),V})(),ts=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})();class $s{constructor(pe,A){this.open=pe,this.close=A,A||(this.close=pe)}isManual(){return"manual"===this.open||"manual"===this.close}}const X={hover:["mouseenter","mouseleave"],focus:["focusin","focusout"]},qt=V=>V>0?(0,Ie.g)(V):pe=>pe;function xi(V,pe,A,K,Ye,Rt,vr=0,Hr=0){const _i=function(V,pe=X){const A=(V||"").trim();if(0===A.length)return[];const K=A.split(/\s+/).map(Rt=>Rt.split(":")).map(Rt=>{let vr=pe[Rt[0]]||Rt;return new $s(vr[0],vr[1])}),Ye=K.filter(Rt=>Rt.isManual());if(Ye.length>1)throw"Triggers parse error: only one manual trigger is allowed";if(1===Ye.length&&K.length>1)throw"Triggers parse error: manual trigger can't be mixed with other triggers";return K}(A);if(1===_i.length&&_i[0].isManual())return()=>{};const ji=function(V,pe,A,K){return new I.y(Ye=>{const Rt=[],vr=()=>Ye.next(!0),Hr=()=>Ye.next(!1),_i=()=>Ye.next(!K());return A.forEach(ji=>{ji.open===ji.close?Rt.push(V.listen(pe,ji.open,_i)):Rt.push(V.listen(pe,ji.open,vr),V.listen(pe,ji.close,Hr))}),()=>{Rt.forEach(ji=>ji())}})}(V,pe,_i,K).pipe(function(V,pe,A){return K=>{let Ye=null;const Rt=K.pipe((0,St.U)(_i=>({open:_i})),(0,lt.h)(_i=>{const ji=A();return ji===_i.open||Ye&&Ye.open!==ji?(Ye&&Ye.open!==_i.open&&(Ye=null),!1):(Ye=_i,!0)}),(0,Jt.B)()),vr=Rt.pipe((0,lt.h)(_i=>_i.open),qt(V)),Hr=Rt.pipe((0,lt.h)(_i=>!_i.open),qt(pe));return(0,Ae.T)(vr,Hr).pipe((0,lt.h)(_i=>_i===Ye&&(Ye=null,_i.open!==A())),(0,St.U)(_i=>_i.open))}}(vr,Hr,K)).subscribe(Eo=>Eo?Ye():Rt());return()=>ji.unsubscribe()}let fs=(()=>{class V{constructor(A){this._ngbConfig=A,this.autoClose=!0,this.placement="auto",this.triggers="click",this.disablePopover=!1,this.openDelay=0,this.closeDelay=0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})(),aa=0,za=(()=>{class V{isTitleTemplate(){return this.title instanceof t.Rgc}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-popover-window"]],hostAttrs:["role","tooltip"],hostVars:5,hostBindings:function(A,K){2&A&&(t.Ikx("id",K.id),t.Tol("popover"+(K.popoverClass?" "+K.popoverClass:"")),t.ekj("fade",K.animation))},inputs:{animation:"animation",title:"title",id:"id",popoverClass:"popoverClass",context:"context"},ngContentSelectors:Yn,decls:4,vars:1,consts:[[1,"arrow"],["class","popover-header",4,"ngIf"],[1,"popover-body"],[1,"popover-header"],["simpleTitle",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(A,K){1&A&&(t.F$t(),t._UZ(0,"div",0),t.YNc(1,fi,4,2,"h3",1),t.TgZ(2,"div",2),t.Hsn(3),t.qZA()),2&A&&(t.xp6(1),t.Q6J("ngIf",K.title))},directives:[e.O5,e.tP],styles:["ngb-popover-window.bs-popover-bottom>.arrow,ngb-popover-window.bs-popover-top>.arrow{left:50%;margin-left:-.5rem}ngb-popover-window.bs-popover-bottom-left>.arrow,ngb-popover-window.bs-popover-top-left>.arrow{left:2em}ngb-popover-window.bs-popover-bottom-right>.arrow,ngb-popover-window.bs-popover-top-right>.arrow{left:auto;right:2em}ngb-popover-window.bs-popover-left>.arrow,ngb-popover-window.bs-popover-right>.arrow{top:50%;margin-top:-.5rem}ngb-popover-window.bs-popover-left-top>.arrow,ngb-popover-window.bs-popover-right-top>.arrow{top:.7em}ngb-popover-window.bs-popover-left-bottom>.arrow,ngb-popover-window.bs-popover-right-bottom>.arrow{top:auto;bottom:.7em}"],encapsulation:2,changeDetection:0}),V})(),gc=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji,Eo,rs){this._elementRef=A,this._renderer=K,this._ngZone=_i,this._document=ji,this._changeDetector=Eo,this.shown=new t.vpe,this.hidden=new t.vpe,this._ngbPopoverWindowId="ngb-popover-"+aa++,this._windowRef=null,this.animation=Hr.animation,this.autoClose=Hr.autoClose,this.placement=Hr.placement,this.triggers=Hr.triggers,this.container=Hr.container,this.disablePopover=Hr.disablePopover,this.popoverClass=Hr.popoverClass,this.openDelay=Hr.openDelay,this.closeDelay=Hr.closeDelay,this._popupService=new Jl(za,Ye,vr,K,this._ngZone,Rt,rs),this._zoneSubscription=_i.onStable.subscribe(()=>{this._windowRef&&Je(this._elementRef.nativeElement,this._windowRef.location.nativeElement,this.placement,"body"===this.container,"bs-popover")})}_isDisabled(){return!(!this.disablePopover&&(this.ngbPopover||this.popoverTitle))}open(A){if(!this._windowRef&&!this._isDisabled()){const{windowRef:K,transition$:Ye}=this._popupService.open(this.ngbPopover,A,this.animation);this._windowRef=K,this._windowRef.instance.animation=this.animation,this._windowRef.instance.title=this.popoverTitle,this._windowRef.instance.context=A,this._windowRef.instance.popoverClass=this.popoverClass,this._windowRef.instance.id=this._ngbPopoverWindowId,this._renderer.setAttribute(this._elementRef.nativeElement,"aria-describedby",this._ngbPopoverWindowId),"body"===this.container&&this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),fc(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement]),Ye.subscribe(()=>this.shown.emit())}}close(){this._windowRef&&(this._renderer.removeAttribute(this._elementRef.nativeElement,"aria-describedby"),this._popupService.close(this.animation).subscribe(()=>{this._windowRef=null,this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=xi(this._renderer,this._elementRef.nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({ngbPopover:A,popoverTitle:K,disablePopover:Ye,popoverClass:Rt}){Rt&&this.isOpen()&&(this._windowRef.instance.popoverClass=Rt.currentValue),(A||K||Ye)&&this._isDisabled()&&this.close()}ngOnDestroy(){this.close(),this._unregisterListenersFn&&this._unregisterListenersFn(),this._zoneSubscription.unsubscribe()}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(t.zs3),t.Y36(t._Vd),t.Y36(t.s_b),t.Y36(fs),t.Y36(t.R0b),t.Y36(e.K0),t.Y36(t.sBO),t.Y36(t.z2F))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbPopover",""]],inputs:{animation:"animation",autoClose:"autoClose",placement:"placement",triggers:"triggers",container:"container",disablePopover:"disablePopover",popoverClass:"popoverClass",openDelay:"openDelay",closeDelay:"closeDelay",ngbPopover:"ngbPopover",popoverTitle:"popoverTitle"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbPopover"],features:[t.TTD]}),V})(),Ql=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})(),Ec=(()=>{class V{constructor(){this.max=100,this.animated=!1,this.striped=!1,this.showValue=!1}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),Gu=(()=>{class V{constructor(A){this.value=0,this.max=A.max,this.animated=A.animated,this.striped=A.striped,this.textType=A.textType,this.type=A.type,this.showValue=A.showValue,this.height=A.height}set max(A){this._max=!Hi(A)||A<=0?100:A}get max(){return this._max}getValue(){return function(V,pe,A=0){return Math.max(Math.min(V,pe),A)}(this.value,this.max)}getPercentValue(){return 100*this.getValue()/this.max}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(Ec))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-progressbar"]],hostAttrs:[1,"progress"],hostVars:2,hostBindings:function(A,K){2&A&&t.Udp("height",K.height)},inputs:{value:"value",max:"max",animated:"animated",striped:"striped",textType:"textType",type:"type",showValue:"showValue",height:"height"},ngContentSelectors:Yn,decls:3,vars:11,consts:function(){let pe;return pe="" + "\ufffd0\ufffd" + "",[["role","progressbar","aria-valuemin","0"],[4,"ngIf"],pe]},template:function(A,K){1&A&&(t.F$t(),t.TgZ(0,"div",0),t.YNc(1,Ei,3,3,"span",1),t.Hsn(2),t.qZA()),2&A&&(t.DjV("progress-bar",K.type?" bg-"+K.type:"","",K.textType?" text-"+K.textType:"","\n ",K.animated?" progress-bar-animated":"","",K.striped?" progress-bar-striped":"",""),t.Udp("width",K.getPercentValue(),"%"),t.uIk("aria-valuenow",K.getValue())("aria-valuemax",K.max),t.xp6(1),t.Q6J("ngIf",K.showValue))},directives:[e.O5],pipes:[e.Zx],encapsulation:2,changeDetection:0}),V})(),Sd=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})();class xu{constructor(pe,A,K){this.hour=ni(pe),this.minute=ni(A),this.second=ni(K)}changeHour(pe=1){this.updateHour((isNaN(this.hour)?0:this.hour)+pe)}updateHour(pe){this.hour=Hi(pe)?(pe<0?24+pe:pe)%24:NaN}changeMinute(pe=1){this.updateMinute((isNaN(this.minute)?0:this.minute)+pe)}updateMinute(pe){Hi(pe)?(this.minute=pe%60<0?60+pe%60:pe%60,this.changeHour(Math.floor(pe/60))):this.minute=NaN}changeSecond(pe=1){this.updateSecond((isNaN(this.second)?0:this.second)+pe)}updateSecond(pe){Hi(pe)?(this.second=pe<0?60+pe%60:pe%60,this.changeMinute(Math.floor(pe/60))):this.second=NaN}isValid(pe=!0){return Hi(this.hour)&&Hi(this.minute)&&(!pe||Hi(this.second))}toString(){return`${this.hour||0}:${this.minute||0}:${this.second||0}`}}let ef=(()=>{class V{constructor(){this.meridian=!1,this.spinners=!0,this.seconds=!1,this.hourStep=1,this.minuteStep=1,this.secondStep=1,this.disabled=!1,this.readonlyInputs=!1,this.size="medium"}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})();function Od(){return new tf}let Eu=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:Od,token:V,providedIn:"root"}),V})(),tf=(()=>{class V extends Eu{fromModel(A){return A&&Li(A.hour)&&Li(A.minute)?{hour:A.hour,minute:A.minute,second:Li(A.second)?A.second:null}:null}toModel(A){return A&&Li(A.hour)&&Li(A.minute)?{hour:A.hour,minute:A.minute,second:Li(A.second)?A.second:null}:null}}return V.\u0275fac=function(){let pe;return function(K){return(pe||(pe=t.n5z(V)))(K||V)}}(),V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})(),Ic=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return function(V){return new Nf(V)}(t.LFG(t.soG))},token:V,providedIn:"root"}),V})(),Nf=(()=>{class V extends Ic{constructor(A){super(),this._periods=(0,e.ol)(A,e.x.Standalone,e.Tn.Narrow)}getMorningPeriod(){return this._periods[0]}getAfternoonPeriod(){return this._periods[1]}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(t.soG))},V.\u0275prov=t.Yz7({token:V,factory:V.\u0275fac}),V})();const ld=/[^0-9]/g;let Jc=(()=>{class V{constructor(A,K,Ye,Rt){this._config=A,this._ngbTimeAdapter=K,this._cd=Ye,this.i18n=Rt,this.onChange=vr=>{},this.onTouched=()=>{},this.meridian=A.meridian,this.spinners=A.spinners,this.seconds=A.seconds,this.hourStep=A.hourStep,this.minuteStep=A.minuteStep,this.secondStep=A.secondStep,this.disabled=A.disabled,this.readonlyInputs=A.readonlyInputs,this.size=A.size}set hourStep(A){this._hourStep=Li(A)?A:this._config.hourStep}get hourStep(){return this._hourStep}set minuteStep(A){this._minuteStep=Li(A)?A:this._config.minuteStep}get minuteStep(){return this._minuteStep}set secondStep(A){this._secondStep=Li(A)?A:this._config.secondStep}get secondStep(){return this._secondStep}writeValue(A){const K=this._ngbTimeAdapter.fromModel(A);this.model=K?new xu(K.hour,K.minute,K.second):new xu,!this.seconds&&(!K||!Hi(K.second))&&(this.model.second=0),this._cd.markForCheck()}registerOnChange(A){this.onChange=A}registerOnTouched(A){this.onTouched=A}setDisabledState(A){this.disabled=A}changeHour(A){this.model.changeHour(A),this.propagateModelChange()}changeMinute(A){this.model.changeMinute(A),this.propagateModelChange()}changeSecond(A){this.model.changeSecond(A),this.propagateModelChange()}updateHour(A){const K=this.model.hour>=12,Ye=ni(A);this.model.updateHour(this.meridian&&(K&&Ye<12||!K&&12===Ye)?Ye+12:Ye),this.propagateModelChange()}updateMinute(A){this.model.updateMinute(ni(A)),this.propagateModelChange()}updateSecond(A){this.model.updateSecond(ni(A)),this.propagateModelChange()}toggleMeridian(){this.meridian&&this.changeHour(12)}formatInput(A){A.value=A.value.replace(ld,"")}formatHour(A){return Hi(A)?Os(this.meridian?A%12==0?12:A%12:A%24):Os(NaN)}formatMinSec(A){return Os(Hi(A)?A:NaN)}handleBlur(){this.onTouched()}get isSmallSize(){return"small"===this.size}get isLargeSize(){return"large"===this.size}ngOnChanges(A){A.seconds&&!this.seconds&&this.model&&!Hi(this.model.second)&&(this.model.second=0,this.propagateModelChange(!1))}propagateModelChange(A=!0){A&&this.onTouched(),this.model.isValid(this.seconds)?this.onChange(this._ngbTimeAdapter.toModel({hour:this.model.hour,minute:this.model.minute,second:this.model.second})):this.onChange(this._ngbTimeAdapter.toModel(null))}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(ef),t.Y36(Eu),t.Y36(t.sBO),t.Y36(Ic))},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-timepicker"]],inputs:{meridian:"meridian",spinners:"spinners",seconds:"seconds",hourStep:"hourStep",minuteStep:"minuteStep",secondStep:"secondStep",readonlyInputs:"readonlyInputs",size:"size"},features:[t._Bn([{provide:zt.JU,useExisting:(0,t.Gpc)(()=>V),multi:!0}]),t.TTD],decls:16,vars:25,consts:function(){let pe,A,K,Ye,Rt,vr,Hr,_i,ji,Eo,rs,Uo,us,Ks;return pe="HH",A="Hours",K="MM",Ye="Minutes",Rt="Increment hours",vr="Decrement hours",Hr="Increment minutes",_i="Decrement minutes",ji="SS",Eo="Seconds",rs="Increment seconds",Uo="Decrement seconds",us="" + "\ufffd0\ufffd" + "",Ks="" + "\ufffd0\ufffd" + "",[[3,"disabled"],[1,"ngb-tp"],[1,"ngb-tp-input-container","ngb-tp-hour"],["tabindex","-1","type","button","class","btn btn-link",3,"btn-sm","btn-lg","disabled","click",4,"ngIf"],["type","text","maxlength","2","inputmode","numeric","placeholder",pe,"aria-label",A,1,"ngb-tp-input","form-control",3,"value","readOnly","disabled","change","blur","input","keydown.ArrowUp","keydown.ArrowDown"],[1,"ngb-tp-spacer"],[1,"ngb-tp-input-container","ngb-tp-minute"],["type","text","maxlength","2","inputmode","numeric","placeholder",K,"aria-label",Ye,1,"ngb-tp-input","form-control",3,"value","readOnly","disabled","change","blur","input","keydown.ArrowUp","keydown.ArrowDown"],["class","ngb-tp-spacer",4,"ngIf"],["class","ngb-tp-input-container ngb-tp-second",4,"ngIf"],["class","ngb-tp-meridian",4,"ngIf"],["tabindex","-1","type","button",1,"btn","btn-link",3,"disabled","click"],[1,"chevron","ngb-tp-chevron"],[1,"sr-only"],Rt,[1,"chevron","ngb-tp-chevron","bottom"],vr,Hr,_i,[1,"ngb-tp-input-container","ngb-tp-second"],["type","text","maxlength","2","inputmode","numeric","placeholder",ji,"aria-label",Eo,1,"ngb-tp-input","form-control",3,"value","readOnly","disabled","change","blur","input","keydown.ArrowUp","keydown.ArrowDown"],rs,Uo,[1,"ngb-tp-meridian"],["type","button",1,"btn","btn-outline-primary",3,"disabled","click"],[4,"ngIf","ngIfElse"],["am",""],us,Ks]},template:function(A,K){1&A&&(t.TgZ(0,"fieldset",0),t.TgZ(1,"div",1),t.TgZ(2,"div",2),t.YNc(3,no,4,7,"button",3),t.TgZ(4,"input",4),t.NdJ("change",function(Rt){return K.updateHour(Rt.target.value)})("blur",function(){return K.handleBlur()})("input",function(Rt){return K.formatInput(Rt.target)})("keydown.ArrowUp",function(Rt){return K.changeHour(K.hourStep),Rt.preventDefault()})("keydown.ArrowDown",function(Rt){return K.changeHour(-K.hourStep),Rt.preventDefault()}),t.qZA(),t.YNc(5,Ji,4,7,"button",3),t.qZA(),t.TgZ(6,"div",5),t._uU(7,":"),t.qZA(),t.TgZ(8,"div",6),t.YNc(9,qi,4,7,"button",3),t.TgZ(10,"input",7),t.NdJ("change",function(Rt){return K.updateMinute(Rt.target.value)})("blur",function(){return K.handleBlur()})("input",function(Rt){return K.formatInput(Rt.target)})("keydown.ArrowUp",function(Rt){return K.changeMinute(K.minuteStep),Rt.preventDefault()})("keydown.ArrowDown",function(Rt){return K.changeMinute(-K.minuteStep),Rt.preventDefault()}),t.qZA(),t.YNc(11,to,4,7,"button",3),t.qZA(),t.YNc(12,zi,2,0,"div",8),t.YNc(13,Bo,4,9,"div",9),t.YNc(14,Jo,1,0,"div",8),t.YNc(15,ds,5,9,"div",10),t.qZA(),t.qZA()),2&A&&(t.ekj("disabled",K.disabled),t.Q6J("disabled",K.disabled),t.xp6(3),t.Q6J("ngIf",K.spinners),t.xp6(1),t.ekj("form-control-sm",K.isSmallSize)("form-control-lg",K.isLargeSize),t.Q6J("value",K.formatHour(null==K.model?null:K.model.hour))("readOnly",K.readonlyInputs)("disabled",K.disabled),t.xp6(1),t.Q6J("ngIf",K.spinners),t.xp6(4),t.Q6J("ngIf",K.spinners),t.xp6(1),t.ekj("form-control-sm",K.isSmallSize)("form-control-lg",K.isLargeSize),t.Q6J("value",K.formatMinSec(null==K.model?null:K.model.minute))("readOnly",K.readonlyInputs)("disabled",K.disabled),t.xp6(1),t.Q6J("ngIf",K.spinners),t.xp6(1),t.Q6J("ngIf",K.seconds),t.xp6(1),t.Q6J("ngIf",K.seconds),t.xp6(1),t.Q6J("ngIf",K.meridian),t.xp6(1),t.Q6J("ngIf",K.meridian))},directives:[e.O5],styles:['ngb-timepicker{font-size:1rem}.ngb-tp{display:flex;align-items:center}.ngb-tp-input-container{width:4em}.ngb-tp-chevron:before{border-style:solid;border-width:.29em .29em 0 0;content:"";display:inline-block;height:.69em;left:.05em;position:relative;top:.15em;transform:rotate(-45deg);vertical-align:middle;width:.69em}.ngb-tp-chevron.bottom:before{top:-.3em;transform:rotate(135deg)}.ngb-tp-input{text-align:center}.ngb-tp-hour,.ngb-tp-meridian,.ngb-tp-minute,.ngb-tp-second{display:flex;flex-direction:column;align-items:center;justify-content:space-around}.ngb-tp-spacer{width:1em;text-align:center}'],encapsulation:2}),V})(),Tu=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})(),Ad=(()=>{class V{constructor(A){this._ngbConfig=A,this.autoClose=!0,this.placement="auto",this.triggers="hover focus",this.disableTooltip=!1,this.openDelay=0,this.closeDelay=0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(A){this._animation=A}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(Fo))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(Fo))},token:V,providedIn:"root"}),V})(),Fc=0,hu=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-tooltip-window"]],hostAttrs:["role","tooltip"],hostVars:5,hostBindings:function(A,K){2&A&&(t.Ikx("id",K.id),t.Tol("tooltip"+(K.tooltipClass?" "+K.tooltipClass:"")),t.ekj("fade",K.animation))},inputs:{animation:"animation",id:"id",tooltipClass:"tooltipClass"},ngContentSelectors:Yn,decls:3,vars:0,consts:[[1,"arrow"],[1,"tooltip-inner"]],template:function(A,K){1&A&&(t.F$t(),t._UZ(0,"div",0),t.TgZ(1,"div",1),t.Hsn(2),t.qZA())},styles:["ngb-tooltip-window{pointer-events:none}ngb-tooltip-window .tooltip-inner{pointer-events:auto}ngb-tooltip-window.bs-tooltip-bottom .arrow,ngb-tooltip-window.bs-tooltip-top .arrow{left:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-bottom-left .arrow,ngb-tooltip-window.bs-tooltip-top-left .arrow{left:1em}ngb-tooltip-window.bs-tooltip-bottom-right .arrow,ngb-tooltip-window.bs-tooltip-top-right .arrow{left:auto;right:.8rem}ngb-tooltip-window.bs-tooltip-left .arrow,ngb-tooltip-window.bs-tooltip-right .arrow{top:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-left-top .arrow,ngb-tooltip-window.bs-tooltip-right-top .arrow{top:.4rem}ngb-tooltip-window.bs-tooltip-left-bottom .arrow,ngb-tooltip-window.bs-tooltip-right-bottom .arrow{top:auto;bottom:.4rem}"],encapsulation:2,changeDetection:0}),V})(),Hd=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji,Eo,rs){this._elementRef=A,this._renderer=K,this._ngZone=_i,this._document=ji,this._changeDetector=Eo,this.shown=new t.vpe,this.hidden=new t.vpe,this._ngbTooltipWindowId="ngb-tooltip-"+Fc++,this._windowRef=null,this.animation=Hr.animation,this.autoClose=Hr.autoClose,this.placement=Hr.placement,this.triggers=Hr.triggers,this.container=Hr.container,this.disableTooltip=Hr.disableTooltip,this.tooltipClass=Hr.tooltipClass,this.openDelay=Hr.openDelay,this.closeDelay=Hr.closeDelay,this._popupService=new Jl(hu,Ye,vr,K,this._ngZone,Rt,rs),this._zoneSubscription=_i.onStable.subscribe(()=>{this._windowRef&&Je(this._elementRef.nativeElement,this._windowRef.location.nativeElement,this.placement,"body"===this.container,"bs-tooltip")})}set ngbTooltip(A){this._ngbTooltip=A,!A&&this._windowRef&&this.close()}get ngbTooltip(){return this._ngbTooltip}open(A){if(!this._windowRef&&this._ngbTooltip&&!this.disableTooltip){const{windowRef:K,transition$:Ye}=this._popupService.open(this._ngbTooltip,A,this.animation);this._windowRef=K,this._windowRef.instance.animation=this.animation,this._windowRef.instance.tooltipClass=this.tooltipClass,this._windowRef.instance.id=this._ngbTooltipWindowId,this._renderer.setAttribute(this._elementRef.nativeElement,"aria-describedby",this._ngbTooltipWindowId),"body"===this.container&&this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),fc(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement]),Ye.subscribe(()=>this.shown.emit())}}close(){null!=this._windowRef&&(this._renderer.removeAttribute(this._elementRef.nativeElement,"aria-describedby"),this._popupService.close(this.animation).subscribe(()=>{this._windowRef=null,this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=xi(this._renderer,this._elementRef.nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({tooltipClass:A}){A&&this.isOpen()&&(this._windowRef.instance.tooltipClass=A.currentValue)}ngOnDestroy(){this.close(),this._unregisterListenersFn&&this._unregisterListenersFn(),this._zoneSubscription.unsubscribe()}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(t.Qsj),t.Y36(t.zs3),t.Y36(t._Vd),t.Y36(t.s_b),t.Y36(Ad),t.Y36(t.R0b),t.Y36(e.K0),t.Y36(t.sBO),t.Y36(t.z2F))},V.\u0275dir=t.lG2({type:V,selectors:[["","ngbTooltip",""]],inputs:{animation:"animation",autoClose:"autoClose",placement:"placement",triggers:"triggers",container:"container",disableTooltip:"disableTooltip",tooltipClass:"tooltipClass",openDelay:"openDelay",closeDelay:"closeDelay",ngbTooltip:"ngbTooltip"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbTooltip"],features:[t.TTD]}),V})(),ud=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({}),V})(),wd=(()=>{class V{constructor(){this.highlightClass="ngb-highlight",this.accentSensitive=!0}ngOnChanges(A){!this.accentSensitive&&!String.prototype.normalize&&(console.warn("The `accentSensitive` input in `ngb-highlight` cannot be set to `false` in a browser that does not implement the `String.normalize` function. You will have to include a polyfill in your application to use this feature in the current browser."),this.accentSensitive=!0);const K=Ri(this.result),Ye=Array.isArray(this.term)?this.term:[this.term],Rt=ji=>this.accentSensitive?ji:Ca(ji),vr=Ye.map(ji=>function(V){return V.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}(Rt(Ri(ji)))).filter(ji=>ji),Hr=this.accentSensitive?K:Ca(K),_i=vr.length?Hr.split(new RegExp(`(${vr.join("|")})`,"gmi")):[K];if(this.accentSensitive)this.parts=_i;else{let ji=0;this.parts=_i.map(Eo=>K.substring(ji,ji+=Eo.length))}}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-highlight"]],inputs:{highlightClass:"highlightClass",accentSensitive:"accentSensitive",result:"result",term:"term"},features:[t.TTD],decls:1,vars:1,consts:[["ngFor","",3,"ngForOf"],[3,"class",4,"ngIf","ngIfElse"],["even",""]],template:function(A,K){1&A&&t.YNc(0,ee,3,2,"ng-template",0),2&A&&t.Q6J("ngForOf",K.parts)},directives:[e.sg,e.O5],styles:[".ngb-highlight{font-weight:700}"],encapsulation:2,changeDetection:0}),V})(),If=(()=>{class V{constructor(){this.activeIdx=0,this.focusFirst=!0,this.formatter=Ri,this.selectEvent=new t.vpe,this.activeChangeEvent=new t.vpe}hasActive(){return this.activeIdx>-1&&this.activeIdx<this.results.length}getActive(){return this.results[this.activeIdx]}markActive(A){this.activeIdx=A,this._activeChanged()}next(){this.activeIdx===this.results.length-1?this.activeIdx=this.focusFirst?(this.activeIdx+1)%this.results.length:-1:this.activeIdx++,this._activeChanged()}prev(){this.activeIdx<0?this.activeIdx=this.results.length-1:0===this.activeIdx?this.activeIdx=this.focusFirst?this.results.length-1:-1:this.activeIdx--,this._activeChanged()}resetActive(){this.activeIdx=this.focusFirst?0:-1,this._activeChanged()}select(A){this.selectEvent.emit(A)}ngOnInit(){this.resetActive()}_activeChanged(){this.activeChangeEvent.emit(this.activeIdx>=0?this.id+"-"+this.activeIdx:void 0)}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275cmp=t.Xpm({type:V,selectors:[["ngb-typeahead-window"]],hostAttrs:["role","listbox"],hostVars:3,hostBindings:function(A,K){1&A&&t.NdJ("mousedown",function(Rt){return Rt.preventDefault()}),2&A&&(t.Ikx("id",K.id),t.Tol("dropdown-menu show"+(K.popupClass?" "+K.popupClass:"")))},inputs:{focusFirst:"focusFirst",formatter:"formatter",id:"id",results:"results",term:"term",resultTemplate:"resultTemplate",popupClass:"popupClass"},outputs:{selectEvent:"select",activeChangeEvent:"activeChange"},exportAs:["ngbTypeaheadWindow"],decls:3,vars:1,consts:[["rt",""],["ngFor","",3,"ngForOf"],[3,"result","term"],["type","button","role","option",1,"dropdown-item",3,"id","mouseenter","click"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(A,K){1&A&&(t.YNc(0,Ve,1,2,"ng-template",null,0,t.W1O),t.YNc(2,$r,2,9,"ng-template",1)),2&A&&(t.xp6(2),t.Q6J("ngForOf",K.results))},directives:[e.sg,wd,e.tP],encapsulation:2}),V})();const Cu=new t.OlP("live announcer delay",{providedIn:"root",factory:function(){return 100}});function kc(V,pe=!1){let A=V.body.querySelector("#ngb-live");return null==A&&pe&&(A=V.createElement("div"),A.setAttribute("id","ngb-live"),A.setAttribute("aria-live","polite"),A.setAttribute("aria-atomic","true"),A.classList.add("sr-only"),V.body.appendChild(A)),A}let wc=(()=>{class V{constructor(A,K){this._document=A,this._delay=K}ngOnDestroy(){const A=kc(this._document);A&&A.parentElement.removeChild(A)}say(A){const K=kc(this._document,!0),Ye=this._delay;if(null!=K){K.textContent="";const Rt=()=>K.textContent=A;null===Ye?Rt():setTimeout(Rt,Ye)}}}return V.\u0275fac=function(A){return new(A||V)(t.LFG(e.K0),t.LFG(Cu))},V.\u0275prov=t.Yz7({factory:function(){return new V(t.LFG(e.K0),t.LFG(Cu))},token:V,providedIn:"root"}),V})(),Yc=(()=>{class V{constructor(){this.editable=!0,this.focusFirst=!0,this.showHint=!1,this.placement=["bottom-left","bottom-right","top-left","top-right"]}}return V.\u0275fac=function(A){return new(A||V)},V.\u0275prov=t.Yz7({factory:function(){return new V},token:V,providedIn:"root"}),V})(),Lf=0,Su=(()=>{class V{constructor(A,K,Ye,Rt,vr,Hr,_i,ji,Eo,rs,Uo,us){this._elementRef=A,this._renderer=Ye,this._live=ji,this._document=Eo,this._ngZone=rs,this._changeDetector=Uo,this._subscription=null,this._closed$=new ie.xQ,this._inputValueBackup=null,this._windowRef=null,this.autocomplete="off",this.placement="bottom-left",this.selectItem=new t.vpe,this.activeDescendant=null,this.popupId="ngb-typeahead-"+Lf++,this._onTouched=()=>{},this._onChange=Ks=>{},this.container=Hr.container,this.editable=Hr.editable,this.focusFirst=Hr.focusFirst,this.showHint=Hr.showHint,this.placement=Hr.placement,this._valueChanges=(0,oe.R)(A.nativeElement,"input").pipe((0,St.U)(Ks=>Ks.target.value)),this._resubscribeTypeahead=new ne.X(null),this._popupService=new Jl(If,Rt,K,Ye,this._ngZone,vr,us),this._zoneSubscription=_i.onStable.subscribe(()=>{this.isPopupOpen()&&Je(this._elementRef.nativeElement,this._windowRef.location.nativeElement,this.placement,"body"===this.container)})}ngOnInit(){this._subscribeToUserInput()}ngOnChanges({ngbTypeahead:A}){A&&!A.firstChange&&(this._unsubscribeFromUserInput(),this._subscribeToUserInput())}ngOnDestroy(){this._closePopup(),this._unsubscribeFromUserInput(),this._zoneSubscription.unsubscribe()}registerOnChange(A){this._onChange=A}registerOnTouched(A){this._onTouched=A}writeValue(A){this._writeInputValue(this._formatItemForInput(A)),this.showHint&&(this._inputValueBackup=A)}setDisabledState(A){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",A)}dismissPopup(){this.isPopupOpen()&&(this._resubscribeTypeahead.next(null),this._closePopup(),this.showHint&&null!==this._inputValueBackup&&this._writeInputValue(this._inputValueBackup),this._changeDetector.markForCheck())}isPopupOpen(){return null!=this._windowRef}handleBlur(){this._resubscribeTypeahead.next(null),this._onTouched()}handleKeyDown(A){if(this.isPopupOpen())switch(A.which){case Zi.ArrowDown:A.preventDefault(),this._windowRef.instance.next(),this._showHint();break;case Zi.ArrowUp:A.preventDefault(),this._windowRef.instance.prev(),this._showHint();break;case Zi.Enter:case Zi.Tab:const K=this._windowRef.instance.getActive();cs(K)&&(A.preventDefault(),A.stopPropagation(),this._selectResult(K)),this._closePopup()}}_openPopup(){if(!this.isPopupOpen()){this._inputValueBackup=this._elementRef.nativeElement.value;const{windowRef:A}=this._popupService.open();this._windowRef=A,this._windowRef.instance.id=this.popupId,this._windowRef.instance.selectEvent.subscribe(K=>this._selectResultClosePopup(K)),this._windowRef.instance.activeChangeEvent.subscribe(K=>this.activeDescendant=K),this._windowRef.instance.popupClass=this.popupClass,"body"===this.container&&this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement),this._changeDetector.markForCheck(),fc(this._ngZone,this._document,"outside",()=>this.dismissPopup(),this._closed$,[this._elementRef.nativeElement,this._windowRef.location.nativeElement])}}_closePopup(){this._popupService.close().subscribe(()=>{this._closed$.next(),this._windowRef=null,this.activeDescendant=null})}_selectResult(A){let K=!1;this.selectItem.emit({item:A,preventDefault:()=>{K=!0}}),this._resubscribeTypeahead.next(null),K||(this.writeValue(A),this._onChange(A))}_selectResultClosePopup(A){this._selectResult(A),this._closePopup()}_showHint(){var A;if(this.showHint&&(null===(A=this._windowRef)||void 0===A?void 0:A.instance.hasActive())&&null!=this._inputValueBackup){const K=this._inputValueBackup.toLowerCase(),Ye=this._formatItemForInput(this._windowRef.instance.getActive());K===Ye.substr(0,this._inputValueBackup.length).toLowerCase()?(this._writeInputValue(this._inputValueBackup+Ye.substr(this._inputValueBackup.length)),this._elementRef.nativeElement.setSelectionRange.apply(this._elementRef.nativeElement,[this._inputValueBackup.length,Ye.length])):this._writeInputValue(Ye)}}_formatItemForInput(A){return null!=A&&this.inputFormatter?this.inputFormatter(A):Ri(A)}_writeInputValue(A){this._renderer.setProperty(this._elementRef.nativeElement,"value",Ri(A))}_subscribeToUserInput(){const A=this._valueChanges.pipe((0,ae.b)(K=>{this._inputValueBackup=this.showHint?K:null,this._onChange(this.editable?K:void 0)}),this.ngbTypeahead?this.ngbTypeahead:()=>(0,Y.of)([]));this._subscription=this._resubscribeTypeahead.pipe((0,It.w)(()=>A)).subscribe(K=>{K&&0!==K.length?(this._openPopup(),this._windowRef.instance.focusFirst=this.focusFirst,this._windowRef.instance.results=K,this._windowRef.instance.term=this._elementRef.nativeElement.value,this.resultFormatter&&(this._windowRef.instance.formatter=this.resultFormatter),this.resultTemplate&&(this._windowRef.instance.resultTemplate=this.resultTemplate),this._windowRef.instance.resetActive(),this._windowRef.changeDetectorRef.detectChanges(),this._showHint()):this._closePopup();const Ye=K?K.length:0;this._live.say(0===Ye?"No results available":`${Ye} result${1===Ye?"":"s"} available`)})}_unsubscribeFromUserInput(){this._subscription&&this._subscription.unsubscribe(),this._subscription=null}}return V.\u0275fac=function(A){return new(A||V)(t.Y36(t.SBq),t.Y36(t.s_b),t.Y36(t.Qsj),t.Y36(t.zs3),t.Y36(t._Vd),t.Y36(Yc),t.Y36(t.R0b),t.Y36(wc),t.Y36(e.K0),t.Y36(t.R0b),t.Y36(t.sBO),t.Y36(t.z2F))},V.\u0275dir=t.lG2({type:V,selectors:[["input","ngbTypeahead",""]],hostAttrs:["autocapitalize","off","autocorrect","off","role","combobox","aria-multiline","false"],hostVars:7,hostBindings:function(A,K){1&A&&t.NdJ("blur",function(){return K.handleBlur()})("keydown",function(Rt){return K.handleKeyDown(Rt)}),2&A&&(t.Ikx("autocomplete",K.autocomplete),t.uIk("aria-autocomplete",K.showHint?"both":"list")("aria-activedescendant",K.activeDescendant)("aria-owns",K.isPopupOpen()?K.popupId:null)("aria-expanded",K.isPopupOpen()),t.ekj("open",K.isPopupOpen()))},inputs:{autocomplete:"autocomplete",placement:"placement",container:"container",editable:"editable",focusFirst:"focusFirst",showHint:"showHint",inputFormatter:"inputFormatter",ngbTypeahead:"ngbTypeahead",resultFormatter:"resultFormatter",resultTemplate:"resultTemplate",popupClass:"popupClass"},outputs:{selectItem:"selectItem"},exportAs:["ngbTypeahead"],features:[t._Bn([{provide:zt.JU,useExisting:(0,t.Gpc)(()=>V),multi:!0}]),t.TTD]}),V})(),fd=(()=>{class V{}return V.\u0275fac=function(A){return new(A||V)},V.\u0275mod=t.oAB({type:V}),V.\u0275inj=t.cJS({imports:[[e.ez]]}),V})()},84051:(Ge,g,o)=>{"use strict";o.d(g,{vq:()=>sn,ii:()=>qn,Ke:()=>no,nE:()=>wi,dX:()=>_r,$7:()=>mr,AR:()=>ir,xD:()=>zo,Sr:()=>Qr,Hg:()=>mt});var t=o(74788),e=o(12057),s=o(79765),a=o(22759),l=o(26215),u=o(46782),h=o(64762);const _=["*"];function m(st,pn){1&st&&t._UZ(0,"datatable-progress")}function b(st,pn){if(1&st&&t._UZ(0,"datatable-summary-row",9),2&st){const ee=t.oxw(2);t.Q6J("rowHeight",ee.summaryHeight)("offsetX",ee.offsetX)("innerWidth",ee.innerWidth)("rows",ee.rows)("columns",ee.columns)}}function C(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-body-row",13),t.NdJ("treeAction",function(){t.CHM(ee);const fn=t.oxw().$implicit;return t.oxw(2).onTreeAction(fn)})("activate",function(fn){t.CHM(ee);const Tn=t.oxw().index,$r=t.oxw(2);return t.MAs(2).onActivate(fn,$r.indexes.first+Tn)}),t.qZA()}if(2&st){const ee=t.oxw().$implicit,Ve=t.oxw(2),fn=t.MAs(2);t.Q6J("isSelected",fn.getRowSelected(ee))("innerWidth",Ve.innerWidth)("offsetX",Ve.offsetX)("columns",Ve.columns)("rowHeight",Ve.getRowHeight(ee))("row",ee)("rowIndex",Ve.getRowIndex(ee))("expanded",Ve.getRowExpanded(ee))("rowClass",Ve.rowClass)("displayCheck",Ve.displayCheck)("treeStatus",ee&&ee.treeStatus)}}function D(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-body-row",15),t.NdJ("activate",function(fn){const $r=t.CHM(ee).index;return t.oxw(4),t.MAs(2).onActivate(fn,$r)}),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=t.oxw(2).$implicit,fn=t.oxw(2),Tn=t.MAs(2);t.Q6J("isSelected",Tn.getRowSelected(ee))("innerWidth",fn.innerWidth)("offsetX",fn.offsetX)("columns",fn.columns)("rowHeight",fn.getRowHeight(ee))("row",ee)("group",Ve.value)("rowIndex",fn.getRowIndex(ee))("expanded",fn.getRowExpanded(ee))("rowClass",fn.rowClass)}}function x(st,pn){if(1&st&&t.YNc(0,D,1,10,"datatable-body-row",14),2&st){const ee=t.oxw().$implicit,Ve=t.oxw(2);t.Q6J("ngForOf",ee.value)("ngForTrackBy",Ve.rowTrackingFn)}}function j(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-row-wrapper",10),t.NdJ("rowContextmenu",function(fn){return t.CHM(ee),t.oxw(2).rowContextmenu.emit(fn)}),t.YNc(1,C,1,11,"datatable-body-row",11),t.YNc(2,x,1,2,"ng-template",null,12,t.W1O),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=pn.index,fn=t.MAs(3),Tn=t.oxw(2);t.Q6J("groupedRows",Tn.groupedRows)("innerWidth",Tn.innerWidth)("ngStyle",Tn.getRowsStyles(ee))("rowDetail",Tn.rowDetail)("groupHeader",Tn.groupHeader)("offsetX",Tn.offsetX)("detailRowHeight",Tn.getDetailRowHeight(ee&&ee[Ve],Ve))("row",ee)("expanded",Tn.getRowExpanded(ee))("rowIndex",Tn.getRowIndex(ee&&ee[Ve])),t.xp6(1),t.Q6J("ngIf",!Tn.groupedRows)("ngIfElse",fn)}}function H(st,pn){if(1&st&&t._UZ(0,"datatable-summary-row",16),2&st){const ee=t.oxw(2);t.Q6J("ngStyle",ee.getBottomSummaryRowStyles())("rowHeight",ee.summaryHeight)("offsetX",ee.offsetX)("innerWidth",ee.innerWidth)("rows",ee.rows)("columns",ee.columns)}}function z(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-scroller",5),t.NdJ("scroll",function(fn){return t.CHM(ee),t.oxw().onBodyScroll(fn)}),t.YNc(1,b,1,5,"datatable-summary-row",6),t.YNc(2,j,4,12,"datatable-row-wrapper",7),t.YNc(3,H,1,6,"datatable-summary-row",8),t.qZA()}if(2&st){const ee=t.oxw();t.Q6J("scrollbarV",ee.scrollbarV)("scrollbarH",ee.scrollbarH)("scrollHeight",ee.scrollHeight)("scrollWidth",null==ee.columnGroupWidths?null:ee.columnGroupWidths.total),t.xp6(1),t.Q6J("ngIf",ee.summaryRow&&"top"===ee.summaryPosition),t.xp6(1),t.Q6J("ngForOf",ee.temp)("ngForTrackBy",ee.rowTrackingFn),t.xp6(1),t.Q6J("ngIf",ee.summaryRow&&"bottom"===ee.summaryPosition)}}function U(st,pn){if(1&st&&t._UZ(0,"div",17),2&st){const ee=t.oxw();t.Q6J("innerHTML",ee.emptyMessage,t.oJD)}}function M(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-header-cell",4),t.NdJ("resize",function(fn){const $r=t.CHM(ee).$implicit;return t.oxw(2).onColumnResized(fn,$r)})("longPressStart",function(fn){return t.CHM(ee),t.oxw(2).onLongPressStart(fn)})("longPressEnd",function(fn){return t.CHM(ee),t.oxw(2).onLongPressEnd(fn)})("sort",function(fn){return t.CHM(ee),t.oxw(2).onSort(fn)})("select",function(fn){return t.CHM(ee),t.oxw(2).select.emit(fn)})("columnContextmenu",function(fn){return t.CHM(ee),t.oxw(2).columnContextmenu.emit(fn)}),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=t.oxw(2);t.Q6J("resizeEnabled",ee.resizeable)("pressModel",ee)("pressEnabled",Ve.reorderable&&ee.draggable)("dragX",Ve.reorderable&&ee.draggable&&ee.dragging)("dragY",!1)("dragModel",ee)("dragEventTarget",Ve.dragEventTarget)("headerHeight",Ve.headerHeight)("isTarget",ee.isTarget)("targetMarkerTemplate",Ve.targetMarkerTemplate)("targetMarkerContext",ee.targetMarkerContext)("column",ee)("sortType",Ve.sortType)("sorts",Ve.sorts)("selectionType",Ve.selectionType)("sortAscendingIcon",Ve.sortAscendingIcon)("sortDescendingIcon",Ve.sortDescendingIcon)("sortUnsetIcon",Ve.sortUnsetIcon)("allRowsSelected",Ve.allRowsSelected)}}function I(st,pn){if(1&st&&(t.TgZ(0,"div",2),t.YNc(1,M,1,19,"datatable-header-cell",3),t.qZA()),2&st){const ee=pn.$implicit,Ve=t.oxw();t.Tol("datatable-row-"+ee.type),t.Q6J("ngStyle",Ve._styleByGroup[ee.type]),t.xp6(1),t.Q6J("ngForOf",ee.columns)("ngForTrackBy",Ve.columnTrackingFn)}}function J(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-header",4),t.NdJ("sort",function(fn){return t.CHM(ee),t.oxw().onColumnSort(fn)})("resize",function(fn){return t.CHM(ee),t.oxw().onColumnResize(fn)})("reorder",function(fn){return t.CHM(ee),t.oxw().onColumnReorder(fn)})("select",function(fn){return t.CHM(ee),t.oxw().onHeaderSelect(fn)})("columnContextmenu",function(fn){return t.CHM(ee),t.oxw().onColumnContextmenu(fn)}),t.ALo(1,"async"),t.qZA()}if(2&st){const ee=t.oxw();t.Q6J("sorts",ee.sorts)("sortType",ee.sortType)("scrollbarH",ee.scrollbarH)("innerWidth",ee._innerWidth)("offsetX",t.lcZ(1,15,ee._offsetX))("dealsWithGroup",void 0!==ee.groupedRows)("columns",ee._internalColumns)("headerHeight",ee.headerHeight)("reorderable",ee.reorderable)("targetMarkerTemplate",ee.targetMarkerTemplate)("sortAscendingIcon",ee.cssClasses.sortAscending)("sortDescendingIcon",ee.cssClasses.sortDescending)("sortUnsetIcon",ee.cssClasses.sortUnset)("allRowsSelected",ee.allRowsSelected)("selectionType",ee.selectionType)}}function Y(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-footer",5),t.NdJ("page",function(fn){return t.CHM(ee),t.oxw().onFooterPage(fn)}),t.qZA()}if(2&st){const ee=t.oxw();t.Q6J("rowCount",ee.rowCount)("pageSize",ee.pageSize)("offset",ee.offset)("footerHeight",ee.footerHeight)("footerTemplate",ee.footer)("totalMessage",ee.messages.totalMessage)("pagerLeftArrowIcon",ee.cssClasses.pagerLeftArrow)("pagerRightArrowIcon",ee.cssClasses.pagerRightArrow)("pagerPreviousIcon",ee.cssClasses.pagerPrevious)("selectedCount",ee.selected.length)("selectedMessage",!!ee.selectionType&&ee.messages.selectedMessage)("pagerNextIcon",ee.cssClasses.pagerNext)}}function ie(st,pn){}function oe(st,pn){if(1&st&&t.YNc(0,ie,0,0,"ng-template",5),2&st){const ee=t.oxw();t.Q6J("ngTemplateOutlet",ee.targetMarkerTemplate)("ngTemplateOutletContext",ee.targetMarkerContext)}}function fe(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"label",6),t.TgZ(1,"input",7),t.NdJ("change",function(){t.CHM(ee);const fn=t.oxw();return fn.select.emit(!fn.allRowsSelected)}),t.qZA(),t.qZA()}if(2&st){const ee=t.oxw();t.xp6(1),t.Q6J("checked",ee.allRowsSelected)}}function ne(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"span",8),t.TgZ(1,"span",9),t.NdJ("click",function(){return t.CHM(ee),t.oxw().onSort()}),t.qZA(),t.qZA()}if(2&st){const ee=t.oxw();t.xp6(1),t.Q6J("innerHTML",ee.name,t.oJD)}}function he(st,pn){}function ce(st,pn){if(1&st&&t.YNc(0,he,0,0,"ng-template",5),2&st){const ee=t.oxw();t.Q6J("ngTemplateOutlet",ee.column.headerTemplate)("ngTemplateOutletContext",ee.cellContext)}}function Ae(st,pn){}const Me=function(st,pn,ee,Ve,fn){return{rowCount:st,pageSize:pn,selectedCount:ee,curPage:Ve,offset:fn}};function Oe(st,pn){if(1&st&&t.YNc(0,Ae,0,0,"ng-template",4),2&st){const ee=t.oxw();t.Q6J("ngTemplateOutlet",ee.footerTemplate.template)("ngTemplateOutletContext",t.qbA(2,Me,ee.rowCount,ee.pageSize,ee.selectedCount,ee.curPage,ee.offset))}}function be(st,pn){if(1&st&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&st){const ee=t.oxw(2);t.xp6(1),t.AsE(" ",null==ee.selectedCount?null:ee.selectedCount.toLocaleString()," ",ee.selectedMessage," / ")}}function ue(st,pn){if(1&st&&(t.TgZ(0,"div",5),t.YNc(1,be,2,2,"span",1),t._uU(2),t.qZA()),2&st){const ee=t.oxw();t.xp6(1),t.Q6J("ngIf",ee.selectedMessage),t.xp6(1),t.AsE(" ",null==ee.rowCount?null:ee.rowCount.toLocaleString()," ",ee.totalMessage," ")}}function He(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-pager",6),t.NdJ("change",function(fn){return t.CHM(ee),t.oxw().page.emit(fn)}),t.qZA()}if(2&st){const ee=t.oxw();t.Q6J("pagerLeftArrowIcon",ee.pagerLeftArrowIcon)("pagerRightArrowIcon",ee.pagerRightArrowIcon)("pagerPreviousIcon",ee.pagerPreviousIcon)("pagerNextIcon",ee.pagerNextIcon)("page",ee.curPage)("size",ee.pageSize)("count",ee.rowCount)("hidden",!ee.isVisible)}}const $e=function(st){return{"selected-count":st}};function F(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"li",6),t.TgZ(1,"a",7),t.NdJ("click",function(){const Tn=t.CHM(ee).$implicit;return t.oxw().selectPage(Tn.number)}),t._uU(2),t.qZA(),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=t.oxw();t.ekj("active",ee.number===Ve.page),t.uIk("aria-label","page "+ee.number),t.xp6(2),t.hij(" ",ee.text," ")}}function je(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"datatable-body-cell",3),t.NdJ("activate",function(fn){const $r=t.CHM(ee).index;return t.oxw(2).onActivate(fn,$r)})("treeAction",function(){return t.CHM(ee),t.oxw(2).onTreeAction()}),t.qZA()}if(2&st){const ee=pn.$implicit,Ve=t.oxw(2);t.Q6J("row",Ve.row)("group",Ve.group)("expanded",Ve.expanded)("isSelected",Ve.isSelected)("rowIndex",Ve.rowIndex)("column",ee)("rowHeight",Ve.rowHeight)("displayCheck",Ve.displayCheck)("treeStatus",Ve.treeStatus)}}function Et(st,pn){if(1&st&&(t.TgZ(0,"div",1),t.YNc(1,je,1,9,"datatable-body-cell",2),t.qZA()),2&st){const ee=pn.$implicit,Ve=t.oxw();t.Gre("datatable-row-",ee.type," datatable-row-group"),t.Q6J("ngStyle",Ve._groupStyles[ee.type]),t.xp6(1),t.Q6J("ngForOf",ee.columns)("ngForTrackBy",Ve.columnTrackingFn)}}function lt(st,pn){}function nn(st,pn){if(1&st&&t.YNc(0,lt,0,0,"ng-template",4),2&st){const ee=t.oxw(2);t.Q6J("ngTemplateOutlet",ee.groupHeader.template)("ngTemplateOutletContext",ee.groupContext)}}function St(st,pn){if(1&st&&(t.TgZ(0,"div",3),t.YNc(1,nn,1,2,void 0,1),t.qZA()),2&st){const ee=t.oxw();t.Q6J("ngStyle",ee.getGroupHeaderStyle()),t.xp6(1),t.Q6J("ngIf",ee.groupHeader&&ee.groupHeader.template)}}function At(st,pn){1&st&&t.Hsn(0,0,["*ngIf","(groupHeader && groupHeader.template && expanded) || !groupHeader || !groupHeader.template"])}function Qe(st,pn){}function It(st,pn){if(1&st&&t.YNc(0,Qe,0,0,"ng-template",4),2&st){const ee=t.oxw(2);t.Q6J("ngTemplateOutlet",ee.rowDetail.template)("ngTemplateOutletContext",ee.rowContext)}}function ae(st,pn){if(1&st&&(t.TgZ(0,"div",5),t.YNc(1,It,1,2,void 0,1),t.qZA()),2&st){const ee=t.oxw();t.Udp("height",ee.detailRowHeight,"px"),t.xp6(1),t.Q6J("ngIf",ee.rowDetail&&ee.rowDetail.template)}}const Ie=["cellTemplate"];function dt(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"label",4),t.TgZ(1,"input",5),t.NdJ("click",function(fn){return t.CHM(ee),t.oxw().onCheckboxChange(fn)}),t.qZA(),t.qZA()}if(2&st){const ee=t.oxw();t.xp6(1),t.Q6J("checked",ee.isSelected)}}function Jt(st,pn){1&st&&t._UZ(0,"i",11)}function zt(st,pn){1&st&&t._UZ(0,"i",12)}function ln(st,pn){1&st&&t._UZ(0,"i",13)}function ar(st,pn){if(1&st){const ee=t.EpF();t.TgZ(0,"button",7),t.NdJ("click",function(){return t.CHM(ee),t.oxw(2).onTreeAction()}),t.TgZ(1,"span"),t.YNc(2,Jt,1,0,"i",8),t.YNc(3,zt,1,0,"i",9),t.YNc(4,ln,1,0,"i",10),t.qZA(),t.qZA()}if(2&st){const ee=t.oxw(2);t.Q6J("disabled","disabled"===ee.treeStatus),t.xp6(2),t.Q6J("ngIf","loading"===ee.treeStatus),t.xp6(1),t.Q6J("ngIf","collapsed"===ee.treeStatus),t.xp6(1),t.Q6J("ngIf","expanded"===ee.treeStatus||"disabled"===ee.treeStatus)}}function Ln(st,pn){}const Rn=function(st){return{cellContext:st}};function er(st,pn){if(1&st&&t.YNc(0,Ln,0,0,"ng-template",14),2&st){const ee=t.oxw(2);t.Q6J("ngTemplateOutlet",ee.column.treeToggleTemplate)("ngTemplateOutletContext",t.VKq(2,Rn,ee.cellContext))}}function Mn(st,pn){if(1&st&&(t.ynx(0),t.YNc(1,ar,5,4,"button",6),t.YNc(2,er,1,4,void 0,2),t.BQk()),2&st){const ee=t.oxw();t.xp6(1),t.Q6J("ngIf",!ee.column.treeToggleTemplate),t.xp6(1),t.Q6J("ngIf",ee.column.treeToggleTemplate)}}function Ht(st,pn){if(1&st&&t._UZ(0,"span",15),2&st){const ee=t.oxw();t.Q6J("title",ee.sanitizedValue)("innerHTML",ee.value,t.oJD)}}function tr(st,pn){}function Yn(st,pn){if(1&st&&t.YNc(0,tr,0,0,"ng-template",14,16,t.W1O),2&st){const ee=t.oxw();t.Q6J("ngTemplateOutlet",ee.column.cellTemplate)("ngTemplateOutletContext",ee.cellContext)}}function Cn(st,pn){if(1&st&&t._UZ(0,"datatable-body-row",1),2&st){const ee=t.oxw();t.Q6J("innerWidth",ee.innerWidth)("offsetX",ee.offsetX)("columns",ee._internalColumns)("rowHeight",ee.rowHeight)("row",ee.summaryRow)("rowIndex",-1)}}let Kt=(()=>{class st{constructor(ee){this.document=ee,this.width=this.getWidth()}getWidth(){const ee=this.document.createElement("div");ee.style.visibility="hidden",ee.style.width="100px",ee.style.msOverflowStyle="scrollbar",this.document.body.appendChild(ee);const Ve=ee.offsetWidth;ee.style.overflow="scroll";const fn=this.document.createElement("div");fn.style.width="100%",ee.appendChild(fn);const Tn=fn.offsetWidth;return ee.parentNode.removeChild(ee),Ve-Tn}}return st.\u0275fac=function(ee){return new(ee||st)(t.LFG(e.K0))},st.\u0275prov=t.Yz7({token:st,factory:st.\u0275fac}),st})(),dn=(()=>{class st{getDimensions(ee){return ee.getBoundingClientRect()}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275prov=t.Yz7({token:st,factory:st.\u0275fac}),st})(),Kn=(()=>{class st{constructor(){this.columnInputChanges=new s.xQ}get columnInputChanges$(){return this.columnInputChanges.asObservable()}onInputChange(){this.columnInputChanges.next()}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275prov=t.Yz7({token:st,factory:st.\u0275fac}),st})(),qn=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-footer-template",""]]}),st})(),Sn=(()=>{class st{constructor(ee,Ve){this.element=ee,this.zone=Ve,this.isVisible=!1,this.visible=new t.vpe}ngOnInit(){this.runCheck()}ngOnDestroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const ee=()=>{const{offsetHeight:Ve,offsetWidth:fn}=this.element.nativeElement;Ve&&fn?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>ee(),50)}))};this.timeout=setTimeout(()=>ee())}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.SBq),t.Y36(t.R0b))},st.\u0275dir=t.lG2({type:st,selectors:[["","visibilityObserver",""]],hostVars:2,hostBindings:function(ee,Ve){2&ee&&t.ekj("visible",Ve.isVisible)},outputs:{visible:"visible"}}),st})(),$n=(()=>{class st{constructor(ee){this.dragX=!0,this.dragY=!0,this.dragStart=new t.vpe,this.dragging=new t.vpe,this.dragEnd=new t.vpe,this.isDragging=!1,this.element=ee.nativeElement}ngOnChanges(ee){ee.dragEventTarget&&ee.dragEventTarget.currentValue&&this.dragModel.dragging&&this.onMousedown(ee.dragEventTarget.currentValue)}ngOnDestroy(){this._destroySubscription()}onMouseup(ee){!this.isDragging||(this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this._destroySubscription(),this.dragEnd.emit({event:ee,element:this.element,model:this.dragModel})))}onMousedown(ee){if(ee.target.classList.contains("draggable")&&(this.dragX||this.dragY)){ee.preventDefault(),this.isDragging=!0;const fn={x:ee.clientX,y:ee.clientY},Tn=(0,a.R)(document,"mouseup");this.subscription=Tn.subscribe(ni=>this.onMouseup(ni));const $r=(0,a.R)(document,"mousemove").pipe((0,u.R)(Tn)).subscribe(ni=>this.move(ni,fn));this.subscription.add($r),this.dragStart.emit({event:ee,element:this.element,model:this.dragModel})}}move(ee,Ve){if(!this.isDragging)return;const Tn=ee.clientY-Ve.y;this.dragX&&(this.element.style.left=ee.clientX-Ve.x+"px"),this.dragY&&(this.element.style.top=`${Tn}px`),this.element.classList.add("dragging"),this.dragging.emit({event:ee,element:this.element,model:this.dragModel})}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.SBq))},st.\u0275dir=t.lG2({type:st,selectors:[["","draggable",""]],inputs:{dragX:"dragX",dragY:"dragY",dragEventTarget:"dragEventTarget",dragModel:"dragModel"},outputs:{dragStart:"dragStart",dragging:"dragging",dragEnd:"dragEnd"},features:[t.TTD]}),st})(),En=(()=>{class st{constructor(ee,Ve){this.renderer=Ve,this.resizeEnabled=!0,this.resize=new t.vpe,this.resizing=!1,this.element=ee.nativeElement}ngAfterViewInit(){const ee=this.renderer;this.resizeHandle=ee.createElement("span"),ee.addClass(this.resizeHandle,this.resizeEnabled?"resize-handle":"resize-handle--not-resizable"),ee.appendChild(this.element,this.resizeHandle)}ngOnDestroy(){this._destroySubscription(),this.renderer.destroyNode?this.renderer.destroyNode(this.resizeHandle):this.resizeHandle&&this.renderer.removeChild(this.renderer.parentNode(this.resizeHandle),this.resizeHandle)}onMouseup(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this._destroySubscription(),this.resize.emit(this.element.clientWidth))}onMousedown(ee){const Ve=ee.target.classList.contains("resize-handle"),fn=this.element.clientWidth,Tn=ee.screenX;if(Ve){ee.stopPropagation(),this.resizing=!0;const $r=(0,a.R)(document,"mouseup");this.subscription=$r.subscribe(Ri=>this.onMouseup());const ni=(0,a.R)(document,"mousemove").pipe((0,u.R)($r)).subscribe(Ri=>this.move(Ri,fn,Tn));this.subscription.add(ni)}}move(ee,Ve,fn){const $r=Ve+(ee.screenX-fn);(!this.minWidth||$r>=this.minWidth)&&(!this.maxWidth||$r<=this.maxWidth)&&(this.element.style.width=`${$r}px`)}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.SBq),t.Y36(t.Qsj))},st.\u0275dir=t.lG2({type:st,selectors:[["","resizeable",""]],hostVars:2,hostBindings:function(ee,Ve){1&ee&&t.NdJ("mousedown",function(Tn){return Ve.onMousedown(Tn)}),2&ee&&t.ekj("resizeable",Ve.resizeEnabled)},inputs:{resizeEnabled:"resizeEnabled",minWidth:"minWidth",maxWidth:"maxWidth"},outputs:{resize:"resize"}}),st})(),Fn=(()=>{class st{constructor(ee,Ve){this.document=Ve,this.reorder=new t.vpe,this.targetChanged=new t.vpe,this.differ=ee.find({}).create()}ngAfterContentInit(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))}ngOnDestroy(){this.draggables.forEach(ee=>{ee.dragStart.unsubscribe(),ee.dragging.unsubscribe(),ee.dragEnd.unsubscribe()})}updateSubscriptions(){const ee=this.differ.diff(this.createMapDiffs());if(ee){const Ve=({currentValue:Tn,previousValue:$r})=>{fn({previousValue:$r}),Tn&&(Tn.dragStart.subscribe(this.onDragStart.bind(this)),Tn.dragging.subscribe(this.onDragging.bind(this)),Tn.dragEnd.subscribe(this.onDragEnd.bind(this)))},fn=({previousValue:Tn})=>{Tn&&(Tn.dragStart.unsubscribe(),Tn.dragging.unsubscribe(),Tn.dragEnd.unsubscribe())};ee.forEachAddedItem(Ve),ee.forEachRemovedItem(fn)}}onDragStart(){this.positions={};let ee=0;for(const Ve of this.draggables.toArray()){const fn=Ve.element,Tn=parseInt(fn.offsetLeft.toString(),0);this.positions[Ve.dragModel.prop]={left:Tn,right:Tn+parseInt(fn.offsetWidth.toString(),0),index:ee++,element:fn}}}onDragging({model:Ve,event:fn}){const Tn=this.positions[Ve.prop],$r=this.isTarget(Ve,fn);$r?this.lastDraggingIndex!==$r.i&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,newIndex:$r.i,initialIndex:Tn.index}),this.lastDraggingIndex=$r.i):this.lastDraggingIndex!==Tn.index&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,initialIndex:Tn.index}),this.lastDraggingIndex=Tn.index)}onDragEnd({element:ee,model:Ve,event:fn}){const Tn=this.positions[Ve.prop],$r=this.isTarget(Ve,fn);$r&&this.reorder.emit({prevIndex:Tn.index,newIndex:$r.i,model:Ve}),this.lastDraggingIndex=void 0,ee.style.left="auto"}isTarget(ee,Ve){let fn=0;const ni=this.document.elementsFromPoint(Ve.x||Ve.clientX,Ve.y||Ve.clientY);for(const Ri in this.positions){const Do=this.positions[Ri];if(ee.prop!==Ri&&ni.find(gi=>gi===Do.element))return{pos:Do,i:fn};fn++}}createMapDiffs(){return this.draggables.toArray().reduce((ee,Ve)=>(ee[Ve.dragModel.$$id]=Ve,ee),{})}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.aQg),t.Y36(e.K0))},st.\u0275dir=t.lG2({type:st,selectors:[["","orderable",""]],contentQueries:function(ee,Ve,fn){if(1&ee&&t.Suo(fn,$n,5),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve.draggables=Tn)}},outputs:{reorder:"reorder",targetChanged:"targetChanged"}}),st})(),Dn=(()=>{class st{constructor(){this.pressEnabled=!0,this.duration=500,this.longPressStart=new t.vpe,this.longPressing=new t.vpe,this.longPressEnd=new t.vpe,this.mouseX=0,this.mouseY=0}get press(){return this.pressing}get isLongPress(){return this.isLongPressing}onMouseDown(ee){if(1!==ee.which||!this.pressEnabled||ee.target.classList.contains("resize-handle"))return;this.mouseX=ee.clientX,this.mouseY=ee.clientY,this.pressing=!0,this.isLongPressing=!1;const fn=(0,a.R)(document,"mouseup");this.subscription=fn.subscribe(Tn=>this.onMouseup()),this.timeout=setTimeout(()=>{this.isLongPressing=!0,this.longPressStart.emit({event:ee,model:this.pressModel}),this.subscription.add((0,a.R)(document,"mousemove").pipe((0,u.R)(fn)).subscribe(Tn=>this.onMouseMove(Tn))),this.loop(ee)},this.duration),this.loop(ee)}onMouseMove(ee){if(this.pressing&&!this.isLongPressing){const Ve=Math.abs(ee.clientX-this.mouseX)>10,fn=Math.abs(ee.clientY-this.mouseY)>10;(Ve||fn)&&this.endPress()}}loop(ee){this.isLongPressing&&(this.timeout=setTimeout(()=>{this.longPressing.emit({event:ee,model:this.pressModel}),this.loop(ee)},50))}endPress(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this._destroySubscription(),this.longPressEnd.emit({model:this.pressModel})}onMouseup(){this.endPress()}ngOnDestroy(){this._destroySubscription()}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275dir=t.lG2({type:st,selectors:[["","long-press",""]],hostVars:4,hostBindings:function(ee,Ve){1&ee&&t.NdJ("mousedown",function(Tn){return Ve.onMouseDown(Tn)}),2&ee&&t.ekj("press",Ve.press)("longpress",Ve.isLongPress)},inputs:{pressEnabled:"pressEnabled",duration:"duration",pressModel:"pressModel"},outputs:{longPressStart:"longPressStart",longPressing:"longPressing",longPressEnd:"longPressEnd"}}),st})(),mn=(()=>{class st{constructor(ee,Ve,fn){this.ngZone=ee,this.renderer=fn,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new t.vpe,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this._scrollEventListener=null,this.element=Ve.nativeElement}ngOnInit(){if(this.scrollbarV||this.scrollbarH){const ee=this.renderer;this.parentElement=ee.parentNode(ee.parentNode(this.element)),this._scrollEventListener=this.onScrolled.bind(this),this.parentElement.addEventListener("scroll",this._scrollEventListener)}}ngOnDestroy(){this._scrollEventListener&&(this.parentElement.removeEventListener("scroll",this._scrollEventListener),this._scrollEventListener=null)}setOffset(ee){this.parentElement&&(this.parentElement.scrollTop=ee)}onScrolled(ee){const Ve=ee.currentTarget;requestAnimationFrame(()=>{this.scrollYPos=Ve.scrollTop,this.scrollXPos=Ve.scrollLeft,this.updateOffset()})}updateOffset(){let ee;this.scrollYPos<this.prevScrollYPos?ee="down":this.scrollYPos>this.prevScrollYPos&&(ee="up"),this.scroll.emit({direction:ee,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.R0b),t.Y36(t.SBq),t.Y36(t.Qsj))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-scroller"]],hostAttrs:[1,"datatable-scroll"],hostVars:4,hostBindings:function(ee,Ve){2&ee&&t.Udp("height",Ve.scrollHeight,"px")("width",Ve.scrollWidth,"px")},inputs:{scrollbarV:"scrollbarV",scrollbarH:"scrollbarH",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth"},outputs:{scroll:"scroll"},ngContentSelectors:_,decls:1,vars:0,template:function(ee,Ve){1&ee&&(t.F$t(),t.Hsn(0))},encapsulation:2,changeDetection:0}),st})(),jn=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-group-header-template",""]]}),st})(),Xt=(()=>{class st{constructor(){this.rowHeight=0,this.toggle=new t.vpe}get template(){return this._templateInput||this._templateQuery}toggleExpandGroup(ee){this.toggle.emit({type:"group",value:ee})}expandAllGroups(){this.toggle.emit({type:"all",value:!0})}collapseAllGroups(){this.toggle.emit({type:"all",value:!1})}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275dir=t.lG2({type:st,selectors:[["ngx-datatable-group-header"]],contentQueries:function(ee,Ve,fn){if(1&ee&&t.Suo(fn,jn,7,t.Rgc),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve._templateQuery=Tn.first)}},inputs:{rowHeight:"rowHeight",_templateInput:["template","_templateInput"]},outputs:{toggle:"toggle"}}),st})();function ut(){return""}function mt(st){return null==st?ut:"number"==typeof st?Tt:-1!==st.indexOf(".")?et:yn}function Tt(st,pn){if(null==st)return"";if(!st||null==pn)return st;const ee=st[pn];return null==ee?"":ee}function yn(st,pn){if(null==st)return"";if(!st||!pn)return st;const ee=st[pn];return null==ee?"":ee}function et(st,pn){if(null==st)return"";if(!st||!pn)return st;let ee=st[pn];if(void 0!==ee)return ee;ee=st;const Ve=pn.split(".");if(Ve.length)for(let fn=0;fn<Ve.length;fn++)if(ee=ee[Ve[fn]],null==ee)return"";return ee}function jt(st){return st&&(pn=>mt(st)(pn,st))}function hn(st,pn,ee){if(pn&&ee){const Ve={},fn=st.length;let Tn=null;Ve[0]=new Qn;const $r=st.reduce((Ri,Do)=>{const gi=ee(Do);return-1===Ri.indexOf(gi)&&Ri.push(gi),Ri},[]);for(let Ri=0;Ri<fn;Ri++)Ve[ee(st[Ri])]=new Qn(st[Ri]);for(let Ri=0;Ri<fn;Ri++){Tn=Ve[ee(st[Ri])];let Do=0;const gi=pn(Tn.row);!!gi&&$r.indexOf(gi)>-1&&(Do=gi),Tn.parent=Ve[Do],Tn.row.level=Tn.parent.row.level+1,Tn.parent.children.push(Tn)}let ni=[];return Ve[0].flatten(function(){ni=[...ni,this.row]},!0),ni}return st}class Qn{constructor(pn=null){pn||(pn={level:-1,treeStatus:"expanded"}),this.row=pn,this.parent=null,this.children=[]}flatten(pn,ee){if("expanded"===this.row.treeStatus)for(let Ve=0,fn=this.children.length;Ve<fn;Ve++){const Tn=this.children[Ve];pn.apply(Tn,Array.prototype.slice.call(arguments,2)),ee&&Tn.flatten.apply(Tn,arguments)}}}function Ir(st){return(st=(st=(st=st.replace(/[^a-zA-Z0-9 ]/g," ")).replace(/([a-z](?=[A-Z]))/g,"$1 ")).replace(/([^a-zA-Z0-9 ])|^[0-9]+/g,"").trim().toLowerCase()).replace(/([ 0-9]+)([a-zA-Z])/g,function(pn,ee,Ve){return ee.trim()+Ve.toUpperCase()})}function ht(st){return st.replace(/([A-Z])/g,pn=>` ${pn}`).replace(/^./,pn=>pn.toUpperCase())}function Ue(st){if(!st)return;let pn=!1;for(const ee of st)ee.$$id||(ee.$$id=("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)),nt(ee.prop)&&ee.name&&(ee.prop=Ir(ee.name)),ee.$$valueGetter||(ee.$$valueGetter=mt(ee.prop)),!nt(ee.prop)&&nt(ee.name)&&(ee.name=ht(String(ee.prop))),nt(ee.prop)&&nt(ee.name)&&(ee.name=""),ee.hasOwnProperty("resizeable")||(ee.resizeable=!0),ee.hasOwnProperty("sortable")||(ee.sortable=!0),ee.hasOwnProperty("draggable")||(ee.draggable=!0),ee.hasOwnProperty("canAutoResize")||(ee.canAutoResize=!0),ee.hasOwnProperty("width")||(ee.width=150),ee.hasOwnProperty("isTreeColumn")&&ee.isTreeColumn&&!pn?pn=!0:ee.isTreeColumn=!1}function nt(st){return null==st}var it=(()=>{return(st=it||(it={})).standard="standard",st.flex="flex",st.force="force",it;var st})(),Pt=(()=>{return(st=Pt||(Pt={})).single="single",st.multi="multi",st.multiClick="multiClick",st.cell="cell",st.checkbox="checkbox",Pt;var st})(),Ut=(()=>{return(st=Ut||(Ut={})).single="single",st.multi="multi",Ut;var st})(),ot=(()=>{return(st=ot||(ot={})).header="header",st.body="body",ot;var st})();let Nn=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-header-template",""]]}),st})(),sn=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-cell-template",""]]}),st})(),An=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-tree-toggle",""]]}),st})(),Bn=(()=>{class st{constructor(ee){this.columnChangesService=ee,this.isFirstChange=!0}get cellTemplate(){return this._cellTemplateInput||this._cellTemplateQuery}get headerTemplate(){return this._headerTemplateInput||this._headerTemplateQuery}get treeToggleTemplate(){return this._treeToggleTemplateInput||this._treeToggleTemplateQuery}ngOnChanges(){this.isFirstChange?this.isFirstChange=!1:this.columnChangesService.onInputChange()}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(Kn))},st.\u0275dir=t.lG2({type:st,selectors:[["ngx-datatable-column"]],contentQueries:function(ee,Ve,fn){if(1&ee&&(t.Suo(fn,sn,7,t.Rgc),t.Suo(fn,Nn,7,t.Rgc),t.Suo(fn,An,7,t.Rgc)),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve._cellTemplateQuery=Tn.first),t.iGM(Tn=t.CRH())&&(Ve._headerTemplateQuery=Tn.first),t.iGM(Tn=t.CRH())&&(Ve._treeToggleTemplateQuery=Tn.first)}},inputs:{name:"name",prop:"prop",frozenLeft:"frozenLeft",frozenRight:"frozenRight",flexGrow:"flexGrow",resizeable:"resizeable",comparator:"comparator",pipe:"pipe",sortable:"sortable",draggable:"draggable",canAutoResize:"canAutoResize",minWidth:"minWidth",width:"width",maxWidth:"maxWidth",checkboxable:"checkboxable",headerCheckboxable:"headerCheckboxable",headerClass:"headerClass",cellClass:"cellClass",isTreeColumn:"isTreeColumn",treeLevelIndent:"treeLevelIndent",summaryFunc:"summaryFunc",summaryTemplate:"summaryTemplate",_cellTemplateInput:["cellTemplate","_cellTemplateInput"],_headerTemplateInput:["headerTemplate","_headerTemplateInput"],_treeToggleTemplateInput:["treeToggleTemplate","_treeToggleTemplateInput"]},features:[t.TTD]}),st})(),ir=(()=>{class st{constructor(ee){this.template=ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.Rgc))},st.\u0275dir=t.lG2({type:st,selectors:[["","ngx-datatable-row-detail-template",""]]}),st})(),mr=(()=>{class st{constructor(){this.rowHeight=0,this.toggle=new t.vpe}get template(){return this._templateInput||this._templateQuery}toggleExpandRow(ee){this.toggle.emit({type:"row",value:ee})}expandAllRows(){this.toggle.emit({type:"all",value:!0})}collapseAllRows(){this.toggle.emit({type:"all",value:!1})}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275dir=t.lG2({type:st,selectors:[["ngx-datatable-row-detail"]],contentQueries:function(ee,Ve,fn){if(1&ee&&t.Suo(fn,ir,7,t.Rgc),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve._templateQuery=Tn.first)}},inputs:{rowHeight:"rowHeight",_templateInput:["template","_templateInput"]},outputs:{toggle:"toggle"}}),st})(),_r=(()=>{class st{get template(){return this._templateInput||this._templateQuery}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275dir=t.lG2({type:st,selectors:[["ngx-datatable-footer"]],contentQueries:function(ee,Ve,fn){if(1&ee&&t.Suo(fn,qn,5,t.Rgc),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve._templateQuery=Tn.first)}},inputs:{footerHeight:"footerHeight",totalMessage:"totalMessage",selectedMessage:"selectedMessage",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon",_templateInput:["template","_templateInput"]}}),st})();function Nr(st){const pn={left:[],center:[],right:[]};if(st)for(const ee of st)ee.frozenLeft?pn.left.push(ee):ee.frozenRight?pn.right.push(ee):pn.center.push(ee);return pn}function br(st,pn){return{left:Jn(st.left),center:Jn(st.center),right:Jn(st.right),total:Math.floor(Jn(pn))}}function Jn(st,pn){let ee=0;if(st)for(const Ve of st)ee+=parseFloat(pn&&Ve[pn]?Ve[pn]:Ve.width);return ee}function Mr(st){const pn=[],ee=Nr(st);return pn.push({type:"left",columns:ee.left}),pn.push({type:"center",columns:ee.center}),pn.push({type:"right",columns:ee.right}),pn}class yi{constructor(){this.treeArray=[]}clearCache(){this.treeArray=[]}initCache(pn){const{rows:ee,rowHeight:Ve,detailRowHeight:fn,externalVirtual:Tn,rowCount:$r,rowIndexes:ni,rowExpansions:Ri}=pn,Do="function"==typeof Ve,gi="function"==typeof fn;if(!Do&&isNaN(Ve))throw new Error(`Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n valid number or function value: (${Ve}) when 'scrollbarV' is enabled.`);if(!gi&&isNaN(fn))throw new Error(`Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n valid number or function value: (${fn}) when 'scrollbarV' is enabled.`);const Hi=Tn?$r:ee.length;this.treeArray=new Array(Hi);for(let Li=0;Li<Hi;++Li)this.treeArray[Li]=0;for(let Li=0;Li<Hi;++Li){const cs=ee[Li];let Os=Ve;Do&&(Os=Ve(cs));const da=Ri.has(cs);cs&&da&&(Os+=gi?fn(cs,ni.get(cs)):fn),this.update(Li,Os)}}getRowIndex(pn){return 0===pn?0:this.calcRowIndex(pn)}update(pn,ee){if(!this.treeArray.length)throw new Error(`Update at index ${pn} with value ${ee} failed:\n Row Height cache not initialized.`);const Ve=this.treeArray.length;for(pn|=0;pn<Ve;)this.treeArray[pn]+=ee,pn|=pn+1}query(pn){if(!this.treeArray.length)throw new Error(`query at index ${pn} failed: Fenwick tree array not initialized.`);let ee=0;for(pn|=0;pn>=0;)ee+=this.treeArray[pn],pn=(pn&pn+1)-1;return ee}queryBetween(pn,ee){return this.query(ee)-this.query(pn-1)}calcRowIndex(pn){if(!this.treeArray.length)return 0;let ee=-1;const Ve=this.treeArray.length;for(let Tn=Math.pow(2,Ve.toString(2).length-1);0!==Tn;Tn>>=1){const $r=ee+Tn;$r<Ve&&pn>=this.treeArray[$r]&&(pn-=this.treeArray[$r],ee=$r)}return ee+1}}const Ii={},Mi="undefined"!=typeof document?document.createElement("div").style:void 0,Kr=function(){const st="undefined"!=typeof window?window.getComputedStyle(document.documentElement,""):void 0,pn=void 0!==st?Array.prototype.slice.call(st).join("").match(/-(moz|webkit|ms)-/):null,ee=null!==pn?pn[1]:void 0,Ve=void 0!==ee?"WebKit|Moz|MS|O".match(new RegExp("("+ee+")","i"))[1]:void 0;return Ve?{dom:Ve,lowercase:ee,css:`-${ee}-`,js:ee[0].toUpperCase()+ee.substr(1)}:void 0}();function ei(st){const pn=Ir(st);return Ii[pn]||(void 0!==Kr&&void 0!==Mi[Kr.css+st]?Ii[pn]=Kr.css+st:void 0!==Mi[st]&&(Ii[pn]=st)),Ii[pn]}const di="undefined"!=typeof window?ei("transform"):void 0,se="undefined"!=typeof window?ei("backfaceVisibility"):void 0,ct="undefined"!=typeof window?!!ei("transform"):void 0,Ke="undefined"!=typeof window?!!ei("perspective"):void 0,Xe="undefined"!=typeof window?window.navigator.userAgent:"Chrome",Vt=/Safari\//.test(Xe)&&!/Chrome\//.test(Xe);function Ct(st,pn,ee){void 0!==di&&ct?!Vt&&Ke?(st[di]=`translate3d(${pn}px, ${ee}px, 0)`,st[se]="hidden"):st[Ir(di)]=`translate(${pn}px, ${ee}px)`:(st.top=`${ee}px`,st.left=`${pn}px`)}let rt=(()=>{class st{constructor(ee){this.cd=ee,this.selected=[],this.scroll=new t.vpe,this.page=new t.vpe,this.activate=new t.vpe,this.select=new t.vpe,this.detailToggle=new t.vpe,this.rowContextmenu=new t.vpe(!1),this.treeAction=new t.vpe,this.rowHeightsCache=new yi,this.temp=[],this.offsetY=0,this.indexes={},this.rowIndexes=new WeakMap,this.rowExpansions=[],this.getDetailRowHeight=(Ve,fn)=>{if(!this.rowDetail)return 0;const Tn=this.rowDetail.rowHeight;return"function"==typeof Tn?Tn(Ve,fn):Tn},this.rowTrackingFn=(Ve,fn)=>{const Tn=this.getRowIndex(fn);return this.trackByProp?fn[this.trackByProp]:Tn}}set pageSize(ee){this._pageSize=ee,this.recalcLayout()}get pageSize(){return this._pageSize}set rows(ee){this._rows=ee,this.recalcLayout()}get rows(){return this._rows}set columns(ee){this._columns=ee;const Ve=Nr(ee);this.columnGroupWidths=br(Ve,ee)}get columns(){return this._columns}set offset(ee){this._offset=ee,(!this.scrollbarV||this.scrollbarV&&!this.virtualization)&&this.recalcLayout()}get offset(){return this._offset}set rowCount(ee){this._rowCount=ee,this.recalcLayout()}get rowCount(){return this._rowCount}get bodyWidth(){return this.scrollbarH?this.innerWidth+"px":"100%"}set bodyHeight(ee){this._bodyHeight=this.scrollbarV?ee+"px":"auto",this.recalcLayout()}get bodyHeight(){return this._bodyHeight}get selectEnabled(){return!!this.selectionType}get scrollHeight(){if(this.scrollbarV&&this.virtualization&&this.rowCount)return this.rowHeightsCache.query(this.rowCount-1)}ngOnInit(){this.rowDetail&&(this.listener=this.rowDetail.toggle.subscribe(({type:ee,value:Ve})=>{"row"===ee&&this.toggleRowExpansion(Ve),"all"===ee&&this.toggleAllRows(Ve),this.updateIndexes(),this.updateRows(),this.cd.markForCheck()})),this.groupHeader&&(this.listener=this.groupHeader.toggle.subscribe(({type:ee,value:Ve})=>{"group"===ee&&this.toggleRowExpansion(Ve),"all"===ee&&this.toggleAllRows(Ve),this.updateIndexes(),this.updateRows(),this.cd.markForCheck()}))}ngOnDestroy(){(this.rowDetail||this.groupHeader)&&this.listener.unsubscribe()}updateOffsetY(ee){this.scroller&&(this.scrollbarV&&this.virtualization&&ee?ee=this.rowHeightsCache.query(this.pageSize*ee-1):this.scrollbarV&&!this.virtualization&&(ee=0),this.scroller.setOffset(ee||0))}onBodyScroll(ee){const Ve=ee.scrollYPos,fn=ee.scrollXPos;(this.offsetY!==Ve||this.offsetX!==fn)&&this.scroll.emit({offsetY:Ve,offsetX:fn}),this.offsetY=Ve,this.offsetX=fn,this.updateIndexes(),this.updatePage(ee.direction),this.updateRows()}updatePage(ee){let Ve=this.indexes.first/this.pageSize;"up"===ee?Ve=Math.ceil(Ve):"down"===ee&&(Ve=Math.floor(Ve)),void 0!==ee&&!isNaN(Ve)&&this.page.emit({offset:Ve})}updateRows(){const{first:ee,last:Ve}=this.indexes;let fn=ee,Tn=0;const $r=[];if(this.groupedRows){let ni=3;for(1===this.groupedRows.length&&(ni=this.groupedRows[0].value.length);fn<Ve&&fn<this.groupedRows.length;){const Ri=this.groupedRows[fn];this.rowIndexes.set(Ri,fn),Ri.value&&Ri.value.forEach((Do,gi)=>{this.rowIndexes.set(Do,`${fn}-${gi}`)}),$r[Tn]=Ri,Tn++,fn++}}else for(;fn<Ve&&fn<this.rowCount;){const ni=this.rows[fn];ni&&(this.rowIndexes.set(ni,fn),$r[Tn]=ni),Tn++,fn++}this.temp=$r}getRowHeight(ee){return"function"==typeof this.rowHeight?this.rowHeight(ee):this.rowHeight}getGroupHeight(ee){let Ve=0;if(ee.value)for(let fn=0;fn<ee.value.length;fn++)Ve+=this.getRowAndDetailHeight(ee.value[fn]);return Ve}getRowAndDetailHeight(ee){let Ve=this.getRowHeight(ee);return this.getRowExpanded(ee)&&(Ve+=this.getDetailRowHeight(ee)),Ve}getRowsStyles(ee){const Ve={};if(this.groupedRows&&(Ve.width=this.columnGroupWidths.total),this.scrollbarV&&this.virtualization){let fn=0;if(this.groupedRows){const $r=ee[ee.length-1];fn=$r?this.getRowIndex($r):0}else fn=this.getRowIndex(ee);Ct(Ve,0,this.rowHeightsCache.query(fn-1))}return Ve}getBottomSummaryRowStyles(){if(!this.scrollbarV||!this.rows||!this.rows.length)return null;const ee={position:"absolute"};return Ct(ee,0,this.rowHeightsCache.query(this.rows.length-1)),ee}hideIndicator(){setTimeout(()=>this.loadingIndicator=!1,500)}updateIndexes(){let ee=0,Ve=0;if(this.scrollbarV)if(this.virtualization){const fn=parseInt(this.bodyHeight,0);ee=this.rowHeightsCache.getRowIndex(this.offsetY),Ve=this.rowHeightsCache.getRowIndex(fn+this.offsetY)+1}else ee=0,Ve=this.rowCount;else this.externalPaging||(ee=Math.max(this.offset*this.pageSize,0)),Ve=Math.min(ee+this.pageSize,this.rowCount);this.indexes={first:ee,last:Ve}}refreshRowHeightCache(){if(this.scrollbarV&&(!this.scrollbarV||this.virtualization)&&(this.rowHeightsCache.clearCache(),this.rows&&this.rows.length)){const ee=new Set;for(const Ve of this.rows)this.getRowExpanded(Ve)&&ee.add(Ve);this.rowHeightsCache.initCache({rows:this.rows,rowHeight:this.rowHeight,detailRowHeight:this.getDetailRowHeight,externalVirtual:this.scrollbarV&&this.externalPaging,rowCount:this.rowCount,rowIndexes:this.rowIndexes,rowExpansions:ee})}}getAdjustedViewPortIndex(){const ee=this.indexes.first;return this.scrollbarV&&this.virtualization&&this.rowHeightsCache.query(ee-1)<=this.offsetY?ee-1:ee}toggleRowExpansion(ee){const Ve=this.getAdjustedViewPortIndex(),fn=this.getRowExpandedIdx(ee,this.rowExpansions),Tn=fn>-1;if(this.scrollbarV&&this.virtualization){const $r=this.getDetailRowHeight(ee)*(Tn?-1:1),ni=this.getRowIndex(ee);this.rowHeightsCache.update(ni,$r)}Tn?this.rowExpansions.splice(fn,1):this.rowExpansions.push(ee),this.detailToggle.emit({rows:[ee],currentIndex:Ve})}toggleAllRows(ee){this.rowExpansions=[];const Ve=this.getAdjustedViewPortIndex();if(ee)for(const fn of this.rows)this.rowExpansions.push(fn);this.scrollbarV&&this.recalcLayout(),this.detailToggle.emit({rows:this.rows,currentIndex:Ve})}recalcLayout(){this.refreshRowHeightCache(),this.updateIndexes(),this.updateRows()}columnTrackingFn(ee,Ve){return Ve.$$id}stylesByGroup(ee){const Ve=this.columnGroupWidths,fn=this.offsetX,Tn={width:`${Ve[ee]}px`};if("left"===ee)Ct(Tn,fn,0);else if("right"===ee){const $r=parseInt(this.innerWidth+"",0);Ct(Tn,-1*(Ve.total-$r-fn),0)}return Tn}getRowExpanded(ee){if(0===this.rowExpansions.length&&this.groupExpansionDefault)for(const Ve of this.groupedRows)this.rowExpansions.push(Ve);return this.getRowExpandedIdx(ee,this.rowExpansions)>-1}getRowExpandedIdx(ee,Ve){if(!Ve||!Ve.length)return-1;const fn=this.rowIdentity(ee);return Ve.findIndex(Tn=>this.rowIdentity(Tn)===fn)}getRowIndex(ee){return this.rowIndexes.get(ee)||0}onTreeAction(ee){this.treeAction.emit({row:ee})}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.sBO))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-body"]],viewQuery:function(ee,Ve){if(1&ee&&t.Gf(mn,5),2&ee){let fn;t.iGM(fn=t.CRH())&&(Ve.scroller=fn.first)}},hostAttrs:[1,"datatable-body"],hostVars:4,hostBindings:function(ee,Ve){2&ee&&t.Udp("width",Ve.bodyWidth)("height",Ve.bodyHeight)},inputs:{selected:"selected",pageSize:"pageSize",rows:"rows",columns:"columns",offset:"offset",rowCount:"rowCount",bodyHeight:"bodyHeight",offsetX:"offsetX",loadingIndicator:"loadingIndicator",scrollbarV:"scrollbarV",scrollbarH:"scrollbarH",externalPaging:"externalPaging",rowHeight:"rowHeight",emptyMessage:"emptyMessage",selectionType:"selectionType",rowIdentity:"rowIdentity",rowDetail:"rowDetail",groupHeader:"groupHeader",selectCheck:"selectCheck",displayCheck:"displayCheck",trackByProp:"trackByProp",rowClass:"rowClass",groupedRows:"groupedRows",groupExpansionDefault:"groupExpansionDefault",innerWidth:"innerWidth",groupRowsBy:"groupRowsBy",virtualization:"virtualization",summaryRow:"summaryRow",summaryPosition:"summaryPosition",summaryHeight:"summaryHeight"},outputs:{scroll:"scroll",page:"page",activate:"activate",select:"select",detailToggle:"detailToggle",rowContextmenu:"rowContextmenu",treeAction:"treeAction"},decls:5,vars:9,consts:[[4,"ngIf"],[3,"selected","rows","selectCheck","selectEnabled","selectionType","rowIdentity","select","activate"],["selector",""],[3,"scrollbarV","scrollbarH","scrollHeight","scrollWidth","scroll",4,"ngIf"],["class","empty-row",3,"innerHTML",4,"ngIf"],[3,"scrollbarV","scrollbarH","scrollHeight","scrollWidth","scroll"],[3,"rowHeight","offsetX","innerWidth","rows","columns",4,"ngIf"],[3,"groupedRows","innerWidth","ngStyle","rowDetail","groupHeader","offsetX","detailRowHeight","row","expanded","rowIndex","rowContextmenu",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle","rowHeight","offsetX","innerWidth","rows","columns",4,"ngIf"],[3,"rowHeight","offsetX","innerWidth","rows","columns"],[3,"groupedRows","innerWidth","ngStyle","rowDetail","groupHeader","offsetX","detailRowHeight","row","expanded","rowIndex","rowContextmenu"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","rowIndex","expanded","rowClass","displayCheck","treeStatus","treeAction","activate",4,"ngIf","ngIfElse"],["groupedRowsTemplate",""],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","rowIndex","expanded","rowClass","displayCheck","treeStatus","treeAction","activate"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","group","rowIndex","expanded","rowClass","activate",4,"ngFor","ngForOf","ngForTrackBy"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","group","rowIndex","expanded","rowClass","activate"],[3,"ngStyle","rowHeight","offsetX","innerWidth","rows","columns"],[1,"empty-row",3,"innerHTML"]],template:function(ee,Ve){1&ee&&(t.YNc(0,m,1,0,"datatable-progress",0),t.TgZ(1,"datatable-selection",1,2),t.NdJ("select",function(Tn){return Ve.select.emit(Tn)})("activate",function(Tn){return Ve.activate.emit(Tn)}),t.YNc(3,z,4,8,"datatable-scroller",3),t.YNc(4,U,1,1,"div",4),t.qZA()),2&ee&&(t.Q6J("ngIf",Ve.loadingIndicator),t.xp6(1),t.Q6J("selected",Ve.selected)("rows",Ve.rows)("selectCheck",Ve.selectCheck)("selectEnabled",Ve.selectEnabled)("selectionType",Ve.selectionType)("rowIdentity",Ve.rowIdentity),t.xp6(2),t.Q6J("ngIf",null==Ve.rows?null:Ve.rows.length),t.xp6(1),t.Q6J("ngIf",!(null!=Ve.rows&&Ve.rows.length||Ve.loadingIndicator)))},directives:function(){return[e.O5,Jo,Ji,mn,e.sg,ds,zi,e.PC,to]},encapsulation:2,changeDetection:0}),st})(),bt=(()=>{class st{constructor(ee){this.cd=ee,this.sort=new t.vpe,this.reorder=new t.vpe,this.resize=new t.vpe,this.select=new t.vpe,this.columnContextmenu=new t.vpe(!1),this._columnGroupWidths={total:100},this._styleByGroup={left:{},center:{},right:{}},this.destroyed=!1}set innerWidth(ee){this._innerWidth=ee,setTimeout(()=>{if(this._columns){const Ve=Nr(this._columns);this._columnGroupWidths=br(Ve,this._columns),this.setStylesByGroup()}})}get innerWidth(){return this._innerWidth}set headerHeight(ee){this._headerHeight="auto"!==ee?`${ee}px`:ee}get headerHeight(){return this._headerHeight}set columns(ee){this._columns=ee;const Ve=Nr(ee);this._columnsByPin=Mr(ee),setTimeout(()=>{this._columnGroupWidths=br(Ve,ee),this.setStylesByGroup()})}get columns(){return this._columns}set offsetX(ee){this._offsetX=ee,this.setStylesByGroup()}get offsetX(){return this._offsetX}ngOnDestroy(){this.destroyed=!0}onLongPressStart({event:ee,model:Ve}){Ve.dragging=!0,this.dragEventTarget=ee}onLongPressEnd({event:ee,model:Ve}){this.dragEventTarget=ee,setTimeout(()=>{const fn=this._columns.find(Tn=>Tn.$$id===Ve.$$id);fn&&(fn.dragging=!1)},5)}get headerWidth(){return this.scrollbarH?this.innerWidth+"px":"100%"}trackByGroups(ee,Ve){return Ve.type}columnTrackingFn(ee,Ve){return Ve.$$id}onColumnResized(ee,Ve){ee<=Ve.minWidth?ee=Ve.minWidth:ee>=Ve.maxWidth&&(ee=Ve.maxWidth),this.resize.emit({column:Ve,prevValue:Ve.width,newValue:ee})}onColumnReordered({prevIndex:ee,newIndex:Ve,model:fn}){const Tn=this.getColumn(Ve);Tn.isTarget=!1,Tn.targetMarkerContext=void 0,this.reorder.emit({column:fn,prevValue:ee,newValue:Ve})}onTargetChanged({prevIndex:ee,newIndex:Ve,initialIndex:fn}){if(ee||0===ee){const Tn=this.getColumn(ee);Tn.isTarget=!1,Tn.targetMarkerContext=void 0}if(Ve||0===Ve){const Tn=this.getColumn(Ve);Tn.isTarget=!0,fn!==Ve&&(Tn.targetMarkerContext={class:"targetMarker ".concat(fn>Ve?"dragFromRight":"dragFromLeft")})}}getColumn(ee){const Ve=this._columnsByPin[0].columns.length;if(ee<Ve)return this._columnsByPin[0].columns[ee];const fn=this._columnsByPin[1].columns.length;return ee<Ve+fn?this._columnsByPin[1].columns[ee-Ve]:this._columnsByPin[2].columns[ee-Ve-fn]}onSort({column:ee,prevValue:Ve,newValue:fn}){if(ee.dragging)return;const Tn=this.calcNewSorts(ee,Ve,fn);this.sort.emit({sorts:Tn,column:ee,prevValue:Ve,newValue:fn})}calcNewSorts(ee,Ve,fn){let Tn=0;this.sorts||(this.sorts=[]);const $r=this.sorts.map((ni,Ri)=>((ni=Object.assign({},ni)).prop===ee.prop&&(Tn=Ri),ni));return void 0===fn?$r.splice(Tn,1):Ve?$r[Tn].dir=fn:(this.sortType===Ut.single&&$r.splice(0,this.sorts.length),$r.push({dir:fn,prop:ee.prop})),$r}setStylesByGroup(){this._styleByGroup.left=this.calcStylesByGroup("left"),this._styleByGroup.center=this.calcStylesByGroup("center"),this._styleByGroup.right=this.calcStylesByGroup("right"),this.destroyed||this.cd.detectChanges()}calcStylesByGroup(ee){const Ve=this._columnGroupWidths,Tn={width:`${Ve[ee]}px`};return"center"===ee?Ct(Tn,-1*this.offsetX,0):"right"===ee&&Ct(Tn,-1*(Ve.total-this.innerWidth),0),Tn}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.sBO))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-header"]],hostAttrs:[1,"datatable-header"],hostVars:4,hostBindings:function(ee,Ve){2&ee&&t.Udp("height",Ve.headerHeight)("width",Ve.headerWidth)},inputs:{innerWidth:"innerWidth",headerHeight:"headerHeight",columns:"columns",offsetX:"offsetX",sorts:"sorts",sortAscendingIcon:"sortAscendingIcon",sortDescendingIcon:"sortDescendingIcon",sortUnsetIcon:"sortUnsetIcon",scrollbarH:"scrollbarH",dealsWithGroup:"dealsWithGroup",targetMarkerTemplate:"targetMarkerTemplate",sortType:"sortType",allRowsSelected:"allRowsSelected",selectionType:"selectionType",reorderable:"reorderable"},outputs:{sort:"sort",reorder:"reorder",resize:"resize",select:"select",columnContextmenu:"columnContextmenu"},decls:2,vars:4,consts:[["orderable","",1,"datatable-header-inner",3,"reorder","targetChanged"],[3,"class","ngStyle",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle"],["resizeable","","long-press","","draggable","",3,"resizeEnabled","pressModel","pressEnabled","dragX","dragY","dragModel","dragEventTarget","headerHeight","isTarget","targetMarkerTemplate","targetMarkerContext","column","sortType","sorts","selectionType","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","resize","longPressStart","longPressEnd","sort","select","columnContextmenu",4,"ngFor","ngForOf","ngForTrackBy"],["resizeable","","long-press","","draggable","",3,"resizeEnabled","pressModel","pressEnabled","dragX","dragY","dragModel","dragEventTarget","headerHeight","isTarget","targetMarkerTemplate","targetMarkerContext","column","sortType","sorts","selectionType","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","resize","longPressStart","longPressEnd","sort","select","columnContextmenu"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.NdJ("reorder",function(Tn){return Ve.onColumnReordered(Tn)})("targetChanged",function(Tn){return Ve.onTargetChanged(Tn)}),t.YNc(1,I,2,5,"div",1),t.qZA()),2&ee&&(t.Udp("width",Ve._columnGroupWidths.total,"px"),t.xp6(1),t.Q6J("ngForOf",Ve._columnsByPin)("ngForTrackBy",Ve.trackByGroups))},directives:function(){return[Fn,e.sg,e.PC,go,En,Dn,$n]},encapsulation:2,changeDetection:0}),st})();function We(st,pn,ee){ee=ee||{};let Ve,fn,Tn,$r=null,ni=0;function Ri(){ni=!1===ee.leading?0:+new Date,$r=null,Tn=st.apply(Ve,fn)}return function(){const Do=+new Date;!ni&&!1===ee.leading&&(ni=Do);const gi=pn-(Do-ni);return Ve=this,fn=arguments,gi<=0?(clearTimeout($r),$r=null,ni=Do,Tn=st.apply(Ve,fn)):!$r&&!1!==ee.trailing&&($r=setTimeout(Ri,gi)),Tn}}function $t(st,pn){return function(Ve,fn,Tn){return{configurable:!0,enumerable:Tn.enumerable,get:function(){return Object.defineProperty(this,fn,{configurable:!0,enumerable:Tn.enumerable,value:We(Tn.value,st,pn)}),this[fn]}}}}function ai(st,pn){for(const ee of pn){const Ve=st.indexOf(ee);st.splice(Ve,1)}}function Dr(st,pn=300){let ee=0;for(const Ve of st)ee+=Ve.width||pn;return ee}var Qr=(()=>{return(st=Qr||(Qr={})).asc="asc",st.desc="desc",Qr;var st})();function fi(st,pn){if(null==st&&(st=0),null==pn&&(pn=0),st instanceof Date&&pn instanceof Date){if(st<pn)return-1;if(st>pn)return 1}else if(isNaN(parseFloat(st))||!isFinite(st)||isNaN(parseFloat(pn))||!isFinite(pn)){if(st=String(st),pn=String(pn),st.toLowerCase()<pn.toLowerCase())return-1;if(st.toLowerCase()>pn.toLowerCase())return 1}else{if(parseFloat(st)<parseFloat(pn))return-1;if(parseFloat(st)>parseFloat(pn))return 1}return 0}let wi=(()=>{class st{constructor(ee,Ve,fn,Tn,$r,ni,Ri){this.scrollbarHelper=ee,this.dimensionsHelper=Ve,this.cd=fn,this.columnChangesService=ni,this.configuration=Ri,this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.columnMode=it.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.loadingIndicator=!1,this.reorderable=!0,this.swapColumns=!0,this.sortType=Ut.single,this.sorts=[],this.cssClasses={sortAscending:"datatable-icon-up",sortDescending:"datatable-icon-down",sortUnset:"datatable-icon-sort-unset",pagerLeftArrow:"datatable-icon-left",pagerRightArrow:"datatable-icon-right",pagerPrevious:"datatable-icon-prev",pagerNext:"datatable-icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total",selectedMessage:"selected"},this.groupExpansionDefault=!1,this.selectAllRowsOnPage=!1,this.virtualization=!0,this.summaryRow=!1,this.summaryHeight=30,this.summaryPosition="top",this.scroll=new t.vpe,this.activate=new t.vpe,this.select=new t.vpe,this.sort=new t.vpe,this.page=new t.vpe,this.reorder=new t.vpe,this.resize=new t.vpe,this.tableContextmenu=new t.vpe(!1),this.treeAction=new t.vpe,this.rowCount=0,this._offsetX=new l.X(0),this._count=0,this._offset=0,this._subscriptions=[],this.rowIdentity=Do=>this._groupRowsBy?Do.key:Do,this.element=Tn.nativeElement,this.rowDiffer=$r.find({}).create(),this.configuration&&this.configuration.messages&&(this.messages=Object.assign({},this.configuration.messages))}set rows(ee){this._rows=ee,ee&&(this._internalRows=[...ee]),this.externalSorting||this.sortInternalRows(),this._internalRows=hn(this._internalRows,jt(this.treeFromRelation),jt(this.treeToRelation)),this.recalculate(),this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)),this.cd.markForCheck()}get rows(){return this._rows}set groupRowsBy(ee){ee&&(this._groupRowsBy=ee,this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)))}get groupRowsBy(){return this._groupRowsBy}set columns(ee){ee&&(this._internalColumns=[...ee],Ue(this._internalColumns),this.recalculateColumns()),this._columns=ee}get columns(){return this._columns}set limit(ee){this._limit=ee,this.recalculate()}get limit(){return this._limit}set count(ee){this._count=ee,this.recalculate()}get count(){return this._count}set offset(ee){this._offset=ee}get offset(){return Math.max(Math.min(this._offset,Math.ceil(this.rowCount/this.pageSize)-1),0)}get isFixedHeader(){const ee=this.headerHeight;return"string"!=typeof ee||"auto"!==ee}get isFixedRow(){return"auto"!==this.rowHeight}get isVertScroll(){return this.scrollbarV}get isVirtualized(){return this.virtualization}get isHorScroll(){return this.scrollbarH}get isSelectable(){return void 0!==this.selectionType}get isCheckboxSelection(){return this.selectionType===Pt.checkbox}get isCellSelection(){return this.selectionType===Pt.cell}get isSingleSelection(){return this.selectionType===Pt.single}get isMultiSelection(){return this.selectionType===Pt.multi}get isMultiClickSelection(){return this.selectionType===Pt.multiClick}set columnTemplates(ee){this._columnTemplates=ee,this.translateColumns(ee)}get columnTemplates(){return this._columnTemplates}get allRowsSelected(){let ee=this.rows&&this.selected&&this.selected.length===this.rows.length;if(this.bodyComponent&&this.selectAllRowsOnPage){const Ve=this.bodyComponent.indexes;ee=this.selected.length===Ve.last-Ve.first}return this.selected&&this.rows&&0!==this.rows.length&&ee}ngOnInit(){this.recalculate()}ngAfterViewInit(){this.externalSorting||this.sortInternalRows(),"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame(()=>{this.recalculate(),this.externalPaging&&this.scrollbarV&&this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:0})})}ngAfterContentInit(){this.columnTemplates.changes.subscribe(ee=>this.translateColumns(ee)),this.listenForColumnInputChanges()}translateColumns(ee){if(ee){const Ve=ee.toArray();Ve.length&&(this._internalColumns=function(st){const pn=[];for(const ee of st){const Ve={},fn=Object.getOwnPropertyNames(ee);for(const Tn of fn)Ve[Tn]=ee[Tn];ee.headerTemplate&&(Ve.headerTemplate=ee.headerTemplate),ee.cellTemplate&&(Ve.cellTemplate=ee.cellTemplate),ee.summaryFunc&&(Ve.summaryFunc=ee.summaryFunc),ee.summaryTemplate&&(Ve.summaryTemplate=ee.summaryTemplate),pn.push(Ve)}return pn}(Ve),Ue(this._internalColumns),this.recalculateColumns(),this.sortInternalRows(),this.cd.markForCheck())}}groupArrayBy(ee,Ve){const fn=new Map;return ee.forEach(ni=>{const Ri=ni[Ve];fn.has(Ri)?fn.get(Ri).push(ni):fn.set(Ri,[ni])}),Array.from(fn,ni=>((ni,Ri)=>({key:ni,value:Ri}))(ni[0],ni[1]))}ngDoCheck(){this.rowDiffer.diff(this.rows)&&(this.externalSorting?this._internalRows=[...this.rows]:this.sortInternalRows(),this._internalRows=hn(this._internalRows,jt(this.treeFromRelation),jt(this.treeToRelation)),this.recalculatePages(),this.cd.markForCheck())}recalculate(){this.recalculateDims(),this.recalculateColumns(),this.cd.markForCheck()}onWindowResize(){this.recalculate()}recalculateColumns(ee=this._internalColumns,Ve=-1,fn=this.scrollbarH){if(!ee)return;let Tn=this._innerWidth;return this.scrollbarV&&(Tn-=this.scrollbarHelper.width),this.columnMode===it.force?function(st,pn,ee,Ve,fn=300){const Tn=st.slice(ee+1,st.length).filter(Li=>!1!==Li.canAutoResize);for(const Li of Tn)Li.$$oldWidth||(Li.$$oldWidth=Li.width);let $r=0,ni=!1,Ri=Dr(st,fn),Do=pn-Ri;const gi=[];do{$r=Do/Tn.length,ni=Ri>=pn;for(const Li of Tn){if(ni&&Ve)Li.width=Li.$$oldWidth||Li.width||fn;else{const cs=(Li.width||fn)+$r;Li.minWidth&&cs<Li.minWidth?(Li.width=Li.minWidth,gi.push(Li)):Li.maxWidth&&cs>Li.maxWidth?(Li.width=Li.maxWidth,gi.push(Li)):Li.width=cs}Li.width=Math.max(0,Li.width)}Ri=Dr(st),Do=pn-Ri,ai(Tn,gi)}while(Do>1&&0!==Tn.length)}(ee,Tn,Ve,fn):this.columnMode===it.flex&&function(st,pn){const ee=function(st,pn){let ee=0;for(const Ve of st)ee+=Ve.width;return ee}(st),Ve=function(st){let pn=0;for(const ee of st)pn+=ee.flexGrow||0;return pn}(st),fn=Nr(st);ee!==pn&&function(st,pn,ee){for(const Tn in st)for(const $r of st[Tn])$r.canAutoResize?$r.width=0:(pn-=$r.width,ee-=$r.flexGrow?$r.flexGrow:0);const Ve={};let fn=pn;do{const Tn=fn/ee;fn=0;for(const $r in st)for(const ni of st[$r])if(ni.canAutoResize&&!Ve[ni.prop]){const Ri=ni.width+ni.flexGrow*Tn;void 0!==ni.minWidth&&Ri<ni.minWidth?(fn+=Ri-ni.minWidth,ni.width=ni.minWidth,Ve[ni.prop]=!0):ni.width=Ri}}while(0!==fn)}(fn,pn,Ve)}(ee,Tn),ee}recalculateDims(){const ee=this.dimensionsHelper.getDimensions(this.element);if(this._innerWidth=Math.floor(ee.width),this.scrollbarV){let Ve=ee.height;this.headerHeight&&(Ve-=this.headerHeight),this.footerHeight&&(Ve-=this.footerHeight),this.bodyHeight=Ve}this.recalculatePages()}recalculatePages(){this.pageSize=this.calcPageSize(),this.rowCount=this.calcRowCount()}onBodyPage({offset:ee}){this.externalPaging&&!this.virtualization||(this.offset=ee,this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}))}onBodyScroll(ee){this._offsetX.next(ee.offsetX),this.scroll.emit(ee),this.cd.detectChanges()}onFooterPage(ee){this.offset=ee.page-1,this.bodyComponent.updateOffsetY(this.offset),this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:this.offset}),this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected}))}calcPageSize(ee=this.rows){if(this.scrollbarV&&this.virtualization){const Ve=Math.ceil(this.bodyHeight/this.rowHeight);return Math.max(Ve,0)}return void 0!==this.limit?this.limit:ee?ee.length:0}calcRowCount(ee=this.rows){return this.externalPaging?this.count:ee?this.groupedRows?this.groupedRows.length:null!=this.treeFromRelation&&null!=this.treeToRelation?this._internalRows.length:ee.length:0}onColumnContextmenu({event:ee,column:Ve}){this.tableContextmenu.emit({event:ee,type:ot.header,content:Ve})}onRowContextmenu({event:ee,row:Ve}){this.tableContextmenu.emit({event:ee,type:ot.body,content:Ve})}onColumnResize({column:ee,newValue:Ve}){if(void 0===ee)return;let fn;const Tn=this._internalColumns.map(($r,ni)=>(($r=Object.assign({},$r)).$$id===ee.$$id&&(fn=ni,$r.width=Ve,$r.$$oldWidth=Ve),$r));this.recalculateColumns(Tn,fn),this._internalColumns=Tn,this.resize.emit({column:ee,newValue:Ve})}onColumnReorder({column:ee,newValue:Ve,prevValue:fn}){const Tn=this._internalColumns.map($r=>Object.assign({},$r));if(this.swapColumns){const $r=Tn[Ve];Tn[Ve]=ee,Tn[fn]=$r}else if(Ve>fn){const $r=Tn[fn];for(let ni=fn;ni<Ve;ni++)Tn[ni]=Tn[ni+1];Tn[Ve]=$r}else{const $r=Tn[fn];for(let ni=fn;ni>Ve;ni--)Tn[ni]=Tn[ni-1];Tn[Ve]=$r}this._internalColumns=Tn,this.reorder.emit({column:ee,newValue:Ve,prevValue:fn})}onColumnSort(ee){this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected})),this.sorts=ee.sorts,!1===this.externalSorting&&this.sortInternalRows(),this._internalRows=hn(this._internalRows,jt(this.treeFromRelation),jt(this.treeToRelation)),this.offset=0,this.bodyComponent.updateOffsetY(this.offset),this.sort.emit(ee)}onHeaderSelect(ee){if(this.bodyComponent&&this.selectAllRowsOnPage){const Ve=this.bodyComponent.indexes.first,fn=this.bodyComponent.indexes.last,Tn=this.selected.length===fn-Ve;this.selected=[],Tn||this.selected.push(...this._internalRows.slice(Ve,fn))}else{const Ve=this.selected.length===this.rows.length;this.selected=[],Ve||this.selected.push(...this.rows)}this.select.emit({selected:this.selected})}onBodySelect(ee){this.select.emit(ee)}onTreeAction(ee){const Ve=ee.row,fn=this._rows.findIndex(Tn=>Tn[this.treeToRelation]===ee.row[this.treeToRelation]);this.treeAction.emit({row:Ve,rowIndex:fn})}ngOnDestroy(){this._subscriptions.forEach(ee=>ee.unsubscribe())}listenForColumnInputChanges(){this._subscriptions.push(this.columnChangesService.columnInputChanges$.subscribe(()=>{this.columnTemplates&&this.columnTemplates.notifyOnChanges()}))}sortInternalRows(){this._internalRows=function(st,pn,ee){if(!st)return[];if(!ee||!ee.length||!pn)return[...st];const Ve=new Map;st.forEach((ni,Ri)=>Ve.set(ni,Ri));const fn=[...st],Tn=pn.reduce((ni,Ri)=>(Ri.comparator&&"function"==typeof Ri.comparator&&(ni[Ri.prop]=Ri.comparator),ni),{}),$r=ee.map(ni=>{const Ri=ni.prop;return{prop:Ri,dir:ni.dir,valueGetter:mt(Ri),compareFn:Tn[Ri]||fi}});return fn.sort(function(ni,Ri){for(const Do of $r){const{prop:gi,valueGetter:Hi}=Do,Li=Hi(ni,gi),cs=Hi(Ri,gi),Os=Do.dir!==Qr.desc?Do.compareFn(Li,cs,ni,Ri,Do.dir):-Do.compareFn(Li,cs,ni,Ri,Do.dir);if(0!==Os)return Os}return Ve.has(ni)&&Ve.has(Ri)?Ve.get(ni)<Ve.get(Ri)?-1:1:0})}(this._internalRows,this._internalColumns,this.sorts)}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(Kt,4),t.Y36(dn,4),t.Y36(t.sBO),t.Y36(t.SBq),t.Y36(t.aQg),t.Y36(Kn),t.Y36("configuration",8))},st.\u0275cmp=t.Xpm({type:st,selectors:[["ngx-datatable"]],contentQueries:function(ee,Ve,fn){if(1&ee&&(t.Suo(fn,mr,5),t.Suo(fn,Xt,5),t.Suo(fn,_r,5),t.Suo(fn,Bn,4)),2&ee){let Tn;t.iGM(Tn=t.CRH())&&(Ve.rowDetail=Tn.first),t.iGM(Tn=t.CRH())&&(Ve.groupHeader=Tn.first),t.iGM(Tn=t.CRH())&&(Ve.footer=Tn.first),t.iGM(Tn=t.CRH())&&(Ve.columnTemplates=Tn)}},viewQuery:function(ee,Ve){if(1&ee&&(t.Gf(rt,5),t.Gf(bt,5)),2&ee){let fn;t.iGM(fn=t.CRH())&&(Ve.bodyComponent=fn.first),t.iGM(fn=t.CRH())&&(Ve.headerComponent=fn.first)}},hostAttrs:[1,"ngx-datatable"],hostVars:22,hostBindings:function(ee,Ve){1&ee&&t.NdJ("resize",function(){return Ve.onWindowResize()},!1,t.Jf7),2&ee&&t.ekj("fixed-header",Ve.isFixedHeader)("fixed-row",Ve.isFixedRow)("scroll-vertical",Ve.isVertScroll)("virtualized",Ve.isVirtualized)("scroll-horz",Ve.isHorScroll)("selectable",Ve.isSelectable)("checkbox-selection",Ve.isCheckboxSelection)("cell-selection",Ve.isCellSelection)("single-selection",Ve.isSingleSelection)("multi-selection",Ve.isMultiSelection)("multi-click-selection",Ve.isMultiClickSelection)},inputs:{selected:"selected",scrollbarV:"scrollbarV",scrollbarH:"scrollbarH",rowHeight:"rowHeight",columnMode:"columnMode",headerHeight:"headerHeight",footerHeight:"footerHeight",externalPaging:"externalPaging",externalSorting:"externalSorting",loadingIndicator:"loadingIndicator",reorderable:"reorderable",swapColumns:"swapColumns",sortType:"sortType",sorts:"sorts",cssClasses:"cssClasses",messages:"messages",groupExpansionDefault:"groupExpansionDefault",selectAllRowsOnPage:"selectAllRowsOnPage",virtualization:"virtualization",summaryRow:"summaryRow",summaryHeight:"summaryHeight",summaryPosition:"summaryPosition",rowIdentity:"rowIdentity",rows:"rows",groupedRows:"groupedRows",groupRowsBy:"groupRowsBy",columns:"columns",limit:"limit",count:"count",offset:"offset",targetMarkerTemplate:"targetMarkerTemplate",selectionType:"selectionType",rowClass:"rowClass",selectCheck:"selectCheck",displayCheck:"displayCheck",trackByProp:"trackByProp",treeFromRelation:"treeFromRelation",treeToRelation:"treeToRelation"},outputs:{scroll:"scroll",activate:"activate",select:"select",sort:"sort",page:"page",reorder:"reorder",resize:"resize",tableContextmenu:"tableContextmenu",treeAction:"treeAction"},decls:5,vars:34,consts:[["visibilityObserver","",3,"visible"],[3,"sorts","sortType","scrollbarH","innerWidth","offsetX","dealsWithGroup","columns","headerHeight","reorderable","targetMarkerTemplate","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","selectionType","sort","resize","reorder","select","columnContextmenu",4,"ngIf"],[3,"groupRowsBy","groupedRows","rows","groupExpansionDefault","scrollbarV","scrollbarH","virtualization","loadingIndicator","externalPaging","rowHeight","rowCount","offset","trackByProp","columns","pageSize","offsetX","rowDetail","groupHeader","selected","innerWidth","bodyHeight","selectionType","emptyMessage","rowIdentity","rowClass","selectCheck","displayCheck","summaryRow","summaryHeight","summaryPosition","page","activate","rowContextmenu","select","scroll","treeAction"],[3,"rowCount","pageSize","offset","footerHeight","footerTemplate","totalMessage","pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","selectedCount","selectedMessage","pagerNextIcon","page",4,"ngIf"],[3,"sorts","sortType","scrollbarH","innerWidth","offsetX","dealsWithGroup","columns","headerHeight","reorderable","targetMarkerTemplate","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","selectionType","sort","resize","reorder","select","columnContextmenu"],[3,"rowCount","pageSize","offset","footerHeight","footerTemplate","totalMessage","pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","selectedCount","selectedMessage","pagerNextIcon","page"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.NdJ("visible",function(){return Ve.recalculate()}),t.YNc(1,J,2,17,"datatable-header",1),t.TgZ(2,"datatable-body",2),t.NdJ("page",function(Tn){return Ve.onBodyPage(Tn)})("activate",function(Tn){return Ve.activate.emit(Tn)})("rowContextmenu",function(Tn){return Ve.onRowContextmenu(Tn)})("select",function(Tn){return Ve.onBodySelect(Tn)})("scroll",function(Tn){return Ve.onBodyScroll(Tn)})("treeAction",function(Tn){return Ve.onTreeAction(Tn)}),t.ALo(3,"async"),t.qZA(),t.YNc(4,Y,1,12,"datatable-footer",3),t.qZA()),2&ee&&(t.xp6(1),t.Q6J("ngIf",Ve.headerHeight),t.xp6(1),t.Q6J("groupRowsBy",Ve.groupRowsBy)("groupedRows",Ve.groupedRows)("rows",Ve._internalRows)("groupExpansionDefault",Ve.groupExpansionDefault)("scrollbarV",Ve.scrollbarV)("scrollbarH",Ve.scrollbarH)("virtualization",Ve.virtualization)("loadingIndicator",Ve.loadingIndicator)("externalPaging",Ve.externalPaging)("rowHeight",Ve.rowHeight)("rowCount",Ve.rowCount)("offset",Ve.offset)("trackByProp",Ve.trackByProp)("columns",Ve._internalColumns)("pageSize",Ve.pageSize)("offsetX",t.lcZ(3,32,Ve._offsetX))("rowDetail",Ve.rowDetail)("groupHeader",Ve.groupHeader)("selected",Ve.selected)("innerWidth",Ve._innerWidth)("bodyHeight",Ve.bodyHeight)("selectionType",Ve.selectionType)("emptyMessage",Ve.messages.emptyMessage)("rowIdentity",Ve.rowIdentity)("rowClass",Ve.rowClass)("selectCheck",Ve.selectCheck)("displayCheck",Ve.displayCheck)("summaryRow",Ve.summaryRow)("summaryHeight",Ve.summaryHeight)("summaryPosition",Ve.summaryPosition),t.xp6(2),t.Q6J("ngIf",Ve.footerHeight))},directives:function(){return[Sn,e.O5,rt,bt,Fi]},pipes:function(){return[e.Ov]},styles:[".ngx-datatable{display:block;justify-content:center;overflow:hidden;position:relative;transform:translateZ(0)}.ngx-datatable [hidden]{display:none!important}.ngx-datatable *,.ngx-datatable :after,.ngx-datatable :before{box-sizing:border-box}.ngx-datatable.scroll-vertical .datatable-body{overflow-y:auto}.ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper{position:absolute}.ngx-datatable.scroll-horz .datatable-body{-webkit-overflow-scrolling:touch;overflow-x:auto}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner{white-space:nowrap}.ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngx-datatable.fixed-row .datatable-scroll,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row{white-space:nowrap}.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell,.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngx-datatable .datatable-body-row,.ngx-datatable .datatable-header-inner,.ngx-datatable .datatable-row-center{-o-flex-flow:row;display:flex;flex-direction:row;flex-flow:row}.ngx-datatable .datatable-body-cell,.ngx-datatable .datatable-header-cell{display:inline-block;line-height:1.625;overflow-x:hidden;vertical-align:top}.ngx-datatable .datatable-body-cell:focus,.ngx-datatable .datatable-header-cell:focus{outline:none}.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{z-index:9}.ngx-datatable .datatable-row-center,.ngx-datatable .datatable-row-group,.ngx-datatable .datatable-row-left,.ngx-datatable .datatable-row-right{position:relative}.ngx-datatable .datatable-header{display:block;overflow:hidden}.ngx-datatable .datatable-header .datatable-header-inner{-webkit-align-items:stretch;align-items:stretch}.ngx-datatable .datatable-header .datatable-header-cell{display:inline-block;position:relative}.ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper{cursor:pointer}.ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper{cursor:move}.ngx-datatable .datatable-header .datatable-header-cell .sort-btn{cursor:pointer;display:inline-block;line-height:100%;vertical-align:middle}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable{bottom:0;display:inline-block;padding:0 4px;position:absolute;right:0;top:0;visibility:hidden;width:5px}.ngx-datatable .datatable-header .datatable-header-cell .resize-handle{cursor:ew-resize}.ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle,.ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable{visibility:visible}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker{bottom:0;position:absolute;top:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft{right:0}.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight{left:0}.ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap{height:inherit}.ngx-datatable .datatable-body{display:block;position:relative;z-index:10}.ngx-datatable .datatable-body .datatable-scroll{display:inline-block}.ngx-datatable .datatable-body .datatable-row-detail{overflow-y:hidden}.ngx-datatable .datatable-body .datatable-row-wrapper{display:flex;flex-direction:column}.ngx-datatable .datatable-body .datatable-body-row{outline:none}.ngx-datatable .datatable-body .datatable-body-row>div{display:flex}.ngx-datatable .datatable-footer{display:block;overflow:auto;width:100%}.ngx-datatable .datatable-footer .datatable-footer-inner{align-items:center;display:flex;width:100%}.ngx-datatable .datatable-footer .selected-count .page-count{flex:1 1 40%}.ngx-datatable .datatable-footer .selected-count .datatable-pager{flex:1 1 60%}.ngx-datatable .datatable-footer .page-count{flex:1 1 20%}.ngx-datatable .datatable-footer .datatable-pager{flex:1 1 80%;text-align:right}.ngx-datatable .datatable-footer .datatable-pager .pager,.ngx-datatable .datatable-footer .datatable-pager .pager li{display:inline-block;list-style:none;margin:0;padding:0}.ngx-datatable .datatable-footer .datatable-pager .pager li,.ngx-datatable .datatable-footer .datatable-pager .pager li a{outline:none}.ngx-datatable .datatable-footer .datatable-pager .pager li a{cursor:pointer;display:inline-block}.ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a{cursor:not-allowed}"],encapsulation:2,changeDetection:0}),(0,h.gn)([$t(5)],st.prototype,"onWindowResize",null),st})(),go=(()=>{class st{constructor(ee){this.cd=ee,this.sort=new t.vpe,this.select=new t.vpe,this.columnContextmenu=new t.vpe(!1),this.sortFn=this.onSort.bind(this),this.selectFn=this.select.emit.bind(this.select),this.cellContext={column:this.column,sortDir:this.sortDir,sortFn:this.sortFn,allRowsSelected:this.allRowsSelected,selectFn:this.selectFn}}set allRowsSelected(ee){this._allRowsSelected=ee,this.cellContext.allRowsSelected=ee}get allRowsSelected(){return this._allRowsSelected}set column(ee){this._column=ee,this.cellContext.column=ee,this.cd.markForCheck()}get column(){return this._column}set sorts(ee){this._sorts=ee,this.sortDir=this.calcSortDir(ee),this.cellContext.sortDir=this.sortDir,this.sortClass=this.calcSortClass(this.sortDir),this.cd.markForCheck()}get sorts(){return this._sorts}get columnCssClasses(){let ee="datatable-header-cell";if(this.column.sortable&&(ee+=" sortable"),this.column.resizeable&&(ee+=" resizeable"),this.column.headerClass)if("string"==typeof this.column.headerClass)ee+=" "+this.column.headerClass;else if("function"==typeof this.column.headerClass){const fn=this.column.headerClass({column:this.column});if("string"==typeof fn)ee+=fn;else if("object"==typeof fn){const Tn=Object.keys(fn);for(const $r of Tn)!0===fn[$r]&&(ee+=` ${$r}`)}}const Ve=this.sortDir;return Ve&&(ee+=` sort-active sort-${Ve}`),ee}get name(){return void 0===this.column.headerTemplate?this.column.name:void 0}get minWidth(){return this.column.minWidth}get maxWidth(){return this.column.maxWidth}get width(){return this.column.width}get isCheckboxable(){return this.column.checkboxable&&this.column.headerCheckboxable&&this.selectionType===Pt.checkbox}onContextmenu(ee){this.columnContextmenu.emit({event:ee,column:this.column})}ngOnInit(){this.sortClass=this.calcSortClass(this.sortDir)}calcSortDir(ee){if(ee&&this.column){const Ve=ee.find(fn=>fn.prop===this.column.prop);if(Ve)return Ve.dir}}onSort(){if(!this.column.sortable)return;const ee=function(st,pn){return st===Ut.single?pn===Qr.asc?Qr.desc:Qr.asc:pn?pn===Qr.asc?Qr.desc:void 0:Qr.asc}(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:ee})}calcSortClass(ee){if(this.cellContext.column.sortable)return ee===Qr.asc?`sort-btn sort-asc ${this.sortAscendingIcon}`:ee===Qr.desc?`sort-btn sort-desc ${this.sortDescendingIcon}`:`sort-btn ${this.sortUnsetIcon}`}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.sBO))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-header-cell"]],hostAttrs:[1,"datatable-header-cell"],hostVars:11,hostBindings:function(ee,Ve){1&ee&&t.NdJ("contextmenu",function(Tn){return Ve.onContextmenu(Tn)}),2&ee&&(t.uIk("title",Ve.name),t.Tol(Ve.columnCssClasses),t.Udp("min-width",Ve.minWidth,"px")("max-width",Ve.maxWidth,"px")("width",Ve.width,"px")("height",Ve.headerHeight,"px"))},inputs:{allRowsSelected:"allRowsSelected",column:"column",sorts:"sorts",sortType:"sortType",sortAscendingIcon:"sortAscendingIcon",sortDescendingIcon:"sortDescendingIcon",sortUnsetIcon:"sortUnsetIcon",isTarget:"isTarget",targetMarkerTemplate:"targetMarkerTemplate",targetMarkerContext:"targetMarkerContext",selectionType:"selectionType",headerHeight:"headerHeight"},outputs:{sort:"sort",select:"select",columnContextmenu:"columnContextmenu"},decls:6,vars:6,consts:[[1,"datatable-header-cell-template-wrap"],[4,"ngIf"],["class","datatable-checkbox",4,"ngIf"],["class","datatable-header-cell-wrapper",4,"ngIf"],[3,"click"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"datatable-checkbox"],["type","checkbox",3,"checked","change"],[1,"datatable-header-cell-wrapper"],[1,"datatable-header-cell-label","draggable",3,"innerHTML","click"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.YNc(1,oe,1,2,void 0,1),t.YNc(2,fe,2,1,"label",2),t.YNc(3,ne,2,1,"span",3),t.YNc(4,ce,1,2,void 0,1),t.TgZ(5,"span",4),t.NdJ("click",function(){return Ve.onSort()}),t.qZA(),t.qZA()),2&ee&&(t.xp6(1),t.Q6J("ngIf",Ve.isTarget),t.xp6(1),t.Q6J("ngIf",Ve.isCheckboxable),t.xp6(1),t.Q6J("ngIf",!Ve.column.headerTemplate),t.xp6(1),t.Q6J("ngIf",Ve.column.headerTemplate),t.xp6(1),t.Tol(Ve.sortClass))},directives:[e.O5,e.tP],encapsulation:2,changeDetection:0}),st})(),Fi=(()=>{class st{constructor(){this.selectedCount=0,this.page=new t.vpe}get isVisible(){return this.rowCount/this.pageSize>1}get curPage(){return this.offset+1}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-footer"]],hostAttrs:[1,"datatable-footer"],inputs:{selectedCount:"selectedCount",footerHeight:"footerHeight",rowCount:"rowCount",pageSize:"pageSize",offset:"offset",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon",totalMessage:"totalMessage",footerTemplate:"footerTemplate",selectedMessage:"selectedMessage"},outputs:{page:"page"},decls:4,vars:8,consts:[[1,"datatable-footer-inner",3,"ngClass"],[4,"ngIf"],["class","page-count",4,"ngIf"],[3,"pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","pagerNextIcon","page","size","count","hidden","change",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"page-count"],[3,"pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","pagerNextIcon","page","size","count","hidden","change"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.YNc(1,Oe,1,8,void 0,1),t.YNc(2,ue,3,3,"div",2),t.YNc(3,He,1,8,"datatable-pager",3),t.qZA()),2&ee&&(t.Udp("height",Ve.footerHeight,"px"),t.Q6J("ngClass",t.VKq(6,$e,Ve.selectedMessage)),t.xp6(1),t.Q6J("ngIf",Ve.footerTemplate),t.xp6(1),t.Q6J("ngIf",!Ve.footerTemplate),t.xp6(1),t.Q6J("ngIf",!Ve.footerTemplate))},directives:function(){return[e.mk,e.O5,e.tP,no]},encapsulation:2,changeDetection:0}),st})(),no=(()=>{class st{constructor(){this.change=new t.vpe,this._count=0,this._page=1,this._size=0}set size(ee){this._size=ee,this.pages=this.calcPages()}get size(){return this._size}set count(ee){this._count=ee,this.pages=this.calcPages()}get count(){return this._count}set page(ee){this._page=ee,this.pages=this.calcPages()}get page(){return this._page}get totalPages(){const ee=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(ee||0,1)}canPrevious(){return this.page>1}canNext(){return this.page<this.totalPages}prevPage(){this.selectPage(this.page-1)}nextPage(){this.selectPage(this.page+1)}selectPage(ee){ee>0&&ee<=this.totalPages&&ee!==this.page&&(this.page=ee,this.change.emit({page:ee}))}calcPages(ee){const Ve=[];let fn=1,Tn=this.totalPages;ee=ee||this.page,5<this.totalPages&&(fn=ee-Math.floor(2.5),Tn=ee+Math.floor(2.5),fn<1?(fn=1,Tn=Math.min(fn+5-1,this.totalPages)):Tn>this.totalPages&&(fn=Math.max(this.totalPages-5+1,1),Tn=this.totalPages));for(let Ri=fn;Ri<=Tn;Ri++)Ve.push({number:Ri,text:Ri});return Ve}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-pager"]],hostAttrs:[1,"datatable-pager"],inputs:{size:"size",count:"count",page:"page",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon"},outputs:{change:"change"},decls:14,vars:21,consts:[[1,"pager"],["role","button","aria-label","go to first page","href","javascript:void(0)",3,"click"],["role","button","aria-label","go to previous page","href","javascript:void(0)",3,"click"],["role","button","class","pages",3,"active",4,"ngFor","ngForOf"],["role","button","aria-label","go to next page","href","javascript:void(0)",3,"click"],["role","button","aria-label","go to last page","href","javascript:void(0)",3,"click"],["role","button",1,"pages"],["href","javascript:void(0)",3,"click"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"ul",0),t.TgZ(1,"li"),t.TgZ(2,"a",1),t.NdJ("click",function(){return Ve.selectPage(1)}),t._UZ(3,"i"),t.qZA(),t.qZA(),t.TgZ(4,"li"),t.TgZ(5,"a",2),t.NdJ("click",function(){return Ve.prevPage()}),t._UZ(6,"i"),t.qZA(),t.qZA(),t.YNc(7,F,3,4,"li",3),t.TgZ(8,"li"),t.TgZ(9,"a",4),t.NdJ("click",function(){return Ve.nextPage()}),t._UZ(10,"i"),t.qZA(),t.qZA(),t.TgZ(11,"li"),t.TgZ(12,"a",5),t.NdJ("click",function(){return Ve.selectPage(Ve.totalPages)}),t._UZ(13,"i"),t.qZA(),t.qZA(),t.qZA()),2&ee&&(t.xp6(1),t.ekj("disabled",!Ve.canPrevious()),t.xp6(2),t.Tol(Ve.pagerPreviousIcon),t.xp6(1),t.ekj("disabled",!Ve.canPrevious()),t.xp6(2),t.Tol(Ve.pagerLeftArrowIcon),t.xp6(1),t.Q6J("ngForOf",Ve.pages),t.xp6(1),t.ekj("disabled",!Ve.canNext()),t.xp6(2),t.Tol(Ve.pagerRightArrowIcon),t.xp6(1),t.ekj("disabled",!Ve.canNext()),t.xp6(2),t.Tol(Ve.pagerNextIcon))},directives:[e.sg],encapsulation:2,changeDetection:0}),st})(),Ji=(()=>{class st{}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-progress"]],decls:3,vars:0,consts:[["role","progressbar",1,"progress-linear"],[1,"container"],[1,"bar"]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.TgZ(1,"div",1),t._UZ(2,"div",2),t.qZA(),t.qZA())},encapsulation:2,changeDetection:0}),st})();var qi=(()=>{return(st=qi||(qi={}))[st.up=38]="up",st[st.down=40]="down",st[st.return=13]="return",st[st.escape=27]="escape",st[st.left=37]="left",st[st.right=39]="right",qi;var st})();let to=(()=>{class st{constructor(ee,Ve,fn,Tn){this.differs=ee,this.scrollbarHelper=Ve,this.cd=fn,this.treeStatus="collapsed",this.activate=new t.vpe,this.treeAction=new t.vpe,this._groupStyles={left:{},center:{},right:{}},this._element=Tn.nativeElement,this._rowDiffer=ee.find({}).create()}set columns(ee){this._columns=ee,this.recalculateColumns(ee),this.buildStylesByGroup()}get columns(){return this._columns}set innerWidth(ee){if(this._columns){const Ve=Nr(this._columns);this._columnGroupWidths=br(Ve,this._columns)}this._innerWidth=ee,this.recalculateColumns(),this.buildStylesByGroup()}get innerWidth(){return this._innerWidth}set offsetX(ee){this._offsetX=ee,this.buildStylesByGroup()}get offsetX(){return this._offsetX}get cssClass(){let ee="datatable-body-row";if(this.isSelected&&(ee+=" active"),this.rowIndex%2!=0&&(ee+=" datatable-row-odd"),this.rowIndex%2==0&&(ee+=" datatable-row-even"),this.rowClass){const Ve=this.rowClass(this.row);if("string"==typeof Ve)ee+=` ${Ve}`;else if("object"==typeof Ve){const fn=Object.keys(Ve);for(const Tn of fn)!0===Ve[Tn]&&(ee+=` ${Tn}`)}}return ee}get columnsTotalWidths(){return this._columnGroupWidths.total}ngDoCheck(){this._rowDiffer.diff(this.row)&&this.cd.markForCheck()}trackByGroups(ee,Ve){return Ve.type}columnTrackingFn(ee,Ve){return Ve.$$id}buildStylesByGroup(){this._groupStyles.left=this.calcStylesByGroup("left"),this._groupStyles.center=this.calcStylesByGroup("center"),this._groupStyles.right=this.calcStylesByGroup("right"),this.cd.markForCheck()}calcStylesByGroup(ee){const Ve=this._columnGroupWidths,fn=this.offsetX,Tn={width:`${Ve[ee]}px`};if("left"===ee)Ct(Tn,fn,0);else if("right"===ee){const $r=parseInt(this.innerWidth+"",0);Ct(Tn,-1*(Ve.total-$r-fn+this.scrollbarHelper.width),0)}return Tn}onActivate(ee,Ve){ee.cellIndex=Ve,ee.rowElement=this._element,this.activate.emit(ee)}onKeyDown(ee){const Ve=ee.keyCode;(Ve===qi.return||Ve===qi.down||Ve===qi.up||Ve===qi.left||Ve===qi.right)&&ee.target===this._element&&(ee.preventDefault(),ee.stopPropagation(),this.activate.emit({type:"keydown",event:ee,row:this.row,rowElement:this._element}))}onMouseenter(ee){this.activate.emit({type:"mouseenter",event:ee,row:this.row,rowElement:this._element})}recalculateColumns(ee=this.columns){this._columns=ee;const Ve=Nr(this._columns);this._columnsByPin=Mr(this._columns),this._columnGroupWidths=br(Ve,this._columns)}onTreeAction(){this.treeAction.emit()}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.aQg),t.Y36(Kt,4),t.Y36(t.sBO),t.Y36(t.SBq))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-body-row"]],hostVars:6,hostBindings:function(ee,Ve){1&ee&&t.NdJ("keydown",function(Tn){return Ve.onKeyDown(Tn)})("mouseenter",function(Tn){return Ve.onMouseenter(Tn)}),2&ee&&(t.Tol(Ve.cssClass),t.Udp("width",Ve.columnsTotalWidths,"px")("height",Ve.rowHeight,"px"))},inputs:{treeStatus:"treeStatus",columns:"columns",innerWidth:"innerWidth",offsetX:"offsetX",expanded:"expanded",rowClass:"rowClass",row:"row",group:"group",isSelected:"isSelected",rowIndex:"rowIndex",displayCheck:"displayCheck",rowHeight:"rowHeight"},outputs:{activate:"activate",treeAction:"treeAction"},decls:1,vars:2,consts:[[3,"class","ngStyle",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle"],["tabindex","-1",3,"row","group","expanded","isSelected","rowIndex","column","rowHeight","displayCheck","treeStatus","activate","treeAction",4,"ngFor","ngForOf","ngForTrackBy"],["tabindex","-1",3,"row","group","expanded","isSelected","rowIndex","column","rowHeight","displayCheck","treeStatus","activate","treeAction"]],template:function(ee,Ve){1&ee&&t.YNc(0,Et,2,6,"div",0),2&ee&&t.Q6J("ngForOf",Ve._columnsByPin)("ngForTrackBy",Ve.trackByGroups)},directives:function(){return[e.sg,e.PC,Go]},encapsulation:2,changeDetection:0}),st})(),zi=(()=>{class st{constructor(ee,Ve){this.cd=ee,this.differs=Ve,this.rowContextmenu=new t.vpe(!1),this.groupContext={group:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this.rowContext={row:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this._expanded=!1,this.rowDiffer=Ve.find({}).create()}set rowIndex(ee){this._rowIndex=ee,this.rowContext.rowIndex=ee,this.groupContext.rowIndex=ee,this.cd.markForCheck()}get rowIndex(){return this._rowIndex}set expanded(ee){this._expanded=ee,this.groupContext.expanded=ee,this.rowContext.expanded=ee,this.cd.markForCheck()}get expanded(){return this._expanded}ngDoCheck(){this.rowDiffer.diff(this.row)&&(this.rowContext.row=this.row,this.groupContext.group=this.row,this.cd.markForCheck())}onContextmenu(ee){this.rowContextmenu.emit({event:ee,row:this.row})}getGroupHeaderStyle(){const ee={};return ee.transform="translate3d("+this.offsetX+"px, 0px, 0px)",ee["backface-visibility"]="hidden",ee.width=this.innerWidth,ee}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.sBO),t.Y36(t.aQg))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-row-wrapper"]],hostAttrs:[1,"datatable-row-wrapper"],hostBindings:function(ee,Ve){1&ee&&t.NdJ("contextmenu",function(Tn){return Ve.onContextmenu(Tn)})},inputs:{rowIndex:"rowIndex",expanded:"expanded",innerWidth:"innerWidth",rowDetail:"rowDetail",groupHeader:"groupHeader",offsetX:"offsetX",detailRowHeight:"detailRowHeight",row:"row",groupedRows:"groupedRows"},outputs:{rowContextmenu:"rowContextmenu"},ngContentSelectors:_,decls:3,vars:3,consts:[["class","datatable-group-header",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","datatable-row-detail",3,"height",4,"ngIf"],[1,"datatable-group-header",3,"ngStyle"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"datatable-row-detail"]],template:function(ee,Ve){1&ee&&(t.F$t(),t.YNc(0,St,2,2,"div",0),t.YNc(1,At,1,0,"ng-content",1),t.YNc(2,ae,2,3,"div",2)),2&ee&&(t.Q6J("ngIf",Ve.groupHeader&&Ve.groupHeader.template),t.xp6(1),t.Q6J("ngIf",Ve.groupHeader&&Ve.groupHeader.template&&Ve.expanded||!Ve.groupHeader||!Ve.groupHeader.template),t.xp6(1),t.Q6J("ngIf",Ve.rowDetail&&Ve.rowDetail.template&&Ve.expanded))},directives:[e.O5,e.PC,e.tP],encapsulation:2,changeDetection:0}),st})(),Go=(()=>{class st{constructor(ee,Ve){this.cd=Ve,this.activate=new t.vpe,this.treeAction=new t.vpe,this.isFocused=!1,this.onCheckboxChangeFn=this.onCheckboxChange.bind(this),this.activateFn=this.activate.emit.bind(this.activate),this.cellContext={onCheckboxChangeFn:this.onCheckboxChangeFn,activateFn:this.activateFn,row:this.row,group:this.group,value:this.value,column:this.column,rowHeight:this.rowHeight,isSelected:this.isSelected,rowIndex:this.rowIndex,treeStatus:this.treeStatus,onTreeAction:this.onTreeAction.bind(this)},this._element=ee.nativeElement}set group(ee){this._group=ee,this.cellContext.group=ee,this.checkValueUpdates(),this.cd.markForCheck()}get group(){return this._group}set rowHeight(ee){this._rowHeight=ee,this.cellContext.rowHeight=ee,this.checkValueUpdates(),this.cd.markForCheck()}get rowHeight(){return this._rowHeight}set isSelected(ee){this._isSelected=ee,this.cellContext.isSelected=ee,this.cd.markForCheck()}get isSelected(){return this._isSelected}set expanded(ee){this._expanded=ee,this.cellContext.expanded=ee,this.cd.markForCheck()}get expanded(){return this._expanded}set rowIndex(ee){this._rowIndex=ee,this.cellContext.rowIndex=ee,this.checkValueUpdates(),this.cd.markForCheck()}get rowIndex(){return this._rowIndex}set column(ee){this._column=ee,this.cellContext.column=ee,this.checkValueUpdates(),this.cd.markForCheck()}get column(){return this._column}set row(ee){this._row=ee,this.cellContext.row=ee,this.checkValueUpdates(),this.cd.markForCheck()}get row(){return this._row}set sorts(ee){this._sorts=ee,this.calcSortDir=this.calcSortDir(ee)}get sorts(){return this._sorts}set treeStatus(ee){this._treeStatus="collapsed"!==ee&&"expanded"!==ee&&"loading"!==ee&&"disabled"!==ee?"collapsed":ee,this.cellContext.treeStatus=this._treeStatus,this.checkValueUpdates(),this.cd.markForCheck()}get treeStatus(){return this._treeStatus}get columnCssClasses(){let ee="datatable-body-cell";if(this.column.cellClass)if("string"==typeof this.column.cellClass)ee+=" "+this.column.cellClass;else if("function"==typeof this.column.cellClass){const Ve=this.column.cellClass({row:this.row,group:this.group,column:this.column,value:this.value,rowHeight:this.rowHeight});if("string"==typeof Ve)ee+=" "+Ve;else if("object"==typeof Ve){const fn=Object.keys(Ve);for(const Tn of fn)!0===Ve[Tn]&&(ee+=` ${Tn}`)}}return this.sortDir||(ee+=" sort-active"),this.isFocused&&(ee+=" active"),this.sortDir===Qr.asc&&(ee+=" sort-asc"),this.sortDir===Qr.desc&&(ee+=" sort-desc"),ee}get width(){return this.column.width}get minWidth(){return this.column.minWidth}get maxWidth(){return this.column.maxWidth}get height(){const ee=this.rowHeight;return isNaN(ee)?ee:ee+"px"}ngDoCheck(){this.checkValueUpdates()}ngOnDestroy(){this.cellTemplate&&this.cellTemplate.clear()}checkValueUpdates(){let ee="";if(this.row&&this.column){const Ve=this.column.$$valueGetter(this.row,this.column.prop),fn=this.column.pipe;fn?ee=fn.transform(Ve):void 0!==ee&&(ee=Ve)}else ee="";this.value!==ee&&(this.value=ee,this.cellContext.value=ee,this.sanitizedValue=null!=ee?this.stripHtml(ee):ee,this.cd.markForCheck())}onFocus(){this.isFocused=!0}onBlur(){this.isFocused=!1}onClick(ee){this.activate.emit({type:"click",event:ee,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})}onDblClick(ee){this.activate.emit({type:"dblclick",event:ee,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})}onKeyDown(ee){const Ve=ee.keyCode;(Ve===qi.return||Ve===qi.down||Ve===qi.up||Ve===qi.left||Ve===qi.right)&&ee.target===this._element&&(ee.preventDefault(),ee.stopPropagation(),this.activate.emit({type:"keydown",event:ee,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element}))}onCheckboxChange(ee){this.activate.emit({type:"checkbox",event:ee,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element,treeStatus:"collapsed"})}calcSortDir(ee){if(!ee)return;const Ve=ee.find(fn=>fn.prop===this.column.prop);return Ve?Ve.dir:void 0}stripHtml(ee){return ee.replace?ee.replace(/<\/?[^>]+(>|$)/g,""):ee}onTreeAction(){this.treeAction.emit(this.row)}calcLeftMargin(ee,Ve){return ee.isTreeColumn?Ve.level*(null!=ee.treeLevelIndent?ee.treeLevelIndent:50):0}}return st.\u0275fac=function(ee){return new(ee||st)(t.Y36(t.SBq),t.Y36(t.sBO))},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-body-cell"]],viewQuery:function(ee,Ve){if(1&ee&&t.Gf(Ie,7,t.s_b),2&ee){let fn;t.iGM(fn=t.CRH())&&(Ve.cellTemplate=fn.first)}},hostVars:10,hostBindings:function(ee,Ve){1&ee&&t.NdJ("focus",function(){return Ve.onFocus()})("blur",function(){return Ve.onBlur()})("click",function(Tn){return Ve.onClick(Tn)})("dblclick",function(Tn){return Ve.onDblClick(Tn)})("keydown",function(Tn){return Ve.onKeyDown(Tn)}),2&ee&&(t.Tol(Ve.columnCssClasses),t.Udp("width",Ve.width,"px")("min-width",Ve.minWidth,"px")("max-width",Ve.maxWidth,"px")("height",Ve.height))},inputs:{group:"group",rowHeight:"rowHeight",isSelected:"isSelected",expanded:"expanded",rowIndex:"rowIndex",column:"column",row:"row",sorts:"sorts",treeStatus:"treeStatus",displayCheck:"displayCheck"},outputs:{activate:"activate",treeAction:"treeAction"},decls:5,vars:6,consts:[[1,"datatable-body-cell-label"],["class","datatable-checkbox",4,"ngIf"],[4,"ngIf"],[3,"title","innerHTML",4,"ngIf"],[1,"datatable-checkbox"],["type","checkbox",3,"checked","click"],["class","datatable-tree-button",3,"disabled","click",4,"ngIf"],[1,"datatable-tree-button",3,"disabled","click"],["class","icon datatable-icon-collapse",4,"ngIf"],["class","icon datatable-icon-up",4,"ngIf"],["class","icon datatable-icon-down",4,"ngIf"],[1,"icon","datatable-icon-collapse"],[1,"icon","datatable-icon-up"],[1,"icon","datatable-icon-down"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"title","innerHTML"],["cellTemplate",""]],template:function(ee,Ve){1&ee&&(t.TgZ(0,"div",0),t.YNc(1,dt,2,1,"label",1),t.YNc(2,Mn,3,2,"ng-container",2),t.YNc(3,Ht,1,2,"span",3),t.YNc(4,Yn,2,2,void 0,2),t.qZA()),2&ee&&(t.Udp("margin-left",Ve.calcLeftMargin(Ve.column,Ve.row),"px"),t.xp6(1),t.Q6J("ngIf",Ve.column.checkboxable&&(!Ve.displayCheck||Ve.displayCheck(Ve.row,Ve.column,Ve.value))),t.xp6(1),t.Q6J("ngIf",Ve.column.isTreeColumn),t.xp6(1),t.Q6J("ngIf",!Ve.column.cellTemplate),t.xp6(1),t.Q6J("ngIf",Ve.column.cellTemplate))},directives:[e.O5,e.tP],encapsulation:2,changeDetection:0}),st})();function Ro(st,pn,ee){const Ve=ee(pn,st);return Ve>-1?st.splice(Ve,1):st.push(pn),st}let Jo=(()=>{class st{constructor(){this.activate=new t.vpe,this.select=new t.vpe}selectRow(ee,Ve,fn){if(!this.selectEnabled)return;const Tn=this.selectionType===Pt.checkbox,ni=this.selectionType===Pt.multiClick;let Ri=[];Ri=this.selectionType===Pt.multi||Tn||ni?ee.shiftKey?function(st,pn,ee,Ve,fn){const Tn=ee<Ve;for(let $r=0;$r<pn.length;$r++){const ni=pn[$r],Ri=$r>=Ve&&$r<=ee,Do=$r<=Ve&&$r>=ee;let gi={start:0,end:0};gi=Tn?{start:ee,end:Ve}:{start:Ve,end:ee+1},(Tn&&Do||!Tn&&Ri)&&$r>=gi.start&&$r<=gi.end&&st.push(ni)}return st}([],this.rows,Ve,this.prevIndex,this.getRowSelectedIdx.bind(this)):Ro(ee.ctrlKey||ee.metaKey||ni||Tn?[...this.selected]:[],fn,this.getRowSelectedIdx.bind(this)):Ro([],fn,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(Ri=Ri.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),this.selected.push(...Ri),this.prevIndex=Ve,this.select.emit({selected:Ri})}onActivate(ee,Ve){const{type:fn,event:Tn,row:$r}=ee,ni=this.selectionType===Pt.checkbox;!ni&&("click"===fn||"dblclick"===fn)||ni&&"checkbox"===fn?this.selectRow(Tn,Ve,$r):"keydown"===fn&&(Tn.keyCode===qi.return?this.selectRow(Tn,Ve,$r):this.onKeyboardFocus(ee)),this.activate.emit(ee)}onKeyboardFocus(ee){const{keyCode:Ve}=ee.event;if(Ve===qi.up||Ve===qi.down||Ve===qi.right||Ve===qi.left){const Tn=this.selectionType===Pt.cell;ee.cellElement&&Tn?Tn&&this.focusCell(ee.cellElement,ee.rowElement,Ve,ee.cellIndex):this.focusRow(ee.rowElement,Ve)}}focusRow(ee,Ve){const fn=this.getPrevNextRow(ee,Ve);fn&&fn.focus()}getPrevNextRow(ee,Ve){const fn=ee.parentElement;if(fn){let Tn;if(Ve===qi.up?Tn=fn.previousElementSibling:Ve===qi.down&&(Tn=fn.nextElementSibling),Tn&&Tn.children.length)return Tn.children[0]}}focusCell(ee,Ve,fn,Tn){let $r;if(fn===qi.left)$r=ee.previousElementSibling;else if(fn===qi.right)$r=ee.nextElementSibling;else if(fn===qi.up||fn===qi.down){const ni=this.getPrevNextRow(Ve,fn);if(ni){const Ri=ni.getElementsByClassName("datatable-body-cell");Ri.length&&($r=Ri[Tn])}}$r&&$r.focus()}getRowSelected(ee){return this.getRowSelectedIdx(ee,this.selected)>-1}getRowSelectedIdx(ee,Ve){if(!Ve||!Ve.length)return-1;const fn=this.rowIdentity(ee);return Ve.findIndex(Tn=>this.rowIdentity(Tn)===fn)}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-selection"]],inputs:{rows:"rows",selected:"selected",selectEnabled:"selectEnabled",selectionType:"selectionType",rowIdentity:"rowIdentity",selectCheck:"selectCheck"},outputs:{activate:"activate",select:"select"},ngContentSelectors:_,decls:1,vars:0,template:function(ee,Ve){1&ee&&(t.F$t(),t.Hsn(0))},encapsulation:2,changeDetection:0}),st})();function es(st){const pn=st.filter(ee=>!!ee);return!pn.length||pn.some(ee=>"number"!=typeof ee)?null:pn.reduce((ee,Ve)=>ee+Ve)}function ua(st){return null}let ds=(()=>{class st{constructor(){this.summaryRow={}}ngOnChanges(){!this.columns||!this.rows||(this.updateInternalColumns(),this.updateValues())}updateInternalColumns(){this._internalColumns=this.columns.map(ee=>Object.assign(Object.assign({},ee),{cellTemplate:ee.summaryTemplate}))}updateValues(){this.summaryRow={},this.columns.filter(ee=>!ee.summaryTemplate).forEach(ee=>{const Ve=this.rows.map(Tn=>Tn[ee.prop]),fn=this.getSummaryFunction(ee);this.summaryRow[ee.prop]=ee.pipe?ee.pipe.transform(fn(Ve)):fn(Ve)})}getSummaryFunction(ee){return void 0===ee.summaryFunc?es:null===ee.summaryFunc?ua:ee.summaryFunc}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275cmp=t.Xpm({type:st,selectors:[["datatable-summary-row"]],hostAttrs:[1,"datatable-summary-row"],inputs:{rows:"rows",columns:"columns",rowHeight:"rowHeight",offsetX:"offsetX",innerWidth:"innerWidth"},features:[t.TTD],decls:1,vars:1,consts:[["tabindex","-1",3,"innerWidth","offsetX","columns","rowHeight","row","rowIndex",4,"ngIf"],["tabindex","-1",3,"innerWidth","offsetX","columns","rowHeight","row","rowIndex"]],template:function(ee,Ve){1&ee&&t.YNc(0,Cn,1,6,"datatable-body-row",0),2&ee&&t.Q6J("ngIf",Ve.summaryRow&&Ve._internalColumns)},directives:[e.O5,to],encapsulation:2}),st})(),zo=(()=>{class st{static forRoot(ee){return{ngModule:st,providers:[{provide:"configuration",useValue:ee}]}}}return st.\u0275fac=function(ee){return new(ee||st)},st.\u0275mod=t.oAB({type:st}),st.\u0275inj=t.cJS({providers:[Kt,dn,Kn],imports:[[e.ez]]}),st})();"undefined"!=typeof document&&!document.elementsFromPoint&&(document.elementsFromPoint=function(st,pn){const ee=[],Ve=[];let fn,Tn,$r;for(;(fn=document.elementFromPoint(st,pn))&&-1===ee.indexOf(fn)&&null!=fn;)ee.push(fn),Ve.push({value:fn.style.getPropertyValue("pointer-events"),priority:fn.style.getPropertyPriority("pointer-events")}),fn.style.setProperty("pointer-events","none","important");for(Tn=Ve.length;$r=Ve[--Tn];)ee[Tn].style.setProperty("pointer-events",$r.value?$r.value:"",$r.priority);return ee})},67506:Ge=>{"use strict";function g(e,s,a){e instanceof RegExp&&(e=o(e,a)),s instanceof RegExp&&(s=o(s,a));var l=t(e,s,a);return l&&{start:l[0],end:l[1],pre:a.slice(0,l[0]),body:a.slice(l[0]+e.length,l[1]),post:a.slice(l[1]+s.length)}}function o(e,s){var a=s.match(e);return a?a[0]:null}function t(e,s,a){var l,u,h,_,m,b=a.indexOf(e),C=a.indexOf(s,b+1),D=b;if(b>=0&&C>0){if(e===s)return[b,C];for(l=[],h=a.length;D>=0&&!m;)D==b?(l.push(D),b=a.indexOf(e,D+1)):1==l.length?m=[l.pop(),C]:((u=l.pop())<h&&(h=u,_=C),C=a.indexOf(s,D+1)),D=b<C&&b>=0?b:C;l.length&&(m=[h,_])}return m}Ge.exports=g,g.range=t},33512:(Ge,g,o)=>{var t=o(2665),e=o(67506);Ge.exports=function(I){return I?("{}"===I.substr(0,2)&&(I="\\{\\}"+I.substr(2)),M(function(I){return I.split("\\\\").join(s).split("\\{").join(a).split("\\}").join(l).split("\\,").join(u).split("\\.").join(h)}(I),!0).map(b)):[]};var s="\0SLASH"+Math.random()+"\0",a="\0OPEN"+Math.random()+"\0",l="\0CLOSE"+Math.random()+"\0",u="\0COMMA"+Math.random()+"\0",h="\0PERIOD"+Math.random()+"\0";function _(I){return parseInt(I,10)==I?parseInt(I,10):I.charCodeAt(0)}function b(I){return I.split(s).join("\\").split(a).join("{").split(l).join("}").split(u).join(",").split(h).join(".")}function C(I){if(!I)return[""];var J=[],Y=e("{","}",I);if(!Y)return I.split(",");var oe=Y.body,fe=Y.post,ne=Y.pre.split(",");ne[ne.length-1]+="{"+oe+"}";var he=C(fe);return fe.length&&(ne[ne.length-1]+=he.shift(),ne.push.apply(ne,he)),J.push.apply(J,ne),J}function j(I){return"{"+I+"}"}function H(I){return/^-?0\d/.test(I)}function z(I,J){return I<=J}function U(I,J){return I>=J}function M(I,J){var Y=[],ie=e("{","}",I);if(!ie||/\$$/.test(ie.pre))return[I];var ce,oe=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(ie.body),fe=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(ie.body),ne=oe||fe,he=ie.body.indexOf(",")>=0;if(!ne&&!he)return ie.post.match(/,.*\}/)?M(I=ie.pre+"{"+ie.body+l+ie.post):[I];if(ne)ce=ie.body.split(/\.\./);else if(1===(ce=C(ie.body)).length&&1===(ce=M(ce[0],!1).map(j)).length)return(Me=ie.post.length?M(ie.post,!1):[""]).map(function(dt){return ie.pre+ce[0]+dt});var Oe,Ae=ie.pre,Me=ie.post.length?M(ie.post,!1):[""];if(ne){var be=_(ce[0]),ue=_(ce[1]),He=Math.max(ce[0].length,ce[1].length),$e=3==ce.length?Math.abs(_(ce[2])):1,F=z;ue<be&&($e*=-1,F=U);var Et=ce.some(H);Oe=[];for(var lt=be;F(lt,ue);lt+=$e){var nn;if(fe)"\\"===(nn=String.fromCharCode(lt))&&(nn="");else if(nn=String(lt),Et){var St=He-nn.length;if(St>0){var At=new Array(St+1).join("0");nn=lt<0?"-"+At+nn.slice(1):At+nn}}Oe.push(nn)}}else Oe=t(ce,function(Ie){return M(Ie,!1)});for(var Qe=0;Qe<Oe.length;Qe++)for(var It=0;It<Me.length;It++){var ae=Ae+Oe[Qe]+Me[It];(!J||ne||ae)&&Y.push(ae)}return Y}},72318:Ge=>{var g=!("undefined"==typeof window||!window.document||!window.document.createElement);Ge.exports=g},6823:function(Ge,g,o){Ge.exports=function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var a={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=function(p,E){return p(E={exports:{}},E.exports),E.exports}(function(p){var E={};for(var N in a)a.hasOwnProperty(N)&&(E[a[N]]=N);var $=p.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var Q in $)if($.hasOwnProperty(Q)){if(!("channels"in $[Q]))throw new Error("missing channels property: "+Q);if(!("labels"in $[Q]))throw new Error("missing channel labels property: "+Q);if($[Q].labels.length!==$[Q].channels)throw new Error("channel and label counts mismatch: "+Q);var de=$[Q].channels,ve=$[Q].labels;delete $[Q].channels,delete $[Q].labels,Object.defineProperty($[Q],"channels",{value:de}),Object.defineProperty($[Q],"labels",{value:ve})}function qe(De,_t){return Math.pow(De[0]-_t[0],2)+Math.pow(De[1]-_t[1],2)+Math.pow(De[2]-_t[2],2)}$.rgb.hsl=function(De){var Tr,Pi,_t=De[0]/255,Yt=De[1]/255,Zt=De[2]/255,wn=Math.min(_t,Yt,Zt),cr=Math.max(_t,Yt,Zt),sr=cr-wn;return cr===wn?Tr=0:_t===cr?Tr=(Yt-Zt)/sr:Yt===cr?Tr=2+(Zt-_t)/sr:Zt===cr&&(Tr=4+(_t-Yt)/sr),(Tr=Math.min(60*Tr,360))<0&&(Tr+=360),Pi=(wn+cr)/2,[Tr,100*(cr===wn?0:Pi<=.5?sr/(cr+wn):sr/(2-cr-wn)),100*Pi]},$.rgb.hsv=function(De){var _t,Yt,Zt,wn,cr,sr=De[0]/255,Tr=De[1]/255,Yr=De[2]/255,Pi=Math.max(sr,Tr,Yr),yo=Pi-Math.min(sr,Tr,Yr),Co=function(Xo){return(Pi-Xo)/6/yo+.5};return 0===yo?wn=cr=0:(cr=yo/Pi,_t=Co(sr),Yt=Co(Tr),Zt=Co(Yr),sr===Pi?wn=Zt-Yt:Tr===Pi?wn=1/3+_t-Zt:Yr===Pi&&(wn=2/3+Yt-_t),wn<0?wn+=1:wn>1&&(wn-=1)),[360*wn,100*cr,100*Pi]},$.rgb.hwb=function(De){var _t=De[0],Yt=De[1],Zt=De[2];return[$.rgb.hsl(De)[0],1/255*Math.min(_t,Math.min(Yt,Zt))*100,100*(Zt=1-1/255*Math.max(_t,Math.max(Yt,Zt)))]},$.rgb.cmyk=function(De){var Tr,_t=De[0]/255,Yt=De[1]/255,Zt=De[2]/255;return[100*((1-_t-(Tr=Math.min(1-_t,1-Yt,1-Zt)))/(1-Tr)||0),100*((1-Yt-Tr)/(1-Tr)||0),100*((1-Zt-Tr)/(1-Tr)||0),100*Tr]},$.rgb.keyword=function(De){var _t=E[De];if(_t)return _t;var Zt,Yt=1/0;for(var wn in a)if(a.hasOwnProperty(wn)){var sr=qe(De,a[wn]);sr<Yt&&(Yt=sr,Zt=wn)}return Zt},$.keyword.rgb=function(De){return a[De]},$.rgb.xyz=function(De){var _t=De[0]/255,Yt=De[1]/255,Zt=De[2]/255;return[100*(.4124*(_t=_t>.04045?Math.pow((_t+.055)/1.055,2.4):_t/12.92)+.3576*(Yt=Yt>.04045?Math.pow((Yt+.055)/1.055,2.4):Yt/12.92)+.1805*(Zt=Zt>.04045?Math.pow((Zt+.055)/1.055,2.4):Zt/12.92)),100*(.2126*_t+.7152*Yt+.0722*Zt),100*(.0193*_t+.1192*Yt+.9505*Zt)]},$.rgb.lab=function(De){var _t=$.rgb.xyz(De),Yt=_t[0],Zt=_t[1],wn=_t[2];return Zt/=100,wn/=108.883,Yt=(Yt/=95.047)>.008856?Math.pow(Yt,1/3):7.787*Yt+16/116,[116*(Zt=Zt>.008856?Math.pow(Zt,1/3):7.787*Zt+16/116)-16,500*(Yt-Zt),200*(Zt-(wn=wn>.008856?Math.pow(wn,1/3):7.787*wn+16/116))]},$.hsl.rgb=function(De){var wn,cr,sr,Tr,Yr,_t=De[0]/360,Yt=De[1]/100,Zt=De[2]/100;if(0===Yt)return[Yr=255*Zt,Yr,Yr];wn=2*Zt-(cr=Zt<.5?Zt*(1+Yt):Zt+Yt-Zt*Yt),Tr=[0,0,0];for(var Pi=0;Pi<3;Pi++)(sr=_t+1/3*-(Pi-1))<0&&sr++,sr>1&&sr--,Tr[Pi]=255*(Yr=6*sr<1?wn+6*(cr-wn)*sr:2*sr<1?cr:3*sr<2?wn+(cr-wn)*(2/3-sr)*6:wn);return Tr},$.hsl.hsv=function(De){var _t=De[0],Yt=De[1]/100,Zt=De[2]/100,wn=Yt,cr=Math.max(Zt,.01);return Yt*=(Zt*=2)<=1?Zt:2-Zt,wn*=cr<=1?cr:2-cr,[_t,100*(0===Zt?2*wn/(cr+wn):2*Yt/(Zt+Yt)),(Zt+Yt)/2*100]},$.hsv.rgb=function(De){var _t=De[0]/60,Yt=De[1]/100,Zt=De[2]/100,wn=Math.floor(_t)%6,cr=_t-Math.floor(_t),sr=255*Zt*(1-Yt),Tr=255*Zt*(1-Yt*cr),Yr=255*Zt*(1-Yt*(1-cr));switch(Zt*=255,wn){case 0:return[Zt,Yr,sr];case 1:return[Tr,Zt,sr];case 2:return[sr,Zt,Yr];case 3:return[sr,Tr,Zt];case 4:return[Yr,sr,Zt];case 5:return[Zt,sr,Tr]}},$.hsv.hsl=function(De){var cr,sr,Tr,_t=De[0],Yt=De[1]/100,Zt=De[2]/100,wn=Math.max(Zt,.01);return Tr=(2-Yt)*Zt,sr=Yt*wn,[_t,100*(sr=(sr/=(cr=(2-Yt)*wn)<=1?cr:2-cr)||0),100*(Tr/=2)]},$.hwb.rgb=function(De){var cr,sr,Tr,Yr,Pi,yo,Co,_t=De[0]/360,Yt=De[1]/100,Zt=De[2]/100,wn=Yt+Zt;switch(wn>1&&(Yt/=wn,Zt/=wn),Tr=6*_t-(cr=Math.floor(6*_t)),0!=(1&cr)&&(Tr=1-Tr),Yr=Yt+Tr*((sr=1-Zt)-Yt),cr){default:case 6:case 0:Pi=sr,yo=Yr,Co=Yt;break;case 1:Pi=Yr,yo=sr,Co=Yt;break;case 2:Pi=Yt,yo=sr,Co=Yr;break;case 3:Pi=Yt,yo=Yr,Co=sr;break;case 4:Pi=Yr,yo=Yt,Co=sr;break;case 5:Pi=sr,yo=Yt,Co=Yr}return[255*Pi,255*yo,255*Co]},$.cmyk.rgb=function(De){var Yt=De[1]/100,Zt=De[2]/100,wn=De[3]/100;return[255*(1-Math.min(1,De[0]/100*(1-wn)+wn)),255*(1-Math.min(1,Yt*(1-wn)+wn)),255*(1-Math.min(1,Zt*(1-wn)+wn))]},$.xyz.rgb=function(De){var wn,cr,sr,_t=De[0]/100,Yt=De[1]/100,Zt=De[2]/100;return cr=-.9689*_t+1.8758*Yt+.0415*Zt,sr=.0557*_t+-.204*Yt+1.057*Zt,wn=(wn=3.2406*_t+-1.5372*Yt+-.4986*Zt)>.0031308?1.055*Math.pow(wn,1/2.4)-.055:12.92*wn,cr=cr>.0031308?1.055*Math.pow(cr,1/2.4)-.055:12.92*cr,sr=sr>.0031308?1.055*Math.pow(sr,1/2.4)-.055:12.92*sr,[255*(wn=Math.min(Math.max(0,wn),1)),255*(cr=Math.min(Math.max(0,cr),1)),255*(sr=Math.min(Math.max(0,sr),1))]},$.xyz.lab=function(De){var _t=De[0],Yt=De[1],Zt=De[2];return Yt/=100,Zt/=108.883,_t=(_t/=95.047)>.008856?Math.pow(_t,1/3):7.787*_t+16/116,[116*(Yt=Yt>.008856?Math.pow(Yt,1/3):7.787*Yt+16/116)-16,500*(_t-Yt),200*(Yt-(Zt=Zt>.008856?Math.pow(Zt,1/3):7.787*Zt+16/116))]},$.lab.xyz=function(De){var wn,cr,sr;wn=De[1]/500+(cr=(De[0]+16)/116),sr=cr-De[2]/200;var Tr=Math.pow(cr,3),Yr=Math.pow(wn,3),Pi=Math.pow(sr,3);return cr=Tr>.008856?Tr:(cr-16/116)/7.787,wn=Yr>.008856?Yr:(wn-16/116)/7.787,sr=Pi>.008856?Pi:(sr-16/116)/7.787,[wn*=95.047,cr*=100,sr*=108.883]},$.lab.lch=function(De){var cr,_t=De[0],Yt=De[1],Zt=De[2];return(cr=360*Math.atan2(Zt,Yt)/2/Math.PI)<0&&(cr+=360),[_t,Math.sqrt(Yt*Yt+Zt*Zt),cr]},$.lch.lab=function(De){var sr,Yt=De[1];return sr=De[2]/360*2*Math.PI,[De[0],Yt*Math.cos(sr),Yt*Math.sin(sr)]},$.rgb.ansi16=function(De){var _t=De[0],Yt=De[1],Zt=De[2],wn=1 in arguments?arguments[1]:$.rgb.hsv(De)[2];if(0===(wn=Math.round(wn/50)))return 30;var cr=30+(Math.round(Zt/255)<<2|Math.round(Yt/255)<<1|Math.round(_t/255));return 2===wn&&(cr+=60),cr},$.hsv.ansi16=function(De){return $.rgb.ansi16($.hsv.rgb(De),De[2])},$.rgb.ansi256=function(De){var _t=De[0],Yt=De[1],Zt=De[2];return _t===Yt&&Yt===Zt?_t<8?16:_t>248?231:Math.round((_t-8)/247*24)+232:16+36*Math.round(_t/255*5)+6*Math.round(Yt/255*5)+Math.round(Zt/255*5)},$.ansi16.rgb=function(De){var _t=De%10;if(0===_t||7===_t)return De>50&&(_t+=3.5),[_t=_t/10.5*255,_t,_t];var Yt=.5*(1+~~(De>50));return[(1&_t)*Yt*255,(_t>>1&1)*Yt*255,(_t>>2&1)*Yt*255]},$.ansi256.rgb=function(De){if(De>=232){var _t=10*(De-232)+8;return[_t,_t,_t]}var Yt;return De-=16,[Math.floor(De/36)/5*255,Math.floor((Yt=De%36)/6)/5*255,Yt%6/5*255]},$.rgb.hex=function(De){var Yt=(((255&Math.round(De[0]))<<16)+((255&Math.round(De[1]))<<8)+(255&Math.round(De[2]))).toString(16).toUpperCase();return"000000".substring(Yt.length)+Yt},$.hex.rgb=function(De){var _t=De.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!_t)return[0,0,0];var Yt=_t[0];3===_t[0].length&&(Yt=Yt.split("").map(function(Tr){return Tr+Tr}).join(""));var Zt=parseInt(Yt,16);return[Zt>>16&255,Zt>>8&255,255&Zt]},$.rgb.hcg=function(De){var Yr,_t=De[0]/255,Yt=De[1]/255,Zt=De[2]/255,wn=Math.max(Math.max(_t,Yt),Zt),cr=Math.min(Math.min(_t,Yt),Zt),sr=wn-cr;return Yr=sr<=0?0:wn===_t?(Yt-Zt)/sr%6:wn===Yt?2+(Zt-_t)/sr:4+(_t-Yt)/sr+4,Yr/=6,[360*(Yr%=1),100*sr,100*(sr<1?cr/(1-sr):0)]},$.hsl.hcg=function(De){var Zt,_t=De[1]/100,Yt=De[2]/100,wn=0;return(Zt=Yt<.5?2*_t*Yt:2*_t*(1-Yt))<1&&(wn=(Yt-.5*Zt)/(1-Zt)),[De[0],100*Zt,100*wn]},$.hsv.hcg=function(De){var Yt=De[2]/100,Zt=De[1]/100*Yt,wn=0;return Zt<1&&(wn=(Yt-Zt)/(1-Zt)),[De[0],100*Zt,100*wn]},$.hcg.rgb=function(De){var Yt=De[1]/100,Zt=De[2]/100;if(0===Yt)return[255*Zt,255*Zt,255*Zt];var Yr,wn=[0,0,0],cr=De[0]/360%1*6,sr=cr%1,Tr=1-sr;switch(Math.floor(cr)){case 0:wn[0]=1,wn[1]=sr,wn[2]=0;break;case 1:wn[0]=Tr,wn[1]=1,wn[2]=0;break;case 2:wn[0]=0,wn[1]=1,wn[2]=sr;break;case 3:wn[0]=0,wn[1]=Tr,wn[2]=1;break;case 4:wn[0]=sr,wn[1]=0,wn[2]=1;break;default:wn[0]=1,wn[1]=0,wn[2]=Tr}return[255*(Yt*wn[0]+(Yr=(1-Yt)*Zt)),255*(Yt*wn[1]+Yr),255*(Yt*wn[2]+Yr)]},$.hcg.hsv=function(De){var _t=De[1]/100,Zt=_t+De[2]/100*(1-_t),wn=0;return Zt>0&&(wn=_t/Zt),[De[0],100*wn,100*Zt]},$.hcg.hsl=function(De){var _t=De[1]/100,Zt=De[2]/100*(1-_t)+.5*_t,wn=0;return Zt>0&&Zt<.5?wn=_t/(2*Zt):Zt>=.5&&Zt<1&&(wn=_t/(2*(1-Zt))),[De[0],100*wn,100*Zt]},$.hcg.hwb=function(De){var _t=De[1]/100,Zt=_t+De[2]/100*(1-_t);return[De[0],100*(Zt-_t),100*(1-Zt)]},$.hwb.hcg=function(De){var Zt=1-De[2]/100,wn=Zt-De[1]/100,cr=0;return wn<1&&(cr=(Zt-wn)/(1-wn)),[De[0],100*wn,100*cr]},$.apple.rgb=function(De){return[De[0]/65535*255,De[1]/65535*255,De[2]/65535*255]},$.rgb.apple=function(De){return[De[0]/255*65535,De[1]/255*65535,De[2]/255*65535]},$.gray.rgb=function(De){return[De[0]/100*255,De[0]/100*255,De[0]/100*255]},$.gray.hsl=$.gray.hsv=function(De){return[0,0,De[0]]},$.gray.hwb=function(De){return[0,100,De[0]]},$.gray.cmyk=function(De){return[0,0,0,De[0]]},$.gray.lab=function(De){return[De[0],0,0]},$.gray.hex=function(De){var _t=255&Math.round(De[0]/100*255),Zt=((_t<<16)+(_t<<8)+_t).toString(16).toUpperCase();return"000000".substring(Zt.length)+Zt},$.rgb.gray=function(De){return[(De[0]+De[1]+De[2])/3/255*100]}});function ie(p){var E=function(){for(var p={},E=Object.keys(l),N=E.length,$=0;$<N;$++)p[E[$]]={distance:-1,parent:null};return p}(),N=[p];for(E[p].distance=0;N.length;)for(var $=N.pop(),Q=Object.keys(l[$]),de=Q.length,ve=0;ve<de;ve++){var qe=Q[ve],De=E[qe];-1===De.distance&&(De.distance=E[$].distance+1,De.parent=$,N.unshift(qe))}return E}function oe(p,E){return function(N){return E(p(N))}}function fe(p,E){for(var N=[E[p].parent,p],$=l[E[p].parent][p],Q=E[p].parent;E[Q].parent;)N.unshift(E[Q].parent),$=oe(l[E[Q].parent][Q],$),Q=E[Q].parent;return $.conversion=N,$}var he={};Object.keys(l).forEach(function(p){he[p]={},Object.defineProperty(he[p],"channels",{value:l[p].channels}),Object.defineProperty(he[p],"labels",{value:l[p].labels});var E=function(p){for(var E=ie(p),N={},$=Object.keys(E),Q=$.length,de=0;de<Q;de++){var ve=$[de];null!==E[ve].parent&&(N[ve]=fe(ve,E))}return N}(p);Object.keys(E).forEach(function($){var Q=E[$];he[p][$]=function(p){var E=function(N){if(null==N)return N;arguments.length>1&&(N=Array.prototype.slice.call(arguments));var $=p(N);if("object"==typeof $)for(var Q=$.length,de=0;de<Q;de++)$[de]=Math.round($[de]);return $};return"conversion"in p&&(E.conversion=p.conversion),E}(Q),he[p][$].raw=function(p){var E=function(N){return null==N?N:(arguments.length>1&&(N=Array.prototype.slice.call(arguments)),p(N))};return"conversion"in p&&(E.conversion=p.conversion),E}(Q)})});var Oe=he,be={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ue={getRgba:He,getHsla:$e,getRgb:function(p){var E=He(p);return E&&E.slice(0,3)},getHsl:function(p){var E=$e(p);return E&&E.slice(0,3)},getHwb:F,getAlpha:function(p){var E=He(p);return E||(E=$e(p))||(E=F(p))?E[3]:void 0},hexString:function(p,E){return E=void 0!==E&&3===p.length?E:p[3],"#"+ln(p[0])+ln(p[1])+ln(p[2])+(E>=0&&E<1?ln(Math.round(255*E)):"")},rgbString:function(p,E){return E<1||p[3]&&p[3]<1?At(p,E):"rgb("+p[0]+", "+p[1]+", "+p[2]+")"},rgbaString:At,percentString:function(p,E){return E<1||p[3]&&p[3]<1?It(p,E):"rgb("+Math.round(p[0]/255*100)+"%, "+Math.round(p[1]/255*100)+"%, "+Math.round(p[2]/255*100)+"%)"},percentaString:It,hslString:function(p,E){return E<1||p[3]&&p[3]<1?Ie(p,E):"hsl("+p[0]+", "+p[1]+"%, "+p[2]+"%)"},hslaString:Ie,hwbString:function(p,E){return void 0===E&&(E=void 0!==p[3]?p[3]:1),"hwb("+p[0]+", "+p[1]+"%, "+p[2]+"%"+(void 0!==E&&1!==E?", "+E:"")+")"},keyword:function(p){return ar[p.slice(0,3)]}};function He(p){if(p){var ve=[0,0,0],qe=1,De=p.match(/^#([a-fA-F0-9]{3,4})$/i),_t="";if(De){_t=(De=De[1])[3];for(var Yt=0;Yt<ve.length;Yt++)ve[Yt]=parseInt(De[Yt]+De[Yt],16);_t&&(qe=Math.round(parseInt(_t+_t,16)/255*100)/100)}else if(De=p.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i)){for(_t=De[2],De=De[1],Yt=0;Yt<ve.length;Yt++)ve[Yt]=parseInt(De.slice(2*Yt,2*Yt+2),16);_t&&(qe=Math.round(parseInt(_t,16)/255*100)/100)}else if(De=p.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(Yt=0;Yt<ve.length;Yt++)ve[Yt]=parseInt(De[Yt+1]);qe=parseFloat(De[4])}else if(De=p.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(Yt=0;Yt<ve.length;Yt++)ve[Yt]=Math.round(2.55*parseFloat(De[Yt+1]));qe=parseFloat(De[4])}else if(De=p.match(/(\w+)/)){if("transparent"==De[1])return[0,0,0,0];if(!(ve=be[De[1]]))return}for(Yt=0;Yt<ve.length;Yt++)ve[Yt]=zt(ve[Yt],0,255);return qe=qe||0==qe?zt(qe,0,1):1,ve[3]=qe,ve}}function $e(p){if(p){var N=p.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(N){var $=parseFloat(N[4]);return[zt(parseInt(N[1]),0,360),zt(parseFloat(N[2]),0,100),zt(parseFloat(N[3]),0,100),zt(isNaN($)?1:$,0,1)]}}}function F(p){if(p){var N=p.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(N){var $=parseFloat(N[4]);return[zt(parseInt(N[1]),0,360),zt(parseFloat(N[2]),0,100),zt(parseFloat(N[3]),0,100),zt(isNaN($)?1:$,0,1)]}}}function At(p,E){return void 0===E&&(E=void 0!==p[3]?p[3]:1),"rgba("+p[0]+", "+p[1]+", "+p[2]+", "+E+")"}function It(p,E){return"rgba("+Math.round(p[0]/255*100)+"%, "+Math.round(p[1]/255*100)+"%, "+Math.round(p[2]/255*100)+"%, "+(E||p[3]||1)+")"}function Ie(p,E){return void 0===E&&(E=void 0!==p[3]?p[3]:1),"hsla("+p[0]+", "+p[1]+"%, "+p[2]+"%, "+E+")"}function zt(p,E,N){return Math.min(Math.max(E,p),N)}function ln(p){var E=p.toString(16).toUpperCase();return E.length<2?"0"+E:E}var ar={};for(var Ln in be)ar[be[Ln]]=Ln;var Rn=function(p){return p instanceof Rn?p:this instanceof Rn?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"==typeof p?(E=ue.getRgba(p))?this.setValues("rgb",E):(E=ue.getHsla(p))?this.setValues("hsl",E):(E=ue.getHwb(p))&&this.setValues("hwb",E):"object"==typeof p&&(void 0!==(E=p).r||void 0!==E.red?this.setValues("rgb",E):void 0!==E.l||void 0!==E.lightness?this.setValues("hsl",E):void 0!==E.v||void 0!==E.value?this.setValues("hsv",E):void 0!==E.w||void 0!==E.whiteness?this.setValues("hwb",E):(void 0!==E.c||void 0!==E.cyan)&&this.setValues("cmyk",E)))):new Rn(p);var E};Rn.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var p=this.values;return 1!==p.alpha?p.hwb.concat([p.alpha]):p.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var p=this.values;return p.rgb.concat([p.alpha])},hslaArray:function(){var p=this.values;return p.hsl.concat([p.alpha])},alpha:function(p){return void 0===p?this.values.alpha:(this.setValues("alpha",p),this)},red:function(p){return this.setChannel("rgb",0,p)},green:function(p){return this.setChannel("rgb",1,p)},blue:function(p){return this.setChannel("rgb",2,p)},hue:function(p){return p&&(p=(p%=360)<0?360+p:p),this.setChannel("hsl",0,p)},saturation:function(p){return this.setChannel("hsl",1,p)},lightness:function(p){return this.setChannel("hsl",2,p)},saturationv:function(p){return this.setChannel("hsv",1,p)},whiteness:function(p){return this.setChannel("hwb",1,p)},blackness:function(p){return this.setChannel("hwb",2,p)},value:function(p){return this.setChannel("hsv",2,p)},cyan:function(p){return this.setChannel("cmyk",0,p)},magenta:function(p){return this.setChannel("cmyk",1,p)},yellow:function(p){return this.setChannel("cmyk",2,p)},black:function(p){return this.setChannel("cmyk",3,p)},hexString:function(){return ue.hexString(this.values.rgb)},rgbString:function(){return ue.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return ue.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return ue.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return ue.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return ue.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return ue.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return ue.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var p=this.values.rgb;return p[0]<<16|p[1]<<8|p[2]},luminosity:function(){for(var p=this.values.rgb,E=[],N=0;N<p.length;N++){var $=p[N]/255;E[N]=$<=.03928?$/12.92:Math.pow(($+.055)/1.055,2.4)}return.2126*E[0]+.7152*E[1]+.0722*E[2]},contrast:function(p){var E=this.luminosity(),N=p.luminosity();return E>N?(E+.05)/(N+.05):(N+.05)/(E+.05)},level:function(p){var E=this.contrast(p);return E>=7.1?"AAA":E>=4.5?"AA":""},dark:function(){var p=this.values.rgb;return(299*p[0]+587*p[1]+114*p[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var p=[],E=0;E<3;E++)p[E]=255-this.values.rgb[E];return this.setValues("rgb",p),this},lighten:function(p){var E=this.values.hsl;return E[2]+=E[2]*p,this.setValues("hsl",E),this},darken:function(p){var E=this.values.hsl;return E[2]-=E[2]*p,this.setValues("hsl",E),this},saturate:function(p){var E=this.values.hsl;return E[1]+=E[1]*p,this.setValues("hsl",E),this},desaturate:function(p){var E=this.values.hsl;return E[1]-=E[1]*p,this.setValues("hsl",E),this},whiten:function(p){var E=this.values.hwb;return E[1]+=E[1]*p,this.setValues("hwb",E),this},blacken:function(p){var E=this.values.hwb;return E[2]+=E[2]*p,this.setValues("hwb",E),this},greyscale:function(){var p=this.values.rgb,E=.3*p[0]+.59*p[1]+.11*p[2];return this.setValues("rgb",[E,E,E]),this},clearer:function(p){var E=this.values.alpha;return this.setValues("alpha",E-E*p),this},opaquer:function(p){var E=this.values.alpha;return this.setValues("alpha",E+E*p),this},rotate:function(p){var E=this.values.hsl,N=(E[0]+p)%360;return E[0]=N<0?360+N:N,this.setValues("hsl",E),this},mix:function(p,E){var N=this,$=p,Q=void 0===E?.5:E,de=2*Q-1,ve=N.alpha()-$.alpha(),qe=((de*ve==-1?de:(de+ve)/(1+de*ve))+1)/2,De=1-qe;return this.rgb(qe*N.red()+De*$.red(),qe*N.green()+De*$.green(),qe*N.blue()+De*$.blue()).alpha(N.alpha()*Q+$.alpha()*(1-Q))},toJSON:function(){return this.rgb()},clone:function(){var $,Q,p=new Rn,E=this.values,N=p.values;for(var de in E)E.hasOwnProperty(de)&&("[object Array]"===(Q={}.toString.call($=E[de]))?N[de]=$.slice(0):"[object Number]"===Q?N[de]=$:console.error("unexpected color value:",$));return p}},Rn.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},Rn.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},Rn.prototype.getValues=function(p){for(var E=this.values,N={},$=0;$<p.length;$++)N[p.charAt($)]=E[p][$];return 1!==E.alpha&&(N.a=E.alpha),N},Rn.prototype.setValues=function(p,E){var ve,De,N=this.values,$=this.spaces,Q=this.maxes,de=1;if(this.valid=!0,"alpha"===p)de=E;else if(E.length)N[p]=E.slice(0,p.length),de=E[p.length];else if(void 0!==E[p.charAt(0)]){for(ve=0;ve<p.length;ve++)N[p][ve]=E[p.charAt(ve)];de=E.a}else if(void 0!==E[$[p][0]]){var qe=$[p];for(ve=0;ve<p.length;ve++)N[p][ve]=E[qe[ve]];de=E.alpha}if(N.alpha=Math.max(0,Math.min(1,void 0===de?N.alpha:de)),"alpha"===p)return!1;for(ve=0;ve<p.length;ve++)De=Math.max(0,Math.min(Q[p][ve],N[p][ve])),N[p][ve]=Math.round(De);for(var _t in $)_t!==p&&(N[_t]=Oe[p][_t](N[p]));return!0},Rn.prototype.setSpace=function(p,E){var N=E[0];return void 0===N?this.getValues(p):("number"==typeof N&&(N=Array.prototype.slice.call(E)),this.setValues(p,N),this)},Rn.prototype.setChannel=function(p,E,N){var $=this.values[p];return void 0===N?$[E]:(N===$[E]||($[E]=N,this.setValues(p,$)),this)},"undefined"!=typeof window&&(window.Color=Rn);var er=Rn;function Mn(p){return-1===["__proto__","prototype","constructor"].indexOf(p)}var p,Ht={noop:function(){},uid:(p=0,function(){return p++}),isNullOrUndef:function(p){return null==p},isArray:function(p){if(Array.isArray&&Array.isArray(p))return!0;var E=Object.prototype.toString.call(p);return"[object"===E.substr(0,7)&&"Array]"===E.substr(-6)},isObject:function(p){return null!==p&&"[object Object]"===Object.prototype.toString.call(p)},isFinite:function(p){return("number"==typeof p||p instanceof Number)&&isFinite(p)},valueOrDefault:function(p,E){return void 0===p?E:p},valueAtIndexOrDefault:function(p,E,N){return Ht.valueOrDefault(Ht.isArray(p)?p[E]:p,N)},callback:function(p,E,N){if(p&&"function"==typeof p.call)return p.apply(N,E)},each:function(p,E,N,$){var Q,de,ve;if(Ht.isArray(p))if(de=p.length,$)for(Q=de-1;Q>=0;Q--)E.call(N,p[Q],Q);else for(Q=0;Q<de;Q++)E.call(N,p[Q],Q);else if(Ht.isObject(p))for(de=(ve=Object.keys(p)).length,Q=0;Q<de;Q++)E.call(N,p[ve[Q]],ve[Q])},arrayEquals:function(p,E){var N,$,Q,de;if(!p||!E||p.length!==E.length)return!1;for(N=0,$=p.length;N<$;++N)if(de=E[N],(Q=p[N])instanceof Array&&de instanceof Array){if(!Ht.arrayEquals(Q,de))return!1}else if(Q!==de)return!1;return!0},clone:function(p){if(Ht.isArray(p))return p.map(Ht.clone);if(Ht.isObject(p)){for(var E=Object.create(p),N=Object.keys(p),$=N.length,Q=0;Q<$;++Q)E[N[Q]]=Ht.clone(p[N[Q]]);return E}return p},_merger:function(p,E,N,$){if(Mn(p)){var Q=E[p],de=N[p];Ht.isObject(Q)&&Ht.isObject(de)?Ht.merge(Q,de,$):E[p]=Ht.clone(de)}},_mergerIf:function(p,E,N){if(Mn(p)){var $=E[p],Q=N[p];Ht.isObject($)&&Ht.isObject(Q)?Ht.mergeIf($,Q):E.hasOwnProperty(p)||(E[p]=Ht.clone(Q))}},merge:function(p,E,N){var de,ve,qe,De,_t,$=Ht.isArray(E)?E:[E],Q=$.length;if(!Ht.isObject(p))return p;for(de=(N=N||{}).merger||Ht._merger,ve=0;ve<Q;++ve)if(Ht.isObject(E=$[ve]))for(_t=0,De=(qe=Object.keys(E)).length;_t<De;++_t)de(qe[_t],p,E,N);return p},mergeIf:function(p,E){return Ht.merge(p,E,{merger:Ht._mergerIf})},extend:Object.assign||function(p){return Ht.merge(p,[].slice.call(arguments,1),{merger:function(E,N,$){N[E]=$[E]}})},inherits:function(p){var E=this,N=p&&p.hasOwnProperty("constructor")?p.constructor:function(){return E.apply(this,arguments)},$=function(){this.constructor=N};return $.prototype=E.prototype,N.prototype=new $,N.extend=Ht.inherits,p&&Ht.extend(N.prototype,p),N.__super__=E.prototype,N},_deprecated:function(p,E,N,$){void 0!==E&&console.warn(p+': "'+N+'" is deprecated. Please use "'+$+'" instead')}},tr=Ht;Ht.callCallback=Ht.callback,Ht.indexOf=function(p,E,N){return Array.prototype.indexOf.call(p,E,N)},Ht.getValueOrDefault=Ht.valueOrDefault,Ht.getValueAtIndexOrDefault=Ht.valueAtIndexOrDefault;var Yn={linear:function(p){return p},easeInQuad:function(p){return p*p},easeOutQuad:function(p){return-p*(p-2)},easeInOutQuad:function(p){return(p/=.5)<1?.5*p*p:-.5*(--p*(p-2)-1)},easeInCubic:function(p){return p*p*p},easeOutCubic:function(p){return(p-=1)*p*p+1},easeInOutCubic:function(p){return(p/=.5)<1?.5*p*p*p:.5*((p-=2)*p*p+2)},easeInQuart:function(p){return p*p*p*p},easeOutQuart:function(p){return-((p-=1)*p*p*p-1)},easeInOutQuart:function(p){return(p/=.5)<1?.5*p*p*p*p:-.5*((p-=2)*p*p*p-2)},easeInQuint:function(p){return p*p*p*p*p},easeOutQuint:function(p){return(p-=1)*p*p*p*p+1},easeInOutQuint:function(p){return(p/=.5)<1?.5*p*p*p*p*p:.5*((p-=2)*p*p*p*p+2)},easeInSine:function(p){return 1-Math.cos(p*(Math.PI/2))},easeOutSine:function(p){return Math.sin(p*(Math.PI/2))},easeInOutSine:function(p){return-.5*(Math.cos(Math.PI*p)-1)},easeInExpo:function(p){return 0===p?0:Math.pow(2,10*(p-1))},easeOutExpo:function(p){return 1===p?1:1-Math.pow(2,-10*p)},easeInOutExpo:function(p){return 0===p?0:1===p?1:(p/=.5)<1?.5*Math.pow(2,10*(p-1)):.5*(2-Math.pow(2,-10*--p))},easeInCirc:function(p){return p>=1?p:-(Math.sqrt(1-p*p)-1)},easeOutCirc:function(p){return Math.sqrt(1-(p-=1)*p)},easeInOutCirc:function(p){return(p/=.5)<1?-.5*(Math.sqrt(1-p*p)-1):.5*(Math.sqrt(1-(p-=2)*p)+1)},easeInElastic:function(p){var E=1.70158,N=0,$=1;return 0===p?0:1===p?1:(N||(N=.3),$<1?($=1,E=N/4):E=N/(2*Math.PI)*Math.asin(1/$),-$*Math.pow(2,10*(p-=1))*Math.sin((p-E)*(2*Math.PI)/N))},easeOutElastic:function(p){var E=1.70158,N=0,$=1;return 0===p?0:1===p?1:(N||(N=.3),$<1?($=1,E=N/4):E=N/(2*Math.PI)*Math.asin(1/$),$*Math.pow(2,-10*p)*Math.sin((p-E)*(2*Math.PI)/N)+1)},easeInOutElastic:function(p){var E=1.70158,N=0,$=1;return 0===p?0:2==(p/=.5)?1:(N||(N=.45),$<1?($=1,E=N/4):E=N/(2*Math.PI)*Math.asin(1/$),p<1?$*Math.pow(2,10*(p-=1))*Math.sin((p-E)*(2*Math.PI)/N)*-.5:$*Math.pow(2,-10*(p-=1))*Math.sin((p-E)*(2*Math.PI)/N)*.5+1)},easeInBack:function(p){var E=1.70158;return p*p*((E+1)*p-E)},easeOutBack:function(p){var E=1.70158;return(p-=1)*p*((E+1)*p+E)+1},easeInOutBack:function(p){var E=1.70158;return(p/=.5)<1?p*p*((1+(E*=1.525))*p-E)*.5:.5*((p-=2)*p*((1+(E*=1.525))*p+E)+2)},easeInBounce:function(p){return 1-Yn.easeOutBounce(1-p)},easeOutBounce:function(p){return p<1/2.75?7.5625*p*p:p<2/2.75?7.5625*(p-=1.5/2.75)*p+.75:p<2.5/2.75?7.5625*(p-=2.25/2.75)*p+.9375:7.5625*(p-=2.625/2.75)*p+.984375},easeInOutBounce:function(p){return p<.5?.5*Yn.easeInBounce(2*p):.5*Yn.easeOutBounce(2*p-1)+.5}},Cn={effects:Yn};tr.easingEffects=Yn;var Kt=Math.PI,dn=Kt/180,Kn=2*Kt,qn=Kt/2,Sn=Kt/4,$n=2*Kt/3,En={clear:function(p){p.ctx.clearRect(0,0,p.width,p.height)},roundedRect:function(p,E,N,$,Q,de){if(de){var ve=Math.min(de,Q/2,$/2),qe=E+ve,De=N+ve,_t=E+$-ve,Yt=N+Q-ve;p.moveTo(E,De),qe<_t&&De<Yt?(p.arc(qe,De,ve,-Kt,-qn),p.arc(_t,De,ve,-qn,0),p.arc(_t,Yt,ve,0,qn),p.arc(qe,Yt,ve,qn,Kt)):qe<_t?(p.moveTo(qe,N),p.arc(_t,De,ve,-qn,qn),p.arc(qe,De,ve,qn,Kt+qn)):De<Yt?(p.arc(qe,De,ve,-Kt,0),p.arc(qe,Yt,ve,0,Kt)):p.arc(qe,De,ve,-Kt,Kt),p.closePath(),p.moveTo(E,N)}else p.rect(E,N,$,Q)},drawPoint:function(p,E,N,$,Q,de){var ve,qe,De,_t,Yt,Zt=(de||0)*dn;if(E&&"object"==typeof E&&("[object HTMLImageElement]"===(ve=E.toString())||"[object HTMLCanvasElement]"===ve))return p.save(),p.translate($,Q),p.rotate(Zt),p.drawImage(E,-E.width/2,-E.height/2,E.width,E.height),void p.restore();if(!(isNaN(N)||N<=0)){switch(p.beginPath(),E){default:p.arc($,Q,N,0,Kn),p.closePath();break;case"triangle":p.moveTo($+Math.sin(Zt)*N,Q-Math.cos(Zt)*N),Zt+=$n,p.lineTo($+Math.sin(Zt)*N,Q-Math.cos(Zt)*N),Zt+=$n,p.lineTo($+Math.sin(Zt)*N,Q-Math.cos(Zt)*N),p.closePath();break;case"rectRounded":_t=N-(Yt=.516*N),qe=Math.cos(Zt+Sn)*_t,De=Math.sin(Zt+Sn)*_t,p.arc($-qe,Q-De,Yt,Zt-Kt,Zt-qn),p.arc($+De,Q-qe,Yt,Zt-qn,Zt),p.arc($+qe,Q+De,Yt,Zt,Zt+qn),p.arc($-De,Q+qe,Yt,Zt+qn,Zt+Kt),p.closePath();break;case"rect":if(!de){_t=Math.SQRT1_2*N,p.rect($-_t,Q-_t,2*_t,2*_t);break}Zt+=Sn;case"rectRot":qe=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-qe,Q-De),p.lineTo($+De,Q-qe),p.lineTo($+qe,Q+De),p.lineTo($-De,Q+qe),p.closePath();break;case"crossRot":Zt+=Sn;case"cross":qe=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-qe,Q-De),p.lineTo($+qe,Q+De),p.moveTo($+De,Q-qe),p.lineTo($-De,Q+qe);break;case"star":qe=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-qe,Q-De),p.lineTo($+qe,Q+De),p.moveTo($+De,Q-qe),p.lineTo($-De,Q+qe),Zt+=Sn,qe=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-qe,Q-De),p.lineTo($+qe,Q+De),p.moveTo($+De,Q-qe),p.lineTo($-De,Q+qe);break;case"line":qe=Math.cos(Zt)*N,De=Math.sin(Zt)*N,p.moveTo($-qe,Q-De),p.lineTo($+qe,Q+De);break;case"dash":p.moveTo($,Q),p.lineTo($+Math.cos(Zt)*N,Q+Math.sin(Zt)*N)}p.fill(),p.stroke()}},_isPointInArea:function(p,E){var N=1e-6;return p.x>E.left-N&&p.x<E.right+N&&p.y>E.top-N&&p.y<E.bottom+N},clipArea:function(p,E){p.save(),p.beginPath(),p.rect(E.left,E.top,E.right-E.left,E.bottom-E.top),p.clip()},unclipArea:function(p){p.restore()},lineTo:function(p,E,N,$){var Q=N.steppedLine;if(Q){if("middle"===Q){var de=(E.x+N.x)/2;p.lineTo(de,$?N.y:E.y),p.lineTo(de,$?E.y:N.y)}else"after"===Q&&!$||"after"!==Q&&$?p.lineTo(E.x,N.y):p.lineTo(N.x,E.y);p.lineTo(N.x,N.y)}else N.tension?p.bezierCurveTo($?E.controlPointPreviousX:E.controlPointNextX,$?E.controlPointPreviousY:E.controlPointNextY,$?N.controlPointNextX:N.controlPointPreviousX,$?N.controlPointNextY:N.controlPointPreviousY,N.x,N.y):p.lineTo(N.x,N.y)}},Fn=En;tr.clear=En.clear,tr.drawRoundedRectangle=function(p){p.beginPath(),En.roundedRect.apply(En,arguments)};var Dn={_set:function(p,E){return tr.merge(this[p]||(this[p]={}),E)}};Dn._set("global",{defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",defaultLineHeight:1.2,showLines:!0});var mn=Dn,jn=tr.valueOrDefault;var ut={toLineHeight:function(p,E){var N=(""+p).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!N||"normal"===N[1])return 1.2*E;switch(p=+N[2],N[3]){case"px":return p;case"%":p/=100}return E*p},toPadding:function(p){var E,N,$,Q;return tr.isObject(p)?(E=+p.top||0,N=+p.right||0,$=+p.bottom||0,Q=+p.left||0):E=N=$=Q=+p||0,{top:E,right:N,bottom:$,left:Q,height:E+$,width:Q+N}},_parseFont:function(p){var E=mn.global,N=jn(p.fontSize,E.defaultFontSize),$={family:jn(p.fontFamily,E.defaultFontFamily),lineHeight:tr.options.toLineHeight(jn(p.lineHeight,E.defaultLineHeight),N),size:N,style:jn(p.fontStyle,E.defaultFontStyle),weight:null,string:""};return $.string=function(p){return!p||tr.isNullOrUndef(p.size)||tr.isNullOrUndef(p.family)?null:(p.style?p.style+" ":"")+(p.weight?p.weight+" ":"")+p.size+"px "+p.family}($),$},resolve:function(p,E,N,$){var de,ve,qe,Q=!0;for(de=0,ve=p.length;de<ve;++de)if(void 0!==(qe=p[de])&&(void 0!==E&&"function"==typeof qe&&(qe=qe(E),Q=!1),void 0!==N&&tr.isArray(qe)&&(qe=qe[N],Q=!1),void 0!==qe))return $&&!Q&&($.cacheable=!1),qe}},mt={_factorize:function(p){var $,E=[],N=Math.sqrt(p);for($=1;$<N;$++)p%$==0&&(E.push($),E.push(p/$));return N===(0|N)&&E.push(N),E.sort(function(Q,de){return Q-de}).pop(),E},log10:Math.log10||function(p){var E=Math.log(p)*Math.LOG10E,N=Math.round(E);return p===Math.pow(10,N)?N:E}},Tt=mt;tr.log10=mt.log10;var ht=tr,Ue=Fn,nt=ut,at=Tt,it={getRtlAdapter:function(p,E,N){return p?function(p,E){return{x:function(N){return p+p+E-N},setWidth:function(N){E=N},textAlign:function(N){return"center"===N?N:"right"===N?"left":"right"},xPlus:function(N,$){return N-$},leftForLtr:function(N,$){return N-$}}}(E,N):{x:function(p){return p},setWidth:function(p){},textAlign:function(p){return p},xPlus:function(p,E){return p+E},leftForLtr:function(p,E){return p}}},overrideTextDirection:function(p,E){var N,$;("ltr"===E||"rtl"===E)&&($=[(N=p.canvas.style).getPropertyValue("direction"),N.getPropertyPriority("direction")],N.setProperty("direction",E,"important"),p.prevTextDirection=$)},restoreTextDirection:function(p){var E=p.prevTextDirection;void 0!==E&&(delete p.prevTextDirection,p.canvas.style.setProperty("direction",E[0],E[1]))}};ht.easing=Cn,ht.canvas=Ue,ht.options=nt,ht.math=at,ht.rtl=it;var Ut=function(p){ht.extend(this,p),this.initialize.apply(this,arguments)};ht.extend(Ut.prototype,{_type:void 0,initialize:function(){this.hidden=!1},pivot:function(){var p=this;return p._view||(p._view=ht.extend({},p._model)),p._start={},p},transition:function(p){var E=this,N=E._model,$=E._start,Q=E._view;return N&&1!==p?(Q||(Q=E._view={}),$||($=E._start={}),function(p,E,N,$){var de,ve,qe,De,_t,Yt,Zt,wn,cr,Q=Object.keys(N);for(de=0,ve=Q.length;de<ve;++de)if(Yt=N[qe=Q[de]],E.hasOwnProperty(qe)||(E[qe]=Yt),(De=E[qe])!==Yt&&"_"!==qe[0]){if(p.hasOwnProperty(qe)||(p[qe]=De),(Zt=typeof Yt)==typeof(_t=p[qe]))if("string"===Zt){if((wn=er(_t)).valid&&(cr=er(Yt)).valid){E[qe]=cr.mix(wn,$).rgbString();continue}}else if(ht.isFinite(_t)&&ht.isFinite(Yt)){E[qe]=_t+(Yt-_t)*$;continue}E[qe]=Yt}}($,Q,N,p),E):(E._view=ht.extend({},N),E._start=null,E)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return ht.isNumber(this._model.x)&&ht.isNumber(this._model.y)}}),Ut.extend=ht.inherits;var ot=Ut,Nn=ot.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),sn=Nn;Object.defineProperty(Nn.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(Nn.prototype,"chartInstance",{get:function(){return this.chart},set:function(p){this.chart=p}}),mn._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:ht.noop,onComplete:ht.noop}});var An={animations:[],request:null,addAnimation:function(p,E,N,$){var de,ve,Q=this.animations;for(E.chart=p,E.startTime=Date.now(),E.duration=N,$||(p.animating=!0),de=0,ve=Q.length;de<ve;++de)if(Q[de].chart===p)return void(Q[de]=E);Q.push(E),1===Q.length&&this.requestAnimationFrame()},cancelAnimation:function(p){var E=ht.findIndex(this.animations,function(N){return N.chart===p});-1!==E&&(this.animations.splice(E,1),p.animating=!1)},requestAnimationFrame:function(){var p=this;null===p.request&&(p.request=ht.requestAnimFrame.call(window,function(){p.request=null,p.startDigest()}))},startDigest:function(){var p=this;p.advance(),p.animations.length>0&&p.requestAnimationFrame()},advance:function(){for(var E,N,$,Q,p=this.animations,de=0;de<p.length;)N=(E=p[de]).chart,$=E.numSteps,Q=Math.floor((Date.now()-E.startTime)/E.duration*$)+1,E.currentStep=Math.min(Q,$),ht.callback(E.render,[N,E],N),ht.callback(E.onAnimationProgress,[E],N),E.currentStep>=$?(ht.callback(E.onAnimationComplete,[E],N),N.animating=!1,p.splice(de,1)):++de}},Bn=ht.options.resolve,ir=["push","pop","shift","splice","unshift"];function _r(p,E){var N=p._chartjs;if(N){var $=N.listeners,Q=$.indexOf(E);-1!==Q&&$.splice(Q,1),!($.length>0)&&(ir.forEach(function(de){delete p[de]}),delete p._chartjs)}}var Nr=function(p,E){this.initialize(p,E)};ht.extend(Nr.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(p,E){var N=this;N.chart=p,N.index=E,N.linkScales(),N.addElements(),N._type=N.getMeta().type},updateIndex:function(p){this.index=p},linkScales:function(){var p=this,E=p.getMeta(),N=p.chart,$=N.scales,Q=p.getDataset(),de=N.options.scales;(null===E.xAxisID||!(E.xAxisID in $)||Q.xAxisID)&&(E.xAxisID=Q.xAxisID||de.xAxes[0].id),(null===E.yAxisID||!(E.yAxisID in $)||Q.yAxisID)&&(E.yAxisID=Q.yAxisID||de.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(p){return this.chart.scales[p]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&_r(this._data,this)},createMetaDataset:function(){var p=this,E=p.datasetElementType;return E&&new E({_chart:p.chart,_datasetIndex:p.index})},createMetaData:function(p){var E=this,N=E.dataElementType;return N&&new N({_chart:E.chart,_datasetIndex:E.index,_index:p})},addElements:function(){var Q,de,p=this,E=p.getMeta(),N=p.getDataset().data||[],$=E.data;for(Q=0,de=N.length;Q<de;++Q)$[Q]=$[Q]||p.createMetaData(Q);E.dataset=E.dataset||p.createMetaDataset()},addElementAndReset:function(p){var E=this.createMetaData(p);this.getMeta().data.splice(p,0,E),this.updateElement(E,p,!0)},buildOrUpdateElements:function(){var p=this,E=p.getDataset(),N=E.data||(E.data=[]);p._data!==N&&(p._data&&_r(p._data,p),N&&Object.isExtensible(N)&&function(p,E){p._chartjs?p._chartjs.listeners.push(E):(Object.defineProperty(p,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[E]}}),ir.forEach(function(N){var $="onData"+N.charAt(0).toUpperCase()+N.slice(1),Q=p[N];Object.defineProperty(p,N,{configurable:!0,enumerable:!1,value:function(){var de=Array.prototype.slice.call(arguments),ve=Q.apply(this,de);return ht.each(p._chartjs.listeners,function(qe){"function"==typeof qe[$]&&qe[$].apply(qe,de)}),ve}})}))}(N,p),p._data=N),p.resyncElements()},_configure:function(){var p=this;p._config=ht.merge(Object.create(null),[p.chart.options.datasets[p._type],p.getDataset()],{merger:function(E,N,$){"_meta"!==E&&"data"!==E&&ht._merger(E,N,$)}})},_update:function(p){var E=this;E._configure(),E._cachedDataOpts=null,E.update(p)},update:ht.noop,transition:function(p){for(var E=this.getMeta(),N=E.data||[],$=N.length,Q=0;Q<$;++Q)N[Q].transition(p);E.dataset&&E.dataset.transition(p)},draw:function(){var p=this.getMeta(),E=p.data||[],N=E.length,$=0;for(p.dataset&&p.dataset.draw();$<N;++$)E[$].draw()},getStyle:function(p){var Q,E=this,N=E.getMeta(),$=N.dataset;return E._configure(),(!1===(Q=$&&void 0===p?E._resolveDatasetElementOptions($||{}):E._resolveDataElementOptions(N.data[p=p||0]||{},p)).fill||null===Q.fill)&&(Q.backgroundColor=Q.borderColor),Q},_resolveDatasetElementOptions:function(p,E){var _t,Yt,Zt,wn,N=this,$=N.chart,Q=N._config,de=p.custom||{},ve=$.options.elements[N.datasetElementType.prototype._type]||{},qe=N._datasetElementOptions,De={},cr={chart:$,dataset:N.getDataset(),datasetIndex:N.index,hover:E};for(_t=0,Yt=qe.length;_t<Yt;++_t)Zt=qe[_t],wn=E?"hover"+Zt.charAt(0).toUpperCase()+Zt.slice(1):Zt,De[Zt]=Bn([de[wn],Q[wn],ve[wn]],cr);return De},_resolveDataElementOptions:function(p,E){var N=this,$=p&&p.custom,Q=N._cachedDataOpts;if(Q&&!$)return Q;var wn,cr,sr,Tr,de=N.chart,ve=N._config,qe=de.options.elements[N.dataElementType.prototype._type]||{},De=N._dataElementOptions,_t={},Yt={chart:de,dataIndex:E,dataset:N.getDataset(),datasetIndex:N.index},Zt={cacheable:!$};if($=$||{},ht.isArray(De))for(cr=0,sr=De.length;cr<sr;++cr)_t[Tr=De[cr]]=Bn([$[Tr],ve[Tr],qe[Tr]],Yt,E,Zt);else for(cr=0,sr=(wn=Object.keys(De)).length;cr<sr;++cr)_t[Tr=wn[cr]]=Bn([$[Tr],ve[De[Tr]],ve[Tr],qe[Tr]],Yt,E,Zt);return Zt.cacheable&&(N._cachedDataOpts=Object.freeze(_t)),_t},removeHoverStyle:function(p){ht.merge(p._model,p.$previousStyle||{}),delete p.$previousStyle},setHoverStyle:function(p){var E=this.chart.data.datasets[p._datasetIndex],N=p._index,$=p.custom||{},Q=p._model,de=ht.getHoverColor;p.$previousStyle={backgroundColor:Q.backgroundColor,borderColor:Q.borderColor,borderWidth:Q.borderWidth},Q.backgroundColor=Bn([$.hoverBackgroundColor,E.hoverBackgroundColor,de(Q.backgroundColor)],void 0,N),Q.borderColor=Bn([$.hoverBorderColor,E.hoverBorderColor,de(Q.borderColor)],void 0,N),Q.borderWidth=Bn([$.hoverBorderWidth,E.hoverBorderWidth,Q.borderWidth],void 0,N)},_removeDatasetHoverStyle:function(){var p=this.getMeta().dataset;p&&this.removeHoverStyle(p)},_setDatasetHoverStyle:function(){var N,$,Q,de,ve,qe,p=this.getMeta().dataset,E={};if(p){for(qe=p._model,ve=this._resolveDatasetElementOptions(p,!0),N=0,$=(de=Object.keys(ve)).length;N<$;++N)E[Q=de[N]]=qe[Q],qe[Q]=ve[Q];p.$previousStyle=E}},resyncElements:function(){var p=this,E=p.getMeta(),N=p.getDataset().data,$=E.data.length,Q=N.length;Q<$?E.data.splice(Q,$-Q):Q>$&&p.insertElements($,Q-$)},insertElements:function(p,E){for(var N=0;N<E;++N)this.addElementAndReset(p+N)},onDataPush:function(){var p=arguments.length;this.insertElements(this.getDataset().data.length-p,p)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(p,E){this.getMeta().data.splice(p,E),this.insertElements(p,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),Nr.extend=ht.inherits;var br=Nr,Jn=2*Math.PI;function nr(p,E){var N=E.startAngle,$=E.endAngle,Q=E.pixelMargin,de=Q/E.outerRadius,ve=E.x,qe=E.y;p.beginPath(),p.arc(ve,qe,E.outerRadius,N-de,$+de),E.innerRadius>Q?p.arc(ve,qe,E.innerRadius-Q,$+(de=Q/E.innerRadius),N-de,!0):p.arc(ve,qe,Q,$+Math.PI/2,N-Math.PI/2),p.closePath(),p.clip()}function yi(p,E,N){var $="inner"===E.borderAlign;$?(p.lineWidth=2*E.borderWidth,p.lineJoin="round"):(p.lineWidth=E.borderWidth,p.lineJoin="bevel"),N.fullCircles&&function(p,E,N,$){var de,Q=N.endAngle;for($&&(N.endAngle=N.startAngle+Jn,nr(p,N),N.endAngle=Q,N.endAngle===N.startAngle&&N.fullCircles&&(N.endAngle+=Jn,N.fullCircles--)),p.beginPath(),p.arc(N.x,N.y,N.innerRadius,N.startAngle+Jn,N.startAngle,!0),de=0;de<N.fullCircles;++de)p.stroke();for(p.beginPath(),p.arc(N.x,N.y,E.outerRadius,N.startAngle,N.startAngle+Jn),de=0;de<N.fullCircles;++de)p.stroke()}(p,E,N,$),$&&nr(p,N),p.beginPath(),p.arc(N.x,N.y,E.outerRadius,N.startAngle,N.endAngle),p.arc(N.x,N.y,N.innerRadius,N.endAngle,N.startAngle,!0),p.closePath(),p.stroke()}mn._set("global",{elements:{arc:{backgroundColor:mn.global.defaultColor,borderColor:"#fff",borderWidth:2,borderAlign:"center"}}});var Ii=ot.extend({_type:"arc",inLabelRange:function(p){var E=this._view;return!!E&&Math.pow(p-E.x,2)<Math.pow(E.radius+E.hoverRadius,2)},inRange:function(p,E){var N=this._view;if(N){for(var $=ht.getAngleFromPoint(N,{x:p,y:E}),Q=$.angle,de=$.distance,ve=N.startAngle,qe=N.endAngle;qe<ve;)qe+=Jn;for(;Q>qe;)Q-=Jn;for(;Q<ve;)Q+=Jn;return Q>=ve&&Q<=qe&&de>=N.innerRadius&&de<=N.outerRadius}return!1},getCenterPoint:function(){var p=this._view,E=(p.startAngle+p.endAngle)/2,N=(p.innerRadius+p.outerRadius)/2;return{x:p.x+Math.cos(E)*N,y:p.y+Math.sin(E)*N}},getArea:function(){var p=this._view;return Math.PI*((p.endAngle-p.startAngle)/(2*Math.PI))*(Math.pow(p.outerRadius,2)-Math.pow(p.innerRadius,2))},tooltipPosition:function(){var p=this._view,E=p.startAngle+(p.endAngle-p.startAngle)/2,N=(p.outerRadius-p.innerRadius)/2+p.innerRadius;return{x:p.x+Math.cos(E)*N,y:p.y+Math.sin(E)*N}},draw:function(){var Q,p=this._chart.ctx,E=this._view,N="inner"===E.borderAlign?.33:0,$={x:E.x,y:E.y,innerRadius:E.innerRadius,outerRadius:Math.max(E.outerRadius-N,0),pixelMargin:N,startAngle:E.startAngle,endAngle:E.endAngle,fullCircles:Math.floor(E.circumference/Jn)};if(p.save(),p.fillStyle=E.backgroundColor,p.strokeStyle=E.borderColor,$.fullCircles){for($.endAngle=$.startAngle+Jn,p.beginPath(),p.arc($.x,$.y,$.outerRadius,$.startAngle,$.endAngle),p.arc($.x,$.y,$.innerRadius,$.endAngle,$.startAngle,!0),p.closePath(),Q=0;Q<$.fullCircles;++Q)p.fill();$.endAngle=$.startAngle+E.circumference%Jn}p.beginPath(),p.arc($.x,$.y,$.outerRadius,$.startAngle,$.endAngle),p.arc($.x,$.y,$.innerRadius,$.endAngle,$.startAngle,!0),p.closePath(),p.fill(),E.borderWidth&&yi(p,E,$),p.restore()}}),Mi=ht.valueOrDefault,Oi=mn.global.defaultColor;mn._set("global",{elements:{line:{tension:.4,backgroundColor:Oi,borderWidth:3,borderColor:Oi,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}});var Kr=ot.extend({_type:"line",draw:function(){var _t,Yt,Zt,p=this,E=p._view,N=p._chart.ctx,$=E.spanGaps,Q=p._children.slice(),de=mn.global,ve=de.elements.line,qe=-1,De=p._loop;if(Q.length){if(p._loop){for(_t=0;_t<Q.length;++_t)if(Yt=ht.previousItem(Q,_t),!Q[_t]._view.skip&&Yt._view.skip){Q=Q.slice(_t).concat(Q.slice(0,_t)),De=$;break}De&&Q.push(Q[0])}for(N.save(),N.lineCap=E.borderCapStyle||ve.borderCapStyle,N.setLineDash&&N.setLineDash(E.borderDash||ve.borderDash),N.lineDashOffset=Mi(E.borderDashOffset,ve.borderDashOffset),N.lineJoin=E.borderJoinStyle||ve.borderJoinStyle,N.lineWidth=Mi(E.borderWidth,ve.borderWidth),N.strokeStyle=E.borderColor||de.defaultColor,N.beginPath(),(Zt=Q[0]._view).skip||(N.moveTo(Zt.x,Zt.y),qe=0),_t=1;_t<Q.length;++_t)Zt=Q[_t]._view,Yt=-1===qe?ht.previousItem(Q,_t):Q[qe],Zt.skip||(qe!==_t-1&&!$||-1===qe?N.moveTo(Zt.x,Zt.y):ht.canvas.lineTo(N,Yt._view,Zt),qe=_t);De&&N.closePath(),N.stroke(),N.restore()}}}),ei=ht.valueOrDefault,di=mn.global.defaultColor;function se(p){var E=this._view;return!!E&&Math.abs(p-E.x)<E.radius+E.hitRadius}mn._set("global",{elements:{point:{radius:3,pointStyle:"circle",backgroundColor:di,borderColor:di,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});var Ke=ot.extend({_type:"point",inRange:function(p,E){var N=this._view;return!!N&&Math.pow(p-N.x,2)+Math.pow(E-N.y,2)<Math.pow(N.hitRadius+N.radius,2)},inLabelRange:se,inXRange:se,inYRange:function(p){var E=this._view;return!!E&&Math.abs(p-E.y)<E.radius+E.hitRadius},getCenterPoint:function(){var p=this._view;return{x:p.x,y:p.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var p=this._view;return{x:p.x,y:p.y,padding:p.radius+p.borderWidth}},draw:function(p){var E=this._view,N=this._chart.ctx,$=E.pointStyle,Q=E.rotation,de=E.radius,ve=E.x,qe=E.y,De=mn.global,_t=De.defaultColor;E.skip||(void 0===p||ht.canvas._isPointInArea(E,p))&&(N.strokeStyle=E.borderColor||_t,N.lineWidth=ei(E.borderWidth,De.elements.point.borderWidth),N.fillStyle=E.backgroundColor||_t,ht.canvas.drawPoint(N,$,de,ve,qe,Q))}}),Xe=mn.global.defaultColor;function Vt(p){return p&&void 0!==p.width}function Ct(p){var E,N,$,Q,de;return Vt(p)?(E=p.x-(de=p.width/2),N=p.x+de,$=Math.min(p.y,p.base),Q=Math.max(p.y,p.base)):(de=p.height/2,E=Math.min(p.x,p.base),N=Math.max(p.x,p.base),$=p.y-de,Q=p.y+de),{left:E,top:$,right:N,bottom:Q}}function rt(p,E,N){return p===E?N:p===N?E:p}function We(p,E,N){var de,ve,qe,De,$=p.borderWidth,Q=function(p){var E=p.borderSkipped,N={};return E&&(p.horizontal?p.base>p.x&&(E=rt(E,"left","right")):p.base<p.y&&(E=rt(E,"bottom","top")),N[E]=!0),N}(p);return ht.isObject($)?(de=+$.top||0,ve=+$.right||0,qe=+$.bottom||0,De=+$.left||0):de=ve=qe=De=+$||0,{t:Q.top||de<0?0:de>N?N:de,r:Q.right||ve<0?0:ve>E?E:ve,b:Q.bottom||qe<0?0:qe>N?N:qe,l:Q.left||De<0?0:De>E?E:De}}function or(p,E,N){var $=null===E,Q=null===N,de=!(!p||$&&Q)&&Ct(p);return de&&($||E>=de.left&&E<=de.right)&&(Q||N>=de.top&&N<=de.bottom)}mn._set("global",{elements:{rectangle:{backgroundColor:Xe,borderColor:Xe,borderSkipped:"bottom",borderWidth:0}}});var Zn=ot.extend({_type:"rectangle",draw:function(){var p=this._chart.ctx,E=this._view,N=function(p){var E=Ct(p),N=E.right-E.left,$=E.bottom-E.top,Q=We(p,N/2,$/2);return{outer:{x:E.left,y:E.top,w:N,h:$},inner:{x:E.left+Q.l,y:E.top+Q.t,w:N-Q.l-Q.r,h:$-Q.t-Q.b}}}(E),$=N.outer,Q=N.inner;p.fillStyle=E.backgroundColor,p.fillRect($.x,$.y,$.w,$.h),($.w!==Q.w||$.h!==Q.h)&&(p.save(),p.beginPath(),p.rect($.x,$.y,$.w,$.h),p.clip(),p.fillStyle=E.borderColor,p.rect(Q.x,Q.y,Q.w,Q.h),p.fill("evenodd"),p.restore())},height:function(){var p=this._view;return p.base-p.y},inRange:function(p,E){return or(this._view,p,E)},inLabelRange:function(p,E){var N=this._view;return Vt(N)?or(N,p,null):or(N,null,E)},inXRange:function(p){return or(this._view,p,null)},inYRange:function(p){return or(this._view,null,p)},getCenterPoint:function(){var E,N,p=this._view;return Vt(p)?(E=p.x,N=(p.y+p.base)/2):(E=(p.x+p.base)/2,N=p.y),{x:E,y:N}},getArea:function(){var p=this._view;return Vt(p)?p.width*Math.abs(p.y-p.base):p.height*Math.abs(p.x-p.base)},tooltipPosition:function(){var p=this._view;return{x:p.x,y:p.y}}}),Vr={},ai=Kr,Dr=Ke,Qr=Zn;Vr.Arc=Ii,Vr.Line=ai,Vr.Point=Dr,Vr.Rectangle=Qr;var rn=ht._deprecated,fi=ht.valueOrDefault;function wi(p,E,N){var qe,De,$=N.barThickness,Q=E.stackCount,de=E.pixels[p],ve=ht.isNullOrUndef($)?function(p,E){var $,Q,de,ve,N=p._length;for(de=1,ve=E.length;de<ve;++de)N=Math.min(N,Math.abs(E[de]-E[de-1]));for(de=0,ve=p.getTicks().length;de<ve;++de)Q=p.getPixelForTick(de),N=de>0?Math.min(N,Math.abs(Q-$)):N,$=Q;return N}(E.scale,E.pixels):-1;return ht.isNullOrUndef($)?(qe=ve*N.categoryPercentage,De=N.barPercentage):(qe=$*Q,De=1),{chunk:qe/Q,ratio:De,start:de-qe/2}}mn._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),mn._set("global",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});var Fi=br.extend({dataElementType:Vr.Rectangle,_dataElementOptions:["backgroundColor","borderColor","borderSkipped","borderWidth","barPercentage","barThickness","categoryPercentage","maxBarThickness","minBarLength"],initialize:function(){var E,N,p=this;br.prototype.initialize.apply(p,arguments),(E=p.getMeta()).stack=p.getDataset().stack,E.bar=!0,N=p._getIndexScale().options,rn("bar chart",N.barPercentage,"scales.[x/y]Axes.barPercentage","dataset.barPercentage"),rn("bar chart",N.barThickness,"scales.[x/y]Axes.barThickness","dataset.barThickness"),rn("bar chart",N.categoryPercentage,"scales.[x/y]Axes.categoryPercentage","dataset.categoryPercentage"),rn("bar chart",p._getValueScale().options.minBarLength,"scales.[x/y]Axes.minBarLength","dataset.minBarLength"),rn("bar chart",N.maxBarThickness,"scales.[x/y]Axes.maxBarThickness","dataset.maxBarThickness")},update:function(p){var $,Q,E=this,N=E.getMeta().data;for(E._ruler=E.getRuler(),$=0,Q=N.length;$<Q;++$)E.updateElement(N[$],$,p)},updateElement:function(p,E,N){var $=this,Q=$.getMeta(),de=$.getDataset(),ve=$._resolveDataElementOptions(p,E);p._xScale=$.getScaleForId(Q.xAxisID),p._yScale=$.getScaleForId(Q.yAxisID),p._datasetIndex=$.index,p._index=E,p._model={backgroundColor:ve.backgroundColor,borderColor:ve.borderColor,borderSkipped:ve.borderSkipped,borderWidth:ve.borderWidth,datasetLabel:de.label,label:$.chart.data.labels[E]},ht.isArray(de.data[E])&&(p._model.borderSkipped=null),$._updateElementGeometry(p,E,N,ve),p.pivot()},_updateElementGeometry:function(p,E,N,$){var Q=this,de=p._model,ve=Q._getValueScale(),qe=ve.getBasePixel(),De=ve.isHorizontal(),_t=Q._ruler||Q.getRuler(),Yt=Q.calculateBarValuePixels(Q.index,E,$),Zt=Q.calculateBarIndexPixels(Q.index,E,_t,$);de.horizontal=De,de.base=N?qe:Yt.base,de.x=De?N?qe:Yt.head:Zt.center,de.y=De?Zt.center:N?qe:Yt.head,de.height=De?Zt.size:void 0,de.width=De?void 0:Zt.size},_getStacks:function(p){var qe,De,N=this._getIndexScale(),$=N._getMatchingVisibleMetas(this._type),Q=N.options.stacked,de=$.length,ve=[];for(qe=0;qe<de&&(De=$[qe],(!1===Q||-1===ve.indexOf(De.stack)||void 0===Q&&void 0===De.stack)&&ve.push(De.stack),De.index!==p);++qe);return ve},getStackCount:function(){return this._getStacks().length},getStackIndex:function(p,E){var N=this._getStacks(p),$=void 0!==E?N.indexOf(E):-1;return-1===$?N.length-1:$},getRuler:function(){var $,Q,p=this,E=p._getIndexScale(),N=[];for($=0,Q=p.getMeta().data.length;$<Q;++$)N.push(E.getPixelForValue(null,$,p.index));return{pixels:N,start:E._startPixel,end:E._endPixel,stackCount:p.getStackCount(),scale:E}},calculateBarValuePixels:function(p,E,N){var Yr,Pi,yo,Co,Xo,ts,_s,$=this,Q=$.chart,de=$._getValueScale(),ve=de.isHorizontal(),qe=Q.data.datasets,De=de._getMatchingVisibleMetas($._type),_t=de._parseValue(qe[p].data[E]),Yt=N.minBarLength,Zt=de.options.stacked,wn=$.getMeta().stack,cr=void 0===_t.start?0:_t.max>=0&&_t.min>=0?_t.min:_t.max,sr=void 0===_t.start?_t.end:_t.max>=0&&_t.min>=0?_t.max-_t.min:_t.min-_t.max,Tr=De.length;if(Zt||void 0===Zt&&void 0!==wn)for(Yr=0;Yr<Tr&&(Pi=De[Yr]).index!==p;++Yr)Pi.stack===wn&&(yo=void 0===(_s=de._parseValue(qe[Pi.index].data[E])).start?_s.end:_s.min>=0&&_s.max>=0?_s.max:_s.min,(_t.min<0&&yo<0||_t.max>=0&&yo>0)&&(cr+=yo));return Co=de.getPixelForValue(cr),ts=(Xo=de.getPixelForValue(cr+sr))-Co,void 0!==Yt&&Math.abs(ts)<Yt&&(ts=Yt,Xo=sr>=0&&!ve||sr<0&&ve?Co-Yt:Co+Yt),{size:ts,base:Co,head:Xo,center:Xo+ts/2}},calculateBarIndexPixels:function(p,E,N,$){var de="flex"===$.barThickness?function(p,E,N){var De,$=E.pixels,Q=$[p],de=p>0?$[p-1]:null,ve=p<$.length-1?$[p+1]:null,qe=N.categoryPercentage;return null===de&&(de=Q-(null===ve?E.end-E.start:ve-Q)),null===ve&&(ve=Q+Q-de),De=Q-(Q-Math.min(de,ve))/2*qe,{chunk:Math.abs(ve-de)/2*qe/E.stackCount,ratio:N.barPercentage,start:De}}(E,N,$):wi(E,N,$),ve=this.getStackIndex(p,this.getMeta().stack),qe=de.start+de.chunk*ve+de.chunk/2,De=Math.min(fi($.maxBarThickness,1/0),de.chunk*de.ratio);return{base:qe-De/2,head:qe+De/2,center:qe,size:De}},draw:function(){var p=this,E=p.chart,N=p._getValueScale(),$=p.getMeta().data,Q=p.getDataset(),de=$.length,ve=0;for(ht.canvas.clipArea(E.ctx,E.chartArea);ve<de;++ve){var qe=N._parseValue(Q.data[ve]);!isNaN(qe.min)&&!isNaN(qe.max)&&$[ve].draw()}ht.canvas.unclipArea(E.ctx)},_resolveDataElementOptions:function(){var p=this,E=ht.extend({},br.prototype._resolveDataElementOptions.apply(p,arguments)),N=p._getIndexScale().options,$=p._getValueScale().options;return E.barPercentage=fi(N.barPercentage,E.barPercentage),E.barThickness=fi(N.barThickness,E.barThickness),E.categoryPercentage=fi(N.categoryPercentage,E.categoryPercentage),E.maxBarThickness=fi(N.maxBarThickness,E.maxBarThickness),E.minBarLength=fi($.minBarLength,E.minBarLength),E}}),no=ht.valueOrDefault,Ji=ht.options.resolve;mn._set("bubble",{hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-0"}],yAxes:[{type:"linear",position:"left",id:"y-axis-0"}]},tooltips:{callbacks:{title:function(){return""},label:function(p,E){return(E.datasets[p.datasetIndex].label||"")+": ("+p.xLabel+", "+p.yLabel+", "+E.datasets[p.datasetIndex].data[p.index].r+")"}}}});var qi=br.extend({dataElementType:Vr.Point,_dataElementOptions:["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle","rotation"],update:function(p){var E=this,N=E.getMeta();ht.each(N.data,function(Q,de){E.updateElement(Q,de,p)})},updateElement:function(p,E,N){var $=this,Q=$.getMeta(),de=p.custom||{},ve=$.getScaleForId(Q.xAxisID),qe=$.getScaleForId(Q.yAxisID),De=$._resolveDataElementOptions(p,E),_t=$.getDataset().data[E],Yt=$.index,Zt=N?ve.getPixelForDecimal(.5):ve.getPixelForValue("object"==typeof _t?_t:NaN,E,Yt),wn=N?qe.getBasePixel():qe.getPixelForValue(_t,E,Yt);p._xScale=ve,p._yScale=qe,p._options=De,p._datasetIndex=Yt,p._index=E,p._model={backgroundColor:De.backgroundColor,borderColor:De.borderColor,borderWidth:De.borderWidth,hitRadius:De.hitRadius,pointStyle:De.pointStyle,rotation:De.rotation,radius:N?0:De.radius,skip:de.skip||isNaN(Zt)||isNaN(wn),x:Zt,y:wn},p.pivot()},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth,radius:E.radius},E.backgroundColor=no(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=no(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=no(N.hoverBorderWidth,N.borderWidth),E.radius=N.radius+N.hoverRadius},_resolveDataElementOptions:function(p,E){var N=this,$=N.chart,Q=N.getDataset(),de=p.custom||{},ve=Q.data[E]||{},qe=br.prototype._resolveDataElementOptions.apply(N,arguments),De={chart:$,dataIndex:E,dataset:Q,datasetIndex:N.index};return N._cachedDataOpts===qe&&(qe=ht.extend({},qe)),qe.radius=Ji([de.radius,ve.r,N._config.radius,$.options.elements.point.radius],De,E),qe}}),to=ht.valueOrDefault,zi=Math.PI,Go=2*zi,Ro=zi/2;mn._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(p){var de,ve,qe,E=document.createElement("ul"),N=p.data,$=N.datasets,Q=N.labels;if(E.setAttribute("class",p.id+"-legend"),$.length)for(de=0,ve=$[0].data.length;de<ve;++de)(qe=E.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=$[0].backgroundColor[de],Q[de]&&qe.appendChild(document.createTextNode(Q[de]));return E.outerHTML},legend:{labels:{generateLabels:function(p){var E=p.data;return E.labels.length&&E.datasets.length?E.labels.map(function(N,$){var Q=p.getDatasetMeta(0),de=Q.controller.getStyle($);return{text:N,fillStyle:de.backgroundColor,strokeStyle:de.borderColor,lineWidth:de.borderWidth,hidden:isNaN(E.datasets[0].data[$])||Q.data[$].hidden,index:$}}):[]}},onClick:function(p,E){var Q,de,ve,N=E.index,$=this.chart;for(Q=0,de=($.data.datasets||[]).length;Q<de;++Q)(ve=$.getDatasetMeta(Q)).data[N]&&(ve.data[N].hidden=!ve.data[N].hidden);$.update()}},cutoutPercentage:50,rotation:-Ro,circumference:Go,tooltips:{callbacks:{title:function(){return""},label:function(p,E){var N=E.labels[p.index],$=": "+E.datasets[p.datasetIndex].data[p.index];return ht.isArray(N)?(N=N.slice())[0]+=$:N+=$,N}}}});var Bo=br.extend({dataElementType:Vr.Arc,linkScales:ht.noop,_dataElementOptions:["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"],getRingIndex:function(p){for(var E=0,N=0;N<p;++N)this.chart.isDatasetVisible(N)&&++E;return E},update:function(p){var Yr,Pi,E=this,N=E.chart,$=N.chartArea,Q=N.options,de=1,ve=1,qe=0,De=0,_t=E.getMeta(),Yt=_t.data,Zt=Q.cutoutPercentage/100||0,wn=Q.circumference,cr=E._getRingWeight(E.index);if(wn<Go){var yo=Q.rotation%Go,Co=(yo+=yo>=zi?-Go:yo<-zi?Go:0)+wn,Xo=Math.cos(yo),ts=Math.sin(yo),_s=Math.cos(Co),Ts=Math.sin(Co),Ms=yo<=0&&Co>=0||Co>=Go,xs=yo<=Ro&&Co>=Ro||Co>=Go+Ro,hl=yo<=-Ro&&Co>=-Ro||Co>=zi+Ro,Ga=yo===-zi||Co>=zi?-1:Math.min(Xo,Xo*Zt,_s,_s*Zt),Qa=hl?-1:Math.min(ts,ts*Zt,Ts,Ts*Zt),rl=Ms?1:Math.max(Xo,Xo*Zt,_s,_s*Zt),Gl=xs?1:Math.max(ts,ts*Zt,Ts,Ts*Zt);de=(rl-Ga)/2,ve=(Gl-Qa)/2,qe=-(rl+Ga)/2,De=-(Gl+Qa)/2}for(Yr=0,Pi=Yt.length;Yr<Pi;++Yr)Yt[Yr]._options=E._resolveDataElementOptions(Yt[Yr],Yr);for(N.borderWidth=E.getMaxBorderWidth(),N.outerRadius=Math.max(Math.min(($.right-$.left-N.borderWidth)/de,($.bottom-$.top-N.borderWidth)/ve)/2,0),N.innerRadius=Math.max(N.outerRadius*Zt,0),N.radiusLength=(N.outerRadius-N.innerRadius)/(E._getVisibleDatasetWeightTotal()||1),N.offsetX=qe*N.outerRadius,N.offsetY=De*N.outerRadius,_t.total=E.calculateTotal(),E.outerRadius=N.outerRadius-N.radiusLength*E._getRingWeightOffset(E.index),E.innerRadius=Math.max(E.outerRadius-N.radiusLength*cr,0),Yr=0,Pi=Yt.length;Yr<Pi;++Yr)E.updateElement(Yt[Yr],Yr,p)},updateElement:function(p,E,N){var $=this,Q=$.chart,de=Q.chartArea,ve=Q.options,qe=ve.animation,De=(de.left+de.right)/2,_t=(de.top+de.bottom)/2,Yt=ve.rotation,Zt=ve.rotation,wn=$.getDataset(),cr=N&&qe.animateRotate||p.hidden?0:$.calculateCircumference(wn.data[E])*(ve.circumference/Go),Yr=p._options||{};ht.extend(p,{_datasetIndex:$.index,_index:E,_model:{backgroundColor:Yr.backgroundColor,borderColor:Yr.borderColor,borderWidth:Yr.borderWidth,borderAlign:Yr.borderAlign,x:De+Q.offsetX,y:_t+Q.offsetY,startAngle:Yt,endAngle:Zt,circumference:cr,outerRadius:N&&qe.animateScale?0:$.outerRadius,innerRadius:N&&qe.animateScale?0:$.innerRadius,label:ht.valueAtIndexOrDefault(wn.label,E,Q.data.labels[E])}});var Pi=p._model;(!N||!qe.animateRotate)&&(Pi.startAngle=0===E?ve.rotation:$.getMeta().data[E-1]._model.endAngle,Pi.endAngle=Pi.startAngle+Pi.circumference),p.pivot()},calculateTotal:function(){var $,p=this.getDataset(),E=this.getMeta(),N=0;return ht.each(E.data,function(Q,de){$=p.data[de],!isNaN($)&&!Q.hidden&&(N+=Math.abs($))}),N},calculateCircumference:function(p){var E=this.getMeta().total;return E>0&&!isNaN(p)?Go*(Math.abs(p)/E):0},getMaxBorderWidth:function(p){var Q,de,ve,qe,De,_t,Yt,Zt,N=0,$=this.chart;if(!p)for(Q=0,de=$.data.datasets.length;Q<de;++Q)if($.isDatasetVisible(Q)){p=(ve=$.getDatasetMeta(Q)).data,Q!==this.index&&(De=ve.controller);break}if(!p)return 0;for(Q=0,de=p.length;Q<de;++Q)qe=p[Q],De?(De._configure(),_t=De._resolveDataElementOptions(qe,Q)):_t=qe._options,"inner"!==_t.borderAlign&&(N=(Zt=_t.hoverBorderWidth)>(N=(Yt=_t.borderWidth)>N?Yt:N)?Zt:N);return N},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth},E.backgroundColor=to(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=to(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=to(N.hoverBorderWidth,N.borderWidth)},_getRingWeightOffset:function(p){for(var E=0,N=0;N<p;++N)this.chart.isDatasetVisible(N)&&(E+=this._getRingWeight(N));return E},_getRingWeight:function(p){return Math.max(to(this.chart.data.datasets[p].weight,1),0)},_getVisibleDatasetWeightTotal:function(){return this._getRingWeightOffset(this.chart.data.datasets.length)}});mn._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{type:"category",position:"left",offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{mode:"index",axis:"y"}}),mn._set("global",{datasets:{horizontalBar:{categoryPercentage:.8,barPercentage:.9}}});var Jo=Fi.extend({_getValueScaleId:function(){return this.getMeta().xAxisID},_getIndexScaleId:function(){return this.getMeta().yAxisID}}),es=ht.valueOrDefault,ua=ht.options.resolve,ds=ht.canvas._isPointInArea;function zo(p,E){var N=p&&p.options.ticks||{},$=N.reverse,Q=void 0===N.min?E:0,de=void 0===N.max?E:0;return{start:$?de:Q,end:$?Q:de}}function oa(p,E,N){var $=N/2,Q=zo(p,$),de=zo(E,$);return{top:de.end,right:Q.end,bottom:de.start,left:Q.start}}function Er(p){var E,N,$,Q;return ht.isObject(p)?(E=p.top,N=p.right,$=p.bottom,Q=p.left):E=N=$=Q=p,{top:E,right:N,bottom:$,left:Q}}mn._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}});var st=br.extend({datasetElementType:Vr.Line,dataElementType:Vr.Point,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth","cubicInterpolationMode","fill"],_dataElementOptions:{backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},update:function(p){var De,_t,E=this,N=E.getMeta(),$=N.dataset,Q=N.data||[],ve=E._config,qe=E._showLine=es(ve.showLine,E.chart.options.showLines);for(E._xScale=E.getScaleForId(N.xAxisID),E._yScale=E.getScaleForId(N.yAxisID),qe&&(void 0!==ve.tension&&void 0===ve.lineTension&&(ve.lineTension=ve.tension),$._scale=E._yScale,$._datasetIndex=E.index,$._children=Q,$._model=E._resolveDatasetElementOptions($),$.pivot()),De=0,_t=Q.length;De<_t;++De)E.updateElement(Q[De],De,p);for(qe&&0!==$._model.tension&&E.updateBezierControlPoints(),De=0,_t=Q.length;De<_t;++De)Q[De].pivot()},updateElement:function(p,E,N){var wn,cr,$=this,Q=$.getMeta(),de=p.custom||{},ve=$.getDataset(),qe=$.index,De=ve.data[E],_t=$._xScale,Yt=$._yScale,Zt=Q.dataset._model,sr=$._resolveDataElementOptions(p,E);wn=_t.getPixelForValue("object"==typeof De?De:NaN,E,qe),cr=N?Yt.getBasePixel():$.calculatePointY(De,E,qe),p._xScale=_t,p._yScale=Yt,p._options=sr,p._datasetIndex=qe,p._index=E,p._model={x:wn,y:cr,skip:de.skip||isNaN(wn)||isNaN(cr),radius:sr.radius,pointStyle:sr.pointStyle,rotation:sr.rotation,backgroundColor:sr.backgroundColor,borderColor:sr.borderColor,borderWidth:sr.borderWidth,tension:es(de.tension,Zt?Zt.tension:0),steppedLine:!!Zt&&Zt.steppedLine,hitRadius:sr.hitRadius}},_resolveDatasetElementOptions:function(p){var E=this,N=E._config,$=p.custom||{},Q=E.chart.options,de=Q.elements.line,ve=br.prototype._resolveDatasetElementOptions.apply(E,arguments);return ve.spanGaps=es(N.spanGaps,Q.spanGaps),ve.tension=es(N.lineTension,de.tension),ve.steppedLine=ua([$.steppedLine,N.steppedLine,de.stepped]),ve.clip=Er(es(N.clip,oa(E._xScale,E._yScale,ve.borderWidth))),ve},calculatePointY:function(p,E,N){var De,Yt,Zt,wn,cr,sr,Q=this.chart,de=this._yScale,ve=0,qe=0;if(de.options.stacked){for(wn=+de.getRightValue(p),sr=(cr=Q._getSortedVisibleDatasetMetas()).length,De=0;De<sr&&(Yt=cr[De]).index!==N;++De)"line"===Yt.type&&Yt.yAxisID===de.id&&((Zt=+de.getRightValue(Q.data.datasets[Yt.index].data[E]))<0?qe+=Zt||0:ve+=Zt||0);return de.getPixelForValue(wn<0?qe+wn:ve+wn)}return de.getPixelForValue(p)},updateBezierControlPoints:function(){var ve,qe,De,_t,E=this.chart,N=this.getMeta(),$=N.dataset._model,Q=E.chartArea,de=N.data||[];function Yt(Zt,wn,cr){return Math.max(Math.min(Zt,cr),wn)}if($.spanGaps&&(de=de.filter(function(Zt){return!Zt._model.skip})),"monotone"===$.cubicInterpolationMode)ht.splineCurveMonotone(de);else for(ve=0,qe=de.length;ve<qe;++ve)De=de[ve]._model,_t=ht.splineCurve(ht.previousItem(de,ve)._model,De,ht.nextItem(de,ve)._model,$.tension),De.controlPointPreviousX=_t.previous.x,De.controlPointPreviousY=_t.previous.y,De.controlPointNextX=_t.next.x,De.controlPointNextY=_t.next.y;if(E.options.elements.line.capBezierPoints)for(ve=0,qe=de.length;ve<qe;++ve)ds(De=de[ve]._model,Q)&&(ve>0&&ds(de[ve-1]._model,Q)&&(De.controlPointPreviousX=Yt(De.controlPointPreviousX,Q.left,Q.right),De.controlPointPreviousY=Yt(De.controlPointPreviousY,Q.top,Q.bottom)),ve<de.length-1&&ds(de[ve+1]._model,Q)&&(De.controlPointNextX=Yt(De.controlPointNextX,Q.left,Q.right),De.controlPointNextY=Yt(De.controlPointNextY,Q.top,Q.bottom)))},draw:function(){var De,p=this,E=p.chart,N=p.getMeta(),$=N.data||[],Q=E.chartArea,de=E.canvas,ve=0,qe=$.length;for(p._showLine&&(ht.canvas.clipArea(E.ctx,{left:!1===(De=N.dataset._model.clip).left?0:Q.left-De.left,right:!1===De.right?de.width:Q.right+De.right,top:!1===De.top?0:Q.top-De.top,bottom:!1===De.bottom?de.height:Q.bottom+De.bottom}),N.dataset.draw(),ht.canvas.unclipArea(E.ctx));ve<qe;++ve)$[ve].draw(Q)},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth,radius:E.radius},E.backgroundColor=es(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=es(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=es(N.hoverBorderWidth,N.borderWidth),E.radius=es(N.hoverRadius,N.radius)}}),pn=ht.options.resolve;mn._set("polarArea",{scale:{type:"radialLinear",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(p){var de,ve,qe,E=document.createElement("ul"),N=p.data,$=N.datasets,Q=N.labels;if(E.setAttribute("class",p.id+"-legend"),$.length)for(de=0,ve=$[0].data.length;de<ve;++de)(qe=E.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=$[0].backgroundColor[de],Q[de]&&qe.appendChild(document.createTextNode(Q[de]));return E.outerHTML},legend:{labels:{generateLabels:function(p){var E=p.data;return E.labels.length&&E.datasets.length?E.labels.map(function(N,$){var Q=p.getDatasetMeta(0),de=Q.controller.getStyle($);return{text:N,fillStyle:de.backgroundColor,strokeStyle:de.borderColor,lineWidth:de.borderWidth,hidden:isNaN(E.datasets[0].data[$])||Q.data[$].hidden,index:$}}):[]}},onClick:function(p,E){var Q,de,ve,N=E.index,$=this.chart;for(Q=0,de=($.data.datasets||[]).length;Q<de;++Q)(ve=$.getDatasetMeta(Q)).data[N].hidden=!ve.data[N].hidden;$.update()}},tooltips:{callbacks:{title:function(){return""},label:function(p,E){return E.labels[p.index]+": "+p.yLabel}}}});var ee=br.extend({dataElementType:Vr.Arc,linkScales:ht.noop,_dataElementOptions:["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"],_getIndexScaleId:function(){return this.chart.scale.id},_getValueScaleId:function(){return this.chart.scale.id},update:function(p){var De,_t,Yt,E=this,N=E.getDataset(),$=E.getMeta(),Q=E.chart.options.startAngle||0,de=E._starts=[],ve=E._angles=[],qe=$.data;for(E._updateRadius(),$.count=E.countVisibleElements(),De=0,_t=N.data.length;De<_t;De++)de[De]=Q,Yt=E._computeAngle(De),ve[De]=Yt,Q+=Yt;for(De=0,_t=qe.length;De<_t;++De)qe[De]._options=E._resolveDataElementOptions(qe[De],De),E.updateElement(qe[De],De,p)},_updateRadius:function(){var p=this,E=p.chart,N=E.chartArea,$=E.options,Q=Math.min(N.right-N.left,N.bottom-N.top);E.outerRadius=Math.max(Q/2,0),E.innerRadius=Math.max($.cutoutPercentage?E.outerRadius/100*$.cutoutPercentage:1,0),E.radiusLength=(E.outerRadius-E.innerRadius)/E.getVisibleDatasetCount(),p.outerRadius=E.outerRadius-E.radiusLength*p.index,p.innerRadius=p.outerRadius-E.radiusLength},updateElement:function(p,E,N){var $=this,Q=$.chart,de=$.getDataset(),ve=Q.options,qe=ve.animation,De=Q.scale,_t=Q.data.labels,Yt=De.xCenter,Zt=De.yCenter,wn=ve.startAngle,cr=p.hidden?0:De.getDistanceFromCenterForValue(de.data[E]),sr=$._starts[E],Tr=sr+(p.hidden?0:$._angles[E]),Yr=qe.animateScale?0:De.getDistanceFromCenterForValue(de.data[E]),Pi=p._options||{};ht.extend(p,{_datasetIndex:$.index,_index:E,_scale:De,_model:{backgroundColor:Pi.backgroundColor,borderColor:Pi.borderColor,borderWidth:Pi.borderWidth,borderAlign:Pi.borderAlign,x:Yt,y:Zt,innerRadius:0,outerRadius:N?Yr:cr,startAngle:N&&qe.animateRotate?wn:sr,endAngle:N&&qe.animateRotate?wn:Tr,label:ht.valueAtIndexOrDefault(_t,E,_t[E])}}),p.pivot()},countVisibleElements:function(){var p=this.getDataset(),E=this.getMeta(),N=0;return ht.each(E.data,function($,Q){!isNaN(p.data[Q])&&!$.hidden&&N++}),N},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor,Q=ht.valueOrDefault;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth},E.backgroundColor=Q(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=Q(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=Q(N.hoverBorderWidth,N.borderWidth)},_computeAngle:function(p){var E=this,N=this.getMeta().count,$=E.getDataset(),Q=E.getMeta();return isNaN($.data[p])||Q.data[p].hidden?0:pn([E.chart.options.elements.arc.angle,2*Math.PI/N],{chart:E.chart,dataIndex:p,dataset:$,datasetIndex:E.index},p)}});mn._set("pie",ht.clone(mn.doughnut)),mn._set("pie",{cutoutPercentage:0});var Ve=Bo,fn=ht.valueOrDefault;mn._set("radar",{spanGaps:!1,scale:{type:"radialLinear"},elements:{line:{fill:"start",tension:0}}});var Tn=br.extend({datasetElementType:Vr.Line,dataElementType:Vr.Point,linkScales:ht.noop,_datasetElementOptions:["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill"],_dataElementOptions:{backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},_getIndexScaleId:function(){return this.chart.scale.id},_getValueScaleId:function(){return this.chart.scale.id},update:function(p){var qe,De,E=this,N=E.getMeta(),$=N.dataset,Q=N.data||[],de=E.chart.scale,ve=E._config;for(void 0!==ve.tension&&void 0===ve.lineTension&&(ve.lineTension=ve.tension),$._scale=de,$._datasetIndex=E.index,$._children=Q,$._loop=!0,$._model=E._resolveDatasetElementOptions($),$.pivot(),qe=0,De=Q.length;qe<De;++qe)E.updateElement(Q[qe],qe,p);for(E.updateBezierControlPoints(),qe=0,De=Q.length;qe<De;++qe)Q[qe].pivot()},updateElement:function(p,E,N){var $=this,Q=p.custom||{},de=$.getDataset(),ve=$.chart.scale,qe=ve.getPointPositionForValue(E,de.data[E]),De=$._resolveDataElementOptions(p,E),_t=$.getMeta().dataset._model,Yt=N?ve.xCenter:qe.x,Zt=N?ve.yCenter:qe.y;p._scale=ve,p._options=De,p._datasetIndex=$.index,p._index=E,p._model={x:Yt,y:Zt,skip:Q.skip||isNaN(Yt)||isNaN(Zt),radius:De.radius,pointStyle:De.pointStyle,rotation:De.rotation,backgroundColor:De.backgroundColor,borderColor:De.borderColor,borderWidth:De.borderWidth,tension:fn(Q.tension,_t?_t.tension:0),hitRadius:De.hitRadius}},_resolveDatasetElementOptions:function(){var p=this,E=p._config,N=p.chart.options,$=br.prototype._resolveDatasetElementOptions.apply(p,arguments);return $.spanGaps=fn(E.spanGaps,N.spanGaps),$.tension=fn(E.lineTension,N.elements.line.tension),$},updateBezierControlPoints:function(){var Q,de,ve,qe,E=this.getMeta(),N=this.chart.chartArea,$=E.data||[];function De(_t,Yt,Zt){return Math.max(Math.min(_t,Zt),Yt)}for(E.dataset._model.spanGaps&&($=$.filter(function(_t){return!_t._model.skip})),Q=0,de=$.length;Q<de;++Q)ve=$[Q]._model,qe=ht.splineCurve(ht.previousItem($,Q,!0)._model,ve,ht.nextItem($,Q,!0)._model,ve.tension),ve.controlPointPreviousX=De(qe.previous.x,N.left,N.right),ve.controlPointPreviousY=De(qe.previous.y,N.top,N.bottom),ve.controlPointNextX=De(qe.next.x,N.left,N.right),ve.controlPointNextY=De(qe.next.y,N.top,N.bottom)},setHoverStyle:function(p){var E=p._model,N=p._options,$=ht.getHoverColor;p.$previousStyle={backgroundColor:E.backgroundColor,borderColor:E.borderColor,borderWidth:E.borderWidth,radius:E.radius},E.backgroundColor=fn(N.hoverBackgroundColor,$(N.backgroundColor)),E.borderColor=fn(N.hoverBorderColor,$(N.borderColor)),E.borderWidth=fn(N.hoverBorderWidth,N.borderWidth),E.radius=fn(N.hoverRadius,N.radius)}});mn._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},tooltips:{callbacks:{title:function(){return""},label:function(p){return"("+p.xLabel+", "+p.yLabel+")"}}}}),mn._set("global",{datasets:{scatter:{showLine:!1}}});var ni={bar:Fi,bubble:qi,doughnut:Bo,horizontalBar:Jo,line:st,polarArea:ee,pie:Ve,radar:Tn,scatter:st};function Ri(p,E){return p.native?{x:p.x,y:p.y}:ht.getRelativePosition(p,E)}function Do(p,E){var $,Q,de,ve,qe,De,N=p._getSortedVisibleDatasetMetas();for(Q=0,ve=N.length;Q<ve;++Q)for(de=0,qe=($=N[Q].data).length;de<qe;++de)(De=$[de])._view.skip||E(De)}function gi(p,E){var N=[];return Do(p,function($){$.inRange(E.x,E.y)&&N.push($)}),N}function Hi(p,E,N,$){var Q=Number.POSITIVE_INFINITY,de=[];return Do(p,function(ve){if(!N||ve.inRange(E.x,E.y)){var qe=ve.getCenterPoint(),De=$(E,qe);De<Q?(de=[ve],Q=De):De===Q&&de.push(ve)}}),de}function Li(p){var E=-1!==p.indexOf("x"),N=-1!==p.indexOf("y");return function($,Q){var de=E?Math.abs($.x-Q.x):0,ve=N?Math.abs($.y-Q.y):0;return Math.sqrt(Math.pow(de,2)+Math.pow(ve,2))}}function cs(p,E,N){var $=Ri(E,p);N.axis=N.axis||"x";var Q=Li(N.axis),de=N.intersect?gi(p,$):Hi(p,$,!1,Q),ve=[];return de.length?(p._getSortedVisibleDatasetMetas().forEach(function(qe){var De=qe.data[de[0]._index];De&&!De._view.skip&&ve.push(De)}),ve):[]}var Os={modes:{single:function(p,E){var N=Ri(E,p),$=[];return Do(p,function(Q){if(Q.inRange(N.x,N.y))return $.push(Q),$}),$.slice(0,1)},label:cs,index:cs,dataset:function(p,E,N){var $=Ri(E,p);N.axis=N.axis||"xy";var Q=Li(N.axis),de=N.intersect?gi(p,$):Hi(p,$,!1,Q);return de.length>0&&(de=p.getDatasetMeta(de[0]._datasetIndex).data),de},"x-axis":function(p,E){return cs(p,E,{intersect:!1})},point:function(p,E){return gi(p,Ri(E,p))},nearest:function(p,E,N){var $=Ri(E,p);N.axis=N.axis||"xy";var Q=Li(N.axis);return Hi(p,$,N.intersect,Q)},x:function(p,E,N){var $=Ri(E,p),Q=[],de=!1;return Do(p,function(ve){ve.inXRange($.x)&&Q.push(ve),ve.inRange($.x,$.y)&&(de=!0)}),N.intersect&&!de&&(Q=[]),Q},y:function(p,E,N){var $=Ri(E,p),Q=[],de=!1;return Do(p,function(ve){ve.inYRange($.y)&&Q.push(ve),ve.inRange($.x,$.y)&&(de=!0)}),N.intersect&&!de&&(Q=[]),Q}}},da=ht.extend;function xa(p,E){return ht.where(p,function(N){return N.pos===E})}function Ra(p,E){return p.sort(function(N,$){var Q=E?$:N,de=E?N:$;return Q.weight===de.weight?Q.index-de.index:Q.weight-de.weight})}function sa(p,E,N,$){return Math.max(p[N],E[N])+Math.max(p[$],E[$])}function Fo(p,E,N){var de,ve,$=N.box,Q=p.maxPadding;if(N.size&&(p[N.pos]-=N.size),N.size=N.horizontal?$.height:$.width,p[N.pos]+=N.size,$.getPadding){var qe=$.getPadding();Q.top=Math.max(Q.top,qe.top),Q.left=Math.max(Q.left,qe.left),Q.bottom=Math.max(Q.bottom,qe.bottom),Q.right=Math.max(Q.right,qe.right)}if(de=E.outerWidth-sa(Q,p,"left","right"),ve=E.outerHeight-sa(Q,p,"top","bottom"),de!==p.w||ve!==p.h){p.w=de,p.h=ve;var De=N.horizontal?[de,p.w]:[ve,p.h];return!(De[0]===De[1]||isNaN(De[0])&&isNaN(De[1]))}}function Sa(p,E){var de,N=E.maxPadding;return de={left:0,top:0,right:0,bottom:0},(p?["left","right"]:["top","bottom"]).forEach(function(ve){de[ve]=Math.max(E[ve],N[ve])}),de}function fa(p,E,N){var Q,de,ve,qe,De,_t,$=[];for(Q=0,de=p.length;Q<de;++Q)(qe=(ve=p[Q]).box).update(ve.width||E.w,ve.height||E.h,Sa(ve.horizontal,E)),Fo(E,N,ve)&&(_t=!0,$.length&&(De=!0)),qe.fullWidth||$.push(ve);return De&&fa($,E,N)||_t}function ks(p,E,N){var ve,qe,De,_t,$=N.padding,Q=E.x,de=E.y;for(ve=0,qe=p.length;ve<qe;++ve)_t=(De=p[ve]).box,De.horizontal?(_t.left=_t.fullWidth?$.left:E.left,_t.right=_t.fullWidth?N.outerWidth-$.right:E.left+E.w,_t.top=de,_t.bottom=de+_t.height,_t.width=_t.right-_t.left,de=_t.bottom):(_t.left=Q,_t.right=Q+_t.width,_t.top=E.top,_t.bottom=E.top+E.h,_t.height=_t.bottom-_t.top,Q=_t.right);E.x=Q,E.y=de}mn._set("global",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var Ua={defaults:{},addBox:function(p,E){p.boxes||(p.boxes=[]),E.fullWidth=E.fullWidth||!1,E.position=E.position||"top",E.weight=E.weight||0,E._layers=E._layers||function(){return[{z:0,draw:function(){E.draw.apply(E,arguments)}}]},p.boxes.push(E)},removeBox:function(p,E){var N=p.boxes?p.boxes.indexOf(E):-1;-1!==N&&p.boxes.splice(N,1)},configure:function(p,E,N){for(var ve,$=["fullWidth","position","weight"],Q=$.length,de=0;de<Q;++de)N.hasOwnProperty(ve=$[de])&&(E[ve]=N[ve])},update:function(p,E,N){if(p){var Q=ht.options.toPadding((p.options.layout||{}).padding),de=E-Q.width,ve=N-Q.height,qe=function(p){var E=function(p){var N,$,Q,E=[];for(N=0,$=(p||[]).length;N<$;++N)E.push({index:N,box:Q=p[N],pos:Q.position,horizontal:Q.isHorizontal(),weight:Q.weight});return E}(p),N=Ra(xa(E,"left"),!0),$=Ra(xa(E,"right")),Q=Ra(xa(E,"top"),!0),de=Ra(xa(E,"bottom"));return{leftAndTop:N.concat(Q),rightAndBottom:$.concat(de),chartArea:xa(E,"chartArea"),vertical:N.concat($),horizontal:Q.concat(de)}}(p.boxes),De=qe.vertical,_t=qe.horizontal,Yt=Object.freeze({outerWidth:E,outerHeight:N,padding:Q,availableWidth:de,vBoxMaxWidth:de/2/De.length,hBoxMaxHeight:ve/2}),Zt=da({maxPadding:da({},Q),w:de,h:ve,x:Q.left,y:Q.top},Q);(function(p,E){var N,$,Q;for(N=0,$=p.length;N<$;++N)(Q=p[N]).width=Q.horizontal?Q.box.fullWidth&&E.availableWidth:E.vBoxMaxWidth,Q.height=Q.horizontal&&E.hBoxMaxHeight})(De.concat(_t),Yt),fa(De,Zt,Yt),fa(_t,Zt,Yt)&&fa(De,Zt,Yt),function(p){var E=p.maxPadding;function N($){var Q=Math.max(E[$]-p[$],0);return p[$]+=Q,Q}p.y+=N("top"),p.x+=N("left"),N("right"),N("bottom")}(Zt),ks(qe.leftAndTop,Zt,Yt),Zt.x+=Zt.w,Zt.y+=Zt.h,ks(qe.rightAndBottom,Zt,Yt),p.chartArea={left:Zt.left,top:Zt.top,right:Zt.left+Zt.w,bottom:Zt.top+Zt.h},ht.each(qe.chartArea,function(wn){var cr=wn.box;da(cr,p.chartArea),cr.update(Zt.w,Zt.h)})}}},Ce=function(p){return p&&p.default||p}(Object.freeze({__proto__:null,default:"/*\r\n * DOM element rendering detection\r\n * https://davidwalsh.name/detect-node-insertion\r\n */\r\n@keyframes chartjs-render-animation {\r\n\tfrom { opacity: 0.99; }\r\n\tto { opacity: 1; }\r\n}\r\n\r\n.chartjs-render-monitor {\r\n\tanimation: chartjs-render-animation 0.001s;\r\n}\r\n\r\n/*\r\n * DOM element resizing detection\r\n * https://github.com/marcj/css-element-queries\r\n */\r\n.chartjs-size-monitor,\r\n.chartjs-size-monitor-expand,\r\n.chartjs-size-monitor-shrink {\r\n\tposition: absolute;\r\n\tdirection: ltr;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\toverflow: hidden;\r\n\tpointer-events: none;\r\n\tvisibility: hidden;\r\n\tz-index: -1;\r\n}\r\n\r\n.chartjs-size-monitor-expand > div {\r\n\tposition: absolute;\r\n\twidth: 1000000px;\r\n\theight: 1000000px;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n\r\n.chartjs-size-monitor-shrink > div {\r\n\tposition: absolute;\r\n\twidth: 200%;\r\n\theight: 200%;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n"})),ye="$chartjs",Ne="chartjs-",Wt=Ne+"size-monitor",Or=Ne+"render-monitor",Yo=["animationstart","webkitAnimationStart"],ms={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function ss(p,E){var N=ht.getStyle(p,E),$=N&&N.match(/^(\d+)(\.\d+)?px$/);return $?Number($[1]):void 0}var Ea=!!function(){var p=!1;try{var E=Object.defineProperty({},"passive",{get:function(){p=!0}});window.addEventListener("e",null,E)}catch(N){}return p}()&&{passive:!0};function ul(p,E,N){p.addEventListener(E,N,Ea)}function Ma(p,E,N){p.removeEventListener(E,N,Ea)}function va(p,E,N,$,Q){return{type:p,chart:E,native:Q||null,x:void 0!==N?N:null,y:void 0!==$?$:null}}function Ol(p){var E=document.createElement("div");return E.className=p||"",E}function Il(p,E,N){var $=p[ye]||(p[ye]={}),Q=$.resizer=function(p){var E=1e6,N=Ol(Wt),$=Ol(Wt+"-expand"),Q=Ol(Wt+"-shrink");$.appendChild(Ol()),Q.appendChild(Ol()),N.appendChild($),N.appendChild(Q),N._reset=function(){$.scrollLeft=E,$.scrollTop=E,Q.scrollLeft=E,Q.scrollTop=E};var de=function(){N._reset(),p()};return ul($,"scroll",de.bind($,"expand")),ul(Q,"scroll",de.bind(Q,"shrink")),N}(function(p,E){var N=!1,$=[];return function(){$=Array.prototype.slice.call(arguments),E=E||this,N||(N=!0,ht.requestAnimFrame.call(window,function(){N=!1,p.apply(E,$)}))}}(function(){if($.resizer){var de=N.options.maintainAspectRatio&&p.parentNode,ve=de?de.clientWidth:0;E(va("resize",N)),de&&de.clientWidth<ve&&N.canvas&&E(va("resize",N))}}));!function(p,E){var N=p[ye]||(p[ye]={}),$=N.renderProxy=function(Q){"chartjs-render-animation"===Q.animationName&&E()};ht.each(Yo,function(Q){ul(p,Q,$)}),N.reflow=!!p.offsetParent,p.classList.add(Or)}(p,function(){if($.resizer){var de=p.parentNode;de&&de!==Q.parentNode&&de.insertBefore(Q,de.firstChild),Q._reset()}})}function Bl(p){var E=p[ye]||{},N=E.resizer;delete E.resizer,function(p){var E=p[ye]||{},N=E.renderProxy;N&&(ht.each(Yo,function($){Ma(p,$,N)}),delete E.renderProxy),p.classList.remove(Or)}(p),N&&N.parentNode&&N.parentNode.removeChild(N)}var Di={disableCSSInjection:!1,_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,_ensureLoaded:function(p){if(!this.disableCSSInjection){var E=p.getRootNode?p.getRootNode():document;!function(p,E){var N=p[ye]||(p[ye]={});if(!N.containsStyles){N.containsStyles=!0,E="/* Chart.js */\n"+E;var $=document.createElement("style");$.setAttribute("type","text/css"),$.appendChild(document.createTextNode(E)),p.appendChild($)}}(E.host?E:document.head,Ce)}},acquireContext:function(p,E){"string"==typeof p?p=document.getElementById(p):p.length&&(p=p[0]),p&&p.canvas&&(p=p.canvas);var N=p&&p.getContext&&p.getContext("2d");return N&&N.canvas===p?(this._ensureLoaded(p),function(p,E){var N=p.style,$=p.getAttribute("height"),Q=p.getAttribute("width");if(p[ye]={initial:{height:$,width:Q,style:{display:N.display,height:N.height,width:N.width}}},N.display=N.display||"block",null===Q||""===Q){var de=ss(p,"width");void 0!==de&&(p.width=de)}if(null===$||""===$)if(""===p.style.height)p.height=p.width/(E.options.aspectRatio||2);else{var ve=ss(p,"height");void 0!==de&&(p.height=ve)}}(p,E),N):null},releaseContext:function(p){var E=p.canvas;if(E[ye]){var N=E[ye].initial;["height","width"].forEach(function($){var Q=N[$];ht.isNullOrUndef(Q)?E.removeAttribute($):E.setAttribute($,Q)}),ht.each(N.style||{},function($,Q){E.style[Q]=$}),E.width=E.width,delete E[ye]}},addEventListener:function(p,E,N){var $=p.canvas;if("resize"!==E){var Q=N[ye]||(N[ye]={});ul($,E,(Q.proxies||(Q.proxies={}))[p.id+"_"+E]=function(qe){N(function(p,E){var N=ms[p.type]||p.type,$=ht.getRelativePosition(p,E);return va(N,E,$.x,$.y,p)}(qe,p))})}else Il($,N,p)},removeEventListener:function(p,E,N){var $=p.canvas;if("resize"!==E){var ve=((N[ye]||{}).proxies||{})[p.id+"_"+E];!ve||Ma($,E,ve)}else Bl($)}};ht.addEvent=ul,ht.removeEvent=Ma;var pa=ht.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},Di._enabled?Di:{acquireContext:function(p){return p&&p.canvas&&(p=p.canvas),p&&p.getContext("2d")||null}});mn._set("global",{plugins:{}});var Vo={_plugins:[],_cacheId:0,register:function(p){var E=this._plugins;[].concat(p).forEach(function(N){-1===E.indexOf(N)&&E.push(N)}),this._cacheId++},unregister:function(p){var E=this._plugins;[].concat(p).forEach(function(N){var $=E.indexOf(N);-1!==$&&E.splice($,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(p,E,N){var de,ve,qe,De,_t,$=this.descriptors(p),Q=$.length;for(de=0;de<Q;++de)if("function"==typeof(_t=(qe=(ve=$[de]).plugin)[E])&&((De=[p].concat(N||[])).push(ve.options),!1===_t.apply(qe,De)))return!1;return!0},descriptors:function(p){var E=p.$plugins||(p.$plugins={});if(E.id===this._cacheId)return E.descriptors;var N=[],$=[],Q=p&&p.config||{},de=Q.options&&Q.options.plugins||{};return this._plugins.concat(Q.plugins||[]).forEach(function(ve){if(-1===N.indexOf(ve)){var De=ve.id,_t=de[De];!1!==_t&&(!0===_t&&(_t=ht.clone(mn.global.plugins[De])),N.push(ve),$.push({plugin:ve,options:_t||{}}))}}),E.descriptors=$,E.id=this._cacheId,$},_invalidate:function(p){delete p.$plugins}},ja={constructors:{},defaults:{},registerScaleType:function(p,E,N){this.constructors[p]=E,this.defaults[p]=ht.clone(N)},getScaleConstructor:function(p){return this.constructors.hasOwnProperty(p)?this.constructors[p]:void 0},getScaleDefaults:function(p){return this.defaults.hasOwnProperty(p)?ht.merge(Object.create(null),[mn.scale,this.defaults[p]]):{}},updateScaleDefaults:function(p,E){var N=this;N.defaults.hasOwnProperty(p)&&(N.defaults[p]=ht.extend(N.defaults[p],E))},addScalesToLayout:function(p){ht.each(p.scales,function(E){E.fullWidth=E.options.fullWidth,E.position=E.options.position,E.weight=E.options.weight,Ua.addBox(p,E)})}},hs=ht.valueOrDefault,ze=ht.rtl.getRtlAdapter;mn._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:ht.noop,title:function(p,E){var N="",$=E.labels,Q=$?$.length:0;if(p.length>0){var de=p[0];de.label?N=de.label:de.xLabel?N=de.xLabel:Q>0&&de.index<Q&&(N=$[de.index])}return N},afterTitle:ht.noop,beforeBody:ht.noop,beforeLabel:ht.noop,label:function(p,E){var N=E.datasets[p.datasetIndex].label||"";return N&&(N+=": "),ht.isNullOrUndef(p.value)?N+=p.yLabel:N+=p.value,N},labelColor:function(p,E){var Q=E.getDatasetMeta(p.datasetIndex).data[p.index]._view;return{borderColor:Q.borderColor,backgroundColor:Q.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:ht.noop,afterBody:ht.noop,beforeFooter:ht.noop,footer:ht.noop,afterFooter:ht.noop}}});var wt={average:function(p){if(!p.length)return!1;var E,N,$=0,Q=0,de=0;for(E=0,N=p.length;E<N;++E){var ve=p[E];if(ve&&ve.hasValue()){var qe=ve.tooltipPosition();$+=qe.x,Q+=qe.y,++de}}return{x:$/de,y:Q/de}},nearest:function(p,E){var de,ve,qe,N=E.x,$=E.y,Q=Number.POSITIVE_INFINITY;for(de=0,ve=p.length;de<ve;++de){var De=p[de];if(De&&De.hasValue()){var _t=De.getCenterPoint(),Yt=ht.distanceBetweenPoints(E,_t);Yt<Q&&(Q=Yt,qe=De)}}if(qe){var Zt=qe.tooltipPosition();N=Zt.x,$=Zt.y}return{x:N,y:$}}};function kt(p,E){return E&&(ht.isArray(E)?Array.prototype.push.apply(p,E):p.push(E)),p}function tn(p){return("string"==typeof p||p instanceof String)&&p.indexOf("\n")>-1?p.split("\n"):p}function ur(p){var E=p._xScale,N=p._yScale||p._scale,$=p._index,Q=p._datasetIndex,de=p._chart.getDatasetMeta(Q).controller,ve=de._getIndexScale(),qe=de._getValueScale();return{xLabel:E?E.getLabelForIndex($,Q):"",yLabel:N?N.getLabelForIndex($,Q):"",label:ve?""+ve.getLabelForIndex($,Q):"",value:qe?""+qe.getLabelForIndex($,Q):"",index:$,datasetIndex:Q,x:p._model.x,y:p._model.y}}function gn(p){var E=mn.global;return{xPadding:p.xPadding,yPadding:p.yPadding,xAlign:p.xAlign,yAlign:p.yAlign,rtl:p.rtl,textDirection:p.textDirection,bodyFontColor:p.bodyFontColor,_bodyFontFamily:hs(p.bodyFontFamily,E.defaultFontFamily),_bodyFontStyle:hs(p.bodyFontStyle,E.defaultFontStyle),_bodyAlign:p.bodyAlign,bodyFontSize:hs(p.bodyFontSize,E.defaultFontSize),bodySpacing:p.bodySpacing,titleFontColor:p.titleFontColor,_titleFontFamily:hs(p.titleFontFamily,E.defaultFontFamily),_titleFontStyle:hs(p.titleFontStyle,E.defaultFontStyle),titleFontSize:hs(p.titleFontSize,E.defaultFontSize),_titleAlign:p.titleAlign,titleSpacing:p.titleSpacing,titleMarginBottom:p.titleMarginBottom,footerFontColor:p.footerFontColor,_footerFontFamily:hs(p.footerFontFamily,E.defaultFontFamily),_footerFontStyle:hs(p.footerFontStyle,E.defaultFontStyle),footerFontSize:hs(p.footerFontSize,E.defaultFontSize),_footerAlign:p.footerAlign,footerSpacing:p.footerSpacing,footerMarginTop:p.footerMarginTop,caretSize:p.caretSize,cornerRadius:p.cornerRadius,backgroundColor:p.backgroundColor,opacity:0,legendColorBackground:p.multiKeyBackground,displayColors:p.displayColors,borderColor:p.borderColor,borderWidth:p.borderWidth}}function mi(p,E){return"center"===E?p.x+p.width/2:"right"===E?p.x+p.width-p.xPadding:p.x+p.xPadding}function ii(p){return kt([],tn(p))}var Ui=ot.extend({initialize:function(){this._model=gn(this._options),this._lastActive=[]},getTitle:function(){var p=this,N=p._options.callbacks,$=N.beforeTitle.apply(p,arguments),Q=N.title.apply(p,arguments),de=N.afterTitle.apply(p,arguments),ve=[];return ve=kt(ve,tn($)),ve=kt(ve,tn(Q)),kt(ve,tn(de))},getBeforeBody:function(){return ii(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(p,E){var N=this,$=N._options.callbacks,Q=[];return ht.each(p,function(de){var ve={before:[],lines:[],after:[]};kt(ve.before,tn($.beforeLabel.call(N,de,E))),kt(ve.lines,$.label.call(N,de,E)),kt(ve.after,tn($.afterLabel.call(N,de,E))),Q.push(ve)}),Q},getAfterBody:function(){return ii(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var p=this,E=p._options.callbacks,N=E.beforeFooter.apply(p,arguments),$=E.footer.apply(p,arguments),Q=E.afterFooter.apply(p,arguments),de=[];return de=kt(de,tn(N)),de=kt(de,tn($)),kt(de,tn(Q))},update:function(p){var Zt,wn,E=this,N=E._options,$=E._model,Q=E._model=gn(N),de=E._active,ve=E._data,qe={xAlign:$.xAlign,yAlign:$.yAlign},De={x:$.x,y:$.y},_t={width:$.width,height:$.height},Yt={x:$.caretX,y:$.caretY};if(de.length){Q.opacity=1;var cr=[],sr=[];Yt=wt[N.position].call(E,de,E._eventPosition);var Tr=[];for(Zt=0,wn=de.length;Zt<wn;++Zt)Tr.push(ur(de[Zt]));N.filter&&(Tr=Tr.filter(function(Yr){return N.filter(Yr,ve)})),N.itemSort&&(Tr=Tr.sort(function(Yr,Pi){return N.itemSort(Yr,Pi,ve)})),ht.each(Tr,function(Yr){cr.push(N.callbacks.labelColor.call(E,Yr,E._chart)),sr.push(N.callbacks.labelTextColor.call(E,Yr,E._chart))}),Q.title=E.getTitle(Tr,ve),Q.beforeBody=E.getBeforeBody(Tr,ve),Q.body=E.getBody(Tr,ve),Q.afterBody=E.getAfterBody(Tr,ve),Q.footer=E.getFooter(Tr,ve),Q.x=Yt.x,Q.y=Yt.y,Q.caretPadding=N.caretPadding,Q.labelColors=cr,Q.labelTextColors=sr,Q.dataPoints=Tr,De=function(p,E,N,$){var Q=p.x,de=p.y,qe=p.caretPadding,_t=N.xAlign,Yt=N.yAlign,Zt=p.caretSize+qe,wn=p.cornerRadius+qe;return"right"===_t?Q-=E.width:"center"===_t&&((Q-=E.width/2)+E.width>$.width&&(Q=$.width-E.width),Q<0&&(Q=0)),"top"===Yt?de+=Zt:de-="bottom"===Yt?E.height+Zt:E.height/2,"center"===Yt?"left"===_t?Q+=Zt:"right"===_t&&(Q-=Zt):"left"===_t?Q-=wn:"right"===_t&&(Q+=wn),{x:Q,y:de}}(Q,_t=function(p,E){var N=p._chart.ctx,$=2*E.yPadding,Q=0,de=E.body,ve=de.reduce(function(sr,Tr){return sr+Tr.before.length+Tr.lines.length+Tr.after.length},0),qe=E.title.length,De=E.footer.length,_t=E.titleFontSize,Yt=E.bodyFontSize,Zt=E.footerFontSize;$+=qe*_t,$+=qe?(qe-1)*E.titleSpacing:0,$+=qe?E.titleMarginBottom:0,$+=(ve+=E.beforeBody.length+E.afterBody.length)*Yt,$+=ve?(ve-1)*E.bodySpacing:0,$+=De?E.footerMarginTop:0,$+=De*Zt,$+=De?(De-1)*E.footerSpacing:0;var wn=0,cr=function(sr){Q=Math.max(Q,N.measureText(sr).width+wn)};return N.font=ht.fontString(_t,E._titleFontStyle,E._titleFontFamily),ht.each(E.title,cr),N.font=ht.fontString(Yt,E._bodyFontStyle,E._bodyFontFamily),ht.each(E.beforeBody.concat(E.afterBody),cr),wn=E.displayColors?Yt+2:0,ht.each(de,function(sr){ht.each(sr.before,cr),ht.each(sr.lines,cr),ht.each(sr.after,cr)}),wn=0,N.font=ht.fontString(Zt,E._footerFontStyle,E._footerFontFamily),ht.each(E.footer,cr),{width:Q+=2*E.xPadding,height:$}}(this,Q),qe=function(p,E){var N=p._model,$=p._chart,Q=p._chart.chartArea,de="center",ve="center";N.y<E.height?ve="top":N.y>$.height-E.height&&(ve="bottom");var qe,De,_t,Yt,Zt,wn=(Q.left+Q.right)/2,cr=(Q.top+Q.bottom)/2;"center"===ve?(qe=function(Tr){return Tr<=wn},De=function(Tr){return Tr>wn}):(qe=function(Tr){return Tr<=E.width/2},De=function(Tr){return Tr>=$.width-E.width/2}),_t=function(Tr){return Tr+E.width+N.caretSize+N.caretPadding>$.width},Yt=function(Tr){return Tr-E.width-N.caretSize-N.caretPadding<0},Zt=function(Tr){return Tr<=cr?"top":"bottom"},qe(N.x)?(de="left",_t(N.x)&&(de="center",ve=Zt(N.y))):De(N.x)&&(de="right",Yt(N.x)&&(de="center",ve=Zt(N.y)));var sr=p._options;return{xAlign:sr.xAlign?sr.xAlign:de,yAlign:sr.yAlign?sr.yAlign:ve}}(this,_t),E._chart)}else Q.opacity=0;return Q.xAlign=qe.xAlign,Q.yAlign=qe.yAlign,Q.x=De.x,Q.y=De.y,Q.width=_t.width,Q.height=_t.height,Q.caretX=Yt.x,Q.caretY=Yt.y,E._model=Q,p&&N.custom&&N.custom.call(E,Q),E},drawCaret:function(p,E){var N=this._chart.ctx,Q=this.getCaretPosition(p,E,this._view);N.lineTo(Q.x1,Q.y1),N.lineTo(Q.x2,Q.y2),N.lineTo(Q.x3,Q.y3)},getCaretPosition:function(p,E,N){var $,Q,de,ve,qe,De,_t=N.caretSize,Yt=N.cornerRadius,Zt=N.xAlign,wn=N.yAlign,cr=p.x,sr=p.y,Tr=E.width,Yr=E.height;if("center"===wn)qe=sr+Yr/2,"left"===Zt?(Q=($=cr)-_t,de=$,ve=qe+_t,De=qe-_t):(Q=($=cr+Tr)+_t,de=$,ve=qe-_t,De=qe+_t);else if("left"===Zt?($=(Q=cr+Yt+_t)-_t,de=Q+_t):"right"===Zt?($=(Q=cr+Tr-Yt-_t)-_t,de=Q+_t):($=(Q=N.caretX)-_t,de=Q+_t),"top"===wn)qe=(ve=sr)-_t,De=ve;else{qe=(ve=sr+Yr)+_t,De=ve;var Pi=de;de=$,$=Pi}return{x1:$,x2:Q,x3:de,y1:ve,y2:qe,y3:De}},drawTitle:function(p,E,N){var de,ve,qe,$=E.title,Q=$.length;if(Q){var De=ze(E.rtl,E.x,E.width);for(p.x=mi(E,E._titleAlign),N.textAlign=De.textAlign(E._titleAlign),N.textBaseline="middle",de=E.titleFontSize,ve=E.titleSpacing,N.fillStyle=E.titleFontColor,N.font=ht.fontString(de,E._titleFontStyle,E._titleFontFamily),qe=0;qe<Q;++qe)N.fillText($[qe],De.x(p.x),p.y+de/2),p.y+=de+ve,qe+1===Q&&(p.y+=E.titleMarginBottom-ve)}},drawBody:function(p,E,N){var wn,cr,sr,Tr,Yr,Pi,yo,Co,$=E.bodyFontSize,Q=E.bodySpacing,de=E._bodyAlign,ve=E.body,qe=E.displayColors,De=0,_t=qe?mi(E,"left"):0,Yt=ze(E.rtl,E.x,E.width),Zt=function(_s){N.fillText(_s,Yt.x(p.x+De),p.y+$/2),p.y+=$+Q},Xo=Yt.textAlign(de);for(N.textAlign=de,N.textBaseline="middle",N.font=ht.fontString($,E._bodyFontStyle,E._bodyFontFamily),p.x=mi(E,Xo),N.fillStyle=E.bodyFontColor,ht.each(E.beforeBody,Zt),De=qe&&"right"!==Xo?"center"===de?$/2+1:$+2:0,Yr=0,yo=ve.length;Yr<yo;++Yr){for(wn=ve[Yr],sr=E.labelColors[Yr],N.fillStyle=cr=E.labelTextColors[Yr],ht.each(wn.before,Zt),Pi=0,Co=(Tr=wn.lines).length;Pi<Co;++Pi){if(qe){var ts=Yt.x(_t);N.fillStyle=E.legendColorBackground,N.fillRect(Yt.leftForLtr(ts,$),p.y,$,$),N.lineWidth=1,N.strokeStyle=sr.borderColor,N.strokeRect(Yt.leftForLtr(ts,$),p.y,$,$),N.fillStyle=sr.backgroundColor,N.fillRect(Yt.leftForLtr(Yt.xPlus(ts,1),$-2),p.y+1,$-2,$-2),N.fillStyle=cr}Zt(Tr[Pi])}ht.each(wn.after,Zt)}De=0,ht.each(E.afterBody,Zt),p.y-=Q},drawFooter:function(p,E,N){var de,ve,$=E.footer,Q=$.length;if(Q){var qe=ze(E.rtl,E.x,E.width);for(p.x=mi(E,E._footerAlign),p.y+=E.footerMarginTop,N.textAlign=qe.textAlign(E._footerAlign),N.textBaseline="middle",de=E.footerFontSize,N.fillStyle=E.footerFontColor,N.font=ht.fontString(de,E._footerFontStyle,E._footerFontFamily),ve=0;ve<Q;++ve)N.fillText($[ve],qe.x(p.x),p.y+de/2),p.y+=de+E.footerSpacing}},drawBackground:function(p,E,N,$){N.fillStyle=E.backgroundColor,N.strokeStyle=E.borderColor,N.lineWidth=E.borderWidth;var Q=E.xAlign,de=E.yAlign,ve=p.x,qe=p.y,De=$.width,_t=$.height,Yt=E.cornerRadius;N.beginPath(),N.moveTo(ve+Yt,qe),"top"===de&&this.drawCaret(p,$),N.lineTo(ve+De-Yt,qe),N.quadraticCurveTo(ve+De,qe,ve+De,qe+Yt),"center"===de&&"right"===Q&&this.drawCaret(p,$),N.lineTo(ve+De,qe+_t-Yt),N.quadraticCurveTo(ve+De,qe+_t,ve+De-Yt,qe+_t),"bottom"===de&&this.drawCaret(p,$),N.lineTo(ve+Yt,qe+_t),N.quadraticCurveTo(ve,qe+_t,ve,qe+_t-Yt),"center"===de&&"left"===Q&&this.drawCaret(p,$),N.lineTo(ve,qe+Yt),N.quadraticCurveTo(ve,qe,ve+Yt,qe),N.closePath(),N.fill(),E.borderWidth>0&&N.stroke()},draw:function(){var p=this._chart.ctx,E=this._view;if(0!==E.opacity){var N={width:E.width,height:E.height},$={x:E.x,y:E.y},Q=Math.abs(E.opacity<.001)?0:E.opacity;this._options.enabled&&(E.title.length||E.beforeBody.length||E.body.length||E.afterBody.length||E.footer.length)&&(p.save(),p.globalAlpha=Q,this.drawBackground($,E,p,N),$.y+=E.yPadding,ht.rtl.overrideTextDirection(p,E.textDirection),this.drawTitle($,E,p),this.drawBody($,E,p),this.drawFooter($,E,p),ht.rtl.restoreTextDirection(p,E.textDirection),p.restore())}},handleEvent:function(p){var $,E=this,N=E._options;return E._lastActive=E._lastActive||[],"mouseout"===p.type?E._active=[]:(E._active=E._chart.getElementsAtEventForMode(p,N.mode,N),N.reverse&&E._active.reverse()),($=!ht.arrayEquals(E._active,E._lastActive))&&(E._lastActive=E._active,(N.enabled||N.custom)&&(E._eventPosition={x:p.x,y:p.y},E.update(!0),E.pivot())),$}});Ui.positioners=wt;var io=ht.valueOrDefault;function vo(){return ht.merge(Object.create(null),[].slice.call(arguments),{merger:function(p,E,N,$){if("xAxes"===p||"yAxes"===p){var de,ve,qe,Q=N[p].length;for(E[p]||(E[p]=[]),de=0;de<Q;++de)ve=io((qe=N[p][de]).type,"xAxes"===p?"category":"linear"),de>=E[p].length&&E[p].push({}),ht.merge(E[p][de],!E[p][de].type||qe.type&&qe.type!==E[p][de].type?[ja.getScaleDefaults(ve),qe]:qe)}else ht._merger(p,E,N,$)}})}function Bi(){return ht.merge(Object.create(null),[].slice.call(arguments),{merger:function(p,E,N,$){var Q=E[p]||Object.create(null),de=N[p];"scales"===p?E[p]=vo(Q,de):"scale"===p?E[p]=ht.merge(Q,[ja.getScaleDefaults(de.type),de]):ht._merger(p,E,N,$)}})}function Br(p){var E=p.options;ht.each(p.scales,function(N){Ua.removeBox(p,N)}),E=Bi(mn.global,mn[p.config.type],E),p.options=p.config.options=E,p.ensureScalesHaveIDs(),p.buildOrUpdateScales(),p.tooltip._options=E.tooltips,p.tooltip.initialize()}function G(p,E,N){var $,Q=function(de){return de.id===$};do{$=E+N++}while(ht.findIndex(p,Q)>=0);return $}function Se(p){return"top"===p||"bottom"===p}function ft(p,E){return function(N,$){return N[p]===$[p]?N[E]-$[E]:N[p]-$[p]}}mn._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Ft=function(p,E){return this.construct(p,E),this};ht.extend(Ft.prototype,{construct:function(p,E){var N=this;E=function(p){var E=(p=p||Object.create(null)).data=p.data||{};return E.datasets=E.datasets||[],E.labels=E.labels||[],p.options=Bi(mn.global,mn[p.type],p.options||{}),p}(E);var $=pa.acquireContext(p,E),Q=$&&$.canvas,de=Q&&Q.height,ve=Q&&Q.width;N.id=ht.uid(),N.ctx=$,N.canvas=Q,N.config=E,N.width=ve,N.height=de,N.aspectRatio=de?ve/de:null,N.options=E.options,N._bufferedRender=!1,N._layers=[],N.chart=N,N.controller=N,Ft.instances[N.id]=N,Object.defineProperty(N,"data",{get:function(){return N.config.data},set:function(qe){N.config.data=qe}}),$&&Q?(N.initialize(),N.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var p=this;return Vo.notify(p,"beforeInit"),ht.retinaScale(p,p.options.devicePixelRatio),p.bindEvents(),p.options.responsive&&p.resize(!0),p.initToolTip(),Vo.notify(p,"afterInit"),p},clear:function(){return ht.canvas.clear(this),this},stop:function(){return An.cancelAnimation(this),this},resize:function(p){var E=this,N=E.options,$=E.canvas,Q=N.maintainAspectRatio&&E.aspectRatio||null,de=Math.max(0,Math.floor(ht.getMaximumWidth($))),ve=Math.max(0,Math.floor(Q?de/Q:ht.getMaximumHeight($)));if((E.width!==de||E.height!==ve)&&($.width=E.width=de,$.height=E.height=ve,$.style.width=de+"px",$.style.height=ve+"px",ht.retinaScale(E,N.devicePixelRatio),!p)){var qe={width:de,height:ve};Vo.notify(E,"resize",[qe]),N.onResize&&N.onResize(E,qe),E.stop(),E.update({duration:N.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var p=this.options,E=p.scales||{},N=p.scale;ht.each(E.xAxes,function($,Q){$.id||($.id=G(E.xAxes,"x-axis-",Q))}),ht.each(E.yAxes,function($,Q){$.id||($.id=G(E.yAxes,"y-axis-",Q))}),N&&(N.id=N.id||"scale")},buildOrUpdateScales:function(){var p=this,E=p.options,N=p.scales||{},$=[],Q=Object.keys(N).reduce(function(de,ve){return de[ve]=!1,de},{});E.scales&&($=$.concat((E.scales.xAxes||[]).map(function(de){return{options:de,dtype:"category",dposition:"bottom"}}),(E.scales.yAxes||[]).map(function(de){return{options:de,dtype:"linear",dposition:"left"}}))),E.scale&&$.push({options:E.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),ht.each($,function(de){var ve=de.options,qe=ve.id,De=io(ve.type,de.dtype);Se(ve.position)!==Se(de.dposition)&&(ve.position=de.dposition),Q[qe]=!0;var _t=null;if(qe in N&&N[qe].type===De)(_t=N[qe]).options=ve,_t.ctx=p.ctx,_t.chart=p;else{var Yt=ja.getScaleConstructor(De);if(!Yt)return;_t=new Yt({id:qe,type:De,options:ve,ctx:p.ctx,chart:p}),N[_t.id]=_t}_t.mergeTicksOptions(),de.isDefault&&(p.scale=_t)}),ht.each(Q,function(de,ve){de||delete N[ve]}),p.scales=N,ja.addScalesToLayout(this)},buildOrUpdateControllers:function(){var $,Q,p=this,E=[],N=p.data.datasets;for($=0,Q=N.length;$<Q;$++){var de=N[$],ve=p.getDatasetMeta($),qe=de.type||p.config.type;if(ve.type&&ve.type!==qe&&(p.destroyDatasetMeta($),ve=p.getDatasetMeta($)),ve.type=qe,ve.order=de.order||0,ve.index=$,ve.controller)ve.controller.updateIndex($),ve.controller.linkScales();else{var De=ni[ve.type];if(void 0===De)throw new Error('"'+ve.type+'" is not a chart type.');ve.controller=new De(p,$),E.push(ve.controller)}}return E},resetElements:function(){var p=this;ht.each(p.data.datasets,function(E,N){p.getDatasetMeta(N).controller.reset()},p)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(p){var N,$,E=this;if((!p||"object"!=typeof p)&&(p={duration:p,lazy:arguments[1]}),Br(E),Vo._invalidate(E),!1!==Vo.notify(E,"beforeUpdate")){E.tooltip._data=E.data;var Q=E.buildOrUpdateControllers();for(N=0,$=E.data.datasets.length;N<$;N++)E.getDatasetMeta(N).controller.buildOrUpdateElements();E.updateLayout(),E.options.animation&&E.options.animation.duration&&ht.each(Q,function(de){de.reset()}),E.updateDatasets(),E.tooltip.initialize(),E.lastActive=[],Vo.notify(E,"afterUpdate"),E._layers.sort(ft("z","_idx")),E._bufferedRender?E._bufferedRequest={duration:p.duration,easing:p.easing,lazy:p.lazy}:E.render(p)}},updateLayout:function(){var p=this;!1!==Vo.notify(p,"beforeLayout")&&(Ua.update(this,this.width,this.height),p._layers=[],ht.each(p.boxes,function(E){E._configure&&E._configure(),p._layers.push.apply(p._layers,E._layers())},p),p._layers.forEach(function(E,N){E._idx=N}),Vo.notify(p,"afterScaleUpdate"),Vo.notify(p,"afterLayout"))},updateDatasets:function(){var p=this;if(!1!==Vo.notify(p,"beforeDatasetsUpdate")){for(var E=0,N=p.data.datasets.length;E<N;++E)p.updateDataset(E);Vo.notify(p,"afterDatasetsUpdate")}},updateDataset:function(p){var E=this,N=E.getDatasetMeta(p),$={meta:N,index:p};!1!==Vo.notify(E,"beforeDatasetUpdate",[$])&&(N.controller._update(),Vo.notify(E,"afterDatasetUpdate",[$]))},render:function(p){var E=this;(!p||"object"!=typeof p)&&(p={duration:p,lazy:arguments[1]});var N=E.options.animation,$=io(p.duration,N&&N.duration),Q=p.lazy;if(!1!==Vo.notify(E,"beforeRender")){var de=function(qe){Vo.notify(E,"afterRender"),ht.callback(N&&N.onComplete,[qe],E)};if(N&&$){var ve=new sn({numSteps:$/16.66,easing:p.easing||N.easing,render:function(qe,De){var Yt=De.currentStep,Zt=Yt/De.numSteps;qe.draw((0,ht.easing.effects[De.easing])(Zt),Zt,Yt)},onAnimationProgress:N.onProgress,onAnimationComplete:de});An.addAnimation(E,ve,$,Q)}else E.draw(),de(new sn({numSteps:0,chart:E}));return E}},draw:function(p){var N,$,E=this;if(E.clear(),ht.isNullOrUndef(p)&&(p=1),E.transition(p),!(E.width<=0||E.height<=0)&&!1!==Vo.notify(E,"beforeDraw",[p])){for($=E._layers,N=0;N<$.length&&$[N].z<=0;++N)$[N].draw(E.chartArea);for(E.drawDatasets(p);N<$.length;++N)$[N].draw(E.chartArea);E._drawTooltip(p),Vo.notify(E,"afterDraw",[p])}},transition:function(p){for(var E=this,N=0,$=(E.data.datasets||[]).length;N<$;++N)E.isDatasetVisible(N)&&E.getDatasetMeta(N).controller.transition(p);E.tooltip.transition(p)},_getSortedDatasetMetas:function(p){var Q,de,E=this,$=[];for(Q=0,de=(E.data.datasets||[]).length;Q<de;++Q)(!p||E.isDatasetVisible(Q))&&$.push(E.getDatasetMeta(Q));return $.sort(ft("order","index")),$},_getSortedVisibleDatasetMetas:function(){return this._getSortedDatasetMetas(!0)},drawDatasets:function(p){var N,$,E=this;if(!1!==Vo.notify(E,"beforeDatasetsDraw",[p])){for($=(N=E._getSortedVisibleDatasetMetas()).length-1;$>=0;--$)E.drawDataset(N[$],p);Vo.notify(E,"afterDatasetsDraw",[p])}},drawDataset:function(p,E){var $={meta:p,index:p.index,easingValue:E};!1!==Vo.notify(this,"beforeDatasetDraw",[$])&&(p.controller.draw(E),Vo.notify(this,"afterDatasetDraw",[$]))},_drawTooltip:function(p){var E=this,N=E.tooltip,$={tooltip:N,easingValue:p};!1!==Vo.notify(E,"beforeTooltipDraw",[$])&&(N.draw(),Vo.notify(E,"afterTooltipDraw",[$]))},getElementAtEvent:function(p){return Os.modes.single(this,p)},getElementsAtEvent:function(p){return Os.modes.label(this,p,{intersect:!0})},getElementsAtXAxis:function(p){return Os.modes["x-axis"](this,p,{intersect:!0})},getElementsAtEventForMode:function(p,E,N){var $=Os.modes[E];return"function"==typeof $?$(this,p,N):[]},getDatasetAtEvent:function(p){return Os.modes.dataset(this,p,{intersect:!0})},getDatasetMeta:function(p){var E=this,N=E.data.datasets[p];N._meta||(N._meta={});var $=N._meta[E.id];return $||($=N._meta[E.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:N.order||0,index:p}),$},getVisibleDatasetCount:function(){for(var p=0,E=0,N=this.data.datasets.length;E<N;++E)this.isDatasetVisible(E)&&p++;return p},isDatasetVisible:function(p){var E=this.getDatasetMeta(p);return"boolean"==typeof E.hidden?!E.hidden:!this.data.datasets[p].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(p){var E=this.id,N=this.data.datasets[p],$=N._meta&&N._meta[E];$&&($.controller.destroy(),delete N._meta[E])},destroy:function(){var N,$,p=this,E=p.canvas;for(p.stop(),N=0,$=p.data.datasets.length;N<$;++N)p.destroyDatasetMeta(N);E&&(p.unbindEvents(),ht.canvas.clear(p),pa.releaseContext(p.ctx),p.canvas=null,p.ctx=null),Vo.notify(p,"destroy"),delete Ft.instances[p.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var p=this;p.tooltip=new Ui({_chart:p,_chartInstance:p,_data:p.data,_options:p.options.tooltips},p)},bindEvents:function(){var p=this,E=p._listeners={},N=function(){p.eventHandler.apply(p,arguments)};ht.each(p.options.events,function($){pa.addEventListener(p,$,N),E[$]=N}),p.options.responsive&&(N=function(){p.resize()},pa.addEventListener(p,"resize",N),E.resize=N)},unbindEvents:function(){var p=this,E=p._listeners;!E||(delete p._listeners,ht.each(E,function(N,$){pa.removeEventListener(p,$,N)}))},updateHoverStyle:function(p,E,N){var Q,de,ve,$=N?"set":"remove";for(de=0,ve=p.length;de<ve;++de)(Q=p[de])&&this.getDatasetMeta(Q._datasetIndex).controller[$+"HoverStyle"](Q);"dataset"===E&&this.getDatasetMeta(p[0]._datasetIndex).controller["_"+$+"DatasetHoverStyle"]()},eventHandler:function(p){var E=this,N=E.tooltip;if(!1!==Vo.notify(E,"beforeEvent",[p])){E._bufferedRender=!0,E._bufferedRequest=null;var $=E.handleEvent(p);N&&($=N._start?N.handleEvent(p):$|N.handleEvent(p)),Vo.notify(E,"afterEvent",[p]);var Q=E._bufferedRequest;return Q?E.render(Q):$&&!E.animating&&(E.stop(),E.render({duration:E.options.hover.animationDuration,lazy:!0})),E._bufferedRender=!1,E._bufferedRequest=null,E}},handleEvent:function(p){var Q,E=this,N=E.options||{},$=N.hover;return E.lastActive=E.lastActive||[],E.active="mouseout"===p.type?[]:E.getElementsAtEventForMode(p,$.mode,$),ht.callback(N.onHover||N.hover.onHover,[p.native,E.active],E),("mouseup"===p.type||"click"===p.type)&&N.onClick&&N.onClick.call(E,p.native,E.active),E.lastActive.length&&E.updateHoverStyle(E.lastActive,$.mode,!1),E.active.length&&$.mode&&E.updateHoverStyle(E.active,$.mode,!0),Q=!ht.arrayEquals(E.active,E.lastActive),E.lastActive=E.active,Q}}),Ft.instances={};var Bt=Ft;Ft.Controller=Ft,Ft.types={},ht.configMerge=Bi,ht.scaleMerge=vo;function Xn(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function Sr(p){this.options=p||{}}ht.extend(Sr.prototype,{formats:Xn,parse:Xn,format:Xn,add:Xn,diff:Xn,startOf:Xn,endOf:Xn,_create:function(p){return p}}),Sr.override=function(p){ht.extend(Sr.prototype,p)};var Fr={_date:Sr},zr={formatters:{values:function(p){return ht.isArray(p)?p:""+p},linear:function(p,E,N){var $=N.length>3?N[2]-N[1]:N[1]-N[0];Math.abs($)>1&&p!==Math.floor(p)&&($=p-Math.floor(p));var Q=ht.log10(Math.abs($)),de="";if(0!==p)if(Math.max(Math.abs(N[0]),Math.abs(N[N.length-1]))<1e-4){var qe=ht.log10(Math.abs(p)),De=Math.floor(qe)-Math.floor(Q);De=Math.max(Math.min(De,20),0),de=p.toExponential(De)}else{var _t=-1*Math.floor(Q);_t=Math.max(Math.min(_t,20),0),de=p.toFixed(_t)}else de="0";return de},logarithmic:function(p,E,N){var $=p/Math.pow(10,Math.floor(ht.log10(p)));return 0===p?"0":1===$||2===$||5===$||0===E||E===N.length-1?p.toExponential():""}}},Un=ht.isArray,lr=ht.isNullOrUndef,dr=ht.valueOrDefault,li=ht.valueAtIndexOrDefault;function Ao(p,E,N){var _t,$=p.getTicks().length,Q=Math.min(E,$-1),de=p.getPixelForTick(Q),ve=p._startPixel,qe=p._endPixel;if(!(N&&(_t=1===$?Math.max(de-ve,qe-de):0===E?(p.getPixelForTick(1)-de)/2:(de-p.getPixelForTick(Q-1))/2,de+=Q<E?_t:-_t,de<ve-1e-6||de>qe+1e-6)))return de}function jo(p,E,N,$){var Yt,Zt,wn,cr,sr,Tr,Yr,Pi,yo,Co,Xo,ts,_s,Q=N.length,de=[],ve=[],qe=[],De=0,_t=0;for(Yt=0;Yt<Q;++Yt){if(cr=N[Yt].label,p.font=Tr=(sr=N[Yt].major?E.major:E.minor).string,Yr=$[Tr]=$[Tr]||{data:{},gc:[]},Pi=sr.lineHeight,yo=Co=0,lr(cr)||Un(cr)){if(Un(cr))for(Zt=0,wn=cr.length;Zt<wn;++Zt)!lr(Xo=cr[Zt])&&!Un(Xo)&&(yo=ht.measureText(p,Yr.data,Yr.gc,yo,Xo),Co+=Pi)}else yo=ht.measureText(p,Yr.data,Yr.gc,yo,cr),Co=Pi;de.push(yo),ve.push(Co),qe.push(Pi/2),De=Math.max(yo,De),_t=Math.max(Co,_t)}function Ts(Ms){return{width:de[Ms]||0,height:ve[Ms]||0,offset:qe[Ms]||0}}return function(p,E){ht.each(p,function(N){var de,$=N.gc,Q=$.length/2;if(Q>E){for(de=0;de<Q;++de)delete N.data[$[de]];$.splice(0,Q)}})}($,Q),ts=de.indexOf(De),_s=ve.indexOf(_t),{first:Ts(0),last:Ts(Q-1),widest:Ts(ts),highest:Ts(_s)}}function uo(p){return p.drawTicks?p.tickMarkLength:0}function eo(p){var E,N;return p.display?(E=ht.options._parseFont(p),N=ht.options.toPadding(p.padding),E.lineHeight+N.height):0}function Ho(p,E){return ht.extend(ht.options._parseFont({fontFamily:dr(E.fontFamily,p.fontFamily),fontSize:dr(E.fontSize,p.fontSize),fontStyle:dr(E.fontStyle,p.fontStyle),lineHeight:dr(E.lineHeight,p.lineHeight)}),{color:ht.options.resolve([E.fontColor,p.fontColor,mn.global.defaultFontColor])})}function Zi(p){var E=Ho(p,p.minor);return{minor:E,major:p.major.enabled?Ho(p,p.major):E}}function na(p){var N,$,Q,E=[];for($=0,Q=p.length;$<Q;++$)void 0!==(N=p[$])._index&&E.push(N);return E}function Ll(p,E,N,$){var qe,De,_t,Yt,Q=dr(N,0),de=Math.min(dr($,p.length),p.length),ve=0;for(E=Math.ceil(E),$&&(E=(qe=$-N)/Math.floor(qe/E)),Yt=Q;Yt<0;)ve++,Yt=Math.round(Q+ve*E);for(De=Math.max(Q,0);De<de;De++)_t=p[De],De===Yt?(_t._index=De,ve++,Yt=Math.round(Q+ve*E)):delete _t.label}mn._set("scale",{display:!0,position:"left",offset:!1,gridLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:"",padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:zr.formatters.values,minor:{},major:{}}});var Hl=ot.extend({zeroLineIndex:0,getPadding:function(){var p=this;return{left:p.paddingLeft||0,top:p.paddingTop||0,right:p.paddingRight||0,bottom:p.paddingBottom||0}},getTicks:function(){return this._ticks},_getLabels:function(){var p=this.chart.data;return this.options.labels||(this.isHorizontal()?p.xLabels:p.yLabels)||p.labels||[]},mergeTicksOptions:function(){},beforeUpdate:function(){ht.callback(this.options.beforeUpdate,[this])},update:function(p,E,N){var ve,qe,De,_t,Yt,$=this,Q=$.options.ticks,de=Q.sampleSize;if($.beforeUpdate(),$.maxWidth=p,$.maxHeight=E,$.margins=ht.extend({left:0,right:0,top:0,bottom:0},N),$._ticks=null,$.ticks=null,$._labelSizes=null,$._maxLabelLines=0,$.longestLabelWidth=0,$.longestTextCache=$.longestTextCache||{},$._gridLineItems=null,$._labelItems=null,$.beforeSetDimensions(),$.setDimensions(),$.afterSetDimensions(),$.beforeDataLimits(),$.determineDataLimits(),$.afterDataLimits(),$.beforeBuildTicks(),_t=$.buildTicks()||[],(!(_t=$.afterBuildTicks(_t)||_t)||!_t.length)&&$.ticks)for(_t=[],ve=0,qe=$.ticks.length;ve<qe;++ve)_t.push({value:$.ticks[ve],major:!1});return $._ticks=_t,De=$._convertTicksToLabels((Yt=de<_t.length)?function(p,E){for(var N=[],$=p.length/E,Q=0,de=p.length;Q<de;Q+=$)N.push(p[Math.floor(Q)]);return N}(_t,de):_t),$._configure(),$.beforeCalculateTickRotation(),$.calculateTickRotation(),$.afterCalculateTickRotation(),$.beforeFit(),$.fit(),$.afterFit(),$._ticksToDraw=Q.display&&(Q.autoSkip||"auto"===Q.source)?$._autoSkip(_t):_t,Yt&&(De=$._convertTicksToLabels($._ticksToDraw)),$.ticks=De,$.afterUpdate(),$.minSize},_configure:function(){var N,$,p=this,E=p.options.ticks.reverse;p.isHorizontal()?(N=p.left,$=p.right):(N=p.top,$=p.bottom,E=!E),p._startPixel=N,p._endPixel=$,p._reversePixels=E,p._length=$-N},afterUpdate:function(){ht.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){ht.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var p=this;p.isHorizontal()?(p.width=p.maxWidth,p.left=0,p.right=p.width):(p.height=p.maxHeight,p.top=0,p.bottom=p.height),p.paddingLeft=0,p.paddingTop=0,p.paddingRight=0,p.paddingBottom=0},afterSetDimensions:function(){ht.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){ht.callback(this.options.beforeDataLimits,[this])},determineDataLimits:ht.noop,afterDataLimits:function(){ht.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){ht.callback(this.options.beforeBuildTicks,[this])},buildTicks:ht.noop,afterBuildTicks:function(p){var E=this;return Un(p)&&p.length?ht.callback(E.options.afterBuildTicks,[E,p]):(E.ticks=ht.callback(E.options.afterBuildTicks,[E,E.ticks])||E.ticks,p)},beforeTickToLabelConversion:function(){ht.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var p=this,E=p.options.ticks;p.ticks=p.ticks.map(E.userCallback||E.callback,this)},afterTickToLabelConversion:function(){ht.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){ht.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var qe,De,_t,Yt,Zt,wn,cr,p=this,E=p.options,N=E.ticks,$=p.getTicks().length,Q=N.minRotation||0,de=N.maxRotation,ve=Q;!p._isVisible()||!N.display||Q>=de||$<=1||!p.isHorizontal()?p.labelRotation=Q:(De=(qe=p._getLabelSizes()).widest.width,_t=qe.highest.height-qe.highest.offset,Yt=Math.min(p.maxWidth,p.chart.width-De),De+6>(Zt=E.offset?p.maxWidth/$:Yt/($-1))&&(Zt=Yt/($-(E.offset?.5:1)),wn=p.maxHeight-uo(E.gridLines)-N.padding-eo(E.scaleLabel),cr=Math.sqrt(De*De+_t*_t),ve=ht.toDegrees(Math.min(Math.asin(Math.min((qe.highest.height+6)/Zt,1)),Math.asin(Math.min(wn/cr,1))-Math.asin(_t/cr))),ve=Math.max(Q,Math.min(de,ve))),p.labelRotation=ve)},afterCalculateTickRotation:function(){ht.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){ht.callback(this.options.beforeFit,[this])},fit:function(){var p=this,E=p.minSize={width:0,height:0},N=p.chart,$=p.options,Q=$.ticks,de=$.scaleLabel,ve=$.gridLines,qe=p._isVisible(),De="bottom"===$.position,_t=p.isHorizontal();if(_t?E.width=p.maxWidth:qe&&(E.width=uo(ve)+eo(de)),_t?qe&&(E.height=uo(ve)+eo(de)):E.height=p.maxHeight,Q.display&&qe){var Yt=Zi(Q),Zt=p._getLabelSizes(),wn=Zt.first,cr=Zt.last,sr=Zt.widest,Tr=Zt.highest,Yr=.4*Yt.minor.lineHeight,Pi=Q.padding;if(_t){var yo=0!==p.labelRotation,Co=ht.toRadians(p.labelRotation),Xo=Math.cos(Co),ts=Math.sin(Co);E.height=Math.min(p.maxHeight,E.height+(ts*sr.width+Xo*(Tr.height-(yo?Tr.offset:0))+(yo?0:Yr))+Pi);var xs,ya,Ts=p.getPixelForTick(0)-p.left,Ms=p.right-p.getPixelForTick(p.getTicks().length-1);yo?(xs=De?Xo*wn.width+ts*wn.offset:ts*(wn.height-wn.offset),ya=De?ts*(cr.height-cr.offset):Xo*cr.width+ts*cr.offset):(xs=wn.width/2,ya=cr.width/2),p.paddingLeft=Math.max((xs-Ts)*p.width/(p.width-Ts),0)+3,p.paddingRight=Math.max((ya-Ms)*p.width/(p.width-Ms),0)+3}else E.width=Math.min(p.maxWidth,E.width+(Q.mirror?0:sr.width+Pi+Yr)),p.paddingTop=wn.height/2,p.paddingBottom=cr.height/2}p.handleMargins(),_t?(p.width=p._length=N.width-p.margins.left-p.margins.right,p.height=E.height):(p.width=E.width,p.height=p._length=N.height-p.margins.top-p.margins.bottom)},handleMargins:function(){var p=this;p.margins&&(p.margins.left=Math.max(p.paddingLeft,p.margins.left),p.margins.top=Math.max(p.paddingTop,p.margins.top),p.margins.right=Math.max(p.paddingRight,p.margins.right),p.margins.bottom=Math.max(p.paddingBottom,p.margins.bottom))},afterFit:function(){ht.callback(this.options.afterFit,[this])},isHorizontal:function(){var p=this.options.position;return"top"===p||"bottom"===p},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(p){if(lr(p))return NaN;if(("number"==typeof p||p instanceof Number)&&!isFinite(p))return NaN;if(p)if(this.isHorizontal()){if(void 0!==p.x)return this.getRightValue(p.x)}else if(void 0!==p.y)return this.getRightValue(p.y);return p},_convertTicksToLabels:function(p){var N,$,Q,E=this;for(E.ticks=p.map(function(de){return de.value}),E.beforeTickToLabelConversion(),N=E.convertTicksToLabels(p)||E.ticks,E.afterTickToLabelConversion(),$=0,Q=p.length;$<Q;++$)p[$].label=N[$];return N},_getLabelSizes:function(){var p=this,E=p._labelSizes;return E||(p._labelSizes=E=jo(p.ctx,Zi(p.options.ticks),p.getTicks(),p.longestTextCache),p.longestLabelWidth=E.widest.width),E},_parseValue:function(p){var E,N,$,Q;return Un(p)?(E=+this.getRightValue(p[0]),N=+this.getRightValue(p[1]),$=Math.min(E,N),Q=Math.max(E,N)):(E=void 0,N=p=+this.getRightValue(p),$=p,Q=p),{min:$,max:Q,start:E,end:N}},_getScaleLabel:function(p){var E=this._parseValue(p);return void 0!==E.start?"["+E.start+", "+E.end+"]":+this.getRightValue(p)},getLabelForIndex:ht.noop,getPixelForValue:ht.noop,getValueForPixel:ht.noop,getPixelForTick:function(p){var E=this,N=E.options.offset,$=E._ticks.length,Q=1/Math.max($-(N?0:1),1);return p<0||p>$-1?null:E.getPixelForDecimal(p*Q+(N?Q/2:0))},getPixelForDecimal:function(p){var E=this;return E._reversePixels&&(p=1-p),E._startPixel+p*E._length},getDecimalForPixel:function(p){var E=(p-this._startPixel)/this._length;return this._reversePixels?1-E:E},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var p=this,E=p.min,N=p.max;return p.beginAtZero?0:E<0&&N<0?N:E>0&&N>0?E:0},_autoSkip:function(p){var _t,Yt,Zt,wn,E=this,N=E.options.ticks,$=E._length,Q=N.maxTicksLimit||$/E._tickSize()+1,de=N.major.enabled?function(p){var N,$,E=[];for(N=0,$=p.length;N<$;N++)p[N].major&&E.push(N);return E}(p):[],ve=de.length,qe=de[0],De=de[ve-1];if(ve>Q)return function(p,E,N){var de,ve,$=0,Q=E[0];for(N=Math.ceil(N),de=0;de<p.length;de++)ve=p[de],de===Q?(ve._index=de,Q=E[++$*N]):delete ve.label}(p,de,ve/Q),na(p);if(Zt=function(p,E,N,$){var ve,qe,De,_t,Q=function(p){var N,$,E=p.length;if(E<2)return!1;for($=p[0],N=1;N<E;++N)if(p[N]-p[N-1]!==$)return!1;return $}(p),de=(E.length-1)/$;if(!Q)return Math.max(de,1);for(De=0,_t=(ve=ht.math._factorize(Q)).length-1;De<_t;De++)if((qe=ve[De])>de)return qe;return Math.max(de,1)}(de,p,0,Q),ve>0){for(_t=0,Yt=ve-1;_t<Yt;_t++)Ll(p,Zt,de[_t],de[_t+1]);return Ll(p,Zt,ht.isNullOrUndef(wn=ve>1?(De-qe)/(ve-1):null)?0:qe-wn,qe),Ll(p,Zt,De,ht.isNullOrUndef(wn)?p.length:De+wn),na(p)}return Ll(p,Zt),na(p)},_tickSize:function(){var p=this,E=p.options.ticks,N=ht.toRadians(p.labelRotation),$=Math.abs(Math.cos(N)),Q=Math.abs(Math.sin(N)),de=p._getLabelSizes(),ve=E.autoSkipPadding||0,qe=de?de.widest.width+ve:0,De=de?de.highest.height+ve:0;return p.isHorizontal()?De*$>qe*Q?qe/$:De/Q:De*Q<qe*$?De/$:qe/Q},_isVisible:function(){var $,Q,de,p=this,E=p.chart,N=p.options.display;if("auto"!==N)return!!N;for($=0,Q=E.data.datasets.length;$<Q;++$)if(E.isDatasetVisible($)&&((de=E.getDatasetMeta($)).xAxisID===p.id||de.yAxisID===p.id))return!0;return!1},_computeGridLineItems:function(p){var Yr,Pi,yo,Co,Xo,ts,_s,Ts,Ms,xs,ya,hl,Ga,Qa,rl,Gl,_c,E=this,N=E.chart,$=E.options,Q=$.gridLines,de=$.position,ve=Q.offsetGridLines,qe=E.isHorizontal(),De=E._ticksToDraw,_t=De.length+(ve?1:0),Yt=uo(Q),Zt=[],wn=Q.drawBorder?li(Q.lineWidth,0,0):0,cr=wn/2,sr=ht._alignPixel,Tr=function($s){return sr(N,$s,wn)};for("top"===de?(Yr=Tr(E.bottom),_s=E.bottom-Yt,Ms=Yr-cr,ya=Tr(p.top)+cr,Ga=p.bottom):"bottom"===de?(Yr=Tr(E.top),ya=p.top,Ga=Tr(p.bottom)-cr,_s=Yr+cr,Ms=E.top+Yt):"left"===de?(Yr=Tr(E.right),ts=E.right-Yt,Ts=Yr-cr,xs=Tr(p.left)+cr,hl=p.right):(Yr=Tr(E.left),xs=p.left,hl=Tr(p.right)-cr,ts=Yr+cr,Ts=E.left+Yt),Pi=0;Pi<_t;++Pi)!(lr((yo=De[Pi]||{}).label)&&Pi<De.length)&&(Pi===E.zeroLineIndex&&$.offset===ve?(Qa=Q.zeroLineWidth,rl=Q.zeroLineColor,Gl=Q.zeroLineBorderDash||[],_c=Q.zeroLineBorderDashOffset||0):(Qa=li(Q.lineWidth,Pi,1),rl=li(Q.color,Pi,"rgba(0,0,0,0.1)"),Gl=Q.borderDash||[],_c=Q.borderDashOffset||0),void 0!==(Co=Ao(E,yo._index||Pi,ve))&&(Xo=sr(N,Co,Qa),qe?ts=Ts=xs=hl=Xo:_s=Ms=ya=Ga=Xo,Zt.push({tx1:ts,ty1:_s,tx2:Ts,ty2:Ms,x1:xs,y1:ya,x2:hl,y2:Ga,width:Qa,color:rl,borderDash:Gl,borderDashOffset:_c})));return Zt.ticksLength=_t,Zt.borderValue=Yr,Zt},_computeLabelItems:function(){var wn,cr,sr,Tr,Yr,Pi,yo,Co,Xo,ts,_s,Ts,p=this,E=p.options,N=E.ticks,$=E.position,Q=N.mirror,de=p.isHorizontal(),ve=p._ticksToDraw,qe=Zi(N),De=N.padding,_t=uo(E.gridLines),Yt=-ht.toRadians(p.labelRotation),Zt=[];for("top"===$?(Pi=p.bottom-_t-De,yo=Yt?"left":"center"):"bottom"===$?(Pi=p.top+_t+De,yo=Yt?"right":"center"):"left"===$?(Yr=p.right-(Q?0:_t)-De,yo=Q?"left":"right"):(Yr=p.left+(Q?0:_t)+De,yo=Q?"right":"left"),wn=0,cr=ve.length;wn<cr;++wn)!lr(Tr=(sr=ve[wn]).label)&&(Co=p.getPixelForTick(sr._index||wn)+N.labelOffset,ts=(Xo=sr.major?qe.major:qe.minor).lineHeight,_s=Un(Tr)?Tr.length:1,de?(Yr=Co,Ts="top"===$?((Yt?1:.5)-_s)*ts:(Yt?0:.5)*ts):(Pi=Co,Ts=(1-_s)*ts/2),Zt.push({x:Yr,y:Pi,rotation:Yt,label:Tr,font:Xo,textOffset:Ts,textAlign:yo}));return Zt},_drawGrid:function(p){var E=this,N=E.options.gridLines;if(N.display){var De,_t,Yt,Zt,wn,$=E.ctx,Q=E.chart,de=ht._alignPixel,ve=N.drawBorder?li(N.lineWidth,0,0):0,qe=E._gridLineItems||(E._gridLineItems=E._computeGridLineItems(p));for(Yt=0,Zt=qe.length;Yt<Zt;++Yt)_t=(wn=qe[Yt]).color,(De=wn.width)&&_t&&($.save(),$.lineWidth=De,$.strokeStyle=_t,$.setLineDash&&($.setLineDash(wn.borderDash),$.lineDashOffset=wn.borderDashOffset),$.beginPath(),N.drawTicks&&($.moveTo(wn.tx1,wn.ty1),$.lineTo(wn.tx2,wn.ty2)),N.drawOnChartArea&&($.moveTo(wn.x1,wn.y1),$.lineTo(wn.x2,wn.y2)),$.stroke(),$.restore());if(ve){var Yr,Pi,yo,Co,cr=ve,sr=li(N.lineWidth,qe.ticksLength-1,1),Tr=qe.borderValue;E.isHorizontal()?(Yr=de(Q,E.left,cr)-cr/2,Pi=de(Q,E.right,sr)+sr/2,yo=Co=Tr):(yo=de(Q,E.top,cr)-cr/2,Co=de(Q,E.bottom,sr)+sr/2,Yr=Pi=Tr),$.lineWidth=ve,$.strokeStyle=li(N.color,0),$.beginPath(),$.moveTo(Yr,yo),$.lineTo(Pi,Co),$.stroke()}}},_drawLabels:function(){var p=this;if(p.options.ticks.display){var Q,de,ve,qe,De,_t,Yt,Zt,N=p.ctx,$=p._labelItems||(p._labelItems=p._computeLabelItems());for(Q=0,ve=$.length;Q<ve;++Q){if(_t=(De=$[Q]).font,N.save(),N.translate(De.x,De.y),N.rotate(De.rotation),N.font=_t.string,N.fillStyle=_t.color,N.textBaseline="middle",N.textAlign=De.textAlign,Zt=De.textOffset,Un(Yt=De.label))for(de=0,qe=Yt.length;de<qe;++de)N.fillText(""+Yt[de],0,Zt),Zt+=_t.lineHeight;else N.fillText(Yt,0,Zt);N.restore()}}},_drawTitle:function(){var p=this,E=p.ctx,N=p.options,$=N.scaleLabel;if($.display){var Yt,Zt,Q=dr($.fontColor,mn.global.defaultFontColor),de=ht.options._parseFont($),ve=ht.options.toPadding($.padding),qe=de.lineHeight/2,De=N.position,_t=0;if(p.isHorizontal())Yt=p.left+p.width/2,Zt="bottom"===De?p.bottom-qe-ve.bottom:p.top+qe+ve.top;else{var wn="left"===De;Yt=wn?p.left+qe+ve.top:p.right-qe-ve.top,Zt=p.top+p.height/2,_t=wn?-.5*Math.PI:.5*Math.PI}E.save(),E.translate(Yt,Zt),E.rotate(_t),E.textAlign="center",E.textBaseline="middle",E.fillStyle=Q,E.font=de.string,E.fillText($.labelString,0,0),E.restore()}},draw:function(p){var E=this;!E._isVisible()||(E._drawGrid(p),E._drawTitle(),E._drawLabels())},_layers:function(){var p=this,E=p.options,N=E.ticks&&E.ticks.z||0,$=E.gridLines&&E.gridLines.z||0;return p._isVisible()&&N!==$&&p.draw===p._draw?[{z:$,draw:function(){p._drawGrid.apply(p,arguments),p._drawTitle.apply(p,arguments)}},{z:N,draw:function(){p._drawLabels.apply(p,arguments)}}]:[{z:N,draw:function(){p.draw.apply(p,arguments)}}]},_getMatchingVisibleMetas:function(p){var E=this,N=E.isHorizontal();return E.chart._getSortedVisibleDatasetMetas().filter(function($){return(!p||$.type===p)&&(N?$.xAxisID===E.id:$.yAxisID===E.id)})}});Hl.prototype._draw=Hl.prototype.draw;var mo=Hl,As=ht.isNullOrUndef,yc=mo.extend({determineDataLimits:function(){var qe,p=this,E=p._getLabels(),N=p.options.ticks,$=N.min,Q=N.max,de=0,ve=E.length-1;void 0!==$&&(qe=E.indexOf($))>=0&&(de=qe),void 0!==Q&&(qe=E.indexOf(Q))>=0&&(ve=qe),p.minIndex=de,p.maxIndex=ve,p.min=E[de],p.max=E[ve]},buildTicks:function(){var p=this,E=p._getLabels(),N=p.minIndex,$=p.maxIndex;p.ticks=0===N&&$===E.length-1?E:E.slice(N,$+1)},getLabelForIndex:function(p,E){var N=this,$=N.chart;return $.getDatasetMeta(E).controller._getValueScaleId()===N.id?N.getRightValue($.data.datasets[E].data[p]):N._getLabels()[p]},_configure:function(){var p=this,E=p.options.offset,N=p.ticks;mo.prototype._configure.call(p),p.isHorizontal()||(p._reversePixels=!p._reversePixels),N&&(p._startValue=p.minIndex-(E?.5:0),p._valueRange=Math.max(N.length-(E?0:1),1))},getPixelForValue:function(p,E,N){var Q,de,ve,$=this;return!As(E)&&!As(N)&&(p=$.chart.data.datasets[N].data[E]),As(p)||(Q=$.isHorizontal()?p.x:p.y),(void 0!==Q||void 0!==p&&isNaN(E))&&(de=$._getLabels(),p=ht.valueOrDefault(Q,p),E=-1!==(ve=de.indexOf(p))?ve:E,isNaN(E)&&(E=p)),$.getPixelForDecimal((E-$._startValue)/$._valueRange)},getPixelForTick:function(p){var E=this.ticks;return p<0||p>E.length-1?null:this.getPixelForValue(E[p],p+this.minIndex)},getValueForPixel:function(p){var E=this,N=Math.round(E._startValue+E.getDecimalForPixel(p)*E._valueRange);return Math.min(Math.max(N,0),E.ticks.length-1)},getBasePixel:function(){return this.bottom}});yc._defaults={position:"bottom"};var bl=ht.isNullOrUndef;var kl=mo.extend({getRightValue:function(p){return"string"==typeof p?+p:mo.prototype.getRightValue.call(this,p)},handleTickRangeOptions:function(){var p=this,N=p.options.ticks;if(N.beginAtZero){var $=ht.sign(p.min),Q=ht.sign(p.max);$<0&&Q<0?p.max=0:$>0&&Q>0&&(p.min=0)}var de=void 0!==N.min||void 0!==N.suggestedMin,ve=void 0!==N.max||void 0!==N.suggestedMax;void 0!==N.min?p.min=N.min:void 0!==N.suggestedMin&&(p.min=null===p.min?N.suggestedMin:Math.min(p.min,N.suggestedMin)),void 0!==N.max?p.max=N.max:void 0!==N.suggestedMax&&(p.max=null===p.max?N.suggestedMax:Math.max(p.max,N.suggestedMax)),de!==ve&&p.min>=p.max&&(de?p.max=p.min+1:p.min=p.max-1),p.min===p.max&&(p.max++,N.beginAtZero||p.min--)},getTickLimit:function(){var Q,p=this,E=p.options.ticks,N=E.stepSize,$=E.maxTicksLimit;return N?Q=Math.ceil(p.max/N)-Math.floor(p.min/N)+1:(Q=p._computeTickLimit(),$=$||11),$&&(Q=Math.min($,Q)),Q},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:ht.noop,buildTicks:function(){var p=this,N=p.options.ticks,$=p.getTickLimit(),Q={maxTicks:$=Math.max(2,$),min:N.min,max:N.max,precision:N.precision,stepSize:ht.valueOrDefault(N.fixedStepSize,N.stepSize)},de=p.ticks=function(p,E){var cr,sr,Tr,Yr,N=[],Q=p.stepSize,de=Q||1,ve=p.maxTicks-1,qe=p.min,De=p.max,_t=p.precision,Yt=E.min,Zt=E.max,wn=ht.niceNum((Zt-Yt)/ve/de)*de;if(wn<1e-14&&bl(qe)&&bl(De))return[Yt,Zt];(Yr=Math.ceil(Zt/wn)-Math.floor(Yt/wn))>ve&&(wn=ht.niceNum(Yr*wn/ve/de)*de),Q||bl(_t)?cr=Math.pow(10,ht._decimalPlaces(wn)):(cr=Math.pow(10,_t),wn=Math.ceil(wn*cr)/cr),sr=Math.floor(Yt/wn)*wn,Tr=Math.ceil(Zt/wn)*wn,Q&&(!bl(qe)&&ht.almostWhole(qe/wn,wn/1e3)&&(sr=qe),!bl(De)&&ht.almostWhole(De/wn,wn/1e3)&&(Tr=De)),Yr=ht.almostEquals(Yr=(Tr-sr)/wn,Math.round(Yr),wn/1e3)?Math.round(Yr):Math.ceil(Yr),sr=Math.round(sr*cr)/cr,Tr=Math.round(Tr*cr)/cr,N.push(bl(qe)?sr:qe);for(var Pi=1;Pi<Yr;++Pi)N.push(Math.round((sr+Pi*wn)*cr)/cr);return N.push(bl(De)?Tr:De),N}(Q,p);p.handleDirectionalChanges(),p.max=ht.max(de),p.min=ht.min(de),N.reverse?(de.reverse(),p.start=p.max,p.end=p.min):(p.start=p.min,p.end=p.max)},convertTicksToLabels:function(){var p=this;p.ticksAsNumbers=p.ticks.slice(),p.zeroLineIndex=p.ticks.indexOf(0),mo.prototype.convertTicksToLabels.call(p)},_configure:function(){var Q,p=this,E=p.getTicks(),N=p.min,$=p.max;mo.prototype._configure.call(p),p.options.offset&&E.length&&(N-=Q=($-N)/Math.max(E.length-1,1)/2,$+=Q),p._startValue=N,p._endValue=$,p._valueRange=$-N}}),Yl={position:"left",ticks:{callback:zr.formatters.linear}};function we(p,E,N,$){var Yt,Zt,Q=p.options,ve=function(p,E,N){var $=[N.type,void 0===E&&void 0===N.stack?N.index:"",N.stack].join(".");return void 0===p[$]&&(p[$]={pos:[],neg:[]}),p[$]}(E,Q.stacked,N),qe=ve.pos,De=ve.neg,_t=$.length;for(Yt=0;Yt<_t;++Yt)Zt=p._parseValue($[Yt]),!(isNaN(Zt.min)||isNaN(Zt.max)||N.data[Yt].hidden)&&(qe[Yt]=qe[Yt]||0,De[Yt]=De[Yt]||0,Q.relativePoints?qe[Yt]=100:Zt.min<0||Zt.max<0?De[Yt]+=Zt.min:qe[Yt]+=Zt.max)}function Ot(p,E,N){var Q,de,$=N.length;for(Q=0;Q<$;++Q)de=p._parseValue(N[Q]),!(isNaN(de.min)||isNaN(de.max)||E.data[Q].hidden)&&(p.min=Math.min(p.min,de.min),p.max=Math.max(p.max,de.max))}var xe=kl.extend({determineDataLimits:function(){var De,_t,Yt,Zt,p=this,E=p.options,$=p.chart.data.datasets,Q=p._getMatchingVisibleMetas(),de=E.stacked,ve={},qe=Q.length;if(p.min=Number.POSITIVE_INFINITY,p.max=Number.NEGATIVE_INFINITY,void 0===de)for(De=0;!de&&De<qe;++De)de=void 0!==(_t=Q[De]).stack;for(De=0;De<qe;++De)Yt=$[(_t=Q[De]).index].data,de?we(p,ve,_t,Yt):Ot(p,_t,Yt);ht.each(ve,function(wn){Zt=wn.pos.concat(wn.neg),p.min=Math.min(p.min,ht.min(Zt)),p.max=Math.max(p.max,ht.max(Zt))}),p.min=ht.isFinite(p.min)&&!isNaN(p.min)?p.min:0,p.max=ht.isFinite(p.max)&&!isNaN(p.max)?p.max:1,p.handleTickRangeOptions()},_computeTickLimit:function(){var E,p=this;return p.isHorizontal()?Math.ceil(p.width/40):(E=ht.options._parseFont(p.options.ticks),Math.ceil(p.height/E.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(p,E){return this._getScaleLabel(this.chart.data.datasets[E].data[p])},getPixelForValue:function(p){var E=this;return E.getPixelForDecimal((+E.getRightValue(p)-E._startValue)/E._valueRange)},getValueForPixel:function(p){return this._startValue+this.getDecimalForPixel(p)*this._valueRange},getPixelForTick:function(p){var E=this.ticksAsNumbers;return p<0||p>E.length-1?null:this.getPixelForValue(E[p])}});xe._defaults=Yl;var Te=ht.valueOrDefault,ge=ht.math.log10;var Be={position:"left",ticks:{callback:zr.formatters.logarithmic}};function xt(p,E){return ht.isFinite(p)&&p>=0?p:E}var Dt=mo.extend({determineDataLimits:function(){var ve,qe,De,_t,Yt,Zt,p=this,E=p.options,N=p.chart,$=N.data.datasets,Q=p.isHorizontal();function de(Yr){return Q?Yr.xAxisID===p.id:Yr.yAxisID===p.id}p.min=Number.POSITIVE_INFINITY,p.max=Number.NEGATIVE_INFINITY,p.minNotZero=Number.POSITIVE_INFINITY;var wn=E.stacked;if(void 0===wn)for(ve=0;ve<$.length;ve++)if(qe=N.getDatasetMeta(ve),N.isDatasetVisible(ve)&&de(qe)&&void 0!==qe.stack){wn=!0;break}if(E.stacked||wn){var cr={};for(ve=0;ve<$.length;ve++){var sr=[(qe=N.getDatasetMeta(ve)).type,void 0===E.stacked&&void 0===qe.stack?ve:"",qe.stack].join(".");if(N.isDatasetVisible(ve)&&de(qe))for(void 0===cr[sr]&&(cr[sr]=[]),Yt=0,Zt=(_t=$[ve].data).length;Yt<Zt;Yt++){var Tr=cr[sr];De=p._parseValue(_t[Yt]),!(isNaN(De.min)||isNaN(De.max)||qe.data[Yt].hidden||De.min<0||De.max<0)&&(Tr[Yt]=Tr[Yt]||0,Tr[Yt]+=De.max)}}ht.each(cr,function(Yr){if(Yr.length>0){var Pi=ht.min(Yr),yo=ht.max(Yr);p.min=Math.min(p.min,Pi),p.max=Math.max(p.max,yo)}})}else for(ve=0;ve<$.length;ve++)if(qe=N.getDatasetMeta(ve),N.isDatasetVisible(ve)&&de(qe))for(Yt=0,Zt=(_t=$[ve].data).length;Yt<Zt;Yt++)De=p._parseValue(_t[Yt]),!(isNaN(De.min)||isNaN(De.max)||qe.data[Yt].hidden||De.min<0||De.max<0)&&(p.min=Math.min(De.min,p.min),p.max=Math.max(De.max,p.max),0!==De.min&&(p.minNotZero=Math.min(De.min,p.minNotZero)));p.min=ht.isFinite(p.min)?p.min:null,p.max=ht.isFinite(p.max)?p.max:null,p.minNotZero=ht.isFinite(p.minNotZero)?p.minNotZero:null,this.handleTickRangeOptions()},handleTickRangeOptions:function(){var p=this,E=p.options.ticks;p.min=xt(E.min,p.min),p.max=xt(E.max,p.max),p.min===p.max&&(0!==p.min&&null!==p.min?(p.min=Math.pow(10,Math.floor(ge(p.min))-1),p.max=Math.pow(10,Math.floor(ge(p.max))+1)):(p.min=1,p.max=10)),null===p.min&&(p.min=Math.pow(10,Math.floor(ge(p.max))-1)),null===p.max&&(p.max=0!==p.min?Math.pow(10,Math.floor(ge(p.min))+1):10),null===p.minNotZero&&(p.minNotZero=p.min>0?p.min:p.max<1?Math.pow(10,Math.floor(ge(p.max))):1)},buildTicks:function(){var p=this,E=p.options.ticks,N=!p.isHorizontal(),$={min:xt(E.min),max:xt(E.max)},Q=p.ticks=function(p,E){var ve,qe,N=[],$=Te(p.min,Math.pow(10,Math.floor(ge(E.min)))),Q=Math.floor(ge(E.max)),de=Math.ceil(E.max/Math.pow(10,Q));0===$?(ve=Math.floor(ge(E.minNotZero)),qe=Math.floor(E.minNotZero/Math.pow(10,ve)),N.push($),$=qe*Math.pow(10,ve)):(ve=Math.floor(ge($)),qe=Math.floor($/Math.pow(10,ve)));var De=ve<0?Math.pow(10,Math.abs(ve)):1;do{N.push($),10==++qe&&(qe=1,De=++ve>=0?1:De),$=Math.round(qe*Math.pow(10,ve)*De)/De}while(ve<Q||ve===Q&&qe<de);var _t=Te(p.max,$);return N.push(_t),N}($,p);p.max=ht.max(Q),p.min=ht.min(Q),E.reverse?(N=!N,p.start=p.max,p.end=p.min):(p.start=p.min,p.end=p.max),N&&Q.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),mo.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(p,E){return this._getScaleLabel(this.chart.data.datasets[E].data[p])},getPixelForTick:function(p){var E=this.tickValues;return p<0||p>E.length-1?null:this.getPixelForValue(E[p])},_getFirstTickValue:function(p){var E=Math.floor(ge(p));return Math.floor(p/Math.pow(10,E))*Math.pow(10,E)},_configure:function(){var p=this,E=p.min,N=0;mo.prototype._configure.call(p),0===E&&(E=p._getFirstTickValue(p.minNotZero),N=Te(p.options.ticks.fontSize,mn.global.defaultFontSize)/p._length),p._startValue=ge(E),p._valueOffset=N,p._valueRange=(ge(p.max)-ge(E))/(1-N)},getPixelForValue:function(p){var E=this,N=0;return(p=+E.getRightValue(p))>E.min&&p>0&&(N=(ge(p)-E._startValue)/E._valueRange+E._valueOffset),E.getPixelForDecimal(N)},getValueForPixel:function(p){var E=this,N=E.getDecimalForPixel(p);return 0===N&&0===E.min?0:Math.pow(10,E._startValue+(N-E._valueOffset)*E._valueRange)}});Dt._defaults=Be;var vn=ht.valueOrDefault,Gn=ht.valueAtIndexOrDefault,kn=ht.options.resolve,zn={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:zr.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(p){return p}}};function jr(p){var E=p.ticks;return E.display&&p.display?vn(E.fontSize,mn.global.defaultFontSize)+2*E.backdropPaddingY:0}function kr(p,E,N){return ht.isArray(N)?{w:ht.longestText(p,p.font,N),h:N.length*E}:{w:p.measureText(N).width,h:E}}function Gr(p,E,N,$,Q){return p===$||p===Q?{start:E-N/2,end:E+N/2}:p<$||p>Q?{start:E-N,end:E}:{start:E,end:E+N}}function Ci(p){return 0===p||180===p?"center":p<180?"left":"right"}function vi(p,E,N,$){var de,ve,Q=N.y+$/2;if(ht.isArray(E))for(de=0,ve=E.length;de<ve;++de)p.fillText(E[de],N.x,Q),Q+=$;else p.fillText(E,N.x,Q)}function Ai(p,E,N){90===p||270===p?N.y-=E.h/2:(p>270||p<90)&&(N.y-=E.h)}function No(p){return ht.isNumber(p)?p:0}var wo=kl.extend({setDimensions:function(){var p=this;p.width=p.maxWidth,p.height=p.maxHeight,p.paddingTop=jr(p.options)/2,p.xCenter=Math.floor(p.width/2),p.yCenter=Math.floor((p.height-p.paddingTop)/2),p.drawingArea=Math.min(p.height-p.paddingTop,p.width)/2},determineDataLimits:function(){var p=this,E=p.chart,N=Number.POSITIVE_INFINITY,$=Number.NEGATIVE_INFINITY;ht.each(E.data.datasets,function(Q,de){if(E.isDatasetVisible(de)){var ve=E.getDatasetMeta(de);ht.each(Q.data,function(qe,De){var _t=+p.getRightValue(qe);isNaN(_t)||ve.data[De].hidden||(N=Math.min(_t,N),$=Math.max(_t,$))})}}),p.min=N===Number.POSITIVE_INFINITY?0:N,p.max=$===Number.NEGATIVE_INFINITY?0:$,p.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/jr(this.options))},convertTicksToLabels:function(){var p=this;kl.prototype.convertTicksToLabels.call(p),p.pointLabels=p.chart.data.labels.map(function(){var E=ht.callback(p.options.pointLabels.callback,arguments,p);return E||0===E?E:""})},getLabelForIndex:function(p,E){return+this.getRightValue(this.chart.data.datasets[E].data[p])},fit:function(){var p=this,E=p.options;E.display&&E.pointLabels.display?function(p){var Q,de,ve,E=ht.options._parseFont(p.options.pointLabels),N={l:0,r:p.width,t:0,b:p.height-p.paddingTop},$={};p.ctx.font=E.string,p._pointLabelSizes=[];var qe=p.chart.data.labels.length;for(Q=0;Q<qe;Q++){ve=p.getPointPosition(Q,p.drawingArea+5),de=kr(p.ctx,E.lineHeight,p.pointLabels[Q]),p._pointLabelSizes[Q]=de;var De=p.getIndexAngle(Q),_t=ht.toDegrees(De)%360,Yt=Gr(_t,ve.x,de.w,0,180),Zt=Gr(_t,ve.y,de.h,90,270);Yt.start<N.l&&(N.l=Yt.start,$.l=De),Yt.end>N.r&&(N.r=Yt.end,$.r=De),Zt.start<N.t&&(N.t=Zt.start,$.t=De),Zt.end>N.b&&(N.b=Zt.end,$.b=De)}p.setReductions(p.drawingArea,N,$)}(p):p.setCenterPoint(0,0,0,0)},setReductions:function(p,E,N){var $=this,Q=E.l/Math.sin(N.l),de=Math.max(E.r-$.width,0)/Math.sin(N.r),ve=-E.t/Math.cos(N.t),qe=-Math.max(E.b-($.height-$.paddingTop),0)/Math.cos(N.b);Q=No(Q),de=No(de),ve=No(ve),qe=No(qe),$.drawingArea=Math.min(Math.floor(p-(Q+de)/2),Math.floor(p-(ve+qe)/2)),$.setCenterPoint(Q,de,ve,qe)},setCenterPoint:function(p,E,N,$){var Q=this,qe=N+Q.drawingArea,De=Q.height-Q.paddingTop-$-Q.drawingArea;Q.xCenter=Math.floor((p+Q.drawingArea+(Q.width-E-Q.drawingArea))/2+Q.left),Q.yCenter=Math.floor((qe+De)/2+Q.top+Q.paddingTop)},getIndexAngle:function(p){var E=this.chart,de=(p*(360/E.data.labels.length)+((E.options||{}).startAngle||0))%360;return(de<0?de+360:de)*Math.PI*2/360},getDistanceFromCenterForValue:function(p){var E=this;if(ht.isNullOrUndef(p))return NaN;var N=E.drawingArea/(E.max-E.min);return E.options.ticks.reverse?(E.max-p)*N:(p-E.min)*N},getPointPosition:function(p,E){var N=this,$=N.getIndexAngle(p)-Math.PI/2;return{x:Math.cos($)*E+N.xCenter,y:Math.sin($)*E+N.yCenter}},getPointPositionForValue:function(p,E){return this.getPointPosition(p,this.getDistanceFromCenterForValue(E))},getBasePosition:function(p){var E=this,N=E.min,$=E.max;return E.getPointPositionForValue(p||0,E.beginAtZero?0:N<0&&$<0?$:N>0&&$>0?N:0)},_drawGrid:function(){var qe,De,_t,p=this,E=p.ctx,N=p.options,$=N.gridLines,Q=N.angleLines,de=vn(Q.lineWidth,$.lineWidth),ve=vn(Q.color,$.color);if(N.pointLabels.display&&function(p){var E=p.ctx,N=p.options,$=N.pointLabels,Q=jr(N),de=p.getDistanceFromCenterForValue(N.ticks.reverse?p.min:p.max),ve=ht.options._parseFont($);E.save(),E.font=ve.string,E.textBaseline="middle";for(var qe=p.chart.data.labels.length-1;qe>=0;qe--){var _t=p.getPointPosition(qe,de+(0===qe?Q/2:0)+5),Yt=Gn($.fontColor,qe,mn.global.defaultFontColor);E.fillStyle=Yt;var Zt=p.getIndexAngle(qe),wn=ht.toDegrees(Zt);E.textAlign=Ci(wn),Ai(wn,p._pointLabelSizes[qe],_t),vi(E,p.pointLabels[qe],_t,ve.lineHeight)}E.restore()}(p),$.display&&ht.each(p.ticks,function(Yt,Zt){0!==Zt&&(De=p.getDistanceFromCenterForValue(p.ticksAsNumbers[Zt]),function(p,E,N,$){var _t,Q=p.ctx,de=E.circular,ve=p.chart.data.labels.length,qe=Gn(E.color,$-1),De=Gn(E.lineWidth,$-1);if((de||ve)&&qe&&De){if(Q.save(),Q.strokeStyle=qe,Q.lineWidth=De,Q.setLineDash&&(Q.setLineDash(E.borderDash||[]),Q.lineDashOffset=E.borderDashOffset||0),Q.beginPath(),de)Q.arc(p.xCenter,p.yCenter,N,0,2*Math.PI);else{_t=p.getPointPosition(0,N),Q.moveTo(_t.x,_t.y);for(var Yt=1;Yt<ve;Yt++)_t=p.getPointPosition(Yt,N),Q.lineTo(_t.x,_t.y)}Q.closePath(),Q.stroke(),Q.restore()}}(p,$,De,Zt))}),Q.display&&de&&ve){for(E.save(),E.lineWidth=de,E.strokeStyle=ve,E.setLineDash&&(E.setLineDash(kn([Q.borderDash,$.borderDash,[]])),E.lineDashOffset=kn([Q.borderDashOffset,$.borderDashOffset,0])),qe=p.chart.data.labels.length-1;qe>=0;qe--)De=p.getDistanceFromCenterForValue(N.ticks.reverse?p.min:p.max),_t=p.getPointPosition(qe,De),E.beginPath(),E.moveTo(p.xCenter,p.yCenter),E.lineTo(_t.x,_t.y),E.stroke();E.restore()}},_drawLabels:function(){var p=this,E=p.ctx,$=p.options.ticks;if($.display){var qe,De,Q=p.getIndexAngle(0),de=ht.options._parseFont($),ve=vn($.fontColor,mn.global.defaultFontColor);E.save(),E.font=de.string,E.translate(p.xCenter,p.yCenter),E.rotate(Q),E.textAlign="center",E.textBaseline="middle",ht.each(p.ticks,function(_t,Yt){0===Yt&&!$.reverse||(qe=p.getDistanceFromCenterForValue(p.ticksAsNumbers[Yt]),$.showLabelBackdrop&&(De=E.measureText(_t).width,E.fillStyle=$.backdropColor,E.fillRect(-De/2-$.backdropPaddingX,-qe-de.size/2-$.backdropPaddingY,De+2*$.backdropPaddingX,de.size+2*$.backdropPaddingY)),E.fillStyle=ve,E.fillText(_t,0,-qe))}),E.restore()}},_drawTitle:ht.noop});wo._defaults=zn;var Oo=ht._deprecated,Ki=ht.options.resolve,Vi=ht.valueOrDefault,Wo=Number.MIN_SAFE_INTEGER||-9007199254740991,Po=Number.MAX_SAFE_INTEGER||9007199254740991,ho={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},xo=Object.keys(ho);function Ps(p,E){return p-E}function Hs(p){return ht.valueOrDefault(p.time.min,p.ticks.min)}function Pa(p){return ht.valueOrDefault(p.time.max,p.ticks.max)}function ra(p,E,N,$){var Q=function(p,E,N){for(var de,ve,qe,$=0,Q=p.length-1;$>=0&&$<=Q;){if(qe=p[de=$+Q>>1],!(ve=p[de-1]||null))return{lo:null,hi:qe};if(qe[E]<N)$=de+1;else{if(!(ve[E]>N))return{lo:ve,hi:qe};Q=de-1}}return{lo:qe,hi:null}}(p,E,N),de=Q.lo?Q.hi?Q.lo:p[p.length-2]:p[0],ve=Q.lo?Q.hi?Q.hi:p[p.length-1]:p[1],qe=ve[E]-de[E];return de[$]+(ve[$]-de[$])*(qe?(N-de[E])/qe:0)}function ns(p,E){var N=p._adapter,$=p.options.time,Q=$.parser,de=Q||$.format,ve=E;return"function"==typeof Q&&(ve=Q(ve)),ht.isFinite(ve)||(ve="string"==typeof de?N.parse(ve,de):N.parse(ve)),null!==ve?+ve:(!Q&&"function"==typeof de&&(ve=de(E),ht.isFinite(ve)||(ve=N.parse(ve))),ve)}function Aa(p,E){if(ht.isNullOrUndef(E))return null;var N=p.options.time,$=ns(p,p.getRightValue(E));return null===$||N.round&&($=+p._adapter.startOf($,N.round)),$}function zs(p,E,N,$){var de,ve,Q=xo.length;for(de=xo.indexOf(p);de<Q-1;++de)if((ve=ho[xo[de]]).common&&Math.ceil((N-E)/((ve.steps?ve.steps:Po)*ve.size))<=$)return xo[de];return xo[Q-1]}function Zs(p,E,N){var ve,qe,$=[],Q={},de=E.length;for(ve=0;ve<de;++ve)Q[qe=E[ve]]=ve,$.push({value:qe,major:!1});return 0!==de&&N?function(p,E,N,$){var qe,De,Q=p._adapter,de=+Q.startOf(E[0].value,$),ve=E[E.length-1].value;for(qe=de;qe<=ve;qe=+Q.add(qe,1,$))(De=N[qe])>=0&&(E[De].major=!0);return E}(p,$,Q,N):$}var $a=mo.extend({initialize:function(){this.mergeTicksOptions(),mo.prototype.initialize.call(this)},update:function(){var p=this,E=p.options,N=E.time||(E.time={}),$=p._adapter=new Fr._date(E.adapters.date);return Oo("time scale",N.format,"time.format","time.parser"),Oo("time scale",N.min,"time.min","ticks.min"),Oo("time scale",N.max,"time.max","ticks.max"),ht.mergeIf(N.displayFormats,$.formats()),mo.prototype.update.apply(p,arguments)},getRightValue:function(p){return p&&void 0!==p.t&&(p=p.t),mo.prototype.getRightValue.call(this,p)},determineDataLimits:function(){var Yt,Zt,wn,cr,sr,Tr,Yr,p=this,E=p.chart,N=p._adapter,$=p.options,Q=$.time.unit||"day",de=Po,ve=Wo,qe=[],De=[],_t=[],Pi=p._getLabels();for(Yt=0,wn=Pi.length;Yt<wn;++Yt)_t.push(Aa(p,Pi[Yt]));for(Yt=0,wn=(E.data.datasets||[]).length;Yt<wn;++Yt)if(E.isDatasetVisible(Yt))if(ht.isObject((sr=E.data.datasets[Yt].data)[0]))for(De[Yt]=[],Zt=0,cr=sr.length;Zt<cr;++Zt)Tr=Aa(p,sr[Zt]),qe.push(Tr),De[Yt][Zt]=Tr;else De[Yt]=_t.slice(0),Yr||(qe=qe.concat(_t),Yr=!0);else De[Yt]=[];_t.length&&(de=Math.min(de,_t[0]),ve=Math.max(ve,_t[_t.length-1])),qe.length&&(qe=wn>1?function(p){var $,Q,de,E={},N=[];for($=0,Q=p.length;$<Q;++$)E[de=p[$]]||(E[de]=!0,N.push(de));return N}(qe).sort(Ps):qe.sort(Ps),de=Math.min(de,qe[0]),ve=Math.max(ve,qe[qe.length-1])),de=Aa(p,Hs($))||de,ve=Aa(p,Pa($))||ve,de=de===Po?+N.startOf(Date.now(),Q):de,ve=ve===Wo?+N.endOf(Date.now(),Q)+1:ve,p.min=Math.min(de,ve),p.max=Math.max(de+1,ve),p._table=[],p._timestamps={data:qe,datasets:De,labels:_t}},buildTicks:function(){var Zt,wn,cr,p=this,E=p.min,N=p.max,$=p.options,Q=$.ticks,de=$.time,ve=p._timestamps,qe=[],De=p.getLabelCapacity(E),_t=Q.source,Yt=$.distribution;for(ve="data"===_t||"auto"===_t&&"series"===Yt?ve.data:"labels"===_t?ve.labels:function(p,E,N,$){var wn,Q=p._adapter,de=p.options,ve=de.time,qe=ve.unit||zs(ve.minUnit,E,N,$),De=Ki([ve.stepSize,ve.unitStepSize,1]),_t="week"===qe&&ve.isoWeekday,Yt=E,Zt=[];if(_t&&(Yt=+Q.startOf(Yt,"isoWeek",_t)),Yt=+Q.startOf(Yt,_t?"day":qe),Q.diff(N,E,qe)>1e5*De)throw E+" and "+N+" are too far apart with stepSize of "+De+" "+qe;for(wn=Yt;wn<N;wn=+Q.add(wn,De,qe))Zt.push(wn);return(wn===N||"ticks"===de.bounds)&&Zt.push(wn),Zt}(p,E,N,De),"ticks"===$.bounds&&ve.length&&(E=ve[0],N=ve[ve.length-1]),E=Aa(p,Hs($))||E,N=Aa(p,Pa($))||N,Zt=0,wn=ve.length;Zt<wn;++Zt)(cr=ve[Zt])>=E&&cr<=N&&qe.push(cr);return p.min=E,p.max=N,p._unit=de.unit||(Q.autoSkip?zs(de.minUnit,p.min,p.max,De):function(p,E,N,$,Q){var de,ve;for(de=xo.length-1;de>=xo.indexOf(N);de--)if(ho[ve=xo[de]].common&&p._adapter.diff(Q,$,ve)>=E-1)return ve;return xo[N?xo.indexOf(N):0]}(p,qe.length,de.minUnit,p.min,p.max)),p._majorUnit=Q.major.enabled&&"year"!==p._unit?function(p){for(var E=xo.indexOf(p)+1,N=xo.length;E<N;++E)if(ho[xo[E]].common)return xo[E]}(p._unit):void 0,p._table=function(p,E,N,$){if("linear"===$||!p.length)return[{time:E,pos:0},{time:N,pos:1}];var ve,qe,De,_t,Yt,Q=[],de=[E];for(ve=0,qe=p.length;ve<qe;++ve)(_t=p[ve])>E&&_t<N&&de.push(_t);for(de.push(N),ve=0,qe=de.length;ve<qe;++ve)Yt=de[ve+1],_t=de[ve],(void 0===(De=de[ve-1])||void 0===Yt||Math.round((Yt+De)/2)!==_t)&&Q.push({time:_t,pos:ve/(qe-1)});return Q}(p._timestamps.data,E,N,Yt),p._offsets=function(p,E,N,$,Q){var qe,De,de=0,ve=0;return Q.offset&&E.length&&(qe=ra(p,"time",E[0],"pos"),de=1===E.length?1-qe:(ra(p,"time",E[1],"pos")-qe)/2,De=ra(p,"time",E[E.length-1],"pos"),ve=1===E.length?De:(De-ra(p,"time",E[E.length-2],"pos"))/2),{start:de,end:ve,factor:1/(de+1+ve)}}(p._table,qe,0,0,$),Q.reverse&&qe.reverse(),Zs(p,qe,p._majorUnit)},getLabelForIndex:function(p,E){var N=this,$=N._adapter,Q=N.chart.data,de=N.options.time,ve=Q.labels&&p<Q.labels.length?Q.labels[p]:"",qe=Q.datasets[E].data[p];return ht.isObject(qe)&&(ve=N.getRightValue(qe)),de.tooltipFormat?$.format(ns(N,ve),de.tooltipFormat):"string"==typeof ve?ve:$.format(ns(N,ve),de.displayFormats.datetime)},tickFormatFunction:function(p,E,N,$){var Q=this,ve=Q.options,qe=ve.time.displayFormats,_t=Q._majorUnit,Yt=qe[_t],Zt=N[E],wn=ve.ticks,cr=_t&&Yt&&Zt&&Zt.major,sr=Q._adapter.format(p,$||(cr?Yt:qe[Q._unit])),Tr=cr?wn.major:wn.minor,Yr=Ki([Tr.callback,Tr.userCallback,wn.callback,wn.userCallback]);return Yr?Yr(sr,E,N):sr},convertTicksToLabels:function(p){var N,$,E=[];for(N=0,$=p.length;N<$;++N)E.push(this.tickFormatFunction(p[N].value,N,p));return E},getPixelForOffset:function(p){var E=this,N=E._offsets,$=ra(E._table,"time",p,"pos");return E.getPixelForDecimal((N.start+$)*N.factor)},getPixelForValue:function(p,E,N){var $=this,Q=null;if(void 0!==E&&void 0!==N&&(Q=$._timestamps.datasets[N][E]),null===Q&&(Q=Aa($,p)),null!==Q)return $.getPixelForOffset(Q)},getPixelForTick:function(p){var E=this.getTicks();return p>=0&&p<E.length?this.getPixelForOffset(E[p].value):null},getValueForPixel:function(p){var E=this,N=E._offsets,$=E.getDecimalForPixel(p)/N.factor-N.end,Q=ra(E._table,"pos",$,"time");return E._adapter._create(Q)},_getLabelSize:function(p){var E=this,N=E.options.ticks,$=E.ctx.measureText(p).width,Q=ht.toRadians(E.isHorizontal()?N.maxRotation:N.minRotation),de=Math.cos(Q),ve=Math.sin(Q),qe=Vi(N.fontSize,mn.global.defaultFontSize);return{w:$*de+qe*ve,h:$*ve+qe*de}},getLabelWidth:function(p){return this._getLabelSize(p).w},getLabelCapacity:function(p){var E=this,N=E.options.time,$=N.displayFormats,Q=$[N.unit]||$.millisecond,de=E.tickFormatFunction(p,0,Zs(E,[p],E._majorUnit),Q),ve=E._getLabelSize(de),qe=Math.floor(E.isHorizontal()?E.width/ve.w:E.height/ve.h);return E.options.offset&&qe--,qe>0?qe:1}});$a._defaults={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};var Ha={category:yc,linear:xe,logarithmic:Dt,radialLinear:wo,time:$a},ol={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};Fr._date.override("function"==typeof t?{_id:"moment",formats:function(){return ol},parse:function(p,E){return"string"==typeof p&&"string"==typeof E?p=t(p,E):p instanceof t||(p=t(p)),p.isValid()?p.valueOf():null},format:function(p,E){return t(p).format(E)},add:function(p,E,N){return t(p).add(E,N).valueOf()},diff:function(p,E,N){return t(p).diff(t(E),N)},startOf:function(p,E,N){return p=t(p),"isoWeek"===E?p.isoWeekday(N).valueOf():p.startOf(E).valueOf()},endOf:function(p,E){return t(p).endOf(E).valueOf()},_create:function(p){return t(p)}}:{}),mn._set("global",{plugins:{filler:{propagate:!0}}});var Us={dataset:function(p){var E=p.fill,N=p.chart,$=N.getDatasetMeta(E),de=$&&N.isDatasetVisible(E)&&$.dataset._children||[],ve=de.length||0;return ve?function(qe,De){return De<ve&&de[De]._view||null}:null},boundary:function(p){var E=p.boundary,N=E?E.x:null,$=E?E.y:null;return ht.isArray(E)?function(Q,de){return E[de]}:function(Q){return{x:null===N?Q.x:N,y:null===$?Q.y:$}}}};function sl(p,E,N){var de,$=p._model||{},Q=$.fill;if(void 0===Q&&(Q=!!$.backgroundColor),!1===Q||null===Q)return!1;if(!0===Q)return"origin";if(de=parseFloat(Q,10),isFinite(de)&&Math.floor(de)===de)return("-"===Q[0]||"+"===Q[0])&&(de=E+de),!(de===E||de<0||de>=N)&&de;switch(Q){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return Q;default:return!1}}function lc(p){return(p.el._scale||{}).getPointPositionForValue?function(p){var ve,qe,De,_t,Yt,E=p.el._scale,N=E.options,$=E.chart.data.labels.length,Q=p.fill,de=[];if(!$)return null;for(qe=N.ticks.reverse?E.min:E.max,De=E.getPointPositionForValue(0,ve=N.ticks.reverse?E.max:E.min),_t=0;_t<$;++_t)Yt="start"===Q||"end"===Q?E.getPointPositionForValue(_t,"start"===Q?ve:qe):E.getBasePosition(_t),N.gridLines.circular&&(Yt.cx=De.x,Yt.cy=De.y,Yt.angle=E.getIndexAngle(_t)-Math.PI/2),de.push(Yt);return de}(p):function(p){var de,E=p.el._model||{},N=p.el._scale||{},$=p.fill,Q=null;if(isFinite($))return null;if("start"===$?Q=void 0===E.scaleBottom?N.bottom:E.scaleBottom:"end"===$?Q=void 0===E.scaleTop?N.top:E.scaleTop:void 0!==E.scaleZero?Q=E.scaleZero:N.getBasePixel&&(Q=N.getBasePixel()),null!=Q){if(void 0!==Q.x&&void 0!==Q.y)return Q;if(ht.isFinite(Q))return{x:(de=N.isHorizontal())?Q:null,y:de?null:Q}}return null}(p)}function Va(p,E,N){var ve,Q=p[E].fill,de=[E];if(!N)return Q;for(;!1!==Q&&-1===de.indexOf(Q);){if(!isFinite(Q))return Q;if(!(ve=p[Q]))return!1;if(ve.visible)return Q;de.push(Q),Q=ve.fill}return!1}function ki(p){var E=p.fill,N="dataset";return!1===E?null:(isFinite(E)||(N="boundary"),Us[N](p))}function Oc(p){return p&&!p.skip}function pc(p,E,N,$,Q){var de,ve,qe,De;if($&&Q){for(p.moveTo(E[0].x,E[0].y),de=1;de<$;++de)ht.canvas.lineTo(p,E[de-1],E[de]);if(void 0!==N[0].angle){for(ve=N[0].cx,qe=N[0].cy,De=Math.sqrt(Math.pow(N[0].x-ve,2)+Math.pow(N[0].y-qe,2)),de=Q-1;de>0;--de)p.arc(ve,qe,De,N[de].angle,N[de-1].angle,!0);return}for(p.lineTo(N[Q-1].x,N[Q-1].y),de=Q-1;de>0;--de)ht.canvas.lineTo(p,N[de],N[de-1],!0)}}function pl(p,E,N,$,Q,de){var wn,cr,sr,Tr,Yr,Pi,yo,Co,ve=E.length,qe=$.spanGaps,De=[],_t=[],Yt=0,Zt=0;for(p.beginPath(),wn=0,cr=ve;wn<cr;++wn)Yr=N(Tr=E[sr=wn%ve]._view,sr,$),Pi=Oc(Tr),yo=Oc(Yr),de&&void 0===Co&&Pi&&(cr=ve+(Co=wn+1)),Pi&&yo?(Yt=De.push(Tr),Zt=_t.push(Yr)):Yt&&Zt&&(qe?(Pi&&De.push(Tr),yo&&_t.push(Yr)):(pc(p,De,_t,Yt,Zt),Yt=Zt=0,De=[],_t=[]));pc(p,De,_t,Yt,Zt),p.closePath(),p.fillStyle=Q,p.fill()}var _a={id:"filler",afterDatasetsUpdate:function(p,E){var de,ve,qe,De,N=(p.data.datasets||[]).length,$=E.propagate,Q=[];for(ve=0;ve<N;++ve)De=null,(qe=(de=p.getDatasetMeta(ve)).dataset)&&qe._model&&qe instanceof Vr.Line&&(De={visible:p.isDatasetVisible(ve),fill:sl(qe,ve,N),chart:p,el:qe}),de.$filler=De,Q.push(De);for(ve=0;ve<N;++ve)(De=Q[ve])&&(De.fill=Va(Q,ve,$),De.boundary=lc(De),De.mapper=ki(De))},beforeDatasetsDraw:function(p){var $,Q,de,ve,qe,De,_t,E=p._getSortedVisibleDatasetMetas(),N=p.ctx;for(Q=E.length-1;Q>=0;--Q)($=E[Q].$filler)&&$.visible&&(qe=(de=$.el)._children||[],_t=(ve=de._view).backgroundColor||mn.global.defaultColor,(De=$.mapper)&&_t&&qe.length&&(ht.canvas.clipArea(N,p.chartArea),pl(N,qe,De,ve,_t,de._loop),ht.canvas.unclipArea(N)))}},iu=ht.rtl.getRtlAdapter,cc=ht.noop,Ac=ht.valueOrDefault;function bu(p,E){return p.usePointStyle&&p.boxWidth>E?E:p.boxWidth}mn._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(p,E){var N=E.datasetIndex,$=this.chart,Q=$.getDatasetMeta(N);Q.hidden=null===Q.hidden?!$.data.datasets[N].hidden:null,$.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(p){var E=p.data.datasets,N=p.options.legend||{},$=N.labels&&N.labels.usePointStyle;return p._getSortedDatasetMetas().map(function(Q){var de=Q.controller.getStyle($?0:void 0);return{text:E[Q.index].label,fillStyle:de.backgroundColor,hidden:!p.isDatasetVisible(Q.index),lineCap:de.borderCapStyle,lineDash:de.borderDash,lineDashOffset:de.borderDashOffset,lineJoin:de.borderJoinStyle,lineWidth:de.borderWidth,strokeStyle:de.borderColor,pointStyle:de.pointStyle,rotation:de.rotation,datasetIndex:Q.index}},this)}}},legendCallback:function(p){var $,Q,de,E=document.createElement("ul"),N=p.data.datasets;for(E.setAttribute("class",p.id+"-legend"),$=0,Q=N.length;$<Q;$++)(de=E.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=N[$].backgroundColor,N[$].label&&de.appendChild(document.createTextNode(N[$].label));return E.outerHTML}});var ou=ot.extend({initialize:function(p){var E=this;ht.extend(E,p),E.legendHitBoxes=[],E._hoveredItem=null,E.doughnutMode=!1},beforeUpdate:cc,update:function(p,E,N){var $=this;return $.beforeUpdate(),$.maxWidth=p,$.maxHeight=E,$.margins=N,$.beforeSetDimensions(),$.setDimensions(),$.afterSetDimensions(),$.beforeBuildLabels(),$.buildLabels(),$.afterBuildLabels(),$.beforeFit(),$.fit(),$.afterFit(),$.afterUpdate(),$.minSize},afterUpdate:cc,beforeSetDimensions:cc,setDimensions:function(){var p=this;p.isHorizontal()?(p.width=p.maxWidth,p.left=0,p.right=p.width):(p.height=p.maxHeight,p.top=0,p.bottom=p.height),p.paddingLeft=0,p.paddingTop=0,p.paddingRight=0,p.paddingBottom=0,p.minSize={width:0,height:0}},afterSetDimensions:cc,beforeBuildLabels:cc,buildLabels:function(){var p=this,E=p.options.labels||{},N=ht.callback(E.generateLabels,[p.chart],p)||[];E.filter&&(N=N.filter(function($){return E.filter($,p.chart.data)})),p.options.reverse&&N.reverse(),p.legendItems=N},afterBuildLabels:cc,beforeFit:cc,fit:function(){var p=this,E=p.options,N=E.labels,$=E.display,Q=p.ctx,de=ht.options._parseFont(N),ve=de.size,qe=p.legendHitBoxes=[],De=p.minSize,_t=p.isHorizontal();if(_t?(De.width=p.maxWidth,De.height=$?10:0):(De.width=$?10:0,De.height=p.maxHeight),$){if(Q.font=de.string,_t){var Yt=p.lineWidths=[0],Zt=0;Q.textAlign="left",Q.textBaseline="middle",ht.each(p.legendItems,function(yo,Co){var ts=bu(N,ve)+ve/2+Q.measureText(yo.text).width;(0===Co||Yt[Yt.length-1]+ts+2*N.padding>De.width)&&(Zt+=ve+N.padding,Yt[Yt.length-(Co>0?0:1)]=0),qe[Co]={left:0,top:0,width:ts,height:ve},Yt[Yt.length-1]+=ts+N.padding}),De.height+=Zt}else{var wn=N.padding,cr=p.columnWidths=[],sr=p.columnHeights=[],Tr=N.padding,Yr=0,Pi=0;ht.each(p.legendItems,function(yo,Co){var ts=bu(N,ve)+ve/2+Q.measureText(yo.text).width;Co>0&&Pi+ve+2*wn>De.height&&(Tr+=Yr+N.padding,cr.push(Yr),sr.push(Pi),Yr=0,Pi=0),Yr=Math.max(Yr,ts),Pi+=ve+wn,qe[Co]={left:0,top:0,width:ts,height:ve}}),Tr+=Yr,cr.push(Yr),sr.push(Pi),De.width+=Tr}p.width=De.width,p.height=De.height}else p.width=De.width=p.height=De.height=0},afterFit:cc,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var p=this,E=p.options,N=E.labels,$=mn.global,Q=$.defaultColor,de=$.elements.line,ve=p.height,qe=p.columnHeights,De=p.width,_t=p.lineWidths;if(E.display){var Tr,Yt=iu(E.rtl,p.left,p.minSize.width),Zt=p.ctx,wn=Ac(N.fontColor,$.defaultFontColor),cr=ht.options._parseFont(N),sr=cr.size;Zt.textAlign=Yt.textAlign("left"),Zt.textBaseline="middle",Zt.lineWidth=.5,Zt.strokeStyle=wn,Zt.fillStyle=wn,Zt.font=cr.string;var Yr=bu(N,sr),Pi=p.legendHitBoxes,Xo=function(Ts,Ms){switch(E.align){case"start":return N.padding;case"end":return Ts-Ms;default:return(Ts-Ms+N.padding)/2}},ts=p.isHorizontal();Tr=ts?{x:p.left+Xo(De,_t[0]),y:p.top+N.padding,line:0}:{x:p.left+N.padding,y:p.top+Xo(ve,qe[0]),line:0},ht.rtl.overrideTextDirection(p.ctx,E.textDirection);var _s=sr+N.padding;ht.each(p.legendItems,function(Ts,Ms){var xs=Zt.measureText(Ts.text).width,ya=Yr+sr/2+xs,hl=Tr.x,Ga=Tr.y;Yt.setWidth(p.minSize.width),ts?Ms>0&&hl+ya+N.padding>p.left+p.minSize.width&&(Ga=Tr.y+=_s,Tr.line++,hl=Tr.x=p.left+Xo(De,_t[Tr.line])):Ms>0&&Ga+_s>p.top+p.minSize.height&&(hl=Tr.x=hl+p.columnWidths[Tr.line]+N.padding,Tr.line++,Ga=Tr.y=p.top+Xo(ve,qe[Tr.line]));var Qa=Yt.x(hl);(function(Ts,Ms,xs){if(!(isNaN(Yr)||Yr<=0)){Zt.save();var ya=Ac(xs.lineWidth,de.borderWidth);if(Zt.fillStyle=Ac(xs.fillStyle,Q),Zt.lineCap=Ac(xs.lineCap,de.borderCapStyle),Zt.lineDashOffset=Ac(xs.lineDashOffset,de.borderDashOffset),Zt.lineJoin=Ac(xs.lineJoin,de.borderJoinStyle),Zt.lineWidth=ya,Zt.strokeStyle=Ac(xs.strokeStyle,Q),Zt.setLineDash&&Zt.setLineDash(Ac(xs.lineDash,de.borderDash)),N&&N.usePointStyle){var hl=Yr*Math.SQRT2/2,Ga=Yt.xPlus(Ts,Yr/2);ht.canvas.drawPoint(Zt,xs.pointStyle,hl,Ga,Ms+sr/2,xs.rotation)}else Zt.fillRect(Yt.leftForLtr(Ts,Yr),Ms,Yr,sr),0!==ya&&Zt.strokeRect(Yt.leftForLtr(Ts,Yr),Ms,Yr,sr);Zt.restore()}})(Qa,Ga,Ts),Pi[Ms].left=Yt.leftForLtr(Qa,Pi[Ms].width),Pi[Ms].top=Ga,function(Ts,Ms,xs,ya){var hl=sr/2,Ga=Yt.xPlus(Ts,Yr+hl),Qa=Ms+hl;Zt.fillText(xs.text,Ga,Qa),xs.hidden&&(Zt.beginPath(),Zt.lineWidth=2,Zt.moveTo(Ga,Qa),Zt.lineTo(Yt.xPlus(Ga,ya),Qa),Zt.stroke())}(Qa,Ga,Ts,xs),ts?Tr.x+=ya+N.padding:Tr.y+=_s}),ht.rtl.restoreTextDirection(p.ctx,E.textDirection)}},_getLegendItemAt:function(p,E){var $,Q,de,N=this;if(p>=N.left&&p<=N.right&&E>=N.top&&E<=N.bottom)for(de=N.legendHitBoxes,$=0;$<de.length;++$)if(p>=(Q=de[$]).left&&p<=Q.left+Q.width&&E>=Q.top&&E<=Q.top+Q.height)return N.legendItems[$];return null},handleEvent:function(p){var Q,E=this,N=E.options,$="mouseup"===p.type?"click":p.type;if("mousemove"===$){if(!N.onHover&&!N.onLeave)return}else{if("click"!==$)return;if(!N.onClick)return}Q=E._getLegendItemAt(p.x,p.y),"click"===$?Q&&N.onClick&&N.onClick.call(E,p.native,Q):(N.onLeave&&Q!==E._hoveredItem&&(E._hoveredItem&&N.onLeave.call(E,p.native,E._hoveredItem),E._hoveredItem=Q),N.onHover&&Q&&N.onHover.call(E,p.native,Q))}});function xl(p,E){var N=new ou({ctx:p.ctx,options:E,chart:p});Ua.configure(p,N,E),Ua.addBox(p,N),p.legend=N}var Vl={id:"legend",_element:ou,beforeInit:function(p){var E=p.options.legend;E&&xl(p,E)},beforeUpdate:function(p){var E=p.options.legend,N=p.legend;E?(ht.mergeIf(E,mn.global.legend),N?(Ua.configure(p,N,E),N.options=E):xl(p,E)):N&&(Ua.removeBox(p,N),delete p.legend)},afterEvent:function(p,E){var N=p.legend;N&&N.handleEvent(E)}},el=ht.noop;mn._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var tl=ot.extend({initialize:function(p){ht.extend(this,p),this.legendHitBoxes=[]},beforeUpdate:el,update:function(p,E,N){var $=this;return $.beforeUpdate(),$.maxWidth=p,$.maxHeight=E,$.margins=N,$.beforeSetDimensions(),$.setDimensions(),$.afterSetDimensions(),$.beforeBuildLabels(),$.buildLabels(),$.afterBuildLabels(),$.beforeFit(),$.fit(),$.afterFit(),$.afterUpdate(),$.minSize},afterUpdate:el,beforeSetDimensions:el,setDimensions:function(){var p=this;p.isHorizontal()?(p.width=p.maxWidth,p.left=0,p.right=p.width):(p.height=p.maxHeight,p.top=0,p.bottom=p.height),p.paddingLeft=0,p.paddingTop=0,p.paddingRight=0,p.paddingBottom=0,p.minSize={width:0,height:0}},afterSetDimensions:el,beforeBuildLabels:el,buildLabels:el,afterBuildLabels:el,beforeFit:el,fit:function(){var de,p=this,E=p.options,N=p.minSize={},$=p.isHorizontal();E.display?(de=(ht.isArray(E.text)?E.text.length:1)*ht.options._parseFont(E).lineHeight+2*E.padding,p.width=N.width=$?p.maxWidth:de,p.height=N.height=$?de:p.maxHeight):p.width=N.width=p.height=N.height=0},afterFit:el,isHorizontal:function(){var p=this.options.position;return"top"===p||"bottom"===p},draw:function(){var p=this,E=p.ctx,N=p.options;if(N.display){var Zt,wn,cr,$=ht.options._parseFont(N),Q=$.lineHeight,de=Q/2+N.padding,ve=0,qe=p.top,De=p.left,_t=p.bottom,Yt=p.right;E.fillStyle=ht.valueOrDefault(N.fontColor,mn.global.defaultFontColor),E.font=$.string,p.isHorizontal()?(wn=De+(Yt-De)/2,cr=qe+de,Zt=Yt-De):(wn="left"===N.position?De+de:Yt-de,cr=qe+(_t-qe)/2,Zt=_t-qe,ve=Math.PI*("left"===N.position?-.5:.5)),E.save(),E.translate(wn,cr),E.rotate(ve),E.textAlign="center",E.textBaseline="middle";var sr=N.text;if(ht.isArray(sr))for(var Tr=0,Yr=0;Yr<sr.length;++Yr)E.fillText(sr[Yr],0,Tr,Zt),Tr+=Q;else E.fillText(sr,0,0,Zt);E.restore()}}});function ml(p,E){var N=new tl({ctx:p.ctx,options:E,chart:p});Ua.configure(p,N,E),Ua.addBox(p,N),p.titleBlock=N}var vl={},hc=_a,Jl=Vl,nl={id:"title",_element:tl,beforeInit:function(p){var E=p.options.title;E&&ml(p,E)},beforeUpdate:function(p){var E=p.options.title,N=p.titleBlock;E?(ht.mergeIf(E,mn.global.title),N?(Ua.configure(p,N,E),N.options=E):ml(p,E)):N&&(Ua.removeBox(p,N),delete p.titleBlock)}};for(var yl in vl.filler=hc,vl.legend=Jl,vl.title=nl,Bt.helpers=ht,function(){function p($,Q,de){var ve;return"string"==typeof $?(ve=parseInt($,10),-1!==$.indexOf("%")&&(ve=ve/100*Q.parentNode[de])):ve=$,ve}function E($){return null!=$&&"none"!==$}function N($,Q,de){var ve=document.defaultView,qe=ht._getParentNode($),De=ve.getComputedStyle($)[Q],_t=ve.getComputedStyle(qe)[Q],Yt=E(De),Zt=E(_t),wn=Number.POSITIVE_INFINITY;return Yt||Zt?Math.min(Yt?p(De,$,de):wn,Zt?p(_t,qe,de):wn):"none"}ht.where=function($,Q){if(ht.isArray($)&&Array.prototype.filter)return $.filter(Q);var de=[];return ht.each($,function(ve){Q(ve)&&de.push(ve)}),de},ht.findIndex=Array.prototype.findIndex?function($,Q,de){return $.findIndex(Q,de)}:function($,Q,de){de=void 0===de?$:de;for(var ve=0,qe=$.length;ve<qe;++ve)if(Q.call(de,$[ve],ve,$))return ve;return-1},ht.findNextWhere=function($,Q,de){ht.isNullOrUndef(de)&&(de=-1);for(var ve=de+1;ve<$.length;ve++){var qe=$[ve];if(Q(qe))return qe}},ht.findPreviousWhere=function($,Q,de){ht.isNullOrUndef(de)&&(de=$.length);for(var ve=de-1;ve>=0;ve--){var qe=$[ve];if(Q(qe))return qe}},ht.isNumber=function($){return!isNaN(parseFloat($))&&isFinite($)},ht.almostEquals=function($,Q,de){return Math.abs($-Q)<de},ht.almostWhole=function($,Q){var de=Math.round($);return de-Q<=$&&de+Q>=$},ht.max=function($){return $.reduce(function(Q,de){return isNaN(de)?Q:Math.max(Q,de)},Number.NEGATIVE_INFINITY)},ht.min=function($){return $.reduce(function(Q,de){return isNaN(de)?Q:Math.min(Q,de)},Number.POSITIVE_INFINITY)},ht.sign=Math.sign?function($){return Math.sign($)}:function($){return 0==($=+$)||isNaN($)?$:$>0?1:-1},ht.toRadians=function($){return $*(Math.PI/180)},ht.toDegrees=function($){return $*(180/Math.PI)},ht._decimalPlaces=function($){if(ht.isFinite($)){for(var Q=1,de=0;Math.round($*Q)/Q!==$;)Q*=10,de++;return de}},ht.getAngleFromPoint=function($,Q){var de=Q.x-$.x,ve=Q.y-$.y,qe=Math.sqrt(de*de+ve*ve),De=Math.atan2(ve,de);return De<-.5*Math.PI&&(De+=2*Math.PI),{angle:De,distance:qe}},ht.distanceBetweenPoints=function($,Q){return Math.sqrt(Math.pow(Q.x-$.x,2)+Math.pow(Q.y-$.y,2))},ht.aliasPixel=function($){return $%2==0?0:.5},ht._alignPixel=function($,Q,de){var ve=$.currentDevicePixelRatio,qe=de/2;return Math.round((Q-qe)*ve)/ve+qe},ht.splineCurve=function($,Q,de,ve){var qe=$.skip?Q:$,De=Q,_t=de.skip?Q:de,Yt=Math.sqrt(Math.pow(De.x-qe.x,2)+Math.pow(De.y-qe.y,2)),Zt=Math.sqrt(Math.pow(_t.x-De.x,2)+Math.pow(_t.y-De.y,2)),wn=Yt/(Yt+Zt),cr=Zt/(Yt+Zt),sr=ve*(wn=isNaN(wn)?0:wn),Tr=ve*(cr=isNaN(cr)?0:cr);return{previous:{x:De.x-sr*(_t.x-qe.x),y:De.y-sr*(_t.y-qe.y)},next:{x:De.x+Tr*(_t.x-qe.x),y:De.y+Tr*(_t.y-qe.y)}}},ht.EPSILON=Number.EPSILON||1e-14,ht.splineCurveMonotone=function($){var ve,qe,De,_t,Zt,wn,cr,sr,Tr,Q=($||[]).map(function(Yr){return{model:Yr._model,deltaK:0,mK:0}}),de=Q.length;for(ve=0;ve<de;++ve)if(!(De=Q[ve]).model.skip){if(qe=ve>0?Q[ve-1]:null,(_t=ve<de-1?Q[ve+1]:null)&&!_t.model.skip){var Yt=_t.model.x-De.model.x;De.deltaK=0!==Yt?(_t.model.y-De.model.y)/Yt:0}De.mK=!qe||qe.model.skip?De.deltaK:!_t||_t.model.skip?qe.deltaK:this.sign(qe.deltaK)!==this.sign(De.deltaK)?0:(qe.deltaK+De.deltaK)/2}for(ve=0;ve<de-1;++ve)if(_t=Q[ve+1],!(De=Q[ve]).model.skip&&!_t.model.skip){if(ht.almostEquals(De.deltaK,0,this.EPSILON)){De.mK=_t.mK=0;continue}Zt=De.mK/De.deltaK,wn=_t.mK/De.deltaK,!((sr=Math.pow(Zt,2)+Math.pow(wn,2))<=9)&&(cr=3/Math.sqrt(sr),De.mK=Zt*cr*De.deltaK,_t.mK=wn*cr*De.deltaK)}for(ve=0;ve<de;++ve)!(De=Q[ve]).model.skip&&(_t=ve<de-1?Q[ve+1]:null,(qe=ve>0?Q[ve-1]:null)&&!qe.model.skip&&(De.model.controlPointPreviousX=De.model.x-(Tr=(De.model.x-qe.model.x)/3),De.model.controlPointPreviousY=De.model.y-Tr*De.mK),_t&&!_t.model.skip&&(De.model.controlPointNextX=De.model.x+(Tr=(_t.model.x-De.model.x)/3),De.model.controlPointNextY=De.model.y+Tr*De.mK))},ht.nextItem=function($,Q,de){return de?Q>=$.length-1?$[0]:$[Q+1]:Q>=$.length-1?$[$.length-1]:$[Q+1]},ht.previousItem=function($,Q,de){return de?Q<=0?$[$.length-1]:$[Q-1]:Q<=0?$[0]:$[Q-1]},ht.niceNum=function($,Q){var de=Math.floor(ht.log10($)),ve=$/Math.pow(10,de);return(Q?ve<1.5?1:ve<3?2:ve<7?5:10:ve<=1?1:ve<=2?2:ve<=5?5:10)*Math.pow(10,de)},ht.requestAnimFrame="undefined"==typeof window?function($){$()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function($){return window.setTimeout($,1e3/60)},ht.getRelativePosition=function($,Q){var de,ve,qe=$.originalEvent||$,De=$.target||$.srcElement,_t=De.getBoundingClientRect(),Yt=qe.touches;Yt&&Yt.length>0?(de=Yt[0].clientX,ve=Yt[0].clientY):(de=qe.clientX,ve=qe.clientY);var Zt=parseFloat(ht.getStyle(De,"padding-left")),wn=parseFloat(ht.getStyle(De,"padding-top")),cr=parseFloat(ht.getStyle(De,"padding-right")),sr=parseFloat(ht.getStyle(De,"padding-bottom")),Yr=_t.bottom-_t.top-wn-sr;return{x:de=Math.round((de-_t.left-Zt)/(_t.right-_t.left-Zt-cr)*De.width/Q.currentDevicePixelRatio),y:ve=Math.round((ve-_t.top-wn)/Yr*De.height/Q.currentDevicePixelRatio)}},ht.getConstraintWidth=function($){return N($,"max-width","clientWidth")},ht.getConstraintHeight=function($){return N($,"max-height","clientHeight")},ht._calculatePadding=function($,Q,de){return(Q=ht.getStyle($,Q)).indexOf("%")>-1?de*parseInt(Q,10)/100:parseInt(Q,10)},ht._getParentNode=function($){var Q=$.parentNode;return Q&&"[object ShadowRoot]"===Q.toString()&&(Q=Q.host),Q},ht.getMaximumWidth=function($){var Q=ht._getParentNode($);if(!Q)return $.clientWidth;var de=Q.clientWidth,De=de-ht._calculatePadding(Q,"padding-left",de)-ht._calculatePadding(Q,"padding-right",de),_t=ht.getConstraintWidth($);return isNaN(_t)?De:Math.min(De,_t)},ht.getMaximumHeight=function($){var Q=ht._getParentNode($);if(!Q)return $.clientHeight;var de=Q.clientHeight,De=de-ht._calculatePadding(Q,"padding-top",de)-ht._calculatePadding(Q,"padding-bottom",de),_t=ht.getConstraintHeight($);return isNaN(_t)?De:Math.min(De,_t)},ht.getStyle=function($,Q){return $.currentStyle?$.currentStyle[Q]:document.defaultView.getComputedStyle($,null).getPropertyValue(Q)},ht.retinaScale=function($,Q){var de=$.currentDevicePixelRatio=Q||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==de){var ve=$.canvas,qe=$.height,De=$.width;ve.height=qe*de,ve.width=De*de,$.ctx.scale(de,de),!ve.style.height&&!ve.style.width&&(ve.style.height=qe+"px",ve.style.width=De+"px")}},ht.fontString=function($,Q,de){return Q+" "+$+"px "+de},ht.longestText=function($,Q,de,ve){var qe=(ve=ve||{}).data=ve.data||{},De=ve.garbageCollect=ve.garbageCollect||[];ve.font!==Q&&(qe=ve.data={},De=ve.garbageCollect=[],ve.font=Q),$.font=Q;var Zt,wn,cr,sr,Tr,_t=0,Yt=de.length;for(Zt=0;Zt<Yt;Zt++)if(null!=(sr=de[Zt])&&!0!==ht.isArray(sr))_t=ht.measureText($,qe,De,_t,sr);else if(ht.isArray(sr))for(wn=0,cr=sr.length;wn<cr;wn++)null!=(Tr=sr[wn])&&!ht.isArray(Tr)&&(_t=ht.measureText($,qe,De,_t,Tr));var Yr=De.length/2;if(Yr>de.length){for(Zt=0;Zt<Yr;Zt++)delete qe[De[Zt]];De.splice(0,Yr)}return _t},ht.measureText=function($,Q,de,ve,qe){var De=Q[qe];return De||(De=Q[qe]=$.measureText(qe).width,de.push(qe)),De>ve&&(ve=De),ve},ht.numberOfLabelLines=function($){var Q=1;return ht.each($,function(de){ht.isArray(de)&&de.length>Q&&(Q=de.length)}),Q},ht.color=er?function($){return $ instanceof CanvasGradient&&($=mn.global.defaultColor),er($)}:function($){return console.error("Color.js not found!"),$},ht.getHoverColor=function($){return $ instanceof CanvasPattern||$ instanceof CanvasGradient?$:ht.color($).saturate(.5).darken(.1).rgbString()}}(),Bt._adapters=Fr,Bt.Animation=sn,Bt.animationService=An,Bt.controllers=ni,Bt.DatasetController=br,Bt.defaults=mn,Bt.Element=ot,Bt.elements=Vr,Bt.Interaction=Os,Bt.layouts=Ua,Bt.platform=pa,Bt.plugins=Vo,Bt.Scale=mo,Bt.scaleService=ja,Bt.Ticks=zr,Bt.Tooltip=Ui,Bt.helpers.each(Ha,function(p,E){Bt.scaleService.registerScaleType(E,p,p._defaults)}),vl)vl.hasOwnProperty(yl)&&Bt.plugins.register(vl[yl]);Bt.platform.initialize();var El=Bt;return"undefined"!=typeof window&&(window.Chart=Bt),Bt.Chart=Bt,Bt.Legend=vl.legend._element,Bt.Title=vl.title._element,Bt.pluginService=Bt.plugins,Bt.PluginBase=Bt.Element.extend({}),Bt.canvasHelpers=Bt.helpers.canvas,Bt.layoutService=Bt.layouts,Bt.LinearScaleBase=kl,Bt.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],function(p){Bt[p]=function(E,N){return new Bt(E,Bt.helpers.merge(N||{},{type:p.charAt(0).toLowerCase()+p.slice(1)}))}}),El}(function(){try{return o(16738)}catch(s){}}())},2665:Ge=>{Ge.exports=function(o,t){for(var e=[],s=0;s<o.length;s++){var a=t(o[s],s);g(a)?e.push.apply(e,a):e.push(a)}return e};var g=Array.isArray||function(o){return"[object Array]"===Object.prototype.toString.call(o)}},97057:(Ge,g,o)=>{"use strict";o.d(g,{qY:()=>D});var e=function(J,Y,ie){this.name=J,this.version=Y,this.os=ie,this.type="browser"},s=function(J){this.version=J,this.type="node",this.name="node",this.os=process.platform},a=function(J,Y,ie,oe){this.name=J,this.version=Y,this.os=ie,this.bot=oe,this.type="bot-device"},l=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},u=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},_=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,b=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FBAV\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],C=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function D(I){return I?H(I):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new u:"undefined"!=typeof navigator?H(navigator.userAgent):"undefined"!=typeof process&&process.version?new s(process.version.slice(1)):null}function H(I){var J=function(I){return""!==I&&b.reduce(function(J,Y){var ie=Y[0];if(J)return J;var fe=Y[1].exec(I);return!!fe&&[ie,fe]},!1)}(I);if(!J)return null;var Y=J[0],ie=J[1];if("searchbot"===Y)return new l;var oe=ie[1]&&ie[1].split(/[._]/).slice(0,3);oe?oe.length<3&&(oe=function(){for(var I=0,J=0,Y=arguments.length;J<Y;J++)I+=arguments[J].length;var ie=Array(I),oe=0;for(J=0;J<Y;J++)for(var fe=arguments[J],ne=0,he=fe.length;ne<he;ne++,oe++)ie[oe]=fe[ne];return ie}(oe,function(I){for(var J=[],Y=0;Y<I;Y++)J.push("0");return J}(3-oe.length))):oe=[];var fe=oe.join("."),ne=function(I){for(var J=0,Y=C.length;J<Y;J++){var ie=C[J],oe=ie[0];if(ie[1].exec(I))return oe}return null}(I),he=_.exec(I);return he&&he[1]?new a(Y,fe,ne,he[1]):new e(Y,fe,ne)}},49457:function(Ge,g){var o,e;void 0!==(e="function"==typeof(o=function(){"use strict";function a(m,b,C){var D=new XMLHttpRequest;D.open("GET",m),D.responseType="blob",D.onload=function(){_(D.response,b,C)},D.onerror=function(){console.error("could not download file")},D.send()}function l(m){var b=new XMLHttpRequest;b.open("HEAD",m,!1);try{b.send()}catch(C){}return 200<=b.status&&299>=b.status}function u(m){try{m.dispatchEvent(new MouseEvent("click"))}catch(C){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),m.dispatchEvent(b)}}var h="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,_=h.saveAs||("object"!=typeof window||window!==h?function(){}:"download"in HTMLAnchorElement.prototype?function(m,b,C){var D=h.URL||h.webkitURL,x=document.createElement("a");x.download=b=b||m.name||"download",x.rel="noopener","string"==typeof m?(x.href=m,x.origin===location.origin?u(x):l(x.href)?a(m,b,C):u(x,x.target="_blank")):(x.href=D.createObjectURL(m),setTimeout(function(){D.revokeObjectURL(x.href)},4e4),setTimeout(function(){u(x)},0))}:"msSaveOrOpenBlob"in navigator?function(m,b,C){if(b=b||m.name||"download","string"!=typeof m)navigator.msSaveOrOpenBlob(function(m,b){return void 0===b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Deprecated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(m.type)?new Blob(["\ufeff",m],{type:m.type}):m}(m,C),b);else if(l(m))a(m,b,C);else{var D=document.createElement("a");D.href=m,D.target="_blank",setTimeout(function(){u(D)})}}:function(m,b,C,D){if((D=D||open("","_blank"))&&(D.document.title=D.document.body.innerText="downloading..."),"string"==typeof m)return a(m,b,C);var x="application/octet-stream"===m.type,j=/constructor/i.test(h.HTMLElement)||h.safari,H=/CriOS\/[\d]+/.test(navigator.userAgent);if((H||x&&j)&&"object"==typeof FileReader){var z=new FileReader;z.onloadend=function(){var I=z.result;I=H?I:I.replace(/^data:[^;]*;/,"data:attachment/file;"),D?D.location.href=I:location=I,D=null},z.readAsDataURL(m)}else{var U=h.URL||h.webkitURL,M=U.createObjectURL(m);D?D.location=M:location.href=M,D=null,setTimeout(function(){U.revokeObjectURL(M)},4e4)}});h.saveAs=_.saveAs=_,Ge.exports=_})?o.apply(g,[]):o)&&(Ge.exports=e)},86906:Ge=>{var e=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt,h="object"==typeof global&&global&&global.Object===Object&&global,_="object"==typeof self&&self&&self.Object===Object&&self,m=h||_||Function("return this")(),C=Object.prototype.toString,D=Math.max,x=Math.min,j=function(){return m.Date.now()};function z(J){var Y=typeof J;return!!J&&("object"==Y||"function"==Y)}function I(J){if("number"==typeof J)return J;if(function(J){return"symbol"==typeof J||function(J){return!!J&&"object"==typeof J}(J)&&"[object Symbol]"==C.call(J)}(J))return NaN;if(z(J)){var Y="function"==typeof J.valueOf?J.valueOf():J;J=z(Y)?Y+"":Y}if("string"!=typeof J)return 0===J?J:+J;J=J.replace(e,"");var ie=a.test(J);return ie||l.test(J)?u(J.slice(2),ie?2:8):s.test(J)?NaN:+J}Ge.exports=function(J,Y,ie){var oe,fe,ne,he,ce,Ae,Me=0,Oe=!1,be=!1,ue=!0;if("function"!=typeof J)throw new TypeError("Expected a function");function He(Qe){var It=oe,ae=fe;return oe=fe=void 0,Me=Qe,he=J.apply(ae,It)}function $e(Qe){return Me=Qe,ce=setTimeout(Et,Y),Oe?He(Qe):he}function je(Qe){var It=Qe-Ae;return void 0===Ae||It>=Y||It<0||be&&Qe-Me>=ne}function Et(){var Qe=j();if(je(Qe))return lt(Qe);ce=setTimeout(Et,function(Qe){var Ie=Y-(Qe-Ae);return be?x(Ie,ne-(Qe-Me)):Ie}(Qe))}function lt(Qe){return ce=void 0,ue&&oe?He(Qe):(oe=fe=void 0,he)}function At(){var Qe=j(),It=je(Qe);if(oe=arguments,fe=this,Ae=Qe,It){if(void 0===ce)return $e(Ae);if(be)return ce=setTimeout(Et,Y),He(Ae)}return void 0===ce&&(ce=setTimeout(Et,Y)),he}return Y=I(Y)||0,z(ie)&&(Oe=!!ie.leading,ne=(be="maxWait"in ie)?D(I(ie.maxWait)||0,Y):ne,ue="trailing"in ie?!!ie.trailing:ue),At.cancel=function(){void 0!==ce&&clearTimeout(ce),Me=0,oe=Ae=fe=ce=void 0},At.flush=function(){return void 0===ce?he:lt(j())},At}},66941:Ge=>{var Ln,o="__lodash_hash_undefined__",a=/^\[object .+?Constructor\]$/,l="object"==typeof global&&global&&global.Object===Object&&global,u="object"==typeof self&&self&&self.Object===Object&&self,h=l||u||Function("return this")(),b=Array.prototype,C=Function.prototype,D=Object.prototype,x=h["__core-js_shared__"],j=(Ln=/[^.]+$/.exec(x&&x.keys&&x.keys.IE_PROTO||""))?"Symbol(src)_1."+Ln:"",H=C.toString,z=D.hasOwnProperty,U=D.toString,M=RegExp("^"+H.call(z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),I=b.splice,J=It(h,"Map"),Y=It(Object,"create");function ie(Ln){var Rn=-1,er=Ln?Ln.length:0;for(this.clear();++Rn<er;){var Mn=Ln[Rn];this.set(Mn[0],Mn[1])}}function Ae(Ln){var Rn=-1,er=Ln?Ln.length:0;for(this.clear();++Rn<er;){var Mn=Ln[Rn];this.set(Mn[0],Mn[1])}}function $e(Ln){var Rn=-1,er=Ln?Ln.length:0;for(this.clear();++Rn<er;){var Mn=Ln[Rn];this.set(Mn[0],Mn[1])}}function St(Ln,Rn){for(var er=Ln.length;er--;)if(zt(Ln[er][0],Rn))return er;return-1}function Qe(Ln,Rn){var er=Ln.__data__;return function(Ln){var Rn=typeof Ln;return"string"==Rn||"number"==Rn||"symbol"==Rn||"boolean"==Rn?"__proto__"!==Ln:null===Ln}(Rn)?er["string"==typeof Rn?"string":"hash"]:er.map}function It(Ln,Rn){var er=function(Ln,Rn){return null==Ln?void 0:Ln[Rn]}(Ln,Rn);return function(Ln){return!(!ar(Ln)||function(Ln){return!!j&&j in Ln}(Ln))&&(function(Ln){var Rn=ar(Ln)?U.call(Ln):"";return"[object Function]"==Rn||"[object GeneratorFunction]"==Rn}(Ln)||function(Ln){var Rn=!1;if(null!=Ln&&"function"!=typeof Ln.toString)try{Rn=!!(Ln+"")}catch(er){}return Rn}(Ln)?M:a).test(function(Ln){if(null!=Ln){try{return H.call(Ln)}catch(Rn){}try{return Ln+""}catch(Rn){}}return""}(Ln))}(er)?er:void 0}function Jt(Ln,Rn){if("function"!=typeof Ln||Rn&&"function"!=typeof Rn)throw new TypeError("Expected a function");var er=function(){var Mn=arguments,Ht=Rn?Rn.apply(this,Mn):Mn[0],tr=er.cache;if(tr.has(Ht))return tr.get(Ht);var Yn=Ln.apply(this,Mn);return er.cache=tr.set(Ht,Yn),Yn};return er.cache=new(Jt.Cache||$e),er}function zt(Ln,Rn){return Ln===Rn||Ln!=Ln&&Rn!=Rn}function ar(Ln){var Rn=typeof Ln;return!!Ln&&("object"==Rn||"function"==Rn)}ie.prototype.clear=function(){this.__data__=Y?Y(null):{}},ie.prototype.delete=function(Ln){return this.has(Ln)&&delete this.__data__[Ln]},ie.prototype.get=function(Ln){var Rn=this.__data__;if(Y){var er=Rn[Ln];return er===o?void 0:er}return z.call(Rn,Ln)?Rn[Ln]:void 0},ie.prototype.has=function(Ln){var Rn=this.__data__;return Y?void 0!==Rn[Ln]:z.call(Rn,Ln)},ie.prototype.set=function(Ln,Rn){return this.__data__[Ln]=Y&&void 0===Rn?o:Rn,this},Ae.prototype.clear=function(){this.__data__=[]},Ae.prototype.delete=function(Ln){var Rn=this.__data__,er=St(Rn,Ln);return!(er<0||(er==Rn.length-1?Rn.pop():I.call(Rn,er,1),0))},Ae.prototype.get=function(Ln){var Rn=this.__data__,er=St(Rn,Ln);return er<0?void 0:Rn[er][1]},Ae.prototype.has=function(Ln){return St(this.__data__,Ln)>-1},Ae.prototype.set=function(Ln,Rn){var er=this.__data__,Mn=St(er,Ln);return Mn<0?er.push([Ln,Rn]):er[Mn][1]=Rn,this},$e.prototype.clear=function(){this.__data__={hash:new ie,map:new(J||Ae),string:new ie}},$e.prototype.delete=function(Ln){return Qe(this,Ln).delete(Ln)},$e.prototype.get=function(Ln){return Qe(this,Ln).get(Ln)},$e.prototype.has=function(Ln){return Qe(this,Ln).has(Ln)},$e.prototype.set=function(Ln,Rn){return Qe(this,Ln).set(Ln,Rn),this},Jt.Cache=$e,Ge.exports=Jt},6123:Ge=>{var g="Expected a function",e=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt,h="object"==typeof global&&global&&global.Object===Object&&global,_="object"==typeof self&&self&&self.Object===Object&&self,m=h||_||Function("return this")(),C=Object.prototype.toString,D=Math.max,x=Math.min,j=function(){return m.Date.now()};function U(Y){var ie=typeof Y;return!!Y&&("object"==ie||"function"==ie)}function J(Y){if("number"==typeof Y)return Y;if(function(Y){return"symbol"==typeof Y||function(Y){return!!Y&&"object"==typeof Y}(Y)&&"[object Symbol]"==C.call(Y)}(Y))return NaN;if(U(Y)){var ie="function"==typeof Y.valueOf?Y.valueOf():Y;Y=U(ie)?ie+"":ie}if("string"!=typeof Y)return 0===Y?Y:+Y;Y=Y.replace(e,"");var oe=a.test(Y);return oe||l.test(Y)?u(Y.slice(2),oe?2:8):s.test(Y)?NaN:+Y}Ge.exports=function(Y,ie,oe){var fe=!0,ne=!0;if("function"!=typeof Y)throw new TypeError(g);return U(oe)&&(fe="leading"in oe?!!oe.leading:fe,ne="trailing"in oe?!!oe.trailing:ne),function(Y,ie,oe){var fe,ne,he,ce,Ae,Me,Oe=0,be=!1,ue=!1,He=!0;if("function"!=typeof Y)throw new TypeError(g);function $e(It){var ae=fe,Ie=ne;return fe=ne=void 0,Oe=It,ce=Y.apply(Ie,ae)}function F(It){return Oe=It,Ae=setTimeout(lt,ie),be?$e(It):ce}function Et(It){var ae=It-Me;return void 0===Me||ae>=ie||ae<0||ue&&It-Oe>=he}function lt(){var It=j();if(Et(It))return nn(It);Ae=setTimeout(lt,function(It){var dt=ie-(It-Me);return ue?x(dt,he-(It-Oe)):dt}(It))}function nn(It){return Ae=void 0,He&&fe?$e(It):(fe=ne=void 0,ce)}function Qe(){var It=j(),ae=Et(It);if(fe=arguments,ne=this,Me=It,ae){if(void 0===Ae)return F(Me);if(ue)return Ae=setTimeout(lt,ie),$e(Me)}return void 0===Ae&&(Ae=setTimeout(lt,ie)),ce}return ie=J(ie)||0,U(oe)&&(be=!!oe.leading,he=(ue="maxWait"in oe)?D(J(oe.maxWait)||0,ie):he,He="trailing"in oe?!!oe.trailing:He),Qe.cancel=function(){void 0!==Ae&&clearTimeout(Ae),Oe=0,fe=Me=ne=Ae=void 0},Qe.flush=function(){return void 0===Ae?ce:nn(j())},Qe}(Y,ie,{leading:fe,maxWait:ie,trailing:ne})}},23815:function(Ge,g,o){var t;Ge=o.nmd(Ge),function(){var e,u="Expected a function",_="__lodash_hash_undefined__",b="__lodash_placeholder__",Y=32,He=1/0,$e=9007199254740991,Et=4294967295,St=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",Y],["partialRight",64],["rearg",256]],At="[object Arguments]",Qe="[object Array]",ae="[object Boolean]",Ie="[object Date]",Jt="[object Error]",zt="[object Function]",ln="[object GeneratorFunction]",ar="[object Map]",Ln="[object Number]",er="[object Object]",Mn="[object Promise]",tr="[object RegExp]",Yn="[object Set]",Cn="[object String]",Kt="[object Symbol]",Kn="[object WeakMap]",Sn="[object ArrayBuffer]",$n="[object DataView]",En="[object Float32Array]",Fn="[object Float64Array]",Dn="[object Int8Array]",mn="[object Int16Array]",jn="[object Int32Array]",Xt="[object Uint8Array]",ut="[object Uint8ClampedArray]",mt="[object Uint16Array]",Tt="[object Uint32Array]",yn=/\b__p \+= '';/g,et=/\b(__p \+=) '' \+/g,jt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,hn=/&(?:amp|lt|gt|quot|#39);/g,Qn=/[&<>"']/g,Ir=RegExp(hn.source),ht=RegExp(Qn.source),L=/<%-([\s\S]+?)%>/g,Ue=/<%([\s\S]+?)%>/g,nt=/<%=([\s\S]+?)%>/g,at=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,it=/^\w*$/,Pt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ut=/[\\^$.*+?()[\]{}|]/g,ot=RegExp(Ut.source),Nn=/^\s+/,sn=/\s/,An=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bn=/\{\n\/\* \[wrapped with (.+)\] \*/,ir=/,? & /,mr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_r=/[()=,{}\[\]\/\s]/,Nr=/\\(\\)?/g,br=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Jn=/\w*$/,nr=/^[-+]0x[0-9a-f]+$/i,Mr=/^0b[01]+$/i,yi=/^\[object .+?Constructor\]$/,Ii=/^0o[0-7]+$/i,Mi=/^(?:0|[1-9]\d*)$/,Oi=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Kr=/($^)/,ei=/['\n\r\u2028\u2029\\]/g,di="\\ud800-\\udfff",Xe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Vt="\\u2700-\\u27bf",Ct="a-z\\xdf-\\xf6\\xf8-\\xff",or="A-Z\\xc0-\\xd6\\xd8-\\xde",Zn="\\ufe0e\\ufe0f",Vr="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ai="["+di+"]",Dr="["+Vr+"]",Qr="["+Xe+"]",rn="\\d+",fi="["+Vt+"]",Ei="["+Ct+"]",wi="[^"+di+Vr+rn+Vt+Ct+or+"]",go="\\ud83c[\\udffb-\\udfff]",no="[^"+di+"]",Ji="(?:\\ud83c[\\udde6-\\uddff]){2}",qi="[\\ud800-\\udbff][\\udc00-\\udfff]",to="["+or+"]",Go="(?:"+Ei+"|"+wi+")",Ro="(?:"+to+"|"+wi+")",Bo="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Jo="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",es="(?:"+Qr+"|"+go+")?",ua="["+Zn+"]?",Er=ua+es+"(?:\\u200d(?:"+[no,Ji,qi].join("|")+")"+ua+es+")*",st="(?:"+[fi,Ji,qi].join("|")+")"+Er,pn="(?:"+[no+Qr+"?",Qr,Ji,qi,ai].join("|")+")",ee=RegExp("['\u2019]","g"),Ve=RegExp(Qr,"g"),fn=RegExp(go+"(?="+go+")|"+pn+Er,"g"),Tn=RegExp([to+"?"+Ei+"+"+Bo+"(?="+[Dr,to,"$"].join("|")+")",Ro+"+"+Jo+"(?="+[Dr,to+Go,"$"].join("|")+")",to+"?"+Go+"+"+Bo,to+"+"+Jo,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rn,st].join("|"),"g"),$r=RegExp("[\\u200d"+di+Xe+Zn+"]"),ni=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ri=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Do=-1,gi={};gi[En]=gi[Fn]=gi[Dn]=gi[mn]=gi[jn]=gi[Xt]=gi[ut]=gi[mt]=gi[Tt]=!0,gi[At]=gi[Qe]=gi[Sn]=gi[ae]=gi[$n]=gi[Ie]=gi[Jt]=gi[zt]=gi[ar]=gi[Ln]=gi[er]=gi[tr]=gi[Yn]=gi[Cn]=gi[Kn]=!1;var Hi={};Hi[At]=Hi[Qe]=Hi[Sn]=Hi[$n]=Hi[ae]=Hi[Ie]=Hi[En]=Hi[Fn]=Hi[Dn]=Hi[mn]=Hi[jn]=Hi[ar]=Hi[Ln]=Hi[er]=Hi[tr]=Hi[Yn]=Hi[Cn]=Hi[Kt]=Hi[Xt]=Hi[ut]=Hi[mt]=Hi[Tt]=!0,Hi[Jt]=Hi[zt]=Hi[Kn]=!1;var da={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},xa=parseFloat,Ra=parseInt,Ml="object"==typeof global&&global&&global.Object===Object&&global,Dl="object"==typeof self&&self&&self.Object===Object&&self,Ca=Ml||Dl||Function("return this")(),sa=g&&!g.nodeType&&g,Fo=sa&&Ge&&!Ge.nodeType&&Ge,Ka=Fo&&Fo.exports===sa,Sa=Ka&&Ml.process,fa=function(){try{return Fo&&Fo.require&&Fo.require("util").types||Sa&&Sa.binding&&Sa.binding("util")}catch(lr){}}(),ks=fa&&fa.isArrayBuffer,Ua=fa&&fa.isDate,pt=fa&&fa.isMap,an=fa&&fa.isRegExp,Nt=fa&&fa.isSet,Ce=fa&&fa.isTypedArray;function ye(Un,lr,dr){switch(dr.length){case 0:return Un.call(lr);case 1:return Un.call(lr,dr[0]);case 2:return Un.call(lr,dr[0],dr[1]);case 3:return Un.call(lr,dr[0],dr[1],dr[2])}return Un.apply(lr,dr)}function Ne(Un,lr,dr,li){for(var Ti=-1,Ao=null==Un?0:Un.length;++Ti<Ao;){var Qo=Un[Ti];lr(li,Qo,dr(Qo),Un)}return li}function Wt(Un,lr){for(var dr=-1,li=null==Un?0:Un.length;++dr<li&&!1!==lr(Un[dr],dr,Un););return Un}function Or(Un,lr){for(var dr=null==Un?0:Un.length;dr--&&!1!==lr(Un[dr],dr,Un););return Un}function Ni(Un,lr){for(var dr=-1,li=null==Un?0:Un.length;++dr<li;)if(!lr(Un[dr],dr,Un))return!1;return!0}function Yo(Un,lr){for(var dr=-1,li=null==Un?0:Un.length,Ti=0,Ao=[];++dr<li;){var Qo=Un[dr];lr(Qo,dr,Un)&&(Ao[Ti++]=Qo)}return Ao}function ms(Un,lr){return!(null==Un||!Un.length)&&Ja(Un,lr,0)>-1}function ss(Un,lr,dr){for(var li=-1,Ti=null==Un?0:Un.length;++li<Ti;)if(dr(lr,Un[li]))return!0;return!1}function Lo(Un,lr){for(var dr=-1,li=null==Un?0:Un.length,Ti=Array(li);++dr<li;)Ti[dr]=lr(Un[dr],dr,Un);return Ti}function Zo(Un,lr){for(var dr=-1,li=lr.length,Ti=Un.length;++dr<li;)Un[Ti+dr]=lr[dr];return Un}function Ea(Un,lr,dr,li){var Ti=-1,Ao=null==Un?0:Un.length;for(li&&Ao&&(dr=Un[++Ti]);++Ti<Ao;)dr=lr(dr,Un[Ti],Ti,Un);return dr}function ul(Un,lr,dr,li){var Ti=null==Un?0:Un.length;for(li&&Ti&&(dr=Un[--Ti]);Ti--;)dr=lr(dr,Un[Ti],Ti,Un);return dr}function Ma(Un,lr){for(var dr=-1,li=null==Un?0:Un.length;++dr<li;)if(lr(Un[dr],dr,Un))return!0;return!1}var va=Na("length");function Ol(Un,lr,dr){var li;return dr(Un,function(Ti,Ao,Qo){if(lr(Ti,Ao,Qo))return li=Ao,!1}),li}function dl(Un,lr,dr,li){for(var Ti=Un.length,Ao=dr+(li?1:-1);li?Ao--:++Ao<Ti;)if(lr(Un[Ao],Ao,Un))return Ao;return-1}function Ja(Un,lr,dr){return lr==lr?function(Un,lr,dr){for(var li=dr-1,Ti=Un.length;++li<Ti;)if(Un[li]===lr)return li;return-1}(Un,lr,dr):dl(Un,Il,dr)}function il(Un,lr,dr,li){for(var Ti=dr-1,Ao=Un.length;++Ti<Ao;)if(li(Un[Ti],lr))return Ti;return-1}function Il(Un){return Un!=Un}function Bl(Un,lr){var dr=null==Un?0:Un.length;return dr?Vo(Un,lr)/dr:NaN}function Na(Un){return function(lr){return null==lr?e:lr[Un]}}function Di(Un){return function(lr){return null==Un?e:Un[lr]}}function vs(Un,lr,dr,li,Ti){return Ti(Un,function(Ao,Qo,jo){dr=li?(li=!1,Ao):lr(dr,Ao,Qo,jo)}),dr}function Vo(Un,lr){for(var dr,li=-1,Ti=Un.length;++li<Ti;){var Ao=lr(Un[li]);Ao!==e&&(dr=dr===e?Ao:dr+Ao)}return dr}function ja(Un,lr){for(var dr=-1,li=Array(Un);++dr<Un;)li[dr]=lr(dr);return li}function ze(Un){return Un&&Un.slice(0,Bt(Un)+1).replace(Nn,"")}function wt(Un){return function(lr){return Un(lr)}}function kt(Un,lr){return Lo(lr,function(dr){return Un[dr]})}function tn(Un,lr){return Un.has(lr)}function ur(Un,lr){for(var dr=-1,li=Un.length;++dr<li&&Ja(lr,Un[dr],0)>-1;);return dr}function gn(Un,lr){for(var dr=Un.length;dr--&&Ja(lr,Un[dr],0)>-1;);return dr}function xr(Un,lr){for(var dr=Un.length,li=0;dr--;)Un[dr]===lr&&++li;return li}var Zr=Di({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),Pr=Di({"&":"&","<":"<",">":">",'"':""","'":"'"});function mi(Un){return"\\"+da[Un]}function si(Un){return $r.test(Un)}function io(Un){var lr=-1,dr=Array(Un.size);return Un.forEach(function(li,Ti){dr[++lr]=[Ti,li]}),dr}function vo(Un,lr){return function(dr){return Un(lr(dr))}}function Bi(Un,lr){for(var dr=-1,li=Un.length,Ti=0,Ao=[];++dr<li;){var Qo=Un[dr];(Qo===lr||Qo===b)&&(Un[dr]=b,Ao[Ti++]=dr)}return Ao}function hi(Un){var lr=-1,dr=Array(Un.size);return Un.forEach(function(li){dr[++lr]=li}),dr}function ft(Un){return si(Un)?function(Un){for(var lr=fn.lastIndex=0;fn.test(Un);)++lr;return lr}(Un):va(Un)}function Ft(Un){return si(Un)?function(Un){return Un.match(fn)||[]}(Un):function(Un){return Un.split("")}(Un)}function Bt(Un){for(var lr=Un.length;lr--&&sn.test(Un.charAt(lr)););return lr}var In=Di({"&":"&","<":"<",">":">",""":'"',"'":"'"}),zr=function Un(lr){var O,dr=(lr=null==lr?Ca:zr.defaults(Ca.Object(),lr,zr.pick(Ca,Ri))).Array,li=lr.Date,Ti=lr.Error,Ao=lr.Function,Qo=lr.Math,jo=lr.Object,uo=lr.RegExp,eo=lr.String,Ho=lr.TypeError,Zi=dr.prototype,ha=jo.prototype,fl=lr["__core-js_shared__"],Hn=Ao.prototype.toString,Es=ha.hasOwnProperty,Ll=0,Hl=(O=/[^.]+$/.exec(fl&&fl.keys&&fl.keys.IE_PROTO||""))?"Symbol(src)_1."+O:"",mo=ha.toString,As=Hn.call(jo),qc=Ca._,yc=uo("^"+Hn.call(Es).replace(Ut,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fc=Ka?lr.Buffer:e,Fl=lr.Symbol,bl=lr.Uint8Array,ql=fc?fc.allocUnsafe:e,kl=vo(jo.getPrototypeOf,jo),Yl=jo.create,ru=ha.propertyIsEnumerable,Je=Zi.splice,Fe=Fl?Fl.isConcatSpreadable:e,we=Fl?Fl.iterator:e,Ot=Fl?Fl.toStringTag:e,xe=function(){try{var O=lu(jo,"defineProperty");return O({},"",{}),O}catch(B){}}(),ke=lr.clearTimeout!==Ca.clearTimeout&&lr.clearTimeout,Te=li&&li.now!==Ca.Date.now&&li.now,ge=lr.setTimeout!==Ca.setTimeout&&lr.setTimeout,Re=Qo.ceil,Be=Qo.floor,xt=jo.getOwnPropertySymbols,Dt=fc?fc.isBuffer:e,en=lr.isFinite,vn=Zi.join,Gn=vo(jo.keys,jo),kn=Qo.max,zn=Qo.min,jr=li.now,kr=lr.parseInt,Gr=Qo.random,ci=Zi.reverse,Ci=lu(lr,"DataView"),vi=lu(lr,"Map"),Ai=lu(lr,"Promise"),fo=lu(lr,"Set"),po=lu(lr,"WeakMap"),No=lu(jo,"create"),wo=po&&new po,oo={},Oo=Mc(Ci),Ki=Mc(vi),Vi=Mc(Ai),Wo=Mc(fo),Po=Mc(po),ho=Fl?Fl.prototype:e,xo=ho?ho.valueOf:e,Ps=ho?ho.toString:e;function _n(O){if(rc(O)&&!ui(O)&&!(O instanceof lo)){if(O instanceof Oa)return O;if(Es.call(O,"__wrapped__"))return jf(O)}return new Oa(O)}var Hs=function(){function O(){}return function(B){if(!Al(B))return{};if(Yl)return Yl(B);O.prototype=B;var _e=new O;return O.prototype=e,_e}}();function Pa(){}function Oa(O,B){this.__wrapped__=O,this.__actions__=[],this.__chain__=!!B,this.__index__=0,this.__values__=e}function lo(O){this.__wrapped__=O,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Et,this.__views__=[]}function zs(O){var B=-1,_e=null==O?0:O.length;for(this.clear();++B<_e;){var gt=O[B];this.set(gt[0],gt[1])}}function Zs(O){var B=-1,_e=null==O?0:O.length;for(this.clear();++B<_e;){var gt=O[B];this.set(gt[0],gt[1])}}function Us(O){var B=-1,_e=null==O?0:O.length;for(this.clear();++B<_e;){var gt=O[B];this.set(gt[0],gt[1])}}function ki(O){var B=-1,_e=null==O?0:O.length;for(this.__data__=new Us;++B<_e;)this.add(O[B])}function pl(O){var B=this.__data__=new Zs(O);this.size=B.size}function ou(O,B){var _e=ui(O),gt=!_e&&Rr(O),un=!_e&&!gt&&_l(O),Vn=!_e&&!gt&&!un&&ih(O),gr=_e||gt||un||Vn,Lr=gr?ja(O.length,eo):[],Xr=Lr.length;for(var Qi in O)(B||Es.call(O,Qi))&&(!gr||!("length"==Qi||un&&("offset"==Qi||"parent"==Qi)||Vn&&("buffer"==Qi||"byteLength"==Qi||"byteOffset"==Qi)||mu(Qi,Xr)))&&Lr.push(Qi);return Lr}function xl(O){var B=O.length;return B?O[Od(0,B-1)]:e}function Vl(O,B){return bd(_i(O),El(B,0,O.length))}function el(O){return bd(_i(O))}function tl(O,B,_e){(_e!==e&&!Mt(O[B],_e)||_e===e&&!(B in O))&&nl(O,B,_e)}function ml(O,B,_e){var gt=O[B];(!Es.call(O,B)||!Mt(gt,_e)||_e===e&&!(B in O))&&nl(O,B,_e)}function bc(O,B){for(var _e=O.length;_e--;)if(Mt(O[_e][0],B))return _e;return-1}function vl(O,B,_e,gt){return de(O,function(un,Vn,gr){B(gt,un,_e(un),gr)}),gt}function hc(O,B){return O&&ji(B,dc(B),O)}function nl(O,B,_e){"__proto__"==B&&xe?xe(O,B,{configurable:!0,enumerable:!0,value:_e,writable:!0}):O[B]=_e}function yl(O,B){for(var _e=-1,gt=B.length,un=dr(gt),Vn=null==O;++_e<gt;)un[_e]=Vn?e:N_(O,B[_e]);return un}function El(O,B,_e){return O==O&&(_e!==e&&(O=O<=_e?O:_e),B!==e&&(O=O>=B?O:B)),O}function p(O,B,_e,gt,un,Vn){var gr,Lr=1&B,Xr=2&B,Qi=4&B;if(_e&&(gr=un?_e(O,gt,un,Vn):_e(O)),gr!==e)return gr;if(!Al(O))return O;var Xi=ui(O);if(Xi){if(gr=function(O){var B=O.length,_e=new O.constructor(B);return B&&"string"==typeof O[0]&&Es.call(O,"index")&&(_e.index=O.index,_e.input=O.input),_e}(O),!Lr)return _i(O,gr)}else{var ao=jl(O),qo=ao==zt||ao==ln;if(_l(O))return of(O,Lr);if(ao==er||ao==At||qo&&!un){if(gr=Xr||qo?{}:Pu(O),!Lr)return Xr?function(O,B){return ji(O,mc(O),B)}(O,function(O,B){return O&&ji(B,Gc(B),O)}(gr,O)):function(O,B){return ji(O,Bd(O),B)}(O,hc(gr,O))}else{if(!Hi[ao])return un?O:{};gr=function(O,B,_e){var gt=O.constructor;switch(B){case Sn:return Ff(O);case ae:case Ie:return new gt(+O);case $n:return function(O,B){var _e=B?Ff(O.buffer):O.buffer;return new O.constructor(_e,O.byteOffset,O.byteLength)}(O,_e);case En:case Fn:case Dn:case mn:case jn:case Xt:case ut:case mt:case Tt:return K(O,_e);case ar:return new gt;case Ln:case Cn:return new gt(O);case tr:return function(O){var B=new O.constructor(O.source,Jn.exec(O));return B.lastIndex=O.lastIndex,B}(O);case Yn:return new gt;case Kt:return function(O){return xo?jo(xo.call(O)):{}}(O)}}(O,ao,Lr)}}Vn||(Vn=new pl);var Ss=Vn.get(O);if(Ss)return Ss;Vn.set(O,gr),O_(O)?O.forEach(function(ta){gr.add(p(ta,B,_e,ta,O,Vn))}):$h(O)&&O.forEach(function(ta,Xa){gr.set(Xa,p(ta,B,_e,Xa,O,Vn))});var Ia=Xi?e:(Qi?Xr?lf:Ud:Xr?Gc:dc)(O);return Wt(Ia||O,function(ta,Xa){Ia&&(ta=O[Xa=ta]),ml(gr,Xa,p(ta,B,_e,Xa,O,Vn))}),gr}function N(O,B,_e){var gt=_e.length;if(null==O)return!gt;for(O=jo(O);gt--;){var un=_e[gt],gr=O[un];if(gr===e&&!(un in O)||!(0,B[un])(gr))return!1}return!0}function $(O,B,_e){if("function"!=typeof O)throw new Ho(u);return Zd(function(){O.apply(e,_e)},B)}function Q(O,B,_e,gt){var un=-1,Vn=ms,gr=!0,Lr=O.length,Xr=[],Qi=B.length;if(!Lr)return Xr;_e&&(B=Lo(B,wt(_e))),gt?(Vn=ss,gr=!1):B.length>=200&&(Vn=tn,gr=!1,B=new ki(B));e:for(;++un<Lr;){var Xi=O[un],ao=null==_e?Xi:_e(Xi);if(Xi=gt||0!==Xi?Xi:0,gr&&ao==ao){for(var qo=Qi;qo--;)if(B[qo]===ao)continue e;Xr.push(Xi)}else Vn(B,ao,gt)||Xr.push(Xi)}return Xr}_n.templateSettings={escape:L,evaluate:Ue,interpolate:nt,variable:"",imports:{_:_n}},(_n.prototype=Pa.prototype).constructor=_n,(Oa.prototype=Hs(Pa.prototype)).constructor=Oa,(lo.prototype=Hs(Pa.prototype)).constructor=lo,zs.prototype.clear=function(){this.__data__=No?No(null):{},this.size=0},zs.prototype.delete=function(O){var B=this.has(O)&&delete this.__data__[O];return this.size-=B?1:0,B},zs.prototype.get=function(O){var B=this.__data__;if(No){var _e=B[O];return _e===_?e:_e}return Es.call(B,O)?B[O]:e},zs.prototype.has=function(O){var B=this.__data__;return No?B[O]!==e:Es.call(B,O)},zs.prototype.set=function(O,B){var _e=this.__data__;return this.size+=this.has(O)?0:1,_e[O]=No&&B===e?_:B,this},Zs.prototype.clear=function(){this.__data__=[],this.size=0},Zs.prototype.delete=function(O){var B=this.__data__,_e=bc(B,O);return!(_e<0||(_e==B.length-1?B.pop():Je.call(B,_e,1),--this.size,0))},Zs.prototype.get=function(O){var B=this.__data__,_e=bc(B,O);return _e<0?e:B[_e][1]},Zs.prototype.has=function(O){return bc(this.__data__,O)>-1},Zs.prototype.set=function(O,B){var _e=this.__data__,gt=bc(_e,O);return gt<0?(++this.size,_e.push([O,B])):_e[gt][1]=B,this},Us.prototype.clear=function(){this.size=0,this.__data__={hash:new zs,map:new(vi||Zs),string:new zs}},Us.prototype.delete=function(O){var B=jd(this,O).delete(O);return this.size-=B?1:0,B},Us.prototype.get=function(O){return jd(this,O).get(O)},Us.prototype.has=function(O){return jd(this,O).has(O)},Us.prototype.set=function(O,B){var _e=jd(this,O),gt=_e.size;return _e.set(O,B),this.size+=_e.size==gt?0:1,this},ki.prototype.add=ki.prototype.push=function(O){return this.__data__.set(O,_),this},ki.prototype.has=function(O){return this.__data__.has(O)},pl.prototype.clear=function(){this.__data__=new Zs,this.size=0},pl.prototype.delete=function(O){var B=this.__data__,_e=B.delete(O);return this.size=B.size,_e},pl.prototype.get=function(O){return this.__data__.get(O)},pl.prototype.has=function(O){return this.__data__.has(O)},pl.prototype.set=function(O,B){var _e=this.__data__;if(_e instanceof Zs){var gt=_e.__data__;if(!vi||gt.length<199)return gt.push([O,B]),this.size=++_e.size,this;_e=this.__data__=new Us(gt)}return _e.set(O,B),this.size=_e.size,this};var de=Ks(sr),ve=Ks(Tr,!0);function qe(O,B){var _e=!0;return de(O,function(gt,un,Vn){return _e=!!B(gt,un,Vn)}),_e}function De(O,B,_e){for(var gt=-1,un=O.length;++gt<un;){var Vn=O[gt],gr=B(Vn);if(null!=gr&&(Lr===e?gr==gr&&!$u(gr):_e(gr,Lr)))var Lr=gr,Xr=Vn}return Xr}function Yt(O,B){var _e=[];return de(O,function(gt,un,Vn){B(gt,un,Vn)&&_e.push(gt)}),_e}function Zt(O,B,_e,gt,un){var Vn=-1,gr=O.length;for(_e||(_e=sp),un||(un=[]);++Vn<gr;){var Lr=O[Vn];B>0&&_e(Lr)?B>1?Zt(Lr,B-1,_e,gt,un):Zo(un,Lr):gt||(un[un.length]=Lr)}return un}var wn=ys(),cr=ys(!0);function sr(O,B){return O&&wn(O,B,dc)}function Tr(O,B){return O&&cr(O,B,dc)}function Yr(O,B){return Yo(B,function(_e){return tu(O[_e])})}function Pi(O,B){for(var _e=0,gt=(B=Yc(B,O)).length;null!=O&&_e<gt;)O=O[Sc(B[_e++])];return _e&&_e==gt?O:e}function yo(O,B,_e){var gt=B(O);return ui(O)?gt:Zo(gt,_e(O))}function Co(O){return null==O?O===e?"[object Undefined]":"[object Null]":Ot&&Ot in jo(O)?function(O){var B=Es.call(O,Ot),_e=O[Ot];try{O[Ot]=e;var gt=!0}catch(Vn){}var un=mo.call(O);return gt&&(B?O[Ot]=_e:delete O[Ot]),un}(O):function(O){return mo.call(O)}(O)}function Xo(O,B){return O>B}function ts(O,B){return null!=O&&Es.call(O,B)}function _s(O,B){return null!=O&&B in jo(O)}function Ms(O,B,_e){for(var gt=_e?ss:ms,un=O[0].length,Vn=O.length,gr=Vn,Lr=dr(Vn),Xr=1/0,Qi=[];gr--;){var Xi=O[gr];gr&&B&&(Xi=Lo(Xi,wt(B))),Xr=zn(Xi.length,Xr),Lr[gr]=!_e&&(B||un>=120&&Xi.length>=120)?new ki(gr&&Xi):e}Xi=O[0];var ao=-1,qo=Lr[0];e:for(;++ao<un&&Qi.length<Xr;){var Ss=Xi[ao],Js=B?B(Ss):Ss;if(Ss=_e||0!==Ss?Ss:0,!(qo?tn(qo,Js):gt(Qi,Js,_e))){for(gr=Vn;--gr;){var Ia=Lr[gr];if(!(Ia?tn(Ia,Js):gt(O[gr],Js,_e)))continue e}qo&&qo.push(Js),Qi.push(Ss)}}return Qi}function ya(O,B,_e){var gt=null==(O=hf(O,B=Yc(B,O)))?O:O[Sc(qr(B))];return null==gt?e:ye(gt,O,_e)}function hl(O){return rc(O)&&Co(O)==At}function rl(O,B,_e,gt,un){return O===B||(null==O||null==B||!rc(O)&&!rc(B)?O!=O&&B!=B:function(O,B,_e,gt,un,Vn){var gr=ui(O),Lr=ui(B),Xr=gr?Qe:jl(O),Qi=Lr?Qe:jl(B),Xi=(Xr=Xr==At?er:Xr)==er,ao=(Qi=Qi==At?er:Qi)==er,qo=Xr==Qi;if(qo&&_l(O)){if(!_l(B))return!1;gr=!0,Xi=!1}if(qo&&!Xi)return Vn||(Vn=new pl),gr||ih(O)?hd(O,B,_e,gt,un,Vn):function(O,B,_e,gt,un,Vn,gr){switch(_e){case $n:if(O.byteLength!=B.byteLength||O.byteOffset!=B.byteOffset)return!1;O=O.buffer,B=B.buffer;case Sn:return!(O.byteLength!=B.byteLength||!Vn(new bl(O),new bl(B)));case ae:case Ie:case Ln:return Mt(+O,+B);case Jt:return O.name==B.name&&O.message==B.message;case tr:case Cn:return O==B+"";case ar:var Lr=io;case Yn:if(Lr||(Lr=hi),O.size!=B.size&&!(1>))return!1;var Qi=gr.get(O);if(Qi)return Qi==B;gt|=2,gr.set(O,B);var Xi=hd(Lr(O),Lr(B),gt,un,Vn,gr);return gr.delete(O),Xi;case Kt:if(xo)return xo.call(O)==xo.call(B)}return!1}(O,B,Xr,_e,gt,un,Vn);if(!(1&_e)){var Ss=Xi&&Es.call(O,"__wrapped__"),Js=ao&&Es.call(B,"__wrapped__");if(Ss||Js){var Ia=Ss?O.value():O,ta=Js?B.value():B;return Vn||(Vn=new pl),un(Ia,ta,_e,gt,Vn)}}return!!qo&&(Vn||(Vn=new pl),function(O,B,_e,gt,un,Vn){var gr=1&_e,Lr=Ud(O),Xr=Lr.length;if(Xr!=Ud(B).length&&!gr)return!1;for(var ao=Xr;ao--;){var qo=Lr[ao];if(!(gr?qo in B:Es.call(B,qo)))return!1}var Ss=Vn.get(O),Js=Vn.get(B);if(Ss&&Js)return Ss==B&&Js==O;var Ia=!0;Vn.set(O,B),Vn.set(B,O);for(var ta=gr;++ao<Xr;){var Xa=O[qo=Lr[ao]],cl=B[qo];if(gt)var rd=gr?gt(cl,Xa,qo,B,O,Vn):gt(Xa,cl,qo,O,B,Vn);if(!(rd===e?Xa===cl||un(Xa,cl,_e,gt,Vn):rd)){Ia=!1;break}ta||(ta="constructor"==qo)}if(Ia&&!ta){var Uu=O.constructor,id=B.constructor;Uu!=id&&"constructor"in O&&"constructor"in B&&!("function"==typeof Uu&&Uu instanceof Uu&&"function"==typeof id&&id instanceof id)&&(Ia=!1)}return Vn.delete(O),Vn.delete(B),Ia}(O,B,_e,gt,un,Vn))}(O,B,_e,gt,rl,un))}function $s(O,B,_e,gt){var un=_e.length,Vn=un,gr=!gt;if(null==O)return!Vn;for(O=jo(O);un--;){var Lr=_e[un];if(gr&&Lr[2]?Lr[1]!==O[Lr[0]]:!(Lr[0]in O))return!1}for(;++un<Vn;){var Xr=(Lr=_e[un])[0],Qi=O[Xr],Xi=Lr[1];if(gr&&Lr[2]){if(Qi===e&&!(Xr in O))return!1}else{var ao=new pl;if(gt)var qo=gt(Qi,Xi,Xr,O,B,ao);if(!(qo===e?rl(Xi,Qi,3,gt,ao):qo))return!1}}return!0}function X(O){return!(!Al(O)||function(O){return!!Hl&&Hl in O}(O))&&(tu(O)?yc:yi).test(Mc(O))}function xn(O){return"function"==typeof O?O:null==O?vu:"object"==typeof O?ui(O)?gc(O[0],O[1]):za(O):Ug(O)}function Ar(O){if(!Ou(O))return Gn(O);var B=[];for(var _e in jo(O))Es.call(O,_e)&&"constructor"!=_e&&B.push(_e);return B}function fs(O,B){return O<B}function aa(O,B){var _e=-1,gt=Io(O)?dr(O.length):[];return de(O,function(un,Vn,gr){gt[++_e]=B(un,Vn,gr)}),gt}function za(O){var B=gu(O);return 1==B.length&&B[0][2]?pf(B[0][0],B[0][1]):function(_e){return _e===O||$s(_e,O,B)}}function gc(O,B){return md(O)&&eu(B)?pf(Sc(O),B):function(_e){var gt=N_(_e,O);return gt===e&>===B?P_(_e,O):rl(B,gt,3)}}function Ql(O,B,_e,gt,un){O!==B&&wn(B,function(Vn,gr){if(un||(un=new pl),Al(Vn))!function(O,B,_e,gt,un,Vn,gr){var Lr=yd(O,_e),Xr=yd(B,_e),Qi=gr.get(Xr);if(Qi)tl(O,_e,Qi);else{var Xi=Vn?Vn(Lr,Xr,_e+"",O,B,gr):e,ao=Xi===e;if(ao){var qo=ui(Xr),Ss=!qo&&_l(Xr),Js=!qo&&!Ss&&ih(Xr);Xi=Xr,qo||Ss||Js?ui(Lr)?Xi=Lr:os(Lr)?Xi=_i(Lr):Ss?(ao=!1,Xi=of(Xr,!0)):Js?(ao=!1,Xi=K(Xr,!0)):Xi=[]:S_(Xr)||Rr(Xr)?(Xi=Lr,Rr(Lr)?Xi=Um(Lr):(!Al(Lr)||tu(Lr))&&(Xi=Pu(Xr))):ao=!1}ao&&(gr.set(Xr,Xi),un(Xi,Xr,gt,Vn,gr),gr.delete(Xr)),tl(O,_e,Xi)}}(O,B,gr,_e,Ql,gt,un);else{var Lr=gt?gt(yd(O,gr),Vn,gr+"",O,B,un):e;Lr===e&&(Lr=Vn),tl(O,gr,Lr)}},Gc)}function Gu(O,B){var _e=O.length;if(_e)return mu(B+=B<0?_e:0,_e)?O[B]:e}function Sd(O,B,_e){B=B.length?Lo(B,function(Vn){return ui(Vn)?function(gr){return Pi(gr,1===Vn.length?Vn[0]:Vn)}:Vn}):[vu];var gt=-1;return B=Lo(B,wt(Rs())),function(Un,lr){var dr=Un.length;for(Un.sort(function(Vn,gr){return function(O,B,_e){for(var gt=-1,un=O.criteria,Vn=B.criteria,gr=un.length,Lr=_e.length;++gt<gr;){var Xr=Ye(un[gt],Vn[gt]);if(Xr)return gt>=Lr?Xr:Xr*("desc"==_e[gt]?-1:1)}return O.index-B.index}(Vn,gr,_e)});dr--;)Un[dr]=Un[dr].value;return Un}(aa(O,function(Vn,gr,Lr){return{criteria:Lo(B,function(Qi){return Qi(Vn)}),index:++gt,value:Vn}}))}function Md(O,B,_e){for(var gt=-1,un=B.length,Vn={};++gt<un;){var gr=B[gt],Lr=Pi(O,gr);_e(Lr,gr)&&ld(Vn,Yc(gr,O),Lr)}return Vn}function xu(O,B,_e,gt){var un=gt?il:Ja,Vn=-1,gr=B.length,Lr=O;for(O===B&&(B=_i(B)),_e&&(Lr=Lo(O,wt(_e)));++Vn<gr;)for(var Xr=0,Qi=B[Vn],Xi=_e?_e(Qi):Qi;(Xr=un(Lr,Xi,Xr,gt))>-1;)Lr!==O&&Je.call(Lr,Xr,1),Je.call(O,Xr,1);return O}function ef(O,B){for(var _e=O?B.length:0,gt=_e-1;_e--;){var un=B[_e];if(_e==gt||un!==Vn){var Vn=un;mu(un)?Je.call(O,un,1):Hd(O,un)}}return O}function Od(O,B){return O+Be(Gr()*(B-O+1))}function tf(O,B){var _e="";if(!O||B<1||B>$e)return _e;do{B%2&&(_e+=O),(B=Be(B/2))&&(O+=O)}while(B);return _e}function Is(O,B){return Uf(qu(O,B,vu),O+"")}function Ic(O){return xl(ah(O))}function Nf(O,B){var _e=ah(O);return bd(_e,El(B,0,_e.length))}function ld(O,B,_e,gt){if(!Al(O))return O;for(var un=-1,Vn=(B=Yc(B,O)).length,gr=Vn-1,Lr=O;null!=Lr&&++un<Vn;){var Xr=Sc(B[un]),Qi=_e;if("__proto__"===Xr||"constructor"===Xr||"prototype"===Xr)return O;if(un!=gr){var Xi=Lr[Xr];(Qi=gt?gt(Xi,Xr,Lr):e)===e&&(Qi=Al(Xi)?Xi:mu(B[un+1])?[]:{})}ml(Lr,Xr,Qi),Lr=Lr[Xr]}return O}var Jc=wo?function(O,B){return wo.set(O,B),O}:vu,Tu=xe?function(O,B){return xe(O,"toString",{configurable:!0,enumerable:!1,value:kg(B),writable:!0})}:vu;function nf(O){return bd(ah(O))}function Lc(O,B,_e){var gt=-1,un=O.length;B<0&&(B=-B>un?0:un+B),(_e=_e>un?un:_e)<0&&(_e+=un),un=B>_e?0:_e-B>>>0,B>>>=0;for(var Vn=dr(un);++gt<un;)Vn[gt]=O[gt+B];return Vn}function Pf(O,B){var _e;return de(O,function(gt,un,Vn){return!(_e=B(gt,un,Vn))}),!!_e}function cd(O,B,_e){var gt=0,un=null==O?gt:O.length;if("number"==typeof B&&B==B&&un<=2147483647){for(;gt<un;){var Vn=gt+un>>>1,gr=O[Vn];null!==gr&&!$u(gr)&&(_e?gr<=B:gr<B)?gt=Vn+1:un=Vn}return un}return rf(O,B,vu,_e)}function rf(O,B,_e,gt){var un=0,Vn=null==O?0:O.length;if(0===Vn)return 0;for(var gr=(B=_e(B))!=B,Lr=null===B,Xr=$u(B),Qi=B===e;un<Vn;){var Xi=Be((un+Vn)/2),ao=_e(O[Xi]),qo=ao!==e,Ss=null===ao,Js=ao==ao,Ia=$u(ao);if(gr)var ta=gt||Js;else ta=Qi?Js&&(gt||qo):Lr?Js&&qo&&(gt||!Ss):Xr?Js&&qo&&!Ss&&(gt||!Ia):!Ss&&!Ia&&(gt?ao<=B:ao<B);ta?un=Xi+1:Vn=Xi}return zn(Vn,4294967294)}function $d(O,B){for(var _e=-1,gt=O.length,un=0,Vn=[];++_e<gt;){var gr=O[_e],Lr=B?B(gr):gr;if(!_e||!Mt(Lr,Xr)){var Xr=Lr;Vn[un++]=0===gr?0:gr}}return Vn}function Ad(O){return"number"==typeof O?O:$u(O)?NaN:+O}function Fc(O){if("string"==typeof O)return O;if(ui(O))return Lo(O,Fc)+"";if($u(O))return Ps?Ps.call(O):"";var B=O+"";return"0"==B&&1/O==-He?"-0":B}function hu(O,B,_e){var gt=-1,un=ms,Vn=O.length,gr=!0,Lr=[],Xr=Lr;if(_e)gr=!1,un=ss;else if(Vn>=200){var Qi=B?null:zu(O);if(Qi)return hi(Qi);gr=!1,un=tn,Xr=new ki}else Xr=B?[]:Lr;e:for(;++gt<Vn;){var Xi=O[gt],ao=B?B(Xi):Xi;if(Xi=_e||0!==Xi?Xi:0,gr&&ao==ao){for(var qo=Xr.length;qo--;)if(Xr[qo]===ao)continue e;B&&Xr.push(ao),Lr.push(Xi)}else un(Xr,ao,_e)||(Xr!==Lr&&Xr.push(ao),Lr.push(Xi))}return Lr}function Hd(O,B){return null==(O=hf(O,B=Yc(B,O)))||delete O[Sc(qr(B))]}function ud(O,B,_e,gt){return ld(O,B,_e(Pi(O,B)),gt)}function wd(O,B,_e,gt){for(var un=O.length,Vn=gt?un:-1;(gt?Vn--:++Vn<un)&&B(O[Vn],Vn,O););return _e?Lc(O,gt?0:Vn,gt?Vn+1:un):Lc(O,gt?Vn+1:0,gt?un:Vn)}function If(O,B){var _e=O;return _e instanceof lo&&(_e=_e.value()),Ea(B,function(gt,un){return un.func.apply(un.thisArg,Zo([gt],un.args))},_e)}function Cu(O,B,_e){var gt=O.length;if(gt<2)return gt?hu(O[0]):[];for(var un=-1,Vn=dr(gt);++un<gt;)for(var gr=O[un],Lr=-1;++Lr<gt;)Lr!=un&&(Vn[un]=Q(Vn[un]||gr,O[Lr],B,_e));return hu(Zt(Vn,1),B,_e)}function dd(O,B,_e){for(var gt=-1,un=O.length,Vn=B.length,gr={};++gt<un;)_e(gr,O[gt],gt<Vn?B[gt]:e);return gr}function kc(O){return os(O)?O:[]}function wc(O){return"function"==typeof O?O:vu}function Yc(O,B){return ui(O)?O:md(O,B)?[O]:Ed(Sl(O))}var Lf=Is;function Su(O,B,_e){var gt=O.length;return _e=_e===e?gt:_e,!B&&_e>=gt?O:Lc(O,B,_e)}var fd=ke||function(O){return Ca.clearTimeout(O)};function of(O,B){if(B)return O.slice();var _e=O.length,gt=ql?ql(_e):new O.constructor(_e);return O.copy(gt),gt}function Ff(O){var B=new O.constructor(O.byteLength);return new bl(B).set(new bl(O)),B}function K(O,B){var _e=B?Ff(O.buffer):O.buffer;return new O.constructor(_e,O.byteOffset,O.length)}function Ye(O,B){if(O!==B){var _e=O!==e,gt=null===O,un=O==O,Vn=$u(O),gr=B!==e,Lr=null===B,Xr=B==B,Qi=$u(B);if(!Lr&&!Qi&&!Vn&&O>B||Vn&&gr&&Xr&&!Lr&&!Qi||gt&&gr&&Xr||!_e&&Xr||!un)return 1;if(!gt&&!Vn&&!Qi&&O<B||Qi&&_e&&un&&!gt&&!Vn||Lr&&_e&&un||!gr&&un||!Xr)return-1}return 0}function vr(O,B,_e,gt){for(var un=-1,Vn=O.length,gr=_e.length,Lr=-1,Xr=B.length,Qi=kn(Vn-gr,0),Xi=dr(Xr+Qi),ao=!gt;++Lr<Xr;)Xi[Lr]=B[Lr];for(;++un<gr;)(ao||un<Vn)&&(Xi[_e[un]]=O[un]);for(;Qi--;)Xi[Lr++]=O[un++];return Xi}function Hr(O,B,_e,gt){for(var un=-1,Vn=O.length,gr=-1,Lr=_e.length,Xr=-1,Qi=B.length,Xi=kn(Vn-Lr,0),ao=dr(Xi+Qi),qo=!gt;++un<Xi;)ao[un]=O[un];for(var Ss=un;++Xr<Qi;)ao[Ss+Xr]=B[Xr];for(;++gr<Lr;)(qo||un<Vn)&&(ao[Ss+_e[gr]]=O[un++]);return ao}function _i(O,B){var _e=-1,gt=O.length;for(B||(B=dr(gt));++_e<gt;)B[_e]=O[_e];return B}function ji(O,B,_e,gt){var un=!_e;_e||(_e={});for(var Vn=-1,gr=B.length;++Vn<gr;){var Lr=B[Vn],Xr=gt?gt(_e[Lr],O[Lr],Lr,_e,O):e;Xr===e&&(Xr=O[Lr]),un?nl(_e,Lr,Xr):ml(_e,Lr,Xr)}return _e}function Uo(O,B){return function(_e,gt){var un=ui(_e)?Ne:vl,Vn=B?B():{};return un(_e,O,Rs(gt,2),Vn)}}function us(O){return Is(function(B,_e){var gt=-1,un=_e.length,Vn=un>1?_e[un-1]:e,gr=un>2?_e[2]:e;for(Vn=O.length>3&&"function"==typeof Vn?(un--,Vn):e,gr&&Cc(_e[0],_e[1],gr)&&(Vn=un<3?e:Vn,un=1),B=jo(B);++gt<un;){var Lr=_e[gt];Lr&&O(B,Lr,gt,Vn)}return B})}function Ks(O,B){return function(_e,gt){if(null==_e)return _e;if(!Io(_e))return O(_e,gt);for(var un=_e.length,Vn=B?un:-1,gr=jo(_e);(B?Vn--:++Vn<un)&&!1!==gt(gr[Vn],Vn,gr););return _e}}function ys(O){return function(B,_e,gt){for(var un=-1,Vn=jo(B),gr=gt(B),Lr=gr.length;Lr--;){var Xr=gr[O?Lr:++un];if(!1===_e(Vn[Xr],Xr,Vn))break}return B}}function Dc(O){return function(B){var _e=si(B=Sl(B))?Ft(B):e,gt=_e?_e[0]:B.charAt(0),un=_e?Su(_e,1).join(""):B.slice(1);return gt[O]()+un}}function al(O){return function(B){return Ea(o1($_(B).replace(ee,"")),O,"")}}function su(O){return function(){var B=arguments;switch(B.length){case 0:return new O;case 1:return new O(B[0]);case 2:return new O(B[0],B[1]);case 3:return new O(B[0],B[1],B[2]);case 4:return new O(B[0],B[1],B[2],B[3]);case 5:return new O(B[0],B[1],B[2],B[3],B[4]);case 6:return new O(B[0],B[1],B[2],B[3],B[4],B[5]);case 7:return new O(B[0],B[1],B[2],B[3],B[4],B[5],B[6])}var _e=Hs(O.prototype),gt=O.apply(_e,B);return Al(gt)?gt:_e}}function Kl(O){return function(B,_e,gt){var un=jo(B);if(!Io(B)){var Vn=Rs(_e,3);B=dc(B),_e=function(Lr){return Vn(un[Lr],Lr,un)}}var gr=O(B,_e,gt);return gr>-1?un[Vn?B[gr]:gr]:e}}function Ul(O){return au(function(B){var _e=B.length,gt=_e,un=Oa.prototype.thru;for(O&&B.reverse();gt--;){var Vn=B[gt];if("function"!=typeof Vn)throw new Ho(u);if(un&&!gr&&"wrapper"==Xc(Vn))var gr=new Oa([],!0)}for(gt=gr?gt:_e;++gt<_e;){var Lr=Xc(Vn=B[gt]),Xr="wrapper"==Lr?_d(Vn):e;gr=Xr&&ff(Xr[0])&&424==Xr[1]&&!Xr[4].length&&1==Xr[9]?gr[Xc(Xr[0])].apply(gr,Xr[3]):1==Vn.length&&ff(Vn)?gr[Lr]():gr.thru(Vn)}return function(){var Qi=arguments,Xi=Qi[0];if(gr&&1==Qi.length&&ui(Xi))return gr.plant(Xi).value();for(var ao=0,qo=_e?B[ao].apply(this,Qi):Xi;++ao<_e;)qo=B[ao].call(this,qo);return qo}})}function zl(O,B,_e,gt,un,Vn,gr,Lr,Xr,Qi){var Xi=128&B,ao=1&B,qo=2&B,Ss=24&B,Js=512&B,Ia=qo?e:su(O);return function ta(){for(var Xa=arguments.length,cl=dr(Xa),rd=Xa;rd--;)cl[rd]=arguments[rd];if(Ss)var Uu=Mu(ta),id=xr(cl,Uu);if(gt&&(cl=vr(cl,gt,un,Ss)),Vn&&(cl=Hr(cl,Vn,gr,Ss)),Xa-=id,Ss&&Xa<Qi){var Rc=Bi(cl,Uu);return af(O,B,zl,ta.placeholder,_e,cl,Rc,Lr,Xr,Qi-Xa)}var od=ao?_e:this,Pd=qo?od[O]:O;return Xa=cl.length,Lr?cl=Bp(cl,Lr):Js&&Xa>1&&cl.reverse(),Xi&&Xr<Xa&&(cl.length=Xr),this&&this!==Ca&&this instanceof ta&&(Pd=Ia||su(Pd)),Pd.apply(od,cl)}}function xc(O,B){return function(_e,gt){return function(O,B,_e,gt){return sr(O,function(un,Vn,gr){B(gt,_e(un),Vn,gr)}),gt}(_e,O,B(gt),{})}}function sf(O,B){return function(_e,gt){var un;if(_e===e&>===e)return B;if(_e!==e&&(un=_e),gt!==e){if(un===e)return gt;"string"==typeof _e||"string"==typeof gt?(_e=Fc(_e),gt=Fc(gt)):(_e=Ad(_e),gt=Ad(gt)),un=O(_e,gt)}return un}}function Tc(O){return au(function(B){return B=Lo(B,wt(Rs())),Is(function(_e){var gt=this;return O(B,function(un){return ye(un,gt,_e)})})})}function _u(O,B){var _e=(B=B===e?" ":Fc(B)).length;if(_e<2)return _e?tf(B,O):B;var gt=tf(B,Re(O/ft(B)));return si(B)?Su(Ft(gt),0,O).join(""):gt.slice(0,O)}function pd(O){return function(B,_e,gt){return gt&&"number"!=typeof gt&&Cc(B,_e,gt)&&(_e=gt=e),B=yf(B),_e===e?(_e=B,B=0):_e=yf(_e),function(O,B,_e,gt){for(var un=-1,Vn=kn(Re((B-O)/(_e||1)),0),gr=dr(Vn);Vn--;)gr[gt?Vn:++un]=O,O+=_e;return gr}(B,_e,gt=gt===e?B<_e?1:-1:yf(gt),O)}}function Ru(O){return function(B,_e){return"string"==typeof B&&"string"==typeof _e||(B=Hu(B),_e=Hu(_e)),O(B,_e)}}function af(O,B,_e,gt,un,Vn,gr,Lr,Xr,Qi){var Xi=8&B;B|=Xi?Y:64,4&(B&=~(Xi?64:Y))||(B&=-4);var Ia=[O,B,un,Xi?Vn:e,Xi?gr:e,Xi?e:Vn,Xi?e:gr,Lr,Xr,Qi],ta=_e.apply(e,Ia);return ff(O)&&Hc(ta,Ia),ta.placeholder=gt,ap(ta,O,B)}function ec(O){var B=Qo[O];return function(_e,gt){if(_e=Hu(_e),(gt=null==gt?0:zn(ka(gt),292))&&en(_e)){var un=(Sl(_e)+"e").split("e");return+((un=(Sl(B(un[0]+"e"+(+un[1]+gt)))+"e").split("e"))[0]+"e"+(+un[1]-gt))}return B(_e)}}var zu=fo&&1/hi(new fo([,-0]))[1]==He?function(O){return new fo(O)}:Jf;function $c(O){return function(B){var _e=jl(B);return _e==ar?io(B):_e==Yn?function(Un){var lr=-1,dr=Array(Un.size);return Un.forEach(function(li){dr[++lr]=[li,li]}),dr}(B):function(Un,lr){return Lo(lr,function(dr){return[dr,Un[dr]]})}(B,O(B))}}function Qc(O,B,_e,gt,un,Vn,gr,Lr){var Xr=2&B;if(!Xr&&"function"!=typeof O)throw new Ho(u);var Qi=gt?gt.length:0;if(Qi||(B&=-97,gt=un=e),gr=gr===e?gr:kn(ka(gr),0),Lr=Lr===e?Lr:ka(Lr),Qi-=un?un.length:0,64&B){var Xi=gt,ao=un;gt=un=e}var qo=Xr?e:_d(O),Ss=[O,B,_e,gt,un,Xi,ao,Vn,gr,Lr];if(qo&&function(O,B){var _e=O[1],gt=B[1],un=_e|gt;if(!(un<131||(128==gt&&8==_e||128==gt&&256==_e&&O[7].length<=B[8]||384==gt&&B[7].length<=B[8]&&8==_e)))return O;1>&&(O[2]=B[2],un|=1&_e?0:4);var Lr=B[3];if(Lr){var Xr=O[3];O[3]=Xr?vr(Xr,Lr,B[4]):Lr,O[4]=Xr?Bi(O[3],b):B[4]}(Lr=B[5])&&(O[5]=(Xr=O[5])?Hr(Xr,Lr,B[6]):Lr,O[6]=Xr?Bi(O[5],b):B[6]),(Lr=B[7])&&(O[7]=Lr),128>&&(O[8]=null==O[8]?B[8]:zn(O[8],B[8])),null==O[9]&&(O[9]=B[9]),O[0]=B[0],O[1]=un}(Ss,qo),O=Ss[0],B=Ss[1],_e=Ss[2],gt=Ss[3],un=Ss[4],!(Lr=Ss[9]=Ss[9]===e?Xr?0:O.length:kn(Ss[9]-Qi,0))&&24&B&&(B&=-25),B&&1!=B)Js=8==B||16==B?function(O,B,_e){var gt=su(O);return function un(){for(var Vn=arguments.length,gr=dr(Vn),Lr=Vn,Xr=Mu(un);Lr--;)gr[Lr]=arguments[Lr];var Qi=Vn<3&&gr[0]!==Xr&&gr[Vn-1]!==Xr?[]:Bi(gr,Xr);return(Vn-=Qi.length)<_e?af(O,B,zl,un.placeholder,e,gr,Qi,e,e,_e-Vn):ye(this&&this!==Ca&&this instanceof un?gt:O,this,gr)}}(O,B,Lr):B!=Y&&33!=B||un.length?zl.apply(e,Ss):function(O,B,_e,gt){var un=1&B,Vn=su(O);return function gr(){for(var Lr=-1,Xr=arguments.length,Qi=-1,Xi=gt.length,ao=dr(Xi+Xr),qo=this&&this!==Ca&&this instanceof gr?Vn:O;++Qi<Xi;)ao[Qi]=gt[Qi];for(;Xr--;)ao[Qi++]=arguments[++Lr];return ye(qo,un?_e:this,ao)}}(O,B,_e,gt);else var Js=function(O,B,_e){var gt=1&B,un=su(O);return function Vn(){return(this&&this!==Ca&&this instanceof Vn?un:O).apply(gt?_e:this,arguments)}}(O,B,_e);return ap((qo?Jc:Hc)(Js,Ss),O,B)}function ip(O,B,_e,gt){return O===e||Mt(O,ha[_e])&&!Es.call(gt,_e)?B:O}function is(O,B,_e,gt,un,Vn){return Al(O)&&Al(B)&&(Vn.set(B,O),Ql(O,B,e,is,Vn),Vn.delete(B)),O}function kf(O){return S_(O)?e:O}function hd(O,B,_e,gt,un,Vn){var gr=1&_e,Lr=O.length,Xr=B.length;if(Lr!=Xr&&!(gr&&Xr>Lr))return!1;var Qi=Vn.get(O),Xi=Vn.get(B);if(Qi&&Xi)return Qi==B&&Xi==O;var ao=-1,qo=!0,Ss=2&_e?new ki:e;for(Vn.set(O,B),Vn.set(B,O);++ao<Lr;){var Js=O[ao],Ia=B[ao];if(gt)var ta=gr?gt(Ia,Js,ao,B,O,Vn):gt(Js,Ia,ao,O,B,Vn);if(ta!==e){if(ta)continue;qo=!1;break}if(Ss){if(!Ma(B,function(Xa,cl){if(!tn(Ss,cl)&&(Js===Xa||un(Js,Xa,_e,gt,Vn)))return Ss.push(cl)})){qo=!1;break}}else if(Js!==Ia&&!un(Js,Ia,_e,gt,Vn)){qo=!1;break}}return Vn.delete(O),Vn.delete(B),qo}function au(O){return Uf(qu(O,e,up),O+"")}function Ud(O){return yo(O,dc,Bd)}function lf(O){return yo(O,Gc,mc)}var _d=wo?function(O){return wo.get(O)}:Jf;function Xc(O){for(var B=O.name+"",_e=oo[B],gt=Es.call(oo,B)?_e.length:0;gt--;){var un=_e[gt],Vn=un.func;if(null==Vn||Vn==O)return un.name}return B}function Mu(O){return(Es.call(_n,"placeholder")?_n:O).placeholder}function Rs(){var O=_n.iteratee||V_;return O=O===V_?xn:O,arguments.length?O(arguments[0],arguments[1]):O}function jd(O,B){var _e=O.__data__;return function(O){var B=typeof O;return"string"==B||"number"==B||"symbol"==B||"boolean"==B?"__proto__"!==O:null===O}(B)?_e["string"==typeof B?"string":"hash"]:_e.map}function gu(O){for(var B=dc(O),_e=B.length;_e--;){var gt=B[_e],un=O[gt];B[_e]=[gt,un,eu(un)]}return B}function lu(O,B){var _e=function(Un,lr){return null==Un?e:Un[lr]}(O,B);return X(_e)?_e:e}var Bd=xt?function(O){return null==O?[]:(O=jo(O),Yo(xt(O),function(B){return ru.call(O,B)}))}:nu,mc=xt?function(O){for(var B=[];O;)Zo(B,Bd(O)),O=kl(O);return B}:nu,jl=Co;function cu(O,B,_e){for(var gt=-1,un=(B=Yc(B,O)).length,Vn=!1;++gt<un;){var gr=Sc(B[gt]);if(!(Vn=null!=O&&_e(O,gr)))break;O=O[gr]}return Vn||++gt!=un?Vn:!!(un=null==O?0:O.length)&&td(un)&&mu(gr,un)&&(ui(O)||Rr(O))}function Pu(O){return"function"!=typeof O.constructor||Ou(O)?{}:Hs(kl(O))}function sp(O){return ui(O)||Rr(O)||!!(Fe&&O&&O[Fe])}function mu(O,B){var _e=typeof O;return!!(B=null==B?$e:B)&&("number"==_e||"symbol"!=_e&&Mi.test(O))&&O>-1&&O%1==0&&O<B}function Cc(O,B,_e){if(!Al(_e))return!1;var gt=typeof B;return!!("number"==gt?Io(_e)&&mu(B,_e.length):"string"==gt&&B in _e)&&Mt(_e[B],O)}function md(O,B){if(ui(O))return!1;var _e=typeof O;return!("number"!=_e&&"symbol"!=_e&&"boolean"!=_e&&null!=O&&!$u(O))||it.test(O)||!at.test(O)||null!=B&&O in jo(B)}function ff(O){var B=Xc(O),_e=_n[B];if("function"!=typeof _e||!(B in lo.prototype))return!1;if(O===_e)return!0;var gt=_d(_e);return!!gt&&O===gt[0]}(Ci&&jl(new Ci(new ArrayBuffer(1)))!=$n||vi&&jl(new vi)!=ar||Ai&&jl(Ai.resolve())!=Mn||fo&&jl(new fo)!=Yn||po&&jl(new po)!=Kn)&&(jl=function(O){var B=Co(O),_e=B==er?O.constructor:e,gt=_e?Mc(_e):"";if(gt)switch(gt){case Oo:return $n;case Ki:return ar;case Vi:return Mn;case Wo:return Yn;case Po:return Kn}return B});var Hf=fl?tu:Ef;function Ou(O){var B=O&&O.constructor;return O===("function"==typeof B&&B.prototype||ha)}function eu(O){return O==O&&!Al(O)}function pf(O,B){return function(_e){return null!=_e&&_e[O]===B&&(B!==e||O in jo(_e))}}function qu(O,B,_e){return B=kn(B===e?O.length-1:B,0),function(){for(var gt=arguments,un=-1,Vn=kn(gt.length-B,0),gr=dr(Vn);++un<Vn;)gr[un]=gt[B+un];un=-1;for(var Lr=dr(B+1);++un<B;)Lr[un]=gt[un];return Lr[B]=_e(gr),ye(O,this,Lr)}}function hf(O,B){return B.length<2?O:Pi(O,Lc(B,0,-1))}function Bp(O,B){for(var _e=O.length,gt=zn(B.length,_e),un=_i(O);gt--;){var Vn=B[gt];O[gt]=mu(Vn,_e)?un[Vn]:e}return O}function yd(O,B){if(("constructor"!==B||"function"!=typeof O[B])&&"__proto__"!=B)return O[B]}var Hc=Zc(Jc),Zd=ge||function(O,B){return Ca.setTimeout(O,B)},Uf=Zc(Tu);function ap(O,B,_e){var gt=B+"";return Uf(O,function(O,B){var _e=B.length;if(!_e)return O;var gt=_e-1;return B[gt]=(_e>1?"& ":"")+B[gt],B=B.join(_e>2?", ":" "),O.replace(An,"{\n/* [wrapped with "+B+"] */\n")}(gt,function(O,B){return Wt(St,function(_e){var gt="_."+_e[0];B&_e[1]&&!ms(O,gt)&&O.push(gt)}),O.sort()}(function(O){var B=O.match(Bn);return B?B[1].split(ir):[]}(gt),_e)))}function Zc(O){var B=0,_e=0;return function(){var gt=jr(),un=16-(gt-_e);if(_e=gt,un>0){if(++B>=800)return arguments[0]}else B=0;return O.apply(e,arguments)}}function bd(O,B){var _e=-1,gt=O.length,un=gt-1;for(B=B===e?gt:B;++_e<B;){var Vn=Od(_e,un),gr=O[Vn];O[Vn]=O[_e],O[_e]=gr}return O.length=B,O}var B,_e,Ed=(B=fp(function(O){var B=[];return 46===O.charCodeAt(0)&&B.push(""),O.replace(Pt,function(_e,gt,un,Vn){B.push(un?Vn.replace(Nr,"$1"):gt||_e)}),B},function(gt){return 500===_e.size&&_e.clear(),gt}),_e=B.cache,B);function Sc(O){if("string"==typeof O||$u(O))return O;var B=O+"";return"0"==B&&1/O==-He?"-0":B}function Mc(O){if(null!=O){try{return Hn.call(O)}catch(B){}try{return O+""}catch(B){}}return""}function jf(O){if(O instanceof lo)return O.clone();var B=new Oa(O.__wrapped__,O.__chain__);return B.__actions__=_i(O.__actions__),B.__index__=O.__index__,B.__values__=O.__values__,B}var Bf=Is(function(O,B){return os(O)?Q(O,Zt(B,1,os,!0)):[]}),lp=Is(function(O,B){var _e=qr(B);return os(_e)&&(_e=e),os(O)?Q(O,Zt(B,1,os,!0),Rs(_e,2)):[]}),Op=Is(function(O,B){var _e=qr(B);return os(_e)&&(_e=e),os(O)?Q(O,Zt(B,1,os,!0),e,_e):[]});function Ap(O,B,_e){var gt=null==O?0:O.length;if(!gt)return-1;var un=null==_e?0:ka(_e);return un<0&&(un=kn(gt+un,0)),dl(O,Rs(B,3),un)}function Vd(O,B,_e){var gt=null==O?0:O.length;if(!gt)return-1;var un=gt-1;return _e!==e&&(un=ka(_e),un=_e<0?kn(gt+un,0):zn(un,gt-1)),dl(O,Rs(B,3),un,!0)}function up(O){return null!=O&&O.length?Zt(O,1):[]}function q(O){return O&&O.length?O[0]:e}var on=Is(function(O){var B=Lo(O,kc);return B.length&&B[0]===O[0]?Ms(B):[]}),bn=Is(function(O){var B=qr(O),_e=Lo(O,kc);return B===qr(_e)?B=e:_e.pop(),_e.length&&_e[0]===O[0]?Ms(_e,Rs(B,2)):[]}),rr=Is(function(O){var B=qr(O),_e=Lo(O,kc);return(B="function"==typeof B?B:e)&&_e.pop(),_e.length&&_e[0]===O[0]?Ms(_e,e,B):[]});function qr(O){var B=null==O?0:O.length;return B?O[B-1]:e}var so=Is(gs);function gs(O,B){return O&&O.length&&B&&B.length?xu(O,B):O}var oi=au(function(O,B){var _e=null==O?0:O.length,gt=yl(O,B);return ef(O,Lo(B,function(un){return mu(un,_e)?+un:un}).sort(Ye)),gt});function ti(O){return null==O?O:ci.call(O)}var Eh=Is(function(O){return hu(Zt(O,1,os,!0))}),l_=Is(function(O){var B=qr(O);return os(B)&&(B=e),hu(Zt(O,1,os,!0),Rs(B,2))}),c_=Is(function(O){var B=qr(O);return B="function"==typeof B?B:e,hu(Zt(O,1,os,!0),e,B)});function Gp(O){if(!O||!O.length)return[];var B=0;return O=Yo(O,function(_e){if(os(_e))return B=kn(_e.length,B),!0}),ja(B,function(_e){return Lo(O,Na(_e))})}function Ch(O,B){if(!O||!O.length)return[];var _e=Gp(O);return null==B?_e:Lo(_e,function(gt){return ye(B,e,gt)})}var f_=Is(function(O,B){return os(O)?Q(O,B):[]}),ca=Is(function(O){return Cu(Yo(O,os))}),Sh=Is(function(O){var B=qr(O);return os(B)&&(B=e),Cu(Yo(O,os),Rs(B,2))}),Mh=Is(function(O){var B=qr(O);return B="function"==typeof B?B:e,Cu(Yo(O,os),e,B)}),wp=Is(Gp),Td=Is(function(O){var B=O.length,_e=B>1?O[B-1]:e;return _e="function"==typeof _e?(O.pop(),_e):e,Ch(O,_e)});function zp(O){var B=_n(O);return B.__chain__=!0,B}function dp(O,B){return B(O)}var p_=au(function(O){var B=O.length,_e=B?O[0]:0,gt=this.__wrapped__,un=function(Vn){return yl(Vn,O)};return!(B>1||this.__actions__.length)&> instanceof lo&&mu(_e)?((gt=gt.slice(_e,+_e+(B?1:0))).__actions__.push({func:dp,args:[un],thisArg:e}),new Oa(gt,this.__chain__).thru(function(Vn){return B&&!Vn.length&&Vn.push(e),Vn})):this.thru(un)}),Ah=Uo(function(O,B,_e){Es.call(O,_e)?++O[_e]:nl(O,_e,1)}),v_=Kl(Ap),Fm=Kl(Vd);function Dh(O,B){return(ui(O)?Wt:de)(O,Rs(B,3))}function Jp(O,B){return(ui(O)?Or:ve)(O,Rs(B,3))}var nc=Uo(function(O,B,_e){Es.call(O,_e)?O[_e].push(B):nl(O,_e,[B])}),Cl=Is(function(O,B,_e){var gt=-1,un="function"==typeof B,Vn=Io(O)?dr(O.length):[];return de(O,function(gr){Vn[++gt]=un?ye(B,gr,_e):ya(gr,B,_e)}),Vn}),y_=Uo(function(O,B,_e){nl(O,_e,B)});function Qp(O,B){return(ui(O)?Lo:aa)(O,Rs(B,3))}var ko=Uo(function(O,B,_e){O[_e?0:1].push(B)},function(){return[[],[]]}),Nh=Is(function(O,B){if(null==O)return[];var _e=B.length;return _e>1&&Cc(O,B[0],B[1])?B=[]:_e>2&&Cc(B[0],B[1],B[2])&&(B=[B[0]]),Sd(O,Zt(B,1),[])}),Vf=Te||function(){return Ca.Date.now()};function Dp(O,B,_e){return B=_e?e:B,Qc(O,128,e,e,e,e,B=O&&null==B?O.length:B)}function Ih(O,B){var _e;if("function"!=typeof B)throw new Ho(u);return O=ka(O),function(){return--O>0&&(_e=B.apply(this,arguments)),O<=1&&(B=e),_e}}var Xu=Is(function(O,B,_e){var gt=1;if(_e.length){var un=Bi(_e,Mu(Xu));gt|=Y}return Qc(O,gt,B,_e,un)}),Kp=Is(function(O,B,_e){var gt=3;if(_e.length){var un=Bi(_e,Mu(Kp));gt|=Y}return Qc(B,gt,O,_e,un)});function xp(O,B,_e){var gt,un,Vn,gr,Lr,Xr,Qi=0,Xi=!1,ao=!1,qo=!0;if("function"!=typeof O)throw new Ho(u);function Ss(Rc){var od=gt,Pd=un;return gt=un=e,Qi=Rc,gr=O.apply(Pd,od)}function Js(Rc){return Qi=Rc,Lr=Zd(Xa,B),Xi?Ss(Rc):gr}function ta(Rc){var od=Rc-Xr;return Xr===e||od>=B||od<0||ao&&Rc-Qi>=Vn}function Xa(){var Rc=Vf();if(ta(Rc))return cl(Rc);Lr=Zd(Xa,function(Rc){var qg=B-(Rc-Xr);return ao?zn(qg,Vn-(Rc-Qi)):qg}(Rc))}function cl(Rc){return Lr=e,qo&>?Ss(Rc):(gt=un=e,gr)}function id(){var Rc=Vf(),od=ta(Rc);if(gt=arguments,un=this,Xr=Rc,od){if(Lr===e)return Js(Xr);if(ao)return fd(Lr),Lr=Zd(Xa,B),Ss(Xr)}return Lr===e&&(Lr=Zd(Xa,B)),gr}return B=Hu(B)||0,Al(_e)&&(Xi=!!_e.leading,Vn=(ao="maxWait"in _e)?kn(Hu(_e.maxWait)||0,B):Vn,qo="trailing"in _e?!!_e.trailing:qo),id.cancel=function(){Lr!==e&&fd(Lr),Qi=0,gt=Xr=un=Lr=e},id.flush=function(){return Lr===e?gr:cl(Vf())},id}var b_=Is(function(O,B){return $(O,1,B)}),th=Is(function(O,B,_e){return $(O,Hu(B)||0,_e)});function fp(O,B){if("function"!=typeof O||null!=B&&"function"!=typeof B)throw new Ho(u);var _e=function(){var gt=arguments,un=B?B.apply(this,gt):gt[0],Vn=_e.cache;if(Vn.has(un))return Vn.get(un);var gr=O.apply(this,gt);return _e.cache=Vn.set(un,gr)||Vn,gr};return _e.cache=new(fp.Cache||Us),_e}function Ku(O){if("function"!=typeof O)throw new Ho(u);return function(){var B=arguments;switch(B.length){case 0:return!O.call(this);case 1:return!O.call(this,B[0]);case 2:return!O.call(this,B[0],B[1]);case 3:return!O.call(this,B[0],B[1],B[2])}return!O.apply(this,B)}}fp.Cache=Us;var qd=Lf(function(O,B){var _e=(B=1==B.length&&ui(B[0])?Lo(B[0],wt(Rs())):Lo(Zt(B,1),wt(Rs()))).length;return Is(function(gt){for(var un=-1,Vn=zn(gt.length,_e);++un<Vn;)gt[un]=B[un].call(this,gt[un]);return ye(O,this,gt)})}),Jd=Is(function(O,B){var _e=Bi(B,Mu(Jd));return Qc(O,Y,e,B,_e)}),Gf=Is(function(O,B){var _e=Bi(B,Mu(Gf));return Qc(O,64,e,B,_e)}),vf=au(function(O,B){return Qc(O,256,e,e,e,B)});function Mt(O,B){return O===B||O!=O&&B!=B}var cn=Ru(Xo),pr=Ru(function(O,B){return O>=B}),Rr=hl(function(){return arguments}())?hl:function(O){return rc(O)&&Es.call(O,"callee")&&!ru.call(O,"callee")},ui=dr.isArray,To=ks?wt(ks):function(O){return rc(O)&&Co(O)==Sn};function Io(O){return null!=O&&td(O.length)&&!tu(O)}function os(O){return rc(O)&&Io(O)}var _l=Dt||Ef,qa=Ua?wt(Ua):function(O){return rc(O)&&Co(O)==Ie};function zf(O){if(!rc(O))return!1;var B=Co(O);return B==Jt||"[object DOMException]"==B||"string"==typeof O.message&&"string"==typeof O.name&&!S_(O)}function tu(O){if(!Al(O))return!1;var B=Co(O);return B==zt||B==ln||"[object AsyncFunction]"==B||"[object Proxy]"==B}function vc(O){return"number"==typeof O&&O==ka(O)}function td(O){return"number"==typeof O&&O>-1&&O%1==0&&O<=$e}function Al(O){var B=typeof O;return null!=O&&("object"==B||"function"==B)}function rc(O){return null!=O&&"object"==typeof O}var $h=pt?wt(pt):function(O){return rc(O)&&jl(O)==ar};function $m(O){return"number"==typeof O||rc(O)&&Co(O)==Ln}function S_(O){if(!rc(O)||Co(O)!=er)return!1;var B=kl(O);if(null===B)return!0;var _e=Es.call(B,"constructor")&&B.constructor;return"function"==typeof _e&&_e instanceof _e&&Hn.call(_e)==As}var M_=an?wt(an):function(O){return rc(O)&&Co(O)==tr},O_=Nt?wt(Nt):function(O){return rc(O)&&jl(O)==Yn};function Hh(O){return"string"==typeof O||!ui(O)&&rc(O)&&Co(O)==Cn}function $u(O){return"symbol"==typeof O||rc(O)&&Co(O)==Kt}var ih=Ce?wt(Ce):function(O){return rc(O)&&td(O.length)&&!!gi[Co(O)]},yv=Ru(fs),mg=Ru(function(O,B){return O<=B});function w_(O){if(!O)return[];if(Io(O))return Hh(O)?Ft(O):_i(O);if(we&&O[we])return function(Un){for(var lr,dr=[];!(lr=Un.next()).done;)dr.push(lr.value);return dr}(O[we]());var B=jl(O);return(B==ar?io:B==Yn?hi:ah)(O)}function yf(O){return O?(O=Hu(O))===He||O===-He?17976931348623157e292*(O<0?-1:1):O==O?O:0:0===O?O:0}function ka(O){var B=yf(O),_e=B%1;return B==B?_e?B-_e:B:0}function Hm(O){return O?El(ka(O),0,Et):0}function Hu(O){if("number"==typeof O)return O;if($u(O))return NaN;if(Al(O)){var B="function"==typeof O.valueOf?O.valueOf():O;O=Al(B)?B+"":B}if("string"!=typeof O)return 0===O?O:+O;O=ze(O);var _e=Mr.test(O);return _e||Ii.test(O)?Ra(O.slice(2),_e?2:8):nr.test(O)?NaN:+O}function Um(O){return ji(O,Gc(O))}function Sl(O){return null==O?"":Fc(O)}var vg=us(function(O,B){if(Ou(B)||Io(B))ji(B,dc(B),O);else for(var _e in B)Es.call(B,_e)&&ml(O,_e,B[_e])}),D_=us(function(O,B){ji(B,Gc(B),O)}),oh=us(function(O,B,_e,gt){ji(B,Gc(B),O,gt)}),yg=us(function(O,B,_e,gt){ji(B,dc(B),O,gt)}),Nl=au(yl),Pp=Is(function(O,B){O=jo(O);var _e=-1,gt=B.length,un=gt>2?B[2]:e;for(un&&Cc(B[0],B[1],un)&&(gt=1);++_e<gt;)for(var Vn=B[_e],gr=Gc(Vn),Lr=-1,Xr=gr.length;++Lr<Xr;){var Qi=gr[Lr],Xi=O[Qi];(Xi===e||Mt(Xi,ha[Qi])&&!Es.call(O,Qi))&&(O[Qi]=Vn[Qi])}return O}),Bm=Is(function(O){return O.push(e,is),ye(hp,e,O)});function N_(O,B,_e){var gt=null==O?e:Pi(O,B);return gt===e?_e:gt}function P_(O,B){return null!=O&&cu(O,B,_s)}var I_=xc(function(O,B,_e){null!=B&&"function"!=typeof B.toString&&(B=mo.call(B)),O[B]=_e},kg(vu)),Ym=xc(function(O,B,_e){null!=B&&"function"!=typeof B.toString&&(B=mo.call(B)),Es.call(O,B)?O[B].push(_e):O[B]=[_e]},Rs),Zm=Is(ya);function dc(O){return Io(O)?ou(O):Ar(O)}function Gc(O){return Io(O)?ou(O,!0):function(O){if(!Al(O))return function(O){var B=[];if(null!=O)for(var _e in jo(O))B.push(_e);return B}(O);var B=Ou(O),_e=[];for(var gt in O)"constructor"==gt&&(B||!Es.call(O,gt))||_e.push(gt);return _e}(O)}var Tg=us(function(O,B,_e){Ql(O,B,_e)}),hp=us(function(O,B,_e,gt){Ql(O,B,_e,gt)}),Gm=au(function(O,B){var _e={};if(null==O)return _e;var gt=!1;B=Lo(B,function(Vn){return Vn=Yc(Vn,O),gt||(gt=Vn.length>1),Vn}),ji(O,lf(O),_e),gt&&(_e=p(_e,7,kf));for(var un=B.length;un--;)Hd(_e,B[un]);return _e}),Wm=au(function(O,B){return null==O?{}:function(O,B){return Md(O,B,function(_e,gt){return P_(O,gt)})}(O,B)});function Bh(O,B){if(null==O)return{};var _e=Lo(lf(O),function(gt){return[gt]});return B=Rs(B),Md(O,_e,function(gt,un){return B(gt,un[0])})}var oc=$c(dc),Yh=$c(Gc);function ah(O){return null==O?[]:kt(O,dc(O))}var Og=al(function(O,B,_e){return B=B.toLowerCase(),O+(_e?k_(B):B)});function k_(O){return Ig(Sl(O).toLowerCase())}function $_(O){return(O=Sl(O))&&O.replace(Oi,Zr).replace(Ve,"")}var Ag=al(function(O,B,_e){return O+(_e?"-":"")+B.toLowerCase()}),wg=al(function(O,B,_e){return O+(_e?" ":"")+B.toLowerCase()}),Dg=Dc("toLowerCase"),Tv=al(function(O,B,_e){return O+(_e?"_":"")+B.toLowerCase()}),r1=al(function(O,B,_e){return O+(_e?" ":"")+Ig(B)}),Ov=al(function(O,B,_e){return O+(_e?" ":"")+B.toUpperCase()}),Ig=Dc("toUpperCase");function o1(O,B,_e){return O=Sl(O),(B=_e?e:B)===e?function(Un){return ni.test(Un)}(O)?function(Un){return Un.match(Tn)||[]}(O):function(Un){return Un.match(mr)||[]}(O):O.match(B)||[]}var Y_=Is(function(O,B){try{return ye(O,e,B)}catch(_e){return zf(_e)?_e:new Ti(_e)}}),Lg=au(function(O,B){return Wt(B,function(_e){_e=Sc(_e),nl(O,_e,Xu(O[_e],O))}),O});function kg(O){return function(){return O}}var Z_=Ul(),a1=Ul(!0);function vu(O){return O}function V_(O){return xn("function"==typeof O?O:p(O,1))}var u1=Is(function(O,B){return function(_e){return ya(_e,O,B)}}),d1=Is(function(O,B){return function(_e){return ya(O,_e,B)}});function G_(O,B,_e){var gt=dc(B),un=Yr(B,gt);null==_e&&(!Al(B)||!un.length&>.length)&&(_e=B,B=O,O=this,un=Yr(B,dc(B)));var Vn=!(Al(_e)&&"chain"in _e&&!_e.chain),gr=tu(O);return Wt(un,function(Lr){var Xr=B[Lr];O[Lr]=Xr,gr&&(O.prototype[Lr]=function(){var Qi=this.__chain__;if(Vn||Qi){var Xi=O(this.__wrapped__),ao=Xi.__actions__=_i(this.__actions__);return ao.push({func:Xr,args:arguments,thisArg:O}),Xi.__chain__=Qi,Xi}return Xr.apply(O,Zo([this.value()],arguments))})}),O}function Jf(){}var Nd=Tc(Lo),ch=Tc(Ni),f1=Tc(Ma);function Ug(O){return md(O)?Na(Sc(O)):function(O){return function(B){return Pi(B,O)}}(O)}var Qd=pd(),uh=pd(!0);function nu(){return[]}function Ef(){return!1}var Xf=sf(function(O,B){return O+B},0),Kf=ec("ceil"),Fp=sf(function(O,B){return O/B},1),kp=ec("floor"),W_=sf(function(O,B){return O*B},1),Vg=ec("round"),Gg=sf(function(O,B){return O-B},0);return _n.after=function(O,B){if("function"!=typeof B)throw new Ho(u);return O=ka(O),function(){if(--O<1)return B.apply(this,arguments)}},_n.ary=Dp,_n.assign=vg,_n.assignIn=D_,_n.assignInWith=oh,_n.assignWith=yg,_n.at=Nl,_n.before=Ih,_n.bind=Xu,_n.bindAll=Lg,_n.bindKey=Kp,_n.castArray=function(){if(!arguments.length)return[];var O=arguments[0];return ui(O)?O:[O]},_n.chain=zp,_n.chunk=function(O,B,_e){B=(_e?Cc(O,B,_e):B===e)?1:kn(ka(B),0);var gt=null==O?0:O.length;if(!gt||B<1)return[];for(var un=0,Vn=0,gr=dr(Re(gt/B));un<gt;)gr[Vn++]=Lc(O,un,un+=B);return gr},_n.compact=function(O){for(var B=-1,_e=null==O?0:O.length,gt=0,un=[];++B<_e;){var Vn=O[B];Vn&&(un[gt++]=Vn)}return un},_n.concat=function(){var O=arguments.length;if(!O)return[];for(var B=dr(O-1),_e=arguments[0],gt=O;gt--;)B[gt-1]=arguments[gt];return Zo(ui(_e)?_i(_e):[_e],Zt(B,1))},_n.cond=function(O){var B=null==O?0:O.length,_e=Rs();return O=B?Lo(O,function(gt){if("function"!=typeof gt[1])throw new Ho(u);return[_e(gt[0]),gt[1]]}):[],Is(function(gt){for(var un=-1;++un<B;){var Vn=O[un];if(ye(Vn[0],this,gt))return ye(Vn[1],this,gt)}})},_n.conforms=function(O){return function(O){var B=dc(O);return function(_e){return N(_e,O,B)}}(p(O,1))},_n.constant=kg,_n.countBy=Ah,_n.create=function(O,B){var _e=Hs(O);return null==B?_e:hc(_e,B)},_n.curry=function Lh(O,B,_e){var gt=Qc(O,8,e,e,e,e,e,B=_e?e:B);return gt.placeholder=Lh.placeholder,gt},_n.curryRight=function eh(O,B,_e){var gt=Qc(O,16,e,e,e,e,e,B=_e?e:B);return gt.placeholder=eh.placeholder,gt},_n.debounce=xp,_n.defaults=Pp,_n.defaultsDeep=Bm,_n.defer=b_,_n.delay=th,_n.difference=Bf,_n.differenceBy=lp,_n.differenceWith=Op,_n.drop=function(O,B,_e){var gt=null==O?0:O.length;return gt?Lc(O,(B=_e||B===e?1:ka(B))<0?0:B,gt):[]},_n.dropRight=function(O,B,_e){var gt=null==O?0:O.length;return gt?Lc(O,0,(B=gt-(B=_e||B===e?1:ka(B)))<0?0:B):[]},_n.dropRightWhile=function(O,B){return O&&O.length?wd(O,Rs(B,3),!0,!0):[]},_n.dropWhile=function(O,B){return O&&O.length?wd(O,Rs(B,3),!0):[]},_n.fill=function(O,B,_e,gt){var un=null==O?0:O.length;return un?(_e&&"number"!=typeof _e&&Cc(O,B,_e)&&(_e=0,gt=un),function(O,B,_e,gt){var un=O.length;for((_e=ka(_e))<0&&(_e=-_e>un?0:un+_e),(gt=gt===e||gt>un?un:ka(gt))<0&&(gt+=un),gt=_e>gt?0:Hm(gt);_e<gt;)O[_e++]=B;return O}(O,B,_e,gt)):[]},_n.filter=function(O,B){return(ui(O)?Yo:Yt)(O,Rs(B,3))},_n.flatMap=function(O,B){return Zt(Qp(O,B),1)},_n.flatMapDeep=function(O,B){return Zt(Qp(O,B),He)},_n.flatMapDepth=function(O,B,_e){return _e=_e===e?1:ka(_e),Zt(Qp(O,B),_e)},_n.flatten=up,_n.flattenDeep=function(O){return null!=O&&O.length?Zt(O,He):[]},_n.flattenDepth=function(O,B){return null!=O&&O.length?Zt(O,B=B===e?1:ka(B)):[]},_n.flip=function(O){return Qc(O,512)},_n.flow=Z_,_n.flowRight=a1,_n.fromPairs=function(O){for(var B=-1,_e=null==O?0:O.length,gt={};++B<_e;){var un=O[B];gt[un[0]]=un[1]}return gt},_n.functions=function(O){return null==O?[]:Yr(O,dc(O))},_n.functionsIn=function(O){return null==O?[]:Yr(O,Gc(O))},_n.groupBy=nc,_n.initial=function(O){return null!=O&&O.length?Lc(O,0,-1):[]},_n.intersection=on,_n.intersectionBy=bn,_n.intersectionWith=rr,_n.invert=I_,_n.invertBy=Ym,_n.invokeMap=Cl,_n.iteratee=V_,_n.keyBy=y_,_n.keys=dc,_n.keysIn=Gc,_n.map=Qp,_n.mapKeys=function(O,B){var _e={};return B=Rs(B,3),sr(O,function(gt,un,Vn){nl(_e,B(gt,un,Vn),gt)}),_e},_n.mapValues=function(O,B){var _e={};return B=Rs(B,3),sr(O,function(gt,un,Vn){nl(_e,un,B(gt,un,Vn))}),_e},_n.matches=function(O){return za(p(O,1))},_n.matchesProperty=function(O,B){return gc(O,p(B,1))},_n.memoize=fp,_n.merge=Tg,_n.mergeWith=hp,_n.method=u1,_n.methodOf=d1,_n.mixin=G_,_n.negate=Ku,_n.nthArg=function(O){return O=ka(O),Is(function(B){return Gu(B,O)})},_n.omit=Gm,_n.omitBy=function(O,B){return Bh(O,Ku(Rs(B)))},_n.once=function(O){return Ih(2,O)},_n.orderBy=function(O,B,_e,gt){return null==O?[]:(ui(B)||(B=null==B?[]:[B]),ui(_e=gt?e:_e)||(_e=null==_e?[]:[_e]),Sd(O,B,_e))},_n.over=Nd,_n.overArgs=qd,_n.overEvery=ch,_n.overSome=f1,_n.partial=Jd,_n.partialRight=Gf,_n.partition=ko,_n.pick=Wm,_n.pickBy=Bh,_n.property=Ug,_n.propertyOf=function(O){return function(B){return null==O?e:Pi(O,B)}},_n.pull=so,_n.pullAll=gs,_n.pullAllBy=function(O,B,_e){return O&&O.length&&B&&B.length?xu(O,B,Rs(_e,2)):O},_n.pullAllWith=function(O,B,_e){return O&&O.length&&B&&B.length?xu(O,B,e,_e):O},_n.pullAt=oi,_n.range=Qd,_n.rangeRight=uh,_n.rearg=vf,_n.reject=function(O,B){return(ui(O)?Yo:Yt)(O,Ku(Rs(B,3)))},_n.remove=function(O,B){var _e=[];if(!O||!O.length)return _e;var gt=-1,un=[],Vn=O.length;for(B=Rs(B,3);++gt<Vn;){var gr=O[gt];B(gr,gt,O)&&(_e.push(gr),un.push(gt))}return ef(O,un),_e},_n.rest=function(O,B){if("function"!=typeof O)throw new Ho(u);return Is(O,B=B===e?B:ka(B))},_n.reverse=ti,_n.sampleSize=function(O,B,_e){return B=(_e?Cc(O,B,_e):B===e)?1:ka(B),(ui(O)?Vl:Nf)(O,B)},_n.set=function(O,B,_e){return null==O?O:ld(O,B,_e)},_n.setWith=function(O,B,_e,gt){return gt="function"==typeof gt?gt:e,null==O?O:ld(O,B,_e,gt)},_n.shuffle=function(O){return(ui(O)?el:nf)(O)},_n.slice=function(O,B,_e){var gt=null==O?0:O.length;return gt?(_e&&"number"!=typeof _e&&Cc(O,B,_e)?(B=0,_e=gt):(B=null==B?0:ka(B),_e=_e===e?gt:ka(_e)),Lc(O,B,_e)):[]},_n.sortBy=Nh,_n.sortedUniq=function(O){return O&&O.length?$d(O):[]},_n.sortedUniqBy=function(O,B){return O&&O.length?$d(O,Rs(B,2)):[]},_n.split=function(O,B,_e){return _e&&"number"!=typeof _e&&Cc(O,B,_e)&&(B=_e=e),(_e=_e===e?Et:_e>>>0)?(O=Sl(O))&&("string"==typeof B||null!=B&&!M_(B))&&!(B=Fc(B))&&si(O)?Su(Ft(O),0,_e):O.split(B,_e):[]},_n.spread=function(O,B){if("function"!=typeof O)throw new Ho(u);return B=null==B?0:kn(ka(B),0),Is(function(_e){var gt=_e[B],un=Su(_e,0,B);return gt&&Zo(un,gt),ye(O,this,un)})},_n.tail=function(O){var B=null==O?0:O.length;return B?Lc(O,1,B):[]},_n.take=function(O,B,_e){return O&&O.length?Lc(O,0,(B=_e||B===e?1:ka(B))<0?0:B):[]},_n.takeRight=function(O,B,_e){var gt=null==O?0:O.length;return gt?Lc(O,(B=gt-(B=_e||B===e?1:ka(B)))<0?0:B,gt):[]},_n.takeRightWhile=function(O,B){return O&&O.length?wd(O,Rs(B,3),!1,!0):[]},_n.takeWhile=function(O,B){return O&&O.length?wd(O,Rs(B,3)):[]},_n.tap=function(O,B){return B(O),O},_n.throttle=function(O,B,_e){var gt=!0,un=!0;if("function"!=typeof O)throw new Ho(u);return Al(_e)&&(gt="leading"in _e?!!_e.leading:gt,un="trailing"in _e?!!_e.trailing:un),xp(O,B,{leading:gt,maxWait:B,trailing:un})},_n.thru=dp,_n.toArray=w_,_n.toPairs=oc,_n.toPairsIn=Yh,_n.toPath=function(O){return ui(O)?Lo(O,Sc):$u(O)?[O]:_i(Ed(Sl(O)))},_n.toPlainObject=Um,_n.transform=function(O,B,_e){var gt=ui(O),un=gt||_l(O)||ih(O);if(B=Rs(B,4),null==_e){var Vn=O&&O.constructor;_e=un?gt?new Vn:[]:Al(O)&&tu(Vn)?Hs(kl(O)):{}}return(un?Wt:sr)(O,function(gr,Lr,Xr){return B(_e,gr,Lr,Xr)}),_e},_n.unary=function(O){return Dp(O,1)},_n.union=Eh,_n.unionBy=l_,_n.unionWith=c_,_n.uniq=function(O){return O&&O.length?hu(O):[]},_n.uniqBy=function(O,B){return O&&O.length?hu(O,Rs(B,2)):[]},_n.uniqWith=function(O,B){return B="function"==typeof B?B:e,O&&O.length?hu(O,e,B):[]},_n.unset=function(O,B){return null==O||Hd(O,B)},_n.unzip=Gp,_n.unzipWith=Ch,_n.update=function(O,B,_e){return null==O?O:ud(O,B,wc(_e))},_n.updateWith=function(O,B,_e,gt){return gt="function"==typeof gt?gt:e,null==O?O:ud(O,B,wc(_e),gt)},_n.values=ah,_n.valuesIn=function(O){return null==O?[]:kt(O,Gc(O))},_n.without=f_,_n.words=o1,_n.wrap=function(O,B){return Jd(wc(B),O)},_n.xor=ca,_n.xorBy=Sh,_n.xorWith=Mh,_n.zip=wp,_n.zipObject=function(O,B){return dd(O||[],B||[],ml)},_n.zipObjectDeep=function(O,B){return dd(O||[],B||[],ld)},_n.zipWith=Td,_n.entries=oc,_n.entriesIn=Yh,_n.extend=D_,_n.extendWith=oh,G_(_n,_n),_n.add=Xf,_n.attempt=Y_,_n.camelCase=Og,_n.capitalize=k_,_n.ceil=Kf,_n.clamp=function(O,B,_e){return _e===e&&(_e=B,B=e),_e!==e&&(_e=(_e=Hu(_e))==_e?_e:0),B!==e&&(B=(B=Hu(B))==B?B:0),El(Hu(O),B,_e)},_n.clone=function(O){return p(O,4)},_n.cloneDeep=function(O){return p(O,5)},_n.cloneDeepWith=function(O,B){return p(O,5,B="function"==typeof B?B:e)},_n.cloneWith=function(O,B){return p(O,4,B="function"==typeof B?B:e)},_n.conformsTo=function(O,B){return null==B||N(O,B,dc(B))},_n.deburr=$_,_n.defaultTo=function(O,B){return null==O||O!=O?B:O},_n.divide=Fp,_n.endsWith=function(O,B,_e){O=Sl(O),B=Fc(B);var gt=O.length,un=_e=_e===e?gt:El(ka(_e),0,gt);return(_e-=B.length)>=0&&O.slice(_e,un)==B},_n.eq=Mt,_n.escape=function(O){return(O=Sl(O))&&ht.test(O)?O.replace(Qn,Pr):O},_n.escapeRegExp=function(O){return(O=Sl(O))&&ot.test(O)?O.replace(Ut,"\\$&"):O},_n.every=function(O,B,_e){var gt=ui(O)?Ni:qe;return _e&&Cc(O,B,_e)&&(B=e),gt(O,Rs(B,3))},_n.find=v_,_n.findIndex=Ap,_n.findKey=function(O,B){return Ol(O,Rs(B,3),sr)},_n.findLast=Fm,_n.findLastIndex=Vd,_n.findLastKey=function(O,B){return Ol(O,Rs(B,3),Tr)},_n.floor=kp,_n.forEach=Dh,_n.forEachRight=Jp,_n.forIn=function(O,B){return null==O?O:wn(O,Rs(B,3),Gc)},_n.forInRight=function(O,B){return null==O?O:cr(O,Rs(B,3),Gc)},_n.forOwn=function(O,B){return O&&sr(O,Rs(B,3))},_n.forOwnRight=function(O,B){return O&&Tr(O,Rs(B,3))},_n.get=N_,_n.gt=cn,_n.gte=pr,_n.has=function(O,B){return null!=O&&cu(O,B,ts)},_n.hasIn=P_,_n.head=q,_n.identity=vu,_n.includes=function(O,B,_e,gt){O=Io(O)?O:ah(O),_e=_e&&!gt?ka(_e):0;var un=O.length;return _e<0&&(_e=kn(un+_e,0)),Hh(O)?_e<=un&&O.indexOf(B,_e)>-1:!!un&&Ja(O,B,_e)>-1},_n.indexOf=function(O,B,_e){var gt=null==O?0:O.length;if(!gt)return-1;var un=null==_e?0:ka(_e);return un<0&&(un=kn(gt+un,0)),Ja(O,B,un)},_n.inRange=function(O,B,_e){return B=yf(B),_e===e?(_e=B,B=0):_e=yf(_e),function(O,B,_e){return O>=zn(B,_e)&&O<kn(B,_e)}(O=Hu(O),B,_e)},_n.invoke=Zm,_n.isArguments=Rr,_n.isArray=ui,_n.isArrayBuffer=To,_n.isArrayLike=Io,_n.isArrayLikeObject=os,_n.isBoolean=function(O){return!0===O||!1===O||rc(O)&&Co(O)==ae},_n.isBuffer=_l,_n.isDate=qa,_n.isElement=function(O){return rc(O)&&1===O.nodeType&&!S_(O)},_n.isEmpty=function(O){if(null==O)return!0;if(Io(O)&&(ui(O)||"string"==typeof O||"function"==typeof O.splice||_l(O)||ih(O)||Rr(O)))return!O.length;var B=jl(O);if(B==ar||B==Yn)return!O.size;if(Ou(O))return!Ar(O).length;for(var _e in O)if(Es.call(O,_e))return!1;return!0},_n.isEqual=function(O,B){return rl(O,B)},_n.isEqualWith=function(O,B,_e){var gt=(_e="function"==typeof _e?_e:e)?_e(O,B):e;return gt===e?rl(O,B,e,_e):!!gt},_n.isError=zf,_n.isFinite=function(O){return"number"==typeof O&&en(O)},_n.isFunction=tu,_n.isInteger=vc,_n.isLength=td,_n.isMap=$h,_n.isMatch=function(O,B){return O===B||$s(O,B,gu(B))},_n.isMatchWith=function(O,B,_e){return _e="function"==typeof _e?_e:e,$s(O,B,gu(B),_e)},_n.isNaN=function(O){return $m(O)&&O!=+O},_n.isNative=function(O){if(Hf(O))throw new Ti("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return X(O)},_n.isNil=function(O){return null==O},_n.isNull=function(O){return null===O},_n.isNumber=$m,_n.isObject=Al,_n.isObjectLike=rc,_n.isPlainObject=S_,_n.isRegExp=M_,_n.isSafeInteger=function(O){return vc(O)&&O>=-$e&&O<=$e},_n.isSet=O_,_n.isString=Hh,_n.isSymbol=$u,_n.isTypedArray=ih,_n.isUndefined=function(O){return O===e},_n.isWeakMap=function(O){return rc(O)&&jl(O)==Kn},_n.isWeakSet=function(O){return rc(O)&&"[object WeakSet]"==Co(O)},_n.join=function(O,B){return null==O?"":vn.call(O,B)},_n.kebabCase=Ag,_n.last=qr,_n.lastIndexOf=function(O,B,_e){var gt=null==O?0:O.length;if(!gt)return-1;var un=gt;return _e!==e&&(un=(un=ka(_e))<0?kn(gt+un,0):zn(un,gt-1)),B==B?function(Un,lr,dr){for(var li=dr+1;li--;)if(Un[li]===lr)return li;return li}(O,B,un):dl(O,Il,un,!0)},_n.lowerCase=wg,_n.lowerFirst=Dg,_n.lt=yv,_n.lte=mg,_n.max=function(O){return O&&O.length?De(O,vu,Xo):e},_n.maxBy=function(O,B){return O&&O.length?De(O,Rs(B,2),Xo):e},_n.mean=function(O){return Bl(O,vu)},_n.meanBy=function(O,B){return Bl(O,Rs(B,2))},_n.min=function(O){return O&&O.length?De(O,vu,fs):e},_n.minBy=function(O,B){return O&&O.length?De(O,Rs(B,2),fs):e},_n.stubArray=nu,_n.stubFalse=Ef,_n.stubObject=function(){return{}},_n.stubString=function(){return""},_n.stubTrue=function(){return!0},_n.multiply=W_,_n.nth=function(O,B){return O&&O.length?Gu(O,ka(B)):e},_n.noConflict=function(){return Ca._===this&&(Ca._=qc),this},_n.noop=Jf,_n.now=Vf,_n.pad=function(O,B,_e){O=Sl(O);var gt=(B=ka(B))?ft(O):0;if(!B||gt>=B)return O;var un=(B-gt)/2;return _u(Be(un),_e)+O+_u(Re(un),_e)},_n.padEnd=function(O,B,_e){O=Sl(O);var gt=(B=ka(B))?ft(O):0;return B&><B?O+_u(B-gt,_e):O},_n.padStart=function(O,B,_e){O=Sl(O);var gt=(B=ka(B))?ft(O):0;return B&><B?_u(B-gt,_e)+O:O},_n.parseInt=function(O,B,_e){return _e||null==B?B=0:B&&(B=+B),kr(Sl(O).replace(Nn,""),B||0)},_n.random=function(O,B,_e){if(_e&&"boolean"!=typeof _e&&Cc(O,B,_e)&&(B=_e=e),_e===e&&("boolean"==typeof B?(_e=B,B=e):"boolean"==typeof O&&(_e=O,O=e)),O===e&&B===e?(O=0,B=1):(O=yf(O),B===e?(B=O,O=0):B=yf(B)),O>B){var gt=O;O=B,B=gt}if(_e||O%1||B%1){var un=Gr();return zn(O+un*(B-O+xa("1e-"+((un+"").length-1))),B)}return Od(O,B)},_n.reduce=function(O,B,_e){var gt=ui(O)?Ea:vs,un=arguments.length<3;return gt(O,Rs(B,4),_e,un,de)},_n.reduceRight=function(O,B,_e){var gt=ui(O)?ul:vs,un=arguments.length<3;return gt(O,Rs(B,4),_e,un,ve)},_n.repeat=function(O,B,_e){return B=(_e?Cc(O,B,_e):B===e)?1:ka(B),tf(Sl(O),B)},_n.replace=function(){var O=arguments,B=Sl(O[0]);return O.length<3?B:B.replace(O[1],O[2])},_n.result=function(O,B,_e){var gt=-1,un=(B=Yc(B,O)).length;for(un||(un=1,O=e);++gt<un;){var Vn=null==O?e:O[Sc(B[gt])];Vn===e&&(gt=un,Vn=_e),O=tu(Vn)?Vn.call(O):Vn}return O},_n.round=Vg,_n.runInContext=Un,_n.sample=function(O){return(ui(O)?xl:Ic)(O)},_n.size=function(O){if(null==O)return 0;if(Io(O))return Hh(O)?ft(O):O.length;var B=jl(O);return B==ar||B==Yn?O.size:Ar(O).length},_n.snakeCase=Tv,_n.some=function(O,B,_e){var gt=ui(O)?Ma:Pf;return _e&&Cc(O,B,_e)&&(B=e),gt(O,Rs(B,3))},_n.sortedIndex=function(O,B){return cd(O,B)},_n.sortedIndexBy=function(O,B,_e){return rf(O,B,Rs(_e,2))},_n.sortedIndexOf=function(O,B){var _e=null==O?0:O.length;if(_e){var gt=cd(O,B);if(gt<_e&&Mt(O[gt],B))return gt}return-1},_n.sortedLastIndex=function(O,B){return cd(O,B,!0)},_n.sortedLastIndexBy=function(O,B,_e){return rf(O,B,Rs(_e,2),!0)},_n.sortedLastIndexOf=function(O,B){if(null!=O&&O.length){var gt=cd(O,B,!0)-1;if(Mt(O[gt],B))return gt}return-1},_n.startCase=r1,_n.startsWith=function(O,B,_e){return O=Sl(O),_e=null==_e?0:El(ka(_e),0,O.length),B=Fc(B),O.slice(_e,_e+B.length)==B},_n.subtract=Gg,_n.sum=function(O){return O&&O.length?Vo(O,vu):0},_n.sumBy=function(O,B){return O&&O.length?Vo(O,Rs(B,2)):0},_n.template=function(O,B,_e){var gt=_n.templateSettings;_e&&Cc(O,B,_e)&&(B=e),O=Sl(O),B=oh({},B,gt,ip);var Lr,Xr,un=oh({},B.imports,gt.imports,ip),Vn=dc(un),gr=kt(un,Vn),Qi=0,Xi=B.interpolate||Kr,ao="__p += '",qo=uo((B.escape||Kr).source+"|"+Xi.source+"|"+(Xi===nt?br:Kr).source+"|"+(B.evaluate||Kr).source+"|$","g"),Ss="//# sourceURL="+(Es.call(B,"sourceURL")?(B.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Do+"]")+"\n";O.replace(qo,function(ta,Xa,cl,rd,Uu,id){return cl||(cl=rd),ao+=O.slice(Qi,id).replace(ei,mi),Xa&&(Lr=!0,ao+="' +\n__e("+Xa+") +\n'"),Uu&&(Xr=!0,ao+="';\n"+Uu+";\n__p += '"),cl&&(ao+="' +\n((__t = ("+cl+")) == null ? '' : __t) +\n'"),Qi=id+ta.length,ta}),ao+="';\n";var Js=Es.call(B,"variable")&&B.variable;if(Js){if(_r.test(Js))throw new Ti("Invalid `variable` option passed into `_.template`")}else ao="with (obj) {\n"+ao+"\n}\n";ao=(Xr?ao.replace(yn,""):ao).replace(et,"$1").replace(jt,"$1;"),ao="function("+(Js||"obj")+") {\n"+(Js?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(Lr?", __e = _.escape":"")+(Xr?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+ao+"return __p\n}";var Ia=Y_(function(){return Ao(Vn,Ss+"return "+ao).apply(e,gr)});if(Ia.source=ao,zf(Ia))throw Ia;return Ia},_n.times=function(O,B){if((O=ka(O))<1||O>$e)return[];var _e=Et,gt=zn(O,Et);B=Rs(B),O-=Et;for(var un=ja(gt,B);++_e<O;)B(_e);return un},_n.toFinite=yf,_n.toInteger=ka,_n.toLength=Hm,_n.toLower=function(O){return Sl(O).toLowerCase()},_n.toNumber=Hu,_n.toSafeInteger=function(O){return O?El(ka(O),-$e,$e):0===O?O:0},_n.toString=Sl,_n.toUpper=function(O){return Sl(O).toUpperCase()},_n.trim=function(O,B,_e){if((O=Sl(O))&&(_e||B===e))return ze(O);if(!O||!(B=Fc(B)))return O;var gt=Ft(O),un=Ft(B);return Su(gt,ur(gt,un),gn(gt,un)+1).join("")},_n.trimEnd=function(O,B,_e){if((O=Sl(O))&&(_e||B===e))return O.slice(0,Bt(O)+1);if(!O||!(B=Fc(B)))return O;var gt=Ft(O);return Su(gt,0,gn(gt,Ft(B))+1).join("")},_n.trimStart=function(O,B,_e){if((O=Sl(O))&&(_e||B===e))return O.replace(Nn,"");if(!O||!(B=Fc(B)))return O;var gt=Ft(O);return Su(gt,ur(gt,Ft(B))).join("")},_n.truncate=function(O,B){var _e=30,gt="...";if(Al(B)){var un="separator"in B?B.separator:un;_e="length"in B?ka(B.length):_e,gt="omission"in B?Fc(B.omission):gt}var Vn=(O=Sl(O)).length;if(si(O)){var gr=Ft(O);Vn=gr.length}if(_e>=Vn)return O;var Lr=_e-ft(gt);if(Lr<1)return gt;var Xr=gr?Su(gr,0,Lr).join(""):O.slice(0,Lr);if(un===e)return Xr+gt;if(gr&&(Lr+=Xr.length-Lr),M_(un)){if(O.slice(Lr).search(un)){var Qi,Xi=Xr;for(un.global||(un=uo(un.source,Sl(Jn.exec(un))+"g")),un.lastIndex=0;Qi=un.exec(Xi);)var ao=Qi.index;Xr=Xr.slice(0,ao===e?Lr:ao)}}else if(O.indexOf(Fc(un),Lr)!=Lr){var qo=Xr.lastIndexOf(un);qo>-1&&(Xr=Xr.slice(0,qo))}return Xr+gt},_n.unescape=function(O){return(O=Sl(O))&&Ir.test(O)?O.replace(hn,In):O},_n.uniqueId=function(O){var B=++Ll;return Sl(O)+B},_n.upperCase=Ov,_n.upperFirst=Ig,_n.each=Dh,_n.eachRight=Jp,_n.first=q,G_(_n,function(){var O={};return sr(_n,function(B,_e){Es.call(_n.prototype,_e)||(O[_e]=B)}),O}(),{chain:!1}),_n.VERSION="4.17.21",Wt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(O){_n[O].placeholder=_n}),Wt(["drop","take"],function(O,B){lo.prototype[O]=function(_e){_e=_e===e?1:kn(ka(_e),0);var gt=this.__filtered__&&!B?new lo(this):this.clone();return gt.__filtered__?gt.__takeCount__=zn(_e,gt.__takeCount__):gt.__views__.push({size:zn(_e,Et),type:O+(gt.__dir__<0?"Right":"")}),gt},lo.prototype[O+"Right"]=function(_e){return this.reverse()[O](_e).reverse()}}),Wt(["filter","map","takeWhile"],function(O,B){var _e=B+1,gt=1==_e||3==_e;lo.prototype[O]=function(un){var Vn=this.clone();return Vn.__iteratees__.push({iteratee:Rs(un,3),type:_e}),Vn.__filtered__=Vn.__filtered__||gt,Vn}}),Wt(["head","last"],function(O,B){var _e="take"+(B?"Right":"");lo.prototype[O]=function(){return this[_e](1).value()[0]}}),Wt(["initial","tail"],function(O,B){var _e="drop"+(B?"":"Right");lo.prototype[O]=function(){return this.__filtered__?new lo(this):this[_e](1)}}),lo.prototype.compact=function(){return this.filter(vu)},lo.prototype.find=function(O){return this.filter(O).head()},lo.prototype.findLast=function(O){return this.reverse().find(O)},lo.prototype.invokeMap=Is(function(O,B){return"function"==typeof O?new lo(this):this.map(function(_e){return ya(_e,O,B)})}),lo.prototype.reject=function(O){return this.filter(Ku(Rs(O)))},lo.prototype.slice=function(O,B){O=ka(O);var _e=this;return _e.__filtered__&&(O>0||B<0)?new lo(_e):(O<0?_e=_e.takeRight(-O):O&&(_e=_e.drop(O)),B!==e&&(_e=(B=ka(B))<0?_e.dropRight(-B):_e.take(B-O)),_e)},lo.prototype.takeRightWhile=function(O){return this.reverse().takeWhile(O).reverse()},lo.prototype.toArray=function(){return this.take(Et)},sr(lo.prototype,function(O,B){var _e=/^(?:filter|find|map|reject)|While$/.test(B),gt=/^(?:head|last)$/.test(B),un=_n[gt?"take"+("last"==B?"Right":""):B],Vn=gt||/^find/.test(B);!un||(_n.prototype[B]=function(){var gr=this.__wrapped__,Lr=gt?[1]:arguments,Xr=gr instanceof lo,Qi=Lr[0],Xi=Xr||ui(gr),ao=function(Xa){var cl=un.apply(_n,Zo([Xa],Lr));return gt&&qo?cl[0]:cl};Xi&&_e&&"function"==typeof Qi&&1!=Qi.length&&(Xr=Xi=!1);var qo=this.__chain__,Ss=!!this.__actions__.length,Js=Vn&&!qo,Ia=Xr&&!Ss;if(!Vn&&Xi){gr=Ia?gr:new lo(this);var ta=O.apply(gr,Lr);return ta.__actions__.push({func:dp,args:[ao],thisArg:e}),new Oa(ta,qo)}return Js&&Ia?O.apply(this,Lr):(ta=this.thru(ao),Js?gt?ta.value()[0]:ta.value():ta)})}),Wt(["pop","push","shift","sort","splice","unshift"],function(O){var B=Zi[O],_e=/^(?:push|sort|unshift)$/.test(O)?"tap":"thru",gt=/^(?:pop|shift)$/.test(O);_n.prototype[O]=function(){var un=arguments;if(gt&&!this.__chain__){var Vn=this.value();return B.apply(ui(Vn)?Vn:[],un)}return this[_e](function(gr){return B.apply(ui(gr)?gr:[],un)})}}),sr(lo.prototype,function(O,B){var _e=_n[B];if(_e){var gt=_e.name+"";Es.call(oo,gt)||(oo[gt]=[]),oo[gt].push({name:B,func:_e})}}),oo[zl(e,2).name]=[{name:"wrapper",func:e}],lo.prototype.clone=function(){var O=new lo(this.__wrapped__);return O.__actions__=_i(this.__actions__),O.__dir__=this.__dir__,O.__filtered__=this.__filtered__,O.__iteratees__=_i(this.__iteratees__),O.__takeCount__=this.__takeCount__,O.__views__=_i(this.__views__),O},lo.prototype.reverse=function(){if(this.__filtered__){var O=new lo(this);O.__dir__=-1,O.__filtered__=!0}else(O=this.clone()).__dir__*=-1;return O},lo.prototype.value=function(){var O=this.__wrapped__.value(),B=this.__dir__,_e=ui(O),gt=B<0,un=_e?O.length:0,Vn=function(O,B,_e){for(var gt=-1,un=_e.length;++gt<un;){var Vn=_e[gt],gr=Vn.size;switch(Vn.type){case"drop":O+=gr;break;case"dropRight":B-=gr;break;case"take":B=zn(B,O+gr);break;case"takeRight":O=kn(O,B-gr)}}return{start:O,end:B}}(0,un,this.__views__),gr=Vn.start,Lr=Vn.end,Xr=Lr-gr,Qi=gt?Lr:gr-1,Xi=this.__iteratees__,ao=Xi.length,qo=0,Ss=zn(Xr,this.__takeCount__);if(!_e||!gt&&un==Xr&&Ss==Xr)return If(O,this.__actions__);var Js=[];e:for(;Xr--&&qo<Ss;){for(var Ia=-1,ta=O[Qi+=B];++Ia<ao;){var Xa=Xi[Ia],rd=Xa.type,Uu=(0,Xa.iteratee)(ta);if(2==rd)ta=Uu;else if(!Uu){if(1==rd)continue e;break e}}Js[qo++]=ta}return Js},_n.prototype.at=p_,_n.prototype.chain=function(){return zp(this)},_n.prototype.commit=function(){return new Oa(this.value(),this.__chain__)},_n.prototype.next=function(){this.__values__===e&&(this.__values__=w_(this.value()));var O=this.__index__>=this.__values__.length;return{done:O,value:O?e:this.__values__[this.__index__++]}},_n.prototype.plant=function(O){for(var B,_e=this;_e instanceof Pa;){var gt=jf(_e);gt.__index__=0,gt.__values__=e,B?un.__wrapped__=gt:B=gt;var un=gt;_e=_e.__wrapped__}return un.__wrapped__=O,B},_n.prototype.reverse=function(){var O=this.__wrapped__;if(O instanceof lo){var B=O;return this.__actions__.length&&(B=new lo(this)),(B=B.reverse()).__actions__.push({func:dp,args:[ti],thisArg:e}),new Oa(B,this.__chain__)}return this.thru(ti)},_n.prototype.toJSON=_n.prototype.valueOf=_n.prototype.value=function(){return If(this.__wrapped__,this.__actions__)},_n.prototype.first=_n.prototype.head,we&&(_n.prototype[we]=function(){return this}),_n}();Ca._=zr,(t=function(){return zr}.call(g,o,g,Ge))!==e&&(Ge.exports=t)}.call(this)},26431:function(Ge,g,o){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(s){return/^nm$/i.test(s)},meridiem:function(s,a,l){return s<12?l?"vm":"VM":l?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(s){return s+(1===s||8===s||s>=20?"ste":"de")},week:{dow:1,doy:4}})}(o(16738))},1616:function(Ge,g,o){!function(t){"use strict";var e=function(h){return 0===h?0:1===h?1:2===h?2:h%100>=3&&h%100<=10?3:h%100>=11?4:5},s={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},a=function(h){return function(_,m,b,C){var D=e(_),x=s[h][e(_)];return 2===D&&(x=x[m?0:1]),x.replace(/%d/i,_)}},l=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar-dz",{months:l,monthsShort:l,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(h){return"\u0645"===h},meridiem:function(h,_,m){return h<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:0,doy:4}})}(o(16738))},9759:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}})}(o(16738))},43160:function(Ge,g,o){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},s=function(_){return 0===_?0:1===_?1:2===_?2:_%100>=3&&_%100<=10?3:_%100>=11?4:5},a={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},l=function(_){return function(m,b,C,D){var x=s(m),j=a[_][s(m)];return 2===x&&(j=j[b?0:1]),j.replace(/%d/i,m)}},u=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar-ly",{months:u,monthsShort:u,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(_){return"\u0645"===_},meridiem:function(_,m,b){return _<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:l("s"),ss:l("s"),m:l("m"),mm:l("m"),h:l("h"),hh:l("h"),d:l("d"),dd:l("d"),M:l("M"),MM:l("M"),y:l("y"),yy:l("y")},preparse:function(_){return _.replace(/\u060c/g,",")},postformat:function(_){return _.replace(/\d/g,function(m){return e[m]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(o(16738))},62551:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}})}(o(16738))},79989:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},s={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};t.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(l){return"\u0645"===l},meridiem:function(l,u,h){return l<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(l){return l.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(u){return s[u]}).replace(/\u060c/g,",")},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}})}(o(16738))},6962:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}})}(o(16738))},81286:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},s={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},a=function(m){return 0===m?0:1===m?1:2===m?2:m%100>=3&&m%100<=10?3:m%100>=11?4:5},l={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},u=function(m){return function(b,C,D,x){var j=a(b),H=l[m][a(b)];return 2===j&&(H=H[C?0:1]),H.replace(/%d/i,b)}},h=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];t.defineLocale("ar",{months:h,monthsShort:h,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(m){return"\u0645"===m},meridiem:function(m,b,C){return m<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:u("s"),ss:u("s"),m:u("m"),mm:u("m"),h:u("h"),hh:u("h"),d:u("d"),dd:u("d"),M:u("M"),MM:u("M"),y:u("y"),yy:u("y")},preparse:function(m){return m.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(b){return s[b]}).replace(/\u060c/g,",")},postformat:function(m){return m.replace(/\d/g,function(b){return e[b]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(o(16738))},15887:function(Ge,g,o){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(a){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(a)},meridiem:function(a,l,u){return a<4?"gec\u0259":a<12?"s\u0259h\u0259r":a<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(a){if(0===a)return a+"-\u0131nc\u0131";var l=a%10;return a+(e[l]||e[a%100-l]||e[a>=100?100:null])},week:{dow:1,doy:7}})}(o(16738))},14572:function(Ge,g,o){!function(t){"use strict";function s(l,u,h){return"m"===h?u?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===h?u?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":l+" "+function(l,u){var h=l.split("_");return u%10==1&&u%100!=11?h[0]:u%10>=2&&u%10<=4&&(u%100<10||u%100>=20)?h[1]:h[2]}({ss:u?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:u?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:u?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[h],+l)}t.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:s,mm:s,h:s,hh:s,d:"\u0434\u0437\u0435\u043d\u044c",dd:s,M:"\u043c\u0435\u0441\u044f\u0446",MM:s,y:"\u0433\u043e\u0434",yy:s},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(l){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(l)},meridiem:function(l,u,h){return l<4?"\u043d\u043e\u0447\u044b":l<12?"\u0440\u0430\u043d\u0456\u0446\u044b":l<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(l,u){switch(u){case"M":case"d":case"DDD":case"w":case"W":return l%10!=2&&l%10!=3||l%100==12||l%100==13?l+"-\u044b":l+"-\u0456";case"D":return l+"-\u0433\u0430";default:return l}},week:{dow:1,doy:7}})}(o(16738))},3276:function(Ge,g,o){!function(t){"use strict";t.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(s){var a=s%10,l=s%100;return 0===s?s+"-\u0435\u0432":0===l?s+"-\u0435\u043d":l>10&&l<20?s+"-\u0442\u0438":1===a?s+"-\u0432\u0438":2===a?s+"-\u0440\u0438":7===a||8===a?s+"-\u043c\u0438":s+"-\u0442\u0438"},week:{dow:1,doy:7}})}(o(16738))},93344:function(Ge,g,o){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(o(16738))},83990:function(Ge,g,o){!function(t){"use strict";var e={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},s={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};t.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(l){return l.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u09b0\u09be\u09a4"===u?l<4?l:l+12:"\u09ad\u09cb\u09b0"===u||"\u09b8\u0995\u09be\u09b2"===u?l:"\u09a6\u09c1\u09aa\u09c1\u09b0"===u?l>=3?l:l+12:"\u09ac\u09bf\u0995\u09be\u09b2"===u||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===u?l+12:void 0},meridiem:function(l,u,h){return l<4?"\u09b0\u09be\u09a4":l<6?"\u09ad\u09cb\u09b0":l<12?"\u09b8\u0995\u09be\u09b2":l<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":l<18?"\u09ac\u09bf\u0995\u09be\u09b2":l<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(o(16738))},58985:function(Ge,g,o){!function(t){"use strict";var e={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},s={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};t.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(l){return l.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u09b0\u09be\u09a4"===u&&l>=4||"\u09a6\u09c1\u09aa\u09c1\u09b0"===u&&l<5||"\u09ac\u09bf\u0995\u09be\u09b2"===u?l+12:l},meridiem:function(l,u,h){return l<4?"\u09b0\u09be\u09a4":l<10?"\u09b8\u0995\u09be\u09b2":l<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":l<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(o(16738))},94391:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},s={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};t.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(l){return l.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===u&&l>=4||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===u&&l<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===u?l+12:l},meridiem:function(l,u,h){return l<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":l<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":l<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":l<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}})}(o(16738))},46728:function(Ge,g,o){!function(t){"use strict";function e(H,z,U){return H+" "+function(H,z){return 2===z?function(H){var z={m:"v",b:"v",d:"z"};return void 0===z[H.charAt(0)]?H:z[H.charAt(0)]+H.substring(1)}(H):H}({mm:"munutenn",MM:"miz",dd:"devezh"}[U],H)}function a(H){return H>9?a(H%10):H}var h=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],_=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,x=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];t.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:x,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:x,monthsRegex:_,monthsShortRegex:_,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:h,longMonthsParse:h,shortMonthsParse:h,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(H){switch(a(H)){case 1:case 3:case 4:case 5:case 9:return H+" bloaz";default:return H+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(H){return H+(1===H?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(H){return"g.m."===H},meridiem:function(H,z,U){return H<12?"a.m.":"g.m."}})}(o(16738))},5536:function(Ge,g,o){!function(t){"use strict";function e(a,l,u){var h=a+" ";switch(u){case"ss":return h+(1===a?"sekunda":2===a||3===a||4===a?"sekunde":"sekundi");case"m":return l?"jedna minuta":"jedne minute";case"mm":return h+(1===a?"minuta":2===a||3===a||4===a?"minute":"minuta");case"h":return l?"jedan sat":"jednog sata";case"hh":return h+(1===a?"sat":2===a||3===a||4===a?"sata":"sati");case"dd":return h+(1===a?"dan":"dana");case"MM":return h+(1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci");case"yy":return h+(1===a?"godina":2===a||3===a||4===a?"godine":"godina")}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},41043:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(s,a){var l=1===s?"r":2===s?"n":3===s?"r":4===s?"t":"\xe8";return("w"===a||"W"===a)&&(l="a"),s+l},week:{dow:1,doy:4}})}(o(16738))},70420:function(Ge,g,o){!function(t){"use strict";var e="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),s="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),a=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],l=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function u(m){return m>1&&m<5&&1!=~~(m/10)}function h(m,b,C,D){var x=m+" ";switch(C){case"s":return b||D?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return b||D?x+(u(m)?"sekundy":"sekund"):x+"sekundami";case"m":return b?"minuta":D?"minutu":"minutou";case"mm":return b||D?x+(u(m)?"minuty":"minut"):x+"minutami";case"h":return b?"hodina":D?"hodinu":"hodinou";case"hh":return b||D?x+(u(m)?"hodiny":"hodin"):x+"hodinami";case"d":return b||D?"den":"dnem";case"dd":return b||D?x+(u(m)?"dny":"dn\xed"):x+"dny";case"M":return b||D?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return b||D?x+(u(m)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):x+"m\u011bs\xedci";case"y":return b||D?"rok":"rokem";case"yy":return b||D?x+(u(m)?"roky":"let"):x+"lety"}}t.defineLocale("cs",{months:e,monthsShort:s,monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:h,ss:h,m:h,mm:h,h,hh:h,d:h,dd:h,M:h,MM:h,y:h,yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},33513:function(Ge,g,o){!function(t){"use strict";t.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(s){return s+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(s)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(s)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}})}(o(16738))},6771:function(Ge,g,o){!function(t){"use strict";t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(s){var l="";return s>20?l=40===s||50===s||60===s||80===s||100===s?"fed":"ain":s>0&&(l=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][s]),s+l},week:{dow:1,doy:4}})}(o(16738))},47978:function(Ge,g,o){!function(t){"use strict";t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},25204:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return l?_[u][0]:_[u][1]}t.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,w:e,ww:"%d Wochen",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},2653:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return l?_[u][0]:_[u][1]}t.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,w:e,ww:"%d Wochen",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},46061:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return l?_[u][0]:_[u][1]}t.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,w:e,ww:"%d Wochen",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},85:function(Ge,g,o){!function(t){"use strict";var e=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],s=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:s,weekdaysShort:s,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(l){return"\u0789\u078a"===l},meridiem:function(l,u,h){return l<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(l){return l.replace(/\u060c/g,",")},postformat:function(l){return l.replace(/,/g,"\u060c")},week:{dow:7,doy:12}})}(o(16738))},8579:function(Ge,g,o){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(a,l){return a?"string"==typeof l&&/D/.test(l.substring(0,l.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(a,l,u){return a>11?u?"\u03bc\u03bc":"\u039c\u039c":u?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(a){return"\u03bc"===(a+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,l){var u=this._calendarEl[a],h=l&&l.hours();return function(a){return"undefined"!=typeof Function&&a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}(u)&&(u=u.apply(l)),u.replace("{}",h%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}})}(o(16738))},25724:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:0,doy:4}})}(o(16738))},10525:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}})}(o(16738))},52847:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},67216:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},39305:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}})}(o(16738))},73364:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:0,doy:6}})}(o(16738))},79130:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},11161:function(Ge,g,o){!function(t){"use strict";t.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},50802:function(Ge,g,o){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(s){return"p"===s.charAt(0).toLowerCase()},meridiem:function(s,a,l){return s>11?l?"p.t.m.":"P.T.M.":l?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(o(16738))},45551:function(Ge,g,o){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],l=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},75615:function(Ge,g,o){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],l=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"})}(o(16738))},64790:function(Ge,g,o){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],l=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}})}(o(16738))},40328:function(Ge,g,o){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],l=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"})}(o(16738))},96389:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[a+"sekundi",a+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[a+" minuti",a+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[a+" tunni",a+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[a+" kuu",a+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[a+" aasta",a+" aastat"]};return l?_[u][2]?_[u][2]:_[u][1]:h?_[u][0]:_[u][1]}t.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d p\xe4eva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},52961:function(Ge,g,o){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},26151:function(Ge,g,o){!function(t){"use strict";var e={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},s={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};t.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(l){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(l)},meridiem:function(l,u,h){return l<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(l){return l.replace(/[\u06f0-\u06f9]/g,function(u){return s[u]}).replace(/\u060c/g,",")},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}})}(o(16738))},7997:function(Ge,g,o){!function(t){"use strict";var e="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),s=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",e[7],e[8],e[9]];function a(h,_,m,b){var C="";switch(m){case"s":return b?"muutaman sekunnin":"muutama sekunti";case"ss":C=b?"sekunnin":"sekuntia";break;case"m":return b?"minuutin":"minuutti";case"mm":C=b?"minuutin":"minuuttia";break;case"h":return b?"tunnin":"tunti";case"hh":C=b?"tunnin":"tuntia";break;case"d":return b?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":C=b?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return b?"kuukauden":"kuukausi";case"MM":C=b?"kuukauden":"kuukautta";break;case"y":return b?"vuoden":"vuosi";case"yy":C=b?"vuoden":"vuotta"}return function(h,_){return h<10?_?s[h]:e[h]:h}(h,b)+" "+C}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},58898:function(Ge,g,o){!function(t){"use strict";t.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(s){return s},week:{dow:1,doy:4}})}(o(16738))},37779:function(Ge,g,o){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},3287:function(Ge,g,o){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(s,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return s+(1===s?"er":"e");case"w":case"W":return s+(1===s?"re":"e")}}})}(o(16738))},38867:function(Ge,g,o){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(s,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return s+(1===s?"er":"e");case"w":case"W":return s+(1===s?"re":"e")}},week:{dow:1,doy:4}})}(o(16738))},28174:function(Ge,g,o){!function(t){"use strict";var a=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,l=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i];t.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:a,monthsShortRegex:a,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:l,longMonthsParse:l,shortMonthsParse:l,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(h,_){switch(_){case"D":return h+(1===h?"er":"");default:case"M":case"Q":case"DDD":case"d":return h+(1===h?"er":"e");case"w":case"W":return h+(1===h?"re":"e")}},week:{dow:1,doy:4}})}(o(16738))},50452:function(Ge,g,o){!function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),s="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(l,u){return l?/-MMM-/.test(u)?s[l.month()]:e[l.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(l){return l+(1===l||8===l||l>=20?"ste":"de")},week:{dow:1,doy:4}})}(o(16738))},45014:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(_){return _+(1===_?"d":_%10==2?"na":"mh")},week:{dow:1,doy:4}})}(o(16738))},74127:function(Ge,g,o){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(_){return _+(1===_?"d":_%10==2?"na":"mh")},week:{dow:1,doy:4}})}(o(16738))},72124:function(Ge,g,o){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(s){return 0===s.indexOf("un")?"n"+s:"en "+s},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},6444:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[a+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",a+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[a+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",a+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[a+" \u0935\u0930\u093e\u0902\u0928\u0940",a+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[a+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",a+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[a+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",a+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[a+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",a+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return h?_[u][0]:_[u][1]}t.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(a,l){switch(l){case"D":return a+"\u0935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return a}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(a,l){return 12===a&&(a=0),"\u0930\u093e\u0924\u0940"===l?a<4?a:a+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===l?a:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===l?a>12?a:a+12:"\u0938\u093e\u0902\u091c\u0947"===l?a+12:void 0},meridiem:function(a,l,u){return a<4?"\u0930\u093e\u0924\u0940":a<12?"\u0938\u0915\u093e\u0933\u0940\u0902":a<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":a<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}})}(o(16738))},37953:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _={s:["thoddea sekondamni","thodde sekond"],ss:[a+" sekondamni",a+" sekond"],m:["eka mintan","ek minut"],mm:[a+" mintamni",a+" mintam"],h:["eka voran","ek vor"],hh:[a+" voramni",a+" voram"],d:["eka disan","ek dis"],dd:[a+" disamni",a+" dis"],M:["eka mhoinean","ek mhoino"],MM:[a+" mhoineamni",a+" mhoine"],y:["eka vorsan","ek voros"],yy:[a+" vorsamni",a+" vorsam"]};return h?_[u][0]:_[u][1]}t.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(a,l){switch(l){case"D":return a+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return a}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(a,l){return 12===a&&(a=0),"rati"===l?a<4?a:a+12:"sokallim"===l?a:"donparam"===l?a>12?a:a+12:"sanje"===l?a+12:void 0},meridiem:function(a,l,u){return a<4?"rati":a<12?"sokallim":a<16?"donparam":a<20?"sanje":"rati"}})}(o(16738))},76604:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},s={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};t.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(l){return l.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0ab0\u0abe\u0aa4"===u?l<4?l:l+12:"\u0ab8\u0ab5\u0abe\u0ab0"===u?l:"\u0aac\u0aaa\u0acb\u0ab0"===u?l>=10?l:l+12:"\u0ab8\u0abe\u0a82\u0a9c"===u?l+12:void 0},meridiem:function(l,u,h){return l<4?"\u0ab0\u0abe\u0aa4":l<10?"\u0ab8\u0ab5\u0abe\u0ab0":l<17?"\u0aac\u0aaa\u0acb\u0ab0":l<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}})}(o(16738))},1222:function(Ge,g,o){!function(t){"use strict";t.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(s){return 2===s?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":s+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(s){return 2===s?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":s+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(s){return 2===s?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":s+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(s){return 2===s?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":s%10==0&&10!==s?s+" \u05e9\u05e0\u05d4":s+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(s){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(s)},meridiem:function(s,a,l){return s<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":s<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":s<12?l?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":s<18?l?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}})}(o(16738))},74235:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},s={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},a=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];t.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:a,longMonthsParse:a,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(h){return h.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(_){return s[_]})},postformat:function(h){return h.replace(/\d/g,function(_){return e[_]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(h,_){return 12===h&&(h=0),"\u0930\u093e\u0924"===_?h<4?h:h+12:"\u0938\u0941\u092c\u0939"===_?h:"\u0926\u094b\u092a\u0939\u0930"===_?h>=10?h:h+12:"\u0936\u093e\u092e"===_?h+12:void 0},meridiem:function(h,_,m){return h<4?"\u0930\u093e\u0924":h<10?"\u0938\u0941\u092c\u0939":h<17?"\u0926\u094b\u092a\u0939\u0930":h<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}})}(o(16738))},622:function(Ge,g,o){!function(t){"use strict";function e(a,l,u){var h=a+" ";switch(u){case"ss":return h+(1===a?"sekunda":2===a||3===a||4===a?"sekunde":"sekundi");case"m":return l?"jedna minuta":"jedne minute";case"mm":return h+(1===a?"minuta":2===a||3===a||4===a?"minute":"minuta");case"h":return l?"jedan sat":"jednog sata";case"hh":return h+(1===a?"sat":2===a||3===a||4===a?"sata":"sati");case"dd":return h+(1===a?"dan":"dana");case"MM":return h+(1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci");case"yy":return h+(1===a?"godina":2===a||3===a||4===a?"godine":"godina")}}t.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},37735:function(Ge,g,o){!function(t){"use strict";var e="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function s(u,h,_,m){var b=u;switch(_){case"s":return m||h?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return b+(m||h)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(m||h?" perc":" perce");case"mm":return b+(m||h?" perc":" perce");case"h":return"egy"+(m||h?" \xf3ra":" \xf3r\xe1ja");case"hh":return b+(m||h?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(m||h?" nap":" napja");case"dd":return b+(m||h?" nap":" napja");case"M":return"egy"+(m||h?" h\xf3nap":" h\xf3napja");case"MM":return b+(m||h?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(m||h?" \xe9v":" \xe9ve");case"yy":return b+(m||h?" \xe9v":" \xe9ve")}return""}function a(u){return(u?"":"[m\xfalt] ")+"["+e[this.day()]+"] LT[-kor]"}t.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(u){return"u"===u.charAt(1).toLowerCase()},meridiem:function(u,h,_){return u<12?!0===_?"de":"DE":!0===_?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return a.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return a.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s,ss:s,m:s,mm:s,h:s,hh:s,d:s,dd:s,M:s,MM:s,y:s,yy:s},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},90402:function(Ge,g,o){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(s){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(s)},meridiem:function(s){return s<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":s<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":s<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(s,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===s?s+"-\u056b\u0576":s+"-\u0580\u0564";default:return s}},week:{dow:1,doy:7}})}(o(16738))},59187:function(Ge,g,o){!function(t){"use strict";t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(s,a){return 12===s&&(s=0),"pagi"===a?s:"siang"===a?s>=11?s:s+12:"sore"===a||"malam"===a?s+12:void 0},meridiem:function(s,a,l){return s<11?"pagi":s<15?"siang":s<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}})}(o(16738))},30536:function(Ge,g,o){!function(t){"use strict";function e(l){return l%100==11||l%10!=1}function s(l,u,h,_){var m=l+" ";switch(h){case"s":return u||_?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return e(l)?m+(u||_?"sek\xfandur":"sek\xfandum"):m+"sek\xfanda";case"m":return u?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return e(l)?m+(u||_?"m\xedn\xfatur":"m\xedn\xfatum"):u?m+"m\xedn\xfata":m+"m\xedn\xfatu";case"hh":return e(l)?m+(u||_?"klukkustundir":"klukkustundum"):m+"klukkustund";case"d":return u?"dagur":_?"dag":"degi";case"dd":return e(l)?u?m+"dagar":m+(_?"daga":"d\xf6gum"):u?m+"dagur":m+(_?"dag":"degi");case"M":return u?"m\xe1nu\xf0ur":_?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return e(l)?u?m+"m\xe1nu\xf0ir":m+(_?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):u?m+"m\xe1nu\xf0ur":m+(_?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return u||_?"\xe1r":"\xe1ri";case"yy":return e(l)?m+(u||_?"\xe1r":"\xe1rum"):m+(u||_?"\xe1r":"\xe1ri")}}t.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s,ss:s,m:s,mm:s,h:"klukkustund",hh:s,d:s,dd:s,M:s,MM:s,y:s,yy:s},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},94667:function(Ge,g,o){!function(t){"use strict";t.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(s){return(/^[0-9].+$/.test(s)?"tra":"in")+" "+s},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},35007:function(Ge,g,o){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},62093:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(s,a){return"\u5143"===a[1]?1:parseInt(a[1]||s,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(s){return"\u5348\u5f8c"===s},meridiem:function(s,a,l){return s<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(s){return s.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(s){return this.week()!==s.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(s,a){switch(a){case"y":return 1===s?"\u5143\u5e74":s+"\u5e74";case"d":case"D":case"DDD":return s+"\u65e5";default:return s}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}})}(o(16738))},80059:function(Ge,g,o){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(s,a){return 12===s&&(s=0),"enjing"===a?s:"siyang"===a?s>=11?s:s+12:"sonten"===a||"ndalu"===a?s+12:void 0},meridiem:function(s,a,l){return s<11?"enjing":s<15?"siyang":s<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(o(16738))},66870:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(s){return s.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(a,l,u){return"\u10d8"===u?l+"\u10e8\u10d8":l+u+"\u10e8\u10d8"})},past:function(s){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(s)?s.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(s)?s.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):s},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(s){return 0===s?s:1===s?s+"-\u10da\u10d8":s<20||s<=100&&s%20==0||s%100==0?"\u10db\u10d4-"+s:s+"-\u10d4"},week:{dow:1,doy:7}})}(o(16738))},80880:function(Ge,g,o){!function(t){"use strict";var e={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};t.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(a){return a+(e[a]||e[a%10]||e[a>=100?100:null])},week:{dow:1,doy:7}})}(o(16738))},1083:function(Ge,g,o){!function(t){"use strict";var e={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},s={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};t.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(l){return"\u179b\u17d2\u1784\u17b6\u1785"===l},meridiem:function(l,u,h){return l<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(l){return l.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},week:{dow:1,doy:4}})}(o(16738))},68785:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},s={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};t.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(l){return l.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===u?l<4?l:l+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===u?l:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===u?l>=10?l:l+12:"\u0cb8\u0c82\u0c9c\u0cc6"===u?l+12:void 0},meridiem:function(l,u,h){return l<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":l<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":l<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":l<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(l){return l+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}})}(o(16738))},21721:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\uc77c";case"M":return s+"\uc6d4";case"w":case"W":return s+"\uc8fc";default:return s}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(s){return"\uc624\ud6c4"===s},meridiem:function(s,a,l){return s<12?"\uc624\uc804":"\uc624\ud6c4"}})}(o(16738))},37851:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},s={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},a=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"];t.defineLocale("ku",{months:a,monthsShort:a,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(u){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(u)},meridiem:function(u,h,_){return u<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(u){return u.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(h){return s[h]}).replace(/\u060c/g,",")},postformat:function(u){return u.replace(/\d/g,function(h){return e[h]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(o(16738))},1727:function(Ge,g,o){!function(t){"use strict";var e={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};t.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(a){return a+(e[a]||e[a%10]||e[a>=100?100:null])},week:{dow:1,doy:7}})}(o(16738))},40346:function(Ge,g,o){!function(t){"use strict";function e(h,_,m,b){var C={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return _?C[m][0]:C[m][1]}function l(h){if(h=parseInt(h,10),isNaN(h))return!1;if(h<0)return!0;if(h<10)return 4<=h&&h<=7;if(h<100){var _=h%10;return l(0===_?h/10:_)}if(h<1e4){for(;h>=10;)h/=10;return l(h)}return l(h/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(h){return l(h.substr(0,h.indexOf(" ")))?"a "+h:"an "+h},past:function(h){return l(h.substr(0,h.indexOf(" ")))?"viru "+h:"virun "+h},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d M\xe9int",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},93002:function(Ge,g,o){!function(t){"use strict";t.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(s){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===s},meridiem:function(s,a,l){return s<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(s){return"\u0e97\u0eb5\u0ec8"+s}})}(o(16738))},64035:function(Ge,g,o){!function(t){"use strict";var e={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function a(m,b,C,D){return b?u(C)[0]:D?u(C)[1]:u(C)[2]}function l(m){return m%10==0||m>10&&m<20}function u(m){return e[m].split("_")}function h(m,b,C,D){var x=m+" ";return 1===m?x+a(0,b,C[0],D):b?x+(l(m)?u(C)[1]:u(C)[0]):D?x+u(C)[1]:x+(l(m)?u(C)[1]:u(C)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(m,b,C,D){return b?"kelios sekund\u0117s":D?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:h,m:a,mm:h,h:a,hh:h,d:a,dd:h,M:a,MM:h,y:a,yy:h},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(m){return m+"-oji"},week:{dow:1,doy:4}})}(o(16738))},56927:function(Ge,g,o){!function(t){"use strict";var e={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function s(_,m,b){return b?m%10==1&&m%100!=11?_[2]:_[3]:m%10==1&&m%100!=11?_[0]:_[1]}function a(_,m,b){return _+" "+s(e[b],_,m)}function l(_,m,b){return s(e[b],_,m)}t.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(_,m){return m?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:a,m:l,mm:a,h:l,hh:a,d:l,dd:a,M:l,MM:a,y:l,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},5634:function(Ge,g,o){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,l){return 1===a?l[0]:a>=2&&a<=4?l[1]:l[2]},translate:function(a,l,u){var h=e.words[u];return 1===u.length?l?h[0]:h[1]:a+" "+e.correctGrammaticalCase(a,h)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},94173:function(Ge,g,o){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},86320:function(Ge,g,o){!function(t){"use strict";t.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(s){var a=s%10,l=s%100;return 0===s?s+"-\u0435\u0432":0===l?s+"-\u0435\u043d":l>10&&l<20?s+"-\u0442\u0438":1===a?s+"-\u0432\u0438":2===a?s+"-\u0440\u0438":7===a||8===a?s+"-\u043c\u0438":s+"-\u0442\u0438"},week:{dow:1,doy:7}})}(o(16738))},11705:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(s,a){return 12===s&&(s=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&s>=4||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?s+12:s},meridiem:function(s,a,l){return s<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":s<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":s<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":s<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}})}(o(16738))},31062:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){switch(u){case"s":return l?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return a+(l?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return a+(l?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return a+(l?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return a+(l?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return a+(l?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return a+(l?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return a}}t.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(a){return"\u04ae\u0425"===a},meridiem:function(a,l,u){return a<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(a,l){switch(l){case"d":case"D":case"DDD":return a+" \u04e9\u0434\u04e9\u0440";default:return a}}})}(o(16738))},92805:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},s={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function a(u,h,_,m){var b="";if(h)switch(_){case"s":b="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":b="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":b="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":b="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":b="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":b="%d \u0924\u093e\u0938";break;case"d":b="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":b="%d \u0926\u093f\u0935\u0938";break;case"M":b="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":b="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":b="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":b="%d \u0935\u0930\u094d\u0937\u0947"}else switch(_){case"s":b="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":b="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":b="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":b="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":b="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":b="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":b="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":b="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":b="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":b="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":b="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":b="%d \u0935\u0930\u094d\u0937\u093e\u0902"}return b.replace(/%d/i,u)}t.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},preparse:function(u){return u.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(h){return s[h]})},postformat:function(u){return u.replace(/\d/g,function(h){return e[h]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(u,h){return 12===u&&(u=0),"\u092a\u0939\u093e\u091f\u0947"===h||"\u0938\u0915\u093e\u0933\u0940"===h?u:"\u0926\u0941\u092a\u093e\u0930\u0940"===h||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===h||"\u0930\u093e\u0924\u094d\u0930\u0940"===h?u>=12?u:u+12:void 0},meridiem:function(u,h,_){return u>=0&&u<6?"\u092a\u0939\u093e\u091f\u0947":u<12?"\u0938\u0915\u093e\u0933\u0940":u<17?"\u0926\u0941\u092a\u093e\u0930\u0940":u<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}})}(o(16738))},59900:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(s,a){return 12===s&&(s=0),"pagi"===a?s:"tengahari"===a?s>=11?s:s+12:"petang"===a||"malam"===a?s+12:void 0},meridiem:function(s,a,l){return s<11?"pagi":s<15?"tengahari":s<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(o(16738))},11341:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(s,a){return 12===s&&(s=0),"pagi"===a?s:"tengahari"===a?s>=11?s:s+12:"petang"===a||"malam"===a?s+12:void 0},meridiem:function(s,a,l){return s<11?"pagi":s<15?"tengahari":s<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(o(16738))},37734:function(Ge,g,o){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},19034:function(Ge,g,o){!function(t){"use strict";var e={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},s={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};t.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(l){return l.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},week:{dow:1,doy:4}})}(o(16738))},9324:function(Ge,g,o){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",w:"en uke",ww:"%d uker",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},46495:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},s={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};t.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(l){return l.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0930\u093e\u0924\u093f"===u?l<4?l:l+12:"\u092c\u093f\u0939\u093e\u0928"===u?l:"\u0926\u093f\u0909\u0901\u0938\u094b"===u?l>=10?l:l+12:"\u0938\u093e\u0901\u091d"===u?l+12:void 0},meridiem:function(l,u,h){return l<3?"\u0930\u093e\u0924\u093f":l<12?"\u092c\u093f\u0939\u093e\u0928":l<16?"\u0926\u093f\u0909\u0901\u0938\u094b":l<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}})}(o(16738))},76272:function(Ge,g,o){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),s="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],l=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(h){return h+(1===h||8===h||h>=20?"ste":"de")},week:{dow:1,doy:4}})}(o(16738))},70673:function(Ge,g,o){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),s="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],l=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(h,_){return h?/-MMM-/.test(_)?s[h.month()]:e[h.month()]:e},monthsRegex:l,monthsShortRegex:l,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(h){return h+(1===h||8===h||h>=20?"ste":"de")},week:{dow:1,doy:4}})}(o(16738))},72486:function(Ge,g,o){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},46219:function(Ge,g,o){!function(t){"use strict";t.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(s,a){var l=1===s?"r":2===s?"n":3===s?"r":4===s?"t":"\xe8";return("w"===a||"W"===a)&&(l="a"),s+l},week:{dow:1,doy:4}})}(o(16738))},2829:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},s={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};t.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(l){return l.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(l,u){return 12===l&&(l=0),"\u0a30\u0a3e\u0a24"===u?l<4?l:l+12:"\u0a38\u0a35\u0a47\u0a30"===u?l:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===u?l>=10?l:l+12:"\u0a38\u0a3c\u0a3e\u0a2e"===u?l+12:void 0},meridiem:function(l,u,h){return l<4?"\u0a30\u0a3e\u0a24":l<10?"\u0a38\u0a35\u0a47\u0a30":l<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":l<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}})}(o(16738))},78444:function(Ge,g,o){!function(t){"use strict";var e="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),s="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),a=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function l(_){return _%10<5&&_%10>1&&~~(_/10)%10!=1}function u(_,m,b){var C=_+" ";switch(b){case"ss":return C+(l(_)?"sekundy":"sekund");case"m":return m?"minuta":"minut\u0119";case"mm":return C+(l(_)?"minuty":"minut");case"h":return m?"godzina":"godzin\u0119";case"hh":return C+(l(_)?"godziny":"godzin");case"ww":return C+(l(_)?"tygodnie":"tygodni");case"MM":return C+(l(_)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return C+(l(_)?"lata":"lat")}}t.defineLocale("pl",{months:function(_,m){return _?/D MMMM/.test(m)?s[_.month()]:e[_.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:u,m:u,mm:u,h:u,hh:u,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:u,M:"miesi\u0105c",MM:u,y:"rok",yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},66117:function(Ge,g,o){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"})}(o(16738))},53170:function(Ge,g,o){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}})}(o(16738))},96587:function(Ge,g,o){!function(t){"use strict";function e(a,l,u){var _=" ";return(a%100>=20||a>=100&&a%100==0)&&(_=" de "),a+_+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[u]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:e,m:"un minut",mm:e,h:"o or\u0103",hh:e,d:"o zi",dd:e,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:e,M:"o lun\u0103",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(o(16738))},39264:function(Ge,g,o){!function(t){"use strict";function s(u,h,_){return"m"===_?h?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":u+" "+function(u,h){var _=u.split("_");return h%10==1&&h%100!=11?_[0]:h%10>=2&&h%10<=4&&(h%100<10||h%100>=20)?_[1]:_[2]}({ss:h?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:h?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[_],+u)}var a=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];t.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(u){if(u.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(u){if(u.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:s,m:s,mm:s,h:"\u0447\u0430\u0441",hh:s,d:"\u0434\u0435\u043d\u044c",dd:s,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:s,M:"\u043c\u0435\u0441\u044f\u0446",MM:s,y:"\u0433\u043e\u0434",yy:s},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(u){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(u)},meridiem:function(u,h,_){return u<4?"\u043d\u043e\u0447\u0438":u<12?"\u0443\u0442\u0440\u0430":u<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(u,h){switch(h){case"M":case"d":case"DDD":return u+"-\u0439";case"D":return u+"-\u0433\u043e";case"w":case"W":return u+"-\u044f";default:return u}},week:{dow:1,doy:4}})}(o(16738))},42135:function(Ge,g,o){!function(t){"use strict";var e=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],s=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"];t.defineLocale("sd",{months:e,monthsShort:e,weekdays:s,weekdaysShort:s,weekdaysMin:s,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(l){return"\u0634\u0627\u0645"===l},meridiem:function(l,u,h){return l<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(l){return l.replace(/\u060c/g,",")},postformat:function(l){return l.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(o(16738))},95366:function(Ge,g,o){!function(t){"use strict";t.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},93379:function(Ge,g,o){!function(t){"use strict";t.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(s){return s+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(s){return"\u0db4.\u0dc0."===s||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===s},meridiem:function(s,a,l){return s>11?l?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":l?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}})}(o(16738))},46143:function(Ge,g,o){!function(t){"use strict";var e="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),s="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function a(h){return h>1&&h<5}function l(h,_,m,b){var C=h+" ";switch(m){case"s":return _||b?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return _||b?C+(a(h)?"sekundy":"sek\xfand"):C+"sekundami";case"m":return _?"min\xfata":b?"min\xfatu":"min\xfatou";case"mm":return _||b?C+(a(h)?"min\xfaty":"min\xfat"):C+"min\xfatami";case"h":return _?"hodina":b?"hodinu":"hodinou";case"hh":return _||b?C+(a(h)?"hodiny":"hod\xedn"):C+"hodinami";case"d":return _||b?"de\u0148":"d\u0148om";case"dd":return _||b?C+(a(h)?"dni":"dn\xed"):C+"d\u0148ami";case"M":return _||b?"mesiac":"mesiacom";case"MM":return _||b?C+(a(h)?"mesiace":"mesiacov"):C+"mesiacmi";case"y":return _||b?"rok":"rokom";case"yy":return _||b?C+(a(h)?"roky":"rokov"):C+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:s,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:l,ss:l,m:l,mm:l,h:l,hh:l,d:l,dd:l,M:l,MM:l,y:l,yy:l},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},196:function(Ge,g,o){!function(t){"use strict";function e(a,l,u,h){var _=a+" ";switch(u){case"s":return l||h?"nekaj sekund":"nekaj sekundami";case"ss":return _+(1===a?l?"sekundo":"sekundi":2===a?l||h?"sekundi":"sekundah":a<5?l||h?"sekunde":"sekundah":"sekund");case"m":return l?"ena minuta":"eno minuto";case"mm":return _+(1===a?l?"minuta":"minuto":2===a?l||h?"minuti":"minutama":a<5?l||h?"minute":"minutami":l||h?"minut":"minutami");case"h":return l?"ena ura":"eno uro";case"hh":return _+(1===a?l?"ura":"uro":2===a?l||h?"uri":"urama":a<5?l||h?"ure":"urami":l||h?"ur":"urami");case"d":return l||h?"en dan":"enim dnem";case"dd":return _+(1===a?l||h?"dan":"dnem":2===a?l||h?"dni":"dnevoma":l||h?"dni":"dnevi");case"M":return l||h?"en mesec":"enim mesecem";case"MM":return _+(1===a?l||h?"mesec":"mesecem":2===a?l||h?"meseca":"mesecema":a<5?l||h?"mesece":"meseci":l||h?"mesecev":"meseci");case"y":return l||h?"eno leto":"enim letom";case"yy":return _+(1===a?l||h?"leto":"letom":2===a?l||h?"leti":"letoma":a<5?l||h?"leta":"leti":l||h?"let":"leti")}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},21082:function(Ge,g,o){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(s){return"M"===s.charAt(0)},meridiem:function(s,a,l){return s<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},98963:function(Ge,g,o){!function(t){"use strict";var e={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(a,l){return 1===a?l[0]:a>=2&&a<=4?l[1]:l[2]},translate:function(a,l,u){var h=e.words[u];return 1===u.length?l?h[0]:h[1]:a+" "+e.correctGrammaticalCase(a,h)}};t.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"\u0434\u0430\u043d",dd:e.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:e.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},91621:function(Ge,g,o){!function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,l){return 1===a?l[0]:a>=2&&a<=4?l[1]:l[2]},translate:function(a,l,u){var h=e.words[u];return 1===u.length?l?h[0]:h[1]:a+" "+e.correctGrammaticalCase(a,h)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(o(16738))},41404:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(s,a,l){return s<11?"ekuseni":s<15?"emini":s<19?"entsambama":"ebusuku"},meridiemHour:function(s,a){return 12===s&&(s=0),"ekuseni"===a?s:"emini"===a?s>=11?s:s+12:"entsambama"===a||"ebusuku"===a?0===s?0:s+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(o(16738))},55685:function(Ge,g,o){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?":e":1===a||2===a?":a":":e")},week:{dow:1,doy:4}})}(o(16738))},3872:function(Ge,g,o){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(o(16738))},54106:function(Ge,g,o){!function(t){"use strict";var e={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},s={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};t.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(l){return l+"\u0bb5\u0ba4\u0bc1"},preparse:function(l){return l.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(u){return s[u]})},postformat:function(l){return l.replace(/\d/g,function(u){return e[u]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(l,u,h){return l<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":l<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":l<10?" \u0b95\u0bbe\u0bb2\u0bc8":l<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":l<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":l<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(l,u){return 12===l&&(l=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===u?l<2?l:l+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===u||"\u0b95\u0bbe\u0bb2\u0bc8"===u||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===u&&l>=10?l:l+12},week:{dow:0,doy:6}})}(o(16738))},39204:function(Ge,g,o){!function(t){"use strict";t.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?s<4?s:s+12:"\u0c09\u0c26\u0c2f\u0c02"===a?s:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?s>=10?s:s+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?s+12:void 0},meridiem:function(s,a,l){return s<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":s<10?"\u0c09\u0c26\u0c2f\u0c02":s<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":s<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}})}(o(16738))},83692:function(Ge,g,o){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},86361:function(Ge,g,o){!function(t){"use strict";var e={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};t.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(a,l){return 12===a&&(a=0),"\u0448\u0430\u0431"===l?a<4?a:a+12:"\u0441\u0443\u0431\u04b3"===l?a:"\u0440\u04ef\u0437"===l?a>=11?a:a+12:"\u0431\u0435\u0433\u043e\u04b3"===l?a+12:void 0},meridiem:function(a,l,u){return a<4?"\u0448\u0430\u0431":a<11?"\u0441\u0443\u0431\u04b3":a<16?"\u0440\u04ef\u0437":a<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(a){return a+(e[a]||e[a%10]||e[a>=100?100:null])},week:{dow:1,doy:7}})}(o(16738))},31735:function(Ge,g,o){!function(t){"use strict";t.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(s){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===s},meridiem:function(s,a,l){return s<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}})}(o(16738))},1568:function(Ge,g,o){!function(t){"use strict";var e={1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"};t.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(a,l){switch(l){case"d":case"D":case"Do":case"DD":return a;default:if(0===a)return a+"'unjy";var u=a%10;return a+(e[u]||e[a%100-u]||e[a>=100?100:null])}},week:{dow:1,doy:7}})}(o(16738))},96129:function(Ge,g,o){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(s){return s},week:{dow:1,doy:4}})}(o(16738))},13759:function(Ge,g,o){!function(t){"use strict";var e="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function l(_,m,b,C){var D=function(_){var m=Math.floor(_%1e3/100),b=Math.floor(_%100/10),C=_%10,D="";return m>0&&(D+=e[m]+"vatlh"),b>0&&(D+=(""!==D?" ":"")+e[b]+"maH"),C>0&&(D+=(""!==D?" ":"")+e[C]),""===D?"pagh":D}(_);switch(b){case"ss":return D+" lup";case"mm":return D+" tup";case"hh":return D+" rep";case"dd":return D+" jaj";case"MM":return D+" jar";case"yy":return D+" DIS"}}t.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(_){var m=_;return-1!==_.indexOf("jaj")?m.slice(0,-3)+"leS":-1!==_.indexOf("jar")?m.slice(0,-3)+"waQ":-1!==_.indexOf("DIS")?m.slice(0,-3)+"nem":m+" pIq"},past:function(_){var m=_;return-1!==_.indexOf("jaj")?m.slice(0,-3)+"Hu\u2019":-1!==_.indexOf("jar")?m.slice(0,-3)+"wen":-1!==_.indexOf("DIS")?m.slice(0,-3)+"ben":m+" ret"},s:"puS lup",ss:l,m:"wa\u2019 tup",mm:l,h:"wa\u2019 rep",hh:l,d:"wa\u2019 jaj",dd:l,M:"wa\u2019 jar",MM:l,y:"wa\u2019 DIS",yy:l},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},81644:function(Ge,g,o){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};t.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(a,l,u){return a<12?u?"\xf6\xf6":"\xd6\xd6":u?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(a){return"\xf6s"===a||"\xd6S"===a},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(a,l){switch(l){case"d":case"D":case"Do":case"DD":return a;default:if(0===a)return a+"'\u0131nc\u0131";var u=a%10;return a+(e[u]||e[a%100-u]||e[a>=100?100:null])}},week:{dow:1,doy:7}})}(o(16738))},90875:function(Ge,g,o){!function(t){"use strict";function s(a,l,u,h){var _={s:["viensas secunds","'iensas secunds"],ss:[a+" secunds",a+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[a+" m\xeduts",a+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[a+" \xfeoras",a+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[a+" ziuas",a+" ziuas"],M:["'n mes","'iens mes"],MM:[a+" mesen",a+" mesen"],y:["'n ar","'iens ar"],yy:[a+" ars",a+" ars"]};return h||l?_[u][0]:_[u][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(a){return"d'o"===a.toLowerCase()},meridiem:function(a,l,u){return a>11?u?"d'o":"D'O":u?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s,ss:s,m:s,mm:s,h:s,hh:s,d:s,dd:s,M:s,MM:s,y:s,yy:s},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(o(16738))},11041:function(Ge,g,o){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(o(16738))},16878:function(Ge,g,o){!function(t){"use strict";t.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}})}(o(16738))},74357:function(Ge,g,o){!function(t){"use strict";t.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a?s:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===a||"\u0643\u06d5\u0686"===a?s+12:s>=11?s:s+12},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":u<900?"\u0633\u06d5\u06be\u06d5\u0631":u<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":u<1230?"\u0686\u06c8\u0634":u<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return s+"-\u06be\u06d5\u067e\u062a\u06d5";default:return s}},preparse:function(s){return s.replace(/\u060c/g,",")},postformat:function(s){return s.replace(/,/g,"\u060c")},week:{dow:1,doy:7}})}(o(16738))},74810:function(Ge,g,o){!function(t){"use strict";function s(h,_,m){return"m"===m?_?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===m?_?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":h+" "+function(h,_){var m=h.split("_");return _%10==1&&_%100!=11?m[0]:_%10>=2&&_%10<=4&&(_%100<10||_%100>=20)?m[1]:m[2]}({ss:_?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:_?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:_?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[m],+h)}function l(h){return function(){return h+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}t.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(h,_){var m={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===h?m.nominative.slice(1,7).concat(m.nominative.slice(0,1)):h?m[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(_)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(_)?"genitive":"nominative"][h.day()]:m.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:l("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:l("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:l("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:l("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return l("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return l("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:s,m:s,mm:s,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:s,d:"\u0434\u0435\u043d\u044c",dd:s,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:s,y:"\u0440\u0456\u043a",yy:s},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(h){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(h)},meridiem:function(h,_,m){return h<4?"\u043d\u043e\u0447\u0456":h<12?"\u0440\u0430\u043d\u043a\u0443":h<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(h,_){switch(_){case"M":case"d":case"DDD":case"w":case"W":return h+"-\u0439";case"D":return h+"-\u0433\u043e";default:return h}},week:{dow:1,doy:7}})}(o(16738))},86794:function(Ge,g,o){!function(t){"use strict";var e=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],s=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:s,weekdaysShort:s,weekdaysMin:s,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(l){return"\u0634\u0627\u0645"===l},meridiem:function(l,u,h){return l<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(l){return l.replace(/\u060c/g,",")},postformat:function(l){return l.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(o(16738))},77959:function(Ge,g,o){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(o(16738))},28966:function(Ge,g,o){!function(t){"use strict";t.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}})}(o(16738))},35386:function(Ge,g,o){!function(t){"use strict";t.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(s){return/^ch$/i.test(s)},meridiem:function(s,a,l){return s<12?l?"sa":"SA":l?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(s){return s},week:{dow:1,doy:4}})}(o(16738))},23156:function(Ge,g,o){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(s){var a=s%10;return s+(1==~~(s%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}(o(16738))},68028:function(Ge,g,o){!function(t){"use strict";t.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}})}(o(16738))},9330:function(Ge,g,o){!function(t){"use strict";t.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?s:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?s+12:s>=11?s:s+12},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u51cc\u6668":u<900?"\u65e9\u4e0a":u<1130?"\u4e0a\u5348":u<1230?"\u4e2d\u5348":u<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(s){return s.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(s){return this.week()!==s.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\u65e5";case"M":return s+"\u6708";case"w":case"W":return s+"\u5468";default:return s}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}})}(o(16738))},89380:function(Ge,g,o){!function(t){"use strict";t.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?s:"\u4e2d\u5348"===a?s>=11?s:s+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?s+12:void 0},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u51cc\u6668":u<900?"\u65e9\u4e0a":u<1200?"\u4e0a\u5348":1200===u?"\u4e2d\u5348":u<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\u65e5";case"M":return s+"\u6708";case"w":case"W":return s+"\u9031";default:return s}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(o(16738))},60874:function(Ge,g,o){!function(t){"use strict";t.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?s:"\u4e2d\u5348"===a?s>=11?s:s+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?s+12:void 0},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u51cc\u6668":u<900?"\u65e9\u4e0a":u<1130?"\u4e0a\u5348":u<1230?"\u4e2d\u5348":u<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\u65e5";case"M":return s+"\u6708";case"w":case"W":return s+"\u9031";default:return s}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(o(16738))},96508:function(Ge,g,o){!function(t){"use strict";t.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(s,a){return 12===s&&(s=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?s:"\u4e2d\u5348"===a?s>=11?s:s+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?s+12:void 0},meridiem:function(s,a,l){var u=100*s+a;return u<600?"\u51cc\u6668":u<900?"\u65e9\u4e0a":u<1130?"\u4e0a\u5348":u<1230?"\u4e2d\u5348":u<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(s,a){switch(a){case"d":case"D":case"DDD":return s+"\u65e5";case"M":return s+"\u6708";case"w":case"W":return s+"\u9031";default:return s}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}})}(o(16738))},16738:function(Ge,g,o){(Ge=o.nmd(Ge)).exports=function(){"use strict";var t,z;function e(){return t.apply(null,arguments)}function a(X){return X instanceof Array||"[object Array]"===Object.prototype.toString.call(X)}function l(X){return null!=X&&"[object Object]"===Object.prototype.toString.call(X)}function u(X,me){return Object.prototype.hasOwnProperty.call(X,me)}function h(X){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(X).length;var me;for(me in X)if(u(X,me))return!1;return!0}function _(X){return void 0===X}function m(X){return"number"==typeof X||"[object Number]"===Object.prototype.toString.call(X)}function b(X){return X instanceof Date||"[object Date]"===Object.prototype.toString.call(X)}function C(X,me){var qt,yt=[];for(qt=0;qt<X.length;++qt)yt.push(me(X[qt],qt));return yt}function D(X,me){for(var yt in me)u(me,yt)&&(X[yt]=me[yt]);return u(me,"toString")&&(X.toString=me.toString),u(me,"valueOf")&&(X.valueOf=me.valueOf),X}function x(X,me,yt,qt){return wt(X,me,yt,qt,!0).utc()}function H(X){return null==X._pf&&(X._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),X._pf}function U(X){if(null==X._isValid){var me=H(X),yt=z.call(me.parsedDateParts,function(xn){return null!=xn}),qt=!isNaN(X._d.getTime())&&me.overflow<0&&!me.empty&&!me.invalidEra&&!me.invalidMonth&&!me.invalidWeekday&&!me.weekdayMismatch&&!me.nullInput&&!me.invalidFormat&&!me.userInvalidated&&(!me.meridiem||me.meridiem&&yt);if(X._strict&&(qt=qt&&0===me.charsLeftOver&&0===me.unusedTokens.length&&void 0===me.bigHour),null!=Object.isFrozen&&Object.isFrozen(X))return qt;X._isValid=qt}return X._isValid}function M(X){var me=x(NaN);return null!=X?D(H(me),X):H(me).userInvalidated=!0,me}z=Array.prototype.some?Array.prototype.some:function(X){var qt,me=Object(this),yt=me.length>>>0;for(qt=0;qt<yt;qt++)if(qt in me&&X.call(this,me[qt],qt,me))return!0;return!1};var I=e.momentProperties=[],J=!1;function Y(X,me){var yt,qt,xn;if(_(me._isAMomentObject)||(X._isAMomentObject=me._isAMomentObject),_(me._i)||(X._i=me._i),_(me._f)||(X._f=me._f),_(me._l)||(X._l=me._l),_(me._strict)||(X._strict=me._strict),_(me._tzm)||(X._tzm=me._tzm),_(me._isUTC)||(X._isUTC=me._isUTC),_(me._offset)||(X._offset=me._offset),_(me._pf)||(X._pf=H(me)),_(me._locale)||(X._locale=me._locale),I.length>0)for(yt=0;yt<I.length;yt++)_(xn=me[qt=I[yt]])||(X[qt]=xn);return X}function ie(X){Y(this,X),this._d=new Date(null!=X._d?X._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===J&&(J=!0,e.updateOffset(this),J=!1)}function oe(X){return X instanceof ie||null!=X&&null!=X._isAMomentObject}function fe(X){!1===e.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+X)}function ne(X,me){var yt=!0;return D(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,X),yt){var xn,Ar,xi,qt=[];for(Ar=0;Ar<arguments.length;Ar++){if(xn="","object"==typeof arguments[Ar]){for(xi in xn+="\n["+Ar+"] ",arguments[0])u(arguments[0],xi)&&(xn+=xi+": "+arguments[0][xi]+", ");xn=xn.slice(0,-2)}else xn=arguments[Ar];qt.push(xn)}fe(X+"\nArguments: "+Array.prototype.slice.call(qt).join("")+"\n"+(new Error).stack),yt=!1}return me.apply(this,arguments)},me)}var ue,he={};function ce(X,me){null!=e.deprecationHandler&&e.deprecationHandler(X,me),he[X]||(fe(me),he[X]=!0)}function Ae(X){return"undefined"!=typeof Function&&X instanceof Function||"[object Function]"===Object.prototype.toString.call(X)}function Oe(X,me){var qt,yt=D({},X);for(qt in me)u(me,qt)&&(l(X[qt])&&l(me[qt])?(yt[qt]={},D(yt[qt],X[qt]),D(yt[qt],me[qt])):null!=me[qt]?yt[qt]=me[qt]:delete yt[qt]);for(qt in X)u(X,qt)&&!u(me,qt)&&l(X[qt])&&(yt[qt]=D({},yt[qt]));return yt}function be(X){null!=X&&this.set(X)}e.suppressDeprecationWarnings=!1,e.deprecationHandler=null,ue=Object.keys?Object.keys:function(X){var me,yt=[];for(me in X)u(X,me)&&yt.push(me);return yt};function F(X,me,yt){var qt=""+Math.abs(X);return(X>=0?yt?"+":"":"-")+Math.pow(10,Math.max(0,me-qt.length)).toString().substr(1)+qt}var je=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Et=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,lt={},nn={};function St(X,me,yt,qt){var xn=qt;"string"==typeof qt&&(xn=function(){return this[qt]()}),X&&(nn[X]=xn),me&&(nn[me[0]]=function(){return F(xn.apply(this,arguments),me[1],me[2])}),yt&&(nn[yt]=function(){return this.localeData().ordinal(xn.apply(this,arguments),X)})}function At(X){return X.match(/\[[\s\S]/)?X.replace(/^\[|\]$/g,""):X.replace(/\\/g,"")}function It(X,me){return X.isValid()?(me=ae(me,X.localeData()),lt[me]=lt[me]||function(X){var yt,qt,me=X.match(je);for(yt=0,qt=me.length;yt<qt;yt++)me[yt]=nn[me[yt]]?nn[me[yt]]:At(me[yt]);return function(xn){var xi,Ar="";for(xi=0;xi<qt;xi++)Ar+=Ae(me[xi])?me[xi].call(xn,X):me[xi];return Ar}}(me),lt[me](X)):X.localeData().invalidDate()}function ae(X,me){var yt=5;function qt(xn){return me.longDateFormat(xn)||xn}for(Et.lastIndex=0;yt>=0&&Et.test(X);)X=X.replace(Et,qt),Et.lastIndex=0,yt-=1;return X}var Ht={};function tr(X,me){var yt=X.toLowerCase();Ht[yt]=Ht[yt+"s"]=Ht[me]=X}function Yn(X){return"string"==typeof X?Ht[X]||Ht[X.toLowerCase()]:void 0}function Cn(X){var yt,qt,me={};for(qt in X)u(X,qt)&&(yt=Yn(qt))&&(me[yt]=X[qt]);return me}var Kt={};function dn(X,me){Kt[X]=me}function qn(X){return X%4==0&&X%100!=0||X%400==0}function Sn(X){return X<0?Math.ceil(X)||0:Math.floor(X)}function $n(X){var me=+X,yt=0;return 0!==me&&isFinite(me)&&(yt=Sn(me)),yt}function En(X,me){return function(yt){return null!=yt?(Dn(this,X,yt),e.updateOffset(this,me),this):Fn(this,X)}}function Fn(X,me){return X.isValid()?X._d["get"+(X._isUTC?"UTC":"")+me]():NaN}function Dn(X,me,yt){X.isValid()&&!isNaN(yt)&&("FullYear"===me&&qn(X.year())&&1===X.month()&&29===X.date()?(yt=$n(yt),X._d["set"+(X._isUTC?"UTC":"")+me](yt,X.month(),di(yt,X.month()))):X._d["set"+(X._isUTC?"UTC":"")+me](yt))}var Ut,Xt=/\d/,ut=/\d\d/,mt=/\d{3}/,Tt=/\d{4}/,yn=/[+-]?\d{6}/,et=/\d\d?/,jt=/\d\d\d\d?/,hn=/\d\d\d\d\d\d?/,Qn=/\d{1,3}/,Ir=/\d{1,4}/,ht=/[+-]?\d{1,6}/,L=/\d+/,Ue=/[+-]?\d+/,nt=/Z|[+-]\d\d:?\d\d/gi,at=/Z|[+-]\d\d(?::?\d\d)?/gi,Pt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function ot(X,me,yt){Ut[X]=Ae(me)?me:function(qt,xn){return qt&&yt?yt:me}}function Nn(X,me){return u(Ut,X)?Ut[X](me._strict,me._locale):new RegExp(function(X){return An(X.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(me,yt,qt,xn,Ar){return yt||qt||xn||Ar}))}(X))}function An(X){return X.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}Ut={};var Bn={};function ir(X,me){var yt,qt=me;for("string"==typeof X&&(X=[X]),m(me)&&(qt=function(xn,Ar){Ar[me]=$n(xn)}),yt=0;yt<X.length;yt++)Bn[X[yt]]=qt}function mr(X,me){ir(X,function(yt,qt,xn,Ar){xn._w=xn._w||{},me(yt,xn._w,xn,Ar)})}function _r(X,me,yt){null!=me&&u(Bn,X)&&Bn[X](me,yt._a,yt,X)}var ei;function di(X,me){if(isNaN(X)||isNaN(me))return NaN;var yt=function(X,me){return(X%me+me)%me}(me,12);return X+=(me-yt)/12,1===yt?qn(X)?29:28:31-yt%7%2}ei=Array.prototype.indexOf?Array.prototype.indexOf:function(X){var me;for(me=0;me<this.length;++me)if(this[me]===X)return me;return-1},St("M",["MM",2],"Mo",function(){return this.month()+1}),St("MMM",0,0,function(X){return this.localeData().monthsShort(this,X)}),St("MMMM",0,0,function(X){return this.localeData().months(this,X)}),tr("month","M"),dn("month",8),ot("M",et),ot("MM",et,ut),ot("MMM",function(X,me){return me.monthsShortRegex(X)}),ot("MMMM",function(X,me){return me.monthsRegex(X)}),ir(["M","MM"],function(X,me){me[1]=$n(X)-1}),ir(["MMM","MMMM"],function(X,me,yt,qt){var xn=yt._locale.monthsParse(X,qt,yt._strict);null!=xn?me[1]=xn:H(yt).invalidMonth=X});var se="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ct="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ke=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Xe=Pt,Vt=Pt;function bt(X,me,yt){var qt,xn,Ar,xi=X.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],qt=0;qt<12;++qt)Ar=x([2e3,qt]),this._shortMonthsParse[qt]=this.monthsShort(Ar,"").toLocaleLowerCase(),this._longMonthsParse[qt]=this.months(Ar,"").toLocaleLowerCase();return yt?"MMM"===me?-1!==(xn=ei.call(this._shortMonthsParse,xi))?xn:null:-1!==(xn=ei.call(this._longMonthsParse,xi))?xn:null:"MMM"===me?-1!==(xn=ei.call(this._shortMonthsParse,xi))||-1!==(xn=ei.call(this._longMonthsParse,xi))?xn:null:-1!==(xn=ei.call(this._longMonthsParse,xi))||-1!==(xn=ei.call(this._shortMonthsParse,xi))?xn:null}function $t(X,me){var yt;if(!X.isValid())return X;if("string"==typeof me)if(/^\d+$/.test(me))me=$n(me);else if(!m(me=X.localeData().monthsParse(me)))return X;return yt=Math.min(X.date(),di(X.year(),me)),X._d["set"+(X._isUTC?"UTC":"")+"Month"](me,yt),X}function or(X){return null!=X?($t(this,X),e.updateOffset(this,!0),this):Fn(this,"Month")}function ai(){function X(xi,fs){return fs.length-xi.length}var xn,Ar,me=[],yt=[],qt=[];for(xn=0;xn<12;xn++)Ar=x([2e3,xn]),me.push(this.monthsShort(Ar,"")),yt.push(this.months(Ar,"")),qt.push(this.months(Ar,"")),qt.push(this.monthsShort(Ar,""));for(me.sort(X),yt.sort(X),qt.sort(X),xn=0;xn<12;xn++)me[xn]=An(me[xn]),yt[xn]=An(yt[xn]);for(xn=0;xn<24;xn++)qt[xn]=An(qt[xn]);this._monthsRegex=new RegExp("^("+qt.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+yt.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+me.join("|")+")","i")}function Dr(X){return qn(X)?366:365}St("Y",0,0,function(){var X=this.year();return X<=9999?F(X,4):"+"+X}),St(0,["YY",2],0,function(){return this.year()%100}),St(0,["YYYY",4],0,"year"),St(0,["YYYYY",5],0,"year"),St(0,["YYYYYY",6,!0],0,"year"),tr("year","y"),dn("year",1),ot("Y",Ue),ot("YY",et,ut),ot("YYYY",Ir,Tt),ot("YYYYY",ht,yn),ot("YYYYYY",ht,yn),ir(["YYYYY","YYYYYY"],0),ir("YYYY",function(X,me){me[0]=2===X.length?e.parseTwoDigitYear(X):$n(X)}),ir("YY",function(X,me){me[0]=e.parseTwoDigitYear(X)}),ir("Y",function(X,me){me[0]=parseInt(X,10)}),e.parseTwoDigitYear=function(X){return $n(X)+($n(X)>68?1900:2e3)};var Qr=En("FullYear",!0);function fi(X,me,yt,qt,xn,Ar,xi){var fs;return X<100&&X>=0?(fs=new Date(X+400,me,yt,qt,xn,Ar,xi),isFinite(fs.getFullYear())&&fs.setFullYear(X)):fs=new Date(X,me,yt,qt,xn,Ar,xi),fs}function Ei(X){var me,yt;return X<100&&X>=0?((yt=Array.prototype.slice.call(arguments))[0]=X+400,me=new Date(Date.UTC.apply(null,yt)),isFinite(me.getUTCFullYear())&&me.setUTCFullYear(X)):me=new Date(Date.UTC.apply(null,arguments)),me}function wi(X,me,yt){var qt=7+me-yt;return-(7+Ei(X,0,qt).getUTCDay()-me)%7+qt-1}function go(X,me,yt,qt,xn){var aa,za,fs=1+7*(me-1)+(7+yt-qt)%7+wi(X,qt,xn);return fs<=0?za=Dr(aa=X-1)+fs:fs>Dr(X)?(aa=X+1,za=fs-Dr(X)):(aa=X,za=fs),{year:aa,dayOfYear:za}}function Fi(X,me,yt){var Ar,xi,qt=wi(X.year(),me,yt),xn=Math.floor((X.dayOfYear()-qt-1)/7)+1;return xn<1?Ar=xn+no(xi=X.year()-1,me,yt):xn>no(X.year(),me,yt)?(Ar=xn-no(X.year(),me,yt),xi=X.year()+1):(xi=X.year(),Ar=xn),{week:Ar,year:xi}}function no(X,me,yt){var qt=wi(X,me,yt),xn=wi(X+1,me,yt);return(Dr(X)-qt+xn)/7}St("w",["ww",2],"wo","week"),St("W",["WW",2],"Wo","isoWeek"),tr("week","w"),tr("isoWeek","W"),dn("week",5),dn("isoWeek",5),ot("w",et),ot("ww",et,ut),ot("W",et),ot("WW",et,ut),mr(["w","ww","W","WW"],function(X,me,yt,qt){me[qt.substr(0,1)]=$n(X)});function es(X,me){return X.slice(me,7).concat(X.slice(0,me))}St("d",0,"do","day"),St("dd",0,0,function(X){return this.localeData().weekdaysMin(this,X)}),St("ddd",0,0,function(X){return this.localeData().weekdaysShort(this,X)}),St("dddd",0,0,function(X){return this.localeData().weekdays(this,X)}),St("e",0,0,"weekday"),St("E",0,0,"isoWeekday"),tr("day","d"),tr("weekday","e"),tr("isoWeekday","E"),dn("day",11),dn("weekday",11),dn("isoWeekday",11),ot("d",et),ot("e",et),ot("E",et),ot("dd",function(X,me){return me.weekdaysMinRegex(X)}),ot("ddd",function(X,me){return me.weekdaysShortRegex(X)}),ot("dddd",function(X,me){return me.weekdaysRegex(X)}),mr(["dd","ddd","dddd"],function(X,me,yt,qt){var xn=yt._locale.weekdaysParse(X,qt,yt._strict);null!=xn?me.d=xn:H(yt).invalidWeekday=X}),mr(["d","e","E"],function(X,me,yt,qt){me[qt]=$n(X)});var ua="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ds="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),zo="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),oa=Pt,Er=Pt,st=Pt;function fn(X,me,yt){var qt,xn,Ar,xi=X.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],qt=0;qt<7;++qt)Ar=x([2e3,1]).day(qt),this._minWeekdaysParse[qt]=this.weekdaysMin(Ar,"").toLocaleLowerCase(),this._shortWeekdaysParse[qt]=this.weekdaysShort(Ar,"").toLocaleLowerCase(),this._weekdaysParse[qt]=this.weekdays(Ar,"").toLocaleLowerCase();return yt?"dddd"===me?-1!==(xn=ei.call(this._weekdaysParse,xi))?xn:null:"ddd"===me?-1!==(xn=ei.call(this._shortWeekdaysParse,xi))?xn:null:-1!==(xn=ei.call(this._minWeekdaysParse,xi))?xn:null:"dddd"===me?-1!==(xn=ei.call(this._weekdaysParse,xi))||-1!==(xn=ei.call(this._shortWeekdaysParse,xi))||-1!==(xn=ei.call(this._minWeekdaysParse,xi))?xn:null:"ddd"===me?-1!==(xn=ei.call(this._shortWeekdaysParse,xi))||-1!==(xn=ei.call(this._weekdaysParse,xi))||-1!==(xn=ei.call(this._minWeekdaysParse,xi))?xn:null:-1!==(xn=ei.call(this._minWeekdaysParse,xi))||-1!==(xn=ei.call(this._weekdaysParse,xi))||-1!==(xn=ei.call(this._shortWeekdaysParse,xi))?xn:null}function Li(){function X(gc,Ql){return Ql.length-gc.length}var Ar,xi,fs,aa,za,me=[],yt=[],qt=[],xn=[];for(Ar=0;Ar<7;Ar++)xi=x([2e3,1]).day(Ar),fs=An(this.weekdaysMin(xi,"")),aa=An(this.weekdaysShort(xi,"")),za=An(this.weekdays(xi,"")),me.push(fs),yt.push(aa),qt.push(za),xn.push(fs),xn.push(aa),xn.push(za);me.sort(X),yt.sort(X),qt.sort(X),xn.sort(X),this._weekdaysRegex=new RegExp("^("+xn.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+qt.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+yt.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+me.join("|")+")","i")}function cs(){return this.hours()%12||12}function da(X,me){St(X,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),me)})}function xa(X,me){return me._meridiemParse}St("H",["HH",2],0,"hour"),St("h",["hh",2],0,cs),St("k",["kk",2],0,function(){return this.hours()||24}),St("hmm",0,0,function(){return""+cs.apply(this)+F(this.minutes(),2)}),St("hmmss",0,0,function(){return""+cs.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),St("Hmm",0,0,function(){return""+this.hours()+F(this.minutes(),2)}),St("Hmmss",0,0,function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),da("a",!0),da("A",!1),tr("hour","h"),dn("hour",13),ot("a",xa),ot("A",xa),ot("H",et),ot("h",et),ot("k",et),ot("HH",et,ut),ot("hh",et,ut),ot("kk",et,ut),ot("hmm",jt),ot("hmmss",hn),ot("Hmm",jt),ot("Hmmss",hn),ir(["H","HH"],3),ir(["k","kk"],function(X,me,yt){var qt=$n(X);me[3]=24===qt?0:qt}),ir(["a","A"],function(X,me,yt){yt._isPm=yt._locale.isPM(X),yt._meridiem=X}),ir(["h","hh"],function(X,me,yt){me[3]=$n(X),H(yt).bigHour=!0}),ir("hmm",function(X,me,yt){var qt=X.length-2;me[3]=$n(X.substr(0,qt)),me[4]=$n(X.substr(qt)),H(yt).bigHour=!0}),ir("hmmss",function(X,me,yt){var qt=X.length-4,xn=X.length-2;me[3]=$n(X.substr(0,qt)),me[4]=$n(X.substr(qt,2)),me[5]=$n(X.substr(xn)),H(yt).bigHour=!0}),ir("Hmm",function(X,me,yt){var qt=X.length-2;me[3]=$n(X.substr(0,qt)),me[4]=$n(X.substr(qt))}),ir("Hmmss",function(X,me,yt){var qt=X.length-4,xn=X.length-2;me[3]=$n(X.substr(0,qt)),me[4]=$n(X.substr(qt,2)),me[5]=$n(X.substr(xn))});var Dl=En("Hours",!0);var Sa,sa={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:se,monthsShort:ct,week:{dow:0,doy:6},weekdays:ua,weekdaysMin:zo,weekdaysShort:ds,meridiemParse:/[ap]\.?m?\.?/i},Fo={},Ka={};function fa(X,me){var yt,qt=Math.min(X.length,me.length);for(yt=0;yt<qt;yt+=1)if(X[yt]!==me[yt])return yt;return qt}function ks(X){return X&&X.toLowerCase().replace("_","-")}function pt(X){var me=null;if(void 0===Fo[X]&&Ge&&Ge.exports)try{me=Sa._abbr,o(46700)("./"+X),an(me)}catch(qt){Fo[X]=null}return Fo[X]}function an(X,me){var yt;return X&&((yt=_(me)?ye(X):Nt(X,me))?Sa=yt:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+X+" not found. Did you forget to load it?")),Sa._abbr}function Nt(X,me){if(null!==me){var yt,qt=sa;if(me.abbr=X,null!=Fo[X])ce("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),qt=Fo[X]._config;else if(null!=me.parentLocale)if(null!=Fo[me.parentLocale])qt=Fo[me.parentLocale]._config;else{if(null==(yt=pt(me.parentLocale)))return Ka[me.parentLocale]||(Ka[me.parentLocale]=[]),Ka[me.parentLocale].push({name:X,config:me}),null;qt=yt._config}return Fo[X]=new be(Oe(qt,me)),Ka[X]&&Ka[X].forEach(function(xn){Nt(xn.name,xn.config)}),an(X),Fo[X]}return delete Fo[X],null}function ye(X){var me;if(X&&X._locale&&X._locale._abbr&&(X=X._locale._abbr),!X)return Sa;if(!a(X)){if(me=pt(X))return me;X=[X]}return function(X){for(var yt,qt,xn,Ar,me=0;me<X.length;){for(yt=(Ar=ks(X[me]).split("-")).length,qt=(qt=ks(X[me+1]))?qt.split("-"):null;yt>0;){if(xn=pt(Ar.slice(0,yt).join("-")))return xn;if(qt&&qt.length>=yt&&fa(Ar,qt)>=yt-1)break;yt--}me++}return Sa}(X)}function Wt(X){var me,yt=X._a;return yt&&-2===H(X).overflow&&(me=yt[1]<0||yt[1]>11?1:yt[2]<1||yt[2]>di(yt[0],yt[1])?2:yt[3]<0||yt[3]>24||24===yt[3]&&(0!==yt[4]||0!==yt[5]||0!==yt[6])?3:yt[4]<0||yt[4]>59?4:yt[5]<0||yt[5]>59?5:yt[6]<0||yt[6]>999?6:-1,H(X)._overflowDayOfYear&&(me<0||me>2)&&(me=2),H(X)._overflowWeeks&&-1===me&&(me=7),H(X)._overflowWeekday&&-1===me&&(me=8),H(X).overflow=me),X}var Or=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ni=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Yo=/Z|[+-]\d\d(?::?\d\d)?/,ms=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],ss=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Lo=/^\/?Date\((-?\d+)/i,Zo=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Ea={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ul(X){var me,yt,Ar,xi,fs,aa,qt=X._i,xn=Or.exec(qt)||Ni.exec(qt);if(xn){for(H(X).iso=!0,me=0,yt=ms.length;me<yt;me++)if(ms[me][1].exec(xn[1])){xi=ms[me][0],Ar=!1!==ms[me][2];break}if(null==xi)return void(X._isValid=!1);if(xn[3]){for(me=0,yt=ss.length;me<yt;me++)if(ss[me][1].exec(xn[3])){fs=(xn[2]||" ")+ss[me][0];break}if(null==fs)return void(X._isValid=!1)}if(!Ar&&null!=fs)return void(X._isValid=!1);if(xn[4]){if(!Yo.exec(xn[4]))return void(X._isValid=!1);aa="Z"}X._f=xi+(fs||"")+(aa||""),Di(X)}else X._isValid=!1}function va(X){var me=parseInt(X,10);return me<=49?2e3+me:me<=999?1900+me:me}function dl(X){var yt,me=Zo.exec(function(X){return X.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}(X._i));if(me){if(yt=function(X,me,yt,qt,xn,Ar){var xi=[va(X),ct.indexOf(me),parseInt(yt,10),parseInt(qt,10),parseInt(xn,10)];return Ar&&xi.push(parseInt(Ar,10)),xi}(me[4],me[3],me[2],me[5],me[6],me[7]),!function(X,me,yt){return!X||ds.indexOf(X)===new Date(me[0],me[1],me[2]).getDay()||(H(yt).weekdayMismatch=!0,yt._isValid=!1,!1)}(me[1],yt,X))return;X._a=yt,X._tzm=function(X,me,yt){if(X)return Ea[X];if(me)return 0;var qt=parseInt(yt,10),xn=qt%100;return(qt-xn)/100*60+xn}(me[8],me[9],me[10]),X._d=Ei.apply(null,X._a),X._d.setUTCMinutes(X._d.getUTCMinutes()-X._tzm),H(X).rfc2822=!0}else X._isValid=!1}function il(X,me,yt){return null!=X?X:null!=me?me:yt}function Bl(X){var me,yt,xn,Ar,xi,qt=[];if(!X._d){for(xn=function(X){var me=new Date(e.now());return X._useUTC?[me.getUTCFullYear(),me.getUTCMonth(),me.getUTCDate()]:[me.getFullYear(),me.getMonth(),me.getDate()]}(X),X._w&&null==X._a[2]&&null==X._a[1]&&function(X){var me,yt,qt,xn,Ar,xi,fs,aa,za;null!=(me=X._w).GG||null!=me.W||null!=me.E?(Ar=1,xi=4,yt=il(me.GG,X._a[0],Fi(kt(),1,4).year),qt=il(me.W,1),((xn=il(me.E,1))<1||xn>7)&&(aa=!0)):(Ar=X._locale._week.dow,xi=X._locale._week.doy,za=Fi(kt(),Ar,xi),yt=il(me.gg,X._a[0],za.year),qt=il(me.w,za.week),null!=me.d?((xn=me.d)<0||xn>6)&&(aa=!0):null!=me.e?(xn=me.e+Ar,(me.e<0||me.e>6)&&(aa=!0)):xn=Ar),qt<1||qt>no(yt,Ar,xi)?H(X)._overflowWeeks=!0:null!=aa?H(X)._overflowWeekday=!0:(fs=go(yt,qt,xn,Ar,xi),X._a[0]=fs.year,X._dayOfYear=fs.dayOfYear)}(X),null!=X._dayOfYear&&(xi=il(X._a[0],xn[0]),(X._dayOfYear>Dr(xi)||0===X._dayOfYear)&&(H(X)._overflowDayOfYear=!0),yt=Ei(xi,0,X._dayOfYear),X._a[1]=yt.getUTCMonth(),X._a[2]=yt.getUTCDate()),me=0;me<3&&null==X._a[me];++me)X._a[me]=qt[me]=xn[me];for(;me<7;me++)X._a[me]=qt[me]=null==X._a[me]?2===me?1:0:X._a[me];24===X._a[3]&&0===X._a[4]&&0===X._a[5]&&0===X._a[6]&&(X._nextDay=!0,X._a[3]=0),X._d=(X._useUTC?Ei:fi).apply(null,qt),Ar=X._useUTC?X._d.getUTCDay():X._d.getDay(),null!=X._tzm&&X._d.setUTCMinutes(X._d.getUTCMinutes()-X._tzm),X._nextDay&&(X._a[3]=24),X._w&&void 0!==X._w.d&&X._w.d!==Ar&&(H(X).weekdayMismatch=!0)}}function Di(X){if(X._f!==e.ISO_8601)if(X._f!==e.RFC_2822){X._a=[],H(X).empty=!0;var yt,qt,xn,Ar,xi,za,me=""+X._i,fs=me.length,aa=0;for(xn=ae(X._f,X._locale).match(je)||[],yt=0;yt<xn.length;yt++)(qt=(me.match(Nn(Ar=xn[yt],X))||[])[0])&&((xi=me.substr(0,me.indexOf(qt))).length>0&&H(X).unusedInput.push(xi),me=me.slice(me.indexOf(qt)+qt.length),aa+=qt.length),nn[Ar]?(qt?H(X).empty=!1:H(X).unusedTokens.push(Ar),_r(Ar,qt,X)):X._strict&&!qt&&H(X).unusedTokens.push(Ar);H(X).charsLeftOver=fs-aa,me.length>0&&H(X).unusedInput.push(me),X._a[3]<=12&&!0===H(X).bigHour&&X._a[3]>0&&(H(X).bigHour=void 0),H(X).parsedDateParts=X._a.slice(0),H(X).meridiem=X._meridiem,X._a[3]=function(X,me,yt){var qt;return null==yt?me:null!=X.meridiemHour?X.meridiemHour(me,yt):(null!=X.isPM&&((qt=X.isPM(yt))&&me<12&&(me+=12),!qt&&12===me&&(me=0)),me)}(X._locale,X._a[3],X._meridiem),null!==(za=H(X).era)&&(X._a[0]=X._locale.erasConvertYear(za,X._a[0])),Bl(X),Wt(X)}else dl(X);else ul(X)}function hs(X){var me=X._i,yt=X._f;return X._locale=X._locale||ye(X._l),null===me||void 0===yt&&""===me?M({nullInput:!0}):("string"==typeof me&&(X._i=me=X._locale.preparse(me)),oe(me)?new ie(Wt(me)):(b(me)?X._d=me:a(yt)?function(X){var me,yt,qt,xn,Ar,xi,fs=!1;if(0===X._f.length)return H(X).invalidFormat=!0,void(X._d=new Date(NaN));for(xn=0;xn<X._f.length;xn++)Ar=0,xi=!1,me=Y({},X),null!=X._useUTC&&(me._useUTC=X._useUTC),me._f=X._f[xn],Di(me),U(me)&&(xi=!0),Ar+=H(me).charsLeftOver,Ar+=10*H(me).unusedTokens.length,H(me).score=Ar,fs?Ar<qt&&(qt=Ar,yt=me):(null==qt||Ar<qt||xi)&&(qt=Ar,yt=me,xi&&(fs=!0));D(X,yt||me)}(X):yt?Di(X):function(X){var me=X._i;_(me)?X._d=new Date(e.now()):b(me)?X._d=new Date(me.valueOf()):"string"==typeof me?function(X){var me=Lo.exec(X._i);null===me?(ul(X),!1===X._isValid&&(delete X._isValid,dl(X),!1===X._isValid&&(delete X._isValid,X._strict?X._isValid=!1:e.createFromInputFallback(X)))):X._d=new Date(+me[1])}(X):a(me)?(X._a=C(me.slice(0),function(yt){return parseInt(yt,10)}),Bl(X)):l(me)?function(X){if(!X._d){var me=Cn(X._i);X._a=C([me.year,me.month,void 0===me.day?me.date:me.day,me.hour,me.minute,me.second,me.millisecond],function(qt){return qt&&parseInt(qt,10)}),Bl(X)}}(X):m(me)?X._d=new Date(me):e.createFromInputFallback(X)}(X),U(X)||(X._d=null),X))}function wt(X,me,yt,qt,xn){var Ar={};return(!0===me||!1===me)&&(qt=me,me=void 0),(!0===yt||!1===yt)&&(qt=yt,yt=void 0),(l(X)&&h(X)||a(X)&&0===X.length)&&(X=void 0),Ar._isAMomentObject=!0,Ar._useUTC=Ar._isUTC=xn,Ar._l=yt,Ar._i=X,Ar._f=me,Ar._strict=qt,function(X){var me=new ie(Wt(hs(X)));return me._nextDay&&(me.add(1,"d"),me._nextDay=void 0),me}(Ar)}function kt(X,me,yt,qt){return wt(X,me,yt,qt,!1)}e.createFromInputFallback=ne("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(X){X._d=new Date(X._i+(X._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var tn=ne("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var X=kt.apply(null,arguments);return this.isValid()&&X.isValid()?X<this?this:X:M()}),ur=ne("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var X=kt.apply(null,arguments);return this.isValid()&&X.isValid()?X>this?this:X:M()});function gn(X,me){var yt,qt;if(1===me.length&&a(me[0])&&(me=me[0]),!me.length)return kt();for(yt=me[0],qt=1;qt<me.length;++qt)(!me[qt].isValid()||me[qt][X](yt))&&(yt=me[qt]);return yt}var mi=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ui(X){var me=Cn(X),yt=me.year||0,qt=me.quarter||0,xn=me.month||0,Ar=me.week||me.isoWeek||0,xi=me.day||0,fs=me.hour||0,aa=me.minute||0,za=me.second||0,gc=me.millisecond||0;this._isValid=function(X){var me,qt,yt=!1;for(me in X)if(u(X,me)&&(-1===ei.call(mi,me)||null!=X[me]&&isNaN(X[me])))return!1;for(qt=0;qt<mi.length;++qt)if(X[mi[qt]]){if(yt)return!1;parseFloat(X[mi[qt]])!==$n(X[mi[qt]])&&(yt=!0)}return!0}(me),this._milliseconds=+gc+1e3*za+6e4*aa+1e3*fs*60*60,this._days=+xi+7*Ar,this._months=+xn+3*qt+12*yt,this._data={},this._locale=ye(),this._bubble()}function io(X){return X instanceof Ui}function vo(X){return X<0?-1*Math.round(-1*X):Math.round(X)}function hi(X,me){St(X,0,0,function(){var yt=this.utcOffset(),qt="+";return yt<0&&(yt=-yt,qt="-"),qt+F(~~(yt/60),2)+me+F(~~yt%60,2)})}hi("Z",":"),hi("ZZ",""),ot("Z",at),ot("ZZ",at),ir(["Z","ZZ"],function(X,me,yt){yt._useUTC=!0,yt._tzm=G(at,X)});var Br=/([\+\-]|\d\d)/gi;function G(X,me){var xn,Ar,yt=(me||"").match(X);return null===yt?null:0===(Ar=60*(xn=((yt[yt.length-1]||[])+"").match(Br)||["-",0,0])[1]+$n(xn[2]))?0:"+"===xn[0]?Ar:-Ar}function Se(X,me){var yt,qt;return me._isUTC?(yt=me.clone(),qt=(oe(X)||b(X)?X.valueOf():kt(X).valueOf())-yt.valueOf(),yt._d.setTime(yt._d.valueOf()+qt),e.updateOffset(yt,!1),yt):kt(X).local()}function ft(X){return-Math.round(X._d.getTimezoneOffset())}function dr(){return!!this.isValid()&&this._isUTC&&0===this._offset}e.updateOffset=function(){};var li=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Ti=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ao(X,me){var xn,Ar,xi,yt=X,qt=null;return io(X)?yt={ms:X._milliseconds,d:X._days,M:X._months}:m(X)||!isNaN(+X)?(yt={},me?yt[me]=+X:yt.milliseconds=+X):(qt=li.exec(X))?(xn="-"===qt[1]?-1:1,yt={y:0,d:$n(qt[2])*xn,h:$n(qt[3])*xn,m:$n(qt[4])*xn,s:$n(qt[5])*xn,ms:$n(vo(1e3*qt[6]))*xn}):(qt=Ti.exec(X))?yt={y:Qo(qt[2],xn="-"===qt[1]?-1:1),M:Qo(qt[3],xn),w:Qo(qt[4],xn),d:Qo(qt[5],xn),h:Qo(qt[6],xn),m:Qo(qt[7],xn),s:Qo(qt[8],xn)}:null==yt?yt={}:"object"==typeof yt&&("from"in yt||"to"in yt)&&(xi=function(X,me){var yt;return X.isValid()&&me.isValid()?(me=Se(me,X),X.isBefore(me)?yt=jo(X,me):((yt=jo(me,X)).milliseconds=-yt.milliseconds,yt.months=-yt.months),yt):{milliseconds:0,months:0}}(kt(yt.from),kt(yt.to)),(yt={}).ms=xi.milliseconds,yt.M=xi.months),Ar=new Ui(yt),io(X)&&u(X,"_locale")&&(Ar._locale=X._locale),io(X)&&u(X,"_isValid")&&(Ar._isValid=X._isValid),Ar}function Qo(X,me){var yt=X&&parseFloat(X.replace(",","."));return(isNaN(yt)?0:yt)*me}function jo(X,me){var yt={};return yt.months=me.month()-X.month()+12*(me.year()-X.year()),X.clone().add(yt.months,"M").isAfter(me)&&--yt.months,yt.milliseconds=+me-+X.clone().add(yt.months,"M"),yt}function eo(X,me){return function(yt,qt){var Ar;return null!==qt&&!isNaN(+qt)&&(ce(me,"moment()."+me+"(period, number) is deprecated. Please use moment()."+me+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),Ar=yt,yt=qt,qt=Ar),Ho(this,Ao(yt,qt),X),this}}function Ho(X,me,yt,qt){var xn=me._milliseconds,Ar=vo(me._days),xi=vo(me._months);!X.isValid()||(qt=null==qt||qt,xi&&$t(X,Fn(X,"Month")+xi*yt),Ar&&Dn(X,"Date",Fn(X,"Date")+Ar*yt),xn&&X._d.setTime(X._d.valueOf()+xn*yt),qt&&e.updateOffset(X,Ar||xi))}Ao.fn=Ui.prototype,Ao.invalid=function(){return Ao(NaN)};var Zi=eo(1,"add"),na=eo(-1,"subtract");function ha(X){return"string"==typeof X||X instanceof String}function fl(X){return oe(X)||b(X)||ha(X)||m(X)||function(X){var me=a(X),yt=!1;return me&&(yt=0===X.filter(function(qt){return!m(qt)&&ha(X)}).length),me&&yt}(X)||function(X){var xn,me=l(X)&&!h(X),yt=!1,qt=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(xn=0;xn<qt.length;xn+=1)yt=yt||u(X,qt[xn]);return me&&yt}(X)||null==X}function Ll(X){var xn,me=l(X)&&!h(X),yt=!1,qt=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(xn=0;xn<qt.length;xn+=1)yt=yt||u(X,qt[xn]);return me&&yt}function Yl(X,me){if(X.date()<me.date())return-Yl(me,X);var yt=12*(me.year()-X.year())+(me.month()-X.month()),qt=X.clone().add(yt,"months");return-(yt+(me-qt<0?(me-qt)/(qt-X.clone().add(yt-1,"months")):(me-qt)/(X.clone().add(yt+1,"months")-qt)))||0}function ge(X){var me;return void 0===X?this._locale._abbr:(null!=(me=ye(X))&&(this._locale=me),this)}e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Re=ne("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(X){return void 0===X?this.localeData():this.locale(X)});function Be(){return this._locale}var Dt=6e4,en=60*Dt,vn=3506328*en;function Gn(X,me){return(X%me+me)%me}function kn(X,me,yt){return X<100&&X>=0?new Date(X+400,me,yt)-vn:new Date(X,me,yt).valueOf()}function zn(X,me,yt){return X<100&&X>=0?Date.UTC(X+400,me,yt)-vn:Date.UTC(X,me,yt)}function Pa(X,me){return me.erasAbbrRegex(X)}function ns(){var xn,Ar,X=[],me=[],yt=[],qt=[],xi=this.eras();for(xn=0,Ar=xi.length;xn<Ar;++xn)me.push(An(xi[xn].name)),X.push(An(xi[xn].abbr)),yt.push(An(xi[xn].narrow)),qt.push(An(xi[xn].name)),qt.push(An(xi[xn].abbr)),qt.push(An(xi[xn].narrow));this._erasRegex=new RegExp("^("+qt.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+me.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+X.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+yt.join("|")+")","i")}function Aa(X,me){St(0,[X,X.length],0,me)}function Zs(X,me,yt,qt,xn){var Ar;return null==X?Fi(this,qt,xn).year:(me>(Ar=no(X,qt,xn))&&(me=Ar),Ya.call(this,X,me,yt,qt,xn))}function Ya(X,me,yt,qt,xn){var Ar=go(X,me,yt,qt,xn),xi=Ei(Ar.year,0,Ar.dayOfYear);return this.year(xi.getUTCFullYear()),this.month(xi.getUTCMonth()),this.date(xi.getUTCDate()),this}St("N",0,0,"eraAbbr"),St("NN",0,0,"eraAbbr"),St("NNN",0,0,"eraAbbr"),St("NNNN",0,0,"eraName"),St("NNNNN",0,0,"eraNarrow"),St("y",["y",1],"yo","eraYear"),St("y",["yy",2],0,"eraYear"),St("y",["yyy",3],0,"eraYear"),St("y",["yyyy",4],0,"eraYear"),ot("N",Pa),ot("NN",Pa),ot("NNN",Pa),ot("NNNN",function(X,me){return me.erasNameRegex(X)}),ot("NNNNN",function(X,me){return me.erasNarrowRegex(X)}),ir(["N","NN","NNN","NNNN","NNNNN"],function(X,me,yt,qt){var xn=yt._locale.erasParse(X,qt,yt._strict);xn?H(yt).era=xn:H(yt).invalidEra=X}),ot("y",L),ot("yy",L),ot("yyy",L),ot("yyyy",L),ot("yo",function(X,me){return me._eraYearOrdinalRegex||L}),ir(["y","yy","yyy","yyyy"],0),ir(["yo"],function(X,me,yt,qt){var xn;yt._locale._eraYearOrdinalRegex&&(xn=X.match(yt._locale._eraYearOrdinalRegex)),me[0]=yt._locale.eraYearOrdinalParse?yt._locale.eraYearOrdinalParse(X,xn):parseInt(X,10)}),St(0,["gg",2],0,function(){return this.weekYear()%100}),St(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Aa("gggg","weekYear"),Aa("ggggg","weekYear"),Aa("GGGG","isoWeekYear"),Aa("GGGGG","isoWeekYear"),tr("weekYear","gg"),tr("isoWeekYear","GG"),dn("weekYear",1),dn("isoWeekYear",1),ot("G",Ue),ot("g",Ue),ot("GG",et,ut),ot("gg",et,ut),ot("GGGG",Ir,Tt),ot("gggg",Ir,Tt),ot("GGGGG",ht,yn),ot("ggggg",ht,yn),mr(["gggg","ggggg","GGGG","GGGGG"],function(X,me,yt,qt){me[qt.substr(0,2)]=$n(X)}),mr(["gg","GG"],function(X,me,yt,qt){me[qt]=e.parseTwoDigitYear(X)}),St("Q",0,"Qo","quarter"),tr("quarter","Q"),dn("quarter",7),ot("Q",Xt),ir("Q",function(X,me){me[1]=3*($n(X)-1)}),St("D",["DD",2],"Do","date"),tr("date","D"),dn("date",9),ot("D",et),ot("DD",et,ut),ot("Do",function(X,me){return X?me._dayOfMonthOrdinalParse||me._ordinalParse:me._dayOfMonthOrdinalParseLenient}),ir(["D","DD"],2),ir("Do",function(X,me){me[2]=$n(X.match(et)[0])});var Za=En("Date",!0);St("DDD",["DDDD",3],"DDDo","dayOfYear"),tr("dayOfYear","DDD"),dn("dayOfYear",4),ot("DDD",Qn),ot("DDDD",mt),ir(["DDD","DDDD"],function(X,me,yt){yt._dayOfYear=$n(X)}),St("m",["mm",2],0,"minute"),tr("minute","m"),dn("minute",14),ot("m",et),ot("mm",et,ut),ir(["m","mm"],4);var ol=En("Minutes",!1);St("s",["ss",2],0,"second"),tr("second","s"),dn("second",15),ot("s",et),ot("ss",et,ut),ir(["s","ss"],5);var sl,ac,Us=En("Seconds",!1);for(St("S",0,0,function(){return~~(this.millisecond()/100)}),St(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),St(0,["SSS",3],0,"millisecond"),St(0,["SSSS",4],0,function(){return 10*this.millisecond()}),St(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),St(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),St(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),St(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),St(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),tr("millisecond","ms"),dn("millisecond",16),ot("S",Qn,Xt),ot("SS",Qn,ut),ot("SSS",Qn,mt),sl="SSSS";sl.length<=9;sl+="S")ot(sl,L);function Zl(X,me){me[6]=$n(1e3*("0."+X))}for(sl="S";sl.length<=9;sl+="S")ir(sl,Zl);ac=En("Milliseconds",!1),St("z",0,0,"zoneAbbr"),St("zz",0,0,"zoneName");var ki=ie.prototype;function pl(X){return X}ki.add=Zi,ki.calendar=function(X,me){1===arguments.length&&(arguments[0]?fl(arguments[0])?(X=arguments[0],me=void 0):Ll(arguments[0])&&(me=arguments[0],X=void 0):(X=void 0,me=void 0));var yt=X||kt(),qt=Se(yt,this).startOf("day"),xn=e.calendarFormat(this,qt)||"sameElse",Ar=me&&(Ae(me[xn])?me[xn].call(this,yt):me[xn]);return this.format(Ar||this.localeData().calendar(xn,this,kt(yt)))},ki.clone=function(){return new ie(this)},ki.diff=function(X,me,yt){var qt,xn,Ar;if(!this.isValid())return NaN;if(!(qt=Se(X,this)).isValid())return NaN;switch(xn=6e4*(qt.utcOffset()-this.utcOffset()),me=Yn(me)){case"year":Ar=Yl(this,qt)/12;break;case"month":Ar=Yl(this,qt);break;case"quarter":Ar=Yl(this,qt)/3;break;case"second":Ar=(this-qt)/1e3;break;case"minute":Ar=(this-qt)/6e4;break;case"hour":Ar=(this-qt)/36e5;break;case"day":Ar=(this-qt-xn)/864e5;break;case"week":Ar=(this-qt-xn)/6048e5;break;default:Ar=this-qt}return yt?Ar:Sn(Ar)},ki.endOf=function(X){var me,yt;if(void 0===(X=Yn(X))||"millisecond"===X||!this.isValid())return this;switch(yt=this._isUTC?zn:kn,X){case"year":me=yt(this.year()+1,0,1)-1;break;case"quarter":me=yt(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":me=yt(this.year(),this.month()+1,1)-1;break;case"week":me=yt(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":me=yt(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":me=yt(this.year(),this.month(),this.date()+1)-1;break;case"hour":me=this._d.valueOf(),me+=en-Gn(me+(this._isUTC?0:this.utcOffset()*Dt),en)-1;break;case"minute":me=this._d.valueOf(),me+=Dt-Gn(me,Dt)-1;break;case"second":me=this._d.valueOf(),me+=1e3-Gn(me,1e3)-1}return this._d.setTime(me),e.updateOffset(this,!0),this},ki.format=function(X){X||(X=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var me=It(this,X);return this.localeData().postformat(me)},ki.from=function(X,me){return this.isValid()&&(oe(X)&&X.isValid()||kt(X).isValid())?Ao({to:this,from:X}).locale(this.locale()).humanize(!me):this.localeData().invalidDate()},ki.fromNow=function(X){return this.from(kt(),X)},ki.to=function(X,me){return this.isValid()&&(oe(X)&&X.isValid()||kt(X).isValid())?Ao({from:this,to:X}).locale(this.locale()).humanize(!me):this.localeData().invalidDate()},ki.toNow=function(X){return this.to(kt(),X)},ki.get=function(X){return Ae(this[X=Yn(X)])?this[X]():this},ki.invalidAt=function(){return H(this).overflow},ki.isAfter=function(X,me){var yt=oe(X)?X:kt(X);return!(!this.isValid()||!yt.isValid())&&("millisecond"===(me=Yn(me)||"millisecond")?this.valueOf()>yt.valueOf():yt.valueOf()<this.clone().startOf(me).valueOf())},ki.isBefore=function(X,me){var yt=oe(X)?X:kt(X);return!(!this.isValid()||!yt.isValid())&&("millisecond"===(me=Yn(me)||"millisecond")?this.valueOf()<yt.valueOf():this.clone().endOf(me).valueOf()<yt.valueOf())},ki.isBetween=function(X,me,yt,qt){var xn=oe(X)?X:kt(X),Ar=oe(me)?me:kt(me);return!!(this.isValid()&&xn.isValid()&&Ar.isValid())&&("("===(qt=qt||"()")[0]?this.isAfter(xn,yt):!this.isBefore(xn,yt))&&(")"===qt[1]?this.isBefore(Ar,yt):!this.isAfter(Ar,yt))},ki.isSame=function(X,me){var qt,yt=oe(X)?X:kt(X);return!(!this.isValid()||!yt.isValid())&&("millisecond"===(me=Yn(me)||"millisecond")?this.valueOf()===yt.valueOf():(qt=yt.valueOf(),this.clone().startOf(me).valueOf()<=qt&&qt<=this.clone().endOf(me).valueOf()))},ki.isSameOrAfter=function(X,me){return this.isSame(X,me)||this.isAfter(X,me)},ki.isSameOrBefore=function(X,me){return this.isSame(X,me)||this.isBefore(X,me)},ki.isValid=function(){return U(this)},ki.lang=Re,ki.locale=ge,ki.localeData=Be,ki.max=ur,ki.min=tn,ki.parsingFlags=function(){return D({},H(this))},ki.set=function(X,me){if("object"==typeof X){var qt,yt=function(X){var yt,me=[];for(yt in X)u(X,yt)&&me.push({unit:yt,priority:Kt[yt]});return me.sort(function(qt,xn){return qt.priority-xn.priority}),me}(X=Cn(X));for(qt=0;qt<yt.length;qt++)this[yt[qt].unit](X[yt[qt].unit])}else if(Ae(this[X=Yn(X)]))return this[X](me);return this},ki.startOf=function(X){var me,yt;if(void 0===(X=Yn(X))||"millisecond"===X||!this.isValid())return this;switch(yt=this._isUTC?zn:kn,X){case"year":me=yt(this.year(),0,1);break;case"quarter":me=yt(this.year(),this.month()-this.month()%3,1);break;case"month":me=yt(this.year(),this.month(),1);break;case"week":me=yt(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":me=yt(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":me=yt(this.year(),this.month(),this.date());break;case"hour":me=this._d.valueOf(),me-=Gn(me+(this._isUTC?0:this.utcOffset()*Dt),en);break;case"minute":me=this._d.valueOf(),me-=Gn(me,Dt);break;case"second":me=this._d.valueOf(),me-=Gn(me,1e3)}return this._d.setTime(me),e.updateOffset(this,!0),this},ki.subtract=na,ki.toArray=function(){var X=this;return[X.year(),X.month(),X.date(),X.hour(),X.minute(),X.second(),X.millisecond()]},ki.toObject=function(){var X=this;return{years:X.year(),months:X.month(),date:X.date(),hours:X.hours(),minutes:X.minutes(),seconds:X.seconds(),milliseconds:X.milliseconds()}},ki.toDate=function(){return new Date(this.valueOf())},ki.toISOString=function(X){if(!this.isValid())return null;var me=!0!==X,yt=me?this.clone().utc():this;return yt.year()<0||yt.year()>9999?It(yt,me?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Ae(Date.prototype.toISOString)?me?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",It(yt,"Z")):It(yt,me?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},ki.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var yt,qt,X="moment",me="";return this.isLocal()||(X=0===this.utcOffset()?"moment.utc":"moment.parseZone",me="Z"),yt="["+X+'("]',qt=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(yt+qt+"-MM-DD[T]HH:mm:ss.SSS"+me+'[")]')},"undefined"!=typeof Symbol&&null!=Symbol.for&&(ki[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),ki.toJSON=function(){return this.isValid()?this.toISOString():null},ki.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},ki.unix=function(){return Math.floor(this.valueOf()/1e3)},ki.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},ki.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},ki.eraName=function(){var X,me,yt,qt=this.localeData().eras();for(X=0,me=qt.length;X<me;++X)if(yt=this.clone().startOf("day").valueOf(),qt[X].since<=yt&&yt<=qt[X].until||qt[X].until<=yt&&yt<=qt[X].since)return qt[X].name;return""},ki.eraNarrow=function(){var X,me,yt,qt=this.localeData().eras();for(X=0,me=qt.length;X<me;++X)if(yt=this.clone().startOf("day").valueOf(),qt[X].since<=yt&&yt<=qt[X].until||qt[X].until<=yt&&yt<=qt[X].since)return qt[X].narrow;return""},ki.eraAbbr=function(){var X,me,yt,qt=this.localeData().eras();for(X=0,me=qt.length;X<me;++X)if(yt=this.clone().startOf("day").valueOf(),qt[X].since<=yt&&yt<=qt[X].until||qt[X].until<=yt&&yt<=qt[X].since)return qt[X].abbr;return""},ki.eraYear=function(){var X,me,yt,qt,xn=this.localeData().eras();for(X=0,me=xn.length;X<me;++X)if(yt=xn[X].since<=xn[X].until?1:-1,qt=this.clone().startOf("day").valueOf(),xn[X].since<=qt&&qt<=xn[X].until||xn[X].until<=qt&&qt<=xn[X].since)return(this.year()-e(xn[X].since).year())*yt+xn[X].offset;return this.year()},ki.year=Qr,ki.isLeapYear=function(){return qn(this.year())},ki.weekYear=function(X){return Zs.call(this,X,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},ki.isoWeekYear=function(X){return Zs.call(this,X,this.isoWeek(),this.isoWeekday(),1,4)},ki.quarter=ki.quarters=function(X){return null==X?Math.ceil((this.month()+1)/3):this.month(3*(X-1)+this.month()%3)},ki.month=or,ki.daysInMonth=function(){return di(this.year(),this.month())},ki.week=ki.weeks=function(X){var me=this.localeData().week(this);return null==X?me:this.add(7*(X-me),"d")},ki.isoWeek=ki.isoWeeks=function(X){var me=Fi(this,1,4).week;return null==X?me:this.add(7*(X-me),"d")},ki.weeksInYear=function(){var X=this.localeData()._week;return no(this.year(),X.dow,X.doy)},ki.weeksInWeekYear=function(){var X=this.localeData()._week;return no(this.weekYear(),X.dow,X.doy)},ki.isoWeeksInYear=function(){return no(this.year(),1,4)},ki.isoWeeksInISOWeekYear=function(){return no(this.isoWeekYear(),1,4)},ki.date=Za,ki.day=ki.days=function(X){if(!this.isValid())return null!=X?this:NaN;var me=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=X?(X=function(X,me){return"string"!=typeof X?X:isNaN(X)?"number"==typeof(X=me.weekdaysParse(X))?X:null:parseInt(X,10)}(X,this.localeData()),this.add(X-me,"d")):me},ki.weekday=function(X){if(!this.isValid())return null!=X?this:NaN;var me=(this.day()+7-this.localeData()._week.dow)%7;return null==X?me:this.add(X-me,"d")},ki.isoWeekday=function(X){if(!this.isValid())return null!=X?this:NaN;if(null!=X){var me=function(X,me){return"string"==typeof X?me.weekdaysParse(X)%7||7:isNaN(X)?null:X}(X,this.localeData());return this.day(this.day()%7?me:me-7)}return this.day()||7},ki.dayOfYear=function(X){var me=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==X?me:this.add(X-me,"d")},ki.hour=ki.hours=Dl,ki.minute=ki.minutes=ol,ki.second=ki.seconds=Us,ki.millisecond=ki.milliseconds=ac,ki.utcOffset=function(X,me,yt){var xn,qt=this._offset||0;if(!this.isValid())return null!=X?this:NaN;if(null!=X){if("string"==typeof X){if(null===(X=G(at,X)))return this}else Math.abs(X)<16&&!yt&&(X*=60);return!this._isUTC&&me&&(xn=ft(this)),this._offset=X,this._isUTC=!0,null!=xn&&this.add(xn,"m"),qt!==X&&(!me||this._changeInProgress?Ho(this,Ao(X-qt,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?qt:ft(this)},ki.utc=function(X){return this.utcOffset(0,X)},ki.local=function(X){return this._isUTC&&(this.utcOffset(0,X),this._isUTC=!1,X&&this.subtract(ft(this),"m")),this},ki.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var X=G(nt,this._i);null!=X?this.utcOffset(X):this.utcOffset(0,!0)}return this},ki.hasAlignedHourOffset=function(X){return!!this.isValid()&&(X=X?kt(X).utcOffset():0,(this.utcOffset()-X)%60==0)},ki.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ki.isLocal=function(){return!!this.isValid()&&!this._isUTC},ki.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ki.isUtc=dr,ki.isUTC=dr,ki.zoneAbbr=function(){return this._isUTC?"UTC":""},ki.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},ki.dates=ne("dates accessor is deprecated. Use date instead.",Za),ki.months=ne("months accessor is deprecated. Use month instead",or),ki.years=ne("years accessor is deprecated. Use year instead",Qr),ki.zone=ne("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(X,me){return null!=X?("string"!=typeof X&&(X=-X),this.utcOffset(X,me),this):-this.utcOffset()}),ki.isDSTShifted=ne("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!_(this._isDSTShifted))return this._isDSTShifted;var me,X={};return Y(X,this),(X=hs(X))._a?(me=X._isUTC?x(X._a):kt(X._a),this._isDSTShifted=this.isValid()&&function(X,me,yt){var xi,qt=Math.min(X.length,me.length),xn=Math.abs(X.length-me.length),Ar=0;for(xi=0;xi<qt;xi++)(yt&&X[xi]!==me[xi]||!yt&&$n(X[xi])!==$n(me[xi]))&&Ar++;return Ar+xn}(X._a,me.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted});var _a=be.prototype;function iu(X,me,yt,qt){var xn=ye(),Ar=x().set(qt,me);return xn[yt](Ar,X)}function cc(X,me,yt){if(m(X)&&(me=X,X=void 0),X=X||"",null!=me)return iu(X,me,yt,"month");var qt,xn=[];for(qt=0;qt<12;qt++)xn[qt]=iu(X,qt,yt,"month");return xn}function Ac(X,me,yt,qt){"boolean"==typeof X?(m(me)&&(yt=me,me=void 0),me=me||""):(yt=me=X,X=!1,m(me)&&(yt=me,me=void 0),me=me||"");var xi,xn=ye(),Ar=X?xn._week.dow:0,fs=[];if(null!=yt)return iu(me,(yt+Ar)%7,qt,"day");for(xi=0;xi<7;xi++)fs[xi]=iu(me,(xi+Ar)%7,qt,"day");return fs}_a.calendar=function(X,me,yt){var qt=this._calendar[X]||this._calendar.sameElse;return Ae(qt)?qt.call(me,yt):qt},_a.longDateFormat=function(X){var me=this._longDateFormat[X],yt=this._longDateFormat[X.toUpperCase()];return me||!yt?me:(this._longDateFormat[X]=yt.match(je).map(function(qt){return"MMMM"===qt||"MM"===qt||"DD"===qt||"dddd"===qt?qt.slice(1):qt}).join(""),this._longDateFormat[X])},_a.invalidDate=function(){return this._invalidDate},_a.ordinal=function(X){return this._ordinal.replace("%d",X)},_a.preparse=pl,_a.postformat=pl,_a.relativeTime=function(X,me,yt,qt){var xn=this._relativeTime[yt];return Ae(xn)?xn(X,me,yt,qt):xn.replace(/%d/i,X)},_a.pastFuture=function(X,me){var yt=this._relativeTime[X>0?"future":"past"];return Ae(yt)?yt(me):yt.replace(/%s/i,me)},_a.set=function(X){var me,yt;for(yt in X)u(X,yt)&&(Ae(me=X[yt])?this[yt]=me:this["_"+yt]=me);this._config=X,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},_a.eras=function(X,me){var yt,qt,xn,Ar=this._eras||ye("en")._eras;for(yt=0,qt=Ar.length;yt<qt;++yt){switch(typeof Ar[yt].since){case"string":xn=e(Ar[yt].since).startOf("day"),Ar[yt].since=xn.valueOf()}switch(typeof Ar[yt].until){case"undefined":Ar[yt].until=1/0;break;case"string":xn=e(Ar[yt].until).startOf("day").valueOf(),Ar[yt].until=xn.valueOf()}}return Ar},_a.erasParse=function(X,me,yt){var qt,xn,xi,fs,aa,Ar=this.eras();for(X=X.toUpperCase(),qt=0,xn=Ar.length;qt<xn;++qt)if(xi=Ar[qt].name.toUpperCase(),fs=Ar[qt].abbr.toUpperCase(),aa=Ar[qt].narrow.toUpperCase(),yt)switch(me){case"N":case"NN":case"NNN":if(fs===X)return Ar[qt];break;case"NNNN":if(xi===X)return Ar[qt];break;case"NNNNN":if(aa===X)return Ar[qt]}else if([xi,fs,aa].indexOf(X)>=0)return Ar[qt]},_a.erasConvertYear=function(X,me){var yt=X.since<=X.until?1:-1;return void 0===me?e(X.since).year():e(X.since).year()+(me-X.offset)*yt},_a.erasAbbrRegex=function(X){return u(this,"_erasAbbrRegex")||ns.call(this),X?this._erasAbbrRegex:this._erasRegex},_a.erasNameRegex=function(X){return u(this,"_erasNameRegex")||ns.call(this),X?this._erasNameRegex:this._erasRegex},_a.erasNarrowRegex=function(X){return u(this,"_erasNarrowRegex")||ns.call(this),X?this._erasNarrowRegex:this._erasRegex},_a.months=function(X,me){return X?a(this._months)?this._months[X.month()]:this._months[(this._months.isFormat||Ke).test(me)?"format":"standalone"][X.month()]:a(this._months)?this._months:this._months.standalone},_a.monthsShort=function(X,me){return X?a(this._monthsShort)?this._monthsShort[X.month()]:this._monthsShort[Ke.test(me)?"format":"standalone"][X.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},_a.monthsParse=function(X,me,yt){var qt,xn,Ar;if(this._monthsParseExact)return bt.call(this,X,me,yt);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),qt=0;qt<12;qt++){if(xn=x([2e3,qt]),yt&&!this._longMonthsParse[qt]&&(this._longMonthsParse[qt]=new RegExp("^"+this.months(xn,"").replace(".","")+"$","i"),this._shortMonthsParse[qt]=new RegExp("^"+this.monthsShort(xn,"").replace(".","")+"$","i")),!yt&&!this._monthsParse[qt]&&(Ar="^"+this.months(xn,"")+"|^"+this.monthsShort(xn,""),this._monthsParse[qt]=new RegExp(Ar.replace(".",""),"i")),yt&&"MMMM"===me&&this._longMonthsParse[qt].test(X))return qt;if(yt&&"MMM"===me&&this._shortMonthsParse[qt].test(X))return qt;if(!yt&&this._monthsParse[qt].test(X))return qt}},_a.monthsRegex=function(X){return this._monthsParseExact?(u(this,"_monthsRegex")||ai.call(this),X?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=Vt),this._monthsStrictRegex&&X?this._monthsStrictRegex:this._monthsRegex)},_a.monthsShortRegex=function(X){return this._monthsParseExact?(u(this,"_monthsRegex")||ai.call(this),X?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Xe),this._monthsShortStrictRegex&&X?this._monthsShortStrictRegex:this._monthsShortRegex)},_a.week=function(X){return Fi(X,this._week.dow,this._week.doy).week},_a.firstDayOfYear=function(){return this._week.doy},_a.firstDayOfWeek=function(){return this._week.dow},_a.weekdays=function(X,me){var yt=a(this._weekdays)?this._weekdays:this._weekdays[X&&!0!==X&&this._weekdays.isFormat.test(me)?"format":"standalone"];return!0===X?es(yt,this._week.dow):X?yt[X.day()]:yt},_a.weekdaysMin=function(X){return!0===X?es(this._weekdaysMin,this._week.dow):X?this._weekdaysMin[X.day()]:this._weekdaysMin},_a.weekdaysShort=function(X){return!0===X?es(this._weekdaysShort,this._week.dow):X?this._weekdaysShort[X.day()]:this._weekdaysShort},_a.weekdaysParse=function(X,me,yt){var qt,xn,Ar;if(this._weekdaysParseExact)return fn.call(this,X,me,yt);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),qt=0;qt<7;qt++){if(xn=x([2e3,1]).day(qt),yt&&!this._fullWeekdaysParse[qt]&&(this._fullWeekdaysParse[qt]=new RegExp("^"+this.weekdays(xn,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[qt]=new RegExp("^"+this.weekdaysShort(xn,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[qt]=new RegExp("^"+this.weekdaysMin(xn,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[qt]||(Ar="^"+this.weekdays(xn,"")+"|^"+this.weekdaysShort(xn,"")+"|^"+this.weekdaysMin(xn,""),this._weekdaysParse[qt]=new RegExp(Ar.replace(".",""),"i")),yt&&"dddd"===me&&this._fullWeekdaysParse[qt].test(X))return qt;if(yt&&"ddd"===me&&this._shortWeekdaysParse[qt].test(X))return qt;if(yt&&"dd"===me&&this._minWeekdaysParse[qt].test(X))return qt;if(!yt&&this._weekdaysParse[qt].test(X))return qt}},_a.weekdaysRegex=function(X){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Li.call(this),X?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=oa),this._weekdaysStrictRegex&&X?this._weekdaysStrictRegex:this._weekdaysRegex)},_a.weekdaysShortRegex=function(X){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Li.call(this),X?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Er),this._weekdaysShortStrictRegex&&X?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},_a.weekdaysMinRegex=function(X){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Li.call(this),X?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=st),this._weekdaysMinStrictRegex&&X?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},_a.isPM=function(X){return"p"===(X+"").toLowerCase().charAt(0)},_a.meridiem=function(X,me,yt){return X>11?yt?"pm":"PM":yt?"am":"AM"},an("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(X){var me=X%10;return X+(1===$n(X%100/10)?"th":1===me?"st":2===me?"nd":3===me?"rd":"th")}}),e.lang=ne("moment.lang is deprecated. Use moment.locale instead.",an),e.langData=ne("moment.langData is deprecated. Use moment.localeData instead.",ye);var tl=Math.abs;function bc(X,me,yt,qt){var xn=Ao(me,yt);return X._milliseconds+=qt*xn._milliseconds,X._days+=qt*xn._days,X._months+=qt*xn._months,X._bubble()}function Jl(X){return X<0?Math.floor(X):Math.ceil(X)}function yl(X){return 4800*X/146097}function El(X){return 146097*X/4800}function N(X){return function(){return this.as(X)}}var $=N("ms"),Q=N("s"),de=N("m"),ve=N("h"),qe=N("d"),De=N("w"),_t=N("M"),Yt=N("Q"),Zt=N("y");function sr(X){return function(){return this.isValid()?this._data[X]:NaN}}var Tr=sr("milliseconds"),Yr=sr("seconds"),Pi=sr("minutes"),yo=sr("hours"),Co=sr("days"),Xo=sr("months"),ts=sr("years");var Ts=Math.round,Ms={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function xs(X,me,yt,qt,xn){return xn.relativeTime(me||1,!!yt,X,qt)}var rl=Math.abs;function Gl(X){return(X>0)-(X<0)||+X}function _c(){if(!this.isValid())return this.localeData().invalidDate();var qt,xn,Ar,xi,aa,za,gc,Ql,X=rl(this._milliseconds)/1e3,me=rl(this._days),yt=rl(this._months),fs=this.asSeconds();return fs?(qt=Sn(X/60),xn=Sn(qt/60),X%=60,qt%=60,Ar=Sn(yt/12),yt%=12,xi=X?X.toFixed(3).replace(/\.?0+$/,""):"",aa=fs<0?"-":"",za=Gl(this._months)!==Gl(fs)?"-":"",gc=Gl(this._days)!==Gl(fs)?"-":"",Ql=Gl(this._milliseconds)!==Gl(fs)?"-":"",aa+"P"+(Ar?za+Ar+"Y":"")+(yt?za+yt+"M":"")+(me?gc+me+"D":"")+(xn||qt||X?"T":"")+(xn?Ql+xn+"H":"")+(qt?Ql+qt+"M":"")+(X?Ql+xi+"S":"")):"P0D"}var $s=Ui.prototype;return $s.isValid=function(){return this._isValid},$s.abs=function(){var X=this._data;return this._milliseconds=tl(this._milliseconds),this._days=tl(this._days),this._months=tl(this._months),X.milliseconds=tl(X.milliseconds),X.seconds=tl(X.seconds),X.minutes=tl(X.minutes),X.hours=tl(X.hours),X.months=tl(X.months),X.years=tl(X.years),this},$s.add=function(X,me){return bc(this,X,me,1)},$s.subtract=function(X,me){return bc(this,X,me,-1)},$s.as=function(X){if(!this.isValid())return NaN;var me,yt,qt=this._milliseconds;if("month"===(X=Yn(X))||"quarter"===X||"year"===X)switch(me=this._days+qt/864e5,yt=this._months+yl(me),X){case"month":return yt;case"quarter":return yt/3;case"year":return yt/12}else switch(me=this._days+Math.round(El(this._months)),X){case"week":return me/7+qt/6048e5;case"day":return me+qt/864e5;case"hour":return 24*me+qt/36e5;case"minute":return 1440*me+qt/6e4;case"second":return 86400*me+qt/1e3;case"millisecond":return Math.floor(864e5*me)+qt;default:throw new Error("Unknown unit "+X)}},$s.asMilliseconds=$,$s.asSeconds=Q,$s.asMinutes=de,$s.asHours=ve,$s.asDays=qe,$s.asWeeks=De,$s.asMonths=_t,$s.asQuarters=Yt,$s.asYears=Zt,$s.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*$n(this._months/12):NaN},$s._bubble=function(){var xn,Ar,xi,fs,aa,X=this._milliseconds,me=this._days,yt=this._months,qt=this._data;return X>=0&&me>=0&&yt>=0||X<=0&&me<=0&&yt<=0||(X+=864e5*Jl(El(yt)+me),me=0,yt=0),qt.milliseconds=X%1e3,xn=Sn(X/1e3),qt.seconds=xn%60,Ar=Sn(xn/60),qt.minutes=Ar%60,xi=Sn(Ar/60),qt.hours=xi%24,me+=Sn(xi/24),yt+=aa=Sn(yl(me)),me-=Jl(El(aa)),fs=Sn(yt/12),yt%=12,qt.days=me,qt.months=yt,qt.years=fs,this},$s.clone=function(){return Ao(this)},$s.get=function(X){return X=Yn(X),this.isValid()?this[X+"s"]():NaN},$s.milliseconds=Tr,$s.seconds=Yr,$s.minutes=Pi,$s.hours=yo,$s.days=Co,$s.weeks=function(){return Sn(this.days()/7)},$s.months=Xo,$s.years=ts,$s.humanize=function(X,me){if(!this.isValid())return this.localeData().invalidDate();var xn,Ar,yt=!1,qt=Ms;return"object"==typeof X&&(me=X,X=!1),"boolean"==typeof X&&(yt=X),"object"==typeof me&&(qt=Object.assign({},Ms,me),null!=me.s&&null==me.ss&&(qt.ss=me.s-1)),Ar=function(X,me,yt,qt){var xn=Ao(X).abs(),Ar=Ts(xn.as("s")),xi=Ts(xn.as("m")),fs=Ts(xn.as("h")),aa=Ts(xn.as("d")),za=Ts(xn.as("M")),gc=Ts(xn.as("w")),Ql=Ts(xn.as("y")),Ec=Ar<=yt.ss&&["s",Ar]||Ar<yt.s&&["ss",Ar]||xi<=1&&["m"]||xi<yt.m&&["mm",xi]||fs<=1&&["h"]||fs<yt.h&&["hh",fs]||aa<=1&&["d"]||aa<yt.d&&["dd",aa];return null!=yt.w&&(Ec=Ec||gc<=1&&["w"]||gc<yt.w&&["ww",gc]),(Ec=Ec||za<=1&&["M"]||za<yt.M&&["MM",za]||Ql<=1&&["y"]||["yy",Ql])[2]=me,Ec[3]=+X>0,Ec[4]=qt,xs.apply(null,Ec)}(this,!yt,qt,xn=this.localeData()),yt&&(Ar=xn.pastFuture(+this,Ar)),xn.postformat(Ar)},$s.toISOString=_c,$s.toString=_c,$s.toJSON=_c,$s.locale=ge,$s.localeData=Be,$s.toIsoString=ne("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",_c),$s.lang=Re,St("X",0,0,"unix"),St("x",0,0,"valueOf"),ot("x",Ue),ot("X",/[+-]?\d+(\.\d{1,3})?/),ir("X",function(X,me,yt){yt._d=new Date(1e3*parseFloat(X))}),ir("x",function(X,me,yt){yt._d=new Date($n(X))}),e.version="2.29.1",t=kt,e.fn=ki,e.min=function(){return gn("isBefore",[].slice.call(arguments,0))},e.max=function(){return gn("isAfter",[].slice.call(arguments,0))},e.now=function(){return Date.now?Date.now():+new Date},e.utc=x,e.unix=function(X){return kt(1e3*X)},e.months=function(X,me){return cc(X,me,"months")},e.isDate=b,e.locale=an,e.invalid=M,e.duration=Ao,e.isMoment=oe,e.weekdays=function(X,me,yt){return Ac(X,me,yt,"weekdays")},e.parseZone=function(){return kt.apply(null,arguments).parseZone()},e.localeData=ye,e.isDuration=io,e.monthsShort=function(X,me){return cc(X,me,"monthsShort")},e.weekdaysMin=function(X,me,yt){return Ac(X,me,yt,"weekdaysMin")},e.defineLocale=Nt,e.updateLocale=function(X,me){if(null!=me){var yt,qt,xn=sa;null!=Fo[X]&&null!=Fo[X].parentLocale?Fo[X].set(Oe(Fo[X]._config,me)):(null!=(qt=pt(X))&&(xn=qt._config),me=Oe(xn,me),null==qt&&(me.abbr=X),(yt=new be(me)).parentLocale=Fo[X],Fo[X]=yt),an(X)}else null!=Fo[X]&&(null!=Fo[X].parentLocale?(Fo[X]=Fo[X].parentLocale,X===an()&&an(X)):null!=Fo[X]&&delete Fo[X]);return Fo[X]},e.locales=function(){return ue(Fo)},e.weekdaysShort=function(X,me,yt){return Ac(X,me,yt,"weekdaysShort")},e.normalizeUnits=Yn,e.relativeTimeRounding=function(X){return void 0===X?Ts:"function"==typeof X&&(Ts=X,!0)},e.relativeTimeThreshold=function(X,me){return void 0!==Ms[X]&&(void 0===me?Ms[X]:(Ms[X]=me,"s"===X&&(Ms.ss=me-1),!0))},e.calendarFormat=function(X,me){var yt=X.diff(me,"days",!0);return yt<-6?"sameElse":yt<-1?"lastWeek":yt<0?"lastDay":yt<1?"sameDay":yt<2?"nextDay":yt<7?"nextWeek":"sameElse"},e.prototype=ki,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},e}()},11971:(Ge,g,o)=>{"use strict";o.d(g,{_:()=>u,w:()=>_});var t=o(74788),e=o(12057),s=function(m,b,C,D){var H,x=arguments.length,j=x<3?b:null===D?D=Object.getOwnPropertyDescriptor(b,C):D;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)j=Reflect.decorate(m,b,C,D);else for(var z=m.length-1;z>=0;z--)(H=m[z])&&(j=(x<3?H(j):x>3?H(b,C,j):H(b,C))||j);return x>3&&j&&Object.defineProperty(b,C,j),j},a=function(m,b){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(m,b)},l=function(m,b){return function(C,D){b(C,D,m)}},u=function(){function m(b,C,D){this._el=b,this._ngZone=C,this.platformId=D,this.clickOutsideEnabled=!0,this.attachOutsideOnClick=!1,this.delayClickOutsideInit=!1,this.emitOnBlur=!1,this.exclude="",this.excludeBeforeClick=!1,this.clickOutsideEvents="",this.clickOutside=new t.vpe,this._nodesExcluded=[],this._events=["click"],this._initOnClickBody=this._initOnClickBody.bind(this),this._onClickBody=this._onClickBody.bind(this),this._onWindowBlur=this._onWindowBlur.bind(this)}return m.prototype.ngOnInit=function(){!(0,e.NF)(this.platformId)||this._init()},m.prototype.ngOnDestroy=function(){!(0,e.NF)(this.platformId)||(this._removeClickOutsideListener(),this._removeAttachOutsideOnClickListener(),this._removeWindowBlurListener())},m.prototype.ngOnChanges=function(b){!(0,e.NF)(this.platformId)||(b.attachOutsideOnClick||b.exclude||b.emitOnBlur)&&this._init()},m.prototype._init=function(){""!==this.clickOutsideEvents&&(this._events=this.clickOutsideEvents.split(",").map(function(b){return b.trim()})),this._excludeCheck(),this.attachOutsideOnClick?this._initAttachOutsideOnClickListener():this._initOnClickBody(),this.emitOnBlur&&this._initWindowBlurListener()},m.prototype._initOnClickBody=function(){this.delayClickOutsideInit?setTimeout(this._initClickOutsideListener.bind(this)):this._initClickOutsideListener()},m.prototype._excludeCheck=function(){if(this.exclude)try{var b=Array.from(document.querySelectorAll(this.exclude));b&&(this._nodesExcluded=b)}catch(C){console.error("[ng-click-outside] Check your exclude selector syntax.",C)}},m.prototype._onClickBody=function(b){!this.clickOutsideEnabled||(this.excludeBeforeClick&&this._excludeCheck(),!this._el.nativeElement.contains(b.target)&&!this._shouldExclude(b.target)&&(this._emit(b),this.attachOutsideOnClick&&this._removeClickOutsideListener()))},m.prototype._onWindowBlur=function(b){var C=this;setTimeout(function(){document.hidden||C._emit(b)})},m.prototype._emit=function(b){var C=this;!this.clickOutsideEnabled||this._ngZone.run(function(){return C.clickOutside.emit(b)})},m.prototype._shouldExclude=function(b){for(var C=0,D=this._nodesExcluded;C<D.length;C++)if(D[C].contains(b))return!0;return!1},m.prototype._initClickOutsideListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){b._events.forEach(function(C){return document.addEventListener(C,b._onClickBody)})})},m.prototype._removeClickOutsideListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){b._events.forEach(function(C){return document.removeEventListener(C,b._onClickBody)})})},m.prototype._initAttachOutsideOnClickListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){b._events.forEach(function(C){return b._el.nativeElement.addEventListener(C,b._initOnClickBody)})})},m.prototype._removeAttachOutsideOnClickListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){b._events.forEach(function(C){return b._el.nativeElement.removeEventListener(C,b._initOnClickBody)})})},m.prototype._initWindowBlurListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){window.addEventListener("blur",b._onWindowBlur)})},m.prototype._removeWindowBlurListener=function(){var b=this;this._ngZone.runOutsideAngular(function(){window.removeEventListener("blur",b._onWindowBlur)})},s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"clickOutsideEnabled",void 0),s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"attachOutsideOnClick",void 0),s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"delayClickOutsideInit",void 0),s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"emitOnBlur",void 0),s([(0,t.IIB)(),a("design:type",String)],m.prototype,"exclude",void 0),s([(0,t.IIB)(),a("design:type",Boolean)],m.prototype,"excludeBeforeClick",void 0),s([(0,t.IIB)(),a("design:type",String)],m.prototype,"clickOutsideEvents",void 0),s([(0,t.r_U)(),a("design:type",t.vpe)],m.prototype,"clickOutside",void 0),(m=s([l(2,(0,t.tBr)(t.Lbi)),a("design:paramtypes",[t.SBq,t.R0b,Object])],m)).\u0275fac=function(C){return new(C||m)(t.Y36(t.SBq),t.Y36(t.R0b),t.Y36(t.Lbi))},m.\u0275dir=t.lG2({type:m,selectors:[["","clickOutside",""]],inputs:{clickOutsideEnabled:"clickOutsideEnabled",attachOutsideOnClick:"attachOutsideOnClick",delayClickOutsideInit:"delayClickOutsideInit",emitOnBlur:"emitOnBlur",exclude:"exclude",excludeBeforeClick:"excludeBeforeClick",clickOutsideEvents:"clickOutsideEvents"},outputs:{clickOutside:"clickOutside"},features:[t.TTD]}),m.\u0275prov=t.Yz7({token:m,factory:function(b){return m.\u0275fac(b)}}),m}(),_=function(){function m(){}return m.\u0275fac=function(C){return new(C||m)},m.\u0275mod=t.oAB({type:m}),m.\u0275inj=t.cJS({}),m}()},7194:(Ge,g,o)=>{"use strict";o.d(g,{jh:()=>oe,m9:()=>fe});var t=o(74788),e=o(26215),s=o(57765);var _=o(6823);const m=[[255,99,132],[54,162,235],[255,206,86],[231,233,237],[75,192,192],[151,187,205],[220,220,220],[247,70,74],[70,191,189],[253,180,92],[148,159,177],[77,83,96]];function C(Me,Oe){return"rgba("+Me.concat(Oe).join(",")+")"}function D(Me,Oe){return Math.floor(Math.random()*(Oe-Me+1))+Me}function H(Me){return{backgroundColor:Me.map(Oe=>C(Oe,.6)),borderColor:Me.map(()=>"#fff"),pointBackgroundColor:Me.map(Oe=>C(Oe,1)),pointBorderColor:Me.map(()=>"#fff"),pointHoverBackgroundColor:Me.map(Oe=>C(Oe,1)),pointHoverBorderColor:Me.map(Oe=>C(Oe,1))}}function U(){return[D(0,255),D(0,255),D(0,255)]}function M(Me){return m[Me]||U()}function I(Me){const Oe=new Array(Me);for(let be=0;be<Me;be++)Oe[be]=m[be]||U();return Oe}let J=(()=>{class Me{constructor(){this.pColorschemesOptions={},this.colorschemesOptions=new e.X({})}setColorschemesOptions(be){this.pColorschemesOptions=be,this.colorschemesOptions.next(be)}getColorschemesOptions(){return this.pColorschemesOptions}}return Me.\u0275fac=function(be){return new(be||Me)},Me.\u0275prov=(0,t.Yz7)({factory:function(){return new Me},token:Me,providedIn:"root"}),Me})();const ie={Default:0,Update:1,Refresh:2};ie[ie.Default]="Default",ie[ie.Update]="Update",ie[ie.Refresh]="Refresh";let oe=(()=>{class Me{constructor(be,ue){this.element=be,this.themeService=ue,this.options={},this.chartClick=new t.vpe,this.chartHover=new t.vpe,this.old={dataExists:!1,dataLength:0,datasetsExists:!1,datasetsLength:0,datasetsDataObjects:[],datasetsDataLengths:[],colorsExists:!1,colors:[],labelsExist:!1,labels:[],legendExists:!1,legend:{}},this.subs=[]}static registerPlugin(be){_.pluginService.register(be)}static unregisterPlugin(be){_.pluginService.unregister(be)}ngOnInit(){this.ctx=this.element.nativeElement.getContext("2d"),this.refresh(),this.subs.push(this.themeService.colorschemesOptions.subscribe(be=>this.themeChanged(be)))}themeChanged(be){this.refresh()}ngDoCheck(){if(!this.chart)return;let be=ie.Default;const ue=He=>{be=He>be?He:be};switch(!!this.data!==this.old.dataExists&&(this.propagateDataToDatasets(this.data),this.old.dataExists=!!this.data,ue(ie.Update)),this.data&&this.data.length!==this.old.dataLength&&(this.old.dataLength=this.data&&this.data.length||0,ue(ie.Update)),!!this.datasets!==this.old.datasetsExists&&(this.old.datasetsExists=!!this.datasets,ue(ie.Update)),this.datasets&&this.datasets.length!==this.old.datasetsLength&&(this.old.datasetsLength=this.datasets&&this.datasets.length||0,ue(ie.Update)),this.datasets&&this.datasets.filter((He,$e)=>He.data!==this.old.datasetsDataObjects[$e]).length&&(this.old.datasetsDataObjects=this.datasets.map(He=>He.data),ue(ie.Update)),this.datasets&&this.datasets.filter((He,$e)=>He.data.length!==this.old.datasetsDataLengths[$e]).length&&(this.old.datasetsDataLengths=this.datasets.map(He=>He.data.length),ue(ie.Update)),!!this.colors!==this.old.colorsExists&&(this.old.colorsExists=!!this.colors,this.updateColors(),ue(ie.Update)),this.colors&&this.colors.filter((He,$e)=>!this.colorsEqual(He,this.old.colors[$e])).length&&(this.old.colors=this.colors.map(He=>this.copyColor(He)),this.updateColors(),ue(ie.Update)),!!this.labels!==this.old.labelsExist&&(this.old.labelsExist=!!this.labels,ue(ie.Update)),this.labels&&this.labels.filter((He,$e)=>!this.labelsEqual(He,this.old.labels[$e])).length&&(this.old.labels=this.labels.map(He=>this.copyLabel(He)),ue(ie.Update)),!!this.options.legend!==this.old.legendExists&&(this.old.legendExists=!!this.options.legend,ue(ie.Refresh)),this.options.legend&&this.options.legend.position!==this.old.legend.position&&(this.old.legend.position=this.options.legend.position,ue(ie.Refresh)),be){case ie.Default:break;case ie.Update:this.update();break;case ie.Refresh:this.refresh()}}copyLabel(be){return Array.isArray(be)?[...be]:be}labelsEqual(be,ue){return Array.isArray(be)===Array.isArray(ue)&&(Array.isArray(be)||be===ue)&&(!Array.isArray(be)||be.length===ue.length)&&(!Array.isArray(be)||0===be.filter((He,$e)=>He!==ue[$e]).length)}copyColor(be){return{backgroundColor:be.backgroundColor,borderWidth:be.borderWidth,borderColor:be.borderColor,borderCapStyle:be.borderCapStyle,borderDash:be.borderDash,borderDashOffset:be.borderDashOffset,borderJoinStyle:be.borderJoinStyle,pointBorderColor:be.pointBorderColor,pointBackgroundColor:be.pointBackgroundColor,pointBorderWidth:be.pointBorderWidth,pointRadius:be.pointRadius,pointHoverRadius:be.pointHoverRadius,pointHitRadius:be.pointHitRadius,pointHoverBackgroundColor:be.pointHoverBackgroundColor,pointHoverBorderColor:be.pointHoverBorderColor,pointHoverBorderWidth:be.pointHoverBorderWidth,pointStyle:be.pointStyle,hoverBackgroundColor:be.hoverBackgroundColor,hoverBorderColor:be.hoverBorderColor,hoverBorderWidth:be.hoverBorderWidth}}colorsEqual(be,ue){return!be==!ue&&(!be||be.backgroundColor===ue.backgroundColor&&be.borderWidth===ue.borderWidth&&be.borderColor===ue.borderColor&&be.borderCapStyle===ue.borderCapStyle&&be.borderDash===ue.borderDash&&be.borderDashOffset===ue.borderDashOffset&&be.borderJoinStyle===ue.borderJoinStyle&&be.pointBorderColor===ue.pointBorderColor&&be.pointBackgroundColor===ue.pointBackgroundColor&&be.pointBorderWidth===ue.pointBorderWidth&&be.pointRadius===ue.pointRadius&&be.pointHoverRadius===ue.pointHoverRadius&&be.pointHitRadius===ue.pointHitRadius&&be.pointHoverBackgroundColor===ue.pointHoverBackgroundColor&&be.pointHoverBorderColor===ue.pointHoverBorderColor&&be.pointHoverBorderWidth===ue.pointHoverBorderWidth&&be.pointStyle===ue.pointStyle&&be.hoverBackgroundColor===ue.hoverBackgroundColor&&be.hoverBorderColor===ue.hoverBorderColor&&be.hoverBorderWidth===ue.hoverBorderWidth)}updateColors(){this.datasets.forEach((be,ue)=>{this.colors&&this.colors[ue]?Object.assign(be,this.colors[ue]):Object.assign(be,function(Me,Oe,be){if("pie"===Me||"doughnut"===Me)return H(I(be));if("polarArea"===Me)return function(Me){return{backgroundColor:Me.map(Oe=>C(Oe,.6)),borderColor:Me.map(Oe=>C(Oe,1)),hoverBackgroundColor:Me.map(Oe=>C(Oe,.8)),hoverBorderColor:Me.map(Oe=>C(Oe,1))}}(I(be));if("line"===Me||"radar"===Me)return function(Me){return{backgroundColor:C(Me,.4),borderColor:C(Me,1),pointBackgroundColor:C(Me,1),pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:C(Me,.8)}}(M(Oe));if("bar"===Me||"horizontalBar"===Me)return function(Me){return{backgroundColor:C(Me,.6),borderColor:C(Me,1),hoverBackgroundColor:C(Me,.8),hoverBorderColor:C(Me,1)}}(M(Oe));if("bubble"===Me||"scatter"===Me)return H(I(be));throw new Error(`getColors - Unsupported chart type ${Me}`)}(this.chartType,ue,be.data.length),Object.assign({},be))})}ngOnChanges(be){let ue=ie.Default;const He=$e=>{ue=$e>ue?$e:ue};switch(be.hasOwnProperty("data")&&be.data.currentValue&&(this.propagateDataToDatasets(be.data.currentValue),He(ie.Update)),be.hasOwnProperty("datasets")&&be.datasets.currentValue&&(this.propagateDatasetsToData(be.datasets.currentValue),He(ie.Update)),be.hasOwnProperty("labels")&&(this.chart&&(this.chart.data.labels=be.labels.currentValue),He(ie.Update)),be.hasOwnProperty("legend")&&(this.chart&&(this.chart.config.options.legend.display=be.legend.currentValue,this.chart.generateLegend()),He(ie.Update)),be.hasOwnProperty("options")&&He(ie.Refresh),ue){case ie.Update:this.update();break;case ie.Refresh:case ie.Default:this.refresh()}}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.subs.forEach(be=>be.unsubscribe())}update(be){if(this.chart)return this.chart.update(be)}hideDataset(be,ue){this.chart.getDatasetMeta(be).hidden=ue,this.chart.update()}isDatasetHidden(be){return this.chart.getDatasetMeta(be).hidden}toBase64Image(){return this.chart.toBase64Image()}getChartConfiguration(){const be=this.getDatasets(),ue=Object.assign({},this.options);!1===this.legend&&(ue.legend={display:!1}),ue.hover=ue.hover||{},ue.hover.onHover||(ue.hover.onHover=($e,F)=>{F&&!F.length||this.chartHover.emit({event:$e,active:F})}),ue.onClick||(ue.onClick=($e,F)=>{this.chartClick.emit({event:$e,active:F})});const He=this.smartMerge(ue,this.themeService.getColorschemesOptions());return{type:this.chartType,data:{labels:this.labels||[],datasets:be},plugins:this.plugins,options:He}}getChartBuilder(be){const ue=this.getChartConfiguration();return new _.Chart(be,ue)}smartMerge(be,ue,He=0){if(0===He&&(be=function(Me){return(0,s.Z)(Me,5)}(be)),Object.keys(ue).forEach(F=>{if(Array.isArray(ue[F])){const je=be[F];je&&je.forEach(Et=>{this.smartMerge(Et,ue[F][0],He+1)})}else"object"==typeof ue[F]?(F in be||(be[F]={}),this.smartMerge(be[F],ue[F],He+1)):be[F]=ue[F]}),0===He)return be}isMultiLineLabel(be){return Array.isArray(be)}joinLabel(be){return be?this.isMultiLineLabel(be)?be.join(" "):be:null}propagateDatasetsToData(be){this.data=this.datasets.map(ue=>ue.data),this.chart&&(this.chart.data.datasets=be),this.updateColors()}propagateDataToDatasets(be){this.isMultiDataSet(be)?this.datasets&&be.length===this.datasets.length?this.datasets.forEach((ue,He)=>{ue.data=be[He]}):(this.datasets=be.map((ue,He)=>({data:ue,label:this.joinLabel(this.labels[He])||`Label ${He}`})),this.chart&&(this.chart.data.datasets=this.datasets)):this.datasets?(this.datasets[0]||(this.datasets[0]={}),this.datasets[0].data=be,this.datasets.splice(1)):(this.datasets=[{data:be}],this.chart&&(this.chart.data.datasets=this.datasets)),this.updateColors()}isMultiDataSet(be){return Array.isArray(be[0])}getDatasets(){if(!this.datasets&&!this.data)throw new Error(`ng-charts configuration error, data or datasets field are required to render chart ${this.chartType}`);return this.datasets?(this.propagateDatasetsToData(this.datasets),this.datasets):this.data?(this.propagateDataToDatasets(this.data),this.datasets):void 0}refresh(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.ctx&&(this.chart=this.getChartBuilder(this.ctx))}}return Me.\u0275fac=function(be){return new(be||Me)(t.Y36(t.SBq),t.Y36(J))},Me.\u0275dir=t.lG2({type:Me,selectors:[["canvas","baseChart",""]],inputs:{options:"options",data:"data",datasets:"datasets",labels:"labels",chartType:"chartType",colors:"colors",legend:"legend",plugins:"plugins"},outputs:{chartClick:"chartClick",chartHover:"chartHover"},exportAs:["base-chart"],features:[t.TTD]}),Me})(),fe=(()=>{class Me{}return Me.\u0275fac=function(be){return new(be||Me)},Me.\u0275mod=t.oAB({type:Me}),Me.\u0275inj=t.cJS({imports:[[]]}),Me})()},37496:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>s,i:()=>e});var t=o(74788);let e=(()=>{class a{transform(u,h,_){return _?h.call(_,u):h(u)}}return a.\u0275fac=function(u){return new(u||a)},a.\u0275pipe=t.Yjl({name:"pipeFunction",type:a,pure:!0}),a})(),s=(()=>{class a{}return a.\u0275fac=function(u){return new(u||a)},a.\u0275mod=t.oAB({type:a}),a.\u0275inj=t.cJS({}),a})()},91376:(Ge,g,o)=>{"use strict";o.d(g,{Rh:()=>F,_W:()=>ue});var t=o(74788),e=o(56083),s=o(79765),a=o(91211),l=o(12057);const u=["toast-component",""];function h(St,At){if(1&St){const Qe=t.EpF();t.TgZ(0,"button",5),t.NdJ("click",function(){return t.CHM(Qe),t.oxw().remove()}),t.TgZ(1,"span",6),t._uU(2,"\xd7"),t.qZA(),t.qZA()}}function _(St,At){if(1&St&&(t.ynx(0),t._uU(1),t.BQk()),2&St){const Qe=t.oxw(2);t.xp6(1),t.hij("[",Qe.duplicatesCount+1,"]")}}function m(St,At){if(1&St&&(t.TgZ(0,"div"),t._uU(1),t.YNc(2,_,2,1,"ng-container",4),t.qZA()),2&St){const Qe=t.oxw();t.Tol(Qe.options.titleClass),t.uIk("aria-label",Qe.title),t.xp6(1),t.hij(" ",Qe.title," "),t.xp6(1),t.Q6J("ngIf",Qe.duplicatesCount)}}function b(St,At){if(1&St&&t._UZ(0,"div",7),2&St){const Qe=t.oxw();t.Tol(Qe.options.messageClass),t.Q6J("innerHTML",Qe.message,t.oJD)}}function C(St,At){if(1&St&&(t.TgZ(0,"div",8),t._uU(1),t.qZA()),2&St){const Qe=t.oxw();t.Tol(Qe.options.messageClass),t.uIk("aria-label",Qe.message),t.xp6(1),t.hij(" ",Qe.message," ")}}function D(St,At){if(1&St&&(t.TgZ(0,"div"),t._UZ(1,"div",9),t.qZA()),2&St){const Qe=t.oxw();t.xp6(1),t.Udp("width",Qe.width+"%")}}function x(St,At){if(1&St){const Qe=t.EpF();t.TgZ(0,"button",5),t.NdJ("click",function(){return t.CHM(Qe),t.oxw().remove()}),t.TgZ(1,"span",6),t._uU(2,"\xd7"),t.qZA(),t.qZA()}}function j(St,At){if(1&St&&(t.ynx(0),t._uU(1),t.BQk()),2&St){const Qe=t.oxw(2);t.xp6(1),t.hij("[",Qe.duplicatesCount+1,"]")}}function H(St,At){if(1&St&&(t.TgZ(0,"div"),t._uU(1),t.YNc(2,j,2,1,"ng-container",4),t.qZA()),2&St){const Qe=t.oxw();t.Tol(Qe.options.titleClass),t.uIk("aria-label",Qe.title),t.xp6(1),t.hij(" ",Qe.title," "),t.xp6(1),t.Q6J("ngIf",Qe.duplicatesCount)}}function z(St,At){if(1&St&&t._UZ(0,"div",7),2&St){const Qe=t.oxw();t.Tol(Qe.options.messageClass),t.Q6J("innerHTML",Qe.message,t.oJD)}}function U(St,At){if(1&St&&(t.TgZ(0,"div",8),t._uU(1),t.qZA()),2&St){const Qe=t.oxw();t.Tol(Qe.options.messageClass),t.uIk("aria-label",Qe.message),t.xp6(1),t.hij(" ",Qe.message," ")}}function M(St,At){if(1&St&&(t.TgZ(0,"div"),t._UZ(1,"div",9),t.qZA()),2&St){const Qe=t.oxw();t.xp6(1),t.Udp("width",Qe.width+"%")}}class Y{constructor(At,Qe,It,ae,Ie,dt){this.toastId=At,this.config=Qe,this.message=It,this.title=ae,this.toastType=Ie,this.toastRef=dt,this._onTap=new s.xQ,this._onAction=new s.xQ,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(At){this._onAction.next(At)}onAction(){return this._onAction.asObservable()}}const ie={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing",payload:null},oe=new t.OlP("ToastConfig");class fe{constructor(At,Qe){this.component=At,this.injector=Qe}attach(At,Qe){return this._attachedHost=At,At.attach(this,Qe)}detach(){const At=this._attachedHost;if(At)return this._attachedHost=void 0,At.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(At){this._attachedHost=At}}class he extends class{attach(At,Qe){return this._attachedPortal=At,this.attachComponentPortal(At,Qe)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(At){this._disposeFn=At}}{constructor(At,Qe,It){super(),this._hostDomElement=At,this._componentFactoryResolver=Qe,this._appRef=It}attachComponentPortal(At,Qe){const It=this._componentFactoryResolver.resolveComponentFactory(At.component);let ae;return ae=It.create(At.injector),this._appRef.attachView(ae.hostView),this.setDisposeFn(()=>{this._appRef.detachView(ae.hostView),ae.destroy()}),Qe?this._hostDomElement.insertBefore(this._getComponentRootNode(ae),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(ae)),ae}_getComponentRootNode(At){return At.hostView.rootNodes[0]}}let ce=(()=>{class St{constructor(Qe){this._document=Qe}ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const Qe=this._document.createElement("div");Qe.classList.add("overlay-container"),this._document.body.appendChild(Qe),this._containerElement=Qe}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.LFG(l.K0))},St.\u0275prov=t.Yz7({factory:function(){return new St(t.LFG(l.K0))},token:St,providedIn:"root"}),St})();class Ae{constructor(At){this._portalHost=At}attach(At,Qe=!0){return this._portalHost.attach(At,Qe)}detach(){return this._portalHost.detach()}}let Me=(()=>{class St{constructor(Qe,It,ae,Ie){this._overlayContainer=Qe,this._componentFactoryResolver=It,this._appRef=ae,this._document=Ie,this._paneElements=new Map}create(Qe,It){return this._createOverlayRef(this.getPaneElement(Qe,It))}getPaneElement(Qe="",It){return this._paneElements.get(It)||this._paneElements.set(It,{}),this._paneElements.get(It)[Qe]||(this._paneElements.get(It)[Qe]=this._createPaneElement(Qe,It)),this._paneElements.get(It)[Qe]}_createPaneElement(Qe,It){const ae=this._document.createElement("div");return ae.id="toast-container",ae.classList.add(Qe),ae.classList.add("toast-container"),It?It.getContainerElement().appendChild(ae):this._overlayContainer.getContainerElement().appendChild(ae),ae}_createPortalHost(Qe){return new he(Qe,this._componentFactoryResolver,this._appRef)}_createOverlayRef(Qe){return new Ae(this._createPortalHost(Qe))}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.LFG(ce),t.LFG(t._Vd),t.LFG(t.z2F),t.LFG(l.K0))},St.\u0275prov=t.Yz7({factory:function(){return new St(t.LFG(ce),t.LFG(t._Vd),t.LFG(t.z2F),t.LFG(l.K0))},token:St,providedIn:"root"}),St})();class Oe{constructor(At){this._overlayRef=At,this.duplicatesCount=0,this._afterClosed=new s.xQ,this._activate=new s.xQ,this._manualClose=new s.xQ,this._resetTimeout=new s.xQ,this._countDuplicate=new s.xQ}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(At,Qe){At&&this._resetTimeout.next(),Qe&&this._countDuplicate.next(++this.duplicatesCount)}}class be{constructor(At,Qe){this._toastPackage=At,this._parentInjector=Qe}get(At,Qe,It){return At===Y?this._toastPackage:this._parentInjector.get(At,Qe,It)}}let ue=(()=>{class St{constructor(Qe,It,ae,Ie,dt){this.overlay=It,this._injector=ae,this.sanitizer=Ie,this.ngZone=dt,this.currentlyActive=0,this.toasts=[],this.index=0,this.toastrConfig=Object.assign(Object.assign({},Qe.default),Qe.config),Qe.config.iconClasses&&(this.toastrConfig.iconClasses=Object.assign(Object.assign({},Qe.default.iconClasses),Qe.config.iconClasses))}show(Qe,It,ae={},Ie=""){return this._preBuildNotification(Ie,Qe,It,this.applyConfig(ae))}success(Qe,It,ae={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",Qe,It,this.applyConfig(ae))}error(Qe,It,ae={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",Qe,It,this.applyConfig(ae))}info(Qe,It,ae={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",Qe,It,this.applyConfig(ae))}warning(Qe,It,ae={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",Qe,It,this.applyConfig(ae))}clear(Qe){for(const It of this.toasts)if(void 0!==Qe){if(It.toastId===Qe)return void It.toastRef.manualClose()}else It.toastRef.manualClose()}remove(Qe){const It=this._findToast(Qe);if(!It||(It.activeToast.toastRef.close(),this.toasts.splice(It.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){const ae=this.toasts[this.currentlyActive].toastRef;ae.isInactive()||(this.currentlyActive=this.currentlyActive+1,ae.activate())}return!0}findDuplicate(Qe="",It="",ae,Ie){const{includeTitleDuplicates:dt}=this.toastrConfig;for(const Jt of this.toasts){const zt=dt&&Jt.title===Qe;if((!dt||zt)&&Jt.message===It)return Jt.toastRef.onDuplicate(ae,Ie),Jt}return null}applyConfig(Qe={}){return Object.assign(Object.assign({},this.toastrConfig),Qe)}_findToast(Qe){for(let It=0;It<this.toasts.length;It++)if(this.toasts[It].toastId===Qe)return{index:It,activeToast:this.toasts[It]};return null}_preBuildNotification(Qe,It,ae,Ie){return Ie.onActivateTick?this.ngZone.run(()=>this._buildNotification(Qe,It,ae,Ie)):this._buildNotification(Qe,It,ae,Ie)}_buildNotification(Qe,It,ae,Ie){if(!Ie.toastComponent)throw new Error("toastComponent required");const dt=this.findDuplicate(ae,It,this.toastrConfig.resetTimeoutOnDuplicate&&Ie.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&ae||It)&&this.toastrConfig.preventDuplicates&&null!==dt)return dt;this.previousToastMessage=It;let Jt=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(Jt=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const zt=this.overlay.create(Ie.positionClass,this.overlayContainer);this.index=this.index+1;let ln=It;It&&Ie.enableHtml&&(ln=this.sanitizer.sanitize(t.q3G.HTML,It));const ar=new Oe(zt),Ln=new Y(this.index,Ie,ln,ae,Qe,ar),Rn=new be(Ln,this._injector),er=new fe(Ie.toastComponent,Rn),Mn=zt.attach(er,this.toastrConfig.newestOnTop);ar.componentInstance=Mn.instance;const Ht={toastId:this.index,title:ae||"",message:It||"",toastRef:ar,onShown:ar.afterActivate(),onHidden:ar.afterClosed(),onTap:Ln.onTap(),onAction:Ln.onAction(),portal:Mn};return Jt||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{Ht.toastRef.activate()})),this.toasts.push(Ht),Ht}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.LFG(oe),t.LFG(Me),t.LFG(t.zs3),t.LFG(a.H7),t.LFG(t.R0b))},St.\u0275prov=t.Yz7({factory:function(){return new St(t.LFG(oe),t.LFG(Me),t.LFG(t.gxx),t.LFG(a.H7),t.LFG(t.R0b))},token:St,providedIn:"root"}),St})(),He=(()=>{class St{constructor(Qe,It,ae){this.toastrService=Qe,this.toastPackage=It,this.ngZone=ae,this.width=-1,this.toastClasses="",this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}},this.message=It.message,this.title=It.title,this.options=It.config,this.originalTimeout=It.config.timeOut,this.toastClasses=`${It.toastType} ${It.config.toastClass}`,this.sub=It.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=It.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=It.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=It.toastRef.countDuplicate().subscribe(Ie=>{this.duplicatesCount=Ie})}get displayStyle(){if("inactive"===this.state.value)return"none"}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state=Object.assign(Object.assign({},this.state),{value:"active"}),!0!==this.options.disableTimeOut&&"timeOut"!==this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const Qe=(new Date).getTime();this.width=(this.hideTime-Qe)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state=Object.assign(Object.assign({},this.state),{value:"active"}),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state=Object.assign(Object.assign({},this.state),{value:"removed"}),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(Qe,It){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(Qe),It)):this.timeout=setTimeout(()=>Qe(),It)}outsideInterval(Qe,It){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(Qe),It)):this.intervalId=setInterval(()=>Qe(),It)}runInsideAngular(Qe){this.ngZone?this.ngZone.run(()=>Qe()):Qe()}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.Y36(ue),t.Y36(Y),t.Y36(t.R0b))},St.\u0275cmp=t.Xpm({type:St,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(Qe,It){1&Qe&&t.NdJ("click",function(){return It.tapToast()})("mouseenter",function(){return It.stickAround()})("mouseleave",function(){return It.delayedHideToast()}),2&Qe&&(t.d8E("@flyInOut",It.state),t.Tol(It.toastClasses),t.Udp("display",It.displayStyle))},attrs:u,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alertdialog","aria-live","polite",3,"class","innerHTML",4,"ngIf"],["role","alertdialog","aria-live","polite",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alertdialog","aria-live","polite",3,"innerHTML"],["role","alertdialog","aria-live","polite"],[1,"toast-progress"]],template:function(Qe,It){1&Qe&&(t.YNc(0,h,3,0,"button",0),t.YNc(1,m,3,5,"div",1),t.YNc(2,b,1,3,"div",2),t.YNc(3,C,2,4,"div",3),t.YNc(4,D,2,2,"div",4)),2&Qe&&(t.Q6J("ngIf",It.options.closeButton),t.xp6(1),t.Q6J("ngIf",It.title),t.xp6(1),t.Q6J("ngIf",It.message&&It.options.enableHtml),t.xp6(1),t.Q6J("ngIf",It.message&&!It.options.enableHtml),t.xp6(1),t.Q6J("ngIf",It.options.progressBar))},directives:[l.O5],encapsulation:2,data:{animation:[(0,e.X$)("flyInOut",[(0,e.SB)("inactive",(0,e.oB)({opacity:0})),(0,e.SB)("active",(0,e.oB)({opacity:1})),(0,e.SB)("removed",(0,e.oB)({opacity:0})),(0,e.eR)("inactive => active",(0,e.jt)("{{ easeTime }}ms {{ easing }}")),(0,e.eR)("active => removed",(0,e.jt)("{{ easeTime }}ms {{ easing }}"))])]}}),St})();const $e=Object.assign(Object.assign({},ie),{toastComponent:He});let F=(()=>{class St{static forRoot(Qe={}){return{ngModule:St,providers:[{provide:oe,useValue:{default:$e,config:Qe}}]}}}return St.\u0275fac=function(Qe){return new(Qe||St)},St.\u0275mod=t.oAB({type:St}),St.\u0275inj=t.cJS({imports:[[l.ez]]}),St})(),Et=(()=>{class St{constructor(Qe,It,ae){this.toastrService=Qe,this.toastPackage=It,this.appRef=ae,this.width=-1,this.toastClasses="",this.state="inactive",this.message=It.message,this.title=It.title,this.options=It.config,this.originalTimeout=It.config.timeOut,this.toastClasses=`${It.toastType} ${It.config.toastClass}`,this.sub=It.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=It.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=It.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=It.toastRef.countDuplicate().subscribe(Ie=>{this.duplicatesCount=Ie})}get displayStyle(){if("inactive"===this.state)return"none"}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state="active",!(!0===this.options.disableTimeOut||"timeOut"===this.options.disableTimeOut)&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const Qe=(new Date).getTime();this.width=(this.hideTime-Qe)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state="active",this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=(new Date).getTime()+(this.originalTimeout||0),this.width=-1,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){"removed"!==this.state&&(clearTimeout(this.timeout),this.state="removed",this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){"removed"!==this.state&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}}return St.\u0275fac=function(Qe){return new(Qe||St)(t.Y36(ue),t.Y36(Y),t.Y36(t.z2F))},St.\u0275cmp=t.Xpm({type:St,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(Qe,It){1&Qe&&t.NdJ("click",function(){return It.tapToast()})("mouseenter",function(){return It.stickAround()})("mouseleave",function(){return It.delayedHideToast()}),2&Qe&&(t.Tol(It.toastClasses),t.Udp("display",It.displayStyle))},attrs:u,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert","aria-live","polite",3,"class","innerHTML",4,"ngIf"],["role","alert","aria-live","polite",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert","aria-live","polite",3,"innerHTML"],["role","alert","aria-live","polite"],[1,"toast-progress"]],template:function(Qe,It){1&Qe&&(t.YNc(0,x,3,0,"button",0),t.YNc(1,H,3,5,"div",1),t.YNc(2,z,1,3,"div",2),t.YNc(3,U,2,4,"div",3),t.YNc(4,M,2,2,"div",4)),2&Qe&&(t.Q6J("ngIf",It.options.closeButton),t.xp6(1),t.Q6J("ngIf",It.title),t.xp6(1),t.Q6J("ngIf",It.message&&It.options.enableHtml),t.xp6(1),t.Q6J("ngIf",It.message&&!It.options.enableHtml),t.xp6(1),t.Q6J("ngIf",It.options.progressBar))},directives:[l.O5],encapsulation:2}),St})();Object.assign(Object.assign({},ie),{toastComponent:Et})},26215:(Ge,g,o)=>{"use strict";o.d(g,{X:()=>s});var t=o(79765),e=o(77971);class s extends t.xQ{constructor(l){super(),this._value=l}get value(){return this.getValue()}_subscribe(l){const u=super._subscribe(l);return u&&!u.closed&&l.next(this._value),u}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new e.N;return this._value}next(l){super.next(this._value=l)}}},23098:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>l});var t=o(59193),e=o(25917),s=o(40205);class l{constructor(h,_,m){this.kind=h,this.value=_,this.error=m,this.hasValue="N"===h}observe(h){switch(this.kind){case"N":return h.next&&h.next(this.value);case"E":return h.error&&h.error(this.error);case"C":return h.complete&&h.complete()}}do(h,_,m){switch(this.kind){case"N":return h&&h(this.value);case"E":return _&&_(this.error);case"C":return m&&m()}}accept(h,_,m){return h&&"function"==typeof h.next?this.observe(h):this.do(h,_,m)}toObservable(){switch(this.kind){case"N":return(0,e.of)(this.value);case"E":return(0,s._)(this.error);case"C":return(0,t.c)()}throw new Error("unexpected notification kind value")}static createNext(h){return void 0!==h?new l("N",h):l.undefinedValueNotification}static createError(h){return new l("E",void 0,h)}static createComplete(){return l.completeNotification}}l.completeNotification=new l("C"),l.undefinedValueNotification=new l("N",void 0)},18891:(Ge,g,o)=>{"use strict";o.d(g,{y:()=>m});var t=o(77393),s=o(29181),a=o(46490),u=o(16554),h=o(34022),_=o(82494);let m=(()=>{class C{constructor(x){this._isScalar=!1,x&&(this._subscribe=x)}lift(x){const j=new C;return j.source=this,j.operator=x,j}subscribe(x,j,H){const{operator:z}=this,U=function(C,D,x){if(C){if(C instanceof t.L)return C;if(C[s.b])return C[s.b]()}return C||D||x?new t.L(C,D,x):new t.L(a.c)}(x,j,H);if(U.add(z?z.call(U,this.source):this.source||_.v.useDeprecatedSynchronousErrorHandling&&!U.syncErrorThrowable?this._subscribe(U):this._trySubscribe(U)),_.v.useDeprecatedSynchronousErrorHandling&&U.syncErrorThrowable&&(U.syncErrorThrowable=!1,U.syncErrorThrown))throw U.syncErrorValue;return U}_trySubscribe(x){try{return this._subscribe(x)}catch(j){_.v.useDeprecatedSynchronousErrorHandling&&(x.syncErrorThrown=!0,x.syncErrorValue=j),function(C){for(;C;){const{closed:D,destination:x,isStopped:j}=C;if(D||j)return!1;C=x&&x instanceof t.L?x:null}return!0}(x)?x.error(j):console.warn(j)}}forEach(x,j){return new(j=b(j))((H,z)=>{let U;U=this.subscribe(M=>{try{x(M)}catch(I){z(I),U&&U.unsubscribe()}},z,H)})}_subscribe(x){const{source:j}=this;return j&&j.subscribe(x)}[u.L](){return this}pipe(...x){return 0===x.length?this:(0,h.U)(x)(this)}toPromise(x){return new(x=b(x))((j,H)=>{let z;this.subscribe(U=>z=U,U=>H(U),()=>j(z))})}}return C.create=D=>new C(D),C})();function b(C){if(C||(C=_.v.Promise||Promise),!C)throw new Error("no Promise impl found");return C}},46490:(Ge,g,o)=>{"use strict";o.d(g,{c:()=>s});var t=o(82494),e=o(54449);const s={closed:!0,next(a){},error(a){if(t.v.useDeprecatedSynchronousErrorHandling)throw a;(0,e.z)(a)},complete(){}}},55197:(Ge,g,o)=>{"use strict";o.d(g,{L:()=>e});var t=o(77393);class e extends t.L{notifyNext(a,l,u,h,_){this.destination.next(l)}notifyError(a,l){this.destination.error(a)}notifyComplete(a){this.destination.complete()}}},80226:(Ge,g,o)=>{"use strict";o.d(g,{t:()=>D});var t=o(79765),e=o(36465),a=o(16102);const h=new class extends a.v{}(class extends e.o{constructor(H,z){super(H,z),this.scheduler=H,this.work=z}schedule(H,z=0){return z>0?super.schedule(H,z):(this.delay=z,this.state=H,this.scheduler.flush(this),this)}execute(H,z){return z>0||this.closed?super.execute(H,z):this._execute(H,z)}requestAsyncId(H,z,U=0){return null!==U&&U>0||null===U&&this.delay>0?super.requestAsyncId(H,z,U):H.flush(this)}});var _=o(75319),m=o(59746),b=o(77971),C=o(78858);class D extends t.xQ{constructor(H=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,U){super(),this.scheduler=U,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=H<1?1:H,this._windowTime=z<1?1:z,z===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(H){if(!this.isStopped){const z=this._events;z.push(H),z.length>this._bufferSize&&z.shift()}super.next(H)}nextTimeWindow(H){this.isStopped||(this._events.push(new x(this._getNow(),H)),this._trimBufferThenGetEvents()),super.next(H)}_subscribe(H){const z=this._infiniteTimeWindow,U=z?this._events:this._trimBufferThenGetEvents(),M=this.scheduler,I=U.length;let J;if(this.closed)throw new b.N;if(this.isStopped||this.hasError?J=_.w.EMPTY:(this.observers.push(H),J=new C.W(this,H)),M&&H.add(H=new m.ht(H,M)),z)for(let Y=0;Y<I&&!H.closed;Y++)H.next(U[Y]);else for(let Y=0;Y<I&&!H.closed;Y++)H.next(U[Y].value);return this.hasError?H.error(this.thrownError):this.isStopped&&H.complete(),J}_getNow(){return(this.scheduler||h).now()}_trimBufferThenGetEvents(){const H=this._getNow(),z=this._bufferSize,U=this._windowTime,M=this._events,I=M.length;let J=0;for(;J<I&&!(H-M[J].time<U);)J++;return I>z&&(J=Math.max(J,I-z)),J>0&&M.splice(0,J),M}}class x{constructor(H,z){this.time=H,this.value=z}}},79765:(Ge,g,o)=>{"use strict";o.d(g,{Yc:()=>h,xQ:()=>_});var t=o(18891),e=o(77393),s=o(75319),a=o(77971),l=o(78858),u=o(29181);class h extends e.L{constructor(C){super(C),this.destination=C}}let _=(()=>{class b extends t.y{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[u.b](){return new h(this)}lift(D){const x=new m(this,this);return x.operator=D,x}next(D){if(this.closed)throw new a.N;if(!this.isStopped){const{observers:x}=this,j=x.length,H=x.slice();for(let z=0;z<j;z++)H[z].next(D)}}error(D){if(this.closed)throw new a.N;this.hasError=!0,this.thrownError=D,this.isStopped=!0;const{observers:x}=this,j=x.length,H=x.slice();for(let z=0;z<j;z++)H[z].error(D);this.observers.length=0}complete(){if(this.closed)throw new a.N;this.isStopped=!0;const{observers:D}=this,x=D.length,j=D.slice();for(let H=0;H<x;H++)j[H].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(D){if(this.closed)throw new a.N;return super._trySubscribe(D)}_subscribe(D){if(this.closed)throw new a.N;return this.hasError?(D.error(this.thrownError),s.w.EMPTY):this.isStopped?(D.complete(),s.w.EMPTY):(this.observers.push(D),new l.W(this,D))}asObservable(){const D=new t.y;return D.source=this,D}}return b.create=(C,D)=>new m(C,D),b})();class m extends _{constructor(C,D){super(),this.destination=C,this.source=D}next(C){const{destination:D}=this;D&&D.next&&D.next(C)}error(C){const{destination:D}=this;D&&D.error&&this.destination.error(C)}complete(){const{destination:C}=this;C&&C.complete&&this.destination.complete()}_subscribe(C){const{source:D}=this;return D?this.source.subscribe(C):s.w.EMPTY}}},78858:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>e});var t=o(75319);class e extends t.w{constructor(a,l){super(),this.subject=a,this.subscriber=l,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const a=this.subject,l=a.observers;if(this.subject=null,!l||0===l.length||a.isStopped||a.closed)return;const u=l.indexOf(this.subscriber);-1!==u&&l.splice(u,1)}}},77393:(Ge,g,o)=>{"use strict";o.d(g,{L:()=>h});var t=o(69105),e=o(46490),s=o(75319),a=o(29181),l=o(82494),u=o(54449);class h extends s.w{constructor(b,C,D){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=e.c;break;case 1:if(!b){this.destination=e.c;break}if("object"==typeof b){b instanceof h?(this.syncErrorThrowable=b.syncErrorThrowable,this.destination=b,b.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,b));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,b,C,D)}}[a.b](){return this}static create(b,C,D){const x=new h(b,C,D);return x.syncErrorThrowable=!1,x}next(b){this.isStopped||this._next(b)}error(b){this.isStopped||(this.isStopped=!0,this._error(b))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(b){this.destination.next(b)}_error(b){this.destination.error(b),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:b}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=b,this}}class _ extends h{constructor(b,C,D,x){super(),this._parentSubscriber=b;let j,H=this;(0,t.m)(C)?j=C:C&&(j=C.next,D=C.error,x=C.complete,C!==e.c&&(H=Object.create(C),(0,t.m)(H.unsubscribe)&&this.add(H.unsubscribe.bind(H)),H.unsubscribe=this.unsubscribe.bind(this))),this._context=H,this._next=j,this._error=D,this._complete=x}next(b){if(!this.isStopped&&this._next){const{_parentSubscriber:C}=this;l.v.useDeprecatedSynchronousErrorHandling&&C.syncErrorThrowable?this.__tryOrSetError(C,this._next,b)&&this.unsubscribe():this.__tryOrUnsub(this._next,b)}}error(b){if(!this.isStopped){const{_parentSubscriber:C}=this,{useDeprecatedSynchronousErrorHandling:D}=l.v;if(this._error)D&&C.syncErrorThrowable?(this.__tryOrSetError(C,this._error,b),this.unsubscribe()):(this.__tryOrUnsub(this._error,b),this.unsubscribe());else if(C.syncErrorThrowable)D?(C.syncErrorValue=b,C.syncErrorThrown=!0):(0,u.z)(b),this.unsubscribe();else{if(this.unsubscribe(),D)throw b;(0,u.z)(b)}}}complete(){if(!this.isStopped){const{_parentSubscriber:b}=this;if(this._complete){const C=()=>this._complete.call(this._context);l.v.useDeprecatedSynchronousErrorHandling&&b.syncErrorThrowable?(this.__tryOrSetError(b,C),this.unsubscribe()):(this.__tryOrUnsub(C),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(b,C){try{b.call(this._context,C)}catch(D){if(this.unsubscribe(),l.v.useDeprecatedSynchronousErrorHandling)throw D;(0,u.z)(D)}}__tryOrSetError(b,C,D){if(!l.v.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{C.call(this._context,D)}catch(x){return l.v.useDeprecatedSynchronousErrorHandling?(b.syncErrorValue=x,b.syncErrorThrown=!0,!0):((0,u.z)(x),!0)}return!1}_unsubscribe(){const{_parentSubscriber:b}=this;this._context=null,this._parentSubscriber=null,b.unsubscribe()}}},75319:(Ge,g,o)=>{"use strict";o.d(g,{w:()=>u});var t=o(59796),e=o(81555),s=o(69105);const l=(()=>{function _(m){return Error.call(this),this.message=m?`${m.length} errors occurred during unsubscription:\n${m.map((b,C)=>`${C+1}) ${b.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=m,this}return _.prototype=Object.create(Error.prototype),_})();class u{constructor(m){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,m&&(this._ctorUnsubscribe=!0,this._unsubscribe=m)}unsubscribe(){let m;if(this.closed)return;let{_parentOrParents:b,_ctorUnsubscribe:C,_unsubscribe:D,_subscriptions:x}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,b instanceof u)b.remove(this);else if(null!==b)for(let j=0;j<b.length;++j)b[j].remove(this);if((0,s.m)(D)){C&&(this._unsubscribe=void 0);try{D.call(this)}catch(j){m=j instanceof l?h(j.errors):[j]}}if((0,t.k)(x)){let j=-1,H=x.length;for(;++j<H;){const z=x[j];if((0,e.K)(z))try{z.unsubscribe()}catch(U){m=m||[],U instanceof l?m=m.concat(h(U.errors)):m.push(U)}}}if(m)throw new l(m)}add(m){let b=m;if(!m)return u.EMPTY;switch(typeof m){case"function":b=new u(m);case"object":if(b===this||b.closed||"function"!=typeof b.unsubscribe)return b;if(this.closed)return b.unsubscribe(),b;if(!(b instanceof u)){const x=b;b=new u,b._subscriptions=[x]}break;default:throw new Error("unrecognized teardown "+m+" added to Subscription.")}let{_parentOrParents:C}=b;if(null===C)b._parentOrParents=this;else if(C instanceof u){if(C===this)return b;b._parentOrParents=[C,this]}else{if(-1!==C.indexOf(this))return b;C.push(this)}const D=this._subscriptions;return null===D?this._subscriptions=[b]:D.push(b),b}remove(m){const b=this._subscriptions;if(b){const C=b.indexOf(m);-1!==C&&b.splice(C,1)}}}var _;function h(_){return _.reduce((m,b)=>m.concat(b instanceof l?b.errors:b),[])}u.EMPTY=((_=new u).closed=!0,_)},82494:(Ge,g,o)=>{"use strict";o.d(g,{v:()=>e});let t=!1;const e={Promise:void 0,set useDeprecatedSynchronousErrorHandling(s){if(s){const a=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+a.stack)}else t&&console.log("RxJS: Back to a better error behavior. Thank you. <3");t=s},get useDeprecatedSynchronousErrorHandling(){return t}}},85345:(Ge,g,o)=>{"use strict";o.d(g,{IY:()=>a,Ds:()=>u,ft:()=>_});var t=o(77393),e=o(18891),s=o(87444);class a extends t.L{constructor(b){super(),this.parent=b}_next(b){this.parent.notifyNext(b)}_error(b){this.parent.notifyError(b),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class u extends t.L{notifyNext(b){this.destination.next(b)}notifyError(b){this.destination.error(b)}notifyComplete(){this.destination.complete()}}function _(m,b){if(!b.closed)return m instanceof e.y?m.subscribe(b):(0,s.s)(m)(b)}},52441:(Ge,g,o)=>{"use strict";o.d(g,{c:()=>l,N:()=>u});var t=o(79765),e=o(18891),s=o(75319),a=o(51307);class l extends e.y{constructor(C,D){super(),this.source=C,this.subjectFactory=D,this._refCount=0,this._isComplete=!1}_subscribe(C){return this.getSubject().subscribe(C)}getSubject(){const C=this._subject;return(!C||C.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let C=this._connection;return C||(this._isComplete=!1,C=this._connection=new s.w,C.add(this.source.subscribe(new h(this.getSubject(),this))),C.closed&&(this._connection=null,C=s.w.EMPTY)),C}refCount(){return(0,a.x)()(this)}}const u=(()=>{const b=l.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:b._subscribe},_isComplete:{value:b._isComplete,writable:!0},getSubject:{value:b.getSubject},connect:{value:b.connect},refCount:{value:b.refCount}}})();class h extends t.Yc{constructor(C,D){super(C),this.connectable=D}_error(C){this._unsubscribe(),super._error(C)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const C=this.connectable;if(C){this.connectable=null;const D=C._connection;C._refCount=0,C._subject=null,C._connection=null,D&&D.unsubscribe()}}}},9112:(Ge,g,o)=>{"use strict";o.d(g,{aj:()=>h});var t=o(54869),e=o(59796),s=o(55197),a=o(20509),l=o(56693);const u={};function h(...b){let C,D;return(0,t.K)(b[b.length-1])&&(D=b.pop()),"function"==typeof b[b.length-1]&&(C=b.pop()),1===b.length&&(0,e.k)(b[0])&&(b=b[0]),(0,l.n)(b,D).lift(new _(C))}class _{constructor(C){this.resultSelector=C}call(C,D){return D.subscribe(new m(C,this.resultSelector))}}class m extends s.L{constructor(C,D){super(C),this.resultSelector=D,this.active=0,this.values=[],this.observables=[]}_next(C){this.values.push(u),this.observables.push(C)}_complete(){const C=this.observables,D=C.length;if(0===D)this.destination.complete();else{this.active=D,this.toRespond=D;for(let x=0;x<D;x++)this.add((0,a.D)(this,C[x],void 0,x))}}notifyComplete(C){0==(this.active-=1)&&this.destination.complete()}notifyNext(C,D,x){const j=this.values,z=this.toRespond?j[x]===u?--this.toRespond:this.toRespond:0;j[x]=D,0===z&&(this.resultSelector?this._tryResultSelector(j):this.destination.next(j.slice()))}_tryResultSelector(C){let D;try{D=this.resultSelector.apply(this,C)}catch(x){return void this.destination.error(x)}this.destination.next(D)}}},58071:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>a});var t=o(25917),e=o(63282);function a(...l){return(0,e.J)(1)((0,t.of)(...l))}},59193:(Ge,g,o)=>{"use strict";o.d(g,{E:()=>e,c:()=>s});var t=o(18891);const e=new t.y(l=>l.complete());function s(l){return l?function(l){return new t.y(u=>l.schedule(()=>u.complete()))}(l):e}},35758:(Ge,g,o)=>{"use strict";o.d(g,{D:()=>u});var t=o(18891),e=o(59796),s=o(88002),a=o(81555),l=o(94402);function u(..._){if(1===_.length){const m=_[0];if((0,e.k)(m))return h(m,null);if((0,a.K)(m)&&Object.getPrototypeOf(m)===Object.prototype){const b=Object.keys(m);return h(b.map(C=>m[C]),b)}}if("function"==typeof _[_.length-1]){const m=_.pop();return h(_=1===_.length&&(0,e.k)(_[0])?_[0]:_,null).pipe((0,s.U)(b=>m(...b)))}return h(_,null)}function h(_,m){return new t.y(b=>{const C=_.length;if(0===C)return void b.complete();const D=new Array(C);let x=0,j=0;for(let H=0;H<C;H++){const z=(0,l.D)(_[H]);let U=!1;b.add(z.subscribe({next:M=>{U||(U=!0,j++),D[H]=M},error:M=>b.error(M),complete:()=>{x++,(x===C||!U)&&(j===C&&b.next(m?m.reduce((M,I,J)=>(M[I]=D[J],M),{}):D),b.complete())}}))}})}},94402:(Ge,g,o)=>{"use strict";o.d(g,{D:()=>H});var t=o(18891),e=o(87444),s=o(75319),a=o(16554),h=o(94087),_=o(20377),C=o(44072),D=o(69489);function H(z,U){return U?function(z,U){if(null!=z){if(function(z){return z&&"function"==typeof z[a.L]}(z))return function(z,U){return new t.y(M=>{const I=new s.w;return I.add(U.schedule(()=>{const J=z[a.L]();I.add(J.subscribe({next(Y){I.add(U.schedule(()=>M.next(Y)))},error(Y){I.add(U.schedule(()=>M.error(Y)))},complete(){I.add(U.schedule(()=>M.complete()))}}))})),I})}(z,U);if((0,C.t)(z))return function(z,U){return new t.y(M=>{const I=new s.w;return I.add(U.schedule(()=>z.then(J=>{I.add(U.schedule(()=>{M.next(J),I.add(U.schedule(()=>M.complete()))}))},J=>{I.add(U.schedule(()=>M.error(J)))}))),I})}(z,U);if((0,D.z)(z))return(0,h.r)(z,U);if(function(z){return z&&"function"==typeof z[_.hZ]}(z)||"string"==typeof z)return function(z,U){if(!z)throw new Error("Iterable cannot be null");return new t.y(M=>{const I=new s.w;let J;return I.add(()=>{J&&"function"==typeof J.return&&J.return()}),I.add(U.schedule(()=>{J=z[_.hZ](),I.add(U.schedule(function(){if(M.closed)return;let Y,ie;try{const oe=J.next();Y=oe.value,ie=oe.done}catch(oe){return void M.error(oe)}ie?M.complete():(M.next(Y),this.schedule())}))})),I})}(z,U)}throw new TypeError((null!==z&&typeof z||z)+" is not observable")}(z,U):z instanceof t.y?z:new t.y((0,e.s)(z))}},56693:(Ge,g,o)=>{"use strict";o.d(g,{n:()=>a});var t=o(18891),e=o(55015),s=o(94087);function a(l,u){return u?(0,s.r)(l,u):new t.y((0,e.V)(l))}},22759:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>u});var t=o(18891),e=o(59796),s=o(69105),a=o(88002);function u(C,D,x,j){return(0,s.m)(x)&&(j=x,x=void 0),j?u(C,D,x).pipe((0,a.U)(H=>(0,e.k)(H)?j(...H):j(H))):new t.y(H=>{h(C,D,function(U){H.next(arguments.length>1?Array.prototype.slice.call(arguments):U)},H,x)})}function h(C,D,x,j,H){let z;if(function(C){return C&&"function"==typeof C.addEventListener&&"function"==typeof C.removeEventListener}(C)){const U=C;C.addEventListener(D,x,H),z=()=>U.removeEventListener(D,x,H)}else if(function(C){return C&&"function"==typeof C.on&&"function"==typeof C.off}(C)){const U=C;C.on(D,x),z=()=>U.off(D,x)}else if(function(C){return C&&"function"==typeof C.addListener&&"function"==typeof C.removeListener}(C)){const U=C;C.addListener(D,x),z=()=>U.removeListener(D,x)}else{if(!C||!C.length)throw new TypeError("Invalid event target");for(let U=0,M=C.length;U<M;U++)h(C[U],D,x,j,H)}j.add(z)}},66682:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>l});var t=o(18891),e=o(54869),s=o(63282),a=o(56693);function l(...u){let h=Number.POSITIVE_INFINITY,_=null,m=u[u.length-1];return(0,e.K)(m)?(_=u.pop(),u.length>1&&"number"==typeof u[u.length-1]&&(h=u.pop())):"number"==typeof m&&(h=u.pop()),null===_&&1===u.length&&u[0]instanceof t.y?u[0]:(0,s.J)(h)((0,a.n)(u,_))}},17757:(Ge,g,o)=>{"use strict";o.d(g,{C:()=>s});var t=o(18891),e=o(98640);const s=new t.y(e.Z)},25917:(Ge,g,o)=>{"use strict";o.d(g,{of:()=>a});var t=o(54869),e=o(56693),s=o(94087);function a(...l){let u=l[l.length-1];return(0,t.K)(u)?(l.pop(),(0,s.r)(l,u)):(0,e.n)(l)}},40205:(Ge,g,o)=>{"use strict";o.d(g,{_:()=>e});var t=o(18891);function e(a,l){return new t.y(l?u=>l.schedule(s,0,{error:a,subscriber:u}):u=>u.error(a))}function s({error:a,subscriber:l}){l.error(a)}},46797:(Ge,g,o)=>{"use strict";o.d(g,{H:()=>l});var t=o(18891),e=o(33637),s=o(26561),a=o(54869);function l(h=0,_,m){let b=-1;return(0,s.k)(_)?b=Number(_)<1?1:Number(_):(0,a.K)(_)&&(m=_),(0,a.K)(m)||(m=e.P),new t.y(C=>{const D=(0,s.k)(h)?h:+h-m.now();return m.schedule(u,D,{index:0,period:b,subscriber:C})})}function u(h){const{index:_,period:m,subscriber:b}=h;if(b.next(_),!b.closed){if(-1===m)return b.complete();h.index=_+1,this.schedule(h,m)}}},5304:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>e});var t=o(85345);function e(l){return function(h){const _=new s(l),m=h.lift(_);return _.caught=m}}class s{constructor(u){this.selector=u}call(u,h){return h.subscribe(new a(u,this.selector,this.caught))}}class a extends t.Ds{constructor(u,h,_){super(u),this.selector=h,this.caught=_}error(u){if(!this.isStopped){let h;try{h=this.selector(u,this.caught)}catch(b){return void super.error(b)}this._unsubscribeAndRecycle();const _=new t.IY(this);this.add(_);const m=(0,t.ft)(h,_);m!==_&&this.add(m)}}}},94612:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>e});var t=o(19773);function e(s,a){return(0,t.zg)(s,a,1)}},95242:(Ge,g,o)=>{"use strict";o.d(g,{d:()=>e});var t=o(77393);function e(l=null){return u=>u.lift(new s(l))}class s{constructor(u){this.defaultValue=u}call(u,h){return h.subscribe(new a(u,this.defaultValue))}}class a extends t.L{constructor(u,h){super(u),this.defaultValue=h,this.isEmpty=!0}_next(u){this.isEmpty=!1,this.destination.next(u)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}},71289:(Ge,g,o)=>{"use strict";o.d(g,{g:()=>l});var t=o(33637),s=o(77393),a=o(23098);function l(m,b=t.P){const D=function(m){return m instanceof Date&&!isNaN(+m)}(m)?+m-b.now():Math.abs(m);return x=>x.lift(new u(D,b))}class u{constructor(b,C){this.delay=b,this.scheduler=C}call(b,C){return C.subscribe(new h(b,this.delay,this.scheduler))}}class h extends s.L{constructor(b,C,D){super(b),this.delay=C,this.scheduler=D,this.queue=[],this.active=!1,this.errored=!1}static dispatch(b){const C=b.source,D=C.queue,x=b.scheduler,j=b.destination;for(;D.length>0&&D[0].time-x.now()<=0;)D.shift().notification.observe(j);if(D.length>0){const H=Math.max(0,D[0].time-x.now());this.schedule(b,H)}else this.unsubscribe(),C.active=!1}_schedule(b){this.active=!0,this.destination.add(b.schedule(h.dispatch,this.delay,{source:this,destination:this.destination,scheduler:b}))}scheduleNotification(b){if(!0===this.errored)return;const C=this.scheduler,D=new _(C.now()+this.delay,b);this.queue.push(D),!1===this.active&&this._schedule(C)}_next(b){this.scheduleNotification(a.P.createNext(b))}_error(b){this.errored=!0,this.queue=[],this.destination.error(b),this.unsubscribe()}_complete(){this.scheduleNotification(a.P.createComplete()),this.unsubscribe()}}class _{constructor(b,C){this.time=b,this.notification=C}}},87519:(Ge,g,o)=>{"use strict";o.d(g,{x:()=>e});var t=o(77393);function e(l,u){return h=>h.lift(new s(l,u))}class s{constructor(u,h){this.compare=u,this.keySelector=h}call(u,h){return h.subscribe(new a(u,this.compare,this.keySelector))}}class a extends t.L{constructor(u,h,_){super(u),this.keySelector=_,this.hasKey=!1,"function"==typeof h&&(this.compare=h)}compare(u,h){return u===h}_next(u){let h;try{const{keySelector:m}=this;h=m?m(u):u}catch(m){return this.destination.error(m)}let _=!1;if(this.hasKey)try{const{compare:m}=this;_=m(this.key,h)}catch(m){return this.destination.error(m)}else this.hasKey=!0;_||(this.key=h,this.destination.next(u))}}},45435:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>e});var t=o(77393);function e(l,u){return function(_){return _.lift(new s(l,u))}}class s{constructor(u,h){this.predicate=u,this.thisArg=h}call(u,h){return h.subscribe(new a(u,this.predicate,this.thisArg))}}class a extends t.L{constructor(u,h,_){super(u),this.predicate=h,this.thisArg=_,this.count=0}_next(u){let h;try{h=this.predicate.call(this.thisArg,u,this.count++)}catch(_){return void this.destination.error(_)}h&&this.destination.next(u)}}},68939:(Ge,g,o)=>{"use strict";o.d(g,{x:()=>s});var t=o(77393),e=o(75319);function s(u){return h=>h.lift(new a(u))}class a{constructor(h){this.callback=h}call(h,_){return _.subscribe(new l(h,this.callback))}}class l extends t.L{constructor(h,_){super(h),this.add(new e.w(_))}}},28049:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>h});var t=o(13410),e=o(45435),s=o(15257),a=o(95242),l=o(44635),u=o(54487);function h(_,m){const b=arguments.length>=2;return C=>C.pipe(_?(0,e.h)((D,x)=>_(D,x,C)):u.y,(0,s.q)(1),b?(0,a.d)(m):(0,l.T)(()=>new t.K))}},12627:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>h});var t=o(13410),e=o(45435),s=o(548),a=o(44635),l=o(95242),u=o(54487);function h(_,m){const b=arguments.length>=2;return C=>C.pipe(_?(0,e.h)((D,x)=>_(D,x,C)):u.y,(0,s.h)(1),b?(0,l.d)(m):(0,a.T)(()=>new t.K))}},88002:(Ge,g,o)=>{"use strict";o.d(g,{U:()=>e});var t=o(77393);function e(l,u){return function(_){if("function"!=typeof l)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return _.lift(new s(l,u))}}class s{constructor(u,h){this.project=u,this.thisArg=h}call(u,h){return h.subscribe(new a(u,this.project,this.thisArg))}}class a extends t.L{constructor(u,h,_){super(u),this.project=h,this.count=0,this.thisArg=_||this}_next(u){let h;try{h=this.project.call(this.thisArg,u,this.count++)}catch(_){return void this.destination.error(_)}this.destination.next(h)}}},96736:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>e});var t=o(77393);function e(l){return u=>u.lift(new s(l))}class s{constructor(u){this.value=u}call(u,h){return h.subscribe(new a(u,this.value))}}class a extends t.L{constructor(u,h){super(u),this.value=h}_next(u){this.destination.next(this.value)}}},63282:(Ge,g,o)=>{"use strict";o.d(g,{J:()=>s});var t=o(19773),e=o(54487);function s(a=Number.POSITIVE_INFINITY){return(0,t.zg)(e.y,a)}},19773:(Ge,g,o)=>{"use strict";o.d(g,{zg:()=>a});var t=o(88002),e=o(94402),s=o(85345);function a(_,m,b=Number.POSITIVE_INFINITY){return"function"==typeof m?C=>C.pipe(a((D,x)=>(0,e.D)(_(D,x)).pipe((0,t.U)((j,H)=>m(D,j,x,H))),b)):("number"==typeof m&&(b=m),C=>C.lift(new l(_,b)))}class l{constructor(m,b=Number.POSITIVE_INFINITY){this.project=m,this.concurrent=b}call(m,b){return b.subscribe(new u(m,this.project,this.concurrent))}}class u extends s.Ds{constructor(m,b,C=Number.POSITIVE_INFINITY){super(m),this.project=b,this.concurrent=C,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(m){this.active<this.concurrent?this._tryNext(m):this.buffer.push(m)}_tryNext(m){let b;const C=this.index++;try{b=this.project(m,C)}catch(D){return void this.destination.error(D)}this.active++,this._innerSub(b)}_innerSub(m){const b=new s.IY(this),C=this.destination;C.add(b);const D=(0,s.ft)(m,b);D!==b&&C.add(D)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()}notifyNext(m){this.destination.next(m)}notifyComplete(){const m=this.buffer;this.active--,m.length>0?this._next(m.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}},59746:(Ge,g,o)=>{"use strict";o.d(g,{QV:()=>s,ht:()=>l});var t=o(77393),e=o(23098);function s(h,_=0){return function(b){return b.lift(new a(h,_))}}class a{constructor(_,m=0){this.scheduler=_,this.delay=m}call(_,m){return m.subscribe(new l(_,this.scheduler,this.delay))}}class l extends t.L{constructor(_,m,b=0){super(_),this.scheduler=m,this.delay=b}static dispatch(_){const{notification:m,destination:b}=_;m.observe(b),this.unsubscribe()}scheduleMessage(_){this.destination.add(this.scheduler.schedule(l.dispatch,this.delay,new u(_,this.destination)))}_next(_){this.scheduleMessage(e.P.createNext(_))}_error(_){this.scheduleMessage(e.P.createError(_)),this.unsubscribe()}_complete(){this.scheduleMessage(e.P.createComplete()),this.unsubscribe()}}class u{constructor(_,m){this.notification=_,this.destination=m}}},51307:(Ge,g,o)=>{"use strict";o.d(g,{x:()=>e});var t=o(77393);function e(){return function(u){return u.lift(new s(u))}}class s{constructor(u){this.connectable=u}call(u,h){const{connectable:_}=this;_._refCount++;const m=new a(u,_),b=h.subscribe(m);return m.closed||(m.connection=_.connect()),b}}class a extends t.L{constructor(u,h){super(u),this.connectable=h}_unsubscribe(){const{connectable:u}=this;if(!u)return void(this.connection=null);this.connectable=null;const h=u._refCount;if(h<=0)return void(this.connection=null);if(u._refCount=h-1,h>1)return void(this.connection=null);const{connection:_}=this,m=u._connection;this.connection=null,m&&(!_||m===_)&&m.unsubscribe()}}},42145:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>e});var t=o(77393);function e(l,u){let h=!1;return arguments.length>=2&&(h=!0),function(m){return m.lift(new s(l,u,h))}}class s{constructor(u,h,_=!1){this.accumulator=u,this.seed=h,this.hasSeed=_}call(u,h){return h.subscribe(new a(u,this.accumulator,this.seed,this.hasSeed))}}class a extends t.L{constructor(u,h,_,m){super(u),this.accumulator=h,this._seed=_,this.hasSeed=m,this.index=0}get seed(){return this._seed}set seed(u){this.hasSeed=!0,this._seed=u}_next(u){if(this.hasSeed)return this._tryNext(u);this.seed=u,this.destination.next(u)}_tryNext(u){const h=this.index++;let _;try{_=this.accumulator(this.seed,u,h)}catch(m){this.destination.error(m)}this.seed=_,this.destination.next(_)}}},18819:(Ge,g,o)=>{"use strict";o.d(g,{B:()=>h});var t=o(52441);var a=o(51307),l=o(79765);function u(){return new l.xQ}function h(){return _=>(0,a.x)()(function(_,m){return function(C){let D;D="function"==typeof _?_:function(){return _};const x=Object.create(C,t.N);return x.source=C,x.subjectFactory=D,x}}(u)(_))}},39761:(Ge,g,o)=>{"use strict";o.d(g,{O:()=>s});var t=o(58071),e=o(54869);function s(...a){const l=a[a.length-1];return(0,e.K)(l)?(a.pop(),u=>(0,t.z)(a,u,l)):u=>(0,t.z)(a,u)}},43190:(Ge,g,o)=>{"use strict";o.d(g,{w:()=>a});var t=o(88002),e=o(94402),s=o(85345);function a(h,_){return"function"==typeof _?m=>m.pipe(a((b,C)=>(0,e.D)(h(b,C)).pipe((0,t.U)((D,x)=>_(b,D,C,x))))):m=>m.lift(new l(h))}class l{constructor(_){this.project=_}call(_,m){return m.subscribe(new u(_,this.project))}}class u extends s.Ds{constructor(_,m){super(_),this.project=m,this.index=0}_next(_){let m;const b=this.index++;try{m=this.project(_,b)}catch(C){return void this.destination.error(C)}this._innerSub(m)}_innerSub(_){const m=this.innerSubscription;m&&m.unsubscribe();const b=new s.IY(this),C=this.destination;C.add(b),this.innerSubscription=(0,s.ft)(_,b),this.innerSubscription!==b&&C.add(this.innerSubscription)}_complete(){const{innerSubscription:_}=this;(!_||_.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(_){this.destination.next(_)}}},15257:(Ge,g,o)=>{"use strict";o.d(g,{q:()=>a});var t=o(77393),e=o(7108),s=o(59193);function a(h){return _=>0===h?(0,s.c)():_.lift(new l(h))}class l{constructor(_){if(this.total=_,this.total<0)throw new e.W}call(_,m){return m.subscribe(new u(_,this.total))}}class u extends t.L{constructor(_,m){super(_),this.total=m,this.count=0}_next(_){const m=this.total,b=++this.count;b<=m&&(this.destination.next(_),b===m&&(this.destination.complete(),this.unsubscribe()))}}},548:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>a});var t=o(77393),e=o(7108),s=o(59193);function a(h){return function(m){return 0===h?(0,s.c)():m.lift(new l(h))}}class l{constructor(_){if(this.total=_,this.total<0)throw new e.W}call(_,m){return m.subscribe(new u(_,this.total))}}class u extends t.L{constructor(_,m){super(_),this.total=m,this.ring=new Array,this.count=0}_next(_){const m=this.ring,b=this.total,C=this.count++;m.length<b?m.push(_):m[C%b]=_}_complete(){const _=this.destination;let m=this.count;if(m>0){const b=this.count>=this.total?this.total:this.count,C=this.ring;for(let D=0;D<b;D++){const x=m++%b;_.next(C[x])}}_.complete()}}},46782:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>e});var t=o(85345);function e(l){return u=>u.lift(new s(l))}class s{constructor(u){this.notifier=u}call(u,h){const _=new a(u),m=(0,t.ft)(this.notifier,new t.IY(_));return m&&!_.seenValue?(_.add(m),h.subscribe(_)):_}}class a extends t.Ds{constructor(u){super(u),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}},68307:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>a});var t=o(77393),e=o(98640),s=o(69105);function a(h,_,m){return function(C){return C.lift(new l(h,_,m))}}class l{constructor(_,m,b){this.nextOrObserver=_,this.error=m,this.complete=b}call(_,m){return m.subscribe(new u(_,this.nextOrObserver,this.error,this.complete))}}class u extends t.L{constructor(_,m,b,C){super(_),this._tapNext=e.Z,this._tapError=e.Z,this._tapComplete=e.Z,this._tapError=b||e.Z,this._tapComplete=C||e.Z,(0,s.m)(m)?(this._context=this,this._tapNext=m):m&&(this._context=m,this._tapNext=m.next||e.Z,this._tapError=m.error||e.Z,this._tapComplete=m.complete||e.Z)}_next(_){try{this._tapNext.call(this._context,_)}catch(m){return void this.destination.error(m)}this.destination.next(_)}_error(_){try{this._tapError.call(this._context,_)}catch(m){return void this.destination.error(m)}this.destination.error(_)}_complete(){try{this._tapComplete.call(this._context)}catch(_){return void this.destination.error(_)}return this.destination.complete()}}},44635:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>s});var t=o(13410),e=o(77393);function s(h=u){return _=>_.lift(new a(h))}class a{constructor(_){this.errorFactory=_}call(_,m){return m.subscribe(new l(_,this.errorFactory))}}class l extends e.L{constructor(_,m){super(_),this.errorFactory=m,this.hasValue=!1}_next(_){this.hasValue=!0,this.destination.next(_)}_complete(){if(this.hasValue)return this.destination.complete();{let _;try{_=this.errorFactory()}catch(m){_=m}this.destination.error(_)}}}function u(){return new t.K}},94087:(Ge,g,o)=>{"use strict";o.d(g,{r:()=>s});var t=o(18891),e=o(75319);function s(a,l){return new t.y(u=>{const h=new e.w;let _=0;return h.add(l.schedule(function(){_!==a.length?(u.next(a[_++]),u.closed||h.add(this.schedule())):u.complete()})),h})}},36465:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>s});var t=o(75319);class e extends t.w{constructor(l,u){super()}schedule(l,u=0){return this}}class s extends e{constructor(l,u){super(l,u),this.scheduler=l,this.work=u,this.pending=!1}schedule(l,u=0){if(this.closed)return this;this.state=l;const h=this.id,_=this.scheduler;return null!=h&&(this.id=this.recycleAsyncId(_,h,u)),this.pending=!0,this.delay=u,this.id=this.id||this.requestAsyncId(_,this.id,u),this}requestAsyncId(l,u,h=0){return setInterval(l.flush.bind(l,this),h)}recycleAsyncId(l,u,h=0){if(null!==h&&this.delay===h&&!1===this.pending)return u;clearInterval(u)}execute(l,u){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const h=this._execute(l,u);if(h)return h;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(l,u){let _,h=!1;try{this.work(l)}catch(m){h=!0,_=!!m&&m||new Error(m)}if(h)return this.unsubscribe(),_}_unsubscribe(){const l=this.id,u=this.scheduler,h=u.actions,_=h.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==_&&h.splice(_,1),null!=l&&(this.id=this.recycleAsyncId(u,l,null)),this.delay=null}}},16102:(Ge,g,o)=>{"use strict";o.d(g,{v:()=>e});let t=(()=>{class s{constructor(l,u=s.now){this.SchedulerAction=l,this.now=u}schedule(l,u=0,h){return new this.SchedulerAction(this,l).schedule(h,u)}}return s.now=()=>Date.now(),s})();class e extends t{constructor(a,l=t.now){super(a,()=>e.delegate&&e.delegate!==this?e.delegate.now():l()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(a,l=0,u){return e.delegate&&e.delegate!==this?e.delegate.schedule(a,l,u):super.schedule(a,l,u)}flush(a){const{actions:l}=this;if(this.active)return void l.push(a);let u;this.active=!0;do{if(u=a.execute(a.state,a.delay))break}while(a=l.shift());if(this.active=!1,u){for(;a=l.shift();)a.unsubscribe();throw u}}}},33637:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>s,P:()=>a});var t=o(36465);const s=new(o(16102).v)(t.o),a=s},20377:(Ge,g,o)=>{"use strict";o.d(g,{hZ:()=>e});const e="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"},16554:(Ge,g,o)=>{"use strict";o.d(g,{L:()=>t});const t="function"==typeof Symbol&&Symbol.observable||"@@observable"},29181:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>t});const t="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()},7108:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>e});const e=(()=>{function s(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return s.prototype=Object.create(Error.prototype),s})()},13410:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>e});const e=(()=>{function s(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return s.prototype=Object.create(Error.prototype),s})()},77971:(Ge,g,o)=>{"use strict";o.d(g,{N:()=>e});const e=(()=>{function s(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return s.prototype=Object.create(Error.prototype),s})()},54449:(Ge,g,o)=>{"use strict";function t(e){setTimeout(()=>{throw e},0)}o.d(g,{z:()=>t})},54487:(Ge,g,o)=>{"use strict";function t(e){return e}o.d(g,{y:()=>t})},59796:(Ge,g,o)=>{"use strict";o.d(g,{k:()=>t});const t=Array.isArray||(e=>e&&"number"==typeof e.length)},69489:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>t});const t=e=>e&&"number"==typeof e.length&&"function"!=typeof e},69105:(Ge,g,o)=>{"use strict";function t(e){return"function"==typeof e}o.d(g,{m:()=>t})},26561:(Ge,g,o)=>{"use strict";o.d(g,{k:()=>e});var t=o(59796);function e(s){return!(0,t.k)(s)&&s-parseFloat(s)+1>=0}},81555:(Ge,g,o)=>{"use strict";function t(e){return null!==e&&"object"==typeof e}o.d(g,{K:()=>t})},44072:(Ge,g,o)=>{"use strict";function t(e){return!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}o.d(g,{t:()=>t})},54869:(Ge,g,o)=>{"use strict";function t(e){return e&&"function"==typeof e.schedule}o.d(g,{K:()=>t})},98640:(Ge,g,o)=>{"use strict";function t(){}o.d(g,{Z:()=>t})},34022:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>e,U:()=>s});var t=o(54487);function e(...a){return s(a)}function s(a){return 0===a.length?t.y:1===a.length?a[0]:function(u){return a.reduce((h,_)=>_(h),u)}}},87444:(Ge,g,o)=>{"use strict";o.d(g,{s:()=>C});var t=o(55015),e=o(54449),a=o(20377),u=o(16554),_=o(69489),m=o(44072),b=o(81555);const C=D=>{if(D&&"function"==typeof D[u.L])return(D=>x=>{const j=D[u.L]();if("function"!=typeof j.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return j.subscribe(x)})(D);if((0,_.z)(D))return(0,t.V)(D);if((0,m.t)(D))return(D=>x=>(D.then(j=>{x.closed||(x.next(j),x.complete())},j=>x.error(j)).then(null,e.z),x))(D);if(D&&"function"==typeof D[a.hZ])return(D=>x=>{const j=D[a.hZ]();for(;;){let H;try{H=j.next()}catch(z){return x.error(z),x}if(H.done){x.complete();break}if(x.next(H.value),x.closed)break}return"function"==typeof j.return&&x.add(()=>{j.return&&j.return()}),x})(D);{const j=`You provided ${(0,b.K)(D)?"an invalid object":`'${D}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(j)}}},55015:(Ge,g,o)=>{"use strict";o.d(g,{V:()=>t});const t=e=>s=>{for(let a=0,l=e.length;a<l&&!s.closed;a++)s.next(e[a]);s.complete()}},20509:(Ge,g,o)=>{"use strict";o.d(g,{D:()=>l});var t=o(77393);class e extends t.L{constructor(h,_,m){super(),this.parent=h,this.outerValue=_,this.outerIndex=m,this.index=0}_next(h){this.parent.notifyNext(this.outerValue,h,this.outerIndex,this.index++,this)}_error(h){this.parent.notifyError(h,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}var s=o(87444),a=o(18891);function l(u,h,_,m,b=new e(u,_,m)){if(!b.closed)return h instanceof a.y?h.subscribe(b):(0,s.s)(h)(b)}},34863:(Ge,g,o)=>{"use strict";o.d(g,{M:()=>Ue,t:()=>nt}),o(85443),o(4690),o(66837),o(8868),o(35704),o(21581),o(13744),o(63438),o(22603);var ae,b=o(6123),C=o.n(b),D=o(86906),x=o.n(D),j=o(66941),H=o.n(j),z=[],I="ResizeObserver loop completed with undelivered notifications.",Y=(()=>{return(at=Y||(Y={})).BORDER_BOX="border-box",at.CONTENT_BOX="content-box",at.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box",Y;var at})(),ie=function(at){return Object.freeze(at)},oe=function(it,Pt){this.inlineSize=it,this.blockSize=Pt,ie(this)},fe=function(){function at(it,Pt,Ut,ot){return this.x=it,this.y=Pt,this.width=Ut,this.height=ot,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ie(this)}return at.prototype.toJSON=function(){var it=this;return{x:it.x,y:it.y,top:it.top,right:it.right,bottom:it.bottom,left:it.left,width:it.width,height:it.height}},at.fromRect=function(it){return new at(it.x,it.y,it.width,it.height)},at}(),ne=function(at){return at instanceof SVGElement&&"getBBox"in at},he=function(at){if(ne(at)){var it=at.getBBox();return!it.width&&!it.height}return!(at.offsetWidth||at.offsetHeight||at.getClientRects().length)},ce=function(at){var it,Pt;if(at instanceof Element)return!0;var Ut=null===(Pt=null===(it=at)||void 0===it?void 0:it.ownerDocument)||void 0===Pt?void 0:Pt.defaultView;return!!(Ut&&at instanceof Ut.Element)},Me="undefined"!=typeof window?window:{},Oe=new WeakMap,be=/auto|scroll/,ue=/^tb|vertical/,He=/msie|trident/i.test(Me.navigator&&Me.navigator.userAgent),$e=function(at){return parseFloat(at||"0")},F=function(at,it,Pt){return void 0===at&&(at=0),void 0===it&&(it=0),void 0===Pt&&(Pt=!1),new oe((Pt?it:at)||0,(Pt?at:it)||0)},je=ie({devicePixelContentBoxSize:F(),borderBoxSize:F(),contentBoxSize:F(),contentRect:new fe(0,0,0,0)}),Et=function(at,it){if(void 0===it&&(it=!1),Oe.has(at)&&!it)return Oe.get(at);if(he(at))return Oe.set(at,je),je;var Pt=getComputedStyle(at),Ut=ne(at)&&at.ownerSVGElement&&at.getBBox(),ot=!He&&"border-box"===Pt.boxSizing,Nn=ue.test(Pt.writingMode||""),sn=!Ut&&be.test(Pt.overflowY||""),An=!Ut&&be.test(Pt.overflowX||""),Bn=Ut?0:$e(Pt.paddingTop),ir=Ut?0:$e(Pt.paddingRight),mr=Ut?0:$e(Pt.paddingBottom),_r=Ut?0:$e(Pt.paddingLeft),Nr=Ut?0:$e(Pt.borderTopWidth),br=Ut?0:$e(Pt.borderRightWidth),Jn=Ut?0:$e(Pt.borderBottomWidth),Mr=_r+ir,yi=Bn+mr,Ii=(Ut?0:$e(Pt.borderLeftWidth))+br,Mi=Nr+Jn,Oi=An?at.offsetHeight-Mi-at.clientHeight:0,Kr=sn?at.offsetWidth-Ii-at.clientWidth:0,ei=ot?Mr+Ii:0,di=ot?yi+Mi:0,se=Ut?Ut.width:$e(Pt.width)-ei-Kr,ct=Ut?Ut.height:$e(Pt.height)-di-Oi,Ke=se+Mr+Kr+Ii,Xe=ct+yi+Oi+Mi,Vt=ie({devicePixelContentBoxSize:F(Math.round(se*devicePixelRatio),Math.round(ct*devicePixelRatio),Nn),borderBoxSize:F(Ke,Xe,Nn),contentBoxSize:F(se,ct,Nn),contentRect:new fe(_r,Bn,se,ct)});return Oe.set(at,Vt),Vt},lt=function(at,it,Pt){var Ut=Et(at,Pt),ot=Ut.borderBoxSize,Nn=Ut.contentBoxSize,sn=Ut.devicePixelContentBoxSize;switch(it){case Y.DEVICE_PIXEL_CONTENT_BOX:return sn;case Y.BORDER_BOX:return ot;default:return Nn}},nn=function(it){var Pt=Et(it);this.target=it,this.contentRect=Pt.contentRect,this.borderBoxSize=ie([Pt.borderBoxSize]),this.contentBoxSize=ie([Pt.contentBoxSize]),this.devicePixelContentBoxSize=ie([Pt.devicePixelContentBoxSize])},St=function(at){if(he(at))return 1/0;for(var it=0,Pt=at.parentNode;Pt;)it+=1,Pt=Pt.parentNode;return it},At=function(){var at=1/0,it=[];z.forEach(function(sn){if(0!==sn.activeTargets.length){var An=[];sn.activeTargets.forEach(function(ir){var mr=new nn(ir.target),_r=St(ir.target);An.push(mr),ir.lastReportedSize=lt(ir.target,ir.observedBox),_r<at&&(at=_r)}),it.push(function(){sn.callback.call(sn.observer,An,sn.observer)}),sn.activeTargets.splice(0,sn.activeTargets.length)}});for(var Pt=0,Ut=it;Pt<Ut.length;Pt++)(0,Ut[Pt])();return at},Qe=function(at){z.forEach(function(Pt){Pt.activeTargets.splice(0,Pt.activeTargets.length),Pt.skippedTargets.splice(0,Pt.skippedTargets.length),Pt.observationTargets.forEach(function(ot){ot.isActive()&&(St(ot.target)>at?Pt.activeTargets.push(ot):Pt.skippedTargets.push(ot))})})},Ie=[],ln=0,Rn={attributes:!0,characterData:!0,childList:!0,subtree:!0},er=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Mn=function(at){return void 0===at&&(at=0),Date.now()+at},Ht=!1,Yn=new(function(){function at(){var it=this;this.stopped=!0,this.listener=function(){return it.schedule()}}return at.prototype.run=function(it){var Pt=this;if(void 0===it&&(it=250),!Ht){Ht=!0;var Ut=Mn(it);!function(at){!function(at){if(!ae){var it=0,Pt=document.createTextNode("");new MutationObserver(function(){return Ie.splice(0).forEach(function(at){return at()})}).observe(Pt,{characterData:!0}),ae=function(){Pt.textContent=""+(it?it--:it++)}}Ie.push(at),ae()}(function(){requestAnimationFrame(at)})}(function(){var ot=!1;try{ot=function(){var at=0;for(Qe(at);z.some(function(at){return at.activeTargets.length>0});)at=At(),Qe(at);return z.some(function(at){return at.skippedTargets.length>0})&&function(){var at;"function"==typeof ErrorEvent?at=new ErrorEvent("error",{message:I}):((at=document.createEvent("Event")).initEvent("error",!1,!1),at.message=I),window.dispatchEvent(at)}(),at>0}()}finally{if(Ht=!1,it=Ut-Mn(),!ln)return;ot?Pt.run(1e3):it>0?Pt.run(it):Pt.start()}})}},at.prototype.schedule=function(){this.stop(),this.run()},at.prototype.observe=function(){var it=this,Pt=function(){return it.observer&&it.observer.observe(document.body,Rn)};document.body?Pt():Me.addEventListener("DOMContentLoaded",Pt)},at.prototype.start=function(){var it=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),er.forEach(function(Pt){return Me.addEventListener(Pt,it.listener,!0)}))},at.prototype.stop=function(){var it=this;this.stopped||(this.observer&&this.observer.disconnect(),er.forEach(function(Pt){return Me.removeEventListener(Pt,it.listener,!0)}),this.stopped=!0)},at}()),Cn=function(at){!ln&&at>0&&Yn.start(),!(ln+=at)&&Yn.stop()},dn=function(){function at(it,Pt){this.target=it,this.observedBox=Pt||Y.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return at.prototype.isActive=function(){var it=lt(this.target,this.observedBox,!0);return function(at){return!ne(at)&&!function(at){switch(at.tagName){case"INPUT":if("image"!==at.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(at)&&"inline"===getComputedStyle(at).display}(this.target)&&(this.lastReportedSize=it),this.lastReportedSize.inlineSize!==it.inlineSize||this.lastReportedSize.blockSize!==it.blockSize},at}(),Kn=function(it,Pt){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=it,this.callback=Pt},qn=new WeakMap,Sn=function(at,it){for(var Pt=0;Pt<at.length;Pt+=1)if(at[Pt].target===it)return Pt;return-1},$n=function(){function at(){}return at.connect=function(it,Pt){var Ut=new Kn(it,Pt);qn.set(it,Ut)},at.observe=function(it,Pt,Ut){var ot=qn.get(it),Nn=0===ot.observationTargets.length;Sn(ot.observationTargets,Pt)<0&&(Nn&&z.push(ot),ot.observationTargets.push(new dn(Pt,Ut&&Ut.box)),Cn(1),Yn.schedule())},at.unobserve=function(it,Pt){var Ut=qn.get(it),ot=Sn(Ut.observationTargets,Pt);ot>=0&&(1===Ut.observationTargets.length&&z.splice(z.indexOf(Ut),1),Ut.observationTargets.splice(ot,1),Cn(-1))},at.disconnect=function(it){var Pt=this,Ut=qn.get(it);Ut.observationTargets.slice().forEach(function(ot){return Pt.unobserve(it,ot.target)}),Ut.activeTargets.splice(0,Ut.activeTargets.length)},at}(),En=function(){function at(it){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof it)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");$n.connect(this,it)}return at.prototype.observe=function(it,Pt){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!ce(it))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");$n.observe(this,it,Pt)},at.prototype.unobserve=function(it){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!ce(it))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");$n.unobserve(this,it)},at.prototype.disconnect=function(){$n.disconnect(this)},at.toString=function(){return"function ResizeObserver () { [polyfill code] }"},at}(),Fn=o(72318),Dn=o.n(Fn);function Tt(at){return at&&at.ownerDocument&&at.ownerDocument.defaultView?at.ownerDocument.defaultView:window}function yn(at){return at&&at.ownerDocument?at.ownerDocument:document}o(35319),o(80477),o(69665),o(26954),o(66262);var et=null,jt=null;function hn(at){if(null===et){var it=yn(at);if(void 0===it)return et=0;var Pt=it.body,Ut=it.createElement("div");Ut.classList.add("simplebar-hide-scrollbar"),Pt.appendChild(Ut);var ot=Ut.getBoundingClientRect().right;Pt.removeChild(Ut),et=ot}return et}Dn()&&window.addEventListener("resize",function(){jt!==window.devicePixelRatio&&(jt=window.devicePixelRatio,et=null)});var Qn=function(){function at(Pt,Ut){var ot=this;this.onScroll=function(){var Nn=Tt(ot.el);ot.scrollXTicking||(Nn.requestAnimationFrame(ot.scrollX),ot.scrollXTicking=!0),ot.scrollYTicking||(Nn.requestAnimationFrame(ot.scrollY),ot.scrollYTicking=!0)},this.scrollX=function(){ot.axis.x.isOverflowing&&(ot.showScrollbar("x"),ot.positionScrollbar("x")),ot.scrollXTicking=!1},this.scrollY=function(){ot.axis.y.isOverflowing&&(ot.showScrollbar("y"),ot.positionScrollbar("y")),ot.scrollYTicking=!1},this.onMouseEnter=function(){ot.showScrollbar("x"),ot.showScrollbar("y")},this.onMouseMove=function(Nn){ot.mouseX=Nn.clientX,ot.mouseY=Nn.clientY,(ot.axis.x.isOverflowing||ot.axis.x.forceVisible)&&ot.onMouseMoveForAxis("x"),(ot.axis.y.isOverflowing||ot.axis.y.forceVisible)&&ot.onMouseMoveForAxis("y")},this.onMouseLeave=function(){ot.onMouseMove.cancel(),(ot.axis.x.isOverflowing||ot.axis.x.forceVisible)&&ot.onMouseLeaveForAxis("x"),(ot.axis.y.isOverflowing||ot.axis.y.forceVisible)&&ot.onMouseLeaveForAxis("y"),ot.mouseX=-1,ot.mouseY=-1},this.onWindowResize=function(){ot.scrollbarWidth=ot.getScrollbarWidth(),ot.hideNativeScrollbar()},this.hideScrollbars=function(){ot.axis.x.track.rect=ot.axis.x.track.el.getBoundingClientRect(),ot.axis.y.track.rect=ot.axis.y.track.el.getBoundingClientRect(),ot.isWithinBounds(ot.axis.y.track.rect)||(ot.axis.y.scrollbar.el.classList.remove(ot.classNames.visible),ot.axis.y.isVisible=!1),ot.isWithinBounds(ot.axis.x.track.rect)||(ot.axis.x.scrollbar.el.classList.remove(ot.classNames.visible),ot.axis.x.isVisible=!1)},this.onPointerEvent=function(Nn){var sn,An;ot.axis.x.track.rect=ot.axis.x.track.el.getBoundingClientRect(),ot.axis.y.track.rect=ot.axis.y.track.el.getBoundingClientRect(),(ot.axis.x.isOverflowing||ot.axis.x.forceVisible)&&(sn=ot.isWithinBounds(ot.axis.x.track.rect)),(ot.axis.y.isOverflowing||ot.axis.y.forceVisible)&&(An=ot.isWithinBounds(ot.axis.y.track.rect)),(sn||An)&&(Nn.preventDefault(),Nn.stopPropagation(),"mousedown"===Nn.type&&(sn&&(ot.axis.x.scrollbar.rect=ot.axis.x.scrollbar.el.getBoundingClientRect(),ot.isWithinBounds(ot.axis.x.scrollbar.rect)?ot.onDragStart(Nn,"x"):ot.onTrackClick(Nn,"x")),An&&(ot.axis.y.scrollbar.rect=ot.axis.y.scrollbar.el.getBoundingClientRect(),ot.isWithinBounds(ot.axis.y.scrollbar.rect)?ot.onDragStart(Nn,"y"):ot.onTrackClick(Nn,"y"))))},this.drag=function(Nn){var An=ot.axis[ot.draggedAxis].track,Bn=An.rect[ot.axis[ot.draggedAxis].sizeAttr],ir=ot.axis[ot.draggedAxis].scrollbar,mr=ot.contentWrapperEl[ot.axis[ot.draggedAxis].scrollSizeAttr],_r=parseInt(ot.elStyles[ot.axis[ot.draggedAxis].sizeAttr],10);Nn.preventDefault(),Nn.stopPropagation();var Jn=(("y"===ot.draggedAxis?Nn.pageY:Nn.pageX)-An.rect[ot.axis[ot.draggedAxis].offsetAttr]-ot.axis[ot.draggedAxis].dragOffset)/(Bn-ir.size)*(mr-_r);"x"===ot.draggedAxis&&(Jn=ot.isRtl&&at.getRtlHelpers().isRtlScrollbarInverted?Jn-(Bn+ir.size):Jn,Jn=ot.isRtl&&at.getRtlHelpers().isRtlScrollingInverted?-Jn:Jn),ot.contentWrapperEl[ot.axis[ot.draggedAxis].scrollOffsetAttr]=Jn},this.onEndDrag=function(Nn){var sn=yn(ot.el),An=Tt(ot.el);Nn.preventDefault(),Nn.stopPropagation(),ot.el.classList.remove(ot.classNames.dragging),sn.removeEventListener("mousemove",ot.drag,!0),sn.removeEventListener("mouseup",ot.onEndDrag,!0),ot.removePreventClickId=An.setTimeout(function(){sn.removeEventListener("click",ot.preventClick,!0),sn.removeEventListener("dblclick",ot.preventClick,!0),ot.removePreventClickId=null})},this.preventClick=function(Nn){Nn.preventDefault(),Nn.stopPropagation()},this.el=Pt,this.minScrollbarWidth=20,this.options=Object.assign({},at.defaultOptions,{},Ut),this.classNames=Object.assign({},at.defaultOptions.classNames,{},this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,!at.instances.has(this.el)&&(this.recalculate=C()(this.recalculate.bind(this),64),this.onMouseMove=C()(this.onMouseMove.bind(this),64),this.hideScrollbars=x()(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=x()(this.onWindowResize.bind(this),64,{leading:!0}),at.getRtlHelpers=H()(at.getRtlHelpers),this.init())}at.getRtlHelpers=function(){var Ut=document.createElement("div");Ut.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var ot=Ut.firstElementChild;document.body.appendChild(ot);var Nn=ot.firstElementChild;ot.scrollLeft=0;var sn=at.getOffset(ot),An=at.getOffset(Nn);ot.scrollLeft=999;var Bn=at.getOffset(Nn);return{isRtlScrollingInverted:sn.left!==An.left&&An.left-Bn.left!=0,isRtlScrollbarInverted:sn.left!==An.left}},at.getOffset=function(Ut){var ot=Ut.getBoundingClientRect(),Nn=yn(Ut),sn=Tt(Ut);return{top:ot.top+(sn.pageYOffset||Nn.documentElement.scrollTop),left:ot.left+(sn.pageXOffset||Nn.documentElement.scrollLeft)}};var it=at.prototype;return it.init=function(){at.instances.set(this.el,this),Dn()&&(this.initDOM(),this.setAccessibilityAttributes(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},it.initDOM=function(){var Ut=this;if(Array.prototype.filter.call(this.el.children,function(sn){return sn.classList.contains(Ut.classNames.wrapper)}).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var ot=document.createElement("div"),Nn=document.createElement("div");ot.classList.add(this.classNames.track),Nn.classList.add(this.classNames.scrollbar),ot.appendChild(Nn),this.axis.x.track.el=ot.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=ot.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},it.setAccessibilityAttributes=function(){var Ut=this.options.ariaLabel||"scrollable content";this.contentWrapperEl.setAttribute("tabindex","0"),this.contentWrapperEl.setAttribute("role","region"),this.contentWrapperEl.setAttribute("aria-label",Ut)},it.initListeners=function(){var Ut=this,ot=Tt(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach(function(An){Ut.el.addEventListener(An,Ut.onPointerEvent,!0)}),["touchstart","touchend","touchmove"].forEach(function(An){Ut.el.addEventListener(An,Ut.onPointerEvent,{capture:!0,passive:!0})}),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),ot.addEventListener("resize",this.onWindowResize);var Nn=!1;this.resizeObserver=new(ot.ResizeObserver||En)(function(){!Nn||Ut.recalculate()}),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),ot.requestAnimationFrame(function(){Nn=!0}),this.mutationObserver=new ot.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},it.recalculate=function(){var Ut=Tt(this.el);this.elStyles=Ut.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var ot=this.heightAutoObserverEl.offsetHeight<=1,Nn=this.heightAutoObserverEl.offsetWidth<=1,sn=this.contentEl.offsetWidth,An=this.contentWrapperEl.offsetWidth,Bn=this.elStyles.overflowX,ir=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var mr=this.contentEl.scrollHeight,_r=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=ot?"auto":"100%",this.placeholderEl.style.width=Nn?sn+"px":"auto",this.placeholderEl.style.height=mr+"px";var Nr=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=_r>sn,this.axis.y.isOverflowing=mr>Nr,this.axis.x.isOverflowing="hidden"!==Bn&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==ir&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var br=this.axis.x.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&_r>An-(this.axis.y.isOverflowing?this.scrollbarWidth:0),this.axis.y.isOverflowing=this.axis.y.isOverflowing&&mr>Nr-br,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},it.getScrollbarSize=function(Ut){if(void 0===Ut&&(Ut="y"),!this.axis[Ut].isOverflowing)return 0;var sn,Nn=this.axis[Ut].track.el[this.axis[Ut].offsetSizeAttr];return sn=Math.max(~~(Nn/this.contentEl[this.axis[Ut].scrollSizeAttr]*Nn),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(sn=Math.min(sn,this.options.scrollbarMaxSize)),sn},it.positionScrollbar=function(Ut){if(void 0===Ut&&(Ut="y"),this.axis[Ut].isOverflowing){var ot=this.contentWrapperEl[this.axis[Ut].scrollSizeAttr],Nn=this.axis[Ut].track.el[this.axis[Ut].offsetSizeAttr],sn=parseInt(this.elStyles[this.axis[Ut].sizeAttr],10),An=this.axis[Ut].scrollbar,Bn=this.contentWrapperEl[this.axis[Ut].scrollOffsetAttr],mr=~~((Bn="x"===Ut&&this.isRtl&&at.getRtlHelpers().isRtlScrollingInverted?-Bn:Bn)/(ot-sn)*(Nn-An.size));mr="x"===Ut&&this.isRtl&&at.getRtlHelpers().isRtlScrollbarInverted?mr+(Nn-An.size):mr,An.el.style.transform="x"===Ut?"translate3d("+mr+"px, 0, 0)":"translate3d(0, "+mr+"px, 0)"}},it.toggleTrackVisibility=function(Ut){void 0===Ut&&(Ut="y");var ot=this.axis[Ut].track.el,Nn=this.axis[Ut].scrollbar.el;this.axis[Ut].isOverflowing||this.axis[Ut].forceVisible?(ot.style.visibility="visible",this.contentWrapperEl.style[this.axis[Ut].overflowAttr]="scroll"):(ot.style.visibility="hidden",this.contentWrapperEl.style[this.axis[Ut].overflowAttr]="hidden"),Nn.style.display=this.axis[Ut].isOverflowing?"block":"none"},it.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},it.onMouseMoveForAxis=function(Ut){void 0===Ut&&(Ut="y"),this.axis[Ut].track.rect=this.axis[Ut].track.el.getBoundingClientRect(),this.axis[Ut].scrollbar.rect=this.axis[Ut].scrollbar.el.getBoundingClientRect(),this.isWithinBounds(this.axis[Ut].scrollbar.rect)?this.axis[Ut].scrollbar.el.classList.add(this.classNames.hover):this.axis[Ut].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[Ut].track.rect)?(this.showScrollbar(Ut),this.axis[Ut].track.el.classList.add(this.classNames.hover)):this.axis[Ut].track.el.classList.remove(this.classNames.hover)},it.onMouseLeaveForAxis=function(Ut){void 0===Ut&&(Ut="y"),this.axis[Ut].track.el.classList.remove(this.classNames.hover),this.axis[Ut].scrollbar.el.classList.remove(this.classNames.hover)},it.showScrollbar=function(Ut){void 0===Ut&&(Ut="y"),this.axis[Ut].isVisible||(this.axis[Ut].scrollbar.el.classList.add(this.classNames.visible),this.axis[Ut].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},it.onDragStart=function(Ut,ot){void 0===ot&&(ot="y");var Nn=yn(this.el),sn=Tt(this.el);this.axis[ot].dragOffset=("y"===ot?Ut.pageY:Ut.pageX)-this.axis[ot].scrollbar.rect[this.axis[ot].offsetAttr],this.draggedAxis=ot,this.el.classList.add(this.classNames.dragging),Nn.addEventListener("mousemove",this.drag,!0),Nn.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(Nn.addEventListener("click",this.preventClick,!0),Nn.addEventListener("dblclick",this.preventClick,!0)):(sn.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},it.onTrackClick=function(Ut,ot){var Nn=this;if(void 0===ot&&(ot="y"),this.options.clickOnTrack){var sn=Tt(this.el);this.axis[ot].scrollbar.rect=this.axis[ot].scrollbar.el.getBoundingClientRect();var Bn=this.axis[ot].scrollbar.rect[this.axis[ot].offsetAttr],ir=parseInt(this.elStyles[this.axis[ot].sizeAttr],10),mr=this.contentWrapperEl[this.axis[ot].scrollOffsetAttr],Nr=("y"===ot?this.mouseY-Bn:this.mouseX-Bn)<0?-1:1,br=-1===Nr?mr-ir:mr+ir;!function nr(){var Mr;if(-1===Nr)mr>br&&(Nn.contentWrapperEl.scrollTo(((Mr={})[Nn.axis[ot].offsetAttr]=mr-=Nn.options.clickOnTrackSpeed,Mr)),sn.requestAnimationFrame(nr));else if(mr<br){var yi;Nn.contentWrapperEl.scrollTo(((yi={})[Nn.axis[ot].offsetAttr]=mr+=Nn.options.clickOnTrackSpeed,yi)),sn.requestAnimationFrame(nr)}}()}},it.getContentElement=function(){return this.contentEl},it.getScrollElement=function(){return this.contentWrapperEl},it.getScrollbarWidth=function(){try{return"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:hn(this.el)}catch(Ut){return hn(this.el)}},it.removeListeners=function(){var Ut=this,ot=Tt(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach(function(Nn){Ut.el.removeEventListener(Nn,Ut.onPointerEvent,!0)}),["touchstart","touchend","touchmove"].forEach(function(Nn){Ut.el.removeEventListener(Nn,Ut.onPointerEvent,{capture:!0,passive:!0})}),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl&&this.contentWrapperEl.removeEventListener("scroll",this.onScroll),ot.removeEventListener("resize",this.onWindowResize),this.mutationObserver&&this.mutationObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},it.unMount=function(){this.removeListeners(),at.instances.delete(this.el)},it.isWithinBounds=function(Ut){return this.mouseX>=Ut.left&&this.mouseX<=Ut.left+Ut.width&&this.mouseY>=Ut.top&&this.mouseY<=Ut.top+Ut.height},it.findChild=function(Ut,ot){var Nn=Ut.matches||Ut.webkitMatchesSelector||Ut.mozMatchesSelector||Ut.msMatchesSelector;return Array.prototype.filter.call(Ut.children,function(sn){return Nn.call(sn,ot)})[0]},at}();Qn.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,clickOnTrackSpeed:40,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3},Qn.instances=new WeakMap;const Ir=Qn;var ht=o(74788);const L=["*"];let Ue=(()=>{class at{constructor(Pt){this.elRef=Pt}ngOnInit(){}ngAfterViewInit(){this.SimpleBar=new Ir(this.elRef.nativeElement,this.options||{})}ngOnDestroy(){this.SimpleBar.unMount(),this.SimpleBar=null}}return at.\u0275fac=function(Pt){return new(Pt||at)(ht.Y36(ht.SBq))},at.\u0275cmp=ht.Xpm({type:at,selectors:[["ngx-simplebar"]],hostAttrs:["data-simplebar","init"],inputs:{options:"options"},ngContentSelectors:L,decls:13,vars:0,consts:[[1,"simplebar-wrapper"],[1,"simplebar-height-auto-observer-wrapper"],[1,"simplebar-height-auto-observer"],[1,"simplebar-mask"],[1,"simplebar-offset"],[1,"simplebar-content-wrapper"],[1,"simplebar-content"],[1,"simplebar-placeholder"],[1,"simplebar-track","simplebar-horizontal"],[1,"simplebar-scrollbar"],[1,"simplebar-track","simplebar-vertical"]],template:function(Pt,Ut){1&Pt&&(ht.F$t(),ht.TgZ(0,"div",0),ht.TgZ(1,"div",1),ht._UZ(2,"div",2),ht.qZA(),ht.TgZ(3,"div",3),ht.TgZ(4,"div",4),ht.TgZ(5,"div",5),ht.TgZ(6,"div",6),ht.Hsn(7),ht.qZA(),ht.qZA(),ht.qZA(),ht.qZA(),ht._UZ(8,"div",7),ht.qZA(),ht.TgZ(9,"div",8),ht._UZ(10,"div",9),ht.qZA(),ht.TgZ(11,"div",10),ht._UZ(12,"div",9),ht.qZA())},styles:["[data-simplebar]{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start;align-content:flex-start;-webkit-box-align:start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:' ';display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;-webkit-box-flex:inherit;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:'';background:#000;border-radius:7px;left:2px;right:2px;opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;-webkit-transition:opacity linear;transition:opacity linear}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{top:2px;bottom:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{height:100%;left:2px;right:2px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:2px;height:7px;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.hs-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}","ngx-simplebar{display:block}"],encapsulation:2}),at})(),nt=(()=>{class at{}return at.\u0275fac=function(Pt){return new(Pt||at)},at.\u0275mod=ht.oAB({type:at}),at.\u0275inj=ht.cJS({imports:[[]]}),at})()},11642:Ge=>{Ge.exports=function(g){var o={};function t(e){if(o[e])return o[e].exports;var s=o[e]={i:e,l:!1,exports:{}};return g[e].call(s.exports,s,s.exports,t),s.l=!0,s.exports}return t.m=g,t.c=o,t.d=function(e,s,a){t.o(e,s)||Object.defineProperty(e,s,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,s){if(1&s&&(e=t(e)),8&s||4&s&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&s&&"string"!=typeof e)for(var l in e)t.d(a,l,function(u){return e[u]}.bind(null,l));return a},t.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(s,"a",s),s},t.o=function(e,s){return Object.prototype.hasOwnProperty.call(e,s)},t.p="/dist",t(t.s=481)}([function(g,o,t){"use strict";g.exports=t(555)},function(g,o,t){g.exports=function(){"use strict";var e=Array.prototype.slice;function s(G,Se){Se&&(G.prototype=Object.create(Se.prototype)),G.prototype.constructor=G}function a(G){return _(G)?G:ln(G)}function l(G){return m(G)?G:ar(G)}function u(G){return b(G)?G:Ln(G)}function h(G){return _(G)&&!C(G)?G:Rn(G)}function _(G){return!(!G||!G[x])}function m(G){return!(!G||!G[j])}function b(G){return!(!G||!G[H])}function C(G){return m(G)||b(G)}function D(G){return!(!G||!G[z])}s(l,a),s(u,a),s(h,a),a.isIterable=_,a.isKeyed=m,a.isIndexed=b,a.isAssociative=C,a.isOrdered=D,a.Keyed=l,a.Indexed=u,a.Set=h;var x="@@__IMMUTABLE_ITERABLE__@@",j="@@__IMMUTABLE_KEYED__@@",H="@@__IMMUTABLE_INDEXED__@@",z="@@__IMMUTABLE_ORDERED__@@",U="delete",I=32,J=31,Y={},ie={value:!1},oe={value:!1};function fe(G){return G.value=!1,G}function ne(G){G&&(G.value=!0)}function he(){}function ce(G,Se){Se=Se||0;for(var ft=Math.max(0,G.length-Se),Ft=new Array(ft),Bt=0;Bt<ft;Bt++)Ft[Bt]=G[Bt+Se];return Ft}function Ae(G){return void 0===G.size&&(G.size=G.__iterate(Oe)),G.size}function Me(G,Se){if("number"!=typeof Se){var ft=Se>>>0;if(""+ft!==Se||4294967295===ft)return NaN;Se=ft}return Se<0?Ae(G)+Se:Se}function Oe(){return!0}function be(G,Se,ft){return(0===G||void 0!==ft&&G<=-ft)&&(void 0===Se||void 0!==ft&&Se>=ft)}function ue(G,Se){return $e(G,Se,0)}function He(G,Se){return $e(G,Se,Se)}function $e(G,Se,ft){return void 0===G?ft:G<0?Math.max(0,Se+G):void 0===Se?G:Math.min(Se,G)}var lt="function"==typeof Symbol&&Symbol.iterator,nn="@@iterator",St=lt||nn;function At(G){this.next=G}function Qe(G,Se,ft,Ft){var Bt=0===G?Se:1===G?ft:[Se,ft];return Ft?Ft.value=Bt:Ft={value:Bt,done:!1},Ft}function It(){return{value:void 0,done:!0}}function ae(G){return!!Jt(G)}function Ie(G){return G&&"function"==typeof G.next}function dt(G){var Se=Jt(G);return Se&&Se.call(G)}function Jt(G){var Se=G&&(lt&&G[lt]||G[nn]);if("function"==typeof Se)return Se}function zt(G){return G&&"number"==typeof G.length}function ln(G){return null==G?qn():_(G)?G.toSeq():function(G){var Se=Fn(G)||"object"==typeof G&&new Cn(G);if(!Se)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+G);return Se}(G)}function ar(G){return null==G?qn().toKeyedSeq():_(G)?m(G)?G.toSeq():G.fromEntrySeq():Sn(G)}function Ln(G){return null==G?qn():_(G)?m(G)?G.entrySeq():G.toIndexedSeq():$n(G)}function Rn(G){return(null==G?qn():_(G)?m(G)?G.entrySeq():G:$n(G)).toSetSeq()}At.prototype.toString=function(){return"[Iterator]"},At.KEYS=0,At.VALUES=1,At.ENTRIES=2,At.prototype.inspect=At.prototype.toSource=function(){return this.toString()},At.prototype[St]=function(){return this},s(ln,a),ln.of=function(){return ln(arguments)},ln.prototype.toSeq=function(){return this},ln.prototype.toString=function(){return this.__toString("Seq {","}")},ln.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},ln.prototype.__iterate=function(G,Se){return Dn(this,G,Se,!0)},ln.prototype.__iterator=function(G,Se){return mn(this,G,Se,!0)},s(ar,ln),ar.prototype.toKeyedSeq=function(){return this},s(Ln,ln),Ln.of=function(){return Ln(arguments)},Ln.prototype.toIndexedSeq=function(){return this},Ln.prototype.toString=function(){return this.__toString("Seq [","]")},Ln.prototype.__iterate=function(G,Se){return Dn(this,G,Se,!1)},Ln.prototype.__iterator=function(G,Se){return mn(this,G,Se,!1)},s(Rn,ln),Rn.of=function(){return Rn(arguments)},Rn.prototype.toSetSeq=function(){return this},ln.isSeq=Kn,ln.Keyed=ar,ln.Set=Rn,ln.Indexed=Ln;var er,Mn,Ht,tr="@@__IMMUTABLE_SEQ__@@";function Yn(G){this._array=G,this.size=G.length}function Cn(G){var Se=Object.keys(G);this._object=G,this._keys=Se,this.size=Se.length}function Kt(G){this._iterable=G,this.size=G.length||G.size}function dn(G){this._iterator=G,this._iteratorCache=[]}function Kn(G){return!(!G||!G[tr])}function qn(){return er||(er=new Yn([]))}function Sn(G){var Se=Array.isArray(G)?new Yn(G).fromEntrySeq():Ie(G)?new dn(G).fromEntrySeq():ae(G)?new Kt(G).fromEntrySeq():"object"==typeof G?new Cn(G):void 0;if(!Se)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+G);return Se}function $n(G){var Se=Fn(G);if(!Se)throw new TypeError("Expected Array or iterable object of values: "+G);return Se}function Fn(G){return zt(G)?new Yn(G):Ie(G)?new dn(G):ae(G)?new Kt(G):void 0}function Dn(G,Se,ft,Ft){var Bt=G._cache;if(Bt){for(var In=Bt.length-1,Xn=0;Xn<=In;Xn++){var Sr=Bt[ft?In-Xn:Xn];if(!1===Se(Sr[1],Ft?Sr[0]:Xn,G))return Xn+1}return Xn}return G.__iterateUncached(Se,ft)}function mn(G,Se,ft,Ft){var Bt=G._cache;if(Bt){var In=Bt.length-1,Xn=0;return new At(function(){var Sr=Bt[ft?In-Xn:Xn];return Xn++>In?{value:void 0,done:!0}:Qe(Se,Ft?Sr[0]:Xn-1,Sr[1])})}return G.__iteratorUncached(Se,ft)}function jn(G,Se){return Se?Xt(Se,G,"",{"":G}):ut(G)}function Xt(G,Se,ft,Ft){return Array.isArray(Se)?G.call(Ft,ft,Ln(Se).map(function(Bt,In){return Xt(G,Bt,In,Se)})):mt(Se)?G.call(Ft,ft,ar(Se).map(function(Bt,In){return Xt(G,Bt,In,Se)})):Se}function ut(G){return Array.isArray(G)?Ln(G).map(ut).toList():mt(G)?ar(G).map(ut).toMap():G}function mt(G){return G&&(G.constructor===Object||void 0===G.constructor)}function Tt(G,Se){if(G===Se||G!=G&&Se!=Se)return!0;if(!G||!Se)return!1;if("function"==typeof G.valueOf&&"function"==typeof Se.valueOf){if((G=G.valueOf())===(Se=Se.valueOf())||G!=G&&Se!=Se)return!0;if(!G||!Se)return!1}return!("function"!=typeof G.equals||"function"!=typeof Se.equals||!G.equals(Se))}function yn(G,Se){if(G===Se)return!0;if(!_(Se)||void 0!==G.size&&void 0!==Se.size&&G.size!==Se.size||void 0!==G.__hash&&void 0!==Se.__hash&&G.__hash!==Se.__hash||m(G)!==m(Se)||b(G)!==b(Se)||D(G)!==D(Se))return!1;if(0===G.size&&0===Se.size)return!0;var ft=!C(G);if(D(G)){var Ft=G.entries();return Se.every(function(pi,Fr){var zr=Ft.next().value;return zr&&Tt(zr[1],pi)&&(ft||Tt(zr[0],Fr))})&&Ft.next().done}var Bt=!1;if(void 0===G.size)if(void 0===Se.size)"function"==typeof G.cacheResult&&G.cacheResult();else{Bt=!0;var In=G;G=Se,Se=In}var Xn=!0,Sr=Se.__iterate(function(pi,Fr){if(ft?!G.has(pi):Bt?!Tt(pi,G.get(Fr,Y)):!Tt(G.get(Fr,Y),pi))return Xn=!1,!1});return Xn&&G.size===Sr}function et(G,Se){if(!(this instanceof et))return new et(G,Se);if(this._value=G,this.size=void 0===Se?1/0:Math.max(0,Se),0===this.size){if(Mn)return Mn;Mn=this}}function jt(G,Se){if(!G)throw new Error(Se)}function hn(G,Se,ft){if(!(this instanceof hn))return new hn(G,Se,ft);if(jt(0!==ft,"Cannot step a Range by 0"),G=G||0,void 0===Se&&(Se=1/0),ft=void 0===ft?1:Math.abs(ft),Se<G&&(ft=-ft),this._start=G,this._end=Se,this._step=ft,this.size=Math.max(0,Math.ceil((Se-G)/ft-1)+1),0===this.size){if(Ht)return Ht;Ht=this}}function Qn(){throw TypeError("Abstract")}function Ir(){}function ht(){}function L(){}ln.prototype[tr]=!0,s(Yn,Ln),Yn.prototype.get=function(G,Se){return this.has(G)?this._array[Me(this,G)]:Se},Yn.prototype.__iterate=function(G,Se){for(var ft=this._array,Ft=ft.length-1,Bt=0;Bt<=Ft;Bt++)if(!1===G(ft[Se?Ft-Bt:Bt],Bt,this))return Bt+1;return Bt},Yn.prototype.__iterator=function(G,Se){var ft=this._array,Ft=ft.length-1,Bt=0;return new At(function(){return Bt>Ft?{value:void 0,done:!0}:Qe(G,Bt,ft[Se?Ft-Bt++:Bt++])})},s(Cn,ar),Cn.prototype.get=function(G,Se){return void 0===Se||this.has(G)?this._object[G]:Se},Cn.prototype.has=function(G){return this._object.hasOwnProperty(G)},Cn.prototype.__iterate=function(G,Se){for(var ft=this._object,Ft=this._keys,Bt=Ft.length-1,In=0;In<=Bt;In++){var Xn=Ft[Se?Bt-In:In];if(!1===G(ft[Xn],Xn,this))return In+1}return In},Cn.prototype.__iterator=function(G,Se){var ft=this._object,Ft=this._keys,Bt=Ft.length-1,In=0;return new At(function(){var Xn=Ft[Se?Bt-In:In];return In++>Bt?{value:void 0,done:!0}:Qe(G,Xn,ft[Xn])})},Cn.prototype[z]=!0,s(Kt,Ln),Kt.prototype.__iterateUncached=function(G,Se){if(Se)return this.cacheResult().__iterate(G,Se);var ft=dt(this._iterable),Ft=0;if(Ie(ft))for(var Bt;!(Bt=ft.next()).done&&!1!==G(Bt.value,Ft++,this););return Ft},Kt.prototype.__iteratorUncached=function(G,Se){if(Se)return this.cacheResult().__iterator(G,Se);var ft=dt(this._iterable);if(!Ie(ft))return new At(It);var Ft=0;return new At(function(){var Bt=ft.next();return Bt.done?Bt:Qe(G,Ft++,Bt.value)})},s(dn,Ln),dn.prototype.__iterateUncached=function(G,Se){if(Se)return this.cacheResult().__iterate(G,Se);for(var ft,Ft=this._iterator,Bt=this._iteratorCache,In=0;In<Bt.length;)if(!1===G(Bt[In],In++,this))return In;for(;!(ft=Ft.next()).done;){var Xn=ft.value;if(Bt[In]=Xn,!1===G(Xn,In++,this))break}return In},dn.prototype.__iteratorUncached=function(G,Se){if(Se)return this.cacheResult().__iterator(G,Se);var ft=this._iterator,Ft=this._iteratorCache,Bt=0;return new At(function(){if(Bt>=Ft.length){var In=ft.next();if(In.done)return In;Ft[Bt]=In.value}return Qe(G,Bt,Ft[Bt++])})},s(et,Ln),et.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},et.prototype.get=function(G,Se){return this.has(G)?this._value:Se},et.prototype.includes=function(G){return Tt(this._value,G)},et.prototype.slice=function(G,Se){var ft=this.size;return be(G,Se,ft)?this:new et(this._value,He(Se,ft)-ue(G,ft))},et.prototype.reverse=function(){return this},et.prototype.indexOf=function(G){return Tt(this._value,G)?0:-1},et.prototype.lastIndexOf=function(G){return Tt(this._value,G)?this.size:-1},et.prototype.__iterate=function(G,Se){for(var ft=0;ft<this.size;ft++)if(!1===G(this._value,ft,this))return ft+1;return ft},et.prototype.__iterator=function(G,Se){var ft=this,Ft=0;return new At(function(){return Ft<ft.size?Qe(G,Ft++,ft._value):{value:void 0,done:!0}})},et.prototype.equals=function(G){return G instanceof et?Tt(this._value,G._value):yn(G)},s(hn,Ln),hn.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},hn.prototype.get=function(G,Se){return this.has(G)?this._start+Me(this,G)*this._step:Se},hn.prototype.includes=function(G){var Se=(G-this._start)/this._step;return Se>=0&&Se<this.size&&Se===Math.floor(Se)},hn.prototype.slice=function(G,Se){return be(G,Se,this.size)?this:(G=ue(G,this.size),(Se=He(Se,this.size))<=G?new hn(0,0):new hn(this.get(G,this._end),this.get(Se,this._end),this._step))},hn.prototype.indexOf=function(G){var Se=G-this._start;if(Se%this._step==0){var ft=Se/this._step;if(ft>=0&&ft<this.size)return ft}return-1},hn.prototype.lastIndexOf=function(G){return this.indexOf(G)},hn.prototype.__iterate=function(G,Se){for(var ft=this.size-1,Ft=this._step,Bt=Se?this._start+ft*Ft:this._start,In=0;In<=ft;In++){if(!1===G(Bt,In,this))return In+1;Bt+=Se?-Ft:Ft}return In},hn.prototype.__iterator=function(G,Se){var ft=this.size-1,Ft=this._step,Bt=Se?this._start+ft*Ft:this._start,In=0;return new At(function(){var Xn=Bt;return Bt+=Se?-Ft:Ft,In>ft?{value:void 0,done:!0}:Qe(G,In++,Xn)})},hn.prototype.equals=function(G){return G instanceof hn?this._start===G._start&&this._end===G._end&&this._step===G._step:yn(this,G)},s(Qn,a),s(Ir,Qn),s(ht,Qn),s(L,Qn),Qn.Keyed=Ir,Qn.Indexed=ht,Qn.Set=L;var Ue="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(G,Se){var ft=65535&(G|=0),Ft=65535&(Se|=0);return ft*Ft+((G>>>16)*Ft+ft*(Se>>>16)<<16>>>0)|0};function nt(G){return G>>>1&1073741824|3221225471&G}function at(G){if(!1===G||null==G||"function"==typeof G.valueOf&&(!1===(G=G.valueOf())||null==G))return 0;if(!0===G)return 1;var Se=typeof G;if("number"===Se){if(G!=G||G===1/0)return 0;var ft=0|G;for(ft!==G&&(ft^=4294967295*G);G>4294967295;)ft^=G/=4294967295;return nt(ft)}if("string"===Se)return G.length>_r?function(G){var Se=Jn[G];return void 0===Se&&(Se=Pt(G),br===Nr&&(br=0,Jn={}),br++,Jn[G]=Se),Se}(G):Pt(G);if("function"==typeof G.hashCode)return G.hashCode();if("object"===Se)return function(G){var Se;if(Bn&&void 0!==(Se=An.get(G))||void 0!==(Se=G[mr])||!Nn&&(void 0!==(Se=G.propertyIsEnumerable&&G.propertyIsEnumerable[mr])||void 0!==(Se=function(G){if(G&&G.nodeType>0)switch(G.nodeType){case 1:return G.uniqueID;case 9:return G.documentElement&&G.documentElement.uniqueID}}(G))))return Se;if(Se=++ir,1073741824&ir&&(ir=0),Bn)An.set(G,Se);else{if(void 0!==ot&&!1===ot(G))throw new Error("Non-extensible objects are not allowed as keys.");if(Nn)Object.defineProperty(G,mr,{enumerable:!1,configurable:!1,writable:!1,value:Se});else if(void 0!==G.propertyIsEnumerable&&G.propertyIsEnumerable===G.constructor.prototype.propertyIsEnumerable)G.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},G.propertyIsEnumerable[mr]=Se;else{if(void 0===G.nodeType)throw new Error("Unable to set a non-enumerable property on object.");G[mr]=Se}}return Se}(G);if("function"==typeof G.toString)return Pt(G.toString());throw new Error("Value type "+Se+" cannot be hashed.")}function Pt(G){for(var Se=0,ft=0;ft<G.length;ft++)Se=31*Se+G.charCodeAt(ft)|0;return nt(Se)}var An,ot=Object.isExtensible,Nn=function(){try{return Object.defineProperty({},"@",{}),!0}catch(G){return!1}}(),Bn="function"==typeof WeakMap;Bn&&(An=new WeakMap);var ir=0,mr="__immutablehash__";"function"==typeof Symbol&&(mr=Symbol(mr));var _r=16,Nr=255,br=0,Jn={};function nr(G){jt(G!==1/0,"Cannot perform this action with an infinite size.")}function Mr(G){return null==G?rt():yi(G)&&!D(G)?G:rt().withMutations(function(Se){var ft=l(G);nr(ft.size),ft.forEach(function(Ft,Bt){return Se.set(Bt,Ft)})})}function yi(G){return!(!G||!G[Mi])}s(Mr,Ir),Mr.of=function(){var G=e.call(arguments,0);return rt().withMutations(function(Se){for(var ft=0;ft<G.length;ft+=2){if(ft+1>=G.length)throw new Error("Missing value for key: "+G[ft]);Se.set(G[ft],G[ft+1])}})},Mr.prototype.toString=function(){return this.__toString("Map {","}")},Mr.prototype.get=function(G,Se){return this._root?this._root.get(0,void 0,G,Se):Se},Mr.prototype.set=function(G,Se){return bt(this,G,Se)},Mr.prototype.setIn=function(G,Se){return this.updateIn(G,Y,function(){return Se})},Mr.prototype.remove=function(G){return bt(this,G,Y)},Mr.prototype.deleteIn=function(G){return this.updateIn(G,function(){return Y})},Mr.prototype.update=function(G,Se,ft){return 1===arguments.length?G(this):this.updateIn([G],Se,ft)},Mr.prototype.updateIn=function(G,Se,ft){ft||(ft=Se,Se=void 0);var Ft=fi(this,ss(G),Se,ft);return Ft===Y?void 0:Ft},Mr.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):rt()},Mr.prototype.merge=function(){return ai(this,void 0,arguments)},Mr.prototype.mergeWith=function(G){return ai(this,G,e.call(arguments,1))},Mr.prototype.mergeIn=function(G){var Se=e.call(arguments,1);return this.updateIn(G,rt(),function(ft){return"function"==typeof ft.merge?ft.merge.apply(ft,Se):Se[Se.length-1]})},Mr.prototype.mergeDeep=function(){return ai(this,Dr,arguments)},Mr.prototype.mergeDeepWith=function(G){var Se=e.call(arguments,1);return ai(this,Qr(G),Se)},Mr.prototype.mergeDeepIn=function(G){var Se=e.call(arguments,1);return this.updateIn(G,rt(),function(ft){return"function"==typeof ft.mergeDeep?ft.mergeDeep.apply(ft,Se):Se[Se.length-1]})},Mr.prototype.sort=function(G){return $r(pt(this,G))},Mr.prototype.sortBy=function(G,Se){return $r(pt(this,Se,G))},Mr.prototype.withMutations=function(G){var Se=this.asMutable();return G(Se),Se.wasAltered()?Se.__ensureOwner(this.__ownerID):this},Mr.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new he)},Mr.prototype.asImmutable=function(){return this.__ensureOwner()},Mr.prototype.wasAltered=function(){return this.__altered},Mr.prototype.__iterator=function(G,Se){return new Ke(this,G,Se)},Mr.prototype.__iterate=function(G,Se){var ft=this,Ft=0;return this._root&&this._root.iterate(function(Bt){return Ft++,G(Bt[1],Bt[0],ft)},Se),Ft},Mr.prototype.__ensureOwner=function(G){return G===this.__ownerID?this:G?Ct(this.size,this._root,G,this.__hash):(this.__ownerID=G,this.__altered=!1,this)},Mr.isMap=yi;var Ii,Mi="@@__IMMUTABLE_MAP__@@",Oi=Mr.prototype;function Kr(G,Se){this.ownerID=G,this.entries=Se}function ei(G,Se,ft){this.ownerID=G,this.bitmap=Se,this.nodes=ft}function di(G,Se,ft){this.ownerID=G,this.count=Se,this.nodes=ft}function se(G,Se,ft){this.ownerID=G,this.keyHash=Se,this.entries=ft}function ct(G,Se,ft){this.ownerID=G,this.keyHash=Se,this.entry=ft}function Ke(G,Se,ft){this._type=Se,this._reverse=ft,this._stack=G._root&&Vt(G._root)}function Xe(G,Se){return Qe(G,Se[0],Se[1])}function Vt(G,Se){return{node:G,index:0,__prev:Se}}function Ct(G,Se,ft,Ft){var Bt=Object.create(Oi);return Bt.size=G,Bt._root=Se,Bt.__ownerID=ft,Bt.__hash=Ft,Bt.__altered=!1,Bt}function rt(){return Ii||(Ii=Ct(0))}function bt(G,Se,ft){var Ft,Bt;if(G._root){var In=fe(ie),Xn=fe(oe);if(Ft=We(G._root,G.__ownerID,0,void 0,Se,ft,In,Xn),!Xn.value)return G;Bt=G.size+(In.value?ft===Y?-1:1:0)}else{if(ft===Y)return G;Bt=1,Ft=new Kr(G.__ownerID,[[Se,ft]])}return G.__ownerID?(G.size=Bt,G._root=Ft,G.__hash=void 0,G.__altered=!0,G):Ft?Ct(Bt,Ft):rt()}function We(G,Se,ft,Ft,Bt,In,Xn,Sr){return G?G.update(Se,ft,Ft,Bt,In,Xn,Sr):In===Y?G:(ne(Sr),ne(Xn),new ct(Se,Ft,[Bt,In]))}function $t(G){return G.constructor===ct||G.constructor===se}function or(G,Se,ft,Ft,Bt){if(G.keyHash===Ft)return new se(Se,Ft,[G.entry,Bt]);var In,Xn=(0===ft?G.keyHash:G.keyHash>>>ft)&J,Sr=(0===ft?Ft:Ft>>>ft)&J;return new ei(Se,1<<Xn|1<<Sr,Xn===Sr?[or(G,Se,ft+5,Ft,Bt)]:(In=new ct(Se,Ft,Bt),Xn<Sr?[G,In]:[In,G]))}function ai(G,Se,ft){for(var Ft=[],Bt=0;Bt<ft.length;Bt++){var In=ft[Bt],Xn=l(In);_(In)||(Xn=Xn.map(function(Sr){return jn(Sr)})),Ft.push(Xn)}return rn(G,Se,Ft)}function Dr(G,Se,ft){return G&&G.mergeDeep&&_(Se)?G.mergeDeep(Se):Tt(G,Se)?G:Se}function Qr(G){return function(Se,ft,Ft){if(Se&&Se.mergeDeepWith&&_(ft))return Se.mergeDeepWith(G,ft);var Bt=G(Se,ft,Ft);return Tt(Se,Bt)?Se:Bt}}function rn(G,Se,ft){return 0===(ft=ft.filter(function(Ft){return 0!==Ft.size})).length?G:0!==G.size||G.__ownerID||1!==ft.length?G.withMutations(function(Ft){for(var Bt=Se?function(Xn,Sr){Ft.update(Sr,Y,function(pi){return pi===Y?Xn:Se(pi,Xn,Sr)})}:function(Xn,Sr){Ft.set(Sr,Xn)},In=0;In<ft.length;In++)ft[In].forEach(Bt)}):G.constructor(ft[0])}function fi(G,Se,ft,Ft){var Bt=G===Y,In=Se.next();if(In.done){var Xn=Bt?ft:G,Sr=Ft(Xn);return Sr===Xn?G:Sr}jt(Bt||G&&G.set,"invalid keyPath");var pi=In.value,Fr=Bt?Y:G.get(pi,Y),zr=fi(Fr,Se,ft,Ft);return zr===Fr?G:zr===Y?G.remove(pi):(Bt?rt():G).set(pi,zr)}function Ei(G){return G=(G=(858993459&(G-=G>>1&1431655765))+(G>>2&858993459))+(G>>4)&252645135,127&(G+=G>>8)+(G>>16)}function wi(G,Se,ft,Ft){var Bt=Ft?G:ce(G);return Bt[Se]=ft,Bt}Oi[Mi]=!0,Oi[U]=Oi.remove,Oi.removeIn=Oi.deleteIn,Kr.prototype.get=function(G,Se,ft,Ft){for(var Bt=this.entries,In=0,Xn=Bt.length;In<Xn;In++)if(Tt(ft,Bt[In][0]))return Bt[In][1];return Ft},Kr.prototype.update=function(G,Se,ft,Ft,Bt,In,Xn){for(var Sr=Bt===Y,pi=this.entries,Fr=0,zr=pi.length;Fr<zr&&!Tt(Ft,pi[Fr][0]);Fr++);var Un=Fr<zr;if(Un?pi[Fr][1]===Bt:Sr)return this;if(ne(Xn),(Sr||!Un)&&ne(In),!Sr||1!==pi.length){if(!Un&&!Sr&&pi.length>=no)return function(G,Se,ft,Ft){G||(G=new he);for(var Bt=new ct(G,at(ft),[ft,Ft]),In=0;In<Se.length;In++){var Xn=Se[In];Bt=Bt.update(G,0,void 0,Xn[0],Xn[1])}return Bt}(G,pi,Ft,Bt);var lr=G&&G===this.ownerID,dr=lr?pi:ce(pi);return Un?Sr?Fr===zr-1?dr.pop():dr[Fr]=dr.pop():dr[Fr]=[Ft,Bt]:dr.push([Ft,Bt]),lr?(this.entries=dr,this):new Kr(G,dr)}},ei.prototype.get=function(G,Se,ft,Ft){void 0===Se&&(Se=at(ft));var Bt=1<<((0===G?Se:Se>>>G)&J),In=this.bitmap;return 0==(In&Bt)?Ft:this.nodes[Ei(In&Bt-1)].get(G+5,Se,ft,Ft)},ei.prototype.update=function(G,Se,ft,Ft,Bt,In,Xn){void 0===ft&&(ft=at(Ft));var Sr=(0===Se?ft:ft>>>Se)&J,pi=1<<Sr,Fr=this.bitmap,zr=0!=(Fr&pi);if(!zr&&Bt===Y)return this;var Un=Ei(Fr&pi-1),lr=this.nodes,dr=zr?lr[Un]:void 0,li=We(dr,G,Se+5,ft,Ft,Bt,In,Xn);if(li===dr)return this;if(!zr&&li&&lr.length>=Ji)return function(G,Se,ft,Ft,Bt){for(var In=0,Xn=new Array(I),Sr=0;0!==ft;Sr++,ft>>>=1)Xn[Sr]=1&ft?Se[In++]:void 0;return Xn[Ft]=Bt,new di(G,In+1,Xn)}(G,lr,Fr,Sr,li);if(zr&&!li&&2===lr.length&&$t(lr[1^Un]))return lr[1^Un];if(zr&&li&&1===lr.length&&$t(li))return li;var Ti=G&&G===this.ownerID,Ao=zr?li?Fr:Fr^pi:Fr|pi,Qo=zr?li?wi(lr,Un,li,Ti):function(G,Se,ft){var Ft=G.length-1;if(ft&&Se===Ft)return G.pop(),G;for(var Bt=new Array(Ft),In=0,Xn=0;Xn<Ft;Xn++)Xn===Se&&(In=1),Bt[Xn]=G[Xn+In];return Bt}(lr,Un,Ti):function(G,Se,ft,Ft){var Bt=G.length+1;if(Ft&&Se+1===Bt)return G[Se]=ft,G;for(var In=new Array(Bt),Xn=0,Sr=0;Sr<Bt;Sr++)Sr===Se?(In[Sr]=ft,Xn=-1):In[Sr]=G[Sr+Xn];return In}(lr,Un,li,Ti);return Ti?(this.bitmap=Ao,this.nodes=Qo,this):new ei(G,Ao,Qo)},di.prototype.get=function(G,Se,ft,Ft){void 0===Se&&(Se=at(ft));var In=this.nodes[(0===G?Se:Se>>>G)&J];return In?In.get(G+5,Se,ft,Ft):Ft},di.prototype.update=function(G,Se,ft,Ft,Bt,In,Xn){void 0===ft&&(ft=at(Ft));var Sr=(0===Se?ft:ft>>>Se)&J,Fr=this.nodes,zr=Fr[Sr];if(Bt===Y&&!zr)return this;var Un=We(zr,G,Se+5,ft,Ft,Bt,In,Xn);if(Un===zr)return this;var lr=this.count;if(zr){if(!Un&&--lr<qi)return function(G,Se,ft,Ft){for(var Bt=0,In=0,Xn=new Array(ft),Sr=0,pi=1,Fr=Se.length;Sr<Fr;Sr++,pi<<=1){var zr=Se[Sr];void 0!==zr&&Sr!==Ft&&(Bt|=pi,Xn[In++]=zr)}return new ei(G,Bt,Xn)}(G,Fr,lr,Sr)}else lr++;var dr=G&&G===this.ownerID,li=wi(Fr,Sr,Un,dr);return dr?(this.count=lr,this.nodes=li,this):new di(G,lr,li)},se.prototype.get=function(G,Se,ft,Ft){for(var Bt=this.entries,In=0,Xn=Bt.length;In<Xn;In++)if(Tt(ft,Bt[In][0]))return Bt[In][1];return Ft},se.prototype.update=function(G,Se,ft,Ft,Bt,In,Xn){void 0===ft&&(ft=at(Ft));var Sr=Bt===Y;if(ft!==this.keyHash)return Sr?this:(ne(Xn),ne(In),or(this,G,Se,ft,[Ft,Bt]));for(var pi=this.entries,Fr=0,zr=pi.length;Fr<zr&&!Tt(Ft,pi[Fr][0]);Fr++);var Un=Fr<zr;if(Un?pi[Fr][1]===Bt:Sr)return this;if(ne(Xn),(Sr||!Un)&&ne(In),Sr&&2===zr)return new ct(G,this.keyHash,pi[1^Fr]);var lr=G&&G===this.ownerID,dr=lr?pi:ce(pi);return Un?Sr?Fr===zr-1?dr.pop():dr[Fr]=dr.pop():dr[Fr]=[Ft,Bt]:dr.push([Ft,Bt]),lr?(this.entries=dr,this):new se(G,this.keyHash,dr)},ct.prototype.get=function(G,Se,ft,Ft){return Tt(ft,this.entry[0])?this.entry[1]:Ft},ct.prototype.update=function(G,Se,ft,Ft,Bt,In,Xn){var Sr=Bt===Y,pi=Tt(Ft,this.entry[0]);return(pi?Bt===this.entry[1]:Sr)?this:(ne(Xn),Sr?void ne(In):pi?G&&G===this.ownerID?(this.entry[1]=Bt,this):new ct(G,this.keyHash,[Ft,Bt]):(ne(In),or(this,G,Se,at(Ft),[Ft,Bt])))},Kr.prototype.iterate=se.prototype.iterate=function(G,Se){for(var ft=this.entries,Ft=0,Bt=ft.length-1;Ft<=Bt;Ft++)if(!1===G(ft[Se?Bt-Ft:Ft]))return!1},ei.prototype.iterate=di.prototype.iterate=function(G,Se){for(var ft=this.nodes,Ft=0,Bt=ft.length-1;Ft<=Bt;Ft++){var In=ft[Se?Bt-Ft:Ft];if(In&&!1===In.iterate(G,Se))return!1}},ct.prototype.iterate=function(G,Se){return G(this.entry)},s(Ke,At),Ke.prototype.next=function(){for(var G=this._type,Se=this._stack;Se;){var ft,Ft=Se.node,Bt=Se.index++;if(Ft.entry){if(0===Bt)return Xe(G,Ft.entry)}else if(Ft.entries){if(Bt<=(ft=Ft.entries.length-1))return Xe(G,Ft.entries[this._reverse?ft-Bt:Bt])}else if(Bt<=(ft=Ft.nodes.length-1)){var In=Ft.nodes[this._reverse?ft-Bt:Bt];if(In){if(In.entry)return Xe(G,In.entry);Se=this._stack=Vt(In,Se)}continue}Se=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var no=8,Ji=16,qi=8;function to(G){var Se=oa();if(null==G)return Se;if(zi(G))return G;var ft=u(G),Ft=ft.size;return 0===Ft?Se:(nr(Ft),Ft>0&&Ft<I?zo(0,Ft,5,null,new Bo(ft.toArray())):Se.withMutations(function(Bt){Bt.setSize(Ft),ft.forEach(function(In,Xn){return Bt.set(Xn,In)})}))}function zi(G){return!(!G||!G[Go])}s(to,ht),to.of=function(){return this(arguments)},to.prototype.toString=function(){return this.__toString("List [","]")},to.prototype.get=function(G,Se){if((G=Me(this,G))>=0&&G<this.size){var ft=ee(this,G+=this._origin);return ft&&ft.array[G&J]}return Se},to.prototype.set=function(G,Se){return function(G,Se,ft){if((Se=Me(G,Se))!=Se)return G;if(Se>=G.size||Se<0)return G.withMutations(function(Xn){Se<0?Ve(Xn,Se).set(0,ft):Ve(Xn,0,Se+1).set(Se,ft)});Se+=G._origin;var Ft=G._tail,Bt=G._root,In=fe(oe);return Se>=Tn(G._capacity)?Ft=st(Ft,G.__ownerID,0,Se,ft,In):Bt=st(Bt,G.__ownerID,G._level,Se,ft,In),In.value?G.__ownerID?(G._root=Bt,G._tail=Ft,G.__hash=void 0,G.__altered=!0,G):zo(G._origin,G._capacity,G._level,Bt,Ft):G}(this,G,Se)},to.prototype.remove=function(G){return this.has(G)?0===G?this.shift():G===this.size-1?this.pop():this.splice(G,1):this},to.prototype.insert=function(G,Se){return this.splice(G,0,Se)},to.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=5,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):oa()},to.prototype.push=function(){var G=arguments,Se=this.size;return this.withMutations(function(ft){Ve(ft,0,Se+G.length);for(var Ft=0;Ft<G.length;Ft++)ft.set(Se+Ft,G[Ft])})},to.prototype.pop=function(){return Ve(this,0,-1)},to.prototype.unshift=function(){var G=arguments;return this.withMutations(function(Se){Ve(Se,-G.length);for(var ft=0;ft<G.length;ft++)Se.set(ft,G[ft])})},to.prototype.shift=function(){return Ve(this,1)},to.prototype.merge=function(){return fn(this,void 0,arguments)},to.prototype.mergeWith=function(G){return fn(this,G,e.call(arguments,1))},to.prototype.mergeDeep=function(){return fn(this,Dr,arguments)},to.prototype.mergeDeepWith=function(G){var Se=e.call(arguments,1);return fn(this,Qr(G),Se)},to.prototype.setSize=function(G){return Ve(this,0,G)},to.prototype.slice=function(G,Se){var ft=this.size;return be(G,Se,ft)?this:Ve(this,ue(G,ft),He(Se,ft))},to.prototype.__iterator=function(G,Se){var ft=0,Ft=ds(this,Se);return new At(function(){var Bt=Ft();return Bt===ua?{value:void 0,done:!0}:Qe(G,ft++,Bt)})},to.prototype.__iterate=function(G,Se){for(var ft,Ft=0,Bt=ds(this,Se);(ft=Bt())!==ua&&!1!==G(ft,Ft++,this););return Ft},to.prototype.__ensureOwner=function(G){return G===this.__ownerID?this:G?zo(this._origin,this._capacity,this._level,this._root,this._tail,G,this.__hash):(this.__ownerID=G,this)},to.isList=zi;var Go="@@__IMMUTABLE_LIST__@@",Ro=to.prototype;function Bo(G,Se){this.array=G,this.ownerID=Se}Ro[Go]=!0,Ro[U]=Ro.remove,Ro.setIn=Oi.setIn,Ro.deleteIn=Ro.removeIn=Oi.removeIn,Ro.update=Oi.update,Ro.updateIn=Oi.updateIn,Ro.mergeIn=Oi.mergeIn,Ro.mergeDeepIn=Oi.mergeDeepIn,Ro.withMutations=Oi.withMutations,Ro.asMutable=Oi.asMutable,Ro.asImmutable=Oi.asImmutable,Ro.wasAltered=Oi.wasAltered,Bo.prototype.removeBefore=function(G,Se,ft){if(ft===Se?1<<Se:0===this.array.length)return this;var Ft=ft>>>Se&J;if(Ft>=this.array.length)return new Bo([],G);var Bt,In=0===Ft;if(Se>0){var Xn=this.array[Ft];if((Bt=Xn&&Xn.removeBefore(G,Se-5,ft))===Xn&&In)return this}if(In&&!Bt)return this;var Sr=pn(this,G);if(!In)for(var pi=0;pi<Ft;pi++)Sr.array[pi]=void 0;return Bt&&(Sr.array[Ft]=Bt),Sr},Bo.prototype.removeAfter=function(G,Se,ft){if(ft===(Se?1<<Se:0)||0===this.array.length)return this;var Ft,Bt=ft-1>>>Se&J;if(Bt>=this.array.length)return this;if(Se>0){var In=this.array[Bt];if((Ft=In&&In.removeAfter(G,Se-5,ft))===In&&Bt===this.array.length-1)return this}var Xn=pn(this,G);return Xn.array.splice(Bt+1),Ft&&(Xn.array[Bt]=Ft),Xn};var Jo,es,ua={};function ds(G,Se){var ft=G._origin,Ft=G._capacity,Bt=Tn(Ft),In=G._tail;return function Xn(Fr,zr,Un){return 0===zr?function(Fr,zr){var Un=zr===Bt?In&&In.array:Fr&&Fr.array,lr=zr>ft?0:ft-zr,dr=Ft-zr;return dr>I&&(dr=I),function(){if(lr===dr)return ua;var li=Se?--dr:lr++;return Un&&Un[li]}}(Fr,Un):function(Fr,zr,Un){var lr,dr=Fr&&Fr.array,li=Un>ft?0:ft-Un>>zr,Ti=1+(Ft-Un>>zr);return Ti>I&&(Ti=I),function(){for(;;){if(lr){var Ao=lr();if(Ao!==ua)return Ao;lr=null}if(li===Ti)return ua;var Qo=Se?--Ti:li++;lr=Xn(dr&&dr[Qo],zr-5,Un+(Qo<<zr))}}}(Fr,zr,Un)}(G._root,G._level,0)}function zo(G,Se,ft,Ft,Bt,In,Xn){var Sr=Object.create(Ro);return Sr.size=Se-G,Sr._origin=G,Sr._capacity=Se,Sr._level=ft,Sr._root=Ft,Sr._tail=Bt,Sr.__ownerID=In,Sr.__hash=Xn,Sr.__altered=!1,Sr}function oa(){return Jo||(Jo=zo(0,0,5))}function st(G,Se,ft,Ft,Bt,In){var Xn,Sr=Ft>>>ft&J,pi=G&&Sr<G.array.length;if(!pi&&void 0===Bt)return G;if(ft>0){var Fr=G&&G.array[Sr],zr=st(Fr,Se,ft-5,Ft,Bt,In);return zr===Fr?G:((Xn=pn(G,Se)).array[Sr]=zr,Xn)}return pi&&G.array[Sr]===Bt?G:(ne(In),Xn=pn(G,Se),void 0===Bt&&Sr===Xn.array.length-1?Xn.array.pop():Xn.array[Sr]=Bt,Xn)}function pn(G,Se){return Se&&G&&Se===G.ownerID?G:new Bo(G?G.array.slice():[],Se)}function ee(G,Se){if(Se>=Tn(G._capacity))return G._tail;if(Se<1<<G._level+5){for(var ft=G._root,Ft=G._level;ft&&Ft>0;)ft=ft.array[Se>>>Ft&J],Ft-=5;return ft}}function Ve(G,Se,ft){void 0!==Se&&(Se|=0),void 0!==ft&&(ft|=0);var Ft=G.__ownerID||new he,Bt=G._origin,In=G._capacity,Xn=Bt+Se,Sr=void 0===ft?In:ft<0?In+ft:Bt+ft;if(Xn===Bt&&Sr===In)return G;if(Xn>=Sr)return G.clear();for(var pi=G._level,Fr=G._root,zr=0;Xn+zr<0;)Fr=new Bo(Fr&&Fr.array.length?[void 0,Fr]:[],Ft),zr+=1<<(pi+=5);zr&&(Xn+=zr,Bt+=zr,Sr+=zr,In+=zr);for(var Un=Tn(In),lr=Tn(Sr);lr>=1<<pi+5;)Fr=new Bo(Fr&&Fr.array.length?[Fr]:[],Ft),pi+=5;var dr=G._tail,li=lr<Un?ee(G,Sr-1):lr>Un?new Bo([],Ft):dr;if(dr&&lr>Un&&Xn<In&&dr.array.length){for(var Ti=Fr=pn(Fr,Ft),Ao=pi;Ao>5;Ao-=5){var Qo=Un>>>Ao&J;Ti=Ti.array[Qo]=pn(Ti.array[Qo],Ft)}Ti.array[Un>>>5&J]=dr}if(Sr<In&&(li=li&&li.removeAfter(Ft,0,Sr)),Xn>=lr)Xn-=lr,Sr-=lr,pi=5,Fr=null,li=li&&li.removeBefore(Ft,0,Xn);else if(Xn>Bt||lr<Un){for(zr=0;Fr;){var jo=Xn>>>pi&J;if(jo!==lr>>>pi&J)break;jo&&(zr+=(1<<pi)*jo),pi-=5,Fr=Fr.array[jo]}Fr&&Xn>Bt&&(Fr=Fr.removeBefore(Ft,pi,Xn-zr)),Fr&&lr<Un&&(Fr=Fr.removeAfter(Ft,pi,lr-zr)),zr&&(Xn-=zr,Sr-=zr)}return G.__ownerID?(G.size=Sr-Xn,G._origin=Xn,G._capacity=Sr,G._level=pi,G._root=Fr,G._tail=li,G.__hash=void 0,G.__altered=!0,G):zo(Xn,Sr,pi,Fr,li)}function fn(G,Se,ft){for(var Ft=[],Bt=0,In=0;In<ft.length;In++){var Xn=ft[In],Sr=u(Xn);Sr.size>Bt&&(Bt=Sr.size),_(Xn)||(Sr=Sr.map(function(pi){return jn(pi)})),Ft.push(Sr)}return Bt>G.size&&(G=G.setSize(Bt)),rn(G,Se,Ft)}function Tn(G){return G<I?0:G-1>>>5<<5}function $r(G){return null==G?Do():ni(G)?G:Do().withMutations(function(Se){var ft=l(G);nr(ft.size),ft.forEach(function(Ft,Bt){return Se.set(Bt,Ft)})})}function ni(G){return yi(G)&&D(G)}function Ri(G,Se,ft,Ft){var Bt=Object.create($r.prototype);return Bt.size=G?G.size:0,Bt._map=G,Bt._list=Se,Bt.__ownerID=ft,Bt.__hash=Ft,Bt}function Do(){return es||(es=Ri(rt(),oa()))}function gi(G,Se,ft){var Ft,Bt,In=G._map,Xn=G._list,Sr=In.get(Se),pi=void 0!==Sr;if(ft===Y){if(!pi)return G;Xn.size>=I&&Xn.size>=2*In.size?(Ft=(Bt=Xn.filter(function(Fr,zr){return void 0!==Fr&&Sr!==zr})).toKeyedSeq().map(function(Fr){return Fr[0]}).flip().toMap(),G.__ownerID&&(Ft.__ownerID=Bt.__ownerID=G.__ownerID)):(Ft=In.remove(Se),Bt=Sr===Xn.size-1?Xn.pop():Xn.set(Sr,void 0))}else if(pi){if(ft===Xn.get(Sr)[1])return G;Ft=In,Bt=Xn.set(Sr,[Se,ft])}else Ft=In.set(Se,Xn.size),Bt=Xn.set(Xn.size,[Se,ft]);return G.__ownerID?(G.size=Ft.size,G._map=Ft,G._list=Bt,G.__hash=void 0,G):Ri(Ft,Bt)}function Hi(G,Se){this._iter=G,this._useKeys=Se,this.size=G.size}function Li(G){this._iter=G,this.size=G.size}function cs(G){this._iter=G,this.size=G.size}function Os(G){this._iter=G,this.size=G.size}function da(G){var Se=Ni(G);return Se._iter=G,Se.size=G.size,Se.flip=function(){return G},Se.reverse=function(){var ft=G.reverse.apply(this);return ft.flip=function(){return G.reverse()},ft},Se.has=function(ft){return G.includes(ft)},Se.includes=function(ft){return G.has(ft)},Se.cacheResult=Yo,Se.__iterateUncached=function(ft,Ft){var Bt=this;return G.__iterate(function(In,Xn){return!1!==ft(Xn,In,Bt)},Ft)},Se.__iteratorUncached=function(ft,Ft){if(2===ft){var Bt=G.__iterator(ft,Ft);return new At(function(){var In=Bt.next();if(!In.done){var Xn=In.value[0];In.value[0]=In.value[1],In.value[1]=Xn}return In})}return G.__iterator(1===ft?0:1,Ft)},Se}function xa(G,Se,ft){var Ft=Ni(G);return Ft.size=G.size,Ft.has=function(Bt){return G.has(Bt)},Ft.get=function(Bt,In){var Xn=G.get(Bt,Y);return Xn===Y?In:Se.call(ft,Xn,Bt,G)},Ft.__iterateUncached=function(Bt,In){var Xn=this;return G.__iterate(function(Sr,pi,Fr){return!1!==Bt(Se.call(ft,Sr,pi,Fr),pi,Xn)},In)},Ft.__iteratorUncached=function(Bt,In){var Xn=G.__iterator(2,In);return new At(function(){var Sr=Xn.next();if(Sr.done)return Sr;var pi=Sr.value,Fr=pi[0];return Qe(Bt,Fr,Se.call(ft,pi[1],Fr,G),Sr)})},Ft}function Ra(G,Se){var ft=Ni(G);return ft._iter=G,ft.size=G.size,ft.reverse=function(){return G},G.flip&&(ft.flip=function(){var Ft=da(G);return Ft.reverse=function(){return G.flip()},Ft}),ft.get=function(Ft,Bt){return G.get(Se?Ft:-1-Ft,Bt)},ft.has=function(Ft){return G.has(Se?Ft:-1-Ft)},ft.includes=function(Ft){return G.includes(Ft)},ft.cacheResult=Yo,ft.__iterate=function(Ft,Bt){var In=this;return G.__iterate(function(Xn,Sr){return Ft(Xn,Sr,In)},!Bt)},ft.__iterator=function(Ft,Bt){return G.__iterator(Ft,!Bt)},ft}function Ml(G,Se,ft,Ft){var Bt=Ni(G);return Ft&&(Bt.has=function(In){var Xn=G.get(In,Y);return Xn!==Y&&!!Se.call(ft,Xn,In,G)},Bt.get=function(In,Xn){var Sr=G.get(In,Y);return Sr!==Y&&Se.call(ft,Sr,In,G)?Sr:Xn}),Bt.__iterateUncached=function(In,Xn){var Sr=this,pi=0;return G.__iterate(function(Fr,zr,Un){if(Se.call(ft,Fr,zr,Un))return pi++,In(Fr,Ft?zr:pi-1,Sr)},Xn),pi},Bt.__iteratorUncached=function(In,Xn){var Sr=G.__iterator(2,Xn),pi=0;return new At(function(){for(;;){var Fr=Sr.next();if(Fr.done)return Fr;var zr=Fr.value,Un=zr[0],lr=zr[1];if(Se.call(ft,lr,Un,G))return Qe(In,Ft?Un:pi++,lr,Fr)}})},Bt}function sa(G,Se,ft,Ft){var Bt=G.size;if(void 0!==Se&&(Se|=0),void 0!==ft&&(ft===1/0?ft=Bt:ft|=0),be(Se,ft,Bt))return G;var In=ue(Se,Bt),Xn=He(ft,Bt);if(In!=In||Xn!=Xn)return sa(G.toSeq().cacheResult(),Se,ft,Ft);var Sr,pi=Xn-In;pi==pi&&(Sr=pi<0?0:pi);var Fr=Ni(G);return Fr.size=0===Sr?Sr:G.size&&Sr||void 0,!Ft&&Kn(G)&&Sr>=0&&(Fr.get=function(zr,Un){return(zr=Me(this,zr))>=0&&zr<Sr?G.get(zr+In,Un):Un}),Fr.__iterateUncached=function(zr,Un){var lr=this;if(0===Sr)return 0;if(Un)return this.cacheResult().__iterate(zr,Un);var dr=0,li=!0,Ti=0;return G.__iterate(function(Ao,Qo){if(!li||!(li=dr++<In))return Ti++,!1!==zr(Ao,Ft?Qo:Ti-1,lr)&&Ti!==Sr}),Ti},Fr.__iteratorUncached=function(zr,Un){if(0!==Sr&&Un)return this.cacheResult().__iterator(zr,Un);var lr=0!==Sr&&G.__iterator(zr,Un),dr=0,li=0;return new At(function(){for(;dr++<In;)lr.next();if(++li>Sr)return{value:void 0,done:!0};var Ti=lr.next();return Ft||1===zr?Ti:Qe(zr,li-1,0===zr?void 0:Ti.value[1],Ti)})},Fr}function Ka(G,Se,ft,Ft){var Bt=Ni(G);return Bt.__iterateUncached=function(In,Xn){var Sr=this;if(Xn)return this.cacheResult().__iterate(In,Xn);var pi=!0,Fr=0;return G.__iterate(function(zr,Un,lr){if(!pi||!(pi=Se.call(ft,zr,Un,lr)))return Fr++,In(zr,Ft?Un:Fr-1,Sr)}),Fr},Bt.__iteratorUncached=function(In,Xn){var Sr=this;if(Xn)return this.cacheResult().__iterator(In,Xn);var pi=G.__iterator(2,Xn),Fr=!0,zr=0;return new At(function(){var Un,lr,dr;do{if((Un=pi.next()).done)return Ft||1===In?Un:Qe(In,zr++,0===In?void 0:Un.value[1],Un);var li=Un.value;lr=li[0],dr=li[1],Fr&&(Fr=Se.call(ft,dr,lr,Sr))}while(Fr);return 2===In?Un:Qe(In,lr,dr,Un)})},Bt}function Sa(G,Se){var ft=m(G),Ft=[G].concat(Se).map(function(Xn){return _(Xn)?ft&&(Xn=l(Xn)):Xn=ft?Sn(Xn):$n(Array.isArray(Xn)?Xn:[Xn]),Xn}).filter(function(Xn){return 0!==Xn.size});if(0===Ft.length)return G;if(1===Ft.length){var Bt=Ft[0];if(Bt===G||ft&&m(Bt)||b(G)&&b(Bt))return Bt}var In=new Yn(Ft);return ft?In=In.toKeyedSeq():b(G)||(In=In.toSetSeq()),(In=In.flatten(!0)).size=Ft.reduce(function(Xn,Sr){if(void 0!==Xn){var pi=Sr.size;if(void 0!==pi)return Xn+pi}},0),In}function fa(G,Se,ft){var Ft=Ni(G);return Ft.__iterateUncached=function(Bt,In){var Xn=0,Sr=!1;return function pi(Fr,zr){var Un=this;Fr.__iterate(function(lr,dr){return(!Se||zr<Se)&&_(lr)?pi(lr,zr+1):!1===Bt(lr,ft?dr:Xn++,Un)&&(Sr=!0),!Sr},In)}(G,0),Xn},Ft.__iteratorUncached=function(Bt,In){var Xn=G.__iterator(Bt,In),Sr=[],pi=0;return new At(function(){for(;Xn;){var Fr=Xn.next();if(!1===Fr.done){var zr=Fr.value;if(2===Bt&&(zr=zr[1]),Se&&!(Sr.length<Se)||!_(zr))return ft?Fr:Qe(Bt,pi++,zr,Fr);Sr.push(Xn),Xn=zr.__iterator(Bt,In)}else Xn=Sr.pop()}return{value:void 0,done:!0}})},Ft}function pt(G,Se,ft){Se||(Se=ms);var Ft=m(G),Bt=0,In=G.toSeq().map(function(Xn,Sr){return[Sr,Xn,Bt++,ft?ft(Xn,Sr,G):Xn]}).toArray();return In.sort(function(Xn,Sr){return Se(Xn[3],Sr[3])||Xn[2]-Sr[2]}).forEach(Ft?function(Xn,Sr){In[Sr].length=2}:function(Xn,Sr){In[Sr]=Xn[1]}),Ft?ar(In):b(G)?Ln(In):Rn(In)}function an(G,Se,ft){if(Se||(Se=ms),ft){var Ft=G.toSeq().map(function(Bt,In){return[Bt,ft(Bt,In,G)]}).reduce(function(Bt,In){return Nt(Se,Bt[1],In[1])?In:Bt});return Ft&&Ft[0]}return G.reduce(function(Bt,In){return Nt(Se,Bt,In)?In:Bt})}function Nt(G,Se,ft){var Ft=G(ft,Se);return 0===Ft&&ft!==Se&&(null==ft||ft!=ft)||Ft>0}function Ce(G,Se,ft){var Ft=Ni(G);return Ft.size=new Yn(ft).map(function(Bt){return Bt.size}).min(),Ft.__iterate=function(Bt,In){for(var Xn,Sr=this.__iterator(1,In),pi=0;!(Xn=Sr.next()).done&&!1!==Bt(Xn.value,pi++,this););return pi},Ft.__iteratorUncached=function(Bt,In){var Xn=ft.map(function(Fr){return Fr=a(Fr),dt(In?Fr.reverse():Fr)}),Sr=0,pi=!1;return new At(function(){var Fr;return pi||(Fr=Xn.map(function(zr){return zr.next()}),pi=Fr.some(function(zr){return zr.done})),pi?{value:void 0,done:!0}:Qe(Bt,Sr++,Se.apply(null,Fr.map(function(zr){return zr.value})))})},Ft}function ye(G,Se){return Kn(G)?Se:G.constructor(Se)}function Ne(G){if(G!==Object(G))throw new TypeError("Expected [K, V] tuple: "+G)}function Wt(G){return nr(G.size),Ae(G)}function Or(G){return m(G)?l:b(G)?u:h}function Ni(G){return Object.create((m(G)?ar:b(G)?Ln:Rn).prototype)}function Yo(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):ln.prototype.cacheResult.call(this)}function ms(G,Se){return G>Se?1:G<Se?-1:0}function ss(G){var Se=dt(G);if(!Se){if(!zt(G))throw new TypeError("Expected iterable or array-like: "+G);Se=dt(a(G))}return Se}function Lo(G,Se){var ft,Ft=function(In){if(In instanceof Ft)return In;if(!(this instanceof Ft))return new Ft(In);if(!ft){ft=!0;var Xn=Object.keys(G);(function(G,Se){try{Se.forEach(va.bind(void 0,G))}catch(ft){}})(Bt,Xn),Bt.size=Xn.length,Bt._name=Se,Bt._keys=Xn,Bt._defaultValues=G}this._map=Mr(In)},Bt=Ft.prototype=Object.create(Zo);return Bt.constructor=Ft,Ft}s($r,Mr),$r.of=function(){return this(arguments)},$r.prototype.toString=function(){return this.__toString("OrderedMap {","}")},$r.prototype.get=function(G,Se){var ft=this._map.get(G);return void 0!==ft?this._list.get(ft)[1]:Se},$r.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):Do()},$r.prototype.set=function(G,Se){return gi(this,G,Se)},$r.prototype.remove=function(G){return gi(this,G,Y)},$r.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},$r.prototype.__iterate=function(G,Se){var ft=this;return this._list.__iterate(function(Ft){return Ft&&G(Ft[1],Ft[0],ft)},Se)},$r.prototype.__iterator=function(G,Se){return this._list.fromEntrySeq().__iterator(G,Se)},$r.prototype.__ensureOwner=function(G){if(G===this.__ownerID)return this;var Se=this._map.__ensureOwner(G),ft=this._list.__ensureOwner(G);return G?Ri(Se,ft,G,this.__hash):(this.__ownerID=G,this._map=Se,this._list=ft,this)},$r.isOrderedMap=ni,$r.prototype[z]=!0,$r.prototype[U]=$r.prototype.remove,s(Hi,ar),Hi.prototype.get=function(G,Se){return this._iter.get(G,Se)},Hi.prototype.has=function(G){return this._iter.has(G)},Hi.prototype.valueSeq=function(){return this._iter.valueSeq()},Hi.prototype.reverse=function(){var G=this,Se=Ra(this,!0);return this._useKeys||(Se.valueSeq=function(){return G._iter.toSeq().reverse()}),Se},Hi.prototype.map=function(G,Se){var ft=this,Ft=xa(this,G,Se);return this._useKeys||(Ft.valueSeq=function(){return ft._iter.toSeq().map(G,Se)}),Ft},Hi.prototype.__iterate=function(G,Se){var ft,Ft=this;return this._iter.__iterate(this._useKeys?function(Bt,In){return G(Bt,In,Ft)}:(ft=Se?Wt(this):0,function(Bt){return G(Bt,Se?--ft:ft++,Ft)}),Se)},Hi.prototype.__iterator=function(G,Se){if(this._useKeys)return this._iter.__iterator(G,Se);var ft=this._iter.__iterator(1,Se),Ft=Se?Wt(this):0;return new At(function(){var Bt=ft.next();return Bt.done?Bt:Qe(G,Se?--Ft:Ft++,Bt.value,Bt)})},Hi.prototype[z]=!0,s(Li,Ln),Li.prototype.includes=function(G){return this._iter.includes(G)},Li.prototype.__iterate=function(G,Se){var ft=this,Ft=0;return this._iter.__iterate(function(Bt){return G(Bt,Ft++,ft)},Se)},Li.prototype.__iterator=function(G,Se){var ft=this._iter.__iterator(1,Se),Ft=0;return new At(function(){var Bt=ft.next();return Bt.done?Bt:Qe(G,Ft++,Bt.value,Bt)})},s(cs,Rn),cs.prototype.has=function(G){return this._iter.includes(G)},cs.prototype.__iterate=function(G,Se){var ft=this;return this._iter.__iterate(function(Ft){return G(Ft,Ft,ft)},Se)},cs.prototype.__iterator=function(G,Se){var ft=this._iter.__iterator(1,Se);return new At(function(){var Ft=ft.next();return Ft.done?Ft:Qe(G,Ft.value,Ft.value,Ft)})},s(Os,ar),Os.prototype.entrySeq=function(){return this._iter.toSeq()},Os.prototype.__iterate=function(G,Se){var ft=this;return this._iter.__iterate(function(Ft){if(Ft){Ne(Ft);var Bt=_(Ft);return G(Bt?Ft.get(1):Ft[1],Bt?Ft.get(0):Ft[0],ft)}},Se)},Os.prototype.__iterator=function(G,Se){var ft=this._iter.__iterator(1,Se);return new At(function(){for(;;){var Ft=ft.next();if(Ft.done)return Ft;var Bt=Ft.value;if(Bt){Ne(Bt);var In=_(Bt);return Qe(G,In?Bt.get(0):Bt[0],In?Bt.get(1):Bt[1],Ft)}}})},Li.prototype.cacheResult=Hi.prototype.cacheResult=cs.prototype.cacheResult=Os.prototype.cacheResult=Yo,s(Lo,Ir),Lo.prototype.toString=function(){return this.__toString(ul(this)+" {","}")},Lo.prototype.has=function(G){return this._defaultValues.hasOwnProperty(G)},Lo.prototype.get=function(G,Se){if(!this.has(G))return Se;var ft=this._defaultValues[G];return this._map?this._map.get(G,ft):ft},Lo.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var G=this.constructor;return G._empty||(G._empty=Ea(this,rt()))},Lo.prototype.set=function(G,Se){if(!this.has(G))throw new Error('Cannot set unknown key "'+G+'" on '+ul(this));if(this._map&&!this._map.has(G)&&Se===this._defaultValues[G])return this;var ft=this._map&&this._map.set(G,Se);return this.__ownerID||ft===this._map?this:Ea(this,ft)},Lo.prototype.remove=function(G){if(!this.has(G))return this;var Se=this._map&&this._map.remove(G);return this.__ownerID||Se===this._map?this:Ea(this,Se)},Lo.prototype.wasAltered=function(){return this._map.wasAltered()},Lo.prototype.__iterator=function(G,Se){var ft=this;return l(this._defaultValues).map(function(Ft,Bt){return ft.get(Bt)}).__iterator(G,Se)},Lo.prototype.__iterate=function(G,Se){var ft=this;return l(this._defaultValues).map(function(Ft,Bt){return ft.get(Bt)}).__iterate(G,Se)},Lo.prototype.__ensureOwner=function(G){if(G===this.__ownerID)return this;var Se=this._map&&this._map.__ensureOwner(G);return G?Ea(this,Se,G):(this.__ownerID=G,this._map=Se,this)};var Zo=Lo.prototype;function Ea(G,Se,ft){var Ft=Object.create(Object.getPrototypeOf(G));return Ft._map=Se,Ft.__ownerID=ft,Ft}function ul(G){return G._name||G.constructor.name||"Record"}function va(G,Se){Object.defineProperty(G,Se,{get:function(){return this.get(Se)},set:function(ft){jt(this.__ownerID,"Cannot set on an immutable record."),this.set(Se,ft)}})}function bs(G){return null==G?Bl():$o(G)&&!D(G)?G:Bl().withMutations(function(Se){var ft=h(G);nr(ft.size),ft.forEach(function(Ft){return Se.add(Ft)})})}function $o(G){return!(!G||!G[dl])}Zo[U]=Zo.remove,Zo.deleteIn=Zo.removeIn=Oi.removeIn,Zo.merge=Oi.merge,Zo.mergeWith=Oi.mergeWith,Zo.mergeIn=Oi.mergeIn,Zo.mergeDeep=Oi.mergeDeep,Zo.mergeDeepWith=Oi.mergeDeepWith,Zo.mergeDeepIn=Oi.mergeDeepIn,Zo.setIn=Oi.setIn,Zo.update=Oi.update,Zo.updateIn=Oi.updateIn,Zo.withMutations=Oi.withMutations,Zo.asMutable=Oi.asMutable,Zo.asImmutable=Oi.asImmutable,s(bs,L),bs.of=function(){return this(arguments)},bs.fromKeys=function(G){return this(l(G).keySeq())},bs.prototype.toString=function(){return this.__toString("Set {","}")},bs.prototype.has=function(G){return this._map.has(G)},bs.prototype.add=function(G){return il(this,this._map.set(G,!0))},bs.prototype.remove=function(G){return il(this,this._map.remove(G))},bs.prototype.clear=function(){return il(this,this._map.clear())},bs.prototype.union=function(){var G=e.call(arguments,0);return 0===(G=G.filter(function(Se){return 0!==Se.size})).length?this:0!==this.size||this.__ownerID||1!==G.length?this.withMutations(function(Se){for(var ft=0;ft<G.length;ft++)h(G[ft]).forEach(function(Ft){return Se.add(Ft)})}):this.constructor(G[0])},bs.prototype.intersect=function(){var G=e.call(arguments,0);if(0===G.length)return this;G=G.map(function(ft){return h(ft)});var Se=this;return this.withMutations(function(ft){Se.forEach(function(Ft){G.every(function(Bt){return Bt.includes(Ft)})||ft.remove(Ft)})})},bs.prototype.subtract=function(){var G=e.call(arguments,0);if(0===G.length)return this;G=G.map(function(ft){return h(ft)});var Se=this;return this.withMutations(function(ft){Se.forEach(function(Ft){G.some(function(Bt){return Bt.includes(Ft)})&&ft.remove(Ft)})})},bs.prototype.merge=function(){return this.union.apply(this,arguments)},bs.prototype.mergeWith=function(G){var Se=e.call(arguments,1);return this.union.apply(this,Se)},bs.prototype.sort=function(G){return Na(pt(this,G))},bs.prototype.sortBy=function(G,Se){return Na(pt(this,Se,G))},bs.prototype.wasAltered=function(){return this._map.wasAltered()},bs.prototype.__iterate=function(G,Se){var ft=this;return this._map.__iterate(function(Ft,Bt){return G(Bt,Bt,ft)},Se)},bs.prototype.__iterator=function(G,Se){return this._map.map(function(ft,Ft){return Ft}).__iterator(G,Se)},bs.prototype.__ensureOwner=function(G){if(G===this.__ownerID)return this;var Se=this._map.__ensureOwner(G);return G?this.__make(Se,G):(this.__ownerID=G,this._map=Se,this)},bs.isSet=$o;var Ol,dl="@@__IMMUTABLE_SET__@@",Ja=bs.prototype;function il(G,Se){return G.__ownerID?(G.size=Se.size,G._map=Se,G):Se===G._map?G:0===Se.size?G.__empty():G.__make(Se)}function Il(G,Se){var ft=Object.create(Ja);return ft.size=G?G.size:0,ft._map=G,ft.__ownerID=Se,ft}function Bl(){return Ol||(Ol=Il(rt()))}function Na(G){return null==G?ja():Di(G)?G:ja().withMutations(function(Se){var ft=h(G);nr(ft.size),ft.forEach(function(Ft){return Se.add(Ft)})})}function Di(G){return $o(G)&&D(G)}Ja[dl]=!0,Ja[U]=Ja.remove,Ja.mergeDeep=Ja.merge,Ja.mergeDeepWith=Ja.mergeWith,Ja.withMutations=Oi.withMutations,Ja.asMutable=Oi.asMutable,Ja.asImmutable=Oi.asImmutable,Ja.__empty=Bl,Ja.__make=Il,s(Na,bs),Na.of=function(){return this(arguments)},Na.fromKeys=function(G){return this(l(G).keySeq())},Na.prototype.toString=function(){return this.__toString("OrderedSet {","}")},Na.isOrderedSet=Di;var vs,pa=Na.prototype;function Vo(G,Se){var ft=Object.create(pa);return ft.size=G?G.size:0,ft._map=G,ft.__ownerID=Se,ft}function ja(){return vs||(vs=Vo(Do()))}function hs(G){return null==G?gn():ze(G)?G:gn().unshiftAll(G)}function ze(G){return!(!G||!G[kt])}pa[z]=!0,pa.__empty=ja,pa.__make=Vo,s(hs,ht),hs.of=function(){return this(arguments)},hs.prototype.toString=function(){return this.__toString("Stack [","]")},hs.prototype.get=function(G,Se){var ft=this._head;for(G=Me(this,G);ft&&G--;)ft=ft.next;return ft?ft.value:Se},hs.prototype.peek=function(){return this._head&&this._head.value},hs.prototype.push=function(){if(0===arguments.length)return this;for(var G=this.size+arguments.length,Se=this._head,ft=arguments.length-1;ft>=0;ft--)Se={value:arguments[ft],next:Se};return this.__ownerID?(this.size=G,this._head=Se,this.__hash=void 0,this.__altered=!0,this):ur(G,Se)},hs.prototype.pushAll=function(G){if(0===(G=u(G)).size)return this;nr(G.size);var Se=this.size,ft=this._head;return G.reverse().forEach(function(Ft){Se++,ft={value:Ft,next:ft}}),this.__ownerID?(this.size=Se,this._head=ft,this.__hash=void 0,this.__altered=!0,this):ur(Se,ft)},hs.prototype.pop=function(){return this.slice(1)},hs.prototype.unshift=function(){return this.push.apply(this,arguments)},hs.prototype.unshiftAll=function(G){return this.pushAll(G)},hs.prototype.shift=function(){return this.pop.apply(this,arguments)},hs.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):gn()},hs.prototype.slice=function(G,Se){if(be(G,Se,this.size))return this;var ft=ue(G,this.size);if(He(Se,this.size)!==this.size)return ht.prototype.slice.call(this,G,Se);for(var Ft=this.size-ft,Bt=this._head;ft--;)Bt=Bt.next;return this.__ownerID?(this.size=Ft,this._head=Bt,this.__hash=void 0,this.__altered=!0,this):ur(Ft,Bt)},hs.prototype.__ensureOwner=function(G){return G===this.__ownerID?this:G?ur(this.size,this._head,G,this.__hash):(this.__ownerID=G,this.__altered=!1,this)},hs.prototype.__iterate=function(G,Se){if(Se)return this.reverse().__iterate(G);for(var ft=0,Ft=this._head;Ft&&!1!==G(Ft.value,ft++,this);)Ft=Ft.next;return ft},hs.prototype.__iterator=function(G,Se){if(Se)return this.reverse().__iterator(G);var ft=0,Ft=this._head;return new At(function(){if(Ft){var Bt=Ft.value;return Ft=Ft.next,Qe(G,ft++,Bt)}return{value:void 0,done:!0}})},hs.isStack=ze;var wt,kt="@@__IMMUTABLE_STACK__@@",tn=hs.prototype;function ur(G,Se,ft,Ft){var Bt=Object.create(tn);return Bt.size=G,Bt._head=Se,Bt.__ownerID=ft,Bt.__hash=Ft,Bt.__altered=!1,Bt}function gn(){return wt||(wt=ur(0))}function xr(G,Se){var ft=function(Ft){G.prototype[Ft]=Se[Ft]};return Object.keys(Se).forEach(ft),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(Se).forEach(ft),G}tn[kt]=!0,tn.withMutations=Oi.withMutations,tn.asMutable=Oi.asMutable,tn.asImmutable=Oi.asImmutable,tn.wasAltered=Oi.wasAltered,a.Iterator=At,xr(a,{toArray:function(){nr(this.size);var G=new Array(this.size||0);return this.valueSeq().__iterate(function(Se,ft){G[ft]=Se}),G},toIndexedSeq:function(){return new Li(this)},toJS:function(){return this.toSeq().map(function(G){return G&&"function"==typeof G.toJS?G.toJS():G}).__toJS()},toJSON:function(){return this.toSeq().map(function(G){return G&&"function"==typeof G.toJSON?G.toJSON():G}).__toJS()},toKeyedSeq:function(){return new Hi(this,!0)},toMap:function(){return Mr(this.toKeyedSeq())},toObject:function(){nr(this.size);var G={};return this.__iterate(function(Se,ft){G[ft]=Se}),G},toOrderedMap:function(){return $r(this.toKeyedSeq())},toOrderedSet:function(){return Na(m(this)?this.valueSeq():this)},toSet:function(){return bs(m(this)?this.valueSeq():this)},toSetSeq:function(){return new cs(this)},toSeq:function(){return b(this)?this.toIndexedSeq():m(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return hs(m(this)?this.valueSeq():this)},toList:function(){return to(m(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(G,Se){return 0===this.size?G+Se:G+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+Se},concat:function(){return ye(this,Sa(this,e.call(arguments,0)))},includes:function(G){return this.some(function(Se){return Tt(Se,G)})},entries:function(){return this.__iterator(2)},every:function(G,Se){nr(this.size);var ft=!0;return this.__iterate(function(Ft,Bt,In){if(!G.call(Se,Ft,Bt,In))return ft=!1,!1}),ft},filter:function(G,Se){return ye(this,Ml(this,G,Se,!0))},find:function(G,Se,ft){var Ft=this.findEntry(G,Se);return Ft?Ft[1]:ft},forEach:function(G,Se){return nr(this.size),this.__iterate(Se?G.bind(Se):G)},join:function(G){nr(this.size),G=void 0!==G?""+G:",";var Se="",ft=!0;return this.__iterate(function(Ft){ft?ft=!1:Se+=G,Se+=null!=Ft?Ft.toString():""}),Se},keys:function(){return this.__iterator(0)},map:function(G,Se){return ye(this,xa(this,G,Se))},reduce:function(G,Se,ft){var Ft,Bt;return nr(this.size),arguments.length<2?Bt=!0:Ft=Se,this.__iterate(function(In,Xn,Sr){Bt?(Bt=!1,Ft=In):Ft=G.call(ft,Ft,In,Xn,Sr)}),Ft},reduceRight:function(G,Se,ft){var Ft=this.toKeyedSeq().reverse();return Ft.reduce.apply(Ft,arguments)},reverse:function(){return ye(this,Ra(this,!0))},slice:function(G,Se){return ye(this,sa(this,G,Se,!0))},some:function(G,Se){return!this.every(si(G),Se)},sort:function(G){return ye(this,pt(this,G))},values:function(){return this.__iterator(1)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(G,Se){return Ae(G?this.toSeq().filter(G,Se):this)},countBy:function(G,Se){return function(G,Se,ft){var Ft=Mr().asMutable();return G.__iterate(function(Bt,In){Ft.update(Se.call(ft,Bt,In,G),0,function(Xn){return Xn+1})}),Ft.asImmutable()}(this,G,Se)},equals:function(G){return yn(this,G)},entrySeq:function(){var G=this;if(G._cache)return new Yn(G._cache);var Se=G.toSeq().map(ii).toIndexedSeq();return Se.fromEntrySeq=function(){return G.toSeq()},Se},filterNot:function(G,Se){return this.filter(si(G),Se)},findEntry:function(G,Se,ft){var Ft=ft;return this.__iterate(function(Bt,In,Xn){if(G.call(Se,Bt,In,Xn))return Ft=[In,Bt],!1}),Ft},findKey:function(G,Se){var ft=this.findEntry(G,Se);return ft&&ft[0]},findLast:function(G,Se,ft){return this.toKeyedSeq().reverse().find(G,Se,ft)},findLastEntry:function(G,Se,ft){return this.toKeyedSeq().reverse().findEntry(G,Se,ft)},findLastKey:function(G,Se){return this.toKeyedSeq().reverse().findKey(G,Se)},first:function(){return this.find(Oe)},flatMap:function(G,Se){return ye(this,function(G,Se,ft){var Ft=Or(G);return G.toSeq().map(function(Bt,In){return Ft(Se.call(ft,Bt,In,G))}).flatten(!0)}(this,G,Se))},flatten:function(G){return ye(this,fa(this,G,!0))},fromEntrySeq:function(){return new Os(this)},get:function(G,Se){return this.find(function(ft,Ft){return Tt(Ft,G)},void 0,Se)},getIn:function(G,Se){for(var ft,Ft=this,Bt=ss(G);!(ft=Bt.next()).done;)if((Ft=Ft&&Ft.get?Ft.get(ft.value,Y):Y)===Y)return Se;return Ft},groupBy:function(G,Se){return function(G,Se,ft){var Ft=m(G),Bt=(D(G)?$r():Mr()).asMutable();G.__iterate(function(Xn,Sr){Bt.update(Se.call(ft,Xn,Sr,G),function(pi){return(pi=pi||[]).push(Ft?[Sr,Xn]:Xn),pi})});var In=Or(G);return Bt.map(function(Xn){return ye(G,In(Xn))})}(this,G,Se)},has:function(G){return this.get(G,Y)!==Y},hasIn:function(G){return this.getIn(G,Y)!==Y},isSubset:function(G){return G="function"==typeof G.includes?G:a(G),this.every(function(Se){return G.includes(Se)})},isSuperset:function(G){return(G="function"==typeof G.isSubset?G:a(G)).isSubset(this)},keyOf:function(G){return this.findKey(function(Se){return Tt(Se,G)})},keySeq:function(){return this.toSeq().map(mi).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(G){return this.toKeyedSeq().reverse().keyOf(G)},max:function(G){return an(this,G)},maxBy:function(G,Se){return an(this,Se,G)},min:function(G){return an(this,G?bi(G):vo)},minBy:function(G,Se){return an(this,Se?bi(Se):vo,G)},rest:function(){return this.slice(1)},skip:function(G){return this.slice(Math.max(0,G))},skipLast:function(G){return ye(this,this.toSeq().reverse().skip(G).reverse())},skipWhile:function(G,Se){return ye(this,Ka(this,G,Se,!0))},skipUntil:function(G,Se){return this.skipWhile(si(G),Se)},sortBy:function(G,Se){return ye(this,pt(this,Se,G))},take:function(G){return this.slice(0,Math.max(0,G))},takeLast:function(G){return ye(this,this.toSeq().reverse().take(G).reverse())},takeWhile:function(G,Se){return ye(this,function(G,Se,ft){var Ft=Ni(G);return Ft.__iterateUncached=function(Bt,In){var Xn=this;if(In)return this.cacheResult().__iterate(Bt,In);var Sr=0;return G.__iterate(function(pi,Fr,zr){return Se.call(ft,pi,Fr,zr)&&++Sr&&Bt(pi,Fr,Xn)}),Sr},Ft.__iteratorUncached=function(Bt,In){var Xn=this;if(In)return this.cacheResult().__iterator(Bt,In);var Sr=G.__iterator(2,In),pi=!0;return new At(function(){if(!pi)return{value:void 0,done:!0};var Fr=Sr.next();if(Fr.done)return Fr;var zr=Fr.value,Un=zr[0],lr=zr[1];return Se.call(ft,lr,Un,Xn)?2===Bt?Fr:Qe(Bt,Un,lr,Fr):(pi=!1,{value:void 0,done:!0})})},Ft}(this,G,Se))},takeUntil:function(G,Se){return this.takeWhile(si(G),Se)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(G){if(G.size===1/0)return 0;var Se=D(G),ft=m(G),Ft=Se?1:0;return function(G,Se){return Se=Ue(Se,3432918353),Se=Ue(Se<<15|Se>>>-15,461845907),Se=Ue(Se<<13|Se>>>-13,5),Se=Ue((Se=(Se+3864292196|0)^G)^Se>>>16,2246822507),nt((Se=Ue(Se^Se>>>13,3266489909))^Se>>>16)}(G.__iterate(ft?Se?function(Bt,In){Ft=31*Ft+Br(at(Bt),at(In))|0}:function(Bt,In){Ft=Ft+Br(at(Bt),at(In))|0}:Se?function(Bt){Ft=31*Ft+at(Bt)|0}:function(Bt){Ft=Ft+at(Bt)|0}),Ft)}(this))}});var Zr=a.prototype;Zr[x]=!0,Zr[St]=Zr.values,Zr.__toJS=Zr.toArray,Zr.__toStringMapper=Ui,Zr.inspect=Zr.toSource=function(){return this.toString()},Zr.chain=Zr.flatMap,Zr.contains=Zr.includes,xr(l,{flip:function(){return ye(this,da(this))},mapEntries:function(G,Se){var ft=this,Ft=0;return ye(this,this.toSeq().map(function(Bt,In){return G.call(Se,[In,Bt],Ft++,ft)}).fromEntrySeq())},mapKeys:function(G,Se){var ft=this;return ye(this,this.toSeq().flip().map(function(Ft,Bt){return G.call(Se,Ft,Bt,ft)}).flip())}});var Pr=l.prototype;function mi(G,Se){return Se}function ii(G,Se){return[Se,G]}function si(G){return function(){return!G.apply(this,arguments)}}function bi(G){return function(){return-G.apply(this,arguments)}}function Ui(G){return"string"==typeof G?JSON.stringify(G):String(G)}function io(){return ce(arguments)}function vo(G,Se){return G<Se?1:G>Se?-1:0}function Br(G,Se){return G^Se+2654435769+(G<<6)+(G>>2)|0}return Pr[j]=!0,Pr[St]=Zr.entries,Pr.__toJS=Zr.toObject,Pr.__toStringMapper=function(G,Se){return JSON.stringify(Se)+": "+Ui(G)},xr(u,{toKeyedSeq:function(){return new Hi(this,!1)},filter:function(G,Se){return ye(this,Ml(this,G,Se,!1))},findIndex:function(G,Se){var ft=this.findEntry(G,Se);return ft?ft[0]:-1},indexOf:function(G){var Se=this.keyOf(G);return void 0===Se?-1:Se},lastIndexOf:function(G){var Se=this.lastKeyOf(G);return void 0===Se?-1:Se},reverse:function(){return ye(this,Ra(this,!1))},slice:function(G,Se){return ye(this,sa(this,G,Se,!1))},splice:function(G,Se){var ft=arguments.length;if(Se=Math.max(0|Se,0),0===ft||2===ft&&!Se)return this;G=ue(G,G<0?this.count():this.size);var Ft=this.slice(0,G);return ye(this,1===ft?Ft:Ft.concat(ce(arguments,2),this.slice(G+Se)))},findLastIndex:function(G,Se){var ft=this.findLastEntry(G,Se);return ft?ft[0]:-1},first:function(){return this.get(0)},flatten:function(G){return ye(this,fa(this,G,!1))},get:function(G,Se){return(G=Me(this,G))<0||this.size===1/0||void 0!==this.size&&G>this.size?Se:this.find(function(ft,Ft){return Ft===G},void 0,Se)},has:function(G){return(G=Me(this,G))>=0&&(void 0!==this.size?this.size===1/0||G<this.size:-1!==this.indexOf(G))},interpose:function(G){return ye(this,function(G,Se){var ft=Ni(G);return ft.size=G.size&&2*G.size-1,ft.__iterateUncached=function(Ft,Bt){var In=this,Xn=0;return G.__iterate(function(Sr,pi){return(!Xn||!1!==Ft(Se,Xn++,In))&&!1!==Ft(Sr,Xn++,In)},Bt),Xn},ft.__iteratorUncached=function(Ft,Bt){var In,Xn=G.__iterator(1,Bt),Sr=0;return new At(function(){return(!In||Sr%2)&&(In=Xn.next()).done?In:Sr%2?Qe(Ft,Sr++,Se):Qe(Ft,Sr++,In.value,In)})},ft}(this,G))},interleave:function(){var G=[this].concat(ce(arguments)),Se=Ce(this.toSeq(),Ln.of,G),ft=Se.flatten(!0);return Se.size&&(ft.size=Se.size*G.length),ye(this,ft)},keySeq:function(){return hn(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(G,Se){return ye(this,Ka(this,G,Se,!1))},zip:function(){return ye(this,Ce(this,io,[this].concat(ce(arguments))))},zipWith:function(G){var Se=ce(arguments);return Se[0]=this,ye(this,Ce(this,G,Se))}}),u.prototype[H]=!0,u.prototype[z]=!0,xr(h,{get:function(G,Se){return this.has(G)?G:Se},includes:function(G){return this.has(G)},keySeq:function(){return this.valueSeq()}}),h.prototype.has=Zr.includes,h.prototype.contains=h.prototype.includes,xr(ar,l.prototype),xr(Ln,u.prototype),xr(Rn,h.prototype),xr(Ir,l.prototype),xr(ht,u.prototype),xr(L,h.prototype),{Iterable:a,Seq:ln,Collection:Qn,Map:Mr,OrderedMap:$r,List:to,Stack:hs,Set:bs,OrderedSet:Na,Record:Lo,Range:hn,Repeat:et,is:Tt,fromJS:jn}}()},function(g,o,t){g.exports=t(519)},function(g,o,t){var e=t(226);g.exports=function(s,a,l){return a in s?e(s,a,{value:l,enumerable:!0,configurable:!0,writable:!0}):s[a]=l,s},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(551)},function(g,o,t){"use strict";(function(e){t.d(o,"z",function(){return mt}),t.d(o,"i",function(){return Tt}),t.d(o,"v",function(){return yn}),t.d(o,"r",function(){return et}),t.d(o,"t",function(){return jt}),t.d(o,"s",function(){return hn}),t.d(o,"p",function(){return Qn}),t.d(o,"u",function(){return Ir}),t.d(o,"x",function(){return ht}),t.d(o,"y",function(){return L}),t.d(o,"J",function(){return Ue}),t.d(o,"f",function(){return nt}),t.d(o,"n",function(){return at}),t.d(o,"h",function(){return it}),t.d(o,"D",function(){return Pt}),t.d(o,"K",function(){return ot}),t.d(o,"o",function(){return mr}),t.d(o,"C",function(){return _r}),t.d(o,"a",function(){return Nr}),t.d(o,"H",function(){return br}),t.d(o,"b",function(){return Jn}),t.d(o,"G",function(){return nr}),t.d(o,"F",function(){return Mr}),t.d(o,"E",function(){return yi}),t.d(o,"k",function(){return Ii}),t.d(o,"d",function(){return Mi}),t.d(o,"g",function(){return Oi}),t.d(o,"m",function(){return Kr}),t.d(o,"l",function(){return ei}),t.d(o,"e",function(){return di}),t.d(o,"I",function(){return se}),t.d(o,"w",function(){return ct}),t.d(o,"A",function(){return Ke}),t.d(o,"B",function(){return Xe}),t.d(o,"j",function(){return Vt}),t.d(o,"c",function(){return Ct}),t.d(o,"q",function(){return bt});var s=t(14),a=t.n(s),l=(t(13),t(19)),u=t.n(l),h=t(49),_=t.n(h),m=t(24),b=t.n(m),C=t(4),D=t.n(C),x=t(80),j=t.n(x),H=t(2),z=t.n(H),U=t(23),M=t.n(U),I=t(12),J=t.n(I),Y=t(15),ie=t.n(Y),oe=(t(37),t(30)),fe=t.n(oe),ne=t(21),he=t.n(ne),ce=t(196),Ae=t.n(ce),Me=t(20),Oe=t.n(Me),be=t(71),ue=t.n(be),He=(t(31),t(32)),$e=t.n(He),F=t(18),je=t.n(F),Et=t(56),lt=t.n(Et),nn=t(108),St=t.n(nn),At=t(105),Qe=t.n(At),It=t(1),ae=t.n(It),Ie=t(450),dt=t(451),Jt=t.n(dt),zt=t(254),ln=t.n(zt),ar=t(255),Ln=t.n(ar),Rn=t(452),er=t.n(Rn),Mn=t(317),Ht=t.n(Mn),tr=t(103),Yn=t.n(tr),Cn=t(104),Kt=t.n(Cn),dn=t(142),Kn=t(26),qn=t(454),Sn=t.n(qn),$n=t(145),En=t(126),Fn=t.n(En),Dn=t(455),mn=t.n(Dn),jn=t(70),Xt="default",ut=function(We){return ae.a.Iterable.isIterable(We)};function mt(We){return jt(We)?ut(We)?We.toJS():We:{}}function Tt(We){var $t,or;if(ut(We)||We instanceof Kn.a.File||!jt(We))return We;if(b()(We))return D()(or=ae.a.Seq(We)).call(or,Tt).toList();if(Kt()(j()(We))){var Zn,Vr=function(Cr){if(!Kt()(j()(Cr)))return Cr;var ai,Dr={},rn={},fi=_()(j()(Cr).call(Cr));try{for(fi.s();!(ai=fi.n()).done;){var wi,go,Fi,no,Ei=ai.value;Dr[Ei[0]]||rn[Ei[0]]&&rn[Ei[0]].containsMultiple?(rn[Ei[0]]||(rn[Ei[0]]={containsMultiple:!0,length:1},Dr[z()(Fi=z()(no="".concat(Ei[0])).call(no,"_**[]")).call(Fi,rn[Ei[0]].length)]=Dr[Ei[0]],delete Dr[Ei[0]]),rn[Ei[0]].length+=1,Dr[z()(wi=z()(go="".concat(Ei[0])).call(go,"_**[]")).call(wi,rn[Ei[0]].length)]=Ei[1]):Dr[Ei[0]]=Ei[1]}}catch(Ji){fi.e(Ji)}finally{fi.f()}return Dr}(We);return D()(Zn=ae.a.OrderedMap(Vr)).call(Zn,Tt)}return D()($t=ae.a.OrderedMap(We)).call($t,Tt)}function yn(We){return b()(We)?We:[We]}function et(We){return"function"==typeof We}function jt(We){return!!We&&"object"===u()(We)}function hn(We){return"function"==typeof We}function Qn(We){return b()(We)}var Ir=Ln.a;function ht(We,$t){var or;return fe()(or=ie()(We)).call(or,function(Zn,Vr){return Zn[Vr]=$t(We[Vr],Vr),Zn},{})}function L(We,$t){var or;return fe()(or=ie()(We)).call(or,function(Zn,Vr){var Cr=$t(We[Vr],Vr);return Cr&&"object"===u()(Cr)&&he()(Zn,Cr),Zn},{})}function Ue(We){return function($t){return function(or){return function(Zn){return"function"==typeof Zn?Zn(We()):or(Zn)}}}}function nt(We){var $t,or=We.keySeq();return or.contains(Xt)?Xt:Ae()($t=J()(or).call(or,function(Zn){return"2"===(Zn+"")[0]})).call($t).first()}function at(We,$t){if(!ae.a.Iterable.isIterable(We))return ae.a.List();var or=We.getIn(b()($t)?$t:[$t]);return ae.a.List.isList(or)?or:ae.a.List()}function it(We){var $t,or=[/filename\*=[^']+'\w*'"([^"]+)";?/i,/filename\*=[^']+'\w*'([^;]+);?/i,/filename="([^;]*);?"/i,/filename=([^;]*);?/i];if(ue()(or).call(or,function(Zn){return null!==($t=Zn.exec(We))}),null!==$t&&$t.length>1)try{return decodeURIComponent($t[1])}catch(Zn){console.error(Zn)}return null}function Pt(We){return $t=We.replace(/\.[^./]*$/,""),ln()(Jt()($t));var $t}function Ut(We,$t,or,Zn,Vr){if(!$t)return[];var Cr=[],ai=$t.get("nullable"),Dr=$t.get("required"),Qr=$t.get("maximum"),rn=$t.get("minimum"),fi=$t.get("type"),Ei=$t.get("format"),wi=$t.get("maxLength"),go=$t.get("minLength"),Fi=$t.get("uniqueItems"),no=$t.get("maxItems"),Ji=$t.get("minItems"),qi=$t.get("pattern"),to=or||!0===Dr,zi=null!=We;if(ai&&null===We||!fi||!(to||zi&&"array"===fi||to||zi))return[];var Go="string"===fi&&We,Ro="array"===fi&&b()(We)&&We.length,Bo="array"===fi&&ae.a.List.isList(We)&&We.count(),Jo=[Go,Ro,Bo,"array"===fi&&"string"==typeof We&&We,"file"===fi&&We instanceof Kn.a.File,"boolean"===fi&&(We||!1===We),"number"===fi&&(We||0===We),"integer"===fi&&(We||0===We),"object"===fi&&"object"===u()(We)&&null!==We,"object"===fi&&"string"==typeof We&&We],es=ue()(Jo).call(Jo,function(gi){return!!gi});if(to&&!es&&!Zn)return Cr.push("Required field is not provided"),Cr;if("object"===fi&&(null===Vr||"application/json"===Vr)){var ua,ds=We;if("string"==typeof We)try{ds=JSON.parse(We)}catch(gi){return Cr.push("Parameter string value must be valid JSON"),Cr}$t&&$t.has("required")&&hn(Dr.isList)&&Dr.isList()&&M()(Dr).call(Dr,function(gi){void 0===ds[gi]&&Cr.push({propKey:gi,error:"Required property not found"})}),$t&&$t.has("properties")&&M()(ua=$t.get("properties")).call(ua,function(gi,Hi){var Li=Ut(ds[Hi],gi,!1,Zn,Vr);Cr.push.apply(Cr,a()(D()(Li).call(Li,function(cs){return{propKey:Hi,error:cs}})))})}if(qi){var zo=function(gi,Hi){if(!new RegExp(Hi).test(gi))return"Value must follow pattern "+Hi}(We,qi);zo&&Cr.push(zo)}if(Ji&&"array"===fi){var oa=function(gi,Hi){var Li;if(!gi&&Hi>=1||gi&&gi.length<Hi)return z()(Li="Array must contain at least ".concat(Hi," item")).call(Li,1===Hi?"":"s")}(We,Ji);oa&&Cr.push(oa)}if(no&&"array"===fi){var Er=function(gi,Hi){var Li;if(gi&&gi.length>Hi)return z()(Li="Array must not contain more then ".concat(Hi," item")).call(Li,1===Hi?"":"s")}(We,no);Er&&Cr.push({needRemove:!0,error:Er})}if(Fi&&"array"===fi){var st=function(gi,Hi){if(gi&&("true"===Hi||!0===Hi)){var Li=Object(It.fromJS)(gi),cs=Li.toSet();if(gi.length>cs.size){var Os=Object(It.Set)();if(M()(Li).call(Li,function(da,xa){J()(Li).call(Li,function(Ra){return hn(Ra.equals)?Ra.equals(da):Ra===da}).size>1&&(Os=Os.add(xa))}),0!==Os.size)return D()(Os).call(Os,function(da){return{index:da,error:"No duplicates allowed."}}).toArray()}}}(We,Fi);st&&Cr.push.apply(Cr,a()(st))}if(wi||0===wi){var pn=function(gi,Hi){var Li;if(gi.length>Hi)return z()(Li="Value must be no longer than ".concat(Hi," character")).call(Li,1!==Hi?"s":"")}(We,wi);pn&&Cr.push(pn)}if(go){var ee=function(gi,Hi){var Li;if(gi.length<Hi)return z()(Li="Value must be at least ".concat(Hi," character")).call(Li,1!==Hi?"s":"")}(We,go);ee&&Cr.push(ee)}if(Qr||0===Qr){var Ve=function(gi,Hi){if(gi>Hi)return"Value must be less than ".concat(Hi)}(We,Qr);Ve&&Cr.push(Ve)}if(rn||0===rn){var fn=function(gi,Hi){if(gi<Hi)return"Value must be greater than ".concat(Hi)}(We,rn);fn&&Cr.push(fn)}if("string"===fi){var Tn;if(!(Tn="date-time"===Ei?function(gi){if(isNaN(Date.parse(gi)))return"Value must be a DateTime"}(We):"uuid"===Ei?function(gi){if(gi=gi.toString().toLowerCase(),!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(gi))return"Value must be a Guid"}(We):function(gi){if(gi&&"string"!=typeof gi)return"Value must be a string"}(We)))return Cr;Cr.push(Tn)}else if("boolean"===fi){var $r=function(gi){if("true"!==gi&&"false"!==gi&&!0!==gi&&!1!==gi)return"Value must be a boolean"}(We);if(!$r)return Cr;Cr.push($r)}else if("number"===fi){var ni=function(gi){if(!/^-?\d+(\.?\d+)?$/.test(gi))return"Value must be a number"}(We);if(!ni)return Cr;Cr.push(ni)}else if("integer"===fi){var Ri=function(gi){if(!/^-?\d+$/.test(gi))return"Value must be an integer"}(We);if(!Ri)return Cr;Cr.push(Ri)}else if("array"===fi){if(!Ro&&!Bo)return Cr;We&&M()(We).call(We,function(gi,Hi){var Li=Ut(gi,$t.get("items"),!1,Zn,Vr);Cr.push.apply(Cr,a()(D()(Li).call(Li,function(cs){return{index:Hi,error:cs}})))})}else if("file"===fi){var Do=function(gi){if(gi&&!(gi instanceof Kn.a.File))return"Value must be a file"}(We);if(!Do)return Cr;Cr.push(Do)}return Cr}var ot=function(We,$t){var or=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Zn=or.isOAS3,Vr=void 0!==Zn&&Zn,Cr=or.bypassRequiredCheck,ai=void 0!==Cr&&Cr,Dr=We.get("required"),Qr=Object($n.a)(We,{isOAS3:Vr}),rn=Qr.schema,fi=Qr.parameterContentMediaType;return Ut($t,rn,Dr,ai,fi)},Nn=function(We,$t,or){if(We&&(!We.xml||!We.xml.name)){if(We.xml=We.xml||{},!We.$$ref)return We.type||We.items||We.properties||We.additionalProperties?'<?xml version="1.0" encoding="UTF-8"?>\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e':null;var Zn=We.$$ref.match(/\S*\/(\S+)$/);We.xml.name=Zn[1]}return Object(dn.memoizedCreateXMLExample)(We,$t,or)},sn=[{when:/json/,shouldStringifyTypes:["string"]}],An=["object"],Bn=function(We,$t,or,Zn){var Vr=Object(dn.memoizedSampleFromSchema)(We,$t,Zn),Cr=u()(Vr),ai=fe()(sn).call(sn,function(Dr,Qr){var rn;return Qr.when.test(or)?z()(rn=[]).call(rn,a()(Dr),a()(Qr.shouldStringifyTypes)):Dr},An);return Ht()(ai,function(Dr){return Dr===Cr})?$e()(Vr,null,2):Vr},ir=function(We,$t,or,Zn){var Vr,Cr=Bn(We,$t,or,Zn);try{"\n"===(Vr=jn.a.dump(jn.a.load(Cr),{lineWidth:-1}))[Vr.length-1]&&(Vr=Oe()(Vr).call(Vr,0,Vr.length-1))}catch(ai){return console.error(ai),"error: could not generate yaml example"}return Vr.replace(/\t/g," ")},mr=function(We){var $t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",or=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Zn=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;return We&&hn(We.toJS)&&(We=We.toJS()),Zn&&hn(Zn.toJS)&&(Zn=Zn.toJS()),/xml/.test($t)?Nn(We,or,Zn):/(yaml|yml)/.test($t)?ir(We,or,$t,Zn):Bn(We,or,$t,Zn)},_r=function(){var We={},$t=Kn.a.location.search;if(!$t)return{};if(""!=$t){var or=$t.substr(1).split("&");for(var Zn in or)Object.prototype.hasOwnProperty.call(or,Zn)&&(Zn=or[Zn].split("="),We[decodeURIComponent(Zn[0])]=Zn[1]&&decodeURIComponent(Zn[1])||"")}return We},Nr=function(We){return(We instanceof e?We:e.from(We.toString(),"utf-8")).toString("base64")},br={operationsSorter:{alpha:function(We,$t){return We.get("path").localeCompare($t.get("path"))},method:function(We,$t){return We.get("method").localeCompare($t.get("method"))}},tagsSorter:{alpha:function(We,$t){return We.localeCompare($t)}}},Jn=function(We){var $t=[];for(var or in We){var Zn=We[or];void 0!==Zn&&""!==Zn&&$t.push([or,"=",encodeURIComponent(Zn).replace(/%20/g,"+")].join(""))}return $t.join("&")},nr=function(We,$t,or){return!!er()(or,function(Zn){return Yn()(We[Zn],$t[Zn])})};function Mr(We){return"string"!=typeof We||""===We?"":Object(Ie.sanitizeUrl)(We)}function yi(We){return!(!We||je()(We).call(We,"localhost")>=0||je()(We).call(We,"127.0.0.1")>=0||"none"===We)}function Ii(We){if(!ae.a.OrderedMap.isOrderedMap(We)||!We.size)return null;var $t=lt()(We).call(We,function(Vr,Cr){return St()(Cr).call(Cr,"2")&&ie()(Vr.get("content")||{}).length>0}),or=We.get("default")||ae.a.OrderedMap(),Zn=(or.get("content")||ae.a.OrderedMap()).keySeq().toJS().length?or:null;return $t||Zn}var Mi=function(We){return"string"==typeof We||We instanceof String?Qe()(We).call(We).replace(/\s/g,"%20"):""},Oi=function(We){return Sn()(Mi(We).replace(/%20/g,"_"))},Kr=function(We){return J()(We).call(We,function($t,or){return/^x-/.test(or)})},ei=function(We){return J()(We).call(We,function($t,or){return/^pattern|maxLength|minLength|maximum|minimum/.test(or)})};function di(We,$t){var or,Zn=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0};if("object"!==u()(We)||b()(We)||null===We||!$t)return We;var Vr=he()({},We);return M()(or=ie()(Vr)).call(or,function(Cr){Cr===$t&&Zn(Vr[Cr],Cr)?delete Vr[Cr]:Vr[Cr]=di(Vr[Cr],$t,Zn)}),Vr}function se(We){if("string"==typeof We)return We;if(We&&We.toJS&&(We=We.toJS()),"object"===u()(We)&&null!==We)try{return $e()(We,null,2)}catch($t){return String(We)}return null==We?"":We.toString()}function ct(We){return"number"==typeof We?We.toString():We}function Ke(We){var $t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},or=$t.returnAll,Zn=void 0!==or&&or,Vr=$t.allowHashes,Cr=void 0===Vr||Vr;if(!ae.a.Map.isMap(We))throw new Error("paramToIdentifier: received a non-Im.Map parameter as input");var ai,Dr,Qr,rn=We.get("name"),fi=We.get("in"),Ei=[];return We&&We.hashCode&&fi&&rn&&Cr&&Ei.push(z()(ai=z()(Dr="".concat(fi,".")).call(Dr,rn,".hash-")).call(ai,We.hashCode())),fi&&rn&&Ei.push(z()(Qr="".concat(fi,".")).call(Qr,rn)),Ei.push(rn),Zn?Ei:Ei[0]||""}function Xe(We,$t){var or,Zn=Ke(We,{returnAll:!0});return J()(or=D()(Zn).call(Zn,function(Vr){return $t[Vr]})).call(or,function(Vr){return void 0!==Vr})[0]}function Vt(){return rt(Fn()(32).toString("base64"))}function Ct(We){return rt(mn()("sha256").update(We).digest("base64"))}function rt(We){return We.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var bt=function(We){return!We||!(!ut(We)||!We.isEmpty())}}).call(this,t(132).Buffer)},function(g,o){g.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(226);function s(a,l){for(var u=0;u<l.length;u++){var h=l[u];h.enumerable=h.enumerable||!1,h.configurable=!0,"value"in h&&(h.writable=!0),e(a,h.key,h)}}g.exports=function(a,l,u){return l&&s(a.prototype,l),u&&s(a,u),a},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(853),s=t(858);g.exports=function(a,l){if("function"!=typeof l&&null!==l)throw new TypeError("Super expression must either be null or a function");a.prototype=e(l&&l.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),l&&s(a,l)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(437),s=t(867),a=t(873),l=t(874);g.exports=function(u){var h=a();return function(){var _,m=s(u);if(h){var b=s(this).constructor;_=e(m,arguments,b)}else _=m.apply(this,arguments);return l(this,_)}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(878)()},function(g,o,t){g.exports=t(344)},function(g,o,t){var e=t(379),s=t(618),a=t(187),l=t(380);g.exports=function(u,h){return e(u)||s(u,h)||a(u,h)||l()},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(606),s=t(372),a=t(187),l=t(617);g.exports=function(u){return e(u)||s(u)||a(u)||l()},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(345)},function(g,o,t){"use strict";function e(u,h){return u===h}function s(u,h,_){if(null===h||null===_||h.length!==_.length)return!1;for(var m=h.length,b=0;b<m;b++)if(!u(h[b],_[b]))return!1;return!0}function a(u){var h=Array.isArray(u[0])?u[0]:u;if(!h.every(function(m){return"function"==typeof m})){var _=h.map(function(m){return typeof m}).join(", ");throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: ["+_+"]")}return h}t.d(o,"a",function(){return l});var l=function(u){for(var h=arguments.length,_=Array(h>1?h-1:0),m=1;m<h;m++)_[m-1]=arguments[m];return function(){for(var b=arguments.length,C=Array(b),D=0;D<b;D++)C[D]=arguments[D];var x=0,j=C.pop(),H=a(C),z=u.apply(void 0,[function(){return x++,j.apply(null,arguments)}].concat(_)),U=u(function(){for(var M=[],I=H.length,J=0;J<I;J++)M.push(H[J].apply(null,arguments));return z.apply(null,M)});return U.resultFunc=j,U.dependencies=H,U.recomputations=function(){return x},U.resetRecomputations=function(){return x=0},U}}(function(u){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,_=null,m=null;return function(){return s(h,_,arguments)||(m=u.apply(null,arguments)),_=arguments,m}})},function(g,o,t){(function(e){var s=function(a){return a&&a.Math==Math&&a};g.exports=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof e&&e)||function(){return this}()||Function("return this")()}).call(this,t(57))},function(g,o,t){g.exports=t(385)},function(g,o,t){var e=t(166),s=t(515);function a(l){return"function"==typeof e&&"symbol"==typeof s?(g.exports=a=function(u){return typeof u},g.exports.default=g.exports,g.exports.__esModule=!0):(g.exports=a=function(u){return u&&"function"==typeof e&&u.constructor===e&&u!==e.prototype?"symbol":typeof u},g.exports.default=g.exports,g.exports.__esModule=!0),a(l)}g.exports=a,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(351)},function(g,o,t){g.exports=t(349)},function(g,o,t){"use strict";var e=t(17),s=t(93),a=t(27),l=t(41),u=t(111).f,h=t(331),_=t(34),m=t(84),b=t(85),C=t(44),D=function(x){var j=function(H,z,U){if(this instanceof j){switch(arguments.length){case 0:return new x;case 1:return new x(H);case 2:return new x(H,z)}return new x(H,z,U)}return s(x,this,arguments)};return j.prototype=x.prototype,j};g.exports=function(x,j){var H,z,U,M,I,J,Y,ie,oe=x.target,fe=x.global,ne=x.stat,he=x.proto,ce=fe?e:ne?e[oe]:(e[oe]||{}).prototype,Ae=fe?_:_[oe]||b(_,oe,{})[oe],Me=Ae.prototype;for(U in j)H=!h(fe?U:oe+(ne?".":"#")+U,x.forced)&&ce&&C(ce,U),I=Ae[U],H&&(J=x.noTargetGet?(ie=u(ce,U))&&ie.value:ce[U]),M=H&&J?J:j[U],H&&typeof I==typeof M||(Y=x.bind&&H?m(M,e):x.wrap&&H?D(M):he&&l(M)?a(M):M,(x.sham||M&&M.sham||I&&I.sham)&&b(Y,"sham",!0),b(Ae,U,Y),he&&(C(_,z=oe+"Prototype")||b(_,z,{}),b(_[z],U,M),x.real&&Me&&!Me[U]&&b(Me,U,M)))}},function(g,o,t){g.exports=t(381)},function(g,o,t){g.exports=t(352)},function(g,o,t){var e=t(420),s=t(421),a=t(800),l=t(802),u=t(807),h=t(809),_=t(814),m=t(226),b=t(3);function C(D,x){var j=e(D);if(s){var H=s(D);x&&(H=a(H).call(H,function(z){return l(D,z).enumerable})),j.push.apply(j,H)}return j}g.exports=function(D){for(var x=1;x<arguments.length;x++){var j,H=null!=arguments[x]?arguments[x]:{};if(x%2)u(j=C(Object(H),!0)).call(j,function(U){b(D,U,H[U])});else if(h)_(D,h(H));else{var z;u(z=C(Object(H))).call(z,function(U){m(D,U,l(H,U))})}}return D},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){"use strict";o.a=function(){var e={location:{},history:{},open:function(){},close:function(){},File:function(){}};if("undefined"==typeof window)return e;try{e=window;for(var s=0,a=["File","Blob","FormData"];s<a.length;s++){var l=a[s];l in window&&(e[l]=window[l])}}catch(u){console.error(u)}return e}()},function(g,o){var t=Function.prototype,e=t.bind,s=t.call,a=e&&e.bind(s);g.exports=e?function(l){return l&&a(s,l)}:function(l){return l&&function(){return s.apply(l,arguments)}}},function(g,o,t){"use strict";var e,s=t(1),a="<<anonymous>>",l=function(){invariant(!1,"ImmutablePropTypes type checking code is stripped in production.")};l.isRequired=l;var u=function(){return l};function m(b,C){return D="Iterable."+b,x=function(j){return s.Iterable.isIterable(j)&&C(j)},function(b){function C(x,j,H,z,U,M){for(var I=arguments.length,J=Array(I>6?I-6:0),Y=6;Y<I;Y++)J[Y-6]=arguments[Y];return M=M||H,z=z||a,null!=j[H]?b.apply(void 0,[j,H,z,U,M].concat(J)):x?new Error("Required "+U+" `"+M+"` was not specified in `"+z+"`."):void 0}var D=C.bind(null,!1);return D.isRequired=C.bind(null,!0),D}(function(j,H,z,U,M){var I=j[H];if(!x(I)){var J=function(b){var C=typeof b;return Array.isArray(b)?"array":b instanceof RegExp?"object":b instanceof s.Iterable?"Immutable."+b.toSource().split(" ")[0]:C}(I);return new Error("Invalid "+U+" `"+M+"` of type `"+J+"` supplied to `"+z+"`, expected `"+D+"`.")}return null});var D,x}(e={listOf:u,mapOf:u,orderedMapOf:u,setOf:u,orderedSetOf:u,stackOf:u,iterableOf:u,recordOf:u,shape:u,contains:u,mapContains:u,orderedMapContains:u,list:l,map:l,orderedMap:l,set:l,orderedSet:l,stack:l,seq:l,record:l,iterable:l}).iterable.indexed=m("Indexed",s.Iterable.isIndexed),e.iterable.keyed=m("Keyed",s.Iterable.isKeyed),g.exports=e},function(g,o,t){var e=t(851);function s(){return g.exports=s=e||function(a){for(var l=1;l<arguments.length;l++){var u=arguments[l];for(var h in u)Object.prototype.hasOwnProperty.call(u,h)&&(a[h]=u[h])}return a},g.exports.default=g.exports,g.exports.__esModule=!0,s.apply(this,arguments)}g.exports=s,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(546)},function(g,o,t){g.exports=t(637)},function(g,o,t){g.exports=t(527)},function(g,o){g.exports=function(t){try{return!!t()}catch(e){return!0}}},function(g,o){g.exports={}},function(g,o,t){var e=t(27);g.exports=e({}.isPrototypeOf)},function(g,o,t){"use strict";t.r(o),t.d(o,"isOAS3",function(){return _}),t.d(o,"isSwagger2",function(){return m}),t.d(o,"OAS3ComponentWrapFactory",function(){return b});var e=t(29),s=t.n(e),a=t(108),l=t.n(a),u=t(0),h=t.n(u);function _(C){var D=C.get("openapi");return"string"==typeof D&&l()(D).call(D,"3.0.")&&D.length>4}function m(C){var D=C.get("swagger");return"string"==typeof D&&l()(D).call(D,"2.0")}function b(C){return function(D,x){return function(j){return x&&x.specSelectors&&x.specSelectors.specJson?_(x.specSelectors.specJson())?h.a.createElement(C,s()({},j,x,{Ori:D})):h.a.createElement(D,j):(console.warn("OAS3 wrapper: couldn't get spec"),null)}}}},function(g,o,t){g.exports=t(535)},function(g,o,t){var e=t(17),s=t(212),a=t(44),l=t(171),u=t(210),h=t(329),_=s("wks"),m=e.Symbol,b=m&&m.for,C=h?m:m&&m.withoutSetter||l;g.exports=function(D){if(!a(_,D)||!u&&"string"!=typeof _[D]){var x="Symbol."+D;_[D]=u&&a(m,D)?m[D]:h&&b?b(x):C(x)}return _[D]}},function(g,o,t){var e=t(242);g.exports=function(s,a,l){var u=null==s?void 0:e(s,a);return void 0===u?l:u}},function(g,o,t){g.exports=t(840)},function(g,o){g.exports=function(t){return"function"==typeof t}},function(g,o,t){var e=t(34);g.exports=function(s){return e[s+"Prototype"]}},function(g,o,t){var e=t(41);g.exports=function(s){return"object"==typeof s?null!==s:e(s)}},function(g,o,t){var e=t(27),s=t(62),a=e({}.hasOwnProperty);g.exports=Object.hasOwn||function(l,u){return a(s(l),u)}},function(g,o,t){var e=t(34),s=t(44),a=t(223),l=t(63).f;g.exports=function(u){var h=e.Symbol||(e.Symbol={});s(h,u)||l(h,u,{value:a.f(u)})}},function(g,o,t){"use strict";t.r(o),t.d(o,"UPDATE_SPEC",function(){return er}),t.d(o,"UPDATE_URL",function(){return Mn}),t.d(o,"UPDATE_JSON",function(){return Ht}),t.d(o,"UPDATE_PARAM",function(){return tr}),t.d(o,"UPDATE_EMPTY_PARAM_INCLUSION",function(){return Yn}),t.d(o,"VALIDATE_PARAMS",function(){return Cn}),t.d(o,"SET_RESPONSE",function(){return Kt}),t.d(o,"SET_REQUEST",function(){return dn}),t.d(o,"SET_MUTATED_REQUEST",function(){return Kn}),t.d(o,"LOG_REQUEST",function(){return qn}),t.d(o,"CLEAR_RESPONSE",function(){return Sn}),t.d(o,"CLEAR_REQUEST",function(){return $n}),t.d(o,"CLEAR_VALIDATE_PARAMS",function(){return En}),t.d(o,"UPDATE_OPERATION_META_VALUE",function(){return Fn}),t.d(o,"UPDATE_RESOLVED",function(){return Dn}),t.d(o,"UPDATE_RESOLVED_SUBTREE",function(){return mn}),t.d(o,"SET_SCHEME",function(){return jn}),t.d(o,"updateSpec",function(){return Xt}),t.d(o,"updateResolved",function(){return ut}),t.d(o,"updateUrl",function(){return mt}),t.d(o,"updateJsonSpec",function(){return Tt}),t.d(o,"parseToJson",function(){return yn}),t.d(o,"resolveSpec",function(){return jt}),t.d(o,"requestResolvedSubtree",function(){return Ir}),t.d(o,"changeParam",function(){return ht}),t.d(o,"changeParamByIdentity",function(){return L}),t.d(o,"updateResolvedSubtree",function(){return Ue}),t.d(o,"invalidateResolvedSubtreeCache",function(){return nt}),t.d(o,"validateParams",function(){return at}),t.d(o,"updateEmptyParamInclusion",function(){return it}),t.d(o,"clearValidateParams",function(){return Pt}),t.d(o,"changeConsumesValue",function(){return Ut}),t.d(o,"changeProducesValue",function(){return ot}),t.d(o,"setResponse",function(){return Nn}),t.d(o,"setRequest",function(){return sn}),t.d(o,"setMutatedRequest",function(){return An}),t.d(o,"logRequest",function(){return Bn}),t.d(o,"executeRequest",function(){return ir}),t.d(o,"execute",function(){return mr}),t.d(o,"clearResponse",function(){return _r}),t.d(o,"clearRequest",function(){return Nr}),t.d(o,"setScheme",function(){return br});var e=t(25),s=t.n(e),a=t(54),l=t.n(a),u=t(72),h=t.n(u),_=t(19),m=t.n(_),b=t(40),C=t.n(b),D=t(24),x=t.n(D),j=t(4),H=t.n(j),z=t(319),U=t.n(z),M=t(30),I=t.n(M),J=t(197),Y=t.n(J),ie=t(66),oe=t.n(ie),fe=t(12),ne=t.n(fe),he=t(198),ce=t.n(he),Ae=t(18),Me=t.n(Ae),Oe=t(23),be=t.n(Oe),ue=t(2),He=t.n(ue),$e=t(15),F=t.n($e),je=t(21),Et=t.n(je),lt=t(320),nn=t.n(lt),St=t(70),At=t(1),Qe=t(89),It=t.n(Qe),ae=t(141),Ie=t(457),dt=t.n(Ie),Jt=t(458),zt=t.n(Jt),ln=t(321),ar=t.n(ln),Ln=t(5),Rn=["path","method"],er="spec_update_spec",Mn="spec_update_url",Ht="spec_update_json",tr="spec_update_param",Yn="spec_update_empty_param_inclusion",Cn="spec_validate_param",Kt="spec_set_response",dn="spec_set_request",Kn="spec_set_mutated_request",qn="spec_log_request",Sn="spec_clear_response",$n="spec_clear_request",En="spec_clear_validate_param",Fn="spec_update_operation_meta_value",Dn="spec_update_resolved",mn="spec_update_resolved_subtree",jn="set_scheme";function Xt(Jn){var nr,Mr=(nr=Jn,dt()(nr)?nr:"").replace(/\t/g," ");if("string"==typeof Jn)return{type:er,payload:Mr}}function ut(Jn){return{type:Dn,payload:Jn}}function mt(Jn){return{type:Mn,payload:Jn}}function Tt(Jn){return{type:Ht,payload:Jn}}var yn=function(Jn){return function(nr){var Mr=nr.specActions,Ii=nr.errActions,Mi=nr.specSelectors.specStr,Oi=null;try{Jn=Jn||Mi(),Ii.clear({source:"parser"}),Oi=St.a.load(Jn)}catch(Kr){return console.error(Kr),Ii.newSpecErr({source:"parser",level:"error",message:Kr.reason,line:Kr.mark&&Kr.mark.line?Kr.mark.line+1:void 0})}return Oi&&"object"===m()(Oi)?Mr.updateJsonSpec(Oi):{}}},et=!1,jt=function(Jn,nr){return function(Mr){var yi=Mr.specActions,Ii=Mr.specSelectors,Mi=Mr.errActions,Oi=Mr.fn,Kr=Oi.fetch,ei=Oi.resolve,di=Oi.AST,se=void 0===di?{}:di,ct=Mr.getConfigs;et||(console.warn("specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!"),et=!0);var Ke=ct(),Xe=Ke.modelPropertyMacro,Vt=Ke.parameterMacro,Ct=Ke.requestInterceptor,rt=Ke.responseInterceptor;void 0===Jn&&(Jn=Ii.specJson()),void 0===nr&&(nr=Ii.url());var bt=se.getLineNumberForPath?se.getLineNumberForPath:function(){},We=Ii.specStr();return ei({fetch:Kr,spec:Jn,baseDoc:nr,modelPropertyMacro:Xe,parameterMacro:Vt,requestInterceptor:Ct,responseInterceptor:rt}).then(function($t){var or=$t.spec,Zn=$t.errors;if(Mi.clear({type:"thrown"}),x()(Zn)&&Zn.length>0){var Vr=H()(Zn).call(Zn,function(Cr){return console.error(Cr),Cr.line=Cr.fullPath?bt(We,Cr.fullPath):null,Cr.path=Cr.fullPath?Cr.fullPath.join("."):null,Cr.level="error",Cr.type="thrown",Cr.source="resolver",U()(Cr,"message",{enumerable:!0,value:Cr.message}),Cr});Mi.newThrownErrBatch(Vr)}return yi.updateResolved(or)})}},hn=[],Qn=zt()(h()(C.a.mark(function Jn(){var nr,Mr,yi,Ii,Mi,Oi,Kr,ei,di,se,ct,Ke,Xe,Vt,Ct,rt,bt,We;return C.a.wrap(function($t){for(;;)switch($t.prev=$t.next){case 0:if(nr=hn.system){$t.next=4;break}return console.error("debResolveSubtrees: don't have a system to operate on, aborting."),$t.abrupt("return");case 4:if(Mr=nr.errActions,yi=nr.errSelectors,Oi=(Ii=nr.fn).fetch,ei=void 0===(Kr=Ii.AST)?{}:Kr,di=nr.specSelectors,se=nr.specActions,Mi=Ii.resolveSubtree){$t.next=8;break}return console.error("Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing."),$t.abrupt("return");case 8:return ct=ei.getLineNumberForPath?ei.getLineNumberForPath:function(){},Ke=di.specStr(),Xe=nr.getConfigs(),Vt=Xe.modelPropertyMacro,Ct=Xe.parameterMacro,rt=Xe.requestInterceptor,bt=Xe.responseInterceptor,$t.prev=11,$t.next=14,I()(hn).call(hn,function(){var or=h()(C.a.mark(function Zn(Vr,Cr){var ai,Dr,Qr,rn,fi,Ei,wi,go,Fi;return C.a.wrap(function(no){for(;;)switch(no.prev=no.next){case 0:return no.next=2,Vr;case 2:return Dr=(ai=no.sent).resultMap,Qr=ai.specWithCurrentSubtrees,no.next=7,Mi(Qr,Cr,{baseDoc:di.url(),modelPropertyMacro:Vt,parameterMacro:Ct,requestInterceptor:rt,responseInterceptor:bt});case 7:if(fi=(rn=no.sent).errors,Ei=rn.spec,yi.allErrors().size&&Mr.clearBy(function(Ji){var qi;return"thrown"!==Ji.get("type")||"resolver"!==Ji.get("source")||!Y()(qi=Ji.get("fullPath")).call(qi,function(to,zi){return to===Cr[zi]||void 0===Cr[zi]})}),x()(fi)&&fi.length>0&&(wi=H()(fi).call(fi,function(Ji){return Ji.line=Ji.fullPath?ct(Ke,Ji.fullPath):null,Ji.path=Ji.fullPath?Ji.fullPath.join("."):null,Ji.level="error",Ji.type="thrown",Ji.source="resolver",U()(Ji,"message",{enumerable:!0,value:Ji.message}),Ji}),Mr.newThrownErrBatch(wi)),!Ei||!di.isOAS3()||"components"!==Cr[0]||"securitySchemes"!==Cr[1]){no.next=15;break}return no.next=15,oe.a.all(H()(go=ne()(Fi=ce()(Ei)).call(Fi,function(Ji){return"openIdConnect"===Ji.type})).call(go,function(){var Ji=h()(C.a.mark(function qi(to){var zi,Go;return C.a.wrap(function(Ro){for(;;)switch(Ro.prev=Ro.next){case 0:return zi={url:to.openIdConnectUrl,requestInterceptor:rt,responseInterceptor:bt},Ro.prev=1,Ro.next=4,Oi(zi);case 4:(Go=Ro.sent)instanceof Error||Go.status>=400?console.error(Go.statusText+" "+zi.url):to.openIdConnectData=JSON.parse(Go.text),Ro.next=11;break;case 8:Ro.prev=8,Ro.t0=Ro.catch(1),console.error(Ro.t0);case 11:case"end":return Ro.stop()}},qi,null,[[1,8]])}));return function(qi){return Ji.apply(this,arguments)}}()));case 15:return ar()(Dr,Cr,Ei),ar()(Qr,Cr,Ei),no.abrupt("return",{resultMap:Dr,specWithCurrentSubtrees:Qr});case 18:case"end":return no.stop()}},Zn)}));return function(Zn,Vr){return or.apply(this,arguments)}}(),oe.a.resolve({resultMap:(di.specResolvedSubtree([])||Object(At.Map)()).toJS(),specWithCurrentSubtrees:di.specJson().toJS()}));case 14:We=$t.sent,delete hn.system,hn=[],$t.next=22;break;case 19:$t.prev=19,$t.t0=$t.catch(11),console.error($t.t0);case 22:se.updateResolvedSubtree([],We.resultMap);case 23:case"end":return $t.stop()}},Jn,null,[[11,19]])})),35),Ir=function(Jn){return function(nr){var Mr;Me()(Mr=H()(hn).call(hn,function(yi){return yi.join("@@")})).call(Mr,Jn.join("@@"))>-1||(hn.push(Jn),hn.system=nr,Qn())}};function ht(Jn,nr,Mr,yi,Ii){return{type:tr,payload:{path:Jn,value:yi,paramName:nr,paramIn:Mr,isXml:Ii}}}function L(Jn,nr,Mr,yi){return{type:tr,payload:{path:Jn,param:nr,value:Mr,isXml:yi}}}var Ue=function(Jn,nr){return{type:mn,payload:{path:Jn,value:nr}}},nt=function(){return{type:mn,payload:{path:[],value:Object(At.Map)()}}},at=function(Jn,nr){return{type:Cn,payload:{pathMethod:Jn,isOAS3:nr}}},it=function(Jn,nr,Mr,yi){return{type:Yn,payload:{pathMethod:Jn,paramName:nr,paramIn:Mr,includeEmptyValue:yi}}};function Pt(Jn){return{type:En,payload:{pathMethod:Jn}}}function Ut(Jn,nr){return{type:Fn,payload:{path:Jn,value:nr,key:"consumes_value"}}}function ot(Jn,nr){return{type:Fn,payload:{path:Jn,value:nr,key:"produces_value"}}}var Nn=function(Jn,nr,Mr){return{payload:{path:Jn,method:nr,res:Mr},type:Kt}},sn=function(Jn,nr,Mr){return{payload:{path:Jn,method:nr,req:Mr},type:dn}},An=function(Jn,nr,Mr){return{payload:{path:Jn,method:nr,req:Mr},type:Kn}},Bn=function(Jn){return{payload:Jn,type:qn}},ir=function(Jn){return function(nr){var Mr,yi,Ii=nr.fn,Mi=nr.specActions,Oi=nr.specSelectors,ei=nr.oas3Selectors,di=Jn.pathName,se=Jn.method,ct=Jn.operation,Ke=(0,nr.getConfigs)(),Xe=Ke.requestInterceptor,Vt=Ke.responseInterceptor,Ct=ct.toJS();if(ct&&ct.get("parameters")&&be()(Mr=ne()(yi=ct.get("parameters")).call(yi,function(Qr){return Qr&&!0===Qr.get("allowEmptyValue")})).call(Mr,function(Qr){if(Oi.parameterInclusionSettingFor([di,se],Qr.get("name"),Qr.get("in"))){Jn.parameters=Jn.parameters||{};var rn=Object(Ln.B)(Qr,Jn.parameters);(!rn||rn&&0===rn.size)&&(Jn.parameters[Qr.get("name")]="")}}),Jn.contextUrl=It()(Oi.url()).toString(),Ct&&Ct.operationId?Jn.operationId=Ct.operationId:Ct&&di&&se&&(Jn.operationId=Ii.opId(Ct,di,se)),Oi.isOAS3()){var rt,bt=He()(rt="".concat(di,":")).call(rt,se);Jn.server=ei.selectedServer(bt)||ei.selectedServer();var We=ei.serverVariables({server:Jn.server,namespace:bt}).toJS(),$t=ei.serverVariables({server:Jn.server}).toJS();Jn.serverVariables=F()(We).length?We:$t,Jn.requestContentType=ei.requestContentType(di,se),Jn.responseContentType=ei.responseContentType(di,se)||"*/*";var or,Zn=ei.requestBodyValue(di,se),Vr=ei.requestBodyInclusionSetting(di,se);Jn.requestBody=Zn&&Zn.toJS?ne()(or=H()(Zn).call(Zn,function(Qr){return At.Map.isMap(Qr)?Qr.get("value"):Qr})).call(or,function(Qr,rn){return(x()(Qr)?0!==Qr.length:!Object(Ln.q)(Qr))||Vr.get(rn)}).toJS():Zn}var Cr=Et()({},Jn);Cr=Ii.buildRequest(Cr),Mi.setRequest(Jn.pathName,Jn.method,Cr);var Qr,ai=(Qr=h()(C.a.mark(function rn(fi){var Ei,wi;return C.a.wrap(function(go){for(;;)switch(go.prev=go.next){case 0:return go.next=2,Xe.apply(void 0,[fi]);case 2:return Ei=go.sent,wi=Et()({},Ei),Mi.setMutatedRequest(Jn.pathName,Jn.method,wi),go.abrupt("return",Ei);case 6:case"end":return go.stop()}},rn)})),function(rn){return Qr.apply(this,arguments)});Jn.requestInterceptor=ai,Jn.responseInterceptor=Vt;var Dr=nn()();return Ii.execute(Jn).then(function(Qr){Qr.duration=nn()()-Dr,Mi.setResponse(Jn.pathName,Jn.method,Qr)}).catch(function(Qr){"Failed to fetch"===Qr.message&&(Qr.name="",Qr.message='**Failed to fetch.** \n**Possible Reasons:** \n - CORS \n - Network Failure \n - URL scheme must be "http" or "https" for CORS request.'),Mi.setResponse(Jn.pathName,Jn.method,{error:!0,err:Object(ae.serializeError)(Qr)})})}},mr=function(){var Jn=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},nr=Jn.path,Mr=Jn.method,yi=l()(Jn,Rn);return function(Ii){var Mi=Ii.fn.fetch,Oi=Ii.specSelectors,Kr=Ii.specActions,ei=Oi.specJsonWithResolvedSubtrees().toJS(),di=Oi.operationScheme(nr,Mr),se=Oi.contentTypeValues([nr,Mr]).toJS(),ct=se.requestContentType,Ke=se.responseContentType,Xe=/xml/i.test(ct),Vt=Oi.parameterValues([nr,Mr],Xe).toJS();return Kr.executeRequest(s()(s()({},yi),{},{fetch:Mi,spec:ei,pathName:nr,method:Mr,parameters:Vt,requestContentType:ct,scheme:di,responseContentType:Ke}))}};function _r(Jn,nr){return{type:Sn,payload:{path:Jn,method:nr}}}function Nr(Jn,nr){return{type:$n,payload:{path:Jn,method:nr}}}function br(Jn,nr,Mr){return{type:jn,payload:{scheme:Jn,path:nr,method:Mr}}}},function(g,o,t){var e;!function(){"use strict";var s={}.hasOwnProperty;function a(){for(var l=[],u=0;u<arguments.length;u++){var h=arguments[u];if(h){var _=typeof h;if("string"===_||"number"===_)l.push(h);else if(Array.isArray(h)){if(h.length){var m=a.apply(null,h);m&&l.push(m)}}else if("object"===_)if(h.toString===Object.prototype.toString)for(var b in h)s.call(h,b)&&h[b]&&l.push(b);else l.push(h.toString())}}return l.join(" ")}g.exports?(a.default=a,g.exports=a):void 0===(e=function(){return a}.apply(o,[]))||(g.exports=e)}()},function(g,o,t){var e=t(33);g.exports=!e(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},function(g,o,t){var e=t(166),s=t(238),a=t(237),l=t(187);g.exports=function(u,h){var _=void 0!==e&&s(u)||u["@@iterator"];if(!_){if(a(u)||(_=l(u))||h&&u&&"number"==typeof u.length){_&&(u=_);var m=0,b=function(){};return{s:b,n:function(){return m>=u.length?{done:!0}:{done:!1,value:u[m++]}},e:function(j){throw j},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var C,D=!0,x=!1;return{s:function(){_=_.call(u)},n:function(){var j=_.next();return D=j.done,j},e:function(j){x=!0,C=j},f:function(){try{D||null==_.return||_.return()}finally{if(x)throw C}}}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){var t=Function.prototype.call;g.exports=t.bind?t.bind(t):function(){return t.apply(t,arguments)}},function(g,o,t){var e=t(17),s=t(43),a=e.String,l=e.TypeError;g.exports=function(u){if(s(u))return u;throw l(a(u)+" is not an object")}},function(g,o){g.exports=Array.isArray},function(g,o){g.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(g,o,t){var e=t(421),s=t(423),a=t(820);g.exports=function(l,u){if(null==l)return{};var h,_,m=a(l,u);if(e){var b=e(l);for(_=0;_<b.length;_++)h=b[_],s(u).call(u,h)>=0||Object.prototype.propertyIsEnumerable.call(l,h)&&(m[h]=l[h])}return m},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){"use strict";t.r(o),t.d(o,"UPDATE_SELECTED_SERVER",function(){return e}),t.d(o,"UPDATE_REQUEST_BODY_VALUE",function(){return s}),t.d(o,"UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG",function(){return a}),t.d(o,"UPDATE_REQUEST_BODY_INCLUSION",function(){return l}),t.d(o,"UPDATE_ACTIVE_EXAMPLES_MEMBER",function(){return u}),t.d(o,"UPDATE_REQUEST_CONTENT_TYPE",function(){return h}),t.d(o,"UPDATE_RESPONSE_CONTENT_TYPE",function(){return _}),t.d(o,"UPDATE_SERVER_VARIABLE_VALUE",function(){return m}),t.d(o,"SET_REQUEST_BODY_VALIDATE_ERROR",function(){return b}),t.d(o,"CLEAR_REQUEST_BODY_VALIDATE_ERROR",function(){return C}),t.d(o,"CLEAR_REQUEST_BODY_VALUE",function(){return D}),t.d(o,"setSelectedServer",function(){return x}),t.d(o,"setRequestBodyValue",function(){return j}),t.d(o,"setRetainRequestBodyValueFlag",function(){return H}),t.d(o,"setRequestBodyInclusion",function(){return z}),t.d(o,"setActiveExamplesMember",function(){return U}),t.d(o,"setRequestContentType",function(){return M}),t.d(o,"setResponseContentType",function(){return I}),t.d(o,"setServerVariableValue",function(){return J}),t.d(o,"setRequestBodyValidateError",function(){return Y}),t.d(o,"clearRequestBodyValidateError",function(){return ie}),t.d(o,"initRequestBodyValidateError",function(){return oe}),t.d(o,"clearRequestBodyValue",function(){return fe});var e="oas3_set_servers",s="oas3_set_request_body_value",a="oas3_set_request_body_retain_flag",l="oas3_set_request_body_inclusion",u="oas3_set_active_examples_member",h="oas3_set_request_content_type",_="oas3_set_response_content_type",m="oas3_set_server_variable_value",b="oas3_set_request_body_validate_error",C="oas3_clear_request_body_validate_error",D="oas3_clear_request_body_value";function x(ne,he){return{type:e,payload:{selectedServerUrl:ne,namespace:he}}}function j(ne){return{type:s,payload:{value:ne.value,pathMethod:ne.pathMethod}}}var H=function(ne){return{type:a,payload:{value:ne.value,pathMethod:ne.pathMethod}}};function z(ne){return{type:l,payload:{value:ne.value,pathMethod:ne.pathMethod,name:ne.name}}}function U(ne){return{type:u,payload:{name:ne.name,pathMethod:ne.pathMethod,contextType:ne.contextType,contextName:ne.contextName}}}function M(ne){return{type:h,payload:{value:ne.value,pathMethod:ne.pathMethod}}}function I(ne){return{type:_,payload:{value:ne.value,path:ne.path,method:ne.method}}}function J(ne){return{type:m,payload:{server:ne.server,namespace:ne.namespace,key:ne.key,val:ne.val}}}var Y=function(ne){return{type:b,payload:{path:ne.path,method:ne.method,validationErrors:ne.validationErrors}}},ie=function(ne){return{type:C,payload:{path:ne.path,method:ne.method}}},oe=function(ne){var he=ne.pathMethod;return{type:C,payload:{path:he[0],method:he[1]}}},fe=function(ne){return{type:D,payload:{pathMethod:ne.pathMethod}}}},function(g,o,t){g.exports=t(647)},function(g,o){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}g.exports=t},function(g,o,t){var e=t(34),s=t(17),a=t(41),l=function(u){return a(u)?u:void 0};g.exports=function(u,h){return arguments.length<2?l(e[u])||l(s[u]):e[u]&&e[u][h]||s[u]&&s[u][h]}},function(g,o,t){"use strict";t.d(o,"b",function(){return j}),t.d(o,"e",function(){return H}),t.d(o,"c",function(){return U}),t.d(o,"a",function(){return M}),t.d(o,"d",function(){return I});var e=t(49),s=t.n(e),a=t(19),l=t.n(a),u=t(108),h=t.n(u),_=t(2),m=t.n(_),b=t(53),C=t.n(b),D=function(J){return String.prototype.toLowerCase.call(J)},x=function(J){return J.replace(/[^\w]/gi,"_")};function j(J){var Y=J.openapi;return!!Y&&h()(Y).call(Y,"3")}function H(J,Y){var ie=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",oe=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},fe=oe.v2OperationIdCompatibilityMode;if(!J||"object"!==l()(J))return null;var ne=(J.operationId||"").replace(/\s/g,"");return ne.length?x(J.operationId):z(Y,ie,{v2OperationIdCompatibilityMode:fe})}function z(J,Y){var ie,oe=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},fe=oe.v2OperationIdCompatibilityMode;if(fe){var ne,he,ce=m()(ne="".concat(Y.toLowerCase(),"_")).call(ne,J).replace(/[\s!@#$%^&*()_+=[{\]};:<>|./?,\\'""-]/g,"_");return(ce=ce||m()(he="".concat(J.substring(1),"_")).call(he,Y)).replace(/((_){2,})/g,"_").replace(/^(_)*/g,"").replace(/([_])*$/g,"")}return m()(ie="".concat(D(Y))).call(ie,x(J))}function U(J,Y){var ie;return m()(ie="".concat(D(Y),"-")).call(ie,J)}function M(J,Y){return J&&J.paths&&function(fe,ne,he){if(!fe||"object"!==l()(fe)||!fe.paths||"object"!==l()(fe.paths))return null;var ce=fe.paths;for(var Ae in ce)for(var Me in ce[Ae])if("PARAMETERS"!==Me.toUpperCase()){var Oe=ce[Ae][Me];if(Oe&&"object"===l()(Oe)){var be={spec:fe,pathName:Ae,method:Me.toUpperCase(),operation:Oe};if(ne(be))return be}}}(J,function(ie){var oe=ie.pathName,fe=ie.method,ne=ie.operation;if(!ne||"object"!==l()(ne))return!1;var he=ne.operationId;return[H(ne,oe,fe),U(oe,fe),he].some(function(ce){return ce&&ce===Y})})||null}function I(J){var Y=J.spec,ie=Y.paths,oe={};if(!ie||Y.$$normalized)return J;for(var fe in ie){var ne=ie[fe];if(C()(ne)){var he=ne.parameters,ce=function(Me){var Oe=ne[Me];if(!C()(Oe))return"continue";var be=H(Oe,fe,Me);if(be){oe[be]?oe[be].push(Oe):oe[be]=[Oe];var ue=oe[be];if(ue.length>1)ue.forEach(function(ae,Ie){var dt;ae.__originalOperationId=ae.__originalOperationId||ae.operationId,ae.operationId=m()(dt="".concat(be)).call(dt,Ie+1)});else if(void 0!==Oe.operationId){var He=ue[0];He.__originalOperationId=He.__originalOperationId||Oe.operationId,He.operationId=be}}if("parameters"!==Me){var $e=[],F={};for(var je in Y)"produces"!==je&&"consumes"!==je&&"security"!==je||(F[je]=Y[je],$e.push(F));if(he&&(F.parameters=he,$e.push(F)),$e.length){var Et,lt=s()($e);try{for(lt.s();!(Et=lt.n()).done;){var nn=Et.value;for(var St in nn)if(Oe[St]){if("parameters"===St){var At,Qe=s()(nn[St]);try{var It=function(){var ae=At.value;Oe[St].some(function(Ie){return Ie.name&&Ie.name===ae.name||Ie.$ref&&Ie.$ref===ae.$ref||Ie.$$ref&&Ie.$$ref===ae.$$ref||Ie===ae})||Oe[St].push(ae)};for(Qe.s();!(At=Qe.n()).done;)It()}catch(ae){Qe.e(ae)}finally{Qe.f()}}}else Oe[St]=nn[St]}}catch(ae){lt.e(ae)}finally{lt.f()}}}};for(var Ae in ne)ce(Ae)}}return Y.$$normalized=!0,J}},function(g,o,t){"use strict";t.r(o),t.d(o,"NEW_THROWN_ERR",function(){return s}),t.d(o,"NEW_THROWN_ERR_BATCH",function(){return a}),t.d(o,"NEW_SPEC_ERR",function(){return l}),t.d(o,"NEW_SPEC_ERR_BATCH",function(){return u}),t.d(o,"NEW_AUTH_ERR",function(){return h}),t.d(o,"CLEAR",function(){return _}),t.d(o,"CLEAR_BY",function(){return m}),t.d(o,"newThrownErr",function(){return b}),t.d(o,"newThrownErrBatch",function(){return C}),t.d(o,"newSpecErr",function(){return D}),t.d(o,"newSpecErrBatch",function(){return x}),t.d(o,"newAuthErr",function(){return j}),t.d(o,"clear",function(){return H}),t.d(o,"clearBy",function(){return z});var e=t(141),s="err_new_thrown_err",a="err_new_thrown_err_batch",l="err_new_spec_err",u="err_new_spec_err_batch",h="err_new_auth_err",_="err_clear",m="err_clear_by";function b(U){return{type:s,payload:Object(e.serializeError)(U)}}function C(U){return{type:a,payload:U}}function D(U){return{type:l,payload:U}}function x(U){return{type:u,payload:U}}function j(U){return{type:h,payload:U}}function H(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:_,payload:U}}function z(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return{type:m,payload:U}}},function(g,o,t){var e=t(168),s=t(113);g.exports=function(a){return e(s(a))}},function(g,o,t){var e=t(17),s=t(113),a=e.Object;g.exports=function(l){return a(s(l))}},function(g,o,t){var e=t(17),s=t(48),a=t(330),l=t(51),u=t(169),h=e.TypeError,_=Object.defineProperty;o.f=s?_:function(m,b,C){if(l(m),b=u(b),l(C),a)try{return _(m,b,C)}catch(D){}if("get"in C||"set"in C)throw h("Accessors not supported");return"value"in C&&(m[b]=C.value),m}},function(g,o){g.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var s=function(){};s.prototype=e.prototype,t.prototype=new s,t.prototype.constructor=t}}},function(g,o,t){var e=t(132),s=e.Buffer;function a(u,h){for(var _ in u)h[_]=u[_]}function l(u,h,_){return s(u,h,_)}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?g.exports=e:(a(e,o),o.Buffer=l),a(s,l),l.from=function(u,h,_){if("number"==typeof u)throw new TypeError("Argument must not be a number");return s(u,h,_)},l.alloc=function(u,h,_){if("number"!=typeof u)throw new TypeError("Argument must be a number");var m=s(u);return void 0!==h?"string"==typeof _?m.fill(h,_):m.fill(h):m.fill(0),m},l.allocUnsafe=function(u){if("number"!=typeof u)throw new TypeError("Argument must be a number");return s(u)},l.allocUnsafeSlow=function(u){if("number"!=typeof u)throw new TypeError("Argument must be a number");return e.SlowBuffer(u)}},function(g,o,t){g.exports=t(424)},function(g,o,t){var e=t(17),s=t(75),a=e.String;g.exports=function(l){if("Symbol"===s(l))throw TypeError("Cannot convert a Symbol value to a string");return a(l)}},function(g,o,t){t(77);var e=t(507),s=t(17),a=t(75),l=t(85),u=t(130),h=t(38)("toStringTag");for(var _ in e){var m=s[_],b=m&&m.prototype;b&&a(b)!==h&&l(b,h,_),u[_]=u.Array}},function(g,o,t){var e=t(355),s="object"==typeof self&&self&&self.Object===Object&&self,a=e||s||Function("return this")();g.exports=a},function(g,o,t){"use strict";function e(se){return null==se}var s={isNothing:e,isObject:function(se){return"object"==typeof se&&null!==se},toArray:function(se){return Array.isArray(se)?se:e(se)?[]:[se]},repeat:function(se,ct){var Ke,Xe="";for(Ke=0;Ke<ct;Ke+=1)Xe+=se;return Xe},isNegativeZero:function(se){return 0===se&&Number.NEGATIVE_INFINITY===1/se},extend:function(se,ct){var Ke,Xe,Vt,Ct;if(ct)for(Ke=0,Xe=(Ct=Object.keys(ct)).length;Ke<Xe;Ke+=1)se[Vt=Ct[Ke]]=ct[Vt];return se}};function a(se,ct){var Ke="",Xe=se.reason||"(unknown reason)";return se.mark?(se.mark.name&&(Ke+='in "'+se.mark.name+'" '),Ke+="("+(se.mark.line+1)+":"+(se.mark.column+1)+")",!ct&&se.mark.snippet&&(Ke+="\n\n"+se.mark.snippet),Xe+" "+Ke):Xe}function l(se,ct){Error.call(this),this.name="YAMLException",this.reason=se,this.mark=ct,this.message=a(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}(l.prototype=Object.create(Error.prototype)).constructor=l,l.prototype.toString=function(se){return this.name+": "+a(this,se)};var u=l;function h(se,ct,Ke,Xe,Vt){var Ct="",rt="",bt=Math.floor(Vt/2)-1;return Xe-ct>bt&&(ct=Xe-bt+(Ct=" ... ").length),Ke-Xe>bt&&(Ke=Xe+bt-(rt=" ...").length),{str:Ct+se.slice(ct,Ke).replace(/\t/g,"\u2192")+rt,pos:Xe-ct+Ct.length}}function _(se,ct){return s.repeat(" ",ct-se.length)+se}var b=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],C=["scalar","sequence","mapping"],D=function(se,ct){if(ct=ct||{},Object.keys(ct).forEach(function(Ke){if(-1===b.indexOf(Ke))throw new u('Unknown option "'+Ke+'" is met in definition of "'+se+'" YAML type.')}),this.options=ct,this.tag=se,this.kind=ct.kind||null,this.resolve=ct.resolve||function(){return!0},this.construct=ct.construct||function(Ke){return Ke},this.instanceOf=ct.instanceOf||null,this.predicate=ct.predicate||null,this.represent=ct.represent||null,this.representName=ct.representName||null,this.defaultStyle=ct.defaultStyle||null,this.multi=ct.multi||!1,this.styleAliases=(Xe={},null!==(Ke=ct.styleAliases||null)&&Object.keys(Ke).forEach(function(Vt){Ke[Vt].forEach(function(Ct){Xe[String(Ct)]=Vt})}),Xe),-1===C.indexOf(this.kind))throw new u('Unknown kind "'+this.kind+'" is specified for "'+se+'" YAML type.');var Ke,Xe};function x(se,ct){var Ke=[];return se[ct].forEach(function(Xe){var Vt=Ke.length;Ke.forEach(function(Ct,rt){Ct.tag===Xe.tag&&Ct.kind===Xe.kind&&Ct.multi===Xe.multi&&(Vt=rt)}),Ke[Vt]=Xe}),Ke}function j(se){return this.extend(se)}j.prototype.extend=function(se){var ct=[],Ke=[];if(se instanceof D)Ke.push(se);else if(Array.isArray(se))Ke=Ke.concat(se);else{if(!se||!Array.isArray(se.implicit)&&!Array.isArray(se.explicit))throw new u("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");se.implicit&&(ct=ct.concat(se.implicit)),se.explicit&&(Ke=Ke.concat(se.explicit))}ct.forEach(function(Vt){if(!(Vt instanceof D))throw new u("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(Vt.loadKind&&"scalar"!==Vt.loadKind)throw new u("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(Vt.multi)throw new u("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),Ke.forEach(function(Vt){if(!(Vt instanceof D))throw new u("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var Xe=Object.create(j.prototype);return Xe.implicit=(this.implicit||[]).concat(ct),Xe.explicit=(this.explicit||[]).concat(Ke),Xe.compiledImplicit=x(Xe,"implicit"),Xe.compiledExplicit=x(Xe,"explicit"),Xe.compiledTypeMap=function(){var Vt,Ct,rt={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function bt(We){We.multi?(rt.multi[We.kind].push(We),rt.multi.fallback.push(We)):rt[We.kind][We.tag]=rt.fallback[We.tag]=We}for(Vt=0,Ct=arguments.length;Vt<Ct;Vt+=1)arguments[Vt].forEach(bt);return rt}(Xe.compiledImplicit,Xe.compiledExplicit),Xe};var H=j,z=new D("tag:yaml.org,2002:str",{kind:"scalar",construct:function(se){return null!==se?se:""}}),U=new D("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(se){return null!==se?se:[]}}),M=new D("tag:yaml.org,2002:map",{kind:"mapping",construct:function(se){return null!==se?se:{}}}),I=new H({explicit:[z,U,M]}),J=new D("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(se){if(null===se)return!0;var ct=se.length;return 1===ct&&"~"===se||4===ct&&("null"===se||"Null"===se||"NULL"===se)},construct:function(){return null},predicate:function(se){return null===se},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),Y=new D("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(se){if(null===se)return!1;var ct=se.length;return 4===ct&&("true"===se||"True"===se||"TRUE"===se)||5===ct&&("false"===se||"False"===se||"FALSE"===se)},construct:function(se){return"true"===se||"True"===se||"TRUE"===se},predicate:function(se){return"[object Boolean]"===Object.prototype.toString.call(se)},represent:{lowercase:function(se){return se?"true":"false"},uppercase:function(se){return se?"TRUE":"FALSE"},camelcase:function(se){return se?"True":"False"}},defaultStyle:"lowercase"});function ie(se){return 48<=se&&se<=55}function oe(se){return 48<=se&&se<=57}var fe=new D("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(se){if(null===se)return!1;var ct,Ke,Xe=se.length,Vt=0,Ct=!1;if(!Xe)return!1;if("-"!==(ct=se[Vt])&&"+"!==ct||(ct=se[++Vt]),"0"===ct){if(Vt+1===Xe)return!0;if("b"===(ct=se[++Vt])){for(Vt++;Vt<Xe;Vt++)if("_"!==(ct=se[Vt])){if("0"!==ct&&"1"!==ct)return!1;Ct=!0}return Ct&&"_"!==ct}if("x"===ct){for(Vt++;Vt<Xe;Vt++)if("_"!==(ct=se[Vt])){if(!(48<=(Ke=se.charCodeAt(Vt))&&Ke<=57||65<=Ke&&Ke<=70||97<=Ke&&Ke<=102))return!1;Ct=!0}return Ct&&"_"!==ct}if("o"===ct){for(Vt++;Vt<Xe;Vt++)if("_"!==(ct=se[Vt])){if(!ie(se.charCodeAt(Vt)))return!1;Ct=!0}return Ct&&"_"!==ct}}if("_"===ct)return!1;for(;Vt<Xe;Vt++)if("_"!==(ct=se[Vt])){if(!oe(se.charCodeAt(Vt)))return!1;Ct=!0}return!(!Ct||"_"===ct)},construct:function(se){var ct,Ke=se,Xe=1;if(-1!==Ke.indexOf("_")&&(Ke=Ke.replace(/_/g,"")),"-"!==(ct=Ke[0])&&"+"!==ct||("-"===ct&&(Xe=-1),ct=(Ke=Ke.slice(1))[0]),"0"===Ke)return 0;if("0"===ct){if("b"===Ke[1])return Xe*parseInt(Ke.slice(2),2);if("x"===Ke[1])return Xe*parseInt(Ke.slice(2),16);if("o"===Ke[1])return Xe*parseInt(Ke.slice(2),8)}return Xe*parseInt(Ke,10)},predicate:function(se){return"[object Number]"===Object.prototype.toString.call(se)&&se%1==0&&!s.isNegativeZero(se)},represent:{binary:function(se){return se>=0?"0b"+se.toString(2):"-0b"+se.toString(2).slice(1)},octal:function(se){return se>=0?"0o"+se.toString(8):"-0o"+se.toString(8).slice(1)},decimal:function(se){return se.toString(10)},hexadecimal:function(se){return se>=0?"0x"+se.toString(16).toUpperCase():"-0x"+se.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ne=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),he=/^[-+]?[0-9]+e/,ce=new D("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(se){return null!==se&&!(!ne.test(se)||"_"===se[se.length-1])},construct:function(se){var ct,Ke;return Ke="-"===(ct=se.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(ct[0])>=0&&(ct=ct.slice(1)),".inf"===ct?1===Ke?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===ct?NaN:Ke*parseFloat(ct,10)},predicate:function(se){return"[object Number]"===Object.prototype.toString.call(se)&&(se%1!=0||s.isNegativeZero(se))},represent:function(se,ct){var Ke;if(isNaN(se))switch(ct){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===se)switch(ct){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===se)switch(ct){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(s.isNegativeZero(se))return"-0.0";return Ke=se.toString(10),he.test(Ke)?Ke.replace("e",".e"):Ke},defaultStyle:"lowercase"}),Ae=I.extend({implicit:[J,Y,fe,ce]}),Me=Ae,Oe=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),be=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),ue=new D("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(se){return null!==se&&(null!==Oe.exec(se)||null!==be.exec(se))},construct:function(se){var ct,Ke,Xe,Vt,Ct,rt,bt,We,$t=0,or=null;if(null===(ct=Oe.exec(se))&&(ct=be.exec(se)),null===ct)throw new Error("Date resolve error");if(Ke=+ct[1],Xe=+ct[2]-1,Vt=+ct[3],!ct[4])return new Date(Date.UTC(Ke,Xe,Vt));if(Ct=+ct[4],rt=+ct[5],bt=+ct[6],ct[7]){for($t=ct[7].slice(0,3);$t.length<3;)$t+="0";$t=+$t}return ct[9]&&(or=6e4*(60*+ct[10]+ +(ct[11]||0)),"-"===ct[9]&&(or=-or)),We=new Date(Date.UTC(Ke,Xe,Vt,Ct,rt,bt,$t)),or&&We.setTime(We.getTime()-or),We},instanceOf:Date,represent:function(se){return se.toISOString()}}),He=new D("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(se){return"<<"===se||null===se}}),$e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",F=new D("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(se){if(null===se)return!1;var ct,Ke,Xe=0,Vt=se.length,Ct=$e;for(Ke=0;Ke<Vt;Ke++)if(!((ct=Ct.indexOf(se.charAt(Ke)))>64)){if(ct<0)return!1;Xe+=6}return Xe%8==0},construct:function(se){var ct,Ke,Xe=se.replace(/[\r\n=]/g,""),Vt=Xe.length,Ct=$e,rt=0,bt=[];for(ct=0;ct<Vt;ct++)ct%4==0&&ct&&(bt.push(rt>>16&255),bt.push(rt>>8&255),bt.push(255&rt)),rt=rt<<6|Ct.indexOf(Xe.charAt(ct));return 0==(Ke=Vt%4*6)?(bt.push(rt>>16&255),bt.push(rt>>8&255),bt.push(255&rt)):18===Ke?(bt.push(rt>>10&255),bt.push(rt>>2&255)):12===Ke&&bt.push(rt>>4&255),new Uint8Array(bt)},predicate:function(se){return"[object Uint8Array]"===Object.prototype.toString.call(se)},represent:function(se){var ct,Ke,Xe="",Vt=0,Ct=se.length,rt=$e;for(ct=0;ct<Ct;ct++)ct%3==0&&ct&&(Xe+=rt[Vt>>18&63],Xe+=rt[Vt>>12&63],Xe+=rt[Vt>>6&63],Xe+=rt[63&Vt]),Vt=(Vt<<8)+se[ct];return 0==(Ke=Ct%3)?(Xe+=rt[Vt>>18&63],Xe+=rt[Vt>>12&63],Xe+=rt[Vt>>6&63],Xe+=rt[63&Vt]):2===Ke?(Xe+=rt[Vt>>10&63],Xe+=rt[Vt>>4&63],Xe+=rt[Vt<<2&63],Xe+=rt[64]):1===Ke&&(Xe+=rt[Vt>>2&63],Xe+=rt[Vt<<4&63],Xe+=rt[64],Xe+=rt[64]),Xe}}),je=Object.prototype.hasOwnProperty,Et=Object.prototype.toString,lt=new D("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(se){if(null===se)return!0;var ct,Ke,Xe,Vt,Ct,rt=[],bt=se;for(ct=0,Ke=bt.length;ct<Ke;ct+=1){if(Ct=!1,"[object Object]"!==Et.call(Xe=bt[ct]))return!1;for(Vt in Xe)if(je.call(Xe,Vt)){if(Ct)return!1;Ct=!0}if(!Ct||-1!==rt.indexOf(Vt))return!1;rt.push(Vt)}return!0},construct:function(se){return null!==se?se:[]}}),nn=Object.prototype.toString,St=new D("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(se){if(null===se)return!0;var ct,Ke,Xe,Vt,Ct,rt=se;for(Ct=new Array(rt.length),ct=0,Ke=rt.length;ct<Ke;ct+=1){if("[object Object]"!==nn.call(Xe=rt[ct])||1!==(Vt=Object.keys(Xe)).length)return!1;Ct[ct]=[Vt[0],Xe[Vt[0]]]}return!0},construct:function(se){if(null===se)return[];var ct,Ke,Xe,Vt,Ct,rt=se;for(Ct=new Array(rt.length),ct=0,Ke=rt.length;ct<Ke;ct+=1)Xe=rt[ct],Vt=Object.keys(Xe),Ct[ct]=[Vt[0],Xe[Vt[0]]];return Ct}}),At=Object.prototype.hasOwnProperty,Qe=new D("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(se){if(null===se)return!0;var ct,Ke=se;for(ct in Ke)if(At.call(Ke,ct)&&null!==Ke[ct])return!1;return!0},construct:function(se){return null!==se?se:{}}}),It=Me.extend({implicit:[ue,He],explicit:[F,lt,St,Qe]}),ae=Object.prototype.hasOwnProperty,Ie=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,dt=/[\x85\u2028\u2029]/,Jt=/[,\[\]\{\}]/,zt=/^(?:!|!!|![a-z\-]+!)$/i,ln=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ar(se){return Object.prototype.toString.call(se)}function Ln(se){return 10===se||13===se}function Rn(se){return 9===se||32===se}function er(se){return 9===se||32===se||10===se||13===se}function Mn(se){return 44===se||91===se||93===se||123===se||125===se}function Ht(se){var ct;return 48<=se&&se<=57?se-48:97<=(ct=32|se)&&ct<=102?ct-97+10:-1}function tr(se){return 48===se?"\0":97===se?"\x07":98===se?"\b":116===se||9===se?"\t":110===se?"\n":118===se?"\v":102===se?"\f":114===se?"\r":101===se?"\x1b":32===se?" ":34===se?'"':47===se?"/":92===se?"\\":78===se?"\x85":95===se?"\xa0":76===se?"\u2028":80===se?"\u2029":""}function Yn(se){return se<=65535?String.fromCharCode(se):String.fromCharCode(55296+(se-65536>>10),56320+(se-65536&1023))}for(var Cn=new Array(256),Kt=new Array(256),dn=0;dn<256;dn++)Cn[dn]=tr(dn)?1:0,Kt[dn]=tr(dn);function Kn(se,ct){this.input=se,this.filename=ct.filename||null,this.schema=ct.schema||It,this.onWarning=ct.onWarning||null,this.legacy=ct.legacy||!1,this.json=ct.json||!1,this.listener=ct.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=se.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function qn(se,ct){var Ke={name:se.filename,buffer:se.input.slice(0,-1),position:se.position,line:se.line,column:se.position-se.lineStart};return Ke.snippet=function(se,ct){if(ct=Object.create(ct||null),!se.buffer)return null;ct.maxLength||(ct.maxLength=79),"number"!=typeof ct.indent&&(ct.indent=1),"number"!=typeof ct.linesBefore&&(ct.linesBefore=3),"number"!=typeof ct.linesAfter&&(ct.linesAfter=2);for(var Ke,Xe=/\r?\n|\r|\0/g,Vt=[0],Ct=[],rt=-1;Ke=Xe.exec(se.buffer);)Ct.push(Ke.index),Vt.push(Ke.index+Ke[0].length),se.position<=Ke.index&&rt<0&&(rt=Vt.length-2);rt<0&&(rt=Vt.length-1);var bt,We,$t="",or=Math.min(se.line+ct.linesAfter,Ct.length).toString().length,Zn=ct.maxLength-(ct.indent+or+3);for(bt=1;bt<=ct.linesBefore&&!(rt-bt<0);bt++)We=h(se.buffer,Vt[rt-bt],Ct[rt-bt],se.position-(Vt[rt]-Vt[rt-bt]),Zn),$t=s.repeat(" ",ct.indent)+_((se.line-bt+1).toString(),or)+" | "+We.str+"\n"+$t;for(We=h(se.buffer,Vt[rt],Ct[rt],se.position,Zn),$t+=s.repeat(" ",ct.indent)+_((se.line+1).toString(),or)+" | "+We.str+"\n",$t+=s.repeat("-",ct.indent+or+3+We.pos)+"^\n",bt=1;bt<=ct.linesAfter&&!(rt+bt>=Ct.length);bt++)We=h(se.buffer,Vt[rt+bt],Ct[rt+bt],se.position-(Vt[rt]-Vt[rt+bt]),Zn),$t+=s.repeat(" ",ct.indent)+_((se.line+bt+1).toString(),or)+" | "+We.str+"\n";return $t.replace(/\n$/,"")}(Ke),new u(ct,Ke)}function Sn(se,ct){throw qn(se,ct)}function $n(se,ct){se.onWarning&&se.onWarning.call(null,qn(se,ct))}var En={YAML:function(se,ct,Ke){var Xe,Vt,Ct;null!==se.version&&Sn(se,"duplication of %YAML directive"),1!==Ke.length&&Sn(se,"YAML directive accepts exactly one argument"),null===(Xe=/^([0-9]+)\.([0-9]+)$/.exec(Ke[0]))&&Sn(se,"ill-formed argument of the YAML directive"),Vt=parseInt(Xe[1],10),Ct=parseInt(Xe[2],10),1!==Vt&&Sn(se,"unacceptable YAML version of the document"),se.version=Ke[0],se.checkLineBreaks=Ct<2,1!==Ct&&2!==Ct&&$n(se,"unsupported YAML version of the document")},TAG:function(se,ct,Ke){var Xe,Vt;2!==Ke.length&&Sn(se,"TAG directive accepts exactly two arguments"),Vt=Ke[1],zt.test(Xe=Ke[0])||Sn(se,"ill-formed tag handle (first argument) of the TAG directive"),ae.call(se.tagMap,Xe)&&Sn(se,'there is a previously declared suffix for "'+Xe+'" tag handle'),ln.test(Vt)||Sn(se,"ill-formed tag prefix (second argument) of the TAG directive");try{Vt=decodeURIComponent(Vt)}catch(Ct){Sn(se,"tag prefix is malformed: "+Vt)}se.tagMap[Xe]=Vt}};function Fn(se,ct,Ke,Xe){var Vt,Ct,rt,bt;if(ct<Ke){if(bt=se.input.slice(ct,Ke),Xe)for(Vt=0,Ct=bt.length;Vt<Ct;Vt+=1)9===(rt=bt.charCodeAt(Vt))||32<=rt&&rt<=1114111||Sn(se,"expected valid JSON character");else Ie.test(bt)&&Sn(se,"the stream contains non-printable characters");se.result+=bt}}function Dn(se,ct,Ke,Xe){var Vt,Ct,rt,bt;for(s.isObject(Ke)||Sn(se,"cannot merge mappings; the provided source object is unacceptable"),rt=0,bt=(Vt=Object.keys(Ke)).length;rt<bt;rt+=1)ae.call(ct,Ct=Vt[rt])||(ct[Ct]=Ke[Ct],Xe[Ct]=!0)}function mn(se,ct,Ke,Xe,Vt,Ct,rt,bt,We){var $t,or;if(Array.isArray(Vt))for($t=0,or=(Vt=Array.prototype.slice.call(Vt)).length;$t<or;$t+=1)Array.isArray(Vt[$t])&&Sn(se,"nested arrays are not supported inside keys"),"object"==typeof Vt&&"[object Object]"===ar(Vt[$t])&&(Vt[$t]="[object Object]");if("object"==typeof Vt&&"[object Object]"===ar(Vt)&&(Vt="[object Object]"),Vt=String(Vt),null===ct&&(ct={}),"tag:yaml.org,2002:merge"===Xe)if(Array.isArray(Ct))for($t=0,or=Ct.length;$t<or;$t+=1)Dn(se,ct,Ct[$t],Ke);else Dn(se,ct,Ct,Ke);else se.json||ae.call(Ke,Vt)||!ae.call(ct,Vt)||(se.line=rt||se.line,se.lineStart=bt||se.lineStart,se.position=We||se.position,Sn(se,"duplicated mapping key")),"__proto__"===Vt?Object.defineProperty(ct,Vt,{configurable:!0,enumerable:!0,writable:!0,value:Ct}):ct[Vt]=Ct,delete Ke[Vt];return ct}function jn(se){var ct;10===(ct=se.input.charCodeAt(se.position))?se.position++:13===ct?(se.position++,10===se.input.charCodeAt(se.position)&&se.position++):Sn(se,"a line break is expected"),se.line+=1,se.lineStart=se.position,se.firstTabInLine=-1}function Xt(se,ct,Ke){for(var Xe=0,Vt=se.input.charCodeAt(se.position);0!==Vt;){for(;Rn(Vt);)9===Vt&&-1===se.firstTabInLine&&(se.firstTabInLine=se.position),Vt=se.input.charCodeAt(++se.position);if(ct&&35===Vt)do{Vt=se.input.charCodeAt(++se.position)}while(10!==Vt&&13!==Vt&&0!==Vt);if(!Ln(Vt))break;for(jn(se),Vt=se.input.charCodeAt(se.position),Xe++,se.lineIndent=0;32===Vt;)se.lineIndent++,Vt=se.input.charCodeAt(++se.position)}return-1!==Ke&&0!==Xe&&se.lineIndent<Ke&&$n(se,"deficient indentation"),Xe}function ut(se){var ct,Ke=se.position;return!(45!==(ct=se.input.charCodeAt(Ke))&&46!==ct||ct!==se.input.charCodeAt(Ke+1)||ct!==se.input.charCodeAt(Ke+2)||(Ke+=3,0!==(ct=se.input.charCodeAt(Ke))&&!er(ct)))}function mt(se,ct){1===ct?se.result+=" ":ct>1&&(se.result+=s.repeat("\n",ct-1))}function Tt(se,ct){var Ke,Xe,Vt=se.tag,Ct=se.anchor,rt=[],bt=!1;if(-1!==se.firstTabInLine)return!1;for(null!==se.anchor&&(se.anchorMap[se.anchor]=rt),Xe=se.input.charCodeAt(se.position);0!==Xe&&(-1!==se.firstTabInLine&&(se.position=se.firstTabInLine,Sn(se,"tab characters must not be used in indentation")),45===Xe)&&er(se.input.charCodeAt(se.position+1));)if(bt=!0,se.position++,Xt(se,!0,-1)&&se.lineIndent<=ct)rt.push(null),Xe=se.input.charCodeAt(se.position);else if(Ke=se.line,jt(se,ct,3,!1,!0),rt.push(se.result),Xt(se,!0,-1),Xe=se.input.charCodeAt(se.position),(se.line===Ke||se.lineIndent>ct)&&0!==Xe)Sn(se,"bad indentation of a sequence entry");else if(se.lineIndent<ct)break;return!!bt&&(se.tag=Vt,se.anchor=Ct,se.kind="sequence",se.result=rt,!0)}function yn(se){var ct,Ke,Xe,Vt,Ct=!1,rt=!1;if(33!==(Vt=se.input.charCodeAt(se.position)))return!1;if(null!==se.tag&&Sn(se,"duplication of a tag property"),60===(Vt=se.input.charCodeAt(++se.position))?(Ct=!0,Vt=se.input.charCodeAt(++se.position)):33===Vt?(rt=!0,Ke="!!",Vt=se.input.charCodeAt(++se.position)):Ke="!",ct=se.position,Ct){do{Vt=se.input.charCodeAt(++se.position)}while(0!==Vt&&62!==Vt);se.position<se.length?(Xe=se.input.slice(ct,se.position),Vt=se.input.charCodeAt(++se.position)):Sn(se,"unexpected end of the stream within a verbatim tag")}else{for(;0!==Vt&&!er(Vt);)33===Vt&&(rt?Sn(se,"tag suffix cannot contain exclamation marks"):(Ke=se.input.slice(ct-1,se.position+1),zt.test(Ke)||Sn(se,"named tag handle cannot contain such characters"),rt=!0,ct=se.position+1)),Vt=se.input.charCodeAt(++se.position);Xe=se.input.slice(ct,se.position),Jt.test(Xe)&&Sn(se,"tag suffix cannot contain flow indicator characters")}Xe&&!ln.test(Xe)&&Sn(se,"tag name cannot contain such characters: "+Xe);try{Xe=decodeURIComponent(Xe)}catch(bt){Sn(se,"tag name is malformed: "+Xe)}return Ct?se.tag=Xe:ae.call(se.tagMap,Ke)?se.tag=se.tagMap[Ke]+Xe:"!"===Ke?se.tag="!"+Xe:"!!"===Ke?se.tag="tag:yaml.org,2002:"+Xe:Sn(se,'undeclared tag handle "'+Ke+'"'),!0}function et(se){var ct,Ke;if(38!==(Ke=se.input.charCodeAt(se.position)))return!1;for(null!==se.anchor&&Sn(se,"duplication of an anchor property"),Ke=se.input.charCodeAt(++se.position),ct=se.position;0!==Ke&&!er(Ke)&&!Mn(Ke);)Ke=se.input.charCodeAt(++se.position);return se.position===ct&&Sn(se,"name of an anchor node must contain at least one character"),se.anchor=se.input.slice(ct,se.position),!0}function jt(se,ct,Ke,Xe,Vt){var Ct,rt,bt,We,$t,or,Zn,Vr,Cr,ai=1,Dr=!1,Qr=!1;if(null!==se.listener&&se.listener("open",se),se.tag=null,se.anchor=null,se.kind=null,se.result=null,Ct=rt=bt=4===Ke||3===Ke,Xe&&Xt(se,!0,-1)&&(Dr=!0,se.lineIndent>ct?ai=1:se.lineIndent===ct?ai=0:se.lineIndent<ct&&(ai=-1)),1===ai)for(;yn(se)||et(se);)Xt(se,!0,-1)?(Dr=!0,bt=Ct,se.lineIndent>ct?ai=1:se.lineIndent===ct?ai=0:se.lineIndent<ct&&(ai=-1)):bt=!1;if(bt&&(bt=Dr||Vt),1!==ai&&4!==Ke||(Vr=1===Ke||2===Ke?ct:ct+1,Cr=se.position-se.lineStart,1===ai?bt&&(Tt(se,Cr)||function(rn,fi,Ei){var wi,go,Fi,no,Ji,qi,to,zi=rn.tag,Go=rn.anchor,Ro={},Bo=Object.create(null),Jo=null,es=null,ua=null,ds=!1,zo=!1;if(-1!==rn.firstTabInLine)return!1;for(null!==rn.anchor&&(rn.anchorMap[rn.anchor]=Ro),to=rn.input.charCodeAt(rn.position);0!==to;){if(ds||-1===rn.firstTabInLine||(rn.position=rn.firstTabInLine,Sn(rn,"tab characters must not be used in indentation")),wi=rn.input.charCodeAt(rn.position+1),Fi=rn.line,63!==to&&58!==to||!er(wi)){if(no=rn.line,Ji=rn.lineStart,qi=rn.position,!jt(rn,Ei,2,!1,!0))break;if(rn.line===Fi){for(to=rn.input.charCodeAt(rn.position);Rn(to);)to=rn.input.charCodeAt(++rn.position);if(58===to)er(to=rn.input.charCodeAt(++rn.position))||Sn(rn,"a whitespace character is expected after the key-value separator within a block mapping"),ds&&(mn(rn,Ro,Bo,Jo,es,null,no,Ji,qi),Jo=es=ua=null),zo=!0,ds=!1,go=!1,Jo=rn.tag,es=rn.result;else{if(!zo)return rn.tag=zi,rn.anchor=Go,!0;Sn(rn,"can not read an implicit mapping pair; a colon is missed")}}else{if(!zo)return rn.tag=zi,rn.anchor=Go,!0;Sn(rn,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===to?(ds&&(mn(rn,Ro,Bo,Jo,es,null,no,Ji,qi),Jo=es=ua=null),zo=!0,ds=!0,go=!0):ds?(ds=!1,go=!0):Sn(rn,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),rn.position+=1,to=wi;if((rn.line===Fi||rn.lineIndent>fi)&&(ds&&(no=rn.line,Ji=rn.lineStart,qi=rn.position),jt(rn,fi,4,!0,go)&&(ds?es=rn.result:ua=rn.result),ds||(mn(rn,Ro,Bo,Jo,es,ua,no,Ji,qi),Jo=es=ua=null),Xt(rn,!0,-1),to=rn.input.charCodeAt(rn.position)),(rn.line===Fi||rn.lineIndent>fi)&&0!==to)Sn(rn,"bad indentation of a mapping entry");else if(rn.lineIndent<fi)break}return ds&&mn(rn,Ro,Bo,Jo,es,null,no,Ji,qi),zo&&(rn.tag=zi,rn.anchor=Go,rn.kind="mapping",rn.result=Ro),zo}(se,Cr,Vr))||function(rn,fi){var Ei,wi,go,Fi,no,Ji,qi,to,zi,Go,Ro,Bo,Jo=!0,es=rn.tag,ua=rn.anchor,ds=Object.create(null);if(91===(Bo=rn.input.charCodeAt(rn.position)))no=93,to=!1,Fi=[];else{if(123!==Bo)return!1;no=125,to=!0,Fi={}}for(null!==rn.anchor&&(rn.anchorMap[rn.anchor]=Fi),Bo=rn.input.charCodeAt(++rn.position);0!==Bo;){if(Xt(rn,!0,fi),(Bo=rn.input.charCodeAt(rn.position))===no)return rn.position++,rn.tag=es,rn.anchor=ua,rn.kind=to?"mapping":"sequence",rn.result=Fi,!0;Jo?44===Bo&&Sn(rn,"expected the node content, but found ','"):Sn(rn,"missed comma between flow collection entries"),Ro=null,Ji=qi=!1,63===Bo&&er(rn.input.charCodeAt(rn.position+1))&&(Ji=qi=!0,rn.position++,Xt(rn,!0,fi)),Ei=rn.line,wi=rn.lineStart,go=rn.position,jt(rn,fi,1,!1,!0),Go=rn.tag,zi=rn.result,Xt(rn,!0,fi),Bo=rn.input.charCodeAt(rn.position),!qi&&rn.line!==Ei||58!==Bo||(Ji=!0,Bo=rn.input.charCodeAt(++rn.position),Xt(rn,!0,fi),jt(rn,fi,1,!1,!0),Ro=rn.result),to?mn(rn,Fi,ds,Go,zi,Ro,Ei,wi,go):Fi.push(Ji?mn(rn,null,ds,Go,zi,Ro,Ei,wi,go):zi),Xt(rn,!0,fi),44===(Bo=rn.input.charCodeAt(rn.position))?(Jo=!0,Bo=rn.input.charCodeAt(++rn.position)):Jo=!1}Sn(rn,"unexpected end of the stream within a flow collection")}(se,Vr)?Qr=!0:(rt&&function(rn,fi){var Ei,wi,go,Fi,no,Ji=1,qi=!1,to=!1,zi=fi,Go=0,Ro=!1;if(124===(Fi=rn.input.charCodeAt(rn.position)))wi=!1;else{if(62!==Fi)return!1;wi=!0}for(rn.kind="scalar",rn.result="";0!==Fi;)if(43===(Fi=rn.input.charCodeAt(++rn.position))||45===Fi)1===Ji?Ji=43===Fi?3:2:Sn(rn,"repeat of a chomping mode identifier");else{if(!((go=48<=(no=Fi)&&no<=57?no-48:-1)>=0))break;0===go?Sn(rn,"bad explicit indentation width of a block scalar; it cannot be less than one"):to?Sn(rn,"repeat of an indentation width identifier"):(zi=fi+go-1,to=!0)}if(Rn(Fi)){do{Fi=rn.input.charCodeAt(++rn.position)}while(Rn(Fi));if(35===Fi)do{Fi=rn.input.charCodeAt(++rn.position)}while(!Ln(Fi)&&0!==Fi)}for(;0!==Fi;){for(jn(rn),rn.lineIndent=0,Fi=rn.input.charCodeAt(rn.position);(!to||rn.lineIndent<zi)&&32===Fi;)rn.lineIndent++,Fi=rn.input.charCodeAt(++rn.position);if(!to&&rn.lineIndent>zi&&(zi=rn.lineIndent),Ln(Fi))Go++;else{if(rn.lineIndent<zi){3===Ji?rn.result+=s.repeat("\n",qi?1+Go:Go):1===Ji&&qi&&(rn.result+="\n");break}for(wi?Rn(Fi)?(Ro=!0,rn.result+=s.repeat("\n",qi?1+Go:Go)):Ro?(Ro=!1,rn.result+=s.repeat("\n",Go+1)):0===Go?qi&&(rn.result+=" "):rn.result+=s.repeat("\n",Go):rn.result+=s.repeat("\n",qi?1+Go:Go),qi=!0,to=!0,Go=0,Ei=rn.position;!Ln(Fi)&&0!==Fi;)Fi=rn.input.charCodeAt(++rn.position);Fn(rn,Ei,rn.position,!1)}}return!0}(se,Vr)||function(rn,fi){var Ei,wi,go;if(39!==(Ei=rn.input.charCodeAt(rn.position)))return!1;for(rn.kind="scalar",rn.result="",rn.position++,wi=go=rn.position;0!==(Ei=rn.input.charCodeAt(rn.position));)if(39===Ei){if(Fn(rn,wi,rn.position,!0),39!==(Ei=rn.input.charCodeAt(++rn.position)))return!0;wi=rn.position,rn.position++,go=rn.position}else Ln(Ei)?(Fn(rn,wi,go,!0),mt(rn,Xt(rn,!1,fi)),wi=go=rn.position):rn.position===rn.lineStart&&ut(rn)?Sn(rn,"unexpected end of the document within a single quoted scalar"):(rn.position++,go=rn.position);Sn(rn,"unexpected end of the stream within a single quoted scalar")}(se,Vr)||function(rn,fi){var Ei,wi,go,Fi,no,Ji,qi;if(34!==(Ji=rn.input.charCodeAt(rn.position)))return!1;for(rn.kind="scalar",rn.result="",rn.position++,Ei=wi=rn.position;0!==(Ji=rn.input.charCodeAt(rn.position));){if(34===Ji)return Fn(rn,Ei,rn.position,!0),rn.position++,!0;if(92===Ji){if(Fn(rn,Ei,rn.position,!0),Ln(Ji=rn.input.charCodeAt(++rn.position)))Xt(rn,!1,fi);else if(Ji<256&&Cn[Ji])rn.result+=Kt[Ji],rn.position++;else if((no=120===(qi=Ji)?2:117===qi?4:85===qi?8:0)>0){for(go=no,Fi=0;go>0;go--)(no=Ht(Ji=rn.input.charCodeAt(++rn.position)))>=0?Fi=(Fi<<4)+no:Sn(rn,"expected hexadecimal character");rn.result+=Yn(Fi),rn.position++}else Sn(rn,"unknown escape sequence");Ei=wi=rn.position}else Ln(Ji)?(Fn(rn,Ei,wi,!0),mt(rn,Xt(rn,!1,fi)),Ei=wi=rn.position):rn.position===rn.lineStart&&ut(rn)?Sn(rn,"unexpected end of the document within a double quoted scalar"):(rn.position++,wi=rn.position)}Sn(rn,"unexpected end of the stream within a double quoted scalar")}(se,Vr)?Qr=!0:function(rn){var fi,Ei,wi;if(42!==(wi=rn.input.charCodeAt(rn.position)))return!1;for(wi=rn.input.charCodeAt(++rn.position),fi=rn.position;0!==wi&&!er(wi)&&!Mn(wi);)wi=rn.input.charCodeAt(++rn.position);return rn.position===fi&&Sn(rn,"name of an alias node must contain at least one character"),Ei=rn.input.slice(fi,rn.position),ae.call(rn.anchorMap,Ei)||Sn(rn,'unidentified alias "'+Ei+'"'),rn.result=rn.anchorMap[Ei],Xt(rn,!0,-1),!0}(se)?(Qr=!0,null===se.tag&&null===se.anchor||Sn(se,"alias node should not have any properties")):function(rn,fi,Ei){var wi,go,Fi,no,Ji,qi,to,zi,Go=rn.kind,Ro=rn.result;if(er(zi=rn.input.charCodeAt(rn.position))||Mn(zi)||35===zi||38===zi||42===zi||33===zi||124===zi||62===zi||39===zi||34===zi||37===zi||64===zi||96===zi||(63===zi||45===zi)&&(er(wi=rn.input.charCodeAt(rn.position+1))||Ei&&Mn(wi)))return!1;for(rn.kind="scalar",rn.result="",go=Fi=rn.position,no=!1;0!==zi;){if(58===zi){if(er(wi=rn.input.charCodeAt(rn.position+1))||Ei&&Mn(wi))break}else if(35===zi){if(er(rn.input.charCodeAt(rn.position-1)))break}else{if(rn.position===rn.lineStart&&ut(rn)||Ei&&Mn(zi))break;if(Ln(zi)){if(Ji=rn.line,qi=rn.lineStart,to=rn.lineIndent,Xt(rn,!1,-1),rn.lineIndent>=fi){no=!0,zi=rn.input.charCodeAt(rn.position);continue}rn.position=Fi,rn.line=Ji,rn.lineStart=qi,rn.lineIndent=to;break}}no&&(Fn(rn,go,Fi,!1),mt(rn,rn.line-Ji),go=Fi=rn.position,no=!1),Rn(zi)||(Fi=rn.position+1),zi=rn.input.charCodeAt(++rn.position)}return Fn(rn,go,Fi,!1),!!rn.result||(rn.kind=Go,rn.result=Ro,!1)}(se,Vr,1===Ke)&&(Qr=!0,null===se.tag&&(se.tag="?")),null!==se.anchor&&(se.anchorMap[se.anchor]=se.result)):0===ai&&(Qr=bt&&Tt(se,Cr))),null===se.tag)null!==se.anchor&&(se.anchorMap[se.anchor]=se.result);else if("?"===se.tag){for(null!==se.result&&"scalar"!==se.kind&&Sn(se,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+se.kind+'"'),We=0,$t=se.implicitTypes.length;We<$t;We+=1)if((Zn=se.implicitTypes[We]).resolve(se.result)){se.result=Zn.construct(se.result),se.tag=Zn.tag,null!==se.anchor&&(se.anchorMap[se.anchor]=se.result);break}}else if("!"!==se.tag){if(ae.call(se.typeMap[se.kind||"fallback"],se.tag))Zn=se.typeMap[se.kind||"fallback"][se.tag];else for(Zn=null,We=0,$t=(or=se.typeMap.multi[se.kind||"fallback"]).length;We<$t;We+=1)if(se.tag.slice(0,or[We].tag.length)===or[We].tag){Zn=or[We];break}Zn||Sn(se,"unknown tag !<"+se.tag+">"),null!==se.result&&Zn.kind!==se.kind&&Sn(se,"unacceptable node kind for !<"+se.tag+'> tag; it should be "'+Zn.kind+'", not "'+se.kind+'"'),Zn.resolve(se.result,se.tag)?(se.result=Zn.construct(se.result,se.tag),null!==se.anchor&&(se.anchorMap[se.anchor]=se.result)):Sn(se,"cannot resolve a node with !<"+se.tag+"> explicit tag")}return null!==se.listener&&se.listener("close",se),null!==se.tag||null!==se.anchor||Qr}function hn(se){var ct,Ke,Xe,Vt,Ct=se.position,rt=!1;for(se.version=null,se.checkLineBreaks=se.legacy,se.tagMap=Object.create(null),se.anchorMap=Object.create(null);0!==(Vt=se.input.charCodeAt(se.position))&&(Xt(se,!0,-1),Vt=se.input.charCodeAt(se.position),!(se.lineIndent>0||37!==Vt));){for(rt=!0,Vt=se.input.charCodeAt(++se.position),ct=se.position;0!==Vt&&!er(Vt);)Vt=se.input.charCodeAt(++se.position);for(Xe=[],(Ke=se.input.slice(ct,se.position)).length<1&&Sn(se,"directive name must not be less than one character in length");0!==Vt;){for(;Rn(Vt);)Vt=se.input.charCodeAt(++se.position);if(35===Vt){do{Vt=se.input.charCodeAt(++se.position)}while(0!==Vt&&!Ln(Vt));break}if(Ln(Vt))break;for(ct=se.position;0!==Vt&&!er(Vt);)Vt=se.input.charCodeAt(++se.position);Xe.push(se.input.slice(ct,se.position))}0!==Vt&&jn(se),ae.call(En,Ke)?En[Ke](se,Ke,Xe):$n(se,'unknown document directive "'+Ke+'"')}Xt(se,!0,-1),0===se.lineIndent&&45===se.input.charCodeAt(se.position)&&45===se.input.charCodeAt(se.position+1)&&45===se.input.charCodeAt(se.position+2)?(se.position+=3,Xt(se,!0,-1)):rt&&Sn(se,"directives end mark is expected"),jt(se,se.lineIndent-1,4,!1,!0),Xt(se,!0,-1),se.checkLineBreaks&&dt.test(se.input.slice(Ct,se.position))&&$n(se,"non-ASCII line breaks are interpreted as content"),se.documents.push(se.result),se.position===se.lineStart&&ut(se)?46===se.input.charCodeAt(se.position)&&(se.position+=3,Xt(se,!0,-1)):se.position<se.length-1&&Sn(se,"end of the stream or a document separator is expected")}function Qn(se,ct){ct=ct||{},0!==(se=String(se)).length&&(10!==se.charCodeAt(se.length-1)&&13!==se.charCodeAt(se.length-1)&&(se+="\n"),65279===se.charCodeAt(0)&&(se=se.slice(1)));var Ke=new Kn(se,ct),Xe=se.indexOf("\0");for(-1!==Xe&&(Ke.position=Xe,Sn(Ke,"null byte is not allowed in input")),Ke.input+="\0";32===Ke.input.charCodeAt(Ke.position);)Ke.lineIndent+=1,Ke.position+=1;for(;Ke.position<Ke.length-1;)hn(Ke);return Ke.documents}var Ir={loadAll:function(se,ct,Ke){null!==ct&&"object"==typeof ct&&void 0===Ke&&(Ke=ct,ct=null);var Xe=Qn(se,Ke);if("function"!=typeof ct)return Xe;for(var Vt=0,Ct=Xe.length;Vt<Ct;Vt+=1)ct(Xe[Vt])},load:function(se,ct){var Ke=Qn(se,ct);if(0!==Ke.length){if(1===Ke.length)return Ke[0];throw new u("expected a single document in the stream, but found more")}}},ht=Object.prototype.toString,L=Object.prototype.hasOwnProperty,nt={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},at=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],it=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Pt(se){var ct,Ke,Xe;if(ct=se.toString(16).toUpperCase(),se<=255)Ke="x",Xe=2;else if(se<=65535)Ke="u",Xe=4;else{if(!(se<=4294967295))throw new u("code point within a string may not be greater than 0xFFFFFFFF");Ke="U",Xe=8}return"\\"+Ke+s.repeat("0",Xe-ct.length)+ct}function Ut(se){this.schema=se.schema||It,this.indent=Math.max(1,se.indent||2),this.noArrayIndent=se.noArrayIndent||!1,this.skipInvalid=se.skipInvalid||!1,this.flowLevel=s.isNothing(se.flowLevel)?-1:se.flowLevel,this.styleMap=function(ct,Ke){var Xe,Vt,Ct,rt,bt,We,$t;if(null===Ke)return{};for(Xe={},Ct=0,rt=(Vt=Object.keys(Ke)).length;Ct<rt;Ct+=1)bt=Vt[Ct],We=String(Ke[bt]),"!!"===bt.slice(0,2)&&(bt="tag:yaml.org,2002:"+bt.slice(2)),($t=ct.compiledTypeMap.fallback[bt])&&L.call($t.styleAliases,We)&&(We=$t.styleAliases[We]),Xe[bt]=We;return Xe}(this.schema,se.styles||null),this.sortKeys=se.sortKeys||!1,this.lineWidth=se.lineWidth||80,this.noRefs=se.noRefs||!1,this.noCompatMode=se.noCompatMode||!1,this.condenseFlow=se.condenseFlow||!1,this.quotingType='"'===se.quotingType?2:1,this.forceQuotes=se.forceQuotes||!1,this.replacer="function"==typeof se.replacer?se.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function ot(se,ct){for(var Ke,Xe=s.repeat(" ",ct),Vt=0,Ct=-1,rt="",bt=se.length;Vt<bt;)-1===(Ct=se.indexOf("\n",Vt))?(Ke=se.slice(Vt),Vt=bt):(Ke=se.slice(Vt,Ct+1),Vt=Ct+1),Ke.length&&"\n"!==Ke&&(rt+=Xe),rt+=Ke;return rt}function Nn(se,ct){return"\n"+s.repeat(" ",se.indent*ct)}function sn(se){return 32===se||9===se}function An(se){return 32<=se&&se<=126||161<=se&&se<=55295&&8232!==se&&8233!==se||57344<=se&&se<=65533&&65279!==se||65536<=se&&se<=1114111}function Bn(se){return An(se)&&65279!==se&&13!==se&&10!==se}function ir(se,ct,Ke){var Xe=Bn(se),Vt=Xe&&!sn(se);return(Ke?Xe:Xe&&44!==se&&91!==se&&93!==se&&123!==se&&125!==se)&&35!==se&&!(58===ct&&!Vt)||Bn(ct)&&!sn(ct)&&35===se||58===ct&&Vt}function mr(se,ct){var Ke,Xe=se.charCodeAt(ct);return Xe>=55296&&Xe<=56319&&ct+1<se.length&&(Ke=se.charCodeAt(ct+1))>=56320&&Ke<=57343?1024*(Xe-55296)+Ke-56320+65536:Xe}function _r(se){return/^\n* /.test(se)}function Jn(se,ct){var Ke=_r(se)?String(ct):"",Xe="\n"===se[se.length-1];return Ke+(!Xe||"\n"!==se[se.length-2]&&"\n"!==se?Xe?"":"-":"+")+"\n"}function nr(se){return"\n"===se[se.length-1]?se.slice(0,-1):se}function Mr(se,ct){if(""===se||" "===se[0])return se;for(var Ke,Xe,Vt=/ [^ ]/g,Ct=0,rt=0,bt=0,We="";Ke=Vt.exec(se);)(bt=Ke.index)-Ct>ct&&(We+="\n"+se.slice(Ct,Xe=rt>Ct?rt:bt),Ct=Xe+1),rt=bt;return We+="\n",(We+=se.length-Ct>ct&&rt>Ct?se.slice(Ct,rt)+"\n"+se.slice(rt+1):se.slice(Ct)).slice(1)}function Ii(se,ct,Ke){var Xe,Vt,Ct,rt,bt,We;for(Ct=0,rt=(Vt=Ke?se.explicitTypes:se.implicitTypes).length;Ct<rt;Ct+=1)if(((bt=Vt[Ct]).instanceOf||bt.predicate)&&(!bt.instanceOf||"object"==typeof ct&&ct instanceof bt.instanceOf)&&(!bt.predicate||bt.predicate(ct))){if(se.tag=Ke?bt.multi&&bt.representName?bt.representName(ct):bt.tag:"?",bt.represent){if(We=se.styleMap[bt.tag]||bt.defaultStyle,"[object Function]"===ht.call(bt.represent))Xe=bt.represent(ct,We);else{if(!L.call(bt.represent,We))throw new u("!<"+bt.tag+'> tag resolver accepts not "'+We+'" style');Xe=bt.represent[We](ct,We)}se.dump=Xe}return!0}return!1}function Mi(se,ct,Ke,Xe,Vt,Ct,rt){se.tag=null,se.dump=Ke,Ii(se,Ke,!1)||Ii(se,Ke,!0);var bt,We=ht.call(se.dump),$t=Xe;Xe&&(Xe=se.flowLevel<0||se.flowLevel>ct);var or,Zn,Vr="[object Object]"===We||"[object Array]"===We;if(Vr&&(Zn=-1!==(or=se.duplicates.indexOf(Ke))),(null!==se.tag&&"?"!==se.tag||Zn||2!==se.indent&&ct>0)&&(Vt=!1),Zn&&se.usedDuplicates[or])se.dump="*ref_"+or;else{if(Vr&&Zn&&!se.usedDuplicates[or]&&(se.usedDuplicates[or]=!0),"[object Object]"===We)Xe&&0!==Object.keys(se.dump).length?(function(Cr,ai,Dr,Qr){var rn,fi,Ei,wi,go,Fi,no="",Ji=Cr.tag,qi=Object.keys(Dr);if(!0===Cr.sortKeys)qi.sort();else if("function"==typeof Cr.sortKeys)qi.sort(Cr.sortKeys);else if(Cr.sortKeys)throw new u("sortKeys must be a boolean or a function");for(rn=0,fi=qi.length;rn<fi;rn+=1)Fi="",Qr&&""===no||(Fi+=Nn(Cr,ai)),wi=Dr[Ei=qi[rn]],Cr.replacer&&(wi=Cr.replacer.call(Dr,Ei,wi)),Mi(Cr,ai+1,Ei,!0,!0,!0)&&((go=null!==Cr.tag&&"?"!==Cr.tag||Cr.dump&&Cr.dump.length>1024)&&(Cr.dump&&10===Cr.dump.charCodeAt(0)?Fi+="?":Fi+="? "),Fi+=Cr.dump,go&&(Fi+=Nn(Cr,ai)),Mi(Cr,ai+1,wi,!0,go)&&(Cr.dump&&10===Cr.dump.charCodeAt(0)?Fi+=":":Fi+=": ",no+=Fi+=Cr.dump));Cr.tag=Ji,Cr.dump=no||"{}"}(se,ct,se.dump,Vt),Zn&&(se.dump="&ref_"+or+se.dump)):(function(Cr,ai,Dr){var Qr,rn,fi,Ei,wi,go="",Fi=Cr.tag,no=Object.keys(Dr);for(Qr=0,rn=no.length;Qr<rn;Qr+=1)wi="",""!==go&&(wi+=", "),Cr.condenseFlow&&(wi+='"'),Ei=Dr[fi=no[Qr]],Cr.replacer&&(Ei=Cr.replacer.call(Dr,fi,Ei)),Mi(Cr,ai,fi,!1,!1)&&(Cr.dump.length>1024&&(wi+="? "),wi+=Cr.dump+(Cr.condenseFlow?'"':"")+":"+(Cr.condenseFlow?"":" "),Mi(Cr,ai,Ei,!1,!1)&&(go+=wi+=Cr.dump));Cr.tag=Fi,Cr.dump="{"+go+"}"}(se,ct,se.dump),Zn&&(se.dump="&ref_"+or+" "+se.dump));else if("[object Array]"===We)Xe&&0!==se.dump.length?(function(se,ct,Ke,Xe){var Vt,Ct,rt,bt="",We=se.tag;for(Vt=0,Ct=Ke.length;Vt<Ct;Vt+=1)rt=Ke[Vt],se.replacer&&(rt=se.replacer.call(Ke,String(Vt),rt)),(Mi(se,ct+1,rt,!0,!0,!1,!0)||void 0===rt&&Mi(se,ct+1,null,!0,!0,!1,!0))&&(Xe&&""===bt||(bt+=Nn(se,ct)),se.dump&&10===se.dump.charCodeAt(0)?bt+="-":bt+="- ",bt+=se.dump);se.tag=We,se.dump=bt||"[]"}(se,se.noArrayIndent&&!rt&&ct>0?ct-1:ct,se.dump,Vt),Zn&&(se.dump="&ref_"+or+se.dump)):(function(Cr,ai,Dr){var Qr,rn,fi,Ei="",wi=Cr.tag;for(Qr=0,rn=Dr.length;Qr<rn;Qr+=1)fi=Dr[Qr],Cr.replacer&&(fi=Cr.replacer.call(Dr,String(Qr),fi)),(Mi(Cr,ai,fi,!1,!1)||void 0===fi&&Mi(Cr,ai,null,!1,!1))&&(""!==Ei&&(Ei+=","+(Cr.condenseFlow?"":" ")),Ei+=Cr.dump);Cr.tag=wi,Cr.dump="["+Ei+"]"}(se,ct,se.dump),Zn&&(se.dump="&ref_"+or+" "+se.dump));else{if("[object String]"!==We){if("[object Undefined]"===We||se.skipInvalid)return!1;throw new u("unacceptable kind of an object to dump "+We)}"?"!==se.tag&&function(se,ct,Ke,Xe,Vt){se.dump=function(){if(0===ct.length)return 2===se.quotingType?'""':"''";if(!se.noCompatMode&&(-1!==at.indexOf(ct)||it.test(ct)))return 2===se.quotingType?'"'+ct+'"':"'"+ct+"'";var Ct=se.indent*Math.max(1,Ke),rt=-1===se.lineWidth?-1:Math.max(Math.min(se.lineWidth,40),se.lineWidth-Ct);switch(function(se,ct,Ke,Xe,Vt,Ct,rt,bt){var We,$t,rn,or=0,Zn=null,Vr=!1,Cr=!1,ai=-1!==Xe,Dr=-1,Qr=An($t=mr(se,0))&&65279!==$t&&!sn($t)&&45!==$t&&63!==$t&&58!==$t&&44!==$t&&91!==$t&&93!==$t&&123!==$t&&125!==$t&&35!==$t&&38!==$t&&42!==$t&&33!==$t&&124!==$t&&61!==$t&&62!==$t&&39!==$t&&34!==$t&&37!==$t&&64!==$t&&96!==$t&&!sn(rn=mr(se,se.length-1))&&58!==rn;if(ct||rt)for(We=0;We<se.length;or>=65536?We+=2:We++){if(!An(or=mr(se,We)))return 5;Qr=Qr&&ir(or,Zn,bt),Zn=or}else{for(We=0;We<se.length;or>=65536?We+=2:We++){if(10===(or=mr(se,We)))Vr=!0,ai&&(Cr=Cr||We-Dr-1>Xe&&" "!==se[Dr+1],Dr=We);else if(!An(or))return 5;Qr=Qr&&ir(or,Zn,bt),Zn=or}Cr=Cr||ai&&We-Dr-1>Xe&&" "!==se[Dr+1]}return Vr||Cr?Ke>9&&_r(se)?5:rt?2===Ct?5:2:Cr?4:3:!Qr||rt||Vt(se)?2===Ct?5:2:1}(ct,Xe||se.flowLevel>-1&&Ke>=se.flowLevel,se.indent,rt,function(We){return function($t,or){var Zn,Vr;for(Zn=0,Vr=$t.implicitTypes.length;Zn<Vr;Zn+=1)if($t.implicitTypes[Zn].resolve(or))return!0;return!1}(se,We)},se.quotingType,se.forceQuotes&&!Xe,Vt)){case 1:return ct;case 2:return"'"+ct.replace(/'/g,"''")+"'";case 3:return"|"+Jn(ct,se.indent)+nr(ot(ct,Ct));case 4:return">"+Jn(ct,se.indent)+nr(ot(function(We,$t){for(var or,Zn,Dr,Vr=/(\n+)([^\n]*)/g,Cr=(Dr=We.indexOf("\n"),Vr.lastIndex=Dr=-1!==Dr?Dr:We.length,Mr(We.slice(0,Dr),$t)),ai="\n"===We[0]||" "===We[0];Zn=Vr.exec(We);){var rn=Zn[2];or=" "===rn[0],Cr+=Zn[1]+(ai||or||""===rn?"":"\n")+Mr(rn,$t),ai=or}return Cr}(ct,rt),Ct));case 5:return'"'+function(We){for(var $t,or="",Zn=0,Vr=0;Vr<We.length;Zn>=65536?Vr+=2:Vr++)Zn=mr(We,Vr),!($t=nt[Zn])&&An(Zn)?(or+=We[Vr],Zn>=65536&&(or+=We[Vr+1])):or+=$t||Pt(Zn);return or}(ct)+'"';default:throw new u("impossible error: invalid scalar style")}}()}(se,se.dump,ct,Ct,$t)}null!==se.tag&&"?"!==se.tag&&(bt=encodeURI("!"===se.tag[0]?se.tag.slice(1):se.tag).replace(/!/g,"%21"),bt="!"===se.tag[0]?"!"+bt:"tag:yaml.org,2002:"===bt.slice(0,18)?"!!"+bt.slice(18):"!<"+bt+">",se.dump=bt+" "+se.dump)}return!0}function Oi(se,ct){var Ke,Xe,Vt=[],Ct=[];for(Kr(se,Vt,Ct),Ke=0,Xe=Ct.length;Ke<Xe;Ke+=1)ct.duplicates.push(Vt[Ct[Ke]]);ct.usedDuplicates=new Array(Xe)}function Kr(se,ct,Ke){var Xe,Vt,Ct;if(null!==se&&"object"==typeof se)if(-1!==(Vt=ct.indexOf(se)))-1===Ke.indexOf(Vt)&&Ke.push(Vt);else if(ct.push(se),Array.isArray(se))for(Vt=0,Ct=se.length;Vt<Ct;Vt+=1)Kr(se[Vt],ct,Ke);else for(Vt=0,Ct=(Xe=Object.keys(se)).length;Vt<Ct;Vt+=1)Kr(se[Xe[Vt]],ct,Ke)}function ei(se,ct){return function(){throw new Error("Function yaml."+se+" is removed in js-yaml 4. Use yaml."+ct+" instead, which is now safe by default.")}}var di={Type:D,Schema:H,FAILSAFE_SCHEMA:I,JSON_SCHEMA:Ae,CORE_SCHEMA:Me,DEFAULT_SCHEMA:It,load:Ir.load,loadAll:Ir.loadAll,dump:function(se,ct){var Ke=new Ut(ct=ct||{});Ke.noRefs||Oi(se,Ke);var Xe=se;return Ke.replacer&&(Xe=Ke.replacer.call({"":Xe},"",Xe)),Mi(Ke,0,Xe,!0,!0)?Ke.dump+"\n":""},YAMLException:u,types:{binary:F,float:ce,map:M,null:J,pairs:St,set:Qe,timestamp:ue,bool:Y,int:fe,merge:He,omap:lt,seq:U,str:z},safeLoad:ei("safeLoad","load"),safeLoadAll:ei("safeLoadAll","loadAll"),safeDump:ei("safeDump","dump")};o.a=di},function(g,o,t){g.exports=t(633)},function(g,o,t){var e=t(821);function s(a,l,u,h,_,m,b){try{var C=a[m](b),D=C.value}catch(x){return void u(x)}C.done?l(D):e.resolve(D).then(h,_)}g.exports=function(a){return function(){var l=this,u=arguments;return new e(function(h,_){var m=a.apply(l,u);function b(D){s(m,h,_,b,C,"next",D)}function C(D){s(m,h,_,b,C,"throw",D)}b(void 0)})}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(17),s=t(41),a=t(170),l=e.TypeError;g.exports=function(u){if(s(u))return u;throw l(a(u)+" is not a function")}},function(g,o,t){var e=t(332);g.exports=function(s){return e(s.length)}},function(g,o,t){var e=t(17),s=t(216),a=t(41),l=t(112),u=t(38)("toStringTag"),h=e.Object,_="Arguments"==l(function(){return arguments}());g.exports=s?l:function(m){var b,C,D;return void 0===m?"Undefined":null===m?"Null":"string"==typeof(C=function(x,j){try{return x[j]}catch(H){}}(b=h(m),u))?C:_?l(b):"Object"==(D=l(b))&&a(b.callee)?"Arguments":D}},function(g,o,t){var e,s,a,l=t(337),u=t(17),h=t(27),_=t(43),m=t(85),b=t(44),C=t(213),D=t(173),x=t(150),j="Object already initialized",H=u.TypeError;if(l||C.state){var U=C.state||(C.state=new(0,u.WeakMap)),M=h(U.get),I=h(U.has),J=h(U.set);e=function(ie,oe){if(I(U,ie))throw new H(j);return oe.facade=ie,J(U,ie,oe),oe},s=function(ie){return M(U,ie)||{}},a=function(ie){return I(U,ie)}}else{var Y=D("state");x[Y]=!0,e=function(ie,oe){if(b(ie,Y))throw new H(j);return oe.facade=ie,m(ie,Y,oe),oe},s=function(ie){return b(ie,Y)?ie[Y]:{}},a=function(ie){return b(ie,Y)}}g.exports={set:e,get:s,has:a,enforce:function(ie){return a(ie)?s(ie):e(ie,{})},getterFor:function(ie){return function(oe){var fe;if(!_(oe)||(fe=s(oe)).type!==ie)throw H("Incompatible receiver, "+ie+" required");return fe}}}},function(g,o,t){"use strict";var e=t(61),s=t(224),a=t(130),l=t(76),u=t(225),h="Array Iterator",_=l.set,m=l.getterFor(h);g.exports=u(Array,"Array",function(b,C){_(this,{type:h,target:e(b),index:0,kind:C})},function(){var b=m(this),C=b.target,D=b.kind,x=b.index++;return!C||x>=C.length?(b.target=void 0,{value:void 0,done:!0}):"keys"==D?{value:x,done:!1}:"values"==D?{value:C[x],done:!1}:{value:[x,C[x]],done:!1}},"values"),a.Arguments=a.Array,s("keys"),s("values"),s("entries")},function(g,o){g.exports=function(t){return null!=t&&"object"==typeof t}},function(g,o,t){"use strict";(function(e){function s(_){return _ instanceof e||_ instanceof Date||_ instanceof RegExp}function a(_){if(_ instanceof e){var m=e.alloc?e.alloc(_.length):new e(_.length);return _.copy(m),m}if(_ instanceof Date)return new Date(_.getTime());if(_ instanceof RegExp)return new RegExp(_);throw new Error("Unexpected situation")}function l(_){var m=[];return _.forEach(function(b,C){m[C]="object"==typeof b&&null!==b?Array.isArray(b)?l(b):s(b)?a(b):h({},b):b}),m}function u(_,m){return"__proto__"===m?void 0:_[m]}var h=g.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var _,m,b=arguments[0],C=Array.prototype.slice.call(arguments,1);return C.forEach(function(D){"object"!=typeof D||null===D||Array.isArray(D)||Object.keys(D).forEach(function(x){return m=u(b,x),(_=u(D,x))===b?void 0:"object"!=typeof _||null===_?void(b[x]=_):Array.isArray(_)?void(b[x]=l(_)):s(_)?void(b[x]=a(_)):"object"!=typeof m||null===m||Array.isArray(m)?void(b[x]=h({},_)):void(b[x]=h(m,_))})}),b}}).call(this,t(132).Buffer)},function(g,o,t){g.exports=t(619)},function(g,o,t){"use strict";var e=t(946),s=t(947);function a(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}o.parse=M,o.resolve=function(I,J){return M(I,!1,!0).resolve(J)},o.resolveObject=function(I,J){return I?M(I,!1,!0).resolveObject(J):J},o.format=function(I){return s.isString(I)&&(I=M(I)),I instanceof a?I.format():a.prototype.format.call(I)},o.Url=a;var l=/^([a-z0-9.+-]+:)/i,u=/:[0-9]*$/,h=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,_=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),m=["'"].concat(_),b=["%","/","?",";","#"].concat(m),C=["/","?","#"],D=/^[+a-z0-9A-Z_-]{0,63}$/,x=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,j={javascript:!0,"javascript:":!0},H={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},U=t(948);function M(I,J,Y){if(I&&s.isObject(I)&&I instanceof a)return I;var ie=new a;return ie.parse(I,J,Y),ie}a.prototype.parse=function(I,J,Y){if(!s.isString(I))throw new TypeError("Parameter 'url' must be a string, not "+typeof I);var ie=I.indexOf("?"),oe=-1!==ie&&ie<I.indexOf("#")?"?":"#",fe=I.split(oe);fe[0]=fe[0].replace(/\\/g,"/");var ne=I=fe.join(oe);if(ne=ne.trim(),!Y&&1===I.split("#").length){var he=h.exec(ne);if(he)return this.path=ne,this.href=ne,this.pathname=he[1],he[2]?(this.search=he[2],this.query=J?U.parse(this.search.substr(1)):this.search.substr(1)):J&&(this.search="",this.query={}),this}var ce=l.exec(ne);if(ce){var Ae=(ce=ce[0]).toLowerCase();this.protocol=Ae,ne=ne.substr(ce.length)}if(Y||ce||ne.match(/^\/\/[^@\/]+@[^@\/]+/)){var Me="//"===ne.substr(0,2);!Me||ce&&H[ce]||(ne=ne.substr(2),this.slashes=!0)}if(!H[ce]&&(Me||ce&&!z[ce])){for(var Oe,be,ue=-1,He=0;He<C.length;He++)-1!==($e=ne.indexOf(C[He]))&&(-1===ue||$e<ue)&&(ue=$e);for(-1!==(be=-1===ue?ne.lastIndexOf("@"):ne.lastIndexOf("@",ue))&&(Oe=ne.slice(0,be),ne=ne.slice(be+1),this.auth=decodeURIComponent(Oe)),ue=-1,He=0;He<b.length;He++){var $e;-1!==($e=ne.indexOf(b[He]))&&(-1===ue||$e<ue)&&(ue=$e)}-1===ue&&(ue=ne.length),this.host=ne.slice(0,ue),ne=ne.slice(ue),this.parseHost(),this.hostname=this.hostname||"";var F="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!F)for(var je=this.hostname.split(/\./),Et=(He=0,je.length);He<Et;He++){var lt=je[He];if(lt&&!lt.match(D)){for(var nn="",St=0,At=lt.length;St<At;St++)lt.charCodeAt(St)>127?nn+="x":nn+=lt[St];if(!nn.match(D)){var Qe=je.slice(0,He),It=je.slice(He+1),ae=lt.match(x);ae&&(Qe.push(ae[1]),It.unshift(ae[2])),It.length&&(ne="/"+It.join(".")+ne),this.hostname=Qe.join(".");break}}}this.hostname=this.hostname.length>255?"":this.hostname.toLowerCase(),F||(this.hostname=e.toASCII(this.hostname));var Ie=this.port?":"+this.port:"";this.host=(this.hostname||"")+Ie,this.href+=this.host,F&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==ne[0]&&(ne="/"+ne))}if(!j[Ae])for(He=0,Et=m.length;He<Et;He++){var Jt=m[He];if(-1!==ne.indexOf(Jt)){var zt=encodeURIComponent(Jt);zt===Jt&&(zt=escape(Jt)),ne=ne.split(Jt).join(zt)}}var ln=ne.indexOf("#");-1!==ln&&(this.hash=ne.substr(ln),ne=ne.slice(0,ln));var ar=ne.indexOf("?");return-1!==ar?(this.search=ne.substr(ar),this.query=ne.substr(ar+1),J&&(this.query=U.parse(this.query)),ne=ne.slice(0,ar)):J&&(this.search="",this.query={}),ne&&(this.pathname=ne),z[Ae]&&this.hostname&&!this.pathname&&(this.pathname="/"),(this.pathname||this.search)&&(this.path=(Ie=this.pathname||"")+(this.search||"")),this.href=this.format(),this},a.prototype.format=function(){var I=this.auth||"";I&&(I=(I=encodeURIComponent(I)).replace(/%3A/i,":"),I+="@");var J=this.protocol||"",Y=this.pathname||"",ie=this.hash||"",oe=!1,fe="";this.host?oe=I+this.host:this.hostname&&(oe=I+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(oe+=":"+this.port)),this.query&&s.isObject(this.query)&&Object.keys(this.query).length&&(fe=U.stringify(this.query));var ne=this.search||fe&&"?"+fe||"";return J&&":"!==J.substr(-1)&&(J+=":"),this.slashes||(!J||z[J])&&!1!==oe?(oe="//"+(oe||""),Y&&"/"!==Y.charAt(0)&&(Y="/"+Y)):oe||(oe=""),ie&&"#"!==ie.charAt(0)&&(ie="#"+ie),ne&&"?"!==ne.charAt(0)&&(ne="?"+ne),J+oe+(Y=Y.replace(/[?#]/g,function(he){return encodeURIComponent(he)}))+(ne=ne.replace("#","%23"))+ie},a.prototype.resolve=function(I){return this.resolveObject(M(I,!1,!0)).format()},a.prototype.resolveObject=function(I){if(s.isString(I)){var J=new a;J.parse(I,!1,!0),I=J}for(var Y=new a,ie=Object.keys(this),oe=0;oe<ie.length;oe++){var fe=ie[oe];Y[fe]=this[fe]}if(Y.hash=I.hash,""===I.href)return Y.href=Y.format(),Y;if(I.slashes&&!I.protocol){for(var ne=Object.keys(I),he=0;he<ne.length;he++){var ce=ne[he];"protocol"!==ce&&(Y[ce]=I[ce])}return z[Y.protocol]&&Y.hostname&&!Y.pathname&&(Y.path=Y.pathname="/"),Y.href=Y.format(),Y}if(I.protocol&&I.protocol!==Y.protocol){if(!z[I.protocol]){for(var Ae=Object.keys(I),Me=0;Me<Ae.length;Me++){var Oe=Ae[Me];Y[Oe]=I[Oe]}return Y.href=Y.format(),Y}if(Y.protocol=I.protocol,I.host||H[I.protocol])Y.pathname=I.pathname;else{for(var be=(I.pathname||"").split("/");be.length&&!(I.host=be.shift()););I.host||(I.host=""),I.hostname||(I.hostname=""),""!==be[0]&&be.unshift(""),be.length<2&&be.unshift(""),Y.pathname=be.join("/")}return Y.search=I.search,Y.query=I.query,Y.host=I.host||"",Y.auth=I.auth,Y.hostname=I.hostname||I.host,Y.port=I.port,(Y.pathname||Y.search)&&(Y.path=(Y.pathname||"")+(Y.search||"")),Y.slashes=Y.slashes||I.slashes,Y.href=Y.format(),Y}var $e=Y.pathname&&"/"===Y.pathname.charAt(0),F=I.host||I.pathname&&"/"===I.pathname.charAt(0),je=F||$e||Y.host&&I.pathname,Et=je,lt=Y.pathname&&Y.pathname.split("/")||[],nn=(be=I.pathname&&I.pathname.split("/")||[],Y.protocol&&!z[Y.protocol]);if(nn&&(Y.hostname="",Y.port=null,Y.host&&(""===lt[0]?lt[0]=Y.host:lt.unshift(Y.host)),Y.host="",I.protocol&&(I.hostname=null,I.port=null,I.host&&(""===be[0]?be[0]=I.host:be.unshift(I.host)),I.host=null),je=je&&(""===be[0]||""===lt[0])),F)Y.host=I.host||""===I.host?I.host:Y.host,Y.hostname=I.hostname||""===I.hostname?I.hostname:Y.hostname,Y.search=I.search,Y.query=I.query,lt=be;else if(be.length)lt||(lt=[]),lt.pop(),lt=lt.concat(be),Y.search=I.search,Y.query=I.query;else if(!s.isNullOrUndefined(I.search))return nn&&(Y.hostname=Y.host=lt.shift(),(ae=!!(Y.host&&Y.host.indexOf("@")>0)&&Y.host.split("@"))&&(Y.auth=ae.shift(),Y.host=Y.hostname=ae.shift())),Y.search=I.search,Y.query=I.query,s.isNull(Y.pathname)&&s.isNull(Y.search)||(Y.path=(Y.pathname?Y.pathname:"")+(Y.search?Y.search:"")),Y.href=Y.format(),Y;if(!lt.length)return Y.pathname=null,Y.path=Y.search?"/"+Y.search:null,Y.href=Y.format(),Y;for(var St=lt.slice(-1)[0],At=(Y.host||I.host||lt.length>1)&&("."===St||".."===St)||""===St,Qe=0,It=lt.length;It>=0;It--)"."===(St=lt[It])?lt.splice(It,1):".."===St?(lt.splice(It,1),Qe++):Qe&&(lt.splice(It,1),Qe--);if(!je&&!Et)for(;Qe--;Qe)lt.unshift("..");!je||""===lt[0]||lt[0]&&"/"===lt[0].charAt(0)||lt.unshift(""),At&&"/"!==lt.join("/").substr(-1)&<.push("");var ae,Ie=""===lt[0]||lt[0]&&"/"===lt[0].charAt(0);return nn&&(Y.hostname=Y.host=Ie?"":lt.length?lt.shift():"",(ae=!!(Y.host&&Y.host.indexOf("@")>0)&&Y.host.split("@"))&&(Y.auth=ae.shift(),Y.host=Y.hostname=ae.shift())),(je=je||Y.host&<.length)&&!Ie&<.unshift(""),lt.length?Y.pathname=lt.join("/"):(Y.pathname=null,Y.path=null),s.isNull(Y.pathname)&&s.isNull(Y.search)||(Y.path=(Y.pathname?Y.pathname:"")+(Y.search?Y.search:"")),Y.auth=I.auth||Y.auth,Y.slashes=Y.slashes||I.slashes,Y.href=Y.format(),Y},a.prototype.parseHost=function(){var I=this.host,J=u.exec(I);J&&(":"!==(J=J[0])&&(this.port=J.substr(1)),I=I.substr(0,I.length-J.length)),I&&(this.hostname=I)}},function(g,o,t){"use strict";t.r(o),t.d(o,"SHOW_AUTH_POPUP",function(){return D}),t.d(o,"AUTHORIZE",function(){return x}),t.d(o,"LOGOUT",function(){return j}),t.d(o,"PRE_AUTHORIZE_OAUTH2",function(){return H}),t.d(o,"AUTHORIZE_OAUTH2",function(){return z}),t.d(o,"VALIDATE",function(){return U}),t.d(o,"CONFIGURE_AUTH",function(){return M}),t.d(o,"RESTORE_AUTHORIZATION",function(){return I}),t.d(o,"showDefinitions",function(){return J}),t.d(o,"authorize",function(){return Y}),t.d(o,"authorizeWithPersistOption",function(){return ie}),t.d(o,"logout",function(){return oe}),t.d(o,"logoutWithPersistOption",function(){return fe}),t.d(o,"preAuthorizeImplicit",function(){return ne}),t.d(o,"authorizeOauth2",function(){return he}),t.d(o,"authorizeOauth2WithPersistOption",function(){return ce}),t.d(o,"authorizePassword",function(){return Ae}),t.d(o,"authorizeApplication",function(){return Me}),t.d(o,"authorizeAccessCodeWithFormParams",function(){return Oe}),t.d(o,"authorizeAccessCodeWithBasicAuthentication",function(){return be}),t.d(o,"authorizeRequest",function(){return ue}),t.d(o,"configureAuth",function(){return He}),t.d(o,"restoreAuthorization",function(){return $e}),t.d(o,"persistAuthorizationIfNeeded",function(){return F});var e=t(19),s=t.n(e),a=t(32),l=t.n(a),u=t(21),h=t.n(u),_=t(89),m=t.n(_),b=t(26),C=t(5),D="show_popup",x="authorize",j="logout",H="pre_authorize_oauth2",z="authorize_oauth2",U="validate",M="configure_auth",I="restore_authorization";function J(je){return{type:D,payload:je}}function Y(je){return{type:x,payload:je}}var ie=function(je){return function(Et){var lt=Et.authActions;lt.authorize(je),lt.persistAuthorizationIfNeeded()}};function oe(je){return{type:j,payload:je}}var fe=function(je){return function(Et){var lt=Et.authActions;lt.logout(je),lt.persistAuthorizationIfNeeded()}},ne=function(je){return function(Et){var lt=Et.authActions,nn=Et.errActions,St=je.auth,At=je.token,Qe=je.isValid,ae=St.name,Ie=St.schema.get("flow");delete b.a.swaggerUIRedirectOauth2,"accessCode"===Ie||Qe||nn.newAuthErr({authId:ae,source:"auth",level:"warning",message:"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"}),At.error?nn.newAuthErr({authId:ae,source:"auth",level:"error",message:l()(At)}):lt.authorizeOauth2WithPersistOption({auth:St,token:At})}};function he(je){return{type:z,payload:je}}var ce=function(je){return function(Et){var lt=Et.authActions;lt.authorizeOauth2(je),lt.persistAuthorizationIfNeeded()}},Ae=function(je){return function(Et){var zt,ln,ar,lt=Et.authActions,nn=je.schema,St=je.name,At=je.username,Qe=je.password,It=je.passwordType,ae=je.clientId,Ie=je.clientSecret,dt={grant_type:"password",scope:je.scopes.join(" "),username:At,password:Qe},Jt={};switch(It){case"request-body":zt=dt,ar=Ie,(ln=ae)&&h()(zt,{client_id:ln}),ar&&h()(zt,{client_secret:ar});break;case"basic":Jt.Authorization="Basic "+Object(C.a)(ae+":"+Ie);break;default:console.warn("Warning: invalid passwordType ".concat(It," was passed, not including client id and secret"))}return lt.authorizeRequest({body:Object(C.b)(dt),url:nn.get("tokenUrl"),name:St,headers:Jt,query:{},auth:je})}},Me=function(je){return function(Et){var lt=Et.authActions,nn=je.schema,St=je.scopes,At=je.name,Qe=je.clientId,It=je.clientSecret,ae={Authorization:"Basic "+Object(C.a)(Qe+":"+It)},Ie={grant_type:"client_credentials",scope:St.join(" ")};return lt.authorizeRequest({body:Object(C.b)(Ie),name:At,url:nn.get("tokenUrl"),auth:je,headers:ae})}},Oe=function(je){var Et=je.auth,lt=je.redirectUrl;return function(nn){var At=Et.schema,Qe=Et.name,dt={grant_type:"authorization_code",code:Et.code,client_id:Et.clientId,client_secret:Et.clientSecret,redirect_uri:lt,code_verifier:Et.codeVerifier};return nn.authActions.authorizeRequest({body:Object(C.b)(dt),name:Qe,url:At.get("tokenUrl"),auth:Et})}},be=function(je){var Et=je.auth,lt=je.redirectUrl;return function(nn){var St=nn.authActions,At=Et.schema,Qe=Et.name,It=Et.clientId,ae=Et.clientSecret,Ie=Et.codeVerifier,dt={Authorization:"Basic "+Object(C.a)(It+":"+ae)},Jt={grant_type:"authorization_code",code:Et.code,client_id:It,redirect_uri:lt,code_verifier:Ie};return St.authorizeRequest({body:Object(C.b)(Jt),name:Qe,url:At.get("tokenUrl"),auth:Et,headers:dt})}},ue=function(je){return function(Et){var lt,nn=Et.fn,St=Et.getConfigs,At=Et.authActions,Qe=Et.errActions,It=Et.oas3Selectors,ae=Et.specSelectors,dt=je.body,Jt=je.query,zt=void 0===Jt?{}:Jt,ln=je.headers,ar=void 0===ln?{}:ln,Ln=je.name,Rn=je.url,er=je.auth,Mn=(Et.authSelectors.getConfigs()||{}).additionalQueryStringParams;if(ae.isOAS3()){var Ht=It.serverEffectiveValue(It.selectedServer());lt=m()(Rn,Ht,!0)}else lt=m()(Rn,ae.url(),!0);"object"===s()(Mn)&&(lt.query=h()({},lt.query,Mn));var tr=lt.toString(),Yn=h()({Accept:"application/json, text/plain, */*","Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},ar);nn.fetch({url:tr,method:"post",headers:Yn,query:zt,body:dt,requestInterceptor:St().requestInterceptor,responseInterceptor:St().responseInterceptor}).then(function(Cn){var Kt=JSON.parse(Cn.data);Cn.ok?Kt&&Kt.error||Kt&&Kt.parseError?Qe.newAuthErr({authId:Ln,level:"error",source:"auth",message:l()(Kt)}):At.authorizeOauth2WithPersistOption({auth:er,token:Kt}):Qe.newAuthErr({authId:Ln,level:"error",source:"auth",message:Cn.statusText})}).catch(function(Cn){var Kt=new Error(Cn).message;if(Cn.response&&Cn.response.data){var dn=Cn.response.data;try{var Kn="string"==typeof dn?JSON.parse(dn):dn;Kn.error&&(Kt+=", error: ".concat(Kn.error)),Kn.error_description&&(Kt+=", description: ".concat(Kn.error_description))}catch(qn){}}Qe.newAuthErr({authId:Ln,level:"error",source:"auth",message:Kt})})}};function He(je){return{type:M,payload:je}}function $e(je){return{type:I,payload:je}}var F=function(){return function(je){var Et=je.authSelectors;if((0,je.getConfigs)().persistAuthorization){var lt=Et.authorized();localStorage.setItem("authorized",l()(lt.toJS()))}}}},function(g,o,t){var e=t(919);g.exports=function(s){for(var a=1;a<arguments.length;a++){var l=null!=arguments[a]?Object(arguments[a]):{},u=Object.keys(l);"function"==typeof Object.getOwnPropertySymbols&&(u=u.concat(Object.getOwnPropertySymbols(l).filter(function(h){return Object.getOwnPropertyDescriptor(l,h).enumerable}))),u.forEach(function(h){e(s,h,l[h])})}return s},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(27),s=t(73),a=e(e.bind);g.exports=function(l,u){return s(l),void 0===u?l:a?a(l,u):function(){return l.apply(u,arguments)}}},function(g,o,t){var e=t(48),s=t(63),a=t(94);g.exports=e?function(l,u,h){return s.f(l,u,a(1,h))}:function(l,u,h){return l[u]=h,l}},function(g,o,t){var e=t(27);g.exports=e([].slice)},function(g,o,t){var e=t(84),s=t(27),a=t(168),l=t(62),u=t(74),h=t(215),_=s([].push),m=function(b){var C=1==b,D=2==b,x=3==b,j=4==b,H=6==b,z=7==b,U=5==b||H;return function(M,I,J,Y){for(var ie,oe,fe=l(M),ne=a(fe),he=e(I,J),ce=u(ne),Ae=0,Me=Y||h,Oe=C?Me(M,ce):D||z?Me(M,0):void 0;ce>Ae;Ae++)if((U||Ae in ne)&&(oe=he(ie=ne[Ae],Ae,fe),b))if(C)Oe[Ae]=oe;else if(oe)switch(b){case 3:return!0;case 5:return ie;case 6:return Ae;case 2:_(Oe,ie)}else switch(b){case 4:return!1;case 7:_(Oe,ie)}return H?-1:x||j?j:Oe}};g.exports={forEach:m(0),map:m(1),filter:m(2),some:m(3),every:m(4),find:m(5),findIndex:m(6),filterReject:m(7)}},function(g,o,t){"use strict";t.r(o),t.d(o,"lastError",function(){return He}),t.d(o,"url",function(){return $e}),t.d(o,"specStr",function(){return F}),t.d(o,"specSource",function(){return je}),t.d(o,"specJson",function(){return Et}),t.d(o,"specResolved",function(){return lt}),t.d(o,"specResolvedSubtree",function(){return nn}),t.d(o,"specJsonWithResolvedSubtrees",function(){return At}),t.d(o,"spec",function(){return Qe}),t.d(o,"isOAS3",function(){return It}),t.d(o,"info",function(){return ae}),t.d(o,"externalDocs",function(){return Ie}),t.d(o,"version",function(){return dt}),t.d(o,"semver",function(){return Jt}),t.d(o,"paths",function(){return zt}),t.d(o,"operations",function(){return ln}),t.d(o,"consumes",function(){return ar}),t.d(o,"produces",function(){return Ln}),t.d(o,"security",function(){return Rn}),t.d(o,"securityDefinitions",function(){return er}),t.d(o,"findDefinition",function(){return Mn}),t.d(o,"definitions",function(){return Ht}),t.d(o,"basePath",function(){return tr}),t.d(o,"host",function(){return Yn}),t.d(o,"schemes",function(){return Cn}),t.d(o,"operationsWithRootInherited",function(){return Kt}),t.d(o,"tags",function(){return dn}),t.d(o,"tagDetails",function(){return Kn}),t.d(o,"operationsWithTags",function(){return qn}),t.d(o,"taggedOperations",function(){return Sn}),t.d(o,"responses",function(){return $n}),t.d(o,"requests",function(){return En}),t.d(o,"mutatedRequests",function(){return Fn}),t.d(o,"responseFor",function(){return Dn}),t.d(o,"requestFor",function(){return mn}),t.d(o,"mutatedRequestFor",function(){return jn}),t.d(o,"allowTryItOutFor",function(){return Xt}),t.d(o,"parameterWithMetaByIdentity",function(){return ut}),t.d(o,"parameterInclusionSettingFor",function(){return mt}),t.d(o,"parameterWithMeta",function(){return Tt}),t.d(o,"operationWithMeta",function(){return yn}),t.d(o,"getParameter",function(){return et}),t.d(o,"hasHost",function(){return jt}),t.d(o,"parameterValues",function(){return hn}),t.d(o,"parametersIncludeIn",function(){return Qn}),t.d(o,"parametersIncludeType",function(){return Ir}),t.d(o,"contentTypeValues",function(){return ht}),t.d(o,"currentProducesFor",function(){return L}),t.d(o,"producesOptionsFor",function(){return Ue}),t.d(o,"consumesOptionsFor",function(){return nt}),t.d(o,"operationScheme",function(){return at}),t.d(o,"canExecuteScheme",function(){return it}),t.d(o,"validateBeforeExecute",function(){return Pt}),t.d(o,"getOAS3RequiredRequestBodyContentType",function(){return Ut}),t.d(o,"isMediaTypeSchemaPropertiesEqual",function(){return ot});var e=t(13),s=t.n(e),a=t(14),l=t.n(a),u=t(2),h=t.n(u),_=t(20),m=t.n(_),b=t(23),C=t.n(b),D=t(18),x=t.n(D),j=t(4),H=t.n(j),z=t(12),U=t.n(z),M=t(56),I=t.n(M),J=t(30),Y=t.n(J),ie=t(196),oe=t.n(ie),fe=t(71),ne=t.n(fe),he=t(24),ce=t.n(he),Ae=t(16),Me=t(5),Oe=t(1),be=["get","put","post","delete","options","head","patch","trace"],ue=function(sn){return sn||Object(Oe.Map)()},He=Object(Ae.a)(ue,function(sn){return sn.get("lastError")}),$e=Object(Ae.a)(ue,function(sn){return sn.get("url")}),F=Object(Ae.a)(ue,function(sn){return sn.get("spec")||""}),je=Object(Ae.a)(ue,function(sn){return sn.get("specSource")||"not-editor"}),Et=Object(Ae.a)(ue,function(sn){return sn.get("json",Object(Oe.Map)())}),lt=Object(Ae.a)(ue,function(sn){return sn.get("resolved",Object(Oe.Map)())}),nn=function(sn,An){var Bn;return sn.getIn(h()(Bn=["resolvedSubtrees"]).call(Bn,l()(An)),void 0)},St=function sn(An,Bn){return Oe.Map.isMap(An)&&Oe.Map.isMap(Bn)?Bn.get("$$ref")?Bn:Object(Oe.OrderedMap)().mergeWith(sn,An,Bn):Bn},At=Object(Ae.a)(ue,function(sn){return Object(Oe.OrderedMap)().mergeWith(St,sn.get("json"),sn.get("resolvedSubtrees"))}),Qe=function(sn){return Et(sn)},It=Object(Ae.a)(Qe,function(){return!1}),ae=Object(Ae.a)(Qe,function(sn){return Nn(sn&&sn.get("info"))}),Ie=Object(Ae.a)(Qe,function(sn){return Nn(sn&&sn.get("externalDocs"))}),dt=Object(Ae.a)(ae,function(sn){return sn&&sn.get("version")}),Jt=Object(Ae.a)(dt,function(sn){var An;return m()(An=/v?([0-9]*)\.([0-9]*)\.([0-9]*)/i.exec(sn)).call(An,1)}),zt=Object(Ae.a)(At,function(sn){return sn.get("paths")}),ln=Object(Ae.a)(zt,function(sn){if(!sn||sn.size<1)return Object(Oe.List)();var An=Object(Oe.List)();return sn&&C()(sn)?(C()(sn).call(sn,function(Bn,ir){if(!Bn||!C()(Bn))return{};C()(Bn).call(Bn,function(mr,_r){var Nr;x()(be).call(be,_r)<0||(An=An.push(Object(Oe.fromJS)({path:ir,method:_r,operation:mr,id:h()(Nr="".concat(_r,"-")).call(Nr,ir)})))})}),An):Object(Oe.List)()}),ar=Object(Ae.a)(Qe,function(sn){return Object(Oe.Set)(sn.get("consumes"))}),Ln=Object(Ae.a)(Qe,function(sn){return Object(Oe.Set)(sn.get("produces"))}),Rn=Object(Ae.a)(Qe,function(sn){return sn.get("security",Object(Oe.List)())}),er=Object(Ae.a)(Qe,function(sn){return sn.get("securityDefinitions")}),Mn=function(sn,An){var Bn=sn.getIn(["resolvedSubtrees","definitions",An],null),ir=sn.getIn(["json","definitions",An],null);return Bn||ir||null},Ht=Object(Ae.a)(Qe,function(sn){var An=sn.get("definitions");return Oe.Map.isMap(An)?An:Object(Oe.Map)()}),tr=Object(Ae.a)(Qe,function(sn){return sn.get("basePath")}),Yn=Object(Ae.a)(Qe,function(sn){return sn.get("host")}),Cn=Object(Ae.a)(Qe,function(sn){return sn.get("schemes",Object(Oe.Map)())}),Kt=Object(Ae.a)(ln,ar,Ln,function(sn,An,Bn){return H()(sn).call(sn,function(ir){return ir.update("operation",function(mr){return mr?Oe.Map.isMap(mr)?mr.withMutations(function(_r){return _r.get("consumes")||_r.update("consumes",function(Nr){return Object(Oe.Set)(Nr).merge(An)}),_r.get("produces")||_r.update("produces",function(Nr){return Object(Oe.Set)(Nr).merge(Bn)}),_r}):void 0:Object(Oe.Map)()})})}),dn=Object(Ae.a)(Qe,function(sn){var An=sn.get("tags",Object(Oe.List)());return Oe.List.isList(An)?U()(An).call(An,function(Bn){return Oe.Map.isMap(Bn)}):Object(Oe.List)()}),Kn=function(sn,An){var Bn,ir=dn(sn)||Object(Oe.List)();return I()(Bn=U()(ir).call(ir,Oe.Map.isMap)).call(Bn,function(mr){return mr.get("name")===An},Object(Oe.Map)())},qn=Object(Ae.a)(Kt,dn,function(sn,An){return Y()(sn).call(sn,function(Bn,ir){var mr=Object(Oe.Set)(ir.getIn(["operation","tags"]));return mr.count()<1?Bn.update("default",Object(Oe.List)(),function(_r){return _r.push(ir)}):Y()(mr).call(mr,function(_r,Nr){return _r.update(Nr,Object(Oe.List)(),function(br){return br.push(ir)})},Bn)},Y()(An).call(An,function(Bn,ir){return Bn.set(ir.get("name"),Object(Oe.List)())},Object(Oe.OrderedMap)()))}),Sn=function(sn){return function(An){var Bn,ir=(0,An.getConfigs)(),mr=ir.tagsSorter,_r=ir.operationsSorter;return H()(Bn=qn(sn).sortBy(function(Nr,br){return br},function(Nr,br){var Jn="function"==typeof mr?mr:Me.H.tagsSorter[mr];return Jn?Jn(Nr,br):null})).call(Bn,function(Nr,br){var Jn="function"==typeof _r?_r:Me.H.operationsSorter[_r],nr=Jn?oe()(Nr).call(Nr,Jn):Nr;return Object(Oe.Map)({tagDetails:Kn(sn,br),operations:nr})})}},$n=Object(Ae.a)(ue,function(sn){return sn.get("responses",Object(Oe.Map)())}),En=Object(Ae.a)(ue,function(sn){return sn.get("requests",Object(Oe.Map)())}),Fn=Object(Ae.a)(ue,function(sn){return sn.get("mutatedRequests",Object(Oe.Map)())}),Dn=function(sn,An,Bn){return $n(sn).getIn([An,Bn],null)},mn=function(sn,An,Bn){return En(sn).getIn([An,Bn],null)},jn=function(sn,An,Bn){return Fn(sn).getIn([An,Bn],null)},Xt=function(){return!0},ut=function(sn,An,Bn){var ir,mr,_r=At(sn).getIn(h()(ir=["paths"]).call(ir,l()(An),["parameters"]),Object(Oe.OrderedMap)()),Nr=sn.getIn(h()(mr=["meta","paths"]).call(mr,l()(An),["parameters"]),Object(Oe.OrderedMap)()),br=H()(_r).call(_r,function(Jn){var nr,Mr,yi,Ii=Nr.get(h()(nr="".concat(Bn.get("in"),".")).call(nr,Bn.get("name"))),Mi=Nr.get(h()(Mr=h()(yi="".concat(Bn.get("in"),".")).call(yi,Bn.get("name"),".hash-")).call(Mr,Bn.hashCode()));return Object(Oe.OrderedMap)().merge(Jn,Ii,Mi)});return I()(br).call(br,function(Jn){return Jn.get("in")===Bn.get("in")&&Jn.get("name")===Bn.get("name")},Object(Oe.OrderedMap)())},mt=function(sn,An,Bn,ir){var mr,_r,Nr=h()(mr="".concat(ir,".")).call(mr,Bn);return sn.getIn(h()(_r=["meta","paths"]).call(_r,l()(An),["parameter_inclusions",Nr]),!1)},Tt=function(sn,An,Bn,ir){var mr,_r=At(sn).getIn(h()(mr=["paths"]).call(mr,l()(An),["parameters"]),Object(Oe.OrderedMap)()),Nr=I()(_r).call(_r,function(br){return br.get("in")===ir&&br.get("name")===Bn},Object(Oe.OrderedMap)());return ut(sn,An,Nr)},yn=function(sn,An,Bn){var ir,mr=At(sn).getIn(["paths",An,Bn],Object(Oe.OrderedMap)()),_r=sn.getIn(["meta","paths",An,Bn],Object(Oe.OrderedMap)()),Nr=H()(ir=mr.get("parameters",Object(Oe.List)())).call(ir,function(br){return ut(sn,[An,Bn],br)});return Object(Oe.OrderedMap)().merge(mr,_r).set("parameters",Nr)};function et(sn,An,Bn,ir){var mr;An=An||[];var _r=sn.getIn(h()(mr=["meta","paths"]).call(mr,l()(An),["parameters"]),Object(Oe.fromJS)([]));return I()(_r).call(_r,function(Nr){return Oe.Map.isMap(Nr)&&Nr.get("name")===Bn&&Nr.get("in")===ir})||Object(Oe.Map)()}var jt=Object(Ae.a)(Qe,function(sn){var An=sn.get("host");return"string"==typeof An&&An.length>0&&"/"!==An[0]});function hn(sn,An,Bn){var ir;An=An||[];var mr=yn.apply(void 0,h()(ir=[sn]).call(ir,l()(An))).get("parameters",Object(Oe.List)());return Y()(mr).call(mr,function(_r,Nr){var br=Bn&&"body"===Nr.get("in")?Nr.get("value_xml"):Nr.get("value");return _r.set(Object(Me.A)(Nr,{allowHashes:!1}),br)},Object(Oe.fromJS)({}))}function Qn(sn){var An=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(Oe.List.isList(sn))return ne()(sn).call(sn,function(Bn){return Oe.Map.isMap(Bn)&&Bn.get("in")===An})}function Ir(sn){var An=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(Oe.List.isList(sn))return ne()(sn).call(sn,function(Bn){return Oe.Map.isMap(Bn)&&Bn.get("type")===An})}function ht(sn,An){var Bn,ir;An=An||[];var mr=At(sn).getIn(h()(Bn=["paths"]).call(Bn,l()(An)),Object(Oe.fromJS)({})),_r=sn.getIn(h()(ir=["meta","paths"]).call(ir,l()(An)),Object(Oe.fromJS)({})),Nr=L(sn,An),br=mr.get("parameters")||new Oe.List,Jn=_r.get("consumes_value")?_r.get("consumes_value"):Ir(br,"file")?"multipart/form-data":Ir(br,"formData")?"application/x-www-form-urlencoded":void 0;return Object(Oe.fromJS)({requestContentType:Jn,responseContentType:Nr})}function L(sn,An){var Bn,ir;An=An||[];var mr=At(sn).getIn(h()(Bn=["paths"]).call(Bn,l()(An)),null);if(null!==mr){var _r=sn.getIn(h()(ir=["meta","paths"]).call(ir,l()(An),["produces_value"]),null),Nr=mr.getIn(["produces",0],null);return _r||Nr||"application/json"}}function Ue(sn,An){var Bn;An=An||[];var ir=At(sn),mr=ir.getIn(h()(Bn=["paths"]).call(Bn,l()(An)),null);if(null!==mr){var _r=An,Nr=s()(_r,1)[0],br=mr.get("produces",null),Jn=ir.getIn(["paths",Nr,"produces"],null),nr=ir.getIn(["produces"],null);return br||Jn||nr}}function nt(sn,An){var Bn;An=An||[];var ir=At(sn),mr=ir.getIn(h()(Bn=["paths"]).call(Bn,l()(An)),null);if(null!==mr){var _r=An,Nr=s()(_r,1)[0],br=mr.get("consumes",null),Jn=ir.getIn(["paths",Nr,"consumes"],null),nr=ir.getIn(["consumes"],null);return br||Jn||nr}}var at=function(sn,An,Bn){var ir=sn.get("url").match(/^([a-z][a-z0-9+\-.]*):/),mr=ce()(ir)?ir[1]:null;return sn.getIn(["scheme",An,Bn])||sn.getIn(["scheme","_defaultScheme"])||mr||""},it=function(sn,An,Bn){var ir;return x()(ir=["http","https"]).call(ir,at(sn,An,Bn))>-1},Pt=function(sn,An){var Bn;An=An||[];var ir=sn.getIn(h()(Bn=["meta","paths"]).call(Bn,l()(An),["parameters"]),Object(Oe.fromJS)([])),mr=!0;return C()(ir).call(ir,function(_r){var Nr=_r.get("errors");Nr&&Nr.count()&&(mr=!1)}),mr},Ut=function(sn,An){var Bn,ir,mr={requestBody:!1,requestContentType:{}},_r=sn.getIn(h()(Bn=["resolvedSubtrees","paths"]).call(Bn,l()(An),["requestBody"]),Object(Oe.fromJS)([]));return _r.size<1||(_r.getIn(["required"])&&(mr.requestBody=_r.getIn(["required"])),C()(ir=_r.getIn(["content"]).entrySeq()).call(ir,function(Nr){var br=Nr[0];if(Nr[1].getIn(["schema","required"])){var Jn=Nr[1].getIn(["schema","required"]).toJS();mr.requestContentType[br]=Jn}})),mr},ot=function(sn,An,Bn,ir){var mr;if((Bn||ir)&&Bn===ir)return!0;var _r=sn.getIn(h()(mr=["resolvedSubtrees","paths"]).call(mr,l()(An),["requestBody","content"]),Object(Oe.fromJS)([]));if(_r.size<2||!Bn||!ir)return!1;var Nr=_r.getIn([Bn,"schema","properties"],Object(Oe.fromJS)([])),br=_r.getIn([ir,"schema","properties"],Object(Oe.fromJS)([]));return!!Nr.equals(br)};function Nn(sn){return Oe.Map.isMap(sn)?sn:new Oe.Map}},function(g,o,t){"use strict";(function(e){var s=t(847),a=t(848),l=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,u=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,h=/^[a-zA-Z]:/,_=new RegExp("^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+");function m(z){return(z||"").toString().replace(_,"")}var b=[["#","hash"],["?","query"],function(z,U){return x(U.protocol)?z.replace(/\\/g,"/"):z},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d+)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],C={hash:1,query:1};function D(z){var U,M=("undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{}).location||{},I={},J=typeof(z=z||M);if("blob:"===z.protocol)I=new H(unescape(z.pathname),{});else if("string"===J)for(U in I=new H(z,{}),C)delete I[U];else if("object"===J){for(U in z)U in C||(I[U]=z[U]);void 0===I.slashes&&(I.slashes=l.test(z.href))}return I}function x(z){return"file:"===z||"ftp:"===z||"http:"===z||"https:"===z||"ws:"===z||"wss:"===z}function j(z,U){z=m(z),U=U||{};var M,I=u.exec(z),J=I[1]?I[1].toLowerCase():"",Y=!!I[2],ie=!!I[3],oe=0;return Y?ie?(M=I[2]+I[3]+I[4],oe=I[2].length+I[3].length):(M=I[2]+I[4],oe=I[2].length):ie?(M=I[3]+I[4],oe=I[3].length):M=I[4],"file:"===J?oe>=2&&(M=M.slice(2)):x(J)?M=I[4]:J?Y&&(M=M.slice(2)):oe>=2&&x(U.protocol)&&(M=I[4]),{protocol:J,slashes:Y||x(J),slashesCount:oe,rest:M}}function H(z,U,M){if(z=m(z),!(this instanceof H))return new H(z,U,M);var I,J,Y,ie,oe,fe,ne=b.slice(),he=typeof U,ce=this,Ae=0;for("object"!==he&&"string"!==he&&(M=U,U=null),M&&"function"!=typeof M&&(M=a.parse),I=!(J=j(z||"",U=D(U))).protocol&&!J.slashes,ce.slashes=J.slashes||I&&U.slashes,ce.protocol=J.protocol||U.protocol||"",z=J.rest,("file:"===J.protocol&&(2!==J.slashesCount||h.test(z))||!J.slashes&&(J.protocol||J.slashesCount<2||!x(ce.protocol)))&&(ne[3]=[/(.*)/,"pathname"]);Ae<ne.length;Ae++)"function"!=typeof(ie=ne[Ae])?(fe=ie[1],(Y=ie[0])!=Y?ce[fe]=z:"string"==typeof Y?~(oe=z.indexOf(Y))&&("number"==typeof ie[2]?(ce[fe]=z.slice(0,oe),z=z.slice(oe+ie[2])):(ce[fe]=z.slice(oe),z=z.slice(0,oe))):(oe=Y.exec(z))&&(ce[fe]=oe[1],z=z.slice(0,oe.index)),ce[fe]=ce[fe]||I&&ie[3]&&U[fe]||"",ie[4]&&(ce[fe]=ce[fe].toLowerCase())):z=ie(z,ce);M&&(ce.query=M(ce.query)),I&&U.slashes&&"/"!==ce.pathname.charAt(0)&&(""!==ce.pathname||""!==U.pathname)&&(ce.pathname=function(Me,Oe){if(""===Me)return Oe;for(var be=(Oe||"/").split("/").slice(0,-1).concat(Me.split("/")),ue=be.length,He=be[ue-1],$e=!1,F=0;ue--;)"."===be[ue]?be.splice(ue,1):".."===be[ue]?(be.splice(ue,1),F++):F&&(0===ue&&($e=!0),be.splice(ue,1),F--);return $e&&be.unshift(""),"."!==He&&".."!==He||be.push(""),be.join("/")}(ce.pathname,U.pathname)),"/"!==ce.pathname.charAt(0)&&x(ce.protocol)&&(ce.pathname="/"+ce.pathname),s(ce.port,ce.protocol)||(ce.host=ce.hostname,ce.port=""),ce.username=ce.password="",ce.auth&&(ie=ce.auth.split(":"),ce.username=ie[0]||"",ce.password=ie[1]||""),ce.origin="file:"!==ce.protocol&&x(ce.protocol)&&ce.host?ce.protocol+"//"+ce.host:"null",ce.href=ce.toString()}H.prototype={set:function(z,U,M){var I=this;switch(z){case"query":"string"==typeof U&&U.length&&(U=(M||a.parse)(U)),I[z]=U;break;case"port":I[z]=U,s(U,I.protocol)?U&&(I.host=I.hostname+":"+U):(I.host=I.hostname,I[z]="");break;case"hostname":I[z]=U,I.port&&(U+=":"+I.port),I.host=U;break;case"host":I[z]=U,/:\d+$/.test(U)?(U=U.split(":"),I.port=U.pop(),I.hostname=U.join(":")):(I.hostname=U,I.port="");break;case"protocol":I.protocol=U.toLowerCase(),I.slashes=!M;break;case"pathname":case"hash":if(U){var J="pathname"===z?"/":"#";I[z]=U.charAt(0)!==J?J+U:U}else I[z]=U;break;default:I[z]=U}for(var Y=0;Y<b.length;Y++){var ie=b[Y];ie[4]&&(I[ie[1]]=I[ie[1]].toLowerCase())}return I.origin="file:"!==I.protocol&&x(I.protocol)&&I.host?I.protocol+"//"+I.host:"null",I.href=I.toString(),I},toString:function(z){z&&"function"==typeof z||(z=a.stringify);var U,M=this,I=M.protocol;I&&":"!==I.charAt(I.length-1)&&(I+=":");var J=I+(M.slashes||x(M.protocol)?"//":"");return M.username&&(J+=M.username,M.password&&(J+=":"+M.password),J+="@"),J+=M.host+M.pathname,(U="object"==typeof M.query?z(M.query):M.query)&&(J+="?"!==U.charAt(0)?"?"+U:U),M.hash&&(J+=M.hash),J}},H.extractProtocol=j,H.location=D,H.trimLeft=m,H.qs=a,g.exports=H}).call(this,t(57))},function(g,o,t){g.exports=t(951)},function(g,o,t){"use strict";t.d(o,"b",function(){return er}),t.d(o,"a",function(){return F});var e=t(15),s=t.n(e),a=t(31),l=t.n(a),u=t(461),h=t.n(u),_=t(462),m=t.n(_),b=t(83),C=t.n(b),D=t(0),x=t.n(D),j=t(463),H=t.n(j),z={};function U(Mn){if(0===Mn.length||1===Mn.length)return Mn;var Ht,tr,Yn=Mn.join(".");return z[Yn]||(z[Yn]=0===(tr=(Ht=Mn).length)||1===tr?Ht:2===tr?[Ht[0],Ht[1],"".concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[1],".").concat(Ht[0])]:3===tr?[Ht[0],Ht[1],Ht[2],"".concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[0])]:tr>=4?[Ht[0],Ht[1],Ht[2],Ht[3],"".concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[0],".").concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[3],".").concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[3],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[0],".").concat(Ht[1],".").concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[0],".").concat(Ht[2],".").concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[0],".").concat(Ht[3],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[0],".").concat(Ht[3],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[2],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[0],".").concat(Ht[3],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[1],".").concat(Ht[2],".").concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[1],".").concat(Ht[3],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[1],".").concat(Ht[3],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[1],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[0],".").concat(Ht[3],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[0],".").concat(Ht[3]),"".concat(Ht[2],".").concat(Ht[1],".").concat(Ht[3],".").concat(Ht[0]),"".concat(Ht[2],".").concat(Ht[3],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[2],".").concat(Ht[3],".").concat(Ht[1],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[0],".").concat(Ht[1],".").concat(Ht[2]),"".concat(Ht[3],".").concat(Ht[0],".").concat(Ht[2],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[1],".").concat(Ht[0],".").concat(Ht[2]),"".concat(Ht[3],".").concat(Ht[1],".").concat(Ht[2],".").concat(Ht[0]),"".concat(Ht[3],".").concat(Ht[2],".").concat(Ht[0],".").concat(Ht[1]),"".concat(Ht[3],".").concat(Ht[2],".").concat(Ht[1],".").concat(Ht[0])]:void 0),z[Yn]}function M(Mn){var Ht=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},tr=arguments.length>2?arguments[2]:void 0,Yn=Mn.filter(function(Kt){return"token"!==Kt}),Cn=U(Yn);return Cn.reduce(function(Kt,dn){return C()({},Kt,tr[dn])},Ht)}function I(Mn){return Mn.join(" ")}function J(Mn){var ut,mt,Tt,Ht=Mn.node,tr=Mn.stylesheet,Yn=Mn.style,Cn=void 0===Yn?{}:Yn,Kt=Mn.useInlineStyles,dn=Mn.key,Kn=Ht.properties,Sn=Ht.tagName;if("text"===Ht.type)return Ht.value;if(Sn){var En,Fn=(ut=tr,mt=Kt,Tt=0,function(yn){return Tt+=1,yn.map(function(et,jt){return J({node:et,stylesheet:ut,useInlineStyles:mt,key:"code-segment-".concat(Tt,"-").concat(jt)})})});if(Kt){var Dn=Object.keys(tr).reduce(function(ut,mt){return mt.split(".").forEach(function(Tt){ut.includes(Tt)||ut.push(Tt)}),ut},[]),mn=Kn.className&&Kn.className.includes("token")?["token"]:[],jn=Kn.className&&mn.concat(Kn.className.filter(function(ut){return!Dn.includes(ut)}));En=C()({},Kn,{className:I(jn)||void 0,style:M(Kn.className,Object.assign({},Kn.style,Cn),tr)})}else En=C()({},Kn,{className:I(Kn.className)});var Xt=Fn(Ht.children);return x.a.createElement(Sn,H()({key:dn},En),Xt)}}var Y=/\n/g;function ie(Mn){var qn,$n,En,Ht=Mn.codeString,Yn=Mn.containerStyle,Kt=Mn.numberStyle,dn=void 0===Kt?{}:Kt,Kn=Mn.startingLineNumber;return x.a.createElement("code",{style:Object.assign({},Mn.codeStyle,void 0===Yn?{float:"left",paddingRight:"10px"}:Yn)},(qn={lines:Ht.replace(/\n$/,"").split("\n"),style:dn,startingLineNumber:Kn},$n=qn.startingLineNumber,En=qn.style,qn.lines.map(function(Fn,Dn){var mn=Dn+$n;return x.a.createElement("span",{key:"line-".concat(Dn),className:"react-syntax-highlighter-line-number",style:"function"==typeof En?En(mn):En},"".concat(mn,"\n"))})))}function oe(Mn,Ht){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(Mn),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:Ht},children:[{type:"text",value:Mn}]}}function fe(Mn,Ht,tr){var Yn,Cn={display:"inline-block",minWidth:(Yn=tr,"".concat(Yn.toString().length,".25em")),paddingRight:"1em",textAlign:"right",userSelect:"none"},Kt="function"==typeof Mn?Mn(Ht):Mn;return C()({},Cn,Kt)}function ne(Mn){var Ht=Mn.children,tr=Mn.lineNumber,Yn=Mn.lineNumberStyle,Cn=Mn.largestLineNumber,Kt=Mn.showInlineLineNumbers,dn=Mn.lineProps,Kn=void 0===dn?{}:dn,qn=Mn.className,Sn=void 0===qn?[]:qn,$n=Mn.showLineNumbers,En=Mn.wrapLongLines,Fn="function"==typeof Kn?Kn(tr):Kn;if(Fn.className=Sn,tr&&Kt){var Dn=fe(Yn,tr,Cn);Ht.unshift(oe(tr,Dn))}return En&$n&&(Fn.style=C()({},Fn.style,{display:"flex"})),{type:"element",tagName:"span",properties:Fn,children:Ht}}function he(Mn){for(var Ht=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],tr=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],Yn=0;Yn<Mn.length;Yn++){var Cn=Mn[Yn];if("text"===Cn.type)tr.push(ne({children:[Cn],className:m()(new Set(Ht))}));else if(Cn.children){var Kt=Ht.concat(Cn.properties.className);tr=tr.concat(he(Cn.children,Kt))}}return tr}function ce(Mn,Ht,tr,Yn,Cn,Kt,dn,Kn,qn){var Sn,$n=he(Mn.value),En=[],Fn=-1,Dn=0;function mn(yn,et){var jt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return ne({children:yn,lineNumber:et,lineNumberStyle:Kn,largestLineNumber:dn,showInlineLineNumbers:Cn,lineProps:tr,className:jt,showLineNumbers:Yn,wrapLongLines:qn})}function jn(yn,et){if(Yn&&et&&Cn){var jt=fe(Kn,et,dn);yn.unshift(oe(et,jt))}return yn}function Xt(yn,et){var jt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Ht||jt.length>0?mn(yn,et,jt):jn(yn,et)}for(var ut=function(){var yn=$n[Dn],et=yn.children[0].value;if(et.match(Y)){var jt=et.split("\n");jt.forEach(function(hn,Qn){var Ir=Yn&&En.length+Kt,ht={type:"text",value:"".concat(hn,"\n")};if(0===Qn){var L=Xt($n.slice(Fn+1,Dn).concat(ne({children:[ht],className:yn.properties.className})),Ir);En.push(L)}else if(Qn===jt.length-1)if($n[Dn+1]&&$n[Dn+1].children&&$n[Dn+1].children[0]){var Ue=ne({children:[{type:"text",value:"".concat(hn)}],className:yn.properties.className});$n.splice(Dn+1,0,Ue)}else{var nt=Xt([ht],Ir,yn.properties.className);En.push(nt)}else{var at=Xt([ht],Ir,yn.properties.className);En.push(at)}}),Fn=Dn}Dn++};Dn<$n.length;)ut();if(Fn!==$n.length-1){var mt=$n.slice(Fn+1,$n.length);if(mt&&mt.length){var Tt=Xt(mt,Yn&&En.length+Kt);En.push(Tt)}}return Ht?En:(Sn=[]).concat.apply(Sn,En)}function Ae(Mn){var tr=Mn.stylesheet,Yn=Mn.useInlineStyles;return Mn.rows.map(function(Cn,Kt){return J({node:Cn,stylesheet:tr,useInlineStyles:Yn,key:"code-segement".concat(Kt)})})}function Me(Mn){return Mn&&void 0!==Mn.highlightAuto}var Oe,be,ue=t(323),He=t.n(ue),$e=(Oe=He.a,be={},function(Mn){var Ht=Mn.language,tr=Mn.children,Yn=Mn.style,Cn=void 0===Yn?be:Yn,Kt=Mn.customStyle,dn=void 0===Kt?{}:Kt,Kn=Mn.codeTagProps,qn=void 0===Kn?{className:Ht?"language-".concat(Ht):void 0,style:C()({},Cn['code[class*="language-"]'],Cn['code[class*="language-'.concat(Ht,'"]')])}:Kn,Sn=Mn.useInlineStyles,$n=void 0===Sn||Sn,En=Mn.showLineNumbers,Fn=void 0!==En&&En,Dn=Mn.showInlineLineNumbers,mn=void 0===Dn||Dn,jn=Mn.startingLineNumber,Xt=void 0===jn?1:jn,ut=Mn.lineNumberContainerStyle,mt=Mn.lineNumberStyle,Tt=void 0===mt?{}:mt,yn=Mn.wrapLines,et=Mn.wrapLongLines,jt=void 0!==et&&et,hn=Mn.lineProps,Qn=void 0===hn?{}:hn,Ir=Mn.renderer,ht=Mn.PreTag,L=void 0===ht?"pre":ht,Ue=Mn.CodeTag,nt=void 0===Ue?"code":Ue,at=Mn.code,it=void 0===at?Array.isArray(tr)?tr[0]:tr:at,Pt=Mn.astGenerator,Ut=h()(Mn,["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"]);Pt=Pt||Oe;var ot=Fn?x.a.createElement(ie,{containerStyle:ut,codeStyle:qn.style||{},numberStyle:Tt,startingLineNumber:Xt,codeString:it}):null,Nn=Cn.hljs||Cn['pre[class*="language-"]']||{backgroundColor:"#fff"},sn=Me(Pt)?"hljs":"prismjs",An=Object.assign({},Ut,$n?{style:Object.assign({},Nn,dn)}:{className:Ut.className?"".concat(sn," ").concat(Ut.className):sn,style:Object.assign({},dn)});if(!Pt)return x.a.createElement(L,An,ot,x.a.createElement(nt,qn,it));(void 0===yn&&Ir||jt)&&(yn=!0),Ir=Ir||Ae;var Bn=[{type:"text",value:it}],ir=function(_r){var Ii,Nr=_r.astGenerator,br=_r.language,Jn=_r.code,nr=_r.defaultCodeValue;if(Me(Nr)){var Mr=(Ii=br,-1!==Nr.listLanguages().indexOf(Ii));return"text"===br?{value:nr,language:"text"}:Mr?Nr.highlight(br,Jn):Nr.highlightAuto(Jn)}try{return br&&"text"!==br?{value:Nr.highlight(Jn,br)}:{value:nr}}catch(yi){return{value:nr}}}({astGenerator:Pt,language:Ht,code:it,defaultCodeValue:Bn});null===ir.language&&(ir.value=Bn);var mr=ce(ir,yn,Qn,Fn,mn,Xt,ir.value.length+Xt,Tt,jt);return qn.style=jt?C()({},qn.style,{whiteSpace:"pre-wrap"}):C()({},qn.style,{whiteSpace:"pre"}),x.a.createElement(L,An,x.a.createElement(nt,qn,!mn&&ot,Ir({rows:mr,stylesheet:Cn,useInlineStyles:$n})))});$e.registerLanguage=He.a.registerLanguage;var F=$e,je=t(465),Et=t.n(je).a,lt=t(464),nn=t.n(lt).a,St=t(466),At=t.n(St).a,Qe=t(469),It=t.n(Qe).a,ae=t(467),Ie=t.n(ae).a,dt=t(468),Jt=t.n(dt).a,zt=t(470),ln=t.n(zt).a,ar={hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#333",color:"white"},"hljs-name":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-code":{fontStyle:"italic",color:"#888"},"hljs-emphasis":{fontStyle:"italic"},"hljs-tag":{color:"#62c8f3"},"hljs-variable":{color:"#ade5fc"},"hljs-template-variable":{color:"#ade5fc"},"hljs-selector-id":{color:"#ade5fc"},"hljs-selector-class":{color:"#ade5fc"},"hljs-string":{color:"#a2fca2"},"hljs-bullet":{color:"#d36363"},"hljs-type":{color:"#ffa"},"hljs-title":{color:"#ffa"},"hljs-section":{color:"#ffa"},"hljs-attribute":{color:"#ffa"},"hljs-quote":{color:"#ffa"},"hljs-built_in":{color:"#ffa"},"hljs-builtin-name":{color:"#ffa"},"hljs-number":{color:"#d36363"},"hljs-symbol":{color:"#d36363"},"hljs-keyword":{color:"#fcc28c"},"hljs-selector-tag":{color:"#fcc28c"},"hljs-literal":{color:"#fcc28c"},"hljs-comment":{color:"#888"},"hljs-deletion":{color:"#333",backgroundColor:"#fc9b9b"},"hljs-regexp":{color:"#c6b4f0"},"hljs-link":{color:"#c6b4f0"},"hljs-meta":{color:"#fc9b9b"},"hljs-addition":{backgroundColor:"#a2fca2",color:"#333"}};F.registerLanguage("json",nn),F.registerLanguage("js",Et),F.registerLanguage("xml",At),F.registerLanguage("yaml",Ie),F.registerLanguage("http",Jt),F.registerLanguage("bash",It),F.registerLanguage("powershell",ln),F.registerLanguage("javascript",Et);var Ln={agate:ar,arta:{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#222",color:"#aaa"},"hljs-subst":{color:"#aaa"},"hljs-section":{color:"#fff",fontWeight:"bold"},"hljs-comment":{color:"#444"},"hljs-quote":{color:"#444"},"hljs-meta":{color:"#444"},"hljs-string":{color:"#ffcc33"},"hljs-symbol":{color:"#ffcc33"},"hljs-bullet":{color:"#ffcc33"},"hljs-regexp":{color:"#ffcc33"},"hljs-number":{color:"#00cc66"},"hljs-addition":{color:"#00cc66"},"hljs-built_in":{color:"#32aaee"},"hljs-builtin-name":{color:"#32aaee"},"hljs-literal":{color:"#32aaee"},"hljs-type":{color:"#32aaee"},"hljs-template-variable":{color:"#32aaee"},"hljs-attribute":{color:"#32aaee"},"hljs-link":{color:"#32aaee"},"hljs-keyword":{color:"#6644aa"},"hljs-selector-tag":{color:"#6644aa"},"hljs-name":{color:"#6644aa"},"hljs-selector-id":{color:"#6644aa"},"hljs-selector-class":{color:"#6644aa"},"hljs-title":{color:"#bb1166"},"hljs-variable":{color:"#bb1166"},"hljs-deletion":{color:"#bb1166"},"hljs-template-tag":{color:"#bb1166"},"hljs-doctag":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"},"hljs-emphasis":{fontStyle:"italic"}},monokai:{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#272822",color:"#ddd"},"hljs-tag":{color:"#f92672"},"hljs-keyword":{color:"#f92672",fontWeight:"bold"},"hljs-selector-tag":{color:"#f92672",fontWeight:"bold"},"hljs-literal":{color:"#f92672",fontWeight:"bold"},"hljs-strong":{color:"#f92672"},"hljs-name":{color:"#f92672"},"hljs-code":{color:"#66d9ef"},"hljs-class .hljs-title":{color:"white"},"hljs-attribute":{color:"#bf79db"},"hljs-symbol":{color:"#bf79db"},"hljs-regexp":{color:"#bf79db"},"hljs-link":{color:"#bf79db"},"hljs-string":{color:"#a6e22e"},"hljs-bullet":{color:"#a6e22e"},"hljs-subst":{color:"#a6e22e"},"hljs-title":{color:"#a6e22e",fontWeight:"bold"},"hljs-section":{color:"#a6e22e",fontWeight:"bold"},"hljs-emphasis":{color:"#a6e22e"},"hljs-type":{color:"#a6e22e",fontWeight:"bold"},"hljs-built_in":{color:"#a6e22e"},"hljs-builtin-name":{color:"#a6e22e"},"hljs-selector-attr":{color:"#a6e22e"},"hljs-selector-pseudo":{color:"#a6e22e"},"hljs-addition":{color:"#a6e22e"},"hljs-variable":{color:"#a6e22e"},"hljs-template-tag":{color:"#a6e22e"},"hljs-template-variable":{color:"#a6e22e"},"hljs-comment":{color:"#75715e"},"hljs-quote":{color:"#75715e"},"hljs-deletion":{color:"#75715e"},"hljs-meta":{color:"#75715e"},"hljs-doctag":{fontWeight:"bold"},"hljs-selector-id":{fontWeight:"bold"}},nord:{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#2E3440",color:"#D8DEE9"},"hljs-subst":{color:"#D8DEE9"},"hljs-selector-tag":{color:"#81A1C1"},"hljs-selector-id":{color:"#8FBCBB",fontWeight:"bold"},"hljs-selector-class":{color:"#8FBCBB"},"hljs-selector-attr":{color:"#8FBCBB"},"hljs-selector-pseudo":{color:"#88C0D0"},"hljs-addition":{backgroundColor:"rgba(163, 190, 140, 0.5)"},"hljs-deletion":{backgroundColor:"rgba(191, 97, 106, 0.5)"},"hljs-built_in":{color:"#8FBCBB"},"hljs-type":{color:"#8FBCBB"},"hljs-class":{color:"#8FBCBB"},"hljs-function":{color:"#88C0D0"},"hljs-function > .hljs-title":{color:"#88C0D0"},"hljs-keyword":{color:"#81A1C1"},"hljs-literal":{color:"#81A1C1"},"hljs-symbol":{color:"#81A1C1"},"hljs-number":{color:"#B48EAD"},"hljs-regexp":{color:"#EBCB8B"},"hljs-string":{color:"#A3BE8C"},"hljs-title":{color:"#8FBCBB"},"hljs-params":{color:"#D8DEE9"},"hljs-bullet":{color:"#81A1C1"},"hljs-code":{color:"#8FBCBB"},"hljs-emphasis":{fontStyle:"italic"},"hljs-formula":{color:"#8FBCBB"},"hljs-strong":{fontWeight:"bold"},"hljs-link:hover":{textDecoration:"underline"},"hljs-quote":{color:"#4C566A"},"hljs-comment":{color:"#4C566A"},"hljs-doctag":{color:"#8FBCBB"},"hljs-meta":{color:"#5E81AC"},"hljs-meta-keyword":{color:"#5E81AC"},"hljs-meta-string":{color:"#A3BE8C"},"hljs-attr":{color:"#8FBCBB"},"hljs-attribute":{color:"#D8DEE9"},"hljs-builtin-name":{color:"#81A1C1"},"hljs-name":{color:"#81A1C1"},"hljs-section":{color:"#88C0D0"},"hljs-tag":{color:"#81A1C1"},"hljs-variable":{color:"#D8DEE9"},"hljs-template-variable":{color:"#D8DEE9"},"hljs-template-tag":{color:"#5E81AC"},"abnf .hljs-attribute":{color:"#88C0D0"},"abnf .hljs-symbol":{color:"#EBCB8B"},"apache .hljs-attribute":{color:"#88C0D0"},"apache .hljs-section":{color:"#81A1C1"},"arduino .hljs-built_in":{color:"#88C0D0"},"aspectj .hljs-meta":{color:"#D08770"},"aspectj > .hljs-title":{color:"#88C0D0"},"bnf .hljs-attribute":{color:"#8FBCBB"},"clojure .hljs-name":{color:"#88C0D0"},"clojure .hljs-symbol":{color:"#EBCB8B"},"coq .hljs-built_in":{color:"#88C0D0"},"cpp .hljs-meta-string":{color:"#8FBCBB"},"css .hljs-built_in":{color:"#88C0D0"},"css .hljs-keyword":{color:"#D08770"},"diff .hljs-meta":{color:"#8FBCBB"},"ebnf .hljs-attribute":{color:"#8FBCBB"},"glsl .hljs-built_in":{color:"#88C0D0"},"groovy .hljs-meta:not(:first-child)":{color:"#D08770"},"haxe .hljs-meta":{color:"#D08770"},"java .hljs-meta":{color:"#D08770"},"ldif .hljs-attribute":{color:"#8FBCBB"},"lisp .hljs-name":{color:"#88C0D0"},"lua .hljs-built_in":{color:"#88C0D0"},"moonscript .hljs-built_in":{color:"#88C0D0"},"nginx .hljs-attribute":{color:"#88C0D0"},"nginx .hljs-section":{color:"#5E81AC"},"pf .hljs-built_in":{color:"#88C0D0"},"processing .hljs-built_in":{color:"#88C0D0"},"scss .hljs-keyword":{color:"#81A1C1"},"stylus .hljs-keyword":{color:"#81A1C1"},"swift .hljs-meta":{color:"#D08770"},"vim .hljs-built_in":{color:"#88C0D0",fontStyle:"italic"},"yaml .hljs-meta":{color:"#D08770"}},obsidian:{hljs:{display:"block",overflowX:"auto",padding:"0.5em",background:"#282b2e",color:"#e0e2e4"},"hljs-keyword":{color:"#93c763",fontWeight:"bold"},"hljs-selector-tag":{color:"#93c763",fontWeight:"bold"},"hljs-literal":{color:"#93c763",fontWeight:"bold"},"hljs-selector-id":{color:"#93c763"},"hljs-number":{color:"#ffcd22"},"hljs-attribute":{color:"#668bb0"},"hljs-code":{color:"white"},"hljs-class .hljs-title":{color:"white"},"hljs-section":{color:"white",fontWeight:"bold"},"hljs-regexp":{color:"#d39745"},"hljs-link":{color:"#d39745"},"hljs-meta":{color:"#557182"},"hljs-tag":{color:"#8cbbad"},"hljs-name":{color:"#8cbbad",fontWeight:"bold"},"hljs-bullet":{color:"#8cbbad"},"hljs-subst":{color:"#8cbbad"},"hljs-emphasis":{color:"#8cbbad"},"hljs-type":{color:"#8cbbad",fontWeight:"bold"},"hljs-built_in":{color:"#8cbbad"},"hljs-selector-attr":{color:"#8cbbad"},"hljs-selector-pseudo":{color:"#8cbbad"},"hljs-addition":{color:"#8cbbad"},"hljs-variable":{color:"#8cbbad"},"hljs-template-tag":{color:"#8cbbad"},"hljs-template-variable":{color:"#8cbbad"},"hljs-string":{color:"#ec7600"},"hljs-symbol":{color:"#ec7600"},"hljs-comment":{color:"#818e96"},"hljs-quote":{color:"#818e96"},"hljs-deletion":{color:"#818e96"},"hljs-selector-class":{color:"#A082BD"},"hljs-doctag":{fontWeight:"bold"},"hljs-title":{fontWeight:"bold"},"hljs-strong":{fontWeight:"bold"}},"tomorrow-night":{"hljs-comment":{color:"#969896"},"hljs-quote":{color:"#969896"},"hljs-variable":{color:"#cc6666"},"hljs-template-variable":{color:"#cc6666"},"hljs-tag":{color:"#cc6666"},"hljs-name":{color:"#cc6666"},"hljs-selector-id":{color:"#cc6666"},"hljs-selector-class":{color:"#cc6666"},"hljs-regexp":{color:"#cc6666"},"hljs-deletion":{color:"#cc6666"},"hljs-number":{color:"#de935f"},"hljs-built_in":{color:"#de935f"},"hljs-builtin-name":{color:"#de935f"},"hljs-literal":{color:"#de935f"},"hljs-type":{color:"#de935f"},"hljs-params":{color:"#de935f"},"hljs-meta":{color:"#de935f"},"hljs-link":{color:"#de935f"},"hljs-attribute":{color:"#f0c674"},"hljs-string":{color:"#b5bd68"},"hljs-symbol":{color:"#b5bd68"},"hljs-bullet":{color:"#b5bd68"},"hljs-addition":{color:"#b5bd68"},"hljs-title":{color:"#81a2be"},"hljs-section":{color:"#81a2be"},"hljs-keyword":{color:"#b294bb"},"hljs-selector-tag":{color:"#b294bb"},hljs:{display:"block",overflowX:"auto",background:"#1d1f21",color:"#c5c8c6",padding:"0.5em"},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}}},Rn=s()(Ln),er=function(Mn){return l()(Rn).call(Rn,Mn)?Ln[Mn]:(console.warn("Request style '".concat(Mn,"' is not available, returning default instead")),ar)}},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.File=o.Blob=o.FormData=void 0;const e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:window;o.FormData=e.FormData,o.Blob=e.Blob,o.File=e.File},function(g,o){var t=Function.prototype,e=t.apply,a=t.call;g.exports="object"==typeof Reflect&&Reflect.apply||(t.bind?a.bind(e):function(){return a.apply(e,arguments)})},function(g,o){g.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(g,o,t){var e=t(58);g.exports=e("navigator","userAgent")||""},function(g,o){g.exports=!0},function(g,o){},function(g,o,t){var e,s=t(51),a=t(218),l=t(221),u=t(150),h=t(335),_=t(214),b=t(173)("IE_PROTO"),C=function(){},D=function(H){return"<script>"+H+"<\/script>"},x=function(H){H.write(D("")),H.close();var z=H.parentWindow.Object;return H=null,z},j=function(){try{e=new ActiveXObject("htmlfile")}catch(M){}var H,z;j="undefined"!=typeof document?document.domain&&e?x(e):((z=_("iframe")).style.display="none",h.appendChild(z),z.src=String("javascript:"),(H=z.contentWindow.document).open(),H.write(D("document.F=Object")),H.close(),H.F):x(e);for(var U=l.length;U--;)delete j.prototype[l[U]];return j()};u[b]=!0,g.exports=Object.create||function(H,z){var U;return null!==H?(C.prototype=s(H),U=new C,C.prototype=null,U[b]=H):U=j(),void 0===z?U:a(U,z)}},function(g,o,t){var e=t(85);g.exports=function(s,a,l,u){u&&u.enumerable?s[a]=l:e(s,a,l)}},function(g,o,t){var e=t(216),s=t(63).f,a=t(85),l=t(44),u=t(489),h=t(38)("toStringTag");g.exports=function(_,m,b,C){if(_){var D=b?_:_.prototype;l(D,h)||s(D,h,{configurable:!0,value:m}),C&&!e&&a(D,"toString",u)}}},function(g,o,t){"use strict";g.exports=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e}},function(g,o,t){var e=t(662);g.exports=function(s){return null==s?"":e(s)}},function(g,o){g.exports=function(t,e){return t===e||t!=t&&e!=e}},function(g,o,t){var e=t(116),s=t(53);g.exports=function(a){if(!s(a))return!1;var l=e(a);return"[object Function]"==l||"[object GeneratorFunction]"==l||"[object AsyncFunction]"==l||"[object Proxy]"==l}},function(g,o,t){g.exports=t(655)},function(g,o,t){g.exports=t(374)},function(g,o,t){"use strict";function e(s){return function(a){try{return!!JSON.parse(a)}catch(l){return null}}(s)?"json":null}t.d(o,"a",function(){return e})},function(g,o,t){g.exports=t(651)},function(g,o,t){"use strict";t.r(o),t.d(o,"UPDATE_LAYOUT",function(){return s}),t.d(o,"UPDATE_FILTER",function(){return a}),t.d(o,"UPDATE_MODE",function(){return l}),t.d(o,"SHOW",function(){return u}),t.d(o,"updateLayout",function(){return h}),t.d(o,"updateFilter",function(){return _}),t.d(o,"show",function(){return m}),t.d(o,"changeMode",function(){return b});var e=t(5),s="layout_update_layout",a="layout_update_filter",l="layout_update_mode",u="layout_show";function h(C){return{type:s,payload:C}}function _(C){return{type:a,payload:C}}function m(C){var D=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return C=Object(e.v)(C),{type:u,payload:{thing:C,shown:D}}}function b(C){var D=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return C=Object(e.v)(C),{type:l,payload:{thing:C,mode:D}}}},function(g,o,t){var e=t(397),s=t(155),a=t(151),l=t(52),u=t(117),h=t(152),_=t(184),m=t(185),b=Object.prototype.hasOwnProperty;g.exports=function(C){if(null==C)return!0;if(u(C)&&(l(C)||"string"==typeof C||"function"==typeof C.splice||h(C)||m(C)||a(C)))return!C.length;var D=s(C);if("[object Map]"==D||"[object Set]"==D)return!C.size;if(_(C))return!e(C).length;for(var x in C)if(b.call(C,x))return!1;return!0}},function(g,o,t){var e=t(48),s=t(50),a=t(167),l=t(94),u=t(61),h=t(169),_=t(44),m=t(330),b=Object.getOwnPropertyDescriptor;o.f=e?b:function(C,D){if(C=u(C),D=h(D),m)try{return b(C,D)}catch(x){}if(_(C,D))return l(!s(a.f,C,D),C[D])}},function(g,o,t){var e=t(27),s=e({}.toString),a=e("".slice);g.exports=function(l){return a(s(l),8,-1)}},function(g,o,t){var e=t(17).TypeError;g.exports=function(s){if(null==s)throw e("Can't call method on "+s);return s}},function(g,o,t){"use strict";var e=t(33);g.exports=function(s,a){var l=[][s];return!!l&&e(function(){l.call(null,a||function(){throw 1},1)})}},function(g,o,t){var e=t(571),s=t(576);g.exports=function(a,l){var u=s(a,l);return e(u)?u:void 0}},function(g,o,t){var e=t(133),s=t(572),a=t(573),l=e?e.toStringTag:void 0;g.exports=function(u){return null==u?void 0===u?"[object Undefined]":"[object Null]":l&&l in Object(u)?s(u):a(u)}},function(g,o,t){var e=t(104),s=t(232);g.exports=function(a){return null!=a&&s(a.length)&&!e(a)}},function(g,o){var t,e,s=g.exports={};function a(){throw new Error("setTimeout has not been defined")}function l(){throw new Error("clearTimeout has not been defined")}function u(H){if(t===setTimeout)return setTimeout(H,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(H,0);try{return t(H,0)}catch(z){try{return t.call(null,H,0)}catch(U){return t.call(this,H,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(H){t=a}try{e="function"==typeof clearTimeout?clearTimeout:l}catch(H){e=l}}();var h,_=[],m=!1,b=-1;function C(){m&&h&&(m=!1,h.length?_=h.concat(_):b=-1,_.length&&D())}function D(){if(!m){var H=u(C);m=!0;for(var z=_.length;z;){for(h=_,_=[];++b<z;)h&&h[b].run();b=-1,z=_.length}h=null,m=!1,function(U){if(e===clearTimeout)return clearTimeout(U);if((e===l||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(U);try{e(U)}catch(M){try{return e.call(null,U)}catch(I){return e.call(this,U)}}}(H)}}function x(H,z){this.fun=H,this.array=z}function j(){}s.nextTick=function(H){var z=new Array(arguments.length-1);if(arguments.length>1)for(var U=1;U<arguments.length;U++)z[U-1]=arguments[U];_.push(new x(H,z)),1!==_.length||m||u(D)},x.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=j,s.addListener=j,s.once=j,s.off=j,s.removeListener=j,s.removeAllListeners=j,s.emit=j,s.prependListener=j,s.prependOnceListener=j,s.listeners=function(H){return[]},s.binding=function(H){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(H){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},function(g,o,t){"use strict";var e=t(190),s=Object.keys||function(x){var j=[];for(var H in x)j.push(H);return j};g.exports=b;var a=Object.create(t(157));a.inherits=t(64);var l=t(402),u=t(246);a.inherits(b,l);for(var h=s(u.prototype),_=0;_<h.length;_++){var m=h[_];b.prototype[m]||(b.prototype[m]=u.prototype[m])}function b(x){if(!(this instanceof b))return new b(x);l.call(this,x),u.call(this,x),x&&!1===x.readable&&(this.readable=!1),x&&!1===x.writable&&(this.writable=!1),this.allowHalfOpen=!0,x&&!1===x.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",C)}function C(){this.allowHalfOpen||this._writableState.ended||e.nextTick(D,this)}function D(x){x.end()}Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(x){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=x,this._writableState.destroyed=x)}}),b.prototype._destroy=function(x,j){this.push(null),this.end(),e.nextTick(j,x)}},function(g,o,t){"use strict";var e=t(725)();g.exports=function(s){return s!==e&&null!==s}},function(g,o,t){"use strict";var e=t(726),s=Math.max;g.exports=function(a){return s(0,e(a))}},function(g,o,t){},function(g,o,t){"use strict";var e=t(413),s=t(740),a=t(410),l=t(408),u=t(744);(g.exports=function(h,_){var m,b,C,D,x;return arguments.length<2||"string"!=typeof h?(D=_,_=h,h=null):D=arguments[2],e(h)?(m=u.call(h,"c"),b=u.call(h,"e"),C=u.call(h,"w")):(m=C=!0,b=!1),x={value:_,configurable:m,enumerable:b,writable:C},D?a(l(D),x):x}).gs=function(h,_,m){var b,C,D,x;return"string"!=typeof h?(D=m,m=_,_=h,h=null):D=arguments[3],e(_)?s(_)?e(m)?s(m)||(D=m,m=void 0):m=void 0:(D=_,_=m=void 0):_=void 0,e(h)?(b=u.call(h,"c"),C=u.call(h,"e")):(b=!0,C=!1),x={get:_,set:m,configurable:b,enumerable:C},D?a(l(D),x):x}},function(g,o,t){var e=t(17),s=t(84),a=t(50),l=t(51),u=t(170),h=t(377),_=t(74),m=t(35),b=t(239),C=t(154),D=t(376),x=e.TypeError,j=function(z,U){this.stopped=z,this.result=U},H=j.prototype;g.exports=function(z,U,M){var I,J,Y,ie,oe,fe,ne,ce=!(!M||!M.AS_ENTRIES),Ae=!(!M||!M.IS_ITERATOR),Me=!(!M||!M.INTERRUPTED),Oe=s(U,M&&M.that),be=function(He){return I&&D(I,"normal",He),new j(!0,He)},ue=function(He){return ce?(l(He),Me?Oe(He[0],He[1],be):Oe(He[0],He[1])):Me?Oe(He,be):Oe(He)};if(Ae)I=z;else{if(!(J=C(z)))throw x(u(z)+" is not iterable");if(h(J)){for(Y=0,ie=_(z);ie>Y;Y++)if((oe=ue(z[Y]))&&m(H,oe))return oe;return new j(!1)}I=b(z,J)}for(fe=I.next;!(ne=a(fe,I)).done;){try{oe=ue(ne.value)}catch(He){D(I,"throw",He)}if("object"==typeof oe&&oe&&m(H,oe))return oe}return new j(!1)}},function(g,o,t){g.exports=t(962)},function(g,o,t){"use strict";(function(e,s){var a=65536,u=t(65).Buffer,h=e.crypto||e.msCrypto;g.exports=h&&h.getRandomValues?function(_,m){if(_>4294967295)throw new RangeError("requested too many random bytes");var b=u.allocUnsafe(_);if(_>0)if(_>a)for(var C=0;C<_;C+=a)h.getRandomValues(b.slice(C,C+a));else h.getRandomValues(b);return"function"==typeof m?s.nextTick(function(){m(null,b)}):b}:function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,t(57),t(118))},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return m});var e=t(12),s=t.n(e),a=t(4),l=t.n(a),u=t(456),h=t.n(u),_=[t(258),t(259)];function m(b){var C,D={jsSpec:{}},x=h()(_,function(j,H){try{var z=H.transform(j,D);return s()(z).call(z,function(U){return!!U})}catch(U){return console.error("Transformer error:",U),j}},b);return l()(C=s()(x).call(x,function(j){return!!j})).call(C,function(j){return!j.get("line")&&j.get("path"),j})}},function(g,o,t){var e,s,a=t(17),l=t(95),u=a.process,h=a.Deno,_=u&&u.versions||h&&h.version,m=_&&_.v8;m&&(s=(e=m.split("."))[0]>0&&e[0]<4?1:+(e[0]+e[1])),!s&&l&&(!(e=l.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=l.match(/Chrome\/(\d+)/))&&(s=+e[1]),g.exports=s},function(g,o){var t=Math.ceil,e=Math.floor;g.exports=function(s){var a=+s;return a!=a||0===a?0:(a>0?e:t)(a)}},function(g,o){g.exports={}},function(g,o,t){"use strict";var e=t(343).charAt,s=t(67),a=t(76),l=t(225),u="String Iterator",h=a.set,_=a.getterFor(u);l(String,"String",function(m){h(this,{type:u,string:s(m),index:0})},function(){var m,b=_(this),C=b.string,D=b.index;return D>=C.length?{value:void 0,done:!0}:(m=e(C,D),b.index+=m.length,{value:m,done:!1})})},function(g,o,t){"use strict";(function(e){var s=t(530),a=t(531),l=t(346);function u(){return _.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function h(ae,Ie){if(u()<Ie)throw new RangeError("Invalid typed array length");return _.TYPED_ARRAY_SUPPORT?(ae=new Uint8Array(Ie)).__proto__=_.prototype:(null===ae&&(ae=new _(Ie)),ae.length=Ie),ae}function _(ae,Ie,dt){if(!(_.TYPED_ARRAY_SUPPORT||this instanceof _))return new _(ae,Ie,dt);if("number"==typeof ae){if("string"==typeof Ie)throw new Error("If encoding is specified then the first argument must be a string");return C(this,ae)}return m(this,ae,Ie,dt)}function m(ae,Ie,dt,Jt){if("number"==typeof Ie)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&Ie instanceof ArrayBuffer?function(zt,ln,ar,Ln){if(ar<0||ln.byteLength<ar)throw new RangeError("'offset' is out of bounds");if(ln.byteLength<ar+(Ln||0))throw new RangeError("'length' is out of bounds");return ln=void 0===ar&&void 0===Ln?new Uint8Array(ln):void 0===Ln?new Uint8Array(ln,ar):new Uint8Array(ln,ar,Ln),_.TYPED_ARRAY_SUPPORT?(zt=ln).__proto__=_.prototype:zt=D(zt,ln),zt}(ae,Ie,dt,Jt):"string"==typeof Ie?function(zt,ln,ar){if("string"==typeof ar&&""!==ar||(ar="utf8"),!_.isEncoding(ar))throw new TypeError('"encoding" must be a valid string encoding');var Ln=0|j(ln,ar),Rn=(zt=h(zt,Ln)).write(ln,ar);return Rn!==Ln&&(zt=zt.slice(0,Rn)),zt}(ae,Ie,dt):function(zt,ln){if(_.isBuffer(ln)){var ar=0|x(ln.length);return 0===(zt=h(zt,ar)).length||ln.copy(zt,0,0,ar),zt}if(ln){if("undefined"!=typeof ArrayBuffer&&ln.buffer instanceof ArrayBuffer||"length"in ln)return"number"!=typeof ln.length||(Ln=ln.length)!=Ln?h(zt,0):D(zt,ln);if("Buffer"===ln.type&&l(ln.data))return D(zt,ln.data)}var Ln;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(ae,Ie)}function b(ae){if("number"!=typeof ae)throw new TypeError('"size" argument must be a number');if(ae<0)throw new RangeError('"size" argument must not be negative')}function C(ae,Ie){if(b(Ie),ae=h(ae,Ie<0?0:0|x(Ie)),!_.TYPED_ARRAY_SUPPORT)for(var dt=0;dt<Ie;++dt)ae[dt]=0;return ae}function D(ae,Ie){var dt=Ie.length<0?0:0|x(Ie.length);ae=h(ae,dt);for(var Jt=0;Jt<dt;Jt+=1)ae[Jt]=255&Ie[Jt];return ae}function x(ae){if(ae>=u())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u().toString(16)+" bytes");return 0|ae}function j(ae,Ie){if(_.isBuffer(ae))return ae.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(ae)||ae instanceof ArrayBuffer))return ae.byteLength;"string"!=typeof ae&&(ae=""+ae);var dt=ae.length;if(0===dt)return 0;for(var Jt=!1;;)switch(Ie){case"ascii":case"latin1":case"binary":return dt;case"utf8":case"utf-8":case void 0:return At(ae).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*dt;case"hex":return dt>>>1;case"base64":return Qe(ae).length;default:if(Jt)return At(ae).length;Ie=(""+Ie).toLowerCase(),Jt=!0}}function H(ae,Ie,dt){var Jt=!1;if((void 0===Ie||Ie<0)&&(Ie=0),Ie>this.length||((void 0===dt||dt>this.length)&&(dt=this.length),dt<=0)||(dt>>>=0)<=(Ie>>>=0))return"";for(ae||(ae="utf8");;)switch(ae){case"hex":return Oe(this,Ie,dt);case"utf8":case"utf-8":return he(this,Ie,dt);case"ascii":return Ae(this,Ie,dt);case"latin1":case"binary":return Me(this,Ie,dt);case"base64":return ne(this,Ie,dt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return be(this,Ie,dt);default:if(Jt)throw new TypeError("Unknown encoding: "+ae);ae=(ae+"").toLowerCase(),Jt=!0}}function z(ae,Ie,dt){var Jt=ae[Ie];ae[Ie]=ae[dt],ae[dt]=Jt}function U(ae,Ie,dt,Jt,zt){if(0===ae.length)return-1;if("string"==typeof dt?(Jt=dt,dt=0):dt>2147483647?dt=2147483647:dt<-2147483648&&(dt=-2147483648),dt=+dt,isNaN(dt)&&(dt=zt?0:ae.length-1),dt<0&&(dt=ae.length+dt),dt>=ae.length){if(zt)return-1;dt=ae.length-1}else if(dt<0){if(!zt)return-1;dt=0}if("string"==typeof Ie&&(Ie=_.from(Ie,Jt)),_.isBuffer(Ie))return 0===Ie.length?-1:M(ae,Ie,dt,Jt,zt);if("number"==typeof Ie)return Ie&=255,_.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?zt?Uint8Array.prototype.indexOf.call(ae,Ie,dt):Uint8Array.prototype.lastIndexOf.call(ae,Ie,dt):M(ae,[Ie],dt,Jt,zt);throw new TypeError("val must be string, number or Buffer")}function M(ae,Ie,dt,Jt,zt){var ln,ar=1,Ln=ae.length,Rn=Ie.length;if(void 0!==Jt&&("ucs2"===(Jt=String(Jt).toLowerCase())||"ucs-2"===Jt||"utf16le"===Jt||"utf-16le"===Jt)){if(ae.length<2||Ie.length<2)return-1;ar=2,Ln/=2,Rn/=2,dt/=2}function er(Yn,Cn){return 1===ar?Yn[Cn]:Yn.readUInt16BE(Cn*ar)}if(zt){var Mn=-1;for(ln=dt;ln<Ln;ln++)if(er(ae,ln)===er(Ie,-1===Mn?0:ln-Mn)){if(-1===Mn&&(Mn=ln),ln-Mn+1===Rn)return Mn*ar}else-1!==Mn&&(ln-=ln-Mn),Mn=-1}else for(dt+Rn>Ln&&(dt=Ln-Rn),ln=dt;ln>=0;ln--){for(var Ht=!0,tr=0;tr<Rn;tr++)if(er(ae,ln+tr)!==er(Ie,tr)){Ht=!1;break}if(Ht)return ln}return-1}function I(ae,Ie,dt,Jt){dt=Number(dt)||0;var zt=ae.length-dt;Jt?(Jt=Number(Jt))>zt&&(Jt=zt):Jt=zt;var ln=Ie.length;if(ln%2!=0)throw new TypeError("Invalid hex string");Jt>ln/2&&(Jt=ln/2);for(var ar=0;ar<Jt;++ar){var Ln=parseInt(Ie.substr(2*ar,2),16);if(isNaN(Ln))return ar;ae[dt+ar]=Ln}return ar}function J(ae,Ie,dt,Jt){return It(At(Ie,ae.length-dt),ae,dt,Jt)}function Y(ae,Ie,dt,Jt){return It(function(zt){for(var ln=[],ar=0;ar<zt.length;++ar)ln.push(255&zt.charCodeAt(ar));return ln}(Ie),ae,dt,Jt)}function ie(ae,Ie,dt,Jt){return Y(ae,Ie,dt,Jt)}function oe(ae,Ie,dt,Jt){return It(Qe(Ie),ae,dt,Jt)}function fe(ae,Ie,dt,Jt){return It(function(zt,ln){for(var ar,Ln,er=[],Mn=0;Mn<zt.length&&!((ln-=2)<0);++Mn)Ln=(ar=zt.charCodeAt(Mn))>>8,er.push(ar%256),er.push(Ln);return er}(Ie,ae.length-dt),ae,dt,Jt)}function ne(ae,Ie,dt){return s.fromByteArray(0===Ie&&dt===ae.length?ae:ae.slice(Ie,dt))}function he(ae,Ie,dt){dt=Math.min(ae.length,dt);for(var Jt=[],zt=Ie;zt<dt;){var ln,ar,Ln,Rn,er=ae[zt],Mn=null,Ht=er>239?4:er>223?3:er>191?2:1;if(zt+Ht<=dt)switch(Ht){case 1:er<128&&(Mn=er);break;case 2:128==(192&(ln=ae[zt+1]))&&(Rn=(31&er)<<6|63&ln)>127&&(Mn=Rn);break;case 3:ar=ae[zt+2],128==(192&(ln=ae[zt+1]))&&128==(192&ar)&&(Rn=(15&er)<<12|(63&ln)<<6|63&ar)>2047&&(Rn<55296||Rn>57343)&&(Mn=Rn);break;case 4:ar=ae[zt+2],Ln=ae[zt+3],128==(192&(ln=ae[zt+1]))&&128==(192&ar)&&128==(192&Ln)&&(Rn=(15&er)<<18|(63&ln)<<12|(63&ar)<<6|63&Ln)>65535&&Rn<1114112&&(Mn=Rn)}null===Mn?(Mn=65533,Ht=1):Mn>65535&&(Jt.push((Mn-=65536)>>>10&1023|55296),Mn=56320|1023&Mn),Jt.push(Mn),zt+=Ht}return function(tr){var Yn=tr.length;if(Yn<=ce)return String.fromCharCode.apply(String,tr);for(var Cn="",Kt=0;Kt<Yn;)Cn+=String.fromCharCode.apply(String,tr.slice(Kt,Kt+=ce));return Cn}(Jt)}o.Buffer=_,o.SlowBuffer=function(ae){return+ae!=ae&&(ae=0),_.alloc(+ae)},o.INSPECT_MAX_BYTES=50,_.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var ae=new Uint8Array(1);return ae.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===ae.foo()&&"function"==typeof ae.subarray&&0===ae.subarray(1,1).byteLength}catch(Ie){return!1}}(),o.kMaxLength=u(),_.poolSize=8192,_._augment=function(ae){return ae.__proto__=_.prototype,ae},_.from=function(ae,Ie,dt){return m(null,ae,Ie,dt)},_.TYPED_ARRAY_SUPPORT&&(_.prototype.__proto__=Uint8Array.prototype,_.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&_[Symbol.species]===_&&Object.defineProperty(_,Symbol.species,{value:null,configurable:!0})),_.alloc=function(ae,Ie,dt){return ln=Ie,ar=dt,b(zt=ae),zt<=0?h(null,zt):void 0!==ln?"string"==typeof ar?h(null,zt).fill(ln,ar):h(null,zt).fill(ln):h(null,zt);var zt,ln,ar},_.allocUnsafe=function(ae){return C(null,ae)},_.allocUnsafeSlow=function(ae){return C(null,ae)},_.isBuffer=function(ae){return!(null==ae||!ae._isBuffer)},_.compare=function(ae,Ie){if(!_.isBuffer(ae)||!_.isBuffer(Ie))throw new TypeError("Arguments must be Buffers");if(ae===Ie)return 0;for(var dt=ae.length,Jt=Ie.length,zt=0,ln=Math.min(dt,Jt);zt<ln;++zt)if(ae[zt]!==Ie[zt]){dt=ae[zt],Jt=Ie[zt];break}return dt<Jt?-1:Jt<dt?1:0},_.isEncoding=function(ae){switch(String(ae).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},_.concat=function(ae,Ie){if(!l(ae))throw new TypeError('"list" argument must be an Array of Buffers');if(0===ae.length)return _.alloc(0);var dt;if(void 0===Ie)for(Ie=0,dt=0;dt<ae.length;++dt)Ie+=ae[dt].length;var Jt=_.allocUnsafe(Ie),zt=0;for(dt=0;dt<ae.length;++dt){var ln=ae[dt];if(!_.isBuffer(ln))throw new TypeError('"list" argument must be an Array of Buffers');ln.copy(Jt,zt),zt+=ln.length}return Jt},_.byteLength=j,_.prototype._isBuffer=!0,_.prototype.swap16=function(){var ae=this.length;if(ae%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var Ie=0;Ie<ae;Ie+=2)z(this,Ie,Ie+1);return this},_.prototype.swap32=function(){var ae=this.length;if(ae%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var Ie=0;Ie<ae;Ie+=4)z(this,Ie,Ie+3),z(this,Ie+1,Ie+2);return this},_.prototype.swap64=function(){var ae=this.length;if(ae%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var Ie=0;Ie<ae;Ie+=8)z(this,Ie,Ie+7),z(this,Ie+1,Ie+6),z(this,Ie+2,Ie+5),z(this,Ie+3,Ie+4);return this},_.prototype.toString=function(){var ae=0|this.length;return 0===ae?"":0===arguments.length?he(this,0,ae):H.apply(this,arguments)},_.prototype.equals=function(ae){if(!_.isBuffer(ae))throw new TypeError("Argument must be a Buffer");return this===ae||0===_.compare(this,ae)},_.prototype.inspect=function(){var ae="",Ie=o.INSPECT_MAX_BYTES;return this.length>0&&(ae=this.toString("hex",0,Ie).match(/.{2}/g).join(" "),this.length>Ie&&(ae+=" ... ")),"<Buffer "+ae+">"},_.prototype.compare=function(ae,Ie,dt,Jt,zt){if(!_.isBuffer(ae))throw new TypeError("Argument must be a Buffer");if(void 0===Ie&&(Ie=0),void 0===dt&&(dt=ae?ae.length:0),void 0===Jt&&(Jt=0),void 0===zt&&(zt=this.length),Ie<0||dt>ae.length||Jt<0||zt>this.length)throw new RangeError("out of range index");if(Jt>=zt&&Ie>=dt)return 0;if(Jt>=zt)return-1;if(Ie>=dt)return 1;if(this===ae)return 0;for(var ln=(zt>>>=0)-(Jt>>>=0),ar=(dt>>>=0)-(Ie>>>=0),Ln=Math.min(ln,ar),Rn=this.slice(Jt,zt),er=ae.slice(Ie,dt),Mn=0;Mn<Ln;++Mn)if(Rn[Mn]!==er[Mn]){ln=Rn[Mn],ar=er[Mn];break}return ln<ar?-1:ar<ln?1:0},_.prototype.includes=function(ae,Ie,dt){return-1!==this.indexOf(ae,Ie,dt)},_.prototype.indexOf=function(ae,Ie,dt){return U(this,ae,Ie,dt,!0)},_.prototype.lastIndexOf=function(ae,Ie,dt){return U(this,ae,Ie,dt,!1)},_.prototype.write=function(ae,Ie,dt,Jt){if(void 0===Ie)Jt="utf8",dt=this.length,Ie=0;else if(void 0===dt&&"string"==typeof Ie)Jt=Ie,dt=this.length,Ie=0;else{if(!isFinite(Ie))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");Ie|=0,isFinite(dt)?(dt|=0,void 0===Jt&&(Jt="utf8")):(Jt=dt,dt=void 0)}var zt=this.length-Ie;if((void 0===dt||dt>zt)&&(dt=zt),ae.length>0&&(dt<0||Ie<0)||Ie>this.length)throw new RangeError("Attempt to write outside buffer bounds");Jt||(Jt="utf8");for(var ln=!1;;)switch(Jt){case"hex":return I(this,ae,Ie,dt);case"utf8":case"utf-8":return J(this,ae,Ie,dt);case"ascii":return Y(this,ae,Ie,dt);case"latin1":case"binary":return ie(this,ae,Ie,dt);case"base64":return oe(this,ae,Ie,dt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,ae,Ie,dt);default:if(ln)throw new TypeError("Unknown encoding: "+Jt);Jt=(""+Jt).toLowerCase(),ln=!0}},_.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ce=4096;function Ae(ae,Ie,dt){var Jt="";dt=Math.min(ae.length,dt);for(var zt=Ie;zt<dt;++zt)Jt+=String.fromCharCode(127&ae[zt]);return Jt}function Me(ae,Ie,dt){var Jt="";dt=Math.min(ae.length,dt);for(var zt=Ie;zt<dt;++zt)Jt+=String.fromCharCode(ae[zt]);return Jt}function Oe(ae,Ie,dt){var Jt=ae.length;(!Ie||Ie<0)&&(Ie=0),(!dt||dt<0||dt>Jt)&&(dt=Jt);for(var zt="",ln=Ie;ln<dt;++ln)zt+=St(ae[ln]);return zt}function be(ae,Ie,dt){for(var Jt=ae.slice(Ie,dt),zt="",ln=0;ln<Jt.length;ln+=2)zt+=String.fromCharCode(Jt[ln]+256*Jt[ln+1]);return zt}function ue(ae,Ie,dt){if(ae%1!=0||ae<0)throw new RangeError("offset is not uint");if(ae+Ie>dt)throw new RangeError("Trying to access beyond buffer length")}function He(ae,Ie,dt,Jt,zt,ln){if(!_.isBuffer(ae))throw new TypeError('"buffer" argument must be a Buffer instance');if(Ie>zt||Ie<ln)throw new RangeError('"value" argument is out of bounds');if(dt+Jt>ae.length)throw new RangeError("Index out of range")}function $e(ae,Ie,dt,Jt){Ie<0&&(Ie=65535+Ie+1);for(var zt=0,ln=Math.min(ae.length-dt,2);zt<ln;++zt)ae[dt+zt]=(Ie&255<<8*(Jt?zt:1-zt))>>>8*(Jt?zt:1-zt)}function F(ae,Ie,dt,Jt){Ie<0&&(Ie=4294967295+Ie+1);for(var zt=0,ln=Math.min(ae.length-dt,4);zt<ln;++zt)ae[dt+zt]=Ie>>>8*(Jt?zt:3-zt)&255}function je(ae,Ie,dt,Jt,zt,ln){if(dt+Jt>ae.length)throw new RangeError("Index out of range");if(dt<0)throw new RangeError("Index out of range")}function Et(ae,Ie,dt,Jt,zt){return zt||je(ae,0,dt,4),a.write(ae,Ie,dt,Jt,23,4),dt+4}function lt(ae,Ie,dt,Jt,zt){return zt||je(ae,0,dt,8),a.write(ae,Ie,dt,Jt,52,8),dt+8}_.prototype.slice=function(ae,Ie){var dt,Jt=this.length;if((ae=~~ae)<0?(ae+=Jt)<0&&(ae=0):ae>Jt&&(ae=Jt),(Ie=void 0===Ie?Jt:~~Ie)<0?(Ie+=Jt)<0&&(Ie=0):Ie>Jt&&(Ie=Jt),Ie<ae&&(Ie=ae),_.TYPED_ARRAY_SUPPORT)(dt=this.subarray(ae,Ie)).__proto__=_.prototype;else{var zt=Ie-ae;dt=new _(zt,void 0);for(var ln=0;ln<zt;++ln)dt[ln]=this[ln+ae]}return dt},_.prototype.readUIntLE=function(ae,Ie,dt){ae|=0,Ie|=0,dt||ue(ae,Ie,this.length);for(var Jt=this[ae],zt=1,ln=0;++ln<Ie&&(zt*=256);)Jt+=this[ae+ln]*zt;return Jt},_.prototype.readUIntBE=function(ae,Ie,dt){ae|=0,Ie|=0,dt||ue(ae,Ie,this.length);for(var Jt=this[ae+--Ie],zt=1;Ie>0&&(zt*=256);)Jt+=this[ae+--Ie]*zt;return Jt},_.prototype.readUInt8=function(ae,Ie){return Ie||ue(ae,1,this.length),this[ae]},_.prototype.readUInt16LE=function(ae,Ie){return Ie||ue(ae,2,this.length),this[ae]|this[ae+1]<<8},_.prototype.readUInt16BE=function(ae,Ie){return Ie||ue(ae,2,this.length),this[ae]<<8|this[ae+1]},_.prototype.readUInt32LE=function(ae,Ie){return Ie||ue(ae,4,this.length),(this[ae]|this[ae+1]<<8|this[ae+2]<<16)+16777216*this[ae+3]},_.prototype.readUInt32BE=function(ae,Ie){return Ie||ue(ae,4,this.length),16777216*this[ae]+(this[ae+1]<<16|this[ae+2]<<8|this[ae+3])},_.prototype.readIntLE=function(ae,Ie,dt){ae|=0,Ie|=0,dt||ue(ae,Ie,this.length);for(var Jt=this[ae],zt=1,ln=0;++ln<Ie&&(zt*=256);)Jt+=this[ae+ln]*zt;return Jt>=(zt*=128)&&(Jt-=Math.pow(2,8*Ie)),Jt},_.prototype.readIntBE=function(ae,Ie,dt){ae|=0,Ie|=0,dt||ue(ae,Ie,this.length);for(var Jt=Ie,zt=1,ln=this[ae+--Jt];Jt>0&&(zt*=256);)ln+=this[ae+--Jt]*zt;return ln>=(zt*=128)&&(ln-=Math.pow(2,8*Ie)),ln},_.prototype.readInt8=function(ae,Ie){return Ie||ue(ae,1,this.length),128&this[ae]?-1*(255-this[ae]+1):this[ae]},_.prototype.readInt16LE=function(ae,Ie){Ie||ue(ae,2,this.length);var dt=this[ae]|this[ae+1]<<8;return 32768&dt?4294901760|dt:dt},_.prototype.readInt16BE=function(ae,Ie){Ie||ue(ae,2,this.length);var dt=this[ae+1]|this[ae]<<8;return 32768&dt?4294901760|dt:dt},_.prototype.readInt32LE=function(ae,Ie){return Ie||ue(ae,4,this.length),this[ae]|this[ae+1]<<8|this[ae+2]<<16|this[ae+3]<<24},_.prototype.readInt32BE=function(ae,Ie){return Ie||ue(ae,4,this.length),this[ae]<<24|this[ae+1]<<16|this[ae+2]<<8|this[ae+3]},_.prototype.readFloatLE=function(ae,Ie){return Ie||ue(ae,4,this.length),a.read(this,ae,!0,23,4)},_.prototype.readFloatBE=function(ae,Ie){return Ie||ue(ae,4,this.length),a.read(this,ae,!1,23,4)},_.prototype.readDoubleLE=function(ae,Ie){return Ie||ue(ae,8,this.length),a.read(this,ae,!0,52,8)},_.prototype.readDoubleBE=function(ae,Ie){return Ie||ue(ae,8,this.length),a.read(this,ae,!1,52,8)},_.prototype.writeUIntLE=function(ae,Ie,dt,Jt){ae=+ae,Ie|=0,dt|=0,Jt||He(this,ae,Ie,dt,Math.pow(2,8*dt)-1,0);var zt=1,ln=0;for(this[Ie]=255&ae;++ln<dt&&(zt*=256);)this[Ie+ln]=ae/zt&255;return Ie+dt},_.prototype.writeUIntBE=function(ae,Ie,dt,Jt){ae=+ae,Ie|=0,dt|=0,Jt||He(this,ae,Ie,dt,Math.pow(2,8*dt)-1,0);var zt=dt-1,ln=1;for(this[Ie+zt]=255&ae;--zt>=0&&(ln*=256);)this[Ie+zt]=ae/ln&255;return Ie+dt},_.prototype.writeUInt8=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,1,255,0),_.TYPED_ARRAY_SUPPORT||(ae=Math.floor(ae)),this[Ie]=255&ae,Ie+1},_.prototype.writeUInt16LE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,2,65535,0),_.TYPED_ARRAY_SUPPORT?(this[Ie]=255&ae,this[Ie+1]=ae>>>8):$e(this,ae,Ie,!0),Ie+2},_.prototype.writeUInt16BE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,2,65535,0),_.TYPED_ARRAY_SUPPORT?(this[Ie]=ae>>>8,this[Ie+1]=255&ae):$e(this,ae,Ie,!1),Ie+2},_.prototype.writeUInt32LE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,4,4294967295,0),_.TYPED_ARRAY_SUPPORT?(this[Ie+3]=ae>>>24,this[Ie+2]=ae>>>16,this[Ie+1]=ae>>>8,this[Ie]=255&ae):F(this,ae,Ie,!0),Ie+4},_.prototype.writeUInt32BE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,4,4294967295,0),_.TYPED_ARRAY_SUPPORT?(this[Ie]=ae>>>24,this[Ie+1]=ae>>>16,this[Ie+2]=ae>>>8,this[Ie+3]=255&ae):F(this,ae,Ie,!1),Ie+4},_.prototype.writeIntLE=function(ae,Ie,dt,Jt){if(ae=+ae,Ie|=0,!Jt){var zt=Math.pow(2,8*dt-1);He(this,ae,Ie,dt,zt-1,-zt)}var ln=0,ar=1,Ln=0;for(this[Ie]=255&ae;++ln<dt&&(ar*=256);)ae<0&&0===Ln&&0!==this[Ie+ln-1]&&(Ln=1),this[Ie+ln]=(ae/ar>>0)-Ln&255;return Ie+dt},_.prototype.writeIntBE=function(ae,Ie,dt,Jt){if(ae=+ae,Ie|=0,!Jt){var zt=Math.pow(2,8*dt-1);He(this,ae,Ie,dt,zt-1,-zt)}var ln=dt-1,ar=1,Ln=0;for(this[Ie+ln]=255&ae;--ln>=0&&(ar*=256);)ae<0&&0===Ln&&0!==this[Ie+ln+1]&&(Ln=1),this[Ie+ln]=(ae/ar>>0)-Ln&255;return Ie+dt},_.prototype.writeInt8=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,1,127,-128),_.TYPED_ARRAY_SUPPORT||(ae=Math.floor(ae)),ae<0&&(ae=255+ae+1),this[Ie]=255&ae,Ie+1},_.prototype.writeInt16LE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,2,32767,-32768),_.TYPED_ARRAY_SUPPORT?(this[Ie]=255&ae,this[Ie+1]=ae>>>8):$e(this,ae,Ie,!0),Ie+2},_.prototype.writeInt16BE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,2,32767,-32768),_.TYPED_ARRAY_SUPPORT?(this[Ie]=ae>>>8,this[Ie+1]=255&ae):$e(this,ae,Ie,!1),Ie+2},_.prototype.writeInt32LE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,4,2147483647,-2147483648),_.TYPED_ARRAY_SUPPORT?(this[Ie]=255&ae,this[Ie+1]=ae>>>8,this[Ie+2]=ae>>>16,this[Ie+3]=ae>>>24):F(this,ae,Ie,!0),Ie+4},_.prototype.writeInt32BE=function(ae,Ie,dt){return ae=+ae,Ie|=0,dt||He(this,ae,Ie,4,2147483647,-2147483648),ae<0&&(ae=4294967295+ae+1),_.TYPED_ARRAY_SUPPORT?(this[Ie]=ae>>>24,this[Ie+1]=ae>>>16,this[Ie+2]=ae>>>8,this[Ie+3]=255&ae):F(this,ae,Ie,!1),Ie+4},_.prototype.writeFloatLE=function(ae,Ie,dt){return Et(this,ae,Ie,!0,dt)},_.prototype.writeFloatBE=function(ae,Ie,dt){return Et(this,ae,Ie,!1,dt)},_.prototype.writeDoubleLE=function(ae,Ie,dt){return lt(this,ae,Ie,!0,dt)},_.prototype.writeDoubleBE=function(ae,Ie,dt){return lt(this,ae,Ie,!1,dt)},_.prototype.copy=function(ae,Ie,dt,Jt){if(dt||(dt=0),Jt||0===Jt||(Jt=this.length),Ie>=ae.length&&(Ie=ae.length),Ie||(Ie=0),Jt>0&&Jt<dt&&(Jt=dt),Jt===dt||0===ae.length||0===this.length)return 0;if(Ie<0)throw new RangeError("targetStart out of bounds");if(dt<0||dt>=this.length)throw new RangeError("sourceStart out of bounds");if(Jt<0)throw new RangeError("sourceEnd out of bounds");Jt>this.length&&(Jt=this.length),ae.length-Ie<Jt-dt&&(Jt=ae.length-Ie+dt);var zt,ln=Jt-dt;if(this===ae&&dt<Ie&&Ie<Jt)for(zt=ln-1;zt>=0;--zt)ae[zt+Ie]=this[zt+dt];else if(ln<1e3||!_.TYPED_ARRAY_SUPPORT)for(zt=0;zt<ln;++zt)ae[zt+Ie]=this[zt+dt];else Uint8Array.prototype.set.call(ae,this.subarray(dt,dt+ln),Ie);return ln},_.prototype.fill=function(ae,Ie,dt,Jt){if("string"==typeof ae){if("string"==typeof Ie?(Jt=Ie,Ie=0,dt=this.length):"string"==typeof dt&&(Jt=dt,dt=this.length),1===ae.length){var zt=ae.charCodeAt(0);zt<256&&(ae=zt)}if(void 0!==Jt&&"string"!=typeof Jt)throw new TypeError("encoding must be a string");if("string"==typeof Jt&&!_.isEncoding(Jt))throw new TypeError("Unknown encoding: "+Jt)}else"number"==typeof ae&&(ae&=255);if(Ie<0||this.length<Ie||this.length<dt)throw new RangeError("Out of range index");if(dt<=Ie)return this;var ln;if(Ie>>>=0,dt=void 0===dt?this.length:dt>>>0,ae||(ae=0),"number"==typeof ae)for(ln=Ie;ln<dt;++ln)this[ln]=ae;else{var ar=_.isBuffer(ae)?ae:At(new _(ae,Jt).toString()),Ln=ar.length;for(ln=0;ln<dt-Ie;++ln)this[ln+Ie]=ar[ln%Ln]}return this};var nn=/[^+\/0-9A-Za-z-_]/g;function St(ae){return ae<16?"0"+ae.toString(16):ae.toString(16)}function At(ae,Ie){var dt;Ie=Ie||1/0;for(var Jt=ae.length,zt=null,ln=[],ar=0;ar<Jt;++ar){if((dt=ae.charCodeAt(ar))>55295&&dt<57344){if(!zt){if(dt>56319){(Ie-=3)>-1&&ln.push(239,191,189);continue}if(ar+1===Jt){(Ie-=3)>-1&&ln.push(239,191,189);continue}zt=dt;continue}if(dt<56320){(Ie-=3)>-1&&ln.push(239,191,189),zt=dt;continue}dt=65536+(zt-55296<<10|dt-56320)}else zt&&(Ie-=3)>-1&&ln.push(239,191,189);if(zt=null,dt<128){if((Ie-=1)<0)break;ln.push(dt)}else if(dt<2048){if((Ie-=2)<0)break;ln.push(dt>>6|192,63&dt|128)}else if(dt<65536){if((Ie-=3)<0)break;ln.push(dt>>12|224,dt>>6&63|128,63&dt|128)}else{if(!(dt<1114112))throw new Error("Invalid code point");if((Ie-=4)<0)break;ln.push(dt>>18|240,dt>>12&63|128,dt>>6&63|128,63&dt|128)}}return ln}function Qe(ae){return s.toByteArray(function(Ie){if((Ie=(dt=Ie,dt.trim?dt.trim():dt.replace(/^\s+|\s+$/g,"")).replace(nn,"")).length<2)return"";for(var dt;Ie.length%4!=0;)Ie+="=";return Ie}(ae))}function It(ae,Ie,dt,Jt){for(var zt=0;zt<Jt&&!(zt+dt>=Ie.length||zt>=ae.length);++zt)Ie[zt+dt]=ae[zt];return zt}}).call(this,t(57))},function(g,o,t){var e=t(69).Symbol;g.exports=e},function(g,o,t){var e=t(235),s=t(229);g.exports=function(a,l,u,h){var _=!u;u||(u={});for(var m=-1,b=l.length;++m<b;){var C=l[m],D=h?h(u[C],a[C],C,u,a):void 0;void 0===D&&(D=a[C]),_?s(u,C,D):e(u,C,D)}return u}},function(g,o,t){var e=t(367),s=t(397),a=t(117);g.exports=function(l){return a(l)?e(l):s(l)}},function(g,o,t){var e=t(188);g.exports=function(s){if("string"==typeof s||e(s))return s;var a=s+"";return"0"==a&&1/s==-1/0?"-0":a}},function(g,o,t){"use strict";var e=t(120);g.exports=function(s){if(!e(s))throw new TypeError("Cannot use null or undefined");return s}},function(g,o,t){var e=t(65).Buffer;function s(a,l){this._block=e.alloc(a),this._finalSize=l,this._blockSize=a,this._len=0}s.prototype.update=function(a,l){"string"==typeof a&&(a=e.from(a,l=l||"utf8"));for(var u=this._block,h=this._blockSize,_=a.length,m=this._len,b=0;b<_;){for(var C=m%h,D=Math.min(_-b,h-C),x=0;x<D;x++)u[C+x]=a[b+x];b+=D,(m+=D)%h==0&&this._update(u)}return this._len+=_,this},s.prototype.digest=function(a){var l=this._len%this._blockSize;this._block[l]=128,this._block.fill(0,l+1),l>=this._finalSize&&(this._update(this._block),this._block.fill(0));var u=8*this._len;if(u<=4294967295)this._block.writeUInt32BE(u,this._blockSize-4);else{var h=(4294967295&u)>>>0;this._block.writeUInt32BE((u-h)/4294967296,this._blockSize-8),this._block.writeUInt32BE(h,this._blockSize-4)}this._update(this._block);var m=this._hash();return a?m.toString(a):m},s.prototype._update=function(){throw new Error("_update must be implemented by subclass")},g.exports=s},function(g,o,t){var e=t(17),s=t(35),a=e.TypeError;g.exports=function(l,u){if(s(u,l))return l;throw a("Incorrect invocation")}},function(g,o,t){var e=t(116),s=t(231),a=t(78),h=Function.prototype.toString,_=Object.prototype.hasOwnProperty,m=h.call(Object);g.exports=function(b){if(!a(b)||"[object Object]"!=e(b))return!1;var C=s(b);if(null===C)return!0;var D=_.call(C,"constructor")&&C.constructor;return"function"==typeof D&&D instanceof D&&h.call(D)==m}},function(g,o,t){"use strict";(function(e){class s extends Error{constructor(_){super(s._prepareSuperMessage(_)),Object.defineProperty(this,"name",{value:"NonError",configurable:!0,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(this,s)}static _prepareSuperMessage(_){try{return JSON.stringify(_)}catch(m){return String(_)}}}const a=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0}],l=Symbol(".toJSON called"),u=({from:h,seen:_,to_:m,forceEnumerable:b,maxDepth:C,depth:D})=>{const x=m||(Array.isArray(h)?[]:{});if(_.push(h),D>=C)return x;if("function"==typeof h.toJSON&&!0!==h[l])return(j=>{j[l]=!0;const H=j.toJSON();return delete j[l],H})(h);for(const[j,H]of Object.entries(h))"function"==typeof e&&e.isBuffer(H)?x[j]="[object Buffer]":"function"!=typeof H&&(H&&"object"==typeof H?_.includes(h[j])?x[j]="[Circular]":(D++,x[j]=u({from:h[j],seen:_.slice(),forceEnumerable:b,maxDepth:C,depth:D})):x[j]=H);for(const{property:j,enumerable:H}of a)"string"==typeof h[j]&&Object.defineProperty(x,j,{value:h[j],enumerable:!!b||H,configurable:!0,writable:!0});return x};g.exports={serializeError:(h,_={})=>{const{maxDepth:m=Number.POSITIVE_INFINITY}=_;return"object"==typeof h&&null!==h?u({from:h,seen:[],forceEnumerable:!0,maxDepth:m,depth:0}):"function"==typeof h?`[Function: ${h.name||"anonymous"}]`:h},deserializeError:(h,_={})=>{const{maxDepth:m=Number.POSITIVE_INFINITY}=_;if(h instanceof Error)return h;if("object"==typeof h&&null!==h&&!Array.isArray(h)){const b=new Error;return u({from:h,seen:[],to_:b,maxDepth:m,depth:0}),b}return new s(h)}}}).call(this,t(132).Buffer)},function(g,o,t){"use strict";t.r(o),t.d(o,"sampleFromSchemaGeneric",function(){return Et}),t.d(o,"inferSchema",function(){return lt}),t.d(o,"createXMLExample",function(){return nn}),t.d(o,"sampleFromSchema",function(){return St}),t.d(o,"memoizedCreateXMLExample",function(){return At}),t.d(o,"memoizedSampleFromSchema",function(){return Qe});var e=t(19),s=t.n(e),a=t(2),l=t.n(a),u=t(18),h=t.n(u),_=t(23),m=t.n(_),b=t(24),C=t.n(b),D=t(31),x=t.n(D),j=t(71),H=t.n(j),z=t(20),U=t.n(z),M=t(56),I=t.n(M),J=t(4),Y=t.n(J),ie=t(5),oe=t(453),fe=t.n(oe),ne=t(318),he=t.n(ne),ce=t(110),Ae=t.n(ce),Me={string:function(){return"string"},string_email:function(){return"user@example.com"},"string_date-time":function(){return(new Date).toISOString()},string_date:function(){return(new Date).toISOString().substring(0,10)},string_uuid:function(){return"3fa85f64-5717-4562-b3fc-2c963f66afa6"},string_hostname:function(){return"example.com"},string_ipv4:function(){return"198.51.100.42"},string_ipv6:function(){return"2001:0db8:5b96:0000:0000:426f:8e17:642a"},number:function(){return 0},number_float:function(){return 0},integer:function(){return 0},boolean:function(It){return"boolean"!=typeof It.default||It.default}},Oe=function(It){var ae,Ie=It=Object(ie.z)(It),dt=Ie.type,Jt=Ie.format,zt=Me[l()(ae="".concat(dt,"_")).call(ae,Jt)]||Me[dt];return Object(ie.s)(zt)?zt(It):"Unknown Type: "+It.type},be=function(It){return Object(ie.e)(It,"$$ref",function(ae){return"string"==typeof ae&&h()(ae).call(ae,"#")>-1})},ue=["maxProperties","minProperties"],He=["minItems","maxItems"],$e=["minimum","maximum","exclusiveMinimum","exclusiveMaximum"],F=["minLength","maxLength"],je=function It(ae,Ie){var dt,Jt,zt,ln=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},ar=function(Mn){void 0===Ie[Mn]&&void 0!==ae[Mn]&&(Ie[Mn]=ae[Mn])};if(m()(dt=l()(Jt=["example","default","enum","xml","type"]).call(Jt,ue,He,$e,F)).call(dt,function(Mn){return ar(Mn)}),void 0!==ae.required&&C()(ae.required)&&(void 0!==Ie.required&&Ie.required.length||(Ie.required=[]),m()(zt=ae.required).call(zt,function(Mn){var Ht;x()(Ht=Ie.required).call(Ht,Mn)||Ie.required.push(Mn)})),ae.properties){Ie.properties||(Ie.properties={});var Ln=Object(ie.z)(ae.properties);for(var Rn in Ln){var er;Object.prototype.hasOwnProperty.call(Ln,Rn)&&(!Ln[Rn]||!Ln[Rn].deprecated)&&(!Ln[Rn]||!Ln[Rn].readOnly||ln.includeReadOnly)&&(!Ln[Rn]||!Ln[Rn].writeOnly||ln.includeWriteOnly)&&(Ie.properties[Rn]||(Ie.properties[Rn]=Ln[Rn],!ae.required&&C()(ae.required)&&-1!==h()(er=ae.required).call(er,Rn)&&(Ie.required?Ie.required.push(Rn):Ie.required=[Rn])))}}return ae.items&&(Ie.items||(Ie.items={}),Ie.items=It(ae.items,Ie.items,ln)),Ie},Et=function It(ae){var Ie=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},dt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,Jt=arguments.length>3&&void 0!==arguments[3]&&arguments[3];ae&&Object(ie.s)(ae.toJS)&&(ae=ae.toJS());var zt=void 0!==dt||ae&&void 0!==ae.example||ae&&void 0!==ae.default,ln=!zt&&ae&&ae.oneOf&&ae.oneOf.length>0,ar=!zt&&ae&&ae.anyOf&&ae.anyOf.length>0;if(!zt&&(ln||ar)){var Ln=Object(ie.z)(ln?ae.oneOf[0]:ae.anyOf[0]);if(je(Ln,ae,Ie),!ae.xml&&Ln.xml&&(ae.xml=Ln.xml),void 0!==ae.example&&void 0!==Ln.example)zt=!0;else if(Ln.properties){ae.properties||(ae.properties={});var Rn=Object(ie.z)(Ln.properties);for(var er in Rn){var Mn;Object.prototype.hasOwnProperty.call(Rn,er)&&(!Rn[er]||!Rn[er].deprecated)&&(!Rn[er]||!Rn[er].readOnly||Ie.includeReadOnly)&&(!Rn[er]||!Rn[er].writeOnly||Ie.includeWriteOnly)&&(ae.properties[er]||(ae.properties[er]=Rn[er],!Ln.required&&C()(Ln.required)&&-1!==h()(Mn=Ln.required).call(Mn,er)&&(ae.required?ae.required.push(er):ae.required=[er])))}}}var Ht,tr={},Yn=ae||{},Cn=Yn.xml,Kt=Yn.type,dn=Yn.example,Kn=Yn.properties,qn=Yn.additionalProperties,Sn=Yn.items,$n=Ie.includeReadOnly,En=Ie.includeWriteOnly,Fn=Cn=Cn||{},Dn=Fn.name,mn=Fn.prefix,jn=Fn.namespace,Xt={};if(Jt&&(Ht=(mn?mn+":":"")+(Dn=Dn||"notagname"),jn)){var ut=mn?"xmlns:"+mn:"xmlns";tr[ut]=jn}Jt&&(Xt[Ht]=[]);var mt=function(nr){return H()(nr).call(nr,function(Mr){return Object.prototype.hasOwnProperty.call(ae,Mr)})};ae&&!Kt&&(Kn||qn||mt(ue)?Kt="object":Sn||mt(He)?Kt="array":mt($e)?(Kt="number",ae.type="number"):zt||ae.enum||(Kt="string",ae.type="string"));var Tt,yn,et=function(nr){var Mr,yi,Ii,Mi,Oi;if(null!==(null===(Mr=ae)||void 0===Mr?void 0:Mr.maxItems)&&void 0!==(null===(yi=ae)||void 0===yi?void 0:yi.maxItems)&&(nr=U()(nr).call(nr,0,null===(Oi=ae)||void 0===Oi?void 0:Oi.maxItems)),null!==(null===(Ii=ae)||void 0===Ii?void 0:Ii.minItems)&&void 0!==(null===(Mi=ae)||void 0===Mi?void 0:Mi.minItems))for(var Kr=0;nr.length<(null===(ei=ae)||void 0===ei?void 0:ei.minItems);){var ei;nr.push(nr[Kr++%nr.length])}return nr},jt=Object(ie.z)(Kn),hn=0,Qn=function(){return ae&&null!=ae.maxProperties&&hn>=ae.maxProperties},Ir=function(){if(!ae||!ae.required)return 0;var nr,Mr,yi=0;return Jt?m()(nr=ae.required).call(nr,function(Ii){return yi+=void 0===Xt[Ii]?0:1}):m()(Mr=ae.required).call(Mr,function(Ii){var Mi;return yi+=void 0===(null===(Mi=Xt[Ht])||void 0===Mi?void 0:I()(Mi).call(Mi,function(Oi){return void 0!==Oi[Ii]}))?0:1}),ae.required.length-yi},ht=function(nr){var Mr;return!(ae&&ae.required&&ae.required.length&&x()(Mr=ae.required).call(Mr,nr))},L=function(nr){return!ae||null==ae.maxProperties||!Qn()&&(!ht(nr)||ae.maxProperties-hn-Ir()>0)};if(Tt=Jt?function(nr){var Mr=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(ae&&jt[nr]){if(jt[nr].xml=jt[nr].xml||{},jt[nr].xml.attribute){var yi=C()(jt[nr].enum)?jt[nr].enum[0]:void 0,Ii=jt[nr].example,Mi=jt[nr].default;return void(tr[jt[nr].xml.name||nr]=void 0!==Ii?Ii:void 0!==Mi?Mi:void 0!==yi?yi:Oe(jt[nr]))}jt[nr].xml.name=jt[nr].xml.name||nr}else jt[nr]||!1===qn||(jt[nr]={xml:{name:nr}});var Oi,Kr=It(ae&&jt[nr]||void 0,Ie,Mr,Jt);L(nr)&&(hn++,C()(Kr)?Xt[Ht]=l()(Oi=Xt[Ht]).call(Oi,Kr):Xt[Ht].push(Kr))}:function(nr,Mr){L(nr)&&(Xt[nr]=It(jt[nr],Ie,Mr,Jt),hn++)},zt){var Ue;if(Ue=be(void 0!==dt?dt:void 0!==dn?dn:ae.default),!Jt){if("number"==typeof Ue&&"string"===Kt)return"".concat(Ue);if("string"!=typeof Ue||"string"===Kt)return Ue;try{return JSON.parse(Ue)}catch(nr){return Ue}}if(ae||(Kt=C()(Ue)?"array":s()(Ue)),"array"===Kt){if(!C()(Ue)){if("string"==typeof Ue)return Ue;Ue=[Ue]}var nt=ae?ae.items:void 0;nt&&(nt.xml=nt.xml||Cn||{},nt.xml.name=nt.xml.name||Cn.name);var at=Y()(Ue).call(Ue,function(nr){return It(nt,Ie,nr,Jt)});return at=et(at),Cn.wrapped?(Xt[Ht]=at,Ae()(tr)||Xt[Ht].push({_attr:tr})):Xt=at,Xt}if("object"===Kt){if("string"==typeof Ue)return Ue;for(var it in Ue)Object.prototype.hasOwnProperty.call(Ue,it)&&(ae&&jt[it]&&jt[it].readOnly&&!$n||ae&&jt[it]&&jt[it].writeOnly&&!En||(ae&&jt[it]&&jt[it].xml&&jt[it].xml.attribute?tr[jt[it].xml.name||it]=Ue[it]:Tt(it,Ue[it])));return Ae()(tr)||Xt[Ht].push({_attr:tr}),Xt}return Xt[Ht]=Ae()(tr)?Ue:[{_attr:tr},Ue],Xt}if("object"===Kt){for(var Pt in jt)Object.prototype.hasOwnProperty.call(jt,Pt)&&(jt[Pt]&&jt[Pt].deprecated||jt[Pt]&&jt[Pt].readOnly&&!$n||jt[Pt]&&jt[Pt].writeOnly&&!En||Tt(Pt));if(Jt&&tr&&Xt[Ht].push({_attr:tr}),Qn())return Xt;if(!0===qn)Jt?Xt[Ht].push({additionalProp:"Anything can be here"}):Xt.additionalProp1={},hn++;else if(qn){var Ut=Object(ie.z)(qn),ot=It(Ut,Ie,void 0,Jt);if(Jt&&Ut.xml&&Ut.xml.name&&"notagname"!==Ut.xml.name)Xt[Ht].push(ot);else for(var Nn=null!=ae.minProperties&&hn<ae.minProperties?ae.minProperties-hn:3,sn=1;sn<=Nn;sn++){if(Qn())return Xt;if(Jt){var An={};An["additionalProp"+sn]=ot.notagname,Xt[Ht].push(An)}else Xt["additionalProp"+sn]=ot;hn++}}return Xt}if("array"===Kt){if(!Sn)return;var Bn,ir,mr;if(Jt&&(Sn.xml=Sn.xml||(null===(ir=ae)||void 0===ir?void 0:ir.xml)||{},Sn.xml.name=Sn.xml.name||Cn.name),C()(Sn.anyOf))Bn=Y()(mr=Sn.anyOf).call(mr,function(nr){return It(je(Sn,nr,Ie),Ie,void 0,Jt)});else if(C()(Sn.oneOf)){var _r;Bn=Y()(_r=Sn.oneOf).call(_r,function(nr){return It(je(Sn,nr,Ie),Ie,void 0,Jt)})}else{if(!(!Jt||Jt&&Cn.wrapped))return It(Sn,Ie,void 0,Jt);Bn=[It(Sn,Ie,void 0,Jt)]}return Bn=et(Bn),Jt&&Cn.wrapped?(Xt[Ht]=Bn,Ae()(tr)||Xt[Ht].push({_attr:tr}),Xt):Bn}if(ae&&C()(ae.enum))yn=Object(ie.v)(ae.enum)[0];else{if(!ae)return;if("number"==typeof(yn=Oe(ae))){var Nr=ae.minimum;null!=Nr&&(ae.exclusiveMinimum&&Nr++,yn=Nr);var br=ae.maximum;null!=br&&(ae.exclusiveMaximum&&br--,yn=br)}if("string"==typeof yn&&(null!=ae.maxLength&&(yn=U()(yn).call(yn,0,ae.maxLength)),null!=ae.minLength))for(var Jn=0;yn.length<ae.minLength;)yn+=yn[Jn++%yn.length]}if("file"!==Kt)return Jt?(Xt[Ht]=Ae()(tr)?yn:[{_attr:tr},yn],Xt):yn},lt=function(It){return It.schema&&(It=It.schema),It.properties&&(It.type="object"),It},nn=function(It,ae,Ie){var dt=Et(It,ae,Ie,!0);if(dt)return"string"==typeof dt?dt:fe()(dt,{declaration:!0,indent:"\t"})},St=function(It,ae,Ie){return Et(It,ae,Ie,!1)},At=he()(nn),Qe=he()(St)},function(g,o,t){"use strict";var e=t(908).CopyToClipboard;e.CopyToClipboard=e,g.exports=e},function(g,o,t){"use strict";t.r(o),t.d(o,"UPDATE_CONFIGS",function(){return a}),t.d(o,"TOGGLE_CONFIGS",function(){return l}),t.d(o,"update",function(){return u}),t.d(o,"toggle",function(){return h}),t.d(o,"loaded",function(){return _});var e=t(3),s=t.n(e),a="configs_update",l="configs_toggle";function u(m,b){return{type:a,payload:s()({},m,b)}}function h(m){return{type:l,payload:m}}var _=function(){return function(m){var C=m.authActions;if((0,m.getConfigs)().persistAuthorization){var D=localStorage.getItem("authorized");D&&C.restoreAuthorization({authorized:JSON.parse(D)})}}}},function(g,o,t){"use strict";t.d(o,"a",function(){return m});var e=t(12),s=t.n(e),a=t(31),l=t.n(a),u=t(1),h=t.n(u),_=h.a.Set.of("type","format","items","default","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","uniqueItems","enum","multipleOf");function m(b){var C=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},D=C.isOAS3;if(!h.a.Map.isMap(b))return{schema:h.a.Map(),parameterContentMediaType:null};if(!D)return"body"===b.get("in")?{schema:b.get("schema",h.a.Map()),parameterContentMediaType:null}:{schema:s()(b).call(b,function(H,z){return l()(_).call(_,z)}),parameterContentMediaType:null};if(b.get("content")){var x=b.get("content",h.a.Map({})).keySeq(),j=x.first();return{schema:b.getIn(["content",j,"schema"],h.a.Map()),parameterContentMediaType:j}}return{schema:b.get("schema",h.a.Map()),parameterContentMediaType:null}}},function(g,o,t){var e=t(112);g.exports=Array.isArray||function(s){return"Array"==e(s)}},function(g,o,t){"use strict";var e=t(169),s=t(63),a=t(94);g.exports=function(l,u,h){var _=e(u);_ in l?s.f(l,_,a(0,h)):l[_]=h}},function(g,o,t){var e=t(33),s=t(38),a=t(128),l=s("species");g.exports=function(u){return a>=51||!e(function(){var h=[];return(h.constructor={})[l]=function(){return{foo:1}},1!==h[u](Boolean).foo})}},function(g,o,t){var e=t(334),s=t(221);g.exports=Object.keys||function(a){return e(a,s)}},function(g,o){g.exports={}},function(g,o,t){var e=t(592),s=t(78),a=Object.prototype,l=a.hasOwnProperty,u=a.propertyIsEnumerable,h=e(function(){return arguments}())?e:function(_){return s(_)&&l.call(_,"callee")&&!u.call(_,"callee")};g.exports=h},function(g,o,t){(function(e){var s=t(69),a=t(594),l=o&&!o.nodeType&&o,u=l&&"object"==typeof e&&e&&!e.nodeType&&e,h=u&&u.exports===l?s.Buffer:void 0;e.exports=(h?h.isBuffer:void 0)||a}).call(this,t(183)(g))},function(g,o,t){var e=t(367),s=t(598),a=t(117);g.exports=function(l){return a(l)?e(l,!0):s(l)}},function(g,o,t){var e=t(75),s=t(211),a=t(130),l=t(38)("iterator");g.exports=function(u){if(null!=u)return s(u,l)||s(u,"@@iterator")||a[e(u)]}},function(g,o,t){var e=t(690),s=t(227),a=t(691),l=t(692),u=t(693),h=t(116),_=t(356),m="[object Map]",b="[object Promise]",C="[object Set]",D="[object WeakMap]",x="[object DataView]",j=_(e),H=_(s),z=_(a),U=_(l),M=_(u),I=h;(e&&I(new e(new ArrayBuffer(1)))!=x||s&&I(new s)!=m||a&&I(a.resolve())!=b||l&&I(new l)!=C||u&&I(new u)!=D)&&(I=function(J){var Y=h(J),ie="[object Object]"==Y?J.constructor:void 0,oe=ie?_(ie):"";if(oe)switch(oe){case j:return x;case H:return m;case z:return b;case U:return C;case M:return D}return Y}),g.exports=I},function(g,o,t){var e=t(52),s=t(243),a=t(696),l=t(102);g.exports=function(u,h){return e(u)?u:s(u,h)?[u]:a(l(u))}},function(g,o,t){(function(e){function s(a){return Object.prototype.toString.call(a)}o.isArray=function(a){return Array.isArray?Array.isArray(a):"[object Array]"===s(a)},o.isBoolean=function(a){return"boolean"==typeof a},o.isNull=function(a){return null===a},o.isNullOrUndefined=function(a){return null==a},o.isNumber=function(a){return"number"==typeof a},o.isString=function(a){return"string"==typeof a},o.isSymbol=function(a){return"symbol"==typeof a},o.isUndefined=function(a){return void 0===a},o.isRegExp=function(a){return"[object RegExp]"===s(a)},o.isObject=function(a){return"object"==typeof a&&null!==a},o.isDate=function(a){return"[object Date]"===s(a)},o.isError=function(a){return"[object Error]"===s(a)||a instanceof Error},o.isFunction=function(a){return"function"==typeof a},o.isPrimitive=function(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||void 0===a},o.isBuffer=e.isBuffer}).call(this,t(132).Buffer)},function(g,o,t){var e=t(99);g.exports=function(s,a,l){for(var u in a)l&&l.unsafe&&s[u]?s[u]=a[u]:e(s,u,a[u],l);return s}},function(g,o,t){"use strict";var e=t(73),s=function(a){var l,u;this.promise=new a(function(h,_){if(void 0!==l||void 0!==u)throw TypeError("Bad Promise constructor");l=h,u=_}),this.resolve=e(l),this.reject=e(u)};g.exports.f=function(a){return new s(a)}},function(g,o,t){"use strict";t.r(o);var e=t(0),s=t.n(e);t(11),o.default=function(a){var l=a.name;return s.a.createElement("div",{className:"fallback"},"\u{1f631} ",s.a.createElement("i",null,"Could not render ","t"===l?"this component":l,", see the console."))}},function(g,o,t){"use strict";t.r(o),t.d(o,"requestSnippetGenerator_curl_powershell",function(){return ue}),t.d(o,"requestSnippetGenerator_curl_bash",function(){return He}),t.d(o,"requestSnippetGenerator_curl_cmd",function(){return $e});var e=t(14),s=t.n(e),a=t(13),l=t.n(a),u=t(49),h=t.n(u),_=t(18),m=t.n(_),b=t(105),C=t.n(b),D=t(2),x=t.n(D),j=t(32),H=t.n(j),z=t(4),U=t.n(z),M=t(460),I=t.n(M),J=t(80),Y=t.n(J),ie=t(31),oe=t.n(ie),fe=t(26),ne=t(1),he=function(F){var je;return m()(F).call(F,"_**[]")<0?F:C()(je=F.split("_**[]")[0]).call(je)},ce=function(F){return"-d "===F||/^[_\/-]/g.test(F)?F:"'"+F.replace(/'/g,"'\\''")+"'"},Ae=function(F){return"-d "===(F=F.replace(/\^/g,"^^").replace(/\\"/g,'\\\\"').replace(/"/g,'""').replace(/\n/g,"^\n"))?F.replace(/-d /g,"-d ^\n"):/^[_\/-]/g.test(F)?F:'"'+F+'"'},Me=function(F){return"-d "===F?F:/\n/.test(F)?'@"\n'+F.replace(/"/g,'\\"').replace(/`/g,"``").replace(/\$/,"`$")+'\n"@':/^[_\/-]/g.test(F)?F:"'"+F.replace(/"/g,'""').replace(/'/g,"''")+"'"};function Oe(F){var je,Et=[],lt=h()(F.get("body").entrySeq());try{for(lt.s();!(je=lt.n()).done;){var nn,St,At,Qe=l()(je.value,2),ae=Qe[1],Ie=he(Qe[0]);Et.push(ae instanceof fe.a.File?x()(nn=x()(St=' "'.concat(Ie,'": {\n "name": "')).call(St,ae.name,'"')).call(nn,ae.type?',\n "type": "'.concat(ae.type,'"'):"","\n }"):x()(At=' "'.concat(Ie,'": ')).call(At,H()(ae,null,2).replace(/(\r\n|\r|\n)/g,"\n ")))}}catch(dt){lt.e(dt)}finally{lt.f()}return"{\n".concat(Et.join(",\n"),"\n}")}var be=function(F,je,Et){var lt,nn=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",St=!1,At="",Qe=function(){for(var En=arguments.length,Fn=new Array(En),Dn=0;Dn<En;Dn++)Fn[Dn]=arguments[Dn];return At+=" "+U()(Fn).call(Fn,je).join(" ")},It=function(){for(var En=arguments.length,Fn=new Array(En),Dn=0;Dn<En;Dn++)Fn[Dn]=arguments[Dn];return At+=U()(Fn).call(Fn,je).join(" ")},ae=function(){return At+=" ".concat(Et)},Ie=function(){var En,Fn=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return At+=I()(En=" ").call(En,Fn)},dt=F.get("headers");if(At+="curl"+nn,F.has("curlOptions")&&Qe.apply(void 0,s()(F.get("curlOptions"))),Qe("-X",F.get("method")),ae(),Ie(),It("".concat(F.get("url"))),dt&&dt.size){var Jt,zt,ln=h()(Y()(Jt=F.get("headers")).call(Jt));try{for(ln.s();!(zt=ln.n()).done;){var ar,Ln=zt.value;ae(),Ie();var Rn=l()(Ln,2),er=Rn[0],Mn=Rn[1];It("-H",x()(ar="".concat(er,": ")).call(ar,Mn)),St=St||/^content-type$/i.test(er)&&/^multipart\/form-data$/i.test(Mn)}}catch(En){ln.e(En)}finally{ln.f()}}if(F.get("body"))if(St&&oe()(lt=["POST","PUT","PATCH"]).call(lt,F.get("method"))){var Ht,tr=h()(F.get("body").entrySeq());try{for(tr.s();!(Ht=tr.n()).done;){var Yn,Cn,Kt,dn=l()(Ht.value,2),Kn=dn[0],qn=dn[1],Sn=he(Kn);ae(),Ie(),It("-F"),Qe(qn instanceof fe.a.File?x()(Yn=x()(Cn="".concat(Sn,"=@")).call(Cn,qn.name)).call(Yn,qn.type?";type=".concat(qn.type):""):x()(Kt="".concat(Sn,"=")).call(Kt,qn))}}catch(En){tr.e(En)}finally{tr.f()}}else{ae(),Ie(),It("-d ");var $n=F.get("body");ne.Map.isMap($n)?It(Oe(F)):("string"!=typeof $n&&($n=H()($n)),It($n))}else F.get("body")||"POST"!==F.get("method")||(ae(),Ie(),It("-d ''"));return At},ue=function(F){return be(F,Me,"`\n",".exe")},He=function(F){return be(F,ce,"\\\n")},$e=function(F){return be(F,Ae,"^\n")}},function(g,o,t){"use strict";t.r(o),t.d(o,"parseYamlConfig",function(){return s});var e=t(70),s=function(a,l){try{return e.a.load(a)}catch(u){return l&&l.errActions.newThrownErr(new Error(u)),{}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"getDefaultRequestBodyValue",function(){return I});var e=t(13),s=t.n(e),a=t(4),l=t.n(a),u=t(18),h=t.n(u),_=t(31),m=t.n(_),b=t(2),C=t.n(b),D=t(24),x=t.n(D),j=t(0),H=t.n(j),z=(t(11),t(28),t(1)),U=t(5),M=t(107),I=function(J,Y,ie){var oe=J.getIn(["content",Y]),fe=oe.get("schema").toJS(),ne=void 0!==oe.get("examples"),he=oe.get("example"),ce=ne?oe.getIn(["examples",ie,"value"]):he,Ae=Object(U.o)(fe,Y,{includeWriteOnly:!0},ce);return Object(U.I)(Ae)};o.default=function(J){var Y=J.userHasEditedBody,ie=J.requestBody,oe=J.requestBodyValue,fe=J.requestBodyInclusionSetting,ne=J.requestBodyErrors,he=J.getComponent,ce=J.getConfigs,Ae=J.specSelectors,Me=J.fn,Oe=J.contentType,be=J.isExecute,ue=J.specPath,He=J.onChange,$e=J.onChangeIncludeEmpty,F=J.activeExamplesKey,je=J.updateActiveExamplesKey,Et=J.setRetainRequestBodyValueFlag,lt=function(Sn){var $n={key:Sn,shouldDispatchInit:!1,defaultValue:!0};return"no value"===fe.get(Sn,"no value")&&($n.shouldDispatchInit=!0),$n},nn=he("Markdown",!0),St=he("modelExample"),At=he("RequestBodyEditor"),Qe=he("highlightCode"),It=he("ExamplesSelectValueRetainer"),ae=he("Example"),Ie=he("ParameterIncludeEmpty"),dt=ce().showCommonExtensions,Jt=ie&&ie.get("description")||null,zt=ie&&ie.get("content")||new z.OrderedMap;Oe=Oe||zt.keySeq().first()||"";var ln=zt.get(Oe,Object(z.OrderedMap)()),ar=ln.get("schema",Object(z.OrderedMap)()),Ln=ln.get("examples",null),Rn=null==Ln?void 0:l()(Ln).call(Ln,function(Sn,$n){var En,Fn=null===(En=Sn)||void 0===En?void 0:En.get("value",null);return Fn&&(Sn=Sn.set("value",I(ie,Oe,$n),Fn)),Sn});if(ne=z.List.isList(ne)?ne:Object(z.List)(),!ln.size)return null;var er="object"===ln.getIn(["schema","type"]),Mn="binary"===ln.getIn(["schema","format"]),Ht="base64"===ln.getIn(["schema","format"]);if("application/octet-stream"===Oe||0===h()(Oe).call(Oe,"image/")||0===h()(Oe).call(Oe,"audio/")||0===h()(Oe).call(Oe,"video/")||Mn||Ht){var tr=he("Input");return be?H.a.createElement(tr,{type:"file",onChange:function(Sn){He(Sn.target.files[0])}}):H.a.createElement("i",null,"Example values are not available for ",H.a.createElement("code",null,Oe)," media types.")}if(er&&("application/x-www-form-urlencoded"===Oe||0===h()(Oe).call(Oe,"multipart/"))&&ar.get("properties",Object(z.OrderedMap)()).size>0){var Yn,Cn=he("JsonSchemaForm"),Kt=he("ParameterExt"),dn=ar.get("properties",Object(z.OrderedMap)());return oe=z.Map.isMap(oe)?oe:Object(z.OrderedMap)(),H.a.createElement("div",{className:"table-container"},Jt&&H.a.createElement(nn,{source:Jt}),H.a.createElement("table",null,H.a.createElement("tbody",null,z.Map.isMap(dn)&&l()(Yn=dn.entrySeq()).call(Yn,function(Sn){var $n,En,Fn=s()(Sn,2),Dn=Fn[0],mn=Fn[1];if(!mn.get("readOnly")){var jn=dt?Object(U.l)(mn):null,Xt=m()($n=ar.get("required",Object(z.List)())).call($n,Dn),ut=mn.get("type"),mt=mn.get("format"),Tt=mn.get("description"),yn=oe.getIn([Dn,"value"]),et=oe.getIn([Dn,"errors"])||ne,jt=fe.get(Dn)||!1,hn=mn.has("default")||mn.has("example")||mn.hasIn(["items","example"])||mn.hasIn(["items","default"]),Qn=mn.has("enum")&&(1===mn.get("enum").size||Xt),Ir=hn||Qn,ht="";"array"!==ut||Ir||(ht=[]),("object"===ut||Ir)&&(ht=Object(U.o)(mn,!1,{includeWriteOnly:!0})),"string"!=typeof ht&&"object"===ut&&(ht=Object(U.I)(ht)),"string"==typeof ht&&"array"===ut&&(ht=JSON.parse(ht));var L="string"===ut&&("binary"===mt||"base64"===mt);return H.a.createElement("tr",{key:Dn,className:"parameters","data-property-name":Dn},H.a.createElement("td",{className:"parameters-col_name"},H.a.createElement("div",{className:Xt?"parameter__name required":"parameter__name"},Dn,Xt?H.a.createElement("span",null,"\xa0*"):null),H.a.createElement("div",{className:"parameter__type"},ut,mt&&H.a.createElement("span",{className:"prop-format"},"($",mt,")"),dt&&jn.size?l()(En=jn.entrySeq()).call(En,function(Ue){var nt,at=s()(Ue,2),it=at[0],Pt=at[1];return H.a.createElement(Kt,{key:C()(nt="".concat(it,"-")).call(nt,Pt),xKey:it,xVal:Pt})}):null),H.a.createElement("div",{className:"parameter__deprecated"},mn.get("deprecated")?"deprecated":null)),H.a.createElement("td",{className:"parameters-col_description"},H.a.createElement(nn,{source:Tt}),be?H.a.createElement("div",null,H.a.createElement(Cn,{fn:Me,dispatchInitialValue:!L,schema:mn,description:Dn,getComponent:he,value:void 0===yn?ht:yn,required:Xt,errors:et,onChange:function(Ue){He(Ue,[Dn])}}),Xt?null:H.a.createElement(Ie,{onChange:function(Ue){return $e(Dn,Ue)},isIncluded:jt,isIncludedOptions:lt(Dn),isDisabled:x()(yn)?0!==yn.length:!Object(U.q)(yn)})):null))}}))))}var Kn=I(ie,Oe,F),qn=null;return Object(M.a)(Kn)&&(qn="json"),H.a.createElement("div",null,Jt&&H.a.createElement(nn,{source:Jt}),Rn?H.a.createElement(It,{userHasEditedBody:Y,examples:Rn,currentKey:F,currentUserInputValue:oe,onSelect:function(Sn){je(Sn)},updateValue:He,defaultToFirstExample:!0,getComponent:he,setRetainRequestBodyValueFlag:Et}):null,be?H.a.createElement("div",null,H.a.createElement(At,{value:oe,errors:ne,defaultValue:Kn,onChange:He,getComponent:he})):H.a.createElement(St,{getComponent:he,getConfigs:ce,specSelectors:Ae,expandDepth:1,isExecute:be,schema:ln.get("schema"),specPath:ue.push("content",Oe),example:H.a.createElement(Qe,{className:"body-param__example",getConfigs:ce,language:qn,value:Object(U.I)(oe)||Kn}),includeWriteOnly:!0}),Rn?H.a.createElement(ae,{example:Rn.get(F),getComponent:he,getConfigs:ce}):null)}},function(g,o,t){"use strict";t.r(o),t.d(o,"setHash",function(){return e});var e=function(s){return s?history.pushState(null,null,"#".concat(s)):window.location.hash=""}},function(g,o,t){"use strict";t.r(o),t.d(o,"makeMappedContainer",function(){return Sn}),t.d(o,"render",function(){return $n}),t.d(o,"getComponent",function(){return Fn});var e=t(19),s=t.n(e),a=t(29),l=t.n(a),u=t(6),h=t.n(u),_=t(7),m=t.n(_),b=t(8),C=t.n(b),D=t(9),x=t.n(D),j=t(21),H=t.n(j),z=t(15),U=t.n(z),M=t(0),I=t.n(M),J=t(195),Y=t.n(J),ie=(t(11),I.a.createContext(null)),oe=function(Dn){Dn()},fe={notify:function(){}},he=function(){function Dn(jn,Xt){this.store=jn,this.parentSub=Xt,this.unsubscribe=null,this.listeners=fe,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var mn=Dn.prototype;return mn.addNestedSub=function(jn){return this.trySubscribe(),this.listeners.subscribe(jn)},mn.notifyNestedSubs=function(){this.listeners.notify()},mn.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},mn.isSubscribed=function(){return Boolean(this.unsubscribe)},mn.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=function(){var Dn=oe,mn=null,jn=null;return{clear:function(){mn=null,jn=null},notify:function(){Dn(function(){for(var Xt=mn;Xt;)Xt.callback(),Xt=Xt.next})},get:function(){for(var Xt=[],ut=mn;ut;)Xt.push(ut),ut=ut.next;return Xt},subscribe:function(Xt){var ut=!0,mt=jn={callback:Xt,next:null,prev:jn};return mt.prev?mt.prev.next=mt:mn=mt,function(){ut&&null!==mn&&(ut=!1,mt.next?mt.next.prev=mt.prev:jn=mt.prev,mt.prev?mt.prev.next=mt.next:mn=mt.next)}}}}())},mn.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=fe)},Dn}(),ce="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?M.useLayoutEffect:M.useEffect,Ae=function(Dn){var mn=Dn.store,jn=Dn.context,Xt=Dn.children,ut=Object(M.useMemo)(function(){var yn=new he(mn);return yn.onStateChange=yn.notifyNestedSubs,{store:mn,subscription:yn}},[mn]),mt=Object(M.useMemo)(function(){return mn.getState()},[mn]);return ce(function(){var yn=ut.subscription;return yn.trySubscribe(),mt!==mn.getState()&&yn.notifyNestedSubs(),function(){yn.tryUnsubscribe(),yn.onStateChange=null}},[ut,mt]),I.a.createElement((jn||ie).Provider,{value:ut},Xt)};function Me(){return(Me=Object.assign||function(Dn){for(var mn=1;mn<arguments.length;mn++){var jn=arguments[mn];for(var Xt in jn)Object.prototype.hasOwnProperty.call(jn,Xt)&&(Dn[Xt]=jn[Xt])}return Dn}).apply(this,arguments)}function Oe(Dn,mn){if(null==Dn)return{};var jn,Xt,ut={},mt=Object.keys(Dn);for(Xt=0;Xt<mt.length;Xt++)mn.indexOf(jn=mt[Xt])>=0||(ut[jn]=Dn[jn]);return ut}var be=t(322),ue=t.n(be),He=t(269),$e=[],F=[null,null];function je(Dn,mn){return[mn.payload,Dn[1]+1]}function Et(Dn,mn,jn){ce(function(){return Dn.apply(void 0,mn)},jn)}function lt(Dn,mn,jn,Xt,ut,mt,Tt){Dn.current=Xt,mn.current=ut,jn.current=!1,mt.current&&(mt.current=null,Tt())}function nn(Dn,mn,jn,Xt,ut,mt,Tt,yn,et,jt){if(Dn){var hn=!1,Qn=null,Ir=function(){if(!hn){var ht,L,Ue=mn.getState();try{ht=Xt(Ue,ut.current)}catch(nt){L=nt,Qn=nt}L||(Qn=null),ht===mt.current?Tt.current||et():(mt.current=ht,yn.current=ht,Tt.current=!0,jt({type:"STORE_UPDATED",payload:{error:L}}))}};return jn.onStateChange=Ir,jn.trySubscribe(),Ir(),function(){if(hn=!0,jn.tryUnsubscribe(),jn.onStateChange=null,Qn)throw Qn}}}var St=function(){return[null,0]};function Qe(Dn,mn){return Dn===mn?0!==Dn||0!==mn||1/Dn==1/mn:Dn!=Dn&&mn!=mn}function It(Dn,mn){if(Qe(Dn,mn))return!0;if("object"!=typeof Dn||null===Dn||"object"!=typeof mn||null===mn)return!1;var jn=Object.keys(Dn),Xt=Object.keys(mn);if(jn.length!==Xt.length)return!1;for(var ut=0;ut<jn.length;ut++)if(!Object.prototype.hasOwnProperty.call(mn,jn[ut])||!Qe(Dn[jn[ut]],mn[jn[ut]]))return!1;return!0}function ae(Dn){return function(mn,jn){var Xt=Dn(mn,jn);function ut(){return Xt}return ut.dependsOnOwnProps=!1,ut}}function Ie(Dn){return null!=Dn.dependsOnOwnProps?Boolean(Dn.dependsOnOwnProps):1!==Dn.length}function dt(Dn,mn){return function(jn,Xt){var ut=function(mt,Tt){return ut.dependsOnOwnProps?ut.mapToProps(mt,Tt):ut.mapToProps(mt)};return ut.dependsOnOwnProps=!0,ut.mapToProps=function(mt,Tt){ut.mapToProps=Dn,ut.dependsOnOwnProps=Ie(Dn);var yn=ut(mt,Tt);return"function"==typeof yn&&(ut.mapToProps=yn,ut.dependsOnOwnProps=Ie(yn),yn=ut(mt,Tt)),yn},ut}}var Jt=[function(Dn){return"function"==typeof Dn?dt(Dn):void 0},function(Dn){return Dn?void 0:ae(function(mn){return{dispatch:mn}})},function(Dn){return Dn&&"object"==typeof Dn?ae(function(mn){return function(jn,Xt){var ut={},mt=function(yn){var et=jn[yn];"function"==typeof et&&(ut[yn]=function(){return Xt(et.apply(void 0,arguments))})};for(var Tt in jn)mt(Tt);return ut}(Dn,mn)}):void 0}];function ln(Dn,mn,jn){return Me({},jn,Dn,mn)}var ar=[function(Dn){return"function"==typeof Dn?(mn=Dn,function(jn,Xt){var ut,mt=Xt.pure,Tt=Xt.areMergedPropsEqual,yn=!1;return function(et,jt,hn){var Qn=mn(et,jt,hn);return yn?mt&&Tt(Qn,ut)||(ut=Qn):(yn=!0,ut=Qn),ut}}):void 0;var mn},function(Dn){return Dn?void 0:function(){return ln}}];function Ln(Dn,mn,jn,Xt){return function(ut,mt){return jn(Dn(ut,mt),mn(Xt,mt),mt)}}function Rn(Dn,mn,jn,Xt,ut){var mt,Tt,yn,et,jt,hn=ut.areStatesEqual,Qn=ut.areOwnPropsEqual,Ir=ut.areStatePropsEqual,ht=!1;return function(Ue,nt){return ht?function(Ue,nt){var at,it,Pt=!Qn(nt,Tt),Ut=!hn(Ue,mt);return mt=Ue,Tt=nt,Pt&&Ut?(yn=Dn(mt,Tt),mn.dependsOnOwnProps&&(et=mn(Xt,Tt)),jt=jn(yn,et,Tt)):Pt?(Dn.dependsOnOwnProps&&(yn=Dn(mt,Tt)),mn.dependsOnOwnProps&&(et=mn(Xt,Tt)),jt=jn(yn,et,Tt)):(Ut&&(at=Dn(mt,Tt),it=!Ir(at,yn),yn=at,it&&(jt=jn(yn,et,Tt))),jt)}(Ue,nt):(yn=Dn(mt=Ue,Tt=nt),et=mn(Xt,Tt),jt=jn(yn,et,Tt),ht=!0,jt)}}function Mn(Dn,mn,jn){for(var Xt=mn.length-1;Xt>=0;Xt--){var ut=mn[Xt](Dn);if(ut)return ut}return function(mt,Tt){throw new Error("Invalid value of type "+typeof Dn+" for "+jn+" argument when connecting component "+Tt.wrappedComponentName+".")}}function Ht(Dn,mn){return Dn===mn}var mn,jn,Xt,ut,mt,Tt,yn,et,jt,hn,Qn,Yn=(Xt=void 0===(jn=(mn={}).connectHOC)?function(Dn,mn){void 0===mn&&(mn={});var Xt=mn.getDisplayName,ut=void 0===Xt?function(Pt){return"ConnectAdvanced("+Pt+")"}:Xt,mt=mn.methodName,Tt=void 0===mt?"connectAdvanced":mt,yn=mn.renderCountProp,et=void 0===yn?void 0:yn,jt=mn.shouldHandleStateChanges,hn=void 0===jt||jt,Qn=mn.storeKey,Ir=void 0===Qn?"store":Qn,ht=mn.forwardRef,L=void 0!==ht&&ht,Ue=mn.context,nt=void 0===Ue?ie:Ue,at=Oe(mn,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]),it=nt;return function(Pt){var Ut=Pt.displayName||Pt.name||"Component",ot=ut(Ut),Nn=Me({},at,{getDisplayName:ut,methodName:Tt,renderCountProp:et,shouldHandleStateChanges:hn,storeKey:Ir,displayName:ot,wrappedComponentName:Ut,WrappedComponent:Pt}),sn=at.pure,An=sn?M.useMemo:function(_r){return _r()};function Bn(_r){var Nr=Object(M.useMemo)(function(){var or=_r.reactReduxForwardedRef,Zn=Oe(_r,["reactReduxForwardedRef"]);return[_r.context,or,Zn]},[_r]),br=Nr[0],Jn=Nr[1],nr=Nr[2],Mr=Object(M.useMemo)(function(){return br&&br.Consumer&&Object(He.isContextConsumer)(I.a.createElement(br.Consumer,null))?br:it},[br,it]),yi=Object(M.useContext)(Mr),Ii=Boolean(_r.store)&&Boolean(_r.store.getState)&&Boolean(_r.store.dispatch);Boolean(yi)&&Boolean(yi.store);var Mi=Ii?_r.store:yi.store,Oi=Object(M.useMemo)(function(){return Dn(Mi.dispatch,Nn)},[Mi]),Kr=Object(M.useMemo)(function(){if(!hn)return F;var or=new he(Mi,Ii?null:yi.subscription),Zn=or.notifyNestedSubs.bind(or);return[or,Zn]},[Mi,Ii,yi]),ei=Kr[0],di=Kr[1],se=Object(M.useMemo)(function(){return Ii?yi:Me({},yi,{subscription:ei})},[Ii,yi,ei]),ct=Object(M.useReducer)(je,$e,St),Ke=ct[0][0],Xe=ct[1];if(Ke&&Ke.error)throw Ke.error;var Vt=Object(M.useRef)(),Ct=Object(M.useRef)(nr),rt=Object(M.useRef)(),bt=Object(M.useRef)(!1),We=An(function(){return rt.current&&nr===Ct.current?rt.current:Oi(Mi.getState(),nr)},[Mi,Ke,nr]);Et(lt,[Ct,Vt,bt,nr,We,rt,di]),Et(nn,[hn,Mi,ei,Oi,Ct,Vt,bt,rt,di,Xe],[Mi,ei,Oi]);var $t=Object(M.useMemo)(function(){return I.a.createElement(Pt,Me({},We,{ref:Jn}))},[Jn,Pt,We]);return Object(M.useMemo)(function(){return hn?I.a.createElement(Mr.Provider,{value:se},$t):$t},[Mr,$t,se])}var ir=sn?I.a.memo(Bn):Bn;if(ir.WrappedComponent=Pt,ir.displayName=Bn.displayName=ot,L){var mr=I.a.forwardRef(function(_r,Nr){return I.a.createElement(ir,Me({},_r,{reactReduxForwardedRef:Nr}))});return mr.displayName=ot,mr.WrappedComponent=Pt,ue()(mr,Pt)}return ue()(ir,Pt)}}:jn,mt=void 0===(ut=mn.mapStateToPropsFactories)?[function(Dn){return"function"==typeof Dn?dt(Dn):void 0},function(Dn){return Dn?void 0:ae(function(){return{}})}]:ut,yn=void 0===(Tt=mn.mapDispatchToPropsFactories)?Jt:Tt,jt=void 0===(et=mn.mergePropsFactories)?ar:et,Qn=void 0===(hn=mn.selectorFactory)?function(Dn,mn){var jn=mn.initMapStateToProps,Xt=mn.initMapDispatchToProps,ut=mn.initMergeProps,mt=Oe(mn,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),Tt=jn(Dn,mt),yn=Xt(Dn,mt),et=ut(Dn,mt);return(mt.pure?Rn:Ln)(Tt,yn,et,Dn,mt)}:hn,function(Ir,ht,L,Ue){void 0===Ue&&(Ue={});var at=Ue.pure,it=void 0===at||at,Pt=Ue.areStatesEqual,Ut=void 0===Pt?Ht:Pt,ot=Ue.areOwnPropsEqual,Nn=void 0===ot?It:ot,sn=Ue.areStatePropsEqual,An=void 0===sn?It:sn,Bn=Ue.areMergedPropsEqual,ir=void 0===Bn?It:Bn,mr=Oe(Ue,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),_r=Mn(Ir,mt,"mapStateToProps"),Nr=Mn(ht,yn,"mapDispatchToProps"),br=Mn(L,jt,"mergeProps");return Xt(Qn,Me({methodName:"connect",getDisplayName:function(Jn){return"Connect("+Jn+")"},shouldHandleStateChanges:Boolean(Ir),initMapStateToProps:_r,initMapDispatchToProps:Nr,initMergeProps:br,pure:it,areStatesEqual:Ut,areOwnPropsEqual:Nn,areStatePropsEqual:An,areMergedPropsEqual:ir},mr))});oe=J.unstable_batchedUpdates;var Kt=t(459),dn=t.n(Kt),Kn=function(Dn,mn,jn){var Xt=function(mt,Tt){return function(yn){C()(jt,yn);var et=x()(jt);function jt(){return h()(this,jt),et.apply(this,arguments)}return m()(jt,[{key:"render",value:function(){return I.a.createElement(Tt,l()({},mt(),this.props,this.context))}}]),jt}(M.Component)}(Dn,mn),ut=Yn(function(mt,Tt){var yn=H()({},Tt,Dn());return(mn.prototype.mapStateToProps||function(et){return{state:et}})(mt,yn)})(Xt);return jn?function(mt,Tt,yn){return function(et){C()(hn,et);var jt=x()(hn);function hn(){return h()(this,hn),jt.apply(this,arguments)}return m()(hn,[{key:"render",value:function(){var Qn=(0,mt().getComponent)("ErrorBoundary",!0);return I.a.createElement(Ae,{store:Tt},I.a.createElement(Qn,{targetName:null==yn?void 0:yn.name},I.a.createElement(yn,l()({},this.props,this.context))))}}]),hn}(M.Component)}(Dn,jn,ut):ut},qn=function(Dn,mn,jn,Xt){for(var ut in mn){var mt=mn[ut];"function"==typeof mt&&mt(jn[ut],Xt[ut],Dn())}},Sn=function(Dn,mn,jn,Xt,ut,mt){return function(Tt){C()(et,Tt);var yn=x()(et);function et(jt,hn){var Qn;return h()(this,et),Qn=yn.call(this,jt,hn),qn(Dn,mt,jt,{}),Qn}return m()(et,[{key:"UNSAFE_componentWillReceiveProps",value:function(jt){qn(Dn,mt,jt,this.props)}},{key:"render",value:function(){var jt=dn()(this.props,mt?U()(mt):[]),hn=jn(ut,"root");return I.a.createElement(hn,jt)}}]),et}(M.Component)},$n=function(Dn,mn,jn,Xt,ut){var mt=jn(Dn,mn,Xt,"App","root");Y.a.render(I.a.createElement(mt,null),ut)},En=function(Dn,mn){var jn=function(ut){return!(ut.prototype&&ut.prototype.isReactComponent)}(mn)?function(ut,mt){return function(Tt){C()(et,Tt);var yn=x()(et);function et(){return h()(this,et),yn.apply(this,arguments)}return m()(et,[{key:"render",value:function(){var jt=ut().getComponent,hn=jt("ErrorBoundary");return I.a.createElement(hn,{targetName:null==mt?void 0:mt.name,getComponent:jt},I.a.createElement(mt,this.props))}}]),et}(M.Component)}(Dn,mn):mn,Xt=jn.prototype.render;return jn.prototype.render=function(){try{for(var ut=arguments.length,mt=new Array(ut),Tt=0;Tt<ut;Tt++)mt[Tt]=arguments[Tt];return Xt.apply(this,mt)}catch(hn){var yn=Dn(),et=yn.getComponent,jt=et("Fallback");return console.error(hn),I.a.createElement(jt,{name:jn.name})}},jn},Fn=function(Dn,mn,jn,Xt,ut){var mt=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if("string"!=typeof Xt)throw new TypeError("Need a string, to fetch a component. Was given a "+s()(Xt));var Tt=jn(Xt);return Tt?ut?"root"===ut?Kn(Dn,Tt,mn()):Kn(Dn,En(Dn,Tt)):En(Dn,Tt):(mt.failSilently||Dn().log.warn("Could not find component:",Xt),null)}},function(g,o,t){g.exports=t(482)},function(g,o,t){"use strict";var e={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,a=s&&!e.call({1:2},1);o.f=a?function(l){var u=s(this,l);return!!u&&u.enumerable}:e},function(g,o,t){var e=t(17),s=t(27),a=t(33),l=t(112),u=e.Object,h=s("".split);g.exports=a(function(){return!u("z").propertyIsEnumerable(0)})?function(_){return"String"==l(_)?h(_,""):u(_)}:u},function(g,o,t){var e=t(485),s=t(209);g.exports=function(a){var l=e(a,"string");return s(l)?l:l+""}},function(g,o,t){var e=t(17).String;g.exports=function(s){try{return e(s)}catch(a){return"Object"}}},function(g,o,t){var e=t(27),s=0,a=Math.random(),l=e(1..toString);g.exports=function(u){return"Symbol("+(void 0===u?"":u)+")_"+l(++s+a,36)}},function(g,o,t){var e=t(27),s=t(33),a=t(41),l=t(75),u=t(58),h=t(217),_=function(){},m=[],b=u("Reflect","construct"),C=/^\s*(?:class|function)\b/,D=e(C.exec),x=!C.exec(_),j=function(H){if(!a(H))return!1;try{return b(_,m,H),!0}catch(z){return!1}};g.exports=!b||s(function(){var H;return j(j.call)||!j(Object)||!j(function(){H=!0})||H})?function(H){if(!a(H))return!1;switch(l(H)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return x||!!D(C,h(H))}:j},function(g,o,t){var e=t(212),s=t(171),a=e("keys");g.exports=function(l){return a[l]||(a[l]=s(l))}},function(g,o,t){var e=t(334),s=t(221).concat("length","prototype");o.f=Object.getOwnPropertyNames||function(a){return e(a,s)}},function(g,o,t){var e=t(17),s=t(44),a=t(41),l=t(62),u=t(173),h=t(342),_=u("IE_PROTO"),m=e.Object,b=m.prototype;g.exports=h?m.getPrototypeOf:function(C){var D=l(C);if(s(D,_))return D[_];var x=D.constructor;return a(x)&&D instanceof x?x.prototype:D instanceof m?b:null}},function(g,o,t){var e=t(27),s=t(51),a=t(506);g.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var l,u=!1,h={};try{(l=e(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(h,[]),u=h instanceof Array}catch(_){}return function(_,m){return s(_),a(m),u?l(_,m):_.__proto__=m,_}}():void 0)},function(g,o,t){var e=t(112),s=t(17);g.exports="process"==e(s.process)},function(g,o,t){var e=t(179),s=t(566),a=t(567),l=t(568),u=t(569),h=t(570);function _(m){var b=this.__data__=new e(m);this.size=b.size}_.prototype.clear=s,_.prototype.delete=a,_.prototype.get=l,_.prototype.has=u,_.prototype.set=h,g.exports=_},function(g,o,t){var e=t(561),s=t(562),a=t(563),l=t(564),u=t(565);function h(_){var m=-1,b=null==_?0:_.length;for(this.clear();++m<b;){var C=_[m];this.set(C[0],C[1])}}h.prototype.clear=e,h.prototype.delete=s,h.prototype.get=a,h.prototype.has=l,h.prototype.set=u,g.exports=h},function(g,o,t){var e=t(103);g.exports=function(s,a){for(var l=s.length;l--;)if(e(s[l][0],a))return l;return-1}},function(g,o,t){var e=t(115)(Object,"create");g.exports=e},function(g,o,t){var e=t(585);g.exports=function(s,a){var l=s.__data__;return e(a)?l["string"==typeof a?"string":"hash"]:l.map}},function(g,o){g.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(g,o){var t=Object.prototype;g.exports=function(e){var s=e&&e.constructor;return e===("function"==typeof s&&s.prototype||t)}},function(g,o,t){var e=t(595),s=t(233),a=t(234),l=a&&a.isTypedArray,u=l?s(l):e;g.exports=u},function(g,o){var t=/^(?:0|[1-9]\d*)$/;g.exports=function(e,s){var a=typeof e;return!!(s=null==s?9007199254740991:s)&&("number"==a||"symbol"!=a&&t.test(e))&&e>-1&&e%1==0&&e<s}},function(g,o,t){var e=t(615),s=t(373),a=t(371);g.exports=function(l,u){var h;if(l){if("string"==typeof l)return a(l,u);var _=e(h=Object.prototype.toString.call(l)).call(h,8,-1);return"Object"===_&&l.constructor&&(_=l.constructor.name),"Map"===_||"Set"===_?s(l):"Arguments"===_||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?a(l,u):void 0}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(116),s=t(78);g.exports=function(a){return"symbol"==typeof a||s(a)&&"[object Symbol]"==e(a)}},function(g,o,t){var e=t(677),s=t(695),a=t(236),l=t(52),u=t(701);g.exports=function(h){return"function"==typeof h?h:null==h?a:"object"==typeof h?l(h)?s(h[0],h[1]):e(h):u(h)}},function(g,o,t){"use strict";(function(e){g.exports=void 0===e||!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?{nextTick:function(s,a,l,u){if("function"!=typeof s)throw new TypeError('"callback" argument must be a function');var h,_,m=arguments.length;switch(m){case 0:case 1:return e.nextTick(s);case 2:return e.nextTick(function(){s.call(null,a)});case 3:return e.nextTick(function(){s.call(null,a,l)});case 4:return e.nextTick(function(){s.call(null,a,l,u)});default:for(h=new Array(m-1),_=0;_<h.length;)h[_++]=arguments[_];return e.nextTick(function(){s.apply(null,h)})}}}:e}).call(this,t(118))},function(g,o,t){"use strict";g.exports=t(731)("forEach")},function(g,o,t){"use strict";g.exports=t(754)()?globalThis:t(755)},function(g,o){g.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},function(g,o,t){var e=t(22),s=t(27),a=t(150),l=t(43),u=t(44),h=t(63).f,_=t(174),m=t(336),b=t(444),C=t(171),D=t(942),x=!1,j=C("meta"),H=0,z=function(M){h(M,j,{value:{objectID:"O"+H++,weakData:{}}})},U=g.exports={enable:function(){U.enable=function(){},x=!0;var M=_.f,I=s([].splice),J={};J[j]=1,M(J).length&&(_.f=function(Y){for(var ie=M(Y),oe=0,fe=ie.length;oe<fe;oe++)if(ie[oe]===j){I(ie,oe,1);break}return ie},e({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:m.f}))},fastKey:function(M,I){if(!l(M))return"symbol"==typeof M?M:("string"==typeof M?"S":"P")+M;if(!u(M,j)){if(!b(M))return"F";if(!I)return"E";z(M)}return M[j].objectID},getWeakData:function(M,I){if(!u(M,j)){if(!b(M))return!0;if(!I)return!1;z(M)}return M[j].weakData},onFreeze:function(M){return D&&x&&b(M)&&!u(M,j)&&z(M),M}};a[j]=!0},function(g,o,t){"use strict";(function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(s){console.error(s)}})(),g.exports=t(875)},function(g,o,t){g.exports=t(626)},function(g,o,t){g.exports=t(791)},function(g,o,t){g.exports=t(841)},function(g,o,t){g.exports=t(920)},function(g,o,t){g.exports=t(934)},function(g,o,t){(function(e){!function(){"use strict";g.exports=function(s){return(s instanceof e?s:e.from(s.toString(),"binary")).toString("base64")}}()}).call(this,t(132).Buffer)},function(g,o,t){g.exports=t(956)},function(g,o,t){"use strict";t.d(o,"a",function(){return he});var e=t(19),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(10),m=t.n(_),b=t(8),C=t.n(b),D=t(9),x=t.n(D),j=t(3),H=t.n(j),z=t(15),U=t.n(z),M=t(2),I=t.n(M),J=t(0),Y=t.n(J),ie=t(89),oe=t.n(ie),fe=(t(11),t(5)),ne=t(26),he=function(Ae){C()(Oe,Ae);var Me=x()(Oe);function Oe(be,ue){var He;l()(this,Oe),He=Me.call(this,be,ue),H()(m()(He),"getDefinitionUrl",function(){return new oe.a(He.props.specSelectors.url(),ne.a.location).toString()});var $e=(0,be.getConfigs)().validatorUrl;return He.state={url:He.getDefinitionUrl(),validatorUrl:void 0===$e?"https://validator.swagger.io/validator":$e},He}return h()(Oe,[{key:"UNSAFE_componentWillReceiveProps",value:function(be){var ue=(0,be.getConfigs)().validatorUrl;this.setState({url:this.getDefinitionUrl(),validatorUrl:void 0===ue?"https://validator.swagger.io/validator":ue})}},{key:"render",value:function(){var be,ue,He=(0,this.props.getConfigs)().spec,$e=Object(fe.F)(this.state.validatorUrl);return"object"===s()(He)&&U()(He).length?null:this.state.url&&Object(fe.E)(this.state.validatorUrl)&&Object(fe.E)(this.state.url)?Y.a.createElement("span",{className:"float-right"},Y.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:I()(be="".concat($e,"/debug?url=")).call(be,encodeURIComponent(this.state.url))},Y.a.createElement(ce,{src:I()(ue="".concat($e,"?url=")).call(ue,encodeURIComponent(this.state.url)),alt:"Online validator badge"}))):null}}]),Oe}(Y.a.Component),ce=function(Ae){C()(Oe,Ae);var Me=x()(Oe);function Oe(be){var ue;return l()(this,Oe),(ue=Me.call(this,be)).state={loaded:!1,error:!1},ue}return h()(Oe,[{key:"componentDidMount",value:function(){var be=this,ue=new Image;ue.onload=function(){be.setState({loaded:!0})},ue.onerror=function(){be.setState({error:!0})},ue.src=this.props.src}},{key:"UNSAFE_componentWillReceiveProps",value:function(be){var ue=this;if(be.src!==this.props.src){var He=new Image;He.onload=function(){ue.setState({loaded:!0})},He.onerror=function(){ue.setState({error:!0})},He.src=be.src}}},{key:"render",value:function(){return this.state.error?Y.a.createElement("img",{alt:"Error"}):this.state.loaded?Y.a.createElement("img",{src:this.props.src,alt:this.props.alt}):null}}]),Oe}(Y.a.Component)},function(g,o,t){"use strict";var e;function s(L){return(e=e||document.createElement("textarea")).innerHTML="&"+L+";",e.value}t.d(o,"a",function(){return ht});var a=Object.prototype.hasOwnProperty;function u(L){var Ue=[].slice.call(arguments,1);return Ue.forEach(function(nt){if(nt){if("object"!=typeof nt)throw new TypeError(nt+"must be object");Object.keys(nt).forEach(function(at){L[at]=nt[at]})}}),L}var h=/\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;function _(L){return L.indexOf("\\")<0?L:L.replace(h,"$1")}function m(L){return!(L>=55296&&L<=57343||L>=64976&&L<=65007||65535==(65535&L)||65534==(65535&L)||L>=0&&L<=8||11===L||L>=14&&L<=31||L>=127&&L<=159||L>1114111)}function b(L){if(L>65535){var Ue=55296+((L-=65536)>>10);return String.fromCharCode(Ue,56320+(1023&L))}return String.fromCharCode(L)}var C=/&([a-z#][a-z0-9]{1,31});/gi,D=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;function x(L,Ue){var nt=0,at=s(Ue);return Ue!==at?at:35===Ue.charCodeAt(0)&&D.test(Ue)&&m(nt="x"===Ue[1].toLowerCase()?parseInt(Ue.slice(2),16):parseInt(Ue.slice(1),10))?b(nt):L}function j(L){return L.indexOf("&")<0?L:L.replace(C,x)}var H=/[&<>"]/,z=/[&<>"]/g,U={"&":"&","<":"<",">":">",'"':"""};function M(L){return U[L]}function I(L){return H.test(L)?L.replace(z,M):L}var J={};function Y(L,Ue){return++Ue>=L.length-2?Ue:"paragraph_open"===L[Ue].type&&L[Ue].tight&&"inline"===L[Ue+1].type&&0===L[Ue+1].content.length&&"paragraph_close"===L[Ue+2].type&&L[Ue+2].tight?Y(L,Ue+2):Ue}J.blockquote_open=function(){return"<blockquote>\n"},J.blockquote_close=function(L,Ue){return"</blockquote>"+ie(L,Ue)},J.code=function(L,Ue){return L[Ue].block?"<pre><code>"+I(L[Ue].content)+"</code></pre>"+ie(L,Ue):"<code>"+I(L[Ue].content)+"</code>"},J.fence=function(L,Ue,nt,at,it){var Pt,Ut,ot=L[Ue],Nn="",sn=nt.langPrefix;if(ot.params){if(Ut=(Pt=ot.params.split(/\s+/g)).join(" "),function(L,Ue){return!!L&&a.call(L,Ue)}(it.rules.fence_custom,Pt[0]))return it.rules.fence_custom[Pt[0]](L,Ue,nt,at,it);Nn=' class="'+sn+I(j(_(Ut)))+'"'}return"<pre><code"+Nn+">"+(nt.highlight&&nt.highlight.apply(nt.highlight,[ot.content].concat(Pt))||I(ot.content))+"</code></pre>"+ie(L,Ue)},J.fence_custom={},J.heading_open=function(L,Ue){return"<h"+L[Ue].hLevel+">"},J.heading_close=function(L,Ue){return"</h"+L[Ue].hLevel+">\n"},J.hr=function(L,Ue,nt){return(nt.xhtmlOut?"<hr />":"<hr>")+ie(L,Ue)},J.bullet_list_open=function(){return"<ul>\n"},J.bullet_list_close=function(L,Ue){return"</ul>"+ie(L,Ue)},J.list_item_open=function(){return"<li>"},J.list_item_close=function(){return"</li>\n"},J.ordered_list_open=function(L,Ue){var nt=L[Ue];return"<ol"+(nt.order>1?' start="'+nt.order+'"':"")+">\n"},J.ordered_list_close=function(L,Ue){return"</ol>"+ie(L,Ue)},J.paragraph_open=function(L,Ue){return L[Ue].tight?"":"<p>"},J.paragraph_close=function(L,Ue){return(L[Ue].tight?"":"</p>")+(L[Ue].tight&&Ue&&"inline"===L[Ue-1].type&&!L[Ue-1].content?"":ie(L,Ue))},J.link_open=function(L,Ue,nt){var at=L[Ue].title?' title="'+I(j(L[Ue].title))+'"':"",it=nt.linkTarget?' target="'+nt.linkTarget+'"':"";return'<a href="'+I(L[Ue].href)+'"'+at+it+">"},J.link_close=function(){return"</a>"},J.image=function(L,Ue,nt){var at=' src="'+I(L[Ue].src)+'"',it=L[Ue].title?' title="'+I(j(L[Ue].title))+'"':"";return"<img"+at+' alt="'+(L[Ue].alt?I(j(_(L[Ue].alt))):"")+'"'+it+(nt.xhtmlOut?" /":"")+">"},J.table_open=function(){return"<table>\n"},J.table_close=function(){return"</table>\n"},J.thead_open=function(){return"<thead>\n"},J.thead_close=function(){return"</thead>\n"},J.tbody_open=function(){return"<tbody>\n"},J.tbody_close=function(){return"</tbody>\n"},J.tr_open=function(){return"<tr>"},J.tr_close=function(){return"</tr>\n"},J.th_open=function(L,Ue){var nt=L[Ue];return"<th"+(nt.align?' style="text-align:'+nt.align+'"':"")+">"},J.th_close=function(){return"</th>"},J.td_open=function(L,Ue){var nt=L[Ue];return"<td"+(nt.align?' style="text-align:'+nt.align+'"':"")+">"},J.td_close=function(){return"</td>"},J.strong_open=function(){return"<strong>"},J.strong_close=function(){return"</strong>"},J.em_open=function(){return"<em>"},J.em_close=function(){return"</em>"},J.del_open=function(){return"<del>"},J.del_close=function(){return"</del>"},J.ins_open=function(){return"<ins>"},J.ins_close=function(){return"</ins>"},J.mark_open=function(){return"<mark>"},J.mark_close=function(){return"</mark>"},J.sub=function(L,Ue){return"<sub>"+I(L[Ue].content)+"</sub>"},J.sup=function(L,Ue){return"<sup>"+I(L[Ue].content)+"</sup>"},J.hardbreak=function(L,Ue,nt){return nt.xhtmlOut?"<br />\n":"<br>\n"},J.softbreak=function(L,Ue,nt){return nt.breaks?nt.xhtmlOut?"<br />\n":"<br>\n":"\n"},J.text=function(L,Ue){return I(L[Ue].content)},J.htmlblock=function(L,Ue){return L[Ue].content},J.htmltag=function(L,Ue){return L[Ue].content},J.abbr_open=function(L,Ue){return'<abbr title="'+I(j(L[Ue].title))+'">'},J.abbr_close=function(){return"</abbr>"},J.footnote_ref=function(L,Ue){var nt=Number(L[Ue].id+1).toString(),at="fnref"+nt;return L[Ue].subId>0&&(at+=":"+L[Ue].subId),'<sup class="footnote-ref"><a href="#fn'+nt+'" id="'+at+'">['+nt+"]</a></sup>"},J.footnote_block_open=function(L,Ue,nt){return(nt.xhtmlOut?'<hr class="footnotes-sep" />\n':'<hr class="footnotes-sep">\n')+'<section class="footnotes">\n<ol class="footnotes-list">\n'},J.footnote_block_close=function(){return"</ol>\n</section>\n"},J.footnote_open=function(L,Ue){return'<li id="fn'+Number(L[Ue].id+1).toString()+'" class="footnote-item">'},J.footnote_close=function(){return"</li>\n"},J.footnote_anchor=function(L,Ue){var nt="fnref"+Number(L[Ue].id+1).toString();return L[Ue].subId>0&&(nt+=":"+L[Ue].subId),' <a href="#'+nt+'" class="footnote-backref">\u21a9</a>'},J.dl_open=function(){return"<dl>\n"},J.dt_open=function(){return"<dt>"},J.dd_open=function(){return"<dd>"},J.dl_close=function(){return"</dl>\n"},J.dt_close=function(){return"</dt>\n"},J.dd_close=function(){return"</dd>\n"};var ie=J.getBreak=function(L,Ue){return(Ue=Y(L,Ue))<L.length&&"list_item_close"===L[Ue].type?"":"\n"};function oe(){this.rules=u({},J),this.getBreak=J.getBreak}function fe(){this.__rules__=[],this.__cache__=null}function ne(L,Ue,nt,at,it){this.src=L,this.env=at,this.options=nt,this.parser=Ue,this.tokens=it,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent="",this.labelUnmatchedScopes=0}function he(L,Ue){var nt,at,it,Pt=-1,Ut=L.posMax,ot=L.pos,Nn=L.isInLabel;if(L.isInLabel)return-1;if(L.labelUnmatchedScopes)return L.labelUnmatchedScopes--,-1;for(L.pos=Ue+1,L.isInLabel=!0,nt=1;L.pos<Ut;){if(91===(it=L.src.charCodeAt(L.pos)))nt++;else if(93===it&&0==--nt){at=!0;break}L.parser.skipToken(L)}return at?(Pt=L.pos,L.labelUnmatchedScopes=0):L.labelUnmatchedScopes=nt-1,L.pos=ot,L.isInLabel=Nn,Pt}function ce(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn;if(42!==L.charCodeAt(0)||91!==L.charCodeAt(1)||-1===L.indexOf("]:")||(Pt=he(it=new ne(L,Ue,nt,at,[]),1))<0||58!==L.charCodeAt(Pt+1))return-1;for(ot=it.posMax,Ut=Pt+2;Ut<ot&&10!==it.src.charCodeAt(Ut);Ut++);return Nn=L.slice(2,Pt),0===(sn=L.slice(Pt+2,Ut).trim()).length?-1:(at.abbreviations||(at.abbreviations={}),void 0===at.abbreviations[":"+Nn]&&(at.abbreviations[":"+Nn]=sn),Ut)}function Ae(L){var Ue=j(L);try{Ue=decodeURI(Ue)}catch(nt){}return encodeURI(Ue)}function Me(L,Ue){var nt,at,it,Pt=Ue,Ut=L.posMax;if(60===L.src.charCodeAt(Ue)){for(Ue++;Ue<Ut;){if(10===(nt=L.src.charCodeAt(Ue)))return!1;if(62===nt)return it=Ae(_(L.src.slice(Pt+1,Ue))),!!L.parser.validateLink(it)&&(L.pos=Ue+1,L.linkContent=it,!0);92===nt&&Ue+1<Ut?Ue+=2:Ue++}return!1}for(at=0;Ue<Ut&&32!==(nt=L.src.charCodeAt(Ue))&&!(nt<32||127===nt);)if(92===nt&&Ue+1<Ut)Ue+=2;else{if(40===nt&&++at>1||41===nt&&--at<0)break;Ue++}return Pt!==Ue&&(it=_(L.src.slice(Pt,Ue)),!!L.parser.validateLink(it)&&(L.linkContent=it,L.pos=Ue,!0))}function Oe(L,Ue){var nt,at=Ue,it=L.posMax,Pt=L.src.charCodeAt(Ue);if(34!==Pt&&39!==Pt&&40!==Pt)return!1;for(Ue++,40===Pt&&(Pt=41);Ue<it;){if((nt=L.src.charCodeAt(Ue))===Pt)return L.pos=Ue+1,L.linkContent=_(L.src.slice(at+1,Ue)),!0;92===nt&&Ue+1<it?Ue+=2:Ue++}return!1}function be(L){return L.trim().replace(/\s+/g," ").toUpperCase()}function ue(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir;if(91!==L.charCodeAt(0)||-1===L.indexOf("]:")||(Pt=he(it=new ne(L,Ue,nt,at,[]),0))<0||58!==L.charCodeAt(Pt+1))return-1;for(ot=it.posMax,Ut=Pt+2;Ut<ot&&(32===(Nn=it.src.charCodeAt(Ut))||10===Nn);Ut++);if(!Me(it,Ut))return-1;for(An=it.linkContent,sn=Ut=it.pos,Ut+=1;Ut<ot&&(32===(Nn=it.src.charCodeAt(Ut))||10===Nn);Ut++);for(Ut<ot&&sn!==Ut&&Oe(it,Ut)?(Bn=it.linkContent,Ut=it.pos):(Bn="",Ut=sn);Ut<ot&&32===it.src.charCodeAt(Ut);)Ut++;return Ut<ot&&10!==it.src.charCodeAt(Ut)?-1:(ir=be(L.slice(1,Pt)),void 0===at.references[ir]&&(at.references[ir]={title:Bn,href:An}),Ut)}oe.prototype.renderInline=function(L,Ue,nt){for(var at=this.rules,it=L.length,Pt=0,Ut="";it--;)Ut+=at[L[Pt].type](L,Pt++,Ue,nt,this);return Ut},oe.prototype.render=function(L,Ue,nt){for(var at=this.rules,it=L.length,Pt=-1,Ut="";++Pt<it;)Ut+="inline"===L[Pt].type?this.renderInline(L[Pt].children,Ue,nt):at[L[Pt].type](L,Pt,Ue,nt,this);return Ut},fe.prototype.__find__=function(L){for(var Ue=this.__rules__.length,nt=-1;Ue--;)if(this.__rules__[++nt].name===L)return nt;return-1},fe.prototype.__compile__=function(){var L=this,Ue=[""];L.__rules__.forEach(function(nt){nt.enabled&&nt.alt.forEach(function(at){Ue.indexOf(at)<0&&Ue.push(at)})}),L.__cache__={},Ue.forEach(function(nt){L.__cache__[nt]=[],L.__rules__.forEach(function(at){at.enabled&&(nt&&at.alt.indexOf(nt)<0||L.__cache__[nt].push(at.fn))})})},fe.prototype.at=function(L,Ue,nt){var at=this.__find__(L),it=nt||{};if(-1===at)throw new Error("Parser rule not found: "+L);this.__rules__[at].fn=Ue,this.__rules__[at].alt=it.alt||[],this.__cache__=null},fe.prototype.before=function(L,Ue,nt,at){var it=this.__find__(L),Pt=at||{};if(-1===it)throw new Error("Parser rule not found: "+L);this.__rules__.splice(it,0,{name:Ue,enabled:!0,fn:nt,alt:Pt.alt||[]}),this.__cache__=null},fe.prototype.after=function(L,Ue,nt,at){var it=this.__find__(L),Pt=at||{};if(-1===it)throw new Error("Parser rule not found: "+L);this.__rules__.splice(it+1,0,{name:Ue,enabled:!0,fn:nt,alt:Pt.alt||[]}),this.__cache__=null},fe.prototype.push=function(L,Ue,nt){this.__rules__.push({name:L,enabled:!0,fn:Ue,alt:(nt||{}).alt||[]}),this.__cache__=null},fe.prototype.enable=function(L,Ue){L=Array.isArray(L)?L:[L],Ue&&this.__rules__.forEach(function(nt){nt.enabled=!1}),L.forEach(function(nt){var at=this.__find__(nt);if(at<0)throw new Error("Rules manager: invalid rule name "+nt);this.__rules__[at].enabled=!0},this),this.__cache__=null},fe.prototype.disable=function(L){(L=Array.isArray(L)?L:[L]).forEach(function(Ue){var nt=this.__find__(Ue);if(nt<0)throw new Error("Rules manager: invalid rule name "+Ue);this.__rules__[nt].enabled=!1},this),this.__cache__=null},fe.prototype.getRules=function(L){return null===this.__cache__&&this.__compile__(),this.__cache__[L]||[]},ne.prototype.pushPending=function(){this.tokens.push({type:"text",content:this.pending,level:this.pendingLevel}),this.pending=""},ne.prototype.push=function(L){this.pending&&this.pushPending(),this.tokens.push(L),this.pendingLevel=this.level},ne.prototype.cacheSet=function(L,Ue){for(var nt=this.cache.length;nt<=L;nt++)this.cache.push(0);this.cache[L]=Ue},ne.prototype.cacheGet=function(L){return L<this.cache.length?this.cache[L]:0};var He=" \n()[]'\".,!?-";function $e(L){return L.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1")}var F=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,je=/\((c|tm|r|p)\)/gi,Et={c:"\xa9",r:"\xae",p:"\xa7",tm:"\u2122"},lt=/['"]/,nn=/['"]/g,St=/[-\s()\[\]]/;function At(L,Ue){return!(Ue<0||Ue>=L.length||St.test(L[Ue]))}function Qe(L,Ue,nt){return L.substr(0,Ue)+nt+L.substr(Ue+1)}var It=[["block",function(L){L.inlineMode?L.tokens.push({type:"inline",content:L.src.replace(/\n/g," ").trim(),level:0,lines:[0,1],children:[]}):L.block.parse(L.src,L.options,L.env,L.tokens)}],["abbr",function(L){var Ue,nt,at,it,Pt=L.tokens;if(!L.inlineMode)for(Ue=1,nt=Pt.length-1;Ue<nt;Ue++)if("paragraph_open"===Pt[Ue-1].type&&"inline"===Pt[Ue].type&&"paragraph_close"===Pt[Ue+1].type){for(at=Pt[Ue].content;at.length&&!((it=ce(at,L.inline,L.options,L.env))<0);)at=at.slice(it).trim();Pt[Ue].content=at,at.length||(Pt[Ue-1].tight=!0,Pt[Ue+1].tight=!0)}}],["references",function(L){var Ue,nt,at,it,Pt=L.tokens;if(L.env.references=L.env.references||{},!L.inlineMode)for(Ue=1,nt=Pt.length-1;Ue<nt;Ue++)if("inline"===Pt[Ue].type&&"paragraph_open"===Pt[Ue-1].type&&"paragraph_close"===Pt[Ue+1].type){for(at=Pt[Ue].content;at.length&&!((it=ue(at,L.inline,L.options,L.env))<0);)at=at.slice(it).trim();Pt[Ue].content=at,at.length||(Pt[Ue-1].tight=!0,Pt[Ue+1].tight=!0)}}],["inline",function(L){var Ue,nt,at,it=L.tokens;for(nt=0,at=it.length;nt<at;nt++)"inline"===(Ue=it[nt]).type&&L.inline.parse(Ue.content,L.options,L.env,Ue.children)}],["footnote_tail",function(L){var Ue,nt,at,it,Pt,Ut,ot,Nn,sn,An=0,Bn=!1,ir={};if(L.env.footnotes&&(L.tokens=L.tokens.filter(function(mr){return"footnote_reference_open"===mr.type?(Bn=!0,Nn=[],sn=mr.label,!1):"footnote_reference_close"===mr.type?(Bn=!1,ir[":"+sn]=Nn,!1):(Bn&&Nn.push(mr),!Bn)}),L.env.footnotes.list)){for(Ut=L.env.footnotes.list,L.tokens.push({type:"footnote_block_open",level:An++}),Ue=0,nt=Ut.length;Ue<nt;Ue++){for(L.tokens.push({type:"footnote_open",id:Ue,level:An++}),Ut[Ue].tokens?((ot=[]).push({type:"paragraph_open",tight:!1,level:An++}),ot.push({type:"inline",content:"",level:An,children:Ut[Ue].tokens}),ot.push({type:"paragraph_close",tight:!1,level:--An})):Ut[Ue].label&&(ot=ir[":"+Ut[Ue].label]),L.tokens=L.tokens.concat(ot),Pt="paragraph_close"===L.tokens[L.tokens.length-1].type?L.tokens.pop():null,it=Ut[Ue].count>0?Ut[Ue].count:1,at=0;at<it;at++)L.tokens.push({type:"footnote_anchor",id:Ue,subId:at,level:An});Pt&&L.tokens.push(Pt),L.tokens.push({type:"footnote_close",level:--An})}L.tokens.push({type:"footnote_block_close",level:--An})}}],["abbr2",function(L){var Ue,nt,at,it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr=L.tokens;if(L.env.abbreviations)for(L.env.abbrRegExp||(ir="(^|["+He.split("").map($e).join("")+"])("+Object.keys(L.env.abbreviations).map(function(_r){return _r.substr(1)}).sort(function(_r,Nr){return Nr.length-_r.length}).map($e).join("|")+")($|["+He.split("").map($e).join("")+"])",L.env.abbrRegExp=new RegExp(ir,"g")),An=L.env.abbrRegExp,nt=0,at=mr.length;nt<at;nt++)if("inline"===mr[nt].type)for(Ue=(it=mr[nt].children).length-1;Ue>=0;Ue--)if("text"===(Pt=it[Ue]).type){for(Nn=0,Ut=Pt.content,An.lastIndex=0,sn=Pt.level,ot=[];Bn=An.exec(Ut);)An.lastIndex>Nn&&ot.push({type:"text",content:Ut.slice(Nn,Bn.index+Bn[1].length),level:sn}),ot.push({type:"abbr_open",title:L.env.abbreviations[":"+Bn[2]],level:sn++}),ot.push({type:"text",content:Bn[2],level:sn}),ot.push({type:"abbr_close",level:--sn}),Nn=An.lastIndex-Bn[3].length;ot.length&&(Nn<Ut.length&&ot.push({type:"text",content:Ut.slice(Nn),level:sn}),mr[nt].children=it=[].concat(it.slice(0,Ue),ot,it.slice(Ue+1)))}}],["replacements",function(L){var Ue,nt,at,it,Pt,Ut;if(L.options.typographer)for(Pt=L.tokens.length-1;Pt>=0;Pt--)if("inline"===L.tokens[Pt].type)for(Ue=(it=L.tokens[Pt].children).length-1;Ue>=0;Ue--)"text"===(nt=it[Ue]).type&&(at=(Ut=at=nt.content).indexOf("(")<0?Ut:Ut.replace(je,function(ot,Nn){return Et[Nn.toLowerCase()]}),F.test(at)&&(at=at.replace(/\+-/g,"\xb1").replace(/\.{2,}/g,"\u2026").replace(/([?!])\u2026/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---([^-]|$)/gm,"$1\u2014$2").replace(/(^|\s)--(\s|$)/gm,"$1\u2013$2").replace(/(^|[^-\s])--([^-\s]|$)/gm,"$1\u2013$2")),nt.content=at)}],["smartquotes",function(L){var Ue,nt,at,it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r,Nr,br,Jn;if(L.options.typographer)for(Jn=[],Nr=L.tokens.length-1;Nr>=0;Nr--)if("inline"===L.tokens[Nr].type)for(br=L.tokens[Nr].children,Jn.length=0,Ue=0;Ue<br.length;Ue++)if("text"===(nt=br[Ue]).type&&!lt.test(nt.text)){for(ot=br[Ue].level,mr=Jn.length-1;mr>=0&&!(Jn[mr].level<=ot);mr--);Jn.length=mr+1,Pt=0,Ut=(at=nt.content).length;e:for(;Pt<Ut&&(nn.lastIndex=Pt,it=nn.exec(at));)if(Nn=!At(at,it.index-1),Pt=it.index+1,_r="'"===it[0],(sn=!At(at,Pt))||Nn){if(Bn=!sn,ir=!Nn)for(mr=Jn.length-1;mr>=0&&(An=Jn[mr],!(Jn[mr].level<ot));mr--)if(An.single===_r&&Jn[mr].level===ot){An=Jn[mr],_r?(br[An.token].content=Qe(br[An.token].content,An.pos,L.options.quotes[2]),nt.content=Qe(nt.content,it.index,L.options.quotes[3])):(br[An.token].content=Qe(br[An.token].content,An.pos,L.options.quotes[0]),nt.content=Qe(nt.content,it.index,L.options.quotes[1])),Jn.length=mr;continue e}Bn?Jn.push({token:Ue,pos:it.index,single:_r,level:ot}):ir&&_r&&(nt.content=Qe(nt.content,it.index,"\u2019"))}else _r&&(nt.content=Qe(nt.content,it.index,"\u2019"))}}]];function ae(){this.options={},this.ruler=new fe;for(var L=0;L<It.length;L++)this.ruler.push(It[L][0],It[L][1])}function Ie(L,Ue,nt,at,it){var Pt,Ut,ot,Nn,sn,An,Bn;for(this.src=L,this.parser=Ue,this.options=nt,this.env=at,this.tokens=it,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType="root",this.ddIndent=-1,this.level=0,this.result="",An=0,Bn=!1,ot=Nn=An=0,sn=(Ut=this.src).length;Nn<sn;Nn++){if(Pt=Ut.charCodeAt(Nn),!Bn){if(32===Pt){An++;continue}Bn=!0}10!==Pt&&Nn!==sn-1||(10!==Pt&&Nn++,this.bMarks.push(ot),this.eMarks.push(Nn),this.tShift.push(An),Bn=!1,An=0,ot=Nn+1)}this.bMarks.push(Ut.length),this.eMarks.push(Ut.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}function dt(L,Ue){var nt,at,it;return(at=L.bMarks[Ue]+L.tShift[Ue])>=(it=L.eMarks[Ue])||42!==(nt=L.src.charCodeAt(at++))&&45!==nt&&43!==nt||at<it&&32!==L.src.charCodeAt(at)?-1:at}function Jt(L,Ue){var nt,at=L.bMarks[Ue]+L.tShift[Ue],it=L.eMarks[Ue];if(at+1>=it||(nt=L.src.charCodeAt(at++))<48||nt>57)return-1;for(;;){if(at>=it)return-1;if(!((nt=L.src.charCodeAt(at++))>=48&&nt<=57)){if(41===nt||46===nt)break;return-1}}return at<it&&32!==L.src.charCodeAt(at)?-1:at}ae.prototype.process=function(L){var Ue,nt,at;for(Ue=0,nt=(at=this.ruler.getRules("")).length;Ue<nt;Ue++)at[Ue](L)},Ie.prototype.isEmpty=function(L){return this.bMarks[L]+this.tShift[L]>=this.eMarks[L]},Ie.prototype.skipEmptyLines=function(L){for(var Ue=this.lineMax;L<Ue&&!(this.bMarks[L]+this.tShift[L]<this.eMarks[L]);L++);return L},Ie.prototype.skipSpaces=function(L){for(var Ue=this.src.length;L<Ue&&32===this.src.charCodeAt(L);L++);return L},Ie.prototype.skipChars=function(L,Ue){for(var nt=this.src.length;L<nt&&this.src.charCodeAt(L)===Ue;L++);return L},Ie.prototype.skipCharsBack=function(L,Ue,nt){if(L<=nt)return L;for(;L>nt;)if(Ue!==this.src.charCodeAt(--L))return L+1;return L},Ie.prototype.getLines=function(L,Ue,nt,at){var it,Pt,ot,Nn,sn=L;if(L>=Ue)return"";if(sn+1===Ue)return Pt=this.bMarks[sn]+Math.min(this.tShift[sn],nt),this.src.slice(Pt,at?this.eMarks[sn]+1:this.eMarks[sn]);for(ot=new Array(Ue-L),it=0;sn<Ue;sn++,it++)(Nn=this.tShift[sn])>nt&&(Nn=nt),Nn<0&&(Nn=0),ot[it]=this.src.slice(Pt=this.bMarks[sn]+Nn,sn+1<Ue||at?this.eMarks[sn]+1:this.eMarks[sn]);return ot.join("")};var zt={};["article","aside","button","blockquote","body","canvas","caption","col","colgroup","dd","div","dl","dt","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","iframe","li","map","object","ol","output","p","pre","progress","script","section","style","table","tbody","td","textarea","tfoot","th","tr","thead","ul","video"].forEach(function(L){zt[L]=!0});var ln=/^<([a-zA-Z]{1,15})[\s\/>]/,ar=/^<\/([a-zA-Z]{1,15})[\s>]/;function Ln(L,Ue){var nt=L.bMarks[Ue]+L.blkIndent;return L.src.substr(nt,L.eMarks[Ue]-nt)}function Rn(L,Ue){var nt,at,it=L.bMarks[Ue]+L.tShift[Ue],Pt=L.eMarks[Ue];return it>=Pt||126!==(at=L.src.charCodeAt(it++))&&58!==at||it===(nt=L.skipSpaces(it))||nt>=Pt?-1:nt}var er=[["code",function(L,Ue,nt){var at,it;if(L.tShift[Ue]-L.blkIndent<4)return!1;for(it=at=Ue+1;at<nt;)if(L.isEmpty(at))at++;else{if(!(L.tShift[at]-L.blkIndent>=4))break;it=++at}return L.line=at,L.tokens.push({type:"code",content:L.getLines(Ue,it,4+L.blkIndent,!0),block:!0,lines:[Ue,L.line],level:L.level}),!0}],["fences",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn=!1,An=L.bMarks[Ue]+L.tShift[Ue],Bn=L.eMarks[Ue];if(An+3>Bn||126!==(it=L.src.charCodeAt(An))&&96!==it||(Nn=An,(Pt=(An=L.skipChars(An,it))-Nn)<3)||(Ut=L.src.slice(An,Bn).trim()).indexOf("`")>=0)return!1;if(at)return!0;for(ot=Ue;!(++ot>=nt||(An=Nn=L.bMarks[ot]+L.tShift[ot])<(Bn=L.eMarks[ot])&&L.tShift[ot]<L.blkIndent);)if(L.src.charCodeAt(An)===it&&!(L.tShift[ot]-L.blkIndent>=4||(An=L.skipChars(An,it))-Nn<Pt||(An=L.skipSpaces(An))<Bn)){sn=!0;break}return Pt=L.tShift[Ue],L.line=ot+(sn?1:0),L.tokens.push({type:"fence",params:Ut,content:L.getLines(Ue+1,ot,Pt,!0),lines:[Ue,L.line],level:L.level}),!0},["paragraph","blockquote","list"]],["blockquote",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r,Nr=L.bMarks[Ue]+L.tShift[Ue],br=L.eMarks[Ue];if(Nr>br||62!==L.src.charCodeAt(Nr++)||L.level>=L.options.maxNesting)return!1;if(at)return!0;for(32===L.src.charCodeAt(Nr)&&Nr++,Nn=L.blkIndent,L.blkIndent=0,ot=[L.bMarks[Ue]],L.bMarks[Ue]=Nr,Pt=(Nr=Nr<br?L.skipSpaces(Nr):Nr)>=br,Ut=[L.tShift[Ue]],L.tShift[Ue]=Nr-L.bMarks[Ue],Bn=L.parser.ruler.getRules("blockquote"),it=Ue+1;it<nt&&!((Nr=L.bMarks[it]+L.tShift[it])>=(br=L.eMarks[it]));it++)if(62!==L.src.charCodeAt(Nr++)){if(Pt)break;for(_r=!1,ir=0,mr=Bn.length;ir<mr;ir++)if(Bn[ir](L,it,nt,!0)){_r=!0;break}if(_r)break;ot.push(L.bMarks[it]),Ut.push(L.tShift[it]),L.tShift[it]=-1337}else 32===L.src.charCodeAt(Nr)&&Nr++,ot.push(L.bMarks[it]),L.bMarks[it]=Nr,Pt=(Nr=Nr<br?L.skipSpaces(Nr):Nr)>=br,Ut.push(L.tShift[it]),L.tShift[it]=Nr-L.bMarks[it];for(sn=L.parentType,L.parentType="blockquote",L.tokens.push({type:"blockquote_open",lines:An=[Ue,0],level:L.level++}),L.parser.tokenize(L,Ue,it),L.tokens.push({type:"blockquote_close",level:--L.level}),L.parentType=sn,An[1]=L.line,ir=0;ir<Ut.length;ir++)L.bMarks[ir+Ue]=ot[ir],L.tShift[ir+Ue]=Ut[ir];return L.blkIndent=Nn,!0},["paragraph","blockquote","list"]],["hr",function(L,Ue,nt,at){var it,Pt,Ut,ot=L.bMarks[Ue],Nn=L.eMarks[Ue];if((ot+=L.tShift[Ue])>Nn||42!==(it=L.src.charCodeAt(ot++))&&45!==it&&95!==it)return!1;for(Pt=1;ot<Nn;){if((Ut=L.src.charCodeAt(ot++))!==it&&32!==Ut)return!1;Ut===it&&Pt++}return!(Pt<3||(at||(L.line=Ue+1,L.tokens.push({type:"hr",lines:[Ue,L.line],level:L.level})),0))},["paragraph","blockquote","list"]],["list",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r,Nr,br,Jn,nr,Mr,yi,Ii,Mi,Oi,Kr,ei=!0;if((Bn=Jt(L,Ue))>=0)Nr=!0;else{if(!((Bn=dt(L,Ue))>=0))return!1;Nr=!1}if(L.level>=L.options.maxNesting)return!1;if(_r=L.src.charCodeAt(Bn-1),at)return!0;for(Jn=L.tokens.length,Nr?(An=L.bMarks[Ue]+L.tShift[Ue],mr=Number(L.src.substr(An,Bn-An-1)),L.tokens.push({type:"ordered_list_open",order:mr,lines:Mr=[Ue,0],level:L.level++})):L.tokens.push({type:"bullet_list_open",lines:Mr=[Ue,0],level:L.level++}),it=Ue,nr=!1,Ii=L.parser.ruler.getRules("list");!(!(it<nt)||((ir=(br=L.skipSpaces(Bn))>=L.eMarks[it]?1:br-Bn)>4&&(ir=1),ir<1&&(ir=1),Pt=Bn-L.bMarks[it]+ir,L.tokens.push({type:"list_item_open",lines:yi=[Ue,0],level:L.level++}),ot=L.blkIndent,Nn=L.tight,Ut=L.tShift[Ue],sn=L.parentType,L.tShift[Ue]=br-L.bMarks[Ue],L.blkIndent=Pt,L.tight=!0,L.parentType="list",L.parser.tokenize(L,Ue,nt,!0),L.tight&&!nr||(ei=!1),nr=L.line-Ue>1&&L.isEmpty(L.line-1),L.blkIndent=ot,L.tShift[Ue]=Ut,L.tight=Nn,L.parentType=sn,L.tokens.push({type:"list_item_close",level:--L.level}),it=Ue=L.line,yi[1]=it,br=L.bMarks[Ue],it>=nt)||L.isEmpty(it)||L.tShift[it]<L.blkIndent);){for(Kr=!1,Mi=0,Oi=Ii.length;Mi<Oi;Mi++)if(Ii[Mi](L,it,nt,!0)){Kr=!0;break}if(Kr)break;if(Nr){if((Bn=Jt(L,it))<0)break}else if((Bn=dt(L,it))<0)break;if(_r!==L.src.charCodeAt(Bn-1))break}return L.tokens.push({type:Nr?"ordered_list_close":"bullet_list_close",level:--L.level}),Mr[1]=it,L.line=it,ei&&function(di,se){var ct,Ke,Xe=di.level+2;for(ct=se+2,Ke=di.tokens.length-2;ct<Ke;ct++)di.tokens[ct].level===Xe&&"paragraph_open"===di.tokens[ct].type&&(di.tokens[ct+2].tight=!0,di.tokens[ct].tight=!0,ct+=2)}(L,Jn),!0},["paragraph","blockquote"]],["footnote",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn=L.bMarks[Ue]+L.tShift[Ue],An=L.eMarks[Ue];if(sn+4>An||91!==L.src.charCodeAt(sn)||94!==L.src.charCodeAt(sn+1)||L.level>=L.options.maxNesting)return!1;for(ot=sn+2;ot<An;ot++){if(32===L.src.charCodeAt(ot))return!1;if(93===L.src.charCodeAt(ot))break}return ot!==sn+2&&!(ot+1>=An||58!==L.src.charCodeAt(++ot))&&(at||(ot++,L.env.footnotes||(L.env.footnotes={}),L.env.footnotes.refs||(L.env.footnotes.refs={}),Nn=L.src.slice(sn+2,ot-2),L.env.footnotes.refs[":"+Nn]=-1,L.tokens.push({type:"footnote_reference_open",label:Nn,level:L.level++}),it=L.bMarks[Ue],Pt=L.tShift[Ue],Ut=L.parentType,L.tShift[Ue]=L.skipSpaces(ot)-ot,L.bMarks[Ue]=ot,L.blkIndent+=4,L.parentType="footnote",L.tShift[Ue]<L.blkIndent&&(L.tShift[Ue]+=L.blkIndent,L.bMarks[Ue]-=L.blkIndent),L.parser.tokenize(L,Ue,nt,!0),L.parentType=Ut,L.blkIndent-=4,L.tShift[Ue]=Pt,L.bMarks[Ue]=it,L.tokens.push({type:"footnote_reference_close",level:--L.level})),!0)},["paragraph"]],["heading",function(L,Ue,nt,at){var it,Pt,Ut,ot=L.bMarks[Ue]+L.tShift[Ue],Nn=L.eMarks[Ue];if(ot>=Nn||35!==(it=L.src.charCodeAt(ot))||ot>=Nn)return!1;for(Pt=1,it=L.src.charCodeAt(++ot);35===it&&ot<Nn&&Pt<=6;)Pt++,it=L.src.charCodeAt(++ot);return!(Pt>6||ot<Nn&&32!==it||(at||(Nn=L.skipCharsBack(Nn,32,ot),(Ut=L.skipCharsBack(Nn,35,ot))>ot&&32===L.src.charCodeAt(Ut-1)&&(Nn=Ut),L.line=Ue+1,L.tokens.push({type:"heading_open",hLevel:Pt,lines:[Ue,L.line],level:L.level}),ot<Nn&&L.tokens.push({type:"inline",content:L.src.slice(ot,Nn).trim(),level:L.level+1,lines:[Ue,L.line],children:[]}),L.tokens.push({type:"heading_close",hLevel:Pt,level:L.level})),0))},["paragraph","blockquote"]],["lheading",function(L,Ue,nt){var at,it,Pt,Ut=Ue+1;return!(Ut>=nt||L.tShift[Ut]<L.blkIndent||L.tShift[Ut]-L.blkIndent>3||(it=L.bMarks[Ut]+L.tShift[Ut])>=(Pt=L.eMarks[Ut])||45!==(at=L.src.charCodeAt(it))&&61!==at||(it=L.skipChars(it,at),(it=L.skipSpaces(it))<Pt||(it=L.bMarks[Ue]+L.tShift[Ue],L.line=Ut+1,L.tokens.push({type:"heading_open",hLevel:61===at?1:2,lines:[Ue,L.line],level:L.level}),L.tokens.push({type:"inline",content:L.src.slice(it,L.eMarks[Ue]).trim(),level:L.level+1,lines:[Ue,L.line-1],children:[]}),L.tokens.push({type:"heading_close",hLevel:61===at?1:2,level:L.level}),0)))}],["htmlblock",function(L,Ue,nt,at){var it,Pt,Ut,Bn,ot=L.bMarks[Ue],Nn=L.eMarks[Ue],sn=L.tShift[Ue];if(ot+=sn,!L.options.html||sn>3||ot+2>=Nn||60!==L.src.charCodeAt(ot))return!1;if(33===(it=L.src.charCodeAt(ot+1))||63===it){if(at)return!0}else{if(47!==it&&!((Bn=32|it)>=97&&Bn<=122))return!1;if(47===it){if(!(Pt=L.src.slice(ot,Nn).match(ar)))return!1}else if(!(Pt=L.src.slice(ot,Nn).match(ln)))return!1;if(!0!==zt[Pt[1].toLowerCase()])return!1;if(at)return!0}for(Ut=Ue+1;Ut<L.lineMax&&!L.isEmpty(Ut);)Ut++;return L.line=Ut,L.tokens.push({type:"htmlblock",level:L.level,lines:[Ue,L.line],content:L.getLines(Ue,Ut,0,!0)}),!0},["paragraph","blockquote"]],["table",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r;if(Ue+2>nt||L.tShift[Nn=Ue+1]<L.blkIndent||(Ut=L.bMarks[Nn]+L.tShift[Nn])>=L.eMarks[Nn]||124!==(it=L.src.charCodeAt(Ut))&&45!==it&&58!==it||(Pt=Ln(L,Ue+1),!/^[-:| ]+$/.test(Pt))||(sn=Pt.split("|"))<=2)return!1;for(Bn=[],ot=0;ot<sn.length;ot++){if(!(ir=sn[ot].trim())){if(0===ot||ot===sn.length-1)continue;return!1}if(!/^:?-+:?$/.test(ir))return!1;58===ir.charCodeAt(ir.length-1)?Bn.push(58===ir.charCodeAt(0)?"center":"right"):58===ir.charCodeAt(0)?Bn.push("left"):Bn.push("")}if(-1===(Pt=Ln(L,Ue).trim()).indexOf("|")||(sn=Pt.replace(/^\||\|$/g,"").split("|"),Bn.length!==sn.length))return!1;if(at)return!0;for(L.tokens.push({type:"table_open",lines:mr=[Ue,0],level:L.level++}),L.tokens.push({type:"thead_open",lines:[Ue,Ue+1],level:L.level++}),L.tokens.push({type:"tr_open",lines:[Ue,Ue+1],level:L.level++}),ot=0;ot<sn.length;ot++)L.tokens.push({type:"th_open",align:Bn[ot],lines:[Ue,Ue+1],level:L.level++}),L.tokens.push({type:"inline",content:sn[ot].trim(),lines:[Ue,Ue+1],level:L.level,children:[]}),L.tokens.push({type:"th_close",level:--L.level});for(L.tokens.push({type:"tr_close",level:--L.level}),L.tokens.push({type:"thead_close",level:--L.level}),L.tokens.push({type:"tbody_open",lines:_r=[Ue+2,0],level:L.level++}),Nn=Ue+2;Nn<nt&&!(L.tShift[Nn]<L.blkIndent)&&-1!==(Pt=Ln(L,Nn).trim()).indexOf("|");Nn++){for(sn=Pt.replace(/^\||\|$/g,"").split("|"),L.tokens.push({type:"tr_open",level:L.level++}),ot=0;ot<sn.length;ot++)L.tokens.push({type:"td_open",align:Bn[ot],level:L.level++}),An=sn[ot].substring(124===sn[ot].charCodeAt(0)?1:0,124===sn[ot].charCodeAt(sn[ot].length-1)?sn[ot].length-1:sn[ot].length).trim(),L.tokens.push({type:"inline",content:An,level:L.level,children:[]}),L.tokens.push({type:"td_close",level:--L.level});L.tokens.push({type:"tr_close",level:--L.level})}return L.tokens.push({type:"tbody_close",level:--L.level}),L.tokens.push({type:"table_close",level:--L.level}),mr[1]=_r[1]=Nn,L.line=Nn,!0},["paragraph"]],["deflist",function(L,Ue,nt,at){var it,Pt,Ut,ot,Nn,sn,An,Bn,ir,mr,_r,Nr,br,Jn;if(at)return!(L.ddIndent<0)&&Rn(L,Ue)>=0;if(L.isEmpty(An=Ue+1)&&++An>nt||L.tShift[An]<L.blkIndent||(it=Rn(L,An))<0||L.level>=L.options.maxNesting)return!1;sn=L.tokens.length,L.tokens.push({type:"dl_open",lines:Nn=[Ue,0],level:L.level++}),Ut=Ue,Pt=An;e:for(;;){for(Jn=!0,br=!1,L.tokens.push({type:"dt_open",lines:[Ut,Ut],level:L.level++}),L.tokens.push({type:"inline",content:L.getLines(Ut,Ut+1,L.blkIndent,!1).trim(),level:L.level+1,lines:[Ut,Ut],children:[]}),L.tokens.push({type:"dt_close",level:--L.level});;){if(L.tokens.push({type:"dd_open",lines:ot=[An,0],level:L.level++}),Nr=L.tight,ir=L.ddIndent,Bn=L.blkIndent,_r=L.tShift[Pt],mr=L.parentType,L.blkIndent=L.ddIndent=L.tShift[Pt]+2,L.tShift[Pt]=it-L.bMarks[Pt],L.tight=!0,L.parentType="deflist",L.parser.tokenize(L,Pt,nt,!0),L.tight&&!br||(Jn=!1),br=L.line-Pt>1&&L.isEmpty(L.line-1),L.tShift[Pt]=_r,L.tight=Nr,L.parentType=mr,L.blkIndent=Bn,L.ddIndent=ir,L.tokens.push({type:"dd_close",level:--L.level}),ot[1]=An=L.line,An>=nt||L.tShift[An]<L.blkIndent)break e;if((it=Rn(L,An))<0)break;Pt=An}if(An>=nt||L.isEmpty(Ut=An)||L.tShift[Ut]<L.blkIndent||(Pt=Ut+1)>=nt||(L.isEmpty(Pt)&&Pt++,Pt>=nt)||L.tShift[Pt]<L.blkIndent||(it=Rn(L,Pt))<0)break}return L.tokens.push({type:"dl_close",level:--L.level}),Nn[1]=An,L.line=An,Jn&&function(nr,Mr){var yi,Ii,Mi=nr.level+2;for(yi=Mr+2,Ii=nr.tokens.length-2;yi<Ii;yi++)nr.tokens[yi].level===Mi&&"paragraph_open"===nr.tokens[yi].type&&(nr.tokens[yi+2].tight=!0,nr.tokens[yi].tight=!0,yi+=2)}(L,sn),!0},["paragraph"]],["paragraph",function(L,Ue){var nt,at,it,Pt,Ut,ot,Nn=Ue+1;if(Nn<(nt=L.lineMax)&&!L.isEmpty(Nn))for(ot=L.parser.ruler.getRules("paragraph");Nn<nt&&!L.isEmpty(Nn);Nn++)if(!(L.tShift[Nn]-L.blkIndent>3)){for(it=!1,Pt=0,Ut=ot.length;Pt<Ut;Pt++)if(ot[Pt](L,Nn,nt,!0)){it=!0;break}if(it)break}return at=L.getLines(Ue,Nn,L.blkIndent,!1).trim(),L.line=Nn,at.length&&(L.tokens.push({type:"paragraph_open",tight:!1,lines:[Ue,L.line],level:L.level}),L.tokens.push({type:"inline",content:at,level:L.level+1,lines:[Ue,L.line],children:[]}),L.tokens.push({type:"paragraph_close",tight:!1,level:L.level})),!0}]];function Mn(){this.ruler=new fe;for(var L=0;L<er.length;L++)this.ruler.push(er[L][0],er[L][1],{alt:(er[L][2]||[]).slice()})}Mn.prototype.tokenize=function(L,Ue,nt){for(var at,it=this.ruler.getRules(""),Pt=it.length,Ut=Ue,ot=!1;Ut<nt&&(L.line=Ut=L.skipEmptyLines(Ut),!(Ut>=nt))&&!(L.tShift[Ut]<L.blkIndent);){for(at=0;at<Pt&&!it[at](L,Ut,nt,!1);at++);if(L.tight=!ot,L.isEmpty(L.line-1)&&(ot=!0),(Ut=L.line)<nt&&L.isEmpty(Ut)){if(ot=!0,++Ut<nt&&"list"===L.parentType&&L.isEmpty(Ut))break;L.line=Ut}}};var Ht=/[\n\t]/g,tr=/\r[\n\u0085]|[\u2424\u2028\u0085]/g,Yn=/\u00a0/g;function Cn(L){switch(L){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}Mn.prototype.parse=function(L,Ue,nt,at){var it,Pt=0,Ut=0;if(!L)return[];(L=(L=L.replace(Yn," ")).replace(tr,"\n")).indexOf("\t")>=0&&(L=L.replace(Ht,function(ot,Nn){var sn;return 10===L.charCodeAt(Nn)?(Pt=Nn+1,Ut=0,ot):(sn=" ".slice((Nn-Pt-Ut)%4),Ut=Nn-Pt+1,sn)})),it=new Ie(L,this,Ue,nt,at),this.tokenize(it,it.line,it.lineMax)};for(var Kt=[],dn=0;dn<256;dn++)Kt.push(0);function Kn(L){return L>=48&&L<=57||L>=65&&L<=90||L>=97&&L<=122}function qn(L,Ue){var nt,at,it,Pt=Ue,Ut=!0,ot=!0,Nn=L.posMax,sn=L.src.charCodeAt(Ue);for(nt=Ue>0?L.src.charCodeAt(Ue-1):-1;Pt<Nn&&L.src.charCodeAt(Pt)===sn;)Pt++;return Pt>=Nn&&(Ut=!1),(it=Pt-Ue)>=4?Ut=ot=!1:(32!==(at=Pt<Nn?L.src.charCodeAt(Pt):-1)&&10!==at||(Ut=!1),32!==nt&&10!==nt||(ot=!1),95===sn&&(Kn(nt)&&(Ut=!1),Kn(at)&&(ot=!1))),{can_open:Ut,can_close:ot,delims:it}}"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(L){Kt[L.charCodeAt(0)]=1});var Sn=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g,$n=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g,En=["coap","doi","javascript","aaa","aaas","about","acap","cap","cid","crid","data","dav","dict","dns","file","ftp","geo","go","gopher","h323","http","https","iax","icap","im","imap","info","ipp","iris","iris.beep","iris.xpc","iris.xpcs","iris.lwz","ldap","mailto","mid","msrp","msrps","mtqp","mupdate","news","nfs","ni","nih","nntp","opaquelocktoken","pop","pres","rtsp","service","session","shttp","sieve","sip","sips","sms","snmp","soap.beep","soap.beeps","tag","tel","telnet","tftp","thismessage","tn3270","tip","tv","urn","vemmi","ws","wss","xcon","xcon-userid","xmlrpc.beep","xmlrpc.beeps","xmpp","z39.50r","z39.50s","adiumxtra","afp","afs","aim","apt","attachment","aw","beshare","bitcoin","bolo","callto","chrome","chrome-extension","com-eventbrite-attendee","content","cvs","dlna-playsingle","dlna-playcontainer","dtn","dvb","ed2k","facetime","feed","finger","fish","gg","git","gizmoproject","gtalk","hcp","icon","ipn","irc","irc6","ircs","itms","jar","jms","keyparc","lastfm","ldaps","magnet","maps","market","message","mms","ms-help","msnim","mumble","mvn","notes","oid","palm","paparazzi","platform","proxy","psyc","query","res","resource","rmi","rsync","rtmp","secondlife","sftp","sgn","skype","smb","soldat","spotify","ssh","steam","svn","teamspeak","things","udp","unreal","ut2004","ventrilo","view-source","webcal","wtai","wyciwyg","xfire","xri","ymsgr"],Fn=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,Dn=/^<([a-zA-Z.\-]{1,25}):([^<>\x00-\x20]*)>/;function mn(L,Ue){return L=L.source,Ue=Ue||"",function nt(at,it){return at?(L=L.replace(at,it=it.source||it),nt):new RegExp(L,Ue)}}var jn=mn(/(?:unquoted|single_quoted|double_quoted)/)("unquoted",/[^"'=<>`\x00-\x20]+/)("single_quoted",/'[^']*'/)("double_quoted",/"[^"]*"/)(),Xt=mn(/(?:\s+attr_name(?:\s*=\s*attr_value)?)/)("attr_name",/[a-zA-Z_:][a-zA-Z0-9:._-]*/)("attr_value",jn)(),ut=mn(/<[A-Za-z][A-Za-z0-9]*attribute*\s*\/?>/)("attribute",Xt)(),mt=mn(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)("open_tag",ut)("close_tag",/<\/[A-Za-z][A-Za-z0-9]*\s*>/)("comment",/<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/)("processing",/<[?].*?[?]>/)("declaration",/<![A-Z]+\s+[^>]*>/)("cdata",/<!\[CDATA\[[\s\S]*?\]\]>/)(),Tt=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,yn=/^&([a-z][a-z0-9]{1,31});/i,et=[["text",function(L,Ue){for(var nt=L.pos;nt<L.posMax&&!Cn(L.src.charCodeAt(nt));)nt++;return nt!==L.pos&&(Ue||(L.pending+=L.src.slice(L.pos,nt)),L.pos=nt,!0)}],["newline",function(L,Ue){var nt,at,it=L.pos;if(10!==L.src.charCodeAt(it))return!1;if(nt=L.pending.length-1,at=L.posMax,!Ue)if(nt>=0&&32===L.pending.charCodeAt(nt))if(nt>=1&&32===L.pending.charCodeAt(nt-1)){for(var Pt=nt-2;Pt>=0;Pt--)if(32!==L.pending.charCodeAt(Pt)){L.pending=L.pending.substring(0,Pt+1);break}L.push({type:"hardbreak",level:L.level})}else L.pending=L.pending.slice(0,-1),L.push({type:"softbreak",level:L.level});else L.push({type:"softbreak",level:L.level});for(it++;it<at&&32===L.src.charCodeAt(it);)it++;return L.pos=it,!0}],["escape",function(L,Ue){var nt,at=L.pos,it=L.posMax;if(92!==L.src.charCodeAt(at))return!1;if(++at<it){if((nt=L.src.charCodeAt(at))<256&&0!==Kt[nt])return Ue||(L.pending+=L.src[at]),L.pos+=2,!0;if(10===nt){for(Ue||L.push({type:"hardbreak",level:L.level}),at++;at<it&&32===L.src.charCodeAt(at);)at++;return L.pos=at,!0}}return Ue||(L.pending+="\\"),L.pos++,!0}],["backticks",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.pos;if(96!==L.src.charCodeAt(ot))return!1;for(nt=ot,ot++,at=L.posMax;ot<at&&96===L.src.charCodeAt(ot);)ot++;for(it=L.src.slice(nt,ot),Pt=Ut=ot;-1!==(Pt=L.src.indexOf("`",Ut));){for(Ut=Pt+1;Ut<at&&96===L.src.charCodeAt(Ut);)Ut++;if(Ut-Pt===it.length)return Ue||L.push({type:"code",content:L.src.slice(ot,Pt).replace(/[ \n]+/g," ").trim(),block:!1,level:L.level}),L.pos=Ut,!0}return Ue||(L.pending+=it),L.pos+=it.length,!0}],["del",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.posMax,Nn=L.pos;if(126!==L.src.charCodeAt(Nn)||Ue||Nn+4>=ot||126!==L.src.charCodeAt(Nn+1)||L.level>=L.options.maxNesting||(Pt=Nn>0?L.src.charCodeAt(Nn-1):-1,Ut=L.src.charCodeAt(Nn+2),126===Pt)||126===Ut||32===Ut||10===Ut)return!1;for(at=Nn+2;at<ot&&126===L.src.charCodeAt(at);)at++;if(at>Nn+3)return L.pos+=at-Nn,Ue||(L.pending+=L.src.slice(Nn,at)),!0;for(L.pos=Nn+2,it=1;L.pos+1<ot;){if(126===L.src.charCodeAt(L.pos)&&126===L.src.charCodeAt(L.pos+1)&&(Pt=L.src.charCodeAt(L.pos-1),126!==(Ut=L.pos+2<ot?L.src.charCodeAt(L.pos+2):-1)&&126!==Pt&&(32!==Pt&&10!==Pt?it--:32!==Ut&&10!==Ut&&it++,it<=0))){nt=!0;break}L.parser.skipToken(L)}return nt?(L.posMax=L.pos,L.pos=Nn+2,Ue||(L.push({type:"del_open",level:L.level++}),L.parser.tokenize(L),L.push({type:"del_close",level:--L.level})),L.pos=L.posMax+2,L.posMax=ot,!0):(L.pos=Nn,!1)}],["ins",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.posMax,Nn=L.pos;if(43!==L.src.charCodeAt(Nn)||Ue||Nn+4>=ot||43!==L.src.charCodeAt(Nn+1)||L.level>=L.options.maxNesting||(Pt=Nn>0?L.src.charCodeAt(Nn-1):-1,Ut=L.src.charCodeAt(Nn+2),43===Pt)||43===Ut||32===Ut||10===Ut)return!1;for(at=Nn+2;at<ot&&43===L.src.charCodeAt(at);)at++;if(at!==Nn+2)return L.pos+=at-Nn,Ue||(L.pending+=L.src.slice(Nn,at)),!0;for(L.pos=Nn+2,it=1;L.pos+1<ot;){if(43===L.src.charCodeAt(L.pos)&&43===L.src.charCodeAt(L.pos+1)&&(Pt=L.src.charCodeAt(L.pos-1),43!==(Ut=L.pos+2<ot?L.src.charCodeAt(L.pos+2):-1)&&43!==Pt&&(32!==Pt&&10!==Pt?it--:32!==Ut&&10!==Ut&&it++,it<=0))){nt=!0;break}L.parser.skipToken(L)}return nt?(L.posMax=L.pos,L.pos=Nn+2,Ue||(L.push({type:"ins_open",level:L.level++}),L.parser.tokenize(L),L.push({type:"ins_close",level:--L.level})),L.pos=L.posMax+2,L.posMax=ot,!0):(L.pos=Nn,!1)}],["mark",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.posMax,Nn=L.pos;if(61!==L.src.charCodeAt(Nn)||Ue||Nn+4>=ot||61!==L.src.charCodeAt(Nn+1)||L.level>=L.options.maxNesting||(Pt=Nn>0?L.src.charCodeAt(Nn-1):-1,Ut=L.src.charCodeAt(Nn+2),61===Pt)||61===Ut||32===Ut||10===Ut)return!1;for(at=Nn+2;at<ot&&61===L.src.charCodeAt(at);)at++;if(at!==Nn+2)return L.pos+=at-Nn,Ue||(L.pending+=L.src.slice(Nn,at)),!0;for(L.pos=Nn+2,it=1;L.pos+1<ot;){if(61===L.src.charCodeAt(L.pos)&&61===L.src.charCodeAt(L.pos+1)&&(Pt=L.src.charCodeAt(L.pos-1),61!==(Ut=L.pos+2<ot?L.src.charCodeAt(L.pos+2):-1)&&61!==Pt&&(32!==Pt&&10!==Pt?it--:32!==Ut&&10!==Ut&&it++,it<=0))){nt=!0;break}L.parser.skipToken(L)}return nt?(L.posMax=L.pos,L.pos=Nn+2,Ue||(L.push({type:"mark_open",level:L.level++}),L.parser.tokenize(L),L.push({type:"mark_close",level:--L.level})),L.pos=L.posMax+2,L.posMax=ot,!0):(L.pos=Nn,!1)}],["emphasis",function(L,Ue){var nt,at,it,Pt,Ut,ot,Nn,sn=L.posMax,An=L.pos,Bn=L.src.charCodeAt(An);if(95!==Bn&&42!==Bn||Ue)return!1;if(nt=(Nn=qn(L,An)).delims,!Nn.can_open)return L.pos+=nt,Ue||(L.pending+=L.src.slice(An,L.pos)),!0;if(L.level>=L.options.maxNesting)return!1;for(L.pos=An+nt,ot=[nt];L.pos<sn;)if(L.src.charCodeAt(L.pos)!==Bn)L.parser.skipToken(L);else{if(at=(Nn=qn(L,L.pos)).delims,Nn.can_close){for(Pt=ot.pop(),Ut=at;Pt!==Ut;){if(Ut<Pt){ot.push(Pt-Ut);break}if(Ut-=Pt,0===ot.length)break;L.pos+=Pt,Pt=ot.pop()}if(0===ot.length){nt=Pt,it=!0;break}L.pos+=at;continue}Nn.can_open&&ot.push(at),L.pos+=at}return it?(L.posMax=L.pos,L.pos=An+nt,Ue||(2!==nt&&3!==nt||L.push({type:"strong_open",level:L.level++}),1!==nt&&3!==nt||L.push({type:"em_open",level:L.level++}),L.parser.tokenize(L),1!==nt&&3!==nt||L.push({type:"em_close",level:--L.level}),2!==nt&&3!==nt||L.push({type:"strong_close",level:--L.level})),L.pos=L.posMax+nt,L.posMax=sn,!0):(L.pos=An,!1)}],["sub",function(L,Ue){var nt,at,it=L.posMax,Pt=L.pos;if(126!==L.src.charCodeAt(Pt)||Ue||Pt+2>=it||L.level>=L.options.maxNesting)return!1;for(L.pos=Pt+1;L.pos<it;){if(126===L.src.charCodeAt(L.pos)){nt=!0;break}L.parser.skipToken(L)}return nt&&Pt+1!==L.pos?(at=L.src.slice(Pt+1,L.pos)).match(/(^|[^\\])(\\\\)*\s/)?(L.pos=Pt,!1):(L.posMax=L.pos,L.pos=Pt+1,Ue||L.push({type:"sub",level:L.level,content:at.replace(Sn,"$1")}),L.pos=L.posMax+1,L.posMax=it,!0):(L.pos=Pt,!1)}],["sup",function(L,Ue){var nt,at,it=L.posMax,Pt=L.pos;if(94!==L.src.charCodeAt(Pt)||Ue||Pt+2>=it||L.level>=L.options.maxNesting)return!1;for(L.pos=Pt+1;L.pos<it;){if(94===L.src.charCodeAt(L.pos)){nt=!0;break}L.parser.skipToken(L)}return nt&&Pt+1!==L.pos?(at=L.src.slice(Pt+1,L.pos)).match(/(^|[^\\])(\\\\)*\s/)?(L.pos=Pt,!1):(L.posMax=L.pos,L.pos=Pt+1,Ue||L.push({type:"sup",level:L.level,content:at.replace($n,"$1")}),L.pos=L.posMax+1,L.posMax=it,!0):(L.pos=Pt,!1)}],["links",function(L,Ue){var nt,at,it,Pt,Ut,ot,Nn,sn,An=!1,Bn=L.pos,ir=L.posMax,mr=L.pos,_r=L.src.charCodeAt(mr);if(33===_r&&(An=!0,_r=L.src.charCodeAt(++mr)),91!==_r||L.level>=L.options.maxNesting||(nt=mr+1,(at=he(L,mr))<0))return!1;if((ot=at+1)<ir&&40===L.src.charCodeAt(ot)){for(ot++;ot<ir&&(32===(sn=L.src.charCodeAt(ot))||10===sn);ot++);if(ot>=ir)return!1;for(mr=ot,Me(L,ot)?(Pt=L.linkContent,ot=L.pos):Pt="",mr=ot;ot<ir&&(32===(sn=L.src.charCodeAt(ot))||10===sn);ot++);if(ot<ir&&mr!==ot&&Oe(L,ot))for(Ut=L.linkContent,ot=L.pos;ot<ir&&(32===(sn=L.src.charCodeAt(ot))||10===sn);ot++);else Ut="";if(ot>=ir||41!==L.src.charCodeAt(ot))return L.pos=Bn,!1;ot++}else{if(L.linkLevel>0)return!1;for(;ot<ir&&(32===(sn=L.src.charCodeAt(ot))||10===sn);ot++);if(ot<ir&&91===L.src.charCodeAt(ot)&&(mr=ot+1,(ot=he(L,ot))>=0?it=L.src.slice(mr,ot++):ot=mr-1),it||(void 0===it&&(ot=at+1),it=L.src.slice(nt,at)),!(Nn=L.env.references[be(it)]))return L.pos=Bn,!1;Pt=Nn.href,Ut=Nn.title}return Ue||(L.pos=nt,L.posMax=at,An?L.push({type:"image",src:Pt,title:Ut,alt:L.src.substr(nt,at-nt),level:L.level}):(L.push({type:"link_open",href:Pt,title:Ut,level:L.level++}),L.linkLevel++,L.parser.tokenize(L),L.linkLevel--,L.push({type:"link_close",level:--L.level}))),L.pos=ot,L.posMax=ir,!0}],["footnote_inline",function(L,Ue){var nt,at,it,Pt,Ut=L.posMax,ot=L.pos;return!(ot+2>=Ut||94!==L.src.charCodeAt(ot)||91!==L.src.charCodeAt(ot+1)||L.level>=L.options.maxNesting||(nt=ot+2,(at=he(L,ot+1))<0||(Ue||(L.env.footnotes||(L.env.footnotes={}),L.env.footnotes.list||(L.env.footnotes.list=[]),it=L.env.footnotes.list.length,L.pos=nt,L.posMax=at,L.push({type:"footnote_ref",id:it,level:L.level}),L.linkLevel++,Pt=L.tokens.length,L.parser.tokenize(L),L.env.footnotes.list[it]={tokens:L.tokens.splice(Pt)},L.linkLevel--),L.pos=at+1,L.posMax=Ut,0)))}],["footnote_ref",function(L,Ue){var nt,at,it,Pt,Ut=L.posMax,ot=L.pos;if(ot+3>Ut||!L.env.footnotes||!L.env.footnotes.refs||91!==L.src.charCodeAt(ot)||94!==L.src.charCodeAt(ot+1)||L.level>=L.options.maxNesting)return!1;for(at=ot+2;at<Ut;at++){if(32===L.src.charCodeAt(at)||10===L.src.charCodeAt(at))return!1;if(93===L.src.charCodeAt(at))break}return!(at===ot+2||at>=Ut||(at++,nt=L.src.slice(ot+2,at-1),void 0===L.env.footnotes.refs[":"+nt]||(Ue||(L.env.footnotes.list||(L.env.footnotes.list=[]),L.env.footnotes.refs[":"+nt]<0?(it=L.env.footnotes.list.length,L.env.footnotes.list[it]={label:nt,count:0},L.env.footnotes.refs[":"+nt]=it):it=L.env.footnotes.refs[":"+nt],Pt=L.env.footnotes.list[it].count,L.env.footnotes.list[it].count++,L.push({type:"footnote_ref",id:it,subId:Pt,level:L.level})),L.pos=at,L.posMax=Ut,0)))}],["autolink",function(L,Ue){var nt,at,it,Pt,Ut,ot=L.pos;return!(60!==L.src.charCodeAt(ot)||(nt=L.src.slice(ot)).indexOf(">")<0||((at=nt.match(Dn))?En.indexOf(at[1].toLowerCase())<0||(Ut=Ae(Pt=at[0].slice(1,-1)),!L.parser.validateLink(Pt)||(Ue||(L.push({type:"link_open",href:Ut,level:L.level}),L.push({type:"text",content:Pt,level:L.level+1}),L.push({type:"link_close",level:L.level})),L.pos+=at[0].length,0)):!(it=nt.match(Fn))||(Ut=Ae("mailto:"+(Pt=it[0].slice(1,-1))),!L.parser.validateLink(Ut)||(Ue||(L.push({type:"link_open",href:Ut,level:L.level}),L.push({type:"text",content:Pt,level:L.level+1}),L.push({type:"link_close",level:L.level})),L.pos+=it[0].length,0))))}],["htmltag",function(L,Ue){var nt,at,it,Ut,ot,Pt=L.pos;return!(!L.options.html||(it=L.posMax,60!==L.src.charCodeAt(Pt)||Pt+2>=it||33!==(nt=L.src.charCodeAt(Pt+1))&&63!==nt&&47!==nt&&(Ut=nt,ot=32|Ut,!(ot>=97&&ot<=122))||!(at=L.src.slice(Pt).match(mt))||(Ue||L.push({type:"htmltag",content:L.src.slice(Pt,Pt+at[0].length),level:L.level}),L.pos+=at[0].length,0)))}],["entity",function(L,Ue){var nt,at,it=L.pos,Pt=L.posMax;if(38!==L.src.charCodeAt(it))return!1;if(it+1<Pt)if(35===L.src.charCodeAt(it+1)){if(at=L.src.slice(it).match(Tt))return Ue||(nt="x"===at[1][0].toLowerCase()?parseInt(at[1].slice(1),16):parseInt(at[1],10),L.pending+=m(nt)?b(nt):b(65533)),L.pos+=at[0].length,!0}else if(at=L.src.slice(it).match(yn)){var Ut=s(at[1]);if(at[1]!==Ut)return Ue||(L.pending+=Ut),L.pos+=at[0].length,!0}return Ue||(L.pending+="&"),L.pos++,!0}]];function jt(){this.ruler=new fe;for(var L=0;L<et.length;L++)this.ruler.push(et[L][0],et[L][1]);this.validateLink=hn}function hn(L){var Ue=L.trim().toLowerCase();return-1===(Ue=j(Ue)).indexOf(":")||-1===["vbscript","javascript","file","data"].indexOf(Ue.split(":")[0])}jt.prototype.skipToken=function(L){var Ue,nt,at=this.ruler.getRules(""),it=at.length,Pt=L.pos;if((nt=L.cacheGet(Pt))>0)L.pos=nt;else{for(Ue=0;Ue<it;Ue++)if(at[Ue](L,!0))return void L.cacheSet(Pt,L.pos);L.pos++,L.cacheSet(Pt,L.pos)}},jt.prototype.tokenize=function(L){for(var Ue,nt,at=this.ruler.getRules(""),it=at.length,Pt=L.posMax;L.pos<Pt;){for(nt=0;nt<it&&!(Ue=at[nt](L,!1));nt++);if(Ue){if(L.pos>=Pt)break}else L.pending+=L.src[L.pos++]}L.pending&&L.pushPending()},jt.prototype.parse=function(L,Ue,nt,at){var it=new ne(L,this,Ue,nt,at);this.tokenize(it)};var Qn={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","replacements","smartquotes","references","abbr2","footnote_tail"]},block:{rules:["blockquote","code","fences","footnote","heading","hr","htmlblock","lheading","list","paragraph","table"]},inline:{rules:["autolink","backticks","del","emphasis","entity","escape","footnote_ref","htmltag","links","newline","text"]}}},full:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"\u201c\u201d\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","abbr2"]},block:{rules:["blockquote","code","fences","heading","hr","htmlblock","lheading","list","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","htmltag","links","newline","text"]}}}};function Ir(L,Ue,nt){this.src=Ue,this.env=nt,this.options=L.options,this.tokens=[],this.inlineMode=!1,this.inline=L.inline,this.block=L.block,this.renderer=L.renderer,this.typographer=L.typographer}function ht(L,Ue){"string"!=typeof L&&(Ue=L,L="default"),Ue&&null!=Ue.linkify&&console.warn("linkify option is removed. Use linkify plugin instead:\n\nimport Remarkable from 'remarkable';\nimport linkify from 'remarkable/linkify';\nnew Remarkable().use(linkify)\n"),this.inline=new jt,this.block=new Mn,this.core=new ae,this.renderer=new oe,this.ruler=new fe,this.options={},this.configure(Qn[L]),this.set(Ue||{})}ht.prototype.set=function(L){u(this.options,L)},ht.prototype.configure=function(L){var Ue=this;if(!L)throw new Error("Wrong `remarkable` preset, check name/content");L.options&&Ue.set(L.options),L.components&&Object.keys(L.components).forEach(function(nt){L.components[nt].rules&&Ue[nt].ruler.enable(L.components[nt].rules,!0)})},ht.prototype.use=function(L,Ue){return L(this,Ue),this},ht.prototype.parse=function(L,Ue){var nt=new Ir(this,L,Ue);return this.core.process(nt),nt.tokens},ht.prototype.render=function(L,Ue){return this.renderer.render(this.parse(L,Ue=Ue||{}),this.options,Ue)},ht.prototype.parseInline=function(L,Ue){var nt=new Ir(this,L,Ue);return nt.inlineMode=!0,this.core.process(nt),nt.tokens},ht.prototype.renderInline=function(L,Ue){return this.renderer.render(this.parseInline(L,Ue=Ue||{}),this.options,Ue)}},function(g,o,t){"use strict";t.d(o,"b",function(){return jn});var e=t(0),s=t.n(e),a=(t(11),t(204));function l(Xt,ut){if(Array.prototype.indexOf)return Xt.indexOf(ut);for(var mt=0,Tt=Xt.length;mt<Tt;mt++)if(Xt[mt]===ut)return mt;return-1}function u(Xt,ut){for(var mt=Xt.length-1;mt>=0;mt--)!0===ut(Xt[mt])&&Xt.splice(mt,1)}function h(Xt){throw new Error("Unhandled case for value: '"+Xt+"'")}var _=function(){function Xt(ut){void 0===ut&&(ut={}),this.tagName="",this.attrs={},this.innerHTML="",this.whitespaceRegex=/\s+/,this.tagName=ut.tagName||"",this.attrs=ut.attrs||{},this.innerHTML=ut.innerHtml||ut.innerHTML||""}return Xt.prototype.setTagName=function(ut){return this.tagName=ut,this},Xt.prototype.getTagName=function(){return this.tagName||""},Xt.prototype.setAttr=function(ut,mt){return this.getAttrs()[ut]=mt,this},Xt.prototype.getAttr=function(ut){return this.getAttrs()[ut]},Xt.prototype.setAttrs=function(ut){return Object.assign(this.getAttrs(),ut),this},Xt.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},Xt.prototype.setClass=function(ut){return this.setAttr("class",ut)},Xt.prototype.addClass=function(ut){for(var mt,Tt=this.getClass(),yn=this.whitespaceRegex,et=Tt?Tt.split(yn):[],jt=ut.split(yn);mt=jt.shift();)-1===l(et,mt)&&et.push(mt);return this.getAttrs().class=et.join(" "),this},Xt.prototype.removeClass=function(ut){for(var mt,Tt=this.getClass(),yn=this.whitespaceRegex,et=Tt?Tt.split(yn):[],jt=ut.split(yn);et.length&&(mt=jt.shift());){var hn=l(et,mt);-1!==hn&&et.splice(hn,1)}return this.getAttrs().class=et.join(" "),this},Xt.prototype.getClass=function(){return this.getAttrs().class||""},Xt.prototype.hasClass=function(ut){return-1!==(" "+this.getClass()+" ").indexOf(" "+ut+" ")},Xt.prototype.setInnerHTML=function(ut){return this.innerHTML=ut,this},Xt.prototype.setInnerHtml=function(ut){return this.setInnerHTML(ut)},Xt.prototype.getInnerHTML=function(){return this.innerHTML||""},Xt.prototype.getInnerHtml=function(){return this.getInnerHTML()},Xt.prototype.toAnchorString=function(){var ut=this.getTagName(),mt=this.buildAttrsStr();return["<",ut,mt=mt?" "+mt:"",">",this.getInnerHtml(),"</",ut,">"].join("")},Xt.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var ut=this.getAttrs(),mt=[];for(var Tt in ut)ut.hasOwnProperty(Tt)&&mt.push(Tt+'="'+ut[Tt]+'"');return mt.join(" ")},Xt}(),m=function(){function Xt(ut){void 0===ut&&(ut={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=ut.newWindow||!1,this.truncate=ut.truncate||{},this.className=ut.className||""}return Xt.prototype.build=function(ut){return new _({tagName:"a",attrs:this.createAttrs(ut),innerHtml:this.processAnchorText(ut.getAnchorText())})},Xt.prototype.createAttrs=function(ut){var mt={href:ut.getAnchorHref()},Tt=this.createCssClass(ut);return Tt&&(mt.class=Tt),this.newWindow&&(mt.target="_blank",mt.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<ut.getAnchorText().length&&(mt.title=ut.getAnchorHref()),mt},Xt.prototype.createCssClass=function(ut){var mt=this.className;if(mt){for(var Tt=[mt],yn=ut.getCssClassSuffixes(),et=0,jt=yn.length;et<jt;et++)Tt.push(mt+"-"+yn[et]);return Tt.join(" ")}return""},Xt.prototype.processAnchorText=function(ut){return this.doTruncate(ut)},Xt.prototype.doTruncate=function(ut){var mt=this.truncate;if(!mt||!mt.length)return ut;var Qn,Ir,ht,L,Tt=mt.length,yn=mt.location;return"smart"===yn?function(et,jt,hn){var Qn,Ir;null==hn?(hn="…",Ir=3,Qn=8):(Ir=hn.length,Qn=hn.length);var ht=function(sn){var An="";return sn.scheme&&sn.host&&(An+=sn.scheme+"://"),sn.host&&(An+=sn.host),sn.path&&(An+="/"+sn.path),sn.query&&(An+="?"+sn.query),sn.fragment&&(An+="#"+sn.fragment),An},L=function(sn,An){var Bn=An/2,ir=Math.ceil(Bn),mr=-1*Math.floor(Bn),_r="";return mr<0&&(_r=sn.substr(mr)),sn.substr(0,ir)+hn+_r};if(et.length<=jt)return et;var An,Bn,ir,Ue=jt-Ir,nt=(An={},(ir=(Bn=et).match(/^([a-z]+):\/\//i))&&(An.scheme=ir[1],Bn=Bn.substr(ir[0].length)),(ir=Bn.match(/^(.*?)(?=(\?|#|\/|$))/i))&&(An.host=ir[1],Bn=Bn.substr(ir[0].length)),(ir=Bn.match(/^\/(.*?)(?=(\?|#|$))/i))&&(An.path=ir[1],Bn=Bn.substr(ir[0].length)),(ir=Bn.match(/^\?(.*?)(?=(#|$))/i))&&(An.query=ir[1],Bn=Bn.substr(ir[0].length)),(ir=Bn.match(/^#(.*?)$/i))&&(An.fragment=ir[1]),An);if(nt.query){var at=nt.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);at&&(nt.query=nt.query.substr(0,at[1].length),et=ht(nt))}if(et.length<=jt||(nt.host&&(nt.host=nt.host.replace(/^www\./,""),et=ht(nt)),et.length<=jt))return et;var it="";if(nt.host&&(it+=nt.host),it.length>=Ue)return nt.host.length==jt?(nt.host.substr(0,jt-Ir)+hn).substr(0,Ue+Qn):L(it,Ue).substr(0,Ue+Qn);var Pt="";if(nt.path&&(Pt+="/"+nt.path),nt.query&&(Pt+="?"+nt.query),Pt){if((it+Pt).length>=Ue)return(it+Pt).length==jt?(it+Pt).substr(0,jt):(it+L(Pt,Ue-it.length)).substr(0,Ue+Qn);it+=Pt}if(nt.fragment){var Ut="#"+nt.fragment;if((it+Ut).length>=Ue)return(it+Ut).length==jt?(it+Ut).substr(0,jt):(it+L(Ut,Ue-it.length)).substr(0,Ue+Qn);it+=Ut}if(nt.scheme&&nt.host){var ot=nt.scheme+"://";if((it+ot).length<Ue)return(ot+it).substr(0,jt)}if(it.length<=jt)return it;var Nn="";return Ue>0&&(Nn=it.substr(-1*Math.floor(Ue/2))),(it.substr(0,Math.ceil(Ue/2))+hn+Nn).substr(0,Ue+Qn)}(ut,Tt):"middle"===yn?function(et,jt,hn){if(et.length<=jt)return et;var Qn,Ir;null==hn?(hn="…",Qn=8,Ir=3):(Qn=hn.length,Ir=hn.length);var ht=jt-Ir,L="";return ht>0&&(L=et.substr(-1*Math.floor(ht/2))),(et.substr(0,Math.ceil(ht/2))+hn+L).substr(0,ht+Qn)}(ut,Tt):(ht=void 0,(Qn=ut).length>(Ir=Tt)&&(null==ht?(ht="…",L=3):L=ht.length,Qn=Qn.substring(0,Ir-L)+ht),Qn)},Xt}(),b=function(){function Xt(ut){this.__jsduckDummyDocProp=null,this.matchedText="",this.offset=0,this.tagBuilder=ut.tagBuilder,this.matchedText=ut.matchedText,this.offset=ut.offset}return Xt.prototype.getMatchedText=function(){return this.matchedText},Xt.prototype.setOffset=function(ut){this.offset=ut},Xt.prototype.getOffset=function(){return this.offset},Xt.prototype.getCssClassSuffixes=function(){return[this.getType()]},Xt.prototype.buildTag=function(){return this.tagBuilder.build(this)},Xt}(),C=function(Xt,ut){return(C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(mt,Tt){mt.__proto__=Tt}||function(mt,Tt){for(var yn in Tt)Tt.hasOwnProperty(yn)&&(mt[yn]=Tt[yn])})(Xt,ut)};function D(Xt,ut){function mt(){this.constructor=Xt}C(Xt,ut),Xt.prototype=null===ut?Object.create(ut):(mt.prototype=ut.prototype,new mt)}var j,x=function(){return(x=Object.assign||function(Xt){for(var ut,mt=1,Tt=arguments.length;mt<Tt;mt++)for(var yn in ut=arguments[mt])Object.prototype.hasOwnProperty.call(ut,yn)&&(Xt[yn]=ut[yn]);return Xt}).apply(this,arguments)},H=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.email="",Tt.email=mt.email,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"email"},ut.prototype.getEmail=function(){return this.email},ut.prototype.getAnchorHref=function(){return"mailto:"+this.email},ut.prototype.getAnchorText=function(){return this.email},ut}(b),z=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.serviceName="",Tt.hashtag="",Tt.serviceName=mt.serviceName,Tt.hashtag=mt.hashtag,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"hashtag"},ut.prototype.getServiceName=function(){return this.serviceName},ut.prototype.getHashtag=function(){return this.hashtag},ut.prototype.getAnchorHref=function(){var mt=this.serviceName,Tt=this.hashtag;switch(mt){case"twitter":return"https://twitter.com/hashtag/"+Tt;case"facebook":return"https://www.facebook.com/hashtag/"+Tt;case"instagram":return"https://instagram.com/explore/tags/"+Tt;default:throw new Error("Unknown service name to point hashtag to: "+mt)}},ut.prototype.getAnchorText=function(){return"#"+this.hashtag},ut}(b),U=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.serviceName="twitter",Tt.mention="",Tt.mention=mt.mention,Tt.serviceName=mt.serviceName,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"mention"},ut.prototype.getMention=function(){return this.mention},ut.prototype.getServiceName=function(){return this.serviceName},ut.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},ut.prototype.getAnchorText=function(){return"@"+this.mention},ut.prototype.getCssClassSuffixes=function(){var mt=Xt.prototype.getCssClassSuffixes.call(this),Tt=this.getServiceName();return Tt&&mt.push(Tt),mt},ut}(b),M=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.number="",Tt.plusSign=!1,Tt.number=mt.number,Tt.plusSign=mt.plusSign,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"phone"},ut.prototype.getPhoneNumber=function(){return this.number},ut.prototype.getNumber=function(){return this.getPhoneNumber()},ut.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},ut.prototype.getAnchorText=function(){return this.matchedText},ut}(b),I=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.url="",Tt.urlMatchType="scheme",Tt.protocolUrlMatch=!1,Tt.protocolRelativeMatch=!1,Tt.stripPrefix={scheme:!0,www:!0},Tt.stripTrailingSlash=!0,Tt.decodePercentEncoding=!0,Tt.schemePrefixRegex=/^(https?:\/\/)?/i,Tt.wwwPrefixRegex=/^(https?:\/\/)?(www\.)?/i,Tt.protocolRelativeRegex=/^\/\//,Tt.protocolPrepended=!1,Tt.urlMatchType=mt.urlMatchType,Tt.url=mt.url,Tt.protocolUrlMatch=mt.protocolUrlMatch,Tt.protocolRelativeMatch=mt.protocolRelativeMatch,Tt.stripPrefix=mt.stripPrefix,Tt.stripTrailingSlash=mt.stripTrailingSlash,Tt.decodePercentEncoding=mt.decodePercentEncoding,Tt}return D(ut,Xt),ut.prototype.getType=function(){return"url"},ut.prototype.getUrlMatchType=function(){return this.urlMatchType},ut.prototype.getUrl=function(){var mt=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(mt=this.url="http://"+mt,this.protocolPrepended=!0),mt},ut.prototype.getAnchorHref=function(){return this.getUrl().replace(/&/g,"&")},ut.prototype.getAnchorText=function(){var mt=this.getMatchedText();return this.protocolRelativeMatch&&(mt=this.stripProtocolRelativePrefix(mt)),this.stripPrefix.scheme&&(mt=this.stripSchemePrefix(mt)),this.stripPrefix.www&&(mt=this.stripWwwPrefix(mt)),this.stripTrailingSlash&&(mt=this.removeTrailingSlash(mt)),this.decodePercentEncoding&&(mt=this.removePercentEncoding(mt)),mt},ut.prototype.stripSchemePrefix=function(mt){return mt.replace(this.schemePrefixRegex,"")},ut.prototype.stripWwwPrefix=function(mt){return mt.replace(this.wwwPrefixRegex,"$1")},ut.prototype.stripProtocolRelativePrefix=function(mt){return mt.replace(this.protocolRelativeRegex,"")},ut.prototype.removeTrailingSlash=function(mt){return"/"===mt.charAt(mt.length-1)&&(mt=mt.slice(0,-1)),mt},ut.prototype.removePercentEncoding=function(mt){var Tt=mt.replace(/%22/gi,""").replace(/%26/gi,"&").replace(/%27/gi,"'").replace(/%3C/gi,"<").replace(/%3E/gi,">");try{return decodeURIComponent(Tt)}catch(yn){return Tt}},ut}(b),J=function(Xt){this.__jsduckDummyDocProp=null,this.tagBuilder=Xt.tagBuilder},Y=/[A-Za-z]/,ie=/[\d]/,oe=/[\D]/,fe=/\s/,ne=/['"]/,he=/[\x00-\x1F\x7F]/,ce=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,Ae=ce+/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source+/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,Me=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,Oe=Ae+Me,be=Ae+Me,ue="(?:["+Me+"]{1,3}\\.){3}["+Me+"]{1,3}",He="["+be+"](?:["+be+"\\-]{0,61}["+be+"])?",$e=function(Xt){return"(?=("+He+"))\\"+Xt},F=function(Xt){return"(?:"+$e(Xt)+"(?:\\."+$e(Xt+1)+"){0,126}|"+ue+")"},je=(new RegExp("["+be+".\\-]*["+be+"\\-]"),new RegExp("["+be+"]")),Et=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|verm\xf6gensberatung|xn--3oq18vl8pn36a|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|verm\xf6gensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|spreadbetting|travelchannel|wolterskluwer|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|rightathome|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pbt977c|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nationwide|newholland|nextdirect|onyourside|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|telefonica|university|vistaprint|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|fujixerox|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|honeywell|institute|insurance|kuokgroup|ladbrokes|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--tckwe|xn--vhquv|yodobashi|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|chrysler|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|esurance|etisalat|everbank|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|movistar|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|symantec|training|uconnect|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|cartier|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|iselect|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lancome|lanxess|lasalle|latrobe|leclerc|liaison|limited|lincoln|markets|metlife|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|shriram|singles|staples|starhub|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|\u043a\u0430\u0442\u043e\u043b\u0438\u043a|\u0627\u062a\u0635\u0627\u0644\u0627\u062a|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0639\u0644\u064a\u0627\u0646|\u067e\u0627\u06a9\u0633\u062a\u0627\u0646|\u0643\u0627\u062b\u0648\u0644\u064a\u0643|\u0645\u0648\u0628\u0627\u064a\u0644\u064a|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|abarth|abbott|abbvie|active|africa|agency|airbus|airtel|alipay|alsace|alstom|anquan|aramco|author|bayern|beauty|berlin|bharti|blanco|bostik|boston|broker|camera|career|caseih|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|mobily|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|piaget|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|warman|webcam|xihuan|yachts|yandex|zappos|\u043c\u043e\u0441\u043a\u0432\u0430|\u043e\u043d\u043b\u0430\u0439\u043d|\u0627\u0628\u0648\u0638\u0628\u064a|\u0627\u0631\u0627\u0645\u0643\u0648|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0641\u0644\u0633\u0637\u064a\u0646|\u0645\u0644\u064a\u0633\u064a\u0627|\u092d\u093e\u0930\u0924\u092e\u094d|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u30d5\u30a1\u30c3\u30b7\u30e7\u30f3|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|dodge|drive|dubai|earth|edeka|email|epost|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|intel|irish|iveco|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|lupin|macys|mango|media|miami|money|mopar|movie|nadex|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|zippo|\u0627\u06cc\u0631\u0627\u0646|\u0628\u0627\u0632\u0627\u0631|\u0628\u06be\u0627\u0631\u062a|\u0633\u0648\u062f\u0627\u0646|\u0633\u0648\u0631\u064a\u0629|\u0647\u0645\u0631\u0627\u0647|\u092d\u093e\u0930\u094b\u0924|\u0938\u0902\u0917\u0920\u0928|\u09ac\u09be\u0982\u09b2\u09be|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0d2d\u0d3e\u0d30\u0d24\u0d02|\u5609\u91cc\u5927\u9152\u5e97|aarp|able|adac|aero|aigo|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|doha|duck|duns|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scor|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|\u0434\u0435\u0442\u0438|\u0441\u0430\u0439\u0442|\u0628\u0627\u0631\u062a|\u0628\u064a\u062a\u0643|\u0680\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0634\u0628\u0643\u0629|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0645\u0648\u0642\u0639|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u09ad\u09be\u09f0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b2d\u0b3e\u0b30\u0b24|\u0cad\u0cbe\u0cb0\u0ca4|\u0dbd\u0d82\u0d9a\u0dcf|\u30b0\u30fc\u30b0\u30eb|\u30af\u30e9\u30a6\u30c9|\u30dd\u30a4\u30f3\u30c8|\u5927\u4f17\u6c7d\u8f66|\u7ec4\u7ec7\u673a\u6784|\u96fb\u8a0a\u76c8\u79d1|\u9999\u683c\u91cc\u62c9|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bnl|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceb|ceo|cfa|cfd|com|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jcp|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|srl|srt|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|\u0431\u0435\u043b|\u043a\u043e\u043c|\u049b\u0430\u0437|\u043c\u043a\u0434|\u043c\u043e\u043d|\u043e\u0440\u0433|\u0440\u0443\u0441|\u0441\u0440\u0431|\u0443\u043a\u0440|\u0570\u0561\u0575|\u05e7\u05d5\u05dd|\u0639\u0631\u0628|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0915\u0949\u092e|\u0928\u0947\u091f|\u0e04\u0e2d\u0e21|\u0e44\u0e17\u0e22|\u30b9\u30c8\u30a2|\u30bb\u30fc\u30eb|\u307f\u3093\u306a|\u4e2d\u6587\u7f51|\u5929\u4e3b\u6559|\u6211\u7231\u4f60|\u65b0\u52a0\u5761|\u6de1\u9a6c\u9521|\u8bfa\u57fa\u4e9a|\u98de\u5229\u6d66|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|\u03b5\u03bb|\u0431\u0433|\u0435\u044e|\u0440\u0444|\u10d2\u10d4|\ub2f7\ub137|\ub2f7\ucef4|\uc0bc\uc131|\ud55c\uad6d|\u30b3\u30e0|\u4e16\u754c|\u4e2d\u4fe1|\u4e2d\u56fd|\u4e2d\u570b|\u4f01\u4e1a|\u4f5b\u5c71|\u4fe1\u606f|\u5065\u5eb7|\u516b\u5366|\u516c\u53f8|\u516c\u76ca|\u53f0\u6e7e|\u53f0\u7063|\u5546\u57ce|\u5546\u5e97|\u5546\u6807|\u5609\u91cc|\u5728\u7ebf|\u5927\u62ff|\u5a31\u4e50|\u5bb6\u96fb|\u5de5\u884c|\u5e7f\u4e1c|\u5fae\u535a|\u6148\u5584|\u624b\u673a|\u624b\u8868|\u62db\u8058|\u653f\u52a1|\u653f\u5e9c|\u65b0\u95fb|\u65f6\u5c1a|\u66f8\u7c4d|\u673a\u6784|\u6e38\u620f|\u6fb3\u9580|\u70b9\u770b|\u73e0\u5b9d|\u79fb\u52a8|\u7f51\u5740|\u7f51\u5e97|\u7f51\u7ad9|\u7f51\u7edc|\u8054\u901a|\u8c37\u6b4c|\u8d2d\u7269|\u901a\u8ca9|\u96c6\u56e2|\u98df\u54c1|\u9910\u5385|\u9999\u6e2f)/,lt=new RegExp("["+be+"!#$%&'*+/=?^_`{|}~-]"),nn=new RegExp("^"+Et.source+"$"),St=function(Xt){function ut(){var mt=null!==Xt&&Xt.apply(this,arguments)||this;return mt.localPartCharRegex=lt,mt.strictTldRegex=nn,mt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){for(var Tt=this.tagBuilder,yn=this.localPartCharRegex,et=this.strictTldRegex,jt=[],hn=mt.length,Qn=new At,Ir={m:"a",a:"i",i:"l",l:"t",t:"o",o:":"},ht=0,L=0,Ue=Qn;ht<hn;){var nt=mt.charAt(ht);switch(L){case 0:"m"===(_r=nt)?Bn(1):yn.test(_r)&&Bn();break;case 1:it(mt.charAt(ht-1),nt);break;case 2:Pt(nt);break;case 3:Ut(nt);break;case 4:ot(nt);break;case 5:Nn(nt);break;case 6:sn(nt);break;case 7:An(nt);break;default:h(L)}ht++}var _r;return mr(),jt;function it(_r,Nr){":"===_r?yn.test(Nr)?(L=2,Ue=new At(x(x({},Ue),{hasMailtoPrefix:!0}))):ir():Ir[_r]===Nr||(yn.test(Nr)?L=2:"."===Nr?L=3:"@"===Nr?L=4:ir())}function Pt(_r){"."===_r?L=3:"@"===_r?L=4:yn.test(_r)||ir()}function Ut(_r){"."===_r||"@"===_r?ir():yn.test(_r)?L=2:ir()}function ot(_r){je.test(_r)?L=5:ir()}function Nn(_r){"."===_r?L=7:"-"===_r?L=6:je.test(_r)||mr()}function sn(_r){"-"===_r||"."===_r?mr():je.test(_r)?L=5:mr()}function An(_r){"."===_r||"-"===_r?mr():je.test(_r)?(L=5,Ue=new At(x(x({},Ue),{hasDomainDot:!0}))):mr()}function Bn(_r){void 0===_r&&(_r=2),L=_r,Ue=new At({idx:ht})}function ir(){L=0,Ue=Qn}function mr(){if(Ue.hasDomainDot){var _r=mt.slice(Ue.idx,ht);/[-.]$/.test(_r)&&(_r=_r.slice(0,-1));var Nr=Ue.hasMailtoPrefix?_r.slice("mailto:".length):_r;Jn=(Nr.split(".").pop()||"").toLowerCase(),et.test(Jn)&&jt.push(new H({tagBuilder:Tt,matchedText:_r,offset:Ue.idx,email:Nr}))}var Jn;ir()}},ut}(J),At=function(Xt){void 0===Xt&&(Xt={}),this.idx=void 0!==Xt.idx?Xt.idx:-1,this.hasMailtoPrefix=!!Xt.hasMailtoPrefix,this.hasDomainDot=!!Xt.hasDomainDot},Qe=function(){function Xt(){}return Xt.isValid=function(ut,mt){return!(mt&&!this.isValidUriScheme(mt)||this.urlMatchDoesNotHaveProtocolOrDot(ut,mt)||this.urlMatchDoesNotHaveAtLeastOneWordChar(ut,mt)&&!this.isValidIpAddress(ut)||this.containsMultipleDots(ut))},Xt.isValidIpAddress=function(ut){var mt=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source);return null!==ut.match(mt)},Xt.containsMultipleDots=function(ut){var mt=ut;return this.hasFullProtocolRegex.test(ut)&&(mt=ut.split("://")[1]),mt.split("/")[0].indexOf("..")>-1},Xt.isValidUriScheme=function(ut){var mt=ut.match(this.uriSchemeRegex),Tt=mt&&mt[0].toLowerCase();return"javascript:"!==Tt&&"vbscript:"!==Tt},Xt.urlMatchDoesNotHaveProtocolOrDot=function(ut,mt){return!(!ut||mt&&this.hasFullProtocolRegex.test(mt)||-1!==ut.indexOf("."))},Xt.urlMatchDoesNotHaveAtLeastOneWordChar=function(ut,mt){return!(!ut||!mt||this.hasFullProtocolRegex.test(mt)||this.hasWordCharAfterProtocolRegex.test(ut))},Xt.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,Xt.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,Xt.hasWordCharAfterProtocolRegex=new RegExp(":[^\\s]*?["+ce+"]"),Xt.ipRegex=/[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?(:[0-9]*)?\/?$/,Xt}(),It=(j=new RegExp("[/?#](?:["+be+"\\-+&@#/%=~_()|'$*\\[\\]{}?!:,.;^\u2713]*["+be+"\\-+&@#/%=~_()|'$*\\[\\]{}\u2713])?"),new RegExp(["(?:","(",/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\/\/)(?!\d+\/?)(?:\/\/)?)/.source,F(2),")","|","(","(//)?",/(?:www\.)/.source,F(6),")","|","(","(//)?",F(10)+"\\.",Et.source,"(?![-"+Oe+"])",")",")","(?::[0-9]+)?","(?:"+j.source+")?"].join(""),"gi")),ae=new RegExp("["+be+"]"),Ie=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.stripPrefix={scheme:!0,www:!0},Tt.stripTrailingSlash=!0,Tt.decodePercentEncoding=!0,Tt.matcherRegex=It,Tt.wordCharRegExp=ae,Tt.stripPrefix=mt.stripPrefix,Tt.stripTrailingSlash=mt.stripTrailingSlash,Tt.decodePercentEncoding=mt.decodePercentEncoding,Tt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){for(var Tt,yn=this.matcherRegex,et=this.stripPrefix,jt=this.stripTrailingSlash,hn=this.decodePercentEncoding,Qn=this.tagBuilder,Ir=[],ht=function(){var Ue=Tt[0],nt=Tt[1],at=Tt[4],Ut=Tt.index,ot=Tt[5]||Tt[9],Nn=mt.charAt(Ut-1);if(!Qe.isValid(Ue,nt)||Ut>0&&"@"===Nn||Ut>0&&ot&&L.wordCharRegExp.test(Nn))return"continue";if(/\?$/.test(Ue)&&(Ue=Ue.substr(0,Ue.length-1)),L.matchHasUnbalancedClosingParen(Ue))Ue=Ue.substr(0,Ue.length-1);else{var sn=L.matchHasInvalidCharAfterTld(Ue,nt);sn>-1&&(Ue=Ue.substr(0,sn))}var An=["http://","https://"].find(function(_r){return!!nt&&-1!==nt.indexOf(_r)});if(An){var Bn=Ue.indexOf(An);Ue=Ue.substr(Bn),nt=nt.substr(Bn),Ut+=Bn}Ir.push(new I({tagBuilder:Qn,matchedText:Ue,offset:Ut,urlMatchType:nt?"scheme":at?"www":"tld",url:Ue,protocolUrlMatch:!!nt,protocolRelativeMatch:!!ot,stripPrefix:et,stripTrailingSlash:jt,decodePercentEncoding:hn}))},L=this;null!==(Tt=yn.exec(mt));)ht();return Ir},ut.prototype.matchHasUnbalancedClosingParen=function(mt){var Tt,yn=mt.charAt(mt.length-1);if(")"===yn)Tt="(";else if("]"===yn)Tt="[";else{if("}"!==yn)return!1;Tt="{"}for(var et=0,jt=0,hn=mt.length-1;jt<hn;jt++){var Qn=mt.charAt(jt);Qn===Tt?et++:Qn===yn&&(et=Math.max(et-1,0))}return 0===et},ut.prototype.matchHasInvalidCharAfterTld=function(mt,Tt){if(!mt)return-1;var yn=0;Tt&&(yn=mt.indexOf(":"),mt=mt.slice(yn));var et=new RegExp("^((.?//)?[-."+be+"]*[-"+be+"]\\.[-"+be+"]+)").exec(mt);return null===et?-1:(yn+=et[1].length,mt=mt.slice(et[1].length),/^[^-.A-Za-z0-9:\/?#]/.test(mt)?yn:-1)},ut}(J),dt=new RegExp("#[_"+be+"]{1,139}(?![_"+be+"])","g"),Jt=new RegExp("[^"+be+"]"),zt=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.serviceName="twitter",Tt.matcherRegex=dt,Tt.nonWordCharRegex=Jt,Tt.serviceName=mt.serviceName,Tt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){for(var Tt,yn=this.matcherRegex,et=this.nonWordCharRegex,jt=this.serviceName,hn=this.tagBuilder,Qn=[];null!==(Tt=yn.exec(mt));){var Ir=Tt.index,ht=mt.charAt(Ir-1);if(0===Ir||et.test(ht)){var L=Tt[0],Ue=Tt[0].slice(1);Qn.push(new z({tagBuilder:hn,matchedText:L,offset:Ir,serviceName:jt,hashtag:Ue}))}}return Qn},ut}(J),ln=new RegExp(/(?:(?:(?:(\+)?\d{1,3}[-\040.]?)?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\040.]?(?:\d[-\040.]?){6,12}\d+))([,;]+[0-9]+#?)*/.source+"|"+/(0([1-9]{1}-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/.source,"g"),ar=function(Xt){function ut(){var mt=null!==Xt&&Xt.apply(this,arguments)||this;return mt.matcherRegex=ln,mt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){for(var Tt,yn=this.matcherRegex,et=this.tagBuilder,jt=[];null!==(Tt=yn.exec(mt));){var hn=Tt[0],Qn=hn.replace(/[^0-9,;#]/g,""),Ir=!(!Tt[1]&&!Tt[2]),ht=0==Tt.index?"":mt.substr(Tt.index-1,1),L=mt.substr(Tt.index+hn.length,1),Ue=!ht.match(/\d/)&&!L.match(/\d/);this.testMatch(Tt[3])&&this.testMatch(hn)&&Ue&&jt.push(new M({tagBuilder:et,matchedText:hn,offset:Tt.index,number:Qn,plusSign:Ir}))}return jt},ut.prototype.testMatch=function(mt){return oe.test(mt)},ut}(J),Ln=new RegExp("@[_"+be+"]{1,50}(?![_"+be+"])","g"),Rn=new RegExp("@[_."+be+"]{1,30}(?![_"+be+"])","g"),er=new RegExp("@[-_."+be+"]{1,50}(?![-_"+be+"])","g"),Mn=new RegExp("[^"+be+"]"),Ht=function(Xt){function ut(mt){var Tt=Xt.call(this,mt)||this;return Tt.serviceName="twitter",Tt.matcherRegexes={twitter:Ln,instagram:Rn,soundcloud:er},Tt.nonWordCharRegex=Mn,Tt.serviceName=mt.serviceName,Tt}return D(ut,Xt),ut.prototype.parseMatches=function(mt){var Tt,yn=this.serviceName,et=this.matcherRegexes[this.serviceName],jt=this.nonWordCharRegex,hn=this.tagBuilder,Qn=[];if(!et)return Qn;for(;null!==(Tt=et.exec(mt));){var Ir=Tt.index,ht=mt.charAt(Ir-1);if(0===Ir||jt.test(ht)){var L=Tt[0].replace(/\.+$/g,""),Ue=L.slice(1);Qn.push(new U({tagBuilder:hn,matchedText:L,offset:Ir,serviceName:yn,mention:Ue}))}}return Qn},ut}(J),Yn=function(Xt){void 0===Xt&&(Xt={}),this.idx=void 0!==Xt.idx?Xt.idx:-1,this.type=Xt.type||"tag",this.name=Xt.name||"",this.isOpening=!!Xt.isOpening,this.isClosing=!!Xt.isClosing},Cn=function(){function Xt(ut){void 0===ut&&(ut={}),this.version=Xt.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(ut.urls),this.email="boolean"==typeof ut.email?ut.email:this.email,this.phone="boolean"==typeof ut.phone?ut.phone:this.phone,this.hashtag=ut.hashtag||this.hashtag,this.mention=ut.mention||this.mention,this.newWindow="boolean"==typeof ut.newWindow?ut.newWindow:this.newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(ut.stripPrefix),this.stripTrailingSlash="boolean"==typeof ut.stripTrailingSlash?ut.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding="boolean"==typeof ut.decodePercentEncoding?ut.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=ut.sanitizeHtml||!1;var mt=this.mention;if(!1!==mt&&"twitter"!==mt&&"instagram"!==mt&&"soundcloud"!==mt)throw new Error("invalid `mention` cfg - see docs");var Tt=this.hashtag;if(!1!==Tt&&"twitter"!==Tt&&"facebook"!==Tt&&"instagram"!==Tt)throw new Error("invalid `hashtag` cfg - see docs");this.truncate=this.normalizeTruncateCfg(ut.truncate),this.className=ut.className||this.className,this.replaceFn=ut.replaceFn||this.replaceFn,this.context=ut.context||this}return Xt.link=function(ut,mt){return new Xt(mt).link(ut)},Xt.parse=function(ut,mt){return new Xt(mt).parse(ut)},Xt.prototype.normalizeUrlsCfg=function(ut){return null==ut&&(ut=!0),"boolean"==typeof ut?{schemeMatches:ut,wwwMatches:ut,tldMatches:ut}:{schemeMatches:"boolean"!=typeof ut.schemeMatches||ut.schemeMatches,wwwMatches:"boolean"!=typeof ut.wwwMatches||ut.wwwMatches,tldMatches:"boolean"!=typeof ut.tldMatches||ut.tldMatches}},Xt.prototype.normalizeStripPrefixCfg=function(ut){return null==ut&&(ut=!0),"boolean"==typeof ut?{scheme:ut,www:ut}:{scheme:"boolean"!=typeof ut.scheme||ut.scheme,www:"boolean"!=typeof ut.www||ut.www}},Xt.prototype.normalizeTruncateCfg=function(ut){return"number"==typeof ut?{length:ut,location:"end"}:function(mt,Tt){for(var yn in Tt)Tt.hasOwnProperty(yn)&&void 0===mt[yn]&&(mt[yn]=Tt[yn]);return mt}(ut||{},{length:Number.POSITIVE_INFINITY,location:"end"})},Xt.prototype.parse=function(ut){var mt=this,Tt=["a","style","script"],yn=0,et=[];return function(Xt,ut){for(var mt,Tt=ut.onOpenTag,yn=ut.onCloseTag,et=ut.onText,jt=ut.onComment,hn=ut.onDoctype,Qn=new Yn,Ir=0,ht=Xt.length,L=0,Ue=0,nt=Qn;Ir<ht;){var at=Xt.charAt(Ir);switch(L){case 0:"<"===at&&di();break;case 1:"!"===(Ke=at)?L=13:"/"===Ke?(L=2,nt=new Yn(x(x({},nt),{isClosing:!0}))):"<"===Ke?di():Y.test(Ke)?(L=3,nt=new Yn(x(x({},nt),{isOpening:!0}))):(L=0,nt=Qn);break;case 2:ot(at);break;case 3:Ut(at);break;case 4:Nn(at);break;case 5:sn(at);break;case 6:An(at);break;case 7:Bn(at);break;case 8:ir(at);break;case 9:mr(at);break;case 10:_r(at);break;case 11:Nr(at);break;case 12:br(at);break;case 13:"--"===Xt.substr(Ir,2)?(Ir+=2,nt=new Yn(x(x({},nt),{type:"comment"})),L=14):"DOCTYPE"===Xt.substr(Ir,7).toUpperCase()?(Ir+=7,nt=new Yn(x(x({},nt),{type:"doctype"})),L=20):ei();break;case 14:nr(at);break;case 15:Mr(at);break;case 16:yi(at);break;case 17:Ii(at);break;case 18:Mi(at);break;case 19:Oi(at);break;case 20:Kr(at);break;default:h(L)}Ir++}var Ke;function Ut(Ke){fe.test(Ke)?(nt=new Yn(x(x({},nt),{name:ct()})),L=4):"<"===Ke?di():"/"===Ke?(nt=new Yn(x(x({},nt),{name:ct()})),L=12):">"===Ke?(nt=new Yn(x(x({},nt),{name:ct()})),se()):Y.test(Ke)||ie.test(Ke)||":"===Ke||ei()}function ot(Ke){">"===Ke?ei():Y.test(Ke)?L=3:ei()}function Nn(Ke){fe.test(Ke)||("/"===Ke?L=12:">"===Ke?se():"<"===Ke?di():"="===Ke||ne.test(Ke)||he.test(Ke)?ei():L=5)}function sn(Ke){fe.test(Ke)?L=6:"/"===Ke?L=12:"="===Ke?L=7:">"===Ke?se():"<"===Ke?di():ne.test(Ke)&&ei()}function An(Ke){fe.test(Ke)||("/"===Ke?L=12:"="===Ke?L=7:">"===Ke?se():"<"===Ke?di():ne.test(Ke)?ei():L=5)}function Bn(Ke){fe.test(Ke)||('"'===Ke?L=8:"'"===Ke?L=9:/[>=`]/.test(Ke)?ei():"<"===Ke?di():L=10)}function ir(Ke){'"'===Ke&&(L=11)}function mr(Ke){"'"===Ke&&(L=11)}function _r(Ke){fe.test(Ke)?L=4:">"===Ke?se():"<"===Ke&&di()}function Nr(Ke){fe.test(Ke)?L=4:"/"===Ke?L=12:">"===Ke?se():"<"===Ke?di():(L=4,Ir--)}function br(Ke){">"===Ke?(nt=new Yn(x(x({},nt),{isClosing:!0})),se()):L=4}function nr(Ke){"-"===Ke?L=15:">"===Ke?ei():L=16}function Mr(Ke){"-"===Ke?L=18:">"===Ke?ei():L=16}function yi(Ke){"-"===Ke&&(L=17)}function Ii(Ke){L="-"===Ke?18:16}function Mi(Ke){">"===Ke?se():"!"===Ke?L=19:"-"===Ke||(L=16)}function Oi(Ke){"-"===Ke?L=17:">"===Ke?se():L=16}function Kr(Ke){">"===Ke?se():"<"===Ke&&di()}function ei(){L=0,nt=Qn}function di(){L=1,nt=new Yn({idx:Ir})}function se(){var Ke=Xt.slice(Ue,nt.idx);Ke&&et(Ke,Ue),"comment"===nt.type?jt(nt.idx):"doctype"===nt.type?hn(nt.idx):(nt.isOpening&&Tt(nt.name,nt.idx),nt.isClosing&&yn(nt.name,nt.idx)),ei(),Ue=Ir+1}function ct(){return Xt.slice(nt.idx+(nt.isClosing?2:1),Ir).toLowerCase()}Ue<Ir&&(mt=Xt.slice(Ue,Ir),et(mt,Ue),Ue=Ir+1)}(ut,{onOpenTag:function(jt){Tt.indexOf(jt)>=0&&yn++},onText:function(jt,hn){if(0===yn){var Qn=function(ht,L){if(!L.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var Ue,nt=[],at=0;Ue=L.exec(ht);)nt.push(ht.substring(at,Ue.index)),nt.push(Ue[0]),at=Ue.index+Ue[0].length;return nt.push(ht.substring(at)),nt}(jt,/( | |<|<|>|>|"|"|')/gi),Ir=hn;Qn.forEach(function(ht,L){if(L%2==0){var Ue=mt.parseText(ht,Ir);et.push.apply(et,Ue)}Ir+=ht.length})}},onCloseTag:function(jt){Tt.indexOf(jt)>=0&&(yn=Math.max(yn-1,0))},onComment:function(jt){},onDoctype:function(jt){}}),et=this.compactMatches(et),et=this.removeUnwantedMatches(et)},Xt.prototype.compactMatches=function(ut){ut.sort(function(Qn,Ir){return Qn.getOffset()-Ir.getOffset()});for(var mt=0;mt<ut.length-1;mt++){var Tt=ut[mt],yn=Tt.getOffset(),et=Tt.getMatchedText().length,jt=yn+et;if(mt+1<ut.length){if(ut[mt+1].getOffset()===yn){var hn=ut[mt+1].getMatchedText().length>et?mt:mt+1;ut.splice(hn,1);continue}ut[mt+1].getOffset()<jt&&ut.splice(mt+1,1)}}return ut},Xt.prototype.removeUnwantedMatches=function(ut){return this.hashtag||u(ut,function(mt){return"hashtag"===mt.getType()}),this.email||u(ut,function(mt){return"email"===mt.getType()}),this.phone||u(ut,function(mt){return"phone"===mt.getType()}),this.mention||u(ut,function(mt){return"mention"===mt.getType()}),this.urls.schemeMatches||u(ut,function(mt){return"url"===mt.getType()&&"scheme"===mt.getUrlMatchType()}),this.urls.wwwMatches||u(ut,function(mt){return"url"===mt.getType()&&"www"===mt.getUrlMatchType()}),this.urls.tldMatches||u(ut,function(mt){return"url"===mt.getType()&&"tld"===mt.getUrlMatchType()}),ut},Xt.prototype.parseText=function(ut,mt){void 0===mt&&(mt=0),mt=mt||0;for(var Tt=this.getMatchers(),yn=[],et=0,jt=Tt.length;et<jt;et++){for(var hn=Tt[et].parseMatches(ut),Qn=0,Ir=hn.length;Qn<Ir;Qn++)hn[Qn].setOffset(mt+hn[Qn].getOffset());yn.push.apply(yn,hn)}return yn},Xt.prototype.link=function(ut){if(!ut)return"";this.sanitizeHtml&&(ut=ut.replace(/</g,"<").replace(/>/g,">"));for(var mt=this.parse(ut),Tt=[],yn=0,et=0,jt=mt.length;et<jt;et++){var hn=mt[et];Tt.push(ut.substring(yn,hn.getOffset())),Tt.push(this.createMatchReturnVal(hn)),yn=hn.getOffset()+hn.getMatchedText().length}return Tt.push(ut.substring(yn)),Tt.join("")},Xt.prototype.createMatchReturnVal=function(ut){var mt;return this.replaceFn&&(mt=this.replaceFn.call(this.context,ut)),"string"==typeof mt?mt:!1===mt?ut.getMatchedText():mt instanceof _?mt.toAnchorString():ut.buildTag().toAnchorString()},Xt.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var ut=this.getTagBuilder(),mt=[new zt({tagBuilder:ut,serviceName:this.hashtag}),new St({tagBuilder:ut}),new ar({tagBuilder:ut}),new Ht({tagBuilder:ut,serviceName:this.mention}),new Ie({tagBuilder:ut,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=mt},Xt.prototype.getTagBuilder=function(){var ut=this.tagBuilder;return ut||(ut=this.tagBuilder=new m({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),ut},Xt.version="3.14.3",Xt.AnchorTagBuilder=m,Xt.HtmlTag=_,Xt.matcher={Email:St,Hashtag:zt,Matcher:J,Mention:Ht,Phone:ar,Url:Ie},Xt.match={Email:H,Hashtag:z,Match:b,Mention:U,Phone:M,Url:I},Xt}(),Kt=/www|@|\:\/\//;function dn(Xt){return/^<\/a\s*>/i.test(Xt)}function Kn(){var Xt=[],ut=new Cn({stripPrefix:!1,url:!0,email:!0,replaceFn:function(mt){switch(mt.getType()){case"url":Xt.push({text:mt.matchedText,url:mt.getUrl()});break;case"email":Xt.push({text:mt.matchedText,url:"mailto:"+mt.getEmail().replace(/^mailto:/i,"")})}return!1}});return{links:Xt,autolinker:ut}}function qn(Xt){var ut,mt,Tt,yn,et,jt,hn,Qn,Ir,ht,L,Ue,nt,it=Xt.tokens,Pt=null;for(mt=0,Tt=it.length;mt<Tt;mt++)if("inline"===it[mt].type)for(L=0,ut=(yn=it[mt].children).length-1;ut>=0;ut--)if("link_close"!==(et=yn[ut]).type){if("htmltag"===et.type&&(/^<a[>\s]/i.test(et.content)&&L>0&&L--,dn(et.content)&&L++),!(L>0)&&"text"===et.type&&Kt.test(et.content)){if(Pt||(Ue=(Pt=Kn()).links,nt=Pt.autolinker),jt=et.content,Ue.length=0,nt.link(jt),!Ue.length)continue;for(hn=[],ht=et.level,Qn=0;Qn<Ue.length;Qn++)Xt.inline.validateLink(Ue[Qn].url)&&((Ir=jt.indexOf(Ue[Qn].text))&&hn.push({type:"text",content:jt.slice(0,Ir),level:ht}),hn.push({type:"link_open",href:Ue[Qn].url,title:"",level:ht++}),hn.push({type:"text",content:Ue[Qn].text,level:ht}),hn.push({type:"link_close",level:--ht}),jt=jt.slice(Ir+Ue[Qn].text.length));jt.length&&hn.push({type:"text",content:jt,level:ht}),it[mt].children=yn=[].concat(yn.slice(0,ut),hn,yn.slice(ut+1))}}else for(ut--;yn[ut].level!==et.level&&"link_open"!==yn[ut].type;)ut--}function Sn(Xt){Xt.core.ruler.push("linkify",qn)}var $n=t(208),En=t.n($n),Fn=t(47),Dn=t.n(Fn);function mn(Xt){var ut=Xt.source,mt=Xt.className,Tt=void 0===mt?"":mt,yn=Xt.getConfigs;if("string"!=typeof ut)return null;var et=new a.a({html:!0,typographer:!0,breaks:!0,linkTarget:"_blank"}).use(Sn);et.core.ruler.disable(["replacements","smartquotes"]);var jt=yn().useUnsafeMarkdown,hn=et.render(ut),Qn=jn(hn,{useUnsafeMarkdown:jt});return ut&&hn&&Qn?s.a.createElement("div",{className:Dn()(Tt,"markdown"),dangerouslySetInnerHTML:{__html:Qn}}):null}function jn(Xt){var ut=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},mt=ut.useUnsafeMarkdown,Tt=void 0!==mt&&mt,yn=Tt,et=Tt?[]:["style","class"];return Tt&&!jn.hasWarnedAboutDeprecation&&(console.warn("useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0."),jn.hasWarnedAboutDeprecation=!0),En.a.sanitize(Xt,{ADD_ATTR:["target"],FORBID_TAGS:["style","form"],ALLOW_DATA_ATTR:yn,FORBID_ATTR:et})}En.a.addHook&&En.a.addHook("beforeSanitizeElements",function(Xt){return Xt.href&&Xt.setAttribute("rel","noopener noreferrer"),Xt}),mn.defaultProps={getConfigs:function(){return{useUnsafeMarkdown:!1}}},o.a=mn,jn.hasWarnedAboutDeprecation=!1},function(g,o,t){"use strict";t.d(o,"a",function(){return ae});var e=t(29),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(10),m=t.n(_),b=t(8),C=t.n(b),D=t(9),x=t.n(D),j=t(3),H=t.n(j),z=t(2),U=t.n(z),M=t(18),I=t.n(M),J=t(4),Y=t.n(J),ie=t(0),oe=t.n(ie),fe=t(1);function ne(Ie){return(ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(dt){return typeof dt}:function(dt){return dt&&"function"==typeof Symbol&&dt.constructor===Symbol&&dt!==Symbol.prototype?"symbol":typeof dt})(Ie)}function he(Ie,dt){if(!(Ie instanceof dt))throw new TypeError("Cannot call a class as a function")}function Ae(Ie,dt,Jt){return dt in Ie?Object.defineProperty(Ie,dt,{value:Jt,enumerable:!0,configurable:!0,writable:!0}):Ie[dt]=Jt,Ie}function Me(Ie,dt){var Jt=Object.keys(Ie);if(Object.getOwnPropertySymbols){var zt=Object.getOwnPropertySymbols(Ie);dt&&(zt=zt.filter(function(ln){return Object.getOwnPropertyDescriptor(Ie,ln).enumerable})),Jt.push.apply(Jt,zt)}return Jt}function Oe(Ie){for(var dt=1;dt<arguments.length;dt++){var Jt=null!=arguments[dt]?arguments[dt]:{};dt%2?Me(Jt,!0).forEach(function(zt){Ae(Ie,zt,Jt[zt])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Ie,Object.getOwnPropertyDescriptors(Jt)):Me(Jt).forEach(function(zt){Object.defineProperty(Ie,zt,Object.getOwnPropertyDescriptor(Jt,zt))})}return Ie}function be(Ie){return(be=Object.setPrototypeOf?Object.getPrototypeOf:function(dt){return dt.__proto__||Object.getPrototypeOf(dt)})(Ie)}function ue(Ie,dt){return(ue=Object.setPrototypeOf||function(Jt,zt){return Jt.__proto__=zt,Jt})(Ie,dt)}function He(Ie,dt){return!dt||"object"!=typeof dt&&"function"!=typeof dt?function(Jt){if(void 0===Jt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Jt}(Ie):dt}var $e={};function F(Ie,dt,Jt){return null==Ie?Jt:null!==(zt=Ie)&&"object"===ne(zt)&&"function"==typeof zt.get&&"function"==typeof zt.has?Ie.has(dt)?Ie.get(dt):Jt:hasOwnProperty.call(Ie,dt)?Ie[dt]:Jt;var zt}function je(Ie,dt,Jt){for(var zt=0;zt!==dt.length;)if((Ie=F(Ie,dt[zt++],$e))===$e)return Jt;return Ie}function Et(Ie){var dt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Jt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},zt=lt(dt,Jt),ln=Ie||Object.keys(Oe({},Jt,{},dt));return ln.every(zt)}function lt(Ie,dt){return function(Jt){if("string"==typeof Jt)return Object(fe.is)(dt[Jt],Ie[Jt]);if(Array.isArray(Jt))return Object(fe.is)(je(dt,Jt),je(Ie,Jt));throw new TypeError("Invalid key: expected Array or string: "+Jt)}}var nn=function(Ie){function dt(){return he(this,dt),He(this,be(dt).apply(this,arguments))}var zt;return function(ar,Ln){if("function"!=typeof Ln&&null!==Ln)throw new TypeError("Super expression must either be null or a function");ar.prototype=Object.create(Ln&&Ln.prototype,{constructor:{value:ar,writable:!0,configurable:!0}}),Ln&&ue(ar,Ln)}(dt,Ie),(zt=[{key:"shouldComponentUpdate",value:function(ar){var Ln=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!Et(this.updateOnProps,this.props,ar,"updateOnProps")||!Et(this.updateOnStates,this.state,Ln,"updateOnStates")}}])&&function(Ie,dt){for(var Jt=0;Jt<dt.length;Jt++){var zt=dt[Jt];zt.enumerable=zt.enumerable||!1,zt.configurable=!0,"value"in zt&&(zt.writable=!0),Object.defineProperty(Ie,zt.key,zt)}}(dt.prototype,zt),dt}(oe.a.Component),St=t(28),At=t.n(St),Qe=t(11),It=t.n(Qe),ae=function(Ie){C()(Jt,Ie);var dt=x()(Jt);function Jt(){var zt,ln;l()(this,Jt);for(var ar=arguments.length,Ln=new Array(ar),Rn=0;Rn<ar;Rn++)Ln[Rn]=arguments[Rn];return ln=dt.call.apply(dt,U()(zt=[this]).call(zt,Ln)),H()(m()(ln),"getModelName",function(er){return-1!==I()(er).call(er,"#/definitions/")?er.replace(/^.*#\/definitions\//,""):-1!==I()(er).call(er,"#/components/schemas/")?er.replace(/^.*#\/components\/schemas\//,""):void 0}),H()(m()(ln),"getRefSchema",function(er){return ln.props.specSelectors.findDefinition(er)}),ln}return h()(Jt,[{key:"render",value:function(){var zt=this.props,ln=zt.getComponent,ar=zt.getConfigs,Ln=zt.specSelectors,Rn=zt.schema,er=zt.required,Mn=zt.name,Ht=zt.isRef,tr=zt.specPath,Yn=zt.displayName,Cn=zt.includeReadOnly,Kt=zt.includeWriteOnly,dn=ln("ObjectModel"),Kn=ln("ArrayModel"),qn=ln("PrimitiveModel"),Sn="object",$n=Rn&&Rn.get("$$ref");if(!Mn&&$n&&(Mn=this.getModelName($n)),!Rn&&$n&&(Rn=this.getRefSchema(Mn)),!Rn)return oe.a.createElement("span",{className:"model model-title"},oe.a.createElement("span",{className:"model-title__text"},Yn||Mn),oe.a.createElement("img",{src:t(447),height:"20px",width:"20px"}));var En=Ln.isOAS3()&&Rn.get("deprecated");switch(Ht=void 0!==Ht?Ht:!!$n,Sn=Rn&&Rn.get("type")||Sn){case"object":return oe.a.createElement(dn,s()({className:"object"},this.props,{specPath:tr,getConfigs:ar,schema:Rn,name:Mn,deprecated:En,isRef:Ht,includeReadOnly:Cn,includeWriteOnly:Kt}));case"array":return oe.a.createElement(Kn,s()({className:"array"},this.props,{getConfigs:ar,schema:Rn,name:Mn,deprecated:En,required:er,includeReadOnly:Cn,includeWriteOnly:Kt}));case"string":case"number":case"integer":case"boolean":default:return oe.a.createElement(qn,s()({},this.props,{getComponent:ln,getConfigs:ar,schema:Rn,name:Mn,deprecated:En,required:er}))}}}]),Jt}(nn);H()(ae,"propTypes",{schema:Y()(At.a).isRequired,getComponent:It.a.func.isRequired,getConfigs:It.a.func.isRequired,specSelectors:It.a.object.isRequired,name:It.a.string,displayName:It.a.string,isRef:It.a.bool,required:It.a.bool,expandDepth:It.a.number,depth:It.a.number,specPath:At.a.list.isRequired,includeReadOnly:It.a.bool,includeWriteOnly:It.a.bool})},function(g,o,t){"use strict";var e=t(923),s=t(933),a=t(252);g.exports={formats:a,parse:s,stringify:e}},function(g,o,t){g.exports=function(){"use strict";var s=Object.hasOwnProperty,a=Object.setPrototypeOf,l=Object.isFrozen,u=Object.getPrototypeOf,h=Object.getOwnPropertyDescriptor,_=Object.freeze,m=Object.seal,b=Object.create,C="undefined"!=typeof Reflect&&Reflect,D=C.apply,x=C.construct;D||(D=function(Rn,er,Mn){return Rn.apply(er,Mn)}),_||(_=function(Rn){return Rn}),m||(m=function(Rn){return Rn}),x||(x=function(Rn,er){return new(Function.prototype.bind.apply(Rn,[null].concat(function(Rn){if(Array.isArray(Rn)){for(var er=0,Mn=Array(Rn.length);er<Rn.length;er++)Mn[er]=Rn[er];return Mn}return Array.from(Rn)}(er))))});var Rn,j=fe(Array.prototype.forEach),H=fe(Array.prototype.pop),z=fe(Array.prototype.push),U=fe(String.prototype.toLowerCase),M=fe(String.prototype.match),I=fe(String.prototype.replace),J=fe(String.prototype.indexOf),Y=fe(String.prototype.trim),ie=fe(RegExp.prototype.test),oe=(Rn=TypeError,function(){for(var er=arguments.length,Mn=Array(er),Ht=0;Ht<er;Ht++)Mn[Ht]=arguments[Ht];return x(Rn,Mn)});function fe(Rn){return function(er){for(var Mn=arguments.length,Ht=Array(Mn>1?Mn-1:0),tr=1;tr<Mn;tr++)Ht[tr-1]=arguments[tr];return D(Rn,er,Ht)}}function he(Rn,er){a&&a(Rn,null);for(var Mn=er.length;Mn--;){var Ht=er[Mn];if("string"==typeof Ht){var tr=U(Ht);tr!==Ht&&(l(er)||(er[Mn]=tr),Ht=tr)}Rn[Ht]=!0}return Rn}function ce(Rn){var er=b(null),Mn=void 0;for(Mn in Rn)D(s,Rn,[Mn])&&(er[Mn]=Rn[Mn]);return er}function Ae(Rn,er){for(;null!==Rn;){var Mn=h(Rn,er);if(Mn){if(Mn.get)return fe(Mn.get);if("function"==typeof Mn.value)return fe(Mn.value)}Rn=u(Rn)}return function(tr){return console.warn("fallback value for",tr),null}}var Me=_(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Oe=_(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),be=_(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),ue=_(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),He=_(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),$e=_(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),F=_(["#text"]),je=_(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Et=_(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),lt=_(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),nn=_(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),St=m(/\{\{[\s\S]*|[\s\S]*\}\}/gm),At=m(/<%[\s\S]*|[\s\S]*%>/gm),Qe=m(/^data-[\-\w.\u00B7-\uFFFF]/),It=m(/^aria-[\-\w]+$/),ae=m(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ie=m(/^(?:\w+script|data):/i),dt=m(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Rn){return typeof Rn}:function(Rn){return Rn&&"function"==typeof Symbol&&Rn.constructor===Symbol&&Rn!==Symbol.prototype?"symbol":typeof Rn};function zt(Rn){if(Array.isArray(Rn)){for(var er=0,Mn=Array(Rn.length);er<Rn.length;er++)Mn[er]=Rn[er];return Mn}return Array.from(Rn)}var ln=function(){return"undefined"==typeof window?null:window},ar=function(Rn,er){if("object"!==(void 0===Rn?"undefined":Jt(Rn))||"function"!=typeof Rn.createPolicy)return null;var Mn=null,Ht="data-tt-policy-suffix";er.currentScript&&er.currentScript.hasAttribute(Ht)&&(Mn=er.currentScript.getAttribute(Ht));var tr="dompurify"+(Mn?"#"+Mn:"");try{return Rn.createPolicy(tr,{createHTML:function(Yn){return Yn}})}catch(Yn){return console.warn("TrustedTypes policy "+tr+" could not be created."),null}};return function Ln(){var Rn=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ln(),er=function(Er){return Ln(Er)};if(er.version="2.3.3",er.removed=[],!Rn||!Rn.document||9!==Rn.document.nodeType)return er.isSupported=!1,er;var Mn=Rn.document,Ht=Rn.document,tr=Rn.DocumentFragment,Yn=Rn.HTMLTemplateElement,Cn=Rn.Node,Kt=Rn.Element,dn=Rn.NodeFilter,Kn=Rn.NamedNodeMap,qn=void 0===Kn?Rn.NamedNodeMap||Rn.MozNamedAttrMap:Kn,Sn=Rn.Text,$n=Rn.Comment,En=Rn.DOMParser,Fn=Rn.trustedTypes,Dn=Kt.prototype,mn=Ae(Dn,"cloneNode"),jn=Ae(Dn,"nextSibling"),Xt=Ae(Dn,"childNodes"),ut=Ae(Dn,"parentNode");if("function"==typeof Yn){var mt=Ht.createElement("template");mt.content&&mt.content.ownerDocument&&(Ht=mt.content.ownerDocument)}var Tt=ar(Fn,Mn),yn=Tt&&ei?Tt.createHTML(""):"",et=Ht,jt=et.implementation,hn=et.createNodeIterator,Qn=et.createDocumentFragment,Ir=et.getElementsByTagName,ht=Mn.importNode,L={};try{L=ce(Ht).documentMode?Ht.documentMode:{}}catch(Er){}var Ue={};er.isSupported="function"==typeof ut&&jt&&void 0!==jt.createHTMLDocument&&9!==L;var nt=St,at=At,it=Qe,Pt=It,Ut=Ie,ot=dt,Nn=ae,sn=null,An=he({},[].concat(zt(Me),zt(Oe),zt(be),zt(He),zt(F))),Bn=null,ir=he({},[].concat(zt(je),zt(Et),zt(lt),zt(nn))),mr=null,_r=null,Nr=!0,br=!0,Jn=!1,nr=!1,Mr=!1,yi=!1,Ii=!1,Mi=!1,Oi=!1,Kr=!0,ei=!1,di=!0,se=!0,ct=!1,Ke={},Xe=null,Vt=he({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ct=null,rt=he({},["audio","video","img","source","image","track"]),bt=null,We=he({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),$t="http://www.w3.org/1998/Math/MathML",or="http://www.w3.org/2000/svg",Zn="http://www.w3.org/1999/xhtml",Vr=Zn,Cr=!1,ai=void 0,Dr=["application/xhtml+xml","text/html"],Qr="text/html",rn=void 0,fi=null,Ei=Ht.createElement("form"),wi=function(Er){fi&&fi===Er||(Er&&"object"===(void 0===Er?"undefined":Jt(Er))||(Er={}),Er=ce(Er),sn="ALLOWED_TAGS"in Er?he({},Er.ALLOWED_TAGS):An,Bn="ALLOWED_ATTR"in Er?he({},Er.ALLOWED_ATTR):ir,bt="ADD_URI_SAFE_ATTR"in Er?he(ce(We),Er.ADD_URI_SAFE_ATTR):We,Ct="ADD_DATA_URI_TAGS"in Er?he(ce(rt),Er.ADD_DATA_URI_TAGS):rt,Xe="FORBID_CONTENTS"in Er?he({},Er.FORBID_CONTENTS):Vt,mr="FORBID_TAGS"in Er?he({},Er.FORBID_TAGS):{},_r="FORBID_ATTR"in Er?he({},Er.FORBID_ATTR):{},Ke="USE_PROFILES"in Er&&Er.USE_PROFILES,Nr=!1!==Er.ALLOW_ARIA_ATTR,br=!1!==Er.ALLOW_DATA_ATTR,Jn=Er.ALLOW_UNKNOWN_PROTOCOLS||!1,nr=Er.SAFE_FOR_TEMPLATES||!1,Mr=Er.WHOLE_DOCUMENT||!1,Mi=Er.RETURN_DOM||!1,Oi=Er.RETURN_DOM_FRAGMENT||!1,Kr=!1!==Er.RETURN_DOM_IMPORT,ei=Er.RETURN_TRUSTED_TYPE||!1,Ii=Er.FORCE_BODY||!1,di=!1!==Er.SANITIZE_DOM,se=!1!==Er.KEEP_CONTENT,ct=Er.IN_PLACE||!1,Nn=Er.ALLOWED_URI_REGEXP||Nn,Vr=Er.NAMESPACE||Zn,ai=ai=-1===Dr.indexOf(Er.PARSER_MEDIA_TYPE)?Qr:Er.PARSER_MEDIA_TYPE,rn="application/xhtml+xml"===ai?function(st){return st}:U,nr&&(br=!1),Oi&&(Mi=!0),Ke&&(sn=he({},[].concat(zt(F))),Bn=[],!0===Ke.html&&(he(sn,Me),he(Bn,je)),!0===Ke.svg&&(he(sn,Oe),he(Bn,Et),he(Bn,nn)),!0===Ke.svgFilters&&(he(sn,be),he(Bn,Et),he(Bn,nn)),!0===Ke.mathMl&&(he(sn,He),he(Bn,lt),he(Bn,nn))),Er.ADD_TAGS&&(sn===An&&(sn=ce(sn)),he(sn,Er.ADD_TAGS)),Er.ADD_ATTR&&(Bn===ir&&(Bn=ce(Bn)),he(Bn,Er.ADD_ATTR)),Er.ADD_URI_SAFE_ATTR&&he(bt,Er.ADD_URI_SAFE_ATTR),Er.FORBID_CONTENTS&&(Xe===Vt&&(Xe=ce(Xe)),he(Xe,Er.FORBID_CONTENTS)),se&&(sn["#text"]=!0),Mr&&he(sn,["html","head","body"]),sn.table&&(he(sn,["tbody"]),delete mr.tbody),_&&_(Er),fi=Er)},go=he({},["mi","mo","mn","ms","mtext"]),Fi=he({},["foreignobject","desc","title","annotation-xml"]),no=he({},Oe);he(no,be),he(no,ue);var Ji=he({},He);he(Ji,$e);var qi=function(Er){var st=ut(Er);st&&st.tagName||(st={namespaceURI:Zn,tagName:"template"});var pn=U(Er.tagName),ee=U(st.tagName);if(Er.namespaceURI===or)return st.namespaceURI===Zn?"svg"===pn:st.namespaceURI===$t?"svg"===pn&&("annotation-xml"===ee||go[ee]):Boolean(no[pn]);if(Er.namespaceURI===$t)return st.namespaceURI===Zn?"math"===pn:st.namespaceURI===or?"math"===pn&&Fi[ee]:Boolean(Ji[pn]);if(Er.namespaceURI===Zn){if(st.namespaceURI===or&&!Fi[ee]||st.namespaceURI===$t&&!go[ee])return!1;var Ve=he({},["title","style","font","a","script"]);return!Ji[pn]&&(Ve[pn]||!no[pn])}return!1},to=function(Er){z(er.removed,{element:Er});try{Er.parentNode.removeChild(Er)}catch(st){try{Er.outerHTML=yn}catch(pn){Er.remove()}}},zi=function(Er,st){try{z(er.removed,{attribute:st.getAttributeNode(Er),from:st})}catch(pn){z(er.removed,{attribute:null,from:st})}if(st.removeAttribute(Er),"is"===Er&&!Bn[Er])if(Mi||Oi)try{to(st)}catch(pn){}else try{st.setAttribute(Er,"")}catch(pn){}},Go=function(Er){var st=void 0,pn=void 0;if(Ii)Er="<remove></remove>"+Er;else{var ee=M(Er,/^[\r\n\t ]+/);pn=ee&&ee[0]}"application/xhtml+xml"===ai&&(Er='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+Er+"</body></html>");var Ve=Tt?Tt.createHTML(Er):Er;if(Vr===Zn)try{st=(new En).parseFromString(Ve,ai)}catch(Tn){}if(!st||!st.documentElement){st=jt.createDocument(Vr,"template",null);try{st.documentElement.innerHTML=Cr?"":Ve}catch(Tn){}}var fn=st.body||st.documentElement;return Er&&pn&&fn.insertBefore(Ht.createTextNode(pn),fn.childNodes[0]||null),Vr===Zn?Ir.call(st,Mr?"html":"body")[0]:Mr?st.documentElement:fn},Ro=function(Er){return hn.call(Er.ownerDocument||Er,Er,dn.SHOW_ELEMENT|dn.SHOW_COMMENT|dn.SHOW_TEXT,null,!1)},Bo=function(Er){return!(Er instanceof Sn||Er instanceof $n||"string"==typeof Er.nodeName&&"string"==typeof Er.textContent&&"function"==typeof Er.removeChild&&Er.attributes instanceof qn&&"function"==typeof Er.removeAttribute&&"function"==typeof Er.setAttribute&&"string"==typeof Er.namespaceURI&&"function"==typeof Er.insertBefore)},Jo=function(Er){return"object"===(void 0===Cn?"undefined":Jt(Cn))?Er instanceof Cn:Er&&"object"===(void 0===Er?"undefined":Jt(Er))&&"number"==typeof Er.nodeType&&"string"==typeof Er.nodeName},es=function(Er,st,pn){Ue[Er]&&j(Ue[Er],function(ee){ee.call(er,st,pn,fi)})},ua=function(Er){var st=void 0;if(es("beforeSanitizeElements",Er,null),Bo(Er)||M(Er.nodeName,/[\u0080-\uFFFF]/))return to(Er),!0;var pn=rn(Er.nodeName);if(es("uponSanitizeElement",Er,{tagName:pn,allowedTags:sn}),!Jo(Er.firstElementChild)&&(!Jo(Er.content)||!Jo(Er.content.firstElementChild))&&ie(/<[/\w]/g,Er.innerHTML)&&ie(/<[/\w]/g,Er.textContent)||"select"===pn&&ie(/<template/i,Er.innerHTML))return to(Er),!0;if(!sn[pn]||mr[pn]){if(se&&!Xe[pn]){var ee=ut(Er)||Er.parentNode,Ve=Xt(Er)||Er.childNodes;if(Ve&&ee)for(var fn=Ve.length-1;fn>=0;--fn)ee.insertBefore(mn(Ve[fn],!0),jn(Er))}return to(Er),!0}return Er instanceof Kt&&!qi(Er)?(to(Er),!0):"noscript"!==pn&&"noembed"!==pn||!ie(/<\/no(script|embed)/i,Er.innerHTML)?(nr&&3===Er.nodeType&&(st=I(st=Er.textContent,nt," "),st=I(st,at," "),Er.textContent!==st&&(z(er.removed,{element:Er.cloneNode()}),Er.textContent=st)),es("afterSanitizeElements",Er,null),!1):(to(Er),!0)},ds=function(Er,st,pn){if(di&&("id"===st||"name"===st)&&(pn in Ht||pn in Ei))return!1;if((!br||_r[st]||!ie(it,st))&&(!Nr||!ie(Pt,st))){if(!Bn[st]||_r[st])return!1;if(!bt[st]&&!ie(Nn,I(pn,ot,""))&&("src"!==st&&"xlink:href"!==st&&"href"!==st||"script"===Er||0!==J(pn,"data:")||!Ct[Er])&&(!Jn||ie(Ut,I(pn,ot,"")))&&pn)return!1}return!0},zo=function(Er){var st=void 0,pn=void 0,ee=void 0,Ve=void 0;es("beforeSanitizeAttributes",Er,null);var fn=Er.attributes;if(fn){var Tn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Bn};for(Ve=fn.length;Ve--;){var $r=st=fn[Ve],ni=$r.name,Ri=$r.namespaceURI;if(pn=Y(st.value),ee=rn(ni),Tn.attrName=ee,Tn.attrValue=pn,Tn.keepAttr=!0,Tn.forceKeepAttr=void 0,es("uponSanitizeAttribute",Er,Tn),pn=Tn.attrValue,!Tn.forceKeepAttr&&(zi(ni,Er),Tn.keepAttr))if(ie(/\/>/i,pn))zi(ni,Er);else{nr&&(pn=I(pn,nt," "),pn=I(pn,at," "));var Do=rn(Er.nodeName);if(ds(Do,ee,pn))try{Ri?Er.setAttributeNS(Ri,ni,pn):Er.setAttribute(ni,pn),H(er.removed)}catch(gi){}}}es("afterSanitizeAttributes",Er,null)}},oa=function Er(st){var pn=void 0,ee=Ro(st);for(es("beforeSanitizeShadowDOM",st,null);pn=ee.nextNode();)es("uponSanitizeShadowNode",pn,null),ua(pn)||(pn.content instanceof tr&&Er(pn.content),zo(pn));es("afterSanitizeShadowDOM",st,null)};return er.sanitize=function(Er,st){var pn=void 0,ee=void 0,Ve=void 0,fn=void 0,Tn=void 0;if((Cr=!Er)&&(Er="\x3c!--\x3e"),"string"!=typeof Er&&!Jo(Er)){if("function"!=typeof Er.toString)throw oe("toString is not a function");if("string"!=typeof(Er=Er.toString()))throw oe("dirty is not a string, aborting")}if(!er.isSupported){if("object"===Jt(Rn.toStaticHTML)||"function"==typeof Rn.toStaticHTML){if("string"==typeof Er)return Rn.toStaticHTML(Er);if(Jo(Er))return Rn.toStaticHTML(Er.outerHTML)}return Er}if(yi||wi(st),er.removed=[],"string"==typeof Er&&(ct=!1),!ct)if(Er instanceof Cn)1===(ee=(pn=Go("\x3c!----\x3e")).ownerDocument.importNode(Er,!0)).nodeType&&"BODY"===ee.nodeName||"HTML"===ee.nodeName?pn=ee:pn.appendChild(ee);else{if(!Mi&&!nr&&!Mr&&-1===Er.indexOf("<"))return Tt&&ei?Tt.createHTML(Er):Er;if(!(pn=Go(Er)))return Mi?null:yn}pn&&Ii&&to(pn.firstChild);for(var $r=Ro(ct?Er:pn);Ve=$r.nextNode();)3===Ve.nodeType&&Ve===fn||ua(Ve)||(Ve.content instanceof tr&&oa(Ve.content),zo(Ve),fn=Ve);if(fn=null,ct)return Er;if(Mi){if(Oi)for(Tn=Qn.call(pn.ownerDocument);pn.firstChild;)Tn.appendChild(pn.firstChild);else Tn=pn;return Kr&&(Tn=ht.call(Mn,Tn,!0)),Tn}var ni=Mr?pn.outerHTML:pn.innerHTML;return nr&&(ni=I(ni,nt," "),ni=I(ni,at," ")),Tt&&ei?Tt.createHTML(ni):ni},er.setConfig=function(Er){wi(Er),yi=!0},er.clearConfig=function(){fi=null,yi=!1},er.isValidAttribute=function(Er,st,pn){fi||wi({});var ee=rn(Er),Ve=rn(st);return ds(ee,Ve,pn)},er.addHook=function(Er,st){"function"==typeof st&&(Ue[Er]=Ue[Er]||[],z(Ue[Er],st))},er.removeHook=function(Er){Ue[Er]&&H(Ue[Er])},er.removeHooks=function(Er){Ue[Er]&&(Ue[Er]=[])},er.removeAllHooks=function(){Ue={}},er}()}()},function(g,o,t){var e=t(17),s=t(58),a=t(41),l=t(35),u=t(329),h=e.Object;g.exports=u?function(_){return"symbol"==typeof _}:function(_){var m=s("Symbol");return a(m)&&l(m.prototype,h(_))}},function(g,o,t){var e=t(128),s=t(33);g.exports=!!Object.getOwnPropertySymbols&&!s(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&e&&e<41})},function(g,o,t){var e=t(73);g.exports=function(s,a){var l=s[a];return null==l?void 0:e(l)}},function(g,o,t){var e=t(96),s=t(213);(g.exports=function(a,l){return s[a]||(s[a]=void 0!==l?l:{})})("versions",[]).push({version:"3.19.1",mode:e?"pure":"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})},function(g,o,t){var e=t(17),s=t(487),a="__core-js_shared__",l=e[a]||s(a,{});g.exports=l},function(g,o,t){var e=t(17),s=t(43),a=e.document,l=s(a)&&s(a.createElement);g.exports=function(u){return l?a.createElement(u):{}}},function(g,o,t){var e=t(488);g.exports=function(s,a){return new(e(s))(0===a?0:a)}},function(g,o,t){var e={};e[t(38)("toStringTag")]="z",g.exports="[object z]"===String(e)},function(g,o,t){var e=t(27),s=t(41),a=t(213),l=e(Function.toString);s(a.inspectSource)||(a.inspectSource=function(u){return l(u)}),g.exports=a.inspectSource},function(g,o,t){var e=t(48),s=t(63),a=t(51),l=t(61),u=t(149);g.exports=e?Object.defineProperties:function(h,_){a(h);for(var m,b=l(_),C=u(_),D=C.length,x=0;D>x;)s.f(h,m=C[x++],b[m]);return h}},function(g,o,t){var e=t(61),s=t(220),a=t(74),l=function(u){return function(h,_,m){var b,C=e(h),D=a(C),x=s(m,D);if(u&&_!=_){for(;D>x;)if((b=C[x++])!=b)return!0}else for(;D>x;x++)if((u||x in C)&&C[x]===_)return u||x||0;return!u&&-1}};g.exports={includes:l(!0),indexOf:l(!1)}},function(g,o,t){var e=t(129),s=Math.max,a=Math.min;g.exports=function(l,u){var h=e(l);return h<0?s(h+u,0):a(h,u)}},function(g,o){g.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(g,o){o.f=Object.getOwnPropertySymbols},function(g,o,t){var e=t(38);o.f=e},function(g,o){g.exports=function(){}},function(g,o,t){"use strict";var e=t(22),s=t(50),a=t(96),l=t(339),u=t(41),h=t(340),_=t(175),m=t(176),b=t(100),C=t(85),D=t(99),x=t(38),j=t(130),H=t(341),z=l.PROPER,U=l.CONFIGURABLE,M=H.IteratorPrototype,I=H.BUGGY_SAFARI_ITERATORS,J=x("iterator"),Y="keys",ie="values",oe="entries",fe=function(){return this};g.exports=function(ne,he,ce,Ae,Me,Oe,be){h(ce,he,Ae);var ue,He,$e,F=function(Qe){if(Qe===Me&&St)return St;if(!I&&Qe in lt)return lt[Qe];switch(Qe){case Y:case ie:case oe:return function(){return new ce(this,Qe)}}return function(){return new ce(this)}},je=he+" Iterator",Et=!1,lt=ne.prototype,nn=lt[J]||lt["@@iterator"]||Me&<[Me],St=!I&&nn||F(Me),At="Array"==he&<.entries||nn;if(At&&(ue=_(At.call(new ne)))!==Object.prototype&&ue.next&&(a||_(ue)===M||(m?m(ue,M):u(ue[J])||D(ue,J,fe)),b(ue,je,!0,!0),a&&(j[je]=fe)),z&&Me==ie&&nn&&nn.name!==ie&&(!a&&U?C(lt,"name",ie):(Et=!0,St=function(){return s(nn,this)})),Me)if(He={values:F(ie),keys:Oe?St:F(Y),entries:F(oe)},be)for($e in He)(I||Et||!($e in lt))&&D(lt,$e,He[$e]);else e({target:he,proto:!0,forced:I||Et},He);return a&&!be||lt[J]===St||D(lt,J,St,{name:Me}),j[he]=St,He}},function(g,o,t){g.exports=t(532)},function(g,o,t){var e=t(115)(t(69),"Map");g.exports=e},function(g,o,t){var e=t(577),s=t(584),a=t(586),l=t(587),u=t(588);function h(_){var m=-1,b=null==_?0:_.length;for(this.clear();++m<b;){var C=_[m];this.set(C[0],C[1])}}h.prototype.clear=e,h.prototype.delete=s,h.prototype.get=a,h.prototype.has=l,h.prototype.set=u,g.exports=h},function(g,o,t){var e=t(358);g.exports=function(s,a,l){"__proto__"==a&&e?e(s,a,{configurable:!0,enumerable:!0,value:l,writable:!0}):s[a]=l}},function(g,o,t){var e=t(362);g.exports=function(s){var a=new s.constructor(s.byteLength);return new e(a).set(new e(s)),a}},function(g,o,t){var e=t(365)(Object.getPrototypeOf,Object);g.exports=e},function(g,o){g.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},function(g,o){g.exports=function(t){return function(e){return t(e)}}},function(g,o,t){(function(e){var s=t(355),a=o&&!o.nodeType&&o,l=a&&"object"==typeof e&&e&&!e.nodeType&&e,u=l&&l.exports===a&&s.process,h=function(){try{return l&&l.require&&l.require("util").types||u&&u.binding&&u.binding("util")}catch(m){}}();e.exports=h}).call(this,t(183)(g))},function(g,o,t){var e=t(229),s=t(103),a=Object.prototype.hasOwnProperty;g.exports=function(l,u,h){var _=l[u];a.call(l,u)&&s(_,h)&&(void 0!==h||u in l)||e(l,u,h)}},function(g,o){g.exports=function(t){return t}},function(g,o,t){g.exports=t(607)},function(g,o,t){g.exports=t(608)},function(g,o,t){var e=t(17),s=t(50),a=t(73),l=t(51),u=t(170),h=t(154),_=e.TypeError;g.exports=function(m,b){var C=arguments.length<2?h(m):b;if(a(C))return l(s(C,m));throw _(u(m)+" is not iterable")}},function(g,o){g.exports=function(t,e){for(var s=-1,a=e.length,l=t.length;++s<a;)t[l+s]=e[s];return t}},function(g,o,t){var e=t(688),s=t(396),a=Object.prototype.propertyIsEnumerable,l=Object.getOwnPropertySymbols;g.exports=l?function(h){return null==h?[]:(h=Object(h),e(l(h),function(_){return a.call(h,_)}))}:s},function(g,o,t){var e=t(156),s=t(136);g.exports=function(a,l){for(var u=0,h=(l=e(l,a)).length;null!=a&&u<h;)a=a[s(l[u++])];return u&&u==h?a:void 0}},function(g,o,t){var e=t(52),s=t(188),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,l=/^\w*$/;g.exports=function(u,h){if(e(u))return!1;var _=typeof u;return!("number"!=_&&"symbol"!=_&&"boolean"!=_&&null!=u&&!s(u))||l.test(u)||!a.test(u)||null!=h&&u in Object(h)}},function(g,o,t){"use strict";var e,s="object"==typeof Reflect?Reflect:null,a=s&&"function"==typeof s.apply?s.apply:function(U,M,I){return Function.prototype.apply.call(U,M,I)};e=s&&"function"==typeof s.ownKeys?s.ownKeys:Object.getOwnPropertySymbols?function(U){return Object.getOwnPropertyNames(U).concat(Object.getOwnPropertySymbols(U))}:function(U){return Object.getOwnPropertyNames(U)};var l=Number.isNaN||function(U){return U!=U};function u(){u.init.call(this)}g.exports=u,g.exports.once=function(U,M){return new Promise(function(I,J){function Y(oe){U.removeListener(M,ie),J(oe)}function ie(){"function"==typeof U.removeListener&&U.removeListener("error",Y),I([].slice.call(arguments))}var oe;z(U,M,ie,{once:!0}),"error"!==M&&("function"==typeof(oe=U).on&&z(oe,"error",Y,{once:!0}))})},u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var h=10;function _(U){if("function"!=typeof U)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof U)}function m(U){return void 0===U._maxListeners?u.defaultMaxListeners:U._maxListeners}function b(U,M,I,J){var Y,ie,oe;if(_(I),void 0===(ie=U._events)?(ie=U._events=Object.create(null),U._eventsCount=0):(void 0!==ie.newListener&&(U.emit("newListener",M,I.listener?I.listener:I),ie=U._events),oe=ie[M]),void 0===oe)oe=ie[M]=I,++U._eventsCount;else if("function"==typeof oe?oe=ie[M]=J?[I,oe]:[oe,I]:J?oe.unshift(I):oe.push(I),(Y=m(U))>0&&oe.length>Y&&!oe.warned){oe.warned=!0;var ne=new Error("Possible EventEmitter memory leak detected. "+oe.length+" "+String(M)+" listeners added. Use emitter.setMaxListeners() to increase limit");ne.name="MaxListenersExceededWarning",ne.emitter=U,ne.type=M,ne.count=oe.length,console&&console.warn&&console.warn(ne)}return U}function C(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function D(U,M,I){var J={fired:!1,wrapFn:void 0,target:U,type:M,listener:I},Y=C.bind(J);return Y.listener=I,J.wrapFn=Y,Y}function x(U,M,I){var J=U._events;if(void 0===J)return[];var Y=J[M];return void 0===Y?[]:"function"==typeof Y?I?[Y.listener||Y]:[Y]:I?function(ie){for(var oe=new Array(ie.length),fe=0;fe<oe.length;++fe)oe[fe]=ie[fe].listener||ie[fe];return oe}(Y):H(Y,Y.length)}function j(U){var M=this._events;if(void 0!==M){var I=M[U];if("function"==typeof I)return 1;if(void 0!==I)return I.length}return 0}function H(U,M){for(var I=new Array(M),J=0;J<M;++J)I[J]=U[J];return I}function z(U,M,I,J){if("function"==typeof U.on)J.once?U.once(M,I):U.on(M,I);else{if("function"!=typeof U.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof U);U.addEventListener(M,function Y(ie){J.once&&U.removeEventListener(M,Y),I(ie)})}}Object.defineProperty(u,"defaultMaxListeners",{enumerable:!0,get:function(){return h},set:function(U){if("number"!=typeof U||U<0||l(U))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+U+".");h=U}}),u.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},u.prototype.setMaxListeners=function(U){if("number"!=typeof U||U<0||l(U))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+U+".");return this._maxListeners=U,this},u.prototype.getMaxListeners=function(){return m(this)},u.prototype.emit=function(U){for(var M=[],I=1;I<arguments.length;I++)M.push(arguments[I]);var J="error"===U,Y=this._events;if(void 0!==Y)J=J&&void 0===Y.error;else if(!J)return!1;if(J){var ie;if(M.length>0&&(ie=M[0]),ie instanceof Error)throw ie;var oe=new Error("Unhandled error."+(ie?" ("+ie.message+")":""));throw oe.context=ie,oe}var fe=Y[U];if(void 0===fe)return!1;if("function"==typeof fe)a(fe,this,M);else{var ne=fe.length,he=H(fe,ne);for(I=0;I<ne;++I)a(he[I],this,M)}return!0},u.prototype.on=u.prototype.addListener=function(U,M){return b(this,U,M,!1)},u.prototype.prependListener=function(U,M){return b(this,U,M,!0)},u.prototype.once=function(U,M){return _(M),this.on(U,D(this,U,M)),this},u.prototype.prependOnceListener=function(U,M){return _(M),this.prependListener(U,D(this,U,M)),this},u.prototype.off=u.prototype.removeListener=function(U,M){var I,J,Y,ie,oe;if(_(M),void 0===(J=this._events))return this;if(void 0===(I=J[U]))return this;if(I===M||I.listener===M)0==--this._eventsCount?this._events=Object.create(null):(delete J[U],J.removeListener&&this.emit("removeListener",U,I.listener||M));else if("function"!=typeof I){for(Y=-1,ie=I.length-1;ie>=0;ie--)if(I[ie]===M||I[ie].listener===M){oe=I[ie].listener,Y=ie;break}if(Y<0)return this;0===Y?I.shift():function(fe,ne){for(;ne+1<fe.length;ne++)fe[ne]=fe[ne+1];fe.pop()}(I,Y),1===I.length&&(J[U]=I[0]),void 0!==J.removeListener&&this.emit("removeListener",U,oe||M)}return this},u.prototype.removeAllListeners=function(U){var M,I,J;if(void 0===(I=this._events))return this;if(void 0===I.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==I[U]&&(0==--this._eventsCount?this._events=Object.create(null):delete I[U]),this;if(0===arguments.length){var Y,ie=Object.keys(I);for(J=0;J<ie.length;++J)"removeListener"!==(Y=ie[J])&&this.removeAllListeners(Y);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(M=I[U]))this.removeListener(U,M);else if(void 0!==M)for(J=M.length-1;J>=0;J--)this.removeListener(U,M[J]);return this},u.prototype.listeners=function(U){return x(this,U,!0)},u.prototype.rawListeners=function(U){return x(this,U,!1)},u.listenerCount=function(U,M){return"function"==typeof U.listenerCount?U.listenerCount(M):j.call(U,M)},u.prototype.listenerCount=j,u.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},function(g,o,t){(o=g.exports=t(402)).Stream=o,o.Readable=o,o.Writable=t(246),o.Duplex=t(119),o.Transform=t(407),o.PassThrough=t(720)},function(g,o,t){"use strict";(function(e,s,a){var l=t(190);function u(ne){var he=this;this.next=null,this.entry=null,this.finish=function(){!function(ce,Ae,Me){var Oe=ce.entry;for(ce.entry=null;Oe;){var be=Oe.callback;Ae.pendingcb--,be(void 0),Oe=Oe.next}Ae.corkedRequestsFree?Ae.corkedRequestsFree.next=ce:Ae.corkedRequestsFree=ce}(he,ne)}}g.exports=M;var h,_=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?s:l.nextTick;M.WritableState=U;var m=Object.create(t(157));m.inherits=t(64);var j,b={deprecate:t(719)},C=t(403),D=t(65).Buffer,x=a.Uint8Array||function(){},H=t(404);function z(){}function U(ne,he){h=h||t(119);var ce=he instanceof h;this.objectMode=!!(ne=ne||{}).objectMode,ce&&(this.objectMode=this.objectMode||!!ne.writableObjectMode);var Ae=ne.highWaterMark,Me=ne.writableHighWaterMark;this.highWaterMark=Ae||0===Ae?Ae:ce&&(Me||0===Me)?Me:this.objectMode?16:16384,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1,this.decodeStrings=!(!1===ne.decodeStrings),this.defaultEncoding=ne.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ue){!function(He,$e){var nn,F=He._writableState,je=F.sync,Et=F.writecb;if((nn=F).writing=!1,nn.writecb=null,nn.length-=nn.writelen,nn.writelen=0,$e)!function(nn,St,At,Qe,It){--St.pendingcb,At?(l.nextTick(It,Qe),l.nextTick(fe,nn,St),nn._writableState.errorEmitted=!0,nn.emit("error",Qe)):(It(Qe),nn._writableState.errorEmitted=!0,nn.emit("error",Qe),fe(nn,St))}(He,F,je,$e,Et);else{var lt=ie(F);lt||F.corked||F.bufferProcessing||!F.bufferedRequest||Y(He,F),je?_(J,He,F,lt,Et):J(He,F,lt,Et)}}(he,ue)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new u(this)}function M(ne){if(h=h||t(119),!(j.call(M,this)||this instanceof h))return new M(ne);this._writableState=new U(ne,this),this.writable=!0,ne&&("function"==typeof ne.write&&(this._write=ne.write),"function"==typeof ne.writev&&(this._writev=ne.writev),"function"==typeof ne.destroy&&(this._destroy=ne.destroy),"function"==typeof ne.final&&(this._final=ne.final)),C.call(this)}function I(ne,he,ce,Ae,Me,Oe,be){he.writelen=Ae,he.writecb=be,he.writing=!0,he.sync=!0,ce?ne._writev(Me,he.onwrite):ne._write(Me,Oe,he.onwrite),he.sync=!1}function J(ne,he,ce,Ae){var Me,Oe;ce||(Me=ne,0===(Oe=he).length&&Oe.needDrain&&(Oe.needDrain=!1,Me.emit("drain"))),he.pendingcb--,Ae(),fe(ne,he)}function Y(ne,he){he.bufferProcessing=!0;var ce=he.bufferedRequest;if(ne._writev&&ce&&ce.next){var Me=new Array(he.bufferedRequestCount),Oe=he.corkedRequestsFree;Oe.entry=ce;for(var be=0,ue=!0;ce;)Me[be]=ce,ce.isBuf||(ue=!1),ce=ce.next,be+=1;Me.allBuffers=ue,I(ne,he,!0,he.length,Me,"",Oe.finish),he.pendingcb++,he.lastBufferedRequest=null,Oe.next?(he.corkedRequestsFree=Oe.next,Oe.next=null):he.corkedRequestsFree=new u(he),he.bufferedRequestCount=0}else{for(;ce;){var He=ce.chunk;if(I(ne,he,!1,he.objectMode?1:He.length,He,ce.encoding,ce.callback),ce=ce.next,he.bufferedRequestCount--,he.writing)break}null===ce&&(he.lastBufferedRequest=null)}he.bufferedRequest=ce,he.bufferProcessing=!1}function ie(ne){return ne.ending&&0===ne.length&&null===ne.bufferedRequest&&!ne.finished&&!ne.writing}function oe(ne,he){ne._final(function(ce){he.pendingcb--,ce&&ne.emit("error",ce),he.prefinished=!0,ne.emit("prefinish"),fe(ne,he)})}function fe(ne,he){var Ae,Me,ce=ie(he);return ce&&(Ae=ne,(Me=he).prefinished||Me.finalCalled||("function"==typeof Ae._final?(Me.pendingcb++,Me.finalCalled=!0,l.nextTick(oe,Ae,Me)):(Me.prefinished=!0,Ae.emit("prefinish"))),0===he.pendingcb&&(he.finished=!0,ne.emit("finish"))),ce}m.inherits(M,C),U.prototype.getBuffer=function(){for(var ne=this.bufferedRequest,he=[];ne;)he.push(ne),ne=ne.next;return he},function(){try{Object.defineProperty(U.prototype,"buffer",{get:b.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(ne){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(j=Function.prototype[Symbol.hasInstance],Object.defineProperty(M,Symbol.hasInstance,{value:function(ne){return!!j.call(this,ne)||this===M&&ne&&ne._writableState instanceof U}})):j=function(ne){return ne instanceof this},M.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},M.prototype.write=function(ne,he,ce){var Ae,ue,He,$e,Me=this._writableState,Oe=!1,be=!Me.objectMode&&(D.isBuffer(Ae=ne)||Ae instanceof x);return be&&!D.isBuffer(ne)&&(ne=D.from(ne)),"function"==typeof he&&(ce=he,he=null),be?he="buffer":he||(he=Me.defaultEncoding),"function"!=typeof ce&&(ce=z),Me.ended?(ue=this,He=ce,$e=new Error("write after end"),ue.emit("error",$e),l.nextTick(He,$e)):(be||function(ue,He,$e,F){var je=!0,Et=!1;return null===$e?Et=new TypeError("May not write null values to stream"):"string"==typeof $e||void 0===$e||He.objectMode||(Et=new TypeError("Invalid non-string/buffer chunk")),Et&&(ue.emit("error",Et),l.nextTick(F,Et),je=!1),je}(this,Me,ne,ce))&&(Me.pendingcb++,Oe=function(ue,He,$e,F,je,Et){if(!$e){var lt=(It=F,(Qe=He).objectMode||!1===Qe.decodeStrings||"string"!=typeof It||(It=D.from(It,je)),It);F!==lt&&($e=!0,je="buffer",F=lt)}var Qe,It,nn=He.objectMode?1:F.length;He.length+=nn;var St=He.length<He.highWaterMark;if(St||(He.needDrain=!0),He.writing||He.corked){var At=He.lastBufferedRequest;He.lastBufferedRequest={chunk:F,encoding:je,isBuf:$e,callback:Et,next:null},At?At.next=He.lastBufferedRequest:He.bufferedRequest=He.lastBufferedRequest,He.bufferedRequestCount+=1}else I(ue,He,!1,nn,F,je,Et);return St}(this,Me,be,ne,he,ce)),Oe},M.prototype.cork=function(){this._writableState.corked++},M.prototype.uncork=function(){var ne=this._writableState;ne.corked&&(ne.corked--,ne.writing||ne.corked||ne.finished||ne.bufferProcessing||!ne.bufferedRequest||Y(this,ne))},M.prototype.setDefaultEncoding=function(ne){if("string"==typeof ne&&(ne=ne.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((ne+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+ne);return this._writableState.defaultEncoding=ne,this},Object.defineProperty(M.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),M.prototype._write=function(ne,he,ce){ce(new Error("_write() is not implemented"))},M.prototype._writev=null,M.prototype.end=function(ne,he,ce){var Oe,be,Ae=this._writableState;"function"==typeof ne?(ce=ne,ne=null,he=null):"function"==typeof he&&(ce=he,he=null),null!=ne&&this.write(ne,he),Ae.corked&&(Ae.corked=1,this.uncork()),Ae.ending||Ae.finished||(this,be=ce,(Oe=Ae).ending=!0,fe(this,Oe),be&&(Oe.finished?l.nextTick(be):this.once("finish",be)),Oe.ended=!0,this.writable=!1)},Object.defineProperty(M.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ne){this._writableState&&(this._writableState.destroyed=ne)}}),M.prototype.destroy=H.destroy,M.prototype._undestroy=H.undestroy,M.prototype._destroy=function(ne,he){this.end(),he(ne)}}).call(this,t(118),t(405).setImmediate,t(57))},function(g,o,t){"use strict";g.exports=t(750)()?Array.from:t(751)},function(g,o,t){"use strict";var e=t(768),s=t(121),a=t(137),l=Array.prototype.indexOf,u=Object.prototype.hasOwnProperty,h=Math.abs,_=Math.floor;g.exports=function(m){var b,C,D;if(!e(m))return l.apply(this,arguments);for(C=s(a(this).length),D=arguments[1],b=D=isNaN(D)?0:D>=0?_(D):s(this.length)-_(h(D));b<C;++b)if(u.call(this,b)&&e(this[b]))return b;return-1}},function(g,o,t){"use strict";(function(e,s){var a=function(u){if("function"!=typeof u)throw new TypeError(u+" is not a function");return u},l=function(u){var h,_,m=document.createTextNode(""),b=0;return new u(function(){var C;if(h)_&&(h=_.concat(h));else{if(!_)return;h=_}if(_=h,h=null,"function"==typeof _)return C=_,_=null,void C();for(m.data=b=++b%2;_;)C=_.shift(),_.length||(_=null),C()}).observe(m,{characterData:!0}),function(C){a(C),h?"function"==typeof h?h=[h,C]:h.push(C):(h=C,m.data=b=++b%2)}};g.exports=function(){if("object"==typeof e&&e&&"function"==typeof e.nextTick)return e.nextTick;if("function"==typeof queueMicrotask)return function(u){queueMicrotask(a(u))};if("object"==typeof document&&document){if("function"==typeof MutationObserver)return l(MutationObserver);if("function"==typeof WebKitMutationObserver)return l(WebKitMutationObserver)}return"function"==typeof s?function(u){s(a(u))}:"function"==typeof setTimeout||"object"==typeof setTimeout?function(u){setTimeout(a(u),0)}:null}()}).call(this,t(118),t(405).setImmediate)},function(g,o,t){"use strict";var e,s=SyntaxError,a=Function,l=TypeError,u=function(ce){try{return a('"use strict"; return ('+ce+").constructor;")()}catch(Ae){}},h=Object.getOwnPropertyDescriptor;if(h)try{h({},"")}catch(ce){h=null}var _=function(){throw new l},m=h?function(){try{return _}catch(ce){try{return h(arguments,"callee").get}catch(Ae){return _}}}():_,b=t(925)(),C=Object.getPrototypeOf||function(ce){return ce.__proto__},D={},x="undefined"==typeof Uint8Array?e:C(Uint8Array),j={"%AggregateError%":"undefined"==typeof AggregateError?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?e:ArrayBuffer,"%ArrayIteratorPrototype%":b?C([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":D,"%AsyncGenerator%":D,"%AsyncGeneratorFunction%":D,"%AsyncIteratorPrototype%":D,"%Atomics%":"undefined"==typeof Atomics?e:Atomics,"%BigInt%":"undefined"==typeof BigInt?e:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?e:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?e:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?e:FinalizationRegistry,"%Function%":a,"%GeneratorFunction%":D,"%Int8Array%":"undefined"==typeof Int8Array?e:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?e:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":b?C(C([][Symbol.iterator]())):e,"%JSON%":"object"==typeof JSON?JSON:e,"%Map%":"undefined"==typeof Map?e:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&b?C((new Map)[Symbol.iterator]()):e,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?e:Promise,"%Proxy%":"undefined"==typeof Proxy?e:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?e:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?e:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&b?C((new Set)[Symbol.iterator]()):e,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":b?C(""[Symbol.iterator]()):e,"%Symbol%":b?Symbol:e,"%SyntaxError%":s,"%ThrowTypeError%":m,"%TypedArray%":x,"%TypeError%":l,"%Uint8Array%":"undefined"==typeof Uint8Array?e:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?e:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?e:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?e:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?e:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?e:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?e:WeakSet},H=function ce(Ae){var Me;if("%AsyncFunction%"===Ae)Me=u("async function () {}");else if("%GeneratorFunction%"===Ae)Me=u("function* () {}");else if("%AsyncGeneratorFunction%"===Ae)Me=u("async function* () {}");else if("%AsyncGenerator%"===Ae){var Oe=ce("%AsyncGeneratorFunction%");Oe&&(Me=Oe.prototype)}else if("%AsyncIteratorPrototype%"===Ae){var be=ce("%AsyncGenerator%");be&&(Me=C(be.prototype))}return j[Ae]=Me,Me},z={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},U=t(251),M=t(928),I=U.call(Function.call,Array.prototype.concat),J=U.call(Function.apply,Array.prototype.splice),Y=U.call(Function.call,String.prototype.replace),ie=U.call(Function.call,String.prototype.slice),oe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,fe=/\\(\\)?/g,ne=function(ce){var Ae=ie(ce,0,1),Me=ie(ce,-1);if("%"===Ae&&"%"!==Me)throw new s("invalid intrinsic syntax, expected closing `%`");if("%"===Me&&"%"!==Ae)throw new s("invalid intrinsic syntax, expected opening `%`");var Oe=[];return Y(ce,oe,function(be,ue,He,$e){Oe[Oe.length]=He?Y($e,fe,"$1"):ue||be}),Oe},he=function(ce,Ae){var Me,Oe=ce;if(M(z,Oe)&&(Oe="%"+(Me=z[Oe])[0]+"%"),M(j,Oe)){var be=j[Oe];if(be===D&&(be=H(Oe)),void 0===be&&!Ae)throw new l("intrinsic "+ce+" exists, but is not available. Please file an issue!");return{alias:Me,name:Oe,value:be}}throw new s("intrinsic "+ce+" does not exist!")};g.exports=function(ce,Ae){if("string"!=typeof ce||0===ce.length)throw new l("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof Ae)throw new l('"allowMissing" argument must be a boolean');var Me=ne(ce),Oe=Me.length>0?Me[0]:"",be=he("%"+Oe+"%",Ae),ue=be.name,He=be.value,$e=!1,F=be.alias;F&&(Oe=F[0],J(Me,I([0,1],F)));for(var je=1,Et=!0;je<Me.length;je+=1){var lt=Me[je],nn=ie(lt,0,1),St=ie(lt,-1);if(('"'===nn||"'"===nn||"`"===nn||'"'===St||"'"===St||"`"===St)&&nn!==St)throw new s("property names with quotes must have matching quotes");if("constructor"!==lt&&Et||($e=!0),M(j,ue="%"+(Oe+="."+lt)+"%"))He=j[ue];else if(null!=He){if(!(lt in He)){if(!Ae)throw new l("base intrinsic for "+ce+" exists, but the property is not available.");return}if(h&&je+1>=Me.length){var At=h(He,lt);He=(Et=!!At)&&"get"in At&&!("originalValue"in At.get)?At.get:He[lt]}else Et=M(He,lt),He=He[lt];Et&&!$e&&(j[ue]=He)}}return He}},function(g,o,t){"use strict";var e=t(927);g.exports=Function.prototype.bind||e},function(g,o,t){"use strict";var e=String.prototype.replace,s=/%20/g,l="RFC3986";g.exports={default:l,formatters:{RFC1738:function(u){return e.call(u,s,"+")},RFC3986:function(u){return String(u)}},RFC1738:"RFC1738",RFC3986:l}},function(g,o,t){"use strict";t(77);var e=t(22),s=t(17),a=t(58),l=t(50),u=t(27),h=t(446),_=t(99),m=t(158),b=t(100),C=t(340),D=t(76),x=t(139),j=t(41),H=t(44),z=t(84),U=t(75),M=t(51),I=t(43),J=t(67),Y=t(98),ie=t(94),oe=t(239),fe=t(154),ne=t(38),he=t(382),ce=ne("iterator"),Ae="URLSearchParams",Me="URLSearchParamsIterator",Oe=D.set,be=D.getterFor(Ae),ue=D.getterFor(Me),He=a("fetch"),$e=a("Request"),F=a("Headers"),je=$e&&$e.prototype,Et=F&&F.prototype,lt=s.RegExp,nn=s.TypeError,St=s.decodeURIComponent,At=s.encodeURIComponent,Qe=u("".charAt),It=u([].join),ae=u([].push),Ie=u("".replace),dt=u([].shift),Jt=u([].splice),zt=u("".split),ln=u("".slice),ar=/\+/g,Ln=Array(4),Rn=function(jn){return Ln[jn-1]||(Ln[jn-1]=lt("((?:%[\\da-f]{2}){"+jn+"})","gi"))},er=function(jn){try{return St(jn)}catch(Xt){return jn}},Mn=function(jn){var Xt=Ie(jn,ar," "),ut=4;try{return St(Xt)}catch(mt){for(;ut;)Xt=Ie(Xt,Rn(ut--),er);return Xt}},Ht=/[!'()~]|%20/g,tr={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Yn=function(jn){return tr[jn]},Cn=function(jn){return Ie(At(jn),Ht,Yn)},Kt=function(jn,Xt){if(Xt)for(var ut,mt,Tt=zt(Xt,"&"),yn=0;yn<Tt.length;)(ut=Tt[yn++]).length&&(mt=zt(ut,"="),ae(jn,{key:Mn(dt(mt)),value:Mn(It(mt,"="))}))},dn=function(jn){this.entries.length=0,Kt(this.entries,jn)},Kn=function(jn,Xt){if(jn<Xt)throw nn("Not enough arguments")},qn=C(function(jn,Xt){Oe(this,{type:Me,iterator:oe(be(jn).entries),kind:Xt})},"Iterator",function(){var jn=ue(this),Xt=jn.kind,ut=jn.iterator.next(),mt=ut.value;return ut.done||(ut.value="keys"===Xt?mt.key:"values"===Xt?mt.value:[mt.key,mt.value]),ut}),Sn=function(){x(this,$n);var jn,Xt,ut,mt,Tt,yn,et,jt,hn,Qn=arguments.length>0?arguments[0]:void 0,Ir=this,ht=[];if(Oe(Ir,{type:Ae,entries:ht,updateURL:function(){},updateSearchParams:dn}),void 0!==Qn)if(I(Qn))if(jn=fe(Qn))for(ut=(Xt=oe(Qn,jn)).next;!(mt=l(ut,Xt)).done;){if(yn=(Tt=oe(M(mt.value))).next,(et=l(yn,Tt)).done||(jt=l(yn,Tt)).done||!l(yn,Tt).done)throw nn("Expected sequence with length 2");ae(ht,{key:J(et.value),value:J(jt.value)})}else for(hn in Qn)H(Qn,hn)&&ae(ht,{key:hn,value:J(Qn[hn])});else Kt(ht,"string"==typeof Qn?"?"===Qe(Qn,0)?ln(Qn,1):Qn:J(Qn))},$n=Sn.prototype;if(m($n,{append:function(jn,Xt){Kn(arguments.length,2);var ut=be(this);ae(ut.entries,{key:J(jn),value:J(Xt)}),ut.updateURL()},delete:function(jn){Kn(arguments.length,1);for(var Xt=be(this),ut=Xt.entries,mt=J(jn),Tt=0;Tt<ut.length;)ut[Tt].key===mt?Jt(ut,Tt,1):Tt++;Xt.updateURL()},get:function(jn){Kn(arguments.length,1);for(var Xt=be(this).entries,ut=J(jn),mt=0;mt<Xt.length;mt++)if(Xt[mt].key===ut)return Xt[mt].value;return null},getAll:function(jn){Kn(arguments.length,1);for(var Xt=be(this).entries,ut=J(jn),mt=[],Tt=0;Tt<Xt.length;Tt++)Xt[Tt].key===ut&&ae(mt,Xt[Tt].value);return mt},has:function(jn){Kn(arguments.length,1);for(var Xt=be(this).entries,ut=J(jn),mt=0;mt<Xt.length;)if(Xt[mt++].key===ut)return!0;return!1},set:function(jn,Xt){Kn(arguments.length,1);for(var ut,mt=be(this),Tt=mt.entries,yn=!1,et=J(jn),jt=J(Xt),hn=0;hn<Tt.length;hn++)(ut=Tt[hn]).key===et&&(yn?Jt(Tt,hn--,1):(yn=!0,ut.value=jt));yn||ae(Tt,{key:et,value:jt}),mt.updateURL()},sort:function(){var jn=be(this);he(jn.entries,function(Xt,ut){return Xt.key>ut.key?1:-1}),jn.updateURL()},forEach:function(jn){for(var Xt,ut=be(this).entries,mt=z(jn,arguments.length>1?arguments[1]:void 0),Tt=0;Tt<ut.length;)mt((Xt=ut[Tt++]).value,Xt.key,this)},keys:function(){return new qn(this,"keys")},values:function(){return new qn(this,"values")},entries:function(){return new qn(this,"entries")}},{enumerable:!0}),_($n,ce,$n.entries,{name:"entries"}),_($n,"toString",function(){for(var jn,Xt=be(this).entries,ut=[],mt=0;mt<Xt.length;)jn=Xt[mt++],ae(ut,Cn(jn.key)+"="+Cn(jn.value));return It(ut,"&")},{enumerable:!0}),b(Sn,Ae),e({global:!0,forced:!h},{URLSearchParams:Sn}),!h&&j(F)){var En=u(Et.has),Fn=u(Et.set),Dn=function(jn){if(I(jn)){var Xt,ut=jn.body;if(U(ut)===Ae)return Xt=jn.headers?new F(jn.headers):new F,En(Xt,"content-type")||Fn(Xt,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),Y(jn,{body:ie(0,J(ut)),headers:ie(0,Xt)})}return jn};if(j(He)&&e({global:!0,enumerable:!0,forced:!0},{fetch:function(jn){return He(jn,arguments.length>1?Dn(arguments[1]):{})}}),j($e)){var mn=function(jn){return x(this,je),new $e(jn,arguments.length>1?Dn(arguments[1]):{})};je.constructor=mn,mn.prototype=je,e({global:!0,forced:!0},{Request:mn})}}g.exports={URLSearchParams:Sn,getState:be}},function(g,o,t){var e=t(663)("toUpperCase");g.exports=e},function(g,o,t){var e=t(228);function s(a,l){if("function"!=typeof a||null!=l&&"function"!=typeof l)throw new TypeError("Expected a function");var u=function(){var h=arguments,_=l?l.apply(this,h):h[0],m=u.cache;if(m.has(_))return m.get(_);var b=a.apply(this,h);return u.cache=m.set(_,b)||m,b};return u.cache=new(s.Cache||e),u}s.Cache=e,g.exports=s},function(g,o,t){"use strict";t.r(o);var e=t(257),s=t(60),a=t(260);o.default=function(l){return{statePlugins:{err:{reducers:Object(e.default)(l),actions:s,selectors:a}}}}},function(g,o,t){"use strict";t.r(o);var e=t(3),s=t.n(e),a=t(21),l=t.n(a),u=t(4),h=t.n(u),_=t(2),m=t.n(_),b=t(12),C=t.n(b),D=t(197),x=t.n(D),j=t(60),H=t(1),z=t(127),U={line:0,level:"error",message:"Unknown error"};o.default=function(){var M;return M={},s()(M,j.NEW_THROWN_ERR,function(I,J){var Y=J.payload,ie=l()(U,Y,{type:"thrown"});return I.update("errors",function(oe){return(oe||Object(H.List)()).push(Object(H.fromJS)(ie))}).update("errors",function(oe){return Object(z.default)(oe)})}),s()(M,j.NEW_THROWN_ERR_BATCH,function(I,J){var Y=J.payload;return Y=h()(Y).call(Y,function(ie){return Object(H.fromJS)(l()(U,ie,{type:"thrown"}))}),I.update("errors",function(ie){var oe;return m()(oe=ie||Object(H.List)()).call(oe,Object(H.fromJS)(Y))}).update("errors",function(ie){return Object(z.default)(ie)})}),s()(M,j.NEW_SPEC_ERR,function(I,J){var Y=J.payload,ie=Object(H.fromJS)(Y);return ie=ie.set("type","spec"),I.update("errors",function(oe){return(oe||Object(H.List)()).push(Object(H.fromJS)(ie)).sortBy(function(fe){return fe.get("line")})}).update("errors",function(oe){return Object(z.default)(oe)})}),s()(M,j.NEW_SPEC_ERR_BATCH,function(I,J){var Y=J.payload;return Y=h()(Y).call(Y,function(ie){return Object(H.fromJS)(l()(U,ie,{type:"spec"}))}),I.update("errors",function(ie){var oe;return m()(oe=ie||Object(H.List)()).call(oe,Object(H.fromJS)(Y))}).update("errors",function(ie){return Object(z.default)(ie)})}),s()(M,j.NEW_AUTH_ERR,function(I,J){var Y=J.payload,ie=Object(H.fromJS)(l()({},Y));return ie=ie.set("type","auth"),I.update("errors",function(oe){return(oe||Object(H.List)()).push(Object(H.fromJS)(ie))}).update("errors",function(oe){return Object(z.default)(oe)})}),s()(M,j.CLEAR,function(I,J){var Y,ie=J.payload;if(!ie||!I.get("errors"))return I;var oe=C()(Y=I.get("errors")).call(Y,function(fe){var ne;return x()(ne=fe.keySeq()).call(ne,function(he){var ce=fe.get(he),Ae=ie[he];return!Ae||ce!==Ae})});return I.merge({errors:oe})}),s()(M,j.CLEAR_BY,function(I,J){var Y,ie=J.payload;if(!ie||"function"!=typeof ie)return I;var oe=C()(Y=I.get("errors")).call(Y,function(fe){return ie(fe)});return I.merge({errors:oe})}),M}},function(g,o,t){"use strict";t.r(o),t.d(o,"transform",function(){return b});var e=t(4),s=t.n(e),a=t(18),l=t.n(a),u=t(20),h=t.n(u),_=t(30),m=t.n(_);function b(C){return s()(C).call(C,function(D){var x,I,j="is not of a type(s)",H=l()(x=D.get("message")).call(x,j);if(H>-1){var z,U,M=h()(z=D.get("message")).call(z,H+j.length).split(",");return D.set("message",h()(U=D.get("message")).call(U,0,H)+(I=M,m()(I).call(I,function(J,Y,ie,oe){return ie===oe.length-1&&oe.length>1?J+"or "+Y:oe[ie+1]&&oe.length>2?J+Y+", ":oe[ie+1]?J+Y+" ":J+Y},"should be a")))}return D})}},function(g,o,t){"use strict";function e(s,a){return s}t.r(o),t.d(o,"transform",function(){return e}),t(4),t(18),t(39),t(1)},function(g,o,t){"use strict";t.r(o),t.d(o,"allErrors",function(){return a}),t.d(o,"lastError",function(){return l});var e=t(1),s=t(16),a=Object(s.a)(function(u){return u},function(u){return u.get("errors",Object(e.List)())}),l=Object(s.a)(a,function(u){return u.last()})},function(g,o,t){"use strict";t.r(o);var e=t(262),s=t(109),a=t(263),l=t(264);o.default=function(){return{statePlugins:{layout:{reducers:e.default,actions:s,selectors:a},spec:{wrapSelectors:l}}}}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(2),u=t.n(l),h=t(1),_=t(109);o.default=(e={},a()(e,_.UPDATE_LAYOUT,function(m,b){return m.set("layout",b.payload)}),a()(e,_.UPDATE_FILTER,function(m,b){return m.set("filter",b.payload)}),a()(e,_.SHOW,function(m,b){var C=b.payload.shown,D=Object(h.fromJS)(b.payload.thing);return m.update("shown",Object(h.fromJS)({}),function(x){return x.set(D,C)})}),a()(e,_.UPDATE_MODE,function(m,b){var C,D=b.payload.thing,x=b.payload.mode;return m.setIn(u()(C=["modes"]).call(C,D),(x||"")+"")}),e)},function(g,o,t){"use strict";t.r(o),t.d(o,"current",function(){return m}),t.d(o,"currentFilter",function(){return b}),t.d(o,"isShown",function(){return C}),t.d(o,"whatMode",function(){return D}),t.d(o,"showSummary",function(){return x});var e=t(14),s=t.n(e),a=t(2),l=t.n(a),u=t(16),h=t(5),_=t(1),m=function(j){return j.get("layout")},b=function(j){return j.get("filter")},C=function(j,H,z){return H=Object(h.v)(H),j.get("shown",Object(_.fromJS)({})).get(Object(_.fromJS)(H),z)},D=function(j,H){var z,U=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return H=Object(h.v)(H),j.getIn(l()(z=["modes"]).call(z,s()(H)),U)},x=Object(u.a)(function(j){return j},function(j){return!C(j,"editor")})},function(g,o,t){"use strict";t.r(o),t.d(o,"taggedOperations",function(){return u});var e=t(2),s=t.n(e),a=t(20),l=t.n(a),u=function(h,_){return function(m){for(var b,C=arguments.length,D=new Array(C>1?C-1:0),x=1;x<C;x++)D[x-1]=arguments[x];var j=h.apply(void 0,s()(b=[m]).call(b,D)),H=_.getSystem(),z=H.fn,U=H.layoutSelectors,M=H.getConfigs,I=M(),J=I.maxDisplayedTags,Y=U.currentFilter();return Y&&!0!==Y&&"true"!==Y&&"false"!==Y&&(j=z.opsFilter(j,Y)),J&&!isNaN(J)&&J>=0&&(j=l()(j).call(j,0,J)),j}}},function(g,o,t){"use strict";t.r(o);var e=t(266),s=t(46),a=t(88),l=t(267);o.default=function(){return{statePlugins:{spec:{wrapActions:l,reducers:e.default,actions:s,selectors:a}}}}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(14),u=t.n(l),h=t(2),_=t.n(h),m=t(30),b=t.n(m),C=t(4),D=t.n(C),x=t(21),j=t.n(x),H=t(1),z=t(5),U=t(26),M=t(88),I=t(46);o.default=(e={},a()(e,I.UPDATE_SPEC,function(J,Y){return"string"==typeof Y.payload?J.set("spec",Y.payload):J}),a()(e,I.UPDATE_URL,function(J,Y){return J.set("url",Y.payload+"")}),a()(e,I.UPDATE_JSON,function(J,Y){return J.set("json",Object(z.i)(Y.payload))}),a()(e,I.UPDATE_RESOLVED,function(J,Y){return J.setIn(["resolved"],Object(z.i)(Y.payload))}),a()(e,I.UPDATE_RESOLVED_SUBTREE,function(J,Y){var ie,oe=Y.payload,fe=oe.value,ne=oe.path;return J.setIn(_()(ie=["resolvedSubtrees"]).call(ie,u()(ne)),Object(z.i)(fe))}),a()(e,I.UPDATE_PARAM,function(J,Y){var ie,oe,fe=Y.payload,ne=fe.path,he=fe.paramName,ce=fe.paramIn,Ae=fe.param,Me=fe.value,Oe=fe.isXml,be=Ae?Object(z.A)(Ae):_()(ie="".concat(ce,".")).call(ie,he),ue=Oe?"value_xml":"value";return J.setIn(_()(oe=["meta","paths"]).call(oe,u()(ne),["parameters",be,ue]),Me)}),a()(e,I.UPDATE_EMPTY_PARAM_INCLUSION,function(J,Y){var ie,oe,fe=Y.payload,ne=fe.pathMethod,he=fe.paramName,ce=fe.paramIn,Ae=fe.includeEmptyValue;if(!he||!ce)return console.warn("Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey."),J;var Me=_()(ie="".concat(ce,".")).call(ie,he);return J.setIn(_()(oe=["meta","paths"]).call(oe,u()(ne),["parameter_inclusions",Me]),Ae)}),a()(e,I.VALIDATE_PARAMS,function(J,Y){var ie,oe,fe=Y.payload,ne=fe.pathMethod,he=fe.isOAS3,ce=Object(M.specJsonWithResolvedSubtrees)(J).getIn(_()(ie=["paths"]).call(ie,u()(ne))),Ae=Object(M.parameterValues)(J,ne).toJS();return J.updateIn(_()(oe=["meta","paths"]).call(oe,u()(ne),["parameters"]),Object(H.fromJS)({}),function(Me){var Oe;return b()(Oe=ce.get("parameters",Object(H.List)())).call(Oe,function(be,ue){var He=Object(z.B)(ue,Ae),$e=Object(M.parameterInclusionSettingFor)(J,ne,ue.get("name"),ue.get("in")),F=Object(z.K)(ue,He,{bypassRequiredCheck:$e,isOAS3:he});return be.setIn([Object(z.A)(ue),"errors"],Object(H.fromJS)(F))},Me)})}),a()(e,I.CLEAR_VALIDATE_PARAMS,function(J,Y){var ie,oe=Y.payload.pathMethod;return J.updateIn(_()(ie=["meta","paths"]).call(ie,u()(oe),["parameters"]),Object(H.fromJS)([]),function(fe){return D()(fe).call(fe,function(ne){return ne.set("errors",Object(H.fromJS)([]))})})}),a()(e,I.SET_RESPONSE,function(J,Y){var ie,oe=Y.payload,fe=oe.res,ne=oe.path,he=oe.method;(ie=fe.error?j()({error:!0,name:fe.err.name,message:fe.err.message,statusCode:fe.err.statusCode},fe.err.response):fe).headers=ie.headers||{};var ce=J.setIn(["responses",ne,he],Object(z.i)(ie));return U.a.Blob&&fe.data instanceof U.a.Blob&&(ce=ce.setIn(["responses",ne,he,"text"],fe.data)),ce}),a()(e,I.SET_REQUEST,function(J,Y){var ie=Y.payload,oe=ie.req;return J.setIn(["requests",ie.path,ie.method],Object(z.i)(oe))}),a()(e,I.SET_MUTATED_REQUEST,function(J,Y){var ie=Y.payload,oe=ie.req;return J.setIn(["mutatedRequests",ie.path,ie.method],Object(z.i)(oe))}),a()(e,I.UPDATE_OPERATION_META_VALUE,function(J,Y){var ie,oe,fe,ne,he,ce,Ae=Y.payload,Me=Ae.path,Oe=Ae.value,be=Ae.key,ue=_()(ie=["paths"]).call(ie,u()(Me)),He=_()(oe=["meta","paths"]).call(oe,u()(Me));return J.getIn(_()(fe=["json"]).call(fe,u()(ue)))||J.getIn(_()(ne=["resolved"]).call(ne,u()(ue)))||J.getIn(_()(he=["resolvedSubtrees"]).call(he,u()(ue)))?J.setIn(_()(ce=[]).call(ce,u()(He),[be]),Object(H.fromJS)(Oe)):J}),a()(e,I.CLEAR_RESPONSE,function(J,Y){var ie=Y.payload;return J.deleteIn(["responses",ie.path,ie.method])}),a()(e,I.CLEAR_REQUEST,function(J,Y){var ie=Y.payload;return J.deleteIn(["requests",ie.path,ie.method])}),a()(e,I.SET_SCHEME,function(J,Y){var ie=Y.payload,oe=ie.scheme,fe=ie.path,ne=ie.method;return fe&&ne?J.setIn(["scheme",fe,ne],oe):fe||ne?void 0:J.setIn(["scheme","_defaultScheme"],oe)}),e)},function(g,o,t){"use strict";t.r(o),t.d(o,"updateSpec",function(){return _}),t.d(o,"updateJsonSpec",function(){return m}),t.d(o,"executeRequest",function(){return b}),t.d(o,"validateParams",function(){return C});var e=t(15),s=t.n(e),a=t(23),l=t.n(a),u=t(39),h=t.n(u),_=function(D,x){var j=x.specActions;return function(){D.apply(void 0,arguments),j.parseToJson.apply(j,arguments)}},m=function(D,x){var j=x.specActions;return function(){for(var H=arguments.length,z=new Array(H),U=0;U<H;U++)z[U]=arguments[U];D.apply(void 0,z),j.invalidateResolvedSubtreeCache();var M=z[0],I=h()(M,["paths"])||{},J=s()(I);l()(J).call(J,function(Y){h()(I,[Y]).$ref&&j.requestResolvedSubtree(["paths",Y])}),j.requestResolvedSubtree(["components","securitySchemes"])}},b=function(D,x){var j=x.specActions;return function(H){return j.logRequest(H),D(H)}},C=function(D,x){var j=x.specSelectors;return function(H){return D(H,j.isOAS3())}}},function(g,o,t){"use strict";t.r(o);var e=t(37),s=t.n(e),a=t(165),l=t(5),u=t(270),h=t(160);o.default=function(_){var m=_.getComponents,b=_.getStore,C=_.getSystem,D=a.getComponent,x=a.render,j=a.makeMappedContainer,H=Object(l.u)(s()(D).call(D,null,C,b,m));return{rootInjects:{getComponent:H,makeMappedContainer:Object(l.u)(s()(j).call(j,null,C,b,H,m)),render:s()(x).call(x,null,C,b,D,m)},components:{ErrorBoundary:u.default,Fallback:h.default}}}},function(g,o,t){"use strict";g.exports=t(880)},function(g,o,t){"use strict";t.r(o),t.d(o,"ErrorBoundary",function(){return x});var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(8),h=t.n(u),_=t(9),m=t.n(_),b=(t(11),t(0)),C=t.n(b),D=t(160),x=function(j){h()(z,j);var H=m()(z);function z(U){var M;return s()(this,z),(M=H.call(this,U)).state={hasError:!1,error:null},M}return l()(z,[{key:"componentDidCatch",value:function(U,M){console.error(U,M)}},{key:"render",value:function(){var U=this.props,I=U.targetName,J=U.children,Y=(0,U.getComponent)("Fallback");return this.state.hasError?C.a.createElement(Y,{name:I}):J}}],[{key:"getDerivedStateFromError",value:function(U){return{hasError:!0,error:U}}}]),z}(b.Component);x.defaultProps={targetName:"this component",getComponent:function(){return D.default},children:null},o.default=x},function(g,o,t){"use strict";t.r(o);var e=t(142);o.default=function(){return{fn:e}}},function(g,o,t){"use strict";t.r(o);var e=t(161),s=t(273),a=t(274);o.default=function(){return{components:{RequestSnippets:a.RequestSnippets},fn:e,statePlugins:{requestSnippets:{selectors:s}}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"getGenerators",function(){return C}),t.d(o,"getSnippetGenerators",function(){return D}),t.d(o,"getActiveLanguage",function(){return x}),t.d(o,"getDefaultExpanded",function(){return j});var e=t(12),s=t.n(e),a=t(31),l=t.n(a),u=t(4),h=t.n(u),_=t(16),m=t(1),b=function(H){return H||Object(m.Map)()},C=Object(_.a)(b,function(H){var z=H.get("languages"),U=H.get("generators",Object(m.Map)());return!z||z.isEmpty()?U:s()(U).call(U,function(M,I){return l()(z).call(z,I)})}),D=function(H){return function(z){var U,M,I=z.fn;return s()(U=h()(M=C(H)).call(M,function(J,Y){var ie=I["requestSnippetGenerator_".concat(Y)];return"function"!=typeof ie?null:J.set("fn",ie)})).call(U,function(J){return J})}},x=Object(_.a)(b,function(H){return H.get("activeLanguage")}),j=Object(_.a)(b,function(H){return H.get("defaultExpanded")})},function(g,o,t){"use strict";t.r(o),t.d(o,"RequestSnippets",function(){return J});var e=t(13),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(8),m=t.n(_),b=t(9),C=t.n(b),D=t(4),x=t.n(D),j=t(0),H=t.n(j),z=t(143),U=(t(11),t(39)),M=t.n(U),I=t(91),J=function(Y){m()(oe,Y);var ie=C()(oe);function oe(){var fe,ne,he,ce,Ae,Me;return l()(this,oe),(Me=ie.call(this)).state={activeLanguage:null===(fe=Me.props)||void 0===fe||null===(ne=fe.requestSnippetsSelectors)||void 0===ne||null===(he=ne.getSnippetGenerators())||void 0===he?void 0:he.keySeq().first(),expanded:null===(ce=Me.props)||void 0===ce||null===(Ae=ce.requestSnippetsSelectors)||void 0===Ae?void 0:Ae.getDefaultExpanded()},Me}return h()(oe,[{key:"render",value:function(){var fe,ne,he,ce,Ae=this,Me=this.props,Oe=Me.request,be=Me.getConfigs,ue=Me.requestSnippetsSelectors.getSnippetGenerators(),He=this.state.activeLanguage||ue.keySeq().first(),$e=ue.get(He),F=$e.get("fn")(Oe),je={cursor:"pointer",lineHeight:1,display:"inline-flex",backgroundColor:"rgb(250, 250, 250)",paddingBottom:"0",paddingTop:"0",border:"1px solid rgb(51, 51, 51)",borderRadius:"4px 4px 0 0",boxShadow:"none",borderBottom:"none"},Et={cursor:"pointer",lineHeight:1,display:"inline-flex",backgroundColor:"rgb(51, 51, 51)",boxShadow:"none",border:"1px solid rgb(51, 51, 51)",paddingBottom:"0",paddingTop:"0",borderRadius:"4px 4px 0 0",marginTop:"-5px",marginRight:"-5px",marginLeft:"-5px",zIndex:"9999",borderBottom:"none"},lt=function(Qe){return Qe===He?Et:je},nn=be(),St=null!=nn&&null!==(fe=nn.syntaxHighlight)&&void 0!==fe&&fe.activated?H.a.createElement(I.a,{language:$e.get("syntax"),className:"curl microlight",onWheel:function(Qe){return this.preventYScrollingBeyondElement(Qe)},style:Object(I.b)(M()(nn,"syntaxHighlight.theme"))},F):H.a.createElement("textarea",{readOnly:!0,className:"curl",value:F}),At=void 0===this.state.expanded?null===(ne=this.props)||void 0===ne||null===(he=ne.requestSnippetsSelectors)||void 0===he?void 0:he.getDefaultExpanded():this.state.expanded;return H.a.createElement("div",null,H.a.createElement("div",{style:{width:"100%",display:"flex",justifyContent:"flex-start",alignItems:"center",marginBottom:"15px"}},H.a.createElement("h4",{style:{cursor:"pointer"},onClick:function(){return Ae.setState({expanded:!At})}},"Snippets"),H.a.createElement("button",{onClick:function(){return Ae.setState({expanded:!At})},style:{border:"none",background:"none"},title:At?"Collapse operation":"Expand operation"},H.a.createElement("svg",{className:"arrow",width:"10",height:"10"},H.a.createElement("use",{href:At?"#large-arrow-down":"#large-arrow",xlinkHref:At?"#large-arrow-down":"#large-arrow"})))),At&&H.a.createElement("div",{className:"curl-command"},H.a.createElement("div",{style:{paddingLeft:"15px",paddingRight:"10px",width:"100%",display:"flex"}},x()(ce=ue.entrySeq()).call(ce,function(Qe){var It=s()(Qe,2),ae=It[0],Ie=It[1];return H.a.createElement("div",{style:lt(ae),className:"btn",key:ae,onClick:function(){var dt;He!==(dt=ae)&&Ae.setState({activeLanguage:dt})}},H.a.createElement("h4",{style:ae===He?{color:"white"}:{}},Ie.get("title")))})),H.a.createElement("div",{className:"copy-to-clipboard"},H.a.createElement(z.CopyToClipboard,{text:F},H.a.createElement("button",null))),H.a.createElement("div",null,St)))}}]),oe}(H.a.Component)},function(g,o,t){"use strict";t.r(o);var e=t(37),s=t.n(e);o.default=function(a){var u={debug:0,info:1,log:2,warn:3,error:4},h=function(C){return u[C]||-1},m=h(a.configs.logLevel);function b(C){for(var D,x=arguments.length,j=new Array(x>1?x-1:0),H=1;H<x;H++)j[H-1]=arguments[H];h(C)>=m&&(D=console)[C].apply(D,j)}return b.warn=s()(b).call(b,null,"warn"),b.error=s()(b).call(b,null,"error"),b.info=s()(b).call(b,null,"info"),b.debug=s()(b).call(b,null,"debug"),{rootInjects:{log:b}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"loaded",function(){return e});var e=function(s,a){return function(){s.apply(void 0,arguments);var l=a.getConfigs().withCredentials;void 0!==l&&(a.fn.fetch.withCredentials="string"==typeof l?"true"===l:!!l)}}},function(g,o,t){"use strict";t.r(o),t.d(o,"preauthorizeBasic",function(){return D}),t.d(o,"preauthorizeApiKey",function(){return x});var e=t(3),s=t.n(e),a=t(37),l=t.n(a),u=t(2),h=t.n(u),_=t(278),m=t(82),b=t(279),C=t(280);function D(j,H,z,U){var M,I=j.authActions.authorize,J=j.specSelectors,Y=J.specJson,ie=(0,J.isOAS3)()?["components","securitySchemes"]:["securityDefinitions"],oe=Y().getIn(h()(M=[]).call(M,ie,[H]));return oe?I(s()({},H,{value:{username:z,password:U},schema:oe.toJS()})):null}function x(j,H,z){var U,M=j.authActions.authorize,I=j.specSelectors,J=I.specJson,Y=(0,I.isOAS3)()?["components","securitySchemes"]:["securityDefinitions"],ie=J().getIn(h()(U=[]).call(U,Y,[H]));return ie?M(s()({},H,{value:z,schema:ie.toJS()})):null}o.default=function(){return{afterLoad:function(j){this.rootInjects=this.rootInjects||{},this.rootInjects.initOAuth=j.authActions.configureAuth,this.rootInjects.preauthorizeApiKey=l()(x).call(x,null,j),this.rootInjects.preauthorizeBasic=l()(D).call(D,null,j)},statePlugins:{auth:{reducers:_.default,actions:m,selectors:b},spec:{wrapActions:C}}}}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(13),u=t.n(l),h=t(23),_=t.n(h),m=t(21),b=t.n(m),C=t(1),D=t(5),x=t(82);o.default=(e={},a()(e,x.SHOW_AUTH_POPUP,function(j,H){return j.set("showDefinitions",H.payload)}),a()(e,x.AUTHORIZE,function(j,H){var z,U=H.payload,M=Object(C.fromJS)(U),I=j.get("authorized")||Object(C.Map)();return _()(z=M.entrySeq()).call(z,function(J){var Y=u()(J,2),ie=Y[0],oe=Y[1];if(!Object(D.s)(oe.getIn))return j.set("authorized",I);var fe=oe.getIn(["schema","type"]);if("apiKey"===fe||"http"===fe)I=I.set(ie,oe);else if("basic"===fe){var ne=oe.getIn(["value","username"]),he=oe.getIn(["value","password"]);I=(I=I.setIn([ie,"value"],{username:ne,header:"Basic "+Object(D.a)(ne+":"+he)})).setIn([ie,"schema"],oe.get("schema"))}}),j.set("authorized",I)}),a()(e,x.AUTHORIZE_OAUTH2,function(j,H){var z,U=H.payload,M=U.auth,I=U.token;M.token=b()({},I),z=Object(C.fromJS)(M);var J=j.get("authorized")||Object(C.Map)();return J=J.set(z.get("name"),z),j.set("authorized",J)}),a()(e,x.LOGOUT,function(j,H){var z=H.payload,U=j.get("authorized").withMutations(function(M){_()(z).call(z,function(I){M.delete(I)})});return j.set("authorized",U)}),a()(e,x.CONFIGURE_AUTH,function(j,H){return j.set("configs",H.payload)}),a()(e,x.RESTORE_AUTHORIZATION,function(j,H){var z=H.payload;return j.set("authorized",Object(C.fromJS)(z.authorized))}),e)},function(g,o,t){"use strict";t.r(o),t.d(o,"shownDefinitions",function(){return I}),t.d(o,"definitionsToAuthorize",function(){return J}),t.d(o,"getDefinitionsByNames",function(){return Y}),t.d(o,"definitionsForRequirements",function(){return ie}),t.d(o,"authorized",function(){return oe}),t.d(o,"isAuthorized",function(){return fe}),t.d(o,"getConfigs",function(){return ne});var e=t(13),s=t.n(e),a=t(23),l=t.n(a),u=t(12),h=t.n(u),_=t(71),m=t.n(_),b=t(18),C=t.n(b),D=t(4),x=t.n(D),j=t(15),H=t.n(j),z=t(16),U=t(1),M=function(he){return he},I=Object(z.a)(M,function(he){return he.get("showDefinitions")}),J=Object(z.a)(M,function(){return function(he){var ce,Ae=he.specSelectors.securityDefinitions()||Object(U.Map)({}),Me=Object(U.List)();return l()(ce=Ae.entrySeq()).call(ce,function(Oe){var be=s()(Oe,2),ue=be[0],He=be[1],$e=Object(U.Map)();$e=$e.set(ue,He),Me=Me.push($e)}),Me}}),Y=function(he,ce){return function(Ae){var Me,Oe=Ae.specSelectors;console.warn("WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.");var be=Oe.securityDefinitions(),ue=Object(U.List)();return l()(Me=ce.valueSeq()).call(Me,function(He){var $e,F=Object(U.Map)();l()($e=He.entrySeq()).call($e,function(je){var Et,lt,nn=s()(je,2),St=nn[0],At=nn[1],Qe=be.get(St);"oauth2"===Qe.get("type")&&At.size&&(Et=Qe.get("scopes"),l()(lt=Et.keySeq()).call(lt,function(It){At.contains(It)||(Et=Et.delete(It))}),Qe=Qe.set("allowedScopes",Et)),F=F.set(St,Qe)}),ue=ue.push(F)}),ue}},ie=function(he){var ce=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object(U.List)();return function(Ae){var Me=Ae.authSelectors.definitionsToAuthorize()||Object(U.List)();return h()(Me).call(Me,function(Oe){return m()(ce).call(ce,function(be){return be.get(Oe.keySeq().first())})})}},oe=Object(z.a)(M,function(he){return he.get("authorized")||Object(U.Map)()}),fe=function(he,ce){return function(Ae){var Me,Oe=Ae.authSelectors.authorized();return U.List.isList(ce)?!!h()(Me=ce.toJS()).call(Me,function(be){var ue,He;return-1===C()(ue=x()(He=H()(be)).call(He,function($e){return!!Oe.get($e)})).call(ue,!1)}).length:null}},ne=Object(z.a)(M,function(he){return he.get("configs")})},function(g,o,t){"use strict";t.r(o),t.d(o,"execute",function(){return a});var e=t(25),s=t.n(e),a=function(l,u){var h=u.authSelectors,_=u.specSelectors;return function(m){var b=m.path,C=m.method,D=m.operation,x=m.extras,j={authorized:h.authorized()&&h.authorized().toJS(),definitions:_.securityDefinitions()&&_.securityDefinitions().toJS(),specSecurity:_.security()&&_.security().toJS()};return l(s()({path:b,method:C,operation:D,securities:j},x))}}},function(g,o,t){"use strict";t.r(o);var e=t(5);o.default=function(){return{fn:{shallowEqualKeys:e.G}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return H});var e=t(21),s=t.n(e),a=t(90),l=t.n(a),u=t(2),h=t.n(u),_=t(18),m=t.n(_),b=t(32),C=t.n(b),D=t(16),x=t(1),j=t(26);function H(z){var U=z.fn;return{statePlugins:{spec:{actions:{download:function(M){return function(I){var J=I.errActions,Y=I.specSelectors,ie=I.specActions,fe=U.fetch,ne=(0,I.getConfigs)();function he(ce){if(ce instanceof Error||ce.status>=400)return ie.updateLoadingStatus("failed"),J.newThrownErr(s()(new Error((ce.message||ce.statusText)+" "+M),{source:"fetch"})),void(!ce.status&&ce instanceof Error&&function(){try{var Ae;if("URL"in j.a?Ae=new l.a(M):(Ae=document.createElement("a")).href=M,"https:"!==Ae.protocol&&"https:"===j.a.location.protocol){var Me=s()(new Error("Possible mixed-content issue? The page was loaded over https:// but a ".concat(Ae.protocol,"// URL was specified. Check that you are not attempting to load mixed content.")),{source:"fetch"});return void J.newThrownErr(Me)}if(Ae.origin!==j.a.location.origin){var Oe,be=s()(new Error(h()(Oe="Possible cross-origin (CORS) issue? The URL origin (".concat(Ae.origin,") does not match the page (")).call(Oe,j.a.location.origin,"). Check the server returns the correct 'Access-Control-Allow-*' headers.")),{source:"fetch"});J.newThrownErr(be)}}catch(ue){return}}());ie.updateLoadingStatus("success"),ie.updateSpec(ce.text),Y.url()!==M&&ie.updateUrl(M)}M=M||Y.url(),ie.updateLoadingStatus("loading"),J.clear({source:"fetch"}),fe({url:M,loadSpec:!0,requestInterceptor:ne.requestInterceptor||function(ce){return ce},responseInterceptor:ne.responseInterceptor||function(ce){return ce},credentials:"same-origin",headers:{Accept:"application/json,*/*"}}).then(he,he)}},updateLoadingStatus:function(M){var I,J=[null,"loading","failed","success","failedConfig"];return-1===m()(J).call(J,M)&&console.error(h()(I="Error: ".concat(M," is not one of ")).call(I,C()(J))),{type:"spec_update_loading_status",payload:M}}},reducers:{spec_update_loading_status:function(M,I){return"string"==typeof I.payload?M.set("loadingStatus",I.payload):M}},selectors:{loadingStatus:Object(D.a)(function(M){return M||Object(x.Map)()},function(M){return M.get("loadingStatus")||null})}}}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"downloadConfig",function(){return s}),t.d(o,"getConfigByUrl",function(){return a});var e=t(162),s=function(l){return function(u){return(0,u.fn.fetch)(l)}},a=function(l,u){return function(h){var _=h.specActions;if(l)return _.downloadConfig(l).then(m,m);function m(b){b instanceof Error||b.status>=400?(_.updateLoadingStatus("failedConfig"),_.updateLoadingStatus("failedConfig"),_.updateUrl(""),console.error(b.statusText+" "+l.url),u(null)):u(Object(e.parseYamlConfig)(b.text))}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"get",function(){return a});var e=t(24),s=t.n(e),a=function(l,u){return l.getIn(s()(u)?u:[u])}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(1),u=t(144);o.default=(e={},a()(e,u.UPDATE_CONFIGS,function(h,_){return h.merge(Object(l.fromJS)(_.payload))}),a()(e,u.TOGGLE_CONFIGS,function(h,_){var m=_.payload,b=h.get(m);return h.set(m,!b)}),e)},function(g,o,t){"use strict";t.r(o);var e=t(287),s=t(288),a=t(289);o.default=function(){return[e.default,{statePlugins:{configs:{wrapActions:{loaded:function(l,u){return function(){l.apply(void 0,arguments);var h=decodeURIComponent(window.location.hash);u.layoutActions.parseDeepLinkHash(h)}}}}},wrapComponents:{operation:s.default,OperationTag:a.default}}]}},function(g,o,t){"use strict";t.r(o),t.d(o,"show",function(){return ne}),t.d(o,"scrollTo",function(){return he}),t.d(o,"parseDeepLinkHash",function(){return ce}),t.d(o,"readyToScroll",function(){return Ae}),t.d(o,"scrollToElement",function(){return Me}),t.d(o,"clearScrollTo",function(){return Oe});var e,s=t(3),a=t.n(s),l=t(13),u=t.n(l),h=t(24),_=t.n(h),m=t(2),b=t.n(m),C=t(20),D=t.n(C),x=t(4),j=t.n(x),H=t(18),z=t.n(H),U=t(164),M=t(475),I=t.n(M),J=t(5),Y=t(1),ie=t.n(Y),oe="layout_scroll_to",fe="layout_clear_scroll",ne=function(be,ue){var He=ue.getConfigs,$e=ue.layoutSelectors;return function(){for(var F=arguments.length,je=new Array(F),Et=0;Et<F;Et++)je[Et]=arguments[Et];if(be.apply(void 0,je),He().deepLinking)try{var lt=je[0],nn=je[1];lt=_()(lt)?lt:[lt];var St=$e.urlHashArrayFromIsShownKey(lt);if(!St.length)return;var At,Qe=u()(St,2),It=Qe[0],ae=Qe[1];if(!nn)return Object(U.setHash)("/");2===St.length?Object(U.setHash)(Object(J.d)(b()(At="/".concat(encodeURIComponent(It),"/")).call(At,encodeURIComponent(ae)))):1===St.length&&Object(U.setHash)(Object(J.d)("/".concat(encodeURIComponent(It))))}catch(Ie){console.error(Ie)}}},he=function(be){return{type:oe,payload:_()(be)?be:[be]}},ce=function(be){return function(ue){var He=ue.layoutActions,$e=ue.layoutSelectors;if((0,ue.getConfigs)().deepLinking&&be){var F,je=D()(be).call(be,1);"!"===je[0]&&(je=D()(je).call(je,1)),"/"===je[0]&&(je=D()(je).call(je,1));var Et=j()(F=je.split("/")).call(F,function(dt){return dt||""}),lt=$e.isShownKeyFromUrlHashArray(Et),nn=u()(lt,3),At=nn[1],Qe=void 0===At?"":At,It=nn[2],ae=void 0===It?"":It;if("operations"===nn[0]){var Ie=$e.isShownKeyFromUrlHashArray([Qe]);z()(Qe).call(Qe,"_")>-1&&(console.warn("Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead."),He.show(j()(Ie).call(Ie,function(dt){return dt.replace(/_/g," ")}),!0)),He.show(Ie,!0)}(z()(Qe).call(Qe,"_")>-1||z()(ae).call(ae,"_")>-1)&&(console.warn("Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead."),He.show(j()(lt).call(lt,function(dt){return dt.replace(/_/g," ")}),!0)),He.show(lt,!0),He.scrollTo(lt)}}},Ae=function(be,ue){return function(He){var $e=He.layoutSelectors.getScrollToKey();ie.a.is($e,Object(Y.fromJS)(be))&&(He.layoutActions.scrollToElement(ue),He.layoutActions.clearScrollTo())}},Me=function(be,ue){return function(He){try{ue=ue||He.fn.getScrollParent(be),I.a.createScroller(ue).to(be)}catch($e){console.error($e)}}},Oe=function(){return{type:fe}};o.default={fn:{getScrollParent:function(be,ue){var He=document.documentElement,$e=getComputedStyle(be),F="absolute"===$e.position,je=ue?/(auto|scroll|hidden)/:/(auto|scroll)/;if("fixed"===$e.position)return He;for(var Et=be;Et=Et.parentElement;)if($e=getComputedStyle(Et),(!F||"static"!==$e.position)&&je.test($e.overflow+$e.overflowY+$e.overflowX))return Et;return He}},statePlugins:{layout:{actions:{scrollToElement:Me,scrollTo:he,clearScrollTo:Oe,readyToScroll:Ae,parseDeepLinkHash:ce},selectors:{getScrollToKey:function(be){return be.get("scrollToKey")},isShownKeyFromUrlHashArray:function(be,ue){var He=u()(ue,2),$e=He[0],F=He[1];return F?["operations",$e,F]:$e?["operations-tag",$e]:[]},urlHashArrayFromIsShownKey:function(be,ue){var He=u()(ue,3),$e=He[0],F=He[1];return"operations"==$e?[F,He[2]]:"operations-tag"==$e?[F]:[]}},reducers:(e={},a()(e,oe,function(be,ue){return be.set("scrollToKey",ie.a.fromJS(ue.payload))}),a()(e,fe,function(be){return be.delete("scrollToKey")}),e),wrapActions:{show:ne}}}}},function(g,o,t){"use strict";t.r(o);var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(10),h=t.n(u),_=t(8),m=t.n(_),b=t(9),C=t.n(b),D=t(3),x=t.n(D),j=t(2),H=t.n(j),z=t(0),U=t.n(z);t(28),o.default=function(M,I){return function(J){m()(ie,J);var Y=C()(ie);function ie(){var oe,fe;s()(this,ie);for(var ne=arguments.length,he=new Array(ne),ce=0;ce<ne;ce++)he[ce]=arguments[ce];return fe=Y.call.apply(Y,H()(oe=[this]).call(oe,he)),x()(h()(fe),"onLoad",function(Ae){var Me=fe.props.operation,Oe=Me.toObject(),be=Oe.tag,ue=Oe.operationId,He=Me.toObject().isShownKey;I.layoutActions.readyToScroll(He=He||["operations",be,ue],Ae)}),fe}return l()(ie,[{key:"render",value:function(){return U.a.createElement("span",{ref:this.onLoad},U.a.createElement(M,this.props))}}]),ie}(U.a.Component)}},function(g,o,t){"use strict";t.r(o);var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(10),h=t.n(u),_=t(8),m=t.n(_),b=t(9),C=t.n(b),D=t(3),x=t.n(D),j=t(2),H=t.n(j),z=t(0),U=t.n(z);t(11),o.default=function(M,I){return function(J){m()(ie,J);var Y=C()(ie);function ie(){var oe,fe;s()(this,ie);for(var ne=arguments.length,he=new Array(ne),ce=0;ce<ne;ce++)he[ce]=arguments[ce];return fe=Y.call.apply(Y,H()(oe=[this]).call(oe,he)),x()(h()(fe),"onLoad",function(Ae){I.layoutActions.readyToScroll(["operations-tag",fe.props.tag],Ae)}),fe}return l()(ie,[{key:"render",value:function(){return U.a.createElement("span",{ref:this.onLoad},U.a.createElement(M,this.props))}}]),ie}(U.a.Component)}},function(g,o,t){"use strict";t.r(o);var e=t(291);o.default=function(){return{fn:{opsFilter:e.default}}}},function(g,o,t){"use strict";t.r(o);var e=t(12),s=t.n(e),a=t(18),l=t.n(a);o.default=function(u,h){return s()(u).call(u,function(_,m){return-1!==l()(m).call(m,h)})}},function(g,o,t){"use strict";t.r(o);var e=t(202),s=t.n(e),a=!1;o.default=function(){return{statePlugins:{spec:{wrapActions:{updateSpec:function(l){return function(){return a=!0,l.apply(void 0,arguments)}},updateJsonSpec:function(l,u){return function(){var h=u.getConfigs().onComplete;return a&&"function"==typeof h&&(s()(h,0),a=!1),l.apply(void 0,arguments)}}}}}}}},function(g,o,t){"use strict";t.r(o);var e=t(294),s=t(295),a=t(296),l=t(297),u=t(305),h=t(55),_=t(312),m=t(313);o.default=function(){return{components:l.default,wrapComponents:u.default,statePlugins:{spec:{wrapSelectors:e,selectors:a},auth:{wrapSelectors:s},oas3:{actions:h,reducers:m.default,selectors:_}}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"definitions",function(){return D}),t.d(o,"hasHost",function(){return x}),t.d(o,"securityDefinitions",function(){return j}),t.d(o,"host",function(){return H}),t.d(o,"basePath",function(){return z}),t.d(o,"consumes",function(){return U}),t.d(o,"produces",function(){return M}),t.d(o,"schemes",function(){return I}),t.d(o,"servers",function(){return J}),t.d(o,"isOAS3",function(){return Y}),t.d(o,"isSwagger2",function(){return ie});var e=t(16),s=t(88),a=t(1),l=t(36);function u(oe){return function(fe,ne){return function(){var he=ne.getSystem().specSelectors.specJson();return Object(l.isOAS3)(he)?oe.apply(void 0,arguments):fe.apply(void 0,arguments)}}}var h=function(oe){return oe||Object(a.Map)()},_=u(Object(e.a)(function(){return null})),m=Object(e.a)(h,function(oe){return oe.get("json",Object(a.Map)())}),b=Object(e.a)(h,function(oe){return oe.get("resolved",Object(a.Map)())}),C=function(oe){var fe=b(oe);return fe.count()<1&&(fe=m(oe)),fe},D=u(Object(e.a)(C,function(oe){var fe=oe.getIn(["components","schemas"]);return a.Map.isMap(fe)?fe:Object(a.Map)()})),x=u(function(oe){return C(oe).hasIn(["servers",0])}),j=u(Object(e.a)(s.specJsonWithResolvedSubtrees,function(oe){return oe.getIn(["components","securitySchemes"])||null})),H=_,z=_,U=_,M=_,I=_,J=u(Object(e.a)(C,function(oe){return oe.getIn(["servers"])||Object(a.Map)()})),Y=function(oe,fe){return function(){var ne=fe.getSystem().specSelectors.specJson();return Object(l.isOAS3)(a.Map.isMap(ne)?ne:Object(a.Map)())}},ie=function(oe,fe){return function(){var ne=fe.getSystem().specSelectors.specJson();return Object(l.isSwagger2)(a.Map.isMap(ne)?ne:Object(a.Map)())}}},function(g,o,t){"use strict";t.r(o),t.d(o,"definitionsToAuthorize",function(){return M});var U,e=t(3),s=t.n(e),a=t(13),l=t.n(a),u=t(2),h=t.n(u),_=t(23),m=t.n(_),b=t(12),C=t.n(b),D=t(30),x=t.n(D),j=t(16),H=t(1),z=t(36),M=(U=Object(j.a)(function(I){return I},function(I){return I.specSelectors.securityDefinitions()},function(I,J){var Y,ie=Object(H.List)();return J&&m()(Y=J.entrySeq()).call(Y,function(oe){var fe,ne=l()(oe,2),he=ne[0],ce=ne[1],Ae=ce.get("type");if("oauth2"===Ae&&m()(fe=ce.get("flows").entrySeq()).call(fe,function(be){var ue=l()(be,2),He=ue[0],$e=ue[1],F=Object(H.fromJS)({flow:He,authorizationUrl:$e.get("authorizationUrl"),tokenUrl:$e.get("tokenUrl"),scopes:$e.get("scopes"),type:ce.get("type"),description:ce.get("description")});ie=ie.push(new H.Map(s()({},he,C()(F).call(F,function(je){return void 0!==je}))))}),"http"!==Ae&&"apiKey"!==Ae||(ie=ie.push(new H.Map(s()({},he,ce)))),"openIdConnect"===Ae&&ce.get("openIdConnectData")){var Me=ce.get("openIdConnectData"),Oe=Me.get("grant_types_supported")||["authorization_code","implicit"];m()(Oe).call(Oe,function(be){var ue,He=Me.get("scopes_supported")&&x()(ue=Me.get("scopes_supported")).call(ue,function(F,je){return F.set(je,"")},new H.Map),$e=Object(H.fromJS)({flow:be,authorizationUrl:Me.get("authorization_endpoint"),tokenUrl:Me.get("token_endpoint"),scopes:He,type:"oauth2",openIdConnectUrl:ce.get("openIdConnectUrl")});ie=ie.push(new H.Map(s()({},he,C()($e).call($e,function(F){return void 0!==F}))))})}}),ie}),function(I,J){return function(){for(var Y=J.getSystem().specSelectors.specJson(),ie=arguments.length,oe=new Array(ie),fe=0;fe<ie;fe++)oe[fe]=arguments[fe];if(Object(z.isOAS3)(Y)){var ne,he=J.getState().getIn(["spec","resolvedSubtrees","components","securitySchemes"]);return U.apply(void 0,h()(ne=[J,he]).call(ne,oe))}return I.apply(void 0,oe)}})},function(g,o,t){"use strict";t.r(o),t.d(o,"servers",function(){return m}),t.d(o,"isSwagger2",function(){return b});var l,e=t(16),s=t(1),a=t(36),u=function(C){return C||Object(s.Map)()},h=Object(e.a)(u,function(C){return C.get("json",Object(s.Map)())}),_=Object(e.a)(u,function(C){return C.get("resolved",Object(s.Map)())}),m=(l=Object(e.a)(function(C){var D=_(C);return D.count()<1&&(D=h(C)),D},function(C){return C.getIn(["servers"])||Object(s.Map)()}),function(){return function(C){var D=C.getSystem().specSelectors.specJson();if(Object(a.isOAS3)(D)){for(var x=arguments.length,j=new Array(x>1?x-1:0),H=1;H<x;H++)j[H-1]=arguments[H];return l.apply(void 0,j)}return null}}),b=function(C,D){return function(){var x=D.getSystem().specSelectors.specJson();return Object(a.isSwagger2)(x)}}},function(g,o,t){"use strict";t.r(o);var e=t(298),s=t(163),a=t(299),l=t(300),u=t(301),h=t(302),_=t(303),m=t(304);o.default={Callbacks:e.default,HttpAuth:_.default,RequestBody:s.default,Servers:l.default,ServersContainer:u.default,RequestBodyEditor:h.default,OperationServers:m.default,operationLink:a.default}},function(g,o,t){"use strict";t.r(o);var e=t(29),s=t.n(e),a=t(13),l=t.n(a),u=t(4),h=t.n(u),_=t(0),m=t.n(_),b=(t(11),t(28),t(1));o.default=function(C){var D,x=C.callbacks,H=C.specPath,z=(0,C.getComponent)("OperationContainer",!0);if(!x)return m.a.createElement("span",null,"No callbacks");var U=h()(D=x.entrySeq()).call(D,function(M){var I,J=l()(M,2),Y=J[0],ie=J[1];return m.a.createElement("div",{key:Y},m.a.createElement("h2",null,Y),h()(I=ie.entrySeq()).call(I,function(oe){var fe,ne=l()(oe,2),he=ne[0],ce=ne[1];return"$$ref"===he?null:m.a.createElement("div",{key:he},h()(fe=ce.entrySeq()).call(fe,function(Ae){var Me=l()(Ae,2),Oe=Me[0],be=Me[1];if("$$ref"===Oe)return null;var ue=Object(b.fromJS)({operation:be});return m.a.createElement(z,s()({},C,{op:ue,key:Oe,tag:"",method:Oe,path:he,specPath:H.push(Y,he,Oe),allowTryItOut:!1}))}))}))});return m.a.createElement("div",null,U)}},function(g,o,t){"use strict";t.r(o);var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(8),h=t.n(u),_=t(9),m=t.n(_),b=t(32),C=t.n(b),D=t(4),x=t.n(D),j=t(0),H=t.n(j),z=(t(11),t(28),function(U){h()(I,U);var M=m()(I);function I(){return s()(this,I),M.apply(this,arguments)}return l()(I,[{key:"render",value:function(){var Ae,Me,J=this.props,Y=J.link,ie=J.name,oe=(0,J.getComponent)("Markdown",!0),fe=Y.get("operationId")||Y.get("operationRef"),ne=Y.get("parameters")&&Y.get("parameters").toJS(),he=Y.get("description");return H.a.createElement("div",{className:"operation-link"},H.a.createElement("div",{className:"description"},H.a.createElement("b",null,H.a.createElement("code",null,ie)),he?H.a.createElement(oe,{source:he}):null),H.a.createElement("pre",null,"Operation `",fe,"`",H.a.createElement("br",null),H.a.createElement("br",null),"Parameters ",("string"!=typeof(Ae=C()(ne,null,2))?"":x()(Me=Ae.split("\n")).call(Me,function(Oe,be){return be>0?Array(1).join(" ")+Oe:Oe}).join("\n"))||"{}",H.a.createElement("br",null)))}}]),I}(j.Component));o.default=z},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return ne});var e=t(13),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(10),m=t.n(_),b=t(8),C=t.n(b),D=t(9),x=t.n(D),j=t(3),H=t.n(j),z=t(2),U=t.n(z),M=t(56),I=t.n(M),J=t(4),Y=t.n(J),ie=t(0),oe=t.n(ie),fe=t(1),ne=(t(11),t(28),function(he){C()(Ae,he);var ce=x()(Ae);function Ae(){var Me,Oe;l()(this,Ae);for(var be=arguments.length,ue=new Array(be),He=0;He<be;He++)ue[He]=arguments[He];return Oe=ce.call.apply(ce,U()(Me=[this]).call(Me,ue)),H()(m()(Oe),"onServerChange",function($e){Oe.setServer($e.target.value)}),H()(m()(Oe),"onServerVariableValueChange",function($e){var F=Oe.props,je=F.setServerVariableValue,Et=F.currentServer,lt=$e.target.getAttribute("data-variable");"function"==typeof je&&je({server:Et,key:lt,val:$e.target.value})}),H()(m()(Oe),"setServer",function($e){(0,Oe.props.setSelectedServer)($e)}),Oe}return h()(Ae,[{key:"componentDidMount",value:function(){var Me,Oe=this.props;Oe.currentServer||this.setServer(null===(Me=Oe.servers.first())||void 0===Me?void 0:Me.get("url"))}},{key:"UNSAFE_componentWillReceiveProps",value:function(Me){var Oe=Me.servers,be=Me.setServerVariableValue,ue=Me.getServerVariable;if(this.props.currentServer!==Me.currentServer||this.props.servers!==Me.servers){var He=I()(Oe).call(Oe,function(F){return F.get("url")===Me.currentServer});if(!He)return this.setServer(Oe.first().get("url"));var $e=He.get("variables")||Object(fe.OrderedMap)();Y()($e).call($e,function(F,je){ue(Me.currentServer,je)||be({server:Me.currentServer,key:je,val:F.get("default")||""})})}}},{key:"render",value:function(){var Me,Oe,be=this,ue=this.props,He=ue.servers,$e=ue.currentServer,F=ue.getServerVariable,je=ue.getEffectiveServerValue,Et=(I()(He).call(He,function(nn){return nn.get("url")===$e})||Object(fe.OrderedMap)()).get("variables")||Object(fe.OrderedMap)(),lt=0!==Et.size;return oe.a.createElement("div",{className:"servers"},oe.a.createElement("label",{htmlFor:"servers"},oe.a.createElement("select",{onChange:this.onServerChange,value:$e},Y()(Me=He.valueSeq()).call(Me,function(nn){return oe.a.createElement("option",{value:nn.get("url"),key:nn.get("url")},nn.get("url"),nn.get("description")&&" - ".concat(nn.get("description")))}).toArray())),lt?oe.a.createElement("div",null,oe.a.createElement("div",{className:"computed-url"},"Computed URL:",oe.a.createElement("code",null,je($e))),oe.a.createElement("h4",null,"Server variables"),oe.a.createElement("table",null,oe.a.createElement("tbody",null,Y()(Oe=Et.entrySeq()).call(Oe,function(nn){var St,At=s()(nn,2),Qe=At[0],It=At[1];return oe.a.createElement("tr",{key:Qe},oe.a.createElement("td",null,Qe),oe.a.createElement("td",null,It.get("enum")?oe.a.createElement("select",{"data-variable":Qe,onChange:be.onServerVariableValueChange},Y()(St=It.get("enum")).call(St,function(ae){return oe.a.createElement("option",{selected:ae===F($e,Qe),key:ae,value:ae},ae)})):oe.a.createElement("input",{type:"text",value:F($e,Qe)||"",onChange:be.onServerVariableValueChange,"data-variable":Qe})))})))):null)}}]),Ae}(oe.a.Component))},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return D});var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(8),h=t.n(u),_=t(9),m=t.n(_),b=t(0),C=t.n(b),D=(t(11),function(x){h()(H,x);var j=m()(H);function H(){return s()(this,H),j.apply(this,arguments)}return l()(H,[{key:"render",value:function(){var z=this.props,M=z.oas3Selectors,I=z.oas3Actions,J=z.getComponent,Y=z.specSelectors.servers(),ie=J("Servers");return Y&&Y.size?C.a.createElement("div",null,C.a.createElement("span",{className:"servers-title"},"Servers"),C.a.createElement(ie,{servers:Y,currentServer:M.selectedServer(),setSelectedServer:I.setSelectedServer,setServerVariableValue:I.setServerVariableValue,getServerVariable:M.serverVariableValue,getEffectiveServerValue:M.serverEffectiveValue})):null}}]),H}(C.a.Component))},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return J});var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(10),h=t.n(u),_=t(8),m=t.n(_),b=t(9),C=t.n(b),D=t(3),x=t.n(D),j=t(0),H=t.n(j),z=(t(11),t(47)),U=t.n(z),M=t(5),I=Function.prototype,J=function(Y){m()(oe,Y);var ie=C()(oe);function oe(fe,ne){var he;return s()(this,oe),he=ie.call(this,fe,ne),x()(h()(he),"applyDefaultValue",function(ce){var Ae=ce||he.props,Me=Ae.onChange,Oe=Ae.defaultValue;return he.setState({value:Oe}),Me(Oe)}),x()(h()(he),"onChange",function(ce){he.props.onChange(Object(M.I)(ce))}),x()(h()(he),"onDomChange",function(ce){var Ae=ce.target.value;he.setState({value:Ae},function(){return he.onChange(Ae)})}),he.state={value:Object(M.I)(fe.value)||fe.defaultValue},fe.onChange(fe.value),he}return l()(oe,[{key:"UNSAFE_componentWillReceiveProps",value:function(fe){this.props.value!==fe.value&&fe.value!==this.state.value&&this.setState({value:Object(M.I)(fe.value)}),!fe.value&&fe.defaultValue&&this.state.value&&this.applyDefaultValue(fe)}},{key:"render",value:function(){var fe=this.props,he=fe.errors,ce=this.state.value,Ae=he.size>0,Me=(0,fe.getComponent)("TextArea");return H.a.createElement("div",{className:"body-param"},H.a.createElement(Me,{className:U()("body-param__text",{invalid:Ae}),title:he.size?he.join(", "):"",value:ce,onChange:this.onDomChange}))}}]),oe}(j.PureComponent);x()(J,"defaultProps",{onChange:I,userHasEditedBody:!1})},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return ie});var e=t(6),s=t.n(e),a=t(7),l=t.n(a),u=t(10),h=t.n(u),_=t(8),m=t.n(_),b=t(9),C=t.n(b),D=t(3),x=t.n(D),j=t(21),H=t.n(j),z=t(12),U=t.n(z),M=t(4),I=t.n(M),J=t(0),Y=t.n(J),ie=(t(11),function(oe){m()(ne,oe);var fe=C()(ne);function ne(he,ce){var Ae;s()(this,ne),Ae=fe.call(this,he,ce),x()(h()(Ae),"onChange",function(He){var $e=Ae.props.onChange,F=He.target,je=F.value,Et=F.name,lt=H()({},Ae.state.value);Et?lt[Et]=je:lt=je,Ae.setState({value:lt},function(){return $e(Ae.state)})});var Me=Ae.props,Oe=Me.name,be=Me.schema,ue=Ae.getValue();return Ae.state={name:Oe,schema:be,value:ue},Ae}return l()(ne,[{key:"getValue",value:function(){var he=this.props,Ae=he.authorized;return Ae&&Ae.getIn([he.name,"value"])}},{key:"render",value:function(){var he,ce,Ae=this.props,Me=Ae.schema,Oe=Ae.getComponent,be=Ae.errSelectors,ue=Ae.name,He=Oe("Input"),$e=Oe("Row"),F=Oe("Col"),je=Oe("authError"),Et=Oe("Markdown",!0),lt=Oe("JumpToPath",!0),nn=(Me.get("scheme")||"").toLowerCase(),St=this.getValue(),At=U()(he=be.allErrors()).call(he,function(ae){return ae.get("authId")===ue});if("basic"===nn){var Qe,It=St?St.get("username"):null;return Y.a.createElement("div",null,Y.a.createElement("h4",null,Y.a.createElement("code",null,ue||Me.get("name")),"\xa0 (http, Basic)",Y.a.createElement(lt,{path:["securityDefinitions",ue]})),It&&Y.a.createElement("h6",null,"Authorized"),Y.a.createElement($e,null,Y.a.createElement(Et,{source:Me.get("description")})),Y.a.createElement($e,null,Y.a.createElement("label",null,"Username:"),It?Y.a.createElement("code",null," ",It," "):Y.a.createElement(F,null,Y.a.createElement(He,{type:"text",required:"required",name:"username",onChange:this.onChange,autoFocus:!0}))),Y.a.createElement($e,null,Y.a.createElement("label",null,"Password:"),It?Y.a.createElement("code",null," ****** "):Y.a.createElement(F,null,Y.a.createElement(He,{autoComplete:"new-password",name:"password",type:"password",onChange:this.onChange}))),I()(Qe=At.valueSeq()).call(Qe,function(ae,Ie){return Y.a.createElement(je,{error:ae,key:Ie})}))}return"bearer"===nn?Y.a.createElement("div",null,Y.a.createElement("h4",null,Y.a.createElement("code",null,ue||Me.get("name")),"\xa0 (http, Bearer)",Y.a.createElement(lt,{path:["securityDefinitions",ue]})),St&&Y.a.createElement("h6",null,"Authorized"),Y.a.createElement($e,null,Y.a.createElement(Et,{source:Me.get("description")})),Y.a.createElement($e,null,Y.a.createElement("label",null,"Value:"),St?Y.a.createElement("code",null," ****** "):Y.a.createElement(F,null,Y.a.createElement(He,{type:"text",onChange:this.onChange,autoFocus:!0}))),I()(ce=At.valueSeq()).call(ce,function(ae,Ie){return Y.a.createElement(je,{error:ae,key:Ie})})):Y.a.createElement("div",null,Y.a.createElement("em",null,Y.a.createElement("b",null,ue)," HTTP authentication: unsupported scheme ","'".concat(nn,"'")))}}]),ne}(Y.a.Component))},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return J});var e=t(25),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(10),m=t.n(_),b=t(8),C=t.n(b),D=t(9),x=t.n(D),j=t(3),H=t.n(j),z=t(2),U=t.n(z),M=t(0),I=t.n(M),J=(t(11),t(28),function(Y){C()(oe,Y);var ie=x()(oe);function oe(){var fe,ne;l()(this,oe);for(var he=arguments.length,ce=new Array(he),Ae=0;Ae<he;Ae++)ce[Ae]=arguments[Ae];return ne=ie.call.apply(ie,U()(fe=[this]).call(fe,ce)),H()(m()(ne),"setSelectedServer",function(Me){var Oe,be=ne.props,ue=be.path,He=be.method;return ne.forceUpdate(),ne.props.setSelectedServer(Me,U()(Oe="".concat(ue,":")).call(Oe,He))}),H()(m()(ne),"setServerVariableValue",function(Me){var Oe,be=ne.props,ue=be.path,He=be.method;return ne.forceUpdate(),ne.props.setServerVariableValue(s()(s()({},Me),{},{namespace:U()(Oe="".concat(ue,":")).call(Oe,He)}))}),H()(m()(ne),"getSelectedServer",function(){var Me,Oe=ne.props,be=Oe.path,ue=Oe.method;return ne.props.getSelectedServer(U()(Me="".concat(be,":")).call(Me,ue))}),H()(m()(ne),"getServerVariable",function(Me,Oe){var be,ue=ne.props,He=ue.path,$e=ue.method;return ne.props.getServerVariable({namespace:U()(be="".concat(He,":")).call(be,$e),server:Me},Oe)}),H()(m()(ne),"getEffectiveServerValue",function(Me){var Oe,be=ne.props,ue=be.path,He=be.method;return ne.props.getEffectiveServerValue({server:Me,namespace:U()(Oe="".concat(ue,":")).call(Oe,He)})}),ne}return h()(oe,[{key:"render",value:function(){var fe=this.props,ne=fe.operationServers,he=fe.pathServers;if(!ne&&!he)return null;var Ae=(0,fe.getComponent)("Servers"),Me=ne||he,Oe=ne?"operation":"path";return I.a.createElement("div",{className:"opblock-section operation-servers"},I.a.createElement("div",{className:"opblock-section-header"},I.a.createElement("div",{className:"tab-header"},I.a.createElement("h4",{className:"opblock-title"},"Servers"))),I.a.createElement("div",{className:"opblock-description-wrapper"},I.a.createElement("h4",{className:"message"},"These ",Oe,"-level options override the global server options."),I.a.createElement(Ae,{servers:Me,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}}]),oe}(I.a.Component))},function(g,o,t){"use strict";t.r(o);var e=t(306),s=t(307),a=t(308),l=t(309),u=t(310),h=t(311);o.default={Markdown:e.default,AuthItem:s.default,JsonSchema_string:h.default,VersionStamp:a.default,model:u.default,onlineValidatorBadge:l.default}},function(g,o,t){"use strict";t.r(o),t.d(o,"Markdown",function(){return D});var e=t(105),s=t.n(e),a=t(0),l=t.n(a),u=(t(11),t(47)),h=t.n(u),_=t(204),m=t(36),b=t(205),C=new _.a("commonmark");C.block.ruler.enable(["table"]),C.set({linkTarget:"_blank"});var D=function(x){var j=x.source,H=x.className,z=void 0===H?"":H;if("string"!=typeof j)return null;if(j){var M,I=(0,x.getConfigs)().useUnsafeMarkdown,J=C.render(j),Y=Object(b.b)(J,{useUnsafeMarkdown:I});return"string"==typeof Y&&(M=s()(Y).call(Y)),l.a.createElement("div",{dangerouslySetInnerHTML:{__html:M},className:h()(z,"renderedMarkdown")})}return null};D.defaultProps={getConfigs:function(){return{useUnsafeMarkdown:!1}}},o.default=Object(m.OAS3ComponentWrapFactory)(D)},function(g,o,t){"use strict";t.r(o);var e=t(54),s=t.n(e),a=t(0),l=t.n(a),u=t(36),h=["Ori"];o.default=Object(u.OAS3ComponentWrapFactory)(function(_){var m=_.Ori,b=s()(_,h),C=b.schema,D=b.getComponent,x=b.errSelectors,j=b.authorized,H=b.onAuthChange,z=b.name,U=D("HttpAuth");return"http"===C.get("type")?l.a.createElement(U,{key:z,schema:C,name:z,errSelectors:x,authorized:j,getComponent:D,onChange:H}):l.a.createElement(m,b)})},function(g,o,t){"use strict";t.r(o);var e=t(0),s=t.n(e),a=t(36);o.default=Object(a.OAS3ComponentWrapFactory)(function(l){return s.a.createElement("span",null,s.a.createElement(l.Ori,l),s.a.createElement("small",{className:"version-stamp"},s.a.createElement("pre",{className:"version"},"OAS3")))})},function(g,o,t){"use strict";t.r(o);var e=t(36),s=t(203);o.default=Object(e.OAS3ComponentWrapFactory)(s.a)},function(g,o,t){"use strict";t.r(o);var e=t(29),s=t.n(e),a=t(6),l=t.n(a),u=t(7),h=t.n(u),_=t(8),m=t.n(_),b=t(9),C=t.n(b),D=t(0),x=t.n(D),j=(t(11),t(36)),H=t(206),z=function(U){m()(I,U);var M=C()(I);function I(){return l()(this,I),M.apply(this,arguments)}return h()(I,[{key:"render",value:function(){var J=this.props,Y=J.getConfigs,ie=["model-box"],oe=null;return!0===J.schema.get("deprecated")&&(ie.push("deprecated"),oe=x.a.createElement("span",{className:"model-deprecated-warning"},"Deprecated:")),x.a.createElement("div",{className:ie.join(" ")},oe,x.a.createElement(H.a,s()({},this.props,{getConfigs:Y,depth:1,expandDepth:this.props.expandDepth||0})))}}]),I}(D.Component);o.default=Object(j.OAS3ComponentWrapFactory)(z)},function(g,o,t){"use strict";t.r(o);var e=t(54),s=t.n(e),a=t(0),l=t.n(a),u=t(36),h=["Ori"];o.default=Object(u.OAS3ComponentWrapFactory)(function(_){var m=_.Ori,b=s()(_,h),C=b.schema,D=b.getComponent,x=b.errors,j=b.onChange,H=C&&C.get?C.get("format"):null,z=C&&C.get?C.get("type"):null,U=D("Input");return z&&"string"===z&&H&&("binary"===H||"base64"===H)?l.a.createElement(U,{type:"file",className:x.length?"invalid":"",title:x.length?x:"",onChange:function(M){j(M.target.files[0])},disabled:m.isDisabled}):l.a.createElement(m,b)})},function(g,o,t){"use strict";t.r(o),t.d(o,"selectedServer",function(){return J}),t.d(o,"requestBodyValue",function(){return Y}),t.d(o,"shouldRetainRequestBodyValue",function(){return ie}),t.d(o,"hasUserEditedBody",function(){return oe}),t.d(o,"requestBodyInclusionSetting",function(){return fe}),t.d(o,"requestBodyErrors",function(){return ne}),t.d(o,"activeExamplesMember",function(){return he}),t.d(o,"requestContentType",function(){return ce}),t.d(o,"responseContentType",function(){return Ae}),t.d(o,"serverVariableValue",function(){return Me}),t.d(o,"serverVariables",function(){return Oe}),t.d(o,"serverEffectiveValue",function(){return be}),t.d(o,"validateBeforeExecute",function(){return ue}),t.d(o,"validateShallowRequired",function(){return He});var e=t(14),s=t.n(e),a=t(2),l=t.n(a),u=t(4),h=t.n(u),_=t(23),m=t.n(_),b=t(15),C=t.n(b),D=t(18),x=t.n(D),j=t(1),H=t(36),z=t(163),U=t(5);function M($e){return function(){for(var F=arguments.length,je=new Array(F),Et=0;Et<F;Et++)je[Et]=arguments[Et];return function(lt){var nn=lt.getSystem().specSelectors.specJson();return Object(H.isOAS3)(nn)?$e.apply(void 0,je):null}}}var I,J=M(function($e,F){return $e.getIn(F?[F,"selectedServer"]:["selectedServer"])||""}),Y=M(function($e,F,je){return $e.getIn(["requestData",F,je,"bodyValue"])||null}),ie=M(function($e,F,je){return $e.getIn(["requestData",F,je,"retainBodyValue"])||!1}),oe=function($e,F,je){return function(Et){var lt=Et.getSystem(),nn=lt.oas3Selectors,St=lt.specSelectors,At=St.specJson();if(Object(H.isOAS3)(At)){var Qe=!1,It=nn.requestContentType(F,je),ae=nn.requestBodyValue(F,je);if(j.Map.isMap(ae)&&(ae=Object(U.I)(ae.mapEntries(function(dt){return j.Map.isMap(dt[1])?[dt[0],dt[1].get("value")]:dt}).toJS())),j.List.isList(ae)&&(ae=Object(U.I)(ae)),It){var Ie=Object(z.getDefaultRequestBodyValue)(St.specResolvedSubtree(["paths",F,je,"requestBody"]),It,nn.activeExamplesMember(F,je,"requestBody","requestBody"));Qe=!!ae&&ae!==Ie}return Qe}return null}},fe=M(function($e,F,je){return $e.getIn(["requestData",F,je,"bodyInclusion"])||Object(j.Map)()}),ne=M(function($e,F,je){return $e.getIn(["requestData",F,je,"errors"])||null}),he=M(function($e,F,je,Et,lt){return $e.getIn(["examples",F,je,Et,lt,"activeExample"])||null}),ce=M(function($e,F,je){return $e.getIn(["requestData",F,je,"requestContentType"])||null}),Ae=M(function($e,F,je){return $e.getIn(["requestData",F,je,"responseContentType"])||null}),Me=M(function($e,F,je){var Et;if("string"!=typeof F){var lt=F.server,nn=F.namespace;Et=nn?[nn,"serverVariableValues",lt,je]:["serverVariableValues",lt,je]}else Et=["serverVariableValues",F,je];return $e.getIn(Et)||null}),Oe=M(function($e,F){var je;if("string"!=typeof F){var Et=F.server,lt=F.namespace;je=lt?[lt,"serverVariableValues",Et]:["serverVariableValues",Et]}else je=["serverVariableValues",F];return $e.getIn(je)||Object(j.OrderedMap)()}),be=M(function($e,F){var je,Et;if("string"!=typeof F){var nn=F.namespace;Et=F.server,je=$e.getIn(nn?[nn,"serverVariableValues",Et]:["serverVariableValues",Et])}else je=$e.getIn(["serverVariableValues",Et=F]);je=je||Object(j.OrderedMap)();var St=Et;return h()(je).call(je,function(At,Qe){St=St.replace(new RegExp("{".concat(Qe,"}"),"g"),At)}),St}),ue=(I=function($e,F){return Et=(Et=F)||[],!!$e.getIn(l()(lt=["requestData"]).call(lt,s()(Et),["bodyValue"]));var Et,lt},function(){for(var $e=arguments.length,F=new Array($e),je=0;je<$e;je++)F[je]=arguments[je];return function(Et){var lt,nn,St=Et.getSystem().specSelectors.specJson(),At=l()(lt=[]).call(lt,F)[1]||[];return!St.getIn(l()(nn=["paths"]).call(nn,s()(At),["requestBody","required"]))||I.apply(void 0,F)}}),He=function($e,F){var je,Et=F.oas3RequiredRequestBodyContentType,lt=F.oas3RequestContentType,nn=F.oas3RequestBodyValue,St=[];if(!j.Map.isMap(nn))return St;var At=[];return m()(je=C()(Et.requestContentType)).call(je,function(Qe){if(Qe===lt){var It=Et.requestContentType[Qe];m()(It).call(It,function(ae){x()(At).call(At,ae)<0&&At.push(ae)})}}),m()(At).call(At,function(Qe){nn.getIn([Qe,"value"])||St.push(Qe)}),St}},function(g,o,t){"use strict";t.r(o);var e,s=t(3),a=t.n(s),l=t(327),u=t.n(l),h=t(13),_=t.n(h),m=t(125),b=t.n(m),C=t(20),D=t.n(C),x=t(23),j=t.n(x),H=t(30),z=t.n(H),U=t(1),M=t(55);o.default=(e={},a()(e,M.UPDATE_SELECTED_SERVER,function(I,J){var Y=J.payload,oe=Y.namespace;return I.setIn(oe?[oe,"selectedServer"]:["selectedServer"],Y.selectedServerUrl)}),a()(e,M.UPDATE_REQUEST_BODY_VALUE,function(I,J){var Y=J.payload,ie=Y.value,oe=Y.pathMethod,fe=_()(oe,2),ne=fe[0],he=fe[1];if(!U.Map.isMap(ie))return I.setIn(["requestData",ne,he,"bodyValue"],ie);var ce,Ae=I.getIn(["requestData",ne,he,"bodyValue"])||Object(U.Map)();U.Map.isMap(Ae)||(Ae=Object(U.Map)());var Me=b()(ie).call(ie),Oe=u()(Me),be=D()(Oe).call(Oe,0);return j()(be).call(be,function(ue){var He=ie.getIn([ue]);Ae.has(ue)&&U.Map.isMap(He)||(ce=Ae.setIn([ue,"value"],He))}),I.setIn(["requestData",ne,he,"bodyValue"],ce)}),a()(e,M.UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,function(I,J){var Y=J.payload,ie=Y.value,oe=Y.pathMethod,fe=_()(oe,2);return I.setIn(["requestData",fe[0],fe[1],"retainBodyValue"],ie)}),a()(e,M.UPDATE_REQUEST_BODY_INCLUSION,function(I,J){var Y=J.payload,ie=Y.value,oe=Y.pathMethod,fe=Y.name,ne=_()(oe,2);return I.setIn(["requestData",ne[0],ne[1],"bodyInclusion",fe],ie)}),a()(e,M.UPDATE_ACTIVE_EXAMPLES_MEMBER,function(I,J){var Y=J.payload,ie=Y.name,oe=Y.pathMethod,fe=Y.contextType,ne=Y.contextName,he=_()(oe,2);return I.setIn(["examples",he[0],he[1],fe,ne,"activeExample"],ie)}),a()(e,M.UPDATE_REQUEST_CONTENT_TYPE,function(I,J){var Y=J.payload,ie=Y.value,oe=Y.pathMethod,fe=_()(oe,2);return I.setIn(["requestData",fe[0],fe[1],"requestContentType"],ie)}),a()(e,M.UPDATE_RESPONSE_CONTENT_TYPE,function(I,J){var Y=J.payload;return I.setIn(["requestData",Y.path,Y.method,"responseContentType"],Y.value)}),a()(e,M.UPDATE_SERVER_VARIABLE_VALUE,function(I,J){var Y=J.payload,ie=Y.server,oe=Y.namespace,fe=Y.key;return I.setIn(oe?[oe,"serverVariableValues",ie,fe]:["serverVariableValues",ie,fe],Y.val)}),a()(e,M.SET_REQUEST_BODY_VALIDATE_ERROR,function(I,J){var Y=J.payload,ie=Y.path,oe=Y.method,fe=Y.validationErrors,ne=[];if(ne.push("Required field is not provided"),fe.missingBodyValue)return I.setIn(["requestData",ie,oe,"errors"],Object(U.fromJS)(ne));if(fe.missingRequiredKeys&&fe.missingRequiredKeys.length>0){var he=fe.missingRequiredKeys;return I.updateIn(["requestData",ie,oe,"bodyValue"],Object(U.fromJS)({}),function(ce){return z()(he).call(he,function(Ae,Me){return Ae.setIn([Me,"errors"],Object(U.fromJS)(ne))},ce)})}return console.warn("unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR"),I}),a()(e,M.CLEAR_REQUEST_BODY_VALIDATE_ERROR,function(I,J){var Y=J.payload,ie=Y.path,oe=Y.method,fe=I.getIn(["requestData",ie,oe,"bodyValue"]);if(!U.Map.isMap(fe))return I.setIn(["requestData",ie,oe,"errors"],Object(U.fromJS)([]));var ne=b()(fe).call(fe),he=u()(ne),ce=D()(he).call(he,0);return ce?I.updateIn(["requestData",ie,oe,"bodyValue"],Object(U.fromJS)({}),function(Ae){return z()(ce).call(ce,function(Me,Oe){return Me.setIn([Oe,"errors"],Object(U.fromJS)([]))},Ae)}):I}),a()(e,M.CLEAR_REQUEST_BODY_VALUE,function(I,J){var Y=J.payload.pathMethod,ie=_()(Y,2),oe=ie[0],fe=ie[1],ne=I.getIn(["requestData",oe,fe,"bodyValue"]);return ne?U.Map.isMap(ne)?I.setIn(["requestData",oe,fe,"bodyValue"],Object(U.Map)()):I.setIn(["requestData",oe,fe,"bodyValue"],""):I}),e)},function(g,o,t){"use strict";t.r(o);var e,s=t(23),a=t.n(s),l=t(125),u=t.n(l),h=t(5),_=t(976),m={};a()(e=u()(_).call(_)).call(e,function(b){if("./index.js"!==b){var C=_(b);m[Object(h.D)(b)]=C.default?C.default:C}}),o.default=m},function(g,o,t){"use strict";t.r(o);var e={};t.r(e),t.d(e,"JsonPatchError",function(){return An}),t.d(e,"deepClone",function(){return Bn}),t.d(e,"getValueByPointer",function(){return _r}),t.d(e,"applyOperation",function(){return Nr}),t.d(e,"applyPatch",function(){return br}),t.d(e,"applyReducer",function(){return Jn}),t.d(e,"validator",function(){return nr}),t.d(e,"validate",function(){return Mr}),t.d(e,"_areEquals",function(){return yi});var s={};t.r(s),t.d(s,"unobserve",function(){return Kr}),t.d(s,"observe",function(){return ei}),t.d(s,"generate",function(){return di}),t.d(s,"compare",function(){return ct});var a={};t.r(a),t.d(a,"path",function(){return Ea}),t.d(a,"query",function(){return ul}),t.d(a,"header",function(){return va}),t.d(a,"cookie",function(){return bs});var l=t(2),u=t.n(l),h=t(72),_=t.n(h),m=t(40),b=t.n(m),C=t(49),D=t.n(C),x=t(19),j=t.n(x),H=t(13),z=t.n(H),U=t(31),M=t.n(U),I=t(80),J=t.n(I),Y=t(106),ie=t.n(Y),oe=t(32),fe=t.n(oe),ne=t(4),he=t.n(ne),ce=t(15),Ae=t.n(ce),Me=t(199),Oe=t.n(Me),be=t(12),ue=t.n(be),He=(t(442),t(207)),$e=t.n(He),F=t(70),je=t(92),Et=t(14),lt=t.n(Et),nn=t(20),St=t.n(nn),At=function(ze){return":/?#[]@!$&'()*+,;=".indexOf(ze)>-1},Qe=function(ze){return/^[a-z0-9\-._~]+$/i.test(ze)};function It(ze){var wt,kt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},tn=kt.escape,ur=arguments.length>2?arguments[2]:void 0;return"number"==typeof ze&&(ze=ze.toString()),"string"==typeof ze&&ze.length&&tn?ur?JSON.parse(ze):he()(wt=lt()(ze)).call(wt,function(gn){var xr,Zr;if(Qe(gn)||At(gn)&&"unsafe"===tn)return gn;var Pr=new TextEncoder;return he()(xr=he()(Zr=ie()(Pr.encode(gn))).call(Zr,function(mi){var ii;return St()(ii="0".concat(mi.toString(16).toUpperCase())).call(ii,-2)})).call(xr,function(mi){return"%".concat(mi)}).join("")}).join(""):ze}function ae(ze){var kt,tn,ur,gn,xr,Zr,Pr,mi,wt=ze.value;return Array.isArray(wt)?function(kt){var tn=kt.key,ur=kt.value,gn=kt.style,xr=kt.explode,Zr=kt.escape,Pr=function(bi){return It(bi,{escape:Zr})};if("simple"===gn)return he()(ur).call(ur,function(bi){return Pr(bi)}).join(",");if("label"===gn)return".".concat(he()(ur).call(ur,function(bi){return Pr(bi)}).join("."));if("matrix"===gn)return he()(ur).call(ur,function(bi){return Pr(bi)}).reduce(function(bi,Ui){var io,vo,Bi;return!bi||xr?u()(vo=u()(Bi="".concat(bi||"",";")).call(Bi,tn,"=")).call(vo,Ui):u()(io="".concat(bi,",")).call(io,Ui)},"");if("form"===gn){var mi=xr?"&".concat(tn,"="):",";return he()(ur).call(ur,function(bi){return Pr(bi)}).join(mi)}if("spaceDelimited"===gn){var ii=xr?"".concat(tn,"="):"";return he()(ur).call(ur,function(bi){return Pr(bi)}).join(" ".concat(ii))}if("pipeDelimited"===gn){var si=xr?"".concat(tn,"="):"";return he()(ur).call(ur,function(bi){return Pr(bi)}).join("|".concat(si))}}(ze):"object"===j()(wt)?(tn=(kt=ze).key,ur=kt.value,gn=kt.style,xr=kt.explode,Zr=kt.escape,Pr=function(ii){return It(ii,{escape:Zr})},mi=Ae()(ur),"simple"===gn?mi.reduce(function(ii,si){var bi,Ui,io,vo=Pr(ur[si]),Bi=xr?"=":",",hi=ii?"".concat(ii,","):"";return u()(bi=u()(Ui=u()(io="".concat(hi)).call(io,si)).call(Ui,Bi)).call(bi,vo)},""):"label"===gn?mi.reduce(function(ii,si){var bi,Ui,io,vo=Pr(ur[si]),Bi=xr?"=":".",hi=ii?"".concat(ii,"."):".";return u()(bi=u()(Ui=u()(io="".concat(hi)).call(io,si)).call(Ui,Bi)).call(bi,vo)},""):"matrix"===gn&&xr?mi.reduce(function(ii,si){var bi,Ui,io=Pr(ur[si]),vo=ii?"".concat(ii,";"):";";return u()(bi=u()(Ui="".concat(vo)).call(Ui,si,"=")).call(bi,io)},""):"matrix"===gn?mi.reduce(function(ii,si){var bi,Ui,io=Pr(ur[si]),vo=ii?"".concat(ii,","):";".concat(tn,"=");return u()(bi=u()(Ui="".concat(vo)).call(Ui,si,",")).call(bi,io)},""):"form"===gn?mi.reduce(function(ii,si){var bi,Ui,io,vo,Bi=Pr(ur[si]),hi=ii?u()(bi="".concat(ii)).call(bi,xr?"&":","):"",Br=xr?"=":",";return u()(Ui=u()(io=u()(vo="".concat(hi)).call(vo,si)).call(io,Br)).call(Ui,Bi)},""):void 0):function(kt){var tn,ur=kt.key,gn=kt.value,xr=kt.style,Zr=kt.escape,Pr=function(mi){return It(mi,{escape:Zr})};return"simple"===xr?Pr(gn):"label"===xr?".".concat(Pr(gn)):"matrix"===xr?u()(tn=";".concat(ur,"=")).call(tn,Pr(gn)):"form"===xr||"deepObject"===xr?Pr(gn):void 0}(ze)}var Ie=function(ze,wt){wt.body=ze},dt={serializeRes:Ln,mergeInQueryOrForm:qn};function Jt(ze){return zt.apply(this,arguments)}function zt(){return(zt=_()(b.a.mark(function ze(wt){var kt,ur,gn,xr,Zr=arguments;return b.a.wrap(function(Pr){for(;;)switch(Pr.prev=Pr.next){case 0:if(kt=Zr.length>1&&void 0!==Zr[1]?Zr[1]:{},"object"===j()(wt)&&(wt=(kt=wt).url),kt.headers=kt.headers||{},dt.mergeInQueryOrForm(kt),kt.headers&&Ae()(kt.headers).forEach(function(mi){var ii=kt.headers[mi];"string"==typeof ii&&(kt.headers[mi]=ii.replace(/\n+/g," "))}),!kt.requestInterceptor){Pr.next=12;break}return Pr.next=8,kt.requestInterceptor(kt);case 8:if(Pr.t0=Pr.sent,Pr.t0){Pr.next=11;break}Pr.t0=kt;case 11:kt=Pr.t0;case 12:return/multipart\/form-data/i.test(kt.headers["content-type"]||kt.headers["Content-Type"])&&kt.body instanceof je.FormData&&(delete kt.headers["content-type"],delete kt.headers["Content-Type"]),Pr.prev=14,Pr.next=17,(kt.userFetch||fetch)(kt.url,kt);case 17:return ur=Pr.sent,Pr.next=20,dt.serializeRes(ur,wt,kt);case 20:if(ur=Pr.sent,!kt.responseInterceptor){Pr.next=28;break}return Pr.next=24,kt.responseInterceptor(ur);case 24:if(Pr.t1=Pr.sent,Pr.t1){Pr.next=27;break}Pr.t1=ur;case 27:ur=Pr.t1;case 28:Pr.next=39;break;case 30:if(Pr.prev=30,Pr.t2=Pr.catch(14),ur){Pr.next=34;break}throw Pr.t2;case 34:throw(gn=new Error(ur.statusText||"response status is ".concat(ur.status))).status=ur.status,gn.statusCode=ur.status,gn.responseError=Pr.t2,gn;case 39:if(ur.ok){Pr.next=45;break}throw(xr=new Error(ur.statusText||"response status is ".concat(ur.status))).status=ur.status,xr.statusCode=ur.status,xr.response=ur,xr;case 45:return Pr.abrupt("return",ur);case 46:case"end":return Pr.stop()}},ze,null,[[14,30]])}))).apply(this,arguments)}var ln=function(){var ze=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return/(json|xml|yaml|text)\b/.test(ze)};function ar(ze,wt){return wt&&(0===wt.indexOf("application/json")||wt.indexOf("+json")>0)?JSON.parse(ze):F.a.load(ze)}function Ln(ze,wt){var kt=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},tn=kt.loadSpec,ur=void 0!==tn&&tn,gn={ok:ze.ok,url:ze.url||wt,status:ze.status,statusText:ze.statusText,headers:er(ze.headers)},xr=gn.headers["content-type"],Zr=ur||ln(xr),Pr=Zr?ze.text:ze.blob||ze.buffer;return Pr.call(ze).then(function(mi){if(gn.text=mi,gn.data=mi,Zr)try{var ii=ar(mi,xr);gn.body=ii,gn.obj=ii}catch(si){gn.parseError=si}return gn})}function Rn(ze){return M()(ze).call(ze,", ")?ze.split(", "):ze}function er(){var ze=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"function"!=typeof J()(ze)?{}:ie()(J()(ze).call(ze)).reduce(function(wt,kt){var tn=z()(kt,2);return wt[tn[0]]=Rn(tn[1]),wt},{})}function Mn(ze,wt){return wt||"undefined"==typeof navigator||(wt=navigator),wt&&"ReactNative"===wt.product?!(!ze||"object"!==j()(ze)||"string"!=typeof ze.uri):void 0!==je.File&&ze instanceof je.File||void 0!==je.Blob&&ze instanceof je.Blob||!!ArrayBuffer.isView(ze)||null!==ze&&"object"===j()(ze)&&"function"==typeof ze.pipe}function Ht(ze,wt){return Array.isArray(ze)&&ze.some(function(kt){return Mn(kt,wt)})}var tr={form:",",spaceDelimited:"%20",pipeDelimited:"|"},Yn={csv:",",ssv:"%20",tsv:"%09",pipes:"|"};function Cn(ze,wt){var kt=arguments.length>2&&void 0!==arguments[2]&&arguments[2],tn=wt.collectionFormat,ur=wt.allowEmptyValue,gn=wt.serializationOption,xr=wt.encoding,Zr="object"!==j()(wt)||Array.isArray(wt)?wt:wt.value,Pr=kt?function(io){return io.toString()}:function(io){return encodeURIComponent(io)},mi=Pr(ze);if(void 0===Zr&&ur)return[[mi,""]];if(Mn(Zr)||Ht(Zr))return[[mi,Zr]];if(gn)return Kt(ze,Zr,kt,gn);if(xr){if([j()(xr.style),j()(xr.explode),j()(xr.allowReserved)].some(function(io){return"undefined"!==io})){var ii=xr.style,si=xr.explode,bi=xr.allowReserved;return Kt(ze,Zr,kt,{style:ii,explode:si,allowReserved:bi})}if(xr.contentType){if("application/json"===xr.contentType){var Ui="string"==typeof Zr?Zr:fe()(Zr);return[[mi,Pr(Ui)]]}return[[mi,Pr(Zr.toString())]]}return"object"!==j()(Zr)?[[mi,Pr(Zr)]]:Array.isArray(Zr)&&Zr.every(function(io){return"object"!==j()(io)})?[[mi,he()(Zr).call(Zr,Pr).join(",")]]:[[mi,Pr(fe()(Zr))]]}return"object"!==j()(Zr)?[[mi,Pr(Zr)]]:Array.isArray(Zr)?"multi"===tn?[[mi,he()(Zr).call(Zr,Pr)]]:[[mi,he()(Zr).call(Zr,Pr).join(Yn[tn||"csv"])]]:[[mi,""]]}function Kt(ze,wt,kt,tn){var ur,gn,xr,Zr=tn.style||"form",Pr=void 0===tn.explode?"form"===Zr:tn.explode,mi=!kt&&(tn&&tn.allowReserved?"unsafe":"reserved"),ii=function(bi){return It(bi,{escape:mi})},si=kt?function(bi){return bi}:function(bi){return It(bi,{escape:mi})};return"object"!==j()(wt)?[[si(ze),ii(wt)]]:Array.isArray(wt)?Pr?[[si(ze),he()(wt).call(wt,ii)]]:[[si(ze),he()(wt).call(wt,ii).join(tr[Zr])]]:"deepObject"===Zr?he()(gn=Ae()(wt)).call(gn,function(bi){var Ui;return[si(u()(Ui="".concat(ze,"[")).call(Ui,bi,"]")),ii(wt[bi])]}):Pr?he()(xr=Ae()(wt)).call(xr,function(bi){return[si(bi),ii(wt[bi])]}):[[si(ze),he()(ur=Ae()(wt)).call(ur,function(bi){var Ui;return[u()(Ui="".concat(si(bi),",")).call(Ui,ii(wt[bi]))]}).join(",")]]}function dn(ze){return Oe()(ze).reduce(function(wt,kt){var tn,ur=z()(kt,2),gn=ur[0],xr=ur[1],Zr=D()(Cn(gn,xr,!0));try{for(Zr.s();!(tn=Zr.n()).done;){var Pr=z()(tn.value,2),mi=Pr[0],ii=Pr[1];if(Array.isArray(ii)){var si,bi=D()(ii);try{for(bi.s();!(si=bi.n()).done;){var Ui=si.value;if(ArrayBuffer.isView(Ui)){var io=new je.Blob([Ui]);wt.append(mi,io)}else wt.append(mi,Ui)}}catch(Bi){bi.e(Bi)}finally{bi.f()}}else if(ArrayBuffer.isView(ii)){var vo=new je.Blob([ii]);wt.append(mi,vo)}else wt.append(mi,ii)}}catch(Bi){Zr.e(Bi)}finally{Zr.f()}return wt},new je.FormData)}function Kn(ze){var wt=Ae()(ze).reduce(function(kt,tn){var ur,gn=D()(Cn(tn,ze[tn]));try{for(gn.s();!(ur=gn.n()).done;){var xr=z()(ur.value,2);kt[xr[0]]=xr[1]}}catch(mi){gn.e(mi)}finally{gn.f()}return kt},{});return $e.a.stringify(wt,{encode:!1,indices:!1})||""}function qn(){var ze=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},wt=ze.url,kt=void 0===wt?"":wt,tn=ze.query,ur=ze.form,gn=function(){for(var hi=arguments.length,Br=new Array(hi),G=0;G<hi;G++)Br[G]=arguments[G];var Se=ue()(Br).call(Br,function(ft){return ft}).join("&");return Se?"?".concat(Se):""};if(ur){var xr=Ae()(ur).some(function(hi){var Br=ur[hi].value;return Mn(Br)||Ht(Br)}),Zr=ze.headers["content-type"]||ze.headers["Content-Type"];if(xr||/multipart\/form-data/i.test(Zr)){var Pr=dn(ze.form);Ie(Pr,ze)}else ze.body=Kn(ur);delete ze.form}if(tn){var mi=kt.split("?"),ii=z()(mi,2),si=ii[0],bi=ii[1],Ui="";if(bi){var io=$e.a.parse(bi),vo=Ae()(tn);vo.forEach(function(hi){return delete io[hi]}),Ui=$e.a.stringify(io,{encode:!0})}var Bi=gn(Ui,Kn(tn));ze.url=si+Bi,delete ze.query}return ze}var Sn,$n=t(25),En=t.n($n),Fn=t(6),Dn=t.n(Fn),mn=t(7),jn=t.n(mn),Xt=t(21),ut=t.n(Xt),mt=t(56),Tt=t.n(mt),yn=t(66),et=t.n(yn),jt=t(200),hn=t.n(jt),Qn=t(3),Ir=t.n(Qn),ht=(Sn=function(ze,wt){return(Sn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(kt,tn){kt.__proto__=tn}||function(kt,tn){for(var ur in tn)tn.hasOwnProperty(ur)&&(kt[ur]=tn[ur])})(ze,wt)},function(ze,wt){function kt(){this.constructor=ze}Sn(ze,wt),ze.prototype=null===wt?Object.create(wt):(kt.prototype=wt.prototype,new kt)}),L=Object.prototype.hasOwnProperty;function Ue(ze,wt){return L.call(ze,wt)}function nt(ze){if(Array.isArray(ze)){for(var wt=new Array(ze.length),kt=0;kt<wt.length;kt++)wt[kt]=""+kt;return wt}if(Object.keys)return Object.keys(ze);for(var tn in wt=[],ze)Ue(ze,tn)&&wt.push(tn);return wt}function at(ze){switch(typeof ze){case"object":return JSON.parse(JSON.stringify(ze));case"undefined":return null;default:return ze}}function it(ze){for(var wt,kt=0,tn=ze.length;kt<tn;){if(!((wt=ze.charCodeAt(kt))>=48&&wt<=57))return!1;kt++}return!0}function Pt(ze){return-1===ze.indexOf("/")&&-1===ze.indexOf("~")?ze:ze.replace(/~/g,"~0").replace(/\//g,"~1")}function Ut(ze){return ze.replace(/~1/g,"/").replace(/~0/g,"~")}function ot(ze){if(void 0===ze)return!0;if(ze)if(Array.isArray(ze)){for(var wt=0,kt=ze.length;wt<kt;wt++)if(ot(ze[wt]))return!0}else if("object"==typeof ze){var tn=nt(ze),ur=tn.length;for(wt=0;wt<ur;wt++)if(ot(ze[tn[wt]]))return!0}return!1}function Nn(ze,wt){var kt=[ze];for(var tn in wt){var ur="object"==typeof wt[tn]?JSON.stringify(wt[tn],null,2):wt[tn];void 0!==ur&&kt.push(tn+": "+ur)}return kt.join("\n")}var sn=function(ze){function wt(kt,tn,ur,gn,xr){var Zr=this.constructor,Pr=ze.call(this,Nn(kt,{name:tn,index:ur,operation:gn,tree:xr}))||this;return Pr.name=tn,Pr.index=ur,Pr.operation=gn,Pr.tree=xr,Object.setPrototypeOf(Pr,Zr.prototype),Pr.message=Nn(kt,{name:tn,index:ur,operation:gn,tree:xr}),Pr}return ht(wt,ze),wt}(Error),An=sn,Bn=at,ir={add:function(ze,wt,kt){return ze[wt]=this.value,{newDocument:kt}},remove:function(ze,wt,kt){var tn=ze[wt];return delete ze[wt],{newDocument:kt,removed:tn}},replace:function(ze,wt,kt){var tn=ze[wt];return ze[wt]=this.value,{newDocument:kt,removed:tn}},move:function(ze,wt,kt){var tn=_r(kt,this.path);tn&&(tn=at(tn));var ur=Nr(kt,{op:"remove",path:this.from}).removed;return Nr(kt,{op:"add",path:this.path,value:ur}),{newDocument:kt,removed:tn}},copy:function(ze,wt,kt){var tn=_r(kt,this.from);return Nr(kt,{op:"add",path:this.path,value:at(tn)}),{newDocument:kt}},test:function(ze,wt,kt){return{newDocument:kt,test:yi(ze[wt],this.value)}},_get:function(ze,wt,kt){return this.value=ze[wt],{newDocument:kt}}},mr={add:function(ze,wt,kt){return it(wt)?ze.splice(wt,0,this.value):ze[wt]=this.value,{newDocument:kt,index:wt}},remove:function(ze,wt,kt){return{newDocument:kt,removed:ze.splice(wt,1)[0]}},replace:function(ze,wt,kt){var tn=ze[wt];return ze[wt]=this.value,{newDocument:kt,removed:tn}},move:ir.move,copy:ir.copy,test:ir.test,_get:ir._get};function _r(ze,wt){if(""==wt)return ze;var kt={op:"_get",path:wt};return Nr(ze,kt),kt.value}function Nr(ze,wt,kt,tn,ur,gn){if(void 0===kt&&(kt=!1),void 0===tn&&(tn=!0),void 0===ur&&(ur=!0),void 0===gn&&(gn=0),kt&&("function"==typeof kt?kt(wt,0,ze,wt.path):nr(wt,0)),""===wt.path){var xr={newDocument:ze};if("add"===wt.op)return xr.newDocument=wt.value,xr;if("replace"===wt.op)return xr.newDocument=wt.value,xr.removed=ze,xr;if("move"===wt.op||"copy"===wt.op)return xr.newDocument=_r(ze,wt.from),"move"===wt.op&&(xr.removed=ze),xr;if("test"===wt.op){if(xr.test=yi(ze,wt.value),!1===xr.test)throw new An("Test operation failed","TEST_OPERATION_FAILED",gn,wt,ze);return xr.newDocument=ze,xr}if("remove"===wt.op)return xr.removed=ze,xr.newDocument=null,xr;if("_get"===wt.op)return wt.value=ze,xr;if(kt)throw new An("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",gn,wt,ze);return xr}tn||(ze=at(ze));var Zr=(wt.path||"").split("/"),Pr=ze,mi=1,ii=Zr.length,si=void 0,bi=void 0,Ui=void 0;for(Ui="function"==typeof kt?kt:nr;;){if(bi=Zr[mi],ur&&"__proto__"==bi)throw new TypeError("JSON-Patch: modifying `__proto__` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(kt&&void 0===si&&(void 0===Pr[bi]?si=Zr.slice(0,mi).join("/"):mi==ii-1&&(si=wt.path),void 0!==si&&Ui(wt,0,ze,si)),mi++,Array.isArray(Pr)){if("-"===bi)bi=Pr.length;else{if(kt&&!it(bi))throw new An("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",gn,wt,ze);it(bi)&&(bi=~~bi)}if(mi>=ii){if(kt&&"add"===wt.op&&bi>Pr.length)throw new An("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",gn,wt,ze);if(!1===(xr=mr[wt.op].call(wt,Pr,bi,ze)).test)throw new An("Test operation failed","TEST_OPERATION_FAILED",gn,wt,ze);return xr}}else if(bi&&-1!=bi.indexOf("~")&&(bi=Ut(bi)),mi>=ii){if(!1===(xr=ir[wt.op].call(wt,Pr,bi,ze)).test)throw new An("Test operation failed","TEST_OPERATION_FAILED",gn,wt,ze);return xr}Pr=Pr[bi]}}function br(ze,wt,kt,tn,ur){if(void 0===tn&&(tn=!0),void 0===ur&&(ur=!0),kt&&!Array.isArray(wt))throw new An("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");tn||(ze=at(ze));for(var gn=new Array(wt.length),xr=0,Zr=wt.length;xr<Zr;xr++)gn[xr]=Nr(ze,wt[xr],kt,!0,ur,xr),ze=gn[xr].newDocument;return gn.newDocument=ze,gn}function Jn(ze,wt,kt){var tn=Nr(ze,wt);if(!1===tn.test)throw new An("Test operation failed","TEST_OPERATION_FAILED",kt,wt,ze);return tn.newDocument}function nr(ze,wt,kt,tn){if("object"!=typeof ze||null===ze||Array.isArray(ze))throw new An("Operation is not an object","OPERATION_NOT_AN_OBJECT",wt,ze,kt);if(!ir[ze.op])throw new An("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",wt,ze,kt);if("string"!=typeof ze.path)throw new An("Operation `path` property is not a string","OPERATION_PATH_INVALID",wt,ze,kt);if(0!==ze.path.indexOf("/")&&ze.path.length>0)throw new An('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",wt,ze,kt);if(("move"===ze.op||"copy"===ze.op)&&"string"!=typeof ze.from)throw new An("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",wt,ze,kt);if(("add"===ze.op||"replace"===ze.op||"test"===ze.op)&&void 0===ze.value)throw new An("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",wt,ze,kt);if(("add"===ze.op||"replace"===ze.op||"test"===ze.op)&&ot(ze.value))throw new An("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",wt,ze,kt);if(kt)if("add"==ze.op){var ur=ze.path.split("/").length,gn=tn.split("/").length;if(ur!==gn+1&&ur!==gn)throw new An("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",wt,ze,kt)}else if("replace"===ze.op||"remove"===ze.op||"_get"===ze.op){if(ze.path!==tn)throw new An("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",wt,ze,kt)}else if("move"===ze.op||"copy"===ze.op){var xr=Mr([{op:"_get",path:ze.from,value:void 0}],kt);if(xr&&"OPERATION_PATH_UNRESOLVABLE"===xr.name)throw new An("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",wt,ze,kt)}}function Mr(ze,wt,kt){try{if(!Array.isArray(ze))throw new An("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(wt)br(at(wt),at(ze),kt||!0);else{kt=kt||nr;for(var tn=0;tn<ze.length;tn++)kt(ze[tn],tn,wt,void 0)}}catch(ur){if(ur instanceof An)return ur;throw ur}}function yi(ze,wt){if(ze===wt)return!0;if(ze&&wt&&"object"==typeof ze&&"object"==typeof wt){var kt,tn,ur,gn=Array.isArray(ze),xr=Array.isArray(wt);if(gn&&xr){if((tn=ze.length)!=wt.length)return!1;for(kt=tn;0!=kt--;)if(!yi(ze[kt],wt[kt]))return!1;return!0}if(gn!=xr)return!1;var Zr=Object.keys(ze);if((tn=Zr.length)!==Object.keys(wt).length)return!1;for(kt=tn;0!=kt--;)if(!wt.hasOwnProperty(Zr[kt]))return!1;for(kt=tn;0!=kt--;)if(!yi(ze[ur=Zr[kt]],wt[ur]))return!1;return!0}return ze!=ze&&wt!=wt}var Ii=new WeakMap,Mi=function(ze){this.observers=new Map,this.obj=ze},Oi=function(ze,wt){this.callback=ze,this.observer=wt};function Kr(ze,wt){wt.unobserve()}function ei(ze,wt){var kt,tn=Ii.get(ze);if(tn){var ur=tn.observers.get(wt);kt=ur&&ur.observer}else tn=new Mi(ze),Ii.set(ze,tn);if(kt)return kt;if(kt={},tn.value=at(ze),wt){kt.callback=wt,kt.next=null;var gn=function(){di(kt)},xr=function(){clearTimeout(kt.next),kt.next=setTimeout(gn)};"undefined"!=typeof window&&(window.addEventListener("mouseup",xr),window.addEventListener("keyup",xr),window.addEventListener("mousedown",xr),window.addEventListener("keydown",xr),window.addEventListener("change",xr))}return kt.patches=[],kt.object=ze,kt.unobserve=function(){di(kt),clearTimeout(kt.next),function(Zr,Pr){Zr.observers.delete(Pr.callback)}(tn,kt),"undefined"!=typeof window&&(window.removeEventListener("mouseup",xr),window.removeEventListener("keyup",xr),window.removeEventListener("mousedown",xr),window.removeEventListener("keydown",xr),window.removeEventListener("change",xr))},tn.observers.set(wt,new Oi(wt,kt)),kt}function di(ze,wt){void 0===wt&&(wt=!1);var kt=Ii.get(ze.object);se(kt.value,ze.object,ze.patches,"",wt),ze.patches.length&&br(kt.value,ze.patches);var tn=ze.patches;return tn.length>0&&(ze.patches=[],ze.callback&&ze.callback(tn)),tn}function se(ze,wt,kt,tn,ur){if(wt!==ze){"function"==typeof wt.toJSON&&(wt=wt.toJSON());for(var gn=nt(wt),xr=nt(ze),Zr=!1,Pr=xr.length-1;Pr>=0;Pr--){var mi=ze[si=xr[Pr]];if(!Ue(wt,si)||void 0===wt[si]&&void 0!==mi&&!1===Array.isArray(wt))Array.isArray(ze)===Array.isArray(wt)?(ur&&kt.push({op:"test",path:tn+"/"+Pt(si),value:at(mi)}),kt.push({op:"remove",path:tn+"/"+Pt(si)}),Zr=!0):(ur&&kt.push({op:"test",path:tn,value:ze}),kt.push({op:"replace",path:tn,value:wt}));else{var ii=wt[si];"object"==typeof mi&&null!=mi&&"object"==typeof ii&&null!=ii?se(mi,ii,kt,tn+"/"+Pt(si),ur):mi!==ii&&(ur&&kt.push({op:"test",path:tn+"/"+Pt(si),value:at(mi)}),kt.push({op:"replace",path:tn+"/"+Pt(si),value:at(ii)}))}}if(Zr||gn.length!=xr.length)for(Pr=0;Pr<gn.length;Pr++){var si;Ue(ze,si=gn[Pr])||void 0===wt[si]||kt.push({op:"add",path:tn+"/"+Pt(si),value:at(wt[si])})}}}function ct(ze,wt,kt){void 0===kt&&(kt=!1);var tn=[];return se(ze,wt,tn,"",kt),tn}Object.assign({},e,s,{JsonPatchError:sn,deepClone:at,escapePathComponent:Pt,unescapePathComponent:Ut});var Ke=t(79),Xe=t.n(Ke),Vt=t(471),Ct=t.n(Vt),rt={add:function(ze,wt){return{op:"add",path:ze,value:wt}},replace:We,remove:function(ze){return{op:"remove",path:ze}},merge:function(ze,wt){return{type:"mutation",op:"merge",path:ze,value:wt}},mergeDeep:function(ze,wt){return{type:"mutation",op:"mergeDeep",path:ze,value:wt}},context:function(ze,wt){return{type:"context",path:ze,value:wt}},getIn:function(ze,wt){return wt.reduce(function(kt,tn){return void 0!==tn&&kt?kt[tn]:kt},ze)},applyPatch:function(ze,wt,kt){if(kt=kt||{},"merge"===(wt=En()(En()({},wt),{},{path:wt.path&&bt(wt.path)})).op){var tn=go(ze,wt.path);ut()(tn,wt.value),br(ze,[We(wt.path,tn)])}else if("mergeDeep"===wt.op){var ur=go(ze,wt.path);for(var gn in wt.value){var xr=wt.value[gn],Zr=Array.isArray(xr);if(Zr){var Pr=ur[gn]||[];ur[gn]=u()(Pr).call(Pr,xr)}else if(Dr(xr)&&!Zr){var mi=En()({},ur[gn]);for(var ii in xr){if(Object.prototype.hasOwnProperty.call(mi,ii)){mi=Xe()(Ct()(mi),xr);break}ut()(mi,Ir()({},ii,xr[ii]))}ur[gn]=mi}else ur[gn]=xr}}else if("add"===wt.op&&""===wt.path&&Dr(wt.value))br(ze,Ae()(wt.value).reduce(function(vo,Bi){return vo.push({op:"add",path:"/".concat(bt(Bi)),value:wt.value[Bi]}),vo},[]));else if("replace"===wt.op&&""===wt.path){var bi=wt.value;kt.allowMetaPatches&&wt.meta&&Ei(wt)&&(Array.isArray(wt.value)||Dr(wt.value))&&(bi=En()(En()({},bi),wt.meta)),ze=bi}else if(br(ze,[wt]),kt.allowMetaPatches&&wt.meta&&Ei(wt)&&(Array.isArray(wt.value)||Dr(wt.value))){var Ui=go(ze,wt.path),io=En()(En()({},Ui),wt.meta);br(ze,[We(wt.path,io)])}return ze},parentPathMatch:function(ze,wt){if(!Array.isArray(wt))return!1;for(var kt=0,tn=wt.length;kt<tn;kt+=1)if(wt[kt]!==ze[kt])return!1;return!0},flatten:Cr,fullyNormalizeArray:function(ze){return ai(Cr(Vr(ze)))},normalizeArray:Vr,isPromise:function(ze){return Dr(ze)&&Qr(ze.then)},forEachNew:function(ze,wt){try{return $t(ze,Zn,wt)}catch(kt){return kt}},forEachNewPrimitive:function(ze,wt){try{return $t(ze,or,wt)}catch(kt){return kt}},isJsonPatch:rn,isContextPatch:function(ze){return wi(ze)&&"context"===ze.type},isPatch:wi,isMutation:fi,isAdditiveMutation:Ei,isGenerator:function(ze){return"[object GeneratorFunction]"===Object.prototype.toString.call(ze)},isFunction:Qr,isObject:Dr,isError:function(ze){return ze instanceof Error}};function bt(ze){return Array.isArray(ze)?ze.length<1?"":"/".concat(he()(ze).call(ze,function(wt){return(wt+"").replace(/~/g,"~0").replace(/\//g,"~1")}).join("/")):ze}function We(ze,wt,kt){return{op:"replace",path:ze,value:wt,meta:kt}}function $t(ze,wt,kt){var tn;return ai(Cr(he()(tn=ue()(ze).call(ze,Ei)).call(tn,function(ur){return wt(ur.value,kt,ur.path)})||[]))}function or(ze,wt,kt){return kt=kt||[],Array.isArray(ze)?he()(ze).call(ze,function(ur,gn){return or(ur,wt,u()(kt).call(kt,gn))}):Dr(ze)?he()(tn=Ae()(ze)).call(tn,function(ur){return or(ze[ur],wt,u()(kt).call(kt,ur))}):wt(ze,kt[kt.length-1],kt);var tn}function Zn(ze,wt,kt){var tn=[];if((kt=kt||[]).length>0){var ur=wt(ze,kt[kt.length-1],kt);ur&&(tn=u()(tn).call(tn,ur))}if(Array.isArray(ze)){var gn=he()(ze).call(ze,function(Pr,mi){return Zn(Pr,wt,u()(kt).call(kt,mi))});gn&&(tn=u()(tn).call(tn,gn))}else if(Dr(ze)){var xr,Zr=he()(xr=Ae()(ze)).call(xr,function(Pr){return Zn(ze[Pr],wt,u()(kt).call(kt,Pr))});Zr&&(tn=u()(tn).call(tn,Zr))}return Cr(tn)}function Vr(ze){return Array.isArray(ze)?ze:[ze]}function Cr(ze){var wt;return u()(wt=[]).apply(wt,lt()(he()(ze).call(ze,function(kt){return Array.isArray(kt)?Cr(kt):kt})))}function ai(ze){return ue()(ze).call(ze,function(wt){return void 0!==wt})}function Dr(ze){return ze&&"object"===j()(ze)}function Qr(ze){return ze&&"function"==typeof ze}function rn(ze){if(wi(ze)){var wt=ze.op;return"add"===wt||"remove"===wt||"replace"===wt}return!1}function fi(ze){return rn(ze)||wi(ze)&&"mutation"===ze.type}function Ei(ze){return fi(ze)&&("add"===ze.op||"replace"===ze.op||"merge"===ze.op||"mergeDeep"===ze.op)}function wi(ze){return ze&&"object"===j()(ze)}function go(ze,wt){try{return _r(ze,wt)}catch(kt){return console.error(kt),{}}}var Fi=t(472),no=t.n(Fi),Ji=t(324),qi=t.n(Ji),to=t(81),zi=t.n(to);function Go(ze,wt){function kt(){Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack;for(var tn=arguments.length,ur=new Array(tn),gn=0;gn<tn;gn++)ur[gn]=arguments[gn];this.message=ur[0],wt&&wt.apply(this,ur)}return(kt.prototype=new Error).name=ze,kt.prototype.constructor=kt,kt}var Ro=t(473),Bo=t.n(Ro),Jo=["properties"],es=["properties"],ua=["definitions","parameters","responses","securityDefinitions","components/schemas","components/responses","components/parameters","components/securitySchemes"],ds=["schema/example","items/example"];function zo(ze){var wt=ze[ze.length-1],kt=ze[ze.length-2],tn=ze.join("/");return Jo.indexOf(wt)>-1&&-1===es.indexOf(kt)||ua.indexOf(tn)>-1||ds.some(function(ur){return tn.indexOf(ur)>-1})}function oa(ze,wt){var kt,tn=ze.split("#"),ur=z()(tn,2),xr=ur[1],Zr=zi.a.resolve(ur[0]||"",wt||"");return xr?u()(kt="".concat(Zr,"#")).call(kt,xr):Zr}var Er="application/json, application/yaml",st=new RegExp("^([a-z]+://|//)","i"),pn=Go("JSONRefError",function(ze,wt,kt){this.originalError=kt,ut()(this,wt||{})}),ee={},Ve=new no.a,fn=[function(ze){return"paths"===ze[0]&&"responses"===ze[3]&&"examples"===ze[5]},function(ze){return"paths"===ze[0]&&"responses"===ze[3]&&"content"===ze[5]&&"example"===ze[7]},function(ze){return"paths"===ze[0]&&"responses"===ze[3]&&"content"===ze[5]&&"examples"===ze[7]&&"value"===ze[9]},function(ze){return"paths"===ze[0]&&"requestBody"===ze[3]&&"content"===ze[4]&&"example"===ze[6]},function(ze){return"paths"===ze[0]&&"requestBody"===ze[3]&&"content"===ze[4]&&"examples"===ze[6]&&"value"===ze[8]},function(ze){return"paths"===ze[0]&&"parameters"===ze[2]&&"example"===ze[4]},function(ze){return"paths"===ze[0]&&"parameters"===ze[3]&&"example"===ze[5]},function(ze){return"paths"===ze[0]&&"parameters"===ze[2]&&"examples"===ze[4]&&"value"===ze[6]},function(ze){return"paths"===ze[0]&&"parameters"===ze[3]&&"examples"===ze[5]&&"value"===ze[7]},function(ze){return"paths"===ze[0]&&"parameters"===ze[2]&&"content"===ze[4]&&"example"===ze[6]},function(ze){return"paths"===ze[0]&&"parameters"===ze[2]&&"content"===ze[4]&&"examples"===ze[6]&&"value"===ze[8]},function(ze){return"paths"===ze[0]&&"parameters"===ze[3]&&"content"===ze[4]&&"example"===ze[7]},function(ze){return"paths"===ze[0]&&"parameters"===ze[3]&&"content"===ze[5]&&"examples"===ze[7]&&"value"===ze[9]}],Tn={key:"$ref",plugin:function(ze,wt,kt,tn){var hi,Br,G,ur=tn.getInstance(),gn=St()(kt).call(kt,0,-1);if(!zo(gn)&&(xr=gn,!fn.some(function(hi){return hi(xr)}))){var xr,Zr=tn.getContext(kt).baseDoc;if("string"!=typeof ze)return new pn("$ref: must be a string (JSON-Ref)",{$ref:ze,baseDoc:Zr,fullPath:kt});var Pr,mi,ii,si=gi(ze),bi=si[0],Ui=si[1]||"";try{Pr=Zr||bi?Ri(bi,Zr):null}catch(hi){return Do(hi,{pointer:Ui,$ref:ze,basePath:Pr,fullPath:kt})}if(function(hi,Br,G,Se){var ft,Ft,Bt=Ve.get(Se);Bt||Ve.set(Se,Bt={});var zr,In=0===(zr=G).length?"":"/".concat(he()(zr).call(zr,xa).join("/")),Xn=u()(ft="".concat(Br||"<specmap-base>","#")).call(ft,hi),Sr=In.replace(/allOf\/\d+\/?/g,"");if(Br===Se.contextTree.get([]).baseDoc&&Ra(Sr,hi))return!0;var Fr="";return!!G.some(function(zr){var Un;return Fr=u()(Un="".concat(Fr,"/")).call(Un,xa(zr)),Bt[Fr]&&Bt[Fr].some(function(lr){return Ra(lr,Xn)||Ra(Xn,lr)})})||void(Bt[Sr]=u()(Ft=Bt[Sr]||[]).call(Ft,Xn))}(Ui,Pr,gn,tn)&&!ur.useCircularStructures){var io=oa(ze,Pr);return ze===io?null:rt.replace(kt,io)}if(null==Pr?(ii=Os(Ui),void 0===(mi=tn.get(ii))&&(mi=new pn("Could not resolve reference: ".concat(ze),{pointer:Ui,$ref:ze,baseDoc:Zr,fullPath:kt}))):mi=null!=(mi=Hi(Pr,Ui)).__value?mi.__value:mi.catch(function(hi){throw Do(hi,{pointer:Ui,$ref:ze,baseDoc:Zr,fullPath:kt})}),mi instanceof Error)return[rt.remove(kt),mi];var vo=oa(ze,Pr),Bi=rt.replace(gn,mi,{$$ref:vo});if(Pr&&Pr!==Zr)return[Bi,rt.context(gn,{baseDoc:Pr})];try{if(G=[hi=tn.state],(Br=Bi).path.reduce(function(ft,Ft){return G.push(ft[Ft]),ft[Ft]},hi),!function Se(ft){return rt.isObject(ft)&&(G.indexOf(ft)>=0||Ae()(ft).some(function(Ft){return Se(ft[Ft])}))}(Br.value)||ur.useCircularStructures)return Bi}catch(hi){return null}}}},$r=ut()(Tn,{docCache:ee,absoluteify:Ri,clearCache:function(ze){void 0!==ze?delete ee[ze]:Ae()(ee).forEach(function(wt){delete ee[wt]})},JSONRefError:pn,wrapError:Do,getDoc:Li,split:gi,extractFromDoc:Hi,fetchJSON:function(ze){return fetch(ze,{headers:{Accept:Er},loadSpec:!0}).then(function(wt){return wt.text()}).then(function(wt){return F.a.load(wt)})},extract:cs,jsonPointerToArray:Os,unescapeJsonPointerToken:da}),ni=$r;function Ri(ze,wt){if(!st.test(ze)){var kt;if(!wt)throw new pn(u()(kt="Tried to resolve a relative URL, without having a basePath. path: '".concat(ze,"' basePath: '")).call(kt,wt,"'"));return zi.a.resolve(wt,ze)}return ze}function Do(ze,wt){var kt,tn;return kt=ze&&ze.response&&ze.response.body?u()(tn="".concat(ze.response.body.code," ")).call(tn,ze.response.body.message):ze.message,new pn("Could not resolve reference: ".concat(kt),wt,ze)}function gi(ze){return(ze+"").split("#")}function Hi(ze,wt){var kt=ee[ze];if(kt&&!rt.isPromise(kt))try{var tn=cs(wt,kt);return ut()(et.a.resolve(tn),{__value:tn})}catch(ur){return et.a.reject(ur)}return Li(ze).then(function(ur){return cs(wt,ur)})}function Li(ze){var wt=ee[ze];return wt?rt.isPromise(wt)?wt:et.a.resolve(wt):(ee[ze]=$r.fetchJSON(ze).then(function(kt){return ee[ze]=kt,kt}),ee[ze])}function cs(ze,wt){var kt=Os(ze);if(kt.length<1)return wt;var tn=rt.getIn(wt,kt);if(void 0===tn)throw new pn("Could not resolve pointer: ".concat(ze," does not exist in document"),{pointer:ze});return tn}function Os(ze){var wt;if("string"!=typeof ze)throw new TypeError("Expected a string, got a ".concat(j()(ze)));return"/"===ze[0]&&(ze=ze.substr(1)),""===ze?[]:he()(wt=ze.split("/")).call(wt,da)}function da(ze){return"string"!=typeof ze?ze:new qi.a("=".concat(ze.replace(/~1/g,"/").replace(/~0/g,"~"))).get("")}function xa(ze){var wt,kt=new qi.a([["",ze.replace(/~/g,"~0").replace(/\//g,"~1")]]);return St()(wt=kt.toString()).call(wt,1)}function Ra(ze,wt){if(!(kt=wt)||"/"===kt||"#"===kt)return!0;var kt,tn=ze.charAt(wt.length),ur=St()(wt).call(wt,-1);return 0===ze.indexOf(wt)&&(!tn||"/"===tn||"#"===tn)&&"#"!==ur}var Ml=t(110),Dl=t.n(Ml),Ca={key:"allOf",plugin:function(ze,wt,kt,tn,ur){if(!ur.meta||!ur.meta.$$ref){var gn=St()(kt).call(kt,0,-1);if(!zo(gn)){if(!Array.isArray(ze)){var xr=new TypeError("allOf must be an array");return xr.fullPath=kt,xr}var Zr=!1,Pr=ur.value;if(gn.forEach(function(si){Pr&&(Pr=Pr[si])}),Pr=En()({},Pr),!Dl()(Pr)){delete Pr.allOf;var mi,ii=[];return ii.push(tn.replace(gn,{})),ze.forEach(function(si,bi){if(!tn.isObject(si)){if(Zr)return null;Zr=!0;var Ui=new TypeError("Elements in allOf must be objects");return Ui.fullPath=kt,ii.push(Ui)}ii.push(tn.mergeDeep(gn,si));var io=function(vo,Bi){var hi=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Br=hi.specmap,G=hi.getBaseUrlForNodePath,Se=void 0===G?function(In){var Xn;return Br.getContext(u()(Xn=[]).call(Xn,lt()(Bi),lt()(In))).baseDoc}:G,ft=hi.targetKeys,Ft=void 0===ft?["$ref","$$ref"]:ft,Bt=[];return Bo()(vo).forEach(function(){if(M()(Ft).call(Ft,this.key)&&"string"==typeof this.node){var In=this.path,Xn=u()(Bi).call(Bi,this.path),Sr=oa(this.node,Se(In));Bt.push(Br.replace(Xn,Sr))}}),Bt}(si,St()(kt).call(kt,0,-1),{getBaseUrlForNodePath:function(vo){var Bi;return tn.getContext(u()(Bi=[]).call(Bi,lt()(kt),[bi],lt()(vo))).baseDoc},specmap:tn});ii.push.apply(ii,lt()(io))}),ii.push(tn.mergeDeep(gn,Pr)),!Pr.$$ref&&ii.push(tn.remove(u()(mi=[]).call(mi,gn,"$$ref"))),ii}}}}},sa={key:"parameters",plugin:function(ze,wt,kt,tn){if(Array.isArray(ze)&&ze.length){var ur=ut()([],ze),gn=St()(kt).call(kt,0,-1),xr=En()({},rt.getIn(tn.spec,gn));return ze.forEach(function(Zr,Pr){try{ur[Pr].default=tn.parameterMacro(xr,Zr)}catch(ii){var mi=new Error(ii);return mi.fullPath=kt,mi}}),rt.replace(kt,ur)}return rt.replace(kt,ze)}},Fo={key:"properties",plugin:function(ze,wt,kt,tn){var ur=En()({},ze);for(var gn in ze)try{ur[gn].default=tn.modelPropertyMacro(ur[gn])}catch(Zr){var xr=new Error(Zr);return xr.fullPath=kt,xr}return rt.replace(kt,ur)}},Ka=function(){function ze(wt){Dn()(this,ze),this.root=Sa(wt||{})}return jn()(ze,[{key:"set",value:function(wt,kt){var tn=this.getParent(wt,!0);if(tn){var ur=wt[wt.length-1],gn=tn.children;gn[ur]?fa(gn[ur],kt,tn):gn[ur]=Sa(kt,tn)}else fa(this.root,kt,null)}},{key:"get",value:function(wt){if((wt=wt||[]).length<1)return this.root.value;for(var kt,tn,ur=this.root,gn=0;gn<wt.length&&(kt=ur.children)[tn=wt[gn]];gn+=1)ur=kt[tn];return ur&&ur.protoValue}},{key:"getParent",value:function(wt,kt){return!wt||wt.length<1?null:wt.length<2?this.root:St()(wt).call(wt,0,-1).reduce(function(tn,ur){if(!tn)return tn;var gn=tn.children;return!gn[ur]&&kt&&(gn[ur]=Sa(null,tn)),gn[ur]},this.root)}}]),ze}();function Sa(ze,wt){return fa({children:{}},ze,wt)}function fa(ze,wt,kt){return ze.value=wt||{},ze.protoValue=kt?En()(En()({},kt.protoValue),ze.value):ze.value,Ae()(ze.children).forEach(function(tn){var ur=ze.children[tn];ze.children[tn]=fa(ur,ur.value,ze)}),ze}var ks=function(){},Ua=function(){function ze(wt){var kt,tn,ur=this;Dn()(this,ze),ut()(this,{spec:"",debugLevel:"info",plugins:[],pluginHistory:{},errors:[],mutations:[],promisedPatches:[],state:{},patches:[],context:{},contextTree:new Ka,showDebug:!1,allPatches:[],pluginProp:"specMap",libMethods:ut()(Object.create(this),rt,{getInstance:function(){return ur}}),allowMetaPatches:!1},wt),this.get=this._get.bind(this),this.getContext=this._getContext.bind(this),this.hasRun=this._hasRun.bind(this),this.wrappedPlugins=ue()(kt=he()(tn=this.plugins).call(tn,this.wrapPlugin.bind(this))).call(kt,rt.isFunction),this.patches.push(rt.add([],this.spec)),this.patches.push(rt.context([],this.context)),this.updatePatches(this.patches)}return jn()(ze,[{key:"debug",value:function(wt){if(this.debugLevel===wt){for(var kt,tn=arguments.length,ur=new Array(tn>1?tn-1:0),gn=1;gn<tn;gn++)ur[gn-1]=arguments[gn];(kt=console).log.apply(kt,ur)}}},{key:"verbose",value:function(wt){if("verbose"===this.debugLevel){for(var kt,tn,ur=arguments.length,gn=new Array(ur>1?ur-1:0),xr=1;xr<ur;xr++)gn[xr-1]=arguments[xr];(kt=console).log.apply(kt,u()(tn=["[".concat(wt,"] ")]).call(tn,gn))}}},{key:"wrapPlugin",value:function(wt,kt){var tn,ur,gn,xr=this.pathDiscriminator,Zr=null;return wt[this.pluginProp]?(Zr=wt,tn=wt[this.pluginProp]):rt.isFunction(wt)?tn=wt:rt.isObject(wt)&&(ur=wt,gn=function(Pr,mi){return!Array.isArray(Pr)||Pr.every(function(ii,si){return ii===mi[si]})},tn=b.a.mark(function Pr(mi,ii){var si,bi,Ui,io,vo,Bi;return b.a.wrap(function(hi){for(;;)switch(hi.prev=hi.next){case 0:Bi=function(Br,G,Se){var ft,Ft,Bt,In,Xn,Sr,pi,Fr,zr,Un,lr,dr,li;return b.a.wrap(function(Ti){for(;;)switch(Ti.prev=Ti.next){case 0:if(rt.isObject(Br)){Ti.next=6;break}if(ur.key!==G[G.length-1]){Ti.next=4;break}return Ti.next=4,ur.plugin(Br,ur.key,G,ii);case 4:Ti.next=30;break;case 6:Ft=G[ft=G.length-1],Bt=G.indexOf("properties"),In="properties"===Ft&&ft===Bt,Xn=ii.allowMetaPatches&&bi[Br.$$ref],Sr=0,pi=Ae()(Br);case 12:if(!(Sr<pi.length)){Ti.next=30;break}if(zr=Br[Fr=pi[Sr]],Un=u()(G).call(G,Fr),lr=rt.isObject(zr),dr=Br.$$ref,Xn){Ti.next=22;break}if(!lr){Ti.next=22;break}return ii.allowMetaPatches&&dr&&(bi[dr]=!0),Ti.delegateYield(Bi(zr,Un,Se),"t0",22);case 22:if(In||Fr!==ur.key){Ti.next=27;break}if(li=gn(xr,G),xr&&!li){Ti.next=27;break}return Ti.next=27,ur.plugin(zr,Fr,Un,ii,Se);case 27:Sr++,Ti.next=12;break;case 30:case"end":return Ti.stop()}},si)},si=b.a.mark(Bi),bi={},Ui=D()(ue()(mi).call(mi,rt.isAdditiveMutation)),hi.prev=4,Ui.s();case 6:if((io=Ui.n()).done){hi.next=11;break}return hi.delegateYield(Bi((vo=io.value).value,vo.path,vo),"t0",9);case 9:hi.next=6;break;case 11:hi.next=16;break;case 13:hi.prev=13,hi.t1=hi.catch(4),Ui.e(hi.t1);case 16:return hi.prev=16,Ui.f(),hi.finish(16);case 19:case"end":return hi.stop()}},Pr,null,[[4,13,16,19]])})),ut()(tn.bind(Zr),{pluginName:wt.name||kt,isGenerator:rt.isGenerator(tn)})}},{key:"nextPlugin",value:function(){var wt,kt=this;return Tt()(wt=this.wrappedPlugins).call(wt,function(tn){return kt.getMutationsForPlugin(tn).length>0})}},{key:"nextPromisedPatch",value:function(){var wt;if(this.promisedPatches.length>0)return et.a.race(he()(wt=this.promisedPatches).call(wt,function(kt){return kt.value}))}},{key:"getPluginHistory",value:function(wt){var kt=this.constructor.getPluginName(wt);return this.pluginHistory[kt]||[]}},{key:"getPluginRunCount",value:function(wt){return this.getPluginHistory(wt).length}},{key:"getPluginHistoryTip",value:function(wt){var kt=this.getPluginHistory(wt);return kt&&kt[kt.length-1]||{}}},{key:"getPluginMutationIndex",value:function(wt){var kt=this.getPluginHistoryTip(wt).mutationIndex;return"number"!=typeof kt?-1:kt}},{key:"updatePluginHistory",value:function(wt,kt){var tn=this.constructor.getPluginName(wt);this.pluginHistory[tn]=this.pluginHistory[tn]||[],this.pluginHistory[tn].push(kt)}},{key:"updatePatches",value:function(wt){var kt=this;rt.normalizeArray(wt).forEach(function(tn){if(tn instanceof Error)kt.errors.push(tn);else try{if(!rt.isObject(tn))return void kt.debug("updatePatches","Got a non-object patch",tn);if(kt.showDebug&&kt.allPatches.push(tn),rt.isPromise(tn.value))return kt.promisedPatches.push(tn),void kt.promisedPatchThen(tn);if(rt.isContextPatch(tn))return void kt.setContext(tn.path,tn.value);if(rt.isMutation(tn))return void kt.updateMutations(tn)}catch(ur){console.error(ur),kt.errors.push(ur)}})}},{key:"updateMutations",value:function(wt){"object"===j()(wt.value)&&!Array.isArray(wt.value)&&this.allowMetaPatches&&(wt.value=En()({},wt.value));var kt=rt.applyPatch(this.state,wt,{allowMetaPatches:this.allowMetaPatches});kt&&(this.mutations.push(wt),this.state=kt)}},{key:"removePromisedPatch",value:function(wt){var kt,tn=this.promisedPatches.indexOf(wt);tn<0?this.debug("Tried to remove a promisedPatch that isn't there!"):hn()(kt=this.promisedPatches).call(kt,tn,1)}},{key:"promisedPatchThen",value:function(wt){var kt=this;return wt.value=wt.value.then(function(tn){var ur=En()(En()({},wt),{},{value:tn});kt.removePromisedPatch(wt),kt.updatePatches(ur)}).catch(function(tn){kt.removePromisedPatch(wt),kt.updatePatches(tn)}),wt.value}},{key:"getMutations",value:function(wt,kt){var tn;return wt=wt||0,"number"!=typeof kt&&(kt=this.mutations.length),St()(tn=this.mutations).call(tn,wt,kt)}},{key:"getCurrentMutations",value:function(){return this.getMutationsForPlugin(this.getCurrentPlugin())}},{key:"getMutationsForPlugin",value:function(wt){var kt=this.getPluginMutationIndex(wt);return this.getMutations(kt+1)}},{key:"getCurrentPlugin",value:function(){return this.currentPlugin}},{key:"getLib",value:function(){return this.libMethods}},{key:"_get",value:function(wt){return rt.getIn(this.state,wt)}},{key:"_getContext",value:function(wt){return this.contextTree.get(wt)}},{key:"setContext",value:function(wt,kt){return this.contextTree.set(wt,kt)}},{key:"_hasRun",value:function(wt){return this.getPluginRunCount(this.getCurrentPlugin())>(wt||0)}},{key:"dispatch",value:function(){var wt,kt=this,tn=this,ur=this.nextPlugin();if(!ur){var gn=this.nextPromisedPatch();if(gn)return gn.then(function(){return kt.dispatch()}).catch(function(){return kt.dispatch()});var xr={spec:this.state,errors:this.errors};return this.showDebug&&(xr.patches=this.allPatches),et.a.resolve(xr)}if(tn.pluginCount=tn.pluginCount||{},tn.pluginCount[ur]=(tn.pluginCount[ur]||0)+1,tn.pluginCount[ur]>100)return et.a.resolve({spec:tn.state,errors:u()(wt=tn.errors).call(wt,new Error("We've reached a hard limit of ".concat(100," plugin runs")))});if(ur!==this.currentPlugin&&this.promisedPatches.length){var Zr,Pr=he()(Zr=this.promisedPatches).call(Zr,function(ii){return ii.value});return et.a.all(he()(Pr).call(Pr,function(ii){return ii.then(ks,ks)})).then(function(){return kt.dispatch()})}return function(){tn.currentPlugin=ur;var ii=tn.getCurrentMutations(),si=tn.mutations.length-1;try{if(ur.isGenerator){var bi,Ui=D()(ur(ii,tn.getLib()));try{for(Ui.s();!(bi=Ui.n()).done;)mi(bi.value)}catch(io){Ui.e(io)}finally{Ui.f()}}else mi(ur(ii,tn.getLib()))}catch(io){console.error(io),mi([ut()(Object.create(io),{plugin:ur})])}finally{tn.updatePluginHistory(ur,{mutationIndex:si})}return tn.dispatch()}();function mi(ii){ii&&(ii=rt.fullyNormalizeArray(ii),tn.updatePatches(ii,ur))}}}],[{key:"getPluginName",value:function(wt){return wt.pluginName}},{key:"getPatchesOfType",value:function(wt,kt){return ue()(wt).call(wt,kt)}}]),ze}(),pt={refs:ni,allOf:Ca,parameters:sa,properties:Fo},an=t(59);function Nt(ze){var wt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},kt=wt.requestInterceptor,tn=wt.responseInterceptor,ur=ze.withCredentials?"include":"same-origin";return function(gn){return ze({url:gn,loadSpec:!0,requestInterceptor:kt,responseInterceptor:tn,headers:{Accept:Er},credentials:ur}).then(function(xr){return xr.body})}}function Ce(ze){var kt=ze.spec,ur=ze.mode,gn=ze.allowMetaPatches,xr=void 0===gn||gn,Zr=ze.pathDiscriminator,Pr=ze.modelPropertyMacro,mi=ze.parameterMacro,ii=ze.requestInterceptor,si=ze.responseInterceptor,bi=ze.skipNormalization,Ui=ze.useCircularStructures,io=ze.http,vo=ze.baseDoc;return vo=vo||ze.url,io=ze.fetch||io||Jt,kt?Bi(kt):Nt(io,{requestInterceptor:ii,responseInterceptor:si})(vo).then(Bi);function Bi(hi){vo&&(pt.refs.docCache[vo]=hi),pt.refs.fetchJSON=Nt(io,{requestInterceptor:ii,responseInterceptor:si});var Br,Se,G=[pt.refs];return"function"==typeof mi&&G.push(pt.parameters),"function"==typeof Pr&&G.push(pt.properties),"strict"!==ur&&G.push(pt.allOf),(Br={spec:hi,context:{baseDoc:vo},plugins:G,allowMetaPatches:xr,pathDiscriminator:Zr,parameterMacro:mi,modelPropertyMacro:Pr,useCircularStructures:Ui},new Ua(Br).dispatch()).then(bi?(Se=_()(b.a.mark(function ft(Ft){return b.a.wrap(function(Bt){for(;;)switch(Bt.prev=Bt.next){case 0:return Bt.abrupt("return",Ft);case 1:case"end":return Bt.stop()}},ft)})),function(ft){return Se.apply(this,arguments)}):an.d)}}var ye=t(54),Ne=t.n(ye),Wt=t(39),Or=t.n(Wt),Ni=t(140),Yo=t.n(Ni),ms=t(474),ss=t.n(ms),Lo={body:function(ze){ze.req.body=ze.value},header:function(ze){var wt=ze.req,kt=ze.parameter,tn=ze.value;wt.headers=wt.headers||{},void 0!==tn&&(wt.headers[kt.name]=tn)},query:function(ze){var wt=ze.req,kt=ze.value,tn=ze.parameter;if(wt.query=wt.query||{},!1===kt&&"boolean"===tn.type&&(kt="false"),0===kt&&["number","integer"].indexOf(tn.type)>-1&&(kt="0"),kt)wt.query[tn.name]={collectionFormat:tn.collectionFormat,value:kt};else if(tn.allowEmptyValue&&void 0!==kt){var ur=tn.name;wt.query[ur]=wt.query[ur]||{},wt.query[ur].allowEmptyValue=!0}},path:function(ze){var wt=ze.req,kt=ze.value;wt.url=wt.url.split("{".concat(ze.parameter.name,"}")).join(encodeURIComponent(kt))},formData:function(ze){var wt=ze.req,kt=ze.value,tn=ze.parameter;(kt||tn.allowEmptyValue)&&(wt.form=wt.form||{},wt.form[tn.name]={value:kt,allowEmptyValue:tn.allowEmptyValue,collectionFormat:tn.collectionFormat})}};function Zo(ze,wt){return M()(wt).call(wt,"application/json")?"string"==typeof ze?ze:fe()(ze):ze.toString()}function Ea(ze){var wt=ze.req,kt=ze.value,tn=ze.parameter,ur=tn.name,gn=tn.style,xr=tn.explode,Zr=tn.content;if(Zr){var Pr=Ae()(Zr)[0];wt.url=wt.url.split("{".concat(ur,"}")).join(It(Zo(kt,Pr),{escape:!0}))}else{var mi=ae({key:tn.name,value:kt,style:gn||"simple",explode:xr||!1,escape:!0});wt.url=wt.url.split("{".concat(ur,"}")).join(mi)}}function ul(ze){var wt=ze.req,kt=ze.value,tn=ze.parameter;if(wt.query=wt.query||{},tn.content){var ur=Ae()(tn.content)[0];wt.query[tn.name]=Zo(kt,ur)}else if(!1===kt&&(kt="false"),0===kt&&(kt="0"),kt)wt.query[tn.name]={value:kt,serializationOption:{style:tn.style,explode:tn.explode,allowReserved:tn.allowReserved}};else if(tn.allowEmptyValue&&void 0!==kt){var Pr=tn.name;wt.query[Pr]=wt.query[Pr]||{},wt.query[Pr].allowEmptyValue=!0}}var Ma=["accept","authorization","content-type"];function va(ze){var wt=ze.req,kt=ze.parameter,tn=ze.value;if(wt.headers=wt.headers||{},!(Ma.indexOf(kt.name.toLowerCase())>-1))if(kt.content){var ur=Ae()(kt.content)[0];wt.headers[kt.name]=Zo(tn,ur)}else void 0!==tn&&(wt.headers[kt.name]=ae({key:kt.name,value:tn,style:kt.style||"simple",explode:void 0!==kt.explode&&kt.explode,escape:!1}))}function bs(ze){var wt=ze.req,kt=ze.parameter,tn=ze.value;wt.headers=wt.headers||{};var ur=j()(tn);if(kt.content){var gn,xr=Ae()(kt.content)[0];wt.headers.Cookie=u()(gn="".concat(kt.name,"=")).call(gn,Zo(tn,xr))}else if("undefined"!==ur){var Zr="object"===ur&&!Array.isArray(tn)&&kt.explode?"":"".concat(kt.name,"=");wt.headers.Cookie=Zr+ae({key:kt.name,value:tn,escape:!1,style:kt.style||"form",explode:void 0!==kt.explode&&kt.explode})}}var $o=t(201),Ol=t.n($o),il=["http","fetch","spec","operationId","pathName","method","parameters","securities"],Il=function(ze){return Array.isArray(ze)?ze:[]},Bl=Go("OperationNotFoundError",function(ze,wt,kt){this.originalError=kt,ut()(this,wt||{})}),Na={buildRequest:vs};function Di(ze){var wt=ze.http,kt=ze.fetch,tn=ze.spec,ur=ze.operationId,gn=ze.pathName,xr=ze.method,Zr=ze.parameters,Pr=ze.securities,mi=Ne()(ze,il),ii=wt||kt||Jt;gn&&xr&&!ur&&(ur=Object(an.c)(gn,xr));var si=Na.buildRequest(En()({spec:tn,operationId:ur,parameters:Zr,securities:Pr,http:ii},mi));return si.body&&(Yo()(si.body)||Array.isArray(si.body))&&(si.body=fe()(si.body)),ii(si)}function vs(ze){var wt,kt,tn=ze.spec,ur=ze.operationId,gn=ze.responseContentType,xr=ze.scheme,Zr=ze.requestInterceptor,Pr=ze.responseInterceptor,mi=ze.contextUrl,ii=ze.userFetch,si=ze.server,bi=ze.serverVariables,Ui=ze.http,io=ze.parameters,vo=ze.parameterBuilders,Bi=Object(an.b)(tn);vo||(vo=Bi?a:Lo);var hi={url:"",credentials:Ui&&Ui.withCredentials?"include":"same-origin",headers:{},cookies:{}};Zr&&(hi.requestInterceptor=Zr),Pr&&(hi.responseInterceptor=Pr),ii&&(hi.userFetch=ii);var Br=Object(an.a)(tn,ur);if(!Br)throw new Bl("Operation ".concat(ur," not found"));var G,Fr,zr,Un,lr,dr,li,Ao,Qo,jo,uo,eo,Se=Br.operation,ft=void 0===Se?{}:Se,Ft=Br.method,Bt=Br.pathName;if(hi.url+=(G={spec:tn,scheme:xr,contextUrl:mi,server:si,serverVariables:bi,pathName:Bt,method:Ft},Object(an.b)(G.spec)?function(Fr){var zr=Fr.spec,Un=Fr.pathName,lr=Fr.method,dr=Fr.server,li=Fr.contextUrl,Ti=Fr.serverVariables,Ao=void 0===Ti?{}:Ti,Qo=Or()(zr,["paths",Un,(lr||"").toLowerCase(),"servers"])||Or()(zr,["paths",Un,"servers"])||Or()(zr,["servers"]),jo="",uo=null;if(dr&&Qo&&Qo.length){var eo=he()(Qo).call(Qo,function(Zi){return Zi.url});eo.indexOf(dr)>-1&&(jo=dr,uo=Qo[eo.indexOf(dr)])}if(!jo&&Qo&&Qo.length){jo=Qo[0].url;var Ho=z()(Qo,1);uo=Ho[0]}return jo.indexOf("{")>-1&&function(Zi){for(var na,ha=[],fl=/{([^}]+)}/g;na=fl.exec(Zi);)ha.push(na[1]);return ha}(jo).forEach(function(Zi){if(uo.variables&&uo.variables[Zi]){var ha=Ao[Zi]||uo.variables[Zi].default,fl=new RegExp("{".concat(Zi,"}"),"g");jo=jo.replace(fl,ha)}}),function(){var Zi,na,ha=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",fl=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",Hn=zi.a.parse(ha&&fl?zi.a.resolve(fl,ha):ha),Es=zi.a.parse(fl),Ll=pa(Hn.protocol)||pa(Es.protocol)||"",Hl=Hn.host||Es.host,mo=Hn.pathname||"";return"/"===(Zi=Ll&&Hl?u()(na="".concat(Ll,"://")).call(na,Hl+mo):mo)[Zi.length-1]?St()(Zi).call(Zi,0,-1):Zi}(jo,li)}(G):(lr=(Fr=G).spec,dr=Fr.scheme,Ao=zi.a.parse(void 0===(li=Fr.contextUrl)?"":li),Qo=Array.isArray(lr.schemes)?lr.schemes[0]:null,jo=dr||Qo||pa(Ao.protocol)||"http",uo=lr.host||Ao.host||"",eo=lr.basePath||"","/"===(zr=jo&&uo?u()(Un="".concat(jo,"://")).call(Un,uo+eo):eo)[zr.length-1]?St()(zr).call(zr,0,-1):zr)),!ur)return delete hi.cookies,hi;hi.url+=Bt,hi.method="".concat(Ft).toUpperCase(),io=io||{};var In=tn.paths[Bt]||{};gn&&(hi.headers.accept=gn);var Xn=function(Fr){var zr={};Fr.forEach(function(lr){zr[lr.in]||(zr[lr.in]={}),zr[lr.in][lr.name]=lr});var Un=[];return Ae()(zr).forEach(function(lr){Ae()(zr[lr]).forEach(function(dr){Un.push(zr[lr][dr])})}),Un}(u()(wt=u()(kt=[]).call(kt,Il(ft.parameters))).call(wt,Il(In.parameters)));Xn.forEach(function(Fr){var zr,Un,lr=vo[Fr.in];if("body"===Fr.in&&Fr.schema&&Fr.schema.properties&&(zr=io),void 0===(zr=Fr&&Fr.name&&io[Fr.name]))zr=Fr&&Fr.name&&io[u()(Un="".concat(Fr.in,".")).call(Un,Fr.name)];else if(function(li,Ti){return ue()(Ti).call(Ti,function(Ao){return Ao.name===li})}(Fr.name,Xn).length>1){var dr;console.warn(u()(dr="Parameter '".concat(Fr.name,"' is ambiguous because the defined spec has more than one parameter with the name: '")).call(dr,Fr.name,"' and the passed-in parameter values did not define an 'in' value."))}if(null!==zr){if(void 0!==Fr.default&&void 0===zr&&(zr=Fr.default),void 0===zr&&Fr.required&&!Fr.allowEmptyValue)throw new Error("Required parameter ".concat(Fr.name," is not provided"));if(Bi&&Fr.schema&&"object"===Fr.schema.type&&"string"==typeof zr)try{zr=JSON.parse(zr)}catch(li){throw new Error("Could not parse object parameter value string as JSON")}lr&&lr({req:hi,parameter:Fr,value:zr,operation:ft,spec:tn})}});var Sr=En()(En()({},ze),{},{operation:ft});if((hi=Bi?function(ze,wt){var vo,Bi,hi,Br,G,Se,ft,Ft,Bt,In,Xn,Sr,pi,kt=ze.operation,tn=ze.requestBody,xr=ze.attachContentTypeForEmptyPayload,Zr=ze.requestContentType;Bi=(vo={request:wt,securities:ze.securities,operation:kt,spec:ze.spec}).request,Br=void 0===(hi=vo.securities)?{}:hi,Se=void 0===(G=vo.operation)?{}:G,ft=vo.spec,Ft=En()({},Bi),Xn=Se.security||ft.security||[],Sr=(In=void 0===(Bt=Br.authorized)?{}:Bt)&&!!Ae()(In).length,pi=Or()(ft,["components","securitySchemes"])||{},Ft.headers=Ft.headers||{},Ft.query=Ft.query||{},wt=Ae()(Br).length&&Sr&&Xn&&(!Array.isArray(Se.security)||Se.security.length)?(Xn.forEach(function(Fr){Ae()(Fr).forEach(function(zr){var Un=In[zr],lr=pi[zr];if(Un){var dr=Un.value||Un,li=lr.type;if(Un)if("apiKey"===li)"query"===lr.in&&(Ft.query[lr.name]=dr),"header"===lr.in&&(Ft.headers[lr.name]=dr),"cookie"===lr.in&&(Ft.cookies[lr.name]=dr);else if("http"===li){if(/^basic$/i.test(lr.scheme)){var Ti,Ao=dr.username||"",Qo=dr.password||"",jo=Ol()(u()(Ti="".concat(Ao,":")).call(Ti,Qo));Ft.headers.Authorization="Basic ".concat(jo)}/^bearer$/i.test(lr.scheme)&&(Ft.headers.Authorization="Bearer ".concat(dr))}else if("oauth2"===li||"openIdConnect"===li){var uo,eo=Un.token||{},Ho=eo[lr["x-tokenName"]||"access_token"],Zi=eo.token_type;Zi&&"bearer"!==Zi.toLowerCase()||(Zi="Bearer"),Ft.headers.Authorization=u()(uo="".concat(Zi," ")).call(uo,Ho)}}})}),Ft):Bi;var Pr=kt.requestBody||{},mi=Ae()(Pr.content||{}),ii=Zr&&mi.indexOf(Zr)>-1;if(tn||xr){if(Zr&&ii)wt.headers["Content-Type"]=Zr;else if(!Zr){var si=mi[0];si&&(wt.headers["Content-Type"]=si,Zr=si)}}else Zr&&ii&&(wt.headers["Content-Type"]=Zr);if(!ze.responseContentType&&kt.responses){var bi,Ui=ue()(bi=Oe()(kt.responses)).call(bi,function(vo){var Bi=z()(vo,2),Br=Bi[1],G=parseInt(Bi[0],10);return G>=200&&G<300&&Yo()(Br.content)}).reduce(function(vo,Bi){var hi=z()(Bi,2)[1];return u()(vo).call(vo,Ae()(hi.content))},[]);Ui.length>0&&(wt.headers.accept=Ui.join(", "))}if(tn)if(Zr){if(mi.indexOf(Zr)>-1)if("application/x-www-form-urlencoded"===Zr||"multipart/form-data"===Zr)if("object"===j()(tn)){var io=(Pr.content[Zr]||{}).encoding||{};wt.form={},Ae()(tn).forEach(function(vo){wt.form[vo]={value:tn[vo],encoding:io[vo]||{}}})}else wt.form=tn;else wt.body=tn}else wt.body=tn;return wt}(Sr,hi):function(ze,wt){var kt,tn,Bi,hi,Br,G,Se,ft,Ft,Bt,In,Xn,Sr,Fr,zr,Un,ur=ze.spec,gn=ze.operation,Zr=ze.requestContentType,Pr=ze.responseContentType,mi=ze.attachContentTypeForEmptyPayload;if((Bi={request:wt,securities:ze.securities,operation:gn,spec:ur},hi=Bi.request,Br=Bi.securities,G=void 0===Br?{}:Br,Se=Bi.operation,ft=void 0===Se?{}:Se,Ft=Bi.spec,Bt=En()({},hi),In=G.authorized,Xn=void 0===In?{}:In,Sr=G.specSecurity,Fr=ft.security||(void 0===Sr?[]:Sr),zr=Xn&&!!Ae()(Xn).length,Un=Ft.securityDefinitions,Bt.headers=Bt.headers||{},Bt.query=Bt.query||{},wt=Ae()(G).length&&zr&&Fr&&(!Array.isArray(ft.security)||ft.security.length)?(Fr.forEach(function(lr){Ae()(lr).forEach(function(dr){var li=Xn[dr];if(li){var Ti=li.token,Ao=li.value||li,Qo=Un[dr],jo=Qo.type,eo=Ti&&Ti[Qo["x-tokenName"]||"access_token"],Ho=Ti&&Ti.token_type;if(li)if("apiKey"===jo){var Zi="query"===Qo.in?"query":"headers";Bt[Zi]=Bt[Zi]||{},Bt[Zi][Qo.name]=Ao}else if("basic"===jo)if(Ao.header)Bt.headers.authorization=Ao.header;else{var na,ha=Ao.username||"",fl=Ao.password||"";Ao.base64=Ol()(u()(na="".concat(ha,":")).call(na,fl)),Bt.headers.authorization="Basic ".concat(Ao.base64)}else if("oauth2"===jo&&eo){var Hn;Ho=Ho&&"bearer"!==Ho.toLowerCase()?Ho:"Bearer",Bt.headers.authorization=u()(Hn="".concat(Ho," ")).call(Hn,eo)}}})}),Bt):hi).body||wt.form||mi)if(Zr)wt.headers["Content-Type"]=Zr;else if(Array.isArray(gn.consumes)){var ii=z()(gn.consumes,1);wt.headers["Content-Type"]=ii[0]}else if(Array.isArray(ur.consumes)){var si=z()(ur.consumes,1);wt.headers["Content-Type"]=si[0]}else gn.parameters&&ue()(kt=gn.parameters).call(kt,function(Bi){return"file"===Bi.type}).length?wt.headers["Content-Type"]="multipart/form-data":gn.parameters&&ue()(tn=gn.parameters).call(tn,function(Bi){return"formData"===Bi.in}).length&&(wt.headers["Content-Type"]="application/x-www-form-urlencoded");else if(Zr){var bi,Ui,io=gn.parameters&&ue()(bi=gn.parameters).call(bi,function(Bi){return"body"===Bi.in}).length>0,vo=gn.parameters&&ue()(Ui=gn.parameters).call(Ui,function(Bi){return"formData"===Bi.in}).length>0;(io||vo)&&(wt.headers["Content-Type"]=Zr)}return!Pr&&Array.isArray(gn.produces)&&gn.produces.length>0&&(wt.headers.accept=gn.produces.join(", ")),wt}(Sr,hi)).cookies&&Ae()(hi.cookies).length){var pi=Ae()(hi.cookies).reduce(function(Fr,zr){return Fr+(Fr?"&":"")+ss.a.serialize(zr,hi.cookies[zr])},"");hi.headers.Cookie=pi}return hi.cookies&&delete hi.cookies,qn(hi),hi}var pa=function(ze){return ze?ze.replace(/\W/g,""):null};function Vo(ze,wt){return ja.apply(this,arguments)}function ja(){return(ja=_()(b.a.mark(function ze(wt,kt){var tn,ur,si,bi,Ui,io,vo=arguments;return b.a.wrap(function(Bi){for(;;)switch(Bi.prev=Bi.next){case 0:return ur=(tn=vo.length>2&&void 0!==vo[2]?vo[2]:{}).returnEntireTree,si={pathDiscriminator:kt,baseDoc:tn.baseDoc,requestInterceptor:tn.requestInterceptor,responseInterceptor:tn.responseInterceptor,parameterMacro:tn.parameterMacro,modelPropertyMacro:tn.modelPropertyMacro,useCircularStructures:tn.useCircularStructures},bi=Object(an.d)({spec:wt}),Ui=bi.spec,Bi.next=6,Ce(En()(En()({},si),{},{spec:Ui,allowMetaPatches:!0,skipNormalization:!0}));case 6:return io=Bi.sent,!ur&&Array.isArray(kt)&&kt.length&&(io.spec=Or()(io.spec,kt)||null),Bi.abrupt("return",io);case 9:case"end":return Bi.stop()}},ze)}))).apply(this,arguments)}var hs=t(276);o.default=function(ze){var wt,kt,tn,ur=ze.configs,gn=ze.getConfigs;return{fn:{fetch:(wt=Jt,kt=ur.preFetch,tn=ur.postFetch,tn=tn||function(xr){return xr},kt=kt||function(xr){return xr},function(xr){return"string"==typeof xr&&(xr={url:xr}),dt.mergeInQueryOrForm(xr),xr=kt(xr),tn(wt(xr))}),buildRequest:vs,execute:Di,resolve:Ce,resolveSubtree:function(xr,Zr,Pr){var mi;if(void 0===Pr){var ii=gn();Pr={modelPropertyMacro:ii.modelPropertyMacro,parameterMacro:ii.parameterMacro,requestInterceptor:ii.requestInterceptor,responseInterceptor:ii.responseInterceptor}}for(var si=arguments.length,bi=new Array(si>3?si-3:0),Ui=3;Ui<si;Ui++)bi[Ui-3]=arguments[Ui];return Vo.apply(void 0,u()(mi=[xr,Zr,Pr]).call(mi,bi))},serializeRes:Ln,opId:an.e},statePlugins:{configs:{wrapActions:hs}}}}},function(g,o,t){"use strict";t.r(o),t.d(o,"default",function(){return _});var e=t(162),s=t(144),a=t(283),l=t(284),u=t(285),h={getLocalConfig:function(){return Object(e.parseYamlConfig)('---\nurl: "https://petstore.swagger.io/v2/swagger.json"\ndom_id: "#swagger-ui"\nvalidatorUrl: "https://validator.swagger.io/validator"\n')}};function _(){return{statePlugins:{spec:{actions:a,selectors:h},configs:{reducers:u.default,actions:s,selectors:l}}}}},function(g,o,t){var e=t(393),s=t(189),a=t(710),l=t(52),u=t(370);g.exports=function(h,_,m){var b=l(h)?e:a;return m&&u(h,_,m)&&(_=void 0),b(h,s(_,3))}},function(g,o,t){"use strict";var e=t(408),s=t(409),a=t(730);g.exports=function(l){var u,h=e(arguments[1]);return h.normalizer||0!==(u=h.length=s(h.length,l.length,h.async))&&(h.primitive?!1===u?h.normalizer=t(765):u>1&&(h.normalizer=t(766)(u)):h.normalizer=!1===u?t(767)():1===u?t(771)():t(772)(u)),h.async&&t(773),h.promise&&t(774),h.dispose&&t(780),h.maxAge&&t(781),h.max&&t(784),h.refCounter&&t(786),a(l,h)}},function(g,o,t){g.exports=t(347)},function(g,o,t){g.exports=t(844)},function(g,o,t){var e=t(850);g.exports=function(s,a,l){return null==s?s:e(s,a,l)}},function(g,o,t){"use strict";var e=t(269),s={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function h(j){return e.isMemo(j)?l:u[j.$$typeof]||s}u[e.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u[e.Memo]=l;var _=Object.defineProperty,m=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,C=Object.getOwnPropertyDescriptor,D=Object.getPrototypeOf,x=Object.prototype;g.exports=function j(H,z,U){if("string"!=typeof z){if(x){var M=D(z);M&&M!==x&&j(H,M,U)}var I=m(z);b&&(I=I.concat(b(z)));for(var J=h(H),Y=h(z),ie=0;ie<I.length;++ie){var oe=I[ie];if(!(a[oe]||U&&U[oe]||Y&&Y[oe]||J&&J[oe])){var fe=C(z,oe);try{_(H,oe,fe)}catch(ne){}}}}return H}},function(g,o,t){"use strict";var e=t(911),s=t(912);o.highlight=l,o.highlightAuto=function(_,m){var b,C,D,x,j=m||{},H=j.subset||e.listLanguages(),z=j.prefix,U=H.length,M=-1;if(null==z&&(z=a),"string"!=typeof _)throw s("Expected `string` for value, got `%s`",_);for(C={relevance:0,language:null,value:[]},b={relevance:0,language:null,value:[]};++M<U;)e.getLanguage(x=H[M])&&((D=l(x,_,m)).language=x,D.relevance>C.relevance&&(C=D),D.relevance>b.relevance&&(C=b,b=D));return C.language&&(b.secondBest=C),b},o.registerLanguage=function(_,m){e.registerLanguage(_,m)},o.listLanguages=function(){return e.listLanguages()},o.registerAlias=function(_,m){var b,C=_;for(b in m&&((C={})[_]=m),C)e.registerAliases(C[b],{languageName:b})},u.prototype.addText=function(_){var m,b,C=this.stack;""!==_&&((b=(m=C[C.length-1]).children[m.children.length-1])&&"text"===b.type?b.value+=_:m.children.push({type:"text",value:_}))},u.prototype.addKeyword=function(_,m){this.openNode(m),this.addText(_),this.closeNode()},u.prototype.addSublanguage=function(_,m){var b=this.stack,C=b[b.length-1],D=_.rootNode.children;C.children=C.children.concat(m?{type:"element",tagName:"span",properties:{className:[m]},children:D}:D)},u.prototype.openNode=function(_){var m=this.stack,D={type:"element",tagName:"span",properties:{className:[this.options.classPrefix+_]},children:[]};m[m.length-1].children.push(D),m.push(D)},u.prototype.closeNode=function(){this.stack.pop()},u.prototype.closeAllNodes=h,u.prototype.finalize=h,u.prototype.toHTML=function(){return""};var a="hljs-";function l(_,m,b){var C,D=e.configure({}),x=(b||{}).prefix;if("string"!=typeof _)throw s("Expected `string` for name, got `%s`",_);if(!e.getLanguage(_))throw s("Unknown language: `%s` is not registered",_);if("string"!=typeof m)throw s("Expected `string` for value, got `%s`",m);if(null==x&&(x=a),e.configure({__emitter:u,classPrefix:x}),C=e.highlight(m,{language:_,ignoreIllegals:!0}),e.configure(D||{}),C.errorRaised)throw C.errorRaised;return{relevance:C.relevance,language:C.language,value:C.emitter.rootNode.children}}function u(_){this.options=_,this.rootNode={children:[]},this.stack=[this.rootNode]}function h(){}},function(g,o,t){g.exports=t(944)},function(g,o,t){var e=t(102);g.exports=function(s){return e(s).toLowerCase()}},function(g,o,t){"use strict";var e=t(974).DebounceInput;e.DebounceInput=e,g.exports=e},function(g,o,t){var e=t(379),s=t(372),a=t(187),l=t(380);g.exports=function(u){return e(u)||s(u)||a(u)||l()},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(33),l=t(146),u=t(43),h=t(62),_=t(74),m=t(147),b=t(215),C=t(148),D=t(38),x=t(128),j=D("isConcatSpreadable"),H=9007199254740991,z="Maximum allowed index exceeded",U=s.TypeError,M=x>=51||!a(function(){var Y=[];return Y[j]=!1,Y.concat()[0]!==Y}),I=C("concat"),J=function(Y){if(!u(Y))return!1;var ie=Y[j];return void 0!==ie?!!ie:l(Y)};e({target:"Array",proto:!0,forced:!M||!I},{concat:function(Y){var ie,oe,fe,ne,he,ce=h(this),Ae=b(ce,0),Me=0;for(ie=-1,fe=arguments.length;ie<fe;ie++)if(J(he=-1===ie?ce:arguments[ie])){if(Me+(ne=_(he))>H)throw U(z);for(oe=0;oe<ne;oe++,Me++)oe in he&&m(Ae,Me,he[oe])}else{if(Me>=H)throw U(z);m(Ae,Me++,he)}return Ae.length=Me,Ae}})},function(g,o,t){var e=t(210);g.exports=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(g,o,t){var e=t(48),s=t(33),a=t(214);g.exports=!e&&!s(function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a})},function(g,o,t){var e=t(33),s=t(41),a=/#|\.prototype\./,l=function(b,C){var D=h[u(b)];return D==m||D!=_&&(s(C)?e(C):!!C)},u=l.normalize=function(b){return String(b).replace(a,".").toLowerCase()},h=l.data={},_=l.NATIVE="N",m=l.POLYFILL="P";g.exports=l},function(g,o,t){var e=t(129),s=Math.min;g.exports=function(a){return a>0?s(e(a),9007199254740991):0}},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(58),l=t(93),u=t(50),h=t(27),_=t(96),m=t(48),b=t(210),C=t(33),D=t(44),x=t(146),j=t(41),H=t(43),z=t(35),U=t(209),M=t(51),I=t(62),J=t(61),Y=t(169),ie=t(67),oe=t(94),fe=t(98),ne=t(149),he=t(174),ce=t(336),Ae=t(222),Me=t(111),Oe=t(63),be=t(167),ue=t(86),He=t(99),$e=t(212),F=t(173),je=t(150),Et=t(171),lt=t(38),nn=t(223),St=t(45),At=t(100),Qe=t(76),It=t(87).forEach,ae=F("hidden"),Ie="Symbol",dt=lt("toPrimitive"),Jt=Qe.set,zt=Qe.getterFor(Ie),ln=Object.prototype,ar=s.Symbol,Ln=ar&&ar.prototype,Rn=s.TypeError,er=s.QObject,Mn=a("JSON","stringify"),Ht=Me.f,tr=Oe.f,Yn=ce.f,Cn=be.f,Kt=h([].push),dn=$e("symbols"),Kn=$e("op-symbols"),qn=$e("string-to-symbol-registry"),Sn=$e("symbol-to-string-registry"),$n=$e("wks"),En=!er||!er.prototype||!er.prototype.findChild,Fn=m&&C(function(){return 7!=fe(tr({},"a",{get:function(){return tr(this,"a",{value:7}).a}})).a})?function(et,jt,hn){var Qn=Ht(ln,jt);Qn&&delete ln[jt],tr(et,jt,hn),Qn&&et!==ln&&tr(ln,jt,Qn)}:tr,Dn=function(et,jt){var hn=dn[et]=fe(Ln);return Jt(hn,{type:Ie,tag:et,description:jt}),m||(hn.description=jt),hn},mn=function(et,jt,hn){et===ln&&mn(Kn,jt,hn),M(et);var Qn=Y(jt);return M(hn),D(dn,Qn)?(hn.enumerable?(D(et,ae)&&et[ae][Qn]&&(et[ae][Qn]=!1),hn=fe(hn,{enumerable:oe(0,!1)})):(D(et,ae)||tr(et,ae,oe(1,{})),et[ae][Qn]=!0),Fn(et,Qn,hn)):tr(et,Qn,hn)},jn=function(et,jt){M(et);var hn=J(jt),Qn=ne(hn).concat(Tt(hn));return It(Qn,function(Ir){m&&!u(Xt,hn,Ir)||mn(et,Ir,hn[Ir])}),et},Xt=function(et){var jt=Y(et),hn=u(Cn,this,jt);return!(this===ln&&D(dn,jt)&&!D(Kn,jt))&&(!(hn||!D(this,jt)||!D(dn,jt)||D(this,ae)&&this[ae][jt])||hn)},ut=function(et,jt){var hn=J(et),Qn=Y(jt);if(hn!==ln||!D(dn,Qn)||D(Kn,Qn)){var Ir=Ht(hn,Qn);return!Ir||!D(dn,Qn)||D(hn,ae)&&hn[ae][Qn]||(Ir.enumerable=!0),Ir}},mt=function(et){var jt=Yn(J(et)),hn=[];return It(jt,function(Qn){D(dn,Qn)||D(je,Qn)||Kt(hn,Qn)}),hn},Tt=function(et){var jt=et===ln,hn=Yn(jt?Kn:J(et)),Qn=[];return It(hn,function(Ir){!D(dn,Ir)||jt&&!D(ln,Ir)||Kt(Qn,dn[Ir])}),Qn};if(b||(He(Ln=(ar=function(){if(z(Ln,this))throw Rn("Symbol is not a constructor");var et=arguments.length&&void 0!==arguments[0]?ie(arguments[0]):void 0,jt=Et(et),hn=function(Qn){this===ln&&u(hn,Kn,Qn),D(this,ae)&&D(this[ae],jt)&&(this[ae][jt]=!1),Fn(this,jt,oe(1,Qn))};return m&&En&&Fn(ln,jt,{configurable:!0,set:hn}),Dn(jt,et)}).prototype,"toString",function(){return zt(this).tag}),He(ar,"withoutSetter",function(et){return Dn(Et(et),et)}),be.f=Xt,Oe.f=mn,Me.f=ut,he.f=ce.f=mt,Ae.f=Tt,nn.f=function(et){return Dn(lt(et),et)},m&&(tr(Ln,"description",{configurable:!0,get:function(){return zt(this).description}}),_||He(ln,"propertyIsEnumerable",Xt,{unsafe:!0}))),e({global:!0,wrap:!0,forced:!b,sham:!b},{Symbol:ar}),It(ne($n),function(et){St(et)}),e({target:Ie,stat:!0,forced:!b},{for:function(et){var jt=ie(et);if(D(qn,jt))return qn[jt];var hn=ar(jt);return qn[jt]=hn,Sn[hn]=jt,hn},keyFor:function(et){if(!U(et))throw Rn(et+" is not a symbol");if(D(Sn,et))return Sn[et]},useSetter:function(){En=!0},useSimple:function(){En=!1}}),e({target:"Object",stat:!0,forced:!b,sham:!m},{create:function(et,jt){return void 0===jt?fe(et):jn(fe(et),jt)},defineProperty:mn,defineProperties:jn,getOwnPropertyDescriptor:ut}),e({target:"Object",stat:!0,forced:!b},{getOwnPropertyNames:mt,getOwnPropertySymbols:Tt}),e({target:"Object",stat:!0,forced:C(function(){Ae.f(1)})},{getOwnPropertySymbols:function(et){return Ae.f(I(et))}}),Mn&&e({target:"JSON",stat:!0,forced:!b||C(function(){var et=ar();return"[null]"!=Mn([et])||"{}"!=Mn({a:et})||"{}"!=Mn(Object(et))})},{stringify:function(et,jt,hn){var Qn=ue(arguments),Ir=jt;if((H(jt)||void 0!==et)&&!U(et))return x(jt)||(jt=function(ht,L){if(j(Ir)&&(L=u(Ir,this,ht,L)),!U(L))return L}),Qn[1]=jt,l(Mn,null,Qn)}}),!Ln[dt]){var yn=Ln.valueOf;He(Ln,dt,function(et){return u(yn,this)})}At(ar,Ie),je[ae]=!0},function(g,o,t){var e=t(27),s=t(44),a=t(61),l=t(219).indexOf,u=t(150),h=e([].push);g.exports=function(_,m){var b,C=a(_),D=0,x=[];for(b in C)!s(u,b)&&s(C,b)&&h(x,b);for(;m.length>D;)s(C,b=m[D++])&&(~l(x,b)||h(x,b));return x}},function(g,o,t){var e=t(58);g.exports=e("document","documentElement")},function(g,o,t){var e=t(112),s=t(61),a=t(174).f,l=t(86),u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];g.exports.f=function(h){return u&&"Window"==e(h)?function(_){try{return a(_)}catch(m){return l(u)}}(h):a(s(h))}},function(g,o,t){var e=t(17),s=t(41),a=t(217),l=e.WeakMap;g.exports=s(l)&&/native code/.test(a(l))},function(g,o,t){t(45)("iterator")},function(g,o,t){var e=t(48),s=t(44),a=Function.prototype,l=e&&Object.getOwnPropertyDescriptor,u=s(a,"name"),h=u&&"something"===function(){}.name,_=u&&(!e||e&&l(a,"name").configurable);g.exports={EXISTS:u,PROPER:h,CONFIGURABLE:_}},function(g,o,t){"use strict";var e=t(341).IteratorPrototype,s=t(98),a=t(94),l=t(100),u=t(130),h=function(){return this};g.exports=function(_,m,b){var C=m+" Iterator";return _.prototype=s(e,{next:a(1,b)}),l(_,C,!1,!0),u[C]=h,_}},function(g,o,t){"use strict";var e,s,a,l=t(33),u=t(41),h=t(98),_=t(175),m=t(99),b=t(38),C=t(96),D=b("iterator"),x=!1;[].keys&&("next"in(a=[].keys())?(s=_(_(a)))!==Object.prototype&&(e=s):x=!0),null==e||l(function(){var j={};return e[D].call(j)!==j})?e={}:C&&(e=h(e)),u(e[D])||m(e,D,function(){return this}),g.exports={IteratorPrototype:e,BUGGY_SAFARI_ITERATORS:x}},function(g,o,t){var e=t(33);g.exports=!e(function(){function s(){}return s.prototype.constructor=null,Object.getPrototypeOf(new s)!==s.prototype})},function(g,o,t){var e=t(27),s=t(129),a=t(67),l=t(113),u=e("".charAt),h=e("".charCodeAt),_=e("".slice),m=function(b){return function(C,D){var x,j,H=a(l(C)),z=s(D),U=H.length;return z<0||z>=U?b?"":void 0:(x=h(H,z))<55296||x>56319||z+1===U||(j=h(H,z+1))<56320||j>57343?b?u(H,z):x:b?_(H,z,z+2):j-56320+(x-55296<<10)+65536}};g.exports={codeAt:m(!1),charAt:m(!0)}},function(g,o,t){var e=t(522);g.exports=e},function(g,o,t){var e=t(525);g.exports=e},function(g,o){var t={}.toString;g.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},function(g,o,t){var e=t(533);g.exports=e},function(g,o,t){"use strict";var e=t(17),s=t(27),a=t(73),l=t(43),u=t(44),h=t(86),_=e.Function,m=s([].concat),b=s([].join),C={},D=function(x,j,H){if(!u(C,j)){for(var z=[],U=0;U<j;U++)z[U]="a["+U+"]";C[j]=_("C,a","return new C("+b(z,",")+")")}return C[j](x,H)};g.exports=_.bind||function(x){var j=a(this),H=j.prototype,z=h(arguments,1),U=function(){var M=m(z,h(arguments));return this instanceof U?D(j,M.length,M):j.apply(x,M)};return l(H)&&(U.prototype=H),U}},function(g,o,t){var e=t(539);g.exports=e},function(g,o,t){"use strict";var e=t(48),s=t(27),a=t(50),l=t(33),u=t(149),h=t(222),_=t(167),m=t(62),b=t(168),C=Object.assign,D=Object.defineProperty,x=s([].concat);g.exports=!C||l(function(){if(e&&1!==C({b:1},C(D({},"a",{enumerable:!0,get:function(){D(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var j={},H={},z=Symbol(),U="abcdefghijklmnopqrst";return j[z]=7,U.split("").forEach(function(M){H[M]=M}),7!=C({},j)[z]||u(C({},H)).join("")!=U})?function(j,H){for(var z=m(j),U=arguments.length,M=1,I=h.f,J=_.f;U>M;)for(var Y,ie=b(arguments[M++]),oe=I?x(u(ie),I(ie)):u(ie),fe=oe.length,ne=0;fe>ne;)Y=oe[ne++],e&&!a(J,ie,Y)||(z[Y]=ie[Y]);return z}:C},function(g,o,t){var e=t(541);g.exports=e},function(g,o,t){var e=t(544);g.exports=e},function(g,o,t){"use strict";var e=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function l(u){if(null==u)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(u)}g.exports=function(){try{if(!Object.assign)return!1;var u=new String("abc");if(u[5]="de","5"===Object.getOwnPropertyNames(u)[0])return!1;for(var h={},_=0;_<10;_++)h["_"+String.fromCharCode(_)]=_;if("0123456789"!==Object.getOwnPropertyNames(h).map(function(b){return h[b]}).join(""))return!1;var m={};return"abcdefghijklmnopqrst".split("").forEach(function(b){m[b]=b}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},m)).join("")}catch(b){return!1}}()?Object.assign:function(u,h){for(var _,m,b=l(u),C=1;C<arguments.length;C++){for(var D in _=Object(arguments[C]))s.call(_,D)&&(b[D]=_[D]);if(e){m=e(_);for(var x=0;x<m.length;x++)a.call(_,m[x])&&(b[m[x]]=_[m[x]])}}return b}},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.default=function(e){return e&&"@@redux/INIT"===e.type?"initialState argument passed to createStore":"previous state received by the reducer"},g.exports=o.default},function(g,o,t){(function(e){g.exports="object"==typeof e&&e&&e.Object===Object&&e}).call(this,t(57))},function(g,o){var t=Function.prototype.toString;g.exports=function(e){if(null!=e){try{return t.call(e)}catch(s){}try{return e+""}catch(s){}}return""}},function(g,o,t){var e=t(229),s=t(103);g.exports=function(a,l,u){(void 0!==u&&!s(a[l],u)||void 0===u&&!(l in a))&&e(a,l,u)}},function(g,o,t){var e=t(115),s=function(){try{var a=e(Object,"defineProperty");return a({},"",{}),a}catch(l){}}();g.exports=s},function(g,o,t){var e=t(589)();g.exports=e},function(g,o,t){(function(e){var s=t(69),a=o&&!o.nodeType&&o,l=a&&"object"==typeof e&&e&&!e.nodeType&&e,u=l&&l.exports===a?s.Buffer:void 0,h=u?u.allocUnsafe:void 0;e.exports=function(_,m){if(m)return _.slice();var b=_.length,C=h?h(b):new _.constructor(b);return _.copy(C),C}}).call(this,t(183)(g))},function(g,o,t){var e=t(230);g.exports=function(s,a){var l=a?e(s.buffer):s.buffer;return new s.constructor(l,s.byteOffset,s.length)}},function(g,o,t){var e=t(69).Uint8Array;g.exports=e},function(g,o){g.exports=function(t,e){var s=-1,a=t.length;for(e||(e=Array(a));++s<a;)e[s]=t[s];return e}},function(g,o,t){var e=t(591),s=t(231),a=t(184);g.exports=function(l){return"function"!=typeof l.constructor||a(l)?{}:e(s(l))}},function(g,o){g.exports=function(t,e){return function(s){return t(e(s))}}},function(g,o){g.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},function(g,o,t){var e=t(597),s=t(151),a=t(52),l=t(152),u=t(186),h=t(185),_=Object.prototype.hasOwnProperty;g.exports=function(m,b){var C=a(m),D=!C&&s(m),x=!C&&!D&&l(m),j=!C&&!D&&!x&&h(m),H=C||D||x||j,z=H?e(m.length,String):[],U=z.length;for(var M in m)!b&&!_.call(m,M)||H&&("length"==M||x&&("offset"==M||"parent"==M)||j&&("buffer"==M||"byteLength"==M||"byteOffset"==M)||u(M,U))||z.push(M);return z}},function(g,o,t){var e=t(602),s=Math.max;g.exports=function(a,l,u){return l=s(void 0===l?a.length-1:l,0),function(){for(var h=arguments,_=-1,m=s(h.length-l,0),b=Array(m);++_<m;)b[_]=h[l+_];_=-1;for(var C=Array(l+1);++_<l;)C[_]=h[_];return C[l]=u(b),e(a,this,C)}}},function(g,o,t){var e=t(603),s=t(605)(e);g.exports=s},function(g,o,t){var e=t(103),s=t(117),a=t(186),l=t(53);g.exports=function(u,h,_){if(!l(_))return!1;var m=typeof h;return!!("number"==m?s(_)&&a(h,_.length):"string"==m&&h in _)&&e(_[h],u)}},function(g,o){g.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var s=0,a=new Array(e);s<e;s++)a[s]=t[s];return a},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(166),s=t(238),a=t(373);g.exports=function(l){if(void 0!==e&&null!=s(l)||null!=l["@@iterator"])return a(l)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(611)},function(g,o,t){var e=t(612);g.exports=e},function(g,o,t){"use strict";var e=t(17),s=t(84),a=t(50),l=t(62),u=t(614),h=t(377),_=t(172),m=t(74),b=t(147),C=t(239),D=t(154),x=e.Array;g.exports=function(j){var H=l(j),z=_(this),U=arguments.length,M=U>1?arguments[1]:void 0,I=void 0!==M;I&&(M=s(M,U>2?arguments[2]:void 0));var J,Y,ie,oe,fe,ne,he=D(H),ce=0;if(!he||this==x&&h(he))for(J=m(H),Y=z?new this(J):x(J);J>ce;ce++)ne=I?M(H[ce],ce):H[ce],b(Y,ce,ne);else for(fe=(oe=C(H,he)).next,Y=z?new this:[];!(ie=a(fe,oe)).done;ce++)ne=I?u(oe,M,[ie.value,ce],!0):ie.value,b(Y,ce,ne);return Y.length=ce,Y}},function(g,o,t){var e=t(50),s=t(51),a=t(211);g.exports=function(l,u,h){var _,m;s(l);try{if(!(_=a(l,"return"))){if("throw"===u)throw h;return h}_=e(_,l)}catch(b){m=!0,_=b}if("throw"===u)throw h;if(m)throw _;return s(_),h}},function(g,o,t){var e=t(38),s=t(130),a=e("iterator"),l=Array.prototype;g.exports=function(u){return void 0!==u&&(s.Array===u||l[a]===u)}},function(g,o,t){var e=t(38)("iterator"),s=!1;try{var a=0,l={next:function(){return{done:!!a++}},return:function(){s=!0}};l[e]=function(){return this},Array.from(l,function(){throw 2})}catch(u){}g.exports=function(u,h){if(!h&&!s)return!1;var _=!1;try{var m={};m[e]=function(){return{next:function(){return{done:_=!0}}}},u(m)}catch(b){}return _}},function(g,o,t){var e=t(237);g.exports=function(s){if(e(s))return s},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){t(68);var e=t(75),s=t(44),a=t(35),l=t(622),u=Array.prototype,h={DOMTokenList:!0,NodeList:!0};g.exports=function(_){var m=_.forEach;return _===u||a(u,_)&&m===u.forEach||s(h,e(_))?l:m}},function(g,o,t){var e=t(86),s=Math.floor,a=function(h,_){var m=h.length,b=s(m/2);return m<8?l(h,_):u(h,a(e(h,0,b),_),a(e(h,b),_),_)},l=function(h,_){for(var m,b,C=h.length,D=1;D<C;){for(b=D,m=h[D];b&&_(h[b-1],m)>0;)h[b]=h[--b];b!==D++&&(h[b]=m)}return h},u=function(h,_,m,b){for(var C=_.length,D=m.length,x=0,j=0;x<C||j<D;)h[x+j]=x<C&&j<D?b(_[x],m[j])<=0?_[x++]:m[j++]:x<C?_[x++]:m[j++];return h};g.exports=a},function(g,o,t){var e=t(17),s=t(643),a=e.TypeError;g.exports=function(l){if(s(l))throw a("The method doesn't accept regular expressions");return l}},function(g,o,t){var e=t(38)("match");g.exports=function(s){var a=/./;try{"/./"[s](a)}catch(l){try{return a[e]=!1,"/./"[s](a)}catch(u){}}return!1}},function(g,o,t){var e=t(644);g.exports=e},function(g,o){g.exports="\t\n\v\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(g,o){g.exports=function(t,e){for(var s=-1,a=null==t?0:t.length,l=Array(a);++s<a;)l[s]=e(t[s],s,t);return l}},function(g,o){g.exports=function(t,e,s){var a=-1,l=t.length;e<0&&(e=-e>l?0:l+e),(s=s>l?l:s)<0&&(s+=l),l=e>s?0:s-e>>>0,e>>>=0;for(var u=Array(l);++a<l;)u[a]=t[a+e];return u}},function(g,o){var t=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");g.exports=function(e){return t.test(e)}},function(g,o){g.exports=function(t,e,s,a){var l=-1,u=null==t?0:t.length;for(a&&u&&(s=t[++l]);++l<u;)s=e(s,t[l],l,t);return s}},function(g,o,t){var e=t(679),s=t(78);g.exports=function a(l,u,h,_,m){return l===u||(null==l||null==u||!s(l)&&!s(u)?l!=l&&u!=u:e(l,u,h,_,a,m))}},function(g,o,t){var e=t(680),s=t(393),a=t(683);g.exports=function(l,u,h,_,m,b){var C=1&h,D=l.length,x=u.length;if(D!=x&&!(C&&x>D))return!1;var j=b.get(l),H=b.get(u);if(j&&H)return j==u&&H==l;var z=-1,U=!0,M=2&h?new e:void 0;for(b.set(l,u),b.set(u,l);++z<D;){var I=l[z],J=u[z];if(_)var Y=C?_(J,I,z,u,l,b):_(I,J,z,l,u,b);if(void 0!==Y){if(Y)continue;U=!1;break}if(M){if(!s(u,function(ie,oe){if(!a(M,oe)&&(I===ie||m(I,ie,h,_,b)))return M.push(oe)})){U=!1;break}}else if(I!==J&&!m(I,J,h,_,b)){U=!1;break}}return b.delete(l),b.delete(u),U}},function(g,o){g.exports=function(t,e){for(var s=-1,a=null==t?0:t.length;++s<a;)if(e(t[s],s,t))return!0;return!1}},function(g,o,t){var e=t(395),s=t(241),a=t(135);g.exports=function(l){return e(l,a,s)}},function(g,o,t){var e=t(240),s=t(52);g.exports=function(a,l,u){var h=l(a);return s(a)?h:e(h,u(a))}},function(g,o){g.exports=function(){return[]}},function(g,o,t){var e=t(184),s=t(689),a=Object.prototype.hasOwnProperty;g.exports=function(l){if(!e(l))return s(l);var u=[];for(var h in Object(l))a.call(l,h)&&"constructor"!=h&&u.push(h);return u}},function(g,o,t){var e=t(53);g.exports=function(s){return s==s&&!e(s)}},function(g,o){g.exports=function(t,e){return function(s){return null!=s&&s[t]===e&&(void 0!==e||t in Object(s))}}},function(g,o,t){var e=t(708),s=t(53),a=t(188),l=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,h=/^0o[0-7]+$/i,_=parseInt;g.exports=function(m){if("number"==typeof m)return m;if(a(m))return NaN;if(s(m)){var b="function"==typeof m.valueOf?m.valueOf():m;m=s(b)?b+"":b}if("string"!=typeof m)return 0===m?m:+m;m=e(m);var C=u.test(m);return C||h.test(m)?_(m.slice(2),C?2:8):l.test(m)?NaN:+m}},function(g,o,t){var e=t(711),s=t(712)(e);g.exports=s},function(g,o,t){"use strict";(function(e,s){var a=t(190);g.exports=I;var l,u=t(346);I.ReadableState=M,t(244);var h=function(F,je){return F.listeners(je).length},_=t(403),m=t(65).Buffer,b=e.Uint8Array||function(){},C=Object.create(t(157));C.inherits=t(64);var D=t(715),x=void 0;x=D&&D.debuglog?D.debuglog("stream"):function(){};var j,H=t(716),z=t(404);C.inherits(I,_);var U=["error","close","destroy","pause","resume"];function M(F,je){F=F||{};var Et=je instanceof(l=l||t(119));this.objectMode=!!F.objectMode,Et&&(this.objectMode=this.objectMode||!!F.readableObjectMode);var lt=F.highWaterMark,nn=F.readableHighWaterMark;this.highWaterMark=lt||0===lt?lt:Et&&(nn||0===nn)?nn:this.objectMode?16:16384,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new H,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=F.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,F.encoding&&(j||(j=t(406).StringDecoder),this.decoder=new j(F.encoding),this.encoding=F.encoding)}function I(F){if(l=l||t(119),!(this instanceof I))return new I(F);this._readableState=new M(F,this),this.readable=!0,F&&("function"==typeof F.read&&(this._read=F.read),"function"==typeof F.destroy&&(this._destroy=F.destroy)),_.call(this)}function J(F,je,Et,lt,nn){var St,Qe,It,ae,Ie,At=F._readableState;return null===je?(At.reading=!1,function(Qe,It){if(!It.ended){if(It.decoder){var ae=It.decoder.end();ae&&ae.length&&(It.buffer.push(ae),It.length+=It.objectMode?1:ae.length)}It.ended=!0,fe(Qe)}}(F,At)):(nn||(Qe=At,m.isBuffer(Ie=It=je)||Ie instanceof b||"string"==typeof It||void 0===It||Qe.objectMode||(ae=new TypeError("Invalid non-string/buffer chunk")),St=ae),St?F.emit("error",St):At.objectMode||je&&je.length>0?("string"==typeof je||At.objectMode||Object.getPrototypeOf(je)===m.prototype||(je=function(Qe){return m.from(Qe)}(je)),lt?At.endEmitted?F.emit("error",new Error("stream.unshift() after end event")):Y(F,At,je,!0):At.ended?F.emit("error",new Error("stream.push() after EOF")):(At.reading=!1,At.decoder&&!Et?(je=At.decoder.write(je),At.objectMode||0!==je.length?Y(F,At,je,!1):he(F,At)):Y(F,At,je,!1))):lt||(At.reading=!1)),function(Qe){return!Qe.ended&&(Qe.needReadable||Qe.length<Qe.highWaterMark||0===Qe.length)}(At)}function Y(F,je,Et,lt){je.flowing&&0===je.length&&!je.sync?(F.emit("data",Et),F.read(0)):(je.length+=je.objectMode?1:Et.length,lt?je.buffer.unshift(Et):je.buffer.push(Et),je.needReadable&&fe(F)),he(F,je)}function oe(F,je){return F<=0||0===je.length&&je.ended?0:je.objectMode?1:F!=F?je.flowing&&je.length?je.buffer.head.data.length:je.length:(F>je.highWaterMark&&(je.highWaterMark=((Et=F)>=8388608?Et=8388608:(Et--,Et|=Et>>>1,Et|=Et>>>2,Et|=Et>>>4,Et|=Et>>>8,Et|=Et>>>16,Et++),Et)),F<=je.length?F:je.ended?je.length:(je.needReadable=!0,0));var Et}function fe(F){var je=F._readableState;je.needReadable=!1,je.emittedReadable||(x("emitReadable",je.flowing),je.emittedReadable=!0,je.sync?a.nextTick(ne,F):ne(F))}function ne(F){x("emit readable"),F.emit("readable"),Oe(F)}function he(F,je){je.readingMore||(je.readingMore=!0,a.nextTick(ce,F,je))}function ce(F,je){for(var Et=je.length;!je.reading&&!je.flowing&&!je.ended&&je.length<je.highWaterMark&&(x("maybeReadMore read 0"),F.read(0),Et!==je.length);)Et=je.length;je.readingMore=!1}function Ae(F){x("readable nexttick read 0"),F.read(0)}function Me(F,je){je.reading||(x("resume read 0"),F.read(0)),je.resumeScheduled=!1,je.awaitDrain=0,F.emit("resume"),Oe(F),je.flowing&&!je.reading&&F.read(0)}function Oe(F){var je=F._readableState;for(x("flow",je.flowing);je.flowing&&null!==F.read(););}function be(F,je){return 0===je.length?null:(je.objectMode?Et=je.buffer.shift():!F||F>=je.length?(Et=je.decoder?je.buffer.join(""):1===je.buffer.length?je.buffer.head.data:je.buffer.concat(je.length),je.buffer.clear()):(St=je.decoder,(lt=F)<(nn=je.buffer).head.data.length?(At=nn.head.data.slice(0,lt),nn.head.data=nn.head.data.slice(lt)):At=lt===nn.head.data.length?nn.shift():St?function(Qe,It){var ae=It.head,Ie=1,dt=ae.data;for(Qe-=dt.length;ae=ae.next;){var Jt=ae.data,zt=Qe>Jt.length?Jt.length:Qe;if(dt+=zt===Jt.length?Jt:Jt.slice(0,Qe),0==(Qe-=zt)){zt===Jt.length?(++Ie,It.head=ae.next?ae.next:It.tail=null):(It.head=ae,ae.data=Jt.slice(zt));break}++Ie}return It.length-=Ie,dt}(lt,nn):function(Qe,It){var ae=m.allocUnsafe(Qe),Ie=It.head,dt=1;for(Ie.data.copy(ae),Qe-=Ie.data.length;Ie=Ie.next;){var Jt=Ie.data,zt=Qe>Jt.length?Jt.length:Qe;if(Jt.copy(ae,ae.length-Qe,0,zt),0==(Qe-=zt)){zt===Jt.length?(++dt,It.head=Ie.next?Ie.next:It.tail=null):(It.head=Ie,Ie.data=Jt.slice(zt));break}++dt}return It.length-=dt,ae}(lt,nn),Et=At),Et);var lt,nn,St,At,Et}function ue(F){var je=F._readableState;if(je.length>0)throw new Error('"endReadable()" called on non-empty stream');je.endEmitted||(je.ended=!0,a.nextTick(He,je,F))}function He(F,je){F.endEmitted||0!==F.length||(F.endEmitted=!0,je.readable=!1,je.emit("end"))}function $e(F,je){for(var Et=0,lt=F.length;Et<lt;Et++)if(F[Et]===je)return Et;return-1}Object.defineProperty(I.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(F){this._readableState&&(this._readableState.destroyed=F)}}),I.prototype.destroy=z.destroy,I.prototype._undestroy=z.undestroy,I.prototype._destroy=function(F,je){this.push(null),je(F)},I.prototype.push=function(F,je){var Et,lt=this._readableState;return lt.objectMode?Et=!0:"string"==typeof F&&((je=je||lt.defaultEncoding)!==lt.encoding&&(F=m.from(F,je),je=""),Et=!0),J(this,F,je,!1,Et)},I.prototype.unshift=function(F){return J(this,F,null,!0,!1)},I.prototype.isPaused=function(){return!1===this._readableState.flowing},I.prototype.setEncoding=function(F){return j||(j=t(406).StringDecoder),this._readableState.decoder=new j(F),this._readableState.encoding=F,this},I.prototype.read=function(F){x("read",F),F=parseInt(F,10);var je=this._readableState,Et=F;if(0!==F&&(je.emittedReadable=!1),0===F&&je.needReadable&&(je.length>=je.highWaterMark||je.ended))return x("read: emitReadable",je.length,je.ended),0===je.length&&je.ended?ue(this):fe(this),null;if(0===(F=oe(F,je))&&je.ended)return 0===je.length&&ue(this),null;var lt,nn=je.needReadable;return x("need readable",nn),(0===je.length||je.length-F<je.highWaterMark)&&x("length less than watermark",nn=!0),je.ended||je.reading?x("reading or ended",nn=!1):nn&&(x("do read"),je.reading=!0,je.sync=!0,0===je.length&&(je.needReadable=!0),this._read(je.highWaterMark),je.sync=!1,je.reading||(F=oe(Et,je))),null===(lt=F>0?be(F,je):null)?(je.needReadable=!0,F=0):je.length-=F,0===je.length&&(je.ended||(je.needReadable=!0),Et!==F&&je.ended&&ue(this)),null!==lt&&this.emit("data",lt),lt},I.prototype._read=function(F){this.emit("error",new Error("_read() is not implemented"))},I.prototype.pipe=function(F,je){var Et=this,lt=this._readableState;switch(lt.pipesCount){case 0:lt.pipes=F;break;case 1:lt.pipes=[lt.pipes,F];break;default:lt.pipes.push(F)}lt.pipesCount+=1,x("pipe count=%d opts=%j",lt.pipesCount,je);var nn=je&&!1===je.end||F===s.stdout||F===s.stderr?ln:At;function At(){x("onend"),F.end()}lt.endEmitted?a.nextTick(nn):Et.once("end",nn),F.on("unpipe",function St(ar,Ln){x("onunpipe"),ar===Et&&Ln&&!1===Ln.hasUnpiped&&(Ln.hasUnpiped=!0,x("cleanup"),F.removeListener("close",Jt),F.removeListener("finish",zt),F.removeListener("drain",Qe),F.removeListener("error",dt),F.removeListener("unpipe",St),Et.removeListener("end",At),Et.removeListener("end",ln),Et.removeListener("data",Ie),It=!0,!lt.awaitDrain||F._writableState&&!F._writableState.needDrain||Qe())});var ar,Qe=(ar=Et,function(){var Ln=ar._readableState;x("pipeOnDrain",Ln.awaitDrain),Ln.awaitDrain&&Ln.awaitDrain--,0===Ln.awaitDrain&&h(ar,"data")&&(Ln.flowing=!0,Oe(ar))});F.on("drain",Qe);var It=!1,ae=!1;function Ie(ar){x("ondata"),ae=!1,!1!==F.write(ar)||ae||((1===lt.pipesCount&<.pipes===F||lt.pipesCount>1&&-1!==$e(lt.pipes,F))&&!It&&(x("false write response, pause",Et._readableState.awaitDrain),Et._readableState.awaitDrain++,ae=!0),Et.pause())}function dt(ar){x("onerror",ar),ln(),F.removeListener("error",dt),0===h(F,"error")&&F.emit("error",ar)}function Jt(){F.removeListener("finish",zt),ln()}function zt(){x("onfinish"),F.removeListener("close",Jt),ln()}function ln(){x("unpipe"),Et.unpipe(F)}return Et.on("data",Ie),function(ar,Ln,Rn){if("function"==typeof ar.prependListener)return ar.prependListener(Ln,Rn);ar._events&&ar._events[Ln]?u(ar._events[Ln])?ar._events[Ln].unshift(Rn):ar._events[Ln]=[Rn,ar._events[Ln]]:ar.on(Ln,Rn)}(F,"error",dt),F.once("close",Jt),F.once("finish",zt),F.emit("pipe",Et),lt.flowing||(x("pipe resume"),Et.resume()),F},I.prototype.unpipe=function(F){var je=this._readableState,Et={hasUnpiped:!1};if(0===je.pipesCount)return this;if(1===je.pipesCount)return F&&F!==je.pipes||(F||(F=je.pipes),je.pipes=null,je.pipesCount=0,je.flowing=!1,F&&F.emit("unpipe",this,Et)),this;if(!F){var lt=je.pipes,nn=je.pipesCount;je.pipes=null,je.pipesCount=0,je.flowing=!1;for(var St=0;St<nn;St++)lt[St].emit("unpipe",this,Et);return this}var At=$e(je.pipes,F);return-1===At||(je.pipes.splice(At,1),je.pipesCount-=1,1===je.pipesCount&&(je.pipes=je.pipes[0]),F.emit("unpipe",this,Et)),this},I.prototype.addListener=I.prototype.on=function(F,je){var Et=_.prototype.on.call(this,F,je);if("data"===F)!1!==this._readableState.flowing&&this.resume();else if("readable"===F){var lt=this._readableState;lt.endEmitted||lt.readableListening||(lt.readableListening=lt.needReadable=!0,lt.emittedReadable=!1,lt.reading?lt.length&&fe(this):a.nextTick(Ae,this))}return Et},I.prototype.resume=function(){var Et,F=this._readableState;return F.flowing||(x("resume"),F.flowing=!0,this,(Et=F).resumeScheduled||(Et.resumeScheduled=!0,a.nextTick(Me,this,Et))),this},I.prototype.pause=function(){return x("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(x("pause"),this._readableState.flowing=!1,this.emit("pause")),this},I.prototype.wrap=function(F){var je=this,Et=this._readableState,lt=!1;for(var nn in F.on("end",function(){if(x("wrapped end"),Et.decoder&&!Et.ended){var At=Et.decoder.end();At&&At.length&&je.push(At)}je.push(null)}),F.on("data",function(At){x("wrapped data"),Et.decoder&&(At=Et.decoder.write(At)),Et.objectMode&&null==At||(Et.objectMode||At&&At.length)&&(je.push(At)||(lt=!0,F.pause()))}),F)void 0===this[nn]&&"function"==typeof F[nn]&&(this[nn]=function(At){return function(){return F[At].apply(F,arguments)}}(nn));for(var St=0;St<U.length;St++)F.on(U[St],this.emit.bind(this,U[St]));return this._read=function(At){x("wrapped _read",At),lt&&(lt=!1,F.resume())},this},Object.defineProperty(I.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),I._fromList=be}).call(this,t(57),t(118))},function(g,o,t){g.exports=t(244).EventEmitter},function(g,o,t){"use strict";var e=t(190);function s(a,l){a.emit("error",l)}g.exports={destroy:function(a,l){var u=this;return this._readableState&&this._readableState.destroyed||this._writableState&&this._writableState.destroyed?(l?l(a):!a||this._writableState&&this._writableState.errorEmitted||e.nextTick(s,this,a),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(a||null,function(m){!l&&m?(e.nextTick(s,u,m),u._writableState&&(u._writableState.errorEmitted=!0)):l&&l(m)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(g,o,t){(function(e){var s=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function l(u,h){this._id=u,this._clearFn=h}o.setTimeout=function(){return new l(a.call(setTimeout,s,arguments),clearTimeout)},o.setInterval=function(){return new l(a.call(setInterval,s,arguments),clearInterval)},o.clearTimeout=o.clearInterval=function(u){u&&u.close()},l.prototype.unref=l.prototype.ref=function(){},l.prototype.close=function(){this._clearFn.call(s,this._id)},o.enroll=function(u,h){clearTimeout(u._idleTimeoutId),u._idleTimeout=h},o.unenroll=function(u){clearTimeout(u._idleTimeoutId),u._idleTimeout=-1},o._unrefActive=o.active=function(u){clearTimeout(u._idleTimeoutId);var h=u._idleTimeout;h>=0&&(u._idleTimeoutId=setTimeout(function(){u._onTimeout&&u._onTimeout()},h))},t(718),o.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,o.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,t(57))},function(g,o,t){"use strict";var e=t(65).Buffer,s=e.isEncoding||function(x){switch((x=""+x)&&x.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(x){var j;switch(this.encoding=function(H){var z=function(U){if(!U)return"utf8";for(var M;;)switch(U){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return U;default:if(M)return;U=(""+U).toLowerCase(),M=!0}}(H);if("string"!=typeof z&&(e.isEncoding===s||!s(H)))throw new Error("Unknown encoding: "+H);return z||H}(x),this.encoding){case"utf16le":this.text=h,this.end=_,j=4;break;case"utf8":this.fillLast=u,j=4;break;case"base64":this.text=m,this.end=b,j=3;break;default:return this.write=C,void(this.end=D)}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(j)}function l(x){return x<=127?0:x>>5==6?2:x>>4==14?3:x>>3==30?4:x>>6==2?-1:-2}function u(x){var j=this.lastTotal-this.lastNeed,H=function(z,U,M){if(128!=(192&U[0]))return z.lastNeed=0,"\ufffd";if(z.lastNeed>1&&U.length>1){if(128!=(192&U[1]))return z.lastNeed=1,"\ufffd";if(z.lastNeed>2&&U.length>2&&128!=(192&U[2]))return z.lastNeed=2,"\ufffd"}}(this,x);return void 0!==H?H:this.lastNeed<=x.length?(x.copy(this.lastChar,j,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(x.copy(this.lastChar,j,0,x.length),void(this.lastNeed-=x.length))}function h(x,j){if((x.length-j)%2==0){var H=x.toString("utf16le",j);if(H){var z=H.charCodeAt(H.length-1);if(z>=55296&&z<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=x[x.length-2],this.lastChar[1]=x[x.length-1],H.slice(0,-1)}return H}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=x[x.length-1],x.toString("utf16le",j,x.length-1)}function _(x){var j=x&&x.length?this.write(x):"";return this.lastNeed?j+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):j}function m(x,j){var H=(x.length-j)%3;return 0===H?x.toString("base64",j):(this.lastNeed=3-H,this.lastTotal=3,1===H?this.lastChar[0]=x[x.length-1]:(this.lastChar[0]=x[x.length-2],this.lastChar[1]=x[x.length-1]),x.toString("base64",j,x.length-H))}function b(x){var j=x&&x.length?this.write(x):"";return this.lastNeed?j+this.lastChar.toString("base64",0,3-this.lastNeed):j}function C(x){return x.toString(this.encoding)}function D(x){return x&&x.length?this.write(x):""}o.StringDecoder=a,a.prototype.write=function(x){if(0===x.length)return"";var j,H;if(this.lastNeed){if(void 0===(j=this.fillLast(x)))return"";H=this.lastNeed,this.lastNeed=0}else H=0;return H<x.length?j?j+this.text(x,H):this.text(x,H):j||""},a.prototype.end=function(x){var j=x&&x.length?this.write(x):"";return this.lastNeed?j+"\ufffd":j},a.prototype.text=function(x,j){var H=function(U,M,I){var J=M.length-1;if(J<I)return 0;var Y=l(M[J]);return Y>=0?(Y>0&&(U.lastNeed=Y-1),Y):--J<I||-2===Y?0:(Y=l(M[J]))>=0?(Y>0&&(U.lastNeed=Y-2),Y):--J<I||-2===Y?0:(Y=l(M[J]))>=0?(Y>0&&(2===Y?Y=0:U.lastNeed=Y-3),Y):0}(this,x,j);if(!this.lastNeed)return x.toString("utf8",j);this.lastTotal=H;var z=x.length-(H-this.lastNeed);return x.copy(this.lastChar,0,z),x.toString("utf8",j,z)},a.prototype.fillLast=function(x){if(this.lastNeed<=x.length)return x.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);x.copy(this.lastChar,this.lastTotal-this.lastNeed,0,x.length),this.lastNeed-=x.length}},function(g,o,t){"use strict";g.exports=l;var e=t(119),s=Object.create(t(157));function a(_,m){var b=this._transformState;b.transforming=!1;var C=b.writecb;if(!C)return this.emit("error",new Error("write callback called multiple times"));b.writechunk=null,b.writecb=null,null!=m&&this.push(m),C(_);var D=this._readableState;D.reading=!1,(D.needReadable||D.length<D.highWaterMark)&&this._read(D.highWaterMark)}function l(_){if(!(this instanceof l))return new l(_);e.call(this,_),this._transformState={afterTransform:a.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,_&&("function"==typeof _.transform&&(this._transform=_.transform),"function"==typeof _.flush&&(this._flush=_.flush)),this.on("prefinish",u)}function u(){var _=this;"function"==typeof this._flush?this._flush(function(m,b){h(_,m,b)}):h(this,null,null)}function h(_,m,b){if(m)return _.emit("error",m);if(null!=b&&_.push(b),_._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(_._transformState.transforming)throw new Error("Calling transform done when still transforming");return _.push(null)}s.inherits=t(64),s.inherits(l,e),l.prototype.push=function(_,m){return this._transformState.needTransform=!1,e.prototype.push.call(this,_,m)},l.prototype._transform=function(_,m,b){throw new Error("_transform() is not implemented")},l.prototype._write=function(_,m,b){var C=this._transformState;if(C.writecb=b,C.writechunk=_,C.writeencoding=m,!C.transforming){var D=this._readableState;(C.needTransform||D.needReadable||D.length<D.highWaterMark)&&this._read(D.highWaterMark)}},l.prototype._read=function(_){var m=this._transformState;null!==m.writechunk&&m.writecb&&!m.transforming?(m.transforming=!0,this._transform(m.writechunk,m.writeencoding,m.afterTransform)):m.needTransform=!0},l.prototype._destroy=function(_,m){var b=this;e.prototype._destroy.call(this,_,function(C){m(C),b.emit("close")})}},function(g,o,t){"use strict";var e=t(120),s=Array.prototype.forEach,a=Object.create,l=function(u,h){var _;for(_ in u)h[_]=u[_]};g.exports=function(u){var h=a(null);return s.call(arguments,function(_){e(_)&&l(Object(_),h)}),h}},function(g,o,t){"use strict";var e=t(121);g.exports=function(s,a,l){var u;return isNaN(s)?(u=a)>=0?l&&u?u-1:u:1:!1!==s&&e(s)}},function(g,o,t){"use strict";g.exports=t(734)()?Object.assign:t(735)},function(g,o,t){"use strict";var e,s,a,l,u,h=t(121),_=function(m,b){return b};try{Object.defineProperty(_,"length",{configurable:!0,writable:!1,enumerable:!1,value:1})}catch(m){}1===_.length?(e={configurable:!0,writable:!1,enumerable:!1},s=Object.defineProperty,g.exports=function(m,b){return b=h(b),m.length===b?m:(e.value=b,s(m,"length",e))}):(l=t(412),u=[],a=function(m){var b,C=0;if(u[m])return u[m];for(b=[];m--;)b.push("a"+(++C).toString(36));return new Function("fn","return function ("+b.join(", ")+") { return fn.apply(this, arguments); };")},g.exports=function(m,b){var C;if(b=h(b),m.length===b)return m;C=a(b)(m);try{l(C,m)}catch(D){}return C})},function(g,o,t){"use strict";var e=t(137),s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols;g.exports=function(h,_){var m,b=Object(e(_));if(h=Object(e(h)),l(b).forEach(function(C){try{s(h,C,a(_,C))}catch(D){m=D}}),"function"==typeof u&&u(b).forEach(function(C){try{s(h,C,a(_,C))}catch(D){m=D}}),void 0!==m)throw m;return h}},function(g,o,t){"use strict";g.exports=function(e){return null!=e}},function(g,o,t){"use strict";var e=t(757);g.exports=function(s){if(!e(s))throw new TypeError(s+" is not a symbol");return s}},function(g,o,t){"use strict";var e=t(101),s=t(191),a=Function.prototype.call;g.exports=function(l,u){var h={},_=arguments[2];return e(u),s(l,function(m,b,C,D){h[b]=a.call(u,_,m,b,C,D)}),h}},function(g,o,t){"use strict";g.exports=function(e){return"function"==typeof e}},function(g,o){function t(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}g.exports=t,g.exports.default=t},function(g,o,t){var e=t(64),s=t(138),a=t(65).Buffer,l=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],u=new Array(64);function h(){this.init(),this._w=u,s.call(this,64,56)}function _(x,j,H){return H^x&(j^H)}function m(x,j,H){return x&j|H&(x|j)}function b(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10)}function C(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7)}function D(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3}e(h,s),h.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},h.prototype._update=function(x){for(var j,H=this._w,z=0|this._a,U=0|this._b,M=0|this._c,I=0|this._d,J=0|this._e,Y=0|this._f,ie=0|this._g,oe=0|this._h,fe=0;fe<16;++fe)H[fe]=x.readInt32BE(4*fe);for(;fe<64;++fe)H[fe]=0|(((j=H[fe-2])>>>17|j<<15)^(j>>>19|j<<13)^j>>>10)+H[fe-7]+D(H[fe-15])+H[fe-16];for(var ne=0;ne<64;++ne){var he=oe+C(J)+_(J,Y,ie)+l[ne]+H[ne]|0,ce=b(z)+m(z,U,M)|0;oe=ie,ie=Y,Y=J,J=I+he|0,I=M,M=U,U=z,z=he+ce|0}this._a=z+this._a|0,this._b=U+this._b|0,this._c=M+this._c|0,this._d=I+this._d|0,this._e=J+this._e|0,this._f=Y+this._f|0,this._g=ie+this._g|0,this._h=oe+this._h|0},h.prototype._hash=function(){var x=a.allocUnsafe(32);return x.writeInt32BE(this._a,0),x.writeInt32BE(this._b,4),x.writeInt32BE(this._c,8),x.writeInt32BE(this._d,12),x.writeInt32BE(this._e,16),x.writeInt32BE(this._f,20),x.writeInt32BE(this._g,24),x.writeInt32BE(this._h,28),x},g.exports=h},function(g,o,t){var e=t(64),s=t(138),a=t(65).Buffer,l=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],u=new Array(160);function h(){this.init(),this._w=u,s.call(this,128,112)}function _(U,M,I){return I^U&(M^I)}function m(U,M,I){return U&M|I&(U|M)}function b(U,M){return(U>>>28|M<<4)^(M>>>2|U<<30)^(M>>>7|U<<25)}function C(U,M){return(U>>>14|M<<18)^(U>>>18|M<<14)^(M>>>9|U<<23)}function D(U,M){return(U>>>1|M<<31)^(U>>>8|M<<24)^U>>>7}function x(U,M){return(U>>>1|M<<31)^(U>>>8|M<<24)^(U>>>7|M<<25)}function j(U,M){return(U>>>19|M<<13)^(M>>>29|U<<3)^U>>>6}function H(U,M){return(U>>>19|M<<13)^(M>>>29|U<<3)^(U>>>6|M<<26)}function z(U,M){return U>>>0<M>>>0?1:0}e(h,s),h.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},h.prototype._update=function(U){for(var M=this._w,I=0|this._ah,J=0|this._bh,Y=0|this._ch,ie=0|this._dh,oe=0|this._eh,fe=0|this._fh,ne=0|this._gh,he=0|this._hh,ce=0|this._al,Ae=0|this._bl,Me=0|this._cl,Oe=0|this._dl,be=0|this._el,ue=0|this._fl,He=0|this._gl,$e=0|this._hl,F=0;F<32;F+=2)M[F]=U.readInt32BE(4*F),M[F+1]=U.readInt32BE(4*F+4);for(;F<160;F+=2){var je=M[F-30],Et=M[F-30+1],lt=D(je,Et),nn=x(Et,je),St=j(je=M[F-4],Et=M[F-4+1]),At=H(Et,je),ae=M[F-32],Ie=M[F-32+1],dt=nn+M[F-14+1]|0,Jt=lt+M[F-14]+z(dt,nn)|0;Jt=(Jt=Jt+St+z(dt=dt+At|0,At)|0)+ae+z(dt=dt+Ie|0,Ie)|0,M[F]=Jt,M[F+1]=dt}for(var zt=0;zt<160;zt+=2){Jt=M[zt],dt=M[zt+1];var ln=m(I,J,Y),ar=m(ce,Ae,Me),Ln=b(I,ce),Rn=b(ce,I),er=C(oe,be),Mn=C(be,oe),Ht=l[zt],tr=l[zt+1],Yn=_(oe,fe,ne),Cn=_(be,ue,He),Kt=$e+Mn|0,dn=he+er+z(Kt,$e)|0;dn=(dn=(dn=dn+Yn+z(Kt=Kt+Cn|0,Cn)|0)+Ht+z(Kt=Kt+tr|0,tr)|0)+Jt+z(Kt=Kt+dt|0,dt)|0;var Kn=Rn+ar|0,qn=Ln+ln+z(Kn,Rn)|0;he=ne,$e=He,ne=fe,He=ue,fe=oe,ue=be,oe=ie+dn+z(be=Oe+Kt|0,Oe)|0,ie=Y,Oe=Me,Y=J,Me=Ae,J=I,Ae=ce,I=dn+qn+z(ce=Kt+Kn|0,Kt)|0}this._al=this._al+ce|0,this._bl=this._bl+Ae|0,this._cl=this._cl+Me|0,this._dl=this._dl+Oe|0,this._el=this._el+be|0,this._fl=this._fl+ue|0,this._gl=this._gl+He|0,this._hl=this._hl+$e|0,this._ah=this._ah+I+z(this._al,ce)|0,this._bh=this._bh+J+z(this._bl,Ae)|0,this._ch=this._ch+Y+z(this._cl,Me)|0,this._dh=this._dh+ie+z(this._dl,Oe)|0,this._eh=this._eh+oe+z(this._el,be)|0,this._fh=this._fh+fe+z(this._fl,ue)|0,this._gh=this._gh+ne+z(this._gl,He)|0,this._hh=this._hh+he+z(this._hl,$e)|0},h.prototype._hash=function(){var U=a.allocUnsafe(64);function M(I,J,Y){U.writeInt32BE(I,Y),U.writeInt32BE(J,Y+4)}return M(this._ah,this._al,0),M(this._bh,this._bl,8),M(this._ch,this._cl,16),M(this._dh,this._dl,24),M(this._eh,this._el,32),M(this._fh,this._fl,40),M(this._gh,this._gl,48),M(this._hh,this._hl,56),U},g.exports=h},function(g,o,t){g.exports=t(796)},function(g,o,t){g.exports=t(797)},function(g,o,t){var e=t(58),s=t(27),a=t(174),l=t(222),u=t(51),h=s([].concat);g.exports=e("Reflect","ownKeys")||function(_){var m=a.f(u(_)),b=l.f;return b?h(m,b(_)):m}},function(g,o,t){g.exports=t(819)},function(g,o,t){var e=t(823);t(68),g.exports=e},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(35),l=t(175),u=t(176),h=t(824),_=t(98),m=t(85),b=t(94),C=t(825),D=t(826),x=t(124),j=t(827),H=t(38),z=t(828),U=H("toStringTag"),M=s.Error,I=[].push,J=function(ie,oe){var fe,ne=arguments.length>2?arguments[2]:void 0,he=a(Y,this);u?fe=u(new M(void 0),he?l(this):Y):(fe=he?this:_(Y),m(fe,U,"Error")),m(fe,"message",j(oe,"")),z&&m(fe,"stack",C(fe.stack,1)),D(fe,ne);var ce=[];return x(ie,I,{that:ce}),m(fe,"errors",ce),fe};u?u(J,M):h(J,M);var Y=J.prototype=_(M.prototype,{constructor:b(1,J),message:b(1,""),name:b(1,"AggregateError")});e({global:!0},{AggregateError:J})},function(g,o,t){var e=t(17);g.exports=e.Promise},function(g,o,t){"use strict";var e=t(58),s=t(63),a=t(38),l=t(48),u=a("species");g.exports=function(h){var _=e(h);l&&_&&!_[u]&&(0,s.f)(_,u,{configurable:!0,get:function(){return this}})}},function(g,o,t){var e=t(51),s=t(429),a=t(38)("species");g.exports=function(l,u){var h,_=e(l).constructor;return void 0===_||null==(h=e(_)[a])?u:s(h)}},function(g,o,t){var e=t(17),s=t(172),a=t(170),l=e.TypeError;g.exports=function(u){if(s(u))return u;throw l(a(u)+" is not a constructor")}},function(g,o,t){var e,s,a,l,u=t(17),h=t(93),_=t(84),m=t(41),b=t(44),C=t(33),D=t(335),x=t(86),j=t(214),H=t(431),z=t(177),U=u.setImmediate,M=u.clearImmediate,I=u.process,J=u.Dispatch,Y=u.Function,ie=u.MessageChannel,oe=u.String,fe=0,ne={};try{e=u.location}catch(be){}var ce=function(be){if(b(ne,be)){var ue=ne[be];delete ne[be],ue()}},Ae=function(be){return function(){ce(be)}},Me=function(be){ce(be.data)},Oe=function(be){u.postMessage(oe(be),e.protocol+"//"+e.host)};U&&M||(U=function(be){var ue=x(arguments,1);return ne[++fe]=function(){h(m(be)?be:Y(be),void 0,ue)},s(fe),fe},M=function(be){delete ne[be]},z?s=function(be){I.nextTick(Ae(be))}:J&&J.now?s=function(be){J.now(Ae(be))}:ie&&!H?(l=(a=new ie).port2,a.port1.onmessage=Me,s=_(l.postMessage,l)):u.addEventListener&&m(u.postMessage)&&!u.importScripts&&e&&"file:"!==e.protocol&&!C(Oe)?(s=Oe,u.addEventListener("message",Me,!1)):s="onreadystatechange"in j("script")?function(be){D.appendChild(j("script")).onreadystatechange=function(){D.removeChild(this),ce(be)}}:function(be){setTimeout(Ae(be),0)}),g.exports={set:U,clear:M}},function(g,o,t){var e=t(95);g.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(e)},function(g,o,t){var e=t(51),s=t(43),a=t(159);g.exports=function(l,u){if(e(l),s(u)&&u.constructor===l)return u;var h=a.f(l);return(0,h.resolve)(u),h.promise}},function(g,o,t){"use strict";var e=t(22),s=t(50),a=t(73),l=t(159),u=t(193),h=t(124);e({target:"Promise",stat:!0},{allSettled:function(_){var m=this,b=l.f(m),C=b.resolve,D=b.reject,x=u(function(){var j=a(m.resolve),H=[],z=0,U=1;h(_,function(M){var I=z++,J=!1;U++,s(j,m,M).then(function(Y){J||(J=!0,H[I]={status:"fulfilled",value:Y},--U||C(H))},function(Y){J||(J=!0,H[I]={status:"rejected",reason:Y},--U||C(H))})}),--U||C(H)});return x.error&&D(x.value),b.promise}})},function(g,o,t){"use strict";var e=t(22),s=t(73),a=t(58),l=t(50),u=t(159),h=t(193),_=t(124),m="No one promise resolved";e({target:"Promise",stat:!0},{any:function(b){var C=this,D=a("AggregateError"),x=u.f(C),j=x.resolve,H=x.reject,z=h(function(){var U=s(C.resolve),M=[],I=0,J=1,Y=!1;_(b,function(ie){var oe=I++,fe=!1;J++,l(U,C,ie).then(function(ne){fe||Y||(Y=!0,j(ne))},function(ne){fe||Y||(fe=!0,M[oe]=ne,--J||H(new D(M,m)))})}),--J||H(new D(M,m))});return z.error&&H(z.value),x.promise}})},function(g,o,t){var e=t(48),s=t(27),a=t(149),l=t(61),u=s(t(167).f),h=s([].push),_=function(m){return function(b){for(var C,D=l(b),x=a(D),j=x.length,H=0,z=[];j>H;)C=x[H++],e&&!u(D,C)||h(z,m?[C,D[C]]:D[C]);return z}};g.exports={entries:_(!0),values:_(!1)}},function(g,o,t){g.exports=t(859)},function(g,o,t){g.exports=t(863)},function(g,o,t){var e=t(178),s=t(881),a=t(235),l=t(882),u=t(883),h=t(360),_=t(363),m=t(884),b=t(885),C=t(394),D=t(440),x=t(155),j=t(886),H=t(887),z=t(364),U=t(52),M=t(152),I=t(891),J=t(53),Y=t(893),ie=t(135),oe=t(153),fe="[object Arguments]",ne="[object Function]",he="[object Object]",ce={};ce[fe]=ce["[object Array]"]=ce["[object ArrayBuffer]"]=ce["[object DataView]"]=ce["[object Boolean]"]=ce["[object Date]"]=ce["[object Float32Array]"]=ce["[object Float64Array]"]=ce["[object Int8Array]"]=ce["[object Int16Array]"]=ce["[object Int32Array]"]=ce["[object Map]"]=ce["[object Number]"]=ce[he]=ce["[object RegExp]"]=ce["[object Set]"]=ce["[object String]"]=ce["[object Symbol]"]=ce["[object Uint8Array]"]=ce["[object Uint8ClampedArray]"]=ce["[object Uint16Array]"]=ce["[object Uint32Array]"]=!0,ce["[object Error]"]=ce[ne]=ce["[object WeakMap]"]=!1,g.exports=function Ae(Me,Oe,be,ue,He,$e){var F,je=1&Oe,Et=2&Oe,lt=4&Oe;if(be&&(F=He?be(Me,ue,He,$e):be(Me)),void 0!==F)return F;if(!J(Me))return Me;var nn=U(Me);if(nn){if(F=j(Me),!je)return _(Me,F)}else{var St=x(Me),At=St==ne||"[object GeneratorFunction]"==St;if(M(Me))return h(Me,je);if(St==he||St==fe||At&&!He){if(F=Et||At?{}:z(Me),!je)return Et?b(Me,u(F,Me)):m(Me,l(F,Me))}else{if(!ce[St])return He?Me:{};F=H(Me,St,je)}}$e||($e=new e);var Qe=$e.get(Me);if(Qe)return Qe;$e.set(Me,F),Y(Me)?Me.forEach(function(ae){F.add(Ae(ae,Oe,be,ae,Me,$e))}):I(Me)&&Me.forEach(function(ae,Ie){F.set(Ie,Ae(ae,Oe,be,Ie,Me,$e))});var It=nn?void 0:(lt?Et?D:C:Et?oe:ie)(Me);return s(It||Me,function(ae,Ie){It&&(ae=Me[Ie=ae]),a(F,Ie,Ae(ae,Oe,be,Ie,Me,$e))}),F}},function(g,o,t){var e=t(240),s=t(231),a=t(241),l=t(396);g.exports=Object.getOwnPropertySymbols?function(h){for(var _=[];h;)e(_,a(h)),h=s(h);return _}:l},function(g,o,t){var e=t(395),s=t(439),a=t(153);g.exports=function(l){return e(l,a,s)}},function(g,o){g.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var s=0,a=new Array(e);s<e;s++)a[s]=t[s];return a},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){var t;t="undefined"!=typeof self?self:this,function(e){var s="URLSearchParams"in t,a="Symbol"in t&&"iterator"in Symbol,l="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(ne){return!1}}(),u="FormData"in t,h="ArrayBuffer"in t;if(h)var _=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],m=ArrayBuffer.isView||function(ne){return ne&&_.indexOf(Object.prototype.toString.call(ne))>-1};function b(ne){if("string"!=typeof ne&&(ne=String(ne)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(ne))throw new TypeError("Invalid character in header field name");return ne.toLowerCase()}function C(ne){return"string"!=typeof ne&&(ne=String(ne)),ne}function D(ne){var he={next:function(){var ce=ne.shift();return{done:void 0===ce,value:ce}}};return a&&(he[Symbol.iterator]=function(){return he}),he}function x(ne){this.map={},ne instanceof x?ne.forEach(function(he,ce){this.append(ce,he)},this):Array.isArray(ne)?ne.forEach(function(he){this.append(he[0],he[1])},this):ne&&Object.getOwnPropertyNames(ne).forEach(function(he){this.append(he,ne[he])},this)}function j(ne){if(ne.bodyUsed)return Promise.reject(new TypeError("Already read"));ne.bodyUsed=!0}function H(ne){return new Promise(function(he,ce){ne.onload=function(){he(ne.result)},ne.onerror=function(){ce(ne.error)}})}function z(ne){var he=new FileReader,ce=H(he);return he.readAsArrayBuffer(ne),ce}function U(ne){if(ne.slice)return ne.slice(0);var he=new Uint8Array(ne.byteLength);return he.set(new Uint8Array(ne)),he.buffer}function M(){return this.bodyUsed=!1,this._initBody=function(ne){var he;this._bodyInit=ne,ne?"string"==typeof ne?this._bodyText=ne:l&&Blob.prototype.isPrototypeOf(ne)?this._bodyBlob=ne:u&&FormData.prototype.isPrototypeOf(ne)?this._bodyFormData=ne:s&&URLSearchParams.prototype.isPrototypeOf(ne)?this._bodyText=ne.toString():h&&l&&(he=ne)&&DataView.prototype.isPrototypeOf(he)?(this._bodyArrayBuffer=U(ne.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):h&&(ArrayBuffer.prototype.isPrototypeOf(ne)||m(ne))?this._bodyArrayBuffer=U(ne):this._bodyText=ne=Object.prototype.toString.call(ne):this._bodyText="",this.headers.get("content-type")||("string"==typeof ne?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):s&&URLSearchParams.prototype.isPrototypeOf(ne)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},l&&(this.blob=function(){var ne=j(this);if(ne)return ne;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?j(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(z)}),this.text=function(){var ne,he,ce,Ae=j(this);if(Ae)return Ae;if(this._bodyBlob)return ne=this._bodyBlob,ce=H(he=new FileReader),he.readAsText(ne),ce;if(this._bodyArrayBuffer)return Promise.resolve(function(Me){for(var Oe=new Uint8Array(Me),be=new Array(Oe.length),ue=0;ue<Oe.length;ue++)be[ue]=String.fromCharCode(Oe[ue]);return be.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},u&&(this.formData=function(){return this.text().then(Y)}),this.json=function(){return this.text().then(JSON.parse)},this}x.prototype.append=function(ne,he){ne=b(ne),he=C(he);var ce=this.map[ne];this.map[ne]=ce?ce+", "+he:he},x.prototype.delete=function(ne){delete this.map[b(ne)]},x.prototype.get=function(ne){return ne=b(ne),this.has(ne)?this.map[ne]:null},x.prototype.has=function(ne){return this.map.hasOwnProperty(b(ne))},x.prototype.set=function(ne,he){this.map[b(ne)]=C(he)},x.prototype.forEach=function(ne,he){for(var ce in this.map)this.map.hasOwnProperty(ce)&&ne.call(he,this.map[ce],ce,this)},x.prototype.keys=function(){var ne=[];return this.forEach(function(he,ce){ne.push(ce)}),D(ne)},x.prototype.values=function(){var ne=[];return this.forEach(function(he){ne.push(he)}),D(ne)},x.prototype.entries=function(){var ne=[];return this.forEach(function(he,ce){ne.push([ce,he])}),D(ne)},a&&(x.prototype[Symbol.iterator]=x.prototype.entries);var I=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function J(ne,he){var ce,Ae,Me=(he=he||{}).body;if(ne instanceof J){if(ne.bodyUsed)throw new TypeError("Already read");this.url=ne.url,this.credentials=ne.credentials,he.headers||(this.headers=new x(ne.headers)),this.method=ne.method,this.mode=ne.mode,this.signal=ne.signal,Me||null==ne._bodyInit||(Me=ne._bodyInit,ne.bodyUsed=!0)}else this.url=String(ne);if(this.credentials=he.credentials||this.credentials||"same-origin",!he.headers&&this.headers||(this.headers=new x(he.headers)),this.method=(Ae=(ce=he.method||this.method||"GET").toUpperCase(),I.indexOf(Ae)>-1?Ae:ce),this.mode=he.mode||this.mode||null,this.signal=he.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&Me)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(Me)}function Y(ne){var he=new FormData;return ne.trim().split("&").forEach(function(ce){if(ce){var Ae=ce.split("="),Me=Ae.shift().replace(/\+/g," "),Oe=Ae.join("=").replace(/\+/g," ");he.append(decodeURIComponent(Me),decodeURIComponent(Oe))}}),he}function ie(ne,he){he||(he={}),this.type="default",this.status=void 0===he.status?200:he.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in he?he.statusText:"OK",this.headers=new x(he.headers),this.url=he.url||"",this._initBody(ne)}J.prototype.clone=function(){return new J(this,{body:this._bodyInit})},M.call(J.prototype),M.call(ie.prototype),ie.prototype.clone=function(){return new ie(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new x(this.headers),url:this.url})},ie.error=function(){var ne=new ie(null,{status:0,statusText:""});return ne.type="error",ne};var oe=[301,302,303,307,308];ie.redirect=function(ne,he){if(-1===oe.indexOf(he))throw new RangeError("Invalid status code");return new ie(null,{status:he,headers:{location:ne}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(ne){e.DOMException=function(he,ce){this.message=he,this.name=ce;var Ae=Error(he);this.stack=Ae.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function fe(ne,he){return new Promise(function(ce,Ae){var Me=new J(ne,he);if(Me.signal&&Me.signal.aborted)return Ae(new e.DOMException("Aborted","AbortError"));var Oe=new XMLHttpRequest;function be(){Oe.abort()}Oe.onload=function(){var ue,He,$e={status:Oe.status,statusText:Oe.statusText,headers:(ue=Oe.getAllResponseHeaders()||"",He=new x,ue.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(je){var Et=je.split(":"),lt=Et.shift().trim();if(lt){var nn=Et.join(":").trim();He.append(lt,nn)}}),He)};$e.url="responseURL"in Oe?Oe.responseURL:$e.headers.get("X-Request-URL"),ce(new ie("response"in Oe?Oe.response:Oe.responseText,$e))},Oe.onerror=function(){Ae(new TypeError("Network request failed"))},Oe.ontimeout=function(){Ae(new TypeError("Network request failed"))},Oe.onabort=function(){Ae(new e.DOMException("Aborted","AbortError"))},Oe.open(Me.method,Me.url,!0),"include"===Me.credentials?Oe.withCredentials=!0:"omit"===Me.credentials&&(Oe.withCredentials=!1),"responseType"in Oe&&l&&(Oe.responseType="blob"),Me.headers.forEach(function(ue,He){Oe.setRequestHeader(He,ue)}),Me.signal&&(Me.signal.addEventListener("abort",be),Oe.onreadystatechange=function(){4===Oe.readyState&&Me.signal.removeEventListener("abort",be)}),Oe.send(void 0===Me._bodyInit?null:Me._bodyInit)})}fe.polyfill=!0,t.fetch||(t.fetch=fe,t.Headers=x,t.Request=J,t.Response=ie),e.Headers=x,e.Request=J,e.Response=ie,e.fetch=fe,Object.defineProperty(e,"__esModule",{value:!0})}({})},function(g,o,t){"use strict";var e=t(252),s=Object.prototype.hasOwnProperty,a=Array.isArray,l=function(){for(var h=[],_=0;_<256;++_)h.push("%"+((_<16?"0":"")+_.toString(16)).toUpperCase());return h}(),u=function(h,_){for(var m=_&&_.plainObjects?Object.create(null):{},b=0;b<h.length;++b)void 0!==h[b]&&(m[b]=h[b]);return m};g.exports={arrayToObject:u,assign:function(h,_){return Object.keys(_).reduce(function(m,b){return m[b]=_[b],m},h)},combine:function(h,_){return[].concat(h,_)},compact:function(h){for(var _=[{obj:{o:h},prop:"o"}],m=[],b=0;b<_.length;++b)for(var C=_[b],D=C.obj[C.prop],x=Object.keys(D),j=0;j<x.length;++j){var H=x[j],z=D[H];"object"==typeof z&&null!==z&&-1===m.indexOf(z)&&(_.push({obj:D,prop:H}),m.push(z))}return function(U){for(;U.length>1;){var M=U.pop(),I=M.obj[M.prop];if(a(I)){for(var J=[],Y=0;Y<I.length;++Y)void 0!==I[Y]&&J.push(I[Y]);M.obj[M.prop]=J}}}(_),h},decode:function(h,_,m){var b=h.replace(/\+/g," ");if("iso-8859-1"===m)return b.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(b)}catch(C){return b}},encode:function(h,_,m,b,C){if(0===h.length)return h;var D=h;if("symbol"==typeof h?D=Symbol.prototype.toString.call(h):"string"!=typeof h&&(D=String(h)),"iso-8859-1"===m)return escape(D).replace(/%u[0-9a-f]{4}/gi,function(z){return"%26%23"+parseInt(z.slice(2),16)+"%3B"});for(var x="",j=0;j<D.length;++j){var H=D.charCodeAt(j);45===H||46===H||95===H||126===H||H>=48&&H<=57||H>=65&&H<=90||H>=97&&H<=122||C===e.RFC1738&&(40===H||41===H)?x+=D.charAt(j):H<128?x+=l[H]:H<2048?x+=l[192|H>>6]+l[128|63&H]:H<55296||H>=57344?x+=l[224|H>>12]+l[128|H>>6&63]+l[128|63&H]:(H=65536+((1023&H)<<10|1023&D.charCodeAt(j+=1)),x+=l[240|H>>18]+l[128|H>>12&63]+l[128|H>>6&63]+l[128|63&H])}return x},isBuffer:function(h){return!(!h||"object"!=typeof h||!(h.constructor&&h.constructor.isBuffer&&h.constructor.isBuffer(h)))},isRegExp:function(h){return"[object RegExp]"===Object.prototype.toString.call(h)},maybeMap:function(h,_){if(a(h)){for(var m=[],b=0;b<h.length;b+=1)m.push(_(h[b]));return m}return _(h)},merge:function h(_,m,b){if(!m)return _;if("object"!=typeof m){if(a(_))_.push(m);else{if(!_||"object"!=typeof _)return[_,m];(b&&(b.plainObjects||b.allowPrototypes)||!s.call(Object.prototype,m))&&(_[m]=!0)}return _}if(!_||"object"!=typeof _)return[_].concat(m);var C=_;return a(_)&&!a(m)&&(C=u(_,b)),a(_)&&a(m)?(m.forEach(function(D,x){if(s.call(_,x)){var j=_[x];j&&"object"==typeof j&&D&&"object"==typeof D?_[x]=h(j,D,b):_.push(D)}else _[x]=D}),_):Object.keys(m).reduce(function(D,x){var j=m[x];return D[x]=s.call(D,x)?h(D[x],j,b):j,D},C)}}},function(g,o,t){var e=t(33),s=t(43),a=t(112),l=t(941),u=Object.isExtensible,h=e(function(){u(1)});g.exports=h||l?function(_){return!!s(_)&&(!l||"ArrayBuffer"!=a(_))&&(!u||u(_))}:u},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(194),l=t(33),u=t(85),h=t(124),_=t(139),m=t(41),b=t(43),C=t(100),D=t(63).f,x=t(87).forEach,j=t(48),H=t(76),z=H.set,U=H.getterFor;g.exports=function(M,I,J){var Y,ie=-1!==M.indexOf("Map"),oe=-1!==M.indexOf("Weak"),fe=ie?"set":"add",ne=s[M],he=ne&&ne.prototype,ce={};if(j&&m(ne)&&(oe||he.forEach&&!l(function(){(new ne).entries().next()}))){var Ae=(Y=I(function(Oe,be){z(_(Oe,Ae),{type:M,collection:new ne}),null!=be&&h(be,Oe[fe],{that:Oe,AS_ENTRIES:ie})})).prototype,Me=U(M);x(["add","clear","delete","forEach","get","has","set","keys","values","entries"],function(Oe){var be="add"==Oe||"set"==Oe;!(Oe in he)||oe&&"clear"==Oe||u(Ae,Oe,function(ue,He){var $e=Me(this).collection;if(!be&&oe&&!b(ue))return"get"==Oe&&void 0;var F=$e[Oe](0===ue?0:ue,He);return be?this:F})}),oe||D(Ae,"size",{configurable:!0,get:function(){return Me(this).collection.size}})}else Y=J.getConstructor(I,M,ie,fe),a.enable();return C(Y,M,!1,!0),ce[M]=Y,e({global:!0,forced:!0},ce),oe||J.setStrong(Y,M,ie),Y}},function(g,o,t){var e=t(33),s=t(38),a=t(96),l=s("iterator");g.exports=!e(function(){var u=new URL("b?a=1&b=2&c=3","http://a"),h=u.searchParams,_="";return u.pathname="c%20d",h.forEach(function(m,b){h.delete("b"),_+=b+m}),a&&!u.toJSON||!h.sort||"http://a/c%20d?a=1&c=3"!==u.href||"3"!==h.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!h[l]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://\u0442\u0435\u0441\u0442").host||"#%D0%B1"!==new URL("http://a#\u0431").hash||"a1c3"!==_||"x"!==new URL("http://x",void 0).host})},function(g,o){g.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwcHgiICBoZWlnaHQ9IjIwMHB4IiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIGNsYXNzPSJsZHMtcm9sbGluZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWwgaW5pdGlhbDsgYmFja2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDsiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIGZpbGw9Im5vbmUiIG5nLWF0dHItc3Ryb2tlPSJ7e2NvbmZpZy5jb2xvcn19IiBuZy1hdHRyLXN0cm9rZS13aWR0aD0ie3tjb25maWcud2lkdGh9fSIgbmctYXR0ci1yPSJ7e2NvbmZpZy5yYWRpdXN9fSIgbmctYXR0ci1zdHJva2UtZGFzaGFycmF5PSJ7e2NvbmZpZy5kYXNoYXJyYXl9fSIgc3Ryb2tlPSIjNTU1NTU1IiBzdHJva2Utd2lkdGg9IjEwIiByPSIzNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4Ij48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgY2FsY01vZGU9ImxpbmVhciIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCIga2V5VGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49IjBzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlVHJhbnNmb3JtPjwvY2lyY2xlPjwvc3ZnPgo="},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.combineReducers=void 0;var e,a=(e=t(556))&&e.__esModule?e:{default:e};o.combineReducers=a.default},function(g,o,t){var e=t(560),s=t(600)(function(a,l,u){e(a,l,u)});g.exports=s},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.sanitizeUrl=void 0;var e=/^([^\w]*)(javascript|data|vbscript)/im,s=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,a=/^([^:]+):/gm,l=[".","/"];o.sanitizeUrl=function(u){if(!u)return"about:blank";var h=u.replace(s,"").trim();if(l.indexOf(h[0])>-1)return h;var _=h.match(a);return _&&e.test(_[0])?"about:blank":h}},function(g,o,t){var e=t(661),s=t(668)(function(a,l,u){return l=l.toLowerCase(),a+(u?e(l):l)});g.exports=s},function(g,o,t){var e=t(676)(t(704));g.exports=e},function(g,o,t){(function(e){var s=t(713),a=t(714).Stream;function l(h,_,m){m=m||0;var b,C,D=(b=_,new Array(m||0).join(b||"")),x=h;if("object"==typeof h&&(x=h[C=Object.keys(h)[0]])&&x._elem)return x._elem.name=C,x._elem.icount=m,x._elem.indent=_,x._elem.indents=D,x._elem.interrupt=x,x._elem;var j,H=[],z=[];function U(M){Object.keys(M).forEach(function(I){H.push(I+'="'+s(M[I])+'"')})}switch(typeof x){case"object":if(null===x)break;x._attr&&U(x._attr),x._cdata&&z.push(("<![CDATA["+x._cdata).replace(/\]\]>/g,"]]]]><![CDATA[>")+"]]>"),x.forEach&&(j=!1,z.push(""),x.forEach(function(M){"object"==typeof M?"_attr"==Object.keys(M)[0]?U(M._attr):z.push(l(M,_,m+1)):(z.pop(),j=!0,z.push(s(M)))}),j||z.push(""));break;default:z.push(s(x))}return{name:C,interrupt:!1,attributes:H,content:z,icount:m,indents:D,indent:_}}function u(h,_,m){if("object"!=typeof _)return h(!1,_);var b=_.interrupt?1:_.content.length;function C(){for(;_.content.length;){var x=_.content.shift();if(void 0!==x){if(D(x))return;u(h,x)}}h(!1,(b>1?_.indents:"")+(_.name?"</"+_.name+">":"")+(_.indent&&!m?"\n":"")),m&&m()}function D(x){return!!x.interrupt&&(x.interrupt.append=h,x.interrupt.end=C,x.interrupt=!1,h(!0),!0)}if(h(!1,_.indents+(_.name?"<"+_.name:"")+(_.attributes.length?" "+_.attributes.join(" "):"")+(b?_.name?">":"":_.name?"/>":"")+(_.indent&&b>1?"\n":"")),!b)return h(!1,_.indent?"\n":"");D(_)||C()}g.exports=function(h,_){"object"!=typeof _&&(_={indent:_});var m,b,C=_.stream?new a:null,D="",x=!1,j=_.indent?!0===_.indent?" ":_.indent:"",H=!0;function z(J){H?e.nextTick(J):J()}function U(J,Y){if(void 0!==Y&&(D+=Y),J&&!x&&(C=C||new a,x=!0),J&&x){var ie=D;z(function(){C.emit("data",ie)}),D=""}}function M(J,Y){u(U,l(J,j,j?1:0),Y)}function I(){if(C){var J=D;z(function(){C.emit("data",J),C.emit("end"),C.readable=!1,C.emit("close")})}}return z(function(){H=!1}),_.declaration&&(b={version:"1.0",encoding:(m=_.declaration).encoding||"UTF-8"},m.standalone&&(b.standalone=m.standalone),M({"?xml":{_attr:b}}),D=D.replace("/>","?>")),h&&h.forEach?h.forEach(function(J,Y){var ie;Y+1===h.length&&(ie=I),M(J,ie)}):M(h,I),C?(C.readable=!0,C):D},g.exports.element=g.exports.Element=function(){var h=Array.prototype.slice.call(arguments),_={_elem:l(h),push:function(m){if(!this.append)throw new Error("not assigned to a parent!");var b=this,C=this._elem.indent;u(this.append,l(m,C,this._elem.icount+(C?1:0)),function(){b.append(!0)})},close:function(m){void 0!==m&&this.push(m),this.end&&this.end()}};return _}}).call(this,t(118))},function(g,o,t){(function(e){g.exports=function(a){if(a.CSS&&a.CSS.escape)return a.CSS.escape;var l=function(u){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var h,_=String(u),m=_.length,b=-1,C="",D=_.charCodeAt(0);++b<m;)0!=(h=_.charCodeAt(b))?C+=h>=1&&h<=31||127==h||0==b&&h>=48&&h<=57||1==b&&h>=48&&h<=57&&45==D?"\\"+h.toString(16)+" ":0==b&&1==m&&45==h||!(h>=128||45==h||95==h||h>=48&&h<=57||h>=65&&h<=90||h>=97&&h<=122)?"\\"+_.charAt(b):_.charAt(b):C+="\ufffd";return C};return a.CSS||(a.CSS={}),a.CSS.escape=l,l}(void 0!==e?e:this)}).call(this,t(57))},function(g,o,t){(o=g.exports=function(e){e=e.toLowerCase();var s=o[e];if(!s)throw new Error(e+" is not supported (we accept pull requests)");return new s}).sha=t(787),o.sha1=t(788),o.sha224=t(789),o.sha256=t(418),o.sha384=t(790),o.sha512=t(419)},function(g,o,t){var e=t(390),s=t(401),a=t(189),l=t(795),u=t(52);g.exports=function(h,_,m){var b=u(h)?e:l,C=arguments.length<3;return b(h,a(_,4),m,C,s)}},function(g,o,t){var e=t(116),s=t(52),a=t(78);g.exports=function(l){return"string"==typeof l||!s(l)&&a(l)&&"[object String]"==e(l)}},function(g,o,t){var e=t(53),s=t(849),a=t(400),l=Math.max,u=Math.min;g.exports=function(h,_,m){var b,C,D,x,j,H,z=0,U=!1,M=!1,I=!0;if("function"!=typeof h)throw new TypeError("Expected a function");function J(he){var ce=b,Ae=C;return b=C=void 0,z=he,x=h.apply(Ae,ce)}function Y(he){return z=he,j=setTimeout(oe,_),U?J(he):x}function ie(he){var ce=he-H;return void 0===H||ce>=_||ce<0||M&&he-z>=D}function oe(){var ce,Ae,he=s();if(ie(he))return fe(he);j=setTimeout(oe,(Ae=_-((ce=he)-H),M?u(Ae,D-(ce-z)):Ae))}function fe(he){return j=void 0,I&&b?J(he):(b=C=void 0,x)}function ne(){var he=s(),ce=ie(he);if(b=arguments,C=this,H=he,ce){if(void 0===j)return Y(H);if(M)return clearTimeout(j),j=setTimeout(oe,_),J(H)}return void 0===j&&(j=setTimeout(oe,_)),x}return _=a(_)||0,e(m)&&(U=!!m.leading,D=(M="maxWait"in m)?l(a(m.maxWait)||0,_):D,I="trailing"in m?!!m.trailing:I),ne.cancel=function(){void 0!==j&&clearTimeout(j),z=0,b=H=C=j=void 0},ne.flush=function(){return void 0===j?x:fe(s())},ne}},function(g,o,t){var e=t(387),s=t(438),a=t(895),l=t(156),u=t(134),h=t(898),_=t(899),m=t(440),b=_(function(C,D){var x={};if(null==C)return x;var j=!1;D=e(D,function(z){return z=l(z,C),j||(j=z.length>1),z}),u(C,m(C),x),j&&(x=s(x,7,h));for(var H=D.length;H--;)a(x,D[H]);return x});g.exports=b},function(g,o,t){g.exports=t(903)},function(g,o,t){var e=t(914);g.exports=function(s,a){if(null==s)return{};var l,u,h=e(s,a);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(s);for(u=0;u<_.length;u++)a.indexOf(l=_[u])>=0||Object.prototype.propertyIsEnumerable.call(s,l)&&(h[l]=s[l])}return h},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(915),s=t(916),a=t(917),l=t(918);g.exports=function(u){return e(u)||s(u)||a(u)||l()},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){function t(){return g.exports=t=Object.assign||function(e){for(var s=1;s<arguments.length;s++){var a=arguments[s];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},g.exports.default=g.exports,g.exports.__esModule=!0,t.apply(this,arguments)}g.exports=t,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(t){const e={literal:"true false null"},s=[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],a=[t.QUOTE_STRING_MODE,t.C_NUMBER_MODE],l={end:",",endsWithParent:!0,excludeEnd:!0,contains:a,keywords:e},u={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE],illegal:"\\n"},t.inherit(l,{begin:/:/})].concat(s),illegal:"\\S"},h={begin:"\\[",end:"\\]",contains:[t.inherit(l)],illegal:"\\S"};return a.push(u,h),s.forEach(function(_){a.push(_)}),{name:"JSON",contains:a,keywords:e,illegal:"\\S"}}},function(g,o){const t="[A-Za-z$_][0-9A-Za-z$_]*",e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],s=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function l(h){return u("(?=",h,")")}function u(...h){return h.map(_=>{return(m=_)?"string"==typeof m?m:m.source:null;var m}).join("")}g.exports=function(h){const _=t,C={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ne,he)=>{const ce=ne[0].length+ne.index,Ae=ne.input[ce];"<"!==Ae?">"===Ae&&(((Me,{after:Oe})=>{const be="</"+Me[0].slice(1);return-1!==Me.input.indexOf(be,Oe)})(ne,{after:ce})||he.ignoreMatch()):he.ignoreMatch()}},D={$pattern:t,keyword:e,literal:s,built_in:a},x="\\.([0-9](_?[0-9])*)",j="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",H={className:"number",variants:[{begin:`(\\b(${j})((${x})|\\.)?|(${x}))[eE][+-]?([0-9](_?[0-9])*)\\b`},{begin:`\\b(${j})\\b((${x})\\b|\\.)?|(${x})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},z={className:"subst",begin:"\\$\\{",end:"\\}",keywords:D,contains:[]},U={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[h.BACKSLASH_ESCAPE,z],subLanguage:"xml"}},M={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[h.BACKSLASH_ESCAPE,z],subLanguage:"css"}},I={className:"string",begin:"`",end:"`",contains:[h.BACKSLASH_ESCAPE,z]},J={className:"comment",variants:[h.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:_+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),h.C_BLOCK_COMMENT_MODE,h.C_LINE_COMMENT_MODE]},Y=[h.APOS_STRING_MODE,h.QUOTE_STRING_MODE,U,M,I,H,h.REGEXP_MODE];z.contains=Y.concat({begin:/\{/,end:/\}/,keywords:D,contains:["self"].concat(Y)});const ie=[].concat(J,z.contains),oe=ie.concat([{begin:/\(/,end:/\)/,keywords:D,contains:["self"].concat(ie)}]),fe={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:D,contains:oe};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:D,exports:{PARAMS_CONTAINS:oe},illegal:/#(?![$_A-z])/,contains:[h.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},h.APOS_STRING_MODE,h.QUOTE_STRING_MODE,U,M,I,J,H,{begin:u(/[{,\n]\s*/,l(u(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,_+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:_+l("\\s*:"),relevance:0}]},{begin:"("+h.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[J,h.REGEXP_MODE,{className:"function",begin:"(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+h.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:h.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:D,contains:oe}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:"</>"},{begin:C.begin,"on:begin":C.isTrulyOpeningTag,end:C.end}],subLanguage:"xml",contains:[{begin:C.begin,end:C.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:D,contains:["self",h.inherit(h.TITLE_MODE,{begin:_}),fe],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:h.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[fe,h.inherit(h.TITLE_MODE,{begin:_})]},{variants:[{begin:"\\."+_},{begin:"\\$"+_}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},h.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[h.inherit(h.TITLE_MODE,{begin:_}),"self",fe]},{begin:"(get|set)\\s+(?="+_+"\\()",end:/\{/,keywords:"get set",contains:[h.inherit(h.TITLE_MODE,{begin:_}),{begin:/\(\)/},fe]},{begin:/\$[(.]/}]}}},function(g,o){function t(l){return l?"string"==typeof l?l:l.source:null}function e(l){return s("(?=",l,")")}function s(...l){return l.map(u=>t(u)).join("")}function a(...l){return"("+l.map(u=>t(u)).join("|")+")"}g.exports=function(l){const u=s(/[A-Z_]/,s("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),h={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},_={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},m=l.inherit(_,{begin:/\(/,end:/\)/}),b=l.inherit(l.APOS_STRING_MODE,{className:"meta-string"}),C=l.inherit(l.QUOTE_STRING_MODE,{className:"meta-string"}),D={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[h]},{begin:/'/,end:/'/,contains:[h]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[_,C,b,m,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[_,m,C,b]}]}]},l.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},h,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[D],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[D],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:s(/</,e(s(u,a(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:u,relevance:0,starts:D}]},{className:"tag",begin:s(/<\//,e(s(u,/>/))),contains:[{className:"name",begin:u,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},function(g,o){g.exports=function(t){var e="true false yes no null",s="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},l=t.inherit(a,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+s},{className:"type",begin:"!<"+s+">"},{className:"type",begin:"!"+s},{className:"type",begin:"!!"+s},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[h],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[h],illegal:"\\n",relevance:0},a],C=[...b];return C.pop(),C.push(l),h.contains=C,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:b}}},function(g,o){function t(...e){return e.map(s=>{return(a=s)?"string"==typeof a?a:a.source:null;var a}).join("")}g.exports=function(e){const s="HTTP/(2|1\\.[01])",a={className:"attribute",begin:t("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},l=[a,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+s+" \\d{3})",end:/$/,contains:[{className:"meta",begin:s},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:l}},{begin:"(?=^[A-Z]+ (.*?) "+s+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:s},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:l}},e.inherit(a,{relevance:0})]}}},function(g,o){function t(...e){return e.map(s=>{return(a=s)?"string"==typeof a?a:a.source:null;var a}).join("")}g.exports=function(e){const s={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:t(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const l={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},u={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},h={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,l]};l.contains.push(h);const _={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},m=e.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[m,e.SHEBANG(),b,_,e.HASH_COMMENT_MODE,u,h,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}},function(g,o){g.exports=function(t){const e={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},s={begin:"`[\\s\\S]",relevance:0},a={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},l={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[s,a,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},u={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},h=t.inherit(t.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),_={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},m={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[t.TITLE_MODE]},b={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[a]}]},C={begin:/using\s/,end:/$/,returnBegin:!0,contains:[l,u,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},D={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},x={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(e.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},t.inherit(t.TITLE_MODE,{endsParent:!0})]},j=[x,h,s,t.NUMBER_MODE,l,u,_,a,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],H={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",j,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return x.contains.unshift(H),{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:!0,keywords:e,contains:j.concat(m,b,C,D,H)}}},function(g,o,t){var e=t(438);g.exports=function(s){return e(s,5)}},function(g,o,t){g.exports=t(938)},function(g,o){var t=g.exports=function(b){return new e(b)};function e(b){this.value=b}function s(b,C,D){var x=[],j=[],H=!0;return function z(U){var M=D?a(U):U,I={},J=!0,Y={node:M,node_:U,path:[].concat(x),parent:j[j.length-1],parents:j,key:x.slice(-1)[0],isRoot:0===x.length,level:x.length,circular:null,update:function(fe,ne){Y.isRoot||(Y.parent.node[Y.key]=fe),Y.node=fe,ne&&(J=!1)},delete:function(fe){delete Y.parent.node[Y.key],fe&&(J=!1)},remove:function(fe){h(Y.parent.node)?Y.parent.node.splice(Y.key,1):delete Y.parent.node[Y.key],fe&&(J=!1)},keys:null,before:function(fe){I.before=fe},after:function(fe){I.after=fe},pre:function(fe){I.pre=fe},post:function(fe){I.post=fe},stop:function(){H=!1},block:function(){J=!1}};if(!H)return Y;function ie(){if("object"==typeof Y.node&&null!==Y.node){Y.keys&&Y.node_===Y.node||(Y.keys=l(Y.node)),Y.isLeaf=0==Y.keys.length;for(var fe=0;fe<j.length;fe++)if(j[fe].node_===U){Y.circular=j[fe];break}}else Y.isLeaf=!0,Y.keys=null;Y.notLeaf=!Y.isLeaf,Y.notRoot=!Y.isRoot}ie();var oe=C.call(Y,Y.node);return void 0!==oe&&Y.update&&Y.update(oe),I.before&&I.before.call(Y,Y.node),J&&("object"!=typeof Y.node||null===Y.node||Y.circular||(j.push(Y),ie(),_(Y.keys,function(fe,ne){x.push(fe),I.pre&&I.pre.call(Y,Y.node[fe],fe);var he=z(Y.node[fe]);D&&m.call(Y.node,fe)&&(Y.node[fe]=he.node),he.isLast=ne==Y.keys.length-1,he.isFirst=0==ne,I.post&&I.post.call(Y,he),x.pop()}),j.pop()),I.after&&I.after.call(Y,Y.node)),Y}(b).node}function a(b){if("object"==typeof b&&null!==b){var C;if(h(b))C=[];else if("[object Date]"===u(b))C=new Date(b.getTime?b.getTime():b);else if("[object RegExp]"===u(b))C=new RegExp(b);else if("[object Error]"===u(b))C={message:b.message};else if(function(j){return"[object Boolean]"===u(j)}(b))C=new Boolean(b);else if(function(j){return"[object Number]"===u(j)}(b))C=new Number(b);else if(function(j){return"[object String]"===u(j)}(b))C=new String(b);else if(Object.create&&Object.getPrototypeOf)C=Object.create(Object.getPrototypeOf(b));else if(b.constructor===Object)C={};else{var x=function(){};x.prototype=b.constructor&&b.constructor.prototype||b.__proto__||{},C=new x}return _(l(b),function(j){C[j]=b[j]}),C}return b}e.prototype.get=function(b){for(var C=this.value,D=0;D<b.length;D++){var x=b[D];if(!C||!m.call(C,x)){C=void 0;break}C=C[x]}return C},e.prototype.has=function(b){for(var C=this.value,D=0;D<b.length;D++){var x=b[D];if(!C||!m.call(C,x))return!1;C=C[x]}return!0},e.prototype.set=function(b,C){for(var D=this.value,x=0;x<b.length-1;x++){var j=b[x];m.call(D,j)||(D[j]={}),D=D[j]}return D[b[x]]=C,C},e.prototype.map=function(b){return s(this.value,b,!0)},e.prototype.forEach=function(b){return this.value=s(this.value,b,!1),this.value},e.prototype.reduce=function(b,C){var D=1===arguments.length,x=D?this.value:C;return this.forEach(function(j){this.isRoot&&D||(x=b.call(this,x,j))}),x},e.prototype.paths=function(){var b=[];return this.forEach(function(C){b.push(this.path)}),b},e.prototype.nodes=function(){var b=[];return this.forEach(function(C){b.push(this.node)}),b},e.prototype.clone=function(){var b=[],C=[];return function D(x){for(var j=0;j<b.length;j++)if(b[j]===x)return C[j];if("object"==typeof x&&null!==x){var H=a(x);return b.push(x),C.push(H),_(l(x),function(z){H[z]=D(x[z])}),b.pop(),C.pop(),H}return x}(this.value)};var l=Object.keys||function(b){var C=[];for(var D in b)C.push(D);return C};function u(b){return Object.prototype.toString.call(b)}var h=Array.isArray||function(b){return"[object Array]"===Object.prototype.toString.call(b)},_=function(b,C){if(b.forEach)return b.forEach(C);for(var D=0;D<b.length;D++)C(b[D],D,b)};_(l(e.prototype),function(b){t[b]=function(C){var D=[].slice.call(arguments,1),x=new e(C);return x[b].apply(x,D)}});var m=Object.hasOwnProperty||function(b,C){return C in b}},function(g,o,t){"use strict";o.parse=function(h,_){if("string"!=typeof h)throw new TypeError("argument str must be a string");for(var m={},b=_||{},C=h.split(a),D=b.decode||e,x=0;x<C.length;x++){var j=C[x],H=j.indexOf("=");if(!(H<0)){var z=j.substr(0,H).trim(),U=j.substr(++H,j.length).trim();'"'==U[0]&&(U=U.slice(1,-1)),null==m[z]&&(m[z]=u(U,D))}}return m},o.serialize=function(h,_,m){var b=m||{},C=b.encode||s;if("function"!=typeof C)throw new TypeError("option encode is invalid");if(!l.test(h))throw new TypeError("argument name is invalid");var D=C(_);if(D&&!l.test(D))throw new TypeError("argument val is invalid");var x=h+"="+D;if(null!=b.maxAge){var j=b.maxAge-0;if(isNaN(j)||!isFinite(j))throw new TypeError("option maxAge is invalid");x+="; Max-Age="+Math.floor(j)}if(b.domain){if(!l.test(b.domain))throw new TypeError("option domain is invalid");x+="; Domain="+b.domain}if(b.path){if(!l.test(b.path))throw new TypeError("option path is invalid");x+="; Path="+b.path}if(b.expires){if("function"!=typeof b.expires.toUTCString)throw new TypeError("option expires is invalid");x+="; Expires="+b.expires.toUTCString()}if(b.httpOnly&&(x+="; HttpOnly"),b.secure&&(x+="; Secure"),b.sameSite)switch("string"==typeof b.sameSite?b.sameSite.toLowerCase():b.sameSite){case!0:x+="; SameSite=Strict";break;case"lax":x+="; SameSite=Lax";break;case"strict":x+="; SameSite=Strict";break;case"none":x+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return x};var e=decodeURIComponent,s=encodeURIComponent,a=/; */,l=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function u(h,_){try{return _(h)}catch(m){return h}}},function(g,o,t){var e,s,a;s=[],void 0===(a="function"==typeof(e=function(){"use strict";var l=function(x){return x&&"getComputedStyle"in window&&"smooth"===window.getComputedStyle(x)["scroll-behavior"]};if("undefined"==typeof window||!("document"in window))return{};var u=function(x,j,H){var z;j=j||999,H||0===H||(H=9);var U=function(fe){z=fe},M=function(){clearTimeout(z),U(0)},I=function(fe){return Math.max(0,x.getTopOf(fe)-H)},J=function(fe,ne,he){if(M(),0===ne||ne&&ne<0||l(x.body))x.toY(fe),he&&he();else{var ce=x.getY(),Ae=Math.max(0,fe)-ce,Me=(new Date).getTime();ne=ne||Math.min(Math.abs(Ae),j),function Oe(){U(setTimeout(function(){var be=Math.min(1,((new Date).getTime()-Me)/ne),ue=Math.max(0,Math.floor(ce+Ae*(be<.5?2*be*be:be*(4-2*be)-1)));x.toY(ue),be<1&&x.getHeight()+ue<x.body.scrollHeight?Oe():(setTimeout(M,99),he&&he())},9))}()}},Y=function(fe,ne,he){J(I(fe),ne,he)};return{setup:function(fe,ne){return(0===fe||fe)&&(j=fe),(0===ne||ne)&&(H=ne),{defaultDuration:j,edgeOffset:H}},to:Y,toY:J,intoView:function(fe,ne,he){var ce=fe.getBoundingClientRect().height,Ae=x.getTopOf(fe)+ce,Me=x.getHeight(),Oe=x.getY(),be=Oe+Me;I(fe)<Oe||ce+H>Me?Y(fe,ne,he):Ae+H>be?J(Ae-Me+H,ne,he):he&&he()},center:function(fe,ne,he,ce){J(Math.max(0,x.getTopOf(fe)-x.getHeight()/2+(he||fe.getBoundingClientRect().height/2)),ne,ce)},stop:M,moving:function(){return!!z},getY:x.getY,getTopOf:x.getTopOf}},h=document.documentElement,_=function(){return window.scrollY||h.scrollTop},m=u({body:document.scrollingElement||document.body,toY:function(x){window.scrollTo(0,x)},getY:_,getHeight:function(){return window.innerHeight||h.clientHeight},getTopOf:function(x){return x.getBoundingClientRect().top+_()-h.offsetTop}});if(m.createScroller=function(x,j,H){return u({body:x,toY:function(z){x.scrollTop=z},getY:function(){return x.scrollTop},getHeight:function(){return Math.min(x.clientHeight,window.innerHeight||h.clientHeight)},getTopOf:function(z){return z.offsetTop}},j,H)},"addEventListener"in window&&!window.noZensmooth&&!l(document.body)){var b="history"in window&&"pushState"in history,C=b&&"scrollRestoration"in history;C&&(history.scrollRestoration="auto"),window.addEventListener("load",function(){C&&(setTimeout(function(){history.scrollRestoration="manual"},9),window.addEventListener("popstate",function(x){x.state&&"zenscrollY"in x.state&&m.toY(x.state.zenscrollY)},!1)),window.location.hash&&setTimeout(function(){var x=m.setup().edgeOffset;if(x){var j=document.getElementById(window.location.href.split("#")[1]);if(j){var H=Math.max(0,m.getTopOf(j)-x),z=m.getY()-H;0<=z&&z<9&&window.scrollTo(0,H)}}},9)},!1);var D=new RegExp("(^|\\s)noZensmooth(\\s|$)");window.addEventListener("click",function(x){for(var j=x.target;j&&"A"!==j.tagName;)j=j.parentNode;if(!(!j||1!==x.which||x.shiftKey||x.metaKey||x.ctrlKey||x.altKey)){if(C){var H=history.state&&"object"==typeof history.state?history.state:{};H.zenscrollY=m.getY();try{history.replaceState(H,"")}catch(Y){}}var z=j.getAttribute("href")||"";if(0===z.indexOf("#")&&!D.test(j.className)){var U=0,M=document.getElementById(z.substring(1));if("#"!==z){if(!M)return;U=m.getTopOf(M)}x.preventDefault();var I=function(){window.location=z},J=m.setup().edgeOffset;J&&(U=Math.max(0,U-J),b&&(I=function(){history.pushState({},"",z)})),m.toY(U,null,I)}}},!1)}return m}())?e.apply(o,s):e)||(g.exports=a)},function(g,o,t){g.exports=t(958)},function(g,o){g.exports=function(t,e,s,a){var l=new Blob(void 0!==a?[a,t]:[t],{type:s||"application/octet-stream"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(l,e);else{var u=window.URL&&window.URL.createObjectURL?window.URL.createObjectURL(l):window.webkitURL.createObjectURL(l),h=document.createElement("a");h.style.display="none",h.href=u,h.setAttribute("download",e),void 0===h.download&&h.setAttribute("target","_blank"),document.body.appendChild(h),h.click(),setTimeout(function(){document.body.removeChild(h),window.URL.revokeObjectURL(u)},200)}}},function(g,o,t){g.exports=t(965)},function(g,o,t){g.exports=t(968)},function(g,o,t){"use strict";var e=t(973),s=function(h){return/<\/+[^>]+>/.test(h)},a=function(h){return/<[^>]+\/>/.test(h)};function l(h){return h.split(/(<\/?[^>]+>)/g).filter(function(_){return""!==_.trim()}).map(function(_){return{value:_,type:u(_)}})}function u(h){return s(h)?"ClosingTag":!/<[^>!]+>/.test(_=h)||s(_)||a(_)?a(h)?"SelfClosingTag":"Text":"OpeningTag";var _}g.exports=function(h){var _=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=_.indentor,b=_.textNodesOnSameLine,C=0,D=[];m=m||" ";var x=l(h).map(function(j,H,z){var U=j.value,M=j.type;"ClosingTag"===M&&C--;var I=e(m,C),J=I+U;if("OpeningTag"===M&&C++,b){var Y=z[H-1],ie=z[H-2];"ClosingTag"===M&&"Text"===Y.type&&"OpeningTag"===ie.type&&(J=""+I+ie.value+Y.value+U,D.push(H-2,H-1))}return J});return D.forEach(function(j){return x[j]=null}),x.filter(function(j){return!!j}).join("\n")}},function(g,o,t){g.exports=t(977)},function(g,o,t){var e=t(483);t(508),t(509),t(510),t(511),t(512),t(513),t(514),g.exports=e},function(g,o,t){var e=t(484);t(68),g.exports=e},function(g,o,t){t(328),t(97),t(333),t(490),t(491),t(492),t(493),t(338),t(494),t(495),t(496),t(497),t(498),t(499),t(500),t(501),t(502),t(503),t(504),t(505);var e=t(34);g.exports=e.Symbol},function(g,o,t){var e=t(17),s=t(50),a=t(43),l=t(209),u=t(211),h=t(486),_=t(38),m=e.TypeError,b=_("toPrimitive");g.exports=function(C,D){if(!a(C)||l(C))return C;var x,j=u(C,b);if(j){if(void 0===D&&(D="default"),x=s(j,C,D),!a(x)||l(x))return x;throw m("Can't convert object to primitive value")}return void 0===D&&(D="number"),h(C,D)}},function(g,o,t){var e=t(17),s=t(50),a=t(41),l=t(43),u=e.TypeError;g.exports=function(h,_){var m,b;if("string"===_&&a(m=h.toString)&&!l(b=s(m,h))||a(m=h.valueOf)&&!l(b=s(m,h))||"string"!==_&&a(m=h.toString)&&!l(b=s(m,h)))return b;throw u("Can't convert object to primitive value")}},function(g,o,t){var e=t(17),s=Object.defineProperty;g.exports=function(a,l){try{s(e,a,{value:l,configurable:!0,writable:!0})}catch(u){e[a]=l}return l}},function(g,o,t){var e=t(17),s=t(146),a=t(172),l=t(43),u=t(38)("species"),h=e.Array;g.exports=function(_){var m;return s(_)&&(a(m=_.constructor)&&(m===h||s(m.prototype))||l(m)&&null===(m=m[u]))&&(m=void 0),void 0===m?h:m}},function(g,o,t){"use strict";var e=t(216),s=t(75);g.exports=e?{}.toString:function(){return"[object "+s(this)+"]"}},function(g,o,t){t(45)("asyncIterator")},function(g,o){},function(g,o,t){t(45)("hasInstance")},function(g,o,t){t(45)("isConcatSpreadable")},function(g,o,t){t(45)("match")},function(g,o,t){t(45)("matchAll")},function(g,o,t){t(45)("replace")},function(g,o,t){t(45)("search")},function(g,o,t){t(45)("species")},function(g,o,t){t(45)("split")},function(g,o,t){t(45)("toPrimitive")},function(g,o,t){t(45)("toStringTag")},function(g,o,t){t(45)("unscopables")},function(g,o,t){var e=t(17);t(100)(e.JSON,"JSON",!0)},function(g,o){},function(g,o){},function(g,o,t){var e=t(17),s=t(41),a=e.String,l=e.TypeError;g.exports=function(u){if("object"==typeof u||s(u))return u;throw l("Can't set "+a(u)+" as a prototype")}},function(g,o){g.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(g,o,t){t(45)("asyncDispose")},function(g,o,t){t(45)("dispose")},function(g,o,t){t(45)("matcher")},function(g,o,t){t(45)("metadata")},function(g,o,t){t(45)("observable")},function(g,o,t){t(45)("patternMatch")},function(g,o,t){t(45)("replaceAll")},function(g,o,t){g.exports=t(516)},function(g,o,t){var e=t(517);g.exports=e},function(g,o,t){var e=t(518);t(68),g.exports=e},function(g,o,t){t(77),t(97),t(131),t(338);var e=t(223);g.exports=e.f("iterator")},function(g,o,t){var e=t(520);g.exports=e},function(g,o,t){var e=t(35),s=t(521),a=Array.prototype;g.exports=function(l){var u=l.concat;return l===a||e(a,l)&&u===a.concat?s:u}},function(g,o,t){t(328);var e=t(42);g.exports=e("Array").concat},function(g,o,t){var e=t(35),s=t(523),a=Array.prototype;g.exports=function(l){var u=l.filter;return l===a||e(a,l)&&u===a.filter?s:u}},function(g,o,t){t(524);var e=t(42);g.exports=e("Array").filter},function(g,o,t){"use strict";var e=t(22),s=t(87).filter;e({target:"Array",proto:!0,forced:!t(148)("filter")},{filter:function(a){return s(this,a,arguments.length>1?arguments[1]:void 0)}})},function(g,o,t){t(526);var e=t(34);g.exports=e.Object.keys},function(g,o,t){var e=t(22),s=t(62),a=t(149);e({target:"Object",stat:!0,forced:t(33)(function(){a(1)})},{keys:function(l){return a(s(l))}})},function(g,o,t){var e=t(528);g.exports=e},function(g,o,t){t(529);var e=t(34),s=t(93);e.JSON||(e.JSON={stringify:JSON.stringify}),g.exports=function(a,l,u){return s(e.JSON.stringify,null,arguments)}},function(g,o,t){var e=t(22),s=t(17),a=t(58),l=t(93),u=t(27),h=t(33),_=s.Array,m=a("JSON","stringify"),b=u(/./.exec),C=u("".charAt),D=u("".charCodeAt),x=u("".replace),j=u(1..toString),H=/[\uD800-\uDFFF]/g,z=/^[\uD800-\uDBFF]$/,U=/^[\uDC00-\uDFFF]$/,M=function(J,Y,ie){var oe=C(ie,Y-1),fe=C(ie,Y+1);return b(z,J)&&!b(U,fe)||b(U,J)&&!b(z,oe)?"\\u"+j(D(J,0),16):J},I=h(function(){return'"\\udf06\\ud834"'!==m("\udf06\ud834")||'"\\udead"'!==m("\udead")});m&&e({target:"JSON",stat:!0,forced:I},{stringify:function(J,Y,ie){for(var oe=0,fe=arguments.length,ne=_(fe);oe<fe;oe++)ne[oe]=arguments[oe];var he=l(m,null,ne);return"string"==typeof he?x(he,H,M):he}})},function(g,o,t){"use strict";o.byteLength=function(b){var C=_(b),x=C[1];return 3*(C[0]+x)/4-x},o.toByteArray=function(b){var C,D,Y,x=_(b),j=x[0],H=x[1],z=new a(3*(j+(Y=H))/4-Y),U=0,M=H>0?j-4:j;for(D=0;D<M;D+=4)C=s[b.charCodeAt(D)]<<18|s[b.charCodeAt(D+1)]<<12|s[b.charCodeAt(D+2)]<<6|s[b.charCodeAt(D+3)],z[U++]=C>>16&255,z[U++]=C>>8&255,z[U++]=255&C;return 2===H&&(C=s[b.charCodeAt(D)]<<2|s[b.charCodeAt(D+1)]>>4,z[U++]=255&C),1===H&&(C=s[b.charCodeAt(D)]<<10|s[b.charCodeAt(D+1)]<<4|s[b.charCodeAt(D+2)]>>2,z[U++]=C>>8&255,z[U++]=255&C),z},o.fromByteArray=function(b){for(var C,D=b.length,x=D%3,j=[],H=16383,z=0,U=D-x;z<U;z+=H)j.push(m(b,z,z+H>U?U:z+H));return 1===x?j.push(e[(C=b[D-1])>>2]+e[C<<4&63]+"=="):2===x&&j.push(e[(C=(b[D-2]<<8)+b[D-1])>>10]+e[C>>4&63]+e[C<<2&63]+"="),j.join("")};for(var e=[],s=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,h=l.length;u<h;++u)e[u]=l[u],s[l.charCodeAt(u)]=u;function _(b){var C=b.length;if(C%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var D=b.indexOf("=");return-1===D&&(D=C),[D,D===C?0:4-D%4]}function m(b,C,D){for(var j,H=[],z=C;z<D;z+=3)H.push(e[(j=(b[z]<<16&16711680)+(b[z+1]<<8&65280)+(255&b[z+2]))>>18&63]+e[j>>12&63]+e[j>>6&63]+e[63&j]);return H.join("")}s["-".charCodeAt(0)]=62,s["_".charCodeAt(0)]=63},function(g,o){o.read=function(t,e,s,a,l){var u,h,_=8*l-a-1,m=(1<<_)-1,b=m>>1,C=-7,D=s?l-1:0,x=s?-1:1,j=t[e+D];for(D+=x,u=j&(1<<-C)-1,j>>=-C,C+=_;C>0;u=256*u+t[e+D],D+=x,C-=8);for(h=u&(1<<-C)-1,u>>=-C,C+=a;C>0;h=256*h+t[e+D],D+=x,C-=8);if(0===u)u=1-b;else{if(u===m)return h?NaN:1/0*(j?-1:1);h+=Math.pow(2,a),u-=b}return(j?-1:1)*h*Math.pow(2,u-a)},o.write=function(t,e,s,a,l,u){var h,_,m,b=8*u-l-1,C=(1<<b)-1,D=C>>1,x=23===l?Math.pow(2,-24)-Math.pow(2,-77):0,j=a?0:u-1,H=a?1:-1,z=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(_=isNaN(e)?1:0,h=C):(h=Math.floor(Math.log(e)/Math.LN2),e*(m=Math.pow(2,-h))<1&&(h--,m*=2),(e+=h+D>=1?x/m:x*Math.pow(2,1-D))*m>=2&&(h++,m/=2),h+D>=C?(_=0,h=C):h+D>=1?(_=(e*m-1)*Math.pow(2,l),h+=D):(_=e*Math.pow(2,D-1)*Math.pow(2,l),h=0));l>=8;t[s+j]=255&_,j+=H,_/=256,l-=8);for(h=h<<l|_,b+=l;b>0;t[s+j]=255&h,j+=H,h/=256,b-=8);t[s+j-H]|=128*z}},function(g,o,t){var e=t(347);g.exports=e},function(g,o,t){t(534);var e=t(34).Object,s=g.exports=function(a,l,u){return e.defineProperty(a,l,u)};e.defineProperty.sham&&(s.sham=!0)},function(g,o,t){var e=t(22),s=t(48);e({target:"Object",stat:!0,forced:!s,sham:!s},{defineProperty:t(63).f})},function(g,o,t){var e=t(536);g.exports=e},function(g,o,t){var e=t(35),s=t(537),a=Function.prototype;g.exports=function(l){var u=l.bind;return l===a||e(a,l)&&u===a.bind?s:u}},function(g,o,t){t(538);var e=t(42);g.exports=e("Function").bind},function(g,o,t){t(22)({target:"Function",proto:!0},{bind:t(348)})},function(g,o,t){t(540);var e=t(34);g.exports=e.Object.assign},function(g,o,t){var e=t(22),s=t(350);e({target:"Object",stat:!0,forced:Object.assign!==s},{assign:s})},function(g,o,t){var e=t(35),s=t(542),a=Array.prototype;g.exports=function(l){var u=l.slice;return l===a||e(a,l)&&u===a.slice?s:u}},function(g,o,t){t(543);var e=t(42);g.exports=e("Array").slice},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(146),l=t(172),u=t(43),h=t(220),_=t(74),m=t(61),b=t(147),C=t(38),D=t(148),x=t(86),j=D("slice"),H=C("species"),z=s.Array,U=Math.max;e({target:"Array",proto:!0,forced:!j},{slice:function(M,I){var J,Y,ie,oe=m(this),fe=_(oe),ne=h(M,fe),he=h(void 0===I?fe:I,fe);if(a(oe)&&((l(J=oe.constructor)&&(J===z||a(J.prototype))||u(J)&&null===(J=J[H]))&&(J=void 0),J===z||void 0===J))return x(oe,ne,he);for(Y=new(void 0===J?z:J)(U(he-ne,0)),ie=0;ne<he;ne++,ie++)ne in oe&&b(Y,ie,oe[ne]);return Y.length=ie,Y}})},function(g,o,t){t(545);var e=t(34);g.exports=e.Array.isArray},function(g,o,t){t(22)({target:"Array",stat:!0},{isArray:t(146)})},function(g,o,t){var e=t(547);g.exports=e},function(g,o,t){var e=t(35),s=t(548),a=Array.prototype;g.exports=function(l){var u=l.reduce;return l===a||e(a,l)&&u===a.reduce?s:u}},function(g,o,t){t(549);var e=t(42);g.exports=e("Array").reduce},function(g,o,t){"use strict";var e=t(22),s=t(550).left,a=t(114),l=t(128),u=t(177);e({target:"Array",proto:!0,forced:!a("reduce")||!u&&l>79&&l<83},{reduce:function(h){var _=arguments.length;return s(this,h,_,_>1?arguments[1]:void 0)}})},function(g,o,t){var e=t(17),s=t(73),a=t(62),l=t(168),u=t(74),h=e.TypeError,_=function(m){return function(b,C,D,x){s(C);var j=a(b),H=l(j),z=u(j),U=m?z-1:0,M=m?-1:1;if(D<2)for(;;){if(U in H){x=H[U],U+=M;break}if(U+=M,m?U<0:z<=U)throw h("Reduce of empty array with no initial value")}for(;m?U>=0:z>U;U+=M)U in H&&(x=C(x,H[U],U,j));return x}};g.exports={left:_(!1),right:_(!0)}},function(g,o,t){var e=t(552);g.exports=e},function(g,o,t){var e=t(35),s=t(553),a=Array.prototype;g.exports=function(l){var u=l.map;return l===a||e(a,l)&&u===a.map?s:u}},function(g,o,t){t(554);var e=t(42);g.exports=e("Array").map},function(g,o,t){"use strict";var e=t(22),s=t(87).map;e({target:"Array",proto:!0,forced:!t(148)("map")},{map:function(a){return s(this,a,arguments.length>1?arguments[1]:void 0)}})},function(g,o,t){"use strict";var e=t(353),s=60103,a=60106;o.Fragment=60107,o.StrictMode=60108,o.Profiler=60114;var l=60109,u=60110,h=60112;o.Suspense=60113;var _=60115,m=60116;if("function"==typeof Symbol&&Symbol.for){var b=Symbol.for;s=b("react.element"),a=b("react.portal"),o.Fragment=b("react.fragment"),o.StrictMode=b("react.strict_mode"),o.Profiler=b("react.profiler"),l=b("react.provider"),u=b("react.context"),h=b("react.forward_ref"),o.Suspense=b("react.suspense"),_=b("react.memo"),m=b("react.lazy")}var C="function"==typeof Symbol&&Symbol.iterator;function D(ue){for(var He="https://reactjs.org/docs/error-decoder.html?invariant="+ue,$e=1;$e<arguments.length;$e++)He+="&args[]="+encodeURIComponent(arguments[$e]);return"Minified React error #"+ue+"; visit "+He+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var x={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j={};function H(ue,He,$e){this.props=ue,this.context=He,this.refs=j,this.updater=$e||x}function z(){}function U(ue,He,$e){this.props=ue,this.context=He,this.refs=j,this.updater=$e||x}H.prototype.isReactComponent={},H.prototype.setState=function(ue,He){if("object"!=typeof ue&&"function"!=typeof ue&&null!=ue)throw Error(D(85));this.updater.enqueueSetState(this,ue,He,"setState")},H.prototype.forceUpdate=function(ue){this.updater.enqueueForceUpdate(this,ue,"forceUpdate")},z.prototype=H.prototype;var M=U.prototype=new z;M.constructor=U,e(M,H.prototype),M.isPureReactComponent=!0;var I={current:null},J=Object.prototype.hasOwnProperty,Y={key:!0,ref:!0,__self:!0,__source:!0};function ie(ue,He,$e){var F,je={},Et=null,lt=null;if(null!=He)for(F in void 0!==He.ref&&(lt=He.ref),void 0!==He.key&&(Et=""+He.key),He)J.call(He,F)&&!Y.hasOwnProperty(F)&&(je[F]=He[F]);var nn=arguments.length-2;if(1===nn)je.children=$e;else if(1<nn){for(var St=Array(nn),At=0;At<nn;At++)St[At]=arguments[At+2];je.children=St}if(ue&&ue.defaultProps)for(F in nn=ue.defaultProps)void 0===je[F]&&(je[F]=nn[F]);return{$$typeof:s,type:ue,key:Et,ref:lt,props:je,_owner:I.current}}function oe(ue){return"object"==typeof ue&&null!==ue&&ue.$$typeof===s}var fe=/\/+/g;function ne(ue,He){return"object"==typeof ue&&null!==ue&&null!=ue.key?(F={"=":"=0",":":"=2"},"$"+(""+ue.key).replace(/[=:]/g,function(je){return F[je]})):He.toString(36);var F}function he(ue,He,$e,F,je){var Et=typeof ue;"undefined"!==Et&&"boolean"!==Et||(ue=null);var At,Qe,lt=!1;if(null===ue)lt=!0;else switch(Et){case"string":case"number":lt=!0;break;case"object":switch(ue.$$typeof){case s:case a:lt=!0}}if(lt)return je=je(lt=ue),ue=""===F?"."+ne(lt,0):F,Array.isArray(je)?($e="",null!=ue&&($e=ue.replace(fe,"$&/")+"/"),he(je,He,$e,"",function(At){return At})):null!=je&&(oe(je)&&(At=je,Qe=$e+(!je.key||lt&<.key===je.key?"":(""+je.key).replace(fe,"$&/")+"/")+ue,je={$$typeof:s,type:At.type,key:Qe,ref:At.ref,props:At.props,_owner:At._owner}),He.push(je)),1;if(lt=0,F=""===F?".":F+":",Array.isArray(ue))for(var nn=0;nn<ue.length;nn++){var St=F+ne(Et=ue[nn],nn);lt+=he(Et,He,$e,St,je)}else if("function"==typeof(St=function(At){return null===At||"object"!=typeof At?null:"function"==typeof(At=C&&At[C]||At["@@iterator"])?At:null}(ue)))for(ue=St.call(ue),nn=0;!(Et=ue.next()).done;)lt+=he(Et=Et.value,He,$e,St=F+ne(Et,nn++),je);else if("object"===Et)throw He=""+ue,Error(D(31,"[object Object]"===He?"object with keys {"+Object.keys(ue).join(", ")+"}":He));return lt}function ce(ue,He,$e){if(null==ue)return ue;var F=[],je=0;return he(ue,F,"","",function(Et){return He.call($e,Et,je++)}),F}function Ae(ue){if(-1===ue._status){var He=ue._result;He=He(),ue._status=0,ue._result=He,He.then(function($e){0===ue._status&&($e=$e.default,ue._status=1,ue._result=$e)},function($e){0===ue._status&&(ue._status=2,ue._result=$e)})}if(1===ue._status)return ue._result;throw ue._result}var Me={current:null};function Oe(){var ue=Me.current;if(null===ue)throw Error(D(321));return ue}var be={ReactCurrentDispatcher:Me,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:I,IsSomeRendererActing:{current:!1},assign:e};o.Children={map:ce,forEach:function(ue,He,$e){ce(ue,function(){He.apply(this,arguments)},$e)},count:function(ue){var He=0;return ce(ue,function(){He++}),He},toArray:function(ue){return ce(ue,function(He){return He})||[]},only:function(ue){if(!oe(ue))throw Error(D(143));return ue}},o.Component=H,o.PureComponent=U,o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=be,o.cloneElement=function(ue,He,$e){if(null==ue)throw Error(D(267,ue));var F=e({},ue.props),je=ue.key,Et=ue.ref,lt=ue._owner;if(null!=He){if(void 0!==He.ref&&(Et=He.ref,lt=I.current),void 0!==He.key&&(je=""+He.key),ue.type&&ue.type.defaultProps)var nn=ue.type.defaultProps;for(St in He)J.call(He,St)&&!Y.hasOwnProperty(St)&&(F[St]=void 0===He[St]&&void 0!==nn?nn[St]:He[St])}var St=arguments.length-2;if(1===St)F.children=$e;else if(1<St){nn=Array(St);for(var At=0;At<St;At++)nn[At]=arguments[At+2];F.children=nn}return{$$typeof:s,type:ue.type,key:je,ref:Et,props:F,_owner:lt}},o.createContext=function(ue,He){return void 0===He&&(He=null),(ue={$$typeof:u,_calculateChangedBits:He,_currentValue:ue,_currentValue2:ue,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:l,_context:ue},ue.Consumer=ue},o.createElement=ie,o.createFactory=function(ue){var He=ie.bind(null,ue);return He.type=ue,He},o.createRef=function(){return{current:null}},o.forwardRef=function(ue){return{$$typeof:h,render:ue}},o.isValidElement=oe,o.lazy=function(ue){return{$$typeof:m,_payload:{_status:-1,_result:ue},_init:Ae}},o.memo=function(ue,He){return{$$typeof:_,type:ue,compare:void 0===He?null:He}},o.useCallback=function(ue,He){return Oe().useCallback(ue,He)},o.useContext=function(ue,He){return Oe().useContext(ue,He)},o.useDebugValue=function(){},o.useEffect=function(ue,He){return Oe().useEffect(ue,He)},o.useImperativeHandle=function(ue,He,$e){return Oe().useImperativeHandle(ue,He,$e)},o.useLayoutEffect=function(ue,He){return Oe().useLayoutEffect(ue,He)},o.useMemo=function(ue,He){return Oe().useMemo(ue,He)},o.useReducer=function(ue,He,$e){return Oe().useReducer(ue,He,$e)},o.useRef=function(ue){return Oe().useRef(ue)},o.useState=function(ue){return Oe().useState(ue)},o.version="17.0.2"},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0});var e,a=(e=t(1))&&e.__esModule?e:{default:e},l=t(557);o.default=function(u){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.default.Map,_=Object.keys(u);return function(){var m=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h(),b=arguments[1];return m.withMutations(function(C){_.forEach(function(D){var x=(0,u[D])(C.get(D),b);(0,l.validateNextState)(x,D,b),C.set(D,x)})})}},g.exports=o.default},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.validateNextState=o.getUnexpectedInvocationParameterMessage=o.getStateName=void 0;var e=l(t(354)),s=l(t(558)),a=l(t(559));function l(u){return u&&u.__esModule?u:{default:u}}o.getStateName=e.default,o.getUnexpectedInvocationParameterMessage=s.default,o.validateNextState=a.default},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0});var e=a(t(1)),s=a(t(354));function a(l){return l&&l.__esModule?l:{default:l}}o.default=function(l,u,h){var _=Object.keys(u);if(!_.length)return"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";var m=(0,s.default)(h);if(e.default.isImmutable?!e.default.isImmutable(l):!e.default.Iterable.isIterable(l))return"The "+m+' is of unexpected type. Expected argument to be an instance of Immutable.Collection or Immutable.Record with the following properties: "'+_.join('", "')+'".';var b=l.toSeq().keySeq().toArray().filter(function(C){return!u.hasOwnProperty(C)});return b.length>0?"Unexpected "+(1===b.length?"property":"properties")+' "'+b.join('", "')+'" found in '+m+'. Expected to find one of the known reducer property names instead: "'+_.join('", "')+'". Unexpected properties will be ignored.':null},g.exports=o.default},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.default=function(e,s,a){if(void 0===e)throw new Error('Reducer "'+s+'" returned undefined when handling "'+a.type+'" action. To ignore an action, you must explicitly return the previous state.')},g.exports=o.default},function(g,o,t){var e=t(178),s=t(357),a=t(359),l=t(590),u=t(53),h=t(153),_=t(366);g.exports=function m(b,C,D,x,j){b!==C&&a(C,function(H,z){if(j||(j=new e),u(H))l(b,C,z,D,m,x,j);else{var U=x?x(_(b,z),H,z+"",b,C,j):void 0;void 0===U&&(U=H),s(b,z,U)}},h)}},function(g,o){g.exports=function(){this.__data__=[],this.size=0}},function(g,o,t){var e=t(180),s=Array.prototype.splice;g.exports=function(a){var l=this.__data__,u=e(l,a);return!(u<0||(u==l.length-1?l.pop():s.call(l,u,1),--this.size,0))}},function(g,o,t){var e=t(180);g.exports=function(s){var a=this.__data__,l=e(a,s);return l<0?void 0:a[l][1]}},function(g,o,t){var e=t(180);g.exports=function(s){return e(this.__data__,s)>-1}},function(g,o,t){var e=t(180);g.exports=function(s,a){var l=this.__data__,u=e(l,s);return u<0?(++this.size,l.push([s,a])):l[u][1]=a,this}},function(g,o,t){var e=t(179);g.exports=function(){this.__data__=new e,this.size=0}},function(g,o){g.exports=function(t){var e=this.__data__,s=e.delete(t);return this.size=e.size,s}},function(g,o){g.exports=function(t){return this.__data__.get(t)}},function(g,o){g.exports=function(t){return this.__data__.has(t)}},function(g,o,t){var e=t(179),s=t(227),a=t(228);g.exports=function(l,u){var h=this.__data__;if(h instanceof e){var _=h.__data__;if(!s||_.length<199)return _.push([l,u]),this.size=++h.size,this;h=this.__data__=new a(_)}return h.set(l,u),this.size=h.size,this}},function(g,o,t){var e=t(104),s=t(574),a=t(53),l=t(356),u=/^\[object .+?Constructor\]$/,C=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");g.exports=function(D){return!(!a(D)||s(D))&&(e(D)?C:u).test(l(D))}},function(g,o,t){var e=t(133),s=Object.prototype,a=s.hasOwnProperty,l=s.toString,u=e?e.toStringTag:void 0;g.exports=function(h){var _=a.call(h,u),m=h[u];try{h[u]=void 0;var b=!0}catch(D){}var C=l.call(h);return b&&(_?h[u]=m:delete h[u]),C}},function(g,o){var t=Object.prototype.toString;g.exports=function(e){return t.call(e)}},function(g,o,t){var e,s=t(575),a=(e=/[^.]+$/.exec(s&&s.keys&&s.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";g.exports=function(l){return!!a&&a in l}},function(g,o,t){var e=t(69)["__core-js_shared__"];g.exports=e},function(g,o){g.exports=function(t,e){return null==t?void 0:t[e]}},function(g,o,t){var e=t(578),s=t(179),a=t(227);g.exports=function(){this.size=0,this.__data__={hash:new e,map:new(a||s),string:new e}}},function(g,o,t){var e=t(579),s=t(580),a=t(581),l=t(582),u=t(583);function h(_){var m=-1,b=null==_?0:_.length;for(this.clear();++m<b;){var C=_[m];this.set(C[0],C[1])}}h.prototype.clear=e,h.prototype.delete=s,h.prototype.get=a,h.prototype.has=l,h.prototype.set=u,g.exports=h},function(g,o,t){var e=t(181);g.exports=function(){this.__data__=e?e(null):{},this.size=0}},function(g,o){g.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},function(g,o,t){var e=t(181),s=Object.prototype.hasOwnProperty;g.exports=function(a){var l=this.__data__;if(e){var u=l[a];return"__lodash_hash_undefined__"===u?void 0:u}return s.call(l,a)?l[a]:void 0}},function(g,o,t){var e=t(181),s=Object.prototype.hasOwnProperty;g.exports=function(a){var l=this.__data__;return e?void 0!==l[a]:s.call(l,a)}},function(g,o,t){var e=t(181);g.exports=function(s,a){var l=this.__data__;return this.size+=this.has(s)?0:1,l[s]=e&&void 0===a?"__lodash_hash_undefined__":a,this}},function(g,o,t){var e=t(182);g.exports=function(s){var a=e(this,s).delete(s);return this.size-=a?1:0,a}},function(g,o){g.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},function(g,o,t){var e=t(182);g.exports=function(s){return e(this,s).get(s)}},function(g,o,t){var e=t(182);g.exports=function(s){return e(this,s).has(s)}},function(g,o,t){var e=t(182);g.exports=function(s,a){var l=e(this,s),u=l.size;return l.set(s,a),this.size+=l.size==u?0:1,this}},function(g,o){g.exports=function(t){return function(e,s,a){for(var l=-1,u=Object(e),h=a(e),_=h.length;_--;){var m=h[t?_:++l];if(!1===s(u[m],m,u))break}return e}}},function(g,o,t){var e=t(357),s=t(360),a=t(361),l=t(363),u=t(364),h=t(151),_=t(52),m=t(593),b=t(152),C=t(104),D=t(53),x=t(140),j=t(185),H=t(366),z=t(596);g.exports=function(U,M,I,J,Y,ie,oe){var fe=H(U,I),ne=H(M,I),he=oe.get(ne);if(he)e(U,I,he);else{var ce=ie?ie(fe,ne,I+"",U,M,oe):void 0,Ae=void 0===ce;if(Ae){var Me=_(ne),Oe=!Me&&b(ne),be=!Me&&!Oe&&j(ne);ce=ne,Me||Oe||be?_(fe)?ce=fe:m(fe)?ce=l(fe):Oe?(Ae=!1,ce=s(ne,!0)):be?(Ae=!1,ce=a(ne,!0)):ce=[]:x(ne)||h(ne)?(ce=fe,h(fe)?ce=z(fe):D(fe)&&!C(fe)||(ce=u(ne))):Ae=!1}Ae&&(oe.set(ne,ce),Y(ce,ne,J,ie,oe),oe.delete(ne)),e(U,I,ce)}}},function(g,o,t){var e=t(53),s=Object.create,a=function(){function l(){}return function(u){if(!e(u))return{};if(s)return s(u);l.prototype=u;var h=new l;return l.prototype=void 0,h}}();g.exports=a},function(g,o,t){var e=t(116),s=t(78);g.exports=function(a){return s(a)&&"[object Arguments]"==e(a)}},function(g,o,t){var e=t(117),s=t(78);g.exports=function(a){return s(a)&&e(a)}},function(g,o){g.exports=function(){return!1}},function(g,o,t){var e=t(116),s=t(232),a=t(78),l={};l["[object Float32Array]"]=l["[object Float64Array]"]=l["[object Int8Array]"]=l["[object Int16Array]"]=l["[object Int32Array]"]=l["[object Uint8Array]"]=l["[object Uint8ClampedArray]"]=l["[object Uint16Array]"]=l["[object Uint32Array]"]=!0,l["[object Arguments]"]=l["[object Array]"]=l["[object ArrayBuffer]"]=l["[object Boolean]"]=l["[object DataView]"]=l["[object Date]"]=l["[object Error]"]=l["[object Function]"]=l["[object Map]"]=l["[object Number]"]=l["[object Object]"]=l["[object RegExp]"]=l["[object Set]"]=l["[object String]"]=l["[object WeakMap]"]=!1,g.exports=function(u){return a(u)&&s(u.length)&&!!l[e(u)]}},function(g,o,t){var e=t(134),s=t(153);g.exports=function(a){return e(a,s(a))}},function(g,o){g.exports=function(t,e){for(var s=-1,a=Array(t);++s<t;)a[s]=e(s);return a}},function(g,o,t){var e=t(53),s=t(184),a=t(599),l=Object.prototype.hasOwnProperty;g.exports=function(u){if(!e(u))return a(u);var h=s(u),_=[];for(var m in u)("constructor"!=m||!h&&l.call(u,m))&&_.push(m);return _}},function(g,o){g.exports=function(t){var e=[];if(null!=t)for(var s in Object(t))e.push(s);return e}},function(g,o,t){var e=t(601),s=t(370);g.exports=function(a){return e(function(l,u){var h=-1,_=u.length,m=_>1?u[_-1]:void 0,b=_>2?u[2]:void 0;for(m=a.length>3&&"function"==typeof m?(_--,m):void 0,b&&s(u[0],u[1],b)&&(m=_<3?void 0:m,_=1),l=Object(l);++h<_;){var C=u[h];C&&a(l,C,h,m)}return l})}},function(g,o,t){var e=t(236),s=t(368),a=t(369);g.exports=function(l,u){return a(s(l,u,e),l+"")}},function(g,o){g.exports=function(t,e,s){switch(s.length){case 0:return t.call(e);case 1:return t.call(e,s[0]);case 2:return t.call(e,s[0],s[1]);case 3:return t.call(e,s[0],s[1],s[2])}return t.apply(e,s)}},function(g,o,t){var e=t(604),s=t(358),a=t(236);g.exports=s?function(u,h){return s(u,"toString",{configurable:!0,enumerable:!1,value:e(h),writable:!0})}:a},function(g,o){g.exports=function(t){return function(){return t}}},function(g,o){var t=Date.now;g.exports=function(e){var s=0,a=0;return function(){var l=t(),u=16-(l-a);if(a=l,u>0){if(++s>=800)return arguments[0]}else s=0;return e.apply(void 0,arguments)}}},function(g,o,t){var e=t(237),s=t(371);g.exports=function(a){if(e(a))return s(a)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(352);g.exports=e},function(g,o,t){var e=t(609);g.exports=e},function(g,o,t){var e=t(610);t(68),g.exports=e},function(g,o,t){t(77),t(131);var e=t(154);g.exports=e},function(g,o,t){var e=t(374);g.exports=e},function(g,o,t){t(131),t(613);var e=t(34);g.exports=e.Array.from},function(g,o,t){var e=t(22),s=t(375);e({target:"Array",stat:!0,forced:!t(378)(function(a){Array.from(a)})},{from:s})},function(g,o,t){var e=t(51),s=t(376);g.exports=function(a,l,u,h){try{return h?l(e(u)[0],u[1]):l(u)}catch(_){s(a,"throw",_)}}},function(g,o,t){g.exports=t(616)},function(g,o,t){var e=t(351);g.exports=e},function(g,o){g.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(166),s=t(238);g.exports=function(a,l){var u=null==a?null:void 0!==e&&s(a)||a["@@iterator"];if(null!=u){var h,_,m=[],b=!0,C=!1;try{for(u=u.call(a);!(b=(h=u.next()).done)&&(m.push(h.value),!l||m.length!==l);b=!0);}catch(D){C=!0,_=D}finally{try{b||null==u.return||u.return()}finally{if(C)throw _}}return m}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){t(68);var e=t(75),s=t(44),a=t(35),l=t(620),u=Array.prototype,h={DOMTokenList:!0,NodeList:!0};g.exports=function(_){var m=_.entries;return _===u||a(u,_)&&m===u.entries||s(h,e(_))?l:m}},function(g,o,t){var e=t(621);g.exports=e},function(g,o,t){t(77),t(97);var e=t(42);g.exports=e("Array").entries},function(g,o,t){var e=t(623);g.exports=e},function(g,o,t){t(624);var e=t(42);g.exports=e("Array").forEach},function(g,o,t){"use strict";var e=t(22),s=t(625);e({target:"Array",proto:!0,forced:[].forEach!=s},{forEach:s})},function(g,o,t){"use strict";var e=t(87).forEach,s=t(114)("forEach");g.exports=s?[].forEach:function(a){return e(this,a,arguments.length>1?arguments[1]:void 0)}},function(g,o,t){var e=t(627);g.exports=e},function(g,o,t){var e=t(35),s=t(628),a=Array.prototype;g.exports=function(l){var u=l.sort;return l===a||e(a,l)&&u===a.sort?s:u}},function(g,o,t){t(629);var e=t(42);g.exports=e("Array").sort},function(g,o,t){"use strict";var e=t(22),s=t(27),a=t(73),l=t(62),u=t(74),h=t(67),_=t(33),m=t(382),b=t(114),C=t(630),D=t(631),x=t(128),j=t(632),H=[],z=s(H.sort),U=s(H.push),M=_(function(){H.sort(void 0)}),I=_(function(){H.sort(null)}),J=b("sort"),Y=!_(function(){if(x)return x<70;if(!(C&&C>3)){if(D)return!0;if(j)return j<603;var ie,oe,fe,ne,he="";for(ie=65;ie<76;ie++){switch(oe=String.fromCharCode(ie),ie){case 66:case 69:case 70:case 72:fe=3;break;case 68:case 71:fe=4;break;default:fe=2}for(ne=0;ne<47;ne++)H.push({k:oe+ne,v:fe})}for(H.sort(function(ce,Ae){return Ae.v-ce.v}),ne=0;ne<H.length;ne++)oe=H[ne].k.charAt(0),he.charAt(he.length-1)!==oe&&(he+=oe);return"DGBEFHACIJK"!==he}});e({target:"Array",proto:!0,forced:M||!I||!J||!Y},{sort:function(ie){void 0!==ie&&a(ie);var oe=l(this);if(Y)return void 0===ie?z(oe):z(oe,ie);var fe,ne,he=[],ce=u(oe);for(ne=0;ne<ce;ne++)ne in oe&&U(he,oe[ne]);for(m(he,function(Ae){return function(Me,Oe){return void 0===Oe?-1:void 0===Me?1:void 0!==Ae?+Ae(Me,Oe)||0:h(Me)>h(Oe)?1:-1}}(ie)),fe=he.length,ne=0;ne<fe;)oe[ne]=he[ne++];for(;ne<ce;)delete oe[ne++];return oe}})},function(g,o,t){var e=t(95).match(/firefox\/(\d+)/i);g.exports=!!e&&+e[1]},function(g,o,t){var e=t(95);g.exports=/MSIE|Trident/.test(e)},function(g,o,t){var e=t(95).match(/AppleWebKit\/(\d+)\./);g.exports=!!e&&+e[1]},function(g,o,t){var e=t(634);g.exports=e},function(g,o,t){var e=t(35),s=t(635),a=Array.prototype;g.exports=function(l){var u=l.some;return l===a||e(a,l)&&u===a.some?s:u}},function(g,o,t){t(636);var e=t(42);g.exports=e("Array").some},function(g,o,t){"use strict";var e=t(22),s=t(87).some;e({target:"Array",proto:!0,forced:!t(114)("some")},{some:function(a){return s(this,a,arguments.length>1?arguments[1]:void 0)}})},function(g,o,t){var e=t(638);g.exports=e},function(g,o,t){var e=t(35),s=t(639),a=t(641),l=Array.prototype,u=String.prototype;g.exports=function(h){var _=h.includes;return h===l||e(l,h)&&_===l.includes?s:"string"==typeof h||h===u||e(u,h)&&_===u.includes?a:_}},function(g,o,t){t(640);var e=t(42);g.exports=e("Array").includes},function(g,o,t){"use strict";var e=t(22),s=t(219).includes,a=t(224);e({target:"Array",proto:!0},{includes:function(l){return s(this,l,arguments.length>1?arguments[1]:void 0)}}),a("includes")},function(g,o,t){t(642);var e=t(42);g.exports=e("String").includes},function(g,o,t){"use strict";var e=t(22),s=t(27),a=t(383),l=t(113),u=t(67),h=t(384),_=s("".indexOf);e({target:"String",proto:!0,forced:!h("includes")},{includes:function(m){return!!~_(u(l(this)),u(a(m)),arguments.length>1?arguments[1]:void 0)}})},function(g,o,t){var e=t(43),s=t(112),a=t(38)("match");g.exports=function(l){var u;return e(l)&&(void 0!==(u=l[a])?!!u:"RegExp"==s(l))}},function(g,o,t){var e=t(35),s=t(645),a=Array.prototype;g.exports=function(l){var u=l.indexOf;return l===a||e(a,l)&&u===a.indexOf?s:u}},function(g,o,t){t(646);var e=t(42);g.exports=e("Array").indexOf},function(g,o,t){"use strict";var e=t(22),s=t(27),a=t(219).indexOf,l=t(114),u=s([].indexOf),h=!!u&&1/u([1],1,-0)<0,_=l("indexOf");e({target:"Array",proto:!0,forced:h||!_},{indexOf:function(m){var b=arguments.length>1?arguments[1]:void 0;return h?u(this,m,b)||0:a(this,m,b)}})},function(g,o,t){var e=t(648);g.exports=e},function(g,o,t){var e=t(35),s=t(649),a=Array.prototype;g.exports=function(l){var u=l.find;return l===a||e(a,l)&&u===a.find?s:u}},function(g,o,t){t(650);var e=t(42);g.exports=e("Array").find},function(g,o,t){"use strict";var e=t(22),s=t(87).find,a=t(224),l="find",u=!0;l in[]&&Array(1).find(function(){u=!1}),e({target:"Array",proto:!0,forced:u},{find:function(h){return s(this,h,arguments.length>1?arguments[1]:void 0)}}),a(l)},function(g,o,t){var e=t(652);g.exports=e},function(g,o,t){var e=t(35),s=t(653),a=String.prototype;g.exports=function(l){var u=l.startsWith;return"string"==typeof l||l===a||e(a,l)&&u===a.startsWith?s:u}},function(g,o,t){t(654);var e=t(42);g.exports=e("String").startsWith},function(g,o,t){"use strict";var e,s=t(22),a=t(27),l=t(111).f,u=t(332),h=t(67),_=t(383),m=t(113),b=t(384),C=t(96),D=a("".startsWith),x=a("".slice),j=Math.min,H=b("startsWith");s({target:"String",proto:!0,forced:!(!C&&!H&&(e=l(String.prototype,"startsWith"),e&&!e.writable)||H)},{startsWith:function(z){var U=h(m(this));_(z);var M=u(j(arguments.length>1?arguments[1]:void 0,U.length)),I=h(z);return D?D(U,I,M):x(U,M,M+I.length)===I}})},function(g,o,t){var e=t(656);g.exports=e},function(g,o,t){var e=t(35),s=t(657),a=String.prototype;g.exports=function(l){var u=l.trim;return"string"==typeof l||l===a||e(a,l)&&u===a.trim?s:u}},function(g,o,t){t(658);var e=t(42);g.exports=e("String").trim},function(g,o,t){"use strict";var e=t(22),s=t(659).trim;e({target:"String",proto:!0,forced:t(660)("trim")},{trim:function(){return s(this)}})},function(g,o,t){var e=t(27),s=t(113),a=t(67),l=t(386),u=e("".replace),h="["+l+"]",_=RegExp("^"+h+h+"*"),m=RegExp(h+h+"*$"),b=function(C){return function(D){var x=a(s(D));return 1&C&&(x=u(x,_,"")),2&C&&(x=u(x,m,"")),x}};g.exports={start:b(1),end:b(2),trim:b(3)}},function(g,o,t){var e=t(339).PROPER,s=t(33),a=t(386);g.exports=function(l){return s(function(){return!!a[l]()||"\u200b\x85\u180e"!=="\u200b\x85\u180e"[l]()||e&&a[l].name!==l})}},function(g,o,t){var e=t(102),s=t(254);g.exports=function(a){return s(e(a).toLowerCase())}},function(g,o,t){var e=t(133),s=t(387),a=t(52),l=t(188),u=e?e.prototype:void 0,h=u?u.toString:void 0;g.exports=function _(m){if("string"==typeof m)return m;if(a(m))return s(m,_)+"";if(l(m))return h?h.call(m):"";var b=m+"";return"0"==b&&1/m==-1/0?"-0":b}},function(g,o,t){var e=t(664),s=t(389),a=t(665),l=t(102);g.exports=function(u){return function(h){h=l(h);var _=s(h)?a(h):void 0,m=_?_[0]:h.charAt(0),b=_?e(_,1).join(""):h.slice(1);return m[u]()+b}}},function(g,o,t){var e=t(388);g.exports=function(s,a,l){var u=s.length;return l=void 0===l?u:l,!a&&l>=u?s:e(s,a,l)}},function(g,o,t){var e=t(666),s=t(389),a=t(667);g.exports=function(l){return s(l)?a(l):e(l)}},function(g,o){g.exports=function(t){return t.split("")}},function(g,o){var e="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",s="\\ud83c[\\udffb-\\udfff]",a="[^\\ud800-\\udfff]",l="(?:\\ud83c[\\udde6-\\uddff]){2}",u="[\\ud800-\\udbff][\\udc00-\\udfff]",h="(?:"+e+"|"+s+")?",_="[\\ufe0e\\ufe0f]?",m=_+h+"(?:\\u200d(?:"+[a,l,u].join("|")+")"+_+h+")*",b="(?:"+[a+e+"?",e,l,u,"[\\ud800-\\udfff]"].join("|")+")",C=RegExp(s+"(?="+s+")|"+b+m,"g");g.exports=function(D){return D.match(C)||[]}},function(g,o,t){var e=t(390),s=t(669),a=t(672),l=RegExp("['\u2019]","g");g.exports=function(u){return function(h){return e(a(s(h).replace(l,"")),u,"")}}},function(g,o,t){var e=t(670),s=t(102),a=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,l=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");g.exports=function(u){return(u=s(u))&&u.replace(a,e).replace(l,"")}},function(g,o,t){var e=t(671)({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"});g.exports=e},function(g,o){g.exports=function(t){return function(e){return null==t?void 0:t[e]}}},function(g,o,t){var e=t(673),s=t(674),a=t(102),l=t(675);g.exports=function(u,h,_){return u=a(u),void 0===(h=_?void 0:h)?s(u)?l(u):e(u):u.match(h)||[]}},function(g,o){var t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;g.exports=function(e){return e.match(t)||[]}},function(g,o){var t=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;g.exports=function(e){return t.test(e)}},function(g,o){var e="a-z\\xdf-\\xf6\\xf8-\\xff",s="A-Z\\xc0-\\xd6\\xd8-\\xde",a="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",l="["+a+"]",u="\\d+",_="["+e+"]",m="[^\\ud800-\\udfff"+a+u+"\\u2700-\\u27bf"+e+s+"]",b="(?:\\ud83c[\\udde6-\\uddff]){2}",C="[\\ud800-\\udbff][\\udc00-\\udfff]",D="["+s+"]",x="(?:"+_+"|"+m+")",j="(?:"+D+"|"+m+")",H="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",z="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",U="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",M="[\\ufe0e\\ufe0f]?",I=M+U+"(?:\\u200d(?:"+["[^\\ud800-\\udfff]",b,C].join("|")+")"+M+U+")*",J="(?:"+["[\\u2700-\\u27bf]",b,C].join("|")+")"+I,Y=RegExp([D+"?"+_+"+"+H+"(?="+[l,D,"$"].join("|")+")",j+"+"+z+"(?="+[l,D+x,"$"].join("|")+")",D+"?"+x+"+"+H,D+"+"+z,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",u,J].join("|"),"g");g.exports=function(ie){return ie.match(Y)||[]}},function(g,o,t){var e=t(189),s=t(117),a=t(135);g.exports=function(l){return function(u,h,_){var m=Object(u);if(!s(u)){var b=e(h,3);u=a(u),h=function(D){return b(m[D],D,m)}}var C=l(u,h,_);return C>-1?m[b?u[C]:C]:void 0}}},function(g,o,t){var e=t(678),s=t(694),a=t(399);g.exports=function(l){var u=s(l);return 1==u.length&&u[0][2]?a(u[0][0],u[0][1]):function(h){return h===l||e(h,l,u)}}},function(g,o,t){var e=t(178),s=t(391);g.exports=function(a,l,u,h){var _=u.length,m=_,b=!h;if(null==a)return!m;for(a=Object(a);_--;){var C=u[_];if(b&&C[2]?C[1]!==a[C[0]]:!(C[0]in a))return!1}for(;++_<m;){var D=(C=u[_])[0],x=a[D],j=C[1];if(b&&C[2]){if(void 0===x&&!(D in a))return!1}else{var H=new e;if(h)var z=h(x,j,D,a,l,H);if(!(void 0===z?s(j,x,3,h,H):z))return!1}}return!0}},function(g,o,t){var e=t(178),s=t(392),a=t(684),l=t(687),u=t(155),h=t(52),_=t(152),m=t(185),b="[object Arguments]",C="[object Array]",D="[object Object]",x=Object.prototype.hasOwnProperty;g.exports=function(j,H,z,U,M,I){var J=h(j),Y=h(H),ie=J?C:u(j),oe=Y?C:u(H),fe=(ie=ie==b?D:ie)==D,ne=(oe=oe==b?D:oe)==D,he=ie==oe;if(he&&_(j)){if(!_(H))return!1;J=!0,fe=!1}if(he&&!fe)return I||(I=new e),J||m(j)?s(j,H,z,U,M,I):a(j,H,ie,z,U,M,I);if(!(1&z)){var ce=fe&&x.call(j,"__wrapped__"),Ae=ne&&x.call(H,"__wrapped__");if(ce||Ae){var Me=ce?j.value():j,Oe=Ae?H.value():H;return I||(I=new e),M(Me,Oe,z,U,I)}}return!!he&&(I||(I=new e),l(j,H,z,U,M,I))}},function(g,o,t){var e=t(228),s=t(681),a=t(682);function l(u){var h=-1,_=null==u?0:u.length;for(this.__data__=new e;++h<_;)this.add(u[h])}l.prototype.add=l.prototype.push=s,l.prototype.has=a,g.exports=l},function(g,o){g.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},function(g,o){g.exports=function(t){return this.__data__.has(t)}},function(g,o){g.exports=function(t,e){return t.has(e)}},function(g,o,t){var e=t(133),s=t(362),a=t(103),l=t(392),u=t(685),h=t(686),_=e?e.prototype:void 0,m=_?_.valueOf:void 0;g.exports=function(b,C,D,x,j,H,z){switch(D){case"[object DataView]":if(b.byteLength!=C.byteLength||b.byteOffset!=C.byteOffset)return!1;b=b.buffer,C=C.buffer;case"[object ArrayBuffer]":return!(b.byteLength!=C.byteLength||!H(new s(b),new s(C)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+b,+C);case"[object Error]":return b.name==C.name&&b.message==C.message;case"[object RegExp]":case"[object String]":return b==C+"";case"[object Map]":var U=u;case"[object Set]":if(U||(U=h),b.size!=C.size&&!(1&x))return!1;var I=z.get(b);if(I)return I==C;x|=2,z.set(b,C);var J=l(U(b),U(C),x,j,H,z);return z.delete(b),J;case"[object Symbol]":if(m)return m.call(b)==m.call(C)}return!1}},function(g,o){g.exports=function(t){var e=-1,s=Array(t.size);return t.forEach(function(a,l){s[++e]=[l,a]}),s}},function(g,o){g.exports=function(t){var e=-1,s=Array(t.size);return t.forEach(function(a){s[++e]=a}),s}},function(g,o,t){var e=t(394),s=Object.prototype.hasOwnProperty;g.exports=function(a,l,u,h,_,m){var b=1&u,C=e(a),D=C.length;if(D!=e(l).length&&!b)return!1;for(var x=D;x--;){var j=C[x];if(!(b?j in l:s.call(l,j)))return!1}var H=m.get(a),z=m.get(l);if(H&&z)return H==l&&z==a;var U=!0;m.set(a,l),m.set(l,a);for(var M=b;++x<D;){var I=a[j=C[x]],J=l[j];if(h)var Y=b?h(J,I,j,l,a,m):h(I,J,j,a,l,m);if(!(void 0===Y?I===J||_(I,J,u,h,m):Y)){U=!1;break}M||(M="constructor"==j)}if(U&&!M){var ie=a.constructor,oe=l.constructor;ie==oe||!("constructor"in a)||!("constructor"in l)||"function"==typeof ie&&ie instanceof ie&&"function"==typeof oe&&oe instanceof oe||(U=!1)}return m.delete(a),m.delete(l),U}},function(g,o){g.exports=function(t,e){for(var s=-1,a=null==t?0:t.length,l=0,u=[];++s<a;){var h=t[s];e(h,s,t)&&(u[l++]=h)}return u}},function(g,o,t){var e=t(365)(Object.keys,Object);g.exports=e},function(g,o,t){var e=t(115)(t(69),"DataView");g.exports=e},function(g,o,t){var e=t(115)(t(69),"Promise");g.exports=e},function(g,o,t){var e=t(115)(t(69),"Set");g.exports=e},function(g,o,t){var e=t(115)(t(69),"WeakMap");g.exports=e},function(g,o,t){var e=t(398),s=t(135);g.exports=function(a){for(var l=s(a),u=l.length;u--;){var h=l[u],_=a[h];l[u]=[h,_,e(_)]}return l}},function(g,o,t){var e=t(391),s=t(39),a=t(698),l=t(243),u=t(398),h=t(399),_=t(136);g.exports=function(m,b){return l(m)&&u(b)?h(_(m),b):function(C){var D=s(C,m);return void 0===D&&D===b?a(C,m):e(b,D,3)}}},function(g,o,t){var e=t(697),s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,l=e(function(u){var h=[];return 46===u.charCodeAt(0)&&h.push(""),u.replace(s,function(_,m,b,C){h.push(b?C.replace(a,"$1"):m||_)}),h});g.exports=l},function(g,o,t){var e=t(255);g.exports=function(s){var a=e(s,function(u){return 500===l.size&&l.clear(),u}),l=a.cache;return a}},function(g,o,t){var e=t(699),s=t(700);g.exports=function(a,l){return null!=a&&s(a,l,e)}},function(g,o){g.exports=function(t,e){return null!=t&&e in Object(t)}},function(g,o,t){var e=t(156),s=t(151),a=t(52),l=t(186),u=t(232),h=t(136);g.exports=function(_,m,b){for(var C=-1,D=(m=e(m,_)).length,x=!1;++C<D;){var j=h(m[C]);if(!(x=null!=_&&b(_,j)))break;_=_[j]}return x||++C!=D?x:!!(D=null==_?0:_.length)&&u(D)&&l(j,D)&&(a(_)||s(_))}},function(g,o,t){var e=t(702),s=t(703),a=t(243),l=t(136);g.exports=function(u){return a(u)?e(l(u)):s(u)}},function(g,o){g.exports=function(t){return function(e){return null==e?void 0:e[t]}}},function(g,o,t){var e=t(242);g.exports=function(s){return function(a){return e(a,s)}}},function(g,o,t){var e=t(705),s=t(189),a=t(706),l=Math.max;g.exports=function(u,h,_){var m=null==u?0:u.length;if(!m)return-1;var b=null==_?0:a(_);return b<0&&(b=l(m+b,0)),e(u,s(h,3),b)}},function(g,o){g.exports=function(t,e,s,a){for(var l=t.length,u=s+(a?1:-1);a?u--:++u<l;)if(e(t[u],u,t))return u;return-1}},function(g,o,t){var e=t(707);g.exports=function(s){var a=e(s),l=a%1;return a==a?l?a-l:a:0}},function(g,o,t){var e=t(400);g.exports=function(a){return a?1/0===(a=e(a))||a===-1/0?17976931348623157e292*(a<0?-1:1):a==a?a:0:0===a?a:0}},function(g,o,t){var e=t(709),s=/^\s+/;g.exports=function(a){return a&&a.slice(0,e(a)+1).replace(s,"")}},function(g,o){var t=/\s/;g.exports=function(e){for(var s=e.length;s--&&t.test(e.charAt(s)););return s}},function(g,o,t){var e=t(401);g.exports=function(s,a){var l;return e(s,function(u,h,_){return!(l=a(u,h,_))}),!!l}},function(g,o,t){var e=t(359),s=t(135);g.exports=function(a,l){return a&&e(a,l,s)}},function(g,o,t){var e=t(117);g.exports=function(s,a){return function(l,u){if(null==l)return l;if(!e(l))return s(l,u);for(var h=l.length,_=a?h:-1,m=Object(l);(a?_--:++_<h)&&!1!==u(m[_],_,m););return l}}},function(g,o){var t={"&":"&",'"':""","'":"'","<":"<",">":">"};g.exports=function(e){return e&&e.replace?e.replace(/([&"<>'])/g,function(s,a){return t[a]}):e}},function(g,o,t){g.exports=s;var e=t(244).EventEmitter;function s(){e.call(this)}t(64)(s,e),s.Readable=t(245),s.Writable=t(721),s.Duplex=t(722),s.Transform=t(723),s.PassThrough=t(724),s.Stream=s,s.prototype.pipe=function(a,l){var u=this;function h(j){a.writable&&!1===a.write(j)&&u.pause&&u.pause()}function _(){u.readable&&u.resume&&u.resume()}u.on("data",h),a.on("drain",_),a._isStdio||l&&!1===l.end||(u.on("end",b),u.on("close",C));var m=!1;function b(){m||(m=!0,a.end())}function C(){m||(m=!0,"function"==typeof a.destroy&&a.destroy())}function D(j){if(x(),0===e.listenerCount(this,"error"))throw j}function x(){u.removeListener("data",h),a.removeListener("drain",_),u.removeListener("end",b),u.removeListener("close",C),u.removeListener("error",D),a.removeListener("error",D),u.removeListener("end",x),u.removeListener("close",x),a.removeListener("close",x)}return u.on("error",D),a.on("error",D),u.on("end",x),u.on("close",x),a.on("close",x),a.emit("pipe",u),a}},function(g,o){},function(g,o,t){"use strict";var e=t(65).Buffer,s=t(717);g.exports=function(){function a(){(function(l,u){if(!(l instanceof u))throw new TypeError("Cannot call a class as a function")})(this,a),this.head=null,this.tail=null,this.length=0}return a.prototype.push=function(l){var u={data:l,next:null};this.length>0?this.tail.next=u:this.head=u,this.tail=u,++this.length},a.prototype.unshift=function(l){var u={data:l,next:this.head};0===this.length&&(this.tail=u),this.head=u,++this.length},a.prototype.shift=function(){if(0!==this.length){var l=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,l}},a.prototype.clear=function(){this.head=this.tail=null,this.length=0},a.prototype.join=function(l){if(0===this.length)return"";for(var u=this.head,h=""+u.data;u=u.next;)h+=l+u.data;return h},a.prototype.concat=function(l){if(0===this.length)return e.alloc(0);if(1===this.length)return this.head.data;for(var m=e.allocUnsafe(l>>>0),b=this.head,C=0;b;)b.data.copy(m,C),C+=b.data.length,b=b.next;return m},a}(),s&&s.inspect&&s.inspect.custom&&(g.exports.prototype[s.inspect.custom]=function(){var a=s.inspect({length:this.length});return this.constructor.name+" "+a})},function(g,o){},function(g,o,t){(function(e,s){!function(a,l){"use strict";if(!a.setImmediate){var u,h,_,m,b,C=1,D={},x=!1,j=a.document,H=Object.getPrototypeOf&&Object.getPrototypeOf(a);H=H&&H.setTimeout?H:a,"[object process]"==={}.toString.call(a.process)?u=function(M){s.nextTick(function(){U(M)})}:function(){if(a.postMessage&&!a.importScripts){var M=!0,I=a.onmessage;return a.onmessage=function(){M=!1},a.postMessage("","*"),a.onmessage=I,M}}()?(m="setImmediate$"+Math.random()+"$",b=function(M){M.source===a&&"string"==typeof M.data&&0===M.data.indexOf(m)&&U(+M.data.slice(m.length))},a.addEventListener?a.addEventListener("message",b,!1):a.attachEvent("onmessage",b),u=function(M){a.postMessage(m+M,"*")}):a.MessageChannel?((_=new MessageChannel).port1.onmessage=function(M){U(M.data)},u=function(M){_.port2.postMessage(M)}):j&&"onreadystatechange"in j.createElement("script")?(h=j.documentElement,u=function(M){var I=j.createElement("script");I.onreadystatechange=function(){U(M),I.onreadystatechange=null,h.removeChild(I),I=null},h.appendChild(I)}):u=function(M){setTimeout(U,0,M)},H.setImmediate=function(M){"function"!=typeof M&&(M=new Function(""+M));for(var I=new Array(arguments.length-1),J=0;J<I.length;J++)I[J]=arguments[J+1];var Y={callback:M,args:I};return D[C]=Y,u(C),C++},H.clearImmediate=z}function z(M){delete D[M]}function U(M){if(x)setTimeout(U,0,M);else{var I=D[M];if(I){x=!0;try{!function(J){var Y=J.callback,ie=J.args;switch(ie.length){case 0:Y();break;case 1:Y(ie[0]);break;case 2:Y(ie[0],ie[1]);break;case 3:Y(ie[0],ie[1],ie[2]);break;default:Y.apply(void 0,ie)}}(I)}finally{z(M),x=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,t(57),t(118))},function(g,o,t){(function(e){function s(a){try{if(!e.localStorage)return!1}catch(u){return!1}var l=e.localStorage[a];return null!=l&&"true"===String(l).toLowerCase()}g.exports=function(a,l){if(s("noDeprecation"))return a;var u=!1;return function(){if(!u){if(s("throwDeprecation"))throw new Error(l);s("traceDeprecation")?console.trace(l):console.warn(l),u=!0}return a.apply(this,arguments)}}}).call(this,t(57))},function(g,o,t){"use strict";g.exports=a;var e=t(407),s=Object.create(t(157));function a(l){if(!(this instanceof a))return new a(l);e.call(this,l)}s.inherits=t(64),s.inherits(a,e),a.prototype._transform=function(l,u,h){h(null,l)}},function(g,o,t){g.exports=t(246)},function(g,o,t){g.exports=t(119)},function(g,o,t){g.exports=t(245).Transform},function(g,o,t){g.exports=t(245).PassThrough},function(g,o,t){"use strict";g.exports=function(){}},function(g,o,t){"use strict";var e=t(727),s=Math.abs,a=Math.floor;g.exports=function(l){return isNaN(l)?0:0!==(l=Number(l))&&isFinite(l)?e(l)*a(s(l)):l}},function(g,o,t){"use strict";g.exports=t(728)()?Math.sign:t(729)},function(g,o,t){"use strict";g.exports=function(){var e=Math.sign;return"function"==typeof e&&1===e(10)&&-1===e(-20)}},function(g,o,t){"use strict";g.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}},function(g,o,t){"use strict";var e=t(101),s=t(191),a=t(122),l=t(732),u=t(409);g.exports=function h(_){var m,b,C;if(e(_),(m=Object(arguments[1])).async&&m.promise)throw new Error("Options 'async' and 'promise' cannot be used together");return hasOwnProperty.call(_,"__memoized__")&&!m.force?_:(b=u(m.length,_.length,m.async&&a.async),C=l(_,b,m),s(a,function(D,x){m[x]&&D(m[x],C,m)}),h.__profiler__&&h.__profiler__(C),C.updateEnv(),C.memoized)}},function(g,o,t){"use strict";var e=t(101),s=t(137),a=Function.prototype.bind,l=Function.prototype.call,u=Object.keys,h=Object.prototype.propertyIsEnumerable;g.exports=function(_,m){return function(b,C){var D,x=arguments[2],j=arguments[3];return b=Object(s(b)),e(C),D=u(b),j&&D.sort("function"==typeof j?a.call(j,b):void 0),"function"!=typeof _&&(_=D[_]),l.call(_,D,function(H,z){return h.call(b,H)?l.call(C,x,b[H],H,b,z):m})}}},function(g,o,t){"use strict";var e=t(733),s=t(411),a=t(123),l=t(747).methods,u=t(748),h=t(764),_=Function.prototype.apply,m=Function.prototype.call,b=Object.create,C=Object.defineProperties,D=l.on,x=l.emit;g.exports=function(j,H,z){var U,M,I,J,Y,ie,oe,fe,ne,he,ce,Ae,Me,Oe,be,ue=b(null);return M=!1!==H?H:isNaN(j.length)?1:j.length,z.normalizer&&(he=h(z.normalizer),I=he.get,J=he.set,Y=he.delete,ie=he.clear),null!=z.resolvers&&(be=u(z.resolvers)),Oe=I?s(function(He){var $e,F,je=arguments;if(be&&(je=be(je)),null!==($e=I(je))&&hasOwnProperty.call(ue,$e))return ce&&U.emit("get",$e,je,this),ue[$e];if(F=1===je.length?m.call(j,this,je[0]):_.call(j,this,je),null===$e){if(null!==($e=I(je)))throw e("Circular invocation","CIRCULAR_INVOCATION");$e=J(je)}else if(hasOwnProperty.call(ue,$e))throw e("Circular invocation","CIRCULAR_INVOCATION");return ue[$e]=F,Ae&&U.emit("set",$e,null,F),F},M):0===H?function(){var He;if(hasOwnProperty.call(ue,"data"))return ce&&U.emit("get","data",arguments,this),ue.data;if(He=arguments.length?_.call(j,this,arguments):m.call(j,this),hasOwnProperty.call(ue,"data"))throw e("Circular invocation","CIRCULAR_INVOCATION");return ue.data=He,Ae&&U.emit("set","data",null,He),He}:function(He){var $e,F,je=arguments;if(be&&(je=be(arguments)),F=String(je[0]),hasOwnProperty.call(ue,F))return ce&&U.emit("get",F,je,this),ue[F];if($e=1===je.length?m.call(j,this,je[0]):_.call(j,this,je),hasOwnProperty.call(ue,F))throw e("Circular invocation","CIRCULAR_INVOCATION");return ue[F]=$e,Ae&&U.emit("set",F,null,$e),$e},U={original:j,memoized:Oe,profileName:z.profileName,get:function(He){return be&&(He=be(He)),I?I(He):String(He[0])},has:function(He){return hasOwnProperty.call(ue,He)},delete:function(He){var $e;hasOwnProperty.call(ue,He)&&(Y&&Y(He),$e=ue[He],delete ue[He],Me&&U.emit("delete",He,$e))},clear:function(){var He=ue;ie&&ie(),ue=b(null),U.emit("clear",He)},on:function(He,$e){return"get"===He?ce=!0:"set"===He?Ae=!0:"delete"===He&&(Me=!0),D.call(this,He,$e)},emit:x,updateEnv:function(){j=U.original}},oe=I?s(function(He){var $e,F=arguments;be&&(F=be(F)),null!==($e=I(F))&&U.delete($e)},M):0===H?function(){return U.delete("data")}:function(He){return be&&(He=be(arguments)[0]),U.delete(He)},fe=s(function(){var He,$e=arguments;return 0===H?ue.data:(be&&($e=be($e)),He=I?I($e):String($e[0]),ue[He])}),ne=s(function(){var He,$e=arguments;return 0===H?U.has("data"):(be&&($e=be($e)),null!==(He=I?I($e):String($e[0]))&&U.has(He))}),C(Oe,{__memoized__:a(!0),delete:a(oe),clear:a(U.clear),_get:a(fe),_has:a(ne)}),U}},function(g,o,t){"use strict";var e=t(410),s=t(739),a=t(120),l=Error.captureStackTrace;g.exports=function(u){var h=new Error(u),_=arguments[1],m=arguments[2];return a(m)||s(_)&&(m=_,_=null),a(m)&&e(h,m),a(_)&&(h.code=_),l&&l(h,g.exports),h}},function(g,o,t){"use strict";g.exports=function(){var e,s=Object.assign;return"function"==typeof s&&(s(e={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")}},function(g,o,t){"use strict";var e=t(736),s=t(137),a=Math.max;g.exports=function(l,u){var h,_,m,b=a(arguments.length,2);for(l=Object(s(l)),m=function(C){try{l[C]=u[C]}catch(D){h||(h=D)}},_=1;_<b;++_)e(u=arguments[_]).forEach(m);if(void 0!==h)throw h;return l}},function(g,o,t){"use strict";g.exports=t(737)()?Object.keys:t(738)},function(g,o,t){"use strict";g.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}},function(g,o,t){"use strict";var e=t(120),s=Object.keys;g.exports=function(a){return s(e(a)?Object(a):a)}},function(g,o,t){"use strict";var e=t(120),s={function:!0,object:!0};g.exports=function(a){return e(a)&&s[typeof a]||!1}},function(g,o,t){"use strict";var e=t(741),s=/^\s*class[\s{/}]/,a=Function.prototype.toString;g.exports=function(l){return!!e(l)&&!s.test(a.call(l))}},function(g,o,t){"use strict";var e=t(742);g.exports=function(s){if("function"!=typeof s||!hasOwnProperty.call(s,"length"))return!1;try{if("number"!=typeof s.length||"function"!=typeof s.call||"function"!=typeof s.apply)return!1}catch(a){return!1}return!e(s)}},function(g,o,t){"use strict";var e=t(743);g.exports=function(s){if(!e(s))return!1;try{return!!s.constructor&&s.constructor.prototype===s}catch(a){return!1}}},function(g,o,t){"use strict";var e=t(413),s={object:!0,function:!0,undefined:!0};g.exports=function(a){return!!e(a)&&hasOwnProperty.call(s,typeof a)}},function(g,o,t){"use strict";g.exports=t(745)()?String.prototype.contains:t(746)},function(g,o,t){"use strict";var e="razdwatrzy";g.exports=function(){return"function"==typeof e.contains&&!0===e.contains("dwa")&&!1===e.contains("foo")}},function(g,o,t){"use strict";var e=String.prototype.indexOf;g.exports=function(s){return e.call(this,s,arguments[1])>-1}},function(g,o,t){"use strict";var e,s,a,l,u,h,_,m=t(123),b=t(101),C=Function.prototype.apply,D=Function.prototype.call,x=Object.create,j=Object.defineProperty,H=Object.defineProperties,z=Object.prototype.hasOwnProperty,U={configurable:!0,enumerable:!1,writable:!0};s=function(M,I){var J,Y;return b(I),Y=this,e.call(this,M,J=function(){a.call(Y,M,J),C.call(I,this,arguments)}),J.__eeOnceListener__=I,this},u={on:e=function(M,I){var J;return b(I),z.call(this,"__ee__")?J=this.__ee__:(J=U.value=x(null),j(this,"__ee__",U),U.value=null),J[M]?"object"==typeof J[M]?J[M].push(I):J[M]=[J[M],I]:J[M]=I,this},once:s,off:a=function(M,I){var J,Y,ie,oe;if(b(I),!z.call(this,"__ee__"))return this;if(!(J=this.__ee__)[M])return this;if("object"==typeof(Y=J[M]))for(oe=0;ie=Y[oe];++oe)ie!==I&&ie.__eeOnceListener__!==I||(2===Y.length?J[M]=Y[oe?0:1]:Y.splice(oe,1));else Y!==I&&Y.__eeOnceListener__!==I||delete J[M];return this},emit:l=function(M){var I,J,Y,ie,oe;if(z.call(this,"__ee__")&&(ie=this.__ee__[M]))if("object"==typeof ie){for(J=arguments.length,oe=new Array(J-1),I=1;I<J;++I)oe[I-1]=arguments[I];for(ie=ie.slice(),I=0;Y=ie[I];++I)C.call(Y,this,oe)}else switch(arguments.length){case 1:D.call(ie,this);break;case 2:D.call(ie,this,arguments[1]);break;case 3:D.call(ie,this,arguments[1],arguments[2]);break;default:for(J=arguments.length,oe=new Array(J-1),I=1;I<J;++I)oe[I-1]=arguments[I];C.call(ie,this,oe)}}},h={on:m(e),once:m(s),off:m(a),emit:m(l)},_=H({},h),g.exports=o=function(M){return null==M?x(_):H(Object(M),h)},o.methods=u},function(g,o,t){"use strict";var e,s=t(749),a=t(120),l=t(101),u=Array.prototype.slice;e=function(h){return this.map(function(_,m){return _?_(h[m]):h[m]}).concat(u.call(h,this.length))},g.exports=function(h){return(h=s(h)).forEach(function(_){a(_)&&l(_)}),e.bind(h)}},function(g,o,t){"use strict";var e=t(247),s=Array.isArray;g.exports=function(a){return s(a)?a:e(a)}},function(g,o,t){"use strict";g.exports=function(){var e,s,a=Array.from;return"function"==typeof a&&(s=a(e=["raz","dwa"]),Boolean(s&&s!==e&&"dwa"===s[1]))}},function(g,o,t){"use strict";var e=t(752).iterator,s=t(761),a=t(762),l=t(121),u=t(101),h=t(137),_=t(120),m=t(763),b=Array.isArray,C=Function.prototype.call,D={configurable:!0,enumerable:!0,writable:!0,value:null},x=Object.defineProperty;g.exports=function(j){var H,z,U,M,I,J,Y,ie,oe,fe,ne=arguments[1],he=arguments[2];if(j=Object(h(j)),_(ne)&&u(ne),this&&this!==Array&&a(this))H=this;else{if(!ne){if(s(j))return 1!==(I=j.length)?Array.apply(null,j):((M=new Array(1))[0]=j[0],M);if(b(j)){for(M=new Array(I=j.length),z=0;z<I;++z)M[z]=j[z];return M}}M=[]}if(!b(j))if(void 0!==(oe=j[e])){for(Y=u(oe).call(j),H&&(M=new H),ie=Y.next(),z=0;!ie.done;)fe=ne?C.call(ne,he,ie.value,z):ie.value,H?(D.value=fe,x(M,z,D)):M[z]=fe,ie=Y.next(),++z;I=z}else if(m(j)){for(I=j.length,H&&(M=new H),z=0,U=0;z<I;++z)fe=j[z],z+1<I&&(J=fe.charCodeAt(0))>=55296&&J<=56319&&(fe+=j[++z]),fe=ne?C.call(ne,he,fe,U):fe,H?(D.value=fe,x(M,U,D)):M[U]=fe,++U;I=U}if(void 0===I)for(I=l(j.length),H&&(M=new H(I)),z=0;z<I;++z)fe=ne?C.call(ne,he,j[z],z):j[z],H?(D.value=fe,x(M,z,D)):M[z]=fe;return H&&(D.value=null,M.length=I),M}},function(g,o,t){"use strict";g.exports=t(753)()?t(192).Symbol:t(756)},function(g,o,t){"use strict";var e=t(192),s={object:!0,symbol:!0};g.exports=function(){var a,l=e.Symbol;if("function"!=typeof l)return!1;a=l("test symbol");try{String(a)}catch(u){return!1}return!!s[typeof l.iterator]&&!!s[typeof l.toPrimitive]&&!!s[typeof l.toStringTag]}},function(g,o,t){"use strict";g.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},function(g,o){var t=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};g.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},function(g,o,t){"use strict";var e,s,a,l=t(123),u=t(414),h=t(192).Symbol,_=t(758),m=t(759),b=t(760),C=Object.create,D=Object.defineProperties,x=Object.defineProperty;if("function"==typeof h)try{String(h()),a=!0}catch(j){}else h=null;s=function(j){if(this instanceof s)throw new TypeError("Symbol is not a constructor");return e(j)},g.exports=e=function j(H){var z;if(this instanceof j)throw new TypeError("Symbol is not a constructor");return a?h(H):(z=C(s.prototype),H=void 0===H?"":String(H),D(z,{__description__:l("",H),__name__:l("",_(H))}))},m(e),b(e),D(s.prototype,{constructor:l(e),toString:l("",function(){return this.__name__})}),D(e.prototype,{toString:l(function(){return"Symbol ("+u(this).__description__+")"}),valueOf:l(function(){return u(this)})}),x(e.prototype,e.toPrimitive,l("",function(){var j=u(this);return"symbol"==typeof j?j:j.toString()})),x(e.prototype,e.toStringTag,l("c","Symbol")),x(s.prototype,e.toStringTag,l("c",e.prototype[e.toStringTag])),x(s.prototype,e.toPrimitive,l("c",e.prototype[e.toPrimitive]))},function(g,o,t){"use strict";g.exports=function(e){return!!e&&("symbol"==typeof e||!!e.constructor&&"Symbol"===e.constructor.name&&"Symbol"===e[e.constructor.toStringTag])}},function(g,o,t){"use strict";var e=t(123),a=Object.defineProperty,l=Object.prototype,u=(0,Object.create)(null);g.exports=function(h){for(var _,m,b=0;u[h+(b||"")];)++b;return u[h+=b||""]=!0,a(l,_="@@"+h,e.gs(null,function(C){m||(m=!0,a(this,_,e(C)),m=!1)})),_}},function(g,o,t){"use strict";var e=t(123),s=t(192).Symbol;g.exports=function(a){return Object.defineProperties(a,{hasInstance:e("",s&&s.hasInstance||a("hasInstance")),isConcatSpreadable:e("",s&&s.isConcatSpreadable||a("isConcatSpreadable")),iterator:e("",s&&s.iterator||a("iterator")),match:e("",s&&s.match||a("match")),replace:e("",s&&s.replace||a("replace")),search:e("",s&&s.search||a("search")),species:e("",s&&s.species||a("species")),split:e("",s&&s.split||a("split")),toPrimitive:e("",s&&s.toPrimitive||a("toPrimitive")),toStringTag:e("",s&&s.toStringTag||a("toStringTag")),unscopables:e("",s&&s.unscopables||a("unscopables"))})}},function(g,o,t){"use strict";var e=t(123),s=t(414),a=Object.create(null);g.exports=function(l){return Object.defineProperties(l,{for:e(function(u){return a[u]?a[u]:a[u]=l(String(u))}),keyFor:e(function(u){var h;for(h in s(u),a)if(a[h]===u)return h})})}},function(g,o,t){"use strict";var e=Object.prototype.toString,s=e.call(function(){return arguments}());g.exports=function(a){return e.call(a)===s}},function(g,o,t){"use strict";var e=Object.prototype.toString,s=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);g.exports=function(a){return"function"==typeof a&&s(e.call(a))}},function(g,o,t){"use strict";var e=Object.prototype.toString,s=e.call("");g.exports=function(a){return"string"==typeof a||a&&"object"==typeof a&&(a instanceof String||e.call(a)===s)||!1}},function(g,o,t){"use strict";var e=t(101);g.exports=function(s){var a;return"function"==typeof s?{set:s,get:s}:(a={get:e(s.get)},void 0!==s.set?(a.set=e(s.set),s.delete&&(a.delete=e(s.delete)),s.clear&&(a.clear=e(s.clear)),a):(a.set=a.get,a))}},function(g,o,t){"use strict";g.exports=function(e){var s,a,l=e.length;if(!l)return"\x02";for(s=String(e[a=0]);--l;)s+="\x01"+e[++a];return s}},function(g,o,t){"use strict";g.exports=function(e){return e?function(s){for(var a=String(s[0]),l=0,u=e;--u;)a+="\x01"+s[++l];return a}:function(){return""}}},function(g,o,t){"use strict";var e=t(248),s=Object.create;g.exports=function(){var a=0,l=[],u=s(null);return{get:function(h){var _,m=0,b=l,C=h.length;if(0===C)return b[C]||null;if(b=b[C]){for(;m<C-1;){if(-1===(_=e.call(b[0],h[m])))return null;b=b[1][_],++m}return-1===(_=e.call(b[0],h[m]))?null:b[1][_]||null}return null},set:function(h){var _,m=0,b=l,C=h.length;if(0===C)b[C]=++a;else{for(b[C]||(b[C]=[[],[]]),b=b[C];m<C-1;)-1===(_=e.call(b[0],h[m]))&&(_=b[0].push(h[m])-1,b[1].push([[],[]])),b=b[1][_],++m;-1===(_=e.call(b[0],h[m]))&&(_=b[0].push(h[m])-1),b[1][_]=++a}return u[a]=h,a},delete:function(h){var _,m=0,b=l,C=u[h],D=C.length,x=[];if(0===D)delete b[D];else if(b=b[D]){for(;m<D-1;){if(-1===(_=e.call(b[0],C[m])))return;x.push(b,_),b=b[1][_],++m}if(-1===(_=e.call(b[0],C[m])))return;for(h=b[1][_],b[0].splice(_,1),b[1].splice(_,1);!b[0].length&&x.length;)_=x.pop(),(b=x.pop())[0].splice(_,1),b[1].splice(_,1)}delete u[h]},clear:function(){l=[],u=s(null)}}}},function(g,o,t){"use strict";g.exports=t(769)()?Number.isNaN:t(770)},function(g,o,t){"use strict";g.exports=function(){var e=Number.isNaN;return"function"==typeof e&&!e({})&&e(NaN)&&!e(34)}},function(g,o,t){"use strict";g.exports=function(e){return e!=e}},function(g,o,t){"use strict";var e=t(248);g.exports=function(){var s=0,a=[],l=[];return{get:function(u){var h=e.call(a,u[0]);return-1===h?null:l[h]},set:function(u){return a.push(u[0]),l.push(++s),s},delete:function(u){var h=e.call(l,u);-1!==h&&(a.splice(h,1),l.splice(h,1))},clear:function(){a=[],l=[]}}}},function(g,o,t){"use strict";var e=t(248),s=Object.create;g.exports=function(a){var l=0,u=[[],[]],h=s(null);return{get:function(_){for(var m,b=0,C=u;b<a-1;){if(-1===(m=e.call(C[0],_[b])))return null;C=C[1][m],++b}return-1===(m=e.call(C[0],_[b]))?null:C[1][m]||null},set:function(_){for(var m,b=0,C=u;b<a-1;)-1===(m=e.call(C[0],_[b]))&&(m=C[0].push(_[b])-1,C[1].push([[],[]])),C=C[1][m],++b;return-1===(m=e.call(C[0],_[b]))&&(m=C[0].push(_[b])-1),C[1][m]=++l,h[l]=_,l},delete:function(_){for(var m,b=0,C=u,D=[],x=h[_];b<a-1;){if(-1===(m=e.call(C[0],x[b])))return;D.push(C,m),C=C[1][m],++b}if(-1!==(m=e.call(C[0],x[b]))){for(_=C[1][m],C[0].splice(m,1),C[1].splice(m,1);!C[0].length&&D.length;)m=D.pop(),(C=D.pop())[0].splice(m,1),C[1].splice(m,1);delete h[_]}},clear:function(){u=[[],[]],h=s(null)}}}},function(g,o,t){"use strict";var e=t(247),s=t(415),a=t(412),l=t(411),u=t(249),h=Array.prototype.slice,_=Function.prototype.apply,m=Object.create;t(122).async=function(b,C){var D,x,j,H=m(null),z=m(null),U=C.memoized,M=C.original;C.memoized=l(function(I){var J=arguments,Y=J[J.length-1];return"function"==typeof Y&&(D=Y,J=h.call(J,0,-1)),U.apply(x=this,j=J)},U);try{a(C.memoized,U)}catch(I){}C.on("get",function(I){var J,Y,ie;if(D){if(H[I])return"function"==typeof H[I]?H[I]=[H[I],D]:H[I].push(D),void(D=null);J=D,Y=x,ie=j,D=x=j=null,u(function(){var oe;hasOwnProperty.call(z,I)?(oe=z[I],C.emit("getasync",I,ie,Y),_.call(J,oe.context,oe.args)):(D=J,x=Y,j=ie,U.apply(Y,ie))})}}),C.original=function(){var I,J,Y,ie;return D?(I=e(arguments),Y=D,D=x=j=null,I.push(J=function oe(fe){var ne,he,ce=oe.id;if(null!=ce){if(delete oe.id,ne=H[ce],delete H[ce],ne)return he=e(arguments),C.has(ce)&&(fe?C.delete(ce):(z[ce]={context:this,args:he},C.emit("setasync",ce,"function"==typeof ne?1:ne.length))),"function"==typeof ne?ie=_.call(ne,this,he):ne.forEach(function(Ae){ie=_.call(Ae,this,he)},this),ie}else u(_.bind(oe,this,arguments))}),ie=_.call(M,this,I),J.cb=Y,D=J,ie):_.call(M,this,arguments)},C.on("set",function(I){D?(H[I]?"function"==typeof H[I]?H[I]=[H[I],D.cb]:H[I].push(D.cb):H[I]=D.cb,delete D.cb,D.id=I,D=null):C.delete(I)}),C.on("delete",function(I){var J;hasOwnProperty.call(H,I)||z[I]&&(J=z[I],delete z[I],C.emit("deleteasync",I,h.call(J.args,1)))}),C.on("clear",function(){var I=z;z=m(null),C.emit("clearasync",s(I,function(J){return h.call(J.args,1)}))})}},function(g,o,t){"use strict";var e=t(415),s=t(775),a=t(776),l=t(778),u=t(417),h=t(249),_=Object.create,m=s("then","then:finally","done","done:finally");t(122).promise=function(b,C){var D=_(null),x=_(null),j=_(null);if(!0===b)b=null;else if(b=a(b),!m[b])throw new TypeError("'"+l(b)+"' is not valid promise mode");C.on("set",function(H,z,U){var M=!1;if(!u(U))return x[H]=U,void C.emit("setasync",H,1);D[H]=1,j[H]=U;var I=function(oe){var fe=D[H];if(M)throw new Error("Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in 'done:finally' mode)\nConsider to rely on 'then' or 'done' mode instead.");fe&&(delete D[H],x[H]=oe,C.emit("setasync",H,fe))},J=function(){M=!0,D[H]&&(delete D[H],delete j[H],C.delete(H))},Y=b;if(Y||(Y="then"),"then"===Y){var ie=function(){h(J)};"function"==typeof(U=U.then(function(oe){h(I.bind(this,oe))},ie)).finally&&U.finally(ie)}else if("done"===Y){if("function"!=typeof U.done)throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done' mode");U.done(I,J)}else if("done:finally"===Y){if("function"!=typeof U.done)throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done:finally' mode");if("function"!=typeof U.finally)throw new Error("Memoizee error: Retrieved promise does not implement 'finally' in 'done:finally' mode");U.done(I),U.finally(J)}}),C.on("get",function(H,z,U){var M;if(D[H])++D[H];else{var I=function(){C.emit("getasync",H,z,U)};u(M=j[H])?"function"==typeof M.done?M.done(I):M.then(function(){h(I)}):I()}}),C.on("delete",function(H){if(delete j[H],D[H])delete D[H];else if(hasOwnProperty.call(x,H)){var z=x[H];delete x[H],C.emit("deleteasync",H,[z])}}),C.on("clear",function(){var H=x;x=_(null),D=_(null),j=_(null),C.emit("clearasync",e(H,function(z){return[z]}))})}},function(g,o,t){"use strict";var e=Array.prototype.forEach,s=Object.create;g.exports=function(a){var l=s(null);return e.call(arguments,function(u){l[u]=!0}),l}},function(g,o,t){"use strict";var e=t(137),s=t(777);g.exports=function(a){return s(e(a))}},function(g,o,t){"use strict";var e=t(416);g.exports=function(s){try{return s&&e(s.toString)?s.toString():String(s)}catch(a){throw new TypeError("Passed argument cannot be stringifed")}}},function(g,o,t){"use strict";var e=t(779),s=/[\n\r\u2028\u2029]/g;g.exports=function(a){var l=e(a);return l.length>100&&(l=l.slice(0,99)+"\u2026"),l.replace(s,function(u){return JSON.stringify(u).slice(1,-1)})}},function(g,o,t){"use strict";var e=t(416);g.exports=function(s){try{return s&&e(s.toString)?s.toString():String(s)}catch(a){return"<Non-coercible to string value>"}}},function(g,o,t){"use strict";var e=t(101),s=t(191),a=t(122),l=Function.prototype.apply;a.dispose=function(u,h,_){var m;if(e(u),_.async&&a.async||_.promise&&a.promise)return h.on("deleteasync",m=function(b,C){l.call(u,null,C)}),void h.on("clearasync",function(b){s(b,function(C,D){m(D,C)})});h.on("delete",m=function(b,C){u(C)}),h.on("clear",function(b){s(b,function(C,D){m(D,C)})})}},function(g,o,t){"use strict";var e=t(247),s=t(191),a=t(249),l=t(417),u=t(782),h=t(122),_=Function.prototype,m=Math.max,b=Math.min,C=Object.create;h.maxAge=function(D,x,j){var H,z,U,M;(D=u(D))&&(H=C(null),x.on("set"+(z=j.async&&h.async||j.promise&&h.promise?"async":""),function(I){H[I]=setTimeout(function(){x.delete(I)},D),"function"==typeof H[I].unref&&H[I].unref(),M&&(M[I]&&"nextTick"!==M[I]&&clearTimeout(M[I]),M[I]=setTimeout(function(){delete M[I]},U),"function"==typeof M[I].unref&&M[I].unref())}),x.on("delete"+z,function(I){clearTimeout(H[I]),delete H[I],M&&("nextTick"!==M[I]&&clearTimeout(M[I]),delete M[I])}),j.preFetch&&(U=!0===j.preFetch||isNaN(j.preFetch)?.333:m(b(Number(j.preFetch),1),0))&&(M={},U=(1-U)*D,x.on("get"+z,function(I,J,Y){M[I]||(M[I]="nextTick",a(function(){var ie;"nextTick"===M[I]&&(delete M[I],x.delete(I),j.async&&(J=e(J)).push(_),ie=x.memoized.apply(Y,J),j.promise&&l(ie)&&("function"==typeof ie.done?ie.done(_,_):ie.then(_,_)))}))})),x.on("clear"+z,function(){s(H,function(I){clearTimeout(I)}),H={},M&&(s(M,function(I){"nextTick"!==I&&clearTimeout(I)}),M={})}))}},function(g,o,t){"use strict";var e=t(121),s=t(783);g.exports=function(a){if((a=e(a))>s)throw new TypeError(a+" exceeds maximum possible timeout");return a}},function(g,o,t){"use strict";g.exports=2147483647},function(g,o,t){"use strict";var e=t(121),s=t(785),a=t(122);a.max=function(l,u,h){var _,m,b;(l=e(l))&&(m=s(l),u.on("set"+(_=h.async&&a.async||h.promise&&a.promise?"async":""),b=function(C){void 0!==(C=m.hit(C))&&u.delete(C)}),u.on("get"+_,b),u.on("delete"+_,m.delete),u.on("clear"+_,m.clear))}},function(g,o,t){"use strict";var e=t(121),s=Object.create,a=Object.prototype.hasOwnProperty;g.exports=function(l){var u,h=0,_=1,m=s(null),b=s(null),C=0;return l=e(l),{hit:function(D){var x=b[D],j=++C;if(m[j]=D,b[D]=j,!x)return++h<=l?void 0:(u(D=m[_]),D);if(delete m[x],_===x)for(;!a.call(m,++_););},delete:u=function(D){var x=b[D];if(x&&(delete m[x],delete b[D],--h,_===x)){if(!h)return C=0,void(_=1);for(;!a.call(m,++_););}},clear:function(){h=0,_=1,m=s(null),b=s(null),C=0}}}},function(g,o,t){"use strict";var e=t(123),s=t(122),a=Object.create,l=Object.defineProperties;s.refCounter=function(u,h,_){var m,b;m=a(null),h.on("set"+(b=_.async&&s.async||_.promise&&s.promise?"async":""),function(C,D){m[C]=D||1}),h.on("get"+b,function(C){++m[C]}),h.on("delete"+b,function(C){delete m[C]}),h.on("clear"+b,function(){m={}}),l(h.memoized,{deleteRef:e(function(){var C=h.get(arguments);return null===C?null:m[C]?!--m[C]&&(h.delete(C),!0):null}),getRefCount:e(function(){var C=h.get(arguments);return null===C?0:m[C]?m[C]:0})})}},function(g,o,t){var e=t(64),s=t(138),a=t(65).Buffer,l=[1518500249,1859775393,-1894007588,-899497514],u=new Array(80);function h(){this.init(),this._w=u,s.call(this,64,56)}function _(b){return b<<30|b>>>2}function m(b,C,D,x){return 0===b?C&D|~C&x:2===b?C&D|C&x|D&x:C^D^x}e(h,s),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(b){for(var C,D=this._w,x=0|this._a,j=0|this._b,H=0|this._c,z=0|this._d,U=0|this._e,M=0;M<16;++M)D[M]=b.readInt32BE(4*M);for(;M<80;++M)D[M]=D[M-3]^D[M-8]^D[M-14]^D[M-16];for(var I=0;I<80;++I){var J=~~(I/20),Y=0|((C=x)<<5|C>>>27)+m(J,j,H,z)+U+D[I]+l[J];U=z,z=H,H=_(j),j=x,x=Y}this._a=x+this._a|0,this._b=j+this._b|0,this._c=H+this._c|0,this._d=z+this._d|0,this._e=U+this._e|0},h.prototype._hash=function(){var b=a.allocUnsafe(20);return b.writeInt32BE(0|this._a,0),b.writeInt32BE(0|this._b,4),b.writeInt32BE(0|this._c,8),b.writeInt32BE(0|this._d,12),b.writeInt32BE(0|this._e,16),b},g.exports=h},function(g,o,t){var e=t(64),s=t(138),a=t(65).Buffer,l=[1518500249,1859775393,-1894007588,-899497514],u=new Array(80);function h(){this.init(),this._w=u,s.call(this,64,56)}function _(C){return C<<5|C>>>27}function m(C){return C<<30|C>>>2}function b(C,D,x,j){return 0===C?D&x|~D&j:2===C?D&x|D&j|x&j:D^x^j}e(h,s),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(C){for(var D,x=this._w,j=0|this._a,H=0|this._b,z=0|this._c,U=0|this._d,M=0|this._e,I=0;I<16;++I)x[I]=C.readInt32BE(4*I);for(;I<80;++I)x[I]=(D=x[I-3]^x[I-8]^x[I-14]^x[I-16])<<1|D>>>31;for(var J=0;J<80;++J){var Y=~~(J/20),ie=_(j)+b(Y,H,z,U)+M+x[J]+l[Y]|0;M=U,U=z,z=m(H),H=j,j=ie}this._a=j+this._a|0,this._b=H+this._b|0,this._c=z+this._c|0,this._d=U+this._d|0,this._e=M+this._e|0},h.prototype._hash=function(){var C=a.allocUnsafe(20);return C.writeInt32BE(0|this._a,0),C.writeInt32BE(0|this._b,4),C.writeInt32BE(0|this._c,8),C.writeInt32BE(0|this._d,12),C.writeInt32BE(0|this._e,16),C},g.exports=h},function(g,o,t){var e=t(64),s=t(418),a=t(138),l=t(65).Buffer,u=new Array(64);function h(){this.init(),this._w=u,a.call(this,64,56)}e(h,s),h.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},h.prototype._hash=function(){var _=l.allocUnsafe(28);return _.writeInt32BE(this._a,0),_.writeInt32BE(this._b,4),_.writeInt32BE(this._c,8),_.writeInt32BE(this._d,12),_.writeInt32BE(this._e,16),_.writeInt32BE(this._f,20),_.writeInt32BE(this._g,24),_},g.exports=h},function(g,o,t){var e=t(64),s=t(419),a=t(138),l=t(65).Buffer,u=new Array(160);function h(){this.init(),this._w=u,a.call(this,128,112)}e(h,s),h.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},h.prototype._hash=function(){var _=l.allocUnsafe(48);function m(b,C,D){_.writeInt32BE(b,D),_.writeInt32BE(C,D+4)}return m(this._ah,this._al,0),m(this._bh,this._bl,8),m(this._ch,this._cl,16),m(this._dh,this._dl,24),m(this._eh,this._el,32),m(this._fh,this._fl,40),_},g.exports=h},function(g,o,t){var e=t(792);g.exports=e},function(g,o,t){var e=t(35),s=t(793),a=Array.prototype;g.exports=function(l){var u=l.every;return l===a||e(a,l)&&u===a.every?s:u}},function(g,o,t){t(794);var e=t(42);g.exports=e("Array").every},function(g,o,t){"use strict";var e=t(22),s=t(87).every;e({target:"Array",proto:!0,forced:!t(114)("every")},{every:function(a){return s(this,a,arguments.length>1?arguments[1]:void 0)}})},function(g,o){g.exports=function(t,e,s,a,l){return l(t,function(u,h,_){s=a?(a=!1,u):e(s,u,h,_)}),s}},function(g,o,t){var e=t(345);g.exports=e},function(g,o,t){var e=t(798);g.exports=e},function(g,o,t){var e=t(799);g.exports=e},function(g,o,t){t(333);var e=t(34);g.exports=e.Object.getOwnPropertySymbols},function(g,o,t){g.exports=t(801)},function(g,o,t){var e=t(344);g.exports=e},function(g,o,t){g.exports=t(803)},function(g,o,t){var e=t(804);g.exports=e},function(g,o,t){var e=t(805);g.exports=e},function(g,o,t){t(806);var e=t(34).Object,s=g.exports=function(a,l){return e.getOwnPropertyDescriptor(a,l)};e.getOwnPropertyDescriptor.sham&&(s.sham=!0)},function(g,o,t){var e=t(22),s=t(33),a=t(61),l=t(111).f,u=t(48),h=s(function(){l(1)});e({target:"Object",stat:!0,forced:!u||h,sham:!u},{getOwnPropertyDescriptor:function(_,m){return l(a(_),m)}})},function(g,o,t){g.exports=t(808)},function(g,o,t){var e=t(381);g.exports=e},function(g,o,t){g.exports=t(810)},function(g,o,t){var e=t(811);g.exports=e},function(g,o,t){var e=t(812);g.exports=e},function(g,o,t){t(813);var e=t(34);g.exports=e.Object.getOwnPropertyDescriptors},function(g,o,t){var e=t(22),s=t(48),a=t(422),l=t(61),u=t(111),h=t(147);e({target:"Object",stat:!0,sham:!s},{getOwnPropertyDescriptors:function(_){for(var m,b,C=l(_),D=u.f,x=a(C),j={},H=0;x.length>H;)void 0!==(b=D(C,m=x[H++]))&&h(j,m,b);return j}})},function(g,o,t){g.exports=t(815)},function(g,o,t){var e=t(816);g.exports=e},function(g,o,t){var e=t(817);g.exports=e},function(g,o,t){t(818);var e=t(34).Object,s=g.exports=function(a,l){return e.defineProperties(a,l)};e.defineProperties.sham&&(s.sham=!0)},function(g,o,t){var e=t(22),s=t(48);e({target:"Object",stat:!0,forced:!s,sham:!s},{defineProperties:t(218)})},function(g,o,t){var e=t(385);g.exports=e},function(g,o,t){var e=t(420),s=t(423);g.exports=function(a,l){if(null==a)return{};var u,h,_={},m=e(a);for(h=0;h<m.length;h++)u=m[h],s(l).call(l,u)>=0||(_[u]=a[u]);return _},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(822)},function(g,o,t){var e=t(424);t(836),t(837),t(838),t(839),g.exports=e},function(g,o,t){t(425),t(77),t(97),t(829),t(433),t(434),t(835),t(131);var e=t(34);g.exports=e.Promise},function(g,o,t){var e=t(44),s=t(422),a=t(111),l=t(63);g.exports=function(u,h){for(var _=s(h),m=l.f,b=a.f,C=0;C<_.length;C++){var D=_[C];e(u,D)||m(u,D,b(h,D))}}},function(g,o,t){var e=t(27),s=t(86),a=e("".replace),l=e("".split),u=e([].join),h=String(Error("zxcasd").stack),_=/\n\s*at [^:]*:[^\n]*/,m=_.test(h),b=/@[^\n]*\n/.test(h)&&!/zxcasd/.test(h);g.exports=function(C,D){if("string"!=typeof C)return C;if(m)for(;D--;)C=a(C,_,"");else if(b)return u(s(l(C,"\n"),D),"\n");return C}},function(g,o,t){var e=t(43),s=t(85);g.exports=function(a,l){e(l)&&"cause"in l&&s(a,"cause",l.cause)}},function(g,o,t){var e=t(67);g.exports=function(s,a){return void 0===s?arguments.length<2?"":a:e(s)}},function(g,o,t){var e=t(33),s=t(94);g.exports=!e(function(){var a=Error("a");return!("stack"in a)||(Object.defineProperty(a,"stack",s(1,7)),7!==a.stack)})},function(g,o,t){"use strict";var e,s,a,l,u=t(22),h=t(96),_=t(17),m=t(58),b=t(50),C=t(426),D=t(99),x=t(158),j=t(176),H=t(100),z=t(427),U=t(73),M=t(41),I=t(43),J=t(139),Y=t(217),ie=t(124),oe=t(378),fe=t(428),ne=t(430).set,he=t(830),ce=t(432),Ae=t(833),Me=t(159),Oe=t(193),be=t(76),ue=t(331),He=t(38),$e=t(834),F=t(177),je=t(128),Et=He("species"),lt="Promise",nn=be.get,St=be.set,At=be.getterFor(lt),Qe=C&&C.prototype,It=C,ae=Qe,Ie=_.TypeError,dt=_.document,Jt=_.process,zt=Me.f,ln=zt,ar=!!(dt&&dt.createEvent&&_.dispatchEvent),Ln=M(_.PromiseRejectionEvent),Rn="unhandledrejection",er=!1,Mn=ue(lt,function(){var En=Y(It),Fn=En!==String(It);if(!Fn&&66===je||h&&!ae.finally)return!0;if(je>=51&&/native code/.test(En))return!1;var Dn=new It(function(jn){jn(1)}),mn=function(jn){jn(function(){},function(){})};return(Dn.constructor={})[Et]=mn,!(er=Dn.then(function(){})instanceof mn)||!Fn&&$e&&!Ln}),Ht=Mn||!oe(function(En){It.all(En).catch(function(){})}),tr=function(En){var Fn;return!(!I(En)||!M(Fn=En.then))&&Fn},Yn=function(En,Fn){if(!En.notified){En.notified=!0;var Dn=En.reactions;he(function(){for(var mn=En.value,jn=1==En.state,Xt=0;Dn.length>Xt;){var ut,mt,Tt,yn=Dn[Xt++],et=jn?yn.ok:yn.fail,jt=yn.resolve,hn=yn.reject,Qn=yn.domain;try{et?(jn||(2===En.rejection&&Kn(En),En.rejection=1),!0===et?ut=mn:(Qn&&Qn.enter(),ut=et(mn),Qn&&(Qn.exit(),Tt=!0)),ut===yn.promise?hn(Ie("Promise-chain cycle")):(mt=tr(ut))?b(mt,ut,jt,hn):jt(ut)):hn(mn)}catch(Ir){Qn&&!Tt&&Qn.exit(),hn(Ir)}}En.reactions=[],En.notified=!1,Fn&&!En.rejection&&Kt(En)})}},Cn=function(En,Fn,Dn){var mn,jn;ar?((mn=dt.createEvent("Event")).promise=Fn,mn.reason=Dn,mn.initEvent(En,!1,!0),_.dispatchEvent(mn)):mn={promise:Fn,reason:Dn},!Ln&&(jn=_["on"+En])?jn(mn):En===Rn&&Ae("Unhandled promise rejection",Dn)},Kt=function(En){b(ne,_,function(){var Fn,Dn=En.facade,mn=En.value;if(dn(En)&&(Fn=Oe(function(){F?Jt.emit("unhandledRejection",mn,Dn):Cn(Rn,Dn,mn)}),En.rejection=F||dn(En)?2:1,Fn.error))throw Fn.value})},dn=function(En){return 1!==En.rejection&&!En.parent},Kn=function(En){b(ne,_,function(){var Fn=En.facade;F?Jt.emit("rejectionHandled",Fn):Cn("rejectionhandled",Fn,En.value)})},qn=function(En,Fn,Dn){return function(mn){En(Fn,mn,Dn)}},Sn=function(En,Fn,Dn){En.done||(En.done=!0,Dn&&(En=Dn),En.value=Fn,En.state=2,Yn(En,!0))},$n=function(En,Fn,Dn){if(!En.done){En.done=!0,Dn&&(En=Dn);try{if(En.facade===Fn)throw Ie("Promise can't be resolved itself");var mn=tr(Fn);mn?he(function(){var jn={done:!1};try{b(mn,Fn,qn($n,jn,En),qn(Sn,jn,En))}catch(Xt){Sn(jn,Xt,En)}}):(En.value=Fn,En.state=1,Yn(En,!1))}catch(jn){Sn({done:!1},jn,En)}}};if(Mn&&(ae=(It=function(En){J(this,ae),U(En),b(e,this);var Fn=nn(this);try{En(qn($n,Fn),qn(Sn,Fn))}catch(Dn){Sn(Fn,Dn)}}).prototype,(e=function(En){St(this,{type:lt,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=x(ae,{then:function(En,Fn){var Dn=At(this),mn=Dn.reactions,jn=zt(fe(this,It));return jn.ok=!M(En)||En,jn.fail=M(Fn)&&Fn,jn.domain=F?Jt.domain:void 0,Dn.parent=!0,mn[mn.length]=jn,0!=Dn.state&&Yn(Dn,!1),jn.promise},catch:function(En){return this.then(void 0,En)}}),s=function(){var En=new e,Fn=nn(En);this.promise=En,this.resolve=qn($n,Fn),this.reject=qn(Sn,Fn)},Me.f=zt=function(En){return En===It||En===a?new s(En):ln(En)},!h&&M(C)&&Qe!==Object.prototype)){l=Qe.then,er||(D(Qe,"then",function(En,Fn){var Dn=this;return new It(function(mn,jn){b(l,Dn,mn,jn)}).then(En,Fn)},{unsafe:!0}),D(Qe,"catch",ae.catch,{unsafe:!0}));try{delete Qe.constructor}catch(En){}j&&j(Qe,ae)}u({global:!0,wrap:!0,forced:Mn},{Promise:It}),H(It,lt,!1,!0),z(lt),a=m(lt),u({target:lt,stat:!0,forced:Mn},{reject:function(En){var Fn=zt(this);return b(Fn.reject,void 0,En),Fn.promise}}),u({target:lt,stat:!0,forced:h||Mn},{resolve:function(En){return ce(h&&this===a?It:this,En)}}),u({target:lt,stat:!0,forced:Ht},{all:function(En){var Fn=this,Dn=zt(Fn),mn=Dn.resolve,jn=Dn.reject,Xt=Oe(function(){var ut=U(Fn.resolve),mt=[],Tt=0,yn=1;ie(En,function(et){var jt=Tt++,hn=!1;yn++,b(ut,Fn,et).then(function(Qn){hn||(hn=!0,mt[jt]=Qn,--yn||mn(mt))},jn)}),--yn||mn(mt)});return Xt.error&&jn(Xt.value),Dn.promise},race:function(En){var Fn=this,Dn=zt(Fn),mn=Dn.reject,jn=Oe(function(){var Xt=U(Fn.resolve);ie(En,function(ut){b(Xt,Fn,ut).then(Dn.resolve,mn)})});return jn.error&&mn(jn.value),Dn.promise}})},function(g,o,t){var e,s,a,l,u,h,_,m,b=t(17),C=t(84),D=t(111).f,x=t(430).set,j=t(431),H=t(831),z=t(832),U=t(177),M=b.MutationObserver||b.WebKitMutationObserver,I=b.document,J=b.process,Y=b.Promise,ie=D(b,"queueMicrotask"),oe=ie&&ie.value;oe||(e=function(){var fe,ne;for(U&&(fe=J.domain)&&fe.exit();s;){ne=s.fn,s=s.next;try{ne()}catch(he){throw s?l():a=void 0,he}}a=void 0,fe&&fe.enter()},j||U||z||!M||!I?!H&&Y&&Y.resolve?((_=Y.resolve(void 0)).constructor=Y,m=C(_.then,_),l=function(){m(e)}):U?l=function(){J.nextTick(e)}:(x=C(x,b),l=function(){x(e)}):(u=!0,h=I.createTextNode(""),new M(e).observe(h,{characterData:!0}),l=function(){h.data=u=!u})),g.exports=oe||function(fe){var ne={fn:fe,next:void 0};a&&(a.next=ne),s||(s=ne,l()),a=ne}},function(g,o,t){var e=t(95),s=t(17);g.exports=/ipad|iphone|ipod/i.test(e)&&void 0!==s.Pebble},function(g,o,t){var e=t(95);g.exports=/web0s(?!.*chrome)/i.test(e)},function(g,o,t){var e=t(17);g.exports=function(s,a){var l=e.console;l&&l.error&&(1==arguments.length?l.error(s):l.error(s,a))}},function(g,o){g.exports="object"==typeof window},function(g,o,t){"use strict";var e=t(22),s=t(96),a=t(426),l=t(33),u=t(58),h=t(41),_=t(428),m=t(432),b=t(99);if(e({target:"Promise",proto:!0,real:!0,forced:!!a&&l(function(){a.prototype.finally.call({then:function(){}},function(){})})},{finally:function(D){var x=_(this,u("Promise")),j=h(D);return this.then(j?function(H){return m(x,D()).then(function(){return H})}:D,j?function(H){return m(x,D()).then(function(){throw H})}:D)}}),!s&&h(a)){var C=u("Promise").prototype.finally;a.prototype.finally!==C&&b(a.prototype,"finally",C,{unsafe:!0})}},function(g,o,t){t(425)},function(g,o,t){t(433)},function(g,o,t){"use strict";var e=t(22),s=t(159),a=t(193);e({target:"Promise",stat:!0},{try:function(l){var u=s.f(this),h=a(l);return(h.error?u.reject:u.resolve)(h.value),u.promise}})},function(g,o,t){t(434)},function(g,o,t){var e=function(s){"use strict";var a,l=Object.prototype,u=l.hasOwnProperty,h="function"==typeof Symbol?Symbol:{},_=h.iterator||"@@iterator",m=h.asyncIterator||"@@asyncIterator",b=h.toStringTag||"@@toStringTag";function C($e,F,je){return Object.defineProperty($e,F,{value:je,enumerable:!0,configurable:!0,writable:!0}),$e[F]}try{C({},"")}catch($e){C=function(F,je,Et){return F[je]=Et}}function D($e,F,je,Et){var At,Qe,It,ae,nn=Object.create((F&&F.prototype instanceof I?F:I).prototype),St=new be(Et||[]);return nn._invoke=(At=$e,Qe=je,It=St,ae=j,function(Ie,dt){if(ae===z)throw new Error("Generator is already running");if(ae===U){if("throw"===Ie)throw dt;return He()}for(It.method=Ie,It.arg=dt;;){var Jt=It.delegate;if(Jt){var zt=Ae(Jt,It);if(zt){if(zt===M)continue;return zt}}if("next"===It.method)It.sent=It._sent=It.arg;else if("throw"===It.method){if(ae===j)throw ae=U,It.arg;It.dispatchException(It.arg)}else"return"===It.method&&It.abrupt("return",It.arg);ae=z;var ln=x(At,Qe,It);if("normal"===ln.type){if(ae=It.done?U:H,ln.arg===M)continue;return{value:ln.arg,done:It.done}}"throw"===ln.type&&(ae=U,It.method="throw",It.arg=ln.arg)}}),nn}function x($e,F,je){try{return{type:"normal",arg:$e.call(F,je)}}catch(Et){return{type:"throw",arg:Et}}}s.wrap=D;var j="suspendedStart",H="suspendedYield",z="executing",U="completed",M={};function I(){}function J(){}function Y(){}var ie={};C(ie,_,function(){return this});var oe=Object.getPrototypeOf,fe=oe&&oe(oe(ue([])));fe&&fe!==l&&u.call(fe,_)&&(ie=fe);var ne=Y.prototype=I.prototype=Object.create(ie);function he($e){["next","throw","return"].forEach(function(F){C($e,F,function(je){return this._invoke(F,je)})})}function ce($e,F){function je(lt,nn,St,At){var Qe=x($e[lt],$e,nn);if("throw"!==Qe.type){var It=Qe.arg,ae=It.value;return ae&&"object"==typeof ae&&u.call(ae,"__await")?F.resolve(ae.__await).then(function(Ie){je("next",Ie,St,At)},function(Ie){je("throw",Ie,St,At)}):F.resolve(ae).then(function(Ie){It.value=Ie,St(It)},function(Ie){return je("throw",Ie,St,At)})}At(Qe.arg)}var Et;this._invoke=function(lt,nn){function St(){return new F(function(At,Qe){je(lt,nn,At,Qe)})}return Et=Et?Et.then(St,St):St()}}function Ae($e,F){var je=$e.iterator[F.method];if(je===a){if(F.delegate=null,"throw"===F.method){if($e.iterator.return&&(F.method="return",F.arg=a,Ae($e,F),"throw"===F.method))return M;F.method="throw",F.arg=new TypeError("The iterator does not provide a 'throw' method")}return M}var Et=x(je,$e.iterator,F.arg);if("throw"===Et.type)return F.method="throw",F.arg=Et.arg,F.delegate=null,M;var lt=Et.arg;return lt?lt.done?(F[$e.resultName]=lt.value,F.next=$e.nextLoc,"return"!==F.method&&(F.method="next",F.arg=a),F.delegate=null,M):lt:(F.method="throw",F.arg=new TypeError("iterator result is not an object"),F.delegate=null,M)}function Me($e){var F={tryLoc:$e[0]};1 in $e&&(F.catchLoc=$e[1]),2 in $e&&(F.finallyLoc=$e[2],F.afterLoc=$e[3]),this.tryEntries.push(F)}function Oe($e){var F=$e.completion||{};F.type="normal",delete F.arg,$e.completion=F}function be($e){this.tryEntries=[{tryLoc:"root"}],$e.forEach(Me,this),this.reset(!0)}function ue($e){if($e){var F=$e[_];if(F)return F.call($e);if("function"==typeof $e.next)return $e;if(!isNaN($e.length)){var je=-1,Et=function lt(){for(;++je<$e.length;)if(u.call($e,je))return lt.value=$e[je],lt.done=!1,lt;return lt.value=a,lt.done=!0,lt};return Et.next=Et}}return{next:He}}function He(){return{value:a,done:!0}}return J.prototype=Y,C(ne,"constructor",Y),C(Y,"constructor",J),J.displayName=C(Y,b,"GeneratorFunction"),s.isGeneratorFunction=function($e){var F="function"==typeof $e&&$e.constructor;return!!F&&(F===J||"GeneratorFunction"===(F.displayName||F.name))},s.mark=function($e){return Object.setPrototypeOf?Object.setPrototypeOf($e,Y):($e.__proto__=Y,C($e,b,"GeneratorFunction")),$e.prototype=Object.create(ne),$e},s.awrap=function($e){return{__await:$e}},he(ce.prototype),C(ce.prototype,m,function(){return this}),s.AsyncIterator=ce,s.async=function($e,F,je,Et,lt){void 0===lt&&(lt=Promise);var nn=new ce(D($e,F,je,Et),lt);return s.isGeneratorFunction(F)?nn:nn.next().then(function(St){return St.done?St.value:nn.next()})},he(ne),C(ne,b,"Generator"),C(ne,_,function(){return this}),C(ne,"toString",function(){return"[object Generator]"}),s.keys=function($e){var F=[];for(var je in $e)F.push(je);return F.reverse(),function Et(){for(;F.length;){var lt=F.pop();if(lt in $e)return Et.value=lt,Et.done=!1,Et}return Et.done=!0,Et}},s.values=ue,be.prototype={constructor:be,reset:function($e){if(this.prev=0,this.next=0,this.sent=this._sent=a,this.done=!1,this.delegate=null,this.method="next",this.arg=a,this.tryEntries.forEach(Oe),!$e)for(var F in this)"t"===F.charAt(0)&&u.call(this,F)&&!isNaN(+F.slice(1))&&(this[F]=a)},stop:function(){this.done=!0;var $e=this.tryEntries[0].completion;if("throw"===$e.type)throw $e.arg;return this.rval},dispatchException:function($e){if(this.done)throw $e;var F=this;function je(Qe,It){return nn.type="throw",nn.arg=$e,F.next=Qe,It&&(F.method="next",F.arg=a),!!It}for(var Et=this.tryEntries.length-1;Et>=0;--Et){var lt=this.tryEntries[Et],nn=lt.completion;if("root"===lt.tryLoc)return je("end");if(lt.tryLoc<=this.prev){var St=u.call(lt,"catchLoc"),At=u.call(lt,"finallyLoc");if(St&&At){if(this.prev<lt.catchLoc)return je(lt.catchLoc,!0);if(this.prev<lt.finallyLoc)return je(lt.finallyLoc)}else if(St){if(this.prev<lt.catchLoc)return je(lt.catchLoc,!0)}else{if(!At)throw new Error("try statement without catch or finally");if(this.prev<lt.finallyLoc)return je(lt.finallyLoc)}}}},abrupt:function($e,F){for(var je=this.tryEntries.length-1;je>=0;--je){var Et=this.tryEntries[je];if(Et.tryLoc<=this.prev&&u.call(Et,"finallyLoc")&&this.prev<Et.finallyLoc){var lt=Et;break}}lt&&("break"===$e||"continue"===$e)&<.tryLoc<=F&&F<=lt.finallyLoc&&(lt=null);var nn=lt?lt.completion:{};return nn.type=$e,nn.arg=F,lt?(this.method="next",this.next=lt.finallyLoc,M):this.complete(nn)},complete:function($e,F){if("throw"===$e.type)throw $e.arg;return"break"===$e.type||"continue"===$e.type?this.next=$e.arg:"return"===$e.type?(this.rval=this.arg=$e.arg,this.method="return",this.next="end"):"normal"===$e.type&&F&&(this.next=F),M},finish:function($e){for(var F=this.tryEntries.length-1;F>=0;--F){var je=this.tryEntries[F];if(je.finallyLoc===$e)return this.complete(je.completion,je.afterLoc),Oe(je),M}},catch:function($e){for(var F=this.tryEntries.length-1;F>=0;--F){var je=this.tryEntries[F];if(je.tryLoc===$e){var Et=je.completion;if("throw"===Et.type){var lt=Et.arg;Oe(je)}return lt}}throw new Error("illegal catch attempt")},delegateYield:function($e,F,je){return this.delegate={iterator:ue($e),resultName:F,nextLoc:je},"next"===this.method&&(this.arg=a),M}},s}(g.exports);try{regeneratorRuntime=e}catch(s){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},function(g,o,t){var e=t(842);g.exports=e},function(g,o,t){t(843);var e=t(34);g.exports=e.Object.values},function(g,o,t){var e=t(22),s=t(435).values;e({target:"Object",stat:!0},{values:function(a){return s(a)}})},function(g,o,t){var e=t(845);g.exports=e},function(g,o,t){t(846);var e=t(34);g.exports=e.Date.now},function(g,o,t){var e=t(22),s=t(17),a=t(27),l=s.Date,u=a(l.prototype.getTime);e({target:"Date",stat:!0},{now:function(){return u(new l)}})},function(g,o,t){"use strict";g.exports=function(e,s){if(s=s.split(":")[0],!(e=+e))return!1;switch(s){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},function(g,o,t){"use strict";var e=Object.prototype.hasOwnProperty;function s(l){try{return decodeURIComponent(l.replace(/\+/g," "))}catch(u){return null}}function a(l){try{return encodeURIComponent(l)}catch(u){return null}}o.stringify=function(l,u){u=u||"";var h,_,m=[];for(_ in"string"!=typeof u&&(u="?"),l)if(e.call(l,_)){if((h=l[_])||null!=h&&!isNaN(h)||(h=""),_=a(_),h=a(h),null===_||null===h)continue;m.push(_+"="+h)}return m.length?u+m.join("&"):""},o.parse=function(l){for(var u,h=/([^=?#&]+)=?([^&]*)/g,_={};u=h.exec(l);){var m=s(u[1]),b=s(u[2]);null===m||null===b||m in _||(_[m]=b)}return _}},function(g,o,t){var e=t(69);g.exports=function(){return e.Date.now()}},function(g,o,t){var e=t(235),s=t(156),a=t(186),l=t(53),u=t(136);g.exports=function(h,_,m,b){if(!l(h))return h;for(var C=-1,D=(_=s(_,h)).length,x=D-1,j=h;null!=j&&++C<D;){var H=u(_[C]),z=m;if("__proto__"===H||"constructor"===H||"prototype"===H)return h;if(C!=x){var U=j[H];void 0===(z=b?b(U,H,j):void 0)&&(z=l(U)?U:a(_[C+1])?[]:{})}e(j,H,z),j=j[H]}return h}},function(g,o,t){g.exports=t(852)},function(g,o,t){var e=t(349);g.exports=e},function(g,o,t){g.exports=t(854)},function(g,o,t){var e=t(855);g.exports=e},function(g,o,t){var e=t(856);g.exports=e},function(g,o,t){t(857);var e=t(34).Object;g.exports=function(s,a){return e.create(s,a)}},function(g,o,t){t(22)({target:"Object",stat:!0,sham:!t(48)},{create:t(98)})},function(g,o,t){var e=t(436);function s(a,l){return g.exports=s=e||function(u,h){return u.__proto__=h,u},g.exports.default=g.exports,g.exports.__esModule=!0,s(a,l)}g.exports=s,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(860);g.exports=e},function(g,o,t){var e=t(861);g.exports=e},function(g,o,t){t(862);var e=t(34);g.exports=e.Object.setPrototypeOf},function(g,o,t){t(22)({target:"Object",stat:!0},{setPrototypeOf:t(176)})},function(g,o,t){var e=t(864);g.exports=e},function(g,o,t){var e=t(865);g.exports=e},function(g,o,t){t(866);var e=t(34);g.exports=e.Reflect.construct},function(g,o,t){var e=t(22),s=t(58),a=t(93),l=t(348),u=t(429),h=t(51),_=t(43),m=t(98),b=t(33),C=s("Reflect","construct"),D=Object.prototype,x=[].push,j=b(function(){function U(){}return!(C(function(){},[],U)instanceof U)}),H=!b(function(){C(function(){})}),z=j||H;e({target:"Reflect",stat:!0,forced:z,sham:z},{construct:function(U,M){u(U),h(M);var I=arguments.length<3?U:u(arguments[2]);if(H&&!j)return C(U,M,I);if(U==I){switch(M.length){case 0:return new U;case 1:return new U(M[0]);case 2:return new U(M[0],M[1]);case 3:return new U(M[0],M[1],M[2]);case 4:return new U(M[0],M[1],M[2],M[3])}var J=[null];return a(x,J,M),new(a(l,U,J))}var Y=I.prototype,ie=m(_(Y)?Y:D),oe=a(U,ie,M);return _(oe)?oe:ie}})},function(g,o,t){var e=t(436),s=t(868);function a(l){return g.exports=a=e?s:function(u){return u.__proto__||s(u)},g.exports.default=g.exports,g.exports.__esModule=!0,a(l)}g.exports=a,g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){g.exports=t(869)},function(g,o,t){var e=t(870);g.exports=e},function(g,o,t){var e=t(871);g.exports=e},function(g,o,t){t(872);var e=t(34);g.exports=e.Object.getPrototypeOf},function(g,o,t){var e=t(22),s=t(33),a=t(62),l=t(175),u=t(342);e({target:"Object",stat:!0,forced:s(function(){l(1)}),sham:!u},{getPrototypeOf:function(h){return l(a(h))}})},function(g,o,t){var e=t(437);g.exports=function(){if("undefined"==typeof Reflect||!e||e.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(e(Boolean,[],function(){})),!0}catch(s){return!1}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(19).default,s=t(10);g.exports=function(a,l){if(l&&("object"===e(l)||"function"==typeof l))return l;if(void 0!==l)throw new TypeError("Derived constructors may only return object or undefined");return s(a)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){"use strict";var e=t(0),s=t(353),a=t(876);function l(T){for(var R="https://reactjs.org/docs/error-decoder.html?invariant="+T,q=1;q<arguments.length;q++)R+="&args[]="+encodeURIComponent(arguments[q]);return"Minified React error #"+T+"; visit "+R+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!e)throw Error(l(227));var u=new Set,h={};function _(T,R){m(T,R),m(T+"Capture",R)}function m(T,R){for(h[T]=R,T=0;T<R.length;T++)u.add(R[T])}var b=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),C=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,D=Object.prototype.hasOwnProperty,x={},j={};function H(T,R,q,Pe,tt,on,bn){this.acceptsBooleans=2===R||3===R||4===R,this.attributeName=Pe,this.attributeNamespace=tt,this.mustUseProperty=q,this.propertyName=T,this.type=R,this.sanitizeURL=on,this.removeEmptyString=bn}var z={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(T){z[T]=new H(T,0,!1,T,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(T){var R=T[0];z[R]=new H(R,1,!1,T[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(T){z[T]=new H(T,2,!1,T.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(T){z[T]=new H(T,2,!1,T,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(T){z[T]=new H(T,3,!1,T.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(T){z[T]=new H(T,3,!0,T,null,!1,!1)}),["capture","download"].forEach(function(T){z[T]=new H(T,4,!1,T,null,!1,!1)}),["cols","rows","size","span"].forEach(function(T){z[T]=new H(T,6,!1,T,null,!1,!1)}),["rowSpan","start"].forEach(function(T){z[T]=new H(T,5,!1,T.toLowerCase(),null,!1,!1)});var U=/[\-:]([a-z])/g;function M(T){return T[1].toUpperCase()}function I(T,R,q,Pe){var on,tt=z.hasOwnProperty(R)?z[R]:null;(null!==tt?0===tt.type:!Pe&&2<R.length&&("o"===R[0]||"O"===R[0])&&("n"===R[1]||"N"===R[1]))||(function(on,bn,rr,wr){if(null==bn||function(qr,co,Ko,so){if(null!==Ko&&0===Ko.type)return!1;switch(typeof co){case"function":case"symbol":return!0;case"boolean":return!so&&(null!==Ko?!Ko.acceptsBooleans:"data-"!==(qr=qr.toLowerCase().slice(0,5))&&"aria-"!==qr);default:return!1}}(on,bn,rr,wr))return!0;if(wr)return!1;if(null!==rr)switch(rr.type){case 3:return!bn;case 4:return!1===bn;case 5:return isNaN(bn);case 6:return isNaN(bn)||1>bn}return!1}(R,q,tt,Pe)&&(q=null),Pe||null===tt?(D.call(j,on=R)||!D.call(x,on)&&(C.test(on)?j[on]=!0:(x[on]=!0,0)))&&(null===q?T.removeAttribute(R):T.setAttribute(R,""+q)):tt.mustUseProperty?T[tt.propertyName]=null===q?3!==tt.type&&"":q:(R=tt.attributeName,Pe=tt.attributeNamespace,null===q?T.removeAttribute(R):(q=3===(tt=tt.type)||4===tt&&!0===q?"":""+q,Pe?T.setAttributeNS(Pe,R,q):T.setAttribute(R,q))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(T){var R=T.replace(U,M);z[R]=new H(R,1,!1,T,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(T){var R=T.replace(U,M);z[R]=new H(R,1,!1,T,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(T){var R=T.replace(U,M);z[R]=new H(R,1,!1,T,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(T){z[T]=new H(T,1,!1,T.toLowerCase(),null,!1,!1)}),z.xlinkHref=new H("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(T){z[T]=new H(T,1,!1,T.toLowerCase(),null,!0,!0)});var J=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Y=60103,ie=60106,oe=60107,fe=60108,ne=60114,he=60109,ce=60110,Ae=60112,Me=60113,Oe=60120,be=60115,ue=60116,He=60121,$e=60128,F=60129,je=60130,Et=60131;if("function"==typeof Symbol&&Symbol.for){var lt=Symbol.for;Y=lt("react.element"),ie=lt("react.portal"),oe=lt("react.fragment"),fe=lt("react.strict_mode"),ne=lt("react.profiler"),he=lt("react.provider"),ce=lt("react.context"),Ae=lt("react.forward_ref"),Me=lt("react.suspense"),Oe=lt("react.suspense_list"),be=lt("react.memo"),ue=lt("react.lazy"),He=lt("react.block"),lt("react.scope"),$e=lt("react.opaque.id"),F=lt("react.debug_trace_mode"),je=lt("react.offscreen"),Et=lt("react.legacy_hidden")}var nn,St="function"==typeof Symbol&&Symbol.iterator;function At(T){return null===T||"object"!=typeof T?null:"function"==typeof(T=St&&T[St]||T["@@iterator"])?T:null}function Qe(T){if(void 0===nn)try{throw Error()}catch(q){var R=q.stack.trim().match(/\n( *(at )?)/);nn=R&&R[1]||""}return"\n"+nn+T}var It=!1;function ae(T,R){if(!T||It)return"";It=!0;var q=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(R)if(R=function(){throw Error()},Object.defineProperty(R.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(R,[])}catch(wr){var Pe=wr}Reflect.construct(T,[],R)}else{try{R.call()}catch(wr){Pe=wr}T.call(R.prototype)}else{try{throw Error()}catch(wr){Pe=wr}T()}}catch(wr){if(wr&&Pe&&"string"==typeof wr.stack){for(var tt=wr.stack.split("\n"),on=Pe.stack.split("\n"),bn=tt.length-1,rr=on.length-1;1<=bn&&0<=rr&&tt[bn]!==on[rr];)rr--;for(;1<=bn&&0<=rr;bn--,rr--)if(tt[bn]!==on[rr]){if(1!==bn||1!==rr)do{if(bn--,0>--rr||tt[bn]!==on[rr])return"\n"+tt[bn].replace(" at new "," at ")}while(1<=bn&&0<=rr);break}}}finally{It=!1,Error.prepareStackTrace=q}return(T=T?T.displayName||T.name:"")?Qe(T):""}function Ie(T){switch(T.tag){case 5:return Qe(T.type);case 16:return Qe("Lazy");case 13:return Qe("Suspense");case 19:return Qe("SuspenseList");case 0:case 2:case 15:return ae(T.type,!1);case 11:return ae(T.type.render,!1);case 22:return ae(T.type._render,!1);case 1:return ae(T.type,!0);default:return""}}function dt(T){if(null==T)return null;if("function"==typeof T)return T.displayName||T.name||null;if("string"==typeof T)return T;switch(T){case oe:return"Fragment";case ie:return"Portal";case ne:return"Profiler";case fe:return"StrictMode";case Me:return"Suspense";case Oe:return"SuspenseList"}if("object"==typeof T)switch(T.$$typeof){case ce:return(T.displayName||"Context")+".Consumer";case he:return(T._context.displayName||"Context")+".Provider";case Ae:var R=T.render;return R=R.displayName||R.name||"",T.displayName||(""!==R?"ForwardRef("+R+")":"ForwardRef");case be:return dt(T.type);case He:return dt(T._render);case ue:R=T._payload,T=T._init;try{return dt(T(R))}catch(q){}}return null}function Jt(T){switch(typeof T){case"boolean":case"number":case"object":case"string":case"undefined":return T;default:return""}}function zt(T){var R=T.type;return(T=T.nodeName)&&"input"===T.toLowerCase()&&("checkbox"===R||"radio"===R)}function ln(T){T._valueTracker||(T._valueTracker=function(R){var q=zt(R)?"checked":"value",Pe=Object.getOwnPropertyDescriptor(R.constructor.prototype,q),tt=""+R[q];if(!R.hasOwnProperty(q)&&void 0!==Pe&&"function"==typeof Pe.get&&"function"==typeof Pe.set){var on=Pe.get,bn=Pe.set;return Object.defineProperty(R,q,{configurable:!0,get:function(){return on.call(this)},set:function(rr){tt=""+rr,bn.call(this,rr)}}),Object.defineProperty(R,q,{enumerable:Pe.enumerable}),{getValue:function(){return tt},setValue:function(rr){tt=""+rr},stopTracking:function(){R._valueTracker=null,delete R[q]}}}}(T))}function ar(T){if(!T)return!1;var R=T._valueTracker;if(!R)return!0;var q=R.getValue(),Pe="";return T&&(Pe=zt(T)?T.checked?"true":"false":T.value),(T=Pe)!==q&&(R.setValue(T),!0)}function Ln(T){if(void 0===(T=T||("undefined"!=typeof document?document:void 0)))return null;try{return T.activeElement||T.body}catch(R){return T.body}}function Rn(T,R){var q=R.checked;return s({},R,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=q?q:T._wrapperState.initialChecked})}function er(T,R){var q=null==R.defaultValue?"":R.defaultValue,Pe=null!=R.checked?R.checked:R.defaultChecked;q=Jt(null!=R.value?R.value:q),T._wrapperState={initialChecked:Pe,initialValue:q,controlled:"checkbox"===R.type||"radio"===R.type?null!=R.checked:null!=R.value}}function Mn(T,R){null!=(R=R.checked)&&I(T,"checked",R,!1)}function Ht(T,R){Mn(T,R);var q=Jt(R.value),Pe=R.type;if(null!=q)"number"===Pe?(0===q&&""===T.value||T.value!=q)&&(T.value=""+q):T.value!==""+q&&(T.value=""+q);else if("submit"===Pe||"reset"===Pe)return void T.removeAttribute("value");R.hasOwnProperty("value")?Yn(T,R.type,q):R.hasOwnProperty("defaultValue")&&Yn(T,R.type,Jt(R.defaultValue)),null==R.checked&&null!=R.defaultChecked&&(T.defaultChecked=!!R.defaultChecked)}function tr(T,R,q){if(R.hasOwnProperty("value")||R.hasOwnProperty("defaultValue")){var Pe=R.type;if(("submit"===Pe||"reset"===Pe)&&null==R.value)return;R=""+T._wrapperState.initialValue,q||R===T.value||(T.value=R),T.defaultValue=R}""!==(q=T.name)&&(T.name=""),T.defaultChecked=!!T._wrapperState.initialChecked,""!==q&&(T.name=q)}function Yn(T,R,q){"number"===R&&Ln(T.ownerDocument)===T||(null==q?T.defaultValue=""+T._wrapperState.initialValue:T.defaultValue!==""+q&&(T.defaultValue=""+q))}function Cn(T,R){return T=s({children:void 0},R),Pe="",e.Children.forEach(R.children,function(tt){null!=tt&&(Pe+=tt)}),(R=Pe)&&(T.children=R),T;var Pe}function Kt(T,R,q,Pe){if(T=T.options,R){R={};for(var tt=0;tt<q.length;tt++)R["$"+q[tt]]=!0;for(q=0;q<T.length;q++)tt=R.hasOwnProperty("$"+T[q].value),T[q].selected!==tt&&(T[q].selected=tt),tt&&Pe&&(T[q].defaultSelected=!0)}else{for(q=""+Jt(q),R=null,tt=0;tt<T.length;tt++){if(T[tt].value===q)return T[tt].selected=!0,void(Pe&&(T[tt].defaultSelected=!0));null!==R||T[tt].disabled||(R=T[tt])}null!==R&&(R.selected=!0)}}function dn(T,R){if(null!=R.dangerouslySetInnerHTML)throw Error(l(91));return s({},R,{value:void 0,defaultValue:void 0,children:""+T._wrapperState.initialValue})}function Kn(T,R){var q=R.value;if(null==q){if(q=R.children,R=R.defaultValue,null!=q){if(null!=R)throw Error(l(92));if(Array.isArray(q)){if(!(1>=q.length))throw Error(l(93));q=q[0]}R=q}null==R&&(R=""),q=R}T._wrapperState={initialValue:Jt(q)}}function qn(T,R){var q=Jt(R.value),Pe=Jt(R.defaultValue);null!=q&&((q=""+q)!==T.value&&(T.value=q),null==R.defaultValue&&T.defaultValue!==q&&(T.defaultValue=q)),null!=Pe&&(T.defaultValue=""+Pe)}function Sn(T){var R=T.textContent;R===T._wrapperState.initialValue&&""!==R&&null!==R&&(T.value=R)}var $n="http://www.w3.org/1999/xhtml";function Fn(T){switch(T){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Dn(T,R){return null==T||"http://www.w3.org/1999/xhtml"===T?Fn(R):"http://www.w3.org/2000/svg"===T&&"foreignObject"===R?"http://www.w3.org/1999/xhtml":T}var mn,jn,Xt=(jn=function(T,R){if("http://www.w3.org/2000/svg"!==T.namespaceURI||"innerHTML"in T)T.innerHTML=R;else{for((mn=mn||document.createElement("div")).innerHTML="<svg>"+R.valueOf().toString()+"</svg>",R=mn.firstChild;T.firstChild;)T.removeChild(T.firstChild);for(;R.firstChild;)T.appendChild(R.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(T,R,q,Pe){MSApp.execUnsafeLocalFunction(function(){return jn(T,R)})}:jn);function ut(T,R){if(R){var q=T.firstChild;if(q&&q===T.lastChild&&3===q.nodeType)return void(q.nodeValue=R)}T.textContent=R}var mt={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Tt=["Webkit","ms","Moz","O"];function yn(T,R,q){return null==R||"boolean"==typeof R||""===R?"":q||"number"!=typeof R||0===R||mt.hasOwnProperty(T)&&mt[T]?(""+R).trim():R+"px"}function et(T,R){for(var q in T=T.style,R)if(R.hasOwnProperty(q)){var Pe=0===q.indexOf("--"),tt=yn(q,R[q],Pe);"float"===q&&(q="cssFloat"),Pe?T.setProperty(q,tt):T[q]=tt}}Object.keys(mt).forEach(function(T){Tt.forEach(function(R){R=R+T.charAt(0).toUpperCase()+T.substring(1),mt[R]=mt[T]})});var jt=s({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function hn(T,R){if(R){if(jt[T]&&(null!=R.children||null!=R.dangerouslySetInnerHTML))throw Error(l(137,T));if(null!=R.dangerouslySetInnerHTML){if(null!=R.children)throw Error(l(60));if("object"!=typeof R.dangerouslySetInnerHTML||!("__html"in R.dangerouslySetInnerHTML))throw Error(l(61))}if(null!=R.style&&"object"!=typeof R.style)throw Error(l(62))}}function Qn(T,R){if(-1===T.indexOf("-"))return"string"==typeof R.is;switch(T){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ir(T){return(T=T.target||T.srcElement||window).correspondingUseElement&&(T=T.correspondingUseElement),3===T.nodeType?T.parentNode:T}var ht=null,L=null,Ue=null;function nt(T){if(T=Fe(T)){if("function"!=typeof ht)throw Error(l(280));var R=T.stateNode;R&&(R=Ot(R),ht(T.stateNode,T.type,R))}}function at(T){L?Ue?Ue.push(T):Ue=[T]:L=T}function it(){if(L){var T=L,R=Ue;if(Ue=L=null,nt(T),R)for(T=0;T<R.length;T++)nt(R[T])}}function Pt(T,R){return T(R)}function Ut(T,R,q,Pe,tt){return T(R,q,Pe,tt)}function ot(){}var Nn=Pt,sn=!1,An=!1;function Bn(){null===L&&null===Ue||(ot(),it())}function ir(T,R){var q=T.stateNode;if(null===q)return null;var Pe=Ot(q);if(null===Pe)return null;q=Pe[R];e:switch(R){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(Pe=!Pe.disabled)||(Pe=!("button"===(T=T.type)||"input"===T||"select"===T||"textarea"===T)),T=!Pe;break e;default:T=!1}if(T)return null;if(q&&"function"!=typeof q)throw Error(l(231,R,typeof q));return q}var mr=!1;if(b)try{var _r={};Object.defineProperty(_r,"passive",{get:function(){mr=!0}}),window.addEventListener("test",_r,_r),window.removeEventListener("test",_r,_r)}catch(T){mr=!1}function Nr(T,R,q,Pe,tt,on,bn,rr,wr){var qr=Array.prototype.slice.call(arguments,3);try{R.apply(q,qr)}catch(co){this.onError(co)}}var br=!1,Jn=null,nr=!1,Mr=null,yi={onError:function(T){br=!0,Jn=T}};function Ii(T,R,q,Pe,tt,on,bn,rr,wr){br=!1,Jn=null,Nr.apply(yi,arguments)}function Mi(T){var R=T,q=T;if(T.alternate)for(;R.return;)R=R.return;else{T=R;do{0!=(1026&(R=T).flags)&&(q=R.return),T=R.return}while(T)}return 3===R.tag?q:null}function Oi(T){if(13===T.tag){var R=T.memoizedState;if(null===R&&null!==(T=T.alternate)&&(R=T.memoizedState),null!==R)return R.dehydrated}return null}function Kr(T){if(Mi(T)!==T)throw Error(l(188))}function ei(T){if(!(T=function(q){var Pe=q.alternate;if(!Pe){if(null===(Pe=Mi(q)))throw Error(l(188));return Pe!==q?null:q}for(var tt=q,on=Pe;;){var bn=tt.return;if(null===bn)break;var rr=bn.alternate;if(null===rr){if(null!==(on=bn.return)){tt=on;continue}break}if(bn.child===rr.child){for(rr=bn.child;rr;){if(rr===tt)return Kr(bn),q;if(rr===on)return Kr(bn),Pe;rr=rr.sibling}throw Error(l(188))}if(tt.return!==on.return)tt=bn,on=rr;else{for(var wr=!1,qr=bn.child;qr;){if(qr===tt){wr=!0,tt=bn,on=rr;break}if(qr===on){wr=!0,on=bn,tt=rr;break}qr=qr.sibling}if(!wr){for(qr=rr.child;qr;){if(qr===tt){wr=!0,tt=rr,on=bn;break}if(qr===on){wr=!0,on=rr,tt=bn;break}qr=qr.sibling}if(!wr)throw Error(l(189))}}if(tt.alternate!==on)throw Error(l(190))}if(3!==tt.tag)throw Error(l(188));return tt.stateNode.current===tt?q:Pe}(T)))return null;for(var R=T;;){if(5===R.tag||6===R.tag)return R;if(R.child)R.child.return=R,R=R.child;else{if(R===T)break;for(;!R.sibling;){if(!R.return||R.return===T)return null;R=R.return}R.sibling.return=R.return,R=R.sibling}}return null}function di(T,R){for(var q=T.alternate;null!==R;){if(R===T||R===q)return!0;R=R.return}return!1}var se,ct,Ke,Xe,Vt=!1,Ct=[],rt=null,bt=null,We=null,$t=new Map,or=new Map,Zn=[],Vr="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Cr(T,R,q,Pe,tt){return{blockedOn:T,domEventName:R,eventSystemFlags:16|q,nativeEvent:tt,targetContainers:[Pe]}}function ai(T,R){switch(T){case"focusin":case"focusout":rt=null;break;case"dragenter":case"dragleave":bt=null;break;case"mouseover":case"mouseout":We=null;break;case"pointerover":case"pointerout":$t.delete(R.pointerId);break;case"gotpointercapture":case"lostpointercapture":or.delete(R.pointerId)}}function Dr(T,R,q,Pe,tt,on){return null===T||T.nativeEvent!==on?(T=Cr(R,q,Pe,tt,on),null!==R&&null!==(R=Fe(R))&&ct(R),T):(T.eventSystemFlags|=Pe,R=T.targetContainers,null!==tt&&-1===R.indexOf(tt)&&R.push(tt),T)}function Qr(T){var R=Je(T.target);if(null!==R){var q=Mi(R);if(null!==q)if(13===(R=q.tag)){if(null!==(R=Oi(q)))return T.blockedOn=R,void Xe(T.lanePriority,function(){a.unstable_runWithPriority(T.priority,function(){Ke(q)})})}else if(3===R&&q.stateNode.hydrate)return void(T.blockedOn=3===q.tag?q.stateNode.containerInfo:null)}T.blockedOn=null}function rn(T){if(null!==T.blockedOn)return!1;for(var R=T.targetContainers;0<R.length;){var q=Os(T.domEventName,T.eventSystemFlags,R[0],T.nativeEvent);if(null!==q)return null!==(R=Fe(q))&&ct(R),T.blockedOn=q,!1;R.shift()}return!0}function fi(T,R,q){rn(T)&&q.delete(R)}function Ei(){for(Vt=!1;0<Ct.length;){var T=Ct[0];if(null!==T.blockedOn){null!==(T=Fe(T.blockedOn))&&se(T);break}for(var R=T.targetContainers;0<R.length;){var q=Os(T.domEventName,T.eventSystemFlags,R[0],T.nativeEvent);if(null!==q){T.blockedOn=q;break}R.shift()}null===T.blockedOn&&Ct.shift()}null!==rt&&rn(rt)&&(rt=null),null!==bt&&rn(bt)&&(bt=null),null!==We&&rn(We)&&(We=null),$t.forEach(fi),or.forEach(fi)}function wi(T,R){T.blockedOn===R&&(T.blockedOn=null,Vt||(Vt=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Ei)))}function go(T){function R(tt){return wi(tt,T)}if(0<Ct.length){wi(Ct[0],T);for(var q=1;q<Ct.length;q++){var Pe=Ct[q];Pe.blockedOn===T&&(Pe.blockedOn=null)}}for(null!==rt&&wi(rt,T),null!==bt&&wi(bt,T),null!==We&&wi(We,T),$t.forEach(R),or.forEach(R),q=0;q<Zn.length;q++)(Pe=Zn[q]).blockedOn===T&&(Pe.blockedOn=null);for(;0<Zn.length&&null===(q=Zn[0]).blockedOn;)Qr(q),null===q.blockedOn&&Zn.shift()}function Fi(T,R){var q={};return q[T.toLowerCase()]=R.toLowerCase(),q["Webkit"+T]="webkit"+R,q["Moz"+T]="moz"+R,q}var no={animationend:Fi("Animation","AnimationEnd"),animationiteration:Fi("Animation","AnimationIteration"),animationstart:Fi("Animation","AnimationStart"),transitionend:Fi("Transition","TransitionEnd")},Ji={},qi={};function to(T){if(Ji[T])return Ji[T];if(!no[T])return T;var R,q=no[T];for(R in q)if(q.hasOwnProperty(R)&&R in qi)return Ji[T]=q[R];return T}b&&(qi=document.createElement("div").style,"AnimationEvent"in window||(delete no.animationend.animation,delete no.animationiteration.animation,delete no.animationstart.animation),"TransitionEvent"in window||delete no.transitionend.transition);var zi=to("animationend"),Go=to("animationiteration"),Ro=to("animationstart"),Bo=to("transitionend"),Jo=new Map,es=new Map,ua=["abort","abort",zi,"animationEnd",Go,"animationIteration",Ro,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Bo,"transitionEnd","waiting","waiting"];function ds(T,R){for(var q=0;q<T.length;q+=2){var Pe=T[q],tt=T[q+1];tt="on"+(tt[0].toUpperCase()+tt.slice(1)),es.set(Pe,R),Jo.set(Pe,tt),_(tt,[Pe])}}(0,a.unstable_now)();var zo=8;function oa(T){if(0!=(1&T))return zo=15,1;if(0!=(2&T))return zo=14,2;if(0!=(4&T))return zo=13,4;var R=24&T;return 0!==R?(zo=12,R):0!=(32&T)?(zo=11,32):0!=(R=192&T)?(zo=10,R):0!=(256&T)?(zo=9,256):0!=(R=3584&T)?(zo=8,R):0!=(4096&T)?(zo=7,4096):0!=(R=4186112&T)?(zo=6,R):0!=(R=62914560&T)?(zo=5,R):67108864&T?(zo=4,67108864):0!=(134217728&T)?(zo=3,134217728):0!=(R=805306368&T)?(zo=2,R):0!=(1073741824&T)?(zo=1,1073741824):(zo=8,T)}function Er(T,R){var q=T.pendingLanes;if(0===q)return zo=0;var Pe=0,tt=0,on=T.expiredLanes,bn=T.suspendedLanes,rr=T.pingedLanes;if(0!==on)Pe=on,tt=zo=15;else if(0!=(on=134217727&q)){var wr=on&~bn;0!==wr?(Pe=oa(wr),tt=zo):0!=(rr&=on)&&(Pe=oa(rr),tt=zo)}else 0!=(on=q&~bn)?(Pe=oa(on),tt=zo):0!==rr&&(Pe=oa(rr),tt=zo);if(0===Pe)return 0;if(Pe=q&((0>(Pe=31-Tn(Pe))?0:1<<Pe)<<1)-1,0!==R&&R!==Pe&&0==(R&bn)){if(oa(R),tt<=zo)return R;zo=tt}if(0!==(R=T.entangledLanes))for(T=T.entanglements,R&=Pe;0<R;)tt=1<<(q=31-Tn(R)),Pe|=T[q],R&=~tt;return Pe}function st(T){return 0!=(T=-1073741825&T.pendingLanes)?T:1073741824&T?1073741824:0}function pn(T,R){switch(T){case 15:return 1;case 14:return 2;case 12:return 0===(T=ee(24&~R))?pn(10,R):T;case 10:return 0===(T=ee(192&~R))?pn(8,R):T;case 8:return 0===(T=ee(3584&~R))&&0===(T=ee(4186112&~R))&&(T=512),T;case 2:return 0===(R=ee(805306368&~R))&&(R=268435456),R}throw Error(l(358,T))}function ee(T){return T&-T}function Ve(T){for(var R=[],q=0;31>q;q++)R.push(T);return R}function fn(T,R,q){T.pendingLanes|=R;var Pe=R-1;T.suspendedLanes&=Pe,T.pingedLanes&=Pe,(T=T.eventTimes)[R=31-Tn(R)]=q}var Tn=Math.clz32?Math.clz32:function(T){return 0===T?32:31-($r(T)/ni|0)|0},$r=Math.log,ni=Math.LN2,Ri=a.unstable_UserBlockingPriority,Do=a.unstable_runWithPriority,gi=!0;function Hi(T,R,q,Pe){sn||ot();var tt=cs,on=sn;sn=!0;try{Ut(tt,T,R,q,Pe)}finally{(sn=on)||Bn()}}function Li(T,R,q,Pe){Do(Ri,cs.bind(null,T,R,q,Pe))}function cs(T,R,q,Pe){var tt;if(gi)if((tt=0==(4&R))&&0<Ct.length&&-1<Vr.indexOf(T))T=Cr(null,T,R,q,Pe),Ct.push(T);else{var on=Os(T,R,q,Pe);if(null===on)tt&&ai(T,Pe);else{if(tt){if(-1<Vr.indexOf(T))return T=Cr(on,T,R,q,Pe),void Ct.push(T);if(function(bn,rr,wr,qr,co){switch(rr){case"focusin":return rt=Dr(rt,bn,rr,wr,qr,co),!0;case"dragenter":return bt=Dr(bt,bn,rr,wr,qr,co),!0;case"mouseover":return We=Dr(We,bn,rr,wr,qr,co),!0;case"pointerover":var Ko=co.pointerId;return $t.set(Ko,Dr($t.get(Ko)||null,bn,rr,wr,qr,co)),!0;case"gotpointercapture":return or.set(Ko=co.pointerId,Dr(or.get(Ko)||null,bn,rr,wr,qr,co)),!0}return!1}(on,T,R,q,Pe))return;ai(T,Pe)}eo(T,R,Pe,null,q)}}}function Os(T,R,q,Pe){var tt=Ir(Pe);if(null!==(tt=Je(tt))){var on=Mi(tt);if(null===on)tt=null;else{var bn=on.tag;if(13===bn){if(null!==(tt=Oi(on)))return tt;tt=null}else if(3===bn){if(on.stateNode.hydrate)return 3===on.tag?on.stateNode.containerInfo:null;tt=null}else on!==tt&&(tt=null)}}return eo(T,R,Pe,tt,q),null}var da=null,xa=null,Ra=null;function Ml(){if(Ra)return Ra;var T,R,q=xa,Pe=q.length,tt="value"in da?da.value:da.textContent,on=tt.length;for(T=0;T<Pe&&q[T]===tt[T];T++);var bn=Pe-T;for(R=1;R<=bn&&q[Pe-R]===tt[on-R];R++);return Ra=tt.slice(T,1<R?1-R:void 0)}function Dl(T){var R=T.keyCode;return"charCode"in T?0===(T=T.charCode)&&13===R&&(T=13):T=R,10===T&&(T=13),32<=T||13===T?T:0}function Ca(){return!0}function sa(){return!1}function Fo(T){function R(q,Pe,tt,on,bn){for(var rr in this._reactName=q,this._targetInst=tt,this.type=Pe,this.nativeEvent=on,this.target=bn,this.currentTarget=null,T)T.hasOwnProperty(rr)&&(this[rr]=(q=T[rr])?q(on):on[rr]);return this.isDefaultPrevented=(null!=on.defaultPrevented?on.defaultPrevented:!1===on.returnValue)?Ca:sa,this.isPropagationStopped=sa,this}return s(R.prototype,{preventDefault:function(){this.defaultPrevented=!0;var q=this.nativeEvent;q&&(q.preventDefault?q.preventDefault():"unknown"!=typeof q.returnValue&&(q.returnValue=!1),this.isDefaultPrevented=Ca)},stopPropagation:function(){var q=this.nativeEvent;q&&(q.stopPropagation?q.stopPropagation():"unknown"!=typeof q.cancelBubble&&(q.cancelBubble=!0),this.isPropagationStopped=Ca)},persist:function(){},isPersistent:Ca}),R}var Ka,Sa,fa,ks={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(T){return T.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ua=Fo(ks),pt=s({},ks,{view:0,detail:0}),an=Fo(pt),Nt=s({},pt,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Zo,button:0,buttons:0,relatedTarget:function(T){return void 0===T.relatedTarget?T.fromElement===T.srcElement?T.toElement:T.fromElement:T.relatedTarget},movementX:function(T){return"movementX"in T?T.movementX:(T!==fa&&(fa&&"mousemove"===T.type?(Ka=T.screenX-fa.screenX,Sa=T.screenY-fa.screenY):Sa=Ka=0,fa=T),Ka)},movementY:function(T){return"movementY"in T?T.movementY:Sa}}),Ce=Fo(Nt),ye=Fo(s({},Nt,{dataTransfer:0})),Ne=Fo(s({},pt,{relatedTarget:0})),Wt=Fo(s({},ks,{animationName:0,elapsedTime:0,pseudoElement:0})),Or=Fo(s({},ks,{clipboardData:function(T){return"clipboardData"in T?T.clipboardData:window.clipboardData}})),Ni=Fo(s({},ks,{data:0})),Yo={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ms={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ss={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Lo(T){var R=this.nativeEvent;return R.getModifierState?R.getModifierState(T):!!(T=ss[T])&&!!R[T]}function Zo(){return Lo}var Ea=Fo(s({},pt,{key:function(T){if(T.key){var R=Yo[T.key]||T.key;if("Unidentified"!==R)return R}return"keypress"===T.type?13===(T=Dl(T))?"Enter":String.fromCharCode(T):"keydown"===T.type||"keyup"===T.type?ms[T.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Zo,charCode:function(T){return"keypress"===T.type?Dl(T):0},keyCode:function(T){return"keydown"===T.type||"keyup"===T.type?T.keyCode:0},which:function(T){return"keypress"===T.type?Dl(T):"keydown"===T.type||"keyup"===T.type?T.keyCode:0}})),ul=Fo(s({},Nt,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Ma=Fo(s({},pt,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Zo})),va=Fo(s({},ks,{propertyName:0,elapsedTime:0,pseudoElement:0})),bs=Fo(s({},Nt,{deltaX:function(T){return"deltaX"in T?T.deltaX:"wheelDeltaX"in T?-T.wheelDeltaX:0},deltaY:function(T){return"deltaY"in T?T.deltaY:"wheelDeltaY"in T?-T.wheelDeltaY:"wheelDelta"in T?-T.wheelDelta:0},deltaZ:0,deltaMode:0})),$o=[9,13,27,32],Ol=b&&"CompositionEvent"in window,dl=null;b&&"documentMode"in document&&(dl=document.documentMode);var Ja=b&&"TextEvent"in window&&!dl,il=b&&(!Ol||dl&&8<dl&&11>=dl),Il=String.fromCharCode(32),Bl=!1;function Na(T,R){switch(T){case"keyup":return-1!==$o.indexOf(R.keyCode);case"keydown":return 229!==R.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Di(T){return"object"==typeof(T=T.detail)&&"data"in T?T.data:null}var vs=!1,pa={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Vo(T){var R=T&&T.nodeName&&T.nodeName.toLowerCase();return"input"===R?!!pa[T.type]:"textarea"===R}function ja(T,R,q,Pe){at(Pe),0<(R=Zi(R,"onChange")).length&&(q=new Ua("onChange","change",null,q,Pe),T.push({event:q,listeners:R}))}var hs=null,ze=null;function wt(T){li(T,0)}function kt(T){if(ar(we(T)))return T}function tn(T,R){if("change"===T)return R}var ur=!1;if(b){var gn;if(b){var xr="oninput"in document;if(!xr){var Zr=document.createElement("div");Zr.setAttribute("oninput","return;"),xr="function"==typeof Zr.oninput}gn=xr}else gn=!1;ur=gn&&(!document.documentMode||9<document.documentMode)}function Pr(){hs&&(hs.detachEvent("onpropertychange",mi),ze=hs=null)}function mi(T){if("value"===T.propertyName&&kt(ze)){var R=[];if(ja(R,ze,T,Ir(T)),T=wt,sn)T(R);else{sn=!0;try{Pt(T,R)}finally{sn=!1,Bn()}}}}function ii(T,R,q){"focusin"===T?(Pr(),ze=q,(hs=R).attachEvent("onpropertychange",mi)):"focusout"===T&&Pr()}function si(T){if("selectionchange"===T||"keyup"===T||"keydown"===T)return kt(ze)}function bi(T,R){if("click"===T)return kt(R)}function Ui(T,R){if("input"===T||"change"===T)return kt(R)}var io="function"==typeof Object.is?Object.is:function(T,R){return T===R&&(0!==T||1/T==1/R)||T!=T&&R!=R},vo=Object.prototype.hasOwnProperty;function Bi(T,R){if(io(T,R))return!0;if("object"!=typeof T||null===T||"object"!=typeof R||null===R)return!1;var q=Object.keys(T),Pe=Object.keys(R);if(q.length!==Pe.length)return!1;for(Pe=0;Pe<q.length;Pe++)if(!vo.call(R,q[Pe])||!io(T[q[Pe]],R[q[Pe]]))return!1;return!0}function hi(T){for(;T&&T.firstChild;)T=T.firstChild;return T}function Br(T,R){var q,Pe=hi(T);for(T=0;Pe;){if(3===Pe.nodeType){if(q=T+Pe.textContent.length,T<=R&&q>=R)return{node:Pe,offset:R-T};T=q}e:{for(;Pe;){if(Pe.nextSibling){Pe=Pe.nextSibling;break e}Pe=Pe.parentNode}Pe=void 0}Pe=hi(Pe)}}function G(T,R){return!(!T||!R)&&(T===R||(!T||3!==T.nodeType)&&(R&&3===R.nodeType?G(T,R.parentNode):"contains"in T?T.contains(R):!!T.compareDocumentPosition&&!!(16&T.compareDocumentPosition(R))))}function Se(){for(var T=window,R=Ln();R instanceof T.HTMLIFrameElement;){try{var q="string"==typeof R.contentWindow.location.href}catch(Pe){q=!1}if(!q)break;R=Ln((T=R.contentWindow).document)}return R}function ft(T){var R=T&&T.nodeName&&T.nodeName.toLowerCase();return R&&("input"===R&&("text"===T.type||"search"===T.type||"tel"===T.type||"url"===T.type||"password"===T.type)||"textarea"===R||"true"===T.contentEditable)}var Ft=b&&"documentMode"in document&&11>=document.documentMode,Bt=null,In=null,Xn=null,Sr=!1;function pi(T,R,q){var Pe=q.window===q?q.document:9===q.nodeType?q:q.ownerDocument;Sr||null==Bt||Bt!==Ln(Pe)||(Pe="selectionStart"in(Pe=Bt)&&ft(Pe)?{start:Pe.selectionStart,end:Pe.selectionEnd}:{anchorNode:(Pe=(Pe.ownerDocument&&Pe.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:Pe.anchorOffset,focusNode:Pe.focusNode,focusOffset:Pe.focusOffset},Xn&&Bi(Xn,Pe)||(Xn=Pe,0<(Pe=Zi(In,"onSelect")).length&&(R=new Ua("onSelect","select",null,R,q),T.push({event:R,listeners:Pe}),R.target=Bt)))}ds("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),ds("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),ds(ua,2);for(var Fr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),zr=0;zr<Fr.length;zr++)es.set(Fr[zr],0);m("onMouseEnter",["mouseout","mouseover"]),m("onMouseLeave",["mouseout","mouseover"]),m("onPointerEnter",["pointerout","pointerover"]),m("onPointerLeave",["pointerout","pointerover"]),_("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_("onBeforeInput",["compositionend","keypress","textInput","paste"]),_("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Un="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),lr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Un));function dr(T,R,q){var Pe=T.type||"unknown-event";T.currentTarget=q,function(tt,on,bn,rr,wr,qr,co,Ko,so){if(Ii.apply(this,arguments),br){if(!br)throw Error(l(198));var gs=Jn;br=!1,Jn=null,nr||(nr=!0,Mr=gs)}}(Pe,R,void 0,T),T.currentTarget=null}function li(T,R){R=0!=(4&R);for(var q=0;q<T.length;q++){var Pe=T[q],tt=Pe.event;Pe=Pe.listeners;e:{var on=void 0;if(R)for(var bn=Pe.length-1;0<=bn;bn--){var rr=Pe[bn],wr=rr.instance,qr=rr.currentTarget;if(rr=rr.listener,wr!==on&&tt.isPropagationStopped())break e;dr(tt,rr,qr),on=wr}else for(bn=0;bn<Pe.length;bn++){if(wr=(rr=Pe[bn]).instance,qr=rr.currentTarget,rr=rr.listener,wr!==on&&tt.isPropagationStopped())break e;dr(tt,rr,qr),on=wr}}}if(nr)throw T=Mr,nr=!1,Mr=null,T}function Ti(T,R){var q=xe(R),Pe=T+"__bubble";q.has(Pe)||(uo(R,T,2,!1),q.add(Pe))}var Ao="_reactListening"+Math.random().toString(36).slice(2);function Qo(T){T[Ao]||(T[Ao]=!0,u.forEach(function(R){lr.has(R)||jo(R,!1,T,null),jo(R,!0,T,null)}))}function jo(T,R,q,Pe){var tt=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,on=q;if("selectionchange"===T&&9!==q.nodeType&&(on=q.ownerDocument),null!==Pe&&!R&&lr.has(T)){if("scroll"!==T)return;tt|=2,on=Pe}var bn=xe(on),rr=T+"__"+(R?"capture":"bubble");bn.has(rr)||(R&&(tt|=4),uo(on,T,tt,R),bn.add(rr))}function uo(T,R,q,Pe){var tt=es.get(R);switch(void 0===tt?2:tt){case 0:tt=Hi;break;case 1:tt=Li;break;default:tt=cs}q=tt.bind(null,R,q,T),tt=void 0,!mr||"touchstart"!==R&&"touchmove"!==R&&"wheel"!==R||(tt=!0),T.addEventListener(R,q,Pe?void 0===tt||{capture:!0,passive:tt}:void 0!==tt&&{passive:tt})}function eo(T,R,q,Pe,tt){var on=Pe;if(0==(1&R)&&0==(2&R)&&null!==Pe)e:for(;;){if(null===Pe)return;var bn=Pe.tag;if(3===bn||4===bn){var rr=Pe.stateNode.containerInfo;if(rr===tt||8===rr.nodeType&&rr.parentNode===tt)break;if(4===bn)for(bn=Pe.return;null!==bn;){var wr=bn.tag;if((3===wr||4===wr)&&((wr=bn.stateNode.containerInfo)===tt||8===wr.nodeType&&wr.parentNode===tt))return;bn=bn.return}for(;null!==rr;){if(null===(bn=Je(rr)))return;if(5===(wr=bn.tag)||6===wr){Pe=on=bn;continue e}rr=rr.parentNode}}Pe=Pe.return}!function(qr,co,Ko){if(An)return qr();An=!0;try{Nn(qr,void 0,void 0)}finally{An=!1,Bn()}}(function(){var qr=on,co=Ir(q),Ko=[];e:{var so=Jo.get(T);if(void 0!==so){var gs=Ua,qs=T;switch(T){case"keypress":if(0===Dl(q))break e;case"keydown":case"keyup":gs=Ea;break;case"focusin":qs="focus",gs=Ne;break;case"focusout":qs="blur",gs=Ne;break;case"beforeblur":case"afterblur":gs=Ne;break;case"click":if(2===q.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":gs=Ce;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":gs=ye;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":gs=Ma;break;case zi:case Go:case Ro:gs=Wt;break;case Bo:gs=va;break;case"scroll":gs=an;break;case"wheel":gs=bs;break;case"copy":case"cut":case"paste":gs=Or;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":gs=ul}var Vs=0!=(4&R),oi=!Vs&&"scroll"===T,Wr=Vs?null!==so?so+"Capture":null:so;Vs=[];for(var ti,Gi=qr;null!==Gi;){var ro=(ti=Gi).stateNode;if(5===ti.tag&&null!==ro&&(ti=ro,null!==Wr&&null!=(ro=ir(Gi,Wr))&&Vs.push(Ho(Gi,ro,ti))),oi)break;Gi=Gi.return}0<Vs.length&&(so=new gs(so,qs,null,q,co),Ko.push({event:so,listeners:Vs}))}}if(0==(7&R)){if(gs="mouseout"===T||"pointerout"===T,(!(so="mouseover"===T||"pointerover"===T)||0!=(16&R)||!(qs=q.relatedTarget||q.fromElement)||!Je(qs)&&!qs[Yl])&&(gs||so)&&(so=co.window===co?co:(so=co.ownerDocument)?so.defaultView||so.parentWindow:window,gs?(gs=qr,null!==(qs=(qs=q.relatedTarget||q.toElement)?Je(qs):null)&&(qs!==(oi=Mi(qs))||5!==qs.tag&&6!==qs.tag)&&(qs=null)):(gs=null,qs=qr),gs!==qs)){if(Vs=Ce,ro="onMouseLeave",Wr="onMouseEnter",Gi="mouse","pointerout"!==T&&"pointerover"!==T||(Vs=ul,ro="onPointerLeave",Wr="onPointerEnter",Gi="pointer"),oi=null==gs?so:we(gs),ti=null==qs?so:we(qs),(so=new Vs(ro,Gi+"leave",gs,q,co)).target=oi,so.relatedTarget=ti,ro=null,Je(co)===qr&&((Vs=new Vs(Wr,Gi+"enter",qs,q,co)).target=ti,Vs.relatedTarget=oi,ro=Vs),oi=ro,gs&&qs)e:{for(Wr=qs,Gi=0,ti=Vs=gs;ti;ti=na(ti))Gi++;for(ti=0,ro=Wr;ro;ro=na(ro))ti++;for(;0<Gi-ti;)Vs=na(Vs),Gi--;for(;0<ti-Gi;)Wr=na(Wr),ti--;for(;Gi--;){if(Vs===Wr||null!==Wr&&Vs===Wr.alternate)break e;Vs=na(Vs),Wr=na(Wr)}Vs=null}else Vs=null;null!==gs&&ha(Ko,so,gs,Vs,!1),null!==qs&&null!==oi&&ha(Ko,oi,qs,Vs,!0)}if("select"===(gs=(so=qr?we(qr):window).nodeName&&so.nodeName.toLowerCase())||"input"===gs&&"file"===so.type)var ia=tn;else if(Vo(so))if(ur)ia=Ui;else{ia=si;var ps=ii}else(gs=so.nodeName)&&"input"===gs.toLowerCase()&&("checkbox"===so.type||"radio"===so.type)&&(ia=bi);switch(ia&&(ia=ia(T,qr))?ja(Ko,ia,q,co):(ps&&ps(T,so,qr),"focusout"===T&&(ps=so._wrapperState)&&ps.controlled&&"number"===so.type&&Yn(so,"number",so.value)),ps=qr?we(qr):window,T){case"focusin":(Vo(ps)||"true"===ps.contentEditable)&&(Bt=ps,In=qr,Xn=null);break;case"focusout":Xn=In=Bt=null;break;case"mousedown":Sr=!0;break;case"contextmenu":case"mouseup":case"dragend":Sr=!1,pi(Ko,q,co);break;case"selectionchange":if(Ft)break;case"keydown":case"keyup":pi(Ko,q,co)}var la;if(Ol)e:{switch(T){case"compositionstart":var Fa="onCompositionStart";break e;case"compositionend":Fa="onCompositionEnd";break e;case"compositionupdate":Fa="onCompositionUpdate";break e}Fa=void 0}else vs?Na(T,q)&&(Fa="onCompositionEnd"):"keydown"===T&&229===q.keyCode&&(Fa="onCompositionStart");Fa&&(il&&"ko"!==q.locale&&(vs||"onCompositionStart"!==Fa?"onCompositionEnd"===Fa&&vs&&(la=Ml()):(xa="value"in(da=co)?da.value:da.textContent,vs=!0)),0<(ps=Zi(qr,Fa)).length&&(Fa=new Ni(Fa,T,null,q,co),Ko.push({event:Fa,listeners:ps}),(la||null!==(la=Di(q)))&&(Fa.data=la))),(la=Ja?function(Gs,Tl){switch(Gs){case"compositionend":return Di(Tl);case"keypress":return 32!==Tl.which?null:(Bl=!0,Il);case"textInput":return(Gs=Tl.data)===Il&&Bl?null:Gs;default:return null}}(T,q):function(Gs,Tl){if(vs)return"compositionend"===Gs||!Ol&&Na(Gs,Tl)?(Gs=Ml(),Ra=xa=da=null,vs=!1,Gs):null;switch(Gs){case"paste":return null;case"keypress":if(!(Tl.ctrlKey||Tl.altKey||Tl.metaKey)||Tl.ctrlKey&&Tl.altKey){if(Tl.char&&1<Tl.char.length)return Tl.char;if(Tl.which)return String.fromCharCode(Tl.which)}return null;case"compositionend":return il&&"ko"!==Tl.locale?null:Tl.data;default:return null}}(T,q))&&0<(qr=Zi(qr,"onBeforeInput")).length&&(co=new Ni("onBeforeInput","beforeinput",null,q,co),Ko.push({event:co,listeners:qr}),co.data=la)}li(Ko,R)})}function Ho(T,R,q){return{instance:T,listener:R,currentTarget:q}}function Zi(T,R){for(var q=R+"Capture",Pe=[];null!==T;){var tt=T,on=tt.stateNode;5===tt.tag&&null!==on&&(tt=on,null!=(on=ir(T,q))&&Pe.unshift(Ho(T,on,tt)),null!=(on=ir(T,R))&&Pe.push(Ho(T,on,tt))),T=T.return}return Pe}function na(T){if(null===T)return null;do{T=T.return}while(T&&5!==T.tag);return T||null}function ha(T,R,q,Pe,tt){for(var on=R._reactName,bn=[];null!==q&&q!==Pe;){var rr=q,wr=rr.alternate,qr=rr.stateNode;if(null!==wr&&wr===Pe)break;5===rr.tag&&null!==qr&&(rr=qr,tt?null!=(wr=ir(q,on))&&bn.unshift(Ho(q,wr,rr)):tt||null!=(wr=ir(q,on))&&bn.push(Ho(q,wr,rr))),q=q.return}0!==bn.length&&T.push({event:R,listeners:bn})}function fl(){}var Hn=null,Es=null;function Ll(T,R){switch(T){case"button":case"input":case"select":case"textarea":return!!R.autoFocus}return!1}function Hl(T,R){return"textarea"===T||"option"===T||"noscript"===T||"string"==typeof R.children||"number"==typeof R.children||"object"==typeof R.dangerouslySetInnerHTML&&null!==R.dangerouslySetInnerHTML&&null!=R.dangerouslySetInnerHTML.__html}var mo="function"==typeof setTimeout?setTimeout:void 0,As="function"==typeof clearTimeout?clearTimeout:void 0;function qc(T){(1===T.nodeType||9===T.nodeType&&null!=(T=T.body))&&(T.textContent="")}function yc(T){for(;null!=T;T=T.nextSibling){var R=T.nodeType;if(1===R||3===R)break}return T}function fc(T){T=T.previousSibling;for(var R=0;T;){if(8===T.nodeType){var q=T.data;if("$"===q||"$!"===q||"$?"===q){if(0===R)return T;R--}else"/$"===q&&R++}T=T.previousSibling}return null}var Fl=0,bl=Math.random().toString(36).slice(2),ql="__reactFiber$"+bl,kl="__reactProps$"+bl,Yl="__reactContainer$"+bl,ru="__reactEvents$"+bl;function Je(T){var R=T[ql];if(R)return R;for(var q=T.parentNode;q;){if(R=q[Yl]||q[ql]){if(q=R.alternate,null!==R.child||null!==q&&null!==q.child)for(T=fc(T);null!==T;){if(q=T[ql])return q;T=fc(T)}return R}q=(T=q).parentNode}return null}function Fe(T){return!(T=T[ql]||T[Yl])||5!==T.tag&&6!==T.tag&&13!==T.tag&&3!==T.tag?null:T}function we(T){if(5===T.tag||6===T.tag)return T.stateNode;throw Error(l(33))}function Ot(T){return T[kl]||null}function xe(T){var R=T[ru];return void 0===R&&(R=T[ru]=new Set),R}var ke=[],Te=-1;function ge(T){return{current:T}}function Re(T){0>Te||(T.current=ke[Te],ke[Te]=null,Te--)}function Be(T,R){Te++,ke[Te]=T.current,T.current=R}var xt={},Dt=ge(xt),en=ge(!1),vn=xt;function Gn(T,R){var q=T.type.contextTypes;if(!q)return xt;var Pe=T.stateNode;if(Pe&&Pe.__reactInternalMemoizedUnmaskedChildContext===R)return Pe.__reactInternalMemoizedMaskedChildContext;var tt,on={};for(tt in q)on[tt]=R[tt];return Pe&&((T=T.stateNode).__reactInternalMemoizedUnmaskedChildContext=R,T.__reactInternalMemoizedMaskedChildContext=on),on}function kn(T){return null!=T.childContextTypes}function zn(){Re(en),Re(Dt)}function jr(T,R,q){if(Dt.current!==xt)throw Error(l(168));Be(Dt,R),Be(en,q)}function kr(T,R,q){var Pe=T.stateNode;if(T=R.childContextTypes,"function"!=typeof Pe.getChildContext)return q;for(var tt in Pe=Pe.getChildContext())if(!(tt in T))throw Error(l(108,dt(R)||"Unknown",tt));return s({},q,Pe)}function Gr(T){return T=(T=T.stateNode)&&T.__reactInternalMemoizedMergedChildContext||xt,vn=Dt.current,Be(Dt,T),Be(en,en.current),!0}function ci(T,R,q){var Pe=T.stateNode;if(!Pe)throw Error(l(169));q?(T=kr(T,R,vn),Pe.__reactInternalMemoizedMergedChildContext=T,Re(en),Re(Dt),Be(Dt,T)):Re(en),Be(en,q)}var Ci=null,vi=null,Ai=a.unstable_runWithPriority,fo=a.unstable_scheduleCallback,po=a.unstable_cancelCallback,No=a.unstable_shouldYield,wo=a.unstable_requestPaint,oo=a.unstable_now,Oo=a.unstable_getCurrentPriorityLevel,Ki=a.unstable_ImmediatePriority,Vi=a.unstable_UserBlockingPriority,Wo=a.unstable_NormalPriority,Po=a.unstable_LowPriority,ho=a.unstable_IdlePriority,xo={},Ps=void 0!==wo?wo:function(){},_n=null,Hs=null,Pa=!1,Oa=oo(),lo=1e4>Oa?oo:function(){return oo()-Oa};function ra(){switch(Oo()){case Ki:return 99;case Vi:return 98;case Wo:return 97;case Po:return 96;case ho:return 95;default:throw Error(l(332))}}function ns(T){switch(T){case 99:return Ki;case 98:return Vi;case 97:return Wo;case 96:return Po;case 95:return ho;default:throw Error(l(332))}}function Aa(T,R){return T=ns(T),Ai(T,R)}function zs(T,R,q){return T=ns(T),fo(T,R,q)}function La(){if(null!==Hs){var T=Hs;Hs=null,po(T)}ws()}function ws(){if(!Pa&&null!==_n){Pa=!0;var T=0;try{var R=_n;Aa(99,function(){for(;T<R.length;T++){var q=R[T];do{q=q(!0)}while(null!==q)}}),_n=null}catch(q){throw null!==_n&&(_n=_n.slice(T+1)),fo(Ki,La),q}finally{Pa=!1}}}var Ds=J.ReactCurrentBatchConfig;function Ws(T,R){if(T&&T.defaultProps){for(var q in R=s({},R),T=T.defaultProps)void 0===R[q]&&(R[q]=T[q]);return R}return R}var Ba=ge(null),Zs=null,Ya=null,$a=null;function Za(){$a=Ya=Zs=null}function Ha(T){var R=Ba.current;Re(Ba),T.type._context._currentValue=R}function ol(T,R){for(;null!==T;){var q=T.alternate;if((T.childLanes&R)===R){if(null===q||(q.childLanes&R)===R)break;q.childLanes|=R}else T.childLanes|=R,null!==q&&(q.childLanes|=R);T=T.return}}function Us(T,R){Zs=T,$a=Ya=null,null!==(T=T.dependencies)&&null!==T.firstContext&&(0!=(T.lanes&R)&&(Is=!0),T.firstContext=null)}function sl(T,R){if($a!==T&&!1!==R&&0!==R)if("number"==typeof R&&1073741823!==R||($a=T,R=1073741823),R={context:T,observedBits:R,next:null},null===Ya){if(null===Zs)throw Error(l(308));Ya=R,Zs.dependencies={lanes:0,firstContext:R,responders:null}}else Ya=Ya.next=R;return T._currentValue}var ac=!1;function Zl(T){T.updateQueue={baseState:T.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function lc(T,R){R.updateQueue===(T=T.updateQueue)&&(R.updateQueue={baseState:T.baseState,firstBaseUpdate:T.firstBaseUpdate,lastBaseUpdate:T.lastBaseUpdate,shared:T.shared,effects:T.effects})}function Va(T,R){return{eventTime:T,lane:R,tag:0,payload:null,callback:null,next:null}}function ki(T,R){if(null!==(T=T.updateQueue)){var q=(T=T.shared).pending;null===q?R.next=R:(R.next=q.next,q.next=R),T.pending=R}}function Oc(T,R){var q=T.updateQueue,Pe=T.alternate;if(null===Pe||q!==(Pe=Pe.updateQueue))null===(T=q.lastBaseUpdate)?q.firstBaseUpdate=R:T.next=R,q.lastBaseUpdate=R;else{var tt=null,on=null;if(null!==(q=q.firstBaseUpdate)){do{var bn={eventTime:q.eventTime,lane:q.lane,tag:q.tag,payload:q.payload,callback:q.callback,next:null};null===on?tt=on=bn:on=on.next=bn,q=q.next}while(null!==q);null===on?tt=on=R:on=on.next=R}else tt=on=R;T.updateQueue=q={baseState:Pe.baseState,firstBaseUpdate:tt,lastBaseUpdate:on,shared:Pe.shared,effects:Pe.effects}}}function pc(T,R,q,Pe){var tt=T.updateQueue;ac=!1;var on=tt.firstBaseUpdate,bn=tt.lastBaseUpdate,rr=tt.shared.pending;if(null!==rr){tt.shared.pending=null;var wr=rr,qr=wr.next;wr.next=null,null===bn?on=qr:bn.next=qr,bn=wr;var co=T.alternate;if(null!==co){var Ko=(co=co.updateQueue).lastBaseUpdate;Ko!==bn&&(null===Ko?co.firstBaseUpdate=qr:Ko.next=qr,co.lastBaseUpdate=wr)}}if(null!==on){for(Ko=tt.baseState,bn=0,co=qr=wr=null;;){var so=on.eventTime;if((Pe&(rr=on.lane))===rr){null!==co&&(co=co.next={eventTime:so,lane:0,tag:on.tag,payload:on.payload,callback:on.callback,next:null});e:{var gs=T,qs=on;switch(rr=R,so=q,qs.tag){case 1:if("function"==typeof(gs=qs.payload)){Ko=gs.call(so,Ko,rr);break e}Ko=gs;break e;case 3:gs.flags=-4097&gs.flags|64;case 0:if(null==(rr="function"==typeof(gs=qs.payload)?gs.call(so,Ko,rr):gs))break e;Ko=s({},Ko,rr);break e;case 2:ac=!0}}null!==on.callback&&(T.flags|=32,null===(rr=tt.effects)?tt.effects=[on]:rr.push(on))}else so={eventTime:so,lane:rr,tag:on.tag,payload:on.payload,callback:on.callback,next:null},null===co?(qr=co=so,wr=Ko):co=co.next=so,bn|=rr;if(null===(on=on.next)){if(null===(rr=tt.shared.pending))break;on=rr.next,rr.next=null,tt.lastBaseUpdate=rr,tt.shared.pending=null}}null===co&&(wr=Ko),tt.baseState=wr,tt.firstBaseUpdate=qr,tt.lastBaseUpdate=co,pd|=bn,T.lanes=bn,T.memoizedState=Ko}}function pl(T,R,q){if(T=R.effects,R.effects=null,null!==T)for(R=0;R<T.length;R++){var Pe=T[R],tt=Pe.callback;if(null!==tt){if(Pe.callback=null,Pe=q,"function"!=typeof tt)throw Error(l(191,tt));tt.call(Pe)}}}var _a=(new e.Component).refs;function iu(T,R,q,Pe){q=null==(q=q(Pe,R=T.memoizedState))?R:s({},R,q),T.memoizedState=q,0===T.lanes&&(T.updateQueue.baseState=q)}var cc={isMounted:function(T){return!!(T=T._reactInternals)&&Mi(T)===T},enqueueSetState:function(T,R,q){T=T._reactInternals;var Pe=mc(),tt=jl(T),on=Va(Pe,tt);on.payload=R,null!=q&&(on.callback=q),ki(T,on),gd(T,tt,Pe)},enqueueReplaceState:function(T,R,q){T=T._reactInternals;var Pe=mc(),tt=jl(T),on=Va(Pe,tt);on.tag=1,on.payload=R,null!=q&&(on.callback=q),ki(T,on),gd(T,tt,Pe)},enqueueForceUpdate:function(T,R){T=T._reactInternals;var q=mc(),Pe=jl(T),tt=Va(q,Pe);tt.tag=2,null!=R&&(tt.callback=R),ki(T,tt),gd(T,Pe,q)}};function Ac(T,R,q,Pe,tt,on,bn){return"function"==typeof(T=T.stateNode).shouldComponentUpdate?T.shouldComponentUpdate(Pe,on,bn):!(R.prototype&&R.prototype.isPureReactComponent&&Bi(q,Pe)&&Bi(tt,on))}function bu(T,R,q){var Pe=!1,tt=xt,on=R.contextType;return"object"==typeof on&&null!==on?on=sl(on):(tt=kn(R)?vn:Dt.current,on=(Pe=null!=(Pe=R.contextTypes))?Gn(T,tt):xt),R=new R(q,on),T.memoizedState=null!=R.state?R.state:null,R.updater=cc,T.stateNode=R,R._reactInternals=T,Pe&&((T=T.stateNode).__reactInternalMemoizedUnmaskedChildContext=tt,T.__reactInternalMemoizedMaskedChildContext=on),R}function ou(T,R,q,Pe){T=R.state,"function"==typeof R.componentWillReceiveProps&&R.componentWillReceiveProps(q,Pe),"function"==typeof R.UNSAFE_componentWillReceiveProps&&R.UNSAFE_componentWillReceiveProps(q,Pe),R.state!==T&&cc.enqueueReplaceState(R,R.state,null)}function xl(T,R,q,Pe){var tt=T.stateNode;tt.props=q,tt.state=T.memoizedState,tt.refs=_a,Zl(T);var on=R.contextType;"object"==typeof on&&null!==on?tt.context=sl(on):(on=kn(R)?vn:Dt.current,tt.context=Gn(T,on)),pc(T,q,tt,Pe),tt.state=T.memoizedState,"function"==typeof(on=R.getDerivedStateFromProps)&&(iu(T,R,on,q),tt.state=T.memoizedState),"function"==typeof R.getDerivedStateFromProps||"function"==typeof tt.getSnapshotBeforeUpdate||"function"!=typeof tt.UNSAFE_componentWillMount&&"function"!=typeof tt.componentWillMount||(R=tt.state,"function"==typeof tt.componentWillMount&&tt.componentWillMount(),"function"==typeof tt.UNSAFE_componentWillMount&&tt.UNSAFE_componentWillMount(),R!==tt.state&&cc.enqueueReplaceState(tt,tt.state,null),pc(T,q,tt,Pe),tt.state=T.memoizedState),"function"==typeof tt.componentDidMount&&(T.flags|=4)}var Vl=Array.isArray;function el(T,R,q){if(null!==(T=q.ref)&&"function"!=typeof T&&"object"!=typeof T){if(q._owner){if(q=q._owner){if(1!==q.tag)throw Error(l(309));var Pe=q.stateNode}if(!Pe)throw Error(l(147,T));var tt=""+T;return null!==R&&null!==R.ref&&"function"==typeof R.ref&&R.ref._stringRef===tt?R.ref:((R=function(on){var bn=Pe.refs;bn===_a&&(bn=Pe.refs={}),null===on?delete bn[tt]:bn[tt]=on})._stringRef=tt,R)}if("string"!=typeof T)throw Error(l(284));if(!q._owner)throw Error(l(290,T))}return T}function tl(T,R){if("textarea"!==T.type)throw Error(l(31,"[object Object]"===Object.prototype.toString.call(R)?"object with keys {"+Object.keys(R).join(", ")+"}":R))}function ml(T){function R(oi,Wr){if(T){var ti=oi.lastEffect;null!==ti?(ti.nextEffect=Wr,oi.lastEffect=Wr):oi.firstEffect=oi.lastEffect=Wr,Wr.nextEffect=null,Wr.flags=8}}function q(oi,Wr){if(!T)return null;for(;null!==Wr;)R(oi,Wr),Wr=Wr.sibling;return null}function Pe(oi,Wr){for(oi=new Map;null!==Wr;)oi.set(null!==Wr.key?Wr.key:Wr.index,Wr),Wr=Wr.sibling;return oi}function tt(oi,Wr){return(oi=Ed(oi,Wr)).index=0,oi.sibling=null,oi}function on(oi,Wr,ti){return oi.index=ti,T?null!==(ti=oi.alternate)?(ti=ti.index)<Wr?(oi.flags=2,Wr):ti:(oi.flags=2,Wr):Wr}function bn(oi){return T&&null===oi.alternate&&(oi.flags=2),oi}function rr(oi,Wr,ti,Gi){return null===Wr||6!==Wr.tag?((Wr=jf(ti,oi.mode,Gi)).return=oi,Wr):((Wr=tt(Wr,ti)).return=oi,Wr)}function wr(oi,Wr,ti,Gi){return null!==Wr&&Wr.elementType===ti.type?((Gi=tt(Wr,ti.props)).ref=el(oi,Wr,ti),Gi.return=oi,Gi):((Gi=Sc(ti.type,ti.key,ti.props,null,oi.mode,Gi)).ref=el(oi,Wr,ti),Gi.return=oi,Gi)}function qr(oi,Wr,ti,Gi){return null===Wr||4!==Wr.tag||Wr.stateNode.containerInfo!==ti.containerInfo||Wr.stateNode.implementation!==ti.implementation?((Wr=Dd(ti,oi.mode,Gi)).return=oi,Wr):((Wr=tt(Wr,ti.children||[])).return=oi,Wr)}function co(oi,Wr,ti,Gi,ro){return null===Wr||7!==Wr.tag?((Wr=Mc(ti,oi.mode,Gi,ro)).return=oi,Wr):((Wr=tt(Wr,ti)).return=oi,Wr)}function Ko(oi,Wr,ti){if("string"==typeof Wr||"number"==typeof Wr)return(Wr=jf(""+Wr,oi.mode,ti)).return=oi,Wr;if("object"==typeof Wr&&null!==Wr){switch(Wr.$$typeof){case Y:return(ti=Sc(Wr.type,Wr.key,Wr.props,null,oi.mode,ti)).ref=el(oi,null,Wr),ti.return=oi,ti;case ie:return(Wr=Dd(Wr,oi.mode,ti)).return=oi,Wr}if(Vl(Wr)||At(Wr))return(Wr=Mc(Wr,oi.mode,ti,null)).return=oi,Wr;tl(oi,Wr)}return null}function so(oi,Wr,ti,Gi){var ro=null!==Wr?Wr.key:null;if("string"==typeof ti||"number"==typeof ti)return null!==ro?null:rr(oi,Wr,""+ti,Gi);if("object"==typeof ti&&null!==ti){switch(ti.$$typeof){case Y:return ti.key===ro?ti.type===oe?co(oi,Wr,ti.props.children,Gi,ro):wr(oi,Wr,ti,Gi):null;case ie:return ti.key===ro?qr(oi,Wr,ti,Gi):null}if(Vl(ti)||At(ti))return null!==ro?null:co(oi,Wr,ti,Gi,null);tl(oi,ti)}return null}function gs(oi,Wr,ti,Gi,ro){if("string"==typeof Gi||"number"==typeof Gi)return rr(Wr,oi=oi.get(ti)||null,""+Gi,ro);if("object"==typeof Gi&&null!==Gi){switch(Gi.$$typeof){case Y:return oi=oi.get(null===Gi.key?ti:Gi.key)||null,Gi.type===oe?co(Wr,oi,Gi.props.children,ro,Gi.key):wr(Wr,oi,Gi,ro);case ie:return qr(Wr,oi=oi.get(null===Gi.key?ti:Gi.key)||null,Gi,ro)}if(Vl(Gi)||At(Gi))return co(Wr,oi=oi.get(ti)||null,Gi,ro,null);tl(Wr,Gi)}return null}return function(oi,Wr,ti,Gi){var ro="object"==typeof ti&&null!==ti&&ti.type===oe&&null===ti.key;ro&&(ti=ti.props.children);var ia="object"==typeof ti&&null!==ti;if(ia)switch(ti.$$typeof){case Y:e:{for(ia=ti.key,ro=Wr;null!==ro;){if(ro.key===ia){switch(ro.tag){case 7:if(ti.type===oe){q(oi,ro.sibling),(Wr=tt(ro,ti.props.children)).return=oi,oi=Wr;break e}break;default:if(ro.elementType===ti.type){q(oi,ro.sibling),(Wr=tt(ro,ti.props)).ref=el(oi,ro,ti),Wr.return=oi,oi=Wr;break e}}q(oi,ro);break}R(oi,ro),ro=ro.sibling}ti.type===oe?((Wr=Mc(ti.props.children,oi.mode,Gi,ti.key)).return=oi,oi=Wr):((Gi=Sc(ti.type,ti.key,ti.props,null,oi.mode,Gi)).ref=el(oi,Wr,ti),Gi.return=oi,oi=Gi)}return bn(oi);case ie:e:{for(ro=ti.key;null!==Wr;){if(Wr.key===ro){if(4===Wr.tag&&Wr.stateNode.containerInfo===ti.containerInfo&&Wr.stateNode.implementation===ti.implementation){q(oi,Wr.sibling),(Wr=tt(Wr,ti.children||[])).return=oi,oi=Wr;break e}q(oi,Wr);break}R(oi,Wr),Wr=Wr.sibling}(Wr=Dd(ti,oi.mode,Gi)).return=oi,oi=Wr}return bn(oi)}if("string"==typeof ti||"number"==typeof ti)return ti=""+ti,null!==Wr&&6===Wr.tag?(q(oi,Wr.sibling),(Wr=tt(Wr,ti)).return=oi,oi=Wr):(q(oi,Wr),(Wr=jf(ti,oi.mode,Gi)).return=oi,oi=Wr),bn(oi);if(Vl(ti))return function(oi,Wr,ti,Gi){for(var ro=null,ia=null,ps=Wr,la=Wr=0,Fa=null;null!==ps&&la<ti.length;la++){ps.index>la?(Fa=ps,ps=null):Fa=ps.sibling;var Gs=so(oi,ps,ti[la],Gi);if(null===Gs){null===ps&&(ps=Fa);break}T&&ps&&null===Gs.alternate&&R(oi,ps),Wr=on(Gs,Wr,la),null===ia?ro=Gs:ia.sibling=Gs,ia=Gs,ps=Fa}if(la===ti.length)return q(oi,ps),ro;if(null===ps){for(;la<ti.length;la++)null!==(ps=Ko(oi,ti[la],Gi))&&(Wr=on(ps,Wr,la),null===ia?ro=ps:ia.sibling=ps,ia=ps);return ro}for(ps=Pe(oi,ps);la<ti.length;la++)null!==(Fa=gs(ps,oi,la,ti[la],Gi))&&(T&&null!==Fa.alternate&&ps.delete(null===Fa.key?la:Fa.key),Wr=on(Fa,Wr,la),null===ia?ro=Fa:ia.sibling=Fa,ia=Fa);return T&&ps.forEach(function(Tl){return R(oi,Tl)}),ro}(oi,Wr,ti,Gi);if(At(ti))return function(oi,Wr,ti,Gi){var ro=At(ti);if("function"!=typeof ro)throw Error(l(150));if(null==(ti=ro.call(ti)))throw Error(l(151));for(var ia=ro=null,ps=Wr,la=Wr=0,Fa=null,Gs=ti.next();null!==ps&&!Gs.done;la++,Gs=ti.next()){ps.index>la?(Fa=ps,ps=null):Fa=ps.sibling;var Tl=so(oi,ps,Gs.value,Gi);if(null===Tl){null===ps&&(ps=Fa);break}T&&ps&&null===Tl.alternate&&R(oi,ps),Wr=on(Tl,Wr,la),null===ia?ro=Tl:ia.sibling=Tl,ia=Tl,ps=Fa}if(Gs.done)return q(oi,ps),ro;if(null===ps){for(;!Gs.done;la++,Gs=ti.next())null!==(Gs=Ko(oi,Gs.value,Gi))&&(Wr=on(Gs,Wr,la),null===ia?ro=Gs:ia.sibling=Gs,ia=Gs);return ro}for(ps=Pe(oi,ps);!Gs.done;la++,Gs=ti.next())null!==(Gs=gs(ps,oi,la,Gs.value,Gi))&&(T&&null!==Gs.alternate&&ps.delete(null===Gs.key?la:Gs.key),Wr=on(Gs,Wr,la),null===ia?ro=Gs:ia.sibling=Gs,ia=Gs);return T&&ps.forEach(function(Vp){return R(oi,Vp)}),ro}(oi,Wr,ti,Gi);if(ia&&tl(oi,ti),void 0===ti&&!ro)switch(oi.tag){case 1:case 22:case 0:case 11:case 15:throw Error(l(152,dt(oi.type)||"Component"))}return q(oi,Wr)}}var bc=ml(!0),vl=ml(!1),hc={},Jl=ge(hc),nl=ge(hc),yl=ge(hc);function El(T){if(T===hc)throw Error(l(174));return T}function p(T,R){switch(Be(yl,R),Be(nl,T),Be(Jl,hc),T=R.nodeType){case 9:case 11:R=(R=R.documentElement)?R.namespaceURI:Dn(null,"");break;default:R=Dn(R=(T=8===T?R.parentNode:R).namespaceURI||null,T=T.tagName)}Re(Jl),Be(Jl,R)}function E(){Re(Jl),Re(nl),Re(yl)}function N(T){El(yl.current);var R=El(Jl.current),q=Dn(R,T.type);R!==q&&(Be(nl,T),Be(Jl,q))}function $(T){nl.current===T&&(Re(Jl),Re(nl))}var Q=ge(0);function de(T){for(var R=T;null!==R;){if(13===R.tag){var q=R.memoizedState;if(null!==q&&(null===(q=q.dehydrated)||"$?"===q.data||"$!"===q.data))return R}else if(19===R.tag&&void 0!==R.memoizedProps.revealOrder){if(0!=(64&R.flags))return R}else if(null!==R.child){R.child.return=R,R=R.child;continue}if(R===T)break;for(;null===R.sibling;){if(null===R.return||R.return===T)return null;R=R.return}R.sibling.return=R.return,R=R.sibling}return null}var ve=null,qe=null,De=!1;function _t(T,R){var q=Zc(5,null,null,0);q.elementType="DELETED",q.type="DELETED",q.stateNode=R,q.return=T,q.flags=8,null!==T.lastEffect?(T.lastEffect.nextEffect=q,T.lastEffect=q):T.firstEffect=T.lastEffect=q}function Yt(T,R){switch(T.tag){case 5:return null!==(R=1!==R.nodeType||T.type.toLowerCase()!==R.nodeName.toLowerCase()?null:R)&&(T.stateNode=R,!0);case 6:return null!==(R=""===T.pendingProps||3!==R.nodeType?null:R)&&(T.stateNode=R,!0);case 13:default:return!1}}function Zt(T){if(De){var R=qe;if(R){var q=R;if(!Yt(T,R)){if(!(R=yc(q.nextSibling))||!Yt(T,R))return T.flags=-1025&T.flags|2,De=!1,void(ve=T);_t(ve,q)}ve=T,qe=yc(R.firstChild)}else T.flags=-1025&T.flags|2,De=!1,ve=T}}function wn(T){for(T=T.return;null!==T&&5!==T.tag&&3!==T.tag&&13!==T.tag;)T=T.return;ve=T}function cr(T){if(T!==ve)return!1;if(!De)return wn(T),De=!0,!1;var R=T.type;if(5!==T.tag||"head"!==R&&"body"!==R&&!Hl(R,T.memoizedProps))for(R=qe;R;)_t(T,R),R=yc(R.nextSibling);if(wn(T),13===T.tag){if(!(T=null!==(T=T.memoizedState)?T.dehydrated:null))throw Error(l(317));e:{for(T=T.nextSibling,R=0;T;){if(8===T.nodeType){var q=T.data;if("/$"===q){if(0===R){qe=yc(T.nextSibling);break e}R--}else"$"!==q&&"$!"!==q&&"$?"!==q||R++}T=T.nextSibling}qe=null}}else qe=ve?yc(T.stateNode.nextSibling):null;return!0}function sr(){qe=ve=null,De=!1}var Tr=[];function Yr(){for(var T=0;T<Tr.length;T++)Tr[T]._workInProgressVersionPrimary=null;Tr.length=0}var Pi=J.ReactCurrentDispatcher,yo=J.ReactCurrentBatchConfig,Co=0,Xo=null,ts=null,_s=null,Ts=!1,Ms=!1;function xs(){throw Error(l(321))}function ya(T,R){if(null===R)return!1;for(var q=0;q<R.length&&q<T.length;q++)if(!io(T[q],R[q]))return!1;return!0}function hl(T,R,q,Pe,tt,on){if(Co=on,Xo=R,R.memoizedState=null,R.updateQueue=null,R.lanes=0,Pi.current=null===T||null===T.memoizedState?ef:Od,T=q(Pe,tt),Ms){on=0;do{if(Ms=!1,!(25>on))throw Error(l(301));on+=1,_s=ts=null,R.updateQueue=null,Pi.current=Eu,T=q(Pe,tt)}while(Ms)}if(Pi.current=xu,R=null!==ts&&null!==ts.next,Co=0,_s=ts=Xo=null,Ts=!1,R)throw Error(l(300));return T}function Ga(){var T={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===_s?Xo.memoizedState=_s=T:_s=_s.next=T,_s}function Qa(){if(null===ts){var T=Xo.alternate;T=null!==T?T.memoizedState:null}else T=ts.next;var R=null===_s?Xo.memoizedState:_s.next;if(null!==R)_s=R,ts=T;else{if(null===T)throw Error(l(310));T={memoizedState:(ts=T).memoizedState,baseState:ts.baseState,baseQueue:ts.baseQueue,queue:ts.queue,next:null},null===_s?Xo.memoizedState=_s=T:_s=_s.next=T}return _s}function rl(T,R){return"function"==typeof R?R(T):R}function Gl(T){var R=Qa(),q=R.queue;if(null===q)throw Error(l(311));q.lastRenderedReducer=T;var Pe=ts,tt=Pe.baseQueue,on=q.pending;if(null!==on){if(null!==tt){var bn=tt.next;tt.next=on.next,on.next=bn}Pe.baseQueue=tt=on,q.pending=null}if(null!==tt){Pe=Pe.baseState;var rr=bn=on=null,wr=tt=tt.next;do{var qr=wr.lane;if((Co&qr)===qr)null!==rr&&(rr=rr.next={lane:0,action:wr.action,eagerReducer:wr.eagerReducer,eagerState:wr.eagerState,next:null}),Pe=wr.eagerReducer===T?wr.eagerState:T(Pe,wr.action);else{var co={lane:qr,action:wr.action,eagerReducer:wr.eagerReducer,eagerState:wr.eagerState,next:null};null===rr?(bn=rr=co,on=Pe):rr=rr.next=co,Xo.lanes|=qr,pd|=qr}wr=wr.next}while(null!==wr&&wr!==tt);null===rr?on=Pe:rr.next=bn,io(Pe,R.memoizedState)||(Is=!0),R.memoizedState=Pe,R.baseState=on,R.baseQueue=rr,q.lastRenderedState=Pe}return[R.memoizedState,q.dispatch]}function _c(T){var R=Qa(),q=R.queue;if(null===q)throw Error(l(311));q.lastRenderedReducer=T;var Pe=q.dispatch,tt=q.pending,on=R.memoizedState;if(null!==tt){q.pending=null;var bn=tt=tt.next;do{on=T(on,bn.action),bn=bn.next}while(bn!==tt);io(on,R.memoizedState)||(Is=!0),R.memoizedState=on,null===R.baseQueue&&(R.baseState=on),q.lastRenderedState=on}return[on,Pe]}function $s(T,R,q){var Pe=R._getVersion;Pe=Pe(R._source);var tt=R._workInProgressVersionPrimary;if(null!==tt?T=tt===Pe:(T=(Co&(T=T.mutableReadLanes))===T)&&(R._workInProgressVersionPrimary=Pe,Tr.push(R)),T)return q(R._source);throw Tr.push(R),Error(l(350))}function X(T,R,q,Pe){var tt=Kl;if(null===tt)throw Error(l(349));var on=R._getVersion,bn=on(R._source),rr=Pi.current,wr=rr.useState(function(){return $s(tt,R,q)}),qr=wr[1],co=wr[0];wr=_s;var Ko=T.memoizedState,so=Ko.refs,gs=so.getSnapshot,qs=Ko.source;Ko=Ko.subscribe;var Vs=Xo;return T.memoizedState={refs:so,source:R,subscribe:Pe},rr.useEffect(function(){so.getSnapshot=q,so.setSnapshot=qr;var oi=on(R._source);if(!io(bn,oi)){oi=q(R._source),io(co,oi)||(qr(oi),oi=jl(Vs),tt.mutableReadLanes|=oi&tt.pendingLanes),tt.entangledLanes|=oi=tt.mutableReadLanes;for(var Wr=tt.entanglements,ti=oi;0<ti;){var Gi=31-Tn(ti),ro=1<<Gi;Wr[Gi]|=oi,ti&=~ro}}},[q,R,Pe]),rr.useEffect(function(){return Pe(R._source,function(){var oi=so.getSnapshot,Wr=so.setSnapshot;try{Wr(oi(R._source));var ti=jl(Vs);tt.mutableReadLanes|=ti&tt.pendingLanes}catch(Gi){Wr(function(){throw Gi})}})},[R,Pe]),io(gs,q)&&io(qs,R)&&io(Ko,Pe)||((T={pending:null,dispatch:null,lastRenderedReducer:rl,lastRenderedState:co}).dispatch=qr=ad.bind(null,Xo,T),wr.queue=T,wr.baseQueue=null,co=$s(tt,R,q),wr.memoizedState=wr.baseState=co),co}function me(T,R,q){return X(Qa(),T,R,q)}function yt(T){var R=Ga();return"function"==typeof T&&(T=T()),R.memoizedState=R.baseState=T,T=(T=R.queue={pending:null,dispatch:null,lastRenderedReducer:rl,lastRenderedState:T}).dispatch=ad.bind(null,Xo,T),[R.memoizedState,T]}function qt(T,R,q,Pe){return T={tag:T,create:R,destroy:q,deps:Pe,next:null},null===(R=Xo.updateQueue)?(Xo.updateQueue=R={lastEffect:null},R.lastEffect=T.next=T):null===(q=R.lastEffect)?R.lastEffect=T.next=T:(Pe=q.next,q.next=T,T.next=Pe,R.lastEffect=T),T}function xn(T){return T={current:T},Ga().memoizedState=T}function Ar(){return Qa().memoizedState}function xi(T,R,q,Pe){var tt=Ga();Xo.flags|=T,tt.memoizedState=qt(1|R,q,void 0,void 0===Pe?null:Pe)}function fs(T,R,q,Pe){var tt=Qa();Pe=void 0===Pe?null:Pe;var on=void 0;if(null!==ts){var bn=ts.memoizedState;if(on=bn.destroy,null!==Pe&&ya(Pe,bn.deps))return void qt(R,q,on,Pe)}Xo.flags|=T,tt.memoizedState=qt(1|R,q,on,Pe)}function aa(T,R){return xi(516,4,T,R)}function za(T,R){return fs(516,4,T,R)}function gc(T,R){return fs(4,2,T,R)}function Ql(T,R){return"function"==typeof R?(T=T(),R(T),function(){R(null)}):null!=R?(T=T(),R.current=T,function(){R.current=null}):void 0}function Ec(T,R,q){return q=null!=q?q.concat([T]):null,fs(4,2,Ql.bind(null,R,T),q)}function Gu(){}function Sd(T,R){var q=Qa();R=void 0===R?null:R;var Pe=q.memoizedState;return null!==Pe&&null!==R&&ya(R,Pe[1])?Pe[0]:(q.memoizedState=[T,R],T)}function rp(T,R){var q=Qa();R=void 0===R?null:R;var Pe=q.memoizedState;return null!==Pe&&null!==R&&ya(R,Pe[1])?Pe[0]:(T=T(),q.memoizedState=[T,R],T)}function Md(T,R){var q=ra();Aa(98>q?98:q,function(){T(!0)}),Aa(97<q?97:q,function(){var Pe=yo.transition;yo.transition=1;try{T(!1),R()}finally{yo.transition=Pe}})}function ad(T,R,q){var Pe=mc(),tt=jl(T),on={lane:tt,action:q,eagerReducer:null,eagerState:null,next:null},bn=R.pending;if(null===bn?on.next=on:(on.next=bn.next,bn.next=on),R.pending=on,bn=T.alternate,T===Xo||null!==bn&&bn===Xo)Ms=Ts=!0;else{if(0===T.lanes&&(null===bn||0===bn.lanes)&&null!==(bn=R.lastRenderedReducer))try{var rr=R.lastRenderedState,wr=bn(rr,q);if(on.eagerReducer=bn,on.eagerState=wr,io(wr,rr))return}catch(qr){}gd(T,tt,Pe)}}var xu={readContext:sl,useCallback:xs,useContext:xs,useEffect:xs,useImperativeHandle:xs,useLayoutEffect:xs,useMemo:xs,useReducer:xs,useRef:xs,useState:xs,useDebugValue:xs,useDeferredValue:xs,useTransition:xs,useMutableSource:xs,useOpaqueIdentifier:xs,unstable_isNewReconciler:!1},ef={readContext:sl,useCallback:function(T,R){return Ga().memoizedState=[T,void 0===R?null:R],T},useContext:sl,useEffect:aa,useImperativeHandle:function(T,R,q){return q=null!=q?q.concat([T]):null,xi(4,2,Ql.bind(null,R,T),q)},useLayoutEffect:function(T,R){return xi(4,2,T,R)},useMemo:function(T,R){var q=Ga();return R=void 0===R?null:R,T=T(),q.memoizedState=[T,R],T},useReducer:function(T,R,q){var Pe=Ga();return R=void 0!==q?q(R):R,Pe.memoizedState=Pe.baseState=R,T=(T=Pe.queue={pending:null,dispatch:null,lastRenderedReducer:T,lastRenderedState:R}).dispatch=ad.bind(null,Xo,T),[Pe.memoizedState,T]},useRef:xn,useState:yt,useDebugValue:Gu,useDeferredValue:function(T){var R=yt(T),q=R[0],Pe=R[1];return aa(function(){var tt=yo.transition;yo.transition=1;try{Pe(T)}finally{yo.transition=tt}},[T]),q},useTransition:function(){var T=yt(!1),R=T[0];return xn(T=Md.bind(null,T[1])),[T,R]},useMutableSource:function(T,R,q){var Pe=Ga();return Pe.memoizedState={refs:{getSnapshot:R,setSnapshot:null},source:T,subscribe:q},X(Pe,T,R,q)},useOpaqueIdentifier:function(){if(De){var T=!1,R={$$typeof:$e,toString:Pe=function(){throw T||(T=!0,q("r:"+(Fl++).toString(36))),Error(l(355))},valueOf:Pe},q=yt(R)[1];return 0==(2&Xo.mode)&&(Xo.flags|=516,qt(5,function(){q("r:"+(Fl++).toString(36))},void 0,null)),R}var Pe;return yt(R="r:"+(Fl++).toString(36)),R},unstable_isNewReconciler:!1},Od={readContext:sl,useCallback:Sd,useContext:sl,useEffect:za,useImperativeHandle:Ec,useLayoutEffect:gc,useMemo:rp,useReducer:Gl,useRef:Ar,useState:function(){return Gl(rl)},useDebugValue:Gu,useDeferredValue:function(T){var R=Gl(rl),q=R[0],Pe=R[1];return za(function(){var tt=yo.transition;yo.transition=1;try{Pe(T)}finally{yo.transition=tt}},[T]),q},useTransition:function(){var T=Gl(rl)[0];return[Ar().current,T]},useMutableSource:me,useOpaqueIdentifier:function(){return Gl(rl)[0]},unstable_isNewReconciler:!1},Eu={readContext:sl,useCallback:Sd,useContext:sl,useEffect:za,useImperativeHandle:Ec,useLayoutEffect:gc,useMemo:rp,useReducer:_c,useRef:Ar,useState:function(){return _c(rl)},useDebugValue:Gu,useDeferredValue:function(T){var R=_c(rl),q=R[0],Pe=R[1];return za(function(){var tt=yo.transition;yo.transition=1;try{Pe(T)}finally{yo.transition=tt}},[T]),q},useTransition:function(){var T=_c(rl)[0];return[Ar().current,T]},useMutableSource:me,useOpaqueIdentifier:function(){return _c(rl)[0]},unstable_isNewReconciler:!1},tf=J.ReactCurrentOwner,Is=!1;function Ic(T,R,q,Pe){R.child=null===T?vl(R,null,q,Pe):bc(R,T.child,q,Pe)}function Nf(T,R,q,Pe,tt){q=q.render;var on=R.ref;return Us(R,tt),Pe=hl(T,R,q,Pe,on,tt),null===T||Is?(R.flags|=1,Ic(T,R,Pe,tt),R.child):(R.updateQueue=T.updateQueue,R.flags&=-517,T.lanes&=~tt,wc(T,R,tt))}function ld(T,R,q,Pe,tt,on){if(null===T){var bn=q.type;return"function"!=typeof bn||bd(bn)||void 0!==bn.defaultProps||null!==q.compare||void 0!==q.defaultProps?((T=Sc(q.type,null,Pe,R,R.mode,on)).ref=R.ref,T.return=R,R.child=T):(R.tag=15,R.type=bn,Jc(T,R,bn,Pe,tt,on))}return bn=T.child,0==(tt&on)&&(q=null!==(q=q.compare)?q:Bi)(tt=bn.memoizedProps,Pe)&&T.ref===R.ref?wc(T,R,on):(R.flags|=1,(T=Ed(bn,Pe)).ref=R.ref,T.return=R,R.child=T)}function Jc(T,R,q,Pe,tt,on){if(null!==T&&Bi(T.memoizedProps,Pe)&&T.ref===R.ref){if(Is=!1,0==(on&tt))return R.lanes=T.lanes,wc(T,R,on);0!=(16384&T.flags)&&(Is=!0)}return Lc(T,R,q,Pe,on)}function Tu(T,R,q){var Pe=R.pendingProps,tt=Pe.children,on=null!==T?T.memoizedState:null;if("hidden"===Pe.mode||"unstable-defer-without-hiding"===Pe.mode)if(0==(4&R.mode))R.memoizedState={baseLanes:0},mu(0,q);else{if(0==(1073741824&q))return T=null!==on?on.baseLanes|q:q,R.lanes=R.childLanes=1073741824,R.memoizedState={baseLanes:T},mu(0,T),null;R.memoizedState={baseLanes:0},mu(0,null!==on?on.baseLanes:q)}else null!==on?(Pe=on.baseLanes|q,R.memoizedState=null):Pe=q,mu(0,Pe);return Ic(T,R,tt,q),R.child}function nf(T,R){var q=R.ref;(null===T&&null!==q||null!==T&&T.ref!==q)&&(R.flags|=128)}function Lc(T,R,q,Pe,tt){var on=kn(q)?vn:Dt.current;return on=Gn(R,on),Us(R,tt),q=hl(T,R,q,Pe,on,tt),null===T||Is?(R.flags|=1,Ic(T,R,q,tt),R.child):(R.updateQueue=T.updateQueue,R.flags&=-517,T.lanes&=~tt,wc(T,R,tt))}function Pf(T,R,q,Pe,tt){if(kn(q)){var on=!0;Gr(R)}else on=!1;if(Us(R,tt),null===R.stateNode)null!==T&&(T.alternate=null,R.alternate=null,R.flags|=2),bu(R,q,Pe),xl(R,q,Pe,tt),Pe=!0;else if(null===T){var bn=R.stateNode,rr=R.memoizedProps;bn.props=rr;var wr=bn.context,qr=q.contextType;qr="object"==typeof qr&&null!==qr?sl(qr):Gn(R,qr=kn(q)?vn:Dt.current);var co=q.getDerivedStateFromProps,Ko="function"==typeof co||"function"==typeof bn.getSnapshotBeforeUpdate;Ko||"function"!=typeof bn.UNSAFE_componentWillReceiveProps&&"function"!=typeof bn.componentWillReceiveProps||(rr!==Pe||wr!==qr)&&ou(R,bn,Pe,qr),ac=!1;var so=R.memoizedState;bn.state=so,pc(R,Pe,bn,tt),wr=R.memoizedState,rr!==Pe||so!==wr||en.current||ac?("function"==typeof co&&(iu(R,q,co,Pe),wr=R.memoizedState),(rr=ac||Ac(R,q,rr,Pe,so,wr,qr))?(Ko||"function"!=typeof bn.UNSAFE_componentWillMount&&"function"!=typeof bn.componentWillMount||("function"==typeof bn.componentWillMount&&bn.componentWillMount(),"function"==typeof bn.UNSAFE_componentWillMount&&bn.UNSAFE_componentWillMount()),"function"==typeof bn.componentDidMount&&(R.flags|=4)):("function"==typeof bn.componentDidMount&&(R.flags|=4),R.memoizedProps=Pe,R.memoizedState=wr),bn.props=Pe,bn.state=wr,bn.context=qr,Pe=rr):("function"==typeof bn.componentDidMount&&(R.flags|=4),Pe=!1)}else{bn=R.stateNode,lc(T,R),rr=R.memoizedProps,qr=R.type===R.elementType?rr:Ws(R.type,rr),bn.props=qr,Ko=R.pendingProps,so=bn.context,wr="object"==typeof(wr=q.contextType)&&null!==wr?sl(wr):Gn(R,wr=kn(q)?vn:Dt.current);var gs=q.getDerivedStateFromProps;(co="function"==typeof gs||"function"==typeof bn.getSnapshotBeforeUpdate)||"function"!=typeof bn.UNSAFE_componentWillReceiveProps&&"function"!=typeof bn.componentWillReceiveProps||(rr!==Ko||so!==wr)&&ou(R,bn,Pe,wr),ac=!1,bn.state=so=R.memoizedState,pc(R,Pe,bn,tt);var qs=R.memoizedState;rr!==Ko||so!==qs||en.current||ac?("function"==typeof gs&&(iu(R,q,gs,Pe),qs=R.memoizedState),(qr=ac||Ac(R,q,qr,Pe,so,qs,wr))?(co||"function"!=typeof bn.UNSAFE_componentWillUpdate&&"function"!=typeof bn.componentWillUpdate||("function"==typeof bn.componentWillUpdate&&bn.componentWillUpdate(Pe,qs,wr),"function"==typeof bn.UNSAFE_componentWillUpdate&&bn.UNSAFE_componentWillUpdate(Pe,qs,wr)),"function"==typeof bn.componentDidUpdate&&(R.flags|=4),"function"==typeof bn.getSnapshotBeforeUpdate&&(R.flags|=256)):("function"!=typeof bn.componentDidUpdate||rr===T.memoizedProps&&so===T.memoizedState||(R.flags|=4),"function"!=typeof bn.getSnapshotBeforeUpdate||rr===T.memoizedProps&&so===T.memoizedState||(R.flags|=256),R.memoizedProps=Pe,R.memoizedState=qs),bn.props=Pe,bn.state=qs,bn.context=wr,Pe=qr):("function"!=typeof bn.componentDidUpdate||rr===T.memoizedProps&&so===T.memoizedState||(R.flags|=4),"function"!=typeof bn.getSnapshotBeforeUpdate||rr===T.memoizedProps&&so===T.memoizedState||(R.flags|=256),Pe=!1)}return cd(T,R,q,Pe,on,tt)}function cd(T,R,q,Pe,tt,on){nf(T,R);var bn=0!=(64&R.flags);if(!Pe&&!bn)return tt&&ci(R,q,!1),wc(T,R,on);Pe=R.stateNode,tf.current=R;var rr=bn&&"function"!=typeof q.getDerivedStateFromError?null:Pe.render();return R.flags|=1,null!==T&&bn?(R.child=bc(R,T.child,null,on),R.child=bc(R,null,rr,on)):Ic(T,R,rr,on),R.memoizedState=Pe.state,tt&&ci(R,q,!0),R.child}function rf(T){var R=T.stateNode;R.pendingContext?jr(0,R.pendingContext,R.pendingContext!==R.context):R.context&&jr(0,R.context,!1),p(T,R.containerInfo)}var $d,Ad,Fc,hu={dehydrated:null,retryLane:0};function Hd(T,R,q){var Pe,tt=R.pendingProps,on=Q.current,bn=!1;return(Pe=0!=(64&R.flags))||(Pe=(null===T||null!==T.memoizedState)&&0!=(2&on)),Pe?(bn=!0,R.flags&=-65):null!==T&&null===T.memoizedState||void 0===tt.fallback||!0===tt.unstable_avoidThisFallback||(on|=1),Be(Q,1&on),null===T?(void 0!==tt.fallback&&Zt(R),T=tt.children,on=tt.fallback,bn?(T=ud(R,T,on,q),R.child.memoizedState={baseLanes:q},R.memoizedState=hu,T):"number"==typeof tt.unstable_expectedLoadTime?(T=ud(R,T,on,q),R.child.memoizedState={baseLanes:q},R.memoizedState=hu,R.lanes=33554432,T):((q=Iu({mode:"visible",children:T},R.mode,q,null)).return=R,R.child=q)):bn?(tt=function(T,R,q,Pe,tt){var on=R.mode,bn=T.child;T=bn.sibling;var rr={mode:"hidden",children:q};return 0==(2&on)&&R.child!==bn?((q=R.child).childLanes=0,q.pendingProps=rr,null!==(bn=q.lastEffect)?(R.firstEffect=q.firstEffect,R.lastEffect=bn,bn.nextEffect=null):R.firstEffect=R.lastEffect=null):q=Ed(bn,rr),null!==T?Pe=Ed(T,Pe):(Pe=Mc(Pe,on,tt,null)).flags|=2,Pe.return=R,q.return=R,q.sibling=Pe,R.child=q,Pe}(T,R,tt.children,tt.fallback,q),(bn=R.child).memoizedState=null===(on=T.child.memoizedState)?{baseLanes:q}:{baseLanes:on.baseLanes|q},bn.childLanes=T.childLanes&~q,R.memoizedState=hu,tt):(q=function(T,R,q,Pe){var tt=T.child;return T=tt.sibling,q=Ed(tt,{mode:"visible",children:q}),0==(2&R.mode)&&(q.lanes=Pe),q.return=R,q.sibling=null,null!==T&&(T.nextEffect=null,T.flags=8,R.firstEffect=R.lastEffect=T),R.child=q}(T,R,tt.children,q),R.memoizedState=null,q)}function ud(T,R,q,Pe){var tt=T.mode,on=T.child;return R={mode:"hidden",children:R},0==(2&tt)&&null!==on?(on.childLanes=0,on.pendingProps=R):on=Iu(R,tt,0,null),q=Mc(q,tt,Pe,null),on.return=T,q.return=T,on.sibling=q,T.child=on,q}function Cu(T,R){T.lanes|=R;var q=T.alternate;null!==q&&(q.lanes|=R),ol(T.return,R)}function dd(T,R,q,Pe,tt,on){var bn=T.memoizedState;null===bn?T.memoizedState={isBackwards:R,rendering:null,renderingStartTime:0,last:Pe,tail:q,tailMode:tt,lastEffect:on}:(bn.isBackwards=R,bn.rendering=null,bn.renderingStartTime=0,bn.last=Pe,bn.tail=q,bn.tailMode=tt,bn.lastEffect=on)}function kc(T,R,q){var Pe=R.pendingProps,tt=Pe.revealOrder,on=Pe.tail;if(Ic(T,R,Pe.children,q),0!=(2&(Pe=Q.current)))Pe=1&Pe|2,R.flags|=64;else{if(null!==T&&0!=(64&T.flags))e:for(T=R.child;null!==T;){if(13===T.tag)null!==T.memoizedState&&Cu(T,q);else if(19===T.tag)Cu(T,q);else if(null!==T.child){T.child.return=T,T=T.child;continue}if(T===R)break e;for(;null===T.sibling;){if(null===T.return||T.return===R)break e;T=T.return}T.sibling.return=T.return,T=T.sibling}Pe&=1}if(Be(Q,Pe),0==(2&R.mode))R.memoizedState=null;else switch(tt){case"forwards":for(q=R.child,tt=null;null!==q;)null!==(T=q.alternate)&&null===de(T)&&(tt=q),q=q.sibling;null===(q=tt)?(tt=R.child,R.child=null):(tt=q.sibling,q.sibling=null),dd(R,!1,tt,q,on,R.lastEffect);break;case"backwards":for(q=null,tt=R.child,R.child=null;null!==tt;){if(null!==(T=tt.alternate)&&null===de(T)){R.child=tt;break}T=tt.sibling,tt.sibling=q,q=tt,tt=T}dd(R,!0,q,null,on,R.lastEffect);break;case"together":dd(R,!1,null,null,void 0,R.lastEffect);break;default:R.memoizedState=null}return R.child}function wc(T,R,q){if(null!==T&&(R.dependencies=T.dependencies),pd|=R.lanes,0!=(q&R.childLanes)){if(null!==T&&R.child!==T.child)throw Error(l(153));if(null!==R.child){for(q=Ed(T=R.child,T.pendingProps),R.child=q,q.return=R;null!==T.sibling;)(q=q.sibling=Ed(T=T.sibling,T.pendingProps)).return=R;q.sibling=null}return R.child}return null}function Yc(T,R){if(!De)switch(T.tailMode){case"hidden":R=T.tail;for(var q=null;null!==R;)null!==R.alternate&&(q=R),R=R.sibling;null===q?T.tail=null:q.sibling=null;break;case"collapsed":q=T.tail;for(var Pe=null;null!==q;)null!==q.alternate&&(Pe=q),q=q.sibling;null===Pe?R||null===T.tail?T.tail=null:T.tail.sibling=null:Pe.sibling=null}}function Lf(T,R,q){var Pe=R.pendingProps;switch(R.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return kn(R.type)&&zn(),null;case 3:return E(),Re(en),Re(Dt),Yr(),(Pe=R.stateNode).pendingContext&&(Pe.context=Pe.pendingContext,Pe.pendingContext=null),null!==T&&null!==T.child||(cr(R)?R.flags|=4:Pe.hydrate||(R.flags|=256)),null;case 5:$(R);var tt=El(yl.current);if(q=R.type,null!==T&&null!=R.stateNode)Ad(T,R,q,Pe),T.ref!==R.ref&&(R.flags|=128);else{if(!Pe){if(null===R.stateNode)throw Error(l(166));return null}if(T=El(Jl.current),cr(R)){q=R.type;var on=R.memoizedProps;switch((Pe=R.stateNode)[ql]=R,Pe[kl]=on,q){case"dialog":Ti("cancel",Pe),Ti("close",Pe);break;case"iframe":case"object":case"embed":Ti("load",Pe);break;case"video":case"audio":for(T=0;T<Un.length;T++)Ti(Un[T],Pe);break;case"source":Ti("error",Pe);break;case"img":case"image":case"link":Ti("error",Pe),Ti("load",Pe);break;case"details":Ti("toggle",Pe);break;case"input":er(Pe,on),Ti("invalid",Pe);break;case"select":Pe._wrapperState={wasMultiple:!!on.multiple},Ti("invalid",Pe);break;case"textarea":Kn(Pe,on),Ti("invalid",Pe)}for(var bn in hn(q,on),T=null,on)on.hasOwnProperty(bn)&&(tt=on[bn],"children"===bn?"string"==typeof tt?Pe.textContent!==tt&&(T=["children",tt]):"number"==typeof tt&&Pe.textContent!==""+tt&&(T=["children",""+tt]):h.hasOwnProperty(bn)&&null!=tt&&"onScroll"===bn&&Ti("scroll",Pe));switch(q){case"input":ln(Pe),tr(Pe,on,!0);break;case"textarea":ln(Pe),Sn(Pe);break;case"select":case"option":break;default:"function"==typeof on.onClick&&(Pe.onclick=fl)}R.updateQueue=Pe=T,null!==Pe&&(R.flags|=4)}else{switch(bn=9===tt.nodeType?tt:tt.ownerDocument,T===$n&&(T=Fn(q)),T===$n?"script"===q?((T=bn.createElement("div")).innerHTML="<script><\/script>",T=T.removeChild(T.firstChild)):"string"==typeof Pe.is?T=bn.createElement(q,{is:Pe.is}):(T=bn.createElement(q),"select"===q&&(bn=T,Pe.multiple?bn.multiple=!0:Pe.size&&(bn.size=Pe.size))):T=bn.createElementNS(T,q),T[ql]=R,T[kl]=Pe,$d(T,R),R.stateNode=T,bn=Qn(q,Pe),q){case"dialog":Ti("cancel",T),Ti("close",T),tt=Pe;break;case"iframe":case"object":case"embed":Ti("load",T),tt=Pe;break;case"video":case"audio":for(tt=0;tt<Un.length;tt++)Ti(Un[tt],T);tt=Pe;break;case"source":Ti("error",T),tt=Pe;break;case"img":case"image":case"link":Ti("error",T),Ti("load",T),tt=Pe;break;case"details":Ti("toggle",T),tt=Pe;break;case"input":er(T,Pe),tt=Rn(T,Pe),Ti("invalid",T);break;case"option":tt=Cn(T,Pe);break;case"select":T._wrapperState={wasMultiple:!!Pe.multiple},tt=s({},Pe,{value:void 0}),Ti("invalid",T);break;case"textarea":Kn(T,Pe),tt=dn(T,Pe),Ti("invalid",T);break;default:tt=Pe}hn(q,tt);var rr=tt;for(on in rr)if(rr.hasOwnProperty(on)){var wr=rr[on];"style"===on?et(T,wr):"dangerouslySetInnerHTML"===on?null!=(wr=wr?wr.__html:void 0)&&Xt(T,wr):"children"===on?"string"==typeof wr?("textarea"!==q||""!==wr)&&ut(T,wr):"number"==typeof wr&&ut(T,""+wr):"suppressContentEditableWarning"!==on&&"suppressHydrationWarning"!==on&&"autoFocus"!==on&&(h.hasOwnProperty(on)?null!=wr&&"onScroll"===on&&Ti("scroll",T):null!=wr&&I(T,on,wr,bn))}switch(q){case"input":ln(T),tr(T,Pe,!1);break;case"textarea":ln(T),Sn(T);break;case"option":null!=Pe.value&&T.setAttribute("value",""+Jt(Pe.value));break;case"select":T.multiple=!!Pe.multiple,null!=(on=Pe.value)?Kt(T,!!Pe.multiple,on,!1):null!=Pe.defaultValue&&Kt(T,!!Pe.multiple,Pe.defaultValue,!0);break;default:"function"==typeof tt.onClick&&(T.onclick=fl)}Ll(q,Pe)&&(R.flags|=4)}null!==R.ref&&(R.flags|=128)}return null;case 6:if(T&&null!=R.stateNode)Fc(0,R,T.memoizedProps,Pe);else{if("string"!=typeof Pe&&null===R.stateNode)throw Error(l(166));q=El(yl.current),El(Jl.current),cr(R)?(q=R.memoizedProps,(Pe=R.stateNode)[ql]=R,Pe.nodeValue!==q&&(R.flags|=4)):((Pe=(9===q.nodeType?q:q.ownerDocument).createTextNode(Pe))[ql]=R,R.stateNode=Pe)}return null;case 13:return Re(Q),Pe=R.memoizedState,0!=(64&R.flags)?(R.lanes=q,R):(Pe=null!==Pe,q=!1,null===T?void 0!==R.memoizedProps.fallback&&cr(R):q=null!==T.memoizedState,Pe&&!q&&0!=(2&R.mode)&&(null===T&&!0!==R.memoizedProps.unstable_avoidThisFallback||0!=(1&Q.current)?0===Tc&&(Tc=3):(0!==Tc&&3!==Tc||(Tc=4),null===Kl||0==(134217727&pd)&&0==(134217727&Ru)||Pu(Kl,zl))),(Pe||q)&&(R.flags|=4),null);case 4:return E(),null===T&&Qo(R.stateNode.containerInfo),null;case 10:return Ha(R),null;case 17:return kn(R.type)&&zn(),null;case 19:if(Re(Q),null===(Pe=R.memoizedState))return null;if(on=0!=(64&R.flags),null===(bn=Pe.rendering))if(on)Yc(Pe,!1);else{if(0!==Tc||null!==T&&0!=(64&T.flags))for(T=R.child;null!==T;){if(null!==(bn=de(T))){for(R.flags|=64,Yc(Pe,!1),null!==(on=bn.updateQueue)&&(R.updateQueue=on,R.flags|=4),null===Pe.lastEffect&&(R.firstEffect=null),R.lastEffect=Pe.lastEffect,Pe=q,q=R.child;null!==q;)T=Pe,(on=q).flags&=2,on.nextEffect=null,on.firstEffect=null,on.lastEffect=null,null===(bn=on.alternate)?(on.childLanes=0,on.lanes=T,on.child=null,on.memoizedProps=null,on.memoizedState=null,on.updateQueue=null,on.dependencies=null,on.stateNode=null):(on.childLanes=bn.childLanes,on.lanes=bn.lanes,on.child=bn.child,on.memoizedProps=bn.memoizedProps,on.memoizedState=bn.memoizedState,on.updateQueue=bn.updateQueue,on.type=bn.type,on.dependencies=null===(T=bn.dependencies)?null:{lanes:T.lanes,firstContext:T.firstContext}),q=q.sibling;return Be(Q,1&Q.current|2),R.child}T=T.sibling}null!==Pe.tail&&lo()>$c&&(R.flags|=64,on=!0,Yc(Pe,!1),R.lanes=33554432)}else{if(!on)if(null!==(T=de(bn))){if(R.flags|=64,on=!0,null!==(q=T.updateQueue)&&(R.updateQueue=q,R.flags|=4),Yc(Pe,!0),null===Pe.tail&&"hidden"===Pe.tailMode&&!bn.alternate&&!De)return null!==(R=R.lastEffect=Pe.lastEffect)&&(R.nextEffect=null),null}else 2*lo()-Pe.renderingStartTime>$c&&1073741824!==q&&(R.flags|=64,on=!0,Yc(Pe,!1),R.lanes=33554432);Pe.isBackwards?(bn.sibling=R.child,R.child=bn):(null!==(q=Pe.last)?q.sibling=bn:R.child=bn,Pe.last=bn)}return null!==Pe.tail?(Pe.rendering=q=Pe.tail,Pe.tail=q.sibling,Pe.lastEffect=R.lastEffect,Pe.renderingStartTime=lo(),q.sibling=null,R=Q.current,Be(Q,on?1&R|2:1&R),q):null;case 23:case 24:return Cc(),null!==T&&null!==T.memoizedState!=(null!==R.memoizedState)&&"unstable-defer-without-hiding"!==Pe.mode&&(R.flags|=4),null}throw Error(l(156,R.tag))}function Su(T){switch(T.tag){case 1:kn(T.type)&&zn();var R=T.flags;return 4096&R?(T.flags=-4097&R|64,T):null;case 3:if(E(),Re(en),Re(Dt),Yr(),0!=(64&(R=T.flags)))throw Error(l(285));return T.flags=-4097&R|64,T;case 5:return $(T),null;case 13:return Re(Q),4096&(R=T.flags)?(T.flags=-4097&R|64,T):null;case 19:return Re(Q),null;case 4:return E(),null;case 10:return Ha(T),null;case 23:case 24:return Cc(),null;default:return null}}function fd(T,R){try{var q="",Pe=R;do{q+=Ie(Pe),Pe=Pe.return}while(Pe);var tt=q}catch(on){tt="\nError generating stack: "+on.message+"\n"+on.stack}return{value:T,source:R,stack:tt}}function of(T,R){try{console.error(R.value)}catch(q){setTimeout(function(){throw q})}}$d=function(T,R){for(var q=R.child;null!==q;){if(5===q.tag||6===q.tag)T.appendChild(q.stateNode);else if(4!==q.tag&&null!==q.child){q.child.return=q,q=q.child;continue}if(q===R)break;for(;null===q.sibling;){if(null===q.return||q.return===R)return;q=q.return}q.sibling.return=q.return,q=q.sibling}},Ad=function(T,R,q,Pe){var tt=T.memoizedProps;if(tt!==Pe){T=R.stateNode,El(Jl.current);var on,bn=null;switch(q){case"input":tt=Rn(T,tt),Pe=Rn(T,Pe),bn=[];break;case"option":tt=Cn(T,tt),Pe=Cn(T,Pe),bn=[];break;case"select":tt=s({},tt,{value:void 0}),Pe=s({},Pe,{value:void 0}),bn=[];break;case"textarea":tt=dn(T,tt),Pe=dn(T,Pe),bn=[];break;default:"function"!=typeof tt.onClick&&"function"==typeof Pe.onClick&&(T.onclick=fl)}for(qr in hn(q,Pe),q=null,tt)if(!Pe.hasOwnProperty(qr)&&tt.hasOwnProperty(qr)&&null!=tt[qr])if("style"===qr){var rr=tt[qr];for(on in rr)rr.hasOwnProperty(on)&&(q||(q={}),q[on]="")}else"dangerouslySetInnerHTML"!==qr&&"children"!==qr&&"suppressContentEditableWarning"!==qr&&"suppressHydrationWarning"!==qr&&"autoFocus"!==qr&&(h.hasOwnProperty(qr)?bn||(bn=[]):(bn=bn||[]).push(qr,null));for(qr in Pe){var wr=Pe[qr];if(rr=null!=tt?tt[qr]:void 0,Pe.hasOwnProperty(qr)&&wr!==rr&&(null!=wr||null!=rr))if("style"===qr)if(rr){for(on in rr)!rr.hasOwnProperty(on)||wr&&wr.hasOwnProperty(on)||(q||(q={}),q[on]="");for(on in wr)wr.hasOwnProperty(on)&&rr[on]!==wr[on]&&(q||(q={}),q[on]=wr[on])}else q||(bn||(bn=[]),bn.push(qr,q)),q=wr;else"dangerouslySetInnerHTML"===qr?(rr=rr?rr.__html:void 0,null!=(wr=wr?wr.__html:void 0)&&rr!==wr&&(bn=bn||[]).push(qr,wr)):"children"===qr?"string"!=typeof wr&&"number"!=typeof wr||(bn=bn||[]).push(qr,""+wr):"suppressContentEditableWarning"!==qr&&"suppressHydrationWarning"!==qr&&(h.hasOwnProperty(qr)?(null!=wr&&"onScroll"===qr&&Ti("scroll",T),bn||rr===wr||(bn=[])):"object"==typeof wr&&null!==wr&&wr.$$typeof===$e?wr.toString():(bn=bn||[]).push(qr,wr))}q&&(bn=bn||[]).push("style",q);var qr=bn;(R.updateQueue=qr)&&(R.flags|=4)}},Fc=function(T,R,q,Pe){q!==Pe&&(R.flags|=4)};var Ff="function"==typeof WeakMap?WeakMap:Map;function V(T,R,q){(q=Va(-1,q)).tag=3,q.payload={element:null};var Pe=R.value;return q.callback=function(){kf||(kf=!0,hd=Pe),of(0,R)},q}function pe(T,R,q){(q=Va(-1,q)).tag=3;var Pe=T.type.getDerivedStateFromError;if("function"==typeof Pe){var tt=R.value;q.payload=function(){return of(0,R),Pe(tt)}}var on=T.stateNode;return null!==on&&"function"==typeof on.componentDidCatch&&(q.callback=function(){"function"!=typeof Pe&&(null===Nu?Nu=new Set([this]):Nu.add(this),of(0,R));var bn=R.stack;this.componentDidCatch(R.value,{componentStack:null!==bn?bn:""})}),q}var A="function"==typeof WeakSet?WeakSet:Set;function K(T){var R=T.ref;if(null!==R)if("function"==typeof R)try{R(null)}catch(q){Hc(T,q)}else R.current=null}function Ye(T,R){switch(R.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&R.flags&&null!==T){var q=T.memoizedProps,Pe=T.memoizedState;R=(T=R.stateNode).getSnapshotBeforeUpdate(R.elementType===R.type?q:Ws(R.type,q),Pe),T.__reactInternalSnapshotBeforeUpdate=R}return;case 3:return void(256&R.flags&&qc(R.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(l(163))}function Rt(T,R,q){switch(q.tag){case 0:case 11:case 15:case 22:if(null!==(R=null!==(R=q.updateQueue)?R.lastEffect:null)){T=R=R.next;do{if(3==(3&T.tag)){var Pe=T.create;T.destroy=Pe()}T=T.next}while(T!==R)}if(null!==(R=null!==(R=q.updateQueue)?R.lastEffect:null)){T=R=R.next;do{var tt=T;Pe=tt.next,0!=(4&(tt=tt.tag))&&0!=(1&tt)&&(hf(q,T),qu(q,T)),T=Pe}while(T!==R)}return;case 1:return T=q.stateNode,4&q.flags&&(null===R?T.componentDidMount():(Pe=q.elementType===q.type?R.memoizedProps:Ws(q.type,R.memoizedProps),T.componentDidUpdate(Pe,R.memoizedState,T.__reactInternalSnapshotBeforeUpdate))),void(null!==(R=q.updateQueue)&&pl(q,R,T));case 3:if(null!==(R=q.updateQueue)){if(T=null,null!==q.child)switch(q.child.tag){case 5:T=q.child.stateNode;break;case 1:T=q.child.stateNode}pl(q,R,T)}return;case 5:return T=q.stateNode,void(null===R&&4&q.flags&&Ll(q.type,q.memoizedProps)&&T.focus());case 6:case 4:case 12:return;case 13:return void(null===q.memoizedState&&(q=q.alternate,null!==q&&(q=q.memoizedState,null!==q&&(q=q.dehydrated,null!==q&&go(q)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(l(163))}function vr(T,R){for(var q=T;;){if(5===q.tag){var Pe=q.stateNode;if(R)"function"==typeof(Pe=Pe.style).setProperty?Pe.setProperty("display","none","important"):Pe.display="none";else{Pe=q.stateNode;var tt=q.memoizedProps.style;tt=null!=tt&&tt.hasOwnProperty("display")?tt.display:null,Pe.style.display=yn("display",tt)}}else if(6===q.tag)q.stateNode.nodeValue=R?"":q.memoizedProps;else if((23!==q.tag&&24!==q.tag||null===q.memoizedState||q===T)&&null!==q.child){q.child.return=q,q=q.child;continue}if(q===T)break;for(;null===q.sibling;){if(null===q.return||q.return===T)return;q=q.return}q.sibling.return=q.return,q=q.sibling}}function Hr(T,R){if(vi&&"function"==typeof vi.onCommitFiberUnmount)try{vi.onCommitFiberUnmount(Ci,R)}catch(on){}switch(R.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(T=R.updateQueue)&&null!==(T=T.lastEffect)){var q=T=T.next;do{var Pe=q,tt=Pe.destroy;if(Pe=Pe.tag,void 0!==tt)if(0!=(4&Pe))hf(R,q);else{Pe=R;try{tt()}catch(on){Hc(Pe,on)}}q=q.next}while(q!==T)}break;case 1:if(K(R),"function"==typeof(T=R.stateNode).componentWillUnmount)try{T.props=R.memoizedProps,T.state=R.memoizedState,T.componentWillUnmount()}catch(on){Hc(R,on)}break;case 5:K(R);break;case 4:us(T,R)}}function _i(T){T.alternate=null,T.child=null,T.dependencies=null,T.firstEffect=null,T.lastEffect=null,T.memoizedProps=null,T.memoizedState=null,T.pendingProps=null,T.return=null,T.updateQueue=null}function ji(T){return 5===T.tag||3===T.tag||4===T.tag}function Eo(T){e:{for(var R=T.return;null!==R;){if(ji(R))break e;R=R.return}throw Error(l(160))}var q=R;switch(R=q.stateNode,q.tag){case 5:var Pe=!1;break;case 3:case 4:R=R.containerInfo,Pe=!0;break;default:throw Error(l(161))}16&q.flags&&(ut(R,""),q.flags&=-17);e:t:for(q=T;;){for(;null===q.sibling;){if(null===q.return||ji(q.return)){q=null;break e}q=q.return}for(q.sibling.return=q.return,q=q.sibling;5!==q.tag&&6!==q.tag&&18!==q.tag;){if(2&q.flags||null===q.child||4===q.tag)continue t;q.child.return=q,q=q.child}if(!(2&q.flags)){q=q.stateNode;break e}}Pe?rs(T,q,R):Uo(T,q,R)}function rs(T,R,q){var Pe=T.tag,tt=5===Pe||6===Pe;if(tt)T=tt?T.stateNode:T.stateNode.instance,R?8===q.nodeType?q.parentNode.insertBefore(T,R):q.insertBefore(T,R):(8===q.nodeType?(R=q.parentNode).insertBefore(T,q):(R=q).appendChild(T),null!=(q=q._reactRootContainer)||null!==R.onclick||(R.onclick=fl));else if(4!==Pe&&null!==(T=T.child))for(rs(T,R,q),T=T.sibling;null!==T;)rs(T,R,q),T=T.sibling}function Uo(T,R,q){var Pe=T.tag,tt=5===Pe||6===Pe;if(tt)T=tt?T.stateNode:T.stateNode.instance,R?q.insertBefore(T,R):q.appendChild(T);else if(4!==Pe&&null!==(T=T.child))for(Uo(T,R,q),T=T.sibling;null!==T;)Uo(T,R,q),T=T.sibling}function us(T,R){for(var q,Pe,tt=R,on=!1;;){if(!on){on=tt.return;e:for(;;){if(null===on)throw Error(l(160));switch(q=on.stateNode,on.tag){case 5:Pe=!1;break e;case 3:case 4:q=q.containerInfo,Pe=!0;break e}on=on.return}on=!0}if(5===tt.tag||6===tt.tag){e:for(var bn=T,rr=tt,wr=rr;;)if(Hr(bn,wr),null!==wr.child&&4!==wr.tag)wr.child.return=wr,wr=wr.child;else{if(wr===rr)break e;for(;null===wr.sibling;){if(null===wr.return||wr.return===rr)break e;wr=wr.return}wr.sibling.return=wr.return,wr=wr.sibling}Pe?(rr=tt.stateNode,8===(bn=q).nodeType?bn.parentNode.removeChild(rr):bn.removeChild(rr)):q.removeChild(tt.stateNode)}else if(4===tt.tag){if(null!==tt.child){q=tt.stateNode.containerInfo,Pe=!0,tt.child.return=tt,tt=tt.child;continue}}else if(Hr(T,tt),null!==tt.child){tt.child.return=tt,tt=tt.child;continue}if(tt===R)break;for(;null===tt.sibling;){if(null===tt.return||tt.return===R)return;4===(tt=tt.return).tag&&(on=!1)}tt.sibling.return=tt.return,tt=tt.sibling}}function Ks(T,R){switch(R.tag){case 0:case 11:case 14:case 15:case 22:var q=R.updateQueue;if(null!==(q=null!==q?q.lastEffect:null)){var Pe=q=q.next;do{3==(3&Pe.tag)&&(T=Pe.destroy,Pe.destroy=void 0,void 0!==T&&T()),Pe=Pe.next}while(Pe!==q)}return;case 1:return;case 5:if(null!=(q=R.stateNode)){Pe=R.memoizedProps;var tt=null!==T?T.memoizedProps:Pe;T=R.type;var on=R.updateQueue;if(R.updateQueue=null,null!==on){for(q[kl]=Pe,"input"===T&&"radio"===Pe.type&&null!=Pe.name&&Mn(q,Pe),Qn(T,tt),R=Qn(T,Pe),tt=0;tt<on.length;tt+=2){var bn=on[tt],rr=on[tt+1];"style"===bn?et(q,rr):"dangerouslySetInnerHTML"===bn?Xt(q,rr):"children"===bn?ut(q,rr):I(q,bn,rr,R)}switch(T){case"input":Ht(q,Pe);break;case"textarea":qn(q,Pe);break;case"select":T=q._wrapperState.wasMultiple,q._wrapperState.wasMultiple=!!Pe.multiple,null!=(on=Pe.value)?Kt(q,!!Pe.multiple,on,!1):T!==!!Pe.multiple&&(null!=Pe.defaultValue?Kt(q,!!Pe.multiple,Pe.defaultValue,!0):Kt(q,!!Pe.multiple,Pe.multiple?[]:"",!1))}}}return;case 6:if(null===R.stateNode)throw Error(l(162));return void(R.stateNode.nodeValue=R.memoizedProps);case 3:return void((q=R.stateNode).hydrate&&(q.hydrate=!1,go(q.containerInfo)));case 12:return;case 13:return null!==R.memoizedState&&(zu=lo(),vr(R.child,!0)),void ys(R);case 19:return void ys(R);case 17:return;case 23:case 24:return void vr(R,null!==R.memoizedState)}throw Error(l(163))}function ys(T){var R=T.updateQueue;if(null!==R){T.updateQueue=null;var q=T.stateNode;null===q&&(q=T.stateNode=new A),R.forEach(function(Pe){var tt=Uf.bind(null,T,Pe);q.has(Pe)||(q.add(Pe),Pe.then(tt,tt))})}}function Xl(T,R){return null!==T&&(null===(T=T.memoizedState)||null!==T.dehydrated)&&null!==(R=R.memoizedState)&&null===R.dehydrated}var Dc=Math.ceil,al=J.ReactCurrentDispatcher,su=J.ReactCurrentOwner,ea=0,Kl=null,Ul=null,zl=0,xc=0,sf=ge(0),Tc=0,_u=null,uc=0,pd=0,Ru=0,af=0,ec=null,zu=0,$c=1/0;function Qc(){$c=lo()+500}var ip,is=null,kf=!1,hd=null,Nu=null,Wu=!1,au=null,Ud=90,lf=[],_d=[],Xc=null,Mu=0,Rs=null,jd=-1,gu=0,lu=0,cf=null,Bd=!1;function mc(){return 0!=(48&ea)?lo():-1!==jd?jd:jd=lo()}function jl(T){if(0==(2&(T=T.mode)))return 1;if(0==(4&T))return 99===ra()?1:2;if(0===gu&&(gu=uc),0!==Ds.transition){0!==lu&&(lu=null!==ec?ec.pendingLanes:0),T=gu;var R=4186112&~lu;return 0==(R&=-R)&&0==(R=(T=4186112&~T)&-T)&&(R=8192),R}return T=ra(),pn(0!=(4&ea)&&98===T?12:T=function(q){switch(q){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(T),gu)}function gd(T,R,q){if(50<Mu)throw Mu=0,Rs=null,Error(l(185));if(null===(T=uf(T,R)))return null;fn(T,R,q),T===Kl&&(Ru|=R,4===Tc&&Pu(T,zl));var Pe=ra();1===R?0!=(8&ea)&&0==(48&ea)?Kc(T):(cu(T,q),0===ea&&(Qc(),La())):(0==(4&ea)||98!==Pe&&99!==Pe||(null===Xc?Xc=new Set([T]):Xc.add(T)),cu(T,q)),ec=T}function uf(T,R){T.lanes|=R;var q=T.alternate;for(null!==q&&(q.lanes|=R),q=T,T=T.return;null!==T;)T.childLanes|=R,null!==(q=T.alternate)&&(q.childLanes|=R),q=T,T=T.return;return 3===q.tag?q.stateNode:null}function cu(T,R){for(var q=T.callbackNode,Pe=T.suspendedLanes,tt=T.pingedLanes,on=T.expirationTimes,bn=T.pendingLanes;0<bn;){var rr=31-Tn(bn),wr=1<<rr,qr=on[rr];-1===qr?0!=(wr&Pe)&&0==(wr&tt)||(qr=R,oa(wr),on[rr]=10<=zo?qr+250:6<=zo?qr+5e3:-1):qr<=R&&(T.expiredLanes|=wr),bn&=~wr}if(Pe=Er(T,T===Kl?zl:0),R=zo,0===Pe)null!==q&&(q!==xo&&po(q),T.callbackNode=null,T.callbackPriority=0);else{if(null!==q){if(T.callbackPriority===R)return;q!==xo&&po(q)}15===R?(q=Kc.bind(null,T),null===_n?(_n=[q],Hs=fo(Ki,ws)):_n.push(q),q=xo):q=14===R?zs(99,Kc.bind(null,T)):zs(q=function(Ko){switch(Ko){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(l(358,Ko))}}(R),df.bind(null,T)),T.callbackPriority=R,T.callbackNode=q}}function df(T){if(jd=-1,lu=gu=0,0!=(48&ea))throw Error(l(327));var R=T.callbackNode;if(tc()&&T.callbackNode!==R)return null;var q=Er(T,T===Kl?zl:0);if(0===q)return null;var Pe=q,tt=ea;ea|=16;var on=ff();for(Kl===T&&zl===Pe||(Qc(),md(T,Pe));;)try{Ou();break}catch(rr){$f(T,rr)}if(Za(),al.current=on,ea=tt,null!==Ul?Pe=0:(Kl=null,zl=0,Pe=Tc),0!=(uc&Ru))md(T,0);else if(0!==Pe){if(2===Pe&&(ea|=64,T.hydrate&&(T.hydrate=!1,qc(T.containerInfo)),0!==(q=st(T))&&(Pe=vd(T,q))),1===Pe)throw R=_u,md(T,0),Pu(T,q),cu(T,lo()),R;switch(T.finishedWork=T.current.alternate,T.finishedLanes=q,Pe){case 0:case 1:throw Error(l(345));case 2:Yd(T);break;case 3:if(Pu(T,q),(62914560&q)===q&&10<(Pe=zu+500-lo())){if(0!==Er(T,0))break;if(((tt=T.suspendedLanes)&q)!==q){mc(),T.pingedLanes|=T.suspendedLanes&tt;break}T.timeoutHandle=mo(Yd.bind(null,T),Pe);break}Yd(T);break;case 4:if(Pu(T,q),(4186112&q)===q)break;for(Pe=T.eventTimes,tt=-1;0<q;){var bn=31-Tn(q);on=1<<bn,(bn=Pe[bn])>tt&&(tt=bn),q&=~on}if(q=tt,10<(q=(120>(q=lo()-q)?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*Dc(q/1960))-q)){T.timeoutHandle=mo(Yd.bind(null,T),q);break}Yd(T);break;case 5:Yd(T);break;default:throw Error(l(329))}}return cu(T,lo()),T.callbackNode===R?df.bind(null,T):null}function Pu(T,R){for(R&=~af,T.suspendedLanes|=R&=~Ru,T.pingedLanes&=~R,T=T.expirationTimes;0<R;){var q=31-Tn(R),Pe=1<<q;T[q]=-1,R&=~Pe}}function Kc(T){if(0!=(48&ea))throw Error(l(327));if(tc(),T===Kl&&0!=(T.expiredLanes&zl)){var R=zl,q=vd(T,R);0!=(uc&Ru)&&(q=vd(T,R=Er(T,R)))}else q=vd(T,R=Er(T,0));if(0!==T.tag&&2===q&&(ea|=64,T.hydrate&&(T.hydrate=!1,qc(T.containerInfo)),0!==(R=st(T))&&(q=vd(T,R))),1===q)throw q=_u,md(T,0),Pu(T,R),cu(T,lo()),q;return T.finishedWork=T.current.alternate,T.finishedLanes=R,Yd(T),cu(T,lo()),null}function op(T,R){var q=ea;ea|=1;try{return T(R)}finally{0===(ea=q)&&(Qc(),La())}}function sp(T,R){var q=ea;ea&=-2,ea|=8;try{return T(R)}finally{0===(ea=q)&&(Qc(),La())}}function mu(T,R){Be(sf,xc),xc|=R,uc|=R}function Cc(){xc=sf.current,Re(sf)}function md(T,R){T.finishedWork=null,T.finishedLanes=0;var q=T.timeoutHandle;if(-1!==q&&(T.timeoutHandle=-1,As(q)),null!==Ul)for(q=Ul.return;null!==q;){var Pe=q;switch(Pe.tag){case 1:null!=(Pe=Pe.type.childContextTypes)&&zn();break;case 3:E(),Re(en),Re(Dt),Yr();break;case 5:$(Pe);break;case 4:E();break;case 13:case 19:Re(Q);break;case 10:Ha(Pe);break;case 23:case 24:Cc()}q=q.return}Kl=T,Ul=Ed(T.current,null),zl=xc=uc=R,Tc=0,_u=null,af=Ru=pd=0}function $f(T,R){for(;;){var q=Ul;try{if(Za(),Pi.current=xu,Ts){for(var Pe=Xo.memoizedState;null!==Pe;){var tt=Pe.queue;null!==tt&&(tt.pending=null),Pe=Pe.next}Ts=!1}if(Co=0,_s=ts=Xo=null,Ms=!1,su.current=null,null===q||null===q.return){Tc=1,_u=R,Ul=null;break}e:{var on=T,bn=q.return,rr=q,wr=R;if(R=zl,rr.flags|=2048,rr.firstEffect=rr.lastEffect=null,null!==wr&&"object"==typeof wr&&"function"==typeof wr.then){var qr=wr;if(0==(2&rr.mode)){var co=rr.alternate;co?(rr.updateQueue=co.updateQueue,rr.memoizedState=co.memoizedState,rr.lanes=co.lanes):(rr.updateQueue=null,rr.memoizedState=null)}var Ko=0!=(1&Q.current),so=bn;do{var gs;if(gs=13===so.tag){var qs=so.memoizedState;if(null!==qs)gs=null!==qs.dehydrated;else{var Vs=so.memoizedProps;gs=void 0!==Vs.fallback&&(!0!==Vs.unstable_avoidThisFallback||!Ko)}}if(gs){var oi=so.updateQueue;if(null===oi){var Wr=new Set;Wr.add(qr),so.updateQueue=Wr}else oi.add(qr);if(0==(2&so.mode)){if(so.flags|=64,rr.flags|=16384,rr.flags&=-2981,1===rr.tag)if(null===rr.alternate)rr.tag=17;else{var ti=Va(-1,1);ti.tag=2,ki(rr,ti)}rr.lanes|=1;break e}wr=void 0,rr=R;var Gi=on.pingCache;if(null===Gi?(Gi=on.pingCache=new Ff,wr=new Set,Gi.set(qr,wr)):void 0===(wr=Gi.get(qr))&&(wr=new Set,Gi.set(qr,wr)),!wr.has(rr)){wr.add(rr);var ro=Zd.bind(null,on,qr,rr);qr.then(ro,ro)}so.flags|=4096,so.lanes=R;break e}so=so.return}while(null!==so);wr=Error((dt(rr.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Tc&&(Tc=2),wr=fd(wr,rr),so=bn;do{switch(so.tag){case 3:on=wr,so.flags|=4096,so.lanes|=R&=-R,Oc(so,V(0,on,R));break e;case 1:on=wr;var ps=so.stateNode;if(0==(64&so.flags)&&("function"==typeof so.type.getDerivedStateFromError||null!==ps&&"function"==typeof ps.componentDidCatch&&(null===Nu||!Nu.has(ps)))){so.flags|=4096,so.lanes|=R&=-R,Oc(so,pe(so,on,R));break e}}so=so.return}while(null!==so)}pf(q)}catch(la){R=la,Ul===q&&null!==q&&(Ul=q=q.return);continue}break}}function ff(){var T=al.current;return al.current=xu,null===T?xu:T}function vd(T,R){var q=ea;ea|=16;var Pe=ff();for(Kl===T&&zl===R||md(T,R);;)try{Hf();break}catch(tt){$f(T,tt)}if(Za(),ea=q,al.current=Pe,null!==Ul)throw Error(l(261));return Kl=null,zl=0,Tc}function Hf(){for(;null!==Ul;)eu(Ul)}function Ou(){for(;null!==Ul&&!No();)eu(Ul)}function eu(T){var R=ip(T.alternate,T,xc);T.memoizedProps=T.pendingProps,null===R?pf(T):Ul=R,su.current=null}function pf(T){var R=T;do{var q=R.alternate;if(T=R.return,0==(2048&R.flags)){if(null!==(q=Lf(q,R,xc)))return void(Ul=q);if(24!==(q=R).tag&&23!==q.tag||null===q.memoizedState||0!=(1073741824&xc)||0==(4&q.mode)){for(var Pe=0,tt=q.child;null!==tt;)Pe|=tt.lanes|tt.childLanes,tt=tt.sibling;q.childLanes=Pe}null!==T&&0==(2048&T.flags)&&(null===T.firstEffect&&(T.firstEffect=R.firstEffect),null!==R.lastEffect&&(null!==T.lastEffect&&(T.lastEffect.nextEffect=R.firstEffect),T.lastEffect=R.lastEffect),1<R.flags&&(null!==T.lastEffect?T.lastEffect.nextEffect=R:T.firstEffect=R,T.lastEffect=R))}else{if(null!==(q=Su(R)))return q.flags&=2047,void(Ul=q);null!==T&&(T.firstEffect=T.lastEffect=null,T.flags|=2048)}if(null!==(R=R.sibling))return void(Ul=R);Ul=R=T}while(null!==R);0===Tc&&(Tc=5)}function Yd(T){var R=ra();return Aa(99,Sp.bind(null,T,R)),null}function Sp(T,R){do{tc()}while(null!==au);if(0!=(48&ea))throw Error(l(327));var q=T.finishedWork;if(null===q)return null;if(T.finishedWork=null,T.finishedLanes=0,q===T.current)throw Error(l(177));T.callbackNode=null;var Pe=q.lanes|q.childLanes,tt=Pe,on=T.pendingLanes&~tt;T.pendingLanes=tt,T.suspendedLanes=0,T.pingedLanes=0,T.expiredLanes&=tt,T.mutableReadLanes&=tt,T.entangledLanes&=tt,tt=T.entanglements;for(var bn=T.eventTimes,rr=T.expirationTimes;0<on;){var wr=31-Tn(on),qr=1<<wr;tt[wr]=0,bn[wr]=-1,rr[wr]=-1,on&=~qr}if(null!==Xc&&0==(24&Pe)&&Xc.has(T)&&Xc.delete(T),T===Kl&&(Ul=Kl=null,zl=0),1<q.flags?null!==q.lastEffect?(q.lastEffect.nextEffect=q,Pe=q.firstEffect):Pe=q:Pe=q.firstEffect,null!==Pe){if(tt=ea,ea|=32,su.current=null,Hn=gi,ft(bn=Se())){if("selectionStart"in bn)rr={start:bn.selectionStart,end:bn.selectionEnd};else if((qr=(rr=(rr=bn.ownerDocument)&&rr.defaultView||window).getSelection&&rr.getSelection())&&0!==qr.rangeCount){rr=qr.anchorNode,on=qr.anchorOffset,wr=qr.focusNode,qr=qr.focusOffset;var co=0,Ko=-1,so=-1,gs=0,qs=0,Vs=bn,oi=null;t:for(;;){for(var Wr;Vs!==rr||0!==on&&3!==Vs.nodeType||(Ko=co+on),Vs!==wr||0!==qr&&3!==Vs.nodeType||(so=co+qr),3===Vs.nodeType&&(co+=Vs.nodeValue.length),null!==(Wr=Vs.firstChild);)oi=Vs,Vs=Wr;for(;;){if(Vs===bn)break t;if(oi===rr&&++gs===on&&(Ko=co),oi===wr&&++qs===qr&&(so=co),null!==(Wr=Vs.nextSibling))break;oi=(Vs=oi).parentNode}Vs=Wr}rr=-1===Ko||-1===so?null:{start:Ko,end:so}}else rr=null;rr=rr||{start:0,end:0}}else rr=null;Es={focusedElem:bn,selectionRange:rr},gi=!1,cf=null,Bd=!1,is=Pe;do{try{Mp()}catch(Gs){if(null===is)throw Error(l(330));Hc(is,Gs),is=is.nextEffect}}while(null!==is);cf=null,is=Pe;do{try{for(bn=T;null!==is;){var ti=is.flags;if(16&ti&&ut(is.stateNode,""),128&ti){var Gi=is.alternate;if(null!==Gi){var ro=Gi.ref;null!==ro&&("function"==typeof ro?ro(null):ro.current=null)}}switch(1038&ti){case 2:Eo(is),is.flags&=-3;break;case 6:Eo(is),is.flags&=-3,Ks(is.alternate,is);break;case 1024:is.flags&=-1025;break;case 1028:is.flags&=-1025,Ks(is.alternate,is);break;case 4:Ks(is.alternate,is);break;case 8:us(bn,rr=is);var ia=rr.alternate;_i(rr),null!==ia&&_i(ia)}is=is.nextEffect}}catch(Gs){if(null===is)throw Error(l(330));Hc(is,Gs),is=is.nextEffect}}while(null!==is);if(ro=Es,Gi=Se(),bn=ro.selectionRange,Gi!==(ti=ro.focusedElem)&&ti&&ti.ownerDocument&&G(ti.ownerDocument.documentElement,ti)){for((null!==bn&&ft(ti)&&(Gi=bn.start,void 0===(ro=bn.end)&&(ro=Gi),"selectionStart"in ti?(ti.selectionStart=Gi,ti.selectionEnd=Math.min(ro,ti.value.length)):(ro=(Gi=ti.ownerDocument||document)&&Gi.defaultView||window).getSelection&&(ro=ro.getSelection(),rr=ti.textContent.length,ia=Math.min(bn.start,rr),bn=void 0===bn.end?ia:Math.min(bn.end,rr),!ro.extend&&ia>bn&&(rr=bn,bn=ia,ia=rr),rr=Br(ti,ia),on=Br(ti,bn),rr&&on&&(1!==ro.rangeCount||ro.anchorNode!==rr.node||ro.anchorOffset!==rr.offset||ro.focusNode!==on.node||ro.focusOffset!==on.offset)&&((Gi=Gi.createRange()).setStart(rr.node,rr.offset),ro.removeAllRanges(),ia>bn?(ro.addRange(Gi),ro.extend(on.node,on.offset)):(Gi.setEnd(on.node,on.offset),ro.addRange(Gi))))),Gi=[],ro=ti);ro=ro.parentNode;)1===ro.nodeType&&Gi.push({element:ro,left:ro.scrollLeft,top:ro.scrollTop});for("function"==typeof ti.focus&&ti.focus(),ti=0;ti<Gi.length;ti++)(ro=Gi[ti]).element.scrollLeft=ro.left,ro.element.scrollTop=ro.top}gi=!!Hn,Es=Hn=null,T.current=q,is=Pe;do{try{for(ti=T;null!==is;){var ps=is.flags;if(36&ps&&Rt(ti,is.alternate,is),128&ps){Gi=void 0;var la=is.ref;if(null!==la){var Fa=is.stateNode;switch(is.tag){case 5:Gi=Fa;break;default:Gi=Fa}"function"==typeof la?la(Gi):la.current=Gi}}is=is.nextEffect}}catch(Gs){if(null===is)throw Error(l(330));Hc(is,Gs),is=is.nextEffect}}while(null!==is);is=null,Ps(),ea=tt}else T.current=q;if(Wu)Wu=!1,au=T,Ud=R;else for(is=Pe;null!==is;)R=is.nextEffect,is.nextEffect=null,8&is.flags&&((ps=is).sibling=null,ps.stateNode=null),is=R;if(0===(Pe=T.pendingLanes)&&(Nu=null),1===Pe?T===Rs?Mu++:(Mu=0,Rs=T):Mu=0,q=q.stateNode,vi&&"function"==typeof vi.onCommitFiberRoot)try{vi.onCommitFiberRoot(Ci,q,void 0,64==(64&q.current.flags))}catch(Gs){}if(cu(T,lo()),kf)throw kf=!1,T=hd,hd=null,T;return 0!=(8&ea)||La(),null}function Mp(){for(;null!==is;){var T=is.alternate;Bd||null===cf||(0!=(8&is.flags)?di(is,cf)&&(Bd=!0):13===is.tag&&Xl(T,is)&&di(is,cf)&&(Bd=!0));var R=is.flags;0!=(256&R)&&Ye(T,is),0==(512&R)||Wu||(Wu=!0,zs(97,function(){return tc(),null})),is=is.nextEffect}}function tc(){if(90!==Ud){var T=97<Ud?97:Ud;return Ud=90,Aa(T,Bp)}return!1}function qu(T,R){lf.push(R,T),Wu||(Wu=!0,zs(97,function(){return tc(),null}))}function hf(T,R){_d.push(R,T),Wu||(Wu=!0,zs(97,function(){return tc(),null}))}function Bp(){if(null===au)return!1;var T=au;if(au=null,0!=(48&ea))throw Error(l(331));var R=ea;ea|=32;var q=_d;_d=[];for(var Pe=0;Pe<q.length;Pe+=2){var tt=q[Pe],on=q[Pe+1],bn=tt.destroy;if(tt.destroy=void 0,"function"==typeof bn)try{bn()}catch(wr){if(null===on)throw Error(l(330));Hc(on,wr)}}for(q=lf,lf=[],Pe=0;Pe<q.length;Pe+=2){tt=q[Pe],on=q[Pe+1];try{var rr=tt.create;tt.destroy=rr()}catch(wr){if(null===on)throw Error(l(330));Hc(on,wr)}}for(rr=T.current.firstEffect;null!==rr;)T=rr.nextEffect,rr.nextEffect=null,8&rr.flags&&(rr.sibling=null,rr.stateNode=null),rr=T;return ea=R,La(),!0}function yd(T,R,q){ki(T,R=V(0,R=fd(q,R),1)),R=mc(),null!==(T=uf(T,1))&&(fn(T,1,R),cu(T,R))}function Hc(T,R){if(3===T.tag)yd(T,T,R);else for(var q=T.return;null!==q;){if(3===q.tag){yd(q,T,R);break}if(1===q.tag){var Pe=q.stateNode;if("function"==typeof q.type.getDerivedStateFromError||"function"==typeof Pe.componentDidCatch&&(null===Nu||!Nu.has(Pe))){var tt=pe(q,T=fd(R,T),1);if(ki(q,tt),tt=mc(),null!==(q=uf(q,1)))fn(q,1,tt),cu(q,tt);else if("function"==typeof Pe.componentDidCatch&&(null===Nu||!Nu.has(Pe)))try{Pe.componentDidCatch(R,T)}catch(on){}break}}q=q.return}}function Zd(T,R,q){var Pe=T.pingCache;null!==Pe&&Pe.delete(R),R=mc(),T.pingedLanes|=T.suspendedLanes&q,Kl===T&&(zl&q)===q&&(4===Tc||3===Tc&&(62914560&zl)===zl&&500>lo()-zu?md(T,0):af|=q),cu(T,R)}function Uf(T,R){var q=T.stateNode;null!==q&&q.delete(R),0==(R=0)&&(0==(2&(R=T.mode))?R=1:0==(4&R)?R=99===ra()?1:2:(0===gu&&(gu=uc),0===(R=ee(62914560&~gu))&&(R=4194304))),q=mc(),null!==(T=uf(T,R))&&(fn(T,R,q),cu(T,q))}function ap(T,R,q,Pe){this.tag=T,this.key=q,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=R,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=Pe,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Zc(T,R,q,Pe){return new ap(T,R,q,Pe)}function bd(T){return!(!(T=T.prototype)||!T.isReactComponent)}function Ed(T,R){var q=T.alternate;return null===q?((q=Zc(T.tag,R,T.key,T.mode)).elementType=T.elementType,q.type=T.type,q.stateNode=T.stateNode,q.alternate=T,T.alternate=q):(q.pendingProps=R,q.type=T.type,q.flags=0,q.nextEffect=null,q.firstEffect=null,q.lastEffect=null),q.childLanes=T.childLanes,q.lanes=T.lanes,q.child=T.child,q.memoizedProps=T.memoizedProps,q.memoizedState=T.memoizedState,q.updateQueue=T.updateQueue,q.dependencies=null===(R=T.dependencies)?null:{lanes:R.lanes,firstContext:R.firstContext},q.sibling=T.sibling,q.index=T.index,q.ref=T.ref,q}function Sc(T,R,q,Pe,tt,on){var bn=2;if(Pe=T,"function"==typeof T)bd(T)&&(bn=1);else if("string"==typeof T)bn=5;else e:switch(T){case oe:return Mc(q.children,tt,on,R);case F:bn=8,tt|=16;break;case fe:bn=8,tt|=1;break;case ne:return(T=Zc(12,q,R,8|tt)).elementType=ne,T.type=ne,T.lanes=on,T;case Me:return(T=Zc(13,q,R,tt)).type=Me,T.elementType=Me,T.lanes=on,T;case Oe:return(T=Zc(19,q,R,tt)).elementType=Oe,T.lanes=on,T;case je:return Iu(q,tt,on,R);case Et:return(T=Zc(24,q,R,tt)).elementType=Et,T.lanes=on,T;default:if("object"==typeof T&&null!==T)switch(T.$$typeof){case he:bn=10;break e;case ce:bn=9;break e;case Ae:bn=11;break e;case be:bn=14;break e;case ue:bn=16,Pe=null;break e;case He:bn=22;break e}throw Error(l(130,null==T?T:typeof T,""))}return(R=Zc(bn,q,R,tt)).elementType=T,R.type=Pe,R.lanes=on,R}function Mc(T,R,q,Pe){return(T=Zc(7,T,Pe,R)).lanes=q,T}function Iu(T,R,q,Pe){return(T=Zc(23,T,Pe,R)).elementType=je,T.lanes=q,T}function jf(T,R,q){return(T=Zc(6,T,null,R)).lanes=q,T}function Dd(T,R,q){return(R=Zc(4,null!==T.children?T.children:[],T.key,R)).lanes=q,R.stateNode={containerInfo:T.containerInfo,pendingChildren:null,implementation:T.implementation},R}function Yp(T,R,q){this.tag=R,this.containerInfo=T,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=q,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Ve(0),this.expirationTimes=Ve(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ve(0),this.mutableSourceEagerHydrationData=null}function Zp(T,R,q){var Pe=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ie,key:null==Pe?null:""+Pe,children:T,containerInfo:R,implementation:q}}function Bf(T,R,q,Pe){var tt=R.current,on=mc(),bn=jl(tt);e:if(q){t:{if(Mi(q=q._reactInternals)!==q||1!==q.tag)throw Error(l(170));var rr=q;do{switch(rr.tag){case 3:rr=rr.stateNode.context;break t;case 1:if(kn(rr.type)){rr=rr.stateNode.__reactInternalMemoizedMergedChildContext;break t}}rr=rr.return}while(null!==rr);throw Error(l(171))}if(1===q.tag){var wr=q.type;if(kn(wr)){q=kr(q,wr,rr);break e}}q=rr}else q=xt;return null===R.context?R.context=q:R.pendingContext=q,(R=Va(on,bn)).payload={element:T},null!==(Pe=void 0===Pe?null:Pe)&&(R.callback=Pe),ki(tt,R),gd(tt,bn,on),bn}function lp(T){if(!(T=T.current).child)return null;switch(T.child.tag){case 5:default:return T.child.stateNode}}function Op(T,R){if(null!==(T=T.memoizedState)&&null!==T.dehydrated){var q=T.retryLane;T.retryLane=0!==q&&q<R?q:R}}function cp(T,R){Op(T,R),(T=T.alternate)&&Op(T,R)}function Yf(T,R,q){var Pe=null!=q&&null!=q.hydrationOptions&&q.hydrationOptions.mutableSources||null;if(q=new Yp(T,R,null!=q&&!0===q.hydrate),R=Zc(3,null,null,2===R?7:1===R?3:0),q.current=R,R.stateNode=q,Zl(R),T[Yl]=q.current,Qo(8===T.nodeType?T.parentNode:T),Pe)for(T=0;T<Pe.length;T++){var tt=(R=Pe[T])._getVersion;tt=tt(R._source),null==q.mutableSourceEagerHydrationData?q.mutableSourceEagerHydrationData=[R,tt]:q.mutableSourceEagerHydrationData.push(R,tt)}this._internalRoot=q}function xd(T){return!(!T||1!==T.nodeType&&9!==T.nodeType&&11!==T.nodeType&&(8!==T.nodeType||" react-mount-point-unstable "!==T.nodeValue))}function _f(T,R,q,Pe,tt){var on=q._reactRootContainer;if(on){var bn=on._internalRoot;if("function"==typeof tt){var rr=tt;tt=function(){var qr=lp(bn);rr.call(qr)}}Bf(R,bn,T,tt)}else{if(on=q._reactRootContainer=function(qr,co){if(co||(co=!(!(co=qr?9===qr.nodeType?qr.documentElement:qr.firstChild:null)||1!==co.nodeType||!co.hasAttribute("data-reactroot"))),!co)for(var Ko;Ko=qr.lastChild;)qr.removeChild(Ko);return new Yf(qr,0,co?{hydrate:!0}:void 0)}(q,Pe),bn=on._internalRoot,"function"==typeof tt){var wr=tt;tt=function(){var qr=lp(bn);wr.call(qr)}}sp(function(){Bf(R,bn,T,tt)})}return lp(bn)}function Zf(T,R){var q=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!xd(R))throw Error(l(200));return Zp(T,R,null,q)}ip=function(T,R,q){var Pe=R.lanes;if(null!==T)if(T.memoizedProps!==R.pendingProps||en.current)Is=!0;else{if(0==(q&Pe)){switch(Is=!1,R.tag){case 3:rf(R),sr();break;case 5:N(R);break;case 1:kn(R.type)&&Gr(R);break;case 4:p(R,R.stateNode.containerInfo);break;case 10:Pe=R.memoizedProps.value;var tt=R.type._context;Be(Ba,tt._currentValue),tt._currentValue=Pe;break;case 13:if(null!==R.memoizedState)return 0!=(q&R.child.childLanes)?Hd(T,R,q):(Be(Q,1&Q.current),null!==(R=wc(T,R,q))?R.sibling:null);Be(Q,1&Q.current);break;case 19:if(Pe=0!=(q&R.childLanes),0!=(64&T.flags)){if(Pe)return kc(T,R,q);R.flags|=64}if(null!==(tt=R.memoizedState)&&(tt.rendering=null,tt.tail=null,tt.lastEffect=null),Be(Q,Q.current),Pe)break;return null;case 23:case 24:return R.lanes=0,Tu(T,R,q)}return wc(T,R,q)}Is=0!=(16384&T.flags)}else Is=!1;switch(R.lanes=0,R.tag){case 2:if(Pe=R.type,null!==T&&(T.alternate=null,R.alternate=null,R.flags|=2),T=R.pendingProps,tt=Gn(R,Dt.current),Us(R,q),tt=hl(null,R,Pe,T,tt,q),R.flags|=1,"object"==typeof tt&&null!==tt&&"function"==typeof tt.render&&void 0===tt.$$typeof){if(R.tag=1,R.memoizedState=null,R.updateQueue=null,kn(Pe)){var on=!0;Gr(R)}else on=!1;R.memoizedState=null!=tt.state?tt.state:null,Zl(R);var bn=Pe.getDerivedStateFromProps;"function"==typeof bn&&iu(R,Pe,bn,T),tt.updater=cc,R.stateNode=tt,tt._reactInternals=R,xl(R,Pe,T,q),R=cd(null,R,Pe,!0,on,q)}else R.tag=0,Ic(null,R,tt,q),R=R.child;return R;case 16:tt=R.elementType;e:{switch(null!==T&&(T.alternate=null,R.alternate=null,R.flags|=2),T=R.pendingProps,tt=(on=tt._init)(tt._payload),R.type=tt,on=R.tag=function(co){if("function"==typeof co)return bd(co)?1:0;if(null!=co){if((co=co.$$typeof)===Ae)return 11;if(co===be)return 14}return 2}(tt),T=Ws(tt,T),on){case 0:R=Lc(null,R,tt,T,q);break e;case 1:R=Pf(null,R,tt,T,q);break e;case 11:R=Nf(null,R,tt,T,q);break e;case 14:R=ld(null,R,tt,Ws(tt.type,T),Pe,q);break e}throw Error(l(306,tt,""))}return R;case 0:return tt=R.pendingProps,Lc(T,R,Pe=R.type,tt=R.elementType===Pe?tt:Ws(Pe,tt),q);case 1:return tt=R.pendingProps,Pf(T,R,Pe=R.type,tt=R.elementType===Pe?tt:Ws(Pe,tt),q);case 3:if(rf(R),Pe=R.updateQueue,null===T||null===Pe)throw Error(l(282));if(Pe=R.pendingProps,tt=null!==(tt=R.memoizedState)?tt.element:null,lc(T,R),pc(R,Pe,null,q),(Pe=R.memoizedState.element)===tt)sr(),R=wc(T,R,q);else{if((on=(tt=R.stateNode).hydrate)&&(qe=yc(R.stateNode.containerInfo.firstChild),ve=R,on=De=!0),on){if(null!=(T=tt.mutableSourceEagerHydrationData))for(tt=0;tt<T.length;tt+=2)(on=T[tt])._workInProgressVersionPrimary=T[tt+1],Tr.push(on);for(q=vl(R,null,Pe,q),R.child=q;q;)q.flags=-3&q.flags|1024,q=q.sibling}else Ic(T,R,Pe,q),sr();R=R.child}return R;case 5:return N(R),null===T&&Zt(R),on=null!==T?T.memoizedProps:null,bn=(tt=R.pendingProps).children,Hl(Pe=R.type,tt)?bn=null:null!==on&&Hl(Pe,on)&&(R.flags|=16),nf(T,R),Ic(T,R,bn,q),R.child;case 6:return null===T&&Zt(R),null;case 13:return Hd(T,R,q);case 4:return p(R,R.stateNode.containerInfo),Pe=R.pendingProps,null===T?R.child=bc(R,null,Pe,q):Ic(T,R,Pe,q),R.child;case 11:return tt=R.pendingProps,Nf(T,R,Pe=R.type,tt=R.elementType===Pe?tt:Ws(Pe,tt),q);case 7:return Ic(T,R,R.pendingProps,q),R.child;case 8:case 12:return Ic(T,R,R.pendingProps.children,q),R.child;case 10:e:{Pe=R.type._context,bn=R.memoizedProps,on=(tt=R.pendingProps).value;var rr=R.type._context;if(Be(Ba,rr._currentValue),rr._currentValue=on,null!==bn)if(0==(on=io(rr=bn.value,on)?0:0|("function"==typeof Pe._calculateChangedBits?Pe._calculateChangedBits(rr,on):1073741823))){if(bn.children===tt.children&&!en.current){R=wc(T,R,q);break e}}else for(null!==(rr=R.child)&&(rr.return=R);null!==rr;){var wr=rr.dependencies;if(null!==wr){bn=rr.child;for(var qr=wr.firstContext;null!==qr;){if(qr.context===Pe&&0!=(qr.observedBits&on)){1===rr.tag&&((qr=Va(-1,q&-q)).tag=2,ki(rr,qr)),rr.lanes|=q,null!==(qr=rr.alternate)&&(qr.lanes|=q),ol(rr.return,q),wr.lanes|=q;break}qr=qr.next}}else bn=10===rr.tag&&rr.type===R.type?null:rr.child;if(null!==bn)bn.return=rr;else for(bn=rr;null!==bn;){if(bn===R){bn=null;break}if(null!==(rr=bn.sibling)){rr.return=bn.return,bn=rr;break}bn=bn.return}rr=bn}Ic(T,R,tt.children,q),R=R.child}return R;case 9:return tt=R.type,Pe=(on=R.pendingProps).children,Us(R,q),Pe=Pe(tt=sl(tt,on.unstable_observedBits)),R.flags|=1,Ic(T,R,Pe,q),R.child;case 14:return on=Ws(tt=R.type,R.pendingProps),ld(T,R,tt,on=Ws(tt.type,on),Pe,q);case 15:return Jc(T,R,R.type,R.pendingProps,Pe,q);case 17:return tt=R.pendingProps,tt=R.elementType===(Pe=R.type)?tt:Ws(Pe,tt),null!==T&&(T.alternate=null,R.alternate=null,R.flags|=2),R.tag=1,kn(Pe)?(T=!0,Gr(R)):T=!1,Us(R,q),bu(R,Pe,tt),xl(R,Pe,tt,q),cd(null,R,Pe,!0,T,q);case 19:return kc(T,R,q);case 23:case 24:return Tu(T,R,q)}throw Error(l(156,R.tag))},Yf.prototype.render=function(T){Bf(T,this._internalRoot,null,null)},Yf.prototype.unmount=function(){var T=this._internalRoot,R=T.containerInfo;Bf(null,T,null,function(){R[Yl]=null})},se=function(T){13===T.tag&&(gd(T,4,mc()),cp(T,4))},ct=function(T){13===T.tag&&(gd(T,67108864,mc()),cp(T,67108864))},Ke=function(T){if(13===T.tag){var R=mc(),q=jl(T);gd(T,q,R),cp(T,q)}},Xe=function(T,R){return R()},ht=function(T,R,q){switch(R){case"input":if(Ht(T,q),R=q.name,"radio"===q.type&&null!=R){for(q=T;q.parentNode;)q=q.parentNode;for(q=q.querySelectorAll("input[name="+JSON.stringify(""+R)+'][type="radio"]'),R=0;R<q.length;R++){var Pe=q[R];if(Pe!==T&&Pe.form===T.form){var tt=Ot(Pe);if(!tt)throw Error(l(90));ar(Pe),Ht(Pe,tt)}}}break;case"textarea":qn(T,q);break;case"select":null!=(R=q.value)&&Kt(T,!!q.multiple,R,!1)}},Pt=op,Ut=function(T,R,q,Pe,tt){var on=ea;ea|=4;try{return Aa(98,T.bind(null,R,q,Pe,tt))}finally{0===(ea=on)&&(Qc(),La())}},ot=function(){0==(49&ea)&&(function(){if(null!==Xc){var T=Xc;Xc=null,T.forEach(function(R){R.expiredLanes|=24&R.pendingLanes,cu(R,lo())})}La()}(),tc())},Nn=function(T,R){var q=ea;ea|=2;try{return T(R)}finally{0===(ea=q)&&(Qc(),La())}};var Ap={Events:[Fe,we,Ot,at,it,tc,{current:!1}]},Vd={findFiberByHostInstance:Je,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},up={bundleType:Vd.bundleType,version:Vd.version,rendererPackageName:Vd.rendererPackageName,rendererConfig:Vd.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:J.ReactCurrentDispatcher,findHostInstanceByFiber:function(T){return null===(T=ei(T))?null:T.stateNode},findFiberByHostInstance:Vd.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var gf=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!gf.isDisabled&&gf.supportsFiber)try{Ci=gf.inject(up),vi=gf}catch(T){}}o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ap,o.createPortal=Zf,o.findDOMNode=function(T){if(null==T)return null;if(1===T.nodeType)return T;var R=T._reactInternals;if(void 0===R)throw"function"==typeof T.render?Error(l(188)):Error(l(268,Object.keys(T)));return null===(T=ei(R))?null:T.stateNode},o.flushSync=function(T,R){var q=ea;if(0!=(48&q))return T(R);ea|=1;try{if(T)return Aa(99,T.bind(null,R))}finally{ea=q,La()}},o.hydrate=function(T,R,q){if(!xd(R))throw Error(l(200));return _f(null,T,R,!0,q)},o.render=function(T,R,q){if(!xd(R))throw Error(l(200));return _f(null,T,R,!1,q)},o.unmountComponentAtNode=function(T){if(!xd(T))throw Error(l(40));return!!T._reactRootContainer&&(sp(function(){_f(null,null,T,!1,function(){T._reactRootContainer=null,T[Yl]=null})}),!0)},o.unstable_batchedUpdates=op,o.unstable_createPortal=function(T,R){return Zf(T,R,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},o.unstable_renderSubtreeIntoContainer=function(T,R,q,Pe){if(!xd(q))throw Error(l(200));if(null==T||void 0===T._reactInternals)throw Error(l(38));return _f(T,R,q,!1,Pe)},o.version="17.0.2"},function(g,o,t){"use strict";g.exports=t(877)},function(g,o,t){"use strict";var e,s,a,l;if("object"==typeof performance&&"function"==typeof performance.now){var u=performance;o.unstable_now=function(){return u.now()}}else{var h=Date,_=h.now();o.unstable_now=function(){return h.now()-_}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var m=null,b=null,C=function(){if(null!==m)try{var lt=o.unstable_now();m(!0,lt),m=null}catch(nn){throw setTimeout(C,0),nn}};e=function(lt){null!==m?setTimeout(e,0,lt):(m=lt,setTimeout(C,0))},s=function(lt,nn){b=setTimeout(lt,nn)},a=function(){clearTimeout(b)},o.unstable_shouldYield=function(){return!1},l=o.unstable_forceFrameRate=function(){}}else{var D=window.setTimeout,x=window.clearTimeout;if("undefined"!=typeof console){var j=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof j&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var H=!1,z=null,U=-1,M=5,I=0;o.unstable_shouldYield=function(){return o.unstable_now()>=I},l=function(){},o.unstable_forceFrameRate=function(lt){0>lt||125<lt?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<lt?Math.floor(1e3/lt):5};var J=new MessageChannel,Y=J.port2;J.port1.onmessage=function(){if(null!==z){var lt=o.unstable_now();I=lt+M;try{z(!0,lt)?Y.postMessage(null):(H=!1,z=null)}catch(nn){throw Y.postMessage(null),nn}}else H=!1},e=function(lt){z=lt,H||(H=!0,Y.postMessage(null))},s=function(lt,nn){U=D(function(){lt(o.unstable_now())},nn)},a=function(){x(U),U=-1}}function ie(lt,nn){var St=lt.length;lt.push(nn);e:for(;;){var At=St-1>>>1,Qe=lt[At];if(!(void 0!==Qe&&0<ne(Qe,nn)))break e;lt[At]=nn,lt[St]=Qe,St=At}}function oe(lt){return void 0===(lt=lt[0])?null:lt}function fe(lt){var nn=lt[0];if(void 0!==nn){var St=lt.pop();if(St!==nn){lt[0]=St;e:for(var At=0,Qe=lt.length;At<Qe;){var It=2*(At+1)-1,ae=lt[It],Ie=It+1,dt=lt[Ie];if(void 0!==ae&&0>ne(ae,St))void 0!==dt&&0>ne(dt,ae)?(lt[At]=dt,lt[Ie]=St,At=Ie):(lt[At]=ae,lt[It]=St,At=It);else{if(!(void 0!==dt&&0>ne(dt,St)))break e;lt[At]=dt,lt[Ie]=St,At=Ie}}}return nn}return null}function ne(lt,nn){var St=lt.sortIndex-nn.sortIndex;return 0!==St?St:lt.id-nn.id}var he=[],ce=[],Ae=1,Me=null,Oe=3,be=!1,ue=!1,He=!1;function $e(lt){for(var nn=oe(ce);null!==nn;){if(null===nn.callback)fe(ce);else{if(!(nn.startTime<=lt))break;fe(ce),nn.sortIndex=nn.expirationTime,ie(he,nn)}nn=oe(ce)}}function F(lt){if(He=!1,$e(lt),!ue)if(null!==oe(he))ue=!0,e(je);else{var nn=oe(ce);null!==nn&&s(F,nn.startTime-lt)}}function je(lt,nn){ue=!1,He&&(He=!1,a()),be=!0;var St=Oe;try{for($e(nn),Me=oe(he);null!==Me&&(!(Me.expirationTime>nn)||lt&&!o.unstable_shouldYield());){var At=Me.callback;if("function"==typeof At){Me.callback=null,Oe=Me.priorityLevel;var Qe=At(Me.expirationTime<=nn);nn=o.unstable_now(),"function"==typeof Qe?Me.callback=Qe:Me===oe(he)&&fe(he),$e(nn)}else fe(he);Me=oe(he)}if(null!==Me)var It=!0;else{var ae=oe(ce);null!==ae&&s(F,ae.startTime-nn),It=!1}return It}finally{Me=null,Oe=St,be=!1}}var Et=l;o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(lt){lt.callback=null},o.unstable_continueExecution=function(){ue||be||(ue=!0,e(je))},o.unstable_getCurrentPriorityLevel=function(){return Oe},o.unstable_getFirstCallbackNode=function(){return oe(he)},o.unstable_next=function(lt){switch(Oe){case 1:case 2:case 3:var nn=3;break;default:nn=Oe}var St=Oe;Oe=nn;try{return lt()}finally{Oe=St}},o.unstable_pauseExecution=function(){},o.unstable_requestPaint=Et,o.unstable_runWithPriority=function(lt,nn){switch(lt){case 1:case 2:case 3:case 4:case 5:break;default:lt=3}var St=Oe;Oe=lt;try{return nn()}finally{Oe=St}},o.unstable_scheduleCallback=function(lt,nn,St){var At=o.unstable_now();switch(St="object"==typeof St&&null!==St&&"number"==typeof(St=St.delay)&&0<St?At+St:At,lt){case 1:var Qe=-1;break;case 2:Qe=250;break;case 5:Qe=1073741823;break;case 4:Qe=1e4;break;default:Qe=5e3}return lt={id:Ae++,callback:nn,priorityLevel:lt,startTime:St,expirationTime:Qe=St+Qe,sortIndex:-1},St>At?(lt.sortIndex=St,ie(ce,lt),null===oe(he)&<===oe(ce)&&(He?a():He=!0,s(F,St-At))):(lt.sortIndex=Qe,ie(he,lt),ue||be||(ue=!0,e(je))),lt},o.unstable_wrapCallback=function(lt){var nn=Oe;return function(){var St=Oe;Oe=nn;try{return lt.apply(this,arguments)}finally{Oe=St}}}},function(g,o,t){"use strict";var e=t(879);function s(){}function a(){}a.resetWarningCache=s,g.exports=function(){function l(_,m,b,C,D,x){if(x!==e){var j=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw j.name="Invariant Violation",j}}function u(){return l}l.isRequired=l;var h={array:l,bool:l,func:l,number:l,object:l,string:l,symbol:l,any:l,arrayOf:u,element:l,elementType:l,instanceOf:u,node:l,objectOf:u,oneOf:u,oneOfType:u,shape:u,exact:u,checkPropTypes:a,resetWarningCache:s};return h.PropTypes=h,h}},function(g,o,t){"use strict";g.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(g,o,t){"use strict";var e="function"==typeof Symbol&&Symbol.for,s=e?Symbol.for("react.element"):60103,a=e?Symbol.for("react.portal"):60106,l=e?Symbol.for("react.fragment"):60107,u=e?Symbol.for("react.strict_mode"):60108,h=e?Symbol.for("react.profiler"):60114,_=e?Symbol.for("react.provider"):60109,m=e?Symbol.for("react.context"):60110,b=e?Symbol.for("react.async_mode"):60111,C=e?Symbol.for("react.concurrent_mode"):60111,D=e?Symbol.for("react.forward_ref"):60112,x=e?Symbol.for("react.suspense"):60113,j=e?Symbol.for("react.suspense_list"):60120,H=e?Symbol.for("react.memo"):60115,z=e?Symbol.for("react.lazy"):60116,U=e?Symbol.for("react.block"):60121,M=e?Symbol.for("react.fundamental"):60117,I=e?Symbol.for("react.responder"):60118,J=e?Symbol.for("react.scope"):60119;function Y(oe){if("object"==typeof oe&&null!==oe){var fe=oe.$$typeof;switch(fe){case s:switch(oe=oe.type){case b:case C:case l:case h:case u:case x:return oe;default:switch(oe=oe&&oe.$$typeof){case m:case D:case z:case H:case _:return oe;default:return fe}}case a:return fe}}}function ie(oe){return Y(oe)===C}o.AsyncMode=b,o.ConcurrentMode=C,o.ContextConsumer=m,o.ContextProvider=_,o.Element=s,o.ForwardRef=D,o.Fragment=l,o.Lazy=z,o.Memo=H,o.Portal=a,o.Profiler=h,o.StrictMode=u,o.Suspense=x,o.isAsyncMode=function(oe){return ie(oe)||Y(oe)===b},o.isConcurrentMode=ie,o.isContextConsumer=function(oe){return Y(oe)===m},o.isContextProvider=function(oe){return Y(oe)===_},o.isElement=function(oe){return"object"==typeof oe&&null!==oe&&oe.$$typeof===s},o.isForwardRef=function(oe){return Y(oe)===D},o.isFragment=function(oe){return Y(oe)===l},o.isLazy=function(oe){return Y(oe)===z},o.isMemo=function(oe){return Y(oe)===H},o.isPortal=function(oe){return Y(oe)===a},o.isProfiler=function(oe){return Y(oe)===h},o.isStrictMode=function(oe){return Y(oe)===u},o.isSuspense=function(oe){return Y(oe)===x},o.isValidElementType=function(oe){return"string"==typeof oe||"function"==typeof oe||oe===l||oe===C||oe===h||oe===u||oe===x||oe===j||"object"==typeof oe&&null!==oe&&(oe.$$typeof===z||oe.$$typeof===H||oe.$$typeof===_||oe.$$typeof===m||oe.$$typeof===D||oe.$$typeof===M||oe.$$typeof===I||oe.$$typeof===J||oe.$$typeof===U)},o.typeOf=Y},function(g,o){g.exports=function(t,e){for(var s=-1,a=null==t?0:t.length;++s<a&&!1!==e(t[s],s,t););return t}},function(g,o,t){var e=t(134),s=t(135);g.exports=function(a,l){return a&&e(l,s(l),a)}},function(g,o,t){var e=t(134),s=t(153);g.exports=function(a,l){return a&&e(l,s(l),a)}},function(g,o,t){var e=t(134),s=t(241);g.exports=function(a,l){return e(a,s(a),l)}},function(g,o,t){var e=t(134),s=t(439);g.exports=function(a,l){return e(a,s(a),l)}},function(g,o){var t=Object.prototype.hasOwnProperty;g.exports=function(e){var s=e.length,a=new e.constructor(s);return s&&"string"==typeof e[0]&&t.call(e,"index")&&(a.index=e.index,a.input=e.input),a}},function(g,o,t){var e=t(230),s=t(888),a=t(889),l=t(890),u=t(361);g.exports=function(h,_,m){var b=h.constructor;switch(_){case"[object ArrayBuffer]":return e(h);case"[object Boolean]":case"[object Date]":return new b(+h);case"[object DataView]":return s(h,m);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return u(h,m);case"[object Map]":return new b;case"[object Number]":case"[object String]":return new b(h);case"[object RegExp]":return a(h);case"[object Set]":return new b;case"[object Symbol]":return l(h)}}},function(g,o,t){var e=t(230);g.exports=function(s,a){var l=a?e(s.buffer):s.buffer;return new s.constructor(l,s.byteOffset,s.byteLength)}},function(g,o){var t=/\w*$/;g.exports=function(e){var s=new e.constructor(e.source,t.exec(e));return s.lastIndex=e.lastIndex,s}},function(g,o,t){var e=t(133),s=e?e.prototype:void 0,a=s?s.valueOf:void 0;g.exports=function(l){return a?Object(a.call(l)):{}}},function(g,o,t){var e=t(892),s=t(233),a=t(234),l=a&&a.isMap,u=l?s(l):e;g.exports=u},function(g,o,t){var e=t(155),s=t(78);g.exports=function(a){return s(a)&&"[object Map]"==e(a)}},function(g,o,t){var e=t(894),s=t(233),a=t(234),l=a&&a.isSet,u=l?s(l):e;g.exports=u},function(g,o,t){var e=t(155),s=t(78);g.exports=function(a){return s(a)&&"[object Set]"==e(a)}},function(g,o,t){var e=t(156),s=t(896),a=t(897),l=t(136);g.exports=function(u,h){return h=e(h,u),null==(u=a(u,h))||delete u[l(s(h))]}},function(g,o){g.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},function(g,o,t){var e=t(242),s=t(388);g.exports=function(a,l){return l.length<2?a:e(a,s(l,0,-1))}},function(g,o,t){var e=t(140);g.exports=function(s){return e(s)?void 0:s}},function(g,o,t){var e=t(900),s=t(368),a=t(369);g.exports=function(l){return a(s(l,void 0,e),l+"")}},function(g,o,t){var e=t(901);g.exports=function(s){return null!=s&&s.length?e(s,1):[]}},function(g,o,t){var e=t(240),s=t(902);g.exports=function a(l,u,h,_,m){var b=-1,C=l.length;for(h||(h=s),m||(m=[]);++b<C;){var D=l[b];u>0&&h(D)?u>1?a(D,u-1,h,_,m):e(m,D):_||(m[m.length]=D)}return m}},function(g,o,t){var e=t(133),s=t(151),a=t(52),l=e?e.isConcatSpreadable:void 0;g.exports=function(u){return a(u)||s(u)||!!(l&&u&&u[l])}},function(g,o,t){var e=t(904);g.exports=e},function(g,o,t){var e=t(35),s=t(905),a=String.prototype;g.exports=function(l){var u=l.repeat;return"string"==typeof l||l===a||e(a,l)&&u===a.repeat?s:u}},function(g,o,t){t(906);var e=t(42);g.exports=e("String").repeat},function(g,o,t){t(22)({target:"String",proto:!0},{repeat:t(907)})},function(g,o,t){"use strict";var e=t(17),s=t(129),a=t(67),l=t(113),u=e.RangeError;g.exports=function(h){var _=a(l(this)),m="",b=s(h);if(b<0||b==1/0)throw u("Wrong number of repetitions");for(;b>0;(b>>>=1)&&(_+=_))1&b&&(m+=_);return m}},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.CopyToClipboard=void 0;var e=a(t(0)),s=a(t(909));function a(z){return z&&z.__esModule?z:{default:z}}function l(z){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(U){return typeof U}:function(U){return U&&"function"==typeof Symbol&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U})(z)}function u(z,U){var M=Object.keys(z);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(z);U&&(I=I.filter(function(J){return Object.getOwnPropertyDescriptor(z,J).enumerable})),M.push.apply(M,I)}return M}function _(z,U){if(!(z instanceof U))throw new TypeError("Cannot call a class as a function")}function b(z,U){return!U||"object"!==l(U)&&"function"!=typeof U?D(z):U}function C(z){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(U){return U.__proto__||Object.getPrototypeOf(U)})(z)}function D(z){if(void 0===z)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return z}function x(z,U){return(x=Object.setPrototypeOf||function(M,I){return M.__proto__=I,M})(z,U)}function j(z,U,M){return U in z?Object.defineProperty(z,U,{value:M,enumerable:!0,configurable:!0,writable:!0}):z[U]=M,z}var H=function(z){function U(){var Y,ie;_(this,U);for(var oe=arguments.length,fe=new Array(oe),ne=0;ne<oe;ne++)fe[ne]=arguments[ne];return j(D(ie=b(this,(Y=C(U)).call.apply(Y,[this].concat(fe)))),"onClick",function(he){var ce=ie.props,Ae=ce.text,Me=ce.onCopy,be=ce.options,ue=e.default.Children.only(ce.children),He=(0,s.default)(Ae,be);Me&&Me(Ae,He),ue&&ue.props&&"function"==typeof ue.props.onClick&&ue.props.onClick(he)}),ie}var I;return function(Y,ie){if("function"!=typeof ie&&null!==ie)throw new TypeError("Super expression must either be null or a function");Y.prototype=Object.create(ie&&ie.prototype,{constructor:{value:Y,writable:!0,configurable:!0}}),ie&&x(Y,ie)}(U,z),(I=[{key:"render",value:function(){var Y=this.props,ie=Y.children,oe=function(z,U){if(null==z)return{};var M,I,J=function(ie,oe){if(null==ie)return{};var fe,ne,he={},ce=Object.keys(ie);for(ne=0;ne<ce.length;ne++)oe.indexOf(fe=ce[ne])>=0||(he[fe]=ie[fe]);return he}(z,U);if(Object.getOwnPropertySymbols){var Y=Object.getOwnPropertySymbols(z);for(I=0;I<Y.length;I++)U.indexOf(M=Y[I])>=0||Object.prototype.propertyIsEnumerable.call(z,M)&&(J[M]=z[M])}return J}(Y,["text","onCopy","options","children"]),fe=e.default.Children.only(ie);return e.default.cloneElement(fe,function(ne){for(var he=1;he<arguments.length;he++){var ce=null!=arguments[he]?arguments[he]:{};he%2?u(ce,!0).forEach(function(Ae){j(ne,Ae,ce[Ae])}):Object.getOwnPropertyDescriptors?Object.defineProperties(ne,Object.getOwnPropertyDescriptors(ce)):u(ce).forEach(function(Ae){Object.defineProperty(ne,Ae,Object.getOwnPropertyDescriptor(ce,Ae))})}return ne}({},oe,{onClick:this.onClick}))}}])&&function(z,U){for(var M=0;M<U.length;M++){var I=U[M];I.enumerable=I.enumerable||!1,I.configurable=!0,"value"in I&&(I.writable=!0),Object.defineProperty(z,I.key,I)}}(U.prototype,I),U}(e.default.PureComponent);o.CopyToClipboard=H,j(H,"defaultProps",{onCopy:void 0,options:void 0})},function(g,o,t){"use strict";var e=t(910),s={"text/plain":"Text","text/html":"Url",default:"Text"};g.exports=function(a,l){var u,h,_,m,b,C,H,z,D=!1;l||(l={}),u=l.debug||!1;try{if(_=e(),m=document.createRange(),b=document.getSelection(),(C=document.createElement("span")).textContent=a,C.style.all="unset",C.style.position="fixed",C.style.top=0,C.style.clip="rect(0, 0, 0, 0)",C.style.whiteSpace="pre",C.style.webkitUserSelect="text",C.style.MozUserSelect="text",C.style.msUserSelect="text",C.style.userSelect="text",C.addEventListener("copy",function(x){x.stopPropagation(),l.format&&(x.preventDefault(),void 0===x.clipboardData?(u&&console.warn("unable to use e.clipboardData"),u&&console.warn("trying IE specific stuff"),window.clipboardData.clearData(),window.clipboardData.setData(s[l.format]||s.default,a)):(x.clipboardData.clearData(),x.clipboardData.setData(l.format,a))),l.onCopy&&(x.preventDefault(),l.onCopy(x.clipboardData))}),document.body.appendChild(C),m.selectNodeContents(C),b.addRange(m),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");D=!0}catch(x){u&&console.error("unable to copy using execCommand: ",x),u&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(l.format||"text",a),l.onCopy&&l.onCopy(window.clipboardData),D=!0}catch(j){u&&console.error("unable to copy using clipboardData: ",j),u&&console.error("falling back to prompt"),H="message"in l?l.message:"Copy to clipboard: #{key}, Enter",z=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C",h=H.replace(/#{\s*key\s*}/g,z),window.prompt(h,a)}}finally{b&&("function"==typeof b.removeRange?b.removeRange(m):b.removeAllRanges()),C&&document.body.removeChild(C),_()}return D}},function(g,o){g.exports=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,s=[],a=0;a<t.rangeCount;a++)s.push(t.getRangeAt(a));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null}return t.removeAllRanges(),function(){"Caret"===t.type&&t.removeAllRanges(),t.rangeCount||s.forEach(function(l){t.addRange(l)}),e&&e.focus()}}},function(g,o){function t(Yn){return Yn instanceof Map?Yn.clear=Yn.delete=Yn.set=function(){throw new Error("map is read-only")}:Yn instanceof Set&&(Yn.add=Yn.clear=Yn.delete=function(){throw new Error("set is read-only")}),Object.freeze(Yn),Object.getOwnPropertyNames(Yn).forEach(function(Cn){var Kt=Yn[Cn];"object"!=typeof Kt||Object.isFrozen(Kt)||t(Kt)}),Yn}var e=t;e.default=t;class a{constructor(Cn){void 0===Cn.data&&(Cn.data={}),this.data=Cn.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function l(Yn){return Yn.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function u(Yn,...Cn){const Kt=Object.create(null);for(const dn in Yn)Kt[dn]=Yn[dn];return Cn.forEach(function(dn){for(const Kn in dn)Kt[Kn]=dn[Kn]}),Kt}const h=Yn=>!!Yn.kind;class _{constructor(Cn,Kt){this.buffer="",this.classPrefix=Kt.classPrefix,Cn.walk(this)}addText(Cn){this.buffer+=l(Cn)}openNode(Cn){if(!h(Cn))return;let Kt=Cn.kind;Cn.sublanguage||(Kt=`${this.classPrefix}${Kt}`),this.span(Kt)}closeNode(Cn){h(Cn)&&(this.buffer+="</span>")}value(){return this.buffer}span(Cn){this.buffer+=`<span class="${Cn}">`}}class m{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Cn){this.top.children.push(Cn)}openNode(Cn){const Kt={kind:Cn,children:[]};this.add(Kt),this.stack.push(Kt)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Cn){return this.constructor._walk(Cn,this.rootNode)}static _walk(Cn,Kt){return"string"==typeof Kt?Cn.addText(Kt):Kt.children&&(Cn.openNode(Kt),Kt.children.forEach(dn=>this._walk(Cn,dn)),Cn.closeNode(Kt)),Cn}static _collapse(Cn){"string"!=typeof Cn&&Cn.children&&(Cn.children.every(Kt=>"string"==typeof Kt)?Cn.children=[Cn.children.join("")]:Cn.children.forEach(Kt=>{m._collapse(Kt)}))}}class b extends m{constructor(Cn){super(),this.options=Cn}addKeyword(Cn,Kt){""!==Cn&&(this.openNode(Kt),this.addText(Cn),this.closeNode())}addText(Cn){""!==Cn&&this.add(Cn)}addSublanguage(Cn,Kt){const dn=Cn.root;dn.kind=Kt,dn.sublanguage=!0,this.add(dn)}toHTML(){return new _(this,this.options).value()}finalize(){return!0}}function C(Yn){return Yn?"string"==typeof Yn?Yn:Yn.source:null}const D=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,x="[a-zA-Z]\\w*",j="[a-zA-Z_]\\w*",H="\\b\\d+(\\.\\d+)?",z="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",U="\\b(0b[01]+)",M={begin:"\\\\[\\s\\S]",relevance:0},I={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[M]},J={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[M]},Y={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ie=function(Yn,Cn,Kt={}){const dn=u({className:"comment",begin:Yn,end:Cn,contains:[]},Kt);return dn.contains.push(Y),dn.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),dn},oe=ie("//","$"),fe=ie("/\\*","\\*/"),ne=ie("#","$");var $e=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:x,UNDERSCORE_IDENT_RE:j,NUMBER_RE:H,C_NUMBER_RE:z,BINARY_NUMBER_RE:U,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(Yn={})=>{const Cn=/^#![ ]*\//;return Yn.binary&&(Yn.begin=function(...Kt){return Kt.map(dn=>C(dn)).join("")}(Cn,/.*\b/,Yn.binary,/\b.*/)),u({className:"meta",begin:Cn,end:/$/,relevance:0,"on:begin":(Kt,dn)=>{0!==Kt.index&&dn.ignoreMatch()}},Yn)},BACKSLASH_ESCAPE:M,APOS_STRING_MODE:I,QUOTE_STRING_MODE:J,PHRASAL_WORDS_MODE:Y,COMMENT:ie,C_LINE_COMMENT_MODE:oe,C_BLOCK_COMMENT_MODE:fe,HASH_COMMENT_MODE:ne,NUMBER_MODE:{className:"number",begin:H,relevance:0},C_NUMBER_MODE:{className:"number",begin:z,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:U,relevance:0},CSS_NUMBER_MODE:{className:"number",begin:H+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[M,{begin:/\[/,end:/\]/,relevance:0,contains:[M]}]}]},TITLE_MODE:{className:"title",begin:x,relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:j,relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(Yn){return Object.assign(Yn,{"on:begin":(Cn,Kt)=>{Kt.data._beginMatch=Cn[1]},"on:end":(Cn,Kt)=>{Kt.data._beginMatch!==Cn[1]&&Kt.ignoreMatch()}})}});function F(Yn,Cn){"."===Yn.input[Yn.index-1]&&Cn.ignoreMatch()}function je(Yn,Cn){Cn&&Yn.beginKeywords&&(Yn.begin="\\b("+Yn.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Yn.__beforeBegin=F,Yn.keywords=Yn.keywords||Yn.beginKeywords,delete Yn.beginKeywords,void 0===Yn.relevance&&(Yn.relevance=0))}function Et(Yn,Cn){Array.isArray(Yn.illegal)&&(Yn.illegal=function(...Kt){return"("+Kt.map(dn=>C(dn)).join("|")+")"}(...Yn.illegal))}function lt(Yn,Cn){if(Yn.match){if(Yn.begin||Yn.end)throw new Error("begin & end are not supported with match");Yn.begin=Yn.match,delete Yn.match}}function nn(Yn,Cn){void 0===Yn.relevance&&(Yn.relevance=1)}const St=["of","and","for","in","not","or","if","then","parent","list","value"];function At(Yn,Cn,Kt="keyword"){const dn={};return"string"==typeof Yn?Kn(Kt,Yn.split(" ")):Array.isArray(Yn)?Kn(Kt,Yn):Object.keys(Yn).forEach(function(qn){Object.assign(dn,At(Yn[qn],Cn,qn))}),dn;function Kn(qn,Sn){Cn&&(Sn=Sn.map($n=>$n.toLowerCase())),Sn.forEach(function($n){const En=$n.split("|");dn[En[0]]=[qn,Qe(En[0],En[1])]})}}function Qe(Yn,Cn){return Cn?Number(Cn):St.includes(Yn.toLowerCase())?0:1}function It(Yn,{}){function Kt(qn,Sn){return new RegExp(C(qn),"m"+(Yn.case_insensitive?"i":"")+(Sn?"g":""))}class dn{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Sn,$n){$n.position=this.position++,this.matchIndexes[this.matchAt]=$n,this.regexes.push([$n,Sn]),this.matchAt+=new RegExp(Sn.toString()+"|").exec("").length-1+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const Sn=this.regexes.map($n=>$n[1]);this.matcherRe=Kt(function($n,En="|"){let Fn=0;return $n.map(Dn=>{Fn+=1;const mn=Fn;let jn=C(Dn),Xt="";for(;jn.length>0;){const ut=D.exec(jn);if(!ut){Xt+=jn;break}Xt+=jn.substring(0,ut.index),jn=jn.substring(ut.index+ut[0].length),"\\"===ut[0][0]&&ut[1]?Xt+="\\"+String(Number(ut[1])+mn):(Xt+=ut[0],"("===ut[0]&&Fn++)}return Xt}).map(Dn=>`(${Dn})`).join(En)}(Sn),!0),this.lastIndex=0}exec(Sn){this.matcherRe.lastIndex=this.lastIndex;const $n=this.matcherRe.exec(Sn);if(!$n)return null;const En=$n.findIndex((Dn,mn)=>mn>0&&void 0!==Dn),Fn=this.matchIndexes[En];return $n.splice(0,En),Object.assign($n,Fn)}}class Kn{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Sn){if(this.multiRegexes[Sn])return this.multiRegexes[Sn];const $n=new dn;return this.rules.slice(Sn).forEach(([En,Fn])=>$n.addRule(En,Fn)),$n.compile(),this.multiRegexes[Sn]=$n,$n}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(Sn,$n){this.rules.push([Sn,$n]),"begin"===$n.type&&this.count++}exec(Sn){const $n=this.getMatcher(this.regexIndex);$n.lastIndex=this.lastIndex;let En=$n.exec(Sn);if(this.resumingScanAtSamePosition()&&(!En||En.index!==this.lastIndex)){const Fn=this.getMatcher(0);Fn.lastIndex=this.lastIndex+1,En=Fn.exec(Sn)}return En&&(this.regexIndex+=En.position+1,this.regexIndex===this.count&&this.considerAll()),En}}if(Yn.compilerExtensions||(Yn.compilerExtensions=[]),Yn.contains&&Yn.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Yn.classNameAliases=u(Yn.classNameAliases||{}),function qn(Sn,$n){const En=Sn;if(Sn.isCompiled)return En;[lt].forEach(Dn=>Dn(Sn,$n)),Yn.compilerExtensions.forEach(Dn=>Dn(Sn,$n)),Sn.__beforeBegin=null,[je,Et,nn].forEach(Dn=>Dn(Sn,$n)),Sn.isCompiled=!0;let Fn=null;if("object"==typeof Sn.keywords&&(Fn=Sn.keywords.$pattern,delete Sn.keywords.$pattern),Sn.keywords&&(Sn.keywords=At(Sn.keywords,Yn.case_insensitive)),Sn.lexemes&&Fn)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return Fn=Fn||Sn.lexemes||/\w+/,En.keywordPatternRe=Kt(Fn,!0),$n&&(Sn.begin||(Sn.begin=/\B|\b/),En.beginRe=Kt(Sn.begin),Sn.endSameAsBegin&&(Sn.end=Sn.begin),Sn.end||Sn.endsWithParent||(Sn.end=/\B|\b/),Sn.end&&(En.endRe=Kt(Sn.end)),En.terminatorEnd=C(Sn.end)||"",Sn.endsWithParent&&$n.terminatorEnd&&(En.terminatorEnd+=(Sn.end?"|":"")+$n.terminatorEnd)),Sn.illegal&&(En.illegalRe=Kt(Sn.illegal)),Sn.contains||(Sn.contains=[]),Sn.contains=[].concat(...Sn.contains.map(function(Dn){return(mn="self"===Dn?Sn:Dn).variants&&!mn.cachedVariants&&(mn.cachedVariants=mn.variants.map(function(jn){return u(mn,{variants:null},jn)})),mn.cachedVariants?mn.cachedVariants:ae(mn)?u(mn,{starts:mn.starts?u(mn.starts):null}):Object.isFrozen(mn)?u(mn):mn;var mn})),Sn.contains.forEach(function(Dn){qn(Dn,En)}),Sn.starts&&qn(Sn.starts,$n),En.matcher=function(Dn){const mn=new Kn;return Dn.contains.forEach(jn=>mn.addRule(jn.begin,{rule:jn,type:"begin"})),Dn.terminatorEnd&&mn.addRule(Dn.terminatorEnd,{type:"end"}),Dn.illegal&&mn.addRule(Dn.illegal,{type:"illegal"}),mn}(En),En}(Yn)}function ae(Yn){return!!Yn&&(Yn.endsWithParent||ae(Yn.starts))}function Ie(Yn){const Cn={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!Yn.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,l(this.code);let Kt={};return this.autoDetect?(Kt=Yn.highlightAuto(this.code),this.detectedLanguage=Kt.language):(Kt=Yn.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),Kt.value},autoDetect(){return!this.language||(Kt=this.autodetect,Boolean(Kt||""===Kt));var Kt},ignoreIllegals:()=>!0},render(Kt){return Kt("pre",{},[Kt("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:Cn,VuePlugin:{install(Kt){Kt.component("highlightjs",Cn)}}}}const dt={"after:highlightElement":({el:Yn,result:Cn,text:Kt})=>{const dn=zt(Yn);if(!dn.length)return;const Kn=document.createElement("div");Kn.innerHTML=Cn.value,Cn.value=function(qn,Sn,$n){let En=0,Fn="";const Dn=[];function mn(){return qn.length&&Sn.length?qn[0].offset!==Sn[0].offset?qn[0].offset<Sn[0].offset?qn:Sn:"start"===Sn[0].event?qn:Sn:qn.length?qn:Sn}function jn(mt){Fn+="<"+Jt(mt)+[].map.call(mt.attributes,function(yn){return" "+yn.nodeName+'="'+l(yn.value)+'"'}).join("")+">"}function Xt(mt){Fn+="</"+Jt(mt)+">"}function ut(mt){("start"===mt.event?jn:Xt)(mt.node)}for(;qn.length||Sn.length;){let mt=mn();if(Fn+=l($n.substring(En,mt[0].offset)),En=mt[0].offset,mt===qn){Dn.reverse().forEach(Xt);do{ut(mt.splice(0,1)[0]),mt=mn()}while(mt===qn&&mt.length&&mt[0].offset===En);Dn.reverse().forEach(jn)}else"start"===mt[0].event?Dn.push(mt[0].node):Dn.pop(),ut(mt.splice(0,1)[0])}return Fn+l($n.substr(En))}(dn,zt(Kn),Kt)}};function Jt(Yn){return Yn.nodeName.toLowerCase()}function zt(Yn){const Cn=[];return function Kt(dn,Kn){for(let qn=dn.firstChild;qn;qn=qn.nextSibling)3===qn.nodeType?Kn+=qn.nodeValue.length:1===qn.nodeType&&(Cn.push({event:"start",offset:Kn,node:qn}),Kn=Kt(qn,Kn),Jt(qn).match(/br|hr|img|input/)||Cn.push({event:"stop",offset:Kn,node:qn}));return Kn}(Yn,0),Cn}const ln={},ar=Yn=>{console.error(Yn)},Ln=(Yn,...Cn)=>{console.log(`WARN: ${Yn}`,...Cn)},Rn=(Yn,Cn)=>{ln[`${Yn}/${Cn}`]||(console.log(`Deprecated as of ${Yn}. ${Cn}`),ln[`${Yn}/${Cn}`]=!0)},er=l,Mn=u,Ht=Symbol("nomatch");var tr=function(Yn){const Cn=Object.create(null),Kt=Object.create(null),dn=[];let Kn=!0;const qn=/(^(<[^>]+>|\t|)+|\n)/gm,Sn="Could not find the language '{}', did you forget to load/include a language module?",$n={disableAutodetect:!0,name:"Plain text",contains:[]};let En={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:b};function Fn(L){return En.noHighlightRe.test(L)}function Dn(L,Ue,nt,at){let it="",Pt="";"object"==typeof Ue?(it=L,nt=Ue.ignoreIllegals,Pt=Ue.language,at=void 0):(Rn("10.7.0","highlight(lang, code, ...args) has been deprecated."),Rn("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),Pt=L,it=Ue);const Ut={code:it,language:Pt};ht("before:highlight",Ut);const ot=Ut.result?Ut.result:mn(Ut.language,Ut.code,nt,at);return ot.code=Ut.code,ht("after:highlight",ot),ot}function mn(L,Ue,nt,at){function it(Kr,ei){const di=mr.case_insensitive?ei[0].toLowerCase():ei[0];return Object.prototype.hasOwnProperty.call(Kr.keywords,di)&&Kr.keywords[di]}function Pt(){null!=br.subLanguage?function(){if(""===Mr)return;let Kr=null;if("string"==typeof br.subLanguage){if(!Cn[br.subLanguage])return void nr.addText(Mr);Kr=mn(br.subLanguage,Mr,!0,Jn[br.subLanguage]),Jn[br.subLanguage]=Kr.top}else Kr=jn(Mr,br.subLanguage.length?br.subLanguage:null);br.relevance>0&&(yi+=Kr.relevance),nr.addSublanguage(Kr.emitter,Kr.language)}():function(){if(!br.keywords)return void nr.addText(Mr);let Kr=0;br.keywordPatternRe.lastIndex=0;let ei=br.keywordPatternRe.exec(Mr),di="";for(;ei;){di+=Mr.substring(Kr,ei.index);const se=it(br,ei);if(se){const[ct,Ke]=se;nr.addText(di),di="",yi+=Ke,ct.startsWith("_")?di+=ei[0]:nr.addKeyword(ei[0],mr.classNameAliases[ct]||ct)}else di+=ei[0];Kr=br.keywordPatternRe.lastIndex,ei=br.keywordPatternRe.exec(Mr)}di+=Mr.substr(Kr),nr.addText(di)}(),Mr=""}function Ut(Kr){return Kr.className&&nr.openNode(mr.classNameAliases[Kr.className]||Kr.className),br=Object.create(Kr,{parent:{value:br}}),br}function ot(Kr,ei,di){let se=function(ct,Ke){const Xe=ct&&ct.exec(Ke);return Xe&&0===Xe.index}(Kr.endRe,di);if(se){if(Kr["on:end"]){const ct=new a(Kr);Kr["on:end"](ei,ct),ct.isMatchIgnored&&(se=!1)}if(se){for(;Kr.endsParent&&Kr.parent;)Kr=Kr.parent;return Kr}}if(Kr.endsWithParent)return ot(Kr.parent,ei,di)}function Nn(Kr){return 0===br.matcher.regexIndex?(Mr+=Kr[0],1):(Oi=!0,0)}function An(Kr){const ei=Kr[0],di=Ue.substr(Kr.index),se=ot(br,Kr,di);if(!se)return Ht;const ct=br;ct.skip?Mr+=ei:(ct.returnEnd||ct.excludeEnd||(Mr+=ei),Pt(),ct.excludeEnd&&(Mr=ei));do{br.className&&nr.closeNode(),br.skip||br.subLanguage||(yi+=br.relevance),br=br.parent}while(br!==se.parent);return se.starts&&(se.endSameAsBegin&&(se.starts.endRe=se.endRe),Ut(se.starts)),ct.returnEnd?0:ei.length}let Bn={};function ir(Kr,ei){const di=ei&&ei[0];if(Mr+=Kr,null==di)return Pt(),0;if("begin"===Bn.type&&"end"===ei.type&&Bn.index===ei.index&&""===di){if(Mr+=Ue.slice(ei.index,ei.index+1),!Kn){const se=new Error("0 width match regex");throw se.languageName=L,se.badRule=Bn.rule,se}return 1}if(Bn=ei,"begin"===ei.type)return function(Kr){const ei=Kr[0],di=Kr.rule,se=new a(di),ct=[di.__beforeBegin,di["on:begin"]];for(const Ke of ct)if(Ke&&(Ke(Kr,se),se.isMatchIgnored))return Nn(ei);return di&&di.endSameAsBegin&&(di.endRe=new RegExp(ei.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),di.skip?Mr+=ei:(di.excludeBegin&&(Mr+=ei),Pt(),di.returnBegin||di.excludeBegin||(Mr=ei)),Ut(di),di.returnBegin?0:ei.length}(ei);if("illegal"===ei.type&&!nt){const se=new Error('Illegal lexeme "'+di+'" for mode "'+(br.className||"<unnamed>")+'"');throw se.mode=br,se}if("end"===ei.type){const se=An(ei);if(se!==Ht)return se}if("illegal"===ei.type&&""===di)return 1;if(Mi>1e5&&Mi>3*ei.index)throw new Error("potential infinite loop, way more iterations than matches");return Mr+=di,di.length}const mr=hn(L);if(!mr)throw ar(Sn.replace("{}",L)),new Error('Unknown language: "'+L+'"');const _r=It(mr,{plugins:dn});let Nr="",br=at||_r;const Jn={},nr=new En.__emitter(En);!function(){const Kr=[];for(let ei=br;ei!==mr;ei=ei.parent)ei.className&&Kr.unshift(ei.className);Kr.forEach(ei=>nr.openNode(ei))}();let Mr="",yi=0,Ii=0,Mi=0,Oi=!1;try{for(br.matcher.considerAll();;){Mi++,Oi?Oi=!1:br.matcher.considerAll(),br.matcher.lastIndex=Ii;const Kr=br.matcher.exec(Ue);if(!Kr)break;const ei=ir(Ue.substring(Ii,Kr.index),Kr);Ii=Kr.index+ei}return ir(Ue.substr(Ii)),nr.closeAllNodes(),nr.finalize(),Nr=nr.toHTML(),{relevance:Math.floor(yi),value:Nr,language:L,illegal:!1,emitter:nr,top:br}}catch(Kr){if(Kr.message&&Kr.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:Kr.message,context:Ue.slice(Ii-100,Ii+100),mode:Kr.mode},sofar:Nr,relevance:0,value:er(Ue),emitter:nr};if(Kn)return{illegal:!1,relevance:0,value:er(Ue),emitter:nr,language:L,top:br,errorRaised:Kr};throw Kr}}function jn(L,Ue){Ue=Ue||En.languages||Object.keys(Cn);const nt=function(Nn){const sn={relevance:0,emitter:new En.__emitter(En),value:er(Nn),illegal:!1,top:$n};return sn.emitter.addText(Nn),sn}(L),at=Ue.filter(hn).filter(Ir).map(Nn=>mn(Nn,L,!1));at.unshift(nt);const it=at.sort((Nn,sn)=>{if(Nn.relevance!==sn.relevance)return sn.relevance-Nn.relevance;if(Nn.language&&sn.language){if(hn(Nn.language).supersetOf===sn.language)return 1;if(hn(sn.language).supersetOf===Nn.language)return-1}return 0}),[Pt,Ut]=it,ot=Pt;return ot.second_best=Ut,ot}const Xt={"before:highlightElement":({el:L})=>{En.useBR&&(L.innerHTML=L.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:L})=>{En.useBR&&(L.value=L.value.replace(/\n/g,"<br>"))}},ut=/^(<[^>]+>|\t)+/gm,mt={"after:highlightElement":({result:L})=>{En.tabReplace&&(L.value=L.value.replace(ut,Ue=>Ue.replace(/\t/g,En.tabReplace)))}};function Tt(L){let Ue=null;const nt=function(Pt){let Ut=Pt.className+" ";Ut+=Pt.parentNode?Pt.parentNode.className:"";const ot=En.languageDetectRe.exec(Ut);if(ot){const Nn=hn(ot[1]);return Nn||(Ln(Sn.replace("{}",ot[1])),Ln("Falling back to no-highlight mode for this block.",Pt)),Nn?ot[1]:"no-highlight"}return Ut.split(/\s+/).find(Nn=>Fn(Nn)||hn(Nn))}(L);if(Fn(nt))return;ht("before:highlightElement",{el:L,language:nt}),Ue=L;const at=Ue.textContent,it=nt?Dn(at,{language:nt,ignoreIllegals:!0}):jn(at);ht("after:highlightElement",{el:L,result:it,text:at}),L.innerHTML=it.value,function(Pt,Ut,ot){const Nn=Ut?Kt[Ut]:ot;Pt.classList.add("hljs"),Nn&&Pt.classList.add(Nn)}(L,nt,it.language),L.result={language:it.language,re:it.relevance,relavance:it.relevance},it.second_best&&(L.second_best={language:it.second_best.language,re:it.second_best.relevance,relavance:it.second_best.relevance})}const yn=()=>{yn.called||(yn.called=!0,Rn("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."),document.querySelectorAll("pre code").forEach(Tt))};let et=!1;function jt(){"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(Tt):et=!0}function hn(L){return L=(L||"").toLowerCase(),Cn[L]||Cn[Kt[L]]}function Qn(L,{languageName:Ue}){"string"==typeof L&&(L=[L]),L.forEach(nt=>{Kt[nt.toLowerCase()]=Ue})}function Ir(L){const Ue=hn(L);return Ue&&!Ue.disableAutodetect}function ht(L,Ue){const nt=L;dn.forEach(function(at){at[nt]&&at[nt](Ue)})}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",function(){et&&jt()},!1),Object.assign(Yn,{highlight:Dn,highlightAuto:jn,highlightAll:jt,fixMarkup:function(L){return Rn("10.2.0","fixMarkup will be removed entirely in v11.0"),Rn("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),Ue=L,En.tabReplace||En.useBR?Ue.replace(qn,nt=>"\n"===nt?En.useBR?"<br>":nt:En.tabReplace?nt.replace(/\t/g,En.tabReplace):nt):Ue;var Ue},highlightElement:Tt,highlightBlock:function(L){return Rn("10.7.0","highlightBlock will be removed entirely in v12.0"),Rn("10.7.0","Please use highlightElement now."),Tt(L)},configure:function(L){L.useBR&&(Rn("10.3.0","'useBR' will be removed entirely in v11.0"),Rn("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),En=Mn(En,L)},initHighlighting:yn,initHighlightingOnLoad:function(){Rn("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),et=!0},registerLanguage:function(L,Ue){let nt=null;try{nt=Ue(Yn)}catch(at){if(ar("Language definition for '{}' could not be registered.".replace("{}",L)),!Kn)throw at;ar(at),nt=$n}nt.name||(nt.name=L),Cn[L]=nt,nt.rawDefinition=Ue.bind(null,Yn),nt.aliases&&Qn(nt.aliases,{languageName:L})},unregisterLanguage:function(L){delete Cn[L];for(const Ue of Object.keys(Kt))Kt[Ue]===L&&delete Kt[Ue]},listLanguages:function(){return Object.keys(Cn)},getLanguage:hn,registerAliases:Qn,requireLanguage:function(L){Rn("10.4.0","requireLanguage will be removed entirely in v11."),Rn("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const Ue=hn(L);if(Ue)return Ue;throw new Error("The '{}' language is required, but not loaded.".replace("{}",L))},autoDetection:Ir,inherit:Mn,addPlugin:function(L){var Ue;(Ue=L)["before:highlightBlock"]&&!Ue["before:highlightElement"]&&(Ue["before:highlightElement"]=nt=>{Ue["before:highlightBlock"](Object.assign({block:nt.el},nt))}),Ue["after:highlightBlock"]&&!Ue["after:highlightElement"]&&(Ue["after:highlightElement"]=nt=>{Ue["after:highlightBlock"](Object.assign({block:nt.el},nt))}),dn.push(L)},vuePlugin:Ie(Yn).VuePlugin}),Yn.debugMode=function(){Kn=!1},Yn.safeMode=function(){Kn=!0},Yn.versionString="10.7.3";for(const L in $e)"object"==typeof $e[L]&&e($e[L]);return Object.assign(Yn,$e),Yn.addPlugin(Xt),Yn.addPlugin(dt),Yn.addPlugin(mt),Yn}({});g.exports=tr},function(g,o,t){"use strict";var e=t(913),s=a(Error);function a(l){return u.displayName=l.displayName||l.name,u;function u(h){return h&&(h=e.apply(null,arguments)),new l(h)}}g.exports=s,s.eval=a(EvalError),s.range=a(RangeError),s.reference=a(ReferenceError),s.syntax=a(SyntaxError),s.type=a(TypeError),s.uri=a(URIError),s.create=a},function(g,o,t){!function(){var e;function s(a){for(var l,u,h,_,m=1,b=[].slice.call(arguments),C=0,D=a.length,x="",j=!1,H=!1,z=function(){return b[m++]},U=function(){for(var M="";/\d/.test(a[C]);)M+=a[C++],l=a[C];return M.length>0?parseInt(M):null};C<D;++C)if(l=a[C],j)switch(j=!1,"."==l?(H=!1,l=a[++C]):"0"==l&&"."==a[C+1]?(H=!0,l=a[C+=2]):H=!0,_=U(),l){case"b":x+=parseInt(z(),10).toString(2);break;case"c":x+="string"==typeof(u=z())||u instanceof String?u:String.fromCharCode(parseInt(u,10));break;case"d":x+=parseInt(z(),10);break;case"f":h=String(parseFloat(z()).toFixed(_||6)),x+=H?h:h.replace(/^0/,"");break;case"j":x+=JSON.stringify(z());break;case"o":x+="0"+parseInt(z(),10).toString(8);break;case"s":x+=z();break;case"x":x+="0x"+parseInt(z(),10).toString(16);break;case"X":x+="0x"+parseInt(z(),10).toString(16).toUpperCase();break;default:x+=l}else"%"===l?j=!0:x+=l;return x}(e=g.exports=s).format=s,e.vsprintf=function(a,l){return s.apply(null,[a].concat(l))},"undefined"!=typeof console&&"function"==typeof console.log&&(e.printf=function(){console.log(s.apply(null,arguments))})}()},function(g,o){g.exports=function(t,e){if(null==t)return{};var s,a,l={},u=Object.keys(t);for(a=0;a<u.length;a++)e.indexOf(s=u[a])>=0||(l[s]=t[s]);return l},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(441);g.exports=function(s){if(Array.isArray(s))return e(s)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(441);g.exports=function(s,a){if(s){if("string"==typeof s)return e(s,a);var l=Object.prototype.toString.call(s).slice(8,-1);return"Object"===l&&s.constructor&&(l=s.constructor.name),"Map"===l||"Set"===l?Array.from(s):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?e(s,a):void 0}},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o){g.exports=function(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t},g.exports.default=g.exports,g.exports.__esModule=!0},function(g,o,t){var e=t(921);g.exports=e},function(g,o,t){t(922);var e=t(34);g.exports=e.Object.entries},function(g,o,t){var e=t(22),s=t(435).entries;e({target:"Object",stat:!0},{entries:function(a){return s(a)}})},function(g,o,t){"use strict";var e=t(924),s=t(443),a=t(252),l=Object.prototype.hasOwnProperty,u={brackets:function(j){return j+"[]"},comma:"comma",indices:function(j,H){return j+"["+H+"]"},repeat:function(j){return j}},h=Array.isArray,_=Array.prototype.push,m=function(j,H){_.apply(j,h(H)?H:[H])},b=Date.prototype.toISOString,C=a.default,D={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:s.encode,encodeValuesOnly:!1,format:C,formatter:a.formatters[C],indices:!1,serializeDate:function(j){return b.call(j)},skipNulls:!1,strictNullHandling:!1},x=function j(H,z,U,M,I,J,Y,ie,oe,fe,ne,he,ce,Ae,Me){var Oe,be=H;if(Me.has(H))throw new RangeError("Cyclic object value");if("function"==typeof Y?be=Y(z,be):be instanceof Date?be=fe(be):"comma"===U&&h(be)&&(be=s.maybeMap(be,function(St){return St instanceof Date?fe(St):St})),null===be){if(M)return J&&!ce?J(z,D.encoder,Ae,"key",ne):z;be=""}if("string"==typeof(Oe=be)||"number"==typeof Oe||"boolean"==typeof Oe||"symbol"==typeof Oe||"bigint"==typeof Oe||s.isBuffer(be))return J?[he(ce?z:J(z,D.encoder,Ae,"key",ne))+"="+he(J(be,D.encoder,Ae,"value",ne))]:[he(z)+"="+he(String(be))];var ue,He=[];if(void 0===be)return He;if("comma"===U&&h(be))ue=[{value:be.length>0?be.join(",")||null:void 0}];else if(h(Y))ue=Y;else{var $e=Object.keys(be);ue=ie?$e.sort(ie):$e}for(var F=0;F<ue.length;++F){var je=ue[F],Et="object"==typeof je&&void 0!==je.value?je.value:be[je];if(!I||null!==Et){var lt=h(be)?"function"==typeof U?U(z,je):z:z+(oe?"."+je:"["+je+"]");Me.set(H,!0);var nn=e();m(He,j(Et,lt,U,M,I,J,Y,ie,oe,fe,ne,he,ce,Ae,nn))}}return He};g.exports=function(j,H){var z,U=j,M=function(ce){if(!ce)return D;if(null!=ce.encoder&&"function"!=typeof ce.encoder)throw new TypeError("Encoder has to be a function.");var Ae=ce.charset||D.charset;if(void 0!==ce.charset&&"utf-8"!==ce.charset&&"iso-8859-1"!==ce.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var Me=a.default;if(void 0!==ce.format){if(!l.call(a.formatters,ce.format))throw new TypeError("Unknown format option provided.");Me=ce.format}var Oe=a.formatters[Me],be=D.filter;return("function"==typeof ce.filter||h(ce.filter))&&(be=ce.filter),{addQueryPrefix:"boolean"==typeof ce.addQueryPrefix?ce.addQueryPrefix:D.addQueryPrefix,allowDots:void 0===ce.allowDots?D.allowDots:!!ce.allowDots,charset:Ae,charsetSentinel:"boolean"==typeof ce.charsetSentinel?ce.charsetSentinel:D.charsetSentinel,delimiter:void 0===ce.delimiter?D.delimiter:ce.delimiter,encode:"boolean"==typeof ce.encode?ce.encode:D.encode,encoder:"function"==typeof ce.encoder?ce.encoder:D.encoder,encodeValuesOnly:"boolean"==typeof ce.encodeValuesOnly?ce.encodeValuesOnly:D.encodeValuesOnly,filter:be,format:Me,formatter:Oe,serializeDate:"function"==typeof ce.serializeDate?ce.serializeDate:D.serializeDate,skipNulls:"boolean"==typeof ce.skipNulls?ce.skipNulls:D.skipNulls,sort:"function"==typeof ce.sort?ce.sort:null,strictNullHandling:"boolean"==typeof ce.strictNullHandling?ce.strictNullHandling:D.strictNullHandling}}(H);"function"==typeof M.filter?U=(0,M.filter)("",U):h(M.filter)&&(z=M.filter);var J=[];if("object"!=typeof U||null===U)return"";var Y=u[H&&H.arrayFormat in u?H.arrayFormat:H&&"indices"in H?H.indices?"indices":"repeat":"indices"];z||(z=Object.keys(U)),M.sort&&z.sort(M.sort);for(var ie=e(),oe=0;oe<z.length;++oe){var fe=z[oe];M.skipNulls&&null===U[fe]||m(J,x(U[fe],fe,Y,M.strictNullHandling,M.skipNulls,M.encode?M.encoder:null,M.filter,M.sort,M.allowDots,M.serializeDate,M.format,M.formatter,M.encodeValuesOnly,M.charset,ie))}var ne=J.join(M.delimiter),he=!0===M.addQueryPrefix?"?":"";return M.charsetSentinel&&(he+="iso-8859-1"===M.charset?"utf8=%26%2310003%3B&":"utf8=%E2%9C%93&"),ne.length>0?he+ne:""}},function(g,o,t){"use strict";var e=t(250),s=t(929),a=t(931),l=e("%TypeError%"),u=e("%WeakMap%",!0),h=e("%Map%",!0),_=s("WeakMap.prototype.get",!0),m=s("WeakMap.prototype.set",!0),b=s("WeakMap.prototype.has",!0),C=s("Map.prototype.get",!0),D=s("Map.prototype.set",!0),x=s("Map.prototype.has",!0),j=function(H,z){for(var U,M=H;null!==(U=M.next);M=U)if(U.key===z)return M.next=U.next,U.next=H.next,H.next=U,U};g.exports=function(){var H,z,U,M={assert:function(I){if(!M.has(I))throw new l("Side channel does not contain "+a(I))},get:function(I){if(u&&I&&("object"==typeof I||"function"==typeof I)){if(H)return _(H,I)}else if(h){if(z)return C(z,I)}else if(U)return(ie=j(U,I))&&ie.value;var ie},has:function(I){if(u&&I&&("object"==typeof I||"function"==typeof I)){if(H)return b(H,I)}else if(h){if(z)return x(z,I)}else if(U)return!!j(U,I);return!1},set:function(I,J){var Y,ie,oe,fe;u&&I&&("object"==typeof I||"function"==typeof I)?(H||(H=new u),m(H,I,J)):h?(z||(z=new h),D(z,I,J)):(U||(U={key:{},next:null}),oe=J,(fe=j(Y=U,ie=I))?fe.value=oe:Y.next={key:ie,next:Y.next,value:oe})}};return M}},function(g,o,t){"use strict";var e="undefined"!=typeof Symbol&&Symbol,s=t(926);g.exports=function(){return"function"==typeof e&&"function"==typeof Symbol&&"symbol"==typeof e("foo")&&"symbol"==typeof Symbol("bar")&&s()}},function(g,o,t){"use strict";g.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},s=Symbol("test"),a=Object(s);if("string"==typeof s||"[object Symbol]"!==Object.prototype.toString.call(s)||"[object Symbol]"!==Object.prototype.toString.call(a))return!1;for(s in e[s]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var l=Object.getOwnPropertySymbols(e);if(1!==l.length||l[0]!==s||!Object.prototype.propertyIsEnumerable.call(e,s))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var u=Object.getOwnPropertyDescriptor(e,s);if(42!==u.value||!0!==u.enumerable)return!1}return!0}},function(g,o,t){"use strict";var e="Function.prototype.bind called on incompatible ",s=Array.prototype.slice,a=Object.prototype.toString,l="[object Function]";g.exports=function(u){var h=this;if("function"!=typeof h||a.call(h)!==l)throw new TypeError(e+h);for(var _,m=s.call(arguments,1),b=function(){if(this instanceof _){var H=h.apply(this,m.concat(s.call(arguments)));return Object(H)===H?H:this}return h.apply(u,m.concat(s.call(arguments)))},C=Math.max(0,h.length-m.length),D=[],x=0;x<C;x++)D.push("$"+x);if(_=Function("binder","return function ("+D.join(",")+"){ return binder.apply(this,arguments); }")(b),h.prototype){var j=function(){};j.prototype=h.prototype,_.prototype=new j,j.prototype=null}return _}},function(g,o,t){"use strict";var e=t(251);g.exports=e.call(Function.call,Object.prototype.hasOwnProperty)},function(g,o,t){"use strict";var e=t(250),s=t(930),a=s(e("String.prototype.indexOf"));g.exports=function(l,u){var h=e(l,!!u);return"function"==typeof h&&a(l,".prototype.")>-1?s(h):h}},function(g,o,t){"use strict";var e=t(251),s=t(250),a=s("%Function.prototype.apply%"),l=s("%Function.prototype.call%"),u=s("%Reflect.apply%",!0)||e.call(l,a),h=s("%Object.getOwnPropertyDescriptor%",!0),_=s("%Object.defineProperty%",!0),m=s("%Math.max%");if(_)try{_({},"a",{value:1})}catch(C){_=null}g.exports=function(C){var D=u(e,l,arguments);if(h&&_){var x=h(D,"length");x.configurable&&_(D,"length",{value:1+m(0,C.length-(arguments.length-1))})}return D};var b=function(){return u(e,a,arguments)};_?_(g.exports,"apply",{value:b}):g.exports.apply=b},function(g,o,t){var e="function"==typeof Map&&Map.prototype,s=Object.getOwnPropertyDescriptor&&e?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,a=e&&s&&"function"==typeof s.get?s.get:null,l=e&&Map.prototype.forEach,u="function"==typeof Set&&Set.prototype,h=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,_=u&&h&&"function"==typeof h.get?h.get:null,m=u&&Set.prototype.forEach,b="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,C="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,D="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,x=Boolean.prototype.valueOf,j=Object.prototype.toString,H=Function.prototype.toString,z=String.prototype.match,U="function"==typeof BigInt?BigInt.prototype.valueOf:null,M=Object.getOwnPropertySymbols,I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,J="function"==typeof Symbol&&"object"==typeof Symbol.iterator,Y=Object.prototype.propertyIsEnumerable,ie=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(At){return At.__proto__}:null),oe=t(932).custom,fe=oe&&Me(oe)?oe:null,ne="function"==typeof Symbol&&void 0!==Symbol.toStringTag?Symbol.toStringTag:null;function he(At,Qe,It){var ae="double"===(It.quoteStyle||Qe)?'"':"'";return ae+At+ae}function ce(At){return String(At).replace(/"/g,""")}function Ae(At){return!("[object Array]"!==ue(At)||ne&&"object"==typeof At&&ne in At)}function Me(At){if(J)return At&&"object"==typeof At&&At instanceof Symbol;if("symbol"==typeof At)return!0;if(!At||"object"!=typeof At||!I)return!1;try{return I.call(At),!0}catch(Qe){}return!1}g.exports=function At(Qe,It,ae,Ie){var dt=It||{};if(be(dt,"quoteStyle")&&"single"!==dt.quoteStyle&&"double"!==dt.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(be(dt,"maxStringLength")&&("number"==typeof dt.maxStringLength?dt.maxStringLength<0&&dt.maxStringLength!==1/0:null!==dt.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Jt=!be(dt,"customInspect")||dt.customInspect;if("boolean"!=typeof Jt&&"symbol"!==Jt)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(be(dt,"indent")&&null!==dt.indent&&"\t"!==dt.indent&&!(parseInt(dt.indent,10)===dt.indent&&dt.indent>0))throw new TypeError('options "indent" must be "\\t", an integer > 0, or `null`');if(void 0===Qe)return"undefined";if(null===Qe)return"null";if("boolean"==typeof Qe)return Qe?"true":"false";if("string"==typeof Qe)return $e(Qe,dt);if("number"==typeof Qe)return 0===Qe?1/0/Qe>0?"0":"-0":String(Qe);if("bigint"==typeof Qe)return String(Qe)+"n";var zt=void 0===dt.depth?5:dt.depth;if(void 0===ae&&(ae=0),ae>=zt&&zt>0&&"object"==typeof Qe)return Ae(Qe)?"[Array]":"[Object]";var Fn,ln=function(Fn,Dn){var mn;if("\t"===Fn.indent)mn="\t";else{if(!("number"==typeof Fn.indent&&Fn.indent>0))return null;mn=Array(Fn.indent+1).join(" ")}return{base:mn,prev:Array(Dn+1).join(mn)}}(dt,ae);if(void 0===Ie)Ie=[];else if(He(Ie,Qe)>=0)return"[Circular]";function ar(Fn,Dn,mn){if(Dn&&(Ie=Ie.slice()).push(Dn),mn){var jn={depth:dt.depth};return be(dt,"quoteStyle")&&(jn.quoteStyle=dt.quoteStyle),At(Fn,jn,ae+1,Ie)}return At(Fn,dt,ae+1,Ie)}if("function"==typeof Qe){var Ln=function(Fn){if(Fn.name)return Fn.name;var Dn=z.call(H.call(Fn),/^function\s*([\w$]+)/);return Dn?Dn[1]:null}(Qe),Rn=St(Qe,ar);return"[Function"+(Ln?": "+Ln:" (anonymous)")+"]"+(Rn.length>0?" { "+Rn.join(", ")+" }":"")}if(Me(Qe)){var er=J?String(Qe).replace(/^(Symbol\(.*\))_[^)]*$/,"$1"):I.call(Qe);return"object"!=typeof Qe||J?er:je(er)}if((Fn=Qe)&&"object"==typeof Fn&&("undefined"!=typeof HTMLElement&&Fn instanceof HTMLElement||"string"==typeof Fn.nodeName&&"function"==typeof Fn.getAttribute)){for(var Mn="<"+String(Qe.nodeName).toLowerCase(),Ht=Qe.attributes||[],tr=0;tr<Ht.length;tr++)Mn+=" "+Ht[tr].name+"="+he(ce(Ht[tr].value),"double",dt);return Mn+=">",Qe.childNodes&&Qe.childNodes.length&&(Mn+="..."),Mn+"</"+String(Qe.nodeName).toLowerCase()+">"}if(Ae(Qe)){if(0===Qe.length)return"[]";var Yn=St(Qe,ar);return ln&&!function(Fn){for(var Dn=0;Dn<Fn.length;Dn++)if(He(Fn[Dn],"\n")>=0)return!1;return!0}(Yn)?"["+nn(Yn,ln)+"]":"[ "+Yn.join(", ")+" ]"}if(function(Fn){return!("[object Error]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe)){var Cn=St(Qe,ar);return 0===Cn.length?"["+String(Qe)+"]":"{ ["+String(Qe)+"] "+Cn.join(", ")+" }"}if("object"==typeof Qe&&Jt){if(fe&&"function"==typeof Qe[fe])return Qe[fe]();if("symbol"!==Jt&&"function"==typeof Qe.inspect)return Qe.inspect()}if(function(Fn){if(!a||!Fn||"object"!=typeof Fn)return!1;try{a.call(Fn);try{_.call(Fn)}catch(Dn){return!0}return Fn instanceof Map}catch(Dn){}return!1}(Qe)){var Kt=[];return l.call(Qe,function(Fn,Dn){Kt.push(ar(Dn,Qe,!0)+" => "+ar(Fn,Qe))}),lt("Map",a.call(Qe),Kt,ln)}if(function(Fn){if(!_||!Fn||"object"!=typeof Fn)return!1;try{_.call(Fn);try{a.call(Fn)}catch(Dn){return!0}return Fn instanceof Set}catch(Dn){}return!1}(Qe)){var dn=[];return m.call(Qe,function(Fn){dn.push(ar(Fn,Qe))}),lt("Set",_.call(Qe),dn,ln)}if(function(Fn){if(!b||!Fn||"object"!=typeof Fn)return!1;try{b.call(Fn,b);try{C.call(Fn,C)}catch(Dn){return!0}return Fn instanceof WeakMap}catch(Dn){}return!1}(Qe))return Et("WeakMap");if(function(Fn){if(!C||!Fn||"object"!=typeof Fn)return!1;try{C.call(Fn,C);try{b.call(Fn,b)}catch(Dn){return!0}return Fn instanceof WeakSet}catch(Dn){}return!1}(Qe))return Et("WeakSet");if(function(Fn){if(!D||!Fn||"object"!=typeof Fn)return!1;try{return D.call(Fn),!0}catch(Dn){}return!1}(Qe))return Et("WeakRef");if(function(Fn){return!("[object Number]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe))return je(ar(Number(Qe)));if(function(Fn){if(!Fn||"object"!=typeof Fn||!U)return!1;try{return U.call(Fn),!0}catch(Dn){}return!1}(Qe))return je(ar(U.call(Qe)));if(function(Fn){return!("[object Boolean]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe))return je(x.call(Qe));if(function(Fn){return!("[object String]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe))return je(ar(String(Qe)));if(!function(Fn){return!("[object Date]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe)&&!function(Fn){return!("[object RegExp]"!==ue(Fn)||ne&&"object"==typeof Fn&&ne in Fn)}(Qe)){var Kn=St(Qe,ar),qn=ie?ie(Qe)===Object.prototype:Qe instanceof Object||Qe.constructor===Object,Sn=Qe instanceof Object?"":"null prototype",$n=!qn&&ne&&Object(Qe)===Qe&&ne in Qe?ue(Qe).slice(8,-1):Sn?"Object":"",En=(qn||"function"!=typeof Qe.constructor?"":Qe.constructor.name?Qe.constructor.name+" ":"")+($n||Sn?"["+[].concat($n||[],Sn||[]).join(": ")+"] ":"");return 0===Kn.length?En+"{}":ln?En+"{"+nn(Kn,ln)+"}":En+"{ "+Kn.join(", ")+" }"}return String(Qe)};var Oe=Object.prototype.hasOwnProperty||function(At){return At in this};function be(At,Qe){return Oe.call(At,Qe)}function ue(At){return j.call(At)}function He(At,Qe){if(At.indexOf)return At.indexOf(Qe);for(var It=0,ae=At.length;It<ae;It++)if(At[It]===Qe)return It;return-1}function $e(At,Qe){if(At.length>Qe.maxStringLength){var It=At.length-Qe.maxStringLength,ae="... "+It+" more character"+(It>1?"s":"");return $e(At.slice(0,Qe.maxStringLength),Qe)+ae}return he(At.replace(/(['\\])/g,"\\$1").replace(/[\x00-\x1f]/g,F),"single",Qe)}function F(At){var Qe=At.charCodeAt(0),It={8:"b",9:"t",10:"n",12:"f",13:"r"}[Qe];return It?"\\"+It:"\\x"+(Qe<16?"0":"")+Qe.toString(16).toUpperCase()}function je(At){return"Object("+At+")"}function Et(At){return At+" { ? }"}function lt(At,Qe,It,ae){return At+" ("+Qe+") {"+(ae?nn(It,ae):It.join(", "))+"}"}function nn(At,Qe){if(0===At.length)return"";var It="\n"+Qe.prev+Qe.base;return It+At.join(","+It)+"\n"+Qe.prev}function St(At,Qe){var It=Ae(At),ae=[];if(It){ae.length=At.length;for(var Ie=0;Ie<At.length;Ie++)ae[Ie]=be(At,Ie)?Qe(At[Ie],At):""}var dt,Jt="function"==typeof M?M(At):[];if(J){dt={};for(var zt=0;zt<Jt.length;zt++)dt["$"+Jt[zt]]=Jt[zt]}for(var ln in At)be(At,ln)&&(It&&String(Number(ln))===ln&&ln<At.length||J&&dt["$"+ln]instanceof Symbol||(/[^\w$]/.test(ln)?ae.push(Qe(ln,At)+": "+Qe(At[ln],At)):ae.push(ln+": "+Qe(At[ln],At))));if("function"==typeof M)for(var ar=0;ar<Jt.length;ar++)Y.call(At,Jt[ar])&&ae.push("["+Qe(Jt[ar])+"]: "+Qe(At[Jt[ar]],At));return ae}},function(g,o){},function(g,o,t){"use strict";var e=t(443),s=Object.prototype.hasOwnProperty,a=Array.isArray,l={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:e.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},u=function(m){return m.replace(/&#(\d+);/g,function(b,C){return String.fromCharCode(parseInt(C,10))})},h=function(m,b){return m&&"string"==typeof m&&b.comma&&m.indexOf(",")>-1?m.split(","):m},_=function(m,b,C,D){if(m){var x=C.allowDots?m.replace(/\.([^.[]+)/g,"[$1]"):m,j=/(\[[^[\]]*])/g,H=C.depth>0&&/(\[[^[\]]*])/.exec(x),z=H?x.slice(0,H.index):x,U=[];if(z){if(!C.plainObjects&&s.call(Object.prototype,z)&&!C.allowPrototypes)return;U.push(z)}for(var M=0;C.depth>0&&null!==(H=j.exec(x))&&M<C.depth;){if(M+=1,!C.plainObjects&&s.call(Object.prototype,H[1].slice(1,-1))&&!C.allowPrototypes)return;U.push(H[1])}return H&&U.push("["+x.slice(H.index)+"]"),function(I,J,Y,ie){for(var oe=ie?J:h(J,Y),fe=I.length-1;fe>=0;--fe){var ne,he=I[fe];if("[]"===he&&Y.parseArrays)ne=[].concat(oe);else{ne=Y.plainObjects?Object.create(null):{};var ce="["===he.charAt(0)&&"]"===he.charAt(he.length-1)?he.slice(1,-1):he,Ae=parseInt(ce,10);Y.parseArrays||""!==ce?!isNaN(Ae)&&he!==ce&&String(Ae)===ce&&Ae>=0&&Y.parseArrays&&Ae<=Y.arrayLimit?(ne=[])[Ae]=oe:ne[ce]=oe:ne={0:oe}}oe=ne}return oe}(U,b,C,D)}};g.exports=function(m,b){var C=function(M){if(!M)return l;if(null!=M.decoder&&"function"!=typeof M.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==M.charset&&"utf-8"!==M.charset&&"iso-8859-1"!==M.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");return{allowDots:void 0===M.allowDots?l.allowDots:!!M.allowDots,allowPrototypes:"boolean"==typeof M.allowPrototypes?M.allowPrototypes:l.allowPrototypes,allowSparse:"boolean"==typeof M.allowSparse?M.allowSparse:l.allowSparse,arrayLimit:"number"==typeof M.arrayLimit?M.arrayLimit:l.arrayLimit,charset:void 0===M.charset?l.charset:M.charset,charsetSentinel:"boolean"==typeof M.charsetSentinel?M.charsetSentinel:l.charsetSentinel,comma:"boolean"==typeof M.comma?M.comma:l.comma,decoder:"function"==typeof M.decoder?M.decoder:l.decoder,delimiter:"string"==typeof M.delimiter||e.isRegExp(M.delimiter)?M.delimiter:l.delimiter,depth:"number"==typeof M.depth||!1===M.depth?+M.depth:l.depth,ignoreQueryPrefix:!0===M.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof M.interpretNumericEntities?M.interpretNumericEntities:l.interpretNumericEntities,parameterLimit:"number"==typeof M.parameterLimit?M.parameterLimit:l.parameterLimit,parseArrays:!1!==M.parseArrays,plainObjects:"boolean"==typeof M.plainObjects?M.plainObjects:l.plainObjects,strictNullHandling:"boolean"==typeof M.strictNullHandling?M.strictNullHandling:l.strictNullHandling}}(b);if(""===m||null==m)return C.plainObjects?Object.create(null):{};for(var D="string"==typeof m?function(M,I){var J,Y={},fe=(I.ignoreQueryPrefix?M.replace(/^\?/,""):M).split(I.delimiter,I.parameterLimit===1/0?void 0:I.parameterLimit),ne=-1,he=I.charset;if(I.charsetSentinel)for(J=0;J<fe.length;++J)0===fe[J].indexOf("utf8=")&&("utf8=%E2%9C%93"===fe[J]?he="utf-8":"utf8=%26%2310003%3B"===fe[J]&&(he="iso-8859-1"),ne=J,J=fe.length);for(J=0;J<fe.length;++J)if(J!==ne){var ce,Ae,Me=fe[J],Oe=Me.indexOf("]="),be=-1===Oe?Me.indexOf("="):Oe+1;-1===be?(ce=I.decoder(Me,l.decoder,he,"key"),Ae=I.strictNullHandling?null:""):(ce=I.decoder(Me.slice(0,be),l.decoder,he,"key"),Ae=e.maybeMap(h(Me.slice(be+1),I),function(ue){return I.decoder(ue,l.decoder,he,"value")})),Ae&&I.interpretNumericEntities&&"iso-8859-1"===he&&(Ae=u(Ae)),Me.indexOf("[]=")>-1&&(Ae=a(Ae)?[Ae]:Ae),Y[ce]=s.call(Y,ce)?e.combine(Y[ce],Ae):Ae}return Y}(m,C):m,x=C.plainObjects?Object.create(null):{},j=Object.keys(D),H=0;H<j.length;++H){var z=j[H],U=_(z,D[z],C,"string"==typeof m);x=e.merge(x,U,C)}return!0===C.allowSparse?x:e.compact(x)}},function(g,o,t){var e=t(935);g.exports=e},function(g,o,t){var e=t(35),s=t(936),a=Array.prototype;g.exports=function(l){var u=l.splice;return l===a||e(a,l)&&u===a.splice?s:u}},function(g,o,t){t(937);var e=t(42);g.exports=e("Array").splice},function(g,o,t){"use strict";var e=t(22),s=t(17),a=t(220),l=t(129),u=t(74),h=t(62),_=t(215),m=t(147),b=t(148)("splice"),C=s.TypeError,D=Math.max,x=Math.min,j=9007199254740991,H="Maximum allowed length exceeded";e({target:"Array",proto:!0,forced:!b},{splice:function(z,U){var M,I,J,Y,ie,oe,fe=h(this),ne=u(fe),he=a(z,ne),ce=arguments.length;if(0===ce?M=I=0:1===ce?(M=0,I=ne-he):(M=ce-2,I=x(D(l(U),0),ne-he)),ne+M-I>j)throw C(H);for(J=_(fe,I),Y=0;Y<I;Y++)(ie=he+Y)in fe&&m(J,Y,fe[ie]);if(J.length=I,M<I){for(Y=he;Y<ne-I;Y++)oe=Y+M,(ie=Y+I)in fe?fe[oe]=fe[ie]:delete fe[oe];for(Y=ne;Y>ne-I+M;Y--)delete fe[Y-1]}else if(M>I)for(Y=ne-I;Y>he;Y--)oe=Y+M-1,(ie=Y+I-1)in fe?fe[oe]=fe[ie]:delete fe[oe];for(Y=0;Y<M;Y++)fe[Y+he]=arguments[Y+2];return fe.length=ne-I+M,J}})},function(g,o,t){var e=t(939);t(68),g.exports=e},function(g,o,t){t(77),t(97),t(940);var e=t(34);g.exports=e.WeakMap},function(g,o,t){"use strict";var e,s=t(17),a=t(27),l=t(158),u=t(194),h=t(445),_=t(943),m=t(43),b=t(444),C=t(76).enforce,D=t(337),x=!s.ActiveXObject&&"ActiveXObject"in s,j=function(Y){return function(){return Y(this,arguments.length?arguments[0]:void 0)}},H=h("WeakMap",j,_);if(D&&x){e=_.getConstructor(j,"WeakMap",!0),u.enable();var z=H.prototype,U=a(z.delete),M=a(z.has),I=a(z.get),J=a(z.set);l(z,{delete:function(Y){if(m(Y)&&!b(Y)){var ie=C(this);return ie.frozen||(ie.frozen=new e),U(this,Y)||ie.frozen.delete(Y)}return U(this,Y)},has:function(Y){if(m(Y)&&!b(Y)){var ie=C(this);return ie.frozen||(ie.frozen=new e),M(this,Y)||ie.frozen.has(Y)}return M(this,Y)},get:function(Y){if(m(Y)&&!b(Y)){var ie=C(this);return ie.frozen||(ie.frozen=new e),M(this,Y)?I(this,Y):ie.frozen.get(Y)}return I(this,Y)},set:function(Y,ie){if(m(Y)&&!b(Y)){var oe=C(this);oe.frozen||(oe.frozen=new e),M(this,Y)?J(this,Y,ie):oe.frozen.set(Y,ie)}else J(this,Y,ie);return this}})}},function(g,o,t){var e=t(33);g.exports=e(function(){if("function"==typeof ArrayBuffer){var s=new ArrayBuffer(8);Object.isExtensible(s)&&Object.defineProperty(s,"a",{value:8})}})},function(g,o,t){var e=t(33);g.exports=!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},function(g,o,t){"use strict";var e=t(27),s=t(158),a=t(194).getWeakData,l=t(51),u=t(43),h=t(139),_=t(124),m=t(87),b=t(44),C=t(76),D=C.set,x=C.getterFor,j=m.find,H=m.findIndex,z=e([].splice),U=0,M=function(Y){return Y.frozen||(Y.frozen=new I)},I=function(){this.entries=[]},J=function(Y,ie){return j(Y.entries,function(oe){return oe[0]===ie})};I.prototype={get:function(Y){var ie=J(this,Y);if(ie)return ie[1]},has:function(Y){return!!J(this,Y)},set:function(Y,ie){var oe=J(this,Y);oe?oe[1]=ie:this.entries.push([Y,ie])},delete:function(Y){var ie=H(this.entries,function(oe){return oe[0]===Y});return~ie&&z(this.entries,ie,1),!!~ie}},g.exports={getConstructor:function(Y,ie,oe,fe){var ne=Y(function(Me,Oe){h(Me,he),D(Me,{type:ie,id:U++,frozen:void 0}),null!=Oe&&_(Oe,Me[fe],{that:Me,AS_ENTRIES:oe})}),he=ne.prototype,ce=x(ie),Ae=function(Me,Oe,be){var ue=ce(Me),He=a(l(Oe),!0);return!0===He?M(ue).set(Oe,be):He[ue.id]=be,Me};return s(he,{delete:function(Me){var Oe=ce(this);if(!u(Me))return!1;var be=a(Me);return!0===be?M(Oe).delete(Me):be&&b(be,Oe.id)&&delete be[Oe.id]},has:function(Me){var Oe=ce(this);if(!u(Me))return!1;var be=a(Me);return!0===be?M(Oe).has(Me):be&&b(be,Oe.id)}}),s(he,oe?{get:function(Me){var Oe=ce(this);if(u(Me)){var be=a(Me);return!0===be?M(Oe).get(Me):be?be[Oe.id]:void 0}},set:function(Me,Oe){return Ae(this,Me,Oe)}}:{add:function(Me){return Ae(this,Me,!0)}}),ne}}},function(g,o,t){var e=t(945);t(68),g.exports=e},function(g,o,t){t(253);var e=t(34);g.exports=e.URLSearchParams},function(g,o,t){(function(e,s){var a;!function(l){var h,_=2147483647,m=36,b=/^xn--/,C=/[^\x20-\x7E]/,D=/[\x2E\u3002\uFF0E\uFF61]/g,x={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},j=Math.floor,H=String.fromCharCode;function z(ne){throw new RangeError(x[ne])}function U(ne,he){for(var ce=ne.length,Ae=[];ce--;)Ae[ce]=he(ne[ce]);return Ae}function M(ne,he){var ce=ne.split("@"),Ae="";return ce.length>1&&(Ae=ce[0]+"@",ne=ce[1]),Ae+U((ne=ne.replace(D,".")).split("."),he).join(".")}function I(ne){for(var he,ce,Ae=[],Me=0,Oe=ne.length;Me<Oe;)(he=ne.charCodeAt(Me++))>=55296&&he<=56319&&Me<Oe?56320==(64512&(ce=ne.charCodeAt(Me++)))?Ae.push(((1023&he)<<10)+(1023&ce)+65536):(Ae.push(he),Me--):Ae.push(he);return Ae}function J(ne){return U(ne,function(he){var ce="";return he>65535&&(ce+=H((he-=65536)>>>10&1023|55296),he=56320|1023&he),ce+H(he)}).join("")}function Y(ne,he){return ne+22+75*(ne<26)-((0!=he)<<5)}function ie(ne,he,ce){var Ae=0;for(ne=ce?j(ne/700):ne>>1,ne+=j(ne/he);ne>455;Ae+=m)ne=j(ne/35);return j(Ae+36*ne/(ne+38))}function oe(ne){var he,ce,Ae,Me,Oe,be,ue,He,$e,F,je,Et=[],lt=ne.length,nn=0,St=128,At=72;for((ce=ne.lastIndexOf("-"))<0&&(ce=0),Ae=0;Ae<ce;++Ae)ne.charCodeAt(Ae)>=128&&z("not-basic"),Et.push(ne.charCodeAt(Ae));for(Me=ce>0?ce+1:0;Me<lt;){for(Oe=nn,be=1,ue=m;Me>=lt&&z("invalid-input"),((He=(je=ne.charCodeAt(Me++))-48<10?je-22:je-65<26?je-65:je-97<26?je-97:m)>=m||He>j((_-nn)/be))&&z("overflow"),nn+=He*be,!(He<($e=ue<=At?1:ue>=At+26?26:ue-At));ue+=m)be>j(_/(F=m-$e))&&z("overflow"),be*=F;At=ie(nn-Oe,he=Et.length+1,0==Oe),j(nn/he)>_-St&&z("overflow"),St+=j(nn/he),nn%=he,Et.splice(nn++,0,St)}return J(Et)}function fe(ne){var he,ce,Ae,Me,Oe,be,ue,He,$e,F,je,Et,lt,nn,St,At=[];for(Et=(ne=I(ne)).length,he=128,ce=0,Oe=72,be=0;be<Et;++be)(je=ne[be])<128&&At.push(H(je));for(Ae=Me=At.length,Me&&At.push("-");Ae<Et;){for(ue=_,be=0;be<Et;++be)(je=ne[be])>=he&&je<ue&&(ue=je);for(ue-he>j((_-ce)/(lt=Ae+1))&&z("overflow"),ce+=(ue-he)*lt,he=ue,be=0;be<Et;++be)if((je=ne[be])<he&&++ce>_&&z("overflow"),je==he){for(He=ce,$e=m;!(He<(F=$e<=Oe?1:$e>=Oe+26?26:$e-Oe));$e+=m)At.push(H(Y(F+(St=He-F)%(nn=m-F),0))),He=j(St/nn);At.push(H(Y(He,0))),Oe=ie(ce,lt,Ae==Me),ce=0,++Ae}++ce,++he}return At.join("")}h={version:"1.4.1",ucs2:{decode:I,encode:J},decode:oe,encode:fe,toASCII:function(ne){return M(ne,function(he){return C.test(he)?"xn--"+fe(he):he})},toUnicode:function(ne){return M(ne,function(he){return b.test(he)?oe(he.slice(4).toLowerCase()):he})}},void 0===(a=function(){return h}.call(o,t,o,e))||(e.exports=a)}()}).call(this,t(183)(g),t(57))},function(g,o,t){"use strict";g.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(g,o,t){"use strict";o.decode=o.parse=t(949),o.encode=o.stringify=t(950)},function(g,o,t){"use strict";function e(a,l){return Object.prototype.hasOwnProperty.call(a,l)}g.exports=function(a,l,u,h){u=u||"=";var _={};if("string"!=typeof a||0===a.length)return _;var m=/\+/g;a=a.split(l=l||"&");var b=1e3;h&&"number"==typeof h.maxKeys&&(b=h.maxKeys);var C=a.length;b>0&&C>b&&(C=b);for(var D=0;D<C;++D){var x,j,H,z,U=a[D].replace(m,"%20"),M=U.indexOf(u);M>=0?(x=U.substr(0,M),j=U.substr(M+1)):(x=U,j=""),H=decodeURIComponent(x),z=decodeURIComponent(j),e(_,H)?s(_[H])?_[H].push(z):_[H]=[_[H],z]:_[H]=z}return _};var s=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},function(g,o,t){"use strict";var e=function(u){switch(typeof u){case"string":return u;case"boolean":return u?"true":"false";case"number":return isFinite(u)?u:"";default:return""}};g.exports=function(u,h,_,m){return h=h||"&",_=_||"=",null===u&&(u=void 0),"object"==typeof u?a(l(u),function(b){var C=encodeURIComponent(e(b))+_;return s(u[b])?a(u[b],function(D){return C+encodeURIComponent(e(D))}).join(h):C+encodeURIComponent(e(u[b]))}).join(h):m?encodeURIComponent(e(m))+_+encodeURIComponent(e(u)):""};var s=Array.isArray||function(u){return"[object Array]"===Object.prototype.toString.call(u)};function a(u,h){if(u.map)return u.map(h);for(var _=[],m=0;m<u.length;m++)_.push(h(u[m],m));return _}var l=Object.keys||function(u){var h=[];for(var _ in u)Object.prototype.hasOwnProperty.call(u,_)&&h.push(_);return h}},function(g,o,t){var e=t(952);g.exports=e},function(g,o,t){t(953),t(955),t(253);var e=t(34);g.exports=e.URL},function(g,o,t){"use strict";t(131);var e,s=t(22),a=t(48),l=t(446),u=t(17),h=t(84),_=t(50),m=t(27),b=t(218),C=t(99),D=t(139),x=t(44),j=t(350),H=t(375),z=t(86),U=t(343).codeAt,M=t(954),I=t(67),J=t(100),Y=t(253),ie=t(76),oe=ie.set,fe=ie.getterFor("URL"),ne=Y.URLSearchParams,he=Y.getState,ce=u.URL,Ae=u.TypeError,Me=u.parseInt,Oe=Math.floor,be=Math.pow,ue=m("".charAt),He=m(/./.exec),$e=m([].join),F=m(1..toString),je=m([].pop),Et=m([].push),lt=m("".replace),nn=m([].shift),St=m("".split),At=m("".slice),Qe=m("".toLowerCase),It=m([].unshift),ae="Invalid scheme",Ie="Invalid host",dt="Invalid port",Jt=/[a-z]/i,zt=/[\d+-.a-z]/i,ln=/\d/,ar=/^0x/i,Ln=/^[0-7]+$/,Rn=/^\d+$/,er=/^[\da-f]+$/i,Mn=/[\0\t\n\r #%/:<>?@[\\\]^|]/,Ht=/[\0\t\n\r #/:<>?@[\\\]^|]/,tr=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,Yn=/[\t\n\r]/g,Cn=function(rt,bt){var We,$t,or;if("["==ue(bt,0)){if("]"!=ue(bt,bt.length-1)||!(We=dn(At(bt,1,-1))))return Ie;rt.host=We}else if(mn(rt)){if(bt=M(bt),He(Mn,bt)||null===(We=Kt(bt)))return Ie;rt.host=We}else{if(He(Ht,bt))return Ie;for(We="",$t=H(bt),or=0;or<$t.length;or++)We+=Fn($t[or],qn);rt.host=We}},Kt=function(rt){var bt,We,$t,or,Zn,Vr,Cr,ai=St(rt,".");if(ai.length&&""==ai[ai.length-1]&&ai.length--,(bt=ai.length)>4)return rt;for(We=[],$t=0;$t<bt;$t++){if(""==(or=ai[$t]))return rt;if(Zn=10,or.length>1&&"0"==ue(or,0)&&(Zn=He(ar,or)?16:8,or=At(or,8==Zn?1:2)),""===or)Vr=0;else{if(!He(10==Zn?Rn:8==Zn?Ln:er,or))return rt;Vr=Me(or,Zn)}Et(We,Vr)}for($t=0;$t<bt;$t++)if(Vr=We[$t],$t==bt-1){if(Vr>=be(256,5-bt))return null}else if(Vr>255)return null;for(Cr=je(We),$t=0;$t<We.length;$t++)Cr+=We[$t]*be(256,3-$t);return Cr},dn=function(rt){var bt,We,$t,or,Zn,Vr,Cr,ai=[0,0,0,0,0,0,0,0],Dr=0,Qr=null,rn=0,fi=function(){return ue(rt,rn)};if(":"==fi()){if(":"!=ue(rt,1))return;rn+=2,Qr=++Dr}for(;fi();){if(8==Dr)return;if(":"!=fi()){for(bt=We=0;We<4&&He(er,fi());)bt=16*bt+Me(fi(),16),rn++,We++;if("."==fi()){if(0==We||(rn-=We,Dr>6))return;for($t=0;fi();){if(or=null,$t>0){if(!("."==fi()&&$t<4))return;rn++}if(!He(ln,fi()))return;for(;He(ln,fi());){if(Zn=Me(fi(),10),null===or)or=Zn;else{if(0==or)return;or=10*or+Zn}if(or>255)return;rn++}ai[Dr]=256*ai[Dr]+or,2!=++$t&&4!=$t||Dr++}if(4!=$t)return;break}if(":"==fi()){if(rn++,!fi())return}else if(fi())return;ai[Dr++]=bt}else{if(null!==Qr)return;rn++,Qr=++Dr}}if(null!==Qr)for(Vr=Dr-Qr,Dr=7;0!=Dr&&Vr>0;)Cr=ai[Dr],ai[Dr--]=ai[Qr+Vr-1],ai[Qr+--Vr]=Cr;else if(8!=Dr)return;return ai},Kn=function(rt){var bt,We,$t,or;if("number"==typeof rt){for(bt=[],We=0;We<4;We++)It(bt,rt%256),rt=Oe(rt/256);return $e(bt,".")}if("object"==typeof rt){for(bt="",$t=function(Zn){for(var Vr=null,Cr=1,ai=null,Dr=0,Qr=0;Qr<8;Qr++)0!==Zn[Qr]?(Dr>Cr&&(Vr=ai,Cr=Dr),ai=null,Dr=0):(null===ai&&(ai=Qr),++Dr);return Dr>Cr&&(Vr=ai,Cr=Dr),Vr}(rt),We=0;We<8;We++)or&&0===rt[We]||(or&&(or=!1),$t===We?(bt+=We?":":"::",or=!0):(bt+=F(rt[We],16),We<7&&(bt+=":")));return"["+bt+"]"}return rt},qn={},Sn=j({},qn,{" ":1,'"':1,"<":1,">":1,"`":1}),$n=j({},Sn,{"#":1,"?":1,"{":1,"}":1}),En=j({},$n,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Fn=function(rt,bt){var We=U(rt,0);return We>32&&We<127&&!x(bt,rt)?rt:encodeURIComponent(rt)},Dn={ftp:21,file:null,http:80,https:443,ws:80,wss:443},mn=function(rt){return x(Dn,rt.scheme)},jn=function(rt){return""!=rt.username||""!=rt.password},Xt=function(rt){return!rt.host||rt.cannotBeABaseURL||"file"==rt.scheme},ut=function(rt,bt){var We;return 2==rt.length&&He(Jt,ue(rt,0))&&(":"==(We=ue(rt,1))||!bt&&"|"==We)},mt=function(rt){var bt;return rt.length>1&&ut(At(rt,0,2))&&(2==rt.length||"/"===(bt=ue(rt,2))||"\\"===bt||"?"===bt||"#"===bt)},Tt=function(rt){var bt=rt.path,We=bt.length;!We||"file"==rt.scheme&&1==We&&ut(bt[0],!0)||bt.length--},yn=function(rt){return"."===rt||"%2e"===Qe(rt)},et={},jt={},hn={},Qn={},Ir={},ht={},L={},Ue={},nt={},at={},it={},Pt={},Ut={},ot={},Nn={},sn={},An={},Bn={},ir={},mr={},_r={},Nr=function(rt,bt,We,$t){var or,Zn,Vr,Cr,ai,Dr=We||et,Qr=0,rn="",fi=!1,Ei=!1,wi=!1;for(We||(rt.scheme="",rt.username="",rt.password="",rt.host=null,rt.port=null,rt.path=[],rt.query=null,rt.fragment=null,rt.cannotBeABaseURL=!1,bt=lt(bt,tr,"")),bt=lt(bt,Yn,""),or=H(bt);Qr<=or.length;){switch(Zn=or[Qr],Dr){case et:if(!Zn||!He(Jt,Zn)){if(We)return ae;Dr=hn;continue}rn+=Qe(Zn),Dr=jt;break;case jt:if(Zn&&(He(zt,Zn)||"+"==Zn||"-"==Zn||"."==Zn))rn+=Qe(Zn);else{if(":"!=Zn){if(We)return ae;rn="",Dr=hn,Qr=0;continue}if(We&&(mn(rt)!=x(Dn,rn)||"file"==rn&&(jn(rt)||null!==rt.port)||"file"==rt.scheme&&!rt.host))return;if(rt.scheme=rn,We)return void(mn(rt)&&Dn[rt.scheme]==rt.port&&(rt.port=null));rn="","file"==rt.scheme?Dr=ot:mn(rt)&&$t&&$t.scheme==rt.scheme?Dr=Qn:mn(rt)?Dr=Ue:"/"==or[Qr+1]?(Dr=Ir,Qr++):(rt.cannotBeABaseURL=!0,Et(rt.path,""),Dr=ir)}break;case hn:if(!$t||$t.cannotBeABaseURL&&"#"!=Zn)return ae;if($t.cannotBeABaseURL&&"#"==Zn){rt.scheme=$t.scheme,rt.path=z($t.path),rt.query=$t.query,rt.fragment="",rt.cannotBeABaseURL=!0,Dr=_r;break}Dr="file"==$t.scheme?ot:ht;continue;case Qn:if("/"!=Zn||"/"!=or[Qr+1]){Dr=ht;continue}Dr=nt,Qr++;break;case Ir:if("/"==Zn){Dr=at;break}Dr=Bn;continue;case ht:if(rt.scheme=$t.scheme,Zn==e)rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,rt.path=z($t.path),rt.query=$t.query;else if("/"==Zn||"\\"==Zn&&mn(rt))Dr=L;else if("?"==Zn)rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,rt.path=z($t.path),rt.query="",Dr=mr;else{if("#"!=Zn){rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,rt.path=z($t.path),rt.path.length--,Dr=Bn;continue}rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,rt.path=z($t.path),rt.query=$t.query,rt.fragment="",Dr=_r}break;case L:if(!mn(rt)||"/"!=Zn&&"\\"!=Zn){if("/"!=Zn){rt.username=$t.username,rt.password=$t.password,rt.host=$t.host,rt.port=$t.port,Dr=Bn;continue}Dr=at}else Dr=nt;break;case Ue:if(Dr=nt,"/"!=Zn||"/"!=ue(rn,Qr+1))continue;Qr++;break;case nt:if("/"!=Zn&&"\\"!=Zn){Dr=at;continue}break;case at:if("@"==Zn){fi&&(rn="%40"+rn),fi=!0,Vr=H(rn);for(var go=0;go<Vr.length;go++){var Fi=Vr[go];if(":"!=Fi||wi){var no=Fn(Fi,En);wi?rt.password+=no:rt.username+=no}else wi=!0}rn=""}else if(Zn==e||"/"==Zn||"?"==Zn||"#"==Zn||"\\"==Zn&&mn(rt)){if(fi&&""==rn)return"Invalid authority";Qr-=H(rn).length+1,rn="",Dr=it}else rn+=Zn;break;case it:case Pt:if(We&&"file"==rt.scheme){Dr=sn;continue}if(":"!=Zn||Ei){if(Zn==e||"/"==Zn||"?"==Zn||"#"==Zn||"\\"==Zn&&mn(rt)){if(mn(rt)&&""==rn)return Ie;if(We&&""==rn&&(jn(rt)||null!==rt.port))return;if(Cr=Cn(rt,rn))return Cr;if(rn="",Dr=An,We)return;continue}"["==Zn?Ei=!0:"]"==Zn&&(Ei=!1),rn+=Zn}else{if(""==rn)return Ie;if(Cr=Cn(rt,rn))return Cr;if(rn="",Dr=Ut,We==Pt)return}break;case Ut:if(!He(ln,Zn)){if(Zn==e||"/"==Zn||"?"==Zn||"#"==Zn||"\\"==Zn&&mn(rt)||We){if(""!=rn){var Ji=Me(rn,10);if(Ji>65535)return dt;rt.port=mn(rt)&&Ji===Dn[rt.scheme]?null:Ji,rn=""}if(We)return;Dr=An;continue}return dt}rn+=Zn;break;case ot:if(rt.scheme="file","/"==Zn||"\\"==Zn)Dr=Nn;else{if(!$t||"file"!=$t.scheme){Dr=Bn;continue}if(Zn==e)rt.host=$t.host,rt.path=z($t.path),rt.query=$t.query;else if("?"==Zn)rt.host=$t.host,rt.path=z($t.path),rt.query="",Dr=mr;else{if("#"!=Zn){mt($e(z(or,Qr),""))||(rt.host=$t.host,rt.path=z($t.path),Tt(rt)),Dr=Bn;continue}rt.host=$t.host,rt.path=z($t.path),rt.query=$t.query,rt.fragment="",Dr=_r}}break;case Nn:if("/"==Zn||"\\"==Zn){Dr=sn;break}$t&&"file"==$t.scheme&&!mt($e(z(or,Qr),""))&&(ut($t.path[0],!0)?Et(rt.path,$t.path[0]):rt.host=$t.host),Dr=Bn;continue;case sn:if(Zn==e||"/"==Zn||"\\"==Zn||"?"==Zn||"#"==Zn){if(!We&&ut(rn))Dr=Bn;else if(""==rn){if(rt.host="",We)return;Dr=An}else{if(Cr=Cn(rt,rn))return Cr;if("localhost"==rt.host&&(rt.host=""),We)return;rn="",Dr=An}continue}rn+=Zn;break;case An:if(mn(rt)){if(Dr=Bn,"/"!=Zn&&"\\"!=Zn)continue}else if(We||"?"!=Zn)if(We||"#"!=Zn){if(Zn!=e&&(Dr=Bn,"/"!=Zn))continue}else rt.fragment="",Dr=_r;else rt.query="",Dr=mr;break;case Bn:if(Zn==e||"/"==Zn||"\\"==Zn&&mn(rt)||!We&&("?"==Zn||"#"==Zn)){if(".."===(ai=Qe(ai=rn))||"%2e."===ai||".%2e"===ai||"%2e%2e"===ai?(Tt(rt),"/"==Zn||"\\"==Zn&&mn(rt)||Et(rt.path,"")):yn(rn)?"/"==Zn||"\\"==Zn&&mn(rt)||Et(rt.path,""):("file"==rt.scheme&&!rt.path.length&&ut(rn)&&(rt.host&&(rt.host=""),rn=ue(rn,0)+":"),Et(rt.path,rn)),rn="","file"==rt.scheme&&(Zn==e||"?"==Zn||"#"==Zn))for(;rt.path.length>1&&""===rt.path[0];)nn(rt.path);"?"==Zn?(rt.query="",Dr=mr):"#"==Zn&&(rt.fragment="",Dr=_r)}else rn+=Fn(Zn,$n);break;case ir:"?"==Zn?(rt.query="",Dr=mr):"#"==Zn?(rt.fragment="",Dr=_r):Zn!=e&&(rt.path[0]+=Fn(Zn,qn));break;case mr:We||"#"!=Zn?Zn!=e&&("'"==Zn&&mn(rt)?rt.query+="%27":rt.query+="#"==Zn?"%23":Fn(Zn,qn)):(rt.fragment="",Dr=_r);break;case _r:Zn!=e&&(rt.fragment+=Fn(Zn,Sn))}Qr++}},br=function(rt){var bt,We,$t=D(this,Jn),or=arguments.length>1?arguments[1]:void 0,Zn=I(rt),Vr=oe($t,{type:"URL"});if(void 0!==or)try{bt=fe(or)}catch(Dr){if(We=Nr(bt={},I(or)))throw Ae(We)}if(We=Nr(Vr,Zn,null,bt))throw Ae(We);var Cr=Vr.searchParams=new ne,ai=he(Cr);ai.updateSearchParams(Vr.query),ai.updateURL=function(){Vr.query=I(Cr)||null},a||($t.href=_(nr,$t),$t.origin=_(Mr,$t),$t.protocol=_(yi,$t),$t.username=_(Ii,$t),$t.password=_(Mi,$t),$t.host=_(Oi,$t),$t.hostname=_(Kr,$t),$t.port=_(ei,$t),$t.pathname=_(di,$t),$t.search=_(se,$t),$t.searchParams=_(ct,$t),$t.hash=_(Ke,$t))},Jn=br.prototype,nr=function(){var rt=fe(this),bt=rt.scheme,We=rt.username,$t=rt.password,or=rt.host,Zn=rt.port,Vr=rt.path,Cr=rt.query,ai=rt.fragment,Dr=bt+":";return null!==or?(Dr+="//",jn(rt)&&(Dr+=We+($t?":"+$t:"")+"@"),Dr+=Kn(or),null!==Zn&&(Dr+=":"+Zn)):"file"==bt&&(Dr+="//"),Dr+=rt.cannotBeABaseURL?Vr[0]:Vr.length?"/"+$e(Vr,"/"):"",null!==Cr&&(Dr+="?"+Cr),null!==ai&&(Dr+="#"+ai),Dr},Mr=function(){var rt=fe(this),bt=rt.scheme,We=rt.port;if("blob"==bt)try{return new br(bt.path[0]).origin}catch($t){return"null"}return"file"!=bt&&mn(rt)?bt+"://"+Kn(rt.host)+(null!==We?":"+We:""):"null"},yi=function(){return fe(this).scheme+":"},Ii=function(){return fe(this).username},Mi=function(){return fe(this).password},Oi=function(){var rt=fe(this),bt=rt.host,We=rt.port;return null===bt?"":null===We?Kn(bt):Kn(bt)+":"+We},Kr=function(){var rt=fe(this).host;return null===rt?"":Kn(rt)},ei=function(){var rt=fe(this).port;return null===rt?"":I(rt)},di=function(){var rt=fe(this),bt=rt.path;return rt.cannotBeABaseURL?bt[0]:bt.length?"/"+$e(bt,"/"):""},se=function(){var rt=fe(this).query;return rt?"?"+rt:""},ct=function(){return fe(this).searchParams},Ke=function(){var rt=fe(this).fragment;return rt?"#"+rt:""},Xe=function(rt,bt){return{get:rt,set:bt,configurable:!0,enumerable:!0}};if(a&&b(Jn,{href:Xe(nr,function(rt){var bt=fe(this),We=I(rt),$t=Nr(bt,We);if($t)throw Ae($t);he(bt.searchParams).updateSearchParams(bt.query)}),origin:Xe(Mr),protocol:Xe(yi,function(rt){var bt=fe(this);Nr(bt,I(rt)+":",et)}),username:Xe(Ii,function(rt){var bt=fe(this),We=H(I(rt));if(!Xt(bt)){bt.username="";for(var $t=0;$t<We.length;$t++)bt.username+=Fn(We[$t],En)}}),password:Xe(Mi,function(rt){var bt=fe(this),We=H(I(rt));if(!Xt(bt)){bt.password="";for(var $t=0;$t<We.length;$t++)bt.password+=Fn(We[$t],En)}}),host:Xe(Oi,function(rt){var bt=fe(this);bt.cannotBeABaseURL||Nr(bt,I(rt),it)}),hostname:Xe(Kr,function(rt){var bt=fe(this);bt.cannotBeABaseURL||Nr(bt,I(rt),Pt)}),port:Xe(ei,function(rt){var bt=fe(this);Xt(bt)||(""==(rt=I(rt))?bt.port=null:Nr(bt,rt,Ut))}),pathname:Xe(di,function(rt){var bt=fe(this);bt.cannotBeABaseURL||(bt.path=[],Nr(bt,I(rt),An))}),search:Xe(se,function(rt){var bt=fe(this);""==(rt=I(rt))?bt.query=null:("?"==ue(rt,0)&&(rt=At(rt,1)),bt.query="",Nr(bt,rt,mr)),he(bt.searchParams).updateSearchParams(bt.query)}),searchParams:Xe(ct),hash:Xe(Ke,function(rt){var bt=fe(this);""!=(rt=I(rt))?("#"==ue(rt,0)&&(rt=At(rt,1)),bt.fragment="",Nr(bt,rt,_r)):bt.fragment=null})}),C(Jn,"toJSON",function(){return _(nr,this)},{enumerable:!0}),C(Jn,"toString",function(){return _(nr,this)},{enumerable:!0}),ce){var Vt=ce.createObjectURL,Ct=ce.revokeObjectURL;Vt&&C(br,"createObjectURL",h(Vt,ce)),Ct&&C(br,"revokeObjectURL",h(Ct,ce))}J(br,"URL"),s({global:!0,forced:!l,sham:!a},{URL:br})},function(g,o,t){"use strict";var e=t(17),s=t(27),a=2147483647,l=/[^\0-\u007E]/,u=/[.\u3002\uFF0E\uFF61]/g,h="Overflow: input needs wider integers to process",_=e.RangeError,m=s(u.exec),b=Math.floor,C=String.fromCharCode,D=s("".charCodeAt),x=s([].join),j=s([].push),H=s("".replace),z=s("".split),U=s("".toLowerCase),M=function(Y){return Y+22+75*(Y<26)},I=function(Y,ie,oe){var fe=0;for(Y=oe?b(Y/700):Y>>1,Y+=b(Y/ie);Y>455;fe+=36)Y=b(Y/35);return b(fe+36*Y/(Y+38))},J=function(Y){var ie,oe,fe=[],ne=(Y=function(lt){for(var nn=[],St=0,At=lt.length;St<At;){var Qe=D(lt,St++);if(Qe>=55296&&Qe<=56319&&St<At){var It=D(lt,St++);56320==(64512&It)?j(nn,((1023&Qe)<<10)+(1023&It)+65536):(j(nn,Qe),St--)}else j(nn,Qe)}return nn}(Y)).length,he=128,ce=0,Ae=72;for(ie=0;ie<Y.length;ie++)(oe=Y[ie])<128&&j(fe,C(oe));var Me=fe.length,Oe=Me;for(Me&&j(fe,"-");Oe<ne;){var be=a;for(ie=0;ie<Y.length;ie++)(oe=Y[ie])>=he&&oe<be&&(be=oe);var ue=Oe+1;if(be-he>b((a-ce)/ue))throw _(h);for(ce+=(be-he)*ue,he=be,ie=0;ie<Y.length;ie++){if((oe=Y[ie])<he&&++ce>a)throw _(h);if(oe==he){for(var He=ce,$e=36;;$e+=36){var F=$e<=Ae?1:$e>=Ae+26?26:$e-Ae;if(He<F)break;var je=He-F,Et=36-F;j(fe,C(M(F+je%Et))),He=b(je/Et)}j(fe,C(M(He))),Ae=I(ce,ue,Oe==Me),ce=0,++Oe}}++ce,++he}return x(fe,"")};g.exports=function(Y){var ie,oe,fe=[],ne=z(H(U(Y),u,"."),".");for(ie=0;ie<ne.length;ie++)j(fe,m(l,oe=ne[ie])?"xn--"+J(oe):oe);return x(fe,".")}},function(g,o){},function(g,o,t){t(957);var e=t(34);g.exports=e.setTimeout},function(g,o,t){var e=t(22),s=t(17),a=t(93),l=t(41),u=t(95),h=t(86),_=/MSIE .\./.test(u),m=s.Function,b=function(C){return function(D,x){var j=arguments.length>2,H=j?h(arguments,2):void 0;return C(j?function(){a(l(D)?D:m(D),this,H)}:D,x)}};e({global:!0,bind:!0,forced:_},{setTimeout:b(s.setTimeout),setInterval:b(s.setInterval)})},function(g,o,t){var e=t(959);t(68),g.exports=e},function(g,o,t){t(77),t(960),t(97),t(131);var e=t(34);g.exports=e.Map},function(g,o,t){"use strict";t(445)("Map",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},t(961))},function(g,o,t){"use strict";var e=t(63).f,s=t(98),a=t(158),l=t(84),u=t(139),h=t(124),_=t(225),m=t(427),b=t(48),C=t(194).fastKey,D=t(76),x=D.set,j=D.getterFor;g.exports={getConstructor:function(H,z,U,M){var I=H(function(fe,ne){u(fe,J),x(fe,{type:z,index:s(null),first:void 0,last:void 0,size:0}),b||(fe.size=0),null!=ne&&h(ne,fe[M],{that:fe,AS_ENTRIES:U})}),J=I.prototype,Y=j(z),ie=function(fe,ne,he){var ce,Ae,Me=Y(fe),Oe=oe(fe,ne);return Oe?Oe.value=he:(Me.last=Oe={index:Ae=C(ne,!0),key:ne,value:he,previous:ce=Me.last,next:void 0,removed:!1},Me.first||(Me.first=Oe),ce&&(ce.next=Oe),b?Me.size++:fe.size++,"F"!==Ae&&(Me.index[Ae]=Oe)),fe},oe=function(fe,ne){var he,ce=Y(fe),Ae=C(ne);if("F"!==Ae)return ce.index[Ae];for(he=ce.first;he;he=he.next)if(he.key==ne)return he};return a(J,{clear:function(){for(var fe=Y(this),ne=fe.index,he=fe.first;he;)he.removed=!0,he.previous&&(he.previous=he.previous.next=void 0),delete ne[he.index],he=he.next;fe.first=fe.last=void 0,b?fe.size=0:this.size=0},delete:function(fe){var he=Y(this),ce=oe(this,fe);if(ce){var Ae=ce.next,Me=ce.previous;delete he.index[ce.index],ce.removed=!0,Me&&(Me.next=Ae),Ae&&(Ae.previous=Me),he.first==ce&&(he.first=Ae),he.last==ce&&(he.last=Me),b?he.size--:this.size--}return!!ce},forEach:function(fe){for(var ne,he=Y(this),ce=l(fe,arguments.length>1?arguments[1]:void 0);ne=ne?ne.next:he.first;)for(ce(ne.value,ne.key,this);ne&&ne.removed;)ne=ne.previous},has:function(fe){return!!oe(this,fe)}}),a(J,U?{get:function(fe){var ne=oe(this,fe);return ne&&ne.value},set:function(fe,ne){return ie(this,0===fe?0:fe,ne)}}:{add:function(fe){return ie(this,fe=0===fe?0:fe,fe)}}),b&&e(J,"size",{get:function(){return Y(this).size}}),I},setStrong:function(H,z,U){var M=z+" Iterator",I=j(z),J=j(M);_(H,z,function(Y,ie){x(this,{type:M,target:Y,state:I(Y),kind:ie,last:void 0})},function(){for(var Y=J(this),ie=Y.kind,oe=Y.last;oe&&oe.removed;)oe=oe.previous;return Y.target&&(Y.last=oe=oe?oe.next:Y.state.first)?"keys"==ie?{value:oe.key,done:!1}:"values"==ie?{value:oe.value,done:!1}:{value:[oe.key,oe.value],done:!1}:(Y.target=void 0,{value:void 0,done:!0})},U?"entries":"values",!U,!0),m(z)}}},function(g,o,t){t(68);var e=t(75),s=t(44),a=t(35),l=t(963),u=Array.prototype,h={DOMTokenList:!0,NodeList:!0};g.exports=function(_){var m=_.keys;return _===u||a(u,_)&&m===u.keys||s(h,e(_))?l:m}},function(g,o,t){var e=t(964);g.exports=e},function(g,o,t){t(77),t(97);var e=t(42);g.exports=e("Array").keys},function(g,o,t){t(68);var e=t(75),s=t(44),a=t(35),l=t(966),u=Array.prototype,h={DOMTokenList:!0,NodeList:!0};g.exports=function(_){var m=_.values;return _===u||a(u,_)&&m===u.values||s(h,e(_))?l:m}},function(g,o,t){var e=t(967);g.exports=e},function(g,o,t){t(77),t(97);var e=t(42);g.exports=e("Array").values},function(g,o,t){var e=t(969);g.exports=e},function(g,o,t){var e=t(35),s=t(970),a=Array.prototype;g.exports=function(l){var u=l.lastIndexOf;return l===a||e(a,l)&&u===a.lastIndexOf?s:u}},function(g,o,t){t(971);var e=t(42);g.exports=e("Array").lastIndexOf},function(g,o,t){var e=t(22),s=t(972);e({target:"Array",proto:!0,forced:s!==[].lastIndexOf},{lastIndexOf:s})},function(g,o,t){"use strict";var e=t(93),s=t(61),a=t(129),l=t(74),u=t(114),h=Math.min,_=[].lastIndexOf,m=!!_&&1/[1].lastIndexOf(1,-0)<0,b=u("lastIndexOf");g.exports=m||!b?function(D){if(m)return e(_,this,arguments)||0;var x=s(this),j=l(x),H=j-1;for(arguments.length>1&&(H=h(H,a(arguments[1]))),H<0&&(H=j+H);H>=0;H--)if(H in x&&x[H]===D)return H||0;return-1}:_},function(g,o,t){"use strict";var e,s="";g.exports=function(a,l){if("string"!=typeof a)throw new TypeError("expected a string");if(1===l)return a;if(2===l)return a+a;var u=a.length*l;if(e!==a||void 0===e)e=a,s="";else if(s.length>=u)return s.substr(0,u);for(;u>s.length&&l>1;)1&l&&(s+=a),l>>=1,a+=a;return s=(s+=a).substr(0,u)}},function(g,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.DebounceInput=void 0;var e=a(t(0)),s=a(t(975));function a(U){return U&&U.__esModule?U:{default:U}}function l(U){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(M){return typeof M}:function(M){return M&&"function"==typeof Symbol&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M})(U)}function h(U,M){var I=Object.keys(U);if(Object.getOwnPropertySymbols){var J=Object.getOwnPropertySymbols(U);M&&(J=J.filter(function(Y){return Object.getOwnPropertyDescriptor(U,Y).enumerable})),I.push.apply(I,J)}return I}function _(U){for(var M=1;M<arguments.length;M++){var I=null!=arguments[M]?arguments[M]:{};M%2?h(Object(I),!0).forEach(function(J){H(U,J,I[J])}):Object.getOwnPropertyDescriptors?Object.defineProperties(U,Object.getOwnPropertyDescriptors(I)):h(Object(I)).forEach(function(J){Object.defineProperty(U,J,Object.getOwnPropertyDescriptor(I,J))})}return U}function b(U,M){return(b=Object.setPrototypeOf||function(I,J){return I.__proto__=J,I})(U,M)}function D(U,M){return!M||"object"!==l(M)&&"function"!=typeof M?x(U):M}function x(U){if(void 0===U)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}function j(U){return(j=Object.setPrototypeOf?Object.getPrototypeOf:function(M){return M.__proto__||Object.getPrototypeOf(M)})(U)}function H(U,M,I){return M in U?Object.defineProperty(U,M,{value:I,enumerable:!0,configurable:!0,writable:!0}):U[M]=I,U}var z=function(U){!function(oe,fe){if("function"!=typeof fe&&null!==fe)throw new TypeError("Super expression must either be null or a function");oe.prototype=Object.create(fe&&fe.prototype,{constructor:{value:oe,writable:!0,configurable:!0}}),fe&&b(oe,fe)}(ie,U);var I,Y=function(U){var M=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(I){return!1}}();return function(){var I,J=j(U);if(M){var Y=j(this).constructor;I=Reflect.construct(J,arguments,Y)}else I=J.apply(this,arguments);return D(this,I)}}(ie);function ie(oe){var fe;return function(he,ce){if(!(he instanceof ce))throw new TypeError("Cannot call a class as a function")}(this,ie),H(x(fe=Y.call(this,oe)),"onChange",function(he){he.persist();var ce=fe.state.value,Ae=fe.props.minLength;fe.setState({value:he.target.value},function(){var Me=fe.state.value;Me.length>=Ae?fe.notify(he):ce.length>Me.length&&fe.notify(_(_({},he),{},{target:_(_({},he.target),{},{value:""})}))})}),H(x(fe),"onKeyDown",function(he){"Enter"===he.key&&fe.forceNotify(he);var ce=fe.props.onKeyDown;ce&&(he.persist(),ce(he))}),H(x(fe),"onBlur",function(he){fe.forceNotify(he);var ce=fe.props.onBlur;ce&&(he.persist(),ce(he))}),H(x(fe),"createNotifier",function(he){if(he<0)fe.notify=function(){return null};else if(0===he)fe.notify=fe.doNotify;else{var ce=(0,s.default)(function(Ae){fe.isDebouncing=!1,fe.doNotify(Ae)},he);fe.notify=function(Ae){fe.isDebouncing=!0,ce(Ae)},fe.flush=function(){return ce.flush()},fe.cancel=function(){fe.isDebouncing=!1,ce.cancel()}}}),H(x(fe),"doNotify",function(){var he=fe.props.onChange;he.apply(void 0,arguments)}),H(x(fe),"forceNotify",function(he){if(fe.isDebouncing||!(fe.props.debounceTimeout>0)){fe.cancel&&fe.cancel();var Ae=fe.state.value;fe.doNotify(Ae.length>=fe.props.minLength?he:_(_({},he),{},{target:_(_({},he.target),{},{value:Ae})}))}}),fe.isDebouncing=!1,fe.state={value:null==oe.value?"":oe.value},fe.createNotifier(fe.props.debounceTimeout),fe}return(I=[{key:"componentDidUpdate",value:function(oe){if(!this.isDebouncing){var fe=this.props,ne=fe.value,he=fe.debounceTimeout,ce=oe.debounceTimeout;void 0!==ne&&oe.value!==ne&&this.state.value!==ne&&this.setState({value:ne}),he!==ce&&this.createNotifier(he)}}},{key:"componentWillUnmount",value:function(){this.flush&&this.flush()}},{key:"render",value:function(){var oe,fe,ne=this.props,he=ne.element,ce=ne.forceNotifyByEnter,Ae=ne.forceNotifyOnBlur,Me=ne.onKeyDown,Oe=ne.onBlur,be=ne.inputRef,ue=function(U,M){if(null==U)return{};var I,J,Y=function(oe,fe){if(null==oe)return{};var ne,he,ce={},Ae=Object.keys(oe);for(he=0;he<Ae.length;he++)fe.indexOf(ne=Ae[he])>=0||(ce[ne]=oe[ne]);return ce}(U,M);if(Object.getOwnPropertySymbols){var ie=Object.getOwnPropertySymbols(U);for(J=0;J<ie.length;J++)M.indexOf(I=ie[J])>=0||Object.prototype.propertyIsEnumerable.call(U,I)&&(Y[I]=U[I])}return Y}(ne,["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"]),He=this.state.value;oe=ce?{onKeyDown:this.onKeyDown}:Me?{onKeyDown:Me}:{},fe=Ae?{onBlur:this.onBlur}:Oe?{onBlur:Oe}:{};var $e=be?{ref:be}:{};return e.default.createElement(he,_(_(_(_({},ue),{},{onChange:this.onChange,value:He},oe),fe),$e))}}])&&function(U,M){for(var I=0;I<M.length;I++){var J=M[I];J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J&&(J.writable=!0),Object.defineProperty(U,J.key,J)}}(ie.prototype,I),ie}(e.default.PureComponent);o.DebounceInput=z,H(z,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},function(g,o,t){(function(e){var s=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,h=parseInt,m="object"==typeof self&&self&&self.Object===Object&&self,b="object"==typeof e&&e&&e.Object===Object&&e||m||Function("return this")(),C=Object.prototype.toString,D=Math.max,x=Math.min,j=function(){return b.Date.now()};function H(U){var M=typeof U;return!!U&&("object"==M||"function"==M)}function z(U){if("number"==typeof U)return U;if("symbol"==typeof(J=U)||(Y=J)&&"object"==typeof Y&&"[object Symbol]"==C.call(J))return NaN;var J,Y;if(H(U)){var M="function"==typeof U.valueOf?U.valueOf():U;U=H(M)?M+"":M}if("string"!=typeof U)return 0===U?U:+U;U=U.replace(s,"");var I=l.test(U);return I||u.test(U)?h(U.slice(2),I?2:8):a.test(U)?NaN:+U}g.exports=function(U,M,I){var J,Y,ie,oe,fe,ne,he=0,ce=!1,Ae=!1,Me=!0;if("function"!=typeof U)throw new TypeError("Expected a function");function Oe(je){var Et=J,lt=Y;return J=Y=void 0,he=je,oe=U.apply(lt,Et)}function be(je){return he=je,fe=setTimeout(He,M),ce?Oe(je):oe}function ue(je){var Et=je-ne;return void 0===ne||Et>=M||Et<0||Ae&&je-he>=ie}function He(){var Et,lt,je=j();if(ue(je))return $e(je);fe=setTimeout(He,(lt=M-((Et=je)-ne),Ae?x(lt,ie-(Et-he)):lt))}function $e(je){return fe=void 0,Me&&J?Oe(je):(J=Y=void 0,oe)}function F(){var je=j(),Et=ue(je);if(J=arguments,Y=this,ne=je,Et){if(void 0===fe)return be(ne);if(Ae)return fe=setTimeout(He,M),Oe(ne)}return void 0===fe&&(fe=setTimeout(He,M)),oe}return M=z(M)||0,H(I)&&(ce=!!I.leading,ie=(Ae="maxWait"in I)?D(z(I.maxWait)||0,M):ie,Me="trailing"in I?!!I.trailing:Me),F.cancel=function(){void 0!==fe&&clearTimeout(fe),he=0,J=ne=Y=fe=void 0},F.flush=function(){return void 0===fe?oe:$e(j())},F}}).call(this,t(57))},function(g,o,t){var e={"./all.js":314,"./auth/actions.js":82,"./auth/index.js":277,"./auth/reducers.js":278,"./auth/selectors.js":279,"./auth/spec-wrap-actions.js":280,"./configs/actions.js":144,"./configs/helpers.js":162,"./configs/index.js":316,"./configs/reducers.js":285,"./configs/selectors.js":284,"./configs/spec-actions.js":283,"./deep-linking/helpers.js":164,"./deep-linking/index.js":286,"./deep-linking/layout.js":287,"./deep-linking/operation-tag-wrapper.jsx":289,"./deep-linking/operation-wrapper.jsx":288,"./download-url.js":282,"./err/actions.js":60,"./err/error-transformers/hook.js":127,"./err/error-transformers/transformers/not-of-type.js":258,"./err/error-transformers/transformers/parameter-oneof.js":259,"./err/index.js":256,"./err/reducers.js":257,"./err/selectors.js":260,"./filter/index.js":290,"./filter/opsFilter.js":291,"./layout/actions.js":109,"./layout/index.js":261,"./layout/reducers.js":262,"./layout/selectors.js":263,"./layout/spec-extensions/wrap-selector.js":264,"./logs/index.js":275,"./oas3/actions.js":55,"./oas3/auth-extensions/wrap-selectors.js":295,"./oas3/components/callbacks.jsx":298,"./oas3/components/http-auth.jsx":303,"./oas3/components/index.js":297,"./oas3/components/operation-link.jsx":299,"./oas3/components/operation-servers.jsx":304,"./oas3/components/request-body-editor.jsx":302,"./oas3/components/request-body.jsx":163,"./oas3/components/servers-container.jsx":301,"./oas3/components/servers.jsx":300,"./oas3/helpers.jsx":36,"./oas3/index.js":293,"./oas3/reducers.js":313,"./oas3/selectors.js":312,"./oas3/spec-extensions/selectors.js":296,"./oas3/spec-extensions/wrap-selectors.js":294,"./oas3/wrap-components/auth-item.jsx":307,"./oas3/wrap-components/index.js":305,"./oas3/wrap-components/json-schema-string.jsx":311,"./oas3/wrap-components/markdown.jsx":306,"./oas3/wrap-components/model.jsx":310,"./oas3/wrap-components/online-validator-badge.js":309,"./oas3/wrap-components/version-stamp.jsx":308,"./on-complete/index.js":292,"./request-snippets/fn.js":161,"./request-snippets/index.js":272,"./request-snippets/request-snippets.jsx":274,"./request-snippets/selectors.js":273,"./samples/fn.js":142,"./samples/index.js":271,"./spec/actions.js":46,"./spec/index.js":265,"./spec/reducers.js":266,"./spec/selectors.js":88,"./spec/wrap-actions.js":267,"./swagger-js/configs-wrap-actions.js":276,"./swagger-js/index.js":315,"./util/index.js":281,"./view/error-boundary.jsx":270,"./view/fallback.jsx":160,"./view/index.js":268,"./view/root-injects.jsx":165};function s(l){var u=a(l);return t(u)}function a(l){if(!t.o(e,l)){var u=new Error("Cannot find module '"+l+"'");throw u.code="MODULE_NOT_FOUND",u}return e[l]}s.keys=function(){return Object.keys(e)},s.resolve=a,g.exports=s,s.id=976},function(g,o,t){"use strict";t.r(o);var e={};t.r(e),t.d(e,"Container",function(){return Bl}),t.d(e,"Col",function(){return Di}),t.d(e,"Row",function(){return vs}),t.d(e,"Button",function(){return pa}),t.d(e,"TextArea",function(){return Vo}),t.d(e,"Input",function(){return ja}),t.d(e,"Select",function(){return hs}),t.d(e,"Link",function(){return ze}),t.d(e,"Collapse",function(){return kt});var s={};t.r(s),t.d(s,"JsonSchemaForm",function(){return Es}),t.d(s,"JsonSchema_string",function(){return Ll}),t.d(s,"JsonSchema_array",function(){return Hl}),t.d(s,"JsonSchemaArrayItemText",function(){return mo}),t.d(s,"JsonSchemaArrayItemFile",function(){return As}),t.d(s,"JsonSchema_boolean",function(){return qc}),t.d(s,"JsonSchema_object",function(){return fc});var a=t(19),l=t.n(a),u=t(2),h=t.n(u),_=t(12),m=t.n(_),b=t(15),C=t.n(b),D=t(32),x=t.n(D),j=t(79),H=t.n(j),z=t(3),U=t.n(z),M=t(6),I=t.n(M),J=t(7),Y=t.n(J),ie=t(37),oe=t.n(ie),fe=t(21),ne=t.n(fe),he=t(20),ce=t.n(he),Ae=t(24),Me=t.n(Ae),Oe=t(30),be=t.n(Oe),ue=t(4),He=t.n(ue),$e=t(0),F=t.n($e);function je(xe,ke,Te){return ke in xe?Object.defineProperty(xe,ke,{value:Te,enumerable:!0,configurable:!0,writable:!0}):xe[ke]=Te,xe}function Et(xe,ke){var Te=Object.keys(xe);if(Object.getOwnPropertySymbols){var ge=Object.getOwnPropertySymbols(xe);ke&&(ge=ge.filter(function(Re){return Object.getOwnPropertyDescriptor(xe,Re).enumerable})),Te.push.apply(Te,ge)}return Te}function lt(xe){for(var ke=1;ke<arguments.length;ke++){var Te=null!=arguments[ke]?arguments[ke]:{};ke%2?Et(Object(Te),!0).forEach(function(ge){je(xe,ge,Te[ge])}):Object.getOwnPropertyDescriptors?Object.defineProperties(xe,Object.getOwnPropertyDescriptors(Te)):Et(Object(Te)).forEach(function(ge){Object.defineProperty(xe,ge,Object.getOwnPropertyDescriptor(Te,ge))})}return xe}function nn(xe){return"Minified Redux error #"+xe+"; visit https://redux.js.org/Errors?code="+xe+" for the full message or use the non-minified dev environment for full errors. "}var St="function"==typeof Symbol&&Symbol.observable||"@@observable",At=function(){return Math.random().toString(36).substring(7).split("").join(".")},Qe={INIT:"@@redux/INIT"+At(),REPLACE:"@@redux/REPLACE"+At(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+At()}};function It(xe){if("object"!=typeof xe||null===xe)return!1;for(var ke=xe;null!==Object.getPrototypeOf(ke);)ke=Object.getPrototypeOf(ke);return Object.getPrototypeOf(xe)===ke}function ae(xe,ke,Te){var ge;if("function"==typeof ke&&"function"==typeof Te||"function"==typeof Te&&"function"==typeof arguments[3])throw new Error(nn(0));if("function"==typeof ke&&void 0===Te&&(Te=ke,ke=void 0),void 0!==Te){if("function"!=typeof Te)throw new Error(nn(1));return Te(ae)(xe,ke)}if("function"!=typeof xe)throw new Error(nn(2));var Re=xe,Be=ke,xt=[],Dt=xt,en=!1;function vn(){Dt===xt&&(Dt=xt.slice())}function Gn(){if(en)throw new Error(nn(3));return Be}function kn(Gr){if("function"!=typeof Gr)throw new Error(nn(4));if(en)throw new Error(nn(5));var ci=!0;return vn(),Dt.push(Gr),function(){if(ci){if(en)throw new Error(nn(6));ci=!1,vn();var Ci=Dt.indexOf(Gr);Dt.splice(Ci,1),xt=null}}}function zn(Gr){if(!It(Gr))throw new Error(nn(7));if(void 0===Gr.type)throw new Error(nn(8));if(en)throw new Error(nn(9));try{en=!0,Be=Re(Be,Gr)}finally{en=!1}for(var ci=xt=Dt,Ci=0;Ci<ci.length;Ci++)(0,ci[Ci])();return Gr}function jr(Gr){if("function"!=typeof Gr)throw new Error(nn(10));Re=Gr,zn({type:Qe.REPLACE})}function kr(){var Gr,ci=kn;return(Gr={subscribe:function(Ci){if("object"!=typeof Ci||null===Ci)throw new Error(nn(11));function vi(){Ci.next&&Ci.next(Gn())}return vi(),{unsubscribe:ci(vi)}}})[St]=function(){return this},Gr}return zn({type:Qe.INIT}),(ge={dispatch:zn,subscribe:kn,getState:Gn,replaceReducer:jr})[St]=kr,ge}function Ie(xe,ke){return function(){return ke(xe.apply(this,arguments))}}function dt(){for(var xe=arguments.length,ke=new Array(xe),Te=0;Te<xe;Te++)ke[Te]=arguments[Te];return 0===ke.length?function(ge){return ge}:1===ke.length?ke[0]:ke.reduce(function(ge,Re){return function(){return ge(Re.apply(void 0,arguments))}})}function Jt(){for(var xe=arguments.length,ke=new Array(xe),Te=0;Te<xe;Te++)ke[Te]=arguments[Te];return function(ge){return function(){var Re=ge.apply(void 0,arguments),Be=function(){throw new Error(nn(15))},xt={getState:Re.getState,dispatch:function(){return Be.apply(void 0,arguments)}},Dt=ke.map(function(en){return en(xt)});return Be=dt.apply(void 0,Dt)(Re.dispatch),lt(lt({},Re),{},{dispatch:Be})}}}var zt=t(1),ln=t.n(zt),ar=t(448),Ln=t(141),Rn=t(449),er=t.n(Rn),Mn=t(60),Ht=t(26),tr=t(5),Yn=function(xe){return xe};function Cn(xe,ke,Te){var ge=[Object(tr.J)(Te)];return ae(xe,ke,(Ht.a.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||dt)(Jt.apply(void 0,ge)))}var Kt=function(){function xe(){var ke,Te=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};I()(this,xe),H()(this,{state:{},plugins:[],pluginsOptions:{},system:{configs:{},fn:{},components:{},rootInjects:{},statePlugins:{}},boundSystem:{},toolbox:{}},Te),this.getSystem=oe()(ke=this._getSystem).call(ke,this),this.store=$n(Yn,Object(zt.fromJS)(this.state),this.getSystem),this.buildSystem(!1),this.register(this.plugins)}return Y()(xe,[{key:"getStore",value:function(){return this.store}},{key:"register",value:function(ke){var Te=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],ge=dn(ke,this.getSystem(),this.pluginsOptions);qn(this.system,ge),Te&&this.buildSystem();var Re=Kn.call(this.system,ke,this.getSystem());Re&&this.buildSystem()}},{key:"buildSystem",value:function(){var ke=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],Te=this.getStore().dispatch,ge=this.getStore().getState;this.boundSystem=ne()({},this.getRootInjects(),this.getWrappedAndBoundActions(Te),this.getWrappedAndBoundSelectors(ge,this.getSystem),this.getStateThunks(ge),this.getFn(),this.getConfigs()),ke&&this.rebuildReducer()}},{key:"_getSystem",value:function(){return this.boundSystem}},{key:"getRootInjects",value:function(){var ke,Te,ge;return ne()({getSystem:this.getSystem,getStore:oe()(ke=this.getStore).call(ke,this),getComponents:oe()(Te=this.getComponents).call(Te,this),getState:this.getStore().getState,getConfigs:oe()(ge=this._getConfigs).call(ge,this),Im:ln.a,React:F.a},this.system.rootInjects||{})}},{key:"_getConfigs",value:function(){return this.system.configs}},{key:"getConfigs",value:function(){return{configs:this.system.configs}}},{key:"setConfigs",value:function(ke){this.system.configs=ke}},{key:"rebuildReducer",value:function(){var ke,Te,ge,Re;this.store.replaceReducer((Re=this.system.statePlugins,ke=Object(tr.x)(Re,function(Be){return Be.reducers}),ge=be()(Te=C()(ke)).call(Te,function(Be,xt){return Be[xt]=(Dt=ke[xt],function(){var en=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new zt.Map,vn=arguments.length>1?arguments[1]:void 0;if(!Dt)return en;var Gn=Dt[vn.type];if(Gn){var kn=Sn(Gn)(en,vn);return null===kn?en:kn}return en}),Be;var Dt},{}),C()(ge).length?Object(ar.combineReducers)(ge):Yn))}},{key:"getType",value:function(ke){var Te=ke[0].toUpperCase()+ce()(ke).call(ke,1);return Object(tr.y)(this.system.statePlugins,function(ge,Re){var Be=ge[ke];if(Be)return U()({},Re+Te,Be)})}},{key:"getSelectors",value:function(){return this.getType("selectors")}},{key:"getActions",value:function(){var ke=this.getType("actions");return Object(tr.x)(ke,function(Te){return Object(tr.y)(Te,function(ge,Re){if(Object(tr.r)(ge))return U()({},Re,ge)})})}},{key:"getWrappedAndBoundActions",value:function(ke){var Te=this,ge=this.getBoundActions(ke);return Object(tr.x)(ge,function(Re,Be){var xt=Te.system.statePlugins[ce()(Be).call(Be,0,-7)].wrapActions;return xt?Object(tr.x)(Re,function(Dt,en){var vn=xt[en];return vn?(Me()(vn)||(vn=[vn]),be()(vn).call(vn,function(Gn,kn){var zn=function(){return kn(Gn,Te.getSystem()).apply(void 0,arguments)};if(!Object(tr.r)(zn))throw new TypeError("wrapActions needs to return a function that returns a new function (ie the wrapped action)");return Sn(zn)},Dt||Function.prototype)):Dt}):Re})}},{key:"getWrappedAndBoundSelectors",value:function(ke,Te){var ge=this,Re=this.getBoundSelectors(ke,Te);return Object(tr.x)(Re,function(Be,xt){var Dt=[ce()(xt).call(xt,0,-9)],en=ge.system.statePlugins[Dt].wrapSelectors;return en?Object(tr.x)(Be,function(vn,Gn){var kn=en[Gn];return kn?(Me()(kn)||(kn=[kn]),be()(kn).call(kn,function(zn,jr){var kr=function(){for(var Gr,ci=arguments.length,Ci=new Array(ci),vi=0;vi<ci;vi++)Ci[vi]=arguments[vi];return jr(zn,ge.getSystem()).apply(void 0,h()(Gr=[ke().getIn(Dt)]).call(Gr,Ci))};if(!Object(tr.r)(kr))throw new TypeError("wrapSelector needs to return a function that returns a new function (ie the wrapped action)");return kr},vn||Function.prototype)):vn}):Be})}},{key:"getStates",value:function(ke){var Te;return be()(Te=C()(this.system.statePlugins)).call(Te,function(ge,Re){return ge[Re]=ke.get(Re),ge},{})}},{key:"getStateThunks",value:function(ke){var Te;return be()(Te=C()(this.system.statePlugins)).call(Te,function(ge,Re){return ge[Re]=function(){return ke().get(Re)},ge},{})}},{key:"getFn",value:function(){return{fn:this.system.fn}}},{key:"getComponents",value:function(ke){var Te=this,ge=this.system.components[ke];return Me()(ge)?be()(ge).call(ge,function(Re,Be){return Be(Re,Te.getSystem())}):void 0!==ke?this.system.components[ke]:this.system.components}},{key:"getBoundSelectors",value:function(ke,Te){return Object(tr.x)(this.getSelectors(),function(ge,Re){var Be=[ce()(Re).call(Re,0,-9)],xt=function(){return ke().getIn(Be)};return Object(tr.x)(ge,function(Dt){return function(){for(var en,vn=arguments.length,Gn=new Array(vn),kn=0;kn<vn;kn++)Gn[kn]=arguments[kn];var zn=Sn(Dt).apply(null,h()(en=[xt()]).call(en,Gn));return"function"==typeof zn&&(zn=Sn(zn)(Te())),zn}})})}},{key:"getBoundActions",value:function(ke){ke=ke||this.getStore().dispatch;var Te=this.getActions(),ge=function Re(Be){return"function"!=typeof Be?Object(tr.x)(Be,function(xt){return Re(xt)}):function(){var xt=null;try{xt=Be.apply(void 0,arguments)}catch(Dt){xt={type:Mn.NEW_THROWN_ERR,error:!0,payload:Object(Ln.serializeError)(Dt)}}finally{return xt}}};return Object(tr.x)(Te,function(Re){return function(Be,xt){if("function"==typeof Be)return Ie(Be,xt);if("object"!=typeof Be||null===Be)throw new Error(nn(16));var Dt={};for(var en in Be){var vn=Be[en];"function"==typeof vn&&(Dt[en]=Ie(vn,xt))}return Dt}(ge(Re),ke)})}},{key:"getMapStateToProps",value:function(){var ke=this;return function(){return ne()({},ke.getSystem())}}},{key:"getMapDispatchToProps",value:function(ke){var Te=this;return function(ge){return H()({},Te.getWrappedAndBoundActions(ge),Te.getFn(),ke)}}}]),xe}();function dn(xe,ke,Te){if(Object(tr.t)(xe)&&!Object(tr.p)(xe))return er()({},xe);if(Object(tr.s)(xe))return dn(xe(ke),ke,Te);if(Object(tr.p)(xe)){var ge,Re="chain"===Te.pluginLoadType?ke.getComponents():{};return be()(ge=He()(xe).call(xe,function(Be){return dn(Be,ke,Te)})).call(ge,qn,Re)}return{}}function Kn(xe,ke){var Te=this,ge=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Re=ge.hasLoaded,Be=Re;return Object(tr.t)(xe)&&!Object(tr.p)(xe)&&"function"==typeof xe.afterLoad&&(Be=!0,Sn(xe.afterLoad).call(this,ke)),Object(tr.s)(xe)?Kn.call(this,xe(ke),ke,{hasLoaded:Be}):Object(tr.p)(xe)?He()(xe).call(xe,function(xt){return Kn.call(Te,xt,ke,{hasLoaded:Be})}):Be}function qn(){var xe=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},ke=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Object(tr.t)(xe))return{};if(!Object(tr.t)(ke))return xe;ke.wrapComponents&&(Object(tr.x)(ke.wrapComponents,function(jr,kr){var Gr=xe.components&&xe.components[kr];Gr&&Me()(Gr)?(xe.components[kr]=h()(Gr).call(Gr,[jr]),delete ke.wrapComponents[kr]):Gr&&(xe.components[kr]=[Gr,jr],delete ke.wrapComponents[kr])}),C()(ke.wrapComponents).length||delete ke.wrapComponents);var Te=xe.statePlugins;if(Object(tr.t)(Te))for(var ge in Te){var Re=Te[ge];if(Object(tr.t)(Re)){var Be=Re.wrapActions,xt=Re.wrapSelectors;if(Object(tr.t)(Be))for(var Dt in Be){var en,vn=Be[Dt];Me()(vn)||(Be[Dt]=vn=[vn]),ke&&ke.statePlugins&&ke.statePlugins[ge]&&ke.statePlugins[ge].wrapActions&&ke.statePlugins[ge].wrapActions[Dt]&&(ke.statePlugins[ge].wrapActions[Dt]=h()(en=Be[Dt]).call(en,ke.statePlugins[ge].wrapActions[Dt]))}if(Object(tr.t)(xt))for(var Gn in xt){var kn,zn=xt[Gn];Me()(zn)||(xt[Gn]=zn=[zn]),ke&&ke.statePlugins&&ke.statePlugins[ge]&&ke.statePlugins[ge].wrapSelectors&&ke.statePlugins[ge].wrapSelectors[Gn]&&(ke.statePlugins[ge].wrapSelectors[Gn]=h()(kn=xt[Gn]).call(kn,ke.statePlugins[ge].wrapSelectors[Gn]))}}}return H()(xe,ke)}function Sn(xe){var ke=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Te=ke.logErrors,ge=void 0===Te||Te;return"function"!=typeof xe?xe:function(){try{for(var Re,Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return xe.call.apply(xe,h()(Re=[this]).call(Re,xt))}catch(en){return ge&&console.error(en),null}}}function $n(xe,ke,Te){return Cn(xe,ke,Te)}var En=t(256),Fn=t(261),Dn=t(265),mn=t(268),jn=t(271),Xt=t(272),ut=t(275),mt=t(315),Tt=t(277),yn=t(281),et=t(282),jt=t(316),hn=t(286),Qn=t(290),Ir=t(292),ht=t(10),L=t.n(ht),Ue=t(8),nt=t.n(Ue),at=t(9),it=t.n(at),Pt=t(18),Ut=t.n(Pt),ot=(t(11),t(28),t(59)),Nn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"toggleShown",function(){var Dt=Be.props,en=Dt.layoutActions,vn=Dt.tag,Gn=Dt.operationId,kn=Dt.isShown,zn=Be.getResolvedSubtree();kn||void 0!==zn||Be.requestResolvedSubtree(),en.show(["operations",vn,Gn],!kn)}),U()(L()(Be),"onCancelClick",function(){Be.setState({tryItOutEnabled:!Be.state.tryItOutEnabled})}),U()(L()(Be),"onTryoutClick",function(){Be.setState({tryItOutEnabled:!Be.state.tryItOutEnabled})}),U()(L()(Be),"onExecute",function(){Be.setState({executeInProgress:!0})}),U()(L()(Be),"getResolvedSubtree",function(){var Dt=Be.props,vn=Dt.path,Gn=Dt.method,kn=Dt.specPath;return Dt.specSelectors.specResolvedSubtree(kn?kn.toJS():["paths",vn,Gn])}),U()(L()(Be),"requestResolvedSubtree",function(){var Dt=Be.props,vn=Dt.path,Gn=Dt.method,kn=Dt.specPath;return Dt.specActions.requestResolvedSubtree(kn?kn.toJS():["paths",vn,Gn])});var xt=ge.getConfigs().tryItOutEnabled;return Be.state={tryItOutEnabled:!0===xt||"true"===xt,executeInProgress:!1},Be}return Y()(Te,[{key:"mapStateToProps",value:function(ge,Re){var Be,xt=Re.op,Dt=Re.layoutSelectors,en=(0,Re.getConfigs)(),vn=en.docExpansion,Gn=en.deepLinking,kn=en.displayOperationId,zn=en.displayRequestDuration,jr=en.supportedSubmitMethods,kr=Dt.showSummary(),Gr=xt.getIn(["operation","__originalOperationId"])||xt.getIn(["operation","operationId"])||Object(ot.e)(xt.get("operation"),Re.path,Re.method)||xt.get("id"),ci=["operations",Re.tag,Gr],Ci=Gn&&"false"!==Gn,vi=Ut()(jr).call(jr,Re.method)>=0&&(void 0===Re.allowTryItOut?Re.specSelectors.allowTryItOutFor(Re.path,Re.method):Re.allowTryItOut),Ai=xt.getIn(["operation","security"])||Re.specSelectors.security();return{operationId:Gr,isDeepLinkingEnabled:Ci,showSummary:kr,displayOperationId:kn,displayRequestDuration:zn,allowTryItOut:vi,security:Ai,isAuthorized:Re.authSelectors.isAuthorized(Ai),isShown:Dt.isShown(ci,"full"===vn),jumpToKey:h()(Be="paths.".concat(Re.path,".")).call(Be,Re.method),response:Re.specSelectors.responseFor(Re.path,Re.method),request:Re.specSelectors.requestFor(Re.path,Re.method)}}},{key:"componentDidMount",value:function(){var ge=this.props.isShown,Re=this.getResolvedSubtree();ge&&void 0===Re&&this.requestResolvedSubtree()}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re=ge.response,Be=ge.isShown,xt=this.getResolvedSubtree();Re!==this.props.response&&this.setState({executeInProgress:!1}),Be&&void 0===xt&&this.requestResolvedSubtree()}},{key:"render",value:function(){var ge=this.props,Re=ge.op,Be=ge.tag,xt=ge.path,Dt=ge.method,en=ge.security,vn=ge.isAuthorized,Gn=ge.operationId,kn=ge.showSummary,zn=ge.isShown,jr=ge.jumpToKey,kr=ge.allowTryItOut,Gr=ge.response,ci=ge.request,Ci=ge.displayOperationId,vi=ge.displayRequestDuration,Ai=ge.isDeepLinkingEnabled,fo=ge.specPath,po=ge.specSelectors,No=ge.specActions,wo=ge.getComponent,oo=ge.getConfigs,Oo=ge.layoutSelectors,Ki=ge.layoutActions,Vi=ge.authActions,Wo=ge.authSelectors,Po=ge.oas3Actions,ho=ge.oas3Selectors,xo=ge.fn,Ps=wo("operation"),_n=this.getResolvedSubtree()||Object(zt.Map)(),Hs=Object(zt.fromJS)({op:_n,tag:Be,path:xt,summary:Re.getIn(["operation","summary"])||"",deprecated:_n.get("deprecated")||Re.getIn(["operation","deprecated"])||!1,method:Dt,security:en,isAuthorized:vn,operationId:Gn,originalOperationId:_n.getIn(["operation","__originalOperationId"]),showSummary:kn,isShown:zn,jumpToKey:jr,allowTryItOut:kr,request:ci,displayOperationId:Ci,displayRequestDuration:vi,isDeepLinkingEnabled:Ai,executeInProgress:this.state.executeInProgress,tryItOutEnabled:this.state.tryItOutEnabled});return F.a.createElement(Ps,{operation:Hs,response:Gr,request:ci,isShown:zn,toggleShown:this.toggleShown,onTryoutClick:this.onTryoutClick,onCancelClick:this.onCancelClick,onExecute:this.onExecute,specPath:fo,specActions:No,specSelectors:po,oas3Actions:Po,oas3Selectors:ho,layoutActions:Ki,layoutSelectors:Oo,authActions:Vi,authSelectors:Wo,getComponent:wo,getConfigs:oo,fn:xo})}}]),Te}($e.PureComponent);U()(Nn,"defaultProps",{showSummary:!0,response:null,allowTryItOut:!0,displayOperationId:!1,displayRequestDuration:!1});var sn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"getLayout",value:function(){var ge=this.props,Re=ge.getComponent,Be=ge.layoutSelectors.current();return Re(Be,!0)||function(){return F.a.createElement("h1",null,' No layout defined for "',Be,'" ')}}},{key:"render",value:function(){var ge=this.getLayout();return F.a.createElement(ge,null)}}]),Te}(F.a.Component);sn.defaultProps={};var An=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"close",function(){Re.props.authActions.showDefinitions(!1)}),Re}return Y()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.authSelectors,xt=Re.authActions,Dt=Re.getComponent,en=Re.errSelectors,vn=Re.specSelectors,Gn=Re.fn.AST,kn=void 0===Gn?{}:Gn,zn=Be.shownDefinitions(),jr=Dt("auths");return F.a.createElement("div",{className:"dialog-ux"},F.a.createElement("div",{className:"backdrop-ux"}),F.a.createElement("div",{className:"modal-ux"},F.a.createElement("div",{className:"modal-dialog-ux"},F.a.createElement("div",{className:"modal-ux-inner"},F.a.createElement("div",{className:"modal-ux-header"},F.a.createElement("h3",null,"Available authorizations"),F.a.createElement("button",{type:"button",className:"close-modal",onClick:this.close},F.a.createElement("svg",{width:"20",height:"20"},F.a.createElement("use",{href:"#close",xlinkHref:"#close"})))),F.a.createElement("div",{className:"modal-ux-content"},He()(ge=zn.valueSeq()).call(ge,function(kr,Gr){return F.a.createElement(jr,{key:Gr,AST:kn,definitions:kr,getComponent:Dt,errSelectors:en,authSelectors:Be,authActions:xt,specSelectors:vn})}))))))}}]),Te}(F.a.Component),Bn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.isAuthorized,Be=ge.showPopup,xt=ge.onClick,Dt=(0,ge.getComponent)("authorizationPopup",!0);return F.a.createElement("div",{className:"auth-wrapper"},F.a.createElement("button",{className:Re?"btn authorize locked":"btn authorize unlocked",onClick:xt},F.a.createElement("span",null,"Authorize"),F.a.createElement("svg",{width:"20",height:"20"},F.a.createElement("use",{href:Re?"#locked":"#unlocked",xlinkHref:Re?"#locked":"#unlocked"}))),Be&&F.a.createElement(Dt,null))}}]),Te}(F.a.Component),ir=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.authActions,Be=ge.authSelectors,Dt=ge.getComponent,en=ge.specSelectors.securityDefinitions(),vn=Be.definitionsToAuthorize(),Gn=Dt("authorizeBtn");return en?F.a.createElement(Gn,{onClick:function(){return Re.showDefinitions(vn)},isAuthorized:!!Be.authorized().size,showPopup:!!Be.shownDefinitions(),getComponent:Dt}):null}}]),Te}(F.a.Component),mr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onClick",function(en){en.stopPropagation();var vn=Re.props.onClick;vn&&vn()}),Re}return Y()(Te,[{key:"render",value:function(){var ge=this.props.isAuthorized;return F.a.createElement("button",{className:ge?"authorization__btn locked":"authorization__btn unlocked","aria-label":ge?"authorization button locked":"authorization button unlocked",onClick:this.onClick},F.a.createElement("svg",{width:"20",height:"20"},F.a.createElement("use",{href:ge?"#locked":"#unlocked",xlinkHref:ge?"#locked":"#unlocked"})))}}]),Te}(F.a.Component),_r=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onAuthChange",function(xt){var Dt=xt.name;Be.setState(U()({},Dt,xt))}),U()(L()(Be),"submitAuth",function(xt){xt.preventDefault(),Be.props.authActions.authorizeWithPersistOption(Be.state)}),U()(L()(Be),"logoutClick",function(xt){xt.preventDefault();var Dt=Be.props,en=Dt.authActions,vn=Dt.definitions,Gn=He()(vn).call(vn,function(kn,zn){return zn}).toArray();Be.setState(be()(Gn).call(Gn,function(kn,zn){return kn[zn]="",kn},{})),en.logoutWithPersistOption(Gn)}),U()(L()(Be),"close",function(xt){xt.preventDefault(),Be.props.authActions.showDefinitions(!1)}),Be.state={},Be}return Y()(Te,[{key:"render",value:function(){var ge,Re=this,Be=this.props,xt=Be.definitions,Dt=Be.getComponent,en=Be.authSelectors,vn=Be.errSelectors,Gn=Dt("AuthItem"),kn=Dt("oauth2",!0),zn=Dt("Button"),jr=en.authorized(),kr=m()(xt).call(xt,function(Ci,vi){return!!jr.get(vi)}),Gr=m()(xt).call(xt,function(Ci){return"oauth2"!==Ci.get("type")}),ci=m()(xt).call(xt,function(Ci){return"oauth2"===Ci.get("type")});return F.a.createElement("div",{className:"auth-container"},!!Gr.size&&F.a.createElement("form",{onSubmit:this.submitAuth},He()(Gr).call(Gr,function(Ci,vi){return F.a.createElement(Gn,{key:vi,schema:Ci,name:vi,getComponent:Dt,onAuthChange:Re.onAuthChange,authorized:jr,errSelectors:vn})}).toArray(),F.a.createElement("div",{className:"auth-btn-wrapper"},Gr.size===kr.size?F.a.createElement(zn,{className:"btn modal-btn auth",onClick:this.logoutClick},"Logout"):F.a.createElement(zn,{type:"submit",className:"btn modal-btn auth authorize"},"Authorize"),F.a.createElement(zn,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close"))),ci&&ci.size?F.a.createElement("div",null,F.a.createElement("div",{className:"scope-def"},F.a.createElement("p",null,"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes."),F.a.createElement("p",null,"API requires the following scopes. Select which ones you want to grant to Swagger UI.")),He()(ge=m()(xt).call(xt,function(Ci){return"oauth2"===Ci.get("type")})).call(ge,function(Ci,vi){return F.a.createElement("div",{key:vi},F.a.createElement(kn,{authorized:jr,schema:Ci,name:vi}))}).toArray()):null)}}]),Te}(F.a.Component),Nr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.schema,xt=Re.name,Dt=Re.getComponent,en=Re.onAuthChange,vn=Re.authorized,Gn=Re.errSelectors,kn=Dt("apiKeyAuth"),zn=Dt("basicAuth"),jr=Be.get("type");switch(jr){case"apiKey":ge=F.a.createElement(kn,{key:xt,schema:Be,name:xt,errSelectors:Gn,authorized:vn,getComponent:Dt,onChange:en});break;case"basic":ge=F.a.createElement(zn,{key:xt,schema:Be,name:xt,errSelectors:Gn,authorized:vn,getComponent:Dt,onChange:en});break;default:ge=F.a.createElement("div",{key:xt},"Unknown security definition type ",jr)}return F.a.createElement("div",{key:"".concat(xt,"-jump")},ge)}}]),Te}(F.a.Component),br=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props.error,Re=ge.get("level"),Be=ge.get("message"),xt=ge.get("source");return F.a.createElement("div",{className:"errors"},F.a.createElement("b",null,xt," ",Re),F.a.createElement("span",null,Be))}}]),Te}(F.a.Component),Jn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChange",function(Gn){var kn=Be.props.onChange,zn=Gn.target.value,jr=ne()({},Be.state,{value:zn});Be.setState(jr),kn(jr)});var xt=Be.props,Dt=xt.name,en=xt.schema,vn=Be.getValue();return Be.state={name:Dt,schema:en,value:vn},Be}return Y()(Te,[{key:"getValue",value:function(){var ge=this.props,Be=ge.authorized;return Be&&Be.getIn([ge.name,"value"])}},{key:"render",value:function(){var ge,Re,Be=this.props,xt=Be.schema,Dt=Be.getComponent,en=Be.errSelectors,vn=Be.name,Gn=Dt("Input"),kn=Dt("Row"),zn=Dt("Col"),jr=Dt("authError"),kr=Dt("Markdown",!0),Gr=Dt("JumpToPath",!0),ci=this.getValue(),Ci=m()(ge=en.allErrors()).call(ge,function(vi){return vi.get("authId")===vn});return F.a.createElement("div",null,F.a.createElement("h4",null,F.a.createElement("code",null,vn||xt.get("name")),"\xa0(apiKey)",F.a.createElement(Gr,{path:["securityDefinitions",vn]})),ci&&F.a.createElement("h6",null,"Authorized"),F.a.createElement(kn,null,F.a.createElement(kr,{source:xt.get("description")})),F.a.createElement(kn,null,F.a.createElement("p",null,"Name: ",F.a.createElement("code",null,xt.get("name")))),F.a.createElement(kn,null,F.a.createElement("p",null,"In: ",F.a.createElement("code",null,xt.get("in")))),F.a.createElement(kn,null,F.a.createElement("label",null,"Value:"),ci?F.a.createElement("code",null," ****** "):F.a.createElement(zn,null,F.a.createElement(Gn,{type:"text",onChange:this.onChange,autoFocus:!0}))),He()(Re=Ci.valueSeq()).call(Re,function(vi,Ai){return F.a.createElement(jr,{error:vi,key:Ai})}))}}]),Te}(F.a.Component),nr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChange",function(Gn){var kn=Be.props.onChange,zn=Gn.target,Gr=Be.state.value;Gr[zn.name]=zn.value,Be.setState({value:Gr}),kn(Be.state)});var xt=Be.props,Dt=xt.schema,en=xt.name,vn=Be.getValue().username;return Be.state={name:en,schema:Dt,value:vn?{username:vn}:{}},Be}return Y()(Te,[{key:"getValue",value:function(){var ge=this.props,Re=ge.authorized;return Re&&Re.getIn([ge.name,"value"])||{}}},{key:"render",value:function(){var ge,Re,Be=this.props,xt=Be.schema,Dt=Be.getComponent,en=Be.name,vn=Be.errSelectors,Gn=Dt("Input"),kn=Dt("Row"),zn=Dt("Col"),jr=Dt("authError"),kr=Dt("JumpToPath",!0),Gr=Dt("Markdown",!0),ci=this.getValue().username,Ci=m()(ge=vn.allErrors()).call(ge,function(vi){return vi.get("authId")===en});return F.a.createElement("div",null,F.a.createElement("h4",null,"Basic authorization",F.a.createElement(kr,{path:["securityDefinitions",en]})),ci&&F.a.createElement("h6",null,"Authorized"),F.a.createElement(kn,null,F.a.createElement(Gr,{source:xt.get("description")})),F.a.createElement(kn,null,F.a.createElement("label",null,"Username:"),ci?F.a.createElement("code",null," ",ci," "):F.a.createElement(zn,null,F.a.createElement(Gn,{type:"text",required:"required",name:"username",onChange:this.onChange,autoFocus:!0}))),F.a.createElement(kn,null,F.a.createElement("label",null,"Password:"),ci?F.a.createElement("code",null," ****** "):F.a.createElement(zn,null,F.a.createElement(Gn,{autoComplete:"new-password",name:"password",type:"password",onChange:this.onChange}))),He()(Re=Ci.valueSeq()).call(Re,function(vi,Ai){return F.a.createElement(jr,{error:vi,key:Ai})}))}}]),Te}(F.a.Component);function Mr(xe){var ke=xe.example,Te=xe.showValue,ge=xe.getComponent,Re=xe.getConfigs,Be=ge("Markdown",!0),xt=ge("highlightCode");return ke?F.a.createElement("div",{className:"example"},ke.get("description")?F.a.createElement("section",{className:"example__section"},F.a.createElement("div",{className:"example__section-header"},"Example Description"),F.a.createElement("p",null,F.a.createElement(Be,{source:ke.get("description")}))):null,Te&&ke.has("value")?F.a.createElement("section",{className:"example__section"},F.a.createElement("div",{className:"example__section-header"},"Example Value"),F.a.createElement(xt,{getConfigs:Re,value:Object(tr.I)(ke.get("value"))})):null):null}var yi=t(476),Ii=t.n(yi),Mi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"_onSelect",function(en){var vn=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Gn=vn.isSyntheticChange,kn=void 0!==Gn&&Gn;"function"==typeof Re.props.onSelect&&Re.props.onSelect(en,{isSyntheticChange:kn})}),U()(L()(Re),"_onDomSelect",function(en){if("function"==typeof Re.props.onSelect){var vn=en.target.selectedOptions[0].getAttribute("value");Re._onSelect(vn,{isSyntheticChange:!1})}}),U()(L()(Re),"getCurrentExample",function(){var en=Re.props,vn=en.examples,kn=vn.get(en.currentExampleKey),zn=vn.keySeq().first(),jr=vn.get(zn);return kn||jr||Ii()({})}),Re}return Y()(Te,[{key:"componentDidMount",value:function(){var ge=this.props,Be=ge.examples;if("function"==typeof ge.onSelect){var xt=Be.first(),Dt=Be.keyOf(xt);this._onSelect(Dt,{isSyntheticChange:!0})}}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Be=ge.examples;if(Be!==this.props.examples&&!Be.has(ge.currentExampleKey)){var xt=Be.first(),Dt=Be.keyOf(xt);this._onSelect(Dt,{isSyntheticChange:!0})}}},{key:"render",value:function(){var ge=this.props,Re=ge.examples,Be=ge.currentExampleKey,xt=ge.isValueModified,Dt=ge.isModifiedValueAvailable;return F.a.createElement("div",{className:"examples-select"},ge.showLabels?F.a.createElement("span",{className:"examples-select__section-label"},"Examples: "):null,F.a.createElement("select",{className:"examples-select-element",onChange:this._onDomSelect,value:Dt&&xt?"__MODIFIED__VALUE__":Be||""},Dt?F.a.createElement("option",{value:"__MODIFIED__VALUE__"},"[Modified value]"):null,He()(Re).call(Re,function(vn,Gn){return F.a.createElement("option",{key:Gn,value:Gn},vn.get("summary")||Gn)}).valueSeq()))}}]),Te}(F.a.PureComponent);U()(Mi,"defaultProps",{examples:ln.a.Map({}),onSelect:function(){for(var xe,ke,Te=arguments.length,ge=new Array(Te),Re=0;Re<Te;Re++)ge[Re]=arguments[Re];return(xe=console).log.apply(xe,h()(ke=["DEBUG: ExamplesSelect was not given an onSelect callback"]).call(ke,ge))},currentExampleKey:null,showLabels:!0});var Oi=function(xe){return zt.List.isList(xe)?xe:Object(tr.I)(xe)},Kr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge){var Re;I()(this,Te),Re=ke.call(this,ge),U()(L()(Re),"_getStateForCurrentNamespace",function(){return(Re.state[Re.props.currentNamespace]||Object(zt.Map)()).toObject()}),U()(L()(Re),"_setStateForCurrentNamespace",function(xt){return Re._setStateForNamespace(Re.props.currentNamespace,xt)}),U()(L()(Re),"_setStateForNamespace",function(xt,Dt){var en=(Re.state[xt]||Object(zt.Map)()).mergeDeep(Dt);return Re.setState(U()({},xt,en))}),U()(L()(Re),"_isCurrentUserInputSameAsExampleValue",function(){var xt=Re.props.currentUserInputValue;return Re._getCurrentExampleValue()===xt}),U()(L()(Re),"_getValueForExample",function(xt,Dt){return Oi(((Dt||Re.props).examples||Object(zt.Map)({})).getIn([xt,"value"]))}),U()(L()(Re),"_getCurrentExampleValue",function(xt){return Re._getValueForExample((xt||Re.props).currentKey,xt||Re.props)}),U()(L()(Re),"_onExamplesSelect",function(xt){var Dt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},en=Dt.isSyntheticChange,vn=Re.props,Gn=vn.onSelect,kn=vn.updateValue,zn=vn.currentUserInputValue,jr=vn.userHasEditedBody,kr=Re._getStateForCurrentNamespace(),Gr=kr.lastUserEditedValue,ci=Re._getValueForExample(xt);if("__MODIFIED__VALUE__"===xt)return kn(Oi(Gr)),Re._setStateForCurrentNamespace({isModifiedValueSelected:!0});if("function"==typeof Gn){for(var Ci,vi=arguments.length,Ai=new Array(vi>2?vi-2:0),fo=2;fo<vi;fo++)Ai[fo-2]=arguments[fo];Gn.apply(void 0,h()(Ci=[xt,{isSyntheticChange:en}]).call(Ci,Ai))}Re._setStateForCurrentNamespace({lastDownstreamValue:ci,isModifiedValueSelected:en&&jr||!!zn&&zn!==ci}),en||"function"==typeof kn&&kn(Oi(ci))});var Be=Re._getCurrentExampleValue();return Re.state=U()({},ge.currentNamespace,Object(zt.Map)({lastUserEditedValue:Re.props.currentUserInputValue,lastDownstreamValue:Be,isModifiedValueSelected:Re.props.userHasEditedBody||Re.props.currentUserInputValue!==Be})),Re}return Y()(Te,[{key:"componentWillUnmount",value:function(){this.props.setRetainRequestBodyValueFlag(!1)}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re=ge.currentUserInputValue,Be=ge.examples,xt=ge.onSelect,Dt=ge.userHasEditedBody,en=this._getStateForCurrentNamespace(),vn=en.lastUserEditedValue,Gn=en.lastDownstreamValue,kn=this._getValueForExample(ge.currentKey,ge),zn=m()(Be).call(Be,function(jr){return jr.get("value")===Re||Object(tr.I)(jr.get("value"))===Re});zn.size?xt(zn.has(ge.currentKey)?ge.currentKey:zn.keySeq().first(),{isSyntheticChange:!0}):Re!==this.props.currentUserInputValue&&Re!==vn&&Re!==Gn&&(this.props.setRetainRequestBodyValueFlag(!0),this._setStateForNamespace(ge.currentNamespace,{lastUserEditedValue:ge.currentUserInputValue,isModifiedValueSelected:Dt||Re!==kn}))}},{key:"render",value:function(){var ge=this.props,Re=ge.currentUserInputValue,Be=ge.examples,xt=ge.currentKey,Dt=ge.getComponent,en=ge.userHasEditedBody,vn=this._getStateForCurrentNamespace(),Gn=vn.lastDownstreamValue,kn=vn.lastUserEditedValue,zn=vn.isModifiedValueSelected,jr=Dt("ExamplesSelect");return F.a.createElement(jr,{examples:Be,currentExampleKey:xt,onSelect:this._onExamplesSelect,isModifiedValueAvailable:!!kn&&kn!==Gn,isValueModified:void 0!==Re&&zn&&Re!==this._getCurrentExampleValue()||en})}}]),Te}(F.a.PureComponent);U()(Kr,"defaultProps",{userHasEditedBody:!1,examples:Object(zt.Map)({}),currentNamespace:"__DEFAULT__NAMESPACE__",setRetainRequestBodyValueFlag:function(){},onSelect:function(){for(var xe,ke,Te=arguments.length,ge=new Array(Te),Re=0;Re<Te;Re++)ge[Re]=arguments[Re];return(xe=console).log.apply(xe,h()(ke=["ExamplesSelectValueRetainer: no `onSelect` function was provided"]).call(ke,ge))},updateValue:function(){for(var xe,ke,Te=arguments.length,ge=new Array(Te),Re=0;Re<Te;Re++)ge[Re]=arguments[Re];return(xe=console).log.apply(xe,h()(ke=["ExamplesSelectValueRetainer: no `updateValue` function was provided"]).call(ke,ge))}});var ei=t(106),di=t.n(ei),se=t(125),ct=t.n(se),Ke=t(31),Xe=t.n(Ke),Vt=t(89),Ct=t.n(Vt),rt=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"close",function(vi){vi.preventDefault(),Be.props.authActions.showDefinitions(!1)}),U()(L()(Be),"authorize",function(){var vi=Be.props,Ai=vi.authActions,fo=vi.errActions,No=vi.authSelectors,wo=vi.oas3Selectors,oo=(0,vi.getConfigs)(),Oo=No.getConfigs();fo.clear({authId:name,type:"auth",source:"auth"}),function(Ki){var Vi=Ki.auth,Wo=Ki.authActions,Po=Ki.errActions,ho=Ki.configs,xo=Ki.authConfigs,Ps=void 0===xo?{}:xo,_n=Ki.currentServer,Hs=Vi.schema,Pa=Vi.scopes,Oa=Vi.name,lo=Vi.clientId,ra=Hs.get("flow"),ns=[];switch(ra){case"password":return void Wo.authorizePassword(Vi);case"application":return void Wo.authorizeApplication(Vi);case"accessCode":ns.push("response_type=code");break;case"implicit":ns.push("response_type=token");break;case"clientCredentials":case"client_credentials":return void Wo.authorizeApplication(Vi);case"authorizationCode":case"authorization_code":ns.push("response_type=code")}"string"==typeof lo&&ns.push("client_id="+encodeURIComponent(lo));var Aa=ho.oauth2RedirectUrl;if(void 0!==Aa){ns.push("redirect_uri="+encodeURIComponent(Aa));var zs=[];Me()(Pa)?zs=Pa:ln.a.List.isList(Pa)&&(zs=Pa.toArray()),zs.length>0&&ns.push("scope="+encodeURIComponent(zs.join(Ps.scopeSeparator||" ")));var ws=Object(tr.a)(new Date);if(ns.push("state="+encodeURIComponent(ws)),void 0!==Ps.realm&&ns.push("realm="+encodeURIComponent(Ps.realm)),("authorizationCode"===ra||"authorization_code"===ra||"accessCode"===ra)&&Ps.usePkceWithAuthorizationCodeGrant){var Ds=Object(tr.j)(),Ws=Object(tr.c)(Ds);ns.push("code_challenge="+Ws),ns.push("code_challenge_method=S256"),Vi.codeVerifier=Ds}var Ba=Ps.additionalQueryStringParams;for(var Zs in Ba){var Ya;void 0!==Ba[Zs]&&ns.push(He()(Ya=[Zs,Ba[Zs]]).call(Ya,encodeURIComponent).join("="))}var Za=Hs.get("authorizationUrl"),Ha=[_n?Ct()(Object(tr.F)(Za),_n,!0).toString():Object(tr.F)(Za),ns.join("&")].join(-1===Ut()(Za).call(Za,"?")?"?":"&");Ht.a.swaggerUIRedirectOauth2={auth:Vi,state:ws,redirectUrl:Aa,callback:"implicit"===ra?Wo.preAuthorizeImplicit:Ps.useBasicAuthenticationWithAccessCodeGrant?Wo.authorizeAccessCodeWithBasicAuthentication:Wo.authorizeAccessCodeWithFormParams,errCb:Po.newAuthErr},Ht.a.open(Ha)}else Po.newAuthErr({authId:Oa,source:"validation",level:"error",message:"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed."})}({auth:Be.state,currentServer:wo.serverEffectiveValue(wo.selectedServer()),authActions:Ai,errActions:fo,configs:oo,authConfigs:Oo})}),U()(L()(Be),"onScopeChange",function(vi){var Ai,fo,po=vi.target,No=po.checked,wo=po.dataset.value;if(No&&-1===Ut()(Ai=Be.state.scopes).call(Ai,wo)){var oo,Oo=h()(oo=Be.state.scopes).call(oo,[wo]);Be.setState({scopes:Oo})}else if(!No&&Ut()(fo=Be.state.scopes).call(fo,wo)>-1){var Ki;Be.setState({scopes:m()(Ki=Be.state.scopes).call(Ki,function(Vi){return Vi!==wo})})}}),U()(L()(Be),"onInputChange",function(vi){var Ai=vi.target,fo=Ai.dataset.name,po=Ai.value,No=U()({},fo,po);Be.setState(No)}),U()(L()(Be),"selectScopes",function(vi){var Ai;Be.setState(vi.target.dataset.all?{scopes:di()(ct()(Ai=Be.props.schema.get("allowedScopes")||Be.props.schema.get("scopes")).call(Ai))}:{scopes:[]})}),U()(L()(Be),"logout",function(vi){vi.preventDefault();var Ai=Be.props,fo=Ai.authActions,No=Ai.name;Ai.errActions.clear({authId:No,type:"auth",source:"auth"}),fo.logoutWithPersistOption([No])});var xt=Be.props,Dt=xt.name,en=xt.schema,vn=xt.authorized,Gn=xt.authSelectors,kn=vn&&vn.get(Dt),zn=Gn.getConfigs()||{},jr=kn&&kn.get("username")||"",kr=kn&&kn.get("clientId")||zn.clientId||"",Gr=kn&&kn.get("clientSecret")||zn.clientSecret||"",ci=kn&&kn.get("passwordType")||"basic",Ci=kn&&kn.get("scopes")||zn.scopes||[];return"string"==typeof Ci&&(Ci=Ci.split(zn.scopeSeparator||" ")),Be.state={appName:zn.appName,name:Dt,schema:en,scopes:Ci,clientId:kr,clientSecret:Gr,username:jr,password:"",passwordType:ci},Be}return Y()(Te,[{key:"render",value:function(){var ge,Re,Be=this,xt=this.props,Dt=xt.schema,en=xt.getComponent,vn=xt.authSelectors,Gn=xt.errSelectors,kn=xt.name,zn=xt.specSelectors,jr=en("Input"),kr=en("Row"),Gr=en("Col"),ci=en("Button"),Ci=en("authError"),vi=en("JumpToPath",!0),Ai=en("Markdown",!0),fo=en("InitializedInput"),po=zn.isOAS3,No=po()?Dt.get("openIdConnectUrl"):null,wo="implicit",oo="password",Oo=po()?No?"authorization_code":"authorizationCode":"accessCode",Ki=po()?No?"client_credentials":"clientCredentials":"application",Vi=Dt.get("flow"),Wo=Dt.get("allowedScopes")||Dt.get("scopes"),Po=!!vn.authorized().get(kn),ho=m()(ge=Gn.allErrors()).call(ge,function(_n){return _n.get("authId")===kn}),xo=!m()(ho).call(ho,function(_n){return"validation"===_n.get("source")}).size,Ps=Dt.get("description");return F.a.createElement("div",null,F.a.createElement("h4",null,kn," (OAuth2, ",Dt.get("flow"),") ",F.a.createElement(vi,{path:["securityDefinitions",kn]})),this.state.appName?F.a.createElement("h5",null,"Application: ",this.state.appName," "):null,Ps&&F.a.createElement(Ai,{source:Dt.get("description")}),Po&&F.a.createElement("h6",null,"Authorized"),No&&F.a.createElement("p",null,"OpenID Connect URL: ",F.a.createElement("code",null,No)),(Vi===wo||Vi===Oo)&&F.a.createElement("p",null,"Authorization URL: ",F.a.createElement("code",null,Dt.get("authorizationUrl"))),(Vi===oo||Vi===Oo||Vi===Ki)&&F.a.createElement("p",null,"Token URL:",F.a.createElement("code",null," ",Dt.get("tokenUrl"))),F.a.createElement("p",{className:"flow"},"Flow: ",F.a.createElement("code",null,Dt.get("flow"))),Vi!==oo?null:F.a.createElement(kr,null,F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"oauth_username"},"username:"),Po?F.a.createElement("code",null," ",this.state.username," "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement("input",{id:"oauth_username",type:"text","data-name":"username",onChange:this.onInputChange,autoFocus:!0}))),F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"oauth_password"},"password:"),Po?F.a.createElement("code",null," ****** "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement("input",{id:"oauth_password",type:"password","data-name":"password",onChange:this.onInputChange}))),F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"password_type"},"Client credentials location:"),Po?F.a.createElement("code",null," ",this.state.passwordType," "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement("select",{id:"password_type","data-name":"passwordType",onChange:this.onInputChange},F.a.createElement("option",{value:"basic"},"Authorization header"),F.a.createElement("option",{value:"request-body"},"Request body"))))),(Vi===Ki||Vi===wo||Vi===Oo||Vi===oo)&&(!Po||Po&&this.state.clientId)&&F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"client_id"},"client_id:"),Po?F.a.createElement("code",null," ****** "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement(fo,{id:"client_id",type:"text",required:Vi===oo,initialValue:this.state.clientId,"data-name":"clientId",onChange:this.onInputChange}))),(Vi===Ki||Vi===Oo||Vi===oo)&&F.a.createElement(kr,null,F.a.createElement("label",{htmlFor:"client_secret"},"client_secret:"),Po?F.a.createElement("code",null," ****** "):F.a.createElement(Gr,{tablet:10,desktop:10},F.a.createElement(fo,{id:"client_secret",initialValue:this.state.clientSecret,type:"password","data-name":"clientSecret",onChange:this.onInputChange}))),!Po&&Wo&&Wo.size?F.a.createElement("div",{className:"scopes"},F.a.createElement("h2",null,"Scopes:",F.a.createElement("a",{onClick:this.selectScopes,"data-all":!0},"select all"),F.a.createElement("a",{onClick:this.selectScopes},"select none")),He()(Wo).call(Wo,function(_n,Hs){var Pa,Oa,lo,ra,ns;return F.a.createElement(kr,{key:Hs},F.a.createElement("div",{className:"checkbox"},F.a.createElement(jr,{"data-value":Hs,id:h()(Pa=h()(Oa="".concat(Hs,"-")).call(Oa,Vi,"-checkbox-")).call(Pa,Be.state.name),disabled:Po,checked:Xe()(lo=Be.state.scopes).call(lo,Hs),type:"checkbox",onChange:Be.onScopeChange}),F.a.createElement("label",{htmlFor:h()(ra=h()(ns="".concat(Hs,"-")).call(ns,Vi,"-checkbox-")).call(ra,Be.state.name)},F.a.createElement("span",{className:"item"}),F.a.createElement("div",{className:"text"},F.a.createElement("p",{className:"name"},Hs),F.a.createElement("p",{className:"description"},_n)))))}).toArray()):null,He()(Re=ho.valueSeq()).call(Re,function(_n,Hs){return F.a.createElement(Ci,{error:_n,key:Hs})}),F.a.createElement("div",{className:"auth-btn-wrapper"},xo&&(Po?F.a.createElement(ci,{className:"btn modal-btn auth authorize",onClick:this.logout},"Logout"):F.a.createElement(ci,{className:"btn modal-btn auth authorize",onClick:this.authorize},"Authorize")),F.a.createElement(ci,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close")))}}]),Te}(F.a.Component),bt=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onClick",function(){var en=Re.props,vn=en.specActions,Gn=en.path,kn=en.method;vn.clearResponse(Gn,kn),vn.clearRequest(Gn,kn)}),Re}return Y()(Te,[{key:"render",value:function(){return F.a.createElement("button",{className:"btn btn-clear opblock-control__btn",onClick:this.onClick},"Clear")}}]),Te}($e.Component),We=function(xe){var ke=xe.headers;return F.a.createElement("div",null,F.a.createElement("h5",null,"Response headers"),F.a.createElement("pre",{className:"microlight"},ke))},$t=function(xe){var ke=xe.duration;return F.a.createElement("div",null,F.a.createElement("h5",null,"Request duration"),F.a.createElement("pre",{className:"microlight"},ke," ms"))},or=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"shouldComponentUpdate",value:function(ge){return this.props.response!==ge.response||this.props.path!==ge.path||this.props.method!==ge.method||this.props.displayRequestDuration!==ge.displayRequestDuration}},{key:"render",value:function(){var ge,Re=this.props,Be=Re.response,xt=Re.getComponent,Dt=Re.getConfigs,en=Re.displayRequestDuration,vn=Re.specSelectors,Gn=Re.path,kn=Re.method,zn=Dt(),kr=zn.requestSnippetsEnabled,Gr=zn.showMutatedRequest?vn.mutatedRequestFor(Gn,kn):vn.requestFor(Gn,kn),ci=Be.get("status"),Ci=Gr.get("url"),vi=Be.get("headers").toJS(),Ai=Be.get("notDocumented"),fo=Be.get("error"),po=Be.get("text"),No=Be.get("duration"),wo=C()(vi),oo=vi["content-type"]||vi["Content-Type"],Oo=xt("responseBody"),Ki=He()(wo).call(wo,function(xo){var Ps=Me()(vi[xo])?vi[xo].join():vi[xo];return F.a.createElement("span",{className:"headerline",key:xo}," ",xo,": ",Ps," ")}),Vi=0!==Ki.length,Wo=xt("Markdown",!0),Po=xt("RequestSnippets",!0),ho=xt("curl");return F.a.createElement("div",null,Gr&&(!0===kr||"true"===kr?F.a.createElement(Po,{request:Gr}):F.a.createElement(ho,{request:Gr,getConfigs:Dt})),Ci&&F.a.createElement("div",null,F.a.createElement("h4",null,"Request URL"),F.a.createElement("div",{className:"request-url"},F.a.createElement("pre",{className:"microlight"},Ci))),F.a.createElement("h4",null,"Server response"),F.a.createElement("table",{className:"responses-table live-responses-table"},F.a.createElement("thead",null,F.a.createElement("tr",{className:"responses-header"},F.a.createElement("td",{className:"col_header response-col_status"},"Code"),F.a.createElement("td",{className:"col_header response-col_description"},"Details"))),F.a.createElement("tbody",null,F.a.createElement("tr",{className:"response"},F.a.createElement("td",{className:"response-col_status"},ci,Ai?F.a.createElement("div",{className:"response-undocumented"},F.a.createElement("i",null," Undocumented ")):null),F.a.createElement("td",{className:"response-col_description"},fo?F.a.createElement(Wo,{source:h()(ge="".concat(""!==Be.get("name")?"".concat(Be.get("name"),": "):"")).call(ge,Be.get("message"))}):null,po?F.a.createElement(Oo,{content:po,contentType:oo,url:Ci,headers:vi,getConfigs:Dt,getComponent:xt}):null,Vi?F.a.createElement(We,{headers:Ki}):null,en&&No?F.a.createElement($t,{duration:No}):null)))))}}]),Te}(F.a.Component),Zn=t(203),Vr=["get","put","post","delete","options","head","patch"],Cr=h()(Vr).call(Vr,["trace"]),ai=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"renderOperationTag",function(en,vn){var Gn=Re.props,kn=Gn.specSelectors,zn=Gn.getComponent,jr=Gn.oas3Selectors,kr=Gn.layoutSelectors,Gr=Gn.layoutActions,ci=Gn.getConfigs,Ci=zn("OperationContainer",!0),vi=zn("OperationTag"),Ai=en.get("operations");return F.a.createElement(vi,{key:"operation-"+vn,tagObj:en,tag:vn,oas3Selectors:jr,layoutSelectors:kr,layoutActions:Gr,getConfigs:ci,getComponent:zn,specUrl:kn.url()},F.a.createElement("div",{className:"operation-tag-content"},He()(Ai).call(Ai,function(fo){var po,No=fo.get("path"),wo=fo.get("method"),oo=ln.a.List(["paths",No,wo]),Oo=kn.isOAS3()?Cr:Vr;return-1===Ut()(Oo).call(Oo,wo)?null:F.a.createElement(Ci,{key:h()(po="".concat(No,"-")).call(po,wo),specPath:oo,op:fo,path:No,method:wo,tag:vn})}).toArray()))}),Re}return Y()(Te,[{key:"render",value:function(){var ge=this.props.specSelectors.taggedOperations();return 0===ge.size?F.a.createElement("h3",null," No operations defined in spec!"):F.a.createElement("div",null,He()(ge).call(ge,this.renderOperationTag).toArray(),ge.size<1?F.a.createElement("h3",null," No operations defined in spec! "):null)}}]),Te}(F.a.Component),Dr=t(90),Qr=t.n(Dr);function rn(xe){return xe.match(/^(?:[a-z]+:)?\/\//i)}function fi(xe,ke){return xe?rn(xe)?(Te=xe).match(/^\/\//i)?h()(ge="".concat(window.location.protocol)).call(ge,Te):Te:new Qr.a(xe,ke).href:ke;var Te,ge}function Ei(xe,ke){var Te=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},ge=Te.selectedServer,Re=void 0===ge?"":ge;if(xe){if(rn(xe))return xe;var Be=fi(Re,ke);return rn(Be)?new Qr.a(xe,Be).href:new Qr.a(xe,window.location.href).href}}function wi(xe,ke){var Te=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},ge=Te.selectedServer,Re=void 0===ge?"":ge;try{return Ei(xe,ke,{selectedServer:Re})}catch(Be){return}}var go=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.tagObj,xt=Re.tag,Dt=Re.children,en=Re.oas3Selectors,vn=Re.layoutSelectors,Gn=Re.layoutActions,zn=Re.getComponent,jr=Re.specUrl,kr=(0,Re.getConfigs)(),Gr=kr.docExpansion,ci=kr.deepLinking,Ci=ci&&"false"!==ci,vi=zn("Collapse"),Ai=zn("Markdown",!0),fo=zn("DeepLink"),po=zn("Link"),No=Be.getIn(["tagDetails","description"],null),wo=Be.getIn(["tagDetails","externalDocs","description"]),oo=Be.getIn(["tagDetails","externalDocs","url"]);ge=Object(tr.s)(en)&&Object(tr.s)(en.selectedServer)?wi(oo,jr,{selectedServer:en.selectedServer()}):oo;var Oo=["operations-tag",xt],Ki=vn.isShown(Oo,"full"===Gr||"list"===Gr);return F.a.createElement("div",{className:Ki?"opblock-tag-section is-open":"opblock-tag-section"},F.a.createElement("h3",{onClick:function(){return Gn.show(Oo,!Ki)},className:No?"opblock-tag":"opblock-tag no-desc",id:He()(Oo).call(Oo,function(Vi){return Object(tr.g)(Vi)}).join("-"),"data-tag":xt,"data-is-open":Ki},F.a.createElement(fo,{enabled:Ci,isShown:Ki,path:Object(tr.d)(xt),text:xt}),No?F.a.createElement("small",null,F.a.createElement(Ai,{source:No})):F.a.createElement("small",null),F.a.createElement("div",null,wo?F.a.createElement("small",null,wo,ge?": ":null,ge?F.a.createElement(po,{href:Object(tr.F)(ge),onClick:function(Vi){return Vi.stopPropagation()},target:"_blank"},ge):null):null),F.a.createElement("button",{"aria-expanded":Ki,className:"expand-operation",title:Ki?"Collapse operation":"Expand operation",onClick:function(){return Gn.show(Oo,!Ki)}},F.a.createElement("svg",{className:"arrow",width:"20",height:"20","aria-hidden":"true",focusable:"false"},F.a.createElement("use",{href:Ki?"#large-arrow-up":"#large-arrow-down",xlinkHref:Ki?"#large-arrow-up":"#large-arrow-down"})))),F.a.createElement(vi,{isOpened:Ki},Dt))}}]),Te}(F.a.Component);U()(go,"defaultProps",{tagObj:ln.a.fromJS({}),tag:""});var Fi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.specPath,Be=ge.response,xt=ge.request,Dt=ge.toggleShown,en=ge.onTryoutClick,vn=ge.onCancelClick,Gn=ge.onExecute,kn=ge.fn,zn=ge.getComponent,jr=ge.getConfigs,kr=ge.specActions,Gr=ge.specSelectors,ci=ge.authActions,Ci=ge.authSelectors,vi=ge.oas3Actions,Ai=ge.oas3Selectors,fo=this.props.operation,po=fo.toJS(),No=po.deprecated,wo=po.isShown,oo=po.path,Oo=po.method,Ki=po.op,Vi=po.tag,Wo=po.operationId,Po=po.allowTryItOut,ho=po.displayRequestDuration,xo=po.tryItOutEnabled,Ps=po.executeInProgress,_n=Ki.description,Hs=Ki.externalDocs,Pa=Ki.schemes,Oa=Hs?wi(Hs.url,Gr.url(),{selectedServer:Ai.selectedServer()}):"",lo=fo.getIn(["op"]),ra=lo.get("responses"),ns=Object(tr.n)(lo,["parameters"]),Aa=Gr.operationScheme(oo,Oo),zs=["operations",Vi,Wo],La=Object(tr.m)(lo),ws=zn("responses"),Ds=zn("parameters"),Ws=zn("execute"),Ba=zn("clear"),Zs=zn("Collapse"),Ya=zn("Markdown",!0),$a=zn("schemes"),Za=zn("OperationServers"),Ha=zn("OperationExt"),ol=zn("OperationSummary"),Us=zn("Link"),sl=jr().showExtensions;if(ra&&Be&&Be.size>0){var ac=!ra.get(String(Be.get("status")))&&!ra.get("default");Be=Be.set("notDocumented",ac)}var Zl=[oo,Oo];return F.a.createElement("div",{className:No?"opblock opblock-deprecated":wo?"opblock opblock-".concat(Oo," is-open"):"opblock opblock-".concat(Oo),id:Object(tr.g)(zs.join("-"))},F.a.createElement(ol,{operationProps:fo,isShown:wo,toggleShown:Dt,getComponent:zn,authActions:ci,authSelectors:Ci,specPath:Re}),F.a.createElement(Zs,{isOpened:wo},F.a.createElement("div",{className:"opblock-body"},lo&&lo.size||null===lo?null:F.a.createElement("img",{height:"32px",width:"32px",src:t(447),className:"opblock-loading-animation"}),No&&F.a.createElement("h4",{className:"opblock-title_normal"}," Warning: Deprecated"),_n&&F.a.createElement("div",{className:"opblock-description-wrapper"},F.a.createElement("div",{className:"opblock-description"},F.a.createElement(Ya,{source:_n}))),Oa?F.a.createElement("div",{className:"opblock-external-docs-wrapper"},F.a.createElement("h4",{className:"opblock-title_normal"},"Find more details"),F.a.createElement("div",{className:"opblock-external-docs"},F.a.createElement("span",{className:"opblock-external-docs__description"},F.a.createElement(Ya,{source:Hs.description})),F.a.createElement(Us,{target:"_blank",className:"opblock-external-docs__link",href:Object(tr.F)(Oa)},Oa))):null,lo&&lo.size?F.a.createElement(Ds,{parameters:ns,specPath:Re.push("parameters"),operation:lo,onChangeKey:Zl,onTryoutClick:en,onCancelClick:vn,tryItOutEnabled:xo,allowTryItOut:Po,fn:kn,getComponent:zn,specActions:kr,specSelectors:Gr,pathMethod:[oo,Oo],getConfigs:jr,oas3Actions:vi,oas3Selectors:Ai}):null,xo?F.a.createElement(Za,{getComponent:zn,path:oo,method:Oo,operationServers:lo.get("servers"),pathServers:Gr.paths().getIn([oo,"servers"]),getSelectedServer:Ai.selectedServer,setSelectedServer:vi.setSelectedServer,setServerVariableValue:vi.setServerVariableValue,getServerVariable:Ai.serverVariableValue,getEffectiveServerValue:Ai.serverEffectiveValue}):null,xo&&Po&&Pa&&Pa.size?F.a.createElement("div",{className:"opblock-schemes"},F.a.createElement($a,{schemes:Pa,path:oo,method:Oo,specActions:kr,currentScheme:Aa})):null,F.a.createElement("div",{className:xo&&Be&&Po?"btn-group":"execute-wrapper"},xo&&Po?F.a.createElement(Ws,{operation:lo,specActions:kr,specSelectors:Gr,oas3Selectors:Ai,oas3Actions:vi,path:oo,method:Oo,onExecute:Gn,disabled:Ps}):null,xo&&Be&&Po?F.a.createElement(Ba,{specActions:kr,path:oo,method:Oo}):null),Ps?F.a.createElement("div",{className:"loading-container"},F.a.createElement("div",{className:"loading"})):null,ra?F.a.createElement(ws,{responses:ra,request:xt,tryItOutResponse:Be,getComponent:zn,getConfigs:jr,specSelectors:Gr,oas3Actions:vi,oas3Selectors:Ai,specActions:kr,produces:Gr.producesOptionsFor([oo,Oo]),producesValue:Gr.currentProducesFor([oo,Oo]),specPath:Re.push("responses"),path:oo,method:Oo,displayRequestDuration:ho,fn:kn}):null,sl&&La.size?F.a.createElement(Ha,{extensions:La,getComponent:zn}):null)))}}]),Te}($e.PureComponent);U()(Fi,"defaultProps",{operation:null,response:null,request:null,specPath:Object(zt.List)(),summary:""});var no=t(102),Ji=t.n(no),qi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.isShown,xt=Re.toggleShown,Dt=Re.getComponent,en=Re.authActions,vn=Re.authSelectors,Gn=Re.operationProps,kn=Re.specPath,zn=Gn.toJS(),jr=zn.summary,kr=zn.isAuthorized,Gr=zn.method,Ci=zn.showSummary,vi=zn.path,Ai=zn.operationId,fo=zn.originalOperationId,po=zn.displayOperationId,No=zn.op.summary,wo=Gn.get("security"),oo=Dt("authorizeOperationBtn"),Oo=Dt("OperationSummaryMethod"),Ki=Dt("OperationSummaryPath"),Vi=Dt("JumpToPath",!0),Wo=wo&&!!wo.count(),Po=Wo&&1===wo.size&&wo.first().isEmpty(),ho=!Wo||Po;return F.a.createElement("div",{className:"opblock-summary opblock-summary-".concat(Gr)},F.a.createElement("button",{"aria-label":h()(ge="".concat(Gr," ")).call(ge,vi.replace(/\//g,"\u200b/")),"aria-expanded":Be,className:"opblock-summary-control",onClick:xt},F.a.createElement(Oo,{method:Gr}),F.a.createElement(Ki,{getComponent:Dt,operationProps:Gn,specPath:kn}),Ci?F.a.createElement("div",{className:"opblock-summary-description"},Ji()(No||jr)):null,po&&(fo||Ai)?F.a.createElement("span",{className:"opblock-summary-operation-id"},fo||Ai):null,F.a.createElement("svg",{className:"arrow",width:"20",height:"20","aria-hidden":"true",focusable:"false"},F.a.createElement("use",{href:Be?"#large-arrow-up":"#large-arrow-down",xlinkHref:Be?"#large-arrow-up":"#large-arrow-down"}))),ho?null:F.a.createElement(oo,{isAuthorized:kr,onClick:function(){var xo=vn.definitionsForRequirements(wo);en.showDefinitions(xo)}}),F.a.createElement(Vi,{path:kn}))}}]),Te}($e.PureComponent);U()(qi,"defaultProps",{operationProps:null,specPath:Object(zt.List)(),summary:""});var to=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){return F.a.createElement("span",{className:"opblock-summary-method"},this.props.method.toUpperCase())}}]),Te}($e.PureComponent);U()(to,"defaultProps",{operationProps:null});var zi=t(200),Go=t.n(zi),Ro=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){for(var ge,Re=this.props,Be=Re.getComponent,xt=Re.operationProps.toJS(),Dt=xt.deprecated,en=xt.isShown,vn=xt.path,Gn=xt.tag,kn=xt.operationId,zn=xt.isDeepLinkingEnabled,jr=vn.split(/(?=\/)/g),kr=1;kr<jr.length;kr+=2)Go()(jr).call(jr,kr,0,F.a.createElement("wbr",{key:kr}));var Gr=Be("DeepLink");return F.a.createElement("span",{className:Dt?"opblock-summary-path__deprecated":"opblock-summary-path","data-path":vn},F.a.createElement(Gr,{enabled:zn,isShown:en,path:Object(tr.d)(h()(ge="".concat(Gn,"/")).call(ge,kn)),text:jr}))}}]),Te}($e.PureComponent),Bo=t(13),Jo=t.n(Bo),es=function(xe){var ke,Te=xe.extensions,ge=(0,xe.getComponent)("OperationExtRow");return F.a.createElement("div",{className:"opblock-section"},F.a.createElement("div",{className:"opblock-section-header"},F.a.createElement("h4",null,"Extensions")),F.a.createElement("div",{className:"table-container"},F.a.createElement("table",null,F.a.createElement("thead",null,F.a.createElement("tr",null,F.a.createElement("td",{className:"col_header"},"Field"),F.a.createElement("td",{className:"col_header"},"Value"))),F.a.createElement("tbody",null,He()(ke=Te.entrySeq()).call(ke,function(Re){var Be,xt=Jo()(Re,2),Dt=xt[0],en=xt[1];return F.a.createElement(ge,{key:h()(Be="".concat(Dt,"-")).call(Be,en),xKey:Dt,xVal:en})})))))},ua=function(xe){var ke=xe.xKey,Te=xe.xVal,ge=Te?Te.toJS?Te.toJS():Te:null;return F.a.createElement("tr",null,F.a.createElement("td",null,ke),F.a.createElement("td",null,x()(ge)))},ds=t(23),zo=t.n(ds),oa=t(47),Er=t.n(oa),st=t(91),pn=t(39),ee=t.n(pn),Ve=t(104),fn=t.n(Ve),Tn=t(477),$r=t.n(Tn),ni=t(143),Ri=function(xe){var ke=xe.value,Te=xe.fileName,ge=xe.className,Re=xe.downloadable,Be=xe.getConfigs,xt=xe.canCopy,Dt=xe.language,en=fn()(Be)?Be():null,vn=!1!==ee()(en,"syntaxHighlight")&&ee()(en,"syntaxHighlight.activated",!0),Gn=Object($e.useRef)(null);Object($e.useEffect)(function(){var zn,jr=m()(zn=di()(Gn.current.childNodes)).call(zn,function(kr){return!!kr.nodeType&&kr.classList.contains("microlight")});return zo()(jr).call(jr,function(kr){return kr.addEventListener("mousewheel",kn,{passive:!1})}),function(){zo()(jr).call(jr,function(kr){return kr.removeEventListener("mousewheel",kn)})}},[ke,ge,Dt]);var kn=function(zn){var jr=zn.target,kr=zn.deltaY,Gr=jr.scrollHeight,ci=jr.offsetHeight,Ci=jr.scrollTop;Gr>ci&&(0===Ci&&kr<0||ci+Ci>=Gr&&kr>0)&&zn.preventDefault()};return F.a.createElement("div",{className:"highlight-code",ref:Gn},Re?F.a.createElement("div",{className:"download-contents",onClick:function(){$r()(ke,Te)}},"Download"):null,xt&&F.a.createElement("div",{className:"copy-to-clipboard"},F.a.createElement(ni.CopyToClipboard,{text:ke},F.a.createElement("button",null))),vn?F.a.createElement(st.a,{language:Dt,className:Er()(ge,"microlight"),style:Object(st.b)(ee()(en,"syntaxHighlight.theme","agate"))},ke):F.a.createElement("pre",{className:Er()(ge,"microlight")},ke))};Ri.defaultProps={fileName:"response.txt"};var Do=Ri,gi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChangeProducesWrapper",function(en){return Re.props.specActions.changeProducesValue([Re.props.path,Re.props.method],en)}),U()(L()(Re),"onResponseContentTypeChange",function(en){var kn=Re.props;en.controlsAcceptHeader&&kn.oas3Actions.setResponseContentType({value:en.value,path:kn.path,method:kn.method})}),Re}return Y()(Te,[{key:"render",value:function(){var ge,Re,Be=this,xt=this.props,Dt=xt.responses,en=xt.tryItOutResponse,vn=xt.getComponent,Gn=xt.getConfigs,kn=xt.specSelectors,zn=xt.fn,jr=xt.producesValue,kr=xt.displayRequestDuration,Gr=xt.specPath,ci=xt.path,Ci=xt.method,vi=xt.oas3Selectors,Ai=xt.oas3Actions,fo=Object(tr.f)(Dt),po=vn("contentType"),No=vn("liveResponse"),wo=vn("response"),oo=this.props.produces&&this.props.produces.size?this.props.produces:Te.defaultProps.produces,Oo=kn.isOAS3()?Object(tr.k)(Dt):null,Ki=function(Wo){var Po=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";return Wo.replace(/[^\w-]/g,Po)}(h()(ge="".concat(Ci)).call(ge,ci,"_responses")),Vi="".concat(Ki,"_select");return F.a.createElement("div",{className:"responses-wrapper"},F.a.createElement("div",{className:"opblock-section-header"},F.a.createElement("h4",null,"Responses"),kn.isOAS3()?null:F.a.createElement("label",{htmlFor:Vi},F.a.createElement("span",null,"Response content type"),F.a.createElement(po,{value:jr,ariaControls:Ki,ariaLabel:"Response content type",className:"execute-content-type",contentTypes:oo,controlId:Vi,onChange:this.onChangeProducesWrapper}))),F.a.createElement("div",{className:"responses-inner"},en?F.a.createElement("div",null,F.a.createElement(No,{response:en,getComponent:vn,getConfigs:Gn,specSelectors:kn,path:this.props.path,method:this.props.method,displayRequestDuration:kr}),F.a.createElement("h4",null,"Responses")):null,F.a.createElement("table",{"aria-live":"polite",className:"responses-table",id:Ki,role:"region"},F.a.createElement("thead",null,F.a.createElement("tr",{className:"responses-header"},F.a.createElement("td",{className:"col_header response-col_status"},"Code"),F.a.createElement("td",{className:"col_header response-col_description"},"Description"),kn.isOAS3()?F.a.createElement("td",{className:"col col_header response-col_links"},"Links"):null)),F.a.createElement("tbody",null,He()(Re=Dt.entrySeq()).call(Re,function(Wo){var Po=Jo()(Wo,2),ho=Po[0],xo=Po[1],Ps=en&&en.get("status")==ho?"response_current":"";return F.a.createElement(wo,{key:ho,path:ci,method:Ci,specPath:Gr.push(ho),isDefault:fo===ho,fn:zn,className:Ps,code:ho,response:xo,specSelectors:kn,controlsAcceptHeader:xo===Oo,onContentTypeChange:Be.onResponseContentTypeChange,contentType:jr,getConfigs:Gn,activeExamplesKey:vi.activeExamplesMember(ci,Ci,"responses",ho),oas3Actions:Ai,getComponent:vn})}).toArray()))))}}]),Te}(F.a.Component);U()(gi,"defaultProps",{tryItOutResponse:null,produces:Object(zt.fromJS)(["application/json"]),displayRequestDuration:!1});var Hi=t(25),Li=t.n(Hi),cs=t(478),Os=t.n(cs),da=t(107),xa=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"_onContentTypeChange",function(xt){var Dt=Be.props,en=Dt.onContentTypeChange,vn=Dt.controlsAcceptHeader;Be.setState({responseContentType:xt}),en({value:xt,controlsAcceptHeader:vn})}),U()(L()(Be),"getTargetExamplesKey",function(){var xt=Be.props,vn=xt.activeExamplesKey,kn=xt.response.getIn(["content",Be.state.responseContentType||xt.contentType],Object(zt.Map)({})).get("examples",null).keySeq().first();return vn||kn}),Be.state={responseContentType:""},Be}return Y()(Te,[{key:"render",value:function(){var ge,Re,Be,xt,Dt,en=this.props,vn=en.path,Gn=en.method,kn=en.code,zn=en.response,jr=en.className,kr=en.specPath,ci=en.getComponent,Ci=en.getConfigs,vi=en.specSelectors,Ai=en.contentType,fo=en.controlsAcceptHeader,po=en.oas3Actions,No=en.fn.inferSchema,wo=vi.isOAS3(),oo=Ci().showExtensions,Oo=oo?Object(tr.m)(zn):null,Ki=zn.get("headers"),Vi=zn.get("links"),Wo=ci("ResponseExtension"),Po=ci("headers"),ho=ci("highlightCode"),xo=ci("modelExample"),Ps=ci("Markdown",!0),_n=ci("operationLink"),Hs=ci("contentType"),Pa=ci("ExamplesSelect"),Oa=ci("Example"),lo=this.state.responseContentType||Ai,ra=zn.getIn(["content",lo],Object(zt.Map)({})),ns=ra.get("examples",null);if(wo){var Aa=ra.get("schema");Be=Aa?No(Aa.toJS()):null,xt=Aa?Object(zt.List)(["content",this.state.responseContentType,"schema"]):kr}else Be=zn.get("schema"),xt=zn.has("schema")?kr.push("schema"):kr;var zs,La=!1,ws={includeReadOnly:!0};if(wo){var Ds;if(zs=null===(Ds=ra.get("schema"))||void 0===Ds?void 0:Ds.toJS(),ns){var Ws=this.getTargetExamplesKey(),Ba=function($a){return $a.get("value")};void 0===(Dt=Ba(ns.get(Ws,Object(zt.Map)({}))))&&(Dt=Ba(Os()(ns).call(ns).next().value)),La=!0}else void 0!==ra.get("example")&&(Dt=ra.get("example"),La=!0)}else{zs=Be,ws=Li()(Li()({},ws),{},{includeWriteOnly:!0});var Zs=zn.getIn(["examples",lo]);Zs&&(Dt=Zs,La=!0)}var Ya=function($a,Za,Ha){if(null!=$a){var ol=null;return Object(da.a)($a)&&(ol="json"),F.a.createElement("div",null,F.a.createElement(Za,{className:"example",getConfigs:Ha,language:ol,value:Object(tr.I)($a)}))}return null}(Object(tr.o)(zs,lo,ws,La?Dt:void 0),ho,Ci);return F.a.createElement("tr",{className:"response "+(jr||""),"data-code":kn},F.a.createElement("td",{className:"response-col_status"},kn),F.a.createElement("td",{className:"response-col_description"},F.a.createElement("div",{className:"response-col_description__inner"},F.a.createElement(Ps,{source:zn.get("description")})),oo&&Oo.size?He()(ge=Oo.entrySeq()).call(ge,function($a){var Za,Ha=Jo()($a,2),ol=Ha[0],Us=Ha[1];return F.a.createElement(Wo,{key:h()(Za="".concat(ol,"-")).call(Za,Us),xKey:ol,xVal:Us})}):null,wo&&zn.get("content")?F.a.createElement("section",{className:"response-controls"},F.a.createElement("div",{className:Er()("response-control-media-type",{"response-control-media-type--accept-controller":fo})},F.a.createElement("small",{className:"response-control-media-type__title"},"Media type"),F.a.createElement(Hs,{value:this.state.responseContentType,contentTypes:zn.get("content")?zn.get("content").keySeq():Object(zt.Seq)(),onChange:this._onContentTypeChange,ariaLabel:"Media Type"}),fo?F.a.createElement("small",{className:"response-control-media-type__accept-message"},"Controls ",F.a.createElement("code",null,"Accept")," header."):null),ns?F.a.createElement("div",{className:"response-control-examples"},F.a.createElement("small",{className:"response-control-examples__title"},"Examples"),F.a.createElement(Pa,{examples:ns,currentExampleKey:this.getTargetExamplesKey(),onSelect:function($a){return po.setActiveExamplesMember({name:$a,pathMethod:[vn,Gn],contextType:"responses",contextName:kn})},showLabels:!1})):null):null,Ya||Be?F.a.createElement(xo,{specPath:xt,getComponent:ci,getConfigs:Ci,specSelectors:vi,schema:Object(tr.i)(Be),example:Ya,includeReadOnly:!0}):null,wo&&ns?F.a.createElement(Oa,{example:ns.get(this.getTargetExamplesKey(),Object(zt.Map)({})),getComponent:ci,getConfigs:Ci,omitValue:!0}):null,Ki?F.a.createElement(Po,{headers:Ki,getComponent:ci}):null),wo?F.a.createElement("td",{className:"response-col_links"},Vi?He()(Re=Vi.toSeq().entrySeq()).call(Re,function($a){var Za=Jo()($a,2),Ha=Za[0];return F.a.createElement(_n,{key:Ha,name:Ha,link:Za[1],getComponent:ci})}):F.a.createElement("i",null,"No links")):null)}}]),Te}(F.a.Component);U()(xa,"defaultProps",{response:Object(zt.fromJS)({}),onContentTypeChange:function(){}});var Ra=function(xe){return F.a.createElement("div",{className:"response__extension"},xe.xKey,": ",String(xe.xVal))},Ml=t(479),Dl=t.n(Ml),Ca=t(480),sa=t.n(Ca),Fo=t(325),Ka=t.n(Fo),Sa=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"state",{parsedContent:null}),U()(L()(Re),"updateParsedContent",function(en){var vn=Re.props.content;if(en!==vn)if(vn&&vn instanceof Blob){var Gn=new FileReader;Gn.onload=function(){Re.setState({parsedContent:Gn.result})},Gn.readAsText(vn)}else Re.setState({parsedContent:vn.toString()})}),Re}return Y()(Te,[{key:"componentDidMount",value:function(){this.updateParsedContent(null)}},{key:"componentDidUpdate",value:function(ge){this.updateParsedContent(ge.content)}},{key:"render",value:function(){var ge,Re,Be=this.props,xt=Be.content,Dt=Be.contentType,en=Be.url,vn=Be.headers,Gn=void 0===vn?{}:vn,kn=Be.getConfigs,jr=this.state.parsedContent,kr=(0,Be.getComponent)("highlightCode"),Gr="response_"+(new Date).getTime();if(en=en||"",/^application\/octet-stream/i.test(Dt)||Gn["Content-Disposition"]&&/attachment/i.test(Gn["Content-Disposition"])||Gn["content-disposition"]&&/attachment/i.test(Gn["content-disposition"])||Gn["Content-Description"]&&/File Transfer/i.test(Gn["Content-Description"])||Gn["content-description"]&&/File Transfer/i.test(Gn["content-description"]))if("Blob"in window){var ci=Dt||"text/html",Ci=xt instanceof Blob?xt:new Blob([xt],{type:ci}),vi=Qr.a.createObjectURL(Ci),Ai=[ci,en.substr(Dl()(en).call(en,"/")+1),vi].join(":"),fo=Gn["content-disposition"]||Gn["Content-Disposition"];if(void 0!==fo){var po=Object(tr.h)(fo);null!==po&&(Ai=po)}Re=F.a.createElement("div",null,F.a.createElement("a",Ht.a.navigator&&Ht.a.navigator.msSaveOrOpenBlob?{href:vi,onClick:function(){return Ht.a.navigator.msSaveOrOpenBlob(Ci,Ai)}}:{href:vi,download:Ai},"Download file"))}else Re=F.a.createElement("pre",{className:"microlight"},"Download headers detected but your browser does not support downloading binary via XHR (Blob).");else if(/json/i.test(Dt)){var No=null;Object(da.a)(xt)&&(No="json");try{ge=x()(JSON.parse(xt),null," ")}catch(wo){ge="can't parse JSON. Raw result:\n\n"+xt}Re=F.a.createElement(kr,{language:No,downloadable:!0,fileName:"".concat(Gr,".json"),value:ge,getConfigs:kn,canCopy:!0})}else/xml/i.test(Dt)?(ge=sa()(xt,{textNodesOnSameLine:!0,indentor:" "}),Re=F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".xml"),value:ge,getConfigs:kn,canCopy:!0})):Re="text/html"===Ka()(Dt)||/text\/plain/.test(Dt)?F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".html"),value:xt,getConfigs:kn,canCopy:!0}):"text/csv"===Ka()(Dt)||/text\/csv/.test(Dt)?F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".csv"),value:xt,getConfigs:kn,canCopy:!0}):/^image\//i.test(Dt)?Xe()(Dt).call(Dt,"svg")?F.a.createElement("div",null," ",xt," "):F.a.createElement("img",{src:Qr.a.createObjectURL(xt)}):/^audio\//i.test(Dt)?F.a.createElement("pre",{className:"microlight"},F.a.createElement("audio",{controls:!0},F.a.createElement("source",{src:en,type:Dt}))):"string"==typeof xt?F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".txt"),value:xt,getConfigs:kn,canCopy:!0}):xt.size>0?jr?F.a.createElement("div",null,F.a.createElement("p",{className:"i"},"Unrecognized response type; displaying content as text."),F.a.createElement(kr,{downloadable:!0,fileName:"".concat(Gr,".txt"),value:jr,getConfigs:kn,canCopy:!0})):F.a.createElement("p",{className:"i"},"Unrecognized response type; unable to display."):null;return Re?F.a.createElement("div",null,F.a.createElement("h5",null,"Response body"),Re):null}}]),Te}(F.a.PureComponent),fa=t(14),ks=t.n(fa),Ua=t(198),pt=t.n(Ua),an=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge){var Re;return I()(this,Te),Re=ke.call(this,ge),U()(L()(Re),"onChange",function(Be,xt,Dt){var en=Re.props;(0,en.specActions.changeParamByIdentity)(en.onChangeKey,Be,xt,Dt)}),U()(L()(Re),"onChangeConsumesWrapper",function(Be){var xt=Re.props;(0,xt.specActions.changeConsumesValue)(xt.onChangeKey,Be)}),U()(L()(Re),"toggleTab",function(Be){return"parameters"===Be?Re.setState({parametersVisible:!0,callbackVisible:!1}):"callbacks"===Be?Re.setState({callbackVisible:!0,parametersVisible:!1}):void 0}),U()(L()(Re),"onChangeMediaType",function(Be){var xt=Be.value,Dt=Be.pathMethod,en=Re.props,vn=en.specActions,Gn=en.oas3Selectors,kn=en.oas3Actions,zn=Gn.hasUserEditedBody.apply(Gn,ks()(Dt)),jr=Gn.shouldRetainRequestBodyValue.apply(Gn,ks()(Dt));kn.setRequestContentType({value:xt,pathMethod:Dt}),kn.initRequestBodyValidateError({pathMethod:Dt}),zn||(jr||kn.setRequestBodyValue({value:void 0,pathMethod:Dt}),vn.clearResponse.apply(vn,ks()(Dt)),vn.clearRequest.apply(vn,ks()(Dt)),vn.clearValidateParams(Dt))}),Re.state={callbackVisible:!1,parametersVisible:!0},Re}return Y()(Te,[{key:"render",value:function(){var ge,Re,Be=this,xt=this.props,Dt=xt.onTryoutClick,en=xt.parameters,vn=xt.allowTryItOut,Gn=xt.tryItOutEnabled,kn=xt.specPath,zn=xt.fn,jr=xt.getComponent,kr=xt.getConfigs,Gr=xt.specSelectors,ci=xt.specActions,Ci=xt.pathMethod,vi=xt.oas3Actions,Ai=xt.oas3Selectors,fo=xt.operation,po=jr("parameterRow"),No=jr("TryItOutButton"),wo=jr("contentType"),oo=jr("Callbacks",!0),Oo=jr("RequestBody",!0),Ki=Gn&&vn,Vi=Gr.isOAS3(),Wo=fo.get("requestBody"),Po=be()(ge=pt()(be()(en).call(en,function(ho,xo){var Ps,_n=xo.get("in");return null!==(Ps=ho[_n])&&void 0!==Ps||(ho[_n]=[]),ho[_n].push(xo),ho},{}))).call(ge,function(ho,xo){return h()(ho).call(ho,xo)},[]);return F.a.createElement("div",{className:"opblock-section"},F.a.createElement("div",{className:"opblock-section-header"},Vi?F.a.createElement("div",{className:"tab-header"},F.a.createElement("div",{onClick:function(){return Be.toggleTab("parameters")},className:"tab-item ".concat(this.state.parametersVisible&&"active")},F.a.createElement("h4",{className:"opblock-title"},F.a.createElement("span",null,"Parameters"))),fo.get("callbacks")?F.a.createElement("div",{onClick:function(){return Be.toggleTab("callbacks")},className:"tab-item ".concat(this.state.callbackVisible&&"active")},F.a.createElement("h4",{className:"opblock-title"},F.a.createElement("span",null,"Callbacks"))):null):F.a.createElement("div",{className:"tab-header"},F.a.createElement("h4",{className:"opblock-title"},"Parameters")),vn?F.a.createElement(No,{isOAS3:Gr.isOAS3(),hasUserEditedBody:Ai.hasUserEditedBody.apply(Ai,ks()(Ci)),enabled:Gn,onCancelClick:this.props.onCancelClick,onTryoutClick:Dt,onResetClick:function(){return vi.setRequestBodyValue({value:void 0,pathMethod:Ci})}}):null),this.state.parametersVisible?F.a.createElement("div",{className:"parameters-container"},Po.length?F.a.createElement("div",{className:"table-container"},F.a.createElement("table",{className:"parameters"},F.a.createElement("thead",null,F.a.createElement("tr",null,F.a.createElement("th",{className:"col_header parameters-col_name"},"Name"),F.a.createElement("th",{className:"col_header parameters-col_description"},"Description"))),F.a.createElement("tbody",null,He()(Po).call(Po,function(ho,xo){var Ps;return F.a.createElement(po,{fn:zn,specPath:kn.push(xo.toString()),getComponent:jr,getConfigs:kr,rawParam:ho,param:Gr.parameterWithMetaByIdentity(Ci,ho),key:h()(Ps="".concat(ho.get("in"),".")).call(Ps,ho.get("name")),onChange:Be.onChange,onChangeConsumes:Be.onChangeConsumesWrapper,specSelectors:Gr,specActions:ci,oas3Actions:vi,oas3Selectors:Ai,pathMethod:Ci,isExecute:Ki})})))):F.a.createElement("div",{className:"opblock-description-wrapper"},F.a.createElement("p",null,"No parameters"))):null,this.state.callbackVisible?F.a.createElement("div",{className:"callbacks-container opblock-description-wrapper"},F.a.createElement(oo,{callbacks:Object(zt.Map)(fo.get("callbacks")),specPath:ce()(kn).call(kn,0,-1).push("callbacks")})):null,Vi&&Wo&&this.state.parametersVisible&&F.a.createElement("div",{className:"opblock-section opblock-section-request-body"},F.a.createElement("div",{className:"opblock-section-header"},F.a.createElement("h4",{className:"opblock-title parameter__name ".concat(Wo.get("required")&&"required")},"Request body"),F.a.createElement("label",null,F.a.createElement(wo,{value:Ai.requestContentType.apply(Ai,ks()(Ci)),contentTypes:Wo.get("content",Object(zt.List)()).keySeq(),onChange:function(ho){Be.onChangeMediaType({value:ho,pathMethod:Ci})},className:"body-param-content-type",ariaLabel:"Request content type"}))),F.a.createElement("div",{className:"opblock-description-wrapper"},F.a.createElement(Oo,{setRetainRequestBodyValueFlag:function(ho){return vi.setRetainRequestBodyValueFlag({value:ho,pathMethod:Ci})},userHasEditedBody:Ai.hasUserEditedBody.apply(Ai,ks()(Ci)),specPath:ce()(kn).call(kn,0,-1).push("requestBody"),requestBody:Wo,requestBodyValue:Ai.requestBodyValue.apply(Ai,ks()(Ci)),requestBodyInclusionSetting:Ai.requestBodyInclusionSetting.apply(Ai,ks()(Ci)),requestBodyErrors:Ai.requestBodyErrors.apply(Ai,ks()(Ci)),isExecute:Ki,getConfigs:kr,activeExamplesKey:Ai.activeExamplesMember.apply(Ai,h()(Re=ks()(Ci)).call(Re,["requestBody","requestBody"])),updateActiveExamplesKey:function(ho){Be.props.oas3Actions.setActiveExamplesMember({name:ho,pathMethod:Be.props.pathMethod,contextType:"requestBody",contextName:"requestBody"})},onChange:function(ho,xo){if(xo){var Ps=Ai.requestBodyValue.apply(Ai,ks()(Ci)),_n=zt.Map.isMap(Ps)?Ps:Object(zt.Map)();return vi.setRequestBodyValue({pathMethod:Ci,value:_n.setIn(xo,ho)})}vi.setRequestBodyValue({value:ho,pathMethod:Ci})},onChangeIncludeEmpty:function(ho,xo){vi.setRequestBodyInclusion({pathMethod:Ci,value:xo,name:ho})},contentType:Ai.requestContentType.apply(Ai,ks()(Ci))}))))}}]),Te}($e.Component);U()(an,"defaultProps",{onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[],specPath:[]});var Nt=function(xe){return F.a.createElement("div",{className:"parameter__extension"},xe.xKey,": ",String(xe.xVal))},ye=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onCheckboxChange",function(en){(0,Re.props.onChange)(en.target.checked)}),Re}return Y()(Te,[{key:"componentDidMount",value:function(){var ge=this.props,Re=ge.isIncludedOptions;Re.shouldDispatchInit&&(0,ge.onChange)(Re.defaultValue)}},{key:"render",value:function(){var ge=this.props,Re=ge.isIncluded,Be=ge.isDisabled;return F.a.createElement("div",null,F.a.createElement("label",{className:Er()("parameter__empty_value_toggle",{disabled:Be})},F.a.createElement("input",{type:"checkbox",disabled:Be,checked:!Be&&Re,onChange:this.onCheckboxChange}),"Send empty value"))}}]),Te}($e.Component);U()(ye,"defaultProps",{onChange:function(){},isIncludedOptions:{}});var Ne=t(145),Wt=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChangeWrapper",function(xt){var Dt=arguments.length>1&&void 0!==arguments[1]&&arguments[1],en=Be.props,vn=en.onChange,Gn=en.rawParam;return vn(Gn,""===xt||xt&&0===xt.size?null:xt,Dt)}),U()(L()(Be),"_onExampleSelect",function(xt){Be.props.oas3Actions.setActiveExamplesMember({name:xt,pathMethod:Be.props.pathMethod,contextType:"parameters",contextName:Be.getParamKey()})}),U()(L()(Be),"onChangeIncludeEmpty",function(xt){var Dt=Be.props,en=Dt.specActions,vn=Dt.param,Gn=Dt.pathMethod,kn=vn.get("name"),zn=vn.get("in");return en.updateEmptyParamInclusion(Gn,kn,zn,xt)}),U()(L()(Be),"setDefaultValue",function(){var xt=Be.props,Dt=xt.specSelectors,en=xt.pathMethod,Gn=xt.oas3Selectors,kn=Dt.parameterWithMetaByIdentity(en,xt.rawParam)||Object(zt.Map)(),zn=Object(Ne.a)(kn,{isOAS3:Dt.isOAS3()}).schema,jr=kn.get("content",Object(zt.Map)()).keySeq().first(),kr=zn?Object(tr.o)(zn.toJS(),jr,{includeWriteOnly:!0}):null;if(kn&&void 0===kn.get("value")&&"body"!==kn.get("in")){var Gr;if(Dt.isSwagger2())Gr=void 0!==kn.get("x-example")?kn.get("x-example"):void 0!==kn.getIn(["schema","example"])?kn.getIn(["schema","example"]):zn&&zn.getIn(["default"]);else if(Dt.isOAS3()){var ci,Ci=Gn.activeExamplesMember.apply(Gn,h()(ci=ks()(en)).call(ci,["parameters",Be.getParamKey()]));Gr=void 0!==kn.getIn(["examples",Ci,"value"])?kn.getIn(["examples",Ci,"value"]):void 0!==kn.getIn(["content",jr,"example"])?kn.getIn(["content",jr,"example"]):void 0!==kn.get("example")?kn.get("example"):void 0!==(zn&&zn.get("example"))?zn&&zn.get("example"):void 0!==(zn&&zn.get("default"))?zn&&zn.get("default"):kn.get("default")}void 0===Gr||zt.List.isList(Gr)||(Gr=Object(tr.I)(Gr)),void 0!==Gr?Be.onChangeWrapper(Gr):zn&&"object"===zn.get("type")&&kr&&!kn.get("examples")&&Be.onChangeWrapper(zt.List.isList(kr)?kr:Object(tr.I)(kr))}}),Be.setDefaultValue(),Be}return Y()(Te,[{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re,Be=ge.specSelectors,xt=ge.pathMethod,Dt=ge.rawParam,en=Be.isOAS3(),vn=Be.parameterWithMetaByIdentity(xt,Dt)||new zt.Map;if(vn=vn.isEmpty()?Dt:vn,en){var Gn=Object(Ne.a)(vn,{isOAS3:en}).schema;Re=Gn?Gn.get("enum"):void 0}else Re=vn?vn.get("enum"):void 0;var kn,zn=vn?vn.get("value"):void 0;void 0!==zn?kn=zn:Dt.get("required")&&Re&&Re.size&&(kn=Re.first()),void 0!==kn&&kn!==zn&&this.onChangeWrapper(Object(tr.w)(kn)),this.setDefaultValue()}},{key:"getParamKey",value:function(){var ge,Re=this.props.param;return Re?h()(ge="".concat(Re.get("name"),"-")).call(ge,Re.get("in")):null}},{key:"render",value:function(){var ge,Re,Be,xt,Dt=this.props,en=Dt.param,vn=Dt.rawParam,Gn=Dt.getComponent,kn=Dt.getConfigs,zn=Dt.isExecute,jr=Dt.fn,kr=Dt.onChangeConsumes,Gr=Dt.specSelectors,ci=Dt.pathMethod,Ci=Dt.specPath,vi=Dt.oas3Selectors,Ai=Gr.isOAS3(),fo=kn(),po=fo.showExtensions,No=fo.showCommonExtensions;if(en||(en=vn),!vn)return null;var wo,oo,Oo,Ki,Vi=Gn("JsonSchemaForm"),Wo=Gn("ParamBody"),Po=en.get("in"),ho="body"!==Po?null:F.a.createElement(Wo,{getComponent:Gn,getConfigs:kn,fn:jr,param:en,consumes:Gr.consumesOptionsFor(ci),consumesValue:Gr.contentTypeValues(ci).get("requestContentType"),onChange:this.onChangeWrapper,onChangeConsumes:kr,isExecute:zn,specSelectors:Gr,pathMethod:ci}),xo=Gn("modelExample"),Ps=Gn("Markdown",!0),_n=Gn("ParameterExt"),Hs=Gn("ParameterIncludeEmpty"),Pa=Gn("ExamplesSelectValueRetainer"),Oa=Gn("Example"),lo=Object(Ne.a)(en,{isOAS3:Ai}).schema,ra=Gr.parameterWithMetaByIdentity(ci,vn)||Object(zt.Map)(),ns=lo?lo.get("format"):null,Aa=lo?lo.get("type"):null,zs=lo?lo.getIn(["items","type"]):null,La="formData"===Po,ws="FormData"in Ht.a,Ds=en.get("required"),Ws=ra?ra.get("value"):"",Ba=No?Object(tr.l)(lo):null,Zs=po?Object(tr.m)(en):null,Ya=!1;return void 0!==en&&lo&&(wo=lo.get("items")),void 0!==wo?(oo=wo.get("enum"),Oo=wo.get("default")):lo&&(oo=lo.get("enum")),oo&&oo.size&&oo.size>0&&(Ya=!0),void 0!==en&&(lo&&(Oo=lo.get("default")),void 0===Oo&&(Oo=en.get("default")),void 0===(Ki=en.get("example"))&&(Ki=en.get("x-example"))),F.a.createElement("tr",{"data-param-name":en.get("name"),"data-param-in":en.get("in")},F.a.createElement("td",{className:"parameters-col_name"},F.a.createElement("div",{className:Ds?"parameter__name required":"parameter__name"},en.get("name"),Ds?F.a.createElement("span",null,"\xa0*"):null),F.a.createElement("div",{className:"parameter__type"},Aa,zs&&"[".concat(zs,"]"),ns&&F.a.createElement("span",{className:"prop-format"},"($",ns,")")),F.a.createElement("div",{className:"parameter__deprecated"},Ai&&en.get("deprecated")?"deprecated":null),F.a.createElement("div",{className:"parameter__in"},"(",en.get("in"),")"),No&&Ba.size?He()(ge=Ba.entrySeq()).call(ge,function($a){var Za,Ha=Jo()($a,2),ol=Ha[0],Us=Ha[1];return F.a.createElement(_n,{key:h()(Za="".concat(ol,"-")).call(Za,Us),xKey:ol,xVal:Us})}):null,po&&Zs.size?He()(Re=Zs.entrySeq()).call(Re,function($a){var Za,Ha=Jo()($a,2),ol=Ha[0],Us=Ha[1];return F.a.createElement(_n,{key:h()(Za="".concat(ol,"-")).call(Za,Us),xKey:ol,xVal:Us})}):null),F.a.createElement("td",{className:"parameters-col_description"},en.get("description")?F.a.createElement(Ps,{source:en.get("description")}):null,!ho&&zn||!Ya?null:F.a.createElement(Ps,{className:"parameter__enum",source:"<i>Available values</i> : "+He()(oo).call(oo,function($a){return $a}).toArray().join(", ")}),!ho&&zn||void 0===Oo?null:F.a.createElement(Ps,{className:"parameter__default",source:"<i>Default value</i> : "+Oo}),!ho&&zn||void 0===Ki?null:F.a.createElement(Ps,{source:"<i>Example</i> : "+Ki}),La&&!ws&&F.a.createElement("div",null,"Error: your browser does not support FormData"),Ai&&en.get("examples")?F.a.createElement("section",{className:"parameter-controls"},F.a.createElement(Pa,{examples:en.get("examples"),onSelect:this._onExampleSelect,updateValue:this.onChangeWrapper,getComponent:Gn,defaultToFirstExample:!0,currentKey:vi.activeExamplesMember.apply(vi,h()(Be=ks()(ci)).call(Be,["parameters",this.getParamKey()])),currentUserInputValue:Ws})):null,ho?null:F.a.createElement(Vi,{fn:jr,getComponent:Gn,value:Ws,required:Ds,disabled:!zn,description:en.get("name"),onChange:this.onChangeWrapper,errors:ra.get("errors"),schema:lo}),ho&&lo?F.a.createElement(xo,{getComponent:Gn,specPath:Ci.push("schema"),getConfigs:kn,isExecute:zn,specSelectors:Gr,schema:lo,example:ho,includeWriteOnly:!0}):null,!ho&&zn&&en.get("allowEmptyValue")?F.a.createElement(Hs,{onChange:this.onChangeIncludeEmpty,isIncluded:Gr.parameterInclusionSettingFor(ci,en.get("name"),en.get("in")),isDisabled:!Object(tr.q)(Ws)}):null,Ai&&en.get("examples")?F.a.createElement(Oa,{example:en.getIn(["examples",vi.activeExamplesMember.apply(vi,h()(xt=ks()(ci)).call(xt,["parameters",this.getParamKey()]))]),getComponent:Gn,getConfigs:kn}):null))}}]),Te}($e.Component),Or=t(202),Ni=t.n(Or),Yo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"handleValidateParameters",function(){var en=Re.props,vn=en.specSelectors,kn=en.path,zn=en.method;return en.specActions.validateParams([kn,zn]),vn.validateBeforeExecute([kn,zn])}),U()(L()(Re),"handleValidateRequestBody",function(){var en=Re.props,vn=en.path,Gn=en.method,kn=en.specSelectors,zn=en.oas3Selectors,jr=en.oas3Actions,kr={missingBodyValue:!1,missingRequiredKeys:[]};jr.clearRequestBodyValidateError({path:vn,method:Gn});var Gr=kn.getOAS3RequiredRequestBodyContentType([vn,Gn]),ci=zn.requestBodyValue(vn,Gn),Ci=zn.validateBeforeExecute([vn,Gn]),vi=zn.requestContentType(vn,Gn);if(!Ci)return kr.missingBodyValue=!0,jr.setRequestBodyValidateError({path:vn,method:Gn,validationErrors:kr}),!1;if(!Gr)return!0;var Ai=zn.validateShallowRequired({oas3RequiredRequestBodyContentType:Gr,oas3RequestContentType:vi,oas3RequestBodyValue:ci});return!Ai||Ai.length<1||(zo()(Ai).call(Ai,function(fo){kr.missingRequiredKeys.push(fo)}),jr.setRequestBodyValidateError({path:vn,method:Gn,validationErrors:kr}),!1)}),U()(L()(Re),"handleValidationResultPass",function(){var en=Re.props,vn=en.specActions,Gn=en.operation,kn=en.path,zn=en.method;Re.props.onExecute&&Re.props.onExecute(),vn.execute({operation:Gn,path:kn,method:zn})}),U()(L()(Re),"handleValidationResultFail",function(){var en=Re.props,vn=en.specActions,Gn=en.path,kn=en.method;vn.clearValidateParams([Gn,kn]),Ni()(function(){vn.validateParams([Gn,kn])},40)}),U()(L()(Re),"handleValidationResult",function(en){en?Re.handleValidationResultPass():Re.handleValidationResultFail()}),U()(L()(Re),"onClick",function(){var en=Re.handleValidateParameters(),vn=Re.handleValidateRequestBody();Re.handleValidationResult(en&&vn)}),U()(L()(Re),"onChangeProducesWrapper",function(en){return Re.props.specActions.changeProducesValue([Re.props.path,Re.props.method],en)}),Re}return Y()(Te,[{key:"render",value:function(){return F.a.createElement("button",{className:"btn execute opblock-control__btn",onClick:this.onClick,disabled:this.props.disabled},"Execute")}}]),Te}($e.Component),ms=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.headers,xt=Re.getComponent,Dt=xt("Property"),en=xt("Markdown",!0);return Be&&Be.size?F.a.createElement("div",{className:"headers-wrapper"},F.a.createElement("h4",{className:"headers__title"},"Headers:"),F.a.createElement("table",{className:"headers"},F.a.createElement("thead",null,F.a.createElement("tr",{className:"header-row"},F.a.createElement("th",{className:"header-col"},"Name"),F.a.createElement("th",{className:"header-col"},"Description"),F.a.createElement("th",{className:"header-col"},"Type"))),F.a.createElement("tbody",null,He()(ge=Be.entrySeq()).call(ge,function(vn){var Gn=Jo()(vn,2),kn=Gn[0],zn=Gn[1];if(!ln.a.Map.isMap(zn))return null;var jr=zn.get("description"),kr=zn.getIn(["schema"])?zn.getIn(["schema","type"]):zn.getIn(["type"]),Gr=zn.getIn(["schema","example"]);return F.a.createElement("tr",{key:kn},F.a.createElement("td",{className:"header-col"},kn),F.a.createElement("td",{className:"header-col"},jr?F.a.createElement(en,{source:jr}):null),F.a.createElement("td",{className:"header-col"},kr," ",Gr?F.a.createElement(Dt,{propKey:"Example",propVal:Gr,propClass:"header-example"}):null))}).toArray()))):null}}]),Te}(F.a.Component),ss=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.editorActions,Be=ge.errSelectors,xt=ge.layoutSelectors,Dt=ge.layoutActions,en=(0,ge.getComponent)("Collapse");if(Re&&Re.jumpToLine)var vn=Re.jumpToLine;var Gn=Be.allErrors(),kn=m()(Gn).call(Gn,function(kr){return"thrown"===kr.get("type")||"error"===kr.get("level")});if(!kn||kn.count()<1)return null;var zn=xt.isShown(["errorPane"],!0),jr=kn.sortBy(function(kr){return kr.get("line")});return F.a.createElement("pre",{className:"errors-wrapper"},F.a.createElement("hgroup",{className:"error"},F.a.createElement("h4",{className:"errors__title"},"Errors"),F.a.createElement("button",{className:"btn errors__clear-btn",onClick:function(){return Dt.show(["errorPane"],!zn)}},zn?"Hide":"Show")),F.a.createElement(en,{isOpened:zn,animated:!0},F.a.createElement("div",{className:"errors"},He()(jr).call(jr,function(kr,Gr){var ci=kr.get("type");return"thrown"===ci||"auth"===ci?F.a.createElement(Lo,{key:Gr,error:kr.get("error")||kr,jumpToLine:vn}):"spec"===ci?F.a.createElement(Zo,{key:Gr,error:kr,jumpToLine:vn}):void 0}))))}}]),Te}(F.a.Component),Lo=function(xe){var ke=xe.error,Te=xe.jumpToLine;if(!ke)return null;var ge=ke.get("line");return F.a.createElement("div",{className:"error-wrapper"},ke?F.a.createElement("div",null,F.a.createElement("h4",null,ke.get("source")&&ke.get("level")?Ea(ke.get("source"))+" "+ke.get("level"):"",ke.get("path")?F.a.createElement("small",null," at ",ke.get("path")):null),F.a.createElement("span",{className:"message thrown"},ke.get("message")),F.a.createElement("div",{className:"error-line"},ge&&Te?F.a.createElement("a",{onClick:oe()(Te).call(Te,null,ge)},"Jump to line ",ge):null)):null)},Zo=function(xe){var ke=xe.error,Te=xe.jumpToLine,ge=null;return ke.get("path")?ge=zt.List.isList(ke.get("path"))?F.a.createElement("small",null,"at ",ke.get("path").join(".")):F.a.createElement("small",null,"at ",ke.get("path")):ke.get("line")&&!Te&&(ge=F.a.createElement("small",null,"on line ",ke.get("line"))),F.a.createElement("div",{className:"error-wrapper"},ke?F.a.createElement("div",null,F.a.createElement("h4",null,Ea(ke.get("source"))+" "+ke.get("level"),"\xa0",ge),F.a.createElement("span",{className:"message"},ke.get("message")),F.a.createElement("div",{className:"error-line"},Te?F.a.createElement("a",{onClick:oe()(Te).call(Te,null,ke.get("line"))},"Jump to line ",ke.get("line")):null)):null)};function Ea(xe){var ke;return He()(ke=(xe||"").split(" ")).call(ke,function(Te){return Te[0].toUpperCase()+ce()(Te).call(Te,1)}).join(" ")}Lo.defaultProps={jumpToLine:null};var ul=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChangeWrapper",function(en){return Re.props.onChange(en.target.value)}),Re}return Y()(Te,[{key:"componentDidMount",value:function(){this.props.contentTypes&&this.props.onChange(this.props.contentTypes.first())}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re;ge.contentTypes&&ge.contentTypes.size&&(Xe()(Re=ge.contentTypes).call(Re,ge.value)||ge.onChange(ge.contentTypes.first()))}},{key:"render",value:function(){var ge=this.props,Dt=ge.contentTypes;return Dt&&Dt.size?F.a.createElement("div",{className:"content-type-wrapper "+(ge.className||"")},F.a.createElement("select",{"aria-controls":ge.ariaControls,"aria-label":ge.ariaLabel,className:"content-type",id:ge.controlId,onChange:this.onChangeWrapper,value:ge.value||""},He()(Dt).call(Dt,function(Gn){return F.a.createElement("option",{key:Gn,value:Gn},Gn)}).toArray())):null}}]),Te}(F.a.Component);U()(ul,"defaultProps",{onChange:function(){},value:null,contentTypes:Object(zt.fromJS)(["application/json"])});var Ma=t(29),va=t.n(Ma),bs=t(54),$o=t.n(bs),Ol=t(105),dl=t.n(Ol),Ja=["fullscreen","full"],il=["hide","keepContents","mobile","tablet","desktop","large"];function Il(){for(var xe,ke=arguments.length,Te=new Array(ke),ge=0;ge<ke;ge++)Te[ge]=arguments[ge];return dl()(xe=m()(Te).call(Te,function(Re){return!!Re}).join(" ")).call(xe)}var Bl=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.fullscreen,Be=ge.full,xt=$o()(ge,Ja);if(Re)return F.a.createElement("section",xt);var Dt="swagger-container"+(Be?"-full":"");return F.a.createElement("section",va()({},xt,{className:Il(xt.className,Dt)}))}}]),Te}(F.a.Component),Na={mobile:"",tablet:"-tablet",desktop:"-desktop",large:"-hd"},Di=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.hide,xt=Re.keepContents,Dt=$o()(Re,il);if(Be&&!xt)return F.a.createElement("span",null);var en=[];for(var vn in Na)if(Object.prototype.hasOwnProperty.call(Na,vn)){var Gn=Na[vn];if(vn in this.props){var kn=this.props[vn];if(kn<1){en.push("none"+Gn);continue}en.push("block"+Gn),en.push("col-"+kn+Gn)}}Be&&en.push("hidden");var zn=Il.apply(void 0,h()(ge=[Dt.className]).call(ge,en));return F.a.createElement("section",va()({},Dt,{className:zn}))}}]),Te}(F.a.Component),vs=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){return F.a.createElement("div",va()({},this.props,{className:Il(this.props.className,"wrapper")}))}}]),Te}(F.a.Component),pa=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){return F.a.createElement("button",va()({},this.props,{className:Il(this.props.className,"button")}))}}]),Te}(F.a.Component);U()(pa,"defaultProps",{className:""});var Vo=function(xe){return F.a.createElement("textarea",xe)},ja=function(xe){return F.a.createElement("input",xe)},hs=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChange",function(Dt){var en,vn,Gn=Be.props,kn=Gn.onChange,zn=Gn.multiple,jr=ce()([]).call(Dt.target.options);en=zn?He()(vn=m()(jr).call(jr,function(kr){return kr.selected})).call(vn,function(kr){return kr.value}):Dt.target.value,Be.setState({value:en}),kn&&kn(en)}),Be.state={value:ge.value?ge.value:ge.multiple?[""]:""},Be}return Y()(Te,[{key:"UNSAFE_componentWillReceiveProps",value:function(ge){ge.value!==this.props.value&&this.setState({value:ge.value})}},{key:"render",value:function(){var ge,Re,Be=this.props,xt=Be.allowedValues,Dt=Be.multiple,en=Be.allowEmptyValue,vn=Be.disabled,Gn=(null===(ge=this.state.value)||void 0===ge||null===(Re=ge.toJS)||void 0===Re?void 0:Re.call(ge))||this.state.value;return F.a.createElement("select",{className:this.props.className,multiple:Dt,value:Gn,onChange:this.onChange,disabled:vn},en?F.a.createElement("option",{value:""},"--"):null,He()(xt).call(xt,function(kn,zn){return F.a.createElement("option",{key:zn,value:String(kn)},String(kn))}))}}]),Te}(F.a.Component);U()(hs,"defaultProps",{multiple:!1,allowEmptyValue:!0});var ze=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){return F.a.createElement("a",va()({},this.props,{rel:"noopener noreferrer",className:Il(this.props.className,"link")}))}}]),Te}(F.a.Component),wt=function(xe){return F.a.createElement("div",{className:"no-margin"}," ",xe.children," ")},kt=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"renderNotAnimated",value:function(){return this.props.isOpened?F.a.createElement(wt,null,this.props.children):F.a.createElement("noscript",null)}},{key:"render",value:function(){var ge=this.props,xt=ge.children;return ge.animated?F.a.createElement(wt,null,xt=ge.isOpened?xt:null):this.renderNotAnimated()}}]),Te}(F.a.Component);U()(kt,"defaultProps",{isOpened:!1,animated:!1});var tn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re,Be;I()(this,Te);for(var xt=arguments.length,Dt=new Array(xt),en=0;en<xt;en++)Dt[en]=arguments[en];return(Be=ke.call.apply(ke,h()(ge=[this]).call(ge,Dt))).setTagShown=oe()(Re=Be._setTagShown).call(Re,L()(Be)),Be}return Y()(Te,[{key:"_setTagShown",value:function(ge,Re){this.props.layoutActions.show(ge,Re)}},{key:"showOp",value:function(ge,Re){this.props.layoutActions.show(ge,Re)}},{key:"render",value:function(){var ge=this.props,Be=ge.layoutSelectors,xt=ge.layoutActions,Dt=ge.getComponent,en=ge.specSelectors.taggedOperations(),vn=Dt("Collapse");return F.a.createElement("div",null,F.a.createElement("h4",{className:"overview-title"},"Overview"),He()(en).call(en,function(Gn,kn){var zn=Gn.get("operations"),jr=["overview-tags",kn],kr=Be.isShown(jr,!0);return F.a.createElement("div",{key:"overview-"+kn},F.a.createElement("h4",{onClick:function(){return xt.show(jr,!kr)},className:"link overview-tag"}," ",kr?"-":"+",kn),F.a.createElement(vn,{isOpened:kr,animated:!0},He()(zn).call(zn,function(Gr){var ci=Gr.toObject(),Ci=ci.path,vi=ci.method,Ai=ci.id,fo="operations",po=Ai,No=Be.isShown([fo,po]);return F.a.createElement(ur,{key:Ai,path:Ci,method:vi,id:Ci+"-"+vi,shown:No,showOpId:po,showOpIdPrefix:fo,href:"#operation-".concat(po),onClick:xt.show})}).toArray()))}).toArray(),en.size<1&&F.a.createElement("h3",null," No operations defined in spec! "))}}]),Te}(F.a.Component),ur=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge){var Re,Be;return I()(this,Te),(Be=ke.call(this,ge)).onClick=oe()(Re=Be._onClick).call(Re,L()(Be)),Be}return Y()(Te,[{key:"_onClick",value:function(){var ge=this.props;(0,ge.onClick)([ge.showOpIdPrefix,ge.showOpId],!ge.shown)}},{key:"render",value:function(){var ge=this.props,Re=ge.id,Be=ge.method;return F.a.createElement(ze,{href:ge.href,onClick:this.onClick,className:"block opblock-link ".concat(ge.shown?"shown":"")},F.a.createElement("div",null,F.a.createElement("small",{className:"bold-label-".concat(Be)},Be.toUpperCase()),F.a.createElement("span",{className:"bold-label"},Re)))}}]),Te}(F.a.Component),gn=["value","defaultValue","initialValue"],xr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"componentDidMount",value:function(){this.props.initialValue&&(this.inputRef.value=this.props.initialValue)}},{key:"render",value:function(){var ge=this,Re=this.props,Be=$o()(Re,gn);return F.a.createElement("input",va()({},Be,{ref:function(xt){return ge.inputRef=xt}}))}}]),Te}(F.a.Component),Zr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props;return F.a.createElement("pre",{className:"base-url"},"[ Base URL: ",ge.host,ge.basePath," ]")}}]),Te}(F.a.Component),Pr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.data,Be=ge.getComponent,xt=ge.selectedServer,Dt=ge.url,en=Re.get("name")||"the developer",vn=wi(Re.get("url"),Dt,{selectedServer:xt}),Gn=Re.get("email"),kn=Be("Link");return F.a.createElement("div",{className:"info__contact"},vn&&F.a.createElement("div",null,F.a.createElement(kn,{href:Object(tr.F)(vn),target:"_blank"},en," - Website")),Gn&&F.a.createElement(kn,{href:Object(tr.F)("mailto:".concat(Gn))},vn?"Send email to ".concat(en):"Contact ".concat(en)))}}]),Te}(F.a.Component),mi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.license,xt=ge.selectedServer,Dt=ge.url,en=(0,ge.getComponent)("Link"),vn=Re.get("name")||"License",Gn=wi(Re.get("url"),Dt,{selectedServer:xt});return F.a.createElement("div",{className:"info__license"},Gn?F.a.createElement(en,{target:"_blank",href:Object(tr.F)(Gn)},vn):F.a.createElement("span",null,vn))}}]),Te}(F.a.Component),ii=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.url,Be=(0,ge.getComponent)("Link");return F.a.createElement(Be,{target:"_blank",href:Object(tr.F)(Re)},F.a.createElement("span",{className:"url"}," ",Re))}}]),Te}(F.a.PureComponent),si=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.info,Be=ge.url,xt=ge.host,Dt=ge.basePath,en=ge.getComponent,vn=ge.externalDocs,Gn=ge.selectedServer,kn=ge.url,zn=Re.get("version"),jr=Re.get("description"),kr=Re.get("title"),Gr=wi(Re.get("termsOfService"),kn,{selectedServer:Gn}),ci=Re.get("contact"),Ci=Re.get("license"),vi=wi(vn&&vn.get("url"),kn,{selectedServer:Gn}),Ai=vn&&vn.get("description"),fo=en("Markdown",!0),po=en("Link"),No=en("VersionStamp"),wo=en("InfoUrl"),oo=en("InfoBasePath");return F.a.createElement("div",{className:"info"},F.a.createElement("hgroup",{className:"main"},F.a.createElement("h2",{className:"title"},kr,zn&&F.a.createElement(No,{version:zn})),xt||Dt?F.a.createElement(oo,{host:xt,basePath:Dt}):null,Be&&F.a.createElement(wo,{getComponent:en,url:Be})),F.a.createElement("div",{className:"description"},F.a.createElement(fo,{source:jr})),Gr&&F.a.createElement("div",{className:"info__tos"},F.a.createElement(po,{target:"_blank",href:Object(tr.F)(Gr)},"Terms of service")),ci&&ci.size?F.a.createElement(Pr,{getComponent:en,data:ci,selectedServer:Gn,url:Be}):null,Ci&&Ci.size?F.a.createElement(mi,{getComponent:en,license:Ci,selectedServer:Gn,url:Be}):null,vi?F.a.createElement(po,{className:"info__extdocs",target:"_blank",href:Object(tr.F)(vi)},Ai||vi):null)}}]),Te}(F.a.Component),bi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.specSelectors,Be=ge.getComponent,xt=ge.oas3Selectors,Dt=Re.info(),en=Re.url(),vn=Re.basePath(),Gn=Re.host(),kn=Re.externalDocs(),zn=xt.selectedServer(),jr=Be("info");return F.a.createElement("div",null,Dt&&Dt.count()?F.a.createElement(jr,{info:Dt,url:en,host:Gn,basePath:vn,externalDocs:kn,getComponent:Be,selectedServer:zn}):null)}}]),Te}(F.a.Component),Ui=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){return null}}]),Te}(F.a.Component),io=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){return F.a.createElement("div",{className:"footer"})}}]),Te}(F.a.Component),vo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onFilterChange",function(en){Re.props.layoutActions.updateFilter(en.target.value)}),Re}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.specSelectors,Be=ge.layoutSelectors,xt=(0,ge.getComponent)("Col"),Dt="loading"===Re.loadingStatus(),en="failed"===Re.loadingStatus(),vn=Be.currentFilter(),Gn=["operation-filter-input"];return en&&Gn.push("failed"),Dt&&Gn.push("loading"),F.a.createElement("div",null,null===vn||!1===vn||"false"===vn?null:F.a.createElement("div",{className:"filter-container"},F.a.createElement(xt,{className:"filter wrapper",mobile:12},F.a.createElement("input",{className:Gn.join(" "),placeholder:"Filter by tag",type:"text",onChange:this.onFilterChange,value:!0===vn||"true"===vn?"":vn,disabled:Dt}))))}}]),Te}(F.a.Component),Bi=Function.prototype,hi=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"updateValues",function(xt){var Dt=xt.param,en=xt.isExecute,vn=xt.consumesValue,Gn=void 0===vn?"":vn,kn=/xml/i.test(Gn),zn=/json/i.test(Gn),jr=Dt.get(kn?"value_xml":"value");if(void 0!==jr){var kr=!jr&&zn?"{}":jr;Be.setState({value:kr}),Be.onChange(kr,{isXml:kn,isEditBox:en})}else kn?Be.onChange(Be.sample("xml"),{isXml:kn,isEditBox:en}):Be.onChange(Be.sample(),{isEditBox:en})}),U()(L()(Be),"sample",function(xt){var Dt=Be.props,vn=(0,Dt.fn.inferSchema)(Dt.param.toJS());return Object(tr.o)(vn,xt,{includeWriteOnly:!0})}),U()(L()(Be),"onChange",function(xt,Dt){var vn=Dt.isXml;Be.setState({value:xt,isEditBox:Dt.isEditBox}),Be._onChange(xt,vn)}),U()(L()(Be),"_onChange",function(xt,Dt){(Be.props.onChange||Bi)(xt,Dt)}),U()(L()(Be),"handleOnChange",function(xt){var en=/xml/i.test(Be.props.consumesValue);Be.onChange(xt.target.value,{isXml:en,isEditBox:Be.state.isEditBox})}),U()(L()(Be),"toggleIsEditBox",function(){return Be.setState(function(xt){return{isEditBox:!xt.isEditBox}})}),Be.state={isEditBox:!1,value:""},Be}return Y()(Te,[{key:"componentDidMount",value:function(){this.updateValues.call(this,this.props)}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){this.updateValues.call(this,ge)}},{key:"render",value:function(){var ge=this.props,Re=ge.onChangeConsumes,Be=ge.param,xt=ge.isExecute,Dt=ge.specSelectors,en=ge.pathMethod,vn=ge.getConfigs,Gn=ge.getComponent,kn=Gn("Button"),zn=Gn("TextArea"),jr=Gn("highlightCode"),kr=Gn("contentType"),Gr=(Dt?Dt.parameterWithMetaByIdentity(en,Be):Be).get("errors",Object(zt.List)()),ci=Dt.contentTypeValues(en).get("requestContentType"),Ci=this.props.consumes&&this.props.consumes.size?this.props.consumes:Te.defaultProp.consumes,vi=this.state,Ai=vi.value,fo=vi.isEditBox,po=null;return Object(da.a)(Ai)&&(po="json"),F.a.createElement("div",{className:"body-param","data-param-name":Be.get("name"),"data-param-in":Be.get("in")},fo&&xt?F.a.createElement(zn,{className:"body-param__text"+(Gr.count()?" invalid":""),value:Ai,onChange:this.handleOnChange}):Ai&&F.a.createElement(jr,{className:"body-param__example",language:po,getConfigs:vn,value:Ai}),F.a.createElement("div",{className:"body-param-options"},xt?F.a.createElement("div",{className:"body-param-edit"},F.a.createElement(kn,{className:fo?"btn cancel body-param__example-edit":"btn edit body-param__example-edit",onClick:this.toggleIsEditBox},fo?"Cancel":"Edit")):null,F.a.createElement("label",{htmlFor:""},F.a.createElement("span",null,"Parameter content type"),F.a.createElement(kr,{value:ci,contentTypes:Ci,onChange:Re,className:"body-param-content-type",ariaLabel:"Parameter content type"}))))}}]),Te}($e.PureComponent);U()(hi,"defaultProp",{consumes:Object(zt.fromJS)(["application/json"]),param:Object(zt.fromJS)({}),onChange:Bi,onChangeConsumes:Bi});var Br=t(161),G=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.request,Be=ge.getConfigs,xt=Object(Br.requestSnippetGenerator_curl_bash)(Re),Dt=Be(),en=ee()(Dt,"syntaxHighlight.activated")?F.a.createElement(st.a,{language:"bash",className:"curl microlight",onWheel:this.preventYScrollingBeyondElement,style:Object(st.b)(ee()(Dt,"syntaxHighlight.theme"))},xt):F.a.createElement("textarea",{readOnly:!0,className:"curl",value:xt});return F.a.createElement("div",{className:"curl-command"},F.a.createElement("h4",null,"Curl"),F.a.createElement("div",{className:"copy-to-clipboard"},F.a.createElement(ni.CopyToClipboard,{text:xt},F.a.createElement("button",null))),F.a.createElement("div",null,en))}}]),Te}(F.a.Component),Se=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChange",function(en){Re.setScheme(en.target.value)}),U()(L()(Re),"setScheme",function(en){var vn=Re.props;vn.specActions.setScheme(en,vn.path,vn.method)}),Re}return Y()(Te,[{key:"UNSAFE_componentWillMount",value:function(){this.setScheme(this.props.schemes.first())}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re;this.props.currentScheme&&Xe()(Re=ge.schemes).call(Re,this.props.currentScheme)||this.setScheme(ge.schemes.first())}},{key:"render",value:function(){var ge,Re=this.props,Be=Re.schemes,xt=Re.currentScheme;return F.a.createElement("label",{htmlFor:"schemes"},F.a.createElement("span",{className:"schemes-title"},"Schemes"),F.a.createElement("select",{onChange:this.onChange,value:xt},He()(ge=Be.valueSeq()).call(ge,function(Dt){return F.a.createElement("option",{value:Dt,key:Dt},Dt)}).toArray()))}}]),Te}(F.a.Component),ft=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.specActions,Be=ge.specSelectors,xt=ge.getComponent,Dt=Be.operationScheme(),en=Be.schemes(),vn=xt("schemes");return en&&en.size?F.a.createElement(vn,{currentScheme:Dt,schemes:en,specActions:Re}):null}}]),Te}(F.a.Component),Ft=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"toggleCollapsed",function(){Be.props.onToggle&&Be.props.onToggle(Be.props.modelName,!Be.state.expanded),Be.setState({expanded:!Be.state.expanded})}),U()(L()(Be),"onLoad",function(vn){if(vn&&Be.props.layoutSelectors){var Gn=Be.props.layoutSelectors.getScrollToKey();ln.a.is(Gn,Be.props.specPath)&&Be.toggleCollapsed(),Be.props.layoutActions.readyToScroll(Be.props.specPath,vn.parentElement)}});var xt=Be.props;return Be.state={expanded:xt.expanded,collapsedContent:xt.collapsedContent||Te.defaultProps.collapsedContent},Be}return Y()(Te,[{key:"componentDidMount",value:function(){var ge=this.props,Be=ge.expanded;ge.hideSelfOnExpand&&Be&&this.props.onToggle(ge.modelName,Be)}},{key:"UNSAFE_componentWillReceiveProps",value:function(ge){this.props.expanded!==ge.expanded&&this.setState({expanded:ge.expanded})}},{key:"render",value:function(){var ge=this.props,Re=ge.title,Be=ge.classes;return this.state.expanded&&this.props.hideSelfOnExpand?F.a.createElement("span",{className:Be||""},this.props.children):F.a.createElement("span",{className:Be||"",ref:this.onLoad},F.a.createElement("button",{"aria-expanded":this.state.expanded,className:"model-box-control",onClick:this.toggleCollapsed},Re&&F.a.createElement("span",{className:"pointer"},Re),F.a.createElement("span",{className:"model-toggle"+(this.state.expanded?"":" collapsed")}),!this.state.expanded&&F.a.createElement("span",null,this.state.collapsedContent)),this.state.expanded&&this.props.children)}}]),Te}($e.Component);U()(Ft,"defaultProps",{collapsedContent:"{...}",expanded:!1,title:null,onToggle:function(){},hideSelfOnExpand:!1,specPath:ln.a.List([])});var Bt=t(126),In=t.n(Bt),Xn=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"activeTab",function(kn){Be.setState({activeTab:kn.target.dataset.name})});var xt=Be.props,en=xt.isExecute,vn=(0,xt.getConfigs)().defaultModelRendering,Gn=vn;return"example"!==vn&&"model"!==vn&&(Gn="example"),en&&(Gn="example"),Be.state={activeTab:Gn},Be}return Y()(Te,[{key:"UNSAFE_componentWillReceiveProps",value:function(ge){ge.isExecute&&!this.props.isExecute&&this.props.example&&this.setState({activeTab:"example"})}},{key:"render",value:function(){var ge=this.props,Re=ge.getComponent,Be=ge.specSelectors,xt=ge.schema,Dt=ge.example,en=ge.isExecute,vn=ge.getConfigs,Gn=ge.specPath,kn=ge.includeReadOnly,zn=ge.includeWriteOnly,jr=vn().defaultModelExpandDepth,kr=Re("ModelWrapper"),Gr=Re("highlightCode"),ci=In()(5).toString("base64"),Ci=In()(5).toString("base64"),vi=In()(5).toString("base64"),Ai=In()(5).toString("base64"),fo=Be.isOAS3();return F.a.createElement("div",{className:"model-example"},F.a.createElement("ul",{className:"tab",role:"tablist"},F.a.createElement("li",{className:Er()("tabitem",{active:"example"===this.state.activeTab}),role:"presentation"},F.a.createElement("button",{"aria-controls":Ci,"aria-selected":"example"===this.state.activeTab,className:"tablinks","data-name":"example",id:ci,onClick:this.activeTab,role:"tab"},en?"Edit Value":"Example Value")),xt&&F.a.createElement("li",{className:Er()("tabitem",{active:"model"===this.state.activeTab}),role:"presentation"},F.a.createElement("button",{"aria-controls":Ai,"aria-selected":"model"===this.state.activeTab,className:Er()("tablinks",{inactive:en}),"data-name":"model",id:vi,onClick:this.activeTab,role:"tab"},fo?"Schema":"Model"))),"example"===this.state.activeTab&&F.a.createElement("div",{"aria-hidden":"example"!==this.state.activeTab,"aria-labelledby":ci,"data-name":"examplePanel",id:Ci,role:"tabpanel",tabIndex:"0"},Dt||F.a.createElement(Gr,{value:"(no example available)",getConfigs:vn})),"model"===this.state.activeTab&&F.a.createElement("div",{"aria-hidden":"example"===this.state.activeTab,"aria-labelledby":vi,"data-name":"modelPanel",id:Ai,role:"tabpanel",tabIndex:"0"},F.a.createElement(kr,{schema:xt,getComponent:Re,getConfigs:vn,specSelectors:Be,expandDepth:jr,specPath:Gn,includeReadOnly:kn,includeWriteOnly:zn})))}}]),Te}(F.a.Component),Sr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onToggle",function(en,vn){Re.props.layoutActions&&Re.props.layoutActions.show(Re.props.fullPath,vn)}),Re}return Y()(Te,[{key:"render",value:function(){var ge,Re=this.props,xt=Re.getConfigs,Dt=(0,Re.getComponent)("Model");return this.props.layoutSelectors&&(ge=this.props.layoutSelectors.isShown(this.props.fullPath)),F.a.createElement("div",{className:"model-box"},F.a.createElement(Dt,va()({},this.props,{getConfigs:xt,expanded:ge,depth:1,onToggle:this.onToggle,expandDepth:this.props.expandDepth||0})))}}]),Te}($e.Component),pi=t(206),Fr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"getSchemaBasePath",function(){return Re.props.specSelectors.isOAS3()?["components","schemas"]:["definitions"]}),U()(L()(Re),"getCollapsedContent",function(){return" "}),U()(L()(Re),"handleToggle",function(en,vn){var Gn,kn;Re.props.layoutActions.show(h()(Gn=[]).call(Gn,ks()(Re.getSchemaBasePath()),[en]),vn),vn&&Re.props.specActions.requestResolvedSubtree(h()(kn=[]).call(kn,ks()(Re.getSchemaBasePath()),[en]))}),U()(L()(Re),"onLoadModels",function(en){en&&Re.props.layoutActions.readyToScroll(Re.getSchemaBasePath(),en)}),U()(L()(Re),"onLoadModel",function(en){if(en){var vn,Gn=en.getAttribute("data-name");Re.props.layoutActions.readyToScroll(h()(vn=[]).call(vn,ks()(Re.getSchemaBasePath()),[Gn]),en)}}),Re}return Y()(Te,[{key:"render",value:function(){var ge,Re=this,Be=this.props,xt=Be.specSelectors,Dt=Be.getComponent,en=Be.layoutSelectors,vn=Be.layoutActions,Gn=Be.getConfigs,kn=xt.definitions(),zn=Gn(),jr=zn.docExpansion,kr=zn.defaultModelsExpandDepth;if(!kn.size||kr<0)return null;var Gr=this.getSchemaBasePath(),ci=en.isShown(Gr,kr>0&&"none"!==jr),Ci=xt.isOAS3(),vi=Dt("ModelWrapper"),Ai=Dt("Collapse"),fo=Dt("ModelCollapse"),po=Dt("JumpToPath",!0);return F.a.createElement("section",{className:ci?"models is-open":"models",ref:this.onLoadModels},F.a.createElement("h4",null,F.a.createElement("button",{"aria-expanded":ci,className:"models-control",onClick:function(){return vn.show(Gr,!ci)}},F.a.createElement("span",null,Ci?"Schemas":"Models"),F.a.createElement("svg",{width:"20",height:"20","aria-hidden":"true",focusable:"false"},F.a.createElement("use",{xlinkHref:ci?"#large-arrow-up":"#large-arrow-down"})))),F.a.createElement(Ai,{isOpened:ci},He()(ge=kn.entrySeq()).call(ge,function(No){var wo,oo=Jo()(No,1)[0],Oo=h()(wo=[]).call(wo,ks()(Gr),[oo]),Ki=ln.a.List(Oo),Vi=xt.specResolvedSubtree(Oo),Wo=xt.specJson().getIn(Oo),Po=zt.Map.isMap(Vi)?Vi:ln.a.Map(),ho=zt.Map.isMap(Wo)?Wo:ln.a.Map(),xo=Po.get("title")||ho.get("title")||oo,Ps=en.isShown(Oo,!1);Ps&&0===Po.size&&ho.size>0&&Re.props.specActions.requestResolvedSubtree(Oo);var _n=F.a.createElement(vi,{name:oo,expandDepth:kr,schema:Po||ln.a.Map(),displayName:xo,fullPath:Oo,specPath:Ki,getComponent:Dt,specSelectors:xt,getConfigs:Gn,layoutSelectors:en,layoutActions:vn,includeReadOnly:!0,includeWriteOnly:!0}),Hs=F.a.createElement("span",{className:"model-box"},F.a.createElement("span",{className:"model model-title"},xo));return F.a.createElement("div",{id:"model-".concat(oo),className:"model-container",key:"models-section-".concat(oo),"data-name":oo,ref:Re.onLoadModel},F.a.createElement("span",{className:"models-jump-to-path"},F.a.createElement(po,{specPath:Ki})),F.a.createElement(fo,{classes:"model-box",collapsedContent:Re.getCollapsedContent(oo),onToggle:Re.handleToggle,title:Hs,displayName:xo,modelName:oo,specPath:Ki,layoutSelectors:en,layoutActions:vn,hideSelfOnExpand:!0,expanded:kr>0&&Ps},_n))}).toArray()))}}]),Te}($e.Component),zr=function(xe){var ke=xe.value,Te=(0,xe.getComponent)("ModelCollapse"),ge=F.a.createElement("span",null,"Array [ ",ke.count()," ]");return F.a.createElement("span",{className:"prop-enum"},"Enum:",F.a.createElement("br",null),F.a.createElement(Te,{collapsedContent:ge},"[ ",ke.join(", ")," ]"))},Un=["schema","name","displayName","isRef","getComponent","getConfigs","depth","onToggle","expanded","specPath"],lr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge,Re,Be,xt,Dt=this.props,en=Dt.schema,vn=Dt.name,Gn=Dt.displayName,kn=Dt.isRef,zn=Dt.getComponent,jr=Dt.getConfigs,kr=Dt.depth,Gr=Dt.onToggle,ci=Dt.expanded,Ci=Dt.specPath,vi=$o()(Dt,Un),Ai=vi.specSelectors,fo=vi.expandDepth,po=vi.includeReadOnly,No=vi.includeWriteOnly,wo=Ai.isOAS3;if(!en)return null;var oo=jr().showExtensions,Oo=en.get("description"),Ki=en.get("properties"),Vi=en.get("additionalProperties"),Wo=en.get("title")||Gn||vn,Po=en.get("required"),ho=m()(en).call(en,function(ws,Ds){var Ws;return-1!==Ut()(Ws=["maxProperties","minProperties","nullable","example"]).call(Ws,Ds)}),xo=en.get("deprecated"),Ps=zn("JumpToPath",!0),_n=zn("Markdown",!0),Hs=zn("Model"),Pa=zn("ModelCollapse"),Oa=zn("Property"),lo=function(){return F.a.createElement("span",{className:"model-jump-to-path"},F.a.createElement(Ps,{specPath:Ci}))},ra=F.a.createElement("span",null,F.a.createElement("span",null,"{"),"...",F.a.createElement("span",null,"}"),kn?F.a.createElement(lo,null):""),ns=Ai.isOAS3()?en.get("anyOf"):null,Aa=Ai.isOAS3()?en.get("oneOf"):null,zs=Ai.isOAS3()?en.get("not"):null,La=Wo&&F.a.createElement("span",{className:"model-title"},kn&&en.get("$$ref")&&F.a.createElement("span",{className:"model-hint"},en.get("$$ref")),F.a.createElement("span",{className:"model-title__text"},Wo));return F.a.createElement("span",{className:"model"},F.a.createElement(Pa,{modelName:vn,title:La,onToggle:Gr,expanded:!!ci||kr<=fo,collapsedContent:ra},F.a.createElement("span",{className:"brace-open object"},"{"),kn?F.a.createElement(lo,null):null,F.a.createElement("span",{className:"inner-object"},F.a.createElement("table",{className:"model"},F.a.createElement("tbody",null,Oo?F.a.createElement("tr",{className:"description"},F.a.createElement("td",null,"description:"),F.a.createElement("td",null,F.a.createElement(_n,{source:Oo}))):null,xo?F.a.createElement("tr",{className:"property"},F.a.createElement("td",null,"deprecated:"),F.a.createElement("td",null,"true")):null,Ki&&Ki.size?He()(ge=m()(Re=Ki.entrySeq()).call(Re,function(ws){var Ds=Jo()(ws,2)[1];return(!Ds.get("readOnly")||po)&&(!Ds.get("writeOnly")||No)})).call(ge,function(ws){var Ds,Ws,Ba=Jo()(ws,2),Zs=Ba[0],Ya=Ba[1],$a=wo()&&Ya.get("deprecated"),Za=zt.List.isList(Po)&&Po.contains(Zs),Ha=["property-row"];return $a&&Ha.push("deprecated"),Za&&Ha.push("required"),F.a.createElement("tr",{key:Zs,className:Ha.join(" ")},F.a.createElement("td",null,Zs,Za&&F.a.createElement("span",{className:"star"},"*")),F.a.createElement("td",null,F.a.createElement(Hs,va()({key:h()(Ds=h()(Ws="object-".concat(vn,"-")).call(Ws,Zs,"_")).call(Ds,Ya)},vi,{required:Za,getComponent:zn,specPath:Ci.push("properties",Zs),getConfigs:jr,schema:Ya,depth:kr+1}))))}).toArray():null,oo?F.a.createElement("tr",null,F.a.createElement("td",null,"\xa0")):null,oo?He()(Be=en.entrySeq()).call(Be,function(ws){var Ds=Jo()(ws,2),Ws=Ds[0],Ba=Ds[1];if("x-"===ce()(Ws).call(Ws,0,2)){var Zs=Ba?Ba.toJS?Ba.toJS():Ba:null;return F.a.createElement("tr",{key:Ws,className:"extension"},F.a.createElement("td",null,Ws),F.a.createElement("td",null,x()(Zs)))}}).toArray():null,Vi&&Vi.size?F.a.createElement("tr",null,F.a.createElement("td",null,"< * >:"),F.a.createElement("td",null,F.a.createElement(Hs,va()({},vi,{required:!1,getComponent:zn,specPath:Ci.push("additionalProperties"),getConfigs:jr,schema:Vi,depth:kr+1})))):null,ns?F.a.createElement("tr",null,F.a.createElement("td",null,"anyOf ->"),F.a.createElement("td",null,He()(ns).call(ns,function(ws,Ds){return F.a.createElement("div",{key:Ds},F.a.createElement(Hs,va()({},vi,{required:!1,getComponent:zn,specPath:Ci.push("anyOf",Ds),getConfigs:jr,schema:ws,depth:kr+1})))}))):null,Aa?F.a.createElement("tr",null,F.a.createElement("td",null,"oneOf ->"),F.a.createElement("td",null,He()(Aa).call(Aa,function(ws,Ds){return F.a.createElement("div",{key:Ds},F.a.createElement(Hs,va()({},vi,{required:!1,getComponent:zn,specPath:Ci.push("oneOf",Ds),getConfigs:jr,schema:ws,depth:kr+1})))}))):null,zs?F.a.createElement("tr",null,F.a.createElement("td",null,"not ->"),F.a.createElement("td",null,F.a.createElement("div",null,F.a.createElement(Hs,va()({},vi,{required:!1,getComponent:zn,specPath:Ci.push("not"),getConfigs:jr,schema:zs,depth:kr+1}))))):null))),F.a.createElement("span",{className:"brace-close"},"}")),ho.size?He()(xt=ho.entrySeq()).call(xt,function(ws){var Ds,Ws=Jo()(ws,2),Ba=Ws[0],Zs=Ws[1];return F.a.createElement(Oa,{key:h()(Ds="".concat(Ba,"-")).call(Ds,Zs),propKey:Ba,propVal:Zs,propClass:"property"})}):null)}}]),Te}($e.Component),dr=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge,Re=this.props,Be=Re.getComponent,xt=Re.getConfigs,Dt=Re.schema,en=Re.depth,vn=Re.expandDepth,Gn=Re.name,kn=Re.displayName,zn=Re.specPath,jr=Dt.get("description"),kr=Dt.get("items"),Gr=Dt.get("title")||kn||Gn,ci=m()(Dt).call(Dt,function(No,wo){var oo;return-1===Ut()(oo=["type","items","description","$$ref"]).call(oo,wo)}),Ci=Be("Markdown",!0),vi=Be("ModelCollapse"),Ai=Be("Model"),fo=Be("Property"),po=Gr&&F.a.createElement("span",{className:"model-title"},F.a.createElement("span",{className:"model-title__text"},Gr));return F.a.createElement("span",{className:"model"},F.a.createElement(vi,{title:po,expanded:en<=vn,collapsedContent:"[...]"},"[",ci.size?He()(ge=ci.entrySeq()).call(ge,function(No){var wo,oo=Jo()(No,2),Oo=oo[0],Ki=oo[1];return F.a.createElement(fo,{key:h()(wo="".concat(Oo,"-")).call(wo,Ki),propKey:Oo,propVal:Ki,propClass:"property"})}):null,jr?F.a.createElement(Ci,{source:jr}):ci.size?F.a.createElement("div",{className:"markdown"}):null,F.a.createElement("span",null,F.a.createElement(Ai,va()({},this.props,{getConfigs:xt,specPath:zn.push("items"),name:null,schema:kr,required:!1,depth:en+1}))),"]"))}}]),Te}($e.Component),li="property primitive",Ti=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge,Re,Be,xt=this.props,Dt=xt.schema,en=xt.getComponent,Gn=xt.name,kn=xt.displayName,zn=xt.depth,jr=(0,xt.getConfigs)().showExtensions;if(!Dt||!Dt.get)return F.a.createElement("div",null);var kr=Dt.get("type"),Gr=Dt.get("format"),ci=Dt.get("xml"),Ci=Dt.get("enum"),vi=Dt.get("title")||kn||Gn,Ai=Dt.get("description"),fo=Object(tr.m)(Dt),po=m()(Dt).call(Dt,function(Oo,Ki){var Vi;return-1===Ut()(Vi=["enum","type","format","description","$$ref"]).call(Vi,Ki)}).filterNot(function(Oo,Ki){return fo.has(Ki)}),No=en("Markdown",!0),wo=en("EnumModel"),oo=en("Property");return F.a.createElement("span",{className:"model"},F.a.createElement("span",{className:"prop"},Gn&&F.a.createElement("span",{className:"".concat(1===zn&&"model-title"," prop-name")},vi),F.a.createElement("span",{className:"prop-type"},kr),Gr&&F.a.createElement("span",{className:"prop-format"},"($",Gr,")"),po.size?He()(ge=po.entrySeq()).call(ge,function(Oo){var Ki,Vi=Jo()(Oo,2),Wo=Vi[0],Po=Vi[1];return F.a.createElement(oo,{key:h()(Ki="".concat(Wo,"-")).call(Ki,Po),propKey:Wo,propVal:Po,propClass:li})}):null,jr&&fo.size?He()(Re=fo.entrySeq()).call(Re,function(Oo){var Ki,Vi=Jo()(Oo,2),Wo=Vi[0],Po=Vi[1];return F.a.createElement(oo,{key:h()(Ki="".concat(Wo,"-")).call(Ki,Po),propKey:Wo,propVal:Po,propClass:li})}):null,Ai?F.a.createElement(No,{source:Ai}):null,ci&&ci.size?F.a.createElement("span",null,F.a.createElement("br",null),F.a.createElement("span",{className:li},"xml:"),He()(Be=ci.entrySeq()).call(Be,function(Oo){var Ki,Vi=Jo()(Oo,2),Wo=Vi[0],Po=Vi[1];return F.a.createElement("span",{key:h()(Ki="".concat(Wo,"-")).call(Ki,Po),className:li},F.a.createElement("br",null),"\xa0\xa0\xa0",Wo,": ",String(Po))}).toArray()):null,Ci&&F.a.createElement(wo,{value:Ci,getComponent:en})))}}]),Te}($e.Component),Ao=function(xe){var ke=xe.propKey,Te=xe.propVal;return F.a.createElement("span",{className:xe.propClass},F.a.createElement("br",null),ke,": ",String(Te))},Qo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.onTryoutClick,xt=ge.onResetClick,vn=ge.isOAS3&&ge.hasUserEditedBody;return F.a.createElement("div",{className:vn?"try-out btn-group":"try-out"},ge.enabled?F.a.createElement("button",{className:"btn try-out__btn cancel",onClick:ge.onCancelClick},"Cancel"):F.a.createElement("button",{className:"btn try-out__btn",onClick:Re},"Try it out "),vn&&F.a.createElement("button",{className:"btn try-out__btn reset",onClick:xt},"Reset"))}}]),Te}(F.a.Component);U()(Qo,"defaultProps",{onTryoutClick:Function.prototype,onCancelClick:Function.prototype,onResetClick:Function.prototype,enabled:!1,hasUserEditedBody:!1,isOAS3:!1});var jo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Be=ge.isSwagger2,xt=ge.isOAS3,Dt=ge.alsoShow;return ge.bypass?F.a.createElement("div",null,this.props.children):Be&&xt?F.a.createElement("div",{className:"version-pragma"},Dt,F.a.createElement("div",{className:"version-pragma__message version-pragma__message--ambiguous"},F.a.createElement("div",null,F.a.createElement("h3",null,"Unable to render this definition"),F.a.createElement("p",null,F.a.createElement("code",null,"swagger")," and ",F.a.createElement("code",null,"openapi")," fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields."),F.a.createElement("p",null,"Supported version fields are ",F.a.createElement("code",null,"swagger: ",'"2.0"')," and those that match ",F.a.createElement("code",null,"openapi: 3.0.n")," (for example, ",F.a.createElement("code",null,"openapi: 3.0.0"),").")))):Be||xt?F.a.createElement("div",null,this.props.children):F.a.createElement("div",{className:"version-pragma"},Dt,F.a.createElement("div",{className:"version-pragma__message version-pragma__message--missing"},F.a.createElement("div",null,F.a.createElement("h3",null,"Unable to render this definition"),F.a.createElement("p",null,"The provided definition does not specify a valid version field."),F.a.createElement("p",null,"Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ",F.a.createElement("code",null,"swagger: ",'"2.0"')," and those that match ",F.a.createElement("code",null,"openapi: 3.0.n")," (for example, ",F.a.createElement("code",null,"openapi: 3.0.0"),")."))))}}]),Te}(F.a.PureComponent);U()(jo,"defaultProps",{alsoShow:null,children:null,bypass:!1});var uo=function(xe){return F.a.createElement("small",null,F.a.createElement("pre",{className:"version"}," ",xe.version," "))},eo=function(xe){var ke=xe.enabled,ge=xe.text;return F.a.createElement("a",{className:"nostyle",onClick:ke?function(Re){return Re.preventDefault()}:null,href:ke?"#/".concat(xe.path):null},F.a.createElement("span",null,ge))},Ho=function(){return F.a.createElement("div",null,F.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",className:"svg-assets"},F.a.createElement("defs",null,F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"unlocked"},F.a.createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"locked"},F.a.createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"close"},F.a.createElement("path",{d:"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow"},F.a.createElement("path",{d:"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow-down"},F.a.createElement("path",{d:"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"})),F.a.createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow-up"},F.a.createElement("path",{d:"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z"})),F.a.createElement("symbol",{viewBox:"0 0 24 24",id:"jump-to"},F.a.createElement("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"})),F.a.createElement("symbol",{viewBox:"0 0 24 24",id:"expand"},F.a.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"})))))},Zi=t(205),na=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.errSelectors,Be=ge.specSelectors,xt=ge.getComponent,Dt=xt("SvgAssets"),en=xt("InfoContainer",!0),vn=xt("VersionPragmaFilter"),Gn=xt("operations",!0),kn=xt("Models",!0),zn=xt("Row"),jr=xt("Col"),kr=xt("errors",!0),Gr=xt("ServersContainer",!0),ci=xt("SchemesContainer",!0),Ci=xt("AuthorizeBtnContainer",!0),vi=xt("FilterContainer",!0),Ai=xt("ErrorBoundary",!0),fo=Be.isSwagger2(),po=Be.isOAS3(),No=!Be.specStr(),wo=Be.loadingStatus(),oo=null;if("loading"===wo&&(oo=F.a.createElement("div",{className:"info"},F.a.createElement("div",{className:"loading-container"},F.a.createElement("div",{className:"loading"})))),"failed"===wo&&(oo=F.a.createElement("div",{className:"info"},F.a.createElement("div",{className:"loading-container"},F.a.createElement("h4",{className:"title"},"Failed to load API definition."),F.a.createElement(kr,null)))),"failedConfig"===wo){var Oo=Re.lastError(),Ki=Oo?Oo.get("message"):"";oo=F.a.createElement("div",{className:"info failed-config"},F.a.createElement("div",{className:"loading-container"},F.a.createElement("h4",{className:"title"},"Failed to load remote configuration."),F.a.createElement("p",null,Ki)))}if(!oo&&No&&(oo=F.a.createElement("h4",null,"No API definition provided.")),oo)return F.a.createElement("div",{className:"swagger-ui"},F.a.createElement("div",{className:"loading-container"},oo));var Vi=Be.servers(),Wo=Be.schemes(),Po=Vi&&Vi.size,ho=Wo&&Wo.size,xo=!!Be.securityDefinitions();return F.a.createElement("div",{className:"swagger-ui"},F.a.createElement(Ai,{targetName:"BaseLayout"},F.a.createElement(Dt,null),F.a.createElement(vn,{isSwagger2:fo,isOAS3:po,alsoShow:F.a.createElement(kr,null)},F.a.createElement(kr,null),F.a.createElement(zn,{className:"information-container"},F.a.createElement(jr,{mobile:12},F.a.createElement(en,null))),Po||ho||xo?F.a.createElement("div",{className:"scheme-container"},F.a.createElement(jr,{className:"schemes wrapper",mobile:12},Po?F.a.createElement(Gr,null):null,ho?F.a.createElement(ci,null):null,xo?F.a.createElement(Ci,null):null)):null,F.a.createElement(vi,null),F.a.createElement(zn,null,F.a.createElement(jr,{mobile:12,desktop:12},F.a.createElement(Gn,null))),F.a.createElement(zn,null,F.a.createElement(jr,{mobile:12,desktop:12},F.a.createElement(kn,null))))))}}]),Te}(F.a.Component),ha=t(326),fl=t.n(ha),Hn={value:"",onChange:function(){},schema:{},keyName:"",required:!1,errors:Object(zt.List)()},Es=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){return I()(this,Te),ke.apply(this,arguments)}return Y()(Te,[{key:"componentDidMount",value:function(){var ge=this.props,Re=ge.dispatchInitialValue,xt=ge.onChange;Re?xt(ge.value):!1===Re&&xt("")}},{key:"render",value:function(){var ge,Re=this.props,Be=Re.schema,xt=Re.errors,Dt=Re.value,en=Re.onChange,vn=Re.getComponent,Gn=Re.fn,kn=Re.disabled,zn=Be&&Be.get?Be.get("format"):null,jr=Be&&Be.get?Be.get("type"):null,Gr=jr?vn(zn?h()(ge="JsonSchema_".concat(jr,"_")).call(ge,zn):"JsonSchema_".concat(jr),!1,{failSilently:!0}):vn("JsonSchema_string");return Gr||(Gr=vn("JsonSchema_string")),F.a.createElement(Gr,va()({},this.props,{errors:xt,fn:Gn,getComponent:vn,value:Dt,onChange:en,schema:Be,disabled:kn}))}}]),Te}($e.Component);U()(Es,"defaultProps",Hn);var Ll=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChange",function(en){var vn=Re.props.schema&&"file"===Re.props.schema.get("type")?en.target.files[0]:en.target.value;Re.props.onChange(vn,Re.props.keyName)}),U()(L()(Re),"onEnumChange",function(en){return Re.props.onChange(en)}),Re}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.getComponent,Be=ge.value,xt=ge.schema,Dt=ge.errors,en=ge.required,vn=ge.description,Gn=ge.disabled,kn=xt&&xt.get?xt.get("enum"):null,zn=xt&&xt.get?xt.get("format"):null,jr=xt&&xt.get?xt.get("type"):null,kr=xt&&xt.get?xt.get("in"):null;if(Be||(Be=""),Dt=Dt.toJS?Dt.toJS():[],kn){var Gr=Re("Select");return F.a.createElement(Gr,{className:Dt.length?"invalid":"",title:Dt.length?Dt:"",allowedValues:kn,value:Be,allowEmptyValue:!en,disabled:Gn,onChange:this.onEnumChange})}var ci=Gn||kr&&"formData"===kr&&!("FormData"in window),Ci=Re("Input");return jr&&"file"===jr?F.a.createElement(Ci,{type:"file",className:Dt.length?"invalid":"",title:Dt.length?Dt:"",onChange:this.onChange,disabled:ci}):F.a.createElement(fl.a,{type:zn&&"password"===zn?"password":"text",className:Dt.length?"invalid":"",title:Dt.length?Dt:"",value:Be,minLength:0,debounceTimeout:350,placeholder:vn,onChange:this.onChange,disabled:ci})}}]),Te}($e.Component);U()(Ll,"defaultProps",Hn);var Hl=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(ge,Re){var Be;return I()(this,Te),Be=ke.call(this,ge,Re),U()(L()(Be),"onChange",function(){Be.props.onChange(Be.state.value)}),U()(L()(Be),"onItemChange",function(xt,Dt){Be.setState(function(en){return{value:en.value.set(Dt,xt)}},Be.onChange)}),U()(L()(Be),"removeItem",function(xt){Be.setState(function(Dt){return{value:Dt.value.delete(xt)}},Be.onChange)}),U()(L()(Be),"addItem",function(){var xt=Fl(Be.state.value);Be.setState(function(){return{value:xt.push(Object(tr.o)(Be.state.schema.get("items"),!1,{includeWriteOnly:!0}))}},Be.onChange)}),U()(L()(Be),"onEnumChange",function(xt){Be.setState(function(){return{value:xt}},Be.onChange)}),Be.state={value:Fl(ge.value),schema:ge.schema},Be}return Y()(Te,[{key:"UNSAFE_componentWillReceiveProps",value:function(ge){var Re=Fl(ge.value);Re!==this.state.value&&this.setState({value:Re}),ge.schema!==this.state.schema&&this.setState({schema:ge.schema})}},{key:"render",value:function(){var ge,Re=this,Be=this.props,xt=Be.getComponent,Dt=Be.required,en=Be.schema,vn=Be.errors,Gn=Be.fn,kn=Be.disabled;vn=vn.toJS?vn.toJS():Me()(vn)?vn:[];var zn,jr,kr=m()(vn).call(vn,function(Ki){return"string"==typeof Ki}),Gr=He()(ge=m()(vn).call(vn,function(Ki){return void 0!==Ki.needRemove})).call(ge,function(Ki){return Ki.error}),ci=this.state.value,Ci=!!(ci&&ci.count&&ci.count()>0),vi=en.getIn(["items","enum"]),Ai=en.getIn(["items","type"]),fo=en.getIn(["items","format"]),po=en.get("items"),No=!1,wo="file"===Ai||"string"===Ai&&"binary"===fo;if(Ai&&fo?zn=xt(h()(jr="JsonSchema_".concat(Ai,"_")).call(jr,fo)):"boolean"!==Ai&&"array"!==Ai&&"object"!==Ai||(zn=xt("JsonSchema_".concat(Ai))),zn||wo||(No=!0),vi){var oo=xt("Select");return F.a.createElement(oo,{className:vn.length?"invalid":"",title:vn.length?vn:"",multiple:!0,value:ci,disabled:kn,allowedValues:vi,allowEmptyValue:!Dt,onChange:this.onEnumChange})}var Oo=xt("Button");return F.a.createElement("div",{className:"json-schema-array"},Ci?He()(ci).call(ci,function(Ki,Vi){var Wo,Po=Object(zt.fromJS)(ks()(He()(Wo=m()(vn).call(vn,function(ho){return ho.index===Vi})).call(Wo,function(ho){return ho.error})));return F.a.createElement("div",{key:Vi,className:"json-schema-form-item"},wo?F.a.createElement(As,{value:Ki,onChange:function(ho){return Re.onItemChange(ho,Vi)},disabled:kn,errors:Po,getComponent:xt}):No?F.a.createElement(mo,{value:Ki,onChange:function(ho){return Re.onItemChange(ho,Vi)},disabled:kn,errors:Po}):F.a.createElement(zn,va()({},Re.props,{value:Ki,onChange:function(ho){return Re.onItemChange(ho,Vi)},disabled:kn,errors:Po,schema:po,getComponent:xt,fn:Gn})),kn?null:F.a.createElement(Oo,{className:"btn btn-sm json-schema-form-item-remove ".concat(Gr.length?"invalid":null),title:Gr.length?Gr:"",onClick:function(){return Re.removeItem(Vi)}}," - "))}):null,kn?null:F.a.createElement(Oo,{className:"btn btn-sm json-schema-form-item-add ".concat(kr.length?"invalid":null),title:kr.length?kr:"",onClick:this.addItem},"Add ",Ai?"".concat(Ai," "):"","item"))}}]),Te}($e.PureComponent);U()(Hl,"defaultProps",Hn);var mo=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onChange",function(en){Re.props.onChange(en.target.value,Re.props.keyName)}),Re}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.value,Be=ge.errors,xt=ge.description,Dt=ge.disabled;return Re||(Re=""),Be=Be.toJS?Be.toJS():[],F.a.createElement(fl.a,{type:"text",className:Be.length?"invalid":"",title:Be.length?Be:"",value:Re,minLength:0,debounceTimeout:350,placeholder:xt,onChange:this.onChange,disabled:Dt})}}]),Te}($e.Component);U()(mo,"defaultProps",Hn);var As=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onFileChange",function(en){Re.props.onChange(en.target.files[0],Re.props.keyName)}),Re}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Be=ge.errors,xt=ge.disabled,Dt=(0,ge.getComponent)("Input"),en=xt||!("FormData"in window);return F.a.createElement(Dt,{type:"file",className:Be.length?"invalid":"",title:Be.length?Be:"",onChange:this.onFileChange,disabled:en})}}]),Te}($e.Component);U()(As,"defaultProps",Hn);var qc=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge,Re;I()(this,Te);for(var Be=arguments.length,xt=new Array(Be),Dt=0;Dt<Be;Dt++)xt[Dt]=arguments[Dt];return Re=ke.call.apply(ke,h()(ge=[this]).call(ge,xt)),U()(L()(Re),"onEnumChange",function(en){return Re.props.onChange(en)}),Re}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Re=ge.getComponent,Be=ge.value,xt=ge.errors,Dt=ge.schema,en=ge.required,vn=ge.disabled;xt=xt.toJS?xt.toJS():[];var Gn=Dt&&Dt.get?Dt.get("enum"):null,kn=!Gn||!en,zn=!Gn&&Object(zt.fromJS)(["true","false"]),jr=Re("Select");return F.a.createElement(jr,{className:xt.length?"invalid":"",title:xt.length?xt:"",value:String(Be),disabled:vn,allowedValues:Gn||zn,allowEmptyValue:kn,onChange:this.onEnumChange})}}]),Te}($e.Component);U()(qc,"defaultProps",Hn);var yc=function(xe){return He()(xe).call(xe,function(ke){var Te,Re="string"==typeof ke?ke:"string"==typeof ke.error?ke.error:null;if(!(void 0!==ke.propKey?ke.propKey:ke.index)&&Re)return Re;for(var Be=ke.error,xt="/".concat(ke.propKey);"object"===l()(Be);){var Dt=void 0!==Be.propKey?Be.propKey:Be.index;if(void 0===Dt||(xt+="/".concat(Dt),!Be.error))break;Be=Be.error}return h()(Te="".concat(xt,": ")).call(Te,Be)})},fc=function(xe){nt()(Te,xe);var ke=it()(Te);function Te(){var ge;return I()(this,Te),ge=ke.call(this),U()(L()(ge),"onChange",function(Re){ge.props.onChange(Re)}),U()(L()(ge),"handleOnChange",function(Re){ge.onChange(Re.target.value)}),ge}return Y()(Te,[{key:"render",value:function(){var ge=this.props,Be=ge.value,xt=ge.errors,Dt=ge.disabled,en=(0,ge.getComponent)("TextArea");return xt=xt.toJS?xt.toJS():Me()(xt)?xt:[],F.a.createElement("div",null,F.a.createElement(en,{className:Er()({invalid:xt.length}),title:xt.length?yc(xt).join(", "):"",value:Object(tr.I)(Be),disabled:Dt,onChange:this.handleOnChange}))}}]),Te}($e.PureComponent);function Fl(xe){return zt.List.isList(xe)?xe:Me()(xe)?Object(zt.fromJS)(xe):Object(zt.List)()}U()(fc,"defaultProps",Hn);var bl=function(){return[jt.default,yn.default,ut.default,mn.default,Dn.default,En.default,Fn.default,jn.default,{components:{App:sn,authorizationPopup:An,authorizeBtn:Bn,AuthorizeBtnContainer:ir,authorizeOperationBtn:mr,auths:_r,AuthItem:Nr,authError:br,oauth2:rt,apiKeyAuth:Jn,basicAuth:nr,clear:bt,liveResponse:or,InitializedInput:xr,info:si,InfoContainer:bi,JumpToPath:Ui,onlineValidatorBadge:Zn.a,operations:ai,operation:Fi,OperationSummary:qi,OperationSummaryMethod:to,OperationSummaryPath:Ro,highlightCode:Do,responses:gi,response:xa,ResponseExtension:Ra,responseBody:Sa,parameters:an,parameterRow:Wt,execute:Yo,headers:ms,errors:ss,contentType:ul,overview:tn,footer:io,FilterContainer:vo,ParamBody:hi,curl:G,schemes:Se,SchemesContainer:ft,modelExample:Xn,ModelWrapper:Sr,ModelCollapse:Ft,Model:pi.a,Models:Fr,EnumModel:zr,ObjectModel:lr,ArrayModel:dr,PrimitiveModel:Ti,Property:Ao,TryItOutButton:Qo,Markdown:Zi.a,BaseLayout:na,VersionPragmaFilter:jo,VersionStamp:uo,OperationExt:es,OperationExtRow:ua,ParameterExt:Nt,ParameterIncludeEmpty:ye,OperationTag:go,OperationContainer:Nn,DeepLink:eo,InfoUrl:ii,InfoBasePath:Zr,SvgAssets:Ho,Example:Mr,ExamplesSelect:Mi,ExamplesSelectValueRetainer:Kr}},{components:e},mt.default,{components:s},Tt.default,et.default,hn.default,Qn.default,Ir.default,Xt.default]},ql=t(293);function kl(){return[bl,ql.default]}var Yl=t(314);function Ot(xe){var ke;Ht.a.versions=Ht.a.versions||{},Ht.a.versions.swaggerUi={version:"4.1.3",gitRevision:"g01a3e55",gitDirty:!0,buildTimestamp:"Fri, 10 Dec 2021 13:01:43 GMT"};var Te={dom_id:null,domNode:null,spec:{},url:"",urls:null,layout:"BaseLayout",docExpansion:"list",maxDisplayedTags:null,filter:null,validatorUrl:"https://validator.swagger.io/validator",oauth2RedirectUrl:h()(ke="".concat(window.location.protocol,"//")).call(ke,window.location.host,"/oauth2-redirect.html"),persistAuthorization:!1,configs:{},custom:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:function(zn){return zn},responseInterceptor:function(zn){return zn},showMutatedRequest:!0,defaultModelRendering:"example",defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:void 0,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:"cURL (bash)",syntax:"bash"},curl_powershell:{title:"cURL (PowerShell)",syntax:"powershell"},curl_cmd:{title:"cURL (CMD)",syntax:"bash"}},defaultExpanded:!0,languages:null},supportedSubmitMethods:["get","put","post","delete","options","head","patch","trace"],queryConfigEnabled:!1,presets:[kl],plugins:[],pluginsOptions:{pluginLoadType:"legacy"},initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:"agate"}},ge=xe.queryConfigEnabled?Object(tr.C)():{},Re=xe.domNode;delete xe.domNode;var Be=H()({},Te,xe,ge),xt={system:{configs:Be.configs},plugins:Be.presets,pluginsOptions:Be.pluginsOptions,state:H()({layout:{layout:Be.layout,filter:m()(Be)},spec:{spec:"",url:Be.url},requestSnippets:Be.requestSnippets},Be.initialState)};if(Be.initialState)for(var Dt in Be.initialState)Object.prototype.hasOwnProperty.call(Be.initialState,Dt)&&void 0===Be.initialState[Dt]&&delete xt.state[Dt];var en=new Kt(xt);en.register([Be.plugins,function(){return{fn:Be.fn,components:Be.components,state:Be.state}}]);var vn=en.getSystem(),Gn=function(zn){var jr=vn.specSelectors.getLocalConfig?vn.specSelectors.getLocalConfig():{},kr=H()({},jr,Be,zn||{},ge);if(Re&&(kr.domNode=Re),en.setConfigs(kr),vn.configsActions.loaded(),null!==zn&&(!ge.url&&"object"===l()(kr.spec)&&C()(kr.spec).length?(vn.specActions.updateUrl(""),vn.specActions.updateLoadingStatus("success"),vn.specActions.updateSpec(x()(kr.spec))):vn.specActions.download&&kr.url&&!kr.urls&&(vn.specActions.updateUrl(kr.url),vn.specActions.download(kr.url))),kr.domNode)vn.render(kr.domNode,"App");else if(kr.dom_id){var Gr=document.querySelector(kr.dom_id);vn.render(Gr,"App")}else null===kr.dom_id||null===kr.domNode||console.error("Skipped rendering: no `dom_id` or `domNode` was specified");return vn},kn=ge.config||Be.configUrl;return kn&&vn.specActions&&vn.specActions.getConfigByUrl?(vn.specActions.getConfigByUrl({url:kn,loadRemoteConfig:!0,requestInterceptor:Be.requestInterceptor,responseInterceptor:Be.responseInterceptor},Gn),vn):Gn()}Ot.presets={apis:kl},Ot.plugins=Yl.default,o.default=Ot}]).default},66265:(Ge,g,o)=>{"use strict";o.d(g,{B:()=>l});var t=o(12057),e=o(6283),s=o(44466),a=o(74788);let l=(()=>{class u{}return u.\u0275fac=function(_){return new(_||u)},u.\u0275mod=a.oAB({type:u}),u.\u0275inj=a.cJS({imports:[[t.ez,s.m,e.Bz]]}),u})()},98056:(Ge,g,o)=>{"use strict";o.d(g,{p:()=>z});var t=o(64762),e=o(58497),s=o(25917),a=o(19773),l=o(93523),u=o(74788);let h=class{constructor(M){this.http=M,this.url="api/perf_counters"}list(){return this.http.get(this.url)}get(M,I){return this.http.get(`${this.url}/${M}/${I}`).pipe((0,a.zg)(J=>(0,s.of)(J.counters)))}};h.\u0275fac=function(M){return new(M||h)(u.LFG(e.eN))},h.\u0275prov=u.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"}),h=(0,t.gn)([l.o,(0,t.w6)("design:paramtypes",[e.eN])],h);var _=o(12057),m=o(64337),b=o(34501),C=o(66369);const D=["valueTpl"];function x(U,M){if(1&U&&(u._uU(0),u.ALo(1,"dimless")),2&U){const I=M.row;u.AsE(" ",u.lcZ(1,2,I.value)," ",I.unit," ")}}function j(U,M){if(1&U){const I=u.EpF();u.TgZ(0,"cd-table",2),u.NdJ("fetchData",function(Y){return u.CHM(I),u.oxw().getCounters(Y)}),u.YNc(1,x,2,4,"ng-template",null,3,u.W1O),u.qZA()}if(2&U){const I=u.oxw();u.Q6J("data",I.counters)("columns",I.columns)("autoSave",!1)}}function H(U,M){1&U&&(u.TgZ(0,"cd-alert-panel",4),u.SDv(1,5),u.qZA())}let z=(()=>{class U{constructor(I){this.performanceCounterService=I,this.columns=[],this.counters=[]}ngOnInit(){this.columns=[{name:"Name",prop:"name",flexGrow:1},{name:"Description",prop:"description",flexGrow:1},{name:"Value",prop:"value",cellTemplate:this.valueTpl,flexGrow:1}]}getCounters(I){this.performanceCounterService.get(this.serviceType,this.serviceId).subscribe(J=>{this.counters=J},J=>{404===J.status?(J.preventDefault(),this.counters=null):I.error()})}}return U.\u0275fac=function(I){return new(I||U)(u.Y36(h))},U.\u0275cmp=u.Xpm({type:U,selectors:[["cd-table-performance-counter"]],viewQuery:function(I,J){if(1&I&&u.Gf(D,5),2&I){let Y;u.iGM(Y=u.CRH())&&(J.valueTpl=Y.first)}},inputs:{serviceType:"serviceType",serviceId:"serviceId"},decls:3,vars:2,consts:function(){let M;return M="Performance counters not available",[["columnMode","flex",3,"data","columns","autoSave","fetchData",4,"ngIf","ngIfElse"],["warning",""],["columnMode","flex",3,"data","columns","autoSave","fetchData"],["valueTpl",""],["type","warning"],M]},template:function(I,J){if(1&I&&(u.YNc(0,j,3,3,"cd-table",0),u.YNc(1,H,2,0,"ng-template",null,1,u.W1O)),2&I){const Y=u.MAs(2);u.Q6J("ngIf",J.counters)("ngIfElse",Y)}},directives:[_.O5,m.a,b.G],pipes:[C.n],styles:[""]}),U})()},370:(Ge,g,o)=>{"use strict";o.d(g,{t:()=>h});var t=o(12057),e=o(38549),s=o(37496),a=o(2149),l=o(44466),u=o(74788);let h=(()=>{class _{}return _.\u0275fac=function(b){return new(b||_)},_.\u0275mod=u.oAB({type:_}),_.\u0275inj=u.cJS({imports:[[t.ez,a.t,l.m,e.Oz,s.b]]}),_})()},49671:(Ge,g,o)=>{"use strict";o.d(g,{j:()=>u});var t=o(23815),e=o.n(t),s=o(370);class a{constructor(_){if(this.type=_,!this.isValidType())throw new Error("Wrong placement group category type");this.setTypeStates()}isValidType(){return a.VALID_CATEGORIES.includes(this.type)}setTypeStates(){switch(this.type){case a.CATEGORY_CLEAN:this.states=["active","clean"];break;case a.CATEGORY_WORKING:this.states=["activating","backfill_wait","backfilling","creating","deep","degraded","forced_backfill","forced_recovery","peering","peered","recovering","recovery_wait","repair","scrubbing","snaptrim","snaptrim_wait"];break;case a.CATEGORY_WARNING:this.states=["backfill_toofull","backfill_unfound","down","incomplete","inconsistent","recovery_toofull","recovery_unfound","remapped","snaptrim_error","stale","undersized"];break;default:this.states=[]}}}a.CATEGORY_CLEAN="clean",a.CATEGORY_WORKING="working",a.CATEGORY_WARNING="warning",a.CATEGORY_UNKNOWN="unknown",a.VALID_CATEGORIES=[a.CATEGORY_CLEAN,a.CATEGORY_WORKING,a.CATEGORY_WARNING,a.CATEGORY_UNKNOWN];var l=o(74788);let u=(()=>{class h{constructor(){this.categories=this.createCategories()}getAllTypes(){return a.VALID_CATEGORIES}getTypeByStates(m){const b=this.getPgStatesFromText(m);if(0===b.length)return a.CATEGORY_UNKNOWN;const C=e().zipObject(a.VALID_CATEGORIES,a.VALID_CATEGORIES.map(x=>e().intersection(this.categories[x].states,b).length));if(C[a.CATEGORY_WARNING]>0)return a.CATEGORY_WARNING;const D=C[a.CATEGORY_WORKING];return b.length>C[a.CATEGORY_CLEAN]+D?a.CATEGORY_UNKNOWN:D?a.CATEGORY_WORKING:a.CATEGORY_CLEAN}createCategories(){return e().zipObject(a.VALID_CATEGORIES,a.VALID_CATEGORIES.map(m=>new a(m)))}getPgStatesFromText(m){const b=m.replace(/[^a-z_]+/g," ").trim().split(" ");return e().uniq(b)}}return h.\u0275fac=function(m){return new(m||h)},h.\u0275prov=l.Yz7({token:h,factory:h.\u0275fac,providedIn:s.t}),h})()},49552:(Ge,g,o)=>{"use strict";o.r(g),o.d(g,{AuthModule:()=>Ke,RoutedAuthModule:()=>Vt});var t=o(12057),e=o(24751),s=o(6283),a=o(38549),l=o(37496),u=o(79512),h=o(44466),_=o(23815),m=o.n(_),b=o(35758),C=o(18001),D=o(93614),x=o(95463),j=o(77205),H=o(97161),z=(()=>((z||(z={})).editing="editing",z))();class U{}var M=o(74788),I=o(25917),J=o(19773),Y=o(58497);let ie=(()=>{class Ct{constructor(bt){this.http=bt}list(){return this.http.get("api/role")}delete(bt){return this.http.delete(`api/role/${bt}`)}get(bt){return this.http.get(`api/role/${bt}`)}create(bt){return this.http.post("api/role",bt)}clone(bt,We){return this.http.post(`api/role/${bt}/clone`,{new_name:We})}update(bt){return this.http.put(`api/role/${bt.name}`,bt)}exists(bt){return this.list().pipe((0,J.zg)(We=>{const $t=We.some(or=>or.name===bt);return(0,I.of)($t)}))}}return Ct.\u0275fac=function(bt){return new(bt||Ct)(M.LFG(Y.eN))},Ct.\u0275prov=M.Yz7({token:Ct,factory:Ct.\u0275fac,providedIn:"root"}),Ct})(),oe=(()=>{class Ct{constructor(bt){this.http=bt}list(){return this.http.get("ui-api/scope")}}return Ct.\u0275fac=function(bt){return new(bt||Ct)(M.LFG(Y.eN))},Ct.\u0275prov=M.Yz7({token:Ct,factory:Ct.\u0275fac,providedIn:"root"}),Ct})();var fe=o(63622),ne=o(41582),he=o(56310),ce=o(87925),Ae=o(94276),Me=o(82945),Oe=o(64337),be=o(30839),ue=o(10545);const He=["headerPermissionCheckboxTpl"],$e=["cellScopeCheckboxTpl"],F=["cellPermissionCheckboxTpl"];function je(Ct,rt){1&Ct&&(M.TgZ(0,"span",25),M.SDv(1,26),M.qZA())}function Et(Ct,rt){1&Ct&&(M.TgZ(0,"span",25),M.SDv(1,27),M.qZA())}const lt=function(Ct){return{required:Ct}};function nn(Ct,rt){if(1&Ct){const bt=M.EpF();M.TgZ(0,"div",4),M.TgZ(1,"form",5,6),M.TgZ(3,"div",7),M.TgZ(4,"div",8),M.SDv(5,9),M.ALo(6,"titlecase"),M.ALo(7,"upperFirst"),M.qZA(),M.TgZ(8,"div",10),M.TgZ(9,"div",11),M.TgZ(10,"label",12),M.SDv(11,13),M.qZA(),M.TgZ(12,"div",14),M._UZ(13,"input",15),M.YNc(14,je,2,0,"span",16),M.YNc(15,Et,2,0,"span",16),M.qZA(),M.qZA(),M.TgZ(16,"div",11),M.TgZ(17,"label",17),M.SDv(18,18),M.qZA(),M.TgZ(19,"div",14),M._UZ(20,"input",19),M.qZA(),M.qZA(),M.TgZ(21,"div",11),M.TgZ(22,"label",20),M.SDv(23,21),M.qZA(),M.TgZ(24,"div",14),M._UZ(25,"cd-table",22),M.qZA(),M.qZA(),M.qZA(),M.TgZ(26,"div",23),M.TgZ(27,"cd-form-button-panel",24),M.NdJ("submitActionEvent",function(){return M.CHM(bt),M.oxw().submit()}),M.ALo(28,"titlecase"),M.ALo(29,"upperFirst"),M.qZA(),M.qZA(),M.qZA(),M.qZA(),M.qZA()}if(2&Ct){const bt=M.MAs(2),We=M.oxw();M.xp6(1),M.Q6J("formGroup",We.roleForm),M.xp6(6),M.pQV(M.lcZ(6,15,We.action))(M.lcZ(7,17,We.resource)),M.QtT(5),M.xp6(3),M.Q6J("ngClass",M.VKq(23,lt,We.mode!==We.roleFormMode.editing)),M.xp6(4),M.Q6J("ngIf",We.roleForm.showError("name",bt,"required")),M.xp6(1),M.Q6J("ngIf",We.roleForm.showError("name",bt,"notUnique")),M.xp6(10),M.Q6J("data",We.scopes_permissions)("columns",We.columns)("toolHeader",!1)("autoReload",!1)("autoSave",!1)("footer",!1)("limit",0),M.xp6(2),M.Q6J("form",We.roleForm)("submitText",M.lcZ(28,19,We.action)+" "+M.lcZ(29,21,We.resource))}}function St(Ct,rt){if(1&Ct){const bt=M.EpF();M.TgZ(0,"div",28),M.TgZ(1,"input",29),M.NdJ("change",function($t){const or=M.CHM(bt),Zn=or.row,Vr=or.column;return M.oxw().onClickCellCheckbox(Zn.scope,Vr.prop,$t)}),M.qZA(),M.TgZ(2,"label",30),M._uU(3),M.qZA(),M.qZA()}if(2&Ct){const bt=rt.row,We=rt.value,$t=M.oxw();M.xp6(1),M.MGl("id","scope_",bt.scope,""),M.Q6J("checked",$t.isRowChecked(bt.scope)),M.xp6(1),M.MGl("for","scope_",bt.scope,""),M.xp6(1),M.Oqu(We)}}function At(Ct,rt){if(1&Ct){const bt=M.EpF();M.TgZ(0,"div",28),M.TgZ(1,"input",31),M.NdJ("change",function($t){const or=M.CHM(bt),Zn=or.row,Vr=or.column;return M.oxw().onClickCellCheckbox(Zn.scope,Vr.prop,$t)}),M.qZA(),M._UZ(2,"label",32),M.qZA()}if(2&Ct){const bt=rt.column,We=rt.row,$t=rt.value;M.xp6(1),M.Q6J("checked",$t)("id",We.scope+"-"+bt.prop),M.xp6(1),M.Q6J("for",We.scope+"-"+bt.prop)}}function Qe(Ct,rt){if(1&Ct){const bt=M.EpF();M.TgZ(0,"div",28),M.TgZ(1,"input",29),M.NdJ("change",function($t){const Zn=M.CHM(bt).column;return M.oxw().onClickHeaderCheckbox(Zn.prop,$t)}),M.qZA(),M.TgZ(2,"label",33),M._uU(3),M.qZA(),M.qZA()}if(2&Ct){const bt=rt.column,We=M.oxw();M.xp6(1),M.MGl("id","header_",bt.prop,""),M.Q6J("checked",We.isHeaderChecked(bt.prop)),M.xp6(1),M.MGl("for","header_",bt.prop,""),M.xp6(1),M.Oqu(bt.name)}}let It=(()=>{class Ct extends D.E{constructor(bt,We,$t,or,Zn,Vr){super(),this.route=bt,this.router=We,this.roleService=$t,this.scopeService=or,this.notificationService=Zn,this.actionLabels=Vr,this.scopes=[],this.scopes_permissions=[],this.roleFormMode=z,this.resource="role",this.createForm(),this.listenToChanges()}createForm(){this.roleForm=new x.d({name:new e.NI("",{validators:[e.kI.required],asyncValidators:[j.h.unique(this.roleService.exists,this.roleService)]}),description:new e.NI(""),scopes_permissions:new e.NI({})})}ngOnInit(){this.columns=[{prop:"scope",name:"All",flexGrow:2,cellTemplate:this.cellScopeCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"read",name:"Read",flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"create",name:"Create",flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"update",name:"Update",flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl},{prop:"delete",name:"Delete",flexGrow:1,cellClass:"text-center",cellTemplate:this.cellPermissionCheckboxTpl,headerTemplate:this.headerPermissionCheckboxTpl}],this.router.url.startsWith("/user-management/roles/edit")?(this.mode=this.roleFormMode.editing,this.action=this.actionLabels.EDIT):this.action=this.actionLabels.CREATE,this.mode===this.roleFormMode.editing?this.initEdit():this.initCreate()}initCreate(){this.scopeService.list().subscribe(bt=>{this.scopes=bt,this.roleForm.get("scopes_permissions").setValue({}),this.loadingReady()})}initEdit(){this.roleForm.get("name").disable(),this.route.params.subscribe(bt=>{const We=[];We.push(this.scopeService.list()),We.push(this.roleService.get(bt.name)),(0,b.D)(We).subscribe($t=>{this.scopes=$t[0],["name","description","scopes_permissions"].forEach(or=>this.roleForm.get(or).setValue($t[1][or])),this.loadingReady()})})}listenToChanges(){this.roleForm.get("scopes_permissions").valueChanges.subscribe(bt=>{const We=[];m().each(this.scopes,$t=>{const or={read:!1,create:!1,update:!1,delete:!1};or.scope=$t,$t in bt&&m().each(bt[$t],Zn=>{or[Zn]=!0}),We.push(or)}),this.scopes_permissions=We})}isRowChecked(bt){const We=m().find(this.scopes_permissions,$t=>$t.scope===bt);return!m().isUndefined(We)&&We.read&&We.create&&We.update&&We.delete}isHeaderChecked(bt){let We=[bt];return"scope"===bt&&(We=["read","create","update","delete"]),We.every($t=>this.scopes_permissions.every(or=>or[$t]))}onClickCellCheckbox(bt,We,$t=null){const or=m().cloneDeep(this.roleForm.getValue("scopes_permissions"));let Zn=[We];"scope"===We&&(Zn=["read","create","update","delete"]),bt in or||(or[bt]=[]),$t&&$t.target.checked||!m().isEqual(Zn.sort(),m().intersection(or[bt],Zn).sort())?or[bt]=m().union(or[bt],Zn):(or[bt]=m().difference(or[bt],Zn),m().isEmpty(or[bt])&&m().unset(or,bt)),this.roleForm.get("scopes_permissions").setValue(or)}onClickHeaderCheckbox(bt,We){const $t=m().cloneDeep(this.roleForm.getValue("scopes_permissions"));let or=[bt];"scope"===bt&&(or=["read","create","update","delete"]),m().each(or,Zn=>{m().each(this.scopes,Vr=>{We.target.checked?$t[Vr]=m().union($t[Vr],[Zn]):($t[Vr]=m().difference($t[Vr],[Zn]),m().isEmpty($t[Vr])&&m().unset($t,Vr))})}),this.roleForm.get("scopes_permissions").setValue($t)}getRequest(){const bt=new U;return["name","description","scopes_permissions"].forEach(We=>bt[We]=this.roleForm.get(We).value),bt}createAction(){const bt=this.getRequest();this.roleService.create(bt).subscribe(()=>{this.notificationService.show(C.k.success,"Created role '" + bt.name + "'"),this.router.navigate(["/user-management/roles"])},()=>{this.roleForm.setErrors({cdSubmitButton:!0})})}editAction(){const bt=this.getRequest();this.roleService.update(bt).subscribe(()=>{this.notificationService.show(C.k.success,"Updated role '" + bt.name + "'"),this.router.navigate(["/user-management/roles"])},()=>{this.roleForm.setErrors({cdSubmitButton:!0})})}submit(){this.mode===this.roleFormMode.editing?this.editAction():this.createAction()}}return Ct.\u0275fac=function(bt){return new(bt||Ct)(M.Y36(s.gz),M.Y36(s.F0),M.Y36(ie),M.Y36(oe),M.Y36(H.g),M.Y36(u.p4))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-role-form"]],viewQuery:function(bt,We){if(1&bt&&(M.Gf(He,7),M.Gf($e,7),M.Gf(F,7)),2&bt){let $t;M.iGM($t=M.CRH())&&(We.headerPermissionCheckboxTpl=$t.first),M.iGM($t=M.CRH())&&(We.cellScopeCheckboxTpl=$t.first),M.iGM($t=M.CRH())&&(We.cellPermissionCheckboxTpl=$t.first)}},features:[M.qOj],decls:7,vars:1,consts:function(){let rt,bt,We,$t,or,Zn,Vr,Cr;return rt="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",bt="Name",We="Name...",$t="Description",or="Description...",Zn="Permissions",Vr="This field is required.",Cr="The chosen name is already in use.",[["class","cd-col-form",4,"cdFormLoading"],["cellScopeCheckboxTpl",""],["cellPermissionCheckboxTpl",""],["headerPermissionCheckboxTpl",""],[1,"cd-col-form"],["name","roleForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],rt,[1,"card-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label",3,"ngClass"],bt,[1,"cd-col-form-input"],["type","text","placeholder",We,"id","name","name","name","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","description",1,"cd-col-form-label"],$t,["type","text","placeholder",or,"id","description","name","description","formControlName","description",1,"form-control"],[1,"cd-col-form-label"],Zn,["columnMode","flex",3,"data","columns","toolHeader","autoReload","autoSave","footer","limit"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],Vr,Cr,[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","checked","change"],[1,"datatable-permissions-scope-cell-label","custom-control-label",3,"for"],["type","checkbox",1,"custom-control-input",3,"checked","id","change"],[1,"custom-control-label",3,"for"],[1,"datatable-permissions-header-cell-label","custom-control-label",3,"for"]]},template:function(bt,We){1&bt&&(M.YNc(0,nn,30,25,"div",0),M.YNc(1,St,4,4,"ng-template",null,1,M.W1O),M.YNc(3,At,3,3,"ng-template",null,2,M.W1O),M.YNc(5,Qe,4,4,"ng-template",null,3,M.W1O)),2&bt&&M.Q6J("cdFormLoading",We.loading)},directives:[fe.y,e._Y,e.JL,e.sg,ne.V,he.P,t.mk,ce.o,e.Fj,Ae.b,e.JJ,e.u,Me.U,t.O5,Oe.a,be.p],pipes:[t.rS,ue.m],styles:[".datatable-permissions-header-cell-label[_ngcontent-%COMP%], .datatable-permissions-scope-cell-label[_ngcontent-%COMP%]{font-weight:bold}"]}),Ct})();var ae=o(68136),Ie=o(30982),dt=o(65683),Jt=o(99466),zt=o(65862),ln=o(68774),ar=o(41039),Ln=o(51847),Rn=o(74937),er=o(63285);let Mn=(()=>{class Ct{constructor(bt){this.router=bt}}return Ct.\u0275fac=function(bt){return new(bt||Ct)(M.Y36(s.F0))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-user-tabs"]],decls:8,vars:1,consts:function(){let rt,bt;return rt="Users",bt="Roles",[["ngbNav","",1,"nav-tabs",3,"activeId","navChange"],["nav","ngbNav"],["ngbNavItem","/user-management/users"],["ngbNavLink",""],rt,["ngbNavItem","/user-management/roles"],bt]},template:function(bt,We){1&bt&&(M.TgZ(0,"ul",0,1),M.NdJ("navChange",function(or){return We.router.navigate([or.nextId])}),M.TgZ(2,"li",2),M.TgZ(3,"a",3),M.SDv(4,4),M.qZA(),M.qZA(),M.TgZ(5,"li",5),M.TgZ(6,"a",3),M.SDv(7,6),M.qZA(),M.qZA(),M.qZA()),2&bt&&M.Q6J("activeId",We.router.url)},directives:[a.Pz,a.nv,a.Vx],styles:[""]}),Ct})();var Ht=o(94928);function tr(Ct,rt){if(1&Ct&&(M.ynx(0),M._UZ(1,"cd-table",1),M.BQk()),2&Ct){const bt=M.oxw();M.xp6(1),M.Q6J("data",bt.scopes_permissions)("columns",bt.columns)("toolHeader",!1)("autoReload",!1)("autoSave",!1)("footer",!1)("limit",0)}}let Yn=(()=>{class Ct{constructor(){this.scopes_permissions=[]}ngOnInit(){this.columns=[{prop:"scope",name:"Scope",flexGrow:2},{prop:"read",name:"Read",flexGrow:1,cellClass:"text-center",cellTransformation:Jt.e.checkIcon},{prop:"create",name:"Create",flexGrow:1,cellClass:"text-center",cellTransformation:Jt.e.checkIcon},{prop:"update",name:"Update",flexGrow:1,cellClass:"text-center",cellTransformation:Jt.e.checkIcon},{prop:"delete",name:"Delete",flexGrow:1,cellClass:"text-center",cellTransformation:Jt.e.checkIcon}]}ngOnChanges(){if(this.selection){this.selectedItem=this.selection;const bt=[];m().each(this.scopes,We=>{const $t={read:!1,create:!1,update:!1,delete:!1};$t.scope=We,We in this.selectedItem.scopes_permissions&&m().each(this.selectedItem.scopes_permissions[We],or=>{$t[or]=!0}),bt.push($t)}),this.scopes_permissions=bt}}}return Ct.\u0275fac=function(bt){return new(bt||Ct)},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-role-details"]],inputs:{selection:"selection",scopes:"scopes"},features:[M.TTD],decls:1,vars:1,consts:[[4,"ngIf"],["columnMode","flex",3,"data","columns","toolHeader","autoReload","autoSave","footer","limit"]],template:function(bt,We){1&bt&&M.YNc(0,tr,2,7,"ng-container",0),2&bt&&M.Q6J("ngIf",We.selection)},directives:[t.O5,Oe.a],styles:[".fa[_ngcontent-%COMP%]{font-size:large}.fa.fa-square-o[_ngcontent-%COMP%]{color:#ced4da}"]}),Ct})(),Kt=(()=>{class Ct extends ae.o{constructor(bt,We,$t,or,Zn,Vr,Cr,ai){super(),this.roleService=bt,this.scopeService=We,this.emptyPipe=$t,this.authStorageService=or,this.modalService=Zn,this.notificationService=Vr,this.urlBuilder=Cr,this.actionLabels=ai,this.selection=new ln.r,this.permission=this.authStorageService.getPermissions().user,this.tableActions=[{permission:"create",icon:zt.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"create",icon:zt.P.clone,name:this.actionLabels.CLONE,disable:()=>!this.selection.hasSingleSelection,click:()=>this.cloneRole()},{permission:"update",icon:zt.P.edit,disable:()=>!this.selection.hasSingleSelection||this.selection.first().system,routerLink:()=>this.selection.first()&&this.urlBuilder.getEdit(this.selection.first().name),name:this.actionLabels.EDIT},{permission:"delete",icon:zt.P.destroy,disable:()=>!this.selection.hasSingleSelection||this.selection.first().system,click:()=>this.deleteRoleModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"Name",prop:"name",flexGrow:3},{name:"Description",prop:"description",flexGrow:5,pipe:this.emptyPipe},{name:"System Role",prop:"system",cellClass:"text-center",flexGrow:1,cellTransformation:Jt.e.checkIcon}]}getRoles(){(0,b.D)([this.roleService.list(),this.scopeService.list()]).subscribe(bt=>{this.roles=bt[0],this.scopes=bt[1]})}updateSelection(bt){this.selection=bt}deleteRole(bt){this.roleService.delete(bt).subscribe(()=>{this.getRoles(),this.modalRef.close(),this.notificationService.show(C.k.success,"Deleted role '" + bt + "'")},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}deleteRoleModal(){const bt=this.selection.first().name;this.modalRef=this.modalService.show(Ie.M,{itemDescription:"Role",itemNames:[bt],submitAction:()=>this.deleteRole(bt)})}cloneRole(){const bt=this.selection.first().name;this.modalRef=this.modalService.show(dt.X,{fields:[{type:"text",name:"newName",value:`${bt}_clone`,label:"New name",required:!0}],titleText:"Clone Role",submitButtonText:"Clone Role",onSubmit:We=>{this.roleService.clone(bt,We.newName).subscribe(()=>{this.getRoles(),this.notificationService.show(C.k.success,"Cloned role '" + We.newName + "' from '" + bt + "'")})}})}}return Ct.\u0275fac=function(bt){return new(bt||Ct)(M.Y36(ie),M.Y36(oe),M.Y36(ar.W),M.Y36(Rn.j),M.Y36(er.Z),M.Y36(H.g),M.Y36(Ln.F),M.Y36(u.p4))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-role-list"]],features:[M._Bn([{provide:Ln.F,useValue:new Ln.F("user-management/roles")}]),M.qOj],decls:4,vars:8,consts:[["columnMode","flex","identifier","name","selectionType","single",3,"data","columns","hasDetails","setExpandedRow","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection","scopes"]],template:function(bt,We){1&bt&&(M._UZ(0,"cd-user-tabs"),M.TgZ(1,"cd-table",0),M.NdJ("setExpandedRow",function(or){return We.setExpandedRow(or)})("fetchData",function(){return We.getRoles()})("updateSelection",function(or){return We.updateSelection(or)}),M._UZ(2,"cd-table-actions",1),M._UZ(3,"cd-role-details",2),M.qZA()),2&bt&&(M.xp6(1),M.Q6J("data",We.roles)("columns",We.columns)("hasDetails",!0),M.xp6(1),M.Q6J("permission",We.permission)("selection",We.selection)("tableActions",We.tableActions),M.xp6(1),M.Q6J("selection",We.expandedRow)("scopes",We.scopes))},directives:[Mn,Oe.a,Ht.K,Yn],styles:[""]}),Ct})();var dn=o(16738),Kn=o.n(dn),qn=o(39219),Sn=o(9837),$n=o(36169),En=o(7022),Fn=o(51907),Dn=o(33888),mn=(()=>((mn||(mn={})).editing="editing",mn))();class jn{}var Xt=o(32057),ut=o(62862),mt=o(4416),Tt=o(18372),yn=o(60192),et=o(52266);const jt=["removeSelfUserReadUpdatePermissionTpl"];function hn(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,29),M.qZA())}function Qn(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,30),M.qZA())}function Ir(Ct,rt){if(1&Ct&&M._UZ(0,"cd-helper",40),2&Ct){const bt=M.oxw(3);M.s9C("html",bt.passwordPolicyHelpText)}}function ht(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,41),M.qZA())}function L(Ct,rt){if(1&Ct&&(M.TgZ(0,"span",28),M._uU(1),M.qZA()),2&Ct){const bt=M.oxw(3);M.xp6(1),M.hij(" ",bt.passwordValuation," ")}}function Ue(Ct,rt){if(1&Ct&&(M.TgZ(0,"div",10),M.TgZ(1,"label",31),M.ynx(2),M.SDv(3,32),M.BQk(),M.YNc(4,Ir,1,1,"cd-helper",33),M.qZA(),M.TgZ(5,"div",13),M.TgZ(6,"div",34),M._UZ(7,"input",35),M.TgZ(8,"span",36),M._UZ(9,"button",37),M.qZA(),M.qZA(),M.TgZ(10,"div",38),M._UZ(11,"div",39),M.qZA(),M.YNc(12,ht,2,0,"span",15),M.YNc(13,L,2,1,"span",15),M.qZA(),M.qZA()),2&Ct){M.oxw();const bt=M.MAs(2),We=M.oxw();M.xp6(4),M.Q6J("ngIf",We.passwordPolicyHelpText.length>0),M.xp6(7),M.Tol(We.passwordStrengthLevelClass),M.s9C("title",We.passwordValuation),M.xp6(1),M.Q6J("ngIf",We.userForm.showError("password",bt,"required")),M.xp6(1),M.Q6J("ngIf",We.userForm.showError("password",bt,"passwordPolicy"))}}function nt(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,46),M.qZA())}function at(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,47),M.qZA())}function it(Ct,rt){if(1&Ct&&(M.TgZ(0,"div",10),M.TgZ(1,"label",42),M.SDv(2,43),M.qZA(),M.TgZ(3,"div",13),M.TgZ(4,"div",34),M._UZ(5,"input",44),M.TgZ(6,"span",36),M._UZ(7,"button",45),M.qZA(),M.YNc(8,nt,2,0,"span",15),M.qZA(),M.YNc(9,at,2,0,"span",15),M.qZA(),M.qZA()),2&Ct){M.oxw();const bt=M.MAs(2),We=M.oxw();M.xp6(8),M.Q6J("ngIf",We.userForm.showError("confirmpassword",bt,"match")),M.xp6(1),M.Q6J("ngIf",We.userForm.showError("confirmpassword",bt,"required"))}}function Pt(Ct,rt){1&Ct&&(M.TgZ(0,"cd-helper",54),M.TgZ(1,"p"),M._uU(2," The Dashboard setting defining the expiration interval of passwords is currently set to "),M.TgZ(3,"strong"),M._uU(4,"0"),M.qZA(),M._uU(5,". This means if a date is set, the user password will only expire once. "),M.qZA(),M.TgZ(6,"p"),M._uU(7," Consider configuring the Dashboard setting "),M.TgZ(8,"a",55),M._uU(9,"USER_PWD_EXPIRATION_SPAN"),M.qZA(),M._uU(10," in order to let passwords expire periodically. "),M.qZA(),M.qZA())}function Ut(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,56),M.qZA())}const ot=function(Ct){return{required:Ct}};function Nn(Ct,rt){if(1&Ct){const bt=M.EpF();M.TgZ(0,"div",10),M.TgZ(1,"label",48),M.ynx(2),M.SDv(3,49),M.BQk(),M.YNc(4,Pt,11,0,"cd-helper",50),M.qZA(),M.TgZ(5,"div",13),M.TgZ(6,"div",34),M.TgZ(7,"input",51,52),M.NdJ("click",function(){return M.CHM(bt),M.MAs(8).open()})("keypress",function(){return M.CHM(bt),M.MAs(8).close()}),M.qZA(),M.TgZ(9,"span",36),M.TgZ(10,"button",53),M.NdJ("click",function(){return M.CHM(bt),M.oxw(2).clearExpirationDate()}),M._UZ(11,"i"),M.qZA(),M.qZA(),M.YNc(12,Ut,2,0,"span",15),M.qZA(),M.qZA(),M.qZA()}if(2&Ct){M.oxw();const bt=M.MAs(2),We=M.oxw(),$t=M.MAs(4);M.xp6(1),M.Q6J("ngClass",M.VKq(7,ot,We.pwdExpirationSettings.pwdExpirationSpan>0)),M.xp6(3),M.Q6J("ngIf",0==We.pwdExpirationSettings.pwdExpirationSpan),M.xp6(3),M.Q6J("ngbPopover",$t),M.xp6(4),M.Gre("icon-prepend ",We.icons.destroy,""),M.xp6(1),M.Q6J("ngIf",We.userForm.showError("pwdExpirationDate",bt,"required"))}}function sn(Ct,rt){1&Ct&&(M.TgZ(0,"span",28),M.SDv(1,57),M.qZA())}function An(Ct,rt){if(1&Ct&&(M.TgZ(0,"span",58),M._UZ(1,"cd-select-badges",59),M.qZA()),2&Ct){const bt=M.oxw(2);M.xp6(1),M.Q6J("data",bt.userForm.controls.roles.value)("options",bt.allRoles)("messages",bt.messages)}}function Bn(Ct,rt){1&Ct&&(M.TgZ(0,"div",10),M.TgZ(1,"div",60),M.TgZ(2,"div",61),M._UZ(3,"input",62),M.TgZ(4,"label",63),M.SDv(5,64),M.qZA(),M.qZA(),M.qZA(),M.qZA())}function ir(Ct,rt){1&Ct&&(M.TgZ(0,"div",10),M.TgZ(1,"div",60),M.TgZ(2,"div",61),M._UZ(3,"input",65),M.TgZ(4,"label",66),M.SDv(5,67),M.qZA(),M.qZA(),M.qZA(),M.qZA())}function mr(Ct,rt){if(1&Ct){const bt=M.EpF();M.TgZ(0,"div",3),M.TgZ(1,"form",4,5),M.TgZ(3,"div",6),M.TgZ(4,"div",7),M.SDv(5,8),M.ALo(6,"titlecase"),M.ALo(7,"upperFirst"),M.qZA(),M.TgZ(8,"div",9),M.TgZ(9,"div",10),M.TgZ(10,"label",11),M.SDv(11,12),M.qZA(),M.TgZ(12,"div",13),M._UZ(13,"input",14),M.YNc(14,hn,2,0,"span",15),M.YNc(15,Qn,2,0,"span",15),M.qZA(),M.qZA(),M.YNc(16,Ue,14,7,"div",16),M.YNc(17,it,10,2,"div",16),M.YNc(18,Nn,13,9,"div",16),M.TgZ(19,"div",10),M.TgZ(20,"label",17),M.SDv(21,18),M.qZA(),M.TgZ(22,"div",13),M._UZ(23,"input",19),M.qZA(),M.qZA(),M.TgZ(24,"div",10),M.TgZ(25,"label",20),M.SDv(26,21),M.qZA(),M.TgZ(27,"div",13),M._UZ(28,"input",22),M.YNc(29,sn,2,0,"span",15),M.qZA(),M.qZA(),M.TgZ(30,"div",10),M.TgZ(31,"label",23),M.SDv(32,24),M.qZA(),M.TgZ(33,"div",13),M.YNc(34,An,2,3,"span",25),M.qZA(),M.qZA(),M.YNc(35,Bn,6,0,"div",16),M.YNc(36,ir,6,0,"div",16),M.qZA(),M.TgZ(37,"div",26),M.TgZ(38,"cd-form-button-panel",27),M.NdJ("submitActionEvent",function(){return M.CHM(bt),M.oxw().submit()}),M.ALo(39,"titlecase"),M.ALo(40,"upperFirst"),M.qZA(),M.qZA(),M.qZA(),M.qZA(),M.qZA()}if(2&Ct){const bt=M.MAs(2),We=M.oxw();M.xp6(1),M.Q6J("formGroup",We.userForm),M.xp6(6),M.pQV(M.lcZ(6,15,We.action))(M.lcZ(7,17,We.resource)),M.QtT(5),M.xp6(3),M.Q6J("ngClass",M.VKq(23,ot,We.mode!==We.userFormMode.editing)),M.xp6(4),M.Q6J("ngIf",We.userForm.showError("username",bt,"required")),M.xp6(1),M.Q6J("ngIf",We.userForm.showError("username",bt,"notUnique")),M.xp6(1),M.Q6J("ngIf",!We.authStorageService.isSSO()),M.xp6(1),M.Q6J("ngIf",!We.authStorageService.isSSO()),M.xp6(1),M.Q6J("ngIf",!We.authStorageService.isSSO()),M.xp6(11),M.Q6J("ngIf",We.userForm.showError("email",bt,"email")),M.xp6(5),M.Q6J("ngIf",We.allRoles),M.xp6(1),M.Q6J("ngIf",!We.isCurrentUser()),M.xp6(1),M.Q6J("ngIf",!We.isCurrentUser()&&!We.authStorageService.isSSO()),M.xp6(2),M.Q6J("form",We.userForm)("submitText",M.lcZ(39,19,We.action)+" "+M.lcZ(40,21,We.resource))}}function _r(Ct,rt){1&Ct&&(M.TgZ(0,"p"),M.TgZ(1,"strong"),M.SDv(2,68),M.qZA(),M.qZA(),M._UZ(3,"br"),M.TgZ(4,"p"),M.SDv(5,69),M.qZA(),M.ynx(6),M.SDv(7,70),M.BQk())}function Nr(Ct,rt){if(1&Ct&&M._UZ(0,"cd-date-time-picker",71),2&Ct){const bt=M.oxw();M.Q6J("control",bt.userForm.get("pwdExpirationDate"))("hasTime",!1)}}let br=(()=>{class Ct extends D.E{constructor(bt,We,$t,or,Zn,Vr,Cr,ai,Dr,Qr,rn,fi){super(),this.authService=bt,this.authStorageService=We,this.route=$t,this.router=or,this.modalService=Zn,this.roleService=Vr,this.userService=Cr,this.notificationService=ai,this.actionLabels=Dr,this.passwordPolicyService=Qr,this.formBuilder=rn,this.settingsService=fi,this.userFormMode=mn,this.messages=new En.a({empty:"There are no roles."}),this.passwordPolicyHelpText="",this.icons=zt.P,this.pwdExpirationFormat="YYYY-MM-DD",this.resource="user",this.createForm(),this.messages=new En.a({empty:"There are no roles."})}createForm(){this.passwordPolicyService.getHelpText().subscribe(bt=>{this.passwordPolicyHelpText=bt}),this.userForm=this.formBuilder.group({username:["",[e.kI.required],[j.h.unique(this.userService.validateUserName,this.userService)]],name:[""],password:["",[],[j.h.passwordPolicy(this.userService,()=>this.userForm.getValue("username"),(bt,We,$t)=>{this.passwordStrengthLevelClass=this.passwordPolicyService.mapCreditsToCssClass(We),this.passwordValuation=m().defaultTo($t,"")})]],confirmpassword:[""],pwdExpirationDate:[void 0],email:["",[j.h.email]],roles:[[]],enabled:[!0,[e.kI.required]],pwdUpdateRequired:[!0]},{validators:[j.h.match("password","confirmpassword")]})}ngOnInit(){this.router.url.startsWith("/user-management/users/edit")?(this.mode=this.userFormMode.editing,this.action=this.actionLabels.EDIT):this.action=this.actionLabels.CREATE;const bt=[this.roleService.list(),this.settingsService.getStandardSettings()];(0,b.D)(bt).subscribe(We=>{if(this.allRoles=m().map(We[0],$t=>($t.enabled=!0,$t)),this.pwdExpirationSettings=new Fn.G(We[1]),this.mode===this.userFormMode.editing)this.initEdit();else{if(this.pwdExpirationSettings.pwdExpirationSpan>0){const $t=this.userForm.get("pwdExpirationDate"),or=Kn()();or.add(this.pwdExpirationSettings.pwdExpirationSpan,"day"),$t.setValue(or.format(this.pwdExpirationFormat)),$t.setValidators([e.kI.required])}this.loadingReady()}})}initEdit(){this.disableForEdit(),this.route.params.subscribe(bt=>{this.userService.get(bt.username).subscribe($t=>{this.response=m().cloneDeep($t),this.setResponse($t),this.loadingReady()})})}disableForEdit(){this.userForm.get("username").disable()}setResponse(bt){["username","name","email","roles","enabled","pwdUpdateRequired"].forEach($t=>this.userForm.get($t).setValue(bt[$t]));const We=bt.pwdExpirationDate;We&&this.userForm.get("pwdExpirationDate").setValue(Kn()(1e3*We).format(this.pwdExpirationFormat))}getRequest(){const bt=new jn;["username","password","name","email","roles","enabled","pwdUpdateRequired"].forEach($t=>bt[$t]=this.userForm.get($t).value);const We=this.userForm.get("pwdExpirationDate").value;if(We){const $t=Kn()(We,this.pwdExpirationFormat);(this.mode!==this.userFormMode.editing||this.response.pwdExpirationDate!==$t.unix())&&$t.set({hour:23,minute:59,second:59}),bt.pwdExpirationDate=$t.unix()}return bt}createAction(){const bt=this.getRequest();this.userService.create(bt).subscribe(()=>{this.notificationService.show(C.k.success,"Created user '" + bt.username + "'"),this.router.navigate(["/user-management/users"])},()=>{this.userForm.setErrors({cdSubmitButton:!0})})}editAction(){if(this.isUserRemovingNeededRolePermissions()){const bt={titleText:"Update user",buttonText:"Continue",bodyTpl:this.removeSelfUserReadUpdatePermissionTpl,onSubmit:()=>{this.modalRef.close(),this.doEditAction()},onCancel:()=>{this.userForm.setErrors({cdSubmitButton:!0}),this.userForm.get("roles").reset(this.userForm.get("roles").value)}};this.modalRef=this.modalService.show($n.Y,bt)}else this.doEditAction()}isCurrentUser(){return this.authStorageService.getUsername()===this.userForm.getValue("username")}isUserChangingRoles(){return this.isCurrentUser()&&this.response&&!m().isEqual(this.response.roles,this.userForm.getValue("roles"))}isUserRemovingNeededRolePermissions(){return this.isCurrentUser()&&!this.hasUserReadUpdatePermissions(this.userForm.getValue("roles"))}hasUserReadUpdatePermissions(bt=[]){for(const We of this.allRoles)if(-1!==bt.indexOf(We.name)&&We.scopes_permissions.user){const $t=We.scopes_permissions.user;return["read","update"].every(or=>-1!==$t.indexOf(or))}return!1}doEditAction(){const bt=this.getRequest();this.userService.update(bt).subscribe(()=>{this.isUserChangingRoles()?this.authService.logout(()=>{this.notificationService.show(C.k.info,"You were automatically logged out because your roles have been changed.")}):(this.notificationService.show(C.k.success,"Updated user '" + bt.username + "'"),this.router.navigate(["/user-management/users"]))},()=>{this.userForm.setErrors({cdSubmitButton:!0})})}clearExpirationDate(){this.userForm.get("pwdExpirationDate").setValue(void 0)}submit(){this.mode===this.userFormMode.editing?this.editAction():this.createAction()}}return Ct.\u0275fac=function(bt){return new(bt||Ct)(M.Y36(qn.e),M.Y36(Rn.j),M.Y36(s.gz),M.Y36(s.F0),M.Y36(er.Z),M.Y36(ie),M.Y36(Xt.K),M.Y36(H.g),M.Y36(u.p4),M.Y36(Dn.q),M.Y36(ut.O),M.Y36(Sn.g))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-user-form"]],viewQuery:function(bt,We){if(1&bt&&M.Gf(jt,7),2&bt){let $t;M.iGM($t=M.CRH())&&(We.removeSelfUserReadUpdatePermissionTpl=$t.first)}},features:[M.qOj],decls:5,vars:1,consts:function(){let rt,bt,We,$t,or,Zn,Vr,Cr,ai,Dr,Qr,rn,fi,Ei,wi,go,Fi,no,Ji,qi,to;return rt="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",bt="Username",We="Full name",$t="Email",or="Roles",Zn="This field is required.",Vr="The username already exists.",Cr="Password",ai="This field is required.",Dr="Confirm password",Qr="Password confirmation doesn't match the password.",rn="This field is required.",fi="Password expiration date",Ei="Password expiration date...",wi="This field is required.",go="Invalid email.",Fi="Enabled",no="User must change password at next logon",Ji="You are about to remove \"user read / update\" permissions from your own user.",qi="If you continue, you will no longer be able to add or remove roles from any user.",to="Are you sure you want to continue?",[["class","cd-col-form",4,"cdFormLoading"],["removeSelfUserReadUpdatePermissionTpl",""],["popContent",""],[1,"cd-col-form"],["name","userForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],rt,[1,"card-body"],[1,"form-group","row"],["for","username",1,"cd-col-form-label",3,"ngClass"],bt,[1,"cd-col-form-input"],["type","text","placeholder","Username...","id","username","name","username","formControlName","username","autocomplete","off","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],["for","name",1,"cd-col-form-label"],We,["type","text","placeholder","Full name...","id","name","name","name","formControlName","name",1,"form-control"],["for","email",1,"cd-col-form-label"],$t,["type","email","placeholder","Email...","id","email","name","email","formControlName","email",1,"form-control"],[1,"cd-col-form-label"],or,["class","no-border full-height",4,"ngIf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],Zn,Vr,["for","password",1,"cd-col-form-label"],Cr,["class","text-pre-wrap",3,"html",4,"ngIf"],[1,"input-group"],["type","password","placeholder","Password...","id","password","name","password","autocomplete","new-password","formControlName","password",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","password",1,"btn","btn-light"],[1,"password-strength-level"],["data-toggle","tooltip",3,"title"],[1,"text-pre-wrap",3,"html"],ai,["for","confirmpassword",1,"cd-col-form-label"],Dr,["type","password","placeholder","Confirm password...","id","confirmpassword","name","confirmpassword","autocomplete","new-password","formControlName","confirmpassword",1,"form-control"],["type","button","cdPasswordButton","confirmpassword",1,"btn","btn-light"],Qr,rn,["for","pwdExpirationDate",1,"cd-col-form-label",3,"ngClass"],fi,["class","text-pre-wrap",4,"ngIf"],["placeholder",Ei,"id","pwdExpirationDate","name","pwdExpirationDate","formControlName","pwdExpirationDate","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["p","ngbPopover"],["type","button",1,"btn","btn-light",3,"click"],[1,"text-pre-wrap"],["routerLink","/mgr-modules/edit/dashboard",1,"alert-link"],wi,go,[1,"no-border","full-height"],[3,"data","options","messages"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","id","enabled","name","enabled","formControlName","enabled",1,"custom-control-input"],["for","enabled",1,"custom-control-label"],Fi,["type","checkbox","id","pwdUpdateRequired","name","pwdUpdateRequired","formControlName","pwdUpdateRequired",1,"custom-control-input"],["for","pwdUpdateRequired",1,"custom-control-label"],no,Ji,qi,to,[3,"control","hasTime"]]},template:function(bt,We){1&bt&&(M.YNc(0,mr,41,25,"div",0),M.YNc(1,_r,8,0,"ng-template",null,1,M.W1O),M.YNc(3,Nr,1,2,"ng-template",null,2,M.W1O)),2&bt&&M.Q6J("cdFormLoading",We.loading)},directives:[fe.y,e._Y,e.JL,e.sg,ne.V,he.P,t.mk,ce.o,e.Fj,Ae.b,e.JJ,e.u,Me.U,t.O5,be.p,mt.C,Tt.S,a.o8,s.yS,yn.m,e.Wl,et.J],pipes:[t.rS,ue.m],styles:[""]}),Ct})();var Jn=o(96102),nr=o(94088);const Mr=["userRolesTpl"],yi=["warningTpl"],Ii=["durationTpl"];function Mi(Ct,rt){if(1&Ct&&(M.TgZ(0,"span"),M._uU(1),M.qZA()),2&Ct){const bt=rt.$implicit,We=rt.last;M.xp6(1),M.AsE(" ",bt,"",We?"":", "," ")}}function Oi(Ct,rt){1&Ct&&M.YNc(0,Mi,2,2,"span",5),2&Ct&&M.Q6J("ngForOf",rt.value)}function Kr(Ct,rt){if(1&Ct&&(M.TgZ(0,"div",6),M.TgZ(1,"div",7),M._uU(2),M.qZA(),M.qZA()),2&Ct){const bt=rt.value,We=rt.row,$t=M.oxw();M.ekj("border-danger",We.remainingDays<$t.expirationDangerAlert)("border-warning",We.remainingDays<$t.expirationWarningAlert&&We.remainingDays>=$t.expirationDangerAlert),M.xp6(2),M.hij(" ",bt," ")}}function ei(Ct,rt){if(1&Ct&&M._UZ(0,"i",10),2&Ct){const bt=M.oxw().row,We=M.oxw();M.Tol(We.icons.warning),M.ekj("icon-danger-color",bt.remainingDays<We.expirationDangerAlert)("icon-warning-color",bt.remainingDays<We.expirationWarningAlert&&bt.remainingDays>=We.expirationDangerAlert)}}function di(Ct,rt){if(1&Ct&&(M.YNc(0,ei,1,7,"i",8),M.TgZ(1,"span",9),M.ALo(2,"cdDate"),M._uU(3),M.ALo(4,"duration"),M.qZA()),2&Ct){const bt=rt.value,We=rt.row,$t=M.oxw();M.Q6J("ngIf",We.remainingDays<$t.expirationWarningAlert),M.xp6(1),M.s9C("title",M.lcZ(2,3,bt)),M.xp6(2),M.Oqu(M.lcZ(4,5,We.remainingTimeWithoutSeconds/1e3))}}let ct=(()=>{class Ct{constructor(bt,We,$t,or,Zn,Vr,Cr,ai){this.userService=bt,this.emptyPipe=We,this.modalService=$t,this.notificationService=or,this.authStorageService=Zn,this.urlBuilder=Vr,this.settingsService=Cr,this.actionLabels=ai,this.selection=new ln.r,this.icons=zt.P,this.permission=this.authStorageService.getPermissions().user,this.tableActions=[{permission:"create",icon:zt.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:zt.P.edit,routerLink:()=>this.selection.first()&&this.urlBuilder.getEdit(this.selection.first().username),name:this.actionLabels.EDIT},{permission:"delete",icon:zt.P.destroy,click:()=>this.deleteUserModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"Username",prop:"username",flexGrow:1,cellTemplate:this.warningTpl},{name:"Name",prop:"name",flexGrow:1,pipe:this.emptyPipe},{name:"Email",prop:"email",flexGrow:1,pipe:this.emptyPipe},{name:"Roles",prop:"roles",flexGrow:1,cellTemplate:this.userRolesTpl},{name:"Enabled",prop:"enabled",flexGrow:1,cellTransformation:Jt.e.checkIcon},{name:"Password expires",prop:"pwdExpirationDate",flexGrow:1,cellTemplate:this.durationTpl}],this.settingsService.getValues(["USER_PWD_EXPIRATION_WARNING_1","USER_PWD_EXPIRATION_WARNING_2"]).subscribe(We=>{this.expirationWarningAlert=We.USER_PWD_EXPIRATION_WARNING_1,this.expirationDangerAlert=We.USER_PWD_EXPIRATION_WARNING_2})}getUsers(){this.userService.list().subscribe(bt=>{bt.forEach(We=>{We.remainingTimeWithoutSeconds=0,We.pwdExpirationDate&&We.pwdExpirationDate>0&&(We.pwdExpirationDate=1e3*We.pwdExpirationDate,We.remainingTimeWithoutSeconds=this.getRemainingTimeWithoutSeconds(We.pwdExpirationDate),We.remainingDays=this.getRemainingDays(We.pwdExpirationDate))}),this.users=bt})}updateSelection(bt){this.selection=bt}deleteUser(bt){this.userService.delete(bt).subscribe(()=>{this.getUsers(),this.modalRef.close(),this.notificationService.show(C.k.success,"Deleted user '" + bt + "'")},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}deleteUserModal(){const bt=this.authStorageService.getUsername(),We=this.selection.first().username;bt!==We?this.modalRef=this.modalService.show(Ie.M,{itemDescription:"User",itemNames:[We],submitAction:()=>this.deleteUser(We)}):this.notificationService.show(C.k.error,"Failed to delete user '" + We + "'","You are currently logged in as '" + We + "'.")}getWarningIconClass(bt){return null===bt||this.expirationWarningAlert>10?"":this.getRemainingDays(bt)<=this.expirationDangerAlert?"icon-danger-color":"icon-warning-color"}getWarningClass(bt){return null===bt||this.expirationWarningAlert>10?"":this.getRemainingDays(bt)<=this.expirationDangerAlert?"border-danger":"border-warning"}getRemainingDays(bt){if(void 0!==bt&&null!=bt)return bt<0?0:Math.max(0,Math.floor(this.getRemainingTime(bt)/864e5))}getRemainingTimeWithoutSeconds(bt){const We=this.getRemainingTime(bt);return 60*Math.floor(We/6e4)*1e3}getRemainingTime(bt){return bt-Date.now()}}return Ct.\u0275fac=function(bt){return new(bt||Ct)(M.Y36(Xt.K),M.Y36(ar.W),M.Y36(er.Z),M.Y36(H.g),M.Y36(Rn.j),M.Y36(Ln.F),M.Y36(Sn.g),M.Y36(u.p4))},Ct.\u0275cmp=M.Xpm({type:Ct,selectors:[["cd-user-list"]],viewQuery:function(bt,We){if(1&bt&&(M.Gf(Mr,7),M.Gf(yi,7),M.Gf(Ii,7)),2&bt){let $t;M.iGM($t=M.CRH())&&(We.userRolesTpl=$t.first),M.iGM($t=M.CRH())&&(We.warningTpl=$t.first),M.iGM($t=M.CRH())&&(We.durationTpl=$t.first)}},features:[M._Bn([{provide:Ln.F,useValue:new Ln.F("user-management/users")}])],decls:9,vars:5,consts:function(){let rt;return rt="User's password is about to expire",[["columnMode","flex","identifier","username","selectionType","single",3,"data","columns","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["userRolesTpl",""],["warningTpl",""],["durationTpl",""],[4,"ngFor","ngForOf"],[1,"border-margin"],[1,"warning-content"],["title",rt,3,"icon-danger-color","icon-warning-color","class",4,"ngIf"],[3,"title"],["title",rt]]},template:function(bt,We){1&bt&&(M._UZ(0,"cd-user-tabs"),M.TgZ(1,"cd-table",0),M.NdJ("fetchData",function(){return We.getUsers()})("updateSelection",function(or){return We.updateSelection(or)}),M._UZ(2,"cd-table-actions",1),M.qZA(),M.YNc(3,Oi,1,1,"ng-template",null,2,M.W1O),M.YNc(5,Kr,3,5,"ng-template",null,3,M.W1O),M.YNc(7,di,5,7,"ng-template",null,4,M.W1O)),2&bt&&(M.xp6(1),M.Q6J("data",We.users)("columns",We.columns),M.xp6(1),M.Q6J("permission",We.permission)("selection",We.selection)("tableActions",We.tableActions))},directives:[Mn,Oe.a,Ht.K,t.sg,t.O5],pipes:[Jn.N,nr.u],styles:[".border-margin[_ngcontent-%COMP%]{border-left:3px solid transparent;height:calc(100% + 10px);margin-bottom:-5px;margin-left:-5px;margin-top:-5px}.warning-content[_ngcontent-%COMP%]{height:100%;padding-bottom:5px;padding-left:5px;padding-top:5px}"]}),Ct})(),Ke=(()=>{class Ct{}return Ct.\u0275fac=function(bt){return new(bt||Ct)},Ct.\u0275mod=M.oAB({type:Ct}),Ct.\u0275inj=M.cJS({imports:[[t.ez,e.u5,e.UX,h.m,a.Oz,a.dT,l.b,s.Bz]]}),Ct})();const Xe=[{path:"",redirectTo:"users",pathMatch:"full"},{path:"users",data:{breadcrumbs:"Users"},children:[{path:"",component:ct},{path:u.MQ.CREATE,component:br,data:{breadcrumbs:u.Qn.CREATE}},{path:`${u.MQ.EDIT}/:username`,component:br,data:{breadcrumbs:u.Qn.EDIT}}]},{path:"roles",data:{breadcrumbs:"Roles"},children:[{path:"",component:Kt},{path:u.MQ.CREATE,component:It,data:{breadcrumbs:u.Qn.CREATE}},{path:`${u.MQ.EDIT}/:name`,component:It,data:{breadcrumbs:u.Qn.EDIT}}]}];let Vt=(()=>{class Ct{}return Ct.\u0275fac=function(bt){return new(bt||Ct)},Ct.\u0275mod=M.oAB({type:Ct}),Ct.\u0275inj=M.cJS({imports:[[Ke,s.Bz.forChild(Xe)]]}),Ct})()},26504:(Ge,g,o)=>{"use strict";o.d(g,{s9:()=>e,_2:()=>s,mM:()=>l});var t=o(65862);class e extends Error{}class s extends e{constructor(){super(...arguments),this.header="Page Not Found",this.message="Sorry, we couldn\u2019t find what you were looking for.\n The page you requested may have been changed or moved.",this.icon=t.P.warning}}class l extends e{constructor(){super(...arguments),this.header="User Denied",this.message="Sorry, the user does not exist in Ceph.\n You'll be logged out from the Identity Provider when you retry logging in.",this.icon=t.P.warning}}},76189:(Ge,g,o)=>{"use strict";o.d(g,{S:()=>t});class t{getVersionHeaderValue(s,a){return`application/vnd.ceph.api.v${s}.${a}+json`}}},39219:(Ge,g,o)=>{"use strict";o.d(g,{e:()=>_});var t=o(23815),s=o(68307),a=o(74788),l=o(74937),u=o(58497),h=o(6283);let _=(()=>{class m{constructor(C,D,x,j){this.authStorageService=C,this.http=D,this.router=x,this.route=j}check(C){return this.http.post("api/auth/check",{token:C})}login(C){return this.http.post("api/auth",C).pipe((0,s.b)(D=>{this.authStorageService.set(D.username,D.permissions,D.sso,D.pwdExpirationDate,D.pwdUpdateRequired)}))}logout(C=null){return this.http.post("api/auth/logout",null).subscribe(D=>{this.authStorageService.remove();const x=t.get(this.route.snapshot.queryParams,"returnUrl","/login");this.router.navigate([x],{skipLocationChange:!0}),C&&C(),window.location.replace(D.redirect_url)})}}return m.\u0275fac=function(C){return new(C||m)(a.LFG(l.j),a.LFG(u.eN),a.LFG(h.F0),a.LFG(h.gz))},m.\u0275prov=a.Yz7({token:m,factory:m.\u0275fac,providedIn:"root"}),m})()},64724:(Ge,g,o)=>{"use strict";o.d(g,{e:()=>s});var t=o(74788),e=o(58497);let s=(()=>{class a{constructor(u){this.http=u}findValue(u,h){if(u.value)return u.value.find(_=>_.section===h)}getValue(u,h){let _=this.findValue(u,h);if(!_){const m=h.indexOf(".");-1!==m&&(_=this.findValue(u,h.substring(0,m)))}return _||(_=this.findValue(u,"global")),_?_.value:u.default}getConfigData(){return this.http.get("api/cluster_conf/")}get(u){return this.http.get(`api/cluster_conf/${u}`)}filter(u){return this.http.get(`api/cluster_conf/filter?names=${u.join(",")}`)}create(u){return this.http.post("api/cluster_conf/",u)}delete(u,h){return this.http.delete(`api/cluster_conf/${u}?section=${h}`)}bulkCreate(u){return this.http.put("api/cluster_conf/",u)}}return a.\u0275fac=function(u){return new(u||a)(t.LFG(e.eN))},a.\u0275prov=t.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},83608:(Ge,g,o)=>{"use strict";o.d(g,{H:()=>s});var t=o(74788),e=o(58497);let s=(()=>{class a{constructor(u){this.http=u,this.apiPath="api/crush_rule",this.formTooltips={root:"The name of the node under which data should be placed.",failure_domain:"The type of CRUSH nodes across which we should separate replicas.",device_class:"The device class data should be placed on."}}create(u){return this.http.post(this.apiPath,u,{observe:"response"})}delete(u){return this.http.delete(`${this.apiPath}/${u}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return a.\u0275fac=function(u){return new(u||a)(t.LFG(e.eN))},a.\u0275prov=t.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},80842:(Ge,g,o)=>{"use strict";o.d(g,{q:()=>h});var t=o(64762),e=o(58497),s=o(88002),a=o(93523),l=o(34089),u=o(74788);let h=class{constructor(m,b){this.http=m,this.rbdConfigurationService=b,this.apiPath="api/pool"}create(m){return this.http.post(this.apiPath,m,{observe:"response"})}update(m){let b;return m.hasOwnProperty("srcpool")?(b=m.srcpool,delete m.srcpool):(b=m.pool,delete m.pool),this.http.put(`${this.apiPath}/${encodeURIComponent(b)}`,m,{observe:"response"})}delete(m){return this.http.delete(`${this.apiPath}/${m}`,{observe:"response"})}get(m){return this.http.get(`${this.apiPath}/${m}`)}getList(){return this.http.get(`${this.apiPath}?stats=true`)}getConfiguration(m){return this.http.get(`${this.apiPath}/${m}/configuration`).pipe((0,s.U)(b=>b.map(C=>Object.assign(C,this.rbdConfigurationService.getOptionByName(C.name)))))}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}list(m=[]){const b=m.join(",");return this.http.get(`${this.apiPath}?attrs=${b}`).toPromise().then(C=>C)}};h.\u0275fac=function(m){return new(m||h)(u.LFG(e.eN),u.LFG(l.n))},h.\u0275prov=u.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"}),h=(0,t.gn)([a.o,(0,t.w6)("design:paramtypes",[e.eN,l.n])],h)},95152:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>D});var t=o(64762),e=o(58497),s=o(23815),a=o.n(s),l=o(25917),u=o(96736),h=o(5304),_=o(76189),m=o(20523),b=o(93523),C=o(74788);let D=class extends _.S{constructor(j,H){super(),this.http=j,this.rgwDaemonService=H,this.url="api/rgw/bucket"}list(j=!1,H=""){return this.rgwDaemonService.request(z=>(z=z.append("stats",j.toString()),H&&(z=z.append("uid",H)),this.http.get(this.url,{headers:{Accept:this.getVersionHeaderValue(1,1)},params:z})))}get(j){return this.rgwDaemonService.request(H=>this.http.get(`${this.url}/${j}`,{params:H}))}create(j,H,z,U,M,I,J){return this.rgwDaemonService.request(Y=>this.http.post(this.url,null,{params:new e.LE({fromObject:{bucket:j,uid:H,zonegroup:z,placement_target:U,lock_enabled:String(M),lock_mode:I,lock_retention_period_days:J,daemon_name:Y.get("daemon_name")}})}))}update(j,H,z,U,M,I,J,Y,ie){return this.rgwDaemonService.request(oe=>(oe=(oe=(oe=(oe=(oe=(oe=(oe=(oe=oe.append("bucket_id",H)).append("uid",z)).append("versioning_state",U)).append("mfa_delete",M)).append("mfa_token_serial",I)).append("mfa_token_pin",J)).append("lock_mode",Y)).append("lock_retention_period_days",ie),this.http.put(`${this.url}/${j}`,null,{params:oe})))}delete(j,H=!0){return this.rgwDaemonService.request(z=>(z=z.append("purge_objects",H?"true":"false"),this.http.delete(`${this.url}/${j}`,{params:z})))}exists(j){return this.get(j).pipe((0,u.h)(!0),(0,h.K)(H=>(a().isFunction(H.preventDefault)&&H.preventDefault(),(0,l.of)(!1))))}getLockDays(j){return j.lock_retention_period_years>0?Math.floor(365.242*j.lock_retention_period_years):j.lock_retention_period_days||0}};D.\u0275fac=function(j){return new(j||D)(C.LFG(e.eN),C.LFG(m.b))},D.\u0275prov=C.Yz7({token:D,factory:D.\u0275fac,providedIn:"root"}),D=(0,t.gn)([b.o,(0,t.w6)("design:paramtypes",[e.eN,m.b])],D)},20523:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>x});var t=o(64762),e=o(58497),s=o(23815),a=o.n(s),l=o(26215),u=o(40205),h=o(25917),_=o(68307),m=o(19773),b=o(15257),C=o(93523),D=o(74788);let x=class{constructor(H){this.http=H,this.url="api/rgw/daemon",this.daemons=new l.X([]),this.daemons$=this.daemons.asObservable(),this.selectedDaemon=new l.X(null),this.selectedDaemon$=this.selectedDaemon.asObservable()}list(){return this.http.get(this.url).pipe((0,_.b)(H=>{this.daemons.next(H);const z=this.selectedDaemon.getValue();(a().isEmpty(z)||void 0===a().find(H,{id:z.id}))&&this.selectDefaultDaemon(H)}))}get(H){return this.http.get(`${this.url}/${H}`)}selectDaemon(H){this.selectedDaemon.next(H)}selectDefaultDaemon(H){if(0===H.length)return null;for(const z of H)if(z.default)return this.selectDaemon(z),z;return this.selectDaemon(H[0]),H[0]}request(H){return this.selectedDaemon.pipe((0,m.zg)(z=>a().isEmpty(z)?this.list().pipe((0,m.zg)(U=>a().isEmpty(U)?(0,u._)("No RGW daemons found!"):this.selectedDaemon$)):(0,h.of)(z)),(0,b.q)(1),(0,m.zg)(z=>{let U=new e.LE;return U=U.append("daemon_name",z.id),H(U)}))}};x.\u0275fac=function(H){return new(H||x)(D.LFG(e.eN))},x.\u0275prov=D.Yz7({token:x,factory:x.\u0275fac,providedIn:"root"}),x=(0,t.gn)([C.o,(0,t.w6)("design:paramtypes",[e.eN])],x)},33394:(Ge,g,o)=>{"use strict";o.d(g,{I:()=>_});var t=o(64762),e=o(58497),s=o(19773),a=o(88002),l=o(20523),u=o(93523),h=o(74788);let _=class{constructor(b,C){this.http=b,this.rgwDaemonService=C,this.url="api/rgw/site"}get(b){return this.rgwDaemonService.request(C=>(b&&(C=C.append("query",b)),this.http.get(this.url,{params:C})))}isDefaultRealm(){return this.get("default-realm").pipe((0,s.zg)(b=>this.rgwDaemonService.selectedDaemon$.pipe((0,a.U)(C=>C.realm_name===b))))}};_.\u0275fac=function(b){return new(b||_)(h.LFG(e.eN),h.LFG(l.b))},_.\u0275prov=h.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_=(0,t.gn)([u.o,(0,t.w6)("design:paramtypes",[e.eN,l.b])],_)},9837:(Ge,g,o)=>{"use strict";o.d(g,{g:()=>h});var t=o(23815),e=o.n(t),s=o(88002),a=o(74788),l=o(58497);let h=(()=>{class _{constructor(b){this.http=b,this.settings={}}getValues(b){return e().isArray(b)&&(b=b.join(",")),this.http.get(`api/settings?names=${b}`).pipe((0,s.U)(C=>{const D={};return e().forEach(C,x=>{e().set(D,x.name,x.value)}),D}))}ifSettingConfigured(b,C,D){const x=this.settings[b];void 0===x?this.http.get(b).subscribe(j=>{this.settings[b]=this.getSettingsValue(j),this.ifSettingConfigured(b,C,D)},j=>{401!==j.status&&(this.settings[b]="")}):""!==x?C(x):D&&D()}disableSetting(b){this.settings[b]=""}getSettingsValue(b){return b.value||b.instance||""}validateGrafanaDashboardUrl(b){return this.http.get(`api/grafana/validation/${b}`)}getStandardSettings(){return this.http.get("ui-api/standard_settings")}}return _.\u0275fac=function(b){return new(b||_)(a.LFG(l.eN))},_.\u0275prov=a.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_})()},32057:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>u});var t=o(25917),e=o(96736),s=o(5304),a=o(74788),l=o(58497);let u=(()=>{class h{constructor(m){this.http=m}list(){return this.http.get("api/user")}delete(m){return this.http.delete(`api/user/${m}`)}get(m){return this.http.get(`api/user/${m}`)}create(m){return this.http.post("api/user",m)}update(m){return this.http.put(`api/user/${m.username}`,m)}changePassword(m,b,C){return this.http.post(`api/user/${m}/change_password`,{old_password:b,new_password:C})}validateUserName(m){return this.get(m).pipe((0,e.h)(!0),(0,s.K)(b=>(b.preventDefault(),(0,t.of)(!1))))}validatePassword(m,b=null,C=null){return this.http.post("api/user/validate_password",{password:m,username:b,old_password:C})}}return h.\u0275fac=function(m){return new(m||h)(a.LFG(l.eN))},h.\u0275prov=a.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"}),h})()},51295:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>s});var t=o(23815),e=o.n(t);class s{static updateChanged(l,u){let h=!1;return Object.keys(u).forEach(_=>{const m=u[_];e().isEqual(m,l[_])||(l[_]=m,h=!0)}),h}static cdVersionHeader(l,u){return`application/vnd.ceph.api.v${l}.${u}+json`}}},99475:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>t});class t{propertyValue(s){return getComputedStyle(document.body).getPropertyValue(`--${s}`)}}},68136:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>e});var t=o(71225);class e{constructor(a){this.ngZone=a}setExpandedRow(a){this.expandedRow=a}setTableRefreshTimeout(){clearTimeout(this.staleTimeout),this.ngZone.runOutsideAngular(()=>{this.staleTimeout=window.setTimeout(()=>{this.ngZone.run(()=>{this.tableStatus=new t.c("warning","The user list data might be stale. If needed, you can manually reload it.")})},1e4)})}}},69158:(Ge,g,o)=>{"use strict";o.d(g,{E:()=>s});var t=o(91801),e=o(71225);class s extends e.c{constructor(l=t.T.ValueOk,u=""){switch(super(),l){case t.T.ValueOk:this.type="light",this.msg="";break;case t.T.ValueNone:this.type="info",this.msg=(u?"Retrieving data for " + u + ".":"Retrieving data.")+" "+"Please wait...";break;case t.T.ValueStale:this.type="warning",this.msg=u?"Displaying previously cached data for " + u + ".":"Displaying previously cached data.";break;case t.T.ValueException:this.type="danger",this.msg=(u?"Could not load data for " + u + ".":"Could not load data.")+" "+"Please check the cluster health."}}}},71225:(Ge,g,o)=>{"use strict";o.d(g,{c:()=>t});class t{constructor(s="light",a=""){this.type=s,this.msg=a}}},34501:(Ge,g,o)=>{"use strict";o.d(g,{G:()=>z});var t=o(74788),e=o(65862),s=o(38549),a=o(12057);const l=function(U){return[U]};function u(U,M){if(1&U&&(t.TgZ(0,"td",8),t._UZ(1,"i",9),t.qZA()),2&U){const I=t.oxw(2);t.xp6(1),t.MT6("alert-",I.bootstrapClass," ",I.typeIcon,""),t.Q6J("ngClass",t.VKq(5,l,I.icons.large3x))}}function h(U,M){if(1&U&&(t.TgZ(0,"td",10),t._uU(1),t.qZA()),2&U){const I=t.oxw(2);t.xp6(1),t.Oqu(I.title)}}function _(U,M){1&U&&t.GkF(0)}function m(U,M){if(1&U&&(t.ynx(0),t.TgZ(1,"tr"),t.YNc(2,u,2,7,"td",4),t.YNc(3,h,2,1,"td",5),t.qZA(),t.TgZ(4,"tr"),t.TgZ(5,"td",6),t.YNc(6,_,1,0,"ng-container",7),t.qZA(),t.qZA(),t.BQk()),2&U){const I=t.oxw(),J=t.MAs(6);t.xp6(2),t.Q6J("ngIf",I.showIcon),t.xp6(1),t.Q6J("ngIf",I.showTitle),t.xp6(3),t.Q6J("ngTemplateOutlet",J)}}function b(U,M){if(1&U&&(t.TgZ(0,"td",12),t._UZ(1,"i",13),t.qZA()),2&U){const I=t.oxw(2);t.xp6(1),t.MT6("alert-",I.bootstrapClass," ",I.typeIcon,"")}}function C(U,M){if(1&U&&(t.TgZ(0,"td",10),t._uU(1),t.qZA()),2&U){const I=t.oxw(2);t.xp6(1),t.Oqu(I.title)}}function D(U,M){1&U&&t.GkF(0)}function x(U,M){if(1&U&&(t.TgZ(0,"tr"),t.YNc(1,b,2,4,"td",11),t.YNc(2,C,2,1,"td",5),t.TgZ(3,"td",6),t.YNc(4,D,1,0,"ng-container",7),t.qZA(),t.qZA()),2&U){const I=t.oxw(),J=t.MAs(6);t.xp6(1),t.Q6J("ngIf",I.showIcon),t.xp6(1),t.Q6J("ngIf",I.showTitle),t.xp6(2),t.Q6J("ngTemplateOutlet",J)}}function j(U,M){1&U&&t.Hsn(0)}const H=["*"];let z=(()=>{class U{constructor(){this.title="",this.bootstrapClass="",this.size="normal",this.showIcon=!0,this.showTitle=!0,this.dismissible=!1,this.dismissed=new t.vpe,this.icons=e.P}ngOnInit(){switch(this.type){case"warning":this.title=this.title||"Warning",this.typeIcon=this.typeIcon||e.P.warning,this.bootstrapClass=this.bootstrapClass||"warning";break;case"error":this.title=this.title||"Error",this.typeIcon=this.typeIcon||e.P.destroyCircle,this.bootstrapClass=this.bootstrapClass||"danger";break;case"info":this.title=this.title||"Information",this.typeIcon=this.typeIcon||e.P.infoCircle,this.bootstrapClass=this.bootstrapClass||"info";break;case"success":this.title=this.title||"Success",this.typeIcon=this.typeIcon||e.P.check,this.bootstrapClass=this.bootstrapClass||"success";break;case"danger":this.title=this.title||"Danger",this.typeIcon=this.typeIcon||e.P.warning,this.bootstrapClass=this.bootstrapClass||"danger"}}onClose(){this.dismissed.emit()}}return U.\u0275fac=function(I){return new(I||U)},U.\u0275cmp=t.Xpm({type:U,selectors:[["cd-alert-panel"]],inputs:{title:"title",bootstrapClass:"bootstrapClass",type:"type",typeIcon:"typeIcon",size:"size",showIcon:"showIcon",showTitle:"showTitle",dismissible:"dismissible"},outputs:{dismissed:"dismissed"},ngContentSelectors:H,decls:7,vars:4,consts:[[3,"type","dismissible","closed"],[4,"ngIf","ngIfElse"],["slim",""],["content",""],["rowspan","2","class","alert-panel-icon",4,"ngIf"],["class","alert-panel-title",4,"ngIf"],[1,"alert-panel-text"],[4,"ngTemplateOutlet"],["rowspan","2",1,"alert-panel-icon"],["aria-hidden","true",3,"ngClass"],[1,"alert-panel-title"],["class","alert-panel-icon",4,"ngIf"],[1,"alert-panel-icon"],["aria-hidden","true"]],template:function(I,J){if(1&I&&(t.F$t(),t.TgZ(0,"ngb-alert",0),t.NdJ("closed",function(){return J.onClose()}),t.TgZ(1,"table"),t.YNc(2,m,7,3,"ng-container",1),t.YNc(3,x,5,3,"ng-template",null,2,t.W1O),t.qZA(),t.qZA(),t.YNc(5,j,1,0,"ng-template",null,3,t.W1O)),2&I){const Y=t.MAs(4);t.s9C("type",J.bootstrapClass),t.Q6J("dismissible",J.dismissible),t.xp6(2),t.Q6J("ngIf","normal"===J.size)("ngIfElse",Y)}},directives:[s.xm,a.O5,a.tP,a.mk],styles:[".alert-panel-icon[_ngcontent-%COMP%]{padding-right:.5em;vertical-align:top}.alert-panel-title[_ngcontent-%COMP%]{font-weight:bold}.alert[_ngcontent-%COMP%]{margin-bottom:0}"]}),U})()},13472:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>l});var t=o(74788),e=o(79512),s=o(12057),a=o(87925);let l=(()=>{class u{constructor(_,m){this.location=_,this.actionLabels=m,this.backAction=new t.vpe,this.name=this.actionLabels.CANCEL}back(){0===this.backAction.observers.length?this.location.back():this.backAction.emit()}}return u.\u0275fac=function(_){return new(_||u)(t.Y36(s.Ye),t.Y36(e.p4))},u.\u0275cmp=t.Xpm({type:u,selectors:[["cd-back-button"]],inputs:{name:"name"},outputs:{backAction:"backAction"},decls:2,vars:1,consts:[["type","button",1,"btn","btn-light","tc_backButton",3,"click"]],template:function(_,m){1&_&&(t.TgZ(0,"button",0),t.NdJ("click",function(){return m.back()}),t._uU(1),t.qZA()),2&_&&(t.xp6(1),t.hij(" ",m.name,"\n"))},directives:[a.o],styles:[""]}),u})()},15626:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>C});var t=o(12057),e=o(24751),s=o(6283),a=o(38549),l=o(11971),u=o(7194),h=o(34863),_=o(35540),m=o(85953),b=o(74788);let C=(()=>{class D{}return D.\u0275fac=function(j){return new(j||D)},D.\u0275mod=b.oAB({type:D}),D.\u0275inj=b.cJS({providers:[],imports:[[t.ez,e.u5,e.UX,a._A,a.dT,a.ZQ,a.HK,u.m9,e.UX,m.D,_.o,a.XC,l.w,h.t,s.Bz,a.M,a.UL]]}),D})()},36169:(Ge,g,o)=>{"use strict";o.d(g,{Y:()=>C});var t=o(24751),e=o(74788),s=o(38549),a=o(60312),l=o(12057),u=o(41582),h=o(30839);function _(D,x){1&D&&(e.TgZ(0,"span",11),e._UZ(1,"i",12),e.qZA())}function m(D,x){1&D&&e.GkF(0)}function b(D,x){if(1&D&&(e.TgZ(0,"p"),e._uU(1),e.qZA()),2&D){const j=e.oxw();e.xp6(1),e.hij(" ",j.description," ")}}let C=(()=>{class D{constructor(j){this.activeModal=j,this.warning=!1,this.showSubmit=!0,this.boundCancel=this.cancel.bind(this),this.canceled=!1,this.confirmationForm=new t.cw({})}ngOnInit(){if(this.bodyContext=this.bodyContext||{},this.bodyContext.$implicit=this.bodyData,!this.onSubmit)throw new Error("No submit action defined");if(!this.buttonText)throw new Error("No action name defined");if(!this.titleText)throw new Error("No title defined");if(!this.bodyTpl&&!this.description)throw new Error("No description defined")}ngOnDestroy(){this.onCancel&&this.canceled&&this.onCancel()}cancel(){this.canceled=!0,this.activeModal.close()}stopLoadingSpinner(){this.confirmationForm.setErrors({cdSubmitButton:!0})}}return D.\u0275fac=function(j){return new(j||D)(e.Y36(s.Kz))},D.\u0275cmp=e.Xpm({type:D,selectors:[["cd-confirmation-modal"]],decls:12,vars:9,consts:[[3,"hide"],[1,"modal-title"],["class","text-warning",4,"ngIf"],[1,"modal-content"],["name","confirmationForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","showSubmit","submitActionEvent","backActionEvent"],[1,"text-warning"],[1,"fa","fa-exclamation-triangle","fa-1x"]],template:function(j,H){1&j&&(e.TgZ(0,"cd-modal",0),e.NdJ("hide",function(){return H.cancel()}),e.ynx(1,1),e.YNc(2,_,2,0,"span",2),e._uU(3),e.BQk(),e.ynx(4,3),e.TgZ(5,"form",4,5),e.TgZ(7,"div",6),e.YNc(8,m,1,0,"ng-container",7),e.YNc(9,b,2,1,"p",8),e.qZA(),e.TgZ(10,"div",9),e.TgZ(11,"cd-form-button-panel",10),e.NdJ("submitActionEvent",function(){return H.onSubmit(H.confirmationForm.value)})("backActionEvent",function(){return H.boundCancel()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&j&&(e.xp6(2),e.Q6J("ngIf",H.warning),e.xp6(1),e.Oqu(H.titleText),e.xp6(2),e.Q6J("formGroup",H.confirmationForm),e.xp6(3),e.Q6J("ngTemplateOutlet",H.bodyTpl)("ngTemplateOutletContext",H.bodyContext),e.xp6(1),e.Q6J("ngIf",H.description),e.xp6(2),e.Q6J("form",H.confirmationForm)("submitText",H.buttonText)("showSubmit",H.showSubmit))},directives:[a.z,l.O5,t._Y,t.JL,t.sg,u.V,l.tP,h.p],styles:[""]}),D})()},58039:(Ge,g,o)=>{"use strict";o.d(g,{s:()=>_});var t=o(97057),e=o(65862),s=o(74788),a=o(91376),l=o(87925),u=o(12057);const h=function(m){return[m]};let _=(()=>{class m{constructor(C){this.toastr=C,this.byId=!0,this.icons=e.P}getText(){return document.getElementById(this.source).value}onClick(){try{const C=(0,t.qY)(),D=this.byId?this.getText():this.source,x=()=>{this.toastr.success("Copied text to the clipboard successfully.")};["firefox","ie","ios","safari"].includes(C.name)?navigator.clipboard.writeText(D).then(()=>x()):navigator.permissions.query({name:"clipboard-write"}).then(j=>{("granted"===j.state||"prompt"===j.state)&&navigator.clipboard.writeText(D).then(()=>x())})}catch(C){this.toastr.error("Failed to copy text to the clipboard.")}}}return m.\u0275fac=function(C){return new(C||m)(s.Y36(a._W))},m.\u0275cmp=s.Xpm({type:m,selectors:[["cd-copy-2-clipboard-button"]],hostBindings:function(C,D){1&C&&s.NdJ("click",function(){return D.onClick()})},inputs:{source:"source",byId:"byId"},decls:2,vars:3,consts:function(){let b;return b="Copy to Clipboard",[["type","button","title",b,1,"btn","btn-light",3,"click"],[3,"ngClass"]]},template:function(C,D){1&C&&(s.TgZ(0,"button",0),s.NdJ("click",function(){return D.onClick()}),s._UZ(1,"i",1),s.qZA()),2&C&&(s.xp6(1),s.Q6J("ngClass",s.VKq(1,h,D.icons.clipboard)))},directives:[l.o,u.mk],styles:[""]}),m})()},30982:(Ge,g,o)=>{"use strict";o.d(g,{M:()=>fe});var t=o(24751),e=o(95463),s=o(39749),a=o(74788),l=o(38549),u=o(60312),h=o(12057),_=o(41582),m=o(56310),b=o(87925),C=o(94276),D=o(82945),x=o(30839);function j(ne,he){1&ne&&a.GkF(0)}function H(ne,he){1&ne&&a.GkF(0)}function z(ne,he){if(1&ne&&(a.TgZ(0,"p"),a.tHW(1,21),a.ALo(2,"lowercase"),a._UZ(3,"strong"),a.N_p(),a.qZA()),2&ne){const ce=a.oxw(2);a.xp6(3),a.pQV(a.lcZ(2,2,ce.actionDescription))(ce.itemNames[0]),a.QtT(1)}}function U(ne,he){if(1&ne&&(a.TgZ(0,"li"),a.TgZ(1,"strong"),a._uU(2),a.qZA(),a.qZA()),2&ne){const ce=he.$implicit;a.xp6(2),a.Oqu(ce)}}function M(ne,he){if(1&ne&&(a.TgZ(0,"p"),a.SDv(1,22),a.ALo(2,"lowercase"),a.qZA(),a.TgZ(3,"ul"),a.YNc(4,U,3,1,"li",23),a.qZA()),2&ne){const ce=a.oxw(2);a.xp6(2),a.pQV(a.lcZ(2,2,ce.actionDescription)),a.QtT(1),a.xp6(2),a.Q6J("ngForOf",ce.itemNames)}}function I(ne,he){if(1&ne&&(a.TgZ(0,"span"),a.YNc(1,z,4,4,"p",10),a.YNc(2,M,5,4,"ng-template",null,20,a.W1O),a.qZA()),2&ne){const ce=a.MAs(3),Ae=a.oxw();a.xp6(1),a.Q6J("ngIf",1===Ae.itemNames.length)("ngIfElse",ce)}}function J(ne,he){if(1&ne&&(a.TgZ(0,"p"),a.SDv(1,24),a.ALo(2,"lowercase"),a.qZA()),2&ne){const ce=a.oxw();a.xp6(2),a.pQV(a.lcZ(2,2,ce.actionDescription))(ce.itemDescription),a.QtT(1)}}function Y(ne,he){1&ne&&a.GkF(0)}function ie(ne,he){if(1&ne&&(a._uU(0),a.ALo(1,"titlecase")),2&ne){const ce=a.oxw();a.AsE(" ",a.lcZ(1,2,ce.actionDescription)," ",ce.itemDescription,"\n")}}const oe=function(ne){return{form:ne}};let fe=(()=>{class ne{constructor(ce){this.activeModal=ce,this.actionDescription="delete"}ngOnInit(){const ce={confirmation:new t.NI(!1,[t.kI.requiredTrue])};if(this.childFormGroup&&(ce.child=this.childFormGroup),this.deletionForm=new e.d(ce),!this.submitAction&&!this.submitActionObservable)throw new Error("No submit action defined")}callSubmitAction(){this.submitActionObservable?this.submitActionObservable().subscribe({error:this.stopLoadingSpinner.bind(this),complete:this.hideModal.bind(this)}):this.submitAction()}hideModal(){this.activeModal.close()}stopLoadingSpinner(){this.deletionForm.setErrors({cdSubmitButton:!0})}}return ne.\u0275fac=function(ce){return new(ce||ne)(a.Y36(l.Kz))},ne.\u0275cmp=a.Xpm({type:ne,selectors:[["cd-deletion-modal"]],viewQuery:function(ce,Ae){if(1&ce&&a.Gf(s.w,7),2&ce){let Me;a.iGM(Me=a.CRH())&&(Ae.submitButton=Me.first)}},decls:24,vars:15,consts:function(){let he,ce,Ae,Me;return he="Yes, I am sure.",ce="Are you sure that you want to " + "\ufffd0\ufffd" + " " + "\ufffd#3\ufffd" + "" + "\ufffd1\ufffd" + "" + "\ufffd/#3\ufffd" + "?",Ae="Are you sure that you want to " + "\ufffd0\ufffd" + " the selected items?",Me="Are you sure that you want to " + "\ufffd0\ufffd" + " the selected " + "\ufffd1\ufffd" + "?",[[3,"modalRef"],["modal",""],[1,"modal-title"],[4,"ngTemplateOutlet"],[1,"modal-content"],["name","deletionForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"question"],[4,"ngIf","ngIfElse"],["noNames",""],[1,"form-group"],[1,"custom-control","custom-checkbox"],["type","checkbox","name","confirmation","id","confirmation","formControlName","confirmation","autofocus","",1,"custom-control-input"],["for","confirmation",1,"custom-control-label"],he,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["deletionHeading",""],["manyNames",""],ce,Ae,[4,"ngFor","ngForOf"],Me]},template:function(ce,Ae){if(1&ce&&(a.TgZ(0,"cd-modal",0,1),a.ynx(2,2),a.YNc(3,j,1,0,"ng-container",3),a.BQk(),a.ynx(4,4),a.TgZ(5,"form",5,6),a.TgZ(7,"div",7),a.YNc(8,H,1,0,"ng-container",8),a.TgZ(9,"div",9),a.YNc(10,I,4,2,"span",10),a.YNc(11,J,3,4,"ng-template",null,11,a.W1O),a.YNc(13,Y,1,0,"ng-container",8),a.TgZ(14,"div",12),a.TgZ(15,"div",13),a._UZ(16,"input",14),a.TgZ(17,"label",15),a.SDv(18,16),a.qZA(),a.qZA(),a.qZA(),a.qZA(),a.qZA(),a.TgZ(19,"div",17),a.TgZ(20,"cd-form-button-panel",18),a.NdJ("submitActionEvent",function(){return Ae.callSubmitAction()}),a.ALo(21,"titlecase"),a.qZA(),a.qZA(),a.qZA(),a.BQk(),a.qZA(),a.YNc(22,ie,2,4,"ng-template",null,19,a.W1O)),2&ce){const Me=a.MAs(12),Oe=a.MAs(23);a.Q6J("modalRef",Ae.activeModal),a.xp6(3),a.Q6J("ngTemplateOutlet",Oe),a.xp6(2),a.Q6J("formGroup",Ae.deletionForm),a.xp6(3),a.Q6J("ngTemplateOutlet",Ae.bodyTemplate)("ngTemplateOutletContext",Ae.bodyContext),a.xp6(2),a.Q6J("ngIf",Ae.itemNames)("ngIfElse",Me),a.xp6(3),a.Q6J("ngTemplateOutlet",Ae.childFormGroupTemplate)("ngTemplateOutletContext",a.VKq(13,oe,Ae.deletionForm)),a.xp6(7),a.Q6J("form",Ae.deletionForm)("submitText",a.lcZ(21,11,Ae.actionDescription)+" "+Ae.itemDescription)}},directives:[u.z,h.tP,t._Y,t.JL,t.sg,_.V,h.O5,m.P,b.o,t.Wl,C.b,t.JJ,t.u,D.U,x.p,h.sg],pipes:[h.rS,h.i8],styles:[".modal-body[_ngcontent-%COMP%] .question[_ngcontent-%COMP%]{margin-top:1em}.modal-body[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:bold}.modal-body[_ngcontent-%COMP%] .question[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%]{padding-top:7px}"]}),ne})()},52266:(Ge,g,o)=>{"use strict";o.d(g,{J:()=>_});var t=o(16738),e=o.n(t),s=o(74788),a=o(38549),l=o(24751),u=o(12057);function h(m,b){if(1&m){const C=s.EpF();s.TgZ(0,"div",0),s.TgZ(1,"ngb-timepicker",4),s.NdJ("ngModelChange",function(x){return s.CHM(C),s.oxw().time=x})("ngModelChange",function(){return s.CHM(C),s.oxw().onModelChange()}),s.qZA(),s.qZA()}if(2&m){const C=s.oxw();s.xp6(1),s.Q6J("seconds",C.hasSeconds)("ngModel",C.time)}}let _=(()=>{class m{constructor(C){this.calendar=C,this.hasSeconds=!0,this.hasTime=!0}ngOnInit(){var C;this.minDate=this.calendar.getToday(),this.format=this.hasTime?this.hasSeconds?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD HH:mm":"YYYY-MM-DD";let D=e()(null===(C=this.control)||void 0===C?void 0:C.value,this.format);(!D.isValid()||D.isBefore(e()()))&&(D=e()()),this.date={year:D.year(),month:D.month()+1,day:D.date()},this.time={hour:D.hour(),minute:D.minute(),second:D.second()},this.onModelChange()}onModelChange(){if(this.date){const C=Object.assign({},this.date,this.time);C.month--,setTimeout(()=>{this.control.setValue(e()(C).format(this.format))})}else setTimeout(()=>{this.control.setValue("")})}}return m.\u0275fac=function(C){return new(C||m)(s.Y36(a.vL))},m.\u0275cmp=s.Xpm({type:m,selectors:[["cd-date-time-picker"]],inputs:{control:"control",hasSeconds:"hasSeconds",hasTime:"hasTime"},decls:4,vars:3,consts:[[1,"d-flex","justify-content-center"],[3,"ngModel","minDate","ngModelChange"],["dp",""],["class","d-flex justify-content-center",4,"ngIf"],[3,"seconds","ngModel","ngModelChange"]],template:function(C,D){1&C&&(s.TgZ(0,"div",0),s.TgZ(1,"ngb-datepicker",1,2),s.NdJ("ngModelChange",function(j){return D.date=j})("ngModelChange",function(){return D.onModelChange()}),s.qZA(),s.qZA(),s.YNc(3,h,2,2,"div",3)),2&C&&(s.xp6(1),s.Q6J("ngModel",D.date)("minDate",D.minDate),s.xp6(2),s.Q6J("ngIf",D.hasTime))},directives:[a.VL,l.JJ,l.On,u.O5,a.Pm],styles:[""]}),m})()},30490:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>s});var t=o(72625),e=o(74788);let s=(()=>{class a{constructor(u){this.docService=u,this.docText="documentation"}ngOnInit(){this.noSubscribe?this.docUrl=this.docService.urlGenerator(this.section):this.docService.subscribeOnce(this.section,u=>{this.docUrl=u})}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(t.R))},a.\u0275cmp=e.Xpm({type:a,selectors:[["cd-doc"]],inputs:{section:"section",docText:"docText",noSubscribe:"noSubscribe"},decls:2,vars:2,consts:[["target","_blank",3,"href"]],template:function(u,h){1&u&&(e.TgZ(0,"a",0),e._uU(1),e.qZA()),2&u&&(e.s9C("href",h.docUrl,e.LSH),e.xp6(1),e.Oqu(h.docText))},styles:[""]}),a})()},30839:(Ge,g,o)=>{"use strict";o.d(g,{p:()=>_});var t=o(74788),e=o(79512),s=o(39749),a=o(12057),l=o(63285),u=o(13472);function h(m,b){if(1&m){const C=t.EpF();t.TgZ(0,"cd-submit-button",2),t.NdJ("submitAction",function(){return t.CHM(C),t.oxw().submitAction()}),t._uU(1),t.qZA()}if(2&m){const C=t.oxw();t.Q6J("disabled",C.disabled)("form",C.form),t.xp6(1),t.Oqu(C.submitText)}}let _=(()=>{class m{constructor(C,D,x){this.location=C,this.actionLabels=D,this.modalService=x,this.submitActionEvent=new t.vpe,this.backActionEvent=new t.vpe,this.showSubmit=!0,this.wrappingClass="",this.btnClass="",this.submitText=this.actionLabels.CREATE,this.cancelText=this.actionLabels.CANCEL,this.disabled=!1}submitAction(){this.submitActionEvent.emit()}backAction(){0===this.backActionEvent.observers.length?this.modalService.hasOpenModals()?this.modalService.dismissAll():this.location.back():this.backActionEvent.emit()}}return m.\u0275fac=function(C){return new(C||m)(t.Y36(a.Ye),t.Y36(e.p4),t.Y36(l.Z))},m.\u0275cmp=t.Xpm({type:m,selectors:[["cd-form-button-panel"]],viewQuery:function(C,D){if(1&C&&t.Gf(s.w,5),2&C){let x;t.iGM(x=t.CRH())&&(D.submitButton=x.first)}},inputs:{form:"form",showSubmit:"showSubmit",wrappingClass:"wrappingClass",btnClass:"btnClass",submitText:"submitText",cancelText:"cancelText",disabled:"disabled"},outputs:{submitActionEvent:"submitActionEvent",backActionEvent:"backActionEvent"},decls:3,vars:4,consts:[[1,"m-2",3,"name","backAction"],["data-cy","submitBtn",3,"disabled","form","submitAction",4,"ngIf"],["data-cy","submitBtn",3,"disabled","form","submitAction"]],template:function(C,D){1&C&&(t.TgZ(0,"div"),t.TgZ(1,"cd-back-button",0),t.NdJ("backAction",function(){return D.backAction()}),t.qZA(),t.YNc(2,h,2,3,"cd-submit-button",1),t.qZA()),2&C&&(t.Tol(D.wrappingClass),t.xp6(1),t.Q6J("name",D.cancelText),t.xp6(1),t.Q6J("ngIf",D.showSubmit))},directives:[u.W,a.O5,s.w],styles:[""]}),m})()},65683:(Ge,g,o)=>{"use strict";o.d(g,{X:()=>be});var t=o(24751),e=o(23815),s=o.n(e),a=o(47557),l=o(28211),u=o(74788),h=o(38549),_=o(62862),m=o(60312),b=o(12057),C=o(41582),D=o(30839),x=o(87925),j=o(94276),H=o(17932),z=o(60192);function U(ue,He){if(1&ue&&(u.ynx(0,10),u._uU(1),u.BQk()),2&ue){const $e=u.oxw();u.xp6(1),u.hij(" ",$e.titleText," ")}}function M(ue,He){if(1&ue&&(u.TgZ(0,"p"),u._uU(1),u.qZA()),2&ue){const $e=u.oxw();u.xp6(1),u.Oqu($e.message)}}const I=function(ue){return{required:ue}};function J(ue,He){if(1&ue&&(u.TgZ(0,"label",18),u._uU(1),u.qZA()),2&ue){const $e=u.oxw().$implicit;u.Q6J("ngClass",u.VKq(3,I,!0===(null==$e?null:$e.required)))("for",$e.name),u.xp6(1),u.hij(" ",$e.label," ")}}function Y(ue,He){if(1&ue&&u._UZ(0,"input",19),2&ue){const $e=u.oxw().$implicit;u.Q6J("type",$e.type)("id",$e.name)("name",$e.name)("formControlName",$e.name)}}function ie(ue,He){if(1&ue&&u._UZ(0,"input",20),2&ue){const $e=u.oxw().$implicit;u.Q6J("id",$e.name)("name",$e.name)("formControlName",$e.name)}}function oe(ue,He){if(1&ue&&(u.TgZ(0,"option",24),u._uU(1),u.qZA()),2&ue){const $e=u.oxw(2).$implicit;u.Q6J("ngValue",null),u.xp6(1),u.hij(" ",null==$e||null==$e.typeConfig?null:$e.typeConfig.placeholder," ")}}function fe(ue,He){if(1&ue&&(u.TgZ(0,"option",25),u._uU(1),u.qZA()),2&ue){const $e=He.$implicit;u.Q6J("value",$e.value),u.xp6(1),u.hij(" ",$e.text," ")}}function ne(ue,He){if(1&ue&&(u.TgZ(0,"select",21),u.YNc(1,oe,2,2,"option",22),u.YNc(2,fe,2,2,"option",23),u.qZA()),2&ue){const $e=u.oxw().$implicit;u.Q6J("id",$e.name)("formControlName",$e.name),u.xp6(1),u.Q6J("ngIf",null==$e||null==$e.typeConfig?null:$e.typeConfig.placeholder),u.xp6(1),u.Q6J("ngForOf",null==$e||null==$e.typeConfig?null:$e.typeConfig.options)}}function he(ue,He){if(1&ue&&u._UZ(0,"cd-select-badges",26),2&ue){const $e=u.oxw().$implicit;u.Q6J("id",$e.name)("data",$e.value)("customBadges",null==$e||null==$e.typeConfig?null:$e.typeConfig.customBadges)("options",null==$e||null==$e.typeConfig?null:$e.typeConfig.options)("messages",null==$e||null==$e.typeConfig?null:$e.typeConfig.messages)}}function ce(ue,He){if(1&ue&&(u.TgZ(0,"span",27),u._uU(1),u.qZA()),2&ue){const $e=u.oxw().$implicit,F=u.oxw();u.xp6(1),u.hij(" ",F.getError($e)," ")}}const Ae=function(ue,He){return{"cd-col-form-input":ue,"col-sm-12":He}},Me=function(){return["text","number"]};function Oe(ue,He){if(1&ue&&(u.ynx(0),u.TgZ(1,"div"),u.YNc(2,J,2,5,"label",11),u.TgZ(3,"div",12),u.YNc(4,Y,1,4,"input",13),u.YNc(5,ie,1,3,"input",14),u.YNc(6,ne,3,4,"select",15),u.YNc(7,he,1,5,"cd-select-badges",16),u.YNc(8,ce,2,1,"span",17),u.qZA(),u.qZA(),u.BQk()),2&ue){const $e=He.$implicit,F=u.oxw(),je=u.MAs(4);u.xp6(1),u.Gre("form-group row cd-",$e.name,"-form-group"),u.xp6(1),u.Q6J("ngIf",$e.label),u.xp6(1),u.Q6J("ngClass",u.WLB(10,Ae,$e.label,!$e.label)),u.xp6(1),u.Q6J("ngIf",u.DdM(13,Me).includes($e.type)),u.xp6(1),u.Q6J("ngIf","binary"===$e.type),u.xp6(1),u.Q6J("ngIf","select"===$e.type),u.xp6(1),u.Q6J("ngIf","select-badges"===$e.type),u.xp6(1),u.Q6J("ngIf",F.formGroup.showError($e.name,je))}}let be=(()=>{class ue{constructor($e,F,je,Et){this.activeModal=$e,this.formBuilder=F,this.formatter=je,this.dimlessBinaryPipe=Et}ngOnInit(){this.createForm()}createForm(){const $e={};this.fields.forEach(F=>{$e[F.name]=this.createFormControl(F)}),this.formGroup=this.formBuilder.group($e)}createFormControl($e){let F=[];return s().isBoolean($e.required)&&$e.required&&F.push(t.kI.required),$e.validators&&(F=F.concat($e.validators)),new t.NI(s().defaultTo("binary"===$e.type?this.dimlessBinaryPipe.transform($e.value):$e.value,null),{validators:F})}getError($e){const F=this.formGroup.get($e.name).errors;return Object.keys(F).map(Et=>this.getErrorMessage(Et,F[Et],$e.errors)).join("<br>")}getErrorMessage($e,F,je){if(je){const Et=je[$e];if(Et)return Et}return["binaryMin","binaryMax"].includes($e)?F():"required"===$e?"This field is required.":"An error occurred."}onSubmitForm($e){this.fields.filter(je=>"binary"===je.type).map(je=>je.name).forEach(je=>{const Et=$e[je];Et&&($e[je]=this.formatter.toBytes(Et))}),this.activeModal.close(),s().isFunction(this.onSubmit)&&this.onSubmit($e)}}return ue.\u0275fac=function($e){return new($e||ue)(u.Y36(h.Kz),u.Y36(_.O),u.Y36(l.H),u.Y36(a.$))},ue.\u0275cmp=u.Xpm({type:ue,selectors:[["cd-form-modal"]],decls:10,vars:7,consts:[[3,"modalRef"],["class","modal-title",4,"ngIf"],[1,"modal-content"],["novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[4,"ngIf"],[4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"modal-title"],["class","cd-col-form-label",3,"ngClass","for",4,"ngIf"],[3,"ngClass"],["class","form-control",3,"type","id","name","formControlName",4,"ngIf"],["type","text","class","form-control","cdDimlessBinary","",3,"id","name","formControlName",4,"ngIf"],["class","form-control",3,"id","formControlName",4,"ngIf"],[3,"id","data","customBadges","options","messages",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],[1,"cd-col-form-label",3,"ngClass","for"],[1,"form-control",3,"type","id","name","formControlName"],["type","text","cdDimlessBinary","",1,"form-control",3,"id","name","formControlName"],[1,"form-control",3,"id","formControlName"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],[3,"ngValue"],[3,"value"],[3,"id","data","customBadges","options","messages"],[1,"invalid-feedback"]],template:function($e,F){1&$e&&(u.TgZ(0,"cd-modal",0),u.YNc(1,U,2,1,"ng-container",1),u.ynx(2,2),u.TgZ(3,"form",3,4),u.TgZ(5,"div",5),u.YNc(6,M,2,1,"p",6),u.YNc(7,Oe,9,14,"ng-container",7),u.qZA(),u.TgZ(8,"div",8),u.TgZ(9,"cd-form-button-panel",9),u.NdJ("submitActionEvent",function(){return F.onSubmitForm(F.formGroup.value)}),u.qZA(),u.qZA(),u.qZA(),u.BQk(),u.qZA()),2&$e&&(u.Q6J("modalRef",F.activeModal),u.xp6(1),u.Q6J("ngIf",F.titleText),u.xp6(2),u.Q6J("formGroup",F.formGroup),u.xp6(3),u.Q6J("ngIf",F.message),u.xp6(1),u.Q6J("ngForOf",F.fields),u.xp6(2),u.Q6J("form",F.formGroup)("submitText",F.submitButtonText))},directives:[m.z,b.O5,t._Y,t.JL,t.sg,C.V,b.sg,D.p,b.mk,x.o,t.Fj,j.b,t.JJ,t.u,H.Q,t.EJ,t.YN,t.Kr,z.m],styles:[""]}),ue})()},76317:(Ge,g,o)=>{"use strict";o.d(g,{F:()=>U});var t=o(9837),e=o(65862),s=o(74788),a=o(91211),l=o(12057),u=o(8958),h=o(34501),_=o(30490),m=o(87925),b=o(24751);function C(M,I){1&M&&(s.TgZ(0,"cd-loading-panel"),s.SDv(1,2),s.qZA())}function D(M,I){1&M&&(s.TgZ(0,"cd-alert-panel",3),s.tHW(1,4),s._UZ(2,"cd-doc",5),s.N_p(),s.qZA())}function x(M,I){1&M&&(s.TgZ(0,"cd-alert-panel",3),s.tHW(1,6),s._UZ(2,"cd-doc",5),s.N_p(),s.qZA())}function j(M,I){if(1&M&&(s.TgZ(0,"option",19),s._uU(1),s.qZA()),2&M){const J=I.$implicit;s.Q6J("ngValue",J.value),s.xp6(1),s.hij("",J.name," ")}}const H=function(M){return[M]};function z(M,I){if(1&M){const J=s.EpF();s.ynx(0),s.TgZ(1,"div",7),s.TgZ(2,"div",8),s.TgZ(3,"div",9),s.TgZ(4,"label",10),s.SDv(5,11),s.qZA(),s.TgZ(6,"select",12),s.NdJ("ngModelChange",function(ie){return s.CHM(J),s.oxw().time=ie})("ngModelChange",function(ie){return s.CHM(J),s.oxw().onTimepickerChange(ie)}),s.YNc(7,j,2,2,"option",13),s.qZA(),s.TgZ(8,"button",14),s.NdJ("click",function(){return s.CHM(J),s.oxw().reset()}),s._UZ(9,"i",15),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(10,"div",7),s.TgZ(11,"div",8),s.TgZ(12,"div",16),s._UZ(13,"iframe",17,18),s.qZA(),s.qZA(),s.qZA(),s.BQk()}if(2&M){const J=s.oxw();s.xp6(6),s.Q6J("ngModel",J.time),s.xp6(1),s.Q6J("ngForOf",J.grafanaTimes),s.xp6(2),s.Q6J("ngClass",s.VKq(5,H,J.icons.undo)),s.xp6(4),s.Q6J("src",J.grafanaSrc,s.uOi)("ngClass",J.panelStyle)}}let U=(()=>{class M{constructor(J,Y){this.sanitizer=J,this.settingsService=Y,this.grafanaExist=!1,this.mode="&kiosk",this.datasource="Dashboard1",this.loading=!0,this.styles={},this.dashboardExist=!0,this.icons=e.P,this.DEFAULT_TIME="from=now-1h&to=now",this.grafanaTimes=[{name:"Last 5 minutes",value:"from=now-5m&to=now"},{name:"Last 15 minutes",value:"from=now-15m&to=now"},{name:"Last 30 minutes",value:"from=now-30m&to=now"},{name:"Last 1 hour (Default)",value:"from=now-1h&to=now"},{name:"Last 3 hours",value:"from=now-3h&to=now"},{name:"Last 6 hours",value:"from=now-6h&to=now"},{name:"Last 12 hours",value:"from=now-12h&to=now"},{name:"Last 24 hours",value:"from=now-24h&to=now"},{name:"Yesterday",value:"from=now-1d%2Fd&to=now-1d%2Fd"},{name:"Today so far",value:"from=now%2Fd&to=now"},{name:"Day before yesterday",value:"from=now-2d%2Fd&to=now-2d%2Fd"},{name:"Last 2 days",value:"from=now-2d&to=now"},{name:"This day last week",value:"from=now-7d%2Fd&to=now-7d%2Fd"},{name:"Previous week",value:"from=now-1w%2Fw&to=now-1w%2Fw"},{name:"This week so far",value:"from=now%2Fw&to=now"},{name:"Last 7 days",value:"from=now-7d&to=now"},{name:"Previous month",value:"from=now-1M%2FM&to=now-1M%2FM"},{name:"This month so far",value:"from=now%2FM&to=now"},{name:"Last 30 days",value:"from=now-30d&to=now"},{name:"Last 90 days",value:"from=now-90d&to=now"},{name:"Last 6 months",value:"from=now-6M&to=now"},{name:"Last 1 year",value:"from=now-1y&to=now"},{name:"Previous year",value:"from=now-1y%2Fy&to=now-1y%2Fy"},{name:"This year so far",value:"from=now%2Fy&to=now"},{name:"Last 2 years",value:"from=now-2y&to=now"},{name:"Last 5 years",value:"from=now-5y&to=now"}]}ngOnInit(){this.time=this.DEFAULT_TIME,this.styles={one:"grafana_one",two:"grafana_two",three:"grafana_three",four:"grafana_four"},this.settingsService.ifSettingConfigured("api/grafana/url",J=>{this.grafanaExist=!0,this.loading=!1,this.baseUrl=J+"/d/",this.getFrame()}),this.panelStyle=this.styles[this.grafanaStyle]}getFrame(){this.settingsService.validateGrafanaDashboardUrl(this.uid).subscribe(J=>this.dashboardExist=200===J),this.url=this.baseUrl+this.uid+"/"+this.grafanaPath+`&refresh=2s&var-datasource=${this.datasource}`+this.mode+"&"+this.time,this.grafanaSrc=this.sanitizer.bypassSecurityTrustResourceUrl(this.url)}onTimepickerChange(){this.grafanaExist&&this.getFrame()}reset(){this.time=this.DEFAULT_TIME,this.grafanaExist&&this.getFrame()}ngOnChanges(){this.grafanaExist&&this.getFrame()}}return M.\u0275fac=function(J){return new(J||M)(s.Y36(a.H7),s.Y36(t.g))},M.\u0275cmp=s.Xpm({type:M,selectors:[["cd-grafana"]],inputs:{grafanaPath:"grafanaPath",grafanaStyle:"grafanaStyle",uid:"uid"},features:[s.TTD],decls:4,vars:4,consts:function(){let I,J,Y,ie,oe;return I="Loading panel data...",J="Please consult the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " on how to configure and enable the monitoring functionality.",Y="Grafana Dashboard doesn't exist. Please refer to " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " on how to add dashboards to Grafana.",ie="Grafana Time Picker",oe="Reset Settings",[[4,"ngIf"],["type","info",4,"ngIf"],I,["type","info"],J,["section","grafana"],Y,[1,"row"],[1,"col"],[1,"form-inline","timepicker"],["for","timepicker",1,"ml-1","my-1"],ie,["id","timepicker","name","timepicker",1,"custom-select","my-1","mx-3",3,"ngModel","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],["title",oe,1,"btn","btn-light","my-1",3,"click"],[3,"ngClass"],[1,"grafana-container"],["id","iframe","frameborder","0","scrolling","no",1,"grafana",3,"src","ngClass"],["iframe",""],[3,"ngValue"]]},template:function(J,Y){1&J&&(s.YNc(0,C,2,0,"cd-loading-panel",0),s.YNc(1,D,3,0,"cd-alert-panel",1),s.YNc(2,x,3,0,"cd-alert-panel",1),s.YNc(3,z,15,7,"ng-container",0)),2&J&&(s.Q6J("ngIf",Y.loading&&Y.grafanaExist),s.xp6(1),s.Q6J("ngIf",!Y.grafanaExist),s.xp6(1),s.Q6J("ngIf",!Y.dashboardExist),s.xp6(1),s.Q6J("ngIf",Y.grafanaExist&&Y.dashboardExist))},directives:[l.O5,u.b,h.G,_.K,m.o,b.EJ,b.JJ,b.On,l.sg,l.mk,b.YN,b.Kr],styles:[".grafana[_ngcontent-%COMP%]{height:600px;width:100%;z-index:0}.grafana_one[_ngcontent-%COMP%]{height:400px}.grafana_two[_ngcontent-%COMP%]{height:750px}.grafana_three[_ngcontent-%COMP%]{height:900px}.grafana_four[_ngcontent-%COMP%]{height:1160px}.timepicker[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:700}.dropdown-menu[_ngcontent-%COMP%]{left:auto;right:20px;top:20px}"]}),M})()},18372:(Ge,g,o)=>{"use strict";o.d(g,{S:()=>_});var t=o(65862),e=o(74788),s=o(12057),a=o(38549);function l(m,b){if(1&m&&(e._UZ(0,"div",2),e.Hsn(1)),2&m){const C=e.oxw();e.Tol(C.class),e.Q6J("innerHtml",C.html,e.oJD)}}const u=function(m){return[m]},h=["*"];let _=(()=>{class m{constructor(){this.icons=t.P}}return m.\u0275fac=function(C){return new(C||m)},m.\u0275cmp=e.Xpm({type:m,selectors:[["cd-helper"]],inputs:{class:"class",html:"html"},ngContentSelectors:h,decls:3,vars:4,consts:[["popoverTpl",""],["aria-hidden","true",3,"ngClass","ngbPopover","click"],[3,"innerHtml"]],template:function(C,D){if(1&C&&(e.F$t(),e.YNc(0,l,2,3,"ng-template",null,0,e.W1O),e.TgZ(2,"i",1),e.NdJ("click",function(j){return j.preventDefault()}),e.qZA()),2&C){const x=e.MAs(1);e.xp6(2),e.Q6J("ngClass",e.VKq(2,u,D.icons.questionCircle))("ngbPopover",x)}},directives:[s.mk,a.o8],styles:["i[_ngcontent-%COMP%]{color:#2b99a8;cursor:pointer;padding-left:4px}"]}),m})()},8958:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>h});var t=o(65862),e=o(74788),s=o(38549),a=o(12057);const l=function(_,m){return[_,m]},u=["*"];let h=(()=>{class _{constructor(){this.icons=t.P}}return _.\u0275fac=function(b){return new(b||_)},_.\u0275cmp=e.Xpm({type:_,selectors:[["cd-loading-panel"]],ngContentSelectors:u,decls:4,vars:5,consts:[["type","info",3,"dismissible"],["aria-hidden","true",1,"mr-2",3,"ngClass"]],template:function(b,C){1&b&&(e.F$t(),e.TgZ(0,"ngb-alert",0),e.TgZ(1,"strong"),e._UZ(2,"i",1),e.qZA(),e.Hsn(3),e.qZA()),2&b&&(e.Q6J("dismissible",!1),e.xp6(2),e.Q6J("ngClass",e.WLB(2,l,C.icons.spinner,C.icons.spin)))},directives:[s.xm,a.mk],styles:[""]}),_})()},60312:(Ge,g,o)=>{"use strict";o.d(g,{z:()=>h});var t=o(74788),e=o(6283),s=o(12057),a=o(87925);const l=[[["",8,"modal-title"]],[["",8,"modal-content"]]],u=[".modal-title",".modal-content"];let h=(()=>{class _{constructor(b){this.router=b,this.hide=new t.vpe}close(){var b;this.pageURL?this.router.navigate([this.pageURL,{outlets:{modal:null}}]):null===(b=this.modalRef)||void 0===b||b.close(),this.hide.emit()}}return _.\u0275fac=function(b){return new(b||_)(t.Y36(e.F0))},_.\u0275cmp=t.Xpm({type:_,selectors:[["cd-modal"]],inputs:{modalRef:"modalRef",pageURL:"pageURL"},outputs:{hide:"hide"},ngContentSelectors:u,decls:10,vars:2,consts:[[3,"ngClass"],[1,"modal-content"],[1,"modal-header"],[1,"modal-title","float-left"],["type","button","aria-label","Close",1,"close","float-right",3,"click"],["aria-hidden","true"]],template:function(b,C){1&b&&(t.F$t(l),t.TgZ(0,"div",0),t.TgZ(1,"div",0),t.TgZ(2,"div",1),t.TgZ(3,"div",2),t.TgZ(4,"h4",3),t.Hsn(5),t.qZA(),t.TgZ(6,"button",4),t.NdJ("click",function(){return C.close()}),t.TgZ(7,"span",5),t._uU(8,"\xd7"),t.qZA(),t.qZA(),t.qZA(),t.Hsn(9,1),t.qZA(),t.qZA(),t.qZA()),2&b&&(t.Q6J("ngClass",C.pageURL?"modal":""),t.xp6(1),t.Q6J("ngClass",C.pageURL?"modal-dialog":""))},directives:[s.mk,a.o],styles:[".modal-header[_ngcontent-%COMP%]{background-color:#e9ecef;border-bottom:1px solid #ced4da;border-radius:5px 5px 0 0} cd-modal .modal-footer{background-color:#e9ecef;border-bottom:1px solid #ced4da;border-radius:0 0 5px 5px} cd-modal .modal-body{max-height:70vh;overflow-x:hidden;overflow-y:auto}button.close[_ngcontent-%COMP%]{outline:none}"]}),_})()},60192:(Ge,g,o)=>{"use strict";o.d(g,{m:()=>m});var t=o(74788),e=o(65862),s=o(7022),a=o(39092),l=o(12057);const u=["cdSelect"],h=function(b){return[b]};function _(b,C){if(1&b){const D=t.EpF();t.TgZ(0,"span"),t.TgZ(1,"span",4),t.TgZ(2,"span",5),t._uU(3),t.qZA(),t.TgZ(4,"a",6),t.NdJ("click",function(){const H=t.CHM(D).$implicit;return t.oxw(),t.MAs(1).removeItem(H)}),t._UZ(5,"i",7),t.qZA(),t.qZA(),t.qZA()}if(2&b){const D=C.$implicit,x=t.oxw();t.xp6(3),t.Oqu(D),t.xp6(2),t.Q6J("ngClass",t.VKq(2,h,x.icons.destroy))}}let m=(()=>{class b{constructor(){this.data=[],this.options=[],this.messages=new s.a({}),this.customBadges=!1,this.customBadgeValidators=[],this.selection=new t.vpe,this.icons=e.P}}return b.\u0275fac=function(D){return new(D||b)},b.\u0275cmp=t.Xpm({type:b,selectors:[["cd-select-badges"]],viewQuery:function(D,x){if(1&D&&t.Gf(u,7),2&D){let j;t.iGM(j=t.CRH())&&(x.cdSelect=j.first)}},inputs:{data:"data",options:"options",messages:"messages",selectionLimit:"selectionLimit",customBadges:"customBadges",customBadgeValidators:"customBadgeValidators"},outputs:{selection:"selection"},decls:4,vars:10,consts:[["elemClass","mr-2 select-menu-edit",3,"data","options","messages","selectionLimit","customBadges","customBadgeValidators","selection"],["cdSelect",""],[3,"ngClass"],[4,"ngFor","ngForOf"],[1,"badge","badge-dark","mr-2"],[1,"mr-2"],[1,"badge-remove",3,"click"],["aria-hidden","true",3,"ngClass"]],template:function(D,x){1&D&&(t.TgZ(0,"cd-select",0,1),t.NdJ("selection",function(H){return x.selection.emit(H)}),t._UZ(2,"i",2),t.qZA(),t.YNc(3,_,6,4,"span",3)),2&D&&(t.Q6J("data",x.data)("options",x.options)("messages",x.messages)("selectionLimit",x.selectionLimit)("customBadges",x.customBadges)("customBadgeValidators",x.customBadgeValidators),t.xp6(2),t.Q6J("ngClass",t.VKq(8,h,x.icons.edit)),t.xp6(1),t.Q6J("ngForOf",x.data))},directives:[a.H,l.mk,l.sg],styles:[".badge-remove[_ngcontent-%COMP%]{color:#fff}i.fa-pencil[_ngcontent-%COMP%]{font-size:1.1rem}"]}),b})()},7022:(Ge,g,o)=>{"use strict";o.d(g,{a:()=>s});var t=o(23815),e=o.n(t);class s{constructor(l){this.customValidations={},this.empty="No items selected.",this.selectionLimit={tooltip:"Deselect item to select again",text:"Selection limit reached"},this.filter="Filter tags",this.add="Add badge",this.noOptions="There are no items available.",e().merge(this,l)}}},14745:(Ge,g,o)=>{"use strict";o.d(g,{$:()=>t});class t{constructor(s,a,l,u=!0){this.selected=s,this.name=a,this.description=l,this.enabled=u}}},39092:(Ge,g,o)=>{"use strict";o.d(g,{H:()=>Me});var t=o(74788),e=o(24751),s=o(23815),a=o.n(s),l=o(65862),u=o(95463),h=o(7022),_=o(14745),m=o(12057),b=o(41582),C=o(87925),D=o(94276),x=o(38549);function j(Oe,be){if(1&Oe&&(t.TgZ(0,"span",12),t._uU(1),t.qZA()),2&Oe){const ue=t.oxw().$implicit,He=t.oxw(2);t.xp6(1),t.hij(" ",He.messages.customValidations[ue]," ")}}function H(Oe,be){if(1&Oe&&(t.ynx(0),t.YNc(1,j,2,1,"span",11),t.BQk()),2&Oe){const ue=be.$implicit;t.oxw();const He=t.MAs(1),$e=t.oxw();t.xp6(1),t.Q6J("ngIf",$e.form.showError("filter",He)&&$e.filter.hasError(ue))}}const z=function(Oe){return[Oe]};function U(Oe,be){if(1&Oe&&t._UZ(0,"i",18),2&Oe){const ue=t.oxw(3);t.Q6J("ngClass",t.VKq(1,z,ue.icons.check))}}function M(Oe,be){if(1&Oe&&(t.ynx(0),t._UZ(1,"br"),t.TgZ(2,"small",19),t._uU(3),t.qZA(),t.BQk()),2&Oe){const ue=t.oxw().$implicit;t.xp6(3),t.hij(" ",ue.description,"\xa0 ")}}const I=function(Oe){return{"help-block disabled":Oe}};function J(Oe,be){if(1&Oe){const ue=t.EpF();t.TgZ(0,"div",13),t.NdJ("click",function(){const F=t.CHM(ue).$implicit;return t.oxw(2).triggerSelection(F)}),t.TgZ(1,"div",14),t.YNc(2,U,1,3,"i",15),t._uU(3," \xa0 "),t.qZA(),t.TgZ(4,"div",16),t._uU(5),t.YNc(6,M,4,1,"ng-container",17),t.qZA(),t.qZA()}if(2&Oe){const ue=be.$implicit,He=t.oxw(2);t.Q6J("ngClass",t.VKq(4,I,!(He.data.length!==He.selectionLimit&&ue.enabled||ue.selected))),t.xp6(2),t.Q6J("ngIf",ue.selected),t.xp6(3),t.hij(" ",ue.name," "),t.xp6(1),t.Q6J("ngIf",ue.description)}}function Y(Oe,be){if(1&Oe){const ue=t.EpF();t.TgZ(0,"div",20),t.NdJ("click",function(){return t.CHM(ue),t.oxw(2).addCustomOption()}),t.TgZ(1,"div",14),t._UZ(2,"i",18),t._uU(3," \xa0 "),t.qZA(),t.TgZ(4,"div",16),t._uU(5),t.qZA(),t.qZA()}if(2&Oe){const ue=t.oxw(2);t.xp6(2),t.Q6J("ngClass",t.VKq(3,z,ue.icons.tag)),t.xp6(3),t.AsE(" ",ue.messages.add," '",ue.filter.value,"' ")}}function ie(Oe,be){if(1&Oe&&(t.TgZ(0,"span",23),t._uU(1),t.qZA()),2&Oe){const ue=t.oxw(3);t.Q6J("ngbTooltip",ue.messages.selectionLimit.tooltip),t.xp6(1),t.hij(" ",ue.messages.selectionLimit.text," ")}}function oe(Oe,be){if(1&Oe&&(t.TgZ(0,"div",21),t.YNc(1,ie,2,2,"span",22),t.qZA()),2&Oe){const ue=t.oxw(2);t.xp6(1),t.Q6J("ngIf",ue.data.length===ue.selectionLimit)}}function fe(Oe,be){if(1&Oe){const ue=t.EpF();t.TgZ(0,"form",4,5),t.TgZ(2,"div"),t.TgZ(3,"input",6),t.NdJ("keyup",function($e){t.CHM(ue);const F=t.oxw();return 13==$e.keyCode?F.selectOption():F.updateFilter()}),t.qZA(),t.YNc(4,H,2,1,"ng-container",7),t.qZA(),t.qZA(),t.YNc(5,J,7,6,"div",8),t.YNc(6,Y,6,5,"div",9),t.YNc(7,oe,2,1,"div",10)}if(2&Oe){const ue=t.oxw();t.Q6J("formGroup",ue.form),t.xp6(3),t.Q6J("placeholder",ue.messages.filter),t.xp6(1),t.Q6J("ngForOf",ue.Object.keys(ue.messages.customValidations)),t.xp6(1),t.Q6J("ngForOf",ue.filteredOptions),t.xp6(1),t.Q6J("ngIf",ue.isCreatable()),t.xp6(1),t.Q6J("ngIf",ue.data.length===ue.selectionLimit)}}function ne(Oe,be){if(1&Oe&&(t.TgZ(0,"a",24),t.Hsn(1),t.qZA()),2&Oe){const ue=t.oxw(),He=t.MAs(1);t.Q6J("ngClass",ue.elemClass)("ngbPopover",He)}}function he(Oe,be){if(1&Oe&&(t.TgZ(0,"span",25),t._uU(1),t.qZA()),2&Oe){const ue=t.oxw();t.xp6(1),t.hij(" ",ue.messages.empty,"\n")}}function ce(Oe,be){if(1&Oe&&(t.TgZ(0,"span",25),t._uU(1),t.qZA()),2&Oe){const ue=t.oxw();t.xp6(1),t.hij(" ",ue.messages.noOptions,"\n")}}const Ae=["*"];let Me=(()=>{class Oe{constructor(){this.data=[],this.options=[],this.messages=new h.a({}),this.customBadges=!1,this.customBadgeValidators=[],this.selection=new t.vpe,this.Object=Object,this.filteredOptions=[],this.icons=l.P}ngOnInit(){this.initFilter(),this.data.length>0&&this.initMissingOptions(),this.options=a().sortBy(this.options,["name"]),this.updateOptions()}initFilter(){this.filter=new e.NI("",{validators:this.customBadgeValidators}),this.form=new u.d({filter:this.filter}),this.filteredOptions=[...this.options||[]]}initMissingOptions(){const ue=this.options.map($e=>$e.name);this.data.filter($e=>-1===ue.indexOf($e)).forEach($e=>this.addOption($e)),this.forceOptionsToReflectData()}addOption(ue){this.options.push(new _.$(!1,ue,"")),this.options=a().sortBy(this.options,["name"]),this.triggerSelection(this.options.find(He=>He.name===ue))}triggerSelection(ue){!ue||this.selectionLimit&&!ue.selected&&this.data.length>=this.selectionLimit||(ue.selected=!ue.selected,this.updateOptions(),this.selection.emit({option:ue}))}updateOptions(){this.data.splice(0,this.data.length),this.options.forEach(ue=>{ue.selected&&this.data.push(ue.name)}),this.updateFilter()}updateFilter(){this.filteredOptions=this.options.filter(ue=>ue.name.includes(this.filter.value))}forceOptionsToReflectData(){this.options.forEach(ue=>{-1!==this.data.indexOf(ue.name)&&(ue.selected=!0)})}ngOnChanges(){this.filter&&this.updateFilter(),this.options&&this.data&&0!==this.data.length&&this.forceOptionsToReflectData()}selectOption(){0===this.filteredOptions.length?this.addCustomOption():(this.triggerSelection(this.filteredOptions[0]),this.resetFilter())}addCustomOption(){!this.isCreatable()||(this.addOption(this.filter.value),this.resetFilter())}isCreatable(){return this.customBadges&&this.filter.valid&&this.filter.value.length>0&&this.filteredOptions.every(ue=>ue.name!==this.filter.value)}resetFilter(){this.filter.setValue(""),this.updateFilter()}removeItem(ue){this.triggerSelection(this.options.find(He=>He.name===ue&&He.selected))}}return Oe.\u0275fac=function(ue){return new(ue||Oe)},Oe.\u0275cmp=t.Xpm({type:Oe,selectors:[["cd-select"]],inputs:{elemClass:"elemClass",data:"data",options:"options",messages:"messages",selectionLimit:"selectionLimit",customBadges:"customBadges",customBadgeValidators:"customBadgeValidators"},outputs:{selection:"selection"},features:[t.TTD],ngContentSelectors:Ae,decls:5,vars:3,consts:[["popTemplate",""],["class","select-menu-edit float-left","data-testid","select-menu-edit",3,"ngClass","ngbPopover",4,"ngIf"],["class","form-text text-muted float-left",4,"ngIf"],["class","form-text text-muted float-left",4,"ngIf"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],["type","text","formControlName","filter",1,"form-control","text-center",3,"placeholder","keyup"],[4,"ngFor","ngForOf"],["class","select-menu-item",3,"ngClass","click",4,"ngFor","ngForOf"],["class","select-menu-item",3,"click",4,"ngIf"],["class","is-invalid",4,"ngIf"],["class","invalid-feedback text-center d-block",4,"ngIf"],[1,"invalid-feedback","text-center","d-block"],[1,"select-menu-item",3,"ngClass","click"],[1,"select-menu-item-icon"],["aria-hidden","true",3,"ngClass",4,"ngIf"],[1,"select-menu-item-content"],[4,"ngIf"],["aria-hidden","true",3,"ngClass"],[1,"form-text","text-muted"],[1,"select-menu-item",3,"click"],[1,"is-invalid"],["class","form-text text-muted text-center text-warning",3,"ngbTooltip",4,"ngIf"],[1,"form-text","text-muted","text-center","text-warning",3,"ngbTooltip"],["data-testid","select-menu-edit",1,"select-menu-edit","float-left",3,"ngClass","ngbPopover"],[1,"form-text","text-muted","float-left"]],template:function(ue,He){1&ue&&(t.F$t(),t.YNc(0,fe,8,6,"ng-template",null,0,t.W1O),t.YNc(2,ne,2,2,"a",1),t.YNc(3,he,2,1,"span",2),t.YNc(4,ce,2,1,"span",3)),2&ue&&(t.xp6(2),t.Q6J("ngIf",He.customBadges||He.options.length>0),t.xp6(1),t.Q6J("ngIf",0===He.data.length&&!(!He.customBadges&&0===He.options.length)),t.xp6(1),t.Q6J("ngIf",!He.customBadges&&0===He.options.length))},directives:[m.O5,e._Y,e.JL,e.sg,b.V,C.o,e.Fj,D.b,e.JJ,e.u,m.sg,m.mk,x._L,x.o8],styles:[".select-menu-item[_ngcontent-%COMP%]{border-bottom:1px solid rgba(0,0,0,.09);cursor:pointer;display:block;font-size:1rem}.select-menu-item[_ngcontent-%COMP%]:hover{background-color:#e9ecef}.select-menu-item-icon[_ngcontent-%COMP%]{float:left;padding:.5em;width:3em}.select-menu-item-content[_ngcontent-%COMP%]{padding:.5em}.select-menu-item-content[_ngcontent-%COMP%] .form-text[_ngcontent-%COMP%]{display:flex}"]}),Oe})()},76446:(Ge,g,o)=>{"use strict";o.d(g,{l:()=>_});var t=o(87311),e=o(47557),s=o(74788),a=o(12057),l=o(7194);const u=["sparkCanvas"],h=["sparkTooltip"];let _=(()=>{class m{constructor(C){this.dimlessBinaryPipe=C,this.style={height:"30px",width:"100px"},this.colors=[{backgroundColor:"rgba(40,140,234,0.2)",borderColor:"rgba(40,140,234,1)",pointBackgroundColor:"rgba(40,140,234,1)",pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:"rgba(40,140,234,0.8)"}],this.options={animation:{duration:0},responsive:!0,maintainAspectRatio:!1,legend:{display:!1},elements:{line:{borderWidth:1}},tooltips:{enabled:!1,mode:"index",intersect:!1,custom:void 0,callbacks:{label:D=>this.isBinary?this.dimlessBinaryPipe.transform(D.yLabel):D.yLabel,title:()=>""}},scales:{yAxes:[{display:!1}],xAxes:[{display:!1}]}},this.datasets=[{data:[]}],this.labels=[]}ngOnInit(){const x=new t.h(this.chartCanvasRef,this.chartTooltipRef,(j,H)=>H+j.caretX+"px",j=>j.caretY-j.height-j.yPadding-5+"px");x.customColors={backgroundColor:this.colors[0].pointBackgroundColor,borderColor:this.colors[0].pointBorderColor},this.options.tooltips.custom=j=>{x.customTooltips(j)}}ngOnChanges(C){this.datasets[0].data=C.data.currentValue,this.labels=[...Array(C.data.currentValue.length)]}}return m.\u0275fac=function(C){return new(C||m)(s.Y36(e.$))},m.\u0275cmp=s.Xpm({type:m,selectors:[["cd-sparkline"]],viewQuery:function(C,D){if(1&C&&(s.Gf(u,7),s.Gf(h,7)),2&C){let x;s.iGM(x=s.CRH())&&(D.chartCanvasRef=x.first),s.iGM(x=s.CRH())&&(D.chartTooltipRef=x.first)}},inputs:{data:"data",style:"style",isBinary:"isBinary"},features:[s.TTD],decls:6,vars:6,consts:[[1,"chart-container",3,"ngStyle"],["baseChart","",3,"labels","datasets","options","colors","chartType"],["sparkCanvas",""],[1,"chartjs-tooltip"],["sparkTooltip",""]],template:function(C,D){1&C&&(s.TgZ(0,"div",0),s._UZ(1,"canvas",1,2),s.TgZ(3,"div",3,4),s._UZ(5,"table"),s.qZA(),s.qZA()),2&C&&(s.Q6J("ngStyle",D.style),s.xp6(1),s.Q6J("labels",D.labels)("datasets",D.datasets)("options",D.options)("colors",D.colors)("chartType","line"))},directives:[a.PC,l.jh],styles:['.chart-container[_ngcontent-%COMP%]{cursor:pointer;margin:auto;overflow:visible;position:absolute}canvas[_ngcontent-%COMP%]{user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-family:"Helvetica Neue","Helvetica","Arial",sans-serif!important;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%);transition:all .1s ease}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]:after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]:after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]:after{border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px;content:" ";left:50%;margin-left:-5px;position:absolute;top:100%} .chartjs-tooltip-key{display:inline-block;height:10px;margin-right:10px;width:10px}.chart-container[_ngcontent-%COMP%]{position:static!important}']}),m})()},39749:(Ge,g,o)=>{"use strict";o.d(g,{w:()=>C});var t=o(74788),e=o(24751),s=o(23815),a=o.n(s),l=o(65862),u=o(87925),h=o(12057);const _=function(D,x){return[D,x]};function m(D,x){if(1&D&&(t.TgZ(0,"span"),t._UZ(1,"i",2),t.qZA()),2&D){const j=t.oxw();t.xp6(1),t.Q6J("ngClass",t.WLB(1,_,j.icons.spinner,j.icons.spin))}}const b=["*"];let C=(()=>{class D{constructor(j){this.elRef=j,this.type="submit",this.disabled=!1,this.submitAction=new t.vpe,this.loading=!1,this.icons=l.P}ngOnInit(){this.form.statusChanges.subscribe(()=>{a().has(this.form.errors,"cdSubmitButton")&&(this.loading=!1,a().unset(this.form.errors,"cdSubmitButton"),this.form instanceof e.TO&&this.form.updateValueAndValidity())})}submit(j){this.focusButton(),this.form instanceof e.sg&&this.form.onSubmit(j),this.form.invalid?this.focusInvalid():(this.loading=!0,this.submitAction.emit())}focusButton(){this.elRef.nativeElement.offsetParent.querySelector(`button[type="${this.type}"]`).focus()}focusInvalid(){const j=this.elRef.nativeElement.offsetParent.querySelector("input.ng-invalid, select.ng-invalid");j&&j.focus()}}return D.\u0275fac=function(j){return new(j||D)(t.Y36(t.SBq))},D.\u0275cmp=t.Xpm({type:D,selectors:[["cd-submit-button"]],inputs:{form:"form",type:"type",disabled:"disabled",btnClass:"btnClass"},outputs:{submitAction:"submitAction"},ngContentSelectors:b,decls:3,vars:4,consts:[[1,"btn","btn-accent","tc_submitButton",3,"type","ngClass","disabled","click"],[4,"ngIf"],[3,"ngClass"]],template:function(j,H){1&j&&(t.F$t(),t.TgZ(0,"button",0),t.NdJ("click",function(U){return H.submit(U)}),t.Hsn(1),t.YNc(2,m,2,4,"span",1),t.qZA()),2&j&&(t.Q6J("type",H.type)("ngClass",H.btnClass)("disabled",H.loading||H.disabled),t.xp6(2),t.Q6J("ngIf",H.loading))},directives:[u.o,h.mk,h.O5],styles:[""]}),D})()},60251:(Ge,g,o)=>{"use strict";o.d(g,{O:()=>m});var t=o(74788),e=o(38549),s=o(12057),a=o(47557),l=o(66369);function u(b,C){if(1&b&&(t.TgZ(0,"tr"),t.TgZ(1,"td",4),t._uU(2,"Free:\xa0"),t.qZA(),t.TgZ(3,"td",7),t.TgZ(4,"strong"),t._uU(5),t.ALo(6,"dimlessBinary"),t.ALo(7,"dimless"),t.qZA(),t.qZA(),t.qZA()),2&b){const D=t.oxw(2);t.xp6(5),t.Oqu(D.isBinary?t.lcZ(6,1,D.total-D.used):t.lcZ(7,3,D.total-D.used))}}function h(b,C){if(1&b&&(t.TgZ(0,"table"),t.TgZ(1,"tr"),t.TgZ(2,"td",4),t._uU(3,"Used:\xa0"),t.qZA(),t.TgZ(4,"td",5),t.TgZ(5,"strong"),t._uU(6),t.ALo(7,"dimlessBinary"),t.ALo(8,"dimless"),t.qZA(),t.qZA(),t.qZA(),t.YNc(9,u,8,5,"tr",6),t.qZA()),2&b){const D=t.oxw();t.xp6(6),t.hij(" ",D.isBinary?t.lcZ(7,2,D.used):t.lcZ(8,4,D.used),""),t.xp6(3),t.Q6J("ngIf",D.calculatePerc)}}const _=function(b,C){return{"bg-warning":b,"bg-danger":C}};let m=(()=>{class b{constructor(){this.isBinary=!0,this.decimals=0,this.calculatePerc=!0}ngOnChanges(){this.calculatePerc?(this.usedPercentage=this.total>0?this.used/this.total*100:0,this.freePercentage=100-this.usedPercentage):this.used?(this.used=this.used.slice(0,-1),this.usedPercentage=Number(this.used),this.freePercentage=100-this.usedPercentage):this.usedPercentage=0}}return b.\u0275fac=function(D){return new(D||b)},b.\u0275cmp=t.Xpm({type:b,selectors:[["cd-usage-bar"]],inputs:{total:"total",used:"used",warningThreshold:"warningThreshold",errorThreshold:"errorThreshold",isBinary:"isBinary",decimals:"decimals",calculatePerc:"calculatePerc"},features:[t.TTD],decls:8,vars:13,consts:[["usageTooltipTpl",""],["data-placement","left",1,"progress",3,"ngbTooltip"],["role","progressbar",1,"progress-bar","bg-info",3,"ngClass"],["role","progressbar",1,"progress-bar","bg-freespace"],[1,"text-left"],[1,"text-right"],[4,"ngIf"],[1,"'text-right"]],template:function(D,x){if(1&D&&(t.YNc(0,h,10,6,"ng-template",null,0,t.W1O),t.TgZ(2,"div",1),t.TgZ(3,"div",2),t.TgZ(4,"span"),t._uU(5),t.ALo(6,"number"),t.qZA(),t.qZA(),t._UZ(7,"div",3),t.qZA()),2&D){const j=t.MAs(1);t.xp6(2),t.Q6J("ngbTooltip",j),t.xp6(1),t.Udp("width",x.usedPercentage+"%"),t.Q6J("ngClass",t.WLB(10,_,x.usedPercentage/100>=x.warningThreshold,x.usedPercentage/100>=x.errorThreshold)),t.xp6(2),t.hij("",t.xi3(6,7,x.usedPercentage,"1.0-"+x.decimals),"%"),t.xp6(2),t.Udp("width",x.freePercentage+"%")}},directives:[e._L,s.mk,s.O5],pipes:[s.JJ,a.$,l.n],styles:[".bg-info[_ngcontent-%COMP%]{background-color:#2b99a8!important}.bg-warning[_ngcontent-%COMP%]{background-color:#ffc200!important}.bg-danger[_ngcontent-%COMP%]{background-color:#ef5c55!important}.bg-freespace[_ngcontent-%COMP%]{background-color:#ced4da!important}.progress[_ngcontent-%COMP%]{height:20px;margin-bottom:0;position:relative}.progress[_ngcontent-%COMP%] div.progress-bar[_ngcontent-%COMP%]{position:static}.progress[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#000;display:block;font-weight:normal;position:absolute;width:100%}"]}),b})()},79512:(Ge,g,o)=>{"use strict";o.d(g,{$x:()=>s,MQ:()=>a,Qn:()=>l,p4:()=>u,aX:()=>h});var t=o(92340),e=o(74788);class s{}s.organization="ceph",s.projectName="Ceph Dashboard",s.license="Free software (LGPL 2.1).",s.copyright="Copyright(c) "+t.N.year+" Ceph contributors.",s.cephLogo="assets/Ceph_Logo.svg";var a=(()=>{return(_=a||(a={})).CREATE="create",_.EDIT="edit",_.UPDATE="update",_.REMOVE="remove",_.DELETE="delete",_.ADD="add",_.COPY="copy",_.CLONE="clone",_.RECREATE="recreate",_.EXPIRE="expire",_.RESTART="Restart",a;var _})(),l=(()=>{return(_=l||(l={})).CREATE="Create",_.DELETE="Delete",_.ADD="Add",_.REMOVE="Remove",_.EDIT="Edit",_.CANCEL="Cancel",_.COPY="Copy",_.CLONE="Clone",_.UPDATE="Update",_.EVICT="Evict",_.SHOW="Show",_.RECREATE="Recreate",_.EXPIRE="Expire",_.START="Start",_.STOP="Stop",_.REDEPLOY="Redeploy",_.RESTART="Restart",l;var _})();let u=(()=>{class _{constructor(){this.CREATE="Create",this.DELETE="Delete",this.ADD="Add",this.SET="Set",this.SUBMIT="Submit",this.REMOVE="Remove",this.UNSET="Unset",this.EDIT="Edit",this.UPDATE="Update",this.CANCEL="Cancel",this.PREVIEW="Preview",this.MOVE="Move",this.NEXT="Next",this.BACK="Back",this.CLONE="Clone",this.COPY="Copy",this.DEEP_SCRUB="Deep Scrub",this.DESTROY="Destroy",this.EVICT="Evict",this.FLATTEN="Flatten",this.MARK_DOWN="Mark Down",this.MARK_IN="Mark In",this.MARK_LOST="Mark Lost",this.MARK_OUT="Mark Out",this.PROTECT="Protect",this.PURGE="Purge",this.RENAME="Rename",this.RESTORE="Restore",this.REWEIGHT="Reweight",this.ROLLBACK="Rollback",this.SCRUB="Scrub",this.SHOW="Show",this.TRASH="Move to Trash",this.UNPROTECT="Unprotect",this.CHANGE="Change",this.FLAGS="Flags",this.ENTER_MAINTENANCE="Enter Maintenance",this.EXIT_MAINTENANCE="Exit Maintenance",this.START_DRAIN="Start Drain",this.STOP_DRAIN="Stop Drain",this.RECREATE="Recreate",this.EXPIRE="Expire",this.START="Start",this.STOP="Stop",this.REDEPLOY="Redeploy",this.RESTART="Restart"}}return _.\u0275fac=function(b){return new(b||_)},_.\u0275prov=e.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_})(),h=(()=>{class _{constructor(){this.CREATED="Created",this.DELETED="Deleted",this.ADDED="Added",this.REMOVED="Removed",this.EDITED="Edited",this.CANCELED="Canceled",this.PREVIEWED="Previewed",this.MOVED="Moved",this.CLONED="Cloned",this.COPIED="Copied",this.DEEP_SCRUBBED="Deep Scrubbed",this.DESTROYED="Destroyed",this.FLATTENED="Flattened",this.MARKED_DOWN="Marked Down",this.MARKED_IN="Marked In",this.MARKED_LOST="Marked Lost",this.MARKED_OUT="Marked Out",this.PROTECTED="Protected",this.PURGED="Purged",this.RENAMED="Renamed",this.RESTORED="Restored",this.REWEIGHTED="Reweighted",this.ROLLED_BACK="Rolled back",this.SCRUBBED="Scrubbed",this.SHOWED="Showed",this.TRASHED="Moved to Trash",this.UNPROTECTED="Unprotected",this.CHANGE="Change",this.RECREATED="Recreated",this.EXPIRED="Expired",this.START="Start",this.STOP="Stop",this.REDEPLOY="Redeploy",this.RESTART="Restart"}}return _.\u0275fac=function(b){return new(b||_)},_.\u0275prov=e.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_})()},2149:(Ge,g,o)=>{"use strict";o.d(g,{t:()=>b});var t=o(12057),e=o(24751),s=o(6283),a=o(38549),l=o(84051),u=o(37496),h=o(15626),_=o(85953),m=o(74788);let b=(()=>{class C{}return C.\u0275fac=function(x){return new(x||C)},C.\u0275mod=m.oAB({type:C}),C.\u0275inj=m.cJS({imports:[[t.ez,l.xD,u.b,e.u5,a.XC,a.HK,_.D,h.K,s.Bz],l.xD]}),C})()},94928:(Ge,g,o)=>{"use strict";o.d(g,{K:()=>z});var t=o(23815),e=o.n(t),s=o(65862),a=o(74788),l=o(12057),u=o(6283),h=o(38549);const _=function(U){return{disabled:U}},m=function(U){return[U]};function b(U,M){if(1&U){const I=a.EpF();a.ynx(0),a.TgZ(1,"button",3),a.NdJ("click",function(){a.CHM(I);const Y=a.oxw();return Y.useClickAction(Y.currentAction)}),a._UZ(2,"i",4),a.TgZ(3,"span"),a._uU(4),a.qZA(),a.qZA(),a.BQk()}if(2&U){const I=a.oxw();a.xp6(1),a.Gre("btn btn-",I.btnColor,""),a.s9C("title",I.useDisableDesc(I.currentAction)),a.Q6J("ngClass",a.VKq(9,_,I.disableSelectionAction(I.currentAction)))("routerLink",I.useRouterLink(I.currentAction))("preserveFragment",I.currentAction.preserveFragment?"":null),a.xp6(1),a.Q6J("ngClass",a.VKq(11,m,I.currentAction.icon)),a.xp6(2),a.Oqu(I.currentAction.name)}}function C(U,M){if(1&U&&(a.ynx(0),a._uU(1),a.BQk()),2&U){const I=a.oxw(2);a.xp6(1),a.hij("",I.dropDownOnly," ")}}function D(U,M){1&U&&a._UZ(0,"span",10)}const x=function(U){return[U,"action-icon"]};function j(U,M){if(1&U){const I=a.EpF();a.ynx(0),a.TgZ(1,"button",11),a.NdJ("click",function(){const ie=a.CHM(I).$implicit;return a.oxw(2).useClickAction(ie)}),a._UZ(2,"i",4),a.TgZ(3,"span"),a._uU(4),a.qZA(),a.qZA(),a.BQk()}if(2&U){const I=M.$implicit,J=a.oxw(2);a.xp6(1),a.Tol(J.toClassName(I)),a.s9C("title",J.useDisableDesc(I)),a.Q6J("routerLink",J.useRouterLink(I))("preserveFragment",I.preserveFragment?"":null)("disabled",J.disableSelectionAction(I)),a.xp6(1),a.Q6J("ngClass",a.VKq(9,x,I.icon)),a.xp6(2),a.Oqu(I.name)}}function H(U,M){if(1&U&&(a.TgZ(0,"div",5),a.TgZ(1,"button",6),a.YNc(2,C,2,1,"ng-container",1),a.YNc(3,D,1,0,"span",7),a.qZA(),a.TgZ(4,"div",8),a.YNc(5,j,5,11,"ng-container",9),a.qZA(),a.qZA()),2&U){const I=a.oxw();a.xp6(1),a.Gre("btn btn-",I.btnColor," dropdown-toggle-split"),a.xp6(1),a.Q6J("ngIf",I.dropDownOnly),a.xp6(1),a.Q6J("ngIf",!I.dropDownOnly),a.xp6(2),a.Q6J("ngForOf",I.dropDownActions)}}let z=(()=>{class U{constructor(){this.btnColor="accent",this.dropDownActions=[],this.icons=s.P}ngOnInit(){this.removeActionsWithNoPermissions(),this.onSelectionChange()}ngOnChanges(I){I.selection&&this.onSelectionChange()}onSelectionChange(){this.updateDropDownActions(),this.updateCurrentAction()}toClassName(I){return I.name.replace(/ /g,"-").replace(/[^a-z-]/gi,"").toLowerCase()}removeActionsWithNoPermissions(){if(!this.permission)return void(this.tableActions=[]);const I=Object.keys(this.permission).filter(J=>this.permission[J]);this.tableActions=this.tableActions.filter(J=>I.includes(J.permission))}updateDropDownActions(){this.dropDownActions=this.tableActions.filter(I=>I.visible?I.visible(this.selection):I)}updateCurrentAction(){if(this.dropDownOnly)return void(this.currentAction=void 0);let I=this.dropDownActions.find(J=>this.showableAction(J));!I&&this.dropDownActions.length>0&&(I=this.dropDownActions[0]),this.currentAction=I}showableAction(I){const J=I.canBePrimary,Y=this.selection.hasSingleSelection,ie="create"===I.permission?!Y:Y;return J&&J(this.selection)||!J&&ie}useRouterLink(I){if(I.routerLink&&!this.disableSelectionAction(I))return e().isString(I.routerLink)?I.routerLink:I.routerLink()}disableSelectionAction(I){const J=I.disable;if(J)return Boolean(J(this.selection));const Y=I.permission,ie=this.selection.hasSingleSelection&&this.selection.first();return Boolean(["update","delete"].includes(Y)&&(!ie||ie.cdExecuting))}useClickAction(I){return!this.disableSelectionAction(I)&&I.click&&I.click()}useDisableDesc(I){if(I.disable){const J=I.disable(this.selection);return e().isString(J)?J:void 0}}}return U.\u0275fac=function(I){return new(I||U)},U.\u0275cmp=a.Xpm({type:U,selectors:[["cd-table-actions"]],inputs:{permission:"permission",selection:"selection",tableActions:"tableActions",btnColor:"btnColor",dropDownOnly:"dropDownOnly"},features:[a.TTD],decls:3,vars:2,consts:[[1,"btn-group"],[4,"ngIf"],["class","btn-group","ngbDropdown","","role","group","aria-label","Button group with nested dropdown",4,"ngIf"],["type","button","data-testid","table-action-button",3,"title","ngClass","routerLink","preserveFragment","click"],[3,"ngClass"],["ngbDropdown","","role","group","aria-label","Button group with nested dropdown",1,"btn-group"],["ngbDropdownToggle",""],["class","sr-only",4,"ngIf"],["ngbDropdownMenu","",1,"dropdown-menu"],[4,"ngFor","ngForOf"],[1,"sr-only"],["ngbDropdownItem","",3,"title","routerLink","preserveFragment","disabled","click"]],template:function(I,J){1&I&&(a.TgZ(0,"div",0),a.YNc(1,b,5,13,"ng-container",1),a.YNc(2,H,6,6,"div",2),a.qZA()),2&I&&(a.xp6(1),a.Q6J("ngIf",J.currentAction),a.xp6(1),a.Q6J("ngIf",J.dropDownActions.length>1))},directives:[l.O5,l.mk,u.rH,h.jt,h.iD,h.Vi,l.sg,h.TH],styles:["button.disabled[_ngcontent-%COMP%]{cursor:default!important;pointer-events:auto}.action-icon[_ngcontent-%COMP%]{padding-right:1.5rem}"]}),U})()},61350:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>h});var t=o(74788),e=o(23815),s=o.n(e),a=o(99466),l=o(64337),u=o(96102);let h=(()=>{class _{constructor(b){this.datePipe=b,this.autoReload=5e3,this.renderObjects=!1,this.appendParentKey=!0,this.hideEmpty=!1,this.hideKeys=[],this.columns=[],this.fetchData=new t.vpe}ngOnInit(){this.columns=[{prop:"key",flexGrow:1,cellTransformation:a.e.bold},{prop:"value",flexGrow:3}],this.customCss&&(this.columns[1].cellTransformation=a.e.classAdding),this.fetchData.observers.length>0&&this.table.fetchData.subscribe(()=>{this.fetchData.emit()}),this.useData()}ngOnChanges(){this.useData()}useData(){if(!this.data)return;let b=this.makePairs(this.data);this.hideKeys&&(b=b.filter(C=>!this.hideKeys.includes(C.key))),this.tableData=b}makePairs(b){let C=[];if(b){if(s().isArray(b))C=this.makePairsFromArray(b);else{if(!s().isObject(b))throw new Error("Wrong data format");C=this.makePairsFromObject(b)}return C=C.map(D=>(D.value=this.convertValue(D.value),D)).filter(D=>null!==D.value),s().sortBy(this.renderObjects?this.insertFlattenObjects(C):C,"key")}}makePairsFromArray(b){let C=[];const D=b[0];if(s().isArray(D)){if(2!==D.length)throw new Error(`Array contains too many elements (${D.length}). Needs to be of type [string, any][]`);C=b.map(x=>({key:x[0],value:x[1]}))}else s().isObject(D)&&(C=s().has(D,"key")&&s().has(D,"value")?[...b]:b.reduce((x,j)=>x.concat(this.makePairsFromObject(j)),C));return C}makePairsFromObject(b){return Object.keys(b).map(C=>({key:C,value:b[C]}))}insertFlattenObjects(b){return s().flattenDeep(b.map(C=>{const D=C.value,x=s().isObject(D);return!x||s().isEmpty(D)?(x&&(C.value=""),C):this.splitItemIntoItems(C)}))}splitItemIntoItems(b){return this.makePairs(b.value).map(C=>(this.appendParentKey&&(C.key=b.key+" "+C.key),C))}convertValue(b){if(s().isArray(b)){if(s().isEmpty(b)&&this.hideEmpty)return null;b=b.map(C=>s().isObject(C)?JSON.stringify(C):C).join(", ")}else if(s().isObject(b)){if(this.hideEmpty&&s().isEmpty(b)||!this.renderObjects)return null}else if(s().isString(b)){if(""===b&&this.hideEmpty)return null;this.isDate(b)&&(b=this.datePipe.transform(b)||b)}return b}isDate(b){const C="[ -:.TZ]",D="\\d{2}"+C;return b.match(new RegExp("^\\d{4}"+C+D+D+D+D+D+"\\d*Z?$"))}}return _.\u0275fac=function(b){return new(b||_)(t.Y36(u.N))},_.\u0275cmp=t.Xpm({type:_,selectors:[["cd-table-key-value"]],viewQuery:function(b,C){if(1&b&&t.Gf(l.a,7),2&b){let D;t.iGM(D=t.CRH())&&(C.table=D.first)}},inputs:{data:"data",autoReload:"autoReload",renderObjects:"renderObjects",appendParentKey:"appendParentKey",hideEmpty:"hideEmpty",hideKeys:"hideKeys",customCss:"customCss"},outputs:{fetchData:"fetchData"},features:[t.TTD],decls:2,vars:9,consts:[["columnMode","flex",3,"data","columns","toolHeader","autoReload","customCss","autoSave","header","footer","limit"],["table",""]],template:function(b,C){1&b&&t._UZ(0,"cd-table",0,1),2&b&&t.Q6J("data",C.tableData)("columns",C.columns)("toolHeader",!1)("autoReload",C.autoReload)("customCss",C.customCss)("autoSave",!1)("header",!1)("footer",!1)("limit",0)},directives:[l.a],styles:[""]}),_})()},64337:(Ge,g,o)=>{"use strict";o.d(g,{a:()=>mt});var t=o(74788),e=o(84051),s=o(23815),a=o.n(s),l=o(46797),u=o(18891),h=o(71225),_=o(99466),m=o(65862);class b{constructor(yn){this.errorConfig={resetData:!0,displayError:!0},this.error=yn}}var C=o(68774),D=o(12057),x=o(38549),j=o(24751),H=o(76446),z=o(6283),U=o(70442),M=o(66369),I=o(37496),J=o(47187),Y=o(78877),ie=o(52821);const oe=["tableCellBoldTpl"],fe=["sparklineTpl"],ne=["routerLinkTpl"],he=["checkIconTpl"],ce=["perSecondTpl"],Ae=["executingTpl"],Me=["classAddingTpl"],Oe=["badgeTpl"],be=["mapTpl"],ue=["truncateTpl"],He=["rowDetailsTpl"];function $e(Tt,yn){1&Tt&&(t.TgZ(0,"div",20),t.TgZ(1,"div",21),t.Hsn(2),t.qZA(),t.qZA())}function F(Tt,yn){if(1&Tt){const et=t.EpF();t.ynx(0),t.TgZ(1,"button",36),t.NdJ("click",function(){const Qn=t.CHM(et).$implicit;return t.oxw(3).onSelectFilter(Qn),!1}),t._uU(2),t.qZA(),t.BQk()}if(2&Tt){const et=yn.$implicit;t.xp6(2),t.Oqu(et.column.name)}}const je=function(Tt){return[Tt]};function Et(Tt,yn){if(1&Tt&&t._UZ(0,"i",28),2&Tt){const et=t.oxw(4);t.Q6J("ngClass",t.VKq(1,je,et.icons.check))}}function lt(Tt,yn){if(1&Tt){const et=t.EpF();t.ynx(0),t.TgZ(1,"button",36),t.NdJ("click",function(){const Qn=t.CHM(et).$implicit,Ir=t.oxw(3);return Ir.onChangeFilter(Ir.selectedFilter,Qn),!1}),t._uU(2),t.YNc(3,Et,1,3,"i",37),t.qZA(),t.BQk()}if(2&Tt){const et=yn.$implicit,jt=t.oxw(3);t.xp6(2),t.hij(" ",et.formatted," "),t.xp6(1),t.Q6J("ngIf",void 0!==jt.selectedFilter.value&&jt.selectedFilter.value.raw===et.raw)}}const nn=function(Tt,yn){return[Tt,yn]};function St(Tt,yn){if(1&Tt&&(t.TgZ(0,"div",32),t.TgZ(1,"div",33),t.TgZ(2,"button",34),t._UZ(3,"i",28),t._uU(4),t.qZA(),t.TgZ(5,"div",29),t.YNc(6,F,3,1,"ng-container",30),t.qZA(),t.qZA(),t.TgZ(7,"div",35),t.TgZ(8,"button",34),t._uU(9),t.qZA(),t.TgZ(10,"div",29),t.YNc(11,lt,4,2,"ng-container",30),t.qZA(),t.qZA(),t.qZA()),2&Tt){const et=t.oxw(2);t.xp6(3),t.Q6J("ngClass",t.WLB(7,nn,et.icons.large,et.icons.filter)),t.xp6(1),t.hij(" ",et.selectedFilter.column.name," "),t.xp6(2),t.Q6J("ngForOf",et.columnFilters),t.xp6(2),t.ekj("disabled",0===et.selectedFilter.options.length),t.xp6(1),t.hij(" ",et.selectedFilter.value?et.selectedFilter.value.formatted:"Any"," "),t.xp6(2),t.Q6J("ngForOf",et.selectedFilter.options)}}function At(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",38),t.TgZ(1,"span",39),t.TgZ(2,"span",40),t._UZ(3,"i",28),t.qZA(),t.qZA(),t.TgZ(4,"input",41),t.NdJ("ngModelChange",function(hn){return t.CHM(et),t.oxw(2).search=hn})("keyup",function(){return t.CHM(et),t.oxw(2).updateFilter()}),t.qZA(),t.TgZ(5,"div",42),t.TgZ(6,"button",43),t.NdJ("click",function(){return t.CHM(et),t.oxw(2).onClearSearch()}),t._UZ(7,"i"),t.qZA(),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw(2);t.xp6(3),t.Q6J("ngClass",t.VKq(5,je,et.icons.search)),t.xp6(1),t.Q6J("ngModel",et.search),t.xp6(3),t.Gre("icon-prepend ",et.icons.destroy,"")}}function Qe(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",44),t.TgZ(1,"input",45),t.NdJ("click",function(hn){return t.CHM(et),t.oxw(2).setLimit(hn)})("keyup",function(hn){return t.CHM(et),t.oxw(2).setLimit(hn)})("blur",function(hn){return t.CHM(et),t.oxw(2).setLimit(hn)}),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw(2);t.xp6(1),t.Q6J("value",et.userConfig.limit)}}function It(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"button",36),t.NdJ("click",function(){t.CHM(et);const hn=t.oxw().$implicit;return t.oxw(2).toggleColumn(hn),!1}),t.TgZ(1,"div",47),t._UZ(2,"input",48),t.TgZ(3,"label",49),t._uU(4),t.qZA(),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw().$implicit;t.xp6(2),t.Q6J("name",et.prop)("id",et.prop)("checked",!et.isHidden),t.xp6(1),t.Q6J("for",et.prop),t.xp6(1),t.Oqu(et.name)}}function ae(Tt,yn){if(1&Tt&&(t.ynx(0),t.YNc(1,It,5,5,"button",46),t.BQk()),2&Tt){const et=yn.$implicit;t.xp6(1),t.Q6J("ngIf",""!==et.name)}}function Ie(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",50),t.TgZ(1,"button",51),t.NdJ("click",function(){return t.CHM(et),t.oxw(2).refreshBtn()}),t._UZ(2,"i",28),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw(2);t.xp6(1),t.Tol("btn btn-"+et.status.type),t.Q6J("ngbTooltip",et.status.msg),t.xp6(1),t.ekj("fa-spin",et.updating||et.loadingIndicator),t.Q6J("ngClass",t.WLB(6,nn,et.icons.large,et.icons.refresh))}}function dt(Tt,yn){if(1&Tt&&(t.TgZ(0,"div",20),t.TgZ(1,"div",21),t.Hsn(2,1),t.qZA(),t.YNc(3,St,12,10,"div",22),t.YNc(4,At,8,7,"div",23),t.YNc(5,Qe,2,1,"div",24),t.TgZ(6,"div",25),t.TgZ(7,"div",26),t.TgZ(8,"button",27),t._UZ(9,"i",28),t.qZA(),t.TgZ(10,"div",29),t.YNc(11,ae,2,1,"ng-container",30),t.qZA(),t.qZA(),t.qZA(),t.YNc(12,Ie,3,9,"div",31),t.qZA()),2&Tt){const et=t.oxw();t.xp6(3),t.Q6J("ngIf",0!==et.columnFilters.length),t.xp6(1),t.Q6J("ngIf",et.searchField),t.xp6(1),t.Q6J("ngIf",et.limit),t.xp6(4),t.Q6J("ngClass",t.WLB(6,nn,et.icons.large,et.icons.table)),t.xp6(2),t.Q6J("ngForOf",et.columns),t.xp6(1),t.Q6J("ngIf",et.fetchData.observers.length>0)}}function Jt(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"span",56),t.TgZ(1,"span",57),t._uU(2),t.qZA(),t.TgZ(3,"a",58),t.NdJ("click",function(){t.CHM(et);const hn=t.oxw().$implicit;return t.oxw(2).onChangeFilter(hn),!1}),t._UZ(4,"i",59),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw().$implicit,jt=t.oxw(2);t.xp6(2),t.AsE("",et.column.name,": ",et.value.formatted,""),t.xp6(2),t.Q6J("ngClass",t.VKq(3,je,jt.icons.destroy))}}function zt(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t.YNc(1,Jt,5,5,"span",55),t.qZA()),2&Tt){const et=yn.$implicit;t.xp6(1),t.Q6J("ngIf",et.value)}}function ln(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",20),t.TgZ(1,"div",52),t.YNc(2,zt,2,1,"span",30),t.TgZ(3,"a",53),t.NdJ("click",function(){return t.CHM(et),t.oxw().onClearFilters(),!1}),t.ynx(4),t.SDv(5,54),t.BQk(),t.qZA(),t.qZA(),t.qZA()}if(2&Tt){const et=t.oxw();t.xp6(2),t.Q6J("ngForOf",et.columnFilters)}}function ar(Tt,yn){1&Tt&&t.Hsn(0,2)}function Ln(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t._uU(1),t.ynx(2),t.SDv(3,64),t.BQk(),t._uU(4," / "),t.qZA()),2&Tt){const et=t.oxw().selectedCount;t.xp6(1),t.hij(" ",et," ")}}function Rn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t._uU(1),t.ynx(2),t.SDv(3,65),t.BQk(),t._uU(4," / "),t.qZA()),2&Tt){const et=t.oxw().rowCount;t.xp6(1),t.hij(" ",et," ")}}function er(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"div",60),t.YNc(1,Ln,5,1,"span",61),t.YNc(2,Rn,5,1,"span",61),t.TgZ(3,"span"),t._uU(4),t.ynx(5),t.SDv(6,62),t.BQk(),t.qZA(),t.qZA(),t.TgZ(7,"datatable-pager",63),t.NdJ("change",function(hn){return t.CHM(et),t.oxw(),t.MAs(5).onFooterPage(hn)}),t.qZA()}if(2&Tt){const et=yn.rowCount,jt=yn.pageSize,hn=yn.curPage,Qn=t.oxw();t.xp6(1),t.Q6J("ngIf",Qn.selectionType),t.xp6(1),t.Q6J("ngIf",et!=(null==Qn.data?null:Qn.data.length)),t.xp6(2),t.hij(" ",(null==Qn.data?null:Qn.data.length)||0," "),t.xp6(3),t.Q6J("pagerLeftArrowIcon",Qn.paginationClasses.pagerLeftArrow)("pagerRightArrowIcon",Qn.paginationClasses.pagerRightArrow)("pagerPreviousIcon",Qn.paginationClasses.pagerPrevious)("pagerNextIcon",Qn.paginationClasses.pagerNext)("page",hn)("size",jt)("count",et)("hidden",!(et/jt>1))}}function Mn(Tt,yn){if(1&Tt&&(t.TgZ(0,"strong"),t._uU(1),t.qZA()),2&Tt){const et=yn.value;t.xp6(1),t.Oqu(et)}}function Ht(Tt,yn){if(1&Tt&&t._UZ(0,"cd-sparkline",66),2&Tt){const et=yn.row;t.Q6J("data",yn.value)("isBinary",et.cdIsBinary)}}function tr(Tt,yn){if(1&Tt&&(t.TgZ(0,"a",67),t._uU(1),t.qZA()),2&Tt){const et=yn.row,jt=yn.value;t.Q6J("routerLink",t.VKq(3,je,et.cdLink))("queryParams",et.cdParams),t.xp6(1),t.Oqu(jt)}}function Yn(Tt,yn){if(1&Tt&&(t._UZ(0,"i",68),t.ALo(1,"boolean")),2&Tt){const et=yn.value,jt=t.oxw();t.Q6J("ngClass",t.VKq(4,je,jt.icons.check))("hidden",!t.lcZ(1,2,et))}}function Cn(Tt,yn){1&Tt&&(t._uU(0),t.ALo(1,"dimless")),2&Tt&&t.hij(" ",t.lcZ(1,1,yn.value)," /s\n")}function Kt(Tt,yn){if(1&Tt&&t._UZ(0,"i",28),2&Tt){const et=t.oxw(2);t.Q6J("ngClass",t.WLB(1,nn,et.icons.spinner,et.icons.spin))}}function dn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span",28),t._uU(1),t.qZA()),2&Tt){const et=t.oxw(),jt=et.column,hn=et.row;t.Q6J("ngClass",null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.executingClass?jt.customTemplateConfig.executingClass:"text-muted italic"),t.xp6(1),t.hij("(",hn.cdExecuting,")")}}function Kn(Tt,yn){if(1&Tt&&(t.YNc(0,Kt,1,4,"i",37),t.TgZ(1,"span",28),t._uU(2),t.qZA(),t.YNc(3,dn,2,2,"span",37)),2&Tt){const et=yn.column,jt=yn.row,hn=yn.value;t.Q6J("ngIf",jt.cdExecuting),t.xp6(1),t.Q6J("ngClass",null==et||null==et.customTemplateConfig?null:et.customTemplateConfig.valueClass),t.xp6(1),t.hij(" ",hn," "),t.xp6(1),t.Q6J("ngIf",jt.cdExecuting)}}function qn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t.ALo(1,"pipeFunction"),t._uU(2),t.qZA()),2&Tt){const et=yn.value,jt=t.oxw();t.Tol(t.Dn7(1,4,et,jt.useCustomClass,jt)),t.xp6(2),t.Oqu(et)}}function Sn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span",70),t._uU(1),t.qZA()),2&Tt){const et=t.oxw().$implicit,jt=t.oxw().column;t.Q6J("ngClass",null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.map&&null!=jt&&null!=jt.customTemplateConfig&&null!=jt.customTemplateConfig.map[et]&&jt.customTemplateConfig.map[et].class?jt.customTemplateConfig.map[et].class:null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.class?jt.customTemplateConfig.class:"badge-primary"),t.xp6(1),t.hij(" ",null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.map&&null!=jt&&null!=jt.customTemplateConfig&&null!=jt.customTemplateConfig.map[et]&&jt.customTemplateConfig.map[et].value?jt.customTemplateConfig.map[et].value:null!=jt&&null!=jt.customTemplateConfig&&jt.customTemplateConfig.prefix?jt.customTemplateConfig.prefix+et:et," ")}}function $n(Tt,yn){1&Tt&&(t.TgZ(0,"span"),t._uU(1,"\xa0"),t.qZA())}function En(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t.YNc(1,Sn,2,2,"span",69),t.YNc(2,$n,2,0,"span",61),t.qZA()),2&Tt){const et=yn.$implicit,jt=yn.last,hn=t.oxw().column;t.xp6(1),t.Q6J("ngIf",null!=hn&&null!=hn.customTemplateConfig&&hn.customTemplateConfig.map&&null!=hn&&null!=hn.customTemplateConfig&&null!=hn.customTemplateConfig.map[et]&&hn.customTemplateConfig.map[et].value?hn.customTemplateConfig.map[et].value:null!=hn&&null!=hn.customTemplateConfig&&hn.customTemplateConfig.prefix?hn.customTemplateConfig.prefix+et:et),t.xp6(1),t.Q6J("ngIf",!jt)}}function Fn(Tt,yn){1&Tt&&(t.YNc(0,En,3,2,"span",30),t.ALo(1,"array")),2&Tt&&t.Q6J("ngForOf",t.lcZ(1,1,yn.value))}function Dn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span"),t._uU(1),t.ALo(2,"map"),t.qZA()),2&Tt){const et=yn.column,jt=yn.value;t.xp6(1),t.Oqu(t.xi3(2,1,jt,null==et?null:et.customTemplateConfig))}}function mn(Tt,yn){if(1&Tt&&(t.TgZ(0,"span",71),t._uU(1),t.ALo(2,"truncate"),t.qZA()),2&Tt){const et=yn.column,jt=yn.value;t.Q6J("title",jt),t.xp6(1),t.Oqu(t.Dn7(2,2,jt,null==et||null==et.customTemplateConfig?null:et.customTemplateConfig.length,null==et||null==et.customTemplateConfig?null:et.customTemplateConfig.omission))}}function jn(Tt,yn){if(1&Tt){const et=t.EpF();t.TgZ(0,"a",72),t.NdJ("click",function(hn){const Qn=t.CHM(et),Ir=Qn.row,ht=Qn.expanded;return t.oxw().toggleExpandRow(Ir,ht,hn)}),t.qZA()}if(2&Tt){const et=yn.expanded;t.ekj("expand-collapse-icon-right",!et)("expand-collapse-icon-down",et)}}const Xt=[[["",8,"only-table-actions"]],[["",8,"table-actions"]],[["","cdTableDetail",""]]],ut=[".only-table-actions",".table-actions","[cdTableDetail]"];let mt=(()=>{class Tt{constructor(et,jt){this.ngZone=et,this.cdRef=jt,this.columnMode="flex",this.onlyActionHeader=!1,this.toolHeader=!0,this.searchField=!0,this.header=!0,this.footer=!0,this.limit=10,this.hasDetails=!1,this.autoReload=5e3,this.identifier="id",this.forceIdentifier=!1,this.selectionType=void 0,this.updateSelectionOnRefresh="onChange",this.updateExpandedOnRefresh="onChange",this.autoSave=!0,this.searchableObjects=!1,this.extraFilterableColumns=[],this.status=new h.c,this.fetchData=new t.vpe,this.updateSelection=new t.vpe,this.setExpandedRow=new t.vpe,this.columnFiltersChanged=new t.vpe,this.selection=new C.r,this.expanded=void 0,this.icons=m.P,this.cellTemplates={},this.search="",this.rows=[],this.loadingIndicator=!0,this.paginationClasses={pagerLeftArrow:m.P.leftArrowDouble,pagerRightArrow:m.P.rightArrowDouble,pagerPrevious:m.P.leftArrow,pagerNext:m.P.rightArrow},this.userConfig={},this.localStorage=window.localStorage,this.updating=!1,this.columnFilters=[]}get columnFiltered(){return a().some(this.columnFilters,et=>void 0!==et.value)}static prepareSearch(et){return(et=et.toLowerCase().replace(/,/g,"")).match(/['"][^'"]+['"]/)&&(et=et.replace(/['"][^'"]+['"]/g,jt=>jt.replace(/(['"])([^'"]+)(['"])/g,"$2").replace(/ /g,"+"))),et.split(" ").filter(jt=>jt)}ngOnInit(){if(this.localColumns=a().clone(this.columns),this.table.element.addEventListener("mouseenter",et=>et.stopPropagation()),this._addTemplates(),!this.sorts){const et=-1!==a().findIndex(this.localColumns,["prop",this.identifier]);this.sorts=this.createSortingDefinition(et?this.identifier:this.localColumns[0].prop+""),!et&&!this.forceIdentifier&&(this.identifier=this.localColumns[0].prop+"")}this.initUserConfig(),this.localColumns.forEach(et=>{et.cellTransformation&&(et.cellTemplate=this.cellTemplates[et.cellTransformation]),et.flexGrow||(et.flexGrow=et.prop+""===this.identifier?1:2),et.resizeable||(et.resizeable=!1)}),this.initExpandCollapseColumn(),this.initCheckboxColumn(),this.filterHiddenColumns(),this.initColumnFilters(),this.updateColumnFilterOptions(),this.updateSelection.emit(new C.r),this.fetchData.observers.length>0&&(this.loadingIndicator=!0),a().isInteger(this.autoReload)&&this.autoReload>0?this.ngZone.runOutsideAngular(()=>{this.reloadSubscriber=(0,l.H)(0,this.autoReload).subscribe(()=>{this.ngZone.run(()=>this.reloadData())})}):this.autoReload?this.useData():this.reloadData(),"single"===this.selectionType&&(this.table.selectCheck=this.singleSelectCheck.bind(this))}initUserConfig(){this.autoSave&&(this.tableName=this._calculateUniqueTableName(this.localColumns),this._loadUserConfig(),this._initUserConfigAutoSave()),this.userConfig.limit||(this.userConfig.limit=this.limit),this.userConfig.sorts||(this.userConfig.sorts=this.sorts),this.userConfig.columns?this.userConfig.columns.forEach(et=>{for(let jt=0;jt<this.localColumns.length;jt++)this.localColumns[jt].prop===et.prop&&(this.localColumns[jt].isHidden=et.isHidden)}):this.updateUserColumns()}_calculateUniqueTableName(et){const jt=hn=>{if(!a().isString(hn))return 0;let Qn=0;for(let Ir=0;Ir<hn.length;Ir++)Qn+=hn.charCodeAt(Ir)*Ir;return Qn};return et.reduce((hn,Qn,Ir)=>(jt(Qn.prop)+jt(Qn.name))*(Ir+1)+hn,0).toString()}_loadUserConfig(){const et=this.localStorage.getItem(this.tableName);et&&(this.userConfig=JSON.parse(et))}_initUserConfigAutoSave(){const et=new u.y(this._initUserConfigProxy.bind(this));this.saveSubscriber=et.subscribe(this._saveUserConfig.bind(this))}_initUserConfigProxy(et){this.userConfig=new Proxy(this.userConfig,{set:(jt,hn,Qn)=>(jt[hn]=Qn,et.next(jt),!0)})}_saveUserConfig(et){this.localStorage.setItem(this.tableName,JSON.stringify(et))}updateUserColumns(){this.userConfig.columns=this.localColumns.map(et=>({prop:et.prop,name:et.name,isHidden:!!et.isHidden}))}initCheckboxColumn(){"multiClick"===this.selectionType&&this.localColumns.unshift({prop:void 0,resizeable:!1,sortable:!1,draggable:!1,checkboxable:!0,canAutoResize:!1,cellClass:"cd-datatable-checkbox",width:30})}initExpandCollapseColumn(){this.hasDetails&&this.localColumns.unshift({prop:void 0,resizeable:!1,sortable:!1,draggable:!1,isHidden:!1,canAutoResize:!1,cellClass:"cd-datatable-expand-collapse",width:40,cellTemplate:this.rowDetailsTpl})}filterHiddenColumns(){this.tableColumns=this.localColumns.filter(et=>!et.isHidden)}initColumnFilters(){let et=a().filter(this.localColumns,{filterable:!0});et=[...et,...this.extraFilterableColumns],this.columnFilters=et.map(jt=>({column:jt,options:[],value:jt.filterInitValue?this.createColumnFilterOption(jt.filterInitValue,jt.pipe):void 0})),this.selectedFilter=a().first(this.columnFilters)}createColumnFilterOption(et,jt){return{raw:a().toString(et),formatted:jt?jt.transform(et):a().toString(et)}}updateColumnFilterOptions(){this.columnFilters.forEach(et=>{let jt=[];if(a().isUndefined(et.column.filterOptions)){const Qn=a().filter(a().map(this.data,et.column.prop),Ir=>a().isString(Ir)&&""!==Ir||a().isBoolean(Ir)||a().isFinite(Ir)||a().isDate(Ir));jt=a().sortedUniq(Qn.sort())}else jt=et.column.filterOptions;const hn=jt.map(Qn=>this.createColumnFilterOption(Qn,et.column.pipe));et.value&&a().isUndefined(a().find(hn,{raw:et.value.raw}))&&(et.value=void 0),et.options=hn})}onSelectFilter(et){this.selectedFilter=et}onChangeFilter(et,jt){et.value=a().isEqual(et.value,jt)?void 0:jt,this.updateFilter()}doColumnFiltering(){const et=[];let jt=[...this.data],hn=[];return this.columnFilters.forEach(Qn=>{if(void 0===Qn.value)return;et.push({name:Qn.column.name,prop:Qn.column.prop,value:Qn.value});const Ir=a().partition(jt,ht=>{const Ue=(0,e.Hg)(Qn.column.prop)(ht,Qn.column.prop);return a().isUndefined(Qn.column.filterPredicate)?`${Ue}`===Qn.value.raw:Qn.column.filterPredicate(ht,Qn.value.raw)});jt=Ir[0],hn=[...hn,...Ir[1]]}),this.columnFiltersChanged.emit({filters:et,data:jt,dataOut:hn}),a().forEach(this.selection.selected,Qn=>{void 0===a().find(jt,{[this.identifier]:Qn[this.identifier]})&&(this.selection=new C.r,this.onSelect(this.selection))}),jt}ngOnDestroy(){this.reloadSubscriber&&this.reloadSubscriber.unsubscribe(),this.saveSubscriber&&this.saveSubscriber.unsubscribe()}ngAfterContentChecked(){this.table&&this.table.element.clientWidth!==this.currentWidth&&(this.currentWidth=this.table.element.clientWidth,this.table.recalculate(),a().get(this.table,"cd").markForCheck())}_addTemplates(){this.cellTemplates.bold=this.tableCellBoldTpl,this.cellTemplates.checkIcon=this.checkIconTpl,this.cellTemplates.sparkline=this.sparklineTpl,this.cellTemplates.routerLink=this.routerLinkTpl,this.cellTemplates.perSecond=this.perSecondTpl,this.cellTemplates.executing=this.executingTpl,this.cellTemplates.classAdding=this.classAddingTpl,this.cellTemplates.badge=this.badgeTpl,this.cellTemplates.map=this.mapTpl,this.cellTemplates.truncate=this.truncateTpl}useCustomClass(et){if(!this.customCss)throw new Error("Custom classes are not set!");const jt=Object.keys(this.customCss),hn=Object.values(this.customCss).map((Qn,Ir)=>(a().isFunction(Qn)&&Qn(et)||Qn===et)&&jt[Ir]).filter(Qn=>Qn).join(" ");return a().isEmpty(hn)?void 0:hn}ngOnChanges(et){et.data&&et.data.currentValue&&this.useData()}setLimit(et){const jt=parseInt(et.target.value,10);jt>0&&(this.userConfig.limit=jt)}reloadData(){if(!this.updating){this.status=new h.c;const et=new b(()=>{et.errorConfig.displayError&&(this.status=new h.c("danger","Failed to load data.")),et.errorConfig.resetData&&(this.data=[]),this.useData()});this.fetchData.emit(et),this.updating=!0}}refreshBtn(){this.loadingIndicator=!0,this.reloadData()}rowIdentity(){return et=>{const jt=et[this.identifier];if(a().isUndefined(jt))throw new Error(`Wrong identifier "${this.identifier}" -> "${jt}"`);return jt}}useData(){!this.data||(this.updateColumnFilterOptions(),this.updateFilter(),this.reset(),this.updateSelected(),this.updateExpanded())}reset(){this.loadingIndicator=!1,this.updating=!1}updateSelected(){if("never"===this.updateSelectionOnRefresh)return;const et=new Set;this.selection.selected.forEach(hn=>{for(const Qn of this.data)hn[this.identifier]===Qn[this.identifier]&&et.add(Qn)});const jt=Array.from(et.values());"onChange"===this.updateSelectionOnRefresh&&a().isEqual(this.selection.selected,jt)||(this.selection.selected=jt,this.onSelect(this.selection))}updateExpanded(){if(a().isUndefined(this.expanded)||"never"===this.updateExpandedOnRefresh)return;const et=this.expanded[this.identifier],jt=a().find(this.data,hn=>et===hn[this.identifier]);"onChange"===this.updateExpandedOnRefresh&&a().isEqual(this.expanded,jt)||(this.expanded=jt,this.setExpandedRow.emit(jt))}onSelect(et){a().has(et,"selected")&&(this.selection.selected=et.selected),this.updateSelection.emit(a().clone(this.selection))}singleSelectCheck(et){return-1===this.selection.selected.indexOf(et)}toggleColumn(et){const jt=et.prop,hn=!et.isHidden;hn&&1===this.tableColumns.length?et.isHidden=!0:(a().find(this.localColumns,Qn=>Qn.prop===jt).isHidden=hn,this.updateColumns())}updateColumns(){this.updateUserColumns(),this.filterHiddenColumns();const et=this.userConfig.sorts[0].prop;a().find(this.tableColumns,jt=>jt.prop===et)||(this.userConfig.sorts=this.createSortingDefinition(this.tableColumns[0].prop)),this.table.recalculate(),this.cdRef.detectChanges()}createSortingDefinition(et){return[{prop:et,dir:e.Sr.asc}]}changeSorting({sorts:et}){this.userConfig.sorts=et}onClearSearch(){this.search="",this.updateFilter()}onClearFilters(){this.columnFilters.forEach(et=>{et.value=void 0}),this.selectedFilter=a().first(this.columnFilters),this.updateFilter()}updateFilter(){let et=0!==this.columnFilters.length?this.doColumnFiltering():this.data;if(this.search.length>0&&et){const jt=this.localColumns.filter(hn=>hn.cellTransformation!==_.e.sparkline);et=this.subSearch(et,Tt.prepareSearch(this.search),jt),this.table.offset=0}this.rows=et}subSearch(et,jt,hn){if(0===jt.length||0===et.length)return et;const Qn=jt.pop().replace(/\+/g," ").split(":"),Ir=[...hn];return 2===Qn.length&&(hn=Ir.filter(ht=>-1!==ht.name.toLowerCase().indexOf(Qn[0]))),et=this.basicDataSearch(a().last(Qn),et,hn),this.subSearch(et,jt,Ir)}basicDataSearch(et,jt,hn){return 0===et.length?jt:jt.filter(Qn=>hn.filter(Ir=>{let ht=a().get(Qn,Ir.prop);if(a().isUndefined(Ir.pipe)||(ht=Ir.pipe.transform(ht)),a().isUndefined(ht)||a().isNull(ht))return!1;if(a().isArray(ht)?ht=ht.join(" "):(a().isNumber(ht)||a().isBoolean(ht))&&(ht=ht.toString()),a().isObjectLike(ht)){if(!this.searchableObjects)return!1;ht=JSON.stringify(ht)}return-1!==ht.toLowerCase().indexOf(et)}).length>0)}getRowClass(){return()=>({clickable:!a().isUndefined(this.selectionType)})}toggleExpandRow(et,jt,hn){hn.stopPropagation(),jt?(this.expanded=void 0,this.setExpandedRow.emit(void 0)):(this.expanded=et,this.table.rowDetail.collapseAllRows(),this.setExpandedRow.emit(et)),this.table.rowDetail.toggleExpandRow(et)}}return Tt.\u0275fac=function(et){return new(et||Tt)(t.Y36(t.R0b),t.Y36(t.sBO))},Tt.\u0275cmp=t.Xpm({type:Tt,selectors:[["cd-table"]],viewQuery:function(et,jt){if(1&et&&(t.Gf(e.nE,7),t.Gf(oe,7),t.Gf(fe,7),t.Gf(ne,7),t.Gf(he,7),t.Gf(ce,7),t.Gf(Ae,7),t.Gf(Me,7),t.Gf(Oe,7),t.Gf(be,7),t.Gf(ue,7),t.Gf(He,7)),2&et){let hn;t.iGM(hn=t.CRH())&&(jt.table=hn.first),t.iGM(hn=t.CRH())&&(jt.tableCellBoldTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.sparklineTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.routerLinkTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.checkIconTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.perSecondTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.executingTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.classAddingTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.badgeTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.mapTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.truncateTpl=hn.first),t.iGM(hn=t.CRH())&&(jt.rowDetailsTpl=hn.first)}},inputs:{data:"data",columns:"columns",sorts:"sorts",columnMode:"columnMode",onlyActionHeader:"onlyActionHeader",toolHeader:"toolHeader",searchField:"searchField",header:"header",footer:"footer",limit:"limit",hasDetails:"hasDetails",autoReload:"autoReload",identifier:"identifier",forceIdentifier:"forceIdentifier",selectionType:"selectionType",updateSelectionOnRefresh:"updateSelectionOnRefresh",updateExpandedOnRefresh:"updateExpandedOnRefresh",autoSave:"autoSave",searchableObjects:"searchableObjects",customCss:"customCss",extraFilterableColumns:"extraFilterableColumns",status:"status"},outputs:{fetchData:"fetchData",updateSelection:"updateSelection",setExpandedRow:"setExpandedRow",columnFiltersChanged:"columnFiltersChanged"},features:[t.TTD],ngContentSelectors:ut,decls:33,vars:17,consts:function(){let yn,et,jt,hn,Qn;return yn="Clear filters",et="total",jt="selected",hn="found",Qn="Expand/Collapse Row",[[1,"dataTables_wrapper"],["class","dataTables_header clearfix",4,"ngIf"],[1,"bootstrap","cd-datatable",3,"cssClasses","selectionType","selected","sorts","columns","columnMode","rows","rowClass","headerHeight","footerHeight","limit","loadingIndicator","rowIdentity","rowHeight","select","sort"],["table",""],["rowHeight","auto"],["detailRow",""],["ngx-datatable-row-detail-template",""],["ngx-datatable-footer-template",""],["tableCellBoldTpl",""],["sparklineTpl",""],["routerLinkTpl",""],["checkIconTpl",""],["perSecondTpl",""],["executingTpl",""],["classAddingTpl",""],["badgeTpl",""],["mapTpl",""],["truncateTpl",""],["ngx-datatable-cell-template",""],["rowDetailsTpl",""],[1,"dataTables_header","clearfix"],[1,"cd-datatable-actions"],["class","btn-group widget-toolbar",4,"ngIf"],["class","input-group search",4,"ngIf"],["class","input-group dataTables_paginate",4,"ngIf"],[1,"widget-toolbar"],["ngbDropdown","","autoClose","outside",1,"tc_menuitem"],["ngbDropdownToggle","",1,"btn","btn-light","tc_columnBtn"],[3,"ngClass"],["ngbDropdownMenu",""],[4,"ngFor","ngForOf"],["class","widget-toolbar tc_refreshBtn",4,"ngIf"],[1,"btn-group","widget-toolbar"],["ngbDropdown","","placement","bottom-right",1,"tc_filter_name"],["ngbDropdownToggle","",1,"btn","btn-light"],["ngbDropdown","","placement","bottom-right",1,"tc_filter_option"],["ngbDropdownItem","",3,"click"],[3,"ngClass",4,"ngIf"],[1,"input-group","search"],[1,"input-group-prepend"],[1,"input-group-text"],["type","text",1,"form-control",3,"ngModel","ngModelChange","keyup"],[1,"input-group-append"],["type","button",1,"btn","btn-light",3,"click"],[1,"input-group","dataTables_paginate"],["type","number","min","1","max","9999",1,"form-control",3,"value","click","keyup","blur"],["ngbDropdownItem","",3,"click",4,"ngIf"],[1,"custom-control","custom-checkbox","py-0"],["type","checkbox",1,"custom-control-input",3,"name","id","checked"],[1,"custom-control-label",3,"for"],[1,"widget-toolbar","tc_refreshBtn"],["type","button",3,"ngbTooltip","click"],[1,"filter-chips"],["href","",1,"tc_clearSelections",3,"click"],yn,["class","badge badge-info mr-2",4,"ngIf"],[1,"badge","badge-info","mr-2"],[1,"mr-2"],[1,"badge-remove",3,"click"],["aria-hidden","true",3,"ngClass"],[1,"page-count"],[4,"ngIf"],et,[3,"pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","pagerNextIcon","page","size","count","hidden","change"],jt,hn,[3,"data","isBinary"],[3,"routerLink","queryParams"],[3,"ngClass","hidden"],["class","badge",3,"ngClass",4,"ngIf"],[1,"badge",3,"ngClass"],["data-toggle","tooltip",3,"title"],["href","javascript:void(0)","title",Qn,1,"expand-collapse-icon","tc_expand-collapse",3,"click"]]},template:function(et,jt){1&et&&(t.F$t(Xt),t.TgZ(0,"div",0),t.YNc(1,$e,3,0,"div",1),t.YNc(2,dt,13,9,"div",1),t.YNc(3,ln,6,1,"div",1),t.TgZ(4,"ngx-datatable",2,3),t.NdJ("select",function(Qn){return jt.onSelect(Qn)})("sort",function(Qn){return jt.changeSorting(Qn)}),t.TgZ(6,"ngx-datatable-row-detail",4,5),t.YNc(8,ar,1,0,"ng-template",6),t.qZA(),t.TgZ(9,"ngx-datatable-footer"),t.YNc(10,er,8,11,"ng-template",7),t.qZA(),t.qZA(),t.qZA(),t.YNc(11,Mn,2,1,"ng-template",null,8,t.W1O),t.YNc(13,Ht,1,2,"ng-template",null,9,t.W1O),t.YNc(15,tr,2,5,"ng-template",null,10,t.W1O),t.YNc(17,Yn,2,6,"ng-template",null,11,t.W1O),t.YNc(19,Cn,2,3,"ng-template",null,12,t.W1O),t.YNc(21,Kn,4,4,"ng-template",null,13,t.W1O),t.YNc(23,qn,3,8,"ng-template",null,14,t.W1O),t.YNc(25,Fn,2,3,"ng-template",null,15,t.W1O),t.YNc(27,Dn,3,4,"ng-template",null,16,t.W1O),t.YNc(29,mn,3,6,"ng-template",null,17,t.W1O),t.YNc(31,jn,1,4,"ng-template",18,19,t.W1O)),2&et&&(t.xp6(1),t.Q6J("ngIf",jt.onlyActionHeader),t.xp6(1),t.Q6J("ngIf",jt.toolHeader),t.xp6(1),t.Q6J("ngIf",jt.toolHeader&&jt.columnFiltered),t.xp6(1),t.Q6J("cssClasses",jt.paginationClasses)("selectionType",jt.selectionType)("selected",jt.selection.selected)("sorts",jt.userConfig.sorts)("columns",jt.tableColumns)("columnMode",jt.columnMode)("rows",jt.rows)("rowClass",jt.getRowClass())("headerHeight",jt.header?"auto":0)("footerHeight",jt.footer?"auto":0)("limit",jt.userConfig.limit>0?jt.userConfig.limit:void 0)("loadingIndicator",jt.loadingIndicator)("rowIdentity",jt.rowIdentity())("rowHeight","auto"))},directives:[D.O5,e.nE,e.$7,e.AR,e.dX,e.ii,e.vq,x.jt,x.iD,D.mk,x.Vi,D.sg,x.TH,j.Fj,j.JJ,j.On,x._L,e.Ke,H.l,z.yS],pipes:[U.i,M.n,I.i,J.I,Y.b,ie.W],styles:['@charset "UTF-8";.dataTables_wrapper[_ngcontent-%COMP%]{margin-bottom:25px;max-width:99.9%}.dataTables_wrapper[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%]{border-left:1px solid rgba(0,0,0,.09);display:inline-block;height:30px;margin-left:5px;padding-left:5px;vertical-align:middle}.dataTables_wrapper[_ngcontent-%COMP%] .widget-toolbar[_ngcontent-%COMP%]{border-left:1px solid rgba(0,0,0,.09);float:right;padding:0 8px}.dataTables_wrapper[_ngcontent-%COMP%] .widget-toolbar[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%]{padding-left:0}.dataTables_wrapper[_ngcontent-%COMP%] .dataTables_length[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]{line-height:25px;text-align:right}.dataTables_header[_ngcontent-%COMP%]{background-color:#f8f9fa;border:1px solid #ced4da;border-bottom:0;padding:5px;position:relative}.dataTables_header[_ngcontent-%COMP%] .cd-datatable-actions[_ngcontent-%COMP%]{float:left}.dataTables_header[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{padding-left:8px}.dataTables_header[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%]{border-left:1px solid rgba(0,0,0,.09);float:right;max-width:250px;padding-left:8px;padding-right:8px;width:40%}.dataTables_header[_ngcontent-%COMP%] .input-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]{height:30px}.dataTables_header[_ngcontent-%COMP%] .input-group.dataTables_paginate[_ngcontent-%COMP%]{min-width:85px;padding-right:8px;width:8%}.dataTables_header[_ngcontent-%COMP%] .filter-chips[_ngcontent-%COMP%]{float:right;padding:0 8px}.dataTables_header[_ngcontent-%COMP%] .filter-chips[_ngcontent-%COMP%] .badge-remove[_ngcontent-%COMP%]{color:#fff} cd-table .cd-datatable{border:1px solid #ced4da;margin-bottom:0;max-width:none!important} cd-table .cd-datatable .progress-linear{display:block;height:5px;margin:0;padding:0;position:relative;width:100%} cd-table .cd-datatable .progress-linear .container{background-color:#2b99a8} cd-table .cd-datatable .progress-linear .container .bar{background-color:#2b99a8;height:100%;left:0;overflow:hidden;position:absolute;width:100%} cd-table .cd-datatable .progress-linear .container .bar:before{animation:progress-loading 3s linear infinite;background-color:#2b99a8;content:"";display:block;height:100%;left:-200px;position:absolute;width:200px} cd-table .cd-datatable .datatable-header{background-clip:padding-box;background-color:#f8f9fa;background-image:linear-gradient(to bottom,#f8f9fa 0,#e9ecef 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#fffafafa",endColorstr="#ffededed",GradientType=0)} cd-table .cd-datatable .datatable-header .sort-asc, cd-table .cd-datatable .datatable-header .sort-desc{color:#2b99a8} cd-table .cd-datatable .datatable-header .datatable-header-cell{border:0;border-bottom:1px solid #ced4da;border-left:1px solid #ced4da;padding:5px;font-weight:bold;text-align:left} cd-table .cd-datatable .datatable-header .datatable-header-cell .datatable-header-cell-label:after{font-family:ForkAwesome;font-weight:400;height:9px;left:10px;line-height:12px;position:relative;vertical-align:baseline;width:12px} cd-table .cd-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-label:after{content:" \\f0dc"} cd-table .cd-datatable .datatable-header .datatable-header-cell.sortable.sort-active.sort-asc .datatable-header-cell-label:after{content:" \\f160"} cd-table .cd-datatable .datatable-header .datatable-header-cell.sortable.sort-active.sort-desc .datatable-header-cell-label:after{content:" \\f161"} cd-table .cd-datatable .datatable-header .datatable-header-cell:first-child{border-left:0} cd-table .cd-datatable .datatable-body{margin-bottom:-6px} cd-table .cd-datatable .datatable-body .empty-row{background-color:#c8ecf1;font-style:italic;font-weight:bold;padding-bottom:5px;padding-top:5px;text-align:center} cd-table .cd-datatable .datatable-body .datatable-body-row.clickable:hover .datatable-row-group{background-color:#c8ecf1;transition-duration:.3s;transition-property:background;transition-timing-function:linear} cd-table .cd-datatable .datatable-body .datatable-body-row.datatable-row-even{background-color:#fff} cd-table .cd-datatable .datatable-body .datatable-body-row.datatable-row-odd{background-color:#f8f9fa} cd-table .cd-datatable .datatable-body .datatable-body-row.active, cd-table .cd-datatable .datatable-body .datatable-body-row.active:hover{background-color:#9fdee6} cd-table .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell{border:0;border-bottom:1px solid #ced4da;border-left:1px solid #ced4da;padding:5px} cd-table .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell:first-child{border-left:0} cd-table .cd-datatable .datatable-body .datatable-body-row .datatable-body-cell .datatable-body-cell-label{display:block;height:100%} cd-table .cd-datatable .datatable-body .datatable-row-detail{border-bottom:2px solid #ced4da;overflow-y:visible!important;padding:20px} cd-table .cd-datatable .datatable-body .expand-collapse-icon{display:block;height:100%;text-align:center} cd-table .cd-datatable .datatable-body .expand-collapse-icon:hover{text-decoration:none} cd-table .cd-datatable .datatable-body .expand-collapse-icon-right:before{color:#212529;font-family:"ForkAwesome",sans-serif;font-size:1rem;line-height:1;content:"\\f105"} cd-table .cd-datatable .datatable-body .expand-collapse-icon-down:before{color:#212529;font-family:"ForkAwesome",sans-serif;font-size:1rem;line-height:1;content:"\\f107"} cd-table .cd-datatable .datatable-footer .selected-count, cd-table .cd-datatable .datatable-footer .page-count{font-style:italic;min-height:2rem;padding-left:.3rem;padding-top:.3rem} cd-table .cd-datatable .cd-datatable-checkbox{text-align:center}@keyframes progress-loading{0%{left:-200px;width:15%}50%{width:30%}70%{width:70%}80%{left:50%}95%{left:120%}to{left:100%}}'],changeDetection:0}),Tt})()},93523:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>s,G:()=>a});var t=o(23815),e=o.n(t);function s(...h){switch(h.length){case 1:return l.apply(void 0,h);case 3:return u.apply(void 0,h);default:throw new Error}}function a(h,_,m){const b=`__ignore_${_}`;Array.isArray(h[b])?h[b].push(m):h[b]=[m]}function l(h){for(const _ of Object.getOwnPropertyNames(h.prototype)){const m=Object.getOwnPropertyDescriptor(h.prototype,_);!(m.value instanceof Function)||"constructor"===_||(u(h.prototype,_,m),Object.defineProperty(h.prototype,_,m))}}function u(h,_,m){void 0===m&&(m=Object.getOwnPropertyDescriptor(h,_));const b=m.value;m.value=function(){const C=`__ignore_${_}`,D=h[C]||[],x=[];for(let H=0;H<arguments.length;H++)x[H]=e().isString(arguments[H])&&-1===D.indexOf(H)?encodeURIComponent(arguments[H]):arguments[H];return b.apply(this,x)}}},82945:(Ge,g,o)=>{"use strict";o.d(g,{U:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{constructor(h){this.elementRef=h,this.focus=!0}ngAfterViewInit(){const h=this.elementRef.nativeElement;this.focus&&e().isFunction(h.focus)&&h.focus()}set autofocus(h){e().isBoolean(h)?this.focus=h:e().isFunction(h)&&(this.focus=h())}}return l.\u0275fac=function(h){return new(h||l)(s.Y36(s.SBq))},l.\u0275dir=s.lG2({type:l,selectors:[["","autofocus",""]],inputs:{autofocus:"autofocus"}}),l})()},17932:(Ge,g,o)=>{"use strict";o.d(g,{Q:()=>h});var t=o(74788),e=o(23815),s=o.n(e),a=o(47557),l=o(28211),u=o(24751);let h=(()=>{class _{constructor(b,C,D,x){this.elementRef=b,this.control=C,this.dimlessBinaryPipe=D,this.formatter=x,this.ngModelChange=new t.vpe,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value)}setValue(b){/^[\d.]+$/.test(b)&&(b+=this.defaultUnit||"m");const C=this.formatter.toBytes(b),D=this.round(C);this.el.value=this.dimlessBinaryPipe.transform(D),null!==C?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(b){if(null!==b&&0!==b){if(!s().isUndefined(this.minBytes)&&b<this.minBytes)return this.minBytes;if(!s().isUndefined(this.maxBytes)&&b>this.maxBytes)return this.maxBytes;if(!s().isUndefined(this.roundPower)){const C=Math.round(Math.log(b)/Math.log(this.roundPower));return Math.pow(this.roundPower,C)}}return b}onBlur(b){this.setValue(b)}}return _.\u0275fac=function(b){return new(b||_)(t.Y36(t.SBq),t.Y36(u.a5),t.Y36(a.$),t.Y36(l.H))},_.\u0275dir=t.lG2({type:_,selectors:[["","cdDimlessBinary",""]],hostBindings:function(b,C){1&b&&t.NdJ("blur",function(x){return C.onBlur(x.target.value)})},inputs:{minBytes:"minBytes",maxBytes:"maxBytes",roundPower:"roundPower",defaultUnit:"defaultUnit"},outputs:{ngModelChange:"ngModelChange"}}),_})()},35540:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>e});var t=o(74788);let e=(()=>{class s{}return s.\u0275fac=function(l){return new(l||s)},s.\u0275mod=t.oAB({type:s}),s.\u0275inj=t.cJS({imports:[[]]}),s})()},87925:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>a});var t=o(74788),e=o(84333),s=o(74937);let a=(()=>{class l{constructor(h,_,m){this.formScope=h,this.authStorageService=_,this.elementRef=m}ngAfterViewInit(){var h,_,m;this.permissions=this.authStorageService.getPermissions();const b=null===(h=this.formScope)||void 0===h?void 0:h.cdFormScope;b&&!(null===(m=null===(_=this.permissions)||void 0===_?void 0:_[b])||void 0===m?void 0:m.update)&&(this.elementRef.nativeElement.disabled=!0)}}return l.\u0275fac=function(h){return new(h||l)(t.Y36(e.T,8),t.Y36(s.j),t.Y36(t.SBq))},l.\u0275dir=t.lG2({type:l,selectors:[["input",3,"cdNoFormInputDisable",""],["select",3,"cdNoFormInputDisable",""],["button",3,"cdNoFormInputDisable",""],["","cdFormInputDisable",""]]}),l})()},63622:(Ge,g,o)=>{"use strict";o.d(g,{y:()=>l});var t=o(34501),e=o(8958),s=o(93614),a=o(74788);let l=(()=>{class u{constructor(_,m,b){this.templateRef=_,this.viewContainer=m,this.componentFactoryResolver=b}set cdFormLoading(_){let m,b;switch(this.viewContainer.clear(),_){case s.Q.Loading:m=this.componentFactoryResolver.resolveComponentFactory(e.b),b=this.resolveNgContent("Loading form data..."),this.viewContainer.createComponent(m,null,null,b);break;case s.Q.Ready:this.viewContainer.createEmbeddedView(this.templateRef);break;case s.Q.Error:m=this.componentFactoryResolver.resolveComponentFactory(t.G),b=this.resolveNgContent("Form data could not be loaded."),this.viewContainer.createComponent(m,null,null,b).instance.type="error"}}resolveNgContent(_){return[[document.createTextNode(_)]]}}return u.\u0275fac=function(_){return new(_||u)(a.Y36(a.Rgc),a.Y36(a.s_b),a.Y36(a._Vd))},u.\u0275dir=a.lG2({type:u,selectors:[["","cdFormLoading",""]],inputs:{cdFormLoading:"cdFormLoading"}}),u})()},84333:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>e});var t=o(74788);let e=(()=>{class s{}return s.\u0275fac=function(l){return new(l||s)},s.\u0275dir=t.lG2({type:s,selectors:[["","cdFormScope",""]],inputs:{cdFormScope:"cdFormScope"}}),s})()},94276:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>a});var t=o(74788),e=o(24751);let a=(()=>{class l{constructor(h){this.parent=h}get validClass(){return!!this.control&&this.control.valid&&(this.control.touched||this.control.dirty)}get invalidClass(){return!!this.control&&this.control.invalid&&this.control.touched&&this.control.dirty}get path(){return function(l,u){return[...u.path,l]}(this.formControlName,this.parent)}get control(){return this.formDirective&&this.formDirective.getControl(this)}get formDirective(){return this.parent?this.parent.formDirective:null}}return l.\u0275fac=function(h){return new(h||l)(t.Y36(e.gN,13))},l.\u0275dir=t.lG2({type:l,selectors:[["",8,"form-control"],["",8,"form-check-input"],["",8,"custom-control-input"]],hostVars:4,hostBindings:function(h,_){2&h&&t.ekj("is-valid",_.validClass)("is-invalid",_.invalidClass)},inputs:{formControlName:"formControlName",formControl:"formControl"}}),l})()},56310:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>s});var t=o(24751),e=o(74788);let s=(()=>{class a{constructor(u){this.elRef=u,this.validationDisabled=!1}get hasErrors(){return this.formControlNames.some(u=>!u.valid&&u.dirty&&u.touched)&&!this.validationDisabled}get hasSuccess(){return!this.formControlNames.some(u=>!u.valid)&&this.formControlNames.some(u=>u.dirty&&u.touched)&&!this.validationDisabled}get label(){const u=this.elRef.nativeElement.querySelector("label");return u&&u.textContent?u.textContent.trim():"This field"}get isDirtyAndTouched(){return this.formControlNames.some(u=>u.dirty&&u.touched)}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(e.SBq))},a.\u0275dir=e.lG2({type:a,selectors:[["",8,"form-group"]],contentQueries:function(u,h,_){if(1&u&&e.Suo(_,t.u,4),2&u){let m;e.iGM(m=e.CRH())&&(h.formControlNames=m)}},hostVars:4,hostBindings:function(u,h){2&u&&e.ekj("has-error",h.hasErrors)("has-success",h.hasSuccess)},inputs:{validationDisabled:"validationDisabled"}}),a})()},41582:(Ge,g,o)=>{"use strict";o.d(g,{V:()=>s});var t=o(74788),e=o(24751);let s=(()=>{class a{constructor(){this.validSubmit=new t.vpe}onSubmit(){this.markAsTouchedAndDirty(this.formGroup),this.formGroup.valid&&this.validSubmit.emit(this.formGroup.value)}markAsTouchedAndDirty(u){u instanceof e.cw?Object.keys(u.controls).forEach(h=>this.markAsTouchedAndDirty(u.controls[h])):u instanceof e.Oe?u.controls.forEach(h=>this.markAsTouchedAndDirty(h)):u instanceof e.NI&&u.enabled&&(u.markAsDirty(),u.markAsTouched(),u.updateValueAndValidity())}}return a.\u0275fac=function(u){return new(u||a)},a.\u0275dir=t.lG2({type:a,selectors:[["","formGroup",""]],hostBindings:function(u,h){1&u&&t.NdJ("submit",function(){return h.onSubmit()})},inputs:{formGroup:"formGroup"},outputs:{validSubmit:"validSubmit"}}),a})()},4416:(Ge,g,o)=>{"use strict";o.d(g,{C:()=>e});var t=o(74788);let e=(()=>{class s{constructor(l,u){this.elementRef=l,this.renderer=u}ngOnInit(){this.renderer.setAttribute(this.elementRef.nativeElement,"tabindex","-1"),this.iElement=this.renderer.createElement("i"),this.renderer.addClass(this.iElement,"fa"),this.renderer.appendChild(this.elementRef.nativeElement,this.iElement),this.update()}getInputElement(){return document.getElementById(this.cdPasswordButton)}update(){const l=this.getInputElement();l&&"text"===l.type?(this.renderer.removeClass(this.iElement,"fa-eye"),this.renderer.addClass(this.iElement,"fa-eye-slash")):(this.renderer.removeClass(this.iElement,"fa-eye-slash"),this.renderer.addClass(this.iElement,"fa-eye"))}onClick(){const l=this.getInputElement();l.type="password"===l.type?"text":"password",this.update()}}return s.\u0275fac=function(l){return new(l||s)(t.Y36(t.SBq),t.Y36(t.Qsj))},s.\u0275dir=t.lG2({type:s,selectors:[["","cdPasswordButton",""]],hostBindings:function(l,u){1&l&&t.NdJ("click",function(){return u.onClick()})},inputs:{cdPasswordButton:"cdPasswordButton"}}),s})()},59376:(Ge,g,o)=>{"use strict";o.d(g,{m:()=>s});var t=o(74788),e=o(38549);let s=(()=>{class a{constructor(u){this.nav=u,this.localStorage=window.localStorage}ngOnInit(){const u=this.localStorage.getItem(`tabset_${this.cdStatefulTab}`);u&&this.nav.select(u)}onNavChange(u){this.cdStatefulTab&&u.nextId&&this.localStorage.setItem(`tabset_${this.cdStatefulTab}`,u.nextId)}}return a.\u0275fac=function(u){return new(u||a)(t.Y36(e.Pz,9))},a.\u0275dir=t.lG2({type:a,selectors:[["","cdStatefulTab",""]],hostBindings:function(u,h){1&u&&t.NdJ("navChange",function(m){return h.onNavChange(m)})},inputs:{cdStatefulTab:"cdStatefulTab"}}),a})()},99466:(Ge,g,o)=>{"use strict";o.d(g,{e:()=>t});var t=(()=>{return(e=t||(t={})).bold="bold",e.sparkline="sparkline",e.perSecond="perSecond",e.checkIcon="checkIcon",e.routerLink="routerLink",e.executing="executing",e.classAdding="classAdding",e.badge="badge",e.map="map",e.truncate="truncate",t;var e})()},65862:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>t});var t=(()=>{return(e=t||(t={})).add="fa fa-plus",e.addCircle="fa fa-plus-circle",e.minusCircle="fa fa-minus-circle",e.edit="fa fa-pencil",e.destroy="fa fa-times",e.destroyCircle="fa fa-times-circle",e.exchange="fa fa-exchange",e.copy="fa fa-copy",e.clipboard="fa fa-clipboard",e.flatten="fa fa-chain-broken",e.trash="fa fa-trash-o",e.lock="fa fa-lock",e.unlock="fa fa-unlock",e.clone="fa fa-clone",e.undo="fa fa-undo",e.search="fa fa-search",e.start="fa fa-play",e.stop="fa fa-stop",e.analyse="fa fa-stethoscope",e.deepCheck="fa fa-cog",e.reweight="fa fa-balance-scale",e.left="fa fa-arrow-left",e.right="fa fa-arrow-right",e.down="fa fa-arrow-down",e.erase="fa fa-eraser",e.user="fa fa-user",e.users="fa fa-users",e.share="fa fa-share-alt",e.key="fa fa-key-modern",e.warning="fa fa-exclamation-triangle",e.info="fa fa-info",e.infoCircle="fa fa-info-circle",e.questionCircle="fa fa-question-circle-o",e.check="fa fa-check",e.show="fa fa-eye",e.paragraph="fa fa-paragraph",e.terminal="fa fa-terminal",e.magic="fa fa-magic",e.hourglass="fa fa-hourglass-o",e.filledHourglass="fa fa-hourglass",e.table="fa fa-table",e.spinner="fa fa-spinner",e.refresh="fa fa-refresh",e.bullseye="fa fa-bullseye",e.disk="fa fa-hdd-o",e.server="fa fa-server",e.filter="fa fa-filter",e.lineChart="fa fa-line-chart",e.signOut="fa fa-sign-out",e.health="fa fa-heartbeat",e.circle="fa fa-circle",e.bell="fa fa-bell",e.tag="fa fa-tag",e.leftArrow="fa fa-angle-left",e.rightArrow="fa fa-angle-right",e.leftArrowDouble="fa fa-angle-double-left",e.rightArrowDouble="fa fa-angle-double-right",e.flag="fa fa-flag",e.clearFilters="fa fa-window-close",e.download="fa fa-download",e.upload="fa fa-upload",e.close="fa fa-times",e.json="fa fa-file-code-o",e.text="fa fa-file-text",e.wrench="fa fa-wrench",e.enter="fa fa-sign-in",e.exit="fa fa-sign-out",e.restart="fa fa-history",e.deploy="fa fa-cube",e.large="fa fa-lg",e.large2x="fa fa-2x",e.large3x="fa fa-3x",e.stack="fa fa-stack",e.stack1x="fa fa-stack-1x",e.stack2x="fa fa-stack-2x",e.pulse="fa fa-pulse",e.spin="fa fa-spin",e.inverse="fa fa-inverse",t;var e})()},18001:(Ge,g,o)=>{"use strict";o.d(g,{k:()=>t});var t=(()=>{return(e=t||(t={}))[e.error=0]="error",e[e.info=1]="info",e[e.success=2]="success",t;var e})()},91801:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>t});var t=(()=>{return(e=t||(t={}))[e.ValueOk=0]="ValueOk",e[e.ValueStale=1]="ValueStale",e[e.ValueNone=2]="ValueNone",e[e.ValueException=3]="ValueException",t;var e})()},62862:(Ge,g,o)=>{"use strict";o.d(g,{O:()=>a});var t=o(24751),e=o(95463),s=o(74788);let a=(()=>{class l extends t.qu{group(h,_=null){const m=super.group(h,_);return new e.d(m.controls,m.validator,m.asyncValidator)}}return l.\u0275fac=function(){let u;return function(_){return(u||(u=s.n5z(l)))(_||l)}}(),l.\u0275prov=s.Yz7({token:l,factory:l.\u0275fac,providedIn:"root"}),l})()},95463:(Ge,g,o)=>{"use strict";o.d(g,{d:()=>e});var t=o(24751);class e extends t.cw{constructor(a,l,u){super(a,l,u),this.controls=a}get(a){const l=this._get(a);if(!l)throw new Error(`Control '${a}' could not be found!`);return l}_get(a){return super.get(a)||Object.values(this.controls).filter(l=>l.get).map(l=>l instanceof e?l._get(a):l.get(a)).find(l=>Boolean(l))}getValue(a){return this.get(a).value}silentSet(a,l){this.get(a).setValue(l,{emitEvent:!1})}showError(a,l,u){const h=this.get(a);return(l.submitted||h.dirty)&&(u?h.hasError(u):h.invalid)}}},93614:(Ge,g,o)=>{"use strict";o.d(g,{Q:()=>t,E:()=>e});var t=(()=>{return(s=t||(t={}))[s.Loading=0]="Loading",s[s.Ready=1]="Ready",s[s.Error=2]="Error",s[s.None=3]="None",t;var s})();class e{constructor(){this.loading=t.Loading}loadingStart(){this.loading=t.Loading}loadingReady(){this.loading=t.Ready}loadingError(){this.loading=t.Error}loadingNone(){this.loading=t.None}}},77205:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>x,P:()=>D});var t=o(24751),e=o(23815),s=o.n(e),a=o(25917),l=o(46797),u=o(43190);function h(j,H){return H?(0,u.w)(()=>j,H):(0,u.w)(()=>j)}var _=o(88002),m=o(15257),b=o(47557),C=o(28211);function D(j){return null==j||0===j.length}class x{static email(H){return D(H.value)?null:t.kI.email(H)}static ip(H=0){const z=/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i,U=/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i;return t.kI.pattern(4===H?z:6===H?U:new RegExp(z.source+"|"+U.source))}static number(H=!0){return t.kI.pattern(H?/^-?[0-9]+$/i:/^[0-9]+$/i)}static decimalNumber(H=!0){return t.kI.pattern(H?/^-?[0-9]+(.[0-9]+)?$/i:/^[0-9]+(.[0-9]+)?$/i)}static sslCert(){return t.kI.pattern(/^-----BEGIN CERTIFICATE-----(\n|\r|\f)((.+)?((\n|\r|\f).+)*)(\n|\r|\f)-----END CERTIFICATE-----[\n\r\f]*$/)}static sslPrivKey(){return t.kI.pattern(/^-----BEGIN RSA PRIVATE KEY-----(\n|\r|\f)((.+)?((\n|\r|\f).+)*)(\n|\r|\f)-----END RSA PRIVATE KEY-----[\n\r\f]*$/)}static pemCert(){return t.kI.pattern(/^-----BEGIN .+-----$.+^-----END .+-----$/ms)}static requiredIf(H,z){let U=!1;return M=>(!U&&M.parent&&(Object.keys(H).forEach(J=>{M.parent.get(J).valueChanges.subscribe(()=>{M.updateValueAndValidity({emitEvent:!1})})}),U=!0),Object.keys(H).every(J=>{if(!M.parent)return!1;const Y=M.parent.get(J).value,ie=H[J];if(s().isObjectLike(ie)){let oe=!1;switch(ie.op){case"empty":oe=s().isEmpty(Y);break;case"!empty":oe=!s().isEmpty(Y);break;case"equal":oe=Y===ie.arg1;break;case"!equal":oe=Y!==ie.arg1;break;case"minLength":s().isString(Y)&&(oe=Y.length>=ie.arg1)}return oe}return Y===ie})&&(s().isFunction(z)?z.call(z,M.value):D(M.value))?{required:!0}:null)}static composeIf(H,z){let U=!1;return M=>(!U&&M.parent&&(Object.keys(H).forEach(I=>{M.parent.get(I).valueChanges.subscribe(()=>{M.updateValueAndValidity({emitEvent:!1})})}),U=!0),Object.keys(H).every(I=>M.parent&&M.parent.get(I).value===H[I])?t.kI.compose(z)(M):null)}static custom(H,z){return U=>{const M=z.call(this,U.value);return M?{[H]:M}:null}}static validateIf(H,z,U,M=[],I=[]){U=U.concat(M),H.setValidators(J=>z.call(this)?t.kI.compose(U)(J):M.length>0?t.kI.compose(M)(J):null),I.forEach(J=>{J.valueChanges.subscribe(()=>{H.updateValueAndValidity({emitEvent:!1})})})}static match(H,z){return U=>{const M=U.get(H),I=U.get(z);if(!M||!I)return null;if(M.value!==I.value)I.setErrors({match:!0});else if(I.hasError("match")){const Y=I.errors;s().unset(Y,"match"),I.setErrors(s().isEmpty(s().keys(Y))?null:Y)}return null}}static unique(H,z=null,U,M=!1){let I;return J=>J.pristine||D(J.value)?(0,a.of)(null):(I=J.value,s().isFunction(U)&&null!==U()&&""!==U()&&(I=M?`${J.value}$${U()}`:`${U()}$${J.value}`),(0,l.H)().pipe(h(H.call(z,I)),(0,_.U)(Y=>Y?{notUnique:!0}:null),(0,m.q)(1)))}static uuid(H=!1){const z=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;return U=>U.pristine&&U.untouched||!H&&!U.value||z.test(U.value)?null:{invalidUuid:"This is not a valid UUID"}}static binaryMin(H){return z=>{const U=new C.H,M=(new C.H).toBytes(z.value);if(H<=M)return null;const I=new b.$(U).transform(H);return{binaryMin:()=>"Size has to be at least " + I + " or more"}}}static binaryMax(H){return z=>{const U=new C.H,M=U.toBytes(z.value);if(H>=M)return null;const I=new b.$(U).transform(H);return{binaryMax:()=>"Size has to be at most " + I + " or less"}}}static passwordPolicy(H,z,U){return M=>{if(M.pristine||""===M.value)return s().isFunction(U)&&U(!0,0),(0,a.of)(null);let I;return s().isFunction(z)&&(I=z()),(0,l.H)(500).pipe(h(s().invoke(H,"validatePassword",M.value,I)),(0,_.U)(J=>(s().isFunction(U)&&U(J.valid,J.credits,J.valuation),J.valid?null:{passwordPolicy:!0})),(0,m.q)(1))}}static bucketName(){return H=>{if(H.pristine||!H.value)return(0,a.of)({required:!0});const z=[];let U;return z.push(()=>{const J=H.value;let Y=!0;return(/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i.test(J)||/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i.test(J))&&(U="ipAddress",Y=!1),Y}),z.push(M=>s().inRange(M.length,3,64)?!!/^[0-9a-z.-]+$/.test(H.value)||(U="bucketNameInvalid",!1):(U="shouldBeInRange",!1)),z.push(M=>{const I=s().split(M,".");return s().every(I,J=>J!==s().toLower(J)||J.includes("_")?(U="containsUpperCase",!1):/^[0-9a-z-]+$/.test(J)?s().every([0,J.length-1],Y=>(U="lowerCaseOrNumber",/[a-z]/.test(J[Y])||s().isInteger(s().parseInt(J[Y])))):(U="onlyLowerCaseAndNumbers",!1))}),s().every(z,M=>M(H.value))?(0,a.of)(null):(0,a.of)((()=>{switch(U){case"onlyLowerCaseAndNumbers":return{onlyLowerCaseAndNumbers:!0};case"shouldBeInRange":return{shouldBeInRange:!0};case"ipAddress":return{ipAddress:!0};case"containsUpperCase":return{containsUpperCase:!0};case"lowerCaseOrNumber":return{lowerCaseOrNumber:!0};default:return{bucketNameInvalid:!0}}})())}}static bucketExistence(H,z){return U=>U.pristine||!U.value?(0,a.of)({required:!0}):z.exists(U.value).pipe((0,_.U)(M=>M===H?null:{bucketNameNotAllowed:!0}))}}},61355:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>s,e:()=>a});var t=o(65862),e=o(18001);class s{constructor(u=e.k.info,h,_,m,b="Ceph"){this.type=u,this.title=h,this.message=_,this.options=m,this.application=b,this.isFinishedTask=!1,this.classes={Ceph:"ceph-icon",Prometheus:"prometheus-icon"},this.applicationClass=this.classes[this.application]}}class a extends s{constructor(u=new s){super(u.type,u.title,u.message,u.options,u.application),this.config=u,this.textClasses=["text-danger","text-info","text-success"],this.iconClasses=[t.P.warning,t.P.info,t.P.check],this.borderClasses=["border-danger","border-info","border-success"],delete this.config,this.timestamp=(new Date).toJSON(),this.iconClass=this.iconClasses[this.type],this.textClass=this.textClasses[this.type],this.borderClass=this.borderClasses[this.type],this.isFinishedTask=u.isFinishedTask}}},51907:(Ge,g,o)=>{"use strict";o.d(g,{G:()=>t});class t{constructor(s){this.pwdExpirationSpan=0,this.pwdExpirationSpan=s.user_pwd_expiration_span,this.pwdExpirationWarning1=s.user_pwd_expiration_warning_1,this.pwdExpirationWarning2=s.user_pwd_expiration_warning_2}}},68774:(Ge,g,o)=>{"use strict";o.d(g,{r:()=>t});class t{constructor(s){this._selected=[],s&&(this._selected=s),this.update()}update(){this.hasSelection=this._selected.length>0,this.hasSingleSelection=1===this._selected.length,this.hasMultiSelection=this._selected.length>1}set selected(s){this._selected=s,this.update()}get selected(){return this._selected}add(s){this._selected.push(s),this.update()}first(){return this.hasSelection?this._selected[0]:null}}},87311:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>t});class t{constructor(s,a,l,u){this.customColors={backgroundColor:void 0,borderColor:void 0},this.checkOffset=!1,this.chartEl=s.nativeElement,this.getStyleLeft=l,this.getStyleTop=u,this.tooltipEl=a.nativeElement}customTooltips(s){if(0===s.opacity)return void(this.tooltipEl.style.opacity=0);if(this.tooltipEl.classList.remove("above","below","no-transform"),this.tooltipEl.classList.add(s.yAlign?s.yAlign:"no-transform"),s.body){const u=s.title||[],h=s.body.map(b=>b.lines);let _="<thead>";u.forEach(b=>{_+="<tr><th>"+this.getTitle(b)+"</th></tr>"}),_+="</thead><tbody>",h.forEach((b,C)=>{const D=s.labelColors[C];let x="background:"+(this.customColors.backgroundColor||D.backgroundColor);x+="; border-color:"+(this.customColors.borderColor||D.borderColor),x+="; border-width: 2px",_+='<tr><td nowrap><span class="chartjs-tooltip-key" style="'+x+'"></span>'+this.getBody(b)+"</td></tr>"}),_+="</tbody>",this.tooltipEl.querySelector("table").innerHTML=_}const a=this.chartEl.offsetTop,l=this.chartEl.offsetLeft;if(this.checkOffset){const u=s.width/2;this.tooltipEl.classList.remove("transform-left"),this.tooltipEl.classList.remove("transform-right"),s.caretX-u<0?this.tooltipEl.classList.add("transform-left"):s.caretX+u>this.chartEl.width&&this.tooltipEl.classList.add("transform-right")}this.tooltipEl.style.left=this.getStyleLeft(s,l),this.tooltipEl.style.top=this.getStyleTop(s,a),this.tooltipEl.style.opacity=1,this.tooltipEl.style.fontFamily=s._fontFamily,this.tooltipEl.style.fontSize=s.fontSize,this.tooltipEl.style.fontStyle=s._fontStyle,this.tooltipEl.style.padding=s.yPadding+"px "+s.xPadding+"px"}getBody(s){return s}getTitle(s){return s}}},30633:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>t,r:()=>e});var t=(()=>{return(s=t||(t={}))[s.global=0]="global",s[s.pool=1]="pool",s[s.image=2]="image",t;var s})(),e=(()=>{return(s=e||(e={}))[s.bps=0]="bps",s[s.iops=1]="iops",s[s.milliseconds=2]="milliseconds",e;var s})()},60737:(Ge,g,o)=>{"use strict";o.d(g,{o:()=>e});var t=o(29075);class e extends t.i{}},76111:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>e});var t=o(29075);class e extends t.i{}},19358:(Ge,g,o)=>{"use strict";o.d(g,{N:()=>t});class t{constructor(s,a,l){this.poolName=s,this.namespace=a,this.imageName=l}static fromString(s){const a=s.split("/");return new this(a[0],a.length>=3?a[1]:null,a.length>=3?a[2]:a[1])}getNameSpace(){return this.namespace?`${this.namespace}/`:""}toString(){return`${this.poolName}/${this.getNameSpace()}${this.imageName}`}toStringEncoded(){return encodeURIComponent(`${this.poolName}/${this.getNameSpace()}${this.imageName}`)}}},29075:(Ge,g,o)=>{"use strict";o.d(g,{i:()=>t});class t{constructor(s,a){this.name=s,this.metadata=a}}},47187:(Ge,g,o)=>{"use strict";o.d(g,{I:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h,_=!1){let m=h;return(!e().isArray(h)||e().isArray(h)&&_)&&(m=[h]),m}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"array",type:l,pure:!0}),l})()},68962:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>e});var t=o(74788);let e=(()=>{class s{transform(l,u="Yes",h="No"){return Boolean(l)?u:h}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"booleanText",type:s,pure:!0}),s})()},70442:(Ge,g,o)=>{"use strict";o.d(g,{i:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){let u=!1;switch(l){case!0:case 1:case"y":case"yes":case"t":case"true":case"on":case"1":u=!0}return u}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"boolean",type:s,pure:!0}),s})()},96102:(Ge,g,o)=>{"use strict";o.d(g,{N:()=>s});var t=o(74788),e=o(12057);let s=(()=>{class a{constructor(u){this.datePipe=u}transform(u){return null===u||""===u?"":this.datePipe.transform(u,"shortDate")+" "+this.datePipe.transform(u,"mediumTime")}}return a.\u0275fac=function(u){return new(u||a)(t.Y36(e.uU,16))},a.\u0275pipe=t.Yjl({name:"cdDate",type:a,pure:!0}),a})()},24310:(Ge,g,o)=>{"use strict";o.d(g,{t:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){const u=/ceph version\s+[^ ]+\s+\(.+\)\s+(.+)\s+\((.+)\)/.exec(l);return u?"dev"===u[2]?"master":u[1]:l}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"cephReleaseName",type:s,pure:!0}),s})()},58111:(Ge,g,o)=>{"use strict";o.d(g,{F:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){const u=/ceph version\s+([^ ]+)\s+\(.+\)/.exec(l);return u?u[1]:l}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"cephShortVersion",type:s,pure:!0}),s})()},20044:(Ge,g,o)=>{"use strict";o.d(g,{O:()=>s});var t=o(28211),e=o(74788);let s=(()=>{class a{constructor(u){this.formatter=u}transform(u){return this.formatter.format_number(u,1024,["B/s","kB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"])}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(t.H,16))},a.\u0275pipe=e.Yjl({name:"dimlessBinaryPerSecond",type:a,pure:!0}),a})()},47557:(Ge,g,o)=>{"use strict";o.d(g,{$:()=>s});var t=o(28211),e=o(74788);let s=(()=>{class a{constructor(u){this.formatter=u}transform(u){return this.formatter.format_number(u,1024,["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"])}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(t.H,16))},a.\u0275pipe=e.Yjl({name:"dimlessBinary",type:a,pure:!0}),a})()},66369:(Ge,g,o)=>{"use strict";o.d(g,{n:()=>s});var t=o(28211),e=o(74788);let s=(()=>{class a{constructor(u){this.formatter=u}transform(u){return this.formatter.format_number(u,1e3,["","k","M","G","T","P","E","Z","Y"])}}return a.\u0275fac=function(u){return new(u||a)(e.Y36(t.H,16))},a.\u0275pipe=e.Yjl({name:"dimless",type:a,pure:!0}),a})()},94088:(Ge,g,o)=>{"use strict";o.d(g,{u:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){if(null===l||l<=0)return"";const u=[[`${Math.floor(l/31536e3)}`,"years"],[`${Math.floor(l%31536e3/86400)}`,"days"],[`${Math.floor(l%86400/3600)}`,"hours"],[`${Math.floor(l%3600/60)}`,"minutes"],[`${Math.floor(l%60)}`,"seconds"]];let h="";for(let _=0,m=u.length;_<m;_++)"0"!==u[_][0]&&(h+=" "+u[_][0]+" "+("1"===u[_][0]?u[_][1].substr(0,u[_][1].length-1):u[_][1]));return h.trim()||"1 second"}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"duration",type:s,pure:!1}),s})()},41039:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h){return e().isUndefined(h)||e().isNull(h)?"-":e().isNaN(h)?"N/A":h}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"empty",type:l,pure:!0}),l})()},21766:(Ge,g,o)=>{"use strict";o.d(g,{A:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){return`${l} IOPS`}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"iops",type:s,pure:!0}),s})()},88820:(Ge,g,o)=>{"use strict";o.d(g,{V:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){switch(l){case"user:rbd":return"user:rbd (tcmu-runner)";default:return l}}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"iscsiBackstore",type:s,pure:!0}),s})()},86969:(Ge,g,o)=>{"use strict";o.d(g,{A:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){return l.join(", ")}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"join",type:s,pure:!0}),s})()},42746:(Ge,g,o)=>{"use strict";o.d(g,{e:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){return"[DBG]"===l?"debug":"[INF]"===l?"info":"[WRN]"===l?"warn":"[ERR]"===l?"err":""}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"logPriority",type:s,pure:!0}),s})()},78877:(Ge,g,o)=>{"use strict";o.d(g,{b:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h,_){return e().isPlainObject(_)?e().get(_,h,h):h}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"map",type:l,pure:!0}),l})()},48537:(Ge,g,o)=>{"use strict";o.d(g,{J:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){return`${l} ms`}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"milliseconds",type:s,pure:!0}),s})()},55657:(Ge,g,o)=>{"use strict";o.d(g,{g:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h,_){return""===h?e().defaultTo(_,"n/a"):h}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"notAvailable",type:l,pure:!0}),l})()},36569:(Ge,g,o)=>{"use strict";o.d(g,{f:()=>e});var t=o(74788);let e=(()=>{class s{transform(l){const u=parseInt(l,10);return isNaN(u)?l:l+(1===Math.floor(u/10)?"th":u%10==1?"st":u%10==2?"nd":u%10==3?"rd":"th")}}return s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=t.Yjl({name:"ordinal",type:s,pure:!0}),s})()},85953:(Ge,g,o)=>{"use strict";o.d(g,{D:()=>ce});var t=o(12057),e=o(47187),s=o(68962),a=o(70442),l=o(96102),u=o(24310),h=o(58111),_=o(20044),m=o(47557),b=o(66369),C=o(94088),D=o(41039),x=o(74788);let j=(()=>{class Ae{transform(Oe){return encodeURIComponent(Oe)}}return Ae.\u0275fac=function(Oe){return new(Oe||Ae)},Ae.\u0275pipe=x.Yjl({name:"encodeUri",type:Ae,pure:!0}),Ae})();var H=o(21766),z=o(88820),U=o(86969),M=o(42746),I=o(78877),J=o(48537),Y=o(55657),ie=o(36569),oe=o(90068),fe=o(60793),ne=o(52821),he=o(10545);let ce=(()=>{class Ae{}return Ae.\u0275fac=function(Oe){return new(Oe||Ae)},Ae.\u0275mod=x.oAB({type:Ae}),Ae.\u0275inj=x.cJS({providers:[e.I,a.i,s.T,t.uU,h.F,u.t,m.$,_.O,b.n,oe.h,z.V,U.A,M.e,l.N,D.W,j,ie.f,H.A,J.J,Y.g,he.m,C.u,I.b,ne.W,fe.A],imports:[[t.ez]]}),Ae})()},90068:(Ge,g,o)=>{"use strict";o.d(g,{h:()=>u});var t=o(23815),e=o.n(t),s=o(16738),a=o.n(s),l=o(74788);a().updateLocale("en",{relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"}});let u=(()=>{class h{transform(m,b=!0){let C;if(C=e().isNumber(m)?a().unix(m):a()(m),!C.isValid())return"";let D=C.fromNow();return b&&(D=e().upperFirst(D)),D}}return h.\u0275fac=function(m){return new(m||h)},h.\u0275pipe=l.Yjl({name:"relativeDate",type:h,pure:!1}),h})()},60793:(Ge,g,o)=>{"use strict";o.d(g,{A:()=>s});var t=o(74788),e=o(91211);let s=(()=>{class a{constructor(u){this.domSanitizer=u}transform(u){return this.domSanitizer.sanitize(t.q3G.HTML,u)}}return a.\u0275fac=function(u){return new(u||a)(t.Y36(e.H7,16))},a.\u0275pipe=t.Yjl({name:"sanitizeHtml",type:a,pure:!0}),a})()},52821:(Ge,g,o)=>{"use strict";o.d(g,{W:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h,_,m){return e().isString(h)?(m=e().defaultTo(m,""),e().truncate(h,{length:_,omission:m})):h}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"truncate",type:l,pure:!0}),l})()},10545:(Ge,g,o)=>{"use strict";o.d(g,{m:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{transform(h){return e().upperFirst(h)}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275pipe=s.Yjl({name:"upperFirst",type:l,pure:!0}),l})()},45510:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>a});var t=o(74788),e=o(6283),s=o(74937);let a=(()=>{class l{constructor(h,_){this.router=h,this.authStorageService=_}canActivate(h,_){return!!this.authStorageService.isLoggedIn()||(this.router.navigate(["/login"],{queryParams:{returnUrl:_.url}}),!1)}canActivateChild(h,_){return this.canActivate(h,_)}}return l.\u0275fac=function(h){return new(h||l)(t.LFG(e.F0),t.LFG(s.j))},l.\u0275prov=t.Yz7({token:l,factory:l.\u0275fac,providedIn:"root"}),l})()},74937:(Ge,g,o)=>{"use strict";o.d(g,{j:()=>l});var t=o(26215);class e{constructor(h=[]){["read","create","update","delete"].forEach(_=>this[_]=h.includes(_))}}class s{constructor(h){this.hosts=new e(h.hosts),this.configOpt=new e(h["config-opt"]),this.pool=new e(h.pool),this.osd=new e(h.osd),this.monitor=new e(h.monitor),this.rbdImage=new e(h["rbd-image"]),this.iscsi=new e(h.iscsi),this.rbdMirroring=new e(h["rbd-mirroring"]),this.rgw=new e(h.rgw),this.cephfs=new e(h.cephfs),this.manager=new e(h.manager),this.log=new e(h.log),this.user=new e(h.user),this.grafana=new e(h.grafana),this.prometheus=new e(h.prometheus),this.nfs=new e(h["nfs-ganesha"])}}var a=o(74788);let l=(()=>{class u{constructor(){this.isPwdDisplayedSource=new t.X(!1),this.isPwdDisplayed$=this.isPwdDisplayedSource.asObservable()}set(_,m={},b=!1,C=null,D=!1){localStorage.setItem("dashboard_username",_),localStorage.setItem("dashboard_permissions",JSON.stringify(new s(m))),localStorage.setItem("user_pwd_expiration_date",String(C)),localStorage.setItem("user_pwd_update_required",String(D)),localStorage.setItem("sso",String(b))}remove(){localStorage.removeItem("dashboard_username"),localStorage.removeItem("user_pwd_expiration_data"),localStorage.removeItem("user_pwd_update_required")}isLoggedIn(){return null!==localStorage.getItem("dashboard_username")}getUsername(){return localStorage.getItem("dashboard_username")}getPermissions(){return JSON.parse(localStorage.getItem("dashboard_permissions")||JSON.stringify(new s({})))}getPwdExpirationDate(){return Number(localStorage.getItem("user_pwd_expiration_date"))}getPwdUpdateRequired(){return"true"===localStorage.getItem("user_pwd_update_required")}isSSO(){return"true"===localStorage.getItem("sso")}}return u.\u0275fac=function(_){return new(_||u)},u.\u0275prov=a.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()},72625:(Ge,g,o)=>{"use strict";o.d(g,{R:()=>_});var t=o(26215),e=o(45435),s=o(88002),a=o(28049),l=o(74255),u=o(74788),h=o(24310);let _=(()=>{class m{constructor(C,D){this.summaryservice=C,this.cephReleaseNamePipe=D,this.releaseDataSource=new t.X(null),this.releaseData$=this.releaseDataSource.asObservable(),this.summaryservice.subscribeOnce(x=>{const j=this.cephReleaseNamePipe.transform(x.version);this.releaseDataSource.next(j)})}urlGenerator(C,D="master"){const j=`https://docs.ceph.com/en/${"master"===D?"latest":D}/`,H="https://ceph.io/";return{iscsi:`${j}mgr/dashboard/#enabling-iscsi-management`,prometheus:`${j}mgr/dashboard/#enabling-prometheus-alerting`,"nfs-ganesha":`${j}mgr/dashboard/#configuring-nfs-ganesha-in-the-dashboard`,"rgw-nfs":`${j}radosgw/nfs`,rgw:`${j}mgr/dashboard/#enabling-the-object-gateway-management-frontend`,dashboard:`${j}mgr/dashboard`,grafana:`${j}mgr/dashboard/#enabling-the-embedding-of-grafana-dashboards`,orch:`${j}mgr/orchestrator`,pgs:`${H}pgcalc`,help:`${H}help/`,security:`${H}security/`,trademarks:`${H}legal-page/trademarks/`,"dashboard-landing-page-status":`${j}mgr/dashboard/#dashboard-landing-page-status`,"dashboard-landing-page-performance":`${j}mgr/dashboard/#dashboard-landing-page-performance`,"dashboard-landing-page-capacity":`${j}mgr/dashboard/#dashboard-landing-page-capacity`}[C]}subscribeOnce(C,D,x){return this.releaseData$.pipe((0,e.h)(j=>!!j),(0,s.U)(j=>this.urlGenerator(C,j)),(0,a.P)()).subscribe(D,x)}}return m.\u0275fac=function(C){return new(C||m)(u.LFG(l.J),u.LFG(h.t))},m.\u0275prov=u.Yz7({token:m,factory:m.\u0275fac,providedIn:"root"}),m})()},4222:(Ge,g,o)=>{"use strict";o.d(g,{T:()=>l});var t=o(88002),e=o(26504),s=o(74788),a=o(89154);let l=(()=>{class u{constructor(_){this.featureToggles=_}canActivate(_){return this.featureToggles.get().pipe((0,t.U)(m=>{if(!1===m[_.routeConfig.path])throw new e._2;return!0}))}canActivateChild(_){return this.canActivate(_.parent)}}return u.\u0275fac=function(_){return new(_||u)(s.LFG(a.l))},u.\u0275prov=s.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()},89154:(Ge,g,o)=>{"use strict";o.d(g,{l:()=>l});var t=o(74788),e=o(58497),s=o(55358);let l=(()=>{class u{constructor(_,m){this.http=_,this.timerService=m,this.API_URL="api/feature_toggles",this.REFRESH_INTERVAL=3e4,this.featureToggleMap$=this.timerService.get(()=>this.http.get(this.API_URL),this.REFRESH_INTERVAL)}get(){return this.featureToggleMap$}}return u.\u0275fac=function(_){return new(_||u)(t.LFG(e.eN),t.LFG(s.f))},u.\u0275prov=t.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()},28211:(Ge,g,o)=>{"use strict";o.d(g,{H:()=>a});var t=o(23815),e=o.n(t),s=o(74788);let a=(()=>{class l{format_number(h,_,m,b=1){if(e().isString(h)&&(h=Number(h)),!e().isNumber(h))return"-";let C=h<1?0:Math.floor(Math.log(h)/Math.log(_));C=C>=m.length?m.length-1:C;let D=e().round(h/Math.pow(_,C),b).toString();return""===D?"-":(""!==m[C]&&(D=`${D} ${m[C]}`),D)}toBytes(h,_=null){const b=["b","k","m","g","t","p","e","z","y"],C=RegExp("^(\\d+(.\\d+)?) ?(["+b.join("")+"]?(b|ib|B/s)?)?$","i").exec(h);if(null===C)return _;let D=parseFloat(C[1]);return e().isString(C[3])&&(D*=Math.pow(1024,b.indexOf(C[3].toLowerCase()[0]))),Math.round(D)}toMilliseconds(h){const m=/^\s*(\d+)\s*(ms)?\s*$/i.exec(h);return null!==m?+m[1]:0}toIops(h){const m=/^\s*(\d+)\s*(IOPS)?\s*$/i.exec(h);return null!==m?+m[1]:0}}return l.\u0275fac=function(h){return new(h||l)},l.\u0275prov=s.Yz7({token:l,factory:l.\u0275fac,providedIn:"root"}),l})()},63285:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(74788),e=o(38549);let s=(()=>{class a{constructor(u){this.modal=u}show(u,h,_){const m=this.modal.open(u,_);return h&&Object.assign(m.componentInstance,h),m}dismissAll(){this.modal.dismissAll()}hasOpenModals(){return this.modal.hasOpenModals()}}return a.\u0275fac=function(u){return new(u||a)(t.LFG(e.FF))},a.\u0275prov=t.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},97161:(Ge,g,o)=>{"use strict";o.d(g,{g:()=>C});var t=o(23815),e=o.n(t),s=o(26215),a=o(79765),l=o(18001),u=o(61355),h=o(74788),_=o(91376),m=o(68879),b=o(96102);let C=(()=>{class D{constructor(j,H,z){this.toastr=j,this.taskMessageService=H,this.cdDatePipe=z,this.hideToasties=!1,this.dataSource=new s.X([]),this.data$=this.dataSource.asObservable(),this.sidebarSubject=new a.xQ,this.queued=[],this.KEY="cdNotifications";const U=localStorage.getItem(this.KEY);let M=[];e().isString(U)&&(M=JSON.parse(U,(I,J)=>e().isPlainObject(J)?e().assign(new u.e,J):J)),this.dataSource.next(M)}removeAll(){localStorage.removeItem(this.KEY),this.dataSource.next([])}remove(j){const H=this.dataSource.getValue();H.splice(j,1),this.dataSource.next(H),localStorage.setItem(this.KEY,JSON.stringify(H))}save(j){const H=this.dataSource.getValue();for(H.push(j),H.sort((z,U)=>z.timestamp>U.timestamp?-1:1);H.length>10;)H.pop();this.dataSource.next(H),localStorage.setItem(this.KEY,JSON.stringify(H))}show(j,H,z,U,M){return window.setTimeout(()=>{let I;I=e().isFunction(j)?j():e().isObject(j)?j:new u.T(j,H,z,U,M),this.queueToShow(I)},10)}queueToShow(j){this.cancel(this.queuedTimeoutId),this.queued.find(H=>e().isEqual(H,j))||this.queued.push(j),this.queuedTimeoutId=window.setTimeout(()=>{this.showQueued()},500)}showQueued(){this.getUnifiedTitleQueue().forEach(j=>{const H=new u.e(j);H.isFinishedTask||this.save(H),this.showToasty(H)})}getUnifiedTitleQueue(){return Object.values(this.queueShiftByTitle()).map(j=>{const H=j[0];return j.length>1&&(H.message="<ul>"+j.map(z=>`<li>${z.message}</li>`).join("")+"</ul>"),H})}queueShiftByTitle(){const j={};let H;for(;H=this.queued.shift();)j[H.title]||(j[H.title]=[]),j[H.title].push(H);return j}showToasty(j){this.hideToasties||this.toastr[["error","info","success"][j.type]]((j.message?j.message+"<br>":"")+this.renderTimeAndApplicationHtml(j),j.title,j.options)}renderTimeAndApplicationHtml(j){return`<small class="date">${this.cdDatePipe.transform(j.timestamp)}</small><i class="float-right custom-icon ${j.applicationClass}" title="${j.application}"></i>`}notifyTask(j,H=!0){const z=this.finishedTaskToNotification(j,H);return z.isFinishedTask=!0,this.show(z)}finishedTaskToNotification(j,H=!0){let z;return z=j.success&&H?new u.T(l.k.success,this.taskMessageService.getSuccessTitle(j)):new u.T(l.k.error,this.taskMessageService.getErrorTitle(j),this.taskMessageService.getErrorMessage(j)),z.isFinishedTask=!0,z}cancel(j){window.clearTimeout(j)}suspendToasties(j){this.hideToasties=j}toggleSidebar(j=!1){this.sidebarSubject.next(j)}}return D.\u0275fac=function(j){return new(j||D)(h.LFG(_._W),h.LFG(m.p),h.LFG(b.N))},D.\u0275prov=h.Yz7({token:D,factory:D.\u0275fac,providedIn:"root"}),D})()},33888:(Ge,g,o)=>{"use strict";o.d(g,{q:()=>h});var t=o(23815),e=o.n(t),s=o(88002),a=o(9837);class l{constructor(m){this.pwdPolicyEnabled=m.pwd_policy_enabled,this.pwdPolicyMinLength=m.pwd_policy_min_length,this.pwdPolicyCheckLengthEnabled=m.pwd_policy_check_length_enabled,this.pwdPolicyCheckOldpwdEnabled=m.pwd_policy_check_oldpwd_enabled,this.pwdPolicyCheckUsernameEnabled=m.pwd_policy_check_username_enabled,this.pwdPolicyCheckExclusionListEnabled=m.pwd_policy_check_exclusion_list_enabled,this.pwdPolicyCheckRepetitiveCharsEnabled=m.pwd_policy_check_repetitive_chars_enabled,this.pwdPolicyCheckSequentialCharsEnabled=m.pwd_policy_check_sequential_chars_enabled,this.pwdPolicyCheckComplexityEnabled=m.pwd_policy_check_complexity_enabled}}var u=o(74788);let h=(()=>{class _{constructor(b){this.settingsService=b}getHelpText(){return this.settingsService.getStandardSettings().pipe((0,s.U)(b=>{const C=new l(b);let D=[];if(C.pwdPolicyEnabled){D.push("Required rules for passwords:");const x={pwdPolicyCheckLengthEnabled:"Must contain at least " + C.pwdPolicyMinLength + " characters",pwdPolicyCheckOldpwdEnabled:"Must not be the same as the previous one",pwdPolicyCheckUsernameEnabled:"Cannot contain the username",pwdPolicyCheckExclusionListEnabled:"Cannot contain any configured keyword",pwdPolicyCheckRepetitiveCharsEnabled:"Cannot contain any repetitive characters e.g. \"aaa\"",pwdPolicyCheckSequentialCharsEnabled:"Cannot contain any sequential characters e.g. \"abc\"",pwdPolicyCheckComplexityEnabled:"Must consist of characters from the following groups:\n * Alphabetic a-z, A-Z\n * Numbers 0-9\n * Special chars: !\"#$%& '()*+,-./:;<=>?@[\\]^_`{{|}}~\n * Any other characters (signs)"};D=D.concat(e().keys(x).filter(j=>e().get(C,j)).map(j=>"- "+e().get(x,j)))}return D.join("\n")}))}mapCreditsToCssClass(b){let C="very-strong";return b<10?C="too-weak":b<15?C="weak":b<20?C="ok":b<25&&(C="strong"),C}}return _.\u0275fac=function(b){return new(b||_)(u.LFG(a.g))},_.\u0275prov=u.Yz7({token:_,factory:_.\u0275fac,providedIn:"root"}),_})()},34089:(Ge,g,o)=>{"use strict";o.d(g,{n:()=>s});var t=o(30633),e=o(74788);let s=(()=>{class a{constructor(){this.sections=[{heading:"Quality of Service",class:"quality-of-service",options:[{name:"rbd_qos_bps_limit",displayName:"BPS Limit",description:"The desired limit of IO bytes per second.",type:t.r.bps},{name:"rbd_qos_iops_limit",displayName:"IOPS Limit",description:"The desired limit of IO operations per second.",type:t.r.iops},{name:"rbd_qos_read_bps_limit",displayName:"Read BPS Limit",description:"The desired limit of read bytes per second.",type:t.r.bps},{name:"rbd_qos_read_iops_limit",displayName:"Read IOPS Limit",description:"The desired limit of read operations per second.",type:t.r.iops},{name:"rbd_qos_write_bps_limit",displayName:"Write BPS Limit",description:"The desired limit of write bytes per second.",type:t.r.bps},{name:"rbd_qos_write_iops_limit",displayName:"Write IOPS Limit",description:"The desired limit of write operations per second.",type:t.r.iops},{name:"rbd_qos_bps_burst",displayName:"BPS Burst",description:"The desired burst limit of IO bytes.",type:t.r.bps},{name:"rbd_qos_iops_burst",displayName:"IOPS Burst",description:"The desired burst limit of IO operations.",type:t.r.iops},{name:"rbd_qos_read_bps_burst",displayName:"Read BPS Burst",description:"The desired burst limit of read bytes.",type:t.r.bps},{name:"rbd_qos_read_iops_burst",displayName:"Read IOPS Burst",description:"The desired burst limit of read operations.",type:t.r.iops},{name:"rbd_qos_write_bps_burst",displayName:"Write BPS Burst",description:"The desired burst limit of write bytes.",type:t.r.bps},{name:"rbd_qos_write_iops_burst",displayName:"Write IOPS Burst",description:"The desired burst limit of write operations.",type:t.r.iops}]}]}static getOptionsFromSections(u){return u.map(h=>h.options).reduce((h,_)=>h.concat(_))}filterConfigOptionsByName(u){return a.getOptionsFromSections(this.sections).filter(h=>h.name===u)}getOptionValueByName(u,h,_=""){const m=this.filterConfigOptionsByName(u);return 1===m.length?m.pop()[h]:_}getWritableSections(){return this.sections.map(u=>(u.options=u.options.filter(h=>!h.readOnly),u))}getOptionFields(){return a.getOptionsFromSections(this.sections)}getWritableOptionFields(){return a.getOptionsFromSections(this.getWritableSections())}getOptionByName(u){return this.filterConfigOptionsByName(u).pop()}getDisplayName(u){return this.getOptionValueByName(u,"displayName")}getDescription(u){return this.getOptionValueByName(u,"description")}}return a.\u0275fac=function(u){return new(u||a)},a.\u0275prov=e.Yz7({token:a,factory:a.\u0275fac,providedIn:"root"}),a})()},74255:(Ge,g,o)=>{"use strict";o.d(g,{J:()=>m});var t=o(23815),e=o.n(t),s=o(26215),a=o(45435),l=o(28049),u=o(74788),h=o(58497),_=o(55358);let m=(()=>{class b{constructor(D,x){this.http=D,this.timerService=x,this.REFRESH_INTERVAL=5e3,this.summaryDataSource=new s.X(null),this.summaryData$=this.summaryDataSource.asObservable()}startPolling(){return this.timerService.get(()=>this.retrieveSummaryObservable(),this.REFRESH_INTERVAL).subscribe(this.retrieveSummaryObserver())}refresh(){return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver())}retrieveSummaryObservable(){return this.http.get("api/summary")}retrieveSummaryObserver(){return D=>{this.summaryDataSource.next(D)}}subscribeOnce(D,x){return this.summaryData$.pipe((0,a.h)(j=>!!j),(0,l.P)()).subscribe(D,x)}subscribe(D,x){return this.summaryData$.pipe((0,a.h)(j=>!!j)).subscribe(D,x)}addRunningTask(D){const x=this.summaryDataSource.getValue();!x||(e().isArray(x.executing_tasks)?x.executing_tasks.find(H=>H.name===D.name&&e().isEqual(H.metadata,D.metadata))||x.executing_tasks.push(D):x.executing_tasks=[D],this.summaryDataSource.next(x))}}return b.\u0275fac=function(D){return new(D||b)(u.LFG(h.eN),u.LFG(_.f))},b.\u0275prov=u.Yz7({token:b,factory:b.\u0275fac,providedIn:"root"}),b})()},38047:(Ge,g,o)=>{"use strict";o.d(g,{j:()=>a});var t=o(74255),e=o(74788),s=o(68879);let a=(()=>{class l{constructor(h,_){this.taskMessageService=h,this.summaryService=_}init(h,_,m,b,C,D,x){this.getUpdate=h,this.preProcessing=_,this.setList=m,this.onFetchError=b,this.taskFilter=C,this.itemFilter=D,this.builders=x||{},this.summaryDataSubscription=this.summaryService.subscribe(j=>{this.summary=j,this.fetch()},this.onFetchError)}fetch(){this.getUpdate().subscribe(h=>{this.updateData(h,this.summary.executing_tasks.filter(this.taskFilter))},this.onFetchError)}updateData(h,_){const m=this.preProcessing?this.preProcessing(h):h;this.addMissing(m,_),m.forEach(b=>{const C=_.filter(D=>this.itemFilter(b,D));b.cdExecuting=this.getTaskAction(C)}),this.setList(m)}addMissing(h,_){const m=this.builders.default;_.forEach(b=>{const C=h.find(x=>this.itemFilter(x,b)),D=this.builders[b.name];!C&&(D||m)&&h.push(D?D(b.metadata):m(b.metadata))})}getTaskAction(h){if(0!==h.length)return h.map(_=>{const m=_.progress?` ${_.progress}%`:"";return this.taskMessageService.getRunningText(_)+"..."+m}).join(", ")}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}}return l.\u0275fac=function(h){return new(h||l)(e.LFG(s.p),e.LFG(t.J))},l.\u0275prov=e.Yz7({token:l,factory:l.\u0275fac}),l})()},71099:(Ge,g,o)=>{"use strict";o.d(g,{k:()=>l});var t=o(23815),e=o.n(t),s=o(74788);class a{constructor(h,_,m){this.name=h,this.metadata=_,this.onTaskFinished=m}}let l=(()=>{class u{constructor(){this.subscriptions=[]}init(_){return _.subscribe(m=>{const b=m.executing_tasks,C=m.finished_tasks,D=[];for(const x of this.subscriptions){const j=this._getTask(x,C),H=this._getTask(x,b);null!==j&&null===H&&x.onTaskFinished(j),null!==H&&D.push(x),this.subscriptions=D}})}subscribe(_,m,b){this.subscriptions.push(new a(_,m,b))}_getTask(_,m){for(const b of m)if(b.name===_.name&&e().isEqual(b.metadata,_.metadata))return b;return null}}return u.\u0275fac=function(_){return new(_||u)},u.\u0275prov=s.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()},68879:(Ge,g,o)=>{"use strict";o.d(g,{p:()=>u});var t=(()=>{return(h=t||(t={})).auth="Login",h.cephfs="CephFS",h.rbd="RBD",h.pool="Pool",h.osd="OSD",h.role="Role",h.user="User",t;var h})(),e=o(19358),s=o(74788);class a{constructor(_,m,b){this.running=_,this.failure=m,this.success=b}}class l{constructor(_,m,b){this.operation=_,this.involves=m,this.errors=b||(()=>({}))}failure(_){return "Failed to " + this.operation.failure + " " + this.involves(_) + ""}running(_){return`${this.operation.running} ${this.involves(_)}`}success(_){return`${this.operation.success} ${this.involves(_)}`}}let u=(()=>{class h{constructor(){this.defaultMessage=this.newTaskMessage(new a("Executing","execute","Executed"),m=>m&&(t[m.component]||m.component)||"unknown task",()=>({})),this.commonOperations={create:new a("Creating","create","Created"),update:new a("Updating","update","Updated"),delete:new a("Deleting","delete","Deleted"),add:new a("Adding","add","Added"),remove:new a("Removing","remove","Removed"),import:new a("Importing","import","Imported")},this.rbd={default:m=>"RBD '" + m.image_spec + "'",create:m=>{const b=new e.N(m.pool_name,m.namespace,m.image_name).toString();return "RBD '" + b + "'"},child:m=>{const b=new e.N(m.child_pool_name,m.child_namespace,m.child_image_name).toString();return "RBD '" + b + "'"},destination:m=>{const b=new e.N(m.dest_pool_name,m.dest_namespace,m.dest_image_name).toString();return "RBD '" + b + "'"},snapshot:m=>"RBD snapshot '" + m.image_spec + "@" + m.snapshot_name + "'"},this.rbd_mirroring={site_name:()=>"mirroring site name",bootstrap:()=>"bootstrap token",pool:m=>"mirror mode for pool '" + m.pool_name + "'",pool_peer:m=>"mirror peer for pool '" + m.pool_name + "'"},this.grafana={update_dashboards:()=>"all dashboards"},this.messages={"host/add":this.newTaskMessage(this.commonOperations.add,m=>this.host(m)),"host/remove":this.newTaskMessage(this.commonOperations.remove,m=>this.host(m)),"host/identify_device":this.newTaskMessage(new a("Identifying","identify","Identified"),m=>"device '" + m.device + "' on host '" + m.hostname + "'"),"osd/create":this.newTaskMessage(this.commonOperations.create,m=>"OSDs (DriveGroups: " + m.tracking_id + ")"),"osd/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.osd(m)),"pool/create":this.newTaskMessage(this.commonOperations.create,m=>this.pool(m),m=>({17:"Name is already used by " + this.pool(m) + "."})),"pool/edit":this.newTaskMessage(this.commonOperations.update,m=>this.pool(m),m=>({17:"Name is already used by " + this.pool(m) + "."})),"pool/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.pool(m)),"ecp/create":this.newTaskMessage(this.commonOperations.create,m=>this.ecp(m),m=>({17:"Name is already used by " + this.ecp(m) + "."})),"ecp/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.ecp(m)),"crushRule/create":this.newTaskMessage(this.commonOperations.create,m=>this.crushRule(m),m=>({17:"Name is already used by " + this.crushRule(m) + "."})),"crushRule/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.crushRule(m)),"rbd/create":this.newTaskMessage(this.commonOperations.create,this.rbd.create,m=>({17:"Name is already used by " + this.rbd.create(m) + "."})),"rbd/edit":this.newTaskMessage(this.commonOperations.update,this.rbd.default,m=>({17:"Name is already used by " + this.rbd.default(m) + "."})),"rbd/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd.default,m=>({16:"" + this.rbd.default(m) + " is busy.",39:"" + this.rbd.default(m) + " contains snapshots."})),"rbd/clone":this.newTaskMessage(new a("Cloning","clone","Cloned"),this.rbd.child,m=>({17:"Name is already used by " + this.rbd.child(m) + ".",22:"Snapshot of " + this.rbd.child(m) + " must be protected."})),"rbd/copy":this.newTaskMessage(new a("Copying","copy","Copied"),this.rbd.destination,m=>({17:"Name is already used by " + this.rbd.destination(m) + "."})),"rbd/flatten":this.newTaskMessage(new a("Flattening","flatten","Flattened"),this.rbd.default),"rbd/snap/create":this.newTaskMessage(this.commonOperations.create,this.rbd.snapshot,m=>({17:"Name is already used by " + this.rbd.snapshot(m) + "."})),"rbd/snap/edit":this.newTaskMessage(this.commonOperations.update,this.rbd.snapshot,m=>({16:"Cannot unprotect " + this.rbd.snapshot(m) + " because it contains child images."})),"rbd/snap/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd.snapshot,m=>({16:"Cannot delete " + this.rbd.snapshot(m) + " because it's protected."})),"rbd/snap/rollback":this.newTaskMessage(new a("Rolling back","rollback","Rolled back"),this.rbd.snapshot),"rbd/trash/move":this.newTaskMessage(new a("Moving","move","Moved"),m=>"image '" + m.image_spec + "' to trash",()=>({2:"Could not find image."})),"rbd/trash/restore":this.newTaskMessage(new a("Restoring","restore","Restored"),m=>"image '" + m.image_id_spec + "' into '" + m.new_image_name + "'",m=>({17:"Image name '" + m.new_image_name + "' is already in use."})),"rbd/trash/remove":this.newTaskMessage(new a("Deleting","delete","Deleted"),m=>"image '" + m.image_id_spec + "'"),"rbd/trash/purge":this.newTaskMessage(new a("Purging","purge","Purged"),m=>{let b="all pools";return m.pool_name&&(b=`'${m.pool_name}'`),"images from " + b + ""}),"rbd/mirroring/site_name/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.site_name,()=>({})),"rbd/mirroring/bootstrap/create":this.newTaskMessage(this.commonOperations.create,this.rbd_mirroring.bootstrap,()=>({})),"rbd/mirroring/bootstrap/import":this.newTaskMessage(this.commonOperations.import,this.rbd_mirroring.bootstrap,()=>({})),"rbd/mirroring/pool/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.pool,()=>({16:"Cannot disable mirroring because it contains a peer."})),"rbd/mirroring/peer/add":this.newTaskMessage(this.commonOperations.create,this.rbd_mirroring.pool_peer,()=>({})),"rbd/mirroring/peer/edit":this.newTaskMessage(this.commonOperations.update,this.rbd_mirroring.pool_peer,()=>({})),"rbd/mirroring/peer/delete":this.newTaskMessage(this.commonOperations.delete,this.rbd_mirroring.pool_peer,()=>({})),"iscsi/target/create":this.newTaskMessage(this.commonOperations.create,m=>this.iscsiTarget(m)),"iscsi/target/edit":this.newTaskMessage(this.commonOperations.update,m=>this.iscsiTarget(m)),"iscsi/target/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.iscsiTarget(m)),"nfs/create":this.newTaskMessage(this.commonOperations.create,m=>this.nfs(m)),"nfs/edit":this.newTaskMessage(this.commonOperations.update,m=>this.nfs(m)),"nfs/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.nfs(m)),"grafana/dashboards/update":this.newTaskMessage(this.commonOperations.update,this.grafana.update_dashboards,()=>({})),"service/create":this.newTaskMessage(this.commonOperations.create,m=>this.service(m)),"service/edit":this.newTaskMessage(this.commonOperations.update,m=>this.service(m)),"service/delete":this.newTaskMessage(this.commonOperations.delete,m=>this.service(m))}}newTaskMessage(m,b,C){return new l(m,b,C)}host(m){return "host '" + m.hostname + "'"}osd(m){return "OSD '" + m.svc_id + "'"}pool(m){return "pool '" + m.pool_name + "'"}ecp(m){return "erasure code profile '" + m.name + "'"}crushRule(m){return "crush rule '" + m.name + "'"}iscsiTarget(m){return "target '" + m.target_iqn + "'"}nfs(m){return "NFS '" + m.cluster_id + ":" + (m.export_id ? m.export_id : m.path) + "'"}service(m){return "Service '" + m.service_name + "'"}_getTaskTitle(m){return m.name&&m.name.startsWith("progress/")?this.newTaskMessage(new a(m.name.replace("progress/",""),"",m.name.replace("progress/","")),b=>""):this.messages[m.name]||this.defaultMessage}getSuccessTitle(m){return this._getTaskTitle(m).success(m.metadata)}getErrorMessage(m){return this._getTaskTitle(m).errors(m.metadata)[m.exception.code]||m.exception.detail}getErrorTitle(m){return this._getTaskTitle(m).failure(m.metadata)}getRunningTitle(m){return this._getTaskTitle(m).running(m.metadata)}getRunningText(m){return this._getTaskTitle(m).operation.running}}return h.\u0275fac=function(m){return new(m||h)},h.\u0275prov=s.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"}),h})()},32337:(Ge,g,o)=>{"use strict";o.d(g,{P:()=>b});var t=o(18891),e=o(18001),s=o(61355),a=o(60737),l=o(97161),u=o(74255),h=o(71099),_=o(74788),m=o(68879);let b=(()=>{class C{constructor(x,j,H,z){this.notificationService=x,this.summaryService=j,this.taskMessageService=H,this.taskManagerService=z}wrapTaskAroundCall({task:x,call:j}){return new t.y(H=>{j.subscribe(z=>{202===z.status?this._handleExecutingTasks(x):(this.summaryService.refresh(),x.success=!0,this.notificationService.notifyTask(x))},z=>{x.success=!1,x.exception=z.error,H.error(z)},()=>{H.complete()})})}_handleExecutingTasks(x){const j=new s.T(e.k.info,this.taskMessageService.getRunningTitle(x));j.isFinishedTask=!0,this.notificationService.show(j);const H=new a.o(x.name,x.metadata);this.summaryService.addRunningTask(H),this.taskManagerService.subscribe(H.name,H.metadata,z=>{this.notificationService.notifyTask(z)})}}return C.\u0275fac=function(x){return new(x||C)(_.LFG(l.g),_.LFG(u.J),_.LFG(m.p),_.LFG(h.k))},C.\u0275prov=_.Yz7({token:C,factory:C.\u0275fac,providedIn:"root"}),C})()},55358:(Ge,g,o)=>{"use strict";o.d(g,{f:()=>x});var t=o(46797),e=o(80226);var l=o(59746),u=o(43190),h=o(74788),_=o(33637);class m{constructor(H){this.zone=H,this.scheduler=_.z}now(){return this.scheduler.now()}}let b=(()=>{class j extends m{constructor(z){super(z)}schedule(...z){return this.zone.runOutsideAngular(()=>this.scheduler.schedule.apply(this.scheduler,z))}}return j.\u0275fac=function(z){return new(z||j)(h.LFG(h.R0b))},j.\u0275prov=h.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"}),j})(),C=(()=>{class j extends m{constructor(z){super(z)}schedule(...z){return this.zone.run(()=>this.scheduler.schedule.apply(this.scheduler,z))}}return j.\u0275fac=function(z){return new(z||j)(h.LFG(h.R0b))},j.\u0275prov=h.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"}),j})(),D=(()=>{class j{constructor(z,U){this.leave=z,this.enter=U}}return j.\u0275fac=function(z){return new(z||j)(h.LFG(b),h.LFG(C))},j.\u0275prov=h.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"}),j})(),x=(()=>{class j{constructor(z){this.ngZone=z,this.DEFAULT_REFRESH_INTERVAL=5e3,this.DEFAULT_DUE_TIME=0}get(z,U=this.DEFAULT_REFRESH_INTERVAL,M=this.DEFAULT_DUE_TIME){return(0,t.H)(M,U,this.ngZone.leave).pipe((0,l.QV)(this.ngZone.enter),(0,u.w)(z),function(j,H,z){let U;return U=j&&"object"==typeof j?j:{bufferSize:j,windowTime:H,refCount:!1,scheduler:z},M=>M.lift(function({bufferSize:j=Number.POSITIVE_INFINITY,windowTime:H=Number.POSITIVE_INFINITY,refCount:z,scheduler:U}){let M,J,I=0,Y=!1,ie=!1;return function(fe){let ne;I++,!M||Y?(Y=!1,M=new e.t(j,H,U),ne=M.subscribe(this),J=fe.subscribe({next(he){M.next(he)},error(he){Y=!0,M.error(he)},complete(){ie=!0,J=void 0,M.complete()}})):ne=M.subscribe(this),this.add(()=>{I--,ne.unsubscribe(),J&&!ie&&z&&0===I&&(J.unsubscribe(),J=void 0,M=void 0)})}}(U))}({refCount:!0,bufferSize:1}))}}return j.\u0275fac=function(z){return new(z||j)(h.LFG(D))},j.\u0275prov=h.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"}),j})()},51847:(Ge,g,o)=>{"use strict";o.d(g,{F:()=>s});var t=o(12057),e=o(79512);class s{constructor(l){this.base=l}static concatURLSegments(l){return l.reduce(t.Ye.joinWithSlash)}static buildURL(l,...u){return s.concatURLSegments([...l?["/"]:[],...u])}getURL(l,u=!0,...h){return s.buildURL(u,this.base,l,...h)}getCreate(l=!0){return this.getURL(e.MQ.CREATE,l)}getCreateFrom(l,u=!0){return this.getURL(e.MQ.CREATE,u,l)}getDelete(l=!0){return this.getURL(e.MQ.DELETE,l)}getEdit(l,u=!0){return this.getURL(e.MQ.EDIT,u,l)}getUpdate(l,u=!0){return this.getURL(e.MQ.UPDATE,u,l)}getAdd(l=!0){return this.getURL(e.MQ.ADD,l)}getRemove(l=!0){return this.getURL(e.MQ.REMOVE,l)}getRecreate(l,u=!0){return this.getURL(e.MQ.RECREATE,u,l)}}},44466:(Ge,g,o)=>{"use strict";o.d(g,{m:()=>C});var t=o(12057),e=o(99475),s=o(15626),a=o(2149),l=o(35540),u=o(85953),h=o(45510),_=o(74937),m=o(28211),b=o(74788);let C=(()=>{class D{}return D.\u0275fac=function(j){return new(j||D)},D.\u0275mod=b.oAB({type:D}),D.\u0275inj=b.cJS({providers:[_.j,h.P,m.H,e.P],imports:[[t.ez,u.D,s.K,a.t,l.o],s.K,u.D,a.t,l.o]}),D})()},92340:(Ge,g,o)=>{"use strict";o.d(g,{N:()=>t});const t={default_lang:"en-US",production:!0,year:"2022"}},88665:(Ge,g,o)=>{"use strict";var t=o(91211),e=o(74788),s=o(12057),a=o(58497),l=o(56083);function u(){return"undefined"!=typeof window&&void 0!==window.document}function h(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function _(f){switch(f.length){case 0:return new l.ZN;case 1:return f[0];default:return new l.ZE(f)}}function m(f,y,n,d,w={},re={}){const Ze=[],Lt=[];let Gt=-1,On=null;if(d.forEach(fr=>{const hr=fr.offset,Jr=hr==Gt,$i=Jr&&On||{};Object.keys(fr).forEach(bo=>{let _o=bo,Yi=fr[bo];if("offset"!==bo)switch(_o=y.normalizePropertyName(_o,Ze),Yi){case l.k1:Yi=w[bo];break;case l.l3:Yi=re[bo];break;default:Yi=y.normalizeStyleValue(bo,_o,Yi,Ze)}$i[_o]=Yi}),Jr||Lt.push($i),On=$i,Gt=hr}),Ze.length){const fr="\n - ";throw new Error(`Unable to animate due to the following errors:${fr}${Ze.join(fr)}`)}return Lt}function b(f,y,n,d){switch(y){case"start":f.onStart(()=>d(n&&C(n,"start",f)));break;case"done":f.onDone(()=>d(n&&C(n,"done",f)));break;case"destroy":f.onDestroy(()=>d(n&&C(n,"destroy",f)))}}function C(f,y,n){const d=n.totalTime,re=D(f.element,f.triggerName,f.fromState,f.toState,y||f.phaseName,null==d?f.totalTime:d,!!n.disabled),Ze=f._data;return null!=Ze&&(re._data=Ze),re}function D(f,y,n,d,w="",re=0,Ze){return{element:f,triggerName:y,fromState:n,toState:d,phaseName:w,totalTime:re,disabled:!!Ze}}function x(f,y,n){let d;return f instanceof Map?(d=f.get(y),d||f.set(y,d=n)):(d=f[y],d||(d=f[y]=n)),d}function j(f){const y=f.indexOf(":");return[f.substring(1,y),f.substr(y+1)]}let H=(f,y)=>!1,U=(f,y)=>!1,I=(f,y,n)=>[];const Y=h();(Y||"undefined"!=typeof Element)&&(H=u()?(f,y)=>{for(;y&&y!==document.documentElement;){if(y===f)return!0;y=y.parentNode||y.host}return!1}:(f,y)=>f.contains(y),U=(()=>{if(Y||Element.prototype.matches)return(f,y)=>f.matches(y);{const f=Element.prototype,y=f.matchesSelector||f.mozMatchesSelector||f.msMatchesSelector||f.oMatchesSelector||f.webkitMatchesSelector;return y?(n,d)=>y.apply(n,[d]):U}})(),I=(f,y,n)=>{let d=[];if(n){const w=f.querySelectorAll(y);for(let re=0;re<w.length;re++)d.push(w[re])}else{const w=f.querySelector(y);w&&d.push(w)}return d});let oe=null,fe=!1;function ne(f){oe||(oe=("undefined"!=typeof document?document.body:null)||{},fe=!!oe.style&&"WebkitAppearance"in oe.style);let y=!0;return oe.style&&!function(f){return"ebkit"==f.substring(1,6)}(f)&&(y=f in oe.style,!y&&fe&&(y="Webkit"+f.charAt(0).toUpperCase()+f.substr(1)in oe.style)),y}const ce=U,Ae=H,Me=I;function Oe(f){const y={};return Object.keys(f).forEach(n=>{const d=n.replace(/([a-z])([A-Z])/g,"$1-$2");y[d]=f[n]}),y}let be=(()=>{class f{validateStyleProperty(n){return ne(n)}matchesElement(n,d){return ce(n,d)}containsElement(n,d){return Ae(n,d)}query(n,d,w){return Me(n,d,w)}computeStyle(n,d,w){return w||""}animate(n,d,w,re,Ze,Lt=[],Gt){return new l.ZN(w,re)}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})(),ue=(()=>{class f{}return f.NOOP=new be,f})();const je="ng-enter",Et="ng-leave",St="ng-trigger",At=".ng-trigger",Qe="ng-animating",It=".ng-animating";function ae(f){if("number"==typeof f)return f;const y=f.match(/^(-?[\.\d]+)(m?s)/);return!y||y.length<2?0:Ie(parseFloat(y[1]),y[2])}function Ie(f,y){switch(y){case"s":return 1e3*f;default:return f}}function dt(f,y,n){return f.hasOwnProperty("duration")?f:function(f,y,n){let w,re=0,Ze="";if("string"==typeof f){const Lt=f.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===Lt)return y.push(`The provided timing value "${f}" is invalid.`),{duration:0,delay:0,easing:""};w=Ie(parseFloat(Lt[1]),Lt[2]);const Gt=Lt[3];null!=Gt&&(re=Ie(parseFloat(Gt),Lt[4]));const On=Lt[5];On&&(Ze=On)}else w=f;if(!n){let Lt=!1,Gt=y.length;w<0&&(y.push("Duration values below 0 are not allowed for this animation step."),Lt=!0),re<0&&(y.push("Delay values below 0 are not allowed for this animation step."),Lt=!0),Lt&&y.splice(Gt,0,`The provided timing value "${f}" is invalid.`)}return{duration:w,delay:re,easing:Ze}}(f,y,n)}function zt(f,y={}){return Object.keys(f).forEach(n=>{y[n]=f[n]}),y}function ar(f,y,n={}){if(y)for(let d in f)n[d]=f[d];else zt(f,n);return n}function Ln(f,y,n){return n?y+":"+n+";":""}function Rn(f){let y="";for(let n=0;n<f.style.length;n++){const d=f.style.item(n);y+=Ln(0,d,f.style.getPropertyValue(d))}for(const n in f.style)f.style.hasOwnProperty(n)&&!n.startsWith("_")&&(y+=Ln(0,Sn(n),f.style[n]));f.setAttribute("style",y)}function er(f,y,n){f.style&&(Object.keys(y).forEach(d=>{const w=qn(d);n&&!n.hasOwnProperty(d)&&(n[d]=f.style[w]),f.style[w]=y[d]}),h()&&Rn(f))}function Mn(f,y){f.style&&(Object.keys(y).forEach(n=>{const d=qn(n);f.style[d]=""}),h()&&Rn(f))}function Ht(f){return Array.isArray(f)?1==f.length?f[0]:(0,l.vP)(f):f}const Yn=new RegExp("{{\\s*(.+?)\\s*}}","g");function Cn(f){let y=[];if("string"==typeof f){let n;for(;n=Yn.exec(f);)y.push(n[1]);Yn.lastIndex=0}return y}function Kt(f,y,n){const d=f.toString(),w=d.replace(Yn,(re,Ze)=>{let Lt=y[Ze];return y.hasOwnProperty(Ze)||(n.push(`Please provide a value for the animation param ${Ze}`),Lt=""),Lt.toString()});return w==d?f:w}function dn(f){const y=[];let n=f.next();for(;!n.done;)y.push(n.value),n=f.next();return y}const Kn=/-+([a-z0-9])/g;function qn(f){return f.replace(Kn,(...y)=>y[1].toUpperCase())}function Sn(f){return f.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function $n(f,y){return 0===f||0===y}function En(f,y,n){const d=Object.keys(n);if(d.length&&y.length){let re=y[0],Ze=[];if(d.forEach(Lt=>{re.hasOwnProperty(Lt)||Ze.push(Lt),re[Lt]=n[Lt]}),Ze.length)for(var w=1;w<y.length;w++){let Lt=y[w];Ze.forEach(function(Gt){Lt[Gt]=Dn(f,Gt)})}}return y}function Fn(f,y,n){switch(y.type){case 7:return f.visitTrigger(y,n);case 0:return f.visitState(y,n);case 1:return f.visitTransition(y,n);case 2:return f.visitSequence(y,n);case 3:return f.visitGroup(y,n);case 4:return f.visitAnimate(y,n);case 5:return f.visitKeyframes(y,n);case 6:return f.visitStyle(y,n);case 8:return f.visitReference(y,n);case 9:return f.visitAnimateChild(y,n);case 10:return f.visitAnimateRef(y,n);case 11:return f.visitQuery(y,n);case 12:return f.visitStagger(y,n);default:throw new Error(`Unable to resolve animation metadata node #${y.type}`)}}function Dn(f,y){return window.getComputedStyle(f)[y]}function jn(f,y){const n=[];return"string"==typeof f?f.split(/\s*,\s*/).forEach(d=>function(f,y,n){if(":"==f[0]){const Gt=function(f,y){switch(f){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(n,d)=>parseFloat(d)>parseFloat(n);case":decrement":return(n,d)=>parseFloat(d)<parseFloat(n);default:return y.push(`The transition alias value "${f}" is not supported`),"* => *"}}(f,n);if("function"==typeof Gt)return void y.push(Gt);f=Gt}const d=f.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==d||d.length<4)return n.push(`The provided transition expression "${f}" is not supported`),y;const w=d[1],re=d[2],Ze=d[3];y.push(yn(w,Ze));"<"==re[0]&&!("*"==w&&"*"==Ze)&&y.push(yn(Ze,w))}(d,n,y)):n.push(f),n}const mt=new Set(["true","1"]),Tt=new Set(["false","0"]);function yn(f,y){const n=mt.has(f)||Tt.has(f),d=mt.has(y)||Tt.has(y);return(w,re)=>{let Ze="*"==f||f==w,Lt="*"==y||y==re;return!Ze&&n&&"boolean"==typeof w&&(Ze=w?mt.has(f):Tt.has(f)),!Lt&&d&&"boolean"==typeof re&&(Lt=re?mt.has(y):Tt.has(y)),Ze&&Lt}}const jt=new RegExp("s*:selfs*,?","g");function hn(f,y,n){return new Ir(f).build(y,n)}class Ir{constructor(y){this._driver=y}build(y,n){const d=new Ue(n);return this._resetContextStyleTimingState(d),Fn(this,Ht(y),d)}_resetContextStyleTimingState(y){y.currentQuerySelector="",y.collectedStyles={},y.collectedStyles[""]={},y.currentTime=0}visitTrigger(y,n){let d=n.queryCount=0,w=n.depCount=0;const re=[],Ze=[];return"@"==y.name.charAt(0)&&n.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),y.definitions.forEach(Lt=>{if(this._resetContextStyleTimingState(n),0==Lt.type){const Gt=Lt,On=Gt.name;On.toString().split(/\s*,\s*/).forEach(fr=>{Gt.name=fr,re.push(this.visitState(Gt,n))}),Gt.name=On}else if(1==Lt.type){const Gt=this.visitTransition(Lt,n);d+=Gt.queryCount,w+=Gt.depCount,Ze.push(Gt)}else n.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:y.name,states:re,transitions:Ze,queryCount:d,depCount:w,options:null}}visitState(y,n){const d=this.visitStyle(y.styles,n),w=y.options&&y.options.params||null;if(d.containsDynamicStyles){const re=new Set,Ze=w||{};if(d.styles.forEach(Lt=>{if(at(Lt)){const Gt=Lt;Object.keys(Gt).forEach(On=>{Cn(Gt[On]).forEach(fr=>{Ze.hasOwnProperty(fr)||re.add(fr)})})}}),re.size){const Lt=dn(re.values());n.errors.push(`state("${y.name}", ...) must define default values for all the following style substitutions: ${Lt.join(", ")}`)}}return{type:0,name:y.name,style:d,options:w?{params:w}:null}}visitTransition(y,n){n.queryCount=0,n.depCount=0;const d=Fn(this,Ht(y.animation),n);return{type:1,matchers:jn(y.expr,n.errors),animation:d,queryCount:n.queryCount,depCount:n.depCount,options:Pt(y.options)}}visitSequence(y,n){return{type:2,steps:y.steps.map(d=>Fn(this,d,n)),options:Pt(y.options)}}visitGroup(y,n){const d=n.currentTime;let w=0;const re=y.steps.map(Ze=>{n.currentTime=d;const Lt=Fn(this,Ze,n);return w=Math.max(w,n.currentTime),Lt});return n.currentTime=w,{type:3,steps:re,options:Pt(y.options)}}visitAnimate(y,n){const d=function(f,y){let n=null;if(f.hasOwnProperty("duration"))n=f;else if("number"==typeof f)return Ut(dt(f,y).duration,0,"");const d=f;if(d.split(/\s+/).some(re=>"{"==re.charAt(0)&&"{"==re.charAt(1))){const re=Ut(0,0,"");return re.dynamic=!0,re.strValue=d,re}return n=n||dt(d,y),Ut(n.duration,n.delay,n.easing)}(y.timings,n.errors);n.currentAnimateTimings=d;let w,re=y.styles?y.styles:(0,l.oB)({});if(5==re.type)w=this.visitKeyframes(re,n);else{let Ze=y.styles,Lt=!1;if(!Ze){Lt=!0;const On={};d.easing&&(On.easing=d.easing),Ze=(0,l.oB)(On)}n.currentTime+=d.duration+d.delay;const Gt=this.visitStyle(Ze,n);Gt.isEmptyStep=Lt,w=Gt}return n.currentAnimateTimings=null,{type:4,timings:d,style:w,options:null}}visitStyle(y,n){const d=this._makeStyleAst(y,n);return this._validateStyleAst(d,n),d}_makeStyleAst(y,n){const d=[];Array.isArray(y.styles)?y.styles.forEach(Ze=>{"string"==typeof Ze?Ze==l.l3?d.push(Ze):n.errors.push(`The provided style string value ${Ze} is not allowed.`):d.push(Ze)}):d.push(y.styles);let w=!1,re=null;return d.forEach(Ze=>{if(at(Ze)){const Lt=Ze,Gt=Lt.easing;if(Gt&&(re=Gt,delete Lt.easing),!w)for(let On in Lt)if(Lt[On].toString().indexOf("{{")>=0){w=!0;break}}}),{type:6,styles:d,easing:re,offset:y.offset,containsDynamicStyles:w,options:null}}_validateStyleAst(y,n){const d=n.currentAnimateTimings;let w=n.currentTime,re=n.currentTime;d&&re>0&&(re-=d.duration+d.delay),y.styles.forEach(Ze=>{"string"!=typeof Ze&&Object.keys(Ze).forEach(Lt=>{if(!this._driver.validateStyleProperty(Lt))return void n.errors.push(`The provided animation property "${Lt}" is not a supported CSS property for animations`);const Gt=n.collectedStyles[n.currentQuerySelector],On=Gt[Lt];let fr=!0;On&&(re!=w&&re>=On.startTime&&w<=On.endTime&&(n.errors.push(`The CSS property "${Lt}" that exists between the times of "${On.startTime}ms" and "${On.endTime}ms" is also being animated in a parallel animation between the times of "${re}ms" and "${w}ms"`),fr=!1),re=On.startTime),fr&&(Gt[Lt]={startTime:re,endTime:w}),n.options&&function(f,y,n){const d=y.params||{},w=Cn(f);w.length&&w.forEach(re=>{d.hasOwnProperty(re)||n.push(`Unable to resolve the local animation param ${re} in the given list of values`)})}(Ze[Lt],n.options,n.errors)})})}visitKeyframes(y,n){const d={type:5,styles:[],options:null};if(!n.currentAnimateTimings)return n.errors.push("keyframes() must be placed inside of a call to animate()"),d;let re=0;const Ze=[];let Lt=!1,Gt=!1,On=0;const fr=y.steps.map(Xs=>{const ls=this._makeStyleAst(Xs,n);let js=null!=ls.offset?ls.offset:function(f){if("string"==typeof f)return null;let y=null;if(Array.isArray(f))f.forEach(n=>{if(at(n)&&n.hasOwnProperty("offset")){const d=n;y=parseFloat(d.offset),delete d.offset}});else if(at(f)&&f.hasOwnProperty("offset")){const n=f;y=parseFloat(n.offset),delete n.offset}return y}(ls.styles),ga=0;return null!=js&&(re++,ga=ls.offset=js),Gt=Gt||ga<0||ga>1,Lt=Lt||ga<On,On=ga,Ze.push(ga),ls});Gt&&n.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),Lt&&n.errors.push("Please ensure that all keyframe offsets are in order");const hr=y.steps.length;let Jr=0;re>0&&re<hr?n.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==re&&(Jr=1/(hr-1));const $i=hr-1,bo=n.currentTime,_o=n.currentAnimateTimings,Yi=_o.duration;return fr.forEach((Xs,ls)=>{const js=Jr>0?ls==$i?1:Jr*ls:Ze[ls],ga=js*Yi;n.currentTime=bo+_o.delay+ga,_o.duration=ga,this._validateStyleAst(Xs,n),Xs.offset=js,d.styles.push(Xs)}),d}visitReference(y,n){return{type:8,animation:Fn(this,Ht(y.animation),n),options:Pt(y.options)}}visitAnimateChild(y,n){return n.depCount++,{type:9,options:Pt(y.options)}}visitAnimateRef(y,n){return{type:10,animation:this.visitReference(y.animation,n),options:Pt(y.options)}}visitQuery(y,n){const d=n.currentQuerySelector,w=y.options||{};n.queryCount++,n.currentQuery=y;const[re,Ze]=function(f){const y=!!f.split(/\s*,\s*/).find(n=>":self"==n);return y&&(f=f.replace(jt,"")),[f=f.replace(/@\*/g,At).replace(/@\w+/g,n=>At+"-"+n.substr(1)).replace(/:animating/g,It),y]}(y.selector);n.currentQuerySelector=d.length?d+" "+re:re,x(n.collectedStyles,n.currentQuerySelector,{});const Lt=Fn(this,Ht(y.animation),n);return n.currentQuery=null,n.currentQuerySelector=d,{type:11,selector:re,limit:w.limit||0,optional:!!w.optional,includeSelf:Ze,animation:Lt,originalSelector:y.selector,options:Pt(y.options)}}visitStagger(y,n){n.currentQuery||n.errors.push("stagger() can only be used inside of query()");const d="full"===y.timings?{duration:0,delay:0,easing:"full"}:dt(y.timings,n.errors,!0);return{type:12,animation:Fn(this,Ht(y.animation),n),timings:d,options:null}}}class Ue{constructor(y){this.errors=y,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function at(f){return!Array.isArray(f)&&"object"==typeof f}function Pt(f){return f?(f=zt(f)).params&&(f.params=function(f){return f?zt(f):null}(f.params)):f={},f}function Ut(f,y,n){return{duration:f,delay:y,easing:n}}function ot(f,y,n,d,w,re,Ze=null,Lt=!1){return{type:1,element:f,keyframes:y,preStyleProps:n,postStyleProps:d,duration:w,delay:re,totalTime:w+re,easing:Ze,subTimeline:Lt}}class Nn{constructor(){this._map=new Map}consume(y){let n=this._map.get(y);return n?this._map.delete(y):n=[],n}append(y,n){let d=this._map.get(y);d||this._map.set(y,d=[]),d.push(...n)}has(y){return this._map.has(y)}clear(){this._map.clear()}}const Bn=new RegExp(":enter","g"),mr=new RegExp(":leave","g");function _r(f,y,n,d,w,re={},Ze={},Lt,Gt,On=[]){return(new Nr).buildKeyframes(f,y,n,d,w,re,Ze,Lt,Gt,On)}class Nr{buildKeyframes(y,n,d,w,re,Ze,Lt,Gt,On,fr=[]){On=On||new Nn;const hr=new Jn(y,n,On,w,re,fr,[]);hr.options=Gt,hr.currentTimeline.setStyles([Ze],null,hr.errors,Gt),Fn(this,d,hr);const Jr=hr.timelines.filter($i=>$i.containsAnimation());if(Jr.length&&Object.keys(Lt).length){const $i=Jr[Jr.length-1];$i.allowOnlyTimelineStyles()||$i.setStyles([Lt],null,hr.errors,Gt)}return Jr.length?Jr.map($i=>$i.buildKeyframes()):[ot(n,[],[],[],0,0,"",!1)]}visitTrigger(y,n){}visitState(y,n){}visitTransition(y,n){}visitAnimateChild(y,n){const d=n.subInstructions.consume(n.element);if(d){const w=n.createSubContext(y.options),re=n.currentTimeline.currentTime,Ze=this._visitSubInstructions(d,w,w.options);re!=Ze&&n.transformIntoNewTimeline(Ze)}n.previousNode=y}visitAnimateRef(y,n){const d=n.createSubContext(y.options);d.transformIntoNewTimeline(),this.visitReference(y.animation,d),n.transformIntoNewTimeline(d.currentTimeline.currentTime),n.previousNode=y}_visitSubInstructions(y,n,d){let re=n.currentTimeline.currentTime;const Ze=null!=d.duration?ae(d.duration):null,Lt=null!=d.delay?ae(d.delay):null;return 0!==Ze&&y.forEach(Gt=>{const On=n.appendInstructionToTimeline(Gt,Ze,Lt);re=Math.max(re,On.duration+On.delay)}),re}visitReference(y,n){n.updateOptions(y.options,!0),Fn(this,y.animation,n),n.previousNode=y}visitSequence(y,n){const d=n.subContextCount;let w=n;const re=y.options;if(re&&(re.params||re.delay)&&(w=n.createSubContext(re),w.transformIntoNewTimeline(),null!=re.delay)){6==w.previousNode.type&&(w.currentTimeline.snapshotCurrentStyles(),w.previousNode=br);const Ze=ae(re.delay);w.delayNextStep(Ze)}y.steps.length&&(y.steps.forEach(Ze=>Fn(this,Ze,w)),w.currentTimeline.applyStylesToKeyframe(),w.subContextCount>d&&w.transformIntoNewTimeline()),n.previousNode=y}visitGroup(y,n){const d=[];let w=n.currentTimeline.currentTime;const re=y.options&&y.options.delay?ae(y.options.delay):0;y.steps.forEach(Ze=>{const Lt=n.createSubContext(y.options);re&&Lt.delayNextStep(re),Fn(this,Ze,Lt),w=Math.max(w,Lt.currentTimeline.currentTime),d.push(Lt.currentTimeline)}),d.forEach(Ze=>n.currentTimeline.mergeTimelineCollectedStyles(Ze)),n.transformIntoNewTimeline(w),n.previousNode=y}_visitTiming(y,n){if(y.dynamic){const d=y.strValue;return dt(n.params?Kt(d,n.params,n.errors):d,n.errors)}return{duration:y.duration,delay:y.delay,easing:y.easing}}visitAnimate(y,n){const d=n.currentAnimateTimings=this._visitTiming(y.timings,n),w=n.currentTimeline;d.delay&&(n.incrementTime(d.delay),w.snapshotCurrentStyles());const re=y.style;5==re.type?this.visitKeyframes(re,n):(n.incrementTime(d.duration),this.visitStyle(re,n),w.applyStylesToKeyframe()),n.currentAnimateTimings=null,n.previousNode=y}visitStyle(y,n){const d=n.currentTimeline,w=n.currentAnimateTimings;!w&&d.getCurrentStyleProperties().length&&d.forwardFrame();const re=w&&w.easing||y.easing;y.isEmptyStep?d.applyEmptyStep(re):d.setStyles(y.styles,re,n.errors,n.options),n.previousNode=y}visitKeyframes(y,n){const d=n.currentAnimateTimings,w=n.currentTimeline.duration,re=d.duration,Lt=n.createSubContext().currentTimeline;Lt.easing=d.easing,y.styles.forEach(Gt=>{Lt.forwardTime((Gt.offset||0)*re),Lt.setStyles(Gt.styles,Gt.easing,n.errors,n.options),Lt.applyStylesToKeyframe()}),n.currentTimeline.mergeTimelineCollectedStyles(Lt),n.transformIntoNewTimeline(w+re),n.previousNode=y}visitQuery(y,n){const d=n.currentTimeline.currentTime,w=y.options||{},re=w.delay?ae(w.delay):0;re&&(6===n.previousNode.type||0==d&&n.currentTimeline.getCurrentStyleProperties().length)&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=br);let Ze=d;const Lt=n.invokeQuery(y.selector,y.originalSelector,y.limit,y.includeSelf,!!w.optional,n.errors);n.currentQueryTotal=Lt.length;let Gt=null;Lt.forEach((On,fr)=>{n.currentQueryIndex=fr;const hr=n.createSubContext(y.options,On);re&&hr.delayNextStep(re),On===n.element&&(Gt=hr.currentTimeline),Fn(this,y.animation,hr),hr.currentTimeline.applyStylesToKeyframe(),Ze=Math.max(Ze,hr.currentTimeline.currentTime)}),n.currentQueryIndex=0,n.currentQueryTotal=0,n.transformIntoNewTimeline(Ze),Gt&&(n.currentTimeline.mergeTimelineCollectedStyles(Gt),n.currentTimeline.snapshotCurrentStyles()),n.previousNode=y}visitStagger(y,n){const d=n.parentContext,w=n.currentTimeline,re=y.timings,Ze=Math.abs(re.duration),Lt=Ze*(n.currentQueryTotal-1);let Gt=Ze*n.currentQueryIndex;switch(re.duration<0?"reverse":re.easing){case"reverse":Gt=Lt-Gt;break;case"full":Gt=d.currentStaggerTime}const fr=n.currentTimeline;Gt&&fr.delayNextStep(Gt);const hr=fr.currentTime;Fn(this,y.animation,n),n.previousNode=y,d.currentStaggerTime=w.currentTime-hr+(w.startTime-d.currentTimeline.startTime)}}const br={};class Jn{constructor(y,n,d,w,re,Ze,Lt,Gt){this._driver=y,this.element=n,this.subInstructions=d,this._enterClassName=w,this._leaveClassName=re,this.errors=Ze,this.timelines=Lt,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=br,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=Gt||new nr(this._driver,n,0),Lt.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(y,n){if(!y)return;const d=y;let w=this.options;null!=d.duration&&(w.duration=ae(d.duration)),null!=d.delay&&(w.delay=ae(d.delay));const re=d.params;if(re){let Ze=w.params;Ze||(Ze=this.options.params={}),Object.keys(re).forEach(Lt=>{(!n||!Ze.hasOwnProperty(Lt))&&(Ze[Lt]=Kt(re[Lt],Ze,this.errors))})}}_copyOptions(){const y={};if(this.options){const n=this.options.params;if(n){const d=y.params={};Object.keys(n).forEach(w=>{d[w]=n[w]})}}return y}createSubContext(y=null,n,d){const w=n||this.element,re=new Jn(this._driver,w,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(w,d||0));return re.previousNode=this.previousNode,re.currentAnimateTimings=this.currentAnimateTimings,re.options=this._copyOptions(),re.updateOptions(y),re.currentQueryIndex=this.currentQueryIndex,re.currentQueryTotal=this.currentQueryTotal,re.parentContext=this,this.subContextCount++,re}transformIntoNewTimeline(y){return this.previousNode=br,this.currentTimeline=this.currentTimeline.fork(this.element,y),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(y,n,d){const w={duration:null!=n?n:y.duration,delay:this.currentTimeline.currentTime+(null!=d?d:0)+y.delay,easing:""},re=new Mr(this._driver,y.element,y.keyframes,y.preStyleProps,y.postStyleProps,w,y.stretchStartingKeyframe);return this.timelines.push(re),w}incrementTime(y){this.currentTimeline.forwardTime(this.currentTimeline.duration+y)}delayNextStep(y){y>0&&this.currentTimeline.delayNextStep(y)}invokeQuery(y,n,d,w,re,Ze){let Lt=[];if(w&&Lt.push(this.element),y.length>0){y=(y=y.replace(Bn,"."+this._enterClassName)).replace(mr,"."+this._leaveClassName);let On=this._driver.query(this.element,y,1!=d);0!==d&&(On=d<0?On.slice(On.length+d,On.length):On.slice(0,d)),Lt.push(...On)}return!re&&0==Lt.length&&Ze.push(`\`query("${n}")\` returned zero elements. (Use \`query("${n}", { optional: true })\` if you wish to allow this.)`),Lt}}class nr{constructor(y,n,d,w){this._driver=y,this.element=n,this.startTime=d,this._elementTimelineStylesLookup=w,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(n),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(n,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(y){const n=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||n?(this.forwardTime(this.currentTime+y),n&&this.snapshotCurrentStyles()):this.startTime+=y}fork(y,n){return this.applyStylesToKeyframe(),new nr(this._driver,y,n||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(y){this.applyStylesToKeyframe(),this.duration=y,this._loadKeyframe()}_updateStyle(y,n){this._localTimelineStyles[y]=n,this._globalTimelineStyles[y]=n,this._styleSummary[y]={time:this.currentTime,value:n}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(y){y&&(this._previousKeyframe.easing=y),Object.keys(this._globalTimelineStyles).forEach(n=>{this._backFill[n]=this._globalTimelineStyles[n]||l.l3,this._currentKeyframe[n]=l.l3}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(y,n,d,w){n&&(this._previousKeyframe.easing=n);const re=w&&w.params||{},Ze=function(f,y){const n={};let d;return f.forEach(w=>{"*"===w?(d=d||Object.keys(y),d.forEach(re=>{n[re]=l.l3})):ar(w,!1,n)}),n}(y,this._globalTimelineStyles);Object.keys(Ze).forEach(Lt=>{const Gt=Kt(Ze[Lt],re,d);this._pendingStyles[Lt]=Gt,this._localTimelineStyles.hasOwnProperty(Lt)||(this._backFill[Lt]=this._globalTimelineStyles.hasOwnProperty(Lt)?this._globalTimelineStyles[Lt]:l.l3),this._updateStyle(Lt,Gt)})}applyStylesToKeyframe(){const y=this._pendingStyles,n=Object.keys(y);0!=n.length&&(this._pendingStyles={},n.forEach(d=>{this._currentKeyframe[d]=y[d]}),Object.keys(this._localTimelineStyles).forEach(d=>{this._currentKeyframe.hasOwnProperty(d)||(this._currentKeyframe[d]=this._localTimelineStyles[d])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(y=>{const n=this._localTimelineStyles[y];this._pendingStyles[y]=n,this._updateStyle(y,n)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const y=[];for(let n in this._currentKeyframe)y.push(n);return y}mergeTimelineCollectedStyles(y){Object.keys(y._styleSummary).forEach(n=>{const d=this._styleSummary[n],w=y._styleSummary[n];(!d||w.time>d.time)&&this._updateStyle(n,w.value)})}buildKeyframes(){this.applyStylesToKeyframe();const y=new Set,n=new Set,d=1===this._keyframes.size&&0===this.duration;let w=[];this._keyframes.forEach((Lt,Gt)=>{const On=ar(Lt,!0);Object.keys(On).forEach(fr=>{const hr=On[fr];hr==l.k1?y.add(fr):hr==l.l3&&n.add(fr)}),d||(On.offset=Gt/this.duration),w.push(On)});const re=y.size?dn(y.values()):[],Ze=n.size?dn(n.values()):[];if(d){const Lt=w[0],Gt=zt(Lt);Lt.offset=0,Gt.offset=1,w=[Lt,Gt]}return ot(this.element,w,re,Ze,this.duration,this.startTime,this.easing,!1)}}class Mr extends nr{constructor(y,n,d,w,re,Ze,Lt=!1){super(y,n,Ze.delay),this.keyframes=d,this.preStyleProps=w,this.postStyleProps=re,this._stretchStartingKeyframe=Lt,this.timings={duration:Ze.duration,delay:Ze.delay,easing:Ze.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let y=this.keyframes,{delay:n,duration:d,easing:w}=this.timings;if(this._stretchStartingKeyframe&&n){const re=[],Ze=d+n,Lt=n/Ze,Gt=ar(y[0],!1);Gt.offset=0,re.push(Gt);const On=ar(y[0],!1);On.offset=yi(Lt),re.push(On);const fr=y.length-1;for(let hr=1;hr<=fr;hr++){let Jr=ar(y[hr],!1);Jr.offset=yi((n+Jr.offset*d)/Ze),re.push(Jr)}d=Ze,n=0,w="",y=re}return ot(this.element,y,this.preStyleProps,this.postStyleProps,d,n,w,!0)}}function yi(f,y=3){const n=Math.pow(10,y-1);return Math.round(f*n)/n}class Oi{}class ei extends Oi{normalizePropertyName(y,n){return qn(y)}normalizeStyleValue(y,n,d,w){let re="";const Ze=d.toString().trim();if(se[n]&&0!==d&&"0"!==d)if("number"==typeof d)re="px";else{const Lt=d.match(/^[+-]?[\d\.]+([a-z]*)$/);Lt&&0==Lt[1].length&&w.push(`Please provide a CSS unit value for ${y}:${d}`)}return Ze+re}}const se=(()=>function(f){const y={};return f.forEach(n=>y[n]=!0),y}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function Ke(f,y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr){return{type:0,element:f,triggerName:y,isRemovalTransition:w,fromState:n,fromStyles:re,toState:d,toStyles:Ze,timelines:Lt,queriedElements:Gt,preStyleProps:On,postStyleProps:fr,totalTime:hr,errors:Jr}}const Xe={};class Vt{constructor(y,n,d){this._triggerName=y,this.ast=n,this._stateStyles=d}match(y,n,d,w){return function(f,y,n,d,w){return f.some(re=>re(y,n,d,w))}(this.ast.matchers,y,n,d,w)}buildStyles(y,n,d){const w=this._stateStyles["*"],re=this._stateStyles[y],Ze=w?w.buildStyles(n,d):{};return re?re.buildStyles(n,d):Ze}build(y,n,d,w,re,Ze,Lt,Gt,On,fr){const hr=[],Jr=this.ast.options&&this.ast.options.params||Xe,bo=this.buildStyles(d,Lt&&Lt.params||Xe,hr),_o=Gt&&Gt.params||Xe,Yi=this.buildStyles(w,_o,hr),Xs=new Set,ls=new Map,js=new Map,ga="void"===w,wl={params:Object.assign(Object.assign({},Jr),_o)},wa=fr?[]:_r(y,n,this.ast.animation,re,Ze,bo,Yi,wl,On,hr);let Wl=0;if(wa.forEach(Ls=>{Wl=Math.max(Ls.duration+Ls.delay,Wl)}),hr.length)return Ke(n,this._triggerName,d,w,ga,bo,Yi,[],[],ls,js,Wl,hr);wa.forEach(Ls=>{const yu=Ls.element,wf=x(ls,yu,{});Ls.preStyleProps.forEach(Bu=>wf[Bu]=!0);const ju=x(js,yu,{});Ls.postStyleProps.forEach(Bu=>ju[Bu]=!0),yu!==n&&Xs.add(yu)});const zc=dn(Xs.values());return Ke(n,this._triggerName,d,w,ga,bo,Yi,wa,zc,ls,js,Wl)}}class rt{constructor(y,n,d){this.styles=y,this.defaultParams=n,this.normalizer=d}buildStyles(y,n){const d={},w=zt(this.defaultParams);return Object.keys(y).forEach(re=>{const Ze=y[re];null!=Ze&&(w[re]=Ze)}),this.styles.styles.forEach(re=>{if("string"!=typeof re){const Ze=re;Object.keys(Ze).forEach(Lt=>{let Gt=Ze[Lt];Gt.length>1&&(Gt=Kt(Gt,w,n));const On=this.normalizer.normalizePropertyName(Lt,n);Gt=this.normalizer.normalizeStyleValue(Lt,On,Gt,n),d[On]=Gt})}}),d}}class We{constructor(y,n,d){this.name=y,this.ast=n,this._normalizer=d,this.transitionFactories=[],this.states={},n.states.forEach(w=>{this.states[w.name]=new rt(w.style,w.options&&w.options.params||{},d)}),or(this.states,"true","1"),or(this.states,"false","0"),n.transitions.forEach(w=>{this.transitionFactories.push(new Vt(y,w,this.states))}),this.fallbackTransition=function(f,y,n){return new Vt(f,{type:1,animation:{type:2,steps:[],options:null},matchers:[(Ze,Lt)=>!0],options:null,queryCount:0,depCount:0},y)}(y,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(y,n,d,w){return this.transitionFactories.find(Ze=>Ze.match(y,n,d,w))||null}matchStyles(y,n,d){return this.fallbackTransition.buildStyles(y,n,d)}}function or(f,y,n){f.hasOwnProperty(y)?f.hasOwnProperty(n)||(f[n]=f[y]):f.hasOwnProperty(n)&&(f[y]=f[n])}const Zn=new Nn;class Vr{constructor(y,n,d){this.bodyNode=y,this._driver=n,this._normalizer=d,this._animations={},this._playersById={},this.players=[]}register(y,n){const d=[],w=hn(this._driver,n,d);if(d.length)throw new Error(`Unable to build the animation due to the following errors: ${d.join("\n")}`);this._animations[y]=w}_buildPlayer(y,n,d){const w=y.element,re=m(0,this._normalizer,0,y.keyframes,n,d);return this._driver.animate(w,re,y.duration,y.delay,y.easing,[],!0)}create(y,n,d={}){const w=[],re=this._animations[y];let Ze;const Lt=new Map;if(re?(Ze=_r(this._driver,n,re,je,Et,{},{},d,Zn,w),Ze.forEach(fr=>{const hr=x(Lt,fr.element,{});fr.postStyleProps.forEach(Jr=>hr[Jr]=null)})):(w.push("The requested animation doesn't exist or has already been destroyed"),Ze=[]),w.length)throw new Error(`Unable to create the animation due to the following errors: ${w.join("\n")}`);Lt.forEach((fr,hr)=>{Object.keys(fr).forEach(Jr=>{fr[Jr]=this._driver.computeStyle(hr,Jr,l.l3)})});const On=_(Ze.map(fr=>{const hr=Lt.get(fr.element);return this._buildPlayer(fr,{},hr)}));return this._playersById[y]=On,On.onDestroy(()=>this.destroy(y)),this.players.push(On),On}destroy(y){const n=this._getPlayer(y);n.destroy(),delete this._playersById[y];const d=this.players.indexOf(n);d>=0&&this.players.splice(d,1)}_getPlayer(y){const n=this._playersById[y];if(!n)throw new Error(`Unable to find the timeline player referenced by ${y}`);return n}listen(y,n,d,w){const re=D(n,"","","");return b(this._getPlayer(y),d,re,w),()=>{}}command(y,n,d,w){if("register"==d)return void this.register(y,w[0]);if("create"==d)return void this.create(y,n,w[0]||{});const re=this._getPlayer(y);switch(d){case"play":re.play();break;case"pause":re.pause();break;case"reset":re.reset();break;case"restart":re.restart();break;case"finish":re.finish();break;case"init":re.init();break;case"setPosition":re.setPosition(parseFloat(w[0]));break;case"destroy":this.destroy(y)}}}const Cr="ng-animate-queued",Dr="ng-animate-disabled",Qr=".ng-animate-disabled",Ei=[],wi={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},go={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Fi="__ng_removed";class no{constructor(y,n=""){this.namespaceId=n;const d=y&&y.hasOwnProperty("value");if(this.value=null!=(f=d?y.value:y)?f:null,d){const re=zt(y);delete re.value,this.options=re}else this.options={};var f;this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(y){const n=y.params;if(n){const d=this.options.params;Object.keys(n).forEach(w=>{null==d[w]&&(d[w]=n[w])})}}}const Ji="void",qi=new no(Ji);class to{constructor(y,n,d){this.id=y,this.hostElement=n,this._engine=d,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+y,st(n,this._hostClassName)}listen(y,n,d,w){if(!this._triggers.hasOwnProperty(n))throw new Error(`Unable to listen on the animation trigger event "${d}" because the animation trigger "${n}" doesn't exist!`);if(null==d||0==d.length)throw new Error(`Unable to listen on the animation trigger "${n}" because the provided event is undefined!`);if("start"!=(f=d)&&"done"!=f)throw new Error(`The provided animation trigger event "${d}" for the animation trigger "${n}" is not supported!`);var f;const re=x(this._elementListeners,y,[]),Ze={name:n,phase:d,callback:w};re.push(Ze);const Lt=x(this._engine.statesByElement,y,{});return Lt.hasOwnProperty(n)||(st(y,St),st(y,St+"-"+n),Lt[n]=qi),()=>{this._engine.afterFlush(()=>{const Gt=re.indexOf(Ze);Gt>=0&&re.splice(Gt,1),this._triggers[n]||delete Lt[n]})}}register(y,n){return!this._triggers[y]&&(this._triggers[y]=n,!0)}_getTrigger(y){const n=this._triggers[y];if(!n)throw new Error(`The provided animation trigger "${y}" has not been registered!`);return n}trigger(y,n,d,w=!0){const re=this._getTrigger(n),Ze=new Go(this.id,n,y);let Lt=this._engine.statesByElement.get(y);Lt||(st(y,St),st(y,St+"-"+n),this._engine.statesByElement.set(y,Lt={}));let Gt=Lt[n];const On=new no(d,this.id);if(!(d&&d.hasOwnProperty("value"))&&Gt&&On.absorbOptions(Gt.options),Lt[n]=On,Gt||(Gt=qi),On.value!==Ji&&Gt.value===On.value){if(!function(f,y){const n=Object.keys(f),d=Object.keys(y);if(n.length!=d.length)return!1;for(let w=0;w<n.length;w++){const re=n[w];if(!y.hasOwnProperty(re)||f[re]!==y[re])return!1}return!0}(Gt.params,On.params)){const _o=[],Yi=re.matchStyles(Gt.value,Gt.params,_o),Xs=re.matchStyles(On.value,On.params,_o);_o.length?this._engine.reportError(_o):this._engine.afterFlush(()=>{Mn(y,Yi),er(y,Xs)})}return}const Jr=x(this._engine.playersByElement,y,[]);Jr.forEach(_o=>{_o.namespaceId==this.id&&_o.triggerName==n&&_o.queued&&_o.destroy()});let $i=re.matchTransition(Gt.value,On.value,y,On.params),bo=!1;if(!$i){if(!w)return;$i=re.fallbackTransition,bo=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:n,transition:$i,fromState:Gt,toState:On,player:Ze,isFallbackTransition:bo}),bo||(st(y,Cr),Ze.onStart(()=>{pn(y,Cr)})),Ze.onDone(()=>{let _o=this.players.indexOf(Ze);_o>=0&&this.players.splice(_o,1);const Yi=this._engine.playersByElement.get(y);if(Yi){let Xs=Yi.indexOf(Ze);Xs>=0&&Yi.splice(Xs,1)}}),this.players.push(Ze),Jr.push(Ze),Ze}deregister(y){delete this._triggers[y],this._engine.statesByElement.forEach((n,d)=>{delete n[y]}),this._elementListeners.forEach((n,d)=>{this._elementListeners.set(d,n.filter(w=>w.name!=y))})}clearElementCache(y){this._engine.statesByElement.delete(y),this._elementListeners.delete(y);const n=this._engine.playersByElement.get(y);n&&(n.forEach(d=>d.destroy()),this._engine.playersByElement.delete(y))}_signalRemovalForInnerTriggers(y,n){const d=this._engine.driver.query(y,At,!0);d.forEach(w=>{if(w[Fi])return;const re=this._engine.fetchNamespacesByElement(w);re.size?re.forEach(Ze=>Ze.triggerLeaveAnimation(w,n,!1,!0)):this.clearElementCache(w)}),this._engine.afterFlushAnimationsDone(()=>d.forEach(w=>this.clearElementCache(w)))}triggerLeaveAnimation(y,n,d,w){const re=this._engine.statesByElement.get(y);if(re){const Ze=[];if(Object.keys(re).forEach(Lt=>{if(this._triggers[Lt]){const Gt=this.trigger(y,Lt,Ji,w);Gt&&Ze.push(Gt)}}),Ze.length)return this._engine.markElementAsRemoved(this.id,y,!0,n),d&&_(Ze).onDone(()=>this._engine.processLeaveNode(y)),!0}return!1}prepareLeaveAnimationListeners(y){const n=this._elementListeners.get(y),d=this._engine.statesByElement.get(y);if(n&&d){const w=new Set;n.forEach(re=>{const Ze=re.name;if(w.has(Ze))return;w.add(Ze);const Gt=this._triggers[Ze].fallbackTransition,On=d[Ze]||qi,fr=new no(Ji),hr=new Go(this.id,Ze,y);this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:Ze,transition:Gt,fromState:On,toState:fr,player:hr,isFallbackTransition:!0})})}}removeNode(y,n){const d=this._engine;if(y.childElementCount&&this._signalRemovalForInnerTriggers(y,n),this.triggerLeaveAnimation(y,n,!0))return;let w=!1;if(d.totalAnimations){const re=d.players.length?d.playersByQueriedElement.get(y):[];if(re&&re.length)w=!0;else{let Ze=y;for(;Ze=Ze.parentNode;)if(d.statesByElement.get(Ze)){w=!0;break}}}if(this.prepareLeaveAnimationListeners(y),w)d.markElementAsRemoved(this.id,y,!1,n);else{const re=y[Fi];(!re||re===wi)&&(d.afterFlush(()=>this.clearElementCache(y)),d.destroyInnerAnimations(y),d._onRemovalComplete(y,n))}}insertNode(y,n){st(y,this._hostClassName)}drainQueuedTransitions(y){const n=[];return this._queue.forEach(d=>{const w=d.player;if(w.destroyed)return;const re=d.element,Ze=this._elementListeners.get(re);Ze&&Ze.forEach(Lt=>{if(Lt.name==d.triggerName){const Gt=D(re,d.triggerName,d.fromState.value,d.toState.value);Gt._data=y,b(d.player,Lt.phase,Gt,Lt.callback)}}),w.markedForDestroy?this._engine.afterFlush(()=>{w.destroy()}):n.push(d)}),this._queue=[],n.sort((d,w)=>{const re=d.transition.ast.depCount,Ze=w.transition.ast.depCount;return 0==re||0==Ze?re-Ze:this._engine.driver.containsElement(d.element,w.element)?1:-1})}destroy(y){this.players.forEach(n=>n.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,y)}elementContainsData(y){let n=!1;return this._elementListeners.has(y)&&(n=!0),n=!!this._queue.find(d=>d.element===y)||n,n}}class zi{constructor(y,n,d){this.bodyNode=y,this.driver=n,this._normalizer=d,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(w,re)=>{}}_onRemovalComplete(y,n){this.onRemovalComplete(y,n)}get queuedPlayers(){const y=[];return this._namespaceList.forEach(n=>{n.players.forEach(d=>{d.queued&&y.push(d)})}),y}createNamespace(y,n){const d=new to(y,n,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,n)?this._balanceNamespaceList(d,n):(this.newHostElements.set(n,d),this.collectEnterElement(n)),this._namespaceLookup[y]=d}_balanceNamespaceList(y,n){const d=this._namespaceList.length-1;if(d>=0){let w=!1;for(let re=d;re>=0;re--)if(this.driver.containsElement(this._namespaceList[re].hostElement,n)){this._namespaceList.splice(re+1,0,y),w=!0;break}w||this._namespaceList.splice(0,0,y)}else this._namespaceList.push(y);return this.namespacesByHostElement.set(n,y),y}register(y,n){let d=this._namespaceLookup[y];return d||(d=this.createNamespace(y,n)),d}registerTrigger(y,n,d){let w=this._namespaceLookup[y];w&&w.register(n,d)&&this.totalAnimations++}destroy(y,n){if(!y)return;const d=this._fetchNamespace(y);this.afterFlush(()=>{this.namespacesByHostElement.delete(d.hostElement),delete this._namespaceLookup[y];const w=this._namespaceList.indexOf(d);w>=0&&this._namespaceList.splice(w,1)}),this.afterFlushAnimationsDone(()=>d.destroy(n))}_fetchNamespace(y){return this._namespaceLookup[y]}fetchNamespacesByElement(y){const n=new Set,d=this.statesByElement.get(y);if(d){const w=Object.keys(d);for(let re=0;re<w.length;re++){const Ze=d[w[re]].namespaceId;if(Ze){const Lt=this._fetchNamespace(Ze);Lt&&n.add(Lt)}}}return n}trigger(y,n,d,w){if(Jo(n)){const re=this._fetchNamespace(y);if(re)return re.trigger(n,d,w),!0}return!1}insertNode(y,n,d,w){if(!Jo(n))return;const re=n[Fi];if(re&&re.setForRemoval){re.setForRemoval=!1,re.setForMove=!0;const Ze=this.collectedLeaveElements.indexOf(n);Ze>=0&&this.collectedLeaveElements.splice(Ze,1)}if(y){const Ze=this._fetchNamespace(y);Ze&&Ze.insertNode(n,d)}w&&this.collectEnterElement(n)}collectEnterElement(y){this.collectedEnterElements.push(y)}markElementAsDisabled(y,n){n?this.disabledNodes.has(y)||(this.disabledNodes.add(y),st(y,Dr)):this.disabledNodes.has(y)&&(this.disabledNodes.delete(y),pn(y,Dr))}removeNode(y,n,d,w){if(Jo(n)){const re=y?this._fetchNamespace(y):null;if(re?re.removeNode(n,w):this.markElementAsRemoved(y,n,!1,w),d){const Ze=this.namespacesByHostElement.get(n);Ze&&Ze.id!==y&&Ze.removeNode(n,w)}}else this._onRemovalComplete(n,w)}markElementAsRemoved(y,n,d,w){this.collectedLeaveElements.push(n),n[Fi]={namespaceId:y,setForRemoval:w,hasAnimation:d,removedBeforeQueried:!1}}listen(y,n,d,w,re){return Jo(n)?this._fetchNamespace(y).listen(n,d,w,re):()=>{}}_buildInstruction(y,n,d,w,re){return y.transition.build(this.driver,y.element,y.fromState.value,y.toState.value,d,w,y.fromState.options,y.toState.options,n,re)}destroyInnerAnimations(y){let n=this.driver.query(y,At,!0);n.forEach(d=>this.destroyActiveAnimationsForElement(d)),0!=this.playersByQueriedElement.size&&(n=this.driver.query(y,It,!0),n.forEach(d=>this.finishActiveQueriedAnimationOnElement(d)))}destroyActiveAnimationsForElement(y){const n=this.playersByElement.get(y);n&&n.forEach(d=>{d.queued?d.markedForDestroy=!0:d.destroy()})}finishActiveQueriedAnimationOnElement(y){const n=this.playersByQueriedElement.get(y);n&&n.forEach(d=>d.finish())}whenRenderingDone(){return new Promise(y=>{if(this.players.length)return _(this.players).onDone(()=>y());y()})}processLeaveNode(y){const n=y[Fi];if(n&&n.setForRemoval){if(y[Fi]=wi,n.namespaceId){this.destroyInnerAnimations(y);const d=this._fetchNamespace(n.namespaceId);d&&d.clearElementCache(y)}this._onRemovalComplete(y,n.setForRemoval)}this.driver.matchesElement(y,Qr)&&this.markElementAsDisabled(y,!1),this.driver.query(y,Qr,!0).forEach(d=>{this.markElementAsDisabled(d,!1)})}flush(y=-1){let n=[];if(this.newHostElements.size&&(this.newHostElements.forEach((d,w)=>this._balanceNamespaceList(d,w)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let d=0;d<this.collectedEnterElements.length;d++)st(this.collectedEnterElements[d],"ng-star-inserted");if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const d=[];try{n=this._flushAnimations(d,y)}finally{for(let w=0;w<d.length;w++)d[w]()}}else for(let d=0;d<this.collectedLeaveElements.length;d++)this.processLeaveNode(this.collectedLeaveElements[d]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(d=>d()),this._flushFns=[],this._whenQuietFns.length){const d=this._whenQuietFns;this._whenQuietFns=[],n.length?_(n).onDone(()=>{d.forEach(w=>w())}):d.forEach(w=>w())}}reportError(y){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${y.join("\n")}`)}_flushAnimations(y,n){const d=new Nn,w=[],re=new Map,Ze=[],Lt=new Map,Gt=new Map,On=new Map,fr=new Set;this.disabledNodes.forEach(as=>{fr.add(as);const Cs=this.driver.query(as,".ng-animate-queued",!0);for(let Bs=0;Bs<Cs.length;Bs++)fr.add(Cs[Bs])});const hr=this.bodyNode,Jr=Array.from(this.statesByElement.keys()),$i=zo(Jr,this.collectedEnterElements),bo=new Map;let _o=0;$i.forEach((as,Cs)=>{const Bs=je+_o++;bo.set(Cs,Bs),as.forEach(Da=>st(Da,Bs))});const Yi=[],Xs=new Set,ls=new Set;for(let as=0;as<this.collectedLeaveElements.length;as++){const Cs=this.collectedLeaveElements[as],Bs=Cs[Fi];Bs&&Bs.setForRemoval&&(Yi.push(Cs),Xs.add(Cs),Bs.hasAnimation?this.driver.query(Cs,".ng-star-inserted",!0).forEach(Da=>Xs.add(Da)):ls.add(Cs))}const js=new Map,ga=zo(Jr,Array.from(Xs));ga.forEach((as,Cs)=>{const Bs=Et+_o++;js.set(Cs,Bs),as.forEach(Da=>st(Da,Bs))}),y.push(()=>{$i.forEach((as,Cs)=>{const Bs=bo.get(Cs);as.forEach(Da=>pn(Da,Bs))}),ga.forEach((as,Cs)=>{const Bs=js.get(Cs);as.forEach(Da=>pn(Da,Bs))}),Yi.forEach(as=>{this.processLeaveNode(as)})});const wl=[],wa=[];for(let as=this._namespaceList.length-1;as>=0;as--)this._namespaceList[as].drainQueuedTransitions(n).forEach(Bs=>{const Da=Bs.player,sc=Bs.element;if(wl.push(Da),this.collectedEnterElements.length){const pu=sc[Fi];if(pu&&pu.setForMove)return void Da.destroy()}const fu=!hr||!this.driver.containsElement(hr,sc),Pc=js.get(sc),Wc=bo.get(sc),Pl=this._buildInstruction(Bs,d,Wc,Pc,fu);if(Pl.errors&&Pl.errors.length)wa.push(Pl);else{if(fu)return Da.onStart(()=>Mn(sc,Pl.fromStyles)),Da.onDestroy(()=>er(sc,Pl.toStyles)),void w.push(Da);if(Bs.isFallbackTransition)return Da.onStart(()=>Mn(sc,Pl.fromStyles)),Da.onDestroy(()=>er(sc,Pl.toStyles)),void w.push(Da);Pl.timelines.forEach(pu=>pu.stretchStartingKeyframe=!0),d.append(sc,Pl.timelines),Ze.push({instruction:Pl,player:Da,element:sc}),Pl.queriedElements.forEach(pu=>x(Lt,pu,[]).push(Da)),Pl.preStyleProps.forEach((pu,Cd)=>{const Ld=Object.keys(pu);if(Ld.length){let Yu=Gt.get(Cd);Yu||Gt.set(Cd,Yu=new Set),Ld.forEach(Ys=>Yu.add(Ys))}}),Pl.postStyleProps.forEach((pu,Cd)=>{const Ld=Object.keys(pu);let Yu=On.get(Cd);Yu||On.set(Cd,Yu=new Set),Ld.forEach(Ys=>Yu.add(Ys))})}});if(wa.length){const as=[];wa.forEach(Cs=>{as.push(`@${Cs.triggerName} has failed due to:\n`),Cs.errors.forEach(Bs=>as.push(`- ${Bs}\n`))}),wl.forEach(Cs=>Cs.destroy()),this.reportError(as)}const Wl=new Map,zc=new Map;Ze.forEach(as=>{const Cs=as.element;d.has(Cs)&&(zc.set(Cs,Cs),this._beforeAnimationBuild(as.player.namespaceId,as.instruction,Wl))}),w.forEach(as=>{const Cs=as.element;this._getPreviousPlayers(Cs,!1,as.namespaceId,as.triggerName,null).forEach(Da=>{x(Wl,Cs,[]).push(Da),Da.destroy()})});const Ls=Yi.filter(as=>$r(as,Gt,On)),yu=new Map;ds(yu,this.driver,ls,On,l.l3).forEach(as=>{$r(as,Gt,On)&&Ls.push(as)});const ju=new Map;$i.forEach((as,Cs)=>{ds(ju,this.driver,new Set(as),Gt,l.k1)}),Ls.forEach(as=>{const Cs=yu.get(as),Bs=ju.get(as);yu.set(as,Object.assign(Object.assign({},Cs),Bs))});const Bu=[],Df=[],xf={};Ze.forEach(as=>{const{element:Cs,player:Bs,instruction:Da}=as;if(d.has(Cs)){if(fr.has(Cs))return Bs.onDestroy(()=>er(Cs,Da.toStyles)),Bs.disabled=!0,Bs.overrideTotalTime(Da.totalTime),void w.push(Bs);let sc=xf;if(zc.size>1){let Pc=Cs;const Wc=[];for(;Pc=Pc.parentNode;){const Pl=zc.get(Pc);if(Pl){sc=Pl;break}Wc.push(Pc)}Wc.forEach(Pl=>zc.set(Pl,sc))}const fu=this._buildAnimation(Bs.namespaceId,Da,Wl,re,ju,yu);if(Bs.setRealPlayer(fu),sc===xf)Bu.push(Bs);else{const Pc=this.playersByElement.get(sc);Pc&&Pc.length&&(Bs.parentPlayer=_(Pc)),w.push(Bs)}}else Mn(Cs,Da.fromStyles),Bs.onDestroy(()=>er(Cs,Da.toStyles)),Df.push(Bs),fr.has(Cs)&&w.push(Bs)}),Df.forEach(as=>{const Cs=re.get(as.element);if(Cs&&Cs.length){const Bs=_(Cs);as.setRealPlayer(Bs)}}),w.forEach(as=>{as.parentPlayer?as.syncPlayerEvents(as.parentPlayer):as.destroy()});for(let as=0;as<Yi.length;as++){const Cs=Yi[as],Bs=Cs[Fi];if(pn(Cs,Et),Bs&&Bs.hasAnimation)continue;let Da=[];if(Lt.size){let fu=Lt.get(Cs);fu&&fu.length&&Da.push(...fu);let Pc=this.driver.query(Cs,It,!0);for(let Wc=0;Wc<Pc.length;Wc++){let Pl=Lt.get(Pc[Wc]);Pl&&Pl.length&&Da.push(...Pl)}}const sc=Da.filter(fu=>!fu.destroyed);sc.length?ee(this,Cs,sc):this.processLeaveNode(Cs)}return Yi.length=0,Bu.forEach(as=>{this.players.push(as),as.onDone(()=>{as.destroy();const Cs=this.players.indexOf(as);this.players.splice(Cs,1)}),as.play()}),Bu}elementContainsData(y,n){let d=!1;const w=n[Fi];return w&&w.setForRemoval&&(d=!0),this.playersByElement.has(n)&&(d=!0),this.playersByQueriedElement.has(n)&&(d=!0),this.statesByElement.has(n)&&(d=!0),this._fetchNamespace(y).elementContainsData(n)||d}afterFlush(y){this._flushFns.push(y)}afterFlushAnimationsDone(y){this._whenQuietFns.push(y)}_getPreviousPlayers(y,n,d,w,re){let Ze=[];if(n){const Lt=this.playersByQueriedElement.get(y);Lt&&(Ze=Lt)}else{const Lt=this.playersByElement.get(y);if(Lt){const Gt=!re||re==Ji;Lt.forEach(On=>{On.queued||!Gt&&On.triggerName!=w||Ze.push(On)})}}return(d||w)&&(Ze=Ze.filter(Lt=>!(d&&d!=Lt.namespaceId||w&&w!=Lt.triggerName))),Ze}_beforeAnimationBuild(y,n,d){const re=n.element,Ze=n.isRemovalTransition?void 0:y,Lt=n.isRemovalTransition?void 0:n.triggerName;for(const Gt of n.timelines){const On=Gt.element,fr=On!==re,hr=x(d,On,[]);this._getPreviousPlayers(On,fr,Ze,Lt,n.toState).forEach($i=>{const bo=$i.getRealPlayer();bo.beforeDestroy&&bo.beforeDestroy(),$i.destroy(),hr.push($i)})}Mn(re,n.fromStyles)}_buildAnimation(y,n,d,w,re,Ze){const Lt=n.triggerName,Gt=n.element,On=[],fr=new Set,hr=new Set,Jr=n.timelines.map(bo=>{const _o=bo.element;fr.add(_o);const Yi=_o[Fi];if(Yi&&Yi.removedBeforeQueried)return new l.ZN(bo.duration,bo.delay);const Xs=_o!==Gt,ls=function(f){const y=[];return fn(f,y),y}((d.get(_o)||Ei).map(Wl=>Wl.getRealPlayer())).filter(Wl=>!!Wl.element&&Wl.element===_o),js=re.get(_o),ga=Ze.get(_o),wl=m(0,this._normalizer,0,bo.keyframes,js,ga),wa=this._buildPlayer(bo,wl,ls);if(bo.subTimeline&&w&&hr.add(_o),Xs){const Wl=new Go(y,Lt,_o);Wl.setRealPlayer(wa),On.push(Wl)}return wa});On.forEach(bo=>{x(this.playersByQueriedElement,bo.element,[]).push(bo),bo.onDone(()=>function(f,y,n){let d;if(f instanceof Map){if(d=f.get(y),d){if(d.length){const w=d.indexOf(n);d.splice(w,1)}0==d.length&&f.delete(y)}}else if(d=f[y],d){if(d.length){const w=d.indexOf(n);d.splice(w,1)}0==d.length&&delete f[y]}return d}(this.playersByQueriedElement,bo.element,bo))}),fr.forEach(bo=>st(bo,Qe));const $i=_(Jr);return $i.onDestroy(()=>{fr.forEach(bo=>pn(bo,Qe)),er(Gt,n.toStyles)}),hr.forEach(bo=>{x(w,bo,[]).push($i)}),$i}_buildPlayer(y,n,d){return n.length>0?this.driver.animate(y.element,n,y.duration,y.delay,y.easing,d):new l.ZN(y.duration,y.delay)}}class Go{constructor(y,n,d){this.namespaceId=y,this.triggerName=n,this.element=d,this._player=new l.ZN,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(y){this._containsRealPlayer||(this._player=y,Object.keys(this._queuedCallbacks).forEach(n=>{this._queuedCallbacks[n].forEach(d=>b(y,n,void 0,d))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(y.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(y){this.totalTime=y}syncPlayerEvents(y){const n=this._player;n.triggerCallback&&y.onStart(()=>n.triggerCallback("start")),y.onDone(()=>this.finish()),y.onDestroy(()=>this.destroy())}_queueEvent(y,n){x(this._queuedCallbacks,y,[]).push(n)}onDone(y){this.queued&&this._queueEvent("done",y),this._player.onDone(y)}onStart(y){this.queued&&this._queueEvent("start",y),this._player.onStart(y)}onDestroy(y){this.queued&&this._queueEvent("destroy",y),this._player.onDestroy(y)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(y){this.queued||this._player.setPosition(y)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(y){const n=this._player;n.triggerCallback&&n.triggerCallback(y)}}function Jo(f){return f&&1===f.nodeType}function ua(f,y){const n=f.style.display;return f.style.display=null!=y?y:"none",n}function ds(f,y,n,d,w){const re=[];n.forEach(Gt=>re.push(ua(Gt)));const Ze=[];d.forEach((Gt,On)=>{const fr={};Gt.forEach(hr=>{const Jr=fr[hr]=y.computeStyle(On,hr,w);(!Jr||0==Jr.length)&&(On[Fi]=go,Ze.push(On))}),f.set(On,fr)});let Lt=0;return n.forEach(Gt=>ua(Gt,re[Lt++])),Ze}function zo(f,y){const n=new Map;if(f.forEach(Lt=>n.set(Lt,[])),0==y.length)return n;const w=new Set(y),re=new Map;function Ze(Lt){if(!Lt)return 1;let Gt=re.get(Lt);if(Gt)return Gt;const On=Lt.parentNode;return Gt=n.has(On)?On:w.has(On)?1:Ze(On),re.set(Lt,Gt),Gt}return y.forEach(Lt=>{const Gt=Ze(Lt);1!==Gt&&n.get(Gt).push(Lt)}),n}const oa="$$classes";function st(f,y){if(f.classList)f.classList.add(y);else{let n=f[oa];n||(n=f[oa]={}),n[y]=!0}}function pn(f,y){if(f.classList)f.classList.remove(y);else{let n=f[oa];n&&delete n[y]}}function ee(f,y,n){_(n).onDone(()=>f.processLeaveNode(y))}function fn(f,y){for(let n=0;n<f.length;n++){const d=f[n];d instanceof l.ZE?fn(d.players,y):y.push(d)}}function $r(f,y,n){const d=n.get(f);if(!d)return!1;let w=y.get(f);return w?d.forEach(re=>w.add(re)):y.set(f,d),n.delete(f),!0}class ni{constructor(y,n,d){this.bodyNode=y,this._driver=n,this._normalizer=d,this._triggerCache={},this.onRemovalComplete=(w,re)=>{},this._transitionEngine=new zi(y,n,d),this._timelineEngine=new Vr(y,n,d),this._transitionEngine.onRemovalComplete=(w,re)=>this.onRemovalComplete(w,re)}registerTrigger(y,n,d,w,re){const Ze=y+"-"+w;let Lt=this._triggerCache[Ze];if(!Lt){const Gt=[],On=hn(this._driver,re,Gt);if(Gt.length)throw new Error(`The animation trigger "${w}" has failed to build due to the following errors:\n - ${Gt.join("\n - ")}`);Lt=function(f,y,n){return new We(f,y,n)}(w,On,this._normalizer),this._triggerCache[Ze]=Lt}this._transitionEngine.registerTrigger(n,w,Lt)}register(y,n){this._transitionEngine.register(y,n)}destroy(y,n){this._transitionEngine.destroy(y,n)}onInsert(y,n,d,w){this._transitionEngine.insertNode(y,n,d,w)}onRemove(y,n,d,w){this._transitionEngine.removeNode(y,n,w||!1,d)}disableAnimations(y,n){this._transitionEngine.markElementAsDisabled(y,n)}process(y,n,d,w){if("@"==d.charAt(0)){const[re,Ze]=j(d);this._timelineEngine.command(re,n,Ze,w)}else this._transitionEngine.trigger(y,n,d,w)}listen(y,n,d,w,re){if("@"==d.charAt(0)){const[Ze,Lt]=j(d);return this._timelineEngine.listen(Ze,n,Lt,re)}return this._transitionEngine.listen(y,n,d,w,re)}flush(y=-1){this._transitionEngine.flush(y)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function Ri(f,y){let n=null,d=null;return Array.isArray(y)&&y.length?(n=gi(y[0]),y.length>1&&(d=gi(y[y.length-1]))):y&&(n=gi(y)),n||d?new Do(f,n,d):null}let Do=(()=>{class f{constructor(n,d,w){this._element=n,this._startStyles=d,this._endStyles=w,this._state=0;let re=f.initialStylesByElement.get(n);re||f.initialStylesByElement.set(n,re={}),this._initialStyles=re}start(){this._state<1&&(this._startStyles&&er(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(er(this._element,this._initialStyles),this._endStyles&&(er(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(f.initialStylesByElement.delete(this._element),this._startStyles&&(Mn(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Mn(this._element,this._endStyles),this._endStyles=null),er(this._element,this._initialStyles),this._state=3)}}return f.initialStylesByElement=new WeakMap,f})();function gi(f){let y=null;const n=Object.keys(f);for(let d=0;d<n.length;d++){const w=n[d];Hi(w)&&(y=y||{},y[w]=f[w])}return y}function Hi(f){return"display"===f||"position"===f}const cs="animation",Os="animationend";class xa{constructor(y,n,d,w,re,Ze,Lt){this._element=y,this._name=n,this._duration=d,this._delay=w,this._easing=re,this._fillMode=Ze,this._onDoneFn=Lt,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=Gt=>this._handleCallback(Gt)}apply(){(function(f,y){const n=Sa(f,"").trim();let d=0;n.length&&(function(f,y){let n=0;for(let d=0;d<f.length;d++)","===f.charAt(d)&&n++;return n}(n)+1,y=`${n}, ${y}`),Ka(f,"",y)})(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),Fo(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){Ra(this._element,this._name,"paused")}resume(){Ra(this._element,this._name,"running")}setPosition(y){const n=Ca(this._element,this._name);this._position=y*this._duration,Ka(this._element,"Delay",`-${this._position}ms`,n)}getPosition(){return this._position}_handleCallback(y){const n=y._ngTestManualTimestamp||Date.now(),d=1e3*parseFloat(y.elapsedTime.toFixed(3));y.animationName==this._name&&Math.max(n-this._startTime,0)>=this._delay&&d>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),Fo(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(f,y){const d=Sa(f,"").split(","),w=sa(d,y);w>=0&&(d.splice(w,1),Ka(f,"",d.join(",")))}(this._element,this._name))}}function Ra(f,y,n){Ka(f,"PlayState",n,Ca(f,y))}function Ca(f,y){const n=Sa(f,"");return n.indexOf(",")>0?sa(n.split(","),y):sa([n],y)}function sa(f,y){for(let n=0;n<f.length;n++)if(f[n].indexOf(y)>=0)return n;return-1}function Fo(f,y,n){n?f.removeEventListener(Os,y):f.addEventListener(Os,y)}function Ka(f,y,n,d){const w=cs+y;if(null!=d){const re=f.style[w];if(re.length){const Ze=re.split(",");Ze[d]=n,n=Ze.join(",")}}f.style[w]=n}function Sa(f,y){return f.style[cs+y]||""}class pt{constructor(y,n,d,w,re,Ze,Lt,Gt){this.element=y,this.keyframes=n,this.animationName=d,this._duration=w,this._delay=re,this._finalStyles=Lt,this._specialStyles=Gt,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=Ze||"linear",this.totalTime=w+re,this._buildStyler()}onStart(y){this._onStartFns.push(y)}onDone(y){this._onDoneFns.push(y)}onDestroy(y){this._onDestroyFns.push(y)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(y=>y()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(y=>y()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(y=>y()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(y){this._styler.setPosition(y)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new xa(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(y){const n="start"==y?this._onStartFns:this._onDoneFns;n.forEach(d=>d()),n.length=0}beforeDestroy(){this.init();const y={};if(this.hasStarted()){const n=this._state>=3;Object.keys(this._finalStyles).forEach(d=>{"offset"!=d&&(y[d]=n?this._finalStyles[d]:Dn(this.element,d))})}this.currentSnapshot=y}}class an extends l.ZN{constructor(y,n){super(),this.element=y,this._startingStyles={},this.__initialized=!1,this._styles=Oe(n)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(y=>{this._startingStyles[y]=this.element.style[y]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(y=>this.element.style.setProperty(y,this._styles[y])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(y=>{const n=this._startingStyles[y];n?this.element.style.setProperty(y,n):this.element.style.removeProperty(y)}),this._startingStyles=null,super.destroy())}}class ye{constructor(){this._count=0}validateStyleProperty(y){return ne(y)}matchesElement(y,n){return ce(y,n)}containsElement(y,n){return Ae(y,n)}query(y,n,d){return Me(y,n,d)}computeStyle(y,n,d){return window.getComputedStyle(y)[n]}buildKeyframeElement(y,n,d){d=d.map(Lt=>Oe(Lt));let w=`@keyframes ${n} {\n`,re="";d.forEach(Lt=>{re=" ";const Gt=parseFloat(Lt.offset);w+=`${re}${100*Gt}% {\n`,re+=" ",Object.keys(Lt).forEach(On=>{const fr=Lt[On];switch(On){case"offset":return;case"easing":return void(fr&&(w+=`${re}animation-timing-function: ${fr};\n`));default:return void(w+=`${re}${On}: ${fr};\n`)}}),w+=`${re}}\n`}),w+="}\n";const Ze=document.createElement("style");return Ze.textContent=w,Ze}animate(y,n,d,w,re,Ze=[],Lt){const Gt=Ze.filter(Yi=>Yi instanceof pt),On={};$n(d,w)&&Gt.forEach(Yi=>{let Xs=Yi.currentSnapshot;Object.keys(Xs).forEach(ls=>On[ls]=Xs[ls])});const fr=function(f){let y={};return f&&(Array.isArray(f)?f:[f]).forEach(d=>{Object.keys(d).forEach(w=>{"offset"==w||"easing"==w||(y[w]=d[w])})}),y}(n=En(y,n,On));if(0==d)return new an(y,fr);const hr="gen_css_kf_"+this._count++,Jr=this.buildKeyframeElement(y,hr,n);(function(f){var y;const n=null===(y=f.getRootNode)||void 0===y?void 0:y.call(f);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(y).appendChild(Jr);const bo=Ri(y,n),_o=new pt(y,n,hr,d,w,re,fr,bo);return _o.onDestroy(()=>{var f;(f=Jr).parentNode.removeChild(f)}),_o}}class ms{constructor(y,n,d,w){this.element=y,this.keyframes=n,this.options=d,this._specialStyles=w,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=d.duration,this._delay=d.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(y=>y()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const y=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,y,this.options),this._finalKeyframe=y.length?y[y.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(y,n,d){return y.animate(n,d)}onStart(y){this._onStartFns.push(y)}onDone(y){this._onDoneFns.push(y)}onDestroy(y){this._onDestroyFns.push(y)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(y=>y()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(y=>y()),this._onDestroyFns=[])}setPosition(y){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=y*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const y={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(n=>{"offset"!=n&&(y[n]=this._finished?this._finalKeyframe[n]:Dn(this.element,n))}),this.currentSnapshot=y}triggerCallback(y){const n="start"==y?this._onStartFns:this._onDoneFns;n.forEach(d=>d()),n.length=0}}class ss{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Zo().toString()),this._cssKeyframesDriver=new ye}validateStyleProperty(y){return ne(y)}matchesElement(y,n){return ce(y,n)}containsElement(y,n){return Ae(y,n)}query(y,n,d){return Me(y,n,d)}computeStyle(y,n,d){return window.getComputedStyle(y)[n]}overrideWebAnimationsSupport(y){this._isNativeImpl=y}animate(y,n,d,w,re,Ze=[],Lt){if(!Lt&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(y,n,d,w,re,Ze);const fr={duration:d,delay:w,fill:0==w?"both":"forwards"};re&&(fr.easing=re);const hr={},Jr=Ze.filter(bo=>bo instanceof ms);$n(d,w)&&Jr.forEach(bo=>{let _o=bo.currentSnapshot;Object.keys(_o).forEach(Yi=>hr[Yi]=_o[Yi])});const $i=Ri(y,n=En(y,n=n.map(bo=>ar(bo,!1)),hr));return new ms(y,n,fr,$i)}}function Zo(){return u()&&Element.prototype.animate||{}}let Ea=(()=>{class f extends l._j{constructor(n,d){super(),this._nextAnimationId=0,this._renderer=n.createRenderer(d.body,{id:"0",encapsulation:e.ifc.None,styles:[],data:{animation:[]}})}build(n){const d=this._nextAnimationId.toString();this._nextAnimationId++;const w=Array.isArray(n)?(0,l.vP)(n):n;return va(this._renderer,null,d,"register",[w]),new ul(d,this._renderer)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(e.FYo),e.LFG(s.K0))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();class ul extends l.LC{constructor(y,n){super(),this._id=y,this._renderer=n}create(y,n){return new Ma(this._id,y,n||{},this._renderer)}}class Ma{constructor(y,n,d,w){this.id=y,this.element=n,this._renderer=w,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",d)}_listen(y,n){return this._renderer.listen(this.element,`@@${this.id}:${y}`,n)}_command(y,...n){return va(this._renderer,this.element,this.id,y,n)}onDone(y){this._listen("done",y)}onStart(y){this._listen("start",y)}onDestroy(y){this._listen("destroy",y)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(y){this._command("setPosition",y)}getPosition(){var y,n;return null!==(n=null===(y=this._renderer.engine.players[+this.id])||void 0===y?void 0:y.getPosition())&&void 0!==n?n:0}}function va(f,y,n,d,w){return f.setProperty(y,`@@${n}:${d}`,w)}const $o="@.disabled";let Ol=(()=>{class f{constructor(n,d,w){this.delegate=n,this.engine=d,this._zone=w,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),d.onRemovalComplete=(re,Ze)=>{Ze&&Ze.parentNode(re)&&Ze.removeChild(re.parentNode,re)}}createRenderer(n,d){const re=this.delegate.createRenderer(n,d);if(!(n&&d&&d.data&&d.data.animation)){let fr=this._rendererCache.get(re);return fr||(fr=new dl("",re,this.engine),this._rendererCache.set(re,fr)),fr}const Ze=d.id,Lt=d.id+"-"+this._currentId;this._currentId++,this.engine.register(Lt,n);const Gt=fr=>{Array.isArray(fr)?fr.forEach(Gt):this.engine.registerTrigger(Ze,Lt,n,fr.name,fr)};return d.data.animation.forEach(Gt),new Ja(this,Lt,re,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(n,d,w){n>=0&&n<this._microtaskId?this._zone.run(()=>d(w)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(re=>{const[Ze,Lt]=re;Ze(Lt)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([d,w]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(e.FYo),e.LFG(ni),e.LFG(e.R0b))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();class dl{constructor(y,n,d){this.namespaceId=y,this.delegate=n,this.engine=d,this.destroyNode=this.delegate.destroyNode?w=>n.destroyNode(w):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(y,n){return this.delegate.createElement(y,n)}createComment(y){return this.delegate.createComment(y)}createText(y){return this.delegate.createText(y)}appendChild(y,n){this.delegate.appendChild(y,n),this.engine.onInsert(this.namespaceId,n,y,!1)}insertBefore(y,n,d,w=!0){this.delegate.insertBefore(y,n,d),this.engine.onInsert(this.namespaceId,n,y,w)}removeChild(y,n,d){this.engine.onRemove(this.namespaceId,n,this.delegate,d)}selectRootElement(y,n){return this.delegate.selectRootElement(y,n)}parentNode(y){return this.delegate.parentNode(y)}nextSibling(y){return this.delegate.nextSibling(y)}setAttribute(y,n,d,w){this.delegate.setAttribute(y,n,d,w)}removeAttribute(y,n,d){this.delegate.removeAttribute(y,n,d)}addClass(y,n){this.delegate.addClass(y,n)}removeClass(y,n){this.delegate.removeClass(y,n)}setStyle(y,n,d,w){this.delegate.setStyle(y,n,d,w)}removeStyle(y,n,d){this.delegate.removeStyle(y,n,d)}setProperty(y,n,d){"@"==n.charAt(0)&&n==$o?this.disableAnimations(y,!!d):this.delegate.setProperty(y,n,d)}setValue(y,n){this.delegate.setValue(y,n)}listen(y,n,d){return this.delegate.listen(y,n,d)}disableAnimations(y,n){this.engine.disableAnimations(y,n)}}class Ja extends dl{constructor(y,n,d,w){super(n,d,w),this.factory=y,this.namespaceId=n}setProperty(y,n,d){"@"==n.charAt(0)?"."==n.charAt(1)&&n==$o?this.disableAnimations(y,d=void 0===d||!!d):this.engine.process(this.namespaceId,y,n.substr(1),d):this.delegate.setProperty(y,n,d)}listen(y,n,d){if("@"==n.charAt(0)){const w=function(f){switch(f){case"body":return document.body;case"document":return document;case"window":return window;default:return f}}(y);let re=n.substr(1),Ze="";return"@"!=re.charAt(0)&&([re,Ze]=function(f){const y=f.indexOf(".");return[f.substring(0,y),f.substr(y+1)]}(re)),this.engine.listen(this.namespaceId,w,re,Ze,Lt=>{this.factory.scheduleListenerCallback(Lt._data||-1,d,Lt)})}return this.delegate.listen(y,n,d)}}let Bl=(()=>{class f extends ni{constructor(n,d,w){super(n.body,d,w)}ngOnDestroy(){this.flush()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(s.K0),e.LFG(ue),e.LFG(Oi))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();const pa=new e.OlP("AnimationModuleType"),Vo=[{provide:l._j,useClass:Ea},{provide:Oi,useFactory:function(){return new ei}},{provide:ni,useClass:Bl},{provide:e.FYo,useFactory:function(f,y,n){return new Ol(f,y,n)},deps:[t.se,ni,e.R0b]}],ja=[{provide:ue,useFactory:function(){return"function"==typeof Zo()?new ss:new ye}},{provide:pa,useValue:"BrowserAnimations"},...Vo],hs=[{provide:ue,useClass:be},{provide:pa,useValue:"NoopAnimations"},...Vo];let ze=(()=>{class f{static withConfig(n){return{ngModule:f,providers:n.disableAnimations?hs:ja}}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({providers:ja,imports:[t.b2]}),f})();var kt=o(91376),tn=o(6283),ur=o(23815),gn=o.n(ur),xr=o(64762),Zr=o(93523);let Pr=class{constructor(y){this.http=y,this.baseURL="api/cephfs",this.baseUiURL="ui-api/cephfs"}list(){return this.http.get(`${this.baseURL}`)}lsDir(y,n){let d=`${this.baseUiURL}/${y}/ls_dir?depth=2`;return n&&(d+=`&path=${encodeURIComponent(n)}`),this.http.get(d)}getCephfs(y){return this.http.get(`${this.baseURL}/${y}`)}getTabs(y){return this.http.get(`ui-api/cephfs/${y}/tabs`)}getClients(y){return this.http.get(`${this.baseURL}/${y}/clients`)}evictClient(y,n){return this.http.delete(`${this.baseURL}/${y}/client/${n}`)}getMdsCounters(y){return this.http.get(`${this.baseURL}/${y}/mds_counters`)}mkSnapshot(y,n,d){let w=new a.LE;return w=w.append("path",n),gn().isUndefined(d)||(w=w.append("name",d)),this.http.post(`${this.baseURL}/${y}/snapshot`,null,{params:w})}rmSnapshot(y,n,d){let w=new a.LE;return w=w.append("path",n),w=w.append("name",d),this.http.delete(`${this.baseURL}/${y}/snapshot`,{params:w})}quota(y,n,d){let w=new a.LE;return w=w.append("path",n),this.http.put(`${this.baseURL}/${y}/quota`,d,{observe:"response",params:w})}};Pr.\u0275fac=function(y){return new(y||Pr)(e.LFG(a.eN))},Pr.\u0275prov=e.Yz7({token:Pr,factory:Pr.\u0275fac,providedIn:"root"}),Pr=(0,xr.gn)([Zr.o,(0,xr.w6)("design:paramtypes",[a.eN])],Pr);var mi=o(68136),ii=o(99466),si=o(68774),bi=o(96102),Ui=o(64337),io=o(46797),vo=o(69158),Bi=o(91801),hi=o(74937),Br=o(38549),G=o(59376),Se=o(47557),ft=o(66369),Ft=o(61350),Bt=o(16738),In=o.n(Bt),Xn=o(87311),Sr=o(7194);const pi=["chartCanvas"],Fr=["chartTooltip"];let zr=(()=>{class f{constructor(){this.lhsCounter="mds_mem.ino",this.rhsCounter="mds_server.handle_client_request",this.chart={datasets:[{label:this.lhsCounter,yAxisID:"LHS",data:[],lineTension:.1},{label:this.rhsCounter,yAxisID:"RHS",data:[],lineTension:.1}],options:{title:{text:"",display:!0},responsive:!0,maintainAspectRatio:!1,legend:{position:"top"},scales:{xAxes:[{position:"top",type:"time",time:{displayFormats:{quarter:"MMM YYYY"}},ticks:{maxRotation:0}}],yAxes:[{id:"LHS",type:"linear",position:"left"},{id:"RHS",type:"linear",position:"right"}]},tooltips:{enabled:!1,mode:"index",intersect:!1,position:"nearest",callbacks:{title:(n,d)=>{let w=0;if(n.length>0){const re=n[0];w=d.datasets[re.datasetIndex].data[re.index].x}return w.toString()}}}},chartType:"line"}}ngOnInit(){gn().isUndefined(this.mdsCounter)||(this.setChartTooltip(),this.updateChart())}ngOnChanges(){gn().isUndefined(this.mdsCounter)||this.updateChart()}setChartTooltip(){const n=new Xn.h(this.chartCanvas,this.chartTooltip,w=>w.caretX+"px",w=>w.caretY-w.height-23+"px");n.getTitle=w=>In()(w,"x").format("LTS"),n.checkOffset=!0;const d={title:{text:this.mdsCounter.name},tooltips:{custom:w=>n.customTooltips(w)}};gn().merge(this.chart,{options:d})}updateChart(){const n=[{data:this.convertTimeSeries(this.mdsCounter[this.lhsCounter])},{data:this.deltaTimeSeries(this.mdsCounter[this.rhsCounter])}];gn().merge(this.chart,{datasets:n}),this.chart.datasets=[...this.chart.datasets]}convertTimeSeries(n){const d=[];return gn().each(n,w=>{d.push({x:1e3*w[0],y:w[1]})}),d.shift(),d}deltaTimeSeries(n){let d,w=n[0];const re=[];for(d=1;d<n.length;d++){const Ze=n[d];re.push({x:1e3*Ze[0],y:Ze[1]-w[1]}),w=Ze}return re}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-chart"]],viewQuery:function(n,d){if(1&n&&(e.Gf(pi,7),e.Gf(Fr,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.chartCanvas=w.first),e.iGM(w=e.CRH())&&(d.chartTooltip=w.first)}},inputs:{mdsCounter:"mdsCounter"},features:[e.TTD],decls:6,vars:3,consts:[[1,"chart-container"],["baseChart","",3,"datasets","options","chartType"],["chartCanvas",""],[1,"chartjs-tooltip"],["chartTooltip",""]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e._UZ(1,"canvas",1,2),e.TgZ(3,"div",3,4),e._UZ(5,"table"),e.qZA(),e.qZA()),2&n&&(e.xp6(1),e.Q6J("datasets",d.chart.datasets)("options",d.chart.options)("chartType",d.chart.chartType))},directives:[Sr.jh],styles:['.chart-container[_ngcontent-%COMP%]{cursor:pointer;margin:auto;overflow:visible;position:absolute}canvas[_ngcontent-%COMP%]{user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-family:"Helvetica Neue","Helvetica","Arial",sans-serif!important;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%);transition:all .1s ease}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]:after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]:after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]:after{border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px;content:" ";left:50%;margin-left:-5px;position:absolute;top:100%} .chartjs-tooltip-key{display:inline-block;height:10px;margin-right:10px;width:10px}.chart-container[_ngcontent-%COMP%]{height:500px;margin-bottom:20px;position:relative;width:100%}']}),f})();var Un=o(60251);const lr=["poolUsageTpl"],dr=["activityTmpl"];function li(f,y){if(1&f&&(e.TgZ(0,"div",0),e.TgZ(1,"div",11),e._UZ(2,"cd-cephfs-chart",12),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.Q6J("mdsCounter",n)}}function Ti(f,y){if(1&f&&e._UZ(0,"cd-usage-bar",13),2&f){const n=y.row;e.Q6J("total",n.size)("used",n.used)}}function Ao(f,y){1&f&&(e._uU(0),e.ALo(1,"dimless")),2&f&&e.AsE(" ","standby-replay"===y.row.state?"Evts":"Reqs",": ",e.lcZ(1,2,y.value)," /s\n")}let Qo=(()=>{class f{constructor(n,d){this.dimlessBinary=n,this.dimless=d,this.standbys=[],this.objectValues=Object.values}ngOnChanges(){this.setStandbys()}setStandbys(){this.standbys=[{key:"Standby daemons",value:this.data.standbys}]}ngOnInit(){this.columns={ranks:[{prop:"rank",name:"Rank"},{prop:"state",name:"State"},{prop:"mds",name:"Daemon"},{prop:"activity",name:"Activity",cellTemplate:this.activityTmpl},{prop:"dns",name:"Dentries",pipe:this.dimless},{prop:"inos",name:"Inodes",pipe:this.dimless},{prop:"dirs",name:"Dirs",pipe:this.dimless},{prop:"caps",name:"Caps",pipe:this.dimless}],pools:[{prop:"pool",name:"Pool"},{prop:"type",name:"Type"},{prop:"size",name:"Size",pipe:this.dimlessBinary},{name:"Usage",cellTemplate:this.poolUsageTpl,comparator:(n,d,w,re)=>{const Ze=w.used/w.avail,Lt=re.used/re.avail;return Ze===Lt?0:Ze>Lt?1:-1}}]}}trackByFn(n,d){return d.name}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Se.$),e.Y36(ft.n))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-detail"]],viewQuery:function(n,d){if(1&n&&(e.Gf(lr,7),e.Gf(dr,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.poolUsageTpl=w.first),e.iGM(w=e.CRH())&&(d.activityTmpl=w.first)}},inputs:{data:"data"},features:[e.TTD],decls:19,vars:9,consts:function(){let y,n,d,w;return y="Ranks",n="Standbys",d="Pools",w="MDS performance counters",[[1,"row"],[1,"col-sm-6"],y,[3,"data","columns","toolHeader"],n,[3,"data"],d,w,["class","row",4,"ngFor","ngForOf","ngForTrackBy"],["poolUsageTpl",""],["activityTmpl",""],[1,"col-md-12"],[3,"mdsCounter"],[3,"total","used"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"legend"),e.SDv(3,2),e.qZA(),e._UZ(4,"cd-table",3),e.TgZ(5,"legend"),e.SDv(6,4),e.qZA(),e._UZ(7,"cd-table-key-value",5),e.qZA(),e.TgZ(8,"div",1),e.TgZ(9,"legend"),e.SDv(10,6),e.qZA(),e._UZ(11,"cd-table",3),e.qZA(),e.qZA(),e.TgZ(12,"legend"),e.SDv(13,7),e.qZA(),e.YNc(14,li,3,1,"div",8),e.YNc(15,Ti,1,2,"ng-template",null,9,e.W1O),e.YNc(17,Ao,2,4,"ng-template",null,10,e.W1O)),2&n&&(e.xp6(4),e.Q6J("data",d.data.ranks)("columns",d.columns.ranks)("toolHeader",!1),e.xp6(3),e.Q6J("data",d.standbys),e.xp6(4),e.Q6J("data",d.data.pools)("columns",d.columns.pools)("toolHeader",!1),e.xp6(3),e.Q6J("ngForOf",d.objectValues(d.data.mdsCounters))("ngForTrackBy",d.trackByFn))},directives:[Ui.a,Ft.b,s.sg,zr,Un.O],pipes:[ft.n],styles:[".progress[_ngcontent-%COMP%]{margin-bottom:0}"]}),f})();var jo=o(30982),uo=o(79512),eo=o(65862),Ho=o(18001),Zi=o(97161),na=o(63285),ha=o(94928);let fl=(()=>{class f{constructor(n,d,w,re,Ze){this.cephfsService=n,this.modalService=d,this.notificationService=w,this.authStorageService=re,this.actionLabels=Ze,this.triggerApiUpdate=new e.vpe,this.selection=new si.r,this.permission=this.authStorageService.getPermissions().cephfs,this.tableActions=[{permission:"update",icon:eo.P.signOut,click:()=>this.evictClientModal(),name:this.actionLabels.EVICT}]}ngOnInit(){this.columns=[{prop:"id",name:"id"},{prop:"type",name:"type"},{prop:"state",name:"state"},{prop:"version",name:"version"},{prop:"hostname",name:"Host"},{prop:"root",name:"root"}]}updateSelection(n){this.selection=n}evictClient(n){this.cephfsService.evictClient(this.id,n).subscribe(()=>{this.triggerApiUpdate.emit(),this.modalRef.close(),this.notificationService.show(Ho.k.success,"Evicted client '" + n + "'")},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}evictClientModal(){const n=this.selection.first().id;this.modalRef=this.modalService.show(jo.M,{itemDescription:"client",itemNames:[n],actionDescription:"evict",submitAction:()=>this.evictClient(n)})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Pr),e.Y36(na.Z),e.Y36(Zi.g),e.Y36(hi.j),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-clients"]],inputs:{id:"id",clients:"clients"},outputs:{triggerApiUpdate:"triggerApiUpdate"},decls:2,vars:7,consts:[["selectionType","single",3,"data","columns","status","autoReload","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"]],template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return d.triggerApiUpdate.emit()})("updateSelection",function(re){return d.updateSelection(re)}),e._UZ(1,"cd-table-actions",1),e.qZA()),2&n&&(e.Q6J("data",d.clients.data)("columns",d.columns)("status",d.clients.status)("autoReload",-1),e.xp6(1),e.Q6J("permission",d.permission)("selection",d.selection)("tableActions",d.tableActions))},directives:[Ui.a,ha.K],styles:[""]}),f})();var Hn=o(24751),Es=o(19723),Ll=o(36169),Hl=o(65683),mo=o(77205),As=o(87925);const qc=["origin"],yc=function(f,y){return[f,y]};function fc(f,y){if(1&f&&e._UZ(0,"i",5),2&f){const n=e.oxw(2);e.Q6J("ngClass",e.WLB(1,yc,n.icons.spinner,n.icons.spin))}}function Fl(f,y){if(1&f&&(e.TgZ(0,"tree-root",10),e.YNc(1,fc,1,4,"ng-template",null,11,e.W1O),e.qZA()),2&f){const n=e.oxw();e.Q6J("nodes",n.nodes)("options",n.treeOptions)}}function bl(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"legend"),e.SDv(2,17),e.qZA(),e.TgZ(3,"cd-table",18),e.NdJ("updateSelection",function(w){return e.CHM(n),e.oxw(2).quota.updateSelection(w)}),e._UZ(4,"cd-table-actions",19),e.qZA(),e.BQk()}if(2&f){const n=e.oxw(2);e.xp6(3),e.Q6J("data",n.settings)("columns",n.quota.columns)("limit",0)("footer",!1)("onlyActionHeader",!0)("forceIdentifier",!0)("toolHeader",!1),e.xp6(1),e.Q6J("permission",n.permission)("selection",n.quota.selection)("tableActions",n.quota.tableActions)}}function ql(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",12),e.TgZ(1,"div",2),e.TgZ(2,"div",3),e._uU(3),e.qZA(),e.TgZ(4,"div",6),e.YNc(5,bl,5,10,"ng-container",13),e.TgZ(6,"legend"),e.SDv(7,14),e.qZA(),e.TgZ(8,"cd-table",15),e.NdJ("updateSelection",function(w){return e.CHM(n),e.oxw().snapshot.updateSelection(w)}),e._UZ(9,"cd-table-actions",16),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(3),e.hij(" ",n.selectedDir.path," "),e.xp6(2),e.Q6J("ngIf","/"!==n.selectedDir.path),e.xp6(3),e.Q6J("data",n.selectedDir.snapshots)("columns",n.snapshot.columns),e.xp6(1),e.Q6J("permission",n.permission)("selection",n.snapshot.selection)("tableActions",n.snapshot.tableActions)}}function kl(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"span",20),e.NdJ("click",function(){const re=e.CHM(n).value;return e.oxw().selectOrigin(re)}),e._uU(1),e.qZA()}if(2&f){const n=y.value;e.xp6(1),e.Oqu(n)}}let ru=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt){this.authStorageService=n,this.modalService=d,this.cephfsService=w,this.cdDatePipe=re,this.actionLabels=Ze,this.notificationService=Lt,this.dimlessBinaryPipe=Gt,this.icons=eo.P,this.loadingIndicator=!1,this.loading={},this.treeOptions={useVirtualScroll:!0,getChildren:On=>this.updateDirectory(On.id),actionMapping:{mouse:{click:this.selectAndShowNode.bind(this),expanderClick:this.selectAndShowNode.bind(this)}}}}selectAndShowNode(n,d,w){Es.iM.TOGGLE_EXPANDED(n,d,w),this.selectNode(d)}selectNode(n){Es.iM.TOGGLE_ACTIVE(void 0,n,void 0),this.selectedDir=this.getDirectory(n),"/"!==n.id&&this.setSettings(n)}ngOnInit(){this.permission=this.authStorageService.getPermissions().cephfs,this.setUpQuotaTable(),this.setUpSnapshotTable()}setUpQuotaTable(){this.quota={columns:[{prop:"row.name",name:"Name",flexGrow:1},{prop:"row.value",name:"Value",sortable:!1,flexGrow:1},{prop:"row.originPath",name:"Origin",sortable:!1,cellTemplate:this.originTmpl,flexGrow:1}],selection:new si.r,updateSelection:n=>{this.quota.selection=n},tableActions:[{name:this.actionLabels.SET,icon:eo.P.edit,permission:"update",visible:n=>!n.hasSelection||n.first()&&0===n.first().dirValue,click:()=>this.updateQuotaModal()},{name:this.actionLabels.UPDATE,icon:eo.P.edit,permission:"update",visible:n=>n.first()&&n.first().dirValue>0,click:()=>this.updateQuotaModal()},{name:this.actionLabels.UNSET,icon:eo.P.destroy,permission:"update",disable:n=>!n.hasSelection||n.first()&&0===n.first().dirValue,click:()=>this.unsetQuotaModal()}]}}setUpSnapshotTable(){this.snapshot={columns:[{prop:"name",name:"Name",flexGrow:1},{prop:"path",name:"Path",isHidden:!0,flexGrow:2},{prop:"created",name:"Created",flexGrow:1,pipe:this.cdDatePipe}],selection:new si.r,updateSelection:n=>{this.snapshot.selection=n},tableActions:[{name:this.actionLabels.CREATE,icon:eo.P.add,permission:"create",canBePrimary:n=>!n.hasSelection,click:()=>this.createSnapshot(),disable:()=>this.disableCreateSnapshot()},{name:this.actionLabels.DELETE,icon:eo.P.destroy,permission:"delete",click:()=>this.deleteSnapshotModal(),canBePrimary:n=>n.hasSelection,disable:n=>!n.hasSelection}]}}disableCreateSnapshot(){const n=this.selectedDir.path.split("/").slice(1);return n.length>=4&&"volumes"===n[0]&&"Cannot create snapshots for files/folders in the subvolume " + n[2] + ""}ngOnChanges(){this.selectedDir=void 0,this.dirs=[],this.requestedPaths=[],this.nodeIds={},this.id&&(this.setRootNode(),this.firstCall())}setRootNode(){this.nodes=[{name:"/",id:"/",isExpanded:!0}]}firstCall(){setTimeout(()=>{this.getNode("/").loadNodeChildren()},10)}updateDirectory(n){if(this.unsetLoadingIndicator(),this.requestedPaths.includes(n)){if(!0===this.loading[n])return}else this.requestedPaths.push(n);return new Promise(d=>{this.setLoadingIndicator(n,!0),this.cephfsService.lsDir(this.id,n).subscribe(w=>{this.updateTreeStructure(w),this.updateQuotaTable(),this.updateTree(),d(this.getChildren(n)),this.setLoadingIndicator(n,!1)})})}setLoadingIndicator(n,d){this.loading[n]=d,this.unsetLoadingIndicator()}getSubDirectories(n,d=this.dirs){return d.filter(w=>w.parent===n)}getChildren(n){const d=this.getSubTree(n);return gn().sortBy(this.getSubDirectories(n),"path").map(w=>this.createNode(w,d))}createNode(n,d){return this.nodeIds[n.path]=n,d||this.getSubTree(n.parent),{name:n.name,id:n.path,hasChildren:this.getSubDirectories(n.path,d).length>0}}getSubTree(n){return this.dirs.filter(d=>d.parent&&d.parent.startsWith(n))}setSettings(n){const d=(w,re)=>w?re?re(w):w:"";this.settings=[this.getQuota(n,"max_files",d),this.getQuota(n,"max_bytes",w=>d(w,re=>this.dimlessBinaryPipe.transform(re)))]}getQuota(n,d,w){const re=n.id;n=this.getOrigin(n,d);const Ze=this.getDirectory(n),Lt=Ze.quotas[d];let Gt=Lt,On=Ze.path;if(n.id===re)if("/"===n.parent.id)Gt=0;else{const fr=this.getDirectory(this.getOrigin(n.parent,d));Gt=fr.quotas[d],On=fr.path}return{row:{name:"max_bytes"===d?"Max size":"Max files",value:w(Lt),originPath:Lt?Ze.path:""},quotaKey:d,dirValue:this.nodeIds[re].quotas[d],nextTreeMaximum:{value:Gt,path:Gt?On:""}}}getOrigin(n,d){if(n.parent&&"/"!==n.parent.id){const w=this.getQuotaFromTree(n,d),re=this.getOrigin(n.parent,d),Ze=this.getQuotaFromTree(re,d);return 0===w||0!==Ze&&Ze<w?re:n}return n}getQuotaFromTree(n,d){return this.getDirectory(n).quotas[d]}getDirectory(n){return this.nodeIds[n.id]}selectOrigin(n){this.selectNode(this.getNode(n))}getNode(n){return this.treeComponent.treeModel.getNodeById(n)}updateQuotaModal(){const n=this.selectedDir.path,d=this.quota.selection.first(),w=d.nextTreeMaximum,re=d.quotaKey,Ze=d.dirValue;this.modalService.show(Hl.X,{titleText:this.getModalQuotaTitle(0===Ze?this.actionLabels.SET:this.actionLabels.UPDATE,n),message:w.value?"The inherited " + this.getQuotaValueFromPathMsg(w.value, w.path) + " is the maximum value to be used.":void 0,fields:[this.getQuotaFormField(d.row.name,re,Ze,w.value)],submitButtonText:"Save",onSubmit:Lt=>this.updateQuota(Lt)})}getModalQuotaTitle(n,d){return "" + n + " CephFS " + this.getQuotaName() + " quota for '" + d + "'"}getQuotaName(){return this.isBytesQuotaSelected()?"size":"files"}isBytesQuotaSelected(){return"max_bytes"===this.quota.selection.first().quotaKey}getQuotaValueFromPathMsg(n,d){return n=this.isBytesQuotaSelected()?this.dimlessBinaryPipe.transform(n):n,"" + this.getQuotaName() + " quota " + n + " from '" + d + "'"}getQuotaFormField(n,d,w,re){const Ze="max_bytes"===d,Lt=[Ze?mo.h.binaryMin(0):Hn.kI.min(0)];re&&Lt.push(Ze?mo.h.binaryMax(re):Hn.kI.max(re));const Gt={type:Ze?"binary":"number",label:n,name:d,value:w,validators:Lt,required:!0};return Ze||(Gt.errors={min:"Value has to be at least 0 or more",max:"Value has to be at most " + re + " or less"}),Gt}updateQuota(n,d){const w=this.selectedDir.path,re=this.quota.selection.first().quotaKey,Ze=0===this.selectedDir.quotas[re]?this.actionLabels.SET:0===n[re]?this.actionLabels.UNSET:"Updated";this.cephfsService.quota(this.id,w,n).subscribe(()=>{d&&d(),this.notificationService.show(Ho.k.success,this.getModalQuotaTitle(Ze,w)),this.forceDirRefresh()})}unsetQuotaModal(){const n=this.selectedDir.path,d=this.quota.selection.first(),w=d.quotaKey,re=d.nextTreeMaximum,Ze=d.dirValue,Lt=this.getQuotaValueFromPathMsg(re.value,re.path),Gt=re.value>0?re.value>Ze?"in order to inherit " + Lt + "":"which isn't used because of the inheritance of " + Lt + "":"in order to have no quota on the directory";this.modalRef=this.modalService.show(Ll.Y,{titleText:this.getModalQuotaTitle(this.actionLabels.UNSET,n),buttonText:this.actionLabels.UNSET,description:"" + this.actionLabels.UNSET + " " + this.getQuotaValueFromPathMsg(Ze, n) + " " + Gt + ".",onSubmit:()=>this.updateQuota({[w]:0},()=>this.modalRef.close())})}createSnapshot(){const n=this.selectedDir.path;this.modalService.show(Hl.X,{titleText:"Create Snapshot",message:"Please enter the name of the snapshot.",fields:[{type:"text",name:"name",value:`${In()().toISOString(!0)}`,required:!0}],submitButtonText:"Create Snapshot",onSubmit:d=>{this.cephfsService.mkSnapshot(this.id,n,d.name).subscribe(w=>{this.notificationService.show(Ho.k.success,"Created snapshot '" + w + "' for '" + n + "'"),this.forceDirRefresh()})}})}forceDirRefresh(n){if(!n){const w=this.selectedDir;if(!w)throw new Error("This function can only be called without path if an selection was made");n=w.parent?w.parent:w.path}this.getNode(n).loadNodeChildren()}updateTreeStructure(n){const d=(re,Ze)=>{const Lt=re.filter(On=>On.parent===Ze),Gt=Lt.map(On=>On.path);return{children:Lt,paths:Gt}};gn().uniq(n.map(re=>re.parent).sort()).forEach(re=>{const Ze=d(n,re),Lt=d(this.dirs,re);Lt.children.forEach(Gt=>{Ze.paths.includes(Gt.path)||this.removeOldDirectory(Gt)}),Ze.children.forEach(Gt=>{Lt.paths.includes(Gt.path)?this.updateExistingDirectory(Lt.children,Gt):this.addNewDirectory(Gt)})})}removeOldDirectory(n){const d=n.path;gn().remove(this.dirs,w=>w.path===d),delete this.nodeIds[d],this.updateDirectoriesParentNode(n)}updateDirectoriesParentNode(n){const d=n.parent;if(!d)return;const w=this.getNode(d);if(!w)return;const re=this.getChildren(d);w.data.children=re,w.data.hasChildren=re.length>0,this.treeComponent.treeModel.update()}addNewDirectory(n){this.dirs.push(n),this.nodeIds[n.path]=n,this.updateDirectoriesParentNode(n)}updateExistingDirectory(n,d){const w=n.find(re=>re.path===d.path);Object.assign(w,d)}updateQuotaTable(){const n=this.selectedDir?this.getNode(this.selectedDir.path):void 0;n&&"/"!==n.id&&this.setSettings(n)}updateTree(n=!1){this.loadingIndicator&&!n||(this.treeComponent.treeModel.update(),this.nodes=[...this.nodes],this.treeComponent.sizeChanged())}deleteSnapshotModal(){this.modalRef=this.modalService.show(jo.M,{itemDescription:"CephFs Snapshot",itemNames:this.snapshot.selection.selected.map(n=>n.name),submitAction:()=>this.deleteSnapshot()})}deleteSnapshot(){const n=this.selectedDir.path;this.snapshot.selection.selected.forEach(d=>{const w=d.name;this.cephfsService.rmSnapshot(this.id,n,w).subscribe(()=>{this.notificationService.show(Ho.k.success,"Deleted snapshot '" + w + "' for '" + n + "'")})}),this.modalRef.close(),this.forceDirRefresh()}refreshAllDirectories(){this.loadingIndicator=!0,this.requestedPaths.map(d=>this.forceDirRefresh(d));const n=setInterval(()=>{this.updateTree(!0),this.loadingIndicator||clearInterval(n)},3e3)}unsetLoadingIndicator(){!this.loadingIndicator||(clearTimeout(this.loadingTimeout),this.loadingTimeout=setTimeout(()=>{if(Object.values(this.loading).some(d=>d))return this.unsetLoadingIndicator();this.loadingIndicator=!1,this.updateTree()},3e3))}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(na.Z),e.Y36(Pr),e.Y36(bi.N),e.Y36(uo.p4),e.Y36(Zi.g),e.Y36(Se.$))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-directories"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Es.qr,5),e.Gf(qc,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.treeComponent=w.first),e.iGM(w=e.CRH())&&(d.originTmpl=w.first)}},inputs:{id:"id"},features:[e.TTD],decls:11,vars:10,consts:function(){let y,n;return y="Snapshots",n="Quotas",[[1,"row"],[1,"col-sm-4","pr-0"],[1,"card"],[1,"card-header"],["type","button",1,"btn","btn-light","pull-right",3,"click"],[3,"ngClass"],[1,"card-body"],[3,"nodes","options",4,"ngIf"],["class","col-sm-8 metadata",4,"ngIf"],["origin",""],[3,"nodes","options"],["loadingTemplate",""],[1,"col-sm-8","metadata"],[4,"ngIf"],y,["identifier","name","forceIdentifier","true","selectionType","multiClick",3,"data","columns","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],n,["selectionType","single","identifier","quotaKey",3,"data","columns","limit","footer","onlyActionHeader","forceIdentifier","toolHeader","updateSelection"],[1,"only-table-actions",3,"permission","selection","tableActions"],[1,"quota-origin",3,"click"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"div",2),e.TgZ(3,"div",3),e.TgZ(4,"button",4),e.NdJ("click",function(){return d.refreshAllDirectories()}),e._UZ(5,"i",5),e.qZA(),e.qZA(),e.TgZ(6,"div",6),e.YNc(7,Fl,3,2,"tree-root",7),e.qZA(),e.qZA(),e.qZA(),e.YNc(8,ql,10,7,"div",8),e.qZA(),e.YNc(9,kl,2,1,"ng-template",null,9,e.W1O)),2&n&&(e.xp6(4),e.ekj("disabled",d.loadingIndicator),e.xp6(1),e.ekj("fa-spin",d.loadingIndicator),e.Q6J("ngClass",e.WLB(7,yc,d.icons.large,d.icons.refresh)),e.xp6(2),e.Q6J("ngIf",d.nodes),e.xp6(1),e.Q6J("ngIf",d.selectedDir))},directives:[As.o,s.mk,s.O5,Es.qr,Ui.a,ha.K],styles:["cd-cephfs-directories tree-root .tree-children{overflow:inherit}.quota-origin[_ngcontent-%COMP%]{color:#2b99a8;cursor:pointer}.quota-origin[_ngcontent-%COMP%]:hover{color:#212529}"]}),f})();var Je=o(76317);function Fe(f,y){if(1&f&&e._UZ(0,"cd-cephfs-detail",15),2&f){const n=e.oxw(2);e.Q6J("data",n.details)}}function we(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-cephfs-clients",16),e.NdJ("triggerApiUpdate",function(){return e.CHM(n),e.oxw(2).refresh()}),e.qZA()}if(2&f){const n=e.oxw(2);e.Q6J("id",n.id)("clients",n.clients)}}function Ot(f,y){if(1&f&&e._UZ(0,"cd-cephfs-directories",17),2&f){const n=e.oxw(2);e.Q6J("id",n.id)}}function xe(f,y){if(1&f&&e._UZ(0,"cd-grafana",18),2&f){const n=e.oxw(2);e.Q6J("grafanaPath","mds-performance?var-mds_servers=mds."+n.grafanaId)}}function ke(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"ul",1,2),e.NdJ("navChange",function(){return e.CHM(n),e.oxw().softRefresh()}),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,Fe,1,1,"ng-template",6),e.qZA(),e.TgZ(7,"li",7),e.TgZ(8,"a",4),e.ynx(9),e.SDv(10,8),e.BQk(),e.TgZ(11,"span",9),e._uU(12),e.qZA(),e.qZA(),e.YNc(13,we,1,2,"ng-template",6),e.qZA(),e.TgZ(14,"li",10),e.TgZ(15,"a",4),e.SDv(16,11),e.qZA(),e.YNc(17,Ot,1,1,"ng-template",6),e.qZA(),e.TgZ(18,"li",12),e.TgZ(19,"a",4),e.SDv(20,13),e.qZA(),e.YNc(21,xe,1,1,"ng-template",6),e.qZA(),e.qZA(),e._UZ(22,"div",14),e.BQk()}if(2&f){const n=e.MAs(2),d=e.oxw();e.xp6(12),e.Oqu(d.clients.data.length),e.xp6(10),e.Q6J("ngbNavOutlet",n)}}let Te=(()=>{class f{constructor(n,d,w){this.ngZone=n,this.authStorageService=d,this.cephfsService=w,this.clients={data:[],status:new vo.E(Bi.T.ValueNone)},this.details={standbys:"",pools:[],ranks:[],mdsCounters:{},name:""},this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selection?this.selection.id!==this.id&&this.setupSelected(this.selection.id,this.selection.mdsmap.info):this.unsubscribeInterval()}setupSelected(n,d){this.id=n;const w=gn().first(Object.values(d));this.grafanaId=w&&w.name,this.details={standbys:"",pools:[],ranks:[],mdsCounters:{},name:""},this.clients={data:[],status:new vo.E(Bi.T.ValueNone)},this.updateInterval()}updateInterval(){this.unsubscribeInterval(),this.subscribeInterval()}unsubscribeInterval(){this.reloadSubscriber&&this.reloadSubscriber.unsubscribe()}subscribeInterval(){this.ngZone.runOutsideAngular(()=>this.reloadSubscriber=(0,io.H)(0,5e3).subscribe(()=>this.ngZone.run(()=>this.refresh())))}refresh(){this.cephfsService.getTabs(this.id).subscribe(n=>{this.data=n,this.softRefresh()},()=>{this.clients.status=new vo.E(Bi.T.ValueException)})}softRefresh(){const n=gn().cloneDeep(this.data);this.clients=n.clients,this.clients.status=new vo.E(this.clients.status),this.details={standbys:n.standbys,pools:n.pools,ranks:n.ranks,mdsCounters:n.mds_counters,name:n.name}}ngOnDestroy(){this.unsubscribeInterval()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(e.R0b),e.Y36(hi.j),e.Y36(Pr))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-tabs"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let y,n,d,w;return y="Details",n="Clients",d="Directories",w="Performance Details",[[4,"ngIf"],["ngbNav","","cdStatefulTab","cephfs-tabs",1,"nav-tabs",3,"navChange"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","clients"],n,[1,"badge","badge-pill","badge-tab","ml-1"],["ngbNavItem","directories"],d,["ngbNavItem","performance-details"],w,[3,"ngbNavOutlet"],[3,"data"],[3,"id","clients","triggerApiUpdate"],[3,"id"],["uid","tbO9LAiZz","grafanaStyle","one",3,"grafanaPath"]]},template:function(n,d){1&n&&e.YNc(0,ke,23,2,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,Qo,fl,ru,Je.F],styles:[""]}),f})(),ge=(()=>{class f extends mi.o{constructor(n,d){super(),this.cephfsService=n,this.cdDatePipe=d,this.filesystems=[],this.selection=new si.r}ngOnInit(){this.columns=[{name:"Name",prop:"mdsmap.fs_name",flexGrow:2},{name:"Created",prop:"mdsmap.created",flexGrow:2,pipe:this.cdDatePipe},{name:"Enabled",prop:"mdsmap.enabled",flexGrow:1,cellTransformation:ii.e.checkIcon}]}loadFilesystems(n){this.cephfsService.list().subscribe(d=>{this.filesystems=d},()=>{n.error()})}updateSelection(n){this.selection=n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Pr),e.Y36(bi.N))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-cephfs-list"]],features:[e.qOj],decls:2,vars:4,consts:[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","fetchData","setExpandedRow","updateSelection"],["cdTableDetail","",3,"selection"]],template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(re){return d.loadFilesystems(re)})("setExpandedRow",function(re){return d.setExpandedRow(re)})("updateSelection",function(re){return d.updateSelection(re)}),e._UZ(1,"cd-cephfs-tabs",1),e.qZA()),2&n&&(e.Q6J("data",d.filesystems)("columns",d.columns)("hasDetails",!0),e.xp6(1),e.Q6J("selection",d.expandedRow))},directives:[Ui.a,Te],styles:[""]}),f})(),Re=(()=>{class f{static getType(n){const d=gn().find(this.knownTypes,w=>w.name===n);if(void 0!==d)return d;throw new Error('Found unknown type "'+n+'" for config option.')}static getTypeValidators(n){const d=f.getType(n.type);if("bool"===d.name||"str"===d.name)return;const w={validators:[],patternHelpText:d.patternHelpText};return d.isNumberType?(n.max&&""!==n.max&&(w.max=n.max,w.validators.push(Hn.kI.max(n.max))),n.min&&""!==n.min?(w.min=n.min,w.validators.push(Hn.kI.min(n.min))):"defaultMin"in d&&(w.min=d.defaultMin,w.validators.push(Hn.kI.min(d.defaultMin))),w.validators.push("float"===n.type?mo.h.decimalNumber():mo.h.number(d.allowsNegative))):"addr"===n.type?w.validators=[mo.h.ip()]:"uuid"===n.type&&(w.validators=[mo.h.uuid()]),w}static getTypeStep(n,d){if(["uint","int","size","secs"].includes(n))return 1;if("float"===n){if(null!==d&&-1!==d.toString().indexOf(".")){const Ze=d.toString().split(".");return Math.pow(10,-Ze[1].length)}return.1}}}return f.knownTypes=[{name:"uint",inputType:"number",humanReadable:"Unsigned integer value",defaultMin:0,patternHelpText:"The entered value needs to be an unsigned number.",isNumberType:!0,allowsNegative:!1},{name:"int",inputType:"number",humanReadable:"Integer value",patternHelpText:"The entered value needs to be a number.",isNumberType:!0,allowsNegative:!0},{name:"size",inputType:"number",humanReadable:"Unsigned integer value (>=16bit)",defaultMin:0,patternHelpText:"The entered value needs to be a unsigned number.",isNumberType:!0,allowsNegative:!1},{name:"secs",inputType:"number",humanReadable:"Number of seconds",defaultMin:1,patternHelpText:"The entered value needs to be a number >= 1.",isNumberType:!0,allowsNegative:!1},{name:"float",inputType:"number",humanReadable:"Double value",patternHelpText:"The entered value needs to be a number or decimal.",isNumberType:!0,allowsNegative:!0},{name:"str",inputType:"text",humanReadable:"Text",isNumberType:!1},{name:"addr",inputType:"text",humanReadable:"IPv4 or IPv6 address",patternHelpText:"The entered value needs to be a valid IP address.",isNumberType:!1},{name:"uuid",inputType:"text",humanReadable:"UUID",patternHelpText:"The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8",isNumberType:!1},{name:"bool",inputType:"checkbox",humanReadable:"Boolean value",isNumberType:!1}],f})();var Be=o(93614),xt=o(95463);class Dt{constructor(){this.value=[]}}var en=o(64724),vn=o(63622),Gn=o(41582),kn=o(56310),zn=o(94276),jr=o(30839);function kr(f,y){1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,20),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"textarea",21),e._uU(5," "),e.qZA(),e.qZA(),e.qZA())}function Gr(f,y){1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,22),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"textarea",23),e._uU(5," "),e.qZA(),e.qZA(),e.qZA())}function ci(f,y){1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,24),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",25),e.qZA(),e.qZA())}function Ci(f,y){1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,26),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",27),e.qZA(),e.qZA())}function vi(f,y){if(1&f&&(e.TgZ(0,"span",30),e.TgZ(1,"span",31),e._uU(2),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.Oqu(n)}}function Ai(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",9),e.SDv(2,28),e.qZA(),e.TgZ(3,"div",11),e.YNc(4,vi,3,1,"span",29),e.qZA(),e.qZA()),2&f){const n=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",n.configForm.getValue("services"))}}function fo(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",32),e._uU(2),e.qZA(),e.TgZ(3,"div",11),e.TgZ(4,"select",33),e.TgZ(5,"option",34),e.SDv(6,35),e.qZA(),e.TgZ(7,"option",34),e.SDv(8,36),e.qZA(),e.TgZ(9,"option",34),e.SDv(10,37),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.Q6J("for",n),e.xp6(1),e.hij("",n," "),e.xp6(2),e.Q6J("formControlName",n),e.xp6(1),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngValue",!0),e.xp6(2),e.Q6J("ngValue",!1)}}function po(f,y){if(1&f&&(e.TgZ(0,"span",40),e._uU(1),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.hij(" ",n.patternHelpText," ")}}function No(f,y){if(1&f&&(e.TgZ(0,"span",40),e._uU(1),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.hij(" ",n.patternHelpText," ")}}function wo(f,y){if(1&f&&(e.TgZ(0,"span",40),e.SDv(1,41),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.pQV(n.maxValue),e.QtT(1)}}function oo(f,y){if(1&f&&(e.TgZ(0,"span",40),e.SDv(1,42),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.pQV(n.minValue),e.QtT(1)}}function Oo(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",32),e._uU(2),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",38),e.YNc(5,po,2,1,"span",39),e.YNc(6,No,2,1,"span",39),e.YNc(7,wo,2,1,"span",39),e.YNc(8,oo,2,1,"span",39),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.oxw();const d=e.MAs(2),w=e.oxw();e.xp6(1),e.Q6J("for",n),e.xp6(1),e.hij("",n," "),e.xp6(2),e.Q6J("type",w.inputType)("id",n)("placeholder",w.humanReadableType)("formControlName",n)("step",w.getStep(w.type,w.configForm.getValue(n))),e.xp6(1),e.Q6J("ngIf",w.configForm.showError(n,d,"pattern")),e.xp6(1),e.Q6J("ngIf",w.configForm.showError(n,d,"invalidUuid")),e.xp6(1),e.Q6J("ngIf",w.configForm.showError(n,d,"max")),e.xp6(1),e.Q6J("ngIf",w.configForm.showError(n,d,"min"))}}function Ki(f,y){if(1&f&&(e.ynx(0),e.YNc(1,fo,11,6,"div",13),e.YNc(2,Oo,9,11,"div",13),e.BQk()),2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("ngIf","bool"===n.type),e.xp6(1),e.Q6J("ngIf","bool"!==n.type)}}function Vi(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.ynx(5,6),e._uU(6,"Edit"),e.BQk(),e._uU(7),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",12),e.qZA(),e.qZA(),e.YNc(14,kr,6,0,"div",13),e.YNc(15,Gr,6,0,"div",13),e.YNc(16,ci,5,0,"div",13),e.YNc(17,Ci,5,0,"div",13),e.YNc(18,Ai,5,1,"div",13),e.TgZ(19,"div",14),e.TgZ(20,"h3",15),e.SDv(21,16),e.qZA(),e.YNc(22,Ki,3,2,"ng-container",17),e.qZA(),e.qZA(),e.TgZ(23,"div",18),e.TgZ(24,"cd-form-button-panel",19),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw().submit()}),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("formGroup",n.configForm),e.xp6(6),e.hij(" ",n.configForm.getValue("name")," "),e.xp6(7),e.Q6J("ngIf",n.configForm.getValue("desc")),e.xp6(1),e.Q6J("ngIf",n.configForm.getValue("long_desc")),e.xp6(1),e.Q6J("ngIf",""!==n.configForm.getValue("default")),e.xp6(1),e.Q6J("ngIf",""!==n.configForm.getValue("daemon_default")),e.xp6(1),e.Q6J("ngIf",n.configForm.getValue("services").length>0),e.xp6(4),e.Q6J("ngForOf",n.availSections),e.xp6(2),e.Q6J("form",n.configForm)("submitText",n.actionLabels.UPDATE)}}let Wo=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze){super(),this.actionLabels=n,this.route=d,this.router=w,this.configService=re,this.notificationService=Ze,this.availSections=["global","mon","mgr","osd","mds","client"],this.createForm()}createForm(){const n={name:new Hn.NI({value:null}),desc:new Hn.NI({value:null}),long_desc:new Hn.NI({value:null}),values:new Hn.cw({}),default:new Hn.NI({value:null}),daemon_default:new Hn.NI({value:null}),services:new Hn.NI([])};this.availSections.forEach(d=>{n.values.addControl(d,new Hn.NI(null))}),this.configForm=new xt.d(n)}ngOnInit(){this.route.params.subscribe(n=>{this.configService.get(n.name).subscribe(w=>{this.setResponse(w),this.loadingReady()})})}getValidators(n){const d=Re.getTypeValidators(n);if(d)return this.patternHelpText=d.patternHelpText,"max"in d&&""!==d.max&&(this.maxValue=d.max),"min"in d&&""!==d.min&&(this.minValue=d.min),d.validators}getStep(n,d){return Re.getTypeStep(n,d)}setResponse(n){this.response=n;const d=this.getValidators(n);this.configForm.get("name").setValue(n.name),this.configForm.get("desc").setValue(n.desc),this.configForm.get("long_desc").setValue(n.long_desc),this.configForm.get("default").setValue(n.default),this.configForm.get("daemon_default").setValue(n.daemon_default),this.configForm.get("services").setValue(n.services),this.response.value&&this.response.value.forEach(re=>{let Ze=null;Ze="true"===re.value||"false"!==re.value&&re.value,this.configForm.get("values").get(re.section).setValue(Ze)}),this.availSections.forEach(re=>{this.configForm.get("values").get(re).setValidators(d)});const w=Re.getType(n.type);this.type=w.name,this.inputType=w.inputType,this.humanReadableType=w.humanReadable}createRequest(){const n=[];if(this.availSections.forEach(d=>{const w=this.configForm.getValue(d);null!==w&&""!==w&&n.push({section:d,value:w})}),!gn().isEqual(this.response.value,n)){const d=new Dt;return d.name=this.configForm.getValue("name"),d.value=n,d}return null}submit(){const n=this.createRequest();n&&this.configService.create(n).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated config option " + n.name + ""),this.router.navigate(["/configuration"])},()=>{this.configForm.setErrors({cdSubmitButton:!0})}),this.router.navigate(["/configuration"])}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(tn.gz),e.Y36(tn.F0),e.Y36(en.e),e.Y36(Zi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-configuration-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr;return y="Name",n="Values",d="Description",w="Long description",re="Default",Ze="Daemon default",Lt="Services",Gt="-- Default --",On="true",fr="false",hr="The entered value is too high! It must not be greater than " + "\ufffd0\ufffd" + ".",Jr="The entered value is too low! It must not be lower than " + "\ufffd0\ufffd" + ".",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","configForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],["i18",""],[1,"card-body"],[1,"form-group","row"],[1,"cd-col-form-label"],y,[1,"cd-col-form-input"],["type","text","id","name","formControlName","name","readonly","",1,"form-control"],["class","form-group row",4,"ngIf"],["formGroupName","values"],[1,"cd-header"],n,[4,"ngFor","ngForOf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],d,["id","desc","formControlName","desc","readonly","",1,"form-control","resize-vertical"],w,["id","long_desc","formControlName","long_desc","readonly","",1,"form-control","resize-vertical"],re,["type","text","id","default","formControlName","default","readonly","",1,"form-control"],Ze,["type","text","id","daemon_default","formControlName","daemon_default","readonly","",1,"form-control"],Lt,["class","form-component-badge",4,"ngFor","ngForOf"],[1,"form-component-badge"],[1,"badge","badge-dark"],[1,"cd-col-form-label",3,"for"],["id","pool","name","pool",1,"form-control",3,"formControlName"],[3,"ngValue"],Gt,On,fr,[1,"form-control",3,"type","id","placeholder","formControlName","step"],["class","invalid-feedback",4,"ngIf"],[1,"invalid-feedback"],hr,Jr]},template:function(n,d){1&n&&e.YNc(0,Vi,25,10,"div",0),2&n&&e.Q6J("cdFormLoading",d.loading)},directives:[vn.y,Hn._Y,Hn.JL,Gn.V,Hn.sg,kn.P,As.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,s.O5,Hn.x0,s.sg,jr.p,Hn.EJ,Hn.YN,Hn.Kr],styles:[".form-component-badge[_ngcontent-%COMP%]{display:block;height:34px}.form-component-badge[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-top:7px}.resize-vertical[_ngcontent-%COMP%]{resize:vertical}"]}),f})();var Po=o(68962);function ho(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e._UZ(2,"br"),e.qZA()),2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.lnq(" ",n.section,": ",n.value,"",d?"":",","")}}function xo(f,y){if(1&f&&(e.TgZ(0,"span"),e.TgZ(1,"span",23),e.TgZ(2,"span",24),e._uU(3),e.ALo(4,"uppercase"),e.qZA(),e.qZA(),e.qZA()),2&f){const n=y.$implicit,d=e.oxw(2);e.xp6(1),e.s9C("title",d.flags[n]),e.xp6(2),e.Oqu(e.lcZ(4,2,n))}}function Ps(f,y){if(1&f&&(e.TgZ(0,"span"),e.TgZ(1,"span",24),e._uU(2),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.Oqu(n)}}function _n(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"table",1),e.TgZ(2,"tbody"),e.TgZ(3,"tr"),e.TgZ(4,"td",2),e.SDv(5,3),e.qZA(),e.TgZ(6,"td",4),e._uU(7),e.qZA(),e.qZA(),e.TgZ(8,"tr"),e.TgZ(9,"td",5),e.SDv(10,6),e.qZA(),e.TgZ(11,"td"),e._uU(12),e.qZA(),e.qZA(),e.TgZ(13,"tr"),e.TgZ(14,"td",5),e.SDv(15,7),e.qZA(),e.TgZ(16,"td"),e._uU(17),e.qZA(),e.qZA(),e.TgZ(18,"tr"),e.TgZ(19,"td",5),e.SDv(20,8),e.qZA(),e.TgZ(21,"td"),e.YNc(22,ho,3,3,"span",9),e.qZA(),e.qZA(),e.TgZ(23,"tr"),e.TgZ(24,"td",5),e.SDv(25,10),e.qZA(),e.TgZ(26,"td"),e._uU(27),e.qZA(),e.qZA(),e.TgZ(28,"tr"),e.TgZ(29,"td",5),e.SDv(30,11),e.qZA(),e.TgZ(31,"td"),e._uU(32),e.qZA(),e.qZA(),e.TgZ(33,"tr"),e.TgZ(34,"td",5),e.SDv(35,12),e.qZA(),e.TgZ(36,"td"),e._uU(37),e.qZA(),e.qZA(),e.TgZ(38,"tr"),e.TgZ(39,"td",5),e.SDv(40,13),e.qZA(),e.TgZ(41,"td"),e._uU(42),e.qZA(),e.qZA(),e.TgZ(43,"tr"),e.TgZ(44,"td",5),e.SDv(45,14),e.qZA(),e.TgZ(46,"td"),e._uU(47),e.qZA(),e.qZA(),e.TgZ(48,"tr"),e.TgZ(49,"td",5),e.SDv(50,15),e.qZA(),e.TgZ(51,"td"),e.YNc(52,xo,5,4,"span",9),e.qZA(),e.qZA(),e.TgZ(53,"tr"),e.TgZ(54,"td",5),e.SDv(55,16),e.qZA(),e.TgZ(56,"td"),e.YNc(57,Ps,3,1,"span",9),e.qZA(),e.qZA(),e.TgZ(58,"tr"),e.TgZ(59,"td",5),e.SDv(60,17),e.qZA(),e.TgZ(61,"td"),e._uU(62),e.qZA(),e.qZA(),e.TgZ(63,"tr"),e.TgZ(64,"td",5),e.SDv(65,18),e.qZA(),e.TgZ(66,"td"),e._uU(67),e.qZA(),e.qZA(),e.TgZ(68,"tr"),e.TgZ(69,"td",5),e.SDv(70,19),e.qZA(),e.TgZ(71,"td"),e._uU(72),e.ALo(73,"booleanText"),e.qZA(),e.qZA(),e.TgZ(74,"tr"),e.TgZ(75,"td",5),e.SDv(76,20),e.qZA(),e.TgZ(77,"td"),e._uU(78),e.qZA(),e.qZA(),e.TgZ(79,"tr"),e.TgZ(80,"td",5),e.SDv(81,21),e.qZA(),e.TgZ(82,"td"),e._uU(83),e.qZA(),e.qZA(),e.TgZ(84,"tr"),e.TgZ(85,"td",5),e.SDv(86,22),e.qZA(),e.TgZ(87,"td"),e._uU(88),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw();e.xp6(7),e.Oqu(n.selection.name),e.xp6(5),e.Oqu(n.selection.desc),e.xp6(5),e.Oqu(n.selection.long_desc),e.xp6(5),e.Q6J("ngForOf",n.selection.value),e.xp6(5),e.Oqu(n.selection.default),e.xp6(5),e.Oqu(n.selection.daemon_default),e.xp6(5),e.Oqu(n.selection.type),e.xp6(5),e.Oqu(n.selection.min),e.xp6(5),e.Oqu(n.selection.max),e.xp6(5),e.Q6J("ngForOf",n.selection.flags),e.xp6(5),e.Q6J("ngForOf",n.selection.services),e.xp6(5),e.Oqu(n.selection.source),e.xp6(5),e.Oqu(n.selection.level),e.xp6(5),e.Oqu(e.lcZ(73,17,n.selection.can_update_at_runtime)),e.xp6(6),e.Oqu(n.selection.tags),e.xp6(5),e.Oqu(n.selection.enum_values),e.xp6(5),e.Oqu(n.selection.see_also)}}let Hs=(()=>{class f{constructor(){this.flags={runtime:"The value can be updated at runtime.",no_mon_update:"Daemons/clients do not pull this value from the\n monitor config database. We disallow setting this option via 'ceph config\n set ...'. This option should be configured via ceph.conf or via the\n command line.",startup:"Option takes effect only during daemon startup.",cluster_create:"Option only affects cluster creation.",create:"Option only affects daemon creation."}}ngOnChanges(){this.selection&&(this.selection.services=gn().split(this.selection.services,","))}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-configuration-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o,Yi,Xs;return y="Name",n="Description",d="Long description",w="Current values",re="Default",Ze="Daemon default",Lt="Type",Gt="Min",On="Max",fr="Flags",hr="Services",Jr="Source",$i="Level",bo="Can be updated at runtime (editable)",_o="Tags",Yi="Enum values",Xs="See also",[[4,"ngIf"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],y,[1,"w-75"],[1,"bold"],n,d,w,[4,"ngFor","ngForOf"],re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o,Yi,Xs,[3,"title"],[1,"badge","badge-dark","mr-2"]]},template:function(n,d){1&n&&e.YNc(0,_n,89,19,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,s.sg],pipes:[Po.T,s.gd],styles:[""]}),f})();const Pa=["confValTpl"],Oa=["confFlagTpl"];function lo(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e._UZ(2,"br"),e.qZA()),2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.lnq(" ",n.section,": ",n.value,"",d?"":",","")}}function ra(f,y){if(1&f&&(e.TgZ(0,"span"),e.YNc(1,lo,3,3,"span",5),e.qZA()),2&f){const n=e.oxw().value;e.xp6(1),e.Q6J("ngForOf",n)}}function ns(f,y){1&f&&e.YNc(0,ra,2,1,"span",4),2&f&&e.Q6J("ngIf",y.value)}let Aa=(()=>{class f extends mi.o{constructor(n,d,w){super(),this.authStorageService=n,this.configurationService=d,this.actionLabels=w,this.data=[],this.icons=eo.P,this.selection=new si.r,this.filters=[{name:"Level",prop:"level",filterOptions:["basic","advanced","dev"],filterInitValue:"basic",filterPredicate:(Lt,Gt)=>{let On;var hr;return(hr=On||(On={}))[hr.basic=0]="basic",hr[hr.advanced=1]="advanced",hr[hr.dev=2]="dev",On[Lt.level]<=On[Gt]}},{name:"Service",prop:"services",filterOptions:["mon","mgr","osd","mds","common","mds_client","rgw"],filterPredicate:(Lt,Gt)=>Lt.services.includes(Gt)},{name:"Source",prop:"source",filterOptions:["mon"],filterPredicate:(Lt,Gt)=>!!Lt.hasOwnProperty("source")&&Lt.source.includes(Gt)},{name:"Modified",prop:"modified",filterOptions:["yes","no"],filterPredicate:(Lt,Gt)=>!!("yes"===Gt&&Lt.hasOwnProperty("value")||"no"===Gt&&!Lt.hasOwnProperty("value"))}],this.permission=this.authStorageService.getPermissions().configOpt;const re=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().name)}`;this.tableActions=[{permission:"update",icon:eo.P.edit,routerLink:()=>`/configuration/edit/${re()}`,name:this.actionLabels.EDIT,disable:()=>!this.isEditable(this.selection)}]}ngOnInit(){this.columns=[{canAutoResize:!0,prop:"name",name:"Name"},{prop:"desc",name:"Description",cellClass:"wrap"},{prop:"value",name:"Current value",cellClass:"wrap",cellTemplate:this.confValTpl},{prop:"default",name:"Default",cellClass:"wrap"},{prop:"can_update_at_runtime",name:"Editable",cellTransformation:ii.e.checkIcon,flexGrow:.4,cellClass:"text-center"}]}updateSelection(n){this.selection=n}getConfigurationList(n){this.configurationService.getConfigData().subscribe(d=>{this.data=d},()=>{n.error()})}isEditable(n){return 1===n.selected.length&&n.selected[0].can_update_at_runtime}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(en.e),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-configuration"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Pa,7),e.Gf(Oa,5)),2&n){let w;e.iGM(w=e.CRH())&&(d.confValTpl=w.first),e.iGM(w=e.CRH())&&(d.confFlagTpl=w.first)}},features:[e.qOj],decls:5,vars:8,consts:[["selectionType","single",3,"data","columns","extraFilterableColumns","hasDetails","fetchData","setExpandedRow","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["confValTpl",""],[4,"ngIf"],[4,"ngFor","ngForOf"]],template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(re){return d.getConfigurationList(re)})("setExpandedRow",function(re){return d.setExpandedRow(re)})("updateSelection",function(re){return d.updateSelection(re)}),e._UZ(1,"cd-table-actions",1),e._UZ(2,"cd-configuration-details",2),e.qZA(),e.YNc(3,ns,1,1,"ng-template",null,3,e.W1O)),2&n&&(e.Q6J("data",d.data)("columns",d.columns)("extraFilterableColumns",d.filters)("hasDetails",!0),e.xp6(1),e.Q6J("permission",d.permission)("selection",d.selection)("tableActions",d.tableActions),e.xp6(1),e.Q6J("selection",d.expandedRow))},directives:[Ui.a,ha.K,Hs,s.O5,s.sg],styles:[".filter[_ngcontent-%COMP%]{padding-right:8px}.fa-stack[_ngcontent-%COMP%]{font-size:.79rem}.fa-stack[_ngcontent-%COMP%] .fa-stack-1x[_ngcontent-%COMP%]{margin-left:8px;margin-top:5px} cd-configuration datatable-body-cell.wrap{word-break:break-all}"]}),f})();var zs=o(35758),La=o(68939),ws=o(25917),Ds=o(88002),Ws=o(42145),Ba=o(548),Zs=o(95242),Ya=o(34022);function Za(f,y,n){return 0===n?[y]:(f.push(y),f)}function Ha(){return function(f,y){return arguments.length>=2?function(d){return(0,Ya.z)((0,Ws.R)(f,y),(0,Ba.h)(1),(0,Zs.d)(y))(d)}:function(d){return(0,Ya.z)((0,Ws.R)((w,re,Ze)=>f(w,re,Ze+1)),(0,Ba.h)(1))(d)}}(Za,[])}var ol=o(19773),Us=o(76189),sl=o(51295);let ac=(()=>{class f{calculateAdditionalData(n){if(!n.life_expectancy_min||!n.life_expectancy_max)return n.state="unknown",n;const d=Gt=>!!Number.parseFloat(Gt),w=(Gt,On)=>Gt&&On&&d(Gt)&&d(On)?In().duration(In()(Gt).diff(In()(On))).asWeeks():null,re=In().duration(In()(In().now()).diff(In()(n.life_expectancy_stamp))).asWeeks(),Ze=w(n.life_expectancy_max,n.life_expectancy_stamp),Lt=w(n.life_expectancy_min,n.life_expectancy_stamp);return n.state=re>1?"stale":null!==Ze&&Ze<=2?"bad":null!==Lt&&Lt<=4?"warning":"good",n.life_expectancy_weeks={max:null!==Ze?Math.round(Ze):null,min:null!==Lt?Math.round(Lt):null},n}readable(n){return n.readableDaemons=n.daemons.join(" "),n}prepareDevice(n){return this.readable(this.calculateAdditionalData(n))}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),Zl=(()=>{class f extends Us.S{constructor(n,d){super(),this.http=n,this.deviceService=d,this.baseURL="api/host",this.baseUIURL="ui-api/host",this.predefinedLabels=["mon","mgr","osd","mds","rgw","nfs","iscsi","rbd","grafana"]}list(n){return this.http.get(this.baseURL,{headers:{Accept:"application/vnd.ceph.api.v1.1+json"},params:{facts:n}})}create(n,d,w,re){return this.http.post(this.baseURL,{hostname:n,addr:d,labels:w,status:re},{observe:"response",headers:{Accept:sl.T.cdVersionHeader("0","1")}})}delete(n){return this.http.delete(`${this.baseURL}/${n}`,{observe:"response"})}getDevices(n){return this.http.get(`${this.baseURL}/${n}/devices`).pipe((0,Ds.U)(d=>d.map(w=>this.deviceService.prepareDevice(w))))}getSmartData(n){return this.http.get(`${this.baseURL}/${n}/smart`)}getDaemons(n){return this.http.get(`${this.baseURL}/${n}/daemons`)}getLabels(){return this.http.get(`${this.baseUIURL}/labels`)}update(n,d=!1,w=[],re=!1,Ze=!1,Lt=!1){return this.http.put(`${this.baseURL}/${n}`,{update_labels:d,labels:w,maintenance:re,force:Ze,drain:Lt},{headers:{Accept:this.getVersionHeaderValue(0,1)}})}identifyDevice(n,d,w){return this.http.post(`${this.baseURL}/${n}/identify_device`,{device:d,duration:w})}getInventoryParams(n){let d=new a.LE;return n&&(d=d.append("refresh",gn().toString(n))),d}getInventory(n,d){const w=this.getInventoryParams(d);return this.http.get(`${this.baseURL}/${n}/inventory`,{params:w})}inventoryList(n){const d=this.getInventoryParams(n);return this.http.get(`${this.baseUIURL}/inventory`,{params:d})}inventoryDeviceList(n,d){let w;return w=n?this.getInventory(n,d).pipe(Ha()):this.inventoryList(d),w.pipe((0,ol.zg)(re=>{const Ze=gn().flatMap(re,Lt=>Lt.devices.map(Gt=>(Gt.hostname=Lt.name,Gt.uid=Gt.device_id?`${Gt.device_id}-${Gt.hostname}-${Gt.path}`:`${Gt.hostname}-${Gt.path}`,Gt)));return(0,ws.of)(Ze)}))}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(ac))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),lc=(()=>{class f{constructor(n,d){this.http=n,this.deviceService=d,this.path="api/osd",this.osdDevices=[],this.osdRecvSpeedModalPriorities={KNOWN_PRIORITIES:[{name:null,text:"-- Select the priority --",values:{osd_max_backfills:null,osd_recovery_max_active:null,osd_recovery_max_single_start:null,osd_recovery_sleep:null}},{name:"low",text:"Low",values:{osd_max_backfills:1,osd_recovery_max_active:1,osd_recovery_max_single_start:1,osd_recovery_sleep:.5}},{name:"default",text:"Default",values:{osd_max_backfills:1,osd_recovery_max_active:3,osd_recovery_max_single_start:1,osd_recovery_sleep:0}},{name:"high",text:"High",values:{osd_max_backfills:4,osd_recovery_max_active:4,osd_recovery_max_single_start:4,osd_recovery_sleep:0}}]}}create(n){const d={method:"drive_groups",data:n,tracking_id:gn().join(gn().map(n,"service_id"),", ")};return this.http.post(this.path,d,{observe:"response"})}getList(){return this.http.get(`${this.path}`)}getOsdSettings(){return this.http.get(`${this.path}/settings`,{headers:{Accept:"application/vnd.ceph.api.v0.1+json"}})}getDetails(n){return this.http.get(`${this.path}/${n}`)}getSmartData(n){return this.http.get(`${this.path}/${n}/smart`)}scrub(n,d){return this.http.post(`${this.path}/${n}/scrub?deep=${d}`,null)}getFlags(){return this.http.get(`${this.path}/flags`)}updateFlags(n){return this.http.put(`${this.path}/flags`,{flags:n})}updateIndividualFlags(n,d){return this.http.put(`${this.path}/flags/individual`,{flags:n,ids:d})}markOut(n){return this.http.put(`${this.path}/${n}/mark`,{action:"out"})}markIn(n){return this.http.put(`${this.path}/${n}/mark`,{action:"in"})}markDown(n){return this.http.put(`${this.path}/${n}/mark`,{action:"down"})}reweight(n,d){return this.http.post(`${this.path}/${n}/reweight`,{weight:d})}update(n,d){return this.http.put(`${this.path}/${n}`,{device_class:d})}markLost(n){return this.http.put(`${this.path}/${n}/mark`,{action:"lost"})}purge(n){return this.http.post(`${this.path}/${n}/purge`,null)}destroy(n){return this.http.post(`${this.path}/${n}/destroy`,null)}delete(n,d,w){return this.http.delete(`${this.path}/${n}`,{observe:"response",params:{preserve_id:d?"true":"false",force:w?"true":"false"}})}safeToDestroy(n){return this.http.get(`${this.path}/safe_to_destroy?ids=${n}`)}safeToDelete(n){return this.http.get(`${this.path}/safe_to_delete?svc_ids=${n}`)}getDevices(n){return this.http.get(`${this.path}/${n}/devices`).pipe((0,Ds.U)(d=>d.map(w=>this.deviceService.prepareDevice(w))))}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(ac))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var Va=o(76111),ki=o(32337),Oc=o(26215);const pc=[{stepIndex:1,isComplete:!1}];let pl=(()=>{class f{constructor(){this.currentStep$=new Oc.X(null),this.steps$=new Oc.X(pc),this.currentStep$.next(this.steps$.value[0])}setTotalSteps(n){const d=[];for(let w=1;w<=n;w++)d.push({stepIndex:w,isComplete:!1});this.steps$=new Oc.X(d)}setCurrentStep(n){this.currentStep$.next(n)}getCurrentStep(){return this.currentStep$.asObservable()}getSteps(){return this.steps$.asObservable()}moveToNextStep(){this.currentStep$.next(this.steps$.value[this.currentStep$.value.stepIndex])}moveToPreviousStep(){this.currentStep$.next(this.steps$.value[this.currentStep$.value.stepIndex-1-1])}isLastStep(){return this.currentStep$.value.stepIndex===this.steps$.value.length}isFirstStep(){var n;return(null===(n=this.currentStep$.value)||void 0===n?void 0:n.stepIndex)-1==0}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var _a=o(28211);class iu{constructor(){this.reset(),this.formatterService=new _a.H,this.deviceSelectionAttrs={"sys_api.vendor":{name:"vendor"},"sys_api.model":{name:"model"},device_id:{name:"device_id"},human_readable_type:{name:"rotational",formatter:y=>"hdd"===y.toLowerCase()},"sys_api.size":{name:"size",formatter:y=>this.formatterService.format_number(y,1024,["B","KB","MB","GB","TB","PB"]).replace(" ","")}}}reset(){this.spec={service_type:"osd",service_id:`dashboard-${gn().now()}`}}setName(y){this.spec.service_id=y}setHostPattern(y){this.spec.host_pattern=y}setDeviceSelection(y,n){const d=`${y}_devices`;this.spec[d]={},n.forEach(w=>{const re=this.deviceSelectionAttrs[w.prop];re&&(this.spec[d][re.name]=re.formatter?re.formatter(w.value.raw):w.value.raw)})}clearDeviceSelection(y){delete this.spec[`${y}_devices`]}setSlots(y,n){const d=`${y}_slots`;0===n?delete this.spec[d]:this.spec[d]=n}setFeature(y,n){n?this.spec[y]=!0:delete this.spec[y]}}let cc=(()=>{class f{constructor(n){this.http=n,this.baseURL="api/cluster"}getStatus(){return this.http.get(`${this.baseURL}`,{headers:{Accept:"application/vnd.ceph.api.v0.1+json"}})}updateStatus(n){return this.http.put(`${this.baseURL}`,{status:n},{headers:{Accept:"application/vnd.ceph.api.v0.1+json"}})}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();const Ac=function(f){return{active:f}};function bu(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"ul",4),e.TgZ(1,"li",5),e.TgZ(2,"a",6),e.NdJ("click",function(){const re=e.CHM(n).$implicit;return e.oxw().onStepClick(re)}),e.TgZ(3,"span",7),e.SDv(4,8),e.qZA(),e.TgZ(5,"span"),e.SDv(6,9),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=y.$implicit,d=y.index,w=e.oxw();e.xp6(2),e.Q6J("ngClass",e.VKq(4,Ac,w.currentStep.stepIndex===n.stepIndex)),e.xp6(1),e.Q6J("ngClass",e.VKq(6,Ac,w.currentStep.stepIndex===n.stepIndex)),e.xp6(1),e.pQV(n.stepIndex),e.QtT(4),e.xp6(2),e.pQV(w.stepsTitle[d]),e.QtT(6)}}let ou=(()=>{class f{constructor(n){this.stepsService=n}ngOnInit(){this.stepsService.setTotalSteps(this.stepsTitle.length),this.steps=this.stepsService.getSteps(),this.currentStepSub=this.stepsService.getCurrentStep().subscribe(n=>{this.currentStep=n})}onStepClick(n){this.stepsService.setCurrentStep(n)}ngOnDestroy(){this.currentStepSub.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(pl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-wizard"]],inputs:{stepsTitle:"stepsTitle"},decls:5,vars:3,consts:function(){let y,n;return y="" + "\ufffd0\ufffd" + "",n="" + "\ufffd0\ufffd" + "",[[1,"card-body"],[1,"row","m-7"],[1,"col"],["class","nav nav-pills flex-column",4,"ngFor","ngForOf"],[1,"nav","nav-pills","flex-column"],[1,"nav-item"],[1,"nav-link",3,"ngClass","click"],[1,"circle-step",3,"ngClass"],y,n]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"nav",2),e.YNc(3,bu,7,8,"ul",3),e.ALo(4,"async"),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(3),e.Q6J("ngForOf",e.lcZ(4,1,d.steps)))},directives:[s.sg,s.mk],pipes:[s.Ov],styles:[".card-body[_ngcontent-%COMP%]{padding-left:0}span.circle-step[_ngcontent-%COMP%]{background:#adb5bd;border-radius:.8em;color:#fff;display:inline-block;font-weight:bold;line-height:1.6em;margin-right:5px;text-align:center;width:1.6em}span.circle-step.active[_ngcontent-%COMP%]{background-color:#2b99a8}.nav-pills[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{background-color:#fff;color:#343a40}.nav-pills[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%]{color:#2b99a8}"]}),f})();var xl=o(13472),Vl=o(75319);let el=(()=>{class f{constructor(n){this.http=n,this.url="api/orchestrator",this.disableMessages={noOrchestrator:"The feature is disabled because Orchestrator is not available.",missingFeature:"The Orchestrator backend doesn't support this feature."}}status(){return this.http.get(`${this.url}/status`)}hasFeature(n,d){return gn().every(d,w=>gn().get(n.features,`${w}.available`))}getTableActionDisableDesc(n,d){return!!n&&(n.available?!this.hasFeature(n,d)&&this.disableMessages.missingFeature:this.disableMessages.noOrchestrator)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var tl=o(7022),ml=(()=>{return(f=ml||(ml={})).HOST_LIST="get_hosts",f.HOST_ADD="add_host",f.HOST_REMOVE="remove_host",f.HOST_LABEL_ADD="add_host_label",f.HOST_LABEL_REMOVE="remove_host_label",f.HOST_MAINTENANCE_ENTER="enter_host_maintenance",f.HOST_MAINTENANCE_EXIT="exit_host_maintenance",f.HOST_FACTS="get_facts",f.HOST_DRAIN="drain_host",f.SERVICE_LIST="describe_service",f.SERVICE_CREATE="apply",f.SERVICE_EDIT="apply",f.SERVICE_DELETE="remove_service",f.SERVICE_RELOAD="service_action",f.DAEMON_LIST="list_daemons",f.OSD_GET_REMOVE_STATUS="remove_osds_status",f.OSD_CREATE="apply_drivegroups",f.OSD_DELETE="remove_osds",f.DEVICE_LIST="get_inventory",f.DEVICE_BLINK_LIGHT="blink_device_light",ml;var f})(),bc=o(41039),vl=o(51847),hc=o(33512),Jl=o.n(hc),nl=o(60312),yl=o(18372),El=o(82945),p=o(60192),E=o(10545);function N(f,y){1&f&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function $(f,y){1&f&&(e.TgZ(0,"span",29),e.SDv(1,31),e.qZA())}function Q(f,y){1&f&&(e.TgZ(0,"span",29),e.SDv(1,35),e.qZA())}function de(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",32),e.SDv(2,33),e.qZA(),e.TgZ(3,"div",15),e._UZ(4,"input",34),e.YNc(5,Q,2,0,"span",17),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(5),e.Q6J("ngIf",d.hostForm.showError("addr",n,"pattern"))}}function ve(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"form",5,6),e.TgZ(3,"div",7),e.TgZ(4,"div",8),e.TgZ(5,"label",9),e.ynx(6),e.SDv(7,10),e.BQk(),e.TgZ(8,"cd-helper"),e.TgZ(9,"p"),e.SDv(10,11),e.qZA(),e.TgZ(11,"ul"),e.TgZ(12,"li"),e.tHW(13,12),e._UZ(14,"samp"),e.N_p(),e.qZA(),e.TgZ(15,"li"),e.tHW(16,13),e._UZ(17,"samp"),e.N_p(),e.qZA(),e.TgZ(18,"li"),e.tHW(19,14),e._UZ(20,"samp"),e.N_p(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(21,"div",15),e.TgZ(22,"input",16),e.NdJ("keyup",function(){return e.CHM(n),e.oxw().checkHostNameValue()}),e.qZA(),e.YNc(23,N,2,0,"span",17),e.YNc(24,$,2,0,"span",17),e.qZA(),e.qZA(),e.YNc(25,de,6,1,"div",18),e.TgZ(26,"div",8),e.TgZ(27,"label",19),e.SDv(28,20),e.qZA(),e.TgZ(29,"div",15),e._UZ(30,"cd-select-badges",21),e.qZA(),e.qZA(),e.TgZ(31,"div",8),e.TgZ(32,"div",22),e.TgZ(33,"div",23),e._UZ(34,"input",24),e.TgZ(35,"label",25),e.SDv(36,26),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(37,"div",27),e.TgZ(38,"cd-form-button-panel",28),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw().submit()}),e.ALo(39,"titlecase"),e.ALo(40,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.oxw();e.xp6(1),e.Q6J("formGroup",d.hostForm),e.xp6(22),e.Q6J("ngIf",d.hostForm.showError("hostname",n,"required")),e.xp6(1),e.Q6J("ngIf",d.hostForm.showError("hostname",n,"uniqueName")),e.xp6(1),e.Q6J("ngIf",!d.hostPattern),e.xp6(5),e.Q6J("data",d.hostForm.controls.labels.value)("options",d.labelsOption)("customBadges",!0)("messages",d.messages),e.xp6(8),e.Q6J("form",d.hostForm)("submitText",e.lcZ(39,10,d.action)+" "+e.lcZ(40,12,d.resource))}}let qe=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze){super(),this.router=n,this.actionLabels=d,this.hostService=w,this.taskWrapper=re,this.activeModal=Ze,this.hostnameArray=[],this.hostPattern=!1,this.labelsOption=[],this.messages=new tl.a({empty:"There are no labels.",filter:"Filter or add labels",add:"Add label"}),this.resource="host",this.action=this.actionLabels.ADD}ngOnInit(){this.router.url.includes("hosts")&&(this.pageURL="hosts"),this.createForm(),this.hostService.list("false").subscribe(n=>{this.hostnames=n.map(d=>d.hostname),this.loadingReady()}),this.hostService.getLabels().subscribe(n=>{const d=new Set(n.concat(this.hostService.predefinedLabels));this.labelsOption=Array.from(d).map(w=>({enabled:!0,name:w,selected:!1,description:null}))})}checkHostNameValue(){this.hostPattern=!!this.hostForm.get("hostname").value.match(/[()\[\]{},]/g)}createForm(){this.hostForm=new xt.d({hostname:new Hn.NI("",{validators:[Hn.kI.required,mo.h.custom("uniqueName",n=>this.hostnames&&-1!==this.hostnames.indexOf(n))]}),addr:new Hn.NI("",{validators:[mo.h.ip()]}),labels:new Hn.NI([]),maintenance:new Hn.NI({value:!1,disabled:"hosts"!==this.pageURL})})}isCommaSeparatedPattern(n){return n.includes(",")}isRangeTypePattern(n){return n.includes("[")&&n.includes("]")&&!n.match(/(?![^(]*\)),/g)}replaceBraces(n){return n.replace(/(\d)\s*-\s*(\d)/g,"$1..$2").replace(/\(/g,"{").replace(/\)/g,"}").replace(/\[/g,"{").replace(/]/g,"}")}checkHostNamePattern(n){if(this.isRangeTypePattern(n)){const d=this.replaceBraces(n);this.hostnameArray=Jl()(d)}else if(this.isCommaSeparatedPattern(n)){let d=[];d=n.split(","),d.forEach(w=>{if(this.isRangeTypePattern(w)){const re=this.replaceBraces(w);this.hostnameArray=this.hostnameArray.concat(Jl()(re))}else this.hostnameArray.push(w)})}else this.hostnameArray.push(n)}submit(){const n=this.hostForm.get("hostname").value;this.checkHostNamePattern(n),this.addr=this.hostForm.get("addr").value,this.status=this.hostForm.get("maintenance").value?"maintenance":"",this.allLabels=this.hostForm.get("labels").value,"hosts"!==this.pageURL&&!this.allLabels.includes("_no_schedule")&&this.allLabels.push("_no_schedule"),this.hostnameArray.forEach(d=>{this.taskWrapper.wrapTaskAroundCall({task:new Va.R("host/"+uo.MQ.ADD,{hostname:d}),call:this.hostService.create(d,this.addr,this.allLabels,this.status)}).subscribe({error:()=>{this.hostForm.setErrors({cdSubmitButton:!0})},complete:()=>{"hosts"===this.pageURL?this.router.navigate([this.pageURL,{outlets:{modal:null}}]):this.activeModal.close()}})})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(uo.p4),e.Y36(Zl),e.Y36(ki.P),e.Y36(Br.Kz))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-host-form"]],features:[e.qOj],decls:7,vars:9,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Hostname",d="To add multiple hosts at once, you can enter:",w="a comma-separated list of hostnames " + "\ufffd#14\ufffd" + "(e.g.: example-01,example-02,example-03)" + "\ufffd/#14\ufffd" + ",",re="a range expression " + "\ufffd#17\ufffd" + "(e.g.: example-[01-03].ceph)" + "\ufffd/#17\ufffd" + ",",Ze="a comma separated range expression " + "\ufffd#20\ufffd" + "(e.g.: example-[01-05].lab.com,example2-[1-4].lab.com,example3-[001-006].lab.com)" + "\ufffd/#20\ufffd" + "",Lt="Labels",Gt="Maintenance Mode",On="This field is required.",fr="The chosen hostname is already in use.",hr="Network address",Jr="The value is not a valid IP address.",[[3,"pageURL","modalRef"],[1,"modal-title"],y,[1,"modal-content"],[4,"cdFormLoading"],["name","hostForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","hostname",1,"cd-col-form-label","required"],n,d,w,re,Ze,[1,"cd-col-form-input"],["type","text","placeholder","mon-123","id","hostname","name","hostname","formControlName","hostname","autofocus","",1,"form-control",3,"keyup"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],["for","labels",1,"cd-col-form-label"],Lt,["id","labels",3,"data","options","customBadges","messages"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","maintenance","type","checkbox","formControlName","maintenance",1,"custom-control-input"],["for","maintenance",1,"custom-control-label"],Gt,[1,"modal-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],On,fr,["for","addr",1,"cd-col-form-label"],hr,["type","text","placeholder","192.168.0.1","id","addr","name","addr","formControlName","addr",1,"form-control"],Jr]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.qZA(),e.ynx(5,3),e.YNc(6,ve,41,14,"div",4),e.BQk(),e.qZA()),2&n&&(e.Q6J("pageURL",d.pageURL)("modalRef",d.activeModal),e.xp6(4),e.pQV(e.lcZ(3,5,d.action))(e.lcZ(4,7,d.resource)),e.QtT(2),e.xp6(2),e.Q6J("cdFormLoading",d.loading))},directives:[nl.z,vn.y,Hn._Y,Hn.JL,Gn.V,Hn.sg,kn.P,yl.S,As.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,El.U,s.O5,p.m,Hn.Wl,jr.p],pipes:[s.rS,E.m],styles:[""]}),f})();var De=o(34501);const _t=["deviceLocation"],Yt=["lifeExpectancy"],Zt=["lifeExpectancyTimestamp"];function wn(f,y){if(1&f&&e._UZ(0,"cd-table",5),2&f){const n=e.oxw();e.Q6J("data",n.devices)("columns",n.columns)}}function cr(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",6),e.SDv(1,7),e.qZA())}function sr(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.Oqu(n.dev)}}function Tr(f,y){1&f&&e.YNc(0,sr,2,1,"span",8),2&f&&e.Q6J("ngForOf",y.value)}function Yr(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"i18nPlural"),e.qZA()),2&f){const n=e.oxw().value,d=e.oxw();e.xp6(1),e.hij("> ",e.xi3(2,1,n.min,d.translationMapping),"")}}function Pi(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"i18nPlural"),e.qZA()),2&f){const n=e.oxw().value,d=e.oxw();e.xp6(1),e.hij("< ",e.xi3(2,1,n.max,d.translationMapping),"")}}function yo(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"i18nPlural"),e.qZA()),2&f){const n=e.oxw().value,d=e.oxw();e.xp6(1),e.AsE("",n.min," to ",e.xi3(2,2,n.max,d.translationMapping),"")}}function Co(f,y){if(1&f&&(e.YNc(0,Yr,3,4,"span",9),e.YNc(1,Pi,3,4,"span",9),e.YNc(2,yo,3,5,"span",9)),2&f){const n=y.value;e.Q6J("ngIf",n.min&&!n.max),e.xp6(1),e.Q6J("ngIf",n.max&&!n.min),e.xp6(1),e.Q6J("ngIf",n.max&&n.min)}}function Xo(f,y){1&f&&e._uU(0),2&f&&e.hij(" ",y.value,"\n")}let ts=(()=>{class f{constructor(n,d,w){this.hostService=n,this.datePipe=d,this.osdService=w,this.hostname="",this.osdId=null,this.devices=null,this.columns=[],this.translationMapping={"=1":"# week",other:"# weeks"}}ngOnInit(){this.columns=[{prop:"devid",name:"Device ID",minWidth:200},{prop:"state",name:"State of Health",flexGrow:1,cellTransformation:ii.e.badge,customTemplateConfig:{map:{good:{value:"Good",class:"badge-success"},warning:{value:"Warning",class:"badge-warning"},bad:{value:"Bad",class:"badge-danger"},stale:{value:"Stale",class:"badge-info"},unknown:{value:"Unknown",class:"badge-dark"}}}},{prop:"life_expectancy_weeks",name:"Life Expectancy",cellTemplate:this.lifeExpectancyTemplate},{prop:"life_expectancy_stamp",name:"Prediction Creation Date",cellTemplate:this.lifeExpectancyTimestampTemplate,pipe:this.datePipe,isHidden:!0},{prop:"location",name:"Device Name",cellTemplate:this.locationTemplate},{prop:"readableDaemons",name:"Daemons"}]}ngOnChanges(){const n=d=>this.devices=d;this.hostname?this.hostService.getDevices(this.hostname).subscribe(n):null!==this.osdId&&this.osdService.getDevices(this.osdId).subscribe(n)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Zl),e.Y36(s.uU),e.Y36(lc))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-device-list"]],viewQuery:function(n,d){if(1&n&&(e.Gf(_t,7),e.Gf(Yt,7),e.Gf(Zt,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.locationTemplate=w.first),e.iGM(w=e.CRH())&&(d.lifeExpectancyTemplate=w.first),e.iGM(w=e.CRH())&&(d.lifeExpectancyTimestampTemplate=w.first)}},inputs:{hostname:"hostname",osdId:"osdId"},features:[e.TTD],decls:8,vars:2,consts:function(){let y;return y="Neither hostname nor OSD ID given",[[3,"data","columns",4,"ngIf"],["type","warning",4,"ngIf"],["deviceLocation",""],["lifeExpectancy",""],["lifeExpectancyTimestamp",""],[3,"data","columns"],["type","warning"],y,[4,"ngFor","ngForOf"],[4,"ngIf"]]},template:function(n,d){1&n&&(e.YNc(0,wn,1,2,"cd-table",0),e.YNc(1,cr,2,0,"cd-alert-panel",1),e.YNc(2,Tr,1,1,"ng-template",null,2,e.W1O),e.YNc(4,Co,3,3,"ng-template",null,3,e.W1O),e.YNc(6,Xo,1,1,"ng-template",null,4,e.W1O)),2&n&&(e.Q6J("ngIf",d.hostname||null!==d.osdId),e.xp6(1),e.Q6J("ngIf",""===d.hostname&&null===d.osdId))},directives:[s.O5,Ui.a,De.G,s.sg],pipes:[s.Gx],styles:[""]}),f})();var _s=o(30490);function Ts(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",2),e.SDv(1,3),e.qZA())}function Ms(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",2),e.tHW(1,4),e._UZ(2,"cd-doc",5),e.N_p(),e.qZA())}let xs=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-orchestrator-doc-panel"]],inputs:{missingFeatures:"missingFeatures"},decls:3,vars:2,consts:function(){let y,n;return y="The feature is not supported in the current Orchestrator.",n="Orchestrator is not available. Please consult the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " on how to configure and enable the functionality.",[["type","info",4,"ngIf","ngIfElse"],["elseBlock",""],["type","info"],y,n,["section","orch"]]},template:function(n,d){if(1&n&&(e.YNc(0,Ts,2,0,"cd-alert-panel",0),e.YNc(1,Ms,3,0,"ng-template",null,1,e.W1O)),2&n){const w=e.MAs(2);e.Q6J("ngIf",d.missingFeatures)("ngIfElse",w)}},directives:[s.O5,De.G,_s.K],styles:[""]}),f})(),ya=(()=>{class f{constructor(n,d,w,re,Ze,Lt){this.authStorageService=n,this.dimlessBinary=d,this.modalService=w,this.notificationService=re,this.orchService=Ze,this.hostService=Lt,this.devices=[],this.showAvailDeviceOnly=!1,this.hiddenColumns=[],this.filterColumns=["hostname","human_readable_type","available","sys_api.vendor","sys_api.model","sys_api.size"],this.selectionType=void 0,this.filterChange=new e.vpe,this.fetchInventory=new e.vpe,this.icons=eo.P,this.columns=[],this.selection=new si.r,this.orchStatus=void 0,this.actionOrchFeatures={identify:[ml.DEVICE_BLINK_LIGHT]}}ngOnInit(){this.permission=this.authStorageService.getPermissions().osd,this.tableActions=[{permission:"update",icon:eo.P.show,click:()=>this.identifyDevice(),name:"Identify",disable:d=>this.getDisable("identify",d),canBePrimary:d=>!d.hasSingleSelection,visible:()=>gn().isString(this.selectionType)}];const n=[{name:"Hostname",prop:"hostname",flexGrow:1},{name:"Device path",prop:"path",flexGrow:1},{name:"Type",prop:"human_readable_type",flexGrow:1,cellTransformation:ii.e.badge,customTemplateConfig:{map:{hdd:{value:"HDD",class:"badge-hdd"},ssd:{value:"SSD",class:"badge-ssd"}}}},{name:"Available",prop:"available",flexGrow:1,cellClass:"text-center",cellTransformation:ii.e.checkIcon},{name:"Vendor",prop:"sys_api.vendor",flexGrow:1},{name:"Model",prop:"sys_api.model",flexGrow:1},{name:"Size",prop:"sys_api.size",flexGrow:1,pipe:this.dimlessBinary},{name:"OSDs",prop:"osd_ids",flexGrow:1,cellTransformation:ii.e.badge,customTemplateConfig:{class:"badge-dark",prefix:"osd."}}];this.columns=n.filter(d=>!this.hiddenColumns.includes(d.prop)),gn().forEach(this.filterColumns,d=>{const w=gn().find(this.columns,{prop:d});w&&(w.filterable=!0)}),this.fetchInventory.observers.length>0&&(this.fetchInventorySub=this.table.fetchData.subscribe(()=>{this.fetchInventory.emit()}))}getDevices(){this.showAvailDeviceOnly?this.hostService.inventoryDeviceList().subscribe(n=>{this.devices=gn().filter(n,"available"),this.devices=[...this.devices]},()=>{this.devices=[]}):this.devices=[...this.devices]}ngOnDestroy(){this.fetchInventorySub&&this.fetchInventorySub.unsubscribe()}onColumnFiltersChanged(n){this.filterChange.emit(n)}getDisable(n,d){return!d.hasSingleSelection||this.orchService.getTableActionDisableDesc(this.orchStatus,this.actionOrchFeatures[n])}updateSelection(n){this.selection=n}identifyDevice(){const n=this.selection.first(),d=n.hostname,w=n.path||n.device_id;this.modalService.show(Hl.X,{titleText:"Identify device " + w + "",message:"Please enter the duration how long to blink the LED.",fields:[{type:"select",name:"duration",value:300,required:!0,typeConfig:{options:[{text:"1 minute",value:60},{text:"2 minutes",value:120},{text:"5 minutes",value:300},{text:"10 minutes",value:600},{text:"15 minutes",value:900}]}}],submitButtonText:"Execute",onSubmit:re=>{this.hostService.identifyDevice(d,w,re.duration).subscribe(()=>{this.notificationService.show(Ho.k.success,"Identifying '" + w + "' started on host '" + d + "'")})}})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(Se.$),e.Y36(na.Z),e.Y36(Zi.g),e.Y36(el),e.Y36(Zl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-inventory-devices"]],viewQuery:function(n,d){if(1&n&&e.Gf(Ui.a,7),2&n){let w;e.iGM(w=e.CRH())&&(d.table=w.first)}},inputs:{devices:"devices",showAvailDeviceOnly:"showAvailDeviceOnly",hiddenColumns:"hiddenColumns",filterColumns:"filterColumns",selectionType:"selectionType",orchStatus:"orchStatus"},outputs:{filterChange:"filterChange",fetchInventory:"fetchInventory"},decls:2,vars:8,consts:[["identifier","uid","columnMode","flex",3,"data","columns","forceIdentifier","selectionType","searchField","fetchData","updateSelection","columnFiltersChanged"],[1,"table-actions",3,"permission","selection","tableActions"]],template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return d.getDevices()})("updateSelection",function(re){return d.updateSelection(re)})("columnFiltersChanged",function(re){return d.onColumnFiltersChanged(re)}),e._UZ(1,"cd-table-actions",1),e.qZA()),2&n&&(e.Q6J("data",d.devices)("columns",d.columns)("forceIdentifier",!0)("selectionType",d.selectionType)("searchField",!1),e.xp6(1),e.Q6J("permission",d.permission)("selection",d.selection)("tableActions",d.tableActions))},directives:[Ui.a,ha.K],styles:[".filter[_ngcontent-%COMP%]{padding-right:8px}.fa-stack[_ngcontent-%COMP%]{font-size:.79rem}.fa-stack[_ngcontent-%COMP%] .fa-stack-1x[_ngcontent-%COMP%]{margin-left:8px;margin-top:5px}"]}),f})();function hl(f,y){1&f&&e._UZ(0,"cd-orchestrator-doc-panel")}const Ga=function(){return[]},Qa=function(){return["hostname"]};function rl(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"legend"),e.SDv(2,1),e.qZA(),e.TgZ(3,"div",2),e.TgZ(4,"div",3),e.TgZ(5,"cd-inventory-devices",4),e.NdJ("fetchInventory",function(){return e.CHM(n),e.oxw().refresh()}),e.qZA(),e.qZA(),e.qZA(),e.BQk()}if(2&f){const n=e.oxw();e.xp6(5),e.Q6J("devices",n.devices)("hiddenColumns",void 0===n.hostname?e.DdM(3,Ga):e.DdM(4,Qa))("orchStatus",n.orchStatus)}}let Gl=(()=>{class f{constructor(n,d,w){this.orchService=n,this.hostService=d,this.ngZone=w,this.reloadInterval=5e3,this.firstRefresh=!0,this.icons=eo.P,this.showDocPanel=!1,this.devices=[]}ngOnInit(){this.orchService.status().subscribe(n=>{this.orchStatus=n,this.showDocPanel=!n.available,n.available&&this.ngZone.runOutsideAngular(()=>{this.reloadSubscriber=(0,io.H)(this.reloadInterval,this.reloadInterval).subscribe(()=>{this.ngZone.run(()=>{this.getInventory(!1)})})})})}ngOnDestroy(){var n;null===(n=this.reloadSubscriber)||void 0===n||n.unsubscribe()}ngOnChanges(){var n;(null===(n=this.orchStatus)||void 0===n?void 0:n.available)&&(this.devices=[],this.getInventory(!1))}getInventory(n){""!==this.hostname&&this.hostService.inventoryDeviceList(this.hostname,n).subscribe(d=>{this.devices=d},()=>{this.devices=[]})}refresh(){this.getInventory(!this.firstRefresh),this.firstRefresh=!1}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(el),e.Y36(Zl),e.Y36(e.R0b))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-inventory"]],inputs:{hostname:"hostname"},features:[e.TTD],decls:2,vars:2,consts:function(){let y;return y="Physical Disks",[[4,"ngIf"],y,[1,"row"],[1,"col-md-12"],["selectionType","single",3,"devices","hiddenColumns","orchStatus","fetchInventory"]]},template:function(n,d){1&n&&(e.YNc(0,hl,1,0,"cd-orchestrator-doc-panel",0),e.YNc(1,rl,6,5,"ng-container",0)),2&n&&(e.Q6J("ngIf",d.showDocPanel),e.xp6(1),e.Q6J("ngIf",null==d.orchStatus?null:d.orchStatus.available))},directives:[s.O5,xs,ya],styles:[""]}),f})();var _c=o(15257);let $s=class{constructor(y){this.http=y,this.url="api/daemon"}action(y,n){return this.http.put(`${this.url}/${y}`,{action:n,container_image:null},{headers:{Accept:"application/vnd.ceph.api.v0.1+json"},observe:"response"})}};$s.\u0275fac=function(y){return new(y||$s)(e.LFG(a.eN))},$s.\u0275prov=e.Yz7({token:$s,factory:$s.\u0275fac,providedIn:"root"}),$s=(0,xr.gn)([Zr.o,(0,xr.w6)("design:paramtypes",[a.eN])],$s);var X=o(90068);let me=(()=>{class f{constructor(n){this.http=n,this.url="api/service"}list(n){const d=n?{params:(new a.LE).set("service_name",n)}:{};return this.http.get(this.url,d)}getDaemons(n){return this.http.get(`${this.url}/${n}/daemons`)}create(n){return this.http.post(this.url,{service_name:n.service_id?`${n.service_type}.${n.service_id}`:n.service_type,service_spec:n},{observe:"response"})}delete(n){return this.http.delete(`${this.url}/${n}`,{observe:"response"})}getKnownTypes(){return this.http.get(`${this.url}/known_types`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var yt=o(37496);const qt=["statusTpl"],xn=["listTpl"],Ar=["cpuTpl"],xi=["daemonsTable"];function fs(f,y){1&f&&e._UZ(0,"cd-orchestrator-doc-panel")}function aa(f,y){1&f&&e.GkF(0)}function za(f,y){if(1&f&&(e.TgZ(0,"div"),e.YNc(1,aa,1,0,"ng-container",7),e.qZA()),2&f){e.oxw();const n=e.MAs(9);e.xp6(1),e.Q6J("ngTemplateOutlet",n)}}function gc(f,y){1&f&&e.GkF(0)}function Ql(f,y){if(1&f&&e.YNc(0,gc,1,0,"ng-container",7),2&f){e.oxw(2);const n=e.MAs(9);e.Q6J("ngTemplateOutlet",n)}}function Ec(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",18,19),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw(3).getServices(w)}),e.qZA()}if(2&f){const n=e.oxw(3);e.Q6J("data",n.services)("columns",n.serviceColumns)}}function Gu(f,y){if(1&f&&e.YNc(0,Ec,2,2,"cd-table",17),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.hasOrchestrator)}}function Sd(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",8,9),e.TgZ(3,"li",10),e.TgZ(4,"a",11),e.SDv(5,12),e.qZA(),e.YNc(6,Ql,1,1,"ng-template",13),e.qZA(),e.TgZ(7,"li",14),e.TgZ(8,"a",11),e.SDv(9,15),e.qZA(),e.YNc(10,Gu,1,1,"ng-template",13),e.qZA(),e.qZA(),e._UZ(11,"div",16),e.BQk()),2&f){const n=e.MAs(2);e.xp6(11),e.Q6J("ngbNavOutlet",n)}}function rp(f,y){if(1&f&&(e.TgZ(0,"span",20),e.ALo(1,"pipeFunction"),e._uU(2),e.qZA()),2&f){const n=y.row,d=e.oxw();e.Q6J("ngClass",e.xi3(1,2,n,d.getStatusClass)),e.xp6(2),e.hij(" ",n.status_desc," ")}}const Md=function(f){return[f]};function ad(f,y){if(1&f&&(e.TgZ(0,"span"),e._UZ(1,"i",27),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("ngClass",e.VKq(1,Md,n.icons.infoCircle))}}function xu(f,y){if(1&f&&(e.TgZ(0,"span"),e._UZ(1,"i",27),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("ngClass",e.VKq(1,Md,n.icons.warning))}}function ef(f,y){if(1&f&&(e.TgZ(0,"li",25),e.TgZ(1,"b"),e._uU(2),e.ALo(3,"relativeDate"),e.qZA(),e.TgZ(4,"span",26),e._uU(5),e.qZA(),e._UZ(6,"br"),e.YNc(7,ad,2,3,"span",0),e.YNc(8,xu,2,3,"span",0),e._uU(9),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.hij("",e.lcZ(3,5,n.created)," - "),e.xp6(3),e.Oqu(n.subject),e.xp6(2),e.Q6J("ngIf","INFO"===n.level),e.xp6(1),e.Q6J("ngIf","ERROR"===n.level),e.xp6(1),e.hij(" ",n.message," ")}}function Od(f,y){if(1&f&&(e.TgZ(0,"ul",23),e.YNc(1,ef,10,7,"li",24),e.qZA()),2&f){const n=e.oxw().value,d=e.oxw();e.xp6(1),e.Q6J("ngForOf",n)("ngForTrackBy",d.trackByFn)}}function Eu(f,y){1&f&&(e.TgZ(0,"div",25),e.TgZ(1,"span"),e._uU(2,"No data available"),e.qZA(),e.qZA())}function tf(f,y){if(1&f&&e.YNc(0,Eu,3,0,"div",28),2&f){const n=e.oxw().value;e.Q6J("ngIf",0===(null==n?null:n.length))}}function Is(f,y){if(1&f&&(e.YNc(0,Od,2,2,"ul",21),e.YNc(1,tf,1,1,"ng-template",null,22,e.W1O)),2&f){const n=y.value,d=e.MAs(2);e.Q6J("ngIf",null==n?null:n.length)("ngIfElse",d)}}function Ic(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",30,31),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw(2).getDaemons(w)})("updateSelection",function(w){return e.CHM(n),e.oxw(2).updateSelection(w)}),e._UZ(2,"cd-table-actions",32),e.qZA()}if(2&f){const n=e.oxw(2);e.Q6J("data",n.daemons)("columns",n.columns),e.xp6(2),e.Q6J("selection",n.selection)("permission",n.permissions.hosts)("tableActions",n.tableActions)}}function Nf(f,y){if(1&f&&e.YNc(0,Ic,3,5,"cd-table",29),2&f){const n=e.oxw();e.Q6J("ngIf",n.hasOrchestrator)}}function ld(f,y){if(1&f&&e._UZ(0,"cd-usage-bar",33),2&f){const n=y.row,d=e.oxw();e.Q6J("total",d.total)("calculatePerc",!1)("used",n.cpu_percentage)("isBinary",!1)("warningThreshold",d.warningThreshold)("errorThreshold",d.errorThreshold)}}let Jc=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On,fr){this.hostService=n,this.cephServiceService=d,this.orchService=w,this.relativeDatePipe=re,this.dimlessBinary=Ze,this.actionLabels=Lt,this.authStorageService=Gt,this.daemonService=On,this.notificationService=fr,this.hiddenColumns=[],this.total=100,this.warningThreshold=.8,this.errorThreshold=.9,this.icons=eo.P,this.daemons=[],this.services=[],this.columns=[],this.serviceColumns=[],this.selection=new si.r,this.hasOrchestrator=!1,this.showDocPanel=!1}ngOnInit(){this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"update",icon:eo.P.start,click:()=>this.daemonAction("start"),name:this.actionLabels.START,disable:()=>this.actionDisabled("start")},{permission:"update",icon:eo.P.stop,click:()=>this.daemonAction("stop"),name:this.actionLabels.STOP,disable:()=>this.actionDisabled("stop")},{permission:"update",icon:eo.P.restart,click:()=>this.daemonAction("restart"),name:this.actionLabels.RESTART,disable:()=>this.actionDisabled("restart")},{permission:"update",icon:eo.P.deploy,click:()=>this.daemonAction("redeploy"),name:this.actionLabels.REDEPLOY,disable:()=>this.actionDisabled("redeploy")}],this.columns=[{name:"Hostname",prop:"hostname",flexGrow:2,filterable:!0},{name:"Daemon name",prop:"daemon_name",flexGrow:1,filterable:!0},{name:"Version",prop:"version",flexGrow:1,filterable:!0},{name:"Status",prop:"status_desc",flexGrow:1,filterable:!0,cellTemplate:this.statusTpl},{name:"Last Refreshed",prop:"last_refresh",pipe:this.relativeDatePipe,flexGrow:1},{name:"CPU Usage",prop:"cpu_percentage",flexGrow:1,cellTemplate:this.cpuTpl},{name:"Memory Usage",prop:"memory_usage",flexGrow:1,pipe:this.dimlessBinary,cellClass:"text-right"},{name:"Daemon Events",prop:"events",flexGrow:2,cellTemplate:this.listTpl}],this.serviceColumns=[{name:"Service Name",prop:"service_name",flexGrow:2,filterable:!0},{name:"Service Type",prop:"service_type",flexGrow:1,filterable:!0},{name:"Service Events",prop:"events",flexGrow:5,cellTemplate:this.listTpl}],this.orchService.status().subscribe(n=>{this.hasOrchestrator=n.available,this.showDocPanel=!n.available}),this.columns=this.columns.filter(n=>!this.hiddenColumns.includes(n.prop))}ngOnChanges(){gn().isUndefined(this.daemonsTable)||this.daemonsTable.reloadData()}ngAfterViewInit(){this.daemonsTableTplsSub=this.daemonsTableTpls.changes.subscribe(n=>{this.daemonsTable=n.first})}ngOnDestroy(){this.daemonsTableTplsSub&&this.daemonsTableTplsSub.unsubscribe(),this.serviceSub&&this.serviceSub.unsubscribe()}getStatusClass(n){return gn().get({"-1":"badge-danger",0:"badge-warning",1:"badge-success"},n.status,"badge-dark")}getDaemons(n){let d;if(this.hostname)d=this.hostService.getDaemons(this.hostname);else{if(!this.serviceName)return void(this.daemons=[]);d=this.cephServiceService.getDaemons(this.serviceName)}d.subscribe(w=>{this.daemons=w,this.sortDaemonEvents()},()=>{this.daemons=[],n.error()})}sortDaemonEvents(){this.daemons.forEach(n=>{var d;null===(d=n.events)||void 0===d||d.sort((w,re)=>new Date(re.created).getTime()-new Date(w.created).getTime())})}getServices(n){this.serviceSub=this.cephServiceService.list(this.serviceName).subscribe(d=>{this.services=d},()=>{this.services=[],n.error()})}trackByFn(n,d){return d.created}updateSelection(n){this.selection=n}daemonAction(n){var d;this.daemonService.action(null===(d=this.selection.first())||void 0===d?void 0:d.daemon_name,n).pipe((0,_c.q)(1)).subscribe({next:w=>{this.notificationService.show(Ho.k.success,`Daemon ${n} scheduled`,w.body.toString())},error:w=>{this.notificationService.show(Ho.k.error,"Daemon action failed",w.body.toString())}})}actionDisabled(n){var d;if(null===(d=this.selection)||void 0===d?void 0:d.hasSelection){const w=this.selection.selected[0];if("mon"===w.daemon_type||"mgr"===w.daemon_type)return!0;switch(n){case"start":if("running"===w.status_desc)return!0;break;case"stop":if("stopped"===w.status_desc)return!0}return!1}return!0}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Zl),e.Y36(me),e.Y36(el),e.Y36(X.h),e.Y36(Se.$),e.Y36(uo.p4),e.Y36(hi.j),e.Y36($s),e.Y36(Zi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-service-daemon-list"]],viewQuery:function(n,d){if(1&n&&(e.Gf(qt,7),e.Gf(xn,7),e.Gf(Ar,7),e.Gf(xi,5)),2&n){let w;e.iGM(w=e.CRH())&&(d.statusTpl=w.first),e.iGM(w=e.CRH())&&(d.listTpl=w.first),e.iGM(w=e.CRH())&&(d.cpuTpl=w.first),e.iGM(w=e.CRH())&&(d.daemonsTableTpls=w)}},inputs:{serviceName:"serviceName",hostname:"hostname",hiddenColumns:"hiddenColumns",flag:"flag"},features:[e.TTD],decls:12,vars:3,consts:function(){let y,n;return y="Details",n="Service Events",[[4,"ngIf"],[4,"ngIf","ngIfElse"],["serviceDetailsTpl",""],["statusTpl",""],["listTpl",""],["serviceDaemonDetailsTpl",""],["cpuTpl",""],[4,"ngTemplateOutlet"],["ngbNav","","cdStatefulTab","service-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","service_events"],n,[3,"ngbNavOutlet"],["columnMode","flex",3,"data","columns","fetchData",4,"ngIf"],["columnMode","flex",3,"data","columns","fetchData"],["serviceTable",""],[1,"badge",3,"ngClass"],["class","list-group list-group-flush",4,"ngIf","ngIfElse"],["noEventsAvailable",""],[1,"list-group","list-group-flush"],["class","list-group-item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"list-group-item"],[1,"badge","badge-info"],["aria-hidden","true",3,"ngClass"],["class","list-group-item",4,"ngIf"],["selectionType","single","columnMode","flex","identifier","daemon_name",3,"data","columns","fetchData","updateSelection",4,"ngIf"],["selectionType","single","columnMode","flex","identifier","daemon_name",3,"data","columns","fetchData","updateSelection"],["daemonsTable",""],["id","service-daemon-list-actions",1,"table-actions",3,"selection","permission","tableActions"],[3,"total","calculatePerc","used","isBinary","warningThreshold","errorThreshold"]]},template:function(n,d){if(1&n&&(e.YNc(0,fs,1,0,"cd-orchestrator-doc-panel",0),e.YNc(1,za,2,1,"div",1),e.YNc(2,Sd,12,1,"ng-template",null,2,e.W1O),e.YNc(4,rp,3,5,"ng-template",null,3,e.W1O),e.YNc(6,Is,3,2,"ng-template",null,4,e.W1O),e.YNc(8,Nf,1,1,"ng-template",null,5,e.W1O),e.YNc(10,ld,1,6,"ng-template",null,6,e.W1O)),2&n){const w=e.MAs(3);e.Q6J("ngIf",d.showDocPanel),e.xp6(1),e.Q6J("ngIf","hostDetails"===d.flag)("ngIfElse",w)}},directives:[s.O5,xs,s.tP,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,Ui.a,s.mk,s.sg,ha.K,Un.O],pipes:[yt.i,X.h],styles:[".fa-info-circle[_ngcontent-%COMP%]{color:#2b99a8}.fa-exclamation-triangle[_ngcontent-%COMP%]{color:#ef5c55}.list-group-item[_ngcontent-%COMP%]{background-color:transparent;border-width:0}"]}),f})();var Tu=o(8958);const nf=["innerNav"];function Lc(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",5),e.SDv(1,6),e.qZA())}function Pf(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",7),e.SDv(1,8),e.qZA())}function cd(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",10),e.SDv(1,11),e.qZA())}function rf(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"cd-alert-panel",20),e._uU(2),e.qZA(),e.BQk()),2&f){const n=e.oxw(2).$implicit;e.xp6(2),e.Oqu(n.value.userMessage)}}function $d(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",23),e.SDv(1,24),e.qZA())}function Ad(f,y){1&f&&(e.ynx(0),e.TgZ(1,"cd-alert-panel",26),e.SDv(2,27),e.qZA(),e.BQk())}function Fc(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",28),e.SDv(1,29),e.qZA())}function hu(f,y){if(1&f&&(e.YNc(0,Ad,3,0,"ng-container",0),e.YNc(1,Fc,2,0,"ng-template",null,25,e.W1O)),2&f){const n=e.MAs(2),d=e.oxw(3).$implicit;e.Q6J("ngIf",d.value.info.smart_status.passed)("ngIfElse",n)}}function Hd(f,y){if(1&f&&(e.YNc(0,$d,2,0,"cd-alert-panel",21),e.ALo(1,"pipeFunction"),e.YNc(2,hu,3,2,"ng-template",null,22,e.W1O)),2&f){const n=e.MAs(3),d=e.oxw(2).$implicit,w=e.oxw(4);e.Q6J("ngIf",e.xi3(1,2,null==d.value.info?null:d.value.info.smart_status,w.isEmpty))("ngIfElse",n)}}function ud(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",36),2&f){const n=e.oxw(4).$implicit;e.Q6J("renderObjects",!0)("data",n.value.info)}}function wd(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",37),e.SDv(1,38),e.qZA())}function If(f,y){if(1&f&&(e.YNc(0,ud,1,2,"cd-table-key-value",34),e.ALo(1,"pipeFunction"),e.YNc(2,wd,2,0,"cd-alert-panel",35),e.ALo(3,"pipeFunction")),2&f){const n=e.oxw(3).$implicit,d=e.oxw(4);e.Q6J("ngIf",!e.xi3(1,2,n.value.info,d.isEmpty)),e.xp6(2),e.Q6J("ngIf",e.xi3(3,5,n.value.info,d.isEmpty))}}function Cu(f,y){if(1&f&&e._UZ(0,"cd-table",42),2&f){const n=e.oxw(4).$implicit,d=e.oxw(4);e.Q6J("data",n.value.smart.attributes.table)("columns",d.smartDataColumns)}}function dd(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",43),2&f){const n=e.oxw(4).$implicit;e.Q6J("renderObjects",!0)("data",n.value.smart)}}function kc(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",43),2&f){const n=e.oxw(4).$implicit;e.Q6J("renderObjects",!0)("data",n.value.smart.nvmeData)}}function wc(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",44),e.SDv(1,45),e.qZA())}function Yc(f,y){if(1&f&&(e.YNc(0,Cu,1,2,"cd-table",39),e.YNc(1,dd,1,2,"cd-table-key-value",40),e.YNc(2,kc,1,2,"cd-table-key-value",40),e.YNc(3,wc,2,0,"cd-alert-panel",41)),2&f){const n=e.oxw(3).$implicit;e.Q6J("ngIf",null==n.value.smart?null:n.value.smart.attributes),e.xp6(1),e.Q6J("ngIf",null==n.value.smart?null:n.value.smart.scsi_error_counter_log),e.xp6(1),e.Q6J("ngIf",null==n.value.smart?null:n.value.smart.nvmeData),e.xp6(1),e.Q6J("ngIf",!(null!=n.value.smart&&n.value.smart.attributes||null!=n.value.smart&&n.value.smart.nvmeData||null!=n.value.smart&&n.value.smart.scsi_error_counter_log))}}function Lf(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",12,30),e.TgZ(3,"li",31),e.TgZ(4,"a",17),e.SDv(5,32),e.qZA(),e.YNc(6,If,4,8,"ng-template",18),e.qZA(),e.TgZ(7,"li",31),e.TgZ(8,"a",17),e.SDv(9,33),e.qZA(),e.YNc(10,Yc,4,4,"ng-template",18),e.qZA(),e.qZA(),e._UZ(11,"div",15),e.BQk()),2&f){const n=e.MAs(2);e.xp6(3),e.Q6J("ngbNavItem",1),e.xp6(4),e.Q6J("ngbNavItem",2),e.xp6(4),e.Q6J("ngbNavOutlet",n)}}function Su(f,y){if(1&f&&(e.YNc(0,rf,3,1,"ng-container",0),e.YNc(1,Hd,4,5,"ng-template",null,19,e.W1O),e.YNc(3,Lf,12,3,"ng-container",4),e.ALo(4,"pipeFunction"),e.ALo(5,"pipeFunction")),2&f){const n=e.MAs(2),d=e.oxw().$implicit,w=e.oxw(4);e.Q6J("ngIf",d.value.error)("ngIfElse",n),e.xp6(3),e.Q6J("ngIf",!e.xi3(4,3,d.value.info,w.isEmpty)||!e.xi3(5,6,d.value.smart,w.isEmpty))}}function fd(f,y){if(1&f&&(e.TgZ(0,"li",16),e.TgZ(1,"a",17),e._uU(2),e.qZA(),e.YNc(3,Su,6,9,"ng-template",18),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.AsE("",n.value.device," (",n.value.identifier,")")}}function of(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",12,13),e.YNc(3,fd,4,2,"li",14),e.ALo(4,"keyvalue"),e.qZA(),e._UZ(5,"div",15),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw(3);e.xp6(3),e.Q6J("ngForOf",e.lcZ(4,2,d.data)),e.xp6(2),e.Q6J("ngbNavOutlet",n)}}function Ff(f,y){if(1&f&&(e.ynx(0),e.YNc(1,cd,2,0,"cd-alert-panel",9),e.ALo(2,"pipeFunction"),e.YNc(3,of,6,4,"ng-container",4),e.ALo(4,"pipeFunction"),e.BQk()),2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("ngIf",e.xi3(2,2,n.data,n.isEmpty)),e.xp6(2),e.Q6J("ngIf",!e.xi3(4,5,n.data,n.isEmpty))}}function V(f,y){if(1&f&&(e.ynx(0),e.YNc(1,Lc,2,0,"cd-alert-panel",2),e.YNc(2,Pf,2,0,"cd-alert-panel",3),e.YNc(3,Ff,5,8,"ng-container",4),e.BQk()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngIf",n.error),e.xp6(1),e.Q6J("ngIf",n.incompatible),e.xp6(1),e.Q6J("ngIf",!n.error&&!n.incompatible)}}function pe(f,y){1&f&&(e.TgZ(0,"cd-loading-panel"),e.SDv(1,46),e.qZA())}let A=(()=>{class f{constructor(n,d){this.osdService=n,this.hostService=d,this.osdId=null,this.hostname=null,this.loading=!1,this.incompatible=!1,this.error=!1,this.data={},this.isEmpty=gn().isEmpty}isSmartError(n){return void 0!==gn().get(n,"error")}isNvmeSmartData(n){return"nvme"===gn().get(n,"device.protocol","").toLowerCase()}isAtaSmartData(n){return"ata"===gn().get(n,"device.protocol","").toLowerCase()}isIscsiSmartData(n){return"scsi"===gn().get(n,"device.protocol","").toLowerCase()}fetchData(n){const d={};gn().each(n,(w,re)=>{if(this.isSmartError(w)){let Ze="";Ze=-22===w.smartctl_error_code?"Smartctl has received an unknown argument (error code " + w.smartctl_error_code + "). You may be using an incompatible version of smartmontools. Version >= 7.0 of smartmontools is required to successfully retrieve data.":"An error with error code " + w.smartctl_error_code + " occurred.",d[re]={error:w.error,smartctl_error_code:w.smartctl_error_code,smartctl_output:w.smartctl_output,userMessage:Ze,device:w.dev,identifier:w.nvme_vendor}}else 1!==w.json_format_version[0]?this.incompatible=!0:this.isAtaSmartData(w)?d[re]=this.extractAtaData(w):this.isIscsiSmartData(w)?d[re]=this.extractIscsiData(w):this.isNvmeSmartData(w)&&(d[re]=this.extractNvmeData(w))}),this.data=d,this.loading=!1}extractNvmeData(n){return{info:gn().omitBy(n,(w,re)=>["nvme_smart_health_information_log"].includes(re)),smart:{nvmeData:n.nvme_smart_health_information_log},device:n.device.name,identifier:n.serial_number}}extractIscsiData(n){const d=gn().omitBy(n,(w,re)=>["scsi_error_counter_log","scsi_grown_defect_list"].includes(re));return{info:d,smart:{scsi_error_counter_log:n.scsi_error_counter_log,scsi_grown_defect_list:n.scsi_grown_defect_list},device:d.device.name,identifier:d.serial_number}}extractAtaData(n){const d=gn().omitBy(n,(w,re)=>["ata_smart_attributes","ata_smart_selective_self_test_log","ata_smart_data"].includes(re));return{info:d,smart:{attributes:n.ata_smart_attributes,data:n.ata_smart_data},device:d.device.name,identifier:d.serial_number}}updateData(){this.loading=!0,null!==this.osdId?this.osdService.getSmartData(this.osdId).subscribe({next:this.fetchData.bind(this),error:n=>{n.preventDefault(),this.error=n,this.loading=!1}}):null!==this.hostname&&this.hostService.getSmartData(this.hostname).subscribe({next:this.fetchData.bind(this),error:n=>{n.preventDefault(),this.error=n,this.loading=!1}})}ngOnInit(){this.smartDataColumns=[{prop:"id",name:"ID"},{prop:"name",name:"Name"},{prop:"raw.value",name:"Raw"},{prop:"thresh",name:"Threshold"},{prop:"value",name:"Value"},{prop:"when_failed",name:"When Failed"},{prop:"worst",name:"Worst"}],this.scsiSmartDataColumns=[{prop:"correction_algorithm_invocations",name:"Correction Algorithm Invocations"},{prop:"errors_corrected_by_eccdelayed",name:"Errors Corrected by ECC (Delayed)"},{prop:"errors_corrected_by_eccfast",name:"Errors Corrected by ECC (Fast)"},{prop:"errors_corrected_by_rereads_rewrites",name:"Errors Corrected by Rereads/Rewrites"},{prop:"gigabytes_processed",name:"Gigabyes Processed"},{prop:"total_errors_corrected",name:"Total Errors Corrected"},{prop:"total_uncorrected_errors",name:"Total Errors Uncorrected"}]}ngOnChanges(n){this.data={},n.osdId?this.osdId=n.osdId.currentValue:n.hostname&&(this.hostname=n.hostname.currentValue),this.updateData()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(lc),e.Y36(Zl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-smart-list"]],viewQuery:function(n,d){if(1&n&&e.Gf(nf,5),2&n){let w;e.iGM(w=e.CRH())&&(d.nav=w.first)}},inputs:{osdId:"osdId",hostname:"hostname"},features:[e.TTD],decls:3,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo;return y="Failed to retrieve SMART data.",n="The data received has the JSON format version 2.x and is currently incompatible with the dashboard.",d="No SMART data available.",w="SMART overall-health self-assessment test result",re="unknown",Ze="SMART overall-health self-assessment test result",Lt="passed",Gt="SMART overall-health self-assessment test result",On="failed",fr="Device Information",hr="SMART",Jr="No device information available for this device.",$i="No SMART data available for this device.",bo="SMART data is loading.",[[4,"ngIf","ngIfElse"],["isLoading",""],["type","error",4,"ngIf"],["type","warning",4,"ngIf"],[4,"ngIf"],["type","error"],y,["type","warning"],n,["type","info",4,"ngIf"],["type","info"],d,["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","",4,"ngFor","ngForOf"],[3,"ngbNavOutlet"],["ngbNavItem",""],["ngbNavLink",""],["ngbNavContent",""],["noError",""],["id","alert-error","type","warning"],["id","alert-self-test-unknown","size","slim","type","warning","title",w,4,"ngIf","ngIfElse"],["hasSmartStatus",""],["id","alert-self-test-unknown","size","slim","type","warning","title",w],re,["selfTestFailed",""],["id","alert-self-test-passed","size","slim","type","info","title",Ze],Lt,["id","alert-self-test-failed","size","slim","type","warning","title",Gt],On,["innerNav","ngbNav"],[3,"ngbNavItem"],fr,hr,[3,"renderObjects","data",4,"ngIf"],["id","alert-device-info-unavailable","type","info",4,"ngIf"],[3,"renderObjects","data"],["id","alert-device-info-unavailable","type","info"],Jr,["updateSelectionOnRefresh","never",3,"data","columns",4,"ngIf"],["updateSelectionOnRefresh","never",3,"renderObjects","data",4,"ngIf"],["id","alert-device-smart-data-unavailable","type","info",4,"ngIf"],["updateSelectionOnRefresh","never",3,"data","columns"],["updateSelectionOnRefresh","never",3,"renderObjects","data"],["id","alert-device-smart-data-unavailable","type","info"],$i,bo]},template:function(n,d){if(1&n&&(e.YNc(0,V,4,3,"ng-container",0),e.YNc(1,pe,2,0,"ng-template",null,1,e.W1O)),2&n){const w=e.MAs(2);e.Q6J("ngIf",!d.loading)("ngIfElse",w)}},directives:[s.O5,De.G,Br.Pz,s.sg,Br.tO,Br.nv,Br.Vx,Br.uN,Ft.b,Ui.a,Tu.b],pipes:[yt.i,s.Nd],styles:[""]}),f})();function K(f,y){if(1&f&&e._UZ(0,"cd-device-list",14),2&f){const n=e.oxw(2);e.Q6J("hostname",n.selection.hostname)}}function Ye(f,y){if(1&f&&e._UZ(0,"cd-inventory",14),2&f){const n=e.oxw(3);e.Q6J("hostname",n.selectedHostname)}}function Rt(f,y){1&f&&(e.TgZ(0,"li",15),e.TgZ(1,"a",5),e.SDv(2,16),e.qZA(),e.YNc(3,Ye,1,1,"ng-template",7),e.qZA())}const vr=function(){return["hostname"]};function Hr(f,y){if(1&f&&e._UZ(0,"cd-service-daemon-list",19),2&f){const n=e.oxw(3);e.Q6J("hostname",n.selectedHostname)("hiddenColumns",e.DdM(2,vr))}}function _i(f,y){1&f&&(e.TgZ(0,"li",17),e.TgZ(1,"a",5),e.SDv(2,18),e.qZA(),e.YNc(3,Hr,1,3,"ng-template",7),e.qZA())}function ji(f,y){if(1&f&&e._UZ(0,"cd-grafana",22),2&f){const n=e.oxw(3);e.Q6J("grafanaPath","host-details?var-ceph_hosts="+n.selectedHostname)}}function Eo(f,y){1&f&&(e.TgZ(0,"li",20),e.TgZ(1,"a",5),e.SDv(2,21),e.qZA(),e.YNc(3,ji,1,1,"ng-template",7),e.qZA())}function rs(f,y){if(1&f&&e._UZ(0,"cd-smart-list",14),2&f){const n=e.oxw(3);e.Q6J("hostname",n.selectedHostname)}}function Uo(f,y){if(1&f&&e.YNc(0,rs,1,1,"cd-smart-list",23),2&f){const n=e.oxw(2),d=e.MAs(2);e.Q6J("ngIf",n.selectedHostname)("ngIfElse",d)}}function us(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",2,3),e.TgZ(3,"li",4),e.TgZ(4,"a",5),e.SDv(5,6),e.qZA(),e.YNc(6,K,1,1,"ng-template",7),e.qZA(),e.YNc(7,Rt,4,0,"li",8),e.YNc(8,_i,4,0,"li",9),e.YNc(9,Eo,4,0,"li",10),e.TgZ(10,"li",11),e.TgZ(11,"a",5),e.SDv(12,12),e.qZA(),e.YNc(13,Uo,1,2,"ng-template",7),e.qZA(),e.qZA(),e._UZ(14,"div",13),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw();e.xp6(7),e.Q6J("ngIf",d.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",d.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",d.permissions.grafana.read),e.xp6(5),e.Q6J("ngbNavOutlet",n)}}function Ks(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",24),e.SDv(1,25),e.qZA())}let ys=(()=>{class f{get selectedHostname(){return void 0!==this.selection?this.selection.hostname:null}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-host-details"]],inputs:{permissions:"permissions",selection:"selection"},decls:3,vars:1,consts:function(){let y,n,d,w,re,Ze;return y="Devices",n="Device health",d="Physical Disks",w="Daemons",re="Performance Details",Ze="No hostname found.",[[4,"ngIf"],["noHostname",""],["ngbNav","","cdStatefulTab","host-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","devices"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","inventory",4,"ngIf"],["ngbNavItem","daemons",4,"ngIf"],["ngbNavItem","performance-details",4,"ngIf"],["ngbNavItem","device-health"],n,[3,"ngbNavOutlet"],[3,"hostname"],["ngbNavItem","inventory"],d,["ngbNavItem","daemons"],w,["flag","hostDetails",3,"hostname","hiddenColumns"],["ngbNavItem","performance-details"],re,["uid","rtOg0AiWz","grafanaStyle","four",3,"grafanaPath"],[3,"hostname",4,"ngIf","ngIfElse"],["type","error"],Ze]},template:function(n,d){1&n&&(e.YNc(0,us,15,4,"ng-container",0),e.YNc(1,Ks,2,0,"ng-template",null,1,e.W1O)),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,ts,Gl,Jc,Je.F,A,De.G],styles:[""]}),f})();const Xl=["servicesTpl"],Dc=["maintenanceConfirmTpl"],al=["orchTmpl"],su=["flashTmpl"];function ea(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",13,14),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw().getHosts(w)})("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e.TgZ(2,"div",15),e._UZ(3,"cd-table-actions",16),e.qZA(),e._UZ(4,"cd-host-details",17),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.hosts)("columns",n.columns)("hasDetails",n.hasTableDetails)("toolHeader",!n.hideToolHeader),e.xp6(3),e.Q6J("permission",n.permissions.hosts)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("permissions",n.permissions)("selection",n.expandedRow)}}function Kl(f,y){1&f&&e._UZ(0,"cd-grafana",19),2&f&&e.Q6J("grafanaPath","host-overview?")}function Ul(f,y){1&f&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,18),e.qZA(),e.YNc(3,Kl,1,1,"ng-template",5),e.qZA())}function zl(f,y){1&f&&(e.ynx(0),e._uU(1,"\xa0"),e.BQk())}function xc(f,y){if(1&f&&(e.TgZ(0,"span"),e.TgZ(1,"span",21),e._uU(2),e.qZA(),e.YNc(3,zl,2,0,"ng-container",22),e.qZA()),2&f){const n=y.$implicit,d=y.last;e.xp6(2),e.Oqu(n),e.xp6(1),e.Q6J("ngIf",!d)}}function sf(f,y){1&f&&e.YNc(0,xc,4,2,"span",20),2&f&&e.Q6J("ngForOf",y.value)}function Tc(f,y){if(1&f&&(e.TgZ(0,"ul"),e.TgZ(1,"li"),e.SDv(2,23),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(2),e.pQV(n),e.QtT(2)}}function _u(f,y){if(1&f&&(e.TgZ(0,"div"),e.YNc(1,Tc,3,1,"ul",22),e.qZA()),2&f){const n=y.last,d=e.oxw(2);e.xp6(1),e.Q6J("ngIf",!n||"1"==d.errorMessage.length)}}function uc(f,y){1&f&&(e.ynx(0),e.SDv(1,24),e.BQk())}function pd(f,y){if(1&f&&(e.YNc(0,_u,2,1,"div",20),e.YNc(1,uc,2,0,"ng-container",22)),2&f){const n=e.oxw();e.Q6J("ngForOf",n.errorMessage),e.xp6(1),e.Q6J("ngIf",n.showSubmit)}}function Ru(f,y){1&f&&(e.TgZ(0,"span",25),e.SDv(1,26),e.qZA())}function af(f,y){1&f&&(e.TgZ(0,"span",27),e.SDv(1,28),e.qZA())}let zu=(()=>{class f extends mi.o{constructor(n,d,w,re,Ze,Lt,Gt,On,fr,hr){super(),this.authStorageService=n,this.dimlessBinary=d,this.emptyPipe=w,this.hostService=re,this.actionLabels=Ze,this.modalService=Lt,this.taskWrapper=Gt,this.router=On,this.notificationService=fr,this.orchService=hr,this.sub=new Vl.w,this.hiddenColumns=[],this.hideTitle=!1,this.hideSubmitBtn=!1,this.hasTableDetails=!0,this.hideToolHeader=!1,this.showGeneralActionsOnly=!1,this.columns=[],this.hosts=[],this.isLoadingHosts=!1,this.cdParams={fromLink:"/hosts"},this.selection=new si.r,this.isExecuting=!1,this.icons=eo.P,this.messages={nonOrchHost:"The feature is disabled because the selected host is not managed by Orchestrator."},this.actionOrchFeatures={add:[ml.HOST_ADD],edit:[ml.HOST_LABEL_ADD,ml.HOST_LABEL_REMOVE],remove:[ml.HOST_REMOVE],maintenance:[ml.HOST_MAINTENANCE_ENTER,ml.HOST_MAINTENANCE_EXIT],drain:[ml.HOST_DRAIN]},this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{name:this.actionLabels.ADD,permission:"create",icon:eo.P.add,click:()=>this.router.url.includes("/hosts")?this.router.navigate(["hosts",{outlets:{modal:[uo.MQ.ADD]}}]):this.bsModalRef=this.modalService.show(qe),disable:Jr=>this.getDisable("add",Jr)},{name:this.actionLabels.EDIT,permission:"update",icon:eo.P.edit,click:()=>this.editAction(),disable:Jr=>this.getDisable("edit",Jr)},{name:this.actionLabels.START_DRAIN,permission:"update",icon:eo.P.exit,click:()=>this.hostDrain(),disable:Jr=>this.getDisable("drain",Jr)||!this.enableDrainBtn,visible:()=>!this.showGeneralActionsOnly&&this.enableDrainBtn},{name:this.actionLabels.STOP_DRAIN,permission:"update",icon:eo.P.exit,click:()=>this.hostDrain(!0),disable:Jr=>this.getDisable("drain",Jr)||this.enableDrainBtn,visible:()=>!this.showGeneralActionsOnly&&!this.enableDrainBtn},{name:this.actionLabels.REMOVE,permission:"delete",icon:eo.P.destroy,click:()=>this.deleteAction(),disable:Jr=>this.getDisable("remove",Jr)},{name:this.actionLabels.ENTER_MAINTENANCE,permission:"update",icon:eo.P.enter,click:()=>this.hostMaintenance(),disable:Jr=>this.getDisable("maintenance",Jr)||this.isExecuting||this.enableMaintenanceBtn,visible:()=>!this.showGeneralActionsOnly&&!this.enableMaintenanceBtn},{name:this.actionLabels.EXIT_MAINTENANCE,permission:"update",icon:eo.P.exit,click:()=>this.hostMaintenance(),disable:Jr=>this.getDisable("maintenance",Jr)||this.isExecuting||!this.enableMaintenanceBtn,visible:()=>!this.showGeneralActionsOnly&&this.enableMaintenanceBtn}]}ngOnInit(){this.columns=[{name:"Hostname",prop:"hostname",flexGrow:1},{name:"Service Instances",prop:"service_instances",flexGrow:1,cellTemplate:this.servicesTpl},{name:"Labels",prop:"labels",flexGrow:1,cellTransformation:ii.e.badge,customTemplateConfig:{class:"badge-dark"}},{name:"Status",prop:"status",flexGrow:1,cellTransformation:ii.e.badge,customTemplateConfig:{map:{maintenance:{class:"badge-warning"}}}},{name:"Model",prop:"model",flexGrow:1},{name:"CPUs",prop:"cpu_count",flexGrow:.3},{name:"Cores",prop:"cpu_cores",flexGrow:.3},{name:"Total Memory",prop:"memory_total_bytes",pipe:this.dimlessBinary,flexGrow:.4},{name:"Raw Capacity",prop:"raw_capacity",pipe:this.dimlessBinary,flexGrow:.5},{name:"HDDs",prop:"hdd_count",flexGrow:.3},{name:"Flash",prop:"flash_count",headerTemplate:this.flashTmpl,flexGrow:.3},{name:"NICs",prop:"nic_count",flexGrow:.3}],this.columns=this.columns.filter(n=>!this.hiddenColumns.includes(n.prop))}ngOnDestroy(){this.sub.unsubscribe()}updateSelection(n){this.selection=n,this.enableMaintenanceBtn=!1,this.enableDrainBtn=!1,this.selection.hasSelection&&("maintenance"===this.selection.first().status&&(this.enableMaintenanceBtn=!0),this.selection.first().labels.includes("_no_schedule")||(this.enableDrainBtn=!0))}editAction(){this.hostService.getLabels().subscribe(n=>{const d=this.selection.first(),w=new Set(n.concat(this.hostService.predefinedLabels)),re=Array.from(w).map(Ze=>({enabled:!0,name:Ze}));this.modalService.show(Hl.X,{titleText:"Edit Host: " + d.hostname + "",fields:[{type:"select-badges",name:"labels",value:d.labels,label:"Labels",typeConfig:{customBadges:!0,options:re,messages:new tl.a({empty:"There are no labels.",filter:"Filter or add labels",add:"Add label"})}}],submitButtonText:"Edit Host",onSubmit:Ze=>{this.hostService.update(d.hostname,!0,Ze.labels).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated Host \"" + d.hostname + "\""),this.table.refreshBtn()})}})})}hostMaintenance(){this.isExecuting=!0;const n=this.selection.first();"maintenance"!==n.status?this.hostService.update(n.hostname,!1,[],!0).subscribe(()=>{this.isExecuting=!1,this.notificationService.show(Ho.k.success,"\"" + n.hostname + "\" moved to maintenance"),this.table.refreshBtn()},d=>{if(this.isExecuting=!1,this.errorMessage=d.error.detail.split(/\n/),d.preventDefault(),!d.error.detail.includes("WARNING")||d.error.detail.includes("It is NOT safe to stop")||d.error.detail.includes("ALERT")||d.error.detail.includes("unsafe to stop"))this.notificationService.show(Ho.k.error,"\"" + n.hostname + "\" cannot be put into maintenance","" + d.error.detail + "");else{const w={titleText:"Warning",buttonText:"Continue",warning:!0,bodyTpl:this.maintenanceConfirmTpl,showSubmit:!0,onSubmit:()=>{this.hostService.update(n.hostname,!1,[],!0,!0).subscribe(()=>{this.modalRef.close()},()=>this.modalRef.close())}};this.modalRef=this.modalService.show(Ll.Y,w)}}):this.hostService.update(n.hostname,!1,[],!0).subscribe(()=>{this.isExecuting=!1,this.notificationService.show(Ho.k.success,"\"" + n.hostname + "\" has exited maintenance"),this.table.refreshBtn()})}hostDrain(n=!1){const d=this.selection.first();if(n){const w=d.labels.indexOf("_no_schedule",0);d.labels.splice(w,1),this.hostService.update(d.hostname,!0,d.labels).subscribe(()=>{this.notificationService.show(Ho.k.info,"\"" + d.hostname + "\" stopped draining"),this.table.refreshBtn()})}else this.hostService.update(d.hostname,!1,[],!1,!1,!0).subscribe(()=>{this.notificationService.show(Ho.k.info,"\"" + d.hostname + "\" started draining"),this.table.refreshBtn()})}getDisable(n,d){if("remove"===n||"edit"===n||"maintenance"===n||"drain"===n){if(!(null==d?void 0:d.hasSingleSelection))return!0;if(!gn().every(d.selected,"sources.orchestrator"))return this.messages.nonOrchHost}return this.orchService.getTableActionDisableDesc(this.orchStatus,this.actionOrchFeatures[n])}deleteAction(){const n=this.selection.first().hostname;this.modalRef=this.modalService.show(jo.M,{itemDescription:"Host",itemNames:[n],actionDescription:"remove",submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new Va.R("host/remove",{hostname:n}),call:this.hostService.delete(n)})})}checkHostsFactsAvailable(){const n=this.orchStatus.features;return!gn().isEmpty(n)&&!!n.get_facts.available}transformHostsData(){if(this.checkHostsFactsAvailable())gn().forEach(this.hosts,n=>{n.memory_total_bytes=this.emptyPipe.transform(1024*n.memory_total_kb),n.raw_capacity=this.emptyPipe.transform(n.hdd_capacity_bytes+n.flash_capacity_bytes)});else for(let n=4;n<this.columns.length;n++)this.columns[n].cellTemplate=this.orchTmpl}getHosts(n){this.isLoadingHosts||(this.isLoadingHosts=!0,this.sub=this.orchService.status().pipe((0,ol.zg)(d=>{this.orchStatus=d;const w=this.checkHostsFactsAvailable();return this.hostService.list(`${w}`)}),(0,Ds.U)(d=>d.map(w=>{const re={};return w.service_instances=new Set,w.services.forEach(Ze=>{re[Ze.type]=(re[Ze.type]||0)+1}),w.services.map(Ze=>{w.service_instances.add(`${Ze.type}: ${re[Ze.type]}`)}),w}))).subscribe(d=>{this.hosts=d,this.transformHostsData(),this.isLoadingHosts=!1},()=>{this.isLoadingHosts=!1,n.error()}))}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(Se.$),e.Y36(bc.W),e.Y36(Zl),e.Y36(uo.p4),e.Y36(na.Z),e.Y36(ki.P),e.Y36(tn.F0),e.Y36(Zi.g),e.Y36(el))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-hosts"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Ui.a,5),e.Gf(Xl,7),e.Gf(Dc,7),e.Gf(al,7),e.Gf(su,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.table=w.first),e.iGM(w=e.CRH())&&(d.servicesTpl=w.first),e.iGM(w=e.CRH())&&(d.maintenanceConfirmTpl=w.first),e.iGM(w=e.CRH())&&(d.orchTmpl=w.first),e.iGM(w=e.CRH())&&(d.flashTmpl=w.first)}},inputs:{hiddenColumns:"hiddenColumns",hideTitle:"hideTitle",hideSubmitBtn:"hideSubmitBtn",hasTableDetails:"hasTableDetails",hideToolHeader:"hideToolHeader",showGeneralActionsOnly:"showGeneralActionsOnly"},features:[e._Bn([{provide:vl.F,useValue:new vl.F("hosts")}]),e.qOj],decls:17,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="Hosts List",n="Overall Performance",d="" + "\ufffd0\ufffd" + "",w="Are you sure you want to continue?",re="Data will be available only if Orchestrator is available.",Ze="N/A",Lt="SSD, NVMEs",Gt="Flash",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","",4,"ngIf"],[3,"ngbNavOutlet"],["servicesTpl",""],["maintenanceConfirmTpl",""],["orchTmpl",""],["flashTmpl",""],["name","modal"],["columnMode","flex","selectionType","single",3,"data","columns","hasDetails","toolHeader","fetchData","setExpandedRow","updateSelection"],["table",""],[1,"table-actions","btn-toolbar"],["id","host-actions",1,"btn-group",3,"permission","selection","tableActions"],["cdTableDetail","",3,"permissions","selection"],n,["uid","y0KGL0iZz","grafanaStyle","two",3,"grafanaPath"],[4,"ngFor","ngForOf"],[1,"badge","badge-background-primary"],[4,"ngIf"],d,w,["ngbTooltip",re],Ze,["ngbTooltip",Lt],Gt]},template:function(n,d){if(1&n&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,ea,5,9,"ng-template",5),e.qZA(),e.YNc(6,Ul,4,0,"li",6),e.qZA(),e._UZ(7,"div",7),e.YNc(8,sf,1,1,"ng-template",null,8,e.W1O),e.YNc(10,pd,2,2,"ng-template",null,9,e.W1O),e.YNc(12,Ru,2,0,"ng-template",null,10,e.W1O),e.YNc(14,af,2,0,"ng-template",null,11,e.W1O),e._UZ(16,"router-outlet",12)),2&n){const w=e.MAs(1);e.xp6(6),e.Q6J("ngIf",d.permissions.grafana.read),e.xp6(1),e.Q6J("ngbNavOutlet",w)}},directives:[Br.Pz,Br.nv,Br.Vx,Br.uN,s.O5,Br.tO,tn.lC,Ui.a,ha.K,ys,Je.F,s.sg,Br._L],styles:[""]}),f})();var $c=o(62862);let Qc=(()=>{class f{constructor(n,d,w,re,Ze){this.activeModal=n,this.actionLabels=d,this.formBuilder=w,this.osdService=re,this.taskWrapper=Ze,this.driveGroups=[],this.submitAction=new e.vpe,this.action=d.CREATE,this.createForm()}createForm(){this.formGroup=this.formBuilder.group({})}onSubmit(){this.taskWrapper.wrapTaskAroundCall({task:new Va.R("osd/"+uo.MQ.CREATE,{tracking_id:gn().join(gn().map(this.driveGroups,"service_id"),", ")}),call:this.osdService.create(this.driveGroups)}).subscribe({error:()=>{this.formGroup.setErrors({cdSubmitButton:!0})},complete:()=>{this.submitAction.emit(),this.activeModal.close()}})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36($c.O),e.Y36(lc),e.Y36(ki.P))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-creation-preview-modal"]],inputs:{driveGroups:"driveGroups"},outputs:{submitAction:"submitAction"},decls:15,vars:9,consts:function(){let y,n;return y="OSD creation preview",n="DriveGroups",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],n,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"]]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"h4"),e.SDv(8,7),e.qZA(),e.TgZ(9,"pre"),e._uU(10),e.ALo(11,"json"),e.qZA(),e.qZA(),e.TgZ(12,"div",8),e.TgZ(13,"cd-form-button-panel",9),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.ALo(14,"titlecase"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.formGroup),e.xp6(6),e.Oqu(e.lcZ(11,5,d.driveGroups)),e.xp6(3),e.Q6J("form",d.formGroup)("submitText",e.lcZ(14,7,d.action)))},directives:[nl.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,jr.p],pipes:[s.Ts,s.rS],styles:[""]}),f})();const ip=["inventoryDevices"];function is(f,y){if(1&f&&(e.TgZ(0,"span",16),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.hij(" ",n," ")}}function kf(f,y){if(1&f&&(e.TgZ(0,"cd-alert-panel",13),e.ynx(1),e.SDv(2,14),e.BQk(),e.YNc(3,is,2,1,"span",15),e.qZA()),2&f){const n=e.oxw();e.Q6J("showTitle",!1),e.xp6(3),e.Q6J("ngForOf",n.requiredFilters)}}function hd(f,y){if(1&f&&(e.TgZ(0,"div"),e.TgZ(1,"p",17),e.TgZ(2,"span"),e.SDv(3,18),e.ALo(4,"dimlessBinary"),e.qZA(),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(4),e.pQV(n.filteredDevices.length)(e.lcZ(4,2,n.capacity)),e.QtT(3)}}const Nu=function(){return["available","osd_ids"]};let Wu=(()=>{class f{constructor(n,d,w,re){this.formBuilder=n,this.activeModal=d,this.actionLabels=w,this.wizardStepService=re,this.submitAction=new e.vpe,this.icons=eo.P,this.filterColumns=[],this.devices=[],this.filteredDevices=[],this.capacity=0,this.canSubmit=!1,this.requiredFilters=[],this.action=w.ADD,this.createForm()}ngAfterViewInit(){const n=gn().filter(this.inventoryDevices.columns,d=>this.filterColumns.includes(d.prop)&&"hostname"!==d.prop);setTimeout(()=>{this.requiredFilters=gn().map(n,"name")},0)}createForm(){this.formGroup=this.formBuilder.group({})}onFilterChange(n){if(this.capacity=0,this.canSubmit=!1,gn().isEmpty(n.filters))this.filteredDevices=[],this.event=void 0;else{const d=n.filters.filter(w=>"hostname"!==w.prop);this.canSubmit=!gn().isEmpty(d),this.filteredDevices=n.data,this.capacity=gn().sumBy(this.filteredDevices,"sys_api.size"),this.event=n}}onSubmit(){this.submitAction.emit(this.event),this.activeModal.close()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36($c.O),e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(pl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-devices-selection-modal"]],viewQuery:function(n,d){if(1&n&&e.Gf(ip,5),2&n){let w;e.iGM(w=e.CRH())&&(d.inventoryDevices=w.first)}},outputs:{submitAction:"submitAction"},decls:14,vars:15,consts:function(){let y,n,d;return y="" + "\ufffd0\ufffd" + " devices",n="At least one of these filters must be applied in order to proceed:",d="Number of devices: " + "\ufffd0\ufffd" + ". Raw capacity: " + "\ufffd1\ufffd" + ".",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],["type","warning","size","slim",3,"showTitle",4,"ngIf"],[3,"devices","filterColumns","showAvailDeviceOnly","hiddenColumns","filterChange"],["inventoryDevices",""],[4,"ngIf"],[1,"modal-footer"],[3,"form","disabled","submitText","submitActionEvent"],["type","warning","size","slim",3,"showTitle"],n,["class","badge badge-dark ml-2",4,"ngFor","ngForOf"],[1,"badge","badge-dark","ml-2"],[1,"text-center"],d]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,kf,4,2,"cd-alert-panel",7),e.TgZ(8,"cd-inventory-devices",8,9),e.NdJ("filterChange",function(re){return d.onFilterChange(re)}),e.qZA(),e.YNc(10,hd,5,4,"div",10),e.qZA(),e.TgZ(11,"div",11),e.TgZ(12,"cd-form-button-panel",12),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.ALo(13,"titlecase"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(2),e.pQV(d.deviceType),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.formGroup),e.xp6(3),e.Q6J("ngIf",!d.canSubmit),e.xp6(1),e.Q6J("devices",d.devices)("filterColumns",d.filterColumns)("showAvailDeviceOnly",!0)("hiddenColumns",e.DdM(14,Nu)),e.xp6(2),e.Q6J("ngIf",d.canSubmit),e.xp6(2),e.Q6J("form",d.formGroup)("disabled",!d.canSubmit||0===d.filteredDevices.length)("submitText",e.lcZ(13,12,d.action)))},directives:[nl.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,s.O5,ya,jr.p,De.G,s.sg],pipes:[s.rS,Se.$],styles:[""]}),f})();function au(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,7),e.qZA())}function Ud(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,8),e.qZA())}function lf(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,9),e.qZA())}const _d=function(f){return[f]};function Xc(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"button",10),e.NdJ("click",function(){return e.CHM(n),e.oxw().showSelectionModal()}),e._UZ(2,"i",11),e.ynx(3),e.SDv(4,12),e.BQk(),e.qZA(),e.BQk()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("title",n.addButtonTooltip)("disabled",0===n.availDevices.length||!n.canSelect||n.expansionCanSelect),e.xp6(1),e.Q6J("ngClass",e.VKq(3,_d,n.icons.add))}}function Mu(f,y){if(1&f&&(e.TgZ(0,"span"),e.TgZ(1,"span",19),e._uU(2),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(2),e.AsE("",n.name,": ",n.value.formatted,"")}}function Rs(f,y){if(1&f&&(e.TgZ(0,"div",20),e.TgZ(1,"span"),e.SDv(2,21),e.ALo(3,"dimlessBinary"),e.qZA(),e.qZA()),2&f){const n=e.oxw(2);e.xp6(3),e.pQV(e.lcZ(3,1,n.capacity)),e.QtT(2)}}const jd=function(){return["available","osd_ids"]},gu=function(){return[]};function lu(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",13),e.YNc(1,Mu,3,2,"span",14),e.TgZ(2,"a",15),e.NdJ("click",function(){return e.CHM(n),e.oxw().clearDevices(),!1}),e._UZ(3,"i",11),e.ynx(4),e.SDv(5,16),e.BQk(),e.qZA(),e.qZA(),e.TgZ(6,"div"),e._UZ(7,"cd-inventory-devices",17),e.qZA(),e.YNc(8,Rs,4,3,"div",18)}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngForOf",n.appliedFilters),e.xp6(2),e.Q6J("ngClass",e.VKq(6,_d,n.icons.clearFilters)),e.xp6(4),e.Q6J("devices",n.devices)("hiddenColumns",e.DdM(8,jd))("filterColumns",e.DdM(9,gu)),e.xp6(1),e.Q6J("ngIf","data"===n.type)}}let cf=(()=>{class f{constructor(n,d,w){this.modalService=n,this.osdService=d,this.router=w,this.selected=new e.vpe,this.cleared=new e.vpe,this.icons=eo.P,this.devices=[],this.capacity=0,this.appliedFilters=new Array,this.expansionCanSelect=!1,this.tooltips={noAvailDevices:"No available devices",addPrimaryFirst:"Please add primary devices first",addByFilters:"Add devices by using filters"},this.isOsdPage=this.router.url.includes("/osd")}ngOnInit(){var n,d,w;this.isOsdPage||(this.devices=(null===(n=this.osdService)||void 0===n?void 0:n.osdDevices[this.type])?this.osdService.osdDevices[this.type]:[],this.capacity=gn().sumBy(this.devices,"sys_api.size"),this.expansionCanSelect=!!(null===(d=this.osdService)||void 0===d?void 0:d.osdDevices)&&(null===(w=this.osdService)||void 0===w?void 0:w.osdDevices.disableSelect)),this.updateAddButtonTooltip()}ngOnChanges(){this.updateAddButtonTooltip()}showSelectionModal(){let n=["human_readable_type","sys_api.vendor","sys_api.model","sys_api.size"];"data"===this.type&&(n=["hostname",...n]),this.modalService.show(Wu,{hostname:this.hostname,deviceType:this.name,devices:this.availDevices,filterColumns:n},{size:"xl"}).componentInstance.submitAction.subscribe(re=>{this.devices=re.data,this.capacity=gn().sumBy(this.devices,"sys_api.size"),this.appliedFilters=re.filters;const Ze=gn().assign({type:this.type},re);this.isOsdPage||(this.osdService.osdDevices[this.type]=this.devices,this.osdService.osdDevices.disableSelect=this.canSelect||this.devices.length===this.availDevices.length,this.osdService.osdDevices[this.type].capacity=this.capacity),this.selected.emit(Ze)})}updateAddButtonTooltip(){this.addButtonTooltip="data"===this.type&&0===this.availDevices.length?this.tooltips.noAvailDevices:this.canSelect?0===this.availDevices.length?this.tooltips.noAvailDevices:this.tooltips.addByFilters:this.tooltips.addPrimaryFirst}clearDevices(){this.isOsdPage||(this.expansionCanSelect=!1,this.osdService.osdDevices.disableSelect=!1,this.osdService.osdDevices=[]);const n={type:this.type,clearedDevices:[...this.devices]};this.devices=[],this.cleared.emit(n)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(na.Z),e.Y36(lc),e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-devices-selection-groups"]],inputs:{type:"type",name:"name",hostname:"hostname",availDevices:"availDevices",canSelect:"canSelect"},outputs:{selected:"selected",cleared:"cleared"},features:[e.TTD],decls:12,vars:6,consts:function(){let y,n,d,w,re,Ze,Lt;return y="" + "\ufffd0\ufffd" + " devices",n="The primary storage devices. These devices contain all OSD data.",d="Write-Ahead-Log devices. These devices are used for BlueStore\u2019s internal journal. It is only useful to use a WAL device if the device is faster than the primary device (e.g. NVME devices or SSDs). If there is only a small amount of fast storage available (e.g., less than a gigabyte), we recommend using it as a WAL device.",w="DB devices can be used for storing BlueStore\u2019s internal metadata. It is only helpful to provision a DB device if it is faster than the primary device (e.g. NVME devices or SSD).",re="Add",Ze="Clear",Lt="Raw capacity: " + "\ufffd0\ufffd" + "",[[1,"form-group","row"],["for","createDeleteButton",1,"cd-col-form-label"],y,[4,"ngIf"],[1,"cd-col-form-input"],[4,"ngIf","ngIfElse"],["blockClearDevices",""],n,d,w,["type","button","data-toggle","tooltip",1,"btn","btn-light",3,"title","disabled","click"],[3,"ngClass"],re,[1,"pb-2","my-2","border-bottom"],[4,"ngFor","ngForOf"],["href","",1,"tc_clearSelections",3,"click"],Ze,[3,"devices","hiddenColumns","filterColumns"],["class","float-right",4,"ngIf"],[1,"badge","badge-dark","mr-2"],[1,"float-right"],Lt]},template:function(n,d){if(1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"label",1),e.ynx(2),e.SDv(3,2),e.BQk(),e.TgZ(4,"cd-helper"),e.YNc(5,au,2,0,"span",3),e.YNc(6,Ud,2,0,"span",3),e.YNc(7,lf,2,0,"span",3),e.qZA(),e.qZA(),e.TgZ(8,"div",4),e.YNc(9,Xc,5,5,"ng-container",5),e.YNc(10,lu,9,10,"ng-template",null,6,e.W1O),e.qZA(),e.qZA()),2&n){const w=e.MAs(11);e.xp6(3),e.pQV(d.name),e.QtT(3),e.xp6(2),e.Q6J("ngIf","data"===d.type),e.xp6(1),e.Q6J("ngIf","wal"===d.type),e.xp6(1),e.Q6J("ngIf","db"===d.type),e.xp6(2),e.Q6J("ngIf",0===d.devices.length)("ngIfElse",w)}},directives:[kn.P,yl.S,s.O5,As.o,s.mk,s.sg,ya],pipes:[Se.$],styles:[".tc_clearSelections[_ngcontent-%COMP%]{text-decoration:none}"]}),f})();const Bd=["dataDeviceSelectionGroups"],mc=["walDeviceSelectionGroups"],jl=["dbDeviceSelectionGroups"],gd=["previewButtonPanel"];function uf(f,y){1&f&&e._UZ(0,"cd-orchestrator-doc-panel")}function cu(f,y){if(1&f&&(e.TgZ(0,"div",23),e.SDv(1,24),e.ALo(2,"titlecase"),e.ALo(3,"upperFirst"),e.qZA()),2&f){const n=e.oxw(2);e.xp6(3),e.pQV(e.lcZ(2,2,n.action))(e.lcZ(3,4,n.resource)),e.QtT(1)}}function df(f,y){1&f&&(e.TgZ(0,"span",32),e.SDv(1,33),e.qZA())}function Pu(f,y){if(1&f&&(e.TgZ(0,"div",25),e.TgZ(1,"label",26),e.ynx(2),e.SDv(3,27),e.BQk(),e.TgZ(4,"cd-helper"),e.TgZ(5,"span"),e.SDv(6,28),e.qZA(),e._UZ(7,"br"),e.TgZ(8,"span"),e.SDv(9,29),e.qZA(),e.qZA(),e.qZA(),e.TgZ(10,"div",20),e._UZ(11,"input",30),e.YNc(12,df,2,0,"span",31),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(12),e.Q6J("ngIf",d.form.showError("walSlots",n,"min"))}}function Kc(f,y){1&f&&(e.TgZ(0,"span",32),e.SDv(1,39),e.qZA())}function op(f,y){if(1&f&&(e.TgZ(0,"div",25),e.TgZ(1,"label",34),e.ynx(2),e.SDv(3,35),e.BQk(),e.TgZ(4,"cd-helper"),e.TgZ(5,"span"),e.SDv(6,36),e.qZA(),e._UZ(7,"br"),e.TgZ(8,"span"),e.SDv(9,37),e.qZA(),e.qZA(),e.qZA(),e.TgZ(10,"div",20),e._UZ(11,"input",38),e.YNc(12,Kc,2,0,"span",31),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(12),e.Q6J("ngIf",d.form.showError("dbSlots",n,"min"))}}function sp(f,y){if(1&f&&(e.TgZ(0,"div",40),e._UZ(1,"input",41),e.TgZ(2,"label",42),e._uU(3),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.s9C("id",n.key),e.s9C("name",n.key),e.s9C("formControlName",n.key),e.xp6(1),e.s9C("for",n.key),e.xp6(1),e.Oqu(n.desc)}}function mu(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",43),e.TgZ(1,"cd-form-button-panel",44,45),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw(2).submit()}),e.qZA(),e.qZA()}if(2&f){e.oxw();const n=e.MAs(8),d=e.oxw();e.xp6(1),e.Q6J("form",d.form)("disabled",0===n.devices.length)("submitText",d.actionLabels.PREVIEW)}}function Cc(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",2),e.TgZ(1,"form",3,4),e.TgZ(3,"div",5),e.YNc(4,cu,4,6,"div",6),e.TgZ(5,"div",7),e.TgZ(6,"fieldset"),e.TgZ(7,"cd-osd-devices-selection-groups",8,9),e.NdJ("selected",function(w){return e.CHM(n),e.oxw().onDevicesSelected(w)})("cleared",function(w){return e.CHM(n),e.oxw().onDevicesCleared(w)}),e.qZA(),e.qZA(),e.TgZ(9,"fieldset"),e.TgZ(10,"legend"),e.SDv(11,10),e.qZA(),e.TgZ(12,"cd-osd-devices-selection-groups",11,12),e.NdJ("selected",function(w){return e.CHM(n),e.oxw().onDevicesSelected(w)})("cleared",function(w){return e.CHM(n),e.oxw().onDevicesCleared(w)}),e.qZA(),e.YNc(14,Pu,13,1,"div",13),e.TgZ(15,"cd-osd-devices-selection-groups",14,15),e.NdJ("selected",function(w){return e.CHM(n),e.oxw().onDevicesSelected(w)})("cleared",function(w){return e.CHM(n),e.oxw().onDevicesCleared(w)}),e.qZA(),e.YNc(17,op,13,1,"div",13),e.qZA(),e.TgZ(18,"fieldset"),e.TgZ(19,"legend"),e.SDv(20,16),e.qZA(),e.TgZ(21,"div",17),e.TgZ(22,"label",18),e.SDv(23,19),e.qZA(),e.TgZ(24,"div",20),e.YNc(25,sp,4,5,"div",21),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(26,mu,3,3,"div",22),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(8),d=e.MAs(13),w=e.MAs(16),re=e.oxw();e.xp6(1),e.Q6J("formGroup",re.form),e.xp6(3),e.Q6J("ngIf",!re.hideTitle),e.xp6(3),e.Q6J("availDevices",re.availDevices)("canSelect",0!==re.availDevices.length),e.xp6(5),e.Q6J("availDevices",re.availDevices)("canSelect",0!==n.devices.length),e.xp6(2),e.Q6J("ngIf",0!==d.devices.length),e.xp6(1),e.Q6J("availDevices",re.availDevices)("canSelect",0!==n.devices.length),e.xp6(2),e.Q6J("ngIf",0!==w.devices.length),e.xp6(8),e.Q6J("ngForOf",re.featureList),e.xp6(1),e.Q6J("ngIf",!re.hideSubmitBtn)}}let md=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt,Gt){super(),this.actionLabels=n,this.authStorageService=d,this.orchService=w,this.hostService=re,this.router=Ze,this.modalService=Lt,this.wizardStepService=Gt,this.hideTitle=!1,this.hideSubmitBtn=!1,this.emitDriveGroup=new e.vpe,this.icons=eo.P,this.columns=[],this.allDevices=[],this.availDevices=[],this.dataDeviceFilters=[],this.dbDeviceFilters=[],this.walDeviceFilters=[],this.hostname="",this.driveGroup=new iu,this.featureList=[],this.hasOrchestrator=!0,this.resource="OSDs",this.action=this.actionLabels.CREATE,this.features={encrypted:{key:"encrypted",desc:"Encryption"}},this.featureList=gn().map(this.features,(On,fr)=>Object.assign(On,{key:fr})),this.createForm()}ngOnInit(){this.orchService.status().subscribe(n=>{this.hasOrchestrator=n.available,n.available?this.getDataDevices():this.loadingNone()}),this.form.get("walSlots").valueChanges.subscribe(n=>this.setSlots("wal",n)),this.form.get("dbSlots").valueChanges.subscribe(n=>this.setSlots("db",n)),gn().each(this.features,n=>{this.form.get("features").get(n.key).valueChanges.subscribe(d=>this.featureFormUpdate(n.key,d))})}createForm(){this.form=new xt.d({walSlots:new Hn.NI(0),dbSlots:new Hn.NI(0),features:new xt.d(this.featureList.reduce((n,d)=>(n[d.key]=new Hn.NI({value:!1,disabled:!0}),n),{}))})}getDataDevices(){this.hostService.inventoryDeviceList().subscribe(n=>{this.allDevices=gn().filter(n,"available"),this.availDevices=[...this.allDevices],this.loadingReady()},()=>{this.allDevices=[],this.availDevices=[],this.loadingError()})}setSlots(n,d){"number"==typeof d&&d>=0&&this.driveGroup.setSlots(n,d)}featureFormUpdate(n,d){this.driveGroup.setFeature(n,d)}enableFeatures(){this.featureList.forEach(n=>{this.form.get(n.key).enable({emitEvent:!1})})}disableFeatures(){this.featureList.forEach(n=>{const d=this.form.get(n.key);d.disable({emitEvent:!1}),d.setValue(!1,{emitEvent:!1})})}onDevicesSelected(n){if(this.availDevices=n.dataOut,"data"===n.type){const d=gn().find(n.filters,{prop:"hostname"});d?(this.hostname=d.value.raw,this.availDevices=n.dataOut.filter(w=>w.hostname===this.hostname),this.driveGroup.setHostPattern(this.hostname)):this.driveGroup.setHostPattern("*"),this.enableFeatures()}this.driveGroup.setDeviceSelection(n.type,n.filters),this.emitDriveGroup.emit(this.driveGroup)}onDevicesCleared(n){"data"===n.type?(this.availDevices=[...this.allDevices],this.walDeviceSelectionGroups.devices=[],this.dbDeviceSelectionGroups.devices=[],this.disableFeatures(),this.driveGroup.reset(),this.form.get("walSlots").setValue(0,{emitEvent:!1}),this.form.get("dbSlots").setValue(0,{emitEvent:!1})):(this.availDevices=[...this.availDevices,...n.clearedDevices],this.driveGroup.clearDeviceSelection(n.type),this.form.get(`${n.type}Slots`).setValue(0,{emitEvent:!1}))}submit(){const n=this.authStorageService.getUsername();this.driveGroup.setName(`dashboard-${n}-${gn().now()}`),this.modalService.show(Qc,{driveGroups:[this.driveGroup.spec]}).componentInstance.submitAction.subscribe(()=>{this.router.navigate(["/osd"])}),this.previewButtonPanel.submitButton.loading=!1}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(hi.j),e.Y36(el),e.Y36(Zl),e.Y36(tn.F0),e.Y36(na.Z),e.Y36(pl))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-form"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Bd,5),e.Gf(mc,5),e.Gf(jl,5),e.Gf(gd,5)),2&n){let w;e.iGM(w=e.CRH())&&(d.dataDeviceSelectionGroups=w.first),e.iGM(w=e.CRH())&&(d.walDeviceSelectionGroups=w.first),e.iGM(w=e.CRH())&&(d.dbDeviceSelectionGroups=w.first),e.iGM(w=e.CRH())&&(d.previewButtonPanel=w.first)}},inputs:{hideTitle:"hideTitle",hideSubmitBtn:"hideSubmitBtn"},outputs:{emitDriveGroup:"emitDriveGroup"},features:[e.qOj],decls:2,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr;return y="Shared devices",n="Configuration",d="Features",w="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",re="WAL slots",Ze="How many OSDs per WAL device.",Lt="Specify 0 to let Orchestrator backend decide it.",Gt="Value should be greater than or equal to 0",On="DB slots",fr="How many OSDs per DB device.",hr="Specify 0 to let Orchestrator backend decide it.",Jr="Value should be greater than or equal to 0",[[4,"ngIf"],["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],["class","card-header",4,"ngIf"],[1,"card-body"],["name","Primary","type","data",3,"availDevices","canSelect","selected","cleared"],["dataDeviceSelectionGroups",""],y,["name","WAL","type","wal",3,"availDevices","canSelect","selected","cleared"],["walDeviceSelectionGroups",""],["class","form-group row",4,"ngIf"],["name","DB","type","db",3,"availDevices","canSelect","selected","cleared"],["dbDeviceSelectionGroups",""],n,["formGroupName","features",1,"form-group","row"],["for","features",1,"cd-col-form-label"],d,[1,"cd-col-form-input"],["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],["class","card-footer",4,"ngIf"],[1,"card-header"],w,[1,"form-group","row"],["for","walSlots",1,"cd-col-form-label"],re,Ze,Lt,["id","walSlots","name","walSlots","type","number","min","0","formControlName","walSlots",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"invalid-feedback"],Gt,["for","dbSlots",1,"cd-col-form-label"],On,fr,hr,["id","dbSlots","name","dbSlots","type","number","min","0","formControlName","dbSlots",1,"form-control"],Jr,[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],[1,"card-footer"],["wrappingClass","text-right",3,"form","disabled","submitText","submitActionEvent"],["previewButtonPanel",""]]},template:function(n,d){1&n&&(e.YNc(0,uf,1,0,"cd-orchestrator-doc-panel",0),e.YNc(1,Cc,27,12,"div",1)),2&n&&(e.Q6J("ngIf",!d.hasOrchestrator),e.xp6(1),e.Q6J("cdFormLoading",d.loading))},directives:[s.O5,vn.y,xs,Hn._Y,Hn.JL,Gn.V,Hn.sg,cf,kn.P,Hn.x0,s.sg,yl.S,As.o,Hn.qQ,Hn.wV,Hn.Fj,zn.b,Hn.JJ,Hn.u,Hn.Wl,jr.p],pipes:[s.rS,E.m],styles:[""]}),f})();var $f=o(71289);let ff=(()=>{class f{transform(n){if(gn().isUndefined(n))return "no spec";if(gn().get(n,"unmanaged",!1))return "unmanaged";const d=[],w=gn().get(n,"placement.hosts"),re=gn().get(n,"placement.count"),Ze=gn().get(n,"placement.label"),Lt=gn().get(n,"placement.host_pattern");return gn().isArray(w)&&d.push(...w),gn().isNumber(re)&&d.push("count:" + re + ""),gn().isString(Ze)&&d.push("label:" + Ze + ""),gn().isString(Lt)&&d.push(Lt),d.join(";")}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"placement",type:f,pure:!0}),f})();var vd=o(79765),Hf=o(66682),Ou=o(77393),eu=o(33637);function pf(f,y=eu.P){return n=>n.lift(new Yd(f,y))}class Yd{constructor(y,n){this.dueTime=y,this.scheduler=n}call(y,n){return n.subscribe(new Sp(y,this.dueTime,this.scheduler))}}class Sp extends Ou.L{constructor(y,n,d){super(y),this.dueTime=n,this.scheduler=d,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(y){this.clearDebounce(),this.lastValue=y,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(Mp,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:y}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(y)}}clearDebounce(){const y=this.debouncedSubscription;null!==y&&(this.remove(y),y.unsubscribe(),this.debouncedSubscription=null)}}function Mp(f){f.debouncedNext()}var tc=o(87519),qu=o(45435),hf=o(80842),Bp=o(14745),yd=o(4416),Hc=o(58039);function Zd(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.hij(" ",n," ")}}function Uf(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,23),e.qZA())}function ap(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,28),e.qZA()),2&f&&e.Q6J("ngValue",null)}function Zc(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,29),e.qZA()),2&f&&e.Q6J("ngValue",null)}function bd(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,30),e.qZA()),2&f&&e.Q6J("ngValue",null)}function Ed(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.service_name),e.xp6(1),e.Oqu(n.service_name)}}function Sc(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,31),e.qZA())}const Mc=function(){return["ingress"]},Iu=function(f){return{required:f}};function jf(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",24),e.SDv(2,25),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"select",26),e.NdJ("change",function(){return e.CHM(n),e.oxw().prePopulateId()}),e.YNc(5,ap,2,1,"option",27),e.YNc(6,Zc,2,1,"option",27),e.YNc(7,bd,2,1,"option",27),e.YNc(8,Ed,2,2,"option",14),e.qZA(),e.YNc(9,Sc,2,0,"span",15),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(7,Iu,e.DdM(6,Mc).includes(n.serviceForm.controls.service_type.value))),e.xp6(4),e.Q6J("ngIf",null===n.services),e.xp6(1),e.Q6J("ngIf",null!==n.services&&0===n.services.length),e.xp6(1),e.Q6J("ngIf",null!==n.services&&n.services.length>0),e.xp6(1),e.Q6J("ngForOf",n.services),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("backend_service",d,"required"))}}function Dd(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,35),e.qZA())}function Yp(f,y){1&f&&(e.TgZ(0,"span",22),e.tHW(1,36),e._UZ(2,"strong"),e.N_p(),e.qZA())}const Zp=function(){return["mds","rgw","nfs","iscsi","ingress"]};function Bf(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",32),e.SDv(2,33),e.qZA(),e.TgZ(3,"div",10),e._UZ(4,"input",34),e.YNc(5,Dd,2,0,"span",15),e.YNc(6,Yp,3,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(4,Iu,e.DdM(3,Zp).includes(n.serviceForm.controls.service_type.value))),e.xp6(4),e.Q6J("ngIf",n.serviceForm.showError("service_id",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("service_id",d,"rgwPattern"))}}function lp(f,y){1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"div",37),e.TgZ(2,"div",38),e._UZ(3,"input",39),e.TgZ(4,"label",40),e.SDv(5,41),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function Op(f,y){1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",42),e.SDv(2,43),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"select",44),e.TgZ(5,"option",45),e.SDv(6,46),e.qZA(),e.TgZ(7,"option",47),e.SDv(8,48),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function cp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,52),e.qZA())}function Yf(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",49),e.SDv(2,50),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"input",51),e.NdJ("focus",function(w){return e.CHM(n),e.oxw().labelFocus.next(w.target.value)})("click",function(w){return e.CHM(n),e.oxw().labelClick.next(w.target.value)}),e.qZA(),e.YNc(5,cp,2,0,"span",15),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(4),e.Q6J("ngbTypeahead",n.searchLabels),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("label",d,"required"))}}function xd(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",53),e.SDv(2,54),e.qZA(),e.TgZ(3,"div",10),e._UZ(4,"cd-select-badges",55),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(4),e.Q6J("data",n.serviceForm.controls.hosts.value)("options",n.hosts.options)("messages",n.hosts.messages)}}function _f(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,60),e.qZA())}function Zf(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,61),e.qZA())}function Ap(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",56),e.TgZ(2,"span"),e.SDv(3,57),e.qZA(),e.TgZ(4,"cd-helper"),e.SDv(5,58),e.qZA(),e.qZA(),e.TgZ(6,"div",10),e._UZ(7,"input",59),e.YNc(8,_f,2,0,"span",15),e.YNc(9,Zf,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("count",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("count",d,"pattern"))}}function Vd(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,65),e.qZA())}function up(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,66),e.qZA())}function gf(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,67),e.qZA())}function T(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"label",62),e.SDv(3,63),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",64),e.YNc(6,Vd,2,0,"span",15),e.YNc(7,up,2,0,"span",15),e.YNc(8,gf,2,0,"span",15),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("rgw_frontend_port",d,"pattern")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("rgw_frontend_port",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("rgw_frontend_port",d,"max"))}}function R(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,89),e.qZA()),2&f&&e.Q6J("ngValue",null)}function q(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,90),e.qZA()),2&f&&e.Q6J("ngValue",null)}function Pe(f,y){1&f&&(e.TgZ(0,"option",12),e.SDv(1,91),e.qZA()),2&f&&e.Q6J("ngValue",null)}function tt(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.pool_name),e.xp6(1),e.Oqu(n.pool_name)}}function on(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,92),e.qZA())}function bn(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,93),e.qZA())}function rr(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,94),e.qZA())}function wr(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,95),e.qZA())}function qr(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,96),e.qZA())}function co(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,97),e.qZA())}const Ko=function(){return["iscsi"]};function so(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"label",68),e.SDv(3,69),e.qZA(),e.TgZ(4,"div",10),e.TgZ(5,"select",70),e.YNc(6,R,2,1,"option",27),e.YNc(7,q,2,1,"option",27),e.YNc(8,Pe,2,1,"option",27),e.YNc(9,tt,2,2,"option",14),e.qZA(),e.YNc(10,on,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(11,"div",7),e.TgZ(12,"label",71),e.TgZ(13,"span"),e.SDv(14,72),e.qZA(),e.TgZ(15,"cd-helper"),e.TgZ(16,"span"),e.SDv(17,73),e.qZA(),e._UZ(18,"br"),e.TgZ(19,"span"),e.tHW(20,74),e._UZ(21,"b"),e.N_p(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(22,"div",10),e._UZ(23,"input",75),e.qZA(),e.qZA(),e.TgZ(24,"div",7),e.TgZ(25,"label",76),e.SDv(26,77),e.qZA(),e.TgZ(27,"div",10),e._UZ(28,"input",78),e.YNc(29,bn,2,0,"span",15),e.YNc(30,rr,2,0,"span",15),e.YNc(31,wr,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(32,"div",7),e.TgZ(33,"label",79),e.SDv(34,80),e.qZA(),e.TgZ(35,"div",10),e._UZ(36,"input",81),e.YNc(37,qr,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(38,"div",7),e.TgZ(39,"label",82),e.SDv(40,83),e.qZA(),e.TgZ(41,"div",10),e.TgZ(42,"div",84),e._UZ(43,"input",85),e.TgZ(44,"span",86),e._UZ(45,"button",87),e._UZ(46,"cd-copy-2-clipboard-button",88),e.qZA(),e.YNc(47,co,2,0,"span",15),e.qZA(),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",null===n.pools),e.xp6(1),e.Q6J("ngIf",n.pools&&0===n.pools.length),e.xp6(1),e.Q6J("ngIf",n.pools&&n.pools.length>0),e.xp6(1),e.Q6J("ngForOf",n.pools),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("pool",d,"required")),e.xp6(19),e.Q6J("ngIf",n.serviceForm.showError("api_port",d,"pattern")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("api_port",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("api_port",d,"max")),e.xp6(2),e.Q6J("ngClass",e.VKq(13,Iu,e.DdM(12,Ko).includes(n.serviceForm.controls.service_type.value))),e.xp6(4),e.Q6J("ngIf",n.serviceForm.showError("api_user",d,"required")),e.xp6(2),e.Q6J("ngClass",e.VKq(16,Iu,e.DdM(15,Ko).includes(n.serviceForm.controls.service_type.value))),e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("api_password",d,"required"))}}function gs(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,114),e.qZA())}function qs(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,115),e.qZA())}function Vs(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,116),e.qZA())}function oi(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,117),e.qZA())}function Wr(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,118),e.qZA())}function ti(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,119),e.qZA())}function Gi(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,120),e.qZA())}function ro(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,121),e.qZA())}function ia(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,122),e.qZA())}function ps(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"label",98),e.TgZ(3,"span"),e.SDv(4,99),e.qZA(),e.TgZ(5,"cd-helper"),e.TgZ(6,"span"),e.SDv(7,100),e.qZA(),e.qZA(),e.qZA(),e.TgZ(8,"div",10),e._UZ(9,"input",101),e.YNc(10,gs,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(11,"div",7),e.TgZ(12,"label",102),e.TgZ(13,"span"),e.SDv(14,103),e.qZA(),e.TgZ(15,"cd-helper"),e.TgZ(16,"span"),e.SDv(17,104),e.qZA(),e.qZA(),e.qZA(),e.TgZ(18,"div",10),e._UZ(19,"input",105),e.YNc(20,qs,2,0,"span",15),e.YNc(21,Vs,2,0,"span",15),e.YNc(22,oi,2,0,"span",15),e.YNc(23,Wr,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(24,"div",7),e.TgZ(25,"label",106),e.TgZ(26,"span"),e.SDv(27,107),e.qZA(),e.TgZ(28,"cd-helper"),e.TgZ(29,"span"),e.SDv(30,108),e.qZA(),e.qZA(),e.qZA(),e.TgZ(31,"div",10),e._UZ(32,"input",109),e.YNc(33,ti,2,0,"span",15),e.YNc(34,Gi,2,0,"span",15),e.YNc(35,ro,2,0,"span",15),e.YNc(36,ia,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(37,"div",7),e.TgZ(38,"label",110),e.TgZ(39,"span"),e.SDv(40,111),e.qZA(),e.TgZ(41,"cd-helper"),e.TgZ(42,"span"),e.SDv(43,112),e.qZA(),e.qZA(),e.qZA(),e.TgZ(44,"div",10),e._UZ(45,"input",113),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(2),e.Q6J("ngClass",e.VKq(13,Iu,e.DdM(12,Mc).includes(n.serviceForm.controls.service_type.value))),e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("virtual_ip",d,"required")),e.xp6(2),e.Q6J("ngClass",e.VKq(16,Iu,e.DdM(15,Mc).includes(n.serviceForm.controls.service_type.value))),e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("frontend_port",d,"pattern")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("frontend_port",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("frontend_port",d,"max")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("frontend_port",d,"required")),e.xp6(2),e.Q6J("ngClass",e.VKq(19,Iu,e.DdM(18,Mc).includes(n.serviceForm.controls.service_type.value))),e.xp6(8),e.Q6J("ngIf",n.serviceForm.showError("monitor_port",d,"pattern")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("monitor_port",d,"min")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("monitor_port",d,"max")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("monitor_port",d,"required"))}}function la(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function Fa(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,132),e.qZA())}function Gs(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,133),e.qZA())}function Tl(f,y){1&f&&(e.TgZ(0,"span",22),e.tHW(1,134),e._UZ(2,"strong"),e.N_p(),e.qZA())}function Vp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,139),e.qZA())}function bh(f,y){1&f&&(e.TgZ(0,"span",22),e.tHW(1,140),e._UZ(2,"strong"),e.N_p(),e.qZA())}function o_(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",135),e.TgZ(2,"span"),e.SDv(3,136),e.qZA(),e.TgZ(4,"cd-helper"),e.TgZ(5,"span"),e.SDv(6,137),e.qZA(),e.qZA(),e.qZA(),e.TgZ(7,"div",10),e._UZ(8,"input",138),e.YNc(9,Vp,2,0,"span",15),e.YNc(10,bh,3,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(9),e.Q6J("ngIf",n.serviceForm.showError("engine_id",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("engine_id",d,"snmpEngineIdPattern"))}}function s_(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.hij(" ",n," ")}}function Lu(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,145),e.qZA())}const a_=function(){return["SHA","MD5"]};function Eh(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",141),e.SDv(2,142),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"select",143),e.TgZ(5,"option",12),e.SDv(6,144),e.qZA(),e.YNc(7,s_,2,2,"option",14),e.qZA(),e.YNc(8,Lu,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(5),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(3,a_)),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("auth_protocol",d,"required"))}}function l_(f,y){if(1&f&&(e.TgZ(0,"option",21),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.hij(" ",n," ")}}const c_=function(){return["DES","AES"]};function u_(f,y){1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",146),e.SDv(2,147),e.qZA(),e.TgZ(3,"div",10),e.TgZ(4,"select",148),e.TgZ(5,"option",12),e.SDv(6,149),e.qZA(),e.YNc(7,l_,2,2,"option",14),e.qZA(),e.qZA(),e.qZA()),2&f&&(e.xp6(5),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(2,c_)))}function d_(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,153),e.qZA())}function Th(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",150),e.TgZ(2,"span"),e.SDv(3,151),e.qZA(),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",152),e.YNc(6,d_,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("snmp_community",d,"required"))}}function Gp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,157),e.qZA())}function Ch(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",154),e.TgZ(2,"span"),e.SDv(3,155),e.qZA(),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",156),e.YNc(6,Gp,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("snmp_v3_auth_username",d,"required"))}}function f_(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,161),e.qZA())}function ca(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",158),e.TgZ(2,"span"),e.SDv(3,159),e.qZA(),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",160),e.YNc(6,f_,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("snmp_v3_auth_password",d,"required"))}}function Sh(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,165),e.qZA())}function Mh(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",162),e.TgZ(2,"span"),e.SDv(3,163),e.qZA(),e.qZA(),e.TgZ(4,"div",10),e._UZ(5,"input",164),e.YNc(6,Sh,2,0,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(6),e.Q6J("ngIf",n.serviceForm.showError("snmp_v3_priv_password",d,"required"))}}const wp=function(){return["V2c","V3"]};function Ju(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"label",123),e.SDv(3,124),e.qZA(),e.TgZ(4,"div",10),e.TgZ(5,"select",125),e.NdJ("change",function(){return e.CHM(n),e.oxw().clearValidations()}),e.TgZ(6,"option",12),e.SDv(7,126),e.qZA(),e.YNc(8,la,2,2,"option",14),e.qZA(),e.YNc(9,Fa,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(10,"div",7),e.TgZ(11,"label",127),e.TgZ(12,"span"),e.SDv(13,128),e.qZA(),e.TgZ(14,"cd-helper"),e.TgZ(15,"span"),e.SDv(16,129),e.qZA(),e.qZA(),e.qZA(),e.TgZ(17,"div",10),e._UZ(18,"input",130),e.YNc(19,Gs,2,0,"span",15),e.YNc(20,Tl,3,0,"span",15),e.qZA(),e.qZA(),e.YNc(21,o_,11,2,"div",16),e.YNc(22,Eh,9,4,"div",16),e.YNc(23,u_,8,3,"div",16),e.TgZ(24,"fieldset"),e.TgZ(25,"legend"),e.SDv(26,131),e.qZA(),e.YNc(27,Th,7,1,"div",16),e.YNc(28,Ch,7,1,"div",16),e.YNc(29,ca,7,1,"div",16),e.YNc(30,Mh,7,1,"div",16),e.qZA(),e.BQk()}if(2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(6),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(12,wp)),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("snmp_version",d,"required")),e.xp6(10),e.Q6J("ngIf",n.serviceForm.showError("snmp_destination",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("snmp_destination",d,"snmpDestinationPattern")),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(4),e.Q6J("ngIf","V2c"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value),e.xp6(1),e.Q6J("ngIf","V3"===n.serviceForm.controls.snmp_version.value&&null!=n.serviceForm.controls.privacy_protocol.value)}}function mf(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,174),e.qZA())}function Td(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,175),e.qZA())}function zp(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",169),e.TgZ(2,"span"),e.SDv(3,170),e.qZA(),e.TgZ(4,"cd-helper"),e.SDv(5,171),e.qZA(),e.qZA(),e.TgZ(6,"div",10),e.TgZ(7,"textarea",172),e._uU(8," "),e.qZA(),e.TgZ(9,"input",173),e.NdJ("change",function(w){return e.CHM(n),e.oxw(2).fileUpload(w.target.files,"ssl_cert")}),e.qZA(),e.YNc(10,mf,2,0,"span",15),e.YNc(11,Td,2,0,"span",15),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(10),e.Q6J("ngIf",n.serviceForm.showError("ssl_cert",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("ssl_cert",d,"pattern"))}}function Gd(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,180),e.qZA())}function dp(f,y){1&f&&(e.TgZ(0,"span",22),e.SDv(1,181),e.qZA())}function p_(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"label",176),e.TgZ(2,"span"),e.SDv(3,177),e.qZA(),e.TgZ(4,"cd-helper"),e.SDv(5,178),e.qZA(),e.qZA(),e.TgZ(6,"div",10),e.TgZ(7,"textarea",179),e._uU(8," "),e.qZA(),e.TgZ(9,"input",173),e.NdJ("change",function(w){return e.CHM(n),e.oxw(2).fileUpload(w.target.files,"ssl_key")}),e.qZA(),e.YNc(10,Gd,2,0,"span",15),e.YNc(11,dp,2,0,"span",15),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(2),d=e.MAs(7);e.xp6(10),e.Q6J("ngIf",n.serviceForm.showError("ssl_key",d,"required")),e.xp6(1),e.Q6J("ngIf",n.serviceForm.showError("ssl_key",d,"pattern"))}}const Oh=function(){return["rgw","ingress"]};function Lm(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",7),e.TgZ(2,"div",37),e.TgZ(3,"div",38),e._UZ(4,"input",166),e.TgZ(5,"label",167),e.SDv(6,168),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(7,zp,12,2,"div",16),e.YNc(8,p_,12,2,"div",16),e.BQk()),2&f){const n=e.oxw();e.xp6(7),e.Q6J("ngIf",n.serviceForm.controls.ssl.value),e.xp6(1),e.Q6J("ngIf",n.serviceForm.controls.ssl.value&&!e.DdM(2,Oh).includes(n.serviceForm.controls.service_type.value))}}const h_=function(){return["rgw","iscsi","ingress"]};let __=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt,Gt,On,fr){super(),this.actionLabels=n,this.cephServiceService=d,this.formBuilder=w,this.hostService=re,this.poolService=Ze,this.router=Lt,this.taskWrapperService=Gt,this.route=On,this.activeModal=fr,this.RGW_SVC_ID_PATTERN=/^([^.]+)(\.([^.]+)\.([^.]+))?$/,this.SNMP_DESTINATION_PATTERN=/^[^\:]+:[0-9]/,this.SNMP_ENGINE_ID_PATTERN=/^[0-9A-Fa-f]{10,64}/g,this.hiddenServices=[],this.editing=!1,this.serviceTypes=[],this.labelClick=new vd.xQ,this.labelFocus=new vd.xQ,this.services=[],this.searchLabels=hr=>(0,Hf.T)(hr.pipe(pf(200),(0,tc.x)()),this.labelFocus,this.labelClick.pipe((0,qu.h)(()=>!this.typeahead.isPopupOpen()))).pipe((0,Ds.U)(Jr=>this.labels.filter($i=>$i.toLowerCase().indexOf(Jr.toLowerCase())>-1).slice(0,10))),this.resource="service",this.hosts={options:[],messages:new tl.a({empty:"There are no hosts.",filter:"Filter hosts"})},this.createForm()}createForm(){this.serviceForm=this.formBuilder.group({service_type:[null,[Hn.kI.required]],service_id:[null,[mo.h.requiredIf({service_type:"mds"}),mo.h.requiredIf({service_type:"nfs"}),mo.h.requiredIf({service_type:"iscsi"}),mo.h.requiredIf({service_type:"ingress"}),mo.h.composeIf({service_type:"rgw"},[Hn.kI.required,mo.h.custom("rgwPattern",n=>!gn().isEmpty(n)&&!this.RGW_SVC_ID_PATTERN.test(n))])]],placement:["hosts"],label:[null,[mo.h.requiredIf({placement:"label",unmanaged:!1})]],hosts:[[]],count:[null,[mo.h.number(!1)]],unmanaged:[!1],pool:[null,[mo.h.requiredIf({service_type:"iscsi",unmanaged:!1})]],rgw_frontend_port:[null,[mo.h.number(!1)]],trusted_ip_list:[null],api_port:[null,[mo.h.number(!1)]],api_user:[null,[mo.h.requiredIf({service_type:"iscsi",unmanaged:!1})]],api_password:[null,[mo.h.requiredIf({service_type:"iscsi",unmanaged:!1})]],backend_service:[null,[mo.h.requiredIf({service_type:"ingress",unmanaged:!1})]],virtual_ip:[null,[mo.h.requiredIf({service_type:"ingress",unmanaged:!1})]],frontend_port:[null,[mo.h.number(!1)]],monitor_port:[null,[mo.h.number(!1)]],virtual_interface_networks:[null],ssl:[!1],ssl_cert:["",[mo.h.composeIf({service_type:"rgw",unmanaged:!1,ssl:!0},[Hn.kI.required,mo.h.pemCert()]),mo.h.composeIf({service_type:"iscsi",unmanaged:!1,ssl:!0},[Hn.kI.required,mo.h.sslCert()]),mo.h.composeIf({service_type:"ingress",unmanaged:!1,ssl:!0},[Hn.kI.required,mo.h.pemCert()])]],ssl_key:["",[mo.h.composeIf({service_type:"iscsi",unmanaged:!1,ssl:!0},[Hn.kI.required,mo.h.sslPrivKey()])]],snmp_version:[null,[mo.h.requiredIf({service_type:"snmp-gateway"})]],snmp_destination:[null,{validators:[mo.h.requiredIf({service_type:"snmp-gateway"}),mo.h.custom("snmpDestinationPattern",n=>!gn().isEmpty(n)&&!this.SNMP_DESTINATION_PATTERN.test(n))]}],engine_id:[null,[mo.h.requiredIf({service_type:"snmp-gateway"}),mo.h.custom("snmpEngineIdPattern",n=>!gn().isEmpty(n)&&!this.SNMP_ENGINE_ID_PATTERN.test(n))]],auth_protocol:["SHA",[mo.h.requiredIf({service_type:"snmp-gateway"})]],privacy_protocol:[null],snmp_community:[null,[mo.h.requiredIf({snmp_version:"V2c"})]],snmp_v3_auth_username:[null,[mo.h.requiredIf({service_type:"snmp-gateway"})]],snmp_v3_auth_password:[null,[mo.h.requiredIf({service_type:"snmp-gateway"})]],snmp_v3_priv_password:[null,[mo.h.requiredIf({privacy_protocol:{op:"!empty"}})]]})}ngOnInit(){this.action=this.actionLabels.CREATE,this.router.url.includes("services/(modal:create")?this.pageURL="services":this.router.url.includes("services/(modal:edit")&&(this.editing=!0,this.pageURL="services",this.route.params.subscribe(n=>{this.serviceName=n.name,this.serviceType=n.type})),this.cephServiceService.getKnownTypes().subscribe(n=>{this.hiddenServices.push("osd","container"),this.serviceTypes=gn().difference(n,this.hiddenServices).sort()}),this.hostService.list("false").subscribe(n=>{const d=[];gn().forEach(n,w=>{if(gn().get(w,"sources.orchestrator",!1)){const re=new Bp.$(!1,gn().get(w,"hostname"),"");d.push(re)}}),this.hosts.options=[...d]}),this.hostService.getLabels().subscribe(n=>{this.labels=n}),this.poolService.getList().subscribe(n=>{this.pools=n}),this.cephServiceService.list().subscribe(n=>{this.services=n.filter(d=>"rgw"===d.service_type)}),this.editing&&(this.action=this.actionLabels.EDIT,this.disableForEditing(this.serviceType),this.cephServiceService.list(this.serviceName).subscribe(n=>{var d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o;if(["service_type","service_id","unmanaged"].forEach(Xs=>{this.serviceForm.get(Xs).setValue(n[0][Xs])}),!n[0].unmanaged){const Xs=Object.keys(n[0].placement)[0];let ls;ls=["hosts","label"].indexOf(Xs)>=0?Xs:"hosts",this.serviceForm.get("placement").setValue(ls),this.serviceForm.get("count").setValue(n[0].placement.count),(null===(d=n[0])||void 0===d?void 0:d.placement[ls])&&this.serviceForm.get(ls).setValue(null===(w=n[0])||void 0===w?void 0:w.placement[ls])}switch(this.serviceType){case"iscsi":["pool","api_password","api_user","trusted_ip_list","api_port"].forEach(ga=>{this.serviceForm.get(ga).setValue(n[0].spec[ga])}),this.serviceForm.get("ssl").setValue(null===(re=n[0].spec)||void 0===re?void 0:re.api_secure),(null===(Ze=n[0].spec)||void 0===Ze?void 0:Ze.api_secure)&&(this.serviceForm.get("ssl_cert").setValue(null===(Lt=n[0].spec)||void 0===Lt?void 0:Lt.ssl_cert),this.serviceForm.get("ssl_key").setValue(null===(Gt=n[0].spec)||void 0===Gt?void 0:Gt.ssl_key));break;case"rgw":this.serviceForm.get("rgw_frontend_port").setValue(null===(On=n[0].spec)||void 0===On?void 0:On.rgw_frontend_port),this.serviceForm.get("ssl").setValue(null===(fr=n[0].spec)||void 0===fr?void 0:fr.ssl),(null===(hr=n[0].spec)||void 0===hr?void 0:hr.ssl)&&this.serviceForm.get("ssl_cert").setValue(null===(Jr=n[0].spec)||void 0===Jr?void 0:Jr.rgw_frontend_ssl_certificate);break;case"ingress":["backend_service","virtual_ip","frontend_port","monitor_port","virtual_interface_networks","ssl"].forEach(ga=>{this.serviceForm.get(ga).setValue(n[0].spec[ga])}),(null===($i=n[0].spec)||void 0===$i?void 0:$i.ssl)&&(this.serviceForm.get("ssl_cert").setValue(null===(bo=n[0].spec)||void 0===bo?void 0:bo.ssl_cert),this.serviceForm.get("ssl_key").setValue(null===(_o=n[0].spec)||void 0===_o?void 0:_o.ssl_key));break;case"snmp-gateway":["snmp_version","snmp_destination"].forEach(ga=>{this.serviceForm.get(ga).setValue(n[0].spec[ga])}),"V3"===this.serviceForm.getValue("snmp_version")?["engine_id","auth_protocol","privacy_protocol","snmp_v3_auth_username","snmp_v3_auth_password","snmp_v3_priv_password"].forEach(wl=>{null!==wl&&("snmp_v3_auth_username"===wl||"snmp_v3_auth_password"===wl||"snmp_v3_priv_password"===wl?this.serviceForm.get(wl).setValue(n[0].spec.credentials[wl]):this.serviceForm.get(wl).setValue(n[0].spec[wl]))}):this.serviceForm.get("snmp_community").setValue(n[0].spec.credentials.snmp_community)}}))}disableForEditing(n){switch(["service_type","service_id"].forEach(w=>{this.serviceForm.get(w).disable()}),n){case"ingress":this.serviceForm.get("backend_service").disable()}}fileUpload(n,d){const w=n[0],re=new FileReader;re.addEventListener("load",Ze=>{const Lt=this.serviceForm.get(d);Lt.setValue(Ze.target.result),Lt.markAsDirty(),Lt.markAsTouched(),Lt.updateValueAndValidity()}),re.readAsText(w,"utf8")}prePopulateId(){const n=this.serviceForm.get("service_id"),d=this.serviceForm.getValue("backend_service");n.reset({value:d,disabled:!0})}onSubmit(){var n,d,w,re,Ze;const Lt=this,Gt=this.serviceForm.getRawValue(),On=Gt.service_type;let fr=`service/${uo.MQ.CREATE}`;this.editing&&(fr=`service/${uo.MQ.EDIT}`);const hr={service_type:On,placement:{},unmanaged:Gt.unmanaged};let Jr;if("rgw"===On){const _o=Gt.service_id.match(this.RGW_SVC_ID_PATTERN);Jr=_o[1],_o[3]&&(hr.rgw_realm=_o[3],hr.rgw_zone=_o[4])}else Jr=Gt.service_id;const $i=Jr;let bo=On;if(gn().isString($i)&&!gn().isEmpty($i)&&(bo=`${On}.${$i}`,hr.service_id=$i),!Gt.unmanaged){switch(Gt.placement){case"hosts":Gt.hosts.length>0&&(hr.placement.hosts=Gt.hosts);break;case"label":hr.placement.label=Gt.label}switch(gn().isNumber(Gt.count)&&Gt.count>0&&(hr.placement.count=Gt.count),On){case"rgw":gn().isNumber(Gt.rgw_frontend_port)&&Gt.rgw_frontend_port>0&&(hr.rgw_frontend_port=Gt.rgw_frontend_port),hr.ssl=Gt.ssl,Gt.ssl&&(hr.rgw_frontend_ssl_certificate=null===(n=Gt.ssl_cert)||void 0===n?void 0:n.trim());break;case"iscsi":hr.pool=Gt.pool,gn().isString(Gt.trusted_ip_list)&&!gn().isEmpty(Gt.trusted_ip_list)&&(hr.trusted_ip_list=Gt.trusted_ip_list.trim()),gn().isNumber(Gt.api_port)&&Gt.api_port>0&&(hr.api_port=Gt.api_port),hr.api_user=Gt.api_user,hr.api_password=Gt.api_password,hr.api_secure=Gt.ssl,Gt.ssl&&(hr.ssl_cert=null===(d=Gt.ssl_cert)||void 0===d?void 0:d.trim(),hr.ssl_key=null===(w=Gt.ssl_key)||void 0===w?void 0:w.trim());break;case"ingress":hr.backend_service=Gt.backend_service,hr.service_id=Gt.backend_service,gn().isString(Gt.virtual_ip)&&!gn().isEmpty(Gt.virtual_ip)&&(hr.virtual_ip=Gt.virtual_ip.trim()),gn().isNumber(Gt.frontend_port)&&Gt.frontend_port>0&&(hr.frontend_port=Gt.frontend_port),gn().isNumber(Gt.monitor_port)&&Gt.monitor_port>0&&(hr.monitor_port=Gt.monitor_port),hr.ssl=Gt.ssl,Gt.ssl&&(hr.ssl_cert=null===(re=Gt.ssl_cert)||void 0===re?void 0:re.trim(),hr.ssl_key=null===(Ze=Gt.ssl_key)||void 0===Ze?void 0:Ze.trim()),hr.virtual_interface_networks=Gt.virtual_interface_networks;break;case"snmp-gateway":hr.credentials={},hr.snmp_version=Gt.snmp_version,hr.snmp_destination=Gt.snmp_destination,"V3"===Gt.snmp_version?(hr.engine_id=Gt.engine_id,hr.auth_protocol=Gt.auth_protocol,hr.credentials.snmp_v3_auth_username=Gt.snmp_v3_auth_username,hr.credentials.snmp_v3_auth_password=Gt.snmp_v3_auth_password,null!==Gt.privacy_protocol&&(hr.privacy_protocol=Gt.privacy_protocol,hr.credentials.snmp_v3_priv_password=Gt.snmp_v3_priv_password)):hr.credentials.snmp_community=Gt.snmp_community}}this.taskWrapperService.wrapTaskAroundCall({task:new Va.R(fr,{service_name:bo}),call:this.cephServiceService.create(hr)}).subscribe({error(){Lt.serviceForm.setErrors({cdSubmitButton:!0})},complete:()=>{"services"===this.pageURL?this.router.navigate([this.pageURL,{outlets:{modal:null}}]):this.activeModal.close()}})}clearValidations(){const n=this.serviceForm.getValue("snmp_version"),d=this.serviceForm.getValue("privacy_protocol");"V3"===n?this.serviceForm.get("snmp_community").clearValidators():(this.serviceForm.get("engine_id").clearValidators(),this.serviceForm.get("auth_protocol").clearValidators(),this.serviceForm.get("privacy_protocol").clearValidators(),this.serviceForm.get("snmp_v3_auth_username").clearValidators(),this.serviceForm.get("snmp_v3_auth_password").clearValidators()),null===d&&this.serviceForm.get("snmp_v3_priv_password").clearValidators()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(me),e.Y36($c.O),e.Y36(Zl),e.Y36(hf.q),e.Y36(tn.F0),e.Y36(ki.P),e.Y36(tn.gz),e.Y36(Br.Kz))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-service-form"]],viewQuery:function(n,d){if(1&n&&e.Gf(Br.dR,5),2&n){let w;e.iGM(w=e.CRH())&&(d.typeahead=w.first)}},inputs:{hiddenServices:"hiddenServices",editing:"editing",serviceName:"serviceName",serviceType:"serviceType"},features:[e.qOj],decls:35,vars:31,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o,Yi,Xs,ls,js,ga,wl,wa,Wl,zc,Ls,yu,wf,ju,Bu,Df,xf,as,Cs,Bs,Da,sc,fu,Pc,Wc,Pl,vp,pu,Cd,Ld,Yu,Ys,sg,yp,ag,lg,n_,bp,Sm,r_,cg,ug,dg,Ns,Py,X1,Iy,Ly,wT,DT,xT,Mm,Fy,ky,$y,Hy,Uy,jy,K1,Om,By,mh,wu,ev,Kd,Am,Yy,tv,nv,rv,Zy,Vy,Gy,iv,zy,RT,Wy,qy,vh,NT;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Type",d="-- Select a service type --",w="This field is required.",re="Backend Service",Ze="Loading...",Lt="-- No service available --",Gt="-- Select an existing RGW service --",On="This field is required.",fr="Id",hr="This field is required.",Jr="The value does not match the pattern " + "\ufffd#2\ufffd" + "<service_id>[.<realm_name>.<zone_name>]" + "\ufffd/#2\ufffd" + ".",$i="Unmanaged",bo="Placement",_o="Hosts",Yi="Label",Xs="Label",ls="This field is required.",js="Hosts",ga="Count",wl="Only that number of daemons will be created.",wa="The value must be at least 1.",Wl="The entered value needs to be a number.",zc="Port",Ls="The entered value needs to be a number.",yu="The value must be at least 1.",wf="The value cannot exceed 65535.",ju="Pool",Bu="Trusted IPs",Df="Comma separated list of IP addresses.",xf="Please add the " + "\ufffd#21\ufffd" + "Ceph Manager" + "\ufffd/#21\ufffd" + " IP addresses here, otherwise the iSCSI gateways can't be reached.",as="Port",Cs="User",Bs="Password",Da="Loading...",sc="-- No pools available --",fu="-- Select a pool --",Pc="This field is required.",Wc="The entered value needs to be a number.",Pl="The value must be at least 1.",vp="The value cannot exceed 65535.",pu="This field is required.",Cd="This field is required.",Ld="Virtual IP",Yu="The virtual IP address and subnet (in CIDR notation) where the ingress service will be available.",Ys="Frontend Port",sg="The port used to access the ingress service.",yp="Monitor Port",ag="The port used by haproxy for load balancer status.",lg="CIDR Networks",n_="A list of networks to identify which network interface to use for the virtual IP address.",bp="This field is required.",Sm="The entered value needs to be a number.",r_="The value must be at least 1.",cg="The value cannot exceed 65535.",ug="This field is required.",dg="The entered value needs to be a number.",Ns="The value must be at least 1.",Py="The value cannot exceed 65535.",X1="This field is required.",Iy="Version",Ly="-- Select SNMP version --",wT="Destination",DT="Must be of the format hostname:port.",xT="Credentials",Mm="This field is required.",Fy="This field is required.",ky="The value does not match the pattern: " + "\ufffd#2\ufffd" + "hostname:port" + "\ufffd/#2\ufffd" + "",$y="Engine Id",Hy="Unique identifier for the device (in hex).",Uy="This field is required.",jy="The value does not match the pattern: " + "\ufffd#2\ufffd" + "Must be in hexadecimal and length must be multiple of 2 with min value = 10 amd max value = 64." + "\ufffd/#2\ufffd" + "",K1="Auth Protocol",Om="-- Select auth protocol --",By="This field is required.",mh="Privacy Protocol",wu="-- Select privacy protocol --",ev="SNMP Community",Kd="This field is required.",Am="Username",Yy="This field is required.",tv="Password",nv="This field is required.",rv="Encryption",Zy="This field is required.",Vy="SSL",Gy="Certificate",iv="The SSL certificate in PEM format.",zy="This field is required.",RT="Invalid SSL certificate.",Wy="Private key",qy="The SSL private key in PEM format.",vh="This field is required.",NT="Invalid SSL private key.",[[3,"pageURL","modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","service_type",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],["id","service_type","name","service_type","formControlName","service_type",1,"form-control"],[3,"ngValue"],d,[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],[4,"ngIf"],[1,"modal-footer"],[1,"text-right"],[3,"form","submitText","submitActionEvent"],[3,"value"],[1,"invalid-feedback"],w,["for","backend_service",1,"cd-col-form-label",3,"ngClass"],re,["id","backend_service","name","backend_service","formControlName","backend_service",1,"form-control",3,"change"],[3,"ngValue",4,"ngIf"],Ze,Lt,Gt,On,["for","service_id",1,"cd-col-form-label",3,"ngClass"],fr,["id","service_id","type","text","formControlName","service_id",1,"form-control"],hr,Jr,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","unmanaged","type","checkbox","formControlName","unmanaged",1,"custom-control-input"],["for","unmanaged",1,"custom-control-label"],$i,["for","placement",1,"cd-col-form-label"],bo,["id","placement","formControlName","placement",1,"form-control"],["value","hosts"],_o,["value","label"],Yi,["for","label",1,"cd-col-form-label"],Xs,["id","label","type","text","formControlName","label",1,"form-control",3,"ngbTypeahead","focus","click"],ls,["for","hosts",1,"cd-col-form-label"],js,["id","hosts",3,"data","options","messages"],["for","count",1,"cd-col-form-label"],ga,wl,["id","count","type","number","formControlName","count","min","1",1,"form-control"],wa,Wl,["for","rgw_frontend_port",1,"cd-col-form-label"],zc,["id","rgw_frontend_port","type","number","formControlName","rgw_frontend_port","min","1","max","65535",1,"form-control"],Ls,yu,wf,["for","pool",1,"cd-col-form-label","required"],ju,["id","pool","name","pool","formControlName","pool",1,"form-control"],["for","trusted_ip_list",1,"cd-col-form-label"],Bu,Df,xf,["id","trusted_ip_list","type","text","formControlName","trusted_ip_list",1,"form-control"],["for","api_port",1,"cd-col-form-label"],as,["id","api_port","type","number","formControlName","api_port","min","1","max","65535",1,"form-control"],["for","api_user",1,"cd-col-form-label",3,"ngClass"],Cs,["id","api_user","type","text","formControlName","api_user",1,"form-control"],["for","api_password",1,"cd-col-form-label",3,"ngClass"],Bs,[1,"input-group"],["id","api_password","type","password","autocomplete","new-password","formControlName","api_password",1,"form-control"],[1,"input-group-append"],["type","button","cdPasswordButton","api_password",1,"btn","btn-light"],["source","api_password"],Da,sc,fu,Pc,Wc,Pl,vp,pu,Cd,["for","virtual_ip",1,"cd-col-form-label",3,"ngClass"],Ld,Yu,["id","virtual_ip","type","text","formControlName","virtual_ip",1,"form-control"],["for","frontend_port",1,"cd-col-form-label",3,"ngClass"],Ys,sg,["id","frontend_port","type","number","formControlName","frontend_port","min","1","max","65535",1,"form-control"],["for","monitor_port",1,"cd-col-form-label",3,"ngClass"],yp,ag,["id","monitor_port","type","number","formControlName","monitor_port","min","1","max","65535",1,"form-control"],["for","virtual_interface_networks",1,"cd-col-form-label"],lg,n_,["id","virtual_interface_networks","type","text","formControlName","virtual_interface_networks",1,"form-control"],bp,Sm,r_,cg,ug,dg,Ns,Py,X1,["for","snmp_version",1,"cd-col-form-label","required"],Iy,["id","snmp_version","name","snmp_version","formControlName","snmp_version",1,"form-control",3,"change"],Ly,["for","snmp_destination",1,"cd-col-form-label","required"],wT,DT,["id","snmp_destination","type","text","formControlName","snmp_destination",1,"form-control"],xT,Mm,Fy,ky,["for","engine_id",1,"cd-col-form-label","required"],$y,Hy,["id","engine_id","type","text","formControlName","engine_id",1,"form-control"],Uy,jy,["for","auth_protocol",1,"cd-col-form-label","required"],K1,["id","auth_protocol","name","auth_protocol","formControlName","auth_protocol",1,"form-control"],Om,By,["for","privacy_protocol",1,"cd-col-form-label"],mh,["id","privacy_protocol","name","privacy_protocol","formControlName","privacy_protocol",1,"form-control"],wu,["for","snmp_community",1,"cd-col-form-label","required"],ev,["id","snmp_community","type","text","formControlName","snmp_community",1,"form-control"],Kd,["for","snmp_v3_auth_username",1,"cd-col-form-label","required"],Am,["id","snmp_v3_auth_username","type","text","formControlName","snmp_v3_auth_username",1,"form-control"],Yy,["for","snmp_v3_auth_password",1,"cd-col-form-label","required"],tv,["id","snmp_v3_auth_password","type","password","formControlName","snmp_v3_auth_password",1,"form-control"],nv,["for","snmp_v3_priv_password",1,"cd-col-form-label","required"],rv,["id","snmp_v3_priv_password","type","password","formControlName","snmp_v3_priv_password",1,"form-control"],Zy,["id","ssl","type","checkbox","formControlName","ssl",1,"custom-control-input"],["for","ssl",1,"custom-control-label"],Vy,["for","ssl_cert",1,"cd-col-form-label"],Gy,iv,["id","ssl_cert","formControlName","ssl_cert","rows","5",1,"form-control","resize-vertical","text-monospace","text-pre"],["type","file",3,"change"],zy,RT,["for","ssl_key",1,"cd-col-form-label"],Wy,qy,["id","ssl_key","formControlName","ssl_key","rows","5",1,"form-control","resize-vertical","text-monospace","text-pre"],vh,NT]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.qZA(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.TgZ(13,"select",11),e.TgZ(14,"option",12),e.SDv(15,13),e.qZA(),e.YNc(16,Zd,2,2,"option",14),e.qZA(),e.YNc(17,Uf,2,0,"span",15),e.qZA(),e.qZA(),e.YNc(18,jf,10,9,"div",16),e.YNc(19,Bf,7,6,"div",16),e.YNc(20,lp,6,0,"div",16),e.YNc(21,Op,9,0,"div",16),e.YNc(22,Yf,6,2,"div",16),e.YNc(23,xd,5,3,"div",16),e.YNc(24,Ap,10,2,"div",16),e.YNc(25,T,9,3,"ng-container",17),e.YNc(26,so,48,18,"ng-container",17),e.YNc(27,ps,46,21,"ng-container",17),e.YNc(28,Ju,31,13,"ng-container",17),e.YNc(29,Lm,9,3,"ng-container",17),e.qZA(),e.TgZ(30,"div",18),e.TgZ(31,"div",19),e.TgZ(32,"cd-form-button-panel",20),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.ALo(33,"titlecase"),e.ALo(34,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n){const w=e.MAs(7);e.Q6J("pageURL",d.pageURL)("modalRef",d.activeModal),e.xp6(4),e.pQV(e.lcZ(3,22,d.action))(e.lcZ(4,24,d.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.serviceForm),e.xp6(8),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",d.serviceTypes),e.xp6(1),e.Q6J("ngIf",d.serviceForm.showError("service_type",w,"required")),e.xp6(1),e.Q6J("ngIf","ingress"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf","snmp-gateway"!==d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf","snmp-gateway"!==d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"label"===d.serviceForm.controls.placement.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"hosts"===d.serviceForm.controls.placement.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"rgw"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"iscsi"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"ingress"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&"snmp-gateway"===d.serviceForm.controls.service_type.value),e.xp6(1),e.Q6J("ngIf",!d.serviceForm.controls.unmanaged.value&&e.DdM(30,h_).includes(d.serviceForm.controls.service_type.value)),e.xp6(3),e.Q6J("form",d.serviceForm)("submitText",e.lcZ(33,26,d.action)+" "+e.lcZ(34,28,d.resource))}},directives:[nl.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,kn.P,As.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,Hn.YN,Hn.Kr,s.sg,s.O5,jr.p,s.mk,Hn.Fj,Hn.Wl,Br.dR,p.m,yl.S,Hn.wV,Hn.qQ,Hn.Fd,yd.C,Hc.s],pipes:[s.rS,E.m],styles:[""]}),f})();function zd(f,y){if(1&f&&(e.ynx(0),e._UZ(1,"cd-service-daemon-list",1),e.BQk()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("serviceName",n.selection.service_name)}}let Wp=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-service-details"]],inputs:{permissions:"permissions",selection:"selection"},decls:1,vars:1,consts:[[4,"ngIf"],[3,"serviceName"]],template:function(n,d){1&n&&e.YNc(0,zd,2,1,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Jc],styles:[""]}),f})();function qp(f,y){1&f&&e._UZ(0,"cd-orchestrator-doc-panel")}function Ah(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"cd-table",2),e.NdJ("fetchData",function(w){return e.CHM(n),e.oxw().getServices(w)})("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e._UZ(2,"cd-table-actions",3),e._UZ(3,"cd-service-details",4),e.qZA(),e.BQk()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("data",n.services)("columns",n.columns)("autoReload",5e3)("hasDetails",n.hasDetails),e.xp6(1),e.Q6J("permission",n.permissions.hosts)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("permissions",n.permissions)("selection",n.expandedRow)}}const g_="services";let m_=(()=>{class f extends mi.o{constructor(n,d,w,re,Ze,Lt,Gt,On){super(),this.actionLabels=n,this.authStorageService=d,this.modalService=w,this.orchService=re,this.cephServiceService=Ze,this.relativeDatePipe=Lt,this.taskWrapperService=Gt,this.router=On,this.hiddenColumns=[],this.hiddenServices=[],this.hasDetails=!0,this.routedModal=!0,this.showDocPanel=!1,this.actionOrchFeatures={create:[ml.SERVICE_CREATE],update:[ml.SERVICE_EDIT],delete:[ml.SERVICE_DELETE]},this.columns=[],this.services=[],this.isLoadingServices=!1,this.selection=new si.r,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"create",icon:eo.P.add,click:()=>this.openModal(),name:this.actionLabels.CREATE,canBePrimary:fr=>!fr.hasSelection,disable:fr=>this.getDisable("create",fr)},{permission:"update",icon:eo.P.edit,click:()=>this.openModal(!0),name:this.actionLabels.EDIT,disable:fr=>this.getDisable("update",fr)},{permission:"delete",icon:eo.P.destroy,click:()=>this.deleteAction(),name:this.actionLabels.DELETE,disable:fr=>this.getDisable("delete",fr)}]}openModal(n=!1){var d,w,re;if(this.routedModal)this.router.navigate(n?[g_,{outlets:{modal:[uo.MQ.EDIT,this.selection.first().service_type,this.selection.first().service_name]}}]:[g_,{outlets:{modal:[uo.MQ.CREATE]}}]);else{let Ze={};Ze=n?{serviceName:null===(d=this.selection.first())||void 0===d?void 0:d.service_name,serviceType:null===(re=null===(w=this.selection)||void 0===w?void 0:w.first())||void 0===re?void 0:re.service_type,hiddenServices:this.hiddenServices,editing:n}:{hiddenServices:this.hiddenServices,editing:n},this.bsModalRef=this.modalService.show(__,Ze,{size:"lg"})}}ngOnInit(){const n=[{name:"Service",prop:"service_name",flexGrow:1},{name:"Placement",prop:"",pipe:new ff,flexGrow:2},{name:"Running",prop:"status.running",flexGrow:1},{name:"Size",prop:"status.size",flexGrow:1},{name:"Last Refreshed",prop:"status.last_refresh",pipe:this.relativeDatePipe,flexGrow:1}];this.columns=n.filter(d=>!this.hiddenColumns.includes(d.prop)),this.orchService.status().subscribe(d=>{this.orchStatus=d,this.showDocPanel=!d.available})}ngOnChanges(){var n;(null===(n=this.orchStatus)||void 0===n?void 0:n.available)&&(this.services=[],this.table.reloadData())}getDisable(n,d){var w;return"delete"===n&&!(null==d?void 0:d.hasSingleSelection)||"update"===n&&["osd","container"].indexOf(null===(w=this.selection.first())||void 0===w?void 0:w.service_type)>=0||this.orchService.getTableActionDisableDesc(this.orchStatus,this.actionOrchFeatures[n])}getServices(n){this.isLoadingServices||(this.isLoadingServices=!0,this.cephServiceService.list().subscribe(d=>{this.services=d,this.services=this.services.filter(w=>!this.hiddenServices.includes(w.service_name)),this.isLoadingServices=!1},()=>{this.isLoadingServices=!1,this.services=[],n.error()}))}updateSelection(n){this.selection=n}deleteAction(){const n=this.selection.first();this.modalService.show(jo.M,{itemDescription:"Service",itemNames:[n.service_name],actionDescription:"delete",submitActionObservable:()=>this.taskWrapperService.wrapTaskAroundCall({task:new Va.R(`service/${uo.MQ.DELETE}`,{service_name:n.service_name}),call:this.cephServiceService.delete(n.service_name)}).pipe((0,$f.g)(5e3))})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(hi.j),e.Y36(na.Z),e.Y36(el),e.Y36(me),e.Y36(X.h),e.Y36(ki.P),e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-services"]],viewQuery:function(n,d){if(1&n&&e.Gf(Ui.a,7),2&n){let w;e.iGM(w=e.CRH())&&(d.table=w.first)}},inputs:{hostname:"hostname",hiddenColumns:"hiddenColumns",hiddenServices:"hiddenServices",hasDetails:"hasDetails",routedModal:"routedModal"},features:[e._Bn([{provide:vl.F,useValue:new vl.F(g_)}]),e.qOj,e.TTD],decls:3,vars:2,consts:[[4,"ngIf"],["name","modal"],["identifier","service_name","forceIdentifier","true","columnMode","flex","selectionType","single",3,"data","columns","autoReload","hasDetails","fetchData","setExpandedRow","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"permissions","selection"]],template:function(n,d){1&n&&(e.YNc(0,qp,1,0,"cd-orchestrator-doc-panel",0),e.YNc(1,Ah,4,9,"ng-container",0),e._UZ(2,"router-outlet",1)),2&n&&(e.Q6J("ngIf",d.showDocPanel),e.xp6(1),e.Q6J("ngIf",null==d.orchStatus?null:d.orchStatus.available))},directives:[s.O5,tn.lC,xs,Ui.a,ha.K,Wp],styles:[""]}),f})();const v_=function(){return["services","status"]};let Fm=(()=>{class f{constructor(n,d,w,re,Ze){this.wizardStepsService=n,this.cephServiceService=d,this.dimlessBinary=w,this.hostService=re,this.osdService=Ze,this.hosts=[],this.totalCapacity=0,this.services=[],this.totalCPUs=0,this.totalMemory=0}ngOnInit(){var n,d,w;let re=0,Ze=0,Lt=0,Gt=0,On=0,fr=0;this.hostService.list("true").subscribe(hr=>{this.hosts=hr,this.hostsCount=this.hosts.length,gn().forEach(this.hosts,Jr=>{this.totalCPUs=this.totalCPUs+Jr.cpu_count,this.totalMemory=this.totalMemory+1024*Jr.memory_total_kb}),this.totalMemory=this.dimlessBinary.transform(this.totalMemory)}),this.osdService.osdDevices.data&&(re=null===(n=this.osdService.osdDevices.data)||void 0===n?void 0:n.length,Ze=this.osdService.osdDevices.data.capacity),this.osdService.osdDevices.wal&&(Lt=null===(d=this.osdService.osdDevices.wal)||void 0===d?void 0:d.length,Gt=this.osdService.osdDevices.wal.capacity),this.osdService.osdDevices.db&&(On=null===(w=this.osdService.osdDevices.db)||void 0===w?void 0:w.length,fr=this.osdService.osdDevices.db.capacity),this.totalDevices=re+Lt+On,this.osdService.osdDevices.totalDevices=this.totalDevices,this.totalCapacity=Ze+Gt+fr}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(pl),e.Y36(me),e.Y36(Se.$),e.Y36(Zl),e.Y36(lc))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-create-cluster-review"]],decls:43,vars:14,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="Cluster Resources",n="Hosts",d="Storage Capacity",w="Number of devices",re="Raw capacity",Ze="CPUs",Lt="Memory",Gt="Host Details",[[1,"row"],[1,"col-lg-3"],[1,"cd-header"],y,[1,"table","table-striped"],[1,"bold"],n,d,w,re,[1,"pt-5"],Ze,Lt,[1,"col-lg-9"],Gt,[3,"hiddenColumns","hideToolHeader","hideTitle","hideSubmitBtn","hasTableDetails","showGeneralActionsOnly"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"fieldset"),e.TgZ(3,"legend",2),e.SDv(4,3),e.qZA(),e.TgZ(5,"table",4),e.TgZ(6,"tr"),e.TgZ(7,"td",5),e.SDv(8,6),e.qZA(),e.TgZ(9,"td"),e._uU(10),e.qZA(),e.qZA(),e.TgZ(11,"tr"),e.TgZ(12,"td"),e.TgZ(13,"dl"),e.TgZ(14,"dt"),e.TgZ(15,"p"),e.SDv(16,7),e.qZA(),e.qZA(),e.TgZ(17,"dd"),e.TgZ(18,"p"),e.SDv(19,8),e.qZA(),e.qZA(),e.TgZ(20,"dd"),e.TgZ(21,"p"),e.SDv(22,9),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(23,"td",10),e.TgZ(24,"p"),e._uU(25),e.qZA(),e.TgZ(26,"p"),e._uU(27),e.ALo(28,"dimlessBinary"),e.qZA(),e.qZA(),e.qZA(),e.TgZ(29,"tr"),e.TgZ(30,"td",5),e.SDv(31,11),e.qZA(),e.TgZ(32,"td"),e._uU(33),e.qZA(),e.qZA(),e.TgZ(34,"tr"),e.TgZ(35,"td",5),e.SDv(36,12),e.qZA(),e.TgZ(37,"td"),e._uU(38),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(39,"div",13),e.TgZ(40,"legend",2),e.SDv(41,14),e.qZA(),e._UZ(42,"cd-hosts",15),e.qZA(),e.qZA()),2&n&&(e.xp6(10),e.Oqu(d.hostsCount),e.xp6(15),e.Oqu(d.totalDevices),e.xp6(2),e.hij(" ",e.lcZ(28,11,d.totalCapacity),""),e.xp6(6),e.Oqu(d.totalCPUs),e.xp6(5),e.Oqu(d.totalMemory),e.xp6(4),e.Q6J("hiddenColumns",e.DdM(13,v_))("hideToolHeader",!0)("hideTitle",!0)("hideSubmitBtn",!0)("hasTableDetails",!1)("showGeneralActionsOnly",!0))},directives:[zu],pipes:[Se.$],styles:["cd-hosts[_ngcontent-%COMP%] .nav{display:none}"]}),f})();const hg=["skipConfirmTpl"];function Fu(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",3),e.TgZ(1,"div",4),e.TgZ(2,"div",5),e._UZ(3,"img",6),e.TgZ(4,"h3",7),e.SDv(5,8),e.qZA(),e.TgZ(6,"div",9),e.TgZ(7,"h4",10),e.SDv(8,11),e.qZA(),e.TgZ(9,"div",12),e.TgZ(10,"button",13),e.NdJ("click",function(){return e.CHM(n),e.oxw().createCluster()}),e.SDv(11,14),e.qZA(),e.TgZ(12,"button",15),e.NdJ("click",function(){return e.CHM(n),e.oxw().skipClusterCreation()}),e.SDv(13,16),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(3),e.Q6J("src",n.projectConstants.cephLogo,e.LSH),e.xp6(2),e.pQV(n.projectConstants.projectName),e.QtT(5)}}const wh=function(){return["services"]};function Dh(f,y){1&f&&(e.TgZ(0,"div",29),e.TgZ(1,"h4",30),e.SDv(2,31),e.qZA(),e._UZ(3,"br"),e._UZ(4,"cd-hosts",32),e.qZA()),2&f&&(e.xp6(4),e.Q6J("hiddenColumns",e.DdM(5,wh))("hideTitle",!0)("hideSubmitBtn",!0)("hasTableDetails",!1)("showGeneralActionsOnly",!0))}function Jp(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",29),e.TgZ(1,"h4",30),e.SDv(2,33),e.qZA(),e._UZ(3,"br"),e.TgZ(4,"div",34),e.TgZ(5,"cd-osd-form",35),e.NdJ("emitDriveGroup",function(w){return e.CHM(n),e.oxw(2).getDriveGroup(w)}),e.qZA(),e.qZA(),e.qZA()}2&f&&(e.xp6(5),e.Q6J("hideTitle",!0)("hideSubmitBtn",!0))}const nc=function(){return["mon","mgr","crash","agent"]},uu=function(){return["status.running","status.size","status.last_refresh"]};function Cl(f,y){1&f&&(e.TgZ(0,"div",29),e.TgZ(1,"h4",30),e.SDv(2,36),e.qZA(),e._UZ(3,"br"),e._UZ(4,"cd-services",37),e.qZA()),2&f&&(e.xp6(4),e.Q6J("hasDetails",!1)("hiddenServices",e.DdM(4,nc))("hiddenColumns",e.DdM(5,uu))("routedModal",!1))}function y_(f,y){1&f&&(e.TgZ(0,"div",29),e._UZ(1,"cd-create-cluster-review"),e.qZA())}function Qp(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",17),e.TgZ(1,"div",18),e.SDv(2,19),e.qZA(),e.TgZ(3,"div",20),e._UZ(4,"cd-wizard",21),e.TgZ(5,"div",22),e.ynx(6,23),e.YNc(7,Dh,5,6,"div",24),e.YNc(8,Jp,6,2,"div",24),e.YNc(9,Cl,5,6,"div",24),e.YNc(10,y_,2,0,"div",24),e.BQk(),e.qZA(),e.qZA(),e.TgZ(11,"div",25),e.TgZ(12,"button",26),e.NdJ("click",function(){return e.CHM(n),e.oxw().onNextStep()}),e.SDv(13,27),e.qZA(),e.TgZ(14,"cd-back-button",28),e.NdJ("backAction",function(){return e.CHM(n),e.oxw().onPreviousStep()}),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(4),e.Q6J("stepsTitle",n.stepTitles),e.xp6(2),e.Q6J("ngSwitch",null==n.currentStep?null:n.currentStep.stepIndex),e.xp6(1),e.Q6J("ngSwitchCase","1"),e.xp6(1),e.Q6J("ngSwitchCase","2"),e.xp6(1),e.Q6J("ngSwitchCase","3"),e.xp6(1),e.Q6J("ngSwitchCase","4"),e.xp6(3),e.pQV(n.showSubmitButtonLabel()),e.QtT(13),e.xp6(1),e.Q6J("name",n.showCancelButtonLabel())}}function ll(f,y){1&f&&(e.TgZ(0,"span"),e.tHW(1,38),e._UZ(2,"strong"),e.N_p(),e.qZA(),e.TgZ(3,"div",39),e.SDv(4,40),e.qZA())}let ko=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On,fr,hr){this.authStorageService=n,this.wizardStepsService=d,this.router=w,this.hostService=re,this.notificationService=Ze,this.actionLabels=Lt,this.clusterService=Gt,this.modalService=On,this.taskWrapper=fr,this.osdService=hr,this.projectConstants=uo.$x,this.stepTitles=["Add Hosts","Create OSDs","Create Services","Review"],this.startClusterCreation=!1,this.observables=[],this.driveGroup=new iu,this.driveGroups=[],this.submitAction=new e.vpe,this.permissions=this.authStorageService.getPermissions(),this.currentStepSub=this.wizardStepsService.getCurrentStep().subscribe(Jr=>{this.currentStep=Jr}),this.currentStep.stepIndex=1}createCluster(){this.startClusterCreation=!0}skipClusterCreation(){const n={titleText:"Warning",buttonText:"Continue",warning:!0,bodyTpl:this.skipConfirmTpl,showSubmit:!0,onSubmit:()=>{this.clusterService.updateStatus("POST_INSTALLED").subscribe({error:()=>this.modalRef.close(),complete:()=>{this.notificationService.show(Ho.k.info,"Cluster expansion skipped by user"),this.router.navigate(["/dashboard"]),this.modalRef.close()}})}};this.modalRef=this.modalService.show(Ll.Y,n)}onSubmit(){if(this.hostService.list("false").subscribe(n=>{n.forEach(d=>{const w=d.labels.indexOf("_no_schedule",0);w>-1&&(d.labels.splice(w,1),this.observables.push(this.hostService.update(d.hostname,!0,d.labels)))}),(0,zs.D)(this.observables).pipe((0,La.x)(()=>this.clusterService.updateStatus("POST_INSTALLED").subscribe(()=>{this.notificationService.show(Ho.k.success,"Cluster expansion was successful"),this.router.navigate(["/dashboard"])}))).subscribe({error:d=>d.preventDefault()})}),this.driveGroup){const n=this.authStorageService.getUsername();this.driveGroup.setName(`dashboard-${n}-${gn().now()}`),this.driveGroups.push(this.driveGroup.spec)}this.osdService.osdDevices.totalDevices>0&&this.taskWrapper.wrapTaskAroundCall({task:new Va.R("osd/"+uo.MQ.CREATE,{tracking_id:gn().join(gn().map(this.driveGroups,"service_id"),", ")}),call:this.osdService.create(this.driveGroups)}).subscribe({error:n=>n.preventDefault(),complete:()=>{this.submitAction.emit(),this.osdService.osdDevices=[]}})}getDriveGroup(n){this.driveGroup=n}onNextStep(){this.wizardStepsService.isLastStep()?this.onSubmit():(this.wizardStepsService.getCurrentStep().subscribe(n=>{this.currentStep=n}),this.wizardStepsService.moveToNextStep())}onPreviousStep(){this.wizardStepsService.isFirstStep()?this.router.navigate(["/dashboard"]):this.wizardStepsService.moveToPreviousStep()}showSubmitButtonLabel(){return this.wizardStepsService.isLastStep()?"Expand Cluster":this.actionLabels.NEXT}showCancelButtonLabel(){return this.wizardStepsService.isFirstStep()?this.actionLabels.CANCEL:this.actionLabels.BACK}ngOnDestroy(){this.currentStepSub.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(pl),e.Y36(tn.F0),e.Y36(Zl),e.Y36(Zi.g),e.Y36(uo.p4),e.Y36(cc),e.Y36(na.Z),e.Y36(ki.P),e.Y36(lc))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-create-cluster"]],viewQuery:function(n,d){if(1&n&&e.Gf(hg,7),2&n){let w;e.iGM(w=e.CRH())&&(d.skipConfirmTpl=w.first)}},outputs:{submitAction:"submitAction"},decls:4,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr;return y="Welcome to " + "\ufffd0\ufffd" + "",n="Please expand your cluster first",d="Expand Cluster",w="Skip",re="Expand Cluster",Ze="" + "\ufffd0\ufffd" + "",Lt="Add Hosts",Gt="Create OSDs",On="Create Services",fr="You are about to skip the cluster expansion process. You\u2019ll need to " + "\ufffd#2\ufffd" + "navigate through the menu to add hosts and services." + "\ufffd/#2\ufffd" + "",hr="Are you sure you want to continue?",[["class","container h-75",4,"ngIf"],["class","card",4,"ngIf"],["skipConfirmTpl",""],[1,"container","h-75"],[1,"row","h-100","justify-content-center","align-items-center"],[1,"blank-page"],["alt","Ceph",1,"img-fluid","mx-auto","d-block",3,"src"],[1,"text-center","m-2"],y,[1,"m-4"],[1,"text-center"],n,[1,"offset-md-2"],["name","expand-cluster",1,"btn","btn-accent","m-2",3,"click"],d,["name","skip-cluster-creation",1,"btn","btn-light",3,"click"],w,[1,"card"],[1,"card-header"],re,[1,"container-fluid"],[3,"stepsTitle"],[1,"card-body","vertical-line"],[3,"ngSwitch"],["class","ml-5",4,"ngSwitchCase"],[1,"card-footer"],["aria-label","Next",1,"btn","btn-accent","m-2","float-right",3,"click"],Ze,["aria-label","Close",1,"m-2","float-right",3,"name","backAction"],[1,"ml-5"],[1,"title"],Lt,[3,"hiddenColumns","hideTitle","hideSubmitBtn","hasTableDetails","showGeneralActionsOnly"],Gt,[1,"alignForm"],[3,"hideTitle","hideSubmitBtn","emitDriveGroup"],On,[3,"hasDetails","hiddenServices","hiddenColumns","routedModal"],fr,[1,"mt-4"],hr]},template:function(n,d){1&n&&(e.YNc(0,Fu,14,2,"div",0),e.YNc(1,Qp,15,8,"div",1),e.YNc(2,ll,5,0,"ng-template",null,2,e.W1O)),2&n&&(e.Q6J("ngIf",!d.startClusterCreation),e.xp6(1),e.Q6J("ngIf",d.startClusterCreation))},directives:[s.O5,As.o,ou,s.RF,s.n9,xl.W,zu,md,m_,Fm],styles:[".container-fluid[_ngcontent-%COMP%]{align-items:flex-start;display:flex;padding-left:0;width:100%}.card-body[_ngcontent-%COMP%]{max-width:85%}.vertical-line[_ngcontent-%COMP%]{border-left:1px solid #ced4da}cd-wizard[_ngcontent-%COMP%]{width:15%}cd-hosts[_ngcontent-%COMP%] .nav{display:none}.alignForm[_ngcontent-%COMP%]{margin-left:-1%}"]}),f})();var Wa=o(83608),Xp=o(55358);const Wd=["tree"],Uc=function(f,y,n){return[f,y,n]};function xh(f,y){if(1&f&&e._UZ(0,"i",12),2&f){const n=e.oxw();e.Q6J("ngClass",e.kEZ(1,Uc,n.icons.large,n.icons.spinner,n.icons.spin))}}const Qu=function(){return["in","up"]},Au=function(){return["down","out","destroyed"]},Rh=function(f,y){return{"badge-success":f,"badge-danger":y}};function Nh(f,y){if(1&f&&(e.TgZ(0,"span",15),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.Q6J("ngClass",e.WLB(4,Rh,e.DdM(2,Qu).includes(n.data.status),e.DdM(3,Au).includes(n.data.status))),e.xp6(1),e.hij(" ",n.data.status," ")}}const Vf=function(f){return{"type-osd":f}};function Ph(f,y){if(1&f&&(e.YNc(0,Nh,2,7,"span",13),e.TgZ(1,"span"),e._uU(2,"\xa0"),e.qZA(),e._UZ(3,"span",14)),2&f){const n=y.$implicit;e.Q6J("ngIf",n.data.status),e.xp6(3),e.Q6J("ngClass",e.VKq(3,Vf,"osd"===n.data.type))("innerHTML",n.data.name,e.oJD)}}function Dp(f,y){if(1&f&&(e.TgZ(0,"div",16),e.TgZ(1,"legend"),e._uU(2),e.qZA(),e._UZ(3,"cd-table-key-value",17),e.qZA()),2&f){const n=e.oxw();e.xp6(2),e.Oqu(n.metadataTitle),e.xp6(1),e.Q6J("data",n.metadata)}}let Ih=(()=>{class f{constructor(n,d){this.crushRuleService=n,this.timerService=d,this.sub=new Vl.w,this.icons=eo.P,this.loadingIndicator=!0,this.nodes=[],this.treeOptions={useVirtualScroll:!0,nodeHeight:22,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}},this.metadataKeyMap={}}ngOnInit(){this.sub=this.timerService.get(()=>this.crushRuleService.getInfo(),5e3).subscribe(n=>{this.loadingIndicator=!1,this.nodes=this.abstractTreeData(n)})}ngOnDestroy(){this.sub.unsubscribe()}abstractTreeData(n){const d=n.nodes||[],w=n.roots||[],re={};if(0===d.length)return[{name:"No nodes!"}];const Ze=[];return d.reverse().forEach(Gt=>{w.includes(Gt.id)&&Ze.push(Gt.id),re[Gt.id]=this.generateTreeLeaf(Gt,re)}),Ze.map(Gt=>re[Gt])}generateTreeLeaf(n,d){const w=n.id;this.metadataKeyMap[w]=n;const Lt=[],Gt={name:n.name+" ("+n.type+")",status:n.status,cdId:w,type:n.type};return n.children&&(n.children.sort().forEach(On=>{Lt.push(d[On])}),Gt.children=Lt),Gt}onNodeSelected(n,d){if(Es.iM.ACTIVATE(n,d,!0),void 0!==d.data.cdId){const w=this.metadataKeyMap[d.data.cdId],{name:re,type:Ze}=w,Gt=(0,xr._T)(w,["name","type","status"]);this.metadata=Gt,this.metadataTitle=re+" ("+Ze+")"}else delete this.metadata,delete this.metadataTitle}onUpdateData(){this.tree.treeModel.expandAll()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Wa.H),e.Y36(Xp.f))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-crushmap"]],viewQuery:function(n,d){if(1&n&&e.Gf(Wd,5),2&n){let w;e.iGM(w=e.CRH())&&(d.tree=w.first)}},decls:14,vars:4,consts:function(){let y;return y="CRUSH map viewer",[[1,"row"],[1,"col-sm-12","col-lg-12"],[1,"card"],[1,"card-header"],y,[1,"card-body"],[1,"col-sm-6","col-lg-6","tree-container"],[3,"ngClass",4,"ngIf"],[3,"nodes","options","updateData"],["tree",""],["treeNodeTemplate",""],["class","col-sm-6 col-lg-6 metadata",4,"ngIf"],[3,"ngClass"],["class","badge",3,"ngClass",4,"ngIf"],[1,"node-name",3,"ngClass","innerHTML"],[1,"badge",3,"ngClass"],[1,"col-sm-6","col-lg-6","metadata"],[3,"data"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"div",2),e.TgZ(3,"div",3),e.SDv(4,4),e.qZA(),e.TgZ(5,"div",5),e.TgZ(6,"div",0),e.TgZ(7,"div",6),e.YNc(8,xh,1,5,"i",7),e.TgZ(9,"tree-root",8,9),e.NdJ("updateData",function(){return d.onUpdateData()}),e.YNc(11,Ph,4,5,"ng-template",null,10,e.W1O),e.qZA(),e.qZA(),e.YNc(13,Dp,4,2,"div",11),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(8),e.Q6J("ngIf",d.loadingIndicator),e.xp6(1),e.Q6J("nodes",d.nodes)("options",d.treeOptions),e.xp6(4),e.Q6J("ngIf",d.metadata))},directives:[s.O5,Es.qr,s.mk,Ft.b],styles:[".tree-container[_ngcontent-%COMP%]{height:calc(100vh - 200px)}"]}),f})(),Xu=(()=>{class f{constructor(n){this.http=n}getLogs(){return this.http.get("api/logs/all")}validateDashboardUrl(n){return this.http.get(`api/grafana/validation/${n}`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var Kp=o(49457);let Lh=(()=>{class f{download(n,d){(0,Kp.saveAs)(new Blob([n]),d)}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();const eh=function(f){return[f]};function xp(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"button",5),e.NdJ("click",function(){return e.CHM(n),e.oxw().download("json")}),e._UZ(1,"i",2),e.TgZ(2,"span"),e._uU(3,"JSON"),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(1,eh,n.icons.json))}}function b_(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"button",5),e.NdJ("click",function(){return e.CHM(n),e.oxw().download()}),e._UZ(1,"i",2),e.TgZ(2,"span"),e._uU(3,"Text"),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(1,eh,n.icons.text))}}let th=(()=>{class f{constructor(n){this.textToDownloadService=n,this.title="Download",this.icons=eo.P}download(n){this.fileName=`${this.fileName}_${(new Date).toLocaleDateString()}`,"json"===n?this.textToDownloadService.download(JSON.stringify(this.objectItem,null,2),`${this.fileName}.json`):this.textToDownloadService.download(this.textItem,`${this.fileName}.txt`)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Lh))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-download-button"]],inputs:{objectItem:"objectItem",textItem:"textItem",fileName:"fileName",title:"title"},decls:6,vars:6,consts:[["ngbDropdown","","placement","bottom-right"],["type","button","ngbDropdownToggle","",1,"btn","btn-light","dropdown-toggle-split",3,"title"],[3,"ngClass"],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"click",4,"ngIf"],["ngbDropdownItem","",3,"click"]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"button",1),e._UZ(2,"i",2),e.qZA(),e.TgZ(3,"div",3),e.YNc(4,xp,4,3,"button",4),e.YNc(5,b_,4,3,"button",4),e.qZA(),e.qZA()),2&n&&(e.xp6(1),e.Q6J("title",d.title),e.xp6(1),e.Q6J("ngClass",e.VKq(4,eh,d.icons.download)),e.xp6(2),e.Q6J("ngIf",d.objectItem),e.xp6(1),e.Q6J("ngIf",d.textItem))},directives:[Br.jt,As.o,Br.iD,s.mk,Br.Vi,s.O5,Br.TH],styles:[""]}),f})();var E_=o(42746);let fp=(()=>{class f{transform(n,d){if(!d)return n;d=this.escapeRegExp(d);const w=new RegExp(d,"gi");return n.match(w)?n.replace(w,"<mark>$&</mark>"):n}escapeRegExp(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"searchHighlight",type:f,pure:!0}),f})();function Ku(f,y){1&f&&e.GkF(0)}function ku(f,y){if(1&f&&(e.TgZ(0,"div",19),e._UZ(1,"cd-download-button",20),e._UZ(2,"cd-copy-2-clipboard-button",21),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("objectItem",n.clog)("textItem",n.clogText),e.xp6(1),e.Q6J("source",n.clogText)("byId",!1)}}function qd(f,y){if(1&f&&(e.TgZ(0,"p"),e.TgZ(1,"span",22),e._uU(2),e.ALo(3,"cdDate"),e.qZA(),e.TgZ(4,"span"),e.ALo(5,"logPriority"),e._uU(6),e.qZA(),e._UZ(7,"span",23),e.ALo(8,"searchHighlight"),e.qZA()),2&f){const n=y.$implicit,d=e.oxw(4);e.xp6(2),e.Oqu(e.lcZ(3,6,n.stamp)),e.xp6(2),e.Gre("priority ",e.lcZ(5,8,n.priority),""),e.xp6(2),e.Oqu(n.priority),e.xp6(1),e.Q6J("innerHTML",e.xi3(8,10,n.message,d.search),e.oJD)}}function Jd(f,y){1&f&&e.GkF(0)}function Gf(f,y){if(1&f&&(e.TgZ(0,"div",14),e.YNc(1,ku,3,4,"div",15),e.TgZ(2,"div",16),e.YNc(3,qd,9,13,"p",17),e.YNc(4,Jd,1,0,"ng-container",18),e.qZA(),e.qZA()),2&f){const n=e.oxw(3),d=e.MAs(4);e.xp6(1),e.Q6J("ngIf",n.clog.length),e.xp6(2),e.Q6J("ngForOf",n.clog),e.xp6(1),e.Q6J("ngIf",0!=n.clog.length)("ngIfElse",d)}}function vf(f,y){if(1&f&&e.YNc(0,Gf,5,4,"div",13),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.clog)}}function Fh(f,y){if(1&f&&(e.TgZ(0,"div",19),e._UZ(1,"cd-download-button",24),e._UZ(2,"cd-copy-2-clipboard-button",21),e.qZA()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("objectItem",n.audit_log)("textItem",n.auditLogText),e.xp6(1),e.Q6J("source",n.auditLogText)("byId",!1)}}function nh(f,y){if(1&f&&(e.TgZ(0,"p"),e.TgZ(1,"span",22),e._uU(2),e.ALo(3,"cdDate"),e.qZA(),e.TgZ(4,"span"),e.ALo(5,"logPriority"),e._uU(6),e.qZA(),e._UZ(7,"span",23),e.ALo(8,"searchHighlight"),e.qZA()),2&f){const n=y.$implicit,d=e.oxw(4);e.xp6(2),e.Oqu(e.lcZ(3,6,n.stamp)),e.xp6(2),e.Gre("priority ",e.lcZ(5,8,n.priority),""),e.xp6(2),e.Oqu(n.priority),e.xp6(1),e.Q6J("innerHTML",e.xi3(8,10,n.message,d.search),e.oJD)}}function T_(f,y){1&f&&e.GkF(0)}function rh(f,y){if(1&f&&(e.TgZ(0,"div",14),e.YNc(1,Fh,3,4,"div",15),e.TgZ(2,"div",16),e.YNc(3,nh,9,13,"p",17),e.YNc(4,T_,1,0,"ng-container",18),e.qZA(),e.qZA()),2&f){const n=e.oxw(3),d=e.MAs(4);e.xp6(1),e.Q6J("ngIf",n.audit_log.length),e.xp6(2),e.Q6J("ngForOf",n.audit_log),e.xp6(1),e.Q6J("ngIf",0!=n.audit_log.length)("ngIfElse",d)}}function Rp(f,y){if(1&f&&e.YNc(0,rh,5,4,"div",13),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.audit_log)}}function kh(f,y){if(1&f&&(e.TgZ(0,"div"),e.YNc(1,Ku,1,0,"ng-container",3),e.TgZ(2,"ul",4,5),e.TgZ(4,"li",6),e.TgZ(5,"a",7),e.SDv(6,8),e.qZA(),e.YNc(7,vf,1,1,"ng-template",9),e.qZA(),e.TgZ(8,"li",10),e.TgZ(9,"a",7),e.SDv(10,11),e.qZA(),e.YNc(11,Rp,1,1,"ng-template",9),e.qZA(),e.qZA(),e._UZ(12,"div",12),e.qZA()),2&f){const n=e.MAs(3);e.oxw();const d=e.MAs(2);e.xp6(1),e.Q6J("ngTemplateOutlet",d),e.xp6(11),e.Q6J("ngbNavOutlet",n)}}function Np(f,y){if(1&f&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.value),e.xp6(1),e.Oqu(n.name)}}const P=function(f){return[f]};function W(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",25),e.TgZ(1,"div",26),e.TgZ(2,"label",27),e.SDv(3,28),e.qZA(),e.TgZ(4,"select",29),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().priority=w})("ngModelChange",function(){return e.CHM(n),e.oxw().filterLogs()}),e.YNc(5,Np,2,2,"option",30),e.qZA(),e.qZA(),e.TgZ(6,"div",26),e.TgZ(7,"label",31),e.SDv(8,32),e.qZA(),e.TgZ(9,"div",33),e.TgZ(10,"div",34),e.TgZ(11,"span",35),e._UZ(12,"i",36),e.qZA(),e.qZA(),e.TgZ(13,"input",37),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().search=w})("keyup",function(){return e.CHM(n),e.oxw().filterLogs()}),e.qZA(),e.TgZ(14,"div",38),e.TgZ(15,"button",39),e.NdJ("click",function(){return e.CHM(n),e.oxw().clearSearchKey()}),e._UZ(16,"i"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(17,"div",26),e.TgZ(18,"label",40),e.SDv(19,41),e.qZA(),e.TgZ(20,"div",33),e.TgZ(21,"input",42,43),e.NdJ("click",function(){return e.CHM(n),e.MAs(22).open()})("ngModelChange",function(w){return e.CHM(n),e.oxw().selectedDate=w})("ngModelChange",function(){return e.CHM(n),e.oxw().filterLogs()}),e.qZA(),e.TgZ(23,"span",38),e.TgZ(24,"button",39),e.NdJ("click",function(){return e.CHM(n),e.oxw().clearDate()}),e._UZ(25,"i"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(26,"div",26),e.TgZ(27,"label"),e.SDv(28,44),e.qZA(),e.TgZ(29,"ngb-timepicker",45),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().startTime=w})("ngModelChange",function(){return e.CHM(n),e.oxw().filterLogs()}),e.qZA(),e.TgZ(30,"span"),e._uU(31,"\xa0\u2014\xa0"),e.qZA(),e.TgZ(32,"ngb-timepicker",45),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().endTime=w})("ngModelChange",function(){return e.CHM(n),e.oxw().filterLogs()}),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(4),e.Q6J("ngModel",n.priority),e.xp6(1),e.Q6J("ngForOf",n.priorities),e.xp6(7),e.Q6J("ngClass",e.VKq(16,P,n.icons.search)),e.xp6(1),e.Q6J("ngModel",n.search),e.xp6(3),e.Gre("icon-prepend ",n.icons.destroy,""),e.xp6(5),e.Q6J("maxDate",n.maxDate)("ngModel",n.selectedDate),e.xp6(4),e.Gre("icon-prepend ",n.icons.destroy,""),e.xp6(4),e.Q6J("spinners",!1)("ngModel",n.startTime),e.xp6(3),e.Q6J("spinners",!1)("ngModel",n.endTime)}}function Z(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"span"),e.SDv(1,47),e.qZA(),e.TgZ(2,"span"),e._uU(3,"\xa0"),e.qZA(),e.TgZ(4,"a",48),e.NdJ("click",function(){return e.CHM(n),e.oxw().resetFilter()}),e.SDv(5,49),e.qZA()}}let Ee=(()=>{class f{constructor(n,d,w){this.logsService=n,this.datePipe=d,this.ngZone=w,this.icons=eo.P,this.priorities=[{name:"Debug",value:"[DBG]"},{name:"Info",value:"[INF]"},{name:"Warning",value:"[WRN]"},{name:"Error",value:"[ERR]"},{name:"All",value:"All"}],this.priority="All",this.search="",this.startTime={hour:0,minute:0},this.endTime={hour:23,minute:59},this.maxDate={year:(new Date).getFullYear(),month:(new Date).getMonth()+1,day:(new Date).getDate()}}ngOnInit(){this.getInfo(),this.ngZone.runOutsideAngular(()=>{this.interval=window.setInterval(()=>{this.ngZone.run(()=>{this.getInfo()})},5e3)})}ngOnDestroy(){clearInterval(this.interval)}getInfo(){this.logsService.getLogs().subscribe(n=>{this.contentData=n,this.clogText=this.logToText(this.contentData.clog),this.auditLogText=this.logToText(this.contentData.audit_log),this.filterLogs()})}abstractFilters(){var n,d,w,re,Ze,Lt,Gt,On;const fr=this.priority,hr=this.search.toLowerCase();let Jr;if(this.selectedDate){const js=this.selectedDate.month,ga=this.selectedDate.day;Jr=`${this.selectedDate.year}-${js<=9?`0${js}`:`${js}`}-${ga<=9?`0${ga}`:`${ga}`}`}else Jr="";return{priority:fr,key:hr,yearMonthDay:Jr,sTime:60*(null!==(d=null===(n=this.startTime)||void 0===n?void 0:n.hour)&&void 0!==d?d:0)+(null!==(re=null===(w=this.startTime)||void 0===w?void 0:w.minute)&&void 0!==re?re:0),eTime:60*(null!==(Lt=null===(Ze=this.endTime)||void 0===Ze?void 0:Ze.hour)&&void 0!==Lt?Lt:23)+(null!==(On=null===(Gt=this.endTime)||void 0===Gt?void 0:Gt.minute)&&void 0!==On?On:59)}}filterExecutor(n,d){return n.filter(w=>{const re=this.datePipe.transform(w.stamp,"mediumTime"),Ze=parseInt(re.split(":")[0],10),Lt=parseInt(re.split(":")[1],10);let Gt,On,fr;return Gt="All"===d.priority?w.priority:d.priority,On=d.yearMonthDay?d.yearMonthDay:w.stamp,fr=60*Ze+Lt,w.priority===Gt&&-1!==w.message.toLowerCase().indexOf(d.key)&&-1!==w.stamp.indexOf(On)&&fr>=d.sTime&&fr<=d.eTime})}filterLogs(){const n=this.abstractFilters();this.clog=this.filterExecutor(this.contentData.clog,n),this.audit_log=this.filterExecutor(this.contentData.audit_log,n)}clearSearchKey(){this.search="",this.filterLogs()}clearDate(){this.selectedDate=null,this.filterLogs()}resetFilter(){return this.priority="All",this.search="",this.selectedDate=null,this.startTime={hour:0,minute:0},this.endTime={hour:23,minute:59},this.filterLogs(),!1}logToText(n){let d="";for(const w of Object.keys(n))d=d+this.datePipe.transform(n[w].stamp,"medium")+"\t"+n[w].priority+"\t"+n[w].message+"\n";return d}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Xu),e.Y36(s.uU),e.Y36(e.R0b))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-logs"]],decls:5,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="Cluster Logs",n="Audit Logs",d="Priority:",w="Keyword:",re="Date:",Ze="Time range:",Lt="No log entries found. Please try to select different filter options.",Gt="Reset filter.",[[4,"ngIf"],["logFiltersTpl",""],["noEntriesTpl",""],[4,"ngTemplateOutlet"],["ngbNav","","cdStatefulTab","logs",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","cluster-logs"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","audit-logs"],n,[3,"ngbNavOutlet"],["class","card bg-light mb-3",4,"ngIf"],[1,"card","bg-light","mb-3"],["class","btn-group","role","group",4,"ngIf"],[1,"card-body"],[4,"ngFor","ngForOf"],[4,"ngIf","ngIfElse"],["role","group",1,"btn-group"],["fileName","cluster_log",3,"objectItem","textItem"],[3,"source","byId"],[1,"timestamp"],[1,"message",3,"innerHTML"],["fileName","audit_log",3,"objectItem","textItem"],[1,"form-inline"],[1,"form-group"],["for","logs-priority"],d,["id","logs-priority",1,"form-control",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],["for","logs-keyword"],w,[1,"input-group"],[1,"input-group-prepend"],[1,"input-group-text"],[3,"ngClass"],["id","logs-keyword","type","text",1,"form-control",3,"ngModel","ngModelChange","keyup"],[1,"input-group-append"],["type","button",1,"btn","btn-light",3,"click"],["for","logs-date"],re,["id","logs-date","placeholder","YYYY-MM-DD","ngbDatepicker","",1,"form-control",3,"maxDate","ngModel","click","ngModelChange"],["d","ngbDatepicker"],Ze,[3,"spinners","ngModel","ngModelChange"],[3,"value"],Lt,["href","#",3,"click"],Gt]},template:function(n,d){1&n&&(e.YNc(0,kh,13,2,"div",0),e.YNc(1,W,33,18,"ng-template",null,1,e.W1O),e.YNc(3,Z,6,0,"ng-template",null,2,e.W1O)),2&n&&e.Q6J("ngIf",d.contentData)},directives:[s.O5,s.tP,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,s.sg,th,Hc.s,kn.P,As.o,Hn.EJ,zn.b,Hn.JJ,Hn.On,s.mk,Hn.Fj,Br.J4,Br.Pm,Hn.YN,Hn.Kr],pipes:[bi.N,E_.e,fp],styles:["p[_ngcontent-%COMP%]{font-family:monospace}.card[_ngcontent-%COMP%] .btn-group[_ngcontent-%COMP%]{margin-top:-45px;position:absolute;right:0}.card[_ngcontent-%COMP%] div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:flex}.card[_ngcontent-%COMP%] div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.card[_ngcontent-%COMP%] .timestamp[_ngcontent-%COMP%]{flex-shrink:0;font-weight:bold}.card[_ngcontent-%COMP%] .priority[_ngcontent-%COMP%]{margin-left:.5rem}.card[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{margin-left:1rem}.card[_ngcontent-%COMP%] .err[_ngcontent-%COMP%]{color:#ef5c55}.card[_ngcontent-%COMP%] .warn[_ngcontent-%COMP%]{color:#ffc200}.card[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{color:#2b99a8}.card[_ngcontent-%COMP%] .debug[_ngcontent-%COMP%]{color:#495057} cd-logs ngb-timepicker input.ngb-tp-input{width:3.5rem!important}"]}),f})(),Mt=(()=>{class f{constructor(n){this.http=n,this.url="api/mgr/module"}list(){return this.http.get(`${this.url}`)}getConfig(n){return this.http.get(`${this.url}/${n}`)}updateConfig(n,d){return this.http.put(`${this.url}/${n}`,{config:d})}enable(n){return this.http.post(`${this.url}/${n}/enable`,null)}disable(n){return this.http.post(`${this.url}/${n}/disable`,null)}getOptions(n){return this.http.get(`${this.url}/${n}/options`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function cn(f,y){if(1&f&&(e.TgZ(0,"cd-helper"),e._uU(1),e.ALo(2,"upperFirst"),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.hij(" ",e.lcZ(2,1,n.value.long_desc||n.value.desc)," ")}}function pr(f,y){if(1&f&&(e.TgZ(0,"div",15),e.TgZ(1,"div",16),e._UZ(2,"input",17),e._UZ(3,"label",18),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(2),e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name),e.xp6(1),e.s9C("for",n.value.name)}}function Rr(f,y){if(1&f&&e._UZ(0,"input",22),2&f){const n=e.oxw(2).$implicit;e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name)}}function ui(f,y){if(1&f&&(e.TgZ(0,"option",25),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("ngValue",n),e.xp6(1),e.hij(" ",n," ")}}function To(f,y){if(1&f&&(e.TgZ(0,"select",23),e.YNc(1,ui,2,2,"option",24),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name),e.xp6(1),e.Q6J("ngForOf",n.value.enum_allowed)}}function Io(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,27),e.qZA())}function os(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,28),e.qZA())}function Ta(f,y){if(1&f&&(e.TgZ(0,"div",15),e.YNc(1,Rr,1,2,"input",19),e.YNc(2,To,2,3,"select",20),e.YNc(3,Io,2,0,"span",21),e.YNc(4,os,2,0,"span",21),e.qZA()),2&f){const n=e.oxw().$implicit;e.oxw();const d=e.MAs(2),w=e.oxw();e.xp6(1),e.Q6J("ngIf",0===n.value.enum_allowed.length),e.xp6(1),e.Q6J("ngIf",n.value.enum_allowed.length>0),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"invalidUuid")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"pattern"))}}function _l(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,30),e.qZA())}function qa(f,y){if(1&f&&(e.TgZ(0,"span",26),e.SDv(1,31),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.pQV(n.value.max),e.QtT(1)}}function Rl(f,y){if(1&f&&(e.TgZ(0,"span",26),e.SDv(1,32),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.pQV(n.value.min),e.QtT(1)}}function Vc(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,33),e.qZA())}function jc(f,y){if(1&f&&(e.TgZ(0,"div",15),e._UZ(1,"input",29),e.YNc(2,_l,2,0,"span",21),e.YNc(3,qa,2,1,"span",21),e.YNc(4,Rl,2,1,"span",21),e.YNc(5,Vc,2,0,"span",21),e.qZA()),2&f){const n=e.oxw().$implicit;e.oxw();const d=e.MAs(2),w=e.oxw();e.xp6(1),e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name),e.s9C("min",n.value.min),e.s9C("max",n.value.max),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"required")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"max")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"min")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"pattern"))}}function ed(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,35),e.qZA())}function zf(f,y){1&f&&(e.TgZ(0,"span",26),e.SDv(1,36),e.qZA())}function Wf(f,y){if(1&f&&(e.TgZ(0,"div",15),e._UZ(1,"input",34),e.YNc(2,ed,2,0,"span",21),e.YNc(3,zf,2,0,"span",21),e.qZA()),2&f){const n=e.oxw().$implicit;e.oxw();const d=e.MAs(2),w=e.oxw();e.xp6(1),e.s9C("id",n.value.name),e.s9C("formControlName",n.value.name),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"required")),e.xp6(1),e.Q6J("ngIf",w.mgrModuleForm.showError(n.value.name,d,"pattern"))}}const tu=function(){return["addr","str","uuid"]},vc=function(){return["uint","int","size","secs"]};function td(f,y){if(1&f&&(e.TgZ(0,"div",11),e.TgZ(1,"label",12),e._uU(2),e.YNc(3,cn,3,3,"cd-helper",13),e.qZA(),e.YNc(4,pr,4,3,"div",14),e.YNc(5,Ta,5,4,"div",14),e.YNc(6,jc,6,8,"div",14),e.YNc(7,Wf,4,4,"div",14),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.s9C("for",n.value.name),e.xp6(1),e.hij(" ",n.value.name," "),e.xp6(1),e.Q6J("ngIf",n.value.long_desc||n.value.desc),e.xp6(1),e.Q6J("ngIf","bool"===n.value.type),e.xp6(1),e.Q6J("ngIf",e.DdM(7,tu).includes(n.value.type)),e.xp6(1),e.Q6J("ngIf",e.DdM(8,vc).includes(n.value.type)),e.xp6(1),e.Q6J("ngIf","float"===n.value.type)}}function Al(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.qZA(),e.TgZ(6,"div",7),e.YNc(7,td,8,9,"div",8),e.ALo(8,"keyvalue"),e.qZA(),e.TgZ(9,"div",9),e.TgZ(10,"cd-form-button-panel",10),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw().onSubmit()}),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.xp6(1),e.Q6J("formGroup",n.mgrModuleForm),e.xp6(6),e.Q6J("ngForOf",e.lcZ(8,4,n.moduleOptions)),e.xp6(3),e.Q6J("form",n.mgrModuleForm)("submitText",n.actionLabels.UPDATE)}}let rc=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt){super(),this.actionLabels=n,this.route=d,this.router=w,this.formBuilder=re,this.mgrModuleService=Ze,this.notificationService=Lt,this.moduleName="",this.moduleOptions=[]}ngOnInit(){this.route.params.subscribe(n=>{this.moduleName=decodeURIComponent(n.name);const d=[this.mgrModuleService.getOptions(this.moduleName),this.mgrModuleService.getConfig(this.moduleName)];(0,zs.D)(d).subscribe(w=>{this.moduleOptions=w[0],this.createForm(),this.mgrModuleForm.setValue(w[1]),this.loadingReady()},w=>{this.loadingError()})})}getValidators(n){const d=[];switch(n.type){case"addr":d.push(mo.h.ip());break;case"uint":case"int":case"size":case"secs":d.push(Hn.kI.required);break;case"str":gn().isNumber(n.min)&&d.push(Hn.kI.minLength(n.min)),gn().isNumber(n.max)&&d.push(Hn.kI.maxLength(n.max));break;case"float":d.push(Hn.kI.required),d.push(mo.h.decimalNumber());break;case"uuid":d.push(mo.h.uuid())}return d}createForm(){const n={};gn().forEach(this.moduleOptions,d=>{n[d.name]=[d.default_value,this.getValidators(d)]}),this.mgrModuleForm=this.formBuilder.group(n)}goToListView(){this.router.navigate(["/mgr-modules"])}onSubmit(){if(this.mgrModuleForm.pristine)return void this.goToListView();const n={};gn().forEach(this.moduleOptions,d=>{const w=this.mgrModuleForm.get(d.name);w.dirty&&w.valid&&(n[d.name]=w.value)}),this.mgrModuleService.updateConfig(this.moduleName,n).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated options for module '" + this.moduleName + "'."),this.goToListView()},()=>{this.mgrModuleForm.setErrors({cdSubmitButton:!0})})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(tn.gz),e.Y36(tn.F0),e.Y36($c.O),e.Y36(Mt),e.Y36(Zi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-mgr-module-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On;return y="Edit Manager module",n="The entered value is not a valid UUID, e.g.: 67dcac9f-2c03-4d6c-b7bd-1210b3a259a8",d="The entered value needs to be a valid IP address.",w="This field is required.",re="The entered value is too high! It must be lower or equal to " + "\ufffd0\ufffd" + ".",Ze="The entered value is too low! It must be greater or equal to " + "\ufffd0\ufffd" + ".",Lt="The entered value needs to be a number.",Gt="This field is required.",On="The entered value needs to be a number or decimal.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","mgrModuleForm","novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],y,[1,"card-body"],["class","form-group row",4,"ngFor","ngForOf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"form-group","row"],[1,"cd-col-form-label",3,"for"],[4,"ngIf"],["class","cd-col-form-input",4,"ngIf"],[1,"cd-col-form-input"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","formControlName"],[1,"custom-control-label",3,"for"],["class","form-control","type","text",3,"id","formControlName",4,"ngIf"],["class","form-control",3,"id","formControlName",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["type","text",1,"form-control",3,"id","formControlName"],[1,"form-control",3,"id","formControlName"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],[1,"invalid-feedback"],n,d,["type","number",1,"form-control",3,"id","formControlName","min","max"],w,re,Ze,Lt,["type","number",1,"form-control",3,"id","formControlName"],Gt,On]},template:function(n,d){1&n&&e.YNc(0,Al,11,6,"div",0),2&n&&e.Q6J("cdFormLoading",d.loading)},directives:[vn.y,Hn._Y,Hn.JL,Hn.sg,Gn.V,s.sg,jr.p,kn.P,s.O5,yl.S,As.o,Hn.Wl,zn.b,Hn.JJ,Hn.u,Hn.Fj,Hn.EJ,Hn.YN,Hn.Kr,Hn.wV,Hn.qQ,Hn.Fd],pipes:[s.Nd,E.m],styles:[""]}),f})();function ic(f,y,n,d){var Ze,w=arguments.length,re=w<3?y:null===d?d=Object.getOwnPropertyDescriptor(y,n):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)re=Reflect.decorate(f,y,n,d);else for(var Lt=f.length-1;Lt>=0;Lt--)(Ze=f[Lt])&&(re=(w<3?Ze(re):w>3?Ze(y,n,re):Ze(y,n))||re);return w>3&&re&&Object.defineProperty(y,n,re),re}var Hu=o(80226);const Um=["*"],jm=["templateOutlet"];function Sl(f,y){if(1&f&&(e.TgZ(0,"div",6),e._uU(1),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.hij(" ",n.message||n.defaultMessage," ")}}function vg(f,y){if(1&f&&(e.TgZ(0,"div",3),e._UZ(1,"div",4),e.YNc(2,Sl,2,1,"div",5),e.qZA()),2&f){const n=e.oxw();e.xp6(2),e.Q6J("ngIf",n.message||n.defaultMessage)}}function D_(f,y){}function oh(f,y){1&f&&e.YNc(0,D_,0,0,"ng-template",null,7,e.W1O)}const yg=function(f){return{active:f}};let Nl=(()=>{class f{}return f.START="start",f.STOP="stop",f.UPDATE="update",f.RESET="reset",f.RESET_GLOBAL="reset_global",f.UNSUBSCRIBE="unsubscribe",f})();const qf="block-ui-main";let Pp=(()=>{let f=class{constructor(){this.blockUISettings={},this.blockUIInstances={},this.blockUISubject=new Hu.t(1),this.blockUIObservable=this.blockUISubject.asObservable(),this.blockUIObservable.subscribe(this.blockUIMiddleware.bind(this))}getSettings(){return this.blockUISettings}updateSettings(n={}){this.blockUISettings=Object.assign(Object.assign({},this.blockUISettings),n)}decorate(n=qf){const d={name:n,isActive:!1,blockCount:0,start:this.dispatch(this.blockUISubject,Nl.START,n),update:this.dispatch(this.blockUISubject,Nl.UPDATE,n),stop:this.dispatch(this.blockUISubject,Nl.STOP,n),reset:this.dispatch(this.blockUISubject,Nl.RESET,n),resetGlobal:this.dispatch(this.blockUISubject,Nl.RESET_GLOBAL,n),unsubscribe:this.dispatch(this.blockUISubject,Nl.UNSUBSCRIBE,n)};return this.blockUIInstances[n]=this.blockUIInstances[n]||d,d}observe(){return this.blockUIObservable}clearInstance(n){this.dispatch(this.blockUISubject,Nl.RESET,n)}blockUIMiddleware({action:n,name:d}){let w=null;switch(n){case Nl.START:w=!0;break;case Nl.STOP:case Nl.RESET:w=!1}null!==w&&(this.blockUIInstances[d].isActive=w)}dispatch(n,d,w=qf){return re=>{n.next({name:w,action:d,message:re})}}};return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:function(y){return f.\u0275fac(y)}}),f})(),Bm=(()=>{let f=class{constructor(n){this.blockUI=n}ngOnInit(){this.name=this.name||qf,this.template=this.template||this.blockUI.blockUISettings.template}};return f.\u0275fac=function(n){return new(n||f)(e.Y36(Pp))},f.\u0275cmp=e.Xpm({type:f,selectors:[["block-ui"]],inputs:{name:"name",template:"template",message:"message",delayStart:"delayStart",delayStop:"delayStop"},ngContentSelectors:Um,decls:2,vars:5,consts:[[3,"name","message","template","delayStart","delayStop"]],template:function(n,d){1&n&&(e.F$t(),e.Hsn(0),e._UZ(1,"block-ui-content",0)),2&n&&(e.xp6(1),e.Q6J("name",d.name)("message",d.message)("template",d.template)("delayStart",d.delayStart)("delayStop",d.delayStop))},directives:function(){return[x_]},encapsulation:2}),ic([(0,e.IIB)()],f.prototype,"name",void 0),ic([(0,e.IIB)()],f.prototype,"message",void 0),ic([(0,e.IIB)()],f.prototype,"delayStart",void 0),ic([(0,e.IIB)()],f.prototype,"delayStop",void 0),ic([(0,e.IIB)()],f.prototype,"template",void 0),f})(),x_=(()=>{let f=class{constructor(n,d,w){this.blockUI=n,this.resolver=d,this.changeDetectionRef=w,this.name=qf,this.defaultBlockState={startTimeouts:[],stopTimeouts:[],updateTimeouts:[],blockCount:0,startCallCount:0,stopCallCount:0},this.state=Object.assign({},this.defaultBlockState)}ngOnInit(){this.settings=this.blockUI.getSettings(),this.blockUISubscription=this.subscribeToBlockUI(this.blockUI.observe())}ngAfterViewInit(){try{if(!this.templateCmp)return!1;if(this.templateCmp instanceof e.Rgc)this.templateOutlet.createEmbeddedView(this.templateCmp);else{const n=this.resolver.resolveComponentFactory(this.templateCmp);this.templateCompRef=this.templateOutlet.createComponent(n),this.updateBlockTemplate(this.message)}}catch(n){console.error("ng-block-ui:",n)}}ngAfterViewChecked(){this.detectChanges()}subscribeToBlockUI(n){return n.subscribe(d=>this.onDispatchedEvent(d))}onDispatchedEvent(n){switch(n.action){case Nl.START:this.onStart(n);break;case Nl.STOP:this.onStop(n);break;case Nl.UPDATE:this.onUpdate(n);break;case Nl.RESET:this.onReset(n);break;case Nl.RESET_GLOBAL:this.resetState();break;case Nl.UNSUBSCRIBE:this.onStop(n),this.onUnsubscribe(n.name)}}onStart({name:n,message:d}){if(n===this.name){const w=this.delayStart||this.settings.delayStart||0;this.state.startCallCount+=1;const re=setTimeout(()=>{this.state.blockCount+=1,this.showBlock(d),this.updateInstanceBlockCount()},w);this.state.startTimeouts.push(re)}}onStop({name:n}){if(n===this.name){const d=this.state.stopCallCount+1;if(this.state.startCallCount-d>=0){const w=this.delayStop||this.settings.delayStop||0;this.state.stopCallCount=d;const re=setTimeout(()=>{this.state.blockCount-=1,this.updateInstanceBlockCount(),this.detectChanges()},w);this.state.stopTimeouts.push(re)}}}onUpdate({name:n,message:d}){if(n===this.name){const w=this.delayStart||this.settings.delayStart||0;clearTimeout(this.state.updateTimeouts[0]);const re=setTimeout(()=>{this.updateMessage(d)},w);this.state.updateTimeouts.push(re)}}onReset({name:n}){n===this.name&&this.resetState()}updateMessage(n){this.showBlock(n)}showBlock(n){this.message=n||this.defaultMessage||this.settings.message,this.updateBlockTemplate(this.message),this.detectChanges()}updateBlockTemplate(n){this.templateCompRef&&this.templateCompRef instanceof e.UuU&&(this.templateCompRef.instance.message=n)}resetState(){[...this.state.startTimeouts,...this.state.stopTimeouts,...this.state.updateTimeouts].forEach(clearTimeout),this.state=Object.assign({},this.defaultBlockState),this.updateInstanceBlockCount(),this.detectChanges()}onUnsubscribe(n){this.blockUISubscription&&n===this.name&&this.blockUISubscription.unsubscribe()}updateInstanceBlockCount(){if(this.blockUI.blockUIInstances[this.name]){const{blockCount:n}=this.state;this.blockUI.blockUIInstances[this.name].blockCount=n}}detectChanges(){this.changeDetectionRef.destroyed||this.changeDetectionRef.detectChanges()}ngOnDestroy(){this.resetState(),this.onUnsubscribe(this.name),this.blockUI.clearInstance(this.name)}};return f.\u0275fac=function(n){return new(n||f)(e.Y36(Pp),e.Y36(e._Vd),e.Y36(e.sBO))},f.\u0275cmp=e.Xpm({type:f,selectors:[["block-ui-content"]],viewQuery:function(n,d){if(1&n&&e.Gf(jm,5,e.s_b),2&n){let w;e.iGM(w=e.CRH())&&(d.templateOutlet=w.first)}},inputs:{name:"name",delayStart:"delayStart",delayStop:"delayStop",defaultMessage:["message","defaultMessage"],templateCmp:["template","templateCmp"]},decls:3,vars:9,consts:[[3,"ngClass"],["class","block-ui-spinner",4,"ngIf"],[4,"ngIf"],[1,"block-ui-spinner"],[1,"loader"],["class","message",4,"ngIf"],[1,"message"],["templateOutlet",""]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.YNc(1,vg,3,1,"div",1),e.YNc(2,oh,2,0,void 0,2),e.qZA()),2&n&&(e.MT6("block-ui-wrapper ",d.name," ",d.className,""),e.Q6J("ngClass",e.VKq(7,yg,d.state.blockCount>0)),e.xp6(1),e.Q6J("ngIf",!d.templateCmp),e.xp6(1),e.Q6J("ngIf",d.templateCmp))},directives:[s.mk,s.O5],styles:["\n.block-ui-wrapper {\n display: none;\n position: fixed;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: rgba(0, 0, 0, 0.70);\n z-index: 30000;\n cursor: wait;\n}\n\n.block-ui-wrapper.block-ui-wrapper--element {\n position: absolute;\n}\n\n.block-ui-wrapper.active {\n display: block;\n}\n\n.block-ui-wrapper.block-ui-main {\n position: fixed;\n}\n\n.block-ui-spinner,\n.block-ui-template {\n position: absolute;\n top: 40%;\n margin: 0 auto;\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n\n.block-ui-spinner > .message {\n font-size: 1.3em;\n text-align: center;\n color: #fff;\n}\n\n.block-ui__element {\n position: relative;\n}\n\n.loader,\n.loader:after {\n border-radius: 50%;\n width: 10em;\n height: 10em;\n}\n.loader {\n margin: 7px auto;\n font-size: 5px;\n position: relative;\n text-indent: -9999em;\n border-top: 1.1em solid rgba(255, 255, 255, 0.2);\n border-right: 1.1em solid rgba(255, 255, 255, 0.2);\n border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);\n border-left: 1.1em solid #ffffff;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-animation: load8 1.1s infinite linear;\n animation: load8 1.1s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n"],encapsulation:2}),ic([(0,e.IIB)()],f.prototype,"name",void 0),ic([(0,e.IIB)()],f.prototype,"delayStart",void 0),ic([(0,e.IIB)()],f.prototype,"delayStop",void 0),ic([(0,e.IIB)("message")],f.prototype,"defaultMessage",void 0),ic([(0,e.IIB)("template")],f.prototype,"templateCmp",void 0),ic([(0,e.i9L)("templateOutlet",{read:e.s_b})],f.prototype,"templateOutlet",void 0),f})(),Ip=(()=>{let f=class{constructor(n){this.blockUIInstance=n,this.globalDispatch=this.blockUIInstance.decorate()}start(n,d){this.dispatch(n,Nl.START,d)}stop(n){this.dispatch(n,Nl.STOP)}reset(n){this.dispatch(n,Nl.RESET)}resetGlobal(){this.globalDispatch.resetGlobal()}update(n,d){this.dispatch(n,Nl.UPDATE,d)}unsubscribe(n){this.dispatch(n,Nl.UNSUBSCRIBE)}isActive(n=null){const d=n?this.toArray(n):null,w=this.blockUIInstance.blockUIInstances;return Object.keys(w).some(re=>d?d.indexOf(w[re].name)>=0&&w[re].isActive:w[re].isActive)}dispatch(n=[],d,w){this.toArray(n).forEach(Ze=>this.blockUIInstance.decorate(Ze)[d](w))}toArray(n=[]){return"string"==typeof n?[n]:n}};return f.\u0275fac=function(n){return new(n||f)(e.LFG(Pp))},f.\u0275prov=e.Yz7({token:f,factory:function(y){return f.\u0275fac(y)}}),f})();var bg;const Lp=new Pp,R_=new e.OlP("BlockUIModuleSettings");function N_(f){return Lp.updateSettings(f),Lp}let pp=bg=class{static forRoot(y={}){return{ngModule:bg,providers:[{provide:R_,useValue:y},{provide:Pp,useFactory:N_,deps:[R_]},Ip]}}};pp.\u0275fac=function(y){return new(y||pp)},pp.\u0275mod=e.oAB({type:pp}),pp.\u0275inj=e.cJS({imports:[[s.ez]]});let P_=1;function Ym(f,y){if(1&f&&(e.ynx(0),e._UZ(1,"cd-table-key-value",1),e.BQk()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("data",n.module_config)}}let Zm=(()=>{class f{constructor(n){this.mgrModuleService=n}ngOnChanges(){this.selection&&this.mgrModuleService.getConfig(this.selection.name).subscribe(n=>{this.module_config=n})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Mt))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-mgr-module-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:[[4,"ngIf"],[3,"data"]],template:function(n,d){1&n&&e.YNc(0,Ym,2,1,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Ft.b],styles:[""]}),f})();class dc extends mi.o{constructor(y,n,d){super(),this.authStorageService=y,this.mgrModuleService=n,this.notificationService=d,this.columns=[],this.modules=[],this.selection=new si.r,this.permission=this.authStorageService.getPermissions().configOpt,this.columns=[{name:"Name",prop:"name",flexGrow:1},{name:"Enabled",prop:"enabled",flexGrow:1,cellClass:"text-center",cellTransformation:ii.e.checkIcon},{name:"Always-On",prop:"always_on",flexGrow:1,cellClass:"text-center",cellTransformation:ii.e.checkIcon}];const w=()=>this.selection.first()&&encodeURIComponent(this.selection.first().name);this.tableActions=[{name:"Edit",permission:"update",disable:()=>!this.selection.hasSelection||0===Object.values(this.selection.first().options).length,routerLink:()=>`/mgr-modules/edit/${w()}`,icon:eo.P.edit},{name:"Enable",permission:"update",click:()=>this.updateModuleState(),disable:()=>this.isTableActionDisabled("enabled"),icon:eo.P.start},{name:"Disable",permission:"update",click:()=>this.updateModuleState(),disable:()=>this.getTableActionDisabledDesc(),icon:eo.P.stop}]}getModuleList(y){this.mgrModuleService.list().subscribe(n=>{this.modules=n},()=>{y.error()})}updateSelection(y){this.selection=y}isTableActionDisabled(y){if(!this.selection.hasSelection)return!0;const n=this.selection.first();if("dashboard"===n.name||n.always_on)return!0;switch(y){case"enabled":return n.enabled;case"disabled":return!n.enabled}}getTableActionDisabledDesc(){var y;return(null===(y=this.selection.first())||void 0===y?void 0:y.always_on)?"This Manager module is always on.":this.isTableActionDisabled("disabled")}updateModuleState(){if(!this.selection.hasSelection)return;let y;const n=()=>{(0,io.H)(2e3).subscribe(()=>{this.mgrModuleService.list().subscribe(()=>{this.notificationService.suspendToasties(!1),this.blockUI.stop(),this.table.refreshBtn()},()=>{n()})})},d=this.selection.first();y=d.enabled?this.mgrModuleService.disable(d.name):this.mgrModuleService.enable(d.name),y.subscribe(()=>{},()=>{this.notificationService.suspendToasties(!0),this.blockUI.start("Reconnecting, please wait ..."),n()})}}dc.\u0275fac=function(y){return new(y||dc)(e.Y36(hi.j),e.Y36(Mt),e.Y36(Zi.g))},dc.\u0275cmp=e.Xpm({type:dc,selectors:[["cd-mgr-module-list"]],viewQuery:function(y,n){if(1&y&&e.Gf(Ui.a,7),2&y){let d;e.iGM(d=e.CRH())&&(n.table=d.first)}},features:[e.qOj],decls:4,vars:8,consts:[["columnMode","flex","selectionType","single","identifier","module",3,"autoReload","data","columns","hasDetails","setExpandedRow","updateSelection","fetchData"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"]],template:function(y,n){1&y&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(w){return n.setExpandedRow(w)})("updateSelection",function(w){return n.updateSelection(w)})("fetchData",function(w){return n.getModuleList(w)}),e._UZ(2,"cd-table-actions",2),e._UZ(3,"cd-mgr-module-details",3),e.qZA()),2&y&&(e.Q6J("autoReload",!1)("data",n.modules)("columns",n.columns)("hasDetails",!0),e.xp6(2),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("selection",n.expandedRow))},directives:[Ui.a,ha.K,Zm],styles:[""]}),(0,xr.gn)([function(f,y={}){return y.scopeToInstance?function(n,d){const w=`_${d}-block-ui`;Object.defineProperty(n,d,{get:function(){if(this[w])return this[w];const re=`${f}-${P_++}`;return this[w]=Lp.decorate(re),this[w]},set:function(re){this[w]=re}})}:function(n,d){n[d]=Lp.decorate(f)}}(),(0,xr.w6)("design:type",Object)],dc.prototype,"blockUI",void 0);let Gc=(()=>{class f{constructor(n){this.http=n}getMonitor(){return this.http.get("api/monitor")}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function Eg(f,y){if(1&f&&(e.TgZ(0,"table",11),e.TgZ(1,"tr"),e.TgZ(2,"td",12),e.SDv(3,13),e.qZA(),e.TgZ(4,"td"),e._uU(5),e.qZA(),e.qZA(),e.TgZ(6,"tr"),e.TgZ(7,"td",12),e.SDv(8,14),e.qZA(),e.TgZ(9,"td"),e._uU(10),e.ALo(11,"relativeDate"),e.qZA(),e.qZA(),e.TgZ(12,"tr"),e.TgZ(13,"td",12),e.SDv(14,15),e.qZA(),e.TgZ(15,"td"),e._uU(16),e.qZA(),e.qZA(),e.TgZ(17,"tr"),e.TgZ(18,"td",12),e.SDv(19,16),e.qZA(),e.TgZ(20,"td"),e._uU(21),e.qZA(),e.qZA(),e.TgZ(22,"tr"),e.TgZ(23,"td",12),e.SDv(24,17),e.qZA(),e.TgZ(25,"td"),e._uU(26),e.qZA(),e.qZA(),e.TgZ(27,"tr"),e.TgZ(28,"td",12),e.SDv(29,18),e.qZA(),e.TgZ(30,"td"),e._uU(31),e.qZA(),e.qZA(),e.TgZ(32,"tr"),e.TgZ(33,"td",12),e.SDv(34,19),e.qZA(),e.TgZ(35,"td"),e._uU(36),e.qZA(),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(5),e.Oqu(n.mon_status.monmap.fsid),e.xp6(5),e.Oqu(e.lcZ(11,7,n.mon_status.monmap.modified)),e.xp6(6),e.Oqu(n.mon_status.monmap.epoch),e.xp6(5),e.Oqu(n.mon_status.features.quorum_con),e.xp6(5),e.Oqu(n.mon_status.features.quorum_mon),e.xp6(5),e.Oqu(n.mon_status.features.required_con),e.xp6(5),e.Oqu(n.mon_status.features.required_mon)}}let Vm=(()=>{class f{constructor(n){this.monitorService=n,this.inQuorum={columns:[{prop:"name",name:"Name",cellTransformation:ii.e.routerLink},{prop:"rank",name:"Rank"},{prop:"public_addr",name:"Public Address"},{prop:"cdOpenSessions",name:"Open Sessions",cellTransformation:ii.e.sparkline,comparator:(d,w)=>{const re=gn().last(d),Ze=gn().last(w);return re&&Ze&&re!==Ze?re>Ze?1:-1:0}}]},this.notInQuorum={columns:[{prop:"name",name:"Name",cellTransformation:ii.e.routerLink},{prop:"rank",name:"Rank"},{prop:"public_addr",name:"Public Address"}]}}refresh(){this.monitorService.getMonitor().subscribe(n=>{n.in_quorum.map(d=>(d.cdOpenSessions=d.stats.num_sessions.map(w=>w[1]),d.cdLink="/perf_counters/mon/"+d.name,d.cdParams={fromLink:"/monitor"},d)),n.out_quorum.map(d=>(d.cdLink="/perf_counters/mon/"+d.name,d.cdParams={fromLink:"/monitor"},d)),this.inQuorum.data=[...n.in_quorum],this.notInQuorum.data=[...n.out_quorum],this.mon_status=n.mon_status})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Gc))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-monitor"]],decls:13,vars:5,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr;return y="Status",n="In Quorum",d="Not In Quorum",w="Cluster ID",re="monmap modified",Ze="monmap epoch",Lt="quorum con",Gt="quorum mon",On="required con",fr="required mon",[[1,"row"],[1,"col-lg-4"],[1,"cd-header"],y,["class","table table-striped",4,"ngIf"],[1,"col-lg-8"],[1,"in-quorum","cd-header"],n,[3,"data","columns"],d,[3,"data","columns","fetchData"],[1,"table","table-striped"],[1,"bold"],w,re,Ze,Lt,Gt,On,fr]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"fieldset"),e.TgZ(3,"legend",2),e.SDv(4,3),e.qZA(),e.YNc(5,Eg,37,9,"table",4),e.qZA(),e.qZA(),e.TgZ(6,"div",5),e.TgZ(7,"legend",6),e.SDv(8,7),e.qZA(),e._UZ(9,"cd-table",8),e.TgZ(10,"legend",6),e.SDv(11,9),e.qZA(),e.TgZ(12,"cd-table",10),e.NdJ("fetchData",function(){return d.refresh()}),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(5),e.Q6J("ngIf",d.mon_status),e.xp6(4),e.Q6J("data",d.inQuorum.data)("columns",d.inQuorum.columns),e.xp6(3),e.Q6J("data",d.notInQuorum.data)("columns",d.notInQuorum.columns))},directives:[s.O5,Ui.a],pipes:[X.h],styles:[""]}),f})();class Tg{}function hp(f,y){if(1&f&&(e.TgZ(0,"span",18),e.SDv(1,19),e.qZA()),2&f){const n=e.oxw(2);e.Q6J("ngbTooltip",n.clusterWideTooltip)}}function Gm(f,y){1&f&&e._UZ(0,"hr",20)}function zm(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",12),e.TgZ(1,"input",13),e.NdJ("change",function(){const re=e.CHM(n).$implicit;return e.oxw().changeValue(re)}),e.qZA(),e.TgZ(2,"label",14),e.TgZ(3,"strong"),e._uU(4),e.qZA(),e.YNc(5,hp,2,1,"span",15),e._UZ(6,"br"),e.TgZ(7,"span",16),e._uU(8),e.qZA(),e.qZA(),e.YNc(9,Gm,1,0,"hr",17),e.qZA()}if(2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.Q6J("checked",n.value)("indeterminate",n.indeterminate)("name",n.code)("id",n.code),e.xp6(1),e.Q6J("for",n.code),e.xp6(2),e.Oqu(n.name),e.xp6(1),e.Q6J("ngIf",n.clusterWide),e.xp6(3),e.Oqu(n.description),e.xp6(1),e.Q6J("ngIf",!d)}}let Wm=(()=>{class f{constructor(n,d,w,re,Ze){this.activeModal=n,this.actionLabels=d,this.authStorageService=w,this.osdService=re,this.notificationService=Ze,this.initialSelection=[],this.osdFlagsForm=new Hn.cw({}),this.flags=[{code:"noup",name:"No Up",description:"OSDs are not allowed to start",value:!1,clusterWide:!1,indeterminate:!1},{code:"nodown",name:"No Down",description:"OSD failure reports are being ignored, such that the monitors will not mark OSDs down",value:!1,clusterWide:!1,indeterminate:!1},{code:"noin",name:"No In",description:"OSDs that were previously marked out will not be marked back in when they start",value:!1,clusterWide:!1,indeterminate:!1},{code:"noout",name:"No Out",description:"OSDs will not automatically be marked out after the configured interval",value:!1,clusterWide:!1,indeterminate:!1}],this.clusterWideTooltip="The flag has been enabled for the entire cluster.",this.permissions=this.authStorageService.getPermissions()}ngOnInit(){const n=this.selected.length;this.osdService.getFlags().subscribe(d=>{const w=this.getActivatedIndivFlags();this.flags.forEach(re=>{const Ze=w[re.code];d.includes(re.code)&&(re.clusterWide=!0),Ze===n?re.value=!0:Ze>0&&(re.indeterminate=!0)}),this.initialSelection=gn().cloneDeep(this.flags)})}getActivatedIndivFlags(){const n={};return this.flags.forEach(d=>{n[d.code]=0}),[].concat(...this.selected.map(d=>d.state)).map(d=>{Object.keys(n).includes(d)&&(n[d]=n[d]+1)}),n}changeValue(n){n.value=!n.value,n.indeterminate=!1}resetSelection(){this.flags=gn().cloneDeep(this.initialSelection)}submitAction(){const n={};this.flags.forEach(w=>{n[w.code]=w.indeterminate?null:w.value});const d=this.selected.map(w=>w.osd);this.osdService.updateIndividualFlags(n,d).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated OSD Flags"),this.activeModal.close()},()=>{this.activeModal.close()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(hi.j),e.Y36(lc),e.Y36(Zi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-flags-indiv-modal"]],decls:12,vars:6,consts:function(){let y,n,d;return y="Individual OSD Flags",n="Restore previous selection",d="Cluster-wide",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["name","osdFlagsForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body","osd-modal"],["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"modal-footer"],["type","button",1,"btn","btn-light",3,"click"],n,[3,"form","showSubmit","submitText","submitActionEvent"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"checked","indeterminate","name","id","change"],["ng-class","['tc_' + key]",1,"custom-control-label",3,"for"],["class","badge badge-hdd ml-2",3,"ngbTooltip",4,"ngIf"],[1,"form-text","text-muted"],["class","m-1",4,"ngIf"],[1,"badge","badge-hdd","ml-2",3,"ngbTooltip"],d,[1,"m-1"]]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,zm,10,9,"div",7),e.qZA(),e.TgZ(8,"div",8),e.TgZ(9,"button",9),e.NdJ("click",function(){return d.resetSelection()}),e.SDv(10,10),e.qZA(),e.TgZ(11,"cd-form-button-panel",11),e.NdJ("submitActionEvent",function(){return d.submitAction()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.osdFlagsForm),e.xp6(3),e.Q6J("ngForOf",d.flags),e.xp6(4),e.Q6J("form",d.osdFlagsForm)("showSubmit",d.permissions.osd.update)("submitText",d.actionLabels.UPDATE))},directives:[nl.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,s.sg,As.o,jr.p,zn.b,s.O5,Br._L],styles:[""]}),f})();var Bh=o(84333);function bv(f,y){1&f&&e._UZ(0,"hr",15)}function qm(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",10),e.TgZ(1,"input",11),e.NdJ("change",function(){const re=e.CHM(n).$implicit;return re.value=!re.value}),e.qZA(),e.TgZ(2,"label",12),e.TgZ(3,"strong"),e._uU(4),e.qZA(),e._UZ(5,"br"),e.TgZ(6,"span",13),e._uU(7),e.qZA(),e.qZA(),e.YNc(8,bv,1,0,"hr",14),e.qZA()}if(2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.Q6J("checked",n.value)("name",n.code)("id",n.code)("disabled",n.disabled),e.xp6(1),e.Q6J("for",n.code),e.xp6(2),e.Oqu(n.name),e.xp6(3),e.Oqu(n.description),e.xp6(1),e.Q6J("ngIf",!d)}}let Cg=(()=>{class f{constructor(n,d,w,re,Ze){this.activeModal=n,this.actionLabels=d,this.authStorageService=w,this.osdService=re,this.notificationService=Ze,this.osdFlagsForm=new Hn.cw({}),this.allFlags={noin:{code:"noin",name:"No In",value:!1,description:"OSDs that were previously marked out will not be marked back in when they start"},noout:{code:"noout",name:"No Out",value:!1,description:"OSDs will not automatically be marked out after the configured interval"},noup:{code:"noup",name:"No Up",value:!1,description:"OSDs are not allowed to start"},nodown:{code:"nodown",name:"No Down",value:!1,description:"OSD failure reports are being ignored, such that the monitors will not mark OSDs down"},pause:{code:"pause",name:"Pause",value:!1,description:"Pauses reads and writes"},noscrub:{code:"noscrub",name:"No Scrub",value:!1,description:"Scrubbing is disabled"},"nodeep-scrub":{code:"nodeep-scrub",name:"No Deep Scrub",value:!1,description:"Deep Scrubbing is disabled"},nobackfill:{code:"nobackfill",name:"No Backfill",value:!1,description:"Backfilling of PGs is suspended"},norebalance:{code:"norebalance",name:"No Rebalance",value:!1,description:"OSD will choose not to backfill unless PG is also degraded"},norecover:{code:"norecover",name:"No Recover",value:!1,description:"Recovery of PGs is suspended"},sortbitwise:{code:"sortbitwise",name:"Bitwise Sort",value:!1,description:"Use bitwise sort",disabled:!0},purged_snapdirs:{code:"purged_snapdirs",name:"Purged Snapdirs",value:!1,description:"OSDs have converted snapsets",disabled:!0},recovery_deletes:{code:"recovery_deletes",name:"Recovery Deletes",value:!1,description:"Deletes performed during recovery instead of peering",disabled:!0},pglog_hardlimit:{code:"pglog_hardlimit",name:"PG Log Hard Limit",value:!1,description:"Puts a hard limit on pg log length",disabled:!0}},this.unknownFlags=[],this.permissions=this.authStorageService.getPermissions()}ngOnInit(){this.osdService.getFlags().subscribe(n=>{n.forEach(d=>{this.allFlags[d]?this.allFlags[d].value=!0:this.unknownFlags.push(d)}),this.flags=gn().toArray(this.allFlags)})}submitAction(){const n=this.flags.filter(d=>d.value).map(d=>d.code).concat(this.unknownFlags);this.osdService.updateFlags(n).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated OSD Flags"),this.activeModal.close()},()=>{this.activeModal.close()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(hi.j),e.Y36(lc),e.Y36(Zi.g))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-flags-modal"]],decls:10,vars:6,consts:function(){let y;return y="Cluster-wide OSD Flags",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["name","osdFlagsForm","novalidate","","cdFormScope","osd",3,"formGroup"],["formDir","ngForm"],[1,"modal-body","osd-modal"],["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","showSubmit","submitText","submitActionEvent"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"checked","name","id","disabled","change"],["ng-class","['tc_' + key]",1,"custom-control-label",3,"for"],[1,"form-text","text-muted"],["class","m-1",4,"ngIf"],[1,"m-1"]]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,qm,9,8,"div",7),e.qZA(),e.TgZ(8,"div",8),e.TgZ(9,"cd-form-button-panel",9),e.NdJ("submitActionEvent",function(){return d.submitAction()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.osdFlagsForm),e.xp6(3),e.Q6J("ngForOf",d.flags),e.xp6(2),e.Q6J("form",d.osdFlagsForm)("showSubmit",d.permissions.osd.update)("submitText",d.actionLabels.UPDATE))},directives:[nl.z,Hn._Y,Hn.JL,Bh.T,Gn.V,Hn.sg,s.sg,jr.p,As.o,zn.b,s.O5],styles:[""]}),f})();function oc(f,y){if(1&f&&(e.TgZ(0,"cd-helper"),e._uU(1),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.hij(" ",n.long_desc,"")}}function Yh(f,y){if(1&f&&(e.TgZ(0,"div",4),e.TgZ(1,"label",5),e.TgZ(2,"b"),e._uU(3),e.qZA(),e._UZ(4,"br"),e.TgZ(5,"span",6),e._uU(6),e.YNc(7,oc,2,1,"cd-helper",7),e.qZA(),e.qZA(),e.TgZ(8,"div",8),e.TgZ(9,"div",9),e._UZ(10,"input",10),e._UZ(11,"label",11),e.qZA(),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.Q6J("for",n.name),e.xp6(2),e.Oqu(n.text),e.xp6(3),e.hij(" ",n.desc," "),e.xp6(1),e.Q6J("ngIf",n.long_desc),e.xp6(3),e.Q6J("id",n.name)("formControlName",n.name),e.xp6(1),e.Q6J("for",n.name)}}function Ev(f,y){if(1&f&&(e.TgZ(0,"cd-helper"),e._uU(1),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.hij(" ",n.long_desc,"")}}const bf=function(f){return[f]};function L_(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",16),e.TgZ(1,"button",17),e.NdJ("click",function(){e.CHM(n);const w=e.oxw(2).$implicit;return e.oxw().resetValue(w.name)}),e._UZ(2,"i",18),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(2),e.Q6J("ngClass",e.VKq(1,bf,n.icons.erase))}}function F_(f,y){if(1&f&&(e.TgZ(0,"span",19),e._uU(1),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.hij(" ",n.additionalTypeInfo.patternHelpText,"")}}function ah(f,y){if(1&f&&(e.TgZ(0,"span",19),e._uU(1),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.hij(" ",n.additionalTypeInfo.patternHelpText,"")}}function Jm(f,y){if(1&f&&(e.TgZ(0,"span",19),e.SDv(1,20),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.pQV(n.maxValue),e.QtT(1)}}function Qm(f,y){if(1&f&&(e.TgZ(0,"span",19),e.SDv(1,21),e.qZA()),2&f){const n=e.oxw(2).$implicit;e.xp6(1),e.pQV(n.minValue),e.QtT(1)}}function Sg(f,y){if(1&f&&(e.TgZ(0,"div",4),e.TgZ(1,"label",5),e._uU(2),e._UZ(3,"br"),e.TgZ(4,"span",6),e._uU(5),e.YNc(6,Ev,2,1,"cd-helper",7),e.qZA(),e.qZA(),e.TgZ(7,"div",8),e.TgZ(8,"div",12),e._UZ(9,"input",13),e.YNc(10,L_,3,3,"div",14),e.qZA(),e.YNc(11,F_,2,1,"span",15),e.YNc(12,ah,2,1,"span",15),e.YNc(13,Jm,2,1,"span",15),e.YNc(14,Qm,2,1,"span",15),e.qZA(),e.qZA()),2&f){const n=e.oxw().$implicit,d=e.oxw();e.xp6(1),e.Q6J("for",n.name),e.xp6(1),e.hij("",n.text," "),e.xp6(3),e.hij(" ",n.desc," "),e.xp6(1),e.Q6J("ngIf",n.long_desc),e.xp6(3),e.Q6J("type",n.additionalTypeInfo.inputType)("id",n.name)("placeholder",n.additionalTypeInfo.humanReadable)("formControlName",n.name)("step",d.getStep(n.type,d.optionsForm.getValue(n.name))),e.xp6(1),e.Q6J("ngIf",d.optionsFormShowReset),e.xp6(1),e.Q6J("ngIf",d.optionsForm.showError(n.name,d.optionsFormDir,"pattern")),e.xp6(1),e.Q6J("ngIf",d.optionsForm.showError(n.name,d.optionsFormDir,"invalidUuid")),e.xp6(1),e.Q6J("ngIf",d.optionsForm.showError(n.name,d.optionsFormDir,"max")),e.xp6(1),e.Q6J("ngIf",d.optionsForm.showError(n.name,d.optionsFormDir,"min"))}}function Mg(f,y){1&f&&e._UZ(0,"hr",22)}function Og(f,y){if(1&f&&(e.TgZ(0,"div"),e.YNc(1,Yh,12,7,"div",2),e.YNc(2,Sg,15,14,"div",2),e.YNc(3,Mg,1,0,"hr",3),e.qZA()),2&f){const n=y.$implicit,d=y.last;e.xp6(1),e.Q6J("ngIf","bool"===n.type),e.xp6(1),e.Q6J("ngIf","bool"!==n.type),e.xp6(1),e.Q6J("ngIf",!d)}}let k_=(()=>{class f{constructor(n){this.configService=n,this.optionNames=[],this.optionsForm=new xt.d({}),this.optionsFormDir=new Hn.F([],[]),this.optionsFormGroupName="",this.optionsFormShowReset=!0,this.icons=eo.P,this.options=[],this.optionsFormGroup=new xt.d({})}static optionNameToText(n){const d=["mon","mgr","osd","mds","client"];return n.split("_").filter((w,re)=>0!==re||!d.includes(w)).map(w=>w.charAt(0).toUpperCase()+w.substring(1)).join(" ")}ngOnInit(){this.createForm(),this.loadStoredData()}createForm(){this.optionsForm.addControl(this.optionsFormGroupName,this.optionsFormGroup),this.optionNames.forEach(n=>{this.optionsFormGroup.addControl(n,new Hn.NI(null))})}getStep(n,d){return Re.getTypeStep(n,d)}loadStoredData(){this.configService.filter(this.optionNames).subscribe(n=>{this.options=n.map(d=>{const w=this.optionsForm.get(d.name),re=Re.getTypeValidators(d);return d.additionalTypeInfo=Re.getType(d.type),d.text=f.optionNameToText(d.name),d.value=gn().find(d.value,Ze=>"osd"===Ze.section),d.value&&w.setValue("bool"===d.additionalTypeInfo.name?"true"===d.value.value:d.value.value),re&&(d.patternHelpText=re.patternHelpText,"max"in re&&""!==re.max&&(d.maxValue=re.max),"min"in re&&""!==re.min&&(d.minValue=re.min),w.setValidators(re.validators)),d})})}saveValues(){const n={};return this.optionNames.forEach(d=>{const w=this.optionsForm.getValue(d);null!==w&&""!==w&&(n[d]={section:"osd",value:w})}),this.configService.bulkCreate({options:n})}resetValue(n){this.configService.delete(n,"osd").subscribe(()=>{this.optionsForm.get(n).reset()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(en.e))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-config-option"]],inputs:{optionNames:"optionNames",optionsForm:"optionsForm",optionsFormDir:"optionsFormDir",optionsFormGroupName:"optionsFormGroupName",optionsFormShowReset:"optionsFormShowReset"},decls:2,vars:2,consts:function(){let y,n,d;return y="Remove the custom configuration value. The default configuration will be inherited and used instead.",n="The entered value is too high! It must not be greater than " + "\ufffd0\ufffd" + ".",d="The entered value is too low! It must not be lower than " + "\ufffd0\ufffd" + ".",[[3,"formGroup"],[4,"ngFor","ngForOf"],["class","form-group row pt-2",4,"ngIf"],["class","my-2",4,"ngIf"],[1,"form-group","row","pt-2"],[1,"cd-col-form-label",3,"for"],[1,"text-muted"],[4,"ngIf"],[1,"cd-col-form-input"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","formControlName"],[1,"custom-control-label",3,"for"],[1,"input-group"],[1,"form-control",3,"type","id","placeholder","formControlName","step"],["class","input-group-append",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],[1,"input-group-append"],["type","button","data-toggle","button","title",y,1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],[1,"invalid-feedback"],n,d,[1,"my-2"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.YNc(1,Og,4,3,"div",1),e.qZA()),2&n&&(e.Q6J("formGroup",d.optionsFormGroup),e.xp6(1),e.Q6J("ngForOf",d.options))},directives:[Hn.JL,Hn.sg,Gn.V,s.sg,s.O5,kn.P,As.o,Hn.Wl,zn.b,Hn.JJ,Hn.u,yl.S,Hn.Fj,s.mk],styles:[".custom-checkbox[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .custom-checkbox[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{cursor:pointer}.col-form-label[_ngcontent-%COMP%]{text-align:left}"]}),f})(),$_=(()=>{class f{}return f.basicOptions=["osd_scrub_during_recovery","osd_scrub_begin_hour","osd_scrub_end_hour","osd_scrub_begin_week_day","osd_scrub_end_week_day","osd_scrub_min_interval","osd_scrub_max_interval","osd_deep_scrub_interval","osd_scrub_auto_repair","osd_max_scrubs","osd_scrub_priority","osd_scrub_sleep"],f.advancedOptions=["osd_scrub_auto_repair_num_errors","osd_debug_deep_scrub_sleep","osd_deep_scrub_keys","osd_deep_scrub_large_omap_object_key_threshold","osd_deep_scrub_large_omap_object_value_sum_threshold","osd_deep_scrub_randomize_ratio","osd_deep_scrub_stride","osd_deep_scrub_update_digest_min_age","osd_requested_scrub_priority","osd_scrub_backoff_ratio","osd_scrub_chunk_max","osd_scrub_chunk_min","osd_scrub_cost","osd_scrub_interval_randomize_ratio","osd_scrub_invalid_stats","osd_scrub_load_threshold","osd_scrub_max_preemptions"],f})();const Xm=["basicOptionsValues"],lh=["advancedOptionsValues"];function H_(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"a",15),e.NdJ("click",function(){return e.CHM(n),e.oxw().advancedEnabled=!0}),e.SDv(1,16),e.qZA()}}function Ag(f,y){if(1&f&&(e.TgZ(0,"div"),e.TgZ(1,"h3",17),e.SDv(2,18),e.qZA(),e._UZ(3,"cd-config-option",7,19),e.qZA()),2&f){const n=e.oxw(),d=e.MAs(7);e.xp6(3),e.Q6J("optionNames",n.advancedOptions)("optionsForm",n.osdPgScrubForm)("optionsFormDir",d)("optionsFormGroupName","advancedFormGroup")}}let wg=(()=>{class f{constructor(n,d,w,re){this.activeModal=n,this.authStorageService=d,this.notificationService=w,this.actionLabels=re,this.basicOptions=$_.basicOptions,this.advancedOptions=$_.advancedOptions,this.advancedEnabled=!1,this.osdPgScrubForm=new xt.d({}),this.resource="PG scrub options",this.action=this.actionLabels.EDIT,this.permissions=this.authStorageService.getPermissions()}submitAction(){const n=[this.basicOptionsValues.saveValues()];this.advancedOptionsValues&&n.push(this.advancedOptionsValues.saveValues()),(0,zs.D)(n).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated PG scrub options"),this.activeModal.close()},()=>{this.activeModal.close()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(hi.j),e.Y36(Zi.g),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-pg-scrub-modal"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Xm,7),e.Gf(lh,5)),2&n){let w;e.iGM(w=e.CRH())&&(d.basicOptionsValues=w.first),e.iGM(w=e.CRH())&&(d.advancedOptionsValues=w.first)}},decls:19,vars:21,consts:function(){let y,n,d;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Advanced...",d="Advanced configuration options",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","","cdFormScope","osd",3,"formGroup"],["formDir","ngForm"],[1,"modal-body","osd-modal"],[3,"optionNames","optionsForm","optionsFormDir","optionsFormGroupName"],["basicOptionsValues",""],[1,"row"],[1,"col-sm-12"],["class","pull-right margin-right-md",3,"click",4,"ngIf"],[4,"ngIf"],[1,"modal-footer"],[3,"form","showSubmit","submitText","submitActionEvent"],[1,"pull-right","margin-right-md",3,"click"],n,[1,"page-header"],d,["advancedOptionsValues",""]]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5),e.TgZ(8,"div",6),e._UZ(9,"cd-config-option",7,8),e.TgZ(11,"div",9),e.TgZ(12,"div",10),e.YNc(13,H_,2,0,"a",11),e.qZA(),e.qZA(),e.YNc(14,Ag,5,4,"div",12),e.qZA(),e.TgZ(15,"div",13),e.TgZ(16,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return d.submitAction()}),e.ALo(17,"titlecase"),e.ALo(18,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n){const w=e.MAs(7);e.Q6J("modalRef",d.activeModal),e.xp6(4),e.pQV(e.lcZ(3,13,d.action))(e.lcZ(4,15,d.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.osdPgScrubForm),e.xp6(3),e.Q6J("optionNames",d.basicOptions)("optionsForm",d.osdPgScrubForm)("optionsFormDir",w)("optionsFormGroupName","basicFormGroup"),e.xp6(4),e.Q6J("ngIf",!d.advancedEnabled),e.xp6(1),e.Q6J("ngIf",d.advancedEnabled),e.xp6(2),e.Q6J("form",d.osdPgScrubForm)("showSubmit",d.permissions.configOpt.update)("submitText",e.lcZ(17,17,d.action)+" "+e.lcZ(18,19,d.resource))}},directives:[nl.z,Hn._Y,Hn.JL,Bh.T,Gn.V,Hn.sg,k_,s.O5,jr.p],pipes:[s.rS,E.m],styles:[""]}),f})();function Dg(f,y){if(1&f&&(e.TgZ(0,"option",22),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.name),e.xp6(1),e.hij(" ",n.text," ")}}function xg(f,y){1&f&&(e.TgZ(0,"span",23),e.SDv(1,24),e.qZA())}function Km(f,y){if(1&f&&(e.TgZ(0,"cd-helper"),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.Oqu(n.value.desc)}}function e1(f,y){1&f&&(e.TgZ(0,"span",23),e.SDv(1,29),e.qZA())}function t1(f,y){if(1&f&&(e.TgZ(0,"span",23),e.SDv(1,30),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.pQV(n.value.patternHelpText),e.QtT(1)}}function n1(f,y){if(1&f&&(e.TgZ(0,"span",23),e.SDv(1,31),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.pQV(n.value.maxValue),e.QtT(1)}}function Rg(f,y){if(1&f&&(e.TgZ(0,"span",23),e.SDv(1,32),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.pQV(n.value.minValue),e.QtT(1)}}const Tv=function(f){return{required:f}};function Ng(f,y){if(1&f&&(e.TgZ(0,"div",7),e.TgZ(1,"label",25),e.TgZ(2,"span",26),e._uU(3),e.qZA(),e.YNc(4,Km,2,1,"cd-helper",27),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",28),e.YNc(7,e1,2,0,"span",13),e.YNc(8,t1,2,1,"span",13),e.YNc(9,n1,2,1,"span",13),e.YNc(10,Rg,2,1,"span",13),e.qZA(),e.qZA()),2&f){const n=y.$implicit,d=e.oxw(),w=e.MAs(5);e.xp6(1),e.Q6J("for",n.key),e.xp6(1),e.Q6J("ngClass",e.VKq(11,Tv,d.osdRecvSpeedForm.getValue("customizePriority"))),e.xp6(1),e.hij(" ",n.value.text," "),e.xp6(1),e.Q6J("ngIf",n.value.desc),e.xp6(2),e.Q6J("id",n.key)("formControlName",n.key)("readonly",!d.osdRecvSpeedForm.getValue("customizePriority")),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.getValue("customizePriority")&&d.osdRecvSpeedForm.showError(n.key,w,"required")),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.getValue("customizePriority")&&d.osdRecvSpeedForm.showError(n.key,w,"pattern")),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.getValue("customizePriority")&&d.osdRecvSpeedForm.showError(n.key,w,"max")),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.getValue("customizePriority")&&d.osdRecvSpeedForm.showError(n.key,w,"min"))}}let r1=(()=>{class f{constructor(n,d,w,re,Ze,Lt){this.activeModal=n,this.actionLabels=d,this.authStorageService=w,this.configService=re,this.notificationService=Ze,this.osdService=Lt,this.priorities=[],this.priorityAttrs={},this.permissions=this.authStorageService.getPermissions(),this.priorities=this.osdService.osdRecvSpeedModalPriorities.KNOWN_PRIORITIES,this.osdRecvSpeedForm=new xt.d({priority:new Hn.NI(null,{validators:[Hn.kI.required]}),customizePriority:new Hn.NI(!1)}),this.priorityAttrs={osd_max_backfills:{text:"Max Backfills",desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_max_active:{text:"Recovery Max Active",desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_max_single_start:{text:"Recovery Max Single Start",desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0},osd_recovery_sleep:{text:"Recovery Sleep",desc:"",patternHelpText:"",maxValue:void 0,minValue:void 0}},Object.keys(this.priorityAttrs).forEach(Gt=>{this.osdRecvSpeedForm.addControl(Gt,new Hn.NI(null,{validators:[Hn.kI.required]}))})}ngOnInit(){this.configService.filter(Object.keys(this.priorityAttrs)).subscribe(n=>{const d=this.getCurrentValues(n);this.detectPriority(d.values,w=>{this.setPriority(w)}),this.setDescription(d.configOptions),this.setValidators(d.configOptions)})}detectPriority(n,d){const w=gn().find(this.priorities,re=>gn().isEqual(re.values,n));return this.osdRecvSpeedForm.controls.customizePriority.setValue(!1),w?d(w):4===Object.entries(n).length?(this.osdRecvSpeedForm.controls.customizePriority.setValue(!0),d(Object({name:"custom",text:"Custom",values:n}))):d(this.priorities[0])}getCurrentValues(n){const d={values:{},configOptions:[]};return n.forEach(w=>{d.configOptions.push(w),"value"in w?w.value.forEach(re=>{"osd"===re.section&&(d.values[w.name]=Number(re.value))}):"default"in w&&null!==w.default&&(d.values[w.name]=Number(w.default))}),d}setDescription(n){n.forEach(d=>{""!==d.desc&&(this.priorityAttrs[d.name].desc=d.desc)})}setPriority(n){const d=gn().find(this.priorities,w=>"custom"===w.name);"custom"===n.name?d||this.priorities.push(n):d&&this.priorities.splice(this.priorities.indexOf(d),1),this.osdRecvSpeedForm.controls.priority.setValue(n.name),Object.entries(n.values).forEach(([w,re])=>{this.osdRecvSpeedForm.controls[w].setValue(re)})}setValidators(n){n.forEach(d=>{const w=Re.getTypeValidators(d);w?(w.validators.push(Hn.kI.required),"max"in w&&""!==w.max&&(this.priorityAttrs[d.name].maxValue=w.max),"min"in w&&""!==w.min&&(this.priorityAttrs[d.name].minValue=w.min),this.priorityAttrs[d.name].patternHelpText=w.patternHelpText,this.osdRecvSpeedForm.controls[d.name].setValidators(w.validators)):this.osdRecvSpeedForm.controls[d.name].setValidators(Hn.kI.required)})}onCustomizePriorityChange(){const n={};if(Object.keys(this.priorityAttrs).forEach(d=>{n[d]=this.osdRecvSpeedForm.getValue(d)}),this.osdRecvSpeedForm.getValue("customizePriority")){const d={name:"custom",text:"Custom",values:n};this.setPriority(d)}else this.detectPriority(n,d=>{this.setPriority(d)})}onPriorityChange(n){const d=gn().find(this.priorities,w=>w.name===n)||this.priorities[0];this.osdRecvSpeedForm.get("customizePriority").setValue(!1),this.setPriority(d)}submitAction(){const n={};Object.keys(this.priorityAttrs).forEach(d=>{n[d]={section:"osd",value:this.osdRecvSpeedForm.getValue(d)}}),this.configService.bulkCreate({options:n}).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated OSD recovery speed priority '" + this.osdRecvSpeedForm.getValue("priority") + "'"),this.activeModal.close()},()=>{this.activeModal.close()})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(hi.j),e.Y36(en.e),e.Y36(Zi.g),e.Y36(lc))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-recv-speed-modal"]],decls:24,vars:10,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="OSD Recovery Priority",n="Priority",d="Customize priority values",w="This field is required.",re="This field is required!",Ze="" + "\ufffd0\ufffd" + "",Lt="The entered value is too high! It must not be greater than " + "\ufffd0\ufffd" + ".",Gt="The entered value is too low! It must not be lower than " + "\ufffd0\ufffd" + ".",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["novalidate","","cdFormScope","osd",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","priority",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],["formControlName","priority","id","priority",1,"form-control",3,"change"],[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["formControlName","customizePriority","id","customizePriority","name","customizePriority","type","checkbox",1,"custom-control-input",3,"change"],["for","customizePriority",1,"custom-control-label"],d,["class","form-group row",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","showSubmit","submitActionEvent"],[3,"value"],[1,"invalid-feedback"],w,[1,"cd-col-form-label",3,"for"],[3,"ngClass"],[4,"ngIf"],["type","number",1,"form-control",3,"id","formControlName","readonly"],re,Ze,Lt,Gt]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"div",7),e.TgZ(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e.TgZ(11,"select",11),e.NdJ("change",function(re){return d.onPriorityChange(re.target.value)}),e.YNc(12,Dg,2,2,"option",12),e.qZA(),e.YNc(13,xg,2,0,"span",13),e.qZA(),e.qZA(),e.TgZ(14,"div",7),e.TgZ(15,"div",14),e.TgZ(16,"div",15),e.TgZ(17,"input",16),e.NdJ("change",function(){return d.onCustomizePriorityChange()}),e.qZA(),e.TgZ(18,"label",17),e.SDv(19,18),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(20,Ng,11,13,"div",19),e.ALo(21,"keyvalue"),e.qZA(),e.TgZ(22,"div",20),e.TgZ(23,"cd-form-button-panel",21),e.NdJ("submitActionEvent",function(){return d.submitAction()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n){const w=e.MAs(5);e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.osdRecvSpeedForm),e.xp6(8),e.Q6J("ngForOf",d.priorities),e.xp6(1),e.Q6J("ngIf",d.osdRecvSpeedForm.showError("priority",w,"required")),e.xp6(7),e.Q6J("ngForOf",e.lcZ(21,8,d.priorityAttrs)),e.xp6(3),e.Q6J("form",d.osdRecvSpeedForm)("submitText",d.actionLabels.UPDATE)("showSubmit",d.permissions.configOpt.update)}},directives:[nl.z,Hn._Y,Hn.JL,Bh.T,Gn.V,Hn.sg,kn.P,As.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,s.sg,s.O5,Hn.Wl,jr.p,Hn.YN,Hn.Kr,s.mk,Hn.wV,Hn.Fj,yl.S],pipes:[s.Nd],styles:[""]}),f})();function i1(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,15),e.qZA())}function Cv(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,16),e.qZA())}function Sv(f,y){if(1&f&&(e.TgZ(0,"span",13),e.YNc(1,i1,2,0,"span",14),e.YNc(2,Cv,2,0,"span",14),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngIf",null==n.weight.errors?null:n.weight.errors.required),e.xp6(1),e.Q6J("ngIf",(null==n.weight.errors?null:n.weight.errors.max)||(null==n.weight.errors?null:n.weight.errors.min))}}let U_=(()=>{class f{constructor(n,d,w,re){this.actionLabels=n,this.activeModal=d,this.osdService=w,this.fb=re,this.currentWeight=1}get weight(){return this.reweightForm.get("weight")}ngOnInit(){this.reweightForm=this.fb.group({weight:this.fb.control(this.currentWeight,[Hn.kI.required])})}reweight(){this.osdService.reweight(this.osdId,this.reweightForm.value.weight).subscribe(()=>this.activeModal.close())}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(Br.Kz),e.Y36(lc),e.Y36($c.O))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-reweight-modal"]],decls:14,vars:7,consts:function(){let y,n,d;return y="Reweight OSD: " + "\ufffd0\ufffd" + "",n="This field is required.",d="The value needs to be between 0 and 1.",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],[3,"formGroup"],[1,"modal-body"],[1,"row"],["for","weight",1,"cd-col-form-label"],[1,"cd-col-form-input"],["id","weight","type","number","step","0.1","formControlName","weight","min","0","max","1",1,"form-control",3,"value"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],[4,"ngIf"],n,d]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4),e.TgZ(5,"div",5),e.TgZ(6,"div",6),e.TgZ(7,"label",7),e._uU(8,"Weight"),e.qZA(),e.TgZ(9,"div",8),e._UZ(10,"input",9),e.YNc(11,Sv,3,2,"span",10),e.qZA(),e.qZA(),e.qZA(),e.TgZ(12,"div",11),e.TgZ(13,"cd-form-button-panel",12),e.NdJ("submitActionEvent",function(){return d.reweight()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(2),e.pQV(d.osdId),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.reweightForm),e.xp6(6),e.Q6J("value",d.currentWeight),e.xp6(1),e.Q6J("ngIf",d.weight.errors),e.xp6(2),e.Q6J("form",d.reweightForm)("submitText",d.actionLabels.REWEIGHT))},directives:[nl.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,As.o,Hn.wV,Hn.qQ,Hn.Fd,Hn.Fj,zn.b,Hn.JJ,Hn.u,s.O5,jr.p],styles:[""]}),f})();var j_=o(86969);let Pg=(()=>{class f{constructor(n,d,w,re,Ze){this.activeModal=n,this.actionLabels=d,this.osdService=w,this.notificationService=re,this.joinPipe=Ze,this.selected=[]}ngOnInit(){this.scrubForm=new Hn.cw({})}scrub(){(0,zs.D)(this.selected.map(n=>this.osdService.scrub(n,this.deep))).subscribe(()=>{this.notificationService.show(Ho.k.success,"" + (this.deep ? "Deep scrub" : "Scrub") + " was initialized in the following OSD(s): " + this.joinPipe.transform(this.selected) + ""),this.activeModal.close()},()=>this.activeModal.close())}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(lc),e.Y36(Zi.g),e.Y36(j_.A))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-scrub-modal"]],decls:13,vars:9,consts:function(){let y,n,d,w;return y="{VAR_SELECT, select, true {Deep } other {}}",y=e.Zx4(y,{VAR_SELECT:"\ufffd0\ufffd"}),n="OSDs " + y + "Scrub",d="{VAR_SELECT, select, true {deep } other {}}",d=e.Zx4(d,{VAR_SELECT:"\ufffd0\ufffd"}),w="You are about to apply a " + d + "scrub to the OSD(s): " + "\ufffd#9\ufffd" + "" + "\ufffd1\ufffd" + "" + "\ufffd/#9\ufffd" + ".",[[3,"modalRef"],[1,"modal-title"],n,[1,"modal-content"],["name","scrubForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],w,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"]]},template:function(n,d){1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.qZA(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"p"),e.tHW(8,7),e._UZ(9,"strong"),e.ALo(10,"join"),e.N_p(),e.qZA(),e.qZA(),e.TgZ(11,"div",8),e.TgZ(12,"cd-form-button-panel",9),e.NdJ("submitActionEvent",function(){return d.scrub()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n&&(e.Q6J("modalRef",d.activeModal),e.xp6(2),e.pQV(d.deep),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.scrubForm),e.xp6(6),e.pQV(d.deep)(e.lcZ(10,7,d.selected)),e.QtT(8),e.xp6(2),e.Q6J("form",d.scrubForm)("submitText",d.actionLabels.UPDATE))},directives:[nl.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,jr.p],pipes:[j_.A],styles:[""]}),f})();var B_=o(98056);function Mv(f,y){if(1&f&&e._UZ(0,"cd-device-list",17),2&f){const n=e.oxw(2);e.Q6J("osdId",null==n.osd?null:n.osd.id)}}function Rd(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",18),2&f){const n=e.oxw(2);e.Q6J("data",null==n.osd||null==n.osd.details?null:n.osd.details.osd_map)}}function Ov(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table-key-value",21),e.NdJ("fetchData",function(){return e.CHM(n),e.oxw(3).refresh()}),e.qZA()}if(2&f){const n=e.oxw(3);e.Q6J("data",null==n.osd||null==n.osd.details?null:n.osd.details.osd_metadata)}}function Ig(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",22),e.SDv(1,23),e.qZA())}function o1(f,y){if(1&f&&(e.YNc(0,Ov,1,1,"cd-table-key-value",19),e.YNc(1,Ig,2,0,"ng-template",null,20,e.W1O)),2&f){const n=e.MAs(2),d=e.oxw(2);e.Q6J("ngIf",null==d.osd||null==d.osd.details?null:d.osd.details.osd_metadata)("ngIfElse",n)}}function Y_(f,y){if(1&f&&e._UZ(0,"cd-smart-list",17),2&f){const n=e.oxw(2);e.Q6J("osdId",null==n.osd?null:n.osd.id)}}function Lg(f,y){if(1&f&&e._UZ(0,"cd-table-performance-counter",25),2&f){const n=e.oxw(3);e.Q6J("serviceId",null==n.osd?null:n.osd.id)}}function Fg(f,y){if(1&f&&e.YNc(0,Lg,1,1,"cd-table-performance-counter",24),2&f){const n=e.oxw(2);e.Q6J("ngIf",null==n.osd?null:n.osd.details)}}function s1(f,y){if(1&f&&e._UZ(0,"cd-grafana",28),2&f){const n=e.oxw(3);e.Q6J("grafanaPath","osd-device-details?var-osd=osd."+n.osd.id)}}function kg(f,y){1&f&&(e.TgZ(0,"li",26),e.TgZ(1,"a",4),e.SDv(2,27),e.qZA(),e.YNc(3,s1,1,1,"ng-template",6),e.qZA())}function $g(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,Mv,1,1,"ng-template",6),e.qZA(),e.TgZ(7,"li",7),e.TgZ(8,"a",4),e.SDv(9,8),e.qZA(),e.YNc(10,Rd,1,1,"ng-template",6),e.qZA(),e.TgZ(11,"li",9),e.TgZ(12,"a",4),e.SDv(13,10),e.qZA(),e.YNc(14,o1,3,2,"ng-template",6),e.qZA(),e.TgZ(15,"li",11),e.TgZ(16,"a",4),e.SDv(17,12),e.qZA(),e.YNc(18,Y_,1,1,"ng-template",6),e.qZA(),e.TgZ(19,"li",13),e.TgZ(20,"a",4),e.SDv(21,14),e.qZA(),e.YNc(22,Fg,1,1,"ng-template",6),e.qZA(),e.YNc(23,kg,4,0,"li",15),e.qZA(),e._UZ(24,"div",16),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw();e.xp6(23),e.Q6J("ngIf",d.grafanaPermission.read),e.xp6(1),e.Q6J("ngbNavOutlet",n)}}let Z_=(()=>{class f{constructor(n,d){this.osdService=n,this.authStorageService=d,this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){var n,d,w;(null===(n=this.osd)||void 0===n?void 0:n.id)!==(null===(d=this.selection)||void 0===d?void 0:d.id)&&(this.osd=this.selection),gn().isNumber(null===(w=this.osd)||void 0===w?void 0:w.id)&&this.refresh()}refresh(){this.osdService.getDetails(this.osd.id).subscribe(n=>{this.osd.details=n})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(lc),e.Y36(hi.j))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt;return y="Devices",n="Attributes (OSD map)",d="Metadata",w="Device health",re="Performance counter",Ze="Metadata not available",Lt="Performance Details",[[4,"ngIf"],["ngbNav","","id","tabset-osd-details","cdStatefulTab","osd-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","devices"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","attributes"],n,["ngbNavItem","metadata"],d,["ngbNavItem","device-health"],w,["ngbNavItem","performance-counter"],re,["ngbNavItem","performance-details",4,"ngIf"],[3,"ngbNavOutlet"],[3,"osdId"],[3,"data"],[3,"data","fetchData",4,"ngIf","ngIfElse"],["noMetaData",""],[3,"data","fetchData"],["type","warning"],Ze,["serviceType","osd",3,"serviceId",4,"ngIf"],["serviceType","osd",3,"serviceId"],["ngbNavItem","performance-details"],Lt,["uid","CrAHE0iZz","grafanaStyle","three",3,"grafanaPath"]]},template:function(n,d){1&n&&e.YNc(0,$g,25,2,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,ts,Ft.b,De.G,A,B_.p,Je.F],styles:[""]}),f})();const a1=["osdUsageTpl"],vu=["markOsdConfirmationTpl"],V_=["criticalConfirmationTpl"],l1=["reweightBodyTpl"],c1=["safeToDestroyBodyTpl"],u1=["deleteOsdExtraTpl"],d1=["flagsTpl"],G_=function(){return{read:!0}};function Zh(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",13),e.NdJ("fetchData",function(){return e.CHM(n),e.oxw().getOsdList()})("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e.TgZ(1,"div",14),e._UZ(2,"cd-table-actions",15),e._UZ(3,"cd-table-actions",16),e.qZA(),e._UZ(4,"cd-osd-details",17),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.osds)("columns",n.columns)("hasDetails",!0)("updateSelectionOnRefresh","never"),e.xp6(2),e.Q6J("permission",n.permissions.osd)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("permission",e.DdM(11,G_))("selection",n.selection)("tableActions",n.clusterWideActions),e.xp6(1),e.Q6J("selection",n.expandedRow)}}function Jf(f,y){1&f&&e._UZ(0,"cd-grafana",19),2&f&&e.Q6J("grafanaPath","osd-overview?")}function Hg(f,y){1&f&&(e.TgZ(0,"li",2),e.TgZ(1,"a",3),e.SDv(2,18),e.qZA(),e.YNc(3,Jf,1,1,"ng-template",5),e.qZA())}function Nd(f,y){if(1&f&&(e.ynx(0),e.tHW(1,20),e._UZ(2,"strong"),e.ALo(3,"join"),e._UZ(4,"strong"),e.N_p(),e.BQk()),2&f){const n=y.markActionDescription,d=y.osdIds;e.xp6(4),e.pQV(e.lcZ(3,2,d))(n),e.QtT(1)}}function ch(f,y){if(1&f&&(e.TgZ(0,"div",23),e.TgZ(1,"cd-alert-panel",24),e.SDv(2,25),e.qZA(),e.qZA()),2&f){const n=e.oxw(),d=n.actionDescription,w=n.message,re=e.oxw();e.xp6(2),e.pQV(re.selection.hasSingleSelection)(d)(w),e.QtT(2)}}function f1(f,y){if(1&f&&(e.YNc(0,ch,3,3,"div",21),e.ynx(1),e.tHW(2,22),e._UZ(3,"strong"),e.ALo(4,"join"),e._UZ(5,"strong"),e.N_p(),e.BQk()),2&f){const d=y.actionDescription,w=y.osdIds;e.Q6J("ngIf",!y.safeToPerform),e.xp6(5),e.pQV(e.lcZ(4,3,w))(d),e.QtT(2)}}function Ug(f,y){if(1&f&&(e.TgZ(0,"span",28),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.Oqu(n)}}function z_(f,y){if(1&f&&(e.TgZ(0,"span",29),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.Oqu(n)}}function Qd(f,y){if(1&f&&(e.YNc(0,Ug,2,1,"span",26),e.YNc(1,z_,2,1,"span",27)),2&f){const n=y.row;e.Q6J("ngForOf",n.cdClusterFlags),e.xp6(1),e.Q6J("ngForOf",n.cdIndivFlags)}}function uh(f,y){if(1&f&&e._UZ(0,"cd-usage-bar",30),2&f){const n=y.row,d=e.oxw();e.Q6J("total",n.stats.stat_bytes)("used",n.stats.stat_bytes_used)("warningThreshold",d.osdSettings.nearfull_ratio)("errorThreshold",d.osdSettings.full_ratio)}}function nu(f,y){1&f&&(e.ynx(0,31),e.ynx(1,32),e.TgZ(2,"div",33),e.TgZ(3,"div",34),e._UZ(4,"input",35),e.TgZ(5,"label",36),e.SDv(6,37),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.BQk()),2&f&&e.Q6J("formGroup",y.form)}let Vh=(()=>{class f extends mi.o{constructor(n,d,w,re,Ze,Lt,Gt,On,fr,hr){super(),this.authStorageService=n,this.osdService=d,this.dimlessBinaryPipe=w,this.modalService=re,this.urlBuilder=Ze,this.router=Lt,this.taskWrapper=Gt,this.actionLabels=On,this.notificationService=fr,this.orchService=hr,this.icons=eo.P,this.osdSettings=new Tg,this.selection=new si.r,this.osds=[],this.disabledFlags=["sortbitwise","purged_snapdirs","recovery_deletes","pglog_hardlimit"],this.indivFlagNames=["noup","nodown","noin","noout"],this.actionOrchFeatures={create:[ml.OSD_CREATE],delete:[ml.OSD_DELETE]},this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{name:this.actionLabels.CREATE,permission:"create",icon:eo.P.add,click:()=>this.router.navigate([this.urlBuilder.getCreate()]),disable:Jr=>this.getDisable("create",Jr),canBePrimary:Jr=>!Jr.hasSelection},{name:this.actionLabels.EDIT,permission:"update",icon:eo.P.edit,click:()=>this.editAction()},{name:this.actionLabels.FLAGS,permission:"update",icon:eo.P.flag,click:()=>this.configureFlagsIndivAction(),disable:()=>!this.hasOsdSelected},{name:this.actionLabels.SCRUB,permission:"update",icon:eo.P.analyse,click:()=>this.scrubAction(!1),disable:()=>!this.hasOsdSelected,canBePrimary:Jr=>Jr.hasSelection},{name:this.actionLabels.DEEP_SCRUB,permission:"update",icon:eo.P.deepCheck,click:()=>this.scrubAction(!0),disable:()=>!this.hasOsdSelected},{name:this.actionLabels.REWEIGHT,permission:"update",click:()=>this.reweight(),disable:()=>!this.hasOsdSelected||!this.selection.hasSingleSelection,icon:eo.P.reweight},{name:this.actionLabels.MARK_OUT,permission:"update",click:()=>this.showConfirmationModal("out",this.osdService.markOut),disable:()=>this.isNotSelectedOrInState("out"),icon:eo.P.left},{name:this.actionLabels.MARK_IN,permission:"update",click:()=>this.showConfirmationModal("in",this.osdService.markIn),disable:()=>this.isNotSelectedOrInState("in"),icon:eo.P.right},{name:this.actionLabels.MARK_DOWN,permission:"update",click:()=>this.showConfirmationModal("down",this.osdService.markDown),disable:()=>this.isNotSelectedOrInState("down"),icon:eo.P.down},{name:this.actionLabels.MARK_LOST,permission:"delete",click:()=>this.showCriticalConfirmationModal("Mark","OSD lost","marked lost",Jr=>this.osdService.safeToDestroy(JSON.stringify(Jr)),"is_safe_to_destroy",this.osdService.markLost),disable:()=>this.isNotSelectedOrInState("up"),icon:eo.P.flatten},{name:this.actionLabels.PURGE,permission:"delete",click:()=>this.showCriticalConfirmationModal("Purge","OSD","purged",Jr=>this.osdService.safeToDestroy(JSON.stringify(Jr)),"is_safe_to_destroy",Jr=>(this.selection=new si.r,this.osdService.purge(Jr))),disable:()=>this.isNotSelectedOrInState("up"),icon:eo.P.erase},{name:this.actionLabels.DESTROY,permission:"delete",click:()=>this.showCriticalConfirmationModal("destroy","OSD","destroyed",Jr=>this.osdService.safeToDestroy(JSON.stringify(Jr)),"is_safe_to_destroy",Jr=>(this.selection=new si.r,this.osdService.destroy(Jr))),disable:()=>this.isNotSelectedOrInState("up"),icon:eo.P.destroyCircle},{name:this.actionLabels.DELETE,permission:"delete",click:()=>this.delete(),disable:Jr=>this.getDisable("delete",Jr),icon:eo.P.destroy}]}static collectStates(n){const d=[n.in?"in":"out"];return n.up?d.push("up"):n.state.includes("destroyed")?d.push("destroyed"):d.push("down"),d}ngOnInit(){this.clusterWideActions=[{name:"Flags",icon:eo.P.flag,click:()=>this.configureFlagsAction(),permission:"read",visible:()=>this.permissions.osd.read},{name:"Recovery Priority",icon:eo.P.deepCheck,click:()=>this.configureQosParamsAction(),permission:"read",visible:()=>this.permissions.configOpt.read},{name:"PG scrub",icon:eo.P.analyse,click:()=>this.configurePgScrubAction(),permission:"read",visible:()=>this.permissions.configOpt.read}],this.columns=[{prop:"id",name:"ID",flexGrow:1,cellTransformation:ii.e.executing,customTemplateConfig:{valueClass:"bold"}},{prop:"host.name",name:"Host"},{prop:"collectedStates",name:"Status",flexGrow:1,cellTransformation:ii.e.badge,customTemplateConfig:{map:{in:{class:"badge-success"},up:{class:"badge-success"},down:{class:"badge-danger"},out:{class:"badge-danger"},destroyed:{class:"badge-danger"}}}},{prop:"tree.device_class",name:"Device class",flexGrow:1.2,cellTransformation:ii.e.badge,customTemplateConfig:{map:{hdd:{class:"badge-hdd"},ssd:{class:"badge-ssd"}}}},{prop:"stats.numpg",name:"PGs",flexGrow:1},{prop:"stats.stat_bytes",name:"Size",flexGrow:1,pipe:this.dimlessBinaryPipe},{prop:"state",name:"Flags",cellTemplate:this.flagsTpl},{prop:"stats.usage",name:"Usage",cellTemplate:this.osdUsageTpl},{prop:"stats_history.out_bytes",name:"Read bytes",cellTransformation:ii.e.sparkline},{prop:"stats_history.in_bytes",name:"Write bytes",cellTransformation:ii.e.sparkline},{prop:"stats.op_r",name:"Read ops",cellTransformation:ii.e.perSecond},{prop:"stats.op_w",name:"Write ops",cellTransformation:ii.e.perSecond}],this.orchService.status().subscribe(n=>this.orchStatus=n),this.osdService.getOsdSettings().pipe((0,_c.q)(1)).subscribe(n=>{this.osdSettings=n})}getDisable(n,d){if("delete"===n){if(!d.hasSelection)return!0;if(gn().some(this.getSelectedOsds(),re=>{const Ze=gn().get(re,"operational_status");return"deleting"===Ze||"unmanaged"===Ze}))return!0}return this.orchService.getTableActionDisableDesc(this.orchStatus,this.actionOrchFeatures[n])}getSelectedOsdIds(){const n=this.osds.map(d=>d.id);return this.selection.selected.map(d=>d.id).filter(d=>n.includes(d)).sort()}getSelectedOsds(){return this.osds.filter(n=>!gn().isUndefined(n)&&this.getSelectedOsdIds().includes(n.id))}get hasOsdSelected(){return this.getSelectedOsdIds().length>0}updateSelection(n){this.selection=n}isNotSelectedOrInState(n){const d=this.getSelectedOsds();if(0===d.length)return!0;switch(n){case"in":return d.some(w=>1===w.in);case"out":return d.some(w=>1!==w.in);case"down":return d.some(w=>1!==w.up);case"up":return d.some(w=>1===w.up)}}getOsdList(){const n=[this.osdService.getList(),this.osdService.getFlags()];(0,zs.D)(n).subscribe(d=>{this.osds=d[0].map(w=>{w.collectedStates=f.collectStates(w),w.stats_history.out_bytes=w.stats_history.op_out_bytes.map(Ze=>Ze[1]),w.stats_history.in_bytes=w.stats_history.op_in_bytes.map(Ze=>Ze[1]),w.stats.usage=w.stats.stat_bytes_used/w.stats.stat_bytes,w.cdIsBinary=!0,w.cdIndivFlags=w.state.filter(Ze=>this.indivFlagNames.includes(Ze)),w.cdClusterFlags=d[1].filter(Ze=>!this.disabledFlags.includes(Ze));const re=gn().get(w,"operational_status","unmanaged");return"unmanaged"!==re&&"working"!==re&&(w.cdExecuting=re),w})})}editAction(){const n=gn().filter(this.osds,["id",this.selection.first().id]).pop();this.modalService.show(Hl.X,{titleText:"Edit OSD: " + n.id + "",fields:[{type:"text",name:"deviceClass",value:n.tree.device_class,label:"Device class",required:!0}],submitButtonText:"Edit OSD",onSubmit:d=>{this.osdService.update(n.id,d.deviceClass).subscribe(()=>{this.notificationService.show(Ho.k.success,"Updated OSD '" + n.id + "'"),this.getOsdList()})}})}scrubAction(n){if(!this.hasOsdSelected)return;const d={selected:this.getSelectedOsdIds(),deep:n};this.bsModalRef=this.modalService.show(Pg,d)}configureFlagsAction(){this.bsModalRef=this.modalService.show(Cg)}configureFlagsIndivAction(){const n={selected:this.getSelectedOsds()};this.bsModalRef=this.modalService.show(Wm,n)}showConfirmationModal(n,d){const w=this.getSelectedOsdIds();this.bsModalRef=this.modalService.show(Ll.Y,{titleText:"Mark OSD " + n + "",buttonText:"Mark " + n + "",bodyTpl:this.markOsdConfirmationTpl,bodyContext:{markActionDescription:n,osdIds:w},onSubmit:()=>{(0,zs.D)(this.getSelectedOsdIds().map(re=>d.call(this.osdService,re))).subscribe(()=>this.bsModalRef.close())}})}reweight(){const n=this.osds.filter(d=>d.id===this.selection.first().id).pop();this.bsModalRef=this.modalService.show(U_,{currentWeight:n.weight,osdId:n.id})}delete(){const n=new xt.d({preserve:new Hn.NI(!1)});this.showCriticalConfirmationModal("delete","OSD","deleted",d=>this.osdService.safeToDelete(JSON.stringify(d)),"is_safe_to_delete",d=>(this.selection=new si.r,this.taskWrapper.wrapTaskAroundCall({task:new Va.R("osd/"+uo.MQ.DELETE,{svc_id:d}),call:this.osdService.delete(d,n.value.preserve,!0)})),!0,n,this.deleteOsdExtraTpl)}showCriticalConfirmationModal(n,d,w,re,Ze,Lt,Gt=!1,On,fr){re(this.getSelectedOsdIds()).subscribe(hr=>{const Jr=this.modalService.show(jo.M,{actionDescription:n,itemDescription:d,bodyTemplate:this.criticalConfirmationTpl,bodyContext:{safeToPerform:hr[Ze],message:hr.message,actionDescription:w,osdIds:this.getSelectedOsdIds()},childFormGroup:On,childFormGroupTemplate:fr,submitAction:()=>{const $i=(0,zs.D)(this.getSelectedOsdIds().map(bo=>Lt.call(this.osdService,bo)));Gt?$i.subscribe({error:()=>{this.getOsdList(),Jr.close()},complete:()=>Jr.close()}):$i.subscribe(()=>{this.getOsdList(),Jr.close()},()=>Jr.close())}})})}configureQosParamsAction(){this.bsModalRef=this.modalService.show(r1)}configurePgScrubAction(){this.bsModalRef=this.modalService.show(wg,void 0,{size:"lg"})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(lc),e.Y36(Se.$),e.Y36(na.Z),e.Y36(vl.F),e.Y36(tn.F0),e.Y36(ki.P),e.Y36(uo.p4),e.Y36(Zi.g),e.Y36(el))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-osd-list"]],viewQuery:function(n,d){if(1&n&&(e.Gf(a1,7),e.Gf(vu,7),e.Gf(V_,7),e.Gf(l1,5),e.Gf(c1,5),e.Gf(u1,5),e.Gf(d1,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.osdUsageTpl=w.first),e.iGM(w=e.CRH())&&(d.markOsdConfirmationTpl=w.first),e.iGM(w=e.CRH())&&(d.criticalConfirmationTpl=w.first),e.iGM(w=e.CRH())&&(d.reweightBodyTpl=w.first),e.iGM(w=e.CRH())&&(d.safeToDestroyBodyTpl=w.first),e.iGM(w=e.CRH())&&(d.deleteOsdExtraTpl=w.first),e.iGM(w=e.CRH())&&(d.flagsTpl=w.first)}},features:[e._Bn([{provide:vl.F,useValue:new vl.F("osd")}]),e.qOj],decls:18,vars:2,consts:function(){let y,n,d,w,re,Ze,Lt;return y="OSDs List",n="Overall Performance",d="" + "[\ufffd#2\ufffd|\ufffd#4\ufffd]" + "OSD(s) " + "\ufffd0\ufffd" + "" + "[\ufffd/#2\ufffd|\ufffd/#4\ufffd]" + " will be marked " + "[\ufffd#2\ufffd|\ufffd#4\ufffd]" + "" + "\ufffd1\ufffd" + "" + "[\ufffd/#2\ufffd|\ufffd/#4\ufffd]" + " if you proceed.",d=e.Zx4(d),w="" + "[\ufffd#3\ufffd|\ufffd#5\ufffd]" + "OSD " + "\ufffd0\ufffd" + "" + "[\ufffd/#3\ufffd|\ufffd/#5\ufffd]" + " will be " + "[\ufffd#3\ufffd|\ufffd#5\ufffd]" + "" + "\ufffd1\ufffd" + "" + "[\ufffd/#3\ufffd|\ufffd/#5\ufffd]" + " if you proceed.",w=e.Zx4(w),re="{VAR_SELECT, select, true {OSD is} other {OSDs are}}",re=e.Zx4(re,{VAR_SELECT:"\ufffd0\ufffd"}),Ze="The " + re + " not safe to be " + "\ufffd1\ufffd" + "! " + "\ufffd2\ufffd" + "",Lt="Preserve OSD ID(s) for replacement.",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","",4,"ngIf"],[3,"ngbNavOutlet"],["markOsdConfirmationTpl",""],["criticalConfirmationTpl",""],["flagsTpl",""],["osdUsageTpl",""],["deleteOsdExtraTpl",""],["selectionType","multiClick",3,"data","columns","hasDetails","updateSelectionOnRefresh","fetchData","setExpandedRow","updateSelection"],[1,"table-actions","btn-toolbar"],["id","osd-actions",1,"btn-group",3,"permission","selection","tableActions"],["dropDownOnly","Cluster-wide configuration","btnColor","light","id","cluster-wide-actions",1,"btn-group",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],n,["uid","lo02I1Aiz","grafanaStyle","four",3,"grafanaPath"],d,["class","danger",4,"ngIf"],w,[1,"danger"],["type","warning"],Ze,["class","badge badge-hdd mr-1",4,"ngFor","ngForOf"],["class","badge badge-info mr-1",4,"ngFor","ngForOf"],[1,"badge","badge-hdd","mr-1"],[1,"badge","badge-info","mr-1"],[3,"total","used","warningThreshold","errorThreshold"],[3,"formGroup"],["formGroupName","child"],[1,"form-group"],[1,"custom-control","custom-checkbox"],["type","checkbox","name","preserve","id","preserve","formControlName","preserve",1,"custom-control-input"],["for","preserve",1,"custom-control-label"],Lt]},template:function(n,d){if(1&n&&(e.TgZ(0,"ul",0,1),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,Zh,5,12,"ng-template",5),e.qZA(),e.YNc(6,Hg,4,0,"li",6),e.qZA(),e._UZ(7,"div",7),e.YNc(8,Nd,5,4,"ng-template",null,8,e.W1O),e.YNc(10,f1,6,5,"ng-template",null,9,e.W1O),e.YNc(12,Qd,2,2,"ng-template",null,10,e.W1O),e.YNc(14,uh,1,4,"ng-template",null,11,e.W1O),e.YNc(16,nu,7,1,"ng-template",null,12,e.W1O)),2&n){const w=e.MAs(1);e.xp6(6),e.Q6J("ngIf",d.permissions.grafana.read),e.xp6(1),e.Q6J("ngbNavOutlet",w)}},directives:[Br.Pz,Br.nv,Br.Vx,Br.uN,s.O5,Br.tO,Ui.a,ha.K,Z_,Je.F,De.G,s.sg,Un.O,Gn.V,Hn.JL,Hn.sg,Hn.x0,kn.P,As.o,Hn.Wl,zn.b,Hn.JJ,Hn.u],pipes:[j_.A],styles:[""]}),f})();var nd=o(9837);let Tf=(()=>{class f{constructor(n,d){this.http=n,this.settingsService=d,this.baseURL="api/prometheus",this.settingsKey={alertmanager:"api/settings/alertmanager-api-host",prometheus:"api/settings/prometheus-api-host"}}ifAlertmanagerConfigured(n,d){this.settingsService.ifSettingConfigured(this.settingsKey.alertmanager,n,d)}disableAlertmanagerConfig(){this.settingsService.disableSetting(this.settingsKey.alertmanager)}ifPrometheusConfigured(n,d){this.settingsService.ifSettingConfigured(this.settingsKey.prometheus,n,d)}disablePrometheusConfig(){this.settingsService.disableSetting(this.settingsKey.prometheus)}getAlerts(n={}){return this.http.get(this.baseURL,{params:n})}getSilences(n={}){return this.http.get(`${this.baseURL}/silences`,{params:n})}getRules(n="all"){return this.http.get(`${this.baseURL}/rules`).pipe((0,Ds.U)(d=>(["alerting","rewrites"].includes(n)&&d.groups.map(w=>{w.rules=w.rules.filter(re=>re.type===n)}),d)))}setSilence(n){return this.http.post(`${this.baseURL}/silence`,n,{observe:"response"})}expireSilence(n){return this.http.delete(`${this.baseURL}/silence/${n}`,{observe:"response"})}getNotifications(n){return this.http.get(`${this.baseURL}/notifications?from=${n&&n.id?n.id:"last"}`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(nd.g))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var Qf=o(61355);let _p=(()=>{class f{constructor(n){this.notificationService=n}sendNotifications(n){n.forEach(d=>this.notificationService.show(d))}convertToCustomAlerts(n){return gn().uniqWith(n.map(d=>({status:gn().isObject(d.status)?d.status.state:this.getPrometheusNotificationStatus(d),name:d.labels.alertname,url:d.generatorURL,description:d.annotations.description,fingerprint:gn().isObject(d.status)&&d.fingerprint})),gn().isEqual)}getPrometheusNotificationStatus(n){const d=n.status;return"firing"===d?"active":d}convertAlertToNotification(n){return new Qf.T(this.formatType(n.status),`${n.name} (${n.status})`,this.appendSourceLink(n,n.description),void 0,"Prometheus")}formatType(n){return Ho.k[gn().findKey({error:["firing","active"],info:["suppressed","unprocessed"],success:["resolved"]},w=>w.includes(n))]}appendSourceLink(n,d){return`${d} <a href="${n.url}" target="_blank"><i class="${eo.P.lineChart}"></i></a>`}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(Zi.g))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),Cf=(()=>{class f{constructor(n,d){this.alertFormatter=n,this.prometheusService=d,this.canAlertsBeNotified=!1,this.alerts=[],this.rules=[]}getAlerts(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.prometheusService.getAlerts().subscribe(n=>this.handleAlerts(n),n=>{[404,504].includes(n.status)&&this.prometheusService.disableAlertmanagerConfig()})})}getRules(){this.prometheusService.ifPrometheusConfigured(()=>{this.prometheusService.getRules("alerting").subscribe(n=>{this.rules=n.groups.reduce((d,w)=>d.concat(w.rules.map(re=>(re.group=w.name,re))),[])})})}refresh(){this.getAlerts(),this.getRules()}handleAlerts(n){this.canAlertsBeNotified&&this.notifyOnAlertChanges(n,this.alerts),this.activeAlerts=gn().reduce(this.alerts,(d,w)=>"active"===w.status.state?++d:d,0),this.alerts=n,this.canAlertsBeNotified=!0}notifyOnAlertChanges(n,d){const w=this.getChangedAlerts(this.alertFormatter.convertToCustomAlerts(n),this.alertFormatter.convertToCustomAlerts(d)),Ze=gn().filter(w,Lt=>"suppressed"!==Lt.status).map(Lt=>this.alertFormatter.convertAlertToNotification(Lt));this.alertFormatter.sendNotifications(Ze)}getChangedAlerts(n,d){return gn().differenceWith(n,d,gn().isEqual).concat(this.getVanishedAlerts(n,d))}getVanishedAlerts(n,d){return gn().differenceWith(d,n,(w,re)=>w.fingerprint===re.fingerprint).map(w=>(w.status="resolved",w))}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(_p),e.LFG(Tf))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),Xf=(()=>{class f extends mi.o{constructor(n){super(),this.prometheusService=n,this.isPrometheusConfigured=!1,this.isAlertmanagerConfigured=!1}ngOnInit(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.isAlertmanagerConfigured=!0}),this.prometheusService.ifPrometheusConfigured(()=>{this.isPrometheusConfigured=!0})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Tf))},f.\u0275dir=e.lG2({type:f,features:[e.qOj]}),f})(),Kf=(()=>{class f{constructor(n){this.router=n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-prometheus-tabs"]],decls:11,vars:1,consts:function(){let y,n,d;return y="Active Alerts",n="Alerts",d="Silences",[["ngbNav","",1,"nav-tabs",3,"activeId","navChange"],["nav","ngbNav"],["ngbNavItem","/monitoring/active-alerts"],["ngbNavLink",""],y,["ngbNavItem","/monitoring/alerts"],n,["ngbNavItem","/monitoring/silences"],d]},template:function(n,d){1&n&&(e.TgZ(0,"ul",0,1),e.NdJ("navChange",function(re){return d.router.navigate([re.nextId])}),e.TgZ(2,"li",2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"li",5),e.TgZ(6,"a",3),e.SDv(7,6),e.qZA(),e.qZA(),e.TgZ(8,"li",7),e.TgZ(9,"a",3),e.SDv(10,8),e.qZA(),e.qZA(),e.qZA()),2&n&&e.Q6J("activeId",d.router.url)},directives:[Br.Pz,Br.nv,Br.Vx],styles:[""]}),f})();const Fp=["externalLinkTpl"];function kp(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",3),e.tHW(1,4),e._UZ(2,"cd-doc",5),e.N_p(),e.qZA())}function $p(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",9),2&f){const n=e.oxw(2);e.Q6J("renderObjects",!0)("hideEmpty",!0)("appendParentKey",!1)("data",n.expandedRow)("customCss",n.customCss)("autoReload",!1)}}function Hp(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",6),e.NdJ("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e._UZ(1,"cd-table-actions",7),e.YNc(2,$p,1,6,"cd-table-key-value",8),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.prometheusAlertService.alerts)("columns",n.columns)("forceIdentifier",!0)("customCss",n.customCss)("hasDetails",!0),e.xp6(1),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("ngIf",n.expandedRow)}}const jg=function(f){return[f]};function Bg(f,y){if(1&f&&(e.TgZ(0,"a",10),e._UZ(1,"i",11),e._uU(2," Source"),e.qZA()),2&f){const n=y.value,d=e.oxw();e.Q6J("href",n,e.LSH),e.xp6(1),e.Q6J("ngClass",e.VKq(2,jg,d.icons.lineChart))}}let Zg=(()=>{class f extends Xf{constructor(n,d,w,re,Ze){super(Ze),this.authStorageService=n,this.prometheusAlertService=d,this.urlBuilder=w,this.cdDatePipe=re,this.selection=new si.r,this.icons=eo.P,this.customCss={"badge badge-danger":"active","badge badge-warning":"unprocessed","badge badge-info":"suppressed"},this.permission=this.authStorageService.getPermissions().prometheus,this.tableActions=[{permission:"create",canBePrimary:Lt=>Lt.hasSingleSelection,disable:Lt=>!Lt.hasSingleSelection||Lt.first().cdExecuting,icon:eo.P.add,routerLink:()=>"/monitoring"+this.urlBuilder.getCreateFrom(this.selection.first().fingerprint),name:"Create Silence"}]}ngOnInit(){super.ngOnInit(),this.columns=[{name:"Name",prop:"labels.alertname",flexGrow:2},{name:"Job",prop:"labels.job",flexGrow:2},{name:"Severity",prop:"labels.severity"},{name:"State",prop:"status.state",cellTransformation:ii.e.classAdding},{name:"Started",prop:"startsAt",pipe:this.cdDatePipe},{name:"URL",prop:"generatorURL",sortable:!1,cellTemplate:this.externalLinkTpl}]}updateSelection(n){this.selection=n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(Cf),e.Y36(vl.F),e.Y36(bi.N),e.Y36(Tf))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-active-alert-list"]],viewQuery:function(n,d){if(1&n&&e.Gf(Fp,7),2&n){let w;e.iGM(w=e.CRH())&&(d.externalLinkTpl=w.first)}},features:[e._Bn([{provide:vl.F,useValue:new vl.F("silences")}]),e.qOj],decls:5,vars:2,consts:function(){let y;return y="To see all active Prometheus alerts, please provide the URL to the API of Prometheus' Alertmanager as described in the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + ".",[["type","info",4,"ngIf"],["identifier","fingerprint","selectionType","single",3,"data","columns","forceIdentifier","customCss","hasDetails","setExpandedRow","updateSelection",4,"ngIf"],["externalLinkTpl",""],["type","info"],y,["section","prometheus"],["identifier","fingerprint","selectionType","single",3,"data","columns","forceIdentifier","customCss","hasDetails","setExpandedRow","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"renderObjects","hideEmpty","appendParentKey","data","customCss","autoReload",4,"ngIf"],["cdTableDetail","",3,"renderObjects","hideEmpty","appendParentKey","data","customCss","autoReload"],["target","_blank",3,"href"],[3,"ngClass"]]},template:function(n,d){1&n&&(e._UZ(0,"cd-prometheus-tabs"),e.YNc(1,kp,3,0,"cd-alert-panel",0),e.YNc(2,Hp,3,9,"cd-table",1),e.YNc(3,Bg,3,4,"ng-template",null,2,e.W1O)),2&n&&(e.xp6(1),e.Q6J("ngIf",!d.isAlertmanagerConfigured),e.xp6(1),e.Q6J("ngIf",d.isAlertmanagerConfigured))},directives:[Kf,s.O5,De.G,_s.K,Ui.a,ha.K,Ft.b,s.mk],styles:[""]}),f})();var W_=o(94088);function Vg(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",2),e.tHW(1,3),e._UZ(2,"cd-doc",4),e.N_p(),e.qZA())}function Gg(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",7),2&f){const n=e.oxw(2);e.Q6J("data",n.expandedRow)("renderObjects",!0)("hideKeys",n.hideKeys)}}function zg(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",5),e.NdJ("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e.YNc(1,Gg,1,3,"cd-table-key-value",6),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.prometheusAlertService.rules)("columns",n.columns)("selectionType","single")("hasDetails",!0),e.xp6(1),e.Q6J("ngIf",n.expandedRow)}}let Wg=(()=>{class f extends Xf{constructor(n,d){super(d),this.prometheusAlertService=n,this.hideKeys=["alerts","type"]}ngOnInit(){super.ngOnInit(),this.columns=[{prop:"name",name:"Name"},{prop:"labels.severity",name:"Severity"},{prop:"group",name:"Group"},{prop:"duration",name:"Duration",pipe:new W_.u},{prop:"query",name:"Query",isHidden:!0},{prop:"annotations.description",name:"Description"}]}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Cf),e.Y36(Tf))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-rules-list"]],features:[e.qOj],decls:3,vars:2,consts:function(){let y;return y="To see all configured Prometheus alerts, please provide the URL to the API of Prometheus as described in the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + ".",[["type","info",4,"ngIf"],[3,"data","columns","selectionType","hasDetails","setExpandedRow","updateSelection",4,"ngIf"],["type","info"],y,["section","prometheus"],[3,"data","columns","selectionType","hasDetails","setExpandedRow","updateSelection"],["cdTableDetail","",3,"data","renderObjects","hideKeys",4,"ngIf"],["cdTableDetail","",3,"data","renderObjects","hideKeys"]]},template:function(n,d){1&n&&(e._UZ(0,"cd-prometheus-tabs"),e.YNc(1,Vg,3,0,"cd-alert-panel",0),e.YNc(2,zg,2,5,"cd-table",1)),2&n&&(e.xp6(1),e.Q6J("ngIf",!d.isPrometheusConfigured),e.xp6(1),e.Q6J("ngIf",d.isPrometheusConfigured))},directives:[Kf,s.O5,De.G,_s.K,Ui.a,Ft.b],styles:[""]}),f})();var O=o(26504);let B=(()=>{class f{constructor(){this.valueAttributePath={alertname:"name",instance:"alerts.0.labels.instance",job:"alerts.0.labels.job",severity:"labels.severity"}}singleMatch(n,d){return this.multiMatch([n],d)}multiMatch(n,d){if(!n.some(w=>w.isRegex))return n.forEach(w=>{d=this.getMatchedRules(w,d)}),this.describeMatch(d)}getMatchedRules(n,d){const w=this.getAttributePath(n.name);return d.filter(re=>gn().get(re,w)===n.value)}describeMatch(n){let d=0;return n.forEach(w=>d+=w.alerts.length),{status:this.getMatchText(n.length,d),cssClass:d?"has-success":"has-warning"}}getAttributePath(n){return this.valueAttributePath[n]}getMatchText(n,d){const w={noRule:"Your matcher seems to match no currently defined rule or active alert.",noAlerts:"no active alerts",alert:"1 active alert",alerts:"" + d + " active alerts",rule:"Matches 1 rule",rules:"Matches " + n + " rules"};return n?"" + (n > 1 ? w.rules : w.rule) + " with " + (d ? d > 1 ? w.alerts : w.alert : w.noAlerts) + ".":w.noRule}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),_e=(()=>{class f{calculateDuration(n,d){const w=+n,re=+d,Ze=this.getDuration(Math.abs(w-re));return w>re?"-"+Ze:Ze}getDuration(n){const d=new Date(n),w=d.getUTCHours(),re=d.getUTCMinutes(),Lt=(Gt,On)=>Gt&&Gt+On;return[Lt(Math.floor(n/864e5),"d"),Lt(w,"h"),Lt(re,"m")].filter(Gt=>Gt).join(" ")}calculateDate(n,d,w){const re=+n;if(gn().isNaN(re))return;const Ze=this.getDurationMs(d)*(w?-1:1);return new Date(re+Ze)}getDurationMs(n){return 6e4*(60*(24*this.getNumbersFromString(n,"d")+this.getNumbersFromString(n,"h"))+this.getNumbersFromString(n,"m"))}getNumbersFromString(n,d){const w=n.match(new RegExp(`[0-9 ]+${d}`,"i"));return w?parseInt(w[0],10):0}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function gt(f,y){if(1&f&&(e.TgZ(0,"option",27),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.hij(" ",n," ")}}function un(f,y){1&f&&(e.TgZ(0,"span",28),e.SDv(1,29),e.qZA())}function Vn(f,y){1&f&&(e.TgZ(0,"span",28),e.SDv(1,30),e.qZA())}function gr(f,y){if(1&f&&(e.TgZ(0,"div",31),e.TgZ(1,"span"),e._uU(2),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.Gre("cd-col-form-offset ",n.matcherMatch.cssClass,""),e.xp6(1),e.Gre("text-muted ",n.matcherMatch.cssClass,""),e.xp6(1),e.hij(" ",n.matcherMatch.status," ")}}let Lr=(()=>{class f{constructor(n,d,w,re){this.formBuilder=n,this.silenceMatcher=d,this.activeModal=w,this.actionLabels=re,this.submitAction=new e.vpe,this.editMode=!1,this.nameAttributes=["alertname","instance","job","severity"],this.possibleValues=[],this.matcherMatch=void 0,this.valueClick=new vd.xQ,this.valueFocus=new vd.xQ,this.search=Ze=>(0,Hf.T)(Ze.pipe(pf(200),(0,tc.x)()),this.valueFocus,this.valueClick.pipe((0,qu.h)(()=>!this.typeahead.isPopupOpen()))).pipe((0,Ds.U)(Lt=>(""===Lt?this.possibleValues:this.possibleValues.filter(Gt=>Gt.toLowerCase().indexOf(Lt.toLowerCase())>-1)).slice(0,10))),this.createForm(),this.subscribeToChanges()}createForm(){this.form=this.formBuilder.group({name:[null,[Hn.kI.required]],value:[{value:"",disabled:!0},[Hn.kI.required]],isRegex:new Hn.NI(!1)})}subscribeToChanges(){this.form.get("name").valueChanges.subscribe(n=>{null!==n?(this.setPossibleValues(n),this.form.get("value").enable()):this.form.get("value").disable()}),this.form.get("value").valueChanges.subscribe(n=>{const d=this.form.value;d.value=n,this.matcherMatch=this.silenceMatcher.singleMatch(d,this.rules)})}setPossibleValues(n){this.possibleValues=gn().sortedUniq(this.rules.map(d=>gn().get(d,this.silenceMatcher.getAttributePath(n))).filter(d=>d))}getMode(){return this.editMode?this.actionLabels.EDIT:this.actionLabels.ADD}preFillControls(n){this.form.setValue(n)}onSubmit(){this.submitAction.emit(this.form.value),this.activeModal.close()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36($c.O),e.Y36(B),e.Y36(Br.Kz),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-silence-matcher-modal"]],viewQuery:function(n,d){if(1&n&&e.Gf(Br.dR,7),2&n){let w;e.iGM(w=e.CRH())&&(d.typeahead=w.first)}},outputs:{submitAction:"submitAction"},decls:31,vars:11,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="{VAR_SELECT, select, true {Edit} other {Add}}",y=e.Zx4(y,{VAR_SELECT:"\ufffd0\ufffd"}),n="" + y + " Matcher",d="Name",w="-- Select an attribute to match against --",re="Value",Ze="Use regular expression",Lt="This field is required!",Gt="This field is required!",[[3,"modalRef"],[1,"modal-title"],n,[1,"modal-content"],["novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label","required"],d,[1,"cd-col-form-input"],["id","name","formControlName","name","name","name",1,"form-control"],[3,"ngValue"],w,[3,"value",4,"ngFor","ngForOf"],["class","help-block",4,"ngIf"],["for","value",1,"cd-col-form-label","required"],re,["id","value","container","body","type","text","formControlName","value",1,"form-control",3,"ngbTypeahead","focus","click"],["id","match-state",3,"class",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","formControlName","isRegex","name","is-regex","id","is-regex",1,"custom-control-input"],["for","is-regex",1,"custom-control-label"],Ze,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[3,"value"],[1,"help-block"],Lt,Gt,["id","match-state"]]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"span",1),e.SDv(2,2),e.qZA(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.TgZ(7,"div",7),e.TgZ(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e.TgZ(11,"select",11),e.TgZ(12,"option",12),e.SDv(13,13),e.qZA(),e.YNc(14,gt,2,2,"option",14),e.qZA(),e.YNc(15,un,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(16,"div",7),e.TgZ(17,"label",16),e.SDv(18,17),e.qZA(),e.TgZ(19,"div",10),e.TgZ(20,"input",18),e.NdJ("focus",function(re){return d.valueFocus.next(re.target.value)})("click",function(re){return d.valueClick.next(re.target.value)}),e.qZA(),e.YNc(21,Vn,2,0,"span",15),e.qZA(),e.YNc(22,gr,3,7,"div",19),e.qZA(),e.TgZ(23,"div",7),e.TgZ(24,"div",20),e.TgZ(25,"div",21),e._UZ(26,"input",22),e.TgZ(27,"label",23),e.SDv(28,24),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(29,"div",25),e.TgZ(30,"cd-form-button-panel",26),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.qZA(),e.qZA(),e.qZA(),e.BQk(),e.qZA()),2&n){const w=e.MAs(5);e.Q6J("modalRef",d.activeModal),e.xp6(2),e.pQV(d.editMode),e.QtT(2),e.xp6(2),e.Q6J("formGroup",d.form),e.xp6(8),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",d.nameAttributes),e.xp6(1),e.Q6J("ngIf",d.form.showError("name",w,"required")),e.xp6(5),e.Q6J("ngbTypeahead",d.search),e.xp6(1),e.Q6J("ngIf",d.form.showError("value",w,"required")),e.xp6(1),e.Q6J("ngIf",d.form.getValue("value")&&!d.form.getValue("isRegex")&&d.matcherMatch),e.xp6(8),e.Q6J("form",d.form)("submitText",d.getMode())}},directives:[nl.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,kn.P,As.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,Hn.YN,Hn.Kr,s.sg,s.O5,Hn.Fj,Br.dR,Hn.Wl,jr.p],styles:[""]}),f})();var Xr=o(52266);function Qi(f,y){if(1&f&&(e.ynx(0),e._UZ(1,"input",53),e.BQk()),2&f){const n=e.oxw().$implicit,d=e.oxw(),w=d.index,re=d.matcher;e.xp6(1),e.hYB("id","matcher-",n.attribute,"-",w,""),e.Q6J("value",re[n.attribute])}}function Xi(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",47),e.TgZ(2,"div",54),e._UZ(3,"input",55),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw().$implicit,d=e.oxw(),w=d.index,re=d.matcher;e.xp6(3),e.hYB("id","matcher-",n.attribute,"-",w,""),e.Q6J("checked",re[n.attribute])}}const ao=function(f){return[f]};function qo(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",51),e.TgZ(2,"span",52),e._UZ(3,"i",38),e.qZA(),e.qZA(),e.YNc(4,Qi,2,3,"ng-container",7),e.YNc(5,Xi,4,3,"ng-container",7),e.BQk()),2&f){const n=y.$implicit;e.xp6(2),e.Q6J("ngbTooltip",n.tooltip),e.xp6(1),e.Q6J("ngClass",e.VKq(4,ao,n.icon)),e.xp6(1),e.Q6J("ngIf","isRegex"!==n.attribute),e.xp6(1),e.Q6J("ngIf","isRegex"===n.attribute)}}function Ss(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",46),e.YNc(1,qo,6,6,"ng-container",34),e.TgZ(2,"span",47),e.TgZ(3,"button",48),e.NdJ("click",function(){const re=e.CHM(n).index;return e.oxw().showMatcherModal(re)}),e._UZ(4,"i",38),e.qZA(),e.TgZ(5,"button",49),e.NdJ("click",function(){const re=e.CHM(n).index;return e.oxw().deleteMatcher(re)}),e._UZ(6,"i",38),e.qZA(),e.qZA(),e.qZA(),e._UZ(7,"span",50)}if(2&f){const n=y.index,d=e.oxw();e.xp6(1),e.Q6J("ngForOf",d.matcherConfig),e.xp6(2),e.MGl("id","matcher-edit-",n,""),e.xp6(1),e.Q6J("ngClass",e.VKq(5,ao,d.icons.edit)),e.xp6(1),e.MGl("id","matcher-delete-",n,""),e.xp6(1),e.Q6J("ngClass",e.VKq(7,ao,d.icons.trash))}}function Js(f,y){1&f&&(e.TgZ(0,"cd-helper"),e.SDv(1,56),e.qZA())}function Ia(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,58),e.qZA())}function ta(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,59),e.qZA())}function Xa(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,60),e.qZA())}function cl(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,61),e.qZA())}function rd(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,62),e.qZA())}const Uu=function(f,y){return{"text-warning":f,"text-danger":y}};function id(f,y){if(1&f&&(e.TgZ(0,"h5",38),e.TgZ(1,"strong"),e.SDv(2,63),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(4);e.Q6J("ngClass",e.WLB(1,Uu,!n.submitted,n.submitted))}}function Rc(f,y){1&f&&e.GkF(0)}const od=function(f,y){return{index:f,matcher:y}};function Pd(f,y){if(1&f&&(e.TgZ(0,"span"),e.YNc(1,Rc,1,0,"ng-container",64),e.qZA()),2&f){const n=y.$implicit,d=y.index;e.oxw();const w=e.MAs(1);e.xp6(1),e.Q6J("ngTemplateOutlet",w)("ngTemplateOutletContext",e.WLB(2,od,d,n))}}function qg(f,y){if(1&f&&(e.TgZ(0,"div",65),e.TgZ(1,"span"),e._uU(2),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.Gre("cd-col-form-offset ",n.matcherMatch.cssClass,""),e.xp6(1),e.Gre("text-muted ",n.matcherMatch.cssClass,""),e.xp6(1),e.hij(" ",n.matcherMatch.status," ")}}function yC(f,y){if(1&f&&e._UZ(0,"cd-date-time-picker",66),2&f){const n=e.oxw();e.Q6J("control",n.form.get("startsAt"))("hasSeconds",!1)}}function bC(f,y){if(1&f&&e._UZ(0,"cd-date-time-picker",66),2&f){const n=e.oxw();e.Q6J("control",n.form.get("endsAt"))("hasSeconds",!1)}}const EC=function(f){return{"btn-warning":f}};let Jg=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr){this.router=n,this.authStorageService=d,this.formBuilder=w,this.prometheusService=re,this.notificationService=Ze,this.route=Lt,this.timeDiff=Gt,this.modalService=On,this.silenceMatcher=fr,this.actionLabels=hr,this.succeededLabels=Jr,this.icons=eo.P,this.recreate=!1,this.edit=!1,this.resource="silence",this.matchers=[],this.matcherMatch=void 0,this.matcherConfig=[{tooltip:"Attribute name",icon:this.icons.paragraph,attribute:"name"},{tooltip:"Value",icon:this.icons.terminal,attribute:"value"},{tooltip:"Regular expression",icon:this.icons.magic,attribute:"isRegex"}],this.datetimeFormat="YYYY-MM-DD HH:mm",this.init()}init(){this.chooseMode(),this.authenticate(),this.createForm(),this.setupDates(),this.getData()}chooseMode(){this.edit=this.router.url.startsWith("/monitoring/silences/edit"),this.recreate=this.router.url.startsWith("/monitoring/silences/recreate"),this.action=this.edit?this.actionLabels.EDIT:this.recreate?this.actionLabels.RECREATE:this.actionLabels.CREATE}authenticate(){if(this.permission=this.authStorageService.getPermissions().prometheus,!this.permission.read||!(this.edit?this.permission.update:this.permission.create))throw new O._2}createForm(){const n=mo.h.custom("format",d=>!(""===d||In()(d,this.datetimeFormat).isValid()));this.form=this.formBuilder.group({startsAt:["",[Hn.kI.required,n]],duration:["2h",[Hn.kI.min(1)]],endsAt:["",[Hn.kI.required,n]],createdBy:[this.authStorageService.getUsername(),[Hn.kI.required]],comment:[null,[Hn.kI.required]]},{validators:mo.h.custom("matcherRequired",()=>0===this.matchers.length)})}setupDates(){const n=In()().format(this.datetimeFormat);this.form.silentSet("startsAt",n),this.updateDate(),this.subscribeDateChanges()}updateDate(n){const d=In()(this.form.getValue(n?"endsAt":"startsAt"),this.datetimeFormat).toDate(),w=this.timeDiff.calculateDate(d,this.form.getValue("duration"),n);if(w){const re=In()(w).format(this.datetimeFormat);this.form.silentSet(n?"startsAt":"endsAt",re)}}subscribeDateChanges(){this.form.get("startsAt").valueChanges.subscribe(()=>{this.onDateChange()}),this.form.get("duration").valueChanges.subscribe(()=>{this.updateDate()}),this.form.get("endsAt").valueChanges.subscribe(()=>{this.onDateChange(!0)})}onDateChange(n){const d=In()(this.form.getValue("startsAt"),this.datetimeFormat),w=In()(this.form.getValue("endsAt"),this.datetimeFormat);d.isBefore(w)?this.updateDuration():this.updateDate(n)}updateDuration(){const n=In()(this.form.getValue("startsAt"),this.datetimeFormat).toDate(),d=In()(this.form.getValue("endsAt"),this.datetimeFormat).toDate();this.form.silentSet("duration",this.timeDiff.calculateDuration(n,d))}getData(){this.getRules(),this.getModeSpecificData()}getRules(){this.prometheusService.ifPrometheusConfigured(()=>this.prometheusService.getRules().subscribe(n=>{this.rules=n.groups.reduce((d,w)=>gn().concat(d,w.rules),[])},()=>{this.prometheusService.disablePrometheusConfig(),this.rules=[]}),()=>{this.rules=[],this.notificationService.show(Ho.k.info,"Please add your Prometheus host to the dashboard configuration and refresh the page",void 0,void 0,"Prometheus")})}getModeSpecificData(){this.route.params.subscribe(n=>{!n.id||(this.edit||this.recreate?this.prometheusService.getSilences().subscribe(d=>{const w=gn().find(d,["id",n.id]);gn().isUndefined(w)||this.fillFormWithSilence(w)}):this.prometheusService.getAlerts().subscribe(d=>{const w=gn().find(d,["fingerprint",n.id]);gn().isUndefined(w)||this.fillFormByAlert(w)}))})}fillFormWithSilence(n){this.id=n.id,this.edit&&(["startsAt","endsAt"].forEach(d=>this.form.silentSet(d,In()(n[d]).format(this.datetimeFormat))),this.updateDuration()),["createdBy","comment"].forEach(d=>this.form.silentSet(d,n[d])),this.matchers=n.matchers,this.validateMatchers()}validateMatchers(){this.rules?(this.matcherMatch=this.silenceMatcher.multiMatch(this.matchers,this.rules),this.form.markAsDirty(),this.form.updateValueAndValidity()):window.setTimeout(()=>this.validateMatchers(),100)}fillFormByAlert(n){const d=n.labels;Object.keys(d).forEach(w=>this.setMatcher({name:w,value:d[w],isRegex:!1}))}setMatcher(n,d){gn().isNumber(d)?this.matchers[d]=n:this.matchers.push(n),this.validateMatchers()}showMatcherModal(n){const w=this.modalService.show(Lr).componentInstance;w.rules=this.rules,gn().isNumber(n)&&(w.editMode=!0,w.preFillControls(this.matchers[n])),w.submitAction.subscribe(re=>{this.setMatcher(re,n)})}deleteMatcher(n){this.matchers.splice(n,1),this.validateMatchers()}submit(){this.form.invalid||this.prometheusService.setSilence(this.getSubmitData()).subscribe(n=>{this.router.navigate(["/monitoring/silences"]),this.notificationService.show(Ho.k.success,this.getNotificationTile(n.body.silenceId),void 0,void 0,"Prometheus")},()=>this.form.setErrors({cdSubmitButton:!0}))}getSubmitData(){const n=this.form.value;return delete n.duration,n.startsAt=In()(n.startsAt,this.datetimeFormat).toISOString(),n.endsAt=In()(n.endsAt,this.datetimeFormat).toISOString(),n.matchers=this.matchers,this.edit&&(n.id=this.id),n}getNotificationTile(n){let d;return d=this.edit?this.succeededLabels.EDITED:this.recreate?this.succeededLabels.RECREATED:this.succeededLabels.CREATED,`${d} ${this.resource} ${n}`}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(hi.j),e.Y36($c.O),e.Y36(Tf),e.Y36(Zi.g),e.Y36(tn.gz),e.Y36(_e),e.Y36(na.Z),e.Y36(B),e.Y36(uo.p4),e.Y36(uo.aX))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-prometheus-form"]],decls:71,vars:30,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o,Yi,Xs,ls;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Creator",d="Comment",w="Start time",re="If the start time lies in the past the creation time will be used",Ze="Duration",Lt="End time",Gt="Matchers",On="Add matcher",fr="Edit",hr="Delete",Jr="Editing a silence will expire the old silence and recreate it as a new silence",$i="This field is required!",bo="This field is required!",_o="This field is required!",Yi="This field is required!",Xs="This field is required!",ls="A silence requires at least one matcher",[["matcherTpl",""],[1,"cd-col-form"],["name","form","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],y,[4,"ngIf"],[1,"card-body"],[1,"form-group","row"],["for","created-by",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],["formControlName","createdBy","id","created-by","name","created-by","type","text",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","comment",1,"cd-col-form-label","required"],d,["formControlName","comment","id","comment","name","comment","type","text",1,"form-control"],["for","starts-at",1,"cd-col-form-label"],[1,"required"],w,re,["formControlName","startsAt","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["ps","ngbPopover"],["for","duration",1,"cd-col-form-label","required"],Ze,["formControlName","duration","id","duration","name","duration","type","text",1,"form-control"],["for","ends-at",1,"cd-col-form-label","required"],Lt,["formControlName","endsAt","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["pe","ngbPopover"],Gt,[1,"cd-col-form-offset"],[3,"ngClass",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"row"],[1,"col-12"],["type","button","id","add-matcher",1,"btn","btn-light","float-right","my-3",3,"ngClass","click"],[3,"ngClass"],On,["id","match-state",3,"class",4,"ngIf"],[1,"card-footer"],[1,"text-right"],[3,"form","submitText","submitActionEvent"],["popStart",""],["popEnd",""],[1,"input-group","my-2"],[1,"input-group-append"],["type","button","ngbTooltip",fr,1,"btn","btn-light",3,"id","click"],["type","button","ngbTooltip",hr,1,"btn","btn-light",3,"id","click"],[1,"help-block"],[1,"input-group-prepend"],[1,"input-group-text",3,"ngbTooltip"],["type","text","disabled","","readonly","",1,"form-control",3,"id","value"],[1,"input-group-text"],["type","checkbox","disabled","","readonly","",3,"id","checked"],Jr,[1,"invalid-feedback"],$i,bo,_o,Yi,Xs,ls,[4,"ngTemplateOutlet","ngTemplateOutletContext"],["id","match-state"],[3,"control","hasSeconds"]]},template:function(n,d){if(1&n){const w=e.EpF();e.YNc(0,Ss,8,9,"ng-template",null,0,e.W1O),e.TgZ(2,"div",1),e.TgZ(3,"form",2,3),e.TgZ(5,"div",4),e.TgZ(6,"div",5),e.TgZ(7,"span"),e.SDv(8,6),e.ALo(9,"titlecase"),e.ALo(10,"upperFirst"),e.qZA(),e.YNc(11,Js,2,0,"cd-helper",7),e.qZA(),e.TgZ(12,"div",8),e.TgZ(13,"div",9),e.TgZ(14,"label",10),e.SDv(15,11),e.qZA(),e.TgZ(16,"div",12),e._UZ(17,"input",13),e.YNc(18,Ia,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(19,"div",9),e.TgZ(20,"label",15),e.SDv(21,16),e.qZA(),e.TgZ(22,"div",12),e.TgZ(23,"textarea",17),e._uU(24," "),e.qZA(),e.YNc(25,ta,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(26,"div",9),e.TgZ(27,"label",18),e.TgZ(28,"span",19),e.SDv(29,20),e.qZA(),e.TgZ(30,"cd-helper"),e.SDv(31,21),e.qZA(),e.qZA(),e.TgZ(32,"div",12),e.TgZ(33,"input",22,23),e.NdJ("click",function(){return e.CHM(w),e.MAs(34).open()})("keypress",function(){return e.CHM(w),e.MAs(34).close()}),e.qZA(),e.YNc(35,Xa,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(36,"div",9),e.TgZ(37,"label",24),e.SDv(38,25),e.qZA(),e.TgZ(39,"div",12),e._UZ(40,"input",26),e.YNc(41,cl,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(42,"div",9),e.TgZ(43,"label",27),e.SDv(44,28),e.qZA(),e.TgZ(45,"div",12),e.TgZ(46,"input",29,30),e.NdJ("click",function(){return e.CHM(w),e.MAs(47).open()})("keypress",function(){return e.CHM(w),e.MAs(47).close()}),e.qZA(),e.YNc(48,rd,2,0,"span",14),e.qZA(),e.qZA(),e.TgZ(49,"fieldset"),e.TgZ(50,"legend",19),e.SDv(51,31),e.qZA(),e.TgZ(52,"div",32),e.YNc(53,id,3,4,"h5",33),e.YNc(54,Pd,2,5,"span",34),e.TgZ(55,"div",35),e.TgZ(56,"div",36),e.TgZ(57,"button",37),e.NdJ("click",function(){return d.showMatcherModal()}),e._UZ(58,"i",38),e.ynx(59),e.SDv(60,39),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(61,qg,3,7,"div",40),e.qZA(),e.qZA(),e.TgZ(62,"div",41),e.TgZ(63,"div",42),e.TgZ(64,"cd-form-button-panel",43),e.NdJ("submitActionEvent",function(){return d.submit()}),e.ALo(65,"titlecase"),e.ALo(66,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.YNc(67,yC,1,2,"ng-template",null,44,e.W1O),e.YNc(69,bC,1,2,"ng-template",null,45,e.W1O)}if(2&n){const w=e.MAs(4),re=e.MAs(68),Ze=e.MAs(70);e.xp6(3),e.Q6J("formGroup",d.form),e.xp6(7),e.pQV(e.lcZ(9,18,d.action))(e.lcZ(10,20,d.resource)),e.QtT(8),e.xp6(1),e.Q6J("ngIf",d.edit),e.xp6(7),e.Q6J("ngIf",d.form.showError("createdBy",w,"required")),e.xp6(7),e.Q6J("ngIf",d.form.showError("comment",w,"required")),e.xp6(8),e.Q6J("ngbPopover",re),e.xp6(2),e.Q6J("ngIf",d.form.showError("startsAt",w,"required")),e.xp6(6),e.Q6J("ngIf",d.form.showError("duration",w,"required")),e.xp6(5),e.Q6J("ngbPopover",Ze),e.xp6(2),e.Q6J("ngIf",d.form.showError("endsAt",w,"required")),e.xp6(5),e.Q6J("ngIf",0===d.matchers.length),e.xp6(1),e.Q6J("ngForOf",d.matchers),e.xp6(3),e.Q6J("ngClass",e.VKq(26,EC,w.submitted&&0===d.matchers.length)),e.xp6(1),e.Q6J("ngClass",e.VKq(28,ao,d.icons.add)),e.xp6(3),e.Q6J("ngIf",d.matchers.length&&d.matcherMatch),e.xp6(3),e.Q6J("form",d.form)("submitText",e.lcZ(65,22,d.action)+" "+e.lcZ(66,24,d.resource))}},directives:[Hn._Y,Hn.JL,Gn.V,Hn.sg,s.O5,kn.P,As.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,yl.S,Br.o8,s.sg,s.mk,jr.p,Br._L,s.tP,Xr.J],pipes:[s.rS,E.m],styles:["textarea[_ngcontent-%COMP%]{resize:vertical}"]}),f})();var Av=o(84051),wv=o(18891);function db(f,y){1&f&&(e.TgZ(0,"cd-alert-panel",2),e.tHW(1,3),e._UZ(2,"cd-doc",4),e.N_p(),e.qZA())}function Gh(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",8),2&f){const n=e.oxw(2);e.Q6J("renderObjects",!0)("hideEmpty",!0)("appendParentKey",!1)("data",n.expandedRow)("customCss",n.customCss)("autoReload",!1)}}function fb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-table",5),e.NdJ("setExpandedRow",function(w){return e.CHM(n),e.oxw().setExpandedRow(w)})("fetchData",function(){return e.CHM(n),e.oxw().refresh()})("updateSelection",function(w){return e.CHM(n),e.oxw().updateSelection(w)}),e._UZ(1,"cd-table-actions",6),e.YNc(2,Gh,1,6,"cd-table-key-value",7),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("data",n.silences)("columns",n.columns)("forceIdentifier",!0)("customCss",n.customCss)("sorts",n.sorts)("hasDetails",!0),e.xp6(1),e.Q6J("permission",n.permission)("selection",n.selection)("tableActions",n.tableActions),e.xp6(1),e.Q6J("ngIf",n.expandedRow)}}let pb=(()=>{class f extends Xf{constructor(n,d,w,re,Ze,Lt,Gt,On){super(On),this.authStorageService=n,this.cdDatePipe=d,this.modalService=w,this.notificationService=re,this.urlBuilder=Ze,this.actionLabels=Lt,this.succeededLabels=Gt,this.silences=[],this.selection=new si.r,this.customCss={"badge badge-danger":"active","badge badge-warning":"pending","badge badge-default":"expired"},this.sorts=[{prop:"endsAt",dir:Av.Sr.desc}],this.permission=this.authStorageService.getPermissions().prometheus;const fr=hr=>hr.first()&&hr.first().status&&"expired"===hr.first().status.state;this.tableActions=[{permission:"create",icon:eo.P.add,routerLink:()=>this.urlBuilder.getCreate(),canBePrimary:hr=>!hr.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"create",canBePrimary:hr=>hr.hasSingleSelection&&fr(hr),disable:hr=>!hr.hasSingleSelection||hr.first().cdExecuting||hr.first().cdExecuting&&fr(hr)||!fr(hr),icon:eo.P.copy,routerLink:()=>this.urlBuilder.getRecreate(this.selection.first().id),name:this.actionLabels.RECREATE},{permission:"update",icon:eo.P.edit,canBePrimary:hr=>hr.hasSingleSelection&&!fr(hr),disable:hr=>!hr.hasSingleSelection||hr.first().cdExecuting||hr.first().cdExecuting&&!fr(hr)||fr(hr),routerLink:()=>this.urlBuilder.getEdit(this.selection.first().id),name:this.actionLabels.EDIT},{permission:"delete",icon:eo.P.trash,canBePrimary:hr=>hr.hasSingleSelection&&!fr(hr),disable:hr=>!hr.hasSingleSelection||hr.first().cdExecuting||fr(hr),click:()=>this.expireSilence(),name:this.actionLabels.EXPIRE}],this.columns=[{name:"ID",prop:"id",flexGrow:3},{name:"Created by",prop:"createdBy",flexGrow:2},{name:"Started",prop:"startsAt",pipe:this.cdDatePipe},{name:"Updated",prop:"updatedAt",pipe:this.cdDatePipe},{name:"Ends",prop:"endsAt",pipe:this.cdDatePipe},{name:"Status",prop:"status.state",cellTransformation:ii.e.classAdding}]}refresh(){this.prometheusService.ifAlertmanagerConfigured(()=>{this.prometheusService.getSilences().subscribe(n=>{this.silences=n},()=>{this.prometheusService.disableAlertmanagerConfig()})})}updateSelection(n){this.selection=n}expireSilence(){const n=this.selection.first().id,d="Silence",w="Prometheus";this.modalRef=this.modalService.show(jo.M,{itemDescription:d,itemNames:[n],actionDescription:this.actionLabels.EXPIRE,submitActionObservable:()=>new wv.y(re=>{this.prometheusService.expireSilence(n).subscribe(()=>{this.notificationService.show(Ho.k.success,`${this.succeededLabels.EXPIRED} ${d} ${n}`,void 0,void 0,w)},Ze=>{Ze.application=w,re.error(Ze)},()=>{re.complete(),this.refresh()})})})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(bi.N),e.Y36(na.Z),e.Y36(Zi.g),e.Y36(vl.F),e.Y36(uo.p4),e.Y36(uo.aX),e.Y36(Tf))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-silences-list"]],features:[e._Bn([{provide:vl.F,useValue:new vl.F("monitoring/silences")}]),e.qOj],decls:3,vars:2,consts:function(){let y;return y="To enable Silences, please provide the URL to the API of the Prometheus' Alertmanager as described in the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + ".",[["type","info",4,"ngIf"],["selectionType","single",3,"data","columns","forceIdentifier","customCss","sorts","hasDetails","setExpandedRow","fetchData","updateSelection",4,"ngIf"],["type","info"],y,["section","prometheus"],["selectionType","single",3,"data","columns","forceIdentifier","customCss","sorts","hasDetails","setExpandedRow","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"renderObjects","hideEmpty","appendParentKey","data","customCss","autoReload",4,"ngIf"],["cdTableDetail","",3,"renderObjects","hideEmpty","appendParentKey","data","customCss","autoReload"]]},template:function(n,d){1&n&&(e._UZ(0,"cd-prometheus-tabs"),e.YNc(1,db,3,0,"cd-alert-panel",0),e.YNc(2,fb,3,10,"cd-table",1)),2&n&&(e.xp6(1),e.Q6J("ngIf",!d.isAlertmanagerConfigured),e.xp6(1),e.Q6J("ngIf",d.isAlertmanagerConfigured))},directives:[Kf,s.O5,De.G,_s.K,Ui.a,ha.K,Ft.b],styles:[""]}),f})(),xv=(()=>{class f{constructor(n){this.http=n,this.url="api/telemetry"}getReport(){return this.http.get(`${this.url}/report`)}enable(n=!0){const d={enable:n};return n&&(d.license_name="sharing-1-0"),this.http.put(`${this.url}`,d)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),zh=(()=>{class f{constructor(){this.visible=!1,this.update=new e.vpe}setVisibility(n){this.visible=n,this.update.emit(n)}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function hb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e._uU(1," The plugin is already "),e.TgZ(2,"b"),e._uU(3,"enabled"),e.qZA(),e._uU(4,". Click "),e.TgZ(5,"b"),e._uU(6,"Deactivate"),e.qZA(),e._uU(7," to disable it.\xa0 "),e.TgZ(8,"button",66),e.NdJ("click",function(){return e.CHM(n),e.oxw(3).disableModule("The Telemetry module has been disabled successfully.")}),e.SDv(9,67),e.qZA(),e.qZA()}}function Rv(f,y){1&f&&(e.ynx(0),e.TgZ(1,"legend"),e.ynx(2),e.SDv(3,68),e.BQk(),e.TgZ(4,"cd-helper"),e.SDv(5,69),e.qZA(),e.qZA(),e.TgZ(6,"div",15),e.TgZ(7,"label",70),e.SDv(8,71),e.qZA(),e.TgZ(9,"div",24),e._UZ(10,"input",72),e.qZA(),e.qZA(),e.TgZ(11,"div",15),e.TgZ(12,"label",73),e.SDv(13,74),e.qZA(),e.TgZ(14,"div",24),e._UZ(15,"input",75),e.qZA(),e.qZA(),e.TgZ(16,"div",15),e.TgZ(17,"label",76),e.SDv(18,77),e.qZA(),e.TgZ(19,"div",24),e._UZ(20,"input",78),e.qZA(),e.qZA(),e.BQk())}function _b(f,y){1&f&&(e.TgZ(0,"span",79),e.SDv(1,80),e.qZA())}function gb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"form",4,5),e.TgZ(3,"div",6),e.TgZ(4,"div",7),e.SDv(5,8),e.qZA(),e.TgZ(6,"div",9),e.TgZ(7,"p"),e.tHW(8,10),e._UZ(9,"br"),e._UZ(10,"a",11),e._UZ(11,"br"),e._UZ(12,"br"),e._UZ(13,"b"),e.N_p(),e.qZA(),e.YNc(14,hb,10,0,"div",12),e.TgZ(15,"legend"),e.SDv(16,13),e.qZA(),e.TgZ(17,"p"),e.SDv(18,14),e.qZA(),e.TgZ(19,"div",15),e.TgZ(20,"label",16),e.ynx(21),e.SDv(22,17),e.BQk(),e.TgZ(23,"cd-helper"),e.ynx(24),e.SDv(25,18),e.BQk(),e.TgZ(26,"ul"),e.TgZ(27,"li"),e.SDv(28,19),e.qZA(),e.TgZ(29,"li"),e.SDv(30,20),e.qZA(),e.TgZ(31,"li"),e.SDv(32,21),e.qZA(),e.TgZ(33,"li"),e.SDv(34,22),e.qZA(),e.TgZ(35,"li"),e.SDv(36,23),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(37,"div",24),e.TgZ(38,"div",25),e._UZ(39,"input",26),e._UZ(40,"label",27),e.qZA(),e.qZA(),e.qZA(),e.TgZ(41,"div",15),e.TgZ(42,"label",28),e.ynx(43),e.SDv(44,29),e.BQk(),e.TgZ(45,"cd-helper"),e.ynx(46),e.SDv(47,30),e.BQk(),e.TgZ(48,"ul"),e.TgZ(49,"li"),e.SDv(50,31),e.qZA(),e.TgZ(51,"li"),e.SDv(52,32),e.qZA(),e.TgZ(53,"li"),e.SDv(54,33),e.qZA(),e.TgZ(55,"li"),e.SDv(56,34),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(57,"div",24),e.TgZ(58,"div",25),e._UZ(59,"input",35),e._UZ(60,"label",36),e.qZA(),e.qZA(),e.qZA(),e.TgZ(61,"div",15),e.TgZ(62,"label",37),e.ynx(63),e.SDv(64,38),e.BQk(),e._UZ(65,"cd-helper",39),e.qZA(),e.TgZ(66,"div",24),e.TgZ(67,"div",25),e._UZ(68,"input",40),e._UZ(69,"label",41),e.qZA(),e.qZA(),e.qZA(),e.TgZ(70,"div",15),e.TgZ(71,"label",42),e.ynx(72),e.SDv(73,43),e.BQk(),e.TgZ(74,"cd-helper"),e.ynx(75),e.SDv(76,44),e.BQk(),e.TgZ(77,"ul"),e.TgZ(78,"li"),e._uU(79,"Cluster description"),e.qZA(),e.TgZ(80,"li"),e._uU(81,"Contact email address"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(82,"div",24),e.TgZ(83,"div",25),e.TgZ(84,"input",45),e.NdJ("click",function(){return e.CHM(n),e.oxw(2).toggleIdent()}),e.qZA(),e._UZ(85,"label",46),e.qZA(),e.qZA(),e.qZA(),e.TgZ(86,"div",15),e.TgZ(87,"label",47),e.ynx(88),e.SDv(89,48),e.BQk(),e.TgZ(90,"cd-helper"),e.ynx(91),e.SDv(92,49),e.BQk(),e.qZA(),e.qZA(),e.TgZ(93,"div",24),e.TgZ(94,"div",25),e._UZ(95,"input",50),e._UZ(96,"label",51),e.qZA(),e.qZA(),e.qZA(),e.YNc(97,Rv,21,0,"ng-container",12),e.TgZ(98,"legend"),e.SDv(99,52),e.qZA(),e.TgZ(100,"div",15),e.TgZ(101,"label",53),e.ynx(102),e.SDv(103,54),e.BQk(),e.TgZ(104,"cd-helper"),e.SDv(105,55),e.qZA(),e.qZA(),e.TgZ(106,"div",24),e._UZ(107,"input",56),e.YNc(108,_b,2,0,"span",57),e.qZA(),e.qZA(),e.TgZ(109,"div",15),e.TgZ(110,"label",58),e.ynx(111),e.SDv(112,59),e.BQk(),e.TgZ(113,"cd-helper"),e.TgZ(114,"p"),e.SDv(115,60),e.qZA(),e.TgZ(116,"p"),e.SDv(117,61),e.qZA(),e.qZA(),e.qZA(),e.TgZ(118,"div",24),e._UZ(119,"input",62),e.qZA(),e.qZA(),e._UZ(120,"br"),e.TgZ(121,"p"),e.tHW(122,63),e._UZ(123,"b"),e.N_p(),e.qZA(),e.qZA(),e.TgZ(124,"div",64),e.TgZ(125,"div",65),e.TgZ(126,"button",66),e.NdJ("click",function(){return e.CHM(n),e.oxw(2).next()}),e.ynx(127),e._uU(128),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.oxw(2);e.xp6(1),e.Q6J("formGroup",d.configForm),e.xp6(4),e.pQV(d.step),e.QtT(5),e.xp6(8),e.pQV(d.sendToUrl)(d.sendToDeviceUrl),e.QtT(8),e.xp6(1),e.Q6J("ngIf",d.moduleEnabled),e.xp6(83),e.Q6J("ngIf",d.showContactInfo),e.xp6(11),e.Q6J("ngIf",d.configForm.showError("interval",n,"min")),e.xp6(20),e.Oqu(d.actionLabels.NEXT)}}function mb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"form",81,82),e.TgZ(3,"div",6),e.TgZ(4,"div",7),e.SDv(5,83),e.qZA(),e.TgZ(6,"div",9),e.TgZ(7,"div",15),e.TgZ(8,"label",84),e.tHW(9,85),e._UZ(10,"cd-helper",86),e.N_p(),e.qZA(),e.TgZ(11,"div",24),e._UZ(12,"input",87),e.qZA(),e.qZA(),e.TgZ(13,"div",15),e.TgZ(14,"label",88),e.tHW(15,89),e.TgZ(16,"cd-helper",90),e._UZ(17,"em"),e.qZA(),e.N_p(),e.qZA(),e.TgZ(18,"div",24),e._UZ(19,"textarea",91),e.qZA(),e.qZA(),e.TgZ(20,"div",15),e.TgZ(21,"div",92),e.TgZ(22,"div",93),e._UZ(23,"cd-download-button",94),e._UZ(24,"cd-copy-2-clipboard-button",95),e.qZA(),e.qZA(),e.qZA(),e.TgZ(25,"div",15),e.TgZ(26,"div",92),e.TgZ(27,"div",25),e._UZ(28,"input",96),e.TgZ(29,"label",97),e.tHW(30,98),e._UZ(31,"a",99),e.N_p(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(32,"div",64),e.TgZ(33,"div",65),e.TgZ(34,"cd-form-button-panel",100),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw(2).onSubmit()})("backActionEvent",function(){return e.CHM(n),e.oxw(2).back()}),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("formGroup",n.previewForm),e.xp6(4),e.pQV(n.step),e.QtT(5),e.xp6(18),e.Q6J("objectItem",n.report),e.xp6(11),e.Q6J("form",n.previewForm)("submitText",n.actionLabels.UPDATE)("cancelText",n.actionLabels.BACK)}}function vb(f,y){if(1&f&&(e.TgZ(0,"div",1),e.ynx(1,2),e.YNc(2,gb,129,8,"div",3),e.YNc(3,mb,35,6,"div",3),e.BQk(),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngSwitch",n.step),e.xp6(1),e.Q6J("ngSwitchCase",1),e.xp6(1),e.Q6J("ngSwitchCase",2)}}let yb=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt,Gt){super(),this.actionLabels=n,this.formBuilder=d,this.mgrModuleService=w,this.notificationService=re,this.router=Ze,this.telemetryService=Lt,this.telemetryNotificationService=Gt,this.licenseAgrmt=!1,this.options={},this.newConfig={},this.configResp={},this.requiredFields=["channel_basic","channel_crash","channel_device","channel_ident","channel_perf","interval","proxy","contact","description","organization"],this.contactInfofields=["contact","description","organization"],this.report=void 0,this.reportId=void 0,this.sendToUrl="",this.sendToDeviceUrl="",this.step=1}ngOnInit(){const n=[this.mgrModuleService.getOptions("telemetry"),this.mgrModuleService.getConfig("telemetry")];(0,zs.D)(n).subscribe(d=>{const w=d[1];this.moduleEnabled=w.enabled,this.sendToUrl=w.url,this.sendToDeviceUrl=w.device_url,this.showContactInfo=w.channel_ident,this.options=gn().pick(d[0],this.requiredFields),this.configResp=gn().pick(w,this.requiredFields),this.createConfigForm(),this.configForm.setValue(this.configResp),this.loadingReady()},d=>{this.loadingError()})}createConfigForm(){const n={};gn().forEach(Object.values(this.options),d=>{n[d.name]=[d.default_value,this.getValidators(d)]}),this.configForm=this.formBuilder.group(n)}replacer(n,d){if(("ranges"===n||"values"===n)&&Array.isArray(d)){const w=[];for(let re=0;re<d.length;re++)w.push(JSON.stringify(d[re]));return w}return d}replacerTest(n){return JSON.stringify(n,this.replacer,2)}formatReport(){let n={};n=JSON.parse(JSON.stringify(this.report));const d=["perf_counters","stats_per_pool","stats_per_pg","io_rate","osd_perf_histograms","mempool","heap_stats","rocksdb_stats"];for(let w=0;w<d.length;w++){const re=d[w];re in n.report&&delete n.report[re]}return JSON.stringify(n,null,2)}formatReportTest(n){let d={};d=JSON.parse(JSON.stringify(n));const w=["perf_counters","stats_per_pool","stats_per_pg","io_rate","osd_perf_histograms","mempool","heap_stats","rocksdb_stats"];for(let re=0;re<w.length;re++){const Ze=w[re];Ze in d&&delete d[Ze]}return JSON.stringify(d,null,2)}createPreviewForm(){const n={report:this.formatReport(),reportId:this.reportId,licenseAgrmt:[this.licenseAgrmt,Hn.kI.requiredTrue]};this.previewForm=this.formBuilder.group(n)}getValidators(n){const d=[];switch(n.type){case"int":d.push(Hn.kI.required);break;case"str":gn().isNumber(n.min)&&d.push(Hn.kI.minLength(n.min)),gn().isNumber(n.max)&&d.push(Hn.kI.maxLength(n.max))}return d}updateReportFromConfig(n={}){const d=this.report.report.channels_available,w=[];for(const re of d)n[`channel_${re}`]&&w.push(re);this.report.report.channels=w;for(const re of this.contactInfofields)this.report.report[re]=n[re]}getReport(){this.loadingStart(),this.telemetryService.getReport().subscribe(n=>{this.report=n,this.reportId=n.report.report_id,this.updateReportFromConfig(this.newConfig),this.createPreviewForm(),this.loadingReady(),this.step++},n=>{this.loadingError()})}toggleIdent(){this.showContactInfo=!this.showContactInfo}buildReport(){this.newConfig={};for(const n of Object.values(this.options)){const d=this.configForm.get(n.name);if(!d.valid)return void this.configForm.setErrors({cdSubmitButton:!0});this.newConfig[n.name]=d.value}if(!this.newConfig.channel_ident)for(const n of this.contactInfofields)this.newConfig[n]="";this.getReport()}disableModule(n=null,d=null){this.telemetryService.enable(!1).subscribe(()=>{this.telemetryNotificationService.setVisibility(!0),n&&this.notificationService.show(Ho.k.success,n),d?d():this.router.navigate([""])})}next(){this.buildReport()}back(){this.step--}getChangedConfig(){const n={};return gn().forEach(this.requiredFields,d=>{gn().isEqual(this.configResp[d],this.newConfig[d])||(n[d]=this.newConfig[d])}),n}onSubmit(){const n=this.getChangedConfig(),d=[this.telemetryService.enable(),this.mgrModuleService.updateConfig("telemetry",n)];(0,zs.D)(d).subscribe(()=>{this.telemetryNotificationService.setVisibility(!1),this.notificationService.show(Ho.k.success,"The Telemetry module has been configured and activated successfully.")},()=>{this.telemetryNotificationService.setVisibility(!1),this.notificationService.show(Ho.k.error,"An Error occurred while updating the Telemetry module configuration. Please Try again"),this.previewForm.setErrors({cdSubmitButton:!0})},()=>{this.newConfig={},this.router.navigate([""])})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36($c.O),e.Y36(Mt),e.Y36(Zi.g),e.Y36(tn.F0),e.Y36(xv),e.Y36(zh))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-telemetry"]],features:[e.qOj],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o,Yi,Xs,ls,js,ga,wl,wa,Wl,zc,Ls,yu,wf,ju,Bu,Df,xf,as,Cs,Bs,Da,sc,fu,Pc,Wc,Pl,vp,pu,Cd,Ld,Yu;return y="Step " + "\ufffd0\ufffd" + " of 2: Telemetry report configuration",n="The telemetry module sends anonymous data about this Ceph cluster back to the Ceph developers to help understand how Ceph is used and what problems users may be experiencing." + "[\ufffd#9\ufffd\ufffd/#9\ufffd|\ufffd#11\ufffd\ufffd/#11\ufffd|\ufffd#12\ufffd\ufffd/#12\ufffd]" + " This data is visualized on " + "\ufffd#10\ufffd" + "public dashboards" + "\ufffd/#10\ufffd" + " that allow the community to quickly see summary statistics on how many clusters are reporting, their total capacity and OSD count, and version distribution trends." + "[\ufffd#9\ufffd\ufffd/#9\ufffd|\ufffd#11\ufffd\ufffd/#11\ufffd|\ufffd#12\ufffd\ufffd/#12\ufffd]" + "" + "[\ufffd#9\ufffd\ufffd/#9\ufffd|\ufffd#11\ufffd\ufffd/#11\ufffd|\ufffd#12\ufffd\ufffd/#12\ufffd]" + " The data being reported does " + "\ufffd#13\ufffd" + "not" + "\ufffd/#13\ufffd" + " contain any sensitive data like pool names, object names, object contents, hostnames, or device serial numbers. It contains counters and statistics on how the cluster has been deployed, the version of Ceph, the distribution of the hosts and other parameters which help the project to gain a better understanding of the way Ceph is used. The data is sent secured to " + "\ufffd0\ufffd" + " and " + "\ufffd1\ufffd" + " (device report).",n=e.Zx4(n),d="Channels",w="The telemetry report is broken down into several \"channels\", each with a different type of information that can be configured below.",re="Basic",Ze="Includes basic information about the cluster:",Lt="Capacity of the cluster",Gt="Number of monitors, managers, OSDs, MDSs, object gateways, or other daemons",On="Software version currently being used",fr="Number and types of RADOS pools and CephFS file systems",hr="Names of configuration options that have been changed from their default (but not their values)",Jr="Crash",$i="Includes information about daemon crashes:",bo="Type of daemon",_o="Version of the daemon",Yi="Operating system (OS distribution, kernel version)",Xs="Stack trace identifying where in the Ceph code the crash occurred",ls="Device",js="Includes information about device metrics like anonymized SMART metrics.",ga="Ident",wl="Includes user-provided identifying information about the cluster:",wa="Perf",Wl="Includes various performance metrics of a cluster.",zc="Advanced Settings",Ls="Interval",yu="The module compiles and sends a new report every 24 hours by default. You can adjust this interval by setting a different number of hours.",wf="Proxy",ju="If the cluster cannot directly connect to the configured telemetry endpoint (default telemetry.ceph.com), you can configure a HTTP/HTTPS proxy server by e.g. adding https://10.0.0.1:8080",Bu="You can also include a user:pass if needed e.g. https://ceph:telemetry@10.0.0.1:8080",Df="" + "\ufffd#123\ufffd" + "Note:" + "\ufffd/#123\ufffd" + " By clicking 'Next' you will first see a preview of the report content before you can activate the automatic submission of your data.",xf="Deactivate",as="Contact Information",Cs="Submitting any contact information is completely optional and disabled by default.",Bs="Contact",Da="Description",sc="My first Ceph cluster",fu="Organization",Pc="Organization name",Wc="The entered value is too low! It must be greater or equal to 8.",Pl="Step " + "\ufffd0\ufffd" + " of 2: Telemetry report preview",vp="A randomized UUID to identify a particular cluster over the course of several telemetry reports.",pu="Report ID " + "\ufffd#10\ufffd" + "" + "\ufffd/#10\ufffd" + "",Cd="The actual telemetry data that will be submitted.",Ld="Report preview " + "\ufffd#16\ufffd" + "" + "\ufffd#17\ufffd" + "Note: Please select 'Download' to view the full report, including metrics from the perf channel." + "\ufffd/#17\ufffd" + "" + "\ufffd/#16\ufffd" + "",Yu="I agree to my telemetry data being submitted under the " + "\ufffd#31\ufffd" + "Community Data License Agreement - Sharing - Version 1.0" + "\ufffd/#31\ufffd" + "",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],[3,"ngSwitch"],[4,"ngSwitchCase"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],y,[1,"card-body"],n,["href","https://telemetry-public.ceph.com/"],[4,"ngIf"],d,w,[1,"form-group","row"],["for","channel_basic",1,"cd-col-form-label"],re,Ze,Lt,Gt,On,fr,hr,[1,"cd-col-form-input"],[1,"custom-control","custom-checkbox"],["type","checkbox","id","channel_basic","formControlName","channel_basic",1,"custom-control-input"],["for","channel_basic",1,"custom-control-label"],["for","channel_crash",1,"cd-col-form-label"],Jr,$i,bo,_o,Yi,Xs,["type","checkbox","id","channel_crash","formControlName","channel_crash",1,"custom-control-input"],["for","channel_crash",1,"custom-control-label"],["for","channel_device",1,"cd-col-form-label"],ls,["html",js],["type","checkbox","id","channel_device","formControlName","channel_device",1,"custom-control-input"],["for","channel_device",1,"custom-control-label"],["for","channel_ident",1,"cd-col-form-label"],ga,wl,["type","checkbox","id","channel_ident","formControlName","channel_ident",1,"custom-control-input",3,"click"],["for","channel_ident",1,"custom-control-label"],["for","channel_perf",1,"cd-col-form-label"],wa,Wl,["type","checkbox","id","channel_perf","formControlName","channel_perf",1,"custom-control-input"],["for","channel_perf",1,"custom-control-label"],zc,["for","interval",1,"cd-col-form-label"],Ls,yu,["id","interval","type","number","formControlName","interval","min","8",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","proxy",1,"cd-col-form-label"],wf,ju,Bu,["id","proxy","type","text","formControlName","proxy","placeholder","https://10.0.0.1:8080",1,"form-control"],Df,[1,"card-footer"],[1,"button-group","text-right"],["type","button",1,"btn","btn-light",3,"click"],xf,as,Cs,["for","contact",1,"cd-col-form-label"],Bs,["id","contact","type","text","formControlName","contact","placeholder","Example User <user@example.com>",1,"form-control"],["for","description",1,"cd-col-form-label"],Da,["id","description","type","text","formControlName","description","placeholder",sc,1,"form-control"],["for","organization",1,"cd-col-form-label"],fu,["id","organization","type","text","formControlName","organization","placeholder",Pc,1,"form-control"],[1,"invalid-feedback"],Wc,["name","previewForm","novalidate","",3,"formGroup"],["frm","ngForm"],Pl,["for","reportId",1,"cd-col-form-label"],pu,["html",vp],["type","text","id","reportId","formControlName","reportId","readonly","",1,"form-control"],["for","report",1,"cd-col-form-label"],Ld,["html",Cd],["id","report","formControlName","report","rows","15","readonly","",1,"form-control"],[1,"cd-col-form-offset"],["role","group",1,"btn-group"],["fileName","telemetry_report",3,"objectItem"],["source","report"],["type","checkbox","id","licenseAgrmt","name","licenseAgrmt","formControlName","licenseAgrmt",1,"custom-control-input"],["for","licenseAgrmt",1,"custom-control-label"],Yu,["href","https://cdla.io/sharing-1-0/"],[3,"form","submitText","cancelText","submitActionEvent","backActionEvent"]]},template:function(n,d){1&n&&e.YNc(0,vb,4,3,"div",0),2&n&&e.Q6J("cdFormLoading",d.loading)},directives:[vn.y,s.RF,s.n9,Hn._Y,Hn.JL,Gn.V,Hn.sg,s.O5,kn.P,yl.S,As.o,Hn.Wl,zn.b,Hn.JJ,Hn.u,Hn.wV,Hn.qQ,Hn.Fj,th,Hc.s,jr.p],styles:[""]}),f})();var Nv=o(26561);function Pv(f){const{subscriber:y,counter:n,period:d}=f;y.next(n),this.schedule({subscriber:y,counter:n+1,period:d},d)}let p1=(()=>{class f{constructor(n){this.ngZone=n,this.intervalDataSource=new Oc.X(null),this.intervalData$=this.intervalDataSource.asObservable();const d=parseInt(sessionStorage.getItem("dashboard_interval"),10)||5e3;this.setRefreshInterval(d)}setRefreshInterval(n){this.intervalTime=n,sessionStorage.setItem("dashboard_interval",n.toString()),this.intervalSubscription&&this.intervalSubscription.unsubscribe(),this.ngZone.runOutsideAngular(()=>{this.intervalSubscription=function(f=0,y=eu.P){return(!(0,Nv.k)(f)||f<0)&&(f=0),(!y||"function"!=typeof y.schedule)&&(y=eu.P),new wv.y(n=>(n.add(y.schedule(Pv,f,{subscriber:n,counter:0,period:f})),n))}(this.intervalTime).subscribe(()=>this.ngZone.run(()=>{this.intervalDataSource.next(this.intervalTime)}))})}getRefreshInterval(){return this.intervalTime}ngOnDestroy(){this.intervalSubscription&&this.intervalSubscription.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(e.R0b))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function h1(f,y){if(1&f&&(e.TgZ(0,"option",8),e._uU(1),e.qZA()),2&f){const n=y.$implicit,d=e.oxw();e.Q6J("value",d.intervalList[n]),e.xp6(1),e.Oqu(n)}}let TC=(()=>{class f{constructor(n){this.refreshIntervalService=n,this.intervalList={"5 s":5e3,"10 s":1e4,"15 s":15e3,"30 s":3e4,"1 min":6e4,"3 min":18e4,"5 min":3e5},this.intervalKeys=Object.keys(this.intervalList)}ngOnInit(){this.selectedInterval=this.refreshIntervalService.getRefreshInterval()||5e3}changeRefreshInterval(n){this.refreshIntervalService.setRefreshInterval(n)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(p1))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-refresh-selector"]],decls:8,vars:2,consts:function(){let y;return y="Refresh",[[1,"container-fluid"],[1,"row"],[1,"col","d-flex","justify-content-end"],[1,"form-inline"],["for","refreshInterval",1,"col-form-label","my-0","mx-2"],y,["id","refreshInterval","name","refreshInterval",1,"form-control",3,"ngModel","change","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"div",2),e.TgZ(3,"form",3),e.TgZ(4,"label",4),e.SDv(5,5),e.qZA(),e.TgZ(6,"select",6),e.NdJ("change",function(re){return d.changeRefreshInterval(re.target.value)})("ngModelChange",function(re){return d.selectedInterval=re}),e.YNc(7,h1,2,2,"option",7),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(6),e.Q6J("ngModel",d.selectedInterval),e.xp6(1),e.Q6J("ngForOf",d.intervalKeys))},directives:[Hn._Y,Hn.JL,Hn.F,As.o,Hn.EJ,zn.b,Hn.JJ,Hn.On,s.sg,Hn.YN,Hn.Kr],styles:[""]}),f})();var _1=o(49671);let Eb=(()=>{class f{constructor(n){this.http=n}getFullHealth(){return this.http.get("api/health/full")}getMinimalHealth(){return this.http.get("api/health/minimal")}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var Iv=o(89154),gp=o(99475);function Tb(f,y){if(1&f&&(e.TgZ(0,"div",6),e.tHW(1,7),e.ALo(2,"lowercase"),e._UZ(3,"cd-doc",8),e.ALo(4,"lowercase"),e.N_p(),e.qZA()),2&f){const n=e.oxw();e.xp6(3),e.MGl("section","dashboard-landing-page-",e.lcZ(4,4,n.groupTitle),""),e.xp6(1),e.pQV(e.lcZ(2,2,n.groupTitle)),e.QtT(1)}}const g1=function(f,y){return[f,y]},m1=["*"];let Cb=(()=>{class f{constructor(){this.icons=eo.P}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-info-group"]],inputs:{groupTitle:"groupTitle"},ngContentSelectors:m1,decls:11,vars:6,consts:function(){let y,n;return y="here",n="For an overview of " + "\ufffd0\ufffd" + " widgets click " + "\ufffd#3\ufffd" + "" + "\ufffd/#3\ufffd" + "",[[1,"row"],["triggers","",1,"info-group-title",3,"ngbPopover"],["popInfo","ngbPopover"],["type","button",1,"popover-icon","btn","btn-link","p-0",3,"click"],[3,"ngClass"],["popInfoTemplate",""],[1,"text-center"],n,["docText",y,3,"section"]]},template:function(n,d){if(1&n){const w=e.EpF();e.F$t(),e.TgZ(0,"div",0),e.TgZ(1,"div",1,2),e.TgZ(3,"span"),e._uU(4),e.qZA(),e.TgZ(5,"button",3),e.NdJ("click",function(){return e.CHM(w),e.MAs(2).toggle()}),e._UZ(6,"i",4),e.qZA(),e.qZA(),e.qZA(),e.TgZ(7,"div",0),e.Hsn(8),e.qZA(),e.YNc(9,Tb,5,6,"ng-template",null,5,e.W1O)}if(2&n){const w=e.MAs(10);e.xp6(1),e.Q6J("ngbPopover",w),e.xp6(3),e.Oqu(d.groupTitle),e.xp6(2),e.Q6J("ngClass",e.WLB(3,g1,d.icons.infoCircle,d.icons.large))}},directives:[Br.o8,As.o,s.mk,_s.K],pipes:[s.i8],styles:[".info-group-title[_ngcontent-%COMP%]{font-size:1.75rem;margin:0 0 .5vw .5vw}.popover-icon[_ngcontent-%COMP%]:focus{box-shadow:none}"]}),f})();function v1(f,y){if(1&f&&(e.TgZ(0,"a",6),e._uU(1),e.qZA()),2&f){const n=e.oxw();e.Q6J("routerLink",n.link),e.xp6(1),e.Oqu(n.cardTitle)}}function y1(f,y){if(1&f&&e._uU(0),2&f){const n=e.oxw();e.hij(" ",n.cardTitle," ")}}const Lv=["*"];let CC=(()=>{class f{constructor(){this.cardClass=""}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-info-card"]],inputs:{cardTitle:"cardTitle",link:"link",cardClass:"cardClass",contentClass:"contentClass"},ngContentSelectors:Lv,decls:8,vars:4,consts:[[1,"card","shadow-sm",3,"ngClass"],[1,"card-body","d-flex","align-items-center","justify-content-center"],[1,"card-title","m-4"],[3,"routerLink",4,"ngIf","ngIfElse"],["noLinkTitle",""],[1,"card-text","text-center",3,"ngClass"],[3,"routerLink"]],template:function(n,d){if(1&n&&(e.F$t(),e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"h4",2),e.YNc(3,v1,2,2,"a",3),e.YNc(4,y1,1,1,"ng-template",null,4,e.W1O),e.qZA(),e.TgZ(6,"div",5),e.Hsn(7),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(5);e.Q6J("ngClass",d.cardClass),e.xp6(3),e.Q6J("ngIf",d.link)("ngIfElse",w),e.xp6(3),e.Q6J("ngClass",d.contentClass)}},directives:[s.mk,s.O5,tn.yS],styles:[".card[_ngcontent-%COMP%]{font-size:12px;border:.5px solid #dee2e6;border-radius:3px;height:100%}@media screen and (min-width: 320px){.card[_ngcontent-%COMP%]{font-size:calc(12px + 9 * ((100vw - 320px) / 1728))}}@media screen and (min-width: 2048px){.card[_ngcontent-%COMP%]{font-size:21px}}.card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%]{padding-top:40px!important}.card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%] .card-title[_ngcontent-%COMP%]{left:-.6rem;position:absolute;top:-.3rem}.no-center[_ngcontent-%COMP%]{left:unset;position:unset;top:unset;transform:unset}.content-highlight[_ngcontent-%COMP%]{font-weight:bold}"]}),f})();var Sb=o(6823);const b1=["chartCanvas"],E1=["chartTooltip"];let Fv=(()=>{class f{constructor(n,d,w){this.dimlessBinary=n,this.dimless=d,this.cssHelper=w,this.config={},this.isBytesData=!1,this.showLabelAsTooltip=!1,this.prepareFn=new e.vpe,this.chartConfig={chartType:"doughnut",dataset:[{label:null,borderWidth:0}],colors:[{backgroundColor:[this.cssHelper.propertyValue("chart-color-green"),this.cssHelper.propertyValue("chart-color-yellow"),this.cssHelper.propertyValue("chart-color-orange"),this.cssHelper.propertyValue("chart-color-red"),this.cssHelper.propertyValue("chart-color-blue")]}],options:{cutoutPercentage:90,events:["click","mouseout","touchstart"],legend:{display:!0,position:"right",labels:{boxWidth:10,usePointStyle:!1}},plugins:{center_text:!0},tooltips:{enabled:!0,displayColors:!1,backgroundColor:this.cssHelper.propertyValue("chart-color-tooltip-background"),cornerRadius:0,bodyFontSize:14,bodyFontStyle:"600",position:"nearest",xPadding:12,yPadding:12,callbacks:{label:(re,Ze)=>{let Lt=Ze.labels[re.index];return Lt.includes("%")||(Lt=`${Lt} (${Ze.datasets[re.datasetIndex].data[re.index]}%)`),Lt}}},title:{display:!1}}},this.doughnutChartPlugins=[{id:"center_text",beforeDraw(re){const Ze=new gp.P,Lt="Helvetica Neue, Helvetica, Arial, sans-serif";Sb.defaults.global.defaultFontFamily=Lt;const Gt=re.ctx;if(!re.options.plugins.center_text||!re.data.datasets[0].label)return;Gt.save();const On=re.data.datasets[0].label.split("\n"),fr=(re.chartArea.left+re.chartArea.right)/2,hr=(re.chartArea.top+re.chartArea.bottom)/2;Gt.textAlign="center",Gt.textBaseline="middle",Gt.font=`24px ${Lt}`,Gt.fillStyle=Ze.propertyValue("chart-color-center-text"),Gt.fillText(On[0],fr,hr-10),On.length>1&&(Gt.font=`14px ${Lt}`,Gt.fillStyle=Ze.propertyValue("chart-color-center-text-description"),Gt.fillText(On[1],fr,hr+10)),Gt.restore()}}]}ngOnInit(){new Xn.h(this.chartCanvasRef,this.chartTooltipRef,(re,Ze)=>Ze+re.caretX+"px",(re,Ze)=>Ze+re.caretY-re.height-10+"px").getBody=re=>this.getChartTooltipBody(re),gn().merge(this.chartConfig,this.config),this.prepareFn.emit([this.chartConfig,this.data])}ngOnChanges(){this.prepareFn.emit([this.chartConfig,this.data]),this.setChartSliceBorderWidth()}getChartTooltipBody(n){const d=n[0].split(": ");return this.showLabelAsTooltip?d[0]:(d[1]=this.isBytesData?this.dimlessBinary.transform(d[1]):this.dimless.transform(d[1]),d.join(": "))}setChartSliceBorderWidth(){let n=0;gn().forEach(this.chartConfig.dataset[0].data,function(d){d>0&&(n+=1)}),this.chartConfig.dataset[0].borderWidth=n>1?1:0}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Se.$),e.Y36(ft.n),e.Y36(gp.P))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-health-pie"]],viewQuery:function(n,d){if(1&n&&(e.Gf(b1,7),e.Gf(E1,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.chartCanvasRef=w.first),e.iGM(w=e.CRH())&&(d.chartTooltipRef=w.first)}},inputs:{data:"data",config:"config",isBytesData:"isBytesData",tooltipFn:"tooltipFn",showLabelAsTooltip:"showLabelAsTooltip"},outputs:{prepareFn:"prepareFn"},features:[e.TTD],decls:6,vars:6,consts:[[1,"chart-container"],["baseChart","",1,"chart-canvas",3,"datasets","chartType","options","labels","colors","plugins"],["chartCanvas",""],[1,"chartjs-tooltip"],["chartTooltip",""]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e._UZ(1,"canvas",1,2),e.TgZ(3,"div",3,4),e._UZ(5,"table"),e.qZA(),e.qZA()),2&n&&(e.xp6(1),e.Q6J("datasets",d.chartConfig.dataset)("chartType",d.chartConfig.chartType)("options",d.chartConfig.options)("labels",d.chartConfig.labels)("colors",d.chartConfig.colors)("plugins",d.doughnutChartPlugins))},directives:[Sr.jh],styles:['.chart-container[_ngcontent-%COMP%]{cursor:pointer;margin:auto;overflow:visible;position:absolute}canvas[_ngcontent-%COMP%]{user-select:none}.chartjs-tooltip[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-family:"Helvetica Neue","Helvetica","Arial",sans-serif!important;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%);transition:all .1s ease}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]{transform:translate(-10%)}.chartjs-tooltip.transform-left[_ngcontent-%COMP%]:after{left:10%}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]{transform:translate(-90%)}.chartjs-tooltip.transform-right[_ngcontent-%COMP%]:after{left:90%}.chartjs-tooltip[_ngcontent-%COMP%]:after{border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px;content:" ";left:50%;margin-left:-5px;position:absolute;top:100%} .chartjs-tooltip-key{display:inline-block;height:10px;margin-right:10px;width:10px}.chart-container[_ngcontent-%COMP%]{height:100%;margin-left:auto;margin-right:auto;position:unset;width:100%}.chart-canvas[_ngcontent-%COMP%]{height:100%;margin-left:auto;margin-right:auto;max-height:100%;max-width:100%;position:unset;width:100%}']}),f})(),kv=(()=>{class f{transform(n){if(!n)return"";let d=0,w=0,re=0,Ze=0;gn().each(n.osds,fr=>{fr.in&&d++,fr.up&&w++,fr.state.includes("nearfull")&&re++,fr.state.includes("full")&&Ze++});const Lt=[{content:`${n.osds.length} ${"total"}`,class:""}];Lt.push({content:"",class:"card-text-line-break"}),Lt.push({content:`${w} ${"up"}, ${d} ${"in"}`,class:""});const Gt=n.osds.length-w,On=n.osds.length-d;if(Gt>0||On>0){Lt.push({content:"",class:"card-text-line-break"});const fr=Gt>0?`${Gt} ${"down"}`:"",Jr=On>0?`${On} ${"out"}`:"";Lt.push({content:`${fr}${Gt>0&&On>0?", ":""}${Jr}`,class:"card-text-error"})}return re>0&&Lt.push({content:"",class:"card-text-line-break"},{content:`${re} ${"near full"}`,class:"card-text-error"},{content:"",class:"card-text-line-break"}),Ze>0&&Lt.push({content:`${Ze} ${"full"}`,class:"card-text-error"}),Lt}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"osdSummary",type:f,pure:!0}),f})(),T1=(()=>{class f{transform(n){if(!n)return"";let d="",w="",re=0,Ze=0,Lt=0;gn().each(n.standbys,()=>{re+=1}),n.standbys&&!n.filesystems?(d=`${re} ${"up"}`,w="no filesystems"):0===n.filesystems.length?d="no filesystems":(gn().each(n.filesystems,_o=>{gn().each(_o.mdsmap.info,Yi=>{"up:standby-replay"===Yi.state?Lt+=1:Ze+=1})}),d=`${Ze} ${"active"}`,w=`${re+Lt} ${"standby"}`);const Gt=n.standbys.map(_o=>_o.name).join(", "),On=Gt?`${"standby daemons"}: ${Gt}`:"",fr=n.filesystems?n.filesystems.length:0,Jr=Object.values(fr>0?n.filesystems[0].mdsmap.info:{}).map(_o=>_o.name).join(", ");let $i=Jr?`${"active daemon"}: ${Jr}`:"";!Ze&&fr>0&&($i=`${Lt} ${"standbyReplay"}`);const bo=[{content:d,class:"popover-info",titleText:$i}];return w&&(bo.push({content:"",class:"card-text-line-break",titleText:""}),bo.push({content:w,class:"popover-info",titleText:On})),bo}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"mdsSummary",type:f,pure:!0}),f})();var Up=(()=>{return(f=Up||(Up={})).HEALTH_ERR="health-color-error",f.HEALTH_WARN="health-color-warning",f.HEALTH_OK="health-color-healthy",Up;var f})();let Qg=(()=>{class f{constructor(n){this.cssHelper=n}transform(n){return Object.keys(Up).includes(n)?{color:this.cssHelper.propertyValue(Up[n])}:null}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(gp.P,16))},f.\u0275pipe=e.Yjl({name:"healthColor",type:f,pure:!0}),f})(),C1=(()=>{class f{transform(n){return n?"" + n.monmap.mons.length.toString() + " (quorum " + n.quorum.join(", ") + ")":""}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"monSummary",type:f,pure:!0}),f})(),$v=(()=>{class f{transform(n){if(!n)return"";let d="n/a";const w=gn().isUndefined(n.active_name)?"":`${"active daemon"}: ${n.active_name}`;w.length>0&&(d="1");const re=n.standbys.map(On=>On.name).join(", "),Ze=re?`${"standby daemons"}: ${re}`:"",Lt=n.standbys.length,Gt=[{content:`${d} ${"active"}`,class:"popover-info",titleText:w}];return Gt.push({content:"",class:"card-text-line-break",titleText:""}),Gt.push({content:`${Lt} ${"standby"}`,class:"popover-info",titleText:Ze}),Gt}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275pipe=e.Yjl({name:"mgrSummary",type:f,pure:!0}),f})();function Mb(f,y){1&f&&e.GkF(0)}function Hv(f,y){if(1&f&&(e.TgZ(0,"li"),e.TgZ(1,"span",22),e.ALo(2,"healthColor"),e._uU(3),e.qZA(),e._uU(4),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.Q6J("ngStyle",e.lcZ(2,3,n.severity)),e.xp6(2),e.Oqu(n.type),e.xp6(1),e.hij(": ",n.summary.message," ")}}function Uv(f,y){if(1&f&&(e.YNc(0,Mb,1,0,"ng-container",20),e.TgZ(1,"ul"),e.YNc(2,Hv,5,5,"li",21),e.qZA()),2&f){e.oxw(4);const n=e.MAs(5),d=e.oxw();e.Q6J("ngTemplateOutlet",n),e.xp6(2),e.Q6J("ngForOf",d.healthData.health.checks)}}function S1(f,y){1&f&&e._UZ(0,"i",23)}function jv(f,y){if(1&f&&(e.ynx(0),e.YNc(1,Uv,3,2,"ng-template",null,17,e.W1O),e.TgZ(3,"div",18),e.ALo(4,"healthColor"),e._uU(5),e.YNc(6,S1,1,0,"i",19),e.qZA(),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw(4);e.xp6(3),e.Q6J("ngStyle",e.lcZ(4,4,d.healthData.health.status))("ngbPopover",n),e.xp6(2),e.hij(" ",d.healthData.health.status," "),e.xp6(1),e.Q6J("ngIf","HEALTH_OK"!=(null==d.healthData.health?null:d.healthData.health.status))}}function Ob(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",22),e.ALo(2,"healthColor"),e._uU(3),e.qZA(),e.BQk()),2&f){const n=e.oxw(4);e.xp6(1),e.Q6J("ngStyle",e.lcZ(2,2,n.healthData.health.status)),e.xp6(2),e.hij(" ",n.healthData.health.status," ")}}function Bv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",15),e.YNc(1,jv,7,6,"ng-container",16),e.YNc(2,Ob,4,4,"ng-container",16),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("ngIf",(null==n.healthData.health||null==n.healthData.health.checks?null:n.healthData.health.checks.length)>0),e.xp6(1),e.Q6J("ngIf",!(null!=n.healthData.health&&null!=n.healthData.health.checks&&n.healthData.health.checks.length))}}function Yv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",24),e._uU(1),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.hosts," total ")}}function M1(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",25),e._uU(1),e.ALo(2,"monSummary"),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,n.healthData.mon_status)," ")}}function Xg(f,y){if(1&f&&(e.TgZ(0,"span",28),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("ngClass",n.class),e.xp6(1),e.hij(" ",n.content," ")}}function O1(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",26),e.YNc(1,Xg,2,2,"span",27),e.qZA()),2&f){const n=y.ngIf;e.xp6(1),e.Q6J("ngForOf",n)}}function Zv(f,y){if(1&f&&(e.TgZ(0,"span",31),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("ngClass",n.class)("title",null!=n.titleText?n.titleText:""),e.xp6(1),e.hij(" ",n.content," ")}}function Vv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",29),e.YNc(1,Zv,2,3,"span",30),e.ALo(2,"mgrSummary"),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("ngForOf",e.lcZ(2,1,n.healthData.mgr_map))}}function Gv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",32),e._uU(1),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.rgw," total ")}}function zv(f,y){if(1&f&&(e.TgZ(0,"span",31),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("ngClass",n.class)("title",null!=n.titleText?n.titleText:""),e.xp6(1),e.hij(" ",n.content," ")}}function Wv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",33),e.YNc(1,zv,2,3,"span",30),e.qZA()),2&f){const n=y.ngIf;e.Q6J("contentClass",(n.length>1?"text-area-size-2":"")+" content-highlight"),e.xp6(1),e.Q6J("ngForOf",n)}}const qv=function(f){return{"card-text-error":f}};function Jv(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",34),e._uU(1),e._UZ(2,"span",35),e._uU(3),e.TgZ(4,"span",28),e._uU(5),e.qZA(),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.iscsi_daemons.up+n.healthData.iscsi_daemons.down," total "),e.xp6(2),e.hij(" ",n.healthData.iscsi_daemons.up," up, "),e.xp6(1),e.Q6J("ngClass",e.VKq(4,qv,n.healthData.iscsi_daemons.down>0)),e.xp6(1),e.hij("",n.healthData.iscsi_daemons.down," down")}}function SC(f,y){if(1&f&&(e.TgZ(0,"cd-info-group",6),e.YNc(1,Bv,3,2,"cd-info-card",7),e.YNc(2,Yv,2,1,"cd-info-card",8),e.YNc(3,M1,3,3,"cd-info-card",9),e.YNc(4,O1,2,1,"cd-info-card",10),e.ALo(5,"osdSummary"),e.YNc(6,Vv,3,3,"cd-info-card",11),e.YNc(7,Gv,2,1,"cd-info-card",12),e.YNc(8,Wv,2,2,"cd-info-card",13),e.ALo(9,"mdsSummary"),e.YNc(10,Jv,6,6,"cd-info-card",14),e.qZA()),2&f){const n=e.oxw().ngIf,d=e.oxw();e.xp6(1),e.Q6J("ngIf",null==d.healthData.health?null:d.healthData.health.status),e.xp6(1),e.Q6J("ngIf",null!=d.healthData.hosts),e.xp6(1),e.Q6J("ngIf",d.healthData.mon_status),e.xp6(1),e.Q6J("ngIf",e.lcZ(5,8,d.healthData.osd_map)),e.xp6(2),e.Q6J("ngIf",d.healthData.mgr_map),e.xp6(1),e.Q6J("ngIf",n.rgw&&null!=d.healthData.rgw),e.xp6(1),e.Q6J("ngIf",e.lcZ(9,10,n.cephfs&&d.healthData.fs_map)),e.xp6(2),e.Q6J("ngIf",n.iscsi&&null!=d.healthData.iscsi_daemons)}}function Ab(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",42),e.TgZ(1,"cd-health-pie",43),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).prepareRawUsage(w[0],w[1])}),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("data",n.healthData)("config",n.rawCapacityChartConfig)("isBytesData",!0)}}function wb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",44),e.TgZ(1,"cd-health-pie",45),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).prepareObjects(w[0],w[1])}),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("data",n.healthData)}}function Qv(f,y){1&f&&e.GkF(0)}function Db(f,y){if(1&f&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.AsE(" ",n.key,": ",n.value," ")}}function du(f,y){if(1&f&&(e.YNc(0,Qv,1,0,"ng-container",20),e.TgZ(1,"ul"),e.YNc(2,Db,2,2,"li",21),e.ALo(3,"keyvalue"),e.qZA()),2&f){e.oxw(3);const n=e.MAs(5),d=e.oxw();e.Q6J("ngTemplateOutlet",n),e.xp6(2),e.Q6J("ngForOf",e.lcZ(3,2,d.healthData.pg_info.statuses))}}function Xv(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",46),e.YNc(1,du,4,4,"ng-template",null,47,e.W1O),e.TgZ(3,"div",48),e.TgZ(4,"div",49),e.TgZ(5,"cd-health-pie",50),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).preparePgStatus(w[0],w[1])}),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.oxw(3);e.xp6(4),e.Q6J("ngbPopover",n),e.xp6(1),e.Q6J("data",d.healthData)("config",d.pgStatusChartConfig)}}function xb(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",51),e._uU(1),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.pools.length," ")}}function Rb(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",52),e._uU(1),e.ALo(2,"dimless"),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,n.healthData.pg_info.pgs_per_osd)," ")}}function Kv(f,y){if(1&f&&(e.TgZ(0,"cd-info-group",36),e.YNc(1,Ab,2,3,"cd-info-card",37),e.YNc(2,wb,2,1,"cd-info-card",38),e.YNc(3,Xv,6,3,"cd-info-card",39),e.YNc(4,xb,2,1,"cd-info-card",40),e.YNc(5,Rb,3,3,"cd-info-card",41),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("ngIf",n.healthData.df),e.xp6(1),e.Q6J("ngIf",null!=(null==n.healthData.pg_info||null==n.healthData.pg_info.object_stats?null:n.healthData.pg_info.object_stats.num_objects)),e.xp6(1),e.Q6J("ngIf",n.healthData.pg_info),e.xp6(1),e.Q6J("ngIf",n.healthData.pools),e.xp6(1),e.Q6J("ngIf",n.healthData.pg_info)}}function Nb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",58),e.TgZ(1,"cd-health-pie",50),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).prepareReadWriteRatio(w[0],w[1])}),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("data",n.healthData)("config",n.clientStatsConfig)}}function e0(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-info-card",59),e.TgZ(1,"cd-health-pie",50),e.NdJ("prepareFn",function(w){return e.CHM(n),e.oxw(3).prepareClientThroughput(w[0],w[1])}),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.Q6J("data",n.healthData)("config",n.clientStatsConfig)}}function t0(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",60),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,n.healthData.client_perf.recovering_bytes_per_sec)+"/s"," ")}}function Wh(f,y){if(1&f&&(e.TgZ(0,"cd-info-card",61),e._uU(1),e.qZA()),2&f){const n=e.oxw(3);e.xp6(1),e.hij(" ",n.healthData.scrub_status," ")}}function Pb(f,y){if(1&f&&(e.TgZ(0,"cd-info-group",53),e.YNc(1,Nb,2,2,"cd-info-card",54),e.YNc(2,e0,2,2,"cd-info-card",55),e.YNc(3,t0,3,3,"cd-info-card",56),e.YNc(4,Wh,2,1,"cd-info-card",57),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.Q6J("ngIf",n.healthData.client_perf),e.xp6(1),e.Q6J("ngIf",n.healthData.client_perf),e.xp6(1),e.Q6J("ngIf",n.healthData.client_perf),e.xp6(1),e.Q6J("ngIf",n.healthData.scrub_status)}}const Ib=function(f){return[f]};function n0(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"p",62),e.tHW(2,63),e._UZ(3,"i",28),e._UZ(4,"a",64),e.N_p(),e.qZA(),e.BQk()),2&f){const n=e.oxw(3);e.xp6(3),e.Q6J("ngClass",e.VKq(1,Ib,n.icons.infoCircle))}}function Lb(f,y){if(1&f&&e.YNc(0,n0,5,3,"ng-container",16),2&f){const n=e.oxw(2);e.Q6J("ngIf",n.permissions.log.read)}}function r0(f,y){if(1&f&&(e.TgZ(0,"div",1),e.YNc(1,SC,11,12,"cd-info-group",2),e.YNc(2,Kv,6,5,"cd-info-group",3),e.YNc(3,Pb,5,4,"cd-info-group",4),e.YNc(4,Lb,1,1,"ng-template",null,5,e.W1O),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngIf",(null==n.healthData.health?null:n.healthData.health.status)||n.healthData.mon_status||n.healthData.osd_map||n.healthData.mgr_map||null!=n.healthData.hosts||null!=n.healthData.rgw||n.healthData.fs_map||null!=n.healthData.iscsi_daemons),e.xp6(1),e.Q6J("ngIf",n.healthData.pools||n.healthData.df||n.healthData.pg_info),e.xp6(1),e.Q6J("ngIf",n.healthData.client_perf||n.healthData.scrub_status)}}let MC=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On,fr){this.healthService=n,this.osdService=d,this.authStorageService=w,this.pgCategoryService=re,this.featureToggles=Ze,this.refreshIntervalService=Lt,this.dimlessBinary=Gt,this.dimless=On,this.cssHelper=fr,this.osdSettings=new Tg,this.interval=new Vl.w,this.icons=eo.P,this.clientStatsConfig={colors:[{backgroundColor:[this.cssHelper.propertyValue("chart-color-cyan"),this.cssHelper.propertyValue("chart-color-purple")]}]},this.rawCapacityChartConfig={colors:[{backgroundColor:[this.cssHelper.propertyValue("chart-color-blue"),this.cssHelper.propertyValue("chart-color-gray")]}]},this.pgStatusChartConfig={options:{events:[""]}},this.permissions=this.authStorageService.getPermissions(),this.enabledFeature$=this.featureToggles.get()}ngOnInit(){this.interval=this.refreshIntervalService.intervalData$.subscribe(()=>{this.getHealth()}),this.osdService.getOsdSettings().pipe((0,_c.q)(1)).subscribe(n=>{this.osdSettings=n})}ngOnDestroy(){this.interval.unsubscribe()}getHealth(){this.healthService.getMinimalHealth().subscribe(n=>{this.healthData=n})}prepareReadWriteRatio(n){const d=[],w=[],re=this.healthData.client_perf.write_op_per_sec+this.healthData.client_perf.read_op_per_sec;d.push(`${"Reads"}: ${this.dimless.transform(this.healthData.client_perf.read_op_per_sec)} ${"/s"}`),w.push(this.calcPercentage(this.healthData.client_perf.read_op_per_sec,re)),d.push(`${"Writes"}: ${this.dimless.transform(this.healthData.client_perf.write_op_per_sec)} ${"/s"}`),w.push(this.calcPercentage(this.healthData.client_perf.write_op_per_sec,re)),n.labels=d,n.dataset[0].data=w,n.dataset[0].label=`${this.dimless.transform(re)}\n${"IOPS"}`}prepareClientThroughput(n){const d=[],w=[],re=this.healthData.client_perf.read_bytes_sec+this.healthData.client_perf.write_bytes_sec;d.push(`${"Reads"}: ${this.dimlessBinary.transform(this.healthData.client_perf.read_bytes_sec)}${"/s"}`),w.push(this.calcPercentage(this.healthData.client_perf.read_bytes_sec,re)),d.push(`${"Writes"}: ${this.dimlessBinary.transform(this.healthData.client_perf.write_bytes_sec)}${"/s"}`),w.push(this.calcPercentage(this.healthData.client_perf.write_bytes_sec,re)),n.labels=d,n.dataset[0].data=w,n.dataset[0].label=`${this.dimlessBinary.transform(re).replace(" ","\n")}${"/s"}`}prepareRawUsage(n,d){const w=this.calcPercentage(d.df.stats.total_bytes-d.df.stats.total_used_raw_bytes,d.df.stats.total_bytes),re=this.calcPercentage(d.df.stats.total_used_raw_bytes,d.df.stats.total_bytes);this.color=re/100>=this.osdSettings.nearfull_ratio?"chart-color-red":re/100>=this.osdSettings.full_ratio?"chart-color-yellow":"chart-color-blue",this.rawCapacityChartConfig.colors[0].backgroundColor[0]=this.cssHelper.propertyValue(this.color),n.dataset[0].data=[re,w],n.labels=[`${"Used"}: ${this.dimlessBinary.transform(d.df.stats.total_used_raw_bytes)}`,`${"Avail."}: ${this.dimlessBinary.transform(d.df.stats.total_bytes-d.df.stats.total_used_raw_bytes)}`],n.dataset[0].label=`${re}%\nof ${this.dimlessBinary.transform(d.df.stats.total_bytes)}`}preparePgStatus(n,d){const w={};let re=0;gn().forEach(d.pg_info.statuses,(Ze,Lt)=>{const Gt=this.pgCategoryService.getTypeByStates(Lt);gn().isUndefined(w[Gt])&&(w[Gt]=0),w[Gt]+=Ze,re+=Ze});for(const Ze of this.pgCategoryService.getAllTypes())gn().isUndefined(w[Ze])&&(w[Ze]=0);n.dataset[0].data=this.pgCategoryService.getAllTypes().map(Ze=>this.calcPercentage(w[Ze],re)),n.labels=[`${"Clean"}: ${this.dimless.transform(w.clean)}`,`${"Working"}: ${this.dimless.transform(w.working)}`,`${"Warning"}: ${this.dimless.transform(w.warning)}`,`${"Unknown"}: ${this.dimless.transform(w.unknown)}`],n.dataset[0].label=`${re}\n${"PGs"}`}prepareObjects(n,d){const w=d.pg_info.object_stats.num_object_copies,Ze=this.calcPercentage(w-d.pg_info.object_stats.num_objects_misplaced-d.pg_info.object_stats.num_objects_degraded-d.pg_info.object_stats.num_objects_unfound,w),Lt=this.calcPercentage(d.pg_info.object_stats.num_objects_misplaced,w),Gt=this.calcPercentage(d.pg_info.object_stats.num_objects_degraded,w),On=this.calcPercentage(d.pg_info.object_stats.num_objects_unfound,w);n.labels=[`${"Healthy"}: ${Ze}%`,`${"Misplaced"}: ${Lt}%`,`${"Degraded"}: ${Gt}%`,`${"Unfound"}: ${On}%`],n.dataset[0].data=[Ze,Lt,Gt,On],n.dataset[0].label=`${this.dimless.transform(d.pg_info.object_stats.num_objects)}\n${"objects"}`}isClientReadWriteChartShowable(){return(this.healthData.client_perf.read_op_per_sec||0)+(this.healthData.client_perf.write_op_per_sec||0)>0}calcPercentage(n,d){return gn().isNumber(n)&&gn().isNumber(d)&&0!==d?Math.ceil(n/d*100*100)/100:0}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Eb),e.Y36(lc),e.Y36(hi.j),e.Y36(_1.j),e.Y36(Iv.l),e.Y36(p1),e.Y36(Se.$),e.Y36(ft.n),e.Y36(gp.P))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-health"]],decls:2,vars:3,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o,Yi,Xs,ls,js,ga,wl;return y="Status",n="Capacity",d="Performance",w="Cluster Status",re="Hosts",Ze="Monitors",Lt="OSDs",Gt="Managers",On="Object Gateways",fr="Metadata Servers",hr="iSCSI Gateways",Jr="Raw Capacity",$i="Objects",bo="PG Status",_o="Pools",Yi="PGs per OSD",Xs="Client Read/Write",ls="Client Throughput",js="Recovery Throughput",ga="Scrubbing",wl="" + "\ufffd#3\ufffd" + "" + "\ufffd/#3\ufffd" + " See " + "\ufffd#4\ufffd" + "Logs" + "\ufffd/#4\ufffd" + " for more details.",[["class","container-fluid",4,"ngIf"],[1,"container-fluid"],["groupTitle",y,4,"ngIf"],["groupTitle",n,4,"ngIf"],["groupTitle",d,4,"ngIf"],["logsLink",""],["groupTitle",y],["cardTitle",w,"class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",re,"link","/hosts","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Ze,"link","/monitor","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Lt,"link","/osd","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Gt,"class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",On,"link","/rgw/daemon","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",fr,"class","cd-status-card",3,"contentClass",4,"ngIf"],["cardTitle",hr,"link","/block/iscsi","class","cd-status-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",w,"contentClass","content-highlight",1,"cd-status-card"],[4,"ngIf"],["healthChecks",""],["popoverClass","info-card-popover-cluster-status",1,"info-card-content-clickable",3,"ngStyle","ngbPopover"],["class","fa fa-exclamation-triangle",4,"ngIf"],[4,"ngTemplateOutlet"],[4,"ngFor","ngForOf"],[3,"ngStyle"],[1,"fa","fa-exclamation-triangle"],["cardTitle",re,"link","/hosts","contentClass","content-highlight",1,"cd-status-card"],["cardTitle",Ze,"link","/monitor","contentClass","content-highlight",1,"cd-status-card"],["cardTitle",Lt,"link","/osd","contentClass","content-highlight",1,"cd-status-card"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],["cardTitle",Gt,"contentClass","content-highlight",1,"cd-status-card"],[3,"ngClass","title",4,"ngFor","ngForOf"],[3,"ngClass","title"],["cardTitle",On,"link","/rgw/daemon","contentClass","content-highlight",1,"cd-status-card"],["cardTitle",fr,1,"cd-status-card",3,"contentClass"],["cardTitle",hr,"link","/block/iscsi","contentClass","content-highlight",1,"cd-status-card"],[1,"card-text-line-break"],["groupTitle",n],["cardTitle",Jr,"class","cd-capacity-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",$i,"class","cd-capacity-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",bo,"class","cd-capacity-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",_o,"link","/pool","class","cd-capacity-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Yi,"class","cd-capacity-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Jr,"contentClass","content-chart",1,"cd-capacity-card","cd-chart-card"],[3,"data","config","isBytesData","prepareFn"],["cardTitle",$i,"contentClass","content-chart",1,"cd-capacity-card","cd-chart-card"],[3,"data","prepareFn"],["cardTitle",bo,"contentClass","content-chart",1,"cd-capacity-card","cd-chart-card"],["pgStatus",""],[1,"pg-status-popover-wrapper"],[3,"ngbPopover"],[3,"data","config","prepareFn"],["cardTitle",_o,"link","/pool","contentClass","content-highlight",1,"cd-capacity-card"],["cardTitle",Yi,"contentClass","content-highlight",1,"cd-capacity-card"],["groupTitle",d],["cardTitle",Xs,"class","cd-performance-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",ls,"class","cd-performance-card cd-chart-card","contentClass","content-chart",4,"ngIf"],["cardTitle",js,"class","cd-performance-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",ga,"class","cd-performance-card","contentClass","content-highlight",4,"ngIf"],["cardTitle",Xs,"contentClass","content-chart",1,"cd-performance-card","cd-chart-card"],["cardTitle",ls,"contentClass","content-chart",1,"cd-performance-card","cd-chart-card"],["cardTitle",js,"contentClass","content-highlight",1,"cd-performance-card"],["cardTitle",ga,"contentClass","content-highlight",1,"cd-performance-card"],[1,"logs-link"],wl,["routerLink","/logs"]]},template:function(n,d){1&n&&(e.YNc(0,r0,6,3,"div",0),e.ALo(1,"async")),2&n&&e.Q6J("ngIf",e.lcZ(1,1,d.healthData&&d.enabledFeature$))},directives:[s.O5,Cb,CC,s.PC,Br.o8,s.tP,s.sg,s.mk,Fv,tn.yS],pipes:[s.Ov,kv,T1,Qg,C1,$v,s.Nd,ft.n,Se.$],styles:['cd-info-card[_ngcontent-%COMP%]{padding:0 .5vw} cd-health .pg-status-popover-wrapper{position:relative} cd-health .pg-status-popover-wrapper .popover{max-height:20vh;max-width:unset!important;min-width:unset!important;position:absolute;width:116%} cd-health .pg-status-popover-wrapper .popover .popover-body{font-size:1rem;max-height:19vh;max-width:100%}.logs-link[_ngcontent-%COMP%]{text-align:center}.card-text-error[_ngcontent-%COMP%]{color:#c9190b;display:inline}.card-text-line-break[_ngcontent-%COMP%]:after{content:"\\a";white-space:pre}.popover-info[_ngcontent-%COMP%]:hover{cursor:pointer}']}),f})();function A1(f,y){1&f&&e._UZ(0,"cd-health")}function w1(f,y){}function ep(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,A1,1,0,"ng-template",6),e.qZA(),e.TgZ(7,"li",3),e.TgZ(8,"a",4),e.SDv(9,7),e.qZA(),e.YNc(10,w1,0,0,"ng-template",6),e.qZA(),e.qZA(),e._UZ(11,"div",8),e.BQk()),2&f){const n=e.MAs(2);e.xp6(11),e.Q6J("ngbNavOutlet",n)}}function Fb(f,y){1&f&&e._UZ(0,"cd-health")}let i0=(()=>{class f{constructor(){this.hasGrafana=!1}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-dashboard"]],decls:4,vars:2,consts:function(){let y,n;return y="Health",n="Statistics",[[4,"ngIf"],["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],y,["ngbNavContent",""],n,[3,"ngbNavOutlet"]]},template:function(n,d){1&n&&(e.TgZ(0,"div"),e._UZ(1,"cd-refresh-selector"),e.YNc(2,ep,12,1,"ng-container",0),e.YNc(3,Fb,1,0,"cd-health",0),e.qZA()),2&n&&(e.xp6(2),e.Q6J("ngIf",d.hasGrafana),e.xp6(1),e.Q6J("ngIf",!d.hasGrafana))},directives:[TC,s.O5,Br.Pz,Br.nv,Br.Vx,Br.uN,Br.tO,MC],styles:["div[_ngcontent-%COMP%]{padding-top:20px}"]}),f})();var sd=o(5304),Sf=o(95152),Mf=o(33394),D1=o(40205);let Kg=(()=>{class f extends Us.S{constructor(n){super(),this.http=n,this.apiPath="api/nfs-ganesha",this.uiApiPath="ui-api/nfs-ganesha",this.nfsAccessType=[{value:"RW",help:"Allows all operations"},{value:"RO",help:"Allows only operations that do not modify the server"},{value:"NONE",help:"Allows no access at all"}],this.nfsFsal=[{value:"CEPH",descr:"CephFS",disabled:!1},{value:"RGW",descr:"Object Gateway",disabled:!1}],this.nfsSquash=["no_root_squash","root_id_squash","root_squash","all_squash"]}list(){return this.http.get(`${this.apiPath}/export`)}get(n,d){return this.http.get(`${this.apiPath}/export/${n}/${d}`)}create(n){return this.http.post(`${this.apiPath}/export`,n,{headers:{Accept:this.getVersionHeaderValue(2,0)},observe:"response"})}update(n,d,w){return this.http.put(`${this.apiPath}/export/${n}/${d}`,w,{headers:{Accept:this.getVersionHeaderValue(2,0)},observe:"response"})}delete(n,d){return this.http.delete(`${this.apiPath}/export/${n}/${d}`,{headers:{Accept:this.getVersionHeaderValue(2,0)},observe:"response"})}listClusters(){return this.http.get(`${this.apiPath}/cluster`,{headers:{Accept:this.getVersionHeaderValue(0,1)}})}lsDir(n,d){return n?this.http.get(`${this.uiApiPath}/lsdir/${n}?root_dir=${d}`):(0,D1._)("Please specify a filesystem volume.")}fsals(){return this.http.get(`${this.uiApiPath}/fsals`)}filesystems(){return this.http.get(`${this.uiApiPath}/cephfs/filesystems`)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var kb=o(36569);const $b=["squashHelper"];function Hb(f,y){1&f&&(e.TgZ(0,"span",14),e.TgZ(1,"span",15),e.SDv(2,16),e.qZA(),e.qZA())}function Ub(f,y){1&f&&(e.TgZ(0,"span"),e.SDv(1,37),e.qZA())}function x1(f,y){1&f&&(e.TgZ(0,"span"),e.ynx(1),e.SDv(2,38),e.BQk(),e._UZ(3,"br"),e.ynx(4),e.SDv(5,39),e.BQk(),e._uU(6," 192.168.0.10, 192.168.1.0/8 "),e.qZA())}function q_(f,y){if(1&f&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.value),e.xp6(1),e.Oqu(n.value)}}function jb(f,y){if(1&f&&(e.TgZ(0,"span",15),e._uU(1),e.qZA()),2&f){const n=e.oxw().index,d=e.oxw();e.xp6(1),e.hij(" ",d.getAccessTypeHelp(n)," ")}}function o0(f,y){1&f&&e.GkF(0)}function Bb(f,y){if(1&f&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function s0(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div"),e.TgZ(1,"div",17),e.TgZ(2,"div",18),e._uU(3),e.ALo(4,"ordinal"),e.TgZ(5,"span",19),e.NdJ("click",function(){const re=e.CHM(n).index;return e.oxw().removeClient(re)}),e._uU(6,"\xd7"),e.qZA(),e.qZA(),e.TgZ(7,"div",20),e.TgZ(8,"div",0),e.TgZ(9,"label",21),e.SDv(10,22),e.qZA(),e.TgZ(11,"div",23),e._UZ(12,"input",24),e.TgZ(13,"span",25),e.YNc(14,Ub,2,0,"span",26),e.YNc(15,x1,7,0,"span",26),e.qZA(),e.qZA(),e.qZA(),e.TgZ(16,"div",0),e.TgZ(17,"label",27),e.SDv(18,28),e.qZA(),e.TgZ(19,"div",23),e.TgZ(20,"select",29),e.TgZ(21,"option",30),e._uU(22),e.qZA(),e.YNc(23,q_,2,2,"option",31),e.qZA(),e.YNc(24,jb,2,1,"span",32),e.qZA(),e.qZA(),e.TgZ(25,"div",0),e.TgZ(26,"label",33),e.TgZ(27,"span"),e.SDv(28,34),e.qZA(),e.YNc(29,o0,1,0,"ng-container",35),e.qZA(),e.TgZ(30,"div",23),e.TgZ(31,"select",36),e.TgZ(32,"option",30),e._uU(33),e.qZA(),e.YNc(34,Bb,2,2,"option",31),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=y.$implicit,d=y.index,w=e.oxw(),re=e.MAs(4);e.xp6(1),e.Q6J("formGroup",n),e.xp6(2),e.hij(" ",e.lcZ(4,10,d+1)," "),e.xp6(11),e.Q6J("ngIf",w.showError(d,"addresses",re,"required")),e.xp6(1),e.Q6J("ngIf",w.showError(d,"addresses",re,"pattern")),e.xp6(7),e.Oqu(w.getNoAccessTypeDescr()),e.xp6(1),e.Q6J("ngForOf",w.nfsAccessType),e.xp6(1),e.Q6J("ngIf",w.getValue(d,"access_type")),e.xp6(5),e.Q6J("ngTemplateOutlet",w.squashHelperTpl),e.xp6(4),e.Oqu(w.getNoSquashDescr()),e.xp6(1),e.Q6J("ngForOf",w.nfsSquash)}}const a0=function(f){return[f]};let em=(()=>{class f{constructor(n){this.nfsService=n,this.nfsSquash=this.nfsService.nfsSquash,this.nfsAccessType=this.nfsService.nfsAccessType,this.icons=eo.P}ngOnInit(){gn().forEach(this.clients,n=>{this.addClient().patchValue(n)}),this.clientsFormArray=this.form.get("clients")}getNoAccessTypeDescr(){return this.form.getValue("access_type")?`${this.form.getValue("access_type")} ${"(inherited from global config)"}`:"-- Select the access type --"}getAccessTypeHelp(n){const d=this.nfsAccessType.find(w=>this.getValue(n,"access_type")===w.value);return gn().isObjectLike(d)?d.help:""}getNoSquashDescr(){return this.form.getValue("squash")?`${this.form.getValue("squash")} (${"inherited from global config"})`:"-- Select what kind of user id squashing is performed --"}addClient(){this.clientsFormArray=this.form.get("clients");const n="(([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3}).([0-9]{1,3})([/](\\d|[1-2]\\d|3[0-2]))?)",w=new xt.d({addresses:new Hn.NI("",{validators:[Hn.kI.required,Hn.kI.pattern(`${n}([ ,]{1,2}${n})*`)]}),access_type:new Hn.NI(""),squash:new Hn.NI("")});return this.clientsFormArray.push(w),w}removeClient(n){this.clientsFormArray=this.form.get("clients"),this.clientsFormArray.removeAt(n)}showError(n,d,w,re){return this.form.controls.clients.controls[n].showError(d,w,re)}getValue(n,d){return this.clientsFormArray=this.form.get("clients"),this.clientsFormArray.at(n).getValue(d)}trackByFn(n){return n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Kg))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-nfs-form-client"]],contentQueries:function(n,d,w){if(1&n&&e.Suo(w,$b,7),2&n){let re;e.iGM(re=e.CRH())&&(d.squashHelperTpl=re.first)}},inputs:{form:"form",clients:"clients"},decls:15,vars:7,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On;return y="Clients",n="Add clients",d="Any client can access",w="Addresses",re="Access Type",Ze="Squash",Lt="This field is required.",Gt="Must contain one or more comma-separated values",On="For example:",[[1,"form-group","row"],[1,"cd-col-form-label"],y,[1,"cd-col-form-input",3,"formGroup"],["formDir","ngForm"],["class","no-border text-muted",4,"ngIf"],["formArrayName","clients"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"row"],[1,"col-12"],[1,"float-right"],["name","add_client",1,"btn","btn-light",3,"click"],[3,"ngClass"],n,[1,"no-border","text-muted"],[1,"form-text","text-muted"],d,[1,"card",3,"formGroup"],[1,"card-header"],["name","remove_client","ngbTooltip","Remove",1,"float-right","clickable",3,"click"],[1,"card-body"],["for","addresses",1,"cd-col-form-label","required"],w,[1,"cd-col-form-input"],["type","text","name","addresses","id","addresses","formControlName","addresses","placeholder","192.168.0.10, 192.168.1.0/8",1,"form-control"],[1,"invalid-feedback"],[4,"ngIf"],["for","access_type",1,"cd-col-form-label"],re,["name","access_type","id","access_type","formControlName","access_type",1,"form-control"],["value",""],[3,"value",4,"ngFor","ngForOf"],["class","form-text text-muted",4,"ngIf"],["for","squash",1,"cd-col-form-label"],Ze,[4,"ngTemplateOutlet"],["name","squash","id","squash","formControlName","squash",1,"form-control"],Lt,Gt,On,[3,"value"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"label",1),e.SDv(2,2),e.qZA(),e.TgZ(3,"div",3,4),e.YNc(5,Hb,3,0,"span",5),e.ynx(6,6),e.YNc(7,s0,35,12,"div",7),e.BQk(),e.TgZ(8,"div",8),e.TgZ(9,"div",9),e.TgZ(10,"div",10),e.TgZ(11,"button",11),e.NdJ("click",function(){return d.addClient()}),e._UZ(12,"i",12),e.ynx(13),e.SDv(14,13),e.BQk(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(3),e.Q6J("formGroup",d.form),e.xp6(2),e.Q6J("ngIf",0===d.form.get("clients").value.length),e.xp6(2),e.Q6J("ngForOf",d.clientsFormArray.controls)("ngForTrackBy",d.trackByFn),e.xp6(5),e.Q6J("ngClass",e.VKq(5,a0,d.icons.add)))},directives:[kn.P,Hn.JL,Hn.sg,Gn.V,s.O5,Hn.CE,s.sg,As.o,s.mk,Br._L,Hn.Fj,zn.b,Hn.JJ,Hn.u,Hn.EJ,Hn.YN,Hn.Kr,s.tP],pipes:[kb.f],styles:[""]}),f})();const Yb=["nfsClients"];function l0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,53),e.qZA())}function c0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,54),e.qZA())}function R1(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,55),e.qZA())}function tm(f,y){if(1&f&&(e.TgZ(0,"option",56),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.cluster_id),e.xp6(1),e.Oqu(n.cluster_id)}}const N1=function(){return["create"]},P1=function(f){return{modal:f}},u0=function(f){return{outlets:f}},d0=function(f){return["/services",f]};function f0(f,y){1&f&&(e.TgZ(0,"span",57),e.tHW(1,58),e._UZ(2,"a",59),e.N_p(),e.qZA()),2&f&&(e.xp6(2),e.Q6J("routerLink",e.VKq(6,d0,e.VKq(4,u0,e.VKq(2,P1,e.DdM(1,N1))))))}function p0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,60),e.qZA())}function h0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,61),e.qZA())}function _0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,62),e.qZA())}function g0(f,y){if(1&f&&(e.TgZ(0,"option",63),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.value)("disabled",n.disabled),e.xp6(1),e.Oqu(n.descr)}}function m0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,64),e.qZA())}function Zb(f,y){if(1&f&&(e.TgZ(0,"span",57),e.SDv(1,65),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.pQV(n.fsalAvailabilityError),e.QtT(1)}}function v0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,69),e.qZA())}function Vb(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,70),e.qZA())}function Gb(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,71),e.qZA())}function zb(f,y){if(1&f&&(e.TgZ(0,"option",56),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.name),e.xp6(1),e.Oqu(n.name)}}function Wb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,72),e.qZA())}function qb(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",66),e.SDv(2,67),e.qZA(),e.TgZ(3,"div",13),e.TgZ(4,"select",68),e.NdJ("change",function(){return e.CHM(n),e.oxw(2).pathChangeHandler()}),e.YNc(5,v0,2,0,"option",15),e.YNc(6,Vb,2,0,"option",15),e.YNc(7,Gb,2,0,"option",15),e.YNc(8,zb,2,2,"option",16),e.qZA(),e.YNc(9,Wb,2,0,"span",17),e.qZA(),e.qZA()}if(2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(5),e.Q6J("ngIf",null===d.allFsNames),e.xp6(1),e.Q6J("ngIf",null!==d.allFsNames&&0===d.allFsNames.length),e.xp6(1),e.Q6J("ngIf",null!==d.allFsNames&&d.allFsNames.length>0),e.xp6(1),e.Q6J("ngForOf",d.allFsNames),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("fs_name",n,"required"))}}function Jb(f,y){1&f&&e._UZ(0,"input",79)}function Qb(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,80),e.qZA())}const Xb=function(f){return{required:f}};function Kb(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",73),e.SDv(2,74),e.qZA(),e.TgZ(3,"div",13),e.TgZ(4,"div",26),e._UZ(5,"input",75),e.TgZ(6,"label",76),e.SDv(7,77),e.qZA(),e.qZA(),e._UZ(8,"br"),e.YNc(9,Jb,1,0,"input",78),e.YNc(10,Qb,2,0,"span",17),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(3,Xb,d.nfsForm.getValue("security_label"))),e.xp6(8),e.Q6J("ngIf",d.nfsForm.getValue("security_label")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("sec_label_xattr",n,"required"))}}function eE(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,85),e.qZA())}function tE(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,86),e.qZA())}function nE(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,87),e.qZA())}function rE(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",8),e.TgZ(1,"label",81),e.TgZ(2,"span",10),e.SDv(3,82),e.qZA(),e.TgZ(4,"cd-helper"),e.TgZ(5,"p"),e.SDv(6,83),e.qZA(),e.qZA(),e.qZA(),e.TgZ(7,"div",13),e.TgZ(8,"input",84),e.NdJ("selectItem",function(){return e.CHM(n),e.oxw(2).pathChangeHandler()})("blur",function(){return e.CHM(n),e.oxw(2).pathChangeHandler()}),e.qZA(),e.YNc(9,eE,2,0,"span",17),e.YNc(10,tE,2,0,"span",17),e.YNc(11,nE,2,0,"span",17),e.qZA(),e.qZA()}if(2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(8),e.Q6J("ngbTypeahead",d.pathDataSource),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"required")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"pattern")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"pathNameNotAllowed"))}}function iE(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,90),e.qZA())}function y0(f,y){1&f&&(e.TgZ(0,"span",57),e.tHW(1,91),e._UZ(2,"a",92),e.N_p(),e.qZA())}function b0(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",81),e.TgZ(2,"span",10),e.SDv(3,88),e.qZA(),e.qZA(),e.TgZ(4,"div",13),e._UZ(5,"input",89),e.YNc(6,iE,2,0,"span",17),e.YNc(7,y0,3,0,"span",17),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(5),e.Q6J("ngbTypeahead",d.bucketDataSource),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"required")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("path",n,"bucketNameNotAllowed"))}}function E0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,93),e.qZA())}function T0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,99),e.qZA())}function C0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,100),e.qZA())}function S0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,101),e.qZA())}function M0(f,y){if(1&f&&(e.TgZ(0,"div",8),e.TgZ(1,"label",94),e.TgZ(2,"span",10),e.SDv(3,95),e.qZA(),e.TgZ(4,"cd-helper"),e.TgZ(5,"p"),e.tHW(6,96),e._UZ(7,"strong"),e._UZ(8,"strong"),e.N_p(),e.qZA(),e.TgZ(9,"p"),e.SDv(10,97),e.qZA(),e.qZA(),e.qZA(),e.TgZ(11,"div",13),e._UZ(12,"input",98),e.YNc(13,T0,2,0,"span",17),e.YNc(14,C0,2,0,"span",17),e.YNc(15,S0,2,0,"span",17),e.qZA(),e.qZA()),2&f){e.oxw();const n=e.MAs(2),d=e.oxw();e.xp6(13),e.Q6J("ngIf",d.nfsForm.showError("pseudo",n,"required")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("pseudo",n,"pseudoAlreadyExists")),e.xp6(1),e.Q6J("ngIf",d.nfsForm.showError("pseudo",n,"pattern"))}}function O0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,102),e.qZA())}function A0(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,103),e.qZA())}function I1(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,104),e.qZA())}function L1(f,y){if(1&f&&(e.TgZ(0,"option",56),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n.value),e.xp6(1),e.Oqu(n.value)}}function dh(f,y){if(1&f&&(e.TgZ(0,"span",105),e._uU(1),e.qZA()),2&f){const n=e.oxw(2);e.xp6(1),e.hij(" ",n.getAccessTypeHelp(n.nfsForm.getValue("access_type"))," ")}}function oE(f,y){1&f&&(e.TgZ(0,"span",106),e.tHW(1,107),e._UZ(2,"cd-doc",108),e.N_p(),e.qZA())}function sE(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,109),e.qZA())}function qh(f,y){1&f&&e.GkF(0)}function OC(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,110),e.qZA())}function F1(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,111),e.qZA())}function AC(f,y){1&f&&(e.TgZ(0,"option",52),e.SDv(1,112),e.qZA())}function w0(f,y){if(1&f&&(e.TgZ(0,"option",56),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function D0(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,113),e.qZA())}function wC(f,y){1&f&&(e.TgZ(0,"span",57),e.SDv(1,114),e.qZA())}function Qs(f,y){1&f&&(e.TgZ(0,"cd-helper"),e.TgZ(1,"ul",115),e.TgZ(2,"li"),e.TgZ(3,"span",116),e._uU(4,"no_root_squash: "),e.qZA(),e.TgZ(5,"span"),e.SDv(6,117),e.qZA(),e.qZA(),e.TgZ(7,"li"),e.TgZ(8,"span",116),e._uU(9,"root_id_squash: "),e.qZA(),e.TgZ(10,"span"),e.SDv(11,118),e.qZA(),e.qZA(),e.TgZ(12,"li"),e.TgZ(13,"span",116),e._uU(14,"root_squash: "),e.qZA(),e.TgZ(15,"span"),e.SDv(16,119),e.qZA(),e.qZA(),e.TgZ(17,"li"),e.TgZ(18,"span",116),e._uU(19,"all_squash: "),e.qZA(),e.TgZ(20,"span"),e.SDv(21,120),e.qZA(),e.qZA(),e.qZA(),e.qZA())}function aE(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.TgZ(3,"div",4),e.TgZ(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.TgZ(9,"div",8),e.TgZ(10,"label",9),e.TgZ(11,"span",10),e.SDv(12,11),e.qZA(),e.TgZ(13,"cd-helper"),e.TgZ(14,"p"),e.SDv(15,12),e.qZA(),e.qZA(),e.qZA(),e.TgZ(16,"div",13),e.TgZ(17,"select",14),e.YNc(18,l0,2,0,"option",15),e.YNc(19,c0,2,0,"option",15),e.YNc(20,R1,2,0,"option",15),e.YNc(21,tm,2,2,"option",16),e.qZA(),e.YNc(22,f0,3,8,"span",17),e.qZA(),e.qZA(),e.TgZ(23,"div",18),e.TgZ(24,"div",8),e.TgZ(25,"label",19),e.SDv(26,20),e.qZA(),e.TgZ(27,"div",13),e.TgZ(28,"select",21),e.NdJ("change",function(){return e.CHM(n),e.oxw().fsalChangeHandler()}),e.YNc(29,p0,2,0,"option",15),e.YNc(30,h0,2,0,"option",15),e.YNc(31,_0,2,0,"option",15),e.YNc(32,g0,2,3,"option",22),e.qZA(),e.YNc(33,m0,2,0,"span",17),e.YNc(34,Zb,2,1,"span",17),e.qZA(),e.qZA(),e.YNc(35,qb,10,5,"div",23),e.qZA(),e.YNc(36,Kb,11,5,"div",23),e.YNc(37,rE,12,4,"div",23),e.YNc(38,b0,8,3,"div",23),e.TgZ(39,"div",8),e.TgZ(40,"label",24),e.SDv(41,25),e.qZA(),e.TgZ(42,"div",13),e.TgZ(43,"div",26),e._UZ(44,"input",27),e.TgZ(45,"label",28),e.SDv(46,29),e.qZA(),e.qZA(),e.YNc(47,E0,2,0,"span",17),e.qZA(),e.qZA(),e.YNc(48,M0,16,3,"div",23),e.TgZ(49,"div",8),e.TgZ(50,"label",30),e.SDv(51,31),e.qZA(),e.TgZ(52,"div",13),e.TgZ(53,"select",32),e.NdJ("change",function(){return e.CHM(n),e.oxw().accessTypeChangeHandler()}),e.YNc(54,O0,2,0,"option",15),e.YNc(55,A0,2,0,"option",15),e.YNc(56,I1,2,0,"option",15),e.YNc(57,L1,2,2,"option",16),e.qZA(),e.YNc(58,dh,2,1,"span",33),e.YNc(59,oE,3,0,"span",34),e.YNc(60,sE,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(61,"div",8),e.TgZ(62,"label",35),e.TgZ(63,"span",10),e.SDv(64,36),e.qZA(),e.YNc(65,qh,1,0,"ng-container",37),e.qZA(),e.TgZ(66,"div",13),e.TgZ(67,"select",38),e.YNc(68,OC,2,0,"option",15),e.YNc(69,F1,2,0,"option",15),e.YNc(70,AC,2,0,"option",15),e.YNc(71,w0,2,2,"option",16),e.qZA(),e.YNc(72,D0,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(73,"div",8),e.TgZ(74,"label",39),e.SDv(75,40),e.qZA(),e.TgZ(76,"div",13),e.TgZ(77,"div",26),e._UZ(78,"input",41),e.TgZ(79,"label",42),e.SDv(80,43),e.qZA(),e.qZA(),e.TgZ(81,"div",26),e._UZ(82,"input",44),e.TgZ(83,"label",45),e.SDv(84,46),e.qZA(),e.qZA(),e.YNc(85,wC,2,0,"span",17),e._UZ(86,"hr"),e.qZA(),e.qZA(),e.TgZ(87,"cd-nfs-form-client",47,48),e.YNc(89,Qs,22,0,"ng-template",null,49,e.W1O),e.qZA(),e.qZA(),e.TgZ(91,"div",50),e.TgZ(92,"cd-form-button-panel",51),e.NdJ("submitActionEvent",function(){return e.CHM(n),e.oxw().submitAction()}),e.ALo(93,"titlecase"),e.ALo(94,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.MAs(90),w=e.oxw();e.xp6(1),e.Q6J("formGroup",w.nfsForm),e.xp6(6),e.pQV(e.lcZ(6,38,w.action))(e.lcZ(7,40,w.resource)),e.QtT(5),e.xp6(11),e.Q6J("ngIf",null===w.allClusters),e.xp6(1),e.Q6J("ngIf",null!==w.allClusters&&0===w.allClusters.length),e.xp6(1),e.Q6J("ngIf",null!==w.allClusters&&w.allClusters.length>0),e.xp6(1),e.Q6J("ngForOf",w.allClusters),e.xp6(1),e.Q6J("ngIf",w.nfsForm.showError("cluster_id",n,"required")||0===(null==w.allClusters?null:w.allClusters.length)),e.xp6(7),e.Q6J("ngIf",null===w.allFsals),e.xp6(1),e.Q6J("ngIf",null!==w.allFsals&&0===w.allFsals.length),e.xp6(1),e.Q6J("ngIf",null!==w.allFsals&&w.allFsals.length>0),e.xp6(1),e.Q6J("ngForOf",w.allFsals),e.xp6(1),e.Q6J("ngIf",w.nfsForm.showError("name",n,"required")),e.xp6(1),e.Q6J("ngIf",w.fsalAvailabilityError),e.xp6(1),e.Q6J("ngIf","CEPH"===w.nfsForm.getValue("name")),e.xp6(1),e.Q6J("ngIf","CEPH"===w.nfsForm.getValue("name")),e.xp6(1),e.Q6J("ngIf","CEPH"===w.nfsForm.getValue("name")),e.xp6(1),e.Q6J("ngIf","RGW"===w.nfsForm.getValue("name")),e.xp6(9),e.Q6J("ngIf",w.nfsForm.showError("protocolNfsv4",n,"required")),e.xp6(1),e.Q6J("ngIf",w.nfsForm.getValue("protocolNfsv4")),e.xp6(6),e.Q6J("ngIf",null===w.nfsAccessType),e.xp6(1),e.Q6J("ngIf",null!==w.nfsAccessType&&0===w.nfsAccessType.length),e.xp6(1),e.Q6J("ngIf",null!==w.nfsAccessType&&w.nfsAccessType.length>0),e.xp6(1),e.Q6J("ngForOf",w.nfsAccessType),e.xp6(1),e.Q6J("ngIf",w.nfsForm.getValue("access_type")),e.xp6(1),e.Q6J("ngIf","RW"===w.nfsForm.getValue("access_type")&&"RGW"===w.nfsForm.getValue("name")),e.xp6(1),e.Q6J("ngIf",w.nfsForm.showError("access_type",n,"required")),e.xp6(5),e.Q6J("ngTemplateOutlet",d),e.xp6(3),e.Q6J("ngIf",null===w.nfsSquash),e.xp6(1),e.Q6J("ngIf",null!==w.nfsSquash&&0===w.nfsSquash.length),e.xp6(1),e.Q6J("ngIf",null!==w.nfsSquash&&w.nfsSquash.length>0),e.xp6(1),e.Q6J("ngForOf",w.nfsSquash),e.xp6(1),e.Q6J("ngIf",w.nfsForm.showError("squash",n,"required")),e.xp6(13),e.Q6J("ngIf",w.nfsForm.showError("transportUDP",n,"required")||w.nfsForm.showError("transportTCP",n,"required")),e.xp6(2),e.Q6J("form",w.nfsForm)("clients",w.clients),e.xp6(5),e.Q6J("form",w.nfsForm)("submitText",e.lcZ(93,42,w.action)+" "+e.lcZ(94,44,w.resource))}}let x0=(()=>{class f extends Be.E{constructor(n,d,w,re,Ze,Lt,Gt,On,fr,hr){super(),this.authStorageService=n,this.nfsService=d,this.route=w,this.router=re,this.rgwBucketService=Ze,this.rgwSiteService=Lt,this.formBuilder=Gt,this.taskWrapper=On,this.cdRef=fr,this.actionLabels=hr,this.clients=[],this.isEdit=!1,this.cluster_id=null,this.export_id=null,this.allClusters=null,this.icons=eo.P,this.allFsals=[],this.allFsNames=null,this.fsalAvailabilityError=null,this.defaultAccessType={RGW:"RO"},this.nfsAccessType=this.nfsService.nfsAccessType,this.nfsSquash=this.nfsService.nfsSquash,this.pathDataSource=Jr=>Jr.pipe(pf(200),(0,tc.x)(),(0,ol.zg)($i=>this.getPathTypeahead($i)),(0,Ds.U)($i=>$i)),this.bucketDataSource=Jr=>Jr.pipe(pf(200),(0,tc.x)(),(0,ol.zg)($i=>this.getBucketTypeahead($i))),this.permission=this.authStorageService.getPermissions().pool,this.resource="NFS export",this.createForm()}ngOnInit(){const n=[this.nfsService.listClusters(),this.nfsService.fsals(),this.nfsService.filesystems()];this.router.url.startsWith("/nfs/edit")&&(this.isEdit=!0),this.isEdit?(this.action=this.actionLabels.EDIT,this.route.params.subscribe(d=>{this.cluster_id=decodeURIComponent(d.cluster_id),this.export_id=decodeURIComponent(d.export_id),n.push(this.nfsService.get(this.cluster_id,this.export_id)),this.getData(n)}),this.nfsForm.get("cluster_id").disable()):(this.action=this.actionLabels.CREATE,this.getData(n))}getData(n){(0,zs.D)(n).subscribe(d=>{this.resolveClusters(d[0]),this.resolveFsals(d[1]),this.resolveFilesystems(d[2]),d[3]&&this.resolveModel(d[3]),this.loadingReady()})}createForm(){this.nfsForm=new xt.d({cluster_id:new Hn.NI("",{validators:[Hn.kI.required]}),fsal:new xt.d({name:new Hn.NI("",{validators:[Hn.kI.required]}),fs_name:new Hn.NI("",{validators:[mo.h.requiredIf({name:"CEPH"})]})}),path:new Hn.NI("/"),protocolNfsv4:new Hn.NI(!0),pseudo:new Hn.NI("",{validators:[mo.h.requiredIf({protocolNfsv4:!0}),Hn.kI.pattern("^/[^><|&()]*$")]}),access_type:new Hn.NI("RW",{validators:[Hn.kI.required]}),squash:new Hn.NI(this.nfsSquash[0],{validators:[Hn.kI.required]}),transportUDP:new Hn.NI(!0,{validators:[mo.h.requiredIf({transportTCP:!1},n=>!n)]}),transportTCP:new Hn.NI(!0,{validators:[mo.h.requiredIf({transportUDP:!1},n=>!n)]}),clients:this.formBuilder.array([]),security_label:new Hn.NI(!1),sec_label_xattr:new Hn.NI("security.selinux",mo.h.requiredIf({security_label:!0,"fsal.name":"CEPH"}))})}resolveModel(n){"CEPH"===n.fsal.name&&(n.sec_label_xattr=n.fsal.sec_label_xattr),n.protocolNfsv4=-1!==n.protocols.indexOf(4),delete n.protocols,n.transportTCP=-1!==n.transports.indexOf("TCP"),n.transportUDP=-1!==n.transports.indexOf("UDP"),delete n.transports,n.clients.forEach(d=>{let w="";d.addresses.forEach(re=>{w+=re+", "}),w.length>=2&&(w=w.substring(0,w.length-2)),d.addresses=w}),this.nfsForm.patchValue(n),this.setPathValidation(),this.clients=n.clients}resolveClusters(n){this.allClusters=[];for(const d of n)this.allClusters.push({cluster_id:d});!this.isEdit&&this.allClusters.length>0&&this.nfsForm.get("cluster_id").setValue(this.allClusters[0].cluster_id)}resolveFsals(n){n.forEach(d=>{const w=this.nfsService.nfsFsal.find(re=>d===re.value);gn().isObjectLike(w)&&this.allFsals.push(w)}),!this.isEdit&&this.allFsals.length>0&&this.nfsForm.patchValue({fsal:{name:this.allFsals[0].value}})}resolveFilesystems(n){this.allFsNames=n,!this.isEdit&&n.length>0&&this.nfsForm.patchValue({fsal:{fs_name:n[0].name}})}fsalChangeHandler(){this.setPathValidation();const n=this.nfsForm.getValue("name");("RGW"===n?this.rgwSiteService.get("realms").pipe((0,ol.zg)(w=>0===w.length?(0,ws.of)(!0):this.rgwSiteService.isDefaultRealm().pipe((0,ol.zg)(re=>{if(!re)throw new Error("Selected realm is not the default.");return(0,ws.of)(!0)})))):this.nfsService.filesystems()).subscribe({next:()=>{this.setFsalAvailability(n,!0),this.isEdit||this.nfsForm.patchValue({path:"RGW"===n?"":"/",pseudo:this.generatePseudo(),access_type:this.updateAccessType()}),this.cdRef.detectChanges()},error:w=>{this.setFsalAvailability(n,!1,w),this.nfsForm.get("name").setValue("")}})}setFsalAvailability(n,d,w=""){this.allFsals=this.allFsals.map(re=>(re.value===n&&(re.disabled=!d,this.fsalAvailabilityError=re.disabled?"" + re.descr + " backend is not available. " + w + "":null),re))}accessTypeChangeHandler(){const n=this.nfsForm.getValue("name"),d=this.nfsForm.getValue("access_type");this.defaultAccessType[n]=d}setPathValidation(){const n=this.nfsForm.get("path");n.setValidators([Hn.kI.required]),"RGW"===this.nfsForm.getValue("name")?n.setAsyncValidators([mo.h.bucketExistence(!0,this.rgwBucketService)]):n.setAsyncValidators([this.pathExistence(!0)]),this.isEdit&&n.markAsDirty()}getAccessTypeHelp(n){const d=this.nfsAccessType.find(w=>{if(n===w.value)return w});return gn().isObjectLike(d)?d.help:""}getId(){return gn().isString(this.nfsForm.getValue("cluster_id"))&&gn().isString(this.nfsForm.getValue("path"))?this.nfsForm.getValue("cluster_id")+":"+this.nfsForm.getValue("path"):""}getPathTypeahead(n){if(!gn().isString(n)||"/"===n)return(0,ws.of)([]);const d=this.nfsForm.getValue("fsal").fs_name;return this.nfsService.lsDir(d,n).pipe((0,Ds.U)(w=>w.paths.filter(re=>re.toLowerCase().includes(n)).slice(0,15)),(0,sd.K)(()=>(0,ws.of)(["Error while retrieving paths."])))}pathChangeHandler(){this.isEdit||this.nfsForm.patchValue({pseudo:this.generatePseudo()})}getBucketTypeahead(n){return gn().isString(n)&&"/"!==n&&""!==n?this.rgwBucketService.list().pipe((0,Ds.U)(d=>d.filter(w=>w.toLowerCase().includes(n)).slice(0,15)),(0,sd.K)(()=>(0,ws.of)(["Error while retrieving bucket names."]))):(0,ws.of)([])}generatePseudo(){let n=this.nfsForm.getValue("pseudo");return this.nfsForm.get("pseudo")&&!this.nfsForm.get("pseudo").dirty&&(n=void 0,"CEPH"===this.nfsForm.getValue("fsal")&&(n="/cephfs",gn().isString(this.nfsForm.getValue("path"))&&(n+=this.nfsForm.getValue("path")))),n}updateAccessType(){const n=this.nfsForm.getValue("name");let d=this.defaultAccessType[n];return d||(d="RW"),d}submitAction(){let n;const d=this.buildRequest();n=this.taskWrapper.wrapTaskAroundCall(this.isEdit?{task:new Va.R("nfs/edit",{cluster_id:this.cluster_id,export_id:gn().parseInt(this.export_id)}),call:this.nfsService.update(this.cluster_id,gn().parseInt(this.export_id),d)}:{task:new Va.R("nfs/create",{path:d.path,fsal:d.fsal,cluster_id:d.cluster_id}),call:this.nfsService.create(d)}),n.subscribe({error:w=>this.setFormErrors(w),complete:()=>this.router.navigate(["/nfs"])})}setFormErrors(n){n.error.detail&&n.error.detail.toString().includes(`Pseudo ${this.nfsForm.getValue("pseudo")} is already in use`)&&this.nfsForm.get("pseudo").setErrors({pseudoAlreadyExists:!0}),this.nfsForm.setErrors({cdSubmitButton:!0})}buildRequest(){const n=gn().cloneDeep(this.nfsForm.value);return this.isEdit&&(n.export_id=gn().parseInt(this.export_id)),"RGW"===n.fsal.name&&delete n.fsal.fs_name,n.protocols=[],n.protocolNfsv4?n.protocols.push(4):n.pseudo=null,delete n.protocolNfsv4,n.transports=[],n.transportTCP&&n.transports.push("TCP"),delete n.transportTCP,n.transportUDP&&n.transports.push("UDP"),delete n.transportUDP,n.clients.forEach(d=>{d.addresses=gn().isString(d.addresses)?gn()(d.addresses).split(/[ ,]+/).uniq().filter(w=>""!==w).value():[],d.squash||(d.squash=n.squash),d.access_type||(d.access_type=n.access_type)}),n.fsal.sec_label_xattr=!1===n.security_label||"RGW"===n.fsal.name?null:n.sec_label_xattr,delete n.sec_label_xattr,n}pathExistence(n){return d=>{if(d.pristine||!d.value)return(0,ws.of)({required:!0});const w=this.nfsForm.getValue("fsal").fs_name;return this.nfsService.lsDir(w,d.value).pipe((0,Ds.U)(re=>re.paths.includes(d.value)===n?null:{pathNameNotAllowed:!0}),(0,sd.K)(()=>(0,ws.of)({pathNameNotAllowed:!0})))}}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(Kg),e.Y36(tn.gz),e.Y36(tn.F0),e.Y36(Sf.o),e.Y36(Mf.I),e.Y36($c.O),e.Y36(ki.P),e.Y36(e.sBO),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-nfs-form"]],viewQuery:function(n,d){if(1&n&&e.Gf(Yb,7),2&n){let w;e.iGM(w=e.CRH())&&(d.nfsClients=w.first)}},features:[e.qOj],decls:1,vars:1,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o,Yi,Xs,ls,js,ga,wl,wa,Wl,zc,Ls,yu,wf,ju,Bu,Df,xf,as,Cs,Bs,Da,sc,fu,Pc,Wc,Pl,vp,pu,Cd,Ld,Yu,Ys,sg,yp,ag,lg,n_,bp,Sm,r_,cg,ug,dg;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Cluster",d="This is the ID of an NFS Service.",w="Storage Backend",re="NFS Protocol",Ze="NFSv4",Lt="Access Type",Gt="Squash",On="Transport Protocol",fr="UDP",hr="TCP",Jr="Loading...",$i="-- No cluster available --",bo="-- Select the cluster --",_o="This field is required. To create a new NFS cluster, " + "\ufffd#2\ufffd" + "add a new NFS Service" + "\ufffd/#2\ufffd" + ".",Yi="Loading...",Xs="-- No data pools available --",ls="-- Select the storage backend --",js="This field is required.",ga="" + "\ufffd0\ufffd" + "",wl="Volume",wa="Loading...",Wl="-- No CephFS filesystem available --",zc="-- Select the CephFS filesystem --",Ls="This field is required.",yu="Security Label",wf="Enable security label",ju="This field is required.",Bu="CephFS Path",Df="A path in a CephFS file system.",xf="This field is required.",as="Path need to start with a '/' and can be followed by a word",Cs="The path does not exist in the selected volume.",Bs="Bucket",Da="This field is required.",sc="The bucket does not exist or is not in the default realm (if multiple realms are configured). To continue, " + "\ufffd#2\ufffd" + "create a new bucket" + "\ufffd/#2\ufffd" + ".",fu="This field is required.",Pc="Pseudo",Wc="The position that this " + "[\ufffd#7\ufffd|\ufffd#8\ufffd]" + "NFS v4" + "[\ufffd/#7\ufffd|\ufffd/#8\ufffd]" + " export occupies in the " + "[\ufffd#7\ufffd|\ufffd#8\ufffd]" + "Pseudo FS" + "[\ufffd/#7\ufffd|\ufffd/#8\ufffd]" + " (it must be unique).",Wc=e.Zx4(Wc),Pl="By using different Pseudo options, the same Path may be exported multiple times.",vp="This field is required.",pu="The pseudo is already in use by another export.",Cd="Pseudo needs to start with a '/' and can't contain any of the following: >, <, |, &, ( or ).",Ld="Loading...",Yu="-- No access type available --",Ys="-- Select the access type --",sg="The Object Gateway NFS backend has a number of limitations which will seriously affect applications writing to the share. Please consult the " + "\ufffd#2\ufffd" + "" + "\ufffd/#2\ufffd" + " for details before enabling write access.",yp="This field is required.",ag="Loading...",lg="-- No squash available --",n_="--Select what kind of user id squashing is performed --",bp="This field is required.",Sm="This field is required.",r_="No user id squashing is performed.",cg="uid 0 and gid 0 are squashed to the Anonymous_Uid and Anonymous_Gid gid 0 in alt_groups lists is also squashed.",ug="uid 0 and gid of any value are squashed to the Anonymous_Uid and Anonymous_Gid alt_groups lists is discarded.",dg="All users are squashed.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","nfsForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],y,[1,"card-body"],[1,"form-group","row"],["for","cluster_id",1,"cd-col-form-label"],[1,"required"],n,d,[1,"cd-col-form-input"],["formControlName","cluster_id","name","cluster_id","id","cluster_id",1,"form-control"],["value","",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],["formGroupName","fsal"],["for","name",1,"cd-col-form-label","required"],w,["formControlName","name","name","name","id","name",1,"form-control",3,"change"],[3,"value","disabled",4,"ngFor","ngForOf"],["class","form-group row",4,"ngIf"],["for","protocols",1,"cd-col-form-label","required"],re,[1,"custom-control","custom-checkbox"],["type","checkbox","formControlName","protocolNfsv4","name","protocolNfsv4","id","protocolNfsv4","disabled","",1,"custom-control-input"],["for","protocolNfsv4",1,"custom-control-label"],Ze,["for","access_type",1,"cd-col-form-label","required"],Lt,["formControlName","access_type","name","access_type","id","access_type",1,"form-control",3,"change"],["class","form-text text-muted",4,"ngIf"],["class","form-text text-warning",4,"ngIf"],["for","squash",1,"cd-col-form-label"],Gt,[4,"ngTemplateOutlet"],["name","squash","formControlName","squash","id","squash",1,"form-control"],["for","transports",1,"cd-col-form-label","required"],On,["type","checkbox","formControlName","transportUDP","name","transportUDP","id","transportUDP",1,"custom-control-input"],["for","transportUDP",1,"custom-control-label"],fr,["type","checkbox","formControlName","transportTCP","name","transportTCP","id","transportTCP",1,"custom-control-input"],["for","transportTCP",1,"custom-control-label"],hr,[3,"form","clients"],["nfsClients",""],["squashHelper",""],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["value",""],Jr,$i,bo,[3,"value"],[1,"invalid-feedback"],_o,[1,"btn-link",3,"routerLink"],Yi,Xs,ls,[3,"value","disabled"],js,ga,["for","fs_name",1,"cd-col-form-label","required"],wl,["formControlName","fs_name","name","fs_name","id","fs_name",1,"form-control",3,"change"],wa,Wl,zc,Ls,["for","security_label",1,"cd-col-form-label",3,"ngClass"],yu,["type","checkbox","formControlName","security_label","name","security_label","id","security_label",1,"custom-control-input"],["for","security_label",1,"custom-control-label"],wf,["type","text","class","form-control","name","sec_label_xattr","id","sec_label_xattr","formControlName","sec_label_xattr",4,"ngIf"],["type","text","name","sec_label_xattr","id","sec_label_xattr","formControlName","sec_label_xattr",1,"form-control"],ju,["for","path",1,"cd-col-form-label"],Bu,Df,["type","text","name","path","id","path","data-testid","fs_path","formControlName","path",1,"form-control",3,"ngbTypeahead","selectItem","blur"],xf,as,Cs,Bs,["type","text","name","path","id","path","data-testid","rgw_path","formControlName","path",1,"form-control",3,"ngbTypeahead"],Da,sc,["routerLink","/rgw/bucket/create",1,"btn-link"],fu,["for","pseudo",1,"cd-col-form-label"],Pc,Wc,Pl,["type","text","name","pseudo","id","pseudo","formControlName","pseudo",1,"form-control"],vp,pu,Cd,Ld,Yu,Ys,[1,"form-text","text-muted"],[1,"form-text","text-warning"],sg,["section","rgw-nfs"],yp,ag,lg,n_,bp,Sm,[1,"squash-helper"],[1,"squash-helper-item-value"],r_,cg,ug,dg]},template:function(n,d){1&n&&e.YNc(0,aE,95,46,"div",0),2&n&&e.Q6J("cdFormLoading",d.loading)},directives:[vn.y,Hn._Y,Hn.JL,Hn.sg,Gn.V,kn.P,yl.S,As.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,s.O5,s.sg,Hn.x0,Hn.Wl,s.tP,em,jr.p,Hn.YN,Hn.Kr,tn.yS,s.mk,Hn.Fj,Br.dR,_s.K],pipes:[s.rS,E.m],styles:[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}.squash-helper[_ngcontent-%COMP%]{padding-left:1rem}.squash-helper-item-value[_ngcontent-%COMP%]{font-weight:bold}"]}),f})();var R0=o(38047);function nm(f,y){if(1&f&&e._UZ(0,"cd-table-key-value",10),2&f){const n=e.oxw(2);e.Q6J("data",n.data)}}function lE(f,y){if(1&f&&e._UZ(0,"cd-table",11,12),2&f){const n=e.oxw(2);e.Q6J("data",n.clients)("columns",n.clientsColumns)}}function rm(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"ul",1,2),e.TgZ(3,"li",3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,nm,1,1,"ng-template",6),e.qZA(),e.TgZ(7,"li",7),e.TgZ(8,"a",4),e.SDv(9,8),e.qZA(),e.YNc(10,lE,2,2,"ng-template",6),e.qZA(),e.qZA(),e._UZ(11,"div",9),e.BQk()),2&f){const n=e.MAs(2),d=e.oxw();e.xp6(9),e.pQV(d.clients.length),e.QtT(9),e.xp6(2),e.Q6J("ngbNavOutlet",n)}}let im=(()=>{class f{constructor(){this.clients=[],this.clientsColumns=[{name:"Addresses",prop:"addresses",flexGrow:2},{name:"Access Type",prop:"access_type",flexGrow:1},{name:"Squash",prop:"squash",flexGrow:1}]}ngOnChanges(){this.selection&&(this.selectedItem=this.selection,this.clients=this.selectedItem.clients,this.data={},this.data["Cluster"]=this.selectedItem.cluster_id,this.data["NFS Protocol"]=this.selectedItem.protocols.map(n=>"NFSv"+n),this.data["Pseudo"]=this.selectedItem.pseudo,this.data["Access Type"]=this.selectedItem.access_type,this.data["Squash"]=this.selectedItem.squash,this.data["Transport"]=this.selectedItem.transports,this.data["Path"]=this.selectedItem.path,"CEPH"===this.selectedItem.fsal.name?(this.data["Storage Backend"]="CephFS",this.data["CephFS User"]=this.selectedItem.fsal.user_id,this.data["CephFS Filesystem"]=this.selectedItem.fsal.fs_name,this.data["Security Label"]=this.selectedItem.fsal.sec_label_xattr):(this.data["Storage Backend"]="Object Gateway",this.data["Object Gateway User"]=this.selectedItem.fsal.user_id))}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-nfs-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let y,n;return y="Details",n="Clients (" + "\ufffd0\ufffd" + ")",[[4,"ngIf"],["ngbNav","","cdStatefulTab","nfs-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],y,["ngbNavContent",""],["ngbNavItem","clients"],n,[3,"ngbNavOutlet"],[3,"data"],["columnMode","flex","identifier","addresses","forceIdentifier","true","selectionType","",3,"data","columns"],["table",""]]},template:function(n,d){1&n&&e.YNc(0,rm,12,2,"ng-container",0),2&n&&e.Q6J("ngIf",d.selection)},directives:[s.O5,Br.Pz,G.m,Br.nv,Br.Vx,Br.uN,Br.tO,Ft.b,Ui.a],styles:[""]}),f})();const Bc=["nfsState"],DC=["nfsFsal"],N0=["table"];function k1(f,y){1&f&&(e.ynx(0),e.SDv(1,7),e.BQk())}function cE(f,y){1&f&&(e.ynx(0),e.SDv(1,8),e.BQk())}function P0(f,y){if(1&f&&(e.YNc(0,k1,2,0,"ng-container",6),e.YNc(1,cE,2,0,"ng-container",6)),2&f){const n=y.value;e.Q6J("ngIf","CEPH"===n.name),e.xp6(1),e.Q6J("ngIf","RGW"===n.name)}}let I0=(()=>{class f extends mi.o{constructor(n,d,w,re,Ze,Lt){super(),this.authStorageService=n,this.modalService=d,this.nfsService=w,this.taskListService=re,this.taskWrapper=Ze,this.actionLabels=Lt,this.selection=new si.r,this.isDefaultCluster=!1,this.builders={"nfs/create":Jr=>({path:Jr.path,cluster_id:Jr.cluster_id,fsal:Jr.fsal})},this.permission=this.authStorageService.getPermissions().nfs;const Gt=()=>this.selection.first()&&`${encodeURI(this.selection.first().cluster_id)}/${encodeURI(this.selection.first().export_id)}`;this.tableActions=[{permission:"create",icon:eo.P.add,routerLink:()=>"/nfs/create",canBePrimary:Jr=>!Jr.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:eo.P.edit,routerLink:()=>`/nfs/edit/${Gt()}`,name:this.actionLabels.EDIT},{permission:"delete",icon:eo.P.destroy,click:()=>this.deleteNfsModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"Path",prop:"path",flexGrow:2,cellTransformation:ii.e.executing},{name:"Pseudo",prop:"pseudo",flexGrow:2},{name:"Cluster",prop:"cluster_id",flexGrow:2},{name:"Storage Backend",prop:"fsal",flexGrow:2,cellTemplate:this.nfsFsal},{name:"Access Type",prop:"access_type",flexGrow:2}],this.taskListService.init(()=>this.nfsService.list(),n=>this.prepareResponse(n),n=>this.exports=n,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders)}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}prepareResponse(n){let d=[];return n.forEach(w=>{w.id=`${w.cluster_id}:${w.export_id}`,w.state="LOADING",d=d.concat(w)}),d}onFetchError(){this.table.reset(),this.viewCacheStatus={status:Bi.T.ValueException}}itemFilter(n,d){return n.cluster_id===d.metadata.cluster_id&&n.export_id===d.metadata.export_id}taskFilter(n){return["nfs/create","nfs/delete","nfs/edit"].includes(n.name)}updateSelection(n){this.selection=n}deleteNfsModal(){const n=this.selection.first().cluster_id,d=this.selection.first().export_id;this.modalRef=this.modalService.show(jo.M,{itemDescription:"NFS export",itemNames:[`${n}:${d}`],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new Va.R("nfs/delete",{cluster_id:n,export_id:d}),call:this.nfsService.delete(n,d)})})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(na.Z),e.Y36(Kg),e.Y36(R0.j),e.Y36(ki.P),e.Y36(uo.p4))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-nfs-list"]],viewQuery:function(n,d){if(1&n&&(e.Gf(Bc,5),e.Gf(DC,7),e.Gf(N0,7)),2&n){let w;e.iGM(w=e.CRH())&&(d.nfsState=w.first),e.iGM(w=e.CRH())&&(d.nfsFsal=w.first),e.iGM(w=e.CRH())&&(d.table=w.first)}},features:[e._Bn([R0.j]),e.qOj],decls:7,vars:7,consts:function(){let y,n;return y="CephFS",n="Object Gateway",[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","setExpandedRow","updateSelection"],["table",""],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["nfsFsal",""],[4,"ngIf"],y,n]},template:function(n,d){1&n&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(re){return d.setExpandedRow(re)})("updateSelection",function(re){return d.updateSelection(re)}),e.TgZ(2,"div",2),e._UZ(3,"cd-table-actions",3),e.qZA(),e._UZ(4,"cd-nfs-details",4),e.qZA(),e.YNc(5,P0,2,2,"ng-template",null,5,e.W1O)),2&n&&(e.Q6J("data",d.exports)("columns",d.columns)("hasDetails",!0),e.xp6(3),e.Q6J("permission",d.permission)("selection",d.selection)("tableActions",d.tableActions),e.xp6(1),e.Q6J("selection",d.expandedRow))},directives:[Ui.a,ha.K,im,s.O5],styles:[""]}),f})(),L0=(()=>{class f{constructor(n){this.route=n,this.route.queryParams.subscribe(d=>{this.fromLink=d.fromLink||f.defaultFromLink}),this.route.params.subscribe(d=>{this.serviceId=decodeURIComponent(d.id),this.serviceType=d.type})}}return f.defaultFromLink="/hosts",f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.gz))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-performance-counter"]],decls:3,vars:4,consts:[[3,"serviceType","serviceId"]],template:function(n,d){1&n&&(e.TgZ(0,"legend"),e._uU(1),e.qZA(),e._UZ(2,"cd-table-performance-counter",0)),2&n&&(e.xp6(1),e.AsE("",d.serviceType,".",d.serviceId,""),e.xp6(1),e.Q6J("serviceType",d.serviceType)("serviceId",d.serviceId))},directives:[B_.p],styles:[""]}),f})();var om=o(39219),F0=o(33888),$1=o(32057);function uE(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,31),e.qZA())}function J_(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,32),e.qZA())}function dE(f,y){if(1&f&&e._UZ(0,"cd-helper",33),2&f){const n=e.oxw();e.s9C("html",n.passwordPolicyHelpText)}}function fE(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,34),e.qZA())}function pE(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,35),e.qZA())}function sm(f,y){if(1&f&&(e.TgZ(0,"span",30),e._uU(1),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.hij(" ",n.passwordValuation," ")}}function k0(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,36),e.qZA())}function $0(f,y){1&f&&(e.TgZ(0,"span",30),e.SDv(1,37),e.qZA())}let H1=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt){this.actionLabels=n,this.notificationService=d,this.userService=w,this.authStorageService=re,this.formBuilder=Ze,this.router=Lt,this.passwordPolicyService=Gt,this.passwordPolicyHelpText="",this.icons=eo.P,this.action=this.actionLabels.CHANGE,this.resource="password",this.createForm()}createForm(){this.passwordPolicyService.getHelpText().subscribe(n=>{this.passwordPolicyHelpText=n}),this.userForm=this.formBuilder.group({oldpassword:[null,[Hn.kI.required,mo.h.custom("notmatch",()=>this.userForm&&this.userForm.getValue("newpassword")===this.userForm.getValue("oldpassword"))]],newpassword:[null,[Hn.kI.required,mo.h.custom("notmatch",()=>this.userForm&&this.userForm.getValue("oldpassword")===this.userForm.getValue("newpassword"))],[mo.h.passwordPolicy(this.userService,()=>this.authStorageService.getUsername(),(n,d,w)=>{this.passwordStrengthLevelClass=this.passwordPolicyService.mapCreditsToCssClass(d),this.passwordValuation=gn().defaultTo(w,"")})]],confirmnewpassword:[null,[Hn.kI.required]]},{validators:[mo.h.match("newpassword","confirmnewpassword")]})}onSubmit(){if(this.userForm.pristine)return;const n=this.authStorageService.getUsername(),d=this.userForm.getValue("oldpassword"),w=this.userForm.getValue("newpassword");this.userService.changePassword(n,d,w).subscribe(()=>this.onPasswordChange(),()=>{this.userForm.setErrors({cdSubmitButton:!0})})}onPasswordChange(){this.notificationService.show(Ho.k.success,"Updated user password\""),this.router.navigate(["/login"])}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(Zi.g),e.Y36($1.K),e.Y36(hi.j),e.Y36($c.O),e.Y36(tn.F0),e.Y36(F0.q))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-user-password-form"]],decls:48,vars:25,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr;return y="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",n="Old password",d="New password",w="Confirm new password",re="This field is required.",Ze="The old and new passwords must be different.",Lt="This field is required.",Gt="The old and new passwords must be different.",On="This field is required.",fr="Password confirmation doesn't match the new password.",[[1,"cd-col-form"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],y,[1,"card-body"],[1,"form-group","row"],["for","oldpassword",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],[1,"input-group"],["type","password","placeholder","Old password...","id","oldpassword","formControlName","oldpassword","autocomplete","new-password","autofocus","",1,"form-control"],[1,"input-group-append"],["cdPasswordButton","oldpassword",1,"btn","btn-light"],["class","invalid-feedback",4,"ngIf"],["for","newpassword",1,"cd-col-form-label"],[1,"required"],d,["class","text-pre-wrap",3,"html",4,"ngIf"],["type","password","placeholder","Password...","id","newpassword","autocomplete","new-password","formControlName","newpassword",1,"form-control"],["type","button","cdPasswordButton","newpassword",1,"btn","btn-light"],[1,"password-strength-level"],["data-toggle","tooltip",3,"title"],["for","confirmnewpassword",1,"cd-col-form-label","required"],w,["type","password","autocomplete","new-password","placeholder","Confirm new password...","id","confirmnewpassword","formControlName","confirmnewpassword",1,"form-control"],["cdPasswordButton","confirmnewpassword",1,"btn","btn-light"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],re,Ze,[1,"text-pre-wrap",3,"html"],Lt,Gt,On,fr]},template:function(n,d){if(1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"form",1,2),e.TgZ(3,"div",3),e.TgZ(4,"div",4),e.SDv(5,5),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",6),e.TgZ(9,"div",7),e.TgZ(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.TgZ(13,"div",11),e._UZ(14,"input",12),e.TgZ(15,"span",13),e._UZ(16,"button",14),e.qZA(),e.qZA(),e.YNc(17,uE,2,0,"span",15),e.YNc(18,J_,2,0,"span",15),e.qZA(),e.qZA(),e.TgZ(19,"div",7),e.TgZ(20,"label",16),e.TgZ(21,"span",17),e.SDv(22,18),e.qZA(),e.YNc(23,dE,1,1,"cd-helper",19),e.qZA(),e.TgZ(24,"div",10),e.TgZ(25,"div",11),e._UZ(26,"input",20),e.TgZ(27,"span",13),e._UZ(28,"button",21),e.qZA(),e.qZA(),e.TgZ(29,"div",22),e._UZ(30,"div",23),e.qZA(),e.YNc(31,fE,2,0,"span",15),e.YNc(32,pE,2,0,"span",15),e.YNc(33,sm,2,1,"span",15),e.qZA(),e.qZA(),e.TgZ(34,"div",7),e.TgZ(35,"label",24),e.SDv(36,25),e.qZA(),e.TgZ(37,"div",10),e.TgZ(38,"div",11),e._UZ(39,"input",26),e.TgZ(40,"span",13),e._UZ(41,"button",27),e.qZA(),e.qZA(),e.YNc(42,k0,2,0,"span",15),e.YNc(43,$0,2,0,"span",15),e.qZA(),e.qZA(),e.qZA(),e.TgZ(44,"div",28),e.TgZ(45,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.ALo(46,"titlecase"),e.ALo(47,"upperFirst"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(2);e.xp6(1),e.Q6J("formGroup",d.userForm),e.xp6(6),e.pQV(e.lcZ(6,17,d.action))(e.lcZ(7,19,d.resource)),e.QtT(5),e.xp6(10),e.Q6J("ngIf",d.userForm.showError("oldpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("oldpassword",w,"notmatch")),e.xp6(5),e.Q6J("ngIf",d.passwordPolicyHelpText.length>0),e.xp6(7),e.Tol(d.passwordStrengthLevelClass),e.s9C("title",d.passwordValuation),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"notmatch")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"passwordPolicy")),e.xp6(9),e.Q6J("ngIf",d.userForm.showError("confirmnewpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("confirmnewpassword",w,"match")),e.xp6(2),e.Q6J("form",d.userForm)("submitText",e.lcZ(46,21,d.action)+" "+e.lcZ(47,23,d.resource))}},directives:[Hn._Y,Hn.JL,Hn.sg,Gn.V,kn.P,As.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,El.U,yd.C,s.O5,jr.p,yl.S],pipes:[s.rS,E.m],styles:[""]}),f})();function hE(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,18),e.qZA())}function Q_(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,19),e.qZA())}function X_(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,20),e.qZA())}function _E(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,21),e.qZA())}function gE(f,y){if(1&f&&(e.TgZ(0,"span",17),e._uU(1),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.hij(" ",n.passwordValuation," ")}}function mE(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,22),e.qZA())}function H0(f,y){1&f&&(e.TgZ(0,"span",17),e.SDv(1,23),e.qZA())}let U0=(()=>{class f extends H1{constructor(n,d,w,re,Ze,Lt,Gt,On){super(n,d,w,re,Ze,Lt,Gt),this.actionLabels=n,this.notificationService=d,this.userService=w,this.authStorageService=re,this.formBuilder=Ze,this.router=Lt,this.passwordPolicyService=Gt,this.authService=On}onPasswordChange(){this.authService.logout()}onCancel(){this.authService.logout()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(uo.p4),e.Y36(Zi.g),e.Y36($1.K),e.Y36(hi.j),e.Y36($c.O),e.Y36(tn.F0),e.Y36(F0.q),e.Y36(om.e))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-login-password-form"]],features:[e.qOj],decls:34,vars:19,consts:function(){let y,n,d,w,re,Ze,Lt,Gt;return y="Please set a new password.",n="You will be redirected to the login page afterwards.",d="This field is required.",w="The old and new passwords must be different.",re="This field is required.",Ze="The old and new passwords must be different.",Lt="This field is required.",Gt="Password confirmation doesn't match the new password.",[y,n,["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"form-group","has-feedback"],[1,"input-group"],["type","password","placeholder","Old password...","id","oldpassword","formControlName","oldpassword","autocomplete","new-password","autofocus","",1,"form-control"],[1,"input-group-append"],["cdPasswordButton","oldpassword",1,"btn","btn-outline-light","btn-password"],["class","invalid-feedback",4,"ngIf"],["type","password","placeholder","New password...","id","newpassword","autocomplete","new-password","formControlName","newpassword",1,"form-control"],["type","button","cdPasswordButton","newpassword",1,"btn","btn-outline-light","btn-password"],[1,"password-strength-level"],["data-toggle","tooltip",3,"title"],["type","password","autocomplete","new-password","placeholder","Confirm new password...","id","confirmnewpassword","formControlName","confirmnewpassword",1,"form-control"],["cdPasswordButton","confirmnewpassword",1,"btn","btn-outline-light","btn-password"],["wrappingClass","text-right",3,"form","disabled","submitText","submitActionEvent","backActionEvent"],[1,"invalid-feedback"],d,w,re,Ze,Lt,Gt]},template:function(n,d){if(1&n&&(e.TgZ(0,"div"),e.TgZ(1,"h2"),e.SDv(2,0),e.qZA(),e.TgZ(3,"h4"),e.SDv(4,1),e.qZA(),e.TgZ(5,"form",2,3),e.TgZ(7,"div",4),e.TgZ(8,"div",5),e._UZ(9,"input",6),e.TgZ(10,"span",7),e._UZ(11,"button",8),e.qZA(),e.qZA(),e.YNc(12,hE,2,0,"span",9),e.YNc(13,Q_,2,0,"span",9),e.qZA(),e.TgZ(14,"div",4),e.TgZ(15,"div",5),e._UZ(16,"input",10),e.TgZ(17,"span",7),e._UZ(18,"button",11),e.qZA(),e.qZA(),e.TgZ(19,"div",12),e._UZ(20,"div",13),e.qZA(),e.YNc(21,X_,2,0,"span",9),e.YNc(22,_E,2,0,"span",9),e.YNc(23,gE,2,1,"span",9),e.qZA(),e.TgZ(24,"div",4),e.TgZ(25,"div",5),e._UZ(26,"input",14),e.TgZ(27,"span",7),e._UZ(28,"button",15),e.qZA(),e.qZA(),e.YNc(29,mE,2,0,"span",9),e.YNc(30,H0,2,0,"span",9),e.qZA(),e.TgZ(31,"cd-form-button-panel",16),e.NdJ("submitActionEvent",function(){return d.onSubmit()})("backActionEvent",function(){return d.onCancel()}),e.ALo(32,"titlecase"),e.ALo(33,"upperFirst"),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(6);e.xp6(5),e.Q6J("formGroup",d.userForm),e.xp6(7),e.Q6J("ngIf",d.userForm.showError("oldpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("oldpassword",w,"notmatch")),e.xp6(7),e.Tol(d.passwordStrengthLevelClass),e.s9C("title",d.passwordValuation),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"notmatch")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("newpassword",w,"passwordPolicy")),e.xp6(6),e.Q6J("ngIf",d.userForm.showError("confirmnewpassword",w,"required")),e.xp6(1),e.Q6J("ngIf",d.userForm.showError("confirmnewpassword",w,"match")),e.xp6(1),e.Q6J("form",d.userForm)("disabled",d.userForm.invalid)("submitText",e.lcZ(32,15,d.action)+" "+e.lcZ(33,17,d.resource))}},directives:[Hn._Y,Hn.JL,Hn.sg,Gn.V,kn.P,As.o,Hn.Fj,zn.b,Hn.JJ,Hn.u,El.U,yd.C,s.O5,jr.p],pipes:[s.rS,E.m],styles:["cd-login-password-form h4{margin:0 0 30px} cd-login-password-form .form-group{background-color:#2e373d;border-left:4px solid #fff} cd-login-password-form .form-group:focus-within{border-left:4px solid #ef5c55} cd-login-password-form .btn-password, cd-login-password-form .btn-password:focus, cd-login-password-form .form-control, cd-login-password-form .form-control:focus{background-color:#2e373d;border:0;box-shadow:none;color:#f8f9fa;filter:none;outline:none} cd-login-password-form .form-control::placeholder{color:#6c757d} cd-login-password-form .btn-password:focus{outline-color:#2b99a8} cd-login-password-form button.btn:not(:first-child){margin-left:5px}@keyframes autofill{to{background-color:#2e373d;color:#f8f9fa}}input[_ngcontent-%COMP%]:-webkit-autofill{animation-fill-mode:both;animation-name:autofill;border-radius:0;box-shadow:0 0 0 1000px #2e373d inset;-webkit-text-fill-color:#f8f9fa;-webkit-transition-property:none;transition-property:none}.invalid-feedback[_ngcontent-%COMP%]{padding-left:9px}.is-invalid.cd-form-control[_ngcontent-%COMP%]{border-color:transparent}"]}),f})();class j0{}function vE(f,y){1&f&&(e.TgZ(0,"div",20),e.SDv(1,21),e.qZA())}function B0(f,y){1&f&&(e.TgZ(0,"div",20),e.SDv(1,22),e.qZA())}function yE(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",1),e.TgZ(1,"form",2,3),e.NdJ("ngSubmit",function(){return e.CHM(n),e.oxw().login()}),e.TgZ(3,"div",4),e.TgZ(4,"label",5),e.SDv(5,6),e.qZA(),e.TgZ(6,"input",7,8),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().model.username=w}),e.qZA(),e.YNc(8,vE,2,0,"div",9),e.qZA(),e.TgZ(9,"div",10),e.TgZ(10,"div",11),e.TgZ(11,"div",12),e.TgZ(12,"label",13),e.SDv(13,14),e.qZA(),e.TgZ(14,"input",15,16),e.NdJ("ngModelChange",function(w){return e.CHM(n),e.oxw().model.password=w}),e.qZA(),e.YNc(16,B0,2,0,"div",9),e.qZA(),e.TgZ(17,"span",17),e._UZ(18,"button",18),e.qZA(),e.qZA(),e.qZA(),e._UZ(19,"input",19),e.qZA(),e.qZA()}if(2&f){const n=e.MAs(2),d=e.MAs(7),w=e.MAs(15),re=e.oxw();e.xp6(6),e.Q6J("ngModel",re.model.username),e.uIk("aria-invalid",d.invalid),e.xp6(2),e.Q6J("ngIf",(n.submitted||d.dirty)&&d.invalid),e.xp6(6),e.Q6J("ngModel",re.model.password),e.uIk("aria-invalid",w.invalid),e.xp6(2),e.Q6J("ngIf",(n.submitted||w.dirty)&&w.invalid),e.xp6(3),e.Q6J("disabled",n.invalid)}}let bE=(()=>{class f{constructor(n,d,w,re,Ze){this.authService=n,this.authStorageService=d,this.modalService=w,this.route=re,this.router=Ze,this.model=new j0,this.isLoginActive=!1,this.postInstalled=!1}ngOnInit(){if(this.authStorageService.isLoggedIn())this.router.navigate([""]);else{this.modalService.dismissAll();let n=null;if(-1!==window.location.hash.indexOf("access_token=")){n=window.location.hash.split("access_token=")[1];const d=window.location.toString();window.history.replaceState({},document.title,d.split("?")[0])}this.authService.check(n).subscribe(d=>{d.login_url?(this.postInstalled="POST_INSTALLED"===d.cluster_status,"#/login"===d.login_url?this.isLoginActive=!0:window.location.replace(d.login_url)):(this.authStorageService.set(d.username,d.permissions,d.sso,d.pwdExpirationDate),this.router.navigate([""]))})}}login(){this.authService.login(this.model).subscribe(()=>{const n=this.postInstalled?"/":"/expand-cluster";let d=gn().get(this.route.snapshot.queryParams,"returnUrl",n);!this.postInstalled&&"/dashboard"===this.route.snapshot.queryParams.returnUrl&&(d="/expand-cluster"),this.router.navigate([d])})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(om.e),e.Y36(hi.j),e.Y36(na.Z),e.Y36(tn.gz),e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-login"]],decls:1,vars:1,consts:function(){let y,n,d,w,re;return y="Username",n="Password",d="Log in",w="Username is required",re="Password is required",[["class","container",4,"ngIf"],[1,"container"],["name","loginForm","novalidate","",3,"ngSubmit"],["loginForm","ngForm"],[1,"form-group","has-feedback","d-flex","flex-column","py-3"],["for","username",1,"placeholder","pl-4"],y,["id","username","name","username","type","text","aria-labelledby","username","required","","autofocus","",1,"form-control","pl-4",3,"ngModel","ngModelChange"],["username","ngModel"],["class","invalid-feedback pl-4",4,"ngIf"],["id","password-div",1,"form-group","has-feedback"],[1,"input-group","d-flex","flex-nowrap"],[1,"d-flex","flex-column","flex-grow-1","py-3"],["for","password",1,"placeholder","pl-4"],n,["id","password","name","password","type","password","aria-labelledby","password","required","",1,"form-control","pl-4",3,"ngModel","ngModelChange"],["password","ngModel"],[1,"form-group-append"],["type","button","cdPasswordButton","password",1,"btn","btn-outline-light","btn-password","h-100","px-4"],["type","submit","value",d,1,"btn","btn-accent","px-5","py-2",3,"disabled"],[1,"invalid-feedback","pl-4"],w,re]},template:function(n,d){1&n&&e.YNc(0,yE,20,7,"div",0),2&n&&e.Q6J("ngIf",d.isLoginActive)},directives:[s.O5,Hn._Y,Hn.JL,Hn.F,kn.P,As.o,Hn.Fj,zn.b,Hn.Q7,El.U,Hn.JJ,Hn.On,yd.C],styles:["cd-login .form-group{background-color:#2e373d;border-left:4px solid #fff;height:auto;margin-bottom:2rem} cd-login .form-group:focus-within{border-left:4px solid #ef5c55} cd-login .btn-password, cd-login .btn-password:focus, cd-login .form-control, cd-login .form-control:focus{background-color:#2e373d;border:0;box-shadow:none;color:#f8f9fa;filter:none;outline:none} cd-login .placeholder{color:#6c757d} cd-login .btn-password:focus{outline-color:#2b99a8}@keyframes autofill{to{background-color:#2e373d;color:#f8f9fa}}input[_ngcontent-%COMP%]:-webkit-autofill{animation-fill-mode:both;animation-name:autofill;border-radius:0;box-shadow:0 0 0 1000px #2e373d inset;-webkit-text-fill-color:#f8f9fa;-webkit-transition-property:none;transition-property:none}"]}),f})();var EE=o(72625);function xC(f,y){if(1&f&&(e.TgZ(0,"div"),e._UZ(1,"i",8),e._UZ(2,"br"),e._UZ(3,"br"),e._UZ(4,"br"),e.TgZ(5,"h3"),e.TgZ(6,"b"),e._uU(7),e.qZA(),e.qZA(),e._UZ(8,"br"),e.TgZ(9,"h4"),e._uU(10),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Tol(n.icon),e.xp6(6),e.Oqu(n.header),e.xp6(3),e.Oqu(n.message)}}function RC(f,y){1&f&&(e._UZ(0,"i",9),e._UZ(1,"br"),e._UZ(2,"br"),e._UZ(3,"br"),e.TgZ(4,"h3"),e.tHW(5,10),e._UZ(6,"b"),e.N_p(),e.qZA(),e._UZ(7,"br"),e.TgZ(8,"h4"),e.SDv(9,11),e.qZA())}function NC(f,y){if(1&f&&(e.TgZ(0,"div"),e.TgZ(1,"h4"),e.tHW(2,12),e._UZ(3,"a",13),e.N_p(),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(3),e.s9C("href",n.docUrl,e.LSH),e.pQV(n.section_info),e.QtT(2)}}let Y0=(()=>{class f{constructor(n,d){this.router=n,this.docService=d}ngOnInit(){this.fetchData(),this.routerSubscription=this.router.events.pipe((0,qu.h)(n=>n instanceof tn.m2)).subscribe(()=>{this.fetchData()})}unloadHandler(n){n.returnValue=!1}fetchData(){try{this.router.onSameUrlNavigation="reload",this.message=history.state.message,this.header=history.state.header,this.section=history.state.section,this.section_info=history.state.section_info,this.icon=history.state.icon,this.source=history.state.source,this.docUrl=this.docService.urlGenerator(this.section)}catch(n){this.router.navigate(["/error"])}}ngOnDestroy(){this.routerSubscription&&this.routerSubscription.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(EE.R))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-error"]],hostBindings:function(n,d){1&n&&e.NdJ("beforeunload",function(re){return d.unloadHandler(re)},!1,e.Jf7)},decls:16,vars:4,consts:function(){let y,n,d,w;return y="Go To Dashboard",n="" + "\ufffd#6\ufffd" + "Page not Found" + "\ufffd/#6\ufffd" + "",d="Sorry, we couldn\u2019t find what you were looking for. The page you requested may have been changed or moved.",w="Please consult the " + "\ufffd#3\ufffd" + "documentation" + "\ufffd/#3\ufffd" + " on how to configure and enable the " + "\ufffd0\ufffd" + " management functionality.",[["target","_blank"],[1,"dashboard","row"],[1,"text-center","content"],[4,"ngIf","ngIfElse"],["elseBlock",""],[4,"ngIf"],[1,"btn","btn-primary",3,"routerLink"],y,["aria-hidden","true"],["aria-hidden","true",1,"fa","fa-exclamation-triangle"],n,d,w,[3,"href"]]},template:function(n,d){if(1&n&&(e.TgZ(0,"head"),e.TgZ(1,"title"),e._uU(2,"Error Page"),e.qZA(),e._UZ(3,"base",0),e.qZA(),e.TgZ(4,"div",1),e.TgZ(5,"div",2),e._UZ(6,"br"),e.YNc(7,xC,11,5,"div",3),e.YNc(8,RC,10,0,"ng-template",null,4,e.W1O),e.YNc(10,NC,4,2,"div",5),e._UZ(11,"br"),e._UZ(12,"br"),e.TgZ(13,"div"),e.TgZ(14,"button",6),e.SDv(15,7),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(9);e.xp6(7),e.Q6J("ngIf",d.header&&d.message)("ngIfElse",w),e.xp6(3),e.Q6J("ngIf",d.section),e.xp6(4),e.Q6J("routerLink","/dashboard")}},directives:[s.O5,As.o,tn.rH],styles:["h4[_ngcontent-%COMP%]{color:#495057}i[_ngcontent-%COMP%]{font-size:6em;margin-top:120px}.text-center[_ngcontent-%COMP%]{background-color:#e9ecef}.dashboard[_ngcontent-%COMP%]{background-color:#e9ecef;height:100%;position:relative}.content[_ngcontent-%COMP%]{left:50%;position:absolute;top:40%;transform:translate(-50%,-50%);width:100%}.row[_ngcontent-%COMP%]{display:block;margin-left:-29px;margin-right:-29px;padding-top:10em}.fa-exclamation-triangle[_ngcontent-%COMP%]{color:#ef5c55}.fa-lock[_ngcontent-%COMP%]{color:#ef5c55}.fa-wrench[_ngcontent-%COMP%]{color:#2b99a8}"]}),f})(),am=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-blank-layout"]],decls:1,vars:0,template:function(n,d){1&n&&e._UZ(0,"router-outlet")},directives:[tn.lC],styles:[""]}),f})();var Z0=o(92340);let TE=(()=>{class f{constructor(n,d){this.http=n,this.localeId=d}getLocale(){return this.localeId||Z0.N.default_lang}setLocale(n){document.cookie=`cd-lang=${n}`}getLanguages(){return this.http.get("ui-api/langs")}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(e.soG))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var Jh=(()=>{return(f=Jh||(Jh={})).cs="\u010ce\u0161tina",f.de="Deutsch",f["en-US"]="English",f.es="Espa\xf1ol",f.fr="Fran\xe7ais",f.id="Bahasa Indonesia",f.it="Italiano",f.ja="\u65e5\u672c\u8a9e",f.ko="\ud55c\uad6d\uc5b4",f.pl="Polski",f.pt="Portugu\xeas (brasileiro)",f["zh-Hans"]="\u4e2d\u6587 (\u7b80\u4f53)",f["zh-Hant"]="\u4e2d\u6587 (\u7e41\u9ad4\uff09",Jh;var f})();function K_(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"button",4),e.NdJ("click",function(){const re=e.CHM(n).$implicit;return e.oxw().changeLanguage(re.key)}),e._uU(2),e.qZA(),e.BQk()}if(2&f){const n=y.$implicit;e.xp6(2),e.hij(" ",n.value," ")}}let V0=(()=>{class f{constructor(n){this.languageService=n,this.allLanguages=Jh,this.supportedLanguages={}}ngOnInit(){this.selectedLanguage=this.languageService.getLocale(),this.languageService.getLanguages().subscribe(n=>{this.supportedLanguages=gn().pick(Jh,n)})}reloadWindow(){window.location.reload()}changeLanguage(n){this.languageService.setLocale(n),this.reloadWindow()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(TE))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-language-selector"]],decls:6,vars:4,consts:function(){let y;return y="Select a Language",[["ngbDropdown","","display","dynamic","placement","bottom-right"],["ngbDropdownToggle","","title",y],["ngbDropdownMenu",""],[4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"click"]]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"a",1),e._uU(2),e.qZA(),e.TgZ(3,"div",2),e.YNc(4,K_,3,1,"ng-container",3),e.ALo(5,"keyvalue"),e.qZA(),e.qZA()),2&n&&(e.xp6(2),e.hij(" ",d.allLanguages[d.selectedLanguage]," "),e.xp6(2),e.Q6J("ngForOf",e.lcZ(5,2,d.supportedLanguages)))},directives:[Br.jt,Br.iD,Br.Vi,s.sg,As.o,Br.TH],pipes:[s.Nd],styles:[""]}),f})(),CE=(()=>{class f{constructor(n){this.http=n,this.baseUiURL="ui-api/login/custom_banner"}getBannerText(){return this.http.get(this.baseUiURL)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function SE(f,y){if(1&f&&(e.TgZ(0,"p",1),e._uU(1),e.qZA()),2&f){const n=y.ngIf;e.xp6(1),e.Oqu(n)}}let ME=(()=>{class f{constructor(n){this.customLoginBannerService=n}ngOnInit(){this.bannerText$=this.customLoginBannerService.getBannerText()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(CE))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-custom-login-banner"]],decls:2,vars:3,consts:[["class","login-text",4,"ngIf"],[1,"login-text"]],template:function(n,d){1&n&&(e.YNc(0,SE,2,1,"p",0),e.ALo(1,"async")),2&n&&e.Q6J("ngIf",e.lcZ(1,1,d.bannerText$))},directives:[s.O5],pipes:[s.Ov],styles:[".login-text[_ngcontent-%COMP%]{font-weight:bold;margin:0;padding:12px 20% 12px 12px}"]}),f})();function OE(f,y){if(1&f&&(e.TgZ(0,"li",11),e.TgZ(1,"cd-doc",12),e.DtL(2,13),e.qZA(),e.qZA()),2&f){const n=y.$implicit;e.xp6(1),e.pQV(n.text),e.QtT(2),e.s9C("section",n.section)}}let G0=(()=>{class f{constructor(){this.docItems=[{section:"help",text:"Help"},{section:"security",text:"Security"},{section:"trademarks",text:"Trademarks"}]}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-login-layout"]],decls:16,vars:1,consts:function(){let y;return y="" + "\ufffd0\ufffd" + "",[[1,"login","full-height"],[1,"navbar","p-4"],[1,"navbar-brand"],[1,"form-inline"],[1,"container"],[1,"row","full-height"],[1,"col-sm-12","col-md-6","d-sm-block","login-form"],[1,"col-sm-12","col-md-6","d-sm-block","branding-info"],["src","assets/Ceph_Ceph_Logo_with_text_white.svg","alt","Ceph",1,"img-fluid","pb-3"],[1,"list-inline"],["class","list-inline-item p-3",4,"ngFor","ngForOf"],[1,"list-inline-item","p-3"],["noSubscribe","true",3,"section",6,"docText"],["docText",y]]},template:function(n,d){1&n&&(e.TgZ(0,"main",0),e.TgZ(1,"header"),e.TgZ(2,"nav",1),e._UZ(3,"a",2),e.TgZ(4,"div",3),e._UZ(5,"cd-language-selector"),e.qZA(),e.qZA(),e.qZA(),e.TgZ(6,"section"),e.TgZ(7,"div",4),e.TgZ(8,"div",5),e.TgZ(9,"div",6),e._UZ(10,"router-outlet"),e.qZA(),e.TgZ(11,"div",7),e._UZ(12,"img",8),e.TgZ(13,"ul",9),e.YNc(14,OE,3,2,"li",10),e.qZA(),e._UZ(15,"cd-custom-login-banner"),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(14),e.Q6J("ngForOf",d.docItems))},directives:[Br.M2,V0,tn.lC,s.sg,ME,_s.K],styles:["cd-login-layout .login{background-color:#374249;background-image:url(ceph_background.e82dd79127290ddbe8cb.gif);background-position:right bottom;background-repeat:no-repeat;color:#f8f9fa} cd-login-layout .login header{position:absolute;width:100vw} cd-login-layout .login header .navbar .dropdown-menu{margin-top:.2rem} cd-login-layout .login header .navbar .dropdown-menu li a:hover{background-color:#2b99a8} cd-login-layout .login section{display:inline-flex;min-height:100vh;width:100vw} cd-login-layout .login .list-inline{margin-bottom:0;margin-left:20%} cd-login-layout .login a{color:#fff} cd-login-layout .login a:hover{color:#adb5bd}@media screen and (min-width: 576px){ cd-login-layout .login .login-form, cd-login-layout .login .branding-info{padding-top:30vh}}@media screen and (max-width: calc(768px - 1px)){ cd-login-layout .login .login-form{padding-top:10vh} cd-login-layout .login .branding-info{padding-top:0}}"]}),f})();var Qh=o(74255);let z0=(()=>{class f{constructor(n,d,w){this.document=n,this.summaryService=d,this.cssHelper=w}init(){var n;this.url=null===(n=this.document.getElementById("cdFavicon"))||void 0===n?void 0:n.getAttribute("href"),this.sub=this.summaryService.subscribe(d=>{this.changeIcon(d.health_status)})}changeIcon(n){if(n===this.oldStatus)return;this.oldStatus=n;const d=this.document.getElementById("cdFavicon"),Ze=this.document.createElement("canvas");Ze.width=16,Ze.height=16;const Lt=Ze.getContext("2d"),Gt=this.document.createElement("img");Gt.src=this.url,Gt.onload=()=>{Lt.drawImage(Gt,0,0,16,16),Object.keys(Up).includes(n)&&(Lt.save(),Lt.globalCompositeOperation="destination-out",Lt.beginPath(),Lt.arc(Ze.width-4,4,6,0,2*Math.PI),Lt.fill(),Lt.restore(),Lt.beginPath(),Lt.arc(Ze.width-4,4,4,0,2*Math.PI),Lt.fillStyle=this.cssHelper.propertyValue(Up[n]),Lt.fill()),d.setAttribute("href",Ze.toDataURL("image/png"))}}ngOnDestroy(){var n;this.changeIcon(),null===(n=this.sub)||void 0===n||n.unsubscribe()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(s.K0),e.LFG(Qh.J),e.LFG(gp.P))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();var Xh=o(71099),W0=o(59193),q0=o(68307);class U1{constructor(y,n){this.count=y,this.source=n}call(y,n){return n.subscribe(new wE(y,this.count,this.source))}}class wE extends Ou.L{constructor(y,n,d){super(y),this.count=n,this.source=d}complete(){if(!this.isStopped){const{source:y,count:n}=this;if(0===n)return super.complete();n>-1&&(this.count=n-1),y.subscribe(this._unsubscribeAndRecycle())}}}let J0=(()=>{class f{constructor(n){this.http=n,this.url="ui-api/motd"}get(){return this.http.get(this.url)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),Q0=(()=>{class f{constructor(n){this.motdService=n,this.motdSource=new Oc.X(null),this.localStorageKey="dashboard_motd_hidden",this.motd$=this.motdSource.asObservable(),this.subscription=(0,ws.of)(!0).pipe((0,ol.zg)(()=>this.motdService.get()),(0,sd.K)(d=>(ur.isFunction(d.preventDefault)&&d.preventDefault(),W0.E)),(0,q0.b)(d=>this.processResponse(d)),(0,$f.g)(6e4),function(f=-1){return y=>0===f?(0,W0.c)():y.lift(new U1(f<0?-1:f-1,y))}()).subscribe()}ngOnDestroy(){this.subscription.unsubscribe()}hide(){const n=this.motdSource.getValue();if(n){const d=`${n.severity}:${n.md5}`;switch(n.severity){case"info":localStorage.setItem(this.localStorageKey,d),sessionStorage.removeItem(this.localStorageKey);break;case"warning":sessionStorage.setItem(this.localStorageKey,d),localStorage.removeItem(this.localStorageKey)}}this.motdSource.next(null)}processResponse(n){const d=sessionStorage.getItem(this.localStorageKey)||localStorage.getItem(this.localStorageKey);let w=ur.isNull(d);if(!w&&n){const[re,Ze]=d.split(":");(re!==n.severity||Ze!==n.md5)&&(w=!0,sessionStorage.removeItem(this.localStorageKey),localStorage.removeItem(this.localStorageKey))}w&&this.motdSource.next(n)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(J0))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var j1=o(51907);function DE(f,y){1&f&&(e.TgZ(0,"div"),e.tHW(1,3),e._UZ(2,"strong"),e._UZ(3,"a",4),e.N_p(),e.qZA())}function X0(f,y){if(1&f&&(e.TgZ(0,"div"),e.tHW(1,5),e._UZ(2,"strong"),e._UZ(3,"a",4),e.N_p(),e.qZA()),2&f){const n=e.oxw(2);e.xp6(3),e.pQV(n.expirationDays),e.QtT(1)}}function K0(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-alert-panel",1),e.NdJ("dismissed",function(){return e.CHM(n),e.oxw().onDismissed()}),e.YNc(1,DE,4,0,"div",2),e.YNc(2,X0,4,1,"div",2),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("type",n.alertType)("showTitle",!1)("dismissible","danger"!==n.alertType),e.xp6(1),e.Q6J("ngIf",0===n.expirationDays),e.xp6(1),e.Q6J("ngIf",n.expirationDays>0)}}let xE=(()=>{class f{constructor(n,d){this.settingsService=n,this.authStorageService=d,this.displayNotification=!1}ngOnInit(){this.settingsService.getStandardSettings().subscribe(n=>{this.pwdExpirationSettings=new j1.G(n);const d=this.authStorageService.getPwdExpirationDate();d&&(this.expirationDays=this.getExpirationDays(d),this.alertType=this.expirationDays<=this.pwdExpirationSettings.pwdExpirationWarning2?"danger":"warning",this.displayNotification=this.expirationDays<=this.pwdExpirationSettings.pwdExpirationWarning1,this.authStorageService.isPwdDisplayedSource.next(this.displayNotification))})}ngOnDestroy(){this.authStorageService.isPwdDisplayedSource.next(!1)}getExpirationDays(n){const d=new Date,w=new Date(1e3*n);return Math.floor((w.valueOf()-d.valueOf())/864e5)}onDismissed(){this.authStorageService.isPwdDisplayedSource.next(!1),this.displayNotification=!1}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(nd.g),e.Y36(hi.j))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-pwd-expiration-notification"]],decls:1,vars:1,consts:function(){let y,n;return y="Your password will expire in " + "\ufffd#2\ufffd" + "less than 1" + "\ufffd/#2\ufffd" + " day. Click " + "\ufffd#3\ufffd" + "here" + "\ufffd/#3\ufffd" + " to change it now.",n="Your password will expire in " + "\ufffd#2\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#2\ufffd" + " day(s). Click " + "\ufffd#3\ufffd" + "here" + "\ufffd/#3\ufffd" + " to change it now.",[["class","no-margin-bottom","size","slim",3,"type","showTitle","dismissible","dismissed",4,"ngIf"],["size","slim",1,"no-margin-bottom",3,"type","showTitle","dismissible","dismissed"],[4,"ngIf"],y,["routerLink","/user-profile/edit",1,"alert-link"],n]},template:function(n,d){1&n&&e.YNc(0,K0,3,5,"cd-alert-panel",0),2&n&&e.Q6J("ngIf",d.displayNotification)},directives:[s.O5,De.G,tn.yS],styles:[".no-margin-bottom[_ngcontent-%COMP%]{margin-bottom:0}"]}),f})();function RE(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-alert-panel",1),e.NdJ("dismissed",function(){return e.CHM(n),e.oxw().onDismissed()}),e.TgZ(1,"div"),e.tHW(2,2),e._UZ(3,"a",3),e._UZ(4,"a",4),e.N_p(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("showTitle",!1)("type",n.notificationSeverity)("dismissible","danger"!==n.notificationSeverity)}}let NE=(()=>{class f{constructor(n,d,w,re){this.mgrModuleService=n,this.authStorageService=d,this.notificationService=w,this.telemetryNotificationService=re,this.displayNotification=!1,this.notificationSeverity="warning"}ngOnInit(){if(this.telemetryNotificationService.update.subscribe(n=>{this.displayNotification=n}),!this.isNotificationHidden()){const n=this.authStorageService.getPermissions().configOpt;gn().every(Object.values(n))&&this.mgrModuleService.getConfig("telemetry").subscribe(d=>{d.enabled||this.telemetryNotificationService.setVisibility(!0)})}}ngOnDestroy(){this.telemetryNotificationService.setVisibility(!1)}isNotificationHidden(){return"true"===localStorage.getItem("telemetry_notification_hidden")}onDismissed(){this.telemetryNotificationService.setVisibility(!1),localStorage.setItem("telemetry_notification_hidden","true"),this.notificationService.show(Ho.k.success,"Telemetry activation reminder muted","You can activate the module on the Telemetry configuration page (<b>Dashboard Settings</b> -> <b>Telemetry configuration</b>) at any time.")}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Mt),e.Y36(hi.j),e.Y36(Zi.g),e.Y36(zh))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-telemetry-notification"]],decls:1,vars:1,consts:function(){let y;return y="The Ceph community needs your help to continue improving: please " + "\ufffd#3\ufffd" + "Activate" + "[\ufffd/#3\ufffd|\ufffd/#4\ufffd]" + " the " + "\ufffd#4\ufffd" + "Telemetry" + "[\ufffd/#3\ufffd|\ufffd/#4\ufffd]" + " module.",y=e.Zx4(y),[["class","no-margin-bottom","size","slim",3,"showTitle","type","dismissible","dismissed",4,"ngIf"],["size","slim",1,"no-margin-bottom",3,"showTitle","type","dismissible","dismissed"],y,["routerLink","/telemetry",1,"btn","activate-button","alert-link","activate-text"],["href","https://docs.ceph.com/en/latest/mgr/telemetry/"]]},template:function(n,d){1&n&&e.YNc(0,RE,5,3,"cd-alert-panel",0),2&n&&e.Q6J("ngIf",d.displayNotification)},directives:[s.O5,De.G,tn.yS],styles:[".no-margin-bottom[_ngcontent-%COMP%]{margin-bottom:0}.activate-button[_ngcontent-%COMP%]{background-color:#fcecba;border:#495057 solid .5px;border-radius:10%;padding:.1rem .4rem}.activate-text[_ngcontent-%COMP%]{color:#495057;font-weight:bold}"]}),f})();var B1=o(60793);function PE(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-alert-panel",1),e.NdJ("dismissed",function(){return e.CHM(n),e.oxw().onDismissed()}),e._UZ(1,"span",2),e.ALo(2,"sanitizeHtml"),e.qZA()}if(2&f){const n=e.oxw();e.Q6J("showTitle",!1)("type",n.motd.severity)("dismissible","danger"!==n.motd.severity),e.xp6(1),e.Q6J("innerHTML",e.lcZ(2,4,n.motd.message),e.oJD)}}let ey=(()=>{class f{constructor(n){this.motdNotificationService=n,this.motd=void 0}ngOnInit(){this.subscription=this.motdNotificationService.motd$.subscribe(n=>{this.motd=n})}ngOnDestroy(){this.subscription.unsubscribe()}onDismissed(){this.motdNotificationService.hide()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Q0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-motd"]],decls:1,vars:1,consts:[["size","slim",3,"showTitle","type","dismissible","dismissed",4,"ngIf"],["size","slim",3,"showTitle","type","dismissible","dismissed"],[3,"innerHTML"]],template:function(n,d){1&n&&e.YNc(0,PE,3,6,"cd-alert-panel",0),2&n&&e.Q6J("ngIf",d.motd)},directives:[s.O5,De.G],pipes:[B1.A],styles:[""]}),f})();class LE{constructor(y){if(this._maxConcurrency=y,this._queue=[],y<=0)throw new Error("semaphore must be initialized to a positive value");this._value=y}acquire(){const y=this.isLocked(),n=new Promise(d=>this._queue.push(d));return y||this._dispatch(),n}runExclusive(y){return function(f,y,n,d){return new(n||(n=Promise))(function(re,Ze){function Lt(fr){try{On(d.next(fr))}catch(hr){Ze(hr)}}function Gt(fr){try{On(d.throw(fr))}catch(hr){Ze(hr)}}function On(fr){fr.done?re(fr.value):function(re){return re instanceof n?re:new n(function(Ze){Ze(re)})}(fr.value).then(Lt,Gt)}On((d=d.apply(f,y||[])).next())})}(this,void 0,void 0,function*(){const[n,d]=yield this.acquire();try{return yield y(n)}finally{d()}})}isLocked(){return this._value<=0}release(){if(this._maxConcurrency>1)throw new Error("this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead");this._currentReleaser&&(this._currentReleaser(),this._currentReleaser=void 0)}_dispatch(){const y=this._queue.shift();if(!y)return;let n=!1;this._currentReleaser=()=>{n||(n=!0,this._value++,this._dispatch())},y([this._value--,this._currentReleaser])}}class kE{constructor(){this._semaphore=new LE(1)}acquire(){return f=this,y=void 0,d=function*(){const[,y]=yield this._semaphore.acquire();return y},new((n=void 0)||(n=Promise))(function(re,Ze){function Lt(fr){try{On(d.next(fr))}catch(hr){Ze(hr)}}function Gt(fr){try{On(d.throw(fr))}catch(hr){Ze(hr)}}function On(fr){fr.done?re(fr.value):function(re){return re instanceof n?re:new n(function(Ze){Ze(re)})}(fr.value).then(Lt,Gt)}On((d=d.apply(f,y||[])).next())});var f,y,n,d}runExclusive(y){return this._semaphore.runExclusive(()=>y())}isLocked(){return this._semaphore.isLocked()}release(){this._semaphore.release()}}let $E=(()=>{class f{constructor(n,d){this.alertFormatter=n,this.prometheusService=d,this.backendFailure=!1,this.notifications=[]}refresh(){this.backendFailure||this.prometheusService.getNotifications(gn().last(this.notifications)).subscribe(n=>this.handleNotifications(n),()=>this.backendFailure=!0)}handleNotifications(n){0!==n.length&&(this.notifications.length>0&&this.alertFormatter.sendNotifications(gn().flatten(n.map(d=>this.formatNotification(d)))),this.notifications=this.notifications.concat(n))}formatNotification(n){return this.alertFormatter.convertToCustomAlerts(n.alerts).map(d=>this.alertFormatter.convertAlertToNotification(d))}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(_p),e.LFG(Tf))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var HE=o(68879),Y1=o(11971),eg=o(34863);const lm=function(f,y){return[f,y]},ny=function(f,y,n,d){return[f,y,n,d]};function Z1(f,y){if(1&f&&(e.TgZ(0,"div"),e.TgZ(1,"div",12),e.TgZ(2,"div",13),e.TgZ(3,"div",14),e.TgZ(4,"span",15),e._UZ(5,"i",7),e._UZ(6,"i",7),e.qZA(),e.qZA(),e.TgZ(7,"div",16),e.TgZ(8,"div",17),e.TgZ(9,"h6",18),e._uU(10),e.qZA(),e.TgZ(11,"div",19),e._UZ(12,"ngb-progressbar",20),e.qZA(),e.TgZ(13,"p",21),e.TgZ(14,"small",22),e._uU(15),e.ALo(16,"cdDate"),e.qZA(),e.TgZ(17,"span",23),e._uU(18),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e._UZ(19,"hr"),e.qZA()),2&f){const n=y.$implicit,d=e.oxw(2);e.xp6(4),e.Q6J("ngClass",e.WLB(11,lm,d.icons.stack,d.icons.large2x)),e.xp6(1),e.Q6J("ngClass",e.WLB(14,lm,d.icons.stack2x,d.icons.circle)),e.xp6(1),e.Q6J("ngClass",e.l5B(17,ny,d.icons.stack1x,d.icons.spinner,d.icons.spin,d.icons.inverse)),e.xp6(4),e.Oqu(n.description),e.xp6(2),e.Q6J("value",null==n?null:n.progress)("striped",!0)("animated",!0),e.xp6(3),e.hij(" ",e.lcZ(16,9,n.begin_time)," "),e.xp6(3),e.hij(" ",n.progress||0," % ")}}function ry(f,y){if(1&f&&e.YNc(0,Z1,20,22,"div",11),2&f){const n=e.oxw();e.Q6J("ngForOf",n.executingTasks)("ngForTrackBy",n.trackByFn)}}function iy(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"small"),e.ynx(2),e.SDv(3,35),e.BQk(),e._uU(4),e.ALo(5,"duration"),e.qZA(),e._UZ(6,"br"),e.BQk()),2&f){const n=e.oxw().$implicit;e.xp6(4),e.hij(" ",e.lcZ(5,1,n.duration)," ")}}const oy=function(f,y,n){return[f,y,n]},tg=function(f){return[f]};function V1(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"div",7),e.TgZ(1,"div",29),e.TgZ(2,"div",13),e.TgZ(3,"div",14),e.TgZ(4,"span",7),e._UZ(5,"i",7),e._UZ(6,"i",7),e.qZA(),e.qZA(),e.TgZ(7,"div",30),e.TgZ(8,"div",17),e.TgZ(9,"button",31),e.NdJ("click",function(w){const Ze=e.CHM(n).index;return e.oxw(3).remove(Ze),w.stopPropagation()}),e._UZ(10,"i",7),e.qZA(),e.TgZ(11,"h6",18),e._uU(12),e.qZA(),e._UZ(13,"p",32),e.TgZ(14,"p",21),e.YNc(15,iy,7,3,"ng-container",24),e.TgZ(16,"small",33),e.ALo(17,"cdDate"),e._uU(18),e.ALo(19,"relativeDate"),e.qZA(),e._UZ(20,"i",34),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e._UZ(21,"hr"),e.qZA()}if(2&f){const n=y.$implicit,d=e.oxw(3);e.Q6J("ngClass",n.borderClass),e.xp6(4),e.Q6J("ngClass",e.kEZ(16,oy,d.icons.stack,d.icons.large2x,n.textClass)),e.xp6(1),e.Q6J("ngClass",e.WLB(20,lm,d.icons.circle,d.icons.stack2x)),e.xp6(1),e.Q6J("ngClass",e.kEZ(23,oy,d.icons.stack1x,d.icons.inverse,n.iconClass)),e.xp6(4),e.Q6J("ngClass",e.VKq(27,tg,d.icons.trash)),e.xp6(2),e.Oqu(n.title),e.xp6(1),e.Q6J("innerHtml",n.message,e.oJD),e.xp6(2),e.Q6J("ngIf",n.duration),e.xp6(1),e.Q6J("title",e.lcZ(17,12,n.timestamp)),e.xp6(2),e.Oqu(e.lcZ(19,14,n.timestamp)),e.xp6(2),e.Q6J("ngClass",e.VKq(29,tg,n.applicationClass))("title",n.application)}}function sy(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"button",25),e.NdJ("click",function(w){return e.CHM(n),e.oxw(2).removeAll(),w.stopPropagation()}),e._UZ(2,"i",26),e._uU(3," \xa0 "),e.ynx(4),e.SDv(5,27),e.BQk(),e.qZA(),e._UZ(6,"hr"),e.YNc(7,V1,22,31,"div",28),e.BQk()}if(2&f){const n=e.oxw(2);e.xp6(2),e.Q6J("ngClass",e.VKq(2,tg,n.icons.trash)),e.xp6(5),e.Q6J("ngForOf",n.notifications)}}function G1(f,y){if(1&f&&e.YNc(0,sy,8,4,"ng-container",24),2&f){const n=e.oxw();e.Q6J("ngIf",n.notifications.length>0)}}function UE(f,y){1&f&&(e.TgZ(0,"div"),e.TgZ(1,"div",36),e.SDv(2,37),e.qZA(),e.qZA())}function jE(f,y){if(1&f&&e.YNc(0,UE,3,0,"div",24),2&f){const n=e.oxw();e.Q6J("ngIf",0===n.notifications.length&&0===n.executingTasks.length)}}function z1(f,y){1&f&&e.GkF(0)}function BE(f,y){1&f&&e.GkF(0)}function ay(f,y){1&f&&e.GkF(0)}let ly=(()=>{class f{constructor(n,d,w,re,Ze,Lt,Gt,On){this.notificationService=n,this.summaryService=d,this.taskMessageService=w,this.prometheusNotificationService=re,this.authStorageService=Ze,this.prometheusAlertService=Lt,this.ngZone=Gt,this.cdRef=On,this.isSidebarOpened=!1,this.executingTasks=[],this.subs=new Vl.w,this.icons=eo.P,this.last_task="",this.mutex=new kE,this.simplebar={autoHide:!1},this.notifications=[]}ngOnDestroy(){window.clearInterval(this.interval),window.clearTimeout(this.timeout),this.subs.unsubscribe()}ngOnInit(){this.last_task=window.localStorage.getItem("last_task");const n=this.authStorageService.getPermissions();n.prometheus.read&&n.configOpt.read&&(this.triggerPrometheusAlerts(),this.ngZone.runOutsideAngular(()=>{this.interval=window.setInterval(()=>{this.ngZone.run(()=>{this.triggerPrometheusAlerts()})},5e3)})),this.subs.add(this.notificationService.data$.subscribe(d=>{this.notifications=gn().orderBy(d,["timestamp"],["desc"]),this.cdRef.detectChanges()})),this.subs.add(this.notificationService.sidebarSubject.subscribe(d=>{this.isSidebarOpened=!d&&!this.isSidebarOpened,window.clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{this.cdRef.detectChanges()},0)})),this.subs.add(this.summaryService.subscribe(d=>{this._handleTasks(d.executing_tasks),this.mutex.acquire().then(w=>{gn().filter(d.finished_tasks,re=>!this.last_task||In()(re.end_time).isAfter(this.last_task)).forEach(re=>{const Ze=this.notificationService.finishedTaskToNotification(re,re.success),Lt=new Qf.e(Ze);Lt.timestamp=re.end_time,Lt.duration=re.duration,(!this.last_task||In()(re.end_time).isAfter(this.last_task))&&(this.last_task=re.end_time,window.localStorage.setItem("last_task",this.last_task)),this.notificationService.save(Lt)}),this.cdRef.detectChanges(),w()})}))}_handleTasks(n){for(const d of n)d.description=this.taskMessageService.getRunningTitle(d);this.executingTasks=n}triggerPrometheusAlerts(){this.prometheusAlertService.refresh(),this.prometheusNotificationService.refresh()}removeAll(){this.notificationService.removeAll()}remove(n){this.notificationService.remove(n)}closeSidebar(){this.isSidebarOpened=!1}trackByFn(n){return n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Zi.g),e.Y36(Qh.J),e.Y36(HE.p),e.Y36($E),e.Y36(hi.j),e.Y36(Cf),e.Y36(e.R0b),e.Y36(e.sBO))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-notifications-sidebar"]],hostVars:2,hostBindings:function(n,d){2&n&&e.ekj("active",d.isSidebarOpened)},decls:18,vars:6,consts:function(){let y,n,d,w,re;return y="Tasks and Notifications",n="Clear notifications",d="Remove notification",w="Duration:",re="There are no notifications.",[["tasksTpl",""],["notificationsTpl",""],["emptyTpl",""],[1,"card",3,"clickOutsideEnabled","clickOutside"],[1,"card-header"],y,["tabindex","-1","type","button",1,"close","float-right",3,"click"],[3,"ngClass"],[3,"options"],[1,"card-body"],[4,"ngTemplateOutlet"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"card","tc_task","border-0"],[1,"row","no-gutters"],[1,"col-md-2","text-center"],[1,"text-info",3,"ngClass"],[1,"col-md-9"],[1,"card-body","p-1"],[1,"card-title","bold"],[1,"mb-1"],["type","info",3,"value","striped","animated"],[1,"card-text","text-muted"],[1,"date","float-left"],[1,"float-right"],[4,"ngIf"],["type","button",1,"btn","btn-light","btn-block",3,"click"],["aria-hidden","true",3,"ngClass"],n,[3,"ngClass",4,"ngFor","ngForOf"],[1,"card","tc_notification","border-0"],[1,"col-md-10"],["title",d,1,"btn","btn-link","float-right","mt-0","pt-0",3,"click"],[1,"card-text",3,"innerHtml"],[1,"date",3,"title"],[1,"float-right","custom-icon",3,"ngClass","title"],w,[1,"message","text-center"],re]},template:function(n,d){if(1&n&&(e.YNc(0,ry,1,2,"ng-template",null,0,e.W1O),e.YNc(2,G1,1,1,"ng-template",null,1,e.W1O),e.YNc(4,jE,1,1,"ng-template",null,2,e.W1O),e.TgZ(6,"div",3),e.NdJ("clickOutside",function(){return d.closeSidebar()}),e.TgZ(7,"div",4),e.ynx(8),e.SDv(9,5),e.BQk(),e.TgZ(10,"button",6),e.NdJ("click",function(){return d.closeSidebar()}),e.TgZ(11,"span"),e._UZ(12,"i",7),e.qZA(),e.qZA(),e.qZA(),e.TgZ(13,"ngx-simplebar",8),e.TgZ(14,"div",9),e.YNc(15,z1,1,0,"ng-container",10),e.YNc(16,BE,1,0,"ng-container",10),e.YNc(17,ay,1,0,"ng-container",10),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(1),re=e.MAs(3),Ze=e.MAs(5);e.xp6(6),e.Q6J("clickOutsideEnabled",d.isSidebarOpened),e.xp6(6),e.Q6J("ngClass",d.icons.close),e.xp6(1),e.Q6J("options",d.simplebar),e.xp6(2),e.Q6J("ngTemplateOutlet",w),e.xp6(1),e.Q6J("ngTemplateOutlet",re),e.xp6(1),e.Q6J("ngTemplateOutlet",Ze)}},directives:[Y1._,As.o,s.mk,eg.M,s.tP,s.sg,Br.Ly,s.O5],pipes:[bi.N,X.h,W_.u],styles:["[_nghost-%COMP%]{bottom:10px;max-width:90vw;position:fixed;right:-350px;top:53px;transition:all .6s;width:350px;z-index:9}.active[_nghost-%COMP%]{right:20px}.card[_ngcontent-%COMP%]{height:100%}.card-body[_ngcontent-%COMP%]{padding-left:0;padding-right:5px;padding-top:3px}ngx-simplebar[_ngcontent-%COMP%]{height:calc(100% - 42.2px)}.separator[_ngcontent-%COMP%]{background-color:#e9ecef;color:#6c757d;font-size:1rem;padding:5px 12px}.btn-block[_ngcontent-%COMP%]{width:98%}.btn-link[_ngcontent-%COMP%] .fa-trash-o[_ngcontent-%COMP%]{color:#000}table[_ngcontent-%COMP%]{width:100%}.row[_ngcontent-%COMP%]{margin-left:0;margin-right:0;padding-bottom:1rem;padding-top:1rem}hr[_ngcontent-%COMP%]{margin-bottom:2px;margin-top:2px}.card-text[_ngcontent-%COMP%]{margin-right:15px}"],changeDetection:0}),f})();function cy(f,y){1&f&&e._UZ(0,"span",5)}const uy=function(f){return{running:f}},dy=function(f){return[f]};let IC=(()=>{class f{constructor(n,d){this.notificationService=n,this.summaryService=d,this.icons=eo.P,this.hasRunningTasks=!1,this.hasNotifications=!1,this.subs=new Vl.w}ngOnInit(){this.subs.add(this.summaryService.subscribe(n=>{this.hasRunningTasks=n.executing_tasks.length>0})),this.subs.add(this.notificationService.data$.subscribe(n=>{this.hasNotifications=n.length>0}))}ngOnDestroy(){this.subs.unsubscribe()}toggleSidebar(){this.notificationService.toggleSidebar()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Zi.g),e.Y36(Qh.J))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-notifications"]],decls:5,vars:7,consts:function(){let y,n;return y="Tasks and Notifications",n="Tasks and Notifications",[["title",y,3,"ngClass","click"],[3,"ngClass"],["class","dot",4,"ngIf"],[1,"d-md-none"],n,[1,"dot"]]},template:function(n,d){1&n&&(e.TgZ(0,"a",0),e.NdJ("click",function(){return d.toggleSidebar()}),e._UZ(1,"i",1),e.YNc(2,cy,1,0,"span",2),e.TgZ(3,"span",3),e.SDv(4,4),e.qZA(),e.qZA()),2&n&&(e.Q6J("ngClass",e.VKq(3,uy,d.hasRunningTasks)),e.xp6(1),e.Q6J("ngClass",e.VKq(5,dy,d.icons.bell)),e.xp6(1),e.Q6J("ngIf",d.hasNotifications))},directives:[s.mk,s.O5],styles:[".running[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#2b99a8}.running[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%]{color:#fff}a[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{background-color:#2b99a8;border:2px solid #374249;border-radius:50%;height:11px;position:absolute;right:17px;top:10px;width:10px}a[_ngcontent-%COMP%]:hover .dot[_ngcontent-%COMP%]{background-color:#fff;border-color:#2b99a8}"]}),f})(),YE=(()=>{class f{constructor(n){this.http=n,this.baseUIURL="api/feedback"}isKeyExist(){return this.http.get("ui-api/feedback/api_key/exist")}createIssue(n,d,w,re,Ze){return this.http.post("api/feedback",{project:n,tracker:d,subject:w,description:re,api_key:Ze},{headers:{Accept:"application/vnd.ceph.api.v0.1+json"}})}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();function Kh(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"cd-alert-panel",30),e.tHW(1,31),e.TgZ(2,"a",32),e.NdJ("click",function(){return e.CHM(n),e.oxw().redirect()}),e.qZA(),e.N_p(),e.qZA()}}function LC(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,37),e.qZA())}function W1(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,38),e.qZA())}function cm(f,y){if(1&f&&(e.TgZ(0,"div",9),e.TgZ(1,"label",33),e.SDv(2,34),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",35),e.YNc(5,LC,2,0,"span",17),e.YNc(6,W1,2,0,"span",17),e.qZA(),e.qZA()),2&f){const n=e.oxw(),d=e.MAs(5);e.xp6(5),e.Q6J("ngIf",n.feedbackForm.showError("api_key",d,"required")),e.xp6(1),e.Q6J("ngIf",n.feedbackForm.showError("api_key",d,"invalidApiKey"))}}function ZE(f,y){if(1&f&&(e.TgZ(0,"option",39),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function e_(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,40),e.qZA())}function VE(f,y){if(1&f&&(e.TgZ(0,"option",39),e._uU(1),e.qZA()),2&f){const n=y.$implicit;e.Q6J("value",n),e.xp6(1),e.Oqu(n)}}function FC(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,41),e.qZA())}function GE(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,42),e.qZA())}function tp(f,y){1&f&&(e.TgZ(0,"span",36),e.SDv(1,43),e.qZA())}let fy=(()=>{class f{constructor(n,d,w,re,Ze,Lt){this.feedbackService=n,this.activeModal=d,this.actionLabels=w,this.secondaryModal=re,this.notificationService=Ze,this.router=Lt,this.title="Feedback",this.project=["dashboard","block","objects","file_system","ceph_manager","orchestrator","ceph_volume","core_ceph"],this.tracker=["bug","feature"],this.isAPIKeySet=!1,this.isFeedbackEnabled=!0}ngOnInit(){this.createForm(),this.keySub=this.feedbackService.isKeyExist().subscribe({next:n=>{this.isAPIKeySet=n,this.isAPIKeySet&&this.feedbackForm.get("api_key").clearValidators()},error:()=>{this.isFeedbackEnabled=!1,this.feedbackForm.disable()}})}createForm(){this.feedbackForm=new xt.d({project:new Hn.NI("",Hn.kI.required),tracker:new Hn.NI("",Hn.kI.required),subject:new Hn.NI("",Hn.kI.required),description:new Hn.NI("",Hn.kI.required),api_key:new Hn.NI("",Hn.kI.required)})}ngOnDestroy(){this.keySub.unsubscribe()}onSubmit(){this.feedbackService.createIssue(this.feedbackForm.controls.project.value,this.feedbackForm.controls.tracker.value,this.feedbackForm.controls.subject.value,this.feedbackForm.controls.description.value,this.feedbackForm.controls.api_key.value).subscribe({next:n=>{this.notificationService.show(Ho.k.success,"Issue successfully created on Ceph Issue tracker",`Go to the tracker: <a href="https://tracker.ceph.com/issues/${n.message.issue.id}" target="_blank"> ${n.message.issue.id} </a>`)},error:()=>{this.feedbackForm.get("api_key").setErrors({invalidApiKey:!0}),this.feedbackForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close()}})}redirect(){this.activeModal.close(),this.router.navigate(["/mgr-modules"])}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(YE),e.Y36(Br.Kz),e.Y36(uo.p4),e.Y36(Br.FF),e.Y36(Zi.g),e.Y36(tn.F0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-feedback"]],decls:42,vars:12,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o;return y="Report an issue",n="Project name",d="-- Select a project --",w="Tracker",re="-- Select a tracker --",Ze="Subject",Lt="Description",Gt="Feedback module is not enabled. Please enable it from " + "\ufffd#2\ufffd" + "Cluster-> Manager Modules." + "\ufffd/#2\ufffd" + "",On="Ceph Tracker API Key",fr="Ceph Tracker API key is required.",hr="Ceph Tracker API key is invalid.",Jr="Project name is required.",$i="Tracker name is required.",bo="Subject is required.",_o="Description is required.",[[3,"modalRef"],[1,"modal-title"],y,[1,"modal-content"],["name","feedbackForm",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],["type","error",4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"form-group","row"],["for","project",1,"cd-col-form-label","required"],n,[1,"cd-col-form-input"],["id","project","formControlName","project",1,"form-control"],["ngValue",""],d,[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],["for","tracker",1,"cd-col-form-label","required"],w,["id","tracker","formControlName","tracker",1,"form-control"],re,["for","subject",1,"cd-col-form-label","required"],Ze,["id","subject","type","text","formControlName","subject","placeholder","Add issue title",1,"form-control"],["for","description",1,"cd-col-form-label","required"],Lt,["id","description","type","text","formControlName","description","placeholder","Add issue description",1,"form-control"],[1,"modal-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["type","error"],Gt,[3,"click"],["for","api_key",1,"cd-col-form-label","required"],On,["id","api_key","type","password","formControlName","api_key","placeholder","Add Ceph tracker API key",1,"form-control"],[1,"invalid-feedback"],fr,hr,[3,"value"],Jr,$i,bo,_o]},template:function(n,d){if(1&n&&(e.TgZ(0,"cd-modal",0),e.TgZ(1,"div",1),e.SDv(2,2),e.qZA(),e.TgZ(3,"div",3),e.TgZ(4,"form",4,5),e.TgZ(6,"div",6),e.YNc(7,Kh,3,0,"cd-alert-panel",7),e.YNc(8,cm,7,2,"div",8),e.TgZ(9,"div",9),e.TgZ(10,"label",10),e.SDv(11,11),e.qZA(),e.TgZ(12,"div",12),e.TgZ(13,"select",13),e.TgZ(14,"option",14),e.SDv(15,15),e.qZA(),e.YNc(16,ZE,2,2,"option",16),e.qZA(),e.YNc(17,e_,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(18,"div",9),e.TgZ(19,"label",18),e.SDv(20,19),e.qZA(),e.TgZ(21,"div",12),e.TgZ(22,"select",20),e.TgZ(23,"option",14),e.SDv(24,21),e.qZA(),e.YNc(25,VE,2,2,"option",16),e.qZA(),e.YNc(26,FC,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(27,"div",9),e.TgZ(28,"label",22),e.SDv(29,23),e.qZA(),e.TgZ(30,"div",12),e._UZ(31,"input",24),e.YNc(32,GE,2,0,"span",17),e.qZA(),e.qZA(),e.TgZ(33,"div",9),e.TgZ(34,"label",25),e.SDv(35,26),e.qZA(),e.TgZ(36,"div",12),e.TgZ(37,"textarea",27),e._uU(38," "),e.qZA(),e.YNc(39,tp,2,0,"span",17),e.qZA(),e.qZA(),e.qZA(),e.TgZ(40,"div",28),e.TgZ(41,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return d.onSubmit()}),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n){const w=e.MAs(5);e.Q6J("modalRef",d.activeModal),e.xp6(4),e.Q6J("formGroup",d.feedbackForm),e.xp6(3),e.Q6J("ngIf",!d.isFeedbackEnabled),e.xp6(1),e.Q6J("ngIf",!d.isAPIKeySet),e.xp6(8),e.Q6J("ngForOf",d.project),e.xp6(1),e.Q6J("ngIf",d.feedbackForm.showError("project",w,"required")),e.xp6(8),e.Q6J("ngForOf",d.tracker),e.xp6(1),e.Q6J("ngIf",d.feedbackForm.showError("tracker",w,"required")),e.xp6(6),e.Q6J("ngIf",d.feedbackForm.showError("subject",w,"required")),e.xp6(7),e.Q6J("ngIf",d.feedbackForm.showError("description",w,"required")),e.xp6(2),e.Q6J("form",d.feedbackForm)("submitText",d.actionLabels.SUBMIT)}},directives:[nl.z,Hn._Y,Hn.JL,Gn.V,Hn.sg,s.O5,kn.P,As.o,Hn.EJ,zn.b,Hn.JJ,Hn.u,Hn.YN,Hn.Kr,s.sg,Hn.Fj,jr.p,De.G],styles:[""]}),f})();var kC=o(97057);let um=(()=>{class f{constructor(n,d,w,re){this.activeModal=n,this.summaryService=d,this.userService=w,this.authStorageService=re,this.userPermission=this.authStorageService.getPermissions().user}ngOnInit(){this.projectConstants=uo.$x,this.hostAddr=window.location.hostname,this.modalVariables=this.setVariables(),this.subs=this.summaryService.subscribe(n=>{const d=n.version.replace("ceph version ","").split(" ");this.hostAddr=n.mgr_host.replace(/(^\w+:|^)\/\//,"").replace(/\/$/,""),this.versionNumber=d[0],this.versionHash=d[1],this.versionName=d.slice(2,d.length).join(" ")})}ngOnDestroy(){this.subs.unsubscribe()}setVariables(){const n={};n.user=localStorage.getItem("dashboard_username"),n.role="user",this.userPermission.read&&this.userService.get(n.user).subscribe(w=>{n.role=w.roles});const d=(0,kC.qY)();return n.browserName=d&&d.name?d.name:"Not detected",n.browserVersion=d&&d.version?d.version:"Not detected",n.browserOS=d&&d.os?d.os:"Not detected",n}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.Kz),e.Y36(Qh.J),e.Y36($1.K),e.Y36(hi.j))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-about"]],decls:46,vars:13,consts:[[1,"about-container"],[1,"modal-header"],["type","button","aria-label","Close",1,"close","float-right",3,"click"],["aria-hidden","true"],[1,"modal-body"],["src","assets/Ceph_Ceph_Logo_with_text_red_white.svg",1,"ceph-logo",3,"alt"],[1,"product-versions"],[1,"modal-footer"],[1,"text-left"]],template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"div",1),e.TgZ(2,"button",2),e.NdJ("click",function(){return d.activeModal.close()}),e.TgZ(3,"span",3),e._uU(4,"\xd7"),e.qZA(),e.qZA(),e.qZA(),e.TgZ(5,"div",4),e._UZ(6,"img",5),e.TgZ(7,"h3"),e.TgZ(8,"strong"),e._uU(9),e.qZA(),e.qZA(),e.TgZ(10,"div",6),e.TgZ(11,"strong"),e._uU(12,"Version"),e.qZA(),e._UZ(13,"br"),e._uU(14),e._UZ(15,"br"),e._uU(16),e.qZA(),e._UZ(17,"br"),e.TgZ(18,"dl"),e.TgZ(19,"dt"),e._uU(20,"Ceph Manager"),e.qZA(),e.TgZ(21,"dd"),e._uU(22),e.qZA(),e.TgZ(23,"dt"),e._uU(24,"User"),e.qZA(),e.TgZ(25,"dd"),e._uU(26),e.qZA(),e.TgZ(27,"dt"),e._uU(28,"User Role"),e.qZA(),e.TgZ(29,"dd"),e._uU(30),e.qZA(),e.TgZ(31,"dt"),e._uU(32,"Browser"),e.qZA(),e.TgZ(33,"dd"),e._uU(34),e.qZA(),e.TgZ(35,"dt"),e._uU(36,"Browser Version"),e.qZA(),e.TgZ(37,"dd"),e._uU(38),e.qZA(),e.TgZ(39,"dt"),e._uU(40,"Browser OS"),e.qZA(),e.TgZ(41,"dd"),e._uU(42),e.qZA(),e.qZA(),e.qZA(),e.TgZ(43,"div",7),e.TgZ(44,"div",8),e._uU(45),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(6),e.s9C("alt",d.projectConstants.organization),e.xp6(3),e.Oqu(d.projectConstants.projectName),e.xp6(5),e.AsE(" ",d.versionNumber," ",d.versionHash," "),e.xp6(2),e.hij(" ",d.versionName," "),e.xp6(6),e.Oqu(d.hostAddr),e.xp6(4),e.Oqu(d.modalVariables.user),e.xp6(4),e.Oqu(d.modalVariables.role),e.xp6(4),e.Oqu(d.modalVariables.browserName),e.xp6(4),e.Oqu(d.modalVariables.browserVersion),e.xp6(4),e.Oqu(d.modalVariables.browserOS),e.xp6(3),e.AsE(" ",d.projectConstants.copyright," ",d.projectConstants.license," "))},directives:[As.o],styles:[".about-container[_ngcontent-%COMP%]{background-color:#374249;background-image:url(ceph_background.e82dd79127290ddbe8cb.gif);background-position:right bottom;background-repeat:no-repeat;color:#fff;text-shadow:1px 1px #374249}.product-versions[_ngcontent-%COMP%]{margin-top:30px}.product-versions[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{margin-right:10px}.modal-header[_ngcontent-%COMP%]{border-bottom:0}.modal-header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{color:#fff;font-size:2em}.modal-body[_ngcontent-%COMP%]{padding-left:80px;padding-right:80px}.ceph-logo[_ngcontent-%COMP%]{margin-bottom:30px;width:25%}.modal-footer[_ngcontent-%COMP%]{border-top:0;display:block;padding:15px 80px 35px}"]}),f})();const zE=function(f){return[f]},WE=function(f){return{disabled:f}};let $C=(()=>{class f{constructor(n,d){this.modalService=n,this.docService=d,this.icons=eo.P}ngOnInit(){this.docService.subscribeOnce("dashboard",n=>{this.docsUrl=n})}openAboutModal(){this.modalRef=this.modalService.show(um,null,{size:"lg"})}openFeedbackModal(){this.bsModalRef=this.modalService.show(fy,null,{size:"lg"})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(na.Z),e.Y36(EE.R))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-dashboard-help"]],decls:14,vars:7,consts:function(){let y,n,d,w,re,Ze;return y="Help",n="Help",d="documentation",w="API",re="About",Ze="Report an issue...",[["ngbDropdown","","placement","bottom-right"],["ngbDropdownToggle","","title",y],[3,"ngClass"],[1,"d-md-none"],n,["ngbDropdownMenu",""],["ngbDropdownItem","","target","_blank",1,"text-capitalize",3,"ngClass","href"],d,["ngbDropdownItem","","routerLink","/api-docs","target","_blank"],w,["ngbDropdownItem","",3,"click"],re,Ze]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"a",1),e._UZ(2,"i",2),e.TgZ(3,"span",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"div",5),e.TgZ(6,"a",6),e.SDv(7,7),e.qZA(),e.TgZ(8,"a",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"button",10),e.NdJ("click",function(){return d.openAboutModal()}),e.SDv(11,11),e.qZA(),e.TgZ(12,"button",10),e.NdJ("click",function(){return d.openFeedbackModal()}),e.SDv(13,12),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(2),e.Q6J("ngClass",e.VKq(3,zE,d.icons.questionCircle)),e.xp6(4),e.s9C("href",d.docsUrl,e.LSH),e.Q6J("ngClass",e.VKq(5,WE,!d.docsUrl)))},directives:[Br.jt,Br.iD,s.mk,Br.Vi,Br.TH,tn.yS,As.o],styles:[""]}),f})();function qE(f,y){1&f&&(e.TgZ(0,"button",9),e.SDv(1,10),e.qZA())}function JE(f,y){1&f&&(e.TgZ(0,"button",11),e.SDv(1,12),e.qZA())}const QE=function(f){return[f]};function q1(f,y){if(1&f&&(e.TgZ(0,"div",1),e.TgZ(1,"a",2),e._UZ(2,"i",3),e.TgZ(3,"span",4),e.SDv(4,5),e.qZA(),e.qZA(),e.TgZ(5,"div",6),e.YNc(6,qE,2,0,"button",7),e.YNc(7,JE,2,0,"button",8),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(2),e.Q6J("ngClass",e.VKq(3,QE,n.icons.deepCheck)),e.xp6(4),e.Q6J("ngIf",n.userPermission.read),e.xp6(1),e.Q6J("ngIf",n.configOptPermission.read)}}let py=(()=>{class f{constructor(n){this.authStorageService=n,this.icons=eo.P;const d=this.authStorageService.getPermissions();this.userPermission=d.user,this.configOptPermission=d.configOpt}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-administration"]],decls:1,vars:1,consts:function(){let y,n,d,w;return y="Dashboard Settings",n="Dashboard Settings",d="User management",w="Telemetry configuration",[["ngbDropdown","","placement","bottom-right",4,"ngIf"],["ngbDropdown","","placement","bottom-right"],["ngbDropdownToggle","","title",y,1,"dropdown-toggle"],[3,"ngClass"],[1,"d-md-none"],n,["ngbDropdownMenu",""],["ngbDropdownItem","","routerLink","/user-management",4,"ngIf"],["ngbDropdownItem","","routerLink","/telemetry",4,"ngIf"],["ngbDropdownItem","","routerLink","/user-management"],d,["ngbDropdownItem","","routerLink","/telemetry"],w]},template:function(n,d){1&n&&e.YNc(0,q1,8,5,"div",0),2&n&&e.Q6J("ngIf",d.userPermission.read)},directives:[s.O5,Br.jt,Br.iD,s.mk,Br.Vi,As.o,Br.TH,tn.rH],styles:[""]}),f})();const dm=function(f){return[f]};function hy(f,y){if(1&f&&(e.TgZ(0,"button",12),e._UZ(1,"i",2),e.TgZ(2,"span"),e.SDv(3,13),e.qZA(),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(1,dm,n.icons.lock))}}let XE=(()=>{class f{constructor(n,d){this.authStorageService=n,this.authService=d,this.icons=eo.P}ngOnInit(){this.username=this.authStorageService.getUsername(),this.sso=this.authStorageService.isSSO()}logout(){this.authService.logout()}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(om.e))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-identity"]],decls:15,vars:8,consts:function(){let y,n,d,w,re;return y="Logged in user",n="Logged in user",d="Signed in as " + "\ufffd#8\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#8\ufffd" + "",w="Sign out",re="Change password",[["ngbDropdown","","placement","bottom-right"],["ngbDropdownToggle","","title",y],[3,"ngClass"],[1,"d-md-none"],n,["ngbDropdownMenu",""],["ngbDropdownItem","","disabled",""],d,[1,"dropdown-divider"],["ngbDropdownItem","","routerLink","/user-profile/edit",4,"ngIf"],["ngbDropdownItem","",3,"click"],w,["ngbDropdownItem","","routerLink","/user-profile/edit"],re]},template:function(n,d){1&n&&(e.TgZ(0,"div",0),e.TgZ(1,"a",1),e._UZ(2,"i",2),e.TgZ(3,"span",3),e.SDv(4,4),e.qZA(),e.qZA(),e.TgZ(5,"div",5),e.TgZ(6,"button",6),e.tHW(7,7),e._UZ(8,"strong"),e.N_p(),e.qZA(),e._UZ(9,"li",8),e.YNc(10,hy,4,3,"button",9),e.TgZ(11,"button",10),e.NdJ("click",function(){return d.logout()}),e._UZ(12,"i",2),e.TgZ(13,"span"),e.SDv(14,11),e.qZA(),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(2),e.Q6J("ngClass",e.VKq(4,dm,d.icons.user)),e.xp6(6),e.pQV(d.username),e.QtT(7),e.xp6(2),e.Q6J("ngIf",!d.sso),e.xp6(2),e.Q6J("ngClass",e.VKq(6,dm,d.icons.signOut)))},directives:[Br.jt,Br.iD,s.mk,Br.Vi,As.o,Br.TH,s.O5,tn.rH],styles:[""]}),f})();function HC(f,y){1&f&&e.GkF(0)}function KE(f,y){1&f&&e.GkF(0)}function eT(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"li",22),e._UZ(1,"cd-language-selector",23),e.qZA(),e.TgZ(2,"li",22),e.TgZ(3,"cd-notifications",24),e.NdJ("click",function(){return e.CHM(n),e.oxw().toggleRightSidebar()}),e.qZA(),e.qZA(),e.TgZ(4,"li",22),e._UZ(5,"cd-dashboard-help",23),e.qZA(),e.TgZ(6,"li",22),e._UZ(7,"cd-administration",23),e.qZA(),e.TgZ(8,"li",22),e._UZ(9,"cd-identity",23),e.qZA()}}function tT(f,y){1&f&&(e.TgZ(0,"li",50),e.TgZ(1,"a",51),e.SDv(2,52),e.qZA(),e.qZA())}function _y(f,y){1&f&&(e.TgZ(0,"li",53),e.TgZ(1,"a",54),e.SDv(2,55),e.qZA(),e.qZA())}function gy(f,y){1&f&&(e.TgZ(0,"li",56),e.TgZ(1,"a",57),e.SDv(2,58),e.qZA(),e.qZA())}function my(f,y){1&f&&(e.TgZ(0,"li",59),e.TgZ(1,"a",60),e.SDv(2,61),e.qZA(),e.qZA())}function nT(f,y){1&f&&(e.TgZ(0,"li",62),e.TgZ(1,"a",63),e.SDv(2,64),e.qZA(),e.qZA())}function rT(f,y){1&f&&(e.TgZ(0,"li",65),e.TgZ(1,"a",66),e.SDv(2,67),e.qZA(),e.qZA())}function vy(f,y){1&f&&(e.TgZ(0,"li",68),e.TgZ(1,"a",69),e.SDv(2,70),e.qZA(),e.qZA())}function fm(f,y){1&f&&(e.TgZ(0,"li",71),e.TgZ(1,"a",72),e.SDv(2,73),e.qZA(),e.qZA())}function iT(f,y){1&f&&(e.TgZ(0,"li",74),e.TgZ(1,"a",75),e.SDv(2,76),e.qZA(),e.qZA())}function yy(f,y){if(1&f&&(e.TgZ(0,"small",81),e._uU(1),e.qZA()),2&f){const n=e.oxw(5);e.xp6(1),e.Oqu(n.prometheusAlertService.activeAlerts)}}function pm(f,y){if(1&f&&(e.TgZ(0,"li",77),e.TgZ(1,"a",78),e.ynx(2),e.SDv(3,79),e.BQk(),e.YNc(4,yy,2,1,"small",80),e.qZA(),e.qZA()),2&f){const n=e.oxw(4);e.xp6(4),e.Q6J("ngIf",n.prometheusAlertService.activeAlerts>0)}}function hm(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"li",36),e.TgZ(1,"a",37),e.NdJ("click",function(){return e.CHM(n),e.oxw(3).toggleSubMenu("cluster")}),e.ynx(2),e.SDv(3,38),e.BQk(),e.qZA(),e.TgZ(4,"ul",39),e.YNc(5,tT,3,0,"li",40),e.YNc(6,_y,3,0,"li",41),e.YNc(7,gy,3,0,"li",42),e.YNc(8,my,3,0,"li",43),e.YNc(9,nT,3,0,"li",44),e.YNc(10,rT,3,0,"li",45),e.YNc(11,vy,3,0,"li",46),e.YNc(12,fm,3,0,"li",47),e.YNc(13,iT,3,0,"li",48),e.YNc(14,pm,5,1,"li",49),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.uIk("aria-expanded","cluster"==n.displayedSubMenu),e.xp6(3),e.Q6J("ngbCollapse","cluster"!==n.displayedSubMenu),e.xp6(1),e.Q6J("ngIf",n.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",n.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",n.permissions.monitor.read),e.xp6(1),e.Q6J("ngIf",n.permissions.hosts.read),e.xp6(1),e.Q6J("ngIf",n.permissions.osd.read),e.xp6(1),e.Q6J("ngIf",n.permissions.configOpt.read),e.xp6(1),e.Q6J("ngIf",n.permissions.osd.read),e.xp6(1),e.Q6J("ngIf",n.permissions.configOpt.read),e.xp6(1),e.Q6J("ngIf",n.permissions.log.read),e.xp6(1),e.Q6J("ngIf",n.permissions.prometheus.read)}}function ng(f,y){1&f&&(e.TgZ(0,"li",82),e.TgZ(1,"a",83),e.SDv(2,84),e.qZA(),e.qZA())}function oT(f,y){1&f&&(e.TgZ(0,"li",91),e.TgZ(1,"a",92),e.SDv(2,93),e.qZA(),e.qZA())}function sT(f,y){if(1&f&&(e.TgZ(0,"small",98),e._uU(1),e.qZA()),2&f){const n=e.oxw(5);e.xp6(1),e.Oqu(null==n.summaryData||null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.warnings)}}function UC(f,y){if(1&f&&(e.TgZ(0,"small",81),e._uU(1),e.qZA()),2&f){const n=e.oxw(5);e.xp6(1),e.Oqu(null==n.summaryData||null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.errors)}}function aT(f,y){if(1&f&&(e.TgZ(0,"li",94),e.TgZ(1,"a",95),e.ynx(2),e.SDv(3,96),e.BQk(),e.YNc(4,sT,2,1,"small",97),e.YNc(5,UC,2,1,"small",80),e.qZA(),e.qZA()),2&f){const n=e.oxw(4);e.xp6(4),e.Q6J("ngIf",0!==(null==n.summaryData||null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.warnings)),e.xp6(1),e.Q6J("ngIf",0!==(null==n.summaryData||null==n.summaryData.rbd_mirroring?null:n.summaryData.rbd_mirroring.errors))}}function lT(f,y){1&f&&(e.TgZ(0,"li",99),e.TgZ(1,"a",100),e.SDv(2,101),e.qZA(),e.qZA())}function cT(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"li",85),e.TgZ(1,"a",86),e.NdJ("click",function(){return e.CHM(n),e.oxw(3).toggleSubMenu("block")}),e.ynx(2),e.SDv(3,87),e.BQk(),e.qZA(),e.TgZ(4,"ul",39),e.YNc(5,oT,3,0,"li",88),e.YNc(6,aT,6,2,"li",89),e.YNc(7,lT,3,0,"li",90),e.qZA(),e.qZA()}if(2&f){const n=e.oxw().ngIf,d=e.oxw(2);e.xp6(1),e.Q6J("ngStyle",d.blockHealthColor()),e.uIk("aria-expanded","block"==d.displayedSubMenu),e.xp6(3),e.Q6J("ngbCollapse","block"!==d.displayedSubMenu),e.xp6(1),e.Q6J("ngIf",d.permissions.rbdImage.read&&n.rbd),e.xp6(1),e.Q6J("ngIf",d.permissions.rbdMirroring.read&&n.mirroring),e.xp6(1),e.Q6J("ngIf",d.permissions.iscsi.read&&n.iscsi)}}function uT(f,y){1&f&&(e.TgZ(0,"li",102),e.TgZ(1,"a",103),e.SDv(2,104),e.qZA(),e.qZA())}function dT(f,y){1&f&&(e.TgZ(0,"li",105),e.TgZ(1,"a",106),e.SDv(2,107),e.qZA(),e.qZA())}function fT(f,y){if(1&f){const n=e.EpF();e.TgZ(0,"li",108),e.TgZ(1,"a",37),e.NdJ("click",function(){return e.CHM(n),e.oxw(3).toggleSubMenu("rgw")}),e.ynx(2),e.SDv(3,109),e.BQk(),e.qZA(),e.TgZ(4,"ul",39),e.TgZ(5,"li",110),e.TgZ(6,"a",111),e.SDv(7,112),e.qZA(),e.qZA(),e.TgZ(8,"li",113),e.TgZ(9,"a",114),e.SDv(10,115),e.qZA(),e.qZA(),e.TgZ(11,"li",116),e.TgZ(12,"a",117),e.SDv(13,118),e.qZA(),e.qZA(),e.qZA(),e.qZA()}if(2&f){const n=e.oxw(3);e.xp6(1),e.uIk("aria-expanded","rgw"==n.displayedSubMenu),e.xp6(3),e.Q6J("ngbCollapse","rgw"!==n.displayedSubMenu)}}const pT=function(f){return[f]};function hT(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"li",26),e.TgZ(2,"a",27),e.TgZ(3,"span"),e.SDv(4,28),e.qZA(),e._uU(5,"\xa0 "),e._UZ(6,"i",29),e.ALo(7,"healthColor"),e.qZA(),e.qZA(),e.YNc(8,hm,15,12,"li",30),e.YNc(9,ng,3,0,"li",31),e.YNc(10,cT,8,6,"li",32),e.YNc(11,uT,3,0,"li",33),e.YNc(12,dT,3,0,"li",34),e.YNc(13,fT,14,2,"li",35),e.BQk()),2&f){const n=y.ngIf,d=e.oxw(2);e.xp6(6),e.Q6J("ngClass",e.VKq(10,pT,d.icons.health))("ngStyle",e.lcZ(7,8,null==d.summaryData?null:d.summaryData.health_status)),e.xp6(2),e.Q6J("ngIf",d.permissions.hosts.read||d.permissions.monitor.read||d.permissions.osd.read||d.permissions.configOpt.read||d.permissions.log.read||d.permissions.prometheus.read),e.xp6(1),e.Q6J("ngIf",d.permissions.pool.read),e.xp6(1),e.Q6J("ngIf",(d.permissions.rbdImage.read||d.permissions.rbdMirroring.read||d.permissions.iscsi.read)&&(n.rbd||n.mirroring||n.iscsi)),e.xp6(1),e.Q6J("ngIf",d.permissions.nfs.read&&n.nfs),e.xp6(1),e.Q6J("ngIf",d.permissions.cephfs.read&&n.cephfs),e.xp6(1),e.Q6J("ngIf",d.permissions.rgw.read&&n.rgw)}}function _T(f,y){if(1&f&&(e.YNc(0,hT,14,12,"ng-container",25),e.ALo(1,"async")),2&f){const n=e.oxw();e.Q6J("ngIf",e.lcZ(1,1,n.enabledFeature$))}}const jC=function(f){return{show:f}},by=function(f){return{active:f}},rg=["*"];let gT=(()=>{class f{constructor(n,d,w,re,Ze,Lt){this.authStorageService=n,this.summaryService=d,this.featureToggles=w,this.telemetryNotificationService=re,this.prometheusAlertService=Ze,this.motdNotificationService=Lt,this.notifications=[],this.icons=eo.P,this.rightSidebarOpen=!1,this.showMenuSidebar=!0,this.displayedSubMenu="",this.simplebar={autoHide:!1},this.subs=new Vl.w,this.permissions=this.authStorageService.getPermissions(),this.enabledFeature$=this.featureToggles.get()}get class(){return"top-notification-"+this.notifications.length}ngOnInit(){this.subs.add(this.summaryService.subscribe(n=>{this.summaryData=n})),this.subs.add(this.authStorageService.isPwdDisplayed$.subscribe(n=>{this.showTopNotification("isPwdDisplayed",n)})),this.subs.add(this.telemetryNotificationService.update.subscribe(n=>{this.showTopNotification("telemetryNotificationEnabled",n)})),this.subs.add(this.motdNotificationService.motd$.subscribe(n=>{this.showTopNotification("motdNotificationEnabled",ur.isPlainObject(n))}))}ngOnDestroy(){this.subs.unsubscribe()}blockHealthColor(){if(this.summaryData&&this.summaryData.rbd_mirroring){if(this.summaryData.rbd_mirroring.errors>0)return{color:"#d9534f"};if(this.summaryData.rbd_mirroring.warnings>0)return{color:"#f0ad4e"}}}toggleSubMenu(n){this.displayedSubMenu=this.displayedSubMenu===n?"":n}toggleRightSidebar(){this.rightSidebarOpen=!this.rightSidebarOpen}showTopNotification(n,d){if(d)this.notifications.includes(n)||this.notifications.push(n);else{const w=this.notifications.indexOf(n);w>=0&&this.notifications.splice(w,1)}}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(Qh.J),e.Y36(Iv.l),e.Y36(zh),e.Y36(Cf),e.Y36(Q0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-navigation"]],hostVars:2,hostBindings:function(n,d){2&n&&e.Tol(d.class)},ngContentSelectors:rg,decls:30,vars:12,consts:function(){let y,n,d,w,re,Ze,Lt,Gt,On,fr,hr,Jr,$i,bo,_o,Yi,Xs,ls,js,ga,wl,wa,Wl,zc;return y="Toggle navigation",n="Dashboard",d="Cluster",w="Hosts",re="Physical Disks",Ze="Monitors",Lt="Services",Gt="OSDs",On="Configuration",fr="CRUSH map",hr="Manager Modules",Jr="Logs",$i="Monitoring",bo="Pools",_o="Block",Yi="Images",Xs="Mirroring",ls="iSCSI",js="NFS",ga="File Systems",wl="Object Gateway",wa="Daemons",Wl="Users",zc="Buckets",[[1,"cd-navbar-main"],[1,"cd-navbar-top"],[1,"navbar","navbar-expand-md","navbar-dark","cd-navbar-brand"],["aria-label","toggle sidebar visibility",1,"btn","btn-link","py-0",3,"click"],["aria-hidden","true",1,"fa","fa-bars","fa-2x"],["href","#",1,"navbar-brand","ml-2"],["src","assets/Ceph_Ceph_Logo_with_text_white.svg","alt","Ceph"],["type","button",1,"navbar-toggler",3,"click"],[1,"sr-only"],y,[1,""],[1,"fa","fa-navicon","fa-lg"],[1,"collapse","navbar-collapse",3,"ngClass"],[1,"nav","navbar-nav","cd-navbar-utility","my-2","my-md-0"],[4,"ngTemplateOutlet"],[1,"wrapper"],["id","sidebar",3,"ngClass"],[3,"options"],[1,"list-unstyled","components","cd-navbar-primary"],["id","content",3,"ngClass"],["cd_utilities",""],["cd_menu",""],[1,"nav-item"],[1,"cd-navbar"],[1,"cd-navbar",3,"click"],[4,"ngIf"],["routerLinkActive","active",1,"nav-item","tc_menuitem_dashboard"],["routerLink","/dashboard",1,"nav-link"],n,[3,"ngClass","ngStyle"],["routerLinkActive","active","class","nav-item tc_menuitem_cluster",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_pool",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_block",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_nfs",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_cephfs",4,"ngIf"],["routerLinkActive","active","class","nav-item tc_menuitem_rgw",4,"ngIf"],["routerLinkActive","active",1,"nav-item","tc_menuitem_cluster"],["aria-controls","collapseBasic",1,"nav-link","dropdown-toggle",3,"click"],d,[1,"list-unstyled",3,"ngbCollapse"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_hosts",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_cluster_inventory",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_cluster_monitor",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_cluster_services",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_osds",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_configuration",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_crush",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_modules",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_log",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_monitoring",4,"ngIf"],["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_hosts"],["routerLink","/hosts"],w,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_cluster_inventory"],["routerLink","/inventory"],re,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_cluster_monitor"],["routerLink","/monitor/"],Ze,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_cluster_services"],["routerLink","/services/"],Lt,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_osds"],["routerLink","/osd"],Gt,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_configuration"],["routerLink","/configuration"],On,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_crush"],["routerLink","/crush-map"],fr,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_modules"],["routerLink","/mgr-modules"],hr,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_log"],["routerLink","/logs"],Jr,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_monitoring"],["routerLink","/monitoring"],$i,["class","badge badge-danger",4,"ngIf"],[1,"badge","badge-danger"],["routerLinkActive","active",1,"nav-item","tc_menuitem_pool"],["routerLink","/pool",1,"nav-link"],bo,["routerLinkActive","active",1,"nav-item","tc_menuitem_block"],["aria-controls","collapseBasic",1,"nav-link","dropdown-toggle",3,"ngStyle","click"],_o,["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_block_images",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_block_mirroring",4,"ngIf"],["routerLinkActive","active","class","tc_submenuitem tc_submenuitem_block_iscsi",4,"ngIf"],["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_block_images"],["routerLink","/block/rbd"],Yi,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_block_mirroring"],["routerLink","/block/mirroring"],Xs,["class","badge badge-warning",4,"ngIf"],[1,"badge","badge-warning"],["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_block_iscsi"],["routerLink","/block/iscsi"],ls,["routerLinkActive","active",1,"nav-item","tc_menuitem_nfs"],["routerLink","/nfs",1,"nav-link"],js,["routerLinkActive","active",1,"nav-item","tc_menuitem_cephfs"],["routerLink","/cephfs",1,"nav-link"],ga,["routerLinkActive","active",1,"nav-item","tc_menuitem_rgw"],wl,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_rgw_daemons"],["routerLink","/rgw/daemon"],wa,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_rgw_users"],["routerLink","/rgw/user"],Wl,["routerLinkActive","active",1,"tc_submenuitem","tc_submenuitem_rgw_buckets"],["routerLink","/rgw/bucket"],zc]},template:function(n,d){if(1&n&&(e.F$t(),e.TgZ(0,"div",0),e._UZ(1,"cd-pwd-expiration-notification"),e._UZ(2,"cd-telemetry-notification"),e._UZ(3,"cd-motd"),e._UZ(4,"cd-notifications-sidebar"),e.TgZ(5,"div",1),e.TgZ(6,"nav",2),e.TgZ(7,"button",3),e.NdJ("click",function(){return d.showMenuSidebar=!d.showMenuSidebar}),e._UZ(8,"i",4),e.qZA(),e.TgZ(9,"a",5),e._UZ(10,"img",6),e.qZA(),e.TgZ(11,"button",7),e.NdJ("click",function(){return d.toggleRightSidebar()}),e.TgZ(12,"span",8),e.SDv(13,9),e.qZA(),e.TgZ(14,"span",10),e._UZ(15,"i",11),e.qZA(),e.qZA(),e.TgZ(16,"div",12),e.TgZ(17,"ul",13),e.YNc(18,HC,1,0,"ng-container",14),e.qZA(),e.qZA(),e.qZA(),e.qZA(),e.TgZ(19,"div",15),e.TgZ(20,"nav",16),e.TgZ(21,"ngx-simplebar",17),e.TgZ(22,"ul",18),e.YNc(23,KE,1,0,"ng-container",14),e.qZA(),e.qZA(),e.qZA(),e.TgZ(24,"div",19),e.Hsn(25),e.qZA(),e.qZA(),e.YNc(26,eT,10,0,"ng-template",null,20,e.W1O),e.YNc(28,_T,2,3,"ng-template",null,21,e.W1O),e.qZA()),2&n){const w=e.MAs(27),re=e.MAs(29);e.xp6(16),e.Q6J("ngClass",e.VKq(6,jC,d.rightSidebarOpen)),e.xp6(2),e.Q6J("ngTemplateOutlet",w),e.xp6(2),e.Q6J("ngClass",e.VKq(8,by,!d.showMenuSidebar)),e.xp6(1),e.Q6J("options",d.simplebar),e.xp6(2),e.Q6J("ngTemplateOutlet",re),e.xp6(1),e.Q6J("ngClass",e.VKq(10,by,!d.showMenuSidebar))}},directives:[xE,NE,ey,ly,Br.M2,As.o,s.mk,s.tP,eg.M,V0,IC,$C,py,XE,s.O5,tn.Od,tn.yS,s.PC,Br._D],pipes:[s.Ov,Qg],styles:['@charset "UTF-8";.cd-navbar-main[_ngcontent-%COMP%]{display:flex;flex:1;flex-direction:column;height:100%} cd-navigation .cd-navbar-top .cd-navbar-brand{background:#374249;border-top:4px solid #2b99a8} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-brand, cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-brand:hover{color:#e9ecef;height:auto;padding:0} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-brand>img{height:25px} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-toggler{border:0} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-toggler:focus, cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-toggler:hover{outline:0} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-toggler .fa-navicon{color:#e9ecef} cd-navigation .cd-navbar-top .cd-navbar-brand .navbar-collapse{padding:0} cd-navigation .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>.active>a{background-color:#2b99a8;color:#e9ecef} cd-navigation .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a, cd-navigation .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a:focus, cd-navigation .cd-navbar-top .cd-navbar-brand .cd-navbar-utility>li>.open>a:hover{background-color:transparent;border-color:transparent;color:#e9ecef} cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>[ngbDropdown]>a, cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>a, cd-navigation .cd-navbar-top .navbar-nav>li>a{color:#e9ecef;display:block;line-height:1;padding:13.5px 18px!important;position:relative;text-decoration:none} cd-navigation .cd-navbar-top .navbar-nav .nav-link, cd-navigation .cd-navbar-top .navbar-nav .nav-link:hover{color:#e9ecef} cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>[ngbDropdown]>a:hover, cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>[ngbDropdown].open>a, cd-navigation .cd-navbar-top .navbar-nav>li>.cd-navbar>a:hover, cd-navigation .cd-navbar-top .navbar-nav>li>a:hover, cd-navigation .cd-navbar-top .navbar-nav>li:hover{background-color:#2b99a8} cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>[ngbDropdown]>a, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>[ngbDropdown]>a:hover, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>a, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>a:focus, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>a:hover, cd-navigation .cd-navbar-top .navbar-nav>.open>.cd-navbar>li>a:focus, cd-navigation .cd-navbar-top .navbar-nav>.open>a, cd-navigation .cd-navbar-top .navbar-nav>.open>a:focus, cd-navigation .cd-navbar-top .navbar-nav>.open>a:hover{background-color:transparent;border-color:transparent;color:#e9ecef}@media (min-width: 768px){ cd-navigation .cd-navbar-top .cd-navbar-utility{border-bottom:0;font-size:1.1rem;position:absolute;right:0;top:0}}@media (max-width: calc(768px - 1px)){ cd-navigation .cd-navbar-top .navbar-nav{margin:0} cd-navigation .cd-navbar-top .navbar-nav .fa{margin-right:.5em} cd-navigation .cd-navbar-top .navbar-nav .open .dropdown-menu{background-color:#2b99a8;border:0;padding-bottom:0;padding-top:0} cd-navigation .cd-navbar-top .navbar-nav .open .dropdown-menu>li>a{color:#e9ecef;padding:5px 15px 5px 35px} cd-navigation .cd-navbar-top .navbar-nav .open .dropdown-menu>.active>a{background-color:#2b99a8} cd-navigation .cd-navbar-top .navbar-nav>li>a:hover{background-color:#2b99a8}}.cd-navbar-primary[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .cd-navbar-primary[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:focus, .cd-navbar-primary[_ngcontent-%COMP%] > .active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background-color:#2b99a8!important;border:0!important;color:#e9ecef!important}.wrapper[_ngcontent-%COMP%]{display:flex;height:100%;width:100%}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%]{background:#374249;bottom:0;color:#fff;height:auto;left:0;overflow-y:auto;position:relative;transition:all .3s;width:200px;z-index:999}.wrapper[_ngcontent-%COMP%] #sidebar.active[_ngcontent-%COMP%]{margin-left:-200px}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul.component[_ngcontent-%COMP%]{margin:0;padding:20px 0}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#fff;padding:10px}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;display:block;font-size:1.1em;padding:10px 10px 10px 27px;text-decoration:none}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:#2b99a8;color:#fff}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] > .badge[_ngcontent-%COMP%]{margin-left:5px}.wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%] #sidebar[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] a[aria-expanded=true][_ngcontent-%COMP%]{color:#fff}.wrapper[_ngcontent-%COMP%] a.dropdown-toggle[_ngcontent-%COMP%]{position:relative}.wrapper[_ngcontent-%COMP%] a.dropdown-toggle[_ngcontent-%COMP%]:after{border:0;content:"\\f054";font-family:"ForkAwesome";font-size:1rem;position:absolute;right:20px;transition:transform .3s ease-in-out}.wrapper[_ngcontent-%COMP%] a.dropdown-toggle[aria-expanded=true][_ngcontent-%COMP%]:after{transform:rotate(90deg)}.wrapper[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{background:#4d5c66;font-size:.9em!important;padding-left:40px!important}.wrapper[_ngcontent-%COMP%] .cd-navbar-primary[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus{outline:none}.wrapper[_ngcontent-%COMP%] ngx-simplebar[_ngcontent-%COMP%]{height:100%}#content[_ngcontent-%COMP%]{bottom:0;position:relative;right:0;transition:all .3s;width:calc(100% - 200px)}#content.active[_ngcontent-%COMP%]{width:100vw}']}),f})();var mT=o(17757),vT=o(20523);function _m(f,y){if(1&f){const n=e.EpF();e.ynx(0),e.TgZ(1,"button",8),e.NdJ("click",function(){const re=e.CHM(n).$implicit;return e.oxw(3).onDaemonSelection(re)}),e._uU(2),e.qZA(),e.BQk()}if(2&f){const n=y.$implicit;e.xp6(2),e.AsE(" ",n.id," ( ",n.zonegroup_name," ) ")}}function fh(f,y){if(1&f&&(e.ynx(0),e.TgZ(1,"div",1),e.TgZ(2,"span",2),e.SDv(3,3),e.qZA(),e.TgZ(4,"div",4),e.TgZ(5,"button",5),e._uU(6),e.qZA(),e.TgZ(7,"div",6),e.YNc(8,_m,3,2,"ng-container",7),e.qZA(),e.qZA(),e.qZA(),e.BQk()),2&f){const n=e.oxw().ngIf;e.xp6(6),e.AsE(" ",n.selectedDaemon.id," ( ",n.selectedDaemon.zonegroup_name," ) "),e.xp6(2),e.Q6J("ngForOf",n.daemons)}}function Ey(f,y){if(1&f&&(e.ynx(0),e.YNc(1,fh,9,3,"ng-container",0),e.BQk()),2&f){const n=y.ngIf,d=e.oxw();e.xp6(1),e.Q6J("ngIf",n.ftMap&&n.ftMap.rgw&&d.permissions.rgw.read&&d.isRgwRoute&&n.daemons.length>1)}}const yT=function(f,y,n){return{ftMap:f,daemons:y,selectedDaemon:n}};let BC=(()=>{class f{constructor(n,d,w,re,Ze){this.authStorageService=n,this.featureToggles=d,this.router=w,this.timerService=re,this.rgwDaemonService=Ze,this.REFRESH_INTERVAL=5e3,this.subs=new Vl.w,this.rgwUrlPrefix="/rgw",this.isRgwRoute=document.location.href.includes(this.rgwUrlPrefix)}ngOnInit(){this.permissions=this.authStorageService.getPermissions(),this.featureToggleMap$=this.featureToggles.get(),this.subs.add(this.router.events.pipe((0,qu.h)(n=>n instanceof tn.m2)).subscribe(()=>this.isRgwRoute=this.router.url.startsWith(this.rgwUrlPrefix))),this.subs.add(this.timerService.get(()=>this.isRgwRoute?this.rgwDaemonService.list():mT.C,this.REFRESH_INTERVAL).subscribe())}ngOnDestroy(){this.subs.unsubscribe()}onDaemonSelection(n){this.rgwDaemonService.selectDaemon(n),this.reloadData()}reloadData(){const n=this.router.url;this.router.navigateByUrl(this.rgwUrlPrefix,{skipLocationChange:!0}).finally(()=>{this.router.navigate([n])})}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(hi.j),e.Y36(Iv.l),e.Y36(tn.F0),e.Y36(Xp.f),e.Y36(vT.b))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-context"]],decls:4,vars:11,consts:function(){let y,n;return y="Selected Object Gateway:",n="Select Object Gateway",[[4,"ngIf"],[1,"cd-context-bar","pt-3","pb-3"],[1,"mr-1"],y,["ngbDropdown","","placement","bottom-left",1,"d-inline-block","ml-2"],["ngbDropdownToggle","","title",n,1,"btn","btn-outline-info","ctx-bar-selected-rgw-daemon"],["ngbDropdownMenu",""],[4,"ngFor","ngForOf"],["ngbDropdownItem","",1,"ctx-bar-available-rgw-daemon",3,"click"]]},template:function(n,d){1&n&&(e.YNc(0,Ey,2,1,"ng-container",0),e.ALo(1,"async"),e.ALo(2,"async"),e.ALo(3,"async")),2&n&&e.Q6J("ngIf",e.kEZ(7,yT,e.lcZ(1,1,d.featureToggleMap$),e.lcZ(2,3,d.rgwDaemonService.daemons$),e.lcZ(3,5,d.rgwDaemonService.selectedDaemon$)))},directives:[s.O5,Br.jt,As.o,Br.iD,Br.Vi,s.sg,Br.TH],pipes:[s.Ov],styles:[".cd-context-bar[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}"]}),f})();var bT=o(58071),gm=o(94402),J1=o(85345);class Ty{constructor(y,n){this.keySelector=y,this.flushes=n}call(y,n){return n.subscribe(new Cy(y,this.keySelector,this.flushes))}}class Cy extends J1.Ds{constructor(y,n,d){super(y),this.keySelector=n,this.values=new Set,d&&this.add((0,J1.ft)(d,new J1.IY(this)))}notifyNext(){this.values.clear()}notifyError(y){this._error(y)}_next(y){this.keySelector?this._useKeySelector(y):this._finalizeNext(y,y)}_useKeySelector(y){let n;const{destination:d}=this;try{n=this.keySelector(y)}catch(w){return void d.error(w)}this._finalizeNext(n,y)}_finalizeNext(y,n){const{values:d}=this;d.has(y)||(d.add(y),this.destination.next(n))}}var mm=o(28049);class ig{resolve(y){const n=y.routeConfig.data,d=null===n.path?null:this.getFullPath(y);return(0,ws.of)([{text:"string"==typeof n.breadcrumbs?n.breadcrumbs:n.breadcrumbs.text||n.text||d,path:d}])}getFullPath(y){return y.pathFromRoot.reduce((re,Ze)=>re+Ze.url.reduce((re,Ze)=>re+"/"+Ze.path,""),"")}}function Sy(f,y){if(1&f&&(e.TgZ(0,"a",6),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.Q6J("routerLink",n.path),e.xp6(1),e.Oqu(n.text)}}function TT(f,y){if(1&f&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&f){const n=e.oxw().$implicit;e.xp6(1),e.Oqu(n.text)}}const CT=function(f){return{active:f}};function My(f,y){if(1&f&&(e.TgZ(0,"li",3),e.YNc(1,Sy,2,2,"a",4),e.YNc(2,TT,2,1,"span",5),e.qZA()),2&f){const n=y.$implicit,d=y.last,w=e.oxw(2);e.Q6J("ngClass",e.VKq(3,CT,d&&w.finished)),e.xp6(1),e.Q6J("ngIf",!d&&null!==n.path),e.xp6(1),e.Q6J("ngIf",d||null===n.path)}}function ST(f,y){if(1&f&&(e.TgZ(0,"ol",1),e.YNc(1,My,3,5,"li",2),e.qZA()),2&f){const n=e.oxw();e.xp6(1),e.Q6J("ngForOf",n.crumbs)}}let Oy=(()=>{class f{constructor(n,d){this.router=n,this.injector=d,this.crumbs=[],this.finished=!1,this.defaultResolver=new ig,this.subscription=this.router.events.pipe((0,qu.h)(w=>w instanceof tn.OD)).subscribe(()=>{this.finished=!1}),this.subscription=this.router.events.pipe((0,qu.h)(w=>w instanceof tn.m2)).subscribe(()=>{this._resolveCrumbs(n.routerState.snapshot.root).pipe((0,ol.zg)(re=>re),function(f,y){return n=>n.lift(new Ty(f,undefined))}(re=>re.text),Ha(),(0,ol.zg)(re=>{const Ze=this.postProcess(re);return this.wrapIntoObservable(Ze).pipe((0,mm.P)())})).subscribe(re=>{this.finished=!0,this.crumbs=re})})}ngOnDestroy(){this.subscription.unsubscribe()}_resolveCrumbs(n){let d;const w=n.routeConfig&&n.routeConfig.data;if(w&&w.breadcrumbs){let re;re=w.breadcrumbs.prototype instanceof ig?this.injector.get(w.breadcrumbs):this.defaultResolver;const Ze=re.resolve(n);d=this.wrapIntoObservable(Ze).pipe((0,mm.P)())}else d=(0,ws.of)([]);return n.firstChild&&(d=(0,bT.z)(d,this._resolveCrumbs(n.firstChild))),d}postProcess(n){const d=[];return n.forEach(w=>{const re=w.text.split("/");if(re.length>1){w.text=re[re.length-1];for(let Ze=0;Ze<re.length-1;Ze++)d.push({text:re[Ze],path:null})}d.push(w)}),d}isPromise(n){return n&&"function"==typeof n.then}wrapIntoObservable(n){return n instanceof wv.y?n:this.isPromise(n)?(0,gm.D)(Promise.resolve(n)):(0,ws.of)(n)}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(e.zs3))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-breadcrumbs"]],decls:1,vars:1,consts:[["class","breadcrumb",4,"ngIf"],[1,"breadcrumb"],["class","breadcrumb-item",3,"ngClass",4,"ngFor","ngForOf"],[1,"breadcrumb-item",3,"ngClass"],["preserveFragment","",3,"routerLink",4,"ngIf"],[4,"ngIf"],["preserveFragment","",3,"routerLink"]],template:function(n,d){1&n&&e.YNc(0,ST,2,1,"ol",0),2&n&&e.Q6J("ngIf",d.crumbs.length)},directives:[s.O5,s.sg,s.mk,tn.yS],styles:['@charset "UTF-8";.breadcrumb[_ngcontent-%COMP%]{background-color:transparent;border-radius:0;margin-top:8px;padding:8px 0}.breadcrumb[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]:before{content:"\\f101";font-family:"ForkAwesome";padding:0 5px 0 7px}']}),f})();const vm=function(f){return{dashboard:f}};let ym=(()=>{class f{constructor(n,d,w,re){this.router=n,this.summaryService=d,this.taskManagerService=w,this.faviconService=re,this.subs=new Vl.w}ngOnInit(){this.subs.add(this.summaryService.startPolling()),this.subs.add(this.taskManagerService.init(this.summaryService)),this.faviconService.init()}ngOnDestroy(){this.subs.unsubscribe()}isDashboardPage(){return"/dashboard"===this.router.url}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(tn.F0),e.Y36(Qh.J),e.Y36(Xh.k),e.Y36(z0))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-workbench-layout"]],features:[e._Bn([z0])],decls:6,vars:3,consts:[[1,"container-fluid","h-100",3,"ngClass"]],template:function(n,d){1&n&&(e.TgZ(0,"block-ui"),e.TgZ(1,"cd-navigation"),e.TgZ(2,"div",0),e._UZ(3,"cd-context"),e._UZ(4,"cd-breadcrumbs"),e._UZ(5,"router-outlet"),e.qZA(),e.qZA(),e.qZA()),2&n&&(e.xp6(2),e.Q6J("ngClass",e.VKq(1,vm,d.isDashboardPage())))},directives:[Bm,gT,s.mk,BC,Oy,tn.lC],styles:[".dashboard[_ngcontent-%COMP%]{background-color:#e9ecef;margin:0;padding:0}.container-fluid[_ngcontent-%COMP%]{overflow:auto;position:absolute}"]}),f})();var YC=o(11642),og=o.n(YC);let $l=(()=>{class f{ngOnInit(){og()({url:window.location.origin+"/docs/openapi.json",dom_id:"#swagger-ui",layout:"BaseLayout"})}}return f.\u0275fac=function(n){return new(n||f)},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-api-docs"]],decls:1,vars:0,consts:[["id","swagger-ui",1,"apiDocs"]],template:function(n,d){1&n&&e._UZ(0,"div",0)},styles:[".apiDocs[_ngcontent-%COMP%]{background:#f8f9fa;font-size:18px!important;margin-top:-48px!important}"]}),f})();var mp=o(45510);let ph=(()=>{class f{constructor(n,d){this.router=n,this.authStorageService=d}canActivate(n,d){return!(this.authStorageService.isLoggedIn()&&!this.authStorageService.isSSO()&&this.authStorageService.getPwdUpdateRequired()&&(this.router.navigate(["/login-change-password"],{queryParams:{returnUrl:d.url}}),1))}canActivateChild(n,d){return this.canActivate(n,d)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(tn.F0),e.LFG(hi.j))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})();var hh=o(4222);let bm=(()=>{class f{constructor(n,d,w){this.http=n,this.router=d,this.mgrModuleService=w}canActivate(n){return this.doCheck(n)}canActivateChild(n){return this.doCheck(n)}doCheck(n){if(n.url.length>0&&f.ALLOWLIST.includes(n.url[0].path))return(0,ws.of)(!0);const d=n.data.moduleStatusGuardConfig;let w=!1;return d.backend&&this.mgrModuleService.getConfig("orchestrator").subscribe(re=>{w=d.backend===re.orchestrator},()=>(this.router.navigate([d.redirectTo]),(0,ws.of)(!1))),this.http.get(`api/${d.apiPath}/status`).pipe((0,Ds.U)(re=>(!re.available&&!w&&this.router.navigate([d.redirectTo||""],{state:{header:d.header,message:re.message,section:d.section,section_info:d.section_info,icon:eo.P.wrench}}),re.available)),(0,sd.K)(()=>(this.router.navigate([d.redirectTo]),(0,ws.of)(!1))))}}return f.ALLOWLIST=["501"],f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN),e.LFG(tn.F0),e.LFG(Mt))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),ba=(()=>{class f{constructor(n){this.authStorageService=n}canActivate(){if(!this.authStorageService.isSSO())return!0;throw new O.mM}canActivateChild(){return this.canActivate()}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(hi.j))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),Id=(()=>{class f extends ig{resolve(n){const d=[],w=n.queryParams.fromLink||null;let re="";switch(w){case"/monitor":re="Monitors";break;case"/hosts":re="Hosts"}return d.push({text:"Cluster",path:null}),d.push({text:re,path:w}),d.push({text:"Performance Counters",path:""}),d}}return f.\u0275fac=function(){let y;return function(d){return(y||(y=e.n5z(f)))(d||f)}}(),f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})(),Em=(()=>{class f extends ig{resolve(n){const d=n.params.name;return[{text:`${gn().startCase(d)}/Edit`,path:d}]}}return f.\u0275fac=function(){let y;return function(d){return(y||(y=e.n5z(f)))(d||f)}}(),f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})();const _h=[{path:"",redirectTo:"dashboard",pathMatch:"full"},{path:"api-docs",component:$l},{path:"",component:ym,canActivate:[mp.P,ph],canActivateChild:[mp.P,ph],children:[{path:"dashboard",component:i0},{path:"error",component:Y0},{path:"expand-cluster",component:ko,canActivate:[bm],data:{moduleStatusGuardConfig:{apiPath:"orchestrator",redirectTo:"dashboard",backend:"cephadm"},breadcrumbs:"Expand Cluster"}},{path:"hosts",component:zu,data:{breadcrumbs:"Cluster/Hosts"},children:[{path:uo.MQ.ADD,component:qe,outlet:"modal"}]},{path:"monitor",component:Vm,data:{breadcrumbs:"Cluster/Monitors"}},{path:"services",component:m_,canActivate:[bm],data:{moduleStatusGuardConfig:{apiPath:"orchestrator",redirectTo:"error",section:"orch",section_info:"Orchestrator",header:"Orchestrator is not available"},breadcrumbs:"Cluster/Services"},children:[{path:uo.MQ.CREATE,component:__,outlet:"modal"},{path:`${uo.MQ.EDIT}/:type/:name`,component:__,outlet:"modal"}]},{path:"inventory",canActivate:[bm],component:Gl,data:{moduleStatusGuardConfig:{apiPath:"orchestrator",redirectTo:"error",section:"orch",section_info:"Orchestrator",header:"Orchestrator is not available"},breadcrumbs:"Cluster/Physical Disks"}},{path:"osd",data:{breadcrumbs:"Cluster/OSDs"},children:[{path:"",component:Vh},{path:uo.MQ.CREATE,component:md,data:{breadcrumbs:uo.Qn.CREATE}}]},{path:"configuration",data:{breadcrumbs:"Cluster/Configuration"},children:[{path:"",component:Aa},{path:"edit/:name",component:Wo,data:{breadcrumbs:uo.Qn.EDIT}}]},{path:"crush-map",component:Ih,data:{breadcrumbs:"Cluster/CRUSH map"}},{path:"logs",component:Ee,data:{breadcrumbs:"Cluster/Logs"}},{path:"telemetry",component:yb,data:{breadcrumbs:"Telemetry configuration"}},{path:"monitoring",data:{breadcrumbs:"Cluster/Monitoring"},children:[{path:"",redirectTo:"active-alerts",pathMatch:"full"},{path:"active-alerts",data:{breadcrumbs:"Active Alerts"},component:Zg},{path:"alerts",data:{breadcrumbs:"Alerts"},component:Wg},{path:"silences",data:{breadcrumbs:"Silences"},children:[{path:"",component:pb},{path:uo.MQ.CREATE,component:Jg,data:{breadcrumbs:`${uo.Qn.CREATE} Silence`}},{path:`${uo.MQ.CREATE}/:id`,component:Jg,data:{breadcrumbs:uo.Qn.CREATE}},{path:`${uo.MQ.EDIT}/:id`,component:Jg,data:{breadcrumbs:uo.Qn.EDIT}},{path:`${uo.MQ.RECREATE}/:id`,component:Jg,data:{breadcrumbs:uo.Qn.RECREATE}}]}]},{path:"perf_counters/:type/:id",component:L0,data:{breadcrumbs:Id}},{path:"mgr-modules",data:{breadcrumbs:"Cluster/Manager Modules"},children:[{path:"",component:dc},{path:"edit/:name",component:rc,data:{breadcrumbs:Em}}]},{path:"pool",data:{breadcrumbs:"Pools"},loadChildren:()=>Promise.all([o.e(330),o.e(585)]).then(o.bind(o,24585)).then(f=>f.RoutedPoolModule)},{path:"block",data:{breadcrumbs:!0,text:"Block",path:null},loadChildren:()=>o.e(330).then(o.bind(o,91330)).then(f=>f.RoutedBlockModule)},{path:"cephfs",component:ge,canActivate:[hh.T],data:{breadcrumbs:"File Systems"}},{path:"rgw",canActivateChild:[hh.T,bm],data:{moduleStatusGuardConfig:{apiPath:"rgw",redirectTo:"error",section:"rgw",section_info:"Object Gateway",header:"The Object Gateway Service is not configured"},breadcrumbs:!0,text:"Object Gateway",path:null},loadChildren:()=>o.e(281).then(o.bind(o,59281)).then(f=>f.RoutedRgwModule)},{path:"user-management",data:{breadcrumbs:"User management",path:null},loadChildren:()=>Promise.resolve().then(o.bind(o,49552)).then(f=>f.RoutedAuthModule)},{path:"user-profile",data:{breadcrumbs:"User profile",path:null},children:[{path:uo.MQ.EDIT,component:H1,canActivate:[ba],data:{breadcrumbs:uo.Qn.EDIT}}]},{path:"nfs",canActivateChild:[hh.T,bm],data:{moduleStatusGuardConfig:{apiPath:"nfs-ganesha",redirectTo:"error",section:"nfs-ganesha",section_info:"NFS GANESHA",header:"NFS-Ganesha is not configured"},breadcrumbs:"NFS"},children:[{path:"",component:I0},{path:uo.MQ.CREATE,component:x0,data:{breadcrumbs:uo.Qn.CREATE}},{path:`${uo.MQ.EDIT}/:cluster_id/:export_id`,component:x0,data:{breadcrumbs:uo.Qn.EDIT}}]}]},{path:"",component:G0,children:[{path:"login",component:bE},{path:"login-change-password",component:U0,canActivate:[ba]}]},{path:"",component:am,children:[{path:"**",redirectTo:"/error"}]}];let Q1=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({providers:[Em,Id],imports:[[tn.Bz.forRoot(_h,{useHash:!0,preloadingStrategy:tn.wm,relativeLinkResolution:"legacy"})],tn.Bz]}),f})(),Ay=(()=>{class f{constructor(n,d){n.autoClose="outside",n.container="body",n.placement="bottom",d.container="body"}}return f.\u0275fac=function(n){return new(n||f)(e.Y36(Br.AX),e.Y36(Br.xI))},f.\u0275cmp=e.Xpm({type:f,selectors:[["cd-root"]],decls:1,vars:0,template:function(n,d){1&n&&e._UZ(0,"router-outlet")},directives:[tn.lC],styles:[""]}),f})();var Of=o(44466);let ZC=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[s.ez,Of.m,Q1,Sr.m9,Es.xc,Br.Oz]]}),f})();var wy=o(66265),Dy=o(370);let Xd=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[Q1,s.ez,Hn.UX,Of.m,Br.Oz]]}),f})(),Nc=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({providers:[Br.Kz],imports:[[s.ez,wy.B,Br.Oz,Of.m,tn.Bz,Hn.u5,Hn.UX,Br.HK,Xd,Br.ZS,Br.UL,Es.xc,Dy.t,Br.M,Br.dT,Br.XC,yt.b]]}),f})(),Af=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[Dy.t,s.ez,Br.Oz,Of.m,Sr.m9,tn.Bz,Br.dT,Hn.u5,Hn.UX]]}),f})(),xy=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[Hn.UX,tn.Bz,Of.m,Br.Oz,s.ez,Br.ZS,Br.HK]]}),f})(),MT=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[s.ez,Nc,Af,wy.B,ZC,xy,Of.m]]}),f})();var Ry=o(49552);let Tm=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[s.ez,Ry.AuthModule,Br.lQ,Br.XC,Q1,Of.m,eg.t,tn.Bz]]}),f})(),t_=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f}),f.\u0275inj=e.cJS({imports:[[pp.forRoot(),s.ez,Tm,Br.XC,tn.Bz,Of.m],Tm]}),f})(),OT=(()=>{class f{constructor(n,d,w){this.router=n,this.authStorageService=d,this.notificationService=w}intercept(n,d){const w=n.headers.get("Accept");let re;return re=w&&w.startsWith("application/vnd.ceph.api.v")?n.clone():n.clone({setHeaders:{Accept:sl.T.cdVersionHeader("1","0")}}),d.handle(re).pipe((0,sd.K)(Ze=>{if(Ze instanceof a.UA){let Lt;switch(Ze.status){case 400:const Gt=new Va.R,On=Ze.error.task;gn().isPlainObject(On)?(On.metadata.component=On.metadata.component||Ze.error.component,Gt.name=On.name,Gt.metadata=On.metadata):Gt.metadata=Ze.error,Gt.success=!1,Gt.exception=Ze.error,Lt=this.notificationService.notifyTask(Gt);break;case 401:this.authStorageService.remove(),this.router.navigate(["/login"]);break;case 403:this.router.navigate(["error"],{state:{message:"Sorry, you don\u2019t have permission to view this page or resource.",header:"Access Denied",icon:"fa fa-lock",source:"forbidden"}});break;default:Lt=this.prepareNotification(Ze)}Ze.preventDefault=()=>{this.notificationService.cancel(Lt)},Ze.ignoreStatusCode=function(Gt){this.status===Gt&&this.preventDefault()}}return(0,D1._)(Ze)}))}prepareNotification(n){return this.notificationService.show(()=>{let d="";return gn().isPlainObject(n.error)&&gn().isString(n.error.detail)?d=n.error.detail:gn().isString(n.error)?d=n.error:gn().isString(n.message)&&(d=n.message),new Qf.T(Ho.k.error,`${n.status} - ${n.statusText}`,d,void 0,n.application)})}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(tn.F0),e.LFG(hi.j),e.LFG(Zi.g))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),gh=(()=>{class f{constructor(n){this.http=n}jsError(n,d,w){return this.http.post("ui-api/logging/js-error",{url:n,message:d,stack:w})}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(a.eN))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f})(),AT=(()=>{class f{constructor(n,d){this.injector=n,this.router=d}handleError(n){const d=this.injector.get(gh),w=window.location.href;if(d.jsError(w,n&&n.message,n&&n.stack).subscribe(),!(n.rejection instanceof O.s9))throw n;setTimeout(()=>this.router.navigate(["error"],{state:{message:n.rejection.message,header:n.rejection.header,icon:n.rejection.icon}}),50)}}return f.\u0275fac=function(n){return new(n||f)(e.LFG(e.zs3),e.LFG(tn.F0))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac}),f})(),Ny=(()=>{class f{}return f.\u0275fac=function(n){return new(n||f)},f.\u0275mod=e.oAB({type:f,bootstrap:[Ay]}),f.\u0275inj=e.cJS({providers:[{provide:e.qLn,useClass:AT},{provide:a.TP,useClass:OT,multi:!0},{provide:s.mr,useValue:"/"+(window.location.pathname.split("/",1)[1]||"")}],imports:[[a.JF,t.b2,ze,kt.Rh.forRoot({positionClass:"toast-top-right",preventDuplicates:!0,enableHtml:!0}),Q1,t_,Of.m,MT],Of.m]}),f})();Z0.N.production&&(0,e.G48)(),t.q6().bootstrapModule(Ny).then(f=>{if((0,e.X6Q)()){const n=f.injector.get(e.z2F).components[0];(0,t.HJ)(n)}}).catch(f=>console.log(f))},77340:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=o(60802),a=t.TypeError;Ge.exports=function(l){if(e(l))return l;throw a(s(l)+" is not a function")}},95143:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=t.String,a=t.TypeError;Ge.exports=function(l){if("object"==typeof l||e(l))return l;throw a("Can't set "+s(l)+" as a prototype")}},24094:(Ge,g,o)=>{var t=o(84563),e=o(38724),s=o(52975),a=t("unscopables"),l=Array.prototype;null==l[a]&&s.f(l,a,{configurable:!0,value:e(null)}),Ge.exports=function(u){l[a][u]=!0}},27678:(Ge,g,o)=>{"use strict";var t=o(64487).charAt;Ge.exports=function(e,s,a){return s+(a?t(e,s).length:1)}},86063:(Ge,g,o)=>{var t=o(31864),e=o(93290),s=t.TypeError;Ge.exports=function(a,l){if(e(l,a))return a;throw s("Incorrect invocation")}},21099:(Ge,g,o)=>{var t=o(31864),e=o(60726),s=t.String,a=t.TypeError;Ge.exports=function(l){if(e(l))return l;throw a(s(l)+" is not an object")}},93241:(Ge,g,o)=>{var t=o(8597);Ge.exports=t(function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})},17462:(Ge,g,o)=>{"use strict";var t=o(94115).forEach,s=o(47051)("forEach");Ge.exports=s?[].forEach:function(l){return t(this,l,arguments.length>1?arguments[1]:void 0)}},70452:(Ge,g,o)=>{var t=o(8643),e=o(20222),s=o(24196),a=function(l){return function(u,h,_){var D,m=t(u),b=s(m),C=e(_,b);if(l&&h!=h){for(;b>C;)if((D=m[C++])!=D)return!0}else for(;b>C;C++)if((l||C in m)&&m[C]===h)return l||C||0;return!l&&-1}};Ge.exports={includes:a(!0),indexOf:a(!1)}},94115:(Ge,g,o)=>{var t=o(29727),e=o(47964),s=o(56169),a=o(16174),l=o(24196),u=o(62889),h=e([].push),_=function(m){var b=1==m,C=2==m,D=3==m,x=4==m,j=6==m,H=7==m,z=5==m||j;return function(U,M,I,J){for(var Ae,Me,Y=a(U),ie=s(Y),oe=t(M,I),fe=l(ie),ne=0,he=J||u,ce=b?he(U,fe):C||H?he(U,0):void 0;fe>ne;ne++)if((z||ne in ie)&&(Me=oe(Ae=ie[ne],ne,Y),m))if(b)ce[ne]=Me;else if(Me)switch(m){case 3:return!0;case 5:return Ae;case 6:return ne;case 2:h(ce,Ae)}else switch(m){case 4:return!1;case 7:h(ce,Ae)}return j?-1:D||x?x:ce}};Ge.exports={forEach:_(0),map:_(1),filter:_(2),some:_(3),every:_(4),find:_(5),findIndex:_(6),filterReject:_(7)}},37394:(Ge,g,o)=>{var t=o(8597),e=o(84563),s=o(17189),a=e("species");Ge.exports=function(l){return s>=51||!t(function(){var u=[];return(u.constructor={})[a]=function(){return{foo:1}},1!==u[l](Boolean).foo})}},47051:(Ge,g,o)=>{"use strict";var t=o(8597);Ge.exports=function(e,s){var a=[][e];return!!a&&t(function(){a.call(null,s||function(){throw 1},1)})}},14716:(Ge,g,o)=>{var t=o(31864),e=o(77340),s=o(16174),a=o(56169),l=o(24196),u=t.TypeError,h=function(_){return function(m,b,C,D){e(b);var x=s(m),j=a(x),H=l(x),z=_?H-1:0,U=_?-1:1;if(C<2)for(;;){if(z in j){D=j[z],z+=U;break}if(z+=U,_?z<0:H<=z)throw u("Reduce of empty array with no initial value")}for(;_?z>=0:H>z;z+=U)z in j&&(D=b(D,j[z],z,x));return D}};Ge.exports={left:h(!1),right:h(!0)}},32342:(Ge,g,o)=>{var t=o(31864),e=o(20222),s=o(24196),a=o(45347),l=t.Array,u=Math.max;Ge.exports=function(h,_,m){for(var b=s(h),C=e(_,b),D=e(void 0===m?b:m,b),x=l(u(D-C,0)),j=0;C<D;C++,j++)a(x,j,h[C]);return x.length=j,x}},71497:(Ge,g,o)=>{var t=o(31864),e=o(47883),s=o(57995),a=o(60726),u=o(84563)("species"),h=t.Array;Ge.exports=function(_){var m;return e(_)&&(s(m=_.constructor)&&(m===h||e(m.prototype))||a(m)&&null===(m=m[u]))&&(m=void 0),void 0===m?h:m}},62889:(Ge,g,o)=>{var t=o(71497);Ge.exports=function(e,s){return new(t(e))(0===s?0:s)}},56297:(Ge,g,o)=>{var e=o(84563)("iterator"),s=!1;try{var a=0,l={next:function(){return{done:!!a++}},return:function(){s=!0}};l[e]=function(){return this},Array.from(l,function(){throw 2})}catch(u){}Ge.exports=function(u,h){if(!h&&!s)return!1;var _=!1;try{var m={};m[e]=function(){return{next:function(){return{done:_=!0}}}},u(m)}catch(b){}return _}},96644:(Ge,g,o)=>{var t=o(47964),e=t({}.toString),s=t("".slice);Ge.exports=function(a){return s(e(a),8,-1)}},99420:(Ge,g,o)=>{var t=o(31864),e=o(72900),s=o(25591),a=o(96644),u=o(84563)("toStringTag"),h=t.Object,_="Arguments"==a(function(){return arguments}());Ge.exports=e?a:function(b){var C,D,x;return void 0===b?"Undefined":null===b?"Null":"string"==typeof(D=function(b,C){try{return b[C]}catch(D){}}(C=h(b),u))?D:_?a(C):"Object"==(x=a(C))&&s(C.callee)?"Arguments":x}},96491:(Ge,g,o)=>{"use strict";var t=o(47964),e=o(78715),s=o(64238).getWeakData,a=o(21099),l=o(60726),u=o(86063),h=o(53284),_=o(94115),m=o(62445),b=o(52493),C=b.set,D=b.getterFor,x=_.find,j=_.findIndex,H=t([].splice),z=0,U=function(J){return J.frozen||(J.frozen=new M)},M=function(){this.entries=[]},I=function(J,Y){return x(J.entries,function(ie){return ie[0]===Y})};M.prototype={get:function(J){var Y=I(this,J);if(Y)return Y[1]},has:function(J){return!!I(this,J)},set:function(J,Y){var ie=I(this,J);ie?ie[1]=Y:this.entries.push([J,Y])},delete:function(J){var Y=j(this.entries,function(ie){return ie[0]===J});return~Y&&H(this.entries,Y,1),!!~Y}},Ge.exports={getConstructor:function(J,Y,ie,oe){var fe=J(function(Ae,Me){u(Ae,ne),C(Ae,{type:Y,id:z++,frozen:void 0}),null!=Me&&h(Me,Ae[oe],{that:Ae,AS_ENTRIES:ie})}),ne=fe.prototype,he=D(Y),ce=function(Ae,Me,Oe){var be=he(Ae),ue=s(a(Me),!0);return!0===ue?U(be).set(Me,Oe):ue[be.id]=Oe,Ae};return e(ne,{delete:function(Ae){var Me=he(this);if(!l(Ae))return!1;var Oe=s(Ae);return!0===Oe?U(Me).delete(Ae):Oe&&m(Oe,Me.id)&&delete Oe[Me.id]},has:function(Me){var Oe=he(this);if(!l(Me))return!1;var be=s(Me);return!0===be?U(Oe).has(Me):be&&m(be,Oe.id)}}),e(ne,ie?{get:function(Me){var Oe=he(this);if(l(Me)){var be=s(Me);return!0===be?U(Oe).get(Me):be?be[Oe.id]:void 0}},set:function(Me,Oe){return ce(this,Me,Oe)}}:{add:function(Me){return ce(this,Me,!0)}}),fe}}},41603:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(31864),s=o(47964),a=o(87215),l=o(87763),u=o(64238),h=o(53284),_=o(86063),m=o(25591),b=o(60726),C=o(8597),D=o(56297),x=o(58242),j=o(38267);Ge.exports=function(H,z,U){var M=-1!==H.indexOf("Map"),I=-1!==H.indexOf("Weak"),J=M?"set":"add",Y=e[H],ie=Y&&Y.prototype,oe=Y,fe={},ne=function(ue){var He=s(ie[ue]);l(ie,ue,"add"==ue?function(F){return He(this,0===F?0:F),this}:"delete"==ue?function($e){return!(I&&!b($e))&&He(this,0===$e?0:$e)}:"get"==ue?function(F){return I&&!b(F)?void 0:He(this,0===F?0:F)}:"has"==ue?function(F){return!(I&&!b(F))&&He(this,0===F?0:F)}:function(F,je){return He(this,0===F?0:F,je),this})};if(a(H,!m(Y)||!(I||ie.forEach&&!C(function(){(new Y).entries().next()}))))oe=U.getConstructor(z,H,M,J),u.enable();else if(a(H,!0)){var ce=new oe,Ae=ce[J](I?{}:-0,1)!=ce,Me=C(function(){ce.has(1)}),Oe=D(function(ue){new Y(ue)}),be=!I&&C(function(){for(var ue=new Y,He=5;He--;)ue[J](He,He);return!ue.has(-0)});Oe||((oe=z(function(ue,He){_(ue,ie);var $e=j(new Y,ue,oe);return null!=He&&h(He,$e[J],{that:$e,AS_ENTRIES:M}),$e})).prototype=ie,ie.constructor=oe),(Me||be)&&(ne("delete"),ne("has"),M&&ne("get")),(be||Ae)&&ne(J),I&&ie.clear&&delete ie.clear}return fe[H]=oe,t({global:!0,forced:oe!=Y},fe),x(oe,H),I||U.setStrong(oe,H,M),oe}},30009:(Ge,g,o)=>{var t=o(62445),e=o(99376),s=o(93099),a=o(52975);Ge.exports=function(l,u,h){for(var _=e(u),m=a.f,b=s.f,C=0;C<_.length;C++){var D=_[C];!t(l,D)&&(!h||!t(h,D))&&m(l,D,b(u,D))}}},51335:(Ge,g,o)=>{var t=o(8597);Ge.exports=!t(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},17453:(Ge,g,o)=>{"use strict";var t=o(92053).IteratorPrototype,e=o(38724),s=o(53203),a=o(58242),l=o(72339),u=function(){return this};Ge.exports=function(h,_,m,b){var C=_+" Iterator";return h.prototype=e(t,{next:s(+!b,m)}),a(h,C,!1,!0),l[C]=u,h}},815:(Ge,g,o)=>{var t=o(47012),e=o(52975),s=o(53203);Ge.exports=t?function(a,l,u){return e.f(a,l,s(1,u))}:function(a,l,u){return a[l]=u,a}},53203:Ge=>{Ge.exports=function(g,o){return{enumerable:!(1&g),configurable:!(2&g),writable:!(4&g),value:o}}},45347:(Ge,g,o)=>{"use strict";var t=o(16582),e=o(52975),s=o(53203);Ge.exports=function(a,l,u){var h=t(l);h in a?e.f(a,h,s(0,u)):a[h]=u}},66038:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(757),s=o(97515),a=o(20538),l=o(25591),u=o(17453),h=o(3963),_=o(91464),m=o(58242),b=o(815),C=o(87763),D=o(84563),x=o(72339),j=o(92053),H=a.PROPER,z=a.CONFIGURABLE,U=j.IteratorPrototype,M=j.BUGGY_SAFARI_ITERATORS,I=D("iterator"),J="keys",Y="values",ie="entries",oe=function(){return this};Ge.exports=function(fe,ne,he,ce,Ae,Me,Oe){u(he,ne,ce);var lt,nn,St,be=function(At){if(At===Ae&&je)return je;if(!M&&At in $e)return $e[At];switch(At){case J:case Y:case ie:return function(){return new he(this,At)}}return function(){return new he(this)}},ue=ne+" Iterator",He=!1,$e=fe.prototype,F=$e[I]||$e["@@iterator"]||Ae&&$e[Ae],je=!M&&F||be(Ae),Et="Array"==ne&&$e.entries||F;if(Et&&(lt=h(Et.call(new fe)))!==Object.prototype&<.next&&(!s&&h(lt)!==U&&(_?_(lt,U):l(lt[I])||C(lt,I,oe)),m(lt,ue,!0,!0),s&&(x[ue]=oe)),H&&Ae==Y&&F&&F.name!==Y&&(!s&&z?b($e,"name",Y):(He=!0,je=function(){return e(F,this)})),Ae)if(nn={values:be(Y),keys:Me?je:be(J),entries:be(ie)},Oe)for(St in nn)(M||He||!(St in $e))&&C($e,St,nn[St]);else t({target:ne,proto:!0,forced:M||He},nn);return(!s||Oe)&&$e[I]!==je&&C($e,I,je,{name:Ae}),x[ne]=je,nn}},47012:(Ge,g,o)=>{var t=o(8597);Ge.exports=!t(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},85815:(Ge,g,o)=>{var t=o(31864),e=o(60726),s=t.document,a=e(s)&&e(s.createElement);Ge.exports=function(l){return a?s.createElement(l):{}}},26877:Ge=>{Ge.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},20713:(Ge,g,o)=>{var e=o(85815)("span").classList,s=e&&e.constructor&&e.constructor.prototype;Ge.exports=s===Object.prototype?void 0:s},32002:(Ge,g,o)=>{var t=o(96644),e=o(31864);Ge.exports="process"==t(e.process)},73792:(Ge,g,o)=>{var t=o(73626);Ge.exports=t("navigator","userAgent")||""},17189:(Ge,g,o)=>{var h,_,t=o(31864),e=o(73792),s=t.process,a=t.Deno,l=s&&s.versions||a&&a.version,u=l&&l.v8;u&&(_=(h=u.split("."))[0]>0&&h[0]<4?1:+(h[0]+h[1])),!_&&e&&(!(h=e.match(/Edge\/(\d+)/))||h[1]>=74)&&(h=e.match(/Chrome\/(\d+)/))&&(_=+h[1]),Ge.exports=_},71001:Ge=>{Ge.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},51163:(Ge,g,o)=>{var t=o(31864),e=o(93099).f,s=o(815),a=o(87763),l=o(22341),u=o(30009),h=o(87215);Ge.exports=function(_,m){var j,H,z,U,M,b=_.target,C=_.global,D=_.stat;if(j=C?t:D?t[b]||l(b,{}):(t[b]||{}).prototype)for(H in m){if(U=m[H],z=_.noTargetGet?(M=e(j,H))&&M.value:j[H],!h(C?H:b+(D?".":"#")+H,_.forced)&&void 0!==z){if(typeof U==typeof z)continue;u(U,z)}(_.sham||z&&z.sham)&&s(U,"sham",!0),a(j,H,U,_)}}},8597:Ge=>{Ge.exports=function(g){try{return!!g()}catch(o){return!0}}},9357:(Ge,g,o)=>{"use strict";o(69665);var t=o(47964),e=o(87763),s=o(93084),a=o(8597),l=o(84563),u=o(815),h=l("species"),_=RegExp.prototype;Ge.exports=function(m,b,C,D){var x=l(m),j=!a(function(){var M={};return M[x]=function(){return 7},7!=""[m](M)}),H=j&&!a(function(){var M=!1,I=/a/;return"split"===m&&((I={}).constructor={},I.constructor[h]=function(){return I},I.flags="",I[x]=/./[x]),I.exec=function(){return M=!0,null},I[x](""),!M});if(!j||!H||C){var z=t(/./[x]),U=b(x,""[m],function(M,I,J,Y,ie){var oe=t(M),fe=I.exec;return fe===s||fe===_.exec?j&&!ie?{done:!0,value:z(I,J,Y)}:{done:!0,value:oe(J,I,Y)}:{done:!1}});e(String.prototype,m,U[0]),e(_,x,U[1])}D&&u(_[x],"sham",!0)}},39352:(Ge,g,o)=>{var t=o(8597);Ge.exports=!t(function(){return Object.isExtensible(Object.preventExtensions({}))})},32328:Ge=>{var g=Function.prototype,o=g.apply,e=g.call;Ge.exports="object"==typeof Reflect&&Reflect.apply||(g.bind?e.bind(o):function(){return e.apply(o,arguments)})},29727:(Ge,g,o)=>{var t=o(47964),e=o(77340),s=t(t.bind);Ge.exports=function(a,l){return e(a),void 0===l?a:s?s(a,l):function(){return a.apply(l,arguments)}}},757:Ge=>{var g=Function.prototype.call;Ge.exports=g.bind?g.bind(g):function(){return g.apply(g,arguments)}},20538:(Ge,g,o)=>{var t=o(47012),e=o(62445),s=Function.prototype,a=t&&Object.getOwnPropertyDescriptor,l=e(s,"name"),u=l&&"something"===function(){}.name,h=l&&(!t||t&&a(s,"name").configurable);Ge.exports={EXISTS:l,PROPER:u,CONFIGURABLE:h}},47964:Ge=>{var g=Function.prototype,o=g.bind,t=g.call,e=o&&o.bind(t,t);Ge.exports=o?function(s){return s&&e(s)}:function(s){return s&&function(){return t.apply(s,arguments)}}},73626:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=function(a){return e(a)?a:void 0};Ge.exports=function(a,l){return arguments.length<2?s(t[a]):t[a]&&t[a][l]}},63076:(Ge,g,o)=>{var t=o(99420),e=o(35642),s=o(72339),l=o(84563)("iterator");Ge.exports=function(u){if(null!=u)return e(u,l)||e(u,"@@iterator")||s[t(u)]}},36414:(Ge,g,o)=>{var t=o(31864),e=o(757),s=o(77340),a=o(21099),l=o(60802),u=o(63076),h=t.TypeError;Ge.exports=function(_,m){var b=arguments.length<2?u(_):m;if(s(b))return a(e(b,_));throw h(l(_)+" is not iterable")}},35642:(Ge,g,o)=>{var t=o(77340);Ge.exports=function(e,s){var a=e[s];return null==a?void 0:t(a)}},16162:(Ge,g,o)=>{var t=o(47964),e=o(16174),s=Math.floor,a=t("".charAt),l=t("".replace),u=t("".slice),h=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,_=/\$([$&'`]|\d{1,2})/g;Ge.exports=function(m,b,C,D,x,j){var H=C+m.length,z=D.length,U=_;return void 0!==x&&(x=e(x),U=h),l(j,U,function(M,I){var J;switch(a(I,0)){case"$":return"$";case"&":return m;case"`":return u(b,0,C);case"'":return u(b,H);case"<":J=x[u(I,1,-1)];break;default:var Y=+I;if(0===Y)return M;if(Y>z){var ie=s(Y/10);return 0===ie?M:ie<=z?void 0===D[ie-1]?a(I,1):D[ie-1]+a(I,1):M}J=D[Y-1]}return void 0===J?"":J})}},31864:Ge=>{var g=function(o){return o&&o.Math==Math&&o};Ge.exports=g("object"==typeof globalThis&&globalThis)||g("object"==typeof window&&window)||g("object"==typeof self&&self)||g("object"==typeof global&&global)||function(){return this}()||Function("return this")()},62445:(Ge,g,o)=>{var t=o(47964),e=o(16174),s=t({}.hasOwnProperty);Ge.exports=Object.hasOwn||function(l,u){return s(e(l),u)}},3536:Ge=>{Ge.exports={}},67538:(Ge,g,o)=>{var t=o(73626);Ge.exports=t("document","documentElement")},27091:(Ge,g,o)=>{var t=o(47012),e=o(8597),s=o(85815);Ge.exports=!t&&!e(function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a})},56169:(Ge,g,o)=>{var t=o(31864),e=o(47964),s=o(8597),a=o(96644),l=t.Object,u=e("".split);Ge.exports=s(function(){return!l("z").propertyIsEnumerable(0)})?function(h){return"String"==a(h)?u(h,""):l(h)}:l},38267:(Ge,g,o)=>{var t=o(25591),e=o(60726),s=o(91464);Ge.exports=function(a,l,u){var h,_;return s&&t(h=l.constructor)&&h!==u&&e(_=h.prototype)&&_!==u.prototype&&s(a,_),a}},87720:(Ge,g,o)=>{var t=o(47964),e=o(25591),s=o(59941),a=t(Function.toString);e(s.inspectSource)||(s.inspectSource=function(l){return a(l)}),Ge.exports=s.inspectSource},64238:(Ge,g,o)=>{var t=o(51163),e=o(47964),s=o(3536),a=o(60726),l=o(62445),u=o(52975).f,h=o(94564),_=o(7388),m=o(67117),b=o(94295),C=o(39352),D=!1,x=b("meta"),j=0,H=function(Y){u(Y,x,{value:{objectID:"O"+j++,weakData:{}}})},J=Ge.exports={enable:function(){J.enable=function(){},D=!0;var Y=h.f,ie=e([].splice),oe={};oe[x]=1,Y(oe).length&&(h.f=function(fe){for(var ne=Y(fe),he=0,ce=ne.length;he<ce;he++)if(ne[he]===x){ie(ne,he,1);break}return ne},t({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:_.f}))},fastKey:function(Y,ie){if(!a(Y))return"symbol"==typeof Y?Y:("string"==typeof Y?"S":"P")+Y;if(!l(Y,x)){if(!m(Y))return"F";if(!ie)return"E";H(Y)}return Y[x].objectID},getWeakData:function(Y,ie){if(!l(Y,x)){if(!m(Y))return!0;if(!ie)return!1;H(Y)}return Y[x].weakData},onFreeze:function(Y){return C&&D&&m(Y)&&!l(Y,x)&&H(Y),Y}};s[x]=!0},52493:(Ge,g,o)=>{var x,j,H,t=o(51635),e=o(31864),s=o(47964),a=o(60726),l=o(815),u=o(62445),h=o(59941),_=o(42650),m=o(3536),b="Object already initialized",C=e.TypeError;if(t||h.state){var M=h.state||(h.state=new(0,e.WeakMap)),I=s(M.get),J=s(M.has),Y=s(M.set);x=function(oe,fe){if(J(M,oe))throw new C(b);return fe.facade=oe,Y(M,oe,fe),fe},j=function(oe){return I(M,oe)||{}},H=function(oe){return J(M,oe)}}else{var ie=_("state");m[ie]=!0,x=function(oe,fe){if(u(oe,ie))throw new C(b);return fe.facade=oe,l(oe,ie,fe),fe},j=function(oe){return u(oe,ie)?oe[ie]:{}},H=function(oe){return u(oe,ie)}}Ge.exports={set:x,get:j,has:H,enforce:function(oe){return H(oe)?j(oe):x(oe,{})},getterFor:function(oe){return function(fe){var ne;if(!a(fe)||(ne=j(fe)).type!==oe)throw C("Incompatible receiver, "+oe+" required");return ne}}}},81643:(Ge,g,o)=>{var t=o(84563),e=o(72339),s=t("iterator"),a=Array.prototype;Ge.exports=function(l){return void 0!==l&&(e.Array===l||a[s]===l)}},47883:(Ge,g,o)=>{var t=o(96644);Ge.exports=Array.isArray||function(s){return"Array"==t(s)}},25591:Ge=>{Ge.exports=function(g){return"function"==typeof g}},57995:(Ge,g,o)=>{var t=o(47964),e=o(8597),s=o(25591),a=o(99420),l=o(73626),u=o(87720),h=function(){},_=[],m=l("Reflect","construct"),b=/^\s*(?:class|function)\b/,C=t(b.exec),D=!b.exec(h),x=function(z){if(!s(z))return!1;try{return m(h,_,z),!0}catch(U){return!1}},j=function(z){if(!s(z))return!1;switch(a(z)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return D||!!C(b,u(z))}catch(U){return!0}};j.sham=!0,Ge.exports=!m||e(function(){var H;return x(x.call)||!x(Object)||!x(function(){H=!0})||H})?j:x},87215:(Ge,g,o)=>{var t=o(8597),e=o(25591),s=/#|\.prototype\./,a=function(m,b){var C=u[l(m)];return C==_||C!=h&&(e(b)?t(b):!!b)},l=a.normalize=function(m){return String(m).replace(s,".").toLowerCase()},u=a.data={},h=a.NATIVE="N",_=a.POLYFILL="P";Ge.exports=a},60726:(Ge,g,o)=>{var t=o(25591);Ge.exports=function(e){return"object"==typeof e?null!==e:t(e)}},97515:Ge=>{Ge.exports=!1},26186:(Ge,g,o)=>{var t=o(31864),e=o(73626),s=o(25591),a=o(93290),l=o(24431),u=t.Object;Ge.exports=l?function(h){return"symbol"==typeof h}:function(h){var _=e("Symbol");return s(_)&&a(_.prototype,u(h))}},53284:(Ge,g,o)=>{var t=o(31864),e=o(29727),s=o(757),a=o(21099),l=o(60802),u=o(81643),h=o(24196),_=o(93290),m=o(36414),b=o(63076),C=o(87883),D=t.TypeError,x=function(H,z){this.stopped=H,this.result=z},j=x.prototype;Ge.exports=function(H,z,U){var oe,fe,ne,he,ce,Ae,Me,I=!(!U||!U.AS_ENTRIES),J=!(!U||!U.IS_ITERATOR),Y=!(!U||!U.INTERRUPTED),ie=e(z,U&&U.that),Oe=function(ue){return oe&&C(oe,"normal",ue),new x(!0,ue)},be=function(ue){return I?(a(ue),Y?ie(ue[0],ue[1],Oe):ie(ue[0],ue[1])):Y?ie(ue,Oe):ie(ue)};if(J)oe=H;else{if(!(fe=b(H)))throw D(l(H)+" is not iterable");if(u(fe)){for(ne=0,he=h(H);he>ne;ne++)if((ce=be(H[ne]))&&_(j,ce))return ce;return new x(!1)}oe=m(H,fe)}for(Ae=oe.next;!(Me=s(Ae,oe)).done;){try{ce=be(Me.value)}catch(ue){C(oe,"throw",ue)}if("object"==typeof ce&&ce&&_(j,ce))return ce}return new x(!1)}},87883:(Ge,g,o)=>{var t=o(757),e=o(21099),s=o(35642);Ge.exports=function(a,l,u){var h,_;e(a);try{if(!(h=s(a,"return"))){if("throw"===l)throw u;return u}h=t(h,a)}catch(m){_=!0,h=m}if("throw"===l)throw u;if(_)throw h;return e(h),u}},92053:(Ge,g,o)=>{"use strict";var b,C,D,t=o(8597),e=o(25591),s=o(38724),a=o(3963),l=o(87763),u=o(84563),h=o(97515),_=u("iterator"),m=!1;[].keys&&("next"in(D=[].keys())?(C=a(a(D)))!==Object.prototype&&(b=C):m=!0),null==b||t(function(){var j={};return b[_].call(j)!==j})?b={}:h&&(b=s(b)),e(b[_])||l(b,_,function(){return this}),Ge.exports={IteratorPrototype:b,BUGGY_SAFARI_ITERATORS:m}},72339:Ge=>{Ge.exports={}},24196:(Ge,g,o)=>{var t=o(15902);Ge.exports=function(e){return t(e.length)}},77040:(Ge,g,o)=>{var t=o(17189),e=o(8597);Ge.exports=!!Object.getOwnPropertySymbols&&!e(function(){var s=Symbol();return!String(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&t&&t<41})},51635:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=o(87720),a=t.WeakMap;Ge.exports=e(a)&&/native code/.test(s(a))},43656:(Ge,g,o)=>{var t=o(31864),e=o(8597),s=o(47964),a=o(73574),l=o(51664).trim,u=o(48004),h=t.parseInt,_=t.Symbol,m=_&&_.iterator,b=/^[+-]?0x/i,C=s(b.exec),D=8!==h(u+"08")||22!==h(u+"0x16")||m&&!e(function(){h(Object(m))});Ge.exports=D?function(j,H){var z=l(a(j));return h(z,H>>>0||(C(b,z)?16:10))}:h},51746:(Ge,g,o)=>{"use strict";var t=o(47012),e=o(47964),s=o(757),a=o(8597),l=o(68032),u=o(77593),h=o(5600),_=o(16174),m=o(56169),b=Object.assign,C=Object.defineProperty,D=e([].concat);Ge.exports=!b||a(function(){if(t&&1!==b({b:1},b(C({},"a",{enumerable:!0,get:function(){C(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var x={},j={},H=Symbol(),z="abcdefghijklmnopqrst";return x[H]=7,z.split("").forEach(function(U){j[U]=U}),7!=b({},x)[H]||l(b({},j)).join("")!=z})?function(j,H){for(var z=_(j),U=arguments.length,M=1,I=u.f,J=h.f;U>M;)for(var ne,Y=m(arguments[M++]),ie=I?D(l(Y),I(Y)):l(Y),oe=ie.length,fe=0;oe>fe;)ne=ie[fe++],(!t||s(J,Y,ne))&&(z[ne]=Y[ne]);return z}:b},38724:(Ge,g,o)=>{var U,t=o(21099),e=o(10988),s=o(71001),a=o(3536),l=o(67538),u=o(85815),h=o(42650),b="prototype",C="script",D=h("IE_PROTO"),x=function(){},j=function(I){return"<"+C+">"+I+"</"+C+">"},H=function(I){I.write(j("")),I.close();var J=I.parentWindow.Object;return I=null,J},M=function(){try{U=new ActiveXObject("htmlfile")}catch(J){}M="undefined"!=typeof document?document.domain&&U?H(U):function(){var Y,I=u("iframe");return I.style.display="none",l.appendChild(I),I.src=String("javascript:"),(Y=I.contentWindow.document).open(),Y.write(j("document.F=Object")),Y.close(),Y.F}():H(U);for(var I=s.length;I--;)delete M[b][s[I]];return M()};a[D]=!0,Ge.exports=Object.create||function(J,Y){var ie;return null!==J?(x[b]=t(J),ie=new x,x[b]=null,ie[D]=J):ie=M(),void 0===Y?ie:e.f(ie,Y)}},10988:(Ge,g,o)=>{var t=o(47012),e=o(52339),s=o(52975),a=o(21099),l=o(8643),u=o(68032);g.f=t&&!e?Object.defineProperties:function(_,m){a(_);for(var j,b=l(m),C=u(m),D=C.length,x=0;D>x;)s.f(_,j=C[x++],b[j]);return _}},52975:(Ge,g,o)=>{var t=o(31864),e=o(47012),s=o(27091),a=o(52339),l=o(21099),u=o(16582),h=t.TypeError,_=Object.defineProperty,m=Object.getOwnPropertyDescriptor,b="enumerable",C="configurable",D="writable";g.f=e?a?function(j,H,z){if(l(j),H=u(H),l(z),"function"==typeof j&&"prototype"===H&&"value"in z&&D in z&&!z[D]){var U=m(j,H);U&&U[D]&&(j[H]=z.value,z={configurable:C in z?z[C]:U[C],enumerable:b in z?z[b]:U[b],writable:!1})}return _(j,H,z)}:_:function(j,H,z){if(l(j),H=u(H),l(z),s)try{return _(j,H,z)}catch(U){}if("get"in z||"set"in z)throw h("Accessors not supported");return"value"in z&&(j[H]=z.value),j}},93099:(Ge,g,o)=>{var t=o(47012),e=o(757),s=o(5600),a=o(53203),l=o(8643),u=o(16582),h=o(62445),_=o(27091),m=Object.getOwnPropertyDescriptor;g.f=t?m:function(C,D){if(C=l(C),D=u(D),_)try{return m(C,D)}catch(x){}if(h(C,D))return a(!e(s.f,C,D),C[D])}},7388:(Ge,g,o)=>{var t=o(96644),e=o(8643),s=o(94564).f,a=o(32342),l="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];Ge.exports.f=function(_){return l&&"Window"==t(_)?function(h){try{return s(h)}catch(_){return a(l)}}(_):s(e(_))}},94564:(Ge,g,o)=>{var t=o(77759),s=o(71001).concat("length","prototype");g.f=Object.getOwnPropertyNames||function(l){return t(l,s)}},77593:(Ge,g)=>{g.f=Object.getOwnPropertySymbols},3963:(Ge,g,o)=>{var t=o(31864),e=o(62445),s=o(25591),a=o(16174),l=o(42650),u=o(51335),h=l("IE_PROTO"),_=t.Object,m=_.prototype;Ge.exports=u?_.getPrototypeOf:function(b){var C=a(b);if(e(C,h))return C[h];var D=C.constructor;return s(D)&&C instanceof D?D.prototype:C instanceof _?m:null}},67117:(Ge,g,o)=>{var t=o(8597),e=o(60726),s=o(96644),a=o(93241),l=Object.isExtensible,u=t(function(){l(1)});Ge.exports=u||a?function(_){return!(!e(_)||a&&"ArrayBuffer"==s(_))&&(!l||l(_))}:l},93290:(Ge,g,o)=>{var t=o(47964);Ge.exports=t({}.isPrototypeOf)},77759:(Ge,g,o)=>{var t=o(47964),e=o(62445),s=o(8643),a=o(70452).indexOf,l=o(3536),u=t([].push);Ge.exports=function(h,_){var D,m=s(h),b=0,C=[];for(D in m)!e(l,D)&&e(m,D)&&u(C,D);for(;_.length>b;)e(m,D=_[b++])&&(~a(C,D)||u(C,D));return C}},68032:(Ge,g,o)=>{var t=o(77759),e=o(71001);Ge.exports=Object.keys||function(a){return t(a,e)}},5600:(Ge,g)=>{"use strict";var o={}.propertyIsEnumerable,t=Object.getOwnPropertyDescriptor,e=t&&!o.call({1:2},1);g.f=e?function(a){var l=t(this,a);return!!l&&l.enumerable}:o},91464:(Ge,g,o)=>{var t=o(47964),e=o(21099),s=o(95143);Ge.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var u,a=!1,l={};try{(u=t(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(l,[]),a=l instanceof Array}catch(h){}return function(_,m){return e(_),s(m),a?u(_,m):_.__proto__=m,_}}():void 0)},83119:(Ge,g,o)=>{"use strict";var t=o(72900),e=o(99420);Ge.exports=t?{}.toString:function(){return"[object "+e(this)+"]"}},48297:(Ge,g,o)=>{var t=o(31864),e=o(757),s=o(25591),a=o(60726),l=t.TypeError;Ge.exports=function(u,h){var _,m;if("string"===h&&s(_=u.toString)&&!a(m=e(_,u))||s(_=u.valueOf)&&!a(m=e(_,u))||"string"!==h&&s(_=u.toString)&&!a(m=e(_,u)))return m;throw l("Can't convert object to primitive value")}},99376:(Ge,g,o)=>{var t=o(73626),e=o(47964),s=o(94564),a=o(77593),l=o(21099),u=e([].concat);Ge.exports=t("Reflect","ownKeys")||function(_){var m=s.f(l(_)),b=a.f;return b?u(m,b(_)):m}},78715:(Ge,g,o)=>{var t=o(87763);Ge.exports=function(e,s,a){for(var l in s)t(e,l,s[l],a);return e}},87763:(Ge,g,o)=>{var t=o(31864),e=o(25591),s=o(62445),a=o(815),l=o(22341),u=o(87720),h=o(52493),_=o(20538).CONFIGURABLE,m=h.get,b=h.enforce,C=String(String).split("String");(Ge.exports=function(D,x,j,H){var J,z=!!H&&!!H.unsafe,U=!!H&&!!H.enumerable,M=!!H&&!!H.noTargetGet,I=H&&void 0!==H.name?H.name:x;e(j)&&("Symbol("===String(I).slice(0,7)&&(I="["+String(I).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!s(j,"name")||_&&j.name!==I)&&a(j,"name",I),(J=b(j)).source||(J.source=C.join("string"==typeof I?I:""))),D!==t?(z?!M&&D[x]&&(U=!0):delete D[x],U?D[x]=j:a(D,x,j)):U?D[x]=j:l(x,j)})(Function.prototype,"toString",function(){return e(this)&&m(this).source||u(this)})},53793:(Ge,g,o)=>{var t=o(31864),e=o(757),s=o(21099),a=o(25591),l=o(96644),u=o(93084),h=t.TypeError;Ge.exports=function(_,m){var b=_.exec;if(a(b)){var C=e(b,_,m);return null!==C&&s(C),C}if("RegExp"===l(_))return e(u,_,m);throw h("RegExp#exec called on incompatible receiver")}},93084:(Ge,g,o)=>{"use strict";var ie,oe,t=o(757),e=o(47964),s=o(73574),a=o(41891),l=o(29895),u=o(77719),h=o(38724),_=o(52493).get,m=o(38126),b=o(31053),C=u("native-string-replace",String.prototype.replace),D=RegExp.prototype.exec,x=D,j=e("".charAt),H=e("".indexOf),z=e("".replace),U=e("".slice),M=(oe=/b*/g,t(D,ie=/a/,"a"),t(D,oe,"a"),0!==ie.lastIndex||0!==oe.lastIndex),I=l.BROKEN_CARET,J=void 0!==/()??/.exec("")[1];(M||J||I||m||b)&&(x=function(oe){var Ae,Me,Oe,be,ue,He,$e,fe=this,ne=_(fe),he=s(oe),ce=ne.raw;if(ce)return ce.lastIndex=fe.lastIndex,Ae=t(x,ce,he),fe.lastIndex=ce.lastIndex,Ae;var F=ne.groups,je=I&&fe.sticky,Et=t(a,fe),lt=fe.source,nn=0,St=he;if(je&&(Et=z(Et,"y",""),-1===H(Et,"g")&&(Et+="g"),St=U(he,fe.lastIndex),fe.lastIndex>0&&(!fe.multiline||fe.multiline&&"\n"!==j(he,fe.lastIndex-1))&&(lt="(?: "+lt+")",St=" "+St,nn++),Me=new RegExp("^(?:"+lt+")",Et)),J&&(Me=new RegExp("^"+lt+"$(?!\\s)",Et)),M&&(Oe=fe.lastIndex),be=t(D,je?Me:fe,St),je?be?(be.input=U(be.input,nn),be[0]=U(be[0],nn),be.index=fe.lastIndex,fe.lastIndex+=be[0].length):fe.lastIndex=0:M&&be&&(fe.lastIndex=fe.global?be.index+be[0].length:Oe),J&&be&&be.length>1&&t(C,be[0],Me,function(){for(ue=1;ue<arguments.length-2;ue++)void 0===arguments[ue]&&(be[ue]=void 0)}),be&&F)for(be.groups=He=h(null),ue=0;ue<F.length;ue++)He[($e=F[ue])[0]]=be[$e[1]];return be}),Ge.exports=x},41891:(Ge,g,o)=>{"use strict";var t=o(21099);Ge.exports=function(){var e=t(this),s="";return e.global&&(s+="g"),e.ignoreCase&&(s+="i"),e.multiline&&(s+="m"),e.dotAll&&(s+="s"),e.unicode&&(s+="u"),e.sticky&&(s+="y"),s}},29895:(Ge,g,o)=>{var t=o(8597),s=o(31864).RegExp,a=t(function(){var h=s("a","y");return h.lastIndex=2,null!=h.exec("abcd")}),l=a||t(function(){return!s("a","y").sticky}),u=a||t(function(){var h=s("^r","gy");return h.lastIndex=2,null!=h.exec("str")});Ge.exports={BROKEN_CARET:u,MISSED_STICKY:l,UNSUPPORTED_Y:a}},38126:(Ge,g,o)=>{var t=o(8597),s=o(31864).RegExp;Ge.exports=t(function(){var a=s(".","s");return!(a.dotAll&&a.exec("\n")&&"s"===a.flags)})},31053:(Ge,g,o)=>{var t=o(8597),s=o(31864).RegExp;Ge.exports=t(function(){var a=s("(?<a>b)","g");return"b"!==a.exec("b").groups.a||"bc"!=="b".replace(a,"$<a>c")})},95025:(Ge,g,o)=>{var e=o(31864).TypeError;Ge.exports=function(s){if(null==s)throw e("Can't call method on "+s);return s}},22341:(Ge,g,o)=>{var t=o(31864),e=Object.defineProperty;Ge.exports=function(s,a){try{e(t,s,{value:a,configurable:!0,writable:!0})}catch(l){t[s]=a}return a}},58242:(Ge,g,o)=>{var t=o(52975).f,e=o(62445),a=o(84563)("toStringTag");Ge.exports=function(l,u,h){l&&!h&&(l=l.prototype),l&&!e(l,a)&&t(l,a,{configurable:!0,value:u})}},42650:(Ge,g,o)=>{var t=o(77719),e=o(94295),s=t("keys");Ge.exports=function(a){return s[a]||(s[a]=e(a))}},59941:(Ge,g,o)=>{var t=o(31864),e=o(22341),s="__core-js_shared__",a=t[s]||e(s,{});Ge.exports=a},77719:(Ge,g,o)=>{var t=o(97515),e=o(59941);(Ge.exports=function(s,a){return e[s]||(e[s]=void 0!==a?a:{})})("versions",[]).push({version:"3.20.2",mode:t?"pure":"global",copyright:"\xa9 2022 Denis Pushkarev (zloirock.ru)"})},64487:(Ge,g,o)=>{var t=o(47964),e=o(22157),s=o(73574),a=o(95025),l=t("".charAt),u=t("".charCodeAt),h=t("".slice),_=function(m){return function(b,C){var H,z,D=s(a(b)),x=e(C),j=D.length;return x<0||x>=j?m?"":void 0:(H=u(D,x))<55296||H>56319||x+1===j||(z=u(D,x+1))<56320||z>57343?m?l(D,x):H:m?h(D,x,x+2):z-56320+(H-55296<<10)+65536}};Ge.exports={codeAt:_(!1),charAt:_(!0)}},51664:(Ge,g,o)=>{var t=o(47964),e=o(95025),s=o(73574),a=o(48004),l=t("".replace),u="["+a+"]",h=RegExp("^"+u+u+"*"),_=RegExp(u+u+"*$"),m=function(b){return function(C){var D=s(e(C));return 1&b&&(D=l(D,h,"")),2&b&&(D=l(D,_,"")),D}};Ge.exports={start:m(1),end:m(2),trim:m(3)}},20222:(Ge,g,o)=>{var t=o(22157),e=Math.max,s=Math.min;Ge.exports=function(a,l){var u=t(a);return u<0?e(u+l,0):s(u,l)}},8643:(Ge,g,o)=>{var t=o(56169),e=o(95025);Ge.exports=function(s){return t(e(s))}},22157:Ge=>{var g=Math.ceil,o=Math.floor;Ge.exports=function(t){var e=+t;return e!=e||0===e?0:(e>0?o:g)(e)}},15902:(Ge,g,o)=>{var t=o(22157),e=Math.min;Ge.exports=function(s){return s>0?e(t(s),9007199254740991):0}},16174:(Ge,g,o)=>{var t=o(31864),e=o(95025),s=t.Object;Ge.exports=function(a){return s(e(a))}},28495:(Ge,g,o)=>{var t=o(31864),e=o(757),s=o(60726),a=o(26186),l=o(35642),u=o(48297),h=o(84563),_=t.TypeError,m=h("toPrimitive");Ge.exports=function(b,C){if(!s(b)||a(b))return b;var x,D=l(b,m);if(D){if(void 0===C&&(C="default"),x=e(D,b,C),!s(x)||a(x))return x;throw _("Can't convert object to primitive value")}return void 0===C&&(C="number"),u(b,C)}},16582:(Ge,g,o)=>{var t=o(28495),e=o(26186);Ge.exports=function(s){var a=t(s,"string");return e(a)?a:a+""}},72900:(Ge,g,o)=>{var s={};s[o(84563)("toStringTag")]="z",Ge.exports="[object z]"===String(s)},73574:(Ge,g,o)=>{var t=o(31864),e=o(99420),s=t.String;Ge.exports=function(a){if("Symbol"===e(a))throw TypeError("Cannot convert a Symbol value to a string");return s(a)}},60802:(Ge,g,o)=>{var e=o(31864).String;Ge.exports=function(s){try{return e(s)}catch(a){return"Object"}}},94295:(Ge,g,o)=>{var t=o(47964),e=0,s=Math.random(),a=t(1..toString);Ge.exports=function(l){return"Symbol("+(void 0===l?"":l)+")_"+a(++e+s,36)}},24431:(Ge,g,o)=>{var t=o(77040);Ge.exports=t&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},52339:(Ge,g,o)=>{var t=o(47012),e=o(8597);Ge.exports=t&&e(function(){return 42!=Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},84563:(Ge,g,o)=>{var t=o(31864),e=o(77719),s=o(62445),a=o(94295),l=o(77040),u=o(24431),h=e("wks"),_=t.Symbol,m=_&&_.for,b=u?_:_&&_.withoutSetter||a;Ge.exports=function(C){if(!s(h,C)||!l&&"string"!=typeof h[C]){var D="Symbol."+C;h[C]=l&&s(_,C)?_[C]:u&&m?m(D):b(D)}return h[C]}},48004:Ge=>{Ge.exports="\t\n\v\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},85443:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(94115).filter;t({target:"Array",proto:!0,forced:!o(37394)("filter")},{filter:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}})},4690:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(17462);t({target:"Array",proto:!0,forced:[].forEach!=e},{forEach:e})},66837:(Ge,g,o)=>{"use strict";var t=o(8643),e=o(24094),s=o(72339),a=o(52493),l=o(52975).f,u=o(66038),h=o(97515),_=o(47012),m="Array Iterator",b=a.set,C=a.getterFor(m);Ge.exports=u(Array,"Array",function(x,j){b(this,{type:m,target:t(x),index:0,kind:j})},function(){var x=C(this),j=x.target,H=x.kind,z=x.index++;return!j||z>=j.length?(x.target=void 0,{value:void 0,done:!0}):"keys"==H?{value:z,done:!1}:"values"==H?{value:j[z],done:!1}:{value:[z,j[z]],done:!1}},"values");var D=s.Arguments=s.Array;if(e("keys"),e("values"),e("entries"),!h&&_&&"values"!==D.name)try{l(D,"name",{value:"values"})}catch(x){}},35319:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(14716).left,s=o(47051),a=o(17189),l=o(32002);t({target:"Array",proto:!0,forced:!s("reduce")||!l&&a>79&&a<83},{reduce:function(m){var b=arguments.length;return e(this,m,b,b>1?arguments[1]:void 0)}})},80477:(Ge,g,o)=>{var t=o(47012),e=o(20538).EXISTS,s=o(47964),a=o(52975).f,l=Function.prototype,u=s(l.toString),h=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,_=s(h.exec);t&&!e&&a(l,"name",{configurable:!0,get:function(){try{return _(h,u(this))[1]}catch(b){return""}}})},8868:(Ge,g,o)=>{var t=o(51163),e=o(51746);t({target:"Object",stat:!0,forced:Object.assign!==e},{assign:e})},35704:(Ge,g,o)=>{var t=o(72900),e=o(87763),s=o(83119);t||e(Object.prototype,"toString",s,{unsafe:!0})},21581:(Ge,g,o)=>{var t=o(51163),e=o(43656);t({global:!0,forced:parseInt!=e},{parseInt:e})},69665:(Ge,g,o)=>{"use strict";var t=o(51163),e=o(93084);t({target:"RegExp",proto:!0,forced:/./.exec!==e},{exec:e})},13744:(Ge,g,o)=>{"use strict";var t=o(64487).charAt,e=o(73574),s=o(52493),a=o(66038),l="String Iterator",u=s.set,h=s.getterFor(l);a(String,"String",function(_){u(this,{type:l,string:e(_),index:0})},function(){var D,m=h(this),b=m.string,C=m.index;return C>=b.length?{value:void 0,done:!0}:(D=t(b,C),m.index+=D.length,{value:D,done:!1})})},26954:(Ge,g,o)=>{"use strict";var t=o(757),e=o(9357),s=o(21099),a=o(15902),l=o(73574),u=o(95025),h=o(35642),_=o(27678),m=o(53793);e("match",function(b,C,D){return[function(j){var H=u(this),z=null==j?void 0:h(j,b);return z?t(z,j,H):new RegExp(j)[b](l(H))},function(x){var j=s(this),H=l(x),z=D(C,j,H);if(z.done)return z.value;if(!j.global)return m(j,H);var U=j.unicode;j.lastIndex=0;for(var J,M=[],I=0;null!==(J=m(j,H));){var Y=l(J[0]);M[I]=Y,""===Y&&(j.lastIndex=_(H,a(j.lastIndex),U)),I++}return 0===I?null:M}]})},66262:(Ge,g,o)=>{"use strict";var t=o(32328),e=o(757),s=o(47964),a=o(9357),l=o(8597),u=o(21099),h=o(25591),_=o(22157),m=o(15902),b=o(73574),C=o(95025),D=o(27678),x=o(35642),j=o(16162),H=o(53793),U=o(84563)("replace"),M=Math.max,I=Math.min,J=s([].concat),Y=s([].push),ie=s("".indexOf),oe=s("".slice),fe=function(Ae){return void 0===Ae?Ae:String(Ae)},ne="$0"==="a".replace(/./,"$0"),he=!!/./[U]&&""===/./[U]("a","$0");a("replace",function(Ae,Me,Oe){var be=he?"$":"$0";return[function(He,$e){var F=C(this),je=null==He?void 0:x(He,U);return je?e(je,He,F,$e):e(Me,b(F),He,$e)},function(ue,He){var $e=u(this),F=b(ue);if("string"==typeof He&&-1===ie(He,be)&&-1===ie(He,"$<")){var je=Oe(Me,$e,F,He);if(je.done)return je.value}var Et=h(He);Et||(He=b(He));var lt=$e.global;if(lt){var nn=$e.unicode;$e.lastIndex=0}for(var St=[];;){var At=H($e,F);if(null===At||(Y(St,At),!lt))break;""===b(At[0])&&($e.lastIndex=D(F,m($e.lastIndex),nn))}for(var It="",ae=0,Ie=0;Ie<St.length;Ie++){for(var dt=b((At=St[Ie])[0]),Jt=M(I(_(At.index),F.length),0),zt=[],ln=1;ln<At.length;ln++)Y(zt,fe(At[ln]));var ar=At.groups;if(Et){var Ln=J([dt],zt,Jt,F);void 0!==ar&&Y(Ln,ar);var Rn=b(t(He,void 0,Ln))}else Rn=j(dt,F,Jt,zt,ar,He);Jt>=ae&&(It+=oe(F,ae,Jt)+Rn,ae=Jt+dt.length)}return It+oe(F,ae)}]},!!l(function(){var Ae=/./;return Ae.exec=function(){var Me=[];return Me.groups={a:"7"},Me},"7"!=="".replace(Ae,"$<a>")})||!ne||he)},63438:(Ge,g,o)=>{"use strict";var D,t=o(31864),e=o(47964),s=o(78715),a=o(64238),l=o(41603),u=o(96491),h=o(60726),_=o(67117),m=o(52493).enforce,b=o(51635),C=!t.ActiveXObject&&"ActiveXObject"in t,x=function(J){return function(){return J(this,arguments.length?arguments[0]:void 0)}},j=l("WeakMap",x,u);if(b&&C){D=u.getConstructor(x,"WeakMap",!0),a.enable();var H=j.prototype,z=e(H.delete),U=e(H.has),M=e(H.get),I=e(H.set);s(H,{delete:function(J){if(h(J)&&!_(J)){var Y=m(this);return Y.frozen||(Y.frozen=new D),z(this,J)||Y.frozen.delete(J)}return z(this,J)},has:function(Y){if(h(Y)&&!_(Y)){var ie=m(this);return ie.frozen||(ie.frozen=new D),U(this,Y)||ie.frozen.has(Y)}return U(this,Y)},get:function(Y){if(h(Y)&&!_(Y)){var ie=m(this);return ie.frozen||(ie.frozen=new D),U(this,Y)?M(this,Y):ie.frozen.get(Y)}return M(this,Y)},set:function(Y,ie){if(h(Y)&&!_(Y)){var oe=m(this);oe.frozen||(oe.frozen=new D),U(this,Y)?I(this,Y,ie):oe.frozen.set(Y,ie)}else I(this,Y,ie);return this}})}},22603:(Ge,g,o)=>{var t=o(31864),e=o(26877),s=o(20713),a=o(66837),l=o(815),u=o(84563),h=u("iterator"),_=u("toStringTag"),m=a.values,b=function(D,x){if(D){if(D[h]!==m)try{l(D,h,m)}catch(H){D[h]=m}if(D[_]||l(D,_,x),e[x])for(var j in a)if(D[j]!==a[j])try{l(D,j,a[j])}catch(H){D[j]=a[j]}}};for(var C in e)b(t[C]&&t[C].prototype,C);b(s,"DOMTokenList")},64762:(Ge,g,o)=>{"use strict";function a(ce,Ae){var Me={};for(var Oe in ce)Object.prototype.hasOwnProperty.call(ce,Oe)&&Ae.indexOf(Oe)<0&&(Me[Oe]=ce[Oe]);if(null!=ce&&"function"==typeof Object.getOwnPropertySymbols){var be=0;for(Oe=Object.getOwnPropertySymbols(ce);be<Oe.length;be++)Ae.indexOf(Oe[be])<0&&Object.prototype.propertyIsEnumerable.call(ce,Oe[be])&&(Me[Oe[be]]=ce[Oe[be]])}return Me}function l(ce,Ae,Me,Oe){var He,be=arguments.length,ue=be<3?Ae:null===Oe?Oe=Object.getOwnPropertyDescriptor(Ae,Me):Oe;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)ue=Reflect.decorate(ce,Ae,Me,Oe);else for(var $e=ce.length-1;$e>=0;$e--)(He=ce[$e])&&(ue=(be<3?He(ue):be>3?He(Ae,Me,ue):He(Ae,Me))||ue);return be>3&&ue&&Object.defineProperty(Ae,Me,ue),ue}function u(ce,Ae){return function(Me,Oe){Ae(Me,Oe,ce)}}function h(ce,Ae){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(ce,Ae)}o.d(g,{_T:()=>a,gn:()=>l,fM:()=>u,w6:()=>h})},46700:(Ge,g,o)=>{var t={"./af":26431,"./af.js":26431,"./ar":81286,"./ar-dz":1616,"./ar-dz.js":1616,"./ar-kw":9759,"./ar-kw.js":9759,"./ar-ly":43160,"./ar-ly.js":43160,"./ar-ma":62551,"./ar-ma.js":62551,"./ar-sa":79989,"./ar-sa.js":79989,"./ar-tn":6962,"./ar-tn.js":6962,"./ar.js":81286,"./az":15887,"./az.js":15887,"./be":14572,"./be.js":14572,"./bg":3276,"./bg.js":3276,"./bm":93344,"./bm.js":93344,"./bn":58985,"./bn-bd":83990,"./bn-bd.js":83990,"./bn.js":58985,"./bo":94391,"./bo.js":94391,"./br":46728,"./br.js":46728,"./bs":5536,"./bs.js":5536,"./ca":41043,"./ca.js":41043,"./cs":70420,"./cs.js":70420,"./cv":33513,"./cv.js":33513,"./cy":6771,"./cy.js":6771,"./da":47978,"./da.js":47978,"./de":46061,"./de-at":25204,"./de-at.js":25204,"./de-ch":2653,"./de-ch.js":2653,"./de.js":46061,"./dv":85,"./dv.js":85,"./el":8579,"./el.js":8579,"./en-au":25724,"./en-au.js":25724,"./en-ca":10525,"./en-ca.js":10525,"./en-gb":52847,"./en-gb.js":52847,"./en-ie":67216,"./en-ie.js":67216,"./en-il":39305,"./en-il.js":39305,"./en-in":73364,"./en-in.js":73364,"./en-nz":79130,"./en-nz.js":79130,"./en-sg":11161,"./en-sg.js":11161,"./eo":50802,"./eo.js":50802,"./es":40328,"./es-do":45551,"./es-do.js":45551,"./es-mx":75615,"./es-mx.js":75615,"./es-us":64790,"./es-us.js":64790,"./es.js":40328,"./et":96389,"./et.js":96389,"./eu":52961,"./eu.js":52961,"./fa":26151,"./fa.js":26151,"./fi":7997,"./fi.js":7997,"./fil":58898,"./fil.js":58898,"./fo":37779,"./fo.js":37779,"./fr":28174,"./fr-ca":3287,"./fr-ca.js":3287,"./fr-ch":38867,"./fr-ch.js":38867,"./fr.js":28174,"./fy":50452,"./fy.js":50452,"./ga":45014,"./ga.js":45014,"./gd":74127,"./gd.js":74127,"./gl":72124,"./gl.js":72124,"./gom-deva":6444,"./gom-deva.js":6444,"./gom-latn":37953,"./gom-latn.js":37953,"./gu":76604,"./gu.js":76604,"./he":1222,"./he.js":1222,"./hi":74235,"./hi.js":74235,"./hr":622,"./hr.js":622,"./hu":37735,"./hu.js":37735,"./hy-am":90402,"./hy-am.js":90402,"./id":59187,"./id.js":59187,"./is":30536,"./is.js":30536,"./it":35007,"./it-ch":94667,"./it-ch.js":94667,"./it.js":35007,"./ja":62093,"./ja.js":62093,"./jv":80059,"./jv.js":80059,"./ka":66870,"./ka.js":66870,"./kk":80880,"./kk.js":80880,"./km":1083,"./km.js":1083,"./kn":68785,"./kn.js":68785,"./ko":21721,"./ko.js":21721,"./ku":37851,"./ku.js":37851,"./ky":1727,"./ky.js":1727,"./lb":40346,"./lb.js":40346,"./lo":93002,"./lo.js":93002,"./lt":64035,"./lt.js":64035,"./lv":56927,"./lv.js":56927,"./me":5634,"./me.js":5634,"./mi":94173,"./mi.js":94173,"./mk":86320,"./mk.js":86320,"./ml":11705,"./ml.js":11705,"./mn":31062,"./mn.js":31062,"./mr":92805,"./mr.js":92805,"./ms":11341,"./ms-my":59900,"./ms-my.js":59900,"./ms.js":11341,"./mt":37734,"./mt.js":37734,"./my":19034,"./my.js":19034,"./nb":9324,"./nb.js":9324,"./ne":46495,"./ne.js":46495,"./nl":70673,"./nl-be":76272,"./nl-be.js":76272,"./nl.js":70673,"./nn":72486,"./nn.js":72486,"./oc-lnc":46219,"./oc-lnc.js":46219,"./pa-in":2829,"./pa-in.js":2829,"./pl":78444,"./pl.js":78444,"./pt":53170,"./pt-br":66117,"./pt-br.js":66117,"./pt.js":53170,"./ro":96587,"./ro.js":96587,"./ru":39264,"./ru.js":39264,"./sd":42135,"./sd.js":42135,"./se":95366,"./se.js":95366,"./si":93379,"./si.js":93379,"./sk":46143,"./sk.js":46143,"./sl":196,"./sl.js":196,"./sq":21082,"./sq.js":21082,"./sr":91621,"./sr-cyrl":98963,"./sr-cyrl.js":98963,"./sr.js":91621,"./ss":41404,"./ss.js":41404,"./sv":55685,"./sv.js":55685,"./sw":3872,"./sw.js":3872,"./ta":54106,"./ta.js":54106,"./te":39204,"./te.js":39204,"./tet":83692,"./tet.js":83692,"./tg":86361,"./tg.js":86361,"./th":31735,"./th.js":31735,"./tk":1568,"./tk.js":1568,"./tl-ph":96129,"./tl-ph.js":96129,"./tlh":13759,"./tlh.js":13759,"./tr":81644,"./tr.js":81644,"./tzl":90875,"./tzl.js":90875,"./tzm":16878,"./tzm-latn":11041,"./tzm-latn.js":11041,"./tzm.js":16878,"./ug-cn":74357,"./ug-cn.js":74357,"./uk":74810,"./uk.js":74810,"./ur":86794,"./ur.js":86794,"./uz":28966,"./uz-latn":77959,"./uz-latn.js":77959,"./uz.js":28966,"./vi":35386,"./vi.js":35386,"./x-pseudo":23156,"./x-pseudo.js":23156,"./yo":68028,"./yo.js":68028,"./zh-cn":9330,"./zh-cn.js":9330,"./zh-hk":89380,"./zh-hk.js":89380,"./zh-mo":60874,"./zh-mo.js":60874,"./zh-tw":96508,"./zh-tw.js":96508};function e(a){var l=s(a);return o(l)}function s(a){if(!o.o(t,a)){var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}return t[a]}e.keys=function(){return Object.keys(t)},e.resolve=s,Ge.exports=e,e.id=46700},64291:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>U});var s=o(66224);const l=function(M,I){for(var J=M.length;J--;)if((0,s.Z)(M[J][0],I))return J;return-1};var h=Array.prototype.splice;function z(M){var I=-1,J=null==M?0:M.length;for(this.clear();++I<J;){var Y=M[I];this.set(Y[0],Y[1])}}z.prototype.clear=function(){this.__data__=[],this.size=0},z.prototype.delete=function(M){var I=this.__data__,J=l(I,M);return!(J<0||(J==I.length-1?I.pop():h.call(I,J,1),--this.size,0))},z.prototype.get=function(M){var I=this.__data__,J=l(I,M);return J<0?void 0:I[J][1]},z.prototype.has=function(M){return l(this.__data__,M)>-1},z.prototype.set=function(M,I){var J=this.__data__,Y=l(J,M);return Y<0?(++this.size,J.push([M,I])):J[Y][1]=I,this};const U=z},54673:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(30214),e=o(40309);const a=(0,t.Z)(e.Z,"Map")},79489:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>nn});const s=(0,o(30214).Z)(Object,"create");var b=Object.prototype.hasOwnProperty;var j=Object.prototype.hasOwnProperty;function J(St){var At=-1,Qe=null==St?0:St.length;for(this.clear();++At<Qe;){var It=St[At];this.set(It[0],It[1])}}J.prototype.clear=function(){this.__data__=s?s(null):{},this.size=0},J.prototype.delete=function(St){var At=this.has(St)&&delete this.__data__[St];return this.size-=At?1:0,At},J.prototype.get=function(St){var At=this.__data__;if(s){var Qe=At[St];return"__lodash_hash_undefined__"===Qe?void 0:Qe}return b.call(At,St)?At[St]:void 0},J.prototype.has=function(St){var At=this.__data__;return s?void 0!==At[St]:j.call(At,St)},J.prototype.set=function(St,At){var Qe=this.__data__;return this.size+=this.has(St)?0:1,Qe[St]=s&&void 0===At?"__lodash_hash_undefined__":At,this};const Y=J;var ie=o(64291),oe=o(54673);const Me=function(St,At){var Qe=St.__data__;return function(St){var At=typeof St;return"string"==At||"number"==At||"symbol"==At||"boolean"==At?"__proto__"!==St:null===St}(At)?Qe["string"==typeof At?"string":"hash"]:Qe.map};function lt(St){var At=-1,Qe=null==St?0:St.length;for(this.clear();++At<Qe;){var It=St[At];this.set(It[0],It[1])}}lt.prototype.clear=function(){this.size=0,this.__data__={hash:new Y,map:new(oe.Z||ie.Z),string:new Y}},lt.prototype.delete=function(St){var At=Me(this,St).delete(St);return this.size-=At?1:0,At},lt.prototype.get=function(St){return Me(this,St).get(St)},lt.prototype.has=function(St){return Me(this,St).has(St)},lt.prototype.set=function(St,At){var Qe=Me(this,St),It=Qe.size;return Qe.set(St,At),this.size+=Qe.size==It?0:1,this};const nn=lt},7475:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>z});var t=o(64291);var b=o(54673),C=o(79489);function H(U){var M=this.__data__=new t.Z(U);this.size=M.size}H.prototype.clear=function(){this.__data__=new t.Z,this.size=0},H.prototype.delete=function(U){var M=this.__data__,I=M.delete(U);return this.size=M.size,I},H.prototype.get=function(U){return this.__data__.get(U)},H.prototype.has=function(U){return this.__data__.has(U)},H.prototype.set=function(U,M){var I=this.__data__;if(I instanceof t.Z){var J=I.__data__;if(!b.Z||J.length<199)return J.push([U,M]),this.size=++I.size,this;I=this.__data__=new C.Z(J)}return I.set(U,M),this.size=I.size,this};const z=H},35770:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});const s=o(40309).Z.Symbol},83345:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});const s=o(40309).Z.Uint8Array},39434:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>C});var s=o(2172),a=o(34654),l=o(12434),u=o(28078),h=o(99436),m=Object.prototype.hasOwnProperty;const C=function(D,x){var j=(0,a.Z)(D),H=!j&&(0,s.Z)(D),z=!j&&!H&&(0,l.Z)(D),U=!j&&!H&&!z&&(0,h.Z)(D),M=j||H||z||U,I=M?function(D,x){for(var j=-1,H=Array(D);++j<D;)H[j]=x(j);return H}(D.length,String):[],J=I.length;for(var Y in D)(x||m.call(D,Y))&&(!M||!("length"==Y||z&&("offset"==Y||"parent"==Y)||U&&("buffer"==Y||"byteLength"==Y||"byteOffset"==Y)||(0,u.Z)(Y,J)))&&I.push(Y);return I}},57052:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s,a){for(var l=-1,u=a.length,h=s.length;++l<u;)s[h+l]=a[l];return s}},15427:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>u});var t=o(2951),e=o(66224),a=Object.prototype.hasOwnProperty;const u=function(h,_,m){var b=h[_];(!a.call(h,_)||!(0,e.Z)(b,m)||void 0===m&&!(_ in h))&&(0,t.Z)(h,_,m)}},2951:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(99567);const s=function(a,l,u){"__proto__"==l&&t.Z?(0,t.Z)(a,l,{configurable:!0,enumerable:!0,value:u,writable:!0}):a[l]=u}},57765:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>Ke});var t=o(7475);var a=o(15427),l=o(57640),u=o(6251);var m=o(76212);var D=o(27672),x=o(36889),j=o(99913);var U=o(74202);var J=o(22018),Y=o(23359),ie=o(81901),fe=Object.prototype.hasOwnProperty;var ce=o(80609);var Oe=/\w*$/;var He=o(35770),$e=He.Z?He.Z.prototype:void 0,F=$e?$e.valueOf:void 0;var lt=o(1044);const Kt=function(Xe,Vt,Ct){var rt=Xe.constructor;switch(Vt){case"[object ArrayBuffer]":return(0,ce.Z)(Xe);case"[object Boolean]":case"[object Date]":return new rt(+Xe);case"[object DataView]":return function(Xe,Vt){var Ct=Vt?(0,ce.Z)(Xe.buffer):Xe.buffer;return new Xe.constructor(Ct,Xe.byteOffset,Xe.byteLength)}(Xe,Ct);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,lt.Z)(Xe,Ct);case"[object Map]":return new rt;case"[object Number]":case"[object String]":return new rt(Xe);case"[object RegExp]":return function(Xe){var Vt=new Xe.constructor(Xe.source,Oe.exec(Xe));return Vt.lastIndex=Xe.lastIndex,Vt}(Xe);case"[object Set]":return new rt;case"[object Symbol]":return function(Xe){return F?Object(F.call(Xe)):{}}(Xe)}};var dn=o(22595),Kn=o(34654),qn=o(12434),Sn=o(6539);var Dn=o(21162),mn=o(48514),jn=mn.Z&&mn.Z.isMap;const ut=jn?(0,Dn.Z)(jn):function(Xe){return(0,Sn.Z)(Xe)&&"[object Map]"==(0,ie.Z)(Xe)};var mt=o(4214);var jt=mn.Z&&mn.Z.isSet;const Qn=jt?(0,Dn.Z)(jt):function(Xe){return(0,Sn.Z)(Xe)&&"[object Set]"==(0,ie.Z)(Xe)};var Ue="[object Arguments]",Ut="[object Function]",An="[object Object]",se={};se[Ue]=se["[object Array]"]=se["[object ArrayBuffer]"]=se["[object DataView]"]=se["[object Boolean]"]=se["[object Date]"]=se["[object Float32Array]"]=se["[object Float64Array]"]=se["[object Int8Array]"]=se["[object Int16Array]"]=se["[object Int32Array]"]=se["[object Map]"]=se["[object Number]"]=se[An]=se["[object RegExp]"]=se["[object Set]"]=se["[object String]"]=se["[object Symbol]"]=se["[object Uint8Array]"]=se["[object Uint8ClampedArray]"]=se["[object Uint16Array]"]=se["[object Uint32Array]"]=!0,se["[object Error]"]=se[Ut]=se["[object WeakMap]"]=!1;const Ke=function ct(Xe,Vt,Ct,rt,bt,We){var $t,or=1&Vt,Zn=2&Vt,Vr=4&Vt;if(Ct&&($t=bt?Ct(Xe,rt,bt,We):Ct(Xe)),void 0!==$t)return $t;if(!(0,mt.Z)(Xe))return Xe;var Cr=(0,Kn.Z)(Xe);if(Cr){if($t=function(Xe){var Vt=Xe.length,Ct=new Xe.constructor(Vt);return Vt&&"string"==typeof Xe[0]&&fe.call(Xe,"index")&&(Ct.index=Xe.index,Ct.input=Xe.input),Ct}(Xe),!or)return(0,x.Z)(Xe,$t)}else{var ai=(0,ie.Z)(Xe),Dr=ai==Ut||"[object GeneratorFunction]"==ai;if((0,qn.Z)(Xe))return(0,D.Z)(Xe,or);if(ai==An||ai==Ue||Dr&&!bt){if($t=Zn||Dr?{}:(0,dn.Z)(Xe),!or)return Zn?function(Xe,Vt){return(0,l.Z)(Xe,(0,U.Z)(Xe),Vt)}(Xe,function(Xe,Vt){return Xe&&(0,l.Z)(Vt,(0,m.Z)(Vt),Xe)}($t,Xe)):function(Xe,Vt){return(0,l.Z)(Xe,(0,j.Z)(Xe),Vt)}(Xe,function(Xe,Vt){return Xe&&(0,l.Z)(Vt,(0,u.Z)(Vt),Xe)}($t,Xe))}else{if(!se[ai])return bt?Xe:{};$t=Kt(Xe,ai,or)}}We||(We=new t.Z);var Qr=We.get(Xe);if(Qr)return Qr;We.set(Xe,$t),Qn(Xe)?Xe.forEach(function(Ei){$t.add(ct(Ei,Vt,Ct,Ei,Xe,We))}):ut(Xe)&&Xe.forEach(function(Ei,wi){$t.set(wi,ct(Ei,Vt,Ct,wi,Xe,We))});var fi=Cr?void 0:(Vr?Zn?Y.Z:J.Z:Zn?m.Z:u.Z)(Xe);return function(Xe,Vt){for(var Ct=-1,rt=null==Xe?0:Xe.length;++Ct<rt&&!1!==Vt(Xe[Ct],Ct,Xe););}(fi||Xe,function(Ei,wi){fi&&(Ei=Xe[wi=Ei]),(0,a.Z)($t,wi,ct(Ei,Vt,Ct,wi,Xe,We))}),$t}},49137:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(57052),e=o(34654);const a=function(l,u,h){var _=u(l);return(0,e.Z)(l)?_:(0,t.Z)(_,h(l))}},46382:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>z});var t=o(35770),e=Object.prototype,s=e.hasOwnProperty,a=e.toString,l=t.Z?t.Z.toStringTag:void 0;var m=Object.prototype.toString;var j=t.Z?t.Z.toStringTag:void 0;const z=function(U){return null==U?void 0===U?"[object Undefined]":"[object Null]":j&&j in Object(U)?function(U){var M=s.call(U,l),I=U[l];try{U[l]=void 0;var J=!0}catch(ie){}var Y=a.call(U);return J&&(M?U[l]=I:delete U[l]),Y}(U):function(U){return m.call(U)}(U)}},21162:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s){return function(a){return s(a)}}},80609:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(83345);const s=function(a){var l=new a.constructor(a.byteLength);return new t.Z(l).set(new t.Z(a)),l}},27672:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>_});var t=o(40309),e="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=e&&"object"==typeof module&&module&&!module.nodeType&&module,l=s&&s.exports===e?t.Z.Buffer:void 0,u=l?l.allocUnsafe:void 0;const _=function(m,b){if(b)return m.slice();var C=m.length,D=u?u(C):new m.constructor(C);return m.copy(D),D}},1044:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(80609);const s=function(a,l){var u=l?(0,t.Z)(a.buffer):a.buffer;return new a.constructor(u,a.byteOffset,a.length)}},36889:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s,a){var l=-1,u=s.length;for(a||(a=Array(u));++l<u;)a[l]=s[l];return a}},57640:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(15427),e=o(2951);const a=function(l,u,h,_){var m=!h;h||(h={});for(var b=-1,C=u.length;++b<C;){var D=u[b],x=_?_(h[D],l[D],D,h,l):void 0;void 0===x&&(x=l[D]),m?(0,e.Z)(h,D,x):(0,t.Z)(h,D,x)}return h}},99567:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=o(30214);const s=function(){try{var a=(0,t.Z)(Object,"defineProperty");return a({},"",{}),a}catch(l){}}()},7746:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e="object"==typeof global&&global&&global.Object===Object&&global},22018:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>l});var t=o(49137),e=o(99913),s=o(6251);const l=function(u){return(0,t.Z)(u,s.Z,e.Z)}},23359:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>l});var t=o(49137),e=o(74202),s=o(76212);const l=function(u){return(0,t.Z)(u,s.Z,e.Z)}},30214:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>ie});var oe,t=o(58209),s=o(40309).Z["__core-js_shared__"],l=(oe=/[^.]+$/.exec(s&&s.keys&&s.keys.IE_PROTO||""))?"Symbol(src)_1."+oe:"";var _=o(4214),m=o(22035),C=/^\[object .+?Constructor\]$/,z=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const M=function(oe){return!(!(0,_.Z)(oe)||function(oe){return!!l&&l in oe}(oe))&&((0,t.Z)(oe)?z:C).test((0,m.Z)(oe))},ie=function(oe,fe){var ne=function(oe,fe){return null==oe?void 0:oe[fe]}(oe,fe);return M(ne)?ne:void 0}},11595:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});const s=(0,o(24184).Z)(Object.getPrototypeOf,Object)},99913:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>_});var s=o(38387),l=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;const _=u?function(m){return null==m?[]:(m=Object(m),function(m,b){for(var C=-1,D=null==m?0:m.length,x=0,j=[];++C<D;){var H=m[C];b(H,C,m)&&(j[x++]=H)}return j}(u(m),function(b){return l.call(m,b)}))}:s.Z},74202:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>h});var t=o(57052),e=o(11595),s=o(99913),a=o(38387);const h=Object.getOwnPropertySymbols?function(_){for(var m=[];_;)(0,t.Z)(m,(0,s.Z)(_)),_=(0,e.Z)(_);return m}:a.Z},81901:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>he});var t=o(30214),e=o(40309);const a=(0,t.Z)(e.Z,"DataView");var l=o(54673);const h=(0,t.Z)(e.Z,"Promise"),m=(0,t.Z)(e.Z,"Set"),C=(0,t.Z)(e.Z,"WeakMap");var D=o(46382),x=o(22035),j="[object Map]",z="[object Promise]",U="[object Set]",M="[object WeakMap]",I="[object DataView]",J=(0,x.Z)(a),Y=(0,x.Z)(l.Z),ie=(0,x.Z)(h),oe=(0,x.Z)(m),fe=(0,x.Z)(C),ne=D.Z;(a&&ne(new a(new ArrayBuffer(1)))!=I||l.Z&&ne(new l.Z)!=j||h&&ne(h.resolve())!=z||m&&ne(new m)!=U||C&&ne(new C)!=M)&&(ne=function(ce){var Ae=(0,D.Z)(ce),Me="[object Object]"==Ae?ce.constructor:void 0,Oe=Me?(0,x.Z)(Me):"";if(Oe)switch(Oe){case J:return I;case Y:return j;case ie:return z;case oe:return U;case fe:return M}return Ae});const he=ne},22595:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>_});var t=o(4214),e=Object.create;const a=function(){function m(){}return function(b){if(!(0,t.Z)(b))return{};if(e)return e(b);m.prototype=b;var C=new m;return m.prototype=void 0,C}}();var l=o(11595),u=o(31550);const _=function(m){return"function"!=typeof m.constructor||(0,u.Z)(m)?{}:a((0,l.Z)(m))}},28078:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var e=/^(?:0|[1-9]\d*)$/;const a=function(l,u){var h=typeof l;return!!(u=null==u?9007199254740991:u)&&("number"==h||"symbol"!=h&&e.test(l))&&l>-1&&l%1==0&&l<u}},31550:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});var t=Object.prototype;const s=function(a){var l=a&&a.constructor;return a===("function"==typeof l&&l.prototype||t)}},48514:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>h});var t=o(7746),e="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=e&&"object"==typeof module&&module&&!module.nodeType&&module,l=s&&s.exports===e&&t.Z.process;const h=function(){try{return s&&s.require&&s.require("util").types||l&&l.binding&&l.binding("util")}catch(m){}}()},24184:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s,a){return function(l){return s(a(l))}}},40309:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(7746),e="object"==typeof self&&self&&self.Object===Object&&self;const a=t.Z||e||Function("return this")()},22035:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var e=Function.prototype.toString;const a=function(l){if(null!=l){try{return e.call(l)}catch(u){}try{return l+""}catch(u){}}return""}},66224:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s,a){return s===a||s!=s&&a!=a}},2172:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>b});var t=o(46382),e=o(6539);const l=function(C){return(0,e.Z)(C)&&"[object Arguments]"==(0,t.Z)(C)};var u=Object.prototype,h=u.hasOwnProperty,_=u.propertyIsEnumerable;const b=l(function(){return arguments}())?l:function(C){return(0,e.Z)(C)&&h.call(C,"callee")&&!_.call(C,"callee")}},34654:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=Array.isArray},18402:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>a});var t=o(58209),e=o(19238);const a=function(l){return null!=l&&(0,e.Z)(l.length)&&!(0,t.Z)(l)}},12434:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>b});var t=o(40309),a="object"==typeof exports&&exports&&!exports.nodeType&&exports,l=a&&"object"==typeof module&&module&&!module.nodeType&&module,h=l&&l.exports===a?t.Z.Buffer:void 0;const b=(h?h.isBuffer:void 0)||function(){return!1}},58209:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>_});var t=o(46382),e=o(4214);const _=function(m){if(!(0,e.Z)(m))return!1;var b=(0,t.Z)(m);return"[object Function]"==b||"[object GeneratorFunction]"==b||"[object AsyncFunction]"==b||"[object Proxy]"==b}},19238:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>s});const s=function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=9007199254740991}},4214:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s){var a=typeof s;return null!=s&&("object"==a||"function"==a)}},6539:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(s){return null!=s&&"object"==typeof s}},99436:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>F});var t=o(46382),e=o(19238),s=o(6539),Ae={};Ae["[object Float32Array]"]=Ae["[object Float64Array]"]=Ae["[object Int8Array]"]=Ae["[object Int16Array]"]=Ae["[object Int32Array]"]=Ae["[object Uint8Array]"]=Ae["[object Uint8ClampedArray]"]=Ae["[object Uint16Array]"]=Ae["[object Uint32Array]"]=!0,Ae["[object Arguments]"]=Ae["[object Array]"]=Ae["[object ArrayBuffer]"]=Ae["[object Boolean]"]=Ae["[object DataView]"]=Ae["[object Date]"]=Ae["[object Error]"]=Ae["[object Function]"]=Ae["[object Map]"]=Ae["[object Number]"]=Ae["[object Object]"]=Ae["[object RegExp]"]=Ae["[object Set]"]=Ae["[object String]"]=Ae["[object WeakMap]"]=!1;var be=o(21162),ue=o(48514),He=ue.Z&&ue.Z.isTypedArray;const F=He?(0,be.Z)(He):function(je){return(0,s.Z)(je)&&(0,e.Z)(je.length)&&!!Ae[(0,t.Z)(je)]}},6251:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>D});var t=o(39434),e=o(31550);const l=(0,o(24184).Z)(Object.keys,Object);var h=Object.prototype.hasOwnProperty;var b=o(18402);const D=function(x){return(0,b.Z)(x)?(0,t.Z)(x):function(x){if(!(0,e.Z)(x))return l(x);var j=[];for(var H in Object(x))h.call(x,H)&&"constructor"!=H&&j.push(H);return j}(x)}},76212:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>D});var t=o(39434),e=o(4214),s=o(31550);var h=Object.prototype.hasOwnProperty;const m=function(x){if(!(0,e.Z)(x))return function(x){var j=[];if(null!=x)for(var H in Object(x))j.push(H);return j}(x);var j=(0,s.Z)(x),H=[];for(var z in x)"constructor"==z&&(j||!h.call(x,z))||H.push(z);return H};var b=o(18402);const D=function(x){return(0,b.Z)(x)?(0,t.Z)(x,!0):m(x)}},38387:(Ge,g,o)=>{"use strict";o.d(g,{Z:()=>e});const e=function(){return[]}}},Ge=>{Ge(Ge.s=88665)}]);
\ No newline at end of file
+++ /dev/null
-(()=>{"use strict";var e,v={},h={};function r(e){var n=h[e];if(void 0!==n)return n.exports;var t=h[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}r.m=v,e=[],r.O=(n,t,f,o)=>{if(!t){var a=1/0;for(i=0;i<e.length;i++){for(var[t,f,o]=e[i],s=!0,d=0;d<t.length;d++)(!1&o||a>=o)&&Object.keys(r.O).every(b=>r.O[b](t[d]))?t.splice(d--,1):(s=!1,o<a&&(a=o));if(s){e.splice(i--,1);var u=f();void 0!==u&&(n=u)}}return n}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,f,o]},r.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return r.d(n,{a:n}),n},r.d=(e,n)=>{for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((n,t)=>(r.f[t](e,n),n),[])),r.u=e=>e+"."+{281:"919d718adfcdc2881381",330:"070e111fc5b7315b4eac",585:"062485a57141de14ef7c"}[e]+".js",r.miniCssF=e=>"styles.013d05bfdb2ad24949a2.css",r.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={},n="ceph-dashboard:";r.l=(t,f,o,i)=>{if(e[t])e[t].push(f);else{var a,s;if(void 0!==o)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==t||l.getAttribute("data-webpack")==n+o){a=l;break}}a||(s=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,r.nc&&a.setAttribute("nonce",r.nc),a.setAttribute("data-webpack",n+o),a.src=r.tu(t)),e[t]=[f];var c=(g,b)=>{a.onerror=a.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),_&&_.forEach(m=>m(b)),g)return g(b)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=c.bind(null,a.onerror),a.onload=c.bind(null,a.onload),s&&document.head.appendChild(a)}}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.tu=n=>(void 0===e&&(e={createScriptURL:t=>t},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(n))})(),r.p="",(()=>{var e={666:0};r.f.j=(f,o)=>{var i=r.o(e,f)?e[f]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=f){var a=new Promise((l,c)=>i=e[f]=[l,c]);o.push(i[2]=a);var s=r.p+r.u(f),d=new Error;r.l(s,l=>{if(r.o(e,f)&&(0!==(i=e[f])&&(e[f]=void 0),i)){var c=l&&("load"===l.type?"missing":l.type),p=l&&l.target&&l.target.src;d.message="Loading chunk "+f+" failed.\n("+c+": "+p+")",d.name="ChunkLoadError",d.type=c,d.request=p,i[1](d)}},"chunk-"+f,f)}else e[f]=0},r.O.j=f=>0===e[f];var n=(f,o)=>{var d,u,[i,a,s]=o,l=0;for(d in a)r.o(a,d)&&(r.m[d]=a[d]);if(s)var c=s(r);for(f&&f(o);l<i.length;l++)r.o(e,u=i[l])&&e[u]&&e[u][0](),e[i[l]]=0;return r.O(c)},t=self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))})()})();
\ No newline at end of file
--- /dev/null
+(()=>{"use strict";var e,v={},h={};function r(e){var n=h[e];if(void 0!==n)return n.exports;var t=h[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}r.m=v,e=[],r.O=(n,t,f,d)=>{if(!t){var a=1/0;for(i=0;i<e.length;i++){for(var[t,f,d]=e[i],s=!0,o=0;o<t.length;o++)(!1&d||a>=d)&&Object.keys(r.O).every(b=>r.O[b](t[o]))?t.splice(o--,1):(s=!1,d<a&&(a=d));if(s){e.splice(i--,1);var u=f();void 0!==u&&(n=u)}}return n}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[t,f,d]},r.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return r.d(n,{a:n}),n},r.d=(e,n)=>{for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((n,t)=>(r.f[t](e,n),n),[])),r.u=e=>e+"."+{281:"cd14092ccedeaf2d7d79",330:"4192d10f1b1db19145cc",585:"764bfab2e2f489fdfd7f"}[e]+".js",r.miniCssF=e=>"styles.e6093c94066da7ab35c7.css",r.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={},n="ceph-dashboard:";r.l=(t,f,d,i)=>{if(e[t])e[t].push(f);else{var a,s;if(void 0!==d)for(var o=document.getElementsByTagName("script"),u=0;u<o.length;u++){var l=o[u];if(l.getAttribute("src")==t||l.getAttribute("data-webpack")==n+d){a=l;break}}a||(s=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,r.nc&&a.setAttribute("nonce",r.nc),a.setAttribute("data-webpack",n+d),a.src=r.tu(t)),e[t]=[f];var c=(g,b)=>{a.onerror=a.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),_&&_.forEach(m=>m(b)),g)return g(b)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=c.bind(null,a.onerror),a.onload=c.bind(null,a.onload),s&&document.head.appendChild(a)}}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.tu=n=>(void 0===e&&(e={createScriptURL:t=>t},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(n))})(),r.p="",(()=>{var e={666:0};r.f.j=(f,d)=>{var i=r.o(e,f)?e[f]:void 0;if(0!==i)if(i)d.push(i[2]);else if(666!=f){var a=new Promise((l,c)=>i=e[f]=[l,c]);d.push(i[2]=a);var s=r.p+r.u(f),o=new Error;r.l(s,l=>{if(r.o(e,f)&&(0!==(i=e[f])&&(e[f]=void 0),i)){var c=l&&("load"===l.type?"missing":l.type),p=l&&l.target&&l.target.src;o.message="Loading chunk "+f+" failed.\n("+c+": "+p+")",o.name="ChunkLoadError",o.type=c,o.request=p,i[1](o)}},"chunk-"+f,f)}else e[f]=0},r.O.j=f=>0===e[f];var n=(f,d)=>{var o,u,[i,a,s]=d,l=0;for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(s)var c=s(r);for(f&&f(d);l<i.length;l++)r.o(e,u=i[l])&&e[u]&&e[u][0](),e[i[l]]=0;return r.O(c)},t=self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))})()})();
\ No newline at end of file
+++ /dev/null
-@charset "UTF-8";.swagger-ui{color:#3b4151;
- /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:sans-serif}.swagger-ui html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1.15}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{box-sizing:initial;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{-webkit-text-decoration-skip:objects;background-color:initial}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:initial}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:#0000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:#0000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left{background-position:0;background-repeat:no-repeat}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-ns{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-ns{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-ns{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-ns{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bg-center-m{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-m{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-m{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-m{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-m{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-l{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-l{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-l{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-l{background-position:0;background-repeat:no-repeat}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid #0000}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid #0000}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid #0000}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid #0000}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:#ffffffe6}.swagger-ui .b--white-80{border-color:#fffc}.swagger-ui .b--white-70{border-color:#ffffffb3}.swagger-ui .b--white-60{border-color:#fff9}.swagger-ui .b--white-50{border-color:#ffffff80}.swagger-ui .b--white-40{border-color:#fff6}.swagger-ui .b--white-30{border-color:#ffffff4d}.swagger-ui .b--white-20{border-color:#fff3}.swagger-ui .b--white-10{border-color:#ffffff1a}.swagger-ui .b--white-05{border-color:#ffffff0d}.swagger-ui .b--white-025{border-color:hsla(0,0%,100%,.025)}.swagger-ui .b--white-0125{border-color:hsla(0,0%,100%,.013)}.swagger-ui .b--black-90{border-color:#000000e6}.swagger-ui .b--black-80{border-color:#000c}.swagger-ui .b--black-70{border-color:#000000b3}.swagger-ui .b--black-60{border-color:#0009}.swagger-ui .b--black-50{border-color:#00000080}.swagger-ui .b--black-40{border-color:#0006}.swagger-ui .b--black-30{border-color:#0000004d}.swagger-ui .b--black-20{border-color:#0003}.swagger-ui .b--black-10{border-color:#0000001a}.swagger-ui .b--black-05{border-color:#0000000d}.swagger-ui .b--black-025{border-color:rgba(0,0,0,.025)}.swagger-ui .b--black-0125{border-color:rgba(0,0,0,.013)}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:#0000}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left{border-bottom-right-radius:0;border-top-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-ns{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-m{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-l{border-bottom-right-radius:0;border-top-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4{box-shadow:2px 2px 8px 0 #0003}.swagger-ui .shadow-5{box-shadow:4px 4px 8px 0 #0003}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px 0 #0003}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px 0 #0003}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .shadow-1-m{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-m{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-m{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-m{box-shadow:2px 2px 8px 0 #0003}.swagger-ui .shadow-5-m{box-shadow:4px 4px 8px 0 #0003}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px 0 #0003}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px 0 #0003}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{bottom:0;left:0;right:0;top:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{bottom:0;left:0;right:0;top:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:" ";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{*zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui .inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none{flex:none}.swagger-ui .flex-column{flex-direction:column}.swagger-ui .flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui .flex-nowrap{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{flex-direction:column-reverse}.swagger-ui .flex-row-reverse{flex-direction:row-reverse}.swagger-ui .items-start{align-items:flex-start}.swagger-ui .items-end{align-items:flex-end}.swagger-ui .items-center{align-items:center}.swagger-ui .items-baseline{align-items:baseline}.swagger-ui .items-stretch{align-items:stretch}.swagger-ui .self-start{align-self:flex-start}.swagger-ui .self-end{align-self:flex-end}.swagger-ui .self-center{align-self:center}.swagger-ui .self-baseline{align-self:baseline}.swagger-ui .self-stretch{align-self:stretch}.swagger-ui .justify-start{justify-content:flex-start}.swagger-ui .justify-end{justify-content:flex-end}.swagger-ui .justify-center{justify-content:center}.swagger-ui .justify-between{justify-content:space-between}.swagger-ui .justify-around{justify-content:space-around}.swagger-ui .content-start{align-content:flex-start}.swagger-ui .content-end{align-content:flex-end}.swagger-ui .content-center{align-content:center}.swagger-ui .content-between{align-content:space-between}.swagger-ui .content-around{align-content:space-around}.swagger-ui .content-stretch{align-content:stretch}.swagger-ui .order-0{order:0}.swagger-ui .order-1{order:1}.swagger-ui .order-2{order:2}.swagger-ui .order-3{order:3}.swagger-ui .order-4{order:4}.swagger-ui .order-5{order:5}.swagger-ui .order-6{order:6}.swagger-ui .order-7{order:7}.swagger-ui .order-8{order:8}.swagger-ui .order-last{order:99999}.swagger-ui .flex-grow-0{flex-grow:0}.swagger-ui .flex-grow-1{flex-grow:1}.swagger-ui .flex-shrink-0{flex-shrink:0}.swagger-ui .flex-shrink-1{flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:flex}.swagger-ui .inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui .flex-column-ns{flex-direction:column}.swagger-ui .flex-row-ns{flex-direction:row}.swagger-ui .flex-wrap-ns{flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{flex-direction:row-reverse}.swagger-ui .items-start-ns{align-items:flex-start}.swagger-ui .items-end-ns{align-items:flex-end}.swagger-ui .items-center-ns{align-items:center}.swagger-ui .items-baseline-ns{align-items:baseline}.swagger-ui .items-stretch-ns{align-items:stretch}.swagger-ui .self-start-ns{align-self:flex-start}.swagger-ui .self-end-ns{align-self:flex-end}.swagger-ui .self-center-ns{align-self:center}.swagger-ui .self-baseline-ns{align-self:baseline}.swagger-ui .self-stretch-ns{align-self:stretch}.swagger-ui .justify-start-ns{justify-content:flex-start}.swagger-ui .justify-end-ns{justify-content:flex-end}.swagger-ui .justify-center-ns{justify-content:center}.swagger-ui .justify-between-ns{justify-content:space-between}.swagger-ui .justify-around-ns{justify-content:space-around}.swagger-ui .content-start-ns{align-content:flex-start}.swagger-ui .content-end-ns{align-content:flex-end}.swagger-ui .content-center-ns{align-content:center}.swagger-ui .content-between-ns{align-content:space-between}.swagger-ui .content-around-ns{align-content:space-around}.swagger-ui .content-stretch-ns{align-content:stretch}.swagger-ui .order-0-ns{order:0}.swagger-ui .order-1-ns{order:1}.swagger-ui .order-2-ns{order:2}.swagger-ui .order-3-ns{order:3}.swagger-ui .order-4-ns{order:4}.swagger-ui .order-5-ns{order:5}.swagger-ui .order-6-ns{order:6}.swagger-ui .order-7-ns{order:7}.swagger-ui .order-8-ns{order:8}.swagger-ui .order-last-ns{order:99999}.swagger-ui .flex-grow-0-ns{flex-grow:0}.swagger-ui .flex-grow-1-ns{flex-grow:1}.swagger-ui .flex-shrink-0-ns{flex-shrink:0}.swagger-ui .flex-shrink-1-ns{flex-shrink:1}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui .flex-auto-m{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-m{flex:none}.swagger-ui .flex-column-m{flex-direction:column}.swagger-ui .flex-row-m{flex-direction:row}.swagger-ui .flex-wrap-m{flex-wrap:wrap}.swagger-ui .flex-nowrap-m{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{flex-direction:row-reverse}.swagger-ui .items-start-m{align-items:flex-start}.swagger-ui .items-end-m{align-items:flex-end}.swagger-ui .items-center-m{align-items:center}.swagger-ui .items-baseline-m{align-items:baseline}.swagger-ui .items-stretch-m{align-items:stretch}.swagger-ui .self-start-m{align-self:flex-start}.swagger-ui .self-end-m{align-self:flex-end}.swagger-ui .self-center-m{align-self:center}.swagger-ui .self-baseline-m{align-self:baseline}.swagger-ui .self-stretch-m{align-self:stretch}.swagger-ui .justify-start-m{justify-content:flex-start}.swagger-ui .justify-end-m{justify-content:flex-end}.swagger-ui .justify-center-m{justify-content:center}.swagger-ui .justify-between-m{justify-content:space-between}.swagger-ui .justify-around-m{justify-content:space-around}.swagger-ui .content-start-m{align-content:flex-start}.swagger-ui .content-end-m{align-content:flex-end}.swagger-ui .content-center-m{align-content:center}.swagger-ui .content-between-m{align-content:space-between}.swagger-ui .content-around-m{align-content:space-around}.swagger-ui .content-stretch-m{align-content:stretch}.swagger-ui .order-0-m{order:0}.swagger-ui .order-1-m{order:1}.swagger-ui .order-2-m{order:2}.swagger-ui .order-3-m{order:3}.swagger-ui .order-4-m{order:4}.swagger-ui .order-5-m{order:5}.swagger-ui .order-6-m{order:6}.swagger-ui .order-7-m{order:7}.swagger-ui .order-8-m{order:8}.swagger-ui .order-last-m{order:99999}.swagger-ui .flex-grow-0-m{flex-grow:0}.swagger-ui .flex-grow-1-m{flex-grow:1}.swagger-ui .flex-shrink-0-m{flex-shrink:0}.swagger-ui .flex-shrink-1-m{flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:flex}.swagger-ui .inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui .flex-column-l{flex-direction:column}.swagger-ui .flex-row-l{flex-direction:row}.swagger-ui .flex-wrap-l{flex-wrap:wrap}.swagger-ui .flex-nowrap-l{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{flex-direction:row-reverse}.swagger-ui .items-start-l{align-items:flex-start}.swagger-ui .items-end-l{align-items:flex-end}.swagger-ui .items-center-l{align-items:center}.swagger-ui .items-baseline-l{align-items:baseline}.swagger-ui .items-stretch-l{align-items:stretch}.swagger-ui .self-start-l{align-self:flex-start}.swagger-ui .self-end-l{align-self:flex-end}.swagger-ui .self-center-l{align-self:center}.swagger-ui .self-baseline-l{align-self:baseline}.swagger-ui .self-stretch-l{align-self:stretch}.swagger-ui .justify-start-l{justify-content:flex-start}.swagger-ui .justify-end-l{justify-content:flex-end}.swagger-ui .justify-center-l{justify-content:center}.swagger-ui .justify-between-l{justify-content:space-between}.swagger-ui .justify-around-l{justify-content:space-around}.swagger-ui .content-start-l{align-content:flex-start}.swagger-ui .content-end-l{align-content:flex-end}.swagger-ui .content-center-l{align-content:center}.swagger-ui .content-between-l{align-content:space-between}.swagger-ui .content-around-l{align-content:space-around}.swagger-ui .content-stretch-l{align-content:stretch}.swagger-ui .order-0-l{order:0}.swagger-ui .order-1-l{order:1}.swagger-ui .order-2-l{order:2}.swagger-ui .order-3-l{order:3}.swagger-ui .order-4-l{order:4}.swagger-ui .order-5-l{order:5}.swagger-ui .order-6-l{order:6}.swagger-ui .order-7-l{order:7}.swagger-ui .order-8-l{order:8}.swagger-ui .order-last-l{order:99999}.swagger-ui .flex-grow-0-l{flex-grow:0}.swagger-ui .flex-grow-1-l{flex-grow:1}.swagger-ui .flex-shrink-0-l{flex-shrink:0}.swagger-ui .flex-shrink-1-l{flex-shrink:1}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .fl{_display:inline;float:left}.swagger-ui .fr{_display:inline;float:right}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{_display:inline;float:left}.swagger-ui .fr-ns{_display:inline;float:right}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .fl-m{_display:inline;float:left}.swagger-ui .fr-m{_display:inline;float:right}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{_display:inline;float:left}.swagger-ui .fr-l{_display:inline;float:right}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{text-decoration:none}.swagger-ui .link,.swagger-ui .link:active,.swagger-ui .link:focus,.swagger-ui .link:hover,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color .15s ease-in}.swagger-ui .link:focus{outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.3333333333%}.swagger-ui .w-two-thirds{width:66.6666666667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.3333333333%}.swagger-ui .w-two-thirds-ns{width:66.6666666667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.3333333333%}.swagger-ui .w-two-thirds-m{width:66.6666666667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.3333333333%}.swagger-ui .w-two-thirds-l{width:66.6666666667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{transform:rotate(45deg)}.swagger-ui .rotate-90{transform:rotate(90deg)}.swagger-ui .rotate-135{transform:rotate(135deg)}.swagger-ui .rotate-180{transform:rotate(180deg)}.swagger-ui .rotate-225{transform:rotate(225deg)}.swagger-ui .rotate-270{transform:rotate(270deg)}.swagger-ui .rotate-315{transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{transform:rotate(45deg)}.swagger-ui .rotate-90-ns{transform:rotate(90deg)}.swagger-ui .rotate-135-ns{transform:rotate(135deg)}.swagger-ui .rotate-180-ns{transform:rotate(180deg)}.swagger-ui .rotate-225-ns{transform:rotate(225deg)}.swagger-ui .rotate-270-ns{transform:rotate(270deg)}.swagger-ui .rotate-315-ns{transform:rotate(315deg)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .rotate-45-m{transform:rotate(45deg)}.swagger-ui .rotate-90-m{transform:rotate(90deg)}.swagger-ui .rotate-135-m{transform:rotate(135deg)}.swagger-ui .rotate-180-m{transform:rotate(180deg)}.swagger-ui .rotate-225-m{transform:rotate(225deg)}.swagger-ui .rotate-270-m{transform:rotate(270deg)}.swagger-ui .rotate-315-m{transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{transform:rotate(45deg)}.swagger-ui .rotate-90-l{transform:rotate(90deg)}.swagger-ui .rotate-135-l{transform:rotate(135deg)}.swagger-ui .rotate-180-l{transform:rotate(180deg)}.swagger-ui .rotate-225-l{transform:rotate(225deg)}.swagger-ui .rotate-270-l{transform:rotate(270deg)}.swagger-ui .rotate-315-l{transform:rotate(315deg)}}.swagger-ui .black-90{color:#000000e6}.swagger-ui .black-80{color:#000c}.swagger-ui .black-70{color:#000000b3}.swagger-ui .black-60{color:#0009}.swagger-ui .black-50{color:#00000080}.swagger-ui .black-40{color:#0006}.swagger-ui .black-30{color:#0000004d}.swagger-ui .black-20{color:#0003}.swagger-ui .black-10{color:#0000001a}.swagger-ui .black-05{color:#0000000d}.swagger-ui .white-90{color:#ffffffe6}.swagger-ui .white-80{color:#fffc}.swagger-ui .white-70{color:#ffffffb3}.swagger-ui .white-60{color:#fff9}.swagger-ui .white-50{color:#ffffff80}.swagger-ui .white-40{color:#fff6}.swagger-ui .white-30{color:#ffffff4d}.swagger-ui .white-20{color:#fff3}.swagger-ui .white-10{color:#ffffff1a}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:#000000e6}.swagger-ui .bg-black-80{background-color:#000c}.swagger-ui .bg-black-70{background-color:#000000b3}.swagger-ui .bg-black-60{background-color:#0009}.swagger-ui .bg-black-50{background-color:#00000080}.swagger-ui .bg-black-40{background-color:#0006}.swagger-ui .bg-black-30{background-color:#0000004d}.swagger-ui .bg-black-20{background-color:#0003}.swagger-ui .bg-black-10{background-color:#0000001a}.swagger-ui .bg-black-05{background-color:#0000000d}.swagger-ui .bg-white-90{background-color:#ffffffe6}.swagger-ui .bg-white-80{background-color:#fffc}.swagger-ui .bg-white-70{background-color:#ffffffb3}.swagger-ui .bg-white-60{background-color:#fff9}.swagger-ui .bg-white-50{background-color:#ffffff80}.swagger-ui .bg-white-40{background-color:#fff6}.swagger-ui .bg-white-30{background-color:#ffffff4d}.swagger-ui .bg-white-20{background-color:#fff3}.swagger-ui .bg-white-10{background-color:#ffffff1a}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:initial}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:#000000e6}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:#000c}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:#000000b3}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:#0009}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:#00000080}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:#0006}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:#0000004d}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:#0003}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:#0000001a}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:#ffffffe6}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:#fffc}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:#ffffffb3}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:#fff9}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:#ffffff80}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:#fff6}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:#ffffff4d}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:#fff3}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:#ffffff1a}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:initial}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:#000000e6}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:#000c}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:#000000b3}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:#0009}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:#00000080}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:#0006}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:#0000004d}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:#0003}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:#0000001a}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:#ffffffe6}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:#fffc}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:#ffffffb3}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:#fff9}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:#ffffff80}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:#fff6}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:#ffffff4d}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:#fff3}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:#ffffff1a}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-bottom:0;padding-top:0}.swagger-ui .pv1{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-bottom:0;margin-top:0}.swagger-ui .mv1{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-bottom:0;padding-top:0}.swagger-ui .pv1-ns{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-ns{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-ns{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-ns{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-ns{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-ns{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-ns{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-bottom:0;margin-top:0}.swagger-ui .mv1-ns{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-ns{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-ns{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-ns{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-ns{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-ns{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-ns{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-bottom:0;padding-top:0}.swagger-ui .pv1-m{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-m{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-m{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-m{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-m{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-m{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-m{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-bottom:0;margin-top:0}.swagger-ui .mv1-m{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-m{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-m{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-m{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-m{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-m{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-m{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-bottom:0;padding-top:0}.swagger-ui .pv1-l{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-l{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-l{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-l{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-l{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-l{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-l{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-bottom:0;margin-top:0}.swagger-ui .mv1-l{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-l{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-l{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-l{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-l{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-l{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-l{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:#ffffff1a}.swagger-ui .stripe-dark:nth-child(odd){background-color:#0000001a}.swagger-ui .strike{text-decoration:line-through}.swagger-ui .underline{text-decoration:underline}.swagger-ui .no-underline{text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{text-decoration:line-through}.swagger-ui .underline-ns{text-decoration:underline}.swagger-ui .no-underline-ns{text-decoration:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .strike-m{text-decoration:line-through}.swagger-ui .underline-m{text-decoration:underline}.swagger-ui .no-underline-m{text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{text-decoration:line-through}.swagger-ui .underline-l{text-decoration:underline}.swagger-ui .no-underline-l{text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}.swagger-ui .tj{text-align:justify}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui .tj-l{text-align:justify}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-ns{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-ns{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-m{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-l{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .center-m{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:fixed!important;_position:absolute!important}@media screen and (min-width:30em){.swagger-ui .clip-ns{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:fixed!important;_position:absolute!important}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .clip-m{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:fixed!important;_position:absolute!important}}@media screen and (min-width:60em){.swagger-ui .clip-l{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:fixed!important;_position:absolute!important}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:initial}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:initial}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .v-base-m{vertical-align:initial}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:initial}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5;transition:opacity .15s ease-in}.swagger-ui .dim:active{opacity:.8;transition:opacity .15s ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1;transition:opacity .15s ease-in}.swagger-ui .hide-child .child{opacity:0;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{transform:scale(1.05)}.swagger-ui .grow:active{transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{transform:scale(1.2)}.swagger-ui .grow-large:active{transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{border-radius:inherit;box-shadow:0 0 16px 2px #0003;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s cubic-bezier(.165,.84,.44,1);width:100%;z-index:-1}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial{z-index:auto}.swagger-ui .z-unset{z-index:unset}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{list-style-type:none;margin-left:0;padding-left:0}.swagger-ui .nested-copy-indent p+p{margin-bottom:0;margin-top:0;text-indent:.1em}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{display:block;max-width:100%;width:100%}.swagger-ui .nested-links a{color:#357edd;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.swagger-ui .wrapper{box-sizing:border-box;margin:0 auto;max-width:1460px;padding:0 20px;width:100%}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column}.swagger-ui .try-out.btn-group{display:flex;flex:0.1 2 auto;padding:0}.swagger-ui .try-out__btn{margin-left:1.25rem}.swagger-ui .opblock-tag{align-items:center;border-bottom:1px solid #3b41514d;cursor:pointer;display:flex;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui .opblock-tag:hover{background:#00000005}.swagger-ui .opblock-tag{color:#3b4151;font-family:sans-serif;font-size:24px;margin:0 0 5px}.swagger-ui .opblock-tag.no-desc span{flex:1}.swagger-ui .opblock-tag svg{transition:all .4s}.swagger-ui .opblock-tag small{color:#3b4151;flex:1;font-family:sans-serif;font-size:14px;font-weight:400;padding:0 10px}.swagger-ui .parameter__type{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;padding:5px 0}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui .examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .examples-select{display:inline-block;margin-bottom:.75em}.swagger-ui .examples-select .examples-select-element{width:100%}.swagger-ui .examples-select__section-label{font-size:.9rem;font-weight:700;margin-right:.5rem}.swagger-ui .example__section{margin-top:1.5em}.swagger-ui .example__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .view-line-link{cursor:pointer;margin:0 5px;position:relative;top:3px;transition:all .5s;width:20px}.swagger-ui .opblock{border:1px solid #000;border-radius:4px;box-shadow:0 0 3px #00000030;margin:0 0 15px}.swagger-ui .opblock .tab-header{display:flex;flex:1}.swagger-ui .opblock .tab-header .tab-item{cursor:pointer;padding:0 40px}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:gray;bottom:-15px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:120%}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{align-items:center;background:#fffc;box-shadow:0 1px 2px #0000001a;display:flex;min-height:50px;padding:8px 20px}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:#3b4151;display:flex;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 0 auto}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock .opblock-summary-method{background:#000;border-radius:3px;color:#fff;font-family:sans-serif;font-size:14px;font-weight:700;min-width:80px;padding:6px 0;text-align:center;text-shadow:0 1px 0 #0000001a}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{align-items:center;color:#3b4151;display:flex;font-family:monospace;font-size:16px;font-weight:600;padding:0 10px;word-break:break-word}@media (max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-path{flex-shrink:0;max-width:calc(100% - 110px - 15rem)}.swagger-ui .opblock .opblock-summary-path__deprecated{text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{color:#3b4151;flex:1 1 auto;font-family:sans-serif;font-size:13px;word-break:break-word}.swagger-ui .opblock .opblock-summary{align-items:center;cursor:pointer;display:flex;padding:5px}.swagger-ui .opblock .opblock-summary .view-line-link{cursor:pointer;margin:0;position:relative;top:2px;transition:all .5s;width:0}.swagger-ui .opblock .opblock-summary:hover .view-line-link{margin:0 5px;width:18px}.swagger-ui .opblock.opblock-post{background:#49cc901a;border-color:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{background:#fca1301a;border-color:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{background:#f93e3e1a;border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{background:#61affe1a;border-color:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{background:#50e3c21a;border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{background:#9012fe1a;border-color:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{background:#0d5aa71a;border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{background:#ebebeb1a;border-color:#ebebeb;opacity:.6}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{border:2px solid #d8dde7;margin:20px 0;padding:10px;width:100%}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:red}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:#aaa}.swagger-ui .model-example{margin-top:1em}.swagger-ui .tab{display:flex;list-style:none;padding:0}.swagger-ui .tab li{color:#3b4151;cursor:pointer;font-family:sans-serif;font-size:12px;min-width:60px;padding:0}.swagger-ui .tab li:first-of-type{padding-left:0;padding-right:12px;position:relative}.swagger-ui .tab li:first-of-type:after{background:#0003;content:"";height:100%;position:absolute;right:6px;top:0;width:1px}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .tab li button.tablinks{background:none;border:0;color:inherit;font-family:inherit;font-weight:inherit;padding:0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px;padding:15px 20px}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{color:#3b4151;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{padding:8px 40px;width:100%}.swagger-ui .body-param-options{display:flex;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{color:#3b4151;font-family:sans-serif;font-size:12px;margin:10px 0 5px}.swagger-ui .responses-inner .curl{white-space:normal}.swagger-ui .response-col_status{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .response-col_status .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links{color:#3b4151;font-family:sans-serif;font-size:14px;max-width:40em;padding-left:2em}.swagger-ui .response-col_links .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links .operation-link{margin-bottom:1.5em}.swagger-ui .response-col_links .operation-link .description{margin-bottom:.5em}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em auto}.swagger-ui .opblock-body pre.microlight{word-wrap:break-word;background:#333;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;hyphens:auto;margin:0;padding:10px;white-space:pre-wrap;word-break:break-all;word-break:break-word}.swagger-ui .opblock-body pre.microlight .headerline{display:block}.swagger-ui .highlight-code{position:relative}.swagger-ui .highlight-code>.microlight{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .highlight-code>.microlight code{white-space:pre-wrap!important;word-break:break-all}.swagger-ui .curl-command{position:relative}.swagger-ui .download-contents{align-items:center;background:#7d8293;border-radius:4px;bottom:10px;color:#fff;cursor:pointer;display:flex;font-family:sans-serif;font-size:14px;font-weight:600;height:30px;justify-content:center;padding:5px;position:absolute;right:10px;text-align:center}.swagger-ui .scheme-container{background:#fff;box-shadow:0 1px 2px 0 #00000026;margin:0 0 20px;padding:30px 0}.swagger-ui .scheme-container .schemes{align-items:flex-end;display:flex}.swagger-ui .scheme-container .schemes>label{color:#3b4151;display:flex;flex-direction:column;font-family:sans-serif;font-size:12px;font-weight:700;margin:-20px 15px 0 0}.swagger-ui .scheme-container .schemes>label select{min-width:130px;text-transform:uppercase}.swagger-ui .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:1em;min-height:1px;padding:40px 0 60px}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{color:#3b4151;content:"loading";font-family:sans-serif;font-size:10px;font-weight:700;left:50%;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.swagger-ui .loading-container .loading:before{animation:rotation 1s linear infinite,opacity .5s;backface-visibility:hidden;border-radius:100%;border:2px solid #5555551a;border-top-color:#0009;content:"";display:block;height:60px;left:50%;margin:-30px;opacity:1;position:absolute;top:50%;width:60px}@keyframes rotation{to{transform:rotate(1turn)}}.swagger-ui .response-controls{display:flex;padding-top:1em}.swagger-ui .response-control-media-type{margin-right:1em}.swagger-ui .response-control-media-type--accept-controller select{border-color:green}.swagger-ui .response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui .response-control-examples__title,.swagger-ui .response-control-media-type__title{display:block;font-size:.7em;margin-bottom:.2em}@keyframes blinker{50%{opacity:0}}.swagger-ui .hidden{display:none}.swagger-ui .no-margin{border:none;height:auto;margin:0;padding:0}.swagger-ui .float-right{float:right}.swagger-ui .svg-assets{height:0;position:absolute;width:0}.swagger-ui section h3{color:#3b4151;font-family:sans-serif}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{color:inherit;cursor:pointer;text-decoration:inherit}.swagger-ui .fallback{color:#aaa;padding:1em}.swagger-ui .version-pragma{height:100%;padding:5em 0}.swagger-ui .version-pragma__message{display:flex;font-size:1.2em;height:100%;justify-content:center;line-height:1.5em;padding:0 .6em;text-align:center}.swagger-ui .version-pragma__message>div{flex:1;max-width:55ch}.swagger-ui .version-pragma__message code{background-color:#dedede;padding:4px 4px 2px;white-space:pre}.swagger-ui .opblock-link{font-weight:400}.swagger-ui .opblock-link.shown{font-weight:700}.swagger-ui span.token-string{color:#555}.swagger-ui span.token-not-formatted{color:#555;font-weight:700}.swagger-ui .btn{background:#0000;border:2px solid gray;border-radius:4px;box-shadow:0 1px 2px #0000001a;color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 23px;transition:all .3s}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{box-shadow:0 0 5px #0000004d}.swagger-ui .btn.cancel{background-color:initial;border-color:#ff6060;color:#ff6060;font-family:sans-serif}.swagger-ui .btn.authorize{background-color:initial;border-color:#49cc90;color:#49cc90;display:inline;line-height:1}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;border-color:#4990e2;color:#fff}.swagger-ui .btn-group{display:flex;padding:30px}.swagger-ui .btn-group .btn{flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{background:none;border:none;padding:0 10px}.swagger-ui .authorization__btn.locked{opacity:1}.swagger-ui .authorization__btn.unlocked{opacity:.4}.swagger-ui .model-box-control,.swagger-ui .models-control,.swagger-ui .opblock-summary-control{all:inherit;border-bottom:0;cursor:pointer;flex:1;padding:0}.swagger-ui .model-box-control:focus,.swagger-ui .models-control:focus,.swagger-ui .opblock-summary-control:focus{outline:auto}.swagger-ui .expand-methods,.swagger-ui .expand-operation{background:none;border:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{height:20px;width:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{fill:#707070;transition:all .3s}.swagger-ui button{cursor:pointer}.swagger-ui button.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .copy-to-clipboard{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;display:flex;height:30px;justify-content:center;position:absolute;right:100px;width:30px}.swagger-ui .copy-to-clipboard button{background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" aria-hidden="true"><path fill="%23fff" fill-rule="evenodd" d="M4 12h4v1H4v-1zm5-6H4v1h5V6zm2 3V7l-3 3 3 3v-2h5V9h-5zM6.5 8H4v1h2.5V8zM4 11h2.5v-1H4v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V5H3v9h10v-2zM4 4h8c0-.55-.45-1-1-1h-1c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H5c-.55 0-1 .45-1 1z"/></svg>') 50% no-repeat;border:none;flex-grow:1;flex-shrink:1;height:25px}.swagger-ui .curl-command .copy-to-clipboard{bottom:5px;height:20px;right:10px;width:20px}.swagger-ui .curl-command .copy-to-clipboard button{height:18px}.swagger-ui select{-moz-appearance:none;appearance:none;background:#f7f7f7 url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M13.418 7.859a.695.695 0 0 1 .978 0 .68.68 0 0 1 0 .969l-3.908 3.83a.697.697 0 0 1-.979 0l-3.908-3.83a.68.68 0 0 1 0-.969.695.695 0 0 1 .978 0L10 11l3.418-3.141z"/></svg>') right 10px center no-repeat;background-size:20px;border:2px solid #41444e;border-radius:4px;box-shadow:0 1px 2px 0 #00000040;color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 40px 5px 10px}.swagger-ui select[multiple]{background:#f7f7f7;margin:5px 0;padding:5px}.swagger-ui select.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .opblock-body select{min-width:230px}@media (max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}.swagger-ui label{color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 5px}@media (max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{max-width:175px}}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:#fff;border:1px solid #d9d9d9;border-radius:4px;margin:5px 0;min-width:100px;padding:8px 10px}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui textarea.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui input[disabled],.swagger-ui select[disabled],.swagger-ui textarea[disabled]{background-color:#fafafa;color:#888;cursor:not-allowed}.swagger-ui select[disabled]{border-color:#888}.swagger-ui textarea[disabled]{background-color:#41444e;color:#fff}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swagger-ui textarea{background:#fffc;border:none;border-radius:4px;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;min-height:280px;outline:none;padding:10px;width:100%}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{background:#41444e;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;margin:0;min-height:100px;padding:10px;resize:none}.swagger-ui .checkbox{color:#303030;padding:5px 0 10px;transition:opacity .5s}.swagger-ui .checkbox label{display:flex}.swagger-ui .checkbox p{color:#3b4151;font-family:monospace;font-style:italic;font-weight:400!important;font-weight:600;margin:0!important}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:#e8e8e8;border-radius:1px;box-shadow:0 0 0 2px #e8e8e8;cursor:pointer;display:inline-block;flex:none;height:16px;margin:0 8px 0 0;padding:5px;position:relative;top:3px;width:16px}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url('data:image/svg+xml;charset=utf-8,<svg width="10" height="8" viewBox="3 7 10 8" xmlns="http://www.w3.org/2000/svg"><path fill="%2341474E" fill-rule="evenodd" d="M6.333 15 3 11.667l1.333-1.334 2 2L11.667 7 13 8.333z"/></svg>') 50% no-repeat}.swagger-ui .dialog-ux{bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.swagger-ui .dialog-ux .backdrop-ux{background:#000c;bottom:0;left:0;position:fixed;right:0;top:0}.swagger-ui .dialog-ux .modal-ux{background:#fff;border:1px solid #ebebeb;border-radius:4px;box-shadow:0 10px 30px 0 #0003;left:50%;max-width:650px;min-width:300px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:9999}.swagger-ui .dialog-ux .modal-ux-content{max-height:540px;overflow-y:auto;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{color:#41444e;color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .dialog-ux .modal-ux-content h4{color:#3b4151;font-family:sans-serif;font-size:18px;font-weight:600;margin:15px 0 0}.swagger-ui .dialog-ux .modal-ux-header{align-items:center;border-bottom:1px solid #ebebeb;display:flex;padding:12px 0}.swagger-ui .dialog-ux .modal-ux-header .close-modal{-moz-appearance:none;appearance:none;background:none;border:none;padding:0 10px}.swagger-ui .dialog-ux .modal-ux-header h3{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;font-weight:600;margin:0;padding:0 20px}.swagger-ui .model{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{text-decoration:line-through}.swagger-ui .model-toggle{cursor:pointer;display:inline-block;font-size:10px;margin:auto .3em;position:relative;top:6px;transform:rotate(90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .model-toggle.collapsed{transform:rotate(0deg)}.swagger-ui .model-toggle:after{background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>') 50% no-repeat;background-size:100%;content:"";display:block;height:20px;width:20px}.swagger-ui .model-jump-to-path{cursor:pointer;position:relative}.swagger-ui .model-jump-to-path .view-line-link{cursor:pointer;position:absolute;top:-.4em}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{visibility:visible}.swagger-ui .model-hint{background:#000000b3;border-radius:4px;color:#ebebeb;padding:.1em .5em;position:absolute;top:-1.8em;visibility:hidden;white-space:nowrap}.swagger-ui .model p{margin:0 0 1em}.swagger-ui .model .property{color:#999;font-style:italic}.swagger-ui .model .property.primitive{color:#6b6b6b}.swagger-ui table.model tr.description{color:#666;font-weight:400}.swagger-ui table.model tr.description td:first-child,.swagger-ui table.model tr.property-row.required td:first-child{font-weight:700}.swagger-ui table.model tr.property-row td{vertical-align:top}.swagger-ui table.model tr.property-row td:first-child{padding-right:.2em}.swagger-ui table.model tr.property-row .star{color:red}.swagger-ui table.model tr.extension{color:#777}.swagger-ui table.model tr.extension td:last-child{vertical-align:top}.swagger-ui section.models{border:1px solid #3b41514d;border-radius:4px;margin:30px 0}.swagger-ui section.models .pointer{cursor:pointer}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{border-bottom:1px solid #3b41514d;margin:0 0 5px}.swagger-ui section.models h4{align-items:center;color:#606060;cursor:pointer;display:flex;font-family:sans-serif;font-size:16px;margin:0;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui section.models h4 svg{transition:all .4s}.swagger-ui section.models h4 span{flex:1}.swagger-ui section.models h4:hover{background:#00000005}.swagger-ui section.models h5{color:#707070;font-family:sans-serif;font-size:16px;margin:0 0 10px}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{background:#0000000d;border-radius:4px;margin:0 20px 15px;position:relative;transition:all .5s}.swagger-ui section.models .model-container:hover{background:#00000012}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-container .models-jump-to-path{opacity:.65;position:absolute;right:5px;top:8px}.swagger-ui section.models .model-box{background:none}.swagger-ui .model-box{background:#0000001a;border-radius:4px;display:inline-block;padding:10px}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{color:#505050;font-family:sans-serif;font-size:16px}.swagger-ui .model-title img{bottom:0;margin-left:1em;position:relative}.swagger-ui .model-deprecated-warning{color:#f93e3e;font-family:sans-serif;font-size:16px;font-weight:600;margin-right:1em}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{color:#3b4151;font-family:sans-serif;font-size:12px;margin:-20px 15px 0 0}.swagger-ui .servers>label select{max-width:100%;min-width:130px}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;padding-bottom:10px;padding-top:10px;vertical-align:middle}.swagger-ui .servers table td:first-of-type{padding-right:1em}.swagger-ui .servers table td input{height:100%;width:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;font-size:16px;margin:0 1em;padding:4px}.swagger-ui .servers-title{font-size:12px;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{border-collapse:collapse;padding:0 10px;width:100%}.swagger-ui table.model tbody tr td{padding:0;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{padding:0 0 0 2em;width:174px}.swagger-ui table.headers td{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600;vertical-align:middle}.swagger-ui table.headers .header-example{color:#999;font-style:italic}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{min-width:6em;padding:10px 0}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid #3b415133;color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;padding:12px 0;text-align:left}.swagger-ui .parameters-col_description{margin-bottom:2em;width:99%}.swagger-ui .parameters-col_description input[type=text]{max-width:340px;width:100%}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameter__name{color:#3b4151;font-family:sans-serif;font-size:16px;font-weight:400;margin-right:.75em}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required span{color:red}.swagger-ui .parameter__name.required:after{color:#f009;content:"required";font-size:10px;padding:5px;position:relative;top:-6px}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:gray;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__deprecated{color:red;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__empty_value_toggle{display:block;font-size:13px;padding-bottom:12px;padding-top:5px}.swagger-ui .parameter__empty_value_toggle input{margin-right:7px}.swagger-ui .parameter__empty_value_toggle.disabled{opacity:.7}.swagger-ui .table-container{padding:20px}.swagger-ui .response-col_description{width:99%}.swagger-ui .response-col_links{min-width:6em}.swagger-ui .response__extension{color:gray;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .topbar{background-color:#1b1b1b;padding:10px 0}.swagger-ui .topbar .topbar-wrapper,.swagger-ui .topbar a{align-items:center;display:flex}.swagger-ui .topbar a{color:#fff;flex:1;font-family:sans-serif;font-size:1.5em;font-weight:700;max-width:300px;text-decoration:none}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:flex;flex:3;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid #62a03f;border-radius:4px 0 0 4px;margin:0;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label{align-items:center;color:#f0f0f0;display:flex;margin:0;max-width:600px;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label span{flex:1;font-size:16px;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{border:2px solid #62a03f;box-shadow:none;flex:2;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:#62a03f;border:none;border-radius:0 4px 4px 0;color:#fff;font-family:sans-serif;font-size:16px;font-weight:700;padding:4px 30px}.swagger-ui .info{margin:50px 0}.swagger-ui .info.failed-config{margin-left:auto;margin-right:auto;max-width:880px;text-align:center}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info pre{font-size:14px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5{color:#3b4151;font-family:sans-serif}.swagger-ui .info a{color:#4990e2;font-family:sans-serif;font-size:14px;transition:all .4s}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300!important;font-weight:600;margin:0}.swagger-ui .info .title{color:#3b4151;font-family:sans-serif;font-size:36px;margin:0}.swagger-ui .info .title small{background:#7d8492;border-radius:57px;display:inline-block;font-size:10px;margin:0 0 0 5px;padding:2px 4px;position:relative;top:-5px;vertical-align:super}.swagger-ui .info .title small.version-stamp{background-color:#89bf04}.swagger-ui .info .title small pre{color:#fff;font-family:sans-serif;margin:0;padding:0}.swagger-ui .auth-btn-wrapper{display:flex;justify-content:center;padding:10px 0}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{margin-right:10px;padding-right:20px}.swagger-ui .auth-container{border-bottom:1px solid #ebebeb;margin:0 0 10px;padding:10px 20px}.swagger-ui .auth-container:last-of-type{border:0;margin:0;padding:10px 20px}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{background-color:#fee;border-radius:4px;color:red;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;margin:1em;padding:10px}.swagger-ui .auth-container .errors b{margin-right:1em;text-transform:capitalize}.swagger-ui .scopes h2{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .scopes h2 a{color:#4990e2;cursor:pointer;font-size:12px;padding-left:10px;text-decoration:underline}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{animation:scaleUp .5s;background:#f93e3e1a;border:2px solid #f93e3e;border-radius:4px;margin:20px;padding:10px 20px}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{color:#3b4151;font-family:monospace;font-size:14px;font-weight:600;margin:0}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper .errors .message{white-space:pre-line}.swagger-ui .errors-wrapper .errors .message.thrown{max-width:100%}.swagger-ui .errors-wrapper .errors .error-line{cursor:pointer;text-decoration:underline}.swagger-ui .errors-wrapper hgroup{align-items:center;display:flex}.swagger-ui .errors-wrapper hgroup h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;margin:0}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.swagger-ui .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown pre{margin:1em auto;word-break:break-all;word-break:break-word}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:#000;font-weight:400;padding:0;white-space:pre-wrap}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:#0000000d;border-radius:4px;color:#9012fe;font-family:monospace;font-size:14px;font-weight:600;padding:5px 7px}.swagger-ui .markdown pre>code,.swagger-ui .renderedMarkdown pre>code{display:block}.toast-center-center{top:50%;left:50%;transform:translate(-50%,-50%)}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}.toast-title{font-weight:700}.toast-message{word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 0 #fff}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4}button.toast-close-button{padding:0;cursor:pointer;background:#0000;border:0}.toast-container{pointer-events:none;position:fixed;z-index:999999}.toast-container *{box-sizing:border-box}.toast-container .ngx-toastr{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px 3px 3px 3px;background-position:15px;background-repeat:no-repeat;background-size:24px;box-shadow:0 0 12px #999;color:#fff}.toast-container .ngx-toastr:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.toast-info{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOS4wNDMgOCA4IDExOS4wODMgOCAyNTZjMCAxMzYuOTk3IDExMS4wNDMgMjQ4IDI0OCAyNDhzMjQ4LTExMS4wMDMgMjQ4LTI0OEM1MDQgMTE5LjA4MyAzOTIuOTU3IDggMjU2IDh6bTAgMTEwYzIzLjE5NiAwIDQyIDE4LjgwNCA0MiA0MnMtMTguODA0IDQyLTQyIDQyLTQyLTE4LjgwNC00Mi00MiAxOC44MDQtNDIgNDItNDJ6bTU2IDI1NGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC04OGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMnYtNjRoLTEyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDY0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MTAwaDEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjR6Jy8+PC9zdmc+")}.toast-error{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTEyMS42IDMxMy4xYzQuNyA0LjcgNC43IDEyLjMgMCAxN0wzMzggMzc3LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwyNTYgMzEybC02NS4xIDY1LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwxMzQuNCAzMzhjLTQuNy00LjctNC43LTEyLjMgMC0xN2w2NS42LTY1LTY1LjYtNjUuMWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDM5LjYtMzkuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsNjUgNjUuNyA2NS4xLTY1LjZjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDM5LjYgMzkuNmM0LjcgNC43IDQuNyAxMi4zIDAgMTdMMzEyIDI1Nmw2NS42IDY1LjF6Jy8+PC9zdmc+")}.toast-success{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxeicvPjwvc3ZnPg==")}.toast-warning{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyB3aWR0aD0nNTc2JyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTU2OS41MTcgNDQwLjAxM0M1ODcuOTc1IDQ3Mi4wMDcgNTY0LjgwNiA1MTIgNTI3Ljk0IDUxMkg0OC4wNTRjLTM2LjkzNyAwLTU5Ljk5OS00MC4wNTUtNDEuNTc3LTcxLjk4N0wyNDYuNDIzIDIzLjk4NWMxOC40NjctMzIuMDA5IDY0LjcyLTMxLjk1MSA4My4xNTQgMGwyMzkuOTQgNDE2LjAyOHpNMjg4IDM1NGMtMjUuNDA1IDAtNDYgMjAuNTk1LTQ2IDQ2czIwLjU5NSA0NiA0NiA0NiA0Ni0yMC41OTUgNDYtNDYtMjAuNTk1LTQ2LTQ2LTQ2em0tNDMuNjczLTE2NS4zNDZsNy40MTggMTM2Yy4zNDcgNi4zNjQgNS42MDkgMTEuMzQ2IDExLjk4MiAxMS4zNDZoNDguNTQ2YzYuMzczIDAgMTEuNjM1LTQuOTgyIDExLjk4Mi0xMS4zNDZsNy40MTgtMTM2Yy4zNzUtNi44NzQtNS4wOTgtMTIuNjU0LTExLjk4Mi0xMi42NTRoLTYzLjM4M2MtNi44ODQgMC0xMi4zNTYgNS43OC0xMS45ODEgMTIuNjU0eicvPjwvc3ZnPg==")}.toast-container.toast-bottom-center .ngx-toastr,.toast-container.toast-top-center .ngx-toastr{width:300px;margin-left:auto;margin-right:auto}.toast-container.toast-bottom-full-width .ngx-toastr,.toast-container.toast-top-full-width .ngx-toastr{width:96%;margin-left:auto;margin-right:auto}.ngx-toastr{background-color:#030303;pointer-events:auto}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4}@media all and (max-width: 240px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:11em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width: 241px) and (max-width: 480px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:18em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width: 481px) and (max-width: 768px){.toast-container .ngx-toastr.div{padding:15px 15px 15px 50px;width:25em}}.tree-children.tree-children-no-padding{padding-left:0}.tree-children{overflow:hidden}.node-drop-slot{display:block;height:2px}.node-drop-slot.is-dragging-over{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded .toggle-children{transform:rotate(90deg)}.toggle-children-wrapper-collapsed .toggle-children{transform:rotate(0)}.toggle-children-wrapper{padding:2px 3px 5px 1px}.toggle-children{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC");height:8px;width:9px;background-size:contain;background-repeat:no-repeat;background-position:50%}.toggle-children,.toggle-children-placeholder{display:inline-block;position:relative;top:1px}.toggle-children-placeholder{height:10px;width:10px;padding-right:3px}.node-content-wrapper{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper{display:flex;align-items:flex-start}.node-content-wrapper-active,.node-content-wrapper-active.node-content-wrapper-focused,.node-content-wrapper.node-content-wrapper-active:hover{background:#beebff}.node-content-wrapper-focused{background:#e7f4f9}.node-content-wrapper:hover{background:#f7fbff}.node-content-wrapper-active,.node-content-wrapper-focused,.node-content-wrapper:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled{opacity:.5}tree-viewport{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children{padding-left:20px}.empty-tree-drop-slot .node-drop-slot{height:20px;min-width:100px}.angular-tree-component{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;user-select:none}tree-root .angular-tree-component-rtl{direction:rtl}tree-root .angular-tree-component-rtl .toggle-children-wrapper-collapsed .toggle-children{transform:rotate(180deg)!important}tree-root .angular-tree-component-rtl .tree-children{padding-right:20px;padding-left:0}tree-node-checkbox{padding:1px}:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--black:#000;--barley-white:#fcecba;--fg-color-over-dark-bg:#fff;--fg-hover-color-over-dark-bg:#adb5bd;--body-color-bright:#f8f9fa;--body-bg:#fff;--body-color:#212529;--body-bg-alt:#e9ecef;--health-color-error:red;--health-color-healthy:#0b0;--health-color-warning:orange;--chart-color-red:#c9190b;--chart-color-blue:#06c;--chart-color-orange:#ef9234;--chart-color-yellow:#f6d173;--chart-color-green:#7cc674;--chart-color-gray:#ededed;--chart-color-cyan:#73c5c5;--chart-color-purple:#3c3d99;--chart-color-center-text:#151515;--chart-color-center-text-description:#72767b;--chart-color-tooltip-background:#000;--chart-danger:#c9190b;--card-cap-bg:#f8f9fa;--grid-gutter-width:30px;--datatable-divider-color:#00000017;--nav-tabs-margin-bottom:1rem;--tooltip-color:#fff;--tooltip-bg:#212529;--screen-sm-min:576px;--screen-md-min:768px;--screen-lg-min:992px;--screen-xl-min:1200px;--screen-xs-max:calc(576px - 1px);--screen-sm-max:calc(768px - 1px);--screen-md-max:calc(992px - 1px);--screen-lg-max:calc(1200px - 1px);--navbar-height:43px;--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#a94442;--red:#ef5c55;--orange:#fd7e14;--yellow:#ffc200;--green:#0b0;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#374249;--success:#0b0;--info:#2b99a8;--warning:#ffc200;--danger:#ef5c55;--light:#f8f9fa;--dark:#777;--accent:#ef5c55;--warning-dark:#fd7e14;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-2xl:1450px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
-/*!
- * Bootstrap v4.6.1 (https://getbootstrap.com/)
- * Copyright 2011-2021 The Bootstrap Authors
- * Copyright 2011-2021 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}a{color:#2b99a8;text-decoration:none;background-color:initial}a:hover{color:#1b626b;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid #0000001a}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#a94442;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width: 992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width: 1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row,cd-about dl{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.cd-col-form,.cd-col-form-input,.cd-col-form-label,.cd-col-form-offset,.col,.col-1,.col-2,.col-2xl,.col-2xl-1,.col-2xl-2,.col-2xl-3,.col-2xl-4,.col-2xl-5,.col-2xl-6,.col-2xl-7,.col-2xl-8,.col-2xl-9,.col-2xl-10,.col-2xl-11,.col-2xl-12,.col-2xl-auto,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto,cd-about dd,cd-about dt,cd-health cd-info-card,cd-health cd-info-card.cd-capacity-card,cd-health cd-info-card.cd-chart-card,cd-health cd-info-card.cd-performance-card,cd-health cd-info-card.cd-status-card,cd-modal .cd-col-form-input,cd-modal .cd-col-form-label,cd-modal .cd-col-form-offset{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4,cd-about dt{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8,cd-about dd{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.cd-col-form,.col-12,cd-health cd-info-card{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.cd-col-form-label,.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.cd-col-form-input,.cd-col-form-offset,.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12,cd-health cd-info-card{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.cd-col-form-offset,.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.cd-col-form-label,.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6,cd-health cd-info-card{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.cd-col-form-input,.cd-col-form-offset,.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12,cd-health cd-info-card.cd-chart-card{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.cd-col-form-label,.col-lg-3,cd-health cd-info-card.cd-capacity-card{flex:0 0 25%;max-width:25%}.col-lg-4,cd-health cd-info-card,cd-modal .cd-col-form-label{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6,cd-health cd-info-card.cd-chart-card,cd-health cd-info-card.cd-performance-card{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.cd-col-form,.col-lg-8,cd-modal .cd-col-form-input,cd-modal .cd-col-form-offset{flex:0 0 66.66666667%;max-width:66.66666667%}.cd-col-form-input,.cd-col-form-offset,.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.cd-col-form-offset,.offset-lg-3{margin-left:25%}.offset-lg-4,cd-modal .cd-col-form-offset{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media (min-width: 1200px){.col-xl,cd-health cd-info-card.cd-capacity-card,cd-health cd-info-card.cd-performance-card{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3,cd-health cd-info-card.cd-status-card{flex:0 0 25%;max-width:25%}.col-xl-4,cd-health cd-info-card.cd-chart-card{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.cd-col-form,.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}@media (min-width: 1450px){.col-2xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-2xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-2xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-2xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-2xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-2xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-2xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-2xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-2xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-2xl-3,cd-health cd-info-card.cd-chart-card{flex:0 0 25%;max-width:25%}.col-2xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-2xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-2xl-6{flex:0 0 50%;max-width:50%}.col-2xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-2xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-2xl-9{flex:0 0 75%;max-width:75%}.col-2xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-2xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-2xl-12{flex:0 0 100%;max-width:100%}.order-2xl-first{order:-1}.order-2xl-last{order:13}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-6{order:6}.order-2xl-7{order:7}.order-2xl-8{order:8}.order-2xl-9{order:9}.order-2xl-10{order:10}.order-2xl-11{order:11}.order-2xl-12{order:12}.offset-2xl-0{margin-left:0}.offset-2xl-1{margin-left:8.33333333%}.offset-2xl-2{margin-left:16.66666667%}.offset-2xl-3{margin-left:25%}.offset-2xl-4{margin-left:33.33333333%}.offset-2xl-5{margin-left:41.66666667%}.offset-2xl-6{margin-left:50%}.offset-2xl-7{margin-left:58.33333333%}.offset-2xl-8{margin-left:66.66666667%}.offset-2xl-9{margin-left:75%}.offset-2xl-10{margin-left:83.33333333%}.offset-2xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#0000000d}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#c4e2e7}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#91cad2}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b2d9e0}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#c7cacc}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#979da0}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#babdc0}.table-success,.table-success>td,.table-success>th{background-color:#b8ecb8}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#7adc7a}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#a4e7a4}.table-info,.table-info>td,.table-info>th{background-color:#c4e2e7}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#91cad2}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#b2d9e0}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeb8}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7a}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe89f}.table-danger,.table-danger>td,.table-danger>th{background-color:#fbd1cf}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#f7aaa7}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f9bab7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#d9d9d9}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#b8b8b8}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#ccc}.table-accent,.table-accent>td,.table-accent>th{background-color:#fbd1cf}.table-accent tbody+tbody,.table-accent td,.table-accent th,.table-accent thead th{border-color:#f7aaa7}.table-hover .table-accent:hover,.table-hover .table-accent:hover>td,.table-hover .table-accent:hover>th{background-color:#f9bab7}.table-warning-dark,.table-warning-dark>td,.table-warning-dark>th{background-color:#fedbbd}.table-warning-dark tbody+tbody,.table-warning-dark td,.table-warning-dark th,.table-warning-dark thead th{border-color:#febc85}.table-hover .table-warning-dark:hover,.table-hover .table-warning-dark:hover>td,.table-hover .table-warning-dark:hover>th{background-color:#fecda4}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:#ffffff0d}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}@media (max-width: 1449.98px){.table-responsive-2xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-2xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.cd-form-control,.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.cd-form-control,.form-control{transition:none}}.cd-form-control::-ms-expand,.form-control::-ms-expand{background-color:initial;border:0}.cd-form-control:focus,.form-control:focus{color:#495057;background-color:#fff;border-color:#76d0dc;box-shadow:0 0 0 .2rem #2b99a840}.cd-form-control::placeholder,.form-control::placeholder{color:#6c757d;opacity:1}.cd-form-control:disabled,.form-control:disabled,.form-control[readonly],[readonly].cd-form-control{background-color:#e9ecef;opacity:1}input[type=date].cd-form-control,input[type=date].form-control,input[type=datetime-local].cd-form-control,input[type=datetime-local].form-control,input[type=month].cd-form-control,input[type=month].form-control,input[type=time].cd-form-control,input[type=time].form-control{-moz-appearance:none;appearance:none}select.cd-form-control:-moz-focusring,select.form-control:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}select.cd-form-control:focus::-ms-value,select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.cd-col-form-label,.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:initial;border:solid #0000;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],select[multiple].cd-form-control,select[size].cd-form-control,textarea.cd-form-control,textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#0b0}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:#00bb00e6;border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.is-valid.cd-form-control,.was-validated .cd-form-control:valid,.was-validated .form-control:valid{border-color:#0b0;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%230b0' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.is-valid.cd-form-control:focus,.was-validated .cd-form-control:valid:focus,.was-validated .form-control:valid:focus{border-color:#0b0;box-shadow:0 0 0 .2rem #00bb0040}.was-validated select.cd-form-control:valid,.was-validated select.form-control:valid,select.form-control.is-valid,select.is-valid.cd-form-control{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.cd-form-control:valid,.was-validated textarea.form-control:valid,textarea.form-control.is-valid,textarea.is-valid.cd-form-control{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#0b0;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%230b0' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#0b0;box-shadow:0 0 0 .2rem #00bb0040}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#0b0}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#0b0}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#0b0}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#0e0;background-color:#0e0}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #00bb0040}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#0b0}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#0b0;box-shadow:0 0 0 .2rem #00bb0040}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#ef5c55}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:#ef5c55e6;border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.is-invalid.cd-form-control,.was-validated .cd-form-control:invalid,.was-validated .form-control:invalid{border-color:#ef5c55;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ef5c55' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ef5c55' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.is-invalid.cd-form-control:focus,.was-validated .cd-form-control:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#ef5c55;box-shadow:0 0 0 .2rem #ef5c5540}.was-validated select.cd-form-control:invalid,.was-validated select.form-control:invalid,select.form-control.is-invalid,select.is-invalid.cd-form-control{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.cd-form-control:invalid,.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid,textarea.is-invalid.cd-form-control{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#ef5c55;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ef5c55' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ef5c55' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#ef5c55;box-shadow:0 0 0 .2rem #ef5c5540}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#ef5c55}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#ef5c55}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#ef5c55}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#f38984;background-color:#f38984}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #ef5c5540}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#ef5c55}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#ef5c55;box-shadow:0 0 0 .2rem #ef5c5540}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .cd-form-control,.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;user-select:none;background-color:initial;border:1px solid #0000;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem #2b99a840}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem #4ba8b580}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #4ba8b580}.btn-secondary{color:#fff;background-color:#374249;border-color:#374249}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:#fff;background-color:#272e33;border-color:#21282c}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem #555e6480}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#374249;border-color:#374249}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#21282c;border-color:#1c2125}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #555e6480}.btn-success{color:#fff;background-color:#0b0;border-color:#0b0}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#009500;border-color:#080}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem #26c52680}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#0b0;border-color:#0b0}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#080;border-color:#007b00}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #26c52680}.btn-info{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem #4ba8b580}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #4ba8b580}.btn-warning{color:#212529;background-color:#ffc200;border-color:#ffc200}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#212529;background-color:#d9a500;border-color:#cc9b00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem #deaa0680}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc200;border-color:#ffc200}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#cc9b00;border-color:#bf9200}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #deaa0680}.btn-danger{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem #f1746f80}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f1746f80}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light.focus,.btn-light:focus,.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-dark{color:#fff;background-color:#777;border-color:#777}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem #8b8b8b80}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #8b8b8b80}.btn-accent{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-accent.focus,.btn-accent:focus,.btn-accent:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-accent.focus,.btn-accent:focus{box-shadow:0 0 0 .2rem #f1746f80}.btn-accent.disabled,.btn-accent:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-accent:not(:disabled):not(.disabled).active,.btn-accent:not(:disabled):not(.disabled):active,.show>.btn-accent.dropdown-toggle{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-accent:not(:disabled):not(.disabled).active:focus,.btn-accent:not(:disabled):not(.disabled):active:focus,.show>.btn-accent.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f1746f80}.btn-warning-dark{color:#212529;background-color:#fd7e14;border-color:#fd7e14}.btn-warning-dark.focus,.btn-warning-dark:focus,.btn-warning-dark:hover{color:#fff;background-color:#e96b02;border-color:#dc6502}.btn-warning-dark.focus,.btn-warning-dark:focus{box-shadow:0 0 0 .2rem #dc711780}.btn-warning-dark.disabled,.btn-warning-dark:disabled{color:#212529;background-color:#fd7e14;border-color:#fd7e14}.btn-warning-dark:not(:disabled):not(.disabled).active,.btn-warning-dark:not(:disabled):not(.disabled):active,.show>.btn-warning-dark.dropdown-toggle{color:#fff;background-color:#dc6502;border-color:#cf5f02}.btn-warning-dark:not(:disabled):not(.disabled).active:focus,.btn-warning-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-warning-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #dc711780}.btn-outline-primary{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem #2b99a880}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2b99a8;background-color:initial}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #2b99a880}.btn-outline-secondary{color:#374249;border-color:#374249}.btn-outline-secondary:hover{color:#fff;background-color:#374249;border-color:#374249}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem #37424980}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#374249;background-color:initial}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#374249;border-color:#374249}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #37424980}.btn-outline-success{color:#0b0;border-color:#0b0}.btn-outline-success:hover{color:#fff;background-color:#0b0;border-color:#0b0}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem #00bb0080}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#0b0;background-color:initial}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#0b0;border-color:#0b0}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #00bb0080}.btn-outline-info{color:#2b99a8;border-color:#2b99a8}.btn-outline-info:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem #2b99a880}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#2b99a8;background-color:initial}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #2b99a880}.btn-outline-warning{color:#ffc200;border-color:#ffc200}.btn-outline-warning:hover{color:#212529;background-color:#ffc200;border-color:#ffc200}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem #ffc20080}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc200;background-color:initial}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc200;border-color:#ffc200}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ffc20080}.btn-outline-danger{color:#ef5c55;border-color:#ef5c55}.btn-outline-danger:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem #ef5c5580}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ef5c55;background-color:initial}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ef5c5580}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:initial}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-dark{color:#777;border-color:#777}.btn-outline-dark:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem #77777780}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#777;background-color:initial}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #77777780}.btn-outline-accent{color:#ef5c55;border-color:#ef5c55}.btn-outline-accent:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-accent.focus,.btn-outline-accent:focus{box-shadow:0 0 0 .2rem #ef5c5580}.btn-outline-accent.disabled,.btn-outline-accent:disabled{color:#ef5c55;background-color:initial}.btn-outline-accent:not(:disabled):not(.disabled).active,.btn-outline-accent:not(:disabled):not(.disabled):active,.show>.btn-outline-accent.dropdown-toggle{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-accent:not(:disabled):not(.disabled).active:focus,.btn-outline-accent:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-accent.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ef5c5580}.btn-outline-warning-dark{color:#fd7e14;border-color:#fd7e14}.btn-outline-warning-dark:hover{color:#212529;background-color:#fd7e14;border-color:#fd7e14}.btn-outline-warning-dark.focus,.btn-outline-warning-dark:focus{box-shadow:0 0 0 .2rem #fd7e1480}.btn-outline-warning-dark.disabled,.btn-outline-warning-dark:disabled{color:#fd7e14;background-color:initial}.btn-outline-warning-dark:not(:disabled):not(.disabled).active,.btn-outline-warning-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-warning-dark.dropdown-toggle{color:#212529;background-color:#fd7e14;border-color:#fd7e14}.btn-outline-warning-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-warning-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #fd7e1480}.btn-link{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link:hover{color:#1b626b}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid #0000;border-bottom:0;border-left:.3em solid #0000}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #00000026;border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width: 1450px){.dropdown-menu-2xl-left{right:auto;left:0}.dropdown-menu-2xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid #0000;border-bottom:.3em solid;border-left:.3em solid #0000}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid #0000;border-right:0;border-bottom:.3em solid #0000;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid #0000;border-right:.3em solid;border-bottom:.3em solid #0000}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:initial;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:initial}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.cd-form-control,.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.cd-form-control+.cd-form-control,.input-group>.cd-form-control+.custom-file,.input-group>.cd-form-control+.custom-select,.input-group>.cd-form-control+.form-control,.input-group>.custom-file+.cd-form-control,.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.cd-form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.cd-form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.cd-form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.cd-form-control:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.cd-form-control:not(:first-child),.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.cd-form-control:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.cd-form-control:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.cd-form-control:not(textarea),.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.cd-form-control,.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.cd-form-control:not(textarea),.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.cd-form-control,.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #2b99a840}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#76d0dc}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:#2b99a880}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#2b99a880}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#2b99a880}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem #2b99a840}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#76d0dc;box-shadow:0 0 0 .2rem #2b99a840}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);overflow:hidden;font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:initial;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #2b99a840}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #2b99a840}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #2b99a840}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:#0000;cursor:pointer;background-color:#dee2e6;border-color:#0000;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#9fdee6}.custom-range::-moz-range-track{width:100%;height:.5rem;color:#0000;cursor:pointer;background-color:#dee2e6;border-color:#0000;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#9fdee6}.custom-range::-ms-track{width:100%;height:.5rem;color:#0000;cursor:pointer;background-color:initial;border-color:#0000;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid #0000;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:initial;border-color:#0000}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2b99a8}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:initial;border:1px solid #0000;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (max-width: 1449.98px){.navbar-expand-2xl>.container,.navbar-expand-2xl>.container-fluid,.navbar-expand-2xl>.container-lg,.navbar-expand-2xl>.container-md,.navbar-expand-2xl>.container-sm,.navbar-expand-2xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 1450px){.navbar-expand-2xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-2xl .navbar-nav{flex-direction:row}.navbar-expand-2xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-2xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-2xl>.container,.navbar-expand-2xl>.container-fluid,.navbar-expand-2xl>.container-lg,.navbar-expand-2xl>.container-md,.navbar-expand-2xl>.container-sm,.navbar-expand-2xl>.container-xl{flex-wrap:nowrap}.navbar-expand-2xl .navbar-nav-scroll{overflow:visible}.navbar-expand-2xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-2xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:#000000e6}.navbar-light .navbar-nav .nav-link{color:#00000080}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:#000000b3}.navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:#000000e6}.navbar-light .navbar-toggler{color:#00000080;border-color:#0000001a}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#00000080}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:#000000e6}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#ffffff80}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#ffffffbf}.navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:#ffffff80;border-color:#ffffff1a}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#ffffff80}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card,pre:not(cd-api-docs *){position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:initial;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr,pre:not(cd-api-docs *)>hr{margin-right:0;margin-left:0}.card>.list-group,pre:not(cd-api-docs *)>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,pre:not(cd-api-docs *)>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child,pre:not(cd-api-docs *)>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer,pre:not(cd-api-docs *)>.card-header+.list-group,pre:not(cd-api-docs *)>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fa;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f8f9fa;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card,.card-deck pre:not(cd-api-docs *){margin-bottom:15px}@media (min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card,.card-deck pre:not(cd-api-docs *){flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card,.card-group>pre:not(cd-api-docs *){margin-bottom:15px}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card,.card-group>pre:not(cd-api-docs *){flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.card+pre:not(cd-api-docs *),.card-group>pre:not(cd-api-docs *)+.card,.card-group>pre:not(cd-api-docs *)+pre:not(cd-api-docs *){margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>pre:not(:last-child):not(cd-api-docs *){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top,.card-group>pre:not(:last-child):not(cd-api-docs *) .card-header,.card-group>pre:not(:last-child):not(cd-api-docs *) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom,.card-group>pre:not(:last-child):not(cd-api-docs *) .card-footer,.card-group>pre:not(:last-child):not(cd-api-docs *) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>pre:not(:first-child):not(cd-api-docs *){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top,.card-group>pre:not(:first-child):not(cd-api-docs *) .card-header,.card-group>pre:not(:first-child):not(cd-api-docs *) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom,.card-group>pre:not(:first-child):not(cd-api-docs *) .card-footer,.card-group>pre:not(:first-child):not(cd-api-docs *) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card,.card-columns pre:not(cd-api-docs *){margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;grid-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card,.card-columns pre:not(cd-api-docs *){display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card,.accordion>pre:not(cd-api-docs *){overflow:hidden}.accordion>.card:not(:last-of-type),.accordion>pre:not(:last-of-type):not(cd-api-docs *){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type),.accordion>pre:not(:first-of-type):not(cd-api-docs *){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header,.accordion>pre:not(cd-api-docs *)>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination,cd-table .cd-datatable .datatable-footer .datatable-pager ul{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li a{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link:hover,cd-table .cd-datatable .datatable-footer .datatable-pager ul li a:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus,cd-table .cd-datatable .datatable-footer .datatable-pager ul li a:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem #2b99a840}.page-item:first-child .page-link,.page-item:first-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .page-item:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child a{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link,.page-item:last-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .page-item:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child a{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link,.page-item.active cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li.active .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li.active a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .page-item.active a{z-index:3;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled .page-link,.page-item.disabled cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li.disabled .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li.disabled a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .page-item.disabled a{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg a{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link,.pagination-lg .page-item:first-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:first-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg .page-item:first-child a{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link,.pagination-lg .page-item:last-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:last-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg .page-item:last-child a{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm a{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link,.pagination-sm .page-item:first-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:first-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm .page-item:first-child a{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link,.pagination-sm .page-item:last-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:last-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm .page-item:last-child a{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:initial;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#2b99a8}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#21747f}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem #2b99a880}.badge-secondary{color:#fff;background-color:#374249}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#21282c}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem #37424980}.badge-success{color:#fff;background-color:#0b0}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#080}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem #00bb0080}.badge-info{color:#fff;background-color:#2b99a8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#21747f}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem #2b99a880}.badge-warning{color:#212529;background-color:#ffc200}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#cc9b00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem #ffc20080}.badge-danger{color:#fff;background-color:#ef5c55}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#eb2f26}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem #ef5c5580}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem #f8f9fa80}.badge-dark{color:#fff;background-color:#777}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem #77777780}.badge-accent{color:#fff;background-color:#ef5c55}a.badge-accent:focus,a.badge-accent:hover{color:#fff;background-color:#eb2f26}a.badge-accent.focus,a.badge-accent:focus{outline:0;box-shadow:0 0 0 .2rem #ef5c5580}.badge-warning-dark{color:#212529;background-color:#fd7e14}a.badge-warning-dark:focus,a.badge-warning-dark:hover{color:#212529;background-color:#dc6502}a.badge-warning-dark.focus,a.badge-warning-dark:focus{outline:0;box-shadow:0 0 0 .2rem #fd7e1480}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid #0000;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary hr{border-top-color:#b2d9e0}.alert-primary .alert-link{color:#0c2b2e}.alert-secondary{color:#1d2226;background-color:#d7d9db;border-color:#c7cacc}.alert-secondary hr{border-top-color:#babdc0}.alert-secondary .alert-link{color:#070809}.alert-success{color:#006100;background-color:#ccf1cc;border-color:#b8ecb8}.alert-success hr{border-top-color:#a4e7a4}.alert-success .alert-link{color:#002e00}.alert-info{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-info hr{border-top-color:#b2d9e0}.alert-info .alert-link{color:#0c2b2e}.alert-warning{color:#856500;background-color:#fff3cc;border-color:#ffeeb8}.alert-warning hr{border-top-color:#ffe89f}.alert-warning .alert-link{color:#523e00}.alert-danger{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-danger hr{border-top-color:#f9bab7}.alert-danger .alert-link{color:#56211f}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark hr{border-top-color:#ccc}.alert-dark .alert-link{color:#252525}.alert-accent{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-accent hr{border-top-color:#f9bab7}.alert-accent .alert-link{color:#56211f}.alert-warning-dark{color:#84420a;background-color:#ffe5d0;border-color:#fedbbd}.alert-warning-dark hr{border-top-color:#fecda4}.alert-warning-dark .alert-link{color:#552a06}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1450px){.list-group-horizontal-2xl{flex-direction:row}.list-group-horizontal-2xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-2xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-2xl>.list-group-item.active{margin-top:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary{color:#1d2226;background-color:#c7cacc}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#1d2226;background-color:#babdc0}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#1d2226;border-color:#1d2226}.list-group-item-success{color:#006100;background-color:#b8ecb8}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#006100;background-color:#a4e7a4}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#006100;border-color:#006100}.list-group-item-info{color:#165057;background-color:#c4e2e7}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#165057;background-color:#b2d9e0}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-warning{color:#856500;background-color:#ffeeb8}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856500;background-color:#ffe89f}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856500;border-color:#856500}.list-group-item-danger{color:#7c302c;background-color:#fbd1cf}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.list-group-item-accent{color:#7c302c;background-color:#fbd1cf}.list-group-item-accent.list-group-item-action:focus,.list-group-item-accent.list-group-item-action:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-accent.list-group-item-action.active{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-warning-dark{color:#84420a;background-color:#fedbbd}.list-group-item-warning-dark.list-group-item-action:focus,.list-group-item-warning-dark.list-group-item-action:hover{color:#84420a;background-color:#fecda4}.list-group-item-warning-dark.list-group-item-action.active{color:#fff;background-color:#84420a;border-color:#84420a}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:initial;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:.875rem;background-color:#ffffffd9;background-clip:padding-box;border:1px solid #0000001a;box-shadow:0 .25rem .75rem #0000001a;opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid #0000000d;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid #0003;border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:#0000;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#212529}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#212529}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#212529}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#212529}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#212529;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:350px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:1rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid #0003;border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:#0000;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#00000040}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#00000040}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:#00000040}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#00000040}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:initial;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid #0000;border-bottom:10px solid #0000;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid;border-right:.25em solid #0000;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:initial!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#2b99a8!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#21747f!important}.bg-secondary{background-color:#374249!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#21282c!important}.bg-success{background-color:#0b0!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#080!important}.bg-info{background-color:#2b99a8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#21747f!important}.bg-warning{background-color:#ffc200!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#cc9b00!important}.bg-danger{background-color:#ef5c55!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#eb2f26!important}.bg-light,pre:not(cd-api-docs *){background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#777!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#5e5e5e!important}.bg-accent{background-color:#ef5c55!important}a.bg-accent:focus,a.bg-accent:hover,button.bg-accent:focus,button.bg-accent:hover{background-color:#eb2f26!important}.bg-warning-dark{background-color:#fd7e14!important}a.bg-warning-dark:focus,a.bg-warning-dark:hover,button.bg-warning-dark:focus,button.bg-warning-dark:hover{background-color:#dc6502!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:initial!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom,.cd-header,legend{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#2b99a8!important}.border-secondary{border-color:#374249!important}.border-success{border-color:#0b0!important}.border-info{border-color:#2b99a8!important}.border-warning{border-color:#ffc200!important}.border-danger{border-color:#ef5c55!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#777!important}.border-accent{border-color:#ef5c55!important}.border-warning-dark{border-color:#fd7e14!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex,cd-health cd-info-card{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width: 576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width: 768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width: 992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width: 1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media (min-width: 1450px){.d-2xl-none{display:none!important}.d-2xl-inline{display:inline!important}.d-2xl-inline-block{display:inline-block!important}.d-2xl-block{display:block!important}.d-2xl-table{display:table!important}.d-2xl-table-row{display:table-row!important}.d-2xl-table-cell{display:table-cell!important}.d-2xl-flex{display:flex!important}.d-2xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.85714286%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column,cd-health cd-info-card{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width: 576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}@media (min-width: 1450px){.flex-2xl-row{flex-direction:row!important}.flex-2xl-column{flex-direction:column!important}.flex-2xl-row-reverse{flex-direction:row-reverse!important}.flex-2xl-column-reverse{flex-direction:column-reverse!important}.flex-2xl-wrap{flex-wrap:wrap!important}.flex-2xl-nowrap{flex-wrap:nowrap!important}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-2xl-fill{flex:1 1 auto!important}.flex-2xl-grow-0{flex-grow:0!important}.flex-2xl-grow-1{flex-grow:1!important}.flex-2xl-shrink-0{flex-shrink:0!important}.flex-2xl-shrink-1{flex-shrink:1!important}.justify-content-2xl-start{justify-content:flex-start!important}.justify-content-2xl-end{justify-content:flex-end!important}.justify-content-2xl-center{justify-content:center!important}.justify-content-2xl-between{justify-content:space-between!important}.justify-content-2xl-around{justify-content:space-around!important}.align-items-2xl-start{align-items:flex-start!important}.align-items-2xl-end{align-items:flex-end!important}.align-items-2xl-center{align-items:center!important}.align-items-2xl-baseline{align-items:baseline!important}.align-items-2xl-stretch{align-items:stretch!important}.align-content-2xl-start{align-content:flex-start!important}.align-content-2xl-end{align-content:flex-end!important}.align-content-2xl-center{align-content:center!important}.align-content-2xl-between{align-content:space-between!important}.align-content-2xl-around{align-content:space-around!important}.align-content-2xl-stretch{align-content:stretch!important}.align-self-2xl-auto{align-self:auto!important}.align-self-2xl-start{align-self:flex-start!important}.align-self-2xl-end{align-self:flex-end!important}.align-self-2xl-center{align-self:center!important}.align-self-2xl-baseline{align-self:baseline!important}.align-self-2xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width: 576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width: 768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width: 992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width: 1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}@media (min-width: 1450px){.float-2xl-left{float:left!important}.float-2xl-right{float:right!important}.float-2xl-none{float:none!important}}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{white-space:nowrap}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.btn-toolbar cd-table-actions.btn-group,.mr-2,.mx-2,cd-logs label{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3,cd-logs .form-inline>.form-group{margin-right:1rem!important}.mb-3,.my-3,cd-logs .form-inline>.form-group{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.cd-header,.mt-4,.my-4,legend{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.cd-header,.mb-4,.my-4,cd-health cd-info-card,legend{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.cd-header,.pb-1,.py-1,legend{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2,cd-table .cd-datatable .datatable-footer,pre:not(cd-api-docs *){padding:.5rem!important}.pt-2,.py-2,cd-info-card .card .card-body .card-text,cd-info-card pre:not(cd-api-docs *) .card-body .card-text{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2,cd-info-card .card,cd-info-card pre:not(cd-api-docs *){padding-bottom:.5rem!important}.pl-2,.px-2,cd-info-card .card .card-body .card-title,cd-info-card pre:not(cd-api-docs *) .card-body .card-title{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1450px){.m-2xl-0{margin:0!important}.mt-2xl-0,.my-2xl-0{margin-top:0!important}.mr-2xl-0,.mx-2xl-0{margin-right:0!important}.mb-2xl-0,.my-2xl-0{margin-bottom:0!important}.ml-2xl-0,.mx-2xl-0{margin-left:0!important}.m-2xl-1{margin:.25rem!important}.mt-2xl-1,.my-2xl-1{margin-top:.25rem!important}.mr-2xl-1,.mx-2xl-1{margin-right:.25rem!important}.mb-2xl-1,.my-2xl-1{margin-bottom:.25rem!important}.ml-2xl-1,.mx-2xl-1{margin-left:.25rem!important}.m-2xl-2{margin:.5rem!important}.mt-2xl-2,.my-2xl-2{margin-top:.5rem!important}.mr-2xl-2,.mx-2xl-2{margin-right:.5rem!important}.mb-2xl-2,.my-2xl-2{margin-bottom:.5rem!important}.ml-2xl-2,.mx-2xl-2{margin-left:.5rem!important}.m-2xl-3{margin:1rem!important}.mt-2xl-3,.my-2xl-3{margin-top:1rem!important}.mr-2xl-3,.mx-2xl-3{margin-right:1rem!important}.mb-2xl-3,.my-2xl-3{margin-bottom:1rem!important}.ml-2xl-3,.mx-2xl-3{margin-left:1rem!important}.m-2xl-4{margin:1.5rem!important}.mt-2xl-4,.my-2xl-4{margin-top:1.5rem!important}.mr-2xl-4,.mx-2xl-4{margin-right:1.5rem!important}.mb-2xl-4,.my-2xl-4{margin-bottom:1.5rem!important}.ml-2xl-4,.mx-2xl-4{margin-left:1.5rem!important}.m-2xl-5{margin:3rem!important}.mt-2xl-5,.my-2xl-5{margin-top:3rem!important}.mr-2xl-5,.mx-2xl-5{margin-right:3rem!important}.mb-2xl-5,.my-2xl-5{margin-bottom:3rem!important}.ml-2xl-5,.mx-2xl-5{margin-left:3rem!important}.p-2xl-0{padding:0!important}.pt-2xl-0,.py-2xl-0{padding-top:0!important}.pr-2xl-0,.px-2xl-0{padding-right:0!important}.pb-2xl-0,.py-2xl-0{padding-bottom:0!important}.pl-2xl-0,.px-2xl-0{padding-left:0!important}.p-2xl-1{padding:.25rem!important}.pt-2xl-1,.py-2xl-1{padding-top:.25rem!important}.pr-2xl-1,.px-2xl-1{padding-right:.25rem!important}.pb-2xl-1,.py-2xl-1{padding-bottom:.25rem!important}.pl-2xl-1,.px-2xl-1{padding-left:.25rem!important}.p-2xl-2{padding:.5rem!important}.pt-2xl-2,.py-2xl-2{padding-top:.5rem!important}.pr-2xl-2,.px-2xl-2{padding-right:.5rem!important}.pb-2xl-2,.py-2xl-2{padding-bottom:.5rem!important}.pl-2xl-2,.px-2xl-2{padding-left:.5rem!important}.p-2xl-3{padding:1rem!important}.pt-2xl-3,.py-2xl-3{padding-top:1rem!important}.pr-2xl-3,.px-2xl-3{padding-right:1rem!important}.pb-2xl-3,.py-2xl-3{padding-bottom:1rem!important}.pl-2xl-3,.px-2xl-3{padding-left:1rem!important}.p-2xl-4{padding:1.5rem!important}.pt-2xl-4,.py-2xl-4{padding-top:1.5rem!important}.pr-2xl-4,.px-2xl-4{padding-right:1.5rem!important}.pb-2xl-4,.py-2xl-4{padding-bottom:1.5rem!important}.pl-2xl-4,.px-2xl-4{padding-left:1.5rem!important}.p-2xl-5{padding:3rem!important}.pt-2xl-5,.py-2xl-5{padding-top:3rem!important}.pr-2xl-5,.px-2xl-5{padding-right:3rem!important}.pb-2xl-5,.py-2xl-5{padding-bottom:3rem!important}.pl-2xl-5,.px-2xl-5{padding-left:3rem!important}.m-2xl-n1{margin:-.25rem!important}.mt-2xl-n1,.my-2xl-n1{margin-top:-.25rem!important}.mr-2xl-n1,.mx-2xl-n1{margin-right:-.25rem!important}.mb-2xl-n1,.my-2xl-n1{margin-bottom:-.25rem!important}.ml-2xl-n1,.mx-2xl-n1{margin-left:-.25rem!important}.m-2xl-n2{margin:-.5rem!important}.mt-2xl-n2,.my-2xl-n2{margin-top:-.5rem!important}.mr-2xl-n2,.mx-2xl-n2{margin-right:-.5rem!important}.mb-2xl-n2,.my-2xl-n2{margin-bottom:-.5rem!important}.ml-2xl-n2,.mx-2xl-n2{margin-left:-.5rem!important}.m-2xl-n3{margin:-1rem!important}.mt-2xl-n3,.my-2xl-n3{margin-top:-1rem!important}.mr-2xl-n3,.mx-2xl-n3{margin-right:-1rem!important}.mb-2xl-n3,.my-2xl-n3{margin-bottom:-1rem!important}.ml-2xl-n3,.mx-2xl-n3{margin-left:-1rem!important}.m-2xl-n4{margin:-1.5rem!important}.mt-2xl-n4,.my-2xl-n4{margin-top:-1.5rem!important}.mr-2xl-n4,.mx-2xl-n4{margin-right:-1.5rem!important}.mb-2xl-n4,.my-2xl-n4{margin-bottom:-1.5rem!important}.ml-2xl-n4,.mx-2xl-n4{margin-left:-1.5rem!important}.m-2xl-n5{margin:-3rem!important}.mt-2xl-n5,.my-2xl-n5{margin-top:-3rem!important}.mr-2xl-n5,.mx-2xl-n5{margin-right:-3rem!important}.mb-2xl-n5,.my-2xl-n5{margin-bottom:-3rem!important}.ml-2xl-n5,.mx-2xl-n5{margin-left:-3rem!important}.m-2xl-auto{margin:auto!important}.mt-2xl-auto,.my-2xl-auto{margin-top:auto!important}.mr-2xl-auto,.mx-2xl-auto{margin-right:auto!important}.mb-2xl-auto,.my-2xl-auto{margin-bottom:auto!important}.ml-2xl-auto,.mx-2xl-auto{margin-left:auto!important}}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:#0000}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width: 576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1450px){.text-2xl-left{text-align:left!important}.text-2xl-right{text-align:right!important}.text-2xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold,cd-about dt{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#2b99a8!important}a.text-primary:focus,a.text-primary:hover{color:#1b626b!important}.text-secondary{color:#374249!important}a.text-secondary:focus,a.text-secondary:hover{color:#161b1d!important}.text-success{color:#0b0!important}a.text-success:focus,a.text-success:hover{color:#006f00!important}.text-info{color:#2b99a8!important}a.text-info:focus,a.text-info:hover{color:#1b626b!important}.text-warning{color:#ffc200!important}a.text-warning:focus,a.text-warning:hover{color:#b38800!important}.text-danger{color:#ef5c55!important}a.text-danger:focus,a.text-danger:hover{color:#e21f15!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#777!important}a.text-dark:focus,a.text-dark:hover{color:#515151!important}.text-accent{color:#ef5c55!important}a.text-accent:focus,a.text-accent:hover{color:#e21f15!important}.text-warning-dark{color:#fd7e14!important}a.text-warning-dark:focus,a.text-warning-dark:hover{color:#c35a02!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:#00000080!important}.text-white-50{color:#ffffff80!important}.text-hide{font:0/0 a;color:#0000;text-shadow:none;background-color:initial;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
-/*!
-Fork Awesome 1.1.7
-License - https://forkaweso.me/Fork-Awesome/license
-
-Copyright 2018 Dave Gandy & Fork Awesome
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.e182ad6df04f9177b326.eot?v=1.1.7);src:url(forkawesome-webfont.e182ad6df04f9177b326.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.7c20758e3e7c7dff7c8d.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.2dfb5f36fc148e26e398.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.ee4d8bfd0af89fc714a2.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.86541105409e56d17291.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa,.fa-fw{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before,.fa-sync:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell-o:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-globe-e:before{content:""}.fa-globe-w:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-community:before,.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus-g:before,.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before,.fa-pound:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-desc:before,.fa-sort-alpha-up:before{content:""}.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-sort-amount-desc:before,.fa-sort-amount-up:before{content:""}.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-desc:before,.fa-sort-numeric-up:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before,.fa-closed-captioning:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before,.fa-gem:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-medium-square:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo-v:before,.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.fa-mastodon:before{content:""}.fa-mastodon-alt:before{content:""}.fa-fork-awesome:before,.fa-fork-circle:before{content:""}.fa-peertube:before{content:""}.fa-diaspora:before{content:""}.fa-friendica:before{content:""}.fa-gnu-social:before{content:""}.fa-liberapay-square:before{content:""}.fa-liberapay:before{content:""}.fa-scuttlebutt:before,.fa-ssb:before{content:""}.fa-hubzilla:before{content:""}.fa-social-home:before{content:""}.fa-artstation:before{content:""}.fa-discord:before{content:""}.fa-discord-alt:before{content:""}.fa-patreon:before{content:""}.fa-snowdrift:before{content:""}.fa-activitypub:before{content:""}.fa-ethereum:before{content:""}.fa-keybase:before{content:""}.fa-shaarli:before{content:""}.fa-shaarli-o:before{content:""}.fa-cut-key:before,.fa-key-modern:before{content:""}.fa-xmpp:before{content:""}.fa-archive-org:before{content:""}.fa-freedombox:before{content:""}.fa-facebook-messenger:before{content:""}.fa-debian:before{content:""}.fa-mastodon-square:before{content:""}.fa-tipeee:before{content:""}.fa-react:before{content:""}.fa-dogmazic:before{content:""}.fa-zotero:before{content:""}.fa-nodejs:before{content:""}.fa-nextcloud:before{content:""}.fa-nextcloud-square:before{content:""}.fa-hackaday:before{content:""}.fa-laravel:before{content:""}.fa-signalapp:before{content:""}.fa-gnupg:before{content:""}.fa-php:before{content:""}.fa-ffmpeg:before{content:""}.fa-joplin:before{content:""}.fa-syncthing:before{content:""}.fa-inkscape:before{content:""}.fa-matrix-org:before{content:""}.fa-pixelfed:before{content:""}.fa-bootstrap:before{content:""}.fa-dev-to:before{content:""}.fa-hashnode:before{content:""}.fa-jirafeau:before{content:""}.fa-emby:before{content:""}.fa-wikidata:before{content:""}.fa-gimp:before{content:""}.fa-c:before{content:""}.fa-digitalocean:before{content:""}.fa-att:before{content:""}.fa-gitea:before{content:""}.fa-file-epub:before{content:""}.fa-python:before{content:""}.fa-archlinux:before{content:""}.fa-pleroma:before{content:""}.fa-unsplash:before{content:""}.fa-hackster:before{content:""}.fa-spell-check:before{content:""}.fa-moon:before{content:""}.fa-sun:before{content:""}.fa-f-droid:before{content:""}.fa-biometric:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status{max-height:20vh;max-width:23vw}.info-card-popover-cluster-status .popover-body{font-size:1rem;max-height:19vh;max-width:100%;overflow:auto}@media (max-width: calc(1200px - 1px)){.info-card-popover-cluster-status{max-width:31vw}}@media (max-width: calc(992px - 1px)){.info-card-popover-cluster-status{max-width:46vw}}@media (max-width: calc(768px - 1px)){.info-card-popover-cluster-status{max-width:83vw}}.info-card-content-clickable{border:1px solid #e9ecef;border-radius:3px;cursor:pointer;padding:7px}.info-card-content-clickable:hover{background-color:#e9ecef;border-color:#ced4da}html{background-color:#fff}body,html{font-size:12px;height:100%;width:100%}option{font-style:normal;font-weight:400}.full-height{height:100vh}.full-width{width:100vw}.vertical-align{align-items:center;display:flex}.horizontal-align{display:flex;justify-content:center}.loading:not(cd-api-docs *){left:50%;position:absolute;top:50%}.margin-right-md{margin-right:15px}.no-border{border:0;box-shadow:0 0 0!important}.italic{font-style:italic}.bold{font-weight:700}.text-right{text-align:right}.text-monospace{font-family:monospace}.text-pre-wrap{white-space:pre-wrap}.text-pre{white-space:pre}.icon-danger-color{color:#ef5c55}.icon-warning-color{color:#ffc200}.border-warning{border-left:4px solid #ffc200}.border-danger{border-left:4px solid #ef5c55}.border-info{border-left:4px solid #2b99a8}.border-success{border-left:4px solid #0b0}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:initial}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#2b99a8;border-color:#2b99a8}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#adb5bd}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #2b99a840}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before{border-color:#76d0dc}.btn-light{background-color:#fff;border-color:#ced4da!important}.btn-light:hover{background-color:#dee2e6;border-color:#6c757d!important}.btn-light:disabled{background-color:#e9ecef;border-color:#ced4da!important}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:0}.btn.disabled{border:0;box-shadow:none}.btn-primary .badge{background-color:#e9ecef;color:#2b99a8}.btn-group>.btn>i.fa,.cd-datatable-actions button.btn i.fa{margin-right:5px}.card-footer button.btn:not(:first-child){margin-left:5px}.dropdown-menu{min-width:50px;z-index:999999}.dropdown-menu button.dropdown-item:focus{outline:none}.dropdown-menu>li>a{cursor:pointer}.dropdown-menu>li>a>i.fa{margin-right:5px}.dropdown-menu>.active>a{background-color:#2b99a8;color:#e9ecef}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#21747f}.dataTables_wrapper .dropdown-menu>li.dropdown-divider{cursor:auto}.required:after{color:#ef5c55;content:"*";font-size:1.167rem;padding-left:4px}.form-footer{display:flex;width:100%}.cd-form-control,.form-control{display:table-cell}.cd-form-control:focus,.form-control:focus{border-color:#2b99a8cc;box-shadow:0 0 3px 2px #2b99a880;outline:0}.custom-checkbox{padding-top:7px}cd-modal .modal{background-color:#0006;display:block}cd-modal .modal-dialog{max-width:70vh}.invalid-feedback{display:block}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{padding:0 30px}.ceph-icon{background:url(Ceph_Logo.487a0001b327fa7f5232.svg)}.prometheus-icon{background:url(prometheus_logo.8b3183e5a2db0e87bb2b.svg)}.custom-icon{background-clip:padding-box;background-repeat:no-repeat;background-size:contain;margin-right:8px;padding:10px}.nav-tabs{margin-bottom:1rem}#toast-container{margin-top:2vw}@media (max-width: 1600px){#toast-container{margin-top:2.5vw}}@media (max-width: calc(992px - 1px)){#toast-container{margin-top:9vw}}@media (max-width: 900px){#toast-container{margin-top:10vw}}@media (max-width: 319px){#toast-container{margin-top:11vw}}@media (max-width: 260px){#toast-container{margin-top:14vw}}.toast-message>ul{margin:0;padding-left:1rem}.noscript{padding-top:5em}@media (min-width: 576px){.cd-col-form-label,.col-form-label{text-align:right}}.cd-col-form-label,.col-form-label{font-weight:700}.password-strength-level{flex:100%;margin-top:2px}.password-strength-level .ok,.password-strength-level .strong,.password-strength-level .very-strong,.password-strength-level .weak{border-radius:.25rem;height:13px}.password-strength-level .weak{background:#ef5c55;width:25%}.password-strength-level .ok{background:#ffc200;width:50%}.password-strength-level .strong{background:#0b0;width:75%}.password-strength-level .very-strong{background:#006f00;width:100%}.badge-background-gray,.badge-hdd{background-color:#6c757d;color:#fff}.badge-background-primary,.badge-ssd{background-color:#2b99a8;color:#fff}.badge-tab{background-color:#e9ecef;color:#495057}tree-root tree-viewport{min-height:1em}tags-input .tags{border:1px solid #ced4da;border-radius:4px;box-shadow:inset 0 1px 1px #00000017}.card-header{font-size:1.3em}.card-body h2:first-child{margin-top:0}.disabled{pointer-events:none}.clickable,a{cursor:pointer}
\ No newline at end of file
--- /dev/null
+@charset "UTF-8";.swagger-ui{color:#3b4151;
+ /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:sans-serif}.swagger-ui html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1.15}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{box-sizing:initial;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{-webkit-text-decoration-skip:objects;background-color:initial}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:initial}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:#0000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:#0000 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left{background-position:0;background-repeat:no-repeat}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-ns{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-ns{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-ns{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-ns{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bg-center-m{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-m{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-m{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-m{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-m{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-l{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-l{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-l{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-l{background-position:0;background-repeat:no-repeat}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid #0000}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid #0000}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid #0000}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid #0000}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:#ffffffe6}.swagger-ui .b--white-80{border-color:#fffc}.swagger-ui .b--white-70{border-color:#ffffffb3}.swagger-ui .b--white-60{border-color:#fff9}.swagger-ui .b--white-50{border-color:#ffffff80}.swagger-ui .b--white-40{border-color:#fff6}.swagger-ui .b--white-30{border-color:#ffffff4d}.swagger-ui .b--white-20{border-color:#fff3}.swagger-ui .b--white-10{border-color:#ffffff1a}.swagger-ui .b--white-05{border-color:#ffffff0d}.swagger-ui .b--white-025{border-color:hsla(0,0%,100%,.025)}.swagger-ui .b--white-0125{border-color:hsla(0,0%,100%,.013)}.swagger-ui .b--black-90{border-color:#000000e6}.swagger-ui .b--black-80{border-color:#000c}.swagger-ui .b--black-70{border-color:#000000b3}.swagger-ui .b--black-60{border-color:#0009}.swagger-ui .b--black-50{border-color:#00000080}.swagger-ui .b--black-40{border-color:#0006}.swagger-ui .b--black-30{border-color:#0000004d}.swagger-ui .b--black-20{border-color:#0003}.swagger-ui .b--black-10{border-color:#0000001a}.swagger-ui .b--black-05{border-color:#0000000d}.swagger-ui .b--black-025{border-color:rgba(0,0,0,.025)}.swagger-ui .b--black-0125{border-color:rgba(0,0,0,.013)}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:#0000}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left{border-bottom-right-radius:0;border-top-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-ns{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-m{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-l{border-bottom-right-radius:0;border-top-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4{box-shadow:2px 2px 8px 0 #0003}.swagger-ui .shadow-5{box-shadow:4px 4px 8px 0 #0003}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px 0 #0003}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px 0 #0003}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .shadow-1-m{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-m{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-m{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-m{box-shadow:2px 2px 8px 0 #0003}.swagger-ui .shadow-5-m{box-shadow:4px 4px 8px 0 #0003}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 2px #0003}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px #0003}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px #0003}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px 0 #0003}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px 0 #0003}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{bottom:0;left:0;right:0;top:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{bottom:0;left:0;right:0;top:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:" ";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{*zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui .inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none{flex:none}.swagger-ui .flex-column{flex-direction:column}.swagger-ui .flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui .flex-nowrap{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{flex-direction:column-reverse}.swagger-ui .flex-row-reverse{flex-direction:row-reverse}.swagger-ui .items-start{align-items:flex-start}.swagger-ui .items-end{align-items:flex-end}.swagger-ui .items-center{align-items:center}.swagger-ui .items-baseline{align-items:baseline}.swagger-ui .items-stretch{align-items:stretch}.swagger-ui .self-start{align-self:flex-start}.swagger-ui .self-end{align-self:flex-end}.swagger-ui .self-center{align-self:center}.swagger-ui .self-baseline{align-self:baseline}.swagger-ui .self-stretch{align-self:stretch}.swagger-ui .justify-start{justify-content:flex-start}.swagger-ui .justify-end{justify-content:flex-end}.swagger-ui .justify-center{justify-content:center}.swagger-ui .justify-between{justify-content:space-between}.swagger-ui .justify-around{justify-content:space-around}.swagger-ui .content-start{align-content:flex-start}.swagger-ui .content-end{align-content:flex-end}.swagger-ui .content-center{align-content:center}.swagger-ui .content-between{align-content:space-between}.swagger-ui .content-around{align-content:space-around}.swagger-ui .content-stretch{align-content:stretch}.swagger-ui .order-0{order:0}.swagger-ui .order-1{order:1}.swagger-ui .order-2{order:2}.swagger-ui .order-3{order:3}.swagger-ui .order-4{order:4}.swagger-ui .order-5{order:5}.swagger-ui .order-6{order:6}.swagger-ui .order-7{order:7}.swagger-ui .order-8{order:8}.swagger-ui .order-last{order:99999}.swagger-ui .flex-grow-0{flex-grow:0}.swagger-ui .flex-grow-1{flex-grow:1}.swagger-ui .flex-shrink-0{flex-shrink:0}.swagger-ui .flex-shrink-1{flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:flex}.swagger-ui .inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui .flex-column-ns{flex-direction:column}.swagger-ui .flex-row-ns{flex-direction:row}.swagger-ui .flex-wrap-ns{flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{flex-direction:row-reverse}.swagger-ui .items-start-ns{align-items:flex-start}.swagger-ui .items-end-ns{align-items:flex-end}.swagger-ui .items-center-ns{align-items:center}.swagger-ui .items-baseline-ns{align-items:baseline}.swagger-ui .items-stretch-ns{align-items:stretch}.swagger-ui .self-start-ns{align-self:flex-start}.swagger-ui .self-end-ns{align-self:flex-end}.swagger-ui .self-center-ns{align-self:center}.swagger-ui .self-baseline-ns{align-self:baseline}.swagger-ui .self-stretch-ns{align-self:stretch}.swagger-ui .justify-start-ns{justify-content:flex-start}.swagger-ui .justify-end-ns{justify-content:flex-end}.swagger-ui .justify-center-ns{justify-content:center}.swagger-ui .justify-between-ns{justify-content:space-between}.swagger-ui .justify-around-ns{justify-content:space-around}.swagger-ui .content-start-ns{align-content:flex-start}.swagger-ui .content-end-ns{align-content:flex-end}.swagger-ui .content-center-ns{align-content:center}.swagger-ui .content-between-ns{align-content:space-between}.swagger-ui .content-around-ns{align-content:space-around}.swagger-ui .content-stretch-ns{align-content:stretch}.swagger-ui .order-0-ns{order:0}.swagger-ui .order-1-ns{order:1}.swagger-ui .order-2-ns{order:2}.swagger-ui .order-3-ns{order:3}.swagger-ui .order-4-ns{order:4}.swagger-ui .order-5-ns{order:5}.swagger-ui .order-6-ns{order:6}.swagger-ui .order-7-ns{order:7}.swagger-ui .order-8-ns{order:8}.swagger-ui .order-last-ns{order:99999}.swagger-ui .flex-grow-0-ns{flex-grow:0}.swagger-ui .flex-grow-1-ns{flex-grow:1}.swagger-ui .flex-shrink-0-ns{flex-shrink:0}.swagger-ui .flex-shrink-1-ns{flex-shrink:1}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui .flex-auto-m{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-m{flex:none}.swagger-ui .flex-column-m{flex-direction:column}.swagger-ui .flex-row-m{flex-direction:row}.swagger-ui .flex-wrap-m{flex-wrap:wrap}.swagger-ui .flex-nowrap-m{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{flex-direction:row-reverse}.swagger-ui .items-start-m{align-items:flex-start}.swagger-ui .items-end-m{align-items:flex-end}.swagger-ui .items-center-m{align-items:center}.swagger-ui .items-baseline-m{align-items:baseline}.swagger-ui .items-stretch-m{align-items:stretch}.swagger-ui .self-start-m{align-self:flex-start}.swagger-ui .self-end-m{align-self:flex-end}.swagger-ui .self-center-m{align-self:center}.swagger-ui .self-baseline-m{align-self:baseline}.swagger-ui .self-stretch-m{align-self:stretch}.swagger-ui .justify-start-m{justify-content:flex-start}.swagger-ui .justify-end-m{justify-content:flex-end}.swagger-ui .justify-center-m{justify-content:center}.swagger-ui .justify-between-m{justify-content:space-between}.swagger-ui .justify-around-m{justify-content:space-around}.swagger-ui .content-start-m{align-content:flex-start}.swagger-ui .content-end-m{align-content:flex-end}.swagger-ui .content-center-m{align-content:center}.swagger-ui .content-between-m{align-content:space-between}.swagger-ui .content-around-m{align-content:space-around}.swagger-ui .content-stretch-m{align-content:stretch}.swagger-ui .order-0-m{order:0}.swagger-ui .order-1-m{order:1}.swagger-ui .order-2-m{order:2}.swagger-ui .order-3-m{order:3}.swagger-ui .order-4-m{order:4}.swagger-ui .order-5-m{order:5}.swagger-ui .order-6-m{order:6}.swagger-ui .order-7-m{order:7}.swagger-ui .order-8-m{order:8}.swagger-ui .order-last-m{order:99999}.swagger-ui .flex-grow-0-m{flex-grow:0}.swagger-ui .flex-grow-1-m{flex-grow:1}.swagger-ui .flex-shrink-0-m{flex-shrink:0}.swagger-ui .flex-shrink-1-m{flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:flex}.swagger-ui .inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui .flex-column-l{flex-direction:column}.swagger-ui .flex-row-l{flex-direction:row}.swagger-ui .flex-wrap-l{flex-wrap:wrap}.swagger-ui .flex-nowrap-l{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{flex-direction:row-reverse}.swagger-ui .items-start-l{align-items:flex-start}.swagger-ui .items-end-l{align-items:flex-end}.swagger-ui .items-center-l{align-items:center}.swagger-ui .items-baseline-l{align-items:baseline}.swagger-ui .items-stretch-l{align-items:stretch}.swagger-ui .self-start-l{align-self:flex-start}.swagger-ui .self-end-l{align-self:flex-end}.swagger-ui .self-center-l{align-self:center}.swagger-ui .self-baseline-l{align-self:baseline}.swagger-ui .self-stretch-l{align-self:stretch}.swagger-ui .justify-start-l{justify-content:flex-start}.swagger-ui .justify-end-l{justify-content:flex-end}.swagger-ui .justify-center-l{justify-content:center}.swagger-ui .justify-between-l{justify-content:space-between}.swagger-ui .justify-around-l{justify-content:space-around}.swagger-ui .content-start-l{align-content:flex-start}.swagger-ui .content-end-l{align-content:flex-end}.swagger-ui .content-center-l{align-content:center}.swagger-ui .content-between-l{align-content:space-between}.swagger-ui .content-around-l{align-content:space-around}.swagger-ui .content-stretch-l{align-content:stretch}.swagger-ui .order-0-l{order:0}.swagger-ui .order-1-l{order:1}.swagger-ui .order-2-l{order:2}.swagger-ui .order-3-l{order:3}.swagger-ui .order-4-l{order:4}.swagger-ui .order-5-l{order:5}.swagger-ui .order-6-l{order:6}.swagger-ui .order-7-l{order:7}.swagger-ui .order-8-l{order:8}.swagger-ui .order-last-l{order:99999}.swagger-ui .flex-grow-0-l{flex-grow:0}.swagger-ui .flex-grow-1-l{flex-grow:1}.swagger-ui .flex-shrink-0-l{flex-shrink:0}.swagger-ui .flex-shrink-1-l{flex-shrink:1}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .fl{_display:inline;float:left}.swagger-ui .fr{_display:inline;float:right}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{_display:inline;float:left}.swagger-ui .fr-ns{_display:inline;float:right}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .fl-m{_display:inline;float:left}.swagger-ui .fr-m{_display:inline;float:right}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{_display:inline;float:left}.swagger-ui .fr-l{_display:inline;float:right}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{text-decoration:none}.swagger-ui .link,.swagger-ui .link:active,.swagger-ui .link:focus,.swagger-ui .link:hover,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color .15s ease-in}.swagger-ui .link:focus{outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.3333333333%}.swagger-ui .w-two-thirds{width:66.6666666667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.3333333333%}.swagger-ui .w-two-thirds-ns{width:66.6666666667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.3333333333%}.swagger-ui .w-two-thirds-m{width:66.6666666667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.3333333333%}.swagger-ui .w-two-thirds-l{width:66.6666666667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{transform:rotate(45deg)}.swagger-ui .rotate-90{transform:rotate(90deg)}.swagger-ui .rotate-135{transform:rotate(135deg)}.swagger-ui .rotate-180{transform:rotate(180deg)}.swagger-ui .rotate-225{transform:rotate(225deg)}.swagger-ui .rotate-270{transform:rotate(270deg)}.swagger-ui .rotate-315{transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{transform:rotate(45deg)}.swagger-ui .rotate-90-ns{transform:rotate(90deg)}.swagger-ui .rotate-135-ns{transform:rotate(135deg)}.swagger-ui .rotate-180-ns{transform:rotate(180deg)}.swagger-ui .rotate-225-ns{transform:rotate(225deg)}.swagger-ui .rotate-270-ns{transform:rotate(270deg)}.swagger-ui .rotate-315-ns{transform:rotate(315deg)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .rotate-45-m{transform:rotate(45deg)}.swagger-ui .rotate-90-m{transform:rotate(90deg)}.swagger-ui .rotate-135-m{transform:rotate(135deg)}.swagger-ui .rotate-180-m{transform:rotate(180deg)}.swagger-ui .rotate-225-m{transform:rotate(225deg)}.swagger-ui .rotate-270-m{transform:rotate(270deg)}.swagger-ui .rotate-315-m{transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{transform:rotate(45deg)}.swagger-ui .rotate-90-l{transform:rotate(90deg)}.swagger-ui .rotate-135-l{transform:rotate(135deg)}.swagger-ui .rotate-180-l{transform:rotate(180deg)}.swagger-ui .rotate-225-l{transform:rotate(225deg)}.swagger-ui .rotate-270-l{transform:rotate(270deg)}.swagger-ui .rotate-315-l{transform:rotate(315deg)}}.swagger-ui .black-90{color:#000000e6}.swagger-ui .black-80{color:#000c}.swagger-ui .black-70{color:#000000b3}.swagger-ui .black-60{color:#0009}.swagger-ui .black-50{color:#00000080}.swagger-ui .black-40{color:#0006}.swagger-ui .black-30{color:#0000004d}.swagger-ui .black-20{color:#0003}.swagger-ui .black-10{color:#0000001a}.swagger-ui .black-05{color:#0000000d}.swagger-ui .white-90{color:#ffffffe6}.swagger-ui .white-80{color:#fffc}.swagger-ui .white-70{color:#ffffffb3}.swagger-ui .white-60{color:#fff9}.swagger-ui .white-50{color:#ffffff80}.swagger-ui .white-40{color:#fff6}.swagger-ui .white-30{color:#ffffff4d}.swagger-ui .white-20{color:#fff3}.swagger-ui .white-10{color:#ffffff1a}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:#000000e6}.swagger-ui .bg-black-80{background-color:#000c}.swagger-ui .bg-black-70{background-color:#000000b3}.swagger-ui .bg-black-60{background-color:#0009}.swagger-ui .bg-black-50{background-color:#00000080}.swagger-ui .bg-black-40{background-color:#0006}.swagger-ui .bg-black-30{background-color:#0000004d}.swagger-ui .bg-black-20{background-color:#0003}.swagger-ui .bg-black-10{background-color:#0000001a}.swagger-ui .bg-black-05{background-color:#0000000d}.swagger-ui .bg-white-90{background-color:#ffffffe6}.swagger-ui .bg-white-80{background-color:#fffc}.swagger-ui .bg-white-70{background-color:#ffffffb3}.swagger-ui .bg-white-60{background-color:#fff9}.swagger-ui .bg-white-50{background-color:#ffffff80}.swagger-ui .bg-white-40{background-color:#fff6}.swagger-ui .bg-white-30{background-color:#ffffff4d}.swagger-ui .bg-white-20{background-color:#fff3}.swagger-ui .bg-white-10{background-color:#ffffff1a}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:initial}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:#000000e6}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:#000c}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:#000000b3}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:#0009}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:#00000080}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:#0006}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:#0000004d}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:#0003}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:#0000001a}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:#ffffffe6}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:#fffc}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:#ffffffb3}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:#fff9}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:#ffffff80}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:#fff6}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:#ffffff4d}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:#fff3}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:#ffffff1a}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:initial}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:#000000e6}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:#000c}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:#000000b3}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:#0009}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:#00000080}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:#0006}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:#0000004d}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:#0003}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:#0000001a}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:#ffffffe6}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:#fffc}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:#ffffffb3}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:#fff9}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:#ffffff80}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:#fff6}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:#ffffff4d}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:#fff3}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:#ffffff1a}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-bottom:0;padding-top:0}.swagger-ui .pv1{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-bottom:0;margin-top:0}.swagger-ui .mv1{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-bottom:0;padding-top:0}.swagger-ui .pv1-ns{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-ns{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-ns{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-ns{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-ns{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-ns{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-ns{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-bottom:0;margin-top:0}.swagger-ui .mv1-ns{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-ns{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-ns{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-ns{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-ns{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-ns{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-ns{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-bottom:0;padding-top:0}.swagger-ui .pv1-m{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-m{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-m{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-m{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-m{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-m{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-m{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-bottom:0;margin-top:0}.swagger-ui .mv1-m{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-m{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-m{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-m{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-m{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-m{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-m{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-bottom:0;padding-top:0}.swagger-ui .pv1-l{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-l{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-l{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-l{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-l{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-l{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-l{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-bottom:0;margin-top:0}.swagger-ui .mv1-l{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-l{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-l{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-l{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-l{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-l{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-l{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:#ffffff1a}.swagger-ui .stripe-dark:nth-child(odd){background-color:#0000001a}.swagger-ui .strike{text-decoration:line-through}.swagger-ui .underline{text-decoration:underline}.swagger-ui .no-underline{text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{text-decoration:line-through}.swagger-ui .underline-ns{text-decoration:underline}.swagger-ui .no-underline-ns{text-decoration:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .strike-m{text-decoration:line-through}.swagger-ui .underline-m{text-decoration:underline}.swagger-ui .no-underline-m{text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{text-decoration:line-through}.swagger-ui .underline-l{text-decoration:underline}.swagger-ui .no-underline-l{text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}.swagger-ui .tj{text-align:justify}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui .tj-l{text-align:justify}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-ns{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-ns{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-m{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-l{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .center-m{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:fixed!important;_position:absolute!important}@media screen and (min-width:30em){.swagger-ui .clip-ns{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:fixed!important;_position:absolute!important}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .clip-m{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:fixed!important;_position:absolute!important}}@media screen and (min-width:60em){.swagger-ui .clip-l{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:fixed!important;_position:absolute!important}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:initial}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:initial}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .v-base-m{vertical-align:initial}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:initial}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5;transition:opacity .15s ease-in}.swagger-ui .dim:active{opacity:.8;transition:opacity .15s ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1;transition:opacity .15s ease-in}.swagger-ui .hide-child .child{opacity:0;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{transform:scale(1.05)}.swagger-ui .grow:active{transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{transform:scale(1.2)}.swagger-ui .grow-large:active{transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{border-radius:inherit;box-shadow:0 0 16px 2px #0003;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s cubic-bezier(.165,.84,.44,1);width:100%;z-index:-1}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial{z-index:auto}.swagger-ui .z-unset{z-index:unset}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{list-style-type:none;margin-left:0;padding-left:0}.swagger-ui .nested-copy-indent p+p{margin-bottom:0;margin-top:0;text-indent:.1em}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{display:block;max-width:100%;width:100%}.swagger-ui .nested-links a{color:#357edd;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.swagger-ui .wrapper{box-sizing:border-box;margin:0 auto;max-width:1460px;padding:0 20px;width:100%}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column}.swagger-ui .try-out.btn-group{display:flex;flex:0.1 2 auto;padding:0}.swagger-ui .try-out__btn{margin-left:1.25rem}.swagger-ui .opblock-tag{align-items:center;border-bottom:1px solid #3b41514d;cursor:pointer;display:flex;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui .opblock-tag:hover{background:#00000005}.swagger-ui .opblock-tag{color:#3b4151;font-family:sans-serif;font-size:24px;margin:0 0 5px}.swagger-ui .opblock-tag.no-desc span{flex:1}.swagger-ui .opblock-tag svg{transition:all .4s}.swagger-ui .opblock-tag small{color:#3b4151;flex:1;font-family:sans-serif;font-size:14px;font-weight:400;padding:0 10px}.swagger-ui .parameter__type{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;padding:5px 0}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui .examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .examples-select{display:inline-block;margin-bottom:.75em}.swagger-ui .examples-select .examples-select-element{width:100%}.swagger-ui .examples-select__section-label{font-size:.9rem;font-weight:700;margin-right:.5rem}.swagger-ui .example__section{margin-top:1.5em}.swagger-ui .example__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .view-line-link{cursor:pointer;margin:0 5px;position:relative;top:3px;transition:all .5s;width:20px}.swagger-ui .opblock{border:1px solid #000;border-radius:4px;box-shadow:0 0 3px #00000030;margin:0 0 15px}.swagger-ui .opblock .tab-header{display:flex;flex:1}.swagger-ui .opblock .tab-header .tab-item{cursor:pointer;padding:0 40px}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:gray;bottom:-15px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:120%}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{align-items:center;background:#fffc;box-shadow:0 1px 2px #0000001a;display:flex;min-height:50px;padding:8px 20px}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:#3b4151;display:flex;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 0 auto}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock .opblock-summary-method{background:#000;border-radius:3px;color:#fff;font-family:sans-serif;font-size:14px;font-weight:700;min-width:80px;padding:6px 0;text-align:center;text-shadow:0 1px 0 #0000001a}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{align-items:center;color:#3b4151;display:flex;font-family:monospace;font-size:16px;font-weight:600;padding:0 10px;word-break:break-word}@media (max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-path{flex-shrink:0;max-width:calc(100% - 110px - 15rem)}.swagger-ui .opblock .opblock-summary-path__deprecated{text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{color:#3b4151;flex:1 1 auto;font-family:sans-serif;font-size:13px;word-break:break-word}.swagger-ui .opblock .opblock-summary{align-items:center;cursor:pointer;display:flex;padding:5px}.swagger-ui .opblock .opblock-summary .view-line-link{cursor:pointer;margin:0;position:relative;top:2px;transition:all .5s;width:0}.swagger-ui .opblock .opblock-summary:hover .view-line-link{margin:0 5px;width:18px}.swagger-ui .opblock.opblock-post{background:#49cc901a;border-color:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{background:#fca1301a;border-color:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{background:#f93e3e1a;border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{background:#61affe1a;border-color:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{background:#50e3c21a;border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{background:#9012fe1a;border-color:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{background:#0d5aa71a;border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{background:#ebebeb1a;border-color:#ebebeb;opacity:.6}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{border:2px solid #d8dde7;margin:20px 0;padding:10px;width:100%}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:red}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:#aaa}.swagger-ui .model-example{margin-top:1em}.swagger-ui .tab{display:flex;list-style:none;padding:0}.swagger-ui .tab li{color:#3b4151;cursor:pointer;font-family:sans-serif;font-size:12px;min-width:60px;padding:0}.swagger-ui .tab li:first-of-type{padding-left:0;padding-right:12px;position:relative}.swagger-ui .tab li:first-of-type:after{background:#0003;content:"";height:100%;position:absolute;right:6px;top:0;width:1px}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .tab li button.tablinks{background:none;border:0;color:inherit;font-family:inherit;font-weight:inherit;padding:0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px;padding:15px 20px}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{color:#3b4151;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{padding:8px 40px;width:100%}.swagger-ui .body-param-options{display:flex;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{color:#3b4151;font-family:sans-serif;font-size:12px;margin:10px 0 5px}.swagger-ui .responses-inner .curl{white-space:normal}.swagger-ui .response-col_status{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .response-col_status .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links{color:#3b4151;font-family:sans-serif;font-size:14px;max-width:40em;padding-left:2em}.swagger-ui .response-col_links .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links .operation-link{margin-bottom:1.5em}.swagger-ui .response-col_links .operation-link .description{margin-bottom:.5em}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em auto}.swagger-ui .opblock-body pre.microlight{word-wrap:break-word;background:#333;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;hyphens:auto;margin:0;padding:10px;white-space:pre-wrap;word-break:break-all;word-break:break-word}.swagger-ui .opblock-body pre.microlight .headerline{display:block}.swagger-ui .highlight-code{position:relative}.swagger-ui .highlight-code>.microlight{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .highlight-code>.microlight code{white-space:pre-wrap!important;word-break:break-all}.swagger-ui .curl-command{position:relative}.swagger-ui .download-contents{align-items:center;background:#7d8293;border-radius:4px;bottom:10px;color:#fff;cursor:pointer;display:flex;font-family:sans-serif;font-size:14px;font-weight:600;height:30px;justify-content:center;padding:5px;position:absolute;right:10px;text-align:center}.swagger-ui .scheme-container{background:#fff;box-shadow:0 1px 2px 0 #00000026;margin:0 0 20px;padding:30px 0}.swagger-ui .scheme-container .schemes{align-items:flex-end;display:flex}.swagger-ui .scheme-container .schemes>label{color:#3b4151;display:flex;flex-direction:column;font-family:sans-serif;font-size:12px;font-weight:700;margin:-20px 15px 0 0}.swagger-ui .scheme-container .schemes>label select{min-width:130px;text-transform:uppercase}.swagger-ui .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:1em;min-height:1px;padding:40px 0 60px}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{color:#3b4151;content:"loading";font-family:sans-serif;font-size:10px;font-weight:700;left:50%;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.swagger-ui .loading-container .loading:before{animation:rotation 1s linear infinite,opacity .5s;backface-visibility:hidden;border-radius:100%;border:2px solid #5555551a;border-top-color:#0009;content:"";display:block;height:60px;left:50%;margin:-30px;opacity:1;position:absolute;top:50%;width:60px}@keyframes rotation{to{transform:rotate(1turn)}}.swagger-ui .response-controls{display:flex;padding-top:1em}.swagger-ui .response-control-media-type{margin-right:1em}.swagger-ui .response-control-media-type--accept-controller select{border-color:green}.swagger-ui .response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui .response-control-examples__title,.swagger-ui .response-control-media-type__title{display:block;font-size:.7em;margin-bottom:.2em}@keyframes blinker{50%{opacity:0}}.swagger-ui .hidden{display:none}.swagger-ui .no-margin{border:none;height:auto;margin:0;padding:0}.swagger-ui .float-right{float:right}.swagger-ui .svg-assets{height:0;position:absolute;width:0}.swagger-ui section h3{color:#3b4151;font-family:sans-serif}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{color:inherit;cursor:pointer;text-decoration:inherit}.swagger-ui .fallback{color:#aaa;padding:1em}.swagger-ui .version-pragma{height:100%;padding:5em 0}.swagger-ui .version-pragma__message{display:flex;font-size:1.2em;height:100%;justify-content:center;line-height:1.5em;padding:0 .6em;text-align:center}.swagger-ui .version-pragma__message>div{flex:1;max-width:55ch}.swagger-ui .version-pragma__message code{background-color:#dedede;padding:4px 4px 2px;white-space:pre}.swagger-ui .opblock-link{font-weight:400}.swagger-ui .opblock-link.shown{font-weight:700}.swagger-ui span.token-string{color:#555}.swagger-ui span.token-not-formatted{color:#555;font-weight:700}.swagger-ui .btn{background:#0000;border:2px solid gray;border-radius:4px;box-shadow:0 1px 2px #0000001a;color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 23px;transition:all .3s}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{box-shadow:0 0 5px #0000004d}.swagger-ui .btn.cancel{background-color:initial;border-color:#ff6060;color:#ff6060;font-family:sans-serif}.swagger-ui .btn.authorize{background-color:initial;border-color:#49cc90;color:#49cc90;display:inline;line-height:1}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;border-color:#4990e2;color:#fff}.swagger-ui .btn-group{display:flex;padding:30px}.swagger-ui .btn-group .btn{flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{background:none;border:none;padding:0 10px}.swagger-ui .authorization__btn.locked{opacity:1}.swagger-ui .authorization__btn.unlocked{opacity:.4}.swagger-ui .model-box-control,.swagger-ui .models-control,.swagger-ui .opblock-summary-control{all:inherit;border-bottom:0;cursor:pointer;flex:1;padding:0}.swagger-ui .model-box-control:focus,.swagger-ui .models-control:focus,.swagger-ui .opblock-summary-control:focus{outline:auto}.swagger-ui .expand-methods,.swagger-ui .expand-operation{background:none;border:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{height:20px;width:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{fill:#707070;transition:all .3s}.swagger-ui button{cursor:pointer}.swagger-ui button.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .copy-to-clipboard{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;display:flex;height:30px;justify-content:center;position:absolute;right:100px;width:30px}.swagger-ui .copy-to-clipboard button{background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" aria-hidden="true"><path fill="%23fff" fill-rule="evenodd" d="M4 12h4v1H4v-1zm5-6H4v1h5V6zm2 3V7l-3 3 3 3v-2h5V9h-5zM6.5 8H4v1h2.5V8zM4 11h2.5v-1H4v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V5H3v9h10v-2zM4 4h8c0-.55-.45-1-1-1h-1c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H5c-.55 0-1 .45-1 1z"/></svg>') 50% no-repeat;border:none;flex-grow:1;flex-shrink:1;height:25px}.swagger-ui .curl-command .copy-to-clipboard{bottom:5px;height:20px;right:10px;width:20px}.swagger-ui .curl-command .copy-to-clipboard button{height:18px}.swagger-ui select{-moz-appearance:none;appearance:none;background:#f7f7f7 url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M13.418 7.859a.695.695 0 0 1 .978 0 .68.68 0 0 1 0 .969l-3.908 3.83a.697.697 0 0 1-.979 0l-3.908-3.83a.68.68 0 0 1 0-.969.695.695 0 0 1 .978 0L10 11l3.418-3.141z"/></svg>') right 10px center no-repeat;background-size:20px;border:2px solid #41444e;border-radius:4px;box-shadow:0 1px 2px 0 #00000040;color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 40px 5px 10px}.swagger-ui select[multiple]{background:#f7f7f7;margin:5px 0;padding:5px}.swagger-ui select.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .opblock-body select{min-width:230px}@media (max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}.swagger-ui label{color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 5px}@media (max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{max-width:175px}}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:#fff;border:1px solid #d9d9d9;border-radius:4px;margin:5px 0;min-width:100px;padding:8px 10px}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui textarea.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui input[disabled],.swagger-ui select[disabled],.swagger-ui textarea[disabled]{background-color:#fafafa;color:#888;cursor:not-allowed}.swagger-ui select[disabled]{border-color:#888}.swagger-ui textarea[disabled]{background-color:#41444e;color:#fff}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swagger-ui textarea{background:#fffc;border:none;border-radius:4px;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;min-height:280px;outline:none;padding:10px;width:100%}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{background:#41444e;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;margin:0;min-height:100px;padding:10px;resize:none}.swagger-ui .checkbox{color:#303030;padding:5px 0 10px;transition:opacity .5s}.swagger-ui .checkbox label{display:flex}.swagger-ui .checkbox p{color:#3b4151;font-family:monospace;font-style:italic;font-weight:400!important;font-weight:600;margin:0!important}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:#e8e8e8;border-radius:1px;box-shadow:0 0 0 2px #e8e8e8;cursor:pointer;display:inline-block;flex:none;height:16px;margin:0 8px 0 0;padding:5px;position:relative;top:3px;width:16px}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url('data:image/svg+xml;charset=utf-8,<svg width="10" height="8" viewBox="3 7 10 8" xmlns="http://www.w3.org/2000/svg"><path fill="%2341474E" fill-rule="evenodd" d="M6.333 15 3 11.667l1.333-1.334 2 2L11.667 7 13 8.333z"/></svg>') 50% no-repeat}.swagger-ui .dialog-ux{bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.swagger-ui .dialog-ux .backdrop-ux{background:#000c;bottom:0;left:0;position:fixed;right:0;top:0}.swagger-ui .dialog-ux .modal-ux{background:#fff;border:1px solid #ebebeb;border-radius:4px;box-shadow:0 10px 30px 0 #0003;left:50%;max-width:650px;min-width:300px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:9999}.swagger-ui .dialog-ux .modal-ux-content{max-height:540px;overflow-y:auto;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{color:#41444e;color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .dialog-ux .modal-ux-content h4{color:#3b4151;font-family:sans-serif;font-size:18px;font-weight:600;margin:15px 0 0}.swagger-ui .dialog-ux .modal-ux-header{align-items:center;border-bottom:1px solid #ebebeb;display:flex;padding:12px 0}.swagger-ui .dialog-ux .modal-ux-header .close-modal{-moz-appearance:none;appearance:none;background:none;border:none;padding:0 10px}.swagger-ui .dialog-ux .modal-ux-header h3{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;font-weight:600;margin:0;padding:0 20px}.swagger-ui .model{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{text-decoration:line-through}.swagger-ui .model-toggle{cursor:pointer;display:inline-block;font-size:10px;margin:auto .3em;position:relative;top:6px;transform:rotate(90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .model-toggle.collapsed{transform:rotate(0deg)}.swagger-ui .model-toggle:after{background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>') 50% no-repeat;background-size:100%;content:"";display:block;height:20px;width:20px}.swagger-ui .model-jump-to-path{cursor:pointer;position:relative}.swagger-ui .model-jump-to-path .view-line-link{cursor:pointer;position:absolute;top:-.4em}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{visibility:visible}.swagger-ui .model-hint{background:#000000b3;border-radius:4px;color:#ebebeb;padding:.1em .5em;position:absolute;top:-1.8em;visibility:hidden;white-space:nowrap}.swagger-ui .model p{margin:0 0 1em}.swagger-ui .model .property{color:#999;font-style:italic}.swagger-ui .model .property.primitive{color:#6b6b6b}.swagger-ui table.model tr.description{color:#666;font-weight:400}.swagger-ui table.model tr.description td:first-child,.swagger-ui table.model tr.property-row.required td:first-child{font-weight:700}.swagger-ui table.model tr.property-row td{vertical-align:top}.swagger-ui table.model tr.property-row td:first-child{padding-right:.2em}.swagger-ui table.model tr.property-row .star{color:red}.swagger-ui table.model tr.extension{color:#777}.swagger-ui table.model tr.extension td:last-child{vertical-align:top}.swagger-ui section.models{border:1px solid #3b41514d;border-radius:4px;margin:30px 0}.swagger-ui section.models .pointer{cursor:pointer}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{border-bottom:1px solid #3b41514d;margin:0 0 5px}.swagger-ui section.models h4{align-items:center;color:#606060;cursor:pointer;display:flex;font-family:sans-serif;font-size:16px;margin:0;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui section.models h4 svg{transition:all .4s}.swagger-ui section.models h4 span{flex:1}.swagger-ui section.models h4:hover{background:#00000005}.swagger-ui section.models h5{color:#707070;font-family:sans-serif;font-size:16px;margin:0 0 10px}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{background:#0000000d;border-radius:4px;margin:0 20px 15px;position:relative;transition:all .5s}.swagger-ui section.models .model-container:hover{background:#00000012}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-container .models-jump-to-path{opacity:.65;position:absolute;right:5px;top:8px}.swagger-ui section.models .model-box{background:none}.swagger-ui .model-box{background:#0000001a;border-radius:4px;display:inline-block;padding:10px}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{color:#505050;font-family:sans-serif;font-size:16px}.swagger-ui .model-title img{bottom:0;margin-left:1em;position:relative}.swagger-ui .model-deprecated-warning{color:#f93e3e;font-family:sans-serif;font-size:16px;font-weight:600;margin-right:1em}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{color:#3b4151;font-family:sans-serif;font-size:12px;margin:-20px 15px 0 0}.swagger-ui .servers>label select{max-width:100%;min-width:130px}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;padding-bottom:10px;padding-top:10px;vertical-align:middle}.swagger-ui .servers table td:first-of-type{padding-right:1em}.swagger-ui .servers table td input{height:100%;width:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;font-size:16px;margin:0 1em;padding:4px}.swagger-ui .servers-title{font-size:12px;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{border-collapse:collapse;padding:0 10px;width:100%}.swagger-ui table.model tbody tr td{padding:0;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{padding:0 0 0 2em;width:174px}.swagger-ui table.headers td{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600;vertical-align:middle}.swagger-ui table.headers .header-example{color:#999;font-style:italic}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{min-width:6em;padding:10px 0}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid #3b415133;color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;padding:12px 0;text-align:left}.swagger-ui .parameters-col_description{margin-bottom:2em;width:99%}.swagger-ui .parameters-col_description input[type=text]{max-width:340px;width:100%}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameter__name{color:#3b4151;font-family:sans-serif;font-size:16px;font-weight:400;margin-right:.75em}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required span{color:red}.swagger-ui .parameter__name.required:after{color:#f009;content:"required";font-size:10px;padding:5px;position:relative;top:-6px}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:gray;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__deprecated{color:red;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__empty_value_toggle{display:block;font-size:13px;padding-bottom:12px;padding-top:5px}.swagger-ui .parameter__empty_value_toggle input{margin-right:7px}.swagger-ui .parameter__empty_value_toggle.disabled{opacity:.7}.swagger-ui .table-container{padding:20px}.swagger-ui .response-col_description{width:99%}.swagger-ui .response-col_links{min-width:6em}.swagger-ui .response__extension{color:gray;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .topbar{background-color:#1b1b1b;padding:10px 0}.swagger-ui .topbar .topbar-wrapper,.swagger-ui .topbar a{align-items:center;display:flex}.swagger-ui .topbar a{color:#fff;flex:1;font-family:sans-serif;font-size:1.5em;font-weight:700;max-width:300px;text-decoration:none}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:flex;flex:3;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid #62a03f;border-radius:4px 0 0 4px;margin:0;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label{align-items:center;color:#f0f0f0;display:flex;margin:0;max-width:600px;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label span{flex:1;font-size:16px;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{border:2px solid #62a03f;box-shadow:none;flex:2;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:#62a03f;border:none;border-radius:0 4px 4px 0;color:#fff;font-family:sans-serif;font-size:16px;font-weight:700;padding:4px 30px}.swagger-ui .info{margin:50px 0}.swagger-ui .info.failed-config{margin-left:auto;margin-right:auto;max-width:880px;text-align:center}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info pre{font-size:14px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5{color:#3b4151;font-family:sans-serif}.swagger-ui .info a{color:#4990e2;font-family:sans-serif;font-size:14px;transition:all .4s}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300!important;font-weight:600;margin:0}.swagger-ui .info .title{color:#3b4151;font-family:sans-serif;font-size:36px;margin:0}.swagger-ui .info .title small{background:#7d8492;border-radius:57px;display:inline-block;font-size:10px;margin:0 0 0 5px;padding:2px 4px;position:relative;top:-5px;vertical-align:super}.swagger-ui .info .title small.version-stamp{background-color:#89bf04}.swagger-ui .info .title small pre{color:#fff;font-family:sans-serif;margin:0;padding:0}.swagger-ui .auth-btn-wrapper{display:flex;justify-content:center;padding:10px 0}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{margin-right:10px;padding-right:20px}.swagger-ui .auth-container{border-bottom:1px solid #ebebeb;margin:0 0 10px;padding:10px 20px}.swagger-ui .auth-container:last-of-type{border:0;margin:0;padding:10px 20px}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{background-color:#fee;border-radius:4px;color:red;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;margin:1em;padding:10px}.swagger-ui .auth-container .errors b{margin-right:1em;text-transform:capitalize}.swagger-ui .scopes h2{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .scopes h2 a{color:#4990e2;cursor:pointer;font-size:12px;padding-left:10px;text-decoration:underline}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{animation:scaleUp .5s;background:#f93e3e1a;border:2px solid #f93e3e;border-radius:4px;margin:20px;padding:10px 20px}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{color:#3b4151;font-family:monospace;font-size:14px;font-weight:600;margin:0}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper .errors .message{white-space:pre-line}.swagger-ui .errors-wrapper .errors .message.thrown{max-width:100%}.swagger-ui .errors-wrapper .errors .error-line{cursor:pointer;text-decoration:underline}.swagger-ui .errors-wrapper hgroup{align-items:center;display:flex}.swagger-ui .errors-wrapper hgroup h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;margin:0}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.swagger-ui .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown pre{margin:1em auto;word-break:break-all;word-break:break-word}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:#000;font-weight:400;padding:0;white-space:pre-wrap}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:#0000000d;border-radius:4px;color:#9012fe;font-family:monospace;font-size:14px;font-weight:600;padding:5px 7px}.swagger-ui .markdown pre>code,.swagger-ui .renderedMarkdown pre>code{display:block}.toast-center-center{top:50%;left:50%;transform:translate(-50%,-50%)}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}.toast-title{font-weight:700}.toast-message{word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 0 #fff}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4}button.toast-close-button{padding:0;cursor:pointer;background:#0000;border:0}.toast-container{pointer-events:none;position:fixed;z-index:999999}.toast-container *{box-sizing:border-box}.toast-container .ngx-toastr{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px 3px 3px 3px;background-position:15px;background-repeat:no-repeat;background-size:24px;box-shadow:0 0 12px #999;color:#fff}.toast-container .ngx-toastr:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.toast-info{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOS4wNDMgOCA4IDExOS4wODMgOCAyNTZjMCAxMzYuOTk3IDExMS4wNDMgMjQ4IDI0OCAyNDhzMjQ4LTExMS4wMDMgMjQ4LTI0OEM1MDQgMTE5LjA4MyAzOTIuOTU3IDggMjU2IDh6bTAgMTEwYzIzLjE5NiAwIDQyIDE4LjgwNCA0MiA0MnMtMTguODA0IDQyLTQyIDQyLTQyLTE4LjgwNC00Mi00MiAxOC44MDQtNDIgNDItNDJ6bTU2IDI1NGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC04OGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMnYtNjRoLTEyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDY0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MTAwaDEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjR6Jy8+PC9zdmc+")}.toast-error{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTEyMS42IDMxMy4xYzQuNyA0LjcgNC43IDEyLjMgMCAxN0wzMzggMzc3LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwyNTYgMzEybC02NS4xIDY1LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwxMzQuNCAzMzhjLTQuNy00LjctNC43LTEyLjMgMC0xN2w2NS42LTY1LTY1LjYtNjUuMWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDM5LjYtMzkuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsNjUgNjUuNyA2NS4xLTY1LjZjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDM5LjYgMzkuNmM0LjcgNC43IDQuNyAxMi4zIDAgMTdMMzEyIDI1Nmw2NS42IDY1LjF6Jy8+PC9zdmc+")}.toast-success{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxeicvPjwvc3ZnPg==")}.toast-warning{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyB3aWR0aD0nNTc2JyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTU2OS41MTcgNDQwLjAxM0M1ODcuOTc1IDQ3Mi4wMDcgNTY0LjgwNiA1MTIgNTI3Ljk0IDUxMkg0OC4wNTRjLTM2LjkzNyAwLTU5Ljk5OS00MC4wNTUtNDEuNTc3LTcxLjk4N0wyNDYuNDIzIDIzLjk4NWMxOC40NjctMzIuMDA5IDY0LjcyLTMxLjk1MSA4My4xNTQgMGwyMzkuOTQgNDE2LjAyOHpNMjg4IDM1NGMtMjUuNDA1IDAtNDYgMjAuNTk1LTQ2IDQ2czIwLjU5NSA0NiA0NiA0NiA0Ni0yMC41OTUgNDYtNDYtMjAuNTk1LTQ2LTQ2LTQ2em0tNDMuNjczLTE2NS4zNDZsNy40MTggMTM2Yy4zNDcgNi4zNjQgNS42MDkgMTEuMzQ2IDExLjk4MiAxMS4zNDZoNDguNTQ2YzYuMzczIDAgMTEuNjM1LTQuOTgyIDExLjk4Mi0xMS4zNDZsNy40MTgtMTM2Yy4zNzUtNi44NzQtNS4wOTgtMTIuNjU0LTExLjk4Mi0xMi42NTRoLTYzLjM4M2MtNi44ODQgMC0xMi4zNTYgNS43OC0xMS45ODEgMTIuNjU0eicvPjwvc3ZnPg==")}.toast-container.toast-bottom-center .ngx-toastr,.toast-container.toast-top-center .ngx-toastr{width:300px;margin-left:auto;margin-right:auto}.toast-container.toast-bottom-full-width .ngx-toastr,.toast-container.toast-top-full-width .ngx-toastr{width:96%;margin-left:auto;margin-right:auto}.ngx-toastr{background-color:#030303;pointer-events:auto}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4}@media all and (max-width: 240px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:11em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width: 241px) and (max-width: 480px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:18em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width: 481px) and (max-width: 768px){.toast-container .ngx-toastr.div{padding:15px 15px 15px 50px;width:25em}}.tree-children.tree-children-no-padding{padding-left:0}.tree-children{overflow:hidden}.node-drop-slot{display:block;height:2px}.node-drop-slot.is-dragging-over{background:#dfe;height:20px;border:2px dotted #888}.toggle-children-wrapper-expanded .toggle-children{transform:rotate(90deg)}.toggle-children-wrapper-collapsed .toggle-children{transform:rotate(0)}.toggle-children-wrapper{padding:2px 3px 5px 1px}.toggle-children{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC");height:8px;width:9px;background-size:contain;background-repeat:no-repeat;background-position:50%}.toggle-children,.toggle-children-placeholder{display:inline-block;position:relative;top:1px}.toggle-children-placeholder{height:10px;width:10px;padding-right:3px}.node-content-wrapper{display:inline-block;padding:2px 5px;border-radius:2px;transition:background-color .15s,box-shadow .15s}.node-wrapper{display:flex;align-items:flex-start}.node-content-wrapper-active,.node-content-wrapper-active.node-content-wrapper-focused,.node-content-wrapper.node-content-wrapper-active:hover{background:#beebff}.node-content-wrapper-focused{background:#e7f4f9}.node-content-wrapper:hover{background:#f7fbff}.node-content-wrapper-active,.node-content-wrapper-focused,.node-content-wrapper:hover{box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over{background:#dfe;box-shadow:inset 0 0 1px #999}.node-content-wrapper.is-dragging-over-disabled{opacity:.5}tree-viewport{-webkit-tap-highlight-color:transparent;height:100%;overflow:auto;display:block}.tree-children{padding-left:20px}.empty-tree-drop-slot .node-drop-slot{height:20px;min-width:100px}.angular-tree-component{width:100%;position:relative;display:inline-block;cursor:pointer;-webkit-touch-callout:none;user-select:none}tree-root .angular-tree-component-rtl{direction:rtl}tree-root .angular-tree-component-rtl .toggle-children-wrapper-collapsed .toggle-children{transform:rotate(180deg)!important}tree-root .angular-tree-component-rtl .tree-children{padding-right:20px;padding-left:0}tree-node-checkbox{padding:1px}:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--black:#000;--barley-white:#fcecba;--fg-color-over-dark-bg:#fff;--fg-hover-color-over-dark-bg:#adb5bd;--body-color-bright:#f8f9fa;--body-bg:#fff;--body-color:#212529;--body-bg-alt:#e9ecef;--health-color-error:red;--health-color-healthy:#0b0;--health-color-warning:orange;--chart-color-red:#c9190b;--chart-color-blue:#06c;--chart-color-orange:#ef9234;--chart-color-yellow:#f6d173;--chart-color-green:#7cc674;--chart-color-gray:#ededed;--chart-color-cyan:#73c5c5;--chart-color-purple:#3c3d99;--chart-color-center-text:#151515;--chart-color-center-text-description:#72767b;--chart-color-tooltip-background:#000;--chart-danger:#c9190b;--card-cap-bg:#f8f9fa;--grid-gutter-width:30px;--datatable-divider-color:#00000017;--nav-tabs-margin-bottom:1rem;--tooltip-color:#fff;--tooltip-bg:#212529;--screen-sm-min:576px;--screen-md-min:768px;--screen-lg-min:992px;--screen-xl-min:1200px;--screen-xs-max:calc(576px - 1px);--screen-sm-max:calc(768px - 1px);--screen-md-max:calc(992px - 1px);--screen-lg-max:calc(1200px - 1px);--navbar-height:43px;--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#a94442;--red:#ef5c55;--orange:#fd7e14;--yellow:#ffc200;--green:#0b0;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#2b99a8;--secondary:#374249;--success:#0b0;--info:#2b99a8;--warning:#ffc200;--danger:#ef5c55;--light:#f8f9fa;--dark:#777;--accent:#ef5c55;--warning-dark:#fd7e14;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-2xl:1450px;--font-family-sans-serif:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
+/*!
+ * Bootstrap v4.6.1 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}a{color:#2b99a8;text-decoration:none;background-color:initial}a:hover{color:#1b626b;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid #0000001a}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#a94442;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width: 992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width: 1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row,cd-about dl{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.cd-col-form,.cd-col-form-input,.cd-col-form-label,.cd-col-form-offset,.col,.col-1,.col-2,.col-2xl,.col-2xl-1,.col-2xl-2,.col-2xl-3,.col-2xl-4,.col-2xl-5,.col-2xl-6,.col-2xl-7,.col-2xl-8,.col-2xl-9,.col-2xl-10,.col-2xl-11,.col-2xl-12,.col-2xl-auto,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto,cd-about dd,cd-about dt,cd-health cd-info-card,cd-health cd-info-card.cd-capacity-card,cd-health cd-info-card.cd-chart-card,cd-health cd-info-card.cd-performance-card,cd-health cd-info-card.cd-status-card,cd-modal .cd-col-form-input,cd-modal .cd-col-form-label,cd-modal .cd-col-form-offset{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4,cd-about dt{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8,cd-about dd{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.cd-col-form,.col-12,cd-health cd-info-card{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.cd-col-form-label,.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.cd-col-form-input,.cd-col-form-offset,.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12,cd-health cd-info-card{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.cd-col-form-offset,.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.cd-col-form-label,.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6,cd-health cd-info-card{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.cd-col-form-input,.cd-col-form-offset,.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12,cd-health cd-info-card.cd-chart-card{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.cd-col-form-label,.col-lg-3,cd-health cd-info-card.cd-capacity-card{flex:0 0 25%;max-width:25%}.col-lg-4,cd-health cd-info-card,cd-modal .cd-col-form-label{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6,cd-health cd-info-card.cd-chart-card,cd-health cd-info-card.cd-performance-card{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.cd-col-form,.col-lg-8,cd-modal .cd-col-form-input,cd-modal .cd-col-form-offset{flex:0 0 66.66666667%;max-width:66.66666667%}.cd-col-form-input,.cd-col-form-offset,.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.cd-col-form-offset,.offset-lg-3{margin-left:25%}.offset-lg-4,cd-modal .cd-col-form-offset{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media (min-width: 1200px){.col-xl,cd-health cd-info-card.cd-capacity-card,cd-health cd-info-card.cd-performance-card{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3,cd-health cd-info-card.cd-status-card{flex:0 0 25%;max-width:25%}.col-xl-4,cd-health cd-info-card.cd-chart-card{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.cd-col-form,.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}@media (min-width: 1450px){.col-2xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-2xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-2xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-2xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-2xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-2xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-2xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-2xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-2xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-2xl-3,cd-health cd-info-card.cd-chart-card{flex:0 0 25%;max-width:25%}.col-2xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-2xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-2xl-6{flex:0 0 50%;max-width:50%}.col-2xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-2xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-2xl-9{flex:0 0 75%;max-width:75%}.col-2xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-2xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-2xl-12{flex:0 0 100%;max-width:100%}.order-2xl-first{order:-1}.order-2xl-last{order:13}.order-2xl-0{order:0}.order-2xl-1{order:1}.order-2xl-2{order:2}.order-2xl-3{order:3}.order-2xl-4{order:4}.order-2xl-5{order:5}.order-2xl-6{order:6}.order-2xl-7{order:7}.order-2xl-8{order:8}.order-2xl-9{order:9}.order-2xl-10{order:10}.order-2xl-11{order:11}.order-2xl-12{order:12}.offset-2xl-0{margin-left:0}.offset-2xl-1{margin-left:8.33333333%}.offset-2xl-2{margin-left:16.66666667%}.offset-2xl-3{margin-left:25%}.offset-2xl-4{margin-left:33.33333333%}.offset-2xl-5{margin-left:41.66666667%}.offset-2xl-6{margin-left:50%}.offset-2xl-7{margin-left:58.33333333%}.offset-2xl-8{margin-left:66.66666667%}.offset-2xl-9{margin-left:75%}.offset-2xl-10{margin-left:83.33333333%}.offset-2xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#0000000d}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#c4e2e7}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#91cad2}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b2d9e0}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#c7cacc}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#979da0}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#babdc0}.table-success,.table-success>td,.table-success>th{background-color:#b8ecb8}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#7adc7a}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#a4e7a4}.table-info,.table-info>td,.table-info>th{background-color:#c4e2e7}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#91cad2}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#b2d9e0}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeb8}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7a}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe89f}.table-danger,.table-danger>td,.table-danger>th{background-color:#fbd1cf}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#f7aaa7}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f9bab7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#d9d9d9}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#b8b8b8}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#ccc}.table-accent,.table-accent>td,.table-accent>th{background-color:#fbd1cf}.table-accent tbody+tbody,.table-accent td,.table-accent th,.table-accent thead th{border-color:#f7aaa7}.table-hover .table-accent:hover,.table-hover .table-accent:hover>td,.table-hover .table-accent:hover>th{background-color:#f9bab7}.table-warning-dark,.table-warning-dark>td,.table-warning-dark>th{background-color:#fedbbd}.table-warning-dark tbody+tbody,.table-warning-dark td,.table-warning-dark th,.table-warning-dark thead th{border-color:#febc85}.table-hover .table-warning-dark:hover,.table-hover .table-warning-dark:hover>td,.table-hover .table-warning-dark:hover>th{background-color:#fecda4}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:#ffffff0d}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}@media (max-width: 1449.98px){.table-responsive-2xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-2xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.cd-form-control,.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.cd-form-control,.form-control{transition:none}}.cd-form-control::-ms-expand,.form-control::-ms-expand{background-color:initial;border:0}.cd-form-control:focus,.form-control:focus{color:#495057;background-color:#fff;border-color:#76d0dc;box-shadow:0 0 0 .2rem #2b99a840}.cd-form-control::placeholder,.form-control::placeholder{color:#6c757d;opacity:1}.cd-form-control:disabled,.form-control:disabled,.form-control[readonly],[readonly].cd-form-control{background-color:#e9ecef;opacity:1}input[type=date].cd-form-control,input[type=date].form-control,input[type=datetime-local].cd-form-control,input[type=datetime-local].form-control,input[type=month].cd-form-control,input[type=month].form-control,input[type=time].cd-form-control,input[type=time].form-control{-moz-appearance:none;appearance:none}select.cd-form-control:-moz-focusring,select.form-control:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}select.cd-form-control:focus::-ms-value,select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.cd-col-form-label,.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:initial;border:solid #0000;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],select[multiple].cd-form-control,select[size].cd-form-control,textarea.cd-form-control,textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#0b0}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:#00bb00e6;border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.is-valid.cd-form-control,.was-validated .cd-form-control:valid,.was-validated .form-control:valid{border-color:#0b0;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%230b0' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.is-valid.cd-form-control:focus,.was-validated .cd-form-control:valid:focus,.was-validated .form-control:valid:focus{border-color:#0b0;box-shadow:0 0 0 .2rem #00bb0040}.was-validated select.cd-form-control:valid,.was-validated select.form-control:valid,select.form-control.is-valid,select.is-valid.cd-form-control{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.cd-form-control:valid,.was-validated textarea.form-control:valid,textarea.form-control.is-valid,textarea.is-valid.cd-form-control{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#0b0;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%230b0' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#0b0;box-shadow:0 0 0 .2rem #00bb0040}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#0b0}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#0b0}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#0b0}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#0e0;background-color:#0e0}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #00bb0040}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#0b0}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#0b0;box-shadow:0 0 0 .2rem #00bb0040}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:100%;color:#ef5c55}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:#ef5c55e6;border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.is-invalid.cd-form-control,.was-validated .cd-form-control:invalid,.was-validated .form-control:invalid{border-color:#ef5c55;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ef5c55' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ef5c55' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.is-invalid.cd-form-control:focus,.was-validated .cd-form-control:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#ef5c55;box-shadow:0 0 0 .2rem #ef5c5540}.was-validated select.cd-form-control:invalid,.was-validated select.form-control:invalid,select.form-control.is-invalid,select.is-invalid.cd-form-control{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.cd-form-control:invalid,.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid,textarea.is-invalid.cd-form-control{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#ef5c55;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ef5c55' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ef5c55' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#ef5c55;box-shadow:0 0 0 .2rem #ef5c5540}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#ef5c55}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#ef5c55}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#ef5c55}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#f38984;background-color:#f38984}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #ef5c5540}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#ef5c55}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#ef5c55;box-shadow:0 0 0 .2rem #ef5c5540}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .cd-form-control,.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;user-select:none;background-color:initial;border:1px solid #0000;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem #2b99a840}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem #4ba8b580}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #4ba8b580}.btn-secondary{color:#fff;background-color:#374249;border-color:#374249}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:#fff;background-color:#272e33;border-color:#21282c}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem #555e6480}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#374249;border-color:#374249}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#21282c;border-color:#1c2125}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #555e6480}.btn-success{color:#fff;background-color:#0b0;border-color:#0b0}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#009500;border-color:#080}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem #26c52680}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#0b0;border-color:#0b0}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#080;border-color:#007b00}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #26c52680}.btn-info{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#237d8a;border-color:#21747f}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem #4ba8b580}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#21747f;border-color:#1e6b75}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #4ba8b580}.btn-warning{color:#212529;background-color:#ffc200;border-color:#ffc200}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#212529;background-color:#d9a500;border-color:#cc9b00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem #deaa0680}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc200;border-color:#ffc200}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#cc9b00;border-color:#bf9200}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #deaa0680}.btn-danger{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem #f1746f80}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f1746f80}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light.focus,.btn-light:focus,.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-dark{color:#fff;background-color:#777;border-color:#777}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{color:#fff;background-color:#646464;border-color:#5e5e5e}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem #8b8b8b80}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#777;border-color:#777}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#5e5e5e;border-color:#575757}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #8b8b8b80}.btn-accent{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-accent.focus,.btn-accent:focus,.btn-accent:hover{color:#fff;background-color:#ec3a32;border-color:#eb2f26}.btn-accent.focus,.btn-accent:focus{box-shadow:0 0 0 .2rem #f1746f80}.btn-accent.disabled,.btn-accent:disabled{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-accent:not(:disabled):not(.disabled).active,.btn-accent:not(:disabled):not(.disabled):active,.show>.btn-accent.dropdown-toggle{color:#fff;background-color:#eb2f26;border-color:#ea241b}.btn-accent:not(:disabled):not(.disabled).active:focus,.btn-accent:not(:disabled):not(.disabled):active:focus,.show>.btn-accent.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f1746f80}.btn-warning-dark{color:#212529;background-color:#fd7e14;border-color:#fd7e14}.btn-warning-dark.focus,.btn-warning-dark:focus,.btn-warning-dark:hover{color:#fff;background-color:#e96b02;border-color:#dc6502}.btn-warning-dark.focus,.btn-warning-dark:focus{box-shadow:0 0 0 .2rem #dc711780}.btn-warning-dark.disabled,.btn-warning-dark:disabled{color:#212529;background-color:#fd7e14;border-color:#fd7e14}.btn-warning-dark:not(:disabled):not(.disabled).active,.btn-warning-dark:not(:disabled):not(.disabled):active,.show>.btn-warning-dark.dropdown-toggle{color:#fff;background-color:#dc6502;border-color:#cf5f02}.btn-warning-dark:not(:disabled):not(.disabled).active:focus,.btn-warning-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-warning-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #dc711780}.btn-outline-primary{color:#2b99a8;border-color:#2b99a8}.btn-outline-primary:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem #2b99a880}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2b99a8;background-color:initial}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #2b99a880}.btn-outline-secondary{color:#374249;border-color:#374249}.btn-outline-secondary:hover{color:#fff;background-color:#374249;border-color:#374249}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem #37424980}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#374249;background-color:initial}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#374249;border-color:#374249}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #37424980}.btn-outline-success{color:#0b0;border-color:#0b0}.btn-outline-success:hover{color:#fff;background-color:#0b0;border-color:#0b0}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem #00bb0080}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#0b0;background-color:initial}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#0b0;border-color:#0b0}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #00bb0080}.btn-outline-info{color:#2b99a8;border-color:#2b99a8}.btn-outline-info:hover{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem #2b99a880}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#2b99a8;background-color:initial}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#2b99a8;border-color:#2b99a8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #2b99a880}.btn-outline-warning{color:#ffc200;border-color:#ffc200}.btn-outline-warning:hover{color:#212529;background-color:#ffc200;border-color:#ffc200}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem #ffc20080}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc200;background-color:initial}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc200;border-color:#ffc200}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ffc20080}.btn-outline-danger{color:#ef5c55;border-color:#ef5c55}.btn-outline-danger:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem #ef5c5580}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ef5c55;background-color:initial}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ef5c5580}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:initial}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-dark{color:#777;border-color:#777}.btn-outline-dark:hover{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem #77777780}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#777;background-color:initial}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#777;border-color:#777}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #77777780}.btn-outline-accent{color:#ef5c55;border-color:#ef5c55}.btn-outline-accent:hover{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-accent.focus,.btn-outline-accent:focus{box-shadow:0 0 0 .2rem #ef5c5580}.btn-outline-accent.disabled,.btn-outline-accent:disabled{color:#ef5c55;background-color:initial}.btn-outline-accent:not(:disabled):not(.disabled).active,.btn-outline-accent:not(:disabled):not(.disabled):active,.show>.btn-outline-accent.dropdown-toggle{color:#fff;background-color:#ef5c55;border-color:#ef5c55}.btn-outline-accent:not(:disabled):not(.disabled).active:focus,.btn-outline-accent:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-accent.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ef5c5580}.btn-outline-warning-dark{color:#fd7e14;border-color:#fd7e14}.btn-outline-warning-dark:hover{color:#212529;background-color:#fd7e14;border-color:#fd7e14}.btn-outline-warning-dark.focus,.btn-outline-warning-dark:focus{box-shadow:0 0 0 .2rem #fd7e1480}.btn-outline-warning-dark.disabled,.btn-outline-warning-dark:disabled{color:#fd7e14;background-color:initial}.btn-outline-warning-dark:not(:disabled):not(.disabled).active,.btn-outline-warning-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-warning-dark.dropdown-toggle{color:#212529;background-color:#fd7e14;border-color:#fd7e14}.btn-outline-warning-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-warning-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #fd7e1480}.btn-link{font-weight:400;color:#2b99a8;text-decoration:none}.btn-link:hover{color:#1b626b}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid #0000;border-bottom:0;border-left:.3em solid #0000}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #00000026;border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width: 1450px){.dropdown-menu-2xl-left{right:auto;left:0}.dropdown-menu-2xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid #0000;border-bottom:.3em solid;border-left:.3em solid #0000}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid #0000;border-right:0;border-bottom:.3em solid #0000;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid #0000;border-right:.3em solid;border-bottom:.3em solid #0000}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:initial;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2b99a8}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:initial}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.cd-form-control,.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.cd-form-control+.cd-form-control,.input-group>.cd-form-control+.custom-file,.input-group>.cd-form-control+.custom-select,.input-group>.cd-form-control+.form-control,.input-group>.custom-file+.cd-form-control,.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.cd-form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.cd-form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.cd-form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.cd-form-control:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.cd-form-control:not(:first-child),.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.cd-form-control:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.cd-form-control:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.cd-form-control:not(textarea),.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.cd-form-control,.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.cd-form-control:not(textarea),.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.cd-form-control,.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#2b99a8;background-color:#2b99a8}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #2b99a840}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#76d0dc}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#9fdee6;border-color:#9fdee6}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#2b99a8;background-color:#2b99a8}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:#2b99a880}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#2b99a880}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#2b99a880}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#76d0dc;outline:0;box-shadow:0 0 0 .2rem #2b99a840}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#76d0dc;box-shadow:0 0 0 .2rem #2b99a840}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);overflow:hidden;font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:initial;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #2b99a840}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #2b99a840}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #2b99a840}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2b99a8;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#9fdee6}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:#0000;cursor:pointer;background-color:#dee2e6;border-color:#0000;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2b99a8;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#9fdee6}.custom-range::-moz-range-track{width:100%;height:.5rem;color:#0000;cursor:pointer;background-color:#dee2e6;border-color:#0000;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2b99a8;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#9fdee6}.custom-range::-ms-track{width:100%;height:.5rem;color:#0000;cursor:pointer;background-color:initial;border-color:#0000;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid #0000;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:initial;border-color:#0000}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2b99a8}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:initial;border:1px solid #0000;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (max-width: 1449.98px){.navbar-expand-2xl>.container,.navbar-expand-2xl>.container-fluid,.navbar-expand-2xl>.container-lg,.navbar-expand-2xl>.container-md,.navbar-expand-2xl>.container-sm,.navbar-expand-2xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 1450px){.navbar-expand-2xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-2xl .navbar-nav{flex-direction:row}.navbar-expand-2xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-2xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-2xl>.container,.navbar-expand-2xl>.container-fluid,.navbar-expand-2xl>.container-lg,.navbar-expand-2xl>.container-md,.navbar-expand-2xl>.container-sm,.navbar-expand-2xl>.container-xl{flex-wrap:nowrap}.navbar-expand-2xl .navbar-nav-scroll{overflow:visible}.navbar-expand-2xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-2xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:#000000e6}.navbar-light .navbar-nav .nav-link{color:#00000080}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:#000000b3}.navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:#000000e6}.navbar-light .navbar-toggler{color:#00000080;border-color:#0000001a}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#00000080}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:#000000e6}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#ffffff80}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#ffffffbf}.navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:#ffffff80;border-color:#ffffff1a}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#ffffff80}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card,pre:not(cd-api-docs *){position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:initial;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr,pre:not(cd-api-docs *)>hr{margin-right:0;margin-left:0}.card>.list-group,pre:not(cd-api-docs *)>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,pre:not(cd-api-docs *)>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child,pre:not(cd-api-docs *)>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer,pre:not(cd-api-docs *)>.card-header+.list-group,pre:not(cd-api-docs *)>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f8f9fa;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f8f9fa;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card,.card-deck pre:not(cd-api-docs *){margin-bottom:15px}@media (min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card,.card-deck pre:not(cd-api-docs *){flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card,.card-group>pre:not(cd-api-docs *){margin-bottom:15px}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card,.card-group>pre:not(cd-api-docs *){flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.card+pre:not(cd-api-docs *),.card-group>pre:not(cd-api-docs *)+.card,.card-group>pre:not(cd-api-docs *)+pre:not(cd-api-docs *){margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>pre:not(:last-child):not(cd-api-docs *){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top,.card-group>pre:not(:last-child):not(cd-api-docs *) .card-header,.card-group>pre:not(:last-child):not(cd-api-docs *) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom,.card-group>pre:not(:last-child):not(cd-api-docs *) .card-footer,.card-group>pre:not(:last-child):not(cd-api-docs *) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>pre:not(:first-child):not(cd-api-docs *){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top,.card-group>pre:not(:first-child):not(cd-api-docs *) .card-header,.card-group>pre:not(:first-child):not(cd-api-docs *) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom,.card-group>pre:not(:first-child):not(cd-api-docs *) .card-footer,.card-group>pre:not(:first-child):not(cd-api-docs *) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card,.card-columns pre:not(cd-api-docs *){margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;grid-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card,.card-columns pre:not(cd-api-docs *){display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card,.accordion>pre:not(cd-api-docs *){overflow:hidden}.accordion>.card:not(:last-of-type),.accordion>pre:not(:last-of-type):not(cd-api-docs *){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type),.accordion>pre:not(:first-of-type):not(cd-api-docs *){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header,.accordion>pre:not(cd-api-docs *)>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination,cd-table .cd-datatable .datatable-footer .datatable-pager ul{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li a{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2b99a8;background-color:#fff;border:1px solid #dee2e6}.page-link:hover,cd-table .cd-datatable .datatable-footer .datatable-pager ul li a:hover{z-index:2;color:#1b626b;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus,cd-table .cd-datatable .datatable-footer .datatable-pager ul li a:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem #2b99a840}.page-item:first-child .page-link,.page-item:first-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .page-item:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child a{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link,.page-item:last-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .page-item:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child a{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link,.page-item.active cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li.active .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li.active a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .page-item.active a{z-index:3;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.page-item.disabled .page-link,.page-item.disabled cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li.disabled .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul li.disabled a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .page-item.disabled a{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg a{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link,.pagination-lg .page-item:first-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:first-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg .page-item:first-child a{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link,.pagination-lg .page-item:last-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link,.pagination-lg cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:last-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-lg li:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-lg .page-item:last-child a{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm a{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link,.pagination-sm .page-item:first-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child .page-link,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:first-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:first-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm .page-item:first-child a{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link,.pagination-sm .page-item:last-child cd-table .cd-datatable .datatable-footer .datatable-pager ul li a,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child .page-link,.pagination-sm cd-table .cd-datatable .datatable-footer .datatable-pager ul li:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:last-child .page-link,cd-table .cd-datatable .datatable-footer .datatable-pager ul .pagination-sm li:last-child a,cd-table .cd-datatable .datatable-footer .datatable-pager ul li .pagination-sm .page-item:last-child a{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:1rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:initial;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#2b99a8}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#21747f}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem #2b99a880}.badge-secondary{color:#fff;background-color:#374249}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#21282c}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem #37424980}.badge-success{color:#fff;background-color:#0b0}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#080}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem #00bb0080}.badge-info{color:#fff;background-color:#2b99a8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#21747f}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem #2b99a880}.badge-warning{color:#212529;background-color:#ffc200}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#cc9b00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem #ffc20080}.badge-danger{color:#fff;background-color:#ef5c55}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#eb2f26}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem #ef5c5580}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem #f8f9fa80}.badge-dark{color:#fff;background-color:#777}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#5e5e5e}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem #77777780}.badge-accent{color:#fff;background-color:#ef5c55}a.badge-accent:focus,a.badge-accent:hover{color:#fff;background-color:#eb2f26}a.badge-accent.focus,a.badge-accent:focus{outline:0;box-shadow:0 0 0 .2rem #ef5c5580}.badge-warning-dark{color:#212529;background-color:#fd7e14}a.badge-warning-dark:focus,a.badge-warning-dark:hover{color:#212529;background-color:#dc6502}a.badge-warning-dark.focus,a.badge-warning-dark:focus{outline:0;box-shadow:0 0 0 .2rem #fd7e1480}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid #0000;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-primary hr{border-top-color:#b2d9e0}.alert-primary .alert-link{color:#0c2b2e}.alert-secondary{color:#1d2226;background-color:#d7d9db;border-color:#c7cacc}.alert-secondary hr{border-top-color:#babdc0}.alert-secondary .alert-link{color:#070809}.alert-success{color:#006100;background-color:#ccf1cc;border-color:#b8ecb8}.alert-success hr{border-top-color:#a4e7a4}.alert-success .alert-link{color:#002e00}.alert-info{color:#165057;background-color:#d5ebee;border-color:#c4e2e7}.alert-info hr{border-top-color:#b2d9e0}.alert-info .alert-link{color:#0c2b2e}.alert-warning{color:#856500;background-color:#fff3cc;border-color:#ffeeb8}.alert-warning hr{border-top-color:#ffe89f}.alert-warning .alert-link{color:#523e00}.alert-danger{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-danger hr{border-top-color:#f9bab7}.alert-danger .alert-link{color:#56211f}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#3e3e3e;background-color:#e4e4e4;border-color:#d9d9d9}.alert-dark hr{border-top-color:#ccc}.alert-dark .alert-link{color:#252525}.alert-accent{color:#7c302c;background-color:#fcdedd;border-color:#fbd1cf}.alert-accent hr{border-top-color:#f9bab7}.alert-accent .alert-link{color:#56211f}.alert-warning-dark{color:#84420a;background-color:#ffe5d0;border-color:#fedbbd}.alert-warning-dark hr{border-top-color:#fecda4}.alert-warning-dark .alert-link{color:#552a06}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#2b99a8;transition:width .6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#2b99a8;border-color:#2b99a8}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1450px){.list-group-horizontal-2xl{flex-direction:row}.list-group-horizontal-2xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-2xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-2xl>.list-group-item.active{margin-top:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-2xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#165057;background-color:#c4e2e7}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#165057;background-color:#b2d9e0}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-secondary{color:#1d2226;background-color:#c7cacc}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#1d2226;background-color:#babdc0}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#1d2226;border-color:#1d2226}.list-group-item-success{color:#006100;background-color:#b8ecb8}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#006100;background-color:#a4e7a4}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#006100;border-color:#006100}.list-group-item-info{color:#165057;background-color:#c4e2e7}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#165057;background-color:#b2d9e0}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#165057;border-color:#165057}.list-group-item-warning{color:#856500;background-color:#ffeeb8}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856500;background-color:#ffe89f}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856500;border-color:#856500}.list-group-item-danger{color:#7c302c;background-color:#fbd1cf}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#3e3e3e;background-color:#d9d9d9}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#3e3e3e;background-color:#ccc}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#3e3e3e;border-color:#3e3e3e}.list-group-item-accent{color:#7c302c;background-color:#fbd1cf}.list-group-item-accent.list-group-item-action:focus,.list-group-item-accent.list-group-item-action:hover{color:#7c302c;background-color:#f9bab7}.list-group-item-accent.list-group-item-action.active{color:#fff;background-color:#7c302c;border-color:#7c302c}.list-group-item-warning-dark{color:#84420a;background-color:#fedbbd}.list-group-item-warning-dark.list-group-item-action:focus,.list-group-item-warning-dark.list-group-item-action:hover{color:#84420a;background-color:#fecda4}.list-group-item-warning-dark.list-group-item-action.active{color:#fff;background-color:#84420a;border-color:#84420a}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:initial;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:.875rem;background-color:#ffffffd9;background-clip:padding-box;border:1px solid #0000001a;box-shadow:0 .25rem .75rem #0000001a;opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid #0000000d;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid #0003;border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:#0000;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#212529}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#212529}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#212529}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#212529}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#212529;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:350px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:1rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid #0003;border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:#0000;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#00000040}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#00000040}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:#00000040}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#00000040}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:initial;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid #0000;border-bottom:10px solid #0000;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid;border-right:.25em solid #0000;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:initial!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#2b99a8!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#21747f!important}.bg-secondary{background-color:#374249!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#21282c!important}.bg-success{background-color:#0b0!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#080!important}.bg-info{background-color:#2b99a8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#21747f!important}.bg-warning{background-color:#ffc200!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#cc9b00!important}.bg-danger{background-color:#ef5c55!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#eb2f26!important}.bg-light,pre:not(cd-api-docs *){background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#777!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#5e5e5e!important}.bg-accent{background-color:#ef5c55!important}a.bg-accent:focus,a.bg-accent:hover,button.bg-accent:focus,button.bg-accent:hover{background-color:#eb2f26!important}.bg-warning-dark{background-color:#fd7e14!important}a.bg-warning-dark:focus,a.bg-warning-dark:hover,button.bg-warning-dark:focus,button.bg-warning-dark:hover{background-color:#dc6502!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:initial!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom,.cd-header,legend{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#2b99a8!important}.border-secondary{border-color:#374249!important}.border-success{border-color:#0b0!important}.border-info{border-color:#2b99a8!important}.border-warning{border-color:#ffc200!important}.border-danger{border-color:#ef5c55!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#777!important}.border-accent{border-color:#ef5c55!important}.border-warning-dark{border-color:#fd7e14!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex,cd-health cd-info-card{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width: 576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width: 768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width: 992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width: 1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media (min-width: 1450px){.d-2xl-none{display:none!important}.d-2xl-inline{display:inline!important}.d-2xl-inline-block{display:inline-block!important}.d-2xl-block{display:block!important}.d-2xl-table{display:table!important}.d-2xl-table-row{display:table-row!important}.d-2xl-table-cell{display:table-cell!important}.d-2xl-flex{display:flex!important}.d-2xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.85714286%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column,cd-health cd-info-card{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width: 576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}@media (min-width: 1450px){.flex-2xl-row{flex-direction:row!important}.flex-2xl-column{flex-direction:column!important}.flex-2xl-row-reverse{flex-direction:row-reverse!important}.flex-2xl-column-reverse{flex-direction:column-reverse!important}.flex-2xl-wrap{flex-wrap:wrap!important}.flex-2xl-nowrap{flex-wrap:nowrap!important}.flex-2xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-2xl-fill{flex:1 1 auto!important}.flex-2xl-grow-0{flex-grow:0!important}.flex-2xl-grow-1{flex-grow:1!important}.flex-2xl-shrink-0{flex-shrink:0!important}.flex-2xl-shrink-1{flex-shrink:1!important}.justify-content-2xl-start{justify-content:flex-start!important}.justify-content-2xl-end{justify-content:flex-end!important}.justify-content-2xl-center{justify-content:center!important}.justify-content-2xl-between{justify-content:space-between!important}.justify-content-2xl-around{justify-content:space-around!important}.align-items-2xl-start{align-items:flex-start!important}.align-items-2xl-end{align-items:flex-end!important}.align-items-2xl-center{align-items:center!important}.align-items-2xl-baseline{align-items:baseline!important}.align-items-2xl-stretch{align-items:stretch!important}.align-content-2xl-start{align-content:flex-start!important}.align-content-2xl-end{align-content:flex-end!important}.align-content-2xl-center{align-content:center!important}.align-content-2xl-between{align-content:space-between!important}.align-content-2xl-around{align-content:space-around!important}.align-content-2xl-stretch{align-content:stretch!important}.align-self-2xl-auto{align-self:auto!important}.align-self-2xl-start{align-self:flex-start!important}.align-self-2xl-end{align-self:flex-end!important}.align-self-2xl-center{align-self:center!important}.align-self-2xl-baseline{align-self:baseline!important}.align-self-2xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width: 576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width: 768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width: 992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width: 1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}@media (min-width: 1450px){.float-2xl-left{float:left!important}.float-2xl-right{float:right!important}.float-2xl-none{float:none!important}}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{white-space:nowrap}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.btn-toolbar cd-table-actions.btn-group,.mr-2,.mx-2,cd-logs label{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3,cd-logs .form-inline>.form-group{margin-right:1rem!important}.mb-3,.my-3,cd-logs .form-inline>.form-group{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.cd-header,.mt-4,.my-4,legend{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.cd-header,.mb-4,.my-4,cd-health cd-info-card,legend{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.cd-header,.pb-1,.py-1,legend{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2,cd-table .cd-datatable .datatable-footer,pre:not(cd-api-docs *){padding:.5rem!important}.pt-2,.py-2,cd-info-card .card .card-body .card-text,cd-info-card pre:not(cd-api-docs *) .card-body .card-text{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2,cd-info-card .card,cd-info-card pre:not(cd-api-docs *){padding-bottom:.5rem!important}.pl-2,.px-2,cd-info-card .card .card-body .card-title,cd-info-card pre:not(cd-api-docs *) .card-body .card-title{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1450px){.m-2xl-0{margin:0!important}.mt-2xl-0,.my-2xl-0{margin-top:0!important}.mr-2xl-0,.mx-2xl-0{margin-right:0!important}.mb-2xl-0,.my-2xl-0{margin-bottom:0!important}.ml-2xl-0,.mx-2xl-0{margin-left:0!important}.m-2xl-1{margin:.25rem!important}.mt-2xl-1,.my-2xl-1{margin-top:.25rem!important}.mr-2xl-1,.mx-2xl-1{margin-right:.25rem!important}.mb-2xl-1,.my-2xl-1{margin-bottom:.25rem!important}.ml-2xl-1,.mx-2xl-1{margin-left:.25rem!important}.m-2xl-2{margin:.5rem!important}.mt-2xl-2,.my-2xl-2{margin-top:.5rem!important}.mr-2xl-2,.mx-2xl-2{margin-right:.5rem!important}.mb-2xl-2,.my-2xl-2{margin-bottom:.5rem!important}.ml-2xl-2,.mx-2xl-2{margin-left:.5rem!important}.m-2xl-3{margin:1rem!important}.mt-2xl-3,.my-2xl-3{margin-top:1rem!important}.mr-2xl-3,.mx-2xl-3{margin-right:1rem!important}.mb-2xl-3,.my-2xl-3{margin-bottom:1rem!important}.ml-2xl-3,.mx-2xl-3{margin-left:1rem!important}.m-2xl-4{margin:1.5rem!important}.mt-2xl-4,.my-2xl-4{margin-top:1.5rem!important}.mr-2xl-4,.mx-2xl-4{margin-right:1.5rem!important}.mb-2xl-4,.my-2xl-4{margin-bottom:1.5rem!important}.ml-2xl-4,.mx-2xl-4{margin-left:1.5rem!important}.m-2xl-5{margin:3rem!important}.mt-2xl-5,.my-2xl-5{margin-top:3rem!important}.mr-2xl-5,.mx-2xl-5{margin-right:3rem!important}.mb-2xl-5,.my-2xl-5{margin-bottom:3rem!important}.ml-2xl-5,.mx-2xl-5{margin-left:3rem!important}.p-2xl-0{padding:0!important}.pt-2xl-0,.py-2xl-0{padding-top:0!important}.pr-2xl-0,.px-2xl-0{padding-right:0!important}.pb-2xl-0,.py-2xl-0{padding-bottom:0!important}.pl-2xl-0,.px-2xl-0{padding-left:0!important}.p-2xl-1{padding:.25rem!important}.pt-2xl-1,.py-2xl-1{padding-top:.25rem!important}.pr-2xl-1,.px-2xl-1{padding-right:.25rem!important}.pb-2xl-1,.py-2xl-1{padding-bottom:.25rem!important}.pl-2xl-1,.px-2xl-1{padding-left:.25rem!important}.p-2xl-2{padding:.5rem!important}.pt-2xl-2,.py-2xl-2{padding-top:.5rem!important}.pr-2xl-2,.px-2xl-2{padding-right:.5rem!important}.pb-2xl-2,.py-2xl-2{padding-bottom:.5rem!important}.pl-2xl-2,.px-2xl-2{padding-left:.5rem!important}.p-2xl-3{padding:1rem!important}.pt-2xl-3,.py-2xl-3{padding-top:1rem!important}.pr-2xl-3,.px-2xl-3{padding-right:1rem!important}.pb-2xl-3,.py-2xl-3{padding-bottom:1rem!important}.pl-2xl-3,.px-2xl-3{padding-left:1rem!important}.p-2xl-4{padding:1.5rem!important}.pt-2xl-4,.py-2xl-4{padding-top:1.5rem!important}.pr-2xl-4,.px-2xl-4{padding-right:1.5rem!important}.pb-2xl-4,.py-2xl-4{padding-bottom:1.5rem!important}.pl-2xl-4,.px-2xl-4{padding-left:1.5rem!important}.p-2xl-5{padding:3rem!important}.pt-2xl-5,.py-2xl-5{padding-top:3rem!important}.pr-2xl-5,.px-2xl-5{padding-right:3rem!important}.pb-2xl-5,.py-2xl-5{padding-bottom:3rem!important}.pl-2xl-5,.px-2xl-5{padding-left:3rem!important}.m-2xl-n1{margin:-.25rem!important}.mt-2xl-n1,.my-2xl-n1{margin-top:-.25rem!important}.mr-2xl-n1,.mx-2xl-n1{margin-right:-.25rem!important}.mb-2xl-n1,.my-2xl-n1{margin-bottom:-.25rem!important}.ml-2xl-n1,.mx-2xl-n1{margin-left:-.25rem!important}.m-2xl-n2{margin:-.5rem!important}.mt-2xl-n2,.my-2xl-n2{margin-top:-.5rem!important}.mr-2xl-n2,.mx-2xl-n2{margin-right:-.5rem!important}.mb-2xl-n2,.my-2xl-n2{margin-bottom:-.5rem!important}.ml-2xl-n2,.mx-2xl-n2{margin-left:-.5rem!important}.m-2xl-n3{margin:-1rem!important}.mt-2xl-n3,.my-2xl-n3{margin-top:-1rem!important}.mr-2xl-n3,.mx-2xl-n3{margin-right:-1rem!important}.mb-2xl-n3,.my-2xl-n3{margin-bottom:-1rem!important}.ml-2xl-n3,.mx-2xl-n3{margin-left:-1rem!important}.m-2xl-n4{margin:-1.5rem!important}.mt-2xl-n4,.my-2xl-n4{margin-top:-1.5rem!important}.mr-2xl-n4,.mx-2xl-n4{margin-right:-1.5rem!important}.mb-2xl-n4,.my-2xl-n4{margin-bottom:-1.5rem!important}.ml-2xl-n4,.mx-2xl-n4{margin-left:-1.5rem!important}.m-2xl-n5{margin:-3rem!important}.mt-2xl-n5,.my-2xl-n5{margin-top:-3rem!important}.mr-2xl-n5,.mx-2xl-n5{margin-right:-3rem!important}.mb-2xl-n5,.my-2xl-n5{margin-bottom:-3rem!important}.ml-2xl-n5,.mx-2xl-n5{margin-left:-3rem!important}.m-2xl-auto{margin:auto!important}.mt-2xl-auto,.my-2xl-auto{margin-top:auto!important}.mr-2xl-auto,.mx-2xl-auto{margin-right:auto!important}.mb-2xl-auto,.my-2xl-auto{margin-bottom:auto!important}.ml-2xl-auto,.mx-2xl-auto{margin-left:auto!important}}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:#0000}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width: 576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1450px){.text-2xl-left{text-align:left!important}.text-2xl-right{text-align:right!important}.text-2xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold,cd-about dt{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#2b99a8!important}a.text-primary:focus,a.text-primary:hover{color:#1b626b!important}.text-secondary{color:#374249!important}a.text-secondary:focus,a.text-secondary:hover{color:#161b1d!important}.text-success{color:#0b0!important}a.text-success:focus,a.text-success:hover{color:#006f00!important}.text-info{color:#2b99a8!important}a.text-info:focus,a.text-info:hover{color:#1b626b!important}.text-warning{color:#ffc200!important}a.text-warning:focus,a.text-warning:hover{color:#b38800!important}.text-danger{color:#ef5c55!important}a.text-danger:focus,a.text-danger:hover{color:#e21f15!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#777!important}a.text-dark:focus,a.text-dark:hover{color:#515151!important}.text-accent{color:#ef5c55!important}a.text-accent:focus,a.text-accent:hover{color:#e21f15!important}.text-warning-dark{color:#fd7e14!important}a.text-warning-dark:focus,a.text-warning-dark:hover{color:#c35a02!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:#00000080!important}.text-white-50{color:#ffffff80!important}.text-hide{font:0/0 a;color:#0000;text-shadow:none;background-color:initial;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
+/*!
+Fork Awesome 1.1.7
+License - https://forkaweso.me/Fork-Awesome/license
+
+Copyright 2018 Dave Gandy & Fork Awesome
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */@font-face{font-family:ForkAwesome;src:url(forkawesome-webfont.e182ad6df04f9177b326.eot?v=1.1.7);src:url(forkawesome-webfont.e182ad6df04f9177b326.eot?#iefix&v=1.1.7) format("embedded-opentype"),url(forkawesome-webfont.7c20758e3e7c7dff7c8d.woff2?v=1.1.7) format("woff2"),url(forkawesome-webfont.2dfb5f36fc148e26e398.woff?v=1.1.7) format("woff"),url(forkawesome-webfont.ee4d8bfd0af89fc714a2.ttf?v=1.1.7) format("truetype"),url(forkawesome-webfont.86541105409e56d17291.svg?v=1.1.7#forkawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa,.fa-fw{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before,.fa-sync:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell-o:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-globe-e:before{content:""}.fa-globe-w:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-community:before,.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus-g:before,.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before,.fa-pound:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-desc:before,.fa-sort-alpha-up:before{content:""}.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-sort-amount-desc:before,.fa-sort-amount-up:before{content:""}.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-desc:before,.fa-sort-numeric-up:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before,.fa-closed-captioning:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before,.fa-gem:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-medium-square:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo-v:before,.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.fa-mastodon:before{content:""}.fa-mastodon-alt:before{content:""}.fa-fork-awesome:before,.fa-fork-circle:before{content:""}.fa-peertube:before{content:""}.fa-diaspora:before{content:""}.fa-friendica:before{content:""}.fa-gnu-social:before{content:""}.fa-liberapay-square:before{content:""}.fa-liberapay:before{content:""}.fa-scuttlebutt:before,.fa-ssb:before{content:""}.fa-hubzilla:before{content:""}.fa-social-home:before{content:""}.fa-artstation:before{content:""}.fa-discord:before{content:""}.fa-discord-alt:before{content:""}.fa-patreon:before{content:""}.fa-snowdrift:before{content:""}.fa-activitypub:before{content:""}.fa-ethereum:before{content:""}.fa-keybase:before{content:""}.fa-shaarli:before{content:""}.fa-shaarli-o:before{content:""}.fa-cut-key:before,.fa-key-modern:before{content:""}.fa-xmpp:before{content:""}.fa-archive-org:before{content:""}.fa-freedombox:before{content:""}.fa-facebook-messenger:before{content:""}.fa-debian:before{content:""}.fa-mastodon-square:before{content:""}.fa-tipeee:before{content:""}.fa-react:before{content:""}.fa-dogmazic:before{content:""}.fa-zotero:before{content:""}.fa-nodejs:before{content:""}.fa-nextcloud:before{content:""}.fa-nextcloud-square:before{content:""}.fa-hackaday:before{content:""}.fa-laravel:before{content:""}.fa-signalapp:before{content:""}.fa-gnupg:before{content:""}.fa-php:before{content:""}.fa-ffmpeg:before{content:""}.fa-joplin:before{content:""}.fa-syncthing:before{content:""}.fa-inkscape:before{content:""}.fa-matrix-org:before{content:""}.fa-pixelfed:before{content:""}.fa-bootstrap:before{content:""}.fa-dev-to:before{content:""}.fa-hashnode:before{content:""}.fa-jirafeau:before{content:""}.fa-emby:before{content:""}.fa-wikidata:before{content:""}.fa-gimp:before{content:""}.fa-c:before{content:""}.fa-digitalocean:before{content:""}.fa-att:before{content:""}.fa-gitea:before{content:""}.fa-file-epub:before{content:""}.fa-python:before{content:""}.fa-archlinux:before{content:""}.fa-pleroma:before{content:""}.fa-unsplash:before{content:""}.fa-hackster:before{content:""}.fa-spell-check:before{content:""}.fa-moon:before{content:""}.fa-sun:before{content:""}.fa-f-droid:before{content:""}.fa-biometric:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.info-card-popover-cluster-status{max-height:20vh;max-width:23vw}.info-card-popover-cluster-status .popover-body{font-size:1rem;max-height:19vh;max-width:100%;overflow:auto}@media (max-width: calc(1200px - 1px)){.info-card-popover-cluster-status{max-width:31vw}}@media (max-width: calc(992px - 1px)){.info-card-popover-cluster-status{max-width:46vw}}@media (max-width: calc(768px - 1px)){.info-card-popover-cluster-status{max-width:83vw}}.info-card-content-clickable{border:1px solid #e9ecef;border-radius:3px;cursor:pointer;padding:7px}.info-card-content-clickable:hover{background-color:#e9ecef;border-color:#ced4da}html{background-color:#fff}body,html{font-size:12px;height:100%;width:100%}option{font-style:normal;font-weight:400}mark{background-color:#ffc200;padding:0}.full-height{height:100vh}.full-width{width:100vw}.vertical-align{align-items:center;display:flex}.horizontal-align{display:flex;justify-content:center}.loading:not(cd-api-docs *){left:50%;position:absolute;top:50%}.margin-right-md{margin-right:15px}.no-border{border:0;box-shadow:0 0 0!important}.italic{font-style:italic}.bold{font-weight:700}.text-right{text-align:right}.text-monospace{font-family:monospace}.text-pre-wrap{white-space:pre-wrap}.text-pre{white-space:pre}.icon-danger-color{color:#ef5c55}.icon-warning-color{color:#ffc200}.border-warning{border-left:4px solid #ffc200}.border-danger{border-left:4px solid #ef5c55}.border-info{border-left:4px solid #2b99a8}.border-success{border-left:4px solid #0b0}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:initial}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#2b99a8;border-color:#2b99a8}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#adb5bd}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #2b99a840}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before{border-color:#76d0dc}.btn-light{background-color:#fff;border-color:#ced4da!important}.btn-light:hover{background-color:#dee2e6;border-color:#6c757d!important}.btn-light:disabled{background-color:#e9ecef;border-color:#ced4da!important}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:0}.btn.disabled{border:0;box-shadow:none}.btn-primary .badge{background-color:#e9ecef;color:#2b99a8}.btn-group>.btn>i.fa,.cd-datatable-actions button.btn i.fa{margin-right:5px}.card-footer button.btn:not(:first-child){margin-left:5px}.dropdown-menu{min-width:50px;z-index:999999}.dropdown-menu button.dropdown-item:focus{outline:none}.dropdown-menu>li>a{cursor:pointer}.dropdown-menu>li>a>i.fa{margin-right:5px}.dropdown-menu>.active>a{background-color:#2b99a8;color:#e9ecef}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#21747f}.dataTables_wrapper .dropdown-menu>li.dropdown-divider{cursor:auto}.required:after{color:#ef5c55;content:"*";font-size:1.167rem;padding-left:4px}.form-footer{display:flex;width:100%}.cd-form-control,.form-control{display:table-cell}.cd-form-control:focus,.form-control:focus{border-color:#2b99a8cc;box-shadow:0 0 3px 2px #2b99a880;outline:0}.custom-checkbox{padding-top:7px}cd-modal .modal{background-color:#0006;display:block}cd-modal .modal-dialog{max-width:70vh}.invalid-feedback{display:block}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{padding:0 30px}.ceph-icon{background:url(Ceph_Logo.487a0001b327fa7f5232.svg)}.prometheus-icon{background:url(prometheus_logo.8b3183e5a2db0e87bb2b.svg)}.custom-icon{background-clip:padding-box;background-repeat:no-repeat;background-size:contain;margin-right:8px;padding:10px}.nav-tabs{margin-bottom:1rem}#toast-container{margin-top:2vw}@media (max-width: 1600px){#toast-container{margin-top:2.5vw}}@media (max-width: calc(992px - 1px)){#toast-container{margin-top:9vw}}@media (max-width: 900px){#toast-container{margin-top:10vw}}@media (max-width: 319px){#toast-container{margin-top:11vw}}@media (max-width: 260px){#toast-container{margin-top:14vw}}.toast-message>ul{margin:0;padding-left:1rem}.noscript{padding-top:5em}@media (min-width: 576px){.cd-col-form-label,.col-form-label{text-align:right}}.cd-col-form-label,.col-form-label{font-weight:700}.password-strength-level{flex:100%;margin-top:2px}.password-strength-level .ok,.password-strength-level .strong,.password-strength-level .very-strong,.password-strength-level .weak{border-radius:.25rem;height:13px}.password-strength-level .weak{background:#ef5c55;width:25%}.password-strength-level .ok{background:#ffc200;width:50%}.password-strength-level .strong{background:#0b0;width:75%}.password-strength-level .very-strong{background:#006f00;width:100%}.badge-background-gray,.badge-hdd{background-color:#6c757d;color:#fff}.badge-background-primary,.badge-ssd{background-color:#2b99a8;color:#fff}.badge-tab{background-color:#e9ecef;color:#495057}tree-root tree-viewport{min-height:1em}tags-input .tags{border:1px solid #ced4da;border-radius:4px;box-shadow:inset 0 1px 1px #00000017}.card-header{font-size:1.3em}.card-body h2:first-child{margin-top:0}.disabled{pointer-events:none}.clickable,a{cursor:pointer}
\ No newline at end of file
<select id="{{ setting }}"
name="{{ setting }}"
*ngIf="limits['type'] === 'enum'"
- class="form-control custom-select"
+ class="form-control"
[formControlName]="setting">
<option [ngValue]="null"></option>
<option *ngFor="let opt of limits['values']"
i18n>Backstore</label>
<select id="backstore"
name="backstore"
- class="form-control custom-select"
+ class="form-control"
formControlName="backstore">
<option *ngFor="let bs of backstores"
[value]="bs">{{ bs | iscsiBackstore }}</option>
</label>
<select id="direction"
name="direction"
- class="form-control custom-select"
+ class="form-control"
formControlName="direction">
<option *ngFor="let direction of directions"
[value]="direction.key">{{ direction.desc }}</option>
</label>
<select id="mirrorMode"
name="mirrorMode"
- class="form-control custom-select"
+ class="form-control"
formControlName="mirrorMode">
<option *ngFor="let mirrorMode of mirrorModes"
[value]="mirrorMode.id">{{ mirrorMode.name }}</option>
*ngIf="mode === 'editing' || !poolPermission.read">
<select id="pool"
name="pool"
- class="form-control custom-select"
+ class="form-control"
formControlName="pool"
*ngIf="mode !== 'editing' && poolPermission.read">
<option *ngIf="pools === null"
*ngIf="mode === 'editing' || !poolPermission.read">
<select id="namespace"
name="namespace"
- class="form-control custom-select"
+ class="form-control"
formControlName="namespace"
*ngIf="mode !== 'editing' && poolPermission.read">
<option *ngIf="pools === null"
*ngIf="mode === 'editing' || !poolPermission.read">
<select id="dataPool"
name="dataPool"
- class="form-control custom-select"
+ class="form-control"
formControlName="dataPool"
(change)="onDataPoolChange($event.target.value)"
*ngIf="mode !== 'editing' && poolPermission.read">
<div class="cd-col-form-input">
<select id="obj_size"
name="obj_size"
- class="form-control custom-select"
+ class="form-control"
formControlName="obj_size">
<option *ngFor="let objectSize of objectSizes"
[value]="objectSize">{{ objectSize }}</option>
<div class="cd-col-form-input">
<select id="stripingUnit"
name="stripingUnit"
- class="form-control custom-select"
+ class="form-control"
formControlName="stripingUnit">
<option i18n
[ngValue]="null">-- Select stripe unit --</option>
*ngIf="!poolPermission.read">
<select id="pool"
name="pool"
- class="form-control custom-select"
+ class="form-control"
formControlName="pool"
*ngIf="poolPermission.read">
<option *ngIf="pools === null"
*ngIf="!poolPermission.read">
<select id="poolName"
name="poolName"
- class="form-control custom-select"
+ class="form-control"
formControlName="poolName"
*ngIf="poolPermission.read">
<option value=""
<div class="cd-col-form-input">
<select id="pool"
name="pool"
- class="form-control custom-select"
+ class="form-control"
[formControlName]="section">
<option [ngValue]="null"
i18n>-- Default --</option>
i18n>Daemons</a>
<ng-template ngbNavContent>
<cd-service-daemon-list [hostname]="selectedHostname"
- flag="hostDetails">
+ flag="hostDetails"
+ [hiddenColumns]="['hostname']">
</cd-service-daemon-list>
</ng-template>
</li>
<ng-template #servicesTpl
let-value="value">
- <span *ngFor="let service of value; last as isLast">
- <a class="service-link"
- [routerLink]="[service.cdLink]"
- [queryParams]="cdParams"
- *ngIf="service.canRead">{{ service.type }}.{{ service.id }}</a>
- <span *ngIf="!service.canRead">
- {{ service.type }}.{{ service.id }}
- </span>
- <ng-container *ngIf="!isLast">, </ng-container>
+ <span *ngFor="let instance of value; last as isLast">
+ <span class="badge badge-background-primary" >{{ instance }}</span>
+ <ng-container *ngIf="!isLast"> </ng-container>
</span>
</ng-template>
expect(spans[0].textContent).toBe(hostname);
});
+ it('should show the exact count of the repeating daemons', () => {
+ const hostname = 'ceph.dev';
+ const payload = [
+ {
+ services: [
+ {
+ type: 'mgr',
+ id: 'x'
+ },
+ {
+ type: 'mgr',
+ id: 'y'
+ },
+ {
+ type: 'osd',
+ id: '0'
+ },
+ {
+ type: 'osd',
+ id: '1'
+ },
+ {
+ type: 'osd',
+ id: '2'
+ },
+ {
+ type: 'rgw',
+ id: 'rgw'
+ }
+ ],
+ hostname: hostname,
+ labels: ['foo', 'bar']
+ }
+ ];
+
+ OrchestratorHelper.mockStatus(false);
+ hostListSpy.and.callFake(() => of(payload));
+ fixture.detectChanges();
+
+ component.getHosts(new CdTableFetchDataContext(() => undefined));
+ fixture.detectChanges();
+
+ const spans = fixture.debugElement.nativeElement.querySelectorAll(
+ '.datatable-body-cell-label span span.badge.badge-background-primary'
+ );
+ expect(spans[0].textContent).toContain('mgr: 2');
+ expect(spans[1].textContent).toContain('osd: 3');
+ expect(spans[2].textContent).toContain('rgw: 1');
+ });
+
it('should test if host facts are tranformed correctly if orch available', () => {
const features = [OrchestratorFeature.HOST_FACTS];
const payload = [
expect(spans[7].textContent).toBe('N/A');
});
+ it('should test if memory/raw capacity columns shows N/A if facts are available but in fetching state', () => {
+ const features = [OrchestratorFeature.HOST_FACTS];
+ let hostPayload: any[];
+ hostPayload = [
+ {
+ hostname: 'host_test',
+ services: [
+ {
+ type: 'osd',
+ id: '0'
+ }
+ ],
+ cpu_count: 2,
+ cpu_cores: 1,
+ memory_total_kb: undefined,
+ hdd_count: 4,
+ hdd_capacity_bytes: undefined,
+ flash_count: 4,
+ flash_capacity_bytes: undefined,
+ nic_count: 1
+ }
+ ];
+ OrchestratorHelper.mockStatus(true, features);
+ hostListSpy.and.callFake(() => of(hostPayload));
+ fixture.detectChanges();
+
+ component.getHosts(new CdTableFetchDataContext(() => undefined));
+ expect(component.hosts[0]['memory_total_bytes']).toEqual('N/A');
+ expect(component.hosts[0]['raw_capacity']).toEqual('N/A');
+ });
+
it('should show force maintenance modal when it is safe to stop host', () => {
const errorMsg = `WARNING: Stopping 1 out of 1 daemons in Grafana service.
Service will not be operational with no daemons left. At
import { OrchestratorStatus } from '~/app/shared/models/orchestrator.interface';
import { Permissions } from '~/app/shared/models/permissions';
import { DimlessBinaryPipe } from '~/app/shared/pipes/dimless-binary.pipe';
+import { EmptyPipe } from '~/app/shared/pipes/empty.pipe';
import { AuthStorageService } from '~/app/shared/services/auth-storage.service';
import { ModalService } from '~/app/shared/services/modal.service';
import { NotificationService } from '~/app/shared/services/notification.service';
constructor(
private authStorageService: AuthStorageService,
private dimlessBinary: DimlessBinaryPipe,
+ private emptyPipe: EmptyPipe,
private hostService: HostService,
private actionLabels: ActionLabelsI18n,
private modalService: ModalService,
flexGrow: 1
},
{
- name: $localize`Services`,
- prop: 'services',
- flexGrow: 2,
+ name: $localize`Service Instances`,
+ prop: 'service_instances',
+ flexGrow: 1,
cellTemplate: this.servicesTpl
},
{
transformHostsData() {
if (this.checkHostsFactsAvailable()) {
_.forEach(this.hosts, (hostKey) => {
- hostKey['memory_total_bytes'] = hostKey['memory_total_kb'] * 1024;
- hostKey['raw_capacity'] = hostKey['hdd_capacity_bytes'] + hostKey['flash_capacity_bytes'];
+ hostKey['memory_total_bytes'] = this.emptyPipe.transform(hostKey['memory_total_kb'] * 1024);
+ hostKey['raw_capacity'] = this.emptyPipe.transform(
+ hostKey['hdd_capacity_bytes'] + hostKey['flash_capacity_bytes']
+ );
});
} else {
// mark host facts columns unavailable
for (let column = 4; column < this.columns.length; column++) {
- this.columns[column]['prop'] = '';
this.columns[column]['cellTemplate'] = this.orchTmpl;
}
}
if (this.isLoadingHosts) {
return;
}
- const typeToPermissionKey = {
- mds: 'cephfs',
- mon: 'monitor',
- osd: 'osd',
- rgw: 'rgw',
- 'rbd-mirror': 'rbdMirroring',
- mgr: 'manager',
- 'tcmu-runner': 'iscsi'
- };
this.isLoadingHosts = true;
this.sub = this.orchService
.status()
}),
map((hostList: object[]) =>
hostList.map((host) => {
+ const counts = {};
+ host['service_instances'] = new Set<string>();
+ host['services'].forEach((service: any) => {
+ counts[service.type] = (counts[service.type] || 0) + 1;
+ });
host['services'].map((service: any) => {
- service.cdLink = `/perf_counters/${service.type}/${encodeURIComponent(service.id)}`;
- const permission = this.permissions[typeToPermissionKey[service.type]];
- service.canRead = permission ? permission.read : false;
- return service;
+ host['service_instances'].add(`${service.type}: ${counts[service.type]}`);
});
return host;
})
<p *ngFor="let line of clog">
<span class="timestamp">{{ line.stamp | cdDate }}</span>
<span class="priority {{ line.priority | logPriority }}">{{ line.priority }}</span>
- <span class="message">{{ line.message }}</span>
+ <span class="message"
+ [innerHTML]="line.message | searchHighlight: search"></span>
</p>
<ng-container *ngIf="clog.length != 0 else noEntriesTpl"></ng-container>
<p *ngFor="let line of audit_log">
<span class="timestamp">{{ line.stamp | cdDate }}</span>
<span class="priority {{ line.priority | logPriority }}">{{ line.priority }}</span>
- <span class="message">{{ line.message }}</span>
+ <span class="message"
+ [innerHTML]="line.message | searchHighlight: search"></span>
</p>
<ng-container *ngIf="audit_log.length != 0 else noEntriesTpl"></ng-container>
<label for="logs-priority"
i18n>Priority:</label>
<select id="logs-priority"
- class="form-control custom-select"
+ class="form-control"
[(ngModel)]="priority"
(ngModelChange)="filterLogs()">
<option *ngFor="let prio of priorities"
abstractFilters(): any {
const priority = this.priority;
- const key = this.search.toLowerCase().replace(/,/g, '');
-
+ const key = this.search.toLowerCase();
let yearMonthDay: string;
if (this.selectedDate) {
const m = this.selectedDate.month;
formControlName="{{ moduleOption.value.name }}"
*ngIf="moduleOption.value.enum_allowed.length === 0">
<select id="{{ moduleOption.value.name }}"
- class="form-control custom-select"
+ class="form-control"
formControlName="{{ moduleOption.value.name }}"
*ngIf="moduleOption.value.enum_allowed.length > 0">
<option *ngFor="let value of moduleOption.value.enum_allowed"
for="priority"
i18n>Priority</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
formControlName="priority"
id="priority"
(change)="onPriorityChange($event.target.value)">
const changeAction = (action: string) => {
const modes = {
add: '/monitoring/silences/add',
- alertAdd: '/monitoring/silences/add/someAlert',
+ alertAdd: '/monitoring/silences/add/alert0',
recreate: '/monitoring/silences/recreate/someExpiredId',
edit: '/monitoring/silences/edit/someNotExpiredId'
};
prometheus = new PrometheusHelper();
prometheusService = TestBed.inject(PrometheusService);
- spyOn(prometheusService, 'getAlerts').and.callFake(() =>
- of([prometheus.createAlert('alert0')])
- );
+ spyOn(prometheusService, 'getAlerts').and.callFake(() => {
+ const name = _.split(router.url, '/').pop();
+ return of([prometheus.createAlert(name)]);
+ });
ifPrometheusSpy = spyOn(prometheusService, 'ifPrometheusConfigured').and.callFake((fn) => fn());
rulesSpy = spyOn(prometheusService, 'getRules').and.callFake(() =>
of({
};
beforeEach(() => {
- spyOn(prometheusService, 'getSilences').and.callFake((p) =>
- of([prometheus.createSilence(p.id)])
- );
+ spyOn(prometheusService, 'getSilences').and.callFake(() => {
+ const id = _.split(router.url, '/').pop();
+ return of([prometheus.createSilence(id)]);
+ });
});
it('should have no special action activate by default', () => {
it('should be in edit action if route includes edit', () => {
params = { id: 'someNotExpiredId' };
expectMode('edit', true, false, 'Edit');
- expect(prometheusService.getSilences).toHaveBeenCalledWith(params);
+ expect(prometheusService.getSilences).toHaveBeenCalled();
expect(component.form.value).toEqual({
comment: `A comment for ${params.id}`,
createdBy: `Creator of ${params.id}`,
it('should be in recreation action if route includes recreate', () => {
params = { id: 'someExpiredId' };
expectMode('recreate', false, true, 'Recreate');
- expect(prometheusService.getSilences).toHaveBeenCalledWith(params);
+ expect(prometheusService.getSilences).toHaveBeenCalled();
expect(component.form.value).toEqual({
comment: `A comment for ${params.id}`,
createdBy: `Creator of ${params.id}`,
});
it('adds matchers based on the label object of the alert with the given id', () => {
- params = { id: 'someAlert' };
+ params = { id: 'alert0' };
expectMode('alertAdd', false, false, 'Create');
expect(prometheusService.getSilences).not.toHaveBeenCalled();
expect(prometheusService.getAlerts).toHaveBeenCalled();
return;
}
if (this.edit || this.recreate) {
- this.prometheusService.getSilences(params).subscribe((silences) => {
- this.fillFormWithSilence(silences[0]);
+ this.prometheusService.getSilences().subscribe((silences) => {
+ const silence = _.find(silences, ['id', params.id]);
+ if (!_.isUndefined(silence)) {
+ this.fillFormWithSilence(silence);
+ }
});
} else {
- this.prometheusService.getAlerts(params).subscribe((alerts) => {
- this.fillFormByAlert(alerts[0]);
+ this.prometheusService.getAlerts().subscribe((alerts) => {
+ const alert = _.find(alerts, ['fingerprint', params.id]);
+ if (!_.isUndefined(alert)) {
+ this.fillFormByAlert(alert);
+ }
});
}
});
<cd-orchestrator-doc-panel *ngIf="showDocPanel"></cd-orchestrator-doc-panel>
<div *ngIf="flag === 'hostDetails'; else serviceDetailsTpl">
- <cd-table *ngIf="hasOrchestrator"
- #daemonsTable
- [data]="daemons"
- [columns]="columns"
- columnMode="flex"
- (fetchData)="getDaemons($event)">
- </cd-table>
+ <ng-container *ngTemplateOutlet="serviceDaemonDetailsTpl"></ng-container>
</div>
<ng-template #serviceDetailsTpl>
<a ngbNavLink
i18n>Details</a>
<ng-template ngbNavContent>
- <cd-table *ngIf="hasOrchestrator"
- #daemonsTable
- [data]="daemons"
- selectionType="single"
- [columns]="columns"
- columnMode="flex"
- identifier="daemon_id"
- (fetchData)="getDaemons($event)"
- (updateSelection)="updateSelection($event)">
- <cd-table-actions id="service-daemon-list-actions"
- class="table-actions"
- [selection]="selection"
- [permission]="permissions.hosts"
- [tableActions]="tableActions">
- </cd-table-actions>
- </cd-table>
+ <ng-container *ngTemplateOutlet="serviceDaemonDetailsTpl"></ng-container>
</ng-template>
</li>
<li ngbNavItem="service_events">
</li>
</ul>
<ng-template #noEventsAvailable>
- <div *ngIf="events?.length === 0">
+ <div *ngIf="events?.length === 0"
+ class="list-group-item">
<span>No data available</span>
</div>
</ng-template>
</ng-template>
+
+<ng-template #serviceDaemonDetailsTpl>
+ <cd-table *ngIf="hasOrchestrator"
+ #daemonsTable
+ [data]="daemons"
+ selectionType="single"
+ [columns]="columns"
+ columnMode="flex"
+ identifier="daemon_name"
+ (fetchData)="getDaemons($event)"
+ (updateSelection)="updateSelection($event)">
+ <cd-table-actions id="service-daemon-list-actions"
+ class="table-actions"
+ [selection]="selection"
+ [permission]="permissions.hosts"
+ [tableActions]="tableActions">
+ </cd-table-actions>
+ </cd-table>
+</ng-template>
+
+<ng-template #cpuTpl
+ let-row="row">
+ <cd-usage-bar [total]="total"
+ [calculatePerc]="false"
+ [used]="row.cpu_percentage"
+ [isBinary]="false"
+ [warningThreshold]="warningThreshold"
+ [errorThreshold]="errorThreshold">
+ </cd-usage-bar>
+</ng-template>
daemon_type: 'osd',
daemon_name: 'osd.3',
version: '15.1.0-1174-g16a11f7',
+ memory_usage: '17.7',
+ cpu_percentage: '3.54%',
status: 1,
status_desc: 'running',
last_refresh: '2020-02-25T04:33:26.465699',
daemon_type: 'osd',
daemon_name: 'osd.4',
version: '15.1.0-1174-g16a11f7',
+ memory_usage: '17.7',
+ cpu_percentage: '3.54%',
status: 1,
status_desc: 'running',
last_refresh: '2020-02-25T04:33:26.465822',
daemon_type: 'osd',
daemon_name: 'osd.5',
version: '15.1.0-1174-g16a11f7',
+ memory_usage: '17.7',
+ cpu_percentage: '3.54%',
status: 1,
status_desc: 'running',
last_refresh: '2020-02-25T04:33:26.465886',
daemon_name: 'mon.a',
daemon_type: 'mon',
version: '15.1.0-1174-g16a11f7',
+ memory_usage: '17.7',
+ cpu_percentage: '3.54%',
status: 1,
status_desc: 'running',
last_refresh: '2020-02-25T04:33:26.465886',
import { OrchestratorService } from '~/app/shared/api/orchestrator.service';
import { ActionLabelsI18n } from '~/app/shared/constants/app.constants';
import { TableComponent } from '~/app/shared/datatable/table/table.component';
-import { CellTemplate } from '~/app/shared/enum/cell-template.enum';
import { Icons } from '~/app/shared/enum/icons.enum';
import { NotificationType } from '~/app/shared/enum/notification-type.enum';
import { CdTableAction } from '~/app/shared/models/cd-table-action';
import { Daemon } from '~/app/shared/models/daemon.interface';
import { Permissions } from '~/app/shared/models/permissions';
import { CephServiceSpec } from '~/app/shared/models/service.interface';
+import { DimlessBinaryPipe } from '~/app/shared/pipes/dimless-binary.pipe';
import { RelativeDatePipe } from '~/app/shared/pipes/relative-date.pipe';
import { AuthStorageService } from '~/app/shared/services/auth-storage.service';
import { NotificationService } from '~/app/shared/services/notification.service';
@ViewChild('listTpl', { static: true })
listTpl: TemplateRef<any>;
+ @ViewChild('cpuTpl', { static: true })
+ cpuTpl: TemplateRef<any>;
+
@ViewChildren('daemonsTable')
daemonsTableTpls: QueryList<TemplateRef<TableComponent>>;
@Input()
hostname?: string;
+ @Input()
+ hiddenColumns: string[] = [];
+
@Input()
flag?: string;
+ total = 100;
+
+ warningThreshold = 0.8;
+
+ errorThreshold = 0.9;
+
icons = Icons;
daemons: Daemon[] = [];
private cephServiceService: CephServiceService,
private orchService: OrchestratorService,
private relativeDatePipe: RelativeDatePipe,
+ private dimlessBinary: DimlessBinaryPipe,
public actionLabels: ActionLabelsI18n,
private authStorageService: AuthStorageService,
private daemonService: DaemonService,
filterable: true
},
{
- name: $localize`Daemon type`,
- prop: 'daemon_type',
+ name: $localize`Daemon name`,
+ prop: 'daemon_name',
flexGrow: 1,
filterable: true
},
- {
- name: $localize`Daemon ID`,
- prop: 'daemon_id',
- flexGrow: 1,
- filterable: true
- },
- {
- name: $localize`Container ID`,
- prop: 'container_id',
- flexGrow: 2,
- filterable: true,
- cellTransformation: CellTemplate.truncate,
- customTemplateConfig: {
- length: 12
- }
- },
- {
- name: $localize`Container Image name`,
- prop: 'container_image_name',
- flexGrow: 3,
- filterable: true
- },
- {
- name: $localize`Container Image ID`,
- prop: 'container_image_id',
- flexGrow: 2,
- filterable: true,
- cellTransformation: CellTemplate.truncate,
- customTemplateConfig: {
- length: 12
- }
- },
{
name: $localize`Version`,
prop: 'version',
pipe: this.relativeDatePipe,
flexGrow: 1
},
+ {
+ name: $localize`CPU Usage`,
+ prop: 'cpu_percentage',
+ flexGrow: 1,
+ cellTemplate: this.cpuTpl
+ },
+ {
+ name: $localize`Memory Usage`,
+ prop: 'memory_usage',
+ flexGrow: 1,
+ pipe: this.dimlessBinary,
+ cellClass: 'text-right'
+ },
{
name: $localize`Daemon Events`,
prop: 'events',
- flexGrow: 5,
+ flexGrow: 2,
cellTemplate: this.listTpl
}
];
this.hasOrchestrator = data.available;
this.showDocPanel = !data.available;
});
+
+ this.columns = this.columns.filter((col: any) => {
+ return !this.hiddenColumns.includes(col.prop);
+ });
}
ngOnChanges() {
<div class="cd-col-form-input">
<select id="service_type"
name="service_type"
- class="form-control custom-select"
+ class="form-control"
formControlName="service_type">
<option i18n
[ngValue]="null">-- Select a service type --</option>
<div class="cd-col-form-input">
<select id="backend_service"
name="backend_service"
- class="form-control custom-select"
+ class="form-control"
formControlName="backend_service"
(change)="prePopulateId()">
<option *ngIf="services === null"
i18n>Placement</label>
<div class="cd-col-form-input">
<select id="placement"
- class="form-control custom-select"
+ class="form-control"
formControlName="placement">
<option i18n
value="hosts">Hosts</option>
<div class="cd-col-form-input">
<select id="pool"
name="pool"
- class="form-control custom-select"
+ class="form-control"
formControlName="pool">
<option *ngIf="pools === null"
[ngValue]="null"
<div class="cd-col-form-input">
<select id="snmp_version"
name="snmp_version"
- class="form-control custom-select"
+ class="form-control"
formControlName="snmp_version"
(change)="clearValidations()">
<option i18n
<div class="cd-col-form-input">
<select id="auth_protocol"
name="auth_protocol"
- class="form-control custom-select"
+ class="form-control"
formControlName="auth_protocol">
<option i18n
[ngValue]="null">-- Select auth protocol --</option>
<div class="cd-col-form-input">
<select id="privacy_protocol"
name="privacy_protocol"
- class="form-control custom-select"
+ class="form-control"
formControlName="privacy_protocol">
<option i18n
[ngValue]="null">-- Select privacy protocol --</option>
</div>
<!-- ssl_key -->
- <div *ngIf="serviceForm.controls.ssl.value && serviceForm.controls.service_type.value !== 'rgw'"
+ <div *ngIf="serviceForm.controls.ssl.value && !(['rgw', 'ingress'].includes(serviceForm.controls.service_type.value))"
class="form-group row">
<label class="cd-col-form-label"
for="ssl_key">
formHelper.expectError('frontend_port', 'pattern');
formHelper.expectError('monitor_port', 'pattern');
});
+
+ it('should not show private key field with ssl enabled', () => {
+ formHelper.setValue('ssl', true);
+ fixture.detectChanges();
+ const ssl_key = fixture.debugElement.query(By.css('#ssl_key'));
+ expect(ssl_key).toBeNull();
+ });
+
+ it('should test .pem file with ssl enabled', () => {
+ const pemCert = `
+-----BEGIN CERTIFICATE-----
+iJ5IbgzlKPssdYwuAEI3yPZxX/g5vKBrgcyD3LttLL/DlElq/1xCnwVrv7WROSNu
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+mn/S7BNBEC7AGe5ajmN+8hBTGdACUXe8rwMNrtTy/MwBZ0VpJsAAjJh+aptZh5yB
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+x4Ea7kGVgx9kWh5XjWz9wjZvY49UKIT5ppIAWPMbLl3UpfckiuNhTA==
+-----END RSA PRIVATE KEY-----`;
+ formHelper.setValue('ssl', true);
+ formHelper.setValue('ssl_cert', pemCert);
+ fixture.detectChanges();
+ formHelper.expectValid('ssl_cert');
+ });
});
describe('should test service snmp-gateway', () => {
ssl: true
},
[Validators.required, CdValidators.sslCert()]
+ ),
+ CdValidators.composeIf(
+ {
+ service_type: 'ingress',
+ unmanaged: false,
+ ssl: true
+ },
+ [Validators.required, CdValidators.pemCert()]
)
]
],
class="cd-col-form-label"
for="access_type">Access Type</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
name="access_type"
id="access_type"
formControlName="access_type">
<ng-container *ngTemplateOutlet="squashHelperTpl"></ng-container>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
name="squash"
id="squash"
formControlName="squash">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
formControlName="cluster_id"
name="cluster_id"
id="cluster_id">
for="name"
i18n>Storage Backend</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
formControlName="name"
name="name"
id="name"
for="fs_name"
i18n>Volume</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
formControlName="fs_name"
name="fs_name"
id="fs_name"
for="access_type"
i18n>Access Type</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
formControlName="access_type"
name="access_type"
id="access_type"
<ng-container *ngTemplateOutlet="squashHelper"></ng-container>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
name="squash"
formControlName="squash"
id="squash">
<span class="required"></span>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="root"
name="root"
formControlName="root">
<span class="required"></span>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="failure_domain"
name="failure_domain"
formControlName="failure_domain">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="device_class"
name="device_class"
formControlName="device_class">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="plugin"
name="plugin"
formControlName="plugin">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="crushFailureDomain"
name="crushFailureDomain"
formControlName="crushFailureDomain">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="crushLocality"
name="crushLocality"
formControlName="crushLocality">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="scalar_mds"
name="scalar_mds"
formControlName="scalar_mds">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="technique"
name="technique"
formControlName="technique">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="crushRoot"
name="crushRoot"
formControlName="crushRoot">
</cd-helper>
</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="crushDeviceClass"
name="crushDeviceClass"
formControlName="crushDeviceClass">
for="poolType"
i18n>Pool type</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="poolType"
formControlName="poolType"
name="poolType">
class="cd-col-form-label"
for="pgAutoscaleMode">PG Autoscale</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="pgAutoscaleMode"
name="pgAutoscaleMode"
formControlName="pgAutoscaleMode">
for="erasureProfile">Erasure code profile</label>
<div class="cd-col-form-input">
<div class="input-group">
- <select class="form-control custom-select"
+ <select class="form-control"
id="erasureProfile"
name="erasureProfile"
formControlName="erasureProfile">
</ng-template>
<div *ngIf="current.rules.length > 0; else noRules">
<div class="input-group">
- <select class="form-control custom-select"
+ <select class="form-control"
id="crushRule"
formControlName="crushRule"
name="crushSet">
class="cd-col-form-label"
for="mode">Mode</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="mode"
name="mode"
formControlName="mode">
class="cd-col-form-label"
for="algorithm">Algorithm</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="algorithm"
name="algorithm"
formControlName="algorithm">
<div class="cd-col-form-input">
<select id="owner"
name="owner"
- class="form-control custom-select"
+ class="form-control"
formControlName="owner"
[autofocus]="editing">
<option i18n
<select id="placement-target"
name="placement-target"
formControlName="placement-target"
- class="form-control custom-select">
+ class="form-control">
<option i18n
*ngIf="placementTargets === null"
[ngValue]="null">Loading...</option>
for="lock_mode"
i18n>Mode</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
formControlName="lock_mode"
name="lock_mode"
id="lock_mode">
[readonly]="true"
formControlName="type">
<select id="type"
- class="form-control custom-select"
+ class="form-control"
formControlName="type"
*ngIf="!editing"
autofocus>
i18n>Permission</label>
<div class="cd-col-form-input">
<select id="perm"
- class="form-control custom-select"
+ class="form-control"
formControlName="perm">
<option i18n
[ngValue]="null">-- Select a permission --</option>
for="max_buckets_mode"
i18n>Max. buckets</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
formControlName="max_buckets_mode"
name="max_buckets_mode"
id="max_buckets_mode"
[readonly]="true"
formControlName="user">
<select id="user"
- class="form-control custom-select"
+ class="form-control"
formControlName="user"
*ngIf="!viewing"
autofocus>
i18n>Permission</label>
<div class="cd-col-form-input">
<select id="perm"
- class="form-control custom-select"
+ class="form-control"
formControlName="perm">
<option i18n
[ngValue]="null">-- Select a permission --</option>
for="project"
i18n>Project name</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="project"
formControlName="project">
<option ngValue=""
for="tracker"
i18n>Tracker</label>
<div class="cd-col-form-input">
- <select class="form-control custom-select"
+ <select class="form-control"
id="tracker"
formControlName="tracker">
<option ngValue=""
it(PgCategory.CATEGORY_WORKING, () => {
testMethod('clean+scrubbing', PgCategory.CATEGORY_WORKING);
+ testMethod('active+clean+snaptrim_wait', PgCategory.CATEGORY_WORKING);
testMethod(
' 8 active+clean+scrubbing+deep, 255 active+clean ',
PgCategory.CATEGORY_WORKING
private getPgStatesFromText(pgStatesText: string) {
const pgStates = pgStatesText
- .replace(/[^a-z]+/g, ' ')
+ .replace(/[^a-z_]+/g, ' ')
.trim()
.split(' ');
--- /dev/null
+{
+ "WDC_WD1003FBYX-01Y7B1_WD-WCAW11111111": {
+ "ata_sct_capabilities": {
+ "data_table_supported": true,
+ "error_recovery_control_supported": true,
+ "feature_control_supported": true,
+ "value": 12351
+ },
+ "ata_smart_attributes": {
+ "revision": 16,
+ "table": [
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": true,
+ "event_count": false,
+ "performance": true,
+ "prefailure": true,
+ "string": "POSR-K ",
+ "updated_online": true,
+ "value": 47
+ },
+ "id": 1,
+ "name": "Raw_Read_Error_Rate",
+ "raw": {
+ "string": "1",
+ "value": 1
+ },
+ "thresh": 51,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": false,
+ "performance": true,
+ "prefailure": true,
+ "string": "POS--K ",
+ "updated_online": true,
+ "value": 39
+ },
+ "id": 3,
+ "name": "Spin_Up_Time",
+ "raw": {
+ "string": "4250",
+ "value": 4250
+ },
+ "thresh": 21,
+ "value": 175,
+ "when_failed": "",
+ "worst": 172
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 4,
+ "name": "Start_Stop_Count",
+ "raw": {
+ "string": "1657",
+ "value": 1657
+ },
+ "thresh": 0,
+ "value": 99,
+ "when_failed": "",
+ "worst": 99
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": true,
+ "string": "PO--CK ",
+ "updated_online": true,
+ "value": 51
+ },
+ "id": 5,
+ "name": "Reallocated_Sector_Ct",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 140,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": true,
+ "event_count": false,
+ "performance": true,
+ "prefailure": false,
+ "string": "-OSR-K ",
+ "updated_online": true,
+ "value": 46
+ },
+ "id": 7,
+ "name": "Seek_Error_Rate",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 0,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 9,
+ "name": "Power_On_Hours",
+ "raw": {
+ "string": "15807",
+ "value": 15807
+ },
+ "thresh": 0,
+ "value": 79,
+ "when_failed": "",
+ "worst": 79
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 10,
+ "name": "Spin_Retry_Count",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 0,
+ "value": 100,
+ "when_failed": "",
+ "worst": 100
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 11,
+ "name": "Calibration_Retry_Count",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 0,
+ "value": 100,
+ "when_failed": "",
+ "worst": 100
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 12,
+ "name": "Power_Cycle_Count",
+ "raw": {
+ "string": "1370",
+ "value": 1370
+ },
+ "thresh": 0,
+ "value": 99,
+ "when_failed": "",
+ "worst": 99
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 192,
+ "name": "Power-Off_Retract_Count",
+ "raw": {
+ "string": "111",
+ "value": 111
+ },
+ "thresh": 0,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 193,
+ "name": "Load_Cycle_Count",
+ "raw": {
+ "string": "1545",
+ "value": 1545
+ },
+ "thresh": 0,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": false,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O---K ",
+ "updated_online": true,
+ "value": 34
+ },
+ "id": 194,
+ "name": "Temperature_Celsius",
+ "raw": {
+ "string": "47",
+ "value": 47
+ },
+ "thresh": 0,
+ "value": 100,
+ "when_failed": "",
+ "worst": 89
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 196,
+ "name": "Reallocated_Event_Count",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 0,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 197,
+ "name": "Current_Pending_Sector",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 0,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "----CK ",
+ "updated_online": false,
+ "value": 48
+ },
+ "id": 198,
+ "name": "Offline_Uncorrectable",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 0,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": true,
+ "error_rate": false,
+ "event_count": true,
+ "performance": false,
+ "prefailure": false,
+ "string": "-O--CK ",
+ "updated_online": true,
+ "value": 50
+ },
+ "id": 199,
+ "name": "UDMA_CRC_Error_Count",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 0,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ },
+ {
+ "flags": {
+ "auto_keep": false,
+ "error_rate": true,
+ "event_count": false,
+ "performance": false,
+ "prefailure": false,
+ "string": "---R-- ",
+ "updated_online": false,
+ "value": 8
+ },
+ "id": 200,
+ "name": "Multi_Zone_Error_Rate",
+ "raw": {
+ "string": "0",
+ "value": 0
+ },
+ "thresh": 0,
+ "value": 200,
+ "when_failed": "",
+ "worst": 200
+ }
+ ]
+ },
+ "ata_smart_data": {
+ "capabilities": {
+ "attribute_autosave_enabled": true,
+ "conveyance_self_test_supported": true,
+ "error_logging_supported": true,
+ "exec_offline_immediate_supported": true,
+ "gp_logging_supported": true,
+ "offline_is_aborted_upon_new_cmd": false,
+ "offline_surface_scan_supported": true,
+ "selective_self_test_supported": true,
+ "self_tests_supported": true,
+ "values": [
+ 123,
+ 3
+ ]
+ },
+ "offline_data_collection": {
+ "completion_seconds": 16500,
+ "status": {
+ "string": "was suspended by an interrupting command from host",
+ "value": 132
+ }
+ },
+ "self_test": {
+ "polling_minutes": {
+ "conveyance": 5,
+ "extended": 162,
+ "short": 2
+ },
+ "status": {
+ "passed": true,
+ "string": "completed without error",
+ "value": 0
+ }
+ }
+ },
+ "ata_smart_error_log": {
+ "summary": {
+ "count": 0,
+ "revision": 1
+ }
+ },
+ "ata_smart_selective_self_test_log": {
+ "flags": {
+ "remainder_scan_enabled": false,
+ "value": 0
+ },
+ "power_up_scan_resume_minutes": 0,
+ "revision": 1,
+ "table": [
+ {
+ "lba_max": 0,
+ "lba_min": 0,
+ "status": {
+ "string": "Not_testing",
+ "value": 0
+ }
+ },
+ {
+ "lba_max": 0,
+ "lba_min": 0,
+ "status": {
+ "string": "Not_testing",
+ "value": 0
+ }
+ },
+ {
+ "lba_max": 0,
+ "lba_min": 0,
+ "status": {
+ "string": "Not_testing",
+ "value": 0
+ }
+ },
+ {
+ "lba_max": 0,
+ "lba_min": 0,
+ "status": {
+ "string": "Not_testing",
+ "value": 0
+ }
+ },
+ {
+ "lba_max": 0,
+ "lba_min": 0,
+ "status": {
+ "string": "Not_testing",
+ "value": 0
+ }
+ }
+ ]
+ },
+ "ata_smart_self_test_log": {
+ "standard": {
+ "count": 0,
+ "revision": 1
+ }
+ },
+ "ata_version": {
+ "major_value": 510,
+ "minor_value": 0,
+ "string": "ATA8-ACS (minor revision not indicated)"
+ },
+ "device": {
+ "info_name": "/dev/sde [SAT]",
+ "name": "/dev/sde",
+ "protocol": "ATA",
+ "type": "sat"
+ },
+ "firmware_version": "01.01V02",
+ "in_smartctl_database": true,
+ "interface_speed": {
+ "current": {
+ "bits_per_unit": 100000000,
+ "sata_value": 2,
+ "string": "3.0 Gb/s",
+ "units_per_second": 30
+ },
+ "max": {
+ "bits_per_unit": 100000000,
+ "sata_value": 6,
+ "string": "3.0 Gb/s",
+ "units_per_second": 30
+ }
+ },
+ "json_format_version": [
+ 1,
+ 0
+ ],
+ "local_time": {
+ "asctime": "Mon Sep 2 12:39:01 2019 UTC",
+ "time_t": 1567427941
+ },
+ "logical_block_size": 512,
+ "model_family": "Western Digital RE4",
+ "model_name": "WDC WD1003FBYX-01Y7B1",
+ "nvme_smart_health_information_add_log_error": "nvme returned an error: sudo: exit status: 1",
+ "nvme_smart_health_information_add_log_error_code": -22,
+ "nvme_vendor": "wdc_wd1003fbyx-01y7b1",
+ "physical_block_size": 512,
+ "power_cycle_count": 1370,
+ "power_on_time": {
+ "hours": 15807
+ },
+ "rotation_rate": 7200,
+ "sata_version": {
+ "string": "SATA 3.0",
+ "value": 63
+ },
+ "serial_number": "WD-WCAW11111111",
+ "smart_status": {
+ "passed": true
+ },
+ "smartctl": {
+ "argv": [
+ "smartctl",
+ "-a",
+ "/dev/sde",
+ "--json"
+ ],
+ "build_info": "(SUSE RPM)",
+ "exit_status": 0,
+ "platform_info": "x86_64-linux-5.0.0-25-generic",
+ "svn_revision": "4917",
+ "version": [
+ 7,
+ 0
+ ]
+ },
+ "temperature": {
+ "current": 47
+ },
+ "user_capacity": {
+ "blocks": 1953525168,
+ "bytes": 1000204886016
+ },
+ "wwn": {
+ "id": 11601695629,
+ "naa": 5,
+ "oui": 5358
+ }
+ }
+}
+++ /dev/null
-{
- "WDC_WD1003FBYX-01Y7B1_WD-WCAW11111111": {
- "ata_sct_capabilities": {
- "data_table_supported": true,
- "error_recovery_control_supported": true,
- "feature_control_supported": true,
- "value": 12351
- },
- "ata_smart_attributes": {
- "revision": 16,
- "table": [
- {
- "flags": {
- "auto_keep": true,
- "error_rate": true,
- "event_count": false,
- "performance": true,
- "prefailure": true,
- "string": "POSR-K ",
- "updated_online": true,
- "value": 47
- },
- "id": 1,
- "name": "Raw_Read_Error_Rate",
- "raw": {
- "string": "1",
- "value": 1
- },
- "thresh": 51,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": false,
- "performance": true,
- "prefailure": true,
- "string": "POS--K ",
- "updated_online": true,
- "value": 39
- },
- "id": 3,
- "name": "Spin_Up_Time",
- "raw": {
- "string": "4250",
- "value": 4250
- },
- "thresh": 21,
- "value": 175,
- "when_failed": "",
- "worst": 172
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 4,
- "name": "Start_Stop_Count",
- "raw": {
- "string": "1657",
- "value": 1657
- },
- "thresh": 0,
- "value": 99,
- "when_failed": "",
- "worst": 99
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": true,
- "string": "PO--CK ",
- "updated_online": true,
- "value": 51
- },
- "id": 5,
- "name": "Reallocated_Sector_Ct",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 140,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": true,
- "event_count": false,
- "performance": true,
- "prefailure": false,
- "string": "-OSR-K ",
- "updated_online": true,
- "value": 46
- },
- "id": 7,
- "name": "Seek_Error_Rate",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 0,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 9,
- "name": "Power_On_Hours",
- "raw": {
- "string": "15807",
- "value": 15807
- },
- "thresh": 0,
- "value": 79,
- "when_failed": "",
- "worst": 79
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 10,
- "name": "Spin_Retry_Count",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 0,
- "value": 100,
- "when_failed": "",
- "worst": 100
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 11,
- "name": "Calibration_Retry_Count",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 0,
- "value": 100,
- "when_failed": "",
- "worst": 100
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 12,
- "name": "Power_Cycle_Count",
- "raw": {
- "string": "1370",
- "value": 1370
- },
- "thresh": 0,
- "value": 99,
- "when_failed": "",
- "worst": 99
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 192,
- "name": "Power-Off_Retract_Count",
- "raw": {
- "string": "111",
- "value": 111
- },
- "thresh": 0,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 193,
- "name": "Load_Cycle_Count",
- "raw": {
- "string": "1545",
- "value": 1545
- },
- "thresh": 0,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": false,
- "performance": false,
- "prefailure": false,
- "string": "-O---K ",
- "updated_online": true,
- "value": 34
- },
- "id": 194,
- "name": "Temperature_Celsius",
- "raw": {
- "string": "47",
- "value": 47
- },
- "thresh": 0,
- "value": 100,
- "when_failed": "",
- "worst": 89
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 196,
- "name": "Reallocated_Event_Count",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 0,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 197,
- "name": "Current_Pending_Sector",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 0,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "----CK ",
- "updated_online": false,
- "value": 48
- },
- "id": 198,
- "name": "Offline_Uncorrectable",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 0,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": true,
- "error_rate": false,
- "event_count": true,
- "performance": false,
- "prefailure": false,
- "string": "-O--CK ",
- "updated_online": true,
- "value": 50
- },
- "id": 199,
- "name": "UDMA_CRC_Error_Count",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 0,
- "value": 200,
- "when_failed": "",
- "worst": 200
- },
- {
- "flags": {
- "auto_keep": false,
- "error_rate": true,
- "event_count": false,
- "performance": false,
- "prefailure": false,
- "string": "---R-- ",
- "updated_online": false,
- "value": 8
- },
- "id": 200,
- "name": "Multi_Zone_Error_Rate",
- "raw": {
- "string": "0",
- "value": 0
- },
- "thresh": 0,
- "value": 200,
- "when_failed": "",
- "worst": 200
- }
- ]
- },
- "ata_smart_data": {
- "capabilities": {
- "attribute_autosave_enabled": true,
- "conveyance_self_test_supported": true,
- "error_logging_supported": true,
- "exec_offline_immediate_supported": true,
- "gp_logging_supported": true,
- "offline_is_aborted_upon_new_cmd": false,
- "offline_surface_scan_supported": true,
- "selective_self_test_supported": true,
- "self_tests_supported": true,
- "values": [
- 123,
- 3
- ]
- },
- "offline_data_collection": {
- "completion_seconds": 16500,
- "status": {
- "string": "was suspended by an interrupting command from host",
- "value": 132
- }
- },
- "self_test": {
- "polling_minutes": {
- "conveyance": 5,
- "extended": 162,
- "short": 2
- },
- "status": {
- "passed": true,
- "string": "completed without error",
- "value": 0
- }
- }
- },
- "ata_smart_error_log": {
- "summary": {
- "count": 0,
- "revision": 1
- }
- },
- "ata_smart_selective_self_test_log": {
- "flags": {
- "remainder_scan_enabled": false,
- "value": 0
- },
- "power_up_scan_resume_minutes": 0,
- "revision": 1,
- "table": [
- {
- "lba_max": 0,
- "lba_min": 0,
- "status": {
- "string": "Not_testing",
- "value": 0
- }
- },
- {
- "lba_max": 0,
- "lba_min": 0,
- "status": {
- "string": "Not_testing",
- "value": 0
- }
- },
- {
- "lba_max": 0,
- "lba_min": 0,
- "status": {
- "string": "Not_testing",
- "value": 0
- }
- },
- {
- "lba_max": 0,
- "lba_min": 0,
- "status": {
- "string": "Not_testing",
- "value": 0
- }
- },
- {
- "lba_max": 0,
- "lba_min": 0,
- "status": {
- "string": "Not_testing",
- "value": 0
- }
- }
- ]
- },
- "ata_smart_self_test_log": {
- "standard": {
- "count": 0,
- "revision": 1
- }
- },
- "ata_version": {
- "major_value": 510,
- "minor_value": 0,
- "string": "ATA8-ACS (minor revision not indicated)"
- },
- "device": {
- "info_name": "/dev/sde [SAT]",
- "name": "/dev/sde",
- "protocol": "ATA",
- "type": "sat"
- },
- "firmware_version": "01.01V02",
- "in_smartctl_database": true,
- "interface_speed": {
- "current": {
- "bits_per_unit": 100000000,
- "sata_value": 2,
- "string": "3.0 Gb/s",
- "units_per_second": 30
- },
- "max": {
- "bits_per_unit": 100000000,
- "sata_value": 6,
- "string": "3.0 Gb/s",
- "units_per_second": 30
- }
- },
- "json_format_version": [
- 1,
- 0
- ],
- "local_time": {
- "asctime": "Mon Sep 2 12:39:01 2019 UTC",
- "time_t": 1567427941
- },
- "logical_block_size": 512,
- "model_family": "Western Digital RE4",
- "model_name": "WDC WD1003FBYX-01Y7B1",
- "nvme_smart_health_information_add_log_error": "nvme returned an error: sudo: exit status: 1",
- "nvme_smart_health_information_add_log_error_code": -22,
- "nvme_vendor": "wdc_wd1003fbyx-01y7b1",
- "physical_block_size": 512,
- "power_cycle_count": 1370,
- "power_on_time": {
- "hours": 15807
- },
- "rotation_rate": 7200,
- "sata_version": {
- "string": "SATA 3.0",
- "value": 63
- },
- "serial_number": "WD-WCAW11111111",
- "smart_status": {
- "passed": true
- },
- "smartctl": {
- "argv": [
- "smartctl",
- "-a",
- "/dev/sde",
- "--json"
- ],
- "build_info": "(SUSE RPM)",
- "exit_status": 0,
- "platform_info": "x86_64-linux-5.0.0-25-generic",
- "svn_revision": "4917",
- "version": [
- 7,
- 0
- ]
- },
- "temperature": {
- "current": 47
- },
- "user_capacity": {
- "blocks": 1953525168,
- "bytes": 1000204886016
- },
- "wwn": {
- "id": 11601695629,
- "naa": 5,
- "oui": 5358
- }
- }
-}
--- /dev/null
+{
+ "WDC_WUH721818AL5204_012345689": {
+ "device": {
+ "info_name": "/dev/sdf",
+ "name": "/dev/sdf",
+ "protocol": "SCSI",
+ "type": "scsi"
+ },
+ "device_type": {
+ "name": "disk",
+ "scsi_value": 0
+ },
+ "form_factor": {
+ "name": "3.5 inches",
+ "scsi_value": 2
+ },
+ "json_format_version": [
+ 1,
+ 0
+ ],
+ "local_time": {
+ "asctime": "Sun May 8 14:21:11 2022 UTC",
+ "time_t": 1652019671
+ },
+ "logical_block_size": 512,
+ "model_name": "WDC WUH721818AL5204",
+ "nvme_smart_health_information_add_log_error": "nvme returned an error: sudo: exit status: 231",
+ "nvme_smart_health_information_add_log_error_code": -22,
+ "nvme_vendor": "wdc",
+ "physical_block_size": 4096,
+ "power_on_time": {
+ "hours": 1719,
+ "minutes": 55
+ },
+ "product": "WUH721818AL5204",
+ "revision": "C232",
+ "rotation_rate": 7200,
+ "scsi_error_counter_log": {
+ "read": {
+ "correction_algorithm_invocations": 1001,
+ "errors_corrected_by_eccdelayed": 0,
+ "errors_corrected_by_eccfast": 0,
+ "errors_corrected_by_rereads_rewrites": 0,
+ "gigabytes_processed": "8519.006",
+ "total_errors_corrected": 0,
+ "total_uncorrected_errors": 0
+ },
+ "verify": {
+ "correction_algorithm_invocations": 261,
+ "errors_corrected_by_eccdelayed": 0,
+ "errors_corrected_by_eccfast": 0,
+ "errors_corrected_by_rereads_rewrites": 0,
+ "gigabytes_processed": "0.000",
+ "total_errors_corrected": 0,
+ "total_uncorrected_errors": 0
+ },
+ "write": {
+ "correction_algorithm_invocations": 25720,
+ "errors_corrected_by_eccdelayed": 0,
+ "errors_corrected_by_eccfast": 0,
+ "errors_corrected_by_rereads_rewrites": 0,
+ "gigabytes_processed": "146241.629",
+ "total_errors_corrected": 0,
+ "total_uncorrected_errors": 0
+ }
+ },
+ "scsi_grown_defect_list": 0,
+ "scsi_version": "SPC-5",
+ "serial_number": "0123456789",
+ "smart_status": {
+ "passed": true
+ },
+ "smartctl": {
+ "argv": [
+ "smartctl",
+ "-x",
+ "--json=o",
+ "/dev/sdf"
+ ],
+ "build_info": "(local build)",
+ "exit_status": 0,
+ "output": [
+ "smartctl 7.1 2020-04-05 r5049 [x86_64-linux-4.18.0-348.2.1.el8_5.x86_64] (local build)",
+ "Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org",
+ "",
+ "=== START OF INFORMATION SECTION ===",
+ "Vendor: WDC",
+ "Product: WUH721818AL5204",
+ "Revision: C232",
+ "Compliance: SPC-5",
+ "User Capacity: 18,000,207,937,536 bytes [18.0 TB]",
+ "Logical block size: 512 bytes",
+ "Physical block size: 4096 bytes",
+ "LU is fully provisioned",
+ "Rotation Rate: 7200 rpm",
+ "Form Factor: 3.5 inches",
+ "Logical Unit id: 0xffffffffffffffffffffffff",
+ "Serial number: 0123456789",
+ "Device type: disk",
+ "Transport protocol: SAS (SPL-3)",
+ "Local Time is: Sun May 8 14:21:11 2022 UTC",
+ "SMART support is: Available - device has SMART capability.",
+ "SMART support is: Enabled",
+ "Temperature Warning: Enabled",
+ "Read Cache is: Enabled",
+ "Writeback Cache is: Enabled",
+ "",
+ "=== START OF READ SMART DATA SECTION ===",
+ "SMART Health Status: OK",
+ "",
+ "Grown defects during certification <not available>",
+ "Total blocks reassigned during format <not available>",
+ "Total new blocks reassigned <not available>",
+ "Power on minutes since format <not available>",
+ "Current Drive Temperature: 38 C",
+ "Drive Trip Temperature: 85 C",
+ "",
+ "Manufactured in week 43 of year 2021",
+ "Specified cycle count over device lifetime: 50000",
+ "Accumulated start-stop cycles: 9",
+ "Specified load-unload count over device lifetime: 600000",
+ "Accumulated load-unload cycles: 74",
+ "Elements in grown defect list: 0",
+ "",
+ "Error counter log:",
+ " Errors Corrected by Total Correction Gigabytes Total",
+ " ECC rereads/ errors algorithm processed uncorrected",
+ " fast | delayed rewrites corrected invocations [10^9 bytes] errors",
+ "read: 0 0 0 0 1001 8519.006 0",
+ "write: 0 0 0 0 25720 146241.629 0",
+ "verify: 0 0 0 0 261 0.000 0",
+ "",
+ "Non-medium error count: 0",
+ "",
+ "No Self-tests have been logged",
+ "",
+ "Background scan results log",
+ " Status: waiting until BMS interval timer expires",
+ " Accumulated power on time, hours:minutes 1719:55 [103195 minutes]",
+ " Number of background scans performed: 5, scan progress: 0.00%",
+ " Number of background medium scans performed: 5",
+ "",
+ "Protocol Specific port log page for SAS SSP",
+ "relative target port id = 1",
+ " generation code = 3",
+ " number of phys = 1",
+ " phy identifier = 0",
+ " attached device type: expander device",
+ " attached reason: loss of dword synchronization",
+ " reason: unknown",
+ " negotiated logical link rate: phy enabled; 12 Gbps",
+ " attached initiator port: ssp=0 stp=0 smp=1",
+ " attached target port: ssp=0 stp=0 smp=1",
+ " SAS address = 0xffffffffffffffffffffffff",
+ " attached SAS address = 0xffffffffffffffffffffffff",
+ " attached phy identifier = 0",
+ " Invalid DWORD count = 0",
+ " Running disparity error count = 0",
+ " Loss of DWORD synchronization = 0",
+ " Phy reset problem = 0",
+ " Phy event descriptors:",
+ " Invalid word count: 0",
+ " Running disparity error count: 0",
+ " Loss of dword synchronization count: 0",
+ " Phy reset problem count: 0",
+ "relative target port id = 2",
+ " generation code = 3",
+ " number of phys = 1",
+ " phy identifier = 1",
+ " attached device type: expander device",
+ " attached reason: power on",
+ " reason: unknown",
+ " negotiated logical link rate: phy enabled; 12 Gbps",
+ " attached initiator port: ssp=0 stp=0 smp=1",
+ " attached target port: ssp=0 stp=0 smp=1",
+ " SAS address = 0xffffffffffffffffffffffff",
+ " attached SAS address = 0xffffffffffffffffffffffff",
+ " attached phy identifier = 0",
+ " Invalid DWORD count = 0",
+ " Running disparity error count = 0",
+ " Loss of DWORD synchronization = 0",
+ " Phy reset problem = 0",
+ " Phy event descriptors:",
+ " Invalid word count: 0",
+ " Running disparity error count: 0",
+ " Loss of dword synchronization count: 0",
+ " Phy reset problem count: 0",
+ ""
+ ],
+ "platform_info": "x86_64-linux-4.18.0-348.2.1.el8_5.x86_64",
+ "svn_revision": "5049",
+ "version": [
+ 7,
+ 1
+ ]
+ },
+ "temperature": {
+ "current": 38,
+ "drive_trip": 85
+ },
+ "user_capacity": {
+ "blocks": 35156656128,
+ "bytes": 18000207937536
+ },
+ "vendor": "WDC"
+ }
+ }
+
\ No newline at end of file
[data]="device.value.smart.attributes.table"
updateSelectionOnRefresh="never"
[columns]="smartDataColumns"></cd-table>
+ <cd-table-key-value *ngIf="device.value.smart?.scsi_error_counter_log"
+ [renderObjects]="true"
+ [data]="device.value.smart"
+ updateSelectionOnRefresh="never"></cd-table-key-value>
<cd-table-key-value *ngIf="device.value.smart?.nvmeData"
[renderObjects]="true"
[data]="device.value.smart.nvmeData"
updateSelectionOnRefresh="never"></cd-table-key-value>
- <cd-alert-panel *ngIf="!device.value.smart?.attributes && !device.value.smart?.nvmeData"
+ <cd-alert-panel *ngIf="!device.value.smart?.attributes && !device.value.smart?.nvmeData && !device.value.smart?.scsi_error_counter_log"
id="alert-device-smart-data-unavailable"
type="info"
i18n>No SMART data available for this device.</cd-alert-panel>
import { of } from 'rxjs';
import { OsdService } from '~/app/shared/api/osd.service';
-import { HddSmartDataV1, NvmeSmartDataV1, SmartDataResult } from '~/app/shared/models/smart';
+import {
+ AtaSmartDataV1,
+ IscsiSmartDataV1,
+ NvmeSmartDataV1,
+ SmartDataResult
+} from '~/app/shared/models/smart';
import { SharedModule } from '~/app/shared/shared.module';
import { configureTestBed } from '~/testing/unit-test-helper';
import { SmartListComponent } from './smart-list.component';
let fixture: ComponentFixture<SmartListComponent>;
let osdService: OsdService;
- const SMART_DATA_HDD_VERSION_1_0: HddSmartDataV1 = require('./fixtures/smart_data_version_1_0_hdd_response.json');
+ const SMART_DATA_ATA_VERSION_1_0: AtaSmartDataV1 = require('./fixtures/smart_data_version_1_0_ata_response.json');
const SMART_DATA_NVME_VERSION_1_0: NvmeSmartDataV1 = require('./fixtures/smart_data_version_1_0_nvme_response.json');
+ const SMART_DATA_SCSI_VERSION_1_0: IscsiSmartDataV1 = require('./fixtures/smart_data_version_1_0_scsi_response.json');
/**
* Sets attributes for _all_ returned devices according to the given path. The syntax is the same
*/
const patchData = (path: string, newValue: any): any => {
return _.reduce(
- _.cloneDeep(SMART_DATA_HDD_VERSION_1_0),
+ _.cloneDeep(SMART_DATA_ATA_VERSION_1_0),
(result: object, dataObj, deviceId) => {
result[deviceId] = _.set<any>(dataObj, path, newValue);
return result;
* of `OsdService`. Determines which data is returned.
*/
const initializeComponentWithData = (
- dataType: 'hdd_v1' | 'nvme_v1',
+ dataType: 'hdd_v1' | 'nvme_v1' | 'hdd_v1_scsi',
patch: { [path: string]: any } = null,
simpleChanges?: SimpleChanges
) => {
- let data: HddSmartDataV1 | NvmeSmartDataV1;
+ let data: AtaSmartDataV1 | NvmeSmartDataV1 | IscsiSmartDataV1;
switch (dataType) {
case 'hdd_v1':
- data = SMART_DATA_HDD_VERSION_1_0;
+ data = SMART_DATA_ATA_VERSION_1_0;
break;
case 'nvme_v1':
data = SMART_DATA_NVME_VERSION_1_0;
break;
+ case 'hdd_v1_scsi':
+ data = SMART_DATA_SCSI_VERSION_1_0;
+ break;
}
if (_.isObject(patch)) {
expect(component).toBeTruthy();
});
- describe('tests HDD version 1.x', () => {
+ describe('tests ATA version 1.x', () => {
beforeEach(() => initializeComponentWithData('hdd_v1'));
it('should return with proper keys', () => {
});
});
+ describe('tests SCSI version 1.x', () => {
+ beforeEach(() => initializeComponentWithData('hdd_v1_scsi'));
+
+ it('should return with proper keys', () => {
+ _.each(component.data, (smartData, _deviceId) => {
+ expect(_.keys(smartData)).toEqual(['info', 'smart', 'device', 'identifier']);
+ });
+ });
+
+ it('should not contain excluded keys in `info`', () => {
+ const excludes = ['scsi_error_counter_log', 'scsi_grown_defect_list'];
+ _.each(component.data, (smartData: SmartDataResult, _deviceId) => {
+ _.each(excludes, (exclude) => expect(smartData.info[exclude]).toBeUndefined());
+ });
+ });
+ });
+
it('should not work for version 2.x', () => {
initializeComponentWithData('nvme_v1', { json_format_version: [2, 0] });
expect(component.data).toEqual({});
import { OsdService } from '~/app/shared/api/osd.service';
import { CdTableColumn } from '~/app/shared/models/cd-table-column';
import {
- HddSmartDataV1,
+ AtaSmartDataV1,
+ IscsiSmartDataV1,
NvmeSmartDataV1,
SmartDataResult,
SmartError,
data: { [deviceId: string]: SmartDataResult | SmartErrorResult } = {};
smartDataColumns: CdTableColumn[];
+ scsiSmartDataColumns: CdTableColumn[];
isEmpty = _.isEmpty;
return _.get(data, 'device.protocol', '').toLowerCase() === 'nvme';
}
- isHddSmartData(data: any): data is HddSmartDataV1 {
+ isAtaSmartData(data: any): data is AtaSmartDataV1 {
return _.get(data, 'device.protocol', '').toLowerCase() === 'ata';
}
+ isIscsiSmartData(data: any): data is IscsiSmartDataV1 {
+ return _.get(data, 'device.protocol', '').toLowerCase() === 'scsi';
+ }
+
private fetchData(data: any) {
const result: { [deviceId: string]: SmartDataResult | SmartErrorResult } = {};
_.each(data, (smartData, deviceId) => {
result[deviceId] = _result;
return;
}
-
// Prepare S.M.A.R.T data
if (smartData.json_format_version[0] === 1) {
// Version 1.x
- if (this.isHddSmartData(smartData)) {
- result[deviceId] = this.extractHddData(smartData);
+ if (this.isAtaSmartData(smartData)) {
+ result[deviceId] = this.extractAtaData(smartData);
+ } else if (this.isIscsiSmartData(smartData)) {
+ result[deviceId] = this.extractIscsiData(smartData);
} else if (this.isNvmeSmartData(smartData)) {
result[deviceId] = this.extractNvmeData(smartData);
}
}
private extractNvmeData(smartData: NvmeSmartDataV1): SmartDataResult {
- const info = _.omitBy(smartData, (_value, key) =>
+ const info = _.omitBy(smartData, (_value: string, key: string) =>
['nvme_smart_health_information_log'].includes(key)
);
return {
};
}
- private extractHddData(smartData: HddSmartDataV1): SmartDataResult {
- const info = _.omitBy(smartData, (_value, key) =>
+ private extractIscsiData(smartData: IscsiSmartDataV1): SmartDataResult {
+ const info = _.omitBy(smartData, (_value: string, key: string) =>
+ ['scsi_error_counter_log', 'scsi_grown_defect_list'].includes(key)
+ );
+ return {
+ info: info,
+ smart: {
+ scsi_error_counter_log: smartData.scsi_error_counter_log,
+ scsi_grown_defect_list: smartData.scsi_grown_defect_list
+ },
+ device: info.device.name,
+ identifier: info.serial_number
+ };
+ }
+
+ private extractAtaData(smartData: AtaSmartDataV1): SmartDataResult {
+ const info = _.omitBy(smartData, (_value: string, key: string) =>
['ata_smart_attributes', 'ata_smart_selective_self_test_log', 'ata_smart_data'].includes(key)
);
return {
{ prop: 'when_failed', name: $localize`When Failed` },
{ prop: 'worst', name: $localize`Worst` }
];
+
+ this.scsiSmartDataColumns = [
+ {
+ prop: 'correction_algorithm_invocations',
+ name: $localize`Correction Algorithm Invocations`
+ },
+ {
+ prop: 'errors_corrected_by_eccdelayed',
+ name: $localize`Errors Corrected by ECC (Delayed)`
+ },
+ { prop: 'errors_corrected_by_eccfast', name: $localize`Errors Corrected by ECC (Fast)` },
+ {
+ prop: 'errors_corrected_by_rereads_rewrites',
+ name: $localize`Errors Corrected by Rereads/Rewrites`
+ },
+ { prop: 'gigabytes_processed', name: $localize`Gigabyes Processed` },
+ { prop: 'total_errors_corrected', name: $localize`Total Errors Corrected` },
+ { prop: 'total_uncorrected_errors', name: $localize`Total Errors Uncorrected` }
+ ];
}
ngOnChanges(changes: SimpleChanges): void {
</header>
<section>
<div class="container">
- <div class="row full-height vertical-align">
- <div class="col-sm-12 col-md-6 d-sm-block">
+ <div class="row full-height">
+ <div class="col-sm-12 col-md-6 d-sm-block login-form">
<router-outlet></router-outlet>
</div>
- <div class="col-sm-12 col-md-6 d-sm-block">
+ <div class="col-sm-12 col-md-6 d-sm-block branding-info">
<img src="assets/Ceph_Ceph_Logo_with_text_white.svg"
alt="Ceph"
- class="img-fluid">
+ class="img-fluid pb-3">
<ul class="list-inline">
<li class="list-inline-item p-3"
*ngFor="let docItem of docItems">
i18n-docText></cd-doc>
</li>
</ul>
+ <cd-custom-login-banner></cd-custom-login-banner>
</div>
</div>
</div>
}
.list-inline {
- margin-bottom: 20%;
+ margin-bottom: 0;
margin-left: 20%;
}
color: vv.$fg-hover-color-over-dark-bg;
}
}
+
+ @media screen and (min-width: vv.$screen-sm-min) {
+ .login-form,
+ .branding-info {
+ padding-top: 30vh;
+ }
+ }
+ @media screen and (max-width: vv.$screen-sm-max) {
+ .login-form {
+ padding-top: 10vh;
+ }
+
+ .branding-info {
+ padding-top: 0;
+ }
+ }
}
--- /dev/null
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+import { TestBed } from '@angular/core/testing';
+
+import { configureTestBed } from '~/testing/unit-test-helper';
+import { CustomLoginBannerService } from './custom-login-banner.service';
+
+describe('CustomLoginBannerService', () => {
+ let service: CustomLoginBannerService;
+ let httpTesting: HttpTestingController;
+ const baseUiURL = 'ui-api/login/custom_banner';
+
+ configureTestBed({
+ providers: [CustomLoginBannerService],
+ imports: [HttpClientTestingModule]
+ });
+
+ beforeEach(() => {
+ service = TestBed.inject(CustomLoginBannerService);
+ httpTesting = TestBed.inject(HttpTestingController);
+ });
+
+ afterEach(() => {
+ httpTesting.verify();
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+
+ it('should call getBannerText', () => {
+ service.getBannerText().subscribe();
+ const req = httpTesting.expectOne(baseUiURL);
+ expect(req.request.method).toBe('GET');
+ });
+});
--- /dev/null
+import { HttpClient } from '@angular/common/http';
+import { Injectable } from '@angular/core';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class CustomLoginBannerService {
+ baseUiURL = 'ui-api/login/custom_banner';
+
+ constructor(private http: HttpClient) {}
+
+ getBannerText() {
+ return this.http.get<string>(this.baseUiURL);
+ }
+}
const devices = _.flatMap(hosts, (host) => {
return host.devices.map((device) => {
device.hostname = host.name;
- device.uid = device.device_id ? device.device_id : `${device.hostname}-${device.path}`;
+ device.uid = device.device_id
+ ? `${device.device_id}-${device.hostname}-${device.path}`
+ : `${device.hostname}-${device.path}`;
return device;
});
});
let httpTesting: HttpTestingController;
let selectDaemonSpy: jasmine.Spy;
- const daemonList = RgwHelper.getDaemonList();
+ const daemonList: Array<RgwDaemon> = RgwHelper.getDaemonList();
const retrieveDaemonList = (reqDaemonList: RgwDaemon[], daemon: RgwDaemon) => {
service
.request((params) => of(params))
expect(selectDaemonSpy).toHaveBeenCalledTimes(1);
expect(selectDaemonSpy).toHaveBeenCalledWith(noDefaultDaemonList[0]);
}));
+
+ it('should update default daemon if not exist in daemon list', fakeAsync(() => {
+ const tmpDaemonList = [...daemonList];
+ service.selectDaemon(tmpDaemonList[1]); // Select 'default' daemon.
+ tmpDaemonList.splice(1, 1); // Remove 'default' daemon.
+ tmpDaemonList[0].default = true; // Set new 'default' daemon.
+ service.list().subscribe();
+ const testReq = httpTesting.expectOne('api/rgw/daemon');
+ testReq.flush(tmpDaemonList);
+ expect(service['selectedDaemon'].getValue()).toEqual(tmpDaemonList[0]);
+ }));
});
return this.http.get<RgwDaemon[]>(this.url).pipe(
tap((daemons: RgwDaemon[]) => {
this.daemons.next(daemons);
- if (_.isEmpty(this.selectedDaemon.getValue())) {
+ const selectedDaemon = this.selectedDaemon.getValue();
+ // Set or re-select the default daemon if the current one is not
+ // in the list anymore.
+ if (_.isEmpty(selectedDaemon) || undefined === _.find(daemons, { id: selectedDaemon.id })) {
this.selectDefaultDaemon(daemons);
}
})
import { ConfirmationModalComponent } from './confirmation-modal/confirmation-modal.component';
import { Copy2ClipboardButtonComponent } from './copy2clipboard-button/copy2clipboard-button.component';
import { CriticalConfirmationModalComponent } from './critical-confirmation-modal/critical-confirmation-modal.component';
+import { CustomLoginBannerComponent } from './custom-login-banner/custom-login-banner.component';
import { DateTimePickerComponent } from './date-time-picker/date-time-picker.component';
import { DocComponent } from './doc/doc.component';
import { DownloadButtonComponent } from './download-button/download-button.component';
DownloadButtonComponent,
FormButtonPanelComponent,
MotdComponent,
- WizardComponent
+ WizardComponent,
+ CustomLoginBannerComponent
],
providers: [],
exports: [
DownloadButtonComponent,
FormButtonPanelComponent,
MotdComponent,
- WizardComponent
+ WizardComponent,
+ CustomLoginBannerComponent
]
})
export class ComponentsModule {}
--- /dev/null
+<p class="login-text"
+ *ngIf="bannerText$ | async as bannerText">{{ bannerText }}</p>
--- /dev/null
+.login-text {
+ font-weight: bold;
+ margin: 0;
+ padding: 12px 20% 12px 12px;
+}
--- /dev/null
+import { HttpClientTestingModule } from '@angular/common/http/testing';
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { configureTestBed } from '~/testing/unit-test-helper';
+import { CustomLoginBannerComponent } from './custom-login-banner.component';
+
+describe('CustomLoginBannerComponent', () => {
+ let component: CustomLoginBannerComponent;
+ let fixture: ComponentFixture<CustomLoginBannerComponent>;
+
+ configureTestBed({
+ declarations: [CustomLoginBannerComponent],
+ imports: [HttpClientTestingModule]
+ });
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(CustomLoginBannerComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
--- /dev/null
+import { Component, OnInit } from '@angular/core';
+
+import _ from 'lodash';
+import { Observable } from 'rxjs';
+
+import { CustomLoginBannerService } from '~/app/shared/api/custom-login-banner.service';
+
+@Component({
+ selector: 'cd-custom-login-banner',
+ templateUrl: './custom-login-banner.component.html',
+ styleUrls: ['./custom-login-banner.component.scss']
+})
+export class CustomLoginBannerComponent implements OnInit {
+ bannerText$: Observable<string>;
+ constructor(private customLoginBannerService: CustomLoginBannerService) {}
+
+ ngOnInit(): void {
+ this.bannerText$ = this.customLoginBannerService.getBannerText();
+ }
+}
[formControlName]="field.name"
cdDimlessBinary>
<select *ngIf="field.type === 'select'"
- class="form-control custom-select"
+ class="form-control"
[id]="field.name"
[formControlName]="field.name">
<option *ngIf="field?.typeConfig?.placeholder"
<div ngbDropdown
+ display="dynamic"
placement="bottom-right">
<a ngbDropdownToggle
i18n-title
i18n>Refresh</label>
<select id="refreshInterval"
name="refreshInterval"
- class="form-control custom-select"
+ class="form-control"
(change)="changeRefreshInterval($event.target.value)"
[(ngModel)]="selectedInterval">
<option *ngFor="let key of intervalKeys"
<td class="text-left">Used: </td>
<td class="text-right"><strong> {{ isBinary ? (used | dimlessBinary) : (used | dimless) }}</strong></td>
</tr>
- <tr>
+ <tr *ngIf="calculatePerc">
<td class="text-left">Free: </td>
<td class="'text-right"><strong>{{ isBinary ? (total - used | dimlessBinary) : (total - used | dimless) }}</strong></td>
</tr>
@Input()
total: number;
@Input()
- used: number;
+ used: any;
@Input()
warningThreshold: number;
@Input()
isBinary = true;
@Input()
decimals = 0;
+ @Input()
+ calculatePerc = true;
usedPercentage: number;
freePercentage: number;
ngOnChanges() {
- this.usedPercentage = this.total > 0 ? (this.used / this.total) * 100 : 0;
- this.freePercentage = 100 - this.usedPercentage;
+ if (this.calculatePerc) {
+ this.usedPercentage = this.total > 0 ? (this.used / this.total) * 100 : 0;
+ this.freePercentage = 100 - this.usedPercentage;
+ } else {
+ if (this.used) {
+ this.used = this.used.slice(0, -1);
+ this.usedPercentage = Number(this.used);
+ this.freePercentage = 100 - this.usedPercentage;
+ } else {
+ this.usedPercentage = 0;
+ }
+ }
}
}
equalStorageConfig();
});
+ it('should toggle on off columns', () => {
+ for (const column of component.columns) {
+ component.toggleColumn(column);
+ expect(column.isHidden).toBeTruthy();
+ component.toggleColumn(column);
+ expect(column.isHidden).toBeFalsy();
+ }
+ });
+
afterEach(() => {
clearLocalStorage();
});
expect(executingElement.nativeElement.textContent.trim()).toBe(`(${state})`);
};
- it.only('should display executing template', () => {
+ it('should display executing template', () => {
testExecutingTemplate();
});
- it.only('should display executing template with custom classes', () => {
+ it('should display executing template with custom classes', () => {
testExecutingTemplate({ valueClass: 'a b', executingClass: 'c d' });
});
});
+ describe('test unselect functionality of rows', () => {
+ beforeEach(() => {
+ component.autoReload = -1;
+ component.selectionType = 'single';
+ fixture.detectChanges();
+ });
+
+ it('should unselect row on clicking on it again', () => {
+ const rowCellDebugElement = fixture.debugElement.query(By.css('datatable-body-cell'));
+
+ rowCellDebugElement.triggerEventHandler('click', null);
+ expect(component.selection.selected.length).toEqual(1);
+
+ rowCellDebugElement.triggerEventHandler('click', null);
+ expect(component.selection.selected.length).toEqual(0);
+ });
+ });
+
describe('reload data', () => {
beforeEach(() => {
component.ngOnInit();
} else {
this.useData();
}
+
+ if (this.selectionType === 'single') {
+ this.table.selectCheck = this.singleSelectCheck.bind(this);
+ }
}
initUserConfig() {
if (!this.userConfig.columns) {
this.updateUserColumns();
} else {
- this.localColumns.forEach((c, i) => {
- c.isHidden = this.userConfig.columns[i].isHidden;
+ this.userConfig.columns.forEach((col) => {
+ for (let i = 0; i < this.localColumns.length; i++) {
+ if (this.localColumns[i].prop === col.prop) {
+ this.localColumns[i].isHidden = col.isHidden;
+ }
+ }
});
}
}
if (this.updateSelectionOnRefresh === 'never') {
return;
}
- const newSelected: any[] = [];
+ const newSelected = new Set();
this.selection.selected.forEach((selectedItem) => {
for (const row of this.data) {
if (selectedItem[this.identifier] === row[this.identifier]) {
- newSelected.push(row);
+ newSelected.add(row);
}
}
});
+ const newSelectedArray = Array.from(newSelected.values());
if (
this.updateSelectionOnRefresh === 'onChange' &&
- _.isEqual(this.selection.selected, newSelected)
+ _.isEqual(this.selection.selected, newSelectedArray)
) {
return;
}
- this.selection.selected = newSelected;
+ this.selection.selected = newSelectedArray;
this.onSelect(this.selection);
}
this.updateSelection.emit(_.clone(this.selection));
}
+ private singleSelectCheck(row: any) {
+ return this.selection.selected.indexOf(row) === -1;
+ }
+
toggleColumn(column: CdTableColumn) {
const prop: TableColumnProp = column.prop;
const hide = !column.isHidden;
user_capacity: { blocks: number; bytes: number };
}
+export interface RVWAttributes {
+ correction_algorithm_invocations: number;
+ errors_corrected_by_eccdelayed: number;
+ errors_corrected_by_eccfast: number;
+ errors_corrected_by_rereads_rewrites: number;
+ gigabytes_processed: number;
+ total_errors_corrected: number;
+ total_uncorrected_errors: number;
+}
+
+/**
+ * Result structure of `smartctl` applied on an SCSI. Returned by the back-end.
+ */
+export interface IscsiSmartDataV1 extends SmartCtlBaseDataV1 {
+ scsi_error_counter_log: {
+ read: RVWAttributes[];
+ };
+ scsi_grown_defect_list: number;
+}
+
/**
* Result structure of `smartctl` applied on an HDD. Returned by the back-end.
*/
-export interface HddSmartDataV1 extends SmartCtlBaseDataV1 {
+export interface AtaSmartDataV1 extends SmartCtlBaseDataV1 {
ata_sct_capabilities: {
data_table_supported: boolean;
error_recovery_control_supported: boolean;
* contain the structure for a HDD, NVMe or an error.
*/
export interface SmartDataResponseV1 {
- [deviceId: string]: HddSmartDataV1 | NvmeSmartDataV1 | SmartError;
+ [deviceId: string]: AtaSmartDataV1 | NvmeSmartDataV1 | SmartError;
}
/**
attributes?: any;
data?: any;
nvmeData?: any;
+ scsi_error_counter_log?: any;
+ scsi_grown_defect_list?: any;
};
}
})
export class EmptyPipe implements PipeTransform {
transform(value: any): any {
- return _.isUndefined(value) || _.isNull(value) ? '-' : value;
+ if (_.isUndefined(value) || _.isNull(value)) {
+ return '-';
+ } else if (_.isNaN(value)) {
+ return 'N/A';
+ }
+ return value;
}
}
import { RelativeDatePipe } from './relative-date.pipe';
import { RoundPipe } from './round.pipe';
import { SanitizeHtmlPipe } from './sanitize-html.pipe';
+import { SearchHighlightPipe } from './search-highlight.pipe';
import { TruncatePipe } from './truncate.pipe';
import { UpperFirstPipe } from './upper-first.pipe';
DurationPipe,
MapPipe,
TruncatePipe,
- SanitizeHtmlPipe
+ SanitizeHtmlPipe,
+ SearchHighlightPipe
],
exports: [
ArrayPipe,
DurationPipe,
MapPipe,
TruncatePipe,
- SanitizeHtmlPipe
+ SanitizeHtmlPipe,
+ SearchHighlightPipe
],
providers: [
ArrayPipe,
--- /dev/null
+import { TestBed } from '@angular/core/testing';
+
+import { configureTestBed } from '~/testing/unit-test-helper';
+import { SearchHighlightPipe } from './search-highlight.pipe';
+
+describe('SearchHighlightPipe', () => {
+ let pipe: SearchHighlightPipe;
+
+ configureTestBed({
+ providers: [SearchHighlightPipe]
+ });
+
+ beforeEach(() => {
+ pipe = TestBed.inject(SearchHighlightPipe);
+ });
+
+ it('create an instance', () => {
+ expect(pipe).toBeTruthy();
+ });
+
+ it('transforms with a matching keyword ', () => {
+ const value = 'overall HEALTH_WARN Dashboard debug mode is enabled';
+ const args = 'Dashboard';
+ const expected = 'overall HEALTH_WARN <mark>Dashboard</mark> debug mode is enabled';
+
+ expect(pipe.transform(value, args)).toEqual(expected);
+ });
+
+ it('transforms with a matching keyword having regex character', () => {
+ const value = 'loreum ipsum .? dolor sit amet';
+ const args = '.?';
+ const expected = 'loreum ipsum <mark>.?</mark> dolor sit amet';
+
+ expect(pipe.transform(value, args)).toEqual(expected);
+ });
+
+ it('transforms with empty search keyword', () => {
+ const value = 'overall HEALTH_WARN Dashboard debug mode is enabled';
+ expect(pipe.transform(value, '')).toBe(value);
+ });
+});
--- /dev/null
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({
+ name: 'searchHighlight'
+})
+export class SearchHighlightPipe implements PipeTransform {
+ transform(value: string, args: string): string {
+ if (!args) {
+ return value;
+ }
+ args = this.escapeRegExp(args);
+ const regex = new RegExp(args, 'gi');
+ const match = value.match(regex);
+
+ if (!match) {
+ return value;
+ }
+
+ return value.replace(regex, '<mark>$&</mark>');
+ }
+
+ private escapeRegExp(str: string) {
+ // $& means the whole matched string
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
+ }
+}
font-weight: normal;
}
+mark {
+ background-color: vv.$yellow;
+ padding: 0;
+}
+
.full-height {
height: 100vh;
}
import time
from typing import TYPE_CHECKING, Optional
+from .services.custom_banner import get_login_banner_mgr, \
+ set_login_banner_mgr, unset_login_banner_mgr
+
if TYPE_CHECKING:
if sys.version_info >= (3, 8):
from typing import Literal
else:
from typing_extensions import Literal
-from mgr_module import CLIWriteCommand, HandleCommandResult, MgrModule, \
- MgrStandbyModule, NotifyType, Option, _get_localized_key
+from mgr_module import CLIReadCommand, CLIWriteCommand, HandleCommandResult, \
+ MgrModule, MgrStandbyModule, NotifyType, Option, _get_localized_key
from mgr_util import ServerConfigException, build_url, \
create_self_signed_cert, get_default_addr, verify_tls_files
return 0, 'RGW credentials configured', ''
+ @CLIWriteCommand("dashboard set-login-banner")
+ def set_login_banner(self, mgr_id: Optional[str] = None, inbuf: Optional[str] = None):
+ item_label = 'login banner file'
+ if inbuf is None:
+ return HandleCommandResult(
+ -errno.EINVAL,
+ stderr=f'Please specify the {item_label} with "-i" option'
+ )
+ set_login_banner_mgr(inbuf, mgr_id)
+ return HandleCommandResult(stdout=f'{item_label} added')
+
+ @CLIReadCommand("dashboard get-login-banner")
+ def get_login_banner(self):
+ banner_text = get_login_banner_mgr()
+ if banner_text is None:
+ return HandleCommandResult(stdout='No login banner set')
+ else:
+ return HandleCommandResult(stdout=banner_text)
+
+ @CLIWriteCommand("dashboard unset-login-banner")
+ def unset_login_banner(self):
+ unset_login_banner_mgr()
+ return HandleCommandResult(stdout='Login banner removed')
+
def handle_command(self, inbuf, cmd):
# pylint: disable=too-many-return-statements
res = handle_option_command(cmd, inbuf)
prettytable
pytest
pyyaml
+natsort
# thus it is not relevant for us which daemon we are using.
# NOTE: the list may contain daemons that are 'down' or 'destroyed'.
for daemon in device['daemons']:
- svc_type, svc_id = daemon.split('.')
+ svc_type, svc_id = daemon.split('.', 1)
if 'osd' in svc_type:
if daemon not in osd_daemons_up:
continue
--- /dev/null
+import logging
+from typing import Optional
+
+from mgr_module import _get_localized_key
+
+from .. import mgr
+
+logger = logging.getLogger(__name__)
+
+
+def set_login_banner_mgr(inbuf: str, mgr_id: Optional[str] = None):
+ item_key = 'custom_login_banner'
+ if mgr_id is not None:
+ mgr.set_store(_get_localized_key(mgr_id, item_key), inbuf)
+ else:
+ mgr.set_store(item_key, inbuf)
+
+
+def get_login_banner_mgr():
+ banner_text = mgr.get_store('custom_login_banner')
+ logger.info('Reading custom login banner: %s', banner_text)
+ return banner_text
+
+
+def unset_login_banner_mgr():
+ mgr.set_store('custom_login_banner', None)
+ logger.info('Removing custom login banner')
cherrypy.response.headers['Content-Type'] = 'application/json'
cherrypy.response.status = getattr(error, 'status', 400)
return json.dumps(serialize_dashboard_exception(error)).encode('utf-8')
+ except cherrypy.HTTPRedirect:
+ # No internal errors
+ raise
except Exception as error:
logger.exception('Internal Server Error')
raise error
raise DashboardException(
msg=content_message, component=component)
raise DashboardException(e=e, component=component)
+
+
+@contextmanager
+def handle_error(component, http_status_code=None):
+ try:
+ yield
+ except Exception as e: # pylint: disable=broad-except
+ raise DashboardException(e, component=component, http_status_code=http_status_code)
self.assertStatus(200)
self.assertBody(b'"404"')
+ @patch('dashboard.controllers.grafana.GrafanaRestClient.url_validation')
+ def test_validation_endpoint_fails(self, url_validation):
+ url_validation.side_effect = RequestException
+ self.server_settings()
+ self._get('/api/grafana/validation/bar')
+ self.assertStatus(400)
+ self.assertJsonBody({'detail': '', 'code': 'Error', 'component': 'grafana'})
+
def test_dashboards_unavailable_no_url(self):
self.server_settings(url="")
self._post('/api/grafana/dashboards')
self.sleep_interval = 0.0
def is_valid_daemon_name(self, who: str) -> bool:
- parts = who.split('.')
+ parts = who.split('.', 1)
if len(parts) != 2:
return False
return parts[0] in ('osd', 'mon')
import logging
from typing import Any, Optional
from mgr_module import MgrModule, NotifyType
-from ceph.deployment.service_spec import ServiceSpec
+from orchestrator._interface import MDSSpec, ServiceSpec
import orchestrator
import copy
return completion.result[0]
return None
- def update_daemon_count(self, spec: ServiceSpec, fs_name: str, abscount: int) -> ServiceSpec:
+ def update_daemon_count(self, spec: ServiceSpec, fs_name: str, abscount: int) -> MDSSpec:
ps = copy.deepcopy(spec.placement)
ps.count = abscount
- newspec = ServiceSpec(service_type=spec.service_type,
- service_id=spec.service_id,
- placement=ps)
+ newspec = MDSSpec(service_type=spec.service_type,
+ service_id=spec.service_id,
+ placement=ps)
return newspec
def get_required_standby_count(self, fs_map: dict, fs_name: str) -> int:
HandlerFuncType = Callable[..., Tuple[int, str, str]]
+def _extract_target_func(
+ f: HandlerFuncType
+) -> Tuple[HandlerFuncType, Dict[str, Any]]:
+ """In order to interoperate with other decorated functions,
+ we need to find the original function which will provide
+ the main set of arguments. While we descend through the
+ stack of wrapped functions, gather additional arguments
+ the decorators may want to provide.
+ """
+ # use getattr to keep mypy happy
+ wrapped = getattr(f, "__wrapped__", None)
+ if not wrapped:
+ return f, {}
+ extra_args = {}
+ while wrapped is not None:
+ extra_args.update(getattr(f, "extra_args", {}))
+ f = wrapped
+ wrapped = getattr(f, "__wrapped__", None)
+ return f, extra_args
+
class CLICommand(object):
COMMANDS = {} # type: Dict[str, CLICommand]
KNOWN_ARGS = '_', 'self', 'mgr', 'inbuf', 'return'
- @staticmethod
- def load_func_metadata(f: HandlerFuncType) -> Tuple[str, Dict[str, Any], int, str]:
+ @classmethod
+ def _load_func_metadata(cls: Any, f: HandlerFuncType) -> Tuple[str, Dict[str, Any], int, str]:
+ f, extra_args = _extract_target_func(f)
desc = (inspect.getdoc(f) or '').replace('\n', ' ')
full_argspec = inspect.getfullargspec(f)
arg_spec = full_argspec.annotations
args = []
positional = True
for index, arg in enumerate(full_argspec.args):
- if arg in CLICommand.KNOWN_ARGS:
+ if arg in cls.KNOWN_ARGS:
continue
if arg == '_end_positional_':
positional = False
dict(name=arg),
has_default,
positional))
+ for argname, argtype in extra_args.items():
+ # avoid shadowing args from the function
+ if argname in arg_spec:
+ continue
+ arg_spec[argname] = argtype
+ args.append(CephArgtype.to_argdesc(
+ argtype, dict(name=arg), has_default=True, positional=False
+ ))
return desc, arg_spec, first_default, ' '.join(args)
def store_func_metadata(self, f: HandlerFuncType) -> None:
self.desc, self.arg_spec, self.first_default, self.args = \
- self.load_func_metadata(f)
+ self._load_func_metadata(f)
def __call__(self, func: HandlerFuncType) -> HandlerFuncType:
self.store_func_metadata(func)
return self._ceph_remove_mds_perf_query(query_id)
@API.expose
+
+ def reregister_mds_perf_queries(self) -> None:
+ """
+ Re-register MDS perf queries.
+ """
+ return self._ceph_reregister_mds_perf_queries()
+
def get_mds_perf_counters(self, query_id: int) -> Optional[Dict[str, List[PerfCounterT]]]:
"""
Get stats collected for an MDS perf query.
from orchestrator import NoOrchestrator
from mgr_module import NFS_POOL_NAME as POOL_NAME, NFS_GANESHA_SUPPORTED_FSALS
-from .export_utils import GaneshaConfParser, Export, RawBlock, CephFSFSAL, RGWFSAL
+from .ganesha_conf import (
+ CephFSFSAL,
+ Export,
+ GaneshaConfParser,
+ RGWFSAL,
+ RawBlock,
+ format_block)
from .exception import NFSException, NFSInvalidOperation, FSNotFound
from .utils import (
CONF_PREFIX,
self.pool, self.namespace, obj)
# Add created obj url to common config obj
- ioctx.append(config_obj, GaneshaConfParser.write_block(
+ ioctx.append(config_obj, format_block(
self._create_url_block(obj)).encode('utf-8'))
_check_rados_notify(ioctx, config_obj)
log.debug("Added %s url to %s", obj, config_obj)
except ObjectNotFound:
return None
- def update_obj(self, conf_block: str, obj: str, config_obj: str) -> None:
+ def update_obj(self, conf_block: str, obj: str, config_obj: str,
+ should_notify: Optional[bool] = True) -> None:
with self.rados.open_ioctx(self.pool) as ioctx:
ioctx.set_namespace(self.namespace)
ioctx.write_full(obj, conf_block.encode('utf-8'))
log.debug("write configuration into rados object %s/%s/%s",
self.pool, self.namespace, obj)
- _check_rados_notify(ioctx, config_obj)
+ if should_notify:
+ _check_rados_notify(ioctx, config_obj)
log.debug("Update export %s in %s", obj, config_obj)
def remove_obj(self, obj: str, config_obj: str) -> None:
if isinstance(export.fsal, CephFSFSAL):
fsal = cast(CephFSFSAL, export.fsal)
assert fsal.fs_name
-
- # is top-level or any client rw?
- rw = export.access_type.lower() == 'rw'
- for c in export.clients:
- if c.access_type.lower() == 'rw':
- rw = True
- break
-
fsal.user_id = f"nfs.{export.cluster_id}.{export.export_id}"
fsal.cephx_key = self._create_user_key(
- export.cluster_id, fsal.user_id, export.path, fsal.fs_name, not rw
+ export.cluster_id, fsal.user_id, export.path, fsal.fs_name
)
log.debug("Successfully created user %s for cephfs path %s", fsal.user_id, export.path)
def _save_export(self, cluster_id: str, export: Export) -> None:
self.exports[cluster_id].append(export)
self._rados(cluster_id).write_obj(
- GaneshaConfParser.write_block(export.to_export_block()),
+ format_block(export.to_export_block()),
export_obj_name(export.export_id),
conf_obj_name(export.cluster_id)
)
log.exception("Export ID: %s not found", ex_id)
return None
- def _update_export(self, cluster_id: str, export: Export) -> None:
+ def _update_export(self, cluster_id: str, export: Export,
+ need_nfs_service_restart: bool) -> None:
self.exports[cluster_id].append(export)
self._rados(cluster_id).update_obj(
- GaneshaConfParser.write_block(export.to_export_block()),
- export_obj_name(export.export_id), conf_obj_name(export.cluster_id))
+ format_block(export.to_export_block()),
+ export_obj_name(export.export_id), conf_obj_name(export.cluster_id),
+ should_notify=not need_nfs_service_restart)
+ if need_nfs_service_restart:
+ restart_nfs_service(self.mgr, export.cluster_id)
@export_cluster_checker
def create_export(self, addr: Optional[List[str]] = None, **kwargs: Any) -> Tuple[int, str, str]:
self,
cluster_id: str,
path: str,
- access_type: str,
fs_name: str,
user_id: str
) -> None:
osd_cap = 'allow rw pool={} namespace={}, allow rw tag cephfs data={}'.format(
self.rados_pool, cluster_id, fs_name)
- access_type = 'r' if access_type == 'RO' else 'rw'
-
+ # NFS-Ganesha can dynamically enforce an export's access type changes, but Ceph server
+ # daemons can't dynamically enforce changes in Ceph user caps of the Ceph clients. To
+ # allow dynamic updates of CephFS NFS exports, always set FSAL Ceph user's MDS caps with
+ # path restricted read-write access. Rely on the ganesha servers to enforce the export
+ # access type requested for the NFS clients.
self.mgr.check_mon_command({
'prefix': 'auth caps',
'entity': f'client.{user_id}',
- 'caps': ['mon', 'allow r', 'osd', osd_cap, 'mds', 'allow {} path={}'.format(
- access_type, path)],
+ 'caps': ['mon', 'allow r', 'osd', osd_cap, 'mds', 'allow rw path={}'.format(path)],
})
log.info("Export user updated %s", user_id)
entity: str,
path: str,
fs_name: str,
- fs_ro: bool
) -> str:
osd_cap = 'allow rw pool={} namespace={}, allow rw tag cephfs data={}'.format(
self.rados_pool, cluster_id, fs_name)
- access_type = 'r' if fs_ro else 'rw'
nfs_caps = [
'mon', 'allow r',
'osd', osd_cap,
- 'mds', 'allow {} path={}'.format(access_type, path)
+ 'mds', 'allow rw path={}'.format(path)
]
ret, out, err = self.mgr.mon_command({
self._save_export(cluster_id, new_export)
return 0, f'Added export {new_export.pseudo}', ''
+ need_nfs_service_restart = True
if old_export.fsal.name != new_export.fsal.name:
raise NFSInvalidOperation('FSAL change not allowed')
if old_export.pseudo != new_export.pseudo:
self._update_user_id(
cluster_id,
new_export.path,
- new_export.access_type,
cast(str, new_fsal.fs_name),
cast(str, new_fsal.user_id)
)
new_fsal.cephx_key = old_fsal.cephx_key
else:
+ expected_mds_caps = 'allow rw path={}'.format(new_export.path)
+ entity = new_fsal.user_id
+ ret, out, err = self.mgr.mon_command({
+ 'prefix': 'auth get',
+ 'entity': 'client.{}'.format(entity),
+ 'format': 'json',
+ })
+ if ret:
+ raise NFSException(f'Failed to fetch caps for {entity}: {err}')
+ actual_mds_caps = json.loads(out)[0]['caps'].get('mds')
+ if actual_mds_caps != expected_mds_caps:
+ self._update_user_id(
+ cluster_id,
+ new_export.path,
+ cast(str, new_fsal.fs_name),
+ cast(str, new_fsal.user_id)
+ )
+ elif old_export.pseudo == new_export.pseudo:
+ need_nfs_service_restart = False
new_fsal.cephx_key = old_fsal.cephx_key
+
if old_export.fsal.name == NFS_GANESHA_SUPPORTED_FSALS[1]:
old_rgw_fsal = cast(RGWFSAL, old_export.fsal)
new_rgw_fsal = cast(RGWFSAL, new_export.fsal)
raise NFSInvalidOperation('secret_access_key change is not allowed')
self.exports[cluster_id].remove(old_export)
- self._update_export(cluster_id, new_export)
- # TODO: detect whether the update is such that a reload is sufficient
- restart_nfs_service(self.mgr, new_export.cluster_id)
+ self._update_export(cluster_id, new_export, need_nfs_service_restart)
return 0, f"Updated export {new_export.pseudo}", ""
+++ /dev/null
-from typing import cast, List, Dict, Any, Optional, TYPE_CHECKING
-from os.path import isabs
-
-from mgr_module import NFS_GANESHA_SUPPORTED_FSALS
-
-from .exception import NFSInvalidOperation, FSNotFound
-from .utils import check_fs
-
-if TYPE_CHECKING:
- from nfs.module import Module
-
-
-class RawBlock():
- def __init__(self, block_name: str, blocks: List['RawBlock'] = [], values: Dict[str, Any] = {}):
- if not values: # workaround mutable default argument
- values = {}
- if not blocks: # workaround mutable default argument
- blocks = []
- self.block_name = block_name
- self.blocks = blocks
- self.values = values
-
- def __eq__(self, other: Any) -> bool:
- if not isinstance(other, RawBlock):
- return False
- return self.block_name == other.block_name and \
- self.blocks == other.blocks and \
- self.values == other.values
-
- def __repr__(self) -> str:
- return f'RawBlock({self.block_name!r}, {self.blocks!r}, {self.values!r})'
-
-
-class GaneshaConfParser:
- def __init__(self, raw_config: str):
- self.pos = 0
- self.text = ""
- for line in raw_config.split("\n"):
- line = line.lstrip()
-
- if line.startswith("%"):
- self.text += line.replace('"', "")
- self.text += "\n"
- else:
- self.text += "".join(line.split())
-
- def stream(self) -> str:
- return self.text[self.pos:]
-
- def last_context(self) -> str:
- return f'"...{self.text[max(0, self.pos - 30):self.pos]}<here>{self.stream()[:30]}"'
-
- def parse_block_name(self) -> str:
- idx = self.stream().find('{')
- if idx == -1:
- raise Exception(f"Cannot find block name at {self.last_context()}")
- block_name = self.stream()[:idx]
- self.pos += idx + 1
- return block_name
-
- def parse_block_or_section(self) -> RawBlock:
- if self.stream().startswith("%url "):
- # section line
- self.pos += 5
- idx = self.stream().find('\n')
- if idx == -1:
- value = self.stream()
- self.pos += len(value)
- else:
- value = self.stream()[:idx]
- self.pos += idx + 1
- block_dict = RawBlock('%url', values={'value': value})
- return block_dict
-
- block_dict = RawBlock(self.parse_block_name().upper())
- self.parse_block_body(block_dict)
- if self.stream()[0] != '}':
- raise Exception("No closing bracket '}' found at the end of block")
- self.pos += 1
- return block_dict
-
- def parse_parameter_value(self, raw_value: str) -> Any:
- if raw_value.find(',') != -1:
- return [self.parse_parameter_value(v.strip())
- for v in raw_value.split(',')]
- try:
- return int(raw_value)
- except ValueError:
- if raw_value == "true":
- return True
- if raw_value == "false":
- return False
- if raw_value.find('"') == 0:
- return raw_value[1:-1]
- return raw_value
-
- def parse_stanza(self, block_dict: RawBlock) -> None:
- equal_idx = self.stream().find('=')
- if equal_idx == -1:
- raise Exception("Malformed stanza: no equal symbol found.")
- semicolon_idx = self.stream().find(';')
- parameter_name = self.stream()[:equal_idx].lower()
- parameter_value = self.stream()[equal_idx + 1:semicolon_idx]
- block_dict.values[parameter_name] = self.parse_parameter_value(parameter_value)
- self.pos += semicolon_idx + 1
-
- def parse_block_body(self, block_dict: RawBlock) -> None:
- while True:
- if self.stream().find('}') == 0:
- # block end
- return
-
- last_pos = self.pos
- semicolon_idx = self.stream().find(';')
- lbracket_idx = self.stream().find('{')
- is_semicolon = (semicolon_idx != -1)
- is_lbracket = (lbracket_idx != -1)
- is_semicolon_lt_lbracket = (semicolon_idx < lbracket_idx)
-
- if is_semicolon and ((is_lbracket and is_semicolon_lt_lbracket) or not is_lbracket):
- self.parse_stanza(block_dict)
- elif is_lbracket and ((is_semicolon and not is_semicolon_lt_lbracket)
- or (not is_semicolon)):
- block_dict.blocks.append(self.parse_block_or_section())
- else:
- raise Exception("Malformed stanza: no semicolon found.")
-
- if last_pos == self.pos:
- raise Exception("Infinite loop while parsing block content")
-
- def parse(self) -> List[RawBlock]:
- blocks = []
- while self.stream():
- blocks.append(self.parse_block_or_section())
- return blocks
-
- @staticmethod
- def _indentation(depth: int, size: int = 4) -> str:
- conf_str = ""
- for _ in range(0, depth * size):
- conf_str += " "
- return conf_str
-
- @staticmethod
- def write_block_body(block: RawBlock, depth: int = 0) -> str:
- def format_val(key: str, val: str) -> str:
- if isinstance(val, list):
- return ', '.join([format_val(key, v) for v in val])
- if isinstance(val, bool):
- return str(val).lower()
- if isinstance(val, int) or (block.block_name == 'CLIENT'
- and key == 'clients'):
- return '{}'.format(val)
- return '"{}"'.format(val)
-
- conf_str = ""
- for blo in block.blocks:
- conf_str += GaneshaConfParser.write_block(blo, depth)
-
- for key, val in block.values.items():
- if val is not None:
- conf_str += GaneshaConfParser._indentation(depth)
- conf_str += '{} = {};\n'.format(key, format_val(key, val))
- return conf_str
-
- @staticmethod
- def write_block(block: RawBlock, depth: int = 0) -> str:
- if block.block_name == "%url":
- return '%url "{}"\n\n'.format(block.values['value'])
-
- conf_str = ""
- conf_str += GaneshaConfParser._indentation(depth)
- conf_str += format(block.block_name)
- conf_str += " {\n"
- conf_str += GaneshaConfParser.write_block_body(block, depth + 1)
- conf_str += GaneshaConfParser._indentation(depth)
- conf_str += "}\n"
- return conf_str
-
-
-class FSAL(object):
- def __init__(self, name: str) -> None:
- self.name = name
-
- @classmethod
- def from_dict(cls, fsal_dict: Dict[str, Any]) -> 'FSAL':
- if fsal_dict.get('name') == NFS_GANESHA_SUPPORTED_FSALS[0]:
- return CephFSFSAL.from_dict(fsal_dict)
- if fsal_dict.get('name') == NFS_GANESHA_SUPPORTED_FSALS[1]:
- return RGWFSAL.from_dict(fsal_dict)
- raise NFSInvalidOperation(f'Unknown FSAL {fsal_dict.get("name")}')
-
- @classmethod
- def from_fsal_block(cls, fsal_block: RawBlock) -> 'FSAL':
- if fsal_block.values.get('name') == NFS_GANESHA_SUPPORTED_FSALS[0]:
- return CephFSFSAL.from_fsal_block(fsal_block)
- if fsal_block.values.get('name') == NFS_GANESHA_SUPPORTED_FSALS[1]:
- return RGWFSAL.from_fsal_block(fsal_block)
- raise NFSInvalidOperation(f'Unknown FSAL {fsal_block.values.get("name")}')
-
- def to_fsal_block(self) -> RawBlock:
- raise NotImplementedError
-
- def to_dict(self) -> Dict[str, Any]:
- raise NotImplementedError
-
-
-class CephFSFSAL(FSAL):
- def __init__(self,
- name: str,
- user_id: Optional[str] = None,
- fs_name: Optional[str] = None,
- sec_label_xattr: Optional[str] = None,
- cephx_key: Optional[str] = None) -> None:
- super().__init__(name)
- assert name == 'CEPH'
- self.fs_name = fs_name
- self.user_id = user_id
- self.sec_label_xattr = sec_label_xattr
- self.cephx_key = cephx_key
-
- @classmethod
- def from_fsal_block(cls, fsal_block: RawBlock) -> 'CephFSFSAL':
- return cls(fsal_block.values['name'],
- fsal_block.values.get('user_id'),
- fsal_block.values.get('filesystem'),
- fsal_block.values.get('sec_label_xattr'),
- fsal_block.values.get('secret_access_key'))
-
- def to_fsal_block(self) -> RawBlock:
- result = RawBlock('FSAL', values={'name': self.name})
-
- if self.user_id:
- result.values['user_id'] = self.user_id
- if self.fs_name:
- result.values['filesystem'] = self.fs_name
- if self.sec_label_xattr:
- result.values['sec_label_xattr'] = self.sec_label_xattr
- if self.cephx_key:
- result.values['secret_access_key'] = self.cephx_key
- return result
-
- @classmethod
- def from_dict(cls, fsal_dict: Dict[str, Any]) -> 'CephFSFSAL':
- return cls(fsal_dict['name'],
- fsal_dict.get('user_id'),
- fsal_dict.get('fs_name'),
- fsal_dict.get('sec_label_xattr'),
- fsal_dict.get('cephx_key'))
-
- def to_dict(self) -> Dict[str, str]:
- r = {'name': self.name}
- if self.user_id:
- r['user_id'] = self.user_id
- if self.fs_name:
- r['fs_name'] = self.fs_name
- if self.sec_label_xattr:
- r['sec_label_xattr'] = self.sec_label_xattr
- return r
-
-
-class RGWFSAL(FSAL):
- def __init__(self,
- name: str,
- user_id: Optional[str] = None,
- access_key_id: Optional[str] = None,
- secret_access_key: Optional[str] = None
- ) -> None:
- super().__init__(name)
- assert name == 'RGW'
- # RGW user uid
- self.user_id = user_id
- # S3 credentials
- self.access_key_id = access_key_id
- self.secret_access_key = secret_access_key
-
- @classmethod
- def from_fsal_block(cls, fsal_block: RawBlock) -> 'RGWFSAL':
- return cls(fsal_block.values['name'],
- fsal_block.values.get('user_id'),
- fsal_block.values.get('access_key_id'),
- fsal_block.values.get('secret_access_key'))
-
- def to_fsal_block(self) -> RawBlock:
- result = RawBlock('FSAL', values={'name': self.name})
-
- if self.user_id:
- result.values['user_id'] = self.user_id
- if self.access_key_id:
- result.values['access_key_id'] = self.access_key_id
- if self.secret_access_key:
- result.values['secret_access_key'] = self.secret_access_key
- return result
-
- @classmethod
- def from_dict(cls, fsal_dict: Dict[str, str]) -> 'RGWFSAL':
- return cls(fsal_dict['name'],
- fsal_dict.get('user_id'),
- fsal_dict.get('access_key_id'),
- fsal_dict.get('secret_access_key'))
-
- def to_dict(self) -> Dict[str, str]:
- r = {'name': self.name}
- if self.user_id:
- r['user_id'] = self.user_id
- if self.access_key_id:
- r['access_key_id'] = self.access_key_id
- if self.secret_access_key:
- r['secret_access_key'] = self.secret_access_key
- return r
-
-
-class Client:
- def __init__(self,
- addresses: List[str],
- access_type: str,
- squash: str):
- self.addresses = addresses
- self.access_type = access_type
- self.squash = squash
-
- @classmethod
- def from_client_block(cls, client_block: RawBlock) -> 'Client':
- addresses = client_block.values.get('clients', [])
- if isinstance(addresses, str):
- addresses = [addresses]
- return cls(addresses,
- client_block.values.get('access_type', None),
- client_block.values.get('squash', None))
-
- def to_client_block(self) -> RawBlock:
- result = RawBlock('CLIENT', values={'clients': self.addresses})
- if self.access_type:
- result.values['access_type'] = self.access_type
- if self.squash:
- result.values['squash'] = self.squash
- return result
-
- @classmethod
- def from_dict(cls, client_dict: Dict[str, Any]) -> 'Client':
- return cls(client_dict['addresses'], client_dict['access_type'],
- client_dict['squash'])
-
- def to_dict(self) -> Dict[str, Any]:
- return {
- 'addresses': self.addresses,
- 'access_type': self.access_type,
- 'squash': self.squash
- }
-
-
-class Export:
- def __init__(
- self,
- export_id: int,
- path: str,
- cluster_id: str,
- pseudo: str,
- access_type: str,
- squash: str,
- security_label: bool,
- protocols: List[int],
- transports: List[str],
- fsal: FSAL,
- clients: Optional[List[Client]] = None) -> None:
- self.export_id = export_id
- self.path = path
- self.fsal = fsal
- self.cluster_id = cluster_id
- self.pseudo = pseudo
- self.access_type = access_type
- self.squash = squash
- self.attr_expiration_time = 0
- self.security_label = security_label
- self.protocols = protocols
- self.transports = transports
- self.clients: List[Client] = clients or []
-
- @classmethod
- def from_export_block(cls, export_block: RawBlock, cluster_id: str) -> 'Export':
- fsal_blocks = [b for b in export_block.blocks
- if b.block_name == "FSAL"]
-
- client_blocks = [b for b in export_block.blocks
- if b.block_name == "CLIENT"]
-
- protocols = export_block.values.get('protocols')
- if not isinstance(protocols, list):
- protocols = [protocols]
-
- transports = export_block.values.get('transports')
- if isinstance(transports, str):
- transports = [transports]
- elif not transports:
- transports = []
-
- return cls(export_block.values['export_id'],
- export_block.values['path'],
- cluster_id,
- export_block.values['pseudo'],
- export_block.values.get('access_type', 'none'),
- export_block.values.get('squash', 'no_root_squash'),
- export_block.values.get('security_label', True),
- protocols,
- transports,
- FSAL.from_fsal_block(fsal_blocks[0]),
- [Client.from_client_block(client)
- for client in client_blocks])
-
- def to_export_block(self) -> RawBlock:
- result = RawBlock('EXPORT', values={
- 'export_id': self.export_id,
- 'path': self.path,
- 'pseudo': self.pseudo,
- 'access_type': self.access_type,
- 'squash': self.squash,
- 'attr_expiration_time': self.attr_expiration_time,
- 'security_label': self.security_label,
- 'protocols': self.protocols,
- 'transports': self.transports,
- })
- result.blocks = [
- self.fsal.to_fsal_block()
- ] + [
- client.to_client_block()
- for client in self.clients
- ]
- return result
-
- @classmethod
- def from_dict(cls, export_id: int, ex_dict: Dict[str, Any]) -> 'Export':
- return cls(export_id,
- ex_dict.get('path', '/'),
- ex_dict['cluster_id'],
- ex_dict['pseudo'],
- ex_dict.get('access_type', 'RO'),
- ex_dict.get('squash', 'no_root_squash'),
- ex_dict.get('security_label', True),
- ex_dict.get('protocols', [4]),
- ex_dict.get('transports', ['TCP']),
- FSAL.from_dict(ex_dict.get('fsal', {})),
- [Client.from_dict(client) for client in ex_dict.get('clients', [])])
-
- def to_dict(self) -> Dict[str, Any]:
- return {
- 'export_id': self.export_id,
- 'path': self.path,
- 'cluster_id': self.cluster_id,
- 'pseudo': self.pseudo,
- 'access_type': self.access_type,
- 'squash': self.squash,
- 'security_label': self.security_label,
- 'protocols': sorted([p for p in self.protocols]),
- 'transports': sorted([t for t in self.transports]),
- 'fsal': self.fsal.to_dict(),
- 'clients': [client.to_dict() for client in self.clients]
- }
-
- @staticmethod
- def validate_access_type(access_type: str) -> None:
- valid_access_types = ['rw', 'ro', 'none']
- if not isinstance(access_type, str) or access_type.lower() not in valid_access_types:
- raise NFSInvalidOperation(
- f'{access_type} is invalid, valid access type are'
- f'{valid_access_types}'
- )
-
- @staticmethod
- def validate_squash(squash: str) -> None:
- valid_squash_ls = [
- "root", "root_squash", "rootsquash", "rootid", "root_id_squash",
- "rootidsquash", "all", "all_squash", "allsquash", "all_anomnymous",
- "allanonymous", "no_root_squash", "none", "noidsquash",
- ]
- if squash.lower() not in valid_squash_ls:
- raise NFSInvalidOperation(
- f"squash {squash} not in valid list {valid_squash_ls}"
- )
-
- def validate(self, mgr: 'Module') -> None:
- if not isabs(self.pseudo) or self.pseudo == "/":
- raise NFSInvalidOperation(
- f"pseudo path {self.pseudo} is invalid. It should be an absolute "
- "path and it cannot be just '/'."
- )
-
- self.validate_squash(self.squash)
- self.validate_access_type(self.access_type)
-
- if not isinstance(self.security_label, bool):
- raise NFSInvalidOperation('security_label must be a boolean value')
-
- for p in self.protocols:
- if p not in [3, 4]:
- raise NFSInvalidOperation(f"Invalid protocol {p}")
-
- valid_transport = ["UDP", "TCP"]
- for trans in self.transports:
- if trans.upper() not in valid_transport:
- raise NFSInvalidOperation(f'{trans} is not a valid transport protocol')
-
- for client in self.clients:
- if client.squash:
- self.validate_squash(client.squash)
- if client.access_type:
- self.validate_access_type(client.access_type)
-
- if self.fsal.name == NFS_GANESHA_SUPPORTED_FSALS[0]:
- fs = cast(CephFSFSAL, self.fsal)
- if not fs.fs_name or not check_fs(mgr, fs.fs_name):
- raise FSNotFound(fs.fs_name)
- elif self.fsal.name == NFS_GANESHA_SUPPORTED_FSALS[1]:
- rgw = cast(RGWFSAL, self.fsal) # noqa
- pass
- else:
- raise NFSInvalidOperation('FSAL {self.fsal.name} not supported')
-
- def __eq__(self, other: Any) -> bool:
- if not isinstance(other, Export):
- return False
- return self.to_dict() == other.to_dict()
--- /dev/null
+from typing import cast, List, Dict, Any, Optional, TYPE_CHECKING
+from os.path import isabs
+
+from mgr_module import NFS_GANESHA_SUPPORTED_FSALS
+
+from .exception import NFSInvalidOperation, FSNotFound
+from .utils import check_fs
+
+if TYPE_CHECKING:
+ from nfs.module import Module
+
+
+def _indentation(depth: int, size: int = 4) -> str:
+ return " " * (depth * size)
+
+
+def _format_val(block_name: str, key: str, val: str) -> str:
+ if isinstance(val, list):
+ return ', '.join([_format_val(block_name, key, v) for v in val])
+ if isinstance(val, bool):
+ return str(val).lower()
+ if isinstance(val, int) or (block_name == 'CLIENT'
+ and key == 'clients'):
+ return '{}'.format(val)
+ return '"{}"'.format(val)
+
+
+def _validate_squash(squash: str) -> None:
+ valid_squash_ls = [
+ "root", "root_squash", "rootsquash", "rootid", "root_id_squash",
+ "rootidsquash", "all", "all_squash", "allsquash", "all_anomnymous",
+ "allanonymous", "no_root_squash", "none", "noidsquash",
+ ]
+ if squash.lower() not in valid_squash_ls:
+ raise NFSInvalidOperation(
+ f"squash {squash} not in valid list {valid_squash_ls}"
+ )
+
+
+def _validate_access_type(access_type: str) -> None:
+ valid_access_types = ['rw', 'ro', 'none']
+ if not isinstance(access_type, str) or access_type.lower() not in valid_access_types:
+ raise NFSInvalidOperation(
+ f'{access_type} is invalid, valid access type are'
+ f'{valid_access_types}'
+ )
+
+
+class RawBlock():
+ def __init__(self, block_name: str, blocks: List['RawBlock'] = [], values: Dict[str, Any] = {}):
+ if not values: # workaround mutable default argument
+ values = {}
+ if not blocks: # workaround mutable default argument
+ blocks = []
+ self.block_name = block_name
+ self.blocks = blocks
+ self.values = values
+
+ def __eq__(self, other: Any) -> bool:
+ if not isinstance(other, RawBlock):
+ return False
+ return self.block_name == other.block_name and \
+ self.blocks == other.blocks and \
+ self.values == other.values
+
+ def __repr__(self) -> str:
+ return f'RawBlock({self.block_name!r}, {self.blocks!r}, {self.values!r})'
+
+
+class GaneshaConfParser:
+ def __init__(self, raw_config: str):
+ self.pos = 0
+ self.text = ""
+ for line in raw_config.split("\n"):
+ line = line.lstrip()
+
+ if line.startswith("%"):
+ self.text += line.replace('"', "")
+ self.text += "\n"
+ else:
+ self.text += "".join(line.split())
+
+ def stream(self) -> str:
+ return self.text[self.pos:]
+
+ def last_context(self) -> str:
+ return f'"...{self.text[max(0, self.pos - 30):self.pos]}<here>{self.stream()[:30]}"'
+
+ def parse_block_name(self) -> str:
+ idx = self.stream().find('{')
+ if idx == -1:
+ raise Exception(f"Cannot find block name at {self.last_context()}")
+ block_name = self.stream()[:idx]
+ self.pos += idx + 1
+ return block_name
+
+ def parse_block_or_section(self) -> RawBlock:
+ if self.stream().startswith("%url "):
+ # section line
+ self.pos += 5
+ idx = self.stream().find('\n')
+ if idx == -1:
+ value = self.stream()
+ self.pos += len(value)
+ else:
+ value = self.stream()[:idx]
+ self.pos += idx + 1
+ block_dict = RawBlock('%url', values={'value': value})
+ return block_dict
+
+ block_dict = RawBlock(self.parse_block_name().upper())
+ self.parse_block_body(block_dict)
+ if self.stream()[0] != '}':
+ raise Exception("No closing bracket '}' found at the end of block")
+ self.pos += 1
+ return block_dict
+
+ def parse_parameter_value(self, raw_value: str) -> Any:
+ if raw_value.find(',') != -1:
+ return [self.parse_parameter_value(v.strip())
+ for v in raw_value.split(',')]
+ try:
+ return int(raw_value)
+ except ValueError:
+ if raw_value == "true":
+ return True
+ if raw_value == "false":
+ return False
+ if raw_value.find('"') == 0:
+ return raw_value[1:-1]
+ return raw_value
+
+ def parse_stanza(self, block_dict: RawBlock) -> None:
+ equal_idx = self.stream().find('=')
+ if equal_idx == -1:
+ raise Exception("Malformed stanza: no equal symbol found.")
+ semicolon_idx = self.stream().find(';')
+ parameter_name = self.stream()[:equal_idx].lower()
+ parameter_value = self.stream()[equal_idx + 1:semicolon_idx]
+ block_dict.values[parameter_name] = self.parse_parameter_value(parameter_value)
+ self.pos += semicolon_idx + 1
+
+ def parse_block_body(self, block_dict: RawBlock) -> None:
+ while True:
+ if self.stream().find('}') == 0:
+ # block end
+ return
+
+ last_pos = self.pos
+ semicolon_idx = self.stream().find(';')
+ lbracket_idx = self.stream().find('{')
+ is_semicolon = (semicolon_idx != -1)
+ is_lbracket = (lbracket_idx != -1)
+ is_semicolon_lt_lbracket = (semicolon_idx < lbracket_idx)
+
+ if is_semicolon and ((is_lbracket and is_semicolon_lt_lbracket) or not is_lbracket):
+ self.parse_stanza(block_dict)
+ elif is_lbracket and ((is_semicolon and not is_semicolon_lt_lbracket)
+ or (not is_semicolon)):
+ block_dict.blocks.append(self.parse_block_or_section())
+ else:
+ raise Exception("Malformed stanza: no semicolon found.")
+
+ if last_pos == self.pos:
+ raise Exception("Infinite loop while parsing block content")
+
+ def parse(self) -> List[RawBlock]:
+ blocks = []
+ while self.stream():
+ blocks.append(self.parse_block_or_section())
+ return blocks
+
+
+class FSAL(object):
+ def __init__(self, name: str) -> None:
+ self.name = name
+
+ @classmethod
+ def from_dict(cls, fsal_dict: Dict[str, Any]) -> 'FSAL':
+ if fsal_dict.get('name') == NFS_GANESHA_SUPPORTED_FSALS[0]:
+ return CephFSFSAL.from_dict(fsal_dict)
+ if fsal_dict.get('name') == NFS_GANESHA_SUPPORTED_FSALS[1]:
+ return RGWFSAL.from_dict(fsal_dict)
+ raise NFSInvalidOperation(f'Unknown FSAL {fsal_dict.get("name")}')
+
+ @classmethod
+ def from_fsal_block(cls, fsal_block: RawBlock) -> 'FSAL':
+ if fsal_block.values.get('name') == NFS_GANESHA_SUPPORTED_FSALS[0]:
+ return CephFSFSAL.from_fsal_block(fsal_block)
+ if fsal_block.values.get('name') == NFS_GANESHA_SUPPORTED_FSALS[1]:
+ return RGWFSAL.from_fsal_block(fsal_block)
+ raise NFSInvalidOperation(f'Unknown FSAL {fsal_block.values.get("name")}')
+
+ def to_fsal_block(self) -> RawBlock:
+ raise NotImplementedError
+
+ def to_dict(self) -> Dict[str, Any]:
+ raise NotImplementedError
+
+
+class CephFSFSAL(FSAL):
+ def __init__(self,
+ name: str,
+ user_id: Optional[str] = None,
+ fs_name: Optional[str] = None,
+ sec_label_xattr: Optional[str] = None,
+ cephx_key: Optional[str] = None) -> None:
+ super().__init__(name)
+ assert name == 'CEPH'
+ self.fs_name = fs_name
+ self.user_id = user_id
+ self.sec_label_xattr = sec_label_xattr
+ self.cephx_key = cephx_key
+
+ @classmethod
+ def from_fsal_block(cls, fsal_block: RawBlock) -> 'CephFSFSAL':
+ return cls(fsal_block.values['name'],
+ fsal_block.values.get('user_id'),
+ fsal_block.values.get('filesystem'),
+ fsal_block.values.get('sec_label_xattr'),
+ fsal_block.values.get('secret_access_key'))
+
+ def to_fsal_block(self) -> RawBlock:
+ result = RawBlock('FSAL', values={'name': self.name})
+
+ if self.user_id:
+ result.values['user_id'] = self.user_id
+ if self.fs_name:
+ result.values['filesystem'] = self.fs_name
+ if self.sec_label_xattr:
+ result.values['sec_label_xattr'] = self.sec_label_xattr
+ if self.cephx_key:
+ result.values['secret_access_key'] = self.cephx_key
+ return result
+
+ @classmethod
+ def from_dict(cls, fsal_dict: Dict[str, Any]) -> 'CephFSFSAL':
+ return cls(fsal_dict['name'],
+ fsal_dict.get('user_id'),
+ fsal_dict.get('fs_name'),
+ fsal_dict.get('sec_label_xattr'),
+ fsal_dict.get('cephx_key'))
+
+ def to_dict(self) -> Dict[str, str]:
+ r = {'name': self.name}
+ if self.user_id:
+ r['user_id'] = self.user_id
+ if self.fs_name:
+ r['fs_name'] = self.fs_name
+ if self.sec_label_xattr:
+ r['sec_label_xattr'] = self.sec_label_xattr
+ return r
+
+
+class RGWFSAL(FSAL):
+ def __init__(self,
+ name: str,
+ user_id: Optional[str] = None,
+ access_key_id: Optional[str] = None,
+ secret_access_key: Optional[str] = None
+ ) -> None:
+ super().__init__(name)
+ assert name == 'RGW'
+ # RGW user uid
+ self.user_id = user_id
+ # S3 credentials
+ self.access_key_id = access_key_id
+ self.secret_access_key = secret_access_key
+
+ @classmethod
+ def from_fsal_block(cls, fsal_block: RawBlock) -> 'RGWFSAL':
+ return cls(fsal_block.values['name'],
+ fsal_block.values.get('user_id'),
+ fsal_block.values.get('access_key_id'),
+ fsal_block.values.get('secret_access_key'))
+
+ def to_fsal_block(self) -> RawBlock:
+ result = RawBlock('FSAL', values={'name': self.name})
+
+ if self.user_id:
+ result.values['user_id'] = self.user_id
+ if self.access_key_id:
+ result.values['access_key_id'] = self.access_key_id
+ if self.secret_access_key:
+ result.values['secret_access_key'] = self.secret_access_key
+ return result
+
+ @classmethod
+ def from_dict(cls, fsal_dict: Dict[str, str]) -> 'RGWFSAL':
+ return cls(fsal_dict['name'],
+ fsal_dict.get('user_id'),
+ fsal_dict.get('access_key_id'),
+ fsal_dict.get('secret_access_key'))
+
+ def to_dict(self) -> Dict[str, str]:
+ r = {'name': self.name}
+ if self.user_id:
+ r['user_id'] = self.user_id
+ if self.access_key_id:
+ r['access_key_id'] = self.access_key_id
+ if self.secret_access_key:
+ r['secret_access_key'] = self.secret_access_key
+ return r
+
+
+class Client:
+ def __init__(self,
+ addresses: List[str],
+ access_type: str,
+ squash: str):
+ self.addresses = addresses
+ self.access_type = access_type
+ self.squash = squash
+
+ @classmethod
+ def from_client_block(cls, client_block: RawBlock) -> 'Client':
+ addresses = client_block.values.get('clients', [])
+ if isinstance(addresses, str):
+ addresses = [addresses]
+ return cls(addresses,
+ client_block.values.get('access_type', None),
+ client_block.values.get('squash', None))
+
+ def to_client_block(self) -> RawBlock:
+ result = RawBlock('CLIENT', values={'clients': self.addresses})
+ if self.access_type:
+ result.values['access_type'] = self.access_type
+ if self.squash:
+ result.values['squash'] = self.squash
+ return result
+
+ @classmethod
+ def from_dict(cls, client_dict: Dict[str, Any]) -> 'Client':
+ return cls(client_dict['addresses'], client_dict['access_type'],
+ client_dict['squash'])
+
+ def to_dict(self) -> Dict[str, Any]:
+ return {
+ 'addresses': self.addresses,
+ 'access_type': self.access_type,
+ 'squash': self.squash
+ }
+
+
+class Export:
+ def __init__(
+ self,
+ export_id: int,
+ path: str,
+ cluster_id: str,
+ pseudo: str,
+ access_type: str,
+ squash: str,
+ security_label: bool,
+ protocols: List[int],
+ transports: List[str],
+ fsal: FSAL,
+ clients: Optional[List[Client]] = None) -> None:
+ self.export_id = export_id
+ self.path = path
+ self.fsal = fsal
+ self.cluster_id = cluster_id
+ self.pseudo = pseudo
+ self.access_type = access_type
+ self.squash = squash
+ self.attr_expiration_time = 0
+ self.security_label = security_label
+ self.protocols = protocols
+ self.transports = transports
+ self.clients: List[Client] = clients or []
+
+ @classmethod
+ def from_export_block(cls, export_block: RawBlock, cluster_id: str) -> 'Export':
+ fsal_blocks = [b for b in export_block.blocks
+ if b.block_name == "FSAL"]
+
+ client_blocks = [b for b in export_block.blocks
+ if b.block_name == "CLIENT"]
+
+ protocols = export_block.values.get('protocols')
+ if not isinstance(protocols, list):
+ protocols = [protocols]
+
+ transports = export_block.values.get('transports')
+ if isinstance(transports, str):
+ transports = [transports]
+ elif not transports:
+ transports = []
+
+ return cls(export_block.values['export_id'],
+ export_block.values['path'],
+ cluster_id,
+ export_block.values['pseudo'],
+ export_block.values.get('access_type', 'none'),
+ export_block.values.get('squash', 'no_root_squash'),
+ export_block.values.get('security_label', True),
+ protocols,
+ transports,
+ FSAL.from_fsal_block(fsal_blocks[0]),
+ [Client.from_client_block(client)
+ for client in client_blocks])
+
+ def to_export_block(self) -> RawBlock:
+ result = RawBlock('EXPORT', values={
+ 'export_id': self.export_id,
+ 'path': self.path,
+ 'pseudo': self.pseudo,
+ 'access_type': self.access_type,
+ 'squash': self.squash,
+ 'attr_expiration_time': self.attr_expiration_time,
+ 'security_label': self.security_label,
+ 'protocols': self.protocols,
+ 'transports': self.transports,
+ })
+ result.blocks = [
+ self.fsal.to_fsal_block()
+ ] + [
+ client.to_client_block()
+ for client in self.clients
+ ]
+ return result
+
+ @classmethod
+ def from_dict(cls, export_id: int, ex_dict: Dict[str, Any]) -> 'Export':
+ return cls(export_id,
+ ex_dict.get('path', '/'),
+ ex_dict['cluster_id'],
+ ex_dict['pseudo'],
+ ex_dict.get('access_type', 'RO'),
+ ex_dict.get('squash', 'no_root_squash'),
+ ex_dict.get('security_label', True),
+ ex_dict.get('protocols', [4]),
+ ex_dict.get('transports', ['TCP']),
+ FSAL.from_dict(ex_dict.get('fsal', {})),
+ [Client.from_dict(client) for client in ex_dict.get('clients', [])])
+
+ def to_dict(self) -> Dict[str, Any]:
+ return {
+ 'export_id': self.export_id,
+ 'path': self.path,
+ 'cluster_id': self.cluster_id,
+ 'pseudo': self.pseudo,
+ 'access_type': self.access_type,
+ 'squash': self.squash,
+ 'security_label': self.security_label,
+ 'protocols': sorted([p for p in self.protocols]),
+ 'transports': sorted([t for t in self.transports]),
+ 'fsal': self.fsal.to_dict(),
+ 'clients': [client.to_dict() for client in self.clients]
+ }
+
+ def validate(self, mgr: 'Module') -> None:
+ if not isabs(self.pseudo) or self.pseudo == "/":
+ raise NFSInvalidOperation(
+ f"pseudo path {self.pseudo} is invalid. It should be an absolute "
+ "path and it cannot be just '/'."
+ )
+
+ _validate_squash(self.squash)
+ _validate_access_type(self.access_type)
+
+ if not isinstance(self.security_label, bool):
+ raise NFSInvalidOperation('security_label must be a boolean value')
+
+ for p in self.protocols:
+ if p not in [3, 4]:
+ raise NFSInvalidOperation(f"Invalid protocol {p}")
+
+ valid_transport = ["UDP", "TCP"]
+ for trans in self.transports:
+ if trans.upper() not in valid_transport:
+ raise NFSInvalidOperation(f'{trans} is not a valid transport protocol')
+
+ for client in self.clients:
+ if client.squash:
+ _validate_squash(client.squash)
+ if client.access_type:
+ _validate_access_type(client.access_type)
+
+ if self.fsal.name == NFS_GANESHA_SUPPORTED_FSALS[0]:
+ fs = cast(CephFSFSAL, self.fsal)
+ if not fs.fs_name or not check_fs(mgr, fs.fs_name):
+ raise FSNotFound(fs.fs_name)
+ elif self.fsal.name == NFS_GANESHA_SUPPORTED_FSALS[1]:
+ rgw = cast(RGWFSAL, self.fsal) # noqa
+ pass
+ else:
+ raise NFSInvalidOperation('FSAL {self.fsal.name} not supported')
+
+ def __eq__(self, other: Any) -> bool:
+ if not isinstance(other, Export):
+ return False
+ return self.to_dict() == other.to_dict()
+
+
+def _format_block_body(block: RawBlock, depth: int = 0) -> str:
+ conf_str = ""
+ for blo in block.blocks:
+ conf_str += format_block(blo, depth)
+
+ for key, val in block.values.items():
+ if val is not None:
+ conf_str += _indentation(depth)
+ fval = _format_val(block.block_name, key, val)
+ conf_str += '{} = {};\n'.format(key, fval)
+ return conf_str
+
+
+def format_block(block: RawBlock, depth: int = 0) -> str:
+ """Format a raw block object into text suitable as a ganesha configuration
+ block.
+ """
+ if block.block_name == "%url":
+ return '%url "{}"\n\n'.format(block.values['value'])
+
+ conf_str = ""
+ conf_str += _indentation(depth)
+ conf_str += format(block.block_name)
+ conf_str += " {\n"
+ conf_str += _format_block_body(block, depth + 1)
+ conf_str += _indentation(depth)
+ conf_str += "}\n"
+ return conf_str
from ceph.deployment.service_spec import NFSServiceSpec
from nfs import Module
from nfs.export import ExportMgr, normalize_path
-from nfs.export_utils import GaneshaConfParser, Export, RawBlock
+from nfs.ganesha_conf import GaneshaConfParser, Export, RawBlock
from nfs.cluster import NFSCluster
from orchestrator import ServiceDescription, DaemonDescription, OrchResult
mock.patch('nfs.cluster.restart_nfs_service'), \
mock.patch.object(MgrModule, 'tool_exec', mock_exec), \
mock.patch('nfs.export.check_fs', return_value=True), \
- mock.patch('nfs.export_utils.check_fs', return_value=True), \
+ mock.patch('nfs.ganesha_conf.check_fs', return_value=True), \
mock.patch('nfs.export.ExportMgr._create_user_key',
return_value='thekeyforclientabc'):
blocks = GaneshaConfParser(block).parse()
export = Export.from_export_block(blocks[0], self.cluster_id)
nfs_mod = Module('nfs', '', '')
- with mock.patch('nfs.export_utils.check_fs', return_value=True):
+ with mock.patch('nfs.ganesha_conf.check_fs', return_value=True):
export.validate(nfs_mod)
def test_update_export(self):
)
def test_normalize_path(path, expected):
assert normalize_path(path) == expected
+
+
+def test_ganesha_validate_squash():
+ """Check error handling of internal validation function for squash value."""
+ from nfs.ganesha_conf import _validate_squash
+ from nfs.exception import NFSInvalidOperation
+
+ _validate_squash("root")
+ with pytest.raises(NFSInvalidOperation):
+ _validate_squash("toot")
+
+
+def test_ganesha_validate_access_type():
+ """Check error handling of internal validation function for access type value."""
+ from nfs.ganesha_conf import _validate_access_type
+ from nfs.exception import NFSInvalidOperation
+
+ for ok in ("rw", "ro", "none"):
+ _validate_access_type(ok)
+ with pytest.raises(NFSInvalidOperation):
+ _validate_access_type("any")
--- /dev/null
+# object_format.py provides types and functions for working with
+# requested output formats such as JSON, YAML, etc.
+"""tools for writing formatting-friendly mgr module functions
+
+Currently, the ceph mgr code in python is most commonly written by adding mgr
+modules and corresponding classes and then adding methods to those classes that
+are decorated using `@CLICommand` from `mgr_module.py`. These methods (that
+will be called endpoints subsequently) then implement the logic that is
+executed when the mgr receives a command from a client. These endpoints are
+currently responsible for forming a response tuple of (int, str, str) where the
+int represents a return value (error code) and the first string the "body" of
+the response. The mgr supports a generic `format` parameter (`--format` on the
+ceph cli) that each endpoint must then explicitly handle. At the time of this
+writing, many endpoints do not handle alternate formats and are each
+implementing formatting/serialization of values in various different ways.
+
+The `object_format` module aims to make the process of writing endpoint
+functions easier, more consistent, and (hopefully) better documented. At the
+highest level, the module provides a new decorator `Responder` that must be
+placed below the `CLICommand` decorator (so that it decorates the endpoint
+before `CLICommand`). This decorator helps automatically convert Python objects
+to response tuples expected by the manager, while handling the `format`
+parameter automatically.
+
+In addition to the decorator the module provides a few other types and methods
+that intended to interoperate with the decorator and make small customizations
+and error handling easier.
+
+== Using Responder ==
+
+The simple and intended way to use the decorator is as follows:
+ @CLICommand("command name", perm="r")
+ Responder()
+ def create_something(self, name: str) -> Dict[str, str]:
+ ... # implementation
+ return {"name": name, "id": new_id}
+
+In this case the `create_something` method return a python dict,
+and does not return a response tuple directly. Instead, the
+dict is converted to either JSON or YAML depending on what the
+client requested. Assuming no exception is raised by the
+implementation then the response code is always zero (success).
+
+The object_format module provides an exception type `ErrorResponse`
+that assists in returning "clean" error conditions to the client.
+Extending the previous example to use this exception:
+ @CLICommand("command name", perm="r")
+ Responder()
+ def create_something(self, name: str) -> Dict[str, str]:
+ try:
+ ... # implementation
+ return {"name": name, "id": new_id}
+ except KeyError as kerr:
+ # explicitly set the return value to ENOENT for KeyError
+ raise ErrorResponse.wrap(kerr, return_value=-errno.ENOENT)
+ except (BusinessLogcError, OSError) as err:
+ # return value is based on err when possible
+ raise ErrorResponse.wrap(err)
+
+Most uses of ErrorResponse are expected to use the `wrap` classmethod,
+as it will aid in the handling of an existing exception but `ErrorResponse`
+can be used directly too.
+
+== Customizing Response Formatting ==
+
+The `Responder` is built using two additional mid-layer types. The
+`ObjectFormatAdapter` and the `ReturnValueAdapter` by default. These types
+implement the `CommonFormatter` protocol and `ReturnValueProvider` protocols
+respectively. Most cases will not need to customize the `ReturnValueAdapter` as
+returning zero on success is expected. However, if there's a need to return a
+non-zero error code outside of an exception, you can add the `mgr_return_value`
+function to the returned type of the endpoint function - causing it to meet the
+`ReturnValueProvider` protocol. Whatever integer that function returns will
+then be used in the response tuple.
+
+The `ObjectFormatAdapter` can operate in two modes. By default, any type
+returned from the endpoint function will be checked for a `to_simplified`
+method (the type matches the SimpleDataProvider` protocol) and if it exists
+the method will be called and the result serialized. Example:
+ class CoolStuff:
+ def __init__(self, temperature: int, quantity: int) -> None:
+ self.temperature = temperature
+ self.quantity = quantity
+ def to_simplified(self) -> Dict[str, int]:
+ return {"temp": self.temperature, "qty": self.quantity}
+
+ @CLICommand("command name", perm="r")
+ Responder()
+ def create_something_cool(self) -> CoolStuff:
+ cool_stuff: CoolStuff = self._make_cool_stuff() # implementation
+ return cool_stuff
+
+In order to serialize the result, the object returned from the wrapped
+function must provide the `to_simplified` method (or the compatibility methods,
+see below) or already be a "simplified type". Valid types include lists and
+dicts that contain other lists and dicts and ints, strs, bools -- basic objects
+that can be directly converted to json (via json.dumps) without any additional
+conversions. The `to_simplified` method must always return such types.
+
+To be compatible with many existing types in the ceph mgr codebase one can pass
+`compatible=True` to the `ObjectFormatAdapter`. If the type provides a
+`to_json` and/or `to_yaml` method that returns basic python types (dict, list,
+str, etc...) but *not* already serialized JSON or YAML this flag can be
+enabled. Note that Responder takes as an argument any callable that returns a
+`CommonFormatter`. In this example below we enable the flag using
+`functools.partial`:
+ class MyExistingClass:
+ def to_json(self) -> Dict[str, Any]:
+ return {"name": self.name, "height": self.height}
+
+ @CLICommand("command name", perm="r")
+ Responder(functools.partial(ObjectFormatAdapter, compatible=True))
+ def create_an_item(self) -> MyExistingClass:
+ item: MyExistingClass = self._new_item() # implementation
+ return item
+
+
+For cases that need to return xml or plain text formatted responses one can
+create a new class that matches the `CommonFormatter` protocol (provides a
+valid_formats method) and one or more `format_x` method where x is the name of
+a format ("json", "yaml", "xml", "plain", etc...).
+ class MyCustomFormatAdapter:
+ def __init__(self, obj_to_format: Any) -> None:
+ ...
+ def valid_formats(self) -> Iterable[str]:
+ ...
+ def format_json(self) -> str:
+ ...
+ def format_xml(self) -> str:
+ ...
+
+
+Of course, the Responder itself can be used as a base class and aspects of the
+Responder altered for specific use cases. Inheriting from `Responder` and
+customizing it is an exercise left for those brave enough to read the code in
+`object_format.py` :-).
+"""
+
+import enum
+import errno
+import json
+import sys
+
+from functools import wraps
+from typing import (
+ Any,
+ Callable,
+ Dict,
+ Iterable,
+ List,
+ Optional,
+ TYPE_CHECKING,
+ Tuple,
+ Type,
+ TypeVar,
+ Union,
+)
+
+import yaml
+
+# this uses a version check as opposed to a try/except because this
+# form makes mypy happy and try/except doesn't.
+if sys.version_info >= (3, 8):
+ from typing import Protocol
+elif TYPE_CHECKING:
+ # typing_extensions will not be available for the real mgr server
+ from typing_extensions import Protocol
+else:
+ # fallback type that is acceptable to older python on prod. builds
+ class Protocol: # type: ignore
+ pass
+
+from mgr_module import HandlerFuncType
+
+
+DEFAULT_JSON_INDENT: int = 2
+
+
+class Format(str, enum.Enum):
+ plain = "plain"
+ json = "json"
+ json_pretty = "json-pretty"
+ yaml = "yaml"
+ xml_pretty = "xml-pretty"
+ xml = "xml"
+
+
+# SimpleData is a type alias for Any unless we can determine the
+# exact set of subtypes we want to support. But it is explicit!
+SimpleData = Any
+
+
+ObjectResponseFuncType = Union[
+ Callable[..., Dict[Any, Any]],
+ Callable[..., List[Any]],
+]
+
+
+class SimpleDataProvider(Protocol):
+ def to_simplified(self) -> SimpleData:
+ """Return a simplified representation of the current object.
+ The simplified representation should be trivially serializable.
+ """
+ ... # pragma: no cover
+
+
+class JSONDataProvider(Protocol):
+ def to_json(self) -> Any:
+ """Return a python object that can be serialized into JSON.
+ This function does _not_ return a JSON string.
+ """
+ ... # pragma: no cover
+
+
+class YAMLDataProvider(Protocol):
+ def to_yaml(self) -> Any:
+ """Return a python object that can be serialized into YAML.
+ This function does _not_ return a string of YAML.
+ """
+ ... # pragma: no cover
+
+
+class JSONFormatter(Protocol):
+ def format_json(self) -> str:
+ """Return a JSON formatted representation of an object."""
+ ... # pragma: no cover
+
+
+class YAMLFormatter(Protocol):
+ def format_yaml(self) -> str:
+ """Return a JSON formatted representation of an object."""
+ ... # pragma: no cover
+
+
+class ReturnValueProvider(Protocol):
+ def mgr_return_value(self) -> int:
+ """Return an integer value to provide the Ceph MGR with a error code
+ for the MGR's response tuple. Zero means success. Return an negative
+ errno otherwise.
+ """
+ ... # pragma: no cover
+
+
+class CommonFormatter(Protocol):
+ """A protocol that indicates the type is a formatter for multiple
+ possible formats.
+ """
+
+ def valid_formats(self) -> Iterable[str]:
+ """Return the names of known valid formats."""
+ ... # pragma: no cover
+
+
+# The _is_name_of_protocol_type functions below are here because the production
+# builds of the ceph manager are lower than python 3.8 and do not have
+# typing_extensions available in the resulting images. This means that
+# runtime_checkable is not available and isinstance can not be used with a
+# protocol type. These could be replaced by isinstance in a later version of
+# python. Note that these functions *can not* be methods of the protocol types
+# for neatness - including methods on the protocl types makes mypy consider
+# those methods as part of the protcol & a required method. Using decorators
+# did not change that - I checked.
+
+
+def _is_simple_data_provider(obj: SimpleDataProvider) -> bool:
+ """Return true if obj is usable as a SimpleDataProvider."""
+ return callable(getattr(obj, 'to_simplified', None))
+
+
+def _is_json_data_provider(obj: JSONDataProvider) -> bool:
+ """Return true if obj is usable as a JSONDataProvider."""
+ return callable(getattr(obj, 'to_json', None))
+
+
+def _is_yaml_data_provider(obj: YAMLDataProvider) -> bool:
+ """Return true if obj is usable as a YAMLDataProvider."""
+ return callable(getattr(obj, 'to_yaml', None))
+
+
+def _is_return_value_provider(obj: ReturnValueProvider) -> bool:
+ """Return true if obj is usable as a YAMLDataProvider."""
+ return callable(getattr(obj, 'mgr_return_value', None))
+
+
+class ObjectFormatAdapter:
+ """A format adapater for a single object.
+ Given an input object, this type will adapt the object, or a simplified
+ representation of the object, to either JSON or YAML when the format_json or
+ format_yaml methods are used.
+
+ If the compatible flag is true and the object provided to the adapter has
+ methods such as `to_json` and/or `to_yaml` these methods will be called in
+ order to get a JSON/YAML compatible simplified representation of the
+ object.
+
+ If the above case is not satisfied and the object provided to the adapter
+ has a method `to_simplified`, this method will be called to acquire a
+ simplified representation of the object.
+
+ If none of the above cases is true, the object itself will be used for
+ serialization. If the object can not be safely serialized an exception will
+ be raised.
+
+ NOTE: Some code may use methods named like `to_json` to return a JSON
+ string. If that is the case, you should not use that method with the
+ ObjectFormatAdapter. Do not set compatible=True for objects of this type.
+ """
+
+ def __init__(
+ self,
+ obj: Any,
+ json_indent: Optional[int] = DEFAULT_JSON_INDENT,
+ compatible: bool = False,
+ ) -> None:
+ self.obj = obj
+ self._compatible = compatible
+ self.json_indent = json_indent
+
+ def _fetch_json_data(self) -> Any:
+ # if the data object provides a specific simplified representation for
+ # JSON (and compatible mode is enabled) get the data via that method
+ if self._compatible and _is_json_data_provider(self.obj):
+ return self.obj.to_json()
+ # otherwise we use our specific method `to_simplified` if it exists
+ if _is_simple_data_provider(self.obj):
+ return self.obj.to_simplified()
+ # and fall back to the "raw" object
+ return self.obj
+
+ def format_json(self) -> str:
+ """Return a JSON formatted string representing the input object."""
+ return json.dumps(
+ self._fetch_json_data(), indent=self.json_indent, sort_keys=True
+ )
+
+ def _fetch_yaml_data(self) -> Any:
+ if self._compatible and _is_yaml_data_provider(self.obj):
+ return self.obj.to_yaml()
+ # nothing specific to YAML was found. use the simplified representation
+ # for JSON, as all valid JSON is valid YAML.
+ return self._fetch_json_data()
+
+ def format_yaml(self) -> str:
+ """Return a YAML formatted string representing the input object."""
+ return yaml.safe_dump(self._fetch_yaml_data())
+
+ format_json_pretty = format_json
+
+ def valid_formats(self) -> Iterable[str]:
+ """Return valid format names."""
+ return set(str(v) for v in Format.__members__)
+
+
+class ReturnValueAdapter:
+ """A return-value adapter for an object.
+ Given an input object, this type will attempt to get a mgr return value
+ from the object if provides a `mgr_return_value` function.
+ If not it returns a default return value, typically 0.
+ """
+
+ def __init__(
+ self,
+ obj: Any,
+ default: int = 0,
+ ) -> None:
+ self.obj = obj
+ self.default_return_value = default
+
+ def mgr_return_value(self) -> int:
+ if _is_return_value_provider(self.obj):
+ return int(self.obj.mgr_return_value())
+ return self.default_return_value
+
+
+class ErrorResponseBase(Exception):
+ """An exception that can directly be converted to a mgr reponse."""
+
+ def format_response(self) -> Tuple[int, str, str]:
+ raise NotImplementedError()
+
+
+class UnknownFormat(ErrorResponseBase):
+ """Raised if the format name is unexpected.
+ This can help distinguish typos from formats that are known but
+ not implemented.
+ """
+
+ def __init__(self, format_name: str) -> None:
+ self.format_name = format_name
+
+ def format_response(self) -> Tuple[int, str, str]:
+ return -errno.EINVAL, "", f"Unknown format name: {self.format_name}"
+
+
+class UnsupportedFormat(ErrorResponseBase):
+ """Raised if the format name does not correspond to any valid
+ conversion functions.
+ """
+
+ def __init__(self, format_name: str) -> None:
+ self.format_name = format_name
+
+ def format_response(self) -> Tuple[int, str, str]:
+ return -errno.EINVAL, "", f"Unsupported format: {self.format_name}"
+
+
+class ErrorResponse(ErrorResponseBase):
+ """General exception convertible to a mgr response."""
+
+ E = TypeVar("E", bound="ErrorResponse")
+
+ def __init__(self, status: str, return_value: Optional[int] = None) -> None:
+ self.return_value = (
+ return_value if return_value is not None else -errno.EINVAL
+ )
+ self.status = status
+
+ def format_response(self) -> Tuple[int, str, str]:
+ return (self.return_value, "", self.status)
+
+ def mgr_return_value(self) -> int:
+ return self.return_value
+
+ @property
+ def errno(self) -> int:
+ rv = self.return_value
+ return -rv if rv < 0 else rv
+
+ def __repr__(self) -> str:
+ return f"ErrorResponse({self.status!r}, {self.return_value!r})"
+
+ @classmethod
+ def wrap(
+ cls: Type[E], exc: Exception, return_value: Optional[int] = None
+ ) -> E:
+ if return_value is None:
+ try:
+ return_value = -int(getattr(exc, "errno"))
+ except (AttributeError, ValueError):
+ pass
+ err = cls(str(exc), return_value=return_value)
+ setattr(err, "__cause__", exc)
+ return err
+
+
+def _get_requested_format(f: ObjectResponseFuncType, kw: Dict[str, Any]) -> str:
+ # todo: leave 'format' in kw dict iff its part of f's signature
+ return kw.pop("format", None)
+
+
+class Responder:
+ """A decorator type intended to assist in converting Python return types
+ into valid responses for the Ceph MGR.
+
+ A function that returns a Python object will have the object converted into
+ a return value and formatted response body, based on the `format` argument
+ passed to the mgr. When used from the ceph cli tool the `--format=[name]`
+ argument is mapped to a `format` keyword argument. The decorated function
+ may provide a `format` argument (type str). If the decorated function does
+ not provide a `format` argument itself, the Responder decorator will
+ implicitly add one to the MGR's "CLI arguments" handling stack.
+
+ The Responder object is callable and is expected to be used as a decorator.
+ """
+
+ def __init__(
+ self, formatter: Optional[Callable[..., CommonFormatter]] = None
+ ) -> None:
+ self.formatter = formatter
+ self.default_format = "json"
+
+ def _formatter(self, obj: Any) -> CommonFormatter:
+ """Return the formatter/format-adapter for the object."""
+ if self.formatter is not None:
+ return self.formatter(obj)
+ return ObjectFormatAdapter(obj)
+
+ def _retval_provider(self, obj: Any) -> ReturnValueProvider:
+ """Return a ReturnValueProvider for the given object."""
+ return ReturnValueAdapter(obj)
+
+ def _get_format_func(
+ self, obj: Any, format_req: Optional[str] = None
+ ) -> Callable:
+ formatter = self._formatter(obj)
+ if format_req is None:
+ format_req = self.default_format
+ if format_req not in formatter.valid_formats():
+ raise UnknownFormat(format_req)
+ req = str(format_req).replace("-", "_")
+ ffunc = getattr(formatter, f"format_{req}", None)
+ if ffunc is None:
+ raise UnsupportedFormat(format_req)
+ return ffunc
+
+ def _dry_run(self, format_req: Optional[str] = None) -> None:
+ """Raise an exception if the format_req is not supported."""
+ # call with an empty dict to see if format_req is valid and supported
+ self._get_format_func({}, format_req)
+
+ def _formatted(self, obj: Any, format_req: Optional[str] = None) -> str:
+ """Return the object formatted/serialized."""
+ ffunc = self._get_format_func(obj, format_req)
+ return ffunc()
+
+ def _return_value(self, obj: Any) -> int:
+ """Return a mgr return-value for the given object (usually zero)."""
+ return self._retval_provider(obj).mgr_return_value()
+
+ def __call__(self, f: ObjectResponseFuncType) -> HandlerFuncType:
+ """Wrap a python function so that the original function's return value
+ becomes the source for an automatically formatted mgr response.
+ """
+
+ @wraps(f)
+ def _format_response(*args: Any, **kwargs: Any) -> Tuple[int, str, str]:
+ format_req = _get_requested_format(f, kwargs)
+ try:
+ self._dry_run(format_req)
+ robj = f(*args, **kwargs)
+ body = self._formatted(robj, format_req)
+ retval = self._return_value(robj)
+ except ErrorResponseBase as e:
+ return e.format_response()
+ return retval, body, ""
+
+ # set the extra args on our wrapper function. this will be consumed by
+ # the CLICommand decorator and added to the set of optional arguments
+ # on the ceph cli/api
+ setattr(_format_response, "extra_args", {"format": str})
+ return _format_response
from ceph.deployment import inventory
from ceph.deployment.service_spec import ServiceSpec, NFSServiceSpec, RGWSpec, \
- IscsiServiceSpec, IngressSpec, SNMPGatewaySpec
+ IscsiServiceSpec, IngressSpec, SNMPGatewaySpec, MDSSpec
from ceph.deployment.drive_group import DriveGroupSpec
from ceph.deployment.hostspec import HostSpec, SpecValidationError
from ceph.utils import datetime_to_str, str_to_datetime
"""
raise NotImplementedError()
- def drain_host(self, hostname: str) -> OrchResult[str]:
+ def drain_host(self, hostname: str, force: bool = False) -> OrchResult[str]:
"""
drain all daemons from a host
"""
raise NotImplementedError()
- def remove_host_label(self, host: str, label: str) -> OrchResult[str]:
+ def remove_host_label(self, host: str, label: str, force: bool = False) -> OrchResult[str]:
"""
Remove a host label
"""
'node-exporter': self.apply_node_exporter,
'osd': lambda dg: self.apply_drivegroups([dg]), # type: ignore
'prometheus': self.apply_prometheus,
+ 'loki': self.apply_loki,
+ 'promtail': self.apply_promtail,
'rbd-mirror': self.apply_rbd_mirror,
'rgw': self.apply_rgw,
'ingress': self.apply_ingress,
"""Update mgr cluster"""
raise NotImplementedError()
- def apply_mds(self, spec: ServiceSpec) -> OrchResult[str]:
+ def apply_mds(self, spec: MDSSpec) -> OrchResult[str]:
"""Update MDS cluster"""
raise NotImplementedError()
"""Update existing a Node-Exporter daemon(s)"""
raise NotImplementedError()
+ def apply_loki(self, spec: ServiceSpec) -> OrchResult[str]:
+ """Update existing a Loki daemon(s)"""
+ raise NotImplementedError()
+
+ def apply_promtail(self, spec: ServiceSpec) -> OrchResult[str]:
+ """Update existing a Promtail daemon(s)"""
+ raise NotImplementedError()
+
def apply_crash(self, spec: ServiceSpec) -> OrchResult[str]:
"""Update existing a crash daemon(s)"""
raise NotImplementedError()
def upgrade_check(self, image: Optional[str], version: Optional[str]) -> OrchResult[str]:
raise NotImplementedError()
- def upgrade_ls(self, image: Optional[str], tags: bool) -> OrchResult[Dict[Any, Any]]:
+ def upgrade_ls(self, image: Optional[str], tags: bool, show_all_versions: Optional[bool] = False) -> OrchResult[Dict[Any, Any]]:
raise NotImplementedError()
- def upgrade_start(self, image: Optional[str], version: Optional[str]) -> OrchResult[str]:
+ def upgrade_start(self, image: Optional[str], version: Optional[str], daemon_types: Optional[List[str]],
+ hosts: Optional[str], services: Optional[List[str]], limit: Optional[int]) -> OrchResult[str]:
raise NotImplementedError()
def upgrade_pause(self) -> OrchResult[str]:
'alertmanager': 'alertmanager',
'prometheus': 'prometheus',
'node-exporter': 'node-exporter',
+ 'loki': 'loki',
+ 'promtail': 'promtail',
'crash': 'crash',
'crashcollector': 'crash', # Specific Rook Daemon
'container': 'container',
'grafana': ['grafana'],
'alertmanager': ['alertmanager'],
'prometheus': ['prometheus'],
+ 'loki': ['loki'],
+ 'promtail': ['promtail'],
'node-exporter': ['node-exporter'],
'crash': ['crash'],
'container': ['container'],
self.in_progress = False # Is an upgrade underway?
self.target_image: Optional[str] = None
self.services_complete: List[str] = [] # Which daemon types are fully updated?
+ self.which: str = '<unknown>' # for if user specified daemon types, services or hosts
self.progress: Optional[str] = None # How many of the daemons have we upgraded
self.message = "" # Freeform description
memory_usage: Optional[int] = None,
memory_request: Optional[int] = None,
memory_limit: Optional[int] = None,
+ cpu_percentage: Optional[str] = None,
service_name: Optional[str] = None,
ports: Optional[List[int]] = None,
ip: Optional[str] = None,
self.memory_request: Optional[int] = memory_request
self.memory_limit: Optional[int] = memory_limit
+ self.cpu_percentage: Optional[str] = cpu_percentage
+
self.ports: Optional[List[int]] = ports
self.ip: Optional[str] = ip
out['memory_usage'] = self.memory_usage
out['memory_request'] = self.memory_request
out['memory_limit'] = self.memory_limit
+ out['cpu_percentage'] = self.cpu_percentage
out['version'] = self.version
out['status'] = self.status.value if self.status is not None else None
out['status_desc'] = self.status_desc
out['memory_usage'] = self.memory_usage
out['memory_request'] = self.memory_request
out['memory_limit'] = self.memory_limit
+ out['cpu_percentage'] = self.cpu_percentage
out['version'] = self.version
out['status'] = self.status.value if self.status is not None else None
out['status_desc'] = self.status_desc
import yaml
from prettytable import PrettyTable
+try:
+ from natsort import natsorted
+except ImportError:
+ # fallback to normal sort
+ natsorted = sorted # type: ignore
+
from ceph.deployment.inventory import Device
from ceph.deployment.drive_group import DriveGroupSpec, DeviceSelection, OSDMethod
-from ceph.deployment.service_spec import PlacementSpec, ServiceSpec, service_spec_allow_invalid_from_json, \
- SNMPGatewaySpec
+from ceph.deployment.service_spec import PlacementSpec, ServiceSpec, service_spec_allow_invalid_from_json
from ceph.deployment.hostspec import SpecValidationError
from ceph.utils import datetime_now
from mgr_util import to_pretty_timedelta, format_dimless, format_bytes
from mgr_module import MgrModule, HandleCommandResult, Option
+from object_format import Format
from ._interface import OrchestratorClientMixin, DeviceLightLoc, _cli_read_command, \
raise_if_exception, _cli_write_command, OrchestratorError, \
NoOrchestrator, OrchestratorValidationError, NFSServiceSpec, \
RGWSpec, InventoryFilter, InventoryHost, HostSpec, CLICommandMeta, \
ServiceDescription, DaemonDescription, IscsiServiceSpec, json_to_generic_spec, \
- GenericSpec, DaemonDescriptionStatus
+ GenericSpec, DaemonDescriptionStatus, SNMPGatewaySpec, MDSSpec
def nice_delta(now: datetime.datetime, t: Optional[datetime.datetime], suffix: str = '') -> str:
return format_bytes(v, 5)
-class Format(enum.Enum):
- plain = 'plain'
- json = 'json'
- json_pretty = 'json-pretty'
- yaml = 'yaml'
-
-
class ServiceType(enum.Enum):
mon = 'mon'
mgr = 'mgr'
grafana = 'grafana'
node_exporter = 'node-exporter'
prometheus = 'prometheus'
+ loki = 'loki'
+ promtail = 'promtail'
mds = 'mds'
rgw = 'rgw'
nfs = 'nfs'
if many:
return yaml.dump_all(to_yaml(copy), default_flow_style=False)
return yaml.dump(to_yaml(copy), default_flow_style=False)
+ elif format == Format.xml or format == Format.xml_pretty:
+ raise OrchestratorError(f"format '{format.name}' is not implemented.")
else:
raise OrchestratorError(f'unsupported format type: {format}')
return HandleCommandResult(stdout=completion.result_str())
@_cli_write_command('orch host drain')
- def _drain_host(self, hostname: str) -> HandleCommandResult:
+ def _drain_host(self, hostname: str, force: bool = False) -> HandleCommandResult:
"""drain all daemons from a host"""
- completion = self.drain_host(hostname)
+ completion = self.drain_host(hostname, force)
raise_if_exception(completion)
return HandleCommandResult(stdout=completion.result_str())
table.align = 'l'
table.left_padding_width = 0
table.right_padding_width = 2
- for host in sorted(hosts, key=lambda h: h.hostname):
+ for host in natsorted(hosts, key=lambda h: h.hostname):
table.add_row((host.hostname, host.addr, ' '.join(
host.labels), host.status.capitalize()))
output = table.get_string()
return HandleCommandResult(stdout=completion.result_str())
@_cli_write_command('orch host label rm')
- def _host_label_rm(self, hostname: str, label: str) -> HandleCommandResult:
+ def _host_label_rm(self, hostname: str, label: str, force: bool = False) -> HandleCommandResult:
"""Remove a host label"""
- completion = self.remove_host_label(hostname, label)
+ completion = self.remove_host_label(hostname, label, force)
raise_if_exception(completion)
return HandleCommandResult(stdout=completion.result_str())
raise_if_exception(completion)
return HandleCommandResult(stdout=completion.result_str())
- @_cli_write_command(
- 'orch host maintenance enter')
+ @_cli_write_command('orch host maintenance enter')
def _host_maintenance_enter(self, hostname: str, force: bool = False) -> HandleCommandResult:
"""
Prepare a host for maintenance by shutting down and disabling all Ceph daemons (cephadm only)
return HandleCommandResult(stdout=completion.result_str())
- @_cli_write_command(
- 'orch host maintenance exit')
+ @_cli_write_command('orch host maintenance exit')
def _host_maintenance_exit(self, hostname: str) -> HandleCommandResult:
"""
Return a host from maintenance, restarting all Ceph daemons (cephadm only)
table = PrettyTable(
['HOST', 'PATH', 'TYPE', 'TRANSPORT', 'RPM', 'DEVICE ID', 'SIZE',
'HEALTH', 'IDENT', 'FAULT',
- 'AVAILABLE', 'REJECT REASONS'],
+ 'AVAILABLE', 'REFRESHED', 'REJECT REASONS'],
border=False)
else:
table = PrettyTable(
['HOST', 'PATH', 'TYPE', 'DEVICE ID', 'SIZE',
- 'AVAILABLE', 'REJECT REASONS'],
+ 'AVAILABLE', 'REFRESHED', 'REJECT REASONS'],
border=False)
table.align = 'l'
table._align['SIZE'] = 'r'
table.left_padding_width = 0
table.right_padding_width = 2
- for host_ in sorted(inv_hosts, key=lambda h: h.name): # type: InventoryHost
+ now = datetime_now()
+ for host_ in natsorted(inv_hosts, key=lambda h: h.name): # type: InventoryHost
for d in sorted(host_.devices.devices, key=lambda d: d.path): # type: Device
led_ident = 'N/A'
display_map[led_ident],
display_map[led_fail],
display_map[d.available],
+ nice_delta(now, d.created, ' ago'),
', '.join(d.rejected_reasons)
)
)
d.device_id,
format_dimless(d.sys_api.get('size', 0), 5),
display_map[d.available],
+ nice_delta(now, d.created, ' ago'),
', '.join(d.rejected_reasons)
)
)
table._align['MEM LIM'] = 'r'
table.left_padding_width = 0
table.right_padding_width = 2
- for s in sorted(daemons, key=lambda s: s.name()):
+ for s in natsorted(daemons, key=lambda d: d.name()):
if s.status_desc:
status = s.status_desc
else:
usage = """
Usage:
ceph orch daemon add osd host:device1,device2,...
+ ceph orch daemon add osd host:data_devices=device1,device2,db_devices=device3,osds_per_device=2,...
"""
if not svc_arg:
return HandleCommandResult(-errno.EINVAL, stderr=usage)
try:
- host_name, block_device = svc_arg.split(":")
- block_devices = block_device.split(',')
- devs = DeviceSelection(paths=block_devices)
+ host_name, raw = svc_arg.split(":")
+ drive_group_spec = {
+ 'data_devices': []
+ } # type: Dict
+ drv_grp_spec_arg = None
+ values = raw.split(',')
+ while values:
+ v = values[0].split(',', 1)[0]
+ if '=' in v:
+ drv_grp_spec_arg, value = v.split('=')
+ if drv_grp_spec_arg in ['data_devices',
+ 'db_devices',
+ 'wal_devices',
+ 'journal_devices']:
+ drive_group_spec[drv_grp_spec_arg] = []
+ drive_group_spec[drv_grp_spec_arg].append(value)
+ else:
+ drive_group_spec[drv_grp_spec_arg] = value
+ elif drv_grp_spec_arg is not None:
+ drive_group_spec[drv_grp_spec_arg].append(v)
+ else:
+ drive_group_spec['data_devices'].append(v)
+ values.remove(v)
+
+ for dev_type in ['data_devices', 'db_devices', 'wal_devices', 'journal_devices']:
+ drive_group_spec[dev_type] = DeviceSelection(
+ paths=drive_group_spec[dev_type]) if drive_group_spec.get(dev_type) else None
+
drive_group = DriveGroupSpec(
placement=PlacementSpec(host_pattern=host_name),
- data_devices=devs,
method=method,
+ **drive_group_spec,
)
except (TypeError, KeyError, ValueError) as e:
- msg = f"Invalid host:device spec: '{svc_arg}': {e}" + usage
+ msg = f"Invalid 'host:device' spec: '{svc_arg}': {e}" + usage
return HandleCommandResult(-errno.EINVAL, stderr=msg)
completion = self.create_osds(drive_group)
if inbuf:
if service_type or placement or unmanaged:
raise OrchestratorValidationError(usage)
- content: Iterator = yaml.safe_load_all(inbuf)
+ yaml_objs: Iterator = yaml.safe_load_all(inbuf)
specs: List[Union[ServiceSpec, HostSpec]] = []
+ # YAML '---' document separator with no content generates
+ # None entries in the output. Let's skip them silently.
+ content = [o for o in yaml_objs if o is not None]
for s in content:
spec = json_to_generic_spec(s)
if inbuf:
raise OrchestratorValidationError('unrecognized command -i; -h or --help for usage')
- spec = ServiceSpec(
+ spec = MDSSpec(
service_type='mds',
service_id=fs_name,
placement=PlacementSpec.from_string(placement),
unmanaged=unmanaged,
preview_only=dry_run)
+
+ spec.validate() # force any validation exceptions to be caught correctly
+
return self._apply_misc([spec], dry_run, format, no_overwrite)
@_cli_write_command('orch apply rgw')
preview_only=dry_run
)
+ spec.validate() # force any validation exceptions to be caught correctly
+
return self._apply_misc([spec], dry_run, format, no_overwrite)
@_cli_write_command('orch apply nfs')
preview_only=dry_run
)
+ spec.validate() # force any validation exceptions to be caught correctly
+
return self._apply_misc([spec], dry_run, format, no_overwrite)
@_cli_write_command('orch apply iscsi')
preview_only=dry_run
)
+ spec.validate() # force any validation exceptions to be caught correctly
+
return self._apply_misc([spec], dry_run, format, no_overwrite)
@_cli_write_command('orch apply snmp-gateway')
@_cli_read_command('orch upgrade ls')
def _upgrade_ls(self,
image: Optional[str] = None,
- tags: bool = False) -> HandleCommandResult:
+ tags: bool = False,
+ show_all_versions: Optional[bool] = False
+ ) -> HandleCommandResult:
"""Check for available versions (or tags) we can upgrade to"""
- completion = self.upgrade_ls(image, tags)
+ completion = self.upgrade_ls(image, tags, show_all_versions)
r = raise_if_exception(completion)
out = json.dumps(r, indent=4)
return HandleCommandResult(stdout=out)
r = {
'target_image': status.target_image,
'in_progress': status.in_progress,
+ 'which': status.which,
'services_complete': status.services_complete,
'progress': status.progress,
'message': status.message,
def _upgrade_start(self,
image: Optional[str] = None,
_end_positional_: int = 0,
+ daemon_types: Optional[str] = None,
+ hosts: Optional[str] = None,
+ services: Optional[str] = None,
+ limit: Optional[int] = None,
ceph_version: Optional[str] = None) -> HandleCommandResult:
"""Initiate upgrade"""
self._upgrade_check_image_name(image, ceph_version)
- completion = self.upgrade_start(image, ceph_version)
+ dtypes = daemon_types.split(',') if daemon_types is not None else None
+ service_names = services.split(',') if services is not None else None
+ completion = self.upgrade_start(image, ceph_version, dtypes, hosts, service_names, limit)
raise_if_exception(completion)
return HandleCommandResult(stdout=completion.result_str())
import pytest
import yaml
+from ceph.deployment.hostspec import HostSpec
+from ceph.deployment.inventory import Devices, Device
from ceph.deployment.service_spec import ServiceSpec
from ceph.deployment import inventory
from ceph.utils import datetime_now
assert r == HandleCommandResult(retval=0, stdout=out, stderr='')
+dlist = OrchResult([DaemonDescription(daemon_type="osd", daemon_id="1"), DaemonDescription(
+ daemon_type="osd", daemon_id="10"), DaemonDescription(daemon_type="osd", daemon_id="2")])
+
+
+@mock.patch("orchestrator.OrchestratorCli.list_daemons", return_value=dlist)
+def test_orch_ps(_describe_service):
+
+ # Ensure natural sorting on daemon names (osd.1, osd.2, osd.10)
+ cmd = {
+ 'prefix': 'orch ps'
+ }
+ m = OrchestratorCli('orchestrator', 0, 0)
+ r = m._handle_command(None, cmd)
+ out = 'NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID \n'\
+ 'osd.1 <unknown> unknown - - - - <unknown> <unknown> \n'\
+ 'osd.2 <unknown> unknown - - - - <unknown> <unknown> \n'\
+ 'osd.10 <unknown> unknown - - - - <unknown> <unknown> '
+ assert r == HandleCommandResult(retval=0, stdout=out, stderr='')
+
+
+hlist = OrchResult([HostSpec("ceph-node-1"), HostSpec("ceph-node-2"), HostSpec("ceph-node-10")])
+
+
+@mock.patch("orchestrator.OrchestratorCli.get_hosts", return_value=hlist)
+def test_orch_host_ls(_describe_service):
+
+ # Ensure natural sorting on hostnames (ceph-node-1, ceph-node-2, ceph-node-10)
+ cmd = {
+ 'prefix': 'orch host ls'
+ }
+ m = OrchestratorCli('orchestrator', 0, 0)
+ r = m._handle_command(None, cmd)
+ out = 'HOST ADDR LABELS STATUS \n'\
+ 'ceph-node-1 ceph-node-1 \n'\
+ 'ceph-node-2 ceph-node-2 \n'\
+ 'ceph-node-10 ceph-node-10 \n'\
+ '3 hosts in cluster'
+ assert r == HandleCommandResult(retval=0, stdout=out, stderr='')
+
+
+def test_orch_device_ls():
+ devices = Devices([Device("/dev/vdb", available=True)])
+ ilist = OrchResult([InventoryHost("ceph-node-1", devices=devices), InventoryHost("ceph-node-2",
+ devices=devices), InventoryHost("ceph-node-10", devices=devices)])
+
+ with mock.patch("orchestrator.OrchestratorCli.get_inventory", return_value=ilist):
+ # Ensure natural sorting on hostnames (ceph-node-1, ceph-node-2, ceph-node-10)
+ cmd = {
+ 'prefix': 'orch device ls'
+ }
+ m = OrchestratorCli('orchestrator', 0, 0)
+ r = m._handle_command(None, cmd)
+ out = 'HOST PATH TYPE DEVICE ID SIZE AVAILABLE REFRESHED REJECT REASONS \n'\
+ 'ceph-node-1 /dev/vdb unknown None 0 Yes 0s ago \n'\
+ 'ceph-node-2 /dev/vdb unknown None 0 Yes 0s ago \n'\
+ 'ceph-node-10 /dev/vdb unknown None 0 Yes 0s ago '
+ assert r == HandleCommandResult(retval=0, stdout=out, stderr='')
+
+
def test_preview_table_osd_smoke():
data = [
{
'server_port',
type='int',
default=DEFAULT_PORT,
- desc='the port on which the module listens for HTTP requests'
+ desc='the port on which the module listens for HTTP requests',
+ runtime=True
),
Option(
'scrape_interval',
return metrics
+ def get_server_addr(self) -> str:
+ """
+ Return the current mgr server IP.
+ """
+ server_addr = cast(str, self.get_localized_module_option('server_addr', get_default_addr()))
+ if server_addr in ['::', '0.0.0.0']:
+ return self.get_mgr_ip()
+ return server_addr
+
+ def config_notify(self) -> None:
+ """
+ This method is called whenever one of our config options is changed.
+ """
+ # https://stackoverflow.com/questions/7254845/change-cherrypy-port-and-restart-web-server
+ # if we omit the line: cherrypy.server.httpserver = None
+ # then the cherrypy server is not restarted correctly
+ self.log.info('Restarting engine...')
+ cherrypy.engine.stop()
+ cherrypy.server.httpserver = None
+ server_port = cast(int, self.get_localized_module_option('server_port', DEFAULT_PORT))
+ self.set_uri(build_url(scheme='http', host=self.get_server_addr(), port=server_port, path='/'))
+ cherrypy.config.update({'server.socket_port': server_port})
+ cherrypy.engine.start()
+ self.log.info('Engine started.')
+
@profile_method()
def get_health(self) -> None:
for mon in mon_status['monmap']['mons']:
rank = mon['rank']
id_ = mon['name']
- host_version = servers.get((id_, 'mon'), ('', '', ''))
+ mon_version = servers.get((id_, 'mon'), ('', '', ''))
self.metrics['mon_metadata'].set(1, (
- 'mon.{}'.format(id_), host_version[0],
+ 'mon.{}'.format(id_), mon_version[0],
mon['public_addr'].rsplit(':', 1)[0], rank,
- host_version[1]
+ mon_version[1]
))
in_quorum = int(rank in mon_status['quorum'])
self.metrics['mon_quorum_status'].set(in_quorum, (
def get_service_list(self) -> Dict[Tuple[str, str], Tuple[str, str, str]]:
ret = {}
for server in self.list_servers():
- version = cast(str, server.get('ceph_version', ''))
host = cast(str, server.get('hostname', ''))
for service in cast(List[ServiceInfoT], server.get('services', [])):
- ret.update({(service['id'], service['type']): (host, version, service.get('name', ''))})
+ ret.update({(service['id'], service['type']): (
+ host, service['ceph_version'], service.get('name', ''))})
return ret
@profile_method()
"skipping output".format(id_))
continue
- host_version = servers.get((str(id_), 'osd'), ('', '', ''))
+ osd_version = servers.get((str(id_), 'osd'), ('', '', ''))
# collect disk occupation metadata
osd_metadata = self.get_metadata("osd", str(id_))
c_addr,
dev_class,
f_iface,
- host_version[0],
+ osd_version[0],
obj_store,
p_addr,
- host_version[1]
+ osd_version[1]
))
# collect osd status
})
# Publish the URI that others may use to access the service we're
# about to start serving
- if server_addr in ['::', '0.0.0.0']:
- server_addr = self.get_mgr_ip()
- self.set_uri(build_url(scheme='http', host=server_addr, port=server_port, path='/'))
+ self.set_uri(build_url(scheme='http', host=self.get_server_addr(), port=server_port, path='/'))
cherrypy.tree.mount(Root(), "/")
self.log.info('Starting engine...')
# tell metrics collection thread to stop collecting new metrics
self.metrics_thread.stop()
cherrypy.engine.stop()
+ cherrypy.server.httpserver = None
self.log.info('Engine stopped.')
self.shutdown_rbd_stats()
# wait for the metrics collection thread to stop
self.shutdown_event.wait()
self.shutdown_event.clear()
cherrypy.engine.stop()
+ cherrypy.server.httpserver = None
self.log.info('Engine stopped.')
def shutdown(self) -> None:
requests-mock
scipy
werkzeug
+natsort
def add_host_label(self, host: str, label: str) -> OrchResult[str]:
return self.rook_cluster.add_host_label(host, label)
- def remove_host_label(self, host: str, label: str) -> OrchResult[str]:
+ def remove_host_label(self, host: str, label: str, force: bool = False) -> OrchResult[str]:
return self.rook_cluster.remove_host_label(host, label)
"""
@handle_orch_error
import uuid
import errno
import traceback
+import logging
from collections import OrderedDict
from typing import List, Dict, Set
from mgr_module import CommandResult
from datetime import datetime, timedelta
-from threading import Lock, Condition, Thread
+from threading import Lock, Condition, Thread, Timer
from ipaddress import ip_address
PERF_STATS_VERSION = 1
MDS_GLOBAL_PERF_QUERY_COUNTERS = ['cap_hit', 'read_latency', 'write_latency', 'metadata_latency', 'dentry_lease', 'opened_files', 'pinned_icaps', 'opened_inodes', 'read_io_sizes', 'write_io_sizes'] # type: List[str]
QUERY_EXPIRE_INTERVAL = timedelta(minutes=1)
+REREGISTER_TIMER_INTERVAL = 1
CLIENT_METADATA_KEY = "client_metadata"
CLIENT_METADATA_SUBKEYS = ["hostname", "root"]
NON_EXISTENT_KEY_STR = "N/A"
+logger = logging.getLogger(__name__)
+
class FilterSpec(object):
"""
query filters encapsulated and used as key for query map
user_queries = {} # type: Dict[str, Dict]
meta_lock = Lock()
+ rqtimer = None
client_metadata = {
'metadata' : {},
'to_purge' : set(),
def __init__(self, module):
self.module = module
self.log = module.log
+ self.prev_rank0_gid = None
# report processor thread
self.report_processor = Thread(target=self.run)
self.report_processor.start()
if not key in result or not result[key] == meta:
result[key] = meta
- def notify(self, cmdtag):
+ def notify_cmd(self, cmdtag):
self.log.debug("cmdtag={0}".format(cmdtag))
with self.meta_lock:
try:
self.log.debug("client_metadata={0}, to_purge={1}".format(
self.client_metadata['metadata'], self.client_metadata['to_purge']))
- def update_client_meta(self, rank_set):
+ def notify_fsmap(self):
+ #Reregister the user queries when there is a new rank0 mds
+ with self.lock:
+ gid_state = FSPerfStats.get_rank0_mds_gid_state(self.module.get('fs_map'))
+ if not gid_state:
+ return
+ rank0_gid, state = gid_state
+ if (rank0_gid and rank0_gid != self.prev_rank0_gid and state == 'up:active'):
+ #the new rank0 MDS is up:active
+ ua_last_updated = time.monotonic()
+ if (self.rqtimer and self.rqtimer.is_alive()):
+ self.rqtimer.cancel()
+ self.rqtimer = Timer(REREGISTER_TIMER_INTERVAL,
+ self.re_register_queries, args=(rank0_gid, ua_last_updated,))
+ self.rqtimer.start()
+
+ def re_register_queries(self, rank0_gid, ua_last_updated):
+ #reregister queries if the metrics are the latest. Otherwise reschedule the timer and
+ #wait for the empty metrics
+ with self.lock:
+ if self.mx_last_updated >= ua_last_updated:
+ self.log.debug("reregistering queries...")
+ self.module.reregister_mds_perf_queries()
+ self.prev_rank0_gid = rank0_gid
+ else:
+ #reschedule the timer
+ self.rqtimer = Timer(REREGISTER_TIMER_INTERVAL,
+ self.re_register_queries, args=(rank0_gid, ua_last_updated,))
+ self.rqtimer.start()
+
+ @staticmethod
+ def get_rank0_mds_gid_state(fsmap):
+ for fs in fsmap['filesystems']:
+ mds_map = fs['mdsmap']
+ if mds_map is not None:
+ for mds_id, mds_status in mds_map['info'].items():
+ if mds_status['rank'] == 0:
+ return mds_status['gid'], mds_status['state']
+ logger.warn("No rank0 mds in the fsmap")
+
+ def update_client_meta(self):
new_updates = {}
pending_updates = [v[0] for v in self.client_metadata['in_progress'].values()]
with self.meta_lock:
- for rank in rank_set:
- if rank in pending_updates:
- continue
+ fsmap = self.module.get('fs_map')
+ for fs in fsmap['filesystems']:
+ mdsmap = fs['mdsmap']
+ gid = mdsmap['up']["mds_0"]
+ if gid in pending_updates:
+ continue
tag = str(uuid.uuid4())
result = CommandResult(tag)
- new_updates[tag] = (rank, result)
+ new_updates[tag] = (gid, result)
self.client_metadata['in_progress'].update(new_updates)
- self.log.debug("updating client metadata from {0}".format(new_updates))
+ self.log.debug(f"updating client metadata from {new_updates}")
cmd_dict = {'prefix': 'client ls'}
for tag,val in new_updates.items():
# what's received from MDS
incoming_metrics = result['metrics'][1]
+ # metrics updated (monotonic) time
+ self.mx_last_updated = result['metrics'][2][0]
+
# cull missing MDSs and clients
self.cull_missing_entries(raw_perf_counters, incoming_metrics)
# iterate over metrics list and update our copy (note that we have
# already culled the differences).
- meta_refresh_ranks = set()
for counter in incoming_metrics:
mds_rank = int(counter['k'][0][0])
client_id, client_ip = extract_client_id_and_ip(counter['k'][1][0])
if client_id is not None or not client_ip: # client_id _could_ be 0
with self.meta_lock:
- if not client_id in self.client_metadata['metadata']:
- meta_refresh_ranks.add(mds_rank)
self.set_client_metadata(client_id, "IP", client_ip)
else:
self.log.warn("client metadata for client_id={0} might be unavailable".format(client_id))
del raw_client_counters[:]
raw_client_counters.extend(counter['c'])
# send an asynchronous client metadata refresh
- self.update_client_meta(meta_refresh_ranks)
+ self.update_client_meta()
def get_raw_perf_counters_global(self, query):
raw_perf_counters = query.setdefault(QUERY_RAW_COUNTERS_GLOBAL, {})
},
]
MODULE_OPTIONS: List[Option] = []
- NOTIFY_TYPES = [NotifyType.command]
+ NOTIFY_TYPES = [NotifyType.command, NotifyType.fs_map]
def __init__(self, *args, **kwargs):
super(Module, self).__init__(*args, **kwargs)
def notify(self, notify_type: NotifyType, notify_id):
if notify_type == NotifyType.command:
- self.fs_perf_stats.notify(notify_id)
+ self.fs_perf_stats.notify_cmd(notify_id)
+ elif notify_type == NotifyType.fs_map:
+ self.fs_perf_stats.notify_fsmap()
def handle_command(self, inbuf, cmd):
prefix = cmd['prefix']
basic_mds_metadata = 'basic_mds_metadata'
basic_pool_usage = 'basic_pool_usage'
basic_usage_by_class = 'basic_usage_by_class'
+ basic_rook_v01 = 'basic_rook_v01'
MODULE_COLLECTION : List[Dict] = [
{
"description": "Default device class usage statistics",
"channel": "basic",
"nag": False
- }
+ },
+ {
+ "name": Collection.basic_rook_v01,
+ "description": "Basic Rook deployment data",
+ "channel": "basic",
+ "nag": True
+ },
+]
+
+ROOK_KEYS_BY_COLLECTION : List[Tuple[str, Collection]] = [
+ # Note: a key cannot be both a node and a leaf, e.g.
+ # "rook/a/b"
+ # "rook/a/b/c"
+ ("rook/version", Collection.basic_rook_v01),
+ ("rook/kubernetes/version", Collection.basic_rook_v01),
+ ("rook/csi/version", Collection.basic_rook_v01),
+ ("rook/node/count/kubernetes-total", Collection.basic_rook_v01),
+ ("rook/node/count/with-ceph-daemons", Collection.basic_rook_v01),
+ ("rook/node/count/with-csi-rbd-plugin", Collection.basic_rook_v01),
+ ("rook/node/count/with-csi-cephfs-plugin", Collection.basic_rook_v01),
+ ("rook/node/count/with-csi-nfs-plugin", Collection.basic_rook_v01),
+ ("rook/usage/storage-class/count/total", Collection.basic_rook_v01),
+ ("rook/usage/storage-class/count/rbd", Collection.basic_rook_v01),
+ ("rook/usage/storage-class/count/cephfs", Collection.basic_rook_v01),
+ ("rook/usage/storage-class/count/nfs", Collection.basic_rook_v01),
+ ("rook/usage/storage-class/count/bucket", Collection.basic_rook_v01),
+ ("rook/cluster/storage/device-set/count/total", Collection.basic_rook_v01),
+ ("rook/cluster/storage/device-set/count/portable", Collection.basic_rook_v01),
+ ("rook/cluster/storage/device-set/count/non-portable", Collection.basic_rook_v01),
+ ("rook/cluster/mon/count", Collection.basic_rook_v01),
+ ("rook/cluster/mon/allow-multiple-per-node", Collection.basic_rook_v01),
+ ("rook/cluster/mon/max-id", Collection.basic_rook_v01),
+ ("rook/cluster/mon/pvc/enabled", Collection.basic_rook_v01),
+ ("rook/cluster/mon/stretch/enabled", Collection.basic_rook_v01),
+ ("rook/cluster/network/provider", Collection.basic_rook_v01),
+ ("rook/cluster/external-mode", Collection.basic_rook_v01),
]
class Module(MgrModule):
'active': False
}
+ # Rook
+ self.get_rook_data(report)
+
if 'crash' in channels:
report['crashes'] = self.gather_crashinfo()
return report
+ def get_rook_data(self, report: Dict[str, object]) -> None:
+ r, outb, outs = self.mon_command({
+ 'prefix': 'config-key dump',
+ 'format': 'json'
+ })
+ if r != 0:
+ return
+ try:
+ config_kv_dump = json.loads(outb)
+ except json.decoder.JSONDecodeError:
+ return
+
+ for elem in ROOK_KEYS_BY_COLLECTION:
+ # elem[0] is the full key path (e.g. "rook/node/count/with-csi-nfs-plugin")
+ # elem[1] is the Collection this key belongs to
+ if self.is_enabled_collection(elem[1]):
+ self.add_kv_to_report(report, elem[0], config_kv_dump.get(elem[0]))
+
+ def add_kv_to_report(self, report: Dict[str, object], key_path: str, value: Any) -> None:
+ last_node = key_path.split('/')[-1]
+ for node in key_path.split('/')[0:-1]:
+ if node not in report:
+ report[node] = {}
+ report = report[node] # type: ignore
+
+ # sanity check of keys correctness
+ if not isinstance(report, dict):
+ self.log.error(f"'{key_path}' is an invalid key, expected type 'dict' but got {type(report)}")
+ return
+
+ if last_node in report:
+ self.log.error(f"'{key_path}' is an invalid key, last part must not exist at this point")
+ return
+
+ report[last_node] = value
+
def _try_post(self, what: str, url: str, report: Dict[str, Dict[str, str]]) -> Optional[str]:
self.log.info('Sending %s to: %s' % (what, url))
proxies = dict()
{
"available": true,
"device_id": "",
+ "created": "2022-02-11T10:58:23.177450Z",
"human_readable_type": "ssd",
"lvs": [],
"path": "/dev/vdb",
{
"available": true,
"device_id": "",
+ "created": "2022-02-11T10:58:23.177450Z",
"human_readable_type": "hdd",
"lvs": [],
"path": "/dev/vdd",
{
"available": true,
"device_id": "",
+ "created": "2022-02-11T10:58:23.177450Z",
"human_readable_type": "ssd",
"lvs": [],
"path": "/dev/vdb",
{
"available": true,
"device_id": "",
+ "created": "2022-02-11T10:58:23.177450Z",
"human_readable_type": "hdd",
"lvs": [],
"path": "/dev/vdd",
--- /dev/null
+import errno
+from typing import (
+ Any,
+ Dict,
+ Optional,
+ Tuple,
+ Type,
+ TypeVar,
+)
+
+import pytest
+
+from mgr_module import CLICommand
+import object_format
+
+
+T = TypeVar("T", bound="Parent")
+
+
+class Simpler:
+ def __init__(self, name, val=None):
+ self.name = name
+ self.val = val or {}
+ self.version = 1
+
+ def to_simplified(self) -> Dict[str, Any]:
+ return {
+ "version": self.version,
+ "name": self.name,
+ "value": self.val,
+ }
+
+
+class JSONer(Simpler):
+ def to_json(self) -> Dict[str, Any]:
+ d = self.to_simplified()
+ d["_json"] = True
+ return d
+
+ @classmethod
+ def from_json(cls: Type[T], data) -> T:
+ o = cls(data.get("name", ""), data.get("value"))
+ o.version = data.get("version", 1) + 1
+ return o
+
+
+class YAMLer(Simpler):
+ def to_yaml(self) -> Dict[str, Any]:
+ d = self.to_simplified()
+ d["_yaml"] = True
+ return d
+
+
+@pytest.mark.parametrize(
+ "obj, compatible, json_val",
+ [
+ ({}, False, "{}"),
+ ({"name": "foobar"}, False, '{"name": "foobar"}'),
+ ([1, 2, 3], False, "[1, 2, 3]"),
+ (JSONer("bob"), False, '{"name": "bob", "value": {}, "version": 1}'),
+ (
+ JSONer("betty", 77),
+ False,
+ '{"name": "betty", "value": 77, "version": 1}',
+ ),
+ ({}, True, "{}"),
+ ({"name": "foobar"}, True, '{"name": "foobar"}'),
+ (
+ JSONer("bob"),
+ True,
+ '{"_json": true, "name": "bob", "value": {}, "version": 1}',
+ ),
+ ],
+)
+def test_format_json(obj: Any, compatible: bool, json_val: str):
+ assert (
+ object_format.ObjectFormatAdapter(
+ obj, compatible=compatible, json_indent=None
+ ).format_json()
+ == json_val
+ )
+
+
+@pytest.mark.parametrize(
+ "obj, compatible, yaml_val",
+ [
+ ({}, False, "{}\n"),
+ ({"name": "foobar"}, False, "name: foobar\n"),
+ (
+ {"stuff": [1, 88, 909, 32]},
+ False,
+ "stuff:\n- 1\n- 88\n- 909\n- 32\n",
+ ),
+ (
+ JSONer("zebulon", "999"),
+ False,
+ "name: zebulon\nvalue: '999'\nversion: 1\n",
+ ),
+ ({}, True, "{}\n"),
+ ({"name": "foobar"}, True, "name: foobar\n"),
+ (
+ YAMLer("thingy", "404"),
+ True,
+ "_yaml: true\nname: thingy\nvalue: '404'\nversion: 1\n",
+ ),
+ ],
+)
+def test_format_yaml(obj: Any, compatible: bool, yaml_val: str):
+ assert (
+ object_format.ObjectFormatAdapter(
+ obj, compatible=compatible
+ ).format_yaml()
+ == yaml_val
+ )
+
+
+class Retty:
+ def __init__(self, v) -> None:
+ self.value = v
+
+ def mgr_return_value(self) -> int:
+ return self.value
+
+
+@pytest.mark.parametrize(
+ "obj, ret",
+ [
+ ({}, 0),
+ ({"fish": "sticks"}, 0),
+ (-55, 0),
+ (Retty(0), 0),
+ (Retty(-55), -55),
+ ],
+)
+def test_return_value(obj: Any, ret: int):
+ rva = object_format.ReturnValueAdapter(obj)
+ # a ReturnValueAdapter instance meets the ReturnValueProvider protocol.
+ assert object_format._is_return_value_provider(rva)
+ assert rva.mgr_return_value() == ret
+
+
+def test_valid_formats():
+ ofa = object_format.ObjectFormatAdapter({"fred": "wilma"})
+ vf = ofa.valid_formats()
+ assert "json" in vf
+ assert "yaml" in vf
+ assert "xml" in vf
+ assert "plain" in vf
+
+
+def test_error_response_exceptions():
+ err = object_format.ErrorResponseBase()
+ with pytest.raises(NotImplementedError):
+ err.format_response()
+
+ err = object_format.UnsupportedFormat("cheese")
+ assert err.format_response() == (-22, "", "Unsupported format: cheese")
+
+ err = object_format.UnknownFormat("chocolate")
+ assert err.format_response() == (-22, "", "Unknown format name: chocolate")
+
+
+@pytest.mark.parametrize(
+ "value, format, result",
+ [
+ ({}, None, (0, "{}", "")),
+ ({"blat": True}, "json", (0, '{\n "blat": true\n}', "")),
+ ({"blat": True}, "yaml", (0, "blat: true\n", "")),
+ ({"blat": True}, "toml", (-22, "", "Unknown format name: toml")),
+ ({"blat": True}, "xml", (-22, "", "Unsupported format: xml")),
+ (
+ JSONer("hoop", "303"),
+ "yaml",
+ (0, "name: hoop\nvalue: '303'\nversion: 1\n", ""),
+ ),
+ ],
+)
+def test_responder_decorator_default(
+ value: Any, format: Optional[str], result: Tuple[int, str, str]
+) -> None:
+ @object_format.Responder()
+ def orf_value(format: Optional[str] = None):
+ return value
+
+ assert orf_value(format=format) == result
+
+
+class PhonyMultiYAMLFormatAdapter(object_format.ObjectFormatAdapter):
+ """This adapter puts a yaml document/directive separator line
+ before all output. It doesn't actully support multiple documents.
+ """
+ def format_yaml(self):
+ yml = super().format_yaml()
+ return "---\n{}".format(yml)
+
+
+@pytest.mark.parametrize(
+ "value, format, result",
+ [
+ ({}, None, (0, "{}", "")),
+ ({"blat": True}, "json", (0, '{\n "blat": true\n}', "")),
+ ({"blat": True}, "yaml", (0, "---\nblat: true\n", "")),
+ ({"blat": True}, "toml", (-22, "", "Unknown format name: toml")),
+ ({"blat": True}, "xml", (-22, "", "Unsupported format: xml")),
+ (
+ JSONer("hoop", "303"),
+ "yaml",
+ (0, "---\nname: hoop\nvalue: '303'\nversion: 1\n", ""),
+ ),
+ ],
+)
+def test_responder_decorator_custom(
+ value: Any, format: Optional[str], result: Tuple[int, str, str]
+) -> None:
+ @object_format.Responder(PhonyMultiYAMLFormatAdapter)
+ def orf_value(format: Optional[str] = None):
+ return value
+
+ assert orf_value(format=format) == result
+
+
+class FancyDemoAdapter(PhonyMultiYAMLFormatAdapter):
+ """This adapter demonstrates adding formatting for other formats
+ like xml and plain text.
+ """
+ def format_xml(self) -> str:
+ name = self.obj.get("name")
+ size = self.obj.get("size")
+ return f'<object name="{name}" size="{size}" />'
+
+ def format_plain(self) -> str:
+ name = self.obj.get("name")
+ size = self.obj.get("size")
+ es = 'es' if size != 1 else ''
+ return f"{size} box{es} of {name}"
+
+
+class DecoDemo:
+ """Class to stand in for a mgr module, used to test CLICommand integration."""
+
+ @CLICommand("alpha one", perm="rw")
+ @object_format.Responder()
+ def alpha_one(self, name: str = "default") -> Dict[str, str]:
+ return {
+ "alpha": "one",
+ "name": name,
+ "weight": 300,
+ }
+
+ @CLICommand("beta two", perm="r")
+ @object_format.Responder()
+ def beta_two(
+ self, name: str = "default", format: Optional[str] = None
+ ) -> Dict[str, str]:
+ return {
+ "beta": "two",
+ "name": name,
+ "weight": 72,
+ }
+
+ @CLICommand("gamma three", perm="rw")
+ @object_format.Responder(FancyDemoAdapter)
+ def gamma_three(self, size: int = 0) -> Dict[str, Any]:
+ return {"name": "funnystuff", "size": size}
+
+
+@pytest.mark.parametrize(
+ "prefix, args, response",
+ [
+ (
+ "alpha one",
+ {"name": "moonbase"},
+ (
+ 0,
+ '{\n "alpha": "one",\n "name": "moonbase",\n "weight": 300\n}',
+ "",
+ ),
+ ),
+ # ---
+ (
+ "alpha one",
+ {"name": "moonbase2", "format": "yaml"},
+ (
+ 0,
+ "alpha: one\nname: moonbase2\nweight: 300\n",
+ "",
+ ),
+ ),
+ # ---
+ (
+ "alpha one",
+ {"name": "moonbase2", "format": "chocolate"},
+ (
+ -22,
+ "",
+ "Unknown format name: chocolate",
+ ),
+ ),
+ # ---
+ (
+ "beta two",
+ {"name": "blocker"},
+ (
+ 0,
+ '{\n "beta": "two",\n "name": "blocker",\n "weight": 72\n}',
+ "",
+ ),
+ ),
+ # ---
+ (
+ "beta two",
+ {"name": "test", "format": "yaml"},
+ (
+ 0,
+ "beta: two\nname: test\nweight: 72\n",
+ "",
+ ),
+ ),
+ # ---
+ (
+ "beta two",
+ {"name": "test", "format": "plain"},
+ (
+ -22,
+ "",
+ "Unsupported format: plain",
+ ),
+ ),
+ # ---
+ (
+ "gamma three",
+ {},
+ (
+ 0,
+ '{\n "name": "funnystuff",\n "size": 0\n}',
+ "",
+ ),
+ ),
+ # ---
+ (
+ "gamma three",
+ {"size": 1, "format": "json"},
+ (
+ 0,
+ '{\n "name": "funnystuff",\n "size": 1\n}',
+ "",
+ ),
+ ),
+ # ---
+ (
+ "gamma three",
+ {"size": 1, "format": "plain"},
+ (
+ 0,
+ "1 box of funnystuff",
+ "",
+ ),
+ ),
+ # ---
+ (
+ "gamma three",
+ {"size": 2, "format": "plain"},
+ (
+ 0,
+ "2 boxes of funnystuff",
+ "",
+ ),
+ ),
+ # ---
+ (
+ "gamma three",
+ {"size": 2, "format": "xml"},
+ (
+ 0,
+ '<object name="funnystuff" size="2" />',
+ "",
+ ),
+ ),
+ # ---
+ (
+ "gamma three",
+ {"size": 2, "format": "toml"},
+ (
+ -22,
+ "",
+ "Unknown format name: toml",
+ ),
+ ),
+ ],
+)
+def test_cli_command_responder(prefix, args, response):
+ dd = DecoDemo()
+ assert CLICommand.COMMANDS[prefix].call(dd, args, None) == response
+
+
+def test_error_response():
+ e1 = object_format.ErrorResponse("nope")
+ assert e1.format_response() == (-22, "", "nope")
+ assert e1.return_value == -22
+ assert e1.errno == 22
+ assert "ErrorResponse" in repr(e1)
+ assert "nope" in repr(e1)
+ assert e1.mgr_return_value() == -22
+
+ try:
+ open("/this/is_/extremely_/unlikely/_to/exist.txt")
+ except Exception as e:
+ e2 = object_format.ErrorResponse.wrap(e)
+ r = e2.format_response()
+ assert r[0] == -errno.ENOENT
+ assert r[1] == ""
+ assert "No such file or directory" in r[2]
+ assert "ErrorResponse" in repr(e2)
+ assert "No such file or directory" in repr(e2)
+ assert r[0] == e2.mgr_return_value()
+
+ e3 = object_format.ErrorResponse.wrap(RuntimeError("blat"))
+ r = e3.format_response()
+ assert r[0] == -errno.EINVAL
+ assert r[1] == ""
+ assert "blat" in r[2]
+ assert r[0] == e3.mgr_return_value()
commands =
flake8 --config=tox.ini {posargs} \
{posargs:{[testenv:flake8]modules}}
- bash -c 'test $(git ls-files cephadm | grep ".py$" | grep -v tests | xargs grep "docker.io" | wc -l) == 13'
+ bash -c 'test $(git ls-files cephadm | grep ".py$" | grep -v tests | xargs grep "docker.io" | wc -l) == 15'
[testenv:jinjalint]
basepython = python3
next_state = SubvolumeOpSm.transition(SubvolumeTypes.TYPE_CLONE,
SubvolumeStates.STATE_PENDING,
SubvolumeActions.ACTION_CANCELLED)
+ update_clone_failure_status(fs_client, volspec, volname, groupname, subvolname,
+ VolumeException(-errno.EINTR, "user interrupted clone operation"))
else:
next_state = SubvolumeOpSm.transition(SubvolumeTypes.TYPE_CLONE,
SubvolumeStates.STATE_PENDING,
raise VolumeException(-e.args[0], e.args[1])
cptree(source_path, dst_path)
if should_cancel():
- raise VolumeException(-errno.EINTR, "clone operation interrupted")
+ raise VolumeException(-errno.EINTR, "user interrupted clone operation")
def set_quota_on_clone(fs_handle, clone_volumes_pair):
src_path = clone_volumes_pair[1].snapshot_data_path(clone_volumes_pair[2])
bulk_copy(fs_handle, src_path, dst_path, should_cancel)
set_quota_on_clone(fs_handle, clone_volumes)
+def update_clone_failure_status(fs_client, volspec, volname, groupname, subvolname, ve):
+ with open_volume_lockless(fs_client, volname) as fs_handle:
+ with open_clone_subvolume_pair(fs_client, fs_handle, volspec, volname, groupname, subvolname) as clone_volumes:
+ if ve.errno == -errno.EINTR:
+ clone_volumes[0].add_clone_failure(-ve.errno, "user interrupted clone operation")
+ else:
+ clone_volumes[0].add_clone_failure(-ve.errno, ve.error_str)
+
def log_clone_failure(volname, groupname, subvolname, ve):
if ve.errno == -errno.EINTR:
log.info("Clone cancelled: ({0}, {1}, {2})".format(volname, groupname, subvolname))
SubvolumeStates.STATE_INPROGRESS,
SubvolumeActions.ACTION_SUCCESS)
except VolumeException as ve:
+ update_clone_failure_status(fs_client, volspec, volname, groupname, subvolname, ve)
log_clone_failure(volname, groupname, subvolname, ve)
next_state = get_next_state_on_error(ve.errno)
except OpSmException as oe:
clone_state,
SubvolumeActions.ACTION_CANCELLED)
clone_subvolume.state = (next_state, True)
+ clone_subvolume.add_clone_failure(errno.EINTR, "user interrupted clone operation")
s_subvolume.detach_snapshot(s_snapname, track_idx.decode('utf-8'))
def cancel_job(self, volname, job):
@unique
class SubvolumeOpType(Enum):
- CREATE = 'create'
- REMOVE = 'rm'
- REMOVE_FORCE = 'rm-force'
- PIN = 'pin'
- LIST = 'ls'
- GETPATH = 'getpath'
- INFO = 'info'
- RESIZE = 'resize'
- SNAP_CREATE = 'snap-create'
- SNAP_REMOVE = 'snap-rm'
- SNAP_LIST = 'snap-ls'
- SNAP_INFO = 'snap-info'
- SNAP_PROTECT = 'snap-protect'
- SNAP_UNPROTECT = 'snap-unprotect'
- CLONE_SOURCE = 'clone-source'
- CLONE_CREATE = 'clone-create'
- CLONE_STATUS = 'clone-status'
- CLONE_CANCEL = 'clone-cancel'
- CLONE_INTERNAL = 'clone_internal'
- ALLOW_ACCESS = 'allow-access'
- DENY_ACCESS = 'deny-access'
- AUTH_LIST = 'auth-list'
- EVICT = 'evict'
+ CREATE = 'create'
+ REMOVE = 'rm'
+ REMOVE_FORCE = 'rm-force'
+ PIN = 'pin'
+ LIST = 'ls'
+ GETPATH = 'getpath'
+ INFO = 'info'
+ RESIZE = 'resize'
+ SNAP_CREATE = 'snap-create'
+ SNAP_REMOVE = 'snap-rm'
+ SNAP_LIST = 'snap-ls'
+ SNAP_INFO = 'snap-info'
+ SNAP_PROTECT = 'snap-protect'
+ SNAP_UNPROTECT = 'snap-unprotect'
+ CLONE_SOURCE = 'clone-source'
+ CLONE_CREATE = 'clone-create'
+ CLONE_STATUS = 'clone-status'
+ CLONE_CANCEL = 'clone-cancel'
+ CLONE_INTERNAL = 'clone_internal'
+ ALLOW_ACCESS = 'allow-access'
+ DENY_ACCESS = 'deny-access'
+ AUTH_LIST = 'auth-list'
+ EVICT = 'evict'
+ USER_METADATA_SET = 'user-metadata-set'
+ USER_METADATA_GET = 'user-metadata-get'
+ USER_METADATA_LIST = 'user-metadata-ls'
+ USER_METADATA_REMOVE = 'user-metadata-rm'
+ SNAP_METADATA_SET = 'snap-metadata-set'
+ SNAP_METADATA_GET = 'snap-metadata-get'
+ SNAP_METADATA_LIST = 'snap-metadata-ls'
+ SNAP_METADATA_REMOVE = 'snap-metadata-rm'
class SubvolumeTemplate(object):
VERSION = None # type: int
class MetadataManager(object):
GLOBAL_SECTION = "GLOBAL"
+ USER_METADATA_SECTION = "USER_METADATA"
GLOBAL_META_KEY_VERSION = "version"
GLOBAL_META_KEY_TYPE = "type"
GLOBAL_META_KEY_PATH = "path"
GLOBAL_META_KEY_STATE = "state"
+ CLONE_FAILURE_SECTION = "CLONE_FAILURE"
+ CLONE_FAILURE_META_KEY_ERRNO = "errno"
+ CLONE_FAILURE_META_KEY_ERROR_MSG = "error_msg"
+
MAX_IO_BYTES = 8 * 1024
def __init__(self, fs, config_path, mode):
def remove_option(self, section, key):
if not self.config.has_section(section):
raise MetadataMgrException(-errno.ENOENT, "section '{0}' does not exist".format(section))
- self.config.remove_option(section, key)
+ return self.config.remove_option(section, key)
def remove_section(self, section):
self.config.remove_section(section)
def get_global_option(self, key):
return self.get_option(MetadataManager.GLOBAL_SECTION, key)
+ def list_all_options_from_section(self, section):
+ metadata_dict = {}
+ if self.config.has_section(section):
+ options = self.config.options(section)
+ for option in options:
+ metadata_dict[option] = self.config.get(section,option)
+ return metadata_dict
+
def section_has_item(self, section, item):
if not self.config.has_section(section):
raise MetadataMgrException(-errno.ENOENT, "section '{0}' does not exist".format(section))
else '{0:.2f}'.format((float(usedbytes) / nsize) * 100.0),
'pool_namespace': pool_namespace,
'features': self.features, 'state': self.state.value}
+
+ def set_user_metadata(self, keyname, value):
+ self.metadata_mgr.add_section(MetadataManager.USER_METADATA_SECTION)
+ self.metadata_mgr.update_section(MetadataManager.USER_METADATA_SECTION, keyname, str(value))
+ self.metadata_mgr.flush()
+
+ def get_user_metadata(self, keyname):
+ try:
+ value = self.metadata_mgr.get_option(MetadataManager.USER_METADATA_SECTION, keyname)
+ except MetadataMgrException as me:
+ if me.errno == -errno.ENOENT:
+ raise VolumeException(-errno.ENOENT, "key '{0}' does not exist.".format(keyname))
+ raise VolumeException(-me.args[0], me.args[1])
+ return value
+
+ def list_user_metadata(self):
+ return self.metadata_mgr.list_all_options_from_section(MetadataManager.USER_METADATA_SECTION)
+
+ def remove_user_metadata(self, keyname):
+ try:
+ ret = self.metadata_mgr.remove_option(MetadataManager.USER_METADATA_SECTION, keyname)
+ if not ret:
+ raise VolumeException(-errno.ENOENT, "key '{0}' does not exist.".format(keyname))
+ self.metadata_mgr.flush()
+ except MetadataMgrException as me:
+ if me.errno == -errno.ENOENT:
+ raise VolumeException(-errno.ENOENT, "subvolume metadata not does not exist")
+ raise VolumeException(-me.args[0], me.args[1])
+
+ def get_snap_section_name(self, snapname):
+ section = "SNAP_METADATA" + "_" + snapname;
+ return section;
+
+ def set_snapshot_metadata(self, snapname, keyname, value):
+ section = self.get_snap_section_name(snapname)
+ self.metadata_mgr.add_section(section)
+ self.metadata_mgr.update_section(section, keyname, str(value))
+ self.metadata_mgr.flush()
+
+ def get_snapshot_metadata(self, snapname, keyname):
+ try:
+ value = self.metadata_mgr.get_option(self.get_snap_section_name(snapname), keyname)
+ except MetadataMgrException as me:
+ if me.errno == -errno.ENOENT:
+ raise VolumeException(-errno.ENOENT, "key '{0}' does not exist.".format(keyname))
+ raise VolumeException(-me.args[0], me.args[1])
+ return value
+
+ def list_snapshot_metadata(self, snapname):
+ return self.metadata_mgr.list_all_options_from_section(self.get_snap_section_name(snapname))
+
+ def remove_snapshot_metadata(self, snapname, keyname):
+ try:
+ ret = self.metadata_mgr.remove_option(self.get_snap_section_name(snapname), keyname)
+ if not ret:
+ raise VolumeException(-errno.ENOENT, "key '{0}' does not exist.".format(keyname))
+ self.metadata_mgr.flush()
+ except MetadataMgrException as me:
+ if me.errno == -errno.ENOENT:
+ raise VolumeException(-errno.ENOENT, "snapshot metadata not does not exist")
+ raise VolumeException(-me.args[0], me.args[1])
if flush:
self.metadata_mgr.flush()
+ def add_clone_failure(self, errno, error_msg):
+ self.metadata_mgr.add_section(MetadataManager.CLONE_FAILURE_SECTION)
+ self.metadata_mgr.update_section(MetadataManager.CLONE_FAILURE_SECTION,
+ MetadataManager.CLONE_FAILURE_META_KEY_ERRNO, errno)
+ self.metadata_mgr.update_section(MetadataManager.CLONE_FAILURE_SECTION,
+ MetadataManager.CLONE_FAILURE_META_KEY_ERROR_MSG, error_msg)
+ self.metadata_mgr.flush()
+
def create_clone(self, pool, source_volname, source_subvolume, snapname):
subvolume_type = SubvolumeTypes.TYPE_CLONE
try:
raise VolumeException(-errno.EINVAL, "error fetching subvolume metadata")
return clone_source
+ def _get_clone_failure(self):
+ clone_failure = {
+ 'errno' : self.metadata_mgr.get_option(MetadataManager.CLONE_FAILURE_SECTION, MetadataManager.CLONE_FAILURE_META_KEY_ERRNO),
+ 'error_msg' : self.metadata_mgr.get_option(MetadataManager.CLONE_FAILURE_SECTION, MetadataManager.CLONE_FAILURE_META_KEY_ERROR_MSG),
+ }
+ return clone_failure
+
@property
def status(self):
state = SubvolumeStates.from_value(self.metadata_mgr.get_global_option(MetadataManager.GLOBAL_META_KEY_STATE))
}
if not SubvolumeOpSm.is_complete_state(state) and subvolume_type == SubvolumeTypes.TYPE_CLONE:
subvolume_status["source"] = self._get_clone_source()
+ if SubvolumeOpSm.is_failed_state(state) and subvolume_type == SubvolumeTypes.TYPE_CLONE:
+ try:
+ subvolume_status["failure"] = self._get_clone_failure()
+ except MetadataMgrException:
+ pass
+
return subvolume_status
@property
raise VolumeException(-errno.EAGAIN, "snapshot '{0}' has pending clones".format(snapname))
snappath = self.snapshot_path(snapname)
rmsnap(self.fs, snappath)
+ self.metadata_mgr.remove_section(self.get_snap_section_name(snapname))
+ self.metadata_mgr.flush()
def snapshot_info(self, snapname):
if is_inherited_snap(snapname):
raise VolumeException(-errno.EINVAL, "error cloning subvolume")
def detach_snapshot(self, snapname, track_id):
- if not snapname.encode('utf-8') in self.list_snapshots():
- raise VolumeException(-errno.ENOENT, "snapshot '{0}' does not exist".format(snapname))
try:
with open_clone_index(self.fs, self.vol_spec) as index:
index.untrack(track_id)
# machine which removes the entry from the index. Hence, it's safe to removed clone with
# force option for both.
acceptable_rm_clone_states = [SubvolumeStates.STATE_COMPLETE, SubvolumeStates.STATE_CANCELED,
- SubvolumeStates.STATE_FAILED]
+ SubvolumeStates.STATE_FAILED, SubvolumeStates.STATE_RETAINED]
if subvol_state not in acceptable_rm_clone_states:
return False
return True
return
if self.state != SubvolumeStates.STATE_RETAINED:
self.trash_incarnation_dir()
+ self.metadata_mgr.remove_section(MetadataManager.USER_METADATA_SECTION)
self.metadata_mgr.update_global_section(MetadataManager.GLOBAL_META_KEY_PATH, "")
self.metadata_mgr.update_global_section(MetadataManager.GLOBAL_META_KEY_STATE, SubvolumeStates.STATE_RETAINED.value)
self.metadata_mgr.flush()
ret = self.volume_exception_to_retval(ve)
return ret
+ def set_user_metadata(self, **kwargs):
+ ret = 0, "", ""
+ volname = kwargs['vol_name']
+ subvolname = kwargs['sub_name']
+ groupname = kwargs['group_name']
+ keyname = kwargs['key_name']
+ value = kwargs['value']
+
+ try:
+ with open_volume(self, volname) as fs_handle:
+ with open_group(fs_handle, self.volspec, groupname) as group:
+ with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.USER_METADATA_SET) as subvolume:
+ subvolume.set_user_metadata(keyname, value)
+ except VolumeException as ve:
+ ret = self.volume_exception_to_retval(ve)
+ return ret
+
+ def get_user_metadata(self, **kwargs):
+ ret = 0, "", ""
+ volname = kwargs['vol_name']
+ subvolname = kwargs['sub_name']
+ groupname = kwargs['group_name']
+ keyname = kwargs['key_name']
+
+ try:
+ with open_volume(self, volname) as fs_handle:
+ with open_group(fs_handle, self.volspec, groupname) as group:
+ with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.USER_METADATA_GET) as subvolume:
+ value = subvolume.get_user_metadata(keyname)
+ ret = 0, value, ""
+ except VolumeException as ve:
+ ret = self.volume_exception_to_retval(ve)
+ return ret
+
+ def list_user_metadata(self, **kwargs):
+ ret = 0, "", ""
+ volname = kwargs['vol_name']
+ subvolname = kwargs['sub_name']
+ groupname = kwargs['group_name']
+
+ try:
+ with open_volume(self, volname) as fs_handle:
+ with open_group(fs_handle, self.volspec, groupname) as group:
+ with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.USER_METADATA_LIST) as subvolume:
+ subvol_metadata_dict = subvolume.list_user_metadata()
+ ret = 0, json.dumps(subvol_metadata_dict, indent=4, sort_keys=True), ""
+ except VolumeException as ve:
+ ret = self.volume_exception_to_retval(ve)
+ return ret
+
+ def remove_user_metadata(self, **kwargs):
+ ret = 0, "", ""
+ volname = kwargs['vol_name']
+ subvolname = kwargs['sub_name']
+ groupname = kwargs['group_name']
+ keyname = kwargs['key_name']
+ force = kwargs['force']
+
+ try:
+ with open_volume(self, volname) as fs_handle:
+ with open_group(fs_handle, self.volspec, groupname) as group:
+ with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.USER_METADATA_REMOVE) as subvolume:
+ subvolume.remove_user_metadata(keyname)
+ except VolumeException as ve:
+ if not (ve.errno == -errno.ENOENT and force):
+ ret = self.volume_exception_to_retval(ve)
+ return ret
+
def list_subvolumes(self, **kwargs):
ret = 0, "", ""
volname = kwargs['vol_name']
ret = self.volume_exception_to_retval(ve)
return ret
+ def set_subvolume_snapshot_metadata(self, **kwargs):
+ ret = 0, "", ""
+ volname = kwargs['vol_name']
+ subvolname = kwargs['sub_name']
+ snapname = kwargs['snap_name']
+ groupname = kwargs['group_name']
+ keyname = kwargs['key_name']
+ value = kwargs['value']
+
+ try:
+ with open_volume(self, volname) as fs_handle:
+ with open_group(fs_handle, self.volspec, groupname) as group:
+ with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.SNAP_METADATA_SET) as subvolume:
+ if not snapname.encode('utf-8') in subvolume.list_snapshots():
+ raise VolumeException(-errno.ENOENT, "snapshot '{0}' does not exist".format(snapname))
+ subvolume.set_snapshot_metadata(snapname, keyname, value)
+ except VolumeException as ve:
+ ret = self.volume_exception_to_retval(ve)
+ return ret
+
+ def get_subvolume_snapshot_metadata(self, **kwargs):
+ ret = 0, "", ""
+ volname = kwargs['vol_name']
+ subvolname = kwargs['sub_name']
+ snapname = kwargs['snap_name']
+ groupname = kwargs['group_name']
+ keyname = kwargs['key_name']
+
+ try:
+ with open_volume(self, volname) as fs_handle:
+ with open_group(fs_handle, self.volspec, groupname) as group:
+ with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.SNAP_METADATA_GET) as subvolume:
+ if not snapname.encode('utf-8') in subvolume.list_snapshots():
+ raise VolumeException(-errno.ENOENT, "snapshot '{0}' does not exist".format(snapname))
+ value = subvolume.get_snapshot_metadata(snapname, keyname)
+ ret = 0, value, ""
+ except VolumeException as ve:
+ ret = self.volume_exception_to_retval(ve)
+ return ret
+
+ def list_subvolume_snapshot_metadata(self, **kwargs):
+ ret = 0, "", ""
+ volname = kwargs['vol_name']
+ subvolname = kwargs['sub_name']
+ snapname = kwargs['snap_name']
+ groupname = kwargs['group_name']
+
+ try:
+ with open_volume(self, volname) as fs_handle:
+ with open_group(fs_handle, self.volspec, groupname) as group:
+ with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.SNAP_METADATA_LIST) as subvolume:
+ if not snapname.encode('utf-8') in subvolume.list_snapshots():
+ raise VolumeException(-errno.ENOENT, "snapshot '{0}' does not exist".format(snapname))
+ snap_metadata_dict = subvolume.list_snapshot_metadata(snapname)
+ ret = 0, json.dumps(snap_metadata_dict, indent=4, sort_keys=True), ""
+ except VolumeException as ve:
+ ret = self.volume_exception_to_retval(ve)
+ return ret
+
+ def remove_subvolume_snapshot_metadata(self, **kwargs):
+ ret = 0, "", ""
+ volname = kwargs['vol_name']
+ subvolname = kwargs['sub_name']
+ snapname = kwargs['snap_name']
+ groupname = kwargs['group_name']
+ keyname = kwargs['key_name']
+ force = kwargs['force']
+
+ try:
+ with open_volume(self, volname) as fs_handle:
+ with open_group(fs_handle, self.volspec, groupname) as group:
+ with open_subvol(self.mgr, fs_handle, self.volspec, group, subvolname, SubvolumeOpType.SNAP_METADATA_REMOVE) as subvolume:
+ if not snapname.encode('utf-8') in subvolume.list_snapshots():
+ raise VolumeException(-errno.ENOENT, "snapshot '{0}' does not exist".format(snapname))
+ subvolume.remove_snapshot_metadata(snapname, keyname)
+ except VolumeException as ve:
+ if not (ve.errno == -errno.ENOENT and force):
+ ret = self.volume_exception_to_retval(ve)
+ return ret
+
def list_subvolume_snapshots(self, **kwargs):
ret = 0, "", ""
volname = kwargs['vol_name']
'name=vol_name,type=CephString '
'name=sub_name,type=CephString '
'name=group_name,type=CephString,req=false ',
- 'desc': "Get the metadata of a CephFS subvolume in a volume, "
+ 'desc': "Get the information of a CephFS subvolume in a volume, "
"and optionally, in a specific subvolume group",
'perm': 'r'
},
+ {
+ 'cmd': 'fs subvolume metadata set '
+ 'name=vol_name,type=CephString '
+ 'name=sub_name,type=CephString '
+ 'name=key_name,type=CephString '
+ 'name=value,type=CephString '
+ 'name=group_name,type=CephString,req=false ',
+ 'desc': "Set custom metadata (key-value) for a CephFS subvolume in a volume, "
+ "and optionally, in a specific subvolume group",
+ 'perm': 'rw'
+ },
+ {
+ 'cmd': 'fs subvolume metadata get '
+ 'name=vol_name,type=CephString '
+ 'name=sub_name,type=CephString '
+ 'name=key_name,type=CephString '
+ 'name=group_name,type=CephString,req=false ',
+ 'desc': "Get custom metadata associated with the key of a CephFS subvolume in a volume, "
+ "and optionally, in a specific subvolume group",
+ 'perm': 'r'
+ },
+ {
+ 'cmd': 'fs subvolume metadata ls '
+ 'name=vol_name,type=CephString '
+ 'name=sub_name,type=CephString '
+ 'name=group_name,type=CephString,req=false ',
+ 'desc': "List custom metadata (key-value pairs) of a CephFS subvolume in a volume, "
+ "and optionally, in a specific subvolume group",
+ 'perm': 'r'
+ },
+ {
+ 'cmd': 'fs subvolume metadata rm '
+ 'name=vol_name,type=CephString '
+ 'name=sub_name,type=CephString '
+ 'name=key_name,type=CephString '
+ 'name=group_name,type=CephString,req=false '
+ 'name=force,type=CephBool,req=false ',
+ 'desc': "Remove custom metadata (key-value) associated with the key of a CephFS subvolume in a volume, "
+ "and optionally, in a specific subvolume group",
+ 'perm': 'rw'
+ },
{
'cmd': 'fs subvolumegroup pin'
' name=vol_name,type=CephString'
'name=sub_name,type=CephString '
'name=snap_name,type=CephString '
'name=group_name,type=CephString,req=false ',
- 'desc': "Get the metadata of a CephFS subvolume snapshot "
+ 'desc': "Get the information of a CephFS subvolume snapshot "
+ "and optionally, in a specific subvolume group",
+ 'perm': 'r'
+ },
+ {
+ 'cmd': 'fs subvolume snapshot metadata set '
+ 'name=vol_name,type=CephString '
+ 'name=sub_name,type=CephString '
+ 'name=snap_name,type=CephString '
+ 'name=key_name,type=CephString '
+ 'name=value,type=CephString '
+ 'name=group_name,type=CephString,req=false ',
+ 'desc': "Set custom metadata (key-value) for a CephFS subvolume snapshot in a volume, "
+ "and optionally, in a specific subvolume group",
+ 'perm': 'rw'
+ },
+ {
+ 'cmd': 'fs subvolume snapshot metadata get '
+ 'name=vol_name,type=CephString '
+ 'name=sub_name,type=CephString '
+ 'name=snap_name,type=CephString '
+ 'name=key_name,type=CephString '
+ 'name=group_name,type=CephString,req=false ',
+ 'desc': "Get custom metadata associated with the key of a CephFS subvolume snapshot in a volume, "
+ "and optionally, in a specific subvolume group",
+ 'perm': 'r'
+ },
+ {
+ 'cmd': 'fs subvolume snapshot metadata ls '
+ 'name=vol_name,type=CephString '
+ 'name=sub_name,type=CephString '
+ 'name=snap_name,type=CephString '
+ 'name=group_name,type=CephString,req=false ',
+ 'desc': "List custom metadata (key-value pairs) of a CephFS subvolume snapshot in a volume, "
"and optionally, in a specific subvolume group",
'perm': 'r'
},
+ {
+ 'cmd': 'fs subvolume snapshot metadata rm '
+ 'name=vol_name,type=CephString '
+ 'name=sub_name,type=CephString '
+ 'name=snap_name,type=CephString '
+ 'name=key_name,type=CephString '
+ 'name=group_name,type=CephString,req=false '
+ 'name=force,type=CephBool,req=false ',
+ 'desc': "Remove custom metadata (key-value) associated with the key of a CephFS subvolume snapshot in a volume, "
+ "and optionally, in a specific subvolume group",
+ 'perm': 'rw'
+ },
{
'cmd': 'fs subvolume snapshot rm '
'name=vol_name,type=CephString '
sub_name=cmd['sub_name'],
group_name=cmd.get('group_name', None))
+ @mgr_cmd_wrap
+ def _cmd_fs_subvolume_metadata_set(self, inbuf, cmd):
+ return self.vc.set_user_metadata(vol_name=cmd['vol_name'],
+ sub_name=cmd['sub_name'],
+ key_name=cmd['key_name'],
+ value=cmd['value'],
+ group_name=cmd.get('group_name', None))
+
+ @mgr_cmd_wrap
+ def _cmd_fs_subvolume_metadata_get(self, inbuf, cmd):
+ return self.vc.get_user_metadata(vol_name=cmd['vol_name'],
+ sub_name=cmd['sub_name'],
+ key_name=cmd['key_name'],
+ group_name=cmd.get('group_name', None))
+
+ @mgr_cmd_wrap
+ def _cmd_fs_subvolume_metadata_ls(self, inbuf, cmd):
+ return self.vc.list_user_metadata(vol_name=cmd['vol_name'],
+ sub_name=cmd['sub_name'],
+ group_name=cmd.get('group_name', None))
+
+ @mgr_cmd_wrap
+ def _cmd_fs_subvolume_metadata_rm(self, inbuf, cmd):
+ return self.vc.remove_user_metadata(vol_name=cmd['vol_name'],
+ sub_name=cmd['sub_name'],
+ key_name=cmd['key_name'],
+ group_name=cmd.get('group_name', None),
+ force=cmd.get('force', False))
+
@mgr_cmd_wrap
def _cmd_fs_subvolumegroup_pin(self, inbuf, cmd):
return self.vc.pin_subvolume_group(vol_name=cmd['vol_name'],
snap_name=cmd['snap_name'],
group_name=cmd.get('group_name', None))
+ @mgr_cmd_wrap
+ def _cmd_fs_subvolume_snapshot_metadata_set(self, inbuf, cmd):
+ return self.vc.set_subvolume_snapshot_metadata(vol_name=cmd['vol_name'],
+ sub_name=cmd['sub_name'],
+ snap_name=cmd['snap_name'],
+ key_name=cmd['key_name'],
+ value=cmd['value'],
+ group_name=cmd.get('group_name', None))
+
+ @mgr_cmd_wrap
+ def _cmd_fs_subvolume_snapshot_metadata_get(self, inbuf, cmd):
+ return self.vc.get_subvolume_snapshot_metadata(vol_name=cmd['vol_name'],
+ sub_name=cmd['sub_name'],
+ snap_name=cmd['snap_name'],
+ key_name=cmd['key_name'],
+ group_name=cmd.get('group_name', None))
+
+ @mgr_cmd_wrap
+ def _cmd_fs_subvolume_snapshot_metadata_ls(self, inbuf, cmd):
+ return self.vc.list_subvolume_snapshot_metadata(vol_name=cmd['vol_name'],
+ sub_name=cmd['sub_name'],
+ snap_name=cmd['snap_name'],
+ group_name=cmd.get('group_name', None))
+
+ @mgr_cmd_wrap
+ def _cmd_fs_subvolume_snapshot_metadata_rm(self, inbuf, cmd):
+ return self.vc.remove_subvolume_snapshot_metadata(vol_name=cmd['vol_name'],
+ sub_name=cmd['sub_name'],
+ snap_name=cmd['snap_name'],
+ key_name=cmd['key_name'],
+ group_name=cmd.get('group_name', None),
+ force=cmd.get('force', False))
+
@mgr_cmd_wrap
def _cmd_fs_subvolume_snapshot_ls(self, inbuf, cmd):
return self.vc.list_subvolume_snapshots(vol_name=cmd['vol_name'],
"db_slots", "wal_slots", "block_db_size", "placement", "service_id", "service_type",
"data_devices", "db_devices", "wal_devices", "journal_devices",
"data_directories", "osds_per_device", "objectstore", "osd_id_claims",
- "journal_size", "unmanaged", "filter_logic", "preview_only",
+ "journal_size", "unmanaged", "filter_logic", "preview_only", "extra_container_args",
"data_allocate_fraction", "method"
]
unmanaged=False, # type: bool
filter_logic='AND', # type: str
preview_only=False, # type: bool
+ extra_container_args=None, # type: Optional[List[str]]
data_allocate_fraction=None, # type: Optional[float]
method=None, # type: Optional[OSDMethod]
):
super(DriveGroupSpec, self).__init__('osd', service_id=service_id,
placement=placement,
unmanaged=unmanaged,
- preview_only=preview_only)
+ preview_only=preview_only,
+ extra_container_args=extra_container_args)
#: A :class:`ceph.deployment.drive_group.DeviceSelection`
self.data_devices = data_devices
#: Number of osd daemons per "DATA" device.
#: To fully utilize nvme devices multiple osds are required.
+ #: Can be used to split dual-actuator devices across 2 OSDs, by setting the option to 2.
self.osds_per_device = osds_per_device
#: A list of strings, containing paths which should back OSDs
for disk in self.disks:
logger.debug("Processing disk {}".format(disk.path))
+ if not disk.available and not disk.ceph_device:
+ logger.debug(
+ ("Ignoring disk {}. "
+ "Disk is unavailable due to {}".format(disk.path, disk.rejected_reasons))
+ )
+ continue
+
if not self._has_mandatory_idents(disk):
logger.debug(
"Ignoring disk {}. Missing mandatory idents".format(
except ImportError:
pass # for type checking
+from ceph.utils import datetime_now, datetime_to_str, str_to_datetime
+import datetime
import json
self.devices = devices # type: List[Device]
def __eq__(self, other: Any) -> bool:
- return self.to_json() == other.to_json()
+ if not isinstance(other, Devices):
+ return NotImplemented
+ if len(self.devices) != len(other.devices):
+ return False
+ for d1, d2 in zip(other.devices, self.devices):
+ if d1 != d2:
+ return False
+ return True
def to_json(self):
# type: () -> List[dict]
class Device(object):
report_fields = [
+ 'ceph_device',
'rejected_reasons',
'available',
'path',
'sys_api',
+ 'created',
'lvs',
'human_readable_type',
'device_id',
lvs=None, # type: Optional[List[str]]
device_id=None, # type: Optional[str]
lsm_data=None, # type: Optional[Dict[str, Dict[str, str]]]
+ created=None, # type: Optional[datetime.datetime]
+ ceph_device=None # type: Optional[bool]
):
self.path = path
self.sys_api = sys_api if sys_api is not None else {} # type: Dict[str, Any]
self.lvs = lvs
self.device_id = device_id
self.lsm_data = lsm_data if lsm_data is not None else {} # type: Dict[str, Dict[str, str]]
+ self.created = created if created is not None else datetime_now()
+ self.ceph_device = ceph_device
+
+ def __eq__(self, other):
+ # type: (Any) -> bool
+ if not isinstance(other, Device):
+ return NotImplemented
+ diff = [k for k in self.report_fields if k != 'created' and (getattr(self, k)
+ != getattr(other, k))]
+ return not diff
def to_json(self):
# type: () -> dict
return {
- k: getattr(self, k) for k in self.report_fields
+ k: (getattr(self, k) if k != 'created'
+ or not isinstance(getattr(self, k), datetime.datetime)
+ else datetime_to_str(getattr(self, k)))
+ for k in self.report_fields
}
@classmethod
raise ValueError('Device: Expected dict. Got `{}...`'.format(json.dumps(input)[:10]))
ret = cls(
**{
- key: input.get(key, None)
+ key: (input.get(key, None) if key != 'created'
+ or not input.get(key, None)
+ else str_to_datetime(input.get(key, None)))
for key in Device.report_fields
if key != 'human_readable_type'
}
'path': self.path if self.path is not None else 'unknown',
'lvs': self.lvs if self.lvs else 'None',
'available': str(self.available),
+ 'ceph_device': str(self.ceph_device)
}
if not self.available and self.rejected_reasons:
device_desc['rejection reasons'] = self.rejected_reasons
This structure is supposed to be enough information to
start the services.
"""
- KNOWN_SERVICE_TYPES = 'alertmanager crash grafana iscsi mds mgr mon nfs ' \
+ KNOWN_SERVICE_TYPES = 'alertmanager crash grafana iscsi loki promtail mds mgr mon nfs ' \
'node-exporter osd prometheus rbd-mirror rgw agent ' \
'container ingress cephfs-mirror snmp-gateway'.split()
REQUIRES_SERVICE_ID = 'iscsi mds nfs rgw container ingress '.split()
'rgw': RGWSpec,
'nfs': NFSServiceSpec,
'osd': DriveGroupSpec,
+ 'mds': MDSSpec,
'iscsi': IscsiServiceSpec,
'alertmanager': AlertManagerSpec,
'ingress': IngressSpec,
'grafana': GrafanaSpec,
'node-exporter': MonitoringSpec,
'prometheus': MonitoringSpec,
+ 'loki': MonitoringSpec,
+ 'promtail': MonitoringSpec,
'snmp-gateway': SNMPGatewaySpec,
}.get(service_type, cls)
if ret == ServiceSpec and not service_type:
f'Service of type \'{self.service_type}\' should not contain a service id')
if self.service_id:
- if not re.match('^[a-zA-Z0-9_.-]+$', self.service_id):
+ if not re.match('^[a-zA-Z0-9_.-]+$', str(self.service_id)):
raise SpecValidationError('Service id contains invalid characters, '
'only [a-zA-Z0-9_.-] allowed')
config: Optional[Dict[str, str]] = None,
networks: Optional[List[str]] = None,
port: Optional[int] = None,
+ extra_container_args: Optional[List[str]] = None,
):
assert service_type == 'nfs'
super(NFSServiceSpec, self).__init__(
'nfs', service_id=service_id,
placement=placement, unmanaged=unmanaged, preview_only=preview_only,
- config=config, networks=networks)
+ config=config, networks=networks, extra_container_args=extra_container_args)
self.port = port
config: Optional[Dict[str, str]] = None,
networks: Optional[List[str]] = None,
subcluster: Optional[str] = None, # legacy, only for from_json on upgrade
+ extra_container_args: Optional[List[str]] = None,
):
assert service_type == 'rgw', service_type
super(RGWSpec, self).__init__(
'rgw', service_id=service_id,
placement=placement, unmanaged=unmanaged,
- preview_only=preview_only, config=config, networks=networks)
+ preview_only=preview_only, config=config, networks=networks,
+ extra_container_args=extra_container_args)
#: The RGW realm associated with this service. Needs to be manually created
self.rgw_realm: Optional[str] = rgw_realm
preview_only: bool = False,
config: Optional[Dict[str, str]] = None,
networks: Optional[List[str]] = None,
+ extra_container_args: Optional[List[str]] = None,
):
assert service_type == 'iscsi'
super(IscsiServiceSpec, self).__init__('iscsi', service_id=service_id,
placement=placement, unmanaged=unmanaged,
preview_only=preview_only,
- config=config, networks=networks)
+ config=config, networks=networks,
+ extra_container_args=extra_container_args)
#: RADOS pool where ceph-iscsi config data is stored.
self.pool = pool
virtual_ip: Optional[str] = None,
virtual_interface_networks: Optional[List[str]] = [],
unmanaged: bool = False,
- ssl: bool = False
+ ssl: bool = False,
+ extra_container_args: Optional[List[str]] = None,
):
assert service_type == 'ingress'
super(IngressSpec, self).__init__(
'ingress', service_id=service_id,
placement=placement, config=config,
- networks=networks
+ networks=networks,
+ extra_container_args=extra_container_args
)
self.backend_service = backend_service
self.frontend_port = frontend_port
unmanaged: bool = False,
preview_only: bool = False,
port: Optional[int] = None,
+ extra_container_args: Optional[List[str]] = None,
):
- assert service_type in ['grafana', 'node-exporter', 'prometheus', 'alertmanager']
+ assert service_type in ['grafana', 'node-exporter', 'prometheus', 'alertmanager',
+ 'loki', 'promtail']
super(MonitoringSpec, self).__init__(
service_type, service_id,
placement=placement, unmanaged=unmanaged,
preview_only=preview_only, config=config,
- networks=networks)
+ networks=networks, extra_container_args=extra_container_args)
self.service_type = service_type
self.port = port
return {'prometheus': 9095,
'node-exporter': 9100,
'alertmanager': 9093,
- 'grafana': 3000}[self.service_type]
+ 'grafana': 3000,
+ 'loki': 3100,
+ 'promtail': 9080}[self.service_type]
yaml.add_representer(MonitoringSpec, ServiceSpec.yaml_representer)
config: Optional[Dict[str, str]] = None,
networks: Optional[List[str]] = None,
port: Optional[int] = None,
+ secure: bool = False,
+ extra_container_args: Optional[List[str]] = None,
):
assert service_type == 'alertmanager'
super(AlertManagerSpec, self).__init__(
'alertmanager', service_id=service_id,
placement=placement, unmanaged=unmanaged,
- preview_only=preview_only, config=config, networks=networks, port=port)
+ preview_only=preview_only, config=config, networks=networks, port=port,
+ extra_container_args=extra_container_args)
# Custom configuration.
#
# added to the default receivers'
# <webhook_configs> configuration.
self.user_data = user_data or {}
+ self.secure = secure
def get_port_start(self) -> List[int]:
return [self.get_port(), 9094]
config: Optional[Dict[str, str]] = None,
networks: Optional[List[str]] = None,
port: Optional[int] = None,
- initial_admin_password: Optional[str] = None
+ initial_admin_password: Optional[str] = None,
+ extra_container_args: Optional[List[str]] = None,
):
assert service_type == 'grafana'
super(GrafanaSpec, self).__init__(
'grafana', service_id=service_id,
placement=placement, unmanaged=unmanaged,
- preview_only=preview_only, config=config, networks=networks, port=port)
+ preview_only=preview_only, config=config, networks=networks, port=port,
+ extra_container_args=extra_container_args)
self.initial_admin_password = initial_admin_password
unmanaged: bool = False,
preview_only: bool = False,
port: Optional[int] = None,
+ extra_container_args: Optional[List[str]] = None,
):
assert service_type == 'snmp-gateway'
service_type,
placement=placement,
unmanaged=unmanaged,
- preview_only=preview_only)
+ preview_only=preview_only,
+ extra_container_args=extra_container_args)
self.service_type = service_type
self.snmp_version = snmp_version
yaml.add_representer(SNMPGatewaySpec, ServiceSpec.yaml_representer)
+
+
+class MDSSpec(ServiceSpec):
+ def __init__(self,
+ service_type: str = 'mds',
+ service_id: Optional[str] = None,
+ placement: Optional[PlacementSpec] = None,
+ config: Optional[Dict[str, str]] = None,
+ unmanaged: bool = False,
+ preview_only: bool = False,
+ extra_container_args: Optional[List[str]] = None,
+ ):
+ assert service_type == 'mds'
+ super(MDSSpec, self).__init__('mds', service_id=service_id,
+ placement=placement,
+ config=config,
+ unmanaged=unmanaged,
+ preview_only=preview_only,
+ extra_container_args=extra_container_args)
+
+ def validate(self) -> None:
+ super(MDSSpec, self).validate()
+
+ if str(self.service_id)[0].isdigit():
+ raise SpecValidationError('MDS service id cannot start with a numeric digit')
+
+
+yaml.add_representer(MDSSpec, ServiceSpec.yaml_representer)
self.osd_id_claims = osd_id_claims
def run(self):
- # type: () -> Optional[str]
+ # type: () -> List[str]
""" Generate ceph-volume commands based on the DriveGroup filters """
data_devices = [x.path for x in self.selection.data_devices()]
db_devices = [x.path for x in self.selection.db_devices()]
journal_devices = [x.path for x in self.selection.journal_devices()]
if not data_devices:
- return None
+ return []
- cmd = ""
+ cmds: List[str] = []
if self.spec.method == 'raw':
assert self.spec.objectstore == 'bluestore'
- cmd = "raw prepare --bluestore"
- cmd += " --data {}".format(" ".join(data_devices))
- if db_devices:
- cmd += " --block.db {}".format(" ".join(db_devices))
- if wal_devices:
- cmd += " --block.wal {}".format(" ".join(wal_devices))
+ # ceph-volume raw prepare only support 1:1 ratio of data to db/wal devices
+ if data_devices and db_devices:
+ if len(data_devices) != len(db_devices):
+ raise ValueError('Number of data devices must match number of '
+ 'db devices for raw mode osds')
+ if data_devices and wal_devices:
+ if len(data_devices) != len(wal_devices):
+ raise ValueError('Number of data devices must match number of '
+ 'wal devices for raw mode osds')
+ # for raw prepare each data device needs its own prepare command
+ dev_counter = 0
+ while dev_counter < len(data_devices):
+ cmd = "raw prepare --bluestore"
+ cmd += " --data {}".format(data_devices[dev_counter])
+ if db_devices:
+ cmd += " --block.db {}".format(db_devices[dev_counter])
+ if wal_devices:
+ cmd += " --block.wal {}".format(wal_devices[dev_counter])
+ cmds.append(cmd)
+ dev_counter += 1
elif self.spec.objectstore == 'filestore':
+ # for lvm batch we can just do all devices in one command
cmd = "lvm batch --no-auto"
cmd += " {}".format(" ".join(data_devices))
' '.join(journal_devices))
cmd += " --filestore"
+ cmds.append(cmd)
elif self.spec.objectstore == 'bluestore':
-
+ # for lvm batch we can just do all devices in one command
cmd = "lvm batch --no-auto {}".format(" ".join(data_devices))
if db_devices:
if self.spec.block_db_size:
cmd += " --block-db-size {}".format(self.spec.block_db_size)
+ cmds.append(cmd)
- if self.spec.encrypted:
- cmd += " --dmcrypt"
+ for i in range(len(cmds)):
+ if self.spec.encrypted:
+ cmds[i] += " --dmcrypt"
- if self.spec.osds_per_device:
- cmd += " --osds-per-device {}".format(self.spec.osds_per_device)
+ if self.spec.osds_per_device:
+ cmds[i] += " --osds-per-device {}".format(self.spec.osds_per_device)
- if self.spec.data_allocate_fraction:
- cmd += " --data-allocate-fraction {}".format(self.spec.data_allocate_fraction)
+ if self.spec.data_allocate_fraction:
+ cmds[i] += " --data-allocate-fraction {}".format(self.spec.data_allocate_fraction)
- if self.osd_id_claims:
- cmd += " --osd-ids {}".format(" ".join(self.osd_id_claims))
+ if self.osd_id_claims:
+ cmds[i] += " --osd-ids {}".format(" ".join(self.osd_id_claims))
- if self.spec.method != 'raw':
- cmd += " --yes"
- cmd += " --no-systemd"
+ if self.spec.method != 'raw':
+ cmds[i] += " --yes"
+ cmds[i] += " --no-systemd"
- if self.preview:
- cmd += " --report"
- cmd += " --format json"
+ if self.preview:
+ cmds[i] += " --report"
+ cmds[i] += " --format json"
- return cmd
+ return cmds
[
{
"available": false,
+ "created": "2022-02-11T10:58:23.177450Z",
"rejected_reasons": [
"locked"
],
},
{
"available": false,
+ "created": "2022-02-11T10:58:23.177450Z",
"rejected_reasons": [
"locked"
],
],
"path": "/dev/sda"
}
-]
\ No newline at end of file
+]
spec.validate()
inventory = _mk_inventory(_mk_device()*2)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd'
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemd' for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_1():
spec.validate()
inventory = _mk_inventory(_mk_device(rotational=True)*2 + _mk_device(rotational=False)*2)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
- '--db-devices /dev/sdc /dev/sdd --yes --no-systemd')
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
+ '--db-devices /dev/sdc /dev/sdd --yes --no-systemd') for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_2():
_mk_device(size="10.0 GB", rotational=False)*2
)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
'--db-devices /dev/sdc /dev/sdd --wal-devices /dev/sde /dev/sdf '
- '--yes --no-systemd')
+ '--yes --no-systemd') for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_3():
_mk_device(size="10.0 GB", rotational=False)*2
)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
'--db-devices /dev/sdc /dev/sdd '
'--wal-devices /dev/sde /dev/sdf --dmcrypt '
- '--yes --no-systemd')
+ '--yes --no-systemd') for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_4():
_mk_device(size="10.0 GB", rotational=False)*2
)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == ('lvm batch --no-auto /dev/sda /dev/sdb '
'--db-devices /dev/sdc /dev/sdd --wal-devices /dev/sde /dev/sdf '
'--block-wal-size 500M --block-db-size 500M --dmcrypt '
- '--osds-per-device 3 --yes --no-systemd')
+ '--osds-per-device 3 --yes --no-systemd') for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_5():
spec.validate()
inventory = _mk_inventory(_mk_device(rotational=True)*2)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --filestore --yes --no-systemd'
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --filestore --yes --no-systemd' for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_6():
spec.validate()
inventory = _mk_inventory(_mk_device(rotational=True)*2 + _mk_device(rotational=False)*2)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == ('lvm batch --no-auto /dev/sdc /dev/sdd '
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == ('lvm batch --no-auto /dev/sdc /dev/sdd '
'--journal-size 500M --journal-devices /dev/sda /dev/sdb '
- '--filestore --yes --no-systemd')
+ '--filestore --yes --no-systemd') for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_7():
spec.validate()
inventory = _mk_inventory(_mk_device(rotational=True)*2)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, ['0', '1']).run()
- assert cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --osd-ids 0 1 --yes --no-systemd'
+ cmds = translate.to_ceph_volume(sel, ['0', '1']).run()
+ assert all(cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --osd-ids 0 1 --yes --no-systemd' for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_8():
_mk_device(rotational=False, size="349.0 GB", model='INTEL SSDPED1K375GA') # wal/db
)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --db-devices /dev/sdc --yes --no-systemd'
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --db-devices /dev/sdc --yes --no-systemd' for cmd in cmds), f'Expected {cmd} in {cmds}'
def test_ceph_volume_command_9():
spec.validate()
inventory = _mk_inventory(_mk_device()*2)
sel = drive_selection.DriveSelection(spec, inventory)
- cmd = translate.to_ceph_volume(sel, []).run()
- assert cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --data-allocate-fraction 0.8 --yes --no-systemd'
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd == 'lvm batch --no-auto /dev/sda /dev/sdb --data-allocate-fraction 0.8 --yes --no-systemd' for cmd in cmds), f'Expected {cmd} in {cmds}'
+
+def test_raw_ceph_volume_command_0():
+ spec = DriveGroupSpec(placement=PlacementSpec(host_pattern='*'),
+ service_id='foobar',
+ data_devices=DeviceSelection(rotational=True),
+ db_devices=DeviceSelection(rotational=False),
+ method='raw',
+ )
+ spec.validate()
+ inventory = _mk_inventory(_mk_device(rotational=True) + # data
+ _mk_device(rotational=True) + # data
+ _mk_device(rotational=False) + # db
+ _mk_device(rotational=False) # db
+ )
+ exp_cmds = ['raw prepare --bluestore --data /dev/sda --block.db /dev/sdc', 'raw prepare --bluestore --data /dev/sdb --block.db /dev/sdd']
+ sel = drive_selection.DriveSelection(spec, inventory)
+ cmds = translate.to_ceph_volume(sel, []).run()
+ assert all(cmd in exp_cmds for cmd in cmds), f'Expected {exp_cmds} to match {cmds}'
+
+def test_raw_ceph_volume_command_1():
+ spec = DriveGroupSpec(placement=PlacementSpec(host_pattern='*'),
+ service_id='foobar',
+ data_devices=DeviceSelection(rotational=True),
+ db_devices=DeviceSelection(rotational=False),
+ method='raw',
+ )
+ spec.validate()
+ inventory = _mk_inventory(_mk_device(rotational=True) + # data
+ _mk_device(rotational=True) + # data
+ _mk_device(rotational=False) # db
+ )
+ sel = drive_selection.DriveSelection(spec, inventory)
+ with pytest.raises(ValueError):
+ cmds = translate.to_ceph_volume(sel, []).run()
@pytest.mark.parametrize(
's_type,s_id',
[
- ('mds', 's:id'),
+ ('mds', 's:id'), # MDS service_id cannot contain an invalid char ':'
+ ('mds', '1abc'), # MDS service_id cannot start with a numeric digit
+ ('mds', ''), # MDS service_id cannot be empty
('rgw', '*s_id'),
('nfs', 's/id'),
('iscsi', 's@id'),
endif()
if(WITH_RADOSGW_SELECT_PARQUET)
- set(ARROW_LIBRARIES Arrow::Parquet)
+ set(ARROW_LIBRARIES Arrow::Arrow Arrow::Parquet)
add_definitions(-D_ARROW_EXIST)
message("-- arrow is installed, radosgw/s3select-op is able to process parquet objects")
endif(WITH_RADOSGW_SELECT_PARQUET)
void RGWCoroutine::init_new_io(RGWIOProvider *io_provider)
{
+ ceph_assert(stack); // if there's no stack, io_provider won't be uninitialized
stack->init_new_io(io_provider);
}
void RGWCoroutine::set_io_blocked(bool flag) {
- stack->set_io_blocked(flag);
+ if (stack) {
+ stack->set_io_blocked(flag);
+ }
}
void RGWCoroutine::set_sleeping(bool flag) {
- stack->set_sleeping(flag);
+ if (stack) {
+ stack->set_sleeping(flag);
+ }
}
int RGWCoroutine::io_block(int ret, int64_t io_id) {
}
int RGWCoroutine::io_block(int ret, const rgw_io_id& io_id) {
+ if (!stack) {
+ return 0;
+ }
if (stack->consume_io_finish(io_id)) {
return 0;
}
}
void RGWCoroutine::io_complete(const rgw_io_id& io_id) {
- stack->io_complete(io_id);
+ if (stack) {
+ stack->io_complete(io_id);
+ }
}
void RGWCoroutine::StatusItem::dump(Formatter *f) const {
void OpsLogFile::flush()
{
- std::scoped_lock flush_lock(flush_mutex);
{
- std::scoped_lock log_lock(log_mutex);
+ std::scoped_lock log_lock(mutex);
assert(flush_buffer.empty());
flush_buffer.swap(log_buffer);
data_size = 0;
}
void* OpsLogFile::entry() {
- std::unique_lock lock(log_mutex);
+ std::unique_lock lock(mutex);
while (!stopped) {
if (!log_buffer.empty()) {
lock.unlock();
lock.lock();
continue;
}
- cond_flush.wait(lock);
+ cond.wait(lock);
}
+ lock.unlock();
flush();
return NULL;
}
void OpsLogFile::stop() {
{
- cond_flush.notify_one();
+ std::unique_lock lock(mutex);
+ cond.notify_one();
stopped = true;
}
join();
int OpsLogFile::log_json(struct req_state* s, bufferlist& bl)
{
- std::unique_lock lock(log_mutex);
+ std::unique_lock lock(mutex);
if (data_size + bl.length() >= max_data_size) {
ldout(s->cct, 0) << "ERROR: RGW ops log file buffer too full, dropping log for txn: " << s->trans_id << dendl;
return -1;
}
log_buffer.push_back(bl);
data_size += bl.length();
- cond_flush.notify_all();
+ cond.notify_all();
return 0;
}
class OpsLogFile : public JsonOpsLogSink, public Thread, public DoutPrefixProvider {
CephContext* cct;
- ceph::mutex log_mutex = ceph::make_mutex("OpsLogFile_log");
- ceph::mutex flush_mutex = ceph::make_mutex("OpsLogFile_flush");
+ ceph::mutex mutex = ceph::make_mutex("OpsLogFile");
std::vector<bufferlist> log_buffer;
std::vector<bufferlist> flush_buffer;
- ceph::condition_variable cond_flush;
+ ceph::condition_variable cond;
std::ofstream file;
bool stopped;
uint64_t data_size;
rgw_bucket_category_stats stats;
bool account = entry.get_info(&cls_key, &category, &stats);
rgw_obj_key key(cls_key);
+ if (entry.type == BIIndexType::OLH && key.empty()) {
+ // bogus entry created by https://tracker.ceph.com/issues/46456
+ // to fix, skip so it doesn't get include in the new bucket instance
+ total_entries--;
+ ldpp_dout(dpp, 10) << "Dropping entry with empty name, idx=" << marker << dendl;
+ continue;
+ }
rgw_obj obj(new_bucket_info.bucket, key);
RGWMPObj mp;
if (key.ns == RGW_OBJ_NS_MULTIPART && mp.from_meta(key.name)) {
ldpp_dout(dpp, 10) << __func__ << " warning: failed to set pg_autoscale_bias on "
<< pool.name << dendl;
}
- // set pg_num_min
- int min = g_conf().get_val<uint64_t>("rgw_rados_pool_pg_num_min");
- r = rados->mon_command(
- "{\"prefix\": \"osd pool set\", \"pool\": \"" +
- pool.name + "\", \"var\": \"pg_num_min\", \"val\": \"" +
- stringify(min) + "\"}",
- inbl, NULL, NULL);
- if (r < 0) {
- ldpp_dout(dpp, 10) << __func__ << " warning: failed to set pg_num_min on "
- << pool.name << dendl;
- }
// set recovery_priority
int p = g_conf().get_val<uint64_t>("rgw_rados_pool_recovery_priority");
r = rados->mon_command(
group snap remove (... rm) Remove a snapshot from a group.
group snap rename Rename group's snapshot.
group snap rollback Rollback group to snapshot.
- image-cache invalidate Discard existing / dirty image cache
image-meta get Image metadata get the value associated
with the key.
image-meta list (image-meta ls) Image metadata list keys with values.
object-map rebuild Rebuild an invalid object map.
perf image iostat Display image IO statistics.
perf image iotop Display a top-like IO monitor.
+ persistent-cache flush Flush persistent cache.
+ persistent-cache invalidate Invalidate (discard) existing / dirty
+ persistent cache.
pool init Initialize pool for use by RBD.
pool stats Display pool statistics.
remove (rm) Delete an image.
--group arg group name
--snap arg snapshot name
- rbd help image-cache invalidate
- usage: rbd image-cache invalidate [--pool <pool>] [--namespace <namespace>]
- [--image <image>] [--image-id <image-id>]
- <image-spec>
-
- Discard existing / dirty image cache
-
- Positional arguments
- <image-spec> image specification
- (example: [<pool-name>/[<namespace>/]]<image-name>)
-
- Optional arguments
- -p [ --pool ] arg pool name
- --namespace arg namespace name
- --image arg image name
- --image-id arg image id
-
rbd help image-meta get
usage: rbd image-meta get [--pool <pool>] [--namespace <namespace>]
[--image <image>]
-p [ --pool ] arg pool name
--namespace arg namespace name
+ rbd help persistent-cache flush
+ usage: rbd persistent-cache flush [--pool <pool>] [--namespace <namespace>]
+ [--image <image>] [--image-id <image-id>]
+ <image-spec>
+
+ Flush persistent cache.
+
+ Positional arguments
+ <image-spec> image specification
+ (example: [<pool-name>/[<namespace>/]]<image-name>)
+
+ Optional arguments
+ -p [ --pool ] arg pool name
+ --namespace arg namespace name
+ --image arg image name
+ --image-id arg image id
+
+ rbd help persistent-cache invalidate
+ usage: rbd persistent-cache invalidate
+ [--pool <pool>]
+ [--namespace <namespace>]
+ [--image <image>] [--image-id <image-id>]
+ <image-spec>
+
+ Invalidate (discard) existing / dirty persistent cache.
+
+ Positional arguments
+ <image-spec> image specification
+ (example: [<pool-name>/[<namespace>/]]<image-name>)
+
+ Optional arguments
+ -p [ --pool ] arg pool name
+ --namespace arg namespace name
+ --image arg image name
+ --image-id arg image id
+
rbd help pool init
usage: rbd pool init [--pool <pool>] [--force]
<pool-name>
TEST_F(cls_rgw, index_suggest)
{
- string bucket_oid = str_int("bucket", 3);
+ string bucket_oid = str_int("suggest", 1);
{
ObjectWriteOperation op;
cls_rgw_bucket_init_index(op);
test_stats(ioctx, bucket_oid, RGWObjCategory::None, num_objs / 2, total_size);
}
+static void list_entries(librados::IoCtx& ioctx,
+ const std::string& oid,
+ uint32_t num_entries,
+ std::map<int, rgw_cls_list_ret>& results)
+{
+ std::map<int, std::string> oids = { {0, oid} };
+ cls_rgw_obj_key start_key;
+ string empty_prefix;
+ string empty_delimiter;
+ ASSERT_EQ(0, CLSRGWIssueBucketList(ioctx, start_key, empty_prefix,
+ empty_delimiter, num_entries,
+ true, oids, results, 1)());
+}
+
+TEST_F(cls_rgw, index_suggest_complete)
+{
+ string bucket_oid = str_int("suggest", 2);
+ {
+ ObjectWriteOperation op;
+ cls_rgw_bucket_init_index(op);
+ ASSERT_EQ(0, ioctx.operate(bucket_oid, &op));
+ }
+
+ cls_rgw_obj_key obj = str_int("obj", 0);
+ string tag = str_int("tag-prepare", 0);
+ string loc = str_int("loc", 0);
+
+ // prepare entry
+ index_prepare(ioctx, bucket_oid, CLS_RGW_OP_ADD, tag, obj, loc);
+
+ // list entry before completion
+ rgw_bucket_dir_entry dirent;
+ {
+ std::map<int, rgw_cls_list_ret> listing;
+ list_entries(ioctx, bucket_oid, 1, listing);
+ ASSERT_EQ(1, listing.size());
+ const auto& entries = listing.begin()->second.dir.m;
+ ASSERT_EQ(1, entries.size());
+ dirent = entries.begin()->second;
+ ASSERT_EQ(obj, dirent.key);
+ }
+ // complete entry
+ {
+ rgw_bucket_dir_entry_meta meta;
+ index_complete(ioctx, bucket_oid, CLS_RGW_OP_ADD, tag, 1, obj, meta);
+ }
+ // suggest removal of listed entry
+ {
+ bufferlist updates;
+ cls_rgw_encode_suggestion(CEPH_RGW_REMOVE, dirent, updates);
+
+ ObjectWriteOperation op;
+ cls_rgw_suggest_changes(op, updates);
+ ASSERT_EQ(0, ioctx.operate(bucket_oid, &op));
+ }
+ // list entry again, verify that suggested removal was not applied
+ {
+ std::map<int, rgw_cls_list_ret> listing;
+ list_entries(ioctx, bucket_oid, 1, listing);
+ ASSERT_EQ(1, listing.size());
+ const auto& entries = listing.begin()->second.dir.m;
+ ASSERT_EQ(1, entries.size());
+ EXPECT_TRUE(entries.begin()->second.exists);
+ }
+}
/*
* This case is used to test whether get_obj_vals will
echo "**** $type test $n binary reencode check failed ****"
echo " ceph-dencoder type $type select_test $n encode export $tmp1"
echo " ceph-dencoder type $type select_test $n encode decode encode export $tmp2"
- echo " cmp $tmp1 $tmp2"
+ diff <(hexdump -C $tmp1) <(hexdump -C $tmp2)
failed=$(($failed + 1))
fi
fi
ASSERT_EQ(0, ioctx.operate("bar", &op));
}
+ // wait for maps to settle
+ cluster.wait_for_latest_osdmap();
+
// set-chunk to set manifest object
{
ObjectReadOperation op;
ASSERT_EQ("", std::string(out.c_str(), out.length()));
}
}
+
+TEST_F(LibRadosTwoPoolsPP, TierFlushDuringUnsetDedupTier) {
+ // skip test if not yet octopus
+ if (_get_required_osd_release(cluster) < "octopus") {
+ cout << "cluster is not yet octopus, skipping test" << std::endl;
+ return;
+ }
+
+ bufferlist inbl;
+
+ // set dedup parameters without dedup_tier
+ ASSERT_EQ(0, cluster.mon_command(
+ set_pool_str(cache_pool_name, "fingerprint_algorithm", "sha1"),
+ inbl, NULL, NULL));
+ ASSERT_EQ(0, cluster.mon_command(
+ set_pool_str(cache_pool_name, "dedup_chunk_algorithm", "fastcdc"),
+ inbl, NULL, NULL));
+ ASSERT_EQ(0, cluster.mon_command(
+ set_pool_str(cache_pool_name, "dedup_cdc_chunk_size", 1024),
+ inbl, NULL, NULL));
+
+ // create object
+ bufferlist gbl;
+ {
+ generate_buffer(1024*8, &gbl);
+ ObjectWriteOperation op;
+ op.write_full(gbl);
+ ASSERT_EQ(0, cache_ioctx.operate("foo", &op));
+ }
+ {
+ bufferlist bl;
+ bl.append("there hiHI");
+ ObjectWriteOperation op;
+ op.write_full(bl);
+ ASSERT_EQ(0, ioctx.operate("bar", &op));
+ }
+
+ // wait for maps to settle
+ cluster.wait_for_latest_osdmap();
+
+ // set-chunk to set manifest object
+ {
+ ObjectReadOperation op;
+ op.set_chunk(0, 2, ioctx, "bar", 0, CEPH_OSD_OP_FLAG_WITH_REFERENCE);
+ librados::AioCompletion *completion = cluster.aio_create_completion();
+ ASSERT_EQ(0, cache_ioctx.aio_operate("foo", completion, &op,
+ librados::OPERATION_IGNORE_CACHE, NULL));
+ completion->wait_for_complete();
+ ASSERT_EQ(0, completion->get_return_value());
+ completion->release();
+ }
+
+ // flush to check if proper error is returned
+ {
+ ObjectReadOperation op;
+ op.tier_flush();
+ librados::AioCompletion *completion = cluster.aio_create_completion();
+ ASSERT_EQ(0, cache_ioctx.aio_operate(
+ "foo", completion, &op, librados::OPERATION_IGNORE_CACHE, NULL));
+ completion->wait_for_complete();
+ ASSERT_EQ(-EINVAL, completion->get_return_value());
+ completion->release();
+ }
+}
+
bool present, bool empty, bool clean,
string host, string path,
uint64_t size) {
- ConfigProxy &config = image_ctx->config;
ASSERT_EQ(present, state.present);
ASSERT_EQ(empty, state.empty);
ASSERT_EQ(clean, state.clean);
ASSERT_EQ(host, state.host);
ASSERT_EQ(path, state.path);
ASSERT_EQ(size, state.size);
- ASSERT_EQ(config.get_val<bool>("rbd_persistent_cache_log_periodic_stats"),
- state.log_periodic_stats);
- }
-
- void expect_op_work_queue(MockImageCtx& mock_image_ctx) {
- EXPECT_CALL(*mock_image_ctx.op_work_queue, queue(_, _))
- .WillRepeatedly(Invoke([](Context* ctx, int r) {
- ctx->complete(r);
- }));
}
void expect_context_complete(MockContextRWL& mock_context, int r) {
ASSERT_EQ(0, finish_ctx.wait());
}
-static void get_jf(const string& s, JSONFormattable *f)
-{
- JSONParser p;
- bool result = p.parse(s.c_str(), s.size());
- if (!result) {
- cout << "Failed to parse: '" << s << "'" << std::endl;
- }
- ASSERT_EQ(true, result);
- try {
- decode_json_obj(*f, &p);
- } catch (JSONDecoder::err& e) {
- ASSERT_TRUE(0 == "Failed to decode JSON object");
- }
-}
-
TEST_F(TestMockCacheReplicatedWriteLog, init_state_json_write) {
librbd::ImageCtx *ictx;
ASSERT_EQ(0, open_image(m_image_name, &ictx));
MockImageCtx mock_image_ctx(*ictx);
-
- JSONFormattable f;
- string strf = "{ \"present\": \"1\", \"empty\": \"0\", \"clean\": \"0\", \
- \"pwl_host\": \"testhost\", \
- \"pwl_path\": \"/tmp\", \
- \"pwl_size\": \"1024\" }";
- get_jf(strf, &f);
MockApi mock_api;
- MockImageCacheStateRWL image_cache_state(&mock_image_ctx, f, mock_api);
+ MockImageCacheStateRWL image_cache_state(&mock_image_ctx, mock_api);
+ string strf = "{ \"present\": true, \"empty\": false, \"clean\": false, \
+ \"host\": \"testhost\", \
+ \"path\": \"/tmp\", \
+ \"mode\": \"rwl\", \
+ \"size\": 1024 }";
+ json_spirit::mValue json_root;
+ ASSERT_TRUE(json_spirit::read(strf.c_str(), json_root));
+ ASSERT_TRUE(image_cache_state.init_from_metadata(json_root));
validate_cache_state(ictx, image_cache_state, true, false, false,
"testhost", "/tmp", 1024);
bool present, bool empty, bool clean,
string host, string path,
uint64_t size) {
- ConfigProxy &config = image_ctx->config;
ASSERT_EQ(present, state.present);
ASSERT_EQ(empty, state.empty);
ASSERT_EQ(clean, state.clean);
ASSERT_EQ(host, state.host);
ASSERT_EQ(path, state.path);
ASSERT_EQ(size, state.size);
- ASSERT_EQ(config.get_val<bool>("rbd_persistent_cache_log_periodic_stats"),
- state.log_periodic_stats);
- }
-
- void expect_op_work_queue(MockImageCtx& mock_image_ctx) {
- EXPECT_CALL(*mock_image_ctx.op_work_queue, queue(_, _))
- .WillRepeatedly(Invoke([](Context* ctx, int r) {
- ctx->complete(r);
- }));
}
void expect_context_complete(MockContextSSD& mock_context, int r) {
ASSERT_EQ(0, finish_ctx.wait());
}
-static void get_jf(const string& s, JSONFormattable *f)
-{
- JSONParser p;
- bool result = p.parse(s.c_str(), s.size());
- if (!result) {
- cout << "Failed to parse: '" << s << "'" << std::endl;
- }
- ASSERT_EQ(true, result);
- try {
- decode_json_obj(*f, &p);
- } catch (JSONDecoder::err& e) {
- ASSERT_TRUE(0 == "Failed to decode JSON object");
- }
-}
-
TEST_F(TestMockCacheSSDWriteLog, init_state_json_write) {
librbd::ImageCtx *ictx;
ASSERT_EQ(0, open_image(m_image_name, &ictx));
MockImageCtx mock_image_ctx(*ictx);
-
- JSONFormattable f;
- string strf = "{ \"present\": \"1\", \"empty\": \"0\", \"clean\": \"0\", \
- \"pwl_host\": \"testhost\", \
- \"pwl_path\": \"/tmp\", \
- \"pwl_size\": \"1024\" }";
- get_jf(strf, &f);
MockApi mock_api;
- MockImageCacheStateSSD image_cache_state(&mock_image_ctx, f, mock_api);
+ MockImageCacheStateSSD image_cache_state(&mock_image_ctx, mock_api);
+ string strf = "{ \"present\": true, \"empty\": false, \"clean\": false, \
+ \"host\": \"testhost\", \
+ \"path\": \"/tmp\", \
+ \"mode\": \"ssd\", \
+ \"size\": 1024 }";
+ json_spirit::mValue json_root;
+ ASSERT_TRUE(json_spirit::read(strf.c_str(), json_root));
+ ASSERT_TRUE(image_cache_state.init_from_metadata(json_root));
validate_cache_state(ictx, image_cache_state, true, false, false,
"testhost", "/tmp", 1024);
}
TEST_P(StoreTestSpecificAUSize, ZeroBlockDetectionSmallAppend) {
- if (string(GetParam()) != "bluestore") {
- return;
+ CephContext *cct = (new CephContext(CEPH_ENTITY_TYPE_CLIENT))->get();
+ if (string(GetParam()) != "bluestore" || !cct->_conf->bluestore_zero_block_detection) {
+ GTEST_SKIP() << "not bluestore or bluestore_zero_block_detection=false, skipping";
}
size_t block_size = 65536;
}
TEST_P(StoreTestSpecificAUSize, ZeroBlockDetectionSmallOverwrite) {
- if (string(GetParam()) != "bluestore") {
- return;
+ CephContext *cct = (new CephContext(CEPH_ENTITY_TYPE_CLIENT))->get();
+ if (string(GetParam()) != "bluestore" || !cct->_conf->bluestore_zero_block_detection) {
+ GTEST_SKIP() << "not bluestore or bluestore_zero_block_detection=false, skipping";
}
if (smr) {
- cout << "SKIP" << std::endl;
- return;
+ GTEST_SKIP() << "smr, skipping";
}
size_t block_size = 65536;
}
TEST_P(StoreTestSpecificAUSize, ZeroBlockDetectionBigAppend) {
- if (string(GetParam()) != "bluestore") {
- return;
+ CephContext *cct = (new CephContext(CEPH_ENTITY_TYPE_CLIENT))->get();
+ if (string(GetParam()) != "bluestore" || !cct->_conf->bluestore_zero_block_detection) {
+ GTEST_SKIP() << "not bluestore or bluestore_zero_block_detection=false, skipping";
}
size_t block_size = 4096;
}
TEST_P(StoreTestSpecificAUSize, ZeroBlockDetectionBigOverwrite) {
- if (string(GetParam()) != "bluestore") {
- return;
+ CephContext *cct = (new CephContext(CEPH_ENTITY_TYPE_CLIENT))->get();
+ if (string(GetParam()) != "bluestore" || !cct->_conf->bluestore_zero_block_detection) {
+ GTEST_SKIP() << "not bluestore or bluestore_zero_block_detection=false, skipping";
}
if (smr) {
- cout << "SKIP" << std::endl;
- return;
+ GTEST_SKIP() << "smr, skipping";
}
size_t block_size = 4096;
const uint64_t my_ec_pool = 1;
const uint64_t my_rep_pool = 2;
+ // Blacklist testing lists
+ // I pulled the first two ranges and their start/end points from
+ // https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation
+ static const string range_addrs[];
+ static const string ip_addrs[];
+ static const string unblocked_ip_addrs[];
OSDMapTest() {}
}
}
+const string OSDMapTest::range_addrs[] = {"198.51.100.0/22", "10.2.5.102/32", "2001:db8::/48",
+ "3001:db8::/72", "4001:db8::/30", "5001:db8::/64", "6001:db8::/128", "7001:db8::/127"};
+const string OSDMapTest::ip_addrs[] = {"198.51.100.14", "198.51.100.0", "198.51.103.255",
+ "10.2.5.102",
+ "2001:db8:0:0:0:0:0:0", "2001:db8:0:0:0:0001:ffff:ffff",
+ "2001:db8:0:ffff:ffff:ffff:ffff:ffff",
+ "3001:db8:0:0:0:0:0:0", "3001:db8:0:0:0:0001:ffff:ffff",
+ "3001:db8:0:0:00ff:ffff:ffff:ffff",
+ "4001:db8::", "4001:db8:0:0:0:0001:ffff:ffff",
+ "4001:dbb:ffff:ffff:ffff:ffff:ffff:ffff",
+ "5001:db8:0:0:0:0:0:0", "5001:db8:0:0:0:0:ffff:ffff",
+ "5001:db8:0:0:ffff:ffff:ffff:ffff",
+ "6001:db8:0:0:0:0:0:0",
+ "7001:db8:0:0:0:0:0:0", "7001:db8:0:0:0:0:0:0001"
+};
+const string OSDMapTest::unblocked_ip_addrs[] = { "0.0.0.0", "1.1.1.1", "192.168.1.1",
+ "198.51.99.255", "198.51.104.0",
+ "10.2.5.101", "10.2.5.103",
+ "2001:db7:ffff:ffff:ffff:ffff:ffff:ffff", "2001:db8:0001::",
+ "3001:db7:ffff:ffff:ffff:ffff:ffff:ffff", "3001:db8:0:0:0100::",
+ "4001:db7:ffff:ffff:ffff:ffff:ffff:ffff", "4001:dbc::",
+ "5001:db7:ffff:ffff:ffff:ffff:ffff:ffff", "5001:db8:0:0001:0:0:0:0",
+ "6001:db8:0:0:0:0:0:0001",
+ "7001:db7:ffff:ffff:ffff:ffff:ffff:ffff", "7001:db8:0:0:0:0:0:0002"
+};
+
+TEST_F(OSDMapTest, blocklisting_ips) {
+ set_up_map(6); //whatever
+
+ OSDMap::Incremental new_blocklist_inc(osdmap.get_epoch() + 1);
+ for (const auto& a : ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ new_blocklist_inc.new_blocklist[addr] = ceph_clock_now();
+ }
+ osdmap.apply_incremental(new_blocklist_inc);
+
+ for (const auto& a: ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ ASSERT_TRUE(osdmap.is_blocklisted(addr, g_ceph_context));
+ }
+ for (const auto& a: unblocked_ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ ASSERT_FALSE(osdmap.is_blocklisted(addr, g_ceph_context));
+ }
+
+ OSDMap::Incremental rm_blocklist_inc(osdmap.get_epoch() + 1);
+ for (const auto& a : ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ rm_blocklist_inc.old_blocklist.push_back(addr);
+ }
+ osdmap.apply_incremental(rm_blocklist_inc);
+ for (const auto& a: ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ ASSERT_FALSE(osdmap.is_blocklisted(addr, g_ceph_context));
+ }
+ for (const auto& a: unblocked_ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context);
+ if (blocklisted) {
+ cout << "erroneously blocklisted " << addr << std::endl;
+ }
+ EXPECT_FALSE(blocklisted);
+ }
+}
+
+TEST_F(OSDMapTest, blocklisting_ranges) {
+ set_up_map(6); //whatever
+ OSDMap::Incremental range_blocklist_inc(osdmap.get_epoch() + 1);
+ for (const auto& a : range_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.type = entity_addr_t::TYPE_CIDR;
+ range_blocklist_inc.new_range_blocklist[addr] = ceph_clock_now();
+ }
+ osdmap.apply_incremental(range_blocklist_inc);
+
+ for (const auto& a: ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context);
+ if (!blocklisted) {
+ cout << "erroneously not blocklisted " << addr << std::endl;
+ }
+ ASSERT_TRUE(blocklisted);
+ }
+ for (const auto& a: unblocked_ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context);
+ if (blocklisted) {
+ cout << "erroneously blocklisted " << addr << std::endl;
+ }
+ EXPECT_FALSE(blocklisted);
+ }
+
+ OSDMap::Incremental rm_range_blocklist(osdmap.get_epoch() + 1);
+ for (const auto& a : range_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.type = entity_addr_t::TYPE_CIDR;
+ rm_range_blocklist.old_range_blocklist.push_back(addr);
+ }
+ osdmap.apply_incremental(rm_range_blocklist);
+
+ for (const auto& a: ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ ASSERT_FALSE(osdmap.is_blocklisted(addr, g_ceph_context));
+ }
+ for (const auto& a: unblocked_ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context);
+ if (blocklisted) {
+ cout << "erroneously blocklisted " << addr << std::endl;
+ }
+ EXPECT_FALSE(blocklisted);
+ }
+}
+
+TEST_F(OSDMapTest, blocklisting_everything) {
+ set_up_map(6); //whatever
+ OSDMap::Incremental range_blocklist_inc(osdmap.get_epoch() + 1);
+ entity_addr_t baddr;
+ baddr.parse("2001:db8::/0");
+ baddr.type = entity_addr_t::TYPE_CIDR;
+ range_blocklist_inc.new_range_blocklist[baddr] = ceph_clock_now();
+ osdmap.apply_incremental(range_blocklist_inc);
+
+ for (const auto& a: ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ if (addr.is_ipv4()) continue;
+ bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context);
+ if (!blocklisted) {
+ cout << "erroneously not blocklisted " << addr << std::endl;
+ }
+ ASSERT_TRUE(blocklisted);
+ }
+ for (const auto& a: unblocked_ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ if (addr.is_ipv4()) continue;
+ bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context);
+ if (!blocklisted) {
+ cout << "erroneously not blocklisted " << addr << std::endl;
+ }
+ ASSERT_TRUE(blocklisted);
+ }
+
+ OSDMap::Incremental swap_blocklist_inc(osdmap.get_epoch()+1);
+ swap_blocklist_inc.old_range_blocklist.push_back(baddr);
+
+ entity_addr_t caddr;
+ caddr.parse("1.1.1.1/0");
+ caddr.type = entity_addr_t::TYPE_CIDR;
+ swap_blocklist_inc.new_range_blocklist[caddr] = ceph_clock_now();
+ osdmap.apply_incremental(swap_blocklist_inc);
+
+ for (const auto& a: ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ if (!addr.is_ipv4()) continue;
+ bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context);
+ if (!blocklisted) {
+ cout << "erroneously not blocklisted " << addr << std::endl;
+ }
+ ASSERT_TRUE(blocklisted);
+ }
+ for (const auto& a: unblocked_ip_addrs) {
+ entity_addr_t addr;
+ addr.parse(a);
+ addr.set_type(entity_addr_t::TYPE_LEGACY);
+ if (!addr.is_ipv4()) continue;
+ bool blocklisted = osdmap.is_blocklisted(addr, g_ceph_context);
+ if (!blocklisted) {
+ cout << "erroneously not blocklisted " << addr << std::endl;
+ }
+ ASSERT_TRUE(blocklisted);
+ }
+}
+
INSTANTIATE_TEST_SUITE_P(
OSDMap,
OSDMapTest,
add_ceph_test(test_ceph_daemon.py
- ${Python3_EXECUTABLE} -m nose ${CMAKE_CURRENT_SOURCE_DIR}/test_ceph_daemon.py)
+ ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_ceph_daemon.py)
add_ceph_test(test_ceph_argparse.py
- ${Python3_EXECUTABLE} -m nose ${CMAKE_CURRENT_SOURCE_DIR}/test_ceph_argparse.py)
+ ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_ceph_argparse.py)
# version 2.1 of the License, or (at your option) any later version.
#
-from nose.tools import assert_equal, assert_raises, \
- assert_not_in, assert_in, \
- assert_regexp_matches, \
- nottest
-from unittest import TestCase
-
from ceph_argparse import validate_command, parse_json_funcsigs, validate, \
parse_funcsig, ArgumentError, ArgumentTooFew, ArgumentMissing, \
ArgumentNumber, ArgumentValid
import re
import string
import sys
+import unittest
try:
from StringIO import StringIO
except ImportError:
def get_command_descriptions(what):
- CEPH_BIN = os.environ['CEPH_BIN']
- if CEPH_BIN == "":
- CEPH_BIN = "."
+ CEPH_BIN = os.environ.get('CEPH_BIN', ".")
return os.popen(CEPH_BIN + "/get_command_descriptions " + "--" + what).read()
-def test_parse_json_funcsigs():
- commands = get_command_descriptions("all")
- cmd_json = parse_json_funcsigs(commands, 'cli')
+class ParseJsonFuncsigs(unittest.TestCase):
+ def test_parse_json_funcsigs(self):
+ commands = get_command_descriptions("all")
+ cmd_json = parse_json_funcsigs(commands, 'cli')
- # syntax error https://github.com/ceph/ceph/pull/585
- commands = get_command_descriptions("pull585")
- assert_raises(TypeError, parse_json_funcsigs, commands, 'cli')
+ # syntax error https://github.com/ceph/ceph/pull/585
+ commands = get_command_descriptions("pull585")
+ self.assertRaises(TypeError, parse_json_funcsigs, commands, 'cli')
sigdict = parse_json_funcsigs(get_command_descriptions("all"), 'cli')
-class TestArgparse:
+class TestArgparse(unittest.TestCase):
- def assert_valid_command(self, args):
+ def _assert_valid_command(self, args):
result = validate_command(sigdict, args)
- assert_not_in(result, [{}, None])
+ self.assertNotIn(result, [{}, None])
def check_1_natural_arg(self, prefix, command):
- self.assert_valid_command([prefix, command, '1'])
- assert_equal({}, validate_command(sigdict, [prefix, command]))
- assert_equal({}, validate_command(sigdict, [prefix, command, '-1']))
- assert_equal({}, validate_command(sigdict, [prefix, command, '1',
- '1']))
+ self._assert_valid_command([prefix, command, '1'])
+ self.assertEqual({}, validate_command(sigdict, [prefix, command]))
+ self.assertEqual({}, validate_command(sigdict, [prefix, command, '-1']))
+ self.assertEqual({}, validate_command(sigdict, [prefix, command, '1',
+ '1']))
def check_0_or_1_natural_arg(self, prefix, command):
- self.assert_valid_command([prefix, command, '1'])
- self.assert_valid_command([prefix, command])
- assert_equal({}, validate_command(sigdict, [prefix, command, '-1']))
- assert_equal({}, validate_command(sigdict, [prefix, command, '1',
- '1']))
+ self._assert_valid_command([prefix, command, '1'])
+ self._assert_valid_command([prefix, command])
+ self.assertEqual({}, validate_command(sigdict, [prefix, command, '-1']))
+ self.assertEqual({}, validate_command(sigdict, [prefix, command, '1',
+ '1']))
def check_1_string_arg(self, prefix, command):
- assert_equal({}, validate_command(sigdict, [prefix, command]))
- self.assert_valid_command([prefix, command, 'string'])
- assert_equal({}, validate_command(sigdict, [prefix,
- command,
- 'string',
- 'toomany']))
+ self.assertEqual({}, validate_command(sigdict, [prefix, command]))
+ self._assert_valid_command([prefix, command, 'string'])
+ self.assertEqual({}, validate_command(sigdict, [prefix,
+ command,
+ 'string',
+ 'toomany']))
def check_0_or_1_string_arg(self, prefix, command):
- self.assert_valid_command([prefix, command, 'string'])
- self.assert_valid_command([prefix, command])
- assert_equal({}, validate_command(sigdict, [prefix, command, 'string',
- 'toomany']))
+ self._assert_valid_command([prefix, command, 'string'])
+ self._assert_valid_command([prefix, command])
+ self.assertEqual({}, validate_command(sigdict, [prefix,
+ command,
+ 'string',
+ 'toomany']))
def check_1_or_more_string_args(self, prefix, command):
- assert_equal({}, validate_command(sigdict, [prefix,
- command]))
- self.assert_valid_command([prefix,
- command,
- 'string'])
- self.assert_valid_command([prefix,
- command,
- 'string',
- 'more string'])
+ self.assertEqual({}, validate_command(sigdict, [prefix,
+ command]))
+ self._assert_valid_command([prefix, command, 'string'])
+ self._assert_valid_command([prefix, command, 'string', 'more string'])
def check_no_arg(self, prefix, command):
- self.assert_valid_command([prefix,
- command])
- assert_equal({}, validate_command(sigdict, [prefix,
- command,
- 'toomany']))
+ self._assert_valid_command([prefix, command])
+ self.assertEqual({}, validate_command(sigdict, [prefix,
+ command,
+ 'toomany']))
- def capture_output(self, args, stdout=None, stderr=None):
+ def _capture_output(self, args, stdout=None, stderr=None):
if stdout:
stdout = StringIO()
sys.stdout = stdout
return ret, stdout, stderr
-class TestBasic:
+class TestBasic(unittest.TestCase):
def test_non_ascii_in_non_options(self):
# ArgumentPrefix("no match for {0}".format(s)) is not able to convert
# unicode str parameter into str. and validate_command() should not
# choke on it.
- assert_equal({}, validate_command(sigdict, [u'章鱼和鱿鱼']))
- assert_equal({}, validate_command(sigdict, [u'–w']))
+ self.assertEqual({}, validate_command(sigdict, [u'章鱼和鱿鱼']))
+ self.assertEqual({}, validate_command(sigdict, [u'–w']))
# actually we always pass unicode strings to validate_command() in "ceph"
# CLI, but we also use bytestrings in our tests, so make sure it does not
# break.
- assert_equal({}, validate_command(sigdict, ['章鱼和鱿鱼']))
- assert_equal({}, validate_command(sigdict, ['–w']))
+ self.assertEqual({}, validate_command(sigdict, ['章鱼和鱿鱼']))
+ self.assertEqual({}, validate_command(sigdict, ['–w']))
class TestPG(TestArgparse):
def test_stat(self):
- self.assert_valid_command(['pg', 'stat'])
+ self._assert_valid_command(['pg', 'stat'])
def test_getmap(self):
- self.assert_valid_command(['pg', 'getmap'])
+ self._assert_valid_command(['pg', 'getmap'])
def test_dump(self):
valid_commands = {
for command, expected_result in valid_commands.items():
actual_result = validate_command(sigdict, command.split())
expected_result['target'] = ('mon-mgr', '')
- assert_equal(expected_result, actual_result)
+ self.assertEqual(expected_result, actual_result)
invalid_commands = ['pg dump invalid']
for command in invalid_commands:
actual_result = validate_command(sigdict, command.split())
- assert_equal({}, actual_result)
+ self.assertEqual({}, actual_result)
def test_dump_json(self):
- self.assert_valid_command(['pg', 'dump_json'])
- self.assert_valid_command(['pg', 'dump_json',
- 'all',
- 'summary',
- 'sum',
- 'pools',
- 'osds',
- 'pgs'])
- assert_equal({}, validate_command(sigdict, ['pg', 'dump_json',
- 'invalid']))
+ self._assert_valid_command(['pg', 'dump_json'])
+ self._assert_valid_command(['pg', 'dump_json',
+ 'all',
+ 'summary',
+ 'sum',
+ 'pools',
+ 'osds',
+ 'pgs'])
+ self.assertEqual({}, validate_command(sigdict, ['pg', 'dump_json',
+ 'invalid']))
def test_dump_pools_json(self):
- self.assert_valid_command(['pg', 'dump_pools_json'])
+ self._assert_valid_command(['pg', 'dump_pools_json'])
def test_dump_pools_stuck(self):
- self.assert_valid_command(['pg', 'dump_stuck'])
- self.assert_valid_command(['pg', 'dump_stuck',
- 'inactive',
- 'unclean',
- 'stale'])
- assert_equal({}, validate_command(sigdict, ['pg', 'dump_stuck',
- 'invalid']))
- self.assert_valid_command(['pg', 'dump_stuck',
- 'inactive',
- '1234'])
+ self._assert_valid_command(['pg', 'dump_stuck'])
+ self._assert_valid_command(['pg', 'dump_stuck',
+ 'inactive',
+ 'unclean',
+ 'stale'])
+ self.assertEqual({}, validate_command(sigdict, ['pg', 'dump_stuck',
+ 'invalid']))
+ self._assert_valid_command(['pg', 'dump_stuck',
+ 'inactive',
+ '1234'])
def one_pgid(self, command):
- self.assert_valid_command(['pg', command, '1.1'])
- assert_equal({}, validate_command(sigdict, ['pg', command]))
- assert_equal({}, validate_command(sigdict, ['pg', command, '1']))
+ self._assert_valid_command(['pg', command, '1.1'])
+ self.assertEqual({}, validate_command(sigdict, ['pg', command]))
+ self.assertEqual({}, validate_command(sigdict, ['pg', command, '1']))
def test_map(self):
self.one_pgid('map')
self.one_pgid('repair')
def test_debug(self):
- self.assert_valid_command(['pg',
- 'debug',
- 'unfound_objects_exist'])
- self.assert_valid_command(['pg',
- 'debug',
- 'degraded_pgs_exist'])
- assert_equal({}, validate_command(sigdict, ['pg', 'debug']))
- assert_equal({}, validate_command(sigdict, ['pg', 'debug',
- 'invalid']))
+ self._assert_valid_command(['pg',
+ 'debug',
+ 'unfound_objects_exist'])
+ self._assert_valid_command(['pg',
+ 'debug',
+ 'degraded_pgs_exist'])
+ self.assertEqual({}, validate_command(sigdict, ['pg', 'debug']))
+ self.assertEqual({}, validate_command(sigdict, ['pg', 'debug',
+ 'invalid']))
def test_pg_missing_args_output(self):
- ret, _, stderr = self.capture_output(['pg'], stderr=True)
- assert_equal({}, ret)
- assert_regexp_matches(stderr, re.compile('no valid command found.* closest matches'))
+ ret, _, stderr = self._capture_output(['pg'], stderr=True)
+ self.assertEqual({}, ret)
+ self.assertRegexpMatches(stderr, re.compile('no valid command found.* closest matches'))
def test_pg_wrong_arg_output(self):
- ret, _, stderr = self.capture_output(['pg', 'map', 'bad-pgid'],
- stderr=True)
- assert_equal({}, ret)
- assert_in("Invalid command", stderr)
+ ret, _, stderr = self._capture_output(['pg', 'map', 'bad-pgid'],
+ stderr=True)
+ self.assertEqual({}, ret)
+ self.assertIn("Invalid command", stderr)
class TestAuth(TestArgparse):
def test_export(self):
- self.assert_valid_command(['auth', 'export'])
- self.assert_valid_command(['auth',
- 'export',
- 'string'])
- assert_equal({}, validate_command(sigdict, ['auth',
- 'export',
- 'string',
- 'toomany']))
+ self._assert_valid_command(['auth', 'export'])
+ self._assert_valid_command(['auth', 'export', 'string'])
+ self.assertEqual({}, validate_command(sigdict, ['auth',
+ 'export',
+ 'string',
+ 'toomany']))
def test_get(self):
self.check_1_string_arg('auth', 'get')
'mds',
'allow rw path=/']
cmd = prefix.split() + [entity] + caps
- assert_equal(
+ self.assertEqual(
{
'prefix': prefix,
'entity': entity,
self.check_1_or_more_string_args('auth', 'get-or-create')
def test_caps(self):
- assert_equal({}, validate_command(sigdict, ['auth',
- 'caps']))
- assert_equal({}, validate_command(sigdict, ['auth',
- 'caps',
- 'string']))
- self.assert_valid_command(['auth',
- 'caps',
- 'string',
- 'more string'])
+ self.assertEqual({}, validate_command(sigdict, ['auth',
+ 'caps']))
+ self.assertEqual({}, validate_command(sigdict, ['auth',
+ 'caps',
+ 'string']))
+ self._assert_valid_command(['auth',
+ 'caps',
+ 'string',
+ 'more string'])
def test_del(self):
self.check_1_string_arg('auth', 'del')
class TestMonitor(TestArgparse):
def test_compact(self):
- self.assert_valid_command(['compact'])
+ self._assert_valid_command(['compact'])
def test_fsid(self):
- self.assert_valid_command(['fsid'])
+ self._assert_valid_command(['fsid'])
def test_log(self):
- assert_equal({}, validate_command(sigdict, ['log']))
- self.assert_valid_command(['log', 'a logtext'])
- self.assert_valid_command(['log', 'a logtext', 'and another'])
+ self.assertEqual({}, validate_command(sigdict, ['log']))
+ self._assert_valid_command(['log', 'a logtext'])
+ self._assert_valid_command(['log', 'a logtext', 'and another'])
def test_injectargs(self):
- assert_equal({}, validate_command(sigdict, ['injectargs']))
- self.assert_valid_command(['injectargs', 'one'])
- self.assert_valid_command(['injectargs', 'one', 'two'])
+ self.assertEqual({}, validate_command(sigdict, ['injectargs']))
+ self._assert_valid_command(['injectargs', 'one'])
+ self._assert_valid_command(['injectargs', 'one', 'two'])
def test_status(self):
- self.assert_valid_command(['status'])
+ self._assert_valid_command(['status'])
def test_health(self):
- self.assert_valid_command(['health'])
- self.assert_valid_command(['health', 'detail'])
- assert_equal({}, validate_command(sigdict, ['health', 'invalid']))
- assert_equal({}, validate_command(sigdict, ['health', 'detail',
- 'toomany']))
+ self._assert_valid_command(['health'])
+ self._assert_valid_command(['health', 'detail'])
+ self.assertEqual({}, validate_command(sigdict, ['health', 'invalid']))
+ self.assertEqual({}, validate_command(sigdict, ['health', 'detail',
+ 'toomany']))
def test_df(self):
- self.assert_valid_command(['df'])
- self.assert_valid_command(['df', 'detail'])
- assert_equal({}, validate_command(sigdict, ['df', 'invalid']))
- assert_equal({}, validate_command(sigdict, ['df', 'detail',
- 'toomany']))
+ self._assert_valid_command(['df'])
+ self._assert_valid_command(['df', 'detail'])
+ self.assertEqual({}, validate_command(sigdict, ['df', 'invalid']))
+ self.assertEqual({}, validate_command(sigdict, ['df', 'detail',
+ 'toomany']))
def test_report(self):
- self.assert_valid_command(['report'])
- self.assert_valid_command(['report', 'tag1'])
- self.assert_valid_command(['report', 'tag1', 'tag2'])
+ self._assert_valid_command(['report'])
+ self._assert_valid_command(['report', 'tag1'])
+ self._assert_valid_command(['report', 'tag1', 'tag2'])
def test_quorum_status(self):
- self.assert_valid_command(['quorum_status'])
+ self._assert_valid_command(['quorum_status'])
def test_tell(self):
- assert_equal({}, validate_command(sigdict, ['tell']))
- assert_equal({}, validate_command(sigdict, ['tell', 'invalid']))
+ self.assertEqual({}, validate_command(sigdict, ['tell']))
+ self.assertEqual({}, validate_command(sigdict, ['tell', 'invalid']))
for name in ('osd', 'mon', 'client', 'mds'):
- assert_equal({}, validate_command(sigdict, ['tell', name]))
- assert_equal({}, validate_command(sigdict, ['tell',
- name + ".42"]))
- self.assert_valid_command(['tell', name + ".42", 'something'])
- self.assert_valid_command(['tell', name + ".42",
- 'something',
- 'something else'])
+ self.assertEqual({}, validate_command(sigdict, ['tell', name]))
+ self.assertEqual({}, validate_command(sigdict, ['tell',
+ name + ".42"]))
+ self._assert_valid_command(['tell', name + ".42", 'something'])
+ self._assert_valid_command(['tell', name + ".42",
+ 'something',
+ 'something else'])
class TestMDS(TestArgparse):
self.check_no_arg('mds', 'stat')
def test_compat_show(self):
- self.assert_valid_command(['mds', 'compat', 'show'])
- assert_equal({}, validate_command(sigdict, ['mds', 'compat']))
- assert_equal({}, validate_command(sigdict, ['mds', 'compat',
- 'show', 'toomany']))
+ self._assert_valid_command(['mds', 'compat', 'show'])
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'compat']))
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'compat',
+ 'show', 'toomany']))
def test_set_state(self):
- self.assert_valid_command(['mds', 'set_state', '1', '2'])
- assert_equal({}, validate_command(sigdict, ['mds', 'set_state']))
- assert_equal({}, validate_command(sigdict, ['mds', 'set_state', '-1']))
- assert_equal({}, validate_command(sigdict, ['mds', 'set_state',
- '1', '-1']))
- assert_equal({}, validate_command(sigdict, ['mds', 'set_state',
- '1', '21']))
+ self._assert_valid_command(['mds', 'set_state', '1', '2'])
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'set_state']))
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'set_state', '-1']))
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'set_state',
+ '1', '-1']))
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'set_state',
+ '1', '21']))
def test_fail(self):
self.check_1_string_arg('mds', 'fail')
def test_rm(self):
# Valid: single GID argument present
- self.assert_valid_command(['mds', 'rm', '1'])
+ self._assert_valid_command(['mds', 'rm', '1'])
# Missing GID arg: invalid
- assert_equal({}, validate_command(sigdict, ['mds', 'rm']))
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'rm']))
# Extra arg: invalid
- assert_equal({}, validate_command(sigdict, ['mds', 'rm', '1', 'mds.42']))
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'rm', '1', 'mds.42']))
def test_rmfailed(self):
- self.assert_valid_command(['mds', 'rmfailed', '0'])
- self.assert_valid_command(['mds', 'rmfailed', '0', '--yes-i-really-mean-it'])
- assert_equal({}, validate_command(sigdict, ['mds', 'rmfailed', '0',
- '--yes-i-really-mean-it',
- 'toomany']))
+ self._assert_valid_command(['mds', 'rmfailed', '0'])
+ self._assert_valid_command(['mds', 'rmfailed', '0', '--yes-i-really-mean-it'])
+ self.assertEqual({}, validate_command(sigdict, ['mds', 'rmfailed', '0',
+ '--yes-i-really-mean-it',
+ 'toomany']))
def test_compat_rm_compat(self):
- self.assert_valid_command(['mds', 'compat', 'rm_compat', '1'])
- assert_equal({}, validate_command(sigdict, ['mds',
- 'compat',
- 'rm_compat']))
- assert_equal({}, validate_command(sigdict, ['mds',
- 'compat',
- 'rm_compat', '-1']))
- assert_equal({}, validate_command(sigdict, ['mds',
- 'compat',
- 'rm_compat', '1', '1']))
+ self._assert_valid_command(['mds', 'compat', 'rm_compat', '1'])
+ self.assertEqual({}, validate_command(sigdict, ['mds',
+ 'compat',
+ 'rm_compat']))
+ self.assertEqual({}, validate_command(sigdict, ['mds',
+ 'compat',
+ 'rm_compat', '-1']))
+ self.assertEqual({}, validate_command(sigdict, ['mds',
+ 'compat',
+ 'rm_compat',
+ '1',
+ '1']))
def test_incompat_rm_incompat(self):
- self.assert_valid_command(['mds', 'compat', 'rm_incompat', '1'])
- assert_equal({}, validate_command(sigdict, ['mds',
- 'compat',
- 'rm_incompat']))
- assert_equal({}, validate_command(sigdict, ['mds',
- 'compat',
- 'rm_incompat', '-1']))
- assert_equal({}, validate_command(sigdict, ['mds',
- 'compat',
- 'rm_incompat', '1', '1']))
+ self._assert_valid_command(['mds', 'compat', 'rm_incompat', '1'])
+ self.assertEqual({}, validate_command(sigdict, ['mds',
+ 'compat',
+ 'rm_incompat']))
+ self.assertEqual({}, validate_command(sigdict, ['mds',
+ 'compat',
+ 'rm_incompat', '-1']))
+ self.assertEqual({}, validate_command(sigdict, ['mds',
+ 'compat',
+ 'rm_incompat',
+ '1',
+ '1']))
class TestFS(TestArgparse):
self.check_0_or_1_natural_arg('fs', 'dump')
def test_fs_new(self):
- self.assert_valid_command(['fs', 'new', 'default', 'metadata', 'data'])
+ self._assert_valid_command(['fs', 'new', 'default', 'metadata', 'data'])
def test_fs_set_max_mds(self):
- self.assert_valid_command(['fs', 'set', 'default', 'max_mds', '1'])
- self.assert_valid_command(['fs', 'set', 'default', 'max_mds', '2'])
+ self._assert_valid_command(['fs', 'set', 'default', 'max_mds', '1'])
+ self._assert_valid_command(['fs', 'set', 'default', 'max_mds', '2'])
def test_fs_set_cluster_down(self):
- self.assert_valid_command(['fs', 'set', 'default', 'down', 'true'])
+ self._assert_valid_command(['fs', 'set', 'default', 'down', 'true'])
def test_fs_set_cluster_up(self):
- self.assert_valid_command(['fs', 'set', 'default', 'down', 'false'])
+ self._assert_valid_command(['fs', 'set', 'default', 'down', 'false'])
def test_fs_set_cluster_joinable(self):
- self.assert_valid_command(['fs', 'set', 'default', 'joinable', 'true'])
+ self._assert_valid_command(['fs', 'set', 'default', 'joinable', 'true'])
def test_fs_set_cluster_not_joinable(self):
- self.assert_valid_command(['fs', 'set', 'default', 'joinable', 'false'])
+ self._assert_valid_command(['fs', 'set', 'default', 'joinable', 'false'])
def test_fs_set(self):
- self.assert_valid_command(['fs', 'set', 'default', 'max_file_size', '2'])
- self.assert_valid_command(['fs', 'set', 'default', 'allow_new_snaps', 'no'])
- assert_equal({}, validate_command(sigdict, ['fs',
- 'set',
- 'invalid']))
+ self._assert_valid_command(['fs', 'set', 'default', 'max_file_size', '2'])
+ self._assert_valid_command(['fs', 'set', 'default', 'allow_new_snaps', 'no'])
+ self.assertEqual({}, validate_command(sigdict, ['fs',
+ 'set',
+ 'invalid']))
def test_fs_add_data_pool(self):
- self.assert_valid_command(['fs', 'add_data_pool', 'default', '1'])
- self.assert_valid_command(['fs', 'add_data_pool', 'default', 'foo'])
+ self._assert_valid_command(['fs', 'add_data_pool', 'default', '1'])
+ self._assert_valid_command(['fs', 'add_data_pool', 'default', 'foo'])
def test_fs_remove_data_pool(self):
- self.assert_valid_command(['fs', 'rm_data_pool', 'default', '1'])
- self.assert_valid_command(['fs', 'rm_data_pool', 'default', 'foo'])
+ self._assert_valid_command(['fs', 'rm_data_pool', 'default', '1'])
+ self._assert_valid_command(['fs', 'rm_data_pool', 'default', 'foo'])
def test_fs_rm(self):
- self.assert_valid_command(['fs', 'rm', 'default'])
- self.assert_valid_command(['fs', 'rm', 'default', '--yes-i-really-mean-it'])
- assert_equal({}, validate_command(sigdict, ['fs', 'rm', 'default', '--yes-i-really-mean-it', 'toomany']))
+ self._assert_valid_command(['fs', 'rm', 'default'])
+ self._assert_valid_command(['fs', 'rm', 'default', '--yes-i-really-mean-it'])
+ self.assertEqual({}, validate_command(sigdict, ['fs', 'rm', 'default', '--yes-i-really-mean-it', 'toomany']))
def test_fs_ls(self):
- self.assert_valid_command(['fs', 'ls'])
- assert_equal({}, validate_command(sigdict, ['fs', 'ls', 'toomany']))
+ self._assert_valid_command(['fs', 'ls'])
+ self.assertEqual({}, validate_command(sigdict, ['fs', 'ls', 'toomany']))
def test_fs_set_default(self):
- self.assert_valid_command(['fs', 'set-default', 'cephfs'])
- assert_equal({}, validate_command(sigdict, ['fs', 'set-default']))
- assert_equal({}, validate_command(sigdict, ['fs', 'set-default', 'cephfs', 'toomany']))
+ self._assert_valid_command(['fs', 'set-default', 'cephfs'])
+ self.assertEqual({}, validate_command(sigdict, ['fs', 'set-default']))
+ self.assertEqual({}, validate_command(sigdict, ['fs', 'set-default', 'cephfs', 'toomany']))
class TestMon(TestArgparse):
self.check_0_or_1_natural_arg('mon', 'getmap')
def test_add(self):
- self.assert_valid_command(['mon', 'add', 'name', '1.2.3.4:1234'])
- assert_equal({}, validate_command(sigdict, ['mon', 'add']))
- assert_equal({}, validate_command(sigdict, ['mon', 'add', 'name']))
- assert_equal({}, validate_command(sigdict, ['mon', 'add',
- 'name',
- '400.500.600.700']))
+ self._assert_valid_command(['mon', 'add', 'name', '1.2.3.4:1234'])
+ self.assertEqual({}, validate_command(sigdict, ['mon', 'add']))
+ self.assertEqual({}, validate_command(sigdict, ['mon', 'add', 'name']))
+ self.assertEqual({}, validate_command(sigdict, ['mon', 'add',
+ 'name',
+ '400.500.600.700']))
def test_remove(self):
- self.assert_valid_command(['mon', 'remove', 'name'])
- assert_equal({}, validate_command(sigdict, ['mon', 'remove']))
- assert_equal({}, validate_command(sigdict, ['mon', 'remove',
- 'name', 'toomany']))
+ self._assert_valid_command(['mon', 'remove', 'name'])
+ self.assertEqual({}, validate_command(sigdict, ['mon', 'remove']))
+ self.assertEqual({}, validate_command(sigdict, ['mon', 'remove',
+ 'name', 'toomany']))
class TestOSD(TestArgparse):
def test_osd_tree(self):
self.check_0_or_1_natural_arg('osd', 'tree')
cmd = 'osd tree down,out'
- assert_equal(
+ self.assertEqual(
{
'prefix': 'osd tree',
'states': ['down', 'out']
self.check_1_natural_arg('osd', 'find')
def test_map(self):
- self.assert_valid_command(['osd', 'map', 'poolname', 'objectname'])
- self.assert_valid_command(['osd', 'map', 'poolname', 'objectname', 'nspace'])
- assert_equal({}, validate_command(sigdict, ['osd', 'map']))
- assert_equal({}, validate_command(sigdict, ['osd', 'map', 'poolname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'map',
- 'poolname', 'objectname', 'nspace',
- 'toomany']))
+ self._assert_valid_command(['osd', 'map', 'poolname', 'objectname'])
+ self._assert_valid_command(['osd', 'map', 'poolname', 'objectname', 'nspace'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'map']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'map', 'poolname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'map',
+ 'poolname', 'objectname', 'nspace',
+ 'toomany']))
def test_metadata(self):
self.check_0_or_1_natural_arg('osd', 'metadata')
self.check_1_string_arg('osd', 'repair')
def test_lspools(self):
- self.assert_valid_command(['osd', 'lspools'])
- assert_equal({}, validate_command(sigdict, ['osd', 'lspools',
- 'toomany']))
+ self._assert_valid_command(['osd', 'lspools'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'lspools',
+ 'toomany']))
def test_blocklist_ls(self):
- self.assert_valid_command(['osd', 'blocklist', 'ls'])
- assert_equal({}, validate_command(sigdict, ['osd', 'blocklist']))
- assert_equal({}, validate_command(sigdict, ['osd', 'blocklist',
- 'ls', 'toomany']))
+ self._assert_valid_command(['osd', 'blocklist', 'ls'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'blocklist']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'blocklist',
+ 'ls', 'toomany']))
def test_crush_rule(self):
- assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule']))
for subcommand in ('list', 'ls'):
- self.assert_valid_command(['osd', 'crush', 'rule', subcommand])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rule', subcommand,
- 'toomany']))
+ self._assert_valid_command(['osd', 'crush', 'rule', subcommand])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rule', subcommand,
+ 'toomany']))
def test_crush_rule_dump(self):
- self.assert_valid_command(['osd', 'crush', 'rule', 'dump'])
- self.assert_valid_command(['osd', 'crush', 'rule', 'dump', 'RULE'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rule', 'dump',
- 'RULE',
- 'toomany']))
+ self._assert_valid_command(['osd', 'crush', 'rule', 'dump'])
+ self._assert_valid_command(['osd', 'crush', 'rule', 'dump', 'RULE'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rule', 'dump',
+ 'RULE',
+ 'toomany']))
def test_crush_dump(self):
- self.assert_valid_command(['osd', 'crush', 'dump'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'dump',
- 'toomany']))
+ self._assert_valid_command(['osd', 'crush', 'dump'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'dump',
+ 'toomany']))
def test_setcrushmap(self):
self.check_no_arg('osd', 'setcrushmap')
def test_crush_add_bucket(self):
- self.assert_valid_command(['osd', 'crush', 'add-bucket',
- 'name', 'type'])
- self.assert_valid_command(['osd', 'crush', 'add-bucket',
- 'name', 'type', 'root=foo-root', 'host=foo-host'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'add-bucket']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'add-bucket', '^^^',
- 'type']))
+ self._assert_valid_command(['osd', 'crush', 'add-bucket',
+ 'name', 'type'])
+ self._assert_valid_command(['osd', 'crush', 'add-bucket',
+ 'name', 'type', 'root=foo-root', 'host=foo-host'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'add-bucket']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'add-bucket', '^^^',
+ 'type']))
def test_crush_rename_bucket(self):
- self.assert_valid_command(['osd', 'crush', 'rename-bucket',
- 'srcname', 'dstname'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rename-bucket']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rename-bucket',
- 'srcname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rename-bucket', 'srcname',
- 'dstname',
- 'toomany']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rename-bucket', '^^^',
- 'dstname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rename-bucket', 'srcname',
- '^^^^']))
-
- def check_crush_setter(self, setter):
- self.assert_valid_command(['osd', 'crush', setter,
- '*', '2.3', 'AZaz09-_.='])
- self.assert_valid_command(['osd', 'crush', setter,
- 'osd.0', '2.3', 'AZaz09-_.='])
- self.assert_valid_command(['osd', 'crush', setter,
- '0', '2.3', 'AZaz09-_.='])
- self.assert_valid_command(['osd', 'crush', setter,
- '0', '2.3', 'AZaz09-_.=', 'AZaz09-_.='])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- setter,
- 'osd.0']))
+ self._assert_valid_command(['osd', 'crush', 'rename-bucket',
+ 'srcname', 'dstname'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rename-bucket']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rename-bucket',
+ 'srcname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rename-bucket',
+ 'srcname',
+ 'dstname',
+ 'toomany']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rename-bucket', '^^^',
+ 'dstname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rename-bucket',
+ 'srcname',
+ '^^^^']))
+
+ def _check_crush_setter(self, setter):
+ self._assert_valid_command(['osd', 'crush', setter,
+ '*', '2.3', 'AZaz09-_.='])
+ self._assert_valid_command(['osd', 'crush', setter,
+ 'osd.0', '2.3', 'AZaz09-_.='])
+ self._assert_valid_command(['osd', 'crush', setter,
+ '0', '2.3', 'AZaz09-_.='])
+ self._assert_valid_command(['osd', 'crush', setter,
+ '0', '2.3', 'AZaz09-_.=', 'AZaz09-_.='])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ setter,
+ 'osd.0']))
ret = validate_command(sigdict, ['osd', 'crush',
- setter,
- 'osd.0',
- '-1.0'])
+ setter,
+ 'osd.0',
+ '-1.0'])
assert ret in [None, {}]
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- setter,
- 'osd.0',
- '1.0',
- '^^^']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ setter,
+ 'osd.0',
+ '1.0',
+ '^^^']))
def test_crush_set(self):
- assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
- self.check_crush_setter('set')
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush']))
+ self._check_crush_setter('set')
def test_crush_add(self):
- assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
- self.check_crush_setter('add')
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush']))
+ self._check_crush_setter('add')
def test_crush_create_or_move(self):
- assert_equal({}, validate_command(sigdict, ['osd', 'crush']))
- self.check_crush_setter('create-or-move')
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush']))
+ self._check_crush_setter('create-or-move')
def test_crush_move(self):
- self.assert_valid_command(['osd', 'crush', 'move',
- 'AZaz09-_.', 'AZaz09-_.='])
- self.assert_valid_command(['osd', 'crush', 'move',
- '0', 'AZaz09-_.=', 'AZaz09-_.='])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'move']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'move', 'AZaz09-_.']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'move', '^^^',
- 'AZaz09-_.=']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'move', 'AZaz09-_.',
- '^^^']))
+ self._assert_valid_command(['osd', 'crush', 'move',
+ 'AZaz09-_.', 'AZaz09-_.='])
+ self._assert_valid_command(['osd', 'crush', 'move',
+ '0', 'AZaz09-_.=', 'AZaz09-_.='])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'move']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'move', 'AZaz09-_.']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'move', '^^^',
+ 'AZaz09-_.=']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'move', 'AZaz09-_.',
+ '^^^']))
def test_crush_link(self):
- self.assert_valid_command(['osd', 'crush', 'link',
- 'name', 'AZaz09-_.='])
- self.assert_valid_command(['osd', 'crush', 'link',
- 'name', 'AZaz09-_.=', 'AZaz09-_.='])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'link']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'link',
- 'name']))
+ self._assert_valid_command(['osd', 'crush', 'link',
+ 'name', 'AZaz09-_.='])
+ self._assert_valid_command(['osd', 'crush', 'link',
+ 'name', 'AZaz09-_.=', 'AZaz09-_.='])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'link']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'link',
+ 'name']))
def test_crush_rm(self):
for alias in ('rm', 'remove', 'unlink'):
- self.assert_valid_command(['osd', 'crush', alias, 'AZaz09-_.'])
- self.assert_valid_command(['osd', 'crush', alias,
- 'AZaz09-_.', 'AZaz09-_.'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- alias]))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- alias,
- 'AZaz09-_.',
- 'AZaz09-_.',
- 'toomany']))
+ self._assert_valid_command(['osd', 'crush', alias, 'AZaz09-_.'])
+ self._assert_valid_command(['osd', 'crush', alias,
+ 'AZaz09-_.', 'AZaz09-_.'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ alias]))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ alias,
+ 'AZaz09-_.',
+ 'AZaz09-_.',
+ 'toomany']))
def test_crush_reweight(self):
- self.assert_valid_command(['osd', 'crush', 'reweight',
- 'AZaz09-_.', '2.3'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'reweight']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'reweight',
- 'AZaz09-_.']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'reweight',
- 'AZaz09-_.',
- '-1.0']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'reweight',
- '^^^',
- '2.3']))
+ self._assert_valid_command(['osd', 'crush', 'reweight',
+ 'AZaz09-_.', '2.3'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'reweight']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'reweight',
+ 'AZaz09-_.']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'reweight',
+ 'AZaz09-_.',
+ '-1.0']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'reweight',
+ '^^^',
+ '2.3']))
def test_crush_tunables(self):
for tunable in ('legacy', 'argonaut', 'bobtail', 'firefly',
'optimal', 'default'):
- self.assert_valid_command(['osd', 'crush', 'tunables',
- tunable])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'tunables']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'tunables',
- 'default', 'toomany']))
+ self._assert_valid_command(['osd', 'crush', 'tunables',
+ tunable])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'tunables']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'tunables',
+ 'default', 'toomany']))
def test_crush_rule_create_simple(self):
- self.assert_valid_command(['osd', 'crush', 'rule', 'create-simple',
- 'AZaz09-_.', 'AZaz09-_.', 'AZaz09-_.'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-simple']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-simple',
- 'AZaz09-_.']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-simple',
- 'AZaz09-_.',
- 'AZaz09-_.']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-simple',
- '^^^',
- 'AZaz09-_.',
- 'AZaz09-_.']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-simple',
- 'AZaz09-_.',
- '|||',
- 'AZaz09-_.']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-simple',
- 'AZaz09-_.',
- 'AZaz09-_.',
- '+++']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-simple',
- 'AZaz09-_.',
- 'AZaz09-_.',
- 'AZaz09-_.',
- 'toomany']))
+ self._assert_valid_command(['osd', 'crush', 'rule', 'create-simple',
+ 'AZaz09-_.', 'AZaz09-_.', 'AZaz09-_.'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-simple']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-simple',
+ 'AZaz09-_.']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-simple',
+ 'AZaz09-_.',
+ 'AZaz09-_.']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-simple',
+ '^^^',
+ 'AZaz09-_.',
+ 'AZaz09-_.']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-simple',
+ 'AZaz09-_.',
+ '|||',
+ 'AZaz09-_.']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-simple',
+ 'AZaz09-_.',
+ 'AZaz09-_.',
+ '+++']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-simple',
+ 'AZaz09-_.',
+ 'AZaz09-_.',
+ 'AZaz09-_.',
+ 'toomany']))
def test_crush_rule_create_erasure(self):
- self.assert_valid_command(['osd', 'crush', 'rule', 'create-erasure',
- 'AZaz09-_.'])
- self.assert_valid_command(['osd', 'crush', 'rule', 'create-erasure',
- 'AZaz09-_.', 'whatever'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-erasure']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-erasure',
- '^^^']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush', 'rule',
- 'create-erasure',
- 'name', '^^^']))
+ self._assert_valid_command(['osd', 'crush', 'rule', 'create-erasure',
+ 'AZaz09-_.'])
+ self._assert_valid_command(['osd', 'crush', 'rule', 'create-erasure',
+ 'AZaz09-_.', 'whatever'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-erasure']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-erasure',
+ '^^^']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush', 'rule',
+ 'create-erasure',
+ 'name', '^^^']))
def test_crush_rule_rm(self):
- self.assert_valid_command(['osd', 'crush', 'rule', 'rm', 'AZaz09-_.'])
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rule', 'rm']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rule', 'rm',
- '^^^^']))
- assert_equal({}, validate_command(sigdict, ['osd', 'crush',
- 'rule', 'rm',
- 'AZaz09-_.',
- 'toomany']))
+ self._assert_valid_command(['osd', 'crush', 'rule', 'rm', 'AZaz09-_.'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rule', 'rm']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rule', 'rm',
+ '^^^^']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'crush',
+ 'rule', 'rm',
+ 'AZaz09-_.',
+ 'toomany']))
def test_setmaxosd(self):
self.check_1_natural_arg('osd', 'setmaxosd')
self.check_no_arg('osd', 'unpause')
def test_erasure_code_profile_set(self):
- self.assert_valid_command(['osd', 'erasure-code-profile', 'set',
- 'name'])
- self.assert_valid_command(['osd', 'erasure-code-profile', 'set',
- 'name', 'A=B'])
- self.assert_valid_command(['osd', 'erasure-code-profile', 'set',
- 'name', 'A=B', 'C=D'])
- assert_equal({}, validate_command(sigdict, ['osd',
- 'erasure-code-profile',
- 'set']))
- assert_equal({}, validate_command(sigdict, ['osd',
- 'erasure-code-profile',
- 'set',
- '^^^^']))
+ self._assert_valid_command(['osd', 'erasure-code-profile', 'set',
+ 'name'])
+ self._assert_valid_command(['osd', 'erasure-code-profile', 'set',
+ 'name', 'A=B'])
+ self._assert_valid_command(['osd', 'erasure-code-profile', 'set',
+ 'name', 'A=B', 'C=D'])
+ self.assertEqual({}, validate_command(sigdict, ['osd',
+ 'erasure-code-profile',
+ 'set']))
+ self.assertEqual({}, validate_command(sigdict, ['osd',
+ 'erasure-code-profile',
+ 'set',
+ '^^^^']))
def test_erasure_code_profile_get(self):
- self.assert_valid_command(['osd', 'erasure-code-profile', 'get',
- 'name'])
- assert_equal({}, validate_command(sigdict, ['osd',
- 'erasure-code-profile',
- 'get']))
- assert_equal({}, validate_command(sigdict, ['osd',
- 'erasure-code-profile',
- 'get',
- '^^^^']))
+ self._assert_valid_command(['osd', 'erasure-code-profile', 'get',
+ 'name'])
+ self.assertEqual({}, validate_command(sigdict, ['osd',
+ 'erasure-code-profile',
+ 'get']))
+ self.assertEqual({}, validate_command(sigdict, ['osd',
+ 'erasure-code-profile',
+ 'get',
+ '^^^^']))
def test_erasure_code_profile_rm(self):
- self.assert_valid_command(['osd', 'erasure-code-profile', 'rm',
- 'name'])
- assert_equal({}, validate_command(sigdict, ['osd',
- 'erasure-code-profile',
- 'rm']))
- assert_equal({}, validate_command(sigdict, ['osd',
- 'erasure-code-profile',
- 'rm',
- '^^^^']))
+ self._assert_valid_command(['osd', 'erasure-code-profile', 'rm',
+ 'name'])
+ self.assertEqual({}, validate_command(sigdict, ['osd',
+ 'erasure-code-profile',
+ 'rm']))
+ self.assertEqual({}, validate_command(sigdict, ['osd',
+ 'erasure-code-profile',
+ 'rm',
+ '^^^^']))
def test_erasure_code_profile_ls(self):
- self.assert_valid_command(['osd', 'erasure-code-profile', 'ls'])
- assert_equal({}, validate_command(sigdict, ['osd',
- 'erasure-code-profile',
- 'ls',
- 'toomany']))
+ self._assert_valid_command(['osd', 'erasure-code-profile', 'ls'])
+ self.assertEqual({}, validate_command(sigdict, ['osd',
+ 'erasure-code-profile',
+ 'ls',
+ 'toomany']))
def test_set_unset(self):
for action in ('set', 'unset'):
for flag in ('pause', 'noup', 'nodown', 'noout', 'noin',
'nobackfill', 'norecover', 'noscrub', 'nodeep-scrub'):
- self.assert_valid_command(['osd', action, flag])
- assert_equal({}, validate_command(sigdict, ['osd', action]))
- assert_equal({}, validate_command(sigdict, ['osd', action,
- 'invalid']))
- assert_equal({}, validate_command(sigdict, ['osd', action,
- 'pause', 'toomany']))
+ self._assert_valid_command(['osd', action, flag])
+ self.assertEqual({}, validate_command(sigdict, ['osd', action]))
+ self.assertEqual({}, validate_command(sigdict, ['osd', action,
+ 'invalid']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', action,
+ 'pause',
+ 'toomany']))
def test_down(self):
self.check_1_or_more_string_args('osd', 'down')
self.check_1_or_more_string_args('osd', 'rm')
def test_reweight(self):
- self.assert_valid_command(['osd', 'reweight', '1', '0.1'])
- assert_equal({}, validate_command(sigdict, ['osd', 'reweight']))
- assert_equal({}, validate_command(sigdict, ['osd', 'reweight',
- '1']))
- assert_equal({}, validate_command(sigdict, ['osd', 'reweight',
- '1', '2.0']))
- assert_equal({}, validate_command(sigdict, ['osd', 'reweight',
- '-1', '0.1']))
- assert_equal({}, validate_command(sigdict, ['osd', 'reweight',
- '1', '0.1',
- 'toomany']))
+ self._assert_valid_command(['osd', 'reweight', '1', '0.1'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'reweight']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'reweight',
+ '1']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'reweight',
+ '1', '2.0']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'reweight',
+ '-1', '0.1']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'reweight',
+ '1', '0.1',
+ 'toomany']))
def test_lost(self):
- self.assert_valid_command(['osd', 'lost', '1',
- '--yes-i-really-mean-it'])
- self.assert_valid_command(['osd', 'lost', '1'])
- assert_equal({}, validate_command(sigdict, ['osd', 'lost']))
- assert_equal({}, validate_command(sigdict, ['osd', 'lost',
- '1',
- 'what?']))
- assert_equal({}, validate_command(sigdict, ['osd', 'lost',
- '-1',
- '--yes-i-really-mean-it']))
- assert_equal({}, validate_command(sigdict, ['osd', 'lost',
- '1',
- '--yes-i-really-mean-it',
- 'toomany']))
+ self._assert_valid_command(['osd', 'lost', '1',
+ '--yes-i-really-mean-it'])
+ self._assert_valid_command(['osd', 'lost', '1'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'lost']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'lost',
+ '1',
+ 'what?']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'lost',
+ '-1',
+ '--yes-i-really-mean-it']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'lost',
+ '1',
+ '--yes-i-really-mean-it',
+ 'toomany']))
def test_create(self):
uuid = '12345678123456781234567812345678'
- self.assert_valid_command(['osd', 'create'])
- self.assert_valid_command(['osd', 'create',
- uuid])
- assert_equal({}, validate_command(sigdict, ['osd', 'create',
- 'invalid']))
- assert_equal({}, validate_command(sigdict, ['osd', 'create',
- uuid,
- 'toomany']))
+ self._assert_valid_command(['osd', 'create'])
+ self._assert_valid_command(['osd', 'create', uuid])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'create',
+ 'invalid']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'create',
+ uuid,
+ 'toomany']))
def test_blocklist(self):
for action in ('add', 'rm'):
- self.assert_valid_command(['osd', 'blocklist', action,
- '1.2.3.4/567'])
- self.assert_valid_command(['osd', 'blocklist', action,
- '1.2.3.4'])
- self.assert_valid_command(['osd', 'blocklist', action,
- '1.2.3.4/567', '600.40'])
- self.assert_valid_command(['osd', 'blocklist', action,
- '1.2.3.4', '600.40'])
- assert_equal({}, validate_command(sigdict, ['osd', 'blocklist',
- action,
- 'invalid',
- '600.40']))
- assert_equal({}, validate_command(sigdict, ['osd', 'blocklist',
- action,
- '1.2.3.4/567',
- '-1.0']))
- assert_equal({}, validate_command(sigdict, ['osd', 'blocklist',
- action,
- '1.2.3.4/567',
- '600.40',
- 'toomany']))
+ self._assert_valid_command(['osd', 'blocklist', action,
+ '1.2.3.4/567'])
+ self._assert_valid_command(['osd', 'blocklist', action,
+ '1.2.3.4'])
+ self._assert_valid_command(['osd', 'blocklist', action,
+ '1.2.3.4/567', '600.40'])
+ self._assert_valid_command(['osd', 'blocklist', action,
+ '1.2.3.4', '600.40'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'blocklist',
+ action,
+ 'invalid',
+ '600.40']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'blocklist',
+ action,
+ '1.2.3.4/567',
+ '-1.0']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'blocklist',
+ action,
+ '1.2.3.4/567',
+ '600.40',
+ 'toomany']))
def test_pool_mksnap(self):
- self.assert_valid_command(['osd', 'pool', 'mksnap',
- 'poolname', 'snapname'])
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'mksnap']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'mksnap',
- 'poolname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'mksnap',
- 'poolname', 'snapname',
- 'toomany']))
+ self._assert_valid_command(['osd', 'pool', 'mksnap',
+ 'poolname', 'snapname'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'mksnap']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'mksnap',
+ 'poolname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'mksnap',
+ 'poolname', 'snapname',
+ 'toomany']))
def test_pool_rmsnap(self):
- self.assert_valid_command(['osd', 'pool', 'rmsnap',
+ self._assert_valid_command(['osd', 'pool', 'rmsnap',
'poolname', 'snapname'])
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'rmsnap']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'rmsnap',
- 'poolname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'rmsnap',
- 'poolname', 'snapname',
- 'toomany']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'rmsnap']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'rmsnap',
+ 'poolname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'rmsnap',
+ 'poolname', 'snapname',
+ 'toomany']))
def test_pool_kwargs(self):
"""
"""
# Simply use a keyword arg instead of a positional arg, in its
# normal order (pgp_num after pg_num)
- assert_equal(
+ self.assertEqual(
{
"prefix": "osd pool create",
"pool": "foo",
'osd', 'pool', 'create', "foo", "8", "--pgp_num", "16"]))
# Again, but using the "--foo=bar" style
- assert_equal(
+ self.assertEqual(
{
"prefix": "osd pool create",
"pool": "foo",
# Specify keyword args in a different order than their definitions
# (pgp_num after pool_type)
- assert_equal(
+ self.assertEqual(
{
"prefix": "osd pool create",
"pool": "foo",
"--pgp_num", "16"]))
# Use a keyword argument that doesn't exist, should fail validation
- assert_equal({}, validate_command(sigdict,
+ self.assertEqual({}, validate_command(sigdict,
['osd', 'pool', 'create', "foo", "8", "--foo=bar"]))
def test_foo(self):
# Long form of a boolean argument (--foo=true)
- assert_equal(
+ self.assertEqual(
{
"prefix": "osd pool delete",
"pool": "foo",
"""
# Short form of a boolean argument (--foo)
- assert_equal(
+ self.assertEqual(
{
"prefix": "osd pool delete",
"pool": "foo",
"--yes-i-really-really-mean-it"]))
# Long form of a boolean argument (--foo=true)
- assert_equal(
+ self.assertEqual(
{
"prefix": "osd pool delete",
"pool": "foo",
"--yes-i-really-really-mean-it=true"]))
# Negative form of a boolean argument (--foo=false)
- assert_equal(
+ self.assertEqual(
{
"prefix": "osd pool delete",
"pool": "foo",
"--yes-i-really-really-mean-it=false"]))
# Invalid value boolean argument (--foo=somethingelse)
- assert_equal({}, validate_command(sigdict, [
+ self.assertEqual({}, validate_command(sigdict, [
'osd', 'pool', 'delete', "foo", "foo",
"--yes-i-really-really-mean-it=rhubarb"]))
def test_pool_create(self):
- self.assert_valid_command(['osd', 'pool', 'create',
- 'poolname', '128'])
- self.assert_valid_command(['osd', 'pool', 'create',
- 'poolname', '128', '128'])
- self.assert_valid_command(['osd', 'pool', 'create',
- 'poolname', '128', '128',
- 'replicated'])
- self.assert_valid_command(['osd', 'pool', 'create',
- 'poolname', '128', '128',
- 'erasure', 'A-Za-z0-9-_.', 'rule^^'])
- self.assert_valid_command(['osd', 'pool', 'create', 'poolname'])
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'create']))
+ self._assert_valid_command(['osd', 'pool', 'create',
+ 'poolname', '128'])
+ self._assert_valid_command(['osd', 'pool', 'create',
+ 'poolname', '128', '128'])
+ self._assert_valid_command(['osd', 'pool', 'create',
+ 'poolname', '128', '128',
+ 'replicated'])
+ self._assert_valid_command(['osd', 'pool', 'create',
+ 'poolname', '128', '128',
+ 'erasure', 'A-Za-z0-9-_.', 'rule^^'])
+ self._assert_valid_command(['osd', 'pool', 'create', 'poolname'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'create']))
# invalid pg_num and pgp_num, like "-1", could spill over to
# erasure_code_profile and rule as they are valid profile and rule
# names, so validate_commands() cannot identify such cases.
# but if they are matched by profile and rule, the "rule" argument
# won't get a chance to be matched anymore.
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'create',
- 'poolname',
- '-1', '-1',
- 'rule']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'create',
- 'poolname',
- '128', '128',
- 'erasure', '^^^',
- 'rule']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'create',
- 'poolname',
- '128', '128',
- 'erasure', 'profile',
- 'rule',
- 'toomany']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'create',
- 'poolname',
- '128', '128',
- 'INVALID', 'profile',
- 'rule']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'create',
+ 'poolname',
+ '-1', '-1',
+ 'rule']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'create',
+ 'poolname',
+ '128', '128',
+ 'erasure', '^^^',
+ 'rule']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'create',
+ 'poolname',
+ '128', '128',
+ 'erasure', 'profile',
+ 'rule',
+ 'toomany']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'create',
+ 'poolname',
+ '128', '128',
+ 'INVALID', 'profile',
+ 'rule']))
def test_pool_delete(self):
- self.assert_valid_command(['osd', 'pool', 'delete',
- 'poolname', 'poolname',
- '--yes-i-really-really-mean-it'])
- self.assert_valid_command(['osd', 'pool', 'delete',
- 'poolname', 'poolname'])
- self.assert_valid_command(['osd', 'pool', 'delete',
- 'poolname'])
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'delete']))
- assert_equal({}, validate_command(sigdict,
+ self._assert_valid_command(['osd', 'pool', 'delete',
+ 'poolname', 'poolname',
+ '--yes-i-really-really-mean-it'])
+ self._assert_valid_command(['osd', 'pool', 'delete',
+ 'poolname', 'poolname'])
+ self._assert_valid_command(['osd', 'pool', 'delete',
+ 'poolname'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'delete']))
+ self.assertEqual({}, validate_command(sigdict,
['osd', 'pool', 'delete',
'poolname', 'poolname',
'--yes-i-really-really-mean-it',
'toomany']))
def test_pool_rename(self):
- self.assert_valid_command(['osd', 'pool', 'rename',
- 'poolname', 'othername'])
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'rename']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'rename',
- 'poolname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool', 'rename',
- 'poolname', 'othername',
- 'toomany']))
+ self._assert_valid_command(['osd', 'pool', 'rename',
+ 'poolname', 'othername'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'rename']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'rename',
+ 'poolname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool', 'rename',
+ 'poolname', 'othername',
+ 'toomany']))
def test_pool_get(self):
for var in ('size', 'min_size',
'scrub_min_interval', 'scrub_max_interval',
'deep_scrub_interval', 'recovery_priority',
'recovery_op_priority'):
- self.assert_valid_command(['osd', 'pool', 'get', 'poolname', var])
- assert_equal({}, validate_command(sigdict, ['osd', 'pool']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'get']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'get', 'poolname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'get', 'poolname',
- 'size', 'toomany']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'get', 'poolname',
- 'invalid']))
+ self._assert_valid_command(['osd', 'pool', 'get', 'poolname', var])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'get']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'get', 'poolname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'get', 'poolname',
+ 'size', 'toomany']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'get', 'poolname',
+ 'invalid']))
def test_pool_set(self):
for var in ('size', 'min_size',
'scrub_min_interval', 'scrub_max_interval',
'deep_scrub_interval', 'recovery_priority',
'recovery_op_priority'):
- self.assert_valid_command(['osd', 'pool',
+ self._assert_valid_command(['osd', 'pool',
'set', 'poolname', var, 'value'])
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'set']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'set', 'poolname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'set', 'poolname',
- 'size', 'value',
- 'toomany']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'set']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'set', 'poolname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'set', 'poolname',
+ 'size', 'value',
+ 'toomany']))
def test_pool_set_quota(self):
for field in ('max_objects', 'max_bytes'):
- self.assert_valid_command(['osd', 'pool', 'set-quota',
- 'poolname', field, '10K'])
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'set-quota']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'set-quota',
- 'poolname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'set-quota',
- 'poolname',
- 'max_objects']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'set-quota',
- 'poolname',
- 'invalid',
- '10K']))
- assert_equal({}, validate_command(sigdict, ['osd', 'pool',
- 'set-quota',
- 'poolname',
- 'max_objects',
- '10K',
- 'toomany']))
+ self._assert_valid_command(['osd', 'pool', 'set-quota',
+ 'poolname', field, '10K'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'set-quota']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'set-quota',
+ 'poolname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'set-quota',
+ 'poolname',
+ 'max_objects']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'set-quota',
+ 'poolname',
+ 'invalid',
+ '10K']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'pool',
+ 'set-quota',
+ 'poolname',
+ 'max_objects',
+ '10K',
+ 'toomany']))
def test_reweight_by_utilization(self):
- self.assert_valid_command(['osd', 'reweight-by-utilization'])
- self.assert_valid_command(['osd', 'reweight-by-utilization', '100'])
- self.assert_valid_command(['osd', 'reweight-by-utilization', '100', '.1'])
- assert_equal({}, validate_command(sigdict, ['osd',
- 'reweight-by-utilization',
- '100',
- 'toomany']))
+ self._assert_valid_command(['osd', 'reweight-by-utilization'])
+ self._assert_valid_command(['osd', 'reweight-by-utilization', '100'])
+ self._assert_valid_command(['osd', 'reweight-by-utilization', '100', '.1'])
+ self.assertEqual({}, validate_command(sigdict, ['osd',
+ 'reweight-by-utilization',
+ '100',
+ 'toomany']))
def test_tier_op(self):
for op in ('add', 'remove', 'set-overlay'):
- self.assert_valid_command(['osd', 'tier', op,
- 'poolname', 'othername'])
- assert_equal({}, validate_command(sigdict, ['osd', 'tier', op]))
- assert_equal({}, validate_command(sigdict, ['osd', 'tier', op,
- 'poolname']))
- assert_equal({}, validate_command(sigdict, ['osd', 'tier', op,
- 'poolname',
- 'othername',
- 'toomany']))
+ self._assert_valid_command(['osd', 'tier', op,
+ 'poolname', 'othername'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'tier', op]))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'tier', op,
+ 'poolname']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'tier', op,
+ 'poolname',
+ 'othername',
+ 'toomany']))
def test_tier_cache_mode(self):
for mode in ('none', 'writeback', 'readonly', 'readproxy'):
- self.assert_valid_command(['osd', 'tier', 'cache-mode',
- 'poolname', mode])
- assert_equal({}, validate_command(sigdict, ['osd', 'tier',
- 'cache-mode']))
- assert_equal({}, validate_command(sigdict, ['osd', 'tier',
- 'cache-mode',
- 'invalid']))
+ self._assert_valid_command(['osd', 'tier', 'cache-mode',
+ 'poolname', mode])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'tier',
+ 'cache-mode']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'tier',
+ 'cache-mode',
+ 'invalid']))
def test_tier_remove_overlay(self):
- self.assert_valid_command(['osd', 'tier', 'remove-overlay',
- 'poolname'])
- assert_equal({}, validate_command(sigdict, ['osd', 'tier',
- 'remove-overlay']))
- assert_equal({}, validate_command(sigdict, ['osd', 'tier',
- 'remove-overlay',
- 'poolname',
- 'toomany']))
-
- def set_ratio(self, command):
- self.assert_valid_command(['osd',
- command,
- '0.0'])
- assert_equal({}, validate_command(sigdict, ['osd', command]))
- assert_equal({}, validate_command(sigdict, ['osd',
- command,
- '2.0']))
+ self._assert_valid_command(['osd', 'tier', 'remove-overlay',
+ 'poolname'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'tier',
+ 'remove-overlay']))
+ self.assertEqual({}, validate_command(sigdict, ['osd', 'tier',
+ 'remove-overlay',
+ 'poolname',
+ 'toomany']))
+
+ def _set_ratio(self, command):
+ self._assert_valid_command(['osd', command, '0.0'])
+ self.assertEqual({}, validate_command(sigdict, ['osd', command]))
+ self.assertEqual({}, validate_command(sigdict, ['osd', command, '2.0']))
def test_set_full_ratio(self):
- self.set_ratio('set-full-ratio')
+ self._set_ratio('set-full-ratio')
def test_set_backfillfull_ratio(self):
- self.set_ratio('set-backfillfull-ratio')
+ self._set_ratio('set-backfillfull-ratio')
def test_set_nearfull_ratio(self):
- self.set_ratio('set-nearfull-ratio')
+ self._set_ratio('set-nearfull-ratio')
class TestConfigKey(TestArgparse):
self.check_1_string_arg('config-key', 'get')
def test_put(self):
- self.assert_valid_command(['config-key', 'put',
- 'key'])
- self.assert_valid_command(['config-key', 'put',
- 'key', 'value'])
- assert_equal({}, validate_command(sigdict, ['config-key', 'put']))
- assert_equal({}, validate_command(sigdict, ['config-key', 'put',
- 'key', 'value',
- 'toomany']))
+ self._assert_valid_command(['config-key', 'put',
+ 'key'])
+ self._assert_valid_command(['config-key', 'put',
+ 'key', 'value'])
+ self.assertEqual({}, validate_command(sigdict, ['config-key', 'put']))
+ self.assertEqual({}, validate_command(sigdict, ['config-key', 'put',
+ 'key', 'value',
+ 'toomany']))
def test_del(self):
self.check_1_string_arg('config-key', 'del')
self.check_no_arg('config-key', 'list')
-class TestValidate(TestCase):
+class TestValidate(unittest.TestCase):
ARGS = 0
KWARGS = 1
str_len = random.randint(5, 10)
val = ''.join(random.choice(letters) for _ in range(str_len))
else:
- self.skipTest()
+ raise skipTest()
self.args.append((d['name'], val))
self.sig = parse_funcsig(self.prefix + self.args_dict)
- @nottest
- def arg_kwarg_test(self, prefix, args, sig, arg_type=0):
+ def _arg_kwarg_test(self, prefix, args, sig, arg_type=0):
"""
Runs validate in different arg/kargs ways.
def test_args_and_kwargs_validate(self):
for arg_type in (self.ARGS, self.KWARGS, self.KWARGS_EQ, self.MIXED):
- self.arg_kwarg_test(self.prefix, self.args, self.sig, arg_type)
+ self._arg_kwarg_test(self.prefix, self.args, self.sig, arg_type)
+
+
+if __name__ == '__main__':
+ unittest.main()
+
# Local Variables:
# compile-command: "cd ../../..; cmake --build build --target get_command_descriptions -j4 &&
# CEPH_BIN=build/bin \
-# PYTHONPATH=src/pybind nosetests --stop \
-# src/test/pybind/test_ceph_argparse.py:TestOSD.test_rm"
+# PYTHONPATH=src/pybind python3 \
+# src/test/pybind/test_ceph_argparse.py"
# End:
Foundation. See file COPYING.
"""
-from unittest import TestCase
+import unittest
from ceph_daemon import DaemonWatcher
from io import StringIO
-class TestDaemonWatcher(TestCase):
+class TestDaemonWatcher(unittest.TestCase):
def test_format(self):
dw = DaemonWatcher(None)
def test_supports_color(self):
dw = DaemonWatcher(None)
# Can't count on having a tty available during tests, so only test the false case
- self.assertEqual(dw.supports_color(StringIO()), False)
+ self.assertFalse(dw.supports_color(StringIO()))
+
+
+if __name__ == '__main__':
+ unittest.main()
+
# Local Variables:
# compile-command: "cd ../../..;
-# PYTHONPATH=src/pybind nosetests --stop \
-# src/test/pybind/test_ceph_daemon.py"
+# PYTHONPATH=src/pybind python3 src/test/pybind/test_ceph_daemon.py"
# End:
const double DELAY = 10;
EXPECT_CALL(mock_replayer, shut_down(_))
.WillOnce(Invoke([this, DELAY](Context* ctx) {
+ std::lock_guard l(m_threads->timer_lock);
m_threads->timer->add_event_after(DELAY, ctx);
}));
EXPECT_CALL(mock_replayer, destroy());
const double DELAY = 10;
EXPECT_CALL(mock_replayer, shut_down(_))
.WillOnce(Invoke([this, DELAY](Context* ctx) {
+ std::lock_guard l(m_threads->timer_lock);
m_threads->timer->add_event_after(DELAY, ctx);
}));
EXPECT_CALL(mock_replayer, destroy());
return 0;
}
+int do_trim_pg_log_dups(ObjectStore *store, const coll_t &coll,
+ pg_info_t &info, const spg_t &pgid,
+ epoch_t map_epoch,
+ PastIntervals &past_intervals)
+{
+ ghobject_t oid = pgid.make_pgmeta_oid();
+ struct stat st;
+ auto ch = store->open_collection(coll);
+ int r = store->stat(ch, oid, &st);
+ ceph_assert(r == 0);
+ ceph_assert(st.st_size == 0);
+
+ const size_t max_dup_entries = g_ceph_context->_conf->osd_pg_log_dups_tracked;
+ ceph_assert(max_dup_entries > 0);
+ const size_t max_chunk_size = g_ceph_context->_conf->osd_pg_log_trim_max;
+ ceph_assert(max_chunk_size > 0);
+
+ cout << "max_dup_entries=" << max_dup_entries
+ << " max_chunk_size=" << max_chunk_size << std::endl;
+ if (dry_run) {
+ cout << "Dry run enabled, so when many chunks are needed,"
+ << " the trimming will never stop!" << std::endl;
+ }
+
+ set<string> keys_to_keep;
+ size_t num_removed = 0;
+ do {
+ set<string> keys_to_trim;
+ {
+ ObjectMap::ObjectMapIterator p = store->get_omap_iterator(ch, oid);
+ if (!p)
+ break;
+ for (p->seek_to_first(); p->valid(); p->next()) {
+ if (p->key()[0] == '_')
+ continue;
+ if (p->key() == "can_rollback_to")
+ continue;
+ if (p->key() == "divergent_priors")
+ continue;
+ if (p->key() == "rollback_info_trimmed_to")
+ continue;
+ if (p->key() == "may_include_deletes_in_missing")
+ continue;
+ if (p->key().substr(0, 7) == string("missing"))
+ continue;
+ if (p->key().substr(0, 4) != string("dup_"))
+ continue;
+ keys_to_keep.insert(p->key());
+ if (keys_to_keep.size() > max_dup_entries) {
+ auto oldest_to_keep = keys_to_keep.begin();
+ keys_to_trim.emplace(*oldest_to_keep);
+ keys_to_keep.erase(oldest_to_keep);
+ }
+ if (keys_to_trim.size() >= max_chunk_size) {
+ break;
+ }
+ }
+ } // deconstruct ObjectMapIterator
+ // delete the keys
+ num_removed = keys_to_trim.size();
+ if (!dry_run && !keys_to_trim.empty()) {
+ cout << "Removing keys " << *keys_to_trim.begin() << " - " << *keys_to_trim.rbegin() << std::endl;
+ ObjectStore::Transaction t;
+ t.omap_rmkeys(coll, oid, keys_to_trim);
+ store->queue_transaction(ch, std::move(t));
+ ch->flush();
+ }
+ } while (num_removed == max_chunk_size);
+
+ // compact the db since we just removed a bunch of data
+ cerr << "Finished trimming, now compacting..." << std::endl;
+ if (!dry_run)
+ store->compact();
+ return 0;
+}
+
const int OMAP_BATCH_SIZE = 25;
void get_omap_batch(ObjectMap::ObjectMapIterator &iter, map<string, bufferlist> &oset)
{
("journal-path", po::value<string>(&jpath),
"path to journal, use if tool can't find it")
("pgid", po::value<string>(&pgidstr),
- "PG id, mandatory for info, log, remove, export, export-remove, mark-complete, trim-pg-log, and mandatory for apply-layout-settings if --pool is not specified")
+ "PG id, mandatory for info, log, remove, export, export-remove, mark-complete, trim-pg-log, trim-pg-log-dups and mandatory for apply-layout-settings if --pool is not specified")
("pool", po::value<string>(&pool),
"Pool name, mandatory for apply-layout-settings if --pgid is not specified")
("op", po::value<string>(&op),
"Arg is one of [info, log, remove, mkfs, fsck, repair, fuse, dup, export, export-remove, import, list, list-slow-omap, fix-lost, list-pgs, dump-journal, dump-super, meta-list, "
- "get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, apply-layout-settings, update-mon-db, dump-export, trim-pg-log, statfs]")
+ "get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, apply-layout-settings, update-mon-db, dump-export, trim-pg-log, trim-pg-log-dups statfs]")
("epoch", po::value<unsigned>(&epoch),
"epoch# for get-osdmap and get-inc-osdmap, the current epoch in use if not specified")
("file", po::value<string>(&file),
if ((op == "info" || op == "log" || op == "remove" || op == "export"
|| op == "export-remove" || op == "mark-complete"
|| op == "reset-last-complete"
- || op == "trim-pg-log") &&
+ || op == "trim-pg-log"
+ || op == "trim-pg-log-dups") &&
pgidstr.length() == 0) {
cerr << "Must provide pgid" << std::endl;
usage(desc);
// If not an object command nor any of the ops handled below, then output this usage
// before complaining about a bad pgid
- if (!vm.count("objcmd") && op != "export" && op != "export-remove" && op != "info" && op != "log" && op != "mark-complete" && op != "trim-pg-log") {
+ if (!vm.count("objcmd") && op != "export" && op != "export-remove" && op != "info" && op != "log" && op != "mark-complete" && op != "trim-pg-log" && op != "trim-pg-log-dups") {
cerr << "Must provide --op (info, log, remove, mkfs, fsck, repair, export, export-remove, import, list, fix-lost, list-pgs, dump-journal, dump-super, meta-list, "
- "get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, dump-export, trim-pg-log, statfs)"
+ "get-osdmap, set-osdmap, get-inc-osdmap, set-inc-osdmap, mark-complete, reset-last-complete, dump-export, trim-pg-log, trim-pg-log-dups statfs)"
<< std::endl;
usage(desc);
ret = 1;
}
cout << "Finished trimming pg log" << std::endl;
goto out;
+ } else if (op == "trim-pg-log-dups") {
+ ret = do_trim_pg_log_dups(fs.get(), coll, info, pgid,
+ map_epoch, past_intervals);
+ if (ret < 0) {
+ cerr << "Error trimming pg log dups: " << cpp_strerror(ret) << std::endl;
+ goto out;
+ }
+ cout << "Finished trimming pg log dups" << std::endl;
+ goto out;
} else if (op == "reset-last-complete") {
if (!force) {
std::cerr << "WARNING: reset-last-complete is extremely dangerous and almost "
put_parser.add_argument('local_path', type=str, action=path_to_bytes,
help='Path of the file in the local system')
put_parser.add_argument('remote_path', type=str, action=path_to_bytes,
- help='Path of the file in the remote system.',
- nargs='?', default='.')
+ help='Path of the file in the remote system')
put_parser.add_argument('-f', '--force', action='store_true',
help='Overwrites the destination if it already exists.')
"""
Copy a local file/directory to CephFS.
"""
+ if args.local_path != b'-' and not os.path.isfile(args.local_path) \
+ and not os.path.isdir(args.local_path):
+ set_exit_code_msg(errno.ENOENT,
+ msg=f"error: "
+ f"{args.local_path.decode('utf-8')}: "
+ f"No such file or directory")
+ return
+
+ if (is_file_exists(args.remote_path) or is_dir_exists(
+ args.remote_path)) and not args.force:
+ set_exit_code_msg(msg=f"error: file/directory "
+ f"{args.remote_path.decode('utf-8')} "
+ f"exists, use --force to overwrite")
+ return
+
root_src_dir = args.local_path
root_dst_dir = args.remote_path
if args.local_path == b'.' or args.local_path == b'./':
root_dst_dir += b'/'
if args.local_path == b'-' or os.path.isfile(root_src_dir):
- if not args.force:
- if os.path.isfile(root_src_dir):
- dst_file = root_dst_dir
- if is_file_exists(dst_file):
- set_exit_code_msg(errno.EEXIST,
- f"{dst_file.decode('utf-8')}: file "
- "exists! use --force to overwrite")
- return
if args.local_path == b'-':
root_src_dir = b'-'
copy_from_local(root_src_dir, root_dst_dir)
return self.complete_filenames(text, line, begidx, endidx)
get_parser = argparse.ArgumentParser(
- description='Copy a file from Ceph File System from Local Directory.')
+ description='Copy a file from Ceph File System to Local Directory.')
get_parser.add_argument('remote_path', type=str, action=path_to_bytes,
help='Path of the file in the remote system')
get_parser.add_argument('local_path', type=str, action=path_to_bytes,
- help='Path of the file in the local system',
- nargs='?', default='.')
+ help='Path of the file in the local system')
get_parser.add_argument('-f', '--force', action='store_true',
help='Overwrites the destination if it already exists.')
"""
Copy a file/directory from CephFS to given path.
"""
+ if not is_file_exists(args.remote_path) and not \
+ is_dir_exists(args.remote_path):
+ set_exit_code_msg(errno.ENOENT, "error: no file/directory"
+ " found at specified remote "
+ "path")
+ return
+ if (os.path.isfile(args.local_path) or os.path.isdir(
+ args.local_path)) and not args.force:
+ set_exit_code_msg(msg=f"error: file/directory "
+ f"{args.local_path.decode('utf-8')}"
+ f" already exists, use --force to "
+ f"overwrite")
+ return
root_src_dir = args.remote_path
root_dst_dir = args.local_path
fname = root_src_dir.rsplit(b'/', 1)
return
copy_to_local(root_src_dir, b'-')
elif is_file_exists(args.remote_path):
- copy_to_local(root_src_dir,
- root_dst_dir + b'/' + root_src_dir)
+ copy_to_local(root_src_dir, root_dst_dir)
elif b'/' in root_src_dir and is_file_exists(fname[1], fname[0]):
copy_to_local(root_src_dir, root_dst_dir)
else:
files = list(reversed(sorted(dirwalk(root_src_dir))))
- if len(files) == 0:
- try:
- os.makedirs(root_dst_dir + b'/' + root_src_dir)
- except OSError as e:
- if args.force:
- pass
- else:
- set_exit_code_msg(e.errno, f"{root_src_dir.decode('utf-8')}: "
- "already exists! use --force to overwrite")
- return
-
for file_ in files:
dst_dirpath, dst_file = file_.rsplit(b'/', 1)
if dst_dirpath in files:
except OSError:
pass
else:
- if not args.force:
- try:
- os.stat(dst_path)
- set_exit_code_msg(errno.EEXIST, f"{file_.decode('utf-8')}: "
- "file already exists! use --force to override")
- return
- except OSError:
- copy_to_local(file_, dst_path)
- else:
- copy_to_local(file_, dst_path)
+ copy_to_local(file_, dst_path)
return 0
action/Flatten.cc
action/Ggate.cc
action/Group.cc
- action/ImageCache.cc
action/ImageMeta.cc
action/Import.cc
action/Info.cc
action/Nbd.cc
action/ObjectMap.cc
action/Perf.cc
+ action/PersistentCache.cc
action/Pool.cc
action/Remove.cc
action/Rename.cc
int ProgressContext::update_progress(uint64_t offset, uint64_t total) {
if (progress) {
- int pc = total ? (offset * 100ull / total) : 0;
+ int pc = get_percentage(offset, total);
if (pc > last_pc) {
std::cerr << "\r" << operation << ": "
<< pc << "% complete..." << std::flush;
}
}
+int get_percentage(uint64_t part, uint64_t whole) {
+ return whole ? (100 * part / whole) : 0;
+}
+
void aio_context_callback(librbd::completion_t completion, void *arg)
{
librbd::RBD::AioCompletion *aio_completion =
void fail();
};
+int get_percentage(uint64_t part, uint64_t whole);
+
template <typename T, void(T::*MF)(int)>
librbd::RBD::AioCompletion *create_aio_completion(T *t) {
return new librbd::RBD::AioCompletion(
+++ /dev/null
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-
-#include "tools/rbd/ArgumentTypes.h"
-#include "tools/rbd/Shell.h"
-#include "tools/rbd/Utils.h"
-#include "include/types.h"
-#include "include/rbd_types.h"
-#include "include/stringify.h"
-#include "common/errno.h"
-#include "common/Formatter.h"
-#include <iostream>
-#include <boost/program_options.hpp>
-
-namespace rbd {
-namespace action {
-namespace image_cache {
-
-namespace at = argument_types;
-namespace po = boost::program_options;
-
-void get_arguments(po::options_description *positional,
- po::options_description *options) {
- at::add_image_spec_options(positional, options,
- at::ARGUMENT_MODIFIER_NONE);
- at::add_image_id_option(options);
-}
-
-int execute_discard(const po::variables_map &vm,
- const std::vector<std::string> &ceph_global_init_args) {
- size_t arg_index = 0;
- std::string pool_name;
- std::string namespace_name;
- std::string image_name;
- int r = utils::get_pool_image_snapshot_names(
- vm, at::ARGUMENT_MODIFIER_NONE, &arg_index, &pool_name, &namespace_name,
- &image_name, nullptr, true, utils::SNAPSHOT_PRESENCE_NONE,
- utils::SPEC_VALIDATION_NONE);
- if (r < 0) {
- return r;
- }
-
- librados::Rados rados;
- librados::IoCtx io_ctx;
- librbd::Image image;
- r = utils::init_and_open_image(pool_name, namespace_name, image_name, "",
- "", false, &rados, &io_ctx, &image);
- if (r < 0) {
- std::cerr << "rbd: failed to open image " << image_name << ": "
- << cpp_strerror(r) << std::endl;
- return r;
- }
-
- r = image.invalidate_cache();
- if (r < 0) {
- std::cerr << "rbd: failed to discard the cache of image " << image_name << ": "
- << cpp_strerror(r) << std::endl;
- return r;
- }
-
- image.close();
- return 0;
-}
-
-Shell::Action action_discard(
- {"image-cache", "invalidate"}, {}, "Discard existing / dirty image cache", "",
- &get_arguments, &execute_discard);
-
-} // namespace image_cache
-} // namespace action
-} // namespace rbd
--- /dev/null
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "tools/rbd/ArgumentTypes.h"
+#include "tools/rbd/Shell.h"
+#include "tools/rbd/Utils.h"
+#include "include/types.h"
+#include "include/rbd_types.h"
+#include "include/stringify.h"
+#include "common/errno.h"
+#include "common/Formatter.h"
+#include <iostream>
+#include <boost/program_options.hpp>
+
+namespace rbd {
+namespace action {
+namespace persistent_cache {
+
+namespace at = argument_types;
+namespace po = boost::program_options;
+
+void get_arguments_invalidate(po::options_description *positional,
+ po::options_description *options) {
+ at::add_image_spec_options(positional, options, at::ARGUMENT_MODIFIER_NONE);
+ at::add_image_id_option(options);
+}
+
+int execute_invalidate(const po::variables_map &vm,
+ const std::vector<std::string> &ceph_global_init_args) {
+ size_t arg_index = 0;
+ std::string pool_name;
+ std::string namespace_name;
+ std::string image_name;
+ std::string snap_name;
+ int r = utils::get_pool_image_snapshot_names(
+ vm, at::ARGUMENT_MODIFIER_NONE, &arg_index, &pool_name, &namespace_name,
+ &image_name, &snap_name, true, utils::SNAPSHOT_PRESENCE_NONE,
+ utils::SPEC_VALIDATION_NONE);
+ if (r < 0) {
+ return r;
+ }
+
+ librados::Rados rados;
+ librados::IoCtx io_ctx;
+ librbd::Image image;
+ r = utils::init_and_open_image(pool_name, namespace_name, image_name, "", "",
+ false, &rados, &io_ctx, &image);
+ if (r < 0) {
+ return r;
+ }
+
+ r = image.invalidate_cache();
+ if (r < 0) {
+ std::cerr << "rbd: invalidating persistent cache failed: "
+ << cpp_strerror(r) << std::endl;
+ return r;
+ }
+
+ return 0;
+}
+
+void get_arguments_flush(po::options_description *positional,
+ po::options_description *options) {
+ at::add_image_spec_options(positional, options, at::ARGUMENT_MODIFIER_NONE);
+ at::add_image_id_option(options);
+}
+
+int execute_flush(const po::variables_map &vm,
+ const std::vector<std::string> &ceph_global_init_args) {
+ size_t arg_index = 0;
+ std::string pool_name;
+ std::string namespace_name;
+ std::string image_name;
+ std::string snap_name;
+ int r = utils::get_pool_image_snapshot_names(
+ vm, at::ARGUMENT_MODIFIER_NONE, &arg_index, &pool_name, &namespace_name,
+ &image_name, &snap_name, true, utils::SNAPSHOT_PRESENCE_NONE,
+ utils::SPEC_VALIDATION_NONE);
+ if (r < 0) {
+ return r;
+ }
+
+ librados::Rados rados;
+ librados::IoCtx io_ctx;
+ librbd::Image image;
+ r = utils::init_and_open_image(pool_name, namespace_name, image_name, "", "",
+ false, &rados, &io_ctx, &image);
+ if (r < 0) {
+ return r;
+ }
+
+ uint64_t features;
+ r = image.features(&features);
+ if (r < 0) {
+ return r;
+ }
+
+ if (features & RBD_FEATURE_DIRTY_CACHE) {
+ r = image.flush();
+ if (r < 0) {
+ std::cerr << "rbd: flushing persistent cache failed: "
+ << cpp_strerror(r) << std::endl;
+ return r;
+ }
+ } else {
+ std::cout << "rbd: persistent cache is clean or disabled" << std::endl;
+ }
+
+ return 0;
+}
+
+Shell::Action action_invalidate(
+ {"persistent-cache", "invalidate"}, {},
+ "Invalidate (discard) existing / dirty persistent cache.", "",
+ &get_arguments_invalidate, &execute_invalidate);
+Shell::Action action_flush(
+ {"persistent-cache", "flush"}, {}, "Flush persistent cache.", "",
+ &get_arguments_flush, &execute_flush);
+
+} // namespace persistent_cache
+} // namespace action
+} // namespace rbd
#include "common/errno.h"
#include "common/Formatter.h"
+#include "json_spirit/json_spirit.h"
#include "tools/rbd/ArgumentTypes.h"
#include "tools/rbd/Shell.h"
#include "tools/rbd/Utils.h"
#include "include/rbd_types.h"
#include "include/stringify.h"
+#include "librbd/cache/Types.h"
#include <iostream>
#include <boost/program_options.hpp>
namespace at = argument_types;
namespace po = boost::program_options;
-namespace {
-
-const std::string IMAGE_CACHE_STATE = ".librbd/image_cache_state";
-
-} // anonymous namespace
-
static int do_show_status(librados::IoCtx& io_ctx, const std::string &image_name,
librbd::Image &image, Formatter *f)
{
}
}
- std::string image_cache_str;
+ struct {
+ // decoded
+ std::string host;
+ std::string path;
+ uint64_t size;
+ std::string mode;
+ std::string stats_timestamp;
+ bool present;
+ bool empty;
+ bool clean;
+ uint64_t allocated_bytes;
+ uint64_t cached_bytes;
+ uint64_t dirty_bytes;
+ uint64_t free_bytes;
+ uint64_t hits_full;
+ uint64_t hits_partial;
+ uint64_t misses;
+ uint64_t hit_bytes;
+ uint64_t miss_bytes;
+
+ // calculated
+ uint64_t total_read_ops;
+ uint64_t total_read_bytes;
+ int hits_full_percent;
+ int hits_partial_percent;
+ int hit_bytes_percent;
+ } cache_state;
+ std::string cache_str;
if (features & RBD_FEATURE_DIRTY_CACHE) {
- r = image.metadata_get(IMAGE_CACHE_STATE, &image_cache_str);
+ r = image.metadata_get(librbd::cache::PERSISTENT_CACHE_STATE, &cache_str);
if (r < 0) {
- std::cerr << "rbd: getting image cache state failed: " << cpp_strerror(r)
+ std::cerr << "rbd: getting persistent cache state failed: " << cpp_strerror(r)
<< std::endl;
// not fatal
}
+ json_spirit::mValue json_root;
+ if (!json_spirit::read(cache_str.c_str(), json_root)) {
+ std::cerr << "rbd: parsing persistent cache state failed" << std::endl;
+ cache_str.clear();
+ } else {
+ try {
+ auto& o = json_root.get_obj();
+ cache_state.host = o["host"].get_str();
+ cache_state.path = o["path"].get_str();
+ cache_state.size = o["size"].get_uint64();
+ cache_state.mode = o["mode"].get_str();
+ time_t stats_timestamp_sec = o["stats_timestamp"].get_uint64();
+ cache_state.stats_timestamp = ctime(&stats_timestamp_sec);
+ cache_state.stats_timestamp.pop_back();
+ cache_state.present = o["present"].get_bool();
+ cache_state.empty = o["empty"].get_bool();
+ cache_state.clean = o["clean"].get_bool();
+ cache_state.allocated_bytes = o["allocated_bytes"].get_uint64();
+ cache_state.cached_bytes = o["cached_bytes"].get_uint64();
+ cache_state.dirty_bytes = o["dirty_bytes"].get_uint64();
+ cache_state.free_bytes = o["free_bytes"].get_uint64();
+ cache_state.hits_full = o["hits_full"].get_uint64();
+ cache_state.hits_partial = o["hits_partial"].get_uint64();
+ cache_state.misses = o["misses"].get_uint64();
+ cache_state.hit_bytes = o["hit_bytes"].get_uint64();
+ cache_state.miss_bytes = o["miss_bytes"].get_uint64();
+ } catch (std::runtime_error &e) {
+ std::cerr << "rbd: parsing persistent cache state failed: " << e.what()
+ << std::endl;
+ cache_str.clear();
+ }
+ cache_state.total_read_ops = cache_state.hits_full +
+ cache_state.hits_partial + cache_state.misses;
+ cache_state.total_read_bytes = cache_state.hit_bytes +
+ cache_state.miss_bytes;
+ cache_state.hits_full_percent = utils::get_percentage(
+ cache_state.hits_full, cache_state.total_read_ops);
+ cache_state.hits_partial_percent = utils::get_percentage(
+ cache_state.hits_partial, cache_state.total_read_ops);
+ cache_state.hit_bytes_percent = utils::get_percentage(
+ cache_state.hit_bytes, cache_state.total_read_bytes);
+ }
}
if (f)
f->dump_string("state_description", migration_status.state_description);
f->close_section(); // migration
}
- if (!image_cache_str.empty()) {
- f->dump_string("image_cache_state", image_cache_str);
+ if (!cache_str.empty()) {
+ f->open_object_section("persistent_cache");
+ f->dump_string("host", cache_state.host);
+ f->dump_string("path", cache_state.path);
+ f->dump_unsigned("size", cache_state.size);
+ f->dump_string("mode", cache_state.mode);
+ f->dump_string("stats_timestamp", cache_state.stats_timestamp);
+ f->dump_bool("present", cache_state.present);
+ f->dump_bool("empty", cache_state.empty);
+ f->dump_bool("clean", cache_state.clean);
+ f->dump_unsigned("allocated_bytes", cache_state.allocated_bytes);
+ f->dump_unsigned("cached_bytes", cache_state.cached_bytes);
+ f->dump_unsigned("dirty_bytes", cache_state.dirty_bytes);
+ f->dump_unsigned("free_bytes", cache_state.free_bytes);
+ f->dump_unsigned("hits_full", cache_state.hits_full);
+ f->dump_int("hits_full_percent", cache_state.hits_full_percent);
+ f->dump_unsigned("hits_partial", cache_state.hits_partial);
+ f->dump_int("hits_partial_percent", cache_state.hits_partial_percent);
+ f->dump_unsigned("misses", cache_state.misses);
+ f->dump_unsigned("hit_bytes", cache_state.hit_bytes);
+ f->dump_int("hit_bytes_percent", cache_state.hit_bytes_percent);
+ f->dump_unsigned("miss_bytes", cache_state.miss_bytes);
+ f->close_section(); // persistent_cache
}
} else {
if (watchers.size()) {
}
std::cout << std::endl;
}
-
- if (!image_cache_str.empty()) {
- std::cout << "Image cache state: " << image_cache_str << std::endl;
+ if (!cache_str.empty()) {
+ std::cout << "Persistent cache state:" << std::endl;
+ std::cout << "\thost: " << cache_state.host << std::endl;
+ std::cout << "\tpath: " << cache_state.path << std::endl;
+ std::cout << "\tsize: " << byte_u_t(cache_state.size) << std::endl;
+ std::cout << "\tmode: " << cache_state.mode << std::endl;
+ std::cout << "\tstats_timestamp: " << cache_state.stats_timestamp
+ << std::endl;
+ std::cout << "\tpresent: " << (cache_state.present ? "true" : "false")
+ << "\tempty: " << (cache_state.empty ? "true" : "false")
+ << "\tclean: " << (cache_state.clean ? "true" : "false")
+ << std::endl;
+ std::cout << "\tallocated: " << byte_u_t(cache_state.allocated_bytes)
+ << std::endl;
+ std::cout << "\tcached: " << byte_u_t(cache_state.cached_bytes)
+ << std::endl;
+ std::cout << "\tdirty: " << byte_u_t(cache_state.dirty_bytes) << std::endl;
+ std::cout << "\tfree: " << byte_u_t(cache_state.free_bytes) << std::endl;
+ std::cout << "\thits_full: " << cache_state.hits_full << " / "
+ << cache_state.hits_full_percent << "%" << std::endl;
+ std::cout << "\thits_partial: " << cache_state.hits_partial << " / "
+ << cache_state.hits_partial_percent << "%" << std::endl;
+ std::cout << "\tmisses: " << cache_state.misses << std::endl;
+ std::cout << "\thit_bytes: " << byte_u_t(cache_state.hit_bytes) << " / "
+ << cache_state.hit_bytes_percent << "%" << std::endl;
+ std::cout << "\tmiss_bytes: " << byte_u_t(cache_state.miss_bytes)
+ << std::endl;
}
}